[2026-10-20 00:00:00,423.423 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:00:00,426.426 INFO    ] Checking for system updates...
[2026-10-20 00:00:00,470.470 INFO    ] 200
[2026-10-20 00:00:00,473.473 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:00:00,537.537 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:00:00,540.540 INFO    ] No update needed
[2026-10-20 00:00:00,544.544 INFO    ] Checking for camera pi updates...
[2026-10-20 00:00:00,578.578 INFO    ] 200
[2026-10-20 00:00:00,581.581 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:00:00,629.629 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:00:00,677.677 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:00:00,679.679 INFO    ] No camera update needed
[2026-10-20 00:00:00,682.682 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:00:00,684.684 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:00:00,689.689 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:00:00,694.694 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:00:02,800.800 INFO    ] ================================================
[2026-10-20 00:00:02,862.862 INFO    ] Launching Daemon at Tue Oct 20 00:00:02 IST 2026
[2026-10-20 00:00:03,963.963 INFO    ] ================================================
[2026-10-20 00:00:05,105.105 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:00:05
[2026-10-20 00:00:06,794.794 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:00:07,221.221 INFO    ] Initializing speech engine...
[2026-10-20 00:00:07,228.228 INFO    ] 2026-10-20 00:00:07
[2026-10-20 00:00:07,515.515 INFO    ] 2026-10-20 00:00:07
[2026-10-20 00:00:07,570.570 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:00:07,812.812 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:00:07,833.833 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:00:08,009.009 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:00:08,016.016 INFO    ] time= 20/10/2026 00:00:08
[2026-10-20 00:00:08,059.059 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:00:08,094.094 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:00:08,225.225 INFO    ] No existing commands found in stream
[2026-10-20 00:00:13,251.251 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:00:13,254.254 INFO    ] Waiting 0.98 seconds before fallback handling...
[2026-10-20 00:00:14,758.758 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:00:14,761.761 INFO    ] Checking for system updates...
[2026-10-20 00:00:14,799.799 INFO    ] 200
[2026-10-20 00:00:14,802.802 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:00:14,872.872 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:00:14,874.874 INFO    ] No update needed
[2026-10-20 00:00:14,877.877 INFO    ] Checking for camera pi updates...
[2026-10-20 00:00:14,917.917 INFO    ] 200
[2026-10-20 00:00:14,920.920 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:00:14,963.963 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:00:15,018.018 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:00:15,021.021 INFO    ] No camera update needed
[2026-10-20 00:00:15,023.023 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:00:15,026.026 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:00:15,032.032 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:00:15,037.037 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:00:17,078.078 INFO    ] ================================================
[2026-10-20 00:00:17,094.094 INFO    ] Launching Daemon at Tue Oct 20 00:00:17 IST 2026
[2026-10-20 00:00:17,105.105 INFO    ] ================================================
[2026-10-20 00:00:17,709.709 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:00:17
[2026-10-20 00:00:18,312.312 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:00:18,605.605 INFO    ] Initializing speech engine...
[2026-10-20 00:00:18,624.624 INFO    ] 2026-10-20 00:00:18
[2026-10-20 00:00:18,876.876 INFO    ] 2026-10-20 00:00:18
[2026-10-20 00:00:18,912.912 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:00:19,173.173 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:00:19,178.178 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:00:19,403.403 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:00:19,438.438 INFO    ] time= 20/10/2026 00:00:19
[2026-10-20 00:00:19,456.456 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:00:19,465.465 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:00:19,593.593 INFO    ] No existing commands found in stream
[2026-10-20 00:00:24,601.601 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:00:24,604.604 INFO    ] Waiting 3.85 seconds before fallback handling...
[2026-10-20 00:00:28,997.997 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:00:29,000.000 INFO    ] Checking for system updates...
[2026-10-20 00:00:29,041.041 INFO    ] 200
[2026-10-20 00:00:29,043.043 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:00:29,096.096 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:00:29,098.098 INFO    ] No update needed
[2026-10-20 00:00:29,101.101 INFO    ] Checking for camera pi updates...
[2026-10-20 00:00:29,134.134 INFO    ] 200
[2026-10-20 00:00:29,136.136 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:00:29,177.177 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:00:29,225.225 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:00:29,227.227 INFO    ] No camera update needed
[2026-10-20 00:00:29,230.230 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:00:29,232.232 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:00:29,238.238 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:00:29,243.243 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:00:31,285.285 INFO    ] ================================================
[2026-10-20 00:00:31,300.300 INFO    ] Launching Daemon at Tue Oct 20 00:00:31 IST 2026
[2026-10-20 00:00:31,310.310 INFO    ] ================================================
[2026-10-20 00:00:31,941.941 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:00:31
[2026-10-20 00:00:32,652.652 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:00:32,964.964 INFO    ] Initializing speech engine...
[2026-10-20 00:00:32,984.984 INFO    ] 2026-10-20 00:00:32
[2026-10-20 00:00:33,323.323 INFO    ] 2026-10-20 00:00:33
[2026-10-20 00:00:33,413.413 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:00:33,632.632 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:00:33,652.652 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:00:33,835.835 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:00:33,854.854 INFO    ] time= 20/10/2026 00:00:33
[2026-10-20 00:00:33,884.884 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:00:33,893.893 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:00:34,069.069 INFO    ] No existing commands found in stream
[2026-10-20 00:00:39,105.105 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:00:39,109.109 INFO    ] Waiting 2.50 seconds before fallback handling...
[2026-10-20 00:00:42,147.147 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 00:00:42,151.151 INFO    ] Checking for system updates...
[2026-10-20 00:00:42,193.193 INFO    ] 200
[2026-10-20 00:00:42,196.196 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:00:42,249.249 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:00:42,252.252 INFO    ] No update needed
[2026-10-20 00:00:42,255.255 INFO    ] Checking for camera pi updates...
[2026-10-20 00:00:42,294.294 INFO    ] 200
[2026-10-20 00:00:42,297.297 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:00:42,340.340 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:00:42,390.390 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:00:42,393.393 INFO    ] No camera update needed
[2026-10-20 00:00:42,396.396 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:00:42,398.398 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:00:42,405.405 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:00:42,411.411 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:00:44,454.454 INFO    ] ================================================
[2026-10-20 00:00:44,469.469 INFO    ] Launching Daemon at Tue Oct 20 00:00:44 IST 2026
[2026-10-20 00:00:44,480.480 INFO    ] ================================================
[2026-10-20 00:00:45,069.069 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:00:45
[2026-10-20 00:00:45,676.676 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:00:45,952.952 INFO    ] Initializing speech engine...
[2026-10-20 00:00:45,962.962 INFO    ] 2026-10-20 00:00:45
[2026-10-20 00:00:46,217.217 INFO    ] 2026-10-20 00:00:46
[2026-10-20 00:00:46,253.253 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:00:46,510.510 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:00:46,515.515 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:00:46,673.673 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:00:46,695.695 INFO    ] time= 20/10/2026 00:00:46
[2026-10-20 00:00:46,749.749 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:00:46,804.804 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:00:46,957.957 INFO    ] No existing commands found in stream
[2026-10-20 00:00:51,981.981 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:00:51,983.983 INFO    ] Waiting 2.92 seconds before fallback handling...
[2026-10-20 00:00:55,468.468 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:00:55,470.470 INFO    ] Checking for system updates...
[2026-10-20 00:00:55,506.506 INFO    ] 200
[2026-10-20 00:00:55,508.508 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:00:55,561.561 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:00:55,563.563 INFO    ] No update needed
[2026-10-20 00:00:55,569.569 INFO    ] Checking for camera pi updates...
[2026-10-20 00:00:55,604.604 INFO    ] 200
[2026-10-20 00:00:55,607.607 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:00:55,654.654 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:00:55,803.803 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:00:55,806.806 INFO    ] No camera update needed
[2026-10-20 00:00:55,809.809 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:00:55,811.811 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:00:55,818.818 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:00:55,824.824 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:00:57,866.866 INFO    ] ================================================
[2026-10-20 00:00:57,882.882 INFO    ] Launching Daemon at Tue Oct 20 00:00:57 IST 2026
[2026-10-20 00:00:57,893.893 INFO    ] ================================================
[2026-10-20 00:00:58,569.569 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:00:58
[2026-10-20 00:00:59,268.268 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:00:59,544.544 INFO    ] Initializing speech engine...
[2026-10-20 00:00:59,559.559 INFO    ] 2026-10-20 00:00:59
[2026-10-20 00:00:59,838.838 INFO    ] 2026-10-20 00:00:59
[2026-10-20 00:00:59,873.873 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:01:00,081.081 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:01:00,096.096 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:01:00,343.343 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:01:00,351.351 INFO    ] time= 20/10/2026 00:01:00
[2026-10-20 00:01:00,395.395 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:01:00,444.444 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:01:00,567.567 INFO    ] No existing commands found in stream
[2026-10-20 00:01:05,578.578 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:01:05,581.581 INFO    ] Waiting 3.00 seconds before fallback handling...
[2026-10-20 00:01:09,154.154 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:01:09,156.156 INFO    ] Checking for system updates...
[2026-10-20 00:01:09,192.192 INFO    ] 200
[2026-10-20 00:01:09,194.194 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:01:09,246.246 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:01:09,249.249 INFO    ] No update needed
[2026-10-20 00:01:09,251.251 INFO    ] Checking for camera pi updates...
[2026-10-20 00:01:09,284.284 INFO    ] 200
[2026-10-20 00:01:09,287.287 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:01:09,327.327 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:01:09,382.382 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:01:09,385.385 INFO    ] No camera update needed
[2026-10-20 00:01:09,387.387 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:01:09,389.389 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:01:09,395.395 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:01:09,400.400 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:01:11,440.440 INFO    ] ================================================
[2026-10-20 00:01:11,456.456 INFO    ] Launching Daemon at Tue Oct 20 00:01:11 IST 2026
[2026-10-20 00:01:11,467.467 INFO    ] ================================================
[2026-10-20 00:01:12,042.042 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:01:12
[2026-10-20 00:01:12,634.634 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:01:12,892.892 INFO    ] Initializing speech engine...
[2026-10-20 00:01:12,900.900 INFO    ] 2026-10-20 00:01:12
[2026-10-20 00:01:13,209.209 INFO    ] 2026-10-20 00:01:13
[2026-10-20 00:01:13,247.247 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:01:13,452.452 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:01:13,459.459 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:01:13,639.639 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:01:13,646.646 INFO    ] time= 20/10/2026 00:01:13
[2026-10-20 00:01:13,652.652 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:01:13,659.659 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:01:13,737.737 INFO    ] No existing commands found in stream
[2026-10-20 00:01:18,772.772 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:01:18,775.775 INFO    ] Waiting 3.82 seconds before fallback handling...
[2026-10-20 00:01:23,123.123 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 00:01:23,126.126 INFO    ] Checking for system updates...
[2026-10-20 00:01:23,166.166 INFO    ] 200
[2026-10-20 00:01:23,168.168 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:01:23,220.220 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:01:23,222.222 INFO    ] No update needed
[2026-10-20 00:01:23,224.224 INFO    ] Checking for camera pi updates...
[2026-10-20 00:01:23,258.258 INFO    ] 200
[2026-10-20 00:01:23,261.261 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:01:23,300.300 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:01:23,349.349 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:01:23,352.352 INFO    ] No camera update needed
[2026-10-20 00:01:23,354.354 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:01:23,356.356 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:01:23,361.361 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:01:23,366.366 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:01:25,406.406 INFO    ] ================================================
[2026-10-20 00:01:25,423.423 INFO    ] Launching Daemon at Tue Oct 20 00:01:25 IST 2026
[2026-10-20 00:01:25,434.434 INFO    ] ================================================
[2026-10-20 00:01:26,001.001 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:01:25
[2026-10-20 00:01:26,585.585 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:01:26,835.835 INFO    ] Initializing speech engine...
[2026-10-20 00:01:26,860.860 INFO    ] 2026-10-20 00:01:26
[2026-10-20 00:01:27,118.118 INFO    ] 2026-10-20 00:01:27
[2026-10-20 00:01:27,160.160 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:01:27,418.418 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:01:27,427.427 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:01:27,601.601 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:01:27,657.657 INFO    ] time= 20/10/2026 00:01:27
[2026-10-20 00:01:27,699.699 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:01:27,715.715 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:01:27,872.872 INFO    ] No existing commands found in stream
[2026-10-20 00:01:32,903.903 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:01:32,906.906 INFO    ] Waiting 0.83 seconds before fallback handling...
[2026-10-20 00:01:34,253.253 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 00:01:34,256.256 INFO    ] Checking for system updates...
[2026-10-20 00:01:34,291.291 INFO    ] 200
[2026-10-20 00:01:34,293.293 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:01:34,350.350 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:01:34,353.353 INFO    ] No update needed
[2026-10-20 00:01:34,355.355 INFO    ] Checking for camera pi updates...
[2026-10-20 00:01:34,388.388 INFO    ] 200
[2026-10-20 00:01:34,391.391 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:01:34,437.437 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:01:34,494.494 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:01:34,497.497 INFO    ] No camera update needed
[2026-10-20 00:01:34,499.499 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:01:34,502.502 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:01:34,507.507 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:01:34,512.512 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:01:36,554.554 INFO    ] ================================================
[2026-10-20 00:01:36,569.569 INFO    ] Launching Daemon at Tue Oct 20 00:01:36 IST 2026
[2026-10-20 00:01:36,580.580 INFO    ] ================================================
[2026-10-20 00:01:37,246.246 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:01:37
[2026-10-20 00:01:37,935.935 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:01:38,253.253 INFO    ] Initializing speech engine...
[2026-10-20 00:01:38,265.265 INFO    ] 2026-10-20 00:01:38
[2026-10-20 00:01:38,583.583 INFO    ] 2026-10-20 00:01:38
[2026-10-20 00:01:38,671.671 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:01:38,916.916 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:01:38,921.921 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:01:39,099.099 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:01:39,138.138 INFO    ] time= 20/10/2026 00:01:39
[2026-10-20 00:01:39,159.159 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:01:39,190.190 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:01:39,326.326 INFO    ] No existing commands found in stream
[2026-10-20 00:01:44,364.364 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:01:44,367.367 INFO    ] Waiting 1.10 seconds before fallback handling...
[2026-10-20 00:01:47,785.785 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 00:01:47,789.789 INFO    ] Checking for system updates...
[2026-10-20 00:01:47,830.830 INFO    ] 200
[2026-10-20 00:01:47,833.833 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:01:47,891.891 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:01:47,894.894 INFO    ] No update needed
[2026-10-20 00:01:47,897.897 INFO    ] Checking for camera pi updates...
[2026-10-20 00:01:47,932.932 INFO    ] 200
[2026-10-20 00:01:47,935.935 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:01:47,985.985 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:01:48,031.031 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:01:48,034.034 INFO    ] No camera update needed
[2026-10-20 00:01:48,037.037 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:01:48,039.039 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:01:48,046.046 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:01:48,051.051 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:01:50,094.094 INFO    ] ================================================
[2026-10-20 00:01:50,109.109 INFO    ] Launching Daemon at Tue Oct 20 00:01:50 IST 2026
[2026-10-20 00:01:50,120.120 INFO    ] ================================================
[2026-10-20 00:01:50,796.796 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:01:50
[2026-10-20 00:01:51,481.481 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:01:51,793.793 INFO    ] Initializing speech engine...
[2026-10-20 00:01:51,804.804 INFO    ] 2026-10-20 00:01:51
[2026-10-20 00:01:52,114.114 INFO    ] 2026-10-20 00:01:52
[2026-10-20 00:01:52,201.201 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:01:52,411.411 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:01:52,421.421 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:01:52,619.619 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:01:52,635.635 INFO    ] time= 20/10/2026 00:01:52
[2026-10-20 00:01:52,667.667 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:01:52,676.676 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:01:52,797.797 INFO    ] No existing commands found in stream
[2026-10-20 00:01:57,828.828 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:01:57,831.831 INFO    ] Waiting 0.87 seconds before fallback handling...
[2026-10-20 00:01:59,236.236 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:01:59,240.240 INFO    ] Checking for system updates...
[2026-10-20 00:01:59,281.281 INFO    ] 200
[2026-10-20 00:01:59,285.285 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:01:59,338.338 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:01:59,341.341 INFO    ] No update needed
[2026-10-20 00:01:59,344.344 INFO    ] Checking for camera pi updates...
[2026-10-20 00:01:59,379.379 INFO    ] 200
[2026-10-20 00:01:59,382.382 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:01:59,428.428 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:01:59,480.480 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:01:59,483.483 INFO    ] No camera update needed
[2026-10-20 00:01:59,486.486 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:01:59,489.489 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:01:59,499.499 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:01:59,505.505 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:02:01,549.549 INFO    ] ================================================
[2026-10-20 00:02:01,567.567 INFO    ] Launching Daemon at Tue Oct 20 00:02:01 IST 2026
[2026-10-20 00:02:01,579.579 INFO    ] ================================================
[2026-10-20 00:02:02,241.241 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:02:02
[2026-10-20 00:02:02,891.891 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:02:03,202.202 INFO    ] Initializing speech engine...
[2026-10-20 00:02:03,212.212 INFO    ] 2026-10-20 00:02:03
[2026-10-20 00:02:03,489.489 INFO    ] 2026-10-20 00:02:03
[2026-10-20 00:02:03,524.524 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:02:03,776.776 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:02:03,785.785 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:02:03,995.995 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:02:04,049.049 INFO    ] time= 20/10/2026 00:02:04
[2026-10-20 00:02:04,056.056 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:02:04,075.075 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:02:04,209.209 INFO    ] No existing commands found in stream
[2026-10-20 00:02:09,229.229 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:02:09,232.232 INFO    ] Waiting 2.00 seconds before fallback handling...
[2026-10-20 00:02:11,780.780 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:02:11,783.783 INFO    ] Checking for system updates...
[2026-10-20 00:02:11,818.818 INFO    ] 200
[2026-10-20 00:02:11,821.821 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:02:11,873.873 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:02:11,875.875 INFO    ] No update needed
[2026-10-20 00:02:11,878.878 INFO    ] Checking for camera pi updates...
[2026-10-20 00:02:11,911.911 INFO    ] 200
[2026-10-20 00:02:11,913.913 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:02:11,959.959 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:02:12,008.008 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:02:12,011.011 INFO    ] No camera update needed
[2026-10-20 00:02:12,013.013 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:02:12,015.015 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:02:12,021.021 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:02:12,025.025 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:02:14,067.067 INFO    ] ================================================
[2026-10-20 00:02:14,084.084 INFO    ] Launching Daemon at Tue Oct 20 00:02:14 IST 2026
[2026-10-20 00:02:14,095.095 INFO    ] ================================================
[2026-10-20 00:02:14,675.675 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:02:14
[2026-10-20 00:02:15,277.277 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:02:15,541.541 INFO    ] Initializing speech engine...
[2026-10-20 00:02:15,547.547 INFO    ] 2026-10-20 00:02:15
[2026-10-20 00:02:15,843.843 INFO    ] 2026-10-20 00:02:15
[2026-10-20 00:02:15,881.881 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:02:16,091.091 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:02:16,109.109 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:02:16,330.330 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:02:16,343.343 INFO    ] time= 20/10/2026 00:02:16
[2026-10-20 00:02:16,412.412 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:02:16,477.477 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:02:16,631.631 INFO    ] No existing commands found in stream
[2026-10-20 00:02:21,656.656 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:02:21,659.659 INFO    ] Waiting 0.16 seconds before fallback handling...
[2026-10-20 00:02:22,322.322 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 00:02:22,325.325 INFO    ] Checking for system updates...
[2026-10-20 00:02:22,365.365 INFO    ] 200
[2026-10-20 00:02:22,368.368 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:02:22,434.434 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:02:22,437.437 INFO    ] No update needed
[2026-10-20 00:02:22,439.439 INFO    ] Checking for camera pi updates...
[2026-10-20 00:02:22,473.473 INFO    ] 200
[2026-10-20 00:02:22,475.475 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:02:22,516.516 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:02:22,574.574 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:02:22,577.577 INFO    ] No camera update needed
[2026-10-20 00:02:22,580.580 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:02:22,583.583 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:02:22,590.590 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:02:22,596.596 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:02:24,638.638 INFO    ] ================================================
[2026-10-20 00:02:24,654.654 INFO    ] Launching Daemon at Tue Oct 20 00:02:24 IST 2026
[2026-10-20 00:02:24,665.665 INFO    ] ================================================
[2026-10-20 00:02:25,262.262 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:02:25
[2026-10-20 00:02:25,865.865 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:02:26,142.142 INFO    ] Initializing speech engine...
[2026-10-20 00:02:26,151.151 INFO    ] 2026-10-20 00:02:26
[2026-10-20 00:02:26,400.400 INFO    ] 2026-10-20 00:02:26
[2026-10-20 00:02:26,436.436 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:02:26,688.688 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:02:26,697.697 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:02:26,870.870 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:02:26,935.935 INFO    ] time= 20/10/2026 00:02:26
[2026-10-20 00:02:26,962.962 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:02:26,968.968 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:02:27,113.113 INFO    ] No existing commands found in stream
[2026-10-20 00:02:32,130.130 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:02:32,133.133 INFO    ] Waiting 1.82 seconds before fallback handling...
[2026-10-20 00:02:34,466.466 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:02:34,469.469 INFO    ] Checking for system updates...
[2026-10-20 00:02:34,505.505 INFO    ] 200
[2026-10-20 00:02:34,507.507 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:02:34,559.559 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:02:34,561.561 INFO    ] No update needed
[2026-10-20 00:02:34,564.564 INFO    ] Checking for camera pi updates...
[2026-10-20 00:02:34,597.597 INFO    ] 200
[2026-10-20 00:02:34,599.599 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:02:34,640.640 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:02:34,690.690 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:02:34,693.693 INFO    ] No camera update needed
[2026-10-20 00:02:34,695.695 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:02:34,698.698 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:02:34,703.703 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:02:34,708.708 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:02:36,750.750 INFO    ] ================================================
[2026-10-20 00:02:36,766.766 INFO    ] Launching Daemon at Tue Oct 20 00:02:36 IST 2026
[2026-10-20 00:02:36,778.778 INFO    ] ================================================
[2026-10-20 00:02:37,355.355 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:02:37
[2026-10-20 00:02:37,962.962 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:02:38,231.231 INFO    ] Initializing speech engine...
[2026-10-20 00:02:38,255.255 INFO    ] 2026-10-20 00:02:38
[2026-10-20 00:02:38,522.522 INFO    ] 2026-10-20 00:02:38
[2026-10-20 00:02:38,557.557 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:02:38,777.777 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:02:38,794.794 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:02:38,942.942 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:02:38,966.966 INFO    ] time= 20/10/2026 00:02:38
[2026-10-20 00:02:38,975.975 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:02:38,982.982 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:02:39,131.131 INFO    ] No existing commands found in stream
[2026-10-20 00:02:44,166.166 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:02:44,169.169 INFO    ] Waiting 3.46 seconds before fallback handling...
[2026-10-20 00:02:48,140.140 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:02:48,143.143 INFO    ] Checking for system updates...
[2026-10-20 00:02:48,184.184 INFO    ] 200
[2026-10-20 00:02:48,186.186 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:02:48,239.239 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:02:48,242.242 INFO    ] No update needed
[2026-10-20 00:02:48,245.245 INFO    ] Checking for camera pi updates...
[2026-10-20 00:02:48,282.282 INFO    ] 200
[2026-10-20 00:02:48,285.285 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:02:48,325.325 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:02:48,366.366 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:02:48,369.369 INFO    ] No camera update needed
[2026-10-20 00:02:48,371.371 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:02:48,374.374 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:02:48,379.379 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:02:48,384.384 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:02:50,425.425 INFO    ] ================================================
[2026-10-20 00:02:50,441.441 INFO    ] Launching Daemon at Tue Oct 20 00:02:50 IST 2026
[2026-10-20 00:02:50,452.452 INFO    ] ================================================
[2026-10-20 00:02:51,034.034 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:02:51
[2026-10-20 00:02:51,633.633 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:02:51,907.907 INFO    ] Initializing speech engine...
[2026-10-20 00:02:51,916.916 INFO    ] 2026-10-20 00:02:51
[2026-10-20 00:02:52,177.177 INFO    ] 2026-10-20 00:02:52
[2026-10-20 00:02:52,208.208 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:02:52,458.458 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:02:52,465.465 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:02:52,678.678 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:02:52,729.729 INFO    ] time= 20/10/2026 00:02:52
[2026-10-20 00:02:52,735.735 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:02:52,757.757 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:02:52,896.896 INFO    ] No existing commands found in stream
[2026-10-20 00:02:57,922.922 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:02:57,925.925 INFO    ] Waiting 0.17 seconds before fallback handling...
[2026-10-20 00:02:58,616.616 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 00:02:58,619.619 INFO    ] Checking for system updates...
[2026-10-20 00:02:58,655.655 INFO    ] 200
[2026-10-20 00:02:58,657.657 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:02:58,709.709 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:02:58,711.711 INFO    ] No update needed
[2026-10-20 00:02:58,714.714 INFO    ] Checking for camera pi updates...
[2026-10-20 00:02:58,747.747 INFO    ] 200
[2026-10-20 00:02:58,750.750 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:02:58,790.790 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:02:58,937.937 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:02:58,940.940 INFO    ] No camera update needed
[2026-10-20 00:02:58,942.942 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:02:58,945.945 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:02:58,950.950 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:02:58,955.955 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:03:01,995.995 INFO    ] ================================================
[2026-10-20 00:03:01,011.011 INFO    ] Launching Daemon at Tue Oct 20 00:03:01 IST 2026
[2026-10-20 00:03:01,021.021 INFO    ] ================================================
[2026-10-20 00:03:01,735.735 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:03:01
[2026-10-20 00:03:02,489.489 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:03:02,789.789 INFO    ] Initializing speech engine...
[2026-10-20 00:03:02,798.798 INFO    ] 2026-10-20 00:03:02
[2026-10-20 00:03:03,151.151 INFO    ] 2026-10-20 00:03:03
[2026-10-20 00:03:03,185.185 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:03:03,406.406 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:03:03,420.420 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:03:03,583.583 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:03:03,628.628 INFO    ] time= 20/10/2026 00:03:03
[2026-10-20 00:03:03,647.647 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:03:03,650.650 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:03:03,784.784 INFO    ] No existing commands found in stream
[2026-10-20 00:03:08,794.794 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:03:08,797.797 INFO    ] Waiting 0.65 seconds before fallback handling...
[2026-10-20 00:03:09,923.923 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:03:09,926.926 INFO    ] Checking for system updates...
[2026-10-20 00:03:09,961.961 INFO    ] 200
[2026-10-20 00:03:09,963.963 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:03:10,015.015 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:03:10,017.017 INFO    ] No update needed
[2026-10-20 00:03:10,020.020 INFO    ] Checking for camera pi updates...
[2026-10-20 00:03:10,055.055 INFO    ] 200
[2026-10-20 00:03:10,057.057 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:03:10,101.101 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:03:10,146.146 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:03:10,149.149 INFO    ] No camera update needed
[2026-10-20 00:03:10,151.151 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:03:10,154.154 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:03:10,159.159 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:03:10,164.164 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:03:12,203.203 INFO    ] ================================================
[2026-10-20 00:03:12,218.218 INFO    ] Launching Daemon at Tue Oct 20 00:03:12 IST 2026
[2026-10-20 00:03:12,228.228 INFO    ] ================================================
[2026-10-20 00:03:12,794.794 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:03:12
[2026-10-20 00:03:13,376.376 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:03:13,646.646 INFO    ] Initializing speech engine...
[2026-10-20 00:03:13,652.652 INFO    ] 2026-10-20 00:03:13
[2026-10-20 00:03:13,906.906 INFO    ] 2026-10-20 00:03:13
[2026-10-20 00:03:13,943.943 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:03:14,192.192 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:03:14,201.201 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:03:14,346.346 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:03:14,406.406 INFO    ] time= 20/10/2026 00:03:14
[2026-10-20 00:03:14,461.461 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:03:14,471.471 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:03:14,610.610 INFO    ] No existing commands found in stream
[2026-10-20 00:03:19,629.629 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:03:19,632.632 INFO    ] Waiting 3.72 seconds before fallback handling...
[2026-10-20 00:03:23,891.891 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 00:03:23,893.893 INFO    ] Checking for system updates...
[2026-10-20 00:03:23,931.931 INFO    ] 200
[2026-10-20 00:03:23,934.934 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:03:23,990.990 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:03:23,992.992 INFO    ] No update needed
[2026-10-20 00:03:23,994.994 INFO    ] Checking for camera pi updates...
[2026-10-20 00:03:24,027.027 INFO    ] 200
[2026-10-20 00:03:24,030.030 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:03:24,073.073 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:03:24,118.118 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:03:24,120.120 INFO    ] No camera update needed
[2026-10-20 00:03:24,123.123 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:03:24,125.125 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:03:24,130.130 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:03:24,135.135 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:03:26,175.175 INFO    ] ================================================
[2026-10-20 00:03:26,190.190 INFO    ] Launching Daemon at Tue Oct 20 00:03:26 IST 2026
[2026-10-20 00:03:26,200.200 INFO    ] ================================================
[2026-10-20 00:03:26,767.767 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:03:26
[2026-10-20 00:03:27,353.353 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:03:27,619.619 INFO    ] Initializing speech engine...
[2026-10-20 00:03:27,632.632 INFO    ] 2026-10-20 00:03:27
[2026-10-20 00:03:27,880.880 INFO    ] 2026-10-20 00:03:27
[2026-10-20 00:03:27,915.915 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:03:28,174.174 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:03:28,179.179 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:03:28,406.406 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:03:28,438.438 INFO    ] time= 20/10/2026 00:03:28
[2026-10-20 00:03:28,444.444 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:03:28,462.462 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:03:28,596.596 INFO    ] No existing commands found in stream
[2026-10-20 00:03:33,618.618 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:03:33,621.621 INFO    ] Waiting 2.78 seconds before fallback handling...
[2026-10-20 00:03:36,928.928 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 00:03:36,931.931 INFO    ] Checking for system updates...
[2026-10-20 00:03:36,967.967 INFO    ] 200
[2026-10-20 00:03:36,969.969 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:03:37,020.020 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:03:37,022.022 INFO    ] No update needed
[2026-10-20 00:03:37,025.025 INFO    ] Checking for camera pi updates...
[2026-10-20 00:03:37,058.058 INFO    ] 200
[2026-10-20 00:03:37,061.061 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:03:37,100.100 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:03:37,150.150 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:03:37,152.152 INFO    ] No camera update needed
[2026-10-20 00:03:37,155.155 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:03:37,157.157 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:03:37,162.162 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:03:37,167.167 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:03:39,207.207 INFO    ] ================================================
[2026-10-20 00:03:39,222.222 INFO    ] Launching Daemon at Tue Oct 20 00:03:39 IST 2026
[2026-10-20 00:03:39,233.233 INFO    ] ================================================
[2026-10-20 00:03:39,816.816 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:03:39
[2026-10-20 00:03:40,402.402 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:03:40,653.653 INFO    ] Initializing speech engine...
[2026-10-20 00:03:40,676.676 INFO    ] 2026-10-20 00:03:40
[2026-10-20 00:03:40,932.932 INFO    ] 2026-10-20 00:03:40
[2026-10-20 00:03:40,967.967 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:03:41,224.224 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:03:41,233.233 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:03:41,371.371 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:03:41,446.446 INFO    ] time= 20/10/2026 00:03:41
[2026-10-20 00:03:41,495.495 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:03:41,507.507 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:03:41,655.655 INFO    ] No existing commands found in stream
[2026-10-20 00:03:46,675.675 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:03:46,678.678 INFO    ] Waiting 1.96 seconds before fallback handling...
[2026-10-20 00:03:49,132.132 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 00:03:49,135.135 INFO    ] Checking for system updates...
[2026-10-20 00:03:49,170.170 INFO    ] 200
[2026-10-20 00:03:49,172.172 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:03:49,223.223 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:03:49,226.226 INFO    ] No update needed
[2026-10-20 00:03:49,228.228 INFO    ] Checking for camera pi updates...
[2026-10-20 00:03:49,261.261 INFO    ] 200
[2026-10-20 00:03:49,264.264 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:03:49,304.304 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:03:49,351.351 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:03:49,353.353 INFO    ] No camera update needed
[2026-10-20 00:03:49,355.355 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:03:49,357.357 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:03:49,363.363 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:03:49,369.369 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:03:51,410.410 INFO    ] ================================================
[2026-10-20 00:03:51,425.425 INFO    ] Launching Daemon at Tue Oct 20 00:03:51 IST 2026
[2026-10-20 00:03:51,437.437 INFO    ] ================================================
[2026-10-20 00:03:52,046.046 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:03:52
[2026-10-20 00:03:52,635.635 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:03:52,931.931 INFO    ] Initializing speech engine...
[2026-10-20 00:03:52,936.936 INFO    ] 2026-10-20 00:03:52
[2026-10-20 00:03:53,201.201 INFO    ] 2026-10-20 00:03:53
[2026-10-20 00:03:53,243.243 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:03:53,491.491 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:03:53,497.497 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:03:53,725.725 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:03:53,732.732 INFO    ] time= 20/10/2026 00:03:53
[2026-10-20 00:03:53,750.750 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:03:53,780.780 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:03:53,945.945 INFO    ] No existing commands found in stream
[2026-10-20 00:03:58,976.976 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:03:58,979.979 INFO    ] Waiting 3.07 seconds before fallback handling...
[2026-10-20 00:04:02,591.591 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:04:02,595.595 INFO    ] Checking for system updates...
[2026-10-20 00:04:02,645.645 INFO    ] 200
[2026-10-20 00:04:02,648.648 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:04:02,710.710 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:04:02,714.714 INFO    ] No update needed
[2026-10-20 00:04:02,717.717 INFO    ] Checking for camera pi updates...
[2026-10-20 00:04:02,765.765 INFO    ] 200
[2026-10-20 00:04:02,772.772 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:04:02,858.858 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:04:02,892.892 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:04:02,894.894 INFO    ] No camera update needed
[2026-10-20 00:04:02,897.897 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:04:02,899.899 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:04:02,905.905 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:04:02,910.910 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:04:04,950.950 INFO    ] ================================================
[2026-10-20 00:04:04,966.966 INFO    ] Launching Daemon at Tue Oct 20 00:04:04 IST 2026
[2026-10-20 00:04:04,977.977 INFO    ] ================================================
[2026-10-20 00:04:05,556.556 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:04:05
[2026-10-20 00:04:06,152.152 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:04:06,425.425 INFO    ] Initializing speech engine...
[2026-10-20 00:04:06,434.434 INFO    ] 2026-10-20 00:04:06
[2026-10-20 00:04:06,680.680 INFO    ] 2026-10-20 00:04:06
[2026-10-20 00:04:06,716.716 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:04:06,972.972 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:04:06,977.977 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:04:07,202.202 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:04:07,234.234 INFO    ] time= 20/10/2026 00:04:07
[2026-10-20 00:04:07,240.240 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:04:07,261.261 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:04:07,383.383 INFO    ] No existing commands found in stream
[2026-10-20 00:04:12,399.399 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:04:12,402.402 INFO    ] Waiting 0.99 seconds before fallback handling...
[2026-10-20 00:04:13,957.957 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 00:04:13,960.960 INFO    ] Checking for system updates...
[2026-10-20 00:04:13,995.995 INFO    ] 200
[2026-10-20 00:04:13,997.997 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:04:14,048.048 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:04:14,051.051 INFO    ] No update needed
[2026-10-20 00:04:14,053.053 INFO    ] Checking for camera pi updates...
[2026-10-20 00:04:14,086.086 INFO    ] 200
[2026-10-20 00:04:14,088.088 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:04:14,133.133 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:04:14,166.166 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:04:14,169.169 INFO    ] No camera update needed
[2026-10-20 00:04:14,171.171 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:04:14,173.173 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:04:14,179.179 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:04:14,184.184 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:04:16,223.223 INFO    ] ================================================
[2026-10-20 00:04:16,239.239 INFO    ] Launching Daemon at Tue Oct 20 00:04:16 IST 2026
[2026-10-20 00:04:16,250.250 INFO    ] ================================================
[2026-10-20 00:04:16,896.896 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:04:16
[2026-10-20 00:04:17,565.565 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:04:17,866.866 INFO    ] Initializing speech engine...
[2026-10-20 00:04:17,875.875 INFO    ] 2026-10-20 00:04:17
[2026-10-20 00:04:18,133.133 INFO    ] 2026-10-20 00:04:18
[2026-10-20 00:04:18,163.163 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:04:18,409.409 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:04:18,418.418 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:04:18,599.599 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:04:18,664.664 INFO    ] time= 20/10/2026 00:04:18
[2026-10-20 00:04:18,682.682 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:04:18,688.688 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:04:18,830.830 INFO    ] No existing commands found in stream
[2026-10-20 00:04:23,846.846 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:04:23,850.850 INFO    ] Waiting 3.02 seconds before fallback handling...
[2026-10-20 00:04:27,439.439 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 00:04:27,442.442 INFO    ] Checking for system updates...
[2026-10-20 00:04:27,481.481 INFO    ] 200
[2026-10-20 00:04:27,484.484 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:04:27,544.544 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:04:27,547.547 INFO    ] No update needed
[2026-10-20 00:04:27,550.550 INFO    ] Checking for camera pi updates...
[2026-10-20 00:04:27,587.587 INFO    ] 200
[2026-10-20 00:04:27,590.590 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:04:27,641.641 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:04:27,690.690 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:04:27,693.693 INFO    ] No camera update needed
[2026-10-20 00:04:27,696.696 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:04:27,699.699 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:04:27,705.705 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:04:27,711.711 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:04:29,752.752 INFO    ] ================================================
[2026-10-20 00:04:29,768.768 INFO    ] Launching Daemon at Tue Oct 20 00:04:29 IST 2026
[2026-10-20 00:04:29,779.779 INFO    ] ================================================
[2026-10-20 00:04:30,436.436 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:04:30
[2026-10-20 00:04:31,110.110 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:04:31,412.412 INFO    ] Initializing speech engine...
[2026-10-20 00:04:31,422.422 INFO    ] 2026-10-20 00:04:31
[2026-10-20 00:04:31,719.719 INFO    ] 2026-10-20 00:04:31
[2026-10-20 00:04:31,780.780 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:04:32,014.014 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:04:32,020.020 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:04:32,256.256 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:04:32,296.296 INFO    ] time= 20/10/2026 00:04:32
[2026-10-20 00:04:32,315.315 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:04:32,325.325 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:04:32,427.427 INFO    ] No existing commands found in stream
[2026-10-20 00:04:37,453.453 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:04:37,456.456 INFO    ] Waiting 0.49 seconds before fallback handling...
[2026-10-20 00:04:38,532.532 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:04:38,535.535 INFO    ] Checking for system updates...
[2026-10-20 00:04:38,572.572 INFO    ] 200
[2026-10-20 00:04:38,575.575 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:04:38,633.633 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:04:38,635.635 INFO    ] No update needed
[2026-10-20 00:04:38,638.638 INFO    ] Checking for camera pi updates...
[2026-10-20 00:04:38,671.671 INFO    ] 200
[2026-10-20 00:04:38,674.674 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:04:38,715.715 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:04:38,760.760 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:04:38,763.763 INFO    ] No camera update needed
[2026-10-20 00:04:38,765.765 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:04:38,768.768 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:04:38,773.773 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:04:38,778.778 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:04:40,818.818 INFO    ] ================================================
[2026-10-20 00:04:40,833.833 INFO    ] Launching Daemon at Tue Oct 20 00:04:40 IST 2026
[2026-10-20 00:04:40,843.843 INFO    ] ================================================
[2026-10-20 00:04:41,424.424 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:04:41
[2026-10-20 00:04:42,023.023 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:04:42,302.302 INFO    ] Initializing speech engine...
[2026-10-20 00:04:42,307.307 INFO    ] 2026-10-20 00:04:42
[2026-10-20 00:04:42,556.556 INFO    ] 2026-10-20 00:04:42
[2026-10-20 00:04:42,599.599 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:04:42,888.888 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:04:42,910.910 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:04:43,109.109 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:04:43,115.115 INFO    ] time= 20/10/2026 00:04:43
[2026-10-20 00:04:43,133.133 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:04:43,151.151 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:04:43,284.284 INFO    ] No existing commands found in stream
[2026-10-20 00:04:48,314.314 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:04:48,317.317 INFO    ] Waiting 0.28 seconds before fallback handling...
[2026-10-20 00:04:49,105.105 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:04:49,108.108 INFO    ] Checking for system updates...
[2026-10-20 00:04:49,148.148 INFO    ] 200
[2026-10-20 00:04:49,150.150 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:04:49,202.202 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:04:49,205.205 INFO    ] No update needed
[2026-10-20 00:04:49,207.207 INFO    ] Checking for camera pi updates...
[2026-10-20 00:04:49,241.241 INFO    ] 200
[2026-10-20 00:04:49,243.243 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:04:49,283.283 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:04:49,334.334 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:04:49,336.336 INFO    ] No camera update needed
[2026-10-20 00:04:49,338.338 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:04:49,341.341 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:04:49,346.346 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:04:49,351.351 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:04:51,391.391 INFO    ] ================================================
[2026-10-20 00:04:51,406.406 INFO    ] Launching Daemon at Tue Oct 20 00:04:51 IST 2026
[2026-10-20 00:04:51,417.417 INFO    ] ================================================
[2026-10-20 00:04:51,984.984 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:04:51
[2026-10-20 00:04:52,565.565 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:04:52,834.834 INFO    ] Initializing speech engine...
[2026-10-20 00:04:52,843.843 INFO    ] 2026-10-20 00:04:52
[2026-10-20 00:04:53,095.095 INFO    ] 2026-10-20 00:04:53
[2026-10-20 00:04:53,130.130 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:04:53,385.385 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:04:53,389.389 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:04:53,606.606 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:04:53,647.647 INFO    ] time= 20/10/2026 00:04:53
[2026-10-20 00:04:53,653.653 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:04:53,670.670 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:04:53,805.805 INFO    ] No existing commands found in stream
[2026-10-20 00:04:58,830.830 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:04:58,833.833 INFO    ] Waiting 2.53 seconds before fallback handling...
[2026-10-20 00:05:02,104.104 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:05:02,107.107 INFO    ] Checking for system updates...
[2026-10-20 00:05:02,149.149 INFO    ] 200
[2026-10-20 00:05:02,152.152 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:05:02,222.222 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:05:02,225.225 INFO    ] No update needed
[2026-10-20 00:05:02,227.227 INFO    ] Checking for camera pi updates...
[2026-10-20 00:05:02,273.273 INFO    ] 200
[2026-10-20 00:05:02,275.275 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:05:02,332.332 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:05:02,470.470 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:05:02,474.474 INFO    ] No camera update needed
[2026-10-20 00:05:02,477.477 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:05:02,480.480 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:05:02,487.487 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:05:02,494.494 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:05:04,537.537 INFO    ] ================================================
[2026-10-20 00:05:04,552.552 INFO    ] Launching Daemon at Tue Oct 20 00:05:04 IST 2026
[2026-10-20 00:05:04,562.562 INFO    ] ================================================
[2026-10-20 00:05:05,128.128 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:05:05
[2026-10-20 00:05:05,713.713 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:05:05,960.960 INFO    ] Initializing speech engine...
[2026-10-20 00:05:05,967.967 INFO    ] 2026-10-20 00:05:05
[2026-10-20 00:05:06,257.257 INFO    ] 2026-10-20 00:05:06
[2026-10-20 00:05:06,290.290 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:05:06,479.479 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:05:06,494.494 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:05:06,653.653 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:05:06,660.660 INFO    ] time= 20/10/2026 00:05:06
[2026-10-20 00:05:06,682.682 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:05:06,732.732 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:05:06,866.866 INFO    ] No existing commands found in stream
[2026-10-20 00:05:11,882.882 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:05:11,884.884 INFO    ] Waiting 3.39 seconds before fallback handling...
[2026-10-20 00:05:15,790.790 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 00:05:15,793.793 INFO    ] Checking for system updates...
[2026-10-20 00:05:15,830.830 INFO    ] 200
[2026-10-20 00:05:15,833.833 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:05:15,885.885 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:05:15,887.887 INFO    ] No update needed
[2026-10-20 00:05:15,890.890 INFO    ] Checking for camera pi updates...
[2026-10-20 00:05:15,923.923 INFO    ] 200
[2026-10-20 00:05:15,926.926 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:05:15,966.966 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:05:16,015.015 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:05:16,018.018 INFO    ] No camera update needed
[2026-10-20 00:05:16,020.020 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:05:16,023.023 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:05:16,028.028 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:05:16,033.033 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:05:18,073.073 INFO    ] ================================================
[2026-10-20 00:05:18,088.088 INFO    ] Launching Daemon at Tue Oct 20 00:05:18 IST 2026
[2026-10-20 00:05:18,099.099 INFO    ] ================================================
[2026-10-20 00:05:18,718.718 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:05:18
[2026-10-20 00:05:19,358.358 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:05:19,649.649 INFO    ] Initializing speech engine...
[2026-10-20 00:05:19,659.659 INFO    ] 2026-10-20 00:05:19
[2026-10-20 00:05:19,924.924 INFO    ] 2026-10-20 00:05:19
[2026-10-20 00:05:19,979.979 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:05:20,208.208 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:05:20,213.213 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:05:20,441.441 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:05:20,474.474 INFO    ] time= 20/10/2026 00:05:20
[2026-10-20 00:05:20,489.489 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:05:20,498.498 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:05:20,623.623 INFO    ] No existing commands found in stream
[2026-10-20 00:05:25,640.640 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:05:25,643.643 INFO    ] Waiting 0.03 seconds before fallback handling...
[2026-10-20 00:05:26,184.184 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:05:26,187.187 INFO    ] Checking for system updates...
[2026-10-20 00:05:26,222.222 INFO    ] 200
[2026-10-20 00:05:26,225.225 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:05:26,282.282 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:05:26,284.284 INFO    ] No update needed
[2026-10-20 00:05:26,287.287 INFO    ] Checking for camera pi updates...
[2026-10-20 00:05:26,320.320 INFO    ] 200
[2026-10-20 00:05:26,322.322 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:05:26,364.364 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:05:26,413.413 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:05:26,415.415 INFO    ] No camera update needed
[2026-10-20 00:05:26,417.417 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:05:26,420.420 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:05:26,425.425 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:05:26,430.430 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:05:28,469.469 INFO    ] ================================================
[2026-10-20 00:05:28,484.484 INFO    ] Launching Daemon at Tue Oct 20 00:05:28 IST 2026
[2026-10-20 00:05:28,495.495 INFO    ] ================================================
[2026-10-20 00:05:29,060.060 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:05:29
[2026-10-20 00:05:29,645.645 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:05:29,910.910 INFO    ] Initializing speech engine...
[2026-10-20 00:05:29,931.931 INFO    ] 2026-10-20 00:05:29
[2026-10-20 00:05:30,190.190 INFO    ] 2026-10-20 00:05:30
[2026-10-20 00:05:30,224.224 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:05:30,442.442 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:05:30,490.490 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:05:30,654.654 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:05:30,702.702 INFO    ] time= 20/10/2026 00:05:30
[2026-10-20 00:05:30,751.751 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:05:30,798.798 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:05:30,927.927 INFO    ] No existing commands found in stream
[2026-10-20 00:05:35,952.952 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:05:35,955.955 INFO    ] Waiting 2.86 seconds before fallback handling...
[2026-10-20 00:05:39,310.310 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 00:05:39,312.312 INFO    ] Checking for system updates...
[2026-10-20 00:05:39,350.350 INFO    ] 200
[2026-10-20 00:05:39,352.352 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:05:39,407.407 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:05:39,410.410 INFO    ] No update needed
[2026-10-20 00:05:39,412.412 INFO    ] Checking for camera pi updates...
[2026-10-20 00:05:39,446.446 INFO    ] 200
[2026-10-20 00:05:39,448.448 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:05:39,488.488 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:05:39,551.551 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:05:39,553.553 INFO    ] No camera update needed
[2026-10-20 00:05:39,556.556 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:05:39,559.559 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:05:39,564.564 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:05:39,570.570 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:05:41,610.610 INFO    ] ================================================
[2026-10-20 00:05:41,625.625 INFO    ] Launching Daemon at Tue Oct 20 00:05:41 IST 2026
[2026-10-20 00:05:41,636.636 INFO    ] ================================================
[2026-10-20 00:05:42,212.212 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:05:42
[2026-10-20 00:05:42,799.799 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:05:43,070.070 INFO    ] Initializing speech engine...
[2026-10-20 00:05:43,079.079 INFO    ] 2026-10-20 00:05:43
[2026-10-20 00:05:43,338.338 INFO    ] 2026-10-20 00:05:43
[2026-10-20 00:05:43,367.367 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:05:43,638.638 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:05:43,644.644 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:05:43,871.871 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:05:43,879.879 INFO    ] time= 20/10/2026 00:05:43
[2026-10-20 00:05:43,894.894 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:05:43,901.901 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:05:44,027.027 INFO    ] No existing commands found in stream
[2026-10-20 00:05:49,041.041 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:05:49,044.044 INFO    ] Waiting 3.85 seconds before fallback handling...
[2026-10-20 00:05:53,409.409 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:05:53,411.411 INFO    ] Checking for system updates...
[2026-10-20 00:05:53,447.447 INFO    ] 200
[2026-10-20 00:05:53,449.449 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:05:53,502.502 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:05:53,504.504 INFO    ] No update needed
[2026-10-20 00:05:53,506.506 INFO    ] Checking for camera pi updates...
[2026-10-20 00:05:53,540.540 INFO    ] 200
[2026-10-20 00:05:53,542.542 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:05:53,583.583 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:05:53,626.626 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:05:53,628.628 INFO    ] No camera update needed
[2026-10-20 00:05:53,631.631 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:05:53,633.633 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:05:53,638.638 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:05:53,643.643 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:05:55,683.683 INFO    ] ================================================
[2026-10-20 00:05:55,699.699 INFO    ] Launching Daemon at Tue Oct 20 00:05:55 IST 2026
[2026-10-20 00:05:55,709.709 INFO    ] ================================================
[2026-10-20 00:05:56,330.330 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:05:56
[2026-10-20 00:05:56,973.973 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:05:57,263.263 INFO    ] Initializing speech engine...
[2026-10-20 00:05:57,271.271 INFO    ] 2026-10-20 00:05:57
[2026-10-20 00:05:57,539.539 INFO    ] 2026-10-20 00:05:57
[2026-10-20 00:05:57,593.593 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:05:57,875.875 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:05:57,883.883 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:05:58,077.077 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:05:58,085.085 INFO    ] time= 20/10/2026 00:05:58
[2026-10-20 00:05:58,106.106 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:05:58,131.131 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:05:58,258.258 INFO    ] No existing commands found in stream
[2026-10-20 00:06:03,290.290 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:06:03,293.293 INFO    ] Waiting 1.12 seconds before fallback handling...
[2026-10-20 00:06:04,967.967 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 00:06:04,970.970 INFO    ] Checking for system updates...
[2026-10-20 00:06:05,007.007 INFO    ] 200
[2026-10-20 00:06:05,010.010 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:06:05,062.062 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:06:05,065.065 INFO    ] No update needed
[2026-10-20 00:06:05,067.067 INFO    ] Checking for camera pi updates...
[2026-10-20 00:06:05,105.105 INFO    ] 200
[2026-10-20 00:06:05,108.108 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:06:05,157.157 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:06:05,210.210 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:06:05,212.212 INFO    ] No camera update needed
[2026-10-20 00:06:05,215.215 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:06:05,217.217 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:06:05,222.222 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:06:05,227.227 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:06:07,266.266 INFO    ] ================================================
[2026-10-20 00:06:07,282.282 INFO    ] Launching Daemon at Tue Oct 20 00:06:07 IST 2026
[2026-10-20 00:06:07,293.293 INFO    ] ================================================
[2026-10-20 00:06:07,859.859 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:06:07
[2026-10-20 00:06:08,442.442 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:06:08,711.711 INFO    ] Initializing speech engine...
[2026-10-20 00:06:08,717.717 INFO    ] 2026-10-20 00:06:08
[2026-10-20 00:06:08,962.962 INFO    ] 2026-10-20 00:06:08
[2026-10-20 00:06:08,997.997 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:06:09,247.247 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:06:09,256.256 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:06:09,395.395 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:06:09,449.449 INFO    ] time= 20/10/2026 00:06:09
[2026-10-20 00:06:09,498.498 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:06:09,520.520 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:06:09,666.666 INFO    ] No existing commands found in stream
[2026-10-20 00:06:14,680.680 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:06:14,683.683 INFO    ] Waiting 1.42 seconds before fallback handling...
[2026-10-20 00:06:19,433.433 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 00:06:19,436.436 INFO    ] Checking for system updates...
[2026-10-20 00:06:19,471.471 INFO    ] 200
[2026-10-20 00:06:19,473.473 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:06:19,524.524 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:06:19,527.527 INFO    ] No update needed
[2026-10-20 00:06:19,530.530 INFO    ] Checking for camera pi updates...
[2026-10-20 00:06:19,566.566 INFO    ] 200
[2026-10-20 00:06:19,568.568 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:06:19,612.612 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:06:19,661.661 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:06:19,663.663 INFO    ] No camera update needed
[2026-10-20 00:06:19,665.665 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:06:19,667.667 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:06:19,673.673 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:06:19,678.678 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:06:21,717.717 INFO    ] ================================================
[2026-10-20 00:06:21,732.732 INFO    ] Launching Daemon at Tue Oct 20 00:06:21 IST 2026
[2026-10-20 00:06:21,745.745 INFO    ] ================================================
[2026-10-20 00:06:22,381.381 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:06:22
[2026-10-20 00:06:23,035.035 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:06:23,332.332 INFO    ] Initializing speech engine...
[2026-10-20 00:06:23,340.340 INFO    ] 2026-10-20 00:06:23
[2026-10-20 00:06:23,609.609 INFO    ] 2026-10-20 00:06:23
[2026-10-20 00:06:23,663.663 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:06:23,895.895 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:06:23,915.915 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:06:24,138.138 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:06:24,158.158 INFO    ] time= 20/10/2026 00:06:24
[2026-10-20 00:06:24,175.175 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:06:24,207.207 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:06:24,344.344 INFO    ] No existing commands found in stream
[2026-10-20 00:06:29,370.370 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:06:29,373.373 INFO    ] Waiting 2.15 seconds before fallback handling...
[2026-10-20 00:06:32,092.092 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 00:06:32,095.095 INFO    ] Checking for system updates...
[2026-10-20 00:06:32,134.134 INFO    ] 200
[2026-10-20 00:06:32,136.136 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:06:32,199.199 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:06:32,201.201 INFO    ] No update needed
[2026-10-20 00:06:32,204.204 INFO    ] Checking for camera pi updates...
[2026-10-20 00:06:32,240.240 INFO    ] 200
[2026-10-20 00:06:32,243.243 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:06:32,293.293 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:06:32,342.342 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:06:32,344.344 INFO    ] No camera update needed
[2026-10-20 00:06:32,347.347 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:06:32,350.350 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:06:32,356.356 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:06:32,362.362 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:06:34,404.404 INFO    ] ================================================
[2026-10-20 00:06:34,419.419 INFO    ] Launching Daemon at Tue Oct 20 00:06:34 IST 2026
[2026-10-20 00:06:34,430.430 INFO    ] ================================================
[2026-10-20 00:06:34,995.995 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:06:34
[2026-10-20 00:06:35,577.577 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:06:35,844.844 INFO    ] Initializing speech engine...
[2026-10-20 00:06:35,854.854 INFO    ] 2026-10-20 00:06:35
[2026-10-20 00:06:36,097.097 INFO    ] 2026-10-20 00:06:36
[2026-10-20 00:06:36,138.138 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:06:36,386.386 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:06:36,392.392 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:06:36,595.595 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:06:36,644.644 INFO    ] time= 20/10/2026 00:06:36
[2026-10-20 00:06:36,655.655 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:06:36,672.672 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:06:36,822.822 INFO    ] No existing commands found in stream
[2026-10-20 00:06:41,848.848 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:06:41,851.851 INFO    ] Waiting 2.28 seconds before fallback handling...
[2026-10-20 00:06:44,627.627 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 00:06:44,631.631 INFO    ] Checking for system updates...
[2026-10-20 00:06:44,666.666 INFO    ] 200
[2026-10-20 00:06:44,669.669 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:06:44,722.722 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:06:44,724.724 INFO    ] No update needed
[2026-10-20 00:06:44,726.726 INFO    ] Checking for camera pi updates...
[2026-10-20 00:06:44,759.759 INFO    ] 200
[2026-10-20 00:06:44,762.762 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:06:44,801.801 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:06:44,849.849 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:06:44,851.851 INFO    ] No camera update needed
[2026-10-20 00:06:44,853.853 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:06:44,856.856 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:06:44,861.861 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:06:44,866.866 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:06:46,909.909 INFO    ] ================================================
[2026-10-20 00:06:46,924.924 INFO    ] Launching Daemon at Tue Oct 20 00:06:46 IST 2026
[2026-10-20 00:06:46,936.936 INFO    ] ================================================
[2026-10-20 00:06:47,570.570 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:06:47
[2026-10-20 00:06:48,222.222 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:06:48,517.517 INFO    ] Initializing speech engine...
[2026-10-20 00:06:48,526.526 INFO    ] 2026-10-20 00:06:48
[2026-10-20 00:06:48,814.814 INFO    ] 2026-10-20 00:06:48
[2026-10-20 00:06:48,922.922 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:06:49,135.135 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:06:49,145.145 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:06:49,328.328 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:06:49,353.353 INFO    ] time= 20/10/2026 00:06:49
[2026-10-20 00:06:49,370.370 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:06:49,389.389 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:06:49,521.521 INFO    ] No existing commands found in stream
[2026-10-20 00:06:54,542.542 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:06:54,545.545 INFO    ] Waiting 0.13 seconds before fallback handling...
[2026-10-20 00:06:55,197.197 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:06:55,200.200 INFO    ] Checking for system updates...
[2026-10-20 00:06:55,237.237 INFO    ] 200
[2026-10-20 00:06:55,240.240 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:06:55,292.292 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:06:55,295.295 INFO    ] No update needed
[2026-10-20 00:06:55,297.297 INFO    ] Checking for camera pi updates...
[2026-10-20 00:06:55,330.330 INFO    ] 200
[2026-10-20 00:06:55,333.333 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:06:55,372.372 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:06:55,422.422 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:06:55,424.424 INFO    ] No camera update needed
[2026-10-20 00:06:55,427.427 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:06:55,429.429 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:06:55,434.434 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:06:55,439.439 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:06:57,479.479 INFO    ] ================================================
[2026-10-20 00:06:57,495.495 INFO    ] Launching Daemon at Tue Oct 20 00:06:57 IST 2026
[2026-10-20 00:06:57,506.506 INFO    ] ================================================
[2026-10-20 00:06:58,069.069 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:06:58
[2026-10-20 00:06:58,652.652 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:06:58,919.919 INFO    ] Initializing speech engine...
[2026-10-20 00:06:58,927.927 INFO    ] 2026-10-20 00:06:58
[2026-10-20 00:06:59,174.174 INFO    ] 2026-10-20 00:06:59
[2026-10-20 00:06:59,209.209 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:06:59,404.404 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:06:59,446.446 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:06:59,609.609 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:06:59,668.668 INFO    ] time= 20/10/2026 00:06:59
[2026-10-20 00:06:59,718.718 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:06:59,734.734 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:06:59,867.867 INFO    ] No existing commands found in stream
[2026-10-20 00:07:04,891.891 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:07:04,894.894 INFO    ] Waiting 3.75 seconds before fallback handling...
[2026-10-20 00:07:09,142.142 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 00:07:09,144.144 INFO    ] Checking for system updates...
[2026-10-20 00:07:09,183.183 INFO    ] 200
[2026-10-20 00:07:09,186.186 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:07:09,243.243 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:07:09,246.246 INFO    ] No update needed
[2026-10-20 00:07:09,248.248 INFO    ] Checking for camera pi updates...
[2026-10-20 00:07:09,286.286 INFO    ] 200
[2026-10-20 00:07:09,288.288 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:07:09,334.334 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:07:09,478.478 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:07:09,481.481 INFO    ] No camera update needed
[2026-10-20 00:07:09,484.484 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:07:09,486.486 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:07:09,493.493 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:07:09,498.498 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:07:11,539.539 INFO    ] ================================================
[2026-10-20 00:07:11,555.555 INFO    ] Launching Daemon at Tue Oct 20 00:07:11 IST 2026
[2026-10-20 00:07:11,567.567 INFO    ] ================================================
[2026-10-20 00:07:12,207.207 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:07:12
[2026-10-20 00:07:12,803.803 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:07:13,072.072 INFO    ] Initializing speech engine...
[2026-10-20 00:07:13,081.081 INFO    ] 2026-10-20 00:07:13
[2026-10-20 00:07:13,331.331 INFO    ] 2026-10-20 00:07:13
[2026-10-20 00:07:13,366.366 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:07:13,625.625 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:07:13,635.635 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:07:13,773.773 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:07:13,843.843 INFO    ] time= 20/10/2026 00:07:13
[2026-10-20 00:07:13,903.903 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:07:13,910.910 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:07:14,060.060 INFO    ] No existing commands found in stream
[2026-10-20 00:07:19,074.074 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:07:19,077.077 INFO    ] Waiting 2.62 seconds before fallback handling...
[2026-10-20 00:07:22,196.196 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:07:22,199.199 INFO    ] Checking for system updates...
[2026-10-20 00:07:22,234.234 INFO    ] 200
[2026-10-20 00:07:22,237.237 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:07:22,291.291 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:07:22,293.293 INFO    ] No update needed
[2026-10-20 00:07:22,296.296 INFO    ] Checking for camera pi updates...
[2026-10-20 00:07:22,330.330 INFO    ] 200
[2026-10-20 00:07:22,333.333 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:07:22,377.377 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:07:22,423.423 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:07:22,425.425 INFO    ] No camera update needed
[2026-10-20 00:07:22,428.428 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:07:22,430.430 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:07:22,436.436 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:07:22,441.441 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:07:24,482.482 INFO    ] ================================================
[2026-10-20 00:07:24,498.498 INFO    ] Launching Daemon at Tue Oct 20 00:07:24 IST 2026
[2026-10-20 00:07:24,509.509 INFO    ] ================================================
[2026-10-20 00:07:25,099.099 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:07:25
[2026-10-20 00:07:25,683.683 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:07:25,933.933 INFO    ] Initializing speech engine...
[2026-10-20 00:07:25,947.947 INFO    ] 2026-10-20 00:07:25
[2026-10-20 00:07:26,212.212 INFO    ] 2026-10-20 00:07:26
[2026-10-20 00:07:26,245.245 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:07:26,504.504 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:07:26,514.514 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:07:26,739.739 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:07:26,779.779 INFO    ] time= 20/10/2026 00:07:26
[2026-10-20 00:07:26,786.786 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:07:26,805.805 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:07:26,943.943 INFO    ] No existing commands found in stream
[2026-10-20 00:07:31,971.971 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:07:31,974.974 INFO    ] Waiting 2.24 seconds before fallback handling...
[2026-10-20 00:07:34,734.734 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:07:34,737.737 INFO    ] Checking for system updates...
[2026-10-20 00:07:34,772.772 INFO    ] 200
[2026-10-20 00:07:34,775.775 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:07:34,826.826 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:07:34,829.829 INFO    ] No update needed
[2026-10-20 00:07:34,831.831 INFO    ] Checking for camera pi updates...
[2026-10-20 00:07:34,864.864 INFO    ] 200
[2026-10-20 00:07:34,866.866 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:07:34,914.914 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:07:34,966.966 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:07:34,968.968 INFO    ] No camera update needed
[2026-10-20 00:07:34,971.971 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:07:34,973.973 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:07:34,978.978 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:07:34,983.983 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:07:37,023.023 INFO    ] ================================================
[2026-10-20 00:07:37,039.039 INFO    ] Launching Daemon at Tue Oct 20 00:07:37 IST 2026
[2026-10-20 00:07:37,050.050 INFO    ] ================================================
[2026-10-20 00:07:37,695.695 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:07:37
[2026-10-20 00:07:38,311.311 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:07:38,561.561 INFO    ] Initializing speech engine...
[2026-10-20 00:07:38,584.584 INFO    ] 2026-10-20 00:07:38
[2026-10-20 00:07:38,839.839 INFO    ] 2026-10-20 00:07:38
[2026-10-20 00:07:38,874.874 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:07:39,075.075 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:07:39,135.135 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:07:39,278.278 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:07:39,338.338 INFO    ] time= 20/10/2026 00:07:39
[2026-10-20 00:07:39,392.392 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:07:39,411.411 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:07:39,555.555 INFO    ] No existing commands found in stream
[2026-10-20 00:07:44,572.572 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:07:44,575.575 INFO    ] Waiting 0.91 seconds before fallback handling...
[2026-10-20 00:07:46,042.042 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 00:07:46,045.045 INFO    ] Checking for system updates...
[2026-10-20 00:07:46,085.085 INFO    ] 200
[2026-10-20 00:07:46,087.087 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:07:46,141.141 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:07:46,144.144 INFO    ] No update needed
[2026-10-20 00:07:46,147.147 INFO    ] Checking for camera pi updates...
[2026-10-20 00:07:46,182.182 INFO    ] 200
[2026-10-20 00:07:46,184.184 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:07:46,225.225 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:07:46,276.276 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:07:46,279.279 INFO    ] No camera update needed
[2026-10-20 00:07:46,282.282 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:07:46,284.284 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:07:46,291.291 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:07:46,296.296 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:07:48,338.338 INFO    ] ================================================
[2026-10-20 00:07:48,356.356 INFO    ] Launching Daemon at Tue Oct 20 00:07:48 IST 2026
[2026-10-20 00:07:48,367.367 INFO    ] ================================================
[2026-10-20 00:07:48,934.934 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:07:48
[2026-10-20 00:07:49,582.582 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:07:49,881.881 INFO    ] Initializing speech engine...
[2026-10-20 00:07:49,887.887 INFO    ] 2026-10-20 00:07:49
[2026-10-20 00:07:50,159.159 INFO    ] 2026-10-20 00:07:50
[2026-10-20 00:07:50,217.217 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:07:50,467.467 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:07:50,474.474 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:07:50,691.691 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:07:50,714.714 INFO    ] time= 20/10/2026 00:07:50
[2026-10-20 00:07:50,733.733 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:07:50,763.763 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:07:50,889.889 INFO    ] No existing commands found in stream
[2026-10-20 00:07:55,915.915 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:07:55,918.918 INFO    ] Waiting 1.18 seconds before fallback handling...
[2026-10-20 00:07:57,620.620 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:07:57,623.623 INFO    ] Checking for system updates...
[2026-10-20 00:07:57,663.663 INFO    ] 200
[2026-10-20 00:07:57,665.665 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:07:57,727.727 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:07:57,730.730 INFO    ] No update needed
[2026-10-20 00:07:57,734.734 INFO    ] Checking for camera pi updates...
[2026-10-20 00:07:57,771.771 INFO    ] 200
[2026-10-20 00:07:57,774.774 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:07:57,824.824 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:07:57,882.882 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:07:57,884.884 INFO    ] No camera update needed
[2026-10-20 00:07:57,887.887 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:07:57,890.890 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:07:57,896.896 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:07:57,902.902 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:07:59,941.941 INFO    ] ================================================
[2026-10-20 00:07:59,957.957 INFO    ] Launching Daemon at Tue Oct 20 00:07:59 IST 2026
[2026-10-20 00:07:59,968.968 INFO    ] ================================================
[2026-10-20 00:08:00,586.586 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:08:00
[2026-10-20 00:08:01,180.180 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:08:01,456.456 INFO    ] Initializing speech engine...
[2026-10-20 00:08:01,462.462 INFO    ] 2026-10-20 00:08:01
[2026-10-20 00:08:01,725.725 INFO    ] 2026-10-20 00:08:01
[2026-10-20 00:08:01,825.825 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:08:02,104.104 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:08:02,155.155 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:08:02,375.375 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:08:02,422.422 INFO    ] time= 20/10/2026 00:08:02
[2026-10-20 00:08:02,491.491 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:08:02,554.554 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:08:02,704.704 INFO    ] No existing commands found in stream
[2026-10-20 00:08:07,733.733 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:08:07,736.736 INFO    ] Waiting 0.04 seconds before fallback handling...
[2026-10-20 00:08:08,290.290 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 00:08:08,292.292 INFO    ] Checking for system updates...
[2026-10-20 00:08:08,328.328 INFO    ] 200
[2026-10-20 00:08:08,331.331 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:08:08,383.383 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:08:08,386.386 INFO    ] No update needed
[2026-10-20 00:08:08,389.389 INFO    ] Checking for camera pi updates...
[2026-10-20 00:08:08,426.426 INFO    ] 200
[2026-10-20 00:08:08,429.429 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:08:08,470.470 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:08:08,520.520 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:08:08,523.523 INFO    ] No camera update needed
[2026-10-20 00:08:08,526.526 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:08:08,528.528 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:08:08,535.535 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:08:08,540.540 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:08:10,580.580 INFO    ] ================================================
[2026-10-20 00:08:10,596.596 INFO    ] Launching Daemon at Tue Oct 20 00:08:10 IST 2026
[2026-10-20 00:08:10,607.607 INFO    ] ================================================
[2026-10-20 00:08:11,172.172 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:08:11
[2026-10-20 00:08:11,762.762 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:08:12,013.013 INFO    ] Initializing speech engine...
[2026-10-20 00:08:12,036.036 INFO    ] 2026-10-20 00:08:12
[2026-10-20 00:08:12,291.291 INFO    ] 2026-10-20 00:08:12
[2026-10-20 00:08:12,327.327 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:08:12,585.585 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:08:12,594.594 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:08:12,732.732 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:08:12,792.792 INFO    ] time= 20/10/2026 00:08:12
[2026-10-20 00:08:12,841.841 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:08:12,867.867 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:08:12,997.997 INFO    ] No existing commands found in stream
[2026-10-20 00:08:18,025.025 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:08:18,028.028 INFO    ] Waiting 1.01 seconds before fallback handling...
[2026-10-20 00:08:19,554.554 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:08:19,556.556 INFO    ] Checking for system updates...
[2026-10-20 00:08:19,593.593 INFO    ] 200
[2026-10-20 00:08:19,595.595 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:08:19,651.651 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:08:19,654.654 INFO    ] No update needed
[2026-10-20 00:08:19,656.656 INFO    ] Checking for camera pi updates...
[2026-10-20 00:08:19,689.689 INFO    ] 200
[2026-10-20 00:08:19,691.691 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:08:19,731.731 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:08:19,779.779 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:08:19,782.782 INFO    ] No camera update needed
[2026-10-20 00:08:19,784.784 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:08:19,786.786 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:08:19,791.791 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:08:19,796.796 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:08:21,837.837 INFO    ] ================================================
[2026-10-20 00:08:21,852.852 INFO    ] Launching Daemon at Tue Oct 20 00:08:21 IST 2026
[2026-10-20 00:08:21,863.863 INFO    ] ================================================
[2026-10-20 00:08:22,457.457 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:08:22
[2026-10-20 00:08:23,116.116 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:08:23,401.401 INFO    ] Initializing speech engine...
[2026-10-20 00:08:23,408.408 INFO    ] 2026-10-20 00:08:23
[2026-10-20 00:08:23,665.665 INFO    ] 2026-10-20 00:08:23
[2026-10-20 00:08:23,719.719 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:08:23,944.944 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:08:23,949.949 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:08:24,160.160 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:08:24,205.205 INFO    ] time= 20/10/2026 00:08:24
[2026-10-20 00:08:24,228.228 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:08:24,234.234 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:08:24,366.366 INFO    ] No existing commands found in stream
[2026-10-20 00:08:29,389.389 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:08:29,391.391 INFO    ] Waiting 0.50 seconds before fallback handling...
[2026-10-20 00:08:30,411.411 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:08:30,413.413 INFO    ] Checking for system updates...
[2026-10-20 00:08:30,448.448 INFO    ] 200
[2026-10-20 00:08:30,451.451 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:08:30,515.515 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:08:30,518.518 INFO    ] No update needed
[2026-10-20 00:08:30,520.520 INFO    ] Checking for camera pi updates...
[2026-10-20 00:08:30,553.553 INFO    ] 200
[2026-10-20 00:08:30,556.556 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:08:30,596.596 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:08:30,648.648 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:08:30,651.651 INFO    ] No camera update needed
[2026-10-20 00:08:30,654.654 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:08:30,657.657 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:08:30,663.663 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:08:30,669.669 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:08:32,713.713 INFO    ] ================================================
[2026-10-20 00:08:32,729.729 INFO    ] Launching Daemon at Tue Oct 20 00:08:32 IST 2026
[2026-10-20 00:08:32,740.740 INFO    ] ================================================
[2026-10-20 00:08:33,335.335 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:08:33
[2026-10-20 00:08:34,018.018 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:08:34,287.287 INFO    ] Initializing speech engine...
[2026-10-20 00:08:34,305.305 INFO    ] 2026-10-20 00:08:34
[2026-10-20 00:08:34,557.557 INFO    ] 2026-10-20 00:08:34
[2026-10-20 00:08:34,591.591 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:08:34,832.832 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:08:34,854.854 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:08:35,056.056 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:08:35,111.111 INFO    ] time= 20/10/2026 00:08:35
[2026-10-20 00:08:35,129.129 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:08:35,135.135 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:08:35,290.290 INFO    ] No existing commands found in stream
[2026-10-20 00:08:40,315.315 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:08:40,318.318 INFO    ] Waiting 3.81 seconds before fallback handling...
[2026-10-20 00:08:44,640.640 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 00:08:44,643.643 INFO    ] Checking for system updates...
[2026-10-20 00:08:44,685.685 INFO    ] 200
[2026-10-20 00:08:44,688.688 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:08:44,745.745 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:08:44,748.748 INFO    ] No update needed
[2026-10-20 00:08:44,751.751 INFO    ] Checking for camera pi updates...
[2026-10-20 00:08:44,786.786 INFO    ] 200
[2026-10-20 00:08:44,789.789 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:08:44,829.829 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:08:44,874.874 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:08:44,876.876 INFO    ] No camera update needed
[2026-10-20 00:08:44,879.879 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:08:44,881.881 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:08:44,886.886 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:08:44,891.891 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:08:46,933.933 INFO    ] ================================================
[2026-10-20 00:08:46,949.949 INFO    ] Launching Daemon at Tue Oct 20 00:08:46 IST 2026
[2026-10-20 00:08:46,961.961 INFO    ] ================================================
[2026-10-20 00:08:47,533.533 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:08:47
[2026-10-20 00:08:48,121.121 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:08:48,381.381 INFO    ] Initializing speech engine...
[2026-10-20 00:08:48,397.397 INFO    ] 2026-10-20 00:08:48
[2026-10-20 00:08:48,652.652 INFO    ] 2026-10-20 00:08:48
[2026-10-20 00:08:48,686.686 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:08:48,884.884 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:08:48,922.922 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:08:49,119.119 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:08:49,125.125 INFO    ] time= 20/10/2026 00:08:49
[2026-10-20 00:08:49,180.180 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:08:49,229.229 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:08:49,335.335 INFO    ] No existing commands found in stream
[2026-10-20 00:08:54,347.347 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:08:54,349.349 INFO    ] Waiting 3.28 seconds before fallback handling...
[2026-10-20 00:08:58,428.428 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 00:08:58,431.431 INFO    ] Checking for system updates...
[2026-10-20 00:08:58,469.469 INFO    ] 200
[2026-10-20 00:08:58,472.472 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:08:58,579.579 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:08:58,581.581 INFO    ] No update needed
[2026-10-20 00:08:58,584.584 INFO    ] Checking for camera pi updates...
[2026-10-20 00:08:58,623.623 INFO    ] 200
[2026-10-20 00:08:58,626.626 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:08:58,671.671 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:08:58,724.724 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:08:58,727.727 INFO    ] No camera update needed
[2026-10-20 00:08:58,729.729 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:08:58,731.731 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:08:58,737.737 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:08:58,742.742 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:09:00,784.784 INFO    ] ================================================
[2026-10-20 00:09:00,800.800 INFO    ] Launching Daemon at Tue Oct 20 00:09:00 IST 2026
[2026-10-20 00:09:00,811.811 INFO    ] ================================================
[2026-10-20 00:09:01,403.403 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:09:01
[2026-10-20 00:09:02,121.121 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:09:02,470.470 INFO    ] Initializing speech engine...
[2026-10-20 00:09:02,492.492 INFO    ] 2026-10-20 00:09:02
[2026-10-20 00:09:02,828.828 INFO    ] 2026-10-20 00:09:02
[2026-10-20 00:09:02,913.913 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:09:03,149.149 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:09:03,164.164 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:09:03,378.378 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:09:03,387.387 INFO    ] time= 20/10/2026 00:09:03
[2026-10-20 00:09:03,406.406 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:09:03,417.417 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:09:03,525.525 INFO    ] No existing commands found in stream
[2026-10-20 00:09:08,553.553 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:09:08,555.555 INFO    ] Waiting 3.64 seconds before fallback handling...
[2026-10-20 00:09:12,717.717 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 00:09:12,720.720 INFO    ] Checking for system updates...
[2026-10-20 00:09:12,755.755 INFO    ] 200
[2026-10-20 00:09:12,757.757 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:09:12,815.815 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:09:12,817.817 INFO    ] No update needed
[2026-10-20 00:09:12,820.820 INFO    ] Checking for camera pi updates...
[2026-10-20 00:09:12,856.856 INFO    ] 200
[2026-10-20 00:09:12,858.858 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:09:12,897.897 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:09:13,050.050 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:09:13,052.052 INFO    ] No camera update needed
[2026-10-20 00:09:13,055.055 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:09:13,057.057 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:09:13,062.062 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:09:13,067.067 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:09:15,109.109 INFO    ] ================================================
[2026-10-20 00:09:15,125.125 INFO    ] Launching Daemon at Tue Oct 20 00:09:15 IST 2026
[2026-10-20 00:09:15,137.137 INFO    ] ================================================
[2026-10-20 00:09:15,777.777 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:09:15
[2026-10-20 00:09:16,437.437 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:09:16,738.738 INFO    ] Initializing speech engine...
[2026-10-20 00:09:16,752.752 INFO    ] 2026-10-20 00:09:16
[2026-10-20 00:09:17,058.058 INFO    ] 2026-10-20 00:09:17
[2026-10-20 00:09:17,146.146 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:09:17,355.355 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:09:17,363.363 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:09:17,555.555 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:09:17,567.567 INFO    ] time= 20/10/2026 00:09:17
[2026-10-20 00:09:17,586.586 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:09:17,615.615 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:09:17,741.741 INFO    ] No existing commands found in stream
[2026-10-20 00:09:22,777.777 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:09:22,781.781 INFO    ] Waiting 2.09 seconds before fallback handling...
[2026-10-20 00:09:25,380.380 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:09:25,383.383 INFO    ] Checking for system updates...
[2026-10-20 00:09:25,423.423 INFO    ] 200
[2026-10-20 00:09:25,426.426 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:09:25,482.482 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:09:25,484.484 INFO    ] No update needed
[2026-10-20 00:09:25,487.487 INFO    ] Checking for camera pi updates...
[2026-10-20 00:09:25,521.521 INFO    ] 200
[2026-10-20 00:09:25,524.524 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:09:25,569.569 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:09:25,618.618 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:09:25,621.621 INFO    ] No camera update needed
[2026-10-20 00:09:25,623.623 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:09:25,625.625 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:09:25,631.631 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:09:25,635.635 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:09:27,675.675 INFO    ] ================================================
[2026-10-20 00:09:27,691.691 INFO    ] Launching Daemon at Tue Oct 20 00:09:27 IST 2026
[2026-10-20 00:09:27,702.702 INFO    ] ================================================
[2026-10-20 00:09:28,268.268 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:09:28
[2026-10-20 00:09:28,849.849 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:09:29,097.097 INFO    ] Initializing speech engine...
[2026-10-20 00:09:29,110.110 INFO    ] 2026-10-20 00:09:29
[2026-10-20 00:09:29,389.389 INFO    ] 2026-10-20 00:09:29
[2026-10-20 00:09:29,429.429 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:09:29,665.665 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:09:29,687.687 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:09:29,901.901 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:09:29,955.955 INFO    ] time= 20/10/2026 00:09:29
[2026-10-20 00:09:29,962.962 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:09:29,980.980 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:09:30,106.106 INFO    ] No existing commands found in stream
[2026-10-20 00:09:35,122.122 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:09:35,125.125 INFO    ] Waiting 3.91 seconds before fallback handling...
[2026-10-20 00:09:39,595.595 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:09:39,598.598 INFO    ] Checking for system updates...
[2026-10-20 00:09:39,638.638 INFO    ] 200
[2026-10-20 00:09:39,641.641 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:09:39,693.693 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:09:39,695.695 INFO    ] No update needed
[2026-10-20 00:09:39,698.698 INFO    ] Checking for camera pi updates...
[2026-10-20 00:09:39,732.732 INFO    ] 200
[2026-10-20 00:09:39,735.735 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:09:39,779.779 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:09:39,828.828 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:09:39,831.831 INFO    ] No camera update needed
[2026-10-20 00:09:39,833.833 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:09:39,836.836 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:09:39,843.843 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:09:39,848.848 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:09:41,889.889 INFO    ] ================================================
[2026-10-20 00:09:41,904.904 INFO    ] Launching Daemon at Tue Oct 20 00:09:41 IST 2026
[2026-10-20 00:09:41,915.915 INFO    ] ================================================
[2026-10-20 00:09:42,481.481 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:09:42
[2026-10-20 00:09:43,066.066 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:09:43,318.318 INFO    ] Initializing speech engine...
[2026-10-20 00:09:43,327.327 INFO    ] 2026-10-20 00:09:43
[2026-10-20 00:09:43,602.602 INFO    ] 2026-10-20 00:09:43
[2026-10-20 00:09:43,636.636 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:09:43,833.833 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:09:43,847.847 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:09:43,995.995 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:09:44,057.057 INFO    ] time= 20/10/2026 00:09:44
[2026-10-20 00:09:44,073.073 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:09:44,127.127 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:09:44,221.221 INFO    ] No existing commands found in stream
[2026-10-20 00:09:49,231.231 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:09:49,233.233 INFO    ] Waiting 1.37 seconds before fallback handling...
[2026-10-20 00:09:51,117.117 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:09:51,119.119 INFO    ] Checking for system updates...
[2026-10-20 00:09:51,154.154 INFO    ] 200
[2026-10-20 00:09:51,156.156 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:09:51,210.210 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:09:51,213.213 INFO    ] No update needed
[2026-10-20 00:09:51,215.215 INFO    ] Checking for camera pi updates...
[2026-10-20 00:09:51,248.248 INFO    ] 200
[2026-10-20 00:09:51,251.251 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:09:51,291.291 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:09:51,331.331 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:09:51,333.333 INFO    ] No camera update needed
[2026-10-20 00:09:51,335.335 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:09:51,338.338 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:09:51,343.343 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:09:51,348.348 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:09:53,389.389 INFO    ] ================================================
[2026-10-20 00:09:53,404.404 INFO    ] Launching Daemon at Tue Oct 20 00:09:53 IST 2026
[2026-10-20 00:09:53,416.416 INFO    ] ================================================
[2026-10-20 00:09:54,056.056 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:09:54
[2026-10-20 00:09:54,716.716 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:09:55,019.019 INFO    ] Initializing speech engine...
[2026-10-20 00:09:55,030.030 INFO    ] 2026-10-20 00:09:55
[2026-10-20 00:09:55,306.306 INFO    ] 2026-10-20 00:09:55
[2026-10-20 00:09:55,352.352 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:09:55,603.603 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:09:55,627.627 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:09:55,832.832 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:09:55,845.845 INFO    ] time= 20/10/2026 00:09:55
[2026-10-20 00:09:55,865.865 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:09:55,895.895 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:09:56,010.010 INFO    ] No existing commands found in stream
[2026-10-20 00:10:01,031.031 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:10:01,034.034 INFO    ] Waiting 2.82 seconds before fallback handling...
[2026-10-20 00:10:07,934.934 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 00:10:07,936.936 INFO    ] Checking for system updates...
[2026-10-20 00:10:07,972.972 INFO    ] 200
[2026-10-20 00:10:07,974.974 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:10:08,031.031 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:10:08,033.033 INFO    ] No update needed
[2026-10-20 00:10:08,036.036 INFO    ] Checking for camera pi updates...
[2026-10-20 00:10:08,073.073 INFO    ] 200
[2026-10-20 00:10:08,075.075 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:10:08,114.114 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:10:08,147.147 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:10:08,149.149 INFO    ] No camera update needed
[2026-10-20 00:10:08,152.152 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:10:08,154.154 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:10:08,159.159 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:10:08,164.164 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:10:10,205.205 INFO    ] ================================================
[2026-10-20 00:10:10,220.220 INFO    ] Launching Daemon at Tue Oct 20 00:10:10 IST 2026
[2026-10-20 00:10:10,231.231 INFO    ] ================================================
[2026-10-20 00:10:10,872.872 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:10:10
[2026-10-20 00:10:11,531.531 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:10:11,830.830 INFO    ] Initializing speech engine...
[2026-10-20 00:10:11,839.839 INFO    ] 2026-10-20 00:10:11
[2026-10-20 00:10:12,126.126 INFO    ] 2026-10-20 00:10:12
[2026-10-20 00:10:12,171.171 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:10:12,402.402 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:10:12,407.407 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:10:12,630.630 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:10:12,670.670 INFO    ] time= 20/10/2026 00:10:12
[2026-10-20 00:10:12,676.676 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:10:12,695.695 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:10:12,829.829 INFO    ] No existing commands found in stream
[2026-10-20 00:10:17,842.842 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:10:17,845.845 INFO    ] Waiting 1.49 seconds before fallback handling...
[2026-10-20 00:10:19,848.848 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:10:19,851.851 INFO    ] Checking for system updates...
[2026-10-20 00:10:19,891.891 INFO    ] 200
[2026-10-20 00:10:19,894.894 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:10:19,958.958 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:10:19,961.961 INFO    ] No update needed
[2026-10-20 00:10:19,964.964 INFO    ] Checking for camera pi updates...
[2026-10-20 00:10:19,998.998 INFO    ] 200
[2026-10-20 00:10:20,001.001 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:10:20,042.042 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:10:20,099.099 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:10:20,102.102 INFO    ] No camera update needed
[2026-10-20 00:10:20,105.105 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:10:20,107.107 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:10:20,113.113 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:10:20,119.119 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:10:22,160.160 INFO    ] ================================================
[2026-10-20 00:10:22,176.176 INFO    ] Launching Daemon at Tue Oct 20 00:10:22 IST 2026
[2026-10-20 00:10:22,186.186 INFO    ] ================================================
[2026-10-20 00:10:22,812.812 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:10:22
[2026-10-20 00:10:23,467.467 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:10:23,773.773 INFO    ] Initializing speech engine...
[2026-10-20 00:10:23,781.781 INFO    ] 2026-10-20 00:10:23
[2026-10-20 00:10:24,067.067 INFO    ] 2026-10-20 00:10:24
[2026-10-20 00:10:24,113.113 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:10:24,346.346 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:10:24,351.351 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:10:24,564.564 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:10:24,614.614 INFO    ] time= 20/10/2026 00:10:24
[2026-10-20 00:10:24,631.631 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:10:24,641.641 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:10:24,776.776 INFO    ] No existing commands found in stream
[2026-10-20 00:10:29,808.808 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:10:29,811.811 INFO    ] Waiting 1.76 seconds before fallback handling...
[2026-10-20 00:10:32,152.152 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 00:10:32,155.155 INFO    ] Checking for system updates...
[2026-10-20 00:10:32,194.194 INFO    ] 200
[2026-10-20 00:10:32,196.196 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:10:32,252.252 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:10:32,254.254 INFO    ] No update needed
[2026-10-20 00:10:32,256.256 INFO    ] Checking for camera pi updates...
[2026-10-20 00:10:32,298.298 INFO    ] 200
[2026-10-20 00:10:32,301.301 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:10:32,344.344 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:10:32,380.380 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:10:32,382.382 INFO    ] No camera update needed
[2026-10-20 00:10:32,385.385 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:10:32,388.388 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:10:32,394.394 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:10:32,401.401 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:10:34,440.440 INFO    ] ================================================
[2026-10-20 00:10:34,455.455 INFO    ] Launching Daemon at Tue Oct 20 00:10:34 IST 2026
[2026-10-20 00:10:34,466.466 INFO    ] ================================================
[2026-10-20 00:10:35,032.032 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:10:35
[2026-10-20 00:10:35,614.614 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:10:35,884.884 INFO    ] Initializing speech engine...
[2026-10-20 00:10:35,892.892 INFO    ] 2026-10-20 00:10:35
[2026-10-20 00:10:36,141.141 INFO    ] 2026-10-20 00:10:36
[2026-10-20 00:10:36,176.176 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:10:36,427.427 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:10:36,445.445 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:10:36,646.646 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:10:36,708.708 INFO    ] time= 20/10/2026 00:10:36
[2026-10-20 00:10:36,715.715 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:10:36,733.733 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:10:36,857.857 INFO    ] No existing commands found in stream
[2026-10-20 00:10:41,878.878 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:10:41,881.881 INFO    ] Waiting 0.69 seconds before fallback handling...
[2026-10-20 00:10:43,055.055 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:10:43,057.057 INFO    ] Checking for system updates...
[2026-10-20 00:10:43,092.092 INFO    ] 200
[2026-10-20 00:10:43,095.095 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:10:43,150.150 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:10:43,153.153 INFO    ] No update needed
[2026-10-20 00:10:43,155.155 INFO    ] Checking for camera pi updates...
[2026-10-20 00:10:43,192.192 INFO    ] 200
[2026-10-20 00:10:43,195.195 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:10:43,238.238 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:10:43,285.285 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:10:43,287.287 INFO    ] No camera update needed
[2026-10-20 00:10:43,290.290 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:10:43,292.292 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:10:43,297.297 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:10:43,302.302 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:10:45,343.343 INFO    ] ================================================
[2026-10-20 00:10:45,358.358 INFO    ] Launching Daemon at Tue Oct 20 00:10:45 IST 2026
[2026-10-20 00:10:45,369.369 INFO    ] ================================================
[2026-10-20 00:10:46,010.010 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:10:46
[2026-10-20 00:10:46,672.672 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:10:46,977.977 INFO    ] Initializing speech engine...
[2026-10-20 00:10:46,986.986 INFO    ] 2026-10-20 00:10:46
[2026-10-20 00:10:47,273.273 INFO    ] 2026-10-20 00:10:47
[2026-10-20 00:10:47,320.320 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:10:47,612.612 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:10:47,617.617 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:10:47,816.816 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:10:47,823.823 INFO    ] time= 20/10/2026 00:10:47
[2026-10-20 00:10:47,843.843 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:10:47,860.860 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:10:48,017.017 INFO    ] No existing commands found in stream
[2026-10-20 00:10:53,048.048 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:10:53,051.051 INFO    ] Waiting 2.25 seconds before fallback handling...
[2026-10-20 00:10:55,835.835 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:10:55,838.838 INFO    ] Checking for system updates...
[2026-10-20 00:10:55,878.878 INFO    ] 200
[2026-10-20 00:10:55,880.880 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:10:55,933.933 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:10:55,935.935 INFO    ] No update needed
[2026-10-20 00:10:55,938.938 INFO    ] Checking for camera pi updates...
[2026-10-20 00:10:55,971.971 INFO    ] 200
[2026-10-20 00:10:55,973.973 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:10:56,019.019 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:10:56,071.071 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:10:56,073.073 INFO    ] No camera update needed
[2026-10-20 00:10:56,076.076 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:10:56,078.078 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:10:56,083.083 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:10:56,088.088 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:10:58,127.127 INFO    ] ================================================
[2026-10-20 00:10:58,142.142 INFO    ] Launching Daemon at Tue Oct 20 00:10:58 IST 2026
[2026-10-20 00:10:58,153.153 INFO    ] ================================================
[2026-10-20 00:10:58,733.733 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:10:58
[2026-10-20 00:10:59,332.332 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:10:59,609.609 INFO    ] Initializing speech engine...
[2026-10-20 00:10:59,615.615 INFO    ] 2026-10-20 00:10:59
[2026-10-20 00:10:59,877.877 INFO    ] 2026-10-20 00:10:59
[2026-10-20 00:10:59,907.907 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:11:00,152.152 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:11:00,161.161 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:11:00,370.370 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:11:00,418.418 INFO    ] time= 20/10/2026 00:11:00
[2026-10-20 00:11:00,424.424 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:11:00,439.439 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:11:00,551.551 INFO    ] No existing commands found in stream
[2026-10-20 00:11:05,579.579 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:11:05,582.582 INFO    ] Waiting 2.83 seconds before fallback handling...
[2026-10-20 00:11:08,913.913 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:11:08,916.916 INFO    ] Checking for system updates...
[2026-10-20 00:11:08,951.951 INFO    ] 200
[2026-10-20 00:11:08,954.954 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:11:09,006.006 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:11:09,009.009 INFO    ] No update needed
[2026-10-20 00:11:09,011.011 INFO    ] Checking for camera pi updates...
[2026-10-20 00:11:09,048.048 INFO    ] 200
[2026-10-20 00:11:09,051.051 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:11:09,095.095 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:11:09,144.144 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:11:09,146.146 INFO    ] No camera update needed
[2026-10-20 00:11:09,149.149 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:11:09,151.151 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:11:09,157.157 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:11:09,162.162 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:11:11,202.202 INFO    ] ================================================
[2026-10-20 00:11:11,217.217 INFO    ] Launching Daemon at Tue Oct 20 00:11:11 IST 2026
[2026-10-20 00:11:11,228.228 INFO    ] ================================================
[2026-10-20 00:11:11,871.871 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:11:11
[2026-10-20 00:11:12,466.466 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:11:12,740.740 INFO    ] Initializing speech engine...
[2026-10-20 00:11:12,749.749 INFO    ] 2026-10-20 00:11:12
[2026-10-20 00:11:13,004.004 INFO    ] 2026-10-20 00:11:12
[2026-10-20 00:11:13,040.040 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:11:13,292.292 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:11:13,313.313 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:11:13,518.518 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:11:13,550.550 INFO    ] time= 20/10/2026 00:11:13
[2026-10-20 00:11:13,556.556 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:11:13,574.574 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:11:13,701.701 INFO    ] No existing commands found in stream
[2026-10-20 00:11:18,715.715 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:11:18,718.718 INFO    ] Waiting 2.91 seconds before fallback handling...
[2026-10-20 00:11:22,142.142 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:11:22,145.145 INFO    ] Checking for system updates...
[2026-10-20 00:11:22,180.180 INFO    ] 200
[2026-10-20 00:11:22,183.183 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:11:22,241.241 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:11:22,243.243 INFO    ] No update needed
[2026-10-20 00:11:22,246.246 INFO    ] Checking for camera pi updates...
[2026-10-20 00:11:22,280.280 INFO    ] 200
[2026-10-20 00:11:22,283.283 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:11:22,325.325 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:11:22,469.469 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:11:22,473.473 INFO    ] No camera update needed
[2026-10-20 00:11:22,476.476 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:11:22,479.479 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:11:22,485.485 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:11:22,491.491 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:11:24,532.532 INFO    ] ================================================
[2026-10-20 00:11:24,547.547 INFO    ] Launching Daemon at Tue Oct 20 00:11:24 IST 2026
[2026-10-20 00:11:24,558.558 INFO    ] ================================================
[2026-10-20 00:11:25,163.163 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:11:25
[2026-10-20 00:11:25,815.815 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:11:26,132.132 INFO    ] Initializing speech engine...
[2026-10-20 00:11:26,141.141 INFO    ] 2026-10-20 00:11:26
[2026-10-20 00:11:26,444.444 INFO    ] 2026-10-20 00:11:26
[2026-10-20 00:11:26,531.531 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:11:26,740.740 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:11:26,749.749 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:11:26,945.945 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:11:26,965.965 INFO    ] time= 20/10/2026 00:11:26
[2026-10-20 00:11:26,980.980 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:11:27,004.004 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:11:27,132.132 INFO    ] No existing commands found in stream
[2026-10-20 00:11:32,162.162 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:11:32,166.166 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-10-20 00:11:34,708.708 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:11:34,711.711 INFO    ] Checking for system updates...
[2026-10-20 00:11:34,752.752 INFO    ] 200
[2026-10-20 00:11:34,755.755 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:11:34,807.807 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:11:34,810.810 INFO    ] No update needed
[2026-10-20 00:11:34,813.813 INFO    ] Checking for camera pi updates...
[2026-10-20 00:11:34,861.861 INFO    ] 200
[2026-10-20 00:11:34,864.864 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:11:34,912.912 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:11:34,961.961 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:11:34,964.964 INFO    ] No camera update needed
[2026-10-20 00:11:34,967.967 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:11:34,969.969 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:11:34,975.975 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:11:34,981.981 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:11:37,023.023 INFO    ] ================================================
[2026-10-20 00:11:37,039.039 INFO    ] Launching Daemon at Tue Oct 20 00:11:37 IST 2026
[2026-10-20 00:11:37,050.050 INFO    ] ================================================
[2026-10-20 00:11:37,711.711 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:11:37
[2026-10-20 00:11:38,296.296 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:11:38,546.546 INFO    ] Initializing speech engine...
[2026-10-20 00:11:38,559.559 INFO    ] 2026-10-20 00:11:38
[2026-10-20 00:11:38,827.827 INFO    ] 2026-10-20 00:11:38
[2026-10-20 00:11:38,863.863 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:11:39,120.120 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:11:39,129.129 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:11:39,321.321 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:11:39,376.376 INFO    ] time= 20/10/2026 00:11:39
[2026-10-20 00:11:39,399.399 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:11:39,405.405 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:11:39,533.533 INFO    ] No existing commands found in stream
[2026-10-20 00:11:44,561.561 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:11:44,563.563 INFO    ] Waiting 3.76 seconds before fallback handling...
[2026-10-20 00:11:48,860.860 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:11:48,863.863 INFO    ] Checking for system updates...
[2026-10-20 00:11:48,902.902 INFO    ] 200
[2026-10-20 00:11:48,905.905 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:11:48,958.958 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:11:48,960.960 INFO    ] No update needed
[2026-10-20 00:11:48,963.963 INFO    ] Checking for camera pi updates...
[2026-10-20 00:11:49,004.004 INFO    ] 200
[2026-10-20 00:11:49,006.006 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:11:49,051.051 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:11:49,110.110 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:11:49,112.112 INFO    ] No camera update needed
[2026-10-20 00:11:49,114.114 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:11:49,117.117 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:11:49,122.122 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:11:49,127.127 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:11:51,170.170 INFO    ] ================================================
[2026-10-20 00:11:51,185.185 INFO    ] Launching Daemon at Tue Oct 20 00:11:51 IST 2026
[2026-10-20 00:11:51,196.196 INFO    ] ================================================
[2026-10-20 00:11:51,769.769 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:11:51
[2026-10-20 00:11:52,357.357 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:11:52,619.619 INFO    ] Initializing speech engine...
[2026-10-20 00:11:52,633.633 INFO    ] 2026-10-20 00:11:52
[2026-10-20 00:11:52,917.917 INFO    ] 2026-10-20 00:11:52
[2026-10-20 00:11:52,956.956 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:11:53,181.181 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:11:53,194.194 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:11:53,411.411 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:11:53,418.418 INFO    ] time= 20/10/2026 00:11:53
[2026-10-20 00:11:53,478.478 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:11:53,533.533 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:11:53,709.709 INFO    ] No existing commands found in stream
[2026-10-20 00:11:58,734.734 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:11:58,736.736 INFO    ] Waiting 3.23 seconds before fallback handling...
[2026-10-20 00:12:02,557.557 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:12:02,560.560 INFO    ] Checking for system updates...
[2026-10-20 00:12:02,616.616 INFO    ] 200
[2026-10-20 00:12:02,618.618 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:12:02,671.671 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:12:02,674.674 INFO    ] No update needed
[2026-10-20 00:12:02,677.677 INFO    ] Checking for camera pi updates...
[2026-10-20 00:12:02,717.717 INFO    ] 200
[2026-10-20 00:12:02,720.720 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:12:02,760.760 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:12:02,793.793 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:12:02,795.795 INFO    ] No camera update needed
[2026-10-20 00:12:02,797.797 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:12:02,800.800 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:12:02,805.805 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:12:02,811.811 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:12:04,852.852 INFO    ] ================================================
[2026-10-20 00:12:04,868.868 INFO    ] Launching Daemon at Tue Oct 20 00:12:04 IST 2026
[2026-10-20 00:12:04,878.878 INFO    ] ================================================
[2026-10-20 00:12:05,452.452 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:12:05
[2026-10-20 00:12:06,039.039 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:12:06,322.322 INFO    ] Initializing speech engine...
[2026-10-20 00:12:06,330.330 INFO    ] 2026-10-20 00:12:06
[2026-10-20 00:12:06,576.576 INFO    ] 2026-10-20 00:12:06
[2026-10-20 00:12:06,619.619 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:12:06,870.870 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:12:06,875.875 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:12:07,096.096 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:12:07,133.133 INFO    ] time= 20/10/2026 00:12:07
[2026-10-20 00:12:07,139.139 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:12:07,156.156 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:12:07,287.287 INFO    ] No existing commands found in stream
[2026-10-20 00:12:12,302.302 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:12:12,305.305 INFO    ] Waiting 1.26 seconds before fallback handling...
[2026-10-20 00:12:14,083.083 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 00:12:14,086.086 INFO    ] Checking for system updates...
[2026-10-20 00:12:14,121.121 INFO    ] 200
[2026-10-20 00:12:14,123.123 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:12:14,174.174 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:12:14,177.177 INFO    ] No update needed
[2026-10-20 00:12:14,179.179 INFO    ] Checking for camera pi updates...
[2026-10-20 00:12:14,215.215 INFO    ] 200
[2026-10-20 00:12:14,217.217 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:12:14,257.257 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:12:14,303.303 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:12:14,306.306 INFO    ] No camera update needed
[2026-10-20 00:12:14,308.308 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:12:14,310.310 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:12:14,316.316 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:12:14,321.321 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:12:16,363.363 INFO    ] ================================================
[2026-10-20 00:12:16,378.378 INFO    ] Launching Daemon at Tue Oct 20 00:12:16 IST 2026
[2026-10-20 00:12:16,388.388 INFO    ] ================================================
[2026-10-20 00:12:16,970.970 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:12:16
[2026-10-20 00:12:17,568.568 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:12:17,841.841 INFO    ] Initializing speech engine...
[2026-10-20 00:12:17,850.850 INFO    ] 2026-10-20 00:12:17
[2026-10-20 00:12:18,104.104 INFO    ] 2026-10-20 00:12:18
[2026-10-20 00:12:18,140.140 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:12:18,390.390 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:12:18,395.395 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:12:18,534.534 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:12:18,593.593 INFO    ] time= 20/10/2026 00:12:18
[2026-10-20 00:12:18,657.657 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:12:18,664.664 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:12:18,811.811 INFO    ] No existing commands found in stream
[2026-10-20 00:12:23,825.825 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:12:23,828.828 INFO    ] Waiting 1.11 seconds before fallback handling...
[2026-10-20 00:12:25,441.441 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 00:12:25,443.443 INFO    ] Checking for system updates...
[2026-10-20 00:12:25,479.479 INFO    ] 200
[2026-10-20 00:12:25,482.482 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:12:25,539.539 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:12:25,541.541 INFO    ] No update needed
[2026-10-20 00:12:25,544.544 INFO    ] Checking for camera pi updates...
[2026-10-20 00:12:25,580.580 INFO    ] 200
[2026-10-20 00:12:25,583.583 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:12:25,627.627 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:12:25,674.674 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:12:25,677.677 INFO    ] No camera update needed
[2026-10-20 00:12:25,679.679 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:12:25,682.682 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:12:25,688.688 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:12:25,693.693 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:12:27,734.734 INFO    ] ================================================
[2026-10-20 00:12:27,749.749 INFO    ] Launching Daemon at Tue Oct 20 00:12:27 IST 2026
[2026-10-20 00:12:27,760.760 INFO    ] ================================================
[2026-10-20 00:12:28,331.331 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:12:28
[2026-10-20 00:12:28,916.916 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:12:29,188.188 INFO    ] Initializing speech engine...
[2026-10-20 00:12:29,197.197 INFO    ] 2026-10-20 00:12:29
[2026-10-20 00:12:29,443.443 INFO    ] 2026-10-20 00:12:29
[2026-10-20 00:12:29,479.479 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:12:29,683.683 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:12:29,741.741 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:12:29,891.891 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:12:29,956.956 INFO    ] time= 20/10/2026 00:12:29
[2026-10-20 00:12:30,005.005 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:12:30,023.023 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:12:30,178.178 INFO    ] No existing commands found in stream
[2026-10-20 00:12:35,203.203 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:12:35,206.206 INFO    ] Waiting 2.87 seconds before fallback handling...
[2026-10-20 00:12:38,594.594 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 00:12:38,597.597 INFO    ] Checking for system updates...
[2026-10-20 00:12:38,632.632 INFO    ] 200
[2026-10-20 00:12:38,635.635 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:12:38,693.693 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:12:38,696.696 INFO    ] No update needed
[2026-10-20 00:12:38,698.698 INFO    ] Checking for camera pi updates...
[2026-10-20 00:12:38,732.732 INFO    ] 200
[2026-10-20 00:12:38,734.734 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:12:38,775.775 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:12:38,819.819 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:12:38,821.821 INFO    ] No camera update needed
[2026-10-20 00:12:38,823.823 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:12:38,825.825 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:12:38,831.831 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:12:38,836.836 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:12:40,878.878 INFO    ] ================================================
[2026-10-20 00:12:40,894.894 INFO    ] Launching Daemon at Tue Oct 20 00:12:40 IST 2026
[2026-10-20 00:12:40,905.905 INFO    ] ================================================
[2026-10-20 00:12:41,487.487 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:12:41
[2026-10-20 00:12:42,086.086 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:12:42,362.362 INFO    ] Initializing speech engine...
[2026-10-20 00:12:42,373.373 INFO    ] 2026-10-20 00:12:42
[2026-10-20 00:12:42,629.629 INFO    ] 2026-10-20 00:12:42
[2026-10-20 00:12:42,659.659 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:12:42,930.930 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:12:42,938.938 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:12:43,135.135 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:12:43,174.174 INFO    ] time= 20/10/2026 00:12:43
[2026-10-20 00:12:43,191.191 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:12:43,199.199 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:12:43,327.327 INFO    ] No existing commands found in stream
[2026-10-20 00:12:48,342.342 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:12:48,345.345 INFO    ] Waiting 0.43 seconds before fallback handling...
[2026-10-20 00:12:49,305.305 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 00:12:49,308.308 INFO    ] Checking for system updates...
[2026-10-20 00:12:49,344.344 INFO    ] 200
[2026-10-20 00:12:49,346.346 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:12:49,398.398 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:12:49,401.401 INFO    ] No update needed
[2026-10-20 00:12:49,403.403 INFO    ] Checking for camera pi updates...
[2026-10-20 00:12:49,436.436 INFO    ] 200
[2026-10-20 00:12:49,439.439 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:12:49,479.479 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:12:49,528.528 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:12:49,530.530 INFO    ] No camera update needed
[2026-10-20 00:12:49,533.533 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:12:49,535.535 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:12:49,541.541 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:12:49,546.546 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:12:51,588.588 INFO    ] ================================================
[2026-10-20 00:12:51,603.603 INFO    ] Launching Daemon at Tue Oct 20 00:12:51 IST 2026
[2026-10-20 00:12:51,613.613 INFO    ] ================================================
[2026-10-20 00:12:52,251.251 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:12:52
[2026-10-20 00:12:52,908.908 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:12:53,210.210 INFO    ] Initializing speech engine...
[2026-10-20 00:12:53,223.223 INFO    ] 2026-10-20 00:12:53
[2026-10-20 00:12:53,536.536 INFO    ] 2026-10-20 00:12:53
[2026-10-20 00:12:53,619.619 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:12:53,847.847 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:12:53,903.903 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:12:54,052.052 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:12:54,083.083 INFO    ] time= 20/10/2026 00:12:54
[2026-10-20 00:12:54,092.092 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:12:54,103.103 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:12:54,223.223 INFO    ] No existing commands found in stream
[2026-10-20 00:12:59,254.254 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:12:59,257.257 INFO    ] Waiting 1.39 seconds before fallback handling...
[2026-10-20 00:13:01,192.192 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:13:01,196.196 INFO    ] Checking for system updates...
[2026-10-20 00:13:01,264.264 INFO    ] 200
[2026-10-20 00:13:01,268.268 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:13:01,355.355 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:13:01,359.359 INFO    ] No update needed
[2026-10-20 00:13:01,363.363 INFO    ] Checking for camera pi updates...
[2026-10-20 00:13:01,441.441 INFO    ] 200
[2026-10-20 00:13:01,449.449 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:13:01,523.523 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:13:01,584.584 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:13:01,587.587 INFO    ] No camera update needed
[2026-10-20 00:13:01,590.590 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:13:01,593.593 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:13:01,599.599 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:13:01,604.604 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:13:03,646.646 INFO    ] ================================================
[2026-10-20 00:13:03,661.661 INFO    ] Launching Daemon at Tue Oct 20 00:13:03 IST 2026
[2026-10-20 00:13:03,672.672 INFO    ] ================================================
[2026-10-20 00:13:04,250.250 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:13:04
[2026-10-20 00:13:04,850.850 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:13:05,110.110 INFO    ] Initializing speech engine...
[2026-10-20 00:13:05,119.119 INFO    ] 2026-10-20 00:13:05
[2026-10-20 00:13:05,422.422 INFO    ] 2026-10-20 00:13:05
[2026-10-20 00:13:05,460.460 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:13:05,683.683 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:13:05,692.692 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:13:05,844.844 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:13:05,893.893 INFO    ] time= 20/10/2026 00:13:05
[2026-10-20 00:13:05,920.920 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:13:05,927.927 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:13:06,063.063 INFO    ] No existing commands found in stream
[2026-10-20 00:13:11,080.080 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:13:11,083.083 INFO    ] Waiting 2.62 seconds before fallback handling...
[2026-10-20 00:13:15,212.212 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 00:13:15,214.214 INFO    ] Checking for system updates...
[2026-10-20 00:13:15,253.253 INFO    ] 200
[2026-10-20 00:13:15,256.256 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:13:15,323.323 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:13:15,326.326 INFO    ] No update needed
[2026-10-20 00:13:15,328.328 INFO    ] Checking for camera pi updates...
[2026-10-20 00:13:15,363.363 INFO    ] 200
[2026-10-20 00:13:15,365.365 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:13:15,405.405 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:13:15,453.453 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:13:15,455.455 INFO    ] No camera update needed
[2026-10-20 00:13:15,458.458 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:13:15,460.460 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:13:15,466.466 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:13:15,471.471 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:13:17,511.511 INFO    ] ================================================
[2026-10-20 00:13:17,526.526 INFO    ] Launching Daemon at Tue Oct 20 00:13:17 IST 2026
[2026-10-20 00:13:17,537.537 INFO    ] ================================================
[2026-10-20 00:13:18,192.192 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:13:18
[2026-10-20 00:13:18,863.863 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:13:19,173.173 INFO    ] Initializing speech engine...
[2026-10-20 00:13:19,185.185 INFO    ] 2026-10-20 00:13:19
[2026-10-20 00:13:19,457.457 INFO    ] 2026-10-20 00:13:19
[2026-10-20 00:13:19,515.515 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:13:19,803.803 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:13:19,812.812 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:13:20,012.012 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:13:20,019.019 INFO    ] time= 20/10/2026 00:13:20
[2026-10-20 00:13:20,041.041 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:13:20,070.070 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:13:20,206.206 INFO    ] No existing commands found in stream
[2026-10-20 00:13:25,232.232 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:13:25,235.235 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-10-20 00:13:26,832.832 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:13:26,835.835 INFO    ] Checking for system updates...
[2026-10-20 00:13:26,875.875 INFO    ] 200
[2026-10-20 00:13:26,878.878 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:13:26,932.932 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:13:26,935.935 INFO    ] No update needed
[2026-10-20 00:13:26,937.937 INFO    ] Checking for camera pi updates...
[2026-10-20 00:13:26,972.972 INFO    ] 200
[2026-10-20 00:13:26,975.975 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:13:27,015.015 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:13:27,162.162 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:13:27,164.164 INFO    ] No camera update needed
[2026-10-20 00:13:27,166.166 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:13:27,169.169 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:13:27,174.174 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:13:27,179.179 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:13:29,219.219 INFO    ] ================================================
[2026-10-20 00:13:29,234.234 INFO    ] Launching Daemon at Tue Oct 20 00:13:29 IST 2026
[2026-10-20 00:13:29,244.244 INFO    ] ================================================
[2026-10-20 00:13:29,830.830 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:13:29
[2026-10-20 00:13:30,433.433 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:13:30,699.699 INFO    ] Initializing speech engine...
[2026-10-20 00:13:30,725.725 INFO    ] 2026-10-20 00:13:30
[2026-10-20 00:13:31,001.001 INFO    ] 2026-10-20 00:13:30
[2026-10-20 00:13:31,038.038 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:13:31,257.257 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:13:31,273.273 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:13:31,452.452 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:13:31,457.457 INFO    ] time= 20/10/2026 00:13:31
[2026-10-20 00:13:31,465.465 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:13:31,471.471 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:13:31,621.621 INFO    ] No existing commands found in stream
[2026-10-20 00:13:36,642.642 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:13:36,645.645 INFO    ] Waiting 0.60 seconds before fallback handling...
[2026-10-20 00:13:37,733.733 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 00:13:37,735.735 INFO    ] Checking for system updates...
[2026-10-20 00:13:37,771.771 INFO    ] 200
[2026-10-20 00:13:37,773.773 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:13:37,832.832 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:13:37,835.835 INFO    ] No update needed
[2026-10-20 00:13:37,837.837 INFO    ] Checking for camera pi updates...
[2026-10-20 00:13:37,875.875 INFO    ] 200
[2026-10-20 00:13:37,877.877 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:13:37,920.920 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:13:37,968.968 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:13:37,971.971 INFO    ] No camera update needed
[2026-10-20 00:13:37,974.974 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:13:37,976.976 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:13:37,983.983 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:13:37,988.988 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:13:40,029.029 INFO    ] ================================================
[2026-10-20 00:13:40,044.044 INFO    ] Launching Daemon at Tue Oct 20 00:13:40 IST 2026
[2026-10-20 00:13:40,055.055 INFO    ] ================================================
[2026-10-20 00:13:40,635.635 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:13:40
[2026-10-20 00:13:41,234.234 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:13:41,512.512 INFO    ] Initializing speech engine...
[2026-10-20 00:13:41,521.521 INFO    ] 2026-10-20 00:13:41
[2026-10-20 00:13:41,792.792 INFO    ] 2026-10-20 00:13:41
[2026-10-20 00:13:41,834.834 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:13:42,098.098 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:13:42,121.121 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:13:42,309.309 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:13:42,322.322 INFO    ] time= 20/10/2026 00:13:42
[2026-10-20 00:13:42,337.337 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:13:42,346.346 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:13:42,459.459 INFO    ] No existing commands found in stream
[2026-10-20 00:13:47,484.484 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:13:47,486.486 INFO    ] Waiting 2.24 seconds before fallback handling...
[2026-10-20 00:13:50,265.265 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:13:50,268.268 INFO    ] Checking for system updates...
[2026-10-20 00:13:50,304.304 INFO    ] 200
[2026-10-20 00:13:50,306.306 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:13:50,365.365 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:13:50,368.368 INFO    ] No update needed
[2026-10-20 00:13:50,370.370 INFO    ] Checking for camera pi updates...
[2026-10-20 00:13:50,403.403 INFO    ] 200
[2026-10-20 00:13:50,406.406 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:13:50,470.470 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:13:50,517.517 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:13:50,520.520 INFO    ] No camera update needed
[2026-10-20 00:13:50,522.522 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:13:50,524.524 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:13:50,530.530 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:13:50,534.534 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:13:52,576.576 INFO    ] ================================================
[2026-10-20 00:13:52,592.592 INFO    ] Launching Daemon at Tue Oct 20 00:13:52 IST 2026
[2026-10-20 00:13:52,603.603 INFO    ] ================================================
[2026-10-20 00:13:53,265.265 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:13:53
[2026-10-20 00:13:53,935.935 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:13:54,237.237 INFO    ] Initializing speech engine...
[2026-10-20 00:13:54,251.251 INFO    ] 2026-10-20 00:13:54
[2026-10-20 00:13:54,533.533 INFO    ] 2026-10-20 00:13:54
[2026-10-20 00:13:54,577.577 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:13:54,862.862 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:13:54,869.869 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:13:55,060.060 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:13:55,069.069 INFO    ] time= 20/10/2026 00:13:55
[2026-10-20 00:13:55,091.091 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:13:55,120.120 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:13:55,234.234 INFO    ] No existing commands found in stream
[2026-10-20 00:14:00,264.264 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:14:00,267.267 INFO    ] Waiting 1.31 seconds before fallback handling...
[2026-10-20 00:14:02,122.122 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 00:14:02,125.125 INFO    ] Checking for system updates...
[2026-10-20 00:14:02,169.169 INFO    ] 200
[2026-10-20 00:14:02,172.172 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:14:02,232.232 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:14:02,234.234 INFO    ] No update needed
[2026-10-20 00:14:02,237.237 INFO    ] Checking for camera pi updates...
[2026-10-20 00:14:02,281.281 INFO    ] 200
[2026-10-20 00:14:02,284.284 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:14:02,337.337 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:14:02,372.372 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:14:02,375.375 INFO    ] No camera update needed
[2026-10-20 00:14:02,378.378 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:14:02,381.381 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:14:02,389.389 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:14:02,395.395 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:14:04,437.437 INFO    ] ================================================
[2026-10-20 00:14:04,453.453 INFO    ] Launching Daemon at Tue Oct 20 00:14:04 IST 2026
[2026-10-20 00:14:04,464.464 INFO    ] ================================================
[2026-10-20 00:14:05,045.045 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:14:05
[2026-10-20 00:14:05,646.646 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:14:05,923.923 INFO    ] Initializing speech engine...
[2026-10-20 00:14:05,929.929 INFO    ] 2026-10-20 00:14:05
[2026-10-20 00:14:06,191.191 INFO    ] 2026-10-20 00:14:06
[2026-10-20 00:14:06,243.243 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:14:06,473.473 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:14:06,493.493 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:14:06,710.710 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:14:06,734.734 INFO    ] time= 20/10/2026 00:14:06
[2026-10-20 00:14:06,751.751 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:14:06,759.759 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:14:06,887.887 INFO    ] No existing commands found in stream
[2026-10-20 00:14:11,906.906 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:14:11,909.909 INFO    ] Waiting 2.19 seconds before fallback handling...
[2026-10-20 00:14:14,592.592 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:14:14,594.594 INFO    ] Checking for system updates...
[2026-10-20 00:14:14,634.634 INFO    ] 200
[2026-10-20 00:14:14,636.636 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:14:14,697.697 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:14:14,699.699 INFO    ] No update needed
[2026-10-20 00:14:14,702.702 INFO    ] Checking for camera pi updates...
[2026-10-20 00:14:14,735.735 INFO    ] 200
[2026-10-20 00:14:14,738.738 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:14:14,784.784 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:14:14,840.840 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:14:14,842.842 INFO    ] No camera update needed
[2026-10-20 00:14:14,844.844 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:14:14,847.847 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:14:14,852.852 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:14:14,857.857 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:14:16,899.899 INFO    ] ================================================
[2026-10-20 00:14:16,916.916 INFO    ] Launching Daemon at Tue Oct 20 00:14:16 IST 2026
[2026-10-20 00:14:16,927.927 INFO    ] ================================================
[2026-10-20 00:14:17,545.545 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:14:17
[2026-10-20 00:14:18,232.232 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:14:18,544.544 INFO    ] Initializing speech engine...
[2026-10-20 00:14:18,557.557 INFO    ] 2026-10-20 00:14:18
[2026-10-20 00:14:18,869.869 INFO    ] 2026-10-20 00:14:18
[2026-10-20 00:14:18,957.957 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:14:19,172.172 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:14:19,204.204 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:14:19,374.374 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:14:19,394.394 INFO    ] time= 20/10/2026 00:14:19
[2026-10-20 00:14:19,425.425 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:14:19,436.436 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:14:19,560.560 INFO    ] No existing commands found in stream
[2026-10-20 00:14:24,591.591 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:14:24,595.595 INFO    ] Waiting 1.68 seconds before fallback handling...
[2026-10-20 00:14:26,843.843 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 00:14:26,846.846 INFO    ] Checking for system updates...
[2026-10-20 00:14:26,888.888 INFO    ] 200
[2026-10-20 00:14:26,891.891 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:14:26,946.946 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:14:26,949.949 INFO    ] No update needed
[2026-10-20 00:14:26,952.952 INFO    ] Checking for camera pi updates...
[2026-10-20 00:14:26,991.991 INFO    ] 200
[2026-10-20 00:14:26,994.994 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:14:27,040.040 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:14:27,102.102 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:14:27,104.104 INFO    ] No camera update needed
[2026-10-20 00:14:27,107.107 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:14:27,110.110 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:14:27,117.117 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:14:27,123.123 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:14:29,165.165 INFO    ] ================================================
[2026-10-20 00:14:29,180.180 INFO    ] Launching Daemon at Tue Oct 20 00:14:29 IST 2026
[2026-10-20 00:14:29,191.191 INFO    ] ================================================
[2026-10-20 00:14:29,758.758 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:14:29
[2026-10-20 00:14:30,342.342 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:14:30,593.593 INFO    ] Initializing speech engine...
[2026-10-20 00:14:30,622.622 INFO    ] 2026-10-20 00:14:30
[2026-10-20 00:14:30,903.903 INFO    ] 2026-10-20 00:14:30
[2026-10-20 00:14:30,939.939 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:14:31,203.203 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:14:31,230.230 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:14:31,445.445 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:14:31,495.495 INFO    ] time= 20/10/2026 00:14:31
[2026-10-20 00:14:31,501.501 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:14:31,518.518 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:14:31,663.663 INFO    ] No existing commands found in stream
[2026-10-20 00:14:36,682.682 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:14:36,685.685 INFO    ] Waiting 1.90 seconds before fallback handling...
[2026-10-20 00:14:39,074.074 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:14:39,077.077 INFO    ] Checking for system updates...
[2026-10-20 00:14:39,112.112 INFO    ] 200
[2026-10-20 00:14:39,114.114 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:14:39,170.170 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:14:39,173.173 INFO    ] No update needed
[2026-10-20 00:14:39,175.175 INFO    ] Checking for camera pi updates...
[2026-10-20 00:14:39,208.208 INFO    ] 200
[2026-10-20 00:14:39,210.210 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:14:39,255.255 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:14:39,310.310 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:14:39,312.312 INFO    ] No camera update needed
[2026-10-20 00:14:39,315.315 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:14:39,317.317 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:14:39,322.322 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:14:39,327.327 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:14:41,366.366 INFO    ] ================================================
[2026-10-20 00:14:41,382.382 INFO    ] Launching Daemon at Tue Oct 20 00:14:41 IST 2026
[2026-10-20 00:14:41,393.393 INFO    ] ================================================
[2026-10-20 00:14:41,961.961 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:14:41
[2026-10-20 00:14:42,607.607 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:14:42,882.882 INFO    ] Initializing speech engine...
[2026-10-20 00:14:42,892.892 INFO    ] 2026-10-20 00:14:42
[2026-10-20 00:14:43,141.141 INFO    ] 2026-10-20 00:14:43
[2026-10-20 00:14:43,176.176 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:14:43,434.434 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:14:43,443.443 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:14:43,579.579 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:14:43,611.611 INFO    ] time= 20/10/2026 00:14:43
[2026-10-20 00:14:43,665.665 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:14:43,715.715 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:14:43,864.864 INFO    ] No existing commands found in stream
[2026-10-20 00:14:48,881.881 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:14:48,884.884 INFO    ] Waiting 3.33 seconds before fallback handling...
[2026-10-20 00:14:52,739.739 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 00:14:52,742.742 INFO    ] Checking for system updates...
[2026-10-20 00:14:52,778.778 INFO    ] 200
[2026-10-20 00:14:52,780.780 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:14:52,839.839 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:14:52,842.842 INFO    ] No update needed
[2026-10-20 00:14:52,844.844 INFO    ] Checking for camera pi updates...
[2026-10-20 00:14:52,881.881 INFO    ] 200
[2026-10-20 00:14:52,883.883 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:14:52,923.923 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:14:52,972.972 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:14:52,974.974 INFO    ] No camera update needed
[2026-10-20 00:14:52,977.977 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:14:52,980.980 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:14:52,985.985 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:14:52,990.990 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:14:55,033.033 INFO    ] ================================================
[2026-10-20 00:14:55,050.050 INFO    ] Launching Daemon at Tue Oct 20 00:14:55 IST 2026
[2026-10-20 00:14:55,061.061 INFO    ] ================================================
[2026-10-20 00:14:55,628.628 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:14:55
[2026-10-20 00:14:56,215.215 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:14:56,475.475 INFO    ] Initializing speech engine...
[2026-10-20 00:14:56,495.495 INFO    ] 2026-10-20 00:14:56
[2026-10-20 00:14:56,745.745 INFO    ] 2026-10-20 00:14:56
[2026-10-20 00:14:56,781.781 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:14:56,978.978 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:14:56,997.997 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:14:57,183.183 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:14:57,231.231 INFO    ] time= 20/10/2026 00:14:57
[2026-10-20 00:14:57,291.291 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:14:57,321.321 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:14:57,452.452 INFO    ] No existing commands found in stream
[2026-10-20 00:15:02,480.480 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:15:02,484.484 INFO    ] Waiting 3.58 seconds before fallback handling...
[2026-10-20 00:15:06,562.562 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 00:15:06,564.564 INFO    ] Checking for system updates...
[2026-10-20 00:15:06,600.600 INFO    ] 200
[2026-10-20 00:15:06,602.602 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:15:06,663.663 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:15:06,665.665 INFO    ] No update needed
[2026-10-20 00:15:06,667.667 INFO    ] Checking for camera pi updates...
[2026-10-20 00:15:06,700.700 INFO    ] 200
[2026-10-20 00:15:06,703.703 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:15:06,748.748 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:15:06,793.793 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:15:06,796.796 INFO    ] No camera update needed
[2026-10-20 00:15:06,798.798 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:15:06,801.801 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:15:06,806.806 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:15:06,811.811 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:15:08,851.851 INFO    ] ================================================
[2026-10-20 00:15:08,867.867 INFO    ] Launching Daemon at Tue Oct 20 00:15:08 IST 2026
[2026-10-20 00:15:08,879.879 INFO    ] ================================================
[2026-10-20 00:15:09,552.552 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:15:09
[2026-10-20 00:15:10,248.248 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:15:10,563.563 INFO    ] Initializing speech engine...
[2026-10-20 00:15:10,577.577 INFO    ] 2026-10-20 00:15:10
[2026-10-20 00:15:10,897.897 INFO    ] 2026-10-20 00:15:10
[2026-10-20 00:15:10,985.985 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:15:11,145.145 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:15:11,152.152 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:15:11,397.397 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:15:11,421.421 INFO    ] time= 20/10/2026 00:15:11
[2026-10-20 00:15:11,440.440 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:15:11,468.468 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:15:11,631.631 INFO    ] No existing commands found in stream
[2026-10-20 00:15:16,657.657 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:15:16,660.660 INFO    ] Waiting 2.85 seconds before fallback handling...
[2026-10-20 00:15:20,057.057 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:15:20,060.060 INFO    ] Checking for system updates...
[2026-10-20 00:15:20,102.102 INFO    ] 200
[2026-10-20 00:15:20,105.105 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:15:20,167.167 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:15:20,170.170 INFO    ] No update needed
[2026-10-20 00:15:20,174.174 INFO    ] Checking for camera pi updates...
[2026-10-20 00:15:20,208.208 INFO    ] 200
[2026-10-20 00:15:20,211.211 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:15:20,259.259 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:15:20,307.307 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:15:20,309.309 INFO    ] No camera update needed
[2026-10-20 00:15:20,312.312 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:15:20,314.314 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:15:20,319.319 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:15:20,324.324 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:15:22,365.365 INFO    ] ================================================
[2026-10-20 00:15:22,381.381 INFO    ] Launching Daemon at Tue Oct 20 00:15:22 IST 2026
[2026-10-20 00:15:22,392.392 INFO    ] ================================================
[2026-10-20 00:15:22,960.960 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:15:22
[2026-10-20 00:15:23,547.547 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:15:23,793.793 INFO    ] Initializing speech engine...
[2026-10-20 00:15:23,801.801 INFO    ] 2026-10-20 00:15:23
[2026-10-20 00:15:24,076.076 INFO    ] 2026-10-20 00:15:24
[2026-10-20 00:15:24,112.112 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:15:24,314.314 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:15:24,371.371 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:15:24,518.518 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:15:24,583.583 INFO    ] time= 20/10/2026 00:15:24
[2026-10-20 00:15:24,637.637 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:15:24,656.656 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:15:24,806.806 INFO    ] No existing commands found in stream
[2026-10-20 00:15:29,825.825 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:15:29,827.827 INFO    ] Waiting 1.26 seconds before fallback handling...
[2026-10-20 00:15:31,603.603 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 00:15:31,606.606 INFO    ] Checking for system updates...
[2026-10-20 00:15:31,658.658 INFO    ] 200
[2026-10-20 00:15:31,661.661 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:15:31,728.728 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:15:31,731.731 INFO    ] No update needed
[2026-10-20 00:15:31,735.735 INFO    ] Checking for camera pi updates...
[2026-10-20 00:15:31,772.772 INFO    ] 200
[2026-10-20 00:15:31,775.775 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:15:31,826.826 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:15:31,959.959 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:15:31,962.962 INFO    ] No camera update needed
[2026-10-20 00:15:31,965.965 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:15:31,969.969 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:15:31,976.976 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:15:31,982.982 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:15:34,025.025 INFO    ] ================================================
[2026-10-20 00:15:34,040.040 INFO    ] Launching Daemon at Tue Oct 20 00:15:34 IST 2026
[2026-10-20 00:15:34,051.051 INFO    ] ================================================
[2026-10-20 00:15:34,632.632 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:15:34
[2026-10-20 00:15:35,231.231 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:15:35,497.497 INFO    ] Initializing speech engine...
[2026-10-20 00:15:35,511.511 INFO    ] 2026-10-20 00:15:35
[2026-10-20 00:15:35,802.802 INFO    ] 2026-10-20 00:15:35
[2026-10-20 00:15:35,837.837 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:15:36,047.047 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:15:36,075.075 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:15:36,248.248 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:15:36,313.313 INFO    ] time= 20/10/2026 00:15:36
[2026-10-20 00:15:36,375.375 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:15:36,382.382 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:15:36,532.532 INFO    ] No existing commands found in stream
[2026-10-20 00:15:41,558.558 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:15:41,561.561 INFO    ] Waiting 3.68 seconds before fallback handling...
[2026-10-20 00:15:45,763.763 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 00:15:45,766.766 INFO    ] Checking for system updates...
[2026-10-20 00:15:45,806.806 INFO    ] 200
[2026-10-20 00:15:45,808.808 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:15:45,860.860 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:15:45,862.862 INFO    ] No update needed
[2026-10-20 00:15:45,865.865 INFO    ] Checking for camera pi updates...
[2026-10-20 00:15:45,898.898 INFO    ] 200
[2026-10-20 00:15:45,901.901 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:15:45,941.941 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:15:45,997.997 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:15:46,000.000 INFO    ] No camera update needed
[2026-10-20 00:15:46,002.002 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:15:46,005.005 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:15:46,010.010 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:15:46,015.015 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:15:48,054.054 INFO    ] ================================================
[2026-10-20 00:15:48,070.070 INFO    ] Launching Daemon at Tue Oct 20 00:15:48 IST 2026
[2026-10-20 00:15:48,081.081 INFO    ] ================================================
[2026-10-20 00:15:48,742.742 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:15:48
[2026-10-20 00:15:49,420.420 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:15:49,730.730 INFO    ] Initializing speech engine...
[2026-10-20 00:15:49,744.744 INFO    ] 2026-10-20 00:15:49
[2026-10-20 00:15:50,024.024 INFO    ] 2026-10-20 00:15:50
[2026-10-20 00:15:50,070.070 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:15:50,355.355 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:15:50,361.361 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:15:50,556.556 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:15:50,575.575 INFO    ] time= 20/10/2026 00:15:50
[2026-10-20 00:15:50,585.585 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:15:50,611.611 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:15:50,730.730 INFO    ] No existing commands found in stream
[2026-10-20 00:15:55,755.755 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:15:55,758.758 INFO    ] Waiting 3.33 seconds before fallback handling...
[2026-10-20 00:15:59,619.619 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 00:15:59,622.622 INFO    ] Checking for system updates...
[2026-10-20 00:15:59,663.663 INFO    ] 200
[2026-10-20 00:15:59,666.666 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:15:59,723.723 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:15:59,726.726 INFO    ] No update needed
[2026-10-20 00:15:59,729.729 INFO    ] Checking for camera pi updates...
[2026-10-20 00:15:59,763.763 INFO    ] 200
[2026-10-20 00:15:59,766.766 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:15:59,812.812 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:15:59,866.866 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:15:59,869.869 INFO    ] No camera update needed
[2026-10-20 00:15:59,871.871 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:15:59,874.874 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:15:59,879.879 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:15:59,884.884 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:16:01,930.930 INFO    ] ================================================
[2026-10-20 00:16:01,957.957 INFO    ] Launching Daemon at Tue Oct 20 00:16:01 IST 2026
[2026-10-20 00:16:01,981.981 INFO    ] ================================================
[2026-10-20 00:16:02,653.653 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:16:02
[2026-10-20 00:16:03,327.327 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:16:03,689.689 INFO    ] Initializing speech engine...
[2026-10-20 00:16:03,700.700 INFO    ] 2026-10-20 00:16:03
[2026-10-20 00:16:03,979.979 INFO    ] 2026-10-20 00:16:03
[2026-10-20 00:16:04,016.016 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:16:04,234.234 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:16:04,280.280 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:16:04,461.461 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:16:04,504.504 INFO    ] time= 20/10/2026 00:16:04
[2026-10-20 00:16:04,569.569 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:16:04,608.608 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:16:04,749.749 INFO    ] No existing commands found in stream
[2026-10-20 00:16:09,771.771 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:16:09,774.774 INFO    ] Waiting 1.14 seconds before fallback handling...
[2026-10-20 00:16:11,461.461 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 00:16:11,463.463 INFO    ] Checking for system updates...
[2026-10-20 00:16:11,498.498 INFO    ] 200
[2026-10-20 00:16:11,501.501 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:16:11,552.552 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:16:11,560.560 INFO    ] No update needed
[2026-10-20 00:16:11,563.563 INFO    ] Checking for camera pi updates...
[2026-10-20 00:16:11,596.596 INFO    ] 200
[2026-10-20 00:16:11,599.599 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:16:11,640.640 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:16:11,690.690 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:16:11,693.693 INFO    ] No camera update needed
[2026-10-20 00:16:11,695.695 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:16:11,698.698 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:16:11,704.704 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:16:11,710.710 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:16:13,754.754 INFO    ] ================================================
[2026-10-20 00:16:13,771.771 INFO    ] Launching Daemon at Tue Oct 20 00:16:13 IST 2026
[2026-10-20 00:16:13,782.782 INFO    ] ================================================
[2026-10-20 00:16:14,410.410 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:16:14
[2026-10-20 00:16:15,082.082 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:16:15,354.354 INFO    ] Initializing speech engine...
[2026-10-20 00:16:15,369.369 INFO    ] 2026-10-20 00:16:15
[2026-10-20 00:16:15,643.643 INFO    ] 2026-10-20 00:16:15
[2026-10-20 00:16:15,678.678 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:16:15,902.902 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:16:15,925.925 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:16:16,131.131 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:16:16,140.140 INFO    ] time= 20/10/2026 00:16:16
[2026-10-20 00:16:16,205.205 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:16:16,259.259 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:16:16,342.342 INFO    ] No existing commands found in stream
[2026-10-20 00:16:21,354.354 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:16:21,357.357 INFO    ] Waiting 0.15 seconds before fallback handling...
[2026-10-20 00:16:21,997.997 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:16:22,000.000 INFO    ] Checking for system updates...
[2026-10-20 00:16:22,040.040 INFO    ] 200
[2026-10-20 00:16:22,044.044 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:16:22,096.096 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:16:22,099.099 INFO    ] No update needed
[2026-10-20 00:16:22,102.102 INFO    ] Checking for camera pi updates...
[2026-10-20 00:16:22,137.137 INFO    ] 200
[2026-10-20 00:16:22,139.139 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:16:22,181.181 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:16:22,229.229 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:16:22,232.232 INFO    ] No camera update needed
[2026-10-20 00:16:22,234.234 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:16:22,237.237 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:16:22,243.243 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:16:22,249.249 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:16:24,290.290 INFO    ] ================================================
[2026-10-20 00:16:24,306.306 INFO    ] Launching Daemon at Tue Oct 20 00:16:24 IST 2026
[2026-10-20 00:16:24,317.317 INFO    ] ================================================
[2026-10-20 00:16:24,902.902 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:16:24
[2026-10-20 00:16:25,508.508 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:16:25,787.787 INFO    ] Initializing speech engine...
[2026-10-20 00:16:25,796.796 INFO    ] 2026-10-20 00:16:25
[2026-10-20 00:16:26,047.047 INFO    ] 2026-10-20 00:16:26
[2026-10-20 00:16:26,082.082 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:16:26,287.287 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:16:26,346.346 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:16:26,492.492 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:16:26,536.536 INFO    ] time= 20/10/2026 00:16:26
[2026-10-20 00:16:26,591.591 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:16:26,632.632 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:16:26,774.774 INFO    ] No existing commands found in stream
[2026-10-20 00:16:31,802.802 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:16:31,805.805 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-10-20 00:16:35,566.566 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:16:35,569.569 INFO    ] Checking for system updates...
[2026-10-20 00:16:35,606.606 INFO    ] 200
[2026-10-20 00:16:35,608.608 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:16:35,669.669 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:16:35,671.671 INFO    ] No update needed
[2026-10-20 00:16:35,674.674 INFO    ] Checking for camera pi updates...
[2026-10-20 00:16:35,706.706 INFO    ] 200
[2026-10-20 00:16:35,709.709 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:16:35,749.749 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:16:35,807.807 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:16:35,810.810 INFO    ] No camera update needed
[2026-10-20 00:16:35,812.812 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:16:35,814.814 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:16:35,820.820 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:16:35,825.825 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:16:37,864.864 INFO    ] ================================================
[2026-10-20 00:16:37,880.880 INFO    ] Launching Daemon at Tue Oct 20 00:16:37 IST 2026
[2026-10-20 00:16:37,892.892 INFO    ] ================================================
[2026-10-20 00:16:38,460.460 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:16:38
[2026-10-20 00:16:39,046.046 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:16:39,327.327 INFO    ] Initializing speech engine...
[2026-10-20 00:16:39,340.340 INFO    ] 2026-10-20 00:16:39
[2026-10-20 00:16:39,610.610 INFO    ] 2026-10-20 00:16:39
[2026-10-20 00:16:39,647.647 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:16:39,879.879 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:16:39,893.893 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:16:40,094.094 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:16:40,114.114 INFO    ] time= 20/10/2026 00:16:40
[2026-10-20 00:16:40,156.156 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:16:40,190.190 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:16:40,294.294 INFO    ] No existing commands found in stream
[2026-10-20 00:16:45,310.310 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:16:45,313.313 INFO    ] Waiting 1.11 seconds before fallback handling...
[2026-10-20 00:16:46,957.957 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:16:46,960.960 INFO    ] Checking for system updates...
[2026-10-20 00:16:46,998.998 INFO    ] 200
[2026-10-20 00:16:47,001.001 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:16:47,056.056 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:16:47,059.059 INFO    ] No update needed
[2026-10-20 00:16:47,062.062 INFO    ] Checking for camera pi updates...
[2026-10-20 00:16:47,096.096 INFO    ] 200
[2026-10-20 00:16:47,099.099 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:16:47,146.146 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:16:47,198.198 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:16:47,201.201 INFO    ] No camera update needed
[2026-10-20 00:16:47,204.204 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:16:47,207.207 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:16:47,213.213 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:16:47,219.219 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:16:49,259.259 INFO    ] ================================================
[2026-10-20 00:16:49,276.276 INFO    ] Launching Daemon at Tue Oct 20 00:16:49 IST 2026
[2026-10-20 00:16:49,287.287 INFO    ] ================================================
[2026-10-20 00:16:49,955.955 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:16:49
[2026-10-20 00:16:50,645.645 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:16:50,956.956 INFO    ] Initializing speech engine...
[2026-10-20 00:16:50,968.968 INFO    ] 2026-10-20 00:16:50
[2026-10-20 00:16:51,252.252 INFO    ] 2026-10-20 00:16:51
[2026-10-20 00:16:51,304.304 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:16:51,569.569 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:16:51,592.592 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:16:51,774.774 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:16:51,796.796 INFO    ] time= 20/10/2026 00:16:51
[2026-10-20 00:16:51,814.814 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:16:51,831.831 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:16:51,960.960 INFO    ] No existing commands found in stream
[2026-10-20 00:16:56,989.989 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:16:56,992.992 INFO    ] Waiting 3.59 seconds before fallback handling...
[2026-10-20 00:17:01,135.135 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:17:01,138.138 INFO    ] Checking for system updates...
[2026-10-20 00:17:01,174.174 INFO    ] 200
[2026-10-20 00:17:01,176.176 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:17:01,229.229 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:17:01,231.231 INFO    ] No update needed
[2026-10-20 00:17:01,234.234 INFO    ] Checking for camera pi updates...
[2026-10-20 00:17:01,267.267 INFO    ] 200
[2026-10-20 00:17:01,270.270 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:17:01,315.315 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:17:01,362.362 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:17:01,365.365 INFO    ] No camera update needed
[2026-10-20 00:17:01,368.368 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:17:01,371.371 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:17:01,377.377 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:17:01,383.383 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:17:03,436.436 INFO    ] ================================================
[2026-10-20 00:17:03,453.453 INFO    ] Launching Daemon at Tue Oct 20 00:17:03 IST 2026
[2026-10-20 00:17:03,464.464 INFO    ] ================================================
[2026-10-20 00:17:04,069.069 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:17:04
[2026-10-20 00:17:04,666.666 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:17:04,935.935 INFO    ] Initializing speech engine...
[2026-10-20 00:17:04,948.948 INFO    ] 2026-10-20 00:17:04
[2026-10-20 00:17:05,199.199 INFO    ] 2026-10-20 00:17:05
[2026-10-20 00:17:05,234.234 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:17:05,493.493 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:17:05,503.503 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:17:05,640.640 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:17:05,703.703 INFO    ] time= 20/10/2026 00:17:05
[2026-10-20 00:17:05,752.752 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:17:05,778.778 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:17:05,921.921 INFO    ] No existing commands found in stream
[2026-10-20 00:17:10,938.938 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:17:10,941.941 INFO    ] Waiting 3.69 seconds before fallback handling...
[2026-10-20 00:17:15,170.170 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:17:15,172.172 INFO    ] Checking for system updates...
[2026-10-20 00:17:15,212.212 INFO    ] 200
[2026-10-20 00:17:15,214.214 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:17:15,266.266 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:17:15,268.268 INFO    ] No update needed
[2026-10-20 00:17:15,270.270 INFO    ] Checking for camera pi updates...
[2026-10-20 00:17:15,304.304 INFO    ] 200
[2026-10-20 00:17:15,307.307 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:17:15,350.350 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:17:15,403.403 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:17:15,405.405 INFO    ] No camera update needed
[2026-10-20 00:17:15,407.407 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:17:15,410.410 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:17:15,415.415 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:17:15,420.420 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:17:17,461.461 INFO    ] ================================================
[2026-10-20 00:17:17,477.477 INFO    ] Launching Daemon at Tue Oct 20 00:17:17 IST 2026
[2026-10-20 00:17:17,488.488 INFO    ] ================================================
[2026-10-20 00:17:18,142.142 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:17:18
[2026-10-20 00:17:18,815.815 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:17:19,124.124 INFO    ] Initializing speech engine...
[2026-10-20 00:17:19,136.136 INFO    ] 2026-10-20 00:17:19
[2026-10-20 00:17:19,415.415 INFO    ] 2026-10-20 00:17:19
[2026-10-20 00:17:19,478.478 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:17:19,710.710 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:17:19,718.718 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:17:19,933.933 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:17:19,961.961 INFO    ] time= 20/10/2026 00:17:19
[2026-10-20 00:17:19,980.980 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:17:19,987.987 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:17:20,141.141 INFO    ] No existing commands found in stream
[2026-10-20 00:17:25,178.178 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:17:25,181.181 INFO    ] Waiting 3.00 seconds before fallback handling...
[2026-10-20 00:17:28,723.723 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:17:28,726.726 INFO    ] Checking for system updates...
[2026-10-20 00:17:28,763.763 INFO    ] 200
[2026-10-20 00:17:28,766.766 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:17:28,819.819 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:17:28,822.822 INFO    ] No update needed
[2026-10-20 00:17:28,825.825 INFO    ] Checking for camera pi updates...
[2026-10-20 00:17:28,860.860 INFO    ] 200
[2026-10-20 00:17:28,863.863 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:17:28,904.904 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:17:28,963.963 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:17:28,966.966 INFO    ] No camera update needed
[2026-10-20 00:17:28,969.969 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:17:28,971.971 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:17:28,978.978 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:17:28,984.984 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:17:31,026.026 INFO    ] ================================================
[2026-10-20 00:17:31,041.041 INFO    ] Launching Daemon at Tue Oct 20 00:17:31 IST 2026
[2026-10-20 00:17:31,052.052 INFO    ] ================================================
[2026-10-20 00:17:31,634.634 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:17:31
[2026-10-20 00:17:32,255.255 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:17:32,518.518 INFO    ] Initializing speech engine...
[2026-10-20 00:17:32,533.533 INFO    ] 2026-10-20 00:17:32
[2026-10-20 00:17:32,830.830 INFO    ] 2026-10-20 00:17:32
[2026-10-20 00:17:32,866.866 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:17:33,121.121 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:17:33,133.133 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:17:33,295.295 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:17:33,376.376 INFO    ] time= 20/10/2026 00:17:33
[2026-10-20 00:17:33,413.413 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:17:33,429.429 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:17:33,564.564 INFO    ] No existing commands found in stream
[2026-10-20 00:17:38,582.582 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:17:38,585.585 INFO    ] Waiting 3.37 seconds before fallback handling...
[2026-10-20 00:17:42,466.466 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:17:42,468.468 INFO    ] Checking for system updates...
[2026-10-20 00:17:42,504.504 INFO    ] 200
[2026-10-20 00:17:42,507.507 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:17:42,559.559 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:17:42,561.561 INFO    ] No update needed
[2026-10-20 00:17:42,564.564 INFO    ] Checking for camera pi updates...
[2026-10-20 00:17:42,604.604 INFO    ] 200
[2026-10-20 00:17:42,606.606 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:17:42,646.646 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:17:42,796.796 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:17:42,799.799 INFO    ] No camera update needed
[2026-10-20 00:17:42,801.801 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:17:42,804.804 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:17:42,809.809 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:17:42,814.814 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:17:44,854.854 INFO    ] ================================================
[2026-10-20 00:17:44,870.870 INFO    ] Launching Daemon at Tue Oct 20 00:17:44 IST 2026
[2026-10-20 00:17:44,881.881 INFO    ] ================================================
[2026-10-20 00:17:45,466.466 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:17:45
[2026-10-20 00:17:46,055.055 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:17:46,352.352 INFO    ] Initializing speech engine...
[2026-10-20 00:17:46,359.359 INFO    ] 2026-10-20 00:17:46
[2026-10-20 00:17:46,674.674 INFO    ] 2026-10-20 00:17:46
[2026-10-20 00:17:46,763.763 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:17:46,979.979 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:17:46,984.984 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:17:47,182.182 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:17:47,189.189 INFO    ] time= 20/10/2026 00:17:47
[2026-10-20 00:17:47,208.208 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:17:47,237.237 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:17:47,346.346 INFO    ] No existing commands found in stream
[2026-10-20 00:17:52,362.362 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:17:52,365.365 INFO    ] Waiting 2.68 seconds before fallback handling...
[2026-10-20 00:17:55,571.571 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 00:17:55,574.574 INFO    ] Checking for system updates...
[2026-10-20 00:17:55,611.611 INFO    ] 200
[2026-10-20 00:17:55,613.613 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:17:55,672.672 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:17:55,675.675 INFO    ] No update needed
[2026-10-20 00:17:55,679.679 INFO    ] Checking for camera pi updates...
[2026-10-20 00:17:55,713.713 INFO    ] 200
[2026-10-20 00:17:55,715.715 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:17:55,761.761 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:17:55,795.795 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:17:55,797.797 INFO    ] No camera update needed
[2026-10-20 00:17:55,800.800 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:17:55,803.803 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:17:55,810.810 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:17:55,816.816 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:17:57,858.858 INFO    ] ================================================
[2026-10-20 00:17:57,874.874 INFO    ] Launching Daemon at Tue Oct 20 00:17:57 IST 2026
[2026-10-20 00:17:57,885.885 INFO    ] ================================================
[2026-10-20 00:17:58,452.452 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:17:58
[2026-10-20 00:17:59,036.036 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:17:59,294.294 INFO    ] Initializing speech engine...
[2026-10-20 00:17:59,300.300 INFO    ] 2026-10-20 00:17:59
[2026-10-20 00:17:59,594.594 INFO    ] 2026-10-20 00:17:59
[2026-10-20 00:17:59,631.631 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:17:59,830.830 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:17:59,837.837 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:18:00,014.014 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:18:00,022.022 INFO    ] time= 20/10/2026 00:18:00
[2026-10-20 00:18:00,064.064 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:18:00,098.098 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:18:00,217.217 INFO    ] No existing commands found in stream
[2026-10-20 00:18:05,247.247 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:18:05,250.250 INFO    ] Waiting 0.61 seconds before fallback handling...
[2026-10-20 00:18:06,324.324 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:18:06,327.327 INFO    ] Checking for system updates...
[2026-10-20 00:18:06,362.362 INFO    ] 200
[2026-10-20 00:18:06,364.364 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:18:06,417.417 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:18:06,420.420 INFO    ] No update needed
[2026-10-20 00:18:06,422.422 INFO    ] Checking for camera pi updates...
[2026-10-20 00:18:06,455.455 INFO    ] 200
[2026-10-20 00:18:06,458.458 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:18:06,498.498 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:18:06,545.545 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:18:06,547.547 INFO    ] No camera update needed
[2026-10-20 00:18:06,550.550 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:18:06,552.552 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:18:06,557.557 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:18:06,562.562 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:18:08,603.603 INFO    ] ================================================
[2026-10-20 00:18:08,619.619 INFO    ] Launching Daemon at Tue Oct 20 00:18:08 IST 2026
[2026-10-20 00:18:08,630.630 INFO    ] ================================================
[2026-10-20 00:18:09,285.285 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:18:09
[2026-10-20 00:18:09,960.960 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:18:10,274.274 INFO    ] Initializing speech engine...
[2026-10-20 00:18:10,280.280 INFO    ] 2026-10-20 00:18:10
[2026-10-20 00:18:10,558.558 INFO    ] 2026-10-20 00:18:10
[2026-10-20 00:18:10,602.602 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:18:10,894.894 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:18:10,959.959 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:18:11,135.135 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:18:11,144.144 INFO    ] time= 20/10/2026 00:18:11
[2026-10-20 00:18:11,166.166 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:18:11,223.223 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:18:11,362.362 INFO    ] No existing commands found in stream
[2026-10-20 00:18:16,394.394 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:18:16,398.398 INFO    ] Waiting 3.96 seconds before fallback handling...
[2026-10-20 00:18:20,900.900 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:18:20,903.903 INFO    ] Checking for system updates...
[2026-10-20 00:18:20,939.939 INFO    ] 200
[2026-10-20 00:18:20,942.942 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:18:20,993.993 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:18:20,996.996 INFO    ] No update needed
[2026-10-20 00:18:20,998.998 INFO    ] Checking for camera pi updates...
[2026-10-20 00:18:21,032.032 INFO    ] 200
[2026-10-20 00:18:21,034.034 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:18:21,075.075 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:18:21,127.127 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:18:21,130.130 INFO    ] No camera update needed
[2026-10-20 00:18:21,132.132 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:18:21,135.135 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:18:21,140.140 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:18:21,145.145 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:18:23,186.186 INFO    ] ================================================
[2026-10-20 00:18:23,202.202 INFO    ] Launching Daemon at Tue Oct 20 00:18:23 IST 2026
[2026-10-20 00:18:23,213.213 INFO    ] ================================================
[2026-10-20 00:18:23,786.786 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:18:23
[2026-10-20 00:18:24,373.373 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:18:24,626.626 INFO    ] Initializing speech engine...
[2026-10-20 00:18:24,631.631 INFO    ] 2026-10-20 00:18:24
[2026-10-20 00:18:24,932.932 INFO    ] 2026-10-20 00:18:24
[2026-10-20 00:18:24,968.968 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:18:25,171.171 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:18:25,184.184 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:18:25,347.347 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:18:25,356.356 INFO    ] time= 20/10/2026 00:18:25
[2026-10-20 00:18:25,361.361 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:18:25,367.367 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:18:25,444.444 INFO    ] No existing commands found in stream
[2026-10-20 00:18:30,464.464 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:18:30,467.467 INFO    ] Waiting 3.23 seconds before fallback handling...
[2026-10-20 00:18:34,194.194 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:18:34,197.197 INFO    ] Checking for system updates...
[2026-10-20 00:18:34,232.232 INFO    ] 200
[2026-10-20 00:18:34,234.234 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:18:34,287.287 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:18:34,290.290 INFO    ] No update needed
[2026-10-20 00:18:34,292.292 INFO    ] Checking for camera pi updates...
[2026-10-20 00:18:34,326.326 INFO    ] 200
[2026-10-20 00:18:34,328.328 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:18:34,370.370 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:18:34,428.428 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:18:34,430.430 INFO    ] No camera update needed
[2026-10-20 00:18:34,433.433 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:18:34,435.435 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:18:34,440.440 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:18:34,445.445 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:18:36,484.484 INFO    ] ================================================
[2026-10-20 00:18:36,500.500 INFO    ] Launching Daemon at Tue Oct 20 00:18:36 IST 2026
[2026-10-20 00:18:36,511.511 INFO    ] ================================================
[2026-10-20 00:18:37,090.090 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:18:37
[2026-10-20 00:18:37,675.675 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:18:37,946.946 INFO    ] Initializing speech engine...
[2026-10-20 00:18:37,954.954 INFO    ] 2026-10-20 00:18:37
[2026-10-20 00:18:38,203.203 INFO    ] 2026-10-20 00:18:38
[2026-10-20 00:18:38,237.237 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:18:38,511.511 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:18:38,526.526 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:18:38,688.688 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:18:38,727.727 INFO    ] time= 20/10/2026 00:18:38
[2026-10-20 00:18:38,782.782 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:18:38,821.821 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:18:38,972.972 INFO    ] No existing commands found in stream
[2026-10-20 00:18:43,990.990 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:18:43,992.992 INFO    ] Waiting 0.89 seconds before fallback handling...
[2026-10-20 00:18:45,407.407 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:18:45,410.410 INFO    ] Checking for system updates...
[2026-10-20 00:18:45,445.445 INFO    ] 200
[2026-10-20 00:18:45,448.448 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:18:45,507.507 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:18:45,510.510 INFO    ] No update needed
[2026-10-20 00:18:45,512.512 INFO    ] Checking for camera pi updates...
[2026-10-20 00:18:45,547.547 INFO    ] 200
[2026-10-20 00:18:45,549.549 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:18:45,594.594 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:18:45,646.646 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:18:45,649.649 INFO    ] No camera update needed
[2026-10-20 00:18:45,651.651 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:18:45,654.654 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:18:45,659.659 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:18:45,664.664 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:18:47,705.705 INFO    ] ================================================
[2026-10-20 00:18:47,721.721 INFO    ] Launching Daemon at Tue Oct 20 00:18:47 IST 2026
[2026-10-20 00:18:47,732.732 INFO    ] ================================================
[2026-10-20 00:18:48,300.300 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:18:48
[2026-10-20 00:18:48,883.883 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:18:49,131.131 INFO    ] Initializing speech engine...
[2026-10-20 00:18:49,146.146 INFO    ] 2026-10-20 00:18:49
[2026-10-20 00:18:49,413.413 INFO    ] 2026-10-20 00:18:49
[2026-10-20 00:18:49,448.448 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:18:49,646.646 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:18:49,653.653 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:18:49,851.851 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:18:49,872.872 INFO    ] time= 20/10/2026 00:18:49
[2026-10-20 00:18:49,931.931 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:18:49,981.981 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:18:50,142.142 INFO    ] No existing commands found in stream
[2026-10-20 00:18:55,161.161 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:18:55,163.163 INFO    ] Waiting 3.46 seconds before fallback handling...
[2026-10-20 00:18:59,151.151 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:18:59,153.153 INFO    ] Checking for system updates...
[2026-10-20 00:18:59,189.189 INFO    ] 200
[2026-10-20 00:18:59,191.191 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:18:59,243.243 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:18:59,245.245 INFO    ] No update needed
[2026-10-20 00:18:59,247.247 INFO    ] Checking for camera pi updates...
[2026-10-20 00:18:59,283.283 INFO    ] 200
[2026-10-20 00:18:59,286.286 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:18:59,327.327 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:18:59,384.384 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:18:59,386.386 INFO    ] No camera update needed
[2026-10-20 00:18:59,389.389 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:18:59,391.391 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:18:59,397.397 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:18:59,402.402 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:19:01,443.443 INFO    ] ================================================
[2026-10-20 00:19:01,459.459 INFO    ] Launching Daemon at Tue Oct 20 00:19:01 IST 2026
[2026-10-20 00:19:01,469.469 INFO    ] ================================================
[2026-10-20 00:19:02,126.126 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:19:02
[2026-10-20 00:19:02,876.876 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:19:03,265.265 INFO    ] Initializing speech engine...
[2026-10-20 00:19:03,296.296 INFO    ] 2026-10-20 00:19:03
[2026-10-20 00:19:03,592.592 INFO    ] 2026-10-20 00:19:03
[2026-10-20 00:19:03,630.630 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:19:03,831.831 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:19:03,834.834 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:19:03,999.999 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:19:04,004.004 INFO    ] time= 20/10/2026 00:19:04
[2026-10-20 00:19:04,011.011 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:19:04,056.056 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:19:04,193.193 INFO    ] No existing commands found in stream
[2026-10-20 00:19:09,209.209 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:19:09,212.212 INFO    ] Waiting 2.80 seconds before fallback handling...
[2026-10-20 00:19:12,547.547 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:19:12,550.550 INFO    ] Checking for system updates...
[2026-10-20 00:19:12,586.586 INFO    ] 200
[2026-10-20 00:19:12,588.588 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:19:12,647.647 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:19:12,650.650 INFO    ] No update needed
[2026-10-20 00:19:12,652.652 INFO    ] Checking for camera pi updates...
[2026-10-20 00:19:12,686.686 INFO    ] 200
[2026-10-20 00:19:12,688.688 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:19:12,734.734 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:19:12,780.780 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:19:12,782.782 INFO    ] No camera update needed
[2026-10-20 00:19:12,785.785 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:19:12,787.787 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:19:12,793.793 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:19:12,799.799 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:19:14,839.839 INFO    ] ================================================
[2026-10-20 00:19:14,854.854 INFO    ] Launching Daemon at Tue Oct 20 00:19:14 IST 2026
[2026-10-20 00:19:14,864.864 INFO    ] ================================================
[2026-10-20 00:19:15,526.526 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:19:15
[2026-10-20 00:19:16,187.187 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:19:16,492.492 INFO    ] Initializing speech engine...
[2026-10-20 00:19:16,503.503 INFO    ] 2026-10-20 00:19:16
[2026-10-20 00:19:16,786.786 INFO    ] 2026-10-20 00:19:16
[2026-10-20 00:19:16,896.896 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:19:17,174.174 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:19:17,196.196 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:19:17,445.445 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:19:17,497.497 INFO    ] time= 20/10/2026 00:19:17
[2026-10-20 00:19:17,547.547 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:19:17,576.576 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:19:17,733.733 INFO    ] No existing commands found in stream
[2026-10-20 00:19:22,771.771 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:19:22,774.774 INFO    ] Waiting 1.26 seconds before fallback handling...
[2026-10-20 00:19:24,579.579 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:19:24,582.582 INFO    ] Checking for system updates...
[2026-10-20 00:19:24,619.619 INFO    ] 200
[2026-10-20 00:19:24,621.621 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:19:24,673.673 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:19:24,676.676 INFO    ] No update needed
[2026-10-20 00:19:24,678.678 INFO    ] Checking for camera pi updates...
[2026-10-20 00:19:24,711.711 INFO    ] 200
[2026-10-20 00:19:24,713.713 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:19:24,757.757 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:19:24,803.803 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:19:24,805.805 INFO    ] No camera update needed
[2026-10-20 00:19:24,808.808 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:19:24,810.810 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:19:24,815.815 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:19:24,821.821 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:19:26,861.861 INFO    ] ================================================
[2026-10-20 00:19:26,876.876 INFO    ] Launching Daemon at Tue Oct 20 00:19:26 IST 2026
[2026-10-20 00:19:26,887.887 INFO    ] ================================================
[2026-10-20 00:19:27,464.464 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:19:27
[2026-10-20 00:19:28,049.049 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:19:28,319.319 INFO    ] Initializing speech engine...
[2026-10-20 00:19:28,326.326 INFO    ] 2026-10-20 00:19:28
[2026-10-20 00:19:28,571.571 INFO    ] 2026-10-20 00:19:28
[2026-10-20 00:19:28,605.605 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:19:28,858.858 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:19:28,867.867 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:19:29,083.083 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:19:29,129.129 INFO    ] time= 20/10/2026 00:19:29
[2026-10-20 00:19:29,136.136 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:19:29,154.154 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:19:29,281.281 INFO    ] No existing commands found in stream
[2026-10-20 00:19:34,299.299 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:19:34,301.301 INFO    ] Waiting 2.26 seconds before fallback handling...
[2026-10-20 00:19:37,077.077 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:19:37,079.079 INFO    ] Checking for system updates...
[2026-10-20 00:19:37,114.114 INFO    ] 200
[2026-10-20 00:19:37,116.116 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:19:37,174.174 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:19:37,177.177 INFO    ] No update needed
[2026-10-20 00:19:37,179.179 INFO    ] Checking for camera pi updates...
[2026-10-20 00:19:37,212.212 INFO    ] 200
[2026-10-20 00:19:37,215.215 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:19:37,256.256 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:19:37,310.310 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:19:37,313.313 INFO    ] No camera update needed
[2026-10-20 00:19:37,315.315 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:19:37,317.317 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:19:37,323.323 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:19:37,328.328 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:19:39,369.369 INFO    ] ================================================
[2026-10-20 00:19:39,384.384 INFO    ] Launching Daemon at Tue Oct 20 00:19:39 IST 2026
[2026-10-20 00:19:39,395.395 INFO    ] ================================================
[2026-10-20 00:19:39,979.979 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:19:39
[2026-10-20 00:19:40,578.578 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:19:40,850.850 INFO    ] Initializing speech engine...
[2026-10-20 00:19:40,859.859 INFO    ] 2026-10-20 00:19:40
[2026-10-20 00:19:41,109.109 INFO    ] 2026-10-20 00:19:41
[2026-10-20 00:19:41,145.145 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:19:41,396.396 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:19:41,405.405 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:19:41,602.602 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:19:41,664.664 INFO    ] time= 20/10/2026 00:19:41
[2026-10-20 00:19:41,671.671 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:19:41,690.690 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:19:41,821.821 INFO    ] No existing commands found in stream
[2026-10-20 00:19:46,835.835 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:19:46,838.838 INFO    ] Waiting 1.88 seconds before fallback handling...
[2026-10-20 00:19:49,253.253 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:19:49,255.255 INFO    ] Checking for system updates...
[2026-10-20 00:19:49,297.297 INFO    ] 200
[2026-10-20 00:19:49,299.299 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:19:49,351.351 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:19:49,354.354 INFO    ] No update needed
[2026-10-20 00:19:49,356.356 INFO    ] Checking for camera pi updates...
[2026-10-20 00:19:49,395.395 INFO    ] 200
[2026-10-20 00:19:49,397.397 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:19:49,438.438 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:19:49,587.587 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:19:49,590.590 INFO    ] No camera update needed
[2026-10-20 00:19:49,592.592 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:19:49,594.594 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:19:49,600.600 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:19:49,605.605 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:19:51,647.647 INFO    ] ================================================
[2026-10-20 00:19:51,663.663 INFO    ] Launching Daemon at Tue Oct 20 00:19:51 IST 2026
[2026-10-20 00:19:51,673.673 INFO    ] ================================================
[2026-10-20 00:19:52,305.305 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:19:52
[2026-10-20 00:19:52,909.909 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:19:53,226.226 INFO    ] Initializing speech engine...
[2026-10-20 00:19:53,238.238 INFO    ] 2026-10-20 00:19:53
[2026-10-20 00:19:53,531.531 INFO    ] 2026-10-20 00:19:53
[2026-10-20 00:19:53,644.644 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:19:53,903.903 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:19:53,938.938 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:19:54,099.099 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:19:54,128.128 INFO    ] time= 20/10/2026 00:19:54
[2026-10-20 00:19:54,138.138 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:19:54,146.146 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:19:54,310.310 INFO    ] No existing commands found in stream
[2026-10-20 00:19:59,342.342 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:19:59,345.345 INFO    ] Waiting 0.58 seconds before fallback handling...
[2026-10-20 00:20:00,462.462 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 00:20:00,465.465 INFO    ] Checking for system updates...
[2026-10-20 00:20:00,501.501 INFO    ] 200
[2026-10-20 00:20:00,504.504 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:20:00,555.555 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:20:00,558.558 INFO    ] No update needed
[2026-10-20 00:20:00,561.561 INFO    ] Checking for camera pi updates...
[2026-10-20 00:20:00,598.598 INFO    ] 200
[2026-10-20 00:20:00,601.601 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:20:00,641.641 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:20:00,693.693 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:20:00,696.696 INFO    ] No camera update needed
[2026-10-20 00:20:00,698.698 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:20:00,700.700 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:20:00,705.705 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:20:00,710.710 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:20:02,760.760 INFO    ] ================================================
[2026-10-20 00:20:02,789.789 INFO    ] Launching Daemon at Tue Oct 20 00:20:02 IST 2026
[2026-10-20 00:20:02,810.810 INFO    ] ================================================
[2026-10-20 00:20:03,501.501 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:20:03
[2026-10-20 00:20:04,168.168 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:20:04,466.466 INFO    ] Initializing speech engine...
[2026-10-20 00:20:04,472.472 INFO    ] 2026-10-20 00:20:04
[2026-10-20 00:20:04,722.722 INFO    ] 2026-10-20 00:20:04
[2026-10-20 00:20:04,763.763 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:20:05,014.014 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:20:05,024.024 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:20:05,243.243 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:20:05,288.288 INFO    ] time= 20/10/2026 00:20:05
[2026-10-20 00:20:05,294.294 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:20:05,312.312 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:20:05,443.443 INFO    ] No existing commands found in stream
[2026-10-20 00:20:10,459.459 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:20:10,461.461 INFO    ] Waiting 2.08 seconds before fallback handling...
[2026-10-20 00:20:13,020.020 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 00:20:13,022.022 INFO    ] Checking for system updates...
[2026-10-20 00:20:13,062.062 INFO    ] 200
[2026-10-20 00:20:13,064.064 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:20:13,116.116 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:20:13,118.118 INFO    ] No update needed
[2026-10-20 00:20:13,121.121 INFO    ] Checking for camera pi updates...
[2026-10-20 00:20:13,158.158 INFO    ] 200
[2026-10-20 00:20:13,160.160 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:20:13,204.204 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:20:13,254.254 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:20:13,256.256 INFO    ] No camera update needed
[2026-10-20 00:20:13,259.259 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:20:13,261.261 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:20:13,266.266 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:20:13,272.272 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:20:15,313.313 INFO    ] ================================================
[2026-10-20 00:20:15,329.329 INFO    ] Launching Daemon at Tue Oct 20 00:20:15 IST 2026
[2026-10-20 00:20:15,340.340 INFO    ] ================================================
[2026-10-20 00:20:15,927.927 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:20:15
[2026-10-20 00:20:16,525.525 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:20:16,780.780 INFO    ] Initializing speech engine...
[2026-10-20 00:20:16,803.803 INFO    ] 2026-10-20 00:20:16
[2026-10-20 00:20:17,062.062 INFO    ] 2026-10-20 00:20:17
[2026-10-20 00:20:17,097.097 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:20:17,350.350 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:20:17,359.359 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:20:17,572.572 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:20:17,617.617 INFO    ] time= 20/10/2026 00:20:17
[2026-10-20 00:20:17,623.623 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:20:17,641.641 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:20:17,750.750 INFO    ] No existing commands found in stream
[2026-10-20 00:20:22,760.760 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:20:22,763.763 INFO    ] Waiting 0.88 seconds before fallback handling...
[2026-10-20 00:20:24,215.215 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:20:24,218.218 INFO    ] Checking for system updates...
[2026-10-20 00:20:24,258.258 INFO    ] 200
[2026-10-20 00:20:24,261.261 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:20:24,318.318 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:20:24,321.321 INFO    ] No update needed
[2026-10-20 00:20:24,324.324 INFO    ] Checking for camera pi updates...
[2026-10-20 00:20:24,362.362 INFO    ] 200
[2026-10-20 00:20:24,365.365 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:20:24,414.414 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:20:24,463.463 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:20:24,466.466 INFO    ] No camera update needed
[2026-10-20 00:20:24,468.468 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:20:24,471.471 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:20:24,477.477 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:20:24,483.483 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:20:26,524.524 INFO    ] ================================================
[2026-10-20 00:20:26,540.540 INFO    ] Launching Daemon at Tue Oct 20 00:20:26 IST 2026
[2026-10-20 00:20:26,552.552 INFO    ] ================================================
[2026-10-20 00:20:27,133.133 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:20:27
[2026-10-20 00:20:27,732.732 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:20:28,012.012 INFO    ] Initializing speech engine...
[2026-10-20 00:20:28,021.021 INFO    ] 2026-10-20 00:20:28
[2026-10-20 00:20:28,266.266 INFO    ] 2026-10-20 00:20:28
[2026-10-20 00:20:28,301.301 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:20:28,553.553 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:20:28,562.562 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:20:28,767.767 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:20:28,821.821 INFO    ] time= 20/10/2026 00:20:28
[2026-10-20 00:20:28,827.827 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:20:28,845.845 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:20:28,979.979 INFO    ] No existing commands found in stream
[2026-10-20 00:20:34,006.006 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:20:34,010.010 INFO    ] Waiting 1.40 seconds before fallback handling...
[2026-10-20 00:20:35,906.906 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:20:35,908.908 INFO    ] Checking for system updates...
[2026-10-20 00:20:35,946.946 INFO    ] 200
[2026-10-20 00:20:35,948.948 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:20:36,000.000 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:20:36,002.002 INFO    ] No update needed
[2026-10-20 00:20:36,005.005 INFO    ] Checking for camera pi updates...
[2026-10-20 00:20:36,039.039 INFO    ] 200
[2026-10-20 00:20:36,041.041 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:20:36,082.082 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:20:36,127.127 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:20:36,130.130 INFO    ] No camera update needed
[2026-10-20 00:20:36,132.132 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:20:36,135.135 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:20:36,140.140 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:20:36,145.145 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:20:38,186.186 INFO    ] ================================================
[2026-10-20 00:20:38,206.206 INFO    ] Launching Daemon at Tue Oct 20 00:20:38 IST 2026
[2026-10-20 00:20:38,217.217 INFO    ] ================================================
[2026-10-20 00:20:38,875.875 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:20:38
[2026-10-20 00:20:39,538.538 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:20:39,795.795 INFO    ] Initializing speech engine...
[2026-10-20 00:20:39,814.814 INFO    ] 2026-10-20 00:20:39
[2026-10-20 00:20:40,129.129 INFO    ] 2026-10-20 00:20:40
[2026-10-20 00:20:40,167.167 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:20:40,404.404 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:20:40,423.423 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:20:40,581.581 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:20:40,659.659 INFO    ] time= 20/10/2026 00:20:40
[2026-10-20 00:20:40,676.676 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:20:40,732.732 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:20:40,837.837 INFO    ] No existing commands found in stream
[2026-10-20 00:20:45,846.846 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:20:45,849.849 INFO    ] Waiting 0.20 seconds before fallback handling...
[2026-10-20 00:20:46,536.536 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:20:46,539.539 INFO    ] Checking for system updates...
[2026-10-20 00:20:46,574.574 INFO    ] 200
[2026-10-20 00:20:46,576.576 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:20:46,635.635 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:20:46,638.638 INFO    ] No update needed
[2026-10-20 00:20:46,640.640 INFO    ] Checking for camera pi updates...
[2026-10-20 00:20:46,677.677 INFO    ] 200
[2026-10-20 00:20:46,679.679 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:20:46,719.719 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:20:46,778.778 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:20:46,781.781 INFO    ] No camera update needed
[2026-10-20 00:20:46,783.783 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:20:46,785.785 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:20:46,791.791 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:20:46,796.796 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:20:48,841.841 INFO    ] ================================================
[2026-10-20 00:20:48,857.857 INFO    ] Launching Daemon at Tue Oct 20 00:20:48 IST 2026
[2026-10-20 00:20:48,868.868 INFO    ] ================================================
[2026-10-20 00:20:49,522.522 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:20:49
[2026-10-20 00:20:50,197.197 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:20:50,501.501 INFO    ] Initializing speech engine...
[2026-10-20 00:20:50,509.509 INFO    ] 2026-10-20 00:20:50
[2026-10-20 00:20:50,826.826 INFO    ] 2026-10-20 00:20:50
[2026-10-20 00:20:50,912.912 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:20:51,192.192 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:20:51,247.247 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:20:51,461.461 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:20:51,488.488 INFO    ] time= 20/10/2026 00:20:51
[2026-10-20 00:20:51,547.547 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:20:51,585.585 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:20:51,734.734 INFO    ] No existing commands found in stream
[2026-10-20 00:20:56,752.752 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:20:56,755.755 INFO    ] Waiting 3.08 seconds before fallback handling...
[2026-10-20 00:21:00,432.432 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:21:00,435.435 INFO    ] Checking for system updates...
[2026-10-20 00:21:00,472.472 INFO    ] 200
[2026-10-20 00:21:00,475.475 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:21:00,533.533 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:21:00,536.536 INFO    ] No update needed
[2026-10-20 00:21:00,538.538 INFO    ] Checking for camera pi updates...
[2026-10-20 00:21:00,572.572 INFO    ] 200
[2026-10-20 00:21:00,575.575 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:21:00,620.620 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:21:00,666.666 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:21:00,669.669 INFO    ] No camera update needed
[2026-10-20 00:21:00,671.671 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:21:00,674.674 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:21:00,679.679 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:21:00,684.684 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:21:02,735.735 INFO    ] ================================================
[2026-10-20 00:21:02,756.756 INFO    ] Launching Daemon at Tue Oct 20 00:21:02 IST 2026
[2026-10-20 00:21:02,770.770 INFO    ] ================================================
[2026-10-20 00:21:03,389.389 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:21:03
[2026-10-20 00:21:03,977.977 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:21:04,227.227 INFO    ] Initializing speech engine...
[2026-10-20 00:21:04,240.240 INFO    ] 2026-10-20 00:21:04
[2026-10-20 00:21:04,506.506 INFO    ] 2026-10-20 00:21:04
[2026-10-20 00:21:04,541.541 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:21:04,799.799 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:21:04,808.808 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:21:04,996.996 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:21:05,045.045 INFO    ] time= 20/10/2026 00:21:05
[2026-10-20 00:21:05,077.077 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:21:05,083.083 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:21:05,221.221 INFO    ] No existing commands found in stream
[2026-10-20 00:21:10,239.239 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:21:10,242.242 INFO    ] Waiting 3.34 seconds before fallback handling...
[2026-10-20 00:21:14,061.061 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:21:14,064.064 INFO    ] Checking for system updates...
[2026-10-20 00:21:14,099.099 INFO    ] 200
[2026-10-20 00:21:14,101.101 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:21:14,153.153 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:21:14,156.156 INFO    ] No update needed
[2026-10-20 00:21:14,158.158 INFO    ] Checking for camera pi updates...
[2026-10-20 00:21:14,192.192 INFO    ] 200
[2026-10-20 00:21:14,194.194 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:21:14,240.240 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:21:14,297.297 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:21:14,300.300 INFO    ] No camera update needed
[2026-10-20 00:21:14,302.302 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:21:14,304.304 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:21:14,310.310 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:21:14,315.315 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:21:16,356.356 INFO    ] ================================================
[2026-10-20 00:21:16,371.371 INFO    ] Launching Daemon at Tue Oct 20 00:21:16 IST 2026
[2026-10-20 00:21:16,381.381 INFO    ] ================================================
[2026-10-20 00:21:16,966.966 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:21:16
[2026-10-20 00:21:17,573.573 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:21:17,879.879 INFO    ] Initializing speech engine...
[2026-10-20 00:21:17,893.893 INFO    ] 2026-10-20 00:21:17
[2026-10-20 00:21:18,183.183 INFO    ] 2026-10-20 00:21:18
[2026-10-20 00:21:18,288.288 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:21:18,511.511 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:21:18,519.519 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:21:18,713.713 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:21:18,735.735 INFO    ] time= 20/10/2026 00:21:18
[2026-10-20 00:21:18,763.763 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:21:18,774.774 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:21:18,916.916 INFO    ] No existing commands found in stream
[2026-10-20 00:21:23,942.942 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:21:23,945.945 INFO    ] Waiting 1.43 seconds before fallback handling...
[2026-10-20 00:21:25,911.911 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 00:21:25,915.915 INFO    ] Checking for system updates...
[2026-10-20 00:21:25,956.956 INFO    ] 200
[2026-10-20 00:21:25,960.960 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:21:26,026.026 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:21:26,029.029 INFO    ] No update needed
[2026-10-20 00:21:26,033.033 INFO    ] Checking for camera pi updates...
[2026-10-20 00:21:26,068.068 INFO    ] 200
[2026-10-20 00:21:26,071.071 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:21:26,119.119 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:21:26,164.164 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:21:26,167.167 INFO    ] No camera update needed
[2026-10-20 00:21:26,170.170 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:21:26,173.173 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:21:26,179.179 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:21:26,185.185 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:21:28,230.230 INFO    ] ================================================
[2026-10-20 00:21:28,246.246 INFO    ] Launching Daemon at Tue Oct 20 00:21:28 IST 2026
[2026-10-20 00:21:28,257.257 INFO    ] ================================================
[2026-10-20 00:21:28,861.861 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:21:28
[2026-10-20 00:21:29,482.482 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:21:29,732.732 INFO    ] Initializing speech engine...
[2026-10-20 00:21:29,744.744 INFO    ] 2026-10-20 00:21:29
[2026-10-20 00:21:30,012.012 INFO    ] 2026-10-20 00:21:30
[2026-10-20 00:21:30,046.046 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:21:30,306.306 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:21:30,312.312 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:21:30,450.450 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:21:30,515.515 INFO    ] time= 20/10/2026 00:21:30
[2026-10-20 00:21:30,574.574 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:21:30,583.583 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:21:30,731.731 INFO    ] No existing commands found in stream
[2026-10-20 00:21:35,746.746 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:21:35,748.748 INFO    ] Waiting 0.43 seconds before fallback handling...
[2026-10-20 00:21:36,671.671 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:21:36,674.674 INFO    ] Checking for system updates...
[2026-10-20 00:21:36,714.714 INFO    ] 200
[2026-10-20 00:21:36,717.717 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:21:36,768.768 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:21:36,771.771 INFO    ] No update needed
[2026-10-20 00:21:36,773.773 INFO    ] Checking for camera pi updates...
[2026-10-20 00:21:36,806.806 INFO    ] 200
[2026-10-20 00:21:36,808.808 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:21:36,848.848 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:21:36,891.891 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:21:36,893.893 INFO    ] No camera update needed
[2026-10-20 00:21:36,896.896 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:21:36,898.898 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:21:36,904.904 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:21:36,908.908 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:21:38,948.948 INFO    ] ================================================
[2026-10-20 00:21:38,963.963 INFO    ] Launching Daemon at Tue Oct 20 00:21:38 IST 2026
[2026-10-20 00:21:38,975.975 INFO    ] ================================================
[2026-10-20 00:21:39,556.556 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:21:39
[2026-10-20 00:21:40,154.154 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:21:40,430.430 INFO    ] Initializing speech engine...
[2026-10-20 00:21:40,439.439 INFO    ] 2026-10-20 00:21:40
[2026-10-20 00:21:40,702.702 INFO    ] 2026-10-20 00:21:40
[2026-10-20 00:21:40,732.732 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:21:40,984.984 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:21:40,991.991 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:21:41,199.199 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:21:41,249.249 INFO    ] time= 20/10/2026 00:21:41
[2026-10-20 00:21:41,256.256 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:21:41,276.276 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:21:41,405.405 INFO    ] No existing commands found in stream
[2026-10-20 00:21:46,421.421 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:21:46,423.423 INFO    ] Waiting 1.77 seconds before fallback handling...
[2026-10-20 00:21:48,761.761 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:21:48,764.764 INFO    ] Checking for system updates...
[2026-10-20 00:21:48,805.805 INFO    ] 200
[2026-10-20 00:21:48,807.807 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:21:48,859.859 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:21:48,861.861 INFO    ] No update needed
[2026-10-20 00:21:48,863.863 INFO    ] Checking for camera pi updates...
[2026-10-20 00:21:48,901.901 INFO    ] 200
[2026-10-20 00:21:48,904.904 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:21:48,944.944 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:21:48,996.996 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:21:48,999.999 INFO    ] No camera update needed
[2026-10-20 00:21:49,001.001 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:21:49,003.003 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:21:49,009.009 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:21:49,013.013 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:21:51,057.057 INFO    ] ================================================
[2026-10-20 00:21:51,073.073 INFO    ] Launching Daemon at Tue Oct 20 00:21:51 IST 2026
[2026-10-20 00:21:51,085.085 INFO    ] ================================================
[2026-10-20 00:21:51,668.668 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:21:51
[2026-10-20 00:21:52,267.267 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:21:52,531.531 INFO    ] Initializing speech engine...
[2026-10-20 00:21:52,551.551 INFO    ] 2026-10-20 00:21:52
[2026-10-20 00:21:52,803.803 INFO    ] 2026-10-20 00:21:52
[2026-10-20 00:21:52,844.844 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:21:53,088.088 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:21:53,097.097 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:21:53,311.311 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:21:53,355.355 INFO    ] time= 20/10/2026 00:21:53
[2026-10-20 00:21:53,361.361 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:21:53,382.382 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:21:53,510.510 INFO    ] No existing commands found in stream
[2026-10-20 00:21:58,530.530 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:21:58,532.532 INFO    ] Waiting 0.85 seconds before fallback handling...
[2026-10-20 00:21:59,920.920 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:21:59,923.923 INFO    ] Checking for system updates...
[2026-10-20 00:21:59,958.958 INFO    ] 200
[2026-10-20 00:21:59,961.961 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:22:00,014.014 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:22:00,016.016 INFO    ] No update needed
[2026-10-20 00:22:00,019.019 INFO    ] Checking for camera pi updates...
[2026-10-20 00:22:00,057.057 INFO    ] 200
[2026-10-20 00:22:00,060.060 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:22:00,106.106 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:22:00,251.251 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:22:00,254.254 INFO    ] No camera update needed
[2026-10-20 00:22:00,257.257 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:22:00,260.260 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:22:00,266.266 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:22:00,272.272 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:22:02,316.316 INFO    ] ================================================
[2026-10-20 00:22:02,335.335 INFO    ] Launching Daemon at Tue Oct 20 00:22:02 IST 2026
[2026-10-20 00:22:02,349.349 INFO    ] ================================================
[2026-10-20 00:22:03,003.003 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:22:02
[2026-10-20 00:22:03,637.637 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:22:03,890.890 INFO    ] Initializing speech engine...
[2026-10-20 00:22:03,899.899 INFO    ] 2026-10-20 00:22:03
[2026-10-20 00:22:04,199.199 INFO    ] 2026-10-20 00:22:04
[2026-10-20 00:22:04,236.236 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:22:04,521.521 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:22:04,531.531 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:22:04,680.680 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:22:04,702.702 INFO    ] time= 20/10/2026 00:22:04
[2026-10-20 00:22:04,761.761 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:22:04,826.826 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:22:04,954.954 INFO    ] No existing commands found in stream
[2026-10-20 00:22:09,971.971 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:22:09,974.974 INFO    ] Waiting 0.64 seconds before fallback handling...
[2026-10-20 00:22:11,241.241 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 00:22:11,244.244 INFO    ] Checking for system updates...
[2026-10-20 00:22:11,285.285 INFO    ] 200
[2026-10-20 00:22:11,288.288 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:22:11,344.344 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:22:11,347.347 INFO    ] No update needed
[2026-10-20 00:22:11,350.350 INFO    ] Checking for camera pi updates...
[2026-10-20 00:22:11,391.391 INFO    ] 200
[2026-10-20 00:22:11,393.393 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:22:11,437.437 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:22:11,483.483 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:22:11,486.486 INFO    ] No camera update needed
[2026-10-20 00:22:11,488.488 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:22:11,491.491 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:22:11,497.497 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:22:11,503.503 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:22:13,544.544 INFO    ] ================================================
[2026-10-20 00:22:13,560.560 INFO    ] Launching Daemon at Tue Oct 20 00:22:13 IST 2026
[2026-10-20 00:22:13,571.571 INFO    ] ================================================
[2026-10-20 00:22:14,182.182 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:22:14
[2026-10-20 00:22:14,803.803 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:22:15,091.091 INFO    ] Initializing speech engine...
[2026-10-20 00:22:15,101.101 INFO    ] 2026-10-20 00:22:15
[2026-10-20 00:22:15,373.373 INFO    ] 2026-10-20 00:22:15
[2026-10-20 00:22:15,402.402 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:22:15,770.770 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:22:15,780.780 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:22:15,929.929 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:22:15,956.956 INFO    ] time= 20/10/2026 00:22:15
[2026-10-20 00:22:15,964.964 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:22:15,971.971 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:22:16,103.103 INFO    ] No existing commands found in stream
[2026-10-20 00:22:21,133.133 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:22:21,136.136 INFO    ] Waiting 0.11 seconds before fallback handling...
[2026-10-20 00:22:21,764.764 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:22:21,767.767 INFO    ] Checking for system updates...
[2026-10-20 00:22:21,802.802 INFO    ] 200
[2026-10-20 00:22:21,805.805 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:22:21,856.856 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:22:21,858.858 INFO    ] No update needed
[2026-10-20 00:22:21,861.861 INFO    ] Checking for camera pi updates...
[2026-10-20 00:22:21,899.899 INFO    ] 200
[2026-10-20 00:22:21,902.902 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:22:21,943.943 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:22:21,993.993 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:22:21,996.996 INFO    ] No camera update needed
[2026-10-20 00:22:21,999.999 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:22:22,001.001 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:22:22,008.008 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:22:22,014.014 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:22:24,060.060 INFO    ] ================================================
[2026-10-20 00:22:24,075.075 INFO    ] Launching Daemon at Tue Oct 20 00:22:24 IST 2026
[2026-10-20 00:22:24,087.087 INFO    ] ================================================
[2026-10-20 00:22:24,752.752 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:22:24
[2026-10-20 00:22:25,361.361 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:22:25,643.643 INFO    ] Initializing speech engine...
[2026-10-20 00:22:25,652.652 INFO    ] 2026-10-20 00:22:25
[2026-10-20 00:22:25,911.911 INFO    ] 2026-10-20 00:22:25
[2026-10-20 00:22:25,941.941 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:22:26,192.192 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:22:26,196.196 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:22:26,388.388 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:22:26,454.454 INFO    ] time= 20/10/2026 00:22:26
[2026-10-20 00:22:26,461.461 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:22:26,479.479 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:22:26,611.611 INFO    ] No existing commands found in stream
[2026-10-20 00:22:31,631.631 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:22:31,634.634 INFO    ] Waiting 3.80 seconds before fallback handling...
[2026-10-20 00:22:35,926.926 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:22:35,929.929 INFO    ] Checking for system updates...
[2026-10-20 00:22:35,969.969 INFO    ] 200
[2026-10-20 00:22:35,972.972 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:22:36,026.026 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:22:36,030.030 INFO    ] No update needed
[2026-10-20 00:22:36,033.033 INFO    ] Checking for camera pi updates...
[2026-10-20 00:22:36,071.071 INFO    ] 200
[2026-10-20 00:22:36,074.074 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:22:36,116.116 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:22:36,169.169 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:22:36,172.172 INFO    ] No camera update needed
[2026-10-20 00:22:36,174.174 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:22:36,177.177 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:22:36,182.182 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:22:36,187.187 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:22:38,229.229 INFO    ] ================================================
[2026-10-20 00:22:38,245.245 INFO    ] Launching Daemon at Tue Oct 20 00:22:38 IST 2026
[2026-10-20 00:22:38,256.256 INFO    ] ================================================
[2026-10-20 00:22:38,925.925 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:22:38
[2026-10-20 00:22:39,612.612 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:22:39,928.928 INFO    ] Initializing speech engine...
[2026-10-20 00:22:39,939.939 INFO    ] 2026-10-20 00:22:39
[2026-10-20 00:22:40,229.229 INFO    ] 2026-10-20 00:22:40
[2026-10-20 00:22:40,281.281 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:22:40,567.567 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:22:40,576.576 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:22:40,775.775 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:22:40,786.786 INFO    ] time= 20/10/2026 00:22:40
[2026-10-20 00:22:40,808.808 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:22:40,837.837 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:22:40,966.966 INFO    ] No existing commands found in stream
[2026-10-20 00:22:46,001.001 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:22:46,005.005 INFO    ] Waiting 3.91 seconds before fallback handling...
[2026-10-20 00:22:50,468.468 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 00:22:50,471.471 INFO    ] Checking for system updates...
[2026-10-20 00:22:50,509.509 INFO    ] 200
[2026-10-20 00:22:50,512.512 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:22:50,574.574 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:22:50,577.577 INFO    ] No update needed
[2026-10-20 00:22:50,580.580 INFO    ] Checking for camera pi updates...
[2026-10-20 00:22:50,615.615 INFO    ] 200
[2026-10-20 00:22:50,618.618 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:22:50,664.664 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:22:50,715.715 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:22:50,718.718 INFO    ] No camera update needed
[2026-10-20 00:22:50,721.721 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:22:50,724.724 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:22:50,730.730 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:22:50,736.736 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:22:52,776.776 INFO    ] ================================================
[2026-10-20 00:22:52,792.792 INFO    ] Launching Daemon at Tue Oct 20 00:22:52 IST 2026
[2026-10-20 00:22:52,803.803 INFO    ] ================================================
[2026-10-20 00:22:53,373.373 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:22:53
[2026-10-20 00:22:53,957.957 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:22:54,229.229 INFO    ] Initializing speech engine...
[2026-10-20 00:22:54,234.234 INFO    ] 2026-10-20 00:22:54
[2026-10-20 00:22:54,480.480 INFO    ] 2026-10-20 00:22:54
[2026-10-20 00:22:54,516.516 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:22:54,717.717 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:22:54,731.731 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:22:54,902.902 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:22:54,907.907 INFO    ] time= 20/10/2026 00:22:54
[2026-10-20 00:22:54,913.913 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:22:54,936.936 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:22:55,072.072 INFO    ] No existing commands found in stream
[2026-10-20 00:23:00,092.092 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:23:00,095.095 INFO    ] Waiting 1.14 seconds before fallback handling...
[2026-10-20 00:23:01,797.797 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:23:01,810.810 INFO    ] Checking for system updates...
[2026-10-20 00:23:01,860.860 INFO    ] 200
[2026-10-20 00:23:01,864.864 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:23:01,954.954 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:23:01,957.957 INFO    ] No update needed
[2026-10-20 00:23:01,960.960 INFO    ] Checking for camera pi updates...
[2026-10-20 00:23:02,000.000 INFO    ] 200
[2026-10-20 00:23:02,004.004 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:23:02,057.057 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:23:02,108.108 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:23:02,112.112 INFO    ] No camera update needed
[2026-10-20 00:23:02,115.115 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:23:02,119.119 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:23:02,127.127 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:23:02,134.134 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:23:04,178.178 INFO    ] ================================================
[2026-10-20 00:23:04,194.194 INFO    ] Launching Daemon at Tue Oct 20 00:23:04 IST 2026
[2026-10-20 00:23:04,205.205 INFO    ] ================================================
[2026-10-20 00:23:04,788.788 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:23:04
[2026-10-20 00:23:05,393.393 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:23:05,655.655 INFO    ] Initializing speech engine...
[2026-10-20 00:23:05,662.662 INFO    ] 2026-10-20 00:23:05
[2026-10-20 00:23:05,953.953 INFO    ] 2026-10-20 00:23:05
[2026-10-20 00:23:05,991.991 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:23:06,186.186 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:23:06,199.199 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:23:06,362.362 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:23:06,368.368 INFO    ] time= 20/10/2026 00:23:06
[2026-10-20 00:23:06,374.374 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:23:06,406.406 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:23:06,552.552 INFO    ] No existing commands found in stream
[2026-10-20 00:23:11,572.572 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:23:11,574.574 INFO    ] Waiting 1.67 seconds before fallback handling...
[2026-10-20 00:23:13,763.763 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:23:13,766.766 INFO    ] Checking for system updates...
[2026-10-20 00:23:13,801.801 INFO    ] 200
[2026-10-20 00:23:13,803.803 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:23:13,861.861 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:23:13,863.863 INFO    ] No update needed
[2026-10-20 00:23:13,866.866 INFO    ] Checking for camera pi updates...
[2026-10-20 00:23:13,899.899 INFO    ] 200
[2026-10-20 00:23:13,901.901 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:23:13,942.942 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:23:13,987.987 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:23:13,990.990 INFO    ] No camera update needed
[2026-10-20 00:23:13,992.992 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:23:13,995.995 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:23:14,000.000 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:23:14,005.005 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:23:16,045.045 INFO    ] ================================================
[2026-10-20 00:23:16,061.061 INFO    ] Launching Daemon at Tue Oct 20 00:23:16 IST 2026
[2026-10-20 00:23:16,072.072 INFO    ] ================================================
[2026-10-20 00:23:16,712.712 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:23:16
[2026-10-20 00:23:17,371.371 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:23:17,667.667 INFO    ] Initializing speech engine...
[2026-10-20 00:23:17,673.673 INFO    ] 2026-10-20 00:23:17
[2026-10-20 00:23:17,957.957 INFO    ] 2026-10-20 00:23:17
[2026-10-20 00:23:18,000.000 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:23:18,267.267 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:23:18,291.291 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:23:18,486.486 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:23:18,494.494 INFO    ] time= 20/10/2026 00:23:18
[2026-10-20 00:23:18,515.515 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:23:18,543.543 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:23:18,678.678 INFO    ] No existing commands found in stream
[2026-10-20 00:23:23,714.714 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:23:23,717.717 INFO    ] Waiting 2.16 seconds before fallback handling...
[2026-10-20 00:23:26,414.414 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 00:23:26,417.417 INFO    ] Checking for system updates...
[2026-10-20 00:23:26,453.453 INFO    ] 200
[2026-10-20 00:23:26,455.455 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:23:26,510.510 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:23:26,512.512 INFO    ] No update needed
[2026-10-20 00:23:26,515.515 INFO    ] Checking for camera pi updates...
[2026-10-20 00:23:26,549.549 INFO    ] 200
[2026-10-20 00:23:26,552.552 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:23:26,595.595 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:23:26,655.655 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:23:26,658.658 INFO    ] No camera update needed
[2026-10-20 00:23:26,660.660 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:23:26,663.663 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:23:26,668.668 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:23:26,673.673 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:23:28,712.712 INFO    ] ================================================
[2026-10-20 00:23:28,728.728 INFO    ] Launching Daemon at Tue Oct 20 00:23:28 IST 2026
[2026-10-20 00:23:28,738.738 INFO    ] ================================================
[2026-10-20 00:23:29,379.379 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:23:29
[2026-10-20 00:23:30,042.042 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:23:30,340.340 INFO    ] Initializing speech engine...
[2026-10-20 00:23:30,354.354 INFO    ] 2026-10-20 00:23:30
[2026-10-20 00:23:30,632.632 INFO    ] 2026-10-20 00:23:30
[2026-10-20 00:23:30,675.675 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:23:30,960.960 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:23:30,965.965 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:23:31,158.158 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:23:31,166.166 INFO    ] time= 20/10/2026 00:23:31
[2026-10-20 00:23:31,184.184 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:23:31,213.213 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:23:31,339.339 INFO    ] No existing commands found in stream
[2026-10-20 00:23:36,370.370 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:23:36,373.373 INFO    ] Waiting 1.39 seconds before fallback handling...
[2026-10-20 00:23:38,315.315 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 00:23:38,319.319 INFO    ] Checking for system updates...
[2026-10-20 00:23:38,359.359 INFO    ] 200
[2026-10-20 00:23:38,361.361 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:23:38,413.413 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:23:38,415.415 INFO    ] No update needed
[2026-10-20 00:23:38,418.418 INFO    ] Checking for camera pi updates...
[2026-10-20 00:23:38,451.451 INFO    ] 200
[2026-10-20 00:23:38,454.454 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:23:38,493.493 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:23:38,540.540 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:23:38,543.543 INFO    ] No camera update needed
[2026-10-20 00:23:38,545.545 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:23:38,547.547 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:23:38,553.553 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:23:38,557.557 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:23:40,599.599 INFO    ] ================================================
[2026-10-20 00:23:40,614.614 INFO    ] Launching Daemon at Tue Oct 20 00:23:40 IST 2026
[2026-10-20 00:23:40,625.625 INFO    ] ================================================
[2026-10-20 00:23:41,190.190 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:23:41
[2026-10-20 00:23:41,774.774 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:23:42,024.024 INFO    ] Initializing speech engine...
[2026-10-20 00:23:42,047.047 INFO    ] 2026-10-20 00:23:42
[2026-10-20 00:23:42,302.302 INFO    ] 2026-10-20 00:23:42
[2026-10-20 00:23:42,337.337 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:23:42,595.595 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:23:42,604.604 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:23:42,826.826 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:23:42,869.869 INFO    ] time= 20/10/2026 00:23:42
[2026-10-20 00:23:42,875.875 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:23:42,892.892 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:23:43,037.037 INFO    ] No existing commands found in stream
[2026-10-20 00:23:48,068.068 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:23:48,071.071 INFO    ] Waiting 0.81 seconds before fallback handling...
[2026-10-20 00:23:49,367.367 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:23:49,370.370 INFO    ] Checking for system updates...
[2026-10-20 00:23:49,409.409 INFO    ] 200
[2026-10-20 00:23:49,411.411 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:23:49,469.469 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:23:49,471.471 INFO    ] No update needed
[2026-10-20 00:23:49,474.474 INFO    ] Checking for camera pi updates...
[2026-10-20 00:23:49,510.510 INFO    ] 200
[2026-10-20 00:23:49,513.513 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:23:49,552.552 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:23:49,599.599 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:23:49,602.602 INFO    ] No camera update needed
[2026-10-20 00:23:49,604.604 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:23:49,606.606 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:23:49,612.612 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:23:49,616.616 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:23:51,655.655 INFO    ] ================================================
[2026-10-20 00:23:51,671.671 INFO    ] Launching Daemon at Tue Oct 20 00:23:51 IST 2026
[2026-10-20 00:23:51,682.682 INFO    ] ================================================
[2026-10-20 00:23:52,249.249 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:23:52
[2026-10-20 00:23:52,832.832 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:23:53,110.110 INFO    ] Initializing speech engine...
[2026-10-20 00:23:53,117.117 INFO    ] 2026-10-20 00:23:53
[2026-10-20 00:23:53,364.364 INFO    ] 2026-10-20 00:23:53
[2026-10-20 00:23:53,399.399 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:23:53,639.639 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:23:53,661.661 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:23:53,876.876 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:23:53,930.930 INFO    ] time= 20/10/2026 00:23:53
[2026-10-20 00:23:53,936.936 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:23:53,954.954 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:23:54,071.071 INFO    ] No existing commands found in stream
[2026-10-20 00:23:59,094.094 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:23:59,096.096 INFO    ] Waiting 3.23 seconds before fallback handling...
[2026-10-20 00:24:02,868.868 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 00:24:02,872.872 INFO    ] Checking for system updates...
[2026-10-20 00:24:02,921.921 INFO    ] 200
[2026-10-20 00:24:02,924.924 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:24:02,987.987 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:24:02,989.989 INFO    ] No update needed
[2026-10-20 00:24:02,992.992 INFO    ] Checking for camera pi updates...
[2026-10-20 00:24:03,036.036 INFO    ] 200
[2026-10-20 00:24:03,041.041 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:24:03,086.086 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:24:03,121.121 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:24:03,125.125 INFO    ] No camera update needed
[2026-10-20 00:24:03,129.129 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:24:03,132.132 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:24:03,138.138 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:24:03,144.144 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:24:05,186.186 INFO    ] ================================================
[2026-10-20 00:24:05,202.202 INFO    ] Launching Daemon at Tue Oct 20 00:24:05 IST 2026
[2026-10-20 00:24:05,213.213 INFO    ] ================================================
[2026-10-20 00:24:05,780.780 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:24:05
[2026-10-20 00:24:06,365.365 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:24:06,637.637 INFO    ] Initializing speech engine...
[2026-10-20 00:24:06,657.657 INFO    ] 2026-10-20 00:24:06
[2026-10-20 00:24:06,926.926 INFO    ] 2026-10-20 00:24:06
[2026-10-20 00:24:06,961.961 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:24:07,162.162 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:24:07,178.178 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:24:07,344.344 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:24:07,352.352 INFO    ] time= 20/10/2026 00:24:07
[2026-10-20 00:24:07,360.360 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:24:07,387.387 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:24:07,530.530 INFO    ] No existing commands found in stream
[2026-10-20 00:24:12,555.555 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:24:12,558.558 INFO    ] Waiting 2.73 seconds before fallback handling...
[2026-10-20 00:24:15,746.746 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:24:15,749.749 INFO    ] Checking for system updates...
[2026-10-20 00:24:15,784.784 INFO    ] 200
[2026-10-20 00:24:15,787.787 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:24:15,839.839 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:24:15,842.842 INFO    ] No update needed
[2026-10-20 00:24:15,844.844 INFO    ] Checking for camera pi updates...
[2026-10-20 00:24:15,881.881 INFO    ] 200
[2026-10-20 00:24:15,884.884 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:24:15,931.931 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:24:15,981.981 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:24:15,983.983 INFO    ] No camera update needed
[2026-10-20 00:24:15,986.986 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:24:15,988.988 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:24:15,993.993 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:24:15,998.998 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:24:18,038.038 INFO    ] ================================================
[2026-10-20 00:24:18,053.053 INFO    ] Launching Daemon at Tue Oct 20 00:24:18 IST 2026
[2026-10-20 00:24:18,064.064 INFO    ] ================================================
[2026-10-20 00:24:18,630.630 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:24:18
[2026-10-20 00:24:19,213.213 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:24:19,481.481 INFO    ] Initializing speech engine...
[2026-10-20 00:24:19,491.491 INFO    ] 2026-10-20 00:24:19
[2026-10-20 00:24:19,739.739 INFO    ] 2026-10-20 00:24:19
[2026-10-20 00:24:19,780.780 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:24:20,030.030 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:24:20,039.039 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:24:20,231.231 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:24:20,290.290 INFO    ] time= 20/10/2026 00:24:20
[2026-10-20 00:24:20,302.302 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:24:20,320.320 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:24:20,452.452 INFO    ] No existing commands found in stream
[2026-10-20 00:24:25,480.480 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:24:25,483.483 INFO    ] Waiting 1.65 seconds before fallback handling...
[2026-10-20 00:24:28,066.066 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:24:28,068.068 INFO    ] Checking for system updates...
[2026-10-20 00:24:28,104.104 INFO    ] 200
[2026-10-20 00:24:28,106.106 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:24:28,158.158 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:24:28,161.161 INFO    ] No update needed
[2026-10-20 00:24:28,163.163 INFO    ] Checking for camera pi updates...
[2026-10-20 00:24:28,196.196 INFO    ] 200
[2026-10-20 00:24:28,199.199 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:24:28,238.238 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:24:28,285.285 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:24:28,288.288 INFO    ] No camera update needed
[2026-10-20 00:24:28,290.290 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:24:28,293.293 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:24:28,298.298 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:24:28,303.303 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:24:30,342.342 INFO    ] ================================================
[2026-10-20 00:24:30,359.359 INFO    ] Launching Daemon at Tue Oct 20 00:24:30 IST 2026
[2026-10-20 00:24:30,370.370 INFO    ] ================================================
[2026-10-20 00:24:30,950.950 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:24:30
[2026-10-20 00:24:31,554.554 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:24:31,849.849 INFO    ] Initializing speech engine...
[2026-10-20 00:24:31,871.871 INFO    ] 2026-10-20 00:24:31
[2026-10-20 00:24:32,170.170 INFO    ] 2026-10-20 00:24:32
[2026-10-20 00:24:32,206.206 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:24:32,439.439 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:24:32,458.458 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:24:32,636.636 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:24:32,646.646 INFO    ] time= 20/10/2026 00:24:32
[2026-10-20 00:24:32,673.673 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:24:32,729.729 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:24:32,838.838 INFO    ] No existing commands found in stream
[2026-10-20 00:24:37,873.873 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:24:37,876.876 INFO    ] Waiting 2.67 seconds before fallback handling...
[2026-10-20 00:24:41,063.063 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:24:41,066.066 INFO    ] Checking for system updates...
[2026-10-20 00:24:41,101.101 INFO    ] 200
[2026-10-20 00:24:41,103.103 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:24:41,155.155 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:24:41,157.157 INFO    ] No update needed
[2026-10-20 00:24:41,160.160 INFO    ] Checking for camera pi updates...
[2026-10-20 00:24:41,194.194 INFO    ] 200
[2026-10-20 00:24:41,197.197 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:24:41,242.242 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:24:41,289.289 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:24:41,291.291 INFO    ] No camera update needed
[2026-10-20 00:24:41,294.294 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:24:41,296.296 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:24:41,301.301 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:24:41,306.306 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:24:43,348.348 INFO    ] ================================================
[2026-10-20 00:24:43,364.364 INFO    ] Launching Daemon at Tue Oct 20 00:24:43 IST 2026
[2026-10-20 00:24:43,377.377 INFO    ] ================================================
[2026-10-20 00:24:43,957.957 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:24:43
[2026-10-20 00:24:44,661.661 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:24:44,953.953 INFO    ] Initializing speech engine...
[2026-10-20 00:24:44,961.961 INFO    ] 2026-10-20 00:24:44
[2026-10-20 00:24:45,222.222 INFO    ] 2026-10-20 00:24:45
[2026-10-20 00:24:45,276.276 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:24:45,559.559 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:24:45,568.568 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:24:45,756.756 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:24:45,763.763 INFO    ] time= 20/10/2026 00:24:45
[2026-10-20 00:24:45,781.781 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:24:45,810.810 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:24:45,929.929 INFO    ] No existing commands found in stream
[2026-10-20 00:24:50,959.959 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:24:50,962.962 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-10-20 00:24:53,990.990 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:24:53,994.994 INFO    ] Checking for system updates...
[2026-10-20 00:24:54,031.031 INFO    ] 200
[2026-10-20 00:24:54,034.034 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:24:54,097.097 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:24:54,100.100 INFO    ] No update needed
[2026-10-20 00:24:54,104.104 INFO    ] Checking for camera pi updates...
[2026-10-20 00:24:54,142.142 INFO    ] 200
[2026-10-20 00:24:54,145.145 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:24:54,191.191 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:24:54,243.243 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:24:54,245.245 INFO    ] No camera update needed
[2026-10-20 00:24:54,248.248 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:24:54,250.250 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:24:54,255.255 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:24:54,260.260 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:24:56,300.300 INFO    ] ================================================
[2026-10-20 00:24:56,316.316 INFO    ] Launching Daemon at Tue Oct 20 00:24:56 IST 2026
[2026-10-20 00:24:56,327.327 INFO    ] ================================================
[2026-10-20 00:24:56,965.965 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:24:56
[2026-10-20 00:24:57,547.547 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:24:57,817.817 INFO    ] Initializing speech engine...
[2026-10-20 00:24:57,825.825 INFO    ] 2026-10-20 00:24:57
[2026-10-20 00:24:58,077.077 INFO    ] 2026-10-20 00:24:58
[2026-10-20 00:24:58,111.111 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:24:58,310.310 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:24:58,350.350 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:24:58,569.569 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:24:58,629.629 INFO    ] time= 20/10/2026 00:24:58
[2026-10-20 00:24:58,643.643 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:24:58,660.660 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:24:58,791.791 INFO    ] No existing commands found in stream
[2026-10-20 00:25:03,808.808 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:25:03,810.810 INFO    ] Waiting 3.72 seconds before fallback handling...
[2026-10-20 00:25:08,081.081 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:25:08,083.083 INFO    ] Checking for system updates...
[2026-10-20 00:25:08,119.119 INFO    ] 200
[2026-10-20 00:25:08,121.121 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:25:08,174.174 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:25:08,176.176 INFO    ] No update needed
[2026-10-20 00:25:08,179.179 INFO    ] Checking for camera pi updates...
[2026-10-20 00:25:08,216.216 INFO    ] 200
[2026-10-20 00:25:08,218.218 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:25:08,259.259 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:25:08,306.306 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:25:08,309.309 INFO    ] No camera update needed
[2026-10-20 00:25:08,311.311 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:25:08,314.314 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:25:08,319.319 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:25:08,324.324 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:25:10,365.365 INFO    ] ================================================
[2026-10-20 00:25:10,381.381 INFO    ] Launching Daemon at Tue Oct 20 00:25:10 IST 2026
[2026-10-20 00:25:10,392.392 INFO    ] ================================================
[2026-10-20 00:25:10,960.960 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:25:10
[2026-10-20 00:25:11,545.545 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:25:11,794.794 INFO    ] Initializing speech engine...
[2026-10-20 00:25:11,802.802 INFO    ] 2026-10-20 00:25:11
[2026-10-20 00:25:12,102.102 INFO    ] 2026-10-20 00:25:12
[2026-10-20 00:25:12,140.140 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:25:12,368.368 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:25:12,423.423 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:25:12,596.596 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:25:12,629.629 INFO    ] time= 20/10/2026 00:25:12
[2026-10-20 00:25:12,694.694 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:25:12,747.747 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:25:12,844.844 INFO    ] No existing commands found in stream
[2026-10-20 00:25:17,854.854 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:25:17,856.856 INFO    ] Waiting 2.22 seconds before fallback handling...
[2026-10-20 00:25:20,610.610 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 00:25:20,612.612 INFO    ] Checking for system updates...
[2026-10-20 00:25:20,649.649 INFO    ] 200
[2026-10-20 00:25:20,652.652 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:25:20,712.712 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:25:20,715.715 INFO    ] No update needed
[2026-10-20 00:25:20,717.717 INFO    ] Checking for camera pi updates...
[2026-10-20 00:25:20,752.752 INFO    ] 200
[2026-10-20 00:25:20,754.754 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:25:20,800.800 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:25:20,846.846 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:25:20,849.849 INFO    ] No camera update needed
[2026-10-20 00:25:20,851.851 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:25:20,854.854 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:25:20,861.861 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:25:20,867.867 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:25:22,908.908 INFO    ] ================================================
[2026-10-20 00:25:22,923.923 INFO    ] Launching Daemon at Tue Oct 20 00:25:22 IST 2026
[2026-10-20 00:25:22,934.934 INFO    ] ================================================
[2026-10-20 00:25:23,587.587 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:25:23
[2026-10-20 00:25:24,261.261 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:25:24,566.566 INFO    ] Initializing speech engine...
[2026-10-20 00:25:24,579.579 INFO    ] 2026-10-20 00:25:24
[2026-10-20 00:25:24,859.859 INFO    ] 2026-10-20 00:25:24
[2026-10-20 00:25:24,905.905 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:25:25,189.189 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:25:25,194.194 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:25:25,391.391 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:25:25,409.409 INFO    ] time= 20/10/2026 00:25:25
[2026-10-20 00:25:25,433.433 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:25:25,447.447 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:25:25,574.574 INFO    ] No existing commands found in stream
[2026-10-20 00:25:30,605.605 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:25:30,608.608 INFO    ] Waiting 2.77 seconds before fallback handling...
[2026-10-20 00:25:33,880.880 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:25:33,883.883 INFO    ] Checking for system updates...
[2026-10-20 00:25:33,923.923 INFO    ] 200
[2026-10-20 00:25:33,926.926 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:25:33,982.982 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:25:33,985.985 INFO    ] No update needed
[2026-10-20 00:25:33,987.987 INFO    ] Checking for camera pi updates...
[2026-10-20 00:25:34,021.021 INFO    ] 200
[2026-10-20 00:25:34,024.024 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:25:34,071.071 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:25:34,117.117 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:25:34,121.121 INFO    ] No camera update needed
[2026-10-20 00:25:34,123.123 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:25:34,126.126 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:25:34,132.132 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:25:34,138.138 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:25:36,179.179 INFO    ] ================================================
[2026-10-20 00:25:36,194.194 INFO    ] Launching Daemon at Tue Oct 20 00:25:36 IST 2026
[2026-10-20 00:25:36,206.206 INFO    ] ================================================
[2026-10-20 00:25:36,793.793 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:25:36
[2026-10-20 00:25:37,392.392 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:25:37,666.666 INFO    ] Initializing speech engine...
[2026-10-20 00:25:37,675.675 INFO    ] 2026-10-20 00:25:37
[2026-10-20 00:25:37,924.924 INFO    ] 2026-10-20 00:25:37
[2026-10-20 00:25:37,959.959 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:25:38,155.155 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:25:38,214.214 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:25:38,423.423 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:25:38,473.473 INFO    ] time= 20/10/2026 00:25:38
[2026-10-20 00:25:38,485.485 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:25:38,503.503 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:25:38,635.635 INFO    ] No existing commands found in stream
[2026-10-20 00:25:43,657.657 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:25:43,660.660 INFO    ] Waiting 3.66 seconds before fallback handling...
[2026-10-20 00:25:47,873.873 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 00:25:47,876.876 INFO    ] Checking for system updates...
[2026-10-20 00:25:47,917.917 INFO    ] 200
[2026-10-20 00:25:47,920.920 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:25:47,984.984 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:25:47,987.987 INFO    ] No update needed
[2026-10-20 00:25:47,990.990 INFO    ] Checking for camera pi updates...
[2026-10-20 00:25:48,024.024 INFO    ] 200
[2026-10-20 00:25:48,027.027 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:25:48,072.072 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:25:48,123.123 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:25:48,126.126 INFO    ] No camera update needed
[2026-10-20 00:25:48,129.129 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:25:48,132.132 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:25:48,138.138 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:25:48,144.144 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:25:50,183.183 INFO    ] ================================================
[2026-10-20 00:25:50,198.198 INFO    ] Launching Daemon at Tue Oct 20 00:25:50 IST 2026
[2026-10-20 00:25:50,210.210 INFO    ] ================================================
[2026-10-20 00:25:50,859.859 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:25:50
[2026-10-20 00:25:51,511.511 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:25:51,760.760 INFO    ] Initializing speech engine...
[2026-10-20 00:25:51,783.783 INFO    ] 2026-10-20 00:25:51
[2026-10-20 00:25:52,034.034 INFO    ] 2026-10-20 00:25:52
[2026-10-20 00:25:52,068.068 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:25:52,321.321 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:25:52,330.330 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:25:52,469.469 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:25:52,529.529 INFO    ] time= 20/10/2026 00:25:52
[2026-10-20 00:25:52,592.592 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:25:52,599.599 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:25:52,745.745 INFO    ] No existing commands found in stream
[2026-10-20 00:25:57,764.764 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:25:57,766.766 INFO    ] Waiting 2.39 seconds before fallback handling...
[2026-10-20 00:26:00,676.676 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 00:26:00,679.679 INFO    ] Checking for system updates...
[2026-10-20 00:26:00,714.714 INFO    ] 200
[2026-10-20 00:26:00,717.717 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:26:00,769.769 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:26:00,771.771 INFO    ] No update needed
[2026-10-20 00:26:00,774.774 INFO    ] Checking for camera pi updates...
[2026-10-20 00:26:00,807.807 INFO    ] 200
[2026-10-20 00:26:00,810.810 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:26:00,850.850 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:26:00,899.899 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:26:00,901.901 INFO    ] No camera update needed
[2026-10-20 00:26:00,904.904 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:26:00,906.906 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:26:00,911.911 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:26:00,916.916 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:26:02,964.964 INFO    ] ================================================
[2026-10-20 00:26:02,987.987 INFO    ] Launching Daemon at Tue Oct 20 00:26:02 IST 2026
[2026-10-20 00:26:03,005.005 INFO    ] ================================================
[2026-10-20 00:26:03,708.708 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:26:03
[2026-10-20 00:26:04,368.368 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:26:04,665.665 INFO    ] Initializing speech engine...
[2026-10-20 00:26:04,678.678 INFO    ] 2026-10-20 00:26:04
[2026-10-20 00:26:04,955.955 INFO    ] 2026-10-20 00:26:04
[2026-10-20 00:26:04,999.999 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:26:05,245.245 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:26:05,251.251 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:26:05,479.479 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:26:05,486.486 INFO    ] time= 20/10/2026 00:26:05
[2026-10-20 00:26:05,505.505 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:26:05,533.533 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:26:05,659.659 INFO    ] No existing commands found in stream
[2026-10-20 00:26:10,684.684 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:26:10,687.687 INFO    ] Waiting 0.30 seconds before fallback handling...
[2026-10-20 00:26:11,544.544 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:26:11,547.547 INFO    ] Checking for system updates...
[2026-10-20 00:26:11,584.584 INFO    ] 200
[2026-10-20 00:26:11,586.586 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:26:11,639.639 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:26:11,642.642 INFO    ] No update needed
[2026-10-20 00:26:11,644.644 INFO    ] Checking for camera pi updates...
[2026-10-20 00:26:11,678.678 INFO    ] 200
[2026-10-20 00:26:11,681.681 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:26:11,721.721 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:26:11,877.877 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:26:11,880.880 INFO    ] No camera update needed
[2026-10-20 00:26:11,883.883 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:26:11,886.886 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:26:11,892.892 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:26:11,897.897 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:26:13,939.939 INFO    ] ================================================
[2026-10-20 00:26:13,954.954 INFO    ] Launching Daemon at Tue Oct 20 00:26:13 IST 2026
[2026-10-20 00:26:13,965.965 INFO    ] ================================================
[2026-10-20 00:26:14,539.539 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:26:14
[2026-10-20 00:26:15,124.124 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:26:15,377.377 INFO    ] Initializing speech engine...
[2026-10-20 00:26:15,382.382 INFO    ] 2026-10-20 00:26:15
[2026-10-20 00:26:15,675.675 INFO    ] 2026-10-20 00:26:15
[2026-10-20 00:26:15,713.713 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:26:15,935.935 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:26:16,000.000 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:26:16,156.156 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:26:16,173.173 INFO    ] time= 20/10/2026 00:26:16
[2026-10-20 00:26:16,248.248 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:26:16,297.297 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:26:16,472.472 INFO    ] No existing commands found in stream
[2026-10-20 00:26:21,486.486 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:26:21,489.489 INFO    ] Waiting 1.83 seconds before fallback handling...
[2026-10-20 00:26:23,823.823 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 00:26:23,825.825 INFO    ] Checking for system updates...
[2026-10-20 00:26:23,860.860 INFO    ] 200
[2026-10-20 00:26:23,863.863 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:26:23,931.931 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:26:23,933.933 INFO    ] No update needed
[2026-10-20 00:26:23,936.936 INFO    ] Checking for camera pi updates...
[2026-10-20 00:26:23,969.969 INFO    ] 200
[2026-10-20 00:26:23,971.971 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:26:24,014.014 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:26:24,058.058 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:26:24,061.061 INFO    ] No camera update needed
[2026-10-20 00:26:24,063.063 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:26:24,065.065 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:26:24,071.071 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:26:24,076.076 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:26:26,115.115 INFO    ] ================================================
[2026-10-20 00:26:26,131.131 INFO    ] Launching Daemon at Tue Oct 20 00:26:26 IST 2026
[2026-10-20 00:26:26,142.142 INFO    ] ================================================
[2026-10-20 00:26:26,706.706 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:26:26
[2026-10-20 00:26:27,287.287 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:26:27,540.540 INFO    ] Initializing speech engine...
[2026-10-20 00:26:27,549.549 INFO    ] 2026-10-20 00:26:27
[2026-10-20 00:26:27,837.837 INFO    ] 2026-10-20 00:26:27
[2026-10-20 00:26:27,871.871 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:26:28,092.092 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:26:28,110.110 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:26:28,319.319 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:26:28,359.359 INFO    ] time= 20/10/2026 00:26:28
[2026-10-20 00:26:28,409.409 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:26:28,465.465 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:26:28,608.608 INFO    ] No existing commands found in stream
[2026-10-20 00:26:33,639.639 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:26:33,641.641 INFO    ] Waiting 0.95 seconds before fallback handling...
[2026-10-20 00:26:35,037.037 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:26:35,039.039 INFO    ] Checking for system updates...
[2026-10-20 00:26:35,077.077 INFO    ] 200
[2026-10-20 00:26:35,080.080 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:26:35,133.133 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:26:35,135.135 INFO    ] No update needed
[2026-10-20 00:26:35,137.137 INFO    ] Checking for camera pi updates...
[2026-10-20 00:26:35,170.170 INFO    ] 200
[2026-10-20 00:26:35,173.173 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:26:35,218.218 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:26:35,267.267 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:26:35,269.269 INFO    ] No camera update needed
[2026-10-20 00:26:35,272.272 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:26:35,274.274 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:26:35,279.279 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:26:35,284.284 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:26:37,324.324 INFO    ] ================================================
[2026-10-20 00:26:37,340.340 INFO    ] Launching Daemon at Tue Oct 20 00:26:37 IST 2026
[2026-10-20 00:26:37,351.351 INFO    ] ================================================
[2026-10-20 00:26:37,927.927 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:26:37
[2026-10-20 00:26:38,520.520 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:26:38,793.793 INFO    ] Initializing speech engine...
[2026-10-20 00:26:38,799.799 INFO    ] 2026-10-20 00:26:38
[2026-10-20 00:26:39,044.044 INFO    ] 2026-10-20 00:26:39
[2026-10-20 00:26:39,086.086 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:26:39,329.329 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:26:39,338.338 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:26:39,551.551 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:26:39,596.596 INFO    ] time= 20/10/2026 00:26:39
[2026-10-20 00:26:39,602.602 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:26:39,619.619 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:26:39,750.750 INFO    ] No existing commands found in stream
[2026-10-20 00:26:44,774.774 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:26:44,776.776 INFO    ] Waiting 0.36 seconds before fallback handling...
[2026-10-20 00:26:45,682.682 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:26:45,685.685 INFO    ] Checking for system updates...
[2026-10-20 00:26:45,721.721 INFO    ] 200
[2026-10-20 00:26:45,724.724 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:26:45,776.776 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:26:45,779.779 INFO    ] No update needed
[2026-10-20 00:26:45,782.782 INFO    ] Checking for camera pi updates...
[2026-10-20 00:26:45,820.820 INFO    ] 200
[2026-10-20 00:26:45,822.822 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:26:45,863.863 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:26:45,909.909 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:26:45,912.912 INFO    ] No camera update needed
[2026-10-20 00:26:45,914.914 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:26:45,916.916 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:26:45,922.922 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:26:45,927.927 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:26:47,969.969 INFO    ] ================================================
[2026-10-20 00:26:47,984.984 INFO    ] Launching Daemon at Tue Oct 20 00:26:47 IST 2026
[2026-10-20 00:26:48,995.995 INFO    ] ================================================
[2026-10-20 00:26:48,633.633 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:26:48
[2026-10-20 00:26:49,266.266 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:26:49,538.538 INFO    ] Initializing speech engine...
[2026-10-20 00:26:49,548.548 INFO    ] 2026-10-20 00:26:49
[2026-10-20 00:26:49,808.808 INFO    ] 2026-10-20 00:26:49
[2026-10-20 00:26:49,838.838 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:26:50,032.032 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:26:50,084.084 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:26:50,292.292 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:26:50,346.346 INFO    ] time= 20/10/2026 00:26:50
[2026-10-20 00:26:50,353.353 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:26:50,372.372 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:26:50,486.486 INFO    ] No existing commands found in stream
[2026-10-20 00:26:55,509.509 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:26:55,511.511 INFO    ] Waiting 0.03 seconds before fallback handling...
[2026-10-20 00:26:56,050.050 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:26:56,053.053 INFO    ] Checking for system updates...
[2026-10-20 00:26:56,091.091 INFO    ] 200
[2026-10-20 00:26:56,094.094 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:26:56,145.145 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:26:56,148.148 INFO    ] No update needed
[2026-10-20 00:26:56,150.150 INFO    ] Checking for camera pi updates...
[2026-10-20 00:26:56,185.185 INFO    ] 200
[2026-10-20 00:26:56,187.187 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:26:56,229.229 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:26:56,278.278 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:26:56,281.281 INFO    ] No camera update needed
[2026-10-20 00:26:56,283.283 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:26:56,286.286 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:26:56,292.292 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:26:56,299.299 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:26:58,339.339 INFO    ] ================================================
[2026-10-20 00:26:58,354.354 INFO    ] Launching Daemon at Tue Oct 20 00:26:58 IST 2026
[2026-10-20 00:26:58,365.365 INFO    ] ================================================
[2026-10-20 00:26:59,011.011 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:26:59
[2026-10-20 00:26:59,613.613 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:26:59,868.868 INFO    ] Initializing speech engine...
[2026-10-20 00:26:59,877.877 INFO    ] 2026-10-20 00:26:59
[2026-10-20 00:27:00,172.172 INFO    ] 2026-10-20 00:27:00
[2026-10-20 00:27:00,206.206 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:27:00,434.434 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:27:00,494.494 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:27:00,658.658 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:27:00,710.710 INFO    ] time= 20/10/2026 00:27:00
[2026-10-20 00:27:00,764.764 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:27:00,804.804 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:27:00,949.949 INFO    ] No existing commands found in stream
[2026-10-20 00:27:05,974.974 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:27:05,977.977 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-10-20 00:27:09,595.595 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:27:09,597.597 INFO    ] Checking for system updates...
[2026-10-20 00:27:09,633.633 INFO    ] 200
[2026-10-20 00:27:09,636.636 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:27:09,687.687 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:27:09,690.690 INFO    ] No update needed
[2026-10-20 00:27:09,692.692 INFO    ] Checking for camera pi updates...
[2026-10-20 00:27:09,729.729 INFO    ] 200
[2026-10-20 00:27:09,731.731 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:27:09,770.770 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:27:09,818.818 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:27:09,820.820 INFO    ] No camera update needed
[2026-10-20 00:27:09,823.823 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:27:09,825.825 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:27:09,831.831 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:27:09,836.836 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:27:11,876.876 INFO    ] ================================================
[2026-10-20 00:27:11,891.891 INFO    ] Launching Daemon at Tue Oct 20 00:27:11 IST 2026
[2026-10-20 00:27:11,902.902 INFO    ] ================================================
[2026-10-20 00:27:12,489.489 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:27:12
[2026-10-20 00:27:13,083.083 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:27:13,351.351 INFO    ] Initializing speech engine...
[2026-10-20 00:27:13,359.359 INFO    ] 2026-10-20 00:27:13
[2026-10-20 00:27:13,606.606 INFO    ] 2026-10-20 00:27:13
[2026-10-20 00:27:13,641.641 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:27:13,892.892 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:27:13,901.901 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:27:14,082.082 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:27:14,161.161 INFO    ] time= 20/10/2026 00:27:14
[2026-10-20 00:27:14,167.167 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:27:14,184.184 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:27:14,312.312 INFO    ] No existing commands found in stream
[2026-10-20 00:27:19,327.327 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:27:19,330.330 INFO    ] Waiting 1.81 seconds before fallback handling...
[2026-10-20 00:27:21,631.631 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 00:27:21,634.634 INFO    ] Checking for system updates...
[2026-10-20 00:27:21,669.669 INFO    ] 200
[2026-10-20 00:27:21,671.671 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:27:21,729.729 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:27:21,732.732 INFO    ] No update needed
[2026-10-20 00:27:21,734.734 INFO    ] Checking for camera pi updates...
[2026-10-20 00:27:21,767.767 INFO    ] 200
[2026-10-20 00:27:21,769.769 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:27:21,809.809 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:27:21,863.863 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:27:21,866.866 INFO    ] No camera update needed
[2026-10-20 00:27:21,869.869 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:27:21,871.871 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:27:21,877.877 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:27:21,883.883 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:27:23,924.924 INFO    ] ================================================
[2026-10-20 00:27:23,940.940 INFO    ] Launching Daemon at Tue Oct 20 00:27:23 IST 2026
[2026-10-20 00:27:23,951.951 INFO    ] ================================================
[2026-10-20 00:27:24,534.534 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:27:24
[2026-10-20 00:27:25,142.142 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:27:25,427.427 INFO    ] Initializing speech engine...
[2026-10-20 00:27:25,434.434 INFO    ] 2026-10-20 00:27:25
[2026-10-20 00:27:25,697.697 INFO    ] 2026-10-20 00:27:25
[2026-10-20 00:27:25,749.749 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:27:25,978.978 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:27:25,983.983 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:27:26,194.194 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:27:26,239.239 INFO    ] time= 20/10/2026 00:27:26
[2026-10-20 00:27:26,246.246 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:27:26,264.264 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:27:26,396.396 INFO    ] No existing commands found in stream
[2026-10-20 00:27:31,415.415 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:27:31,418.418 INFO    ] Waiting 2.57 seconds before fallback handling...
[2026-10-20 00:27:34,577.577 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:27:34,580.580 INFO    ] Checking for system updates...
[2026-10-20 00:27:34,615.615 INFO    ] 200
[2026-10-20 00:27:34,618.618 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:27:34,673.673 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:27:34,675.675 INFO    ] No update needed
[2026-10-20 00:27:34,677.677 INFO    ] Checking for camera pi updates...
[2026-10-20 00:27:34,710.710 INFO    ] 200
[2026-10-20 00:27:34,713.713 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:27:34,757.757 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:27:34,803.803 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:27:34,805.805 INFO    ] No camera update needed
[2026-10-20 00:27:34,807.807 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:27:34,810.810 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:27:34,815.815 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:27:34,820.820 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:27:36,859.859 INFO    ] ================================================
[2026-10-20 00:27:36,875.875 INFO    ] Launching Daemon at Tue Oct 20 00:27:36 IST 2026
[2026-10-20 00:27:36,886.886 INFO    ] ================================================
[2026-10-20 00:27:37,453.453 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:27:37
[2026-10-20 00:27:38,037.037 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:27:38,304.304 INFO    ] Initializing speech engine...
[2026-10-20 00:27:38,312.312 INFO    ] 2026-10-20 00:27:38
[2026-10-20 00:27:38,561.561 INFO    ] 2026-10-20 00:27:38
[2026-10-20 00:27:38,595.595 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:27:38,851.851 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:27:38,855.855 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:27:39,068.068 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:27:39,113.113 INFO    ] time= 20/10/2026 00:27:39
[2026-10-20 00:27:39,120.120 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:27:39,137.137 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:27:39,272.272 INFO    ] No existing commands found in stream
[2026-10-20 00:27:44,281.281 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:27:44,283.283 INFO    ] Waiting 1.77 seconds before fallback handling...
[2026-10-20 00:27:46,596.596 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:27:46,599.599 INFO    ] Checking for system updates...
[2026-10-20 00:27:46,640.640 INFO    ] 200
[2026-10-20 00:27:46,643.643 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:27:46,701.701 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:27:46,704.704 INFO    ] No update needed
[2026-10-20 00:27:46,707.707 INFO    ] Checking for camera pi updates...
[2026-10-20 00:27:46,741.741 INFO    ] 200
[2026-10-20 00:27:46,744.744 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:27:46,788.788 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:27:46,835.835 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:27:46,837.837 INFO    ] No camera update needed
[2026-10-20 00:27:46,840.840 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:27:46,842.842 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:27:46,847.847 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:27:46,853.853 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:27:48,895.895 INFO    ] ================================================
[2026-10-20 00:27:48,911.911 INFO    ] Launching Daemon at Tue Oct 20 00:27:48 IST 2026
[2026-10-20 00:27:48,921.921 INFO    ] ================================================
[2026-10-20 00:27:49,563.563 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:27:49
[2026-10-20 00:27:50,222.222 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:27:50,523.523 INFO    ] Initializing speech engine...
[2026-10-20 00:27:50,531.531 INFO    ] 2026-10-20 00:27:50
[2026-10-20 00:27:50,842.842 INFO    ] 2026-10-20 00:27:50
[2026-10-20 00:27:50,925.925 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:27:51,140.140 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:27:51,149.149 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:27:51,346.346 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:27:51,365.365 INFO    ] time= 20/10/2026 00:27:51
[2026-10-20 00:27:51,388.388 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:27:51,402.402 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:27:51,504.504 INFO    ] No existing commands found in stream
[2026-10-20 00:27:56,525.525 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:27:56,529.529 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-10-20 00:27:57,119.119 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 00:27:57,122.122 INFO    ] Checking for system updates...
[2026-10-20 00:27:57,158.158 INFO    ] 200
[2026-10-20 00:27:57,160.160 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:27:57,212.212 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:27:57,215.215 INFO    ] No update needed
[2026-10-20 00:27:57,217.217 INFO    ] Checking for camera pi updates...
[2026-10-20 00:27:57,254.254 INFO    ] 200
[2026-10-20 00:27:57,257.257 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:27:57,296.296 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:27:57,354.354 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:27:57,356.356 INFO    ] No camera update needed
[2026-10-20 00:27:57,359.359 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:27:57,361.361 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:27:57,366.366 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:27:57,371.371 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:27:59,410.410 INFO    ] ================================================
[2026-10-20 00:27:59,425.425 INFO    ] Launching Daemon at Tue Oct 20 00:27:59 IST 2026
[2026-10-20 00:27:59,435.435 INFO    ] ================================================
[2026-10-20 00:28:00,063.063 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:28:00
[2026-10-20 00:28:00,729.729 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:28:01,027.027 INFO    ] Initializing speech engine...
[2026-10-20 00:28:01,034.034 INFO    ] 2026-10-20 00:28:01
[2026-10-20 00:28:01,306.306 INFO    ] 2026-10-20 00:28:01
[2026-10-20 00:28:01,360.360 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:28:01,590.590 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:28:01,596.596 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:28:01,841.841 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:28:01,854.854 INFO    ] time= 20/10/2026 00:28:01
[2026-10-20 00:28:01,871.871 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:28:01,902.902 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:28:02,009.009 INFO    ] No existing commands found in stream
[2026-10-20 00:28:07,025.025 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:28:07,028.028 INFO    ] Waiting 1.02 seconds before fallback handling...
[2026-10-20 00:28:08,537.537 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:28:08,540.540 INFO    ] Checking for system updates...
[2026-10-20 00:28:08,575.575 INFO    ] 200
[2026-10-20 00:28:08,577.577 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:28:08,630.630 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:28:08,633.633 INFO    ] No update needed
[2026-10-20 00:28:08,635.635 INFO    ] Checking for camera pi updates...
[2026-10-20 00:28:08,672.672 INFO    ] 200
[2026-10-20 00:28:08,674.674 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:28:08,714.714 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:28:08,759.759 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:28:08,761.761 INFO    ] No camera update needed
[2026-10-20 00:28:08,764.764 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:28:08,766.766 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:28:08,771.771 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:28:08,776.776 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:28:10,815.815 INFO    ] ================================================
[2026-10-20 00:28:10,830.830 INFO    ] Launching Daemon at Tue Oct 20 00:28:10 IST 2026
[2026-10-20 00:28:10,841.841 INFO    ] ================================================
[2026-10-20 00:28:11,489.489 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:28:11
[2026-10-20 00:28:12,156.156 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:28:12,455.455 INFO    ] Initializing speech engine...
[2026-10-20 00:28:12,464.464 INFO    ] 2026-10-20 00:28:12
[2026-10-20 00:28:12,735.735 INFO    ] 2026-10-20 00:28:12
[2026-10-20 00:28:12,790.790 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:28:13,021.021 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:28:13,044.044 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:28:13,235.235 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:28:13,286.286 INFO    ] time= 20/10/2026 00:28:13
[2026-10-20 00:28:13,304.304 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:28:13,314.314 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:28:13,443.443 INFO    ] No existing commands found in stream
[2026-10-20 00:28:18,472.472 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:28:18,475.475 INFO    ] Waiting 0.68 seconds before fallback handling...
[2026-10-20 00:28:19,700.700 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 00:28:19,703.703 INFO    ] Checking for system updates...
[2026-10-20 00:28:19,744.744 INFO    ] 200
[2026-10-20 00:28:19,747.747 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:28:19,806.806 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:28:19,809.809 INFO    ] No update needed
[2026-10-20 00:28:19,812.812 INFO    ] Checking for camera pi updates...
[2026-10-20 00:28:19,851.851 INFO    ] 200
[2026-10-20 00:28:19,853.853 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:28:19,903.903 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:28:20,048.048 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:28:20,051.051 INFO    ] No camera update needed
[2026-10-20 00:28:20,053.053 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:28:20,056.056 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:28:20,062.062 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:28:20,067.067 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:28:22,107.107 INFO    ] ================================================
[2026-10-20 00:28:22,122.122 INFO    ] Launching Daemon at Tue Oct 20 00:28:22 IST 2026
[2026-10-20 00:28:22,133.133 INFO    ] ================================================
[2026-10-20 00:28:22,769.769 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:28:22
[2026-10-20 00:28:23,425.425 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:28:23,720.720 INFO    ] Initializing speech engine...
[2026-10-20 00:28:23,727.727 INFO    ] 2026-10-20 00:28:23
[2026-10-20 00:28:24,011.011 INFO    ] 2026-10-20 00:28:23
[2026-10-20 00:28:24,056.056 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:28:24,339.339 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:28:24,344.344 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:28:24,539.539 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:28:24,546.546 INFO    ] time= 20/10/2026 00:28:24
[2026-10-20 00:28:24,567.567 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:28:24,596.596 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:28:24,724.724 INFO    ] No existing commands found in stream
[2026-10-20 00:28:29,755.755 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:28:29,758.758 INFO    ] Waiting 1.82 seconds before fallback handling...
[2026-10-20 00:28:32,154.154 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 00:28:32,157.157 INFO    ] Checking for system updates...
[2026-10-20 00:28:32,200.200 INFO    ] 200
[2026-10-20 00:28:32,203.203 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:28:32,265.265 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:28:32,268.268 INFO    ] No update needed
[2026-10-20 00:28:32,271.271 INFO    ] Checking for camera pi updates...
[2026-10-20 00:28:32,308.308 INFO    ] 200
[2026-10-20 00:28:32,311.311 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:28:32,359.359 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:28:32,392.392 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:28:32,395.395 INFO    ] No camera update needed
[2026-10-20 00:28:32,398.398 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:28:32,401.401 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:28:32,407.407 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:28:32,412.412 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:28:34,451.451 INFO    ] ================================================
[2026-10-20 00:28:34,468.468 INFO    ] Launching Daemon at Tue Oct 20 00:28:34 IST 2026
[2026-10-20 00:28:34,483.483 INFO    ] ================================================
[2026-10-20 00:28:35,077.077 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:28:35
[2026-10-20 00:28:35,676.676 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:28:35,944.944 INFO    ] Initializing speech engine...
[2026-10-20 00:28:35,953.953 INFO    ] 2026-10-20 00:28:35
[2026-10-20 00:28:36,200.200 INFO    ] 2026-10-20 00:28:36
[2026-10-20 00:28:36,234.234 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:28:36,484.484 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:28:36,493.493 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:28:36,714.714 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:28:36,750.750 INFO    ] time= 20/10/2026 00:28:36
[2026-10-20 00:28:36,756.756 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:28:36,774.774 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:28:36,904.904 INFO    ] No existing commands found in stream
[2026-10-20 00:28:41,919.919 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:28:41,921.921 INFO    ] Waiting 1.91 seconds before fallback handling...
[2026-10-20 00:28:44,342.342 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:28:44,345.345 INFO    ] Checking for system updates...
[2026-10-20 00:28:44,381.381 INFO    ] 200
[2026-10-20 00:28:44,383.383 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:28:44,440.440 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:28:44,442.442 INFO    ] No update needed
[2026-10-20 00:28:44,445.445 INFO    ] Checking for camera pi updates...
[2026-10-20 00:28:44,477.477 INFO    ] 200
[2026-10-20 00:28:44,480.480 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:28:44,542.542 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:28:44,598.598 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:28:44,601.601 INFO    ] No camera update needed
[2026-10-20 00:28:44,603.603 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:28:44,605.605 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:28:44,610.610 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:28:44,615.615 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:28:46,655.655 INFO    ] ================================================
[2026-10-20 00:28:46,670.670 INFO    ] Launching Daemon at Tue Oct 20 00:28:46 IST 2026
[2026-10-20 00:28:46,680.680 INFO    ] ================================================
[2026-10-20 00:28:47,249.249 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:28:47
[2026-10-20 00:28:47,836.836 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:28:48,118.118 INFO    ] Initializing speech engine...
[2026-10-20 00:28:48,127.127 INFO    ] 2026-10-20 00:28:48
[2026-10-20 00:28:48,390.390 INFO    ] 2026-10-20 00:28:48
[2026-10-20 00:28:48,428.428 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:28:48,632.632 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:28:48,649.649 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:28:48,797.797 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:28:48,804.804 INFO    ] time= 20/10/2026 00:28:48
[2026-10-20 00:28:48,811.811 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:28:48,858.858 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:28:48,993.993 INFO    ] No existing commands found in stream
[2026-10-20 00:28:54,029.029 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:28:54,032.032 INFO    ] Waiting 0.93 seconds before fallback handling...
[2026-10-20 00:28:55,507.507 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:28:55,511.511 INFO    ] Checking for system updates...
[2026-10-20 00:28:55,547.547 INFO    ] 200
[2026-10-20 00:28:55,550.550 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:28:55,605.605 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:28:55,607.607 INFO    ] No update needed
[2026-10-20 00:28:55,610.610 INFO    ] Checking for camera pi updates...
[2026-10-20 00:28:55,643.643 INFO    ] 200
[2026-10-20 00:28:55,645.645 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:28:55,690.690 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:28:55,742.742 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:28:55,745.745 INFO    ] No camera update needed
[2026-10-20 00:28:55,747.747 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:28:55,750.750 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:28:55,755.755 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:28:55,760.760 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:28:57,801.801 INFO    ] ================================================
[2026-10-20 00:28:57,816.816 INFO    ] Launching Daemon at Tue Oct 20 00:28:57 IST 2026
[2026-10-20 00:28:57,827.827 INFO    ] ================================================
[2026-10-20 00:28:58,464.464 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:28:58
[2026-10-20 00:28:59,123.123 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:28:59,427.427 INFO    ] Initializing speech engine...
[2026-10-20 00:28:59,437.437 INFO    ] 2026-10-20 00:28:59
[2026-10-20 00:28:59,714.714 INFO    ] 2026-10-20 00:28:59
[2026-10-20 00:28:59,759.759 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:28:59,981.981 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:28:59,991.991 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:29:00,193.193 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:29:00,250.250 INFO    ] time= 20/10/2026 00:29:00
[2026-10-20 00:29:00,257.257 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:29:00,273.273 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:29:00,410.410 INFO    ] No existing commands found in stream
[2026-10-20 00:29:05,438.438 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:29:05,441.441 INFO    ] Waiting 0.91 seconds before fallback handling...
[2026-10-20 00:29:06,934.934 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 00:29:06,938.938 INFO    ] Checking for system updates...
[2026-10-20 00:29:06,979.979 INFO    ] 200
[2026-10-20 00:29:06,982.982 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:29:07,043.043 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:29:07,046.046 INFO    ] No update needed
[2026-10-20 00:29:07,048.048 INFO    ] Checking for camera pi updates...
[2026-10-20 00:29:07,086.086 INFO    ] 200
[2026-10-20 00:29:07,089.089 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:29:07,135.135 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:29:07,191.191 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:29:07,194.194 INFO    ] No camera update needed
[2026-10-20 00:29:07,196.196 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:29:07,199.199 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:29:07,205.205 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:29:07,211.211 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:29:09,250.250 INFO    ] ================================================
[2026-10-20 00:29:09,265.265 INFO    ] Launching Daemon at Tue Oct 20 00:29:09 IST 2026
[2026-10-20 00:29:09,276.276 INFO    ] ================================================
[2026-10-20 00:29:09,846.846 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:29:09
[2026-10-20 00:29:10,431.431 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:29:10,698.698 INFO    ] Initializing speech engine...
[2026-10-20 00:29:10,707.707 INFO    ] 2026-10-20 00:29:10
[2026-10-20 00:29:10,966.966 INFO    ] 2026-10-20 00:29:10
[2026-10-20 00:29:11,021.021 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:29:11,302.302 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:29:11,309.309 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:29:11,505.505 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:29:11,522.522 INFO    ] time= 20/10/2026 00:29:11
[2026-10-20 00:29:11,531.531 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:29:11,556.556 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:29:11,676.676 INFO    ] No existing commands found in stream
[2026-10-20 00:29:16,701.701 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:29:16,704.704 INFO    ] Waiting 3.29 seconds before fallback handling...
[2026-10-20 00:29:20,516.516 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:29:20,519.519 INFO    ] Checking for system updates...
[2026-10-20 00:29:20,554.554 INFO    ] 200
[2026-10-20 00:29:20,557.557 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:29:20,611.611 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:29:20,614.614 INFO    ] No update needed
[2026-10-20 00:29:20,616.616 INFO    ] Checking for camera pi updates...
[2026-10-20 00:29:20,655.655 INFO    ] 200
[2026-10-20 00:29:20,658.658 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:29:20,699.699 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:29:20,747.747 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:29:20,750.750 INFO    ] No camera update needed
[2026-10-20 00:29:20,753.753 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:29:20,755.755 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:29:20,762.762 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:29:20,767.767 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:29:22,809.809 INFO    ] ================================================
[2026-10-20 00:29:22,824.824 INFO    ] Launching Daemon at Tue Oct 20 00:29:22 IST 2026
[2026-10-20 00:29:22,834.834 INFO    ] ================================================
[2026-10-20 00:29:23,403.403 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:29:23
[2026-10-20 00:29:23,991.991 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:29:24,259.259 INFO    ] Initializing speech engine...
[2026-10-20 00:29:24,268.268 INFO    ] 2026-10-20 00:29:24
[2026-10-20 00:29:24,515.515 INFO    ] 2026-10-20 00:29:24
[2026-10-20 00:29:24,550.550 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:29:24,802.802 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:29:24,812.812 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:29:25,012.012 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:29:25,072.072 INFO    ] time= 20/10/2026 00:29:25
[2026-10-20 00:29:25,090.090 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:29:25,105.105 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:29:25,243.243 INFO    ] No existing commands found in stream
[2026-10-20 00:29:30,255.255 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:29:30,258.258 INFO    ] Waiting 0.38 seconds before fallback handling...
[2026-10-20 00:29:31,154.154 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 00:29:31,157.157 INFO    ] Checking for system updates...
[2026-10-20 00:29:31,192.192 INFO    ] 200
[2026-10-20 00:29:31,195.195 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:29:31,261.261 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:29:31,264.264 INFO    ] No update needed
[2026-10-20 00:29:31,267.267 INFO    ] Checking for camera pi updates...
[2026-10-20 00:29:31,314.314 INFO    ] 200
[2026-10-20 00:29:31,317.317 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:29:31,360.360 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:29:31,409.409 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:29:31,411.411 INFO    ] No camera update needed
[2026-10-20 00:29:31,414.414 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:29:31,417.417 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:29:31,423.423 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:29:31,429.429 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:29:33,469.469 INFO    ] ================================================
[2026-10-20 00:29:33,491.491 INFO    ] Launching Daemon at Tue Oct 20 00:29:33 IST 2026
[2026-10-20 00:29:33,501.501 INFO    ] ================================================
[2026-10-20 00:29:34,093.093 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:29:34
[2026-10-20 00:29:34,699.699 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:29:34,957.957 INFO    ] Initializing speech engine...
[2026-10-20 00:29:34,970.970 INFO    ] 2026-10-20 00:29:34
[2026-10-20 00:29:35,252.252 INFO    ] 2026-10-20 00:29:35
[2026-10-20 00:29:35,286.286 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:29:35,483.483 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:29:35,497.497 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:29:35,655.655 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:29:35,663.663 INFO    ] time= 20/10/2026 00:29:35
[2026-10-20 00:29:35,671.671 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:29:35,676.676 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:29:35,839.839 INFO    ] No existing commands found in stream
[2026-10-20 00:29:40,864.864 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:29:40,867.867 INFO    ] Waiting 0.69 seconds before fallback handling...
[2026-10-20 00:29:42,033.033 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 00:29:42,035.035 INFO    ] Checking for system updates...
[2026-10-20 00:29:42,071.071 INFO    ] 200
[2026-10-20 00:29:42,074.074 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:29:42,126.126 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:29:42,129.129 INFO    ] No update needed
[2026-10-20 00:29:42,131.131 INFO    ] Checking for camera pi updates...
[2026-10-20 00:29:42,166.166 INFO    ] 200
[2026-10-20 00:29:42,169.169 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:29:42,214.214 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:29:42,263.263 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:29:42,266.266 INFO    ] No camera update needed
[2026-10-20 00:29:42,269.269 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:29:42,271.271 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:29:42,277.277 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:29:42,283.283 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:29:44,324.324 INFO    ] ================================================
[2026-10-20 00:29:44,339.339 INFO    ] Launching Daemon at Tue Oct 20 00:29:44 IST 2026
[2026-10-20 00:29:44,350.350 INFO    ] ================================================
[2026-10-20 00:29:44,931.931 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:29:44
[2026-10-20 00:29:45,516.516 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:29:45,770.770 INFO    ] Initializing speech engine...
[2026-10-20 00:29:45,776.776 INFO    ] 2026-10-20 00:29:45
[2026-10-20 00:29:46,069.069 INFO    ] 2026-10-20 00:29:46
[2026-10-20 00:29:46,103.103 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:29:46,302.302 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:29:46,316.316 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:29:46,478.478 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:29:46,486.486 INFO    ] time= 20/10/2026 00:29:46
[2026-10-20 00:29:46,492.492 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:29:46,560.560 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:29:46,680.680 INFO    ] No existing commands found in stream
[2026-10-20 00:29:51,711.711 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:29:51,713.713 INFO    ] Waiting 0.20 seconds before fallback handling...
[2026-10-20 00:29:52,404.404 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 00:29:52,407.407 INFO    ] Checking for system updates...
[2026-10-20 00:29:52,443.443 INFO    ] 200
[2026-10-20 00:29:52,445.445 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:29:52,497.497 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:29:52,499.499 INFO    ] No update needed
[2026-10-20 00:29:52,502.502 INFO    ] Checking for camera pi updates...
[2026-10-20 00:29:52,536.536 INFO    ] 200
[2026-10-20 00:29:52,538.538 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:29:52,579.579 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:29:52,624.624 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:29:52,627.627 INFO    ] No camera update needed
[2026-10-20 00:29:52,629.629 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:29:52,632.632 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:29:52,637.637 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:29:52,642.642 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:29:54,682.682 INFO    ] ================================================
[2026-10-20 00:29:54,698.698 INFO    ] Launching Daemon at Tue Oct 20 00:29:54 IST 2026
[2026-10-20 00:29:54,709.709 INFO    ] ================================================
[2026-10-20 00:29:55,303.303 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:29:55
[2026-10-20 00:29:55,901.901 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:29:56,169.169 INFO    ] Initializing speech engine...
[2026-10-20 00:29:56,178.178 INFO    ] 2026-10-20 00:29:56
[2026-10-20 00:29:56,424.424 INFO    ] 2026-10-20 00:29:56
[2026-10-20 00:29:56,459.459 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:29:56,714.714 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:29:56,720.720 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:29:56,936.936 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:29:56,979.979 INFO    ] time= 20/10/2026 00:29:56
[2026-10-20 00:29:56,985.985 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:29:57,003.003 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:29:57,136.136 INFO    ] No existing commands found in stream
[2026-10-20 00:30:02,159.159 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:30:02,162.162 INFO    ] Waiting 1.64 seconds before fallback handling...
[2026-10-20 00:30:07,581.581 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 00:30:07,583.583 INFO    ] Checking for system updates...
[2026-10-20 00:30:07,619.619 INFO    ] 200
[2026-10-20 00:30:07,621.621 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 00:30:07,624.624 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-10-20 00:30:07,626.626 INFO    ] Checking for camera pi updates...
[2026-10-20 00:30:07,659.659 INFO    ] 200
[2026-10-20 00:30:07,662.662 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 00:30:07,664.664 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-10-20 00:30:07,666.666 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:30:07,669.669 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:30:07,674.674 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:30:07,679.679 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:30:09,721.721 INFO    ] ================================================
[2026-10-20 00:30:09,737.737 INFO    ] Launching Daemon at Tue Oct 20 00:30:09 IST 2026
[2026-10-20 00:30:09,748.748 INFO    ] ================================================
[2026-10-20 00:30:10,320.320 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:30:10
[2026-10-20 00:30:10,906.906 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:30:11,181.181 INFO    ] Initializing speech engine...
[2026-10-20 00:30:11,188.188 INFO    ] 2026-10-20 00:30:11
[2026-10-20 00:30:11,448.448 INFO    ] 2026-10-20 00:30:11
[2026-10-20 00:30:11,478.478 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:30:11,728.728 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:30:11,734.734 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:30:11,935.935 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:30:11,990.990 INFO    ] time= 20/10/2026 00:30:11
[2026-10-20 00:30:12,001.001 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:30:12,019.019 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:30:12,157.157 INFO    ] No existing commands found in stream
[2026-10-20 00:30:17,183.183 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:30:17,186.186 INFO    ] Waiting 3.06 seconds before fallback handling...
[2026-10-20 00:30:20,735.735 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:30:20,738.738 INFO    ] Checking for system updates...
[2026-10-20 00:30:20,777.777 INFO    ] 200
[2026-10-20 00:30:20,780.780 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:30:20,832.832 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:30:20,834.834 INFO    ] No update needed
[2026-10-20 00:30:20,837.837 INFO    ] Checking for camera pi updates...
[2026-10-20 00:30:20,870.870 INFO    ] 200
[2026-10-20 00:30:20,872.872 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:30:20,912.912 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:30:20,961.961 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:30:20,963.963 INFO    ] No camera update needed
[2026-10-20 00:30:20,966.966 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:30:20,968.968 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:30:20,973.973 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:30:20,978.978 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:30:23,020.020 INFO    ] ================================================
[2026-10-20 00:30:23,035.035 INFO    ] Launching Daemon at Tue Oct 20 00:30:23 IST 2026
[2026-10-20 00:30:23,047.047 INFO    ] ================================================
[2026-10-20 00:30:23,613.613 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:30:23
[2026-10-20 00:30:24,197.197 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:30:24,469.469 INFO    ] Initializing speech engine...
[2026-10-20 00:30:24,475.475 INFO    ] 2026-10-20 00:30:24
[2026-10-20 00:30:24,719.719 INFO    ] 2026-10-20 00:30:24
[2026-10-20 00:30:24,754.754 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:30:25,005.005 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:30:25,015.015 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:30:25,256.256 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:30:25,276.276 INFO    ] time= 20/10/2026 00:30:25
[2026-10-20 00:30:25,292.292 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:30:25,300.300 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:30:25,425.425 INFO    ] No existing commands found in stream
[2026-10-20 00:30:30,440.440 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:30:30,443.443 INFO    ] Waiting 0.33 seconds before fallback handling...
[2026-10-20 00:30:31,289.289 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 00:30:31,293.293 INFO    ] Checking for system updates...
[2026-10-20 00:30:31,337.337 INFO    ] 200
[2026-10-20 00:30:31,340.340 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:30:31,404.404 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:30:31,407.407 INFO    ] No update needed
[2026-10-20 00:30:31,411.411 INFO    ] Checking for camera pi updates...
[2026-10-20 00:30:31,453.453 INFO    ] 200
[2026-10-20 00:30:31,456.456 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:30:31,508.508 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:30:31,662.662 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:30:31,666.666 INFO    ] No camera update needed
[2026-10-20 00:30:31,669.669 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:30:31,673.673 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:30:31,680.680 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:30:31,686.686 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:30:33,729.729 INFO    ] ================================================
[2026-10-20 00:30:33,745.745 INFO    ] Launching Daemon at Tue Oct 20 00:30:33 IST 2026
[2026-10-20 00:30:33,756.756 INFO    ] ================================================
[2026-10-20 00:30:34,324.324 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:30:34
[2026-10-20 00:30:34,906.906 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:30:35,171.171 INFO    ] Initializing speech engine...
[2026-10-20 00:30:35,183.183 INFO    ] 2026-10-20 00:30:35
[2026-10-20 00:30:35,436.436 INFO    ] 2026-10-20 00:30:35
[2026-10-20 00:30:35,472.472 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:30:35,720.720 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:30:35,724.724 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:30:35,927.927 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:30:35,982.982 INFO    ] time= 20/10/2026 00:30:35
[2026-10-20 00:30:35,988.988 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:30:36,008.008 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:30:36,136.136 INFO    ] No existing commands found in stream
[2026-10-20 00:30:41,155.155 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:30:41,158.158 INFO    ] Waiting 2.61 seconds before fallback handling...
[2026-10-20 00:30:44,323.323 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 00:30:44,326.326 INFO    ] Checking for system updates...
[2026-10-20 00:30:44,363.363 INFO    ] 200
[2026-10-20 00:30:44,366.366 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:30:44,420.420 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:30:44,423.423 INFO    ] No update needed
[2026-10-20 00:30:44,426.426 INFO    ] Checking for camera pi updates...
[2026-10-20 00:30:44,468.468 INFO    ] 200
[2026-10-20 00:30:44,471.471 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:30:44,513.513 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:30:44,574.574 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:30:44,576.576 INFO    ] No camera update needed
[2026-10-20 00:30:44,579.579 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:30:44,582.582 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:30:44,588.588 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:30:44,594.594 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:30:46,636.636 INFO    ] ================================================
[2026-10-20 00:30:46,652.652 INFO    ] Launching Daemon at Tue Oct 20 00:30:46 IST 2026
[2026-10-20 00:30:46,663.663 INFO    ] ================================================
[2026-10-20 00:30:47,232.232 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:30:47
[2026-10-20 00:30:47,817.817 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:30:48,089.089 INFO    ] Initializing speech engine...
[2026-10-20 00:30:48,098.098 INFO    ] 2026-10-20 00:30:48
[2026-10-20 00:30:48,348.348 INFO    ] 2026-10-20 00:30:48
[2026-10-20 00:30:48,384.384 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:30:48,595.595 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:30:48,597.597 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:30:48,794.794 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:30:48,875.875 INFO    ] time= 20/10/2026 00:30:48
[2026-10-20 00:30:48,919.919 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:30:48,926.926 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:30:49,077.077 INFO    ] No existing commands found in stream
[2026-10-20 00:30:54,091.091 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:30:54,094.094 INFO    ] Waiting 1.32 seconds before fallback handling...
[2026-10-20 00:30:55,913.913 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:30:55,916.916 INFO    ] Checking for system updates...
[2026-10-20 00:30:55,951.951 INFO    ] 200
[2026-10-20 00:30:55,953.953 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:30:56,012.012 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:30:56,014.014 INFO    ] No update needed
[2026-10-20 00:30:56,016.016 INFO    ] Checking for camera pi updates...
[2026-10-20 00:30:56,052.052 INFO    ] 200
[2026-10-20 00:30:56,055.055 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:30:56,095.095 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:30:56,139.139 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:30:56,141.141 INFO    ] No camera update needed
[2026-10-20 00:30:56,144.144 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:30:56,146.146 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:30:56,151.151 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:30:56,156.156 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:30:58,198.198 INFO    ] ================================================
[2026-10-20 00:30:58,213.213 INFO    ] Launching Daemon at Tue Oct 20 00:30:58 IST 2026
[2026-10-20 00:30:58,223.223 INFO    ] ================================================
[2026-10-20 00:30:58,870.870 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:30:58
[2026-10-20 00:30:59,539.539 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:30:59,852.852 INFO    ] Initializing speech engine...
[2026-10-20 00:30:59,859.859 INFO    ] 2026-10-20 00:30:59
[2026-10-20 00:31:00,147.147 INFO    ] 2026-10-20 00:31:00
[2026-10-20 00:31:00,261.261 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:31:00,439.439 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:31:00,447.447 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:31:00,662.662 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:31:00,691.691 INFO    ] time= 20/10/2026 00:31:00
[2026-10-20 00:31:00,706.706 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:31:00,717.717 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:31:00,854.854 INFO    ] No existing commands found in stream
[2026-10-20 00:31:05,880.880 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:31:05,884.884 INFO    ] Waiting 2.90 seconds before fallback handling...
[2026-10-20 00:31:09,331.331 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:31:09,334.334 INFO    ] Checking for system updates...
[2026-10-20 00:31:09,371.371 INFO    ] 200
[2026-10-20 00:31:09,374.374 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:31:09,427.427 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:31:09,430.430 INFO    ] No update needed
[2026-10-20 00:31:09,432.432 INFO    ] Checking for camera pi updates...
[2026-10-20 00:31:09,468.468 INFO    ] 200
[2026-10-20 00:31:09,471.471 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:31:09,513.513 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:31:09,562.562 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:31:09,565.565 INFO    ] No camera update needed
[2026-10-20 00:31:09,568.568 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:31:09,571.571 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:31:09,577.577 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:31:09,583.583 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:31:11,623.623 INFO    ] ================================================
[2026-10-20 00:31:11,638.638 INFO    ] Launching Daemon at Tue Oct 20 00:31:11 IST 2026
[2026-10-20 00:31:11,649.649 INFO    ] ================================================
[2026-10-20 00:31:12,215.215 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:31:12
[2026-10-20 00:31:12,800.800 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:31:13,057.057 INFO    ] Initializing speech engine...
[2026-10-20 00:31:13,063.063 INFO    ] 2026-10-20 00:31:13
[2026-10-20 00:31:13,355.355 INFO    ] 2026-10-20 00:31:13
[2026-10-20 00:31:13,391.391 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:31:13,589.589 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:31:13,605.605 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:31:13,768.768 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:31:13,776.776 INFO    ] time= 20/10/2026 00:31:13
[2026-10-20 00:31:13,781.781 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:31:13,787.787 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:31:13,909.909 INFO    ] No existing commands found in stream
[2026-10-20 00:31:18,934.934 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:31:18,937.937 INFO    ] Waiting 0.89 seconds before fallback handling...
[2026-10-20 00:31:20,342.342 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:31:20,344.344 INFO    ] Checking for system updates...
[2026-10-20 00:31:20,380.380 INFO    ] 200
[2026-10-20 00:31:20,382.382 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:31:20,435.435 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:31:20,438.438 INFO    ] No update needed
[2026-10-20 00:31:20,440.440 INFO    ] Checking for camera pi updates...
[2026-10-20 00:31:20,474.474 INFO    ] 200
[2026-10-20 00:31:20,476.476 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:31:20,516.516 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:31:20,563.563 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:31:20,565.565 INFO    ] No camera update needed
[2026-10-20 00:31:20,568.568 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:31:20,570.570 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:31:20,575.575 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:31:20,580.580 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:31:22,622.622 INFO    ] ================================================
[2026-10-20 00:31:22,637.637 INFO    ] Launching Daemon at Tue Oct 20 00:31:22 IST 2026
[2026-10-20 00:31:22,647.647 INFO    ] ================================================
[2026-10-20 00:31:23,229.229 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:31:23
[2026-10-20 00:31:23,829.829 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:31:24,107.107 INFO    ] Initializing speech engine...
[2026-10-20 00:31:24,113.113 INFO    ] 2026-10-20 00:31:24
[2026-10-20 00:31:24,374.374 INFO    ] 2026-10-20 00:31:24
[2026-10-20 00:31:24,404.404 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:31:24,655.655 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:31:24,660.660 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:31:24,874.874 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:31:24,918.918 INFO    ] time= 20/10/2026 00:31:24
[2026-10-20 00:31:24,924.924 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:31:24,941.941 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:31:25,074.074 INFO    ] No existing commands found in stream
[2026-10-20 00:31:30,093.093 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:31:30,095.095 INFO    ] Waiting 3.69 seconds before fallback handling...
[2026-10-20 00:31:34,314.314 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:31:34,317.317 INFO    ] Checking for system updates...
[2026-10-20 00:31:34,354.354 INFO    ] 200
[2026-10-20 00:31:34,356.356 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:31:34,416.416 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:31:34,419.419 INFO    ] No update needed
[2026-10-20 00:31:34,422.422 INFO    ] Checking for camera pi updates...
[2026-10-20 00:31:34,457.457 INFO    ] 200
[2026-10-20 00:31:34,460.460 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:31:34,501.501 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:31:34,547.547 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:31:34,551.551 INFO    ] No camera update needed
[2026-10-20 00:31:34,553.553 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:31:34,556.556 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:31:34,562.562 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:31:34,568.568 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:31:36,610.610 INFO    ] ================================================
[2026-10-20 00:31:36,625.625 INFO    ] Launching Daemon at Tue Oct 20 00:31:36 IST 2026
[2026-10-20 00:31:36,636.636 INFO    ] ================================================
[2026-10-20 00:31:37,221.221 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:31:37
[2026-10-20 00:31:37,819.819 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:31:38,095.095 INFO    ] Initializing speech engine...
[2026-10-20 00:31:38,105.105 INFO    ] 2026-10-20 00:31:38
[2026-10-20 00:31:38,363.363 INFO    ] 2026-10-20 00:31:38
[2026-10-20 00:31:38,392.392 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:31:38,643.643 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:31:38,648.648 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:31:38,813.813 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:31:38,891.891 INFO    ] time= 20/10/2026 00:31:38
[2026-10-20 00:31:38,937.937 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:31:38,956.956 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:31:39,116.116 INFO    ] No existing commands found in stream
[2026-10-20 00:31:44,150.150 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:31:44,153.153 INFO    ] Waiting 3.21 seconds before fallback handling...
[2026-10-20 00:31:47,955.955 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 00:31:47,959.959 INFO    ] Checking for system updates...
[2026-10-20 00:31:47,995.995 INFO    ] 200
[2026-10-20 00:31:47,999.999 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:31:48,052.052 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:31:48,055.055 INFO    ] No update needed
[2026-10-20 00:31:48,058.058 INFO    ] Checking for camera pi updates...
[2026-10-20 00:31:48,093.093 INFO    ] 200
[2026-10-20 00:31:48,095.095 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:31:48,138.138 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:31:48,192.192 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:31:48,197.197 INFO    ] No camera update needed
[2026-10-20 00:31:48,200.200 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:31:48,202.202 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:31:48,208.208 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:31:48,213.213 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:31:50,252.252 INFO    ] ================================================
[2026-10-20 00:31:50,267.267 INFO    ] Launching Daemon at Tue Oct 20 00:31:50 IST 2026
[2026-10-20 00:31:50,278.278 INFO    ] ================================================
[2026-10-20 00:31:50,851.851 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:31:50
[2026-10-20 00:31:51,439.439 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:31:51,689.689 INFO    ] Initializing speech engine...
[2026-10-20 00:31:51,701.701 INFO    ] 2026-10-20 00:31:51
[2026-10-20 00:31:51,980.980 INFO    ] 2026-10-20 00:31:51
[2026-10-20 00:31:52,047.047 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:31:52,281.281 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:31:52,292.292 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:31:52,519.519 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:31:52,561.561 INFO    ] time= 20/10/2026 00:31:52
[2026-10-20 00:31:52,567.567 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:31:52,587.587 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:31:52,724.724 INFO    ] No existing commands found in stream
[2026-10-20 00:31:57,754.754 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:31:57,757.757 INFO    ] Waiting 3.24 seconds before fallback handling...
[2026-10-20 00:32:01,513.513 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 00:32:01,517.517 INFO    ] Checking for system updates...
[2026-10-20 00:32:01,553.553 INFO    ] 200
[2026-10-20 00:32:01,556.556 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:32:01,612.612 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:32:01,615.615 INFO    ] No update needed
[2026-10-20 00:32:01,617.617 INFO    ] Checking for camera pi updates...
[2026-10-20 00:32:01,651.651 INFO    ] 200
[2026-10-20 00:32:01,653.653 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:32:01,694.694 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:32:01,738.738 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:32:01,740.740 INFO    ] No camera update needed
[2026-10-20 00:32:01,743.743 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:32:01,745.745 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:32:01,751.751 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:32:01,756.756 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:32:03,799.799 INFO    ] ================================================
[2026-10-20 00:32:03,816.816 INFO    ] Launching Daemon at Tue Oct 20 00:32:03 IST 2026
[2026-10-20 00:32:03,827.827 INFO    ] ================================================
[2026-10-20 00:32:04,438.438 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:32:04
[2026-10-20 00:32:05,130.130 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:32:05,454.454 INFO    ] Initializing speech engine...
[2026-10-20 00:32:05,463.463 INFO    ] 2026-10-20 00:32:05
[2026-10-20 00:32:05,736.736 INFO    ] 2026-10-20 00:32:05
[2026-10-20 00:32:05,773.773 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:32:06,066.066 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:32:06,126.126 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:32:06,301.301 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:32:06,306.306 INFO    ] time= 20/10/2026 00:32:06
[2026-10-20 00:32:06,314.314 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:32:06,321.321 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:32:06,451.451 INFO    ] No existing commands found in stream
[2026-10-20 00:32:11,476.476 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:32:11,479.479 INFO    ] Waiting 3.95 seconds before fallback handling...
[2026-10-20 00:32:15,931.931 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 00:32:15,934.934 INFO    ] Checking for system updates...
[2026-10-20 00:32:15,980.980 INFO    ] 200
[2026-10-20 00:32:15,983.983 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:32:16,036.036 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:32:16,039.039 INFO    ] No update needed
[2026-10-20 00:32:16,042.042 INFO    ] Checking for camera pi updates...
[2026-10-20 00:32:16,077.077 INFO    ] 200
[2026-10-20 00:32:16,080.080 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:32:16,121.121 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:32:16,170.170 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:32:16,173.173 INFO    ] No camera update needed
[2026-10-20 00:32:16,176.176 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:32:16,179.179 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:32:16,185.185 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:32:16,192.192 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:32:18,234.234 INFO    ] ================================================
[2026-10-20 00:32:18,250.250 INFO    ] Launching Daemon at Tue Oct 20 00:32:18 IST 2026
[2026-10-20 00:32:18,262.262 INFO    ] ================================================
[2026-10-20 00:32:18,946.946 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:32:18
[2026-10-20 00:32:19,650.650 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:32:19,969.969 INFO    ] Initializing speech engine...
[2026-10-20 00:32:19,983.983 INFO    ] 2026-10-20 00:32:19
[2026-10-20 00:32:20,292.292 INFO    ] 2026-10-20 00:32:20
[2026-10-20 00:32:20,380.380 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:32:20,637.637 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:32:20,674.674 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:32:20,862.862 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:32:20,873.873 INFO    ] time= 20/10/2026 00:32:20
[2026-10-20 00:32:20,929.929 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:32:20,974.974 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:32:21,143.143 INFO    ] No existing commands found in stream
[2026-10-20 00:32:26,174.174 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:32:26,177.177 INFO    ] Waiting 1.66 seconds before fallback handling...
[2026-10-20 00:32:28,401.401 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 00:32:28,404.404 INFO    ] Checking for system updates...
[2026-10-20 00:32:28,441.441 INFO    ] 200
[2026-10-20 00:32:28,444.444 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:32:28,505.505 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:32:28,507.507 INFO    ] No update needed
[2026-10-20 00:32:28,510.510 INFO    ] Checking for camera pi updates...
[2026-10-20 00:32:28,543.543 INFO    ] 200
[2026-10-20 00:32:28,545.545 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:32:28,587.587 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:32:28,637.637 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:32:28,640.640 INFO    ] No camera update needed
[2026-10-20 00:32:28,642.642 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:32:28,644.644 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:32:28,650.650 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:32:28,655.655 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:32:30,694.694 INFO    ] ================================================
[2026-10-20 00:32:30,709.709 INFO    ] Launching Daemon at Tue Oct 20 00:32:30 IST 2026
[2026-10-20 00:32:30,720.720 INFO    ] ================================================
[2026-10-20 00:32:31,394.394 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:32:31
[2026-10-20 00:32:32,112.112 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:32:32,459.459 INFO    ] Initializing speech engine...
[2026-10-20 00:32:32,468.468 INFO    ] 2026-10-20 00:32:32
[2026-10-20 00:32:32,775.775 INFO    ] 2026-10-20 00:32:32
[2026-10-20 00:32:32,866.866 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:32:33,125.125 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:32:33,136.136 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:32:33,318.318 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:32:33,366.366 INFO    ] time= 20/10/2026 00:32:33
[2026-10-20 00:32:33,386.386 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:32:33,423.423 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:32:33,582.582 INFO    ] No existing commands found in stream
[2026-10-20 00:32:38,608.608 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:32:38,611.611 INFO    ] Waiting 2.81 seconds before fallback handling...
[2026-10-20 00:32:41,965.965 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:32:41,968.968 INFO    ] Checking for system updates...
[2026-10-20 00:32:42,005.005 INFO    ] 200
[2026-10-20 00:32:42,008.008 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:32:42,067.067 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:32:42,070.070 INFO    ] No update needed
[2026-10-20 00:32:42,072.072 INFO    ] Checking for camera pi updates...
[2026-10-20 00:32:42,107.107 INFO    ] 200
[2026-10-20 00:32:42,109.109 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:32:42,150.150 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:32:42,301.301 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:32:42,304.304 INFO    ] No camera update needed
[2026-10-20 00:32:42,306.306 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:32:42,308.308 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:32:42,314.314 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:32:42,319.319 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:32:44,364.364 INFO    ] ================================================
[2026-10-20 00:32:44,380.380 INFO    ] Launching Daemon at Tue Oct 20 00:32:44 IST 2026
[2026-10-20 00:32:44,391.391 INFO    ] ================================================
[2026-10-20 00:32:44,963.963 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:32:44
[2026-10-20 00:32:45,549.549 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:32:45,795.795 INFO    ] Initializing speech engine...
[2026-10-20 00:32:45,803.803 INFO    ] 2026-10-20 00:32:45
[2026-10-20 00:32:46,074.074 INFO    ] 2026-10-20 00:32:46
[2026-10-20 00:32:46,115.115 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:32:46,360.360 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:32:46,369.369 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:32:46,575.575 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:32:46,620.620 INFO    ] time= 20/10/2026 00:32:46
[2026-10-20 00:32:46,632.632 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:32:46,647.647 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:32:46,803.803 INFO    ] No existing commands found in stream
[2026-10-20 00:32:51,828.828 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:32:51,831.831 INFO    ] Waiting 0.92 seconds before fallback handling...
[2026-10-20 00:32:53,241.241 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 00:32:53,244.244 INFO    ] Checking for system updates...
[2026-10-20 00:32:53,279.279 INFO    ] 200
[2026-10-20 00:32:53,282.282 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:32:53,340.340 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:32:53,343.343 INFO    ] No update needed
[2026-10-20 00:32:53,345.345 INFO    ] Checking for camera pi updates...
[2026-10-20 00:32:53,378.378 INFO    ] 200
[2026-10-20 00:32:53,381.381 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:32:53,420.420 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:32:53,468.468 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:32:53,470.470 INFO    ] No camera update needed
[2026-10-20 00:32:53,473.473 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:32:53,475.475 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:32:53,480.480 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:32:53,485.485 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:32:55,527.527 INFO    ] ================================================
[2026-10-20 00:32:55,542.542 INFO    ] Launching Daemon at Tue Oct 20 00:32:55 IST 2026
[2026-10-20 00:32:55,552.552 INFO    ] ================================================
[2026-10-20 00:32:56,123.123 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:32:56
[2026-10-20 00:32:56,707.707 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:32:56,975.975 INFO    ] Initializing speech engine...
[2026-10-20 00:32:56,984.984 INFO    ] 2026-10-20 00:32:56
[2026-10-20 00:32:57,231.231 INFO    ] 2026-10-20 00:32:57
[2026-10-20 00:32:57,265.265 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:32:57,520.520 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:32:57,525.525 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:32:57,738.738 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:32:57,782.782 INFO    ] time= 20/10/2026 00:32:57
[2026-10-20 00:32:57,789.789 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:32:57,806.806 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:32:57,936.936 INFO    ] No existing commands found in stream
[2026-10-20 00:33:02,946.946 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:33:02,949.949 INFO    ] Waiting 3.47 seconds before fallback handling...
[2026-10-20 00:33:06,925.925 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:33:06,928.928 INFO    ] Checking for system updates...
[2026-10-20 00:33:06,968.968 INFO    ] 200
[2026-10-20 00:33:06,970.970 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:33:07,021.021 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:33:07,024.024 INFO    ] No update needed
[2026-10-20 00:33:07,026.026 INFO    ] Checking for camera pi updates...
[2026-10-20 00:33:07,063.063 INFO    ] 200
[2026-10-20 00:33:07,065.065 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:33:07,105.105 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:33:07,160.160 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:33:07,162.162 INFO    ] No camera update needed
[2026-10-20 00:33:07,164.164 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:33:07,167.167 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:33:07,172.172 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:33:07,177.177 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:33:09,218.218 INFO    ] ================================================
[2026-10-20 00:33:09,233.233 INFO    ] Launching Daemon at Tue Oct 20 00:33:09 IST 2026
[2026-10-20 00:33:09,244.244 INFO    ] ================================================
[2026-10-20 00:33:09,821.821 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:33:09
[2026-10-20 00:33:10,430.430 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:33:10,726.726 INFO    ] Initializing speech engine...
[2026-10-20 00:33:10,734.734 INFO    ] 2026-10-20 00:33:10
[2026-10-20 00:33:11,011.011 INFO    ] 2026-10-20 00:33:10
[2026-10-20 00:33:11,053.053 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:33:11,333.333 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:33:11,341.341 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:33:11,530.530 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:33:11,540.540 INFO    ] time= 20/10/2026 00:33:11
[2026-10-20 00:33:11,558.558 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:33:11,580.580 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:33:11,708.708 INFO    ] No existing commands found in stream
[2026-10-20 00:33:16,738.738 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:33:16,741.741 INFO    ] Waiting 1.33 seconds before fallback handling...
[2026-10-20 00:33:18,568.568 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 00:33:18,571.571 INFO    ] Checking for system updates...
[2026-10-20 00:33:18,609.609 INFO    ] 200
[2026-10-20 00:33:18,612.612 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:33:18,663.663 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:33:18,665.665 INFO    ] No update needed
[2026-10-20 00:33:18,668.668 INFO    ] Checking for camera pi updates...
[2026-10-20 00:33:18,704.704 INFO    ] 200
[2026-10-20 00:33:18,706.706 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:33:18,749.749 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:33:18,800.800 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:33:18,803.803 INFO    ] No camera update needed
[2026-10-20 00:33:18,806.806 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:33:18,809.809 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:33:18,816.816 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:33:18,823.823 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:33:20,862.862 INFO    ] ================================================
[2026-10-20 00:33:20,878.878 INFO    ] Launching Daemon at Tue Oct 20 00:33:20 IST 2026
[2026-10-20 00:33:20,889.889 INFO    ] ================================================
[2026-10-20 00:33:21,456.456 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:33:21
[2026-10-20 00:33:22,041.041 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:33:22,289.289 INFO    ] Initializing speech engine...
[2026-10-20 00:33:22,298.298 INFO    ] 2026-10-20 00:33:22
[2026-10-20 00:33:22,591.591 INFO    ] 2026-10-20 00:33:22
[2026-10-20 00:33:22,628.628 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:33:22,846.846 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:33:22,853.853 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:33:23,067.067 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:33:23,081.081 INFO    ] time= 20/10/2026 00:33:23
[2026-10-20 00:33:23,141.141 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:33:23,185.185 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:33:23,274.274 INFO    ] No existing commands found in stream
[2026-10-20 00:33:28,286.286 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:33:28,288.288 INFO    ] Waiting 0.81 seconds before fallback handling...
[2026-10-20 00:33:29,573.573 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 00:33:29,576.576 INFO    ] Checking for system updates...
[2026-10-20 00:33:29,614.614 INFO    ] 200
[2026-10-20 00:33:29,616.616 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:33:29,669.669 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:33:29,671.671 INFO    ] No update needed
[2026-10-20 00:33:29,674.674 INFO    ] Checking for camera pi updates...
[2026-10-20 00:33:29,706.706 INFO    ] 200
[2026-10-20 00:33:29,709.709 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:33:29,749.749 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:33:29,799.799 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:33:29,802.802 INFO    ] No camera update needed
[2026-10-20 00:33:29,804.804 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:33:29,806.806 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:33:29,812.812 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:33:29,816.816 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:33:31,856.856 INFO    ] ================================================
[2026-10-20 00:33:31,871.871 INFO    ] Launching Daemon at Tue Oct 20 00:33:31 IST 2026
[2026-10-20 00:33:31,881.881 INFO    ] ================================================
[2026-10-20 00:33:32,481.481 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:33:32
[2026-10-20 00:33:33,100.100 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:33:33,369.369 INFO    ] Initializing speech engine...
[2026-10-20 00:33:33,375.375 INFO    ] 2026-10-20 00:33:33
[2026-10-20 00:33:33,677.677 INFO    ] 2026-10-20 00:33:33
[2026-10-20 00:33:33,713.713 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:33:33,912.912 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:33:33,918.918 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:33:34,097.097 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:33:34,101.101 INFO    ] time= 20/10/2026 00:33:34
[2026-10-20 00:33:34,108.108 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:33:34,134.134 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:33:34,275.275 INFO    ] No existing commands found in stream
[2026-10-20 00:33:39,305.305 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:33:39,308.308 INFO    ] Waiting 1.12 seconds before fallback handling...
[2026-10-20 00:33:40,933.933 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 00:33:40,935.935 INFO    ] Checking for system updates...
[2026-10-20 00:33:40,974.974 INFO    ] 200
[2026-10-20 00:33:40,977.977 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:33:41,035.035 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:33:41,037.037 INFO    ] No update needed
[2026-10-20 00:33:41,040.040 INFO    ] Checking for camera pi updates...
[2026-10-20 00:33:41,076.076 INFO    ] 200
[2026-10-20 00:33:41,078.078 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:33:41,122.122 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:33:41,168.168 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:33:41,171.171 INFO    ] No camera update needed
[2026-10-20 00:33:41,173.173 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:33:41,175.175 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:33:41,181.181 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:33:41,186.186 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:33:43,225.225 INFO    ] ================================================
[2026-10-20 00:33:43,240.240 INFO    ] Launching Daemon at Tue Oct 20 00:33:43 IST 2026
[2026-10-20 00:33:43,251.251 INFO    ] ================================================
[2026-10-20 00:33:43,817.817 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:33:43
[2026-10-20 00:33:44,399.399 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:33:44,667.667 INFO    ] Initializing speech engine...
[2026-10-20 00:33:44,676.676 INFO    ] 2026-10-20 00:33:44
[2026-10-20 00:33:44,927.927 INFO    ] 2026-10-20 00:33:44
[2026-10-20 00:33:44,962.962 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:33:45,210.210 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:33:45,216.216 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:33:45,433.433 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:33:45,472.472 INFO    ] time= 20/10/2026 00:33:45
[2026-10-20 00:33:45,478.478 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:33:45,494.494 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:33:45,623.623 INFO    ] No existing commands found in stream
[2026-10-20 00:33:50,637.637 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:33:50,640.640 INFO    ] Waiting 3.99 seconds before fallback handling...
[2026-10-20 00:33:55,161.161 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:33:55,164.164 INFO    ] Checking for system updates...
[2026-10-20 00:33:55,202.202 INFO    ] 200
[2026-10-20 00:33:55,205.205 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:33:55,262.262 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:33:55,264.264 INFO    ] No update needed
[2026-10-20 00:33:55,267.267 INFO    ] Checking for camera pi updates...
[2026-10-20 00:33:55,303.303 INFO    ] 200
[2026-10-20 00:33:55,305.305 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:33:55,349.349 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:33:55,392.392 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:33:55,395.395 INFO    ] No camera update needed
[2026-10-20 00:33:55,397.397 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:33:55,399.399 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:33:55,404.404 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:33:55,409.409 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:33:57,450.450 INFO    ] ================================================
[2026-10-20 00:33:57,465.465 INFO    ] Launching Daemon at Tue Oct 20 00:33:57 IST 2026
[2026-10-20 00:33:57,475.475 INFO    ] ================================================
[2026-10-20 00:33:58,040.040 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:33:58
[2026-10-20 00:33:58,626.626 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:33:58,881.881 INFO    ] Initializing speech engine...
[2026-10-20 00:33:58,889.889 INFO    ] 2026-10-20 00:33:58
[2026-10-20 00:33:59,180.180 INFO    ] 2026-10-20 00:33:59
[2026-10-20 00:33:59,214.214 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:33:59,414.414 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:33:59,427.427 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:33:59,594.594 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:33:59,599.599 INFO    ] time= 20/10/2026 00:33:59
[2026-10-20 00:33:59,605.605 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:33:59,632.632 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:33:59,767.767 INFO    ] No existing commands found in stream
[2026-10-20 00:34:04,792.792 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:34:04,795.795 INFO    ] Waiting 1.76 seconds before fallback handling...
[2026-10-20 00:34:07,036.036 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 00:34:07,039.039 INFO    ] Checking for system updates...
[2026-10-20 00:34:07,074.074 INFO    ] 200
[2026-10-20 00:34:07,076.076 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:34:07,131.131 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:34:07,133.133 INFO    ] No update needed
[2026-10-20 00:34:07,136.136 INFO    ] Checking for camera pi updates...
[2026-10-20 00:34:07,176.176 INFO    ] 200
[2026-10-20 00:34:07,179.179 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:34:07,219.219 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:34:07,275.275 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:34:07,277.277 INFO    ] No camera update needed
[2026-10-20 00:34:07,280.280 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:34:07,282.282 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:34:07,287.287 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:34:07,292.292 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:34:09,333.333 INFO    ] ================================================
[2026-10-20 00:34:09,349.349 INFO    ] Launching Daemon at Tue Oct 20 00:34:09 IST 2026
[2026-10-20 00:34:09,360.360 INFO    ] ================================================
[2026-10-20 00:34:09,927.927 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:34:09
[2026-10-20 00:34:10,512.512 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:34:10,781.781 INFO    ] Initializing speech engine...
[2026-10-20 00:34:10,790.790 INFO    ] 2026-10-20 00:34:10
[2026-10-20 00:34:11,035.035 INFO    ] 2026-10-20 00:34:11
[2026-10-20 00:34:11,104.104 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:34:11,331.331 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:34:11,336.336 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:34:11,569.569 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:34:11,594.594 INFO    ] time= 20/10/2026 00:34:11
[2026-10-20 00:34:11,600.600 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:34:11,621.621 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:34:11,748.748 INFO    ] No existing commands found in stream
[2026-10-20 00:34:16,765.765 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:34:16,767.767 INFO    ] Waiting 3.73 seconds before fallback handling...
[2026-10-20 00:34:21,008.008 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:34:21,011.011 INFO    ] Checking for system updates...
[2026-10-20 00:34:21,051.051 INFO    ] 200
[2026-10-20 00:34:21,053.053 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:34:21,130.130 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:34:21,132.132 INFO    ] No update needed
[2026-10-20 00:34:21,135.135 INFO    ] Checking for camera pi updates...
[2026-10-20 00:34:21,172.172 INFO    ] 200
[2026-10-20 00:34:21,174.174 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:34:21,215.215 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:34:21,261.261 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:34:21,263.263 INFO    ] No camera update needed
[2026-10-20 00:34:21,266.266 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:34:21,268.268 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:34:21,273.273 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:34:21,278.278 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:34:23,321.321 INFO    ] ================================================
[2026-10-20 00:34:23,336.336 INFO    ] Launching Daemon at Tue Oct 20 00:34:23 IST 2026
[2026-10-20 00:34:23,347.347 INFO    ] ================================================
[2026-10-20 00:34:24,001.001 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:34:23
[2026-10-20 00:34:24,671.671 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:34:24,980.980 INFO    ] Initializing speech engine...
[2026-10-20 00:34:24,992.992 INFO    ] 2026-10-20 00:34:24
[2026-10-20 00:34:25,298.298 INFO    ] 2026-10-20 00:34:25
[2026-10-20 00:34:25,382.382 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:34:25,597.597 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:34:25,606.606 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:34:25,799.799 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:34:25,818.818 INFO    ] time= 20/10/2026 00:34:25
[2026-10-20 00:34:25,847.847 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:34:25,857.857 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:34:25,987.987 INFO    ] No existing commands found in stream
[2026-10-20 00:34:31,018.018 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:34:31,021.021 INFO    ] Waiting 0.45 seconds before fallback handling...
[2026-10-20 00:34:31,991.991 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:34:31,995.995 INFO    ] Checking for system updates...
[2026-10-20 00:34:32,040.040 INFO    ] 200
[2026-10-20 00:34:32,043.043 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:34:32,106.106 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:34:32,109.109 INFO    ] No update needed
[2026-10-20 00:34:32,112.112 INFO    ] Checking for camera pi updates...
[2026-10-20 00:34:32,152.152 INFO    ] 200
[2026-10-20 00:34:32,154.154 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:34:32,204.204 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:34:32,242.242 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:34:32,244.244 INFO    ] No camera update needed
[2026-10-20 00:34:32,247.247 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:34:32,250.250 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:34:32,257.257 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:34:32,263.263 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:34:34,304.304 INFO    ] ================================================
[2026-10-20 00:34:34,318.318 INFO    ] Launching Daemon at Tue Oct 20 00:34:34 IST 2026
[2026-10-20 00:34:34,329.329 INFO    ] ================================================
[2026-10-20 00:34:34,895.895 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:34:34
[2026-10-20 00:34:35,478.478 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:34:35,750.750 INFO    ] Initializing speech engine...
[2026-10-20 00:34:35,756.756 INFO    ] 2026-10-20 00:34:35
[2026-10-20 00:34:36,001.001 INFO    ] 2026-10-20 00:34:35
[2026-10-20 00:34:36,035.035 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:34:36,232.232 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:34:36,289.289 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:34:36,492.492 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:34:36,531.531 INFO    ] time= 20/10/2026 00:34:36
[2026-10-20 00:34:36,556.556 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:34:36,572.572 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:34:36,708.708 INFO    ] No existing commands found in stream
[2026-10-20 00:34:41,735.735 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:34:41,737.737 INFO    ] Waiting 2.23 seconds before fallback handling...
[2026-10-20 00:34:44,478.478 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 00:34:44,481.481 INFO    ] Checking for system updates...
[2026-10-20 00:34:44,517.517 INFO    ] 200
[2026-10-20 00:34:44,520.520 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:34:44,571.571 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:34:44,574.574 INFO    ] No update needed
[2026-10-20 00:34:44,576.576 INFO    ] Checking for camera pi updates...
[2026-10-20 00:34:44,609.609 INFO    ] 200
[2026-10-20 00:34:44,611.611 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:34:44,655.655 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:34:44,785.785 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:34:44,787.787 INFO    ] No camera update needed
[2026-10-20 00:34:44,790.790 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:34:44,792.792 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:34:44,797.797 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:34:44,802.802 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:34:46,842.842 INFO    ] ================================================
[2026-10-20 00:34:46,857.857 INFO    ] Launching Daemon at Tue Oct 20 00:34:46 IST 2026
[2026-10-20 00:34:46,868.868 INFO    ] ================================================
[2026-10-20 00:34:47,434.434 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:34:47
[2026-10-20 00:34:48,015.015 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:34:48,285.285 INFO    ] Initializing speech engine...
[2026-10-20 00:34:48,292.292 INFO    ] 2026-10-20 00:34:48
[2026-10-20 00:34:48,535.535 INFO    ] 2026-10-20 00:34:48
[2026-10-20 00:34:48,570.570 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:34:48,844.844 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:34:48,861.861 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:34:49,069.069 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:34:49,119.119 INFO    ] time= 20/10/2026 00:34:49
[2026-10-20 00:34:49,135.135 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:34:49,143.143 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:34:49,274.274 INFO    ] No existing commands found in stream
[2026-10-20 00:34:54,301.301 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:34:54,304.304 INFO    ] Waiting 2.37 seconds before fallback handling...
[2026-10-20 00:34:57,189.189 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:34:57,192.192 INFO    ] Checking for system updates...
[2026-10-20 00:34:57,231.231 INFO    ] 200
[2026-10-20 00:34:57,234.234 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:34:57,293.293 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:34:57,296.296 INFO    ] No update needed
[2026-10-20 00:34:57,299.299 INFO    ] Checking for camera pi updates...
[2026-10-20 00:34:57,333.333 INFO    ] 200
[2026-10-20 00:34:57,336.336 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:34:57,381.381 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:34:57,428.428 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:34:57,431.431 INFO    ] No camera update needed
[2026-10-20 00:34:57,434.434 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:34:57,437.437 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:34:57,443.443 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:34:57,449.449 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:34:59,491.491 INFO    ] ================================================
[2026-10-20 00:34:59,506.506 INFO    ] Launching Daemon at Tue Oct 20 00:34:59 IST 2026
[2026-10-20 00:34:59,516.516 INFO    ] ================================================
[2026-10-20 00:35:00,162.162 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:35:00
[2026-10-20 00:35:00,821.821 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:35:01,120.120 INFO    ] Initializing speech engine...
[2026-10-20 00:35:01,130.130 INFO    ] 2026-10-20 00:35:01
[2026-10-20 00:35:01,415.415 INFO    ] 2026-10-20 00:35:01
[2026-10-20 00:35:01,457.457 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:35:01,740.740 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:35:01,746.746 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:35:01,906.906 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:35:01,926.926 INFO    ] time= 20/10/2026 00:35:01
[2026-10-20 00:35:01,958.958 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:35:01,963.963 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:35:02,055.055 INFO    ] No existing commands found in stream
[2026-10-20 00:35:07,071.071 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:35:07,074.074 INFO    ] Waiting 2.99 seconds before fallback handling...
[2026-10-20 00:35:10,541.541 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 00:35:10,543.543 INFO    ] Checking for system updates...
[2026-10-20 00:35:10,579.579 INFO    ] 200
[2026-10-20 00:35:10,582.582 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:35:10,633.633 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:35:10,636.636 INFO    ] No update needed
[2026-10-20 00:35:10,638.638 INFO    ] Checking for camera pi updates...
[2026-10-20 00:35:10,675.675 INFO    ] 200
[2026-10-20 00:35:10,677.677 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:35:10,722.722 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:35:10,767.767 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:35:10,770.770 INFO    ] No camera update needed
[2026-10-20 00:35:10,772.772 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:35:10,774.774 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:35:10,780.780 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:35:10,785.785 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:35:12,824.824 INFO    ] ================================================
[2026-10-20 00:35:12,840.840 INFO    ] Launching Daemon at Tue Oct 20 00:35:12 IST 2026
[2026-10-20 00:35:12,851.851 INFO    ] ================================================
[2026-10-20 00:35:13,420.420 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:35:13
[2026-10-20 00:35:14,009.009 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:35:14,266.266 INFO    ] Initializing speech engine...
[2026-10-20 00:35:14,271.271 INFO    ] 2026-10-20 00:35:14
[2026-10-20 00:35:14,565.565 INFO    ] 2026-10-20 00:35:14
[2026-10-20 00:35:14,602.602 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:35:14,826.826 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:35:14,891.891 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:35:15,050.050 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:35:15,085.085 INFO    ] time= 20/10/2026 00:35:15
[2026-10-20 00:35:15,139.139 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:35:15,189.189 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:35:15,346.346 INFO    ] No existing commands found in stream
[2026-10-20 00:35:20,372.372 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:35:20,375.375 INFO    ] Waiting 3.87 seconds before fallback handling...
[2026-10-20 00:35:24,765.765 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:35:24,767.767 INFO    ] Checking for system updates...
[2026-10-20 00:35:24,803.803 INFO    ] 200
[2026-10-20 00:35:24,805.805 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:35:24,857.857 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:35:24,860.860 INFO    ] No update needed
[2026-10-20 00:35:24,862.862 INFO    ] Checking for camera pi updates...
[2026-10-20 00:35:24,896.896 INFO    ] 200
[2026-10-20 00:35:24,899.899 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:35:24,940.940 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:35:24,973.973 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:35:24,975.975 INFO    ] No camera update needed
[2026-10-20 00:35:24,978.978 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:35:24,980.980 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:35:24,986.986 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:35:24,991.991 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:35:27,031.031 INFO    ] ================================================
[2026-10-20 00:35:27,045.045 INFO    ] Launching Daemon at Tue Oct 20 00:35:27 IST 2026
[2026-10-20 00:35:27,056.056 INFO    ] ================================================
[2026-10-20 00:35:27,624.624 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:35:27
[2026-10-20 00:35:28,209.209 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:35:28,462.462 INFO    ] Initializing speech engine...
[2026-10-20 00:35:28,471.471 INFO    ] 2026-10-20 00:35:28
[2026-10-20 00:35:28,758.758 INFO    ] 2026-10-20 00:35:28
[2026-10-20 00:35:28,796.796 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:35:29,018.018 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:35:29,026.026 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:35:29,241.241 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:35:29,248.248 INFO    ] time= 20/10/2026 00:35:29
[2026-10-20 00:35:29,264.264 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:35:29,313.313 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:35:29,414.414 INFO    ] No existing commands found in stream
[2026-10-20 00:35:34,427.427 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:35:34,430.430 INFO    ] Waiting 1.48 seconds before fallback handling...
[2026-10-20 00:35:36,425.425 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:35:36,428.428 INFO    ] Checking for system updates...
[2026-10-20 00:35:36,464.464 INFO    ] 200
[2026-10-20 00:35:36,466.466 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:35:36,524.524 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:35:36,526.526 INFO    ] No update needed
[2026-10-20 00:35:36,528.528 INFO    ] Checking for camera pi updates...
[2026-10-20 00:35:36,564.564 INFO    ] 200
[2026-10-20 00:35:36,567.567 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:35:36,610.610 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:35:36,658.658 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:35:36,660.660 INFO    ] No camera update needed
[2026-10-20 00:35:36,663.663 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:35:36,665.665 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:35:36,670.670 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:35:36,675.675 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:35:38,717.717 INFO    ] ================================================
[2026-10-20 00:35:38,733.733 INFO    ] Launching Daemon at Tue Oct 20 00:35:38 IST 2026
[2026-10-20 00:35:38,744.744 INFO    ] ================================================
[2026-10-20 00:35:39,330.330 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:35:39
[2026-10-20 00:35:39,972.972 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:35:40,270.270 INFO    ] Initializing speech engine...
[2026-10-20 00:35:40,279.279 INFO    ] 2026-10-20 00:35:40
[2026-10-20 00:35:40,579.579 INFO    ] 2026-10-20 00:35:40
[2026-10-20 00:35:40,691.691 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:35:40,903.903 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:35:40,913.913 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:35:41,095.095 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:35:41,115.115 INFO    ] time= 20/10/2026 00:35:41
[2026-10-20 00:35:41,132.132 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:35:41,164.164 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:35:41,272.272 INFO    ] No existing commands found in stream
[2026-10-20 00:35:46,301.301 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:35:46,304.304 INFO    ] Waiting 3.89 seconds before fallback handling...
[2026-10-20 00:35:50,694.694 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 00:35:50,697.697 INFO    ] Checking for system updates...
[2026-10-20 00:35:50,733.733 INFO    ] 200
[2026-10-20 00:35:50,736.736 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:35:50,789.789 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:35:50,792.792 INFO    ] No update needed
[2026-10-20 00:35:50,794.794 INFO    ] Checking for camera pi updates...
[2026-10-20 00:35:50,827.827 INFO    ] 200
[2026-10-20 00:35:50,830.830 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:35:50,870.870 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:35:50,916.916 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:35:50,919.919 INFO    ] No camera update needed
[2026-10-20 00:35:50,921.921 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:35:50,924.924 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:35:50,929.929 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:35:50,936.936 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:35:52,975.975 INFO    ] ================================================
[2026-10-20 00:35:52,990.990 INFO    ] Launching Daemon at Tue Oct 20 00:35:52 IST 2026
[2026-10-20 00:35:53,001.001 INFO    ] ================================================
[2026-10-20 00:35:53,641.641 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:35:53
[2026-10-20 00:35:54,262.262 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:35:54,512.512 INFO    ] Initializing speech engine...
[2026-10-20 00:35:54,536.536 INFO    ] 2026-10-20 00:35:54
[2026-10-20 00:35:54,794.794 INFO    ] 2026-10-20 00:35:54
[2026-10-20 00:35:54,829.829 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:35:55,005.005 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:35:55,016.016 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:35:55,161.161 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:35:55,170.170 INFO    ] time= 20/10/2026 00:35:55
[2026-10-20 00:35:55,223.223 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:35:55,237.237 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:35:55,359.359 INFO    ] No existing commands found in stream
[2026-10-20 00:36:00,371.371 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:36:00,374.374 INFO    ] Waiting 2.60 seconds before fallback handling...
[2026-10-20 00:36:03,468.468 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:36:03,471.471 INFO    ] Checking for system updates...
[2026-10-20 00:36:03,510.510 INFO    ] 200
[2026-10-20 00:36:03,513.513 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:36:03,571.571 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:36:03,574.574 INFO    ] No update needed
[2026-10-20 00:36:03,576.576 INFO    ] Checking for camera pi updates...
[2026-10-20 00:36:03,609.609 INFO    ] 200
[2026-10-20 00:36:03,611.611 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:36:03,653.653 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:36:03,695.695 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:36:03,698.698 INFO    ] No camera update needed
[2026-10-20 00:36:03,700.700 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:36:03,702.702 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:36:03,708.708 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:36:03,713.713 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:36:05,754.754 INFO    ] ================================================
[2026-10-20 00:36:05,770.770 INFO    ] Launching Daemon at Tue Oct 20 00:36:05 IST 2026
[2026-10-20 00:36:05,780.780 INFO    ] ================================================
[2026-10-20 00:36:06,427.427 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:36:06
[2026-10-20 00:36:07,097.097 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:36:07,399.399 INFO    ] Initializing speech engine...
[2026-10-20 00:36:07,407.407 INFO    ] 2026-10-20 00:36:07
[2026-10-20 00:36:07,681.681 INFO    ] 2026-10-20 00:36:07
[2026-10-20 00:36:07,717.717 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:36:07,935.935 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:36:08,001.001 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:36:08,164.164 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:36:08,234.234 INFO    ] time= 20/10/2026 00:36:08
[2026-10-20 00:36:08,279.279 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:36:08,312.312 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:36:08,448.448 INFO    ] No existing commands found in stream
[2026-10-20 00:36:13,479.479 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:36:13,482.482 INFO    ] Waiting 0.25 seconds before fallback handling...
[2026-10-20 00:36:14,206.206 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 00:36:14,209.209 INFO    ] Checking for system updates...
[2026-10-20 00:36:14,245.245 INFO    ] 200
[2026-10-20 00:36:14,248.248 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:36:14,301.301 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:36:14,303.303 INFO    ] No update needed
[2026-10-20 00:36:14,306.306 INFO    ] Checking for camera pi updates...
[2026-10-20 00:36:14,341.341 INFO    ] 200
[2026-10-20 00:36:14,343.343 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:36:14,384.384 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:36:14,436.436 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:36:14,439.439 INFO    ] No camera update needed
[2026-10-20 00:36:14,443.443 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:36:14,446.446 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:36:14,452.452 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:36:14,458.458 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:36:16,500.500 INFO    ] ================================================
[2026-10-20 00:36:16,515.515 INFO    ] Launching Daemon at Tue Oct 20 00:36:16 IST 2026
[2026-10-20 00:36:16,526.526 INFO    ] ================================================
[2026-10-20 00:36:17,187.187 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:36:17
[2026-10-20 00:36:17,868.868 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:36:18,176.176 INFO    ] Initializing speech engine...
[2026-10-20 00:36:18,190.190 INFO    ] 2026-10-20 00:36:18
[2026-10-20 00:36:18,500.500 INFO    ] 2026-10-20 00:36:18
[2026-10-20 00:36:18,585.585 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:36:18,801.801 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:36:18,806.806 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:36:19,002.002 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:36:19,021.021 INFO    ] time= 20/10/2026 00:36:19
[2026-10-20 00:36:19,030.030 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:36:19,058.058 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:36:19,166.166 INFO    ] No existing commands found in stream
[2026-10-20 00:36:24,190.190 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:36:24,194.194 INFO    ] Waiting 0.93 seconds before fallback handling...
[2026-10-20 00:36:25,667.667 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:36:25,670.670 INFO    ] Checking for system updates...
[2026-10-20 00:36:25,706.706 INFO    ] 200
[2026-10-20 00:36:25,709.709 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:36:25,761.761 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:36:25,764.764 INFO    ] No update needed
[2026-10-20 00:36:25,766.766 INFO    ] Checking for camera pi updates...
[2026-10-20 00:36:25,799.799 INFO    ] 200
[2026-10-20 00:36:25,801.801 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:36:25,846.846 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:36:25,896.896 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:36:25,899.899 INFO    ] No camera update needed
[2026-10-20 00:36:25,901.901 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:36:25,903.903 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:36:25,909.909 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:36:25,914.914 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:36:27,955.955 INFO    ] ================================================
[2026-10-20 00:36:27,971.971 INFO    ] Launching Daemon at Tue Oct 20 00:36:27 IST 2026
[2026-10-20 00:36:27,981.981 INFO    ] ================================================
[2026-10-20 00:36:28,554.554 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:36:28
[2026-10-20 00:36:29,145.145 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:36:29,407.407 INFO    ] Initializing speech engine...
[2026-10-20 00:36:29,432.432 INFO    ] 2026-10-20 00:36:29
[2026-10-20 00:36:29,706.706 INFO    ] 2026-10-20 00:36:29
[2026-10-20 00:36:29,744.744 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:36:29,965.965 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:36:29,976.976 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:36:30,197.197 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:36:30,205.205 INFO    ] time= 20/10/2026 00:36:30
[2026-10-20 00:36:30,260.260 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:36:30,299.299 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:36:30,422.422 INFO    ] No existing commands found in stream
[2026-10-20 00:36:35,454.454 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:36:35,457.457 INFO    ] Waiting 3.53 seconds before fallback handling...
[2026-10-20 00:36:39,496.496 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:36:39,499.499 INFO    ] Checking for system updates...
[2026-10-20 00:36:39,535.535 INFO    ] 200
[2026-10-20 00:36:39,538.538 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:36:39,599.599 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:36:39,602.602 INFO    ] No update needed
[2026-10-20 00:36:39,605.605 INFO    ] Checking for camera pi updates...
[2026-10-20 00:36:39,643.643 INFO    ] 200
[2026-10-20 00:36:39,645.645 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:36:39,686.686 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:36:39,740.740 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:36:39,742.742 INFO    ] No camera update needed
[2026-10-20 00:36:39,745.745 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:36:39,748.748 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:36:39,754.754 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:36:39,760.760 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:36:41,801.801 INFO    ] ================================================
[2026-10-20 00:36:41,816.816 INFO    ] Launching Daemon at Tue Oct 20 00:36:41 IST 2026
[2026-10-20 00:36:41,828.828 INFO    ] ================================================
[2026-10-20 00:36:42,408.408 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:36:42
[2026-10-20 00:36:42,995.995 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:36:43,253.253 INFO    ] Initializing speech engine...
[2026-10-20 00:36:43,260.260 INFO    ] 2026-10-20 00:36:43
[2026-10-20 00:36:43,556.556 INFO    ] 2026-10-20 00:36:43
[2026-10-20 00:36:43,594.594 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:36:43,822.822 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:36:43,863.863 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:36:44,049.049 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:36:44,071.071 INFO    ] time= 20/10/2026 00:36:44
[2026-10-20 00:36:44,116.116 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:36:44,150.150 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:36:44,260.260 INFO    ] No existing commands found in stream
[2026-10-20 00:36:49,272.272 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:36:49,275.275 INFO    ] Waiting 1.14 seconds before fallback handling...
[2026-10-20 00:36:50,937.937 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 00:36:50,939.939 INFO    ] Checking for system updates...
[2026-10-20 00:36:50,976.976 INFO    ] 200
[2026-10-20 00:36:50,978.978 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:36:51,031.031 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:36:51,033.033 INFO    ] No update needed
[2026-10-20 00:36:51,036.036 INFO    ] Checking for camera pi updates...
[2026-10-20 00:36:51,072.072 INFO    ] 200
[2026-10-20 00:36:51,075.075 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:36:51,114.114 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:36:51,262.262 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:36:51,265.265 INFO    ] No camera update needed
[2026-10-20 00:36:51,267.267 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:36:51,270.270 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:36:51,275.275 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:36:51,280.280 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:36:53,320.320 INFO    ] ================================================
[2026-10-20 00:36:53,335.335 INFO    ] Launching Daemon at Tue Oct 20 00:36:53 IST 2026
[2026-10-20 00:36:53,345.345 INFO    ] ================================================
[2026-10-20 00:36:53,919.919 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:36:53
[2026-10-20 00:36:54,556.556 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:36:54,857.857 INFO    ] Initializing speech engine...
[2026-10-20 00:36:54,870.870 INFO    ] 2026-10-20 00:36:54
[2026-10-20 00:36:55,149.149 INFO    ] 2026-10-20 00:36:55
[2026-10-20 00:36:55,193.193 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:36:55,478.478 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:36:55,487.487 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:36:55,680.680 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:36:55,696.696 INFO    ] time= 20/10/2026 00:36:55
[2026-10-20 00:36:55,706.706 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:36:55,731.731 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:36:55,863.863 INFO    ] No existing commands found in stream
[2026-10-20 00:37:00,893.893 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:37:00,896.896 INFO    ] Waiting 3.07 seconds before fallback handling...
[2026-10-20 00:37:04,502.502 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 00:37:04,505.505 INFO    ] Checking for system updates...
[2026-10-20 00:37:04,541.541 INFO    ] 200
[2026-10-20 00:37:04,543.543 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:37:04,596.596 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:37:04,599.599 INFO    ] No update needed
[2026-10-20 00:37:04,601.601 INFO    ] Checking for camera pi updates...
[2026-10-20 00:37:04,638.638 INFO    ] 200
[2026-10-20 00:37:04,641.641 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:37:04,682.682 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:37:04,727.727 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:37:04,730.730 INFO    ] No camera update needed
[2026-10-20 00:37:04,732.732 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:37:04,735.735 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:37:04,741.741 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:37:04,746.746 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:37:06,786.786 INFO    ] ================================================
[2026-10-20 00:37:06,806.806 INFO    ] Launching Daemon at Tue Oct 20 00:37:06 IST 2026
[2026-10-20 00:37:06,817.817 INFO    ] ================================================
[2026-10-20 00:37:07,381.381 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:37:07
[2026-10-20 00:37:07,964.964 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:37:08,212.212 INFO    ] Initializing speech engine...
[2026-10-20 00:37:08,227.227 INFO    ] 2026-10-20 00:37:08
[2026-10-20 00:37:08,489.489 INFO    ] 2026-10-20 00:37:08
[2026-10-20 00:37:08,524.524 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:37:08,779.779 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:37:08,788.788 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:37:09,006.006 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:37:09,046.046 INFO    ] time= 20/10/2026 00:37:09
[2026-10-20 00:37:09,052.052 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:37:09,070.070 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:37:09,201.201 INFO    ] No existing commands found in stream
[2026-10-20 00:37:14,220.220 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:37:14,223.223 INFO    ] Waiting 3.39 seconds before fallback handling...
[2026-10-20 00:37:18,134.134 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 00:37:18,137.137 INFO    ] Checking for system updates...
[2026-10-20 00:37:18,173.173 INFO    ] 200
[2026-10-20 00:37:18,176.176 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:37:18,230.230 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:37:18,232.232 INFO    ] No update needed
[2026-10-20 00:37:18,235.235 INFO    ] Checking for camera pi updates...
[2026-10-20 00:37:18,268.268 INFO    ] 200
[2026-10-20 00:37:18,271.271 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:37:18,314.314 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:37:18,347.347 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:37:18,350.350 INFO    ] No camera update needed
[2026-10-20 00:37:18,352.352 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:37:18,355.355 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:37:18,360.360 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:37:18,365.365 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:37:20,404.404 INFO    ] ================================================
[2026-10-20 00:37:20,420.420 INFO    ] Launching Daemon at Tue Oct 20 00:37:20 IST 2026
[2026-10-20 00:37:20,430.430 INFO    ] ================================================
[2026-10-20 00:37:21,062.062 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:37:21
[2026-10-20 00:37:21,713.713 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:37:22,017.017 INFO    ] Initializing speech engine...
[2026-10-20 00:37:22,025.025 INFO    ] 2026-10-20 00:37:22
[2026-10-20 00:37:22,294.294 INFO    ] 2026-10-20 00:37:22
[2026-10-20 00:37:22,349.349 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:37:22,606.606 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:37:22,643.643 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:37:22,846.846 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:37:22,872.872 INFO    ] time= 20/10/2026 00:37:22
[2026-10-20 00:37:22,879.879 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:37:22,898.898 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:37:23,030.030 INFO    ] No existing commands found in stream
[2026-10-20 00:37:28,051.051 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:37:28,054.054 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-10-20 00:37:30,291.291 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 00:37:30,294.294 INFO    ] Checking for system updates...
[2026-10-20 00:37:30,330.330 INFO    ] 200
[2026-10-20 00:37:30,332.332 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:37:30,388.388 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:37:30,391.391 INFO    ] No update needed
[2026-10-20 00:37:30,393.393 INFO    ] Checking for camera pi updates...
[2026-10-20 00:37:30,426.426 INFO    ] 200
[2026-10-20 00:37:30,429.429 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:37:30,468.468 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:37:30,519.519 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:37:30,521.521 INFO    ] No camera update needed
[2026-10-20 00:37:30,523.523 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:37:30,526.526 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:37:30,531.531 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:37:30,536.536 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:37:32,577.577 INFO    ] ================================================
[2026-10-20 00:37:32,591.591 INFO    ] Launching Daemon at Tue Oct 20 00:37:32 IST 2026
[2026-10-20 00:37:32,602.602 INFO    ] ================================================
[2026-10-20 00:37:33,183.183 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:37:33
[2026-10-20 00:37:33,786.786 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:37:34,064.064 INFO    ] Initializing speech engine...
[2026-10-20 00:37:34,074.074 INFO    ] 2026-10-20 00:37:34
[2026-10-20 00:37:34,329.329 INFO    ] 2026-10-20 00:37:34
[2026-10-20 00:37:34,381.381 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:37:34,608.608 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:37:34,612.612 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:37:34,813.813 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:37:34,870.870 INFO    ] time= 20/10/2026 00:37:34
[2026-10-20 00:37:34,876.876 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:37:34,894.894 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:37:35,004.004 INFO    ] No existing commands found in stream
[2026-10-20 00:37:40,029.029 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:37:40,032.032 INFO    ] Waiting 1.95 seconds before fallback handling...
[2026-10-20 00:37:42,537.537 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:37:42,540.540 INFO    ] Checking for system updates...
[2026-10-20 00:37:42,576.576 INFO    ] 200
[2026-10-20 00:37:42,579.579 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:37:42,632.632 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:37:42,635.635 INFO    ] No update needed
[2026-10-20 00:37:42,637.637 INFO    ] Checking for camera pi updates...
[2026-10-20 00:37:42,671.671 INFO    ] 200
[2026-10-20 00:37:42,674.674 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:37:42,715.715 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:37:42,762.762 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:37:42,765.765 INFO    ] No camera update needed
[2026-10-20 00:37:42,768.768 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:37:42,770.770 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:37:42,776.776 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:37:42,782.782 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:37:44,824.824 INFO    ] ================================================
[2026-10-20 00:37:44,840.840 INFO    ] Launching Daemon at Tue Oct 20 00:37:44 IST 2026
[2026-10-20 00:37:44,850.850 INFO    ] ================================================
[2026-10-20 00:37:45,421.421 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:37:45
[2026-10-20 00:37:46,023.023 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:37:46,276.276 INFO    ] Initializing speech engine...
[2026-10-20 00:37:46,285.285 INFO    ] 2026-10-20 00:37:46
[2026-10-20 00:37:46,575.575 INFO    ] 2026-10-20 00:37:46
[2026-10-20 00:37:46,613.613 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:37:46,819.819 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:37:46,836.836 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:37:46,994.994 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:37:47,055.055 INFO    ] time= 20/10/2026 00:37:46
[2026-10-20 00:37:47,067.067 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:37:47,093.093 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:37:47,213.213 INFO    ] No existing commands found in stream
[2026-10-20 00:37:52,224.224 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:37:52,227.227 INFO    ] Waiting 1.31 seconds before fallback handling...
[2026-10-20 00:37:54,024.024 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 00:37:54,027.027 INFO    ] Checking for system updates...
[2026-10-20 00:37:54,063.063 INFO    ] 200
[2026-10-20 00:37:54,066.066 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:37:54,120.120 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:37:54,123.123 INFO    ] No update needed
[2026-10-20 00:37:54,125.125 INFO    ] Checking for camera pi updates...
[2026-10-20 00:37:54,159.159 INFO    ] 200
[2026-10-20 00:37:54,161.161 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:37:54,200.200 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:37:54,254.254 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:37:54,256.256 INFO    ] No camera update needed
[2026-10-20 00:37:54,259.259 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:37:54,261.261 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:37:54,266.266 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:37:54,271.271 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:37:56,311.311 INFO    ] ================================================
[2026-10-20 00:37:56,327.327 INFO    ] Launching Daemon at Tue Oct 20 00:37:56 IST 2026
[2026-10-20 00:37:56,338.338 INFO    ] ================================================
[2026-10-20 00:37:56,919.919 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:37:56
[2026-10-20 00:37:57,508.508 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:37:57,767.767 INFO    ] Initializing speech engine...
[2026-10-20 00:37:57,781.781 INFO    ] 2026-10-20 00:37:57
[2026-10-20 00:37:58,061.061 INFO    ] 2026-10-20 00:37:58
[2026-10-20 00:37:58,095.095 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:37:58,293.293 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:37:58,306.306 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:37:58,468.468 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:37:58,475.475 INFO    ] time= 20/10/2026 00:37:58
[2026-10-20 00:37:58,481.481 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:37:58,502.502 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:37:58,640.640 INFO    ] No existing commands found in stream
[2026-10-20 00:38:03,661.661 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:38:03,664.664 INFO    ] Waiting 1.42 seconds before fallback handling...
[2026-10-20 00:38:05,572.572 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 00:38:05,575.575 INFO    ] Checking for system updates...
[2026-10-20 00:38:05,611.611 INFO    ] 200
[2026-10-20 00:38:05,613.613 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:38:05,664.664 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:38:05,667.667 INFO    ] No update needed
[2026-10-20 00:38:05,669.669 INFO    ] Checking for camera pi updates...
[2026-10-20 00:38:05,702.702 INFO    ] 200
[2026-10-20 00:38:05,705.705 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:38:05,745.745 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:38:05,791.791 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:38:05,793.793 INFO    ] No camera update needed
[2026-10-20 00:38:05,795.795 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:38:05,798.798 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:38:05,803.803 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:38:05,808.808 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:38:07,848.848 INFO    ] ================================================
[2026-10-20 00:38:07,864.864 INFO    ] Launching Daemon at Tue Oct 20 00:38:07 IST 2026
[2026-10-20 00:38:07,874.874 INFO    ] ================================================
[2026-10-20 00:38:08,439.439 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:38:08
[2026-10-20 00:38:09,025.025 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:38:09,285.285 INFO    ] Initializing speech engine...
[2026-10-20 00:38:09,309.309 INFO    ] 2026-10-20 00:38:09
[2026-10-20 00:38:09,580.580 INFO    ] 2026-10-20 00:38:09
[2026-10-20 00:38:09,615.615 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:38:09,839.839 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:38:09,879.879 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:38:10,062.062 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:38:10,083.083 INFO    ] time= 20/10/2026 00:38:10
[2026-10-20 00:38:10,143.143 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:38:10,187.187 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:38:10,342.342 INFO    ] No existing commands found in stream
[2026-10-20 00:38:15,370.370 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:38:15,372.372 INFO    ] Waiting 1.48 seconds before fallback handling...
[2026-10-20 00:38:17,342.342 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 00:38:17,344.344 INFO    ] Checking for system updates...
[2026-10-20 00:38:17,380.380 INFO    ] 200
[2026-10-20 00:38:17,383.383 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:38:17,435.435 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:38:17,437.437 INFO    ] No update needed
[2026-10-20 00:38:17,440.440 INFO    ] Checking for camera pi updates...
[2026-10-20 00:38:17,473.473 INFO    ] 200
[2026-10-20 00:38:17,475.475 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:38:17,515.515 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:38:17,561.561 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:38:17,563.563 INFO    ] No camera update needed
[2026-10-20 00:38:17,565.565 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:38:17,568.568 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:38:17,574.574 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:38:17,579.579 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:38:19,619.619 INFO    ] ================================================
[2026-10-20 00:38:19,634.634 INFO    ] Launching Daemon at Tue Oct 20 00:38:19 IST 2026
[2026-10-20 00:38:19,645.645 INFO    ] ================================================
[2026-10-20 00:38:20,209.209 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:38:20
[2026-10-20 00:38:20,795.795 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:38:21,051.051 INFO    ] Initializing speech engine...
[2026-10-20 00:38:21,057.057 INFO    ] 2026-10-20 00:38:21
[2026-10-20 00:38:21,346.346 INFO    ] 2026-10-20 00:38:21
[2026-10-20 00:38:21,384.384 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:38:21,578.578 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:38:21,593.593 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:38:21,752.752 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:38:21,760.760 INFO    ] time= 20/10/2026 00:38:21
[2026-10-20 00:38:21,765.765 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:38:21,771.771 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:38:21,846.846 INFO    ] No existing commands found in stream
[2026-10-20 00:38:26,866.866 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:38:26,870.870 INFO    ] Waiting 2.91 seconds before fallback handling...
[2026-10-20 00:38:30,304.304 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:38:30,307.307 INFO    ] Checking for system updates...
[2026-10-20 00:38:30,343.343 INFO    ] 200
[2026-10-20 00:38:30,346.346 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:38:30,400.400 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:38:30,403.403 INFO    ] No update needed
[2026-10-20 00:38:30,405.405 INFO    ] Checking for camera pi updates...
[2026-10-20 00:38:30,440.440 INFO    ] 200
[2026-10-20 00:38:30,442.442 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:38:30,483.483 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:38:30,533.533 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:38:30,535.535 INFO    ] No camera update needed
[2026-10-20 00:38:30,538.538 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:38:30,541.541 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:38:30,547.547 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:38:30,552.552 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:38:32,600.600 INFO    ] ================================================
[2026-10-20 00:38:32,616.616 INFO    ] Launching Daemon at Tue Oct 20 00:38:32 IST 2026
[2026-10-20 00:38:32,629.629 INFO    ] ================================================
[2026-10-20 00:38:33,230.230 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:38:33
[2026-10-20 00:38:33,830.830 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:38:34,090.090 INFO    ] Initializing speech engine...
[2026-10-20 00:38:34,103.103 INFO    ] 2026-10-20 00:38:34
[2026-10-20 00:38:34,383.383 INFO    ] 2026-10-20 00:38:34
[2026-10-20 00:38:34,416.416 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:38:34,625.625 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:38:34,642.642 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:38:34,792.792 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:38:34,797.797 INFO    ] time= 20/10/2026 00:38:34
[2026-10-20 00:38:34,804.804 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:38:34,825.825 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:38:34,977.977 INFO    ] No existing commands found in stream
[2026-10-20 00:38:40,002.002 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:38:40,005.005 INFO    ] Waiting 3.87 seconds before fallback handling...
[2026-10-20 00:38:44,430.430 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:38:44,433.433 INFO    ] Checking for system updates...
[2026-10-20 00:38:44,470.470 INFO    ] 200
[2026-10-20 00:38:44,473.473 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:38:44,526.526 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:38:44,529.529 INFO    ] No update needed
[2026-10-20 00:38:44,532.532 INFO    ] Checking for camera pi updates...
[2026-10-20 00:38:44,566.566 INFO    ] 200
[2026-10-20 00:38:44,569.569 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:38:44,611.611 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:38:44,658.658 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:38:44,661.661 INFO    ] No camera update needed
[2026-10-20 00:38:44,663.663 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:38:44,666.666 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:38:44,672.672 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:38:44,677.677 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:38:46,718.718 INFO    ] ================================================
[2026-10-20 00:38:46,733.733 INFO    ] Launching Daemon at Tue Oct 20 00:38:46 IST 2026
[2026-10-20 00:38:46,744.744 INFO    ] ================================================
[2026-10-20 00:38:47,312.312 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:38:47
[2026-10-20 00:38:47,899.899 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:38:48,148.148 INFO    ] Initializing speech engine...
[2026-10-20 00:38:48,155.155 INFO    ] 2026-10-20 00:38:48
[2026-10-20 00:38:48,451.451 INFO    ] 2026-10-20 00:38:48
[2026-10-20 00:38:48,488.488 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:38:48,694.694 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:38:48,713.713 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:38:48,856.856 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:38:48,865.865 INFO    ] time= 20/10/2026 00:38:48
[2026-10-20 00:38:48,870.870 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:38:48,878.878 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:38:49,009.009 INFO    ] No existing commands found in stream
[2026-10-20 00:38:54,039.039 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:38:54,042.042 INFO    ] Waiting 2.06 seconds before fallback handling...
[2026-10-20 00:38:56,624.624 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:38:56,627.627 INFO    ] Checking for system updates...
[2026-10-20 00:38:56,662.662 INFO    ] 200
[2026-10-20 00:38:56,665.665 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:38:56,724.724 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:38:56,727.727 INFO    ] No update needed
[2026-10-20 00:38:56,729.729 INFO    ] Checking for camera pi updates...
[2026-10-20 00:38:56,763.763 INFO    ] 200
[2026-10-20 00:38:56,766.766 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:38:56,806.806 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:38:56,949.949 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:38:56,952.952 INFO    ] No camera update needed
[2026-10-20 00:38:56,954.954 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:38:56,957.957 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:38:56,963.963 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:38:56,969.969 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:38:59,009.009 INFO    ] ================================================
[2026-10-20 00:38:59,024.024 INFO    ] Launching Daemon at Tue Oct 20 00:38:59 IST 2026
[2026-10-20 00:38:59,034.034 INFO    ] ================================================
[2026-10-20 00:38:59,675.675 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:38:59
[2026-10-20 00:39:00,337.337 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:39:00,637.637 INFO    ] Initializing speech engine...
[2026-10-20 00:39:00,651.651 INFO    ] 2026-10-20 00:39:00
[2026-10-20 00:39:00,935.935 INFO    ] 2026-10-20 00:39:00
[2026-10-20 00:39:01,054.054 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:39:01,267.267 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:39:01,271.271 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:39:01,490.490 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:39:01,494.494 INFO    ] time= 20/10/2026 00:39:01
[2026-10-20 00:39:01,498.498 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:39:01,502.502 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:39:01,585.585 INFO    ] No existing commands found in stream
[2026-10-20 00:39:06,597.597 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:39:06,600.600 INFO    ] Waiting 1.54 seconds before fallback handling...
[2026-10-20 00:39:08,630.630 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 00:39:08,633.633 INFO    ] Checking for system updates...
[2026-10-20 00:39:08,669.669 INFO    ] 200
[2026-10-20 00:39:08,672.672 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:39:08,724.724 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:39:08,727.727 INFO    ] No update needed
[2026-10-20 00:39:08,730.730 INFO    ] Checking for camera pi updates...
[2026-10-20 00:39:08,764.764 INFO    ] 200
[2026-10-20 00:39:08,767.767 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:39:08,809.809 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:39:08,855.855 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:39:08,858.858 INFO    ] No camera update needed
[2026-10-20 00:39:08,861.861 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:39:08,864.864 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:39:08,871.871 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:39:08,877.877 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:39:10,918.918 INFO    ] ================================================
[2026-10-20 00:39:10,933.933 INFO    ] Launching Daemon at Tue Oct 20 00:39:10 IST 2026
[2026-10-20 00:39:10,944.944 INFO    ] ================================================
[2026-10-20 00:39:11,579.579 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:39:11
[2026-10-20 00:39:12,240.240 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:39:12,544.544 INFO    ] Initializing speech engine...
[2026-10-20 00:39:12,554.554 INFO    ] 2026-10-20 00:39:12
[2026-10-20 00:39:12,825.825 INFO    ] 2026-10-20 00:39:12
[2026-10-20 00:39:12,883.883 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:39:13,120.120 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:39:13,126.126 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:39:13,275.275 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:39:13,284.284 INFO    ] time= 20/10/2026 00:39:13
[2026-10-20 00:39:13,344.344 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:39:13,397.397 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:39:13,543.543 INFO    ] No existing commands found in stream
[2026-10-20 00:39:18,559.559 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:39:18,563.563 INFO    ] Waiting 0.13 seconds before fallback handling...
[2026-10-20 00:39:19,206.206 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:39:19,209.209 INFO    ] Checking for system updates...
[2026-10-20 00:39:19,245.245 INFO    ] 200
[2026-10-20 00:39:19,247.247 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:39:19,303.303 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:39:19,305.305 INFO    ] No update needed
[2026-10-20 00:39:19,307.307 INFO    ] Checking for camera pi updates...
[2026-10-20 00:39:19,344.344 INFO    ] 200
[2026-10-20 00:39:19,347.347 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:39:19,386.386 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:39:19,439.439 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:39:19,441.441 INFO    ] No camera update needed
[2026-10-20 00:39:19,444.444 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:39:19,446.446 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:39:19,451.451 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:39:19,456.456 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:39:21,495.495 INFO    ] ================================================
[2026-10-20 00:39:21,510.510 INFO    ] Launching Daemon at Tue Oct 20 00:39:21 IST 2026
[2026-10-20 00:39:21,521.521 INFO    ] ================================================
[2026-10-20 00:39:22,086.086 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:39:22
[2026-10-20 00:39:22,683.683 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:39:22,973.973 INFO    ] Initializing speech engine...
[2026-10-20 00:39:22,984.984 INFO    ] 2026-10-20 00:39:22
[2026-10-20 00:39:23,262.262 INFO    ] 2026-10-20 00:39:23
[2026-10-20 00:39:23,304.304 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:39:23,561.561 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:39:23,566.566 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:39:23,716.716 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:39:23,761.761 INFO    ] time= 20/10/2026 00:39:23
[2026-10-20 00:39:23,800.800 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:39:23,861.861 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:39:23,989.989 INFO    ] No existing commands found in stream
[2026-10-20 00:39:29,004.004 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:39:29,007.007 INFO    ] Waiting 3.04 seconds before fallback handling...
[2026-10-20 00:39:32,558.558 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:39:32,560.560 INFO    ] Checking for system updates...
[2026-10-20 00:39:32,595.595 INFO    ] 200
[2026-10-20 00:39:32,598.598 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:39:32,649.649 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:39:32,651.651 INFO    ] No update needed
[2026-10-20 00:39:32,654.654 INFO    ] Checking for camera pi updates...
[2026-10-20 00:39:32,687.687 INFO    ] 200
[2026-10-20 00:39:32,690.690 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:39:32,730.730 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:39:32,759.759 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:39:32,761.761 INFO    ] No camera update needed
[2026-10-20 00:39:32,764.764 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:39:32,766.766 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:39:32,771.771 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:39:32,776.776 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:39:34,817.817 INFO    ] ================================================
[2026-10-20 00:39:34,832.832 INFO    ] Launching Daemon at Tue Oct 20 00:39:34 IST 2026
[2026-10-20 00:39:34,842.842 INFO    ] ================================================
[2026-10-20 00:39:35,425.425 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:39:35
[2026-10-20 00:39:36,025.025 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:39:36,326.326 INFO    ] Initializing speech engine...
[2026-10-20 00:39:36,335.335 INFO    ] 2026-10-20 00:39:36
[2026-10-20 00:39:36,619.619 INFO    ] 2026-10-20 00:39:36
[2026-10-20 00:39:36,664.664 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:39:36,953.953 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:39:36,961.961 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:39:37,155.155 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:39:37,174.174 INFO    ] time= 20/10/2026 00:39:37
[2026-10-20 00:39:37,183.183 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:39:37,211.211 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:39:37,348.348 INFO    ] No existing commands found in stream
[2026-10-20 00:39:42,384.384 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:39:42,387.387 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-10-20 00:39:44,650.650 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:39:44,653.653 INFO    ] Checking for system updates...
[2026-10-20 00:39:44,688.688 INFO    ] 200
[2026-10-20 00:39:44,691.691 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:39:44,742.742 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:39:44,745.745 INFO    ] No update needed
[2026-10-20 00:39:44,747.747 INFO    ] Checking for camera pi updates...
[2026-10-20 00:39:44,783.783 INFO    ] 200
[2026-10-20 00:39:44,786.786 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:39:44,825.825 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:39:44,878.878 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:39:44,881.881 INFO    ] No camera update needed
[2026-10-20 00:39:44,883.883 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:39:44,885.885 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:39:44,891.891 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:39:44,896.896 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:39:46,936.936 INFO    ] ================================================
[2026-10-20 00:39:46,951.951 INFO    ] Launching Daemon at Tue Oct 20 00:39:46 IST 2026
[2026-10-20 00:39:46,962.962 INFO    ] ================================================
[2026-10-20 00:39:47,528.528 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:39:47
[2026-10-20 00:39:48,111.111 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:39:48,382.382 INFO    ] Initializing speech engine...
[2026-10-20 00:39:48,395.395 INFO    ] 2026-10-20 00:39:48
[2026-10-20 00:39:48,657.657 INFO    ] 2026-10-20 00:39:48
[2026-10-20 00:39:48,692.692 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:39:48,914.914 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:39:48,923.923 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:39:49,133.133 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:39:49,149.149 INFO    ] time= 20/10/2026 00:39:49
[2026-10-20 00:39:49,191.191 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:39:49,251.251 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:39:49,363.363 INFO    ] No existing commands found in stream
[2026-10-20 00:39:54,374.374 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:39:54,376.376 INFO    ] Waiting 1.54 seconds before fallback handling...
[2026-10-20 00:39:56,365.365 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 00:39:56,368.368 INFO    ] Checking for system updates...
[2026-10-20 00:39:56,407.407 INFO    ] 200
[2026-10-20 00:39:56,410.410 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:39:56,468.468 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:39:56,471.471 INFO    ] No update needed
[2026-10-20 00:39:56,473.473 INFO    ] Checking for camera pi updates...
[2026-10-20 00:39:56,506.506 INFO    ] 200
[2026-10-20 00:39:56,509.509 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:39:56,548.548 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:39:56,600.600 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:39:56,602.602 INFO    ] No camera update needed
[2026-10-20 00:39:56,604.604 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:39:56,607.607 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:39:56,612.612 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:39:56,617.617 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:39:58,658.658 INFO    ] ================================================
[2026-10-20 00:39:58,673.673 INFO    ] Launching Daemon at Tue Oct 20 00:39:58 IST 2026
[2026-10-20 00:39:58,684.684 INFO    ] ================================================
[2026-10-20 00:39:59,254.254 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:39:59
[2026-10-20 00:39:59,841.841 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:40:00,095.095 INFO    ] Initializing speech engine...
[2026-10-20 00:40:00,104.104 INFO    ] 2026-10-20 00:40:00
[2026-10-20 00:40:00,398.398 INFO    ] 2026-10-20 00:40:00
[2026-10-20 00:40:00,435.435 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:40:00,656.656 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:40:00,712.712 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:40:00,918.918 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:40:00,976.976 INFO    ] time= 20/10/2026 00:40:00
[2026-10-20 00:40:00,982.982 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:40:00,997.997 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:40:01,140.140 INFO    ] No existing commands found in stream
[2026-10-20 00:40:06,150.150 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:40:06,153.153 INFO    ] Waiting 2.21 seconds before fallback handling...
[2026-10-20 00:40:08,889.889 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 00:40:08,892.892 INFO    ] Checking for system updates...
[2026-10-20 00:40:08,931.931 INFO    ] 200
[2026-10-20 00:40:08,933.933 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:40:08,984.984 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:40:08,987.987 INFO    ] No update needed
[2026-10-20 00:40:08,989.989 INFO    ] Checking for camera pi updates...
[2026-10-20 00:40:09,028.028 INFO    ] 200
[2026-10-20 00:40:09,031.031 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:40:09,071.071 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:40:09,119.119 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:40:09,122.122 INFO    ] No camera update needed
[2026-10-20 00:40:09,124.124 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:40:09,126.126 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:40:09,131.131 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:40:09,136.136 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:40:11,176.176 INFO    ] ================================================
[2026-10-20 00:40:11,191.191 INFO    ] Launching Daemon at Tue Oct 20 00:40:11 IST 2026
[2026-10-20 00:40:11,201.201 INFO    ] ================================================
[2026-10-20 00:40:11,811.811 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:40:11
[2026-10-20 00:40:12,412.412 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:40:12,688.688 INFO    ] Initializing speech engine...
[2026-10-20 00:40:12,698.698 INFO    ] 2026-10-20 00:40:12
[2026-10-20 00:40:12,946.946 INFO    ] 2026-10-20 00:40:12
[2026-10-20 00:40:12,981.981 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:40:13,231.231 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:40:13,241.241 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:40:13,474.474 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:40:13,498.498 INFO    ] time= 20/10/2026 00:40:13
[2026-10-20 00:40:13,504.504 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:40:13,521.521 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:40:13,652.652 INFO    ] No existing commands found in stream
[2026-10-20 00:40:18,667.667 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:40:18,670.670 INFO    ] Waiting 1.80 seconds before fallback handling...
[2026-10-20 00:40:20,962.962 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:40:20,965.965 INFO    ] Checking for system updates...
[2026-10-20 00:40:21,001.001 INFO    ] 200
[2026-10-20 00:40:21,004.004 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:40:21,059.059 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:40:21,062.062 INFO    ] No update needed
[2026-10-20 00:40:21,064.064 INFO    ] Checking for camera pi updates...
[2026-10-20 00:40:21,102.102 INFO    ] 200
[2026-10-20 00:40:21,104.104 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:40:21,145.145 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:40:21,192.192 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:40:21,194.194 INFO    ] No camera update needed
[2026-10-20 00:40:21,197.197 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:40:21,200.200 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:40:21,206.206 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:40:21,212.212 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:40:23,253.253 INFO    ] ================================================
[2026-10-20 00:40:23,267.267 INFO    ] Launching Daemon at Tue Oct 20 00:40:23 IST 2026
[2026-10-20 00:40:23,278.278 INFO    ] ================================================
[2026-10-20 00:40:23,844.844 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:40:23
[2026-10-20 00:40:24,431.431 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:40:24,703.703 INFO    ] Initializing speech engine...
[2026-10-20 00:40:24,709.709 INFO    ] 2026-10-20 00:40:24
[2026-10-20 00:40:24,958.958 INFO    ] 2026-10-20 00:40:24
[2026-10-20 00:40:24,994.994 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:40:25,242.242 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:40:25,247.247 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:40:25,386.386 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:40:25,451.451 INFO    ] time= 20/10/2026 00:40:25
[2026-10-20 00:40:25,505.505 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:40:25,515.515 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:40:25,657.657 INFO    ] No existing commands found in stream
[2026-10-20 00:40:30,672.672 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:40:30,674.674 INFO    ] Waiting 1.35 seconds before fallback handling...
[2026-10-20 00:40:32,519.519 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 00:40:32,522.522 INFO    ] Checking for system updates...
[2026-10-20 00:40:32,563.563 INFO    ] 200
[2026-10-20 00:40:32,565.565 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:40:32,617.617 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:40:32,619.619 INFO    ] No update needed
[2026-10-20 00:40:32,621.621 INFO    ] Checking for camera pi updates...
[2026-10-20 00:40:32,667.667 INFO    ] 200
[2026-10-20 00:40:32,671.671 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:40:32,721.721 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:40:32,774.774 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:40:32,776.776 INFO    ] No camera update needed
[2026-10-20 00:40:32,779.779 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:40:32,781.781 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:40:32,786.786 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:40:32,791.791 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:40:34,832.832 INFO    ] ================================================
[2026-10-20 00:40:34,847.847 INFO    ] Launching Daemon at Tue Oct 20 00:40:34 IST 2026
[2026-10-20 00:40:34,857.857 INFO    ] ================================================
[2026-10-20 00:40:35,430.430 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:40:35
[2026-10-20 00:40:36,013.013 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:40:36,281.281 INFO    ] Initializing speech engine...
[2026-10-20 00:40:36,290.290 INFO    ] 2026-10-20 00:40:36
[2026-10-20 00:40:36,541.541 INFO    ] 2026-10-20 00:40:36
[2026-10-20 00:40:36,569.569 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:40:36,820.820 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:40:36,829.829 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:40:37,053.053 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:40:37,086.086 INFO    ] time= 20/10/2026 00:40:37
[2026-10-20 00:40:37,092.092 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:40:37,110.110 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:40:37,240.240 INFO    ] No existing commands found in stream
[2026-10-20 00:40:42,252.252 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:40:42,254.254 INFO    ] Waiting 1.89 seconds before fallback handling...
[2026-10-20 00:40:44,638.638 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:40:44,641.641 INFO    ] Checking for system updates...
[2026-10-20 00:40:44,680.680 INFO    ] 200
[2026-10-20 00:40:44,682.682 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:40:44,741.741 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:40:44,743.743 INFO    ] No update needed
[2026-10-20 00:40:44,745.745 INFO    ] Checking for camera pi updates...
[2026-10-20 00:40:44,782.782 INFO    ] 200
[2026-10-20 00:40:44,784.784 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:40:44,824.824 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:40:44,868.868 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:40:44,870.870 INFO    ] No camera update needed
[2026-10-20 00:40:44,873.873 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:40:44,875.875 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:40:44,881.881 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:40:44,886.886 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:40:46,928.928 INFO    ] ================================================
[2026-10-20 00:40:46,944.944 INFO    ] Launching Daemon at Tue Oct 20 00:40:46 IST 2026
[2026-10-20 00:40:46,954.954 INFO    ] ================================================
[2026-10-20 00:40:47,549.549 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:40:47
[2026-10-20 00:40:48,212.212 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:40:48,510.510 INFO    ] Initializing speech engine...
[2026-10-20 00:40:48,519.519 INFO    ] 2026-10-20 00:40:48
[2026-10-20 00:40:48,802.802 INFO    ] 2026-10-20 00:40:48
[2026-10-20 00:40:48,847.847 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:40:49,129.129 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:40:49,136.136 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:40:49,333.333 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:40:49,353.353 INFO    ] time= 20/10/2026 00:40:49
[2026-10-20 00:40:49,382.382 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:40:49,391.391 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:40:49,511.511 INFO    ] No existing commands found in stream
[2026-10-20 00:40:54,542.542 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:40:54,545.545 INFO    ] Waiting 3.26 seconds before fallback handling...
[2026-10-20 00:41:01,386.386 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:41:01,389.389 INFO    ] Checking for system updates...
[2026-10-20 00:41:01,425.425 INFO    ] 200
[2026-10-20 00:41:01,428.428 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:41:01,486.486 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:41:01,488.488 INFO    ] No update needed
[2026-10-20 00:41:01,491.491 INFO    ] Checking for camera pi updates...
[2026-10-20 00:41:01,524.524 INFO    ] 200
[2026-10-20 00:41:01,527.527 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:41:01,572.572 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:41:01,737.737 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:41:01,741.741 INFO    ] No camera update needed
[2026-10-20 00:41:01,745.745 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:41:01,753.753 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:41:01,761.761 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:41:01,770.770 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:41:03,814.814 INFO    ] ================================================
[2026-10-20 00:41:03,829.829 INFO    ] Launching Daemon at Tue Oct 20 00:41:03 IST 2026
[2026-10-20 00:41:03,839.839 INFO    ] ================================================
[2026-10-20 00:41:04,408.408 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:41:04
[2026-10-20 00:41:04,993.993 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:41:05,254.254 INFO    ] Initializing speech engine...
[2026-10-20 00:41:05,268.268 INFO    ] 2026-10-20 00:41:05
[2026-10-20 00:41:05,521.521 INFO    ] 2026-10-20 00:41:05
[2026-10-20 00:41:05,556.556 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:41:05,808.808 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:41:05,817.817 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:41:05,957.957 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:41:06,022.022 INFO    ] time= 20/10/2026 00:41:05
[2026-10-20 00:41:06,079.079 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:41:06,085.085 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:41:06,230.230 INFO    ] No existing commands found in stream
[2026-10-20 00:41:11,243.243 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:41:11,245.245 INFO    ] Waiting 3.83 seconds before fallback handling...
[2026-10-20 00:41:15,598.598 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 00:41:15,601.601 INFO    ] Checking for system updates...
[2026-10-20 00:41:15,636.636 INFO    ] 200
[2026-10-20 00:41:15,639.639 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:41:15,696.696 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:41:15,699.699 INFO    ] No update needed
[2026-10-20 00:41:15,701.701 INFO    ] Checking for camera pi updates...
[2026-10-20 00:41:15,735.735 INFO    ] 200
[2026-10-20 00:41:15,737.737 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:41:15,778.778 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:41:15,832.832 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:41:15,834.834 INFO    ] No camera update needed
[2026-10-20 00:41:15,837.837 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:41:15,839.839 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:41:15,844.844 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:41:15,849.849 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:41:17,892.892 INFO    ] ================================================
[2026-10-20 00:41:17,908.908 INFO    ] Launching Daemon at Tue Oct 20 00:41:17 IST 2026
[2026-10-20 00:41:17,918.918 INFO    ] ================================================
[2026-10-20 00:41:18,488.488 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:41:18
[2026-10-20 00:41:19,077.077 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:41:19,332.332 INFO    ] Initializing speech engine...
[2026-10-20 00:41:19,340.340 INFO    ] 2026-10-20 00:41:19
[2026-10-20 00:41:19,632.632 INFO    ] 2026-10-20 00:41:19
[2026-10-20 00:41:19,670.670 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:41:19,891.891 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:41:19,898.898 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:41:20,053.053 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:41:20,115.115 INFO    ] time= 20/10/2026 00:41:20
[2026-10-20 00:41:20,125.125 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:41:20,147.147 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:41:20,272.272 INFO    ] No existing commands found in stream
[2026-10-20 00:41:25,285.285 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:41:25,288.288 INFO    ] Waiting 1.50 seconds before fallback handling...
[2026-10-20 00:41:27,273.273 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 00:41:27,276.276 INFO    ] Checking for system updates...
[2026-10-20 00:41:27,314.314 INFO    ] 200
[2026-10-20 00:41:27,317.317 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:41:27,374.374 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:41:27,377.377 INFO    ] No update needed
[2026-10-20 00:41:27,379.379 INFO    ] Checking for camera pi updates...
[2026-10-20 00:41:27,412.412 INFO    ] 200
[2026-10-20 00:41:27,414.414 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:41:27,455.455 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:41:27,500.500 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:41:27,502.502 INFO    ] No camera update needed
[2026-10-20 00:41:27,505.505 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:41:27,507.507 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:41:27,512.512 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:41:27,517.517 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:41:29,557.557 INFO    ] ================================================
[2026-10-20 00:41:29,571.571 INFO    ] Launching Daemon at Tue Oct 20 00:41:29 IST 2026
[2026-10-20 00:41:29,582.582 INFO    ] ================================================
[2026-10-20 00:41:30,222.222 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:41:30
[2026-10-20 00:41:30,883.883 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:41:31,186.186 INFO    ] Initializing speech engine...
[2026-10-20 00:41:31,194.194 INFO    ] 2026-10-20 00:41:31
[2026-10-20 00:41:31,480.480 INFO    ] 2026-10-20 00:41:31
[2026-10-20 00:41:31,523.523 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:41:31,766.766 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:41:31,791.791 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:41:31,997.997 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:41:32,042.042 INFO    ] time= 20/10/2026 00:41:32
[2026-10-20 00:41:32,049.049 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:41:32,071.071 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:41:32,204.204 INFO    ] No existing commands found in stream
[2026-10-20 00:41:37,220.220 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:41:37,223.223 INFO    ] Waiting 3.59 seconds before fallback handling...
[2026-10-20 00:41:41,332.332 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 00:41:41,335.335 INFO    ] Checking for system updates...
[2026-10-20 00:41:41,377.377 INFO    ] 200
[2026-10-20 00:41:41,380.380 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:41:41,439.439 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:41:41,442.442 INFO    ] No update needed
[2026-10-20 00:41:41,444.444 INFO    ] Checking for camera pi updates...
[2026-10-20 00:41:41,484.484 INFO    ] 200
[2026-10-20 00:41:41,487.487 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:41:41,538.538 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:41:41,588.588 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:41:41,591.591 INFO    ] No camera update needed
[2026-10-20 00:41:41,593.593 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:41:41,596.596 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:41:41,602.602 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:41:41,608.608 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:41:43,649.649 INFO    ] ================================================
[2026-10-20 00:41:43,664.664 INFO    ] Launching Daemon at Tue Oct 20 00:41:43 IST 2026
[2026-10-20 00:41:43,675.675 INFO    ] ================================================
[2026-10-20 00:41:44,332.332 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:41:44
[2026-10-20 00:41:45,010.010 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:41:45,321.321 INFO    ] Initializing speech engine...
[2026-10-20 00:41:45,332.332 INFO    ] 2026-10-20 00:41:45
[2026-10-20 00:41:45,611.611 INFO    ] 2026-10-20 00:41:45
[2026-10-20 00:41:45,656.656 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:41:45,937.937 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:41:45,947.947 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:41:46,129.129 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:41:46,146.146 INFO    ] time= 20/10/2026 00:41:46
[2026-10-20 00:41:46,164.164 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:41:46,171.171 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:41:46,305.305 INFO    ] No existing commands found in stream
[2026-10-20 00:41:51,333.333 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:41:51,336.336 INFO    ] Waiting 0.02 seconds before fallback handling...
[2026-10-20 00:41:51,889.889 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:41:51,892.892 INFO    ] Checking for system updates...
[2026-10-20 00:41:51,927.927 INFO    ] 200
[2026-10-20 00:41:51,930.930 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:41:51,982.982 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:41:51,984.984 INFO    ] No update needed
[2026-10-20 00:41:51,987.987 INFO    ] Checking for camera pi updates...
[2026-10-20 00:41:52,023.023 INFO    ] 200
[2026-10-20 00:41:52,026.026 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:41:52,068.068 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:41:52,118.118 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:41:52,121.121 INFO    ] No camera update needed
[2026-10-20 00:41:52,123.123 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:41:52,125.125 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:41:52,130.130 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:41:52,135.135 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:41:54,176.176 INFO    ] ================================================
[2026-10-20 00:41:54,191.191 INFO    ] Launching Daemon at Tue Oct 20 00:41:54 IST 2026
[2026-10-20 00:41:54,201.201 INFO    ] ================================================
[2026-10-20 00:41:54,851.851 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:41:54
[2026-10-20 00:41:55,519.519 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:41:55,823.823 INFO    ] Initializing speech engine...
[2026-10-20 00:41:55,836.836 INFO    ] 2026-10-20 00:41:55
[2026-10-20 00:41:56,141.141 INFO    ] 2026-10-20 00:41:56
[2026-10-20 00:41:56,230.230 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:41:56,444.444 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:41:56,475.475 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:41:56,660.660 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:41:56,689.689 INFO    ] time= 20/10/2026 00:41:56
[2026-10-20 00:41:56,697.697 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:41:56,705.705 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:41:56,817.817 INFO    ] No existing commands found in stream
[2026-10-20 00:42:01,849.849 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:42:01,854.854 INFO    ] Waiting 0.95 seconds before fallback handling...
[2026-10-20 00:42:03,383.383 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 00:42:03,387.387 INFO    ] Checking for system updates...
[2026-10-20 00:42:03,431.431 INFO    ] 200
[2026-10-20 00:42:03,434.434 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:42:03,485.485 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:42:03,487.487 INFO    ] No update needed
[2026-10-20 00:42:03,490.490 INFO    ] Checking for camera pi updates...
[2026-10-20 00:42:03,532.532 INFO    ] 200
[2026-10-20 00:42:03,535.535 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:42:03,601.601 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:42:03,653.653 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:42:03,655.655 INFO    ] No camera update needed
[2026-10-20 00:42:03,658.658 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:42:03,660.660 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:42:03,665.665 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:42:03,670.670 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:42:05,711.711 INFO    ] ================================================
[2026-10-20 00:42:05,727.727 INFO    ] Launching Daemon at Tue Oct 20 00:42:05 IST 2026
[2026-10-20 00:42:05,738.738 INFO    ] ================================================
[2026-10-20 00:42:06,316.316 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:42:06
[2026-10-20 00:42:06,966.966 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:42:07,273.273 INFO    ] Initializing speech engine...
[2026-10-20 00:42:07,287.287 INFO    ] 2026-10-20 00:42:07
[2026-10-20 00:42:07,574.574 INFO    ] 2026-10-20 00:42:07
[2026-10-20 00:42:07,686.686 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:42:07,904.904 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:42:07,912.912 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:42:08,125.125 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:42:08,135.135 INFO    ] time= 20/10/2026 00:42:08
[2026-10-20 00:42:08,163.163 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:42:08,172.172 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:42:08,312.312 INFO    ] No existing commands found in stream
[2026-10-20 00:42:13,343.343 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:42:13,347.347 INFO    ] Waiting 0.00 seconds before fallback handling...
[2026-10-20 00:42:13,854.854 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:42:13,857.857 INFO    ] Checking for system updates...
[2026-10-20 00:42:13,894.894 INFO    ] 200
[2026-10-20 00:42:13,897.897 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:42:13,951.951 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:42:13,954.954 INFO    ] No update needed
[2026-10-20 00:42:13,956.956 INFO    ] Checking for camera pi updates...
[2026-10-20 00:42:13,994.994 INFO    ] 200
[2026-10-20 00:42:13,997.997 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:42:14,043.043 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:42:14,094.094 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:42:14,096.096 INFO    ] No camera update needed
[2026-10-20 00:42:14,099.099 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:42:14,102.102 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:42:14,108.108 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:42:14,114.114 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:42:16,156.156 INFO    ] ================================================
[2026-10-20 00:42:16,172.172 INFO    ] Launching Daemon at Tue Oct 20 00:42:16 IST 2026
[2026-10-20 00:42:16,182.182 INFO    ] ================================================
[2026-10-20 00:42:16,841.841 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:42:16
[2026-10-20 00:42:17,513.513 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:42:17,819.819 INFO    ] Initializing speech engine...
[2026-10-20 00:42:17,828.828 INFO    ] 2026-10-20 00:42:17
[2026-10-20 00:42:18,127.127 INFO    ] 2026-10-20 00:42:18
[2026-10-20 00:42:18,240.240 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:42:18,459.459 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:42:18,464.464 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:42:18,662.662 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:42:18,675.675 INFO    ] time= 20/10/2026 00:42:18
[2026-10-20 00:42:18,723.723 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:42:18,739.739 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:42:18,857.857 INFO    ] No existing commands found in stream
[2026-10-20 00:42:23,882.882 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:42:23,885.885 INFO    ] Waiting 1.52 seconds before fallback handling...
[2026-10-20 00:42:25,925.925 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:42:25,927.927 INFO    ] Checking for system updates...
[2026-10-20 00:42:25,964.964 INFO    ] 200
[2026-10-20 00:42:25,967.967 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:42:26,027.027 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:42:26,030.030 INFO    ] No update needed
[2026-10-20 00:42:26,033.033 INFO    ] Checking for camera pi updates...
[2026-10-20 00:42:26,075.075 INFO    ] 200
[2026-10-20 00:42:26,078.078 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:42:26,120.120 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:42:26,183.183 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:42:26,186.186 INFO    ] No camera update needed
[2026-10-20 00:42:26,188.188 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:42:26,191.191 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:42:26,197.197 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:42:26,203.203 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:42:28,244.244 INFO    ] ================================================
[2026-10-20 00:42:28,259.259 INFO    ] Launching Daemon at Tue Oct 20 00:42:28 IST 2026
[2026-10-20 00:42:28,270.270 INFO    ] ================================================
[2026-10-20 00:42:28,924.924 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:42:28
[2026-10-20 00:42:29,597.597 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:42:29,903.903 INFO    ] Initializing speech engine...
[2026-10-20 00:42:29,912.912 INFO    ] 2026-10-20 00:42:29
[2026-10-20 00:42:30,200.200 INFO    ] 2026-10-20 00:42:30
[2026-10-20 00:42:30,247.247 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:42:30,476.476 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:42:30,483.483 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:42:30,712.712 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:42:30,746.746 INFO    ] time= 20/10/2026 00:42:30
[2026-10-20 00:42:30,752.752 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:42:30,773.773 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:42:30,916.916 INFO    ] No existing commands found in stream
[2026-10-20 00:42:35,932.932 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:42:35,935.935 INFO    ] Waiting 3.74 seconds before fallback handling...
[2026-10-20 00:42:40,168.168 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:42:40,171.171 INFO    ] Checking for system updates...
[2026-10-20 00:42:40,214.214 INFO    ] 200
[2026-10-20 00:42:40,216.216 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:42:40,269.269 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:42:40,272.272 INFO    ] No update needed
[2026-10-20 00:42:40,274.274 INFO    ] Checking for camera pi updates...
[2026-10-20 00:42:40,309.309 INFO    ] 200
[2026-10-20 00:42:40,312.312 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:42:40,354.354 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:42:40,402.402 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:42:40,405.405 INFO    ] No camera update needed
[2026-10-20 00:42:40,407.407 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:42:40,410.410 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:42:40,416.416 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:42:40,422.422 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:42:42,463.463 INFO    ] ================================================
[2026-10-20 00:42:42,478.478 INFO    ] Launching Daemon at Tue Oct 20 00:42:42 IST 2026
[2026-10-20 00:42:42,488.488 INFO    ] ================================================
[2026-10-20 00:42:43,142.142 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:42:43
[2026-10-20 00:42:43,815.815 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:42:44,116.116 INFO    ] Initializing speech engine...
[2026-10-20 00:42:44,123.123 INFO    ] 2026-10-20 00:42:44
[2026-10-20 00:42:44,400.400 INFO    ] 2026-10-20 00:42:44
[2026-10-20 00:42:44,455.455 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:42:44,711.711 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:42:44,739.739 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:42:44,946.946 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:42:44,954.954 INFO    ] time= 20/10/2026 00:42:44
[2026-10-20 00:42:44,973.973 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:42:45,004.004 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:42:45,140.140 INFO    ] No existing commands found in stream
[2026-10-20 00:42:50,171.171 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:42:50,174.174 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-10-20 00:42:53,347.347 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:42:53,351.351 INFO    ] Checking for system updates...
[2026-10-20 00:42:53,391.391 INFO    ] 200
[2026-10-20 00:42:53,394.394 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:42:53,451.451 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:42:53,454.454 INFO    ] No update needed
[2026-10-20 00:42:53,457.457 INFO    ] Checking for camera pi updates...
[2026-10-20 00:42:53,496.496 INFO    ] 200
[2026-10-20 00:42:53,499.499 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:42:53,539.539 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:42:53,585.585 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:42:53,587.587 INFO    ] No camera update needed
[2026-10-20 00:42:53,589.589 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:42:53,592.592 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:42:53,597.597 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:42:53,602.602 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:42:55,644.644 INFO    ] ================================================
[2026-10-20 00:42:55,658.658 INFO    ] Launching Daemon at Tue Oct 20 00:42:55 IST 2026
[2026-10-20 00:42:55,669.669 INFO    ] ================================================
[2026-10-20 00:42:56,240.240 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:42:56
[2026-10-20 00:42:56,828.828 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:42:57,078.078 INFO    ] Initializing speech engine...
[2026-10-20 00:42:57,103.103 INFO    ] 2026-10-20 00:42:57
[2026-10-20 00:42:57,359.359 INFO    ] 2026-10-20 00:42:57
[2026-10-20 00:42:57,394.394 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:42:57,651.651 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:42:57,661.661 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:42:57,862.862 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:42:57,922.922 INFO    ] time= 20/10/2026 00:42:57
[2026-10-20 00:42:57,933.933 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:42:57,952.952 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:42:58,099.099 INFO    ] No existing commands found in stream
[2026-10-20 00:43:03,130.130 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:43:03,133.133 INFO    ] Waiting 0.76 seconds before fallback handling...
[2026-10-20 00:43:04,347.347 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:43:04,350.350 INFO    ] Checking for system updates...
[2026-10-20 00:43:04,384.384 INFO    ] 200
[2026-10-20 00:43:04,387.387 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:43:04,443.443 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:43:04,446.446 INFO    ] No update needed
[2026-10-20 00:43:04,448.448 INFO    ] Checking for camera pi updates...
[2026-10-20 00:43:04,482.482 INFO    ] 200
[2026-10-20 00:43:04,484.484 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:43:04,524.524 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:43:04,568.568 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:43:04,571.571 INFO    ] No camera update needed
[2026-10-20 00:43:04,573.573 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:43:04,575.575 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:43:04,581.581 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:43:04,586.586 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:43:06,626.626 INFO    ] ================================================
[2026-10-20 00:43:06,642.642 INFO    ] Launching Daemon at Tue Oct 20 00:43:06 IST 2026
[2026-10-20 00:43:06,657.657 INFO    ] ================================================
[2026-10-20 00:43:07,242.242 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:43:07
[2026-10-20 00:43:07,845.845 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:43:08,119.119 INFO    ] Initializing speech engine...
[2026-10-20 00:43:08,127.127 INFO    ] 2026-10-20 00:43:08
[2026-10-20 00:43:08,384.384 INFO    ] 2026-10-20 00:43:08
[2026-10-20 00:43:08,419.419 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:43:08,635.635 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:43:08,686.686 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:43:08,865.865 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:43:08,930.930 INFO    ] time= 20/10/2026 00:43:08
[2026-10-20 00:43:08,974.974 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:43:09,011.011 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:43:09,143.143 INFO    ] No existing commands found in stream
[2026-10-20 00:43:14,165.165 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:43:14,168.168 INFO    ] Waiting 1.75 seconds before fallback handling...
[2026-10-20 00:43:16,409.409 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:43:16,412.412 INFO    ] Checking for system updates...
[2026-10-20 00:43:16,447.447 INFO    ] 200
[2026-10-20 00:43:16,449.449 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:43:16,502.502 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:43:16,505.505 INFO    ] No update needed
[2026-10-20 00:43:16,507.507 INFO    ] Checking for camera pi updates...
[2026-10-20 00:43:16,540.540 INFO    ] 200
[2026-10-20 00:43:16,543.543 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:43:16,586.586 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:43:16,629.629 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:43:16,631.631 INFO    ] No camera update needed
[2026-10-20 00:43:16,633.633 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:43:16,635.635 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:43:16,641.641 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:43:16,646.646 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:43:18,686.686 INFO    ] ================================================
[2026-10-20 00:43:18,702.702 INFO    ] Launching Daemon at Tue Oct 20 00:43:18 IST 2026
[2026-10-20 00:43:18,712.712 INFO    ] ================================================
[2026-10-20 00:43:19,353.353 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:43:19
[2026-10-20 00:43:20,017.017 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:43:20,324.324 INFO    ] Initializing speech engine...
[2026-10-20 00:43:20,339.339 INFO    ] 2026-10-20 00:43:20
[2026-10-20 00:43:20,651.651 INFO    ] 2026-10-20 00:43:20
[2026-10-20 00:43:20,738.738 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:43:20,963.963 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:43:21,026.026 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:43:21,181.181 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:43:21,211.211 INFO    ] time= 20/10/2026 00:43:21
[2026-10-20 00:43:21,220.220 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:43:21,229.229 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:43:21,379.379 INFO    ] No existing commands found in stream
[2026-10-20 00:43:26,411.411 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:43:26,414.414 INFO    ] Waiting 1.00 seconds before fallback handling...
[2026-10-20 00:43:27,958.958 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:43:27,961.961 INFO    ] Checking for system updates...
[2026-10-20 00:43:27,998.998 INFO    ] 200
[2026-10-20 00:43:28,001.001 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:43:28,060.060 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:43:28,063.063 INFO    ] No update needed
[2026-10-20 00:43:28,066.066 INFO    ] Checking for camera pi updates...
[2026-10-20 00:43:28,103.103 INFO    ] 200
[2026-10-20 00:43:28,105.105 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:43:28,145.145 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:43:28,198.198 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:43:28,201.201 INFO    ] No camera update needed
[2026-10-20 00:43:28,204.204 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:43:28,207.207 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:43:28,213.213 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:43:28,219.219 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:43:30,259.259 INFO    ] ================================================
[2026-10-20 00:43:30,273.273 INFO    ] Launching Daemon at Tue Oct 20 00:43:30 IST 2026
[2026-10-20 00:43:30,284.284 INFO    ] ================================================
[2026-10-20 00:43:30,863.863 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:43:30
[2026-10-20 00:43:31,456.456 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:43:31,729.729 INFO    ] Initializing speech engine...
[2026-10-20 00:43:31,733.733 INFO    ] 2026-10-20 00:43:31
[2026-10-20 00:43:32,040.040 INFO    ] 2026-10-20 00:43:32
[2026-10-20 00:43:32,077.077 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:43:32,290.290 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:43:32,309.309 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:43:32,484.484 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:43:32,492.492 INFO    ] time= 20/10/2026 00:43:32
[2026-10-20 00:43:32,497.497 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:43:32,531.531 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:43:32,651.651 INFO    ] No existing commands found in stream
[2026-10-20 00:43:37,686.686 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:43:37,689.689 INFO    ] Waiting 2.81 seconds before fallback handling...
[2026-10-20 00:43:41,021.021 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 00:43:41,024.024 INFO    ] Checking for system updates...
[2026-10-20 00:43:41,059.059 INFO    ] 200
[2026-10-20 00:43:41,062.062 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:43:41,113.113 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:43:41,116.116 INFO    ] No update needed
[2026-10-20 00:43:41,118.118 INFO    ] Checking for camera pi updates...
[2026-10-20 00:43:41,155.155 INFO    ] 200
[2026-10-20 00:43:41,157.157 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:43:41,198.198 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:43:41,246.246 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:43:41,249.249 INFO    ] No camera update needed
[2026-10-20 00:43:41,251.251 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:43:41,254.254 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:43:41,259.259 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:43:41,264.264 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:43:43,304.304 INFO    ] ================================================
[2026-10-20 00:43:43,324.324 INFO    ] Launching Daemon at Tue Oct 20 00:43:43 IST 2026
[2026-10-20 00:43:43,334.334 INFO    ] ================================================
[2026-10-20 00:43:43,976.976 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:43:43
[2026-10-20 00:43:44,636.636 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:43:44,932.932 INFO    ] Initializing speech engine...
[2026-10-20 00:43:44,941.941 INFO    ] 2026-10-20 00:43:44
[2026-10-20 00:43:45,225.225 INFO    ] 2026-10-20 00:43:45
[2026-10-20 00:43:45,270.270 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:43:45,555.555 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:43:45,565.565 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:43:45,754.754 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:43:45,774.774 INFO    ] time= 20/10/2026 00:43:45
[2026-10-20 00:43:45,783.783 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:43:45,810.810 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:43:45,928.928 INFO    ] No existing commands found in stream
[2026-10-20 00:43:50,959.959 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:43:50,962.962 INFO    ] Waiting 0.56 seconds before fallback handling...
[2026-10-20 00:43:52,067.067 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 00:43:52,070.070 INFO    ] Checking for system updates...
[2026-10-20 00:43:52,107.107 INFO    ] 200
[2026-10-20 00:43:52,110.110 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:43:52,163.163 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:43:52,166.166 INFO    ] No update needed
[2026-10-20 00:43:52,168.168 INFO    ] Checking for camera pi updates...
[2026-10-20 00:43:52,203.203 INFO    ] 200
[2026-10-20 00:43:52,206.206 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:43:52,264.264 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:43:52,313.313 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:43:52,316.316 INFO    ] No camera update needed
[2026-10-20 00:43:52,318.318 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:43:52,321.321 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:43:52,327.327 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:43:52,333.333 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:43:54,373.373 INFO    ] ================================================
[2026-10-20 00:43:54,388.388 INFO    ] Launching Daemon at Tue Oct 20 00:43:54 IST 2026
[2026-10-20 00:43:54,398.398 INFO    ] ================================================
[2026-10-20 00:43:54,972.972 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:43:54
[2026-10-20 00:43:55,569.569 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:43:55,847.847 INFO    ] Initializing speech engine...
[2026-10-20 00:43:55,856.856 INFO    ] 2026-10-20 00:43:55
[2026-10-20 00:43:56,115.115 INFO    ] 2026-10-20 00:43:56
[2026-10-20 00:43:56,145.145 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:43:56,396.396 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:43:56,401.401 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:43:56,535.535 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:43:56,600.600 INFO    ] time= 20/10/2026 00:43:56
[2026-10-20 00:43:56,645.645 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:43:56,665.665 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:43:56,810.810 INFO    ] No existing commands found in stream
[2026-10-20 00:44:01,821.821 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:44:01,825.825 INFO    ] Waiting 1.60 seconds before fallback handling...
[2026-10-20 00:44:03,935.935 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:44:03,938.938 INFO    ] Checking for system updates...
[2026-10-20 00:44:03,973.973 INFO    ] 200
[2026-10-20 00:44:03,976.976 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:44:04,035.035 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:44:04,038.038 INFO    ] No update needed
[2026-10-20 00:44:04,040.040 INFO    ] Checking for camera pi updates...
[2026-10-20 00:44:04,078.078 INFO    ] 200
[2026-10-20 00:44:04,081.081 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:44:04,126.126 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:44:04,171.171 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:44:04,173.173 INFO    ] No camera update needed
[2026-10-20 00:44:04,176.176 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:44:04,178.178 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:44:04,184.184 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:44:04,189.189 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:44:06,231.231 INFO    ] ================================================
[2026-10-20 00:44:06,246.246 INFO    ] Launching Daemon at Tue Oct 20 00:44:06 IST 2026
[2026-10-20 00:44:06,256.256 INFO    ] ================================================
[2026-10-20 00:44:06,822.822 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:44:06
[2026-10-20 00:44:07,405.405 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:44:07,672.672 INFO    ] Initializing speech engine...
[2026-10-20 00:44:07,682.682 INFO    ] 2026-10-20 00:44:07
[2026-10-20 00:44:07,925.925 INFO    ] 2026-10-20 00:44:07
[2026-10-20 00:44:07,961.961 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:44:08,216.216 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:44:08,221.221 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:44:08,441.441 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:44:08,479.479 INFO    ] time= 20/10/2026 00:44:08
[2026-10-20 00:44:08,485.485 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:44:08,503.503 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:44:08,635.635 INFO    ] No existing commands found in stream
[2026-10-20 00:44:13,649.649 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:44:13,652.652 INFO    ] Waiting 0.54 seconds before fallback handling...
[2026-10-20 00:44:14,724.724 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:44:14,727.727 INFO    ] Checking for system updates...
[2026-10-20 00:44:14,763.763 INFO    ] 200
[2026-10-20 00:44:14,766.766 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:44:14,818.818 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:44:14,821.821 INFO    ] No update needed
[2026-10-20 00:44:14,823.823 INFO    ] Checking for camera pi updates...
[2026-10-20 00:44:14,857.857 INFO    ] 200
[2026-10-20 00:44:14,859.859 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:44:14,900.900 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:44:14,954.954 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:44:14,956.956 INFO    ] No camera update needed
[2026-10-20 00:44:14,958.958 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:44:14,961.961 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:44:14,966.966 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:44:14,971.971 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:44:17,012.012 INFO    ] ================================================
[2026-10-20 00:44:17,027.027 INFO    ] Launching Daemon at Tue Oct 20 00:44:17 IST 2026
[2026-10-20 00:44:17,038.038 INFO    ] ================================================
[2026-10-20 00:44:17,604.604 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:44:17
[2026-10-20 00:44:18,190.190 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:44:18,461.461 INFO    ] Initializing speech engine...
[2026-10-20 00:44:18,466.466 INFO    ] 2026-10-20 00:44:18
[2026-10-20 00:44:18,723.723 INFO    ] 2026-10-20 00:44:18
[2026-10-20 00:44:18,765.765 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:44:18,965.965 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:44:18,974.974 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:44:19,126.126 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:44:19,133.133 INFO    ] time= 20/10/2026 00:44:19
[2026-10-20 00:44:19,146.146 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:44:19,210.210 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:44:19,330.330 INFO    ] No existing commands found in stream
[2026-10-20 00:44:24,361.361 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:44:24,363.363 INFO    ] Waiting 2.87 seconds before fallback handling...
[2026-10-20 00:44:27,796.796 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:44:27,799.799 INFO    ] Checking for system updates...
[2026-10-20 00:44:27,835.835 INFO    ] 200
[2026-10-20 00:44:27,838.838 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:44:27,892.892 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:44:27,894.894 INFO    ] No update needed
[2026-10-20 00:44:27,897.897 INFO    ] Checking for camera pi updates...
[2026-10-20 00:44:27,932.932 INFO    ] 200
[2026-10-20 00:44:27,934.934 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:44:27,976.976 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:44:28,027.027 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:44:28,030.030 INFO    ] No camera update needed
[2026-10-20 00:44:28,033.033 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:44:28,035.035 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:44:28,042.042 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:44:28,047.047 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:44:30,090.090 INFO    ] ================================================
[2026-10-20 00:44:30,105.105 INFO    ] Launching Daemon at Tue Oct 20 00:44:30 IST 2026
[2026-10-20 00:44:30,116.116 INFO    ] ================================================
[2026-10-20 00:44:30,777.777 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:44:30
[2026-10-20 00:44:31,460.460 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:44:31,806.806 INFO    ] Initializing speech engine...
[2026-10-20 00:44:31,813.813 INFO    ] 2026-10-20 00:44:31
[2026-10-20 00:44:32,117.117 INFO    ] 2026-10-20 00:44:32
[2026-10-20 00:44:32,226.226 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:44:32,463.463 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:44:32,491.491 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:44:32,667.667 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:44:32,684.684 INFO    ] time= 20/10/2026 00:44:32
[2026-10-20 00:44:32,694.694 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:44:32,721.721 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:44:32,845.845 INFO    ] No existing commands found in stream
[2026-10-20 00:44:37,874.874 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:44:37,877.877 INFO    ] Waiting 3.40 seconds before fallback handling...
[2026-10-20 00:44:41,784.784 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:44:41,787.787 INFO    ] Checking for system updates...
[2026-10-20 00:44:41,827.827 INFO    ] 200
[2026-10-20 00:44:41,830.830 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:44:41,881.881 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:44:41,884.884 INFO    ] No update needed
[2026-10-20 00:44:41,886.886 INFO    ] Checking for camera pi updates...
[2026-10-20 00:44:41,919.919 INFO    ] 200
[2026-10-20 00:44:41,922.922 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:44:41,967.967 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:44:42,021.021 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:44:42,024.024 INFO    ] No camera update needed
[2026-10-20 00:44:42,026.026 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:44:42,028.028 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:44:42,034.034 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:44:42,039.039 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:44:44,079.079 INFO    ] ================================================
[2026-10-20 00:44:44,095.095 INFO    ] Launching Daemon at Tue Oct 20 00:44:44 IST 2026
[2026-10-20 00:44:44,106.106 INFO    ] ================================================
[2026-10-20 00:44:44,672.672 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:44:44
[2026-10-20 00:44:45,257.257 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:44:45,505.505 INFO    ] Initializing speech engine...
[2026-10-20 00:44:45,511.511 INFO    ] 2026-10-20 00:44:45
[2026-10-20 00:44:45,809.809 INFO    ] 2026-10-20 00:44:45
[2026-10-20 00:44:45,844.844 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:44:46,051.051 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:44:46,065.065 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:44:46,237.237 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:44:46,244.244 INFO    ] time= 20/10/2026 00:44:46
[2026-10-20 00:44:46,250.250 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:44:46,316.316 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:44:46,452.452 INFO    ] No existing commands found in stream
[2026-10-20 00:44:51,472.472 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:44:51,475.475 INFO    ] Waiting 2.60 seconds before fallback handling...
[2026-10-20 00:44:54,560.560 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:44:54,563.563 INFO    ] Checking for system updates...
[2026-10-20 00:44:54,602.602 INFO    ] 200
[2026-10-20 00:44:54,605.605 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:44:54,657.657 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:44:54,660.660 INFO    ] No update needed
[2026-10-20 00:44:54,662.662 INFO    ] Checking for camera pi updates...
[2026-10-20 00:44:54,696.696 INFO    ] 200
[2026-10-20 00:44:54,699.699 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:44:54,741.741 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:44:54,788.788 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:44:54,791.791 INFO    ] No camera update needed
[2026-10-20 00:44:54,794.794 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:44:54,797.797 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:44:54,803.803 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:44:54,809.809 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:44:56,849.849 INFO    ] ================================================
[2026-10-20 00:44:56,865.865 INFO    ] Launching Daemon at Tue Oct 20 00:44:56 IST 2026
[2026-10-20 00:44:56,875.875 INFO    ] ================================================
[2026-10-20 00:44:57,466.466 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:44:57
[2026-10-20 00:44:58,061.061 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:44:58,308.308 INFO    ] Initializing speech engine...
[2026-10-20 00:44:58,329.329 INFO    ] 2026-10-20 00:44:58
[2026-10-20 00:44:58,585.585 INFO    ] 2026-10-20 00:44:58
[2026-10-20 00:44:58,620.620 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:44:58,875.875 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:44:58,880.880 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:44:59,116.116 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:44:59,184.184 INFO    ] time= 20/10/2026 00:44:59
[2026-10-20 00:44:59,192.192 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:44:59,199.199 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:44:59,370.370 INFO    ] No existing commands found in stream
[2026-10-20 00:45:04,400.400 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:45:04,403.403 INFO    ] Waiting 0.70 seconds before fallback handling...
[2026-10-20 00:45:05,611.611 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:45:05,613.613 INFO    ] Checking for system updates...
[2026-10-20 00:45:05,649.649 INFO    ] 200
[2026-10-20 00:45:05,652.652 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:45:05,711.711 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:45:05,713.713 INFO    ] No update needed
[2026-10-20 00:45:05,716.716 INFO    ] Checking for camera pi updates...
[2026-10-20 00:45:05,754.754 INFO    ] 200
[2026-10-20 00:45:05,756.756 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:45:05,801.801 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:45:05,934.934 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:45:05,936.936 INFO    ] No camera update needed
[2026-10-20 00:45:05,938.938 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:45:05,941.941 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:45:05,946.946 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:45:05,951.951 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:45:07,992.992 INFO    ] ================================================
[2026-10-20 00:45:08,007.007 INFO    ] Launching Daemon at Tue Oct 20 00:45:08 IST 2026
[2026-10-20 00:45:08,018.018 INFO    ] ================================================
[2026-10-20 00:45:08,592.592 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:45:08
[2026-10-20 00:45:09,179.179 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:45:09,509.509 INFO    ] Initializing speech engine...
[2026-10-20 00:45:09,519.519 INFO    ] 2026-10-20 00:45:09
[2026-10-20 00:45:09,826.826 INFO    ] 2026-10-20 00:45:09
[2026-10-20 00:45:09,916.916 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:45:10,196.196 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:45:10,213.213 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:45:10,435.435 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:45:10,486.486 INFO    ] time= 20/10/2026 00:45:10
[2026-10-20 00:45:10,527.527 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:45:10,577.577 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:45:10,745.745 INFO    ] No existing commands found in stream
[2026-10-20 00:45:15,774.774 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:45:15,778.778 INFO    ] Waiting 0.52 seconds before fallback handling...
[2026-10-20 00:45:16,839.839 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:45:16,842.842 INFO    ] Checking for system updates...
[2026-10-20 00:45:16,884.884 INFO    ] 200
[2026-10-20 00:45:16,886.886 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:45:16,945.945 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:45:16,948.948 INFO    ] No update needed
[2026-10-20 00:45:16,951.951 INFO    ] Checking for camera pi updates...
[2026-10-20 00:45:16,991.991 INFO    ] 200
[2026-10-20 00:45:16,994.994 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:45:17,041.041 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:45:17,107.107 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:45:17,110.110 INFO    ] No camera update needed
[2026-10-20 00:45:17,112.112 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:45:17,115.115 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:45:17,122.122 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:45:17,128.128 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:45:19,170.170 INFO    ] ================================================
[2026-10-20 00:45:19,185.185 INFO    ] Launching Daemon at Tue Oct 20 00:45:19 IST 2026
[2026-10-20 00:45:19,196.196 INFO    ] ================================================
[2026-10-20 00:45:19,871.871 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:45:19
[2026-10-20 00:45:20,566.566 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:45:20,878.878 INFO    ] Initializing speech engine...
[2026-10-20 00:45:20,888.888 INFO    ] 2026-10-20 00:45:20
[2026-10-20 00:45:21,181.181 INFO    ] 2026-10-20 00:45:21
[2026-10-20 00:45:21,229.229 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:45:21,472.472 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:45:21,489.489 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:45:21,695.695 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:45:21,733.733 INFO    ] time= 20/10/2026 00:45:21
[2026-10-20 00:45:21,749.749 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:45:21,764.764 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:45:21,913.913 INFO    ] No existing commands found in stream
[2026-10-20 00:45:26,944.944 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:45:26,947.947 INFO    ] Waiting 1.92 seconds before fallback handling...
[2026-10-20 00:45:29,426.426 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 00:45:29,429.429 INFO    ] Checking for system updates...
[2026-10-20 00:45:29,467.467 INFO    ] 200
[2026-10-20 00:45:29,470.470 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:45:29,524.524 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:45:29,527.527 INFO    ] No update needed
[2026-10-20 00:45:29,530.530 INFO    ] Checking for camera pi updates...
[2026-10-20 00:45:29,565.565 INFO    ] 200
[2026-10-20 00:45:29,568.568 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:45:29,610.610 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:45:29,657.657 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:45:29,660.660 INFO    ] No camera update needed
[2026-10-20 00:45:29,663.663 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:45:29,665.665 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:45:29,672.672 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:45:29,678.678 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:45:31,719.719 INFO    ] ================================================
[2026-10-20 00:45:31,734.734 INFO    ] Launching Daemon at Tue Oct 20 00:45:31 IST 2026
[2026-10-20 00:45:31,745.745 INFO    ] ================================================
[2026-10-20 00:45:32,347.347 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:45:32
[2026-10-20 00:45:32,994.994 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:45:33,341.341 INFO    ] Initializing speech engine...
[2026-10-20 00:45:33,353.353 INFO    ] 2026-10-20 00:45:33
[2026-10-20 00:45:33,626.626 INFO    ] 2026-10-20 00:45:33
[2026-10-20 00:45:33,735.735 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:45:33,944.944 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:45:33,951.951 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:45:34,141.141 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:45:34,147.147 INFO    ] time= 20/10/2026 00:45:34
[2026-10-20 00:45:34,168.168 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:45:34,194.194 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:45:34,321.321 INFO    ] No existing commands found in stream
[2026-10-20 00:45:39,348.348 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:45:39,400.400 INFO    ] Waiting 0.97 seconds before fallback handling...
[2026-10-20 00:45:40,887.887 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:45:40,890.890 INFO    ] Checking for system updates...
[2026-10-20 00:45:40,926.926 INFO    ] 200
[2026-10-20 00:45:40,929.929 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:45:40,983.983 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:45:40,986.986 INFO    ] No update needed
[2026-10-20 00:45:40,988.988 INFO    ] Checking for camera pi updates...
[2026-10-20 00:45:41,027.027 INFO    ] 200
[2026-10-20 00:45:41,030.030 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:45:41,080.080 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:45:41,131.131 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:45:41,134.134 INFO    ] No camera update needed
[2026-10-20 00:45:41,136.136 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:45:41,139.139 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:45:41,145.145 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:45:41,151.151 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:45:43,193.193 INFO    ] ================================================
[2026-10-20 00:45:43,209.209 INFO    ] Launching Daemon at Tue Oct 20 00:45:43 IST 2026
[2026-10-20 00:45:43,219.219 INFO    ] ================================================
[2026-10-20 00:45:43,787.787 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:45:43
[2026-10-20 00:45:44,373.373 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:45:44,683.683 INFO    ] Initializing speech engine...
[2026-10-20 00:45:44,689.689 INFO    ] 2026-10-20 00:45:44
[2026-10-20 00:45:44,944.944 INFO    ] 2026-10-20 00:45:44
[2026-10-20 00:45:45,005.005 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:45:45,249.249 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:45:45,258.258 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:45:45,487.487 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:45:45,521.521 INFO    ] time= 20/10/2026 00:45:45
[2026-10-20 00:45:45,527.527 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:45:45,548.548 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:45:45,678.678 INFO    ] No existing commands found in stream
[2026-10-20 00:45:50,693.693 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:45:50,696.696 INFO    ] Waiting 1.20 seconds before fallback handling...
[2026-10-20 00:45:52,449.449 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:45:52,452.452 INFO    ] Checking for system updates...
[2026-10-20 00:45:52,488.488 INFO    ] 200
[2026-10-20 00:45:52,491.491 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:45:52,549.549 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:45:52,551.551 INFO    ] No update needed
[2026-10-20 00:45:52,554.554 INFO    ] Checking for camera pi updates...
[2026-10-20 00:45:52,587.587 INFO    ] 200
[2026-10-20 00:45:52,590.590 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:45:52,635.635 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:45:52,680.680 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:45:52,682.682 INFO    ] No camera update needed
[2026-10-20 00:45:52,684.684 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:45:52,687.687 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:45:52,692.692 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:45:52,697.697 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:45:54,738.738 INFO    ] ================================================
[2026-10-20 00:45:54,753.753 INFO    ] Launching Daemon at Tue Oct 20 00:45:54 IST 2026
[2026-10-20 00:45:54,763.763 INFO    ] ================================================
[2026-10-20 00:45:55,409.409 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:45:55
[2026-10-20 00:45:56,069.069 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:45:56,369.369 INFO    ] Initializing speech engine...
[2026-10-20 00:45:56,382.382 INFO    ] 2026-10-20 00:45:56
[2026-10-20 00:45:56,668.668 INFO    ] 2026-10-20 00:45:56
[2026-10-20 00:45:56,777.777 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:45:56,990.990 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:45:56,998.998 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:45:57,192.192 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:45:57,209.209 INFO    ] time= 20/10/2026 00:45:57
[2026-10-20 00:45:57,234.234 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:45:57,249.249 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:45:57,376.376 INFO    ] No existing commands found in stream
[2026-10-20 00:46:02,407.407 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:46:02,411.411 INFO    ] Waiting 0.42 seconds before fallback handling...
[2026-10-20 00:46:03,341.341 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:46:03,344.344 INFO    ] Checking for system updates...
[2026-10-20 00:46:03,381.381 INFO    ] 200
[2026-10-20 00:46:03,384.384 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:46:03,437.437 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:46:03,440.440 INFO    ] No update needed
[2026-10-20 00:46:03,443.443 INFO    ] Checking for camera pi updates...
[2026-10-20 00:46:03,477.477 INFO    ] 200
[2026-10-20 00:46:03,480.480 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:46:03,521.521 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:46:03,570.570 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:46:03,573.573 INFO    ] No camera update needed
[2026-10-20 00:46:03,576.576 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:46:03,578.578 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:46:03,584.584 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:46:03,590.590 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:46:05,629.629 INFO    ] ================================================
[2026-10-20 00:46:05,644.644 INFO    ] Launching Daemon at Tue Oct 20 00:46:05 IST 2026
[2026-10-20 00:46:05,655.655 INFO    ] ================================================
[2026-10-20 00:46:06,298.298 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:46:06
[2026-10-20 00:46:06,952.952 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:46:07,245.245 INFO    ] Initializing speech engine...
[2026-10-20 00:46:07,256.256 INFO    ] 2026-10-20 00:46:07
[2026-10-20 00:46:07,528.528 INFO    ] 2026-10-20 00:46:07
[2026-10-20 00:46:07,582.582 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:46:07,811.811 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:46:07,818.818 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:46:08,057.057 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:46:08,077.077 INFO    ] time= 20/10/2026 00:46:08
[2026-10-20 00:46:08,095.095 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:46:08,113.113 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:46:08,233.233 INFO    ] No existing commands found in stream
[2026-10-20 00:46:13,257.257 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:46:13,261.261 INFO    ] Waiting 1.28 seconds before fallback handling...
[2026-10-20 00:46:15,053.053 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:46:15,056.056 INFO    ] Checking for system updates...
[2026-10-20 00:46:15,092.092 INFO    ] 200
[2026-10-20 00:46:15,095.095 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:46:15,153.153 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:46:15,156.156 INFO    ] No update needed
[2026-10-20 00:46:15,158.158 INFO    ] Checking for camera pi updates...
[2026-10-20 00:46:15,191.191 INFO    ] 200
[2026-10-20 00:46:15,194.194 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:46:15,237.237 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:46:15,295.295 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:46:15,298.298 INFO    ] No camera update needed
[2026-10-20 00:46:15,300.300 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:46:15,303.303 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:46:15,308.308 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:46:15,313.313 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:46:17,354.354 INFO    ] ================================================
[2026-10-20 00:46:17,368.368 INFO    ] Launching Daemon at Tue Oct 20 00:46:17 IST 2026
[2026-10-20 00:46:17,379.379 INFO    ] ================================================
[2026-10-20 00:46:17,945.945 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:46:17
[2026-10-20 00:46:18,525.525 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:46:18,795.795 INFO    ] Initializing speech engine...
[2026-10-20 00:46:18,802.802 INFO    ] 2026-10-20 00:46:18
[2026-10-20 00:46:19,046.046 INFO    ] 2026-10-20 00:46:19
[2026-10-20 00:46:19,082.082 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:46:19,280.280 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:46:19,338.338 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:46:19,519.519 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:46:19,573.573 INFO    ] time= 20/10/2026 00:46:19
[2026-10-20 00:46:19,609.609 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:46:19,624.624 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:46:19,757.757 INFO    ] No existing commands found in stream
[2026-10-20 00:46:24,770.770 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:46:24,773.773 INFO    ] Waiting 1.84 seconds before fallback handling...
[2026-10-20 00:46:27,087.087 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 00:46:27,089.089 INFO    ] Checking for system updates...
[2026-10-20 00:46:27,127.127 INFO    ] 200
[2026-10-20 00:46:27,130.130 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:46:27,183.183 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:46:27,185.185 INFO    ] No update needed
[2026-10-20 00:46:27,188.188 INFO    ] Checking for camera pi updates...
[2026-10-20 00:46:27,223.223 INFO    ] 200
[2026-10-20 00:46:27,226.226 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:46:27,266.266 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:46:27,310.310 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:46:27,312.312 INFO    ] No camera update needed
[2026-10-20 00:46:27,315.315 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:46:27,317.317 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:46:27,322.322 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:46:27,327.327 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:46:29,369.369 INFO    ] ================================================
[2026-10-20 00:46:29,384.384 INFO    ] Launching Daemon at Tue Oct 20 00:46:29 IST 2026
[2026-10-20 00:46:29,395.395 INFO    ] ================================================
[2026-10-20 00:46:29,980.980 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:46:29
[2026-10-20 00:46:30,582.582 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:46:30,856.856 INFO    ] Initializing speech engine...
[2026-10-20 00:46:30,865.865 INFO    ] 2026-10-20 00:46:30
[2026-10-20 00:46:31,113.113 INFO    ] 2026-10-20 00:46:31
[2026-10-20 00:46:31,157.157 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:46:31,436.436 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:46:31,442.442 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:46:31,679.679 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:46:31,711.711 INFO    ] time= 20/10/2026 00:46:31
[2026-10-20 00:46:31,728.728 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:46:31,737.737 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:46:31,934.934 INFO    ] No existing commands found in stream
[2026-10-20 00:46:36,970.970 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:46:36,973.973 INFO    ] Waiting 1.14 seconds before fallback handling...
[2026-10-20 00:46:38,592.592 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 00:46:38,595.595 INFO    ] Checking for system updates...
[2026-10-20 00:46:38,631.631 INFO    ] 200
[2026-10-20 00:46:38,633.633 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:46:38,686.686 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:46:38,688.688 INFO    ] No update needed
[2026-10-20 00:46:38,691.691 INFO    ] Checking for camera pi updates...
[2026-10-20 00:46:38,725.725 INFO    ] 200
[2026-10-20 00:46:38,727.727 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:46:38,773.773 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:46:38,826.826 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:46:38,829.829 INFO    ] No camera update needed
[2026-10-20 00:46:38,831.831 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:46:38,834.834 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:46:38,839.839 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:46:38,844.844 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:46:40,885.885 INFO    ] ================================================
[2026-10-20 00:46:40,900.900 INFO    ] Launching Daemon at Tue Oct 20 00:46:40 IST 2026
[2026-10-20 00:46:40,911.911 INFO    ] ================================================
[2026-10-20 00:46:41,493.493 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:46:41
[2026-10-20 00:46:42,080.080 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:46:42,336.336 INFO    ] Initializing speech engine...
[2026-10-20 00:46:42,343.343 INFO    ] 2026-10-20 00:46:42
[2026-10-20 00:46:42,636.636 INFO    ] 2026-10-20 00:46:42
[2026-10-20 00:46:42,675.675 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:46:42,962.962 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:46:42,972.972 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:46:43,145.145 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:46:43,195.195 INFO    ] time= 20/10/2026 00:46:43
[2026-10-20 00:46:43,249.249 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:46:43,273.273 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:46:43,438.438 INFO    ] No existing commands found in stream
[2026-10-20 00:46:48,453.453 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:46:48,455.455 INFO    ] Waiting 1.26 seconds before fallback handling...
[2026-10-20 00:46:50,237.237 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 00:46:50,240.240 INFO    ] Checking for system updates...
[2026-10-20 00:46:50,276.276 INFO    ] 200
[2026-10-20 00:46:50,279.279 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:46:50,332.332 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:46:50,335.335 INFO    ] No update needed
[2026-10-20 00:46:50,337.337 INFO    ] Checking for camera pi updates...
[2026-10-20 00:46:50,376.376 INFO    ] 200
[2026-10-20 00:46:50,379.379 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:46:50,421.421 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:46:50,467.467 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:46:50,470.470 INFO    ] No camera update needed
[2026-10-20 00:46:50,473.473 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:46:50,475.475 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:46:50,482.482 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:46:50,487.487 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:46:52,530.530 INFO    ] ================================================
[2026-10-20 00:46:52,546.546 INFO    ] Launching Daemon at Tue Oct 20 00:46:52 IST 2026
[2026-10-20 00:46:52,556.556 INFO    ] ================================================
[2026-10-20 00:46:53,205.205 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:46:53
[2026-10-20 00:46:53,868.868 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:46:54,174.174 INFO    ] Initializing speech engine...
[2026-10-20 00:46:54,188.188 INFO    ] 2026-10-20 00:46:54
[2026-10-20 00:46:54,503.503 INFO    ] 2026-10-20 00:46:54
[2026-10-20 00:46:54,589.589 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:46:54,805.805 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:46:54,811.811 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:46:55,007.007 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:46:55,026.026 INFO    ] time= 20/10/2026 00:46:55
[2026-10-20 00:46:55,035.035 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:46:55,063.063 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:46:55,169.169 INFO    ] No existing commands found in stream
[2026-10-20 00:47:00,181.181 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:47:00,184.184 INFO    ] Waiting 1.80 seconds before fallback handling...
[2026-10-20 00:47:02,511.511 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:47:02,514.514 INFO    ] Checking for system updates...
[2026-10-20 00:47:02,559.559 INFO    ] 200
[2026-10-20 00:47:02,561.561 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:47:02,629.629 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:47:02,632.632 INFO    ] No update needed
[2026-10-20 00:47:02,635.635 INFO    ] Checking for camera pi updates...
[2026-10-20 00:47:02,676.676 INFO    ] 200
[2026-10-20 00:47:02,679.679 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:47:02,730.730 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:47:02,777.777 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:47:02,781.781 INFO    ] No camera update needed
[2026-10-20 00:47:02,785.785 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:47:02,790.790 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:47:02,799.799 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:47:02,807.807 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:47:04,855.855 INFO    ] ================================================
[2026-10-20 00:47:04,870.870 INFO    ] Launching Daemon at Tue Oct 20 00:47:04 IST 2026
[2026-10-20 00:47:04,881.881 INFO    ] ================================================
[2026-10-20 00:47:05,452.452 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:47:05
[2026-10-20 00:47:06,040.040 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:47:06,309.309 INFO    ] Initializing speech engine...
[2026-10-20 00:47:06,319.319 INFO    ] 2026-10-20 00:47:06
[2026-10-20 00:47:06,565.565 INFO    ] 2026-10-20 00:47:06
[2026-10-20 00:47:06,601.601 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:47:06,852.852 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:47:06,861.861 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:47:07,072.072 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:47:07,120.120 INFO    ] time= 20/10/2026 00:47:07
[2026-10-20 00:47:07,126.126 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:47:07,144.144 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:47:07,275.275 INFO    ] No existing commands found in stream
[2026-10-20 00:47:12,288.288 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:47:12,291.291 INFO    ] Waiting 2.99 seconds before fallback handling...
[2026-10-20 00:47:15,805.805 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:47:15,808.808 INFO    ] Checking for system updates...
[2026-10-20 00:47:15,843.843 INFO    ] 200
[2026-10-20 00:47:15,845.845 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:47:15,897.897 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:47:15,900.900 INFO    ] No update needed
[2026-10-20 00:47:15,902.902 INFO    ] Checking for camera pi updates...
[2026-10-20 00:47:15,935.935 INFO    ] 200
[2026-10-20 00:47:15,938.938 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:47:15,978.978 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:47:16,123.123 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:47:16,126.126 INFO    ] No camera update needed
[2026-10-20 00:47:16,128.128 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:47:16,131.131 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:47:16,136.136 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:47:16,141.141 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:47:18,182.182 INFO    ] ================================================
[2026-10-20 00:47:18,198.198 INFO    ] Launching Daemon at Tue Oct 20 00:47:18 IST 2026
[2026-10-20 00:47:18,208.208 INFO    ] ================================================
[2026-10-20 00:47:18,780.780 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:47:18
[2026-10-20 00:47:19,371.371 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:47:19,623.623 INFO    ] Initializing speech engine...
[2026-10-20 00:47:19,629.629 INFO    ] 2026-10-20 00:47:19
[2026-10-20 00:47:19,905.905 INFO    ] 2026-10-20 00:47:19
[2026-10-20 00:47:19,947.947 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:47:20,171.171 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:47:20,228.228 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:47:20,439.439 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:47:20,494.494 INFO    ] time= 20/10/2026 00:47:20
[2026-10-20 00:47:20,500.500 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:47:20,520.520 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:47:20,643.643 INFO    ] No existing commands found in stream
[2026-10-20 00:47:25,660.660 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:47:25,662.662 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-10-20 00:47:27,225.225 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:47:27,228.228 INFO    ] Checking for system updates...
[2026-10-20 00:47:27,263.263 INFO    ] 200
[2026-10-20 00:47:27,265.265 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:47:27,325.325 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:47:27,328.328 INFO    ] No update needed
[2026-10-20 00:47:27,331.331 INFO    ] Checking for camera pi updates...
[2026-10-20 00:47:27,369.369 INFO    ] 200
[2026-10-20 00:47:27,371.371 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:47:27,417.417 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:47:27,466.466 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:47:27,468.468 INFO    ] No camera update needed
[2026-10-20 00:47:27,470.470 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:47:27,473.473 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:47:27,478.478 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:47:27,483.483 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:47:29,523.523 INFO    ] ================================================
[2026-10-20 00:47:29,540.540 INFO    ] Launching Daemon at Tue Oct 20 00:47:29 IST 2026
[2026-10-20 00:47:29,551.551 INFO    ] ================================================
[2026-10-20 00:47:30,119.119 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:47:30
[2026-10-20 00:47:30,705.705 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:47:30,962.962 INFO    ] Initializing speech engine...
[2026-10-20 00:47:30,968.968 INFO    ] 2026-10-20 00:47:30
[2026-10-20 00:47:31,272.272 INFO    ] 2026-10-20 00:47:31
[2026-10-20 00:47:31,309.309 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:47:31,545.545 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:47:31,553.553 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:47:31,714.714 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:47:31,757.757 INFO    ] time= 20/10/2026 00:47:31
[2026-10-20 00:47:31,792.792 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:47:31,814.814 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:47:31,946.946 INFO    ] No existing commands found in stream
[2026-10-20 00:47:36,957.957 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:47:36,960.960 INFO    ] Waiting 3.80 seconds before fallback handling...
[2026-10-20 00:47:41,273.273 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:47:41,276.276 INFO    ] Checking for system updates...
[2026-10-20 00:47:41,315.315 INFO    ] 200
[2026-10-20 00:47:41,318.318 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:47:41,371.371 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:47:41,374.374 INFO    ] No update needed
[2026-10-20 00:47:41,376.376 INFO    ] Checking for camera pi updates...
[2026-10-20 00:47:41,409.409 INFO    ] 200
[2026-10-20 00:47:41,412.412 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:47:41,451.451 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:47:41,504.504 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:47:41,506.506 INFO    ] No camera update needed
[2026-10-20 00:47:41,509.509 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:47:41,511.511 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:47:41,516.516 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:47:41,522.522 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:47:43,562.562 INFO    ] ================================================
[2026-10-20 00:47:43,577.577 INFO    ] Launching Daemon at Tue Oct 20 00:47:43 IST 2026
[2026-10-20 00:47:43,588.588 INFO    ] ================================================
[2026-10-20 00:47:44,260.260 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:47:44
[2026-10-20 00:47:44,960.960 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:47:45,258.258 INFO    ] Initializing speech engine...
[2026-10-20 00:47:45,268.268 INFO    ] 2026-10-20 00:47:45
[2026-10-20 00:47:45,529.529 INFO    ] 2026-10-20 00:47:45
[2026-10-20 00:47:45,565.565 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:47:45,797.797 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:47:45,838.838 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:47:46,027.027 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:47:46,065.065 INFO    ] time= 20/10/2026 00:47:46
[2026-10-20 00:47:46,119.119 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:47:46,183.183 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:47:46,341.341 INFO    ] No existing commands found in stream
[2026-10-20 00:47:51,363.363 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:47:51,366.366 INFO    ] Waiting 0.25 seconds before fallback handling...
[2026-10-20 00:47:52,098.098 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 00:47:52,101.101 INFO    ] Checking for system updates...
[2026-10-20 00:47:52,136.136 INFO    ] 200
[2026-10-20 00:47:52,139.139 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:47:52,191.191 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:47:52,193.193 INFO    ] No update needed
[2026-10-20 00:47:52,196.196 INFO    ] Checking for camera pi updates...
[2026-10-20 00:47:52,229.229 INFO    ] 200
[2026-10-20 00:47:52,232.232 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:47:52,272.272 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:47:52,317.317 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:47:52,320.320 INFO    ] No camera update needed
[2026-10-20 00:47:52,322.322 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:47:52,324.324 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:47:52,330.330 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:47:52,335.335 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:47:54,376.376 INFO    ] ================================================
[2026-10-20 00:47:54,391.391 INFO    ] Launching Daemon at Tue Oct 20 00:47:54 IST 2026
[2026-10-20 00:47:54,402.402 INFO    ] ================================================
[2026-10-20 00:47:54,970.970 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:47:54
[2026-10-20 00:47:55,557.557 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:47:55,829.829 INFO    ] Initializing speech engine...
[2026-10-20 00:47:55,838.838 INFO    ] 2026-10-20 00:47:55
[2026-10-20 00:47:56,094.094 INFO    ] 2026-10-20 00:47:56
[2026-10-20 00:47:56,148.148 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:47:56,374.374 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:47:56,379.379 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:47:56,601.601 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:47:56,636.636 INFO    ] time= 20/10/2026 00:47:56
[2026-10-20 00:47:56,642.642 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:47:56,658.658 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:47:56,791.791 INFO    ] No existing commands found in stream
[2026-10-20 00:48:01,810.810 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:48:01,814.814 INFO    ] Waiting 0.36 seconds before fallback handling...
[2026-10-20 00:48:02,707.707 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:48:02,709.709 INFO    ] Checking for system updates...
[2026-10-20 00:48:02,750.750 INFO    ] 200
[2026-10-20 00:48:02,752.752 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:48:02,831.831 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:48:02,833.833 INFO    ] No update needed
[2026-10-20 00:48:02,835.835 INFO    ] Checking for camera pi updates...
[2026-10-20 00:48:02,874.874 INFO    ] 200
[2026-10-20 00:48:02,876.876 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:48:02,932.932 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:48:02,976.976 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:48:02,979.979 INFO    ] No camera update needed
[2026-10-20 00:48:02,982.982 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:48:02,985.985 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:48:02,992.992 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:48:02,997.997 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:48:05,042.042 INFO    ] ================================================
[2026-10-20 00:48:05,064.064 INFO    ] Launching Daemon at Tue Oct 20 00:48:05 IST 2026
[2026-10-20 00:48:05,077.077 INFO    ] ================================================
[2026-10-20 00:48:05,744.744 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:48:05
[2026-10-20 00:48:06,430.430 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:48:06,744.744 INFO    ] Initializing speech engine...
[2026-10-20 00:48:06,756.756 INFO    ] 2026-10-20 00:48:06
[2026-10-20 00:48:07,043.043 INFO    ] 2026-10-20 00:48:07
[2026-10-20 00:48:07,154.154 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:48:07,413.413 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:48:07,438.438 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:48:07,611.611 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:48:07,620.620 INFO    ] time= 20/10/2026 00:48:07
[2026-10-20 00:48:07,630.630 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:48:07,670.670 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:48:07,827.827 INFO    ] No existing commands found in stream
[2026-10-20 00:48:12,844.844 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:48:12,847.847 INFO    ] Waiting 3.08 seconds before fallback handling...
[2026-10-20 00:48:16,507.507 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:48:16,510.510 INFO    ] Checking for system updates...
[2026-10-20 00:48:16,551.551 INFO    ] 200
[2026-10-20 00:48:16,553.553 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:48:16,605.605 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:48:16,608.608 INFO    ] No update needed
[2026-10-20 00:48:16,611.611 INFO    ] Checking for camera pi updates...
[2026-10-20 00:48:16,648.648 INFO    ] 200
[2026-10-20 00:48:16,651.651 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:48:16,690.690 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:48:16,735.735 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:48:16,738.738 INFO    ] No camera update needed
[2026-10-20 00:48:16,740.740 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:48:16,743.743 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:48:16,748.748 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:48:16,753.753 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:48:18,793.793 INFO    ] ================================================
[2026-10-20 00:48:18,809.809 INFO    ] Launching Daemon at Tue Oct 20 00:48:18 IST 2026
[2026-10-20 00:48:18,820.820 INFO    ] ================================================
[2026-10-20 00:48:19,488.488 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:48:19
[2026-10-20 00:48:20,174.174 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:48:20,477.477 INFO    ] Initializing speech engine...
[2026-10-20 00:48:20,486.486 INFO    ] 2026-10-20 00:48:20
[2026-10-20 00:48:20,782.782 INFO    ] 2026-10-20 00:48:20
[2026-10-20 00:48:20,820.820 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:48:21,057.057 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:48:21,072.072 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:48:21,282.282 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:48:21,317.317 INFO    ] time= 20/10/2026 00:48:21
[2026-10-20 00:48:21,335.335 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:48:21,359.359 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:48:21,530.530 INFO    ] No existing commands found in stream
[2026-10-20 00:48:26,556.556 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:48:26,560.560 INFO    ] Waiting 0.55 seconds before fallback handling...
[2026-10-20 00:48:27,666.666 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:48:27,669.669 INFO    ] Checking for system updates...
[2026-10-20 00:48:27,705.705 INFO    ] 200
[2026-10-20 00:48:27,708.708 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:48:27,759.759 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:48:27,762.762 INFO    ] No update needed
[2026-10-20 00:48:27,764.764 INFO    ] Checking for camera pi updates...
[2026-10-20 00:48:27,797.797 INFO    ] 200
[2026-10-20 00:48:27,800.800 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:48:27,840.840 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:48:27,898.898 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:48:27,900.900 INFO    ] No camera update needed
[2026-10-20 00:48:27,903.903 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:48:27,905.905 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:48:27,910.910 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:48:27,915.915 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:48:29,954.954 INFO    ] ================================================
[2026-10-20 00:48:29,970.970 INFO    ] Launching Daemon at Tue Oct 20 00:48:29 IST 2026
[2026-10-20 00:48:29,980.980 INFO    ] ================================================
[2026-10-20 00:48:30,553.553 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:48:30
[2026-10-20 00:48:31,147.147 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:48:31,455.455 INFO    ] Initializing speech engine...
[2026-10-20 00:48:31,465.465 INFO    ] 2026-10-20 00:48:31
[2026-10-20 00:48:31,727.727 INFO    ] 2026-10-20 00:48:31
[2026-10-20 00:48:31,762.762 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:48:31,964.964 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:48:31,981.981 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:48:32,192.192 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:48:32,199.199 INFO    ] time= 20/10/2026 00:48:32
[2026-10-20 00:48:32,259.259 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:48:32,314.314 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:48:32,500.500 INFO    ] No existing commands found in stream
[2026-10-20 00:48:37,533.533 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:48:37,536.536 INFO    ] Waiting 0.64 seconds before fallback handling...
[2026-10-20 00:48:38,694.694 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:48:38,697.697 INFO    ] Checking for system updates...
[2026-10-20 00:48:38,738.738 INFO    ] 200
[2026-10-20 00:48:38,741.741 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:48:38,801.801 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:48:38,804.804 INFO    ] No update needed
[2026-10-20 00:48:38,807.807 INFO    ] Checking for camera pi updates...
[2026-10-20 00:48:38,846.846 INFO    ] 200
[2026-10-20 00:48:38,849.849 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:48:38,896.896 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:48:38,951.951 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:48:38,954.954 INFO    ] No camera update needed
[2026-10-20 00:48:38,957.957 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:48:38,959.959 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:48:38,966.966 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:48:38,972.972 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:48:41,015.015 INFO    ] ================================================
[2026-10-20 00:48:41,031.031 INFO    ] Launching Daemon at Tue Oct 20 00:48:41 IST 2026
[2026-10-20 00:48:41,042.042 INFO    ] ================================================
[2026-10-20 00:48:41,614.614 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:48:41
[2026-10-20 00:48:42,196.196 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:48:42,465.465 INFO    ] Initializing speech engine...
[2026-10-20 00:48:42,474.474 INFO    ] 2026-10-20 00:48:42
[2026-10-20 00:48:42,733.733 INFO    ] 2026-10-20 00:48:42
[2026-10-20 00:48:42,762.762 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:48:43,006.006 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:48:43,016.016 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:48:43,148.148 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:48:43,218.218 INFO    ] time= 20/10/2026 00:48:43
[2026-10-20 00:48:43,263.263 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:48:43,280.280 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:48:43,428.428 INFO    ] No existing commands found in stream
[2026-10-20 00:48:48,446.446 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:48:48,449.449 INFO    ] Waiting 3.99 seconds before fallback handling...
[2026-10-20 00:48:52,919.919 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:48:52,922.922 INFO    ] Checking for system updates...
[2026-10-20 00:48:52,958.958 INFO    ] 200
[2026-10-20 00:48:52,961.961 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:48:53,022.022 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:48:53,025.025 INFO    ] No update needed
[2026-10-20 00:48:53,027.027 INFO    ] Checking for camera pi updates...
[2026-10-20 00:48:53,066.066 INFO    ] 200
[2026-10-20 00:48:53,069.069 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:48:53,117.117 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:48:53,170.170 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:48:53,173.173 INFO    ] No camera update needed
[2026-10-20 00:48:53,175.175 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:48:53,178.178 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:48:53,185.185 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:48:53,191.191 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:48:55,233.233 INFO    ] ================================================
[2026-10-20 00:48:55,249.249 INFO    ] Launching Daemon at Tue Oct 20 00:48:55 IST 2026
[2026-10-20 00:48:55,265.265 INFO    ] ================================================
[2026-10-20 00:48:55,833.833 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:48:55
[2026-10-20 00:48:56,418.418 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:48:56,673.673 INFO    ] Initializing speech engine...
[2026-10-20 00:48:56,681.681 INFO    ] 2026-10-20 00:48:56
[2026-10-20 00:48:56,977.977 INFO    ] 2026-10-20 00:48:56
[2026-10-20 00:48:57,013.013 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:48:57,241.241 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:48:57,249.249 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:48:57,471.471 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:48:57,478.478 INFO    ] time= 20/10/2026 00:48:57
[2026-10-20 00:48:57,512.512 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:48:57,556.556 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:48:57,679.679 INFO    ] No existing commands found in stream
[2026-10-20 00:49:02,691.691 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:49:02,694.694 INFO    ] Waiting 0.19 seconds before fallback handling...
[2026-10-20 00:49:03,398.398 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 00:49:03,402.402 INFO    ] Checking for system updates...
[2026-10-20 00:49:03,467.467 INFO    ] 200
[2026-10-20 00:49:03,472.472 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:49:03,539.539 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:49:03,543.543 INFO    ] No update needed
[2026-10-20 00:49:03,547.547 INFO    ] Checking for camera pi updates...
[2026-10-20 00:49:03,594.594 INFO    ] 200
[2026-10-20 00:49:03,597.597 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:49:03,641.641 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:49:03,676.676 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:49:03,679.679 INFO    ] No camera update needed
[2026-10-20 00:49:03,682.682 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:49:03,685.685 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:49:03,691.691 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:49:03,697.697 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:49:05,740.740 INFO    ] ================================================
[2026-10-20 00:49:05,756.756 INFO    ] Launching Daemon at Tue Oct 20 00:49:05 IST 2026
[2026-10-20 00:49:05,767.767 INFO    ] ================================================
[2026-10-20 00:49:06,416.416 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:49:06
[2026-10-20 00:49:07,087.087 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:49:07,395.395 INFO    ] Initializing speech engine...
[2026-10-20 00:49:07,404.404 INFO    ] 2026-10-20 00:49:07
[2026-10-20 00:49:07,694.694 INFO    ] 2026-10-20 00:49:07
[2026-10-20 00:49:07,740.740 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:49:07,999.999 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:49:08,019.019 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:49:08,237.237 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:49:08,245.245 INFO    ] time= 20/10/2026 00:49:08
[2026-10-20 00:49:08,264.264 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:49:08,293.293 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:49:08,440.440 INFO    ] No existing commands found in stream
[2026-10-20 00:49:13,476.476 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:49:13,480.480 INFO    ] Waiting 2.63 seconds before fallback handling...
[2026-10-20 00:49:16,699.699 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:49:16,702.702 INFO    ] Checking for system updates...
[2026-10-20 00:49:16,738.738 INFO    ] 200
[2026-10-20 00:49:16,740.740 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:49:16,791.791 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:49:16,794.794 INFO    ] No update needed
[2026-10-20 00:49:16,797.797 INFO    ] Checking for camera pi updates...
[2026-10-20 00:49:16,830.830 INFO    ] 200
[2026-10-20 00:49:16,832.832 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:49:16,879.879 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:49:16,930.930 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:49:16,933.933 INFO    ] No camera update needed
[2026-10-20 00:49:16,935.935 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:49:16,937.937 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:49:16,943.943 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:49:16,947.947 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:49:18,987.987 INFO    ] ================================================
[2026-10-20 00:49:19,002.002 INFO    ] Launching Daemon at Tue Oct 20 00:49:18 IST 2026
[2026-10-20 00:49:19,013.013 INFO    ] ================================================
[2026-10-20 00:49:19,579.579 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:49:19
[2026-10-20 00:49:20,164.164 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:49:20,434.434 INFO    ] Initializing speech engine...
[2026-10-20 00:49:20,443.443 INFO    ] 2026-10-20 00:49:20
[2026-10-20 00:49:20,689.689 INFO    ] 2026-10-20 00:49:20
[2026-10-20 00:49:20,723.723 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:49:20,976.976 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:49:20,985.985 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:49:21,217.217 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:49:21,266.266 INFO    ] time= 20/10/2026 00:49:21
[2026-10-20 00:49:21,283.283 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:49:21,292.292 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:49:21,424.424 INFO    ] No existing commands found in stream
[2026-10-20 00:49:26,437.437 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:49:26,440.440 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-10-20 00:49:30,066.066 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 00:49:30,069.069 INFO    ] Checking for system updates...
[2026-10-20 00:49:30,105.105 INFO    ] 200
[2026-10-20 00:49:30,108.108 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:49:30,162.162 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:49:30,165.165 INFO    ] No update needed
[2026-10-20 00:49:30,167.167 INFO    ] Checking for camera pi updates...
[2026-10-20 00:49:30,202.202 INFO    ] 200
[2026-10-20 00:49:30,204.204 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:49:30,250.250 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:49:30,402.402 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:49:30,404.404 INFO    ] No camera update needed
[2026-10-20 00:49:30,409.409 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:49:30,412.412 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:49:30,418.418 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:49:30,424.424 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:49:32,465.465 INFO    ] ================================================
[2026-10-20 00:49:32,481.481 INFO    ] Launching Daemon at Tue Oct 20 00:49:32 IST 2026
[2026-10-20 00:49:32,492.492 INFO    ] ================================================
[2026-10-20 00:49:33,098.098 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:49:33
[2026-10-20 00:49:33,724.724 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:49:33,984.984 INFO    ] Initializing speech engine...
[2026-10-20 00:49:33,997.997 INFO    ] 2026-10-20 00:49:33
[2026-10-20 00:49:34,282.282 INFO    ] 2026-10-20 00:49:34
[2026-10-20 00:49:34,316.316 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:49:34,528.528 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:49:34,543.543 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:49:34,693.693 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:49:34,700.700 INFO    ] time= 20/10/2026 00:49:34
[2026-10-20 00:49:34,706.706 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:49:34,713.713 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:49:34,825.825 INFO    ] No existing commands found in stream
[2026-10-20 00:49:39,850.850 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:49:39,852.852 INFO    ] Waiting 3.00 seconds before fallback handling...
[2026-10-20 00:49:43,376.376 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 00:49:43,379.379 INFO    ] Checking for system updates...
[2026-10-20 00:49:43,415.415 INFO    ] 200
[2026-10-20 00:49:43,418.418 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:49:43,472.472 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:49:43,474.474 INFO    ] No update needed
[2026-10-20 00:49:43,477.477 INFO    ] Checking for camera pi updates...
[2026-10-20 00:49:43,511.511 INFO    ] 200
[2026-10-20 00:49:43,514.514 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:49:43,560.560 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:49:43,609.609 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:49:43,611.611 INFO    ] No camera update needed
[2026-10-20 00:49:43,614.614 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:49:43,617.617 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:49:43,623.623 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:49:43,630.630 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:49:45,671.671 INFO    ] ================================================
[2026-10-20 00:49:45,687.687 INFO    ] Launching Daemon at Tue Oct 20 00:49:45 IST 2026
[2026-10-20 00:49:45,698.698 INFO    ] ================================================
[2026-10-20 00:49:46,329.329 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:49:46
[2026-10-20 00:49:47,014.014 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:49:47,328.328 INFO    ] Initializing speech engine...
[2026-10-20 00:49:47,334.334 INFO    ] 2026-10-20 00:49:47
[2026-10-20 00:49:47,643.643 INFO    ] 2026-10-20 00:49:47
[2026-10-20 00:49:47,729.729 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:49:47,944.944 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:49:47,952.952 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:49:48,144.144 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:49:48,164.164 INFO    ] time= 20/10/2026 00:49:48
[2026-10-20 00:49:48,193.193 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:49:48,203.203 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:49:48,328.328 INFO    ] No existing commands found in stream
[2026-10-20 00:49:53,364.364 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:49:53,367.367 INFO    ] Waiting 3.57 seconds before fallback handling...
[2026-10-20 00:49:57,465.465 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:49:57,468.468 INFO    ] Checking for system updates...
[2026-10-20 00:49:57,508.508 INFO    ] 200
[2026-10-20 00:49:57,511.511 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:49:57,565.565 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:49:57,568.568 INFO    ] No update needed
[2026-10-20 00:49:57,571.571 INFO    ] Checking for camera pi updates...
[2026-10-20 00:49:57,609.609 INFO    ] 200
[2026-10-20 00:49:57,612.612 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:49:57,658.658 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:49:57,718.718 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:49:57,721.721 INFO    ] No camera update needed
[2026-10-20 00:49:57,724.724 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:49:57,726.726 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:49:57,733.733 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:49:57,738.738 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:49:59,780.780 INFO    ] ================================================
[2026-10-20 00:49:59,795.795 INFO    ] Launching Daemon at Tue Oct 20 00:49:59 IST 2026
[2026-10-20 00:49:59,806.806 INFO    ] ================================================
[2026-10-20 00:50:00,371.371 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:50:00
[2026-10-20 00:50:00,957.957 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:50:01,866.866 INFO    ] Initializing speech engine...
[2026-10-20 00:50:01,874.874 INFO    ] 2026-10-20 00:50:01
[2026-10-20 00:50:02,312.312 INFO    ] 2026-10-20 00:50:02
[2026-10-20 00:50:02,370.370 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:50:02,558.558 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:50:02,562.562 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:50:02,735.735 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:50:02,740.740 INFO    ] time= 20/10/2026 00:50:02
[2026-10-20 00:50:02,744.744 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:50:02,748.748 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:50:02,851.851 INFO    ] No existing commands found in stream
[2026-10-20 00:50:07,862.862 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:50:07,866.866 INFO    ] Waiting 1.20 seconds before fallback handling...
[2026-10-20 00:50:09,592.592 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:50:09,595.595 INFO    ] Checking for system updates...
[2026-10-20 00:50:09,631.631 INFO    ] 200
[2026-10-20 00:50:09,634.634 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:50:09,687.687 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:50:09,690.690 INFO    ] No update needed
[2026-10-20 00:50:09,692.692 INFO    ] Checking for camera pi updates...
[2026-10-20 00:50:09,726.726 INFO    ] 200
[2026-10-20 00:50:09,728.728 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:50:09,768.768 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:50:09,810.810 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:50:09,813.813 INFO    ] No camera update needed
[2026-10-20 00:50:09,815.815 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:50:09,817.817 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:50:09,823.823 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:50:09,827.827 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:50:11,867.867 INFO    ] ================================================
[2026-10-20 00:50:11,882.882 INFO    ] Launching Daemon at Tue Oct 20 00:50:11 IST 2026
[2026-10-20 00:50:11,893.893 INFO    ] ================================================
[2026-10-20 00:50:12,458.458 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:50:12
[2026-10-20 00:50:13,041.041 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:50:13,288.288 INFO    ] Initializing speech engine...
[2026-10-20 00:50:13,310.310 INFO    ] 2026-10-20 00:50:13
[2026-10-20 00:50:13,562.562 INFO    ] 2026-10-20 00:50:13
[2026-10-20 00:50:13,597.597 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:50:13,853.853 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:50:13,857.857 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:50:13,996.996 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:50:14,056.056 INFO    ] time= 20/10/2026 00:50:14
[2026-10-20 00:50:14,110.110 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:50:14,122.122 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:50:14,254.254 INFO    ] No existing commands found in stream
[2026-10-20 00:50:19,279.279 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:50:19,282.282 INFO    ] Waiting 1.71 seconds before fallback handling...
[2026-10-20 00:50:21,517.517 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 00:50:21,519.519 INFO    ] Checking for system updates...
[2026-10-20 00:50:21,555.555 INFO    ] 200
[2026-10-20 00:50:21,557.557 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:50:21,609.609 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:50:21,612.612 INFO    ] No update needed
[2026-10-20 00:50:21,614.614 INFO    ] Checking for camera pi updates...
[2026-10-20 00:50:21,651.651 INFO    ] 200
[2026-10-20 00:50:21,653.653 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:50:21,693.693 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:50:21,737.737 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:50:21,740.740 INFO    ] No camera update needed
[2026-10-20 00:50:21,742.742 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:50:21,745.745 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:50:21,750.750 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:50:21,755.755 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:50:23,796.796 INFO    ] ================================================
[2026-10-20 00:50:23,811.811 INFO    ] Launching Daemon at Tue Oct 20 00:50:23 IST 2026
[2026-10-20 00:50:23,822.822 INFO    ] ================================================
[2026-10-20 00:50:24,390.390 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:50:24
[2026-10-20 00:50:24,971.971 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:50:25,237.237 INFO    ] Initializing speech engine...
[2026-10-20 00:50:25,246.246 INFO    ] 2026-10-20 00:50:25
[2026-10-20 00:50:25,492.492 INFO    ] 2026-10-20 00:50:25
[2026-10-20 00:50:25,534.534 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:50:25,784.784 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:50:25,788.788 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:50:25,989.989 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:50:26,043.043 INFO    ] time= 20/10/2026 00:50:25
[2026-10-20 00:50:26,049.049 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:50:26,069.069 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:50:26,198.198 INFO    ] No existing commands found in stream
[2026-10-20 00:50:31,208.208 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:50:31,211.211 INFO    ] Waiting 1.44 seconds before fallback handling...
[2026-10-20 00:50:33,185.185 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:50:33,188.188 INFO    ] Checking for system updates...
[2026-10-20 00:50:33,222.222 INFO    ] 200
[2026-10-20 00:50:33,225.225 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:50:33,276.276 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:50:33,278.278 INFO    ] No update needed
[2026-10-20 00:50:33,281.281 INFO    ] Checking for camera pi updates...
[2026-10-20 00:50:33,314.314 INFO    ] 200
[2026-10-20 00:50:33,316.316 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:50:33,356.356 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:50:33,389.389 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:50:33,392.392 INFO    ] No camera update needed
[2026-10-20 00:50:33,394.394 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:50:33,396.396 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:50:33,402.402 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:50:33,407.407 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:50:35,448.448 INFO    ] ================================================
[2026-10-20 00:50:35,463.463 INFO    ] Launching Daemon at Tue Oct 20 00:50:35 IST 2026
[2026-10-20 00:50:35,474.474 INFO    ] ================================================
[2026-10-20 00:50:36,044.044 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:50:36
[2026-10-20 00:50:36,629.629 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:50:36,875.875 INFO    ] Initializing speech engine...
[2026-10-20 00:50:36,884.884 INFO    ] 2026-10-20 00:50:36
[2026-10-20 00:50:37,157.157 INFO    ] 2026-10-20 00:50:37
[2026-10-20 00:50:37,193.193 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:50:37,390.390 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:50:37,398.398 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:50:37,595.595 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:50:37,622.622 INFO    ] time= 20/10/2026 00:50:37
[2026-10-20 00:50:37,682.682 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:50:37,732.732 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:50:37,864.864 INFO    ] No existing commands found in stream
[2026-10-20 00:50:42,892.892 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:50:42,895.895 INFO    ] Waiting 1.43 seconds before fallback handling...
[2026-10-20 00:50:44,877.877 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:50:44,880.880 INFO    ] Checking for system updates...
[2026-10-20 00:50:44,915.915 INFO    ] 200
[2026-10-20 00:50:44,917.917 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:50:44,975.975 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:50:44,977.977 INFO    ] No update needed
[2026-10-20 00:50:44,980.980 INFO    ] Checking for camera pi updates...
[2026-10-20 00:50:45,013.013 INFO    ] 200
[2026-10-20 00:50:45,016.016 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:50:45,055.055 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:50:45,098.098 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:50:45,101.101 INFO    ] No camera update needed
[2026-10-20 00:50:45,103.103 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:50:45,105.105 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:50:45,111.111 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:50:45,116.116 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:50:47,155.155 INFO    ] ================================================
[2026-10-20 00:50:47,170.170 INFO    ] Launching Daemon at Tue Oct 20 00:50:47 IST 2026
[2026-10-20 00:50:47,180.180 INFO    ] ================================================
[2026-10-20 00:50:47,770.770 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:50:47
[2026-10-20 00:50:48,369.369 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:50:48,643.643 INFO    ] Initializing speech engine...
[2026-10-20 00:50:48,654.654 INFO    ] 2026-10-20 00:50:48
[2026-10-20 00:50:48,900.900 INFO    ] 2026-10-20 00:50:48
[2026-10-20 00:50:48,935.935 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:50:49,191.191 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:50:49,197.197 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:50:49,403.403 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:50:49,453.453 INFO    ] time= 20/10/2026 00:50:49
[2026-10-20 00:50:49,460.460 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:50:49,480.480 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:50:49,610.610 INFO    ] No existing commands found in stream
[2026-10-20 00:50:54,632.632 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:50:54,635.635 INFO    ] Waiting 0.34 seconds before fallback handling...
[2026-10-20 00:50:55,514.514 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 00:50:55,517.517 INFO    ] Checking for system updates...
[2026-10-20 00:50:55,553.553 INFO    ] 200
[2026-10-20 00:50:55,556.556 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:50:55,607.607 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:50:55,610.610 INFO    ] No update needed
[2026-10-20 00:50:55,612.612 INFO    ] Checking for camera pi updates...
[2026-10-20 00:50:55,646.646 INFO    ] 200
[2026-10-20 00:50:55,648.648 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:50:55,687.687 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:50:55,730.730 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:50:55,732.732 INFO    ] No camera update needed
[2026-10-20 00:50:55,739.739 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:50:55,741.741 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:50:55,747.747 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:50:55,752.752 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:50:57,792.792 INFO    ] ================================================
[2026-10-20 00:50:57,807.807 INFO    ] Launching Daemon at Tue Oct 20 00:50:57 IST 2026
[2026-10-20 00:50:57,818.818 INFO    ] ================================================
[2026-10-20 00:50:58,382.382 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:50:58
[2026-10-20 00:50:58,964.964 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:50:59,233.233 INFO    ] Initializing speech engine...
[2026-10-20 00:50:59,242.242 INFO    ] 2026-10-20 00:50:59
[2026-10-20 00:50:59,487.487 INFO    ] 2026-10-20 00:50:59
[2026-10-20 00:50:59,522.522 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:50:59,720.720 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:50:59,778.778 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:50:59,919.919 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:50:59,979.979 INFO    ] time= 20/10/2026 00:50:59
[2026-10-20 00:51:00,033.033 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:51:00,050.050 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:51:00,181.181 INFO    ] No existing commands found in stream
[2026-10-20 00:51:05,205.205 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:51:05,208.208 INFO    ] Waiting 3.79 seconds before fallback handling...
[2026-10-20 00:51:09,458.458 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:51:09,461.461 INFO    ] Checking for system updates...
[2026-10-20 00:51:09,496.496 INFO    ] 200
[2026-10-20 00:51:09,499.499 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:51:09,554.554 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:51:09,556.556 INFO    ] No update needed
[2026-10-20 00:51:09,559.559 INFO    ] Checking for camera pi updates...
[2026-10-20 00:51:09,600.600 INFO    ] 200
[2026-10-20 00:51:09,602.602 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:51:09,642.642 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:51:09,687.687 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:51:09,689.689 INFO    ] No camera update needed
[2026-10-20 00:51:09,692.692 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:51:09,694.694 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:51:09,699.699 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:51:09,704.704 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:51:11,744.744 INFO    ] ================================================
[2026-10-20 00:51:11,761.761 INFO    ] Launching Daemon at Tue Oct 20 00:51:11 IST 2026
[2026-10-20 00:51:11,772.772 INFO    ] ================================================
[2026-10-20 00:51:12,407.407 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:51:12
[2026-10-20 00:51:13,062.062 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:51:13,355.355 INFO    ] Initializing speech engine...
[2026-10-20 00:51:13,366.366 INFO    ] 2026-10-20 00:51:13
[2026-10-20 00:51:13,638.638 INFO    ] 2026-10-20 00:51:13
[2026-10-20 00:51:13,692.692 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:51:13,925.925 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:51:13,946.946 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:51:14,135.135 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:51:14,186.186 INFO    ] time= 20/10/2026 00:51:14
[2026-10-20 00:51:14,193.193 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:51:14,214.214 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:51:14,345.345 INFO    ] No existing commands found in stream
[2026-10-20 00:51:19,367.367 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:51:19,371.371 INFO    ] Waiting 1.44 seconds before fallback handling...
[2026-10-20 00:51:21,333.333 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 00:51:21,336.336 INFO    ] Checking for system updates...
[2026-10-20 00:51:21,375.375 INFO    ] 200
[2026-10-20 00:51:21,378.378 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:51:21,430.430 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:51:21,432.432 INFO    ] No update needed
[2026-10-20 00:51:21,435.435 INFO    ] Checking for camera pi updates...
[2026-10-20 00:51:21,468.468 INFO    ] 200
[2026-10-20 00:51:21,471.471 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:51:21,516.516 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:51:21,565.565 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:51:21,567.567 INFO    ] No camera update needed
[2026-10-20 00:51:21,570.570 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:51:21,572.572 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:51:21,577.577 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:51:21,583.583 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:51:23,623.623 INFO    ] ================================================
[2026-10-20 00:51:23,639.639 INFO    ] Launching Daemon at Tue Oct 20 00:51:23 IST 2026
[2026-10-20 00:51:23,650.650 INFO    ] ================================================
[2026-10-20 00:51:24,263.263 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:51:24
[2026-10-20 00:51:24,920.920 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:51:25,221.221 INFO    ] Initializing speech engine...
[2026-10-20 00:51:25,234.234 INFO    ] 2026-10-20 00:51:25
[2026-10-20 00:51:25,510.510 INFO    ] 2026-10-20 00:51:25
[2026-10-20 00:51:25,554.554 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:51:25,841.841 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:51:25,846.846 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:51:26,042.042 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:51:26,050.050 INFO    ] time= 20/10/2026 00:51:26
[2026-10-20 00:51:26,071.071 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:51:26,097.097 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:51:26,228.228 INFO    ] No existing commands found in stream
[2026-10-20 00:51:31,259.259 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:51:31,262.262 INFO    ] Waiting 0.11 seconds before fallback handling...
[2026-10-20 00:51:31,903.903 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 00:51:31,906.906 INFO    ] Checking for system updates...
[2026-10-20 00:51:31,946.946 INFO    ] 200
[2026-10-20 00:51:31,949.949 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:51:32,005.005 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:51:32,009.009 INFO    ] No update needed
[2026-10-20 00:51:32,012.012 INFO    ] Checking for camera pi updates...
[2026-10-20 00:51:32,048.048 INFO    ] 200
[2026-10-20 00:51:32,051.051 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:51:32,094.094 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:51:32,224.224 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:51:32,227.227 INFO    ] No camera update needed
[2026-10-20 00:51:32,230.230 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:51:32,233.233 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:51:32,240.240 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:51:32,246.246 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:51:34,289.289 INFO    ] ================================================
[2026-10-20 00:51:34,304.304 INFO    ] Launching Daemon at Tue Oct 20 00:51:34 IST 2026
[2026-10-20 00:51:34,318.318 INFO    ] ================================================
[2026-10-20 00:51:34,901.901 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:51:34
[2026-10-20 00:51:35,499.499 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:51:35,755.755 INFO    ] Initializing speech engine...
[2026-10-20 00:51:35,762.762 INFO    ] 2026-10-20 00:51:35
[2026-10-20 00:51:36,057.057 INFO    ] 2026-10-20 00:51:36
[2026-10-20 00:51:36,094.094 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:51:36,315.315 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:51:36,378.378 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:51:36,536.536 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:51:36,606.606 INFO    ] time= 20/10/2026 00:51:36
[2026-10-20 00:51:36,655.655 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:51:36,665.665 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:51:36,773.773 INFO    ] No existing commands found in stream
[2026-10-20 00:51:41,782.782 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:51:41,785.785 INFO    ] Waiting 2.98 seconds before fallback handling...
[2026-10-20 00:51:45,259.259 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:51:45,262.262 INFO    ] Checking for system updates...
[2026-10-20 00:51:45,297.297 INFO    ] 200
[2026-10-20 00:51:45,300.300 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:51:45,357.357 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:51:45,360.360 INFO    ] No update needed
[2026-10-20 00:51:45,362.362 INFO    ] Checking for camera pi updates...
[2026-10-20 00:51:45,398.398 INFO    ] 200
[2026-10-20 00:51:45,401.401 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:51:45,440.440 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:51:45,489.489 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:51:45,492.492 INFO    ] No camera update needed
[2026-10-20 00:51:45,495.495 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:51:45,497.497 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:51:45,503.503 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:51:45,509.509 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:51:47,550.550 INFO    ] ================================================
[2026-10-20 00:51:47,565.565 INFO    ] Launching Daemon at Tue Oct 20 00:51:47 IST 2026
[2026-10-20 00:51:47,576.576 INFO    ] ================================================
[2026-10-20 00:51:48,150.150 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:51:48
[2026-10-20 00:51:48,736.736 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:51:48,993.993 INFO    ] Initializing speech engine...
[2026-10-20 00:51:49,008.008 INFO    ] 2026-10-20 00:51:48
[2026-10-20 00:51:49,287.287 INFO    ] 2026-10-20 00:51:49
[2026-10-20 00:51:49,326.326 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:51:49,541.541 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:51:49,569.569 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:51:49,766.766 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:51:49,820.820 INFO    ] time= 20/10/2026 00:51:49
[2026-10-20 00:51:49,869.869 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:51:49,910.910 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:51:50,057.057 INFO    ] No existing commands found in stream
[2026-10-20 00:51:55,082.082 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:51:55,085.085 INFO    ] Waiting 1.88 seconds before fallback handling...
[2026-10-20 00:51:57,446.446 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 00:51:57,449.449 INFO    ] Checking for system updates...
[2026-10-20 00:51:57,487.487 INFO    ] 200
[2026-10-20 00:51:57,490.490 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:51:57,546.546 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:51:57,549.549 INFO    ] No update needed
[2026-10-20 00:51:57,551.551 INFO    ] Checking for camera pi updates...
[2026-10-20 00:51:57,591.591 INFO    ] 200
[2026-10-20 00:51:57,593.593 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:51:57,633.633 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:51:57,677.677 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:51:57,680.680 INFO    ] No camera update needed
[2026-10-20 00:51:57,682.682 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:51:57,684.684 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:51:57,690.690 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:51:57,695.695 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:51:59,735.735 INFO    ] ================================================
[2026-10-20 00:51:59,750.750 INFO    ] Launching Daemon at Tue Oct 20 00:51:59 IST 2026
[2026-10-20 00:51:59,761.761 INFO    ] ================================================
[2026-10-20 00:52:00,392.392 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:52:00
[2026-10-20 00:52:01,042.042 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:52:01,337.337 INFO    ] Initializing speech engine...
[2026-10-20 00:52:01,345.345 INFO    ] 2026-10-20 00:52:01
[2026-10-20 00:52:01,624.624 INFO    ] 2026-10-20 00:52:01
[2026-10-20 00:52:01,684.684 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:52:01,924.924 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:52:01,927.927 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:52:02,161.161 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:52:02,171.171 INFO    ] time= 20/10/2026 00:52:02
[2026-10-20 00:52:02,202.202 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:52:02,244.244 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:52:02,387.387 INFO    ] No existing commands found in stream
[2026-10-20 00:52:07,404.404 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:52:07,407.407 INFO    ] Waiting 2.32 seconds before fallback handling...
[2026-10-20 00:52:10,230.230 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 00:52:10,233.233 INFO    ] Checking for system updates...
[2026-10-20 00:52:10,268.268 INFO    ] 200
[2026-10-20 00:52:10,271.271 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:52:10,328.328 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:52:10,331.331 INFO    ] No update needed
[2026-10-20 00:52:10,334.334 INFO    ] Checking for camera pi updates...
[2026-10-20 00:52:10,369.369 INFO    ] 200
[2026-10-20 00:52:10,371.371 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:52:10,416.416 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:52:10,464.464 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:52:10,467.467 INFO    ] No camera update needed
[2026-10-20 00:52:10,470.470 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:52:10,472.472 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:52:10,478.478 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:52:10,484.484 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:52:12,524.524 INFO    ] ================================================
[2026-10-20 00:52:12,539.539 INFO    ] Launching Daemon at Tue Oct 20 00:52:12 IST 2026
[2026-10-20 00:52:12,551.551 INFO    ] ================================================
[2026-10-20 00:52:13,133.133 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:52:13
[2026-10-20 00:52:13,733.733 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:52:13,992.992 INFO    ] Initializing speech engine...
[2026-10-20 00:52:13,998.998 INFO    ] 2026-10-20 00:52:13
[2026-10-20 00:52:14,288.288 INFO    ] 2026-10-20 00:52:14
[2026-10-20 00:52:14,323.323 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:52:14,542.542 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:52:14,605.605 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:52:14,757.757 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:52:14,800.800 INFO    ] time= 20/10/2026 00:52:14
[2026-10-20 00:52:14,855.855 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:52:14,904.904 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:52:15,053.053 INFO    ] No existing commands found in stream
[2026-10-20 00:52:20,076.076 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:52:20,079.079 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-10-20 00:52:23,681.681 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:52:23,684.684 INFO    ] Checking for system updates...
[2026-10-20 00:52:23,719.719 INFO    ] 200
[2026-10-20 00:52:23,722.722 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:52:23,778.778 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:52:23,781.781 INFO    ] No update needed
[2026-10-20 00:52:23,783.783 INFO    ] Checking for camera pi updates...
[2026-10-20 00:52:23,816.816 INFO    ] 200
[2026-10-20 00:52:23,819.819 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:52:23,859.859 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:52:23,904.904 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:52:23,906.906 INFO    ] No camera update needed
[2026-10-20 00:52:23,909.909 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:52:23,911.911 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:52:23,916.916 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:52:23,921.921 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:52:25,962.962 INFO    ] ================================================
[2026-10-20 00:52:25,977.977 INFO    ] Launching Daemon at Tue Oct 20 00:52:25 IST 2026
[2026-10-20 00:52:25,988.988 INFO    ] ================================================
[2026-10-20 00:52:26,581.581 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:52:26
[2026-10-20 00:52:27,179.179 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:52:27,440.440 INFO    ] Initializing speech engine...
[2026-10-20 00:52:27,465.465 INFO    ] 2026-10-20 00:52:27
[2026-10-20 00:52:27,732.732 INFO    ] 2026-10-20 00:52:27
[2026-10-20 00:52:27,771.771 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:52:27,987.987 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:52:28,050.050 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:52:28,246.246 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:52:28,290.290 INFO    ] time= 20/10/2026 00:52:28
[2026-10-20 00:52:28,334.334 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:52:28,346.346 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:52:28,511.511 INFO    ] No existing commands found in stream
[2026-10-20 00:52:33,523.523 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:52:33,526.526 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-10-20 00:52:35,508.508 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:52:35,511.511 INFO    ] Checking for system updates...
[2026-10-20 00:52:35,546.546 INFO    ] 200
[2026-10-20 00:52:35,549.549 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:52:35,604.604 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:52:35,607.607 INFO    ] No update needed
[2026-10-20 00:52:35,609.609 INFO    ] Checking for camera pi updates...
[2026-10-20 00:52:35,643.643 INFO    ] 200
[2026-10-20 00:52:35,646.646 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:52:35,686.686 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:52:35,729.729 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:52:35,731.731 INFO    ] No camera update needed
[2026-10-20 00:52:35,734.734 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:52:35,736.736 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:52:35,742.742 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:52:35,748.748 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:52:37,788.788 INFO    ] ================================================
[2026-10-20 00:52:37,803.803 INFO    ] Launching Daemon at Tue Oct 20 00:52:37 IST 2026
[2026-10-20 00:52:37,814.814 INFO    ] ================================================
[2026-10-20 00:52:38,379.379 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:52:38
[2026-10-20 00:52:38,960.960 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:52:39,226.226 INFO    ] Initializing speech engine...
[2026-10-20 00:52:39,235.235 INFO    ] 2026-10-20 00:52:39
[2026-10-20 00:52:39,487.487 INFO    ] 2026-10-20 00:52:39
[2026-10-20 00:52:39,528.528 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:52:39,780.780 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:52:39,786.786 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:52:39,927.927 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:52:39,992.992 INFO    ] time= 20/10/2026 00:52:39
[2026-10-20 00:52:40,047.047 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:52:40,058.058 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:52:40,208.208 INFO    ] No existing commands found in stream
[2026-10-20 00:52:45,231.231 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:52:45,233.233 INFO    ] Waiting 1.36 seconds before fallback handling...
[2026-10-20 00:52:47,052.052 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:52:47,055.055 INFO    ] Checking for system updates...
[2026-10-20 00:52:47,090.090 INFO    ] 200
[2026-10-20 00:52:47,092.092 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:52:47,144.144 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:52:47,147.147 INFO    ] No update needed
[2026-10-20 00:52:47,149.149 INFO    ] Checking for camera pi updates...
[2026-10-20 00:52:47,182.182 INFO    ] 200
[2026-10-20 00:52:47,184.184 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:52:47,230.230 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:52:47,271.271 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:52:47,273.273 INFO    ] No camera update needed
[2026-10-20 00:52:47,276.276 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:52:47,278.278 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:52:47,283.283 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:52:47,288.288 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:52:49,329.329 INFO    ] ================================================
[2026-10-20 00:52:49,345.345 INFO    ] Launching Daemon at Tue Oct 20 00:52:49 IST 2026
[2026-10-20 00:52:49,356.356 INFO    ] ================================================
[2026-10-20 00:52:49,935.935 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:52:49
[2026-10-20 00:52:50,531.531 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:52:50,803.803 INFO    ] Initializing speech engine...
[2026-10-20 00:52:50,812.812 INFO    ] 2026-10-20 00:52:50
[2026-10-20 00:52:51,073.073 INFO    ] 2026-10-20 00:52:51
[2026-10-20 00:52:51,103.103 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:52:51,331.331 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:52:51,333.333 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:52:51,511.511 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:52:51,548.548 INFO    ] time= 20/10/2026 00:52:51
[2026-10-20 00:52:51,603.603 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:52:51,646.646 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:52:51,732.732 INFO    ] No existing commands found in stream
[2026-10-20 00:52:56,742.742 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:52:56,744.744 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-10-20 00:52:58,354.354 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 00:52:58,357.357 INFO    ] Checking for system updates...
[2026-10-20 00:52:58,395.395 INFO    ] 200
[2026-10-20 00:52:58,398.398 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:52:58,450.450 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:52:58,452.452 INFO    ] No update needed
[2026-10-20 00:52:58,455.455 INFO    ] Checking for camera pi updates...
[2026-10-20 00:52:58,488.488 INFO    ] 200
[2026-10-20 00:52:58,490.490 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:52:58,535.535 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:52:58,592.592 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:52:58,595.595 INFO    ] No camera update needed
[2026-10-20 00:52:58,597.597 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:52:58,599.599 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:52:58,605.605 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:52:58,610.610 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:53:00,650.650 INFO    ] ================================================
[2026-10-20 00:53:00,665.665 INFO    ] Launching Daemon at Tue Oct 20 00:53:00 IST 2026
[2026-10-20 00:53:00,676.676 INFO    ] ================================================
[2026-10-20 00:53:01,261.261 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:53:01
[2026-10-20 00:53:01,973.973 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:53:02,325.325 INFO    ] Initializing speech engine...
[2026-10-20 00:53:02,334.334 INFO    ] 2026-10-20 00:53:02
[2026-10-20 00:53:02,635.635 INFO    ] 2026-10-20 00:53:02
[2026-10-20 00:53:02,681.681 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:53:02,919.919 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:53:02,926.926 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:53:03,095.095 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:53:03,121.121 INFO    ] time= 20/10/2026 00:53:03
[2026-10-20 00:53:03,181.181 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:53:03,223.223 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:53:03,316.316 INFO    ] No existing commands found in stream
[2026-10-20 00:53:08,327.327 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:53:08,330.330 INFO    ] Waiting 0.69 seconds before fallback handling...
[2026-10-20 00:53:09,527.527 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 00:53:09,530.530 INFO    ] Checking for system updates...
[2026-10-20 00:53:09,564.564 INFO    ] 200
[2026-10-20 00:53:09,567.567 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:53:09,620.620 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:53:09,622.622 INFO    ] No update needed
[2026-10-20 00:53:09,624.624 INFO    ] Checking for camera pi updates...
[2026-10-20 00:53:09,657.657 INFO    ] 200
[2026-10-20 00:53:09,659.659 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:53:09,705.705 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:53:09,758.758 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:53:09,760.760 INFO    ] No camera update needed
[2026-10-20 00:53:09,763.763 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:53:09,765.765 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:53:09,770.770 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:53:09,775.775 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:53:11,815.815 INFO    ] ================================================
[2026-10-20 00:53:11,831.831 INFO    ] Launching Daemon at Tue Oct 20 00:53:11 IST 2026
[2026-10-20 00:53:11,842.842 INFO    ] ================================================
[2026-10-20 00:53:12,409.409 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:53:12
[2026-10-20 00:53:12,993.993 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:53:13,252.252 INFO    ] Initializing speech engine...
[2026-10-20 00:53:13,263.263 INFO    ] 2026-10-20 00:53:13
[2026-10-20 00:53:13,551.551 INFO    ] 2026-10-20 00:53:13
[2026-10-20 00:53:13,590.590 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:53:13,790.790 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:53:13,803.803 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:53:13,971.971 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:53:13,977.977 INFO    ] time= 20/10/2026 00:53:13
[2026-10-20 00:53:13,983.983 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:53:14,006.006 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:53:14,136.136 INFO    ] No existing commands found in stream
[2026-10-20 00:53:19,161.161 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:53:19,163.163 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-10-20 00:53:20,769.769 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 00:53:20,772.772 INFO    ] Checking for system updates...
[2026-10-20 00:53:20,807.807 INFO    ] 200
[2026-10-20 00:53:20,810.810 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:53:20,862.862 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:53:20,864.864 INFO    ] No update needed
[2026-10-20 00:53:20,867.867 INFO    ] Checking for camera pi updates...
[2026-10-20 00:53:20,901.901 INFO    ] 200
[2026-10-20 00:53:20,903.903 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:53:20,943.943 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:53:20,990.990 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:53:20,993.993 INFO    ] No camera update needed
[2026-10-20 00:53:20,996.996 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:53:20,998.998 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:53:21,003.003 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:53:21,008.008 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:53:23,048.048 INFO    ] ================================================
[2026-10-20 00:53:23,063.063 INFO    ] Launching Daemon at Tue Oct 20 00:53:23 IST 2026
[2026-10-20 00:53:23,075.075 INFO    ] ================================================
[2026-10-20 00:53:23,640.640 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:53:23
[2026-10-20 00:53:24,226.226 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:53:24,494.494 INFO    ] Initializing speech engine...
[2026-10-20 00:53:24,504.504 INFO    ] 2026-10-20 00:53:24
[2026-10-20 00:53:24,748.748 INFO    ] 2026-10-20 00:53:24
[2026-10-20 00:53:24,783.783 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:53:25,035.035 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:53:25,045.045 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:53:25,176.176 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:53:25,228.228 INFO    ] time= 20/10/2026 00:53:25
[2026-10-20 00:53:25,283.283 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:53:25,311.311 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:53:25,498.498 INFO    ] No existing commands found in stream
[2026-10-20 00:53:30,528.528 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:53:30,531.531 INFO    ] Waiting 0.42 seconds before fallback handling...
[2026-10-20 00:53:31,461.461 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 00:53:31,464.464 INFO    ] Checking for system updates...
[2026-10-20 00:53:31,499.499 INFO    ] 200
[2026-10-20 00:53:31,501.501 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:53:31,555.555 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:53:31,558.558 INFO    ] No update needed
[2026-10-20 00:53:31,561.561 INFO    ] Checking for camera pi updates...
[2026-10-20 00:53:31,600.600 INFO    ] 200
[2026-10-20 00:53:31,603.603 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:53:31,646.646 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:53:31,694.694 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:53:31,697.697 INFO    ] No camera update needed
[2026-10-20 00:53:31,701.701 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:53:31,705.705 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:53:31,713.713 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:53:31,721.721 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:53:33,764.764 INFO    ] ================================================
[2026-10-20 00:53:33,780.780 INFO    ] Launching Daemon at Tue Oct 20 00:53:33 IST 2026
[2026-10-20 00:53:33,791.791 INFO    ] ================================================
[2026-10-20 00:53:34,359.359 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:53:34
[2026-10-20 00:53:34,941.941 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:53:35,210.210 INFO    ] Initializing speech engine...
[2026-10-20 00:53:35,219.219 INFO    ] 2026-10-20 00:53:35
[2026-10-20 00:53:35,471.471 INFO    ] 2026-10-20 00:53:35
[2026-10-20 00:53:35,506.506 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:53:35,750.750 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:53:35,759.759 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:53:35,963.963 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:53:36,013.013 INFO    ] time= 20/10/2026 00:53:35
[2026-10-20 00:53:36,023.023 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:53:36,037.037 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:53:36,166.166 INFO    ] No existing commands found in stream
[2026-10-20 00:53:41,182.182 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:53:41,184.184 INFO    ] Waiting 2.95 seconds before fallback handling...
[2026-10-20 00:53:44,649.649 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:53:44,652.652 INFO    ] Checking for system updates...
[2026-10-20 00:53:44,689.689 INFO    ] 200
[2026-10-20 00:53:44,692.692 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:53:44,745.745 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:53:44,748.748 INFO    ] No update needed
[2026-10-20 00:53:44,751.751 INFO    ] Checking for camera pi updates...
[2026-10-20 00:53:44,786.786 INFO    ] 200
[2026-10-20 00:53:44,789.789 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:53:44,829.829 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:53:44,972.972 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:53:44,974.974 INFO    ] No camera update needed
[2026-10-20 00:53:44,976.976 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:53:44,979.979 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:53:44,984.984 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:53:44,989.989 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:53:47,031.031 INFO    ] ================================================
[2026-10-20 00:53:47,048.048 INFO    ] Launching Daemon at Tue Oct 20 00:53:47 IST 2026
[2026-10-20 00:53:47,059.059 INFO    ] ================================================
[2026-10-20 00:53:47,644.644 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:53:47
[2026-10-20 00:53:48,249.249 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:53:48,513.513 INFO    ] Initializing speech engine...
[2026-10-20 00:53:48,527.527 INFO    ] 2026-10-20 00:53:48
[2026-10-20 00:53:48,816.816 INFO    ] 2026-10-20 00:53:48
[2026-10-20 00:53:48,854.854 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:53:49,067.067 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:53:49,084.084 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:53:49,237.237 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:53:49,243.243 INFO    ] time= 20/10/2026 00:53:49
[2026-10-20 00:53:49,249.249 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:53:49,255.255 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:53:49,375.375 INFO    ] No existing commands found in stream
[2026-10-20 00:53:54,395.395 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:53:54,398.398 INFO    ] Waiting 0.37 seconds before fallback handling...
[2026-10-20 00:53:55,264.264 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:53:55,266.266 INFO    ] Checking for system updates...
[2026-10-20 00:53:55,302.302 INFO    ] 200
[2026-10-20 00:53:55,304.304 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:53:55,357.357 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:53:55,360.360 INFO    ] No update needed
[2026-10-20 00:53:55,363.363 INFO    ] Checking for camera pi updates...
[2026-10-20 00:53:55,400.400 INFO    ] 200
[2026-10-20 00:53:55,403.403 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:53:55,443.443 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:53:55,490.490 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:53:55,492.492 INFO    ] No camera update needed
[2026-10-20 00:53:55,494.494 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:53:55,497.497 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:53:55,502.502 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:53:55,507.507 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:53:57,548.548 INFO    ] ================================================
[2026-10-20 00:53:57,563.563 INFO    ] Launching Daemon at Tue Oct 20 00:53:57 IST 2026
[2026-10-20 00:53:57,574.574 INFO    ] ================================================
[2026-10-20 00:53:58,236.236 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:53:58
[2026-10-20 00:53:58,915.915 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:53:59,227.227 INFO    ] Initializing speech engine...
[2026-10-20 00:53:59,238.238 INFO    ] 2026-10-20 00:53:59
[2026-10-20 00:53:59,547.547 INFO    ] 2026-10-20 00:53:59
[2026-10-20 00:53:59,624.624 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:53:59,844.844 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:53:59,853.853 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:54:00,049.049 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:54:00,057.057 INFO    ] time= 20/10/2026 00:54:00
[2026-10-20 00:54:00,075.075 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:54:00,104.104 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:54:00,212.212 INFO    ] No existing commands found in stream
[2026-10-20 00:54:05,233.233 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:54:05,236.236 INFO    ] Waiting 2.56 seconds before fallback handling...
[2026-10-20 00:54:08,291.291 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 00:54:08,294.294 INFO    ] Checking for system updates...
[2026-10-20 00:54:08,331.331 INFO    ] 200
[2026-10-20 00:54:08,334.334 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:54:08,388.388 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:54:08,391.391 INFO    ] No update needed
[2026-10-20 00:54:08,394.394 INFO    ] Checking for camera pi updates...
[2026-10-20 00:54:08,429.429 INFO    ] 200
[2026-10-20 00:54:08,432.432 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:54:08,474.474 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:54:08,523.523 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:54:08,525.525 INFO    ] No camera update needed
[2026-10-20 00:54:08,528.528 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:54:08,531.531 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:54:08,537.537 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:54:08,543.543 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:54:10,584.584 INFO    ] ================================================
[2026-10-20 00:54:10,600.600 INFO    ] Launching Daemon at Tue Oct 20 00:54:10 IST 2026
[2026-10-20 00:54:10,611.611 INFO    ] ================================================
[2026-10-20 00:54:11,201.201 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:54:11
[2026-10-20 00:54:11,805.805 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:54:12,084.084 INFO    ] Initializing speech engine...
[2026-10-20 00:54:12,090.090 INFO    ] 2026-10-20 00:54:12
[2026-10-20 00:54:12,338.338 INFO    ] 2026-10-20 00:54:12
[2026-10-20 00:54:12,373.373 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:54:12,626.626 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:54:12,635.635 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:54:12,785.785 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:54:12,855.855 INFO    ] time= 20/10/2026 00:54:12
[2026-10-20 00:54:12,899.899 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:54:12,905.905 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:54:13,055.055 INFO    ] No existing commands found in stream
[2026-10-20 00:54:18,081.081 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:54:18,084.084 INFO    ] Waiting 0.06 seconds before fallback handling...
[2026-10-20 00:54:18,654.654 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:54:18,657.657 INFO    ] Checking for system updates...
[2026-10-20 00:54:18,714.714 INFO    ] 200
[2026-10-20 00:54:18,717.717 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 00:54:18,720.720 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-10-20 00:54:18,722.722 INFO    ] Checking for camera pi updates...
[2026-10-20 00:54:18,765.765 INFO    ] 200
[2026-10-20 00:54:18,768.768 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 00:54:18,771.771 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-10-20 00:54:18,773.773 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:54:18,776.776 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:54:18,782.782 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:54:18,787.787 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:54:20,829.829 INFO    ] ================================================
[2026-10-20 00:54:20,844.844 INFO    ] Launching Daemon at Tue Oct 20 00:54:20 IST 2026
[2026-10-20 00:54:20,859.859 INFO    ] ================================================
[2026-10-20 00:54:21,443.443 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:54:21
[2026-10-20 00:54:22,031.031 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:54:22,286.286 INFO    ] Initializing speech engine...
[2026-10-20 00:54:22,301.301 INFO    ] 2026-10-20 00:54:22
[2026-10-20 00:54:22,569.569 INFO    ] 2026-10-20 00:54:22
[2026-10-20 00:54:22,605.605 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:54:22,866.866 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:54:22,875.875 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:54:23,075.075 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:54:23,140.140 INFO    ] time= 20/10/2026 00:54:23
[2026-10-20 00:54:23,148.148 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:54:23,166.166 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:54:23,301.301 INFO    ] No existing commands found in stream
[2026-10-20 00:54:28,315.315 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:54:28,318.318 INFO    ] Waiting 1.96 seconds before fallback handling...
[2026-10-20 00:54:30,831.831 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 00:54:30,834.834 INFO    ] Checking for system updates...
[2026-10-20 00:54:30,872.872 INFO    ] 200
[2026-10-20 00:54:30,874.874 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:54:30,936.936 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:54:30,939.939 INFO    ] No update needed
[2026-10-20 00:54:30,941.941 INFO    ] Checking for camera pi updates...
[2026-10-20 00:54:30,974.974 INFO    ] 200
[2026-10-20 00:54:30,976.976 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:54:31,017.017 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:54:31,070.070 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:54:31,073.073 INFO    ] No camera update needed
[2026-10-20 00:54:31,075.075 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:54:31,077.077 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:54:31,083.083 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:54:31,088.088 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:54:33,129.129 INFO    ] ================================================
[2026-10-20 00:54:33,149.149 INFO    ] Launching Daemon at Tue Oct 20 00:54:33 IST 2026
[2026-10-20 00:54:33,161.161 INFO    ] ================================================
[2026-10-20 00:54:33,835.835 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:54:33
[2026-10-20 00:54:34,532.532 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:54:34,845.845 INFO    ] Initializing speech engine...
[2026-10-20 00:54:34,857.857 INFO    ] 2026-10-20 00:54:34
[2026-10-20 00:54:35,171.171 INFO    ] 2026-10-20 00:54:35
[2026-10-20 00:54:35,260.260 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:54:35,443.443 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:54:35,462.462 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:54:35,666.666 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:54:35,691.691 INFO    ] time= 20/10/2026 00:54:35
[2026-10-20 00:54:35,708.708 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:54:35,740.740 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:54:35,852.852 INFO    ] No existing commands found in stream
[2026-10-20 00:54:40,876.876 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:54:40,880.880 INFO    ] Waiting 3.18 seconds before fallback handling...
[2026-10-20 00:54:44,624.624 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 00:54:44,626.626 INFO    ] Checking for system updates...
[2026-10-20 00:54:44,662.662 INFO    ] 200
[2026-10-20 00:54:44,665.665 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:54:44,718.718 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:54:44,720.720 INFO    ] No update needed
[2026-10-20 00:54:44,722.722 INFO    ] Checking for camera pi updates...
[2026-10-20 00:54:44,756.756 INFO    ] 200
[2026-10-20 00:54:44,758.758 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:54:44,800.800 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:54:44,862.862 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:54:44,864.864 INFO    ] No camera update needed
[2026-10-20 00:54:44,867.867 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:54:44,869.869 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:54:44,874.874 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:54:44,879.879 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:54:46,919.919 INFO    ] ================================================
[2026-10-20 00:54:46,935.935 INFO    ] Launching Daemon at Tue Oct 20 00:54:46 IST 2026
[2026-10-20 00:54:46,947.947 INFO    ] ================================================
[2026-10-20 00:54:47,513.513 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:54:47
[2026-10-20 00:54:48,097.097 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:54:48,367.367 INFO    ] Initializing speech engine...
[2026-10-20 00:54:48,376.376 INFO    ] 2026-10-20 00:54:48
[2026-10-20 00:54:48,627.627 INFO    ] 2026-10-20 00:54:48
[2026-10-20 00:54:48,663.663 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:54:48,921.921 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:54:48,930.930 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:54:49,129.129 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:54:49,194.194 INFO    ] time= 20/10/2026 00:54:49
[2026-10-20 00:54:49,203.203 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:54:49,220.220 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:54:49,379.379 INFO    ] No existing commands found in stream
[2026-10-20 00:54:54,410.410 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:54:54,412.412 INFO    ] Waiting 1.58 seconds before fallback handling...
[2026-10-20 00:54:56,563.563 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:54:56,566.566 INFO    ] Checking for system updates...
[2026-10-20 00:54:56,609.609 INFO    ] 200
[2026-10-20 00:54:56,612.612 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:54:56,674.674 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:54:56,677.677 INFO    ] No update needed
[2026-10-20 00:54:56,680.680 INFO    ] Checking for camera pi updates...
[2026-10-20 00:54:56,715.715 INFO    ] 200
[2026-10-20 00:54:56,717.717 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:54:56,758.758 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:54:56,803.803 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:54:56,805.805 INFO    ] No camera update needed
[2026-10-20 00:54:56,808.808 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:54:56,810.810 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:54:56,816.816 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:54:56,821.821 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:54:58,863.863 INFO    ] ================================================
[2026-10-20 00:54:58,879.879 INFO    ] Launching Daemon at Tue Oct 20 00:54:58 IST 2026
[2026-10-20 00:54:58,890.890 INFO    ] ================================================
[2026-10-20 00:54:59,565.565 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:54:59
[2026-10-20 00:55:00,264.264 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:55:00,589.589 INFO    ] Initializing speech engine...
[2026-10-20 00:55:00,596.596 INFO    ] 2026-10-20 00:55:00
[2026-10-20 00:55:00,889.889 INFO    ] 2026-10-20 00:55:00
[2026-10-20 00:55:01,002.002 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:55:01,222.222 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:55:01,228.228 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:55:01,415.415 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:55:01,433.433 INFO    ] time= 20/10/2026 00:55:01
[2026-10-20 00:55:01,439.439 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:55:01,459.459 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:55:01,590.590 INFO    ] No existing commands found in stream
[2026-10-20 00:55:06,660.660 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:55:06,663.663 INFO    ] Waiting 1.41 seconds before fallback handling...
[2026-10-20 00:55:08,602.602 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:55:08,605.605 INFO    ] Checking for system updates...
[2026-10-20 00:55:08,640.640 INFO    ] 200
[2026-10-20 00:55:08,643.643 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:55:08,700.700 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:55:08,702.702 INFO    ] No update needed
[2026-10-20 00:55:08,705.705 INFO    ] Checking for camera pi updates...
[2026-10-20 00:55:08,738.738 INFO    ] 200
[2026-10-20 00:55:08,741.741 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:55:08,781.781 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:55:08,829.829 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:55:08,832.832 INFO    ] No camera update needed
[2026-10-20 00:55:08,835.835 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:55:08,839.839 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:55:08,845.845 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:55:08,850.850 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:55:10,891.891 INFO    ] ================================================
[2026-10-20 00:55:10,906.906 INFO    ] Launching Daemon at Tue Oct 20 00:55:10 IST 2026
[2026-10-20 00:55:10,917.917 INFO    ] ================================================
[2026-10-20 00:55:11,595.595 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:55:11
[2026-10-20 00:55:12,181.181 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:55:12,427.427 INFO    ] Initializing speech engine...
[2026-10-20 00:55:12,440.440 INFO    ] 2026-10-20 00:55:12
[2026-10-20 00:55:12,707.707 INFO    ] 2026-10-20 00:55:12
[2026-10-20 00:55:12,742.742 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:55:12,944.944 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:55:13,003.003 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:55:13,220.220 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:55:13,274.274 INFO    ] time= 20/10/2026 00:55:13
[2026-10-20 00:55:13,280.280 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:55:13,295.295 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:55:13,430.430 INFO    ] No existing commands found in stream
[2026-10-20 00:55:18,444.444 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:55:18,446.446 INFO    ] Waiting 2.14 seconds before fallback handling...
[2026-10-20 00:55:21,096.096 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 00:55:21,099.099 INFO    ] Checking for system updates...
[2026-10-20 00:55:21,140.140 INFO    ] 200
[2026-10-20 00:55:21,142.142 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:55:21,194.194 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:55:21,196.196 INFO    ] No update needed
[2026-10-20 00:55:21,198.198 INFO    ] Checking for camera pi updates...
[2026-10-20 00:55:21,231.231 INFO    ] 200
[2026-10-20 00:55:21,234.234 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:55:21,273.273 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:55:21,322.322 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:55:21,324.324 INFO    ] No camera update needed
[2026-10-20 00:55:21,327.327 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:55:21,329.329 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:55:21,334.334 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:55:21,339.339 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:55:23,379.379 INFO    ] ================================================
[2026-10-20 00:55:23,395.395 INFO    ] Launching Daemon at Tue Oct 20 00:55:23 IST 2026
[2026-10-20 00:55:23,406.406 INFO    ] ================================================
[2026-10-20 00:55:23,973.973 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:55:23
[2026-10-20 00:55:24,557.557 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:55:24,824.824 INFO    ] Initializing speech engine...
[2026-10-20 00:55:24,834.834 INFO    ] 2026-10-20 00:55:24
[2026-10-20 00:55:25,079.079 INFO    ] 2026-10-20 00:55:25
[2026-10-20 00:55:25,114.114 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:55:25,369.369 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:55:25,376.376 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:55:25,588.588 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:55:25,633.633 INFO    ] time= 20/10/2026 00:55:25
[2026-10-20 00:55:25,639.639 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:55:25,659.659 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:55:25,777.777 INFO    ] No existing commands found in stream
[2026-10-20 00:55:30,798.798 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:55:30,801.801 INFO    ] Waiting 2.99 seconds before fallback handling...
[2026-10-20 00:55:34,304.304 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:55:34,306.306 INFO    ] Checking for system updates...
[2026-10-20 00:55:34,342.342 INFO    ] 200
[2026-10-20 00:55:34,344.344 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:55:34,405.405 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:55:34,407.407 INFO    ] No update needed
[2026-10-20 00:55:34,409.409 INFO    ] Checking for camera pi updates...
[2026-10-20 00:55:34,442.442 INFO    ] 200
[2026-10-20 00:55:34,445.445 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:55:34,485.485 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:55:34,540.540 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:55:34,543.543 INFO    ] No camera update needed
[2026-10-20 00:55:34,545.545 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:55:34,547.547 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:55:34,553.553 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:55:34,558.558 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:55:36,600.600 INFO    ] ================================================
[2026-10-20 00:55:36,616.616 INFO    ] Launching Daemon at Tue Oct 20 00:55:36 IST 2026
[2026-10-20 00:55:36,627.627 INFO    ] ================================================
[2026-10-20 00:55:37,358.358 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:55:37
[2026-10-20 00:55:37,941.941 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:55:38,207.207 INFO    ] Initializing speech engine...
[2026-10-20 00:55:38,216.216 INFO    ] 2026-10-20 00:55:38
[2026-10-20 00:55:38,474.474 INFO    ] 2026-10-20 00:55:38
[2026-10-20 00:55:38,505.505 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:55:38,753.753 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:55:38,758.758 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:55:38,967.967 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:55:39,014.014 INFO    ] time= 20/10/2026 00:55:38
[2026-10-20 00:55:39,021.021 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:55:39,038.038 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:55:39,173.173 INFO    ] No existing commands found in stream
[2026-10-20 00:55:44,203.203 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:55:44,206.206 INFO    ] Waiting 3.70 seconds before fallback handling...
[2026-10-20 00:55:48,464.464 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:55:48,467.467 INFO    ] Checking for system updates...
[2026-10-20 00:55:48,502.502 INFO    ] 200
[2026-10-20 00:55:48,505.505 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:55:48,558.558 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:55:48,561.561 INFO    ] No update needed
[2026-10-20 00:55:48,563.563 INFO    ] Checking for camera pi updates...
[2026-10-20 00:55:48,596.596 INFO    ] 200
[2026-10-20 00:55:48,598.598 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:55:48,645.645 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:55:48,791.791 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:55:48,793.793 INFO    ] No camera update needed
[2026-10-20 00:55:48,796.796 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:55:48,798.798 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:55:48,804.804 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:55:48,809.809 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:55:50,854.854 INFO    ] ================================================
[2026-10-20 00:55:50,870.870 INFO    ] Launching Daemon at Tue Oct 20 00:55:50 IST 2026
[2026-10-20 00:55:50,881.881 INFO    ] ================================================
[2026-10-20 00:55:51,569.569 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:55:51
[2026-10-20 00:55:52,177.177 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:55:52,454.454 INFO    ] Initializing speech engine...
[2026-10-20 00:55:52,463.463 INFO    ] 2026-10-20 00:55:52
[2026-10-20 00:55:52,720.720 INFO    ] 2026-10-20 00:55:52
[2026-10-20 00:55:52,776.776 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:55:53,022.022 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:55:53,028.028 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:55:53,222.222 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:55:53,261.261 INFO    ] time= 20/10/2026 00:55:53
[2026-10-20 00:55:53,267.267 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:55:53,284.284 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:55:53,416.416 INFO    ] No existing commands found in stream
[2026-10-20 00:55:58,439.439 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:55:58,442.442 INFO    ] Waiting 0.01 seconds before fallback handling...
[2026-10-20 00:55:59,027.027 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 00:55:59,031.031 INFO    ] Checking for system updates...
[2026-10-20 00:55:59,068.068 INFO    ] 200
[2026-10-20 00:55:59,071.071 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:55:59,133.133 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:55:59,136.136 INFO    ] No update needed
[2026-10-20 00:55:59,139.139 INFO    ] Checking for camera pi updates...
[2026-10-20 00:55:59,173.173 INFO    ] 200
[2026-10-20 00:55:59,176.176 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:55:59,217.217 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:55:59,265.265 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:55:59,268.268 INFO    ] No camera update needed
[2026-10-20 00:55:59,271.271 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:55:59,274.274 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:55:59,280.280 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:55:59,286.286 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:56:01,328.328 INFO    ] ================================================
[2026-10-20 00:56:01,344.344 INFO    ] Launching Daemon at Tue Oct 20 00:56:01 IST 2026
[2026-10-20 00:56:01,355.355 INFO    ] ================================================
[2026-10-20 00:56:01,946.946 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:56:01
[2026-10-20 00:56:02,873.873 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:56:03,284.284 INFO    ] Initializing speech engine...
[2026-10-20 00:56:03,288.288 INFO    ] 2026-10-20 00:56:03
[2026-10-20 00:56:03,709.709 INFO    ] 2026-10-20 00:56:03
[2026-10-20 00:56:03,751.751 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:56:03,995.995 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:56:04,000.000 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:56:04,176.176 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:56:04,224.224 INFO    ] time= 20/10/2026 00:56:04
[2026-10-20 00:56:04,231.231 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:56:04,247.247 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:56:04,373.373 INFO    ] No existing commands found in stream
[2026-10-20 00:56:09,395.395 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:56:09,398.398 INFO    ] Waiting 1.96 seconds before fallback handling...
[2026-10-20 00:56:11,883.883 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:56:11,886.886 INFO    ] Checking for system updates...
[2026-10-20 00:56:11,922.922 INFO    ] 200
[2026-10-20 00:56:11,925.925 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:56:11,987.987 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:56:11,990.990 INFO    ] No update needed
[2026-10-20 00:56:11,993.993 INFO    ] Checking for camera pi updates...
[2026-10-20 00:56:12,034.034 INFO    ] 200
[2026-10-20 00:56:12,036.036 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:56:12,083.083 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:56:12,128.128 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:56:12,133.133 INFO    ] No camera update needed
[2026-10-20 00:56:12,136.136 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:56:12,139.139 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:56:12,144.144 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:56:12,149.149 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:56:14,189.189 INFO    ] ================================================
[2026-10-20 00:56:14,205.205 INFO    ] Launching Daemon at Tue Oct 20 00:56:14 IST 2026
[2026-10-20 00:56:14,216.216 INFO    ] ================================================
[2026-10-20 00:56:14,782.782 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:56:14
[2026-10-20 00:56:15,366.366 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:56:15,633.633 INFO    ] Initializing speech engine...
[2026-10-20 00:56:15,646.646 INFO    ] 2026-10-20 00:56:15
[2026-10-20 00:56:15,896.896 INFO    ] 2026-10-20 00:56:15
[2026-10-20 00:56:15,932.932 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:56:16,189.189 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:56:16,200.200 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:56:16,337.337 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:56:16,396.396 INFO    ] time= 20/10/2026 00:56:16
[2026-10-20 00:56:16,446.446 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:56:16,473.473 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:56:16,624.624 INFO    ] No existing commands found in stream
[2026-10-20 00:56:21,638.638 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:56:21,641.641 INFO    ] Waiting 2.74 seconds before fallback handling...
[2026-10-20 00:56:24,870.870 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 00:56:24,873.873 INFO    ] Checking for system updates...
[2026-10-20 00:56:24,909.909 INFO    ] 200
[2026-10-20 00:56:24,912.912 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:56:24,966.966 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:56:24,969.969 INFO    ] No update needed
[2026-10-20 00:56:24,972.972 INFO    ] Checking for camera pi updates...
[2026-10-20 00:56:25,016.016 INFO    ] 200
[2026-10-20 00:56:25,019.019 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:56:25,070.070 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:56:25,119.119 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:56:25,122.122 INFO    ] No camera update needed
[2026-10-20 00:56:25,125.125 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:56:25,128.128 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:56:25,134.134 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:56:25,140.140 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:56:27,180.180 INFO    ] ================================================
[2026-10-20 00:56:27,197.197 INFO    ] Launching Daemon at Tue Oct 20 00:56:27 IST 2026
[2026-10-20 00:56:27,209.209 INFO    ] ================================================
[2026-10-20 00:56:27,889.889 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:56:27
[2026-10-20 00:56:28,529.529 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:56:28,796.796 INFO    ] Initializing speech engine...
[2026-10-20 00:56:28,805.805 INFO    ] 2026-10-20 00:56:28
[2026-10-20 00:56:29,065.065 INFO    ] 2026-10-20 00:56:29
[2026-10-20 00:56:29,118.118 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:56:29,344.344 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:56:29,350.350 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:56:29,572.572 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:56:29,606.606 INFO    ] time= 20/10/2026 00:56:29
[2026-10-20 00:56:29,612.612 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:56:29,630.630 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:56:29,761.761 INFO    ] No existing commands found in stream
[2026-10-20 00:56:34,779.779 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:56:34,782.782 INFO    ] Waiting 0.12 seconds before fallback handling...
[2026-10-20 00:56:35,398.398 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:56:35,401.401 INFO    ] Checking for system updates...
[2026-10-20 00:56:35,436.436 INFO    ] 200
[2026-10-20 00:56:35,439.439 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:56:35,493.493 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:56:35,495.495 INFO    ] No update needed
[2026-10-20 00:56:35,497.497 INFO    ] Checking for camera pi updates...
[2026-10-20 00:56:35,531.531 INFO    ] 200
[2026-10-20 00:56:35,533.533 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:56:35,577.577 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:56:35,625.625 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:56:35,627.627 INFO    ] No camera update needed
[2026-10-20 00:56:35,630.630 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:56:35,632.632 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:56:35,637.637 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:56:35,642.642 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:56:37,688.688 INFO    ] ================================================
[2026-10-20 00:56:37,703.703 INFO    ] Launching Daemon at Tue Oct 20 00:56:37 IST 2026
[2026-10-20 00:56:37,714.714 INFO    ] ================================================
[2026-10-20 00:56:38,281.281 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:56:38
[2026-10-20 00:56:38,866.866 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:56:39,137.137 INFO    ] Initializing speech engine...
[2026-10-20 00:56:39,145.145 INFO    ] 2026-10-20 00:56:39
[2026-10-20 00:56:39,397.397 INFO    ] 2026-10-20 00:56:39
[2026-10-20 00:56:39,432.432 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:56:39,690.690 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:56:39,699.699 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:56:39,838.838 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:56:39,904.904 INFO    ] time= 20/10/2026 00:56:39
[2026-10-20 00:56:39,964.964 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:56:39,976.976 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:56:40,124.124 INFO    ] No existing commands found in stream
[2026-10-20 00:56:45,137.137 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:56:45,140.140 INFO    ] Waiting 2.84 seconds before fallback handling...
[2026-10-20 00:56:48,524.524 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:56:48,527.527 INFO    ] Checking for system updates...
[2026-10-20 00:56:48,562.562 INFO    ] 200
[2026-10-20 00:56:48,565.565 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:56:48,616.616 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:56:48,619.619 INFO    ] No update needed
[2026-10-20 00:56:48,621.621 INFO    ] Checking for camera pi updates...
[2026-10-20 00:56:48,654.654 INFO    ] 200
[2026-10-20 00:56:48,657.657 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:56:48,704.704 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:56:48,748.748 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:56:48,751.751 INFO    ] No camera update needed
[2026-10-20 00:56:48,753.753 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:56:48,755.755 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:56:48,761.761 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:56:48,765.765 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:56:50,807.807 INFO    ] ================================================
[2026-10-20 00:56:50,823.823 INFO    ] Launching Daemon at Tue Oct 20 00:56:50 IST 2026
[2026-10-20 00:56:50,834.834 INFO    ] ================================================
[2026-10-20 00:56:51,400.400 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:56:51
[2026-10-20 00:56:51,984.984 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:56:52,230.230 INFO    ] Initializing speech engine...
[2026-10-20 00:56:52,238.238 INFO    ] 2026-10-20 00:56:52
[2026-10-20 00:56:52,513.513 INFO    ] 2026-10-20 00:56:52
[2026-10-20 00:56:52,546.546 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:56:52,749.749 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:56:52,808.808 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:56:53,012.012 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:56:53,071.071 INFO    ] time= 20/10/2026 00:56:53
[2026-10-20 00:56:53,085.085 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:56:53,101.101 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:56:53,231.231 INFO    ] No existing commands found in stream
[2026-10-20 00:56:58,248.248 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:56:58,251.251 INFO    ] Waiting 1.28 seconds before fallback handling...
[2026-10-20 00:57:00,060.060 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 00:57:00,063.063 INFO    ] Checking for system updates...
[2026-10-20 00:57:00,101.101 INFO    ] 200
[2026-10-20 00:57:00,103.103 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:57:00,156.156 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:57:00,159.159 INFO    ] No update needed
[2026-10-20 00:57:00,162.162 INFO    ] Checking for camera pi updates...
[2026-10-20 00:57:00,198.198 INFO    ] 200
[2026-10-20 00:57:00,201.201 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:57:00,248.248 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:57:00,311.311 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:57:00,314.314 INFO    ] No camera update needed
[2026-10-20 00:57:00,316.316 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:57:00,319.319 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:57:00,326.326 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:57:00,332.332 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:57:02,391.391 INFO    ] ================================================
[2026-10-20 00:57:02,411.411 INFO    ] Launching Daemon at Tue Oct 20 00:57:02 IST 2026
[2026-10-20 00:57:02,429.429 INFO    ] ================================================
[2026-10-20 00:57:03,092.092 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:57:03
[2026-10-20 00:57:03,691.691 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:57:03,964.964 INFO    ] Initializing speech engine...
[2026-10-20 00:57:03,974.974 INFO    ] 2026-10-20 00:57:03
[2026-10-20 00:57:04,236.236 INFO    ] 2026-10-20 00:57:04
[2026-10-20 00:57:04,289.289 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:57:04,517.517 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:57:04,521.521 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:57:04,719.719 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:57:04,779.779 INFO    ] time= 20/10/2026 00:57:04
[2026-10-20 00:57:04,788.788 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:57:04,806.806 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:57:04,938.938 INFO    ] No existing commands found in stream
[2026-10-20 00:57:09,961.961 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:57:09,963.963 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-10-20 00:57:11,980.980 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 00:57:11,983.983 INFO    ] Checking for system updates...
[2026-10-20 00:57:12,019.019 INFO    ] 200
[2026-10-20 00:57:12,021.021 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:57:12,072.072 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:57:12,075.075 INFO    ] No update needed
[2026-10-20 00:57:12,077.077 INFO    ] Checking for camera pi updates...
[2026-10-20 00:57:12,110.110 INFO    ] 200
[2026-10-20 00:57:12,113.113 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:57:12,153.153 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:57:12,198.198 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:57:12,200.200 INFO    ] No camera update needed
[2026-10-20 00:57:12,203.203 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:57:12,205.205 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:57:12,210.210 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:57:12,215.215 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:57:14,256.256 INFO    ] ================================================
[2026-10-20 00:57:14,271.271 INFO    ] Launching Daemon at Tue Oct 20 00:57:14 IST 2026
[2026-10-20 00:57:14,282.282 INFO    ] ================================================
[2026-10-20 00:57:14,852.852 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:57:14
[2026-10-20 00:57:15,437.437 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:57:15,706.706 INFO    ] Initializing speech engine...
[2026-10-20 00:57:15,716.716 INFO    ] 2026-10-20 00:57:15
[2026-10-20 00:57:15,978.978 INFO    ] 2026-10-20 00:57:15
[2026-10-20 00:57:16,013.013 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:57:16,227.227 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:57:16,281.281 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:57:16,447.447 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:57:16,490.490 INFO    ] time= 20/10/2026 00:57:16
[2026-10-20 00:57:16,550.550 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:57:16,595.595 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:57:16,740.740 INFO    ] No existing commands found in stream
[2026-10-20 00:57:21,764.764 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:57:21,767.767 INFO    ] Waiting 0.16 seconds before fallback handling...
[2026-10-20 00:57:22,397.397 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 00:57:22,400.400 INFO    ] Checking for system updates...
[2026-10-20 00:57:22,435.435 INFO    ] 200
[2026-10-20 00:57:22,437.437 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:57:22,505.505 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:57:22,508.508 INFO    ] No update needed
[2026-10-20 00:57:22,510.510 INFO    ] Checking for camera pi updates...
[2026-10-20 00:57:22,546.546 INFO    ] 200
[2026-10-20 00:57:22,549.549 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:57:22,593.593 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:57:22,643.643 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:57:22,645.645 INFO    ] No camera update needed
[2026-10-20 00:57:22,647.647 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:57:22,650.650 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:57:22,655.655 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:57:22,660.660 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:57:24,700.700 INFO    ] ================================================
[2026-10-20 00:57:24,715.715 INFO    ] Launching Daemon at Tue Oct 20 00:57:24 IST 2026
[2026-10-20 00:57:24,726.726 INFO    ] ================================================
[2026-10-20 00:57:25,298.298 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:57:25
[2026-10-20 00:57:25,887.887 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:57:26,160.160 INFO    ] Initializing speech engine...
[2026-10-20 00:57:26,170.170 INFO    ] 2026-10-20 00:57:26
[2026-10-20 00:57:26,419.419 INFO    ] 2026-10-20 00:57:26
[2026-10-20 00:57:26,454.454 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:57:26,712.712 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:57:26,722.722 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:57:26,911.911 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:57:26,965.965 INFO    ] time= 20/10/2026 00:57:26
[2026-10-20 00:57:26,991.991 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:57:27,009.009 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:57:27,146.146 INFO    ] No existing commands found in stream
[2026-10-20 00:57:32,157.157 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:57:32,160.160 INFO    ] Waiting 3.40 seconds before fallback handling...
[2026-10-20 00:57:36,065.065 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 00:57:36,068.068 INFO    ] Checking for system updates...
[2026-10-20 00:57:36,105.105 INFO    ] 200
[2026-10-20 00:57:36,107.107 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:57:36,162.162 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:57:36,165.165 INFO    ] No update needed
[2026-10-20 00:57:36,167.167 INFO    ] Checking for camera pi updates...
[2026-10-20 00:57:36,204.204 INFO    ] 200
[2026-10-20 00:57:36,207.207 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:57:36,252.252 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:57:36,303.303 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:57:36,305.305 INFO    ] No camera update needed
[2026-10-20 00:57:36,308.308 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:57:36,311.311 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:57:36,317.317 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:57:36,322.322 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:57:38,364.364 INFO    ] ================================================
[2026-10-20 00:57:38,379.379 INFO    ] Launching Daemon at Tue Oct 20 00:57:38 IST 2026
[2026-10-20 00:57:38,389.389 INFO    ] ================================================
[2026-10-20 00:57:38,958.958 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:57:38
[2026-10-20 00:57:39,544.544 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:57:39,819.819 INFO    ] Initializing speech engine...
[2026-10-20 00:57:39,824.824 INFO    ] 2026-10-20 00:57:39
[2026-10-20 00:57:40,075.075 INFO    ] 2026-10-20 00:57:40
[2026-10-20 00:57:40,110.110 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:57:40,367.367 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:57:40,376.376 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:57:40,581.581 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:57:40,625.625 INFO    ] time= 20/10/2026 00:57:40
[2026-10-20 00:57:40,646.646 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:57:40,652.652 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:57:40,801.801 INFO    ] No existing commands found in stream
[2026-10-20 00:57:45,813.813 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:57:45,816.816 INFO    ] Waiting 1.15 seconds before fallback handling...
[2026-10-20 00:57:47,453.453 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 00:57:47,456.456 INFO    ] Checking for system updates...
[2026-10-20 00:57:47,491.491 INFO    ] 200
[2026-10-20 00:57:47,493.493 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:57:47,550.550 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:57:47,553.553 INFO    ] No update needed
[2026-10-20 00:57:47,555.555 INFO    ] Checking for camera pi updates...
[2026-10-20 00:57:47,592.592 INFO    ] 200
[2026-10-20 00:57:47,594.594 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:57:47,641.641 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:57:47,690.690 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:57:47,692.692 INFO    ] No camera update needed
[2026-10-20 00:57:47,695.695 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:57:47,697.697 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:57:47,702.702 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:57:47,707.707 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:57:49,746.746 INFO    ] ================================================
[2026-10-20 00:57:49,761.761 INFO    ] Launching Daemon at Tue Oct 20 00:57:49 IST 2026
[2026-10-20 00:57:49,771.771 INFO    ] ================================================
[2026-10-20 00:57:50,335.335 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:57:50
[2026-10-20 00:57:50,917.917 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:57:51,185.185 INFO    ] Initializing speech engine...
[2026-10-20 00:57:51,192.192 INFO    ] 2026-10-20 00:57:51
[2026-10-20 00:57:51,444.444 INFO    ] 2026-10-20 00:57:51
[2026-10-20 00:57:51,478.478 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:57:51,675.675 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:57:51,720.720 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:57:51,882.882 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:57:51,947.947 INFO    ] time= 20/10/2026 00:57:51
[2026-10-20 00:57:52,001.001 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:57:52,016.016 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:57:52,142.142 INFO    ] No existing commands found in stream
[2026-10-20 00:57:57,167.167 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:57:57,170.170 INFO    ] Waiting 3.05 seconds before fallback handling...
[2026-10-20 00:58:00,728.728 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:58:00,731.731 INFO    ] Checking for system updates...
[2026-10-20 00:58:00,767.767 INFO    ] 200
[2026-10-20 00:58:00,770.770 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:58:00,822.822 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:58:00,824.824 INFO    ] No update needed
[2026-10-20 00:58:00,826.826 INFO    ] Checking for camera pi updates...
[2026-10-20 00:58:00,868.868 INFO    ] 200
[2026-10-20 00:58:00,871.871 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:58:00,914.914 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:58:00,965.965 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:58:00,968.968 INFO    ] No camera update needed
[2026-10-20 00:58:00,970.970 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:58:00,972.972 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:58:00,978.978 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:58:00,983.983 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:58:03,025.025 INFO    ] ================================================
[2026-10-20 00:58:03,040.040 INFO    ] Launching Daemon at Tue Oct 20 00:58:03 IST 2026
[2026-10-20 00:58:03,050.050 INFO    ] ================================================
[2026-10-20 00:58:03,615.615 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:58:03
[2026-10-20 00:58:04,197.197 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:58:04,464.464 INFO    ] Initializing speech engine...
[2026-10-20 00:58:04,479.479 INFO    ] 2026-10-20 00:58:04
[2026-10-20 00:58:04,744.744 INFO    ] 2026-10-20 00:58:04
[2026-10-20 00:58:04,778.778 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:58:04,976.976 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:58:04,997.997 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:58:05,146.146 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:58:05,212.212 INFO    ] time= 20/10/2026 00:58:05
[2026-10-20 00:58:05,219.219 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:58:05,279.279 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:58:05,393.393 INFO    ] No existing commands found in stream
[2026-10-20 00:58:10,416.416 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:58:10,419.419 INFO    ] Waiting 3.87 seconds before fallback handling...
[2026-10-20 00:58:14,811.811 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:58:14,813.813 INFO    ] Checking for system updates...
[2026-10-20 00:58:14,849.849 INFO    ] 200
[2026-10-20 00:58:14,852.852 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:58:14,904.904 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:58:14,906.906 INFO    ] No update needed
[2026-10-20 00:58:14,908.908 INFO    ] Checking for camera pi updates...
[2026-10-20 00:58:14,941.941 INFO    ] 200
[2026-10-20 00:58:14,944.944 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:58:14,984.984 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:58:15,033.033 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:58:15,036.036 INFO    ] No camera update needed
[2026-10-20 00:58:15,038.038 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:58:15,040.040 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:58:15,045.045 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:58:15,050.050 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:58:17,091.091 INFO    ] ================================================
[2026-10-20 00:58:17,106.106 INFO    ] Launching Daemon at Tue Oct 20 00:58:17 IST 2026
[2026-10-20 00:58:17,116.116 INFO    ] ================================================
[2026-10-20 00:58:17,750.750 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:58:17
[2026-10-20 00:58:18,348.348 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:58:18,651.651 INFO    ] Initializing speech engine...
[2026-10-20 00:58:18,657.657 INFO    ] 2026-10-20 00:58:18
[2026-10-20 00:58:18,962.962 INFO    ] 2026-10-20 00:58:18
[2026-10-20 00:58:19,049.049 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:58:19,261.261 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:58:19,270.270 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:58:19,461.461 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:58:19,467.467 INFO    ] time= 20/10/2026 00:58:19
[2026-10-20 00:58:19,485.485 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:58:19,508.508 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:58:19,621.621 INFO    ] No existing commands found in stream
[2026-10-20 00:58:24,642.642 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:58:24,645.645 INFO    ] Waiting 3.46 seconds before fallback handling...
[2026-10-20 00:58:28,631.631 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:58:28,634.634 INFO    ] Checking for system updates...
[2026-10-20 00:58:28,671.671 INFO    ] 200
[2026-10-20 00:58:28,673.673 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:58:28,725.725 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:58:28,728.728 INFO    ] No update needed
[2026-10-20 00:58:28,731.731 INFO    ] Checking for camera pi updates...
[2026-10-20 00:58:28,765.765 INFO    ] 200
[2026-10-20 00:58:28,767.767 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:58:28,816.816 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:58:28,877.877 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:58:28,880.880 INFO    ] No camera update needed
[2026-10-20 00:58:28,882.882 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:58:28,885.885 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:58:28,891.891 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:58:28,896.896 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:58:30,938.938 INFO    ] ================================================
[2026-10-20 00:58:30,952.952 INFO    ] Launching Daemon at Tue Oct 20 00:58:30 IST 2026
[2026-10-20 00:58:30,963.963 INFO    ] ================================================
[2026-10-20 00:58:31,624.624 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:58:31
[2026-10-20 00:58:32,266.266 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:58:32,584.584 INFO    ] Initializing speech engine...
[2026-10-20 00:58:32,592.592 INFO    ] 2026-10-20 00:58:32
[2026-10-20 00:58:32,858.858 INFO    ] 2026-10-20 00:58:32
[2026-10-20 00:58:32,963.963 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:58:33,181.181 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:58:33,188.188 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:58:33,388.388 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:58:33,395.395 INFO    ] time= 20/10/2026 00:58:33
[2026-10-20 00:58:33,413.413 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:58:33,443.443 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:58:33,552.552 INFO    ] No existing commands found in stream
[2026-10-20 00:58:38,575.575 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:58:38,578.578 INFO    ] Waiting 1.29 seconds before fallback handling...
[2026-10-20 00:58:40,374.374 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:58:40,377.377 INFO    ] Checking for system updates...
[2026-10-20 00:58:40,413.413 INFO    ] 200
[2026-10-20 00:58:40,415.415 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:58:40,473.473 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:58:40,476.476 INFO    ] No update needed
[2026-10-20 00:58:40,479.479 INFO    ] Checking for camera pi updates...
[2026-10-20 00:58:40,516.516 INFO    ] 200
[2026-10-20 00:58:40,519.519 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:58:40,566.566 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:58:40,630.630 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:58:40,633.633 INFO    ] No camera update needed
[2026-10-20 00:58:40,635.635 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:58:40,637.637 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:58:40,643.643 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:58:40,648.648 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:58:42,688.688 INFO    ] ================================================
[2026-10-20 00:58:42,702.702 INFO    ] Launching Daemon at Tue Oct 20 00:58:42 IST 2026
[2026-10-20 00:58:42,713.713 INFO    ] ================================================
[2026-10-20 00:58:43,353.353 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:58:43
[2026-10-20 00:58:44,008.008 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:58:44,308.308 INFO    ] Initializing speech engine...
[2026-10-20 00:58:44,316.316 INFO    ] 2026-10-20 00:58:44
[2026-10-20 00:58:44,601.601 INFO    ] 2026-10-20 00:58:44
[2026-10-20 00:58:44,647.647 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:58:44,935.935 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:58:44,944.944 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:58:45,144.144 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:58:45,151.151 INFO    ] time= 20/10/2026 00:58:45
[2026-10-20 00:58:45,174.174 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:58:45,200.200 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:58:45,345.345 INFO    ] No existing commands found in stream
[2026-10-20 00:58:50,376.376 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:58:50,379.379 INFO    ] Waiting 2.34 seconds before fallback handling...
[2026-10-20 00:58:53,276.276 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:58:53,279.279 INFO    ] Checking for system updates...
[2026-10-20 00:58:53,318.318 INFO    ] 200
[2026-10-20 00:58:53,321.321 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:58:53,375.375 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:58:53,377.377 INFO    ] No update needed
[2026-10-20 00:58:53,380.380 INFO    ] Checking for camera pi updates...
[2026-10-20 00:58:53,415.415 INFO    ] 200
[2026-10-20 00:58:53,417.417 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:58:53,459.459 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:58:53,502.502 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:58:53,505.505 INFO    ] No camera update needed
[2026-10-20 00:58:53,507.507 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:58:53,510.510 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:58:53,516.516 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:58:53,522.522 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:58:55,562.562 INFO    ] ================================================
[2026-10-20 00:58:55,577.577 INFO    ] Launching Daemon at Tue Oct 20 00:58:55 IST 2026
[2026-10-20 00:58:55,587.587 INFO    ] ================================================
[2026-10-20 00:58:56,152.152 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:58:56
[2026-10-20 00:58:56,733.733 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:58:56,981.981 INFO    ] Initializing speech engine...
[2026-10-20 00:58:57,003.003 INFO    ] 2026-10-20 00:58:56
[2026-10-20 00:58:57,253.253 INFO    ] 2026-10-20 00:58:57
[2026-10-20 00:58:57,286.286 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:58:57,502.502 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:58:57,566.566 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:58:57,720.720 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:58:57,726.726 INFO    ] time= 20/10/2026 00:58:57
[2026-10-20 00:58:57,781.781 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:58:57,824.824 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:58:57,997.997 INFO    ] No existing commands found in stream
[2026-10-20 00:59:03,011.011 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:59:03,014.014 INFO    ] Waiting 1.58 seconds before fallback handling...
[2026-10-20 00:59:05,089.089 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 00:59:05,091.091 INFO    ] Checking for system updates...
[2026-10-20 00:59:05,127.127 INFO    ] 200
[2026-10-20 00:59:05,129.129 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:59:05,181.181 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:59:05,183.183 INFO    ] No update needed
[2026-10-20 00:59:05,186.186 INFO    ] Checking for camera pi updates...
[2026-10-20 00:59:05,226.226 INFO    ] 200
[2026-10-20 00:59:05,228.228 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:59:05,271.271 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:59:05,319.319 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:59:05,321.321 INFO    ] No camera update needed
[2026-10-20 00:59:05,324.324 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:59:05,326.326 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:59:05,331.331 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:59:05,336.336 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:59:07,376.376 INFO    ] ================================================
[2026-10-20 00:59:07,391.391 INFO    ] Launching Daemon at Tue Oct 20 00:59:07 IST 2026
[2026-10-20 00:59:07,401.401 INFO    ] ================================================
[2026-10-20 00:59:07,984.984 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:59:07
[2026-10-20 00:59:08,585.585 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:59:08,858.858 INFO    ] Initializing speech engine...
[2026-10-20 00:59:08,867.867 INFO    ] 2026-10-20 00:59:08
[2026-10-20 00:59:09,128.128 INFO    ] 2026-10-20 00:59:09
[2026-10-20 00:59:09,166.166 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:59:09,356.356 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:59:09,372.372 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:59:09,534.534 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:59:09,542.542 INFO    ] time= 20/10/2026 00:59:09
[2026-10-20 00:59:09,585.585 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:59:09,615.615 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:59:09,742.742 INFO    ] No existing commands found in stream
[2026-10-20 00:59:14,766.766 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:59:14,769.769 INFO    ] Waiting 1.69 seconds before fallback handling...
[2026-10-20 00:59:16,965.965 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:59:16,967.967 INFO    ] Checking for system updates...
[2026-10-20 00:59:17,002.002 INFO    ] 200
[2026-10-20 00:59:17,005.005 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:59:17,057.057 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:59:17,059.059 INFO    ] No update needed
[2026-10-20 00:59:17,062.062 INFO    ] Checking for camera pi updates...
[2026-10-20 00:59:17,097.097 INFO    ] 200
[2026-10-20 00:59:17,100.100 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:59:17,140.140 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:59:17,185.185 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:59:17,188.188 INFO    ] No camera update needed
[2026-10-20 00:59:17,190.190 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:59:17,193.193 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:59:17,198.198 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:59:17,203.203 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:59:19,243.243 INFO    ] ================================================
[2026-10-20 00:59:19,258.258 INFO    ] Launching Daemon at Tue Oct 20 00:59:19 IST 2026
[2026-10-20 00:59:19,269.269 INFO    ] ================================================
[2026-10-20 00:59:19,899.899 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:59:19
[2026-10-20 00:59:20,547.547 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:59:20,840.840 INFO    ] Initializing speech engine...
[2026-10-20 00:59:20,849.849 INFO    ] 2026-10-20 00:59:20
[2026-10-20 00:59:21,118.118 INFO    ] 2026-10-20 00:59:21
[2026-10-20 00:59:21,154.154 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:59:21,414.414 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:59:21,436.436 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:59:21,633.633 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:59:21,681.681 INFO    ] time= 20/10/2026 00:59:21
[2026-10-20 00:59:21,687.687 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:59:21,706.706 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:59:21,837.837 INFO    ] No existing commands found in stream
[2026-10-20 00:59:26,852.852 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:59:26,855.855 INFO    ] Waiting 3.38 seconds before fallback handling...
[2026-10-20 00:59:30,765.765 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 00:59:30,768.768 INFO    ] Checking for system updates...
[2026-10-20 00:59:30,805.805 INFO    ] 200
[2026-10-20 00:59:30,808.808 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:59:30,861.861 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:59:30,864.864 INFO    ] No update needed
[2026-10-20 00:59:30,866.866 INFO    ] Checking for camera pi updates...
[2026-10-20 00:59:30,901.901 INFO    ] 200
[2026-10-20 00:59:30,904.904 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:59:30,945.945 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:59:30,996.996 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 00:59:30,999.999 INFO    ] No camera update needed
[2026-10-20 00:59:31,002.002 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:59:31,004.004 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:59:31,011.011 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:59:31,016.016 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:59:33,058.058 INFO    ] ================================================
[2026-10-20 00:59:33,076.076 INFO    ] Launching Daemon at Tue Oct 20 00:59:33 IST 2026
[2026-10-20 00:59:33,087.087 INFO    ] ================================================
[2026-10-20 00:59:33,655.655 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:59:33
[2026-10-20 00:59:34,238.238 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:59:34,510.510 INFO    ] Initializing speech engine...
[2026-10-20 00:59:34,520.520 INFO    ] 2026-10-20 00:59:34
[2026-10-20 00:59:34,768.768 INFO    ] 2026-10-20 00:59:34
[2026-10-20 00:59:34,804.804 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:59:35,004.004 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:59:35,046.046 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:59:35,259.259 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:59:35,298.298 INFO    ] time= 20/10/2026 00:59:35
[2026-10-20 00:59:35,336.336 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:59:35,343.343 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:59:35,478.478 INFO    ] No existing commands found in stream
[2026-10-20 00:59:40,499.499 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:59:40,502.502 INFO    ] Waiting 3.01 seconds before fallback handling...
[2026-10-20 00:59:44,646.646 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 00:59:44,649.649 INFO    ] Checking for system updates...
[2026-10-20 00:59:44,686.686 INFO    ] 200
[2026-10-20 00:59:44,688.688 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:59:44,741.741 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:59:44,744.744 INFO    ] No update needed
[2026-10-20 00:59:44,746.746 INFO    ] Checking for camera pi updates...
[2026-10-20 00:59:44,780.780 INFO    ] 200
[2026-10-20 00:59:44,783.783 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:59:44,828.828 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:59:44,876.876 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:59:44,879.879 INFO    ] No camera update needed
[2026-10-20 00:59:44,881.881 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:59:44,883.883 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:59:44,889.889 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:59:44,893.893 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:59:46,934.934 INFO    ] ================================================
[2026-10-20 00:59:46,949.949 INFO    ] Launching Daemon at Tue Oct 20 00:59:46 IST 2026
[2026-10-20 00:59:46,960.960 INFO    ] ================================================
[2026-10-20 00:59:47,531.531 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:59:47
[2026-10-20 00:59:48,130.130 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 00:59:48,408.408 INFO    ] Initializing speech engine...
[2026-10-20 00:59:48,415.415 INFO    ] 2026-10-20 00:59:48
[2026-10-20 00:59:48,675.675 INFO    ] 2026-10-20 00:59:48
[2026-10-20 00:59:48,705.705 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 00:59:48,949.949 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 00:59:48,958.958 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 00:59:49,107.107 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 00:59:49,173.173 INFO    ] time= 20/10/2026 00:59:49
[2026-10-20 00:59:49,219.219 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 00:59:49,225.225 INFO    ] Checking for existing commands in stream...
[2026-10-20 00:59:49,366.366 INFO    ] No existing commands found in stream
[2026-10-20 00:59:54,380.380 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 00:59:54,383.383 INFO    ] Waiting 1.48 seconds before fallback handling...
[2026-10-20 00:59:56,430.430 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 00:59:56,432.432 INFO    ] Checking for system updates...
[2026-10-20 00:59:56,468.468 INFO    ] 200
[2026-10-20 00:59:56,471.471 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:59:56,529.529 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:59:56,531.531 INFO    ] No update needed
[2026-10-20 00:59:56,534.534 INFO    ] Checking for camera pi updates...
[2026-10-20 00:59:56,567.567 INFO    ] 200
[2026-10-20 00:59:56,570.570 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 00:59:56,614.614 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 00:59:56,669.669 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 00:59:56,671.671 INFO    ] No camera update needed
[2026-10-20 00:59:56,674.674 INFO    ] Script finished. Safe exiting...
[2026-10-20 00:59:56,676.676 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 00:59:56,681.681 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 00:59:56,686.686 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 00:59:58,726.726 INFO    ] ================================================
[2026-10-20 00:59:58,745.745 INFO    ] Launching Daemon at Tue Oct 20 00:59:58 IST 2026
[2026-10-20 00:59:58,755.755 INFO    ] ================================================
[2026-10-20 00:59:59,324.324 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 00:59:59
[2026-10-20 00:59:59,909.909 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:00:00,179.179 INFO    ] Initializing speech engine...
[2026-10-20 01:00:00,194.194 INFO    ] 2026-10-20 01:00:00
[2026-10-20 01:00:00,466.466 INFO    ] 2026-10-20 01:00:00
[2026-10-20 01:00:00,502.502 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:00:00,723.723 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:00:00,731.731 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:00:00,949.949 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:00:00,956.956 INFO    ] time= 20/10/2026 01:00:00
[2026-10-20 01:00:01,010.010 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:00:01,070.070 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:00:01,233.233 INFO    ] No existing commands found in stream
[2026-10-20 01:00:06,262.262 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:00:06,265.265 INFO    ] Waiting 2.41 seconds before fallback handling...
[2026-10-20 01:00:09,562.562 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 01:00:09,565.565 INFO    ] Checking for system updates...
[2026-10-20 01:00:09,601.601 INFO    ] 200
[2026-10-20 01:00:09,603.603 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:00:09,654.654 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:00:09,657.657 INFO    ] No update needed
[2026-10-20 01:00:09,659.659 INFO    ] Checking for camera pi updates...
[2026-10-20 01:00:09,693.693 INFO    ] 200
[2026-10-20 01:00:09,695.695 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:00:09,735.735 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:00:09,781.781 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:00:09,784.784 INFO    ] No camera update needed
[2026-10-20 01:00:09,786.786 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:00:09,788.788 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:00:09,794.794 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:00:09,799.799 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:00:11,839.839 INFO    ] ================================================
[2026-10-20 01:00:11,854.854 INFO    ] Launching Daemon at Tue Oct 20 01:00:11 IST 2026
[2026-10-20 01:00:11,864.864 INFO    ] ================================================
[2026-10-20 01:00:12,519.519 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:00:12
[2026-10-20 01:00:13,234.234 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:00:13,553.553 INFO    ] Initializing speech engine...
[2026-10-20 01:00:13,564.564 INFO    ] 2026-10-20 01:00:13
[2026-10-20 01:00:13,827.827 INFO    ] 2026-10-20 01:00:13
[2026-10-20 01:00:13,893.893 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:00:14,124.124 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:00:14,133.133 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:00:14,341.341 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:00:14,398.398 INFO    ] time= 20/10/2026 01:00:14
[2026-10-20 01:00:14,404.404 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:00:14,423.423 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:00:14,553.553 INFO    ] No existing commands found in stream
[2026-10-20 01:00:19,568.568 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:00:19,572.572 INFO    ] Waiting 1.05 seconds before fallback handling...
[2026-10-20 01:00:21,172.172 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:00:21,176.176 INFO    ] Checking for system updates...
[2026-10-20 01:00:21,217.217 INFO    ] 200
[2026-10-20 01:00:21,220.220 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:00:21,279.279 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:00:21,283.283 INFO    ] No update needed
[2026-10-20 01:00:21,286.286 INFO    ] Checking for camera pi updates...
[2026-10-20 01:00:21,323.323 INFO    ] 200
[2026-10-20 01:00:21,326.326 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:00:21,372.372 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:00:21,418.418 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:00:21,421.421 INFO    ] No camera update needed
[2026-10-20 01:00:21,424.424 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:00:21,427.427 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:00:21,433.433 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:00:21,439.439 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:00:23,481.481 INFO    ] ================================================
[2026-10-20 01:00:23,497.497 INFO    ] Launching Daemon at Tue Oct 20 01:00:23 IST 2026
[2026-10-20 01:00:23,508.508 INFO    ] ================================================
[2026-10-20 01:00:24,127.127 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:00:24
[2026-10-20 01:00:24,738.738 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:00:25,035.035 INFO    ] Initializing speech engine...
[2026-10-20 01:00:25,044.044 INFO    ] 2026-10-20 01:00:25
[2026-10-20 01:00:25,308.308 INFO    ] 2026-10-20 01:00:25
[2026-10-20 01:00:25,361.361 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:00:25,628.628 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:00:25,651.651 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:00:25,845.845 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:00:25,862.862 INFO    ] time= 20/10/2026 01:00:25
[2026-10-20 01:00:25,873.873 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:00:25,902.902 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:00:26,016.016 INFO    ] No existing commands found in stream
[2026-10-20 01:00:31,046.046 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:00:31,049.049 INFO    ] Waiting 2.89 seconds before fallback handling...
[2026-10-20 01:00:34,441.441 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:00:34,444.444 INFO    ] Checking for system updates...
[2026-10-20 01:00:34,482.482 INFO    ] 200
[2026-10-20 01:00:34,485.485 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:00:34,537.537 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:00:34,540.540 INFO    ] No update needed
[2026-10-20 01:00:34,543.543 INFO    ] Checking for camera pi updates...
[2026-10-20 01:00:34,577.577 INFO    ] 200
[2026-10-20 01:00:34,580.580 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:00:34,621.621 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:00:34,673.673 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:00:34,675.675 INFO    ] No camera update needed
[2026-10-20 01:00:34,678.678 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:00:34,680.680 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:00:34,686.686 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:00:34,691.691 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:00:36,731.731 INFO    ] ================================================
[2026-10-20 01:00:36,747.747 INFO    ] Launching Daemon at Tue Oct 20 01:00:36 IST 2026
[2026-10-20 01:00:36,758.758 INFO    ] ================================================
[2026-10-20 01:00:37,344.344 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:00:37
[2026-10-20 01:00:37,942.942 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:00:38,217.217 INFO    ] Initializing speech engine...
[2026-10-20 01:00:38,227.227 INFO    ] 2026-10-20 01:00:38
[2026-10-20 01:00:38,486.486 INFO    ] 2026-10-20 01:00:38
[2026-10-20 01:00:38,521.521 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:00:38,744.744 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:00:38,809.809 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:00:38,965.965 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:00:38,987.987 INFO    ] time= 20/10/2026 01:00:38
[2026-10-20 01:00:39,052.052 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:00:39,111.111 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:00:39,247.247 INFO    ] No existing commands found in stream
[2026-10-20 01:00:44,274.274 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:00:44,277.277 INFO    ] Waiting 1.91 seconds before fallback handling...
[2026-10-20 01:00:46,687.687 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:00:46,690.690 INFO    ] Checking for system updates...
[2026-10-20 01:00:46,725.725 INFO    ] 200
[2026-10-20 01:00:46,728.728 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:00:46,779.779 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:00:46,782.782 INFO    ] No update needed
[2026-10-20 01:00:46,784.784 INFO    ] Checking for camera pi updates...
[2026-10-20 01:00:46,821.821 INFO    ] 200
[2026-10-20 01:00:46,824.824 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:00:46,866.866 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:00:46,904.904 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:00:46,907.907 INFO    ] No camera update needed
[2026-10-20 01:00:46,909.909 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:00:46,911.911 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:00:46,917.917 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:00:46,922.922 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:00:48,963.963 INFO    ] ================================================
[2026-10-20 01:00:48,979.979 INFO    ] Launching Daemon at Tue Oct 20 01:00:48 IST 2026
[2026-10-20 01:00:48,992.992 INFO    ] ================================================
[2026-10-20 01:00:49,683.683 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:00:49
[2026-10-20 01:00:50,313.313 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:00:50,605.605 INFO    ] Initializing speech engine...
[2026-10-20 01:00:50,614.614 INFO    ] 2026-10-20 01:00:50
[2026-10-20 01:00:50,882.882 INFO    ] 2026-10-20 01:00:50
[2026-10-20 01:00:50,921.921 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:00:51,179.179 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:00:51,188.188 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:00:51,324.324 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:00:51,372.372 INFO    ] time= 20/10/2026 01:00:51
[2026-10-20 01:00:51,416.416 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:00:51,462.462 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:00:51,613.613 INFO    ] No existing commands found in stream
[2026-10-20 01:00:56,626.626 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:00:56,629.629 INFO    ] Waiting 1.86 seconds before fallback handling...
[2026-10-20 01:00:58,981.981 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:00:58,984.984 INFO    ] Checking for system updates...
[2026-10-20 01:00:59,019.019 INFO    ] 200
[2026-10-20 01:00:59,022.022 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:00:59,073.073 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:00:59,075.075 INFO    ] No update needed
[2026-10-20 01:00:59,078.078 INFO    ] Checking for camera pi updates...
[2026-10-20 01:00:59,111.111 INFO    ] 200
[2026-10-20 01:00:59,114.114 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:00:59,154.154 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:00:59,202.202 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:00:59,204.204 INFO    ] No camera update needed
[2026-10-20 01:00:59,207.207 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:00:59,209.209 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:00:59,214.214 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:00:59,219.219 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:01:01,286.286 INFO    ] ================================================
[2026-10-20 01:01:01,325.325 INFO    ] Launching Daemon at Tue Oct 20 01:01:01 IST 2026
[2026-10-20 01:01:01,342.342 INFO    ] ================================================
[2026-10-20 01:01:02,127.127 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:01:02
[2026-10-20 01:01:02,794.794 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:01:03,101.101 INFO    ] Initializing speech engine...
[2026-10-20 01:01:03,108.108 INFO    ] 2026-10-20 01:01:03
[2026-10-20 01:01:03,376.376 INFO    ] 2026-10-20 01:01:03
[2026-10-20 01:01:03,411.411 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:01:03,670.670 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:01:03,675.675 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:01:03,889.889 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:01:03,932.932 INFO    ] time= 20/10/2026 01:01:03
[2026-10-20 01:01:03,938.938 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:01:03,956.956 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:01:04,083.083 INFO    ] No existing commands found in stream
[2026-10-20 01:01:09,098.098 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:01:09,101.101 INFO    ] Waiting 0.16 seconds before fallback handling...
[2026-10-20 01:01:09,758.758 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:01:09,761.761 INFO    ] Checking for system updates...
[2026-10-20 01:01:09,796.796 INFO    ] 200
[2026-10-20 01:01:09,799.799 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:01:09,854.854 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:01:09,857.857 INFO    ] No update needed
[2026-10-20 01:01:09,859.859 INFO    ] Checking for camera pi updates...
[2026-10-20 01:01:09,892.892 INFO    ] 200
[2026-10-20 01:01:09,894.894 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:01:09,934.934 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:01:09,987.987 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:01:09,990.990 INFO    ] No camera update needed
[2026-10-20 01:01:09,992.992 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:01:09,994.994 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:01:10,000.000 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:01:10,005.005 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:01:12,046.046 INFO    ] ================================================
[2026-10-20 01:01:12,061.061 INFO    ] Launching Daemon at Tue Oct 20 01:01:12 IST 2026
[2026-10-20 01:01:12,072.072 INFO    ] ================================================
[2026-10-20 01:01:12,713.713 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:01:12
[2026-10-20 01:01:13,375.375 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:01:13,687.687 INFO    ] Initializing speech engine...
[2026-10-20 01:01:13,700.700 INFO    ] 2026-10-20 01:01:13
[2026-10-20 01:01:13,980.980 INFO    ] 2026-10-20 01:01:13
[2026-10-20 01:01:14,025.025 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:01:14,317.317 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:01:14,348.348 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:01:14,519.519 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:01:14,540.540 INFO    ] time= 20/10/2026 01:01:14
[2026-10-20 01:01:14,566.566 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:01:14,574.574 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:01:14,717.717 INFO    ] No existing commands found in stream
[2026-10-20 01:01:19,743.743 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:01:19,746.746 INFO    ] Waiting 0.35 seconds before fallback handling...
[2026-10-20 01:01:20,610.610 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 01:01:20,613.613 INFO    ] Checking for system updates...
[2026-10-20 01:01:20,649.649 INFO    ] 200
[2026-10-20 01:01:20,652.652 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:01:20,704.704 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:01:20,706.706 INFO    ] No update needed
[2026-10-20 01:01:20,709.709 INFO    ] Checking for camera pi updates...
[2026-10-20 01:01:20,742.742 INFO    ] 200
[2026-10-20 01:01:20,745.745 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:01:20,785.785 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:01:20,834.834 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:01:20,836.836 INFO    ] No camera update needed
[2026-10-20 01:01:20,839.839 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:01:20,841.841 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:01:20,847.847 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:01:20,852.852 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:01:22,891.891 INFO    ] ================================================
[2026-10-20 01:01:22,906.906 INFO    ] Launching Daemon at Tue Oct 20 01:01:22 IST 2026
[2026-10-20 01:01:22,916.916 INFO    ] ================================================
[2026-10-20 01:01:23,564.564 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:01:23
[2026-10-20 01:01:24,234.234 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:01:24,534.534 INFO    ] Initializing speech engine...
[2026-10-20 01:01:24,543.543 INFO    ] 2026-10-20 01:01:24
[2026-10-20 01:01:24,829.829 INFO    ] 2026-10-20 01:01:24
[2026-10-20 01:01:24,874.874 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:01:25,162.162 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:01:25,167.167 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:01:25,363.363 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:01:25,371.371 INFO    ] time= 20/10/2026 01:01:25
[2026-10-20 01:01:25,389.389 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:01:25,407.407 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:01:25,541.541 INFO    ] No existing commands found in stream
[2026-10-20 01:01:30,572.572 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:01:30,575.575 INFO    ] Waiting 3.49 seconds before fallback handling...
[2026-10-20 01:01:34,569.569 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:01:34,572.572 INFO    ] Checking for system updates...
[2026-10-20 01:01:34,608.608 INFO    ] 200
[2026-10-20 01:01:34,611.611 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:01:34,663.663 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:01:34,666.666 INFO    ] No update needed
[2026-10-20 01:01:34,668.668 INFO    ] Checking for camera pi updates...
[2026-10-20 01:01:34,702.702 INFO    ] 200
[2026-10-20 01:01:34,704.704 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:01:34,745.745 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:01:34,789.789 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:01:34,792.792 INFO    ] No camera update needed
[2026-10-20 01:01:34,794.794 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:01:34,796.796 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:01:34,802.802 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:01:34,807.807 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:01:36,846.846 INFO    ] ================================================
[2026-10-20 01:01:36,861.861 INFO    ] Launching Daemon at Tue Oct 20 01:01:36 IST 2026
[2026-10-20 01:01:36,871.871 INFO    ] ================================================
[2026-10-20 01:01:37,545.545 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:01:37
[2026-10-20 01:01:38,222.222 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:01:38,489.489 INFO    ] Initializing speech engine...
[2026-10-20 01:01:38,501.501 INFO    ] 2026-10-20 01:01:38
[2026-10-20 01:01:38,753.753 INFO    ] 2026-10-20 01:01:38
[2026-10-20 01:01:38,789.789 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:01:38,987.987 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:01:39,027.027 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:01:39,195.195 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:01:39,259.259 INFO    ] time= 20/10/2026 01:01:39
[2026-10-20 01:01:39,319.319 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:01:39,332.332 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:01:39,470.470 INFO    ] No existing commands found in stream
[2026-10-20 01:01:44,492.492 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:01:44,495.495 INFO    ] Waiting 0.11 seconds before fallback handling...
[2026-10-20 01:01:45,106.106 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:01:45,109.109 INFO    ] Checking for system updates...
[2026-10-20 01:01:45,146.146 INFO    ] 200
[2026-10-20 01:01:45,148.148 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:01:45,202.202 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:01:45,204.204 INFO    ] No update needed
[2026-10-20 01:01:45,207.207 INFO    ] Checking for camera pi updates...
[2026-10-20 01:01:45,243.243 INFO    ] 200
[2026-10-20 01:01:45,246.246 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:01:45,286.286 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:01:45,333.333 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:01:45,335.335 INFO    ] No camera update needed
[2026-10-20 01:01:45,337.337 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:01:45,340.340 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:01:45,345.345 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:01:45,350.350 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:01:47,390.390 INFO    ] ================================================
[2026-10-20 01:01:47,405.405 INFO    ] Launching Daemon at Tue Oct 20 01:01:47 IST 2026
[2026-10-20 01:01:47,415.415 INFO    ] ================================================
[2026-10-20 01:01:47,980.980 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:01:47
[2026-10-20 01:01:48,562.562 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:01:48,833.833 INFO    ] Initializing speech engine...
[2026-10-20 01:01:48,841.841 INFO    ] 2026-10-20 01:01:48
[2026-10-20 01:01:49,094.094 INFO    ] 2026-10-20 01:01:49
[2026-10-20 01:01:49,129.129 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:01:49,324.324 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:01:49,373.373 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:01:49,529.529 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:01:49,599.599 INFO    ] time= 20/10/2026 01:01:49
[2026-10-20 01:01:49,653.653 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:01:49,663.663 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:01:49,803.803 INFO    ] No existing commands found in stream
[2026-10-20 01:01:54,819.819 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:01:54,822.822 INFO    ] Waiting 3.75 seconds before fallback handling...
[2026-10-20 01:01:59,095.095 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 01:01:59,097.097 INFO    ] Checking for system updates...
[2026-10-20 01:01:59,133.133 INFO    ] 200
[2026-10-20 01:01:59,136.136 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:01:59,192.192 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:01:59,194.194 INFO    ] No update needed
[2026-10-20 01:01:59,197.197 INFO    ] Checking for camera pi updates...
[2026-10-20 01:01:59,230.230 INFO    ] 200
[2026-10-20 01:01:59,233.233 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:01:59,278.278 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:01:59,322.322 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:01:59,325.325 INFO    ] No camera update needed
[2026-10-20 01:01:59,327.327 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:01:59,329.329 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:01:59,335.335 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:01:59,340.340 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:02:01,393.393 INFO    ] ================================================
[2026-10-20 01:02:01,431.431 INFO    ] Launching Daemon at Tue Oct 20 01:02:01 IST 2026
[2026-10-20 01:02:01,450.450 INFO    ] ================================================
[2026-10-20 01:02:02,117.117 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:02:02
[2026-10-20 01:02:02,906.906 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:02:03,250.250 INFO    ] Initializing speech engine...
[2026-10-20 01:02:03,253.253 INFO    ] 2026-10-20 01:02:03
[2026-10-20 01:02:03,526.526 INFO    ] 2026-10-20 01:02:03
[2026-10-20 01:02:03,565.565 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:02:03,788.788 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:02:03,848.848 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:02:04,027.027 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:02:04,082.082 INFO    ] time= 20/10/2026 01:02:04
[2026-10-20 01:02:04,131.131 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:02:04,176.176 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:02:04,306.306 INFO    ] No existing commands found in stream
[2026-10-20 01:02:09,329.329 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:02:09,332.332 INFO    ] Waiting 0.04 seconds before fallback handling...
[2026-10-20 01:02:09,875.875 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:02:09,877.877 INFO    ] Checking for system updates...
[2026-10-20 01:02:09,914.914 INFO    ] 200
[2026-10-20 01:02:09,916.916 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:02:09,971.971 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:02:09,974.974 INFO    ] No update needed
[2026-10-20 01:02:09,976.976 INFO    ] Checking for camera pi updates...
[2026-10-20 01:02:10,014.014 INFO    ] 200
[2026-10-20 01:02:10,016.016 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:02:10,062.062 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:02:10,216.216 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:02:10,219.219 INFO    ] No camera update needed
[2026-10-20 01:02:10,222.222 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:02:10,225.225 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:02:10,231.231 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:02:10,237.237 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:02:12,279.279 INFO    ] ================================================
[2026-10-20 01:02:12,295.295 INFO    ] Launching Daemon at Tue Oct 20 01:02:12 IST 2026
[2026-10-20 01:02:12,306.306 INFO    ] ================================================
[2026-10-20 01:02:12,871.871 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:02:12
[2026-10-20 01:02:13,457.457 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:02:13,717.717 INFO    ] Initializing speech engine...
[2026-10-20 01:02:13,723.723 INFO    ] 2026-10-20 01:02:13
[2026-10-20 01:02:14,023.023 INFO    ] 2026-10-20 01:02:13
[2026-10-20 01:02:14,059.059 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:02:14,261.261 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:02:14,277.277 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:02:14,445.445 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:02:14,450.450 INFO    ] time= 20/10/2026 01:02:14
[2026-10-20 01:02:14,457.457 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:02:14,489.489 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:02:14,655.655 INFO    ] No existing commands found in stream
[2026-10-20 01:02:19,680.680 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:02:19,683.683 INFO    ] Waiting 2.60 seconds before fallback handling...
[2026-10-20 01:02:22,790.790 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:02:22,793.793 INFO    ] Checking for system updates...
[2026-10-20 01:02:22,831.831 INFO    ] 200
[2026-10-20 01:02:22,833.833 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:02:22,886.886 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:02:22,889.889 INFO    ] No update needed
[2026-10-20 01:02:22,892.892 INFO    ] Checking for camera pi updates...
[2026-10-20 01:02:22,926.926 INFO    ] 200
[2026-10-20 01:02:22,928.928 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:02:22,971.971 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:02:23,020.020 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:02:23,022.022 INFO    ] No camera update needed
[2026-10-20 01:02:23,025.025 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:02:23,029.029 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:02:23,036.036 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:02:23,042.042 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:02:25,083.083 INFO    ] ================================================
[2026-10-20 01:02:25,100.100 INFO    ] Launching Daemon at Tue Oct 20 01:02:25 IST 2026
[2026-10-20 01:02:25,111.111 INFO    ] ================================================
[2026-10-20 01:02:25,748.748 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:02:25
[2026-10-20 01:02:26,334.334 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:02:26,586.586 INFO    ] Initializing speech engine...
[2026-10-20 01:02:26,592.592 INFO    ] 2026-10-20 01:02:26
[2026-10-20 01:02:26,895.895 INFO    ] 2026-10-20 01:02:26
[2026-10-20 01:02:26,936.936 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:02:27,144.144 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:02:27,162.162 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:02:27,327.327 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:02:27,336.336 INFO    ] time= 20/10/2026 01:02:27
[2026-10-20 01:02:27,341.341 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:02:27,348.348 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:02:27,425.425 INFO    ] No existing commands found in stream
[2026-10-20 01:02:32,446.446 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:02:32,450.450 INFO    ] Waiting 0.26 seconds before fallback handling...
[2026-10-20 01:02:33,204.204 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:02:33,206.206 INFO    ] Checking for system updates...
[2026-10-20 01:02:33,244.244 INFO    ] 200
[2026-10-20 01:02:33,247.247 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:02:33,307.307 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:02:33,310.310 INFO    ] No update needed
[2026-10-20 01:02:33,313.313 INFO    ] Checking for camera pi updates...
[2026-10-20 01:02:33,352.352 INFO    ] 200
[2026-10-20 01:02:33,355.355 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:02:33,401.401 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:02:33,457.457 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:02:33,460.460 INFO    ] No camera update needed
[2026-10-20 01:02:33,463.463 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:02:33,465.465 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:02:33,472.472 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:02:33,478.478 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:02:35,520.520 INFO    ] ================================================
[2026-10-20 01:02:35,535.535 INFO    ] Launching Daemon at Tue Oct 20 01:02:35 IST 2026
[2026-10-20 01:02:35,546.546 INFO    ] ================================================
[2026-10-20 01:02:36,130.130 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:02:36
[2026-10-20 01:02:36,720.720 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:02:36,987.987 INFO    ] Initializing speech engine...
[2026-10-20 01:02:36,994.994 INFO    ] 2026-10-20 01:02:36
[2026-10-20 01:02:37,300.300 INFO    ] 2026-10-20 01:02:37
[2026-10-20 01:02:37,338.338 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:02:37,544.544 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:02:37,558.558 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:02:37,725.725 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:02:37,735.735 INFO    ] time= 20/10/2026 01:02:37
[2026-10-20 01:02:37,739.739 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:02:37,747.747 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:02:37,880.880 INFO    ] No existing commands found in stream
[2026-10-20 01:02:42,911.911 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:02:42,914.914 INFO    ] Waiting 3.08 seconds before fallback handling...
[2026-10-20 01:02:46,511.511 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:02:46,513.513 INFO    ] Checking for system updates...
[2026-10-20 01:02:46,551.551 INFO    ] 200
[2026-10-20 01:02:46,554.554 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:02:46,607.607 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:02:46,610.610 INFO    ] No update needed
[2026-10-20 01:02:46,613.613 INFO    ] Checking for camera pi updates...
[2026-10-20 01:02:46,647.647 INFO    ] 200
[2026-10-20 01:02:46,650.650 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:02:46,698.698 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:02:46,749.749 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:02:46,752.752 INFO    ] No camera update needed
[2026-10-20 01:02:46,755.755 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:02:46,757.757 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:02:46,764.764 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:02:46,770.770 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:02:48,812.812 INFO    ] ================================================
[2026-10-20 01:02:48,827.827 INFO    ] Launching Daemon at Tue Oct 20 01:02:48 IST 2026
[2026-10-20 01:02:48,837.837 INFO    ] ================================================
[2026-10-20 01:02:49,409.409 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:02:49
[2026-10-20 01:02:49,996.996 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:02:50,269.269 INFO    ] Initializing speech engine...
[2026-10-20 01:02:50,278.278 INFO    ] 2026-10-20 01:02:50
[2026-10-20 01:02:50,527.527 INFO    ] 2026-10-20 01:02:50
[2026-10-20 01:02:50,564.564 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:02:50,822.822 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:02:50,831.831 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:02:50,974.974 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:02:51,034.034 INFO    ] time= 20/10/2026 01:02:50
[2026-10-20 01:02:51,083.083 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:02:51,105.105 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:02:51,222.222 INFO    ] No existing commands found in stream
[2026-10-20 01:02:56,253.253 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:02:56,255.255 INFO    ] Waiting 2.11 seconds before fallback handling...
[2026-10-20 01:02:58,870.870 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 01:02:58,873.873 INFO    ] Checking for system updates...
[2026-10-20 01:02:58,910.910 INFO    ] 200
[2026-10-20 01:02:58,912.912 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:02:58,965.965 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:02:58,967.967 INFO    ] No update needed
[2026-10-20 01:02:58,970.970 INFO    ] Checking for camera pi updates...
[2026-10-20 01:02:59,003.003 INFO    ] 200
[2026-10-20 01:02:59,006.006 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:02:59,046.046 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:02:59,088.088 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:02:59,091.091 INFO    ] No camera update needed
[2026-10-20 01:02:59,093.093 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:02:59,095.095 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:02:59,101.101 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:02:59,106.106 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:03:01,148.148 INFO    ] ================================================
[2026-10-20 01:03:01,164.164 INFO    ] Launching Daemon at Tue Oct 20 01:03:01 IST 2026
[2026-10-20 01:03:01,176.176 INFO    ] ================================================
[2026-10-20 01:03:01,908.908 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:03:01
[2026-10-20 01:03:02,678.678 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:03:03,071.071 INFO    ] Initializing speech engine...
[2026-10-20 01:03:03,077.077 INFO    ] 2026-10-20 01:03:03
[2026-10-20 01:03:03,372.372 INFO    ] 2026-10-20 01:03:03
[2026-10-20 01:03:03,406.406 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:03:03,666.666 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:03:03,672.672 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:03:03,822.822 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:03:03,882.882 INFO    ] time= 20/10/2026 01:03:03
[2026-10-20 01:03:03,937.937 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:03:03,951.951 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:03:04,107.107 INFO    ] No existing commands found in stream
[2026-10-20 01:03:09,127.127 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:03:09,130.130 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-10-20 01:03:12,771.771 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 01:03:12,775.775 INFO    ] Checking for system updates...
[2026-10-20 01:03:12,812.812 INFO    ] 200
[2026-10-20 01:03:12,815.815 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:03:12,868.868 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:03:12,871.871 INFO    ] No update needed
[2026-10-20 01:03:12,874.874 INFO    ] Checking for camera pi updates...
[2026-10-20 01:03:12,908.908 INFO    ] 200
[2026-10-20 01:03:12,911.911 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:03:12,954.954 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:03:13,005.005 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:03:13,009.009 INFO    ] No camera update needed
[2026-10-20 01:03:13,011.011 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:03:13,014.014 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:03:13,020.020 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:03:13,026.026 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:03:15,069.069 INFO    ] ================================================
[2026-10-20 01:03:15,084.084 INFO    ] Launching Daemon at Tue Oct 20 01:03:15 IST 2026
[2026-10-20 01:03:15,095.095 INFO    ] ================================================
[2026-10-20 01:03:15,760.760 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:03:15
[2026-10-20 01:03:16,445.445 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:03:16,754.754 INFO    ] Initializing speech engine...
[2026-10-20 01:03:16,762.762 INFO    ] 2026-10-20 01:03:16
[2026-10-20 01:03:17,059.059 INFO    ] 2026-10-20 01:03:17
[2026-10-20 01:03:17,170.170 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:03:17,451.451 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:03:17,503.503 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:03:17,734.734 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:03:17,789.789 INFO    ] time= 20/10/2026 01:03:17
[2026-10-20 01:03:17,840.840 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:03:17,870.870 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:03:18,035.035 INFO    ] No existing commands found in stream
[2026-10-20 01:03:23,051.051 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:03:23,055.055 INFO    ] Waiting 0.46 seconds before fallback handling...
[2026-10-20 01:03:24,032.032 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:03:24,035.035 INFO    ] Checking for system updates...
[2026-10-20 01:03:24,070.070 INFO    ] 200
[2026-10-20 01:03:24,072.072 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:03:24,127.127 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:03:24,130.130 INFO    ] No update needed
[2026-10-20 01:03:24,132.132 INFO    ] Checking for camera pi updates...
[2026-10-20 01:03:24,170.170 INFO    ] 200
[2026-10-20 01:03:24,172.172 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:03:24,217.217 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:03:24,274.274 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:03:24,276.276 INFO    ] No camera update needed
[2026-10-20 01:03:24,279.279 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:03:24,281.281 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:03:24,286.286 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:03:24,291.291 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:03:26,332.332 INFO    ] ================================================
[2026-10-20 01:03:26,346.346 INFO    ] Launching Daemon at Tue Oct 20 01:03:26 IST 2026
[2026-10-20 01:03:26,357.357 INFO    ] ================================================
[2026-10-20 01:03:26,928.928 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:03:26
[2026-10-20 01:03:27,515.515 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:03:27,790.790 INFO    ] Initializing speech engine...
[2026-10-20 01:03:27,807.807 INFO    ] 2026-10-20 01:03:27
[2026-10-20 01:03:28,084.084 INFO    ] 2026-10-20 01:03:28
[2026-10-20 01:03:28,120.120 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:03:28,342.342 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:03:28,359.359 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:03:28,512.512 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:03:28,519.519 INFO    ] time= 20/10/2026 01:03:28
[2026-10-20 01:03:28,524.524 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:03:28,574.574 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:03:28,723.723 INFO    ] No existing commands found in stream
[2026-10-20 01:03:33,748.748 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:03:33,751.751 INFO    ] Waiting 2.52 seconds before fallback handling...
[2026-10-20 01:03:36,739.739 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 01:03:36,741.741 INFO    ] Checking for system updates...
[2026-10-20 01:03:36,777.777 INFO    ] 200
[2026-10-20 01:03:36,780.780 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:03:36,831.831 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:03:36,834.834 INFO    ] No update needed
[2026-10-20 01:03:36,836.836 INFO    ] Checking for camera pi updates...
[2026-10-20 01:03:36,869.869 INFO    ] 200
[2026-10-20 01:03:36,872.872 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:03:36,912.912 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:03:36,981.981 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:03:36,983.983 INFO    ] No camera update needed
[2026-10-20 01:03:36,986.986 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:03:36,988.988 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:03:36,994.994 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:03:36,999.999 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:03:39,040.040 INFO    ] ================================================
[2026-10-20 01:03:39,055.055 INFO    ] Launching Daemon at Tue Oct 20 01:03:39 IST 2026
[2026-10-20 01:03:39,065.065 INFO    ] ================================================
[2026-10-20 01:03:39,734.734 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:03:39
[2026-10-20 01:03:40,420.420 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:03:40,739.739 INFO    ] Initializing speech engine...
[2026-10-20 01:03:40,745.745 INFO    ] 2026-10-20 01:03:40
[2026-10-20 01:03:41,059.059 INFO    ] 2026-10-20 01:03:41
[2026-10-20 01:03:41,145.145 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:03:41,357.357 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:03:41,366.366 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:03:41,563.563 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:03:41,581.581 INFO    ] time= 20/10/2026 01:03:41
[2026-10-20 01:03:41,592.592 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:03:41,619.619 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:03:41,740.740 INFO    ] No existing commands found in stream
[2026-10-20 01:03:46,772.772 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:03:46,775.775 INFO    ] Waiting 3.30 seconds before fallback handling...
[2026-10-20 01:03:50,651.651 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 01:03:50,655.655 INFO    ] Checking for system updates...
[2026-10-20 01:03:50,692.692 INFO    ] 200
[2026-10-20 01:03:50,695.695 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:03:50,748.748 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:03:50,751.751 INFO    ] No update needed
[2026-10-20 01:03:50,753.753 INFO    ] Checking for camera pi updates...
[2026-10-20 01:03:50,788.788 INFO    ] 200
[2026-10-20 01:03:50,791.791 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:03:50,832.832 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:03:50,884.884 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:03:50,887.887 INFO    ] No camera update needed
[2026-10-20 01:03:50,890.890 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:03:50,893.893 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:03:50,899.899 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:03:50,905.905 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:03:52,948.948 INFO    ] ================================================
[2026-10-20 01:03:52,963.963 INFO    ] Launching Daemon at Tue Oct 20 01:03:52 IST 2026
[2026-10-20 01:03:52,974.974 INFO    ] ================================================
[2026-10-20 01:03:53,541.541 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:03:53
[2026-10-20 01:03:54,127.127 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:03:54,393.393 INFO    ] Initializing speech engine...
[2026-10-20 01:03:54,420.420 INFO    ] 2026-10-20 01:03:54
[2026-10-20 01:03:54,697.697 INFO    ] 2026-10-20 01:03:54
[2026-10-20 01:03:54,732.732 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:03:54,935.935 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:03:54,952.952 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:03:55,120.120 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:03:55,126.126 INFO    ] time= 20/10/2026 01:03:55
[2026-10-20 01:03:55,133.133 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:03:55,181.181 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:03:55,317.317 INFO    ] No existing commands found in stream
[2026-10-20 01:04:00,342.342 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:04:00,345.345 INFO    ] Waiting 3.23 seconds before fallback handling...
[2026-10-20 01:04:04,069.069 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 01:04:04,071.071 INFO    ] Checking for system updates...
[2026-10-20 01:04:04,108.108 INFO    ] 200
[2026-10-20 01:04:04,111.111 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:04:04,164.164 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:04:04,166.166 INFO    ] No update needed
[2026-10-20 01:04:04,168.168 INFO    ] Checking for camera pi updates...
[2026-10-20 01:04:04,202.202 INFO    ] 200
[2026-10-20 01:04:04,204.204 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:04:04,245.245 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:04:04,301.301 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:04:04,303.303 INFO    ] No camera update needed
[2026-10-20 01:04:04,305.305 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:04:04,308.308 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:04:04,318.318 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:04:04,323.323 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:04:06,363.363 INFO    ] ================================================
[2026-10-20 01:04:06,378.378 INFO    ] Launching Daemon at Tue Oct 20 01:04:06 IST 2026
[2026-10-20 01:04:06,389.389 INFO    ] ================================================
[2026-10-20 01:04:06,964.964 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:04:06
[2026-10-20 01:04:07,553.553 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:04:07,818.818 INFO    ] Initializing speech engine...
[2026-10-20 01:04:07,838.838 INFO    ] 2026-10-20 01:04:07
[2026-10-20 01:04:08,108.108 INFO    ] 2026-10-20 01:04:08
[2026-10-20 01:04:08,142.142 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:04:08,346.346 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:04:08,360.360 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:04:08,519.519 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:04:08,533.533 INFO    ] time= 20/10/2026 01:04:08
[2026-10-20 01:04:08,538.538 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:04:08,547.547 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:04:08,621.621 INFO    ] No existing commands found in stream
[2026-10-20 01:04:13,636.636 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:04:13,639.639 INFO    ] Waiting 1.95 seconds before fallback handling...
[2026-10-20 01:04:16,105.105 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 01:04:16,107.107 INFO    ] Checking for system updates...
[2026-10-20 01:04:16,143.143 INFO    ] 200
[2026-10-20 01:04:16,146.146 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:04:16,198.198 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:04:16,200.200 INFO    ] No update needed
[2026-10-20 01:04:16,203.203 INFO    ] Checking for camera pi updates...
[2026-10-20 01:04:16,236.236 INFO    ] 200
[2026-10-20 01:04:16,239.239 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:04:16,279.279 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:04:16,329.329 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:04:16,331.331 INFO    ] No camera update needed
[2026-10-20 01:04:16,334.334 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:04:16,336.336 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:04:16,342.342 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:04:16,347.347 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:04:18,390.390 INFO    ] ================================================
[2026-10-20 01:04:18,405.405 INFO    ] Launching Daemon at Tue Oct 20 01:04:18 IST 2026
[2026-10-20 01:04:18,416.416 INFO    ] ================================================
[2026-10-20 01:04:19,072.072 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:04:19
[2026-10-20 01:04:19,752.752 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:04:20,058.058 INFO    ] Initializing speech engine...
[2026-10-20 01:04:20,066.066 INFO    ] 2026-10-20 01:04:20
[2026-10-20 01:04:20,359.359 INFO    ] 2026-10-20 01:04:20
[2026-10-20 01:04:20,470.470 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:04:20,685.685 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:04:20,705.705 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:04:20,885.885 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:04:20,903.903 INFO    ] time= 20/10/2026 01:04:20
[2026-10-20 01:04:20,921.921 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:04:20,942.942 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:04:21,073.073 INFO    ] No existing commands found in stream
[2026-10-20 01:04:26,109.109 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:04:26,112.112 INFO    ] Waiting 2.45 seconds before fallback handling...
[2026-10-20 01:04:29,099.099 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:04:29,102.102 INFO    ] Checking for system updates...
[2026-10-20 01:04:29,138.138 INFO    ] 200
[2026-10-20 01:04:29,141.141 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:04:29,194.194 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:04:29,196.196 INFO    ] No update needed
[2026-10-20 01:04:29,207.207 INFO    ] Checking for camera pi updates...
[2026-10-20 01:04:29,246.246 INFO    ] 200
[2026-10-20 01:04:29,249.249 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:04:29,289.289 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:04:29,435.435 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:04:29,438.438 INFO    ] No camera update needed
[2026-10-20 01:04:29,442.442 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:04:29,445.445 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:04:29,451.451 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:04:29,456.456 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:04:31,497.497 INFO    ] ================================================
[2026-10-20 01:04:31,515.515 INFO    ] Launching Daemon at Tue Oct 20 01:04:31 IST 2026
[2026-10-20 01:04:31,527.527 INFO    ] ================================================
[2026-10-20 01:04:32,124.124 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:04:32
[2026-10-20 01:04:32,753.753 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:04:33,021.021 INFO    ] Initializing speech engine...
[2026-10-20 01:04:33,036.036 INFO    ] 2026-10-20 01:04:33
[2026-10-20 01:04:33,322.322 INFO    ] 2026-10-20 01:04:33
[2026-10-20 01:04:33,360.360 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:04:33,561.561 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:04:33,574.574 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:04:33,740.740 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:04:33,746.746 INFO    ] time= 20/10/2026 01:04:33
[2026-10-20 01:04:33,752.752 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:04:33,796.796 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:04:33,935.935 INFO    ] No existing commands found in stream
[2026-10-20 01:04:38,961.961 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:04:38,963.963 INFO    ] Waiting 1.55 seconds before fallback handling...
[2026-10-20 01:04:41,035.035 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:04:41,038.038 INFO    ] Checking for system updates...
[2026-10-20 01:04:41,073.073 INFO    ] 200
[2026-10-20 01:04:41,076.076 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:04:41,127.127 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:04:41,130.130 INFO    ] No update needed
[2026-10-20 01:04:41,132.132 INFO    ] Checking for camera pi updates...
[2026-10-20 01:04:41,166.166 INFO    ] 200
[2026-10-20 01:04:41,168.168 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:04:41,209.209 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:04:41,267.267 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:04:41,270.270 INFO    ] No camera update needed
[2026-10-20 01:04:41,272.272 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:04:41,274.274 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:04:41,280.280 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:04:41,285.285 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:04:43,324.324 INFO    ] ================================================
[2026-10-20 01:04:43,339.339 INFO    ] Launching Daemon at Tue Oct 20 01:04:43 IST 2026
[2026-10-20 01:04:43,350.350 INFO    ] ================================================
[2026-10-20 01:04:43,932.932 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:04:43
[2026-10-20 01:04:44,532.532 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:04:44,794.794 INFO    ] Initializing speech engine...
[2026-10-20 01:04:44,800.800 INFO    ] 2026-10-20 01:04:44
[2026-10-20 01:04:45,102.102 INFO    ] 2026-10-20 01:04:45
[2026-10-20 01:04:45,137.137 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:04:45,351.351 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:04:45,369.369 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:04:45,522.522 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:04:45,528.528 INFO    ] time= 20/10/2026 01:04:45
[2026-10-20 01:04:45,534.534 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:04:45,588.588 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:04:45,720.720 INFO    ] No existing commands found in stream
[2026-10-20 01:04:50,750.750 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:04:50,753.753 INFO    ] Waiting 1.99 seconds before fallback handling...
[2026-10-20 01:04:53,273.273 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 01:04:53,276.276 INFO    ] Checking for system updates...
[2026-10-20 01:04:53,314.314 INFO    ] 200
[2026-10-20 01:04:53,317.317 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:04:53,391.391 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:04:53,394.394 INFO    ] No update needed
[2026-10-20 01:04:53,396.396 INFO    ] Checking for camera pi updates...
[2026-10-20 01:04:53,432.432 INFO    ] 200
[2026-10-20 01:04:53,435.435 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:04:53,476.476 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:04:53,527.527 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:04:53,530.530 INFO    ] No camera update needed
[2026-10-20 01:04:53,533.533 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:04:53,536.536 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:04:53,542.542 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:04:53,548.548 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:04:55,590.590 INFO    ] ================================================
[2026-10-20 01:04:55,605.605 INFO    ] Launching Daemon at Tue Oct 20 01:04:55 IST 2026
[2026-10-20 01:04:55,616.616 INFO    ] ================================================
[2026-10-20 01:04:56,271.271 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:04:56
[2026-10-20 01:04:56,947.947 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:04:57,253.253 INFO    ] Initializing speech engine...
[2026-10-20 01:04:57,267.267 INFO    ] 2026-10-20 01:04:57
[2026-10-20 01:04:57,576.576 INFO    ] 2026-10-20 01:04:57
[2026-10-20 01:04:57,661.661 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:04:57,875.875 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:04:57,880.880 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:04:58,075.075 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:04:58,094.094 INFO    ] time= 20/10/2026 01:04:58
[2026-10-20 01:04:58,114.114 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:04:58,134.134 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:04:58,262.262 INFO    ] No existing commands found in stream
[2026-10-20 01:05:03,292.292 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:05:03,296.296 INFO    ] Waiting 2.70 seconds before fallback handling...
[2026-10-20 01:05:08,504.504 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:05:08,507.507 INFO    ] Checking for system updates...
[2026-10-20 01:05:08,544.544 INFO    ] 200
[2026-10-20 01:05:08,547.547 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:05:08,608.608 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:05:08,611.611 INFO    ] No update needed
[2026-10-20 01:05:08,614.614 INFO    ] Checking for camera pi updates...
[2026-10-20 01:05:08,648.648 INFO    ] 200
[2026-10-20 01:05:08,651.651 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:05:08,693.693 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:05:08,724.724 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:05:08,727.727 INFO    ] No camera update needed
[2026-10-20 01:05:08,730.730 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:05:08,732.732 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:05:08,739.739 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:05:08,745.745 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:05:10,785.785 INFO    ] ================================================
[2026-10-20 01:05:10,801.801 INFO    ] Launching Daemon at Tue Oct 20 01:05:10 IST 2026
[2026-10-20 01:05:10,812.812 INFO    ] ================================================
[2026-10-20 01:05:11,382.382 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:05:11
[2026-10-20 01:05:11,982.982 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:05:12,250.250 INFO    ] Initializing speech engine...
[2026-10-20 01:05:12,263.263 INFO    ] 2026-10-20 01:05:12
[2026-10-20 01:05:12,555.555 INFO    ] 2026-10-20 01:05:12
[2026-10-20 01:05:12,591.591 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:05:12,871.871 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:05:12,892.892 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:05:13,053.053 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:05:13,059.059 INFO    ] time= 20/10/2026 01:05:13
[2026-10-20 01:05:13,124.124 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:05:13,173.173 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:05:13,265.265 INFO    ] No existing commands found in stream
[2026-10-20 01:05:18,276.276 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:05:18,279.279 INFO    ] Waiting 0.04 seconds before fallback handling...
[2026-10-20 01:05:18,798.798 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 01:05:18,801.801 INFO    ] Checking for system updates...
[2026-10-20 01:05:18,836.836 INFO    ] 200
[2026-10-20 01:05:18,839.839 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:05:18,891.891 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:05:18,893.893 INFO    ] No update needed
[2026-10-20 01:05:18,895.895 INFO    ] Checking for camera pi updates...
[2026-10-20 01:05:18,928.928 INFO    ] 200
[2026-10-20 01:05:18,931.931 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:05:18,971.971 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:05:19,027.027 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:05:19,030.030 INFO    ] No camera update needed
[2026-10-20 01:05:19,032.032 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:05:19,035.035 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:05:19,040.040 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:05:19,045.045 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:05:21,084.084 INFO    ] ================================================
[2026-10-20 01:05:21,100.100 INFO    ] Launching Daemon at Tue Oct 20 01:05:21 IST 2026
[2026-10-20 01:05:21,111.111 INFO    ] ================================================
[2026-10-20 01:05:21,694.694 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:05:21
[2026-10-20 01:05:22,296.296 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:05:22,576.576 INFO    ] Initializing speech engine...
[2026-10-20 01:05:22,581.581 INFO    ] 2026-10-20 01:05:22
[2026-10-20 01:05:22,832.832 INFO    ] 2026-10-20 01:05:22
[2026-10-20 01:05:22,873.873 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:05:23,127.127 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:05:23,132.132 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:05:23,321.321 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:05:23,381.381 INFO    ] time= 20/10/2026 01:05:23
[2026-10-20 01:05:23,398.398 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:05:23,416.416 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:05:23,550.550 INFO    ] No existing commands found in stream
[2026-10-20 01:05:28,564.564 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:05:28,567.567 INFO    ] Waiting 2.55 seconds before fallback handling...
[2026-10-20 01:05:31,670.670 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 01:05:31,673.673 INFO    ] Checking for system updates...
[2026-10-20 01:05:31,713.713 INFO    ] 200
[2026-10-20 01:05:31,717.717 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:05:31,776.776 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:05:31,779.779 INFO    ] No update needed
[2026-10-20 01:05:31,782.782 INFO    ] Checking for camera pi updates...
[2026-10-20 01:05:31,820.820 INFO    ] 200
[2026-10-20 01:05:31,823.823 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:05:31,868.868 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:05:31,917.917 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:05:31,921.921 INFO    ] No camera update needed
[2026-10-20 01:05:31,925.925 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:05:31,928.928 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:05:31,936.936 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:05:31,942.942 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:05:33,985.985 INFO    ] ================================================
[2026-10-20 01:05:34,000.000 INFO    ] Launching Daemon at Tue Oct 20 01:05:33 IST 2026
[2026-10-20 01:05:34,010.010 INFO    ] ================================================
[2026-10-20 01:05:34,574.574 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:05:34
[2026-10-20 01:05:35,159.159 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:05:35,414.414 INFO    ] Initializing speech engine...
[2026-10-20 01:05:35,423.423 INFO    ] 2026-10-20 01:05:35
[2026-10-20 01:05:35,718.718 INFO    ] 2026-10-20 01:05:35
[2026-10-20 01:05:35,754.754 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:05:35,957.957 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:05:35,971.971 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:05:36,137.137 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:05:36,144.144 INFO    ] time= 20/10/2026 01:05:36
[2026-10-20 01:05:36,151.151 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:05:36,183.183 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:05:36,330.330 INFO    ] No existing commands found in stream
[2026-10-20 01:05:41,355.355 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:05:41,358.358 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-10-20 01:05:45,033.033 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 01:05:45,036.036 INFO    ] Checking for system updates...
[2026-10-20 01:05:45,073.073 INFO    ] 200
[2026-10-20 01:05:45,076.076 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:05:45,131.131 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:05:45,134.134 INFO    ] No update needed
[2026-10-20 01:05:45,136.136 INFO    ] Checking for camera pi updates...
[2026-10-20 01:05:45,175.175 INFO    ] 200
[2026-10-20 01:05:45,178.178 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:05:45,219.219 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:05:45,267.267 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:05:45,270.270 INFO    ] No camera update needed
[2026-10-20 01:05:45,273.273 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:05:45,276.276 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:05:45,283.283 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:05:45,288.288 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:05:47,331.331 INFO    ] ================================================
[2026-10-20 01:05:47,346.346 INFO    ] Launching Daemon at Tue Oct 20 01:05:47 IST 2026
[2026-10-20 01:05:47,357.357 INFO    ] ================================================
[2026-10-20 01:05:47,926.926 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:05:47
[2026-10-20 01:05:48,512.512 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:05:48,782.782 INFO    ] Initializing speech engine...
[2026-10-20 01:05:48,792.792 INFO    ] 2026-10-20 01:05:48
[2026-10-20 01:05:49,052.052 INFO    ] 2026-10-20 01:05:49
[2026-10-20 01:05:49,102.102 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:05:49,331.331 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:05:49,337.337 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:05:49,564.564 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:05:49,594.594 INFO    ] time= 20/10/2026 01:05:49
[2026-10-20 01:05:49,600.600 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:05:49,621.621 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:05:49,748.748 INFO    ] No existing commands found in stream
[2026-10-20 01:05:54,763.763 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:05:54,766.766 INFO    ] Waiting 2.94 seconds before fallback handling...
[2026-10-20 01:05:58,198.198 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 01:05:58,201.201 INFO    ] Checking for system updates...
[2026-10-20 01:05:58,236.236 INFO    ] 200
[2026-10-20 01:05:58,238.238 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:05:58,291.291 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:05:58,293.293 INFO    ] No update needed
[2026-10-20 01:05:58,296.296 INFO    ] Checking for camera pi updates...
[2026-10-20 01:05:58,329.329 INFO    ] 200
[2026-10-20 01:05:58,331.331 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:05:58,371.371 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:05:58,420.420 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:05:58,422.422 INFO    ] No camera update needed
[2026-10-20 01:05:58,425.425 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:05:58,427.427 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:05:58,432.432 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:05:58,437.437 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:06:00,478.478 INFO    ] ================================================
[2026-10-20 01:06:00,494.494 INFO    ] Launching Daemon at Tue Oct 20 01:06:00 IST 2026
[2026-10-20 01:06:00,505.505 INFO    ] ================================================
[2026-10-20 01:06:01,072.072 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:06:01
[2026-10-20 01:06:01,760.760 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:06:02,064.064 INFO    ] Initializing speech engine...
[2026-10-20 01:06:02,091.091 INFO    ] 2026-10-20 01:06:02
[2026-10-20 01:06:02,386.386 INFO    ] 2026-10-20 01:06:02
[2026-10-20 01:06:02,432.432 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:06:02,694.694 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:06:02,704.704 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:06:02,845.845 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:06:02,872.872 INFO    ] time= 20/10/2026 01:06:02
[2026-10-20 01:06:02,925.925 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:06:02,992.992 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:06:03,060.060 INFO    ] No existing commands found in stream
[2026-10-20 01:06:08,070.070 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:06:08,073.073 INFO    ] Waiting 2.58 seconds before fallback handling...
[2026-10-20 01:06:11,133.133 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 01:06:11,135.135 INFO    ] Checking for system updates...
[2026-10-20 01:06:11,171.171 INFO    ] 200
[2026-10-20 01:06:11,173.173 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:06:11,227.227 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:06:11,230.230 INFO    ] No update needed
[2026-10-20 01:06:11,232.232 INFO    ] Checking for camera pi updates...
[2026-10-20 01:06:11,265.265 INFO    ] 200
[2026-10-20 01:06:11,267.267 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:06:11,307.307 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:06:11,357.357 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:06:11,360.360 INFO    ] No camera update needed
[2026-10-20 01:06:11,362.362 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:06:11,364.364 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:06:11,370.370 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:06:11,375.375 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:06:13,414.414 INFO    ] ================================================
[2026-10-20 01:06:13,430.430 INFO    ] Launching Daemon at Tue Oct 20 01:06:13 IST 2026
[2026-10-20 01:06:13,440.440 INFO    ] ================================================
[2026-10-20 01:06:14,028.028 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:06:14
[2026-10-20 01:06:14,632.632 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:06:14,893.893 INFO    ] Initializing speech engine...
[2026-10-20 01:06:14,910.910 INFO    ] 2026-10-20 01:06:14
[2026-10-20 01:06:15,166.166 INFO    ] 2026-10-20 01:06:15
[2026-10-20 01:06:15,207.207 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:06:15,461.461 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:06:15,470.470 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:06:15,662.662 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:06:15,717.717 INFO    ] time= 20/10/2026 01:06:15
[2026-10-20 01:06:15,741.741 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:06:15,747.747 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:06:15,898.898 INFO    ] No existing commands found in stream
[2026-10-20 01:06:20,920.920 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:06:20,923.923 INFO    ] Waiting 1.97 seconds before fallback handling...
[2026-10-20 01:06:23,405.405 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 01:06:23,407.407 INFO    ] Checking for system updates...
[2026-10-20 01:06:23,444.444 INFO    ] 200
[2026-10-20 01:06:23,446.446 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:06:23,499.499 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:06:23,501.501 INFO    ] No update needed
[2026-10-20 01:06:23,504.504 INFO    ] Checking for camera pi updates...
[2026-10-20 01:06:23,536.536 INFO    ] 200
[2026-10-20 01:06:23,539.539 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:06:23,580.580 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:06:23,636.636 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:06:23,639.639 INFO    ] No camera update needed
[2026-10-20 01:06:23,641.641 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:06:23,644.644 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:06:23,650.650 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:06:23,655.655 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:06:25,697.697 INFO    ] ================================================
[2026-10-20 01:06:25,712.712 INFO    ] Launching Daemon at Tue Oct 20 01:06:25 IST 2026
[2026-10-20 01:06:25,722.722 INFO    ] ================================================
[2026-10-20 01:06:26,368.368 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:06:26
[2026-10-20 01:06:26,989.989 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:06:27,241.241 INFO    ] Initializing speech engine...
[2026-10-20 01:06:27,264.264 INFO    ] 2026-10-20 01:06:27
[2026-10-20 01:06:27,517.517 INFO    ] 2026-10-20 01:06:27
[2026-10-20 01:06:27,553.553 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:06:27,811.811 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:06:27,819.819 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:06:28,023.023 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:06:28,078.078 INFO    ] time= 20/10/2026 01:06:28
[2026-10-20 01:06:28,091.091 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:06:28,106.106 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:06:28,245.245 INFO    ] No existing commands found in stream
[2026-10-20 01:06:33,268.268 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:06:33,272.272 INFO    ] Waiting 1.46 seconds before fallback handling...
[2026-10-20 01:06:35,224.224 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 01:06:35,227.227 INFO    ] Checking for system updates...
[2026-10-20 01:06:35,262.262 INFO    ] 200
[2026-10-20 01:06:35,264.264 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:06:35,324.324 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:06:35,326.326 INFO    ] No update needed
[2026-10-20 01:06:35,328.328 INFO    ] Checking for camera pi updates...
[2026-10-20 01:06:35,361.361 INFO    ] 200
[2026-10-20 01:06:35,364.364 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:06:35,404.404 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:06:35,447.447 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:06:35,450.450 INFO    ] No camera update needed
[2026-10-20 01:06:35,452.452 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:06:35,454.454 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:06:35,460.460 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:06:35,465.465 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:06:37,509.509 INFO    ] ================================================
[2026-10-20 01:06:37,525.525 INFO    ] Launching Daemon at Tue Oct 20 01:06:37 IST 2026
[2026-10-20 01:06:37,535.535 INFO    ] ================================================
[2026-10-20 01:06:38,102.102 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:06:38
[2026-10-20 01:06:38,685.685 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:06:38,955.955 INFO    ] Initializing speech engine...
[2026-10-20 01:06:38,964.964 INFO    ] 2026-10-20 01:06:38
[2026-10-20 01:06:39,225.225 INFO    ] 2026-10-20 01:06:39
[2026-10-20 01:06:39,279.279 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:06:39,506.506 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:06:39,516.516 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:06:39,651.651 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:06:39,693.693 INFO    ] time= 20/10/2026 01:06:39
[2026-10-20 01:06:39,742.742 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:06:39,789.789 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:06:39,916.916 INFO    ] No existing commands found in stream
[2026-10-20 01:06:44,947.947 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:06:44,950.950 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-10-20 01:06:47,241.241 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:06:47,244.244 INFO    ] Checking for system updates...
[2026-10-20 01:06:47,282.282 INFO    ] 200
[2026-10-20 01:06:47,285.285 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:06:47,340.340 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:06:47,342.342 INFO    ] No update needed
[2026-10-20 01:06:47,344.344 INFO    ] Checking for camera pi updates...
[2026-10-20 01:06:47,377.377 INFO    ] 200
[2026-10-20 01:06:47,380.380 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:06:47,419.419 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:06:47,461.461 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:06:47,463.463 INFO    ] No camera update needed
[2026-10-20 01:06:47,465.465 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:06:47,468.468 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:06:47,473.473 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:06:47,478.478 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:06:49,517.517 INFO    ] ================================================
[2026-10-20 01:06:49,532.532 INFO    ] Launching Daemon at Tue Oct 20 01:06:49 IST 2026
[2026-10-20 01:06:49,543.543 INFO    ] ================================================
[2026-10-20 01:06:50,110.110 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:06:50
[2026-10-20 01:06:50,693.693 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:06:50,947.947 INFO    ] Initializing speech engine...
[2026-10-20 01:06:50,953.953 INFO    ] 2026-10-20 01:06:50
[2026-10-20 01:06:51,246.246 INFO    ] 2026-10-20 01:06:51
[2026-10-20 01:06:51,283.283 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:06:51,506.506 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:06:51,531.531 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:06:51,728.728 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:06:51,745.745 INFO    ] time= 20/10/2026 01:06:51
[2026-10-20 01:06:51,794.794 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:06:51,833.833 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:06:51,943.943 INFO    ] No existing commands found in stream
[2026-10-20 01:06:56,954.954 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:06:56,957.957 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-10-20 01:07:00,907.907 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 01:07:00,910.910 INFO    ] Checking for system updates...
[2026-10-20 01:07:00,948.948 INFO    ] 200
[2026-10-20 01:07:00,951.951 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:07:01,010.010 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:07:01,013.013 INFO    ] No update needed
[2026-10-20 01:07:01,015.015 INFO    ] Checking for camera pi updates...
[2026-10-20 01:07:01,050.050 INFO    ] 200
[2026-10-20 01:07:01,053.053 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:07:01,094.094 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:07:01,141.141 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:07:01,144.144 INFO    ] No camera update needed
[2026-10-20 01:07:01,146.146 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:07:01,149.149 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:07:01,155.155 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:07:01,161.161 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:07:03,204.204 INFO    ] ================================================
[2026-10-20 01:07:03,219.219 INFO    ] Launching Daemon at Tue Oct 20 01:07:03 IST 2026
[2026-10-20 01:07:03,230.230 INFO    ] ================================================
[2026-10-20 01:07:03,832.832 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:07:03
[2026-10-20 01:07:04,415.415 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:07:04,689.689 INFO    ] Initializing speech engine...
[2026-10-20 01:07:04,698.698 INFO    ] 2026-10-20 01:07:04
[2026-10-20 01:07:04,943.943 INFO    ] 2026-10-20 01:07:04
[2026-10-20 01:07:04,979.979 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:07:05,231.231 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:07:05,241.241 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:07:05,442.442 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:07:05,501.501 INFO    ] time= 20/10/2026 01:07:05
[2026-10-20 01:07:05,512.512 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:07:05,529.529 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:07:05,663.663 INFO    ] No existing commands found in stream
[2026-10-20 01:07:10,675.675 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:07:10,678.678 INFO    ] Waiting 3.31 seconds before fallback handling...
[2026-10-20 01:07:14,453.453 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 01:07:14,457.457 INFO    ] Checking for system updates...
[2026-10-20 01:07:14,493.493 INFO    ] 200
[2026-10-20 01:07:14,496.496 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:07:14,555.555 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:07:14,558.558 INFO    ] No update needed
[2026-10-20 01:07:14,562.562 INFO    ] Checking for camera pi updates...
[2026-10-20 01:07:14,601.601 INFO    ] 200
[2026-10-20 01:07:14,604.604 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:07:14,644.644 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:07:14,691.691 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:07:14,694.694 INFO    ] No camera update needed
[2026-10-20 01:07:14,697.697 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:07:14,700.700 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:07:14,706.706 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:07:14,712.712 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:07:16,755.755 INFO    ] ================================================
[2026-10-20 01:07:16,770.770 INFO    ] Launching Daemon at Tue Oct 20 01:07:16 IST 2026
[2026-10-20 01:07:16,780.780 INFO    ] ================================================
[2026-10-20 01:07:17,432.432 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:07:17
[2026-10-20 01:07:18,100.100 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:07:18,409.409 INFO    ] Initializing speech engine...
[2026-10-20 01:07:18,415.415 INFO    ] 2026-10-20 01:07:18
[2026-10-20 01:07:18,695.695 INFO    ] 2026-10-20 01:07:18
[2026-10-20 01:07:18,752.752 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:07:19,010.010 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:07:19,018.018 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:07:19,228.228 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:07:19,261.261 INFO    ] time= 20/10/2026 01:07:19
[2026-10-20 01:07:19,280.280 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:07:19,290.290 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:07:19,451.451 INFO    ] No existing commands found in stream
[2026-10-20 01:07:24,482.482 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:07:24,485.485 INFO    ] Waiting 1.86 seconds before fallback handling...
[2026-10-20 01:07:26,857.857 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:07:26,860.860 INFO    ] Checking for system updates...
[2026-10-20 01:07:26,902.902 INFO    ] 200
[2026-10-20 01:07:26,905.905 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:07:26,964.964 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:07:26,966.966 INFO    ] No update needed
[2026-10-20 01:07:26,969.969 INFO    ] Checking for camera pi updates...
[2026-10-20 01:07:27,005.005 INFO    ] 200
[2026-10-20 01:07:27,008.008 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:07:27,048.048 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:07:27,104.104 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:07:27,106.106 INFO    ] No camera update needed
[2026-10-20 01:07:27,108.108 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:07:27,111.111 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:07:27,116.116 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:07:27,121.121 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:07:29,162.162 INFO    ] ================================================
[2026-10-20 01:07:29,177.177 INFO    ] Launching Daemon at Tue Oct 20 01:07:29 IST 2026
[2026-10-20 01:07:29,187.187 INFO    ] ================================================
[2026-10-20 01:07:29,771.771 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:07:29
[2026-10-20 01:07:30,395.395 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:07:30,702.702 INFO    ] Initializing speech engine...
[2026-10-20 01:07:30,710.710 INFO    ] 2026-10-20 01:07:30
[2026-10-20 01:07:31,006.006 INFO    ] 2026-10-20 01:07:30
[2026-10-20 01:07:31,052.052 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:07:31,336.336 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:07:31,346.346 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:07:31,555.555 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:07:31,588.588 INFO    ] time= 20/10/2026 01:07:31
[2026-10-20 01:07:31,603.603 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:07:31,655.655 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:07:31,826.826 INFO    ] No existing commands found in stream
[2026-10-20 01:07:36,858.858 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:07:36,861.861 INFO    ] Waiting 2.32 seconds before fallback handling...
[2026-10-20 01:07:39,745.745 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:07:39,748.748 INFO    ] Checking for system updates...
[2026-10-20 01:07:39,785.785 INFO    ] 200
[2026-10-20 01:07:39,787.787 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:07:39,842.842 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:07:39,844.844 INFO    ] No update needed
[2026-10-20 01:07:39,846.846 INFO    ] Checking for camera pi updates...
[2026-10-20 01:07:39,879.879 INFO    ] 200
[2026-10-20 01:07:39,881.881 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:07:39,921.921 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:07:39,974.974 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:07:39,976.976 INFO    ] No camera update needed
[2026-10-20 01:07:39,978.978 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:07:39,981.981 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:07:39,986.986 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:07:39,991.991 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:07:42,030.030 INFO    ] ================================================
[2026-10-20 01:07:42,045.045 INFO    ] Launching Daemon at Tue Oct 20 01:07:42 IST 2026
[2026-10-20 01:07:42,056.056 INFO    ] ================================================
[2026-10-20 01:07:42,714.714 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:07:42
[2026-10-20 01:07:43,395.395 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:07:43,710.710 INFO    ] Initializing speech engine...
[2026-10-20 01:07:43,720.720 INFO    ] 2026-10-20 01:07:43
[2026-10-20 01:07:44,024.024 INFO    ] 2026-10-20 01:07:43
[2026-10-20 01:07:44,110.110 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:07:44,323.323 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:07:44,330.330 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:07:44,524.524 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:07:44,543.543 INFO    ] time= 20/10/2026 01:07:44
[2026-10-20 01:07:44,574.574 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:07:44,583.583 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:07:44,709.709 INFO    ] No existing commands found in stream
[2026-10-20 01:07:49,740.740 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:07:49,744.744 INFO    ] Waiting 3.72 seconds before fallback handling...
[2026-10-20 01:07:53,981.981 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:07:53,984.984 INFO    ] Checking for system updates...
[2026-10-20 01:07:54,020.020 INFO    ] 200
[2026-10-20 01:07:54,023.023 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:07:54,074.074 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:07:54,076.076 INFO    ] No update needed
[2026-10-20 01:07:54,079.079 INFO    ] Checking for camera pi updates...
[2026-10-20 01:07:54,112.112 INFO    ] 200
[2026-10-20 01:07:54,114.114 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:07:54,154.154 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:07:54,218.218 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:07:54,220.220 INFO    ] No camera update needed
[2026-10-20 01:07:54,223.223 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:07:54,225.225 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:07:54,230.230 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:07:54,235.235 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:07:56,277.277 INFO    ] ================================================
[2026-10-20 01:07:56,292.292 INFO    ] Launching Daemon at Tue Oct 20 01:07:56 IST 2026
[2026-10-20 01:07:56,304.304 INFO    ] ================================================
[2026-10-20 01:07:56,962.962 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:07:56
[2026-10-20 01:07:57,644.644 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:07:57,949.949 INFO    ] Initializing speech engine...
[2026-10-20 01:07:57,959.959 INFO    ] 2026-10-20 01:07:57
[2026-10-20 01:07:58,232.232 INFO    ] 2026-10-20 01:07:58
[2026-10-20 01:07:58,290.290 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:07:58,523.523 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:07:58,533.533 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:07:58,756.756 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:07:58,801.801 INFO    ] time= 20/10/2026 01:07:58
[2026-10-20 01:07:58,807.807 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:07:58,827.827 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:07:58,963.963 INFO    ] No existing commands found in stream
[2026-10-20 01:08:03,987.987 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:08:03,991.991 INFO    ] Waiting 1.66 seconds before fallback handling...
[2026-10-20 01:08:06,177.177 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:08:06,180.180 INFO    ] Checking for system updates...
[2026-10-20 01:08:06,217.217 INFO    ] 200
[2026-10-20 01:08:06,220.220 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:08:06,279.279 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:08:06,281.281 INFO    ] No update needed
[2026-10-20 01:08:06,283.283 INFO    ] Checking for camera pi updates...
[2026-10-20 01:08:06,318.318 INFO    ] 200
[2026-10-20 01:08:06,320.320 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:08:06,360.360 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:08:06,407.407 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:08:06,410.410 INFO    ] No camera update needed
[2026-10-20 01:08:06,412.412 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:08:06,415.415 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:08:06,420.420 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:08:06,425.425 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:08:08,467.467 INFO    ] ================================================
[2026-10-20 01:08:08,483.483 INFO    ] Launching Daemon at Tue Oct 20 01:08:08 IST 2026
[2026-10-20 01:08:08,494.494 INFO    ] ================================================
[2026-10-20 01:08:09,074.074 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:08:09
[2026-10-20 01:08:09,672.672 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:08:09,923.923 INFO    ] Initializing speech engine...
[2026-10-20 01:08:09,936.936 INFO    ] 2026-10-20 01:08:09
[2026-10-20 01:08:10,200.200 INFO    ] 2026-10-20 01:08:10
[2026-10-20 01:08:10,242.242 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:08:10,492.492 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:08:10,496.496 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:08:10,734.734 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:08:10,754.754 INFO    ] time= 20/10/2026 01:08:10
[2026-10-20 01:08:10,770.770 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:08:10,777.777 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:08:10,907.907 INFO    ] No existing commands found in stream
[2026-10-20 01:08:15,926.926 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:08:15,929.929 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-10-20 01:08:19,870.870 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 01:08:19,873.873 INFO    ] Checking for system updates...
[2026-10-20 01:08:19,908.908 INFO    ] 200
[2026-10-20 01:08:19,911.911 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:08:19,963.963 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:08:19,965.965 INFO    ] No update needed
[2026-10-20 01:08:19,967.967 INFO    ] Checking for camera pi updates...
[2026-10-20 01:08:20,000.000 INFO    ] 200
[2026-10-20 01:08:20,003.003 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:08:20,047.047 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:08:20,097.097 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:08:20,100.100 INFO    ] No camera update needed
[2026-10-20 01:08:20,102.102 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:08:20,105.105 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:08:20,110.110 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:08:20,115.115 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:08:22,157.157 INFO    ] ================================================
[2026-10-20 01:08:22,172.172 INFO    ] Launching Daemon at Tue Oct 20 01:08:22 IST 2026
[2026-10-20 01:08:22,184.184 INFO    ] ================================================
[2026-10-20 01:08:22,767.767 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:08:22
[2026-10-20 01:08:23,364.364 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:08:23,642.642 INFO    ] Initializing speech engine...
[2026-10-20 01:08:23,647.647 INFO    ] 2026-10-20 01:08:23
[2026-10-20 01:08:23,895.895 INFO    ] 2026-10-20 01:08:23
[2026-10-20 01:08:23,937.937 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:08:24,180.180 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:08:24,190.190 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:08:24,418.418 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:08:24,446.446 INFO    ] time= 20/10/2026 01:08:24
[2026-10-20 01:08:24,463.463 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:08:24,472.472 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:08:24,600.600 INFO    ] No existing commands found in stream
[2026-10-20 01:08:29,623.623 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:08:29,625.625 INFO    ] Waiting 2.60 seconds before fallback handling...
[2026-10-20 01:08:32,739.739 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 01:08:32,742.742 INFO    ] Checking for system updates...
[2026-10-20 01:08:32,781.781 INFO    ] 200
[2026-10-20 01:08:32,784.784 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:08:32,844.844 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:08:32,847.847 INFO    ] No update needed
[2026-10-20 01:08:32,849.849 INFO    ] Checking for camera pi updates...
[2026-10-20 01:08:32,897.897 INFO    ] 200
[2026-10-20 01:08:32,900.900 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:08:32,944.944 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:08:32,976.976 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:08:32,978.978 INFO    ] No camera update needed
[2026-10-20 01:08:32,981.981 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:08:32,983.983 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:08:32,989.989 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:08:32,994.994 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:08:35,036.036 INFO    ] ================================================
[2026-10-20 01:08:35,051.051 INFO    ] Launching Daemon at Tue Oct 20 01:08:35 IST 2026
[2026-10-20 01:08:35,062.062 INFO    ] ================================================
[2026-10-20 01:08:35,658.658 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:08:35
[2026-10-20 01:08:36,306.306 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:08:36,589.589 INFO    ] Initializing speech engine...
[2026-10-20 01:08:36,596.596 INFO    ] 2026-10-20 01:08:36
[2026-10-20 01:08:36,858.858 INFO    ] 2026-10-20 01:08:36
[2026-10-20 01:08:36,912.912 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:08:37,140.140 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:08:37,146.146 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:08:37,360.360 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:08:37,401.401 INFO    ] time= 20/10/2026 01:08:37
[2026-10-20 01:08:37,408.408 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:08:37,430.430 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:08:37,558.558 INFO    ] No existing commands found in stream
[2026-10-20 01:08:42,581.581 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:08:42,584.584 INFO    ] Waiting 2.70 seconds before fallback handling...
[2026-10-20 01:08:45,755.755 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 01:08:45,758.758 INFO    ] Checking for system updates...
[2026-10-20 01:08:45,797.797 INFO    ] 200
[2026-10-20 01:08:45,800.800 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:08:45,853.853 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:08:45,855.855 INFO    ] No update needed
[2026-10-20 01:08:45,858.858 INFO    ] Checking for camera pi updates...
[2026-10-20 01:08:45,893.893 INFO    ] 200
[2026-10-20 01:08:45,895.895 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:08:45,940.940 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:08:46,094.094 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:08:46,097.097 INFO    ] No camera update needed
[2026-10-20 01:08:46,099.099 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:08:46,102.102 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:08:46,108.108 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:08:46,113.113 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:08:48,154.154 INFO    ] ================================================
[2026-10-20 01:08:48,169.169 INFO    ] Launching Daemon at Tue Oct 20 01:08:48 IST 2026
[2026-10-20 01:08:48,181.181 INFO    ] ================================================
[2026-10-20 01:08:48,749.749 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:08:48
[2026-10-20 01:08:49,337.337 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:08:49,597.597 INFO    ] Initializing speech engine...
[2026-10-20 01:08:49,618.618 INFO    ] 2026-10-20 01:08:49
[2026-10-20 01:08:49,898.898 INFO    ] 2026-10-20 01:08:49
[2026-10-20 01:08:49,934.934 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:08:50,157.157 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:08:50,165.165 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:08:50,379.379 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:08:50,390.390 INFO    ] time= 20/10/2026 01:08:50
[2026-10-20 01:08:50,438.438 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:08:50,481.481 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:08:50,599.599 INFO    ] No existing commands found in stream
[2026-10-20 01:08:55,610.610 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:08:55,613.613 INFO    ] Waiting 1.70 seconds before fallback handling...
[2026-10-20 01:08:57,805.805 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 01:08:57,807.807 INFO    ] Checking for system updates...
[2026-10-20 01:08:57,846.846 INFO    ] 200
[2026-10-20 01:08:57,849.849 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:08:57,900.900 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:08:57,902.902 INFO    ] No update needed
[2026-10-20 01:08:57,905.905 INFO    ] Checking for camera pi updates...
[2026-10-20 01:08:57,937.937 INFO    ] 200
[2026-10-20 01:08:57,940.940 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:08:57,985.985 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:08:58,028.028 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:08:58,031.031 INFO    ] No camera update needed
[2026-10-20 01:08:58,033.033 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:08:58,035.035 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:08:58,040.040 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:08:58,045.045 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:09:00,085.085 INFO    ] ================================================
[2026-10-20 01:09:00,101.101 INFO    ] Launching Daemon at Tue Oct 20 01:09:00 IST 2026
[2026-10-20 01:09:00,112.112 INFO    ] ================================================
[2026-10-20 01:09:00,683.683 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:09:00
[2026-10-20 01:09:01,287.287 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:09:01,821.821 INFO    ] Initializing speech engine...
[2026-10-20 01:09:01,825.825 INFO    ] 2026-10-20 01:09:01
[2026-10-20 01:09:02,200.200 INFO    ] 2026-10-20 01:09:02
[2026-10-20 01:09:02,260.260 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:09:02,461.461 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:09:02,513.513 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:09:02,708.708 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:09:02,716.716 INFO    ] time= 20/10/2026 01:09:02
[2026-10-20 01:09:02,744.744 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:09:02,778.778 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:09:02,893.893 INFO    ] No existing commands found in stream
[2026-10-20 01:09:07,924.924 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:09:07,926.926 INFO    ] Waiting 2.04 seconds before fallback handling...
[2026-10-20 01:09:10,458.458 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:09:10,461.461 INFO    ] Checking for system updates...
[2026-10-20 01:09:10,500.500 INFO    ] 200
[2026-10-20 01:09:10,502.502 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:09:10,553.553 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:09:10,556.556 INFO    ] No update needed
[2026-10-20 01:09:10,558.558 INFO    ] Checking for camera pi updates...
[2026-10-20 01:09:10,592.592 INFO    ] 200
[2026-10-20 01:09:10,595.595 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:09:10,645.645 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:09:10,693.693 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:09:10,696.696 INFO    ] No camera update needed
[2026-10-20 01:09:10,698.698 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:09:10,701.701 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:09:10,707.707 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:09:10,713.713 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:09:12,753.753 INFO    ] ================================================
[2026-10-20 01:09:12,768.768 INFO    ] Launching Daemon at Tue Oct 20 01:09:12 IST 2026
[2026-10-20 01:09:12,779.779 INFO    ] ================================================
[2026-10-20 01:09:13,440.440 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:09:13
[2026-10-20 01:09:14,121.121 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:09:14,431.431 INFO    ] Initializing speech engine...
[2026-10-20 01:09:14,442.442 INFO    ] 2026-10-20 01:09:14
[2026-10-20 01:09:14,728.728 INFO    ] 2026-10-20 01:09:14
[2026-10-20 01:09:14,840.840 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:09:15,055.055 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:09:15,062.062 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:09:15,247.247 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:09:15,263.263 INFO    ] time= 20/10/2026 01:09:15
[2026-10-20 01:09:15,283.283 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:09:15,311.311 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:09:15,472.472 INFO    ] No existing commands found in stream
[2026-10-20 01:09:20,498.498 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:09:20,502.502 INFO    ] Waiting 1.08 seconds before fallback handling...
[2026-10-20 01:09:22,078.078 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:09:22,081.081 INFO    ] Checking for system updates...
[2026-10-20 01:09:22,122.122 INFO    ] 200
[2026-10-20 01:09:22,125.125 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:09:22,184.184 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:09:22,187.187 INFO    ] No update needed
[2026-10-20 01:09:22,190.190 INFO    ] Checking for camera pi updates...
[2026-10-20 01:09:22,224.224 INFO    ] 200
[2026-10-20 01:09:22,227.227 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:09:22,268.268 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:09:22,315.315 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:09:22,318.318 INFO    ] No camera update needed
[2026-10-20 01:09:22,320.320 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:09:22,323.323 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:09:22,328.328 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:09:22,333.333 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:09:24,374.374 INFO    ] ================================================
[2026-10-20 01:09:24,390.390 INFO    ] Launching Daemon at Tue Oct 20 01:09:24 IST 2026
[2026-10-20 01:09:24,402.402 INFO    ] ================================================
[2026-10-20 01:09:24,974.974 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:09:24
[2026-10-20 01:09:25,565.565 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:09:25,838.838 INFO    ] Initializing speech engine...
[2026-10-20 01:09:25,847.847 INFO    ] 2026-10-20 01:09:25
[2026-10-20 01:09:26,098.098 INFO    ] 2026-10-20 01:09:26
[2026-10-20 01:09:26,132.132 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:09:26,335.335 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:09:26,394.394 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:09:26,536.536 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:09:26,578.578 INFO    ] time= 20/10/2026 01:09:26
[2026-10-20 01:09:26,633.633 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:09:26,672.672 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:09:26,814.814 INFO    ] No existing commands found in stream
[2026-10-20 01:09:31,835.835 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:09:31,838.838 INFO    ] Waiting 1.32 seconds before fallback handling...
[2026-10-20 01:09:33,650.650 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 01:09:33,652.652 INFO    ] Checking for system updates...
[2026-10-20 01:09:33,688.688 INFO    ] 200
[2026-10-20 01:09:33,690.690 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:09:33,746.746 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:09:33,749.749 INFO    ] No update needed
[2026-10-20 01:09:33,751.751 INFO    ] Checking for camera pi updates...
[2026-10-20 01:09:33,792.792 INFO    ] 200
[2026-10-20 01:09:33,795.795 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:09:33,835.835 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:09:33,884.884 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:09:33,887.887 INFO    ] No camera update needed
[2026-10-20 01:09:33,890.890 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:09:33,893.893 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:09:33,899.899 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:09:33,905.905 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:09:35,948.948 INFO    ] ================================================
[2026-10-20 01:09:35,963.963 INFO    ] Launching Daemon at Tue Oct 20 01:09:35 IST 2026
[2026-10-20 01:09:35,975.975 INFO    ] ================================================
[2026-10-20 01:09:36,558.558 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:09:36
[2026-10-20 01:09:37,160.160 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:09:37,430.430 INFO    ] Initializing speech engine...
[2026-10-20 01:09:37,456.456 INFO    ] 2026-10-20 01:09:37
[2026-10-20 01:09:37,731.731 INFO    ] 2026-10-20 01:09:37
[2026-10-20 01:09:37,767.767 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:09:37,995.995 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:09:38,023.023 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:09:38,227.227 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:09:38,270.270 INFO    ] time= 20/10/2026 01:09:38
[2026-10-20 01:09:38,314.314 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:09:38,363.363 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:09:38,446.446 INFO    ] No existing commands found in stream
[2026-10-20 01:09:43,457.457 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:09:43,460.460 INFO    ] Waiting 0.92 seconds before fallback handling...
[2026-10-20 01:09:44,884.884 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:09:44,886.886 INFO    ] Checking for system updates...
[2026-10-20 01:09:44,922.922 INFO    ] 200
[2026-10-20 01:09:44,925.925 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:09:44,983.983 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:09:44,985.985 INFO    ] No update needed
[2026-10-20 01:09:44,988.988 INFO    ] Checking for camera pi updates...
[2026-10-20 01:09:45,021.021 INFO    ] 200
[2026-10-20 01:09:45,023.023 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:09:45,063.063 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:09:45,110.110 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:09:45,112.112 INFO    ] No camera update needed
[2026-10-20 01:09:45,115.115 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:09:45,117.117 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:09:45,123.123 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:09:45,128.128 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:09:47,168.168 INFO    ] ================================================
[2026-10-20 01:09:47,183.183 INFO    ] Launching Daemon at Tue Oct 20 01:09:47 IST 2026
[2026-10-20 01:09:47,194.194 INFO    ] ================================================
[2026-10-20 01:09:47,852.852 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:09:47
[2026-10-20 01:09:48,533.533 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:09:48,839.839 INFO    ] Initializing speech engine...
[2026-10-20 01:09:48,853.853 INFO    ] 2026-10-20 01:09:48
[2026-10-20 01:09:49,168.168 INFO    ] 2026-10-20 01:09:49
[2026-10-20 01:09:49,250.250 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:09:49,473.473 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:09:49,479.479 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:09:49,672.672 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:09:49,680.680 INFO    ] time= 20/10/2026 01:09:49
[2026-10-20 01:09:49,702.702 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:09:49,730.730 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:09:49,860.860 INFO    ] No existing commands found in stream
[2026-10-20 01:09:54,891.891 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:09:54,894.894 INFO    ] Waiting 2.77 seconds before fallback handling...
[2026-10-20 01:09:58,161.161 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 01:09:58,164.164 INFO    ] Checking for system updates...
[2026-10-20 01:09:58,201.201 INFO    ] 200
[2026-10-20 01:09:58,204.204 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:09:58,263.263 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:09:58,265.265 INFO    ] No update needed
[2026-10-20 01:09:58,268.268 INFO    ] Checking for camera pi updates...
[2026-10-20 01:09:58,301.301 INFO    ] 200
[2026-10-20 01:09:58,303.303 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:09:58,343.343 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:09:58,390.390 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:09:58,393.393 INFO    ] No camera update needed
[2026-10-20 01:09:58,395.395 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:09:58,397.397 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:09:58,403.403 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:09:58,408.408 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:10:00,449.449 INFO    ] ================================================
[2026-10-20 01:10:00,463.463 INFO    ] Launching Daemon at Tue Oct 20 01:10:00 IST 2026
[2026-10-20 01:10:00,474.474 INFO    ] ================================================
[2026-10-20 01:10:01,055.055 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:10:01
[2026-10-20 01:10:01,954.954 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:10:02,756.756 INFO    ] Initializing speech engine...
[2026-10-20 01:10:02,760.760 INFO    ] 2026-10-20 01:10:02
[2026-10-20 01:10:03,139.139 INFO    ] 2026-10-20 01:10:03
[2026-10-20 01:10:03,178.178 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:10:03,391.391 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:10:03,423.423 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:10:03,670.670 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:10:03,679.679 INFO    ] time= 20/10/2026 01:10:03
[2026-10-20 01:10:03,688.688 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:10:03,746.746 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:10:03,874.874 INFO    ] No existing commands found in stream
[2026-10-20 01:10:08,900.900 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:10:08,902.902 INFO    ] Waiting 0.93 seconds before fallback handling...
[2026-10-20 01:10:10,341.341 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 01:10:10,344.344 INFO    ] Checking for system updates...
[2026-10-20 01:10:10,379.379 INFO    ] 200
[2026-10-20 01:10:10,381.381 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:10:10,434.434 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:10:10,436.436 INFO    ] No update needed
[2026-10-20 01:10:10,439.439 INFO    ] Checking for camera pi updates...
[2026-10-20 01:10:10,472.472 INFO    ] 200
[2026-10-20 01:10:10,475.475 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:10:10,521.521 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:10:10,572.572 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:10:10,574.574 INFO    ] No camera update needed
[2026-10-20 01:10:10,577.577 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:10:10,580.580 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:10:10,587.587 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:10:10,593.593 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:10:12,635.635 INFO    ] ================================================
[2026-10-20 01:10:12,651.651 INFO    ] Launching Daemon at Tue Oct 20 01:10:12 IST 2026
[2026-10-20 01:10:12,661.661 INFO    ] ================================================
[2026-10-20 01:10:13,228.228 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:10:13
[2026-10-20 01:10:13,812.812 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:10:14,061.061 INFO    ] Initializing speech engine...
[2026-10-20 01:10:14,085.085 INFO    ] 2026-10-20 01:10:14
[2026-10-20 01:10:14,342.342 INFO    ] 2026-10-20 01:10:14
[2026-10-20 01:10:14,377.377 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:10:14,645.645 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:10:14,650.650 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:10:14,856.856 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:10:14,911.911 INFO    ] time= 20/10/2026 01:10:14
[2026-10-20 01:10:14,929.929 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:10:14,938.938 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:10:15,069.069 INFO    ] No existing commands found in stream
[2026-10-20 01:10:20,092.092 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:10:20,095.095 INFO    ] Waiting 3.75 seconds before fallback handling...
[2026-10-20 01:10:24,361.361 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:10:24,364.364 INFO    ] Checking for system updates...
[2026-10-20 01:10:24,401.401 INFO    ] 200
[2026-10-20 01:10:24,403.403 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:10:24,463.463 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:10:24,466.466 INFO    ] No update needed
[2026-10-20 01:10:24,469.469 INFO    ] Checking for camera pi updates...
[2026-10-20 01:10:24,504.504 INFO    ] 200
[2026-10-20 01:10:24,506.506 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:10:24,552.552 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:10:24,600.600 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:10:24,603.603 INFO    ] No camera update needed
[2026-10-20 01:10:24,606.606 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:10:24,609.609 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:10:24,615.615 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:10:24,621.621 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:10:26,662.662 INFO    ] ================================================
[2026-10-20 01:10:26,677.677 INFO    ] Launching Daemon at Tue Oct 20 01:10:26 IST 2026
[2026-10-20 01:10:26,688.688 INFO    ] ================================================
[2026-10-20 01:10:27,259.259 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:10:27
[2026-10-20 01:10:27,848.848 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:10:28,103.103 INFO    ] Initializing speech engine...
[2026-10-20 01:10:28,112.112 INFO    ] 2026-10-20 01:10:28
[2026-10-20 01:10:28,408.408 INFO    ] 2026-10-20 01:10:28
[2026-10-20 01:10:28,445.445 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:10:28,674.674 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:10:28,724.724 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:10:28,908.908 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:10:28,979.979 INFO    ] time= 20/10/2026 01:10:28
[2026-10-20 01:10:29,027.027 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:10:29,035.035 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:10:29,176.176 INFO    ] No existing commands found in stream
[2026-10-20 01:10:34,190.190 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:10:34,193.193 INFO    ] Waiting 1.71 seconds before fallback handling...
[2026-10-20 01:10:36,416.416 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:10:36,419.419 INFO    ] Checking for system updates...
[2026-10-20 01:10:36,459.459 INFO    ] 200
[2026-10-20 01:10:36,462.462 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:10:36,513.513 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:10:36,515.515 INFO    ] No update needed
[2026-10-20 01:10:36,518.518 INFO    ] Checking for camera pi updates...
[2026-10-20 01:10:36,551.551 INFO    ] 200
[2026-10-20 01:10:36,553.553 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:10:36,598.598 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:10:36,645.645 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:10:36,647.647 INFO    ] No camera update needed
[2026-10-20 01:10:36,650.650 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:10:36,652.652 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:10:36,657.657 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:10:36,662.662 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:10:38,702.702 INFO    ] ================================================
[2026-10-20 01:10:38,717.717 INFO    ] Launching Daemon at Tue Oct 20 01:10:38 IST 2026
[2026-10-20 01:10:38,727.727 INFO    ] ================================================
[2026-10-20 01:10:39,308.308 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:10:39
[2026-10-20 01:10:39,914.914 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:10:40,181.181 INFO    ] Initializing speech engine...
[2026-10-20 01:10:40,190.190 INFO    ] 2026-10-20 01:10:40
[2026-10-20 01:10:40,437.437 INFO    ] 2026-10-20 01:10:40
[2026-10-20 01:10:40,472.472 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:10:40,729.729 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:10:40,733.733 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:10:40,960.960 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:10:40,993.993 INFO    ] time= 20/10/2026 01:10:40
[2026-10-20 01:10:41,009.009 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:10:41,046.046 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:10:41,189.189 INFO    ] No existing commands found in stream
[2026-10-20 01:10:46,214.214 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:10:46,217.217 INFO    ] Waiting 2.40 seconds before fallback handling...
[2026-10-20 01:10:49,138.138 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 01:10:49,141.141 INFO    ] Checking for system updates...
[2026-10-20 01:10:49,176.176 INFO    ] 200
[2026-10-20 01:10:49,179.179 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:10:49,234.234 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:10:49,236.236 INFO    ] No update needed
[2026-10-20 01:10:49,239.239 INFO    ] Checking for camera pi updates...
[2026-10-20 01:10:49,272.272 INFO    ] 200
[2026-10-20 01:10:49,274.274 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:10:49,313.313 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:10:49,460.460 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:10:49,462.462 INFO    ] No camera update needed
[2026-10-20 01:10:49,465.465 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:10:49,467.467 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:10:49,472.472 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:10:49,484.484 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:10:51,525.525 INFO    ] ================================================
[2026-10-20 01:10:51,540.540 INFO    ] Launching Daemon at Tue Oct 20 01:10:51 IST 2026
[2026-10-20 01:10:51,550.550 INFO    ] ================================================
[2026-10-20 01:10:52,127.127 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:10:52
[2026-10-20 01:10:52,719.719 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:10:52,981.981 INFO    ] Initializing speech engine...
[2026-10-20 01:10:52,995.995 INFO    ] 2026-10-20 01:10:52
[2026-10-20 01:10:53,282.282 INFO    ] 2026-10-20 01:10:53
[2026-10-20 01:10:53,318.318 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:10:53,542.542 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:10:53,551.551 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:10:53,697.697 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:10:53,703.703 INFO    ] time= 20/10/2026 01:10:53
[2026-10-20 01:10:53,709.709 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:10:53,715.715 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:10:53,856.856 INFO    ] No existing commands found in stream
[2026-10-20 01:10:58,881.881 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:10:58,884.884 INFO    ] Waiting 1.97 seconds before fallback handling...
[2026-10-20 01:11:01,427.427 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:11:01,431.431 INFO    ] Checking for system updates...
[2026-10-20 01:11:01,485.485 INFO    ] 200
[2026-10-20 01:11:01,488.488 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:11:01,566.566 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:11:01,568.568 INFO    ] No update needed
[2026-10-20 01:11:01,571.571 INFO    ] Checking for camera pi updates...
[2026-10-20 01:11:01,610.610 INFO    ] 200
[2026-10-20 01:11:01,613.613 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:11:01,659.659 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:11:01,707.707 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:11:01,710.710 INFO    ] No camera update needed
[2026-10-20 01:11:01,713.713 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:11:01,716.716 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:11:01,723.723 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:11:01,728.728 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:11:03,773.773 INFO    ] ================================================
[2026-10-20 01:11:03,787.787 INFO    ] Launching Daemon at Tue Oct 20 01:11:03 IST 2026
[2026-10-20 01:11:03,798.798 INFO    ] ================================================
[2026-10-20 01:11:04,366.366 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:11:04
[2026-10-20 01:11:04,953.953 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:11:05,212.212 INFO    ] Initializing speech engine...
[2026-10-20 01:11:05,226.226 INFO    ] 2026-10-20 01:11:05
[2026-10-20 01:11:05,506.506 INFO    ] 2026-10-20 01:11:05
[2026-10-20 01:11:05,543.543 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:11:05,738.738 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:11:05,752.752 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:11:05,916.916 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:11:05,921.921 INFO    ] time= 20/10/2026 01:11:05
[2026-10-20 01:11:05,927.927 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:11:05,969.969 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:11:06,121.121 INFO    ] No existing commands found in stream
[2026-10-20 01:11:11,150.150 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:11:11,153.153 INFO    ] Waiting 3.65 seconds before fallback handling...
[2026-10-20 01:11:15,324.324 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:11:15,326.326 INFO    ] Checking for system updates...
[2026-10-20 01:11:15,361.361 INFO    ] 200
[2026-10-20 01:11:15,364.364 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:11:15,414.414 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:11:15,417.417 INFO    ] No update needed
[2026-10-20 01:11:15,419.419 INFO    ] Checking for camera pi updates...
[2026-10-20 01:11:15,455.455 INFO    ] 200
[2026-10-20 01:11:15,458.458 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:11:15,498.498 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:11:15,544.544 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:11:15,547.547 INFO    ] No camera update needed
[2026-10-20 01:11:15,549.549 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:11:15,552.552 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:11:15,557.557 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:11:15,562.562 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:11:17,601.601 INFO    ] ================================================
[2026-10-20 01:11:17,616.616 INFO    ] Launching Daemon at Tue Oct 20 01:11:17 IST 2026
[2026-10-20 01:11:17,626.626 INFO    ] ================================================
[2026-10-20 01:11:18,272.272 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:11:18
[2026-10-20 01:11:18,930.930 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:11:19,231.231 INFO    ] Initializing speech engine...
[2026-10-20 01:11:19,236.236 INFO    ] 2026-10-20 01:11:19
[2026-10-20 01:11:19,524.524 INFO    ] 2026-10-20 01:11:19
[2026-10-20 01:11:19,571.571 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:11:19,822.822 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:11:19,830.830 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:11:20,021.021 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:11:20,072.072 INFO    ] time= 20/10/2026 01:11:20
[2026-10-20 01:11:20,080.080 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:11:20,101.101 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:11:20,234.234 INFO    ] No existing commands found in stream
[2026-10-20 01:11:25,264.264 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:11:25,267.267 INFO    ] Waiting 2.51 seconds before fallback handling...
[2026-10-20 01:11:28,301.301 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:11:28,304.304 INFO    ] Checking for system updates...
[2026-10-20 01:11:28,340.340 INFO    ] 200
[2026-10-20 01:11:28,343.343 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:11:28,395.395 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:11:28,398.398 INFO    ] No update needed
[2026-10-20 01:11:28,400.400 INFO    ] Checking for camera pi updates...
[2026-10-20 01:11:28,434.434 INFO    ] 200
[2026-10-20 01:11:28,437.437 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:11:28,478.478 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:11:28,531.531 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:11:28,534.534 INFO    ] No camera update needed
[2026-10-20 01:11:28,536.536 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:11:28,539.539 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:11:28,545.545 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:11:28,551.551 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:11:30,592.592 INFO    ] ================================================
[2026-10-20 01:11:30,608.608 INFO    ] Launching Daemon at Tue Oct 20 01:11:30 IST 2026
[2026-10-20 01:11:30,618.618 INFO    ] ================================================
[2026-10-20 01:11:31,197.197 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:11:31
[2026-10-20 01:11:31,816.816 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:11:32,106.106 INFO    ] Initializing speech engine...
[2026-10-20 01:11:32,115.115 INFO    ] 2026-10-20 01:11:32
[2026-10-20 01:11:32,392.392 INFO    ] 2026-10-20 01:11:32
[2026-10-20 01:11:32,436.436 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:11:32,705.705 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:11:32,710.710 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:11:32,923.923 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:11:32,976.976 INFO    ] time= 20/10/2026 01:11:32
[2026-10-20 01:11:32,983.983 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:11:33,002.002 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:11:33,157.157 INFO    ] No existing commands found in stream
[2026-10-20 01:11:38,193.193 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:11:38,196.196 INFO    ] Waiting 0.97 seconds before fallback handling...
[2026-10-20 01:11:39,687.687 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 01:11:39,691.691 INFO    ] Checking for system updates...
[2026-10-20 01:11:39,728.728 INFO    ] 200
[2026-10-20 01:11:39,731.731 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:11:39,784.784 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:11:39,787.787 INFO    ] No update needed
[2026-10-20 01:11:39,790.790 INFO    ] Checking for camera pi updates...
[2026-10-20 01:11:39,824.824 INFO    ] 200
[2026-10-20 01:11:39,827.827 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:11:39,868.868 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:11:39,929.929 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:11:39,932.932 INFO    ] No camera update needed
[2026-10-20 01:11:39,935.935 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:11:39,937.937 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:11:39,943.943 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:11:39,949.949 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:11:41,991.991 INFO    ] ================================================
[2026-10-20 01:11:42,008.008 INFO    ] Launching Daemon at Tue Oct 20 01:11:42 IST 2026
[2026-10-20 01:11:42,019.019 INFO    ] ================================================
[2026-10-20 01:11:42,611.611 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:11:42
[2026-10-20 01:11:43,216.216 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:11:43,495.495 INFO    ] Initializing speech engine...
[2026-10-20 01:11:43,502.502 INFO    ] 2026-10-20 01:11:43
[2026-10-20 01:11:43,764.764 INFO    ] 2026-10-20 01:11:43
[2026-10-20 01:11:43,817.817 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:11:44,040.040 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:11:44,050.050 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:11:44,290.290 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:11:44,313.313 INFO    ] time= 20/10/2026 01:11:44
[2026-10-20 01:11:44,332.332 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:11:44,350.350 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:11:44,524.524 INFO    ] No existing commands found in stream
[2026-10-20 01:11:49,561.561 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:11:49,564.564 INFO    ] Waiting 3.19 seconds before fallback handling...
[2026-10-20 01:11:53,296.296 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 01:11:53,299.299 INFO    ] Checking for system updates...
[2026-10-20 01:11:53,339.339 INFO    ] 200
[2026-10-20 01:11:53,343.343 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:11:53,396.396 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:11:53,398.398 INFO    ] No update needed
[2026-10-20 01:11:53,401.401 INFO    ] Checking for camera pi updates...
[2026-10-20 01:11:53,435.435 INFO    ] 200
[2026-10-20 01:11:53,437.437 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:11:53,485.485 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:11:53,534.534 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:11:53,536.536 INFO    ] No camera update needed
[2026-10-20 01:11:53,539.539 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:11:53,541.541 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:11:53,547.547 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:11:53,552.552 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:11:55,593.593 INFO    ] ================================================
[2026-10-20 01:11:55,609.609 INFO    ] Launching Daemon at Tue Oct 20 01:11:55 IST 2026
[2026-10-20 01:11:55,619.619 INFO    ] ================================================
[2026-10-20 01:11:56,185.185 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:11:56
[2026-10-20 01:11:56,771.771 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:11:57,031.031 INFO    ] Initializing speech engine...
[2026-10-20 01:11:57,051.051 INFO    ] 2026-10-20 01:11:57
[2026-10-20 01:11:57,300.300 INFO    ] 2026-10-20 01:11:57
[2026-10-20 01:11:57,335.335 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:11:57,592.592 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:11:57,602.602 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:11:57,810.810 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:11:57,859.859 INFO    ] time= 20/10/2026 01:11:57
[2026-10-20 01:11:57,871.871 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:11:57,887.887 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:11:58,027.027 INFO    ] No existing commands found in stream
[2026-10-20 01:12:03,050.050 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:12:03,053.053 INFO    ] Waiting 1.84 seconds before fallback handling...
[2026-10-20 01:12:05,370.370 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 01:12:05,373.373 INFO    ] Checking for system updates...
[2026-10-20 01:12:05,408.408 INFO    ] 200
[2026-10-20 01:12:05,411.411 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:12:05,462.462 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:12:05,464.464 INFO    ] No update needed
[2026-10-20 01:12:05,466.466 INFO    ] Checking for camera pi updates...
[2026-10-20 01:12:05,500.500 INFO    ] 200
[2026-10-20 01:12:05,502.502 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:12:05,542.542 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:12:05,587.587 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:12:05,589.589 INFO    ] No camera update needed
[2026-10-20 01:12:05,592.592 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:12:05,594.594 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:12:05,600.600 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:12:05,605.605 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:12:07,646.646 INFO    ] ================================================
[2026-10-20 01:12:07,661.661 INFO    ] Launching Daemon at Tue Oct 20 01:12:07 IST 2026
[2026-10-20 01:12:07,673.673 INFO    ] ================================================
[2026-10-20 01:12:08,258.258 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:12:08
[2026-10-20 01:12:08,860.860 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:12:09,139.139 INFO    ] Initializing speech engine...
[2026-10-20 01:12:09,147.147 INFO    ] 2026-10-20 01:12:09
[2026-10-20 01:12:09,403.403 INFO    ] 2026-10-20 01:12:09
[2026-10-20 01:12:09,455.455 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:12:09,683.683 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:12:09,688.688 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:12:09,886.886 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:12:09,943.943 INFO    ] time= 20/10/2026 01:12:09
[2026-10-20 01:12:09,950.950 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:12:09,967.967 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:12:10,099.099 INFO    ] No existing commands found in stream
[2026-10-20 01:12:15,118.118 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:12:15,121.121 INFO    ] Waiting 3.29 seconds before fallback handling...
[2026-10-20 01:12:18,929.929 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:12:18,932.932 INFO    ] Checking for system updates...
[2026-10-20 01:12:18,969.969 INFO    ] 200
[2026-10-20 01:12:18,971.971 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:12:19,027.027 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:12:19,030.030 INFO    ] No update needed
[2026-10-20 01:12:19,032.032 INFO    ] Checking for camera pi updates...
[2026-10-20 01:12:19,067.067 INFO    ] 200
[2026-10-20 01:12:19,069.069 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:12:19,110.110 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:12:19,181.181 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:12:19,183.183 INFO    ] No camera update needed
[2026-10-20 01:12:19,186.186 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:12:19,188.188 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:12:19,193.193 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:12:19,199.199 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:12:21,240.240 INFO    ] ================================================
[2026-10-20 01:12:21,255.255 INFO    ] Launching Daemon at Tue Oct 20 01:12:21 IST 2026
[2026-10-20 01:12:21,266.266 INFO    ] ================================================
[2026-10-20 01:12:21,854.854 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:12:21
[2026-10-20 01:12:22,451.451 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:12:22,721.721 INFO    ] Initializing speech engine...
[2026-10-20 01:12:22,737.737 INFO    ] 2026-10-20 01:12:22
[2026-10-20 01:12:23,013.013 INFO    ] 2026-10-20 01:12:22
[2026-10-20 01:12:23,049.049 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:12:23,275.275 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:12:23,310.310 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:12:23,503.503 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:12:23,563.563 INFO    ] time= 20/10/2026 01:12:23
[2026-10-20 01:12:23,602.602 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:12:23,652.652 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:12:23,785.785 INFO    ] No existing commands found in stream
[2026-10-20 01:12:28,802.802 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:12:28,805.805 INFO    ] Waiting 1.19 seconds before fallback handling...
[2026-10-20 01:12:30,517.517 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 01:12:30,520.520 INFO    ] Checking for system updates...
[2026-10-20 01:12:30,556.556 INFO    ] 200
[2026-10-20 01:12:30,558.558 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:12:30,611.611 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:12:30,614.614 INFO    ] No update needed
[2026-10-20 01:12:30,616.616 INFO    ] Checking for camera pi updates...
[2026-10-20 01:12:30,657.657 INFO    ] 200
[2026-10-20 01:12:30,659.659 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:12:30,699.699 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:12:30,743.743 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:12:30,745.745 INFO    ] No camera update needed
[2026-10-20 01:12:30,747.747 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:12:30,750.750 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:12:30,755.755 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:12:30,760.760 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:12:32,801.801 INFO    ] ================================================
[2026-10-20 01:12:32,816.816 INFO    ] Launching Daemon at Tue Oct 20 01:12:32 IST 2026
[2026-10-20 01:12:32,827.827 INFO    ] ================================================
[2026-10-20 01:12:33,393.393 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:12:33
[2026-10-20 01:12:33,977.977 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:12:34,237.237 INFO    ] Initializing speech engine...
[2026-10-20 01:12:34,263.263 INFO    ] 2026-10-20 01:12:34
[2026-10-20 01:12:34,532.532 INFO    ] 2026-10-20 01:12:34
[2026-10-20 01:12:34,567.567 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:12:34,793.793 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:12:34,801.801 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:12:34,944.944 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:12:34,953.953 INFO    ] time= 20/10/2026 01:12:34
[2026-10-20 01:12:34,962.962 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:12:35,007.007 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:12:35,147.147 INFO    ] No existing commands found in stream
[2026-10-20 01:12:40,177.177 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:12:40,180.180 INFO    ] Waiting 3.55 seconds before fallback handling...
[2026-10-20 01:12:44,212.212 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:12:44,215.215 INFO    ] Checking for system updates...
[2026-10-20 01:12:44,250.250 INFO    ] 200
[2026-10-20 01:12:44,252.252 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:12:44,303.303 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:12:44,306.306 INFO    ] No update needed
[2026-10-20 01:12:44,308.308 INFO    ] Checking for camera pi updates...
[2026-10-20 01:12:44,341.341 INFO    ] 200
[2026-10-20 01:12:44,343.343 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:12:44,387.387 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:12:44,433.433 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:12:44,435.435 INFO    ] No camera update needed
[2026-10-20 01:12:44,438.438 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:12:44,440.440 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:12:44,445.445 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:12:44,450.450 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:12:46,490.490 INFO    ] ================================================
[2026-10-20 01:12:46,505.505 INFO    ] Launching Daemon at Tue Oct 20 01:12:46 IST 2026
[2026-10-20 01:12:46,516.516 INFO    ] ================================================
[2026-10-20 01:12:47,084.084 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:12:47
[2026-10-20 01:12:47,683.683 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:12:47,944.944 INFO    ] Initializing speech engine...
[2026-10-20 01:12:47,952.952 INFO    ] 2026-10-20 01:12:47
[2026-10-20 01:12:48,251.251 INFO    ] 2026-10-20 01:12:48
[2026-10-20 01:12:48,285.285 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:12:48,488.488 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:12:48,501.501 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:12:48,652.652 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:12:48,672.672 INFO    ] time= 20/10/2026 01:12:48
[2026-10-20 01:12:48,678.678 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:12:48,685.685 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:12:48,818.818 INFO    ] No existing commands found in stream
[2026-10-20 01:12:53,848.848 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:12:53,851.851 INFO    ] Waiting 0.26 seconds before fallback handling...
[2026-10-20 01:12:54,658.658 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:12:54,661.661 INFO    ] Checking for system updates...
[2026-10-20 01:12:54,696.696 INFO    ] 200
[2026-10-20 01:12:54,699.699 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:12:54,751.751 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:12:54,753.753 INFO    ] No update needed
[2026-10-20 01:12:54,755.755 INFO    ] Checking for camera pi updates...
[2026-10-20 01:12:54,789.789 INFO    ] 200
[2026-10-20 01:12:54,791.791 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:12:54,830.830 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:12:54,976.976 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:12:54,979.979 INFO    ] No camera update needed
[2026-10-20 01:12:54,981.981 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:12:54,983.983 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:12:54,989.989 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:12:54,993.993 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:12:57,033.033 INFO    ] ================================================
[2026-10-20 01:12:57,048.048 INFO    ] Launching Daemon at Tue Oct 20 01:12:57 IST 2026
[2026-10-20 01:12:57,059.059 INFO    ] ================================================
[2026-10-20 01:12:57,712.712 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:12:57
[2026-10-20 01:12:58,388.388 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:12:58,695.695 INFO    ] Initializing speech engine...
[2026-10-20 01:12:58,706.706 INFO    ] 2026-10-20 01:12:58
[2026-10-20 01:12:58,989.989 INFO    ] 2026-10-20 01:12:58
[2026-10-20 01:12:59,098.098 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:12:59,313.313 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:12:59,322.322 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:12:59,527.527 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:12:59,537.537 INFO    ] time= 20/10/2026 01:12:59
[2026-10-20 01:12:59,565.565 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:12:59,573.573 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:12:59,695.695 INFO    ] No existing commands found in stream
[2026-10-20 01:13:04,720.720 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:13:04,723.723 INFO    ] Waiting 0.44 seconds before fallback handling...
[2026-10-20 01:13:05,716.716 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 01:13:05,719.719 INFO    ] Checking for system updates...
[2026-10-20 01:13:05,755.755 INFO    ] 200
[2026-10-20 01:13:05,758.758 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:13:05,817.817 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:13:05,821.821 INFO    ] No update needed
[2026-10-20 01:13:05,824.824 INFO    ] Checking for camera pi updates...
[2026-10-20 01:13:05,858.858 INFO    ] 200
[2026-10-20 01:13:05,861.861 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:13:05,901.901 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:13:05,946.946 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:13:05,948.948 INFO    ] No camera update needed
[2026-10-20 01:13:05,951.951 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:13:05,953.953 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:13:05,958.958 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:13:05,963.963 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:13:08,003.003 INFO    ] ================================================
[2026-10-20 01:13:08,017.017 INFO    ] Launching Daemon at Tue Oct 20 01:13:08 IST 2026
[2026-10-20 01:13:08,028.028 INFO    ] ================================================
[2026-10-20 01:13:08,671.671 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:13:08
[2026-10-20 01:13:09,333.333 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:13:09,635.635 INFO    ] Initializing speech engine...
[2026-10-20 01:13:09,649.649 INFO    ] 2026-10-20 01:13:09
[2026-10-20 01:13:09,928.928 INFO    ] 2026-10-20 01:13:09
[2026-10-20 01:13:09,971.971 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:13:10,254.254 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:13:10,262.262 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:13:10,458.458 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:13:10,476.476 INFO    ] time= 20/10/2026 01:13:10
[2026-10-20 01:13:10,502.502 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:13:10,513.513 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:13:10,629.629 INFO    ] No existing commands found in stream
[2026-10-20 01:13:15,654.654 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:13:15,657.657 INFO    ] Waiting 0.13 seconds before fallback handling...
[2026-10-20 01:13:16,340.340 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 01:13:16,343.343 INFO    ] Checking for system updates...
[2026-10-20 01:13:16,379.379 INFO    ] 200
[2026-10-20 01:13:16,382.382 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:13:16,437.437 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:13:16,440.440 INFO    ] No update needed
[2026-10-20 01:13:16,442.442 INFO    ] Checking for camera pi updates...
[2026-10-20 01:13:16,476.476 INFO    ] 200
[2026-10-20 01:13:16,478.478 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:13:16,518.518 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:13:16,573.573 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:13:16,575.575 INFO    ] No camera update needed
[2026-10-20 01:13:16,577.577 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:13:16,580.580 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:13:16,585.585 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:13:16,590.590 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:13:18,631.631 INFO    ] ================================================
[2026-10-20 01:13:18,646.646 INFO    ] Launching Daemon at Tue Oct 20 01:13:18 IST 2026
[2026-10-20 01:13:18,657.657 INFO    ] ================================================
[2026-10-20 01:13:19,296.296 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:13:19
[2026-10-20 01:13:19,956.956 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:13:20,254.254 INFO    ] Initializing speech engine...
[2026-10-20 01:13:20,263.263 INFO    ] 2026-10-20 01:13:20
[2026-10-20 01:13:20,532.532 INFO    ] 2026-10-20 01:13:20
[2026-10-20 01:13:20,568.568 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:13:20,829.829 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:13:20,850.850 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:13:21,077.077 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:13:21,100.100 INFO    ] time= 20/10/2026 01:13:21
[2026-10-20 01:13:21,117.117 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:13:21,132.132 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:13:21,308.308 INFO    ] No existing commands found in stream
[2026-10-20 01:13:26,333.333 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:13:26,336.336 INFO    ] Waiting 0.33 seconds before fallback handling...
[2026-10-20 01:13:27,210.210 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:13:27,213.213 INFO    ] Checking for system updates...
[2026-10-20 01:13:27,250.250 INFO    ] 200
[2026-10-20 01:13:27,253.253 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:13:27,304.304 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:13:27,307.307 INFO    ] No update needed
[2026-10-20 01:13:27,309.309 INFO    ] Checking for camera pi updates...
[2026-10-20 01:13:27,342.342 INFO    ] 200
[2026-10-20 01:13:27,345.345 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:13:27,385.385 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:13:27,429.429 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:13:27,432.432 INFO    ] No camera update needed
[2026-10-20 01:13:27,434.434 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:13:27,436.436 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:13:27,442.442 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:13:27,446.446 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:13:29,485.485 INFO    ] ================================================
[2026-10-20 01:13:29,501.501 INFO    ] Launching Daemon at Tue Oct 20 01:13:29 IST 2026
[2026-10-20 01:13:29,512.512 INFO    ] ================================================
[2026-10-20 01:13:30,082.082 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:13:30
[2026-10-20 01:13:30,664.664 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:13:30,923.923 INFO    ] Initializing speech engine...
[2026-10-20 01:13:30,943.943 INFO    ] 2026-10-20 01:13:30
[2026-10-20 01:13:31,202.202 INFO    ] 2026-10-20 01:13:31
[2026-10-20 01:13:31,274.274 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:13:31,509.509 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:13:31,519.519 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:13:31,661.661 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:13:31,706.706 INFO    ] time= 20/10/2026 01:13:31
[2026-10-20 01:13:31,772.772 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:13:31,803.803 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:13:31,940.940 INFO    ] No existing commands found in stream
[2026-10-20 01:13:36,972.972 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:13:36,975.975 INFO    ] Waiting 0.69 seconds before fallback handling...
[2026-10-20 01:13:38,121.121 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 01:13:38,123.123 INFO    ] Checking for system updates...
[2026-10-20 01:13:38,159.159 INFO    ] 200
[2026-10-20 01:13:38,163.163 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:13:38,221.221 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:13:38,224.224 INFO    ] No update needed
[2026-10-20 01:13:38,227.227 INFO    ] Checking for camera pi updates...
[2026-10-20 01:13:38,260.260 INFO    ] 200
[2026-10-20 01:13:38,263.263 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:13:38,302.302 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:13:38,362.362 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:13:38,364.364 INFO    ] No camera update needed
[2026-10-20 01:13:38,366.366 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:13:38,369.369 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:13:38,374.374 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:13:38,379.379 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:13:40,421.421 INFO    ] ================================================
[2026-10-20 01:13:40,436.436 INFO    ] Launching Daemon at Tue Oct 20 01:13:40 IST 2026
[2026-10-20 01:13:40,447.447 INFO    ] ================================================
[2026-10-20 01:13:41,093.093 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:13:41
[2026-10-20 01:13:41,676.676 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:13:41,971.971 INFO    ] Initializing speech engine...
[2026-10-20 01:13:41,979.979 INFO    ] 2026-10-20 01:13:41
[2026-10-20 01:13:42,265.265 INFO    ] 2026-10-20 01:13:42
[2026-10-20 01:13:42,312.312 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:13:42,567.567 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:13:42,572.572 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:13:42,772.772 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:13:42,812.812 INFO    ] time= 20/10/2026 01:13:42
[2026-10-20 01:13:42,818.818 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:13:42,840.840 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:13:42,995.995 INFO    ] No existing commands found in stream
[2026-10-20 01:13:48,022.022 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:13:48,026.026 INFO    ] Waiting 3.76 seconds before fallback handling...
[2026-10-20 01:13:52,273.273 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 01:13:52,275.275 INFO    ] Checking for system updates...
[2026-10-20 01:13:52,310.310 INFO    ] 200
[2026-10-20 01:13:52,313.313 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:13:52,370.370 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:13:52,373.373 INFO    ] No update needed
[2026-10-20 01:13:52,376.376 INFO    ] Checking for camera pi updates...
[2026-10-20 01:13:52,414.414 INFO    ] 200
[2026-10-20 01:13:52,416.416 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:13:52,458.458 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:13:52,502.502 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:13:52,505.505 INFO    ] No camera update needed
[2026-10-20 01:13:52,508.508 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:13:52,511.511 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:13:52,517.517 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:13:52,522.522 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:13:54,563.563 INFO    ] ================================================
[2026-10-20 01:13:54,579.579 INFO    ] Launching Daemon at Tue Oct 20 01:13:54 IST 2026
[2026-10-20 01:13:54,590.590 INFO    ] ================================================
[2026-10-20 01:13:55,235.235 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:13:55
[2026-10-20 01:13:55,899.899 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:13:56,210.210 INFO    ] Initializing speech engine...
[2026-10-20 01:13:56,219.219 INFO    ] 2026-10-20 01:13:56
[2026-10-20 01:13:56,518.518 INFO    ] 2026-10-20 01:13:56
[2026-10-20 01:13:56,607.607 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:13:56,820.820 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:13:56,829.829 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:13:57,017.017 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:13:57,024.024 INFO    ] time= 20/10/2026 01:13:57
[2026-10-20 01:13:57,046.046 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:13:57,073.073 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:13:57,179.179 INFO    ] No existing commands found in stream
[2026-10-20 01:14:02,210.210 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:14:02,213.213 INFO    ] Waiting 0.51 seconds before fallback handling...
[2026-10-20 01:14:03,283.283 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 01:14:03,286.286 INFO    ] Checking for system updates...
[2026-10-20 01:14:03,323.323 INFO    ] 200
[2026-10-20 01:14:03,325.325 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:14:03,378.378 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:14:03,381.381 INFO    ] No update needed
[2026-10-20 01:14:03,383.383 INFO    ] Checking for camera pi updates...
[2026-10-20 01:14:03,422.422 INFO    ] 200
[2026-10-20 01:14:03,424.424 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:14:03,470.470 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:14:03,521.521 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:14:03,524.524 INFO    ] No camera update needed
[2026-10-20 01:14:03,526.526 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:14:03,529.529 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:14:03,535.535 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:14:03,541.541 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:14:05,581.581 INFO    ] ================================================
[2026-10-20 01:14:05,597.597 INFO    ] Launching Daemon at Tue Oct 20 01:14:05 IST 2026
[2026-10-20 01:14:05,607.607 INFO    ] ================================================
[2026-10-20 01:14:06,188.188 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:14:06
[2026-10-20 01:14:06,788.788 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:14:07,062.062 INFO    ] Initializing speech engine...
[2026-10-20 01:14:07,072.072 INFO    ] 2026-10-20 01:14:07
[2026-10-20 01:14:07,319.319 INFO    ] 2026-10-20 01:14:07
[2026-10-20 01:14:07,354.354 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:14:07,566.566 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:14:07,608.608 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:14:07,749.749 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:14:07,819.819 INFO    ] time= 20/10/2026 01:14:07
[2026-10-20 01:14:07,875.875 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:14:07,882.882 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:14:08,027.027 INFO    ] No existing commands found in stream
[2026-10-20 01:14:13,041.041 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:14:13,043.043 INFO    ] Waiting 1.63 seconds before fallback handling...
[2026-10-20 01:14:15,161.161 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 01:14:15,164.164 INFO    ] Checking for system updates...
[2026-10-20 01:14:15,200.200 INFO    ] 200
[2026-10-20 01:14:15,202.202 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:14:15,260.260 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:14:15,262.262 INFO    ] No update needed
[2026-10-20 01:14:15,265.265 INFO    ] Checking for camera pi updates...
[2026-10-20 01:14:15,302.302 INFO    ] 200
[2026-10-20 01:14:15,304.304 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:14:15,348.348 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:14:15,391.391 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:14:15,394.394 INFO    ] No camera update needed
[2026-10-20 01:14:15,396.396 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:14:15,398.398 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:14:15,404.404 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:14:15,409.409 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:14:17,449.449 INFO    ] ================================================
[2026-10-20 01:14:17,464.464 INFO    ] Launching Daemon at Tue Oct 20 01:14:17 IST 2026
[2026-10-20 01:14:17,476.476 INFO    ] ================================================
[2026-10-20 01:14:18,047.047 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:14:18
[2026-10-20 01:14:18,630.630 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:14:18,879.879 INFO    ] Initializing speech engine...
[2026-10-20 01:14:18,900.900 INFO    ] 2026-10-20 01:14:18
[2026-10-20 01:14:19,159.159 INFO    ] 2026-10-20 01:14:19
[2026-10-20 01:14:19,192.192 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:14:19,395.395 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:14:19,454.454 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:14:19,650.650 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:14:19,715.715 INFO    ] time= 20/10/2026 01:14:19
[2026-10-20 01:14:19,730.730 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:14:19,736.736 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:14:19,874.874 INFO    ] No existing commands found in stream
[2026-10-20 01:14:24,891.891 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:14:24,894.894 INFO    ] Waiting 0.88 seconds before fallback handling...
[2026-10-20 01:14:26,313.313 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 01:14:26,316.316 INFO    ] Checking for system updates...
[2026-10-20 01:14:26,352.352 INFO    ] 200
[2026-10-20 01:14:26,355.355 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:14:26,407.407 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:14:26,410.410 INFO    ] No update needed
[2026-10-20 01:14:26,413.413 INFO    ] Checking for camera pi updates...
[2026-10-20 01:14:26,447.447 INFO    ] 200
[2026-10-20 01:14:26,450.450 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:14:26,489.489 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:14:26,531.531 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:14:26,534.534 INFO    ] No camera update needed
[2026-10-20 01:14:26,536.536 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:14:26,538.538 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:14:26,544.544 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:14:26,549.549 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:14:28,589.589 INFO    ] ================================================
[2026-10-20 01:14:28,604.604 INFO    ] Launching Daemon at Tue Oct 20 01:14:28 IST 2026
[2026-10-20 01:14:28,615.615 INFO    ] ================================================
[2026-10-20 01:14:29,261.261 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:14:29
[2026-10-20 01:14:29,930.930 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:14:30,229.229 INFO    ] Initializing speech engine...
[2026-10-20 01:14:30,243.243 INFO    ] 2026-10-20 01:14:30
[2026-10-20 01:14:30,547.547 INFO    ] 2026-10-20 01:14:30
[2026-10-20 01:14:30,630.630 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:14:30,849.849 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:14:30,859.859 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:14:31,051.051 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:14:31,071.071 INFO    ] time= 20/10/2026 01:14:31
[2026-10-20 01:14:31,103.103 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:14:31,115.115 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:14:31,250.250 INFO    ] No existing commands found in stream
[2026-10-20 01:14:36,281.281 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:14:36,284.284 INFO    ] Waiting 3.65 seconds before fallback handling...
[2026-10-20 01:14:40,498.498 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:14:40,501.501 INFO    ] Checking for system updates...
[2026-10-20 01:14:40,537.537 INFO    ] 200
[2026-10-20 01:14:40,539.539 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:14:40,596.596 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:14:40,598.598 INFO    ] No update needed
[2026-10-20 01:14:40,601.601 INFO    ] Checking for camera pi updates...
[2026-10-20 01:14:40,633.633 INFO    ] 200
[2026-10-20 01:14:40,636.636 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:14:40,679.679 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:14:40,731.731 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:14:40,733.733 INFO    ] No camera update needed
[2026-10-20 01:14:40,736.736 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:14:40,738.738 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:14:40,744.744 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:14:40,749.749 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:14:42,789.789 INFO    ] ================================================
[2026-10-20 01:14:42,804.804 INFO    ] Launching Daemon at Tue Oct 20 01:14:42 IST 2026
[2026-10-20 01:14:42,815.815 INFO    ] ================================================
[2026-10-20 01:14:43,449.449 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:14:43
[2026-10-20 01:14:44,061.061 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:14:44,328.328 INFO    ] Initializing speech engine...
[2026-10-20 01:14:44,337.337 INFO    ] 2026-10-20 01:14:44
[2026-10-20 01:14:44,596.596 INFO    ] 2026-10-20 01:14:44
[2026-10-20 01:14:44,625.625 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:14:44,872.872 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:14:44,880.880 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:14:45,063.063 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:14:45,107.107 INFO    ] time= 20/10/2026 01:14:45
[2026-10-20 01:14:45,162.162 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:14:45,177.177 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:14:45,301.301 INFO    ] No existing commands found in stream
[2026-10-20 01:14:50,318.318 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:14:50,321.321 INFO    ] Waiting 3.78 seconds before fallback handling...
[2026-10-20 01:14:54,664.664 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:14:54,667.667 INFO    ] Checking for system updates...
[2026-10-20 01:14:54,707.707 INFO    ] 200
[2026-10-20 01:14:54,710.710 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:14:54,766.766 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:14:54,769.769 INFO    ] No update needed
[2026-10-20 01:14:54,771.771 INFO    ] Checking for camera pi updates...
[2026-10-20 01:14:54,809.809 INFO    ] 200
[2026-10-20 01:14:54,811.811 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:14:54,860.860 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:14:54,906.906 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:14:54,909.909 INFO    ] No camera update needed
[2026-10-20 01:14:54,911.911 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:14:54,914.914 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:14:54,920.920 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:14:54,925.925 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:14:56,965.965 INFO    ] ================================================
[2026-10-20 01:14:56,980.980 INFO    ] Launching Daemon at Tue Oct 20 01:14:56 IST 2026
[2026-10-20 01:14:56,991.991 INFO    ] ================================================
[2026-10-20 01:14:57,585.585 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:14:57
[2026-10-20 01:14:58,170.170 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:14:58,439.439 INFO    ] Initializing speech engine...
[2026-10-20 01:14:58,448.448 INFO    ] 2026-10-20 01:14:58
[2026-10-20 01:14:58,706.706 INFO    ] 2026-10-20 01:14:58
[2026-10-20 01:14:58,736.736 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:14:58,981.981 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:14:58,991.991 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:14:59,189.189 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:14:59,234.234 INFO    ] time= 20/10/2026 01:14:59
[2026-10-20 01:14:59,254.254 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:14:59,268.268 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:14:59,401.401 INFO    ] No existing commands found in stream
[2026-10-20 01:15:04,411.411 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:15:04,414.414 INFO    ] Waiting 1.69 seconds before fallback handling...
[2026-10-20 01:15:06,620.620 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:15:06,622.622 INFO    ] Checking for system updates...
[2026-10-20 01:15:06,657.657 INFO    ] 200
[2026-10-20 01:15:06,660.660 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:15:06,712.712 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:15:06,715.715 INFO    ] No update needed
[2026-10-20 01:15:06,717.717 INFO    ] Checking for camera pi updates...
[2026-10-20 01:15:06,750.750 INFO    ] 200
[2026-10-20 01:15:06,752.752 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:15:06,793.793 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:15:06,823.823 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:15:06,826.826 INFO    ] No camera update needed
[2026-10-20 01:15:06,828.828 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:15:06,831.831 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:15:06,836.836 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:15:06,841.841 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:15:08,881.881 INFO    ] ================================================
[2026-10-20 01:15:08,895.895 INFO    ] Launching Daemon at Tue Oct 20 01:15:08 IST 2026
[2026-10-20 01:15:08,906.906 INFO    ] ================================================
[2026-10-20 01:15:09,487.487 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:15:09
[2026-10-20 01:15:10,082.082 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:15:10,359.359 INFO    ] Initializing speech engine...
[2026-10-20 01:15:10,368.368 INFO    ] 2026-10-20 01:15:10
[2026-10-20 01:15:10,626.626 INFO    ] 2026-10-20 01:15:10
[2026-10-20 01:15:10,678.678 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:15:10,907.907 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:15:10,912.912 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:15:11,091.091 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:15:11,150.150 INFO    ] time= 20/10/2026 01:15:11
[2026-10-20 01:15:11,175.175 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:15:11,190.190 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:15:11,315.315 INFO    ] No existing commands found in stream
[2026-10-20 01:15:16,325.325 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:15:16,328.328 INFO    ] Waiting 1.94 seconds before fallback handling...
[2026-10-20 01:15:18,775.775 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:15:18,777.777 INFO    ] Checking for system updates...
[2026-10-20 01:15:18,816.816 INFO    ] 200
[2026-10-20 01:15:18,819.819 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:15:18,871.871 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:15:18,874.874 INFO    ] No update needed
[2026-10-20 01:15:18,876.876 INFO    ] Checking for camera pi updates...
[2026-10-20 01:15:18,913.913 INFO    ] 200
[2026-10-20 01:15:18,915.915 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:15:18,956.956 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:15:19,011.011 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:15:19,014.014 INFO    ] No camera update needed
[2026-10-20 01:15:19,016.016 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:15:19,019.019 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:15:19,024.024 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:15:19,029.029 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:15:21,068.068 INFO    ] ================================================
[2026-10-20 01:15:21,083.083 INFO    ] Launching Daemon at Tue Oct 20 01:15:21 IST 2026
[2026-10-20 01:15:21,094.094 INFO    ] ================================================
[2026-10-20 01:15:21,676.676 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:15:21
[2026-10-20 01:15:22,274.274 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:15:22,545.545 INFO    ] Initializing speech engine...
[2026-10-20 01:15:22,557.557 INFO    ] 2026-10-20 01:15:22
[2026-10-20 01:15:22,807.807 INFO    ] 2026-10-20 01:15:22
[2026-10-20 01:15:22,844.844 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:15:23,094.094 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:15:23,104.104 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:15:23,333.333 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:15:23,364.364 INFO    ] time= 20/10/2026 01:15:23
[2026-10-20 01:15:23,381.381 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:15:23,389.389 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:15:23,516.516 INFO    ] No existing commands found in stream
[2026-10-20 01:15:28,530.530 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:15:28,533.533 INFO    ] Waiting 2.07 seconds before fallback handling...
[2026-10-20 01:15:31,146.146 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:15:31,150.150 INFO    ] Checking for system updates...
[2026-10-20 01:15:31,185.185 INFO    ] 200
[2026-10-20 01:15:31,188.188 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:15:31,248.248 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:15:31,251.251 INFO    ] No update needed
[2026-10-20 01:15:31,253.253 INFO    ] Checking for camera pi updates...
[2026-10-20 01:15:31,286.286 INFO    ] 200
[2026-10-20 01:15:31,289.289 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:15:31,329.329 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:15:31,372.372 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:15:31,374.374 INFO    ] No camera update needed
[2026-10-20 01:15:31,376.376 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:15:31,379.379 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:15:31,384.384 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:15:31,389.389 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:15:33,442.442 INFO    ] ================================================
[2026-10-20 01:15:33,465.465 INFO    ] Launching Daemon at Tue Oct 20 01:15:33 IST 2026
[2026-10-20 01:15:33,478.478 INFO    ] ================================================
[2026-10-20 01:15:34,129.129 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:15:34
[2026-10-20 01:15:34,784.784 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:15:35,056.056 INFO    ] Initializing speech engine...
[2026-10-20 01:15:35,070.070 INFO    ] 2026-10-20 01:15:35
[2026-10-20 01:15:35,356.356 INFO    ] 2026-10-20 01:15:35
[2026-10-20 01:15:35,401.401 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:15:35,597.597 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:15:35,610.610 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:15:35,756.756 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:15:35,764.764 INFO    ] time= 20/10/2026 01:15:35
[2026-10-20 01:15:35,777.777 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:15:35,830.830 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:15:35,959.959 INFO    ] No existing commands found in stream
[2026-10-20 01:15:40,971.971 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:15:40,979.979 INFO    ] Waiting 1.50 seconds before fallback handling...
[2026-10-20 01:15:43,358.358 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:15:43,361.361 INFO    ] Checking for system updates...
[2026-10-20 01:15:43,397.397 INFO    ] 200
[2026-10-20 01:15:43,400.400 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:15:43,452.452 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:15:43,454.454 INFO    ] No update needed
[2026-10-20 01:15:43,456.456 INFO    ] Checking for camera pi updates...
[2026-10-20 01:15:43,494.494 INFO    ] 200
[2026-10-20 01:15:43,497.497 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:15:43,541.541 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:15:43,590.590 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:15:43,593.593 INFO    ] No camera update needed
[2026-10-20 01:15:43,595.595 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:15:43,597.597 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:15:43,602.602 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:15:43,607.607 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:15:45,647.647 INFO    ] ================================================
[2026-10-20 01:15:45,662.662 INFO    ] Launching Daemon at Tue Oct 20 01:15:45 IST 2026
[2026-10-20 01:15:45,672.672 INFO    ] ================================================
[2026-10-20 01:15:46,302.302 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:15:46
[2026-10-20 01:15:46,968.968 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:15:47,265.265 INFO    ] Initializing speech engine...
[2026-10-20 01:15:47,275.275 INFO    ] 2026-10-20 01:15:47
[2026-10-20 01:15:47,532.532 INFO    ] 2026-10-20 01:15:47
[2026-10-20 01:15:47,567.567 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:15:47,820.820 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:15:47,829.829 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:15:48,035.035 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:15:48,089.089 INFO    ] time= 20/10/2026 01:15:48
[2026-10-20 01:15:48,095.095 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:15:48,113.113 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:15:48,243.243 INFO    ] No existing commands found in stream
[2026-10-20 01:15:53,257.257 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:15:53,260.260 INFO    ] Waiting 0.02 seconds before fallback handling...
[2026-10-20 01:15:53,757.757 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 01:15:53,760.760 INFO    ] Checking for system updates...
[2026-10-20 01:15:53,795.795 INFO    ] 200
[2026-10-20 01:15:53,798.798 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:15:53,858.858 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:15:53,861.861 INFO    ] No update needed
[2026-10-20 01:15:53,863.863 INFO    ] Checking for camera pi updates...
[2026-10-20 01:15:53,896.896 INFO    ] 200
[2026-10-20 01:15:53,898.898 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:15:53,946.946 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:15:53,992.992 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:15:53,994.994 INFO    ] No camera update needed
[2026-10-20 01:15:53,996.996 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:15:53,998.998 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:15:54,004.004 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:15:54,009.009 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:15:56,049.049 INFO    ] ================================================
[2026-10-20 01:15:56,064.064 INFO    ] Launching Daemon at Tue Oct 20 01:15:56 IST 2026
[2026-10-20 01:15:56,075.075 INFO    ] ================================================
[2026-10-20 01:15:56,656.656 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:15:56
[2026-10-20 01:15:57,256.256 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:15:57,534.534 INFO    ] Initializing speech engine...
[2026-10-20 01:15:57,544.544 INFO    ] 2026-10-20 01:15:57
[2026-10-20 01:15:57,794.794 INFO    ] 2026-10-20 01:15:57
[2026-10-20 01:15:57,836.836 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:15:58,084.084 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:15:58,094.094 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:15:58,241.241 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:15:58,306.306 INFO    ] time= 20/10/2026 01:15:58
[2026-10-20 01:15:58,360.360 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:15:58,367.367 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:15:58,513.513 INFO    ] No existing commands found in stream
[2026-10-20 01:16:03,534.534 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:16:03,537.537 INFO    ] Waiting 3.30 seconds before fallback handling...
[2026-10-20 01:16:07,345.345 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:16:07,348.348 INFO    ] Checking for system updates...
[2026-10-20 01:16:07,385.385 INFO    ] 200
[2026-10-20 01:16:07,388.388 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:16:07,446.446 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:16:07,449.449 INFO    ] No update needed
[2026-10-20 01:16:07,452.452 INFO    ] Checking for camera pi updates...
[2026-10-20 01:16:07,486.486 INFO    ] 200
[2026-10-20 01:16:07,489.489 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:16:07,529.529 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:16:07,571.571 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:16:07,574.574 INFO    ] No camera update needed
[2026-10-20 01:16:07,579.579 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:16:07,581.581 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:16:07,587.587 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:16:07,592.592 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:16:09,631.631 INFO    ] ================================================
[2026-10-20 01:16:09,646.646 INFO    ] Launching Daemon at Tue Oct 20 01:16:09 IST 2026
[2026-10-20 01:16:09,657.657 INFO    ] ================================================
[2026-10-20 01:16:10,287.287 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:16:10
[2026-10-20 01:16:10,939.939 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:16:11,237.237 INFO    ] Initializing speech engine...
[2026-10-20 01:16:11,244.244 INFO    ] 2026-10-20 01:16:11
[2026-10-20 01:16:11,515.515 INFO    ] 2026-10-20 01:16:11
[2026-10-20 01:16:11,551.551 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:16:11,804.804 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:16:11,814.814 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:16:11,952.952 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:16:12,023.023 INFO    ] time= 20/10/2026 01:16:11
[2026-10-20 01:16:12,083.083 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:16:12,091.091 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:16:12,229.229 INFO    ] No existing commands found in stream
[2026-10-20 01:16:17,250.250 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:16:17,253.253 INFO    ] Waiting 0.16 seconds before fallback handling...
[2026-10-20 01:16:17,921.921 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 01:16:17,924.924 INFO    ] Checking for system updates...
[2026-10-20 01:16:17,961.961 INFO    ] 200
[2026-10-20 01:16:17,963.963 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:16:18,024.024 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:16:18,027.027 INFO    ] No update needed
[2026-10-20 01:16:18,029.029 INFO    ] Checking for camera pi updates...
[2026-10-20 01:16:18,063.063 INFO    ] 200
[2026-10-20 01:16:18,065.065 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:16:18,109.109 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:16:18,154.154 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:16:18,157.157 INFO    ] No camera update needed
[2026-10-20 01:16:18,159.159 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:16:18,162.162 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:16:18,167.167 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:16:18,172.172 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:16:20,211.211 INFO    ] ================================================
[2026-10-20 01:16:20,226.226 INFO    ] Launching Daemon at Tue Oct 20 01:16:20 IST 2026
[2026-10-20 01:16:20,236.236 INFO    ] ================================================
[2026-10-20 01:16:20,818.818 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:16:20
[2026-10-20 01:16:21,416.416 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:16:21,691.691 INFO    ] Initializing speech engine...
[2026-10-20 01:16:21,701.701 INFO    ] 2026-10-20 01:16:21
[2026-10-20 01:16:21,963.963 INFO    ] 2026-10-20 01:16:21
[2026-10-20 01:16:21,993.993 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:16:22,238.238 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:16:22,247.247 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:16:22,385.385 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:16:22,425.425 INFO    ] time= 20/10/2026 01:16:22
[2026-10-20 01:16:22,480.480 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:16:22,517.517 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:16:22,656.656 INFO    ] No existing commands found in stream
[2026-10-20 01:16:27,679.679 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:16:27,682.682 INFO    ] Waiting 1.27 seconds before fallback handling...
[2026-10-20 01:16:29,474.474 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:16:29,476.476 INFO    ] Checking for system updates...
[2026-10-20 01:16:29,513.513 INFO    ] 200
[2026-10-20 01:16:29,516.516 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:16:29,568.568 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:16:29,570.570 INFO    ] No update needed
[2026-10-20 01:16:29,573.573 INFO    ] Checking for camera pi updates...
[2026-10-20 01:16:29,606.606 INFO    ] 200
[2026-10-20 01:16:29,609.609 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:16:29,649.649 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:16:29,703.703 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:16:29,705.705 INFO    ] No camera update needed
[2026-10-20 01:16:29,708.708 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:16:29,710.710 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:16:29,716.716 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:16:29,721.721 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:16:31,766.766 INFO    ] ================================================
[2026-10-20 01:16:31,782.782 INFO    ] Launching Daemon at Tue Oct 20 01:16:31 IST 2026
[2026-10-20 01:16:31,794.794 INFO    ] ================================================
[2026-10-20 01:16:32,389.389 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:16:32
[2026-10-20 01:16:32,999.999 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:16:33,270.270 INFO    ] Initializing speech engine...
[2026-10-20 01:16:33,280.280 INFO    ] 2026-10-20 01:16:33
[2026-10-20 01:16:33,528.528 INFO    ] 2026-10-20 01:16:33
[2026-10-20 01:16:33,561.561 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:16:33,765.765 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:16:33,823.823 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:16:33,966.966 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:16:34,016.016 INFO    ] time= 20/10/2026 01:16:33
[2026-10-20 01:16:34,060.060 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:16:34,099.099 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:16:34,245.245 INFO    ] No existing commands found in stream
[2026-10-20 01:16:39,262.262 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:16:39,265.265 INFO    ] Waiting 0.95 seconds before fallback handling...
[2026-10-20 01:16:40,705.705 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 01:16:40,708.708 INFO    ] Checking for system updates...
[2026-10-20 01:16:40,744.744 INFO    ] 200
[2026-10-20 01:16:40,747.747 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:16:40,802.802 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:16:40,804.804 INFO    ] No update needed
[2026-10-20 01:16:40,807.807 INFO    ] Checking for camera pi updates...
[2026-10-20 01:16:40,840.840 INFO    ] 200
[2026-10-20 01:16:40,843.843 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:16:40,882.882 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:16:40,916.916 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:16:40,918.918 INFO    ] No camera update needed
[2026-10-20 01:16:40,921.921 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:16:40,923.923 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:16:40,928.928 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:16:40,933.933 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:16:42,974.974 INFO    ] ================================================
[2026-10-20 01:16:42,992.992 INFO    ] Launching Daemon at Tue Oct 20 01:16:42 IST 2026
[2026-10-20 01:16:43,005.005 INFO    ] ================================================
[2026-10-20 01:16:43,600.600 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:16:43
[2026-10-20 01:16:44,207.207 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:16:44,504.504 INFO    ] Initializing speech engine...
[2026-10-20 01:16:44,513.513 INFO    ] 2026-10-20 01:16:44
[2026-10-20 01:16:44,757.757 INFO    ] 2026-10-20 01:16:44
[2026-10-20 01:16:44,792.792 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:16:45,042.042 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:16:45,051.051 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:16:45,203.203 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:16:45,205.205 INFO    ] time= 20/10/2026 01:16:45
[2026-10-20 01:16:45,223.223 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:16:45,277.277 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:16:45,386.386 INFO    ] No existing commands found in stream
[2026-10-20 01:16:50,398.398 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:16:50,401.401 INFO    ] Waiting 1.66 seconds before fallback handling...
[2026-10-20 01:16:52,546.546 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:16:52,548.548 INFO    ] Checking for system updates...
[2026-10-20 01:16:52,587.587 INFO    ] 200
[2026-10-20 01:16:52,590.590 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:16:52,642.642 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:16:52,645.645 INFO    ] No update needed
[2026-10-20 01:16:52,648.648 INFO    ] Checking for camera pi updates...
[2026-10-20 01:16:52,684.684 INFO    ] 200
[2026-10-20 01:16:52,687.687 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:16:52,727.727 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:16:52,775.775 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:16:52,777.777 INFO    ] No camera update needed
[2026-10-20 01:16:52,780.780 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:16:52,786.786 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:16:52,792.792 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:16:52,797.797 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:16:54,837.837 INFO    ] ================================================
[2026-10-20 01:16:54,853.853 INFO    ] Launching Daemon at Tue Oct 20 01:16:54 IST 2026
[2026-10-20 01:16:54,863.863 INFO    ] ================================================
[2026-10-20 01:16:55,445.445 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:16:55
[2026-10-20 01:16:56,043.043 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:16:56,320.320 INFO    ] Initializing speech engine...
[2026-10-20 01:16:56,328.328 INFO    ] 2026-10-20 01:16:56
[2026-10-20 01:16:56,586.586 INFO    ] 2026-10-20 01:16:56
[2026-10-20 01:16:56,640.640 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:16:56,867.867 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:16:56,873.873 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:16:57,111.111 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:16:57,132.132 INFO    ] time= 20/10/2026 01:16:57
[2026-10-20 01:16:57,147.147 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:16:57,156.156 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:16:57,285.285 INFO    ] No existing commands found in stream
[2026-10-20 01:17:02,301.301 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:17:02,305.305 INFO    ] Waiting 0.76 seconds before fallback handling...
[2026-10-20 01:17:03,559.559 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 01:17:03,561.561 INFO    ] Checking for system updates...
[2026-10-20 01:17:03,601.601 INFO    ] 200
[2026-10-20 01:17:03,604.604 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:17:03,663.663 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:17:03,665.665 INFO    ] No update needed
[2026-10-20 01:17:03,667.667 INFO    ] Checking for camera pi updates...
[2026-10-20 01:17:03,701.701 INFO    ] 200
[2026-10-20 01:17:03,703.703 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:17:03,744.744 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:17:03,873.873 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:17:03,875.875 INFO    ] No camera update needed
[2026-10-20 01:17:03,877.877 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:17:03,880.880 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:17:03,885.885 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:17:03,890.890 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:17:05,930.930 INFO    ] ================================================
[2026-10-20 01:17:05,945.945 INFO    ] Launching Daemon at Tue Oct 20 01:17:05 IST 2026
[2026-10-20 01:17:05,956.956 INFO    ] ================================================
[2026-10-20 01:17:06,628.628 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:17:06
[2026-10-20 01:17:07,237.237 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:17:07,497.497 INFO    ] Initializing speech engine...
[2026-10-20 01:17:07,516.516 INFO    ] 2026-10-20 01:17:07
[2026-10-20 01:17:07,766.766 INFO    ] 2026-10-20 01:17:07
[2026-10-20 01:17:07,801.801 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:17:08,060.060 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:17:08,070.070 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:17:08,206.206 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:17:08,266.266 INFO    ] time= 20/10/2026 01:17:08
[2026-10-20 01:17:08,315.315 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:17:08,340.340 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:17:08,493.493 INFO    ] No existing commands found in stream
[2026-10-20 01:17:13,511.511 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:17:13,514.514 INFO    ] Waiting 0.67 seconds before fallback handling...
[2026-10-20 01:17:14,689.689 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:17:14,691.691 INFO    ] Checking for system updates...
[2026-10-20 01:17:14,731.731 INFO    ] 200
[2026-10-20 01:17:14,733.733 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:17:14,785.785 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:17:14,787.787 INFO    ] No update needed
[2026-10-20 01:17:14,789.789 INFO    ] Checking for camera pi updates...
[2026-10-20 01:17:14,826.826 INFO    ] 200
[2026-10-20 01:17:14,829.829 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:17:14,868.868 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:17:14,923.923 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:17:14,926.926 INFO    ] No camera update needed
[2026-10-20 01:17:14,928.928 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:17:14,930.930 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:17:14,936.936 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:17:14,940.940 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:17:16,984.984 INFO    ] ================================================
[2026-10-20 01:17:17,999.999 INFO    ] Launching Daemon at Tue Oct 20 01:17:16 IST 2026
[2026-10-20 01:17:17,010.010 INFO    ] ================================================
[2026-10-20 01:17:17,577.577 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:17:17
[2026-10-20 01:17:18,165.165 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:17:18,436.436 INFO    ] Initializing speech engine...
[2026-10-20 01:17:18,444.444 INFO    ] 2026-10-20 01:17:18
[2026-10-20 01:17:18,695.695 INFO    ] 2026-10-20 01:17:18
[2026-10-20 01:17:18,730.730 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:17:18,934.934 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:17:18,993.993 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:17:19,179.179 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:17:19,228.228 INFO    ] time= 20/10/2026 01:17:19
[2026-10-20 01:17:19,270.270 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:17:19,288.288 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:17:19,432.432 INFO    ] No existing commands found in stream
[2026-10-20 01:17:24,457.457 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:17:24,460.460 INFO    ] Waiting 1.47 seconds before fallback handling...
[2026-10-20 01:17:26,464.464 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:17:26,467.467 INFO    ] Checking for system updates...
[2026-10-20 01:17:26,503.503 INFO    ] 200
[2026-10-20 01:17:26,506.506 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:17:26,567.567 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:17:26,570.570 INFO    ] No update needed
[2026-10-20 01:17:26,572.572 INFO    ] Checking for camera pi updates...
[2026-10-20 01:17:26,610.610 INFO    ] 200
[2026-10-20 01:17:26,612.612 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:17:26,651.651 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:17:26,691.691 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:17:26,693.693 INFO    ] No camera update needed
[2026-10-20 01:17:26,695.695 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:17:26,697.697 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:17:26,703.703 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:17:26,708.708 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:17:28,747.747 INFO    ] ================================================
[2026-10-20 01:17:28,763.763 INFO    ] Launching Daemon at Tue Oct 20 01:17:28 IST 2026
[2026-10-20 01:17:28,773.773 INFO    ] ================================================
[2026-10-20 01:17:29,356.356 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:17:29
[2026-10-20 01:17:29,956.956 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:17:30,231.231 INFO    ] Initializing speech engine...
[2026-10-20 01:17:30,240.240 INFO    ] 2026-10-20 01:17:30
[2026-10-20 01:17:30,503.503 INFO    ] 2026-10-20 01:17:30
[2026-10-20 01:17:30,533.533 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:17:30,784.784 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:17:30,790.790 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:17:31,008.008 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:17:31,047.047 INFO    ] time= 20/10/2026 01:17:31
[2026-10-20 01:17:31,053.053 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:17:31,071.071 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:17:31,204.204 INFO    ] No existing commands found in stream
[2026-10-20 01:17:36,226.226 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:17:36,229.229 INFO    ] Waiting 3.18 seconds before fallback handling...
[2026-10-20 01:17:39,885.885 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 01:17:39,887.887 INFO    ] Checking for system updates...
[2026-10-20 01:17:39,923.923 INFO    ] 200
[2026-10-20 01:17:39,926.926 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:17:39,986.986 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:17:39,989.989 INFO    ] No update needed
[2026-10-20 01:17:39,991.991 INFO    ] Checking for camera pi updates...
[2026-10-20 01:17:40,029.029 INFO    ] 200
[2026-10-20 01:17:40,031.031 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:17:40,077.077 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:17:40,123.123 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:17:40,125.125 INFO    ] No camera update needed
[2026-10-20 01:17:40,127.127 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:17:40,130.130 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:17:40,135.135 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:17:40,141.141 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:17:42,180.180 INFO    ] ================================================
[2026-10-20 01:17:42,195.195 INFO    ] Launching Daemon at Tue Oct 20 01:17:42 IST 2026
[2026-10-20 01:17:42,205.205 INFO    ] ================================================
[2026-10-20 01:17:42,787.787 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:17:42
[2026-10-20 01:17:43,393.393 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:17:43,671.671 INFO    ] Initializing speech engine...
[2026-10-20 01:17:43,680.680 INFO    ] 2026-10-20 01:17:43
[2026-10-20 01:17:43,940.940 INFO    ] 2026-10-20 01:17:43
[2026-10-20 01:17:43,970.970 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:17:44,217.217 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:17:44,228.228 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:17:44,383.383 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:17:44,433.433 INFO    ] time= 20/10/2026 01:17:44
[2026-10-20 01:17:44,493.493 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:17:44,500.500 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:17:44,649.649 INFO    ] No existing commands found in stream
[2026-10-20 01:17:49,677.677 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:17:49,681.681 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-10-20 01:17:52,356.356 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:17:52,359.359 INFO    ] Checking for system updates...
[2026-10-20 01:17:52,402.402 INFO    ] 200
[2026-10-20 01:17:52,405.405 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:17:52,466.466 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:17:52,470.470 INFO    ] No update needed
[2026-10-20 01:17:52,473.473 INFO    ] Checking for camera pi updates...
[2026-10-20 01:17:52,511.511 INFO    ] 200
[2026-10-20 01:17:52,513.513 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:17:52,559.559 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:17:52,609.609 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:17:52,611.611 INFO    ] No camera update needed
[2026-10-20 01:17:52,614.614 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:17:52,616.616 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:17:52,622.622 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:17:52,627.627 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:17:54,668.668 INFO    ] ================================================
[2026-10-20 01:17:54,683.683 INFO    ] Launching Daemon at Tue Oct 20 01:17:54 IST 2026
[2026-10-20 01:17:54,694.694 INFO    ] ================================================
[2026-10-20 01:17:55,260.260 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:17:55
[2026-10-20 01:17:55,844.844 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:17:56,111.111 INFO    ] Initializing speech engine...
[2026-10-20 01:17:56,121.121 INFO    ] 2026-10-20 01:17:56
[2026-10-20 01:17:56,367.367 INFO    ] 2026-10-20 01:17:56
[2026-10-20 01:17:56,402.402 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:17:56,653.653 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:17:56,663.663 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:17:56,838.838 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:17:56,882.882 INFO    ] time= 20/10/2026 01:17:56
[2026-10-20 01:17:56,925.925 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:17:56,931.931 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:17:57,075.075 INFO    ] No existing commands found in stream
[2026-10-20 01:18:02,089.089 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:18:02,092.092 INFO    ] Waiting 2.73 seconds before fallback handling...
[2026-10-20 01:18:05,380.380 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 01:18:05,383.383 INFO    ] Checking for system updates...
[2026-10-20 01:18:05,423.423 INFO    ] 200
[2026-10-20 01:18:05,426.426 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:18:05,484.484 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:18:05,487.487 INFO    ] No update needed
[2026-10-20 01:18:05,489.489 INFO    ] Checking for camera pi updates...
[2026-10-20 01:18:05,526.526 INFO    ] 200
[2026-10-20 01:18:05,529.529 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:18:05,569.569 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:18:05,630.630 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:18:05,633.633 INFO    ] No camera update needed
[2026-10-20 01:18:05,635.635 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:18:05,637.637 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:18:05,643.643 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:18:05,647.647 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:18:07,687.687 INFO    ] ================================================
[2026-10-20 01:18:07,702.702 INFO    ] Launching Daemon at Tue Oct 20 01:18:07 IST 2026
[2026-10-20 01:18:07,713.713 INFO    ] ================================================
[2026-10-20 01:18:08,297.297 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:18:08
[2026-10-20 01:18:08,898.898 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:18:09,173.173 INFO    ] Initializing speech engine...
[2026-10-20 01:18:09,182.182 INFO    ] 2026-10-20 01:18:09
[2026-10-20 01:18:09,432.432 INFO    ] 2026-10-20 01:18:09
[2026-10-20 01:18:09,468.468 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:18:09,721.721 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:18:09,730.730 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:18:09,952.952 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:18:09,989.989 INFO    ] time= 20/10/2026 01:18:09
[2026-10-20 01:18:09,996.996 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:18:10,014.014 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:18:10,163.163 INFO    ] No existing commands found in stream
[2026-10-20 01:18:15,193.193 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:18:15,196.196 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-10-20 01:18:17,718.718 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:18:17,721.721 INFO    ] Checking for system updates...
[2026-10-20 01:18:17,761.761 INFO    ] 200
[2026-10-20 01:18:17,763.763 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:18:17,824.824 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:18:17,826.826 INFO    ] No update needed
[2026-10-20 01:18:17,828.828 INFO    ] Checking for camera pi updates...
[2026-10-20 01:18:17,866.866 INFO    ] 200
[2026-10-20 01:18:17,869.869 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:18:17,914.914 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:18:17,963.963 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:18:17,966.966 INFO    ] No camera update needed
[2026-10-20 01:18:17,968.968 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:18:17,971.971 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:18:17,976.976 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:18:17,981.981 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:18:20,022.022 INFO    ] ================================================
[2026-10-20 01:18:20,038.038 INFO    ] Launching Daemon at Tue Oct 20 01:18:20 IST 2026
[2026-10-20 01:18:20,050.050 INFO    ] ================================================
[2026-10-20 01:18:20,694.694 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:18:20
[2026-10-20 01:18:21,367.367 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:18:21,679.679 INFO    ] Initializing speech engine...
[2026-10-20 01:18:21,692.692 INFO    ] 2026-10-20 01:18:21
[2026-10-20 01:18:22,005.005 INFO    ] 2026-10-20 01:18:21
[2026-10-20 01:18:22,094.094 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:18:22,313.313 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:18:22,318.318 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:18:22,517.517 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:18:22,536.536 INFO    ] time= 20/10/2026 01:18:22
[2026-10-20 01:18:22,547.547 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:18:22,577.577 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:18:22,685.685 INFO    ] No existing commands found in stream
[2026-10-20 01:18:27,719.719 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:18:27,723.723 INFO    ] Waiting 2.59 seconds before fallback handling...
[2026-10-20 01:18:30,852.852 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:18:30,855.855 INFO    ] Checking for system updates...
[2026-10-20 01:18:30,892.892 INFO    ] 200
[2026-10-20 01:18:30,895.895 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:18:30,947.947 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:18:30,949.949 INFO    ] No update needed
[2026-10-20 01:18:30,952.952 INFO    ] Checking for camera pi updates...
[2026-10-20 01:18:30,990.990 INFO    ] 200
[2026-10-20 01:18:30,992.992 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:18:31,032.032 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:18:31,077.077 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:18:31,079.079 INFO    ] No camera update needed
[2026-10-20 01:18:31,082.082 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:18:31,084.084 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:18:31,089.089 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:18:31,094.094 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:18:33,133.133 INFO    ] ================================================
[2026-10-20 01:18:33,149.149 INFO    ] Launching Daemon at Tue Oct 20 01:18:33 IST 2026
[2026-10-20 01:18:33,160.160 INFO    ] ================================================
[2026-10-20 01:18:33,726.726 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:18:33
[2026-10-20 01:18:34,308.308 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:18:34,578.578 INFO    ] Initializing speech engine...
[2026-10-20 01:18:34,587.587 INFO    ] 2026-10-20 01:18:34
[2026-10-20 01:18:34,838.838 INFO    ] 2026-10-20 01:18:34
[2026-10-20 01:18:34,873.873 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:18:35,112.112 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:18:35,135.135 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:18:35,279.279 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:18:35,339.339 INFO    ] time= 20/10/2026 01:18:35
[2026-10-20 01:18:35,393.393 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:18:35,415.415 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:18:35,549.549 INFO    ] No existing commands found in stream
[2026-10-20 01:18:40,573.573 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:18:40,576.576 INFO    ] Waiting 0.96 seconds before fallback handling...
[2026-10-20 01:18:42,067.067 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:18:42,070.070 INFO    ] Checking for system updates...
[2026-10-20 01:18:42,113.113 INFO    ] 200
[2026-10-20 01:18:42,115.115 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:18:42,182.182 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:18:42,184.184 INFO    ] No update needed
[2026-10-20 01:18:42,187.187 INFO    ] Checking for camera pi updates...
[2026-10-20 01:18:42,227.227 INFO    ] 200
[2026-10-20 01:18:42,230.230 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:18:42,275.275 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:18:42,324.324 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:18:42,326.326 INFO    ] No camera update needed
[2026-10-20 01:18:42,328.328 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:18:42,331.331 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:18:42,336.336 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:18:42,341.341 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:18:44,382.382 INFO    ] ================================================
[2026-10-20 01:18:44,397.397 INFO    ] Launching Daemon at Tue Oct 20 01:18:44 IST 2026
[2026-10-20 01:18:44,408.408 INFO    ] ================================================
[2026-10-20 01:18:44,991.991 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:18:44
[2026-10-20 01:18:45,590.590 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:18:45,864.864 INFO    ] Initializing speech engine...
[2026-10-20 01:18:45,874.874 INFO    ] 2026-10-20 01:18:45
[2026-10-20 01:18:46,137.137 INFO    ] 2026-10-20 01:18:46
[2026-10-20 01:18:46,191.191 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:18:46,437.437 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:18:46,445.445 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:18:46,673.673 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:18:46,680.680 INFO    ] time= 20/10/2026 01:18:46
[2026-10-20 01:18:46,698.698 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:18:46,727.727 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:18:46,855.855 INFO    ] No existing commands found in stream
[2026-10-20 01:18:51,886.886 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:18:51,889.889 INFO    ] Waiting 1.58 seconds before fallback handling...
[2026-10-20 01:18:53,997.997 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:18:54,000.000 INFO    ] Checking for system updates...
[2026-10-20 01:18:54,035.035 INFO    ] 200
[2026-10-20 01:18:54,037.037 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:18:54,097.097 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:18:54,100.100 INFO    ] No update needed
[2026-10-20 01:18:54,102.102 INFO    ] Checking for camera pi updates...
[2026-10-20 01:18:54,140.140 INFO    ] 200
[2026-10-20 01:18:54,142.142 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:18:54,187.187 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:18:54,235.235 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:18:54,237.237 INFO    ] No camera update needed
[2026-10-20 01:18:54,240.240 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:18:54,242.242 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:18:54,247.247 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:18:54,253.253 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:18:56,293.293 INFO    ] ================================================
[2026-10-20 01:18:56,308.308 INFO    ] Launching Daemon at Tue Oct 20 01:18:56 IST 2026
[2026-10-20 01:18:56,319.319 INFO    ] ================================================
[2026-10-20 01:18:56,979.979 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:18:56
[2026-10-20 01:18:57,656.656 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:18:57,973.973 INFO    ] Initializing speech engine...
[2026-10-20 01:18:57,984.984 INFO    ] 2026-10-20 01:18:57
[2026-10-20 01:18:58,290.290 INFO    ] 2026-10-20 01:18:58
[2026-10-20 01:18:58,376.376 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:18:58,643.643 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:18:58,661.661 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:18:58,838.838 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:18:58,847.847 INFO    ] time= 20/10/2026 01:18:58
[2026-10-20 01:18:58,875.875 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:18:58,932.932 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:18:59,060.060 INFO    ] No existing commands found in stream
[2026-10-20 01:19:04,087.087 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:19:04,090.090 INFO    ] Waiting 0.70 seconds before fallback handling...
[2026-10-20 01:19:05,351.351 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:19:05,354.354 INFO    ] Checking for system updates...
[2026-10-20 01:19:05,395.395 INFO    ] 200
[2026-10-20 01:19:05,398.398 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:19:05,456.456 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:19:05,458.458 INFO    ] No update needed
[2026-10-20 01:19:05,461.461 INFO    ] Checking for camera pi updates...
[2026-10-20 01:19:05,496.496 INFO    ] 200
[2026-10-20 01:19:05,499.499 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:19:05,542.542 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:19:05,591.591 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:19:05,593.593 INFO    ] No camera update needed
[2026-10-20 01:19:05,595.595 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:19:05,597.597 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:19:05,603.603 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:19:05,608.608 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:19:07,648.648 INFO    ] ================================================
[2026-10-20 01:19:07,663.663 INFO    ] Launching Daemon at Tue Oct 20 01:19:07 IST 2026
[2026-10-20 01:19:07,675.675 INFO    ] ================================================
[2026-10-20 01:19:08,242.242 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:19:08
[2026-10-20 01:19:08,827.827 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:19:09,108.108 INFO    ] Initializing speech engine...
[2026-10-20 01:19:09,116.116 INFO    ] 2026-10-20 01:19:09
[2026-10-20 01:19:09,381.381 INFO    ] 2026-10-20 01:19:09
[2026-10-20 01:19:09,417.417 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:19:09,623.623 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:19:09,645.645 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:19:09,850.850 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:19:09,866.866 INFO    ] time= 20/10/2026 01:19:09
[2026-10-20 01:19:09,877.877 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:19:09,927.927 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:19:10,066.066 INFO    ] No existing commands found in stream
[2026-10-20 01:19:15,077.077 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:19:15,080.080 INFO    ] Waiting 0.49 seconds before fallback handling...
[2026-10-20 01:19:16,041.041 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:19:16,044.044 INFO    ] Checking for system updates...
[2026-10-20 01:19:16,083.083 INFO    ] 200
[2026-10-20 01:19:16,085.085 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:19:16,143.143 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:19:16,145.145 INFO    ] No update needed
[2026-10-20 01:19:16,147.147 INFO    ] Checking for camera pi updates...
[2026-10-20 01:19:16,183.183 INFO    ] 200
[2026-10-20 01:19:16,186.186 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:19:16,229.229 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:19:16,374.374 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:19:16,376.376 INFO    ] No camera update needed
[2026-10-20 01:19:16,379.379 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:19:16,381.381 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:19:16,387.387 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:19:16,392.392 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:19:18,431.431 INFO    ] ================================================
[2026-10-20 01:19:18,447.447 INFO    ] Launching Daemon at Tue Oct 20 01:19:18 IST 2026
[2026-10-20 01:19:18,458.458 INFO    ] ================================================
[2026-10-20 01:19:19,025.025 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:19:19
[2026-10-20 01:19:19,609.609 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:19:19,863.863 INFO    ] Initializing speech engine...
[2026-10-20 01:19:19,872.872 INFO    ] 2026-10-20 01:19:19
[2026-10-20 01:19:20,162.162 INFO    ] 2026-10-20 01:19:20
[2026-10-20 01:19:20,196.196 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:19:20,393.393 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:19:20,398.398 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:19:20,574.574 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:19:20,579.579 INFO    ] time= 20/10/2026 01:19:20
[2026-10-20 01:19:20,585.585 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:19:20,592.592 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:19:20,745.745 INFO    ] No existing commands found in stream
[2026-10-20 01:19:25,770.770 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:19:25,773.773 INFO    ] Waiting 2.79 seconds before fallback handling...
[2026-10-20 01:19:32,377.377 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:19:32,380.380 INFO    ] Checking for system updates...
[2026-10-20 01:19:32,421.421 INFO    ] 200
[2026-10-20 01:19:32,424.424 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:19:32,492.492 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:19:32,494.494 INFO    ] No update needed
[2026-10-20 01:19:32,497.497 INFO    ] Checking for camera pi updates...
[2026-10-20 01:19:32,542.542 INFO    ] 200
[2026-10-20 01:19:32,545.545 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:19:32,585.585 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:19:32,616.616 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:19:32,620.620 INFO    ] No camera update needed
[2026-10-20 01:19:32,623.623 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:19:32,626.626 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:19:32,634.634 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:19:32,640.640 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:19:34,680.680 INFO    ] ================================================
[2026-10-20 01:19:34,695.695 INFO    ] Launching Daemon at Tue Oct 20 01:19:34 IST 2026
[2026-10-20 01:19:34,705.705 INFO    ] ================================================
[2026-10-20 01:19:35,338.338 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:19:35
[2026-10-20 01:19:35,989.989 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:19:36,287.287 INFO    ] Initializing speech engine...
[2026-10-20 01:19:36,300.300 INFO    ] 2026-10-20 01:19:36
[2026-10-20 01:19:36,577.577 INFO    ] 2026-10-20 01:19:36
[2026-10-20 01:19:36,620.620 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:19:36,846.846 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:19:36,855.855 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:19:36,993.993 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:19:37,053.053 INFO    ] time= 20/10/2026 01:19:37
[2026-10-20 01:19:37,107.107 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:19:37,127.127 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:19:37,225.225 INFO    ] No existing commands found in stream
[2026-10-20 01:19:42,257.257 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:19:42,260.260 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-10-20 01:19:43,855.855 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:19:43,857.857 INFO    ] Checking for system updates...
[2026-10-20 01:19:43,892.892 INFO    ] 200
[2026-10-20 01:19:43,894.894 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:19:43,951.951 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:19:43,953.953 INFO    ] No update needed
[2026-10-20 01:19:43,955.955 INFO    ] Checking for camera pi updates...
[2026-10-20 01:19:43,991.991 INFO    ] 200
[2026-10-20 01:19:43,994.994 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:19:44,037.037 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:19:44,081.081 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:19:44,084.084 INFO    ] No camera update needed
[2026-10-20 01:19:44,086.086 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:19:44,088.088 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:19:44,094.094 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:19:44,099.099 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:19:46,139.139 INFO    ] ================================================
[2026-10-20 01:19:46,154.154 INFO    ] Launching Daemon at Tue Oct 20 01:19:46 IST 2026
[2026-10-20 01:19:46,165.165 INFO    ] ================================================
[2026-10-20 01:19:46,747.747 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:19:46
[2026-10-20 01:19:47,361.361 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:19:47,636.636 INFO    ] Initializing speech engine...
[2026-10-20 01:19:47,645.645 INFO    ] 2026-10-20 01:19:47
[2026-10-20 01:19:47,895.895 INFO    ] 2026-10-20 01:19:47
[2026-10-20 01:19:47,937.937 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:19:48,192.192 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:19:48,201.201 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:19:48,336.336 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:19:48,378.378 INFO    ] time= 20/10/2026 01:19:48
[2026-10-20 01:19:48,387.387 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:19:48,436.436 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:19:48,540.540 INFO    ] No existing commands found in stream
[2026-10-20 01:19:53,552.552 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:19:53,555.555 INFO    ] Waiting 2.40 seconds before fallback handling...
[2026-10-20 01:19:56,434.434 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 01:19:56,436.436 INFO    ] Checking for system updates...
[2026-10-20 01:19:56,477.477 INFO    ] 200
[2026-10-20 01:19:56,480.480 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:19:56,533.533 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:19:56,536.536 INFO    ] No update needed
[2026-10-20 01:19:56,538.538 INFO    ] Checking for camera pi updates...
[2026-10-20 01:19:56,576.576 INFO    ] 200
[2026-10-20 01:19:56,578.578 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:19:56,624.624 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:19:56,682.682 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:19:56,685.685 INFO    ] No camera update needed
[2026-10-20 01:19:56,687.687 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:19:56,689.689 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:19:56,695.695 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:19:56,700.700 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:19:58,741.741 INFO    ] ================================================
[2026-10-20 01:19:58,756.756 INFO    ] Launching Daemon at Tue Oct 20 01:19:58 IST 2026
[2026-10-20 01:19:58,767.767 INFO    ] ================================================
[2026-10-20 01:19:59,410.410 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:19:59
[2026-10-20 01:20:00,071.071 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:20:00,350.350 INFO    ] Initializing speech engine...
[2026-10-20 01:20:00,357.357 INFO    ] 2026-10-20 01:20:00
[2026-10-20 01:20:00,630.630 INFO    ] 2026-10-20 01:20:00
[2026-10-20 01:20:00,672.672 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:20:00,894.894 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:20:00,899.899 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:20:01,048.048 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:20:01,102.102 INFO    ] time= 20/10/2026 01:20:01
[2026-10-20 01:20:01,160.160 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:20:01,164.164 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:20:01,250.250 INFO    ] No existing commands found in stream
[2026-10-20 01:20:06,261.261 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:20:06,263.263 INFO    ] Waiting 3.90 seconds before fallback handling...
[2026-10-20 01:20:10,690.690 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:20:10,693.693 INFO    ] Checking for system updates...
[2026-10-20 01:20:10,732.732 INFO    ] 200
[2026-10-20 01:20:10,734.734 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:20:10,792.792 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:20:10,795.795 INFO    ] No update needed
[2026-10-20 01:20:10,797.797 INFO    ] Checking for camera pi updates...
[2026-10-20 01:20:10,833.833 INFO    ] 200
[2026-10-20 01:20:10,836.836 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:20:10,881.881 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:20:10,928.928 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:20:10,931.931 INFO    ] No camera update needed
[2026-10-20 01:20:10,933.933 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:20:10,935.935 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:20:10,941.941 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:20:10,946.946 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:20:12,987.987 INFO    ] ================================================
[2026-10-20 01:20:13,003.003 INFO    ] Launching Daemon at Tue Oct 20 01:20:12 IST 2026
[2026-10-20 01:20:13,014.014 INFO    ] ================================================
[2026-10-20 01:20:13,587.587 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:20:13
[2026-10-20 01:20:14,178.178 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:20:14,438.438 INFO    ] Initializing speech engine...
[2026-10-20 01:20:14,463.463 INFO    ] 2026-10-20 01:20:14
[2026-10-20 01:20:14,731.731 INFO    ] 2026-10-20 01:20:14
[2026-10-20 01:20:14,770.770 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:20:14,975.975 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:20:14,992.992 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:20:15,145.145 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:20:15,193.193 INFO    ] time= 20/10/2026 01:20:15
[2026-10-20 01:20:15,220.220 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:20:15,262.262 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:20:15,366.366 INFO    ] No existing commands found in stream
[2026-10-20 01:20:20,378.378 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:20:20,381.381 INFO    ] Waiting 0.14 seconds before fallback handling...
[2026-10-20 01:20:21,003.003 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:20:21,006.006 INFO    ] Checking for system updates...
[2026-10-20 01:20:21,041.041 INFO    ] 200
[2026-10-20 01:20:21,044.044 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:20:21,095.095 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:20:21,097.097 INFO    ] No update needed
[2026-10-20 01:20:21,099.099 INFO    ] Checking for camera pi updates...
[2026-10-20 01:20:21,133.133 INFO    ] 200
[2026-10-20 01:20:21,135.135 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:20:21,175.175 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:20:21,226.226 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:20:21,228.228 INFO    ] No camera update needed
[2026-10-20 01:20:21,231.231 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:20:21,233.233 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:20:21,238.238 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:20:21,243.243 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:20:23,283.283 INFO    ] ================================================
[2026-10-20 01:20:23,298.298 INFO    ] Launching Daemon at Tue Oct 20 01:20:23 IST 2026
[2026-10-20 01:20:23,308.308 INFO    ] ================================================
[2026-10-20 01:20:23,910.910 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:20:23
[2026-10-20 01:20:24,532.532 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:20:24,809.809 INFO    ] Initializing speech engine...
[2026-10-20 01:20:24,816.816 INFO    ] 2026-10-20 01:20:24
[2026-10-20 01:20:25,111.111 INFO    ] 2026-10-20 01:20:25
[2026-10-20 01:20:25,148.148 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:20:25,354.354 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:20:25,363.363 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:20:25,567.567 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:20:25,589.589 INFO    ] time= 20/10/2026 01:20:25
[2026-10-20 01:20:25,643.643 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:20:25,703.703 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:20:25,857.857 INFO    ] No existing commands found in stream
[2026-10-20 01:20:30,877.877 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:20:30,880.880 INFO    ] Waiting 2.07 seconds before fallback handling...
[2026-10-20 01:20:33,474.474 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:20:33,477.477 INFO    ] Checking for system updates...
[2026-10-20 01:20:33,513.513 INFO    ] 200
[2026-10-20 01:20:33,515.515 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:20:33,571.571 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:20:33,573.573 INFO    ] No update needed
[2026-10-20 01:20:33,575.575 INFO    ] Checking for camera pi updates...
[2026-10-20 01:20:33,612.612 INFO    ] 200
[2026-10-20 01:20:33,615.615 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:20:33,694.694 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:20:33,743.743 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:20:33,745.745 INFO    ] No camera update needed
[2026-10-20 01:20:33,748.748 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:20:33,750.750 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:20:33,756.756 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:20:33,761.761 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:20:35,801.801 INFO    ] ================================================
[2026-10-20 01:20:35,816.816 INFO    ] Launching Daemon at Tue Oct 20 01:20:35 IST 2026
[2026-10-20 01:20:35,826.826 INFO    ] ================================================
[2026-10-20 01:20:36,405.405 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:20:36
[2026-10-20 01:20:37,003.003 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:20:37,277.277 INFO    ] Initializing speech engine...
[2026-10-20 01:20:37,288.288 INFO    ] 2026-10-20 01:20:37
[2026-10-20 01:20:37,551.551 INFO    ] 2026-10-20 01:20:37
[2026-10-20 01:20:37,589.589 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:20:37,788.788 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:20:37,803.803 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:20:37,998.998 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:20:38,010.010 INFO    ] time= 20/10/2026 01:20:38
[2026-10-20 01:20:38,069.069 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:20:38,129.129 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:20:38,260.260 INFO    ] No existing commands found in stream
[2026-10-20 01:20:43,287.287 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:20:43,290.290 INFO    ] Waiting 0.81 seconds before fallback handling...
[2026-10-20 01:20:44,613.613 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 01:20:44,616.616 INFO    ] Checking for system updates...
[2026-10-20 01:20:44,662.662 INFO    ] 200
[2026-10-20 01:20:44,665.665 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:20:44,723.723 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:20:44,726.726 INFO    ] No update needed
[2026-10-20 01:20:44,728.728 INFO    ] Checking for camera pi updates...
[2026-10-20 01:20:44,762.762 INFO    ] 200
[2026-10-20 01:20:44,764.764 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:20:44,808.808 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:20:44,857.857 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:20:44,859.859 INFO    ] No camera update needed
[2026-10-20 01:20:44,862.862 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:20:44,864.864 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:20:44,870.870 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:20:44,875.875 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:20:46,915.915 INFO    ] ================================================
[2026-10-20 01:20:46,931.931 INFO    ] Launching Daemon at Tue Oct 20 01:20:46 IST 2026
[2026-10-20 01:20:46,945.945 INFO    ] ================================================
[2026-10-20 01:20:47,524.524 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:20:47
[2026-10-20 01:20:48,121.121 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:20:48,383.383 INFO    ] Initializing speech engine...
[2026-10-20 01:20:48,389.389 INFO    ] 2026-10-20 01:20:48
[2026-10-20 01:20:48,684.684 INFO    ] 2026-10-20 01:20:48
[2026-10-20 01:20:48,720.720 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:20:48,912.912 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:20:48,935.935 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:20:49,067.067 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:20:49,072.072 INFO    ] time= 20/10/2026 01:20:49
[2026-10-20 01:20:49,079.079 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:20:49,124.124 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:20:49,267.267 INFO    ] No existing commands found in stream
[2026-10-20 01:20:54,279.279 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:20:54,282.282 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-10-20 01:20:57,884.884 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 01:20:57,887.887 INFO    ] Checking for system updates...
[2026-10-20 01:20:57,922.922 INFO    ] 200
[2026-10-20 01:20:57,925.925 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:20:57,977.977 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:20:57,980.980 INFO    ] No update needed
[2026-10-20 01:20:57,983.983 INFO    ] Checking for camera pi updates...
[2026-10-20 01:20:58,019.019 INFO    ] 200
[2026-10-20 01:20:58,021.021 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:20:58,062.062 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:20:58,106.106 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:20:58,109.109 INFO    ] No camera update needed
[2026-10-20 01:20:58,111.111 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:20:58,114.114 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:20:58,119.119 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:20:58,124.124 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:21:00,163.163 INFO    ] ================================================
[2026-10-20 01:21:00,179.179 INFO    ] Launching Daemon at Tue Oct 20 01:21:00 IST 2026
[2026-10-20 01:21:00,190.190 INFO    ] ================================================
[2026-10-20 01:21:00,830.830 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:21:00
[2026-10-20 01:21:01,493.493 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:21:01,875.875 INFO    ] Initializing speech engine...
[2026-10-20 01:21:01,884.884 INFO    ] 2026-10-20 01:21:01
[2026-10-20 01:21:02,267.267 INFO    ] 2026-10-20 01:21:02
[2026-10-20 01:21:02,315.315 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:21:02,593.593 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:21:02,602.602 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:21:02,829.829 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:21:02,880.880 INFO    ] time= 20/10/2026 01:21:02
[2026-10-20 01:21:02,886.886 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:21:02,906.906 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:21:03,069.069 INFO    ] No existing commands found in stream
[2026-10-20 01:21:08,095.095 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:21:08,097.097 INFO    ] Waiting 0.35 seconds before fallback handling...
[2026-10-20 01:21:08,982.982 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:21:08,985.985 INFO    ] Checking for system updates...
[2026-10-20 01:21:09,022.022 INFO    ] 200
[2026-10-20 01:21:09,024.024 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:21:09,086.086 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:21:09,088.088 INFO    ] No update needed
[2026-10-20 01:21:09,091.091 INFO    ] Checking for camera pi updates...
[2026-10-20 01:21:09,127.127 INFO    ] 200
[2026-10-20 01:21:09,130.130 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:21:09,174.174 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:21:09,224.224 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:21:09,227.227 INFO    ] No camera update needed
[2026-10-20 01:21:09,229.229 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:21:09,231.231 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:21:09,237.237 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:21:09,242.242 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:21:11,281.281 INFO    ] ================================================
[2026-10-20 01:21:11,296.296 INFO    ] Launching Daemon at Tue Oct 20 01:21:11 IST 2026
[2026-10-20 01:21:11,307.307 INFO    ] ================================================
[2026-10-20 01:21:11,873.873 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:21:11
[2026-10-20 01:21:12,456.456 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:21:12,712.712 INFO    ] Initializing speech engine...
[2026-10-20 01:21:12,719.719 INFO    ] 2026-10-20 01:21:12
[2026-10-20 01:21:13,008.008 INFO    ] 2026-10-20 01:21:12
[2026-10-20 01:21:13,042.042 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:21:13,251.251 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:21:13,272.272 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:21:13,417.417 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:21:13,423.423 INFO    ] time= 20/10/2026 01:21:13
[2026-10-20 01:21:13,429.429 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:21:13,466.466 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:21:13,588.588 INFO    ] No existing commands found in stream
[2026-10-20 01:21:18,618.618 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:21:18,621.621 INFO    ] Waiting 1.16 seconds before fallback handling...
[2026-10-20 01:21:20,269.269 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 01:21:20,271.271 INFO    ] Checking for system updates...
[2026-10-20 01:21:20,310.310 INFO    ] 200
[2026-10-20 01:21:20,312.312 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:21:20,364.364 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:21:20,366.366 INFO    ] No update needed
[2026-10-20 01:21:20,368.368 INFO    ] Checking for camera pi updates...
[2026-10-20 01:21:20,403.403 INFO    ] 200
[2026-10-20 01:21:20,405.405 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:21:20,450.450 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:21:20,595.595 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:21:20,597.597 INFO    ] No camera update needed
[2026-10-20 01:21:20,600.600 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:21:20,602.602 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:21:20,608.608 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:21:20,613.613 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:21:22,653.653 INFO    ] ================================================
[2026-10-20 01:21:22,669.669 INFO    ] Launching Daemon at Tue Oct 20 01:21:22 IST 2026
[2026-10-20 01:21:22,679.679 INFO    ] ================================================
[2026-10-20 01:21:23,320.320 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:21:23
[2026-10-20 01:21:23,979.979 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:21:24,281.281 INFO    ] Initializing speech engine...
[2026-10-20 01:21:24,289.289 INFO    ] 2026-10-20 01:21:24
[2026-10-20 01:21:24,561.561 INFO    ] 2026-10-20 01:21:24
[2026-10-20 01:21:24,615.615 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:21:24,846.846 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:21:24,852.852 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:21:25,077.077 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:21:25,115.115 INFO    ] time= 20/10/2026 01:21:25
[2026-10-20 01:21:25,121.121 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:21:25,140.140 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:21:25,272.272 INFO    ] No existing commands found in stream
[2026-10-20 01:21:30,307.307 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:21:30,311.311 INFO    ] Waiting 3.82 seconds before fallback handling...
[2026-10-20 01:21:34,714.714 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 01:21:34,717.717 INFO    ] Checking for system updates...
[2026-10-20 01:21:34,754.754 INFO    ] 200
[2026-10-20 01:21:34,756.756 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:21:34,815.815 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:21:34,817.817 INFO    ] No update needed
[2026-10-20 01:21:34,820.820 INFO    ] Checking for camera pi updates...
[2026-10-20 01:21:34,854.854 INFO    ] 200
[2026-10-20 01:21:34,857.857 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:21:34,902.902 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:21:34,951.951 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:21:34,954.954 INFO    ] No camera update needed
[2026-10-20 01:21:34,956.956 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:21:34,958.958 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:21:34,964.964 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:21:34,969.969 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:21:37,010.010 INFO    ] ================================================
[2026-10-20 01:21:37,026.026 INFO    ] Launching Daemon at Tue Oct 20 01:21:37 IST 2026
[2026-10-20 01:21:37,037.037 INFO    ] ================================================
[2026-10-20 01:21:37,619.619 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:21:37
[2026-10-20 01:21:38,218.218 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:21:38,491.491 INFO    ] Initializing speech engine...
[2026-10-20 01:21:38,502.502 INFO    ] 2026-10-20 01:21:38
[2026-10-20 01:21:38,763.763 INFO    ] 2026-10-20 01:21:38
[2026-10-20 01:21:38,817.817 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:21:39,044.044 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:21:39,051.051 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:21:39,289.289 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:21:39,307.307 INFO    ] time= 20/10/2026 01:21:39
[2026-10-20 01:21:39,313.313 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:21:39,331.331 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:21:39,457.457 INFO    ] No existing commands found in stream
[2026-10-20 01:21:44,472.472 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:21:44,475.475 INFO    ] Waiting 3.40 seconds before fallback handling...
[2026-10-20 01:21:48,401.401 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:21:48,404.404 INFO    ] Checking for system updates...
[2026-10-20 01:21:48,538.538 INFO    ] 200
[2026-10-20 01:21:48,541.541 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:21:48,601.601 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:21:48,604.604 INFO    ] No update needed
[2026-10-20 01:21:48,607.607 INFO    ] Checking for camera pi updates...
[2026-10-20 01:21:48,645.645 INFO    ] 200
[2026-10-20 01:21:48,648.648 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:21:48,695.695 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:21:48,730.730 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:21:48,733.733 INFO    ] No camera update needed
[2026-10-20 01:21:48,735.735 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:21:48,738.738 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:21:48,745.745 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:21:48,751.751 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:21:50,794.794 INFO    ] ================================================
[2026-10-20 01:21:50,810.810 INFO    ] Launching Daemon at Tue Oct 20 01:21:50 IST 2026
[2026-10-20 01:21:50,821.821 INFO    ] ================================================
[2026-10-20 01:21:51,403.403 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:21:51
[2026-10-20 01:21:52,001.001 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:21:52,278.278 INFO    ] Initializing speech engine...
[2026-10-20 01:21:52,287.287 INFO    ] 2026-10-20 01:21:52
[2026-10-20 01:21:52,545.545 INFO    ] 2026-10-20 01:21:52
[2026-10-20 01:21:52,575.575 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:21:52,825.825 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:21:52,831.831 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:21:53,009.009 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:21:53,058.058 INFO    ] time= 20/10/2026 01:21:53
[2026-10-20 01:21:53,090.090 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:21:53,096.096 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:21:53,250.250 INFO    ] No existing commands found in stream
[2026-10-20 01:21:58,281.281 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:21:58,284.284 INFO    ] Waiting 3.92 seconds before fallback handling...
[2026-10-20 01:22:02,691.691 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:22:02,694.694 INFO    ] Checking for system updates...
[2026-10-20 01:22:02,734.734 INFO    ] 200
[2026-10-20 01:22:02,737.737 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:22:02,799.799 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:22:02,802.802 INFO    ] No update needed
[2026-10-20 01:22:02,805.805 INFO    ] Checking for camera pi updates...
[2026-10-20 01:22:02,843.843 INFO    ] 200
[2026-10-20 01:22:02,846.846 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:22:02,902.902 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:22:02,950.950 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:22:02,953.953 INFO    ] No camera update needed
[2026-10-20 01:22:02,955.955 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:22:02,958.958 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:22:02,965.965 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:22:02,971.971 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:22:05,013.013 INFO    ] ================================================
[2026-10-20 01:22:05,030.030 INFO    ] Launching Daemon at Tue Oct 20 01:22:05 IST 2026
[2026-10-20 01:22:05,041.041 INFO    ] ================================================
[2026-10-20 01:22:05,618.618 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:22:05
[2026-10-20 01:22:06,211.211 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:22:06,470.470 INFO    ] Initializing speech engine...
[2026-10-20 01:22:06,476.476 INFO    ] 2026-10-20 01:22:06
[2026-10-20 01:22:06,775.775 INFO    ] 2026-10-20 01:22:06
[2026-10-20 01:22:06,813.813 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:22:07,024.024 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:22:07,045.045 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:22:07,241.241 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:22:07,275.275 INFO    ] time= 20/10/2026 01:22:07
[2026-10-20 01:22:07,305.305 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:22:07,369.369 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:22:07,489.489 INFO    ] No existing commands found in stream
[2026-10-20 01:22:12,501.501 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:22:12,504.504 INFO    ] Waiting 0.92 seconds before fallback handling...
[2026-10-20 01:22:14,022.022 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 01:22:14,024.024 INFO    ] Checking for system updates...
[2026-10-20 01:22:14,060.060 INFO    ] 200
[2026-10-20 01:22:14,062.062 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:22:14,125.125 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:22:14,127.127 INFO    ] No update needed
[2026-10-20 01:22:14,130.130 INFO    ] Checking for camera pi updates...
[2026-10-20 01:22:14,163.163 INFO    ] 200
[2026-10-20 01:22:14,166.166 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:22:14,205.205 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:22:14,259.259 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:22:14,261.261 INFO    ] No camera update needed
[2026-10-20 01:22:14,264.264 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:22:14,266.266 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:22:14,272.272 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:22:14,276.276 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:22:16,317.317 INFO    ] ================================================
[2026-10-20 01:22:16,332.332 INFO    ] Launching Daemon at Tue Oct 20 01:22:16 IST 2026
[2026-10-20 01:22:16,344.344 INFO    ] ================================================
[2026-10-20 01:22:16,933.933 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:22:16
[2026-10-20 01:22:17,530.530 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:22:17,784.784 INFO    ] Initializing speech engine...
[2026-10-20 01:22:17,806.806 INFO    ] 2026-10-20 01:22:17
[2026-10-20 01:22:18,066.066 INFO    ] 2026-10-20 01:22:18
[2026-10-20 01:22:18,102.102 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:22:18,476.476 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:22:18,497.497 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:22:18,659.659 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:22:18,667.667 INFO    ] time= 20/10/2026 01:22:18
[2026-10-20 01:22:18,688.688 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:22:18,745.745 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:22:18,826.826 INFO    ] No existing commands found in stream
[2026-10-20 01:22:23,836.836 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:22:23,839.839 INFO    ] Waiting 2.70 seconds before fallback handling...
[2026-10-20 01:22:27,099.099 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 01:22:27,102.102 INFO    ] Checking for system updates...
[2026-10-20 01:22:27,137.137 INFO    ] 200
[2026-10-20 01:22:27,140.140 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:22:27,199.199 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:22:27,202.202 INFO    ] No update needed
[2026-10-20 01:22:27,204.204 INFO    ] Checking for camera pi updates...
[2026-10-20 01:22:27,237.237 INFO    ] 200
[2026-10-20 01:22:27,240.240 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:22:27,280.280 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:22:27,327.327 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:22:27,330.330 INFO    ] No camera update needed
[2026-10-20 01:22:27,332.332 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:22:27,335.335 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:22:27,340.340 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:22:27,345.345 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:22:29,385.385 INFO    ] ================================================
[2026-10-20 01:22:29,401.401 INFO    ] Launching Daemon at Tue Oct 20 01:22:29 IST 2026
[2026-10-20 01:22:29,412.412 INFO    ] ================================================
[2026-10-20 01:22:29,996.996 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:22:29
[2026-10-20 01:22:30,600.600 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:22:30,890.890 INFO    ] Initializing speech engine...
[2026-10-20 01:22:30,899.899 INFO    ] 2026-10-20 01:22:30
[2026-10-20 01:22:31,173.173 INFO    ] 2026-10-20 01:22:31
[2026-10-20 01:22:31,217.217 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:22:31,422.422 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:22:31,435.435 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:22:31,565.565 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:22:31,587.587 INFO    ] time= 20/10/2026 01:22:31
[2026-10-20 01:22:31,610.610 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:22:31,617.617 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:22:31,703.703 INFO    ] No existing commands found in stream
[2026-10-20 01:22:36,723.723 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:22:36,726.726 INFO    ] Waiting 2.40 seconds before fallback handling...
[2026-10-20 01:22:40,684.684 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:22:40,687.687 INFO    ] Checking for system updates...
[2026-10-20 01:22:40,726.726 INFO    ] 200
[2026-10-20 01:22:40,729.729 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:22:40,780.780 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:22:40,783.783 INFO    ] No update needed
[2026-10-20 01:22:40,785.785 INFO    ] Checking for camera pi updates...
[2026-10-20 01:22:40,819.819 INFO    ] 200
[2026-10-20 01:22:40,821.821 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:22:40,862.862 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:22:40,908.908 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:22:40,910.910 INFO    ] No camera update needed
[2026-10-20 01:22:40,913.913 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:22:40,915.915 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:22:40,921.921 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:22:40,926.926 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:22:42,965.965 INFO    ] ================================================
[2026-10-20 01:22:42,980.980 INFO    ] Launching Daemon at Tue Oct 20 01:22:42 IST 2026
[2026-10-20 01:22:42,991.991 INFO    ] ================================================
[2026-10-20 01:22:43,574.574 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:22:43
[2026-10-20 01:22:44,176.176 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:22:44,454.454 INFO    ] Initializing speech engine...
[2026-10-20 01:22:44,459.459 INFO    ] 2026-10-20 01:22:44
[2026-10-20 01:22:44,726.726 INFO    ] 2026-10-20 01:22:44
[2026-10-20 01:22:44,779.779 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:22:44,998.998 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:22:45,007.007 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:22:45,146.146 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:22:45,208.208 INFO    ] time= 20/10/2026 01:22:45
[2026-10-20 01:22:45,258.258 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:22:45,272.272 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:22:45,419.419 INFO    ] No existing commands found in stream
[2026-10-20 01:22:50,434.434 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:22:50,436.436 INFO    ] Waiting 2.70 seconds before fallback handling...
[2026-10-20 01:22:53,695.695 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 01:22:53,698.698 INFO    ] Checking for system updates...
[2026-10-20 01:22:53,737.737 INFO    ] 200
[2026-10-20 01:22:53,739.739 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:22:53,792.792 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:22:53,794.794 INFO    ] No update needed
[2026-10-20 01:22:53,797.797 INFO    ] Checking for camera pi updates...
[2026-10-20 01:22:53,830.830 INFO    ] 200
[2026-10-20 01:22:53,832.832 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:22:53,872.872 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:22:53,928.928 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:22:53,931.931 INFO    ] No camera update needed
[2026-10-20 01:22:53,933.933 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:22:53,935.935 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:22:53,941.941 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:22:53,945.945 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:22:55,986.986 INFO    ] ================================================
[2026-10-20 01:22:56,002.002 INFO    ] Launching Daemon at Tue Oct 20 01:22:55 IST 2026
[2026-10-20 01:22:56,013.013 INFO    ] ================================================
[2026-10-20 01:22:56,674.674 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:22:56
[2026-10-20 01:22:57,350.350 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:22:57,663.663 INFO    ] Initializing speech engine...
[2026-10-20 01:22:57,671.671 INFO    ] 2026-10-20 01:22:57
[2026-10-20 01:22:57,975.975 INFO    ] 2026-10-20 01:22:57
[2026-10-20 01:22:58,062.062 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:22:58,274.274 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:22:58,280.280 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:22:58,474.474 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:22:58,481.481 INFO    ] time= 20/10/2026 01:22:58
[2026-10-20 01:22:58,500.500 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:22:58,528.528 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:22:58,654.654 INFO    ] No existing commands found in stream
[2026-10-20 01:23:03,681.681 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:23:03,684.684 INFO    ] Waiting 3.83 seconds before fallback handling...
[2026-10-20 01:23:08,050.050 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 01:23:08,053.053 INFO    ] Checking for system updates...
[2026-10-20 01:23:08,090.090 INFO    ] 200
[2026-10-20 01:23:08,093.093 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:23:08,145.145 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:23:08,148.148 INFO    ] No update needed
[2026-10-20 01:23:08,151.151 INFO    ] Checking for camera pi updates...
[2026-10-20 01:23:08,184.184 INFO    ] 200
[2026-10-20 01:23:08,187.187 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:23:08,227.227 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:23:08,283.283 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:23:08,286.286 INFO    ] No camera update needed
[2026-10-20 01:23:08,288.288 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:23:08,291.291 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:23:08,297.297 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:23:08,303.303 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:23:10,342.342 INFO    ] ================================================
[2026-10-20 01:23:10,357.357 INFO    ] Launching Daemon at Tue Oct 20 01:23:10 IST 2026
[2026-10-20 01:23:10,368.368 INFO    ] ================================================
[2026-10-20 01:23:11,010.010 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:23:11
[2026-10-20 01:23:11,625.625 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:23:11,897.897 INFO    ] Initializing speech engine...
[2026-10-20 01:23:11,906.906 INFO    ] 2026-10-20 01:23:11
[2026-10-20 01:23:12,155.155 INFO    ] 2026-10-20 01:23:12
[2026-10-20 01:23:12,189.189 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:23:12,447.447 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:23:12,457.457 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:23:12,595.595 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:23:12,629.629 INFO    ] time= 20/10/2026 01:23:12
[2026-10-20 01:23:12,673.673 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:23:12,729.729 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:23:12,885.885 INFO    ] No existing commands found in stream
[2026-10-20 01:23:17,904.904 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:23:17,907.907 INFO    ] Waiting 0.26 seconds before fallback handling...
[2026-10-20 01:23:18,693.693 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:23:18,695.695 INFO    ] Checking for system updates...
[2026-10-20 01:23:18,732.732 INFO    ] 200
[2026-10-20 01:23:18,734.734 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:23:18,787.787 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:23:18,790.790 INFO    ] No update needed
[2026-10-20 01:23:18,792.792 INFO    ] Checking for camera pi updates...
[2026-10-20 01:23:18,826.826 INFO    ] 200
[2026-10-20 01:23:18,829.829 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:23:18,870.870 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:23:18,918.918 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:23:18,921.921 INFO    ] No camera update needed
[2026-10-20 01:23:18,924.924 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:23:18,926.926 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:23:18,933.933 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:23:18,938.938 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:23:20,979.979 INFO    ] ================================================
[2026-10-20 01:23:21,995.995 INFO    ] Launching Daemon at Tue Oct 20 01:23:20 IST 2026
[2026-10-20 01:23:21,006.006 INFO    ] ================================================
[2026-10-20 01:23:21,575.575 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:23:21
[2026-10-20 01:23:22,162.162 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:23:22,416.416 INFO    ] Initializing speech engine...
[2026-10-20 01:23:22,439.439 INFO    ] 2026-10-20 01:23:22
[2026-10-20 01:23:22,696.696 INFO    ] 2026-10-20 01:23:22
[2026-10-20 01:23:22,738.738 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:23:22,989.989 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:23:23,000.000 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:23:23,138.138 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:23:23,202.202 INFO    ] time= 20/10/2026 01:23:23
[2026-10-20 01:23:23,252.252 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:23:23,275.275 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:23:23,415.415 INFO    ] No existing commands found in stream
[2026-10-20 01:23:28,435.435 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:23:28,438.438 INFO    ] Waiting 3.78 seconds before fallback handling...
[2026-10-20 01:23:32,726.726 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 01:23:32,729.729 INFO    ] Checking for system updates...
[2026-10-20 01:23:32,768.768 INFO    ] 200
[2026-10-20 01:23:32,770.770 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:23:32,826.826 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:23:32,829.829 INFO    ] No update needed
[2026-10-20 01:23:32,831.831 INFO    ] Checking for camera pi updates...
[2026-10-20 01:23:32,866.866 INFO    ] 200
[2026-10-20 01:23:32,869.869 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:23:32,912.912 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:23:32,957.957 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:23:32,961.961 INFO    ] No camera update needed
[2026-10-20 01:23:32,963.963 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:23:32,966.966 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:23:32,973.973 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:23:32,979.979 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:23:35,019.019 INFO    ] ================================================
[2026-10-20 01:23:35,035.035 INFO    ] Launching Daemon at Tue Oct 20 01:23:35 IST 2026
[2026-10-20 01:23:35,045.045 INFO    ] ================================================
[2026-10-20 01:23:35,612.612 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:23:35
[2026-10-20 01:23:36,197.197 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:23:36,469.469 INFO    ] Initializing speech engine...
[2026-10-20 01:23:36,478.478 INFO    ] 2026-10-20 01:23:36
[2026-10-20 01:23:36,730.730 INFO    ] 2026-10-20 01:23:36
[2026-10-20 01:23:36,765.765 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:23:36,967.967 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:23:37,026.026 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:23:37,169.169 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:23:37,235.235 INFO    ] time= 20/10/2026 01:23:37
[2026-10-20 01:23:37,294.294 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:23:37,306.306 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:23:37,457.457 INFO    ] No existing commands found in stream
[2026-10-20 01:23:42,472.472 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:23:42,474.474 INFO    ] Waiting 1.80 seconds before fallback handling...
[2026-10-20 01:23:44,794.794 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 01:23:44,797.797 INFO    ] Checking for system updates...
[2026-10-20 01:23:44,834.834 INFO    ] 200
[2026-10-20 01:23:44,837.837 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:23:44,908.908 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:23:44,911.911 INFO    ] No update needed
[2026-10-20 01:23:44,913.913 INFO    ] Checking for camera pi updates...
[2026-10-20 01:23:44,948.948 INFO    ] 200
[2026-10-20 01:23:44,951.951 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:23:44,997.997 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:23:45,058.058 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:23:45,061.061 INFO    ] No camera update needed
[2026-10-20 01:23:45,064.064 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:23:45,066.066 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:23:45,072.072 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:23:45,078.078 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:23:47,119.119 INFO    ] ================================================
[2026-10-20 01:23:47,134.134 INFO    ] Launching Daemon at Tue Oct 20 01:23:47 IST 2026
[2026-10-20 01:23:47,145.145 INFO    ] ================================================
[2026-10-20 01:23:47,724.724 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:23:47
[2026-10-20 01:23:48,320.320 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:23:48,578.578 INFO    ] Initializing speech engine...
[2026-10-20 01:23:48,587.587 INFO    ] 2026-10-20 01:23:48
[2026-10-20 01:23:48,879.879 INFO    ] 2026-10-20 01:23:48
[2026-10-20 01:23:48,916.916 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:23:49,202.202 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:23:49,212.212 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:23:49,364.364 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:23:49,429.429 INFO    ] time= 20/10/2026 01:23:49
[2026-10-20 01:23:49,478.478 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:23:49,512.512 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:23:49,677.677 INFO    ] No existing commands found in stream
[2026-10-20 01:23:54,691.691 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:23:54,694.694 INFO    ] Waiting 0.25 seconds before fallback handling...
[2026-10-20 01:23:56,520.520 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 01:23:56,523.523 INFO    ] Checking for system updates...
[2026-10-20 01:23:56,558.558 INFO    ] 200
[2026-10-20 01:23:56,561.561 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:23:56,612.612 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:23:56,615.615 INFO    ] No update needed
[2026-10-20 01:23:56,617.617 INFO    ] Checking for camera pi updates...
[2026-10-20 01:23:56,650.650 INFO    ] 200
[2026-10-20 01:23:56,653.653 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:23:56,696.696 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:23:56,746.746 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:23:56,749.749 INFO    ] No camera update needed
[2026-10-20 01:23:56,751.751 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:23:56,754.754 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:23:56,759.759 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:23:56,764.764 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:23:58,804.804 INFO    ] ================================================
[2026-10-20 01:23:58,819.819 INFO    ] Launching Daemon at Tue Oct 20 01:23:58 IST 2026
[2026-10-20 01:23:58,830.830 INFO    ] ================================================
[2026-10-20 01:23:59,404.404 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:23:59
[2026-10-20 01:23:59,999.999 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:24:00,271.271 INFO    ] Initializing speech engine...
[2026-10-20 01:24:00,280.280 INFO    ] 2026-10-20 01:24:00
[2026-10-20 01:24:00,529.529 INFO    ] 2026-10-20 01:24:00
[2026-10-20 01:24:00,564.564 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:24:00,766.766 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:24:00,824.824 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:24:01,000.000 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:24:01,004.004 INFO    ] time= 20/10/2026 01:24:01
[2026-10-20 01:24:01,006.006 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:24:01,009.009 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:24:01,086.086 INFO    ] No existing commands found in stream
[2026-10-20 01:24:06,095.095 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:24:06,098.098 INFO    ] Waiting 0.03 seconds before fallback handling...
[2026-10-20 01:24:06,662.662 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:24:06,664.664 INFO    ] Checking for system updates...
[2026-10-20 01:24:06,699.699 INFO    ] 200
[2026-10-20 01:24:06,702.702 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:24:06,753.753 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:24:06,756.756 INFO    ] No update needed
[2026-10-20 01:24:06,758.758 INFO    ] Checking for camera pi updates...
[2026-10-20 01:24:06,791.791 INFO    ] 200
[2026-10-20 01:24:06,793.793 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:24:06,836.836 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:24:06,884.884 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:24:06,886.886 INFO    ] No camera update needed
[2026-10-20 01:24:06,889.889 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:24:06,891.891 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:24:06,896.896 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:24:06,901.901 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:24:08,941.941 INFO    ] ================================================
[2026-10-20 01:24:08,957.957 INFO    ] Launching Daemon at Tue Oct 20 01:24:08 IST 2026
[2026-10-20 01:24:08,969.969 INFO    ] ================================================
[2026-10-20 01:24:09,549.549 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:24:09
[2026-10-20 01:24:10,193.193 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:24:10,510.510 INFO    ] Initializing speech engine...
[2026-10-20 01:24:10,522.522 INFO    ] 2026-10-20 01:24:10
[2026-10-20 01:24:10,829.829 INFO    ] 2026-10-20 01:24:10
[2026-10-20 01:24:10,874.874 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:24:11,114.114 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:24:11,121.121 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:24:11,340.340 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:24:11,385.385 INFO    ] time= 20/10/2026 01:24:11
[2026-10-20 01:24:11,392.392 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:24:11,411.411 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:24:11,540.540 INFO    ] No existing commands found in stream
[2026-10-20 01:24:16,559.559 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:24:16,562.562 INFO    ] Waiting 2.65 seconds before fallback handling...
[2026-10-20 01:24:19,722.722 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:24:19,725.725 INFO    ] Checking for system updates...
[2026-10-20 01:24:19,760.760 INFO    ] 200
[2026-10-20 01:24:19,763.763 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:24:19,819.819 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:24:19,821.821 INFO    ] No update needed
[2026-10-20 01:24:19,824.824 INFO    ] Checking for camera pi updates...
[2026-10-20 01:24:19,858.858 INFO    ] 200
[2026-10-20 01:24:19,860.860 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:24:19,905.905 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:24:19,952.952 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:24:19,955.955 INFO    ] No camera update needed
[2026-10-20 01:24:19,957.957 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:24:19,960.960 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:24:19,965.965 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:24:19,970.970 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:24:22,010.010 INFO    ] ================================================
[2026-10-20 01:24:22,026.026 INFO    ] Launching Daemon at Tue Oct 20 01:24:22 IST 2026
[2026-10-20 01:24:22,037.037 INFO    ] ================================================
[2026-10-20 01:24:22,643.643 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:24:22
[2026-10-20 01:24:23,283.283 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:24:23,579.579 INFO    ] Initializing speech engine...
[2026-10-20 01:24:23,588.588 INFO    ] 2026-10-20 01:24:23
[2026-10-20 01:24:23,854.854 INFO    ] 2026-10-20 01:24:23
[2026-10-20 01:24:23,889.889 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:24:24,145.145 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:24:24,149.149 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:24:24,287.287 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:24:24,326.326 INFO    ] time= 20/10/2026 01:24:24
[2026-10-20 01:24:24,381.381 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:24:24,421.421 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:24:24,574.574 INFO    ] No existing commands found in stream
[2026-10-20 01:24:29,589.589 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:24:29,592.592 INFO    ] Waiting 1.90 seconds before fallback handling...
[2026-10-20 01:24:31,991.991 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:24:31,994.994 INFO    ] Checking for system updates...
[2026-10-20 01:24:32,034.034 INFO    ] 200
[2026-10-20 01:24:32,037.037 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:24:32,095.095 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:24:32,098.098 INFO    ] No update needed
[2026-10-20 01:24:32,101.101 INFO    ] Checking for camera pi updates...
[2026-10-20 01:24:32,137.137 INFO    ] 200
[2026-10-20 01:24:32,140.140 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:24:32,185.185 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:24:32,219.219 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:24:32,222.222 INFO    ] No camera update needed
[2026-10-20 01:24:32,224.224 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:24:32,227.227 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:24:32,233.233 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:24:32,239.239 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:24:34,281.281 INFO    ] ================================================
[2026-10-20 01:24:34,297.297 INFO    ] Launching Daemon at Tue Oct 20 01:24:34 IST 2026
[2026-10-20 01:24:34,308.308 INFO    ] ================================================
[2026-10-20 01:24:34,886.886 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:24:34
[2026-10-20 01:24:35,477.477 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:24:35,747.747 INFO    ] Initializing speech engine...
[2026-10-20 01:24:35,756.756 INFO    ] 2026-10-20 01:24:35
[2026-10-20 01:24:36,005.005 INFO    ] 2026-10-20 01:24:35
[2026-10-20 01:24:36,040.040 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:24:36,236.236 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:24:36,281.281 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:24:36,444.444 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:24:36,514.514 INFO    ] time= 20/10/2026 01:24:36
[2026-10-20 01:24:36,563.563 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:24:36,580.580 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:24:36,730.730 INFO    ] No existing commands found in stream
[2026-10-20 01:24:41,745.745 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:24:41,748.748 INFO    ] Waiting 2.35 seconds before fallback handling...
[2026-10-20 01:24:44,605.605 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 01:24:44,607.607 INFO    ] Checking for system updates...
[2026-10-20 01:24:44,643.643 INFO    ] 200
[2026-10-20 01:24:44,646.646 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:24:44,697.697 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:24:44,699.699 INFO    ] No update needed
[2026-10-20 01:24:44,702.702 INFO    ] Checking for camera pi updates...
[2026-10-20 01:24:44,735.735 INFO    ] 200
[2026-10-20 01:24:44,737.737 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:24:44,777.777 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:24:44,824.824 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:24:44,826.826 INFO    ] No camera update needed
[2026-10-20 01:24:44,829.829 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:24:44,831.831 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:24:44,837.837 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:24:44,842.842 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:24:46,882.882 INFO    ] ================================================
[2026-10-20 01:24:46,897.897 INFO    ] Launching Daemon at Tue Oct 20 01:24:46 IST 2026
[2026-10-20 01:24:46,908.908 INFO    ] ================================================
[2026-10-20 01:24:47,479.479 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:24:47
[2026-10-20 01:24:48,063.063 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:24:48,313.313 INFO    ] Initializing speech engine...
[2026-10-20 01:24:48,321.321 INFO    ] 2026-10-20 01:24:48
[2026-10-20 01:24:48,607.607 INFO    ] 2026-10-20 01:24:48
[2026-10-20 01:24:48,642.642 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:24:48,842.842 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:24:48,859.859 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:24:49,074.074 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:24:49,081.081 INFO    ] time= 20/10/2026 01:24:49
[2026-10-20 01:24:49,141.141 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:24:49,180.180 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:24:49,285.285 INFO    ] No existing commands found in stream
[2026-10-20 01:24:54,305.305 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:24:54,308.308 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-10-20 01:24:57,438.438 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 01:24:57,441.441 INFO    ] Checking for system updates...
[2026-10-20 01:24:57,475.475 INFO    ] 200
[2026-10-20 01:24:57,478.478 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:24:57,535.535 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:24:57,538.538 INFO    ] No update needed
[2026-10-20 01:24:57,540.540 INFO    ] Checking for camera pi updates...
[2026-10-20 01:24:57,576.576 INFO    ] 200
[2026-10-20 01:24:57,578.578 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:24:57,620.620 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:24:57,668.668 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:24:57,670.670 INFO    ] No camera update needed
[2026-10-20 01:24:57,673.673 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:24:57,675.675 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:24:57,680.680 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:24:57,685.685 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:24:59,724.724 INFO    ] ================================================
[2026-10-20 01:24:59,740.740 INFO    ] Launching Daemon at Tue Oct 20 01:24:59 IST 2026
[2026-10-20 01:24:59,750.750 INFO    ] ================================================
[2026-10-20 01:25:00,331.331 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:25:00
[2026-10-20 01:25:00,922.922 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:25:01,205.205 INFO    ] Initializing speech engine...
[2026-10-20 01:25:01,215.215 INFO    ] 2026-10-20 01:25:01
[2026-10-20 01:25:01,475.475 INFO    ] 2026-10-20 01:25:01
[2026-10-20 01:25:01,512.512 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:25:01,723.723 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:25:01,731.731 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:25:01,952.952 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:25:01,967.967 INFO    ] time= 20/10/2026 01:25:01
[2026-10-20 01:25:01,977.977 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:25:01,981.981 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:25:02,058.058 INFO    ] No existing commands found in stream
[2026-10-20 01:25:07,070.070 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:25:07,073.073 INFO    ] Waiting 1.18 seconds before fallback handling...
[2026-10-20 01:25:08,709.709 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 01:25:08,712.712 INFO    ] Checking for system updates...
[2026-10-20 01:25:08,748.748 INFO    ] 200
[2026-10-20 01:25:08,751.751 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:25:09,227.227 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:25:09,230.230 INFO    ] No update needed
[2026-10-20 01:25:09,232.232 INFO    ] Checking for camera pi updates...
[2026-10-20 01:25:09,265.265 INFO    ] 200
[2026-10-20 01:25:09,267.267 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:25:09,306.306 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:25:09,353.353 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:25:09,356.356 INFO    ] No camera update needed
[2026-10-20 01:25:09,358.358 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:25:09,360.360 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:25:09,366.366 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:25:09,371.371 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:25:11,410.410 INFO    ] ================================================
[2026-10-20 01:25:11,426.426 INFO    ] Launching Daemon at Tue Oct 20 01:25:11 IST 2026
[2026-10-20 01:25:11,437.437 INFO    ] ================================================
[2026-10-20 01:25:12,018.018 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:25:12
[2026-10-20 01:25:12,602.602 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:25:12,895.895 INFO    ] Initializing speech engine...
[2026-10-20 01:25:12,902.902 INFO    ] 2026-10-20 01:25:12
[2026-10-20 01:25:13,186.186 INFO    ] 2026-10-20 01:25:13
[2026-10-20 01:25:13,231.231 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:25:13,479.479 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:25:13,484.484 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:25:13,688.688 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:25:13,719.719 INFO    ] time= 20/10/2026 01:25:13
[2026-10-20 01:25:13,725.725 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:25:13,746.746 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:25:13,875.875 INFO    ] No existing commands found in stream
[2026-10-20 01:25:18,890.890 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:25:18,893.893 INFO    ] Waiting 1.68 seconds before fallback handling...
[2026-10-20 01:25:21,090.090 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:25:21,093.093 INFO    ] Checking for system updates...
[2026-10-20 01:25:21,130.130 INFO    ] 200
[2026-10-20 01:25:21,132.132 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:25:21,193.193 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:25:21,196.196 INFO    ] No update needed
[2026-10-20 01:25:21,198.198 INFO    ] Checking for camera pi updates...
[2026-10-20 01:25:21,232.232 INFO    ] 200
[2026-10-20 01:25:21,235.235 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:25:21,276.276 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:25:21,326.326 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:25:21,329.329 INFO    ] No camera update needed
[2026-10-20 01:25:21,332.332 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:25:21,334.334 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:25:21,341.341 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:25:21,346.346 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:25:23,387.387 INFO    ] ================================================
[2026-10-20 01:25:23,402.402 INFO    ] Launching Daemon at Tue Oct 20 01:25:23 IST 2026
[2026-10-20 01:25:23,414.414 INFO    ] ================================================
[2026-10-20 01:25:24,041.041 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:25:23
[2026-10-20 01:25:24,624.624 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:25:24,870.870 INFO    ] Initializing speech engine...
[2026-10-20 01:25:24,878.878 INFO    ] 2026-10-20 01:25:24
[2026-10-20 01:25:25,153.153 INFO    ] 2026-10-20 01:25:25
[2026-10-20 01:25:25,189.189 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:25:25,446.446 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:25:25,455.455 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:25:25,619.619 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:25:25,673.673 INFO    ] time= 20/10/2026 01:25:25
[2026-10-20 01:25:25,723.723 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:25:25,730.730 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:25:25,874.874 INFO    ] No existing commands found in stream
[2026-10-20 01:25:30,889.889 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:25:30,891.891 INFO    ] Waiting 1.25 seconds before fallback handling...
[2026-10-20 01:25:32,680.680 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:25:32,683.683 INFO    ] Checking for system updates...
[2026-10-20 01:25:32,722.722 INFO    ] 200
[2026-10-20 01:25:32,725.725 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:25:32,787.787 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:25:32,790.790 INFO    ] No update needed
[2026-10-20 01:25:32,794.794 INFO    ] Checking for camera pi updates...
[2026-10-20 01:25:32,832.832 INFO    ] 200
[2026-10-20 01:25:32,835.835 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:25:32,878.878 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:25:33,010.010 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:25:33,013.013 INFO    ] No camera update needed
[2026-10-20 01:25:33,016.016 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:25:33,019.019 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:25:33,025.025 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:25:33,031.031 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:25:35,072.072 INFO    ] ================================================
[2026-10-20 01:25:35,088.088 INFO    ] Launching Daemon at Tue Oct 20 01:25:35 IST 2026
[2026-10-20 01:25:35,098.098 INFO    ] ================================================
[2026-10-20 01:25:35,753.753 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:25:35
[2026-10-20 01:25:36,426.426 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:25:36,730.730 INFO    ] Initializing speech engine...
[2026-10-20 01:25:36,735.735 INFO    ] 2026-10-20 01:25:36
[2026-10-20 01:25:37,030.030 INFO    ] 2026-10-20 01:25:37
[2026-10-20 01:25:37,069.069 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:25:37,349.349 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:25:37,358.358 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:25:37,554.554 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:25:37,561.561 INFO    ] time= 20/10/2026 01:25:37
[2026-10-20 01:25:37,580.580 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:25:37,610.610 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:25:37,716.716 INFO    ] No existing commands found in stream
[2026-10-20 01:25:42,732.732 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:25:42,735.735 INFO    ] Waiting 0.32 seconds before fallback handling...
[2026-10-20 01:25:43,609.609 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:25:43,612.612 INFO    ] Checking for system updates...
[2026-10-20 01:25:43,649.649 INFO    ] 200
[2026-10-20 01:25:43,652.652 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:25:43,711.711 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:25:43,714.714 INFO    ] No update needed
[2026-10-20 01:25:43,717.717 INFO    ] Checking for camera pi updates...
[2026-10-20 01:25:43,751.751 INFO    ] 200
[2026-10-20 01:25:43,754.754 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:25:43,794.794 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:25:43,841.841 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:25:43,844.844 INFO    ] No camera update needed
[2026-10-20 01:25:43,847.847 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:25:43,849.849 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:25:43,856.856 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:25:43,861.861 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:25:45,903.903 INFO    ] ================================================
[2026-10-20 01:25:45,919.919 INFO    ] Launching Daemon at Tue Oct 20 01:25:45 IST 2026
[2026-10-20 01:25:45,930.930 INFO    ] ================================================
[2026-10-20 01:25:46,585.585 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:25:46
[2026-10-20 01:25:47,196.196 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:25:47,442.442 INFO    ] Initializing speech engine...
[2026-10-20 01:25:47,456.456 INFO    ] 2026-10-20 01:25:47
[2026-10-20 01:25:47,733.733 INFO    ] 2026-10-20 01:25:47
[2026-10-20 01:25:47,768.768 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:25:47,970.970 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:25:47,983.983 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:25:48,147.147 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:25:48,156.156 INFO    ] time= 20/10/2026 01:25:48
[2026-10-20 01:25:48,163.163 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:25:48,196.196 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:25:48,341.341 INFO    ] No existing commands found in stream
[2026-10-20 01:25:53,366.366 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:25:53,369.369 INFO    ] Waiting 2.38 seconds before fallback handling...
[2026-10-20 01:25:56,270.270 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 01:25:56,272.272 INFO    ] Checking for system updates...
[2026-10-20 01:25:56,309.309 INFO    ] 200
[2026-10-20 01:25:56,312.312 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:25:56,364.364 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:25:56,367.367 INFO    ] No update needed
[2026-10-20 01:25:56,370.370 INFO    ] Checking for camera pi updates...
[2026-10-20 01:25:56,404.404 INFO    ] 200
[2026-10-20 01:25:56,407.407 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:25:56,447.447 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:25:56,498.498 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:25:56,501.501 INFO    ] No camera update needed
[2026-10-20 01:25:56,504.504 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:25:56,507.507 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:25:56,513.513 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:25:56,519.519 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:25:58,560.560 INFO    ] ================================================
[2026-10-20 01:25:58,576.576 INFO    ] Launching Daemon at Tue Oct 20 01:25:58 IST 2026
[2026-10-20 01:25:58,587.587 INFO    ] ================================================
[2026-10-20 01:25:59,154.154 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:25:59
[2026-10-20 01:25:59,740.740 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:25:59,986.986 INFO    ] Initializing speech engine...
[2026-10-20 01:25:59,995.995 INFO    ] 2026-10-20 01:25:59
[2026-10-20 01:26:00,268.268 INFO    ] 2026-10-20 01:26:00
[2026-10-20 01:26:00,303.303 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:26:00,503.503 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:26:00,543.543 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:26:00,712.712 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:26:00,767.767 INFO    ] time= 20/10/2026 01:26:00
[2026-10-20 01:26:00,811.811 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:26:00,847.847 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:26:00,978.978 INFO    ] No existing commands found in stream
[2026-10-20 01:26:06,007.007 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:26:06,009.009 INFO    ] Waiting 0.53 seconds before fallback handling...
[2026-10-20 01:26:07,059.059 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:26:07,062.062 INFO    ] Checking for system updates...
[2026-10-20 01:26:07,097.097 INFO    ] 200
[2026-10-20 01:26:07,099.099 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:26:07,150.150 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:26:07,153.153 INFO    ] No update needed
[2026-10-20 01:26:07,155.155 INFO    ] Checking for camera pi updates...
[2026-10-20 01:26:07,188.188 INFO    ] 200
[2026-10-20 01:26:07,191.191 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:26:07,230.230 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:26:07,286.286 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:26:07,288.288 INFO    ] No camera update needed
[2026-10-20 01:26:07,291.291 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:26:07,293.293 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:26:07,298.298 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:26:07,303.303 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:26:09,344.344 INFO    ] ================================================
[2026-10-20 01:26:09,360.360 INFO    ] Launching Daemon at Tue Oct 20 01:26:09 IST 2026
[2026-10-20 01:26:09,371.371 INFO    ] ================================================
[2026-10-20 01:26:09,941.941 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:26:09
[2026-10-20 01:26:10,531.531 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:26:10,807.807 INFO    ] Initializing speech engine...
[2026-10-20 01:26:10,814.814 INFO    ] 2026-10-20 01:26:10
[2026-10-20 01:26:11,060.060 INFO    ] 2026-10-20 01:26:11
[2026-10-20 01:26:11,095.095 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:26:11,293.293 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:26:11,333.333 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:26:11,500.500 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:26:11,540.540 INFO    ] time= 20/10/2026 01:26:11
[2026-10-20 01:26:11,594.594 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:26:11,634.634 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:26:11,780.780 INFO    ] No existing commands found in stream
[2026-10-20 01:26:16,797.797 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:26:16,800.800 INFO    ] Waiting 3.74 seconds before fallback handling...
[2026-10-20 01:26:21,044.044 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:26:21,047.047 INFO    ] Checking for system updates...
[2026-10-20 01:26:21,082.082 INFO    ] 200
[2026-10-20 01:26:21,084.084 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:26:21,140.140 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:26:21,142.142 INFO    ] No update needed
[2026-10-20 01:26:21,144.144 INFO    ] Checking for camera pi updates...
[2026-10-20 01:26:21,177.177 INFO    ] 200
[2026-10-20 01:26:21,180.180 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:26:21,224.224 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:26:21,281.281 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:26:21,288.288 INFO    ] No camera update needed
[2026-10-20 01:26:21,291.291 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:26:21,293.293 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:26:21,299.299 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:26:21,304.304 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:26:23,346.346 INFO    ] ================================================
[2026-10-20 01:26:23,361.361 INFO    ] Launching Daemon at Tue Oct 20 01:26:23 IST 2026
[2026-10-20 01:26:23,372.372 INFO    ] ================================================
[2026-10-20 01:26:23,953.953 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:26:23
[2026-10-20 01:26:24,555.555 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:26:24,815.815 INFO    ] Initializing speech engine...
[2026-10-20 01:26:24,821.821 INFO    ] 2026-10-20 01:26:24
[2026-10-20 01:26:25,120.120 INFO    ] 2026-10-20 01:26:25
[2026-10-20 01:26:25,159.159 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:26:25,388.388 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:26:25,449.449 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:26:25,623.623 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:26:25,678.678 INFO    ] time= 20/10/2026 01:26:25
[2026-10-20 01:26:25,717.717 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:26:25,767.767 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:26:25,909.909 INFO    ] No existing commands found in stream
[2026-10-20 01:26:30,940.940 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:26:30,943.943 INFO    ] Waiting 2.61 seconds before fallback handling...
[2026-10-20 01:26:34,088.088 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:26:34,091.091 INFO    ] Checking for system updates...
[2026-10-20 01:26:34,126.126 INFO    ] 200
[2026-10-20 01:26:34,129.129 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:26:34,180.180 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:26:34,183.183 INFO    ] No update needed
[2026-10-20 01:26:34,185.185 INFO    ] Checking for camera pi updates...
[2026-10-20 01:26:34,218.218 INFO    ] 200
[2026-10-20 01:26:34,221.221 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:26:34,261.261 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:26:34,311.311 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:26:34,314.314 INFO    ] No camera update needed
[2026-10-20 01:26:34,316.316 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:26:34,318.318 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:26:34,324.324 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:26:34,329.329 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:26:36,371.371 INFO    ] ================================================
[2026-10-20 01:26:36,387.387 INFO    ] Launching Daemon at Tue Oct 20 01:26:36 IST 2026
[2026-10-20 01:26:36,398.398 INFO    ] ================================================
[2026-10-20 01:26:37,052.052 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:26:37
[2026-10-20 01:26:37,726.726 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:26:38,039.039 INFO    ] Initializing speech engine...
[2026-10-20 01:26:38,048.048 INFO    ] 2026-10-20 01:26:38
[2026-10-20 01:26:38,352.352 INFO    ] 2026-10-20 01:26:38
[2026-10-20 01:26:38,437.437 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:26:38,646.646 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:26:38,658.658 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:26:38,843.843 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:26:38,856.856 INFO    ] time= 20/10/2026 01:26:38
[2026-10-20 01:26:38,873.873 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:26:38,902.902 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:26:39,024.024 INFO    ] No existing commands found in stream
[2026-10-20 01:26:44,055.055 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:26:44,058.058 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-10-20 01:26:46,954.954 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:26:46,957.957 INFO    ] Checking for system updates...
[2026-10-20 01:26:47,000.000 INFO    ] 200
[2026-10-20 01:26:47,003.003 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:26:47,054.054 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:26:47,057.057 INFO    ] No update needed
[2026-10-20 01:26:47,059.059 INFO    ] Checking for camera pi updates...
[2026-10-20 01:26:47,093.093 INFO    ] 200
[2026-10-20 01:26:47,095.095 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:26:47,136.136 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:26:47,183.183 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:26:47,186.186 INFO    ] No camera update needed
[2026-10-20 01:26:47,188.188 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:26:47,190.190 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:26:47,196.196 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:26:47,201.201 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:26:49,240.240 INFO    ] ================================================
[2026-10-20 01:26:49,255.255 INFO    ] Launching Daemon at Tue Oct 20 01:26:49 IST 2026
[2026-10-20 01:26:49,266.266 INFO    ] ================================================
[2026-10-20 01:26:49,848.848 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:26:49
[2026-10-20 01:26:50,446.446 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:26:50,719.719 INFO    ] Initializing speech engine...
[2026-10-20 01:26:50,728.728 INFO    ] 2026-10-20 01:26:50
[2026-10-20 01:26:50,977.977 INFO    ] 2026-10-20 01:26:50
[2026-10-20 01:26:51,012.012 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:26:51,262.262 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:26:51,271.271 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:26:51,483.483 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:26:51,529.529 INFO    ] time= 20/10/2026 01:26:51
[2026-10-20 01:26:51,535.535 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:26:51,554.554 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:26:51,685.685 INFO    ] No existing commands found in stream
[2026-10-20 01:26:56,712.712 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:26:56,715.715 INFO    ] Waiting 3.36 seconds before fallback handling...
[2026-10-20 01:27:00,618.618 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 01:27:00,620.620 INFO    ] Checking for system updates...
[2026-10-20 01:27:00,656.656 INFO    ] 200
[2026-10-20 01:27:00,658.658 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:27:00,711.711 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:27:00,713.713 INFO    ] No update needed
[2026-10-20 01:27:00,716.716 INFO    ] Checking for camera pi updates...
[2026-10-20 01:27:00,749.749 INFO    ] 200
[2026-10-20 01:27:00,752.752 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:27:00,791.791 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:27:00,847.847 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:27:00,850.850 INFO    ] No camera update needed
[2026-10-20 01:27:00,852.852 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:27:00,855.855 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:27:00,860.860 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:27:00,865.865 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:27:02,914.914 INFO    ] ================================================
[2026-10-20 01:27:02,937.937 INFO    ] Launching Daemon at Tue Oct 20 01:27:02 IST 2026
[2026-10-20 01:27:02,952.952 INFO    ] ================================================
[2026-10-20 01:27:03,676.676 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:27:03
[2026-10-20 01:27:04,370.370 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:27:04,678.678 INFO    ] Initializing speech engine...
[2026-10-20 01:27:04,690.690 INFO    ] 2026-10-20 01:27:04
[2026-10-20 01:27:04,982.982 INFO    ] 2026-10-20 01:27:04
[2026-10-20 01:27:05,093.093 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:27:05,309.309 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:27:05,323.323 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:27:05,528.528 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:27:05,554.554 INFO    ] time= 20/10/2026 01:27:05
[2026-10-20 01:27:05,565.565 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:27:05,589.589 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:27:05,740.740 INFO    ] No existing commands found in stream
[2026-10-20 01:27:10,776.776 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:27:10,779.779 INFO    ] Waiting 1.38 seconds before fallback handling...
[2026-10-20 01:27:12,702.702 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:27:12,706.706 INFO    ] Checking for system updates...
[2026-10-20 01:27:12,742.742 INFO    ] 200
[2026-10-20 01:27:12,745.745 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:27:12,797.797 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:27:12,800.800 INFO    ] No update needed
[2026-10-20 01:27:12,802.802 INFO    ] Checking for camera pi updates...
[2026-10-20 01:27:12,836.836 INFO    ] 200
[2026-10-20 01:27:12,838.838 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:27:12,884.884 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:27:12,928.928 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:27:12,931.931 INFO    ] No camera update needed
[2026-10-20 01:27:12,933.933 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:27:12,935.935 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:27:12,941.941 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:27:12,945.945 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:27:14,984.984 INFO    ] ================================================
[2026-10-20 01:27:15,000.000 INFO    ] Launching Daemon at Tue Oct 20 01:27:14 IST 2026
[2026-10-20 01:27:15,011.011 INFO    ] ================================================
[2026-10-20 01:27:15,674.674 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:27:15
[2026-10-20 01:27:16,303.303 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:27:16,595.595 INFO    ] Initializing speech engine...
[2026-10-20 01:27:16,605.605 INFO    ] 2026-10-20 01:27:16
[2026-10-20 01:27:16,879.879 INFO    ] 2026-10-20 01:27:16
[2026-10-20 01:27:16,917.917 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:27:17,148.148 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:27:17,213.213 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:27:17,377.377 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:27:17,402.402 INFO    ] time= 20/10/2026 01:27:17
[2026-10-20 01:27:17,457.457 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:27:17,511.511 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:27:17,656.656 INFO    ] No existing commands found in stream
[2026-10-20 01:27:22,673.673 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:27:22,676.676 INFO    ] Waiting 3.73 seconds before fallback handling...
[2026-10-20 01:27:26,945.945 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 01:27:26,948.948 INFO    ] Checking for system updates...
[2026-10-20 01:27:26,987.987 INFO    ] 200
[2026-10-20 01:27:26,990.990 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:27:27,043.043 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:27:27,045.045 INFO    ] No update needed
[2026-10-20 01:27:27,048.048 INFO    ] Checking for camera pi updates...
[2026-10-20 01:27:27,081.081 INFO    ] 200
[2026-10-20 01:27:27,084.084 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:27:27,123.123 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:27:27,169.169 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:27:27,171.171 INFO    ] No camera update needed
[2026-10-20 01:27:27,173.173 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:27:27,176.176 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:27:27,181.181 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:27:27,186.186 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:27:29,225.225 INFO    ] ================================================
[2026-10-20 01:27:29,240.240 INFO    ] Launching Daemon at Tue Oct 20 01:27:29 IST 2026
[2026-10-20 01:27:29,251.251 INFO    ] ================================================
[2026-10-20 01:27:29,912.912 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:27:29
[2026-10-20 01:27:30,595.595 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:27:30,896.896 INFO    ] Initializing speech engine...
[2026-10-20 01:27:30,904.904 INFO    ] 2026-10-20 01:27:30
[2026-10-20 01:27:31,198.198 INFO    ] 2026-10-20 01:27:31
[2026-10-20 01:27:31,307.307 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:27:31,522.522 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:27:31,527.527 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:27:31,735.735 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:27:31,745.745 INFO    ] time= 20/10/2026 01:27:31
[2026-10-20 01:27:31,767.767 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:27:31,795.795 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:27:31,924.924 INFO    ] No existing commands found in stream
[2026-10-20 01:27:36,956.956 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:27:36,960.960 INFO    ] Waiting 0.06 seconds before fallback handling...
[2026-10-20 01:27:37,539.539 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 01:27:37,542.542 INFO    ] Checking for system updates...
[2026-10-20 01:27:37,579.579 INFO    ] 200
[2026-10-20 01:27:37,581.581 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:27:37,633.633 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:27:37,635.635 INFO    ] No update needed
[2026-10-20 01:27:37,638.638 INFO    ] Checking for camera pi updates...
[2026-10-20 01:27:37,671.671 INFO    ] 200
[2026-10-20 01:27:37,673.673 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:27:37,719.719 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:27:37,875.875 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:27:37,877.877 INFO    ] No camera update needed
[2026-10-20 01:27:37,879.879 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:27:37,882.882 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:27:37,887.887 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:27:37,892.892 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:27:39,932.932 INFO    ] ================================================
[2026-10-20 01:27:39,948.948 INFO    ] Launching Daemon at Tue Oct 20 01:27:39 IST 2026
[2026-10-20 01:27:39,959.959 INFO    ] ================================================
[2026-10-20 01:27:40,628.628 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:27:40
[2026-10-20 01:27:41,319.319 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:27:41,629.629 INFO    ] Initializing speech engine...
[2026-10-20 01:27:41,643.643 INFO    ] 2026-10-20 01:27:41
[2026-10-20 01:27:41,905.905 INFO    ] 2026-10-20 01:27:41
[2026-10-20 01:27:41,948.948 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:27:42,192.192 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:27:42,199.199 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:27:42,395.395 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:27:42,433.433 INFO    ] time= 20/10/2026 01:27:42
[2026-10-20 01:27:42,439.439 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:27:42,456.456 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:27:42,587.587 INFO    ] No existing commands found in stream
[2026-10-20 01:27:47,602.602 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:27:47,604.604 INFO    ] Waiting 0.04 seconds before fallback handling...
[2026-10-20 01:27:48,155.155 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 01:27:48,158.158 INFO    ] Checking for system updates...
[2026-10-20 01:27:48,195.195 INFO    ] 200
[2026-10-20 01:27:48,198.198 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:27:48,917.917 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:27:48,920.920 INFO    ] No update needed
[2026-10-20 01:27:48,922.922 INFO    ] Checking for camera pi updates...
[2026-10-20 01:27:48,958.958 INFO    ] 200
[2026-10-20 01:27:48,961.961 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:27:49,008.008 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:27:49,065.065 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:27:49,068.068 INFO    ] No camera update needed
[2026-10-20 01:27:49,071.071 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:27:49,073.073 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:27:49,080.080 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:27:49,086.086 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:27:51,129.129 INFO    ] ================================================
[2026-10-20 01:27:51,145.145 INFO    ] Launching Daemon at Tue Oct 20 01:27:51 IST 2026
[2026-10-20 01:27:51,156.156 INFO    ] ================================================
[2026-10-20 01:27:51,823.823 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:27:51
[2026-10-20 01:27:52,606.606 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:27:52,886.886 INFO    ] Initializing speech engine...
[2026-10-20 01:27:52,895.895 INFO    ] 2026-10-20 01:27:52
[2026-10-20 01:27:53,155.155 INFO    ] 2026-10-20 01:27:53
[2026-10-20 01:27:53,190.190 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:27:53,436.436 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:27:53,446.446 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:27:53,587.587 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:27:53,657.657 INFO    ] time= 20/10/2026 01:27:53
[2026-10-20 01:27:53,706.706 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:27:53,716.716 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:27:53,863.863 INFO    ] No existing commands found in stream
[2026-10-20 01:27:58,878.878 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:27:58,881.881 INFO    ] Waiting 1.93 seconds before fallback handling...
[2026-10-20 01:28:01,317.317 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:28:01,320.320 INFO    ] Checking for system updates...
[2026-10-20 01:28:01,360.360 INFO    ] 200
[2026-10-20 01:28:01,363.363 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:28:01,422.422 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:28:01,425.425 INFO    ] No update needed
[2026-10-20 01:28:01,427.427 INFO    ] Checking for camera pi updates...
[2026-10-20 01:28:01,461.461 INFO    ] 200
[2026-10-20 01:28:01,464.464 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:28:01,505.505 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:28:01,556.556 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:28:01,559.559 INFO    ] No camera update needed
[2026-10-20 01:28:01,561.561 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:28:01,564.564 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:28:01,569.569 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:28:01,574.574 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:28:03,617.617 INFO    ] ================================================
[2026-10-20 01:28:03,632.632 INFO    ] Launching Daemon at Tue Oct 20 01:28:03 IST 2026
[2026-10-20 01:28:03,643.643 INFO    ] ================================================
[2026-10-20 01:28:04,230.230 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:28:04
[2026-10-20 01:28:04,813.813 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:28:05,059.059 INFO    ] Initializing speech engine...
[2026-10-20 01:28:05,068.068 INFO    ] 2026-10-20 01:28:05
[2026-10-20 01:28:05,343.343 INFO    ] 2026-10-20 01:28:05
[2026-10-20 01:28:05,378.378 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:28:05,639.639 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:28:05,645.645 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:28:05,782.782 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:28:05,841.841 INFO    ] time= 20/10/2026 01:28:05
[2026-10-20 01:28:05,906.906 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:28:05,919.919 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:28:06,052.052 INFO    ] No existing commands found in stream
[2026-10-20 01:28:11,077.077 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:28:11,080.080 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-10-20 01:28:13,101.101 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:28:13,104.104 INFO    ] Checking for system updates...
[2026-10-20 01:28:13,139.139 INFO    ] 200
[2026-10-20 01:28:13,141.141 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:28:13,196.196 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:28:13,199.199 INFO    ] No update needed
[2026-10-20 01:28:13,201.201 INFO    ] Checking for camera pi updates...
[2026-10-20 01:28:13,239.239 INFO    ] 200
[2026-10-20 01:28:13,241.241 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:28:13,282.282 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:28:13,329.329 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:28:13,332.332 INFO    ] No camera update needed
[2026-10-20 01:28:13,335.335 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:28:13,338.338 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:28:13,344.344 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:28:13,350.350 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:28:15,392.392 INFO    ] ================================================
[2026-10-20 01:28:15,407.407 INFO    ] Launching Daemon at Tue Oct 20 01:28:15 IST 2026
[2026-10-20 01:28:15,418.418 INFO    ] ================================================
[2026-10-20 01:28:16,080.080 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:28:16
[2026-10-20 01:28:16,756.756 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:28:17,062.062 INFO    ] Initializing speech engine...
[2026-10-20 01:28:17,071.071 INFO    ] 2026-10-20 01:28:17
[2026-10-20 01:28:17,361.361 INFO    ] 2026-10-20 01:28:17
[2026-10-20 01:28:17,408.408 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:28:17,664.664 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:28:17,697.697 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:28:17,900.900 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:28:17,918.918 INFO    ] time= 20/10/2026 01:28:17
[2026-10-20 01:28:17,930.930 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:28:17,959.959 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:28:18,088.088 INFO    ] No existing commands found in stream
[2026-10-20 01:28:23,124.124 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:28:23,127.127 INFO    ] Waiting 2.84 seconds before fallback handling...
[2026-10-20 01:28:26,493.493 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:28:26,496.496 INFO    ] Checking for system updates...
[2026-10-20 01:28:26,532.532 INFO    ] 200
[2026-10-20 01:28:26,535.535 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:28:26,589.589 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:28:26,592.592 INFO    ] No update needed
[2026-10-20 01:28:26,594.594 INFO    ] Checking for camera pi updates...
[2026-10-20 01:28:26,627.627 INFO    ] 200
[2026-10-20 01:28:26,629.629 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:28:26,674.674 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:28:26,725.725 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:28:26,727.727 INFO    ] No camera update needed
[2026-10-20 01:28:26,730.730 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:28:26,732.732 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:28:26,737.737 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:28:26,742.742 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:28:28,781.781 INFO    ] ================================================
[2026-10-20 01:28:28,796.796 INFO    ] Launching Daemon at Tue Oct 20 01:28:28 IST 2026
[2026-10-20 01:28:28,806.806 INFO    ] ================================================
[2026-10-20 01:28:29,468.468 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:28:29
[2026-10-20 01:28:30,140.140 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:28:30,444.444 INFO    ] Initializing speech engine...
[2026-10-20 01:28:30,451.451 INFO    ] 2026-10-20 01:28:30
[2026-10-20 01:28:30,723.723 INFO    ] 2026-10-20 01:28:30
[2026-10-20 01:28:30,758.758 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:28:31,012.012 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:28:31,024.024 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:28:31,225.225 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:28:31,289.289 INFO    ] time= 20/10/2026 01:28:31
[2026-10-20 01:28:31,297.297 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:28:31,315.315 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:28:31,450.450 INFO    ] No existing commands found in stream
[2026-10-20 01:28:36,465.465 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:28:36,469.469 INFO    ] Waiting 2.94 seconds before fallback handling...
[2026-10-20 01:28:39,938.938 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:28:39,941.941 INFO    ] Checking for system updates...
[2026-10-20 01:28:39,981.981 INFO    ] 200
[2026-10-20 01:28:39,984.984 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:28:40,035.035 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:28:40,037.037 INFO    ] No update needed
[2026-10-20 01:28:40,046.046 INFO    ] Checking for camera pi updates...
[2026-10-20 01:28:40,080.080 INFO    ] 200
[2026-10-20 01:28:40,082.082 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:28:40,122.122 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:28:40,173.173 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:28:40,176.176 INFO    ] No camera update needed
[2026-10-20 01:28:40,178.178 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:28:40,181.181 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:28:40,186.186 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:28:40,191.191 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:28:42,229.229 INFO    ] ================================================
[2026-10-20 01:28:42,244.244 INFO    ] Launching Daemon at Tue Oct 20 01:28:42 IST 2026
[2026-10-20 01:28:42,255.255 INFO    ] ================================================
[2026-10-20 01:28:42,838.838 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:28:42
[2026-10-20 01:28:43,524.524 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:28:43,827.827 INFO    ] Initializing speech engine...
[2026-10-20 01:28:43,834.834 INFO    ] 2026-10-20 01:28:43
[2026-10-20 01:28:44,110.110 INFO    ] 2026-10-20 01:28:44
[2026-10-20 01:28:44,146.146 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:28:44,400.400 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:28:44,410.410 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:28:44,615.615 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:28:44,678.678 INFO    ] time= 20/10/2026 01:28:44
[2026-10-20 01:28:44,685.685 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:28:44,704.704 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:28:44,845.845 INFO    ] No existing commands found in stream
[2026-10-20 01:28:49,867.867 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:28:49,870.870 INFO    ] Waiting 1.50 seconds before fallback handling...
[2026-10-20 01:28:51,880.880 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:28:51,883.883 INFO    ] Checking for system updates...
[2026-10-20 01:28:51,919.919 INFO    ] 200
[2026-10-20 01:28:51,921.921 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:28:51,973.973 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:28:51,976.976 INFO    ] No update needed
[2026-10-20 01:28:51,978.978 INFO    ] Checking for camera pi updates...
[2026-10-20 01:28:52,011.011 INFO    ] 200
[2026-10-20 01:28:52,014.014 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:28:52,058.058 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:28:52,089.089 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:28:52,091.091 INFO    ] No camera update needed
[2026-10-20 01:28:52,094.094 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:28:52,096.096 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:28:52,101.101 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:28:52,106.106 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:28:54,146.146 INFO    ] ================================================
[2026-10-20 01:28:54,161.161 INFO    ] Launching Daemon at Tue Oct 20 01:28:54 IST 2026
[2026-10-20 01:28:54,172.172 INFO    ] ================================================
[2026-10-20 01:28:54,736.736 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:28:54
[2026-10-20 01:28:55,319.319 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:28:55,578.578 INFO    ] Initializing speech engine...
[2026-10-20 01:28:55,593.593 INFO    ] 2026-10-20 01:28:55
[2026-10-20 01:28:55,848.848 INFO    ] 2026-10-20 01:28:55
[2026-10-20 01:28:55,883.883 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:28:56,084.084 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:28:56,120.120 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:28:56,302.302 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:28:56,356.356 INFO    ] time= 20/10/2026 01:28:56
[2026-10-20 01:28:56,416.416 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:28:56,423.423 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:28:56,574.574 INFO    ] No existing commands found in stream
[2026-10-20 01:29:01,596.596 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:29:01,599.599 INFO    ] Waiting 2.59 seconds before fallback handling...
[2026-10-20 01:29:04,706.706 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 01:29:04,709.709 INFO    ] Checking for system updates...
[2026-10-20 01:29:04,745.745 INFO    ] 200
[2026-10-20 01:29:04,748.748 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:29:04,807.807 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:29:04,810.810 INFO    ] No update needed
[2026-10-20 01:29:04,812.812 INFO    ] Checking for camera pi updates...
[2026-10-20 01:29:04,849.849 INFO    ] 200
[2026-10-20 01:29:04,851.851 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:29:04,896.896 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:29:04,950.950 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:29:04,953.953 INFO    ] No camera update needed
[2026-10-20 01:29:04,955.955 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:29:04,957.957 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:29:04,963.963 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:29:04,968.968 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:29:07,009.009 INFO    ] ================================================
[2026-10-20 01:29:07,024.024 INFO    ] Launching Daemon at Tue Oct 20 01:29:07 IST 2026
[2026-10-20 01:29:07,034.034 INFO    ] ================================================
[2026-10-20 01:29:07,616.616 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:29:07
[2026-10-20 01:29:08,219.219 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:29:08,481.481 INFO    ] Initializing speech engine...
[2026-10-20 01:29:08,490.490 INFO    ] 2026-10-20 01:29:08
[2026-10-20 01:29:08,790.790 INFO    ] 2026-10-20 01:29:08
[2026-10-20 01:29:08,829.829 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:29:09,030.030 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:29:09,046.046 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:29:09,215.215 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:29:09,221.221 INFO    ] time= 20/10/2026 01:29:09
[2026-10-20 01:29:09,227.227 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:29:09,281.281 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:29:09,418.418 INFO    ] No existing commands found in stream
[2026-10-20 01:29:14,449.449 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:29:14,452.452 INFO    ] Waiting 2.08 seconds before fallback handling...
[2026-10-20 01:29:17,017.017 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:29:17,020.020 INFO    ] Checking for system updates...
[2026-10-20 01:29:17,055.055 INFO    ] 200
[2026-10-20 01:29:17,058.058 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:29:17,111.111 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:29:17,114.114 INFO    ] No update needed
[2026-10-20 01:29:17,116.116 INFO    ] Checking for camera pi updates...
[2026-10-20 01:29:17,153.153 INFO    ] 200
[2026-10-20 01:29:17,155.155 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:29:17,201.201 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:29:17,246.246 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:29:17,249.249 INFO    ] No camera update needed
[2026-10-20 01:29:17,251.251 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:29:17,253.253 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:29:17,259.259 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:29:17,264.264 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:29:19,304.304 INFO    ] ================================================
[2026-10-20 01:29:19,319.319 INFO    ] Launching Daemon at Tue Oct 20 01:29:19 IST 2026
[2026-10-20 01:29:19,329.329 INFO    ] ================================================
[2026-10-20 01:29:19,990.990 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:29:19
[2026-10-20 01:29:20,667.667 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:29:20,973.973 INFO    ] Initializing speech engine...
[2026-10-20 01:29:20,987.987 INFO    ] 2026-10-20 01:29:20
[2026-10-20 01:29:21,298.298 INFO    ] 2026-10-20 01:29:21
[2026-10-20 01:29:21,380.380 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:29:21,597.597 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:29:21,636.636 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:29:21,802.802 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:29:21,823.823 INFO    ] time= 20/10/2026 01:29:21
[2026-10-20 01:29:21,850.850 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:29:21,859.859 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:29:21,970.970 INFO    ] No existing commands found in stream
[2026-10-20 01:29:27,001.001 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:29:27,004.004 INFO    ] Waiting 3.52 seconds before fallback handling...
[2026-10-20 01:29:31,038.038 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 01:29:31,041.041 INFO    ] Checking for system updates...
[2026-10-20 01:29:31,082.082 INFO    ] 200
[2026-10-20 01:29:31,085.085 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:29:31,145.145 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:29:31,147.147 INFO    ] No update needed
[2026-10-20 01:29:31,150.150 INFO    ] Checking for camera pi updates...
[2026-10-20 01:29:31,188.188 INFO    ] 200
[2026-10-20 01:29:31,191.191 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:29:31,233.233 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:29:31,286.286 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:29:31,289.289 INFO    ] No camera update needed
[2026-10-20 01:29:31,292.292 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:29:31,294.294 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:29:31,300.300 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:29:31,306.306 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:29:33,350.350 INFO    ] ================================================
[2026-10-20 01:29:33,365.365 INFO    ] Launching Daemon at Tue Oct 20 01:29:33 IST 2026
[2026-10-20 01:29:33,376.376 INFO    ] ================================================
[2026-10-20 01:29:33,963.963 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:29:33
[2026-10-20 01:29:34,570.570 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:29:34,844.844 INFO    ] Initializing speech engine...
[2026-10-20 01:29:34,853.853 INFO    ] 2026-10-20 01:29:34
[2026-10-20 01:29:35,104.104 INFO    ] 2026-10-20 01:29:35
[2026-10-20 01:29:35,146.146 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:29:35,395.395 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:29:35,405.405 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:29:35,559.559 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:29:35,581.581 INFO    ] time= 20/10/2026 01:29:35
[2026-10-20 01:29:35,641.641 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:29:35,695.695 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:29:35,854.854 INFO    ] No existing commands found in stream
[2026-10-20 01:29:40,880.880 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:29:40,883.883 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-10-20 01:29:44,562.562 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:29:44,565.565 INFO    ] Checking for system updates...
[2026-10-20 01:29:44,607.607 INFO    ] 200
[2026-10-20 01:29:44,610.610 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:29:44,665.665 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:29:44,668.668 INFO    ] No update needed
[2026-10-20 01:29:44,671.671 INFO    ] Checking for camera pi updates...
[2026-10-20 01:29:44,711.711 INFO    ] 200
[2026-10-20 01:29:44,714.714 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:29:44,761.761 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:29:44,902.902 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:29:44,904.904 INFO    ] No camera update needed
[2026-10-20 01:29:44,907.907 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:29:44,909.909 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:29:44,915.915 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:29:44,919.919 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:29:46,959.959 INFO    ] ================================================
[2026-10-20 01:29:46,975.975 INFO    ] Launching Daemon at Tue Oct 20 01:29:46 IST 2026
[2026-10-20 01:29:46,986.986 INFO    ] ================================================
[2026-10-20 01:29:47,554.554 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:29:47
[2026-10-20 01:29:48,137.137 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:29:48,391.391 INFO    ] Initializing speech engine...
[2026-10-20 01:29:48,404.404 INFO    ] 2026-10-20 01:29:48
[2026-10-20 01:29:48,666.666 INFO    ] 2026-10-20 01:29:48
[2026-10-20 01:29:48,689.689 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:29:48,877.877 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:29:48,891.891 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:29:49,035.035 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:29:49,039.039 INFO    ] time= 20/10/2026 01:29:49
[2026-10-20 01:29:49,045.045 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:29:49,096.096 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:29:49,235.235 INFO    ] No existing commands found in stream
[2026-10-20 01:29:54,247.247 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:29:54,250.250 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-10-20 01:29:56,772.772 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:29:56,775.775 INFO    ] Checking for system updates...
[2026-10-20 01:29:56,814.814 INFO    ] 200
[2026-10-20 01:29:56,816.816 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:29:56,867.867 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:29:56,870.870 INFO    ] No update needed
[2026-10-20 01:29:56,872.872 INFO    ] Checking for camera pi updates...
[2026-10-20 01:29:56,905.905 INFO    ] 200
[2026-10-20 01:29:56,908.908 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:29:56,951.951 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:29:57,009.009 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:29:57,011.011 INFO    ] No camera update needed
[2026-10-20 01:29:57,013.013 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:29:57,016.016 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:29:57,021.021 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:29:57,027.027 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:29:59,070.070 INFO    ] ================================================
[2026-10-20 01:29:59,086.086 INFO    ] Launching Daemon at Tue Oct 20 01:29:59 IST 2026
[2026-10-20 01:29:59,097.097 INFO    ] ================================================
[2026-10-20 01:29:59,666.666 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:29:59
[2026-10-20 01:30:00,255.255 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:30:00,512.512 INFO    ] Initializing speech engine...
[2026-10-20 01:30:00,521.521 INFO    ] 2026-10-20 01:30:00
[2026-10-20 01:30:00,815.815 INFO    ] 2026-10-20 01:30:00
[2026-10-20 01:30:00,852.852 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:30:01,061.061 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:30:01,063.063 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:30:01,271.271 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:30:01,278.278 INFO    ] time= 20/10/2026 01:30:01
[2026-10-20 01:30:01,317.317 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:30:01,371.371 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:30:01,532.532 INFO    ] No existing commands found in stream
[2026-10-20 01:30:06,557.557 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:30:06,561.561 INFO    ] Waiting 0.84 seconds before fallback handling...
[2026-10-20 01:30:07,881.881 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:30:07,883.883 INFO    ] Checking for system updates...
[2026-10-20 01:30:07,919.919 INFO    ] 200
[2026-10-20 01:30:07,921.921 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:30:07,973.973 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:30:07,975.975 INFO    ] No update needed
[2026-10-20 01:30:07,977.977 INFO    ] Checking for camera pi updates...
[2026-10-20 01:30:08,011.011 INFO    ] 200
[2026-10-20 01:30:08,014.014 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:30:08,054.054 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:30:08,087.087 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:30:08,089.089 INFO    ] No camera update needed
[2026-10-20 01:30:08,092.092 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:30:08,094.094 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:30:08,099.099 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:30:08,104.104 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:30:10,143.143 INFO    ] ================================================
[2026-10-20 01:30:10,158.158 INFO    ] Launching Daemon at Tue Oct 20 01:30:10 IST 2026
[2026-10-20 01:30:10,169.169 INFO    ] ================================================
[2026-10-20 01:30:10,736.736 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:30:10
[2026-10-20 01:30:11,319.319 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:30:11,589.589 INFO    ] Initializing speech engine...
[2026-10-20 01:30:11,598.598 INFO    ] 2026-10-20 01:30:11
[2026-10-20 01:30:11,844.844 INFO    ] 2026-10-20 01:30:11
[2026-10-20 01:30:11,876.876 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:30:12,131.131 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:30:12,141.141 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:30:12,348.348 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:30:12,398.398 INFO    ] time= 20/10/2026 01:30:12
[2026-10-20 01:30:12,405.405 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:30:12,422.422 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:30:12,555.555 INFO    ] No existing commands found in stream
[2026-10-20 01:30:17,582.582 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:30:17,585.585 INFO    ] Waiting 1.97 seconds before fallback handling...
[2026-10-20 01:30:20,095.095 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:30:20,098.098 INFO    ] Checking for system updates...
[2026-10-20 01:30:20,137.137 INFO    ] 200
[2026-10-20 01:30:20,140.140 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:30:20,193.193 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:30:20,195.195 INFO    ] No update needed
[2026-10-20 01:30:20,198.198 INFO    ] Checking for camera pi updates...
[2026-10-20 01:30:20,231.231 INFO    ] 200
[2026-10-20 01:30:20,234.234 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:30:20,274.274 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:30:20,318.318 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:30:20,321.321 INFO    ] No camera update needed
[2026-10-20 01:30:20,323.323 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:30:20,325.325 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:30:20,330.330 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:30:20,335.335 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:30:22,374.374 INFO    ] ================================================
[2026-10-20 01:30:22,390.390 INFO    ] Launching Daemon at Tue Oct 20 01:30:22 IST 2026
[2026-10-20 01:30:22,400.400 INFO    ] ================================================
[2026-10-20 01:30:22,976.976 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:30:22
[2026-10-20 01:30:23,566.566 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:30:23,837.837 INFO    ] Initializing speech engine...
[2026-10-20 01:30:23,846.846 INFO    ] 2026-10-20 01:30:23
[2026-10-20 01:30:24,097.097 INFO    ] 2026-10-20 01:30:24
[2026-10-20 01:30:24,133.133 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:30:24,392.392 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:30:24,402.402 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:30:24,575.575 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:30:24,635.635 INFO    ] time= 20/10/2026 01:30:24
[2026-10-20 01:30:24,670.670 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:30:24,676.676 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:30:24,822.822 INFO    ] No existing commands found in stream
[2026-10-20 01:30:29,837.837 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:30:29,840.840 INFO    ] Waiting 2.35 seconds before fallback handling...
[2026-10-20 01:30:32,681.681 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 01:30:32,684.684 INFO    ] Checking for system updates...
[2026-10-20 01:30:32,723.723 INFO    ] 200
[2026-10-20 01:30:32,725.725 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:30:32,782.782 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:30:32,785.785 INFO    ] No update needed
[2026-10-20 01:30:32,787.787 INFO    ] Checking for camera pi updates...
[2026-10-20 01:30:32,826.826 INFO    ] 200
[2026-10-20 01:30:32,828.828 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:30:32,872.872 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:30:32,929.929 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:30:32,932.932 INFO    ] No camera update needed
[2026-10-20 01:30:32,935.935 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:30:32,937.937 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:30:32,944.944 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:30:32,950.950 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:30:34,991.991 INFO    ] ================================================
[2026-10-20 01:30:35,006.006 INFO    ] Launching Daemon at Tue Oct 20 01:30:35 IST 2026
[2026-10-20 01:30:35,017.017 INFO    ] ================================================
[2026-10-20 01:30:35,598.598 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:30:35
[2026-10-20 01:30:36,196.196 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:30:36,469.469 INFO    ] Initializing speech engine...
[2026-10-20 01:30:36,480.480 INFO    ] 2026-10-20 01:30:36
[2026-10-20 01:30:36,741.741 INFO    ] 2026-10-20 01:30:36
[2026-10-20 01:30:36,794.794 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:30:37,041.041 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:30:37,049.049 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:30:37,262.262 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:30:37,283.283 INFO    ] time= 20/10/2026 01:30:37
[2026-10-20 01:30:37,300.300 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:30:37,307.307 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:30:37,431.431 INFO    ] No existing commands found in stream
[2026-10-20 01:30:42,448.448 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:30:42,451.451 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-10-20 01:30:43,584.584 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 01:30:43,586.586 INFO    ] Checking for system updates...
[2026-10-20 01:30:43,622.622 INFO    ] 200
[2026-10-20 01:30:43,625.625 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:30:43,683.683 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:30:43,686.686 INFO    ] No update needed
[2026-10-20 01:30:43,688.688 INFO    ] Checking for camera pi updates...
[2026-10-20 01:30:43,722.722 INFO    ] 200
[2026-10-20 01:30:43,724.724 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:30:43,764.764 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:30:43,813.813 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:30:43,816.816 INFO    ] No camera update needed
[2026-10-20 01:30:43,818.818 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:30:43,820.820 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:30:43,826.826 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:30:43,831.831 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:30:45,871.871 INFO    ] ================================================
[2026-10-20 01:30:45,886.886 INFO    ] Launching Daemon at Tue Oct 20 01:30:45 IST 2026
[2026-10-20 01:30:45,896.896 INFO    ] ================================================
[2026-10-20 01:30:46,479.479 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:30:46
[2026-10-20 01:30:47,079.079 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:30:47,356.356 INFO    ] Initializing speech engine...
[2026-10-20 01:30:47,363.363 INFO    ] 2026-10-20 01:30:47
[2026-10-20 01:30:47,638.638 INFO    ] 2026-10-20 01:30:47
[2026-10-20 01:30:47,680.680 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:30:47,960.960 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:30:47,967.967 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:30:48,163.163 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:30:48,169.169 INFO    ] time= 20/10/2026 01:30:48
[2026-10-20 01:30:48,188.188 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:30:48,216.216 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:30:48,323.323 INFO    ] No existing commands found in stream
[2026-10-20 01:30:53,342.342 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:30:53,345.345 INFO    ] Waiting 0.81 seconds before fallback handling...
[2026-10-20 01:30:54,682.682 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:30:54,685.685 INFO    ] Checking for system updates...
[2026-10-20 01:30:54,720.720 INFO    ] 200
[2026-10-20 01:30:54,723.723 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:30:54,775.775 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:30:54,777.777 INFO    ] No update needed
[2026-10-20 01:30:54,780.780 INFO    ] Checking for camera pi updates...
[2026-10-20 01:30:54,813.813 INFO    ] 200
[2026-10-20 01:30:54,816.816 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:30:54,860.860 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:30:54,915.915 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:30:54,918.918 INFO    ] No camera update needed
[2026-10-20 01:30:54,920.920 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:30:54,923.923 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:30:54,928.928 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:30:54,933.933 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:30:56,974.974 INFO    ] ================================================
[2026-10-20 01:30:56,989.989 INFO    ] Launching Daemon at Tue Oct 20 01:30:56 IST 2026
[2026-10-20 01:30:57,999.999 INFO    ] ================================================
[2026-10-20 01:30:57,580.580 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:30:57
[2026-10-20 01:30:58,181.181 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:30:58,460.460 INFO    ] Initializing speech engine...
[2026-10-20 01:30:58,475.475 INFO    ] 2026-10-20 01:30:58
[2026-10-20 01:30:58,740.740 INFO    ] 2026-10-20 01:30:58
[2026-10-20 01:30:58,782.782 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:30:59,009.009 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:30:59,029.029 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:30:59,239.239 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:30:59,270.270 INFO    ] time= 20/10/2026 01:30:59
[2026-10-20 01:30:59,275.275 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:30:59,294.294 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:30:59,422.422 INFO    ] No existing commands found in stream
[2026-10-20 01:31:04,435.435 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:31:04,438.438 INFO    ] Waiting 2.20 seconds before fallback handling...
[2026-10-20 01:31:07,151.151 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 01:31:07,154.154 INFO    ] Checking for system updates...
[2026-10-20 01:31:07,189.189 INFO    ] 200
[2026-10-20 01:31:07,191.191 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:31:07,247.247 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:31:07,249.249 INFO    ] No update needed
[2026-10-20 01:31:07,252.252 INFO    ] Checking for camera pi updates...
[2026-10-20 01:31:07,287.287 INFO    ] 200
[2026-10-20 01:31:07,290.290 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:31:07,333.333 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:31:07,387.387 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:31:07,389.389 INFO    ] No camera update needed
[2026-10-20 01:31:07,392.392 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:31:07,394.394 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:31:07,399.399 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:31:07,404.404 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:31:09,444.444 INFO    ] ================================================
[2026-10-20 01:31:09,459.459 INFO    ] Launching Daemon at Tue Oct 20 01:31:09 IST 2026
[2026-10-20 01:31:09,470.470 INFO    ] ================================================
[2026-10-20 01:31:10,041.041 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:31:10
[2026-10-20 01:31:10,637.637 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:31:10,922.922 INFO    ] Initializing speech engine...
[2026-10-20 01:31:10,931.931 INFO    ] 2026-10-20 01:31:10
[2026-10-20 01:31:11,190.190 INFO    ] 2026-10-20 01:31:11
[2026-10-20 01:31:11,228.228 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:31:11,445.445 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:31:11,490.490 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:31:11,665.665 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:31:11,718.718 INFO    ] time= 20/10/2026 01:31:11
[2026-10-20 01:31:11,767.767 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:31:11,812.812 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:31:11,952.952 INFO    ] No existing commands found in stream
[2026-10-20 01:31:16,978.978 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:31:16,981.981 INFO    ] Waiting 3.92 seconds before fallback handling...
[2026-10-20 01:31:21,450.450 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:31:21,453.453 INFO    ] Checking for system updates...
[2026-10-20 01:31:21,490.490 INFO    ] 200
[2026-10-20 01:31:21,492.492 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:31:21,545.545 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:31:21,548.548 INFO    ] No update needed
[2026-10-20 01:31:21,551.551 INFO    ] Checking for camera pi updates...
[2026-10-20 01:31:21,587.587 INFO    ] 200
[2026-10-20 01:31:21,590.590 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:31:21,634.634 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:31:21,684.684 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:31:21,687.687 INFO    ] No camera update needed
[2026-10-20 01:31:21,689.689 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:31:21,692.692 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:31:21,698.698 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:31:21,704.704 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:31:23,745.745 INFO    ] ================================================
[2026-10-20 01:31:23,760.760 INFO    ] Launching Daemon at Tue Oct 20 01:31:23 IST 2026
[2026-10-20 01:31:23,770.770 INFO    ] ================================================
[2026-10-20 01:31:24,340.340 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:31:24
[2026-10-20 01:31:24,942.942 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:31:25,208.208 INFO    ] Initializing speech engine...
[2026-10-20 01:31:25,225.225 INFO    ] 2026-10-20 01:31:25
[2026-10-20 01:31:25,493.493 INFO    ] 2026-10-20 01:31:25
[2026-10-20 01:31:25,528.528 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:31:25,732.732 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:31:25,749.749 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:31:25,896.896 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:31:25,902.902 INFO    ] time= 20/10/2026 01:31:25
[2026-10-20 01:31:25,908.908 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:31:25,951.951 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:31:26,098.098 INFO    ] No existing commands found in stream
[2026-10-20 01:31:31,123.123 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:31:31,126.126 INFO    ] Waiting 2.54 seconds before fallback handling...
[2026-10-20 01:31:34,187.187 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 01:31:34,190.190 INFO    ] Checking for system updates...
[2026-10-20 01:31:34,228.228 INFO    ] 200
[2026-10-20 01:31:34,231.231 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:31:34,283.283 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:31:34,286.286 INFO    ] No update needed
[2026-10-20 01:31:34,288.288 INFO    ] Checking for camera pi updates...
[2026-10-20 01:31:34,325.325 INFO    ] 200
[2026-10-20 01:31:34,328.328 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:31:34,369.369 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:31:34,426.426 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:31:34,428.428 INFO    ] No camera update needed
[2026-10-20 01:31:34,431.431 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:31:34,433.433 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:31:34,439.439 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:31:34,444.444 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:31:36,484.484 INFO    ] ================================================
[2026-10-20 01:31:36,499.499 INFO    ] Launching Daemon at Tue Oct 20 01:31:36 IST 2026
[2026-10-20 01:31:36,510.510 INFO    ] ================================================
[2026-10-20 01:31:37,075.075 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:31:37
[2026-10-20 01:31:37,656.656 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:31:37,924.924 INFO    ] Initializing speech engine...
[2026-10-20 01:31:37,942.942 INFO    ] 2026-10-20 01:31:37
[2026-10-20 01:31:38,203.203 INFO    ] 2026-10-20 01:31:38
[2026-10-20 01:31:38,239.239 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:31:38,458.458 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:31:38,521.521 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:31:38,679.679 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:31:38,718.718 INFO    ] time= 20/10/2026 01:31:38
[2026-10-20 01:31:38,773.773 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:31:38,821.821 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:31:38,971.971 INFO    ] No existing commands found in stream
[2026-10-20 01:31:43,991.991 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:31:43,994.994 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-10-20 01:31:48,031.031 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:31:48,033.033 INFO    ] Checking for system updates...
[2026-10-20 01:31:48,068.068 INFO    ] 200
[2026-10-20 01:31:48,071.071 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:31:48,132.132 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:31:48,134.134 INFO    ] No update needed
[2026-10-20 01:31:48,136.136 INFO    ] Checking for camera pi updates...
[2026-10-20 01:31:48,172.172 INFO    ] 200
[2026-10-20 01:31:48,174.174 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:31:48,214.214 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:31:48,361.361 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:31:48,363.363 INFO    ] No camera update needed
[2026-10-20 01:31:48,366.366 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:31:48,368.368 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:31:48,373.373 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:31:48,378.378 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:31:50,421.421 INFO    ] ================================================
[2026-10-20 01:31:50,436.436 INFO    ] Launching Daemon at Tue Oct 20 01:31:50 IST 2026
[2026-10-20 01:31:50,446.446 INFO    ] ================================================
[2026-10-20 01:31:51,012.012 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:31:51
[2026-10-20 01:31:51,597.597 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:31:51,866.866 INFO    ] Initializing speech engine...
[2026-10-20 01:31:51,875.875 INFO    ] 2026-10-20 01:31:51
[2026-10-20 01:31:52,127.127 INFO    ] 2026-10-20 01:31:52
[2026-10-20 01:31:52,164.164 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:31:52,409.409 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:31:52,431.431 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:31:52,635.635 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:31:52,684.684 INFO    ] time= 20/10/2026 01:31:52
[2026-10-20 01:31:52,705.705 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:31:52,722.722 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:31:52,844.844 INFO    ] No existing commands found in stream
[2026-10-20 01:31:57,867.867 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:31:57,870.870 INFO    ] Waiting 3.84 seconds before fallback handling...
[2026-10-20 01:32:02,227.227 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:32:02,232.232 INFO    ] Checking for system updates...
[2026-10-20 01:32:02,273.273 INFO    ] 200
[2026-10-20 01:32:02,277.277 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:32:02,336.336 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:32:02,339.339 INFO    ] No update needed
[2026-10-20 01:32:02,342.342 INFO    ] Checking for camera pi updates...
[2026-10-20 01:32:02,381.381 INFO    ] 200
[2026-10-20 01:32:02,384.384 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:32:02,433.433 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:32:02,474.474 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:32:02,476.476 INFO    ] No camera update needed
[2026-10-20 01:32:02,480.480 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:32:02,482.482 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:32:02,489.489 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:32:02,495.495 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:32:04,536.536 INFO    ] ================================================
[2026-10-20 01:32:04,552.552 INFO    ] Launching Daemon at Tue Oct 20 01:32:04 IST 2026
[2026-10-20 01:32:04,563.563 INFO    ] ================================================
[2026-10-20 01:32:05,149.149 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:32:05
[2026-10-20 01:32:05,751.751 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:32:06,028.028 INFO    ] Initializing speech engine...
[2026-10-20 01:32:06,035.035 INFO    ] 2026-10-20 01:32:06
[2026-10-20 01:32:06,300.300 INFO    ] 2026-10-20 01:32:06
[2026-10-20 01:32:06,354.354 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:32:06,599.599 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:32:06,607.607 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:32:06,802.802 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:32:06,842.842 INFO    ] time= 20/10/2026 01:32:06
[2026-10-20 01:32:06,848.848 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:32:06,866.866 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:32:07,011.011 INFO    ] No existing commands found in stream
[2026-10-20 01:32:12,032.032 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:32:12,035.035 INFO    ] Waiting 2.25 seconds before fallback handling...
[2026-10-20 01:32:14,783.783 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:32:14,786.786 INFO    ] Checking for system updates...
[2026-10-20 01:32:14,821.821 INFO    ] 200
[2026-10-20 01:32:14,824.824 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:32:14,875.875 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:32:14,878.878 INFO    ] No update needed
[2026-10-20 01:32:14,881.881 INFO    ] Checking for camera pi updates...
[2026-10-20 01:32:14,917.917 INFO    ] 200
[2026-10-20 01:32:14,920.920 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:32:14,966.966 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:32:15,017.017 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:32:15,020.020 INFO    ] No camera update needed
[2026-10-20 01:32:15,022.022 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:32:15,024.024 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:32:15,030.030 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:32:15,035.035 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:32:17,078.078 INFO    ] ================================================
[2026-10-20 01:32:17,093.093 INFO    ] Launching Daemon at Tue Oct 20 01:32:17 IST 2026
[2026-10-20 01:32:17,103.103 INFO    ] ================================================
[2026-10-20 01:32:17,671.671 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:32:17
[2026-10-20 01:32:18,255.255 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:32:18,526.526 INFO    ] Initializing speech engine...
[2026-10-20 01:32:18,536.536 INFO    ] 2026-10-20 01:32:18
[2026-10-20 01:32:18,785.785 INFO    ] 2026-10-20 01:32:18
[2026-10-20 01:32:18,831.831 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:32:19,083.083 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:32:19,092.092 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:32:19,289.289 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:32:19,339.339 INFO    ] time= 20/10/2026 01:32:19
[2026-10-20 01:32:19,362.362 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:32:19,368.368 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:32:19,511.511 INFO    ] No existing commands found in stream
[2026-10-20 01:32:24,529.529 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:32:24,532.532 INFO    ] Waiting 1.44 seconds before fallback handling...
[2026-10-20 01:32:26,467.467 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 01:32:26,470.470 INFO    ] Checking for system updates...
[2026-10-20 01:32:26,505.505 INFO    ] 200
[2026-10-20 01:32:26,507.507 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:32:26,561.561 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:32:26,563.563 INFO    ] No update needed
[2026-10-20 01:32:26,566.566 INFO    ] Checking for camera pi updates...
[2026-10-20 01:32:26,599.599 INFO    ] 200
[2026-10-20 01:32:26,602.602 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:32:26,643.643 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:32:26,701.701 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:32:26,703.703 INFO    ] No camera update needed
[2026-10-20 01:32:26,706.706 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:32:26,708.708 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:32:26,713.713 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:32:26,718.718 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:32:28,759.759 INFO    ] ================================================
[2026-10-20 01:32:28,774.774 INFO    ] Launching Daemon at Tue Oct 20 01:32:28 IST 2026
[2026-10-20 01:32:28,785.785 INFO    ] ================================================
[2026-10-20 01:32:29,443.443 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:32:29
[2026-10-20 01:32:30,123.123 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:32:30,428.428 INFO    ] Initializing speech engine...
[2026-10-20 01:32:30,442.442 INFO    ] 2026-10-20 01:32:30
[2026-10-20 01:32:30,723.723 INFO    ] 2026-10-20 01:32:30
[2026-10-20 01:32:30,766.766 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:32:30,997.997 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:32:31,019.019 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:32:31,232.232 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:32:31,261.261 INFO    ] time= 20/10/2026 01:32:31
[2026-10-20 01:32:31,282.282 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:32:31,311.311 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:32:31,434.434 INFO    ] No existing commands found in stream
[2026-10-20 01:32:36,465.465 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:32:36,469.469 INFO    ] Waiting 1.17 seconds before fallback handling...
[2026-10-20 01:32:38,181.181 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:32:38,184.184 INFO    ] Checking for system updates...
[2026-10-20 01:32:38,221.221 INFO    ] 200
[2026-10-20 01:32:38,224.224 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:32:38,277.277 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:32:38,280.280 INFO    ] No update needed
[2026-10-20 01:32:38,283.283 INFO    ] Checking for camera pi updates...
[2026-10-20 01:32:38,317.317 INFO    ] 200
[2026-10-20 01:32:38,320.320 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:32:38,367.367 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:32:38,414.414 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:32:38,416.416 INFO    ] No camera update needed
[2026-10-20 01:32:38,419.419 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:32:38,421.421 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:32:38,427.427 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:32:38,432.432 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:32:40,472.472 INFO    ] ================================================
[2026-10-20 01:32:40,488.488 INFO    ] Launching Daemon at Tue Oct 20 01:32:40 IST 2026
[2026-10-20 01:32:40,498.498 INFO    ] ================================================
[2026-10-20 01:32:41,167.167 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:32:41
[2026-10-20 01:32:41,851.851 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:32:42,160.160 INFO    ] Initializing speech engine...
[2026-10-20 01:32:42,172.172 INFO    ] 2026-10-20 01:32:42
[2026-10-20 01:32:42,483.483 INFO    ] 2026-10-20 01:32:42
[2026-10-20 01:32:42,571.571 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:32:42,787.787 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:32:42,797.797 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:32:42,990.990 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:32:43,009.009 INFO    ] time= 20/10/2026 01:32:42
[2026-10-20 01:32:43,033.033 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:32:43,047.047 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:32:43,191.191 INFO    ] No existing commands found in stream
[2026-10-20 01:32:48,222.222 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:32:48,225.225 INFO    ] Waiting 0.67 seconds before fallback handling...
[2026-10-20 01:32:49,415.415 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 01:32:49,418.418 INFO    ] Checking for system updates...
[2026-10-20 01:32:49,459.459 INFO    ] 200
[2026-10-20 01:32:49,463.463 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:32:49,541.541 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:32:49,546.546 INFO    ] No update needed
[2026-10-20 01:32:49,549.549 INFO    ] Checking for camera pi updates...
[2026-10-20 01:32:49,605.605 INFO    ] 200
[2026-10-20 01:32:49,608.608 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:32:49,649.649 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:32:49,709.709 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:32:49,712.712 INFO    ] No camera update needed
[2026-10-20 01:32:49,715.715 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:32:49,717.717 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:32:49,723.723 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:32:49,730.730 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:32:51,772.772 INFO    ] ================================================
[2026-10-20 01:32:51,787.787 INFO    ] Launching Daemon at Tue Oct 20 01:32:51 IST 2026
[2026-10-20 01:32:51,798.798 INFO    ] ================================================
[2026-10-20 01:32:52,463.463 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:32:52
[2026-10-20 01:32:53,147.147 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:32:53,454.454 INFO    ] Initializing speech engine...
[2026-10-20 01:32:53,468.468 INFO    ] 2026-10-20 01:32:53
[2026-10-20 01:32:53,778.778 INFO    ] 2026-10-20 01:32:53
[2026-10-20 01:32:53,866.866 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:32:54,081.081 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:32:54,090.090 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:32:54,283.283 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:32:54,305.305 INFO    ] time= 20/10/2026 01:32:54
[2026-10-20 01:32:54,334.334 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:32:54,344.344 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:32:54,467.467 INFO    ] No existing commands found in stream
[2026-10-20 01:32:59,498.498 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:32:59,501.501 INFO    ] Waiting 2.28 seconds before fallback handling...
[2026-10-20 01:33:02,302.302 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:33:02,306.306 INFO    ] Checking for system updates...
[2026-10-20 01:33:02,348.348 INFO    ] 200
[2026-10-20 01:33:02,352.352 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:33:02,413.413 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:33:02,417.417 INFO    ] No update needed
[2026-10-20 01:33:02,420.420 INFO    ] Checking for camera pi updates...
[2026-10-20 01:33:02,461.461 INFO    ] 200
[2026-10-20 01:33:02,464.464 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:33:02,507.507 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:33:02,540.540 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:33:02,543.543 INFO    ] No camera update needed
[2026-10-20 01:33:02,546.546 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:33:02,549.549 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:33:02,556.556 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:33:02,562.562 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:33:04,603.603 INFO    ] ================================================
[2026-10-20 01:33:04,619.619 INFO    ] Launching Daemon at Tue Oct 20 01:33:04 IST 2026
[2026-10-20 01:33:04,630.630 INFO    ] ================================================
[2026-10-20 01:33:05,210.210 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:33:05
[2026-10-20 01:33:05,859.859 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:33:06,172.172 INFO    ] Initializing speech engine...
[2026-10-20 01:33:06,183.183 INFO    ] 2026-10-20 01:33:06
[2026-10-20 01:33:06,471.471 INFO    ] 2026-10-20 01:33:06
[2026-10-20 01:33:06,582.582 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:33:06,797.797 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:33:06,805.805 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:33:06,999.999 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:33:07,016.016 INFO    ] time= 20/10/2026 01:33:07
[2026-10-20 01:33:07,026.026 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:33:07,054.054 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:33:07,214.214 INFO    ] No existing commands found in stream
[2026-10-20 01:33:12,240.240 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:33:12,243.243 INFO    ] Waiting 2.45 seconds before fallback handling...
[2026-10-20 01:33:15,217.217 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 01:33:15,221.221 INFO    ] Checking for system updates...
[2026-10-20 01:33:15,264.264 INFO    ] 200
[2026-10-20 01:33:15,266.266 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:33:15,318.318 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:33:15,320.320 INFO    ] No update needed
[2026-10-20 01:33:15,323.323 INFO    ] Checking for camera pi updates...
[2026-10-20 01:33:15,357.357 INFO    ] 200
[2026-10-20 01:33:15,360.360 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:33:15,400.400 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:33:15,450.450 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:33:15,452.452 INFO    ] No camera update needed
[2026-10-20 01:33:15,455.455 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:33:15,457.457 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:33:15,462.462 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:33:15,468.468 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:33:17,508.508 INFO    ] ================================================
[2026-10-20 01:33:17,528.528 INFO    ] Launching Daemon at Tue Oct 20 01:33:17 IST 2026
[2026-10-20 01:33:17,539.539 INFO    ] ================================================
[2026-10-20 01:33:18,117.117 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:33:18
[2026-10-20 01:33:18,723.723 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:33:19,001.001 INFO    ] Initializing speech engine...
[2026-10-20 01:33:19,010.010 INFO    ] 2026-10-20 01:33:19
[2026-10-20 01:33:19,282.282 INFO    ] 2026-10-20 01:33:19
[2026-10-20 01:33:19,325.325 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:33:19,568.568 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:33:19,575.575 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:33:19,788.788 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:33:19,808.808 INFO    ] time= 20/10/2026 01:33:19
[2026-10-20 01:33:19,814.814 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:33:19,832.832 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:33:19,969.969 INFO    ] No existing commands found in stream
[2026-10-20 01:33:24,993.993 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:33:24,996.996 INFO    ] Waiting 2.67 seconds before fallback handling...
[2026-10-20 01:33:28,157.157 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 01:33:28,160.160 INFO    ] Checking for system updates...
[2026-10-20 01:33:28,195.195 INFO    ] 200
[2026-10-20 01:33:28,197.197 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:33:28,249.249 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:33:28,251.251 INFO    ] No update needed
[2026-10-20 01:33:28,254.254 INFO    ] Checking for camera pi updates...
[2026-10-20 01:33:28,291.291 INFO    ] 200
[2026-10-20 01:33:28,294.294 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:33:28,334.334 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:33:28,388.388 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:33:28,391.391 INFO    ] No camera update needed
[2026-10-20 01:33:28,393.393 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:33:28,396.396 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:33:28,401.401 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:33:28,406.406 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:33:30,447.447 INFO    ] ================================================
[2026-10-20 01:33:30,462.462 INFO    ] Launching Daemon at Tue Oct 20 01:33:30 IST 2026
[2026-10-20 01:33:30,473.473 INFO    ] ================================================
[2026-10-20 01:33:31,041.041 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:33:31
[2026-10-20 01:33:31,650.650 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:33:31,922.922 INFO    ] Initializing speech engine...
[2026-10-20 01:33:31,936.936 INFO    ] 2026-10-20 01:33:31
[2026-10-20 01:33:32,266.266 INFO    ] 2026-10-20 01:33:32
[2026-10-20 01:33:32,333.333 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:33:32,555.555 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:33:32,621.621 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:33:32,782.782 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:33:32,844.844 INFO    ] time= 20/10/2026 01:33:32
[2026-10-20 01:33:32,915.915 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:33:32,923.923 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:33:33,072.072 INFO    ] No existing commands found in stream
[2026-10-20 01:33:38,095.095 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:33:38,098.098 INFO    ] Waiting 0.97 seconds before fallback handling...
[2026-10-20 01:33:39,624.624 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:33:39,628.628 INFO    ] Checking for system updates...
[2026-10-20 01:33:39,665.665 INFO    ] 200
[2026-10-20 01:33:39,668.668 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:33:39,721.721 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:33:39,724.724 INFO    ] No update needed
[2026-10-20 01:33:39,727.727 INFO    ] Checking for camera pi updates...
[2026-10-20 01:33:39,766.766 INFO    ] 200
[2026-10-20 01:33:39,769.769 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:33:39,811.811 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:33:39,857.857 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:33:39,860.860 INFO    ] No camera update needed
[2026-10-20 01:33:39,863.863 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:33:39,865.865 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:33:39,872.872 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:33:39,878.878 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:33:41,921.921 INFO    ] ================================================
[2026-10-20 01:33:41,936.936 INFO    ] Launching Daemon at Tue Oct 20 01:33:41 IST 2026
[2026-10-20 01:33:41,946.946 INFO    ] ================================================
[2026-10-20 01:33:42,545.545 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:33:42
[2026-10-20 01:33:43,166.166 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:33:43,453.453 INFO    ] Initializing speech engine...
[2026-10-20 01:33:43,460.460 INFO    ] 2026-10-20 01:33:43
[2026-10-20 01:33:43,759.759 INFO    ] 2026-10-20 01:33:43
[2026-10-20 01:33:43,794.794 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:33:43,990.990 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:33:44,005.005 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:33:44,152.152 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:33:44,159.159 INFO    ] time= 20/10/2026 01:33:44
[2026-10-20 01:33:44,173.173 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:33:44,229.229 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:33:44,337.337 INFO    ] No existing commands found in stream
[2026-10-20 01:33:49,373.373 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:33:49,381.381 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-10-20 01:33:53,153.153 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:33:53,156.156 INFO    ] Checking for system updates...
[2026-10-20 01:33:53,191.191 INFO    ] 200
[2026-10-20 01:33:53,194.194 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:33:53,253.253 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:33:53,256.256 INFO    ] No update needed
[2026-10-20 01:33:53,258.258 INFO    ] Checking for camera pi updates...
[2026-10-20 01:33:53,291.291 INFO    ] 200
[2026-10-20 01:33:53,293.293 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:33:53,333.333 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:33:53,485.485 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:33:53,487.487 INFO    ] No camera update needed
[2026-10-20 01:33:53,489.489 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:33:53,492.492 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:33:53,497.497 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:33:53,502.502 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:33:55,544.544 INFO    ] ================================================
[2026-10-20 01:33:55,559.559 INFO    ] Launching Daemon at Tue Oct 20 01:33:55 IST 2026
[2026-10-20 01:33:55,570.570 INFO    ] ================================================
[2026-10-20 01:33:56,156.156 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:33:56
[2026-10-20 01:33:56,813.813 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:33:57,121.121 INFO    ] Initializing speech engine...
[2026-10-20 01:33:57,130.130 INFO    ] 2026-10-20 01:33:57
[2026-10-20 01:33:57,418.418 INFO    ] 2026-10-20 01:33:57
[2026-10-20 01:33:57,464.464 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:33:57,744.744 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:33:57,753.753 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:33:57,947.947 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:33:57,966.966 INFO    ] time= 20/10/2026 01:33:57
[2026-10-20 01:33:57,975.975 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:33:58,002.002 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:33:58,134.134 INFO    ] No existing commands found in stream
[2026-10-20 01:34:03,160.160 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:34:03,163.163 INFO    ] Waiting 2.36 seconds before fallback handling...
[2026-10-20 01:34:06,074.074 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:34:06,077.077 INFO    ] Checking for system updates...
[2026-10-20 01:34:06,118.118 INFO    ] 200
[2026-10-20 01:34:06,121.121 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:34:06,174.174 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:34:06,177.177 INFO    ] No update needed
[2026-10-20 01:34:06,180.180 INFO    ] Checking for camera pi updates...
[2026-10-20 01:34:06,214.214 INFO    ] 200
[2026-10-20 01:34:06,217.217 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:34:06,258.258 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:34:06,314.314 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:34:06,316.316 INFO    ] No camera update needed
[2026-10-20 01:34:06,319.319 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:34:06,322.322 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:34:06,328.328 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:34:06,334.334 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:34:08,375.375 INFO    ] ================================================
[2026-10-20 01:34:08,390.390 INFO    ] Launching Daemon at Tue Oct 20 01:34:08 IST 2026
[2026-10-20 01:34:08,402.402 INFO    ] ================================================
[2026-10-20 01:34:08,974.974 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:34:08
[2026-10-20 01:34:09,561.561 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:34:09,822.822 INFO    ] Initializing speech engine...
[2026-10-20 01:34:09,841.841 INFO    ] 2026-10-20 01:34:09
[2026-10-20 01:34:10,093.093 INFO    ] 2026-10-20 01:34:10
[2026-10-20 01:34:10,127.127 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:34:10,387.387 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:34:10,396.396 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:34:10,547.547 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:34:10,596.596 INFO    ] time= 20/10/2026 01:34:10
[2026-10-20 01:34:10,656.656 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:34:10,668.668 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:34:10,802.802 INFO    ] No existing commands found in stream
[2026-10-20 01:34:15,824.824 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:34:15,827.827 INFO    ] Waiting 2.90 seconds before fallback handling...
[2026-10-20 01:34:19,222.222 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:34:19,225.225 INFO    ] Checking for system updates...
[2026-10-20 01:34:19,260.260 INFO    ] 200
[2026-10-20 01:34:19,263.263 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:34:19,332.332 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:34:19,335.335 INFO    ] No update needed
[2026-10-20 01:34:19,337.337 INFO    ] Checking for camera pi updates...
[2026-10-20 01:34:19,370.370 INFO    ] 200
[2026-10-20 01:34:19,373.373 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:34:19,418.418 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:34:19,466.466 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:34:19,469.469 INFO    ] No camera update needed
[2026-10-20 01:34:19,471.471 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:34:19,474.474 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:34:19,479.479 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:34:19,484.484 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:34:21,526.526 INFO    ] ================================================
[2026-10-20 01:34:21,541.541 INFO    ] Launching Daemon at Tue Oct 20 01:34:21 IST 2026
[2026-10-20 01:34:21,551.551 INFO    ] ================================================
[2026-10-20 01:34:22,125.125 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:34:22
[2026-10-20 01:34:22,717.717 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:34:22,988.988 INFO    ] Initializing speech engine...
[2026-10-20 01:34:22,997.997 INFO    ] 2026-10-20 01:34:22
[2026-10-20 01:34:23,244.244 INFO    ] 2026-10-20 01:34:23
[2026-10-20 01:34:23,285.285 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:34:23,531.531 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:34:23,540.540 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:34:23,780.780 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:34:23,802.802 INFO    ] time= 20/10/2026 01:34:23
[2026-10-20 01:34:23,815.815 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:34:23,825.825 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:34:23,950.950 INFO    ] No existing commands found in stream
[2026-10-20 01:34:28,964.964 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:34:28,967.967 INFO    ] Waiting 3.83 seconds before fallback handling...
[2026-10-20 01:34:33,315.315 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:34:33,318.318 INFO    ] Checking for system updates...
[2026-10-20 01:34:33,355.355 INFO    ] 200
[2026-10-20 01:34:33,358.358 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:34:33,410.410 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:34:33,413.413 INFO    ] No update needed
[2026-10-20 01:34:33,416.416 INFO    ] Checking for camera pi updates...
[2026-10-20 01:34:33,454.454 INFO    ] 200
[2026-10-20 01:34:33,457.457 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:34:33,498.498 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:34:33,545.545 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:34:33,548.548 INFO    ] No camera update needed
[2026-10-20 01:34:33,551.551 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:34:33,554.554 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:34:33,560.560 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:34:33,566.566 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:34:35,607.607 INFO    ] ================================================
[2026-10-20 01:34:35,622.622 INFO    ] Launching Daemon at Tue Oct 20 01:34:35 IST 2026
[2026-10-20 01:34:35,633.633 INFO    ] ================================================
[2026-10-20 01:34:36,198.198 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:34:36
[2026-10-20 01:34:36,781.781 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:34:37,034.034 INFO    ] Initializing speech engine...
[2026-10-20 01:34:37,057.057 INFO    ] 2026-10-20 01:34:37
[2026-10-20 01:34:37,313.313 INFO    ] 2026-10-20 01:34:37
[2026-10-20 01:34:37,347.347 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:34:37,546.546 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:34:37,601.601 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:34:37,745.745 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:34:37,790.790 INFO    ] time= 20/10/2026 01:34:37
[2026-10-20 01:34:37,855.855 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:34:37,877.877 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:34:38,016.016 INFO    ] No existing commands found in stream
[2026-10-20 01:34:43,037.037 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:34:43,040.040 INFO    ] Waiting 2.23 seconds before fallback handling...
[2026-10-20 01:34:45,786.786 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 01:34:45,788.788 INFO    ] Checking for system updates...
[2026-10-20 01:34:45,825.825 INFO    ] 200
[2026-10-20 01:34:45,827.827 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:34:45,880.880 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:34:45,883.883 INFO    ] No update needed
[2026-10-20 01:34:45,886.886 INFO    ] Checking for camera pi updates...
[2026-10-20 01:34:45,920.920 INFO    ] 200
[2026-10-20 01:34:45,923.923 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:34:45,974.974 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:34:46,019.019 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:34:46,022.022 INFO    ] No camera update needed
[2026-10-20 01:34:46,025.025 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:34:46,028.028 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:34:46,034.034 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:34:46,040.040 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:34:48,082.082 INFO    ] ================================================
[2026-10-20 01:34:48,097.097 INFO    ] Launching Daemon at Tue Oct 20 01:34:48 IST 2026
[2026-10-20 01:34:48,108.108 INFO    ] ================================================
[2026-10-20 01:34:48,673.673 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:34:48
[2026-10-20 01:34:49,253.253 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:34:49,501.501 INFO    ] Initializing speech engine...
[2026-10-20 01:34:49,510.510 INFO    ] 2026-10-20 01:34:49
[2026-10-20 01:34:49,777.777 INFO    ] 2026-10-20 01:34:49
[2026-10-20 01:34:49,812.812 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:34:50,061.061 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:34:50,071.071 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:34:50,276.276 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:34:50,332.332 INFO    ] time= 20/10/2026 01:34:50
[2026-10-20 01:34:50,339.339 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:34:50,356.356 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:34:50,491.491 INFO    ] No existing commands found in stream
[2026-10-20 01:34:55,514.514 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:34:55,517.517 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-10-20 01:34:57,816.816 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:34:57,819.819 INFO    ] Checking for system updates...
[2026-10-20 01:34:57,855.855 INFO    ] 200
[2026-10-20 01:34:57,858.858 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:34:57,911.911 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:34:57,914.914 INFO    ] No update needed
[2026-10-20 01:34:57,917.917 INFO    ] Checking for camera pi updates...
[2026-10-20 01:34:57,951.951 INFO    ] 200
[2026-10-20 01:34:57,954.954 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:34:57,995.995 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:34:58,052.052 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:34:58,055.055 INFO    ] No camera update needed
[2026-10-20 01:34:58,058.058 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:34:58,060.060 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:34:58,067.067 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:34:58,073.073 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:35:00,113.113 INFO    ] ================================================
[2026-10-20 01:35:00,129.129 INFO    ] Launching Daemon at Tue Oct 20 01:35:00 IST 2026
[2026-10-20 01:35:00,141.141 INFO    ] ================================================
[2026-10-20 01:35:00,732.732 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:35:00
[2026-10-20 01:35:01,348.348 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:35:02,176.176 INFO    ] Initializing speech engine...
[2026-10-20 01:35:02,183.183 INFO    ] 2026-10-20 01:35:02
[2026-10-20 01:35:02,565.565 INFO    ] 2026-10-20 01:35:02
[2026-10-20 01:35:02,594.594 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:35:02,820.820 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:35:02,825.825 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:35:03,033.033 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:35:03,078.078 INFO    ] time= 20/10/2026 01:35:03
[2026-10-20 01:35:03,094.094 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:35:03,116.116 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:35:03,237.237 INFO    ] No existing commands found in stream
[2026-10-20 01:35:08,259.259 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:35:08,261.261 INFO    ] Waiting 2.55 seconds before fallback handling...
[2026-10-20 01:35:11,300.300 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:35:11,303.303 INFO    ] Checking for system updates...
[2026-10-20 01:35:11,338.338 INFO    ] 200
[2026-10-20 01:35:11,340.340 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:35:11,403.403 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:35:11,405.405 INFO    ] No update needed
[2026-10-20 01:35:11,407.407 INFO    ] Checking for camera pi updates...
[2026-10-20 01:35:11,441.441 INFO    ] 200
[2026-10-20 01:35:11,443.443 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:35:11,483.483 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:35:11,537.537 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:35:11,539.539 INFO    ] No camera update needed
[2026-10-20 01:35:11,542.542 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:35:11,544.544 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:35:11,549.549 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:35:11,554.554 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:35:13,594.594 INFO    ] ================================================
[2026-10-20 01:35:13,610.610 INFO    ] Launching Daemon at Tue Oct 20 01:35:13 IST 2026
[2026-10-20 01:35:13,621.621 INFO    ] ================================================
[2026-10-20 01:35:14,273.273 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:35:14
[2026-10-20 01:35:14,910.910 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:35:15,183.183 INFO    ] Initializing speech engine...
[2026-10-20 01:35:15,192.192 INFO    ] 2026-10-20 01:35:15
[2026-10-20 01:35:15,439.439 INFO    ] 2026-10-20 01:35:15
[2026-10-20 01:35:15,475.475 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:35:15,727.727 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:35:15,737.737 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:35:15,949.949 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:35:15,994.994 INFO    ] time= 20/10/2026 01:35:15
[2026-10-20 01:35:16,001.001 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:35:16,019.019 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:35:16,159.159 INFO    ] No existing commands found in stream
[2026-10-20 01:35:21,185.185 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:35:21,188.188 INFO    ] Waiting 0.31 seconds before fallback handling...
[2026-10-20 01:35:21,966.966 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 01:35:21,969.969 INFO    ] Checking for system updates...
[2026-10-20 01:35:22,004.004 INFO    ] 200
[2026-10-20 01:35:22,007.007 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:35:22,061.061 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:35:22,063.063 INFO    ] No update needed
[2026-10-20 01:35:22,065.065 INFO    ] Checking for camera pi updates...
[2026-10-20 01:35:22,098.098 INFO    ] 200
[2026-10-20 01:35:22,101.101 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:35:22,141.141 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:35:22,185.185 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:35:22,187.187 INFO    ] No camera update needed
[2026-10-20 01:35:22,190.190 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:35:22,192.192 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:35:22,198.198 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:35:22,203.203 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:35:24,246.246 INFO    ] ================================================
[2026-10-20 01:35:24,261.261 INFO    ] Launching Daemon at Tue Oct 20 01:35:24 IST 2026
[2026-10-20 01:35:24,272.272 INFO    ] ================================================
[2026-10-20 01:35:24,887.887 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:35:24
[2026-10-20 01:35:25,470.470 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:35:25,738.738 INFO    ] Initializing speech engine...
[2026-10-20 01:35:25,747.747 INFO    ] 2026-10-20 01:35:25
[2026-10-20 01:35:26,009.009 INFO    ] 2026-10-20 01:35:26
[2026-10-20 01:35:26,063.063 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:35:26,290.290 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:35:26,296.296 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:35:26,522.522 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:35:26,553.553 INFO    ] time= 20/10/2026 01:35:26
[2026-10-20 01:35:26,559.559 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:35:26,579.579 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:35:26,708.708 INFO    ] No existing commands found in stream
[2026-10-20 01:35:31,721.721 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:35:31,724.724 INFO    ] Waiting 1.08 seconds before fallback handling...
[2026-10-20 01:35:33,303.303 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 01:35:33,305.305 INFO    ] Checking for system updates...
[2026-10-20 01:35:33,340.340 INFO    ] 200
[2026-10-20 01:35:33,343.343 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:35:33,395.395 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:35:33,397.397 INFO    ] No update needed
[2026-10-20 01:35:33,399.399 INFO    ] Checking for camera pi updates...
[2026-10-20 01:35:33,433.433 INFO    ] 200
[2026-10-20 01:35:33,436.436 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:35:33,480.480 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:35:33,527.527 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:35:33,530.530 INFO    ] No camera update needed
[2026-10-20 01:35:33,532.532 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:35:33,535.535 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:35:33,540.540 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:35:33,545.545 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:35:35,585.585 INFO    ] ================================================
[2026-10-20 01:35:35,600.600 INFO    ] Launching Daemon at Tue Oct 20 01:35:35 IST 2026
[2026-10-20 01:35:35,611.611 INFO    ] ================================================
[2026-10-20 01:35:36,260.260 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:35:36
[2026-10-20 01:35:36,928.928 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:35:37,232.232 INFO    ] Initializing speech engine...
[2026-10-20 01:35:37,238.238 INFO    ] 2026-10-20 01:35:37
[2026-10-20 01:35:37,552.552 INFO    ] 2026-10-20 01:35:37
[2026-10-20 01:35:37,640.640 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:35:37,852.852 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:35:37,858.858 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:35:38,055.055 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:35:38,062.062 INFO    ] time= 20/10/2026 01:35:38
[2026-10-20 01:35:38,080.080 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:35:38,093.093 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:35:38,236.236 INFO    ] No existing commands found in stream
[2026-10-20 01:35:43,272.272 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:35:43,275.275 INFO    ] Waiting 2.04 seconds before fallback handling...
[2026-10-20 01:35:45,855.855 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 01:35:45,857.857 INFO    ] Checking for system updates...
[2026-10-20 01:35:45,895.895 INFO    ] 200
[2026-10-20 01:35:45,898.898 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:35:45,951.951 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:35:45,953.953 INFO    ] No update needed
[2026-10-20 01:35:45,956.956 INFO    ] Checking for camera pi updates...
[2026-10-20 01:35:45,994.994 INFO    ] 200
[2026-10-20 01:35:45,996.996 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:35:46,037.037 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:35:46,083.083 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:35:46,086.086 INFO    ] No camera update needed
[2026-10-20 01:35:46,089.089 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:35:46,091.091 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:35:46,097.097 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:35:46,103.103 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:35:48,144.144 INFO    ] ================================================
[2026-10-20 01:35:48,159.159 INFO    ] Launching Daemon at Tue Oct 20 01:35:48 IST 2026
[2026-10-20 01:35:48,170.170 INFO    ] ================================================
[2026-10-20 01:35:48,825.825 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:35:48
[2026-10-20 01:35:49,493.493 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:35:49,798.798 INFO    ] Initializing speech engine...
[2026-10-20 01:35:49,805.805 INFO    ] 2026-10-20 01:35:49
[2026-10-20 01:35:50,077.077 INFO    ] 2026-10-20 01:35:50
[2026-10-20 01:35:50,122.122 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:35:50,378.378 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:35:50,396.396 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:35:50,602.602 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:35:50,622.622 INFO    ] time= 20/10/2026 01:35:50
[2026-10-20 01:35:50,628.628 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:35:50,645.645 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:35:50,774.774 INFO    ] No existing commands found in stream
[2026-10-20 01:35:55,792.792 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:35:55,794.794 INFO    ] Waiting 3.00 seconds before fallback handling...
[2026-10-20 01:35:59,289.289 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 01:35:59,291.291 INFO    ] Checking for system updates...
[2026-10-20 01:35:59,326.326 INFO    ] 200
[2026-10-20 01:35:59,329.329 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:35:59,381.381 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:35:59,384.384 INFO    ] No update needed
[2026-10-20 01:35:59,386.386 INFO    ] Checking for camera pi updates...
[2026-10-20 01:35:59,420.420 INFO    ] 200
[2026-10-20 01:35:59,422.422 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:35:59,466.466 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:35:59,621.621 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:35:59,624.624 INFO    ] No camera update needed
[2026-10-20 01:35:59,626.626 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:35:59,628.628 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:35:59,634.634 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:35:59,639.639 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:36:01,694.694 INFO    ] ================================================
[2026-10-20 01:36:01,725.725 INFO    ] Launching Daemon at Tue Oct 20 01:36:01 IST 2026
[2026-10-20 01:36:01,765.765 INFO    ] ================================================
[2026-10-20 01:36:02,559.559 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:36:02
[2026-10-20 01:36:03,289.289 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:36:03,581.581 INFO    ] Initializing speech engine...
[2026-10-20 01:36:03,600.600 INFO    ] 2026-10-20 01:36:03
[2026-10-20 01:36:03,895.895 INFO    ] 2026-10-20 01:36:03
[2026-10-20 01:36:03,931.931 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:36:04,124.124 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:36:04,138.138 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:36:04,301.301 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:36:04,306.306 INFO    ] time= 20/10/2026 01:36:04
[2026-10-20 01:36:04,313.313 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:36:04,340.340 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:36:04,485.485 INFO    ] No existing commands found in stream
[2026-10-20 01:36:09,510.510 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:36:09,513.513 INFO    ] Waiting 2.56 seconds before fallback handling...
[2026-10-20 01:36:12,614.614 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:36:12,617.617 INFO    ] Checking for system updates...
[2026-10-20 01:36:12,654.654 INFO    ] 200
[2026-10-20 01:36:12,656.656 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:36:12,716.716 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:36:12,719.719 INFO    ] No update needed
[2026-10-20 01:36:12,722.722 INFO    ] Checking for camera pi updates...
[2026-10-20 01:36:12,761.761 INFO    ] 200
[2026-10-20 01:36:12,764.764 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:36:12,806.806 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:36:12,854.854 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:36:12,856.856 INFO    ] No camera update needed
[2026-10-20 01:36:12,859.859 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:36:12,862.862 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:36:12,868.868 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:36:12,874.874 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:36:14,914.914 INFO    ] ================================================
[2026-10-20 01:36:14,932.932 INFO    ] Launching Daemon at Tue Oct 20 01:36:14 IST 2026
[2026-10-20 01:36:14,944.944 INFO    ] ================================================
[2026-10-20 01:36:15,513.513 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:36:15
[2026-10-20 01:36:16,102.102 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:36:16,357.357 INFO    ] Initializing speech engine...
[2026-10-20 01:36:16,363.363 INFO    ] 2026-10-20 01:36:16
[2026-10-20 01:36:16,659.659 INFO    ] 2026-10-20 01:36:16
[2026-10-20 01:36:16,693.693 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:36:16,921.921 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:36:16,929.929 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:36:17,155.155 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:36:17,172.172 INFO    ] time= 20/10/2026 01:36:17
[2026-10-20 01:36:17,231.231 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:36:17,288.288 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:36:17,433.433 INFO    ] No existing commands found in stream
[2026-10-20 01:36:22,449.449 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:36:22,451.451 INFO    ] Waiting 0.99 seconds before fallback handling...
[2026-10-20 01:36:23,932.932 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:36:23,935.935 INFO    ] Checking for system updates...
[2026-10-20 01:36:23,975.975 INFO    ] 200
[2026-10-20 01:36:23,977.977 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:36:24,029.029 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:36:24,031.031 INFO    ] No update needed
[2026-10-20 01:36:24,034.034 INFO    ] Checking for camera pi updates...
[2026-10-20 01:36:24,067.067 INFO    ] 200
[2026-10-20 01:36:24,069.069 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:36:24,110.110 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:36:24,164.164 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:36:24,167.167 INFO    ] No camera update needed
[2026-10-20 01:36:24,169.169 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:36:24,171.171 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:36:24,177.177 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:36:24,182.182 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:36:26,221.221 INFO    ] ================================================
[2026-10-20 01:36:26,236.236 INFO    ] Launching Daemon at Tue Oct 20 01:36:26 IST 2026
[2026-10-20 01:36:26,247.247 INFO    ] ================================================
[2026-10-20 01:36:26,830.830 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:36:26
[2026-10-20 01:36:27,429.429 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:36:27,706.706 INFO    ] Initializing speech engine...
[2026-10-20 01:36:27,718.718 INFO    ] 2026-10-20 01:36:27
[2026-10-20 01:36:27,989.989 INFO    ] 2026-10-20 01:36:27
[2026-10-20 01:36:28,027.027 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:36:28,226.226 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:36:28,240.240 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:36:28,385.385 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:36:28,412.412 INFO    ] time= 20/10/2026 01:36:28
[2026-10-20 01:36:28,417.417 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:36:28,424.424 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:36:28,521.521 INFO    ] No existing commands found in stream
[2026-10-20 01:36:33,553.553 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:36:33,555.555 INFO    ] Waiting 0.05 seconds before fallback handling...
[2026-10-20 01:36:34,114.114 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:36:34,117.117 INFO    ] Checking for system updates...
[2026-10-20 01:36:34,156.156 INFO    ] 200
[2026-10-20 01:36:34,158.158 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:36:34,211.211 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:36:34,214.214 INFO    ] No update needed
[2026-10-20 01:36:34,217.217 INFO    ] Checking for camera pi updates...
[2026-10-20 01:36:34,256.256 INFO    ] 200
[2026-10-20 01:36:34,259.259 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:36:34,305.305 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:36:34,361.361 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:36:34,364.364 INFO    ] No camera update needed
[2026-10-20 01:36:34,367.367 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:36:34,370.370 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:36:34,376.376 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:36:34,382.382 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:36:36,423.423 INFO    ] ================================================
[2026-10-20 01:36:36,439.439 INFO    ] Launching Daemon at Tue Oct 20 01:36:36 IST 2026
[2026-10-20 01:36:36,450.450 INFO    ] ================================================
[2026-10-20 01:36:37,015.015 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:36:37
[2026-10-20 01:36:37,609.609 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:36:37,882.882 INFO    ] Initializing speech engine...
[2026-10-20 01:36:37,890.890 INFO    ] 2026-10-20 01:36:37
[2026-10-20 01:36:38,138.138 INFO    ] 2026-10-20 01:36:38
[2026-10-20 01:36:38,174.174 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:36:38,424.424 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:36:38,433.433 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:36:38,572.572 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:36:38,637.637 INFO    ] time= 20/10/2026 01:36:38
[2026-10-20 01:36:38,693.693 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:36:38,699.699 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:36:38,846.846 INFO    ] No existing commands found in stream
[2026-10-20 01:36:43,873.873 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:36:43,876.876 INFO    ] Waiting 1.53 seconds before fallback handling...
[2026-10-20 01:36:45,933.933 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 01:36:45,936.936 INFO    ] Checking for system updates...
[2026-10-20 01:36:45,971.971 INFO    ] 200
[2026-10-20 01:36:45,973.973 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:36:46,025.025 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:36:46,028.028 INFO    ] No update needed
[2026-10-20 01:36:46,030.030 INFO    ] Checking for camera pi updates...
[2026-10-20 01:36:46,064.064 INFO    ] 200
[2026-10-20 01:36:46,066.066 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:36:46,106.106 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:36:46,159.159 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:36:46,162.162 INFO    ] No camera update needed
[2026-10-20 01:36:46,164.164 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:36:46,166.166 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:36:46,172.172 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:36:46,177.177 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:36:48,217.217 INFO    ] ================================================
[2026-10-20 01:36:48,232.232 INFO    ] Launching Daemon at Tue Oct 20 01:36:48 IST 2026
[2026-10-20 01:36:48,243.243 INFO    ] ================================================
[2026-10-20 01:36:48,810.810 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:36:48
[2026-10-20 01:36:49,391.391 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:36:49,638.638 INFO    ] Initializing speech engine...
[2026-10-20 01:36:49,653.653 INFO    ] 2026-10-20 01:36:49
[2026-10-20 01:36:49,917.917 INFO    ] 2026-10-20 01:36:49
[2026-10-20 01:36:49,952.952 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:36:50,210.210 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:36:50,220.220 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:36:50,452.452 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:36:50,482.482 INFO    ] time= 20/10/2026 01:36:50
[2026-10-20 01:36:50,488.488 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:36:50,506.506 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:36:50,640.640 INFO    ] No existing commands found in stream
[2026-10-20 01:36:55,652.652 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:36:55,655.655 INFO    ] Waiting 0.43 seconds before fallback handling...
[2026-10-20 01:36:56,594.594 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 01:36:56,597.597 INFO    ] Checking for system updates...
[2026-10-20 01:36:56,632.632 INFO    ] 200
[2026-10-20 01:36:56,635.635 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:36:56,687.687 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:36:56,690.690 INFO    ] No update needed
[2026-10-20 01:36:56,692.692 INFO    ] Checking for camera pi updates...
[2026-10-20 01:36:56,725.725 INFO    ] 200
[2026-10-20 01:36:56,727.727 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:36:56,771.771 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:36:56,821.821 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:36:56,823.823 INFO    ] No camera update needed
[2026-10-20 01:36:56,825.825 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:36:56,828.828 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:36:56,833.833 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:36:56,839.839 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:36:58,881.881 INFO    ] ================================================
[2026-10-20 01:36:58,897.897 INFO    ] Launching Daemon at Tue Oct 20 01:36:58 IST 2026
[2026-10-20 01:36:58,907.907 INFO    ] ================================================
[2026-10-20 01:36:59,489.489 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:36:59
[2026-10-20 01:37:00,088.088 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:37:00,344.344 INFO    ] Initializing speech engine...
[2026-10-20 01:37:00,359.359 INFO    ] 2026-10-20 01:37:00
[2026-10-20 01:37:00,626.626 INFO    ] 2026-10-20 01:37:00
[2026-10-20 01:37:00,661.661 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:37:00,914.914 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:37:00,924.924 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:37:01,085.085 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:37:01,157.157 INFO    ] time= 20/10/2026 01:37:01
[2026-10-20 01:37:01,191.191 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:37:01,208.208 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:37:01,339.339 INFO    ] No existing commands found in stream
[2026-10-20 01:37:06,355.355 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:37:06,364.364 INFO    ] Waiting 0.26 seconds before fallback handling...
[2026-10-20 01:37:07,883.883 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 01:37:07,886.886 INFO    ] Checking for system updates...
[2026-10-20 01:37:07,922.922 INFO    ] 200
[2026-10-20 01:37:07,925.925 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:37:07,977.977 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:37:07,979.979 INFO    ] No update needed
[2026-10-20 01:37:07,982.982 INFO    ] Checking for camera pi updates...
[2026-10-20 01:37:08,022.022 INFO    ] 200
[2026-10-20 01:37:08,024.024 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:37:08,064.064 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:37:08,118.118 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:37:08,120.120 INFO    ] No camera update needed
[2026-10-20 01:37:08,123.123 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:37:08,126.126 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:37:08,132.132 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:37:08,137.137 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:37:10,181.181 INFO    ] ================================================
[2026-10-20 01:37:10,196.196 INFO    ] Launching Daemon at Tue Oct 20 01:37:10 IST 2026
[2026-10-20 01:37:10,207.207 INFO    ] ================================================
[2026-10-20 01:37:10,845.845 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:37:10
[2026-10-20 01:37:11,507.507 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:37:11,810.810 INFO    ] Initializing speech engine...
[2026-10-20 01:37:11,822.822 INFO    ] 2026-10-20 01:37:11
[2026-10-20 01:37:12,103.103 INFO    ] 2026-10-20 01:37:12
[2026-10-20 01:37:12,150.150 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:37:12,381.381 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:37:12,387.387 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:37:12,613.613 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:37:12,654.654 INFO    ] time= 20/10/2026 01:37:12
[2026-10-20 01:37:12,670.670 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:37:12,681.681 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:37:12,814.814 INFO    ] No existing commands found in stream
[2026-10-20 01:37:17,841.841 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:37:17,845.845 INFO    ] Waiting 0.48 seconds before fallback handling...
[2026-10-20 01:37:18,867.867 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:37:18,870.870 INFO    ] Checking for system updates...
[2026-10-20 01:37:18,906.906 INFO    ] 200
[2026-10-20 01:37:18,909.909 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:37:18,962.962 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:37:18,964.964 INFO    ] No update needed
[2026-10-20 01:37:18,967.967 INFO    ] Checking for camera pi updates...
[2026-10-20 01:37:19,001.001 INFO    ] 200
[2026-10-20 01:37:19,003.003 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:37:19,045.045 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:37:19,101.101 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:37:19,104.104 INFO    ] No camera update needed
[2026-10-20 01:37:19,106.106 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:37:19,109.109 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:37:19,115.115 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:37:19,121.121 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:37:21,161.161 INFO    ] ================================================
[2026-10-20 01:37:21,176.176 INFO    ] Launching Daemon at Tue Oct 20 01:37:21 IST 2026
[2026-10-20 01:37:21,186.186 INFO    ] ================================================
[2026-10-20 01:37:21,751.751 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:37:21
[2026-10-20 01:37:22,333.333 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:37:22,599.599 INFO    ] Initializing speech engine...
[2026-10-20 01:37:22,608.608 INFO    ] 2026-10-20 01:37:22
[2026-10-20 01:37:22,853.853 INFO    ] 2026-10-20 01:37:22
[2026-10-20 01:37:22,894.894 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:37:23,127.127 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:37:23,150.150 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:37:23,364.364 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:37:23,419.419 INFO    ] time= 20/10/2026 01:37:23
[2026-10-20 01:37:23,427.427 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:37:23,446.446 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:37:23,573.573 INFO    ] No existing commands found in stream
[2026-10-20 01:37:28,590.590 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:37:28,598.598 INFO    ] Waiting 3.43 seconds before fallback handling...
[2026-10-20 01:37:32,521.521 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 01:37:32,524.524 INFO    ] Checking for system updates...
[2026-10-20 01:37:32,562.562 INFO    ] 200
[2026-10-20 01:37:32,565.565 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:37:32,622.622 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:37:32,624.624 INFO    ] No update needed
[2026-10-20 01:37:32,629.629 INFO    ] Checking for camera pi updates...
[2026-10-20 01:37:32,671.671 INFO    ] 200
[2026-10-20 01:37:32,674.674 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:37:32,718.718 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:37:32,758.758 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:37:32,761.761 INFO    ] No camera update needed
[2026-10-20 01:37:32,764.764 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:37:32,767.767 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:37:32,773.773 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:37:32,779.779 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:37:34,820.820 INFO    ] ================================================
[2026-10-20 01:37:34,835.835 INFO    ] Launching Daemon at Tue Oct 20 01:37:34 IST 2026
[2026-10-20 01:37:34,846.846 INFO    ] ================================================
[2026-10-20 01:37:35,419.419 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:37:35
[2026-10-20 01:37:36,001.001 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:37:36,251.251 INFO    ] Initializing speech engine...
[2026-10-20 01:37:36,275.275 INFO    ] 2026-10-20 01:37:36
[2026-10-20 01:37:36,535.535 INFO    ] 2026-10-20 01:37:36
[2026-10-20 01:37:36,570.570 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:37:36,820.820 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:37:36,825.825 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:37:37,021.021 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:37:37,079.079 INFO    ] time= 20/10/2026 01:37:37
[2026-10-20 01:37:37,086.086 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:37:37,101.101 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:37:37,233.233 INFO    ] No existing commands found in stream
[2026-10-20 01:37:42,246.246 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:37:42,249.249 INFO    ] Waiting 1.07 seconds before fallback handling...
[2026-10-20 01:37:43,858.858 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:37:43,861.861 INFO    ] Checking for system updates...
[2026-10-20 01:37:43,901.901 INFO    ] 200
[2026-10-20 01:37:43,904.904 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:37:43,962.962 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:37:43,964.964 INFO    ] No update needed
[2026-10-20 01:37:43,967.967 INFO    ] Checking for camera pi updates...
[2026-10-20 01:37:44,000.000 INFO    ] 200
[2026-10-20 01:37:44,003.003 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:37:44,047.047 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:37:44,097.097 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:37:44,099.099 INFO    ] No camera update needed
[2026-10-20 01:37:44,102.102 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:37:44,104.104 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:37:44,109.109 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:37:44,114.114 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:37:46,153.153 INFO    ] ================================================
[2026-10-20 01:37:46,171.171 INFO    ] Launching Daemon at Tue Oct 20 01:37:46 IST 2026
[2026-10-20 01:37:46,181.181 INFO    ] ================================================
[2026-10-20 01:37:46,761.761 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:37:46
[2026-10-20 01:37:47,363.363 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:37:47,634.634 INFO    ] Initializing speech engine...
[2026-10-20 01:37:47,639.639 INFO    ] 2026-10-20 01:37:47
[2026-10-20 01:37:47,885.885 INFO    ] 2026-10-20 01:37:47
[2026-10-20 01:37:47,920.920 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:37:48,176.176 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:37:48,181.181 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:37:48,315.315 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:37:48,376.376 INFO    ] time= 20/10/2026 01:37:48
[2026-10-20 01:37:48,425.425 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:37:48,448.448 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:37:48,574.574 INFO    ] No existing commands found in stream
[2026-10-20 01:37:53,600.600 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:37:53,602.602 INFO    ] Waiting 3.76 seconds before fallback handling...
[2026-10-20 01:37:57,875.875 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:37:57,878.878 INFO    ] Checking for system updates...
[2026-10-20 01:37:57,913.913 INFO    ] 200
[2026-10-20 01:37:57,916.916 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:37:57,967.967 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:37:57,970.970 INFO    ] No update needed
[2026-10-20 01:37:57,972.972 INFO    ] Checking for camera pi updates...
[2026-10-20 01:37:58,005.005 INFO    ] 200
[2026-10-20 01:37:58,008.008 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:37:58,047.047 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:37:58,096.096 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:37:58,099.099 INFO    ] No camera update needed
[2026-10-20 01:37:58,101.101 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:37:58,103.103 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:37:58,108.108 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:37:58,113.113 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:38:00,152.152 INFO    ] ================================================
[2026-10-20 01:38:00,167.167 INFO    ] Launching Daemon at Tue Oct 20 01:38:00 IST 2026
[2026-10-20 01:38:00,178.178 INFO    ] ================================================
[2026-10-20 01:38:00,847.847 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:38:00
[2026-10-20 01:38:01,513.513 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:38:01,784.784 INFO    ] Initializing speech engine...
[2026-10-20 01:38:01,793.793 INFO    ] 2026-10-20 01:38:01
[2026-10-20 01:38:02,146.146 INFO    ] 2026-10-20 01:38:02
[2026-10-20 01:38:02,196.196 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:38:02,455.455 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:38:02,491.491 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:38:02,696.696 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:38:02,753.753 INFO    ] time= 20/10/2026 01:38:02
[2026-10-20 01:38:02,825.825 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:38:02,849.849 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:38:03,051.051 INFO    ] No existing commands found in stream
[2026-10-20 01:38:08,082.082 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:38:08,085.085 INFO    ] Waiting 3.38 seconds before fallback handling...
[2026-10-20 01:38:12,025.025 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:38:12,028.028 INFO    ] Checking for system updates...
[2026-10-20 01:38:12,082.082 INFO    ] 200
[2026-10-20 01:38:12,086.086 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 01:38:12,089.089 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-10-20 01:38:12,092.092 INFO    ] Checking for camera pi updates...
[2026-10-20 01:38:12,133.133 INFO    ] 200
[2026-10-20 01:38:12,136.136 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 01:38:12,139.139 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-10-20 01:38:12,142.142 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:38:12,145.145 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:38:12,153.153 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:38:12,159.159 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:38:14,201.201 INFO    ] ================================================
[2026-10-20 01:38:14,216.216 INFO    ] Launching Daemon at Tue Oct 20 01:38:14 IST 2026
[2026-10-20 01:38:14,227.227 INFO    ] ================================================
[2026-10-20 01:38:14,853.853 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:38:14
[2026-10-20 01:38:15,439.439 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:38:15,704.704 INFO    ] Initializing speech engine...
[2026-10-20 01:38:15,710.710 INFO    ] 2026-10-20 01:38:15
[2026-10-20 01:38:16,009.009 INFO    ] 2026-10-20 01:38:15
[2026-10-20 01:38:16,047.047 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:38:16,271.271 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:38:16,328.328 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:38:16,550.550 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:38:16,593.593 INFO    ] time= 20/10/2026 01:38:16
[2026-10-20 01:38:16,599.599 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:38:16,617.617 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:38:16,746.746 INFO    ] No existing commands found in stream
[2026-10-20 01:38:21,760.760 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:38:21,763.763 INFO    ] Waiting 0.67 seconds before fallback handling...
[2026-10-20 01:38:22,955.955 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 01:38:22,958.958 INFO    ] Checking for system updates...
[2026-10-20 01:38:22,995.995 INFO    ] 200
[2026-10-20 01:38:22,998.998 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:38:23,059.059 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:38:23,062.062 INFO    ] No update needed
[2026-10-20 01:38:23,065.065 INFO    ] Checking for camera pi updates...
[2026-10-20 01:38:23,104.104 INFO    ] 200
[2026-10-20 01:38:23,106.106 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:38:23,153.153 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:38:23,209.209 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:38:23,212.212 INFO    ] No camera update needed
[2026-10-20 01:38:23,215.215 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:38:23,218.218 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:38:23,224.224 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:38:23,230.230 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:38:25,276.276 INFO    ] ================================================
[2026-10-20 01:38:25,291.291 INFO    ] Launching Daemon at Tue Oct 20 01:38:25 IST 2026
[2026-10-20 01:38:25,302.302 INFO    ] ================================================
[2026-10-20 01:38:25,905.905 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:38:25
[2026-10-20 01:38:26,507.507 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:38:26,754.754 INFO    ] Initializing speech engine...
[2026-10-20 01:38:26,760.760 INFO    ] 2026-10-20 01:38:26
[2026-10-20 01:38:27,068.068 INFO    ] 2026-10-20 01:38:27
[2026-10-20 01:38:27,104.104 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:38:27,307.307 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:38:27,320.320 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:38:27,485.485 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:38:27,494.494 INFO    ] time= 20/10/2026 01:38:27
[2026-10-20 01:38:27,499.499 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:38:27,506.506 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:38:27,584.584 INFO    ] No existing commands found in stream
[2026-10-20 01:38:32,620.620 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:38:32,623.623 INFO    ] Waiting 3.37 seconds before fallback handling...
[2026-10-20 01:38:36,505.505 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 01:38:36,507.507 INFO    ] Checking for system updates...
[2026-10-20 01:38:36,544.544 INFO    ] 200
[2026-10-20 01:38:36,546.546 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:38:36,599.599 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:38:36,601.601 INFO    ] No update needed
[2026-10-20 01:38:36,604.604 INFO    ] Checking for camera pi updates...
[2026-10-20 01:38:36,637.637 INFO    ] 200
[2026-10-20 01:38:36,640.640 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:38:36,681.681 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:38:36,714.714 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:38:36,717.717 INFO    ] No camera update needed
[2026-10-20 01:38:36,719.719 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:38:36,722.722 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:38:36,727.727 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:38:36,732.732 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:38:38,772.772 INFO    ] ================================================
[2026-10-20 01:38:38,787.787 INFO    ] Launching Daemon at Tue Oct 20 01:38:38 IST 2026
[2026-10-20 01:38:38,798.798 INFO    ] ================================================
[2026-10-20 01:38:39,370.370 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:38:39
[2026-10-20 01:38:39,958.958 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:38:40,230.230 INFO    ] Initializing speech engine...
[2026-10-20 01:38:40,238.238 INFO    ] 2026-10-20 01:38:40
[2026-10-20 01:38:40,491.491 INFO    ] 2026-10-20 01:38:40
[2026-10-20 01:38:40,564.564 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:38:40,790.790 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:38:40,800.800 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:38:40,937.937 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:38:41,007.007 INFO    ] time= 20/10/2026 01:38:40
[2026-10-20 01:38:41,068.068 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:38:41,074.074 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:38:41,203.203 INFO    ] No existing commands found in stream
[2026-10-20 01:38:46,231.231 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:38:46,234.234 INFO    ] Waiting 1.28 seconds before fallback handling...
[2026-10-20 01:38:48,012.012 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:38:48,014.014 INFO    ] Checking for system updates...
[2026-10-20 01:38:48,049.049 INFO    ] 200
[2026-10-20 01:38:48,052.052 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:38:48,103.103 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:38:48,105.105 INFO    ] No update needed
[2026-10-20 01:38:48,107.107 INFO    ] Checking for camera pi updates...
[2026-10-20 01:38:48,140.140 INFO    ] 200
[2026-10-20 01:38:48,143.143 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:38:48,182.182 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:38:48,245.245 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:38:48,287.287 INFO    ] No camera update needed
[2026-10-20 01:38:48,289.289 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:38:48,292.292 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:38:48,297.297 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:38:48,302.302 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:38:50,343.343 INFO    ] ================================================
[2026-10-20 01:38:50,359.359 INFO    ] Launching Daemon at Tue Oct 20 01:38:50 IST 2026
[2026-10-20 01:38:50,370.370 INFO    ] ================================================
[2026-10-20 01:38:50,996.996 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:38:50
[2026-10-20 01:38:51,595.595 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:38:51,869.869 INFO    ] Initializing speech engine...
[2026-10-20 01:38:51,879.879 INFO    ] 2026-10-20 01:38:51
[2026-10-20 01:38:52,127.127 INFO    ] 2026-10-20 01:38:52
[2026-10-20 01:38:52,163.163 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:38:52,416.416 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:38:52,425.425 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:38:52,649.649 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:38:52,685.685 INFO    ] time= 20/10/2026 01:38:52
[2026-10-20 01:38:52,702.702 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:38:52,711.711 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:38:52,838.838 INFO    ] No existing commands found in stream
[2026-10-20 01:38:57,851.851 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:38:57,854.854 INFO    ] Waiting 2.61 seconds before fallback handling...
[2026-10-20 01:39:00,959.959 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 01:39:00,962.962 INFO    ] Checking for system updates...
[2026-10-20 01:39:00,998.998 INFO    ] 200
[2026-10-20 01:39:01,000.000 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:39:01,053.053 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:39:01,056.056 INFO    ] No update needed
[2026-10-20 01:39:01,059.059 INFO    ] Checking for camera pi updates...
[2026-10-20 01:39:01,096.096 INFO    ] 200
[2026-10-20 01:39:01,099.099 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:39:01,139.139 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:39:01,199.199 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:39:01,202.202 INFO    ] No camera update needed
[2026-10-20 01:39:01,204.204 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:39:01,206.206 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:39:01,212.212 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:39:01,217.217 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:39:03,264.264 INFO    ] ================================================
[2026-10-20 01:39:03,286.286 INFO    ] Launching Daemon at Tue Oct 20 01:39:03 IST 2026
[2026-10-20 01:39:03,304.304 INFO    ] ================================================
[2026-10-20 01:39:03,964.964 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:39:03
[2026-10-20 01:39:04,559.559 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:39:04,806.806 INFO    ] Initializing speech engine...
[2026-10-20 01:39:04,821.821 INFO    ] 2026-10-20 01:39:04
[2026-10-20 01:39:05,085.085 INFO    ] 2026-10-20 01:39:05
[2026-10-20 01:39:05,120.120 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:39:05,355.355 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:39:05,382.382 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:39:05,600.600 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:39:05,653.653 INFO    ] time= 20/10/2026 01:39:05
[2026-10-20 01:39:05,660.660 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:39:05,681.681 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:39:05,801.801 INFO    ] No existing commands found in stream
[2026-10-20 01:39:10,822.822 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:39:10,825.825 INFO    ] Waiting 0.30 seconds before fallback handling...
[2026-10-20 01:39:11,624.624 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:39:11,626.626 INFO    ] Checking for system updates...
[2026-10-20 01:39:11,663.663 INFO    ] 200
[2026-10-20 01:39:11,666.666 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:39:11,719.719 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:39:11,722.722 INFO    ] No update needed
[2026-10-20 01:39:11,725.725 INFO    ] Checking for camera pi updates...
[2026-10-20 01:39:11,760.760 INFO    ] 200
[2026-10-20 01:39:11,763.763 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:39:11,804.804 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:39:11,847.847 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:39:11,850.850 INFO    ] No camera update needed
[2026-10-20 01:39:11,853.853 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:39:11,855.855 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:39:11,862.862 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:39:11,868.868 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:39:13,910.910 INFO    ] ================================================
[2026-10-20 01:39:13,925.925 INFO    ] Launching Daemon at Tue Oct 20 01:39:13 IST 2026
[2026-10-20 01:39:13,937.937 INFO    ] ================================================
[2026-10-20 01:39:14,503.503 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:39:14
[2026-10-20 01:39:15,087.087 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:39:15,339.339 INFO    ] Initializing speech engine...
[2026-10-20 01:39:15,353.353 INFO    ] 2026-10-20 01:39:15
[2026-10-20 01:39:15,619.619 INFO    ] 2026-10-20 01:39:15
[2026-10-20 01:39:15,687.687 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:39:15,917.917 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:39:15,927.927 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:39:16,073.073 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:39:16,076.076 INFO    ] time= 20/10/2026 01:39:16
[2026-10-20 01:39:16,079.079 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:39:16,133.133 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:39:16,249.249 INFO    ] No existing commands found in stream
[2026-10-20 01:39:21,261.261 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:39:21,264.264 INFO    ] Waiting 0.92 seconds before fallback handling...
[2026-10-20 01:39:22,704.704 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:39:22,706.706 INFO    ] Checking for system updates...
[2026-10-20 01:39:22,743.743 INFO    ] 200
[2026-10-20 01:39:22,746.746 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:39:22,808.808 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:39:22,812.812 INFO    ] No update needed
[2026-10-20 01:39:22,815.815 INFO    ] Checking for camera pi updates...
[2026-10-20 01:39:22,855.855 INFO    ] 200
[2026-10-20 01:39:22,858.858 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:39:22,905.905 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:39:22,957.957 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:39:22,960.960 INFO    ] No camera update needed
[2026-10-20 01:39:22,963.963 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:39:22,965.965 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:39:22,972.972 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:39:22,978.978 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:39:25,019.019 INFO    ] ================================================
[2026-10-20 01:39:25,034.034 INFO    ] Launching Daemon at Tue Oct 20 01:39:25 IST 2026
[2026-10-20 01:39:25,046.046 INFO    ] ================================================
[2026-10-20 01:39:25,635.635 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:39:25
[2026-10-20 01:39:26,282.282 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:39:26,550.550 INFO    ] Initializing speech engine...
[2026-10-20 01:39:26,560.560 INFO    ] 2026-10-20 01:39:26
[2026-10-20 01:39:26,806.806 INFO    ] 2026-10-20 01:39:26
[2026-10-20 01:39:26,841.841 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:39:27,095.095 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:39:27,101.101 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:39:27,340.340 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:39:27,358.358 INFO    ] time= 20/10/2026 01:39:27
[2026-10-20 01:39:27,377.377 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:39:27,383.383 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:39:27,530.530 INFO    ] No existing commands found in stream
[2026-10-20 01:39:32,560.560 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:39:32,563.563 INFO    ] Waiting 1.66 seconds before fallback handling...
[2026-10-20 01:39:34,774.774 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 01:39:34,777.777 INFO    ] Checking for system updates...
[2026-10-20 01:39:34,813.813 INFO    ] 200
[2026-10-20 01:39:34,816.816 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:39:34,878.878 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:39:34,881.881 INFO    ] No update needed
[2026-10-20 01:39:34,885.885 INFO    ] Checking for camera pi updates...
[2026-10-20 01:39:34,928.928 INFO    ] 200
[2026-10-20 01:39:34,931.931 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:39:34,983.983 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:39:35,037.037 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:39:35,040.040 INFO    ] No camera update needed
[2026-10-20 01:39:35,043.043 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:39:35,046.046 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:39:35,052.052 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:39:35,059.059 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:39:37,100.100 INFO    ] ================================================
[2026-10-20 01:39:37,116.116 INFO    ] Launching Daemon at Tue Oct 20 01:39:37 IST 2026
[2026-10-20 01:39:37,127.127 INFO    ] ================================================
[2026-10-20 01:39:37,806.806 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:39:37
[2026-10-20 01:39:38,428.428 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:39:38,687.687 INFO    ] Initializing speech engine...
[2026-10-20 01:39:38,702.702 INFO    ] 2026-10-20 01:39:38
[2026-10-20 01:39:38,959.959 INFO    ] 2026-10-20 01:39:38
[2026-10-20 01:39:38,993.993 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:39:39,254.254 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:39:39,268.268 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:39:39,426.426 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:39:39,459.459 INFO    ] time= 20/10/2026 01:39:39
[2026-10-20 01:39:39,509.509 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:39:39,559.559 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:39:39,653.653 INFO    ] No existing commands found in stream
[2026-10-20 01:39:44,664.664 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:39:44,667.667 INFO    ] Waiting 2.23 seconds before fallback handling...
[2026-10-20 01:39:47,425.425 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 01:39:47,428.428 INFO    ] Checking for system updates...
[2026-10-20 01:39:47,464.464 INFO    ] 200
[2026-10-20 01:39:47,466.466 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:39:47,523.523 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:39:47,525.525 INFO    ] No update needed
[2026-10-20 01:39:47,528.528 INFO    ] Checking for camera pi updates...
[2026-10-20 01:39:47,561.561 INFO    ] 200
[2026-10-20 01:39:47,564.564 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:39:47,607.607 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:39:47,654.654 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:39:47,656.656 INFO    ] No camera update needed
[2026-10-20 01:39:47,659.659 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:39:47,661.661 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:39:47,666.666 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:39:47,671.671 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:39:49,711.711 INFO    ] ================================================
[2026-10-20 01:39:49,727.727 INFO    ] Launching Daemon at Tue Oct 20 01:39:49 IST 2026
[2026-10-20 01:39:49,738.738 INFO    ] ================================================
[2026-10-20 01:39:50,422.422 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:39:50
[2026-10-20 01:39:51,078.078 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:39:51,346.346 INFO    ] Initializing speech engine...
[2026-10-20 01:39:51,356.356 INFO    ] 2026-10-20 01:39:51
[2026-10-20 01:39:51,614.614 INFO    ] 2026-10-20 01:39:51
[2026-10-20 01:39:51,644.644 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:39:51,888.888 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:39:51,897.897 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:39:52,097.097 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:39:52,147.147 INFO    ] time= 20/10/2026 01:39:52
[2026-10-20 01:39:52,161.161 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:39:52,179.179 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:39:52,318.318 INFO    ] No existing commands found in stream
[2026-10-20 01:39:57,348.348 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:39:57,351.351 INFO    ] Waiting 1.65 seconds before fallback handling...
[2026-10-20 01:39:59,500.500 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:39:59,503.503 INFO    ] Checking for system updates...
[2026-10-20 01:39:59,538.538 INFO    ] 200
[2026-10-20 01:39:59,541.541 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:39:59,593.593 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:39:59,595.595 INFO    ] No update needed
[2026-10-20 01:39:59,597.597 INFO    ] Checking for camera pi updates...
[2026-10-20 01:39:59,630.630 INFO    ] 200
[2026-10-20 01:39:59,633.633 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:39:59,673.673 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:39:59,720.720 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:39:59,722.722 INFO    ] No camera update needed
[2026-10-20 01:39:59,724.724 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:39:59,727.727 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:39:59,732.732 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:39:59,737.737 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:40:01,784.784 INFO    ] ================================================
[2026-10-20 01:40:01,822.822 INFO    ] Launching Daemon at Tue Oct 20 01:40:01 IST 2026
[2026-10-20 01:40:01,852.852 INFO    ] ================================================
[2026-10-20 01:40:02,499.499 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:40:02
[2026-10-20 01:40:03,192.192 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:40:03,512.512 INFO    ] Initializing speech engine...
[2026-10-20 01:40:03,521.521 INFO    ] 2026-10-20 01:40:03
[2026-10-20 01:40:03,792.792 INFO    ] 2026-10-20 01:40:03
[2026-10-20 01:40:03,829.829 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:40:04,026.026 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:40:04,040.040 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:40:04,204.204 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:40:04,212.212 INFO    ] time= 20/10/2026 01:40:04
[2026-10-20 01:40:04,217.217 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:40:04,224.224 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:40:04,300.300 INFO    ] No existing commands found in stream
[2026-10-20 01:40:09,311.311 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:40:09,314.314 INFO    ] Waiting 0.30 seconds before fallback handling...
[2026-10-20 01:40:10,139.139 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:40:10,141.141 INFO    ] Checking for system updates...
[2026-10-20 01:40:10,181.181 INFO    ] 200
[2026-10-20 01:40:10,184.184 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:40:10,236.236 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:40:10,239.239 INFO    ] No update needed
[2026-10-20 01:40:10,241.241 INFO    ] Checking for camera pi updates...
[2026-10-20 01:40:10,274.274 INFO    ] 200
[2026-10-20 01:40:10,277.277 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:40:10,322.322 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:40:10,465.465 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:40:10,468.468 INFO    ] No camera update needed
[2026-10-20 01:40:10,470.470 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:40:10,473.473 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:40:10,478.478 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:40:10,483.483 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:40:12,524.524 INFO    ] ================================================
[2026-10-20 01:40:12,539.539 INFO    ] Launching Daemon at Tue Oct 20 01:40:12 IST 2026
[2026-10-20 01:40:12,550.550 INFO    ] ================================================
[2026-10-20 01:40:13,119.119 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:40:13
[2026-10-20 01:40:13,703.703 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:40:13,954.954 INFO    ] Initializing speech engine...
[2026-10-20 01:40:13,977.977 INFO    ] 2026-10-20 01:40:13
[2026-10-20 01:40:14,232.232 INFO    ] 2026-10-20 01:40:14
[2026-10-20 01:40:14,267.267 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:40:14,521.521 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:40:14,530.530 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:40:14,735.735 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:40:14,790.790 INFO    ] time= 20/10/2026 01:40:14
[2026-10-20 01:40:14,800.800 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:40:14,818.818 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:40:14,932.932 INFO    ] No existing commands found in stream
[2026-10-20 01:40:19,941.941 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:40:19,944.944 INFO    ] Waiting 0.92 seconds before fallback handling...
[2026-10-20 01:40:21,438.438 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 01:40:21,441.441 INFO    ] Checking for system updates...
[2026-10-20 01:40:21,481.481 INFO    ] 200
[2026-10-20 01:40:21,483.483 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:40:21,534.534 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:40:21,537.537 INFO    ] No update needed
[2026-10-20 01:40:21,539.539 INFO    ] Checking for camera pi updates...
[2026-10-20 01:40:21,574.574 INFO    ] 200
[2026-10-20 01:40:21,576.576 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:40:21,616.616 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:40:21,668.668 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:40:21,671.671 INFO    ] No camera update needed
[2026-10-20 01:40:21,673.673 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:40:21,675.675 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:40:21,681.681 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:40:21,686.686 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:40:23,730.730 INFO    ] ================================================
[2026-10-20 01:40:23,750.750 INFO    ] Launching Daemon at Tue Oct 20 01:40:23 IST 2026
[2026-10-20 01:40:23,762.762 INFO    ] ================================================
[2026-10-20 01:40:24,330.330 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:40:24
[2026-10-20 01:40:24,912.912 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:40:25,195.195 INFO    ] Initializing speech engine...
[2026-10-20 01:40:25,200.200 INFO    ] 2026-10-20 01:40:25
[2026-10-20 01:40:25,451.451 INFO    ] 2026-10-20 01:40:25
[2026-10-20 01:40:25,486.486 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:40:25,738.738 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:40:25,741.741 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:40:25,891.891 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:40:25,951.951 INFO    ] time= 20/10/2026 01:40:25
[2026-10-20 01:40:26,011.011 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:40:26,026.026 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:40:26,169.169 INFO    ] No existing commands found in stream
[2026-10-20 01:40:31,181.181 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:40:31,185.185 INFO    ] Waiting 2.30 seconds before fallback handling...
[2026-10-20 01:40:34,011.011 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:40:34,014.014 INFO    ] Checking for system updates...
[2026-10-20 01:40:34,050.050 INFO    ] 200
[2026-10-20 01:40:34,052.052 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:40:34,111.111 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:40:34,114.114 INFO    ] No update needed
[2026-10-20 01:40:34,116.116 INFO    ] Checking for camera pi updates...
[2026-10-20 01:40:34,149.149 INFO    ] 200
[2026-10-20 01:40:34,151.151 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:40:34,193.193 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:40:34,247.247 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:40:34,250.250 INFO    ] No camera update needed
[2026-10-20 01:40:34,252.252 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:40:34,255.255 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:40:34,261.261 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:40:34,265.265 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:40:36,305.305 INFO    ] ================================================
[2026-10-20 01:40:36,321.321 INFO    ] Launching Daemon at Tue Oct 20 01:40:36 IST 2026
[2026-10-20 01:40:36,332.332 INFO    ] ================================================
[2026-10-20 01:40:36,969.969 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:40:36
[2026-10-20 01:40:37,652.652 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:40:37,960.960 INFO    ] Initializing speech engine...
[2026-10-20 01:40:37,967.967 INFO    ] 2026-10-20 01:40:37
[2026-10-20 01:40:38,254.254 INFO    ] 2026-10-20 01:40:38
[2026-10-20 01:40:38,301.301 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:40:38,572.572 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:40:38,591.591 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:40:38,787.787 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:40:38,794.794 INFO    ] time= 20/10/2026 01:40:38
[2026-10-20 01:40:38,816.816 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:40:38,843.843 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:40:38,974.974 INFO    ] No existing commands found in stream
[2026-10-20 01:40:44,005.005 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:40:44,008.008 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-10-20 01:40:45,637.637 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:40:45,640.640 INFO    ] Checking for system updates...
[2026-10-20 01:40:45,682.682 INFO    ] 200
[2026-10-20 01:40:45,685.685 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:40:45,746.746 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:40:45,749.749 INFO    ] No update needed
[2026-10-20 01:40:45,752.752 INFO    ] Checking for camera pi updates...
[2026-10-20 01:40:45,787.787 INFO    ] 200
[2026-10-20 01:40:45,790.790 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:40:45,831.831 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:40:45,881.881 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:40:45,884.884 INFO    ] No camera update needed
[2026-10-20 01:40:45,887.887 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:40:45,890.890 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:40:45,896.896 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:40:45,902.902 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:40:47,942.942 INFO    ] ================================================
[2026-10-20 01:40:47,957.957 INFO    ] Launching Daemon at Tue Oct 20 01:40:47 IST 2026
[2026-10-20 01:40:47,968.968 INFO    ] ================================================
[2026-10-20 01:40:48,633.633 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:40:48
[2026-10-20 01:40:49,320.320 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:40:49,636.636 INFO    ] Initializing speech engine...
[2026-10-20 01:40:49,641.641 INFO    ] 2026-10-20 01:40:49
[2026-10-20 01:40:49,952.952 INFO    ] 2026-10-20 01:40:49
[2026-10-20 01:40:50,037.037 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:40:50,257.257 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:40:50,319.319 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:40:50,474.474 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:40:50,503.503 INFO    ] time= 20/10/2026 01:40:50
[2026-10-20 01:40:50,514.514 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:40:50,566.566 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:40:50,700.700 INFO    ] No existing commands found in stream
[2026-10-20 01:40:55,724.724 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:40:55,727.727 INFO    ] Waiting 0.28 seconds before fallback handling...
[2026-10-20 01:40:56,568.568 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:40:56,571.571 INFO    ] Checking for system updates...
[2026-10-20 01:40:56,608.608 INFO    ] 200
[2026-10-20 01:40:56,611.611 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:40:56,672.672 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:40:56,675.675 INFO    ] No update needed
[2026-10-20 01:40:56,678.678 INFO    ] Checking for camera pi updates...
[2026-10-20 01:40:56,712.712 INFO    ] 200
[2026-10-20 01:40:56,715.715 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:40:56,758.758 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:40:56,814.814 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:40:56,817.817 INFO    ] No camera update needed
[2026-10-20 01:40:56,820.820 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:40:56,822.822 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:40:56,829.829 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:40:56,835.835 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:40:58,877.877 INFO    ] ================================================
[2026-10-20 01:40:58,893.893 INFO    ] Launching Daemon at Tue Oct 20 01:40:58 IST 2026
[2026-10-20 01:40:58,904.904 INFO    ] ================================================
[2026-10-20 01:40:59,472.472 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:40:59
[2026-10-20 01:41:00,055.055 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:41:00,327.327 INFO    ] Initializing speech engine...
[2026-10-20 01:41:00,333.333 INFO    ] 2026-10-20 01:41:00
[2026-10-20 01:41:00,591.591 INFO    ] 2026-10-20 01:41:00
[2026-10-20 01:41:00,645.645 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:41:00,871.871 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:41:00,876.876 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:41:01,008.008 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:41:01,083.083 INFO    ] time= 20/10/2026 01:41:01
[2026-10-20 01:41:01,132.132 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:41:01,142.142 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:41:01,302.302 INFO    ] No existing commands found in stream
[2026-10-20 01:41:06,320.320 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:41:06,323.323 INFO    ] Waiting 3.83 seconds before fallback handling...
[2026-10-20 01:41:10,671.671 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:41:10,674.674 INFO    ] Checking for system updates...
[2026-10-20 01:41:10,713.713 INFO    ] 200
[2026-10-20 01:41:10,715.715 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:41:10,766.766 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:41:10,769.769 INFO    ] No update needed
[2026-10-20 01:41:10,771.771 INFO    ] Checking for camera pi updates...
[2026-10-20 01:41:10,804.804 INFO    ] 200
[2026-10-20 01:41:10,807.807 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:41:10,846.846 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:41:10,896.896 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:41:10,898.898 INFO    ] No camera update needed
[2026-10-20 01:41:10,900.900 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:41:10,903.903 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:41:10,908.908 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:41:10,913.913 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:41:12,956.956 INFO    ] ================================================
[2026-10-20 01:41:12,971.971 INFO    ] Launching Daemon at Tue Oct 20 01:41:12 IST 2026
[2026-10-20 01:41:12,982.982 INFO    ] ================================================
[2026-10-20 01:41:13,566.566 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:41:13
[2026-10-20 01:41:14,161.161 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:41:14,436.436 INFO    ] Initializing speech engine...
[2026-10-20 01:41:14,446.446 INFO    ] 2026-10-20 01:41:14
[2026-10-20 01:41:14,690.690 INFO    ] 2026-10-20 01:41:14
[2026-10-20 01:41:14,725.725 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:41:14,928.928 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:41:14,981.981 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:41:15,124.124 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:41:15,183.183 INFO    ] time= 20/10/2026 01:41:15
[2026-10-20 01:41:15,237.237 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:41:15,258.258 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:41:15,389.389 INFO    ] No existing commands found in stream
[2026-10-20 01:41:20,413.413 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:41:20,416.416 INFO    ] Waiting 1.86 seconds before fallback handling...
[2026-10-20 01:41:22,784.784 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 01:41:22,787.787 INFO    ] Checking for system updates...
[2026-10-20 01:41:22,822.822 INFO    ] 200
[2026-10-20 01:41:22,825.825 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:41:22,876.876 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:41:22,879.879 INFO    ] No update needed
[2026-10-20 01:41:22,881.881 INFO    ] Checking for camera pi updates...
[2026-10-20 01:41:22,917.917 INFO    ] 200
[2026-10-20 01:41:22,920.920 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:41:22,965.965 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:41:23,026.026 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:41:23,029.029 INFO    ] No camera update needed
[2026-10-20 01:41:23,031.031 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:41:23,034.034 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:41:23,039.039 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:41:23,044.044 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:41:25,091.091 INFO    ] ================================================
[2026-10-20 01:41:25,107.107 INFO    ] Launching Daemon at Tue Oct 20 01:41:25 IST 2026
[2026-10-20 01:41:25,118.118 INFO    ] ================================================
[2026-10-20 01:41:25,685.685 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:41:25
[2026-10-20 01:41:26,269.269 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:41:26,540.540 INFO    ] Initializing speech engine...
[2026-10-20 01:41:26,551.551 INFO    ] 2026-10-20 01:41:26
[2026-10-20 01:41:26,796.796 INFO    ] 2026-10-20 01:41:26
[2026-10-20 01:41:26,836.836 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:41:27,081.081 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:41:27,091.091 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:41:27,231.231 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:41:27,290.290 INFO    ] time= 20/10/2026 01:41:27
[2026-10-20 01:41:27,344.344 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:41:27,360.360 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:41:27,507.507 INFO    ] No existing commands found in stream
[2026-10-20 01:41:32,526.526 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:41:32,530.530 INFO    ] Waiting 1.90 seconds before fallback handling...
[2026-10-20 01:41:34,935.935 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 01:41:34,938.938 INFO    ] Checking for system updates...
[2026-10-20 01:41:34,973.973 INFO    ] 200
[2026-10-20 01:41:34,975.975 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:41:35,027.027 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:41:35,029.029 INFO    ] No update needed
[2026-10-20 01:41:35,032.032 INFO    ] Checking for camera pi updates...
[2026-10-20 01:41:35,066.066 INFO    ] 200
[2026-10-20 01:41:35,068.068 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:41:35,109.109 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:41:35,154.154 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:41:35,156.156 INFO    ] No camera update needed
[2026-10-20 01:41:35,159.159 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:41:35,161.161 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:41:35,166.166 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:41:35,171.171 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:41:37,213.213 INFO    ] ================================================
[2026-10-20 01:41:37,229.229 INFO    ] Launching Daemon at Tue Oct 20 01:41:37 IST 2026
[2026-10-20 01:41:37,240.240 INFO    ] ================================================
[2026-10-20 01:41:37,905.905 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:41:37
[2026-10-20 01:41:38,585.585 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:41:38,889.889 INFO    ] Initializing speech engine...
[2026-10-20 01:41:38,897.897 INFO    ] 2026-10-20 01:41:38
[2026-10-20 01:41:39,188.188 INFO    ] 2026-10-20 01:41:39
[2026-10-20 01:41:39,226.226 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:41:39,477.477 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:41:39,496.496 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:41:39,700.700 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:41:39,720.720 INFO    ] time= 20/10/2026 01:41:39
[2026-10-20 01:41:39,739.739 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:41:39,768.768 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:41:39,876.876 INFO    ] No existing commands found in stream
[2026-10-20 01:41:44,900.900 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:41:44,903.903 INFO    ] Waiting 1.95 seconds before fallback handling...
[2026-10-20 01:41:47,379.379 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:41:47,382.382 INFO    ] Checking for system updates...
[2026-10-20 01:41:47,419.419 INFO    ] 200
[2026-10-20 01:41:47,421.421 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:41:47,482.482 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:41:47,485.485 INFO    ] No update needed
[2026-10-20 01:41:47,488.488 INFO    ] Checking for camera pi updates...
[2026-10-20 01:41:47,522.522 INFO    ] 200
[2026-10-20 01:41:47,525.525 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:41:47,567.567 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:41:47,625.625 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:41:47,628.628 INFO    ] No camera update needed
[2026-10-20 01:41:47,631.631 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:41:47,634.634 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:41:47,640.640 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:41:47,646.646 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:41:49,687.687 INFO    ] ================================================
[2026-10-20 01:41:49,703.703 INFO    ] Launching Daemon at Tue Oct 20 01:41:49 IST 2026
[2026-10-20 01:41:49,715.715 INFO    ] ================================================
[2026-10-20 01:41:50,298.298 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:41:50
[2026-10-20 01:41:50,897.897 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:41:51,169.169 INFO    ] Initializing speech engine...
[2026-10-20 01:41:51,178.178 INFO    ] 2026-10-20 01:41:51
[2026-10-20 01:41:51,442.442 INFO    ] 2026-10-20 01:41:51
[2026-10-20 01:41:51,494.494 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:41:51,721.721 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:41:51,727.727 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:41:51,946.946 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:41:51,982.982 INFO    ] time= 20/10/2026 01:41:51
[2026-10-20 01:41:51,988.988 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:41:52,006.006 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:41:52,133.133 INFO    ] No existing commands found in stream
[2026-10-20 01:41:57,148.148 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:41:57,151.151 INFO    ] Waiting 3.08 seconds before fallback handling...
[2026-10-20 01:42:00,749.749 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:42:00,751.751 INFO    ] Checking for system updates...
[2026-10-20 01:42:00,789.789 INFO    ] 200
[2026-10-20 01:42:00,791.791 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:42:00,844.844 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:42:00,847.847 INFO    ] No update needed
[2026-10-20 01:42:00,850.850 INFO    ] Checking for camera pi updates...
[2026-10-20 01:42:00,883.883 INFO    ] 200
[2026-10-20 01:42:00,886.886 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:42:00,925.925 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:42:00,973.973 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:42:00,976.976 INFO    ] No camera update needed
[2026-10-20 01:42:00,978.978 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:42:00,981.981 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:42:00,986.986 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:42:00,991.991 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:42:03,044.044 INFO    ] ================================================
[2026-10-20 01:42:03,066.066 INFO    ] Launching Daemon at Tue Oct 20 01:42:03 IST 2026
[2026-10-20 01:42:03,080.080 INFO    ] ================================================
[2026-10-20 01:42:03,723.723 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:42:03
[2026-10-20 01:42:04,317.317 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:42:04,576.576 INFO    ] Initializing speech engine...
[2026-10-20 01:42:04,601.601 INFO    ] 2026-10-20 01:42:04
[2026-10-20 01:42:04,874.874 INFO    ] 2026-10-20 01:42:04
[2026-10-20 01:42:04,909.909 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:42:05,103.103 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:42:05,119.119 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:42:05,278.278 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:42:05,288.288 INFO    ] time= 20/10/2026 01:42:05
[2026-10-20 01:42:05,294.294 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:42:05,300.300 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:42:05,453.453 INFO    ] No existing commands found in stream
[2026-10-20 01:42:10,473.473 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:42:10,475.475 INFO    ] Waiting 1.64 seconds before fallback handling...
[2026-10-20 01:42:12,623.623 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 01:42:12,626.626 INFO    ] Checking for system updates...
[2026-10-20 01:42:12,664.664 INFO    ] 200
[2026-10-20 01:42:12,666.666 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:42:12,718.718 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:42:12,721.721 INFO    ] No update needed
[2026-10-20 01:42:12,723.723 INFO    ] Checking for camera pi updates...
[2026-10-20 01:42:12,756.756 INFO    ] 200
[2026-10-20 01:42:12,758.758 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:42:12,807.807 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:42:12,954.954 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:42:12,957.957 INFO    ] No camera update needed
[2026-10-20 01:42:12,959.959 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:42:12,962.962 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:42:12,967.967 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:42:12,972.972 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:42:15,014.014 INFO    ] ================================================
[2026-10-20 01:42:15,029.029 INFO    ] Launching Daemon at Tue Oct 20 01:42:15 IST 2026
[2026-10-20 01:42:15,040.040 INFO    ] ================================================
[2026-10-20 01:42:15,615.615 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:42:15
[2026-10-20 01:42:16,198.198 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:42:16,450.450 INFO    ] Initializing speech engine...
[2026-10-20 01:42:16,473.473 INFO    ] 2026-10-20 01:42:16
[2026-10-20 01:42:16,728.728 INFO    ] 2026-10-20 01:42:16
[2026-10-20 01:42:16,763.763 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:42:16,958.958 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:42:16,965.965 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:42:17,161.161 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:42:17,203.203 INFO    ] time= 20/10/2026 01:42:17
[2026-10-20 01:42:17,257.257 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:42:17,298.298 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:42:17,449.449 INFO    ] No existing commands found in stream
[2026-10-20 01:42:22,461.461 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:42:22,464.464 INFO    ] Waiting 2.53 seconds before fallback handling...
[2026-10-20 01:42:26,253.253 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 01:42:26,256.256 INFO    ] Checking for system updates...
[2026-10-20 01:42:26,292.292 INFO    ] 200
[2026-10-20 01:42:26,295.295 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:42:26,347.347 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:42:26,350.350 INFO    ] No update needed
[2026-10-20 01:42:26,353.353 INFO    ] Checking for camera pi updates...
[2026-10-20 01:42:26,386.386 INFO    ] 200
[2026-10-20 01:42:26,389.389 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:42:26,430.430 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:42:26,475.475 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:42:26,478.478 INFO    ] No camera update needed
[2026-10-20 01:42:26,480.480 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:42:26,483.483 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:42:26,488.488 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:42:26,493.493 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:42:28,533.533 INFO    ] ================================================
[2026-10-20 01:42:28,549.549 INFO    ] Launching Daemon at Tue Oct 20 01:42:28 IST 2026
[2026-10-20 01:42:28,560.560 INFO    ] ================================================
[2026-10-20 01:42:29,133.133 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:42:29
[2026-10-20 01:42:29,724.724 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:42:29,993.993 INFO    ] Initializing speech engine...
[2026-10-20 01:42:30,002.002 INFO    ] 2026-10-20 01:42:29
[2026-10-20 01:42:30,249.249 INFO    ] 2026-10-20 01:42:30
[2026-10-20 01:42:30,284.284 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:42:30,481.481 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:42:30,536.536 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:42:30,749.749 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:42:30,803.803 INFO    ] time= 20/10/2026 01:42:30
[2026-10-20 01:42:30,810.810 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:42:30,826.826 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:42:30,971.971 INFO    ] No existing commands found in stream
[2026-10-20 01:42:36,002.002 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:42:36,005.005 INFO    ] Waiting 2.96 seconds before fallback handling...
[2026-10-20 01:42:39,507.507 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:42:39,510.510 INFO    ] Checking for system updates...
[2026-10-20 01:42:39,549.549 INFO    ] 200
[2026-10-20 01:42:39,551.551 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:42:39,602.602 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:42:39,604.604 INFO    ] No update needed
[2026-10-20 01:42:39,607.607 INFO    ] Checking for camera pi updates...
[2026-10-20 01:42:39,639.639 INFO    ] 200
[2026-10-20 01:42:39,642.642 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:42:39,687.687 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:42:39,736.736 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:42:39,738.738 INFO    ] No camera update needed
[2026-10-20 01:42:39,740.740 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:42:39,743.743 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:42:39,748.748 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:42:39,753.753 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:42:41,795.795 INFO    ] ================================================
[2026-10-20 01:42:41,811.811 INFO    ] Launching Daemon at Tue Oct 20 01:42:41 IST 2026
[2026-10-20 01:42:41,822.822 INFO    ] ================================================
[2026-10-20 01:42:42,399.399 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:42:42
[2026-10-20 01:42:42,984.984 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:42:43,243.243 INFO    ] Initializing speech engine...
[2026-10-20 01:42:43,267.267 INFO    ] 2026-10-20 01:42:43
[2026-10-20 01:42:43,537.537 INFO    ] 2026-10-20 01:42:43
[2026-10-20 01:42:43,574.574 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:42:43,769.769 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:42:43,782.782 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:42:43,924.924 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:42:43,943.943 INFO    ] time= 20/10/2026 01:42:43
[2026-10-20 01:42:43,953.953 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:42:43,957.957 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:42:44,035.035 INFO    ] No existing commands found in stream
[2026-10-20 01:42:49,070.070 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:42:49,073.073 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-10-20 01:42:52,777.777 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:42:52,780.780 INFO    ] Checking for system updates...
[2026-10-20 01:42:52,820.820 INFO    ] 200
[2026-10-20 01:42:52,823.823 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:42:52,875.875 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:42:52,878.878 INFO    ] No update needed
[2026-10-20 01:42:52,881.881 INFO    ] Checking for camera pi updates...
[2026-10-20 01:42:52,916.916 INFO    ] 200
[2026-10-20 01:42:52,919.919 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:42:52,961.961 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:42:53,014.014 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:42:53,016.016 INFO    ] No camera update needed
[2026-10-20 01:42:53,019.019 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:42:53,022.022 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:42:53,028.028 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:42:53,034.034 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:42:55,075.075 INFO    ] ================================================
[2026-10-20 01:42:55,091.091 INFO    ] Launching Daemon at Tue Oct 20 01:42:55 IST 2026
[2026-10-20 01:42:55,103.103 INFO    ] ================================================
[2026-10-20 01:42:55,744.744 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:42:55
[2026-10-20 01:42:56,402.402 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:42:56,704.704 INFO    ] Initializing speech engine...
[2026-10-20 01:42:56,720.720 INFO    ] 2026-10-20 01:42:56
[2026-10-20 01:42:57,004.004 INFO    ] 2026-10-20 01:42:56
[2026-10-20 01:42:57,109.109 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:42:57,331.331 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:42:57,338.338 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:42:57,542.542 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:42:57,552.552 INFO    ] time= 20/10/2026 01:42:57
[2026-10-20 01:42:57,581.581 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:42:57,590.590 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:42:57,738.738 INFO    ] No existing commands found in stream
[2026-10-20 01:43:02,770.770 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:43:02,774.774 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-10-20 01:43:05,353.353 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 01:43:05,356.356 INFO    ] Checking for system updates...
[2026-10-20 01:43:05,395.395 INFO    ] 200
[2026-10-20 01:43:05,398.398 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:43:05,455.455 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:43:05,457.457 INFO    ] No update needed
[2026-10-20 01:43:05,460.460 INFO    ] Checking for camera pi updates...
[2026-10-20 01:43:05,494.494 INFO    ] 200
[2026-10-20 01:43:05,497.497 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:43:05,542.542 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:43:05,596.596 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:43:05,599.599 INFO    ] No camera update needed
[2026-10-20 01:43:05,601.601 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:43:05,604.604 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:43:05,610.610 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:43:05,616.616 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:43:07,656.656 INFO    ] ================================================
[2026-10-20 01:43:07,671.671 INFO    ] Launching Daemon at Tue Oct 20 01:43:07 IST 2026
[2026-10-20 01:43:07,682.682 INFO    ] ================================================
[2026-10-20 01:43:08,253.253 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:43:08
[2026-10-20 01:43:08,842.842 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:43:09,088.088 INFO    ] Initializing speech engine...
[2026-10-20 01:43:09,103.103 INFO    ] 2026-10-20 01:43:09
[2026-10-20 01:43:09,364.364 INFO    ] 2026-10-20 01:43:09
[2026-10-20 01:43:09,400.400 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:43:09,656.656 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:43:09,661.661 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:43:09,869.869 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:43:09,918.918 INFO    ] time= 20/10/2026 01:43:09
[2026-10-20 01:43:09,925.925 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:43:09,943.943 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:43:10,087.087 INFO    ] No existing commands found in stream
[2026-10-20 01:43:15,119.119 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:43:15,122.122 INFO    ] Waiting 1.22 seconds before fallback handling...
[2026-10-20 01:43:16,822.822 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:43:16,824.824 INFO    ] Checking for system updates...
[2026-10-20 01:43:16,859.859 INFO    ] 200
[2026-10-20 01:43:16,862.862 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:43:16,919.919 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:43:16,921.921 INFO    ] No update needed
[2026-10-20 01:43:16,924.924 INFO    ] Checking for camera pi updates...
[2026-10-20 01:43:16,958.958 INFO    ] 200
[2026-10-20 01:43:16,961.961 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:43:17,000.000 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:43:17,049.049 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:43:17,052.052 INFO    ] No camera update needed
[2026-10-20 01:43:17,054.054 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:43:17,056.056 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:43:17,062.062 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:43:17,066.066 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:43:19,107.107 INFO    ] ================================================
[2026-10-20 01:43:19,123.123 INFO    ] Launching Daemon at Tue Oct 20 01:43:19 IST 2026
[2026-10-20 01:43:19,134.134 INFO    ] ================================================
[2026-10-20 01:43:19,699.699 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:43:19
[2026-10-20 01:43:20,280.280 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:43:20,547.547 INFO    ] Initializing speech engine...
[2026-10-20 01:43:20,556.556 INFO    ] 2026-10-20 01:43:20
[2026-10-20 01:43:20,816.816 INFO    ] 2026-10-20 01:43:20
[2026-10-20 01:43:20,846.846 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:43:21,090.090 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:43:21,099.099 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:43:21,305.305 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:43:21,354.354 INFO    ] time= 20/10/2026 01:43:21
[2026-10-20 01:43:21,365.365 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:43:21,383.383 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:43:21,527.527 INFO    ] No existing commands found in stream
[2026-10-20 01:43:26,553.553 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:43:26,556.556 INFO    ] Waiting 1.41 seconds before fallback handling...
[2026-10-20 01:43:28,537.537 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 01:43:28,540.540 INFO    ] Checking for system updates...
[2026-10-20 01:43:28,576.576 INFO    ] 200
[2026-10-20 01:43:28,579.579 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:43:28,632.632 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:43:28,635.635 INFO    ] No update needed
[2026-10-20 01:43:28,637.637 INFO    ] Checking for camera pi updates...
[2026-10-20 01:43:28,671.671 INFO    ] 200
[2026-10-20 01:43:28,674.674 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:43:28,719.719 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:43:28,770.770 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:43:28,773.773 INFO    ] No camera update needed
[2026-10-20 01:43:28,775.775 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:43:28,778.778 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:43:28,784.784 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:43:28,790.790 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:43:30,831.831 INFO    ] ================================================
[2026-10-20 01:43:30,846.846 INFO    ] Launching Daemon at Tue Oct 20 01:43:30 IST 2026
[2026-10-20 01:43:30,857.857 INFO    ] ================================================
[2026-10-20 01:43:31,444.444 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:43:31
[2026-10-20 01:43:32,051.051 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:43:32,320.320 INFO    ] Initializing speech engine...
[2026-10-20 01:43:32,346.346 INFO    ] 2026-10-20 01:43:32
[2026-10-20 01:43:32,604.604 INFO    ] 2026-10-20 01:43:32
[2026-10-20 01:43:32,631.631 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:43:32,842.842 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:43:32,856.856 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:43:33,012.012 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:43:33,019.019 INFO    ] time= 20/10/2026 01:43:33
[2026-10-20 01:43:33,028.028 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:43:33,074.074 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:43:33,187.187 INFO    ] No existing commands found in stream
[2026-10-20 01:43:38,222.222 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:43:38,225.225 INFO    ] Waiting 0.87 seconds before fallback handling...
[2026-10-20 01:43:39,571.571 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:43:39,574.574 INFO    ] Checking for system updates...
[2026-10-20 01:43:39,612.612 INFO    ] 200
[2026-10-20 01:43:39,614.614 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:43:39,671.671 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:43:39,674.674 INFO    ] No update needed
[2026-10-20 01:43:39,676.676 INFO    ] Checking for camera pi updates...
[2026-10-20 01:43:39,709.709 INFO    ] 200
[2026-10-20 01:43:39,712.712 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:43:39,751.751 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:43:39,801.801 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:43:39,803.803 INFO    ] No camera update needed
[2026-10-20 01:43:39,805.805 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:43:39,808.808 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:43:39,814.814 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:43:39,819.819 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:43:41,861.861 INFO    ] ================================================
[2026-10-20 01:43:41,876.876 INFO    ] Launching Daemon at Tue Oct 20 01:43:41 IST 2026
[2026-10-20 01:43:41,892.892 INFO    ] ================================================
[2026-10-20 01:43:42,461.461 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:43:42
[2026-10-20 01:43:43,045.045 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:43:43,299.299 INFO    ] Initializing speech engine...
[2026-10-20 01:43:43,307.307 INFO    ] 2026-10-20 01:43:43
[2026-10-20 01:43:43,600.600 INFO    ] 2026-10-20 01:43:43
[2026-10-20 01:43:43,637.637 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:43:43,861.861 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:43:43,901.901 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:43:44,085.085 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:43:44,126.126 INFO    ] time= 20/10/2026 01:43:44
[2026-10-20 01:43:44,175.175 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:43:44,232.232 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:43:44,364.364 INFO    ] No existing commands found in stream
[2026-10-20 01:43:49,381.381 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:43:49,384.384 INFO    ] Waiting 3.61 seconds before fallback handling...
[2026-10-20 01:43:53,514.514 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 01:43:53,517.517 INFO    ] Checking for system updates...
[2026-10-20 01:43:53,554.554 INFO    ] 200
[2026-10-20 01:43:53,557.557 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:43:53,615.615 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:43:53,618.618 INFO    ] No update needed
[2026-10-20 01:43:53,621.621 INFO    ] Checking for camera pi updates...
[2026-10-20 01:43:53,658.658 INFO    ] 200
[2026-10-20 01:43:53,661.661 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:43:53,706.706 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:43:53,751.751 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:43:53,754.754 INFO    ] No camera update needed
[2026-10-20 01:43:53,756.756 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:43:53,759.759 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:43:53,764.764 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:43:53,769.769 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:43:55,808.808 INFO    ] ================================================
[2026-10-20 01:43:55,823.823 INFO    ] Launching Daemon at Tue Oct 20 01:43:55 IST 2026
[2026-10-20 01:43:55,834.834 INFO    ] ================================================
[2026-10-20 01:43:56,475.475 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:43:56
[2026-10-20 01:43:57,140.140 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:43:57,437.437 INFO    ] Initializing speech engine...
[2026-10-20 01:43:57,446.446 INFO    ] 2026-10-20 01:43:57
[2026-10-20 01:43:57,729.729 INFO    ] 2026-10-20 01:43:57
[2026-10-20 01:43:57,772.772 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:43:58,053.053 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:43:58,062.062 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:43:58,246.246 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:43:58,261.261 INFO    ] time= 20/10/2026 01:43:58
[2026-10-20 01:43:58,267.267 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:43:58,288.288 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:43:58,419.419 INFO    ] No existing commands found in stream
[2026-10-20 01:44:03,448.448 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:44:03,451.451 INFO    ] Waiting 3.66 seconds before fallback handling...
[2026-10-20 01:44:07,604.604 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 01:44:07,607.607 INFO    ] Checking for system updates...
[2026-10-20 01:44:07,643.643 INFO    ] 200
[2026-10-20 01:44:07,646.646 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:44:07,701.701 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:44:07,703.703 INFO    ] No update needed
[2026-10-20 01:44:07,706.706 INFO    ] Checking for camera pi updates...
[2026-10-20 01:44:07,739.739 INFO    ] 200
[2026-10-20 01:44:07,742.742 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:44:07,781.781 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:44:07,838.838 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:44:07,840.840 INFO    ] No camera update needed
[2026-10-20 01:44:07,843.843 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:44:07,845.845 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:44:07,850.850 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:44:07,855.855 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:44:09,895.895 INFO    ] ================================================
[2026-10-20 01:44:09,910.910 INFO    ] Launching Daemon at Tue Oct 20 01:44:09 IST 2026
[2026-10-20 01:44:09,920.920 INFO    ] ================================================
[2026-10-20 01:44:10,486.486 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:44:10
[2026-10-20 01:44:11,070.070 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:44:11,340.340 INFO    ] Initializing speech engine...
[2026-10-20 01:44:11,353.353 INFO    ] 2026-10-20 01:44:11
[2026-10-20 01:44:11,599.599 INFO    ] 2026-10-20 01:44:11
[2026-10-20 01:44:11,635.635 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:44:11,889.889 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:44:11,897.897 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:44:12,053.053 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:44:12,094.094 INFO    ] time= 20/10/2026 01:44:12
[2026-10-20 01:44:12,096.096 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:44:12,098.098 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:44:12,187.187 INFO    ] No existing commands found in stream
[2026-10-20 01:44:17,210.210 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:44:17,213.213 INFO    ] Waiting 1.52 seconds before fallback handling...
[2026-10-20 01:44:19,253.253 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 01:44:19,255.255 INFO    ] Checking for system updates...
[2026-10-20 01:44:19,294.294 INFO    ] 200
[2026-10-20 01:44:19,297.297 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:44:19,348.348 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:44:19,351.351 INFO    ] No update needed
[2026-10-20 01:44:19,353.353 INFO    ] Checking for camera pi updates...
[2026-10-20 01:44:19,386.386 INFO    ] 200
[2026-10-20 01:44:19,388.388 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:44:19,429.429 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:44:19,577.577 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:44:19,580.580 INFO    ] No camera update needed
[2026-10-20 01:44:19,583.583 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:44:19,585.585 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:44:19,590.590 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:44:19,595.595 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:44:21,635.635 INFO    ] ================================================
[2026-10-20 01:44:21,650.650 INFO    ] Launching Daemon at Tue Oct 20 01:44:21 IST 2026
[2026-10-20 01:44:21,660.660 INFO    ] ================================================
[2026-10-20 01:44:22,296.296 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:44:22
[2026-10-20 01:44:22,931.931 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:44:23,182.182 INFO    ] Initializing speech engine...
[2026-10-20 01:44:23,205.205 INFO    ] 2026-10-20 01:44:23
[2026-10-20 01:44:23,460.460 INFO    ] 2026-10-20 01:44:23
[2026-10-20 01:44:23,496.496 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:44:23,753.753 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:44:23,762.762 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:44:23,957.957 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:44:24,006.006 INFO    ] time= 20/10/2026 01:44:23
[2026-10-20 01:44:24,032.032 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:44:24,049.049 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:44:24,166.166 INFO    ] No existing commands found in stream
[2026-10-20 01:44:29,191.191 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:44:29,194.194 INFO    ] Waiting 0.18 seconds before fallback handling...
[2026-10-20 01:44:29,948.948 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 01:44:29,951.951 INFO    ] Checking for system updates...
[2026-10-20 01:44:29,988.988 INFO    ] 200
[2026-10-20 01:44:29,991.991 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:44:30,043.043 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:44:30,045.045 INFO    ] No update needed
[2026-10-20 01:44:30,048.048 INFO    ] Checking for camera pi updates...
[2026-10-20 01:44:30,086.086 INFO    ] 200
[2026-10-20 01:44:30,089.089 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:44:30,135.135 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:44:30,193.193 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:44:30,196.196 INFO    ] No camera update needed
[2026-10-20 01:44:30,199.199 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:44:30,202.202 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:44:30,208.208 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:44:30,214.214 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:44:32,254.254 INFO    ] ================================================
[2026-10-20 01:44:32,269.269 INFO    ] Launching Daemon at Tue Oct 20 01:44:32 IST 2026
[2026-10-20 01:44:32,280.280 INFO    ] ================================================
[2026-10-20 01:44:32,879.879 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:44:32
[2026-10-20 01:44:33,484.484 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:44:33,738.738 INFO    ] Initializing speech engine...
[2026-10-20 01:44:33,744.744 INFO    ] 2026-10-20 01:44:33
[2026-10-20 01:44:34,039.039 INFO    ] 2026-10-20 01:44:34
[2026-10-20 01:44:34,074.074 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:44:34,302.302 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:44:34,352.352 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:44:34,527.527 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:44:34,577.577 INFO    ] time= 20/10/2026 01:44:34
[2026-10-20 01:44:34,620.620 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:44:34,670.670 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:44:34,838.838 INFO    ] No existing commands found in stream
[2026-10-20 01:44:39,851.851 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:44:39,854.854 INFO    ] Waiting 0.96 seconds before fallback handling...
[2026-10-20 01:44:41,324.324 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 01:44:41,326.326 INFO    ] Checking for system updates...
[2026-10-20 01:44:41,362.362 INFO    ] 200
[2026-10-20 01:44:41,364.364 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:44:41,415.415 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:44:41,417.417 INFO    ] No update needed
[2026-10-20 01:44:41,420.420 INFO    ] Checking for camera pi updates...
[2026-10-20 01:44:41,453.453 INFO    ] 200
[2026-10-20 01:44:41,455.455 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:44:41,496.496 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:44:41,543.543 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:44:41,545.545 INFO    ] No camera update needed
[2026-10-20 01:44:41,548.548 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:44:41,551.551 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:44:41,556.556 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:44:41,561.561 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:44:43,601.601 INFO    ] ================================================
[2026-10-20 01:44:43,616.616 INFO    ] Launching Daemon at Tue Oct 20 01:44:43 IST 2026
[2026-10-20 01:44:43,627.627 INFO    ] ================================================
[2026-10-20 01:44:44,211.211 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:44:44
[2026-10-20 01:44:44,821.821 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:44:45,077.077 INFO    ] Initializing speech engine...
[2026-10-20 01:44:45,091.091 INFO    ] 2026-10-20 01:44:45
[2026-10-20 01:44:45,369.369 INFO    ] 2026-10-20 01:44:45
[2026-10-20 01:44:45,407.407 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:44:45,630.630 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:44:45,690.690 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:44:45,853.853 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:44:45,892.892 INFO    ] time= 20/10/2026 01:44:45
[2026-10-20 01:44:45,941.941 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:44:45,996.996 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:44:46,144.144 INFO    ] No existing commands found in stream
[2026-10-20 01:44:51,169.169 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:44:51,172.172 INFO    ] Waiting 2.24 seconds before fallback handling...
[2026-10-20 01:44:53,926.926 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 01:44:53,929.929 INFO    ] Checking for system updates...
[2026-10-20 01:44:53,968.968 INFO    ] 200
[2026-10-20 01:44:53,971.971 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:44:54,031.031 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:44:54,034.034 INFO    ] No update needed
[2026-10-20 01:44:54,036.036 INFO    ] Checking for camera pi updates...
[2026-10-20 01:44:54,071.071 INFO    ] 200
[2026-10-20 01:44:54,073.073 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:44:54,114.114 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:44:54,165.165 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:44:54,168.168 INFO    ] No camera update needed
[2026-10-20 01:44:54,170.170 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:44:54,173.173 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:44:54,179.179 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:44:54,185.185 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:44:56,224.224 INFO    ] ================================================
[2026-10-20 01:44:56,240.240 INFO    ] Launching Daemon at Tue Oct 20 01:44:56 IST 2026
[2026-10-20 01:44:56,251.251 INFO    ] ================================================
[2026-10-20 01:44:56,908.908 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:44:56
[2026-10-20 01:44:57,584.584 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:44:57,890.890 INFO    ] Initializing speech engine...
[2026-10-20 01:44:57,903.903 INFO    ] 2026-10-20 01:44:57
[2026-10-20 01:44:58,214.214 INFO    ] 2026-10-20 01:44:58
[2026-10-20 01:44:58,300.300 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:44:58,510.510 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:44:58,519.519 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:44:58,714.714 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:44:58,721.721 INFO    ] time= 20/10/2026 01:44:58
[2026-10-20 01:44:58,742.742 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:44:58,770.770 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:44:58,896.896 INFO    ] No existing commands found in stream
[2026-10-20 01:45:03,927.927 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:45:03,930.930 INFO    ] Waiting 3.57 seconds before fallback handling...
[2026-10-20 01:45:08,035.035 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 01:45:08,037.037 INFO    ] Checking for system updates...
[2026-10-20 01:45:08,074.074 INFO    ] 200
[2026-10-20 01:45:08,077.077 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:45:08,131.131 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:45:08,133.133 INFO    ] No update needed
[2026-10-20 01:45:08,136.136 INFO    ] Checking for camera pi updates...
[2026-10-20 01:45:08,170.170 INFO    ] 200
[2026-10-20 01:45:08,173.173 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:45:08,215.215 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:45:08,263.263 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:45:08,266.266 INFO    ] No camera update needed
[2026-10-20 01:45:08,269.269 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:45:08,271.271 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:45:08,277.277 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:45:08,283.283 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:45:10,324.324 INFO    ] ================================================
[2026-10-20 01:45:10,340.340 INFO    ] Launching Daemon at Tue Oct 20 01:45:10 IST 2026
[2026-10-20 01:45:10,351.351 INFO    ] ================================================
[2026-10-20 01:45:10,989.989 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:45:10
[2026-10-20 01:45:11,651.651 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:45:11,951.951 INFO    ] Initializing speech engine...
[2026-10-20 01:45:11,960.960 INFO    ] 2026-10-20 01:45:11
[2026-10-20 01:45:12,242.242 INFO    ] 2026-10-20 01:45:12
[2026-10-20 01:45:12,288.288 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:45:12,516.516 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:45:12,522.522 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:45:12,740.740 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:45:12,782.782 INFO    ] time= 20/10/2026 01:45:12
[2026-10-20 01:45:12,800.800 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:45:12,809.809 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:45:12,947.947 INFO    ] No existing commands found in stream
[2026-10-20 01:45:17,974.974 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:45:17,977.977 INFO    ] Waiting 1.33 seconds before fallback handling...
[2026-10-20 01:45:19,815.815 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 01:45:19,818.818 INFO    ] Checking for system updates...
[2026-10-20 01:45:19,855.855 INFO    ] 200
[2026-10-20 01:45:19,857.857 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:45:19,916.916 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:45:19,919.919 INFO    ] No update needed
[2026-10-20 01:45:19,922.922 INFO    ] Checking for camera pi updates...
[2026-10-20 01:45:19,957.957 INFO    ] 200
[2026-10-20 01:45:19,960.960 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:45:20,001.001 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:45:20,048.048 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:45:20,051.051 INFO    ] No camera update needed
[2026-10-20 01:45:20,053.053 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:45:20,056.056 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:45:20,062.062 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:45:20,068.068 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:45:22,108.108 INFO    ] ================================================
[2026-10-20 01:45:22,123.123 INFO    ] Launching Daemon at Tue Oct 20 01:45:22 IST 2026
[2026-10-20 01:45:22,133.133 INFO    ] ================================================
[2026-10-20 01:45:22,701.701 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:45:22
[2026-10-20 01:45:23,285.285 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:45:23,553.553 INFO    ] Initializing speech engine...
[2026-10-20 01:45:23,561.561 INFO    ] 2026-10-20 01:45:23
[2026-10-20 01:45:23,809.809 INFO    ] 2026-10-20 01:45:23
[2026-10-20 01:45:23,844.844 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:45:24,062.062 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:45:24,099.099 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:45:24,250.250 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:45:24,299.299 INFO    ] time= 20/10/2026 01:45:24
[2026-10-20 01:45:24,348.348 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:45:24,369.369 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:45:24,498.498 INFO    ] No existing commands found in stream
[2026-10-20 01:45:29,525.525 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:45:29,528.528 INFO    ] Waiting 2.10 seconds before fallback handling...
[2026-10-20 01:45:32,134.134 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:45:32,137.137 INFO    ] Checking for system updates...
[2026-10-20 01:45:32,175.175 INFO    ] 200
[2026-10-20 01:45:32,177.177 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:45:32,234.234 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:45:32,237.237 INFO    ] No update needed
[2026-10-20 01:45:32,239.239 INFO    ] Checking for camera pi updates...
[2026-10-20 01:45:32,278.278 INFO    ] 200
[2026-10-20 01:45:32,281.281 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:45:32,323.323 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:45:32,360.360 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:45:32,363.363 INFO    ] No camera update needed
[2026-10-20 01:45:32,366.366 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:45:32,368.368 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:45:32,375.375 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:45:32,380.380 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:45:34,420.420 INFO    ] ================================================
[2026-10-20 01:45:34,435.435 INFO    ] Launching Daemon at Tue Oct 20 01:45:34 IST 2026
[2026-10-20 01:45:34,446.446 INFO    ] ================================================
[2026-10-20 01:45:35,084.084 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:45:35
[2026-10-20 01:45:35,741.741 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:45:36,038.038 INFO    ] Initializing speech engine...
[2026-10-20 01:45:36,046.046 INFO    ] 2026-10-20 01:45:36
[2026-10-20 01:45:36,330.330 INFO    ] 2026-10-20 01:45:36
[2026-10-20 01:45:36,375.375 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:45:36,659.659 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:45:36,669.669 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:45:36,859.859 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:45:36,876.876 INFO    ] time= 20/10/2026 01:45:36
[2026-10-20 01:45:36,884.884 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:45:36,914.914 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:45:37,020.020 INFO    ] No existing commands found in stream
[2026-10-20 01:45:42,054.054 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:45:42,057.057 INFO    ] Waiting 3.92 seconds before fallback handling...
[2026-10-20 01:45:46,465.465 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:45:46,468.468 INFO    ] Checking for system updates...
[2026-10-20 01:45:46,508.508 INFO    ] 200
[2026-10-20 01:45:46,511.511 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:45:46,565.565 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:45:46,567.567 INFO    ] No update needed
[2026-10-20 01:45:46,570.570 INFO    ] Checking for camera pi updates...
[2026-10-20 01:45:46,605.605 INFO    ] 200
[2026-10-20 01:45:46,608.608 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:45:46,649.649 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:45:46,697.697 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:45:46,700.700 INFO    ] No camera update needed
[2026-10-20 01:45:46,703.703 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:45:46,705.705 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:45:46,711.711 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:45:46,717.717 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:45:48,758.758 INFO    ] ================================================
[2026-10-20 01:45:48,773.773 INFO    ] Launching Daemon at Tue Oct 20 01:45:48 IST 2026
[2026-10-20 01:45:48,783.783 INFO    ] ================================================
[2026-10-20 01:45:49,371.371 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:45:49
[2026-10-20 01:45:49,976.976 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:45:50,256.256 INFO    ] Initializing speech engine...
[2026-10-20 01:45:50,262.262 INFO    ] 2026-10-20 01:45:50
[2026-10-20 01:45:50,529.529 INFO    ] 2026-10-20 01:45:50
[2026-10-20 01:45:50,582.582 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:45:50,809.809 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:45:50,814.814 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:45:51,005.005 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:45:51,059.059 INFO    ] time= 20/10/2026 01:45:51
[2026-10-20 01:45:51,076.076 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:45:51,082.082 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:45:51,229.229 INFO    ] No existing commands found in stream
[2026-10-20 01:45:56,247.247 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:45:56,251.251 INFO    ] Waiting 1.80 seconds before fallback handling...
[2026-10-20 01:45:58,613.613 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:45:58,616.616 INFO    ] Checking for system updates...
[2026-10-20 01:45:58,653.653 INFO    ] 200
[2026-10-20 01:45:58,656.656 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:45:58,709.709 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:45:58,712.712 INFO    ] No update needed
[2026-10-20 01:45:58,715.715 INFO    ] Checking for camera pi updates...
[2026-10-20 01:45:58,748.748 INFO    ] 200
[2026-10-20 01:45:58,751.751 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:45:58,791.791 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:45:58,847.847 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:45:58,850.850 INFO    ] No camera update needed
[2026-10-20 01:45:58,852.852 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:45:58,855.855 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:45:58,860.860 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:45:58,865.865 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:46:00,908.908 INFO    ] ================================================
[2026-10-20 01:46:00,922.922 INFO    ] Launching Daemon at Tue Oct 20 01:46:00 IST 2026
[2026-10-20 01:46:00,933.933 INFO    ] ================================================
[2026-10-20 01:46:01,632.632 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:46:01
[2026-10-20 01:46:02,276.276 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:46:02,570.570 INFO    ] Initializing speech engine...
[2026-10-20 01:46:02,586.586 INFO    ] 2026-10-20 01:46:02
[2026-10-20 01:46:02,875.875 INFO    ] 2026-10-20 01:46:02
[2026-10-20 01:46:02,912.912 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:46:03,126.126 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:46:03,140.140 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:46:03,306.306 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:46:03,311.311 INFO    ] time= 20/10/2026 01:46:03
[2026-10-20 01:46:03,317.317 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:46:03,343.343 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:46:03,510.510 INFO    ] No existing commands found in stream
[2026-10-20 01:46:08,521.521 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:46:08,523.523 INFO    ] Waiting 2.66 seconds before fallback handling...
[2026-10-20 01:46:11,715.715 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 01:46:11,718.718 INFO    ] Checking for system updates...
[2026-10-20 01:46:11,754.754 INFO    ] 200
[2026-10-20 01:46:11,756.756 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:46:11,814.814 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:46:11,816.816 INFO    ] No update needed
[2026-10-20 01:46:11,819.819 INFO    ] Checking for camera pi updates...
[2026-10-20 01:46:11,852.852 INFO    ] 200
[2026-10-20 01:46:11,854.854 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:46:11,894.894 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:46:11,950.950 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:46:11,952.952 INFO    ] No camera update needed
[2026-10-20 01:46:11,955.955 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:46:11,957.957 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:46:11,962.962 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:46:11,967.967 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:46:14,008.008 INFO    ] ================================================
[2026-10-20 01:46:14,023.023 INFO    ] Launching Daemon at Tue Oct 20 01:46:14 IST 2026
[2026-10-20 01:46:14,033.033 INFO    ] ================================================
[2026-10-20 01:46:14,601.601 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:46:14
[2026-10-20 01:46:15,184.184 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:46:15,457.457 INFO    ] Initializing speech engine...
[2026-10-20 01:46:15,463.463 INFO    ] 2026-10-20 01:46:15
[2026-10-20 01:46:15,707.707 INFO    ] 2026-10-20 01:46:15
[2026-10-20 01:46:15,742.742 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:46:15,977.977 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:46:15,999.999 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:46:16,136.136 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:46:16,189.189 INFO    ] time= 20/10/2026 01:46:16
[2026-10-20 01:46:16,243.243 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:46:16,272.272 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:46:16,419.419 INFO    ] No existing commands found in stream
[2026-10-20 01:46:21,431.431 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:46:21,433.433 INFO    ] Waiting 3.54 seconds before fallback handling...
[2026-10-20 01:46:25,501.501 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 01:46:25,504.504 INFO    ] Checking for system updates...
[2026-10-20 01:46:25,541.541 INFO    ] 200
[2026-10-20 01:46:25,544.544 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:46:25,597.597 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:46:25,599.599 INFO    ] No update needed
[2026-10-20 01:46:25,602.602 INFO    ] Checking for camera pi updates...
[2026-10-20 01:46:25,638.638 INFO    ] 200
[2026-10-20 01:46:25,640.640 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:46:25,681.681 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:46:25,824.824 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:46:25,826.826 INFO    ] No camera update needed
[2026-10-20 01:46:25,829.829 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:46:25,831.831 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:46:25,836.836 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:46:25,842.842 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:46:27,882.882 INFO    ] ================================================
[2026-10-20 01:46:27,897.897 INFO    ] Launching Daemon at Tue Oct 20 01:46:27 IST 2026
[2026-10-20 01:46:27,908.908 INFO    ] ================================================
[2026-10-20 01:46:28,475.475 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:46:28
[2026-10-20 01:46:29,057.057 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:46:29,326.326 INFO    ] Initializing speech engine...
[2026-10-20 01:46:29,335.335 INFO    ] 2026-10-20 01:46:29
[2026-10-20 01:46:29,581.581 INFO    ] 2026-10-20 01:46:29
[2026-10-20 01:46:29,616.616 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:46:29,868.868 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:46:29,877.877 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:46:30,103.103 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:46:30,135.135 INFO    ] time= 20/10/2026 01:46:30
[2026-10-20 01:46:30,141.141 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:46:30,159.159 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:46:30,300.300 INFO    ] No existing commands found in stream
[2026-10-20 01:46:35,326.326 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:46:35,329.329 INFO    ] Waiting 2.83 seconds before fallback handling...
[2026-10-20 01:46:38,643.643 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 01:46:38,646.646 INFO    ] Checking for system updates...
[2026-10-20 01:46:38,684.684 INFO    ] 200
[2026-10-20 01:46:38,687.687 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:46:38,738.738 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:46:38,741.741 INFO    ] No update needed
[2026-10-20 01:46:38,743.743 INFO    ] Checking for camera pi updates...
[2026-10-20 01:46:38,776.776 INFO    ] 200
[2026-10-20 01:46:38,779.779 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:46:38,820.820 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:46:38,869.869 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:46:38,872.872 INFO    ] No camera update needed
[2026-10-20 01:46:38,874.874 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:46:38,876.876 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:46:38,882.882 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:46:38,887.887 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:46:40,929.929 INFO    ] ================================================
[2026-10-20 01:46:40,944.944 INFO    ] Launching Daemon at Tue Oct 20 01:46:40 IST 2026
[2026-10-20 01:46:40,955.955 INFO    ] ================================================
[2026-10-20 01:46:41,528.528 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:46:41
[2026-10-20 01:46:42,111.111 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:46:42,381.381 INFO    ] Initializing speech engine...
[2026-10-20 01:46:42,391.391 INFO    ] 2026-10-20 01:46:42
[2026-10-20 01:46:42,650.650 INFO    ] 2026-10-20 01:46:42
[2026-10-20 01:46:42,684.684 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:46:42,900.900 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:46:42,914.914 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:46:43,099.099 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:46:43,139.139 INFO    ] time= 20/10/2026 01:46:43
[2026-10-20 01:46:43,204.204 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:46:43,232.232 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:46:43,379.379 INFO    ] No existing commands found in stream
[2026-10-20 01:46:48,393.393 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:46:48,396.396 INFO    ] Waiting 1.20 seconds before fallback handling...
[2026-10-20 01:46:50,155.155 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 01:46:50,158.158 INFO    ] Checking for system updates...
[2026-10-20 01:46:50,194.194 INFO    ] 200
[2026-10-20 01:46:50,196.196 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:46:50,249.249 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:46:50,251.251 INFO    ] No update needed
[2026-10-20 01:46:50,253.253 INFO    ] Checking for camera pi updates...
[2026-10-20 01:46:50,290.290 INFO    ] 200
[2026-10-20 01:46:50,293.293 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:46:50,333.333 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:46:50,380.380 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:46:50,383.383 INFO    ] No camera update needed
[2026-10-20 01:46:50,385.385 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:46:50,387.387 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:46:50,393.393 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:46:50,397.397 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:46:52,438.438 INFO    ] ================================================
[2026-10-20 01:46:52,454.454 INFO    ] Launching Daemon at Tue Oct 20 01:46:52 IST 2026
[2026-10-20 01:46:52,465.465 INFO    ] ================================================
[2026-10-20 01:46:53,118.118 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:46:53
[2026-10-20 01:46:53,791.791 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:46:54,098.098 INFO    ] Initializing speech engine...
[2026-10-20 01:46:54,107.107 INFO    ] 2026-10-20 01:46:54
[2026-10-20 01:46:54,381.381 INFO    ] 2026-10-20 01:46:54
[2026-10-20 01:46:54,411.411 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:46:54,614.614 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:46:54,634.634 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:46:54,827.827 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:46:54,854.854 INFO    ] time= 20/10/2026 01:46:54
[2026-10-20 01:46:54,909.909 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:46:54,961.961 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:46:55,101.101 INFO    ] No existing commands found in stream
[2026-10-20 01:47:00,123.123 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:47:00,126.126 INFO    ] Waiting 1.40 seconds before fallback handling...
[2026-10-20 01:47:02,114.114 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 01:47:02,118.118 INFO    ] Checking for system updates...
[2026-10-20 01:47:02,164.164 INFO    ] 200
[2026-10-20 01:47:02,167.167 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:47:02,228.228 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:47:02,231.231 INFO    ] No update needed
[2026-10-20 01:47:02,234.234 INFO    ] Checking for camera pi updates...
[2026-10-20 01:47:02,280.280 INFO    ] 200
[2026-10-20 01:47:02,283.283 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:47:02,337.337 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:47:02,372.372 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:47:02,375.375 INFO    ] No camera update needed
[2026-10-20 01:47:02,379.379 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:47:02,382.382 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:47:02,389.389 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:47:02,395.395 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:47:04,436.436 INFO    ] ================================================
[2026-10-20 01:47:04,452.452 INFO    ] Launching Daemon at Tue Oct 20 01:47:04 IST 2026
[2026-10-20 01:47:04,463.463 INFO    ] ================================================
[2026-10-20 01:47:05,029.029 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:47:05
[2026-10-20 01:47:05,614.614 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:47:05,872.872 INFO    ] Initializing speech engine...
[2026-10-20 01:47:05,879.879 INFO    ] 2026-10-20 01:47:05
[2026-10-20 01:47:06,173.173 INFO    ] 2026-10-20 01:47:06
[2026-10-20 01:47:06,208.208 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:47:06,408.408 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:47:06,424.424 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:47:06,568.568 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:47:06,593.593 INFO    ] time= 20/10/2026 01:47:06
[2026-10-20 01:47:06,600.600 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:47:06,606.606 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:47:06,740.740 INFO    ] No existing commands found in stream
[2026-10-20 01:47:11,770.770 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:47:11,773.773 INFO    ] Waiting 0.84 seconds before fallback handling...
[2026-10-20 01:47:13,133.133 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:47:13,136.136 INFO    ] Checking for system updates...
[2026-10-20 01:47:13,171.171 INFO    ] 200
[2026-10-20 01:47:13,174.174 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:47:13,232.232 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:47:13,235.235 INFO    ] No update needed
[2026-10-20 01:47:13,237.237 INFO    ] Checking for camera pi updates...
[2026-10-20 01:47:13,274.274 INFO    ] 200
[2026-10-20 01:47:13,276.276 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:47:13,315.315 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:47:13,369.369 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:47:13,371.371 INFO    ] No camera update needed
[2026-10-20 01:47:13,374.374 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:47:13,376.376 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:47:13,381.381 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:47:13,386.386 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:47:15,426.426 INFO    ] ================================================
[2026-10-20 01:47:15,443.443 INFO    ] Launching Daemon at Tue Oct 20 01:47:15 IST 2026
[2026-10-20 01:47:15,454.454 INFO    ] ================================================
[2026-10-20 01:47:16,035.035 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:47:16
[2026-10-20 01:47:16,619.619 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:47:16,874.874 INFO    ] Initializing speech engine...
[2026-10-20 01:47:16,880.880 INFO    ] 2026-10-20 01:47:16
[2026-10-20 01:47:17,176.176 INFO    ] 2026-10-20 01:47:17
[2026-10-20 01:47:17,211.211 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:47:17,411.411 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:47:17,425.425 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:47:17,591.591 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:47:17,596.596 INFO    ] time= 20/10/2026 01:47:17
[2026-10-20 01:47:17,603.603 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:47:17,650.650 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:47:17,781.781 INFO    ] No existing commands found in stream
[2026-10-20 01:47:22,816.816 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:47:22,819.819 INFO    ] Waiting 2.72 seconds before fallback handling...
[2026-10-20 01:47:26,094.094 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 01:47:26,097.097 INFO    ] Checking for system updates...
[2026-10-20 01:47:26,135.135 INFO    ] 200
[2026-10-20 01:47:26,137.137 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:47:26,197.197 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:47:26,200.200 INFO    ] No update needed
[2026-10-20 01:47:26,203.203 INFO    ] Checking for camera pi updates...
[2026-10-20 01:47:26,240.240 INFO    ] 200
[2026-10-20 01:47:26,243.243 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:47:26,289.289 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:47:26,341.341 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:47:26,344.344 INFO    ] No camera update needed
[2026-10-20 01:47:26,346.346 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:47:26,349.349 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:47:26,355.355 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:47:26,361.361 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:47:28,402.402 INFO    ] ================================================
[2026-10-20 01:47:28,417.417 INFO    ] Launching Daemon at Tue Oct 20 01:47:28 IST 2026
[2026-10-20 01:47:28,428.428 INFO    ] ================================================
[2026-10-20 01:47:29,009.009 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:47:29
[2026-10-20 01:47:29,602.602 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:47:29,858.858 INFO    ] Initializing speech engine...
[2026-10-20 01:47:29,864.864 INFO    ] 2026-10-20 01:47:29
[2026-10-20 01:47:30,157.157 INFO    ] 2026-10-20 01:47:30
[2026-10-20 01:47:30,195.195 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:47:30,409.409 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:47:30,425.425 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:47:30,602.602 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:47:30,648.648 INFO    ] time= 20/10/2026 01:47:30
[2026-10-20 01:47:30,655.655 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:47:30,704.704 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:47:30,841.841 INFO    ] No existing commands found in stream
[2026-10-20 01:47:35,860.860 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:47:35,863.863 INFO    ] Waiting 2.83 seconds before fallback handling...
[2026-10-20 01:47:39,181.181 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 01:47:39,183.183 INFO    ] Checking for system updates...
[2026-10-20 01:47:39,219.219 INFO    ] 200
[2026-10-20 01:47:39,221.221 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:47:39,279.279 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:47:39,282.282 INFO    ] No update needed
[2026-10-20 01:47:39,284.284 INFO    ] Checking for camera pi updates...
[2026-10-20 01:47:39,321.321 INFO    ] 200
[2026-10-20 01:47:39,323.323 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:47:39,363.363 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:47:39,423.423 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:47:39,425.425 INFO    ] No camera update needed
[2026-10-20 01:47:39,428.428 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:47:39,430.430 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:47:39,435.435 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:47:39,441.441 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:47:41,482.482 INFO    ] ================================================
[2026-10-20 01:47:41,497.497 INFO    ] Launching Daemon at Tue Oct 20 01:47:41 IST 2026
[2026-10-20 01:47:41,508.508 INFO    ] ================================================
[2026-10-20 01:47:42,070.070 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:47:42
[2026-10-20 01:47:42,654.654 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:47:42,912.912 INFO    ] Initializing speech engine...
[2026-10-20 01:47:42,927.927 INFO    ] 2026-10-20 01:47:42
[2026-10-20 01:47:43,207.207 INFO    ] 2026-10-20 01:47:43
[2026-10-20 01:47:43,244.244 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:47:43,463.463 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:47:43,471.471 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:47:43,624.624 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:47:43,691.691 INFO    ] time= 20/10/2026 01:47:43
[2026-10-20 01:47:43,698.698 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:47:43,733.733 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:47:43,866.866 INFO    ] No existing commands found in stream
[2026-10-20 01:47:48,882.882 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:47:48,884.884 INFO    ] Waiting 3.52 seconds before fallback handling...
[2026-10-20 01:47:52,934.934 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 01:47:52,937.937 INFO    ] Checking for system updates...
[2026-10-20 01:47:52,980.980 INFO    ] 200
[2026-10-20 01:47:52,982.982 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:47:53,046.046 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:47:53,049.049 INFO    ] No update needed
[2026-10-20 01:47:53,051.051 INFO    ] Checking for camera pi updates...
[2026-10-20 01:47:53,084.084 INFO    ] 200
[2026-10-20 01:47:53,086.086 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:47:53,126.126 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:47:53,180.180 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:47:53,182.182 INFO    ] No camera update needed
[2026-10-20 01:47:53,184.184 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:47:53,187.187 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:47:53,192.192 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:47:53,197.197 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:47:55,239.239 INFO    ] ================================================
[2026-10-20 01:47:55,254.254 INFO    ] Launching Daemon at Tue Oct 20 01:47:55 IST 2026
[2026-10-20 01:47:55,265.265 INFO    ] ================================================
[2026-10-20 01:47:55,844.844 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:47:55
[2026-10-20 01:47:56,431.431 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:47:56,687.687 INFO    ] Initializing speech engine...
[2026-10-20 01:47:56,694.694 INFO    ] 2026-10-20 01:47:56
[2026-10-20 01:47:56,984.984 INFO    ] 2026-10-20 01:47:56
[2026-10-20 01:47:57,018.018 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:47:57,242.242 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:47:57,270.270 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:47:57,468.468 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:47:57,484.484 INFO    ] time= 20/10/2026 01:47:57
[2026-10-20 01:47:57,544.544 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:47:57,603.603 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:47:57,761.761 INFO    ] No existing commands found in stream
[2026-10-20 01:48:02,786.786 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:48:02,789.789 INFO    ] Waiting 0.97 seconds before fallback handling...
[2026-10-20 01:48:04,274.274 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 01:48:04,277.277 INFO    ] Checking for system updates...
[2026-10-20 01:48:04,313.313 INFO    ] 200
[2026-10-20 01:48:04,315.315 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:48:04,368.368 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:48:04,371.371 INFO    ] No update needed
[2026-10-20 01:48:04,373.373 INFO    ] Checking for camera pi updates...
[2026-10-20 01:48:04,406.406 INFO    ] 200
[2026-10-20 01:48:04,408.408 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:48:04,453.453 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:48:04,502.502 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:48:04,504.504 INFO    ] No camera update needed
[2026-10-20 01:48:04,507.507 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:48:04,509.509 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:48:04,514.514 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:48:04,519.519 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:48:06,560.560 INFO    ] ================================================
[2026-10-20 01:48:06,574.574 INFO    ] Launching Daemon at Tue Oct 20 01:48:06 IST 2026
[2026-10-20 01:48:06,585.585 INFO    ] ================================================
[2026-10-20 01:48:07,195.195 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:48:07
[2026-10-20 01:48:07,851.851 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:48:08,158.158 INFO    ] Initializing speech engine...
[2026-10-20 01:48:08,169.169 INFO    ] 2026-10-20 01:48:08
[2026-10-20 01:48:08,452.452 INFO    ] 2026-10-20 01:48:08
[2026-10-20 01:48:08,489.489 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:48:08,772.772 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:48:08,781.781 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:48:08,965.965 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:48:08,983.983 INFO    ] time= 20/10/2026 01:48:08
[2026-10-20 01:48:09,000.000 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:48:09,031.031 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:48:09,143.143 INFO    ] No existing commands found in stream
[2026-10-20 01:48:14,174.174 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:48:14,177.177 INFO    ] Waiting 0.06 seconds before fallback handling...
[2026-10-20 01:48:14,737.737 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:48:14,740.740 INFO    ] Checking for system updates...
[2026-10-20 01:48:14,780.780 INFO    ] 200
[2026-10-20 01:48:14,783.783 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:48:14,842.842 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:48:14,845.845 INFO    ] No update needed
[2026-10-20 01:48:14,847.847 INFO    ] Checking for camera pi updates...
[2026-10-20 01:48:14,882.882 INFO    ] 200
[2026-10-20 01:48:14,885.885 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:48:14,925.925 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:48:14,982.982 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:48:14,985.985 INFO    ] No camera update needed
[2026-10-20 01:48:14,988.988 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:48:14,990.990 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:48:14,996.996 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:48:15,002.002 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:48:17,043.043 INFO    ] ================================================
[2026-10-20 01:48:17,059.059 INFO    ] Launching Daemon at Tue Oct 20 01:48:17 IST 2026
[2026-10-20 01:48:17,069.069 INFO    ] ================================================
[2026-10-20 01:48:17,709.709 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:48:17
[2026-10-20 01:48:18,367.367 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:48:18,667.667 INFO    ] Initializing speech engine...
[2026-10-20 01:48:18,679.679 INFO    ] 2026-10-20 01:48:18
[2026-10-20 01:48:18,957.957 INFO    ] 2026-10-20 01:48:18
[2026-10-20 01:48:19,002.002 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:48:19,252.252 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:48:19,271.271 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:48:19,479.479 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:48:19,495.495 INFO    ] time= 20/10/2026 01:48:19
[2026-10-20 01:48:19,515.515 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:48:19,544.544 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:48:19,670.670 INFO    ] No existing commands found in stream
[2026-10-20 01:48:24,701.701 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:48:24,704.704 INFO    ] Waiting 2.90 seconds before fallback handling...
[2026-10-20 01:48:28,138.138 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 01:48:28,142.142 INFO    ] Checking for system updates...
[2026-10-20 01:48:28,195.195 INFO    ] 200
[2026-10-20 01:48:28,198.198 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:48:28,252.252 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:48:28,255.255 INFO    ] No update needed
[2026-10-20 01:48:28,258.258 INFO    ] Checking for camera pi updates...
[2026-10-20 01:48:28,299.299 INFO    ] 200
[2026-10-20 01:48:28,302.302 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:48:28,343.343 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:48:28,489.489 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:48:28,492.492 INFO    ] No camera update needed
[2026-10-20 01:48:28,494.494 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:48:28,497.497 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:48:28,503.503 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:48:28,510.510 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:48:30,550.550 INFO    ] ================================================
[2026-10-20 01:48:30,565.565 INFO    ] Launching Daemon at Tue Oct 20 01:48:30 IST 2026
[2026-10-20 01:48:30,576.576 INFO    ] ================================================
[2026-10-20 01:48:31,163.163 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:48:31
[2026-10-20 01:48:31,797.797 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:48:32,072.072 INFO    ] Initializing speech engine...
[2026-10-20 01:48:32,078.078 INFO    ] 2026-10-20 01:48:32
[2026-10-20 01:48:32,404.404 INFO    ] 2026-10-20 01:48:32
[2026-10-20 01:48:32,449.449 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:48:32,662.662 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:48:32,676.676 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:48:32,900.900 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:48:32,917.917 INFO    ] time= 20/10/2026 01:48:32
[2026-10-20 01:48:32,981.981 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:48:33,035.035 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:48:33,209.209 INFO    ] No existing commands found in stream
[2026-10-20 01:48:38,241.241 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:48:38,244.244 INFO    ] Waiting 1.64 seconds before fallback handling...
[2026-10-20 01:48:40,429.429 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 01:48:40,431.431 INFO    ] Checking for system updates...
[2026-10-20 01:48:40,467.467 INFO    ] 200
[2026-10-20 01:48:40,470.470 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:48:40,524.524 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:48:40,526.526 INFO    ] No update needed
[2026-10-20 01:48:40,529.529 INFO    ] Checking for camera pi updates...
[2026-10-20 01:48:40,567.567 INFO    ] 200
[2026-10-20 01:48:40,570.570 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:48:40,610.610 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:48:40,658.658 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:48:40,660.660 INFO    ] No camera update needed
[2026-10-20 01:48:40,663.663 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:48:40,665.665 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:48:40,671.671 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:48:40,676.676 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:48:42,716.716 INFO    ] ================================================
[2026-10-20 01:48:42,731.731 INFO    ] Launching Daemon at Tue Oct 20 01:48:42 IST 2026
[2026-10-20 01:48:42,742.742 INFO    ] ================================================
[2026-10-20 01:48:43,310.310 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:48:43
[2026-10-20 01:48:43,895.895 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:48:44,160.160 INFO    ] Initializing speech engine...
[2026-10-20 01:48:44,173.173 INFO    ] 2026-10-20 01:48:44
[2026-10-20 01:48:44,421.421 INFO    ] 2026-10-20 01:48:44
[2026-10-20 01:48:44,455.455 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:48:44,709.709 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:48:44,717.717 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:48:44,939.939 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:48:44,978.978 INFO    ] time= 20/10/2026 01:48:44
[2026-10-20 01:48:44,985.985 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:48:45,002.002 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:48:45,133.133 INFO    ] No existing commands found in stream
[2026-10-20 01:48:50,147.147 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:48:50,150.150 INFO    ] Waiting 1.88 seconds before fallback handling...
[2026-10-20 01:48:52,601.601 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:48:52,604.604 INFO    ] Checking for system updates...
[2026-10-20 01:48:52,640.640 INFO    ] 200
[2026-10-20 01:48:52,643.643 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:48:52,695.695 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:48:52,698.698 INFO    ] No update needed
[2026-10-20 01:48:52,701.701 INFO    ] Checking for camera pi updates...
[2026-10-20 01:48:52,734.734 INFO    ] 200
[2026-10-20 01:48:52,737.737 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:48:52,778.778 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:48:52,824.824 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:48:52,827.827 INFO    ] No camera update needed
[2026-10-20 01:48:52,830.830 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:48:52,833.833 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:48:52,839.839 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:48:52,844.844 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:48:54,886.886 INFO    ] ================================================
[2026-10-20 01:48:54,901.901 INFO    ] Launching Daemon at Tue Oct 20 01:48:54 IST 2026
[2026-10-20 01:48:54,912.912 INFO    ] ================================================
[2026-10-20 01:48:55,491.491 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:48:55
[2026-10-20 01:48:56,075.075 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:48:56,345.345 INFO    ] Initializing speech engine...
[2026-10-20 01:48:56,354.354 INFO    ] 2026-10-20 01:48:56
[2026-10-20 01:48:56,605.605 INFO    ] 2026-10-20 01:48:56
[2026-10-20 01:48:56,640.640 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:48:56,897.897 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:48:56,906.906 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:48:57,109.109 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:48:57,153.153 INFO    ] time= 20/10/2026 01:48:57
[2026-10-20 01:48:57,176.176 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:48:57,182.182 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:48:57,330.330 INFO    ] No existing commands found in stream
[2026-10-20 01:49:02,341.341 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:49:02,344.344 INFO    ] Waiting 3.07 seconds before fallback handling...
[2026-10-20 01:49:05,956.956 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:49:05,959.959 INFO    ] Checking for system updates...
[2026-10-20 01:49:05,993.993 INFO    ] 200
[2026-10-20 01:49:05,996.996 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:49:06,054.054 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:49:06,056.056 INFO    ] No update needed
[2026-10-20 01:49:06,059.059 INFO    ] Checking for camera pi updates...
[2026-10-20 01:49:06,092.092 INFO    ] 200
[2026-10-20 01:49:06,095.095 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:49:06,135.135 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:49:06,184.184 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:49:06,187.187 INFO    ] No camera update needed
[2026-10-20 01:49:06,189.189 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:49:06,192.192 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:49:06,197.197 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:49:06,202.202 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:49:08,242.242 INFO    ] ================================================
[2026-10-20 01:49:08,257.257 INFO    ] Launching Daemon at Tue Oct 20 01:49:08 IST 2026
[2026-10-20 01:49:08,267.267 INFO    ] ================================================
[2026-10-20 01:49:08,849.849 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:49:08
[2026-10-20 01:49:09,453.453 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:49:09,723.723 INFO    ] Initializing speech engine...
[2026-10-20 01:49:09,733.733 INFO    ] 2026-10-20 01:49:09
[2026-10-20 01:49:09,993.993 INFO    ] 2026-10-20 01:49:09
[2026-10-20 01:49:10,047.047 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:49:10,270.270 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:49:10,279.279 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:49:10,449.449 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:49:10,508.508 INFO    ] time= 20/10/2026 01:49:10
[2026-10-20 01:49:10,540.540 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:49:10,546.546 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:49:10,694.694 INFO    ] No existing commands found in stream
[2026-10-20 01:49:15,716.716 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:49:15,719.719 INFO    ] Waiting 1.50 seconds before fallback handling...
[2026-10-20 01:49:17,733.733 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 01:49:17,736.736 INFO    ] Checking for system updates...
[2026-10-20 01:49:17,777.777 INFO    ] 200
[2026-10-20 01:49:17,780.780 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:49:17,839.839 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:49:17,842.842 INFO    ] No update needed
[2026-10-20 01:49:17,844.844 INFO    ] Checking for camera pi updates...
[2026-10-20 01:49:17,885.885 INFO    ] 200
[2026-10-20 01:49:17,888.888 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:49:17,933.933 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:49:17,983.983 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:49:17,986.986 INFO    ] No camera update needed
[2026-10-20 01:49:17,988.988 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:49:17,991.991 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:49:17,997.997 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:49:18,003.003 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:49:20,043.043 INFO    ] ================================================
[2026-10-20 01:49:20,058.058 INFO    ] Launching Daemon at Tue Oct 20 01:49:20 IST 2026
[2026-10-20 01:49:20,069.069 INFO    ] ================================================
[2026-10-20 01:49:20,713.713 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:49:20
[2026-10-20 01:49:21,375.375 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:49:21,641.641 INFO    ] Initializing speech engine...
[2026-10-20 01:49:21,666.666 INFO    ] 2026-10-20 01:49:21
[2026-10-20 01:49:21,937.937 INFO    ] 2026-10-20 01:49:21
[2026-10-20 01:49:21,974.974 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:49:22,195.195 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:49:22,203.203 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:49:22,349.349 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:49:22,355.355 INFO    ] time= 20/10/2026 01:49:22
[2026-10-20 01:49:22,361.361 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:49:22,409.409 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:49:22,552.552 INFO    ] No existing commands found in stream
[2026-10-20 01:49:27,571.571 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:49:27,574.574 INFO    ] Waiting 1.66 seconds before fallback handling...
[2026-10-20 01:49:29,759.759 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:49:29,762.762 INFO    ] Checking for system updates...
[2026-10-20 01:49:29,797.797 INFO    ] 200
[2026-10-20 01:49:29,799.799 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:49:29,851.851 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:49:29,853.853 INFO    ] No update needed
[2026-10-20 01:49:29,855.855 INFO    ] Checking for camera pi updates...
[2026-10-20 01:49:29,889.889 INFO    ] 200
[2026-10-20 01:49:29,892.892 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:49:29,931.931 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:49:29,983.983 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:49:29,986.986 INFO    ] No camera update needed
[2026-10-20 01:49:29,988.988 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:49:29,991.991 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:49:29,996.996 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:49:30,001.001 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:49:32,044.044 INFO    ] ================================================
[2026-10-20 01:49:32,061.061 INFO    ] Launching Daemon at Tue Oct 20 01:49:32 IST 2026
[2026-10-20 01:49:32,074.074 INFO    ] ================================================
[2026-10-20 01:49:32,690.690 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:49:32
[2026-10-20 01:49:33,287.287 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:49:33,567.567 INFO    ] Initializing speech engine...
[2026-10-20 01:49:33,574.574 INFO    ] 2026-10-20 01:49:33
[2026-10-20 01:49:33,834.834 INFO    ] 2026-10-20 01:49:33
[2026-10-20 01:49:33,885.885 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:49:34,114.114 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:49:34,120.120 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:49:34,347.347 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:49:34,379.379 INFO    ] time= 20/10/2026 01:49:34
[2026-10-20 01:49:34,398.398 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:49:34,420.420 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:49:34,567.567 INFO    ] No existing commands found in stream
[2026-10-20 01:49:39,602.602 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:49:39,605.605 INFO    ] Waiting 0.20 seconds before fallback handling...
[2026-10-20 01:49:40,309.309 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 01:49:40,312.312 INFO    ] Checking for system updates...
[2026-10-20 01:49:40,347.347 INFO    ] 200
[2026-10-20 01:49:40,350.350 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:49:40,404.404 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:49:40,406.406 INFO    ] No update needed
[2026-10-20 01:49:40,409.409 INFO    ] Checking for camera pi updates...
[2026-10-20 01:49:40,444.444 INFO    ] 200
[2026-10-20 01:49:40,447.447 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:49:40,492.492 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:49:40,545.545 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:49:40,547.547 INFO    ] No camera update needed
[2026-10-20 01:49:40,550.550 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:49:40,552.552 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:49:40,558.558 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:49:40,563.563 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:49:42,604.604 INFO    ] ================================================
[2026-10-20 01:49:42,620.620 INFO    ] Launching Daemon at Tue Oct 20 01:49:42 IST 2026
[2026-10-20 01:49:42,631.631 INFO    ] ================================================
[2026-10-20 01:49:43,266.266 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:49:43
[2026-10-20 01:49:43,864.864 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:49:44,125.125 INFO    ] Initializing speech engine...
[2026-10-20 01:49:44,132.132 INFO    ] 2026-10-20 01:49:44
[2026-10-20 01:49:44,417.417 INFO    ] 2026-10-20 01:49:44
[2026-10-20 01:49:44,452.452 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:49:44,703.703 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:49:44,713.713 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:49:44,913.913 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:49:44,968.968 INFO    ] time= 20/10/2026 01:49:44
[2026-10-20 01:49:44,976.976 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:49:44,995.995 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:49:45,146.146 INFO    ] No existing commands found in stream
[2026-10-20 01:49:50,181.181 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:49:50,184.184 INFO    ] Waiting 2.43 seconds before fallback handling...
[2026-10-20 01:49:53,150.150 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:49:53,153.153 INFO    ] Checking for system updates...
[2026-10-20 01:49:53,188.188 INFO    ] 200
[2026-10-20 01:49:53,191.191 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:49:53,249.249 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:49:53,251.251 INFO    ] No update needed
[2026-10-20 01:49:53,254.254 INFO    ] Checking for camera pi updates...
[2026-10-20 01:49:53,286.286 INFO    ] 200
[2026-10-20 01:49:53,289.289 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:49:53,329.329 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:49:53,373.373 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:49:53,376.376 INFO    ] No camera update needed
[2026-10-20 01:49:53,379.379 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:49:53,381.381 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:49:53,386.386 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:49:53,392.392 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:49:55,433.433 INFO    ] ================================================
[2026-10-20 01:49:55,449.449 INFO    ] Launching Daemon at Tue Oct 20 01:49:55 IST 2026
[2026-10-20 01:49:55,460.460 INFO    ] ================================================
[2026-10-20 01:49:56,039.039 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:49:56
[2026-10-20 01:49:56,624.624 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:49:56,873.873 INFO    ] Initializing speech engine...
[2026-10-20 01:49:56,887.887 INFO    ] 2026-10-20 01:49:56
[2026-10-20 01:49:57,154.154 INFO    ] 2026-10-20 01:49:57
[2026-10-20 01:49:57,188.188 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:49:57,449.449 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:49:57,458.458 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:49:57,669.669 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:49:57,723.723 INFO    ] time= 20/10/2026 01:49:57
[2026-10-20 01:49:57,730.730 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:49:57,744.744 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:49:57,881.881 INFO    ] No existing commands found in stream
[2026-10-20 01:50:02,892.892 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:50:02,896.896 INFO    ] Waiting 0.26 seconds before fallback handling...
[2026-10-20 01:50:07,367.367 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:50:07,369.369 INFO    ] Checking for system updates...
[2026-10-20 01:50:07,404.404 INFO    ] 200
[2026-10-20 01:50:07,406.406 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:50:07,459.459 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:50:07,462.462 INFO    ] No update needed
[2026-10-20 01:50:07,464.464 INFO    ] Checking for camera pi updates...
[2026-10-20 01:50:07,498.498 INFO    ] 200
[2026-10-20 01:50:07,501.501 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:50:07,547.547 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:50:07,602.602 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:50:07,605.605 INFO    ] No camera update needed
[2026-10-20 01:50:07,607.607 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:50:07,609.609 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:50:07,614.614 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:50:07,620.620 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:50:09,659.659 INFO    ] ================================================
[2026-10-20 01:50:09,675.675 INFO    ] Launching Daemon at Tue Oct 20 01:50:09 IST 2026
[2026-10-20 01:50:09,686.686 INFO    ] ================================================
[2026-10-20 01:50:10,267.267 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:50:10
[2026-10-20 01:50:10,867.867 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:50:11,145.145 INFO    ] Initializing speech engine...
[2026-10-20 01:50:11,152.152 INFO    ] 2026-10-20 01:50:11
[2026-10-20 01:50:11,413.413 INFO    ] 2026-10-20 01:50:11
[2026-10-20 01:50:11,464.464 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:50:11,693.693 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:50:11,697.697 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:50:11,918.918 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:50:11,955.955 INFO    ] time= 20/10/2026 01:50:11
[2026-10-20 01:50:11,961.961 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:50:11,980.980 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:50:12,113.113 INFO    ] No existing commands found in stream
[2026-10-20 01:50:17,133.133 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:50:17,136.136 INFO    ] Waiting 2.76 seconds before fallback handling...
[2026-10-20 01:50:20,439.439 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:50:20,442.442 INFO    ] Checking for system updates...
[2026-10-20 01:50:20,478.478 INFO    ] 200
[2026-10-20 01:50:20,481.481 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:50:20,532.532 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:50:20,535.535 INFO    ] No update needed
[2026-10-20 01:50:20,538.538 INFO    ] Checking for camera pi updates...
[2026-10-20 01:50:20,571.571 INFO    ] 200
[2026-10-20 01:50:20,573.573 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:50:20,613.613 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:50:20,663.663 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:50:20,665.665 INFO    ] No camera update needed
[2026-10-20 01:50:20,667.667 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:50:20,670.670 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:50:20,675.675 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:50:20,680.680 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:50:22,719.719 INFO    ] ================================================
[2026-10-20 01:50:22,734.734 INFO    ] Launching Daemon at Tue Oct 20 01:50:22 IST 2026
[2026-10-20 01:50:22,745.745 INFO    ] ================================================
[2026-10-20 01:50:23,312.312 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:50:23
[2026-10-20 01:50:23,900.900 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:50:24,163.163 INFO    ] Initializing speech engine...
[2026-10-20 01:50:24,178.178 INFO    ] 2026-10-20 01:50:24
[2026-10-20 01:50:24,466.466 INFO    ] 2026-10-20 01:50:24
[2026-10-20 01:50:24,501.501 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:50:24,705.705 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:50:24,719.719 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:50:24,868.868 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:50:24,880.880 INFO    ] time= 20/10/2026 01:50:24
[2026-10-20 01:50:24,885.885 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:50:24,891.891 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:50:25,030.030 INFO    ] No existing commands found in stream
[2026-10-20 01:50:30,055.055 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:50:30,058.058 INFO    ] Waiting 2.95 seconds before fallback handling...
[2026-10-20 01:50:33,900.900 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 01:50:33,902.902 INFO    ] Checking for system updates...
[2026-10-20 01:50:33,938.938 INFO    ] 200
[2026-10-20 01:50:33,941.941 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:50:33,992.992 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:50:33,995.995 INFO    ] No update needed
[2026-10-20 01:50:33,998.998 INFO    ] Checking for camera pi updates...
[2026-10-20 01:50:34,034.034 INFO    ] 200
[2026-10-20 01:50:34,037.037 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:50:34,077.077 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:50:34,118.118 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:50:34,121.121 INFO    ] No camera update needed
[2026-10-20 01:50:34,123.123 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:50:34,125.125 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:50:34,131.131 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:50:34,136.136 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:50:36,175.175 INFO    ] ================================================
[2026-10-20 01:50:36,190.190 INFO    ] Launching Daemon at Tue Oct 20 01:50:36 IST 2026
[2026-10-20 01:50:36,201.201 INFO    ] ================================================
[2026-10-20 01:50:36,848.848 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:50:36
[2026-10-20 01:50:37,506.506 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:50:37,809.809 INFO    ] Initializing speech engine...
[2026-10-20 01:50:37,822.822 INFO    ] 2026-10-20 01:50:37
[2026-10-20 01:50:38,090.090 INFO    ] 2026-10-20 01:50:38
[2026-10-20 01:50:38,155.155 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:50:38,386.386 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:50:38,391.391 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:50:38,541.541 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:50:38,611.611 INFO    ] time= 20/10/2026 01:50:38
[2026-10-20 01:50:38,655.655 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:50:38,662.662 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:50:38,810.810 INFO    ] No existing commands found in stream
[2026-10-20 01:50:43,833.833 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:50:43,836.836 INFO    ] Waiting 2.47 seconds before fallback handling...
[2026-10-20 01:50:46,856.856 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:50:46,860.860 INFO    ] Checking for system updates...
[2026-10-20 01:50:46,897.897 INFO    ] 200
[2026-10-20 01:50:46,900.900 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:50:46,954.954 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:50:46,957.957 INFO    ] No update needed
[2026-10-20 01:50:46,959.959 INFO    ] Checking for camera pi updates...
[2026-10-20 01:50:46,998.998 INFO    ] 200
[2026-10-20 01:50:47,001.001 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:50:47,046.046 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:50:47,095.095 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:50:47,098.098 INFO    ] No camera update needed
[2026-10-20 01:50:47,101.101 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:50:47,104.104 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:50:47,110.110 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:50:47,116.116 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:50:49,156.156 INFO    ] ================================================
[2026-10-20 01:50:49,171.171 INFO    ] Launching Daemon at Tue Oct 20 01:50:49 IST 2026
[2026-10-20 01:50:49,182.182 INFO    ] ================================================
[2026-10-20 01:50:49,750.750 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:50:49
[2026-10-20 01:50:50,335.335 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:50:50,609.609 INFO    ] Initializing speech engine...
[2026-10-20 01:50:50,618.618 INFO    ] 2026-10-20 01:50:50
[2026-10-20 01:50:50,874.874 INFO    ] 2026-10-20 01:50:50
[2026-10-20 01:50:50,904.904 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:50:51,148.148 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:50:51,157.157 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:50:51,372.372 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:50:51,417.417 INFO    ] time= 20/10/2026 01:50:51
[2026-10-20 01:50:51,424.424 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:50:51,444.444 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:50:51,573.573 INFO    ] No existing commands found in stream
[2026-10-20 01:50:56,592.592 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:50:56,595.595 INFO    ] Waiting 0.21 seconds before fallback handling...
[2026-10-20 01:50:57,294.294 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:50:57,297.297 INFO    ] Checking for system updates...
[2026-10-20 01:50:57,337.337 INFO    ] 200
[2026-10-20 01:50:57,339.339 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:50:57,399.399 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:50:57,401.401 INFO    ] No update needed
[2026-10-20 01:50:57,404.404 INFO    ] Checking for camera pi updates...
[2026-10-20 01:50:57,441.441 INFO    ] 200
[2026-10-20 01:50:57,444.444 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:50:57,489.489 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:50:57,546.546 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:50:57,549.549 INFO    ] No camera update needed
[2026-10-20 01:50:57,551.551 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:50:57,554.554 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:50:57,559.559 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:50:57,564.564 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:50:59,603.603 INFO    ] ================================================
[2026-10-20 01:50:59,619.619 INFO    ] Launching Daemon at Tue Oct 20 01:50:59 IST 2026
[2026-10-20 01:50:59,630.630 INFO    ] ================================================
[2026-10-20 01:51:00,209.209 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:51:00
[2026-10-20 01:51:00,799.799 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:51:01,051.051 INFO    ] Initializing speech engine...
[2026-10-20 01:51:01,066.066 INFO    ] 2026-10-20 01:51:01
[2026-10-20 01:51:01,334.334 INFO    ] 2026-10-20 01:51:01
[2026-10-20 01:51:01,370.370 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:51:01,608.608 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:51:01,614.614 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:51:01,811.811 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:51:01,821.821 INFO    ] time= 20/10/2026 01:51:01
[2026-10-20 01:51:01,824.824 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:51:01,827.827 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:51:01,954.954 INFO    ] No existing commands found in stream
[2026-10-20 01:51:06,985.985 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:51:06,987.987 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-10-20 01:51:09,240.240 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:51:09,243.243 INFO    ] Checking for system updates...
[2026-10-20 01:51:09,282.282 INFO    ] 200
[2026-10-20 01:51:09,284.284 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:51:09,343.343 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:51:09,345.345 INFO    ] No update needed
[2026-10-20 01:51:09,348.348 INFO    ] Checking for camera pi updates...
[2026-10-20 01:51:09,384.384 INFO    ] 200
[2026-10-20 01:51:09,386.386 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:51:09,426.426 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:51:09,475.475 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:51:09,478.478 INFO    ] No camera update needed
[2026-10-20 01:51:09,480.480 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:51:09,482.482 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:51:09,488.488 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:51:09,493.493 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:51:11,534.534 INFO    ] ================================================
[2026-10-20 01:51:11,549.549 INFO    ] Launching Daemon at Tue Oct 20 01:51:11 IST 2026
[2026-10-20 01:51:11,561.561 INFO    ] ================================================
[2026-10-20 01:51:12,154.154 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:51:12
[2026-10-20 01:51:12,738.738 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:51:12,997.997 INFO    ] Initializing speech engine...
[2026-10-20 01:51:13,011.011 INFO    ] 2026-10-20 01:51:12
[2026-10-20 01:51:13,295.295 INFO    ] 2026-10-20 01:51:13
[2026-10-20 01:51:13,333.333 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:51:13,607.607 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:51:13,628.628 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:51:13,786.786 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:51:13,792.792 INFO    ] time= 20/10/2026 01:51:13
[2026-10-20 01:51:13,851.851 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:51:13,938.938 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:51:14,104.104 INFO    ] No existing commands found in stream
[2026-10-20 01:51:19,120.120 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:51:19,124.124 INFO    ] Waiting 0.27 seconds before fallback handling...
[2026-10-20 01:51:19,885.885 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:51:19,887.887 INFO    ] Checking for system updates...
[2026-10-20 01:51:19,924.924 INFO    ] 200
[2026-10-20 01:51:19,927.927 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:51:19,986.986 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:51:19,989.989 INFO    ] No update needed
[2026-10-20 01:51:19,992.992 INFO    ] Checking for camera pi updates...
[2026-10-20 01:51:20,031.031 INFO    ] 200
[2026-10-20 01:51:20,034.034 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:51:20,079.079 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:51:20,134.134 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:51:20,138.138 INFO    ] No camera update needed
[2026-10-20 01:51:20,141.141 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:51:20,143.143 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:51:20,150.150 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:51:20,155.155 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:51:22,197.197 INFO    ] ================================================
[2026-10-20 01:51:22,212.212 INFO    ] Launching Daemon at Tue Oct 20 01:51:22 IST 2026
[2026-10-20 01:51:22,222.222 INFO    ] ================================================
[2026-10-20 01:51:22,807.807 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:51:22
[2026-10-20 01:51:23,392.392 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:51:23,649.649 INFO    ] Initializing speech engine...
[2026-10-20 01:51:23,663.663 INFO    ] 2026-10-20 01:51:23
[2026-10-20 01:51:23,945.945 INFO    ] 2026-10-20 01:51:23
[2026-10-20 01:51:23,980.980 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:51:24,179.179 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:51:24,192.192 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:51:24,352.352 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:51:24,360.360 INFO    ] time= 20/10/2026 01:51:24
[2026-10-20 01:51:24,364.364 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:51:24,371.371 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:51:24,513.513 INFO    ] No existing commands found in stream
[2026-10-20 01:51:29,538.538 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:51:29,541.541 INFO    ] Waiting 1.79 seconds before fallback handling...
[2026-10-20 01:51:31,853.853 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:51:31,856.856 INFO    ] Checking for system updates...
[2026-10-20 01:51:31,894.894 INFO    ] 200
[2026-10-20 01:51:31,897.897 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:51:31,952.952 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:51:31,955.955 INFO    ] No update needed
[2026-10-20 01:51:31,957.957 INFO    ] Checking for camera pi updates...
[2026-10-20 01:51:31,996.996 INFO    ] 200
[2026-10-20 01:51:31,998.998 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:51:32,045.045 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:51:32,084.084 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:51:32,087.087 INFO    ] No camera update needed
[2026-10-20 01:51:32,090.090 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:51:32,092.092 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:51:32,098.098 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:51:32,104.104 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:51:34,145.145 INFO    ] ================================================
[2026-10-20 01:51:34,160.160 INFO    ] Launching Daemon at Tue Oct 20 01:51:34 IST 2026
[2026-10-20 01:51:34,171.171 INFO    ] ================================================
[2026-10-20 01:51:34,815.815 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:51:34
[2026-10-20 01:51:35,480.480 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:51:35,775.775 INFO    ] Initializing speech engine...
[2026-10-20 01:51:35,779.779 INFO    ] 2026-10-20 01:51:35
[2026-10-20 01:51:36,054.054 INFO    ] 2026-10-20 01:51:36
[2026-10-20 01:51:36,119.119 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:51:36,379.379 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:51:36,388.388 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:51:36,612.612 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:51:36,627.627 INFO    ] time= 20/10/2026 01:51:36
[2026-10-20 01:51:36,643.643 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:51:36,652.652 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:51:36,783.783 INFO    ] No existing commands found in stream
[2026-10-20 01:51:41,799.799 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:51:41,802.802 INFO    ] Waiting 1.63 seconds before fallback handling...
[2026-10-20 01:51:43,950.950 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:51:43,953.953 INFO    ] Checking for system updates...
[2026-10-20 01:51:43,989.989 INFO    ] 200
[2026-10-20 01:51:43,992.992 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:51:44,046.046 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:51:44,049.049 INFO    ] No update needed
[2026-10-20 01:51:44,052.052 INFO    ] Checking for camera pi updates...
[2026-10-20 01:51:44,098.098 INFO    ] 200
[2026-10-20 01:51:44,101.101 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:51:44,147.147 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:51:44,195.195 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:51:44,198.198 INFO    ] No camera update needed
[2026-10-20 01:51:44,201.201 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:51:44,203.203 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:51:44,210.210 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:51:44,215.215 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:51:46,256.256 INFO    ] ================================================
[2026-10-20 01:51:46,271.271 INFO    ] Launching Daemon at Tue Oct 20 01:51:46 IST 2026
[2026-10-20 01:51:46,282.282 INFO    ] ================================================
[2026-10-20 01:51:46,929.929 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:51:46
[2026-10-20 01:51:47,642.642 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:51:47,976.976 INFO    ] Initializing speech engine...
[2026-10-20 01:51:47,988.988 INFO    ] 2026-10-20 01:51:47
[2026-10-20 01:51:48,302.302 INFO    ] 2026-10-20 01:51:48
[2026-10-20 01:51:48,342.342 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:51:48,555.555 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:51:48,583.583 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:51:48,784.784 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:51:48,811.811 INFO    ] time= 20/10/2026 01:51:48
[2026-10-20 01:51:48,882.882 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:51:48,943.943 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:51:49,047.047 INFO    ] No existing commands found in stream
[2026-10-20 01:51:54,081.081 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:51:54,084.084 INFO    ] Waiting 1.95 seconds before fallback handling...
[2026-10-20 01:51:56,545.545 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 01:51:56,548.548 INFO    ] Checking for system updates...
[2026-10-20 01:51:56,583.583 INFO    ] 200
[2026-10-20 01:51:56,586.586 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:51:56,638.638 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:51:56,640.640 INFO    ] No update needed
[2026-10-20 01:51:56,643.643 INFO    ] Checking for camera pi updates...
[2026-10-20 01:51:56,675.675 INFO    ] 200
[2026-10-20 01:51:56,678.678 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:51:56,722.722 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:51:56,774.774 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:51:56,777.777 INFO    ] No camera update needed
[2026-10-20 01:51:56,779.779 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:51:56,781.781 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:51:56,787.787 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:51:56,792.792 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:51:58,832.832 INFO    ] ================================================
[2026-10-20 01:51:58,847.847 INFO    ] Launching Daemon at Tue Oct 20 01:51:58 IST 2026
[2026-10-20 01:51:58,858.858 INFO    ] ================================================
[2026-10-20 01:51:59,424.424 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:51:59
[2026-10-20 01:52:00,010.010 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:52:00,255.255 INFO    ] Initializing speech engine...
[2026-10-20 01:52:00,264.264 INFO    ] 2026-10-20 01:52:00
[2026-10-20 01:52:00,537.537 INFO    ] 2026-10-20 01:52:00
[2026-10-20 01:52:00,570.570 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:52:00,804.804 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:52:00,832.832 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:52:01,029.029 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:52:01,086.086 INFO    ] time= 20/10/2026 01:52:01
[2026-10-20 01:52:01,111.111 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:52:01,128.128 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:52:01,262.262 INFO    ] No existing commands found in stream
[2026-10-20 01:52:06,276.276 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:52:06,279.279 INFO    ] Waiting 1.50 seconds before fallback handling...
[2026-10-20 01:52:08,284.284 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 01:52:08,287.287 INFO    ] Checking for system updates...
[2026-10-20 01:52:08,325.325 INFO    ] 200
[2026-10-20 01:52:08,328.328 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:52:08,385.385 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:52:08,388.388 INFO    ] No update needed
[2026-10-20 01:52:08,390.390 INFO    ] Checking for camera pi updates...
[2026-10-20 01:52:08,423.423 INFO    ] 200
[2026-10-20 01:52:08,426.426 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:52:08,466.466 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:52:08,519.519 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:52:08,521.521 INFO    ] No camera update needed
[2026-10-20 01:52:08,524.524 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:52:08,526.526 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:52:08,531.531 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:52:08,536.536 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:52:10,577.577 INFO    ] ================================================
[2026-10-20 01:52:10,593.593 INFO    ] Launching Daemon at Tue Oct 20 01:52:10 IST 2026
[2026-10-20 01:52:10,604.604 INFO    ] ================================================
[2026-10-20 01:52:11,244.244 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:52:11
[2026-10-20 01:52:11,903.903 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:52:12,209.209 INFO    ] Initializing speech engine...
[2026-10-20 01:52:12,220.220 INFO    ] 2026-10-20 01:52:12
[2026-10-20 01:52:12,504.504 INFO    ] 2026-10-20 01:52:12
[2026-10-20 01:52:12,614.614 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:52:12,828.828 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:52:12,837.837 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:52:13,028.028 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:52:13,050.050 INFO    ] time= 20/10/2026 01:52:13
[2026-10-20 01:52:13,080.080 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:52:13,088.088 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:52:13,206.206 INFO    ] No existing commands found in stream
[2026-10-20 01:52:18,232.232 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:52:18,235.235 INFO    ] Waiting 0.15 seconds before fallback handling...
[2026-10-20 01:52:18,882.882 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:52:18,885.885 INFO    ] Checking for system updates...
[2026-10-20 01:52:18,925.925 INFO    ] 200
[2026-10-20 01:52:18,928.928 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:52:18,989.989 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:52:18,992.992 INFO    ] No update needed
[2026-10-20 01:52:18,995.995 INFO    ] Checking for camera pi updates...
[2026-10-20 01:52:19,034.034 INFO    ] 200
[2026-10-20 01:52:19,036.036 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:52:19,076.076 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:52:19,120.120 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:52:19,123.123 INFO    ] No camera update needed
[2026-10-20 01:52:19,125.125 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:52:19,127.127 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:52:19,133.133 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:52:19,138.138 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:52:21,179.179 INFO    ] ================================================
[2026-10-20 01:52:21,194.194 INFO    ] Launching Daemon at Tue Oct 20 01:52:21 IST 2026
[2026-10-20 01:52:21,205.205 INFO    ] ================================================
[2026-10-20 01:52:21,779.779 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:52:21
[2026-10-20 01:52:22,364.364 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:52:22,613.613 INFO    ] Initializing speech engine...
[2026-10-20 01:52:22,628.628 INFO    ] 2026-10-20 01:52:22
[2026-10-20 01:52:22,894.894 INFO    ] 2026-10-20 01:52:22
[2026-10-20 01:52:22,930.930 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:52:23,194.194 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:52:23,199.199 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:52:23,408.408 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:52:23,457.457 INFO    ] time= 20/10/2026 01:52:23
[2026-10-20 01:52:23,463.463 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:52:23,480.480 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:52:23,624.624 INFO    ] No existing commands found in stream
[2026-10-20 01:52:28,650.650 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:52:28,653.653 INFO    ] Waiting 2.83 seconds before fallback handling...
[2026-10-20 01:52:32,009.009 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 01:52:32,012.012 INFO    ] Checking for system updates...
[2026-10-20 01:52:32,054.054 INFO    ] 200
[2026-10-20 01:52:32,056.056 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:52:32,111.111 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:52:32,114.114 INFO    ] No update needed
[2026-10-20 01:52:32,117.117 INFO    ] Checking for camera pi updates...
[2026-10-20 01:52:32,152.152 INFO    ] 200
[2026-10-20 01:52:32,155.155 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:52:32,204.204 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:52:32,239.239 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:52:32,242.242 INFO    ] No camera update needed
[2026-10-20 01:52:32,245.245 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:52:32,249.249 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:52:32,257.257 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:52:32,263.263 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:52:34,305.305 INFO    ] ================================================
[2026-10-20 01:52:34,324.324 INFO    ] Launching Daemon at Tue Oct 20 01:52:34 IST 2026
[2026-10-20 01:52:34,335.335 INFO    ] ================================================
[2026-10-20 01:52:34,916.916 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:52:34
[2026-10-20 01:52:35,504.504 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:52:35,762.762 INFO    ] Initializing speech engine...
[2026-10-20 01:52:35,781.781 INFO    ] 2026-10-20 01:52:35
[2026-10-20 01:52:36,028.028 INFO    ] 2026-10-20 01:52:36
[2026-10-20 01:52:36,063.063 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:52:36,314.314 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:52:36,325.325 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:52:36,527.527 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:52:36,582.582 INFO    ] time= 20/10/2026 01:52:36
[2026-10-20 01:52:36,588.588 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:52:36,606.606 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:52:36,734.734 INFO    ] No existing commands found in stream
[2026-10-20 01:52:41,748.748 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:52:41,751.751 INFO    ] Waiting 1.14 seconds before fallback handling...
[2026-10-20 01:52:43,393.393 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:52:43,396.396 INFO    ] Checking for system updates...
[2026-10-20 01:52:43,435.435 INFO    ] 200
[2026-10-20 01:52:43,437.437 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:52:43,488.488 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:52:43,491.491 INFO    ] No update needed
[2026-10-20 01:52:43,494.494 INFO    ] Checking for camera pi updates...
[2026-10-20 01:52:43,527.527 INFO    ] 200
[2026-10-20 01:52:43,530.530 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:52:43,575.575 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:52:43,719.719 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:52:43,721.721 INFO    ] No camera update needed
[2026-10-20 01:52:43,724.724 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:52:43,726.726 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:52:43,731.731 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:52:43,736.736 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:52:45,777.777 INFO    ] ================================================
[2026-10-20 01:52:45,792.792 INFO    ] Launching Daemon at Tue Oct 20 01:52:45 IST 2026
[2026-10-20 01:52:45,803.803 INFO    ] ================================================
[2026-10-20 01:52:46,442.442 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:52:46
[2026-10-20 01:52:47,101.101 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:52:47,403.403 INFO    ] Initializing speech engine...
[2026-10-20 01:52:47,415.415 INFO    ] 2026-10-20 01:52:47
[2026-10-20 01:52:47,690.690 INFO    ] 2026-10-20 01:52:47
[2026-10-20 01:52:47,746.746 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:52:47,987.987 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:52:47,994.994 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:52:48,209.209 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:52:48,259.259 INFO    ] time= 20/10/2026 01:52:48
[2026-10-20 01:52:48,278.278 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:52:48,285.285 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:52:48,425.425 INFO    ] No existing commands found in stream
[2026-10-20 01:52:53,439.439 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:52:53,442.442 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-10-20 01:52:54,573.573 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:52:54,576.576 INFO    ] Checking for system updates...
[2026-10-20 01:52:54,612.612 INFO    ] 200
[2026-10-20 01:52:54,615.615 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:52:54,674.674 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:52:54,677.677 INFO    ] No update needed
[2026-10-20 01:52:54,679.679 INFO    ] Checking for camera pi updates...
[2026-10-20 01:52:54,713.713 INFO    ] 200
[2026-10-20 01:52:54,716.716 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:52:54,756.756 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:52:54,805.805 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:52:54,808.808 INFO    ] No camera update needed
[2026-10-20 01:52:54,810.810 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:52:54,812.812 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:52:54,818.818 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:52:54,823.823 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:52:56,862.862 INFO    ] ================================================
[2026-10-20 01:52:56,879.879 INFO    ] Launching Daemon at Tue Oct 20 01:52:56 IST 2026
[2026-10-20 01:52:56,890.890 INFO    ] ================================================
[2026-10-20 01:52:57,468.468 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:52:57
[2026-10-20 01:52:58,076.076 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:52:58,354.354 INFO    ] Initializing speech engine...
[2026-10-20 01:52:58,362.362 INFO    ] 2026-10-20 01:52:58
[2026-10-20 01:52:58,620.620 INFO    ] 2026-10-20 01:52:58
[2026-10-20 01:52:58,673.673 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:52:58,899.899 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:52:58,905.905 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:52:59,127.127 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:52:59,162.162 INFO    ] time= 20/10/2026 01:52:59
[2026-10-20 01:52:59,167.167 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:52:59,190.190 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:52:59,333.333 INFO    ] No existing commands found in stream
[2026-10-20 01:53:04,365.365 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:53:04,368.368 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-10-20 01:53:07,646.646 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:53:07,649.649 INFO    ] Checking for system updates...
[2026-10-20 01:53:07,684.684 INFO    ] 200
[2026-10-20 01:53:07,686.686 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:53:07,741.741 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:53:07,743.743 INFO    ] No update needed
[2026-10-20 01:53:07,745.745 INFO    ] Checking for camera pi updates...
[2026-10-20 01:53:07,785.785 INFO    ] 200
[2026-10-20 01:53:07,788.788 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:53:07,831.831 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:53:07,881.881 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:53:07,883.883 INFO    ] No camera update needed
[2026-10-20 01:53:07,886.886 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:53:07,888.888 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:53:07,893.893 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:53:07,898.898 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:53:09,939.939 INFO    ] ================================================
[2026-10-20 01:53:09,955.955 INFO    ] Launching Daemon at Tue Oct 20 01:53:09 IST 2026
[2026-10-20 01:53:09,966.966 INFO    ] ================================================
[2026-10-20 01:53:10,630.630 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:53:10
[2026-10-20 01:53:11,281.281 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:53:11,578.578 INFO    ] Initializing speech engine...
[2026-10-20 01:53:11,584.584 INFO    ] 2026-10-20 01:53:11
[2026-10-20 01:53:11,865.865 INFO    ] 2026-10-20 01:53:11
[2026-10-20 01:53:11,909.909 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:53:12,162.162 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:53:12,195.195 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:53:12,396.396 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:53:12,404.404 INFO    ] time= 20/10/2026 01:53:12
[2026-10-20 01:53:12,423.423 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:53:12,451.451 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:53:12,569.569 INFO    ] No existing commands found in stream
[2026-10-20 01:53:17,604.604 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:53:17,607.607 INFO    ] Waiting 1.98 seconds before fallback handling...
[2026-10-20 01:53:20,127.127 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 01:53:20,130.130 INFO    ] Checking for system updates...
[2026-10-20 01:53:20,170.170 INFO    ] 200
[2026-10-20 01:53:20,173.173 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:53:20,225.225 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:53:20,227.227 INFO    ] No update needed
[2026-10-20 01:53:20,230.230 INFO    ] Checking for camera pi updates...
[2026-10-20 01:53:20,264.264 INFO    ] 200
[2026-10-20 01:53:20,267.267 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:53:20,307.307 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:53:20,353.353 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:53:20,356.356 INFO    ] No camera update needed
[2026-10-20 01:53:20,358.358 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:53:20,361.361 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:53:20,367.367 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:53:20,372.372 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:53:22,413.413 INFO    ] ================================================
[2026-10-20 01:53:22,429.429 INFO    ] Launching Daemon at Tue Oct 20 01:53:22 IST 2026
[2026-10-20 01:53:22,440.440 INFO    ] ================================================
[2026-10-20 01:53:23,023.023 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:53:23
[2026-10-20 01:53:23,611.611 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:53:23,883.883 INFO    ] Initializing speech engine...
[2026-10-20 01:53:23,892.892 INFO    ] 2026-10-20 01:53:23
[2026-10-20 01:53:24,143.143 INFO    ] 2026-10-20 01:53:24
[2026-10-20 01:53:24,177.177 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:53:24,434.434 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:53:24,440.440 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:53:24,664.664 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:53:24,698.698 INFO    ] time= 20/10/2026 01:53:24
[2026-10-20 01:53:24,704.704 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:53:24,722.722 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:53:24,855.855 INFO    ] No existing commands found in stream
[2026-10-20 01:53:29,873.873 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:53:29,876.876 INFO    ] Waiting 0.32 seconds before fallback handling...
[2026-10-20 01:53:30,729.729 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:53:30,731.731 INFO    ] Checking for system updates...
[2026-10-20 01:53:30,766.766 INFO    ] 200
[2026-10-20 01:53:30,769.769 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:53:30,820.820 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:53:30,823.823 INFO    ] No update needed
[2026-10-20 01:53:30,825.825 INFO    ] Checking for camera pi updates...
[2026-10-20 01:53:30,862.862 INFO    ] 200
[2026-10-20 01:53:30,865.865 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:53:30,905.905 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:53:30,959.959 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:53:30,961.961 INFO    ] No camera update needed
[2026-10-20 01:53:30,963.963 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:53:30,966.966 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:53:30,971.971 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:53:30,976.976 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:53:33,018.018 INFO    ] ================================================
[2026-10-20 01:53:33,033.033 INFO    ] Launching Daemon at Tue Oct 20 01:53:33 IST 2026
[2026-10-20 01:53:33,044.044 INFO    ] ================================================
[2026-10-20 01:53:33,698.698 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:53:33
[2026-10-20 01:53:34,386.386 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:53:34,724.724 INFO    ] Initializing speech engine...
[2026-10-20 01:53:34,738.738 INFO    ] 2026-10-20 01:53:34
[2026-10-20 01:53:35,018.018 INFO    ] 2026-10-20 01:53:35
[2026-10-20 01:53:35,066.066 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:53:35,294.294 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:53:35,299.299 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:53:35,505.505 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:53:35,561.561 INFO    ] time= 20/10/2026 01:53:35
[2026-10-20 01:53:35,568.568 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:53:35,589.589 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:53:35,722.722 INFO    ] No existing commands found in stream
[2026-10-20 01:53:40,742.742 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:53:40,746.746 INFO    ] Waiting 0.04 seconds before fallback handling...
[2026-10-20 01:53:41,286.286 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 01:53:41,289.289 INFO    ] Checking for system updates...
[2026-10-20 01:53:41,329.329 INFO    ] 200
[2026-10-20 01:53:41,332.332 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:53:41,391.391 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:53:41,394.394 INFO    ] No update needed
[2026-10-20 01:53:41,397.397 INFO    ] Checking for camera pi updates...
[2026-10-20 01:53:41,431.431 INFO    ] 200
[2026-10-20 01:53:41,434.434 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:53:41,476.476 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:53:41,526.526 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:53:41,529.529 INFO    ] No camera update needed
[2026-10-20 01:53:41,531.531 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:53:41,534.534 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:53:41,540.540 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:53:41,546.546 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:53:43,587.587 INFO    ] ================================================
[2026-10-20 01:53:43,603.603 INFO    ] Launching Daemon at Tue Oct 20 01:53:43 IST 2026
[2026-10-20 01:53:43,615.615 INFO    ] ================================================
[2026-10-20 01:53:44,186.186 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:53:44
[2026-10-20 01:53:44,801.801 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:53:45,118.118 INFO    ] Initializing speech engine...
[2026-10-20 01:53:45,129.129 INFO    ] 2026-10-20 01:53:45
[2026-10-20 01:53:45,399.399 INFO    ] 2026-10-20 01:53:45
[2026-10-20 01:53:45,455.455 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:53:45,686.686 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:53:45,691.691 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:53:45,892.892 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:53:45,947.947 INFO    ] time= 20/10/2026 01:53:45
[2026-10-20 01:53:45,959.959 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:53:45,981.981 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:53:46,144.144 INFO    ] No existing commands found in stream
[2026-10-20 01:53:51,170.170 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:53:51,173.173 INFO    ] Waiting 1.57 seconds before fallback handling...
[2026-10-20 01:53:53,265.265 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 01:53:53,268.268 INFO    ] Checking for system updates...
[2026-10-20 01:53:53,304.304 INFO    ] 200
[2026-10-20 01:53:53,307.307 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:53:53,360.360 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:53:53,363.363 INFO    ] No update needed
[2026-10-20 01:53:53,366.366 INFO    ] Checking for camera pi updates...
[2026-10-20 01:53:53,400.400 INFO    ] 200
[2026-10-20 01:53:53,403.403 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:53:53,443.443 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:53:53,491.491 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:53:53,494.494 INFO    ] No camera update needed
[2026-10-20 01:53:53,497.497 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:53:53,499.499 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:53:53,505.505 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:53:53,511.511 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:53:55,552.552 INFO    ] ================================================
[2026-10-20 01:53:55,568.568 INFO    ] Launching Daemon at Tue Oct 20 01:53:55 IST 2026
[2026-10-20 01:53:55,578.578 INFO    ] ================================================
[2026-10-20 01:53:56,148.148 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:53:56
[2026-10-20 01:53:56,734.734 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:53:57,005.005 INFO    ] Initializing speech engine...
[2026-10-20 01:53:57,014.014 INFO    ] 2026-10-20 01:53:57
[2026-10-20 01:53:57,266.266 INFO    ] 2026-10-20 01:53:57
[2026-10-20 01:53:57,301.301 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:53:57,550.550 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:53:57,556.556 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:53:57,778.778 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:53:57,814.814 INFO    ] time= 20/10/2026 01:53:57
[2026-10-20 01:53:57,821.821 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:53:57,841.841 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:53:57,959.959 INFO    ] No existing commands found in stream
[2026-10-20 01:54:02,979.979 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:54:02,982.982 INFO    ] Waiting 3.26 seconds before fallback handling...
[2026-10-20 01:54:06,741.741 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:54:06,744.744 INFO    ] Checking for system updates...
[2026-10-20 01:54:06,798.798 INFO    ] 200
[2026-10-20 01:54:06,800.800 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:54:06,858.858 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:54:06,861.861 INFO    ] No update needed
[2026-10-20 01:54:06,864.864 INFO    ] Checking for camera pi updates...
[2026-10-20 01:54:06,899.899 INFO    ] 200
[2026-10-20 01:54:06,902.902 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:54:06,951.951 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:54:07,002.002 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:54:07,004.004 INFO    ] No camera update needed
[2026-10-20 01:54:07,007.007 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:54:07,010.010 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:54:07,017.017 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:54:07,023.023 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:54:09,065.065 INFO    ] ================================================
[2026-10-20 01:54:09,080.080 INFO    ] Launching Daemon at Tue Oct 20 01:54:09 IST 2026
[2026-10-20 01:54:09,091.091 INFO    ] ================================================
[2026-10-20 01:54:09,723.723 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:54:09
[2026-10-20 01:54:10,382.382 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:54:10,681.681 INFO    ] Initializing speech engine...
[2026-10-20 01:54:10,688.688 INFO    ] 2026-10-20 01:54:10
[2026-10-20 01:54:10,974.974 INFO    ] 2026-10-20 01:54:10
[2026-10-20 01:54:11,018.018 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:54:11,268.268 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:54:11,296.296 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:54:11,502.502 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:54:11,521.521 INFO    ] time= 20/10/2026 01:54:11
[2026-10-20 01:54:11,554.554 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:54:11,563.563 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:54:11,683.683 INFO    ] No existing commands found in stream
[2026-10-20 01:54:16,709.709 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:54:16,712.712 INFO    ] Waiting 0.91 seconds before fallback handling...
[2026-10-20 01:54:18,157.157 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 01:54:18,160.160 INFO    ] Checking for system updates...
[2026-10-20 01:54:18,197.197 INFO    ] 200
[2026-10-20 01:54:18,200.200 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:54:18,253.253 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:54:18,255.255 INFO    ] No update needed
[2026-10-20 01:54:18,258.258 INFO    ] Checking for camera pi updates...
[2026-10-20 01:54:18,292.292 INFO    ] 200
[2026-10-20 01:54:18,295.295 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:54:18,336.336 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:54:18,395.395 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:54:18,398.398 INFO    ] No camera update needed
[2026-10-20 01:54:18,401.401 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:54:18,403.403 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:54:18,410.410 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:54:18,415.415 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:54:20,457.457 INFO    ] ================================================
[2026-10-20 01:54:20,472.472 INFO    ] Launching Daemon at Tue Oct 20 01:54:20 IST 2026
[2026-10-20 01:54:20,483.483 INFO    ] ================================================
[2026-10-20 01:54:21,050.050 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:54:21
[2026-10-20 01:54:21,634.634 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:54:21,905.905 INFO    ] Initializing speech engine...
[2026-10-20 01:54:21,914.914 INFO    ] 2026-10-20 01:54:21
[2026-10-20 01:54:22,197.197 INFO    ] 2026-10-20 01:54:22
[2026-10-20 01:54:22,251.251 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:54:22,533.533 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:54:22,538.538 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:54:22,731.731 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:54:22,738.738 INFO    ] time= 20/10/2026 01:54:22
[2026-10-20 01:54:22,755.755 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:54:22,773.773 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:54:22,891.891 INFO    ] No existing commands found in stream
[2026-10-20 01:54:27,914.914 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:54:27,917.917 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-10-20 01:54:30,430.430 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:54:30,433.433 INFO    ] Checking for system updates...
[2026-10-20 01:54:30,469.469 INFO    ] 200
[2026-10-20 01:54:30,471.471 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:54:30,522.522 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:54:30,525.525 INFO    ] No update needed
[2026-10-20 01:54:30,527.527 INFO    ] Checking for camera pi updates...
[2026-10-20 01:54:30,563.563 INFO    ] 200
[2026-10-20 01:54:30,565.565 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:54:30,605.605 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:54:30,656.656 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:54:30,659.659 INFO    ] No camera update needed
[2026-10-20 01:54:30,661.661 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:54:30,663.663 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:54:30,669.669 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:54:30,674.674 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:54:32,716.716 INFO    ] ================================================
[2026-10-20 01:54:32,733.733 INFO    ] Launching Daemon at Tue Oct 20 01:54:32 IST 2026
[2026-10-20 01:54:32,745.745 INFO    ] ================================================
[2026-10-20 01:54:33,418.418 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:54:33
[2026-10-20 01:54:34,079.079 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:54:34,379.379 INFO    ] Initializing speech engine...
[2026-10-20 01:54:34,393.393 INFO    ] 2026-10-20 01:54:34
[2026-10-20 01:54:34,676.676 INFO    ] 2026-10-20 01:54:34
[2026-10-20 01:54:34,785.785 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:54:35,064.064 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:54:35,117.117 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:54:35,343.343 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:54:35,391.391 INFO    ] time= 20/10/2026 01:54:35
[2026-10-20 01:54:35,453.453 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:54:35,487.487 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:54:35,615.615 INFO    ] No existing commands found in stream
[2026-10-20 01:54:40,647.647 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:54:40,656.656 INFO    ] Waiting 3.58 seconds before fallback handling...
[2026-10-20 01:54:44,744.744 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:54:44,747.747 INFO    ] Checking for system updates...
[2026-10-20 01:54:44,785.785 INFO    ] 200
[2026-10-20 01:54:44,787.787 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:54:44,846.846 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:54:44,849.849 INFO    ] No update needed
[2026-10-20 01:54:44,852.852 INFO    ] Checking for camera pi updates...
[2026-10-20 01:54:44,896.896 INFO    ] 200
[2026-10-20 01:54:44,899.899 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:54:44,940.940 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:54:44,986.986 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:54:44,989.989 INFO    ] No camera update needed
[2026-10-20 01:54:44,992.992 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:54:44,994.994 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:54:45,001.001 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:54:45,006.006 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:54:47,055.055 INFO    ] ================================================
[2026-10-20 01:54:47,071.071 INFO    ] Launching Daemon at Tue Oct 20 01:54:47 IST 2026
[2026-10-20 01:54:47,082.082 INFO    ] ================================================
[2026-10-20 01:54:47,650.650 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:54:47
[2026-10-20 01:54:48,236.236 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:54:48,505.505 INFO    ] Initializing speech engine...
[2026-10-20 01:54:48,513.513 INFO    ] 2026-10-20 01:54:48
[2026-10-20 01:54:48,761.761 INFO    ] 2026-10-20 01:54:48
[2026-10-20 01:54:48,795.795 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:54:49,051.051 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:54:49,055.055 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:54:49,189.189 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:54:49,259.259 INFO    ] time= 20/10/2026 01:54:49
[2026-10-20 01:54:49,313.313 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:54:49,323.323 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:54:49,469.469 INFO    ] No existing commands found in stream
[2026-10-20 01:54:54,484.484 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:54:54,487.487 INFO    ] Waiting 2.25 seconds before fallback handling...
[2026-10-20 01:54:57,228.228 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 01:54:57,230.230 INFO    ] Checking for system updates...
[2026-10-20 01:54:57,266.266 INFO    ] 200
[2026-10-20 01:54:57,269.269 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:54:57,321.321 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:54:57,324.324 INFO    ] No update needed
[2026-10-20 01:54:57,327.327 INFO    ] Checking for camera pi updates...
[2026-10-20 01:54:57,360.360 INFO    ] 200
[2026-10-20 01:54:57,362.362 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:54:57,402.402 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:54:57,545.545 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:54:57,547.547 INFO    ] No camera update needed
[2026-10-20 01:54:57,550.550 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:54:57,552.552 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:54:57,557.557 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:54:57,562.562 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:54:59,604.604 INFO    ] ================================================
[2026-10-20 01:54:59,620.620 INFO    ] Launching Daemon at Tue Oct 20 01:54:59 IST 2026
[2026-10-20 01:54:59,631.631 INFO    ] ================================================
[2026-10-20 01:55:00,207.207 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:55:00
[2026-10-20 01:55:00,794.794 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:55:01,051.051 INFO    ] Initializing speech engine...
[2026-10-20 01:55:01,064.064 INFO    ] 2026-10-20 01:55:01
[2026-10-20 01:55:01,347.347 INFO    ] 2026-10-20 01:55:01
[2026-10-20 01:55:01,385.385 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:55:01,598.598 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:55:01,626.626 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:55:01,821.821 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:55:01,826.826 INFO    ] time= 20/10/2026 01:55:01
[2026-10-20 01:55:01,841.841 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:55:01,845.845 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:55:01,979.979 INFO    ] No existing commands found in stream
[2026-10-20 01:55:07,013.013 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:55:07,016.016 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-10-20 01:55:10,682.682 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:55:10,685.685 INFO    ] Checking for system updates...
[2026-10-20 01:55:10,721.721 INFO    ] 200
[2026-10-20 01:55:10,724.724 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:55:10,777.777 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:55:10,779.779 INFO    ] No update needed
[2026-10-20 01:55:10,782.782 INFO    ] Checking for camera pi updates...
[2026-10-20 01:55:10,817.817 INFO    ] 200
[2026-10-20 01:55:10,819.819 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:55:10,861.861 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:55:10,912.912 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:55:10,914.914 INFO    ] No camera update needed
[2026-10-20 01:55:10,917.917 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:55:10,919.919 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:55:10,925.925 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:55:10,931.931 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:55:12,972.972 INFO    ] ================================================
[2026-10-20 01:55:12,987.987 INFO    ] Launching Daemon at Tue Oct 20 01:55:12 IST 2026
[2026-10-20 01:55:13,997.997 INFO    ] ================================================
[2026-10-20 01:55:13,589.589 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:55:13
[2026-10-20 01:55:14,172.172 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:55:14,440.440 INFO    ] Initializing speech engine...
[2026-10-20 01:55:14,449.449 INFO    ] 2026-10-20 01:55:14
[2026-10-20 01:55:14,694.694 INFO    ] 2026-10-20 01:55:14
[2026-10-20 01:55:14,730.730 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:55:14,981.981 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:55:14,990.990 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:55:15,166.166 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:55:15,220.220 INFO    ] time= 20/10/2026 01:55:15
[2026-10-20 01:55:15,254.254 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:55:15,269.269 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:55:15,403.403 INFO    ] No existing commands found in stream
[2026-10-20 01:55:20,414.414 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:55:20,417.417 INFO    ] Waiting 0.07 seconds before fallback handling...
[2026-10-20 01:55:20,940.940 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:55:20,943.943 INFO    ] Checking for system updates...
[2026-10-20 01:55:20,978.978 INFO    ] 200
[2026-10-20 01:55:20,980.980 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:55:21,032.032 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:55:21,034.034 INFO    ] No update needed
[2026-10-20 01:55:21,037.037 INFO    ] Checking for camera pi updates...
[2026-10-20 01:55:21,071.071 INFO    ] 200
[2026-10-20 01:55:21,073.073 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:55:21,113.113 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:55:21,160.160 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:55:21,163.163 INFO    ] No camera update needed
[2026-10-20 01:55:21,165.165 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:55:21,167.167 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:55:21,173.173 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:55:21,178.178 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:55:23,218.218 INFO    ] ================================================
[2026-10-20 01:55:23,233.233 INFO    ] Launching Daemon at Tue Oct 20 01:55:23 IST 2026
[2026-10-20 01:55:23,244.244 INFO    ] ================================================
[2026-10-20 01:55:23,810.810 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:55:23
[2026-10-20 01:55:24,393.393 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:55:24,640.640 INFO    ] Initializing speech engine...
[2026-10-20 01:55:24,663.663 INFO    ] 2026-10-20 01:55:24
[2026-10-20 01:55:24,913.913 INFO    ] 2026-10-20 01:55:24
[2026-10-20 01:55:24,948.948 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:55:25,200.200 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:55:25,209.209 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:55:25,406.406 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:55:25,465.465 INFO    ] time= 20/10/2026 01:55:25
[2026-10-20 01:55:25,473.473 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:55:25,490.490 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:55:25,622.622 INFO    ] No existing commands found in stream
[2026-10-20 01:55:30,637.637 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:55:30,640.640 INFO    ] Waiting 0.66 seconds before fallback handling...
[2026-10-20 01:55:31,826.826 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:55:31,831.831 INFO    ] Checking for system updates...
[2026-10-20 01:55:31,873.873 INFO    ] 200
[2026-10-20 01:55:31,876.876 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:55:31,932.932 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:55:31,934.934 INFO    ] No update needed
[2026-10-20 01:55:31,937.937 INFO    ] Checking for camera pi updates...
[2026-10-20 01:55:31,980.980 INFO    ] 200
[2026-10-20 01:55:31,983.983 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:55:32,026.026 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:55:32,064.064 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:55:32,067.067 INFO    ] No camera update needed
[2026-10-20 01:55:32,069.069 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:55:32,072.072 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:55:32,078.078 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:55:32,084.084 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:55:34,125.125 INFO    ] ================================================
[2026-10-20 01:55:34,140.140 INFO    ] Launching Daemon at Tue Oct 20 01:55:34 IST 2026
[2026-10-20 01:55:34,151.151 INFO    ] ================================================
[2026-10-20 01:55:34,787.787 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:55:34
[2026-10-20 01:55:35,405.405 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:55:35,672.672 INFO    ] Initializing speech engine...
[2026-10-20 01:55:35,681.681 INFO    ] 2026-10-20 01:55:35
[2026-10-20 01:55:35,939.939 INFO    ] 2026-10-20 01:55:35
[2026-10-20 01:55:35,968.968 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:55:36,211.211 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:55:36,221.221 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:55:36,417.417 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:55:36,476.476 INFO    ] time= 20/10/2026 01:55:36
[2026-10-20 01:55:36,484.484 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:55:36,501.501 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:55:36,651.651 INFO    ] No existing commands found in stream
[2026-10-20 01:55:41,681.681 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:55:41,684.684 INFO    ] Waiting 1.00 seconds before fallback handling...
[2026-10-20 01:55:43,197.197 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:55:43,200.200 INFO    ] Checking for system updates...
[2026-10-20 01:55:43,239.239 INFO    ] 200
[2026-10-20 01:55:43,241.241 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:55:43,294.294 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:55:43,296.296 INFO    ] No update needed
[2026-10-20 01:55:43,299.299 INFO    ] Checking for camera pi updates...
[2026-10-20 01:55:43,332.332 INFO    ] 200
[2026-10-20 01:55:43,334.334 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:55:43,376.376 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:55:43,435.435 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:55:43,437.437 INFO    ] No camera update needed
[2026-10-20 01:55:43,440.440 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:55:43,442.442 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:55:43,448.448 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:55:43,453.453 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:55:45,492.492 INFO    ] ================================================
[2026-10-20 01:55:45,507.507 INFO    ] Launching Daemon at Tue Oct 20 01:55:45 IST 2026
[2026-10-20 01:55:45,517.517 INFO    ] ================================================
[2026-10-20 01:55:46,154.154 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:55:46
[2026-10-20 01:55:46,814.814 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:55:47,113.113 INFO    ] Initializing speech engine...
[2026-10-20 01:55:47,121.121 INFO    ] 2026-10-20 01:55:47
[2026-10-20 01:55:47,392.392 INFO    ] 2026-10-20 01:55:47
[2026-10-20 01:55:47,460.460 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:55:47,735.735 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:55:47,744.744 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:55:47,936.936 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:55:47,955.955 INFO    ] time= 20/10/2026 01:55:47
[2026-10-20 01:55:47,984.984 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:55:47,992.992 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:55:48,109.109 INFO    ] No existing commands found in stream
[2026-10-20 01:55:53,135.135 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:55:53,138.138 INFO    ] Waiting 2.34 seconds before fallback handling...
[2026-10-20 01:55:56,029.029 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:55:56,032.032 INFO    ] Checking for system updates...
[2026-10-20 01:55:56,069.069 INFO    ] 200
[2026-10-20 01:55:56,072.072 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:55:56,124.124 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:55:56,126.126 INFO    ] No update needed
[2026-10-20 01:55:56,129.129 INFO    ] Checking for camera pi updates...
[2026-10-20 01:55:56,163.163 INFO    ] 200
[2026-10-20 01:55:56,165.165 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:55:56,206.206 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:55:56,256.256 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:55:56,259.259 INFO    ] No camera update needed
[2026-10-20 01:55:56,261.261 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:55:56,264.264 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:55:56,270.270 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:55:56,275.275 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:55:58,313.313 INFO    ] ================================================
[2026-10-20 01:55:58,329.329 INFO    ] Launching Daemon at Tue Oct 20 01:55:58 IST 2026
[2026-10-20 01:55:58,339.339 INFO    ] ================================================
[2026-10-20 01:55:58,930.930 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:55:58
[2026-10-20 01:55:59,540.540 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:55:59,797.797 INFO    ] Initializing speech engine...
[2026-10-20 01:55:59,804.804 INFO    ] 2026-10-20 01:55:59
[2026-10-20 01:56:00,093.093 INFO    ] 2026-10-20 01:56:00
[2026-10-20 01:56:00,129.129 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:56:00,327.327 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:56:00,340.340 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:56:00,503.503 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:56:00,509.509 INFO    ] time= 20/10/2026 01:56:00
[2026-10-20 01:56:00,515.515 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:56:00,563.563 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:56:00,692.692 INFO    ] No existing commands found in stream
[2026-10-20 01:56:05,717.717 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:56:05,720.720 INFO    ] Waiting 1.31 seconds before fallback handling...
[2026-10-20 01:56:07,519.519 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 01:56:07,522.522 INFO    ] Checking for system updates...
[2026-10-20 01:56:07,557.557 INFO    ] 200
[2026-10-20 01:56:07,560.560 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:56:07,612.612 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:56:07,615.615 INFO    ] No update needed
[2026-10-20 01:56:07,617.617 INFO    ] Checking for camera pi updates...
[2026-10-20 01:56:07,657.657 INFO    ] 200
[2026-10-20 01:56:07,660.660 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:56:07,700.700 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:56:07,747.747 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:56:07,749.749 INFO    ] No camera update needed
[2026-10-20 01:56:07,752.752 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:56:07,754.754 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:56:07,759.759 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:56:07,764.764 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:56:09,803.803 INFO    ] ================================================
[2026-10-20 01:56:09,818.818 INFO    ] Launching Daemon at Tue Oct 20 01:56:09 IST 2026
[2026-10-20 01:56:09,829.829 INFO    ] ================================================
[2026-10-20 01:56:10,395.395 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:56:10
[2026-10-20 01:56:10,976.976 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:56:11,242.242 INFO    ] Initializing speech engine...
[2026-10-20 01:56:11,252.252 INFO    ] 2026-10-20 01:56:11
[2026-10-20 01:56:11,496.496 INFO    ] 2026-10-20 01:56:11
[2026-10-20 01:56:11,531.531 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:56:11,781.781 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:56:11,790.790 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:56:11,989.989 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:56:12,046.046 INFO    ] time= 20/10/2026 01:56:11
[2026-10-20 01:56:12,053.053 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:56:12,072.072 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:56:12,201.201 INFO    ] No existing commands found in stream
[2026-10-20 01:56:17,215.215 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:56:17,218.218 INFO    ] Waiting 3.15 seconds before fallback handling...
[2026-10-20 01:56:20,849.849 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 01:56:20,852.852 INFO    ] Checking for system updates...
[2026-10-20 01:56:20,893.893 INFO    ] 200
[2026-10-20 01:56:20,895.895 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:56:20,953.953 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:56:20,956.956 INFO    ] No update needed
[2026-10-20 01:56:20,958.958 INFO    ] Checking for camera pi updates...
[2026-10-20 01:56:20,991.991 INFO    ] 200
[2026-10-20 01:56:20,994.994 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:56:21,034.034 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:56:21,077.077 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:56:21,080.080 INFO    ] No camera update needed
[2026-10-20 01:56:21,082.082 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:56:21,084.084 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:56:21,090.090 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:56:21,095.095 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:56:23,136.136 INFO    ] ================================================
[2026-10-20 01:56:23,151.151 INFO    ] Launching Daemon at Tue Oct 20 01:56:23 IST 2026
[2026-10-20 01:56:23,162.162 INFO    ] ================================================
[2026-10-20 01:56:23,727.727 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:56:23
[2026-10-20 01:56:24,309.309 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:56:24,582.582 INFO    ] Initializing speech engine...
[2026-10-20 01:56:24,590.590 INFO    ] 2026-10-20 01:56:24
[2026-10-20 01:56:24,846.846 INFO    ] 2026-10-20 01:56:24
[2026-10-20 01:56:24,876.876 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:56:25,120.120 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:56:25,129.129 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:56:25,338.338 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:56:25,387.387 INFO    ] time= 20/10/2026 01:56:25
[2026-10-20 01:56:25,393.393 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:56:25,408.408 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:56:25,542.542 INFO    ] No existing commands found in stream
[2026-10-20 01:56:30,561.561 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:56:30,564.564 INFO    ] Waiting 1.31 seconds before fallback handling...
[2026-10-20 01:56:32,420.420 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 01:56:32,423.423 INFO    ] Checking for system updates...
[2026-10-20 01:56:32,464.464 INFO    ] 200
[2026-10-20 01:56:32,467.467 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:56:32,524.524 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:56:32,527.527 INFO    ] No update needed
[2026-10-20 01:56:32,530.530 INFO    ] Checking for camera pi updates...
[2026-10-20 01:56:32,567.567 INFO    ] 200
[2026-10-20 01:56:32,571.571 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:56:32,616.616 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:56:32,651.651 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:56:32,655.655 INFO    ] No camera update needed
[2026-10-20 01:56:32,658.658 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:56:32,662.662 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:56:32,670.670 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:56:32,677.677 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:56:34,722.722 INFO    ] ================================================
[2026-10-20 01:56:34,737.737 INFO    ] Launching Daemon at Tue Oct 20 01:56:34 IST 2026
[2026-10-20 01:56:34,748.748 INFO    ] ================================================
[2026-10-20 01:56:35,332.332 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:56:35
[2026-10-20 01:56:35,925.925 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:56:36,194.194 INFO    ] Initializing speech engine...
[2026-10-20 01:56:36,204.204 INFO    ] 2026-10-20 01:56:36
[2026-10-20 01:56:36,449.449 INFO    ] 2026-10-20 01:56:36
[2026-10-20 01:56:36,484.484 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:56:36,681.681 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:56:36,738.738 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:56:36,930.930 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:56:36,989.989 INFO    ] time= 20/10/2026 01:56:36
[2026-10-20 01:56:37,009.009 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:56:37,024.024 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:56:37,155.155 INFO    ] No existing commands found in stream
[2026-10-20 01:56:42,169.169 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:56:42,172.172 INFO    ] Waiting 3.03 seconds before fallback handling...
[2026-10-20 01:56:45,752.752 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:56:45,755.755 INFO    ] Checking for system updates...
[2026-10-20 01:56:45,790.790 INFO    ] 200
[2026-10-20 01:56:45,793.793 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:56:45,845.845 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:56:45,848.848 INFO    ] No update needed
[2026-10-20 01:56:45,850.850 INFO    ] Checking for camera pi updates...
[2026-10-20 01:56:45,884.884 INFO    ] 200
[2026-10-20 01:56:45,886.886 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:56:45,926.926 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:56:45,971.971 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:56:45,973.973 INFO    ] No camera update needed
[2026-10-20 01:56:45,976.976 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:56:45,978.978 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:56:45,984.984 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:56:45,989.989 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:56:48,029.029 INFO    ] ================================================
[2026-10-20 01:56:48,044.044 INFO    ] Launching Daemon at Tue Oct 20 01:56:48 IST 2026
[2026-10-20 01:56:48,055.055 INFO    ] ================================================
[2026-10-20 01:56:48,703.703 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:56:48
[2026-10-20 01:56:49,377.377 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:56:49,681.681 INFO    ] Initializing speech engine...
[2026-10-20 01:56:49,695.695 INFO    ] 2026-10-20 01:56:49
[2026-10-20 01:56:49,989.989 INFO    ] 2026-10-20 01:56:49
[2026-10-20 01:56:50,032.032 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:56:50,254.254 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:56:50,263.263 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:56:50,488.488 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:56:50,527.527 INFO    ] time= 20/10/2026 01:56:50
[2026-10-20 01:56:50,533.533 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:56:50,555.555 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:56:50,688.688 INFO    ] No existing commands found in stream
[2026-10-20 01:56:55,715.715 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:56:55,718.718 INFO    ] Waiting 0.51 seconds before fallback handling...
[2026-10-20 01:56:56,742.742 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:56:56,745.745 INFO    ] Checking for system updates...
[2026-10-20 01:56:56,786.786 INFO    ] 200
[2026-10-20 01:56:56,788.788 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:56:56,843.843 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:56:56,846.846 INFO    ] No update needed
[2026-10-20 01:56:56,849.849 INFO    ] Checking for camera pi updates...
[2026-10-20 01:56:56,883.883 INFO    ] 200
[2026-10-20 01:56:56,886.886 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:56:56,925.925 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:56:56,973.973 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:56:56,976.976 INFO    ] No camera update needed
[2026-10-20 01:56:56,978.978 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:56:56,981.981 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:56:56,986.986 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:56:56,991.991 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:56:59,031.031 INFO    ] ================================================
[2026-10-20 01:56:59,047.047 INFO    ] Launching Daemon at Tue Oct 20 01:56:59 IST 2026
[2026-10-20 01:56:59,058.058 INFO    ] ================================================
[2026-10-20 01:56:59,627.627 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:56:59
[2026-10-20 01:57:00,215.215 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:57:00,487.487 INFO    ] Initializing speech engine...
[2026-10-20 01:57:00,495.495 INFO    ] 2026-10-20 01:57:00
[2026-10-20 01:57:00,742.742 INFO    ] 2026-10-20 01:57:00
[2026-10-20 01:57:00,808.808 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:57:01,036.036 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:57:01,041.041 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:57:01,225.225 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:57:01,279.279 INFO    ] time= 20/10/2026 01:57:01
[2026-10-20 01:57:01,301.301 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:57:01,307.307 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:57:01,452.452 INFO    ] No existing commands found in stream
[2026-10-20 01:57:06,467.467 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:57:06,470.470 INFO    ] Waiting 4.00 seconds before fallback handling...
[2026-10-20 01:57:10,980.980 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:57:10,983.983 INFO    ] Checking for system updates...
[2026-10-20 01:57:11,019.019 INFO    ] 200
[2026-10-20 01:57:11,021.021 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:57:11,073.073 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:57:11,076.076 INFO    ] No update needed
[2026-10-20 01:57:11,078.078 INFO    ] Checking for camera pi updates...
[2026-10-20 01:57:11,111.111 INFO    ] 200
[2026-10-20 01:57:11,114.114 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:57:11,154.154 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:57:11,211.211 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:57:11,213.213 INFO    ] No camera update needed
[2026-10-20 01:57:11,216.216 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:57:11,218.218 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:57:11,223.223 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:57:11,228.228 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:57:13,270.270 INFO    ] ================================================
[2026-10-20 01:57:13,285.285 INFO    ] Launching Daemon at Tue Oct 20 01:57:13 IST 2026
[2026-10-20 01:57:13,296.296 INFO    ] ================================================
[2026-10-20 01:57:13,894.894 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:57:13
[2026-10-20 01:57:14,575.575 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:57:14,887.887 INFO    ] Initializing speech engine...
[2026-10-20 01:57:14,899.899 INFO    ] 2026-10-20 01:57:14
[2026-10-20 01:57:15,185.185 INFO    ] 2026-10-20 01:57:15
[2026-10-20 01:57:15,296.296 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:57:15,516.516 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:57:15,572.572 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:57:15,745.745 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:57:15,765.765 INFO    ] time= 20/10/2026 01:57:15
[2026-10-20 01:57:15,774.774 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:57:15,790.790 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:57:15,936.936 INFO    ] No existing commands found in stream
[2026-10-20 01:57:20,962.962 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:57:20,965.965 INFO    ] Waiting 2.15 seconds before fallback handling...
[2026-10-20 01:57:23,599.599 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 01:57:23,602.602 INFO    ] Checking for system updates...
[2026-10-20 01:57:23,638.638 INFO    ] 200
[2026-10-20 01:57:23,640.640 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:57:23,693.693 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:57:23,695.695 INFO    ] No update needed
[2026-10-20 01:57:23,698.698 INFO    ] Checking for camera pi updates...
[2026-10-20 01:57:23,732.732 INFO    ] 200
[2026-10-20 01:57:23,734.734 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:57:23,780.780 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:57:23,830.830 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:57:23,832.832 INFO    ] No camera update needed
[2026-10-20 01:57:23,834.834 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:57:23,837.837 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:57:23,842.842 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:57:23,847.847 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:57:25,887.887 INFO    ] ================================================
[2026-10-20 01:57:25,902.902 INFO    ] Launching Daemon at Tue Oct 20 01:57:25 IST 2026
[2026-10-20 01:57:25,914.914 INFO    ] ================================================
[2026-10-20 01:57:26,482.482 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:57:26
[2026-10-20 01:57:27,065.065 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:57:27,333.333 INFO    ] Initializing speech engine...
[2026-10-20 01:57:27,342.342 INFO    ] 2026-10-20 01:57:27
[2026-10-20 01:57:27,588.588 INFO    ] 2026-10-20 01:57:27
[2026-10-20 01:57:27,622.622 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:57:27,873.873 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:57:27,882.882 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:57:28,016.016 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:57:28,070.070 INFO    ] time= 20/10/2026 01:57:28
[2026-10-20 01:57:28,129.129 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:57:28,145.145 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:57:28,290.290 INFO    ] No existing commands found in stream
[2026-10-20 01:57:33,301.301 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:57:33,304.304 INFO    ] Waiting 0.68 seconds before fallback handling...
[2026-10-20 01:57:34,516.516 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:57:34,519.519 INFO    ] Checking for system updates...
[2026-10-20 01:57:34,554.554 INFO    ] 200
[2026-10-20 01:57:34,557.557 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:57:34,608.608 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:57:34,611.611 INFO    ] No update needed
[2026-10-20 01:57:34,613.613 INFO    ] Checking for camera pi updates...
[2026-10-20 01:57:34,648.648 INFO    ] 200
[2026-10-20 01:57:34,651.651 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:57:34,696.696 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:57:34,744.744 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:57:34,746.746 INFO    ] No camera update needed
[2026-10-20 01:57:34,748.748 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:57:34,751.751 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:57:34,756.756 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:57:34,761.761 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:57:36,802.802 INFO    ] ================================================
[2026-10-20 01:57:36,817.817 INFO    ] Launching Daemon at Tue Oct 20 01:57:36 IST 2026
[2026-10-20 01:57:36,828.828 INFO    ] ================================================
[2026-10-20 01:57:37,490.490 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:57:37
[2026-10-20 01:57:38,072.072 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:57:38,336.336 INFO    ] Initializing speech engine...
[2026-10-20 01:57:38,349.349 INFO    ] 2026-10-20 01:57:38
[2026-10-20 01:57:38,594.594 INFO    ] 2026-10-20 01:57:38
[2026-10-20 01:57:38,629.629 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:57:38,884.884 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:57:38,890.890 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:57:39,106.106 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:57:39,145.145 INFO    ] time= 20/10/2026 01:57:39
[2026-10-20 01:57:39,151.151 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:57:39,168.168 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:57:39,295.295 INFO    ] No existing commands found in stream
[2026-10-20 01:57:44,309.309 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:57:44,312.312 INFO    ] Waiting 0.18 seconds before fallback handling...
[2026-10-20 01:57:45,054.054 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:57:45,057.057 INFO    ] Checking for system updates...
[2026-10-20 01:57:45,097.097 INFO    ] 200
[2026-10-20 01:57:45,099.099 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:57:45,153.153 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:57:45,155.155 INFO    ] No update needed
[2026-10-20 01:57:45,157.157 INFO    ] Checking for camera pi updates...
[2026-10-20 01:57:45,195.195 INFO    ] 200
[2026-10-20 01:57:45,197.197 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:57:45,237.237 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:57:45,284.284 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:57:45,287.287 INFO    ] No camera update needed
[2026-10-20 01:57:45,289.289 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:57:45,291.291 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:57:45,297.297 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:57:45,302.302 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:57:47,342.342 INFO    ] ================================================
[2026-10-20 01:57:47,357.357 INFO    ] Launching Daemon at Tue Oct 20 01:57:47 IST 2026
[2026-10-20 01:57:47,367.367 INFO    ] ================================================
[2026-10-20 01:57:47,936.936 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:57:47
[2026-10-20 01:57:48,521.521 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:57:48,776.776 INFO    ] Initializing speech engine...
[2026-10-20 01:57:48,784.784 INFO    ] 2026-10-20 01:57:48
[2026-10-20 01:57:49,077.077 INFO    ] 2026-10-20 01:57:49
[2026-10-20 01:57:49,116.116 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:57:49,336.336 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:57:49,348.348 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:57:49,569.569 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:57:49,576.576 INFO    ] time= 20/10/2026 01:57:49
[2026-10-20 01:57:49,630.630 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:57:49,674.674 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:57:49,789.789 INFO    ] No existing commands found in stream
[2026-10-20 01:57:54,809.809 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:57:54,812.812 INFO    ] Waiting 2.39 seconds before fallback handling...
[2026-10-20 01:57:57,738.738 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:57:57,741.741 INFO    ] Checking for system updates...
[2026-10-20 01:57:57,779.779 INFO    ] 200
[2026-10-20 01:57:57,781.781 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:57:57,839.839 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:57:57,842.842 INFO    ] No update needed
[2026-10-20 01:57:57,845.845 INFO    ] Checking for camera pi updates...
[2026-10-20 01:57:57,882.882 INFO    ] 200
[2026-10-20 01:57:57,884.884 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:57:57,926.926 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:57:57,977.977 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:57:57,980.980 INFO    ] No camera update needed
[2026-10-20 01:57:57,982.982 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:57:57,985.985 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:57:57,990.990 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:57:57,995.995 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:58:00,035.035 INFO    ] ================================================
[2026-10-20 01:58:00,050.050 INFO    ] Launching Daemon at Tue Oct 20 01:58:00 IST 2026
[2026-10-20 01:58:00,060.060 INFO    ] ================================================
[2026-10-20 01:58:00,626.626 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:58:00
[2026-10-20 01:58:01,221.221 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:58:01,716.716 INFO    ] Initializing speech engine...
[2026-10-20 01:58:01,725.725 INFO    ] 2026-10-20 01:58:01
[2026-10-20 01:58:02,019.019 INFO    ] 2026-10-20 01:58:02
[2026-10-20 01:58:02,067.067 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:58:02,268.268 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:58:02,310.310 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:58:02,490.490 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:58:02,552.552 INFO    ] time= 20/10/2026 01:58:02
[2026-10-20 01:58:02,609.609 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:58:02,633.633 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:58:02,769.769 INFO    ] No existing commands found in stream
[2026-10-20 01:58:07,798.798 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:58:07,801.801 INFO    ] Waiting 1.17 seconds before fallback handling...
[2026-10-20 01:58:09,507.507 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 01:58:09,510.510 INFO    ] Checking for system updates...
[2026-10-20 01:58:09,552.552 INFO    ] 200
[2026-10-20 01:58:09,554.554 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:58:09,606.606 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:58:09,609.609 INFO    ] No update needed
[2026-10-20 01:58:09,611.611 INFO    ] Checking for camera pi updates...
[2026-10-20 01:58:09,648.648 INFO    ] 200
[2026-10-20 01:58:09,651.651 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:58:09,691.691 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:58:09,736.736 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:58:09,739.739 INFO    ] No camera update needed
[2026-10-20 01:58:09,742.742 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:58:09,744.744 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:58:09,749.749 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:58:09,755.755 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:58:11,795.795 INFO    ] ================================================
[2026-10-20 01:58:11,810.810 INFO    ] Launching Daemon at Tue Oct 20 01:58:11 IST 2026
[2026-10-20 01:58:11,820.820 INFO    ] ================================================
[2026-10-20 01:58:12,389.389 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:58:12
[2026-10-20 01:58:12,976.976 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:58:13,247.247 INFO    ] Initializing speech engine...
[2026-10-20 01:58:13,256.256 INFO    ] 2026-10-20 01:58:13
[2026-10-20 01:58:13,508.508 INFO    ] 2026-10-20 01:58:13
[2026-10-20 01:58:13,542.542 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:58:13,732.732 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:58:13,790.790 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:58:14,003.003 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:58:14,054.054 INFO    ] time= 20/10/2026 01:58:14
[2026-10-20 01:58:14,061.061 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:58:14,078.078 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:58:14,193.193 INFO    ] No existing commands found in stream
[2026-10-20 01:58:19,215.215 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:58:19,218.218 INFO    ] Waiting 3.38 seconds before fallback handling...
[2026-10-20 01:58:23,092.092 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 01:58:23,095.095 INFO    ] Checking for system updates...
[2026-10-20 01:58:23,131.131 INFO    ] 200
[2026-10-20 01:58:23,133.133 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:58:23,185.185 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:58:23,187.187 INFO    ] No update needed
[2026-10-20 01:58:23,194.194 INFO    ] Checking for camera pi updates...
[2026-10-20 01:58:23,231.231 INFO    ] 200
[2026-10-20 01:58:23,233.233 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:58:23,274.274 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:58:23,306.306 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:58:23,308.308 INFO    ] No camera update needed
[2026-10-20 01:58:23,311.311 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:58:23,313.313 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:58:23,319.319 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:58:23,324.324 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:58:25,364.364 INFO    ] ================================================
[2026-10-20 01:58:25,380.380 INFO    ] Launching Daemon at Tue Oct 20 01:58:25 IST 2026
[2026-10-20 01:58:25,390.390 INFO    ] ================================================
[2026-10-20 01:58:25,958.958 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:58:25
[2026-10-20 01:58:26,543.543 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:58:26,811.811 INFO    ] Initializing speech engine...
[2026-10-20 01:58:26,821.821 INFO    ] 2026-10-20 01:58:26
[2026-10-20 01:58:27,078.078 INFO    ] 2026-10-20 01:58:27
[2026-10-20 01:58:27,131.131 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:58:27,557.557 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:58:27,605.605 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:58:27,840.840 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:58:27,869.869 INFO    ] time= 20/10/2026 01:58:27
[2026-10-20 01:58:27,924.924 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:58:27,978.978 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:58:28,181.181 INFO    ] No existing commands found in stream
[2026-10-20 01:58:33,196.196 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:58:33,199.199 INFO    ] Waiting 3.04 seconds before fallback handling...
[2026-10-20 01:58:36,732.732 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:58:36,734.734 INFO    ] Checking for system updates...
[2026-10-20 01:58:36,770.770 INFO    ] 200
[2026-10-20 01:58:36,773.773 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:58:36,834.834 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:58:36,837.837 INFO    ] No update needed
[2026-10-20 01:58:36,840.840 INFO    ] Checking for camera pi updates...
[2026-10-20 01:58:36,878.878 INFO    ] 200
[2026-10-20 01:58:36,881.881 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:58:36,927.927 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:58:36,984.984 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:58:36,987.987 INFO    ] No camera update needed
[2026-10-20 01:58:36,989.989 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:58:36,992.992 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:58:36,997.997 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:58:37,002.002 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:58:39,043.043 INFO    ] ================================================
[2026-10-20 01:58:39,058.058 INFO    ] Launching Daemon at Tue Oct 20 01:58:39 IST 2026
[2026-10-20 01:58:39,068.068 INFO    ] ================================================
[2026-10-20 01:58:39,634.634 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:58:39
[2026-10-20 01:58:40,217.217 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:58:40,479.479 INFO    ] Initializing speech engine...
[2026-10-20 01:58:40,497.497 INFO    ] 2026-10-20 01:58:40
[2026-10-20 01:58:40,749.749 INFO    ] 2026-10-20 01:58:40
[2026-10-20 01:58:40,784.784 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:58:40,981.981 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:58:41,009.009 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:58:41,180.180 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:58:41,222.222 INFO    ] time= 20/10/2026 01:58:41
[2026-10-20 01:58:41,297.297 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:58:41,314.314 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:58:41,452.452 INFO    ] No existing commands found in stream
[2026-10-20 01:58:46,472.472 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:58:46,474.474 INFO    ] Waiting 1.35 seconds before fallback handling...
[2026-10-20 01:58:48,331.331 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:58:48,334.334 INFO    ] Checking for system updates...
[2026-10-20 01:58:48,370.370 INFO    ] 200
[2026-10-20 01:58:48,372.372 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:58:48,430.430 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:58:48,433.433 INFO    ] No update needed
[2026-10-20 01:58:48,435.435 INFO    ] Checking for camera pi updates...
[2026-10-20 01:58:48,469.469 INFO    ] 200
[2026-10-20 01:58:48,472.472 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:58:48,516.516 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:58:48,565.565 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:58:48,567.567 INFO    ] No camera update needed
[2026-10-20 01:58:48,570.570 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:58:48,572.572 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:58:48,578.578 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:58:48,583.583 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:58:50,622.622 INFO    ] ================================================
[2026-10-20 01:58:50,637.637 INFO    ] Launching Daemon at Tue Oct 20 01:58:50 IST 2026
[2026-10-20 01:58:50,647.647 INFO    ] ================================================
[2026-10-20 01:58:51,260.260 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:58:51
[2026-10-20 01:58:51,846.846 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:58:52,113.113 INFO    ] Initializing speech engine...
[2026-10-20 01:58:52,120.120 INFO    ] 2026-10-20 01:58:52
[2026-10-20 01:58:52,368.368 INFO    ] 2026-10-20 01:58:52
[2026-10-20 01:58:52,402.402 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:58:52,653.653 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:58:52,663.663 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:58:52,875.875 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:58:52,920.920 INFO    ] time= 20/10/2026 01:58:52
[2026-10-20 01:58:52,926.926 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:58:52,943.943 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:58:53,074.074 INFO    ] No existing commands found in stream
[2026-10-20 01:58:58,091.091 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:58:58,094.094 INFO    ] Waiting 0.57 seconds before fallback handling...
[2026-10-20 01:58:59,237.237 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 01:58:59,240.240 INFO    ] Checking for system updates...
[2026-10-20 01:58:59,276.276 INFO    ] 200
[2026-10-20 01:58:59,279.279 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:58:59,334.334 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:58:59,337.337 INFO    ] No update needed
[2026-10-20 01:58:59,340.340 INFO    ] Checking for camera pi updates...
[2026-10-20 01:58:59,373.373 INFO    ] 200
[2026-10-20 01:58:59,376.376 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:58:59,417.417 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:58:59,464.464 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:58:59,467.467 INFO    ] No camera update needed
[2026-10-20 01:58:59,469.469 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:58:59,472.472 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:58:59,478.478 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:58:59,484.484 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:59:01,541.541 INFO    ] ================================================
[2026-10-20 01:59:01,562.562 INFO    ] Launching Daemon at Tue Oct 20 01:59:01 IST 2026
[2026-10-20 01:59:01,583.583 INFO    ] ================================================
[2026-10-20 01:59:02,307.307 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:59:02
[2026-10-20 01:59:03,080.080 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:59:03,419.419 INFO    ] Initializing speech engine...
[2026-10-20 01:59:03,426.426 INFO    ] 2026-10-20 01:59:03
[2026-10-20 01:59:03,705.705 INFO    ] 2026-10-20 01:59:03
[2026-10-20 01:59:03,760.760 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:59:03,988.988 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:59:03,993.993 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:59:04,215.215 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:59:04,253.253 INFO    ] time= 20/10/2026 01:59:04
[2026-10-20 01:59:04,270.270 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:59:04,280.280 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:59:04,423.423 INFO    ] No existing commands found in stream
[2026-10-20 01:59:09,455.455 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:59:09,459.459 INFO    ] Waiting 3.56 seconds before fallback handling...
[2026-10-20 01:59:13,528.528 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:59:13,531.531 INFO    ] Checking for system updates...
[2026-10-20 01:59:13,566.566 INFO    ] 200
[2026-10-20 01:59:13,569.569 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:59:13,628.628 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:59:13,631.631 INFO    ] No update needed
[2026-10-20 01:59:13,633.633 INFO    ] Checking for camera pi updates...
[2026-10-20 01:59:13,666.666 INFO    ] 200
[2026-10-20 01:59:13,668.668 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:59:13,714.714 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:59:13,857.857 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:59:13,860.860 INFO    ] No camera update needed
[2026-10-20 01:59:13,863.863 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:59:13,865.865 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:59:13,870.870 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:59:13,875.875 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:59:15,914.914 INFO    ] ================================================
[2026-10-20 01:59:15,930.930 INFO    ] Launching Daemon at Tue Oct 20 01:59:15 IST 2026
[2026-10-20 01:59:15,941.941 INFO    ] ================================================
[2026-10-20 01:59:16,562.562 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:59:16
[2026-10-20 01:59:17,161.161 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:59:17,428.428 INFO    ] Initializing speech engine...
[2026-10-20 01:59:17,437.437 INFO    ] 2026-10-20 01:59:17
[2026-10-20 01:59:17,684.684 INFO    ] 2026-10-20 01:59:17
[2026-10-20 01:59:17,719.719 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:59:17,971.971 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:59:17,980.980 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:59:18,183.183 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:59:18,238.238 INFO    ] time= 20/10/2026 01:59:18
[2026-10-20 01:59:18,246.246 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:59:18,263.263 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:59:18,408.408 INFO    ] No existing commands found in stream
[2026-10-20 01:59:23,440.440 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:59:23,443.443 INFO    ] Waiting 0.80 seconds before fallback handling...
[2026-10-20 01:59:24,729.729 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:59:24,732.732 INFO    ] Checking for system updates...
[2026-10-20 01:59:24,767.767 INFO    ] 200
[2026-10-20 01:59:24,770.770 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:59:24,822.822 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:59:24,825.825 INFO    ] No update needed
[2026-10-20 01:59:24,827.827 INFO    ] Checking for camera pi updates...
[2026-10-20 01:59:24,860.860 INFO    ] 200
[2026-10-20 01:59:24,862.862 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:59:24,911.911 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:59:24,961.961 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:59:24,963.963 INFO    ] No camera update needed
[2026-10-20 01:59:24,965.965 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:59:24,967.967 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:59:24,973.973 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:59:24,978.978 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:59:27,018.018 INFO    ] ================================================
[2026-10-20 01:59:27,033.033 INFO    ] Launching Daemon at Tue Oct 20 01:59:27 IST 2026
[2026-10-20 01:59:27,044.044 INFO    ] ================================================
[2026-10-20 01:59:27,610.610 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:59:27
[2026-10-20 01:59:28,195.195 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:59:28,449.449 INFO    ] Initializing speech engine...
[2026-10-20 01:59:28,473.473 INFO    ] 2026-10-20 01:59:28
[2026-10-20 01:59:28,728.728 INFO    ] 2026-10-20 01:59:28
[2026-10-20 01:59:28,763.763 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:59:29,023.023 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:59:29,032.032 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:59:29,175.175 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:59:29,236.236 INFO    ] time= 20/10/2026 01:59:29
[2026-10-20 01:59:29,301.301 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:59:29,308.308 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:59:29,459.459 INFO    ] No existing commands found in stream
[2026-10-20 01:59:34,474.474 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:59:34,476.476 INFO    ] Waiting 3.60 seconds before fallback handling...
[2026-10-20 01:59:38,584.584 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 01:59:38,586.586 INFO    ] Checking for system updates...
[2026-10-20 01:59:38,623.623 INFO    ] 200
[2026-10-20 01:59:38,625.625 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:59:38,677.677 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:59:38,679.679 INFO    ] No update needed
[2026-10-20 01:59:38,682.682 INFO    ] Checking for camera pi updates...
[2026-10-20 01:59:38,715.715 INFO    ] 200
[2026-10-20 01:59:38,717.717 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:59:38,757.757 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:59:38,805.805 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:59:38,808.808 INFO    ] No camera update needed
[2026-10-20 01:59:38,810.810 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:59:38,813.813 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:59:38,818.818 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:59:38,823.823 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:59:40,862.862 INFO    ] ================================================
[2026-10-20 01:59:40,877.877 INFO    ] Launching Daemon at Tue Oct 20 01:59:40 IST 2026
[2026-10-20 01:59:40,887.887 INFO    ] ================================================
[2026-10-20 01:59:41,514.514 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:59:41
[2026-10-20 01:59:42,097.097 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:59:42,354.354 INFO    ] Initializing speech engine...
[2026-10-20 01:59:42,368.368 INFO    ] 2026-10-20 01:59:42
[2026-10-20 01:59:42,620.620 INFO    ] 2026-10-20 01:59:42
[2026-10-20 01:59:42,655.655 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:59:42,905.905 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:59:42,914.914 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:59:43,049.049 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:59:43,110.110 INFO    ] time= 20/10/2026 01:59:43
[2026-10-20 01:59:43,164.164 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:59:43,181.181 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:59:43,306.306 INFO    ] No existing commands found in stream
[2026-10-20 01:59:48,333.333 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:59:48,335.335 INFO    ] Waiting 0.58 seconds before fallback handling...
[2026-10-20 01:59:49,399.399 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 01:59:49,401.401 INFO    ] Checking for system updates...
[2026-10-20 01:59:49,437.437 INFO    ] 200
[2026-10-20 01:59:49,440.440 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:59:49,491.491 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 01:59:49,494.494 INFO    ] No update needed
[2026-10-20 01:59:49,496.496 INFO    ] Checking for camera pi updates...
[2026-10-20 01:59:49,534.534 INFO    ] 200
[2026-10-20 01:59:49,536.536 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 01:59:49,576.576 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 01:59:49,622.622 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 01:59:49,624.624 INFO    ] No camera update needed
[2026-10-20 01:59:49,626.626 INFO    ] Script finished. Safe exiting...
[2026-10-20 01:59:49,629.629 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 01:59:49,634.634 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 01:59:49,639.639 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 01:59:51,678.678 INFO    ] ================================================
[2026-10-20 01:59:51,693.693 INFO    ] Launching Daemon at Tue Oct 20 01:59:51 IST 2026
[2026-10-20 01:59:51,704.704 INFO    ] ================================================
[2026-10-20 01:59:52,293.293 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 01:59:52
[2026-10-20 01:59:52,889.889 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 01:59:53,157.157 INFO    ] Initializing speech engine...
[2026-10-20 01:59:53,166.166 INFO    ] 2026-10-20 01:59:53
[2026-10-20 01:59:53,424.424 INFO    ] 2026-10-20 01:59:53
[2026-10-20 01:59:53,478.478 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 01:59:53,727.727 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 01:59:53,747.747 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 01:59:53,957.957 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 01:59:53,970.970 INFO    ] time= 20/10/2026 01:59:53
[2026-10-20 01:59:53,991.991 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 01:59:54,020.020 INFO    ] Checking for existing commands in stream...
[2026-10-20 01:59:54,164.164 INFO    ] No existing commands found in stream
[2026-10-20 01:59:59,197.197 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 01:59:59,200.200 INFO    ] Waiting 0.34 seconds before fallback handling...
[2026-10-20 02:00:00,063.063 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 02:00:00,066.066 INFO    ] Checking for system updates...
[2026-10-20 02:00:00,102.102 INFO    ] 200
[2026-10-20 02:00:00,105.105 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:00:00,163.163 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:00:00,166.166 INFO    ] No update needed
[2026-10-20 02:00:00,169.169 INFO    ] Checking for camera pi updates...
[2026-10-20 02:00:00,204.204 INFO    ] 200
[2026-10-20 02:00:00,207.207 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:00:00,247.247 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:00:00,293.293 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:00:00,296.296 INFO    ] No camera update needed
[2026-10-20 02:00:00,298.298 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:00:00,300.300 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:00:00,306.306 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:00:00,311.311 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:00:02,439.439 INFO    ] ================================================
[2026-10-20 02:00:02,487.487 INFO    ] Launching Daemon at Tue Oct 20 02:00:02 IST 2026
[2026-10-20 02:00:02,542.542 INFO    ] ================================================
[2026-10-20 02:00:04,724.724 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:00:04
[2026-10-20 02:00:06,105.105 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:00:06,454.454 INFO    ] Initializing speech engine...
[2026-10-20 02:00:06,471.471 INFO    ] 2026-10-20 02:00:06
[2026-10-20 02:00:06,726.726 INFO    ] 2026-10-20 02:00:06
[2026-10-20 02:00:06,762.762 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:00:06,966.966 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:00:06,983.983 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:00:07,115.115 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:00:07,118.118 INFO    ] time= 20/10/2026 02:00:07
[2026-10-20 02:00:07,126.126 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:00:07,131.131 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:00:07,208.208 INFO    ] No existing commands found in stream
[2026-10-20 02:00:12,218.218 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:00:12,221.221 INFO    ] Waiting 2.87 seconds before fallback handling...
[2026-10-20 02:00:15,557.557 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:00:15,560.560 INFO    ] Checking for system updates...
[2026-10-20 02:00:15,596.596 INFO    ] 200
[2026-10-20 02:00:15,598.598 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:00:15,655.655 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:00:15,658.658 INFO    ] No update needed
[2026-10-20 02:00:15,660.660 INFO    ] Checking for camera pi updates...
[2026-10-20 02:00:15,694.694 INFO    ] 200
[2026-10-20 02:00:15,696.696 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:00:15,742.742 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:00:15,799.799 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:00:15,802.802 INFO    ] No camera update needed
[2026-10-20 02:00:15,804.804 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:00:15,806.806 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:00:15,811.811 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:00:15,816.816 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:00:17,857.857 INFO    ] ================================================
[2026-10-20 02:00:17,873.873 INFO    ] Launching Daemon at Tue Oct 20 02:00:17 IST 2026
[2026-10-20 02:00:17,884.884 INFO    ] ================================================
[2026-10-20 02:00:18,448.448 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:00:18
[2026-10-20 02:00:19,029.029 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:00:19,301.301 INFO    ] Initializing speech engine...
[2026-10-20 02:00:19,311.311 INFO    ] 2026-10-20 02:00:19
[2026-10-20 02:00:19,565.565 INFO    ] 2026-10-20 02:00:19
[2026-10-20 02:00:19,602.602 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:00:19,817.817 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:00:19,881.881 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:00:20,035.035 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:00:20,074.074 INFO    ] time= 20/10/2026 02:00:20
[2026-10-20 02:00:20,124.124 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:00:20,177.177 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:00:20,312.312 INFO    ] No existing commands found in stream
[2026-10-20 02:00:25,337.337 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:00:25,340.340 INFO    ] Waiting 0.94 seconds before fallback handling...
[2026-10-20 02:00:26,775.775 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:00:26,778.778 INFO    ] Checking for system updates...
[2026-10-20 02:00:26,816.816 INFO    ] 200
[2026-10-20 02:00:26,819.819 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:00:26,876.876 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:00:26,879.879 INFO    ] No update needed
[2026-10-20 02:00:26,882.882 INFO    ] Checking for camera pi updates...
[2026-10-20 02:00:26,916.916 INFO    ] 200
[2026-10-20 02:00:26,918.918 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:00:26,959.959 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:00:27,011.011 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:00:27,013.013 INFO    ] No camera update needed
[2026-10-20 02:00:27,016.016 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:00:27,019.019 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:00:27,025.025 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:00:27,030.030 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:00:29,071.071 INFO    ] ================================================
[2026-10-20 02:00:29,087.087 INFO    ] Launching Daemon at Tue Oct 20 02:00:29 IST 2026
[2026-10-20 02:00:29,098.098 INFO    ] ================================================
[2026-10-20 02:00:29,678.678 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:00:29
[2026-10-20 02:00:30,286.286 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:00:30,554.554 INFO    ] Initializing speech engine...
[2026-10-20 02:00:30,563.563 INFO    ] 2026-10-20 02:00:30
[2026-10-20 02:00:30,810.810 INFO    ] 2026-10-20 02:00:30
[2026-10-20 02:00:30,844.844 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:00:31,097.097 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:00:31,106.106 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:00:31,240.240 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:00:31,294.294 INFO    ] time= 20/10/2026 02:00:31
[2026-10-20 02:00:31,348.348 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:00:31,370.370 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:00:31,513.513 INFO    ] No existing commands found in stream
[2026-10-20 02:00:36,529.529 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:00:36,532.532 INFO    ] Waiting 0.15 seconds before fallback handling...
[2026-10-20 02:00:37,179.179 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:00:37,182.182 INFO    ] Checking for system updates...
[2026-10-20 02:00:37,217.217 INFO    ] 200
[2026-10-20 02:00:37,219.219 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:00:37,279.279 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:00:37,281.281 INFO    ] No update needed
[2026-10-20 02:00:37,284.284 INFO    ] Checking for camera pi updates...
[2026-10-20 02:00:37,316.316 INFO    ] 200
[2026-10-20 02:00:37,319.319 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:00:37,363.363 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:00:37,417.417 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:00:37,420.420 INFO    ] No camera update needed
[2026-10-20 02:00:37,422.422 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:00:37,424.424 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:00:37,430.430 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:00:37,435.435 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:00:39,475.475 INFO    ] ================================================
[2026-10-20 02:00:39,490.490 INFO    ] Launching Daemon at Tue Oct 20 02:00:39 IST 2026
[2026-10-20 02:00:39,501.501 INFO    ] ================================================
[2026-10-20 02:00:40,071.071 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:00:40
[2026-10-20 02:00:40,653.653 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:00:40,908.908 INFO    ] Initializing speech engine...
[2026-10-20 02:00:40,930.930 INFO    ] 2026-10-20 02:00:40
[2026-10-20 02:00:41,182.182 INFO    ] 2026-10-20 02:00:41
[2026-10-20 02:00:41,217.217 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:00:41,471.471 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:00:41,475.475 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:00:41,693.693 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:00:41,737.737 INFO    ] time= 20/10/2026 02:00:41
[2026-10-20 02:00:41,744.744 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:00:41,764.764 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:00:41,896.896 INFO    ] No existing commands found in stream
[2026-10-20 02:00:46,915.915 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:00:46,918.918 INFO    ] Waiting 3.74 seconds before fallback handling...
[2026-10-20 02:00:51,187.187 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 02:00:51,190.190 INFO    ] Checking for system updates...
[2026-10-20 02:00:51,226.226 INFO    ] 200
[2026-10-20 02:00:51,229.229 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:00:51,283.283 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:00:51,285.285 INFO    ] No update needed
[2026-10-20 02:00:51,288.288 INFO    ] Checking for camera pi updates...
[2026-10-20 02:00:51,324.324 INFO    ] 200
[2026-10-20 02:00:51,327.327 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:00:51,368.368 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:00:51,425.425 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:00:51,428.428 INFO    ] No camera update needed
[2026-10-20 02:00:51,431.431 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:00:51,434.434 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:00:51,439.439 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:00:51,445.445 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:00:53,486.486 INFO    ] ================================================
[2026-10-20 02:00:53,501.501 INFO    ] Launching Daemon at Tue Oct 20 02:00:53 IST 2026
[2026-10-20 02:00:53,513.513 INFO    ] ================================================
[2026-10-20 02:00:54,077.077 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:00:54
[2026-10-20 02:00:54,661.661 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:00:54,912.912 INFO    ] Initializing speech engine...
[2026-10-20 02:00:54,920.920 INFO    ] 2026-10-20 02:00:54
[2026-10-20 02:00:55,205.205 INFO    ] 2026-10-20 02:00:55
[2026-10-20 02:00:55,239.239 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:00:55,430.430 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:00:55,443.443 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:00:55,597.597 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:00:55,605.605 INFO    ] time= 20/10/2026 02:00:55
[2026-10-20 02:00:55,610.610 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:00:55,619.619 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:00:55,747.747 INFO    ] No existing commands found in stream
[2026-10-20 02:01:00,772.772 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:01:00,775.775 INFO    ] Waiting 0.04 seconds before fallback handling...
[2026-10-20 02:01:01,335.335 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:01:01,338.338 INFO    ] Checking for system updates...
[2026-10-20 02:01:01,373.373 INFO    ] 200
[2026-10-20 02:01:01,375.375 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:01:01,427.427 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:01:01,429.429 INFO    ] No update needed
[2026-10-20 02:01:01,431.431 INFO    ] Checking for camera pi updates...
[2026-10-20 02:01:01,466.466 INFO    ] 200
[2026-10-20 02:01:01,468.468 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:01:01,525.525 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:01:01,576.576 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:01:01,581.581 INFO    ] No camera update needed
[2026-10-20 02:01:01,584.584 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:01:01,587.587 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:01:01,615.615 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:01:01,623.623 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:01:03,669.669 INFO    ] ================================================
[2026-10-20 02:01:03,685.685 INFO    ] Launching Daemon at Tue Oct 20 02:01:03 IST 2026
[2026-10-20 02:01:03,696.696 INFO    ] ================================================
[2026-10-20 02:01:04,261.261 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:01:04
[2026-10-20 02:01:04,844.844 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:01:05,097.097 INFO    ] Initializing speech engine...
[2026-10-20 02:01:05,113.113 INFO    ] 2026-10-20 02:01:05
[2026-10-20 02:01:05,387.387 INFO    ] 2026-10-20 02:01:05
[2026-10-20 02:01:05,424.424 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:01:05,641.641 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:01:05,695.695 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:01:05,865.865 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:01:05,925.925 INFO    ] time= 20/10/2026 02:01:05
[2026-10-20 02:01:05,969.969 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:01:06,003.003 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:01:06,147.147 INFO    ] No existing commands found in stream
[2026-10-20 02:01:11,172.172 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:01:11,175.175 INFO    ] Waiting 1.85 seconds before fallback handling...
[2026-10-20 02:01:13,564.564 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:01:13,566.566 INFO    ] Checking for system updates...
[2026-10-20 02:01:13,605.605 INFO    ] 200
[2026-10-20 02:01:13,607.607 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:01:13,659.659 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:01:13,662.662 INFO    ] No update needed
[2026-10-20 02:01:13,664.664 INFO    ] Checking for camera pi updates...
[2026-10-20 02:01:13,697.697 INFO    ] 200
[2026-10-20 02:01:13,700.700 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:01:13,743.743 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:01:13,786.786 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:01:13,789.789 INFO    ] No camera update needed
[2026-10-20 02:01:13,791.791 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:01:13,793.793 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:01:13,798.798 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:01:13,803.803 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:01:15,843.843 INFO    ] ================================================
[2026-10-20 02:01:15,858.858 INFO    ] Launching Daemon at Tue Oct 20 02:01:15 IST 2026
[2026-10-20 02:01:15,869.869 INFO    ] ================================================
[2026-10-20 02:01:16,491.491 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:01:16
[2026-10-20 02:01:17,134.134 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:01:17,428.428 INFO    ] Initializing speech engine...
[2026-10-20 02:01:17,441.441 INFO    ] 2026-10-20 02:01:17
[2026-10-20 02:01:17,721.721 INFO    ] 2026-10-20 02:01:17
[2026-10-20 02:01:17,760.760 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:01:18,041.041 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:01:18,049.049 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:01:18,241.241 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:01:18,251.251 INFO    ] time= 20/10/2026 02:01:18
[2026-10-20 02:01:18,272.272 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:01:18,298.298 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:01:18,435.435 INFO    ] No existing commands found in stream
[2026-10-20 02:01:23,466.466 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:01:23,469.469 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-10-20 02:01:27,244.244 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:01:27,247.247 INFO    ] Checking for system updates...
[2026-10-20 02:01:27,283.283 INFO    ] 200
[2026-10-20 02:01:27,285.285 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:01:27,337.337 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:01:27,340.340 INFO    ] No update needed
[2026-10-20 02:01:27,342.342 INFO    ] Checking for camera pi updates...
[2026-10-20 02:01:27,376.376 INFO    ] 200
[2026-10-20 02:01:27,378.378 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:01:27,421.421 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:01:27,567.567 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:01:27,569.569 INFO    ] No camera update needed
[2026-10-20 02:01:27,572.572 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:01:27,574.574 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:01:27,579.579 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:01:27,584.584 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:01:29,624.624 INFO    ] ================================================
[2026-10-20 02:01:29,640.640 INFO    ] Launching Daemon at Tue Oct 20 02:01:29 IST 2026
[2026-10-20 02:01:29,651.651 INFO    ] ================================================
[2026-10-20 02:01:30,271.271 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:01:30
[2026-10-20 02:01:30,911.911 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:01:31,206.206 INFO    ] Initializing speech engine...
[2026-10-20 02:01:31,218.218 INFO    ] 2026-10-20 02:01:31
[2026-10-20 02:01:31,492.492 INFO    ] 2026-10-20 02:01:31
[2026-10-20 02:01:31,537.537 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:01:31,798.798 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:01:31,830.830 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:01:32,055.055 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:01:32,079.079 INFO    ] time= 20/10/2026 02:01:32
[2026-10-20 02:01:32,085.085 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:01:32,107.107 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:01:32,231.231 INFO    ] No existing commands found in stream
[2026-10-20 02:01:37,255.255 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:01:37,258.258 INFO    ] Waiting 0.16 seconds before fallback handling...
[2026-10-20 02:01:37,913.913 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 02:01:37,915.915 INFO    ] Checking for system updates...
[2026-10-20 02:01:37,951.951 INFO    ] 200
[2026-10-20 02:01:37,953.953 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:01:38,004.004 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:01:38,007.007 INFO    ] No update needed
[2026-10-20 02:01:38,009.009 INFO    ] Checking for camera pi updates...
[2026-10-20 02:01:38,043.043 INFO    ] 200
[2026-10-20 02:01:38,045.045 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:01:38,085.085 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:01:38,138.138 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:01:38,141.141 INFO    ] No camera update needed
[2026-10-20 02:01:38,143.143 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:01:38,145.145 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:01:38,150.150 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:01:38,155.155 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:01:40,195.195 INFO    ] ================================================
[2026-10-20 02:01:40,211.211 INFO    ] Launching Daemon at Tue Oct 20 02:01:40 IST 2026
[2026-10-20 02:01:40,222.222 INFO    ] ================================================
[2026-10-20 02:01:40,804.804 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:01:40
[2026-10-20 02:01:41,409.409 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:01:41,680.680 INFO    ] Initializing speech engine...
[2026-10-20 02:01:41,687.687 INFO    ] 2026-10-20 02:01:41
[2026-10-20 02:01:41,944.944 INFO    ] 2026-10-20 02:01:41
[2026-10-20 02:01:41,979.979 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:01:42,184.184 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:01:42,200.200 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:01:42,348.348 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:01:42,353.353 INFO    ] time= 20/10/2026 02:01:42
[2026-10-20 02:01:42,359.359 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:01:42,364.364 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:01:42,525.525 INFO    ] No existing commands found in stream
[2026-10-20 02:01:47,550.550 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:01:47,553.553 INFO    ] Waiting 1.49 seconds before fallback handling...
[2026-10-20 02:01:49,610.610 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:01:49,613.613 INFO    ] Checking for system updates...
[2026-10-20 02:01:49,653.653 INFO    ] 200
[2026-10-20 02:01:49,655.655 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:01:49,716.716 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:01:49,719.719 INFO    ] No update needed
[2026-10-20 02:01:49,721.721 INFO    ] Checking for camera pi updates...
[2026-10-20 02:01:49,755.755 INFO    ] 200
[2026-10-20 02:01:49,758.758 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:01:49,799.799 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:01:49,846.846 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:01:49,849.849 INFO    ] No camera update needed
[2026-10-20 02:01:49,851.851 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:01:49,853.853 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:01:49,859.859 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:01:49,864.864 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:01:51,906.906 INFO    ] ================================================
[2026-10-20 02:01:51,923.923 INFO    ] Launching Daemon at Tue Oct 20 02:01:51 IST 2026
[2026-10-20 02:01:51,934.934 INFO    ] ================================================
[2026-10-20 02:01:52,572.572 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:01:52
[2026-10-20 02:01:53,231.231 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:01:53,533.533 INFO    ] Initializing speech engine...
[2026-10-20 02:01:53,541.541 INFO    ] 2026-10-20 02:01:53
[2026-10-20 02:01:53,813.813 INFO    ] 2026-10-20 02:01:53
[2026-10-20 02:01:53,870.870 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:01:54,121.121 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:01:54,126.126 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:01:54,277.277 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:01:54,327.327 INFO    ] time= 20/10/2026 02:01:54
[2026-10-20 02:01:54,386.386 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:01:54,425.425 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:01:54,568.568 INFO    ] No existing commands found in stream
[2026-10-20 02:01:59,599.599 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:01:59,601.601 INFO    ] Waiting 3.20 seconds before fallback handling...
[2026-10-20 02:02:03,307.307 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:02:03,310.310 INFO    ] Checking for system updates...
[2026-10-20 02:02:03,354.354 INFO    ] 200
[2026-10-20 02:02:03,357.357 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:02:03,410.410 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:02:03,412.412 INFO    ] No update needed
[2026-10-20 02:02:03,415.415 INFO    ] Checking for camera pi updates...
[2026-10-20 02:02:03,460.460 INFO    ] 200
[2026-10-20 02:02:03,464.464 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:02:03,519.519 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:02:03,572.572 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:02:03,574.574 INFO    ] No camera update needed
[2026-10-20 02:02:03,576.576 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:02:03,579.579 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:02:03,584.584 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:02:03,589.589 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:02:05,629.629 INFO    ] ================================================
[2026-10-20 02:02:05,644.644 INFO    ] Launching Daemon at Tue Oct 20 02:02:05 IST 2026
[2026-10-20 02:02:05,655.655 INFO    ] ================================================
[2026-10-20 02:02:06,227.227 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:02:06
[2026-10-20 02:02:06,814.814 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:02:07,083.083 INFO    ] Initializing speech engine...
[2026-10-20 02:02:07,093.093 INFO    ] 2026-10-20 02:02:07
[2026-10-20 02:02:07,336.336 INFO    ] 2026-10-20 02:02:07
[2026-10-20 02:02:07,372.372 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:02:07,570.570 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:02:07,616.616 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:02:07,783.783 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:02:07,843.843 INFO    ] time= 20/10/2026 02:02:07
[2026-10-20 02:02:07,892.892 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:02:07,912.912 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:02:08,053.053 INFO    ] No existing commands found in stream
[2026-10-20 02:02:13,073.073 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:02:13,076.076 INFO    ] Waiting 3.01 seconds before fallback handling...
[2026-10-20 02:02:16,612.612 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 02:02:16,614.614 INFO    ] Checking for system updates...
[2026-10-20 02:02:16,650.650 INFO    ] 200
[2026-10-20 02:02:16,652.652 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:02:16,704.704 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:02:16,706.706 INFO    ] No update needed
[2026-10-20 02:02:16,709.709 INFO    ] Checking for camera pi updates...
[2026-10-20 02:02:16,745.745 INFO    ] 200
[2026-10-20 02:02:16,747.747 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:02:16,788.788 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:02:16,832.832 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:02:16,835.835 INFO    ] No camera update needed
[2026-10-20 02:02:16,838.838 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:02:16,840.840 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:02:16,846.846 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:02:16,852.852 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:02:18,893.893 INFO    ] ================================================
[2026-10-20 02:02:18,909.909 INFO    ] Launching Daemon at Tue Oct 20 02:02:18 IST 2026
[2026-10-20 02:02:18,919.919 INFO    ] ================================================
[2026-10-20 02:02:19,501.501 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:02:19
[2026-10-20 02:02:20,100.100 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:02:20,387.387 INFO    ] Initializing speech engine...
[2026-10-20 02:02:20,396.396 INFO    ] 2026-10-20 02:02:20
[2026-10-20 02:02:20,707.707 INFO    ] 2026-10-20 02:02:20
[2026-10-20 02:02:20,794.794 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:02:20,951.951 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:02:20,974.974 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:02:21,183.183 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:02:21,218.218 INFO    ] time= 20/10/2026 02:02:21
[2026-10-20 02:02:21,234.234 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:02:21,243.243 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:02:21,372.372 INFO    ] No existing commands found in stream
[2026-10-20 02:02:26,385.385 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:02:26,387.387 INFO    ] Waiting 1.66 seconds before fallback handling...
[2026-10-20 02:02:28,593.593 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:02:28,596.596 INFO    ] Checking for system updates...
[2026-10-20 02:02:28,633.633 INFO    ] 200
[2026-10-20 02:02:28,636.636 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:02:28,689.689 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:02:28,692.692 INFO    ] No update needed
[2026-10-20 02:02:28,694.694 INFO    ] Checking for camera pi updates...
[2026-10-20 02:02:28,728.728 INFO    ] 200
[2026-10-20 02:02:28,730.730 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:02:28,771.771 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:02:28,819.819 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:02:28,821.821 INFO    ] No camera update needed
[2026-10-20 02:02:28,824.824 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:02:28,826.826 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:02:28,833.833 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:02:28,838.838 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:02:30,879.879 INFO    ] ================================================
[2026-10-20 02:02:30,894.894 INFO    ] Launching Daemon at Tue Oct 20 02:02:30 IST 2026
[2026-10-20 02:02:30,904.904 INFO    ] ================================================
[2026-10-20 02:02:31,473.473 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:02:31
[2026-10-20 02:02:32,090.090 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:02:32,396.396 INFO    ] Initializing speech engine...
[2026-10-20 02:02:32,406.406 INFO    ] 2026-10-20 02:02:32
[2026-10-20 02:02:32,683.683 INFO    ] 2026-10-20 02:02:32
[2026-10-20 02:02:32,720.720 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:02:32,989.989 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:02:32,994.994 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:02:33,203.203 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:02:33,254.254 INFO    ] time= 20/10/2026 02:02:33
[2026-10-20 02:02:33,271.271 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:02:33,280.280 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:02:33,421.421 INFO    ] No existing commands found in stream
[2026-10-20 02:02:38,458.458 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:02:38,461.461 INFO    ] Waiting 2.08 seconds before fallback handling...
[2026-10-20 02:02:41,026.026 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:02:41,029.029 INFO    ] Checking for system updates...
[2026-10-20 02:02:41,065.065 INFO    ] 200
[2026-10-20 02:02:41,067.067 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:02:41,127.127 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:02:41,130.130 INFO    ] No update needed
[2026-10-20 02:02:41,133.133 INFO    ] Checking for camera pi updates...
[2026-10-20 02:02:41,167.167 INFO    ] 200
[2026-10-20 02:02:41,169.169 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:02:41,211.211 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:02:41,264.264 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:02:41,266.266 INFO    ] No camera update needed
[2026-10-20 02:02:41,269.269 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:02:41,272.272 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:02:41,277.277 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:02:41,283.283 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:02:43,323.323 INFO    ] ================================================
[2026-10-20 02:02:43,338.338 INFO    ] Launching Daemon at Tue Oct 20 02:02:43 IST 2026
[2026-10-20 02:02:43,349.349 INFO    ] ================================================
[2026-10-20 02:02:43,928.928 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:02:43
[2026-10-20 02:02:44,525.525 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:02:44,802.802 INFO    ] Initializing speech engine...
[2026-10-20 02:02:44,810.810 INFO    ] 2026-10-20 02:02:44
[2026-10-20 02:02:45,071.071 INFO    ] 2026-10-20 02:02:45
[2026-10-20 02:02:45,124.124 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:02:45,346.346 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:02:45,355.355 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:02:45,568.568 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:02:45,613.613 INFO    ] time= 20/10/2026 02:02:45
[2026-10-20 02:02:45,619.619 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:02:45,637.637 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:02:45,764.764 INFO    ] No existing commands found in stream
[2026-10-20 02:02:50,779.779 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:02:50,782.782 INFO    ] Waiting 2.25 seconds before fallback handling...
[2026-10-20 02:02:53,570.570 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:02:53,572.572 INFO    ] Checking for system updates...
[2026-10-20 02:02:53,608.608 INFO    ] 200
[2026-10-20 02:02:53,610.610 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:02:53,671.671 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:02:53,673.673 INFO    ] No update needed
[2026-10-20 02:02:53,676.676 INFO    ] Checking for camera pi updates...
[2026-10-20 02:02:53,709.709 INFO    ] 200
[2026-10-20 02:02:53,711.711 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:02:53,754.754 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:02:53,797.797 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:02:53,800.800 INFO    ] No camera update needed
[2026-10-20 02:02:53,802.802 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:02:53,804.804 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:02:53,810.810 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:02:53,814.814 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:02:55,856.856 INFO    ] ================================================
[2026-10-20 02:02:55,871.871 INFO    ] Launching Daemon at Tue Oct 20 02:02:55 IST 2026
[2026-10-20 02:02:55,881.881 INFO    ] ================================================
[2026-10-20 02:02:56,460.460 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:02:56
[2026-10-20 02:02:57,059.059 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:02:57,333.333 INFO    ] Initializing speech engine...
[2026-10-20 02:02:57,342.342 INFO    ] 2026-10-20 02:02:57
[2026-10-20 02:02:57,590.590 INFO    ] 2026-10-20 02:02:57
[2026-10-20 02:02:57,626.626 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:02:57,878.878 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:02:57,887.887 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:02:58,084.084 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:02:58,138.138 INFO    ] time= 20/10/2026 02:02:58
[2026-10-20 02:02:58,150.150 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:02:58,156.156 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:02:58,303.303 INFO    ] No existing commands found in stream
[2026-10-20 02:03:03,321.321 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:03:03,325.325 INFO    ] Waiting 0.56 seconds before fallback handling...
[2026-10-20 02:03:04,401.401 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:03:04,404.404 INFO    ] Checking for system updates...
[2026-10-20 02:03:04,440.440 INFO    ] 200
[2026-10-20 02:03:04,443.443 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:03:04,495.495 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:03:04,497.497 INFO    ] No update needed
[2026-10-20 02:03:04,500.500 INFO    ] Checking for camera pi updates...
[2026-10-20 02:03:04,534.534 INFO    ] 200
[2026-10-20 02:03:04,537.537 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:03:04,581.581 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:03:04,624.624 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:03:04,627.627 INFO    ] No camera update needed
[2026-10-20 02:03:04,629.629 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:03:04,631.631 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:03:04,637.637 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:03:04,642.642 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:03:06,682.682 INFO    ] ================================================
[2026-10-20 02:03:06,697.697 INFO    ] Launching Daemon at Tue Oct 20 02:03:06 IST 2026
[2026-10-20 02:03:06,708.708 INFO    ] ================================================
[2026-10-20 02:03:07,287.287 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:03:07
[2026-10-20 02:03:07,887.887 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:03:08,160.160 INFO    ] Initializing speech engine...
[2026-10-20 02:03:08,171.171 INFO    ] 2026-10-20 02:03:08
[2026-10-20 02:03:08,424.424 INFO    ] 2026-10-20 02:03:08
[2026-10-20 02:03:08,485.485 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:03:08,711.711 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:03:08,716.716 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:03:08,952.952 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:03:08,972.972 INFO    ] time= 20/10/2026 02:03:08
[2026-10-20 02:03:08,989.989 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:03:08,996.996 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:03:09,122.122 INFO    ] No existing commands found in stream
[2026-10-20 02:03:14,138.138 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:03:14,141.141 INFO    ] Waiting 0.25 seconds before fallback handling...
[2026-10-20 02:03:14,904.904 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:03:14,907.907 INFO    ] Checking for system updates...
[2026-10-20 02:03:14,946.946 INFO    ] 200
[2026-10-20 02:03:14,949.949 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:03:15,001.001 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:03:15,004.004 INFO    ] No update needed
[2026-10-20 02:03:15,006.006 INFO    ] Checking for camera pi updates...
[2026-10-20 02:03:15,044.044 INFO    ] 200
[2026-10-20 02:03:15,046.046 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:03:15,087.087 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:03:15,142.142 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:03:15,145.145 INFO    ] No camera update needed
[2026-10-20 02:03:15,147.147 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:03:15,150.150 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:03:15,155.155 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:03:15,160.160 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:03:17,201.201 INFO    ] ================================================
[2026-10-20 02:03:17,216.216 INFO    ] Launching Daemon at Tue Oct 20 02:03:17 IST 2026
[2026-10-20 02:03:17,226.226 INFO    ] ================================================
[2026-10-20 02:03:17,794.794 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:03:17
[2026-10-20 02:03:18,379.379 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:03:18,647.647 INFO    ] Initializing speech engine...
[2026-10-20 02:03:18,656.656 INFO    ] 2026-10-20 02:03:18
[2026-10-20 02:03:18,903.903 INFO    ] 2026-10-20 02:03:18
[2026-10-20 02:03:18,938.938 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:03:19,190.190 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:03:19,199.199 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:03:19,437.437 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:03:19,460.460 INFO    ] time= 20/10/2026 02:03:19
[2026-10-20 02:03:19,475.475 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:03:19,482.482 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:03:19,609.609 INFO    ] No existing commands found in stream
[2026-10-20 02:03:24,624.624 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:03:24,627.627 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-10-20 02:03:25,746.746 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 02:03:25,749.749 INFO    ] Checking for system updates...
[2026-10-20 02:03:25,787.787 INFO    ] 200
[2026-10-20 02:03:25,790.790 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:03:25,841.841 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:03:25,844.844 INFO    ] No update needed
[2026-10-20 02:03:25,846.846 INFO    ] Checking for camera pi updates...
[2026-10-20 02:03:25,883.883 INFO    ] 200
[2026-10-20 02:03:25,885.885 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:03:25,926.926 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:03:25,981.981 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:03:25,983.983 INFO    ] No camera update needed
[2026-10-20 02:03:25,985.985 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:03:25,988.988 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:03:25,993.993 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:03:25,998.998 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:03:28,038.038 INFO    ] ================================================
[2026-10-20 02:03:28,054.054 INFO    ] Launching Daemon at Tue Oct 20 02:03:28 IST 2026
[2026-10-20 02:03:28,064.064 INFO    ] ================================================
[2026-10-20 02:03:28,629.629 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:03:28
[2026-10-20 02:03:29,212.212 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:03:29,479.479 INFO    ] Initializing speech engine...
[2026-10-20 02:03:29,488.488 INFO    ] 2026-10-20 02:03:29
[2026-10-20 02:03:29,735.735 INFO    ] 2026-10-20 02:03:29
[2026-10-20 02:03:29,770.770 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:03:30,021.021 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:03:30,031.031 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:03:30,170.170 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:03:30,225.225 INFO    ] time= 20/10/2026 02:03:30
[2026-10-20 02:03:30,279.279 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:03:30,295.295 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:03:30,424.424 INFO    ] No existing commands found in stream
[2026-10-20 02:03:35,451.451 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:03:35,454.454 INFO    ] Waiting 0.30 seconds before fallback handling...
[2026-10-20 02:03:36,260.260 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:03:36,263.263 INFO    ] Checking for system updates...
[2026-10-20 02:03:36,298.298 INFO    ] 200
[2026-10-20 02:03:36,301.301 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:03:36,364.364 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:03:36,366.366 INFO    ] No update needed
[2026-10-20 02:03:36,368.368 INFO    ] Checking for camera pi updates...
[2026-10-20 02:03:36,401.401 INFO    ] 200
[2026-10-20 02:03:36,403.403 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:03:36,448.448 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:03:36,495.495 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:03:36,497.497 INFO    ] No camera update needed
[2026-10-20 02:03:36,499.499 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:03:36,502.502 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:03:36,507.507 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:03:36,512.512 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:03:38,556.556 INFO    ] ================================================
[2026-10-20 02:03:38,571.571 INFO    ] Launching Daemon at Tue Oct 20 02:03:38 IST 2026
[2026-10-20 02:03:38,582.582 INFO    ] ================================================
[2026-10-20 02:03:39,173.173 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:03:39
[2026-10-20 02:03:39,758.758 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:03:40,008.008 INFO    ] Initializing speech engine...
[2026-10-20 02:03:40,023.023 INFO    ] 2026-10-20 02:03:40
[2026-10-20 02:03:40,289.289 INFO    ] 2026-10-20 02:03:40
[2026-10-20 02:03:40,323.323 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:03:40,541.541 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:03:40,587.587 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:03:40,767.767 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:03:40,772.772 INFO    ] time= 20/10/2026 02:03:40
[2026-10-20 02:03:40,778.778 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:03:40,832.832 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:03:40,946.946 INFO    ] No existing commands found in stream
[2026-10-20 02:03:45,959.959 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:03:45,962.962 INFO    ] Waiting 1.87 seconds before fallback handling...
[2026-10-20 02:03:48,341.341 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:03:48,346.346 INFO    ] Checking for system updates...
[2026-10-20 02:03:48,391.391 INFO    ] 200
[2026-10-20 02:03:48,393.393 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:03:48,462.462 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:03:48,465.465 INFO    ] No update needed
[2026-10-20 02:03:48,467.467 INFO    ] Checking for camera pi updates...
[2026-10-20 02:03:48,504.504 INFO    ] 200
[2026-10-20 02:03:48,506.506 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:03:48,546.546 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:03:48,593.593 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:03:48,595.595 INFO    ] No camera update needed
[2026-10-20 02:03:48,597.597 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:03:48,600.600 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:03:48,605.605 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:03:48,610.610 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:03:50,651.651 INFO    ] ================================================
[2026-10-20 02:03:50,666.666 INFO    ] Launching Daemon at Tue Oct 20 02:03:50 IST 2026
[2026-10-20 02:03:50,676.676 INFO    ] ================================================
[2026-10-20 02:03:51,242.242 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:03:51
[2026-10-20 02:03:51,825.825 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:03:52,097.097 INFO    ] Initializing speech engine...
[2026-10-20 02:03:52,106.106 INFO    ] 2026-10-20 02:03:52
[2026-10-20 02:03:52,362.362 INFO    ] 2026-10-20 02:03:52
[2026-10-20 02:03:52,415.415 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:03:52,699.699 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:03:52,706.706 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:03:52,902.902 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:03:52,908.908 INFO    ] time= 20/10/2026 02:03:52
[2026-10-20 02:03:52,928.928 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:03:52,954.954 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:03:53,061.061 INFO    ] No existing commands found in stream
[2026-10-20 02:03:58,076.076 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:03:58,079.079 INFO    ] Waiting 1.72 seconds before fallback handling...
[2026-10-20 02:04:00,254.254 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:04:00,256.256 INFO    ] Checking for system updates...
[2026-10-20 02:04:00,296.296 INFO    ] 200
[2026-10-20 02:04:00,298.298 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:04:00,356.356 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:04:00,359.359 INFO    ] No update needed
[2026-10-20 02:04:00,361.361 INFO    ] Checking for camera pi updates...
[2026-10-20 02:04:00,398.398 INFO    ] 200
[2026-10-20 02:04:00,401.401 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:04:00,446.446 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:04:00,493.493 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:04:00,495.495 INFO    ] No camera update needed
[2026-10-20 02:04:00,497.497 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:04:00,500.500 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:04:00,505.505 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:04:00,510.510 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:04:02,570.570 INFO    ] ================================================
[2026-10-20 02:04:02,590.590 INFO    ] Launching Daemon at Tue Oct 20 02:04:02 IST 2026
[2026-10-20 02:04:02,606.606 INFO    ] ================================================
[2026-10-20 02:04:03,255.255 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:04:03
[2026-10-20 02:04:03,863.863 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:04:04,120.120 INFO    ] Initializing speech engine...
[2026-10-20 02:04:04,129.129 INFO    ] 2026-10-20 02:04:04
[2026-10-20 02:04:04,424.424 INFO    ] 2026-10-20 02:04:04
[2026-10-20 02:04:04,458.458 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:04:04,674.674 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:04:04,691.691 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:04:04,847.847 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:04:04,854.854 INFO    ] time= 20/10/2026 02:04:04
[2026-10-20 02:04:04,891.891 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:04:04,930.930 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:04:05,069.069 INFO    ] No existing commands found in stream
[2026-10-20 02:04:10,087.087 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:04:10,090.090 INFO    ] Waiting 1.86 seconds before fallback handling...
[2026-10-20 02:04:12,439.439 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:04:12,442.442 INFO    ] Checking for system updates...
[2026-10-20 02:04:12,482.482 INFO    ] 200
[2026-10-20 02:04:12,485.485 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:04:12,558.558 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:04:12,561.561 INFO    ] No update needed
[2026-10-20 02:04:12,564.564 INFO    ] Checking for camera pi updates...
[2026-10-20 02:04:12,604.604 INFO    ] 200
[2026-10-20 02:04:12,607.607 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:04:12,653.653 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:04:12,713.713 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:04:12,716.716 INFO    ] No camera update needed
[2026-10-20 02:04:12,720.720 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:04:12,722.722 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:04:12,729.729 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:04:12,735.735 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:04:14,777.777 INFO    ] ================================================
[2026-10-20 02:04:14,792.792 INFO    ] Launching Daemon at Tue Oct 20 02:04:14 IST 2026
[2026-10-20 02:04:14,803.803 INFO    ] ================================================
[2026-10-20 02:04:15,458.458 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:04:15
[2026-10-20 02:04:16,135.135 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:04:16,451.451 INFO    ] Initializing speech engine...
[2026-10-20 02:04:16,464.464 INFO    ] 2026-10-20 02:04:16
[2026-10-20 02:04:16,753.753 INFO    ] 2026-10-20 02:04:16
[2026-10-20 02:04:16,801.801 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:04:17,094.094 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:04:17,099.099 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:04:17,300.300 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:04:17,308.308 INFO    ] time= 20/10/2026 02:04:17
[2026-10-20 02:04:17,330.330 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:04:17,359.359 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:04:17,508.508 INFO    ] No existing commands found in stream
[2026-10-20 02:04:22,539.539 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:04:22,543.543 INFO    ] Waiting 1.42 seconds before fallback handling...
[2026-10-20 02:04:24,508.508 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:04:24,512.512 INFO    ] Checking for system updates...
[2026-10-20 02:04:24,555.555 INFO    ] 200
[2026-10-20 02:04:24,558.558 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:04:24,612.612 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:04:24,615.615 INFO    ] No update needed
[2026-10-20 02:04:24,618.618 INFO    ] Checking for camera pi updates...
[2026-10-20 02:04:24,658.658 INFO    ] 200
[2026-10-20 02:04:24,661.661 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:04:24,710.710 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:04:24,757.757 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:04:24,760.760 INFO    ] No camera update needed
[2026-10-20 02:04:24,762.762 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:04:24,764.764 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:04:24,770.770 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:04:24,775.775 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:04:26,816.816 INFO    ] ================================================
[2026-10-20 02:04:26,832.832 INFO    ] Launching Daemon at Tue Oct 20 02:04:26 IST 2026
[2026-10-20 02:04:26,842.842 INFO    ] ================================================
[2026-10-20 02:04:27,445.445 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:04:27
[2026-10-20 02:04:28,128.128 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:04:28,440.440 INFO    ] Initializing speech engine...
[2026-10-20 02:04:28,450.450 INFO    ] 2026-10-20 02:04:28
[2026-10-20 02:04:28,766.766 INFO    ] 2026-10-20 02:04:28
[2026-10-20 02:04:28,852.852 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:04:29,066.066 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:04:29,071.071 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:04:29,267.267 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:04:29,275.275 INFO    ] time= 20/10/2026 02:04:29
[2026-10-20 02:04:29,296.296 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:04:29,324.324 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:04:29,431.431 INFO    ] No existing commands found in stream
[2026-10-20 02:04:34,456.456 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:04:34,460.460 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-10-20 02:04:36,754.754 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 02:04:36,758.758 INFO    ] Checking for system updates...
[2026-10-20 02:04:36,794.794 INFO    ] 200
[2026-10-20 02:04:36,797.797 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:04:36,848.848 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:04:36,851.851 INFO    ] No update needed
[2026-10-20 02:04:36,853.853 INFO    ] Checking for camera pi updates...
[2026-10-20 02:04:36,887.887 INFO    ] 200
[2026-10-20 02:04:36,890.890 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:04:36,930.930 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:04:36,994.994 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:04:36,996.996 INFO    ] No camera update needed
[2026-10-20 02:04:36,999.999 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:04:37,001.001 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:04:37,006.006 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:04:37,011.011 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:04:39,052.052 INFO    ] ================================================
[2026-10-20 02:04:39,067.067 INFO    ] Launching Daemon at Tue Oct 20 02:04:39 IST 2026
[2026-10-20 02:04:39,079.079 INFO    ] ================================================
[2026-10-20 02:04:39,754.754 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:04:39
[2026-10-20 02:04:40,388.388 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:04:40,693.693 INFO    ] Initializing speech engine...
[2026-10-20 02:04:40,701.701 INFO    ] 2026-10-20 02:04:40
[2026-10-20 02:04:40,976.976 INFO    ] 2026-10-20 02:04:40
[2026-10-20 02:04:41,013.013 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:04:41,240.240 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:04:41,251.251 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:04:41,456.456 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:04:41,485.485 INFO    ] time= 20/10/2026 02:04:41
[2026-10-20 02:04:41,492.492 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:04:41,541.541 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:04:41,645.645 INFO    ] No existing commands found in stream
[2026-10-20 02:04:46,667.667 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:04:46,670.670 INFO    ] Waiting 1.44 seconds before fallback handling...
[2026-10-20 02:04:48,682.682 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:04:48,685.685 INFO    ] Checking for system updates...
[2026-10-20 02:04:48,723.723 INFO    ] 200
[2026-10-20 02:04:48,726.726 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:04:48,786.786 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:04:48,788.788 INFO    ] No update needed
[2026-10-20 02:04:48,791.791 INFO    ] Checking for camera pi updates...
[2026-10-20 02:04:48,826.826 INFO    ] 200
[2026-10-20 02:04:48,828.828 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:04:48,869.869 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:04:48,919.919 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:04:48,922.922 INFO    ] No camera update needed
[2026-10-20 02:04:48,925.925 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:04:48,927.927 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:04:48,934.934 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:04:48,940.940 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:04:50,980.980 INFO    ] ================================================
[2026-10-20 02:04:51,996.996 INFO    ] Launching Daemon at Tue Oct 20 02:04:50 IST 2026
[2026-10-20 02:04:51,007.007 INFO    ] ================================================
[2026-10-20 02:04:51,572.572 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:04:51
[2026-10-20 02:04:52,156.156 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:04:52,426.426 INFO    ] Initializing speech engine...
[2026-10-20 02:04:52,434.434 INFO    ] 2026-10-20 02:04:52
[2026-10-20 02:04:52,690.690 INFO    ] 2026-10-20 02:04:52
[2026-10-20 02:04:52,724.724 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:04:52,968.968 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:04:52,977.977 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:04:53,111.111 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:04:53,176.176 INFO    ] time= 20/10/2026 02:04:53
[2026-10-20 02:04:53,235.235 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:04:53,244.244 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:04:53,387.387 INFO    ] No existing commands found in stream
[2026-10-20 02:04:58,402.402 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:04:58,405.405 INFO    ] Waiting 3.72 seconds before fallback handling...
[2026-10-20 02:05:02,608.608 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 02:05:02,611.611 INFO    ] Checking for system updates...
[2026-10-20 02:05:02,662.662 INFO    ] 200
[2026-10-20 02:05:02,666.666 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:05:02,756.756 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:05:02,759.759 INFO    ] No update needed
[2026-10-20 02:05:02,763.763 INFO    ] Checking for camera pi updates...
[2026-10-20 02:05:02,801.801 INFO    ] 200
[2026-10-20 02:05:02,804.804 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:05:02,855.855 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:05:02,889.889 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:05:02,891.891 INFO    ] No camera update needed
[2026-10-20 02:05:02,894.894 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:05:02,897.897 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:05:02,903.903 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:05:02,909.909 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:05:04,950.950 INFO    ] ================================================
[2026-10-20 02:05:04,966.966 INFO    ] Launching Daemon at Tue Oct 20 02:05:04 IST 2026
[2026-10-20 02:05:04,977.977 INFO    ] ================================================
[2026-10-20 02:05:05,543.543 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:05:05
[2026-10-20 02:05:06,125.125 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:05:06,383.383 INFO    ] Initializing speech engine...
[2026-10-20 02:05:06,398.398 INFO    ] 2026-10-20 02:05:06
[2026-10-20 02:05:06,682.682 INFO    ] 2026-10-20 02:05:06
[2026-10-20 02:05:06,717.717 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:05:06,929.929 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:05:06,944.944 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:05:07,100.100 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:05:07,104.104 INFO    ] time= 20/10/2026 02:05:07
[2026-10-20 02:05:07,111.111 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:05:07,116.116 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:05:07,255.255 INFO    ] No existing commands found in stream
[2026-10-20 02:05:12,285.285 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:05:12,288.288 INFO    ] Waiting 1.67 seconds before fallback handling...
[2026-10-20 02:05:14,425.425 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:05:14,428.428 INFO    ] Checking for system updates...
[2026-10-20 02:05:14,467.467 INFO    ] 200
[2026-10-20 02:05:14,469.469 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:05:14,522.522 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:05:14,524.524 INFO    ] No update needed
[2026-10-20 02:05:14,527.527 INFO    ] Checking for camera pi updates...
[2026-10-20 02:05:14,560.560 INFO    ] 200
[2026-10-20 02:05:14,562.562 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:05:14,608.608 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:05:14,662.662 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:05:14,664.664 INFO    ] No camera update needed
[2026-10-20 02:05:14,666.666 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:05:14,669.669 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:05:14,674.674 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:05:14,679.679 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:05:16,721.721 INFO    ] ================================================
[2026-10-20 02:05:16,737.737 INFO    ] Launching Daemon at Tue Oct 20 02:05:16 IST 2026
[2026-10-20 02:05:16,748.748 INFO    ] ================================================
[2026-10-20 02:05:17,414.414 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:05:17
[2026-10-20 02:05:18,101.101 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:05:18,409.409 INFO    ] Initializing speech engine...
[2026-10-20 02:05:18,420.420 INFO    ] 2026-10-20 02:05:18
[2026-10-20 02:05:18,698.698 INFO    ] 2026-10-20 02:05:18
[2026-10-20 02:05:18,743.743 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:05:18,970.970 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:05:18,976.976 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:05:19,212.212 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:05:19,237.237 INFO    ] time= 20/10/2026 02:05:19
[2026-10-20 02:05:19,255.255 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:05:19,284.284 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:05:19,415.415 INFO    ] No existing commands found in stream
[2026-10-20 02:05:24,446.446 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:05:24,450.450 INFO    ] Waiting 1.84 seconds before fallback handling...
[2026-10-20 02:05:26,840.840 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:05:26,843.843 INFO    ] Checking for system updates...
[2026-10-20 02:05:26,884.884 INFO    ] 200
[2026-10-20 02:05:26,886.886 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:05:26,939.939 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:05:26,941.941 INFO    ] No update needed
[2026-10-20 02:05:26,944.944 INFO    ] Checking for camera pi updates...
[2026-10-20 02:05:26,977.977 INFO    ] 200
[2026-10-20 02:05:26,980.980 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:05:27,021.021 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:05:27,067.067 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:05:27,070.070 INFO    ] No camera update needed
[2026-10-20 02:05:27,072.072 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:05:27,074.074 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:05:27,080.080 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:05:27,085.085 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:05:29,125.125 INFO    ] ================================================
[2026-10-20 02:05:29,142.142 INFO    ] Launching Daemon at Tue Oct 20 02:05:29 IST 2026
[2026-10-20 02:05:29,153.153 INFO    ] ================================================
[2026-10-20 02:05:29,727.727 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:05:29
[2026-10-20 02:05:30,308.308 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:05:30,555.555 INFO    ] Initializing speech engine...
[2026-10-20 02:05:30,578.578 INFO    ] 2026-10-20 02:05:30
[2026-10-20 02:05:30,837.837 INFO    ] 2026-10-20 02:05:30
[2026-10-20 02:05:30,872.872 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:05:31,081.081 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:05:31,140.140 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:05:31,284.284 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:05:31,324.324 INFO    ] time= 20/10/2026 02:05:31
[2026-10-20 02:05:31,378.378 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:05:31,418.418 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:05:31,538.538 INFO    ] No existing commands found in stream
[2026-10-20 02:05:36,563.563 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:05:36,566.566 INFO    ] Waiting 2.28 seconds before fallback handling...
[2026-10-20 02:05:39,360.360 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:05:39,363.363 INFO    ] Checking for system updates...
[2026-10-20 02:05:39,398.398 INFO    ] 200
[2026-10-20 02:05:39,401.401 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:05:39,456.456 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:05:39,458.458 INFO    ] No update needed
[2026-10-20 02:05:39,461.461 INFO    ] Checking for camera pi updates...
[2026-10-20 02:05:39,498.498 INFO    ] 200
[2026-10-20 02:05:39,501.501 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:05:39,541.541 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:05:39,688.688 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:05:39,690.690 INFO    ] No camera update needed
[2026-10-20 02:05:39,693.693 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:05:39,695.695 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:05:39,700.700 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:05:39,705.705 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:05:41,749.749 INFO    ] ================================================
[2026-10-20 02:05:41,764.764 INFO    ] Launching Daemon at Tue Oct 20 02:05:41 IST 2026
[2026-10-20 02:05:41,775.775 INFO    ] ================================================
[2026-10-20 02:05:42,344.344 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:05:42
[2026-10-20 02:05:42,929.929 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:05:43,197.197 INFO    ] Initializing speech engine...
[2026-10-20 02:05:43,206.206 INFO    ] 2026-10-20 02:05:43
[2026-10-20 02:05:43,451.451 INFO    ] 2026-10-20 02:05:43
[2026-10-20 02:05:43,492.492 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:05:43,736.736 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:05:43,745.745 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:05:43,920.920 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:05:43,974.974 INFO    ] time= 20/10/2026 02:05:43
[2026-10-20 02:05:44,006.006 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:05:44,012.012 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:05:44,166.166 INFO    ] No existing commands found in stream
[2026-10-20 02:05:49,192.192 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:05:49,194.194 INFO    ] Waiting 2.70 seconds before fallback handling...
[2026-10-20 02:05:52,387.387 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:05:52,389.389 INFO    ] Checking for system updates...
[2026-10-20 02:05:52,425.425 INFO    ] 200
[2026-10-20 02:05:52,427.427 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:05:52,479.479 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:05:52,481.481 INFO    ] No update needed
[2026-10-20 02:05:52,484.484 INFO    ] Checking for camera pi updates...
[2026-10-20 02:05:52,521.521 INFO    ] 200
[2026-10-20 02:05:52,523.523 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:05:52,564.564 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:05:52,611.611 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:05:52,614.614 INFO    ] No camera update needed
[2026-10-20 02:05:52,616.616 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:05:52,618.618 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:05:52,624.624 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:05:52,629.629 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:05:54,670.670 INFO    ] ================================================
[2026-10-20 02:05:54,689.689 INFO    ] Launching Daemon at Tue Oct 20 02:05:54 IST 2026
[2026-10-20 02:05:54,700.700 INFO    ] ================================================
[2026-10-20 02:05:55,317.317 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:05:55
[2026-10-20 02:05:55,900.900 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:05:56,167.167 INFO    ] Initializing speech engine...
[2026-10-20 02:05:56,178.178 INFO    ] 2026-10-20 02:05:56
[2026-10-20 02:05:56,423.423 INFO    ] 2026-10-20 02:05:56
[2026-10-20 02:05:56,457.457 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:05:56,715.715 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:05:56,726.726 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:05:56,870.870 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:05:56,913.913 INFO    ] time= 20/10/2026 02:05:56
[2026-10-20 02:05:56,963.963 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:05:57,008.008 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:05:57,132.132 INFO    ] No existing commands found in stream
[2026-10-20 02:06:02,157.157 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:06:02,160.160 INFO    ] Waiting 0.21 seconds before fallback handling...
[2026-10-20 02:06:02,871.871 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:06:02,874.874 INFO    ] Checking for system updates...
[2026-10-20 02:06:02,925.925 INFO    ] 200
[2026-10-20 02:06:02,928.928 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:06:03,013.013 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:06:03,018.018 INFO    ] No update needed
[2026-10-20 02:06:03,025.025 INFO    ] Checking for camera pi updates...
[2026-10-20 02:06:03,077.077 INFO    ] 200
[2026-10-20 02:06:03,080.080 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:06:03,150.150 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:06:03,202.202 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:06:03,204.204 INFO    ] No camera update needed
[2026-10-20 02:06:03,206.206 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:06:03,209.209 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:06:03,214.214 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:06:03,221.221 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:06:05,262.262 INFO    ] ================================================
[2026-10-20 02:06:05,278.278 INFO    ] Launching Daemon at Tue Oct 20 02:06:05 IST 2026
[2026-10-20 02:06:05,289.289 INFO    ] ================================================
[2026-10-20 02:06:05,915.915 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:06:05
[2026-10-20 02:06:06,586.586 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:06:06,892.892 INFO    ] Initializing speech engine...
[2026-10-20 02:06:06,901.901 INFO    ] 2026-10-20 02:06:06
[2026-10-20 02:06:07,191.191 INFO    ] 2026-10-20 02:06:07
[2026-10-20 02:06:07,237.237 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:06:07,526.526 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:06:07,534.534 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:06:07,716.716 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:06:07,744.744 INFO    ] time= 20/10/2026 02:06:07
[2026-10-20 02:06:07,762.762 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:06:07,790.790 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:06:07,910.910 INFO    ] No existing commands found in stream
[2026-10-20 02:06:12,942.942 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:06:12,945.945 INFO    ] Waiting 0.98 seconds before fallback handling...
[2026-10-20 02:06:14,434.434 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:06:14,437.437 INFO    ] Checking for system updates...
[2026-10-20 02:06:14,474.474 INFO    ] 200
[2026-10-20 02:06:14,477.477 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:06:14,537.537 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:06:14,540.540 INFO    ] No update needed
[2026-10-20 02:06:14,543.543 INFO    ] Checking for camera pi updates...
[2026-10-20 02:06:14,578.578 INFO    ] 200
[2026-10-20 02:06:14,581.581 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:06:14,627.627 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:06:14,676.676 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:06:14,679.679 INFO    ] No camera update needed
[2026-10-20 02:06:14,681.681 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:06:14,683.683 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:06:14,689.689 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:06:14,693.693 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:06:16,735.735 INFO    ] ================================================
[2026-10-20 02:06:16,751.751 INFO    ] Launching Daemon at Tue Oct 20 02:06:16 IST 2026
[2026-10-20 02:06:16,762.762 INFO    ] ================================================
[2026-10-20 02:06:17,427.427 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:06:17
[2026-10-20 02:06:18,116.116 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:06:18,429.429 INFO    ] Initializing speech engine...
[2026-10-20 02:06:18,436.436 INFO    ] 2026-10-20 02:06:18
[2026-10-20 02:06:18,736.736 INFO    ] 2026-10-20 02:06:18
[2026-10-20 02:06:18,848.848 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:06:19,068.068 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:06:19,074.074 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:06:19,277.277 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:06:19,297.297 INFO    ] time= 20/10/2026 02:06:19
[2026-10-20 02:06:19,328.328 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:06:19,337.337 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:06:19,485.485 INFO    ] No existing commands found in stream
[2026-10-20 02:06:24,516.516 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:06:24,520.520 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-10-20 02:06:28,212.212 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:06:28,215.215 INFO    ] Checking for system updates...
[2026-10-20 02:06:28,253.253 INFO    ] 200
[2026-10-20 02:06:28,256.256 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:06:28,317.317 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:06:28,320.320 INFO    ] No update needed
[2026-10-20 02:06:28,323.323 INFO    ] Checking for camera pi updates...
[2026-10-20 02:06:28,364.364 INFO    ] 200
[2026-10-20 02:06:28,366.366 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:06:28,412.412 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:06:28,463.463 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:06:28,465.465 INFO    ] No camera update needed
[2026-10-20 02:06:28,468.468 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:06:28,471.471 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:06:28,478.478 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:06:28,484.484 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:06:30,524.524 INFO    ] ================================================
[2026-10-20 02:06:30,540.540 INFO    ] Launching Daemon at Tue Oct 20 02:06:30 IST 2026
[2026-10-20 02:06:30,551.551 INFO    ] ================================================
[2026-10-20 02:06:31,126.126 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:06:31
[2026-10-20 02:06:31,710.710 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:06:31,992.992 INFO    ] Initializing speech engine...
[2026-10-20 02:06:32,001.001 INFO    ] 2026-10-20 02:06:31
[2026-10-20 02:06:32,291.291 INFO    ] 2026-10-20 02:06:32
[2026-10-20 02:06:32,326.326 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:06:32,532.532 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:06:32,549.549 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:06:32,694.694 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:06:32,700.700 INFO    ] time= 20/10/2026 02:06:32
[2026-10-20 02:06:32,759.759 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:06:32,791.791 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:06:32,908.908 INFO    ] No existing commands found in stream
[2026-10-20 02:06:37,919.919 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:06:37,922.922 INFO    ] Waiting 1.03 seconds before fallback handling...
[2026-10-20 02:06:39,445.445 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:06:39,447.447 INFO    ] Checking for system updates...
[2026-10-20 02:06:39,483.483 INFO    ] 200
[2026-10-20 02:06:39,486.486 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:06:39,545.545 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:06:39,548.548 INFO    ] No update needed
[2026-10-20 02:06:39,550.550 INFO    ] Checking for camera pi updates...
[2026-10-20 02:06:39,584.584 INFO    ] 200
[2026-10-20 02:06:39,587.587 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:06:39,632.632 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:06:39,679.679 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:06:39,682.682 INFO    ] No camera update needed
[2026-10-20 02:06:39,684.684 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:06:39,687.687 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:06:39,693.693 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:06:39,698.698 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:06:41,739.739 INFO    ] ================================================
[2026-10-20 02:06:41,755.755 INFO    ] Launching Daemon at Tue Oct 20 02:06:41 IST 2026
[2026-10-20 02:06:41,767.767 INFO    ] ================================================
[2026-10-20 02:06:42,443.443 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:06:42
[2026-10-20 02:06:43,138.138 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:06:43,453.453 INFO    ] Initializing speech engine...
[2026-10-20 02:06:43,462.462 INFO    ] 2026-10-20 02:06:43
[2026-10-20 02:06:43,755.755 INFO    ] 2026-10-20 02:06:43
[2026-10-20 02:06:43,801.801 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:06:44,057.057 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:06:44,065.065 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:06:44,288.288 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:06:44,310.310 INFO    ] time= 20/10/2026 02:06:44
[2026-10-20 02:06:44,330.330 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:06:44,360.360 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:06:44,481.481 INFO    ] No existing commands found in stream
[2026-10-20 02:06:49,516.516 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:06:49,520.520 INFO    ] Waiting 2.51 seconds before fallback handling...
[2026-10-20 02:06:52,601.601 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:06:52,605.605 INFO    ] Checking for system updates...
[2026-10-20 02:06:52,642.642 INFO    ] 200
[2026-10-20 02:06:52,645.645 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:06:52,699.699 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:06:52,702.702 INFO    ] No update needed
[2026-10-20 02:06:52,705.705 INFO    ] Checking for camera pi updates...
[2026-10-20 02:06:52,744.744 INFO    ] 200
[2026-10-20 02:06:52,747.747 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:06:52,794.794 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:06:52,841.841 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:06:52,844.844 INFO    ] No camera update needed
[2026-10-20 02:06:52,846.846 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:06:52,848.848 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:06:52,854.854 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:06:52,859.859 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:06:54,899.899 INFO    ] ================================================
[2026-10-20 02:06:54,915.915 INFO    ] Launching Daemon at Tue Oct 20 02:06:54 IST 2026
[2026-10-20 02:06:54,926.926 INFO    ] ================================================
[2026-10-20 02:06:55,594.594 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:06:55
[2026-10-20 02:06:56,283.283 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:06:56,596.596 INFO    ] Initializing speech engine...
[2026-10-20 02:06:56,608.608 INFO    ] 2026-10-20 02:06:56
[2026-10-20 02:06:56,895.895 INFO    ] 2026-10-20 02:06:56
[2026-10-20 02:06:57,006.006 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:06:57,220.220 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:06:57,229.229 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:06:57,422.422 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:06:57,441.441 INFO    ] time= 20/10/2026 02:06:57
[2026-10-20 02:06:57,471.471 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:06:57,482.482 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:06:57,604.604 INFO    ] No existing commands found in stream
[2026-10-20 02:07:02,631.631 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:07:02,635.635 INFO    ] Waiting 1.28 seconds before fallback handling...
[2026-10-20 02:07:04,474.474 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:07:04,477.477 INFO    ] Checking for system updates...
[2026-10-20 02:07:04,514.514 INFO    ] 200
[2026-10-20 02:07:04,516.516 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:07:04,574.574 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:07:04,577.577 INFO    ] No update needed
[2026-10-20 02:07:04,580.580 INFO    ] Checking for camera pi updates...
[2026-10-20 02:07:04,614.614 INFO    ] 200
[2026-10-20 02:07:04,617.617 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:07:04,662.662 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:07:04,707.707 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:07:04,710.710 INFO    ] No camera update needed
[2026-10-20 02:07:04,713.713 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:07:04,715.715 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:07:04,720.720 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:07:04,725.725 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:07:06,765.765 INFO    ] ================================================
[2026-10-20 02:07:06,781.781 INFO    ] Launching Daemon at Tue Oct 20 02:07:06 IST 2026
[2026-10-20 02:07:06,791.791 INFO    ] ================================================
[2026-10-20 02:07:07,375.375 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:07:07
[2026-10-20 02:07:07,963.963 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:07:08,220.220 INFO    ] Initializing speech engine...
[2026-10-20 02:07:08,226.226 INFO    ] 2026-10-20 02:07:08
[2026-10-20 02:07:08,527.527 INFO    ] 2026-10-20 02:07:08
[2026-10-20 02:07:08,564.564 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:07:08,787.787 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:07:08,801.801 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:07:09,009.009 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:07:09,030.030 INFO    ] time= 20/10/2026 02:07:09
[2026-10-20 02:07:09,090.090 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:07:09,134.134 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:07:09,272.272 INFO    ] No existing commands found in stream
[2026-10-20 02:07:14,297.297 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:07:14,300.300 INFO    ] Waiting 1.57 seconds before fallback handling...
[2026-10-20 02:07:16,363.363 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:07:16,366.366 INFO    ] Checking for system updates...
[2026-10-20 02:07:16,404.404 INFO    ] 200
[2026-10-20 02:07:16,406.406 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:07:16,457.457 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:07:16,460.460 INFO    ] No update needed
[2026-10-20 02:07:16,462.462 INFO    ] Checking for camera pi updates...
[2026-10-20 02:07:16,496.496 INFO    ] 200
[2026-10-20 02:07:16,498.498 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:07:16,539.539 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:07:16,582.582 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:07:16,585.585 INFO    ] No camera update needed
[2026-10-20 02:07:16,587.587 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:07:16,589.589 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:07:16,595.595 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:07:16,600.600 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:07:18,639.639 INFO    ] ================================================
[2026-10-20 02:07:18,655.655 INFO    ] Launching Daemon at Tue Oct 20 02:07:18 IST 2026
[2026-10-20 02:07:18,666.666 INFO    ] ================================================
[2026-10-20 02:07:19,232.232 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:07:19
[2026-10-20 02:07:19,814.814 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:07:20,070.070 INFO    ] Initializing speech engine...
[2026-10-20 02:07:20,077.077 INFO    ] 2026-10-20 02:07:20
[2026-10-20 02:07:20,366.366 INFO    ] 2026-10-20 02:07:20
[2026-10-20 02:07:20,401.401 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:07:20,598.598 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:07:20,612.612 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:07:20,776.776 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:07:20,781.781 INFO    ] time= 20/10/2026 02:07:20
[2026-10-20 02:07:20,787.787 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:07:20,813.813 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:07:20,947.947 INFO    ] No existing commands found in stream
[2026-10-20 02:07:25,971.971 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:07:25,974.974 INFO    ] Waiting 2.58 seconds before fallback handling...
[2026-10-20 02:07:29,078.078 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:07:29,081.081 INFO    ] Checking for system updates...
[2026-10-20 02:07:29,117.117 INFO    ] 200
[2026-10-20 02:07:29,120.120 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:07:29,177.177 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:07:29,179.179 INFO    ] No update needed
[2026-10-20 02:07:29,182.182 INFO    ] Checking for camera pi updates...
[2026-10-20 02:07:29,218.218 INFO    ] 200
[2026-10-20 02:07:29,221.221 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:07:29,261.261 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:07:29,307.307 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:07:29,310.310 INFO    ] No camera update needed
[2026-10-20 02:07:29,312.312 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:07:29,314.314 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:07:29,320.320 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:07:29,325.325 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:07:31,365.365 INFO    ] ================================================
[2026-10-20 02:07:31,381.381 INFO    ] Launching Daemon at Tue Oct 20 02:07:31 IST 2026
[2026-10-20 02:07:31,392.392 INFO    ] ================================================
[2026-10-20 02:07:32,025.025 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:07:32
[2026-10-20 02:07:32,641.641 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:07:32,903.903 INFO    ] Initializing speech engine...
[2026-10-20 02:07:32,928.928 INFO    ] 2026-10-20 02:07:32
[2026-10-20 02:07:33,204.204 INFO    ] 2026-10-20 02:07:33
[2026-10-20 02:07:33,239.239 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:07:33,493.493 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:07:33,518.518 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:07:33,673.673 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:07:33,685.685 INFO    ] time= 20/10/2026 02:07:33
[2026-10-20 02:07:33,740.740 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:07:33,799.799 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:07:33,960.960 INFO    ] No existing commands found in stream
[2026-10-20 02:07:38,982.982 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:07:38,985.985 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-10-20 02:07:40,119.119 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:07:40,122.122 INFO    ] Checking for system updates...
[2026-10-20 02:07:40,158.158 INFO    ] 200
[2026-10-20 02:07:40,161.161 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:07:40,213.213 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:07:40,215.215 INFO    ] No update needed
[2026-10-20 02:07:40,217.217 INFO    ] Checking for camera pi updates...
[2026-10-20 02:07:40,251.251 INFO    ] 200
[2026-10-20 02:07:40,253.253 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:07:40,293.293 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:07:40,338.338 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:07:40,341.341 INFO    ] No camera update needed
[2026-10-20 02:07:40,343.343 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:07:40,346.346 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:07:40,351.351 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:07:40,356.356 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:07:42,398.398 INFO    ] ================================================
[2026-10-20 02:07:42,413.413 INFO    ] Launching Daemon at Tue Oct 20 02:07:42 IST 2026
[2026-10-20 02:07:42,424.424 INFO    ] ================================================
[2026-10-20 02:07:42,989.989 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:07:42
[2026-10-20 02:07:43,572.572 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:07:43,840.840 INFO    ] Initializing speech engine...
[2026-10-20 02:07:43,849.849 INFO    ] 2026-10-20 02:07:43
[2026-10-20 02:07:44,098.098 INFO    ] 2026-10-20 02:07:44
[2026-10-20 02:07:44,134.134 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:07:44,377.377 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:07:44,387.387 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:07:44,608.608 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:07:44,643.643 INFO    ] time= 20/10/2026 02:07:44
[2026-10-20 02:07:44,649.649 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:07:44,667.667 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:07:44,821.821 INFO    ] No existing commands found in stream
[2026-10-20 02:07:49,851.851 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:07:49,854.854 INFO    ] Waiting 1.96 seconds before fallback handling...
[2026-10-20 02:07:52,308.308 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:07:52,311.311 INFO    ] Checking for system updates...
[2026-10-20 02:07:52,346.346 INFO    ] 200
[2026-10-20 02:07:52,348.348 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:07:52,412.412 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:07:52,414.414 INFO    ] No update needed
[2026-10-20 02:07:52,416.416 INFO    ] Checking for camera pi updates...
[2026-10-20 02:07:52,450.450 INFO    ] 200
[2026-10-20 02:07:52,452.452 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:07:52,492.492 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:07:52,635.635 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:07:52,638.638 INFO    ] No camera update needed
[2026-10-20 02:07:52,640.640 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:07:52,643.643 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:07:52,648.648 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:07:52,653.653 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:07:54,697.697 INFO    ] ================================================
[2026-10-20 02:07:54,716.716 INFO    ] Launching Daemon at Tue Oct 20 02:07:54 IST 2026
[2026-10-20 02:07:54,729.729 INFO    ] ================================================
[2026-10-20 02:07:55,402.402 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:07:55
[2026-10-20 02:07:56,083.083 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:07:56,400.400 INFO    ] Initializing speech engine...
[2026-10-20 02:07:56,416.416 INFO    ] 2026-10-20 02:07:56
[2026-10-20 02:07:56,714.714 INFO    ] 2026-10-20 02:07:56
[2026-10-20 02:07:56,760.760 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:07:57,039.039 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:07:57,048.048 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:07:57,236.236 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:07:57,251.251 INFO    ] time= 20/10/2026 02:07:57
[2026-10-20 02:07:57,272.272 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:07:57,298.298 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:07:57,436.436 INFO    ] No existing commands found in stream
[2026-10-20 02:08:02,467.467 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:08:02,471.471 INFO    ] Waiting 3.73 seconds before fallback handling...
[2026-10-20 02:08:06,774.774 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:08:06,777.777 INFO    ] Checking for system updates...
[2026-10-20 02:08:06,814.814 INFO    ] 200
[2026-10-20 02:08:06,816.816 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:08:06,875.875 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:08:06,878.878 INFO    ] No update needed
[2026-10-20 02:08:06,881.881 INFO    ] Checking for camera pi updates...
[2026-10-20 02:08:06,915.915 INFO    ] 200
[2026-10-20 02:08:06,917.917 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:08:06,957.957 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:08:07,009.009 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:08:07,012.012 INFO    ] No camera update needed
[2026-10-20 02:08:07,015.015 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:08:07,017.017 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:08:07,023.023 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:08:07,029.029 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:08:09,072.072 INFO    ] ================================================
[2026-10-20 02:08:09,087.087 INFO    ] Launching Daemon at Tue Oct 20 02:08:09 IST 2026
[2026-10-20 02:08:09,098.098 INFO    ] ================================================
[2026-10-20 02:08:09,742.742 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:08:09
[2026-10-20 02:08:10,402.402 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:08:10,705.705 INFO    ] Initializing speech engine...
[2026-10-20 02:08:10,717.717 INFO    ] 2026-10-20 02:08:10
[2026-10-20 02:08:10,992.992 INFO    ] 2026-10-20 02:08:10
[2026-10-20 02:08:11,038.038 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:08:11,318.318 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:08:11,326.326 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:08:11,519.519 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:08:11,526.526 INFO    ] time= 20/10/2026 02:08:11
[2026-10-20 02:08:11,544.544 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:08:11,562.562 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:08:11,693.693 INFO    ] No existing commands found in stream
[2026-10-20 02:08:16,724.724 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:08:16,728.728 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-10-20 02:08:20,725.725 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:08:20,728.728 INFO    ] Checking for system updates...
[2026-10-20 02:08:20,765.765 INFO    ] 200
[2026-10-20 02:08:20,768.768 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:08:20,821.821 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:08:20,824.824 INFO    ] No update needed
[2026-10-20 02:08:20,826.826 INFO    ] Checking for camera pi updates...
[2026-10-20 02:08:20,861.861 INFO    ] 200
[2026-10-20 02:08:20,863.863 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:08:20,909.909 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:08:20,954.954 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:08:20,957.957 INFO    ] No camera update needed
[2026-10-20 02:08:20,960.960 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:08:20,962.962 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:08:20,968.968 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:08:20,974.974 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:08:23,014.014 INFO    ] ================================================
[2026-10-20 02:08:23,037.037 INFO    ] Launching Daemon at Tue Oct 20 02:08:23 IST 2026
[2026-10-20 02:08:23,047.047 INFO    ] ================================================
[2026-10-20 02:08:23,620.620 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:08:23
[2026-10-20 02:08:24,206.206 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:08:24,476.476 INFO    ] Initializing speech engine...
[2026-10-20 02:08:24,486.486 INFO    ] 2026-10-20 02:08:24
[2026-10-20 02:08:24,730.730 INFO    ] 2026-10-20 02:08:24
[2026-10-20 02:08:24,770.770 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:08:25,014.014 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:08:25,023.023 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:08:25,220.220 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:08:25,282.282 INFO    ] time= 20/10/2026 02:08:25
[2026-10-20 02:08:25,288.288 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:08:25,303.303 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:08:25,460.460 INFO    ] No existing commands found in stream
[2026-10-20 02:08:30,490.490 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:08:30,493.493 INFO    ] Waiting 0.97 seconds before fallback handling...
[2026-10-20 02:08:32,323.323 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 02:08:32,326.326 INFO    ] Checking for system updates...
[2026-10-20 02:08:32,381.381 INFO    ] 200
[2026-10-20 02:08:32,384.384 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 02:08:32,387.387 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-10-20 02:08:32,390.390 INFO    ] Checking for camera pi updates...
[2026-10-20 02:08:32,440.440 INFO    ] 200
[2026-10-20 02:08:32,443.443 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 02:08:32,446.446 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-10-20 02:08:32,449.449 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:08:32,451.451 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:08:32,458.458 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:08:32,464.464 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:08:34,505.505 INFO    ] ================================================
[2026-10-20 02:08:34,520.520 INFO    ] Launching Daemon at Tue Oct 20 02:08:34 IST 2026
[2026-10-20 02:08:34,531.531 INFO    ] ================================================
[2026-10-20 02:08:35,125.125 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:08:35
[2026-10-20 02:08:35,728.728 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:08:36,006.006 INFO    ] Initializing speech engine...
[2026-10-20 02:08:36,015.015 INFO    ] 2026-10-20 02:08:36
[2026-10-20 02:08:36,285.285 INFO    ] 2026-10-20 02:08:36
[2026-10-20 02:08:36,321.321 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:08:36,523.523 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:08:36,530.530 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:08:36,705.705 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:08:36,714.714 INFO    ] time= 20/10/2026 02:08:36
[2026-10-20 02:08:36,721.721 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:08:36,763.763 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:08:36,910.910 INFO    ] No existing commands found in stream
[2026-10-20 02:08:41,940.940 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:08:41,943.943 INFO    ] Waiting 0.04 seconds before fallback handling...
[2026-10-20 02:08:42,493.493 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:08:42,495.495 INFO    ] Checking for system updates...
[2026-10-20 02:08:42,531.531 INFO    ] 200
[2026-10-20 02:08:42,533.533 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:08:42,584.584 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:08:42,587.587 INFO    ] No update needed
[2026-10-20 02:08:42,589.589 INFO    ] Checking for camera pi updates...
[2026-10-20 02:08:42,622.622 INFO    ] 200
[2026-10-20 02:08:42,624.624 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:08:42,664.664 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:08:42,708.708 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:08:42,710.710 INFO    ] No camera update needed
[2026-10-20 02:08:42,713.713 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:08:42,715.715 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:08:42,720.720 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:08:42,725.725 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:08:44,767.767 INFO    ] ================================================
[2026-10-20 02:08:44,782.782 INFO    ] Launching Daemon at Tue Oct 20 02:08:44 IST 2026
[2026-10-20 02:08:44,792.792 INFO    ] ================================================
[2026-10-20 02:08:45,456.456 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:08:45
[2026-10-20 02:08:46,146.146 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:08:46,456.456 INFO    ] Initializing speech engine...
[2026-10-20 02:08:46,468.468 INFO    ] 2026-10-20 02:08:46
[2026-10-20 02:08:46,778.778 INFO    ] 2026-10-20 02:08:46
[2026-10-20 02:08:46,864.864 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:08:47,078.078 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:08:47,088.088 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:08:47,282.282 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:08:47,304.304 INFO    ] time= 20/10/2026 02:08:47
[2026-10-20 02:08:47,332.332 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:08:47,342.342 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:08:47,465.465 INFO    ] No existing commands found in stream
[2026-10-20 02:08:52,491.491 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:08:52,494.494 INFO    ] Waiting 2.69 seconds before fallback handling...
[2026-10-20 02:08:55,742.742 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:08:55,745.745 INFO    ] Checking for system updates...
[2026-10-20 02:08:55,781.781 INFO    ] 200
[2026-10-20 02:08:55,784.784 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:08:55,837.837 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:08:55,840.840 INFO    ] No update needed
[2026-10-20 02:08:55,843.843 INFO    ] Checking for camera pi updates...
[2026-10-20 02:08:55,877.877 INFO    ] 200
[2026-10-20 02:08:55,880.880 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:08:55,921.921 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:08:55,971.971 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:08:55,974.974 INFO    ] No camera update needed
[2026-10-20 02:08:55,977.977 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:08:55,979.979 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:08:55,986.986 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:08:55,992.992 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:08:58,032.032 INFO    ] ================================================
[2026-10-20 02:08:58,047.047 INFO    ] Launching Daemon at Tue Oct 20 02:08:58 IST 2026
[2026-10-20 02:08:58,059.059 INFO    ] ================================================
[2026-10-20 02:08:58,723.723 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:08:58
[2026-10-20 02:08:59,409.409 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:08:59,717.717 INFO    ] Initializing speech engine...
[2026-10-20 02:08:59,730.730 INFO    ] 2026-10-20 02:08:59
[2026-10-20 02:09:00,041.041 INFO    ] 2026-10-20 02:09:00
[2026-10-20 02:09:00,126.126 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:09:00,342.342 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:09:00,350.350 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:09:00,542.542 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:09:00,560.560 INFO    ] time= 20/10/2026 02:09:00
[2026-10-20 02:09:00,569.569 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:09:00,597.597 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:09:00,727.727 INFO    ] No existing commands found in stream
[2026-10-20 02:09:05,763.763 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:09:05,766.766 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-10-20 02:09:08,850.850 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:09:08,853.853 INFO    ] Checking for system updates...
[2026-10-20 02:09:08,890.890 INFO    ] 200
[2026-10-20 02:09:08,893.893 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:09:08,954.954 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:09:08,957.957 INFO    ] No update needed
[2026-10-20 02:09:08,960.960 INFO    ] Checking for camera pi updates...
[2026-10-20 02:09:08,994.994 INFO    ] 200
[2026-10-20 02:09:08,997.997 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:09:09,038.038 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:09:09,084.084 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:09:09,087.087 INFO    ] No camera update needed
[2026-10-20 02:09:09,090.090 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:09:09,093.093 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:09:09,099.099 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:09:09,105.105 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:09:11,149.149 INFO    ] ================================================
[2026-10-20 02:09:11,166.166 INFO    ] Launching Daemon at Tue Oct 20 02:09:11 IST 2026
[2026-10-20 02:09:11,176.176 INFO    ] ================================================
[2026-10-20 02:09:11,743.743 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:09:11
[2026-10-20 02:09:12,325.325 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:09:12,597.597 INFO    ] Initializing speech engine...
[2026-10-20 02:09:12,604.604 INFO    ] 2026-10-20 02:09:12
[2026-10-20 02:09:12,848.848 INFO    ] 2026-10-20 02:09:12
[2026-10-20 02:09:12,890.890 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:09:13,134.134 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:09:13,143.143 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:09:13,278.278 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:09:13,343.343 INFO    ] time= 20/10/2026 02:09:13
[2026-10-20 02:09:13,405.405 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:09:13,411.411 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:09:13,545.545 INFO    ] No existing commands found in stream
[2026-10-20 02:09:18,565.565 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:09:18,567.567 INFO    ] Waiting 2.25 seconds before fallback handling...
[2026-10-20 02:09:21,323.323 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 02:09:21,325.325 INFO    ] Checking for system updates...
[2026-10-20 02:09:21,364.364 INFO    ] 200
[2026-10-20 02:09:21,367.367 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:09:21,426.426 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:09:21,428.428 INFO    ] No update needed
[2026-10-20 02:09:21,431.431 INFO    ] Checking for camera pi updates...
[2026-10-20 02:09:21,468.468 INFO    ] 200
[2026-10-20 02:09:21,471.471 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:09:21,510.510 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:09:21,556.556 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:09:21,559.559 INFO    ] No camera update needed
[2026-10-20 02:09:21,561.561 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:09:21,563.563 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:09:21,569.569 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:09:21,575.575 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:09:23,617.617 INFO    ] ================================================
[2026-10-20 02:09:23,633.633 INFO    ] Launching Daemon at Tue Oct 20 02:09:23 IST 2026
[2026-10-20 02:09:23,644.644 INFO    ] ================================================
[2026-10-20 02:09:24,212.212 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:09:24
[2026-10-20 02:09:24,794.794 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:09:25,062.062 INFO    ] Initializing speech engine...
[2026-10-20 02:09:25,071.071 INFO    ] 2026-10-20 02:09:25
[2026-10-20 02:09:25,315.315 INFO    ] 2026-10-20 02:09:25
[2026-10-20 02:09:25,350.350 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:09:25,601.601 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:09:25,610.610 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:09:25,820.820 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:09:25,869.869 INFO    ] time= 20/10/2026 02:09:25
[2026-10-20 02:09:25,876.876 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:09:25,894.894 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:09:26,024.024 INFO    ] No existing commands found in stream
[2026-10-20 02:09:31,037.037 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:09:31,040.040 INFO    ] Waiting 2.10 seconds before fallback handling...
[2026-10-20 02:09:33,697.697 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:09:33,700.700 INFO    ] Checking for system updates...
[2026-10-20 02:09:33,735.735 INFO    ] 200
[2026-10-20 02:09:33,737.737 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:09:33,789.789 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:09:33,791.791 INFO    ] No update needed
[2026-10-20 02:09:33,793.793 INFO    ] Checking for camera pi updates...
[2026-10-20 02:09:33,827.827 INFO    ] 200
[2026-10-20 02:09:33,830.830 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:09:33,871.871 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:09:33,916.916 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:09:33,919.919 INFO    ] No camera update needed
[2026-10-20 02:09:33,924.924 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:09:33,926.926 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:09:33,931.931 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:09:33,937.937 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:09:35,980.980 INFO    ] ================================================
[2026-10-20 02:09:36,996.996 INFO    ] Launching Daemon at Tue Oct 20 02:09:35 IST 2026
[2026-10-20 02:09:36,014.014 INFO    ] ================================================
[2026-10-20 02:09:36,607.607 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:09:36
[2026-10-20 02:09:37,237.237 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:09:37,515.515 INFO    ] Initializing speech engine...
[2026-10-20 02:09:37,538.538 INFO    ] 2026-10-20 02:09:37
[2026-10-20 02:09:37,792.792 INFO    ] 2026-10-20 02:09:37
[2026-10-20 02:09:37,827.827 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:09:38,033.033 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:09:38,087.087 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:09:38,277.277 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:09:38,331.331 INFO    ] time= 20/10/2026 02:09:38
[2026-10-20 02:09:38,361.361 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:09:38,367.367 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:09:38,506.506 INFO    ] No existing commands found in stream
[2026-10-20 02:09:43,533.533 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:09:43,535.535 INFO    ] Waiting 0.55 seconds before fallback handling...
[2026-10-20 02:09:44,624.624 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:09:44,626.626 INFO    ] Checking for system updates...
[2026-10-20 02:09:44,667.667 INFO    ] 200
[2026-10-20 02:09:44,670.670 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:09:44,731.731 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:09:44,734.734 INFO    ] No update needed
[2026-10-20 02:09:44,736.736 INFO    ] Checking for camera pi updates...
[2026-10-20 02:09:44,775.775 INFO    ] 200
[2026-10-20 02:09:44,778.778 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:09:44,830.830 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:09:44,877.877 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:09:44,880.880 INFO    ] No camera update needed
[2026-10-20 02:09:44,883.883 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:09:44,886.886 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:09:44,892.892 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:09:44,898.898 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:09:46,939.939 INFO    ] ================================================
[2026-10-20 02:09:46,955.955 INFO    ] Launching Daemon at Tue Oct 20 02:09:46 IST 2026
[2026-10-20 02:09:46,966.966 INFO    ] ================================================
[2026-10-20 02:09:47,629.629 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:09:47
[2026-10-20 02:09:48,311.311 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:09:48,617.617 INFO    ] Initializing speech engine...
[2026-10-20 02:09:48,625.625 INFO    ] 2026-10-20 02:09:48
[2026-10-20 02:09:48,902.902 INFO    ] 2026-10-20 02:09:48
[2026-10-20 02:09:48,937.937 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:09:49,192.192 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:09:49,198.198 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:09:49,397.397 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:09:49,457.457 INFO    ] time= 20/10/2026 02:09:49
[2026-10-20 02:09:49,465.465 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:09:49,487.487 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:09:49,635.635 INFO    ] No existing commands found in stream
[2026-10-20 02:09:54,672.672 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:09:54,675.675 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-10-20 02:09:57,261.261 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:09:57,264.264 INFO    ] Checking for system updates...
[2026-10-20 02:09:57,301.301 INFO    ] 200
[2026-10-20 02:09:57,304.304 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:09:57,356.356 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:09:57,358.358 INFO    ] No update needed
[2026-10-20 02:09:57,361.361 INFO    ] Checking for camera pi updates...
[2026-10-20 02:09:57,398.398 INFO    ] 200
[2026-10-20 02:09:57,401.401 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:09:57,441.441 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:09:57,586.586 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:09:57,588.588 INFO    ] No camera update needed
[2026-10-20 02:09:57,591.591 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:09:57,593.593 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:09:57,599.599 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:09:57,604.604 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:09:59,642.642 INFO    ] ================================================
[2026-10-20 02:09:59,657.657 INFO    ] Launching Daemon at Tue Oct 20 02:09:59 IST 2026
[2026-10-20 02:09:59,668.668 INFO    ] ================================================
[2026-10-20 02:10:00,331.331 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:10:00
[2026-10-20 02:10:01,012.012 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:10:01,317.317 INFO    ] Initializing speech engine...
[2026-10-20 02:10:01,324.324 INFO    ] 2026-10-20 02:10:01
[2026-10-20 02:10:01,601.601 INFO    ] 2026-10-20 02:10:01
[2026-10-20 02:10:01,770.770 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:10:02,186.186 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:10:02,206.206 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:10:02,383.383 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:10:02,387.387 INFO    ] time= 20/10/2026 02:10:02
[2026-10-20 02:10:02,390.390 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:10:02,410.410 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:10:02,490.490 INFO    ] No existing commands found in stream
[2026-10-20 02:10:07,500.500 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:10:07,503.503 INFO    ] Waiting 3.35 seconds before fallback handling...
[2026-10-20 02:10:11,386.386 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:10:11,389.389 INFO    ] Checking for system updates...
[2026-10-20 02:10:11,425.425 INFO    ] 200
[2026-10-20 02:10:11,428.428 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:10:11,480.480 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:10:11,483.483 INFO    ] No update needed
[2026-10-20 02:10:11,485.485 INFO    ] Checking for camera pi updates...
[2026-10-20 02:10:11,522.522 INFO    ] 200
[2026-10-20 02:10:11,525.525 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:10:11,565.565 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:10:11,612.612 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:10:11,615.615 INFO    ] No camera update needed
[2026-10-20 02:10:11,617.617 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:10:11,620.620 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:10:11,625.625 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:10:11,630.630 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:10:13,670.670 INFO    ] ================================================
[2026-10-20 02:10:13,685.685 INFO    ] Launching Daemon at Tue Oct 20 02:10:13 IST 2026
[2026-10-20 02:10:13,696.696 INFO    ] ================================================
[2026-10-20 02:10:14,270.270 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:10:14
[2026-10-20 02:10:14,858.858 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:10:15,120.120 INFO    ] Initializing speech engine...
[2026-10-20 02:10:15,134.134 INFO    ] 2026-10-20 02:10:15
[2026-10-20 02:10:15,390.390 INFO    ] 2026-10-20 02:10:15
[2026-10-20 02:10:15,425.425 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:10:15,683.683 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:10:15,692.692 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:10:15,828.828 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:10:15,871.871 INFO    ] time= 20/10/2026 02:10:15
[2026-10-20 02:10:15,921.921 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:10:15,966.966 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:10:16,107.107 INFO    ] No existing commands found in stream
[2026-10-20 02:10:21,129.129 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:10:21,132.132 INFO    ] Waiting 1.14 seconds before fallback handling...
[2026-10-20 02:10:22,827.827 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:10:22,829.829 INFO    ] Checking for system updates...
[2026-10-20 02:10:22,865.865 INFO    ] 200
[2026-10-20 02:10:22,867.867 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:10:22,919.919 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:10:22,922.922 INFO    ] No update needed
[2026-10-20 02:10:22,925.925 INFO    ] Checking for camera pi updates...
[2026-10-20 02:10:22,958.958 INFO    ] 200
[2026-10-20 02:10:22,961.961 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:10:23,007.007 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:10:23,051.051 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:10:23,054.054 INFO    ] No camera update needed
[2026-10-20 02:10:23,056.056 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:10:23,059.059 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:10:23,064.064 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:10:23,069.069 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:10:25,109.109 INFO    ] ================================================
[2026-10-20 02:10:25,124.124 INFO    ] Launching Daemon at Tue Oct 20 02:10:25 IST 2026
[2026-10-20 02:10:25,135.135 INFO    ] ================================================
[2026-10-20 02:10:25,802.802 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:10:25
[2026-10-20 02:10:26,489.489 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:10:26,799.799 INFO    ] Initializing speech engine...
[2026-10-20 02:10:26,812.812 INFO    ] 2026-10-20 02:10:26
[2026-10-20 02:10:27,095.095 INFO    ] 2026-10-20 02:10:27
[2026-10-20 02:10:27,152.152 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:10:27,429.429 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:10:27,435.435 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:10:27,631.631 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:10:27,639.639 INFO    ] time= 20/10/2026 02:10:27
[2026-10-20 02:10:27,658.658 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:10:27,685.685 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:10:27,815.815 INFO    ] No existing commands found in stream
[2026-10-20 02:10:32,851.851 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:10:32,855.855 INFO    ] Waiting 3.77 seconds before fallback handling...
[2026-10-20 02:10:37,152.152 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 02:10:37,155.155 INFO    ] Checking for system updates...
[2026-10-20 02:10:37,192.192 INFO    ] 200
[2026-10-20 02:10:37,195.195 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:10:37,257.257 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:10:37,260.260 INFO    ] No update needed
[2026-10-20 02:10:37,262.262 INFO    ] Checking for camera pi updates...
[2026-10-20 02:10:37,297.297 INFO    ] 200
[2026-10-20 02:10:37,300.300 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:10:37,341.341 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:10:37,372.372 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:10:37,375.375 INFO    ] No camera update needed
[2026-10-20 02:10:37,378.378 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:10:37,381.381 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:10:37,387.387 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:10:37,393.393 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:10:39,434.434 INFO    ] ================================================
[2026-10-20 02:10:39,449.449 INFO    ] Launching Daemon at Tue Oct 20 02:10:39 IST 2026
[2026-10-20 02:10:39,460.460 INFO    ] ================================================
[2026-10-20 02:10:40,026.026 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:10:40
[2026-10-20 02:10:40,611.611 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:10:40,859.859 INFO    ] Initializing speech engine...
[2026-10-20 02:10:40,878.878 INFO    ] 2026-10-20 02:10:40
[2026-10-20 02:10:41,135.135 INFO    ] 2026-10-20 02:10:41
[2026-10-20 02:10:41,169.169 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:10:41,424.424 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:10:41,433.433 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:10:41,567.567 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:10:41,621.621 INFO    ] time= 20/10/2026 02:10:41
[2026-10-20 02:10:41,675.675 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:10:41,698.698 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:10:41,846.846 INFO    ] No existing commands found in stream
[2026-10-20 02:10:46,865.865 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:10:46,868.868 INFO    ] Waiting 3.71 seconds before fallback handling...
[2026-10-20 02:10:51,112.112 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:10:51,115.115 INFO    ] Checking for system updates...
[2026-10-20 02:10:51,154.154 INFO    ] 200
[2026-10-20 02:10:51,157.157 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:10:51,209.209 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:10:51,212.212 INFO    ] No update needed
[2026-10-20 02:10:51,214.214 INFO    ] Checking for camera pi updates...
[2026-10-20 02:10:51,247.247 INFO    ] 200
[2026-10-20 02:10:51,250.250 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:10:51,290.290 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:10:51,337.337 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:10:51,339.339 INFO    ] No camera update needed
[2026-10-20 02:10:51,342.342 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:10:51,344.344 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:10:51,349.349 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:10:51,354.354 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:10:53,396.396 INFO    ] ================================================
[2026-10-20 02:10:53,412.412 INFO    ] Launching Daemon at Tue Oct 20 02:10:53 IST 2026
[2026-10-20 02:10:53,422.422 INFO    ] ================================================
[2026-10-20 02:10:53,988.988 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:10:53
[2026-10-20 02:10:54,575.575 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:10:54,827.827 INFO    ] Initializing speech engine...
[2026-10-20 02:10:54,849.849 INFO    ] 2026-10-20 02:10:54
[2026-10-20 02:10:55,104.104 INFO    ] 2026-10-20 02:10:55
[2026-10-20 02:10:55,137.137 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:10:55,341.341 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:10:55,382.382 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:10:55,536.536 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:10:55,539.539 INFO    ] time= 20/10/2026 02:10:55
[2026-10-20 02:10:55,553.553 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:10:55,613.613 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:10:55,722.722 INFO    ] No existing commands found in stream
[2026-10-20 02:11:00,732.732 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:11:00,735.735 INFO    ] Waiting 0.08 seconds before fallback handling...
[2026-10-20 02:11:01,339.339 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:11:01,346.346 INFO    ] Checking for system updates...
[2026-10-20 02:11:01,412.412 INFO    ] 200
[2026-10-20 02:11:01,420.420 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:11:01,519.519 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:11:01,522.522 INFO    ] No update needed
[2026-10-20 02:11:01,525.525 INFO    ] Checking for camera pi updates...
[2026-10-20 02:11:01,601.601 INFO    ] 200
[2026-10-20 02:11:01,605.605 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:11:01,667.667 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:11:01,705.705 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:11:01,709.709 INFO    ] No camera update needed
[2026-10-20 02:11:01,713.713 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:11:01,716.716 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:11:01,724.724 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:11:01,731.731 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:11:03,775.775 INFO    ] ================================================
[2026-10-20 02:11:03,790.790 INFO    ] Launching Daemon at Tue Oct 20 02:11:03 IST 2026
[2026-10-20 02:11:03,800.800 INFO    ] ================================================
[2026-10-20 02:11:04,460.460 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:11:04
[2026-10-20 02:11:05,135.135 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:11:05,440.440 INFO    ] Initializing speech engine...
[2026-10-20 02:11:05,454.454 INFO    ] 2026-10-20 02:11:05
[2026-10-20 02:11:05,767.767 INFO    ] 2026-10-20 02:11:05
[2026-10-20 02:11:05,850.850 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:11:06,121.121 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:11:06,134.134 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:11:06,314.314 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:11:06,324.324 INFO    ] time= 20/10/2026 02:11:06
[2026-10-20 02:11:06,363.363 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:11:06,417.417 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:11:06,549.549 INFO    ] No existing commands found in stream
[2026-10-20 02:11:11,585.585 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:11:11,588.588 INFO    ] Waiting 1.34 seconds before fallback handling...
[2026-10-20 02:11:13,470.470 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:11:13,473.473 INFO    ] Checking for system updates...
[2026-10-20 02:11:13,509.509 INFO    ] 200
[2026-10-20 02:11:13,511.511 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:11:13,563.563 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:11:13,566.566 INFO    ] No update needed
[2026-10-20 02:11:13,568.568 INFO    ] Checking for camera pi updates...
[2026-10-20 02:11:13,602.602 INFO    ] 200
[2026-10-20 02:11:13,604.604 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:11:13,648.648 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:11:13,697.697 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:11:13,700.700 INFO    ] No camera update needed
[2026-10-20 02:11:13,702.702 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:11:13,704.704 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:11:13,710.710 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:11:13,714.714 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:11:15,754.754 INFO    ] ================================================
[2026-10-20 02:11:15,769.769 INFO    ] Launching Daemon at Tue Oct 20 02:11:15 IST 2026
[2026-10-20 02:11:15,779.779 INFO    ] ================================================
[2026-10-20 02:11:16,356.356 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:11:16
[2026-10-20 02:11:16,943.943 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:11:17,247.247 INFO    ] Initializing speech engine...
[2026-10-20 02:11:17,259.259 INFO    ] 2026-10-20 02:11:17
[2026-10-20 02:11:17,536.536 INFO    ] 2026-10-20 02:11:17
[2026-10-20 02:11:17,583.583 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:11:17,866.866 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:11:17,875.875 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:11:18,072.072 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:11:18,080.080 INFO    ] time= 20/10/2026 02:11:18
[2026-10-20 02:11:18,101.101 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:11:18,128.128 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:11:18,260.260 INFO    ] No existing commands found in stream
[2026-10-20 02:11:23,286.286 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:11:23,289.289 INFO    ] Waiting 2.95 seconds before fallback handling...
[2026-10-20 02:11:26,803.803 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:11:26,806.806 INFO    ] Checking for system updates...
[2026-10-20 02:11:26,846.846 INFO    ] 200
[2026-10-20 02:11:26,849.849 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:11:26,907.907 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:11:26,910.910 INFO    ] No update needed
[2026-10-20 02:11:26,912.912 INFO    ] Checking for camera pi updates...
[2026-10-20 02:11:26,950.950 INFO    ] 200
[2026-10-20 02:11:26,953.953 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:11:26,995.995 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:11:27,043.043 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:11:27,045.045 INFO    ] No camera update needed
[2026-10-20 02:11:27,048.048 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:11:27,051.051 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:11:27,057.057 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:11:27,063.063 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:11:29,104.104 INFO    ] ================================================
[2026-10-20 02:11:29,119.119 INFO    ] Launching Daemon at Tue Oct 20 02:11:29 IST 2026
[2026-10-20 02:11:29,130.130 INFO    ] ================================================
[2026-10-20 02:11:29,701.701 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:11:29
[2026-10-20 02:11:30,295.295 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:11:30,568.568 INFO    ] Initializing speech engine...
[2026-10-20 02:11:30,577.577 INFO    ] 2026-10-20 02:11:30
[2026-10-20 02:11:30,828.828 INFO    ] 2026-10-20 02:11:30
[2026-10-20 02:11:30,864.864 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:11:31,123.123 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:11:31,132.132 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:11:31,309.309 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:11:31,344.344 INFO    ] time= 20/10/2026 02:11:31
[2026-10-20 02:11:31,394.394 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:11:31,420.420 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:11:31,506.506 INFO    ] No existing commands found in stream
[2026-10-20 02:11:36,521.521 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:11:36,524.524 INFO    ] Waiting 1.63 seconds before fallback handling...
[2026-10-20 02:11:38,670.670 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:11:38,673.673 INFO    ] Checking for system updates...
[2026-10-20 02:11:38,709.709 INFO    ] 200
[2026-10-20 02:11:38,712.712 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:11:38,770.770 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:11:38,772.772 INFO    ] No update needed
[2026-10-20 02:11:38,775.775 INFO    ] Checking for camera pi updates...
[2026-10-20 02:11:38,811.811 INFO    ] 200
[2026-10-20 02:11:38,814.814 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:11:38,854.854 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:11:38,884.884 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:11:38,886.886 INFO    ] No camera update needed
[2026-10-20 02:11:38,889.889 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:11:38,891.891 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:11:38,897.897 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:11:38,902.902 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:11:40,944.944 INFO    ] ================================================
[2026-10-20 02:11:40,958.958 INFO    ] Launching Daemon at Tue Oct 20 02:11:40 IST 2026
[2026-10-20 02:11:40,969.969 INFO    ] ================================================
[2026-10-20 02:11:41,538.538 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:11:41
[2026-10-20 02:11:42,124.124 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:11:42,396.396 INFO    ] Initializing speech engine...
[2026-10-20 02:11:42,402.402 INFO    ] 2026-10-20 02:11:42
[2026-10-20 02:11:42,653.653 INFO    ] 2026-10-20 02:11:42
[2026-10-20 02:11:42,689.689 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:11:42,937.937 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:11:42,942.942 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:11:43,143.143 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:11:43,199.199 INFO    ] time= 20/10/2026 02:11:43
[2026-10-20 02:11:43,205.205 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:11:43,223.223 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:11:43,374.374 INFO    ] No existing commands found in stream
[2026-10-20 02:11:48,404.404 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:11:48,407.407 INFO    ] Waiting 2.65 seconds before fallback handling...
[2026-10-20 02:11:51,644.644 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:11:51,647.647 INFO    ] Checking for system updates...
[2026-10-20 02:11:51,682.682 INFO    ] 200
[2026-10-20 02:11:51,685.685 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:11:51,736.736 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:11:51,739.739 INFO    ] No update needed
[2026-10-20 02:11:51,741.741 INFO    ] Checking for camera pi updates...
[2026-10-20 02:11:51,775.775 INFO    ] 200
[2026-10-20 02:11:51,778.778 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:11:51,817.817 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:11:51,864.864 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:11:51,866.866 INFO    ] No camera update needed
[2026-10-20 02:11:51,868.868 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:11:51,871.871 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:11:51,876.876 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:11:51,881.881 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:11:53,921.921 INFO    ] ================================================
[2026-10-20 02:11:53,936.936 INFO    ] Launching Daemon at Tue Oct 20 02:11:53 IST 2026
[2026-10-20 02:11:53,948.948 INFO    ] ================================================
[2026-10-20 02:11:54,516.516 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:11:54
[2026-10-20 02:11:55,099.099 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:11:55,357.357 INFO    ] Initializing speech engine...
[2026-10-20 02:11:55,377.377 INFO    ] 2026-10-20 02:11:55
[2026-10-20 02:11:55,632.632 INFO    ] 2026-10-20 02:11:55
[2026-10-20 02:11:55,667.667 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:11:55,926.926 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:11:55,936.936 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:11:56,087.087 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:11:56,130.130 INFO    ] time= 20/10/2026 02:11:56
[2026-10-20 02:11:56,184.184 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:11:56,238.238 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:11:56,394.394 INFO    ] No existing commands found in stream
[2026-10-20 02:12:01,411.411 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:12:01,415.415 INFO    ] Waiting 3.31 seconds before fallback handling...
[2026-10-20 02:12:05,257.257 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:12:05,259.259 INFO    ] Checking for system updates...
[2026-10-20 02:12:05,294.294 INFO    ] 200
[2026-10-20 02:12:05,297.297 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:12:05,351.351 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:12:05,353.353 INFO    ] No update needed
[2026-10-20 02:12:05,355.355 INFO    ] Checking for camera pi updates...
[2026-10-20 02:12:05,393.393 INFO    ] 200
[2026-10-20 02:12:05,395.395 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:12:05,438.438 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:12:05,483.483 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:12:05,485.485 INFO    ] No camera update needed
[2026-10-20 02:12:05,488.488 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:12:05,490.490 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:12:05,495.495 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:12:05,500.500 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:12:07,540.540 INFO    ] ================================================
[2026-10-20 02:12:07,555.555 INFO    ] Launching Daemon at Tue Oct 20 02:12:07 IST 2026
[2026-10-20 02:12:07,566.566 INFO    ] ================================================
[2026-10-20 02:12:08,132.132 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:12:08
[2026-10-20 02:12:08,715.715 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:12:08,987.987 INFO    ] Initializing speech engine...
[2026-10-20 02:12:08,994.994 INFO    ] 2026-10-20 02:12:08
[2026-10-20 02:12:09,251.251 INFO    ] 2026-10-20 02:12:09
[2026-10-20 02:12:09,282.282 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:12:09,472.472 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:12:09,529.529 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:12:09,675.675 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:12:09,735.735 INFO    ] time= 20/10/2026 02:12:09
[2026-10-20 02:12:09,789.789 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:12:09,800.800 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:12:09,943.943 INFO    ] No existing commands found in stream
[2026-10-20 02:12:14,959.959 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:12:14,962.962 INFO    ] Waiting 2.10 seconds before fallback handling...
[2026-10-20 02:12:17,600.600 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:12:17,603.603 INFO    ] Checking for system updates...
[2026-10-20 02:12:17,641.641 INFO    ] 200
[2026-10-20 02:12:17,644.644 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:12:17,700.700 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:12:17,703.703 INFO    ] No update needed
[2026-10-20 02:12:17,705.705 INFO    ] Checking for camera pi updates...
[2026-10-20 02:12:17,737.737 INFO    ] 200
[2026-10-20 02:12:17,740.740 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:12:17,780.780 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:12:17,812.812 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:12:17,815.815 INFO    ] No camera update needed
[2026-10-20 02:12:17,817.817 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:12:17,819.819 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:12:17,825.825 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:12:17,830.830 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:12:19,871.871 INFO    ] ================================================
[2026-10-20 02:12:19,886.886 INFO    ] Launching Daemon at Tue Oct 20 02:12:19 IST 2026
[2026-10-20 02:12:19,897.897 INFO    ] ================================================
[2026-10-20 02:12:20,463.463 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:12:20
[2026-10-20 02:12:21,043.043 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:12:21,315.315 INFO    ] Initializing speech engine...
[2026-10-20 02:12:21,322.322 INFO    ] 2026-10-20 02:12:21
[2026-10-20 02:12:21,583.583 INFO    ] 2026-10-20 02:12:21
[2026-10-20 02:12:21,623.623 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:12:21,869.869 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:12:21,875.875 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:12:22,044.044 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:12:22,093.093 INFO    ] time= 20/10/2026 02:12:22
[2026-10-20 02:12:22,135.135 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:12:22,153.153 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:12:22,287.287 INFO    ] No existing commands found in stream
[2026-10-20 02:12:27,305.305 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:12:27,308.308 INFO    ] Waiting 0.09 seconds before fallback handling...
[2026-10-20 02:12:27,926.926 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:12:27,929.929 INFO    ] Checking for system updates...
[2026-10-20 02:12:27,970.970 INFO    ] 200
[2026-10-20 02:12:27,973.973 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:12:28,029.029 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:12:28,032.032 INFO    ] No update needed
[2026-10-20 02:12:28,034.034 INFO    ] Checking for camera pi updates...
[2026-10-20 02:12:28,067.067 INFO    ] 200
[2026-10-20 02:12:28,070.070 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:12:28,110.110 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:12:28,157.157 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:12:28,159.159 INFO    ] No camera update needed
[2026-10-20 02:12:28,162.162 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:12:28,164.164 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:12:28,170.170 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:12:28,175.175 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:12:30,215.215 INFO    ] ================================================
[2026-10-20 02:12:30,231.231 INFO    ] Launching Daemon at Tue Oct 20 02:12:30 IST 2026
[2026-10-20 02:12:30,242.242 INFO    ] ================================================
[2026-10-20 02:12:30,839.839 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:12:30
[2026-10-20 02:12:31,448.448 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:12:31,713.713 INFO    ] Initializing speech engine...
[2026-10-20 02:12:31,730.730 INFO    ] 2026-10-20 02:12:31
[2026-10-20 02:12:32,016.016 INFO    ] 2026-10-20 02:12:31
[2026-10-20 02:12:32,056.056 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:12:32,256.256 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:12:32,296.296 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:12:32,468.468 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:12:32,530.530 INFO    ] time= 20/10/2026 02:12:32
[2026-10-20 02:12:32,585.585 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:12:32,612.612 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:12:32,755.755 INFO    ] No existing commands found in stream
[2026-10-20 02:12:37,769.769 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:12:37,772.772 INFO    ] Waiting 3.53 seconds before fallback handling...
[2026-10-20 02:12:41,852.852 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:12:41,855.855 INFO    ] Checking for system updates...
[2026-10-20 02:12:41,894.894 INFO    ] 200
[2026-10-20 02:12:41,897.897 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:12:41,949.949 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:12:41,952.952 INFO    ] No update needed
[2026-10-20 02:12:41,954.954 INFO    ] Checking for camera pi updates...
[2026-10-20 02:12:41,991.991 INFO    ] 200
[2026-10-20 02:12:41,994.994 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:12:42,034.034 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:12:42,080.080 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:12:42,082.082 INFO    ] No camera update needed
[2026-10-20 02:12:42,085.085 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:12:42,087.087 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:12:42,093.093 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:12:42,098.098 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:12:44,139.139 INFO    ] ================================================
[2026-10-20 02:12:44,155.155 INFO    ] Launching Daemon at Tue Oct 20 02:12:44 IST 2026
[2026-10-20 02:12:44,166.166 INFO    ] ================================================
[2026-10-20 02:12:44,737.737 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:12:44
[2026-10-20 02:12:45,320.320 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:12:45,593.593 INFO    ] Initializing speech engine...
[2026-10-20 02:12:45,597.597 INFO    ] 2026-10-20 02:12:45
[2026-10-20 02:12:45,849.849 INFO    ] 2026-10-20 02:12:45
[2026-10-20 02:12:45,884.884 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:12:46,134.134 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:12:46,139.139 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:12:46,353.353 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:12:46,396.396 INFO    ] time= 20/10/2026 02:12:46
[2026-10-20 02:12:46,402.402 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:12:46,419.419 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:12:46,552.552 INFO    ] No existing commands found in stream
[2026-10-20 02:12:51,574.574 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:12:51,577.577 INFO    ] Waiting 3.13 seconds before fallback handling...
[2026-10-20 02:12:55,263.263 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:12:55,266.266 INFO    ] Checking for system updates...
[2026-10-20 02:12:55,308.308 INFO    ] 200
[2026-10-20 02:12:55,311.311 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:12:55,369.369 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:12:55,371.371 INFO    ] No update needed
[2026-10-20 02:12:55,374.374 INFO    ] Checking for camera pi updates...
[2026-10-20 02:12:55,413.413 INFO    ] 200
[2026-10-20 02:12:55,416.416 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:12:55,463.463 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:12:55,514.514 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:12:55,517.517 INFO    ] No camera update needed
[2026-10-20 02:12:55,520.520 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:12:55,522.522 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:12:55,529.529 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:12:55,534.534 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:12:57,575.575 INFO    ] ================================================
[2026-10-20 02:12:57,590.590 INFO    ] Launching Daemon at Tue Oct 20 02:12:57 IST 2026
[2026-10-20 02:12:57,600.600 INFO    ] ================================================
[2026-10-20 02:12:58,183.183 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:12:58
[2026-10-20 02:12:58,817.817 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:12:59,119.119 INFO    ] Initializing speech engine...
[2026-10-20 02:12:59,127.127 INFO    ] 2026-10-20 02:12:59
[2026-10-20 02:12:59,398.398 INFO    ] 2026-10-20 02:12:59
[2026-10-20 02:12:59,433.433 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:12:59,687.687 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:12:59,692.692 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:12:59,893.893 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:12:59,954.954 INFO    ] time= 20/10/2026 02:12:59
[2026-10-20 02:12:59,962.962 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:12:59,980.980 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:13:00,110.110 INFO    ] No existing commands found in stream
[2026-10-20 02:13:05,132.132 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:13:05,135.135 INFO    ] Waiting 0.42 seconds before fallback handling...
[2026-10-20 02:13:06,093.093 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:13:06,096.096 INFO    ] Checking for system updates...
[2026-10-20 02:13:06,133.133 INFO    ] 200
[2026-10-20 02:13:06,135.135 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:13:06,195.195 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:13:06,197.197 INFO    ] No update needed
[2026-10-20 02:13:06,199.199 INFO    ] Checking for camera pi updates...
[2026-10-20 02:13:06,235.235 INFO    ] 200
[2026-10-20 02:13:06,237.237 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:13:06,279.279 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:13:06,325.325 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:13:06,327.327 INFO    ] No camera update needed
[2026-10-20 02:13:06,330.330 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:13:06,332.332 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:13:06,337.337 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:13:06,342.342 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:13:08,381.381 INFO    ] ================================================
[2026-10-20 02:13:08,396.396 INFO    ] Launching Daemon at Tue Oct 20 02:13:08 IST 2026
[2026-10-20 02:13:08,406.406 INFO    ] ================================================
[2026-10-20 02:13:08,974.974 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:13:08
[2026-10-20 02:13:09,558.558 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:13:09,809.809 INFO    ] Initializing speech engine...
[2026-10-20 02:13:09,818.818 INFO    ] 2026-10-20 02:13:09
[2026-10-20 02:13:10,103.103 INFO    ] 2026-10-20 02:13:10
[2026-10-20 02:13:10,141.141 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:13:10,357.357 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:13:10,406.406 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:13:10,575.575 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:13:10,635.635 INFO    ] time= 20/10/2026 02:13:10
[2026-10-20 02:13:10,679.679 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:13:10,717.717 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:13:10,876.876 INFO    ] No existing commands found in stream
[2026-10-20 02:13:15,892.892 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:13:15,895.895 INFO    ] Waiting 1.21 seconds before fallback handling...
[2026-10-20 02:13:17,607.607 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:13:17,610.610 INFO    ] Checking for system updates...
[2026-10-20 02:13:17,647.647 INFO    ] 200
[2026-10-20 02:13:17,650.650 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:13:17,701.701 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:13:17,704.704 INFO    ] No update needed
[2026-10-20 02:13:17,706.706 INFO    ] Checking for camera pi updates...
[2026-10-20 02:13:17,743.743 INFO    ] 200
[2026-10-20 02:13:17,745.745 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:13:17,792.792 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:13:17,840.840 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:13:17,843.843 INFO    ] No camera update needed
[2026-10-20 02:13:17,845.845 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:13:17,847.847 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:13:17,852.852 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:13:17,857.857 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:13:19,896.896 INFO    ] ================================================
[2026-10-20 02:13:19,911.911 INFO    ] Launching Daemon at Tue Oct 20 02:13:19 IST 2026
[2026-10-20 02:13:19,922.922 INFO    ] ================================================
[2026-10-20 02:13:20,488.488 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:13:20
[2026-10-20 02:13:21,070.070 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:13:21,337.337 INFO    ] Initializing speech engine...
[2026-10-20 02:13:21,347.347 INFO    ] 2026-10-20 02:13:21
[2026-10-20 02:13:21,592.592 INFO    ] 2026-10-20 02:13:21
[2026-10-20 02:13:21,626.626 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:13:21,827.827 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:13:21,879.879 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:13:22,106.106 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:13:22,145.145 INFO    ] time= 20/10/2026 02:13:22
[2026-10-20 02:13:22,159.159 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:13:22,168.168 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:13:22,294.294 INFO    ] No existing commands found in stream
[2026-10-20 02:13:27,307.307 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:13:27,310.310 INFO    ] Waiting 0.76 seconds before fallback handling...
[2026-10-20 02:13:28,618.618 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:13:28,621.621 INFO    ] Checking for system updates...
[2026-10-20 02:13:28,657.657 INFO    ] 200
[2026-10-20 02:13:28,659.659 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:13:28,715.715 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:13:28,718.718 INFO    ] No update needed
[2026-10-20 02:13:28,720.720 INFO    ] Checking for camera pi updates...
[2026-10-20 02:13:28,753.753 INFO    ] 200
[2026-10-20 02:13:28,756.756 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:13:28,796.796 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:13:28,843.843 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:13:28,845.845 INFO    ] No camera update needed
[2026-10-20 02:13:28,847.847 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:13:28,850.850 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:13:28,855.855 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:13:28,860.860 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:13:30,900.900 INFO    ] ================================================
[2026-10-20 02:13:30,914.914 INFO    ] Launching Daemon at Tue Oct 20 02:13:30 IST 2026
[2026-10-20 02:13:30,925.925 INFO    ] ================================================
[2026-10-20 02:13:31,565.565 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:13:31
[2026-10-20 02:13:32,248.248 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:13:32,559.559 INFO    ] Initializing speech engine...
[2026-10-20 02:13:32,566.566 INFO    ] 2026-10-20 02:13:32
[2026-10-20 02:13:32,821.821 INFO    ] 2026-10-20 02:13:32
[2026-10-20 02:13:32,864.864 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:13:33,139.139 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:13:33,146.146 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:13:33,375.375 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:13:33,382.382 INFO    ] time= 20/10/2026 02:13:33
[2026-10-20 02:13:33,399.399 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:13:33,419.419 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:13:33,601.601 INFO    ] No existing commands found in stream
[2026-10-20 02:13:38,633.633 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:13:38,636.636 INFO    ] Waiting 2.96 seconds before fallback handling...
[2026-10-20 02:13:42,140.140 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:13:42,143.143 INFO    ] Checking for system updates...
[2026-10-20 02:13:42,179.179 INFO    ] 200
[2026-10-20 02:13:42,182.182 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:13:42,234.234 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:13:42,237.237 INFO    ] No update needed
[2026-10-20 02:13:42,240.240 INFO    ] Checking for camera pi updates...
[2026-10-20 02:13:42,275.275 INFO    ] 200
[2026-10-20 02:13:42,278.278 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:13:42,321.321 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:13:42,375.375 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:13:42,377.377 INFO    ] No camera update needed
[2026-10-20 02:13:42,380.380 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:13:42,382.382 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:13:42,387.387 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:13:42,392.392 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:13:44,432.432 INFO    ] ================================================
[2026-10-20 02:13:44,447.447 INFO    ] Launching Daemon at Tue Oct 20 02:13:44 IST 2026
[2026-10-20 02:13:44,457.457 INFO    ] ================================================
[2026-10-20 02:13:45,083.083 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:13:45
[2026-10-20 02:13:45,724.724 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:13:46,020.020 INFO    ] Initializing speech engine...
[2026-10-20 02:13:46,032.032 INFO    ] 2026-10-20 02:13:46
[2026-10-20 02:13:46,298.298 INFO    ] 2026-10-20 02:13:46
[2026-10-20 02:13:46,333.333 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:13:46,589.589 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:13:46,594.594 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:13:46,739.739 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:13:46,745.745 INFO    ] time= 20/10/2026 02:13:46
[2026-10-20 02:13:46,800.800 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:13:46,854.854 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:13:47,001.001 INFO    ] No existing commands found in stream
[2026-10-20 02:13:52,031.031 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:13:52,034.034 INFO    ] Waiting 0.46 seconds before fallback handling...
[2026-10-20 02:13:53,026.026 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 02:13:53,029.029 INFO    ] Checking for system updates...
[2026-10-20 02:13:53,065.065 INFO    ] 200
[2026-10-20 02:13:53,067.067 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:13:53,124.124 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:13:53,126.126 INFO    ] No update needed
[2026-10-20 02:13:53,129.129 INFO    ] Checking for camera pi updates...
[2026-10-20 02:13:53,163.163 INFO    ] 200
[2026-10-20 02:13:53,166.166 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:13:53,209.209 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:13:53,267.267 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:13:53,270.270 INFO    ] No camera update needed
[2026-10-20 02:13:53,273.273 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:13:53,276.276 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:13:53,281.281 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:13:53,287.287 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:13:55,327.327 INFO    ] ================================================
[2026-10-20 02:13:55,342.342 INFO    ] Launching Daemon at Tue Oct 20 02:13:55 IST 2026
[2026-10-20 02:13:55,352.352 INFO    ] ================================================
[2026-10-20 02:13:55,918.918 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:13:55
[2026-10-20 02:13:56,501.501 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:13:56,749.749 INFO    ] Initializing speech engine...
[2026-10-20 02:13:56,768.768 INFO    ] 2026-10-20 02:13:56
[2026-10-20 02:13:57,023.023 INFO    ] 2026-10-20 02:13:57
[2026-10-20 02:13:57,059.059 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:13:57,309.309 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:13:57,319.319 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:13:57,554.554 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:13:57,577.577 INFO    ] time= 20/10/2026 02:13:57
[2026-10-20 02:13:57,583.583 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:13:57,600.600 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:13:57,751.751 INFO    ] No existing commands found in stream
[2026-10-20 02:14:02,781.781 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:14:02,784.784 INFO    ] Waiting 0.34 seconds before fallback handling...
[2026-10-20 02:14:03,678.678 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:14:03,681.681 INFO    ] Checking for system updates...
[2026-10-20 02:14:03,720.720 INFO    ] 200
[2026-10-20 02:14:03,722.722 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:14:03,775.775 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:14:03,777.777 INFO    ] No update needed
[2026-10-20 02:14:03,780.780 INFO    ] Checking for camera pi updates...
[2026-10-20 02:14:03,814.814 INFO    ] 200
[2026-10-20 02:14:03,816.816 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:14:03,856.856 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:14:03,999.999 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:14:04,001.001 INFO    ] No camera update needed
[2026-10-20 02:14:04,003.003 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:14:04,006.006 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:14:04,011.011 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:14:04,016.016 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:14:06,056.056 INFO    ] ================================================
[2026-10-20 02:14:06,071.071 INFO    ] Launching Daemon at Tue Oct 20 02:14:06 IST 2026
[2026-10-20 02:14:06,082.082 INFO    ] ================================================
[2026-10-20 02:14:06,646.646 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:14:06
[2026-10-20 02:14:07,255.255 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:14:07,529.529 INFO    ] Initializing speech engine...
[2026-10-20 02:14:07,539.539 INFO    ] 2026-10-20 02:14:07
[2026-10-20 02:14:07,793.793 INFO    ] 2026-10-20 02:14:07
[2026-10-20 02:14:07,830.830 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:14:08,100.100 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:14:08,108.108 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:14:08,320.320 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:14:08,342.342 INFO    ] time= 20/10/2026 02:14:08
[2026-10-20 02:14:08,348.348 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:14:08,368.368 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:14:08,498.498 INFO    ] No existing commands found in stream
[2026-10-20 02:14:13,525.525 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:14:13,528.528 INFO    ] Waiting 3.28 seconds before fallback handling...
[2026-10-20 02:14:17,366.366 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:14:17,369.369 INFO    ] Checking for system updates...
[2026-10-20 02:14:17,404.404 INFO    ] 200
[2026-10-20 02:14:17,406.406 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:14:17,465.465 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:14:17,467.467 INFO    ] No update needed
[2026-10-20 02:14:17,470.470 INFO    ] Checking for camera pi updates...
[2026-10-20 02:14:17,508.508 INFO    ] 200
[2026-10-20 02:14:17,511.511 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:14:17,550.550 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:14:17,600.600 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:14:17,603.603 INFO    ] No camera update needed
[2026-10-20 02:14:17,605.605 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:14:17,607.607 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:14:17,613.613 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:14:17,618.618 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:14:19,657.657 INFO    ] ================================================
[2026-10-20 02:14:19,672.672 INFO    ] Launching Daemon at Tue Oct 20 02:14:19 IST 2026
[2026-10-20 02:14:19,682.682 INFO    ] ================================================
[2026-10-20 02:14:20,259.259 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:14:20
[2026-10-20 02:14:20,858.858 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:14:21,132.132 INFO    ] Initializing speech engine...
[2026-10-20 02:14:21,141.141 INFO    ] 2026-10-20 02:14:21
[2026-10-20 02:14:21,404.404 INFO    ] 2026-10-20 02:14:21
[2026-10-20 02:14:21,432.432 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:14:21,645.645 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:14:21,647.647 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:14:21,827.827 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:14:21,872.872 INFO    ] time= 20/10/2026 02:14:21
[2026-10-20 02:14:21,921.921 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:14:21,959.959 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:14:22,103.103 INFO    ] No existing commands found in stream
[2026-10-20 02:14:27,120.120 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:14:27,123.123 INFO    ] Waiting 2.57 seconds before fallback handling...
[2026-10-20 02:14:30,245.245 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:14:30,248.248 INFO    ] Checking for system updates...
[2026-10-20 02:14:30,284.284 INFO    ] 200
[2026-10-20 02:14:30,287.287 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:14:30,339.339 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:14:30,342.342 INFO    ] No update needed
[2026-10-20 02:14:30,345.345 INFO    ] Checking for camera pi updates...
[2026-10-20 02:14:30,383.383 INFO    ] 200
[2026-10-20 02:14:30,386.386 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:14:30,431.431 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:14:30,486.486 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:14:30,489.489 INFO    ] No camera update needed
[2026-10-20 02:14:30,492.492 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:14:30,494.494 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:14:30,500.500 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:14:30,506.506 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:14:32,548.548 INFO    ] ================================================
[2026-10-20 02:14:32,563.563 INFO    ] Launching Daemon at Tue Oct 20 02:14:32 IST 2026
[2026-10-20 02:14:32,573.573 INFO    ] ================================================
[2026-10-20 02:14:33,220.220 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:14:33
[2026-10-20 02:14:33,888.888 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:14:34,192.192 INFO    ] Initializing speech engine...
[2026-10-20 02:14:34,199.199 INFO    ] 2026-10-20 02:14:34
[2026-10-20 02:14:34,489.489 INFO    ] 2026-10-20 02:14:34
[2026-10-20 02:14:34,536.536 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:14:34,768.768 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:14:34,774.774 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:14:34,999.999 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:14:35,039.039 INFO    ] time= 20/10/2026 02:14:35
[2026-10-20 02:14:35,046.046 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:14:35,068.068 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:14:35,224.224 INFO    ] No existing commands found in stream
[2026-10-20 02:14:40,251.251 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:14:40,254.254 INFO    ] Waiting 3.43 seconds before fallback handling...
[2026-10-20 02:14:44,238.238 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:14:44,241.241 INFO    ] Checking for system updates...
[2026-10-20 02:14:44,278.278 INFO    ] 200
[2026-10-20 02:14:44,281.281 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:14:44,340.340 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:14:44,343.343 INFO    ] No update needed
[2026-10-20 02:14:44,346.346 INFO    ] Checking for camera pi updates...
[2026-10-20 02:14:44,382.382 INFO    ] 200
[2026-10-20 02:14:44,385.385 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:14:44,426.426 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:14:44,476.476 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:14:44,479.479 INFO    ] No camera update needed
[2026-10-20 02:14:44,482.482 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:14:44,484.484 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:14:44,491.491 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:14:44,497.497 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:14:46,537.537 INFO    ] ================================================
[2026-10-20 02:14:46,553.553 INFO    ] Launching Daemon at Tue Oct 20 02:14:46 IST 2026
[2026-10-20 02:14:46,564.564 INFO    ] ================================================
[2026-10-20 02:14:47,219.219 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:14:47
[2026-10-20 02:14:47,890.890 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:14:48,193.193 INFO    ] Initializing speech engine...
[2026-10-20 02:14:48,201.201 INFO    ] 2026-10-20 02:14:48
[2026-10-20 02:14:48,487.487 INFO    ] 2026-10-20 02:14:48
[2026-10-20 02:14:48,533.533 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:14:48,785.785 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:14:48,793.793 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:14:48,984.984 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:14:49,029.029 INFO    ] time= 20/10/2026 02:14:48
[2026-10-20 02:14:49,068.068 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:14:49,074.074 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:14:49,217.217 INFO    ] No existing commands found in stream
[2026-10-20 02:14:54,248.248 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:14:54,251.251 INFO    ] Waiting 3.57 seconds before fallback handling...
[2026-10-20 02:14:58,330.330 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:14:58,332.332 INFO    ] Checking for system updates...
[2026-10-20 02:14:58,367.367 INFO    ] 200
[2026-10-20 02:14:58,370.370 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:14:58,423.423 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:14:58,425.425 INFO    ] No update needed
[2026-10-20 02:14:58,428.428 INFO    ] Checking for camera pi updates...
[2026-10-20 02:14:58,464.464 INFO    ] 200
[2026-10-20 02:14:58,467.467 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:14:58,511.511 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:14:58,557.557 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:14:58,560.560 INFO    ] No camera update needed
[2026-10-20 02:14:58,562.562 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:14:58,564.564 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:14:58,570.570 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:14:58,575.575 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:15:00,616.616 INFO    ] ================================================
[2026-10-20 02:15:00,632.632 INFO    ] Launching Daemon at Tue Oct 20 02:15:00 IST 2026
[2026-10-20 02:15:00,642.642 INFO    ] ================================================
[2026-10-20 02:15:01,489.489 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:15:01
[2026-10-20 02:15:02,397.397 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:15:02,722.722 INFO    ] Initializing speech engine...
[2026-10-20 02:15:02,729.729 INFO    ] 2026-10-20 02:15:02
[2026-10-20 02:15:03,049.049 INFO    ] 2026-10-20 02:15:03
[2026-10-20 02:15:03,143.143 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:15:03,383.383 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:15:03,394.394 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:15:03,590.590 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:15:03,650.650 INFO    ] time= 20/10/2026 02:15:03
[2026-10-20 02:15:03,687.687 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:15:03,715.715 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:15:03,850.850 INFO    ] No existing commands found in stream
[2026-10-20 02:15:08,881.881 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:15:08,884.884 INFO    ] Waiting 0.36 seconds before fallback handling...
[2026-10-20 02:15:09,744.744 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:15:09,746.746 INFO    ] Checking for system updates...
[2026-10-20 02:15:09,782.782 INFO    ] 200
[2026-10-20 02:15:09,785.785 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:15:09,841.841 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:15:09,843.843 INFO    ] No update needed
[2026-10-20 02:15:09,846.846 INFO    ] Checking for camera pi updates...
[2026-10-20 02:15:09,879.879 INFO    ] 200
[2026-10-20 02:15:09,881.881 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:15:09,921.921 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:15:09,965.965 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:15:09,967.967 INFO    ] No camera update needed
[2026-10-20 02:15:09,970.970 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:15:09,972.972 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:15:09,978.978 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:15:09,983.983 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:15:12,023.023 INFO    ] ================================================
[2026-10-20 02:15:12,043.043 INFO    ] Launching Daemon at Tue Oct 20 02:15:12 IST 2026
[2026-10-20 02:15:12,054.054 INFO    ] ================================================
[2026-10-20 02:15:12,711.711 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:15:12
[2026-10-20 02:15:13,391.391 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:15:13,701.701 INFO    ] Initializing speech engine...
[2026-10-20 02:15:13,715.715 INFO    ] 2026-10-20 02:15:13
[2026-10-20 02:15:14,009.009 INFO    ] 2026-10-20 02:15:13
[2026-10-20 02:15:14,121.121 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:15:14,341.341 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:15:14,347.347 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:15:14,549.549 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:15:14,569.569 INFO    ] time= 20/10/2026 02:15:14
[2026-10-20 02:15:14,601.601 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:15:14,608.608 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:15:14,721.721 INFO    ] No existing commands found in stream
[2026-10-20 02:15:19,752.752 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:15:19,755.755 INFO    ] Waiting 3.61 seconds before fallback handling...
[2026-10-20 02:15:23,910.910 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:15:23,913.913 INFO    ] Checking for system updates...
[2026-10-20 02:15:23,950.950 INFO    ] 200
[2026-10-20 02:15:23,953.953 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:15:24,006.006 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:15:24,009.009 INFO    ] No update needed
[2026-10-20 02:15:24,012.012 INFO    ] Checking for camera pi updates...
[2026-10-20 02:15:24,046.046 INFO    ] 200
[2026-10-20 02:15:24,049.049 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:15:24,089.089 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:15:24,135.135 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:15:24,138.138 INFO    ] No camera update needed
[2026-10-20 02:15:24,140.140 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:15:24,143.143 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:15:24,148.148 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:15:24,153.153 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:15:26,196.196 INFO    ] ================================================
[2026-10-20 02:15:26,212.212 INFO    ] Launching Daemon at Tue Oct 20 02:15:26 IST 2026
[2026-10-20 02:15:26,223.223 INFO    ] ================================================
[2026-10-20 02:15:26,791.791 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:15:26
[2026-10-20 02:15:27,374.374 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:15:27,623.623 INFO    ] Initializing speech engine...
[2026-10-20 02:15:27,649.649 INFO    ] 2026-10-20 02:15:27
[2026-10-20 02:15:27,905.905 INFO    ] 2026-10-20 02:15:27
[2026-10-20 02:15:27,939.939 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:15:28,198.198 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:15:28,207.207 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:15:28,345.345 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:15:28,390.390 INFO    ] time= 20/10/2026 02:15:28
[2026-10-20 02:15:28,433.433 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:15:28,478.478 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:15:28,620.620 INFO    ] No existing commands found in stream
[2026-10-20 02:15:33,640.640 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:15:33,643.643 INFO    ] Waiting 2.62 seconds before fallback handling...
[2026-10-20 02:15:36,756.756 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:15:36,758.758 INFO    ] Checking for system updates...
[2026-10-20 02:15:36,798.798 INFO    ] 200
[2026-10-20 02:15:36,800.800 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:15:36,852.852 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:15:36,854.854 INFO    ] No update needed
[2026-10-20 02:15:36,856.856 INFO    ] Checking for camera pi updates...
[2026-10-20 02:15:36,890.890 INFO    ] 200
[2026-10-20 02:15:36,892.892 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:15:36,936.936 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:15:36,980.980 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:15:36,982.982 INFO    ] No camera update needed
[2026-10-20 02:15:36,985.985 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:15:36,987.987 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:15:36,992.992 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:15:36,997.997 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:15:39,040.040 INFO    ] ================================================
[2026-10-20 02:15:39,055.055 INFO    ] Launching Daemon at Tue Oct 20 02:15:39 IST 2026
[2026-10-20 02:15:39,066.066 INFO    ] ================================================
[2026-10-20 02:15:39,642.642 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:15:39
[2026-10-20 02:15:40,310.310 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:15:40,623.623 INFO    ] Initializing speech engine...
[2026-10-20 02:15:40,635.635 INFO    ] 2026-10-20 02:15:40
[2026-10-20 02:15:40,920.920 INFO    ] 2026-10-20 02:15:40
[2026-10-20 02:15:40,964.964 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:15:41,254.254 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:15:41,261.261 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:15:41,454.454 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:15:41,475.475 INFO    ] time= 20/10/2026 02:15:41
[2026-10-20 02:15:41,493.493 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:15:41,512.512 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:15:41,641.641 INFO    ] No existing commands found in stream
[2026-10-20 02:15:46,672.672 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:15:46,676.676 INFO    ] Waiting 2.88 seconds before fallback handling...
[2026-10-20 02:15:50,125.125 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:15:50,128.128 INFO    ] Checking for system updates...
[2026-10-20 02:15:50,165.165 INFO    ] 200
[2026-10-20 02:15:50,167.167 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:15:50,221.221 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:15:50,223.223 INFO    ] No update needed
[2026-10-20 02:15:50,226.226 INFO    ] Checking for camera pi updates...
[2026-10-20 02:15:50,260.260 INFO    ] 200
[2026-10-20 02:15:50,262.262 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:15:50,302.302 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:15:50,351.351 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:15:50,353.353 INFO    ] No camera update needed
[2026-10-20 02:15:50,355.355 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:15:50,358.358 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:15:50,363.363 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:15:50,369.369 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:15:52,408.408 INFO    ] ================================================
[2026-10-20 02:15:52,424.424 INFO    ] Launching Daemon at Tue Oct 20 02:15:52 IST 2026
[2026-10-20 02:15:52,435.435 INFO    ] ================================================
[2026-10-20 02:15:53,002.002 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:15:52
[2026-10-20 02:15:53,585.585 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:15:53,859.859 INFO    ] Initializing speech engine...
[2026-10-20 02:15:53,869.869 INFO    ] 2026-10-20 02:15:53
[2026-10-20 02:15:54,113.113 INFO    ] 2026-10-20 02:15:54
[2026-10-20 02:15:54,149.149 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:15:54,403.403 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:15:54,408.408 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:15:54,594.594 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:15:54,654.654 INFO    ] time= 20/10/2026 02:15:54
[2026-10-20 02:15:54,669.669 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:15:54,675.675 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:15:54,821.821 INFO    ] No existing commands found in stream
[2026-10-20 02:15:59,841.841 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:15:59,843.843 INFO    ] Waiting 1.73 seconds before fallback handling...
[2026-10-20 02:16:02,130.130 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:16:02,133.133 INFO    ] Checking for system updates...
[2026-10-20 02:16:02,232.232 INFO    ] 200
[2026-10-20 02:16:02,235.235 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:16:02,340.340 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:16:02,344.344 INFO    ] No update needed
[2026-10-20 02:16:02,348.348 INFO    ] Checking for camera pi updates...
[2026-10-20 02:16:02,386.386 INFO    ] 200
[2026-10-20 02:16:02,390.390 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:16:02,441.441 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:16:02,473.473 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:16:02,476.476 INFO    ] No camera update needed
[2026-10-20 02:16:02,479.479 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:16:02,482.482 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:16:02,489.489 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:16:02,496.496 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:16:04,538.538 INFO    ] ================================================
[2026-10-20 02:16:04,556.556 INFO    ] Launching Daemon at Tue Oct 20 02:16:04 IST 2026
[2026-10-20 02:16:04,567.567 INFO    ] ================================================
[2026-10-20 02:16:05,146.146 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:16:05
[2026-10-20 02:16:05,732.732 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:16:05,989.989 INFO    ] Initializing speech engine...
[2026-10-20 02:16:05,995.995 INFO    ] 2026-10-20 02:16:05
[2026-10-20 02:16:06,296.296 INFO    ] 2026-10-20 02:16:06
[2026-10-20 02:16:06,332.332 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:16:06,536.536 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:16:06,550.550 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:16:06,713.713 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:16:06,722.722 INFO    ] time= 20/10/2026 02:16:06
[2026-10-20 02:16:06,728.728 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:16:06,734.734 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:16:06,893.893 INFO    ] No existing commands found in stream
[2026-10-20 02:16:11,918.918 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:16:11,921.921 INFO    ] Waiting 2.47 seconds before fallback handling...
[2026-10-20 02:16:14,911.911 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:16:14,914.914 INFO    ] Checking for system updates...
[2026-10-20 02:16:14,951.951 INFO    ] 200
[2026-10-20 02:16:14,953.953 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:16:15,021.021 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:16:15,023.023 INFO    ] No update needed
[2026-10-20 02:16:15,026.026 INFO    ] Checking for camera pi updates...
[2026-10-20 02:16:15,064.064 INFO    ] 200
[2026-10-20 02:16:15,067.067 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:16:15,109.109 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:16:15,256.256 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:16:15,258.258 INFO    ] No camera update needed
[2026-10-20 02:16:15,261.261 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:16:15,264.264 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:16:15,270.270 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:16:15,276.276 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:16:17,316.316 INFO    ] ================================================
[2026-10-20 02:16:17,331.331 INFO    ] Launching Daemon at Tue Oct 20 02:16:17 IST 2026
[2026-10-20 02:16:17,343.343 INFO    ] ================================================
[2026-10-20 02:16:17,920.920 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:16:17
[2026-10-20 02:16:18,505.505 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:16:18,775.775 INFO    ] Initializing speech engine...
[2026-10-20 02:16:18,783.783 INFO    ] 2026-10-20 02:16:18
[2026-10-20 02:16:19,040.040 INFO    ] 2026-10-20 02:16:19
[2026-10-20 02:16:19,074.074 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:16:19,273.273 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:16:19,288.288 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:16:19,442.442 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:16:19,444.444 INFO    ] time= 20/10/2026 02:16:19
[2026-10-20 02:16:19,447.447 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:16:19,450.450 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:16:19,569.569 INFO    ] No existing commands found in stream
[2026-10-20 02:16:24,599.599 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:16:24,602.602 INFO    ] Waiting 1.82 seconds before fallback handling...
[2026-10-20 02:16:26,940.940 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:16:26,943.943 INFO    ] Checking for system updates...
[2026-10-20 02:16:26,981.981 INFO    ] 200
[2026-10-20 02:16:26,984.984 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:16:27,051.051 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:16:27,053.053 INFO    ] No update needed
[2026-10-20 02:16:27,056.056 INFO    ] Checking for camera pi updates...
[2026-10-20 02:16:27,092.092 INFO    ] 200
[2026-10-20 02:16:27,095.095 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:16:27,146.146 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:16:27,193.193 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:16:27,196.196 INFO    ] No camera update needed
[2026-10-20 02:16:27,199.199 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:16:27,202.202 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:16:27,210.210 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:16:27,217.217 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:16:29,259.259 INFO    ] ================================================
[2026-10-20 02:16:29,276.276 INFO    ] Launching Daemon at Tue Oct 20 02:16:29 IST 2026
[2026-10-20 02:16:29,287.287 INFO    ] ================================================
[2026-10-20 02:16:29,881.881 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:16:29
[2026-10-20 02:16:30,501.501 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:16:30,775.775 INFO    ] Initializing speech engine...
[2026-10-20 02:16:30,783.783 INFO    ] 2026-10-20 02:16:30
[2026-10-20 02:16:31,048.048 INFO    ] 2026-10-20 02:16:31
[2026-10-20 02:16:31,085.085 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:16:31,284.284 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:16:31,298.298 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:16:31,456.456 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:16:31,465.465 INFO    ] time= 20/10/2026 02:16:31
[2026-10-20 02:16:31,471.471 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:16:31,517.517 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:16:31,660.660 INFO    ] No existing commands found in stream
[2026-10-20 02:16:36,670.670 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:16:36,673.673 INFO    ] Waiting 3.48 seconds before fallback handling...
[2026-10-20 02:16:40,662.662 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:16:40,665.665 INFO    ] Checking for system updates...
[2026-10-20 02:16:40,705.705 INFO    ] 200
[2026-10-20 02:16:40,707.707 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:16:40,774.774 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:16:40,777.777 INFO    ] No update needed
[2026-10-20 02:16:40,780.780 INFO    ] Checking for camera pi updates...
[2026-10-20 02:16:40,815.815 INFO    ] 200
[2026-10-20 02:16:40,817.817 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:16:40,863.863 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:16:40,912.912 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:16:40,915.915 INFO    ] No camera update needed
[2026-10-20 02:16:40,917.917 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:16:40,920.920 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:16:40,926.926 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:16:40,931.931 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:16:42,972.972 INFO    ] ================================================
[2026-10-20 02:16:42,988.988 INFO    ] Launching Daemon at Tue Oct 20 02:16:42 IST 2026
[2026-10-20 02:16:43,999.999 INFO    ] ================================================
[2026-10-20 02:16:43,615.615 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:16:43
[2026-10-20 02:16:44,264.264 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:16:44,541.541 INFO    ] Initializing speech engine...
[2026-10-20 02:16:44,552.552 INFO    ] 2026-10-20 02:16:44
[2026-10-20 02:16:44,828.828 INFO    ] 2026-10-20 02:16:44
[2026-10-20 02:16:44,872.872 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:16:45,147.147 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:16:45,160.160 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:16:45,350.350 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:16:45,362.362 INFO    ] time= 20/10/2026 02:16:45
[2026-10-20 02:16:45,380.380 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:16:45,397.397 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:16:45,517.517 INFO    ] No existing commands found in stream
[2026-10-20 02:16:50,541.541 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:16:50,544.544 INFO    ] Waiting 2.98 seconds before fallback handling...
[2026-10-20 02:16:54,044.044 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:16:54,047.047 INFO    ] Checking for system updates...
[2026-10-20 02:16:54,084.084 INFO    ] 200
[2026-10-20 02:16:54,086.086 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:16:54,149.149 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:16:54,152.152 INFO    ] No update needed
[2026-10-20 02:16:54,154.154 INFO    ] Checking for camera pi updates...
[2026-10-20 02:16:54,187.187 INFO    ] 200
[2026-10-20 02:16:54,190.190 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:16:54,230.230 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:16:54,274.274 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:16:54,277.277 INFO    ] No camera update needed
[2026-10-20 02:16:54,279.279 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:16:54,282.282 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:16:54,287.287 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:16:54,292.292 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:16:56,331.331 INFO    ] ================================================
[2026-10-20 02:16:56,347.347 INFO    ] Launching Daemon at Tue Oct 20 02:16:56 IST 2026
[2026-10-20 02:16:56,357.357 INFO    ] ================================================
[2026-10-20 02:16:57,011.011 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:16:57
[2026-10-20 02:16:57,686.686 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:16:57,997.997 INFO    ] Initializing speech engine...
[2026-10-20 02:16:58,008.008 INFO    ] 2026-10-20 02:16:58
[2026-10-20 02:16:58,318.318 INFO    ] 2026-10-20 02:16:58
[2026-10-20 02:16:58,403.403 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:16:58,622.622 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:16:58,683.683 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:16:58,838.838 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:16:58,866.866 INFO    ] time= 20/10/2026 02:16:58
[2026-10-20 02:16:58,875.875 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:16:58,883.883 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:16:59,024.024 INFO    ] No existing commands found in stream
[2026-10-20 02:17:04,054.054 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:17:04,058.058 INFO    ] Waiting 1.13 seconds before fallback handling...
[2026-10-20 02:17:05,724.724 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:17:05,727.727 INFO    ] Checking for system updates...
[2026-10-20 02:17:05,768.768 INFO    ] 200
[2026-10-20 02:17:05,771.771 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:17:05,832.832 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:17:05,835.835 INFO    ] No update needed
[2026-10-20 02:17:05,838.838 INFO    ] Checking for camera pi updates...
[2026-10-20 02:17:05,882.882 INFO    ] 200
[2026-10-20 02:17:05,885.885 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:17:05,941.941 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:17:05,991.991 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:17:05,993.993 INFO    ] No camera update needed
[2026-10-20 02:17:05,996.996 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:17:05,999.999 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:17:06,005.005 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:17:06,011.011 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:17:08,051.051 INFO    ] ================================================
[2026-10-20 02:17:08,066.066 INFO    ] Launching Daemon at Tue Oct 20 02:17:08 IST 2026
[2026-10-20 02:17:08,077.077 INFO    ] ================================================
[2026-10-20 02:17:08,651.651 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:17:08
[2026-10-20 02:17:09,239.239 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:17:09,489.489 INFO    ] Initializing speech engine...
[2026-10-20 02:17:09,496.496 INFO    ] 2026-10-20 02:17:09
[2026-10-20 02:17:09,801.801 INFO    ] 2026-10-20 02:17:09
[2026-10-20 02:17:09,836.836 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:17:10,040.040 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:17:10,054.054 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:17:10,225.225 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:17:10,230.230 INFO    ] time= 20/10/2026 02:17:10
[2026-10-20 02:17:10,236.236 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:17:10,247.247 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:17:10,399.399 INFO    ] No existing commands found in stream
[2026-10-20 02:17:15,423.423 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:17:15,426.426 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-10-20 02:17:17,766.766 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:17:17,769.769 INFO    ] Checking for system updates...
[2026-10-20 02:17:17,805.805 INFO    ] 200
[2026-10-20 02:17:17,807.807 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:17:17,862.862 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:17:17,865.865 INFO    ] No update needed
[2026-10-20 02:17:17,867.867 INFO    ] Checking for camera pi updates...
[2026-10-20 02:17:17,901.901 INFO    ] 200
[2026-10-20 02:17:17,904.904 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:17:17,950.950 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:17:17,999.999 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:17:18,002.002 INFO    ] No camera update needed
[2026-10-20 02:17:18,004.004 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:17:18,006.006 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:17:18,012.012 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:17:18,016.016 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:17:20,056.056 INFO    ] ================================================
[2026-10-20 02:17:20,071.071 INFO    ] Launching Daemon at Tue Oct 20 02:17:20 IST 2026
[2026-10-20 02:17:20,081.081 INFO    ] ================================================
[2026-10-20 02:17:20,646.646 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:17:20
[2026-10-20 02:17:21,237.237 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:17:21,509.509 INFO    ] Initializing speech engine...
[2026-10-20 02:17:21,518.518 INFO    ] 2026-10-20 02:17:21
[2026-10-20 02:17:21,768.768 INFO    ] 2026-10-20 02:17:21
[2026-10-20 02:17:21,804.804 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:17:22,007.007 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:17:22,067.067 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:17:22,268.268 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:17:22,327.327 INFO    ] time= 20/10/2026 02:17:22
[2026-10-20 02:17:22,342.342 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:17:22,348.348 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:17:22,497.497 INFO    ] No existing commands found in stream
[2026-10-20 02:17:27,512.512 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:17:27,515.515 INFO    ] Waiting 1.97 seconds before fallback handling...
[2026-10-20 02:17:29,976.976 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:17:29,979.979 INFO    ] Checking for system updates...
[2026-10-20 02:17:30,015.015 INFO    ] 200
[2026-10-20 02:17:30,017.017 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:17:30,080.080 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:17:30,083.083 INFO    ] No update needed
[2026-10-20 02:17:30,085.085 INFO    ] Checking for camera pi updates...
[2026-10-20 02:17:30,119.119 INFO    ] 200
[2026-10-20 02:17:30,122.122 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:17:30,169.169 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:17:30,219.219 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:17:30,221.221 INFO    ] No camera update needed
[2026-10-20 02:17:30,224.224 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:17:30,227.227 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:17:30,233.233 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:17:30,239.239 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:17:32,283.283 INFO    ] ================================================
[2026-10-20 02:17:32,299.299 INFO    ] Launching Daemon at Tue Oct 20 02:17:32 IST 2026
[2026-10-20 02:17:32,311.311 INFO    ] ================================================
[2026-10-20 02:17:33,020.020 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:17:33
[2026-10-20 02:17:33,723.723 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:17:34,031.031 INFO    ] Initializing speech engine...
[2026-10-20 02:17:34,046.046 INFO    ] 2026-10-20 02:17:34
[2026-10-20 02:17:34,318.318 INFO    ] 2026-10-20 02:17:34
[2026-10-20 02:17:34,376.376 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:17:34,627.627 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:17:34,637.637 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:17:34,860.860 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:17:34,881.881 INFO    ] time= 20/10/2026 02:17:34
[2026-10-20 02:17:34,901.901 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:17:34,930.930 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:17:35,075.075 INFO    ] No existing commands found in stream
[2026-10-20 02:17:40,107.107 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:17:40,110.110 INFO    ] Waiting 3.06 seconds before fallback handling...
[2026-10-20 02:17:43,678.678 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 02:17:43,681.681 INFO    ] Checking for system updates...
[2026-10-20 02:17:43,717.717 INFO    ] 200
[2026-10-20 02:17:43,719.719 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:17:43,778.778 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:17:43,781.781 INFO    ] No update needed
[2026-10-20 02:17:43,783.783 INFO    ] Checking for camera pi updates...
[2026-10-20 02:17:43,816.816 INFO    ] 200
[2026-10-20 02:17:43,819.819 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:17:43,859.859 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:17:43,909.909 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:17:43,911.911 INFO    ] No camera update needed
[2026-10-20 02:17:43,913.913 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:17:43,915.915 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:17:43,921.921 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:17:43,926.926 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:17:45,965.965 INFO    ] ================================================
[2026-10-20 02:17:45,980.980 INFO    ] Launching Daemon at Tue Oct 20 02:17:45 IST 2026
[2026-10-20 02:17:45,992.992 INFO    ] ================================================
[2026-10-20 02:17:46,650.650 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:17:46
[2026-10-20 02:17:47,330.330 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:17:47,638.638 INFO    ] Initializing speech engine...
[2026-10-20 02:17:47,650.650 INFO    ] 2026-10-20 02:17:47
[2026-10-20 02:17:47,935.935 INFO    ] 2026-10-20 02:17:47
[2026-10-20 02:17:48,045.045 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:17:48,256.256 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:17:48,265.265 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:17:48,465.465 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:17:48,484.484 INFO    ] time= 20/10/2026 02:17:48
[2026-10-20 02:17:48,507.507 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:17:48,520.520 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:17:48,624.624 INFO    ] No existing commands found in stream
[2026-10-20 02:17:53,650.650 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:17:53,653.653 INFO    ] Waiting 2.10 seconds before fallback handling...
[2026-10-20 02:17:56,288.288 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:17:56,291.291 INFO    ] Checking for system updates...
[2026-10-20 02:17:56,328.328 INFO    ] 200
[2026-10-20 02:17:56,331.331 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:17:56,383.383 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:17:56,385.385 INFO    ] No update needed
[2026-10-20 02:17:56,388.388 INFO    ] Checking for camera pi updates...
[2026-10-20 02:17:56,424.424 INFO    ] 200
[2026-10-20 02:17:56,427.427 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:17:56,477.477 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:17:56,525.525 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:17:56,527.527 INFO    ] No camera update needed
[2026-10-20 02:17:56,530.530 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:17:56,532.532 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:17:56,537.537 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:17:56,542.542 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:17:58,582.582 INFO    ] ================================================
[2026-10-20 02:17:58,597.597 INFO    ] Launching Daemon at Tue Oct 20 02:17:58 IST 2026
[2026-10-20 02:17:58,608.608 INFO    ] ================================================
[2026-10-20 02:17:59,269.269 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:17:59
[2026-10-20 02:17:59,944.944 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:18:00,234.234 INFO    ] Initializing speech engine...
[2026-10-20 02:18:00,241.241 INFO    ] 2026-10-20 02:18:00
[2026-10-20 02:18:00,516.516 INFO    ] 2026-10-20 02:18:00
[2026-10-20 02:18:00,554.554 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:18:00,782.782 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:18:00,805.805 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:18:01,015.015 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:18:01,057.057 INFO    ] time= 20/10/2026 02:18:01
[2026-10-20 02:18:01,107.107 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:18:01,156.156 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:18:01,301.301 INFO    ] No existing commands found in stream
[2026-10-20 02:18:06,319.319 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:18:06,322.322 INFO    ] Waiting 2.87 seconds before fallback handling...
[2026-10-20 02:18:09,687.687 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:18:09,690.690 INFO    ] Checking for system updates...
[2026-10-20 02:18:09,725.725 INFO    ] 200
[2026-10-20 02:18:09,728.728 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:18:09,780.780 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:18:09,782.782 INFO    ] No update needed
[2026-10-20 02:18:09,784.784 INFO    ] Checking for camera pi updates...
[2026-10-20 02:18:09,818.818 INFO    ] 200
[2026-10-20 02:18:09,821.821 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:18:09,868.868 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:18:09,916.916 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:18:09,919.919 INFO    ] No camera update needed
[2026-10-20 02:18:09,921.921 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:18:09,924.924 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:18:09,930.930 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:18:09,936.936 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:18:11,977.977 INFO    ] ================================================
[2026-10-20 02:18:11,993.993 INFO    ] Launching Daemon at Tue Oct 20 02:18:11 IST 2026
[2026-10-20 02:18:12,004.004 INFO    ] ================================================
[2026-10-20 02:18:12,572.572 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:18:12
[2026-10-20 02:18:13,153.153 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:18:13,421.421 INFO    ] Initializing speech engine...
[2026-10-20 02:18:13,430.430 INFO    ] 2026-10-20 02:18:13
[2026-10-20 02:18:13,676.676 INFO    ] 2026-10-20 02:18:13
[2026-10-20 02:18:13,709.709 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:18:13,907.907 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:18:13,964.964 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:18:14,172.172 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:18:14,228.228 INFO    ] time= 20/10/2026 02:18:14
[2026-10-20 02:18:14,235.235 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:18:14,253.253 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:18:14,381.381 INFO    ] No existing commands found in stream
[2026-10-20 02:18:19,395.395 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:18:19,397.397 INFO    ] Waiting 1.72 seconds before fallback handling...
[2026-10-20 02:18:21,614.614 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:18:21,617.617 INFO    ] Checking for system updates...
[2026-10-20 02:18:21,652.652 INFO    ] 200
[2026-10-20 02:18:21,655.655 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:18:21,716.716 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:18:21,719.719 INFO    ] No update needed
[2026-10-20 02:18:21,721.721 INFO    ] Checking for camera pi updates...
[2026-10-20 02:18:21,754.754 INFO    ] 200
[2026-10-20 02:18:21,757.757 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:18:21,803.803 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:18:21,946.946 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:18:21,949.949 INFO    ] No camera update needed
[2026-10-20 02:18:21,951.951 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:18:21,954.954 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:18:21,959.959 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:18:21,964.964 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:18:24,004.004 INFO    ] ================================================
[2026-10-20 02:18:24,020.020 INFO    ] Launching Daemon at Tue Oct 20 02:18:24 IST 2026
[2026-10-20 02:18:24,031.031 INFO    ] ================================================
[2026-10-20 02:18:24,680.680 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:18:24
[2026-10-20 02:18:25,348.348 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:18:25,649.649 INFO    ] Initializing speech engine...
[2026-10-20 02:18:25,662.662 INFO    ] 2026-10-20 02:18:25
[2026-10-20 02:18:25,942.942 INFO    ] 2026-10-20 02:18:25
[2026-10-20 02:18:25,986.986 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:18:26,234.234 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:18:26,259.259 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:18:26,461.461 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:18:26,475.475 INFO    ] time= 20/10/2026 02:18:26
[2026-10-20 02:18:26,495.495 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:18:26,524.524 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:18:26,661.661 INFO    ] No existing commands found in stream
[2026-10-20 02:18:31,697.697 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:18:31,701.701 INFO    ] Waiting 1.01 seconds before fallback handling...
[2026-10-20 02:18:33,237.237 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:18:33,240.240 INFO    ] Checking for system updates...
[2026-10-20 02:18:33,281.281 INFO    ] 200
[2026-10-20 02:18:33,284.284 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:18:33,335.335 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:18:33,338.338 INFO    ] No update needed
[2026-10-20 02:18:33,340.340 INFO    ] Checking for camera pi updates...
[2026-10-20 02:18:33,374.374 INFO    ] 200
[2026-10-20 02:18:33,376.376 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:18:33,421.421 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:18:33,475.475 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:18:33,477.477 INFO    ] No camera update needed
[2026-10-20 02:18:33,479.479 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:18:33,482.482 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:18:33,487.487 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:18:33,492.492 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:18:35,533.533 INFO    ] ================================================
[2026-10-20 02:18:35,549.549 INFO    ] Launching Daemon at Tue Oct 20 02:18:35 IST 2026
[2026-10-20 02:18:35,559.559 INFO    ] ================================================
[2026-10-20 02:18:36,131.131 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:18:36
[2026-10-20 02:18:36,736.736 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:18:37,035.035 INFO    ] Initializing speech engine...
[2026-10-20 02:18:37,042.042 INFO    ] 2026-10-20 02:18:37
[2026-10-20 02:18:37,321.321 INFO    ] 2026-10-20 02:18:37
[2026-10-20 02:18:37,379.379 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:18:37,629.629 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:18:37,649.649 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:18:37,865.865 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:18:37,872.872 INFO    ] time= 20/10/2026 02:18:37
[2026-10-20 02:18:37,893.893 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:18:37,920.920 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:18:38,046.046 INFO    ] No existing commands found in stream
[2026-10-20 02:18:43,077.077 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:18:43,081.081 INFO    ] Waiting 1.93 seconds before fallback handling...
[2026-10-20 02:18:45,499.499 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:18:45,502.502 INFO    ] Checking for system updates...
[2026-10-20 02:18:45,538.538 INFO    ] 200
[2026-10-20 02:18:45,541.541 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:18:45,600.600 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:18:45,603.603 INFO    ] No update needed
[2026-10-20 02:18:45,606.606 INFO    ] Checking for camera pi updates...
[2026-10-20 02:18:45,640.640 INFO    ] 200
[2026-10-20 02:18:45,643.643 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:18:45,688.688 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:18:45,736.736 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:18:45,739.739 INFO    ] No camera update needed
[2026-10-20 02:18:45,741.741 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:18:45,743.743 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:18:45,749.749 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:18:45,754.754 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:18:47,793.793 INFO    ] ================================================
[2026-10-20 02:18:47,808.808 INFO    ] Launching Daemon at Tue Oct 20 02:18:47 IST 2026
[2026-10-20 02:18:47,820.820 INFO    ] ================================================
[2026-10-20 02:18:48,462.462 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:18:48
[2026-10-20 02:18:49,122.122 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:18:49,423.423 INFO    ] Initializing speech engine...
[2026-10-20 02:18:49,436.436 INFO    ] 2026-10-20 02:18:49
[2026-10-20 02:18:49,704.704 INFO    ] 2026-10-20 02:18:49
[2026-10-20 02:18:49,760.760 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:18:50,047.047 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:18:50,056.056 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:18:50,249.249 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:18:50,266.266 INFO    ] time= 20/10/2026 02:18:50
[2026-10-20 02:18:50,275.275 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:18:50,301.301 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:18:50,423.423 INFO    ] No existing commands found in stream
[2026-10-20 02:18:55,454.454 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:18:55,457.457 INFO    ] Waiting 0.26 seconds before fallback handling...
[2026-10-20 02:18:56,249.249 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:18:56,252.252 INFO    ] Checking for system updates...
[2026-10-20 02:18:56,290.290 INFO    ] 200
[2026-10-20 02:18:56,293.293 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:18:56,351.351 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:18:56,354.354 INFO    ] No update needed
[2026-10-20 02:18:56,357.357 INFO    ] Checking for camera pi updates...
[2026-10-20 02:18:56,394.394 INFO    ] 200
[2026-10-20 02:18:56,397.397 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:18:56,439.439 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:18:56,482.482 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:18:56,484.484 INFO    ] No camera update needed
[2026-10-20 02:18:56,487.487 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:18:56,490.490 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:18:56,496.496 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:18:56,502.502 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:18:58,542.542 INFO    ] ================================================
[2026-10-20 02:18:58,557.557 INFO    ] Launching Daemon at Tue Oct 20 02:18:58 IST 2026
[2026-10-20 02:18:58,567.567 INFO    ] ================================================
[2026-10-20 02:18:59,138.138 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:18:59
[2026-10-20 02:18:59,727.727 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:19:00,003.003 INFO    ] Initializing speech engine...
[2026-10-20 02:19:00,017.017 INFO    ] 2026-10-20 02:19:00
[2026-10-20 02:19:00,282.282 INFO    ] 2026-10-20 02:19:00
[2026-10-20 02:19:00,319.319 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:19:00,536.536 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:19:00,544.544 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:19:00,761.761 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:19:00,788.788 INFO    ] time= 20/10/2026 02:19:00
[2026-10-20 02:19:00,843.843 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:19:00,897.897 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:19:01,048.048 INFO    ] No existing commands found in stream
[2026-10-20 02:19:06,073.073 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:19:06,075.075 INFO    ] Waiting 3.68 seconds before fallback handling...
[2026-10-20 02:19:10,244.244 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:19:10,246.246 INFO    ] Checking for system updates...
[2026-10-20 02:19:10,282.282 INFO    ] 200
[2026-10-20 02:19:10,285.285 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:19:10,344.344 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:19:10,346.346 INFO    ] No update needed
[2026-10-20 02:19:10,349.349 INFO    ] Checking for camera pi updates...
[2026-10-20 02:19:10,387.387 INFO    ] 200
[2026-10-20 02:19:10,390.390 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:19:10,431.431 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:19:10,486.486 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:19:10,489.489 INFO    ] No camera update needed
[2026-10-20 02:19:10,492.492 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:19:10,495.495 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:19:10,501.501 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:19:10,506.506 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:19:12,548.548 INFO    ] ================================================
[2026-10-20 02:19:12,563.563 INFO    ] Launching Daemon at Tue Oct 20 02:19:12 IST 2026
[2026-10-20 02:19:12,574.574 INFO    ] ================================================
[2026-10-20 02:19:13,138.138 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:19:13
[2026-10-20 02:19:13,721.721 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:19:14,007.007 INFO    ] Initializing speech engine...
[2026-10-20 02:19:14,019.019 INFO    ] 2026-10-20 02:19:14
[2026-10-20 02:19:14,290.290 INFO    ] 2026-10-20 02:19:14
[2026-10-20 02:19:14,345.345 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:19:14,574.574 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:19:14,580.580 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:19:14,795.795 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:19:14,839.839 INFO    ] time= 20/10/2026 02:19:14
[2026-10-20 02:19:14,857.857 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:19:14,875.875 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:19:15,008.008 INFO    ] No existing commands found in stream
[2026-10-20 02:19:20,034.034 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:19:20,037.037 INFO    ] Waiting 3.90 seconds before fallback handling...
[2026-10-20 02:19:24,470.470 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:19:24,473.473 INFO    ] Checking for system updates...
[2026-10-20 02:19:24,510.510 INFO    ] 200
[2026-10-20 02:19:24,513.513 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:19:24,567.567 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:19:24,569.569 INFO    ] No update needed
[2026-10-20 02:19:24,572.572 INFO    ] Checking for camera pi updates...
[2026-10-20 02:19:24,607.607 INFO    ] 200
[2026-10-20 02:19:24,610.610 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:19:24,658.658 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:19:24,715.715 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:19:24,718.718 INFO    ] No camera update needed
[2026-10-20 02:19:24,721.721 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:19:24,723.723 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:19:24,729.729 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:19:24,735.735 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:19:26,776.776 INFO    ] ================================================
[2026-10-20 02:19:26,791.791 INFO    ] Launching Daemon at Tue Oct 20 02:19:26 IST 2026
[2026-10-20 02:19:26,801.801 INFO    ] ================================================
[2026-10-20 02:19:27,437.437 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:19:27
[2026-10-20 02:19:28,109.109 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:19:28,415.415 INFO    ] Initializing speech engine...
[2026-10-20 02:19:28,427.427 INFO    ] 2026-10-20 02:19:28
[2026-10-20 02:19:28,710.710 INFO    ] 2026-10-20 02:19:28
[2026-10-20 02:19:28,821.821 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:19:29,034.034 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:19:29,041.041 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:19:29,233.233 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:19:29,240.240 INFO    ] time= 20/10/2026 02:19:29
[2026-10-20 02:19:29,262.262 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:19:29,288.288 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:19:29,413.413 INFO    ] No existing commands found in stream
[2026-10-20 02:19:34,444.444 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:19:34,447.447 INFO    ] Waiting 3.08 seconds before fallback handling...
[2026-10-20 02:19:38,079.079 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:19:38,082.082 INFO    ] Checking for system updates...
[2026-10-20 02:19:38,119.119 INFO    ] 200
[2026-10-20 02:19:38,122.122 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:19:38,181.181 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:19:38,184.184 INFO    ] No update needed
[2026-10-20 02:19:38,187.187 INFO    ] Checking for camera pi updates...
[2026-10-20 02:19:38,223.223 INFO    ] 200
[2026-10-20 02:19:38,226.226 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:19:38,274.274 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:19:38,322.322 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:19:38,325.325 INFO    ] No camera update needed
[2026-10-20 02:19:38,327.327 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:19:38,329.329 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:19:38,335.335 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:19:38,340.340 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:19:40,379.379 INFO    ] ================================================
[2026-10-20 02:19:40,394.394 INFO    ] Launching Daemon at Tue Oct 20 02:19:40 IST 2026
[2026-10-20 02:19:40,405.405 INFO    ] ================================================
[2026-10-20 02:19:40,971.971 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:19:40
[2026-10-20 02:19:41,556.556 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:19:41,824.824 INFO    ] Initializing speech engine...
[2026-10-20 02:19:41,834.834 INFO    ] 2026-10-20 02:19:41
[2026-10-20 02:19:42,106.106 INFO    ] 2026-10-20 02:19:42
[2026-10-20 02:19:42,143.143 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:19:42,354.354 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:19:42,372.372 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:19:42,520.520 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:19:42,529.529 INFO    ] time= 20/10/2026 02:19:42
[2026-10-20 02:19:42,536.536 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:19:42,550.550 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:19:42,707.707 INFO    ] No existing commands found in stream
[2026-10-20 02:19:47,732.732 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:19:47,735.735 INFO    ] Waiting 2.71 seconds before fallback handling...
[2026-10-20 02:19:50,951.951 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 02:19:50,954.954 INFO    ] Checking for system updates...
[2026-10-20 02:19:50,989.989 INFO    ] 200
[2026-10-20 02:19:50,991.991 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:19:51,046.046 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:19:51,049.049 INFO    ] No update needed
[2026-10-20 02:19:51,051.051 INFO    ] Checking for camera pi updates...
[2026-10-20 02:19:51,084.084 INFO    ] 200
[2026-10-20 02:19:51,087.087 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:19:51,127.127 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:19:51,184.184 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:19:51,186.186 INFO    ] No camera update needed
[2026-10-20 02:19:51,189.189 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:19:51,191.191 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:19:51,197.197 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:19:51,201.201 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:19:53,240.240 INFO    ] ================================================
[2026-10-20 02:19:53,255.255 INFO    ] Launching Daemon at Tue Oct 20 02:19:53 IST 2026
[2026-10-20 02:19:53,266.266 INFO    ] ================================================
[2026-10-20 02:19:53,920.920 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:19:53
[2026-10-20 02:19:54,596.596 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:19:54,903.903 INFO    ] Initializing speech engine...
[2026-10-20 02:19:54,917.917 INFO    ] 2026-10-20 02:19:54
[2026-10-20 02:19:55,203.203 INFO    ] 2026-10-20 02:19:55
[2026-10-20 02:19:55,314.314 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:19:55,529.529 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:19:55,538.538 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:19:55,733.733 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:19:55,751.751 INFO    ] time= 20/10/2026 02:19:55
[2026-10-20 02:19:55,780.780 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:19:55,788.788 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:19:55,906.906 INFO    ] No existing commands found in stream
[2026-10-20 02:20:00,938.938 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:20:00,941.941 INFO    ] Waiting 1.92 seconds before fallback handling...
[2026-10-20 02:20:03,852.852 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:20:03,857.857 INFO    ] Checking for system updates...
[2026-10-20 02:20:03,894.894 INFO    ] 200
[2026-10-20 02:20:03,898.898 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:20:03,967.967 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:20:03,970.970 INFO    ] No update needed
[2026-10-20 02:20:03,973.973 INFO    ] Checking for camera pi updates...
[2026-10-20 02:20:04,017.017 INFO    ] 200
[2026-10-20 02:20:04,020.020 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:20:04,071.071 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:20:04,132.132 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:20:04,134.134 INFO    ] No camera update needed
[2026-10-20 02:20:04,137.137 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:20:04,140.140 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:20:04,146.146 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:20:04,152.152 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:20:06,192.192 INFO    ] ================================================
[2026-10-20 02:20:06,208.208 INFO    ] Launching Daemon at Tue Oct 20 02:20:06 IST 2026
[2026-10-20 02:20:06,218.218 INFO    ] ================================================
[2026-10-20 02:20:06,798.798 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:20:06
[2026-10-20 02:20:07,400.400 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:20:07,677.677 INFO    ] Initializing speech engine...
[2026-10-20 02:20:07,684.684 INFO    ] 2026-10-20 02:20:07
[2026-10-20 02:20:07,945.945 INFO    ] 2026-10-20 02:20:07
[2026-10-20 02:20:07,999.999 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:20:08,221.221 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:20:08,230.230 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:20:08,370.370 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:20:08,424.424 INFO    ] time= 20/10/2026 02:20:08
[2026-10-20 02:20:08,479.479 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:20:08,496.496 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:20:08,644.644 INFO    ] No existing commands found in stream
[2026-10-20 02:20:13,663.663 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:20:13,666.666 INFO    ] Waiting 3.05 seconds before fallback handling...
[2026-10-20 02:20:17,248.248 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:20:17,250.250 INFO    ] Checking for system updates...
[2026-10-20 02:20:17,290.290 INFO    ] 200
[2026-10-20 02:20:17,292.292 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:20:17,344.344 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:20:17,346.346 INFO    ] No update needed
[2026-10-20 02:20:17,349.349 INFO    ] Checking for camera pi updates...
[2026-10-20 02:20:17,386.386 INFO    ] 200
[2026-10-20 02:20:17,389.389 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:20:17,428.428 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:20:17,473.473 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:20:17,476.476 INFO    ] No camera update needed
[2026-10-20 02:20:17,478.478 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:20:17,480.480 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:20:17,486.486 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:20:17,491.491 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:20:19,532.532 INFO    ] ================================================
[2026-10-20 02:20:19,547.547 INFO    ] Launching Daemon at Tue Oct 20 02:20:19 IST 2026
[2026-10-20 02:20:19,557.557 INFO    ] ================================================
[2026-10-20 02:20:20,216.216 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:20:20
[2026-10-20 02:20:20,892.892 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:20:21,203.203 INFO    ] Initializing speech engine...
[2026-10-20 02:20:21,216.216 INFO    ] 2026-10-20 02:20:21
[2026-10-20 02:20:21,501.501 INFO    ] 2026-10-20 02:20:21
[2026-10-20 02:20:21,547.547 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:20:21,838.838 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:20:21,844.844 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:20:22,043.043 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:20:22,070.070 INFO    ] time= 20/10/2026 02:20:22
[2026-10-20 02:20:22,098.098 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:20:22,108.108 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:20:22,240.240 INFO    ] No existing commands found in stream
[2026-10-20 02:20:27,271.271 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:20:27,275.275 INFO    ] Waiting 3.38 seconds before fallback handling...
[2026-10-20 02:20:31,199.199 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:20:31,202.202 INFO    ] Checking for system updates...
[2026-10-20 02:20:31,239.239 INFO    ] 200
[2026-10-20 02:20:31,242.242 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:20:31,302.302 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:20:31,304.304 INFO    ] No update needed
[2026-10-20 02:20:31,306.306 INFO    ] Checking for camera pi updates...
[2026-10-20 02:20:31,340.340 INFO    ] 200
[2026-10-20 02:20:31,342.342 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:20:31,383.383 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:20:31,525.525 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:20:31,528.528 INFO    ] No camera update needed
[2026-10-20 02:20:31,531.531 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:20:31,533.533 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:20:31,538.538 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:20:31,543.543 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:20:33,585.585 INFO    ] ================================================
[2026-10-20 02:20:33,600.600 INFO    ] Launching Daemon at Tue Oct 20 02:20:33 IST 2026
[2026-10-20 02:20:33,610.610 INFO    ] ================================================
[2026-10-20 02:20:34,264.264 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:20:34
[2026-10-20 02:20:34,939.939 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:20:35,247.247 INFO    ] Initializing speech engine...
[2026-10-20 02:20:35,255.255 INFO    ] 2026-10-20 02:20:35
[2026-10-20 02:20:35,532.532 INFO    ] 2026-10-20 02:20:35
[2026-10-20 02:20:35,589.589 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:20:35,883.883 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:20:35,888.888 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:20:36,091.091 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:20:36,108.108 INFO    ] time= 20/10/2026 02:20:36
[2026-10-20 02:20:36,118.118 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:20:36,148.148 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:20:36,281.281 INFO    ] No existing commands found in stream
[2026-10-20 02:20:41,312.312 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:20:41,315.315 INFO    ] Waiting 1.35 seconds before fallback handling...
[2026-10-20 02:20:43,180.180 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 02:20:43,183.183 INFO    ] Checking for system updates...
[2026-10-20 02:20:43,223.223 INFO    ] 200
[2026-10-20 02:20:43,226.226 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:20:43,282.282 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:20:43,285.285 INFO    ] No update needed
[2026-10-20 02:20:43,287.287 INFO    ] Checking for camera pi updates...
[2026-10-20 02:20:43,325.325 INFO    ] 200
[2026-10-20 02:20:43,328.328 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:20:43,375.375 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:20:43,424.424 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:20:43,427.427 INFO    ] No camera update needed
[2026-10-20 02:20:43,430.430 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:20:43,433.433 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:20:43,439.439 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:20:43,445.445 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:20:45,486.486 INFO    ] ================================================
[2026-10-20 02:20:45,502.502 INFO    ] Launching Daemon at Tue Oct 20 02:20:45 IST 2026
[2026-10-20 02:20:45,512.512 INFO    ] ================================================
[2026-10-20 02:20:46,165.165 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:20:46
[2026-10-20 02:20:46,838.838 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:20:47,143.143 INFO    ] Initializing speech engine...
[2026-10-20 02:20:47,160.160 INFO    ] 2026-10-20 02:20:47
[2026-10-20 02:20:47,450.450 INFO    ] 2026-10-20 02:20:47
[2026-10-20 02:20:47,563.563 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:20:47,782.782 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:20:47,787.787 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:20:47,987.987 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:20:48,005.005 INFO    ] time= 20/10/2026 02:20:47
[2026-10-20 02:20:48,015.015 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:20:48,044.044 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:20:48,171.171 INFO    ] No existing commands found in stream
[2026-10-20 02:20:53,192.192 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:20:53,195.195 INFO    ] Waiting 2.03 seconds before fallback handling...
[2026-10-20 02:20:55,750.750 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:20:55,753.753 INFO    ] Checking for system updates...
[2026-10-20 02:20:55,789.789 INFO    ] 200
[2026-10-20 02:20:55,792.792 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:20:55,852.852 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:20:55,855.855 INFO    ] No update needed
[2026-10-20 02:20:55,857.857 INFO    ] Checking for camera pi updates...
[2026-10-20 02:20:55,895.895 INFO    ] 200
[2026-10-20 02:20:55,897.897 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:20:55,943.943 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:20:55,987.987 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:20:55,990.990 INFO    ] No camera update needed
[2026-10-20 02:20:55,993.993 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:20:55,995.995 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:20:56,000.000 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:20:56,005.005 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:20:58,047.047 INFO    ] ================================================
[2026-10-20 02:20:58,063.063 INFO    ] Launching Daemon at Tue Oct 20 02:20:58 IST 2026
[2026-10-20 02:20:58,074.074 INFO    ] ================================================
[2026-10-20 02:20:58,738.738 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:20:58
[2026-10-20 02:20:59,426.426 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:20:59,739.739 INFO    ] Initializing speech engine...
[2026-10-20 02:20:59,754.754 INFO    ] 2026-10-20 02:20:59
[2026-10-20 02:21:00,071.071 INFO    ] 2026-10-20 02:21:00
[2026-10-20 02:21:00,160.160 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:21:00,422.422 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:21:00,453.453 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:21:00,632.632 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:21:00,644.644 INFO    ] time= 20/10/2026 02:21:00
[2026-10-20 02:21:00,652.652 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:21:00,709.709 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:21:00,856.856 INFO    ] No existing commands found in stream
[2026-10-20 02:21:05,867.867 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:21:05,871.871 INFO    ] Waiting 1.93 seconds before fallback handling...
[2026-10-20 02:21:08,298.298 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:21:08,301.301 INFO    ] Checking for system updates...
[2026-10-20 02:21:08,342.342 INFO    ] 200
[2026-10-20 02:21:08,345.345 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:21:08,398.398 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:21:08,401.401 INFO    ] No update needed
[2026-10-20 02:21:08,404.404 INFO    ] Checking for camera pi updates...
[2026-10-20 02:21:08,443.443 INFO    ] 200
[2026-10-20 02:21:08,446.446 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:21:08,486.486 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:21:08,539.539 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:21:08,541.541 INFO    ] No camera update needed
[2026-10-20 02:21:08,544.544 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:21:08,546.546 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:21:08,551.551 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:21:08,556.556 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:21:10,601.601 INFO    ] ================================================
[2026-10-20 02:21:10,617.617 INFO    ] Launching Daemon at Tue Oct 20 02:21:10 IST 2026
[2026-10-20 02:21:10,629.629 INFO    ] ================================================
[2026-10-20 02:21:11,314.314 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:21:11
[2026-10-20 02:21:11,982.982 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:21:12,284.284 INFO    ] Initializing speech engine...
[2026-10-20 02:21:12,290.290 INFO    ] 2026-10-20 02:21:12
[2026-10-20 02:21:12,564.564 INFO    ] 2026-10-20 02:21:12
[2026-10-20 02:21:12,631.631 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:21:12,867.867 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:21:12,875.875 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:21:13,116.116 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:21:13,147.147 INFO    ] time= 20/10/2026 02:21:13
[2026-10-20 02:21:13,164.164 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:21:13,174.174 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:21:13,315.315 INFO    ] No existing commands found in stream
[2026-10-20 02:21:18,353.353 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:21:18,356.356 INFO    ] Waiting 1.93 seconds before fallback handling...
[2026-10-20 02:21:20,805.805 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:21:20,808.808 INFO    ] Checking for system updates...
[2026-10-20 02:21:20,844.844 INFO    ] 200
[2026-10-20 02:21:20,847.847 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:21:20,900.900 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:21:20,903.903 INFO    ] No update needed
[2026-10-20 02:21:20,906.906 INFO    ] Checking for camera pi updates...
[2026-10-20 02:21:20,941.941 INFO    ] 200
[2026-10-20 02:21:20,944.944 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:21:20,985.985 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:21:21,030.030 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:21:21,032.032 INFO    ] No camera update needed
[2026-10-20 02:21:21,035.035 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:21:21,037.037 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:21:21,043.043 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:21:21,047.047 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:21:23,087.087 INFO    ] ================================================
[2026-10-20 02:21:23,102.102 INFO    ] Launching Daemon at Tue Oct 20 02:21:23 IST 2026
[2026-10-20 02:21:23,112.112 INFO    ] ================================================
[2026-10-20 02:21:23,767.767 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:21:23
[2026-10-20 02:21:24,436.436 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:21:24,708.708 INFO    ] Initializing speech engine...
[2026-10-20 02:21:24,723.723 INFO    ] 2026-10-20 02:21:24
[2026-10-20 02:21:24,995.995 INFO    ] 2026-10-20 02:21:24
[2026-10-20 02:21:25,029.029 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:21:25,231.231 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:21:25,245.245 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:21:25,415.415 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:21:25,463.463 INFO    ] time= 20/10/2026 02:21:25
[2026-10-20 02:21:25,493.493 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:21:25,518.518 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:21:25,638.638 INFO    ] No existing commands found in stream
[2026-10-20 02:21:30,649.649 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:21:30,652.652 INFO    ] Waiting 0.95 seconds before fallback handling...
[2026-10-20 02:21:32,099.099 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:21:32,101.101 INFO    ] Checking for system updates...
[2026-10-20 02:21:32,147.147 INFO    ] 200
[2026-10-20 02:21:32,150.150 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:21:32,214.214 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:21:32,217.217 INFO    ] No update needed
[2026-10-20 02:21:32,220.220 INFO    ] Checking for camera pi updates...
[2026-10-20 02:21:32,260.260 INFO    ] 200
[2026-10-20 02:21:32,263.263 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:21:32,306.306 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:21:32,348.348 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:21:32,358.358 INFO    ] No camera update needed
[2026-10-20 02:21:32,361.361 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:21:32,364.364 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:21:32,370.370 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:21:32,375.375 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:21:34,416.416 INFO    ] ================================================
[2026-10-20 02:21:34,431.431 INFO    ] Launching Daemon at Tue Oct 20 02:21:34 IST 2026
[2026-10-20 02:21:34,442.442 INFO    ] ================================================
[2026-10-20 02:21:35,031.031 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:21:35
[2026-10-20 02:21:35,624.624 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:21:35,892.892 INFO    ] Initializing speech engine...
[2026-10-20 02:21:35,901.901 INFO    ] 2026-10-20 02:21:35
[2026-10-20 02:21:36,146.146 INFO    ] 2026-10-20 02:21:36
[2026-10-20 02:21:36,182.182 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:21:36,433.433 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:21:36,443.443 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:21:36,653.653 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:21:36,700.700 INFO    ] time= 20/10/2026 02:21:36
[2026-10-20 02:21:36,706.706 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:21:36,724.724 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:21:36,867.867 INFO    ] No existing commands found in stream
[2026-10-20 02:21:41,899.899 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:21:41,902.902 INFO    ] Waiting 3.20 seconds before fallback handling...
[2026-10-20 02:21:45,616.616 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:21:45,619.619 INFO    ] Checking for system updates...
[2026-10-20 02:21:45,653.653 INFO    ] 200
[2026-10-20 02:21:45,656.656 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:21:45,707.707 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:21:45,710.710 INFO    ] No update needed
[2026-10-20 02:21:45,712.712 INFO    ] Checking for camera pi updates...
[2026-10-20 02:21:45,746.746 INFO    ] 200
[2026-10-20 02:21:45,749.749 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:21:45,793.793 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:21:45,840.840 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:21:45,842.842 INFO    ] No camera update needed
[2026-10-20 02:21:45,844.844 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:21:45,847.847 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:21:45,852.852 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:21:45,857.857 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:21:47,898.898 INFO    ] ================================================
[2026-10-20 02:21:47,913.913 INFO    ] Launching Daemon at Tue Oct 20 02:21:47 IST 2026
[2026-10-20 02:21:47,924.924 INFO    ] ================================================
[2026-10-20 02:21:48,489.489 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:21:48
[2026-10-20 02:21:49,073.073 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:21:49,322.322 INFO    ] Initializing speech engine...
[2026-10-20 02:21:49,345.345 INFO    ] 2026-10-20 02:21:49
[2026-10-20 02:21:49,595.595 INFO    ] 2026-10-20 02:21:49
[2026-10-20 02:21:49,630.630 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:21:49,881.881 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:21:49,890.890 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:21:50,091.091 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:21:50,140.140 INFO    ] time= 20/10/2026 02:21:50
[2026-10-20 02:21:50,152.152 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:21:50,166.166 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:21:50,301.301 INFO    ] No existing commands found in stream
[2026-10-20 02:21:55,315.315 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:21:55,318.318 INFO    ] Waiting 0.40 seconds before fallback handling...
[2026-10-20 02:21:56,306.306 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:21:56,309.309 INFO    ] Checking for system updates...
[2026-10-20 02:21:56,345.345 INFO    ] 200
[2026-10-20 02:21:56,348.348 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:21:56,402.402 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:21:56,404.404 INFO    ] No update needed
[2026-10-20 02:21:56,407.407 INFO    ] Checking for camera pi updates...
[2026-10-20 02:21:56,441.441 INFO    ] 200
[2026-10-20 02:21:56,443.443 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:21:56,484.484 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:21:56,526.526 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:21:56,529.529 INFO    ] No camera update needed
[2026-10-20 02:21:56,532.532 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:21:56,534.534 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:21:56,541.541 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:21:56,546.546 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:21:58,587.587 INFO    ] ================================================
[2026-10-20 02:21:58,604.604 INFO    ] Launching Daemon at Tue Oct 20 02:21:58 IST 2026
[2026-10-20 02:21:58,615.615 INFO    ] ================================================
[2026-10-20 02:21:59,265.265 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:21:59
[2026-10-20 02:21:59,935.935 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:22:00,237.237 INFO    ] Initializing speech engine...
[2026-10-20 02:22:00,244.244 INFO    ] 2026-10-20 02:22:00
[2026-10-20 02:22:00,519.519 INFO    ] 2026-10-20 02:22:00
[2026-10-20 02:22:00,592.592 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:22:00,857.857 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:22:00,866.866 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:22:01,063.063 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:22:01,070.070 INFO    ] time= 20/10/2026 02:22:01
[2026-10-20 02:22:01,088.088 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:22:01,100.100 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:22:01,231.231 INFO    ] No existing commands found in stream
[2026-10-20 02:22:06,261.261 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:22:06,264.264 INFO    ] Waiting 3.99 seconds before fallback handling...
[2026-10-20 02:22:10,827.827 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:22:10,830.830 INFO    ] Checking for system updates...
[2026-10-20 02:22:10,872.872 INFO    ] 200
[2026-10-20 02:22:10,874.874 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:22:10,939.939 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:22:10,941.941 INFO    ] No update needed
[2026-10-20 02:22:10,944.944 INFO    ] Checking for camera pi updates...
[2026-10-20 02:22:10,978.978 INFO    ] 200
[2026-10-20 02:22:10,982.982 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:22:11,023.023 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:22:11,069.069 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:22:11,072.072 INFO    ] No camera update needed
[2026-10-20 02:22:11,074.074 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:22:11,077.077 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:22:11,084.084 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:22:11,090.090 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:22:13,132.132 INFO    ] ================================================
[2026-10-20 02:22:13,155.155 INFO    ] Launching Daemon at Tue Oct 20 02:22:13 IST 2026
[2026-10-20 02:22:13,166.166 INFO    ] ================================================
[2026-10-20 02:22:13,732.732 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:22:13
[2026-10-20 02:22:14,315.315 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:22:14,582.582 INFO    ] Initializing speech engine...
[2026-10-20 02:22:14,591.591 INFO    ] 2026-10-20 02:22:14
[2026-10-20 02:22:14,838.838 INFO    ] 2026-10-20 02:22:14
[2026-10-20 02:22:14,873.873 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:22:15,126.126 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:22:15,135.135 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:22:15,270.270 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:22:15,325.325 INFO    ] time= 20/10/2026 02:22:15
[2026-10-20 02:22:15,374.374 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:22:15,400.400 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:22:15,533.533 INFO    ] No existing commands found in stream
[2026-10-20 02:22:20,555.555 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:22:20,558.558 INFO    ] Waiting 1.82 seconds before fallback handling...
[2026-10-20 02:22:23,032.032 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:22:23,034.034 INFO    ] Checking for system updates...
[2026-10-20 02:22:23,073.073 INFO    ] 200
[2026-10-20 02:22:23,076.076 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:22:23,127.127 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:22:23,129.129 INFO    ] No update needed
[2026-10-20 02:22:23,132.132 INFO    ] Checking for camera pi updates...
[2026-10-20 02:22:23,164.164 INFO    ] 200
[2026-10-20 02:22:23,167.167 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:22:23,206.206 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:22:23,281.281 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:22:23,283.283 INFO    ] No camera update needed
[2026-10-20 02:22:23,285.285 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:22:23,288.288 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:22:23,293.293 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:22:23,298.298 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:22:25,339.339 INFO    ] ================================================
[2026-10-20 02:22:25,354.354 INFO    ] Launching Daemon at Tue Oct 20 02:22:25 IST 2026
[2026-10-20 02:22:25,366.366 INFO    ] ================================================
[2026-10-20 02:22:25,961.961 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:22:25
[2026-10-20 02:22:26,545.545 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:22:26,813.813 INFO    ] Initializing speech engine...
[2026-10-20 02:22:26,821.821 INFO    ] 2026-10-20 02:22:26
[2026-10-20 02:22:27,075.075 INFO    ] 2026-10-20 02:22:27
[2026-10-20 02:22:27,111.111 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:22:27,482.482 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:22:27,524.524 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:22:27,731.731 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:22:27,768.768 INFO    ] time= 20/10/2026 02:22:27
[2026-10-20 02:22:27,831.831 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:22:27,873.873 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:22:28,025.025 INFO    ] No existing commands found in stream
[2026-10-20 02:22:33,038.038 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:22:33,041.041 INFO    ] Waiting 1.82 seconds before fallback handling...
[2026-10-20 02:22:35,355.355 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:22:35,357.357 INFO    ] Checking for system updates...
[2026-10-20 02:22:35,393.393 INFO    ] 200
[2026-10-20 02:22:35,395.395 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:22:35,448.448 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:22:35,450.450 INFO    ] No update needed
[2026-10-20 02:22:35,453.453 INFO    ] Checking for camera pi updates...
[2026-10-20 02:22:35,487.487 INFO    ] 200
[2026-10-20 02:22:35,490.490 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:22:35,530.530 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:22:35,658.658 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:22:35,660.660 INFO    ] No camera update needed
[2026-10-20 02:22:35,663.663 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:22:35,665.665 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:22:35,670.670 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:22:35,675.675 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:22:37,717.717 INFO    ] ================================================
[2026-10-20 02:22:37,732.732 INFO    ] Launching Daemon at Tue Oct 20 02:22:37 IST 2026
[2026-10-20 02:22:37,743.743 INFO    ] ================================================
[2026-10-20 02:22:38,399.399 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:22:38
[2026-10-20 02:22:39,073.073 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:22:39,388.388 INFO    ] Initializing speech engine...
[2026-10-20 02:22:39,394.394 INFO    ] 2026-10-20 02:22:39
[2026-10-20 02:22:39,676.676 INFO    ] 2026-10-20 02:22:39
[2026-10-20 02:22:39,722.722 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:22:39,978.978 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:22:39,997.997 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:22:40,217.217 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:22:40,236.236 INFO    ] time= 20/10/2026 02:22:40
[2026-10-20 02:22:40,246.246 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:22:40,273.273 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:22:40,403.403 INFO    ] No existing commands found in stream
[2026-10-20 02:22:45,434.434 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:22:45,438.438 INFO    ] Waiting 0.87 seconds before fallback handling...
[2026-10-20 02:22:46,848.848 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:22:46,851.851 INFO    ] Checking for system updates...
[2026-10-20 02:22:46,888.888 INFO    ] 200
[2026-10-20 02:22:46,891.891 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:22:46,944.944 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:22:46,947.947 INFO    ] No update needed
[2026-10-20 02:22:46,950.950 INFO    ] Checking for camera pi updates...
[2026-10-20 02:22:46,988.988 INFO    ] 200
[2026-10-20 02:22:46,991.991 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:22:47,032.032 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:22:47,085.085 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:22:47,088.088 INFO    ] No camera update needed
[2026-10-20 02:22:47,091.091 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:22:47,094.094 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:22:47,100.100 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:22:47,106.106 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:22:49,147.147 INFO    ] ================================================
[2026-10-20 02:22:49,163.163 INFO    ] Launching Daemon at Tue Oct 20 02:22:49 IST 2026
[2026-10-20 02:22:49,174.174 INFO    ] ================================================
[2026-10-20 02:22:49,740.740 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:22:49
[2026-10-20 02:22:50,326.326 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:22:50,596.596 INFO    ] Initializing speech engine...
[2026-10-20 02:22:50,614.614 INFO    ] 2026-10-20 02:22:50
[2026-10-20 02:22:50,886.886 INFO    ] 2026-10-20 02:22:50
[2026-10-20 02:22:50,922.922 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:22:51,147.147 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:22:51,191.191 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:22:51,377.377 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:22:51,384.384 INFO    ] time= 20/10/2026 02:22:51
[2026-10-20 02:22:51,443.443 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:22:51,487.487 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:22:51,595.595 INFO    ] No existing commands found in stream
[2026-10-20 02:22:56,606.606 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:22:56,609.609 INFO    ] Waiting 3.54 seconds before fallback handling...
[2026-10-20 02:23:00,668.668 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 02:23:00,671.671 INFO    ] Checking for system updates...
[2026-10-20 02:23:00,706.706 INFO    ] 200
[2026-10-20 02:23:00,709.709 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:23:00,763.763 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:23:00,765.765 INFO    ] No update needed
[2026-10-20 02:23:00,767.767 INFO    ] Checking for camera pi updates...
[2026-10-20 02:23:00,804.804 INFO    ] 200
[2026-10-20 02:23:00,806.806 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:23:00,846.846 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:23:00,892.892 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:23:00,894.894 INFO    ] No camera update needed
[2026-10-20 02:23:00,897.897 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:23:00,899.899 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:23:00,904.904 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:23:00,909.909 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:23:02,951.951 INFO    ] ================================================
[2026-10-20 02:23:02,967.967 INFO    ] Launching Daemon at Tue Oct 20 02:23:02 IST 2026
[2026-10-20 02:23:02,981.981 INFO    ] ================================================
[2026-10-20 02:23:03,609.609 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:23:03
[2026-10-20 02:23:04,207.207 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:23:04,467.467 INFO    ] Initializing speech engine...
[2026-10-20 02:23:04,476.476 INFO    ] 2026-10-20 02:23:04
[2026-10-20 02:23:04,771.771 INFO    ] 2026-10-20 02:23:04
[2026-10-20 02:23:04,806.806 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:23:05,007.007 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:23:05,020.020 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:23:05,187.187 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:23:05,195.195 INFO    ] time= 20/10/2026 02:23:05
[2026-10-20 02:23:05,247.247 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:23:05,271.271 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:23:05,402.402 INFO    ] No existing commands found in stream
[2026-10-20 02:23:10,426.426 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:23:10,429.429 INFO    ] Waiting 0.24 seconds before fallback handling...
[2026-10-20 02:23:11,167.167 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:23:11,170.170 INFO    ] Checking for system updates...
[2026-10-20 02:23:11,205.205 INFO    ] 200
[2026-10-20 02:23:11,208.208 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:23:11,260.260 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:23:11,262.262 INFO    ] No update needed
[2026-10-20 02:23:11,265.265 INFO    ] Checking for camera pi updates...
[2026-10-20 02:23:11,299.299 INFO    ] 200
[2026-10-20 02:23:11,301.301 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:23:11,346.346 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:23:11,392.392 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:23:11,394.394 INFO    ] No camera update needed
[2026-10-20 02:23:11,397.397 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:23:11,399.399 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:23:11,404.404 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:23:11,409.409 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:23:13,452.452 INFO    ] ================================================
[2026-10-20 02:23:13,467.467 INFO    ] Launching Daemon at Tue Oct 20 02:23:13 IST 2026
[2026-10-20 02:23:13,479.479 INFO    ] ================================================
[2026-10-20 02:23:14,053.053 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:23:14
[2026-10-20 02:23:14,654.654 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:23:14,920.920 INFO    ] Initializing speech engine...
[2026-10-20 02:23:14,945.945 INFO    ] 2026-10-20 02:23:14
[2026-10-20 02:23:15,220.220 INFO    ] 2026-10-20 02:23:15
[2026-10-20 02:23:15,258.258 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:23:15,482.482 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:23:15,490.490 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:23:15,712.712 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:23:15,739.739 INFO    ] time= 20/10/2026 02:23:15
[2026-10-20 02:23:15,783.783 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:23:15,832.832 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:23:15,997.997 INFO    ] No existing commands found in stream
[2026-10-20 02:23:21,014.014 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:23:21,017.017 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-10-20 02:23:21,691.691 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:23:21,694.694 INFO    ] Checking for system updates...
[2026-10-20 02:23:21,731.731 INFO    ] 200
[2026-10-20 02:23:21,734.734 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:23:21,787.787 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:23:21,790.790 INFO    ] No update needed
[2026-10-20 02:23:21,793.793 INFO    ] Checking for camera pi updates...
[2026-10-20 02:23:21,827.827 INFO    ] 200
[2026-10-20 02:23:21,829.829 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:23:21,875.875 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:23:21,920.920 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:23:21,923.923 INFO    ] No camera update needed
[2026-10-20 02:23:21,926.926 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:23:21,928.928 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:23:21,934.934 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:23:21,940.940 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:23:23,982.982 INFO    ] ================================================
[2026-10-20 02:23:24,998.998 INFO    ] Launching Daemon at Tue Oct 20 02:23:23 IST 2026
[2026-10-20 02:23:24,014.014 INFO    ] ================================================
[2026-10-20 02:23:24,606.606 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:23:24
[2026-10-20 02:23:25,222.222 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:23:25,502.502 INFO    ] Initializing speech engine...
[2026-10-20 02:23:25,517.517 INFO    ] 2026-10-20 02:23:25
[2026-10-20 02:23:25,822.822 INFO    ] 2026-10-20 02:23:25
[2026-10-20 02:23:25,860.860 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:23:26,121.121 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:23:26,130.130 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:23:26,275.275 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:23:26,338.338 INFO    ] time= 20/10/2026 02:23:26
[2026-10-20 02:23:26,410.410 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:23:26,435.435 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:23:26,574.574 INFO    ] No existing commands found in stream
[2026-10-20 02:23:31,592.592 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:23:31,596.596 INFO    ] Waiting 2.60 seconds before fallback handling...
[2026-10-20 02:23:34,728.728 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:23:34,731.731 INFO    ] Checking for system updates...
[2026-10-20 02:23:34,769.769 INFO    ] 200
[2026-10-20 02:23:34,772.772 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:23:34,832.832 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:23:34,835.835 INFO    ] No update needed
[2026-10-20 02:23:34,837.837 INFO    ] Checking for camera pi updates...
[2026-10-20 02:23:34,871.871 INFO    ] 200
[2026-10-20 02:23:34,873.873 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:23:34,914.914 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:23:34,965.965 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:23:34,967.967 INFO    ] No camera update needed
[2026-10-20 02:23:34,970.970 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:23:34,972.972 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:23:34,978.978 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:23:34,983.983 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:23:37,024.024 INFO    ] ================================================
[2026-10-20 02:23:37,041.041 INFO    ] Launching Daemon at Tue Oct 20 02:23:37 IST 2026
[2026-10-20 02:23:37,052.052 INFO    ] ================================================
[2026-10-20 02:23:37,717.717 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:23:37
[2026-10-20 02:23:38,401.401 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:23:38,710.710 INFO    ] Initializing speech engine...
[2026-10-20 02:23:38,724.724 INFO    ] 2026-10-20 02:23:38
[2026-10-20 02:23:39,033.033 INFO    ] 2026-10-20 02:23:39
[2026-10-20 02:23:39,121.121 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:23:39,337.337 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:23:39,347.347 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:23:39,519.519 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:23:39,562.562 INFO    ] time= 20/10/2026 02:23:39
[2026-10-20 02:23:39,580.580 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:23:39,603.603 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:23:39,728.728 INFO    ] No existing commands found in stream
[2026-10-20 02:23:44,765.765 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:23:44,768.768 INFO    ] Waiting 0.46 seconds before fallback handling...
[2026-10-20 02:23:45,767.767 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:23:45,770.770 INFO    ] Checking for system updates...
[2026-10-20 02:23:45,807.807 INFO    ] 200
[2026-10-20 02:23:45,810.810 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:23:45,862.862 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:23:45,865.865 INFO    ] No update needed
[2026-10-20 02:23:45,868.868 INFO    ] Checking for camera pi updates...
[2026-10-20 02:23:45,906.906 INFO    ] 200
[2026-10-20 02:23:45,909.909 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:23:45,950.950 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:23:45,993.993 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:23:45,996.996 INFO    ] No camera update needed
[2026-10-20 02:23:45,998.998 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:23:46,001.001 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:23:46,007.007 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:23:46,013.013 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:23:48,056.056 INFO    ] ================================================
[2026-10-20 02:23:48,075.075 INFO    ] Launching Daemon at Tue Oct 20 02:23:48 IST 2026
[2026-10-20 02:23:48,086.086 INFO    ] ================================================
[2026-10-20 02:23:48,654.654 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:23:48
[2026-10-20 02:23:49,241.241 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:23:49,490.490 INFO    ] Initializing speech engine...
[2026-10-20 02:23:49,497.497 INFO    ] 2026-10-20 02:23:49
[2026-10-20 02:23:49,770.770 INFO    ] 2026-10-20 02:23:49
[2026-10-20 02:23:49,807.807 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:23:50,067.067 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:23:50,076.076 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:23:50,214.214 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:23:50,274.274 INFO    ] time= 20/10/2026 02:23:50
[2026-10-20 02:23:50,328.328 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:23:50,349.349 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:23:50,499.499 INFO    ] No existing commands found in stream
[2026-10-20 02:23:55,513.513 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:23:55,516.516 INFO    ] Waiting 3.33 seconds before fallback handling...
[2026-10-20 02:23:59,335.335 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:23:59,338.338 INFO    ] Checking for system updates...
[2026-10-20 02:23:59,373.373 INFO    ] 200
[2026-10-20 02:23:59,376.376 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:23:59,428.428 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:23:59,430.430 INFO    ] No update needed
[2026-10-20 02:23:59,433.433 INFO    ] Checking for camera pi updates...
[2026-10-20 02:23:59,466.466 INFO    ] 200
[2026-10-20 02:23:59,468.468 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:23:59,511.511 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:23:59,557.557 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:23:59,560.560 INFO    ] No camera update needed
[2026-10-20 02:23:59,562.562 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:23:59,564.564 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:23:59,570.570 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:23:59,574.574 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:24:01,630.630 INFO    ] ================================================
[2026-10-20 02:24:01,679.679 INFO    ] Launching Daemon at Tue Oct 20 02:24:01 IST 2026
[2026-10-20 02:24:01,709.709 INFO    ] ================================================
[2026-10-20 02:24:02,429.429 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:24:02
[2026-10-20 02:24:03,105.105 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:24:03,381.381 INFO    ] Initializing speech engine...
[2026-10-20 02:24:03,397.397 INFO    ] 2026-10-20 02:24:03
[2026-10-20 02:24:03,703.703 INFO    ] 2026-10-20 02:24:03
[2026-10-20 02:24:03,739.739 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:24:03,990.990 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:24:04,031.031 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:24:04,186.186 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:24:04,229.229 INFO    ] time= 20/10/2026 02:24:04
[2026-10-20 02:24:04,273.273 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:24:04,317.317 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:24:04,469.469 INFO    ] No existing commands found in stream
[2026-10-20 02:24:09,486.486 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:24:09,489.489 INFO    ] Waiting 1.94 seconds before fallback handling...
[2026-10-20 02:24:11,951.951 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 02:24:11,953.953 INFO    ] Checking for system updates...
[2026-10-20 02:24:11,989.989 INFO    ] 200
[2026-10-20 02:24:11,991.991 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:24:12,044.044 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:24:12,046.046 INFO    ] No update needed
[2026-10-20 02:24:12,049.049 INFO    ] Checking for camera pi updates...
[2026-10-20 02:24:12,082.082 INFO    ] 200
[2026-10-20 02:24:12,084.084 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:24:12,125.125 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:24:12,180.180 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:24:12,182.182 INFO    ] No camera update needed
[2026-10-20 02:24:12,184.184 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:24:12,186.186 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:24:12,192.192 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:24:12,197.197 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:24:14,237.237 INFO    ] ================================================
[2026-10-20 02:24:14,252.252 INFO    ] Launching Daemon at Tue Oct 20 02:24:14 IST 2026
[2026-10-20 02:24:14,262.262 INFO    ] ================================================
[2026-10-20 02:24:14,845.845 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:24:14
[2026-10-20 02:24:15,446.446 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:24:15,724.724 INFO    ] Initializing speech engine...
[2026-10-20 02:24:15,732.732 INFO    ] 2026-10-20 02:24:15
[2026-10-20 02:24:15,979.979 INFO    ] 2026-10-20 02:24:15
[2026-10-20 02:24:16,014.014 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:24:16,265.265 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:24:16,275.275 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:24:16,474.474 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:24:16,535.535 INFO    ] time= 20/10/2026 02:24:16
[2026-10-20 02:24:16,541.541 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:24:16,559.559 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:24:16,685.685 INFO    ] No existing commands found in stream
[2026-10-20 02:24:21,701.701 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:24:21,704.704 INFO    ] Waiting 0.02 seconds before fallback handling...
[2026-10-20 02:24:22,209.209 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:24:22,211.211 INFO    ] Checking for system updates...
[2026-10-20 02:24:22,247.247 INFO    ] 200
[2026-10-20 02:24:22,249.249 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:24:22,302.302 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:24:22,305.305 INFO    ] No update needed
[2026-10-20 02:24:22,307.307 INFO    ] Checking for camera pi updates...
[2026-10-20 02:24:22,341.341 INFO    ] 200
[2026-10-20 02:24:22,343.343 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:24:22,384.384 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:24:22,430.430 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:24:22,433.433 INFO    ] No camera update needed
[2026-10-20 02:24:22,435.435 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:24:22,437.437 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:24:22,442.442 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:24:22,447.447 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:24:24,488.488 INFO    ] ================================================
[2026-10-20 02:24:24,504.504 INFO    ] Launching Daemon at Tue Oct 20 02:24:24 IST 2026
[2026-10-20 02:24:24,515.515 INFO    ] ================================================
[2026-10-20 02:24:25,087.087 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:24:25
[2026-10-20 02:24:25,677.677 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:24:25,944.944 INFO    ] Initializing speech engine...
[2026-10-20 02:24:25,962.962 INFO    ] 2026-10-20 02:24:25
[2026-10-20 02:24:26,230.230 INFO    ] 2026-10-20 02:24:26
[2026-10-20 02:24:26,268.268 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:24:26,487.487 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:24:26,496.496 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:24:26,692.692 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:24:26,717.717 INFO    ] time= 20/10/2026 02:24:26
[2026-10-20 02:24:26,749.749 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:24:26,799.799 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:24:26,917.917 INFO    ] No existing commands found in stream
[2026-10-20 02:24:31,928.928 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:24:31,931.931 INFO    ] Waiting 0.64 seconds before fallback handling...
[2026-10-20 02:24:33,044.044 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:24:33,046.046 INFO    ] Checking for system updates...
[2026-10-20 02:24:33,082.082 INFO    ] 200
[2026-10-20 02:24:33,085.085 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:24:33,140.140 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:24:33,142.142 INFO    ] No update needed
[2026-10-20 02:24:33,147.147 INFO    ] Checking for camera pi updates...
[2026-10-20 02:24:33,193.193 INFO    ] 200
[2026-10-20 02:24:33,196.196 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:24:33,236.236 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:24:33,286.286 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:24:33,288.288 INFO    ] No camera update needed
[2026-10-20 02:24:33,291.291 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:24:33,293.293 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:24:33,298.298 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:24:33,303.303 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:24:35,343.343 INFO    ] ================================================
[2026-10-20 02:24:35,358.358 INFO    ] Launching Daemon at Tue Oct 20 02:24:35 IST 2026
[2026-10-20 02:24:35,369.369 INFO    ] ================================================
[2026-10-20 02:24:36,022.022 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:24:36
[2026-10-20 02:24:36,684.684 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:24:36,986.986 INFO    ] Initializing speech engine...
[2026-10-20 02:24:36,999.999 INFO    ] 2026-10-20 02:24:36
[2026-10-20 02:24:37,291.291 INFO    ] 2026-10-20 02:24:37
[2026-10-20 02:24:37,402.402 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:24:37,618.618 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:24:37,627.627 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:24:37,823.823 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:24:37,834.834 INFO    ] time= 20/10/2026 02:24:37
[2026-10-20 02:24:37,853.853 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:24:37,871.871 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:24:37,993.993 INFO    ] No existing commands found in stream
[2026-10-20 02:24:43,018.018 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:24:43,021.021 INFO    ] Waiting 2.06 seconds before fallback handling...
[2026-10-20 02:24:45,665.665 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 02:24:45,669.669 INFO    ] Checking for system updates...
[2026-10-20 02:24:45,705.705 INFO    ] 200
[2026-10-20 02:24:45,708.708 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:24:45,761.761 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:24:45,764.764 INFO    ] No update needed
[2026-10-20 02:24:45,766.766 INFO    ] Checking for camera pi updates...
[2026-10-20 02:24:45,802.802 INFO    ] 200
[2026-10-20 02:24:45,804.804 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:24:45,845.845 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:24:45,992.992 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:24:45,995.995 INFO    ] No camera update needed
[2026-10-20 02:24:45,998.998 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:24:46,001.001 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:24:46,007.007 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:24:46,013.013 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:24:48,053.053 INFO    ] ================================================
[2026-10-20 02:24:48,069.069 INFO    ] Launching Daemon at Tue Oct 20 02:24:48 IST 2026
[2026-10-20 02:24:48,080.080 INFO    ] ================================================
[2026-10-20 02:24:48,665.665 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:24:48
[2026-10-20 02:24:49,263.263 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:24:49,542.542 INFO    ] Initializing speech engine...
[2026-10-20 02:24:49,552.552 INFO    ] 2026-10-20 02:24:49
[2026-10-20 02:24:49,800.800 INFO    ] 2026-10-20 02:24:49
[2026-10-20 02:24:49,841.841 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:24:50,088.088 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:24:50,097.097 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:24:50,234.234 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:24:50,274.274 INFO    ] time= 20/10/2026 02:24:50
[2026-10-20 02:24:50,328.328 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:24:50,366.366 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:24:50,511.511 INFO    ] No existing commands found in stream
[2026-10-20 02:24:55,525.525 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:24:55,528.528 INFO    ] Waiting 0.32 seconds before fallback handling...
[2026-10-20 02:24:56,382.382 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:24:56,385.385 INFO    ] Checking for system updates...
[2026-10-20 02:24:56,419.419 INFO    ] 200
[2026-10-20 02:24:56,422.422 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:24:56,473.473 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:24:56,475.475 INFO    ] No update needed
[2026-10-20 02:24:56,478.478 INFO    ] Checking for camera pi updates...
[2026-10-20 02:24:56,510.510 INFO    ] 200
[2026-10-20 02:24:56,513.513 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:24:56,552.552 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:24:56,599.599 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:24:56,601.601 INFO    ] No camera update needed
[2026-10-20 02:24:56,604.604 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:24:56,606.606 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:24:56,611.611 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:24:56,617.617 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:24:58,658.658 INFO    ] ================================================
[2026-10-20 02:24:58,673.673 INFO    ] Launching Daemon at Tue Oct 20 02:24:58 IST 2026
[2026-10-20 02:24:58,684.684 INFO    ] ================================================
[2026-10-20 02:24:59,335.335 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:24:59
[2026-10-20 02:24:59,996.996 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:25:00,298.298 INFO    ] Initializing speech engine...
[2026-10-20 02:25:00,308.308 INFO    ] 2026-10-20 02:25:00
[2026-10-20 02:25:00,617.617 INFO    ] 2026-10-20 02:25:00
[2026-10-20 02:25:00,697.697 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:25:00,914.914 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:25:00,919.919 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:25:01,120.120 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:25:01,127.127 INFO    ] time= 20/10/2026 02:25:01
[2026-10-20 02:25:01,148.148 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:25:01,175.175 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:25:01,286.286 INFO    ] No existing commands found in stream
[2026-10-20 02:25:06,310.310 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:25:06,314.314 INFO    ] Waiting 3.83 seconds before fallback handling...
[2026-10-20 02:25:10,721.721 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:25:10,724.724 INFO    ] Checking for system updates...
[2026-10-20 02:25:10,761.761 INFO    ] 200
[2026-10-20 02:25:10,764.764 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:25:10,823.823 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:25:10,826.826 INFO    ] No update needed
[2026-10-20 02:25:10,829.829 INFO    ] Checking for camera pi updates...
[2026-10-20 02:25:10,862.862 INFO    ] 200
[2026-10-20 02:25:10,865.865 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:25:10,905.905 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:25:10,958.958 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:25:10,960.960 INFO    ] No camera update needed
[2026-10-20 02:25:10,963.963 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:25:10,966.966 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:25:10,972.972 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:25:10,978.978 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:25:13,021.021 INFO    ] ================================================
[2026-10-20 02:25:13,036.036 INFO    ] Launching Daemon at Tue Oct 20 02:25:13 IST 2026
[2026-10-20 02:25:13,047.047 INFO    ] ================================================
[2026-10-20 02:25:13,630.630 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:25:13
[2026-10-20 02:25:14,225.225 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:25:14,502.502 INFO    ] Initializing speech engine...
[2026-10-20 02:25:14,511.511 INFO    ] 2026-10-20 02:25:14
[2026-10-20 02:25:14,768.768 INFO    ] 2026-10-20 02:25:14
[2026-10-20 02:25:14,798.798 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:25:15,041.041 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:25:15,051.051 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:25:15,259.259 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:25:15,308.308 INFO    ] time= 20/10/2026 02:25:15
[2026-10-20 02:25:15,315.315 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:25:15,332.332 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:25:15,457.457 INFO    ] No existing commands found in stream
[2026-10-20 02:25:20,474.474 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:25:20,477.477 INFO    ] Waiting 2.60 seconds before fallback handling...
[2026-10-20 02:25:23,620.620 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:25:23,622.622 INFO    ] Checking for system updates...
[2026-10-20 02:25:23,658.658 INFO    ] 200
[2026-10-20 02:25:23,660.660 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:25:23,711.711 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:25:23,714.714 INFO    ] No update needed
[2026-10-20 02:25:23,716.716 INFO    ] Checking for camera pi updates...
[2026-10-20 02:25:23,754.754 INFO    ] 200
[2026-10-20 02:25:23,756.756 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:25:23,800.800 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:25:23,847.847 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:25:23,849.849 INFO    ] No camera update needed
[2026-10-20 02:25:23,851.851 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:25:23,854.854 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:25:23,859.859 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:25:23,864.864 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:25:25,904.904 INFO    ] ================================================
[2026-10-20 02:25:25,919.919 INFO    ] Launching Daemon at Tue Oct 20 02:25:25 IST 2026
[2026-10-20 02:25:25,930.930 INFO    ] ================================================
[2026-10-20 02:25:26,527.527 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:25:26
[2026-10-20 02:25:27,187.187 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:25:27,492.492 INFO    ] Initializing speech engine...
[2026-10-20 02:25:27,500.500 INFO    ] 2026-10-20 02:25:27
[2026-10-20 02:25:27,818.818 INFO    ] 2026-10-20 02:25:27
[2026-10-20 02:25:27,901.901 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:25:28,120.120 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:25:28,129.129 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:25:28,307.307 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:25:28,336.336 INFO    ] time= 20/10/2026 02:25:28
[2026-10-20 02:25:28,355.355 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:25:28,383.383 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:25:28,496.496 INFO    ] No existing commands found in stream
[2026-10-20 02:25:33,526.526 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:25:33,529.529 INFO    ] Waiting 1.00 seconds before fallback handling...
[2026-10-20 02:25:35,070.070 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:25:35,073.073 INFO    ] Checking for system updates...
[2026-10-20 02:25:35,114.114 INFO    ] 200
[2026-10-20 02:25:35,117.117 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:25:35,170.170 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:25:35,172.172 INFO    ] No update needed
[2026-10-20 02:25:35,175.175 INFO    ] Checking for camera pi updates...
[2026-10-20 02:25:35,209.209 INFO    ] 200
[2026-10-20 02:25:35,212.212 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:25:35,258.258 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:25:35,309.309 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:25:35,311.311 INFO    ] No camera update needed
[2026-10-20 02:25:35,314.314 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:25:35,317.317 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:25:35,323.323 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:25:35,329.329 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:25:37,369.369 INFO    ] ================================================
[2026-10-20 02:25:37,384.384 INFO    ] Launching Daemon at Tue Oct 20 02:25:37 IST 2026
[2026-10-20 02:25:37,394.394 INFO    ] ================================================
[2026-10-20 02:25:37,967.967 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:25:37
[2026-10-20 02:25:38,551.551 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:25:38,823.823 INFO    ] Initializing speech engine...
[2026-10-20 02:25:38,833.833 INFO    ] 2026-10-20 02:25:38
[2026-10-20 02:25:39,082.082 INFO    ] 2026-10-20 02:25:39
[2026-10-20 02:25:39,117.117 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:25:39,375.375 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:25:39,385.385 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:25:39,565.565 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:25:39,615.615 INFO    ] time= 20/10/2026 02:25:39
[2026-10-20 02:25:39,655.655 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:25:39,661.661 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:25:39,816.816 INFO    ] No existing commands found in stream
[2026-10-20 02:25:44,842.842 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:25:44,845.845 INFO    ] Waiting 2.30 seconds before fallback handling...
[2026-10-20 02:25:47,660.660 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:25:47,663.663 INFO    ] Checking for system updates...
[2026-10-20 02:25:47,699.699 INFO    ] 200
[2026-10-20 02:25:47,701.701 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:25:47,753.753 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:25:47,756.756 INFO    ] No update needed
[2026-10-20 02:25:47,758.758 INFO    ] Checking for camera pi updates...
[2026-10-20 02:25:47,791.791 INFO    ] 200
[2026-10-20 02:25:47,793.793 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:25:47,833.833 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:25:47,878.878 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:25:47,881.881 INFO    ] No camera update needed
[2026-10-20 02:25:47,883.883 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:25:47,885.885 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:25:47,891.891 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:25:47,896.896 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:25:49,939.939 INFO    ] ================================================
[2026-10-20 02:25:49,954.954 INFO    ] Launching Daemon at Tue Oct 20 02:25:49 IST 2026
[2026-10-20 02:25:49,965.965 INFO    ] ================================================
[2026-10-20 02:25:50,530.530 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:25:50
[2026-10-20 02:25:51,114.114 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:25:51,366.366 INFO    ] Initializing speech engine...
[2026-10-20 02:25:51,375.375 INFO    ] 2026-10-20 02:25:51
[2026-10-20 02:25:51,668.668 INFO    ] 2026-10-20 02:25:51
[2026-10-20 02:25:51,706.706 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:25:51,900.900 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:25:51,917.917 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:25:52,082.082 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:25:52,087.087 INFO    ] time= 20/10/2026 02:25:52
[2026-10-20 02:25:52,094.094 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:25:52,137.137 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:25:52,250.250 INFO    ] No existing commands found in stream
[2026-10-20 02:25:57,275.275 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:25:57,277.277 INFO    ] Waiting 2.73 seconds before fallback handling...
[2026-10-20 02:26:00,539.539 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:26:00,542.542 INFO    ] Checking for system updates...
[2026-10-20 02:26:00,578.578 INFO    ] 200
[2026-10-20 02:26:00,580.580 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:26:00,633.633 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:26:00,635.635 INFO    ] No update needed
[2026-10-20 02:26:00,638.638 INFO    ] Checking for camera pi updates...
[2026-10-20 02:26:00,675.675 INFO    ] 200
[2026-10-20 02:26:00,677.677 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:26:00,717.717 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:26:00,778.778 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:26:00,781.781 INFO    ] No camera update needed
[2026-10-20 02:26:00,783.783 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:26:00,785.785 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:26:00,791.791 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:26:00,795.795 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:26:02,838.838 INFO    ] ================================================
[2026-10-20 02:26:02,854.854 INFO    ] Launching Daemon at Tue Oct 20 02:26:02 IST 2026
[2026-10-20 02:26:02,870.870 INFO    ] ================================================
[2026-10-20 02:26:03,500.500 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:26:03
[2026-10-20 02:26:04,131.131 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:26:04,426.426 INFO    ] Initializing speech engine...
[2026-10-20 02:26:04,436.436 INFO    ] 2026-10-20 02:26:04
[2026-10-20 02:26:04,708.708 INFO    ] 2026-10-20 02:26:04
[2026-10-20 02:26:04,763.763 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:26:04,986.986 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:26:04,996.996 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:26:05,200.200 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:26:05,256.256 INFO    ] time= 20/10/2026 02:26:05
[2026-10-20 02:26:05,275.275 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:26:05,284.284 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:26:05,422.422 INFO    ] No existing commands found in stream
[2026-10-20 02:26:10,453.453 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:26:10,456.456 INFO    ] Waiting 2.15 seconds before fallback handling...
[2026-10-20 02:26:13,158.158 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:26:13,161.161 INFO    ] Checking for system updates...
[2026-10-20 02:26:13,200.200 INFO    ] 200
[2026-10-20 02:26:13,203.203 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:26:13,254.254 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:26:13,256.256 INFO    ] No update needed
[2026-10-20 02:26:13,259.259 INFO    ] Checking for camera pi updates...
[2026-10-20 02:26:13,292.292 INFO    ] 200
[2026-10-20 02:26:13,294.294 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:26:13,335.335 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:26:13,384.384 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:26:13,387.387 INFO    ] No camera update needed
[2026-10-20 02:26:13,389.389 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:26:13,391.391 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:26:13,397.397 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:26:13,402.402 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:26:15,441.441 INFO    ] ================================================
[2026-10-20 02:26:15,456.456 INFO    ] Launching Daemon at Tue Oct 20 02:26:15 IST 2026
[2026-10-20 02:26:15,466.466 INFO    ] ================================================
[2026-10-20 02:26:16,047.047 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:26:16
[2026-10-20 02:26:16,640.640 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:26:16,891.891 INFO    ] Initializing speech engine...
[2026-10-20 02:26:16,904.904 INFO    ] 2026-10-20 02:26:16
[2026-10-20 02:26:17,166.166 INFO    ] 2026-10-20 02:26:17
[2026-10-20 02:26:17,208.208 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:26:17,457.457 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:26:17,461.461 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:26:17,656.656 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:26:17,706.706 INFO    ] time= 20/10/2026 02:26:17
[2026-10-20 02:26:17,723.723 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:26:17,737.737 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:26:17,872.872 INFO    ] No existing commands found in stream
[2026-10-20 02:26:22,900.900 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:26:22,903.903 INFO    ] Waiting 0.23 seconds before fallback handling...
[2026-10-20 02:26:23,656.656 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:26:23,659.659 INFO    ] Checking for system updates...
[2026-10-20 02:26:23,694.694 INFO    ] 200
[2026-10-20 02:26:23,696.696 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:26:23,747.747 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:26:23,750.750 INFO    ] No update needed
[2026-10-20 02:26:23,752.752 INFO    ] Checking for camera pi updates...
[2026-10-20 02:26:23,786.786 INFO    ] 200
[2026-10-20 02:26:23,788.788 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:26:23,832.832 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:26:23,886.886 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:26:23,888.888 INFO    ] No camera update needed
[2026-10-20 02:26:23,890.890 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:26:23,893.893 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:26:23,898.898 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:26:23,903.903 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:26:25,943.943 INFO    ] ================================================
[2026-10-20 02:26:25,958.958 INFO    ] Launching Daemon at Tue Oct 20 02:26:25 IST 2026
[2026-10-20 02:26:25,969.969 INFO    ] ================================================
[2026-10-20 02:26:26,535.535 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:26:26
[2026-10-20 02:26:27,120.120 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:26:27,370.370 INFO    ] Initializing speech engine...
[2026-10-20 02:26:27,389.389 INFO    ] 2026-10-20 02:26:27
[2026-10-20 02:26:27,652.652 INFO    ] 2026-10-20 02:26:27
[2026-10-20 02:26:27,687.687 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:26:27,904.904 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:26:27,972.972 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:26:28,131.131 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:26:28,150.150 INFO    ] time= 20/10/2026 02:26:28
[2026-10-20 02:26:28,199.199 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:26:28,248.248 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:26:28,380.380 INFO    ] No existing commands found in stream
[2026-10-20 02:26:33,399.399 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:26:33,403.403 INFO    ] Waiting 3.15 seconds before fallback handling...
[2026-10-20 02:26:37,054.054 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:26:37,057.057 INFO    ] Checking for system updates...
[2026-10-20 02:26:37,093.093 INFO    ] 200
[2026-10-20 02:26:37,095.095 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:26:37,152.152 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:26:37,155.155 INFO    ] No update needed
[2026-10-20 02:26:37,157.157 INFO    ] Checking for camera pi updates...
[2026-10-20 02:26:37,191.191 INFO    ] 200
[2026-10-20 02:26:37,194.194 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:26:37,237.237 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:26:37,293.293 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:26:37,295.295 INFO    ] No camera update needed
[2026-10-20 02:26:37,298.298 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:26:37,300.300 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:26:37,305.305 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:26:37,311.311 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:26:39,353.353 INFO    ] ================================================
[2026-10-20 02:26:39,368.368 INFO    ] Launching Daemon at Tue Oct 20 02:26:39 IST 2026
[2026-10-20 02:26:39,378.378 INFO    ] ================================================
[2026-10-20 02:26:40,011.011 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:26:40
[2026-10-20 02:26:40,662.662 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:26:40,952.952 INFO    ] Initializing speech engine...
[2026-10-20 02:26:40,962.962 INFO    ] 2026-10-20 02:26:40
[2026-10-20 02:26:41,228.228 INFO    ] 2026-10-20 02:26:41
[2026-10-20 02:26:41,285.285 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:26:41,515.515 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:26:41,522.522 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:26:41,723.723 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:26:41,773.773 INFO    ] time= 20/10/2026 02:26:41
[2026-10-20 02:26:41,786.786 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:26:41,805.805 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:26:41,934.934 INFO    ] No existing commands found in stream
[2026-10-20 02:26:46,948.948 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:26:46,951.951 INFO    ] Waiting 0.16 seconds before fallback handling...
[2026-10-20 02:26:47,618.618 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:26:47,621.621 INFO    ] Checking for system updates...
[2026-10-20 02:26:47,657.657 INFO    ] 200
[2026-10-20 02:26:47,660.660 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:26:47,717.717 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:26:47,721.721 INFO    ] No update needed
[2026-10-20 02:26:47,723.723 INFO    ] Checking for camera pi updates...
[2026-10-20 02:26:47,764.764 INFO    ] 200
[2026-10-20 02:26:47,767.767 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:26:47,808.808 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:26:47,957.957 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:26:47,959.959 INFO    ] No camera update needed
[2026-10-20 02:26:47,962.962 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:26:47,964.964 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:26:47,969.969 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:26:47,974.974 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:26:50,014.014 INFO    ] ================================================
[2026-10-20 02:26:50,029.029 INFO    ] Launching Daemon at Tue Oct 20 02:26:50 IST 2026
[2026-10-20 02:26:50,039.039 INFO    ] ================================================
[2026-10-20 02:26:50,636.636 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:26:50
[2026-10-20 02:26:51,286.286 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:26:51,580.580 INFO    ] Initializing speech engine...
[2026-10-20 02:26:51,586.586 INFO    ] 2026-10-20 02:26:51
[2026-10-20 02:26:51,899.899 INFO    ] 2026-10-20 02:26:51
[2026-10-20 02:26:51,987.987 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:26:52,213.213 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:26:52,268.268 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:26:52,423.423 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:26:52,452.452 INFO    ] time= 20/10/2026 02:26:52
[2026-10-20 02:26:52,461.461 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:26:52,483.483 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:26:52,652.652 INFO    ] No existing commands found in stream
[2026-10-20 02:26:57,671.671 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:26:57,674.674 INFO    ] Waiting 0.19 seconds before fallback handling...
[2026-10-20 02:26:58,397.397 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:26:58,400.400 INFO    ] Checking for system updates...
[2026-10-20 02:26:58,437.437 INFO    ] 200
[2026-10-20 02:26:58,440.440 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:26:58,492.492 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:26:58,495.495 INFO    ] No update needed
[2026-10-20 02:26:58,497.497 INFO    ] Checking for camera pi updates...
[2026-10-20 02:26:58,530.530 INFO    ] 200
[2026-10-20 02:26:58,533.533 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:26:58,577.577 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:26:58,630.630 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:26:58,633.633 INFO    ] No camera update needed
[2026-10-20 02:26:58,635.635 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:26:58,637.637 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:26:58,642.642 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:26:58,647.647 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:27:00,686.686 INFO    ] ================================================
[2026-10-20 02:27:00,701.701 INFO    ] Launching Daemon at Tue Oct 20 02:27:00 IST 2026
[2026-10-20 02:27:00,712.712 INFO    ] ================================================
[2026-10-20 02:27:01,364.364 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:27:01
[2026-10-20 02:27:02,115.115 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:27:02,463.463 INFO    ] Initializing speech engine...
[2026-10-20 02:27:02,482.482 INFO    ] 2026-10-20 02:27:02
[2026-10-20 02:27:02,783.783 INFO    ] 2026-10-20 02:27:02
[2026-10-20 02:27:02,826.826 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:27:03,095.095 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:27:03,133.133 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:27:03,289.289 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:27:03,332.332 INFO    ] time= 20/10/2026 02:27:03
[2026-10-20 02:27:03,376.376 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:27:03,430.430 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:27:03,558.558 INFO    ] No existing commands found in stream
[2026-10-20 02:27:08,586.586 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:27:08,589.589 INFO    ] Waiting 1.65 seconds before fallback handling...
[2026-10-20 02:27:10,746.746 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:27:10,749.749 INFO    ] Checking for system updates...
[2026-10-20 02:27:10,787.787 INFO    ] 200
[2026-10-20 02:27:10,789.789 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:27:10,845.845 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:27:10,847.847 INFO    ] No update needed
[2026-10-20 02:27:10,850.850 INFO    ] Checking for camera pi updates...
[2026-10-20 02:27:10,886.886 INFO    ] 200
[2026-10-20 02:27:10,888.888 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:27:10,928.928 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:27:10,983.983 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:27:10,985.985 INFO    ] No camera update needed
[2026-10-20 02:27:10,988.988 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:27:10,990.990 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:27:10,995.995 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:27:11,000.000 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:27:13,040.040 INFO    ] ================================================
[2026-10-20 02:27:13,054.054 INFO    ] Launching Daemon at Tue Oct 20 02:27:13 IST 2026
[2026-10-20 02:27:13,065.065 INFO    ] ================================================
[2026-10-20 02:27:13,629.629 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:27:13
[2026-10-20 02:27:14,211.211 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:27:14,460.460 INFO    ] Initializing speech engine...
[2026-10-20 02:27:14,468.468 INFO    ] 2026-10-20 02:27:14
[2026-10-20 02:27:14,758.758 INFO    ] 2026-10-20 02:27:14
[2026-10-20 02:27:14,794.794 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:27:15,062.062 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:27:15,076.076 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:27:15,221.221 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:27:15,258.258 INFO    ] time= 20/10/2026 02:27:15
[2026-10-20 02:27:15,307.307 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:27:15,351.351 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:27:15,524.524 INFO    ] No existing commands found in stream
[2026-10-20 02:27:20,540.540 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:27:20,543.543 INFO    ] Waiting 1.90 seconds before fallback handling...
[2026-10-20 02:27:23,002.002 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:27:23,005.005 INFO    ] Checking for system updates...
[2026-10-20 02:27:23,040.040 INFO    ] 200
[2026-10-20 02:27:23,042.042 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:27:23,098.098 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:27:23,101.101 INFO    ] No update needed
[2026-10-20 02:27:23,103.103 INFO    ] Checking for camera pi updates...
[2026-10-20 02:27:23,136.136 INFO    ] 200
[2026-10-20 02:27:23,138.138 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:27:23,178.178 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:27:23,230.230 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:27:23,232.232 INFO    ] No camera update needed
[2026-10-20 02:27:23,234.234 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:27:23,236.236 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:27:23,242.242 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:27:23,247.247 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:27:25,287.287 INFO    ] ================================================
[2026-10-20 02:27:25,302.302 INFO    ] Launching Daemon at Tue Oct 20 02:27:25 IST 2026
[2026-10-20 02:27:25,313.313 INFO    ] ================================================
[2026-10-20 02:27:25,882.882 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:27:25
[2026-10-20 02:27:26,466.466 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:27:26,718.718 INFO    ] Initializing speech engine...
[2026-10-20 02:27:26,727.727 INFO    ] 2026-10-20 02:27:26
[2026-10-20 02:27:27,010.010 INFO    ] 2026-10-20 02:27:26
[2026-10-20 02:27:27,049.049 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:27:27,300.300 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:27:27,311.311 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:27:27,518.518 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:27:27,568.568 INFO    ] time= 20/10/2026 02:27:27
[2026-10-20 02:27:27,574.574 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:27:27,592.592 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:27:27,719.719 INFO    ] No existing commands found in stream
[2026-10-20 02:27:32,735.735 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:27:32,738.738 INFO    ] Waiting 3.87 seconds before fallback handling...
[2026-10-20 02:27:37,138.138 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:27:37,141.141 INFO    ] Checking for system updates...
[2026-10-20 02:27:37,177.177 INFO    ] 200
[2026-10-20 02:27:37,180.180 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:27:37,231.231 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:27:37,234.234 INFO    ] No update needed
[2026-10-20 02:27:37,236.236 INFO    ] Checking for camera pi updates...
[2026-10-20 02:27:37,270.270 INFO    ] 200
[2026-10-20 02:27:37,272.272 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:27:37,315.315 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:27:37,366.366 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:27:37,369.369 INFO    ] No camera update needed
[2026-10-20 02:27:37,371.371 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:27:37,373.373 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:27:37,379.379 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:27:37,384.384 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:27:39,423.423 INFO    ] ================================================
[2026-10-20 02:27:39,439.439 INFO    ] Launching Daemon at Tue Oct 20 02:27:39 IST 2026
[2026-10-20 02:27:39,450.450 INFO    ] ================================================
[2026-10-20 02:27:40,019.019 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:27:40
[2026-10-20 02:27:40,605.605 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:27:40,876.876 INFO    ] Initializing speech engine...
[2026-10-20 02:27:40,886.886 INFO    ] 2026-10-20 02:27:40
[2026-10-20 02:27:41,135.135 INFO    ] 2026-10-20 02:27:41
[2026-10-20 02:27:41,177.177 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:27:41,431.431 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:27:41,436.436 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:27:41,580.580 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:27:41,623.623 INFO    ] time= 20/10/2026 02:27:41
[2026-10-20 02:27:41,672.672 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:27:41,725.725 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:27:41,852.852 INFO    ] No existing commands found in stream
[2026-10-20 02:27:46,874.874 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:27:46,877.877 INFO    ] Waiting 3.86 seconds before fallback handling...
[2026-10-20 02:27:51,219.219 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:27:51,222.222 INFO    ] Checking for system updates...
[2026-10-20 02:27:51,259.259 INFO    ] 200
[2026-10-20 02:27:51,262.262 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:27:51,317.317 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:27:51,319.319 INFO    ] No update needed
[2026-10-20 02:27:51,322.322 INFO    ] Checking for camera pi updates...
[2026-10-20 02:27:51,357.357 INFO    ] 200
[2026-10-20 02:27:51,359.359 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:27:51,402.402 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:27:51,456.456 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:27:51,458.458 INFO    ] No camera update needed
[2026-10-20 02:27:51,461.461 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:27:51,463.463 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:27:51,468.468 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:27:51,473.473 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:27:53,513.513 INFO    ] ================================================
[2026-10-20 02:27:53,528.528 INFO    ] Launching Daemon at Tue Oct 20 02:27:53 IST 2026
[2026-10-20 02:27:53,540.540 INFO    ] ================================================
[2026-10-20 02:27:54,104.104 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:27:54
[2026-10-20 02:27:54,688.688 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:27:54,957.957 INFO    ] Initializing speech engine...
[2026-10-20 02:27:54,966.966 INFO    ] 2026-10-20 02:27:54
[2026-10-20 02:27:55,213.213 INFO    ] 2026-10-20 02:27:55
[2026-10-20 02:27:55,247.247 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:27:55,444.444 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:27:55,502.502 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:27:55,648.648 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:27:55,708.708 INFO    ] time= 20/10/2026 02:27:55
[2026-10-20 02:27:55,767.767 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:27:55,777.777 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:27:55,923.923 INFO    ] No existing commands found in stream
[2026-10-20 02:28:00,938.938 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:28:00,941.941 INFO    ] Waiting 1.27 seconds before fallback handling...
[2026-10-20 02:28:02,769.769 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:28:02,772.772 INFO    ] Checking for system updates...
[2026-10-20 02:28:02,822.822 INFO    ] 200
[2026-10-20 02:28:02,826.826 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:28:02,879.879 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:28:02,882.882 INFO    ] No update needed
[2026-10-20 02:28:02,885.885 INFO    ] Checking for camera pi updates...
[2026-10-20 02:28:02,926.926 INFO    ] 200
[2026-10-20 02:28:02,928.928 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:28:02,969.969 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:28:03,027.027 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:28:03,030.030 INFO    ] No camera update needed
[2026-10-20 02:28:03,033.033 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:28:03,036.036 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:28:03,043.043 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:28:03,049.049 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:28:05,089.089 INFO    ] ================================================
[2026-10-20 02:28:05,105.105 INFO    ] Launching Daemon at Tue Oct 20 02:28:05 IST 2026
[2026-10-20 02:28:05,116.116 INFO    ] ================================================
[2026-10-20 02:28:05,697.697 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:28:05
[2026-10-20 02:28:06,295.295 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:28:06,584.584 INFO    ] Initializing speech engine...
[2026-10-20 02:28:06,592.592 INFO    ] 2026-10-20 02:28:06
[2026-10-20 02:28:06,864.864 INFO    ] 2026-10-20 02:28:06
[2026-10-20 02:28:06,919.919 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:28:07,151.151 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:28:07,172.172 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:28:07,392.392 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:28:07,413.413 INFO    ] time= 20/10/2026 02:28:07
[2026-10-20 02:28:07,419.419 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:28:07,441.441 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:28:07,585.585 INFO    ] No existing commands found in stream
[2026-10-20 02:28:12,616.616 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:28:12,620.620 INFO    ] Waiting 2.55 seconds before fallback handling...
[2026-10-20 02:28:15,727.727 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:28:15,731.731 INFO    ] Checking for system updates...
[2026-10-20 02:28:15,772.772 INFO    ] 200
[2026-10-20 02:28:15,775.775 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:28:15,835.835 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:28:15,838.838 INFO    ] No update needed
[2026-10-20 02:28:15,841.841 INFO    ] Checking for camera pi updates...
[2026-10-20 02:28:15,884.884 INFO    ] 200
[2026-10-20 02:28:15,887.887 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:28:15,931.931 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:28:15,982.982 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:28:15,984.984 INFO    ] No camera update needed
[2026-10-20 02:28:15,987.987 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:28:15,989.989 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:28:15,996.996 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:28:16,001.001 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:28:18,042.042 INFO    ] ================================================
[2026-10-20 02:28:18,058.058 INFO    ] Launching Daemon at Tue Oct 20 02:28:18 IST 2026
[2026-10-20 02:28:18,069.069 INFO    ] ================================================
[2026-10-20 02:28:18,642.642 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:28:18
[2026-10-20 02:28:19,229.229 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:28:19,479.479 INFO    ] Initializing speech engine...
[2026-10-20 02:28:19,484.484 INFO    ] 2026-10-20 02:28:19
[2026-10-20 02:28:19,780.780 INFO    ] 2026-10-20 02:28:19
[2026-10-20 02:28:19,818.818 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:28:20,004.004 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:28:20,006.006 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:28:20,159.159 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:28:20,168.168 INFO    ] time= 20/10/2026 02:28:20
[2026-10-20 02:28:20,174.174 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:28:20,225.225 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:28:20,369.369 INFO    ] No existing commands found in stream
[2026-10-20 02:28:25,379.379 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:28:25,382.382 INFO    ] Waiting 2.05 seconds before fallback handling...
[2026-10-20 02:28:27,953.953 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:28:27,955.955 INFO    ] Checking for system updates...
[2026-10-20 02:28:27,990.990 INFO    ] 200
[2026-10-20 02:28:27,993.993 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:28:28,048.048 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:28:28,051.051 INFO    ] No update needed
[2026-10-20 02:28:28,054.054 INFO    ] Checking for camera pi updates...
[2026-10-20 02:28:28,090.090 INFO    ] 200
[2026-10-20 02:28:28,092.092 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:28:28,132.132 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:28:28,178.178 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:28:28,181.181 INFO    ] No camera update needed
[2026-10-20 02:28:28,183.183 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:28:28,185.185 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:28:28,191.191 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:28:28,196.196 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:28:30,235.235 INFO    ] ================================================
[2026-10-20 02:28:30,251.251 INFO    ] Launching Daemon at Tue Oct 20 02:28:30 IST 2026
[2026-10-20 02:28:30,262.262 INFO    ] ================================================
[2026-10-20 02:28:30,842.842 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:28:30
[2026-10-20 02:28:31,461.461 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:28:31,784.784 INFO    ] Initializing speech engine...
[2026-10-20 02:28:31,798.798 INFO    ] 2026-10-20 02:28:31
[2026-10-20 02:28:32,092.092 INFO    ] 2026-10-20 02:28:32
[2026-10-20 02:28:32,137.137 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:28:32,368.368 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:28:32,374.374 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:28:32,608.608 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:28:32,645.645 INFO    ] time= 20/10/2026 02:28:32
[2026-10-20 02:28:32,651.651 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:28:32,669.669 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:28:32,798.798 INFO    ] No existing commands found in stream
[2026-10-20 02:28:37,812.812 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:28:37,814.814 INFO    ] Waiting 1.65 seconds before fallback handling...
[2026-10-20 02:28:39,978.978 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:28:39,981.981 INFO    ] Checking for system updates...
[2026-10-20 02:28:40,032.032 INFO    ] 200
[2026-10-20 02:28:40,034.034 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:28:40,090.090 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:28:40,093.093 INFO    ] No update needed
[2026-10-20 02:28:40,095.095 INFO    ] Checking for camera pi updates...
[2026-10-20 02:28:40,128.128 INFO    ] 200
[2026-10-20 02:28:40,131.131 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:28:40,172.172 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:28:40,221.221 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:28:40,223.223 INFO    ] No camera update needed
[2026-10-20 02:28:40,226.226 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:28:40,228.228 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:28:40,234.234 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:28:40,239.239 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:28:42,280.280 INFO    ] ================================================
[2026-10-20 02:28:42,295.295 INFO    ] Launching Daemon at Tue Oct 20 02:28:42 IST 2026
[2026-10-20 02:28:42,306.306 INFO    ] ================================================
[2026-10-20 02:28:42,906.906 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:28:42
[2026-10-20 02:28:43,566.566 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:28:43,865.865 INFO    ] Initializing speech engine...
[2026-10-20 02:28:43,878.878 INFO    ] 2026-10-20 02:28:43
[2026-10-20 02:28:44,162.162 INFO    ] 2026-10-20 02:28:44
[2026-10-20 02:28:44,265.265 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:28:44,478.478 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:28:44,487.487 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:28:44,682.682 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:28:44,689.689 INFO    ] time= 20/10/2026 02:28:44
[2026-10-20 02:28:44,707.707 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:28:44,736.736 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:28:44,845.845 INFO    ] No existing commands found in stream
[2026-10-20 02:28:49,869.869 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:28:49,872.872 INFO    ] Waiting 3.99 seconds before fallback handling...
[2026-10-20 02:28:54,412.412 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:28:54,415.415 INFO    ] Checking for system updates...
[2026-10-20 02:28:54,451.451 INFO    ] 200
[2026-10-20 02:28:54,454.454 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:28:54,513.513 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:28:54,516.516 INFO    ] No update needed
[2026-10-20 02:28:54,519.519 INFO    ] Checking for camera pi updates...
[2026-10-20 02:28:54,556.556 INFO    ] 200
[2026-10-20 02:28:54,559.559 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:28:54,604.604 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:28:54,751.751 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:28:54,754.754 INFO    ] No camera update needed
[2026-10-20 02:28:54,756.756 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:28:54,759.759 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:28:54,765.765 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:28:54,771.771 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:28:56,811.811 INFO    ] ================================================
[2026-10-20 02:28:56,827.827 INFO    ] Launching Daemon at Tue Oct 20 02:28:56 IST 2026
[2026-10-20 02:28:56,838.838 INFO    ] ================================================
[2026-10-20 02:28:57,489.489 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:28:57
[2026-10-20 02:28:58,160.160 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:28:58,463.463 INFO    ] Initializing speech engine...
[2026-10-20 02:28:58,476.476 INFO    ] 2026-10-20 02:28:58
[2026-10-20 02:28:58,762.762 INFO    ] 2026-10-20 02:28:58
[2026-10-20 02:28:58,870.870 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:28:59,079.079 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:28:59,088.088 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:28:59,277.277 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:28:59,290.290 INFO    ] time= 20/10/2026 02:28:59
[2026-10-20 02:28:59,308.308 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:28:59,338.338 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:28:59,444.444 INFO    ] No existing commands found in stream
[2026-10-20 02:29:04,465.465 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:29:04,468.468 INFO    ] Waiting 0.19 seconds before fallback handling...
[2026-10-20 02:29:05,173.173 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:29:05,176.176 INFO    ] Checking for system updates...
[2026-10-20 02:29:05,213.213 INFO    ] 200
[2026-10-20 02:29:05,215.215 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:29:05,277.277 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:29:05,280.280 INFO    ] No update needed
[2026-10-20 02:29:05,283.283 INFO    ] Checking for camera pi updates...
[2026-10-20 02:29:05,319.319 INFO    ] 200
[2026-10-20 02:29:05,322.322 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:29:05,363.363 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:29:05,421.421 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:29:05,424.424 INFO    ] No camera update needed
[2026-10-20 02:29:05,426.426 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:29:05,428.428 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:29:05,434.434 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:29:05,439.439 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:29:07,480.480 INFO    ] ================================================
[2026-10-20 02:29:07,496.496 INFO    ] Launching Daemon at Tue Oct 20 02:29:07 IST 2026
[2026-10-20 02:29:07,507.507 INFO    ] ================================================
[2026-10-20 02:29:08,076.076 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:29:08
[2026-10-20 02:29:08,661.661 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:29:08,907.907 INFO    ] Initializing speech engine...
[2026-10-20 02:29:08,928.928 INFO    ] 2026-10-20 02:29:08
[2026-10-20 02:29:09,183.183 INFO    ] 2026-10-20 02:29:09
[2026-10-20 02:29:09,218.218 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:29:09,475.475 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:29:09,480.480 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:29:09,692.692 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:29:09,738.738 INFO    ] time= 20/10/2026 02:29:09
[2026-10-20 02:29:09,744.744 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:29:09,762.762 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:29:09,891.891 INFO    ] No existing commands found in stream
[2026-10-20 02:29:14,904.904 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:29:14,907.907 INFO    ] Waiting 0.77 seconds before fallback handling...
[2026-10-20 02:29:16,185.185 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 02:29:16,187.187 INFO    ] Checking for system updates...
[2026-10-20 02:29:16,223.223 INFO    ] 200
[2026-10-20 02:29:16,225.225 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:29:16,277.277 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:29:16,280.280 INFO    ] No update needed
[2026-10-20 02:29:16,282.282 INFO    ] Checking for camera pi updates...
[2026-10-20 02:29:16,316.316 INFO    ] 200
[2026-10-20 02:29:16,318.318 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:29:16,364.364 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:29:16,422.422 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:29:16,424.424 INFO    ] No camera update needed
[2026-10-20 02:29:16,426.426 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:29:16,429.429 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:29:16,434.434 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:29:16,439.439 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:29:18,481.481 INFO    ] ================================================
[2026-10-20 02:29:18,496.496 INFO    ] Launching Daemon at Tue Oct 20 02:29:18 IST 2026
[2026-10-20 02:29:18,507.507 INFO    ] ================================================
[2026-10-20 02:29:19,162.162 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:29:19
[2026-10-20 02:29:19,835.835 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:29:20,139.139 INFO    ] Initializing speech engine...
[2026-10-20 02:29:20,146.146 INFO    ] 2026-10-20 02:29:20
[2026-10-20 02:29:20,439.439 INFO    ] 2026-10-20 02:29:20
[2026-10-20 02:29:20,548.548 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:29:20,758.758 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:29:20,767.767 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:29:20,961.961 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:29:20,970.970 INFO    ] time= 20/10/2026 02:29:20
[2026-10-20 02:29:20,992.992 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:29:21,019.019 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:29:21,174.174 INFO    ] No existing commands found in stream
[2026-10-20 02:29:26,205.205 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:29:26,208.208 INFO    ] Waiting 0.47 seconds before fallback handling...
[2026-10-20 02:29:27,189.189 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:29:27,193.193 INFO    ] Checking for system updates...
[2026-10-20 02:29:27,229.229 INFO    ] 200
[2026-10-20 02:29:27,232.232 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:29:27,287.287 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:29:27,290.290 INFO    ] No update needed
[2026-10-20 02:29:27,293.293 INFO    ] Checking for camera pi updates...
[2026-10-20 02:29:27,327.327 INFO    ] 200
[2026-10-20 02:29:27,329.329 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:29:27,371.371 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:29:27,421.421 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:29:27,423.423 INFO    ] No camera update needed
[2026-10-20 02:29:27,425.425 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:29:27,428.428 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:29:27,433.433 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:29:27,438.438 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:29:29,478.478 INFO    ] ================================================
[2026-10-20 02:29:29,493.493 INFO    ] Launching Daemon at Tue Oct 20 02:29:29 IST 2026
[2026-10-20 02:29:29,504.504 INFO    ] ================================================
[2026-10-20 02:29:30,070.070 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:29:30
[2026-10-20 02:29:30,654.654 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:29:30,923.923 INFO    ] Initializing speech engine...
[2026-10-20 02:29:30,933.933 INFO    ] 2026-10-20 02:29:30
[2026-10-20 02:29:31,176.176 INFO    ] 2026-10-20 02:29:31
[2026-10-20 02:29:31,211.211 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:29:31,460.460 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:29:31,480.480 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:29:31,701.701 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:29:31,755.755 INFO    ] time= 20/10/2026 02:29:31
[2026-10-20 02:29:31,762.762 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:29:31,781.781 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:29:31,924.924 INFO    ] No existing commands found in stream
[2026-10-20 02:29:36,951.951 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:29:36,954.954 INFO    ] Waiting 1.59 seconds before fallback handling...
[2026-10-20 02:29:39,071.071 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:29:39,074.074 INFO    ] Checking for system updates...
[2026-10-20 02:29:39,110.110 INFO    ] 200
[2026-10-20 02:29:39,113.113 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:29:39,165.165 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:29:39,167.167 INFO    ] No update needed
[2026-10-20 02:29:39,170.170 INFO    ] Checking for camera pi updates...
[2026-10-20 02:29:39,203.203 INFO    ] 200
[2026-10-20 02:29:39,205.205 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:29:39,246.246 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:29:39,299.299 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:29:39,302.302 INFO    ] No camera update needed
[2026-10-20 02:29:39,304.304 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:29:39,307.307 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:29:39,313.313 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:29:39,318.318 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:29:41,359.359 INFO    ] ================================================
[2026-10-20 02:29:41,374.374 INFO    ] Launching Daemon at Tue Oct 20 02:29:41 IST 2026
[2026-10-20 02:29:41,385.385 INFO    ] ================================================
[2026-10-20 02:29:41,950.950 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:29:41
[2026-10-20 02:29:42,534.534 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:29:42,802.802 INFO    ] Initializing speech engine...
[2026-10-20 02:29:42,810.810 INFO    ] 2026-10-20 02:29:42
[2026-10-20 02:29:43,057.057 INFO    ] 2026-10-20 02:29:43
[2026-10-20 02:29:43,093.093 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:29:43,348.348 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:29:43,354.354 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:29:43,487.487 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:29:43,542.542 INFO    ] time= 20/10/2026 02:29:43
[2026-10-20 02:29:43,591.591 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:29:43,619.619 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:29:43,769.769 INFO    ] No existing commands found in stream
[2026-10-20 02:29:48,783.783 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:29:48,786.786 INFO    ] Waiting 2.84 seconds before fallback handling...
[2026-10-20 02:29:52,136.136 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:29:52,139.139 INFO    ] Checking for system updates...
[2026-10-20 02:29:52,175.175 INFO    ] 200
[2026-10-20 02:29:52,177.177 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:29:52,233.233 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:29:52,235.235 INFO    ] No update needed
[2026-10-20 02:29:52,237.237 INFO    ] Checking for camera pi updates...
[2026-10-20 02:29:52,271.271 INFO    ] 200
[2026-10-20 02:29:52,274.274 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:29:52,315.315 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:29:52,365.365 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:29:52,368.368 INFO    ] No camera update needed
[2026-10-20 02:29:52,371.371 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:29:52,373.373 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:29:52,380.380 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:29:52,386.386 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:29:54,425.425 INFO    ] ================================================
[2026-10-20 02:29:54,441.441 INFO    ] Launching Daemon at Tue Oct 20 02:29:54 IST 2026
[2026-10-20 02:29:54,452.452 INFO    ] ================================================
[2026-10-20 02:29:55,031.031 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:29:55
[2026-10-20 02:29:55,612.612 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:29:55,876.876 INFO    ] Initializing speech engine...
[2026-10-20 02:29:55,889.889 INFO    ] 2026-10-20 02:29:55
[2026-10-20 02:29:56,135.135 INFO    ] 2026-10-20 02:29:56
[2026-10-20 02:29:56,170.170 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:29:56,420.420 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:29:56,429.429 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:29:56,573.573 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:29:56,632.632 INFO    ] time= 20/10/2026 02:29:56
[2026-10-20 02:29:56,681.681 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:29:56,694.694 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:29:56,838.838 INFO    ] No existing commands found in stream
[2026-10-20 02:30:01,851.851 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:30:01,855.855 INFO    ] Waiting 1.17 seconds before fallback handling...
[2026-10-20 02:30:06,694.694 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:30:06,697.697 INFO    ] Checking for system updates...
[2026-10-20 02:30:06,732.732 INFO    ] 200
[2026-10-20 02:30:06,735.735 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:30:06,786.786 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:30:06,788.788 INFO    ] No update needed
[2026-10-20 02:30:06,791.791 INFO    ] Checking for camera pi updates...
[2026-10-20 02:30:06,828.828 INFO    ] 200
[2026-10-20 02:30:06,830.830 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:30:06,871.871 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:30:06,917.917 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:30:06,919.919 INFO    ] No camera update needed
[2026-10-20 02:30:06,921.921 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:30:06,924.924 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:30:06,929.929 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:30:06,934.934 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:30:08,973.973 INFO    ] ================================================
[2026-10-20 02:30:08,989.989 INFO    ] Launching Daemon at Tue Oct 20 02:30:08 IST 2026
[2026-10-20 02:30:09,002.002 INFO    ] ================================================
[2026-10-20 02:30:09,567.567 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:30:09
[2026-10-20 02:30:10,149.149 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:30:10,418.418 INFO    ] Initializing speech engine...
[2026-10-20 02:30:10,428.428 INFO    ] 2026-10-20 02:30:10
[2026-10-20 02:30:10,674.674 INFO    ] 2026-10-20 02:30:10
[2026-10-20 02:30:10,709.709 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:30:10,911.911 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:30:10,963.963 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:30:11,145.145 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:30:11,194.194 INFO    ] time= 20/10/2026 02:30:11
[2026-10-20 02:30:11,231.231 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:30:11,237.237 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:30:11,381.381 INFO    ] No existing commands found in stream
[2026-10-20 02:30:16,394.394 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:30:16,396.396 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-10-20 02:30:20,013.013 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:30:20,015.015 INFO    ] Checking for system updates...
[2026-10-20 02:30:20,051.051 INFO    ] 200
[2026-10-20 02:30:20,053.053 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:30:20,105.105 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:30:20,107.107 INFO    ] No update needed
[2026-10-20 02:30:20,109.109 INFO    ] Checking for camera pi updates...
[2026-10-20 02:30:20,146.146 INFO    ] 200
[2026-10-20 02:30:20,149.149 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:30:20,189.189 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:30:20,235.235 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:30:20,237.237 INFO    ] No camera update needed
[2026-10-20 02:30:20,240.240 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:30:20,242.242 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:30:20,247.247 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:30:20,252.252 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:30:22,292.292 INFO    ] ================================================
[2026-10-20 02:30:22,307.307 INFO    ] Launching Daemon at Tue Oct 20 02:30:22 IST 2026
[2026-10-20 02:30:22,317.317 INFO    ] ================================================
[2026-10-20 02:30:22,923.923 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:30:22
[2026-10-20 02:30:23,508.508 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:30:23,780.780 INFO    ] Initializing speech engine...
[2026-10-20 02:30:23,786.786 INFO    ] 2026-10-20 02:30:23
[2026-10-20 02:30:24,032.032 INFO    ] 2026-10-20 02:30:24
[2026-10-20 02:30:24,067.067 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:30:24,317.317 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:30:24,327.327 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:30:24,508.508 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:30:24,562.562 INFO    ] time= 20/10/2026 02:30:24
[2026-10-20 02:30:24,590.590 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:30:24,596.596 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:30:24,736.736 INFO    ] No existing commands found in stream
[2026-10-20 02:30:29,753.753 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:30:29,756.756 INFO    ] Waiting 1.94 seconds before fallback handling...
[2026-10-20 02:30:32,279.279 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:30:32,282.282 INFO    ] Checking for system updates...
[2026-10-20 02:30:32,321.321 INFO    ] 200
[2026-10-20 02:30:32,325.325 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:30:32,381.381 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:30:32,384.384 INFO    ] No update needed
[2026-10-20 02:30:32,387.387 INFO    ] Checking for camera pi updates...
[2026-10-20 02:30:32,425.425 INFO    ] 200
[2026-10-20 02:30:32,429.429 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:30:32,476.476 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:30:32,516.516 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:30:32,520.520 INFO    ] No camera update needed
[2026-10-20 02:30:32,524.524 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:30:32,527.527 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:30:32,534.534 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:30:32,539.539 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:30:34,580.580 INFO    ] ================================================
[2026-10-20 02:30:34,595.595 INFO    ] Launching Daemon at Tue Oct 20 02:30:34 IST 2026
[2026-10-20 02:30:34,605.605 INFO    ] ================================================
[2026-10-20 02:30:35,247.247 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:30:35
[2026-10-20 02:30:35,873.873 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:30:36,142.142 INFO    ] Initializing speech engine...
[2026-10-20 02:30:36,151.151 INFO    ] 2026-10-20 02:30:36
[2026-10-20 02:30:36,402.402 INFO    ] 2026-10-20 02:30:36
[2026-10-20 02:30:36,437.437 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:30:36,681.681 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:30:36,690.690 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:30:36,888.888 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:30:36,932.932 INFO    ] time= 20/10/2026 02:30:36
[2026-10-20 02:30:36,951.951 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:30:36,957.957 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:30:37,104.104 INFO    ] No existing commands found in stream
[2026-10-20 02:30:42,126.126 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:30:42,129.129 INFO    ] Waiting 2.32 seconds before fallback handling...
[2026-10-20 02:30:44,947.947 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 02:30:44,950.950 INFO    ] Checking for system updates...
[2026-10-20 02:30:44,985.985 INFO    ] 200
[2026-10-20 02:30:44,988.988 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:30:45,046.046 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:30:45,049.049 INFO    ] No update needed
[2026-10-20 02:30:45,052.052 INFO    ] Checking for camera pi updates...
[2026-10-20 02:30:45,094.094 INFO    ] 200
[2026-10-20 02:30:45,096.096 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:30:45,142.142 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:30:45,198.198 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:30:45,200.200 INFO    ] No camera update needed
[2026-10-20 02:30:45,203.203 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:30:45,205.205 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:30:45,210.210 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:30:45,215.215 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:30:47,255.255 INFO    ] ================================================
[2026-10-20 02:30:47,270.270 INFO    ] Launching Daemon at Tue Oct 20 02:30:47 IST 2026
[2026-10-20 02:30:47,281.281 INFO    ] ================================================
[2026-10-20 02:30:47,851.851 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:30:47
[2026-10-20 02:30:48,432.432 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:30:48,682.682 INFO    ] Initializing speech engine...
[2026-10-20 02:30:48,705.705 INFO    ] 2026-10-20 02:30:48
[2026-10-20 02:30:48,959.959 INFO    ] 2026-10-20 02:30:48
[2026-10-20 02:30:48,994.994 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:30:49,251.251 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:30:49,260.260 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:30:49,398.398 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:30:49,458.458 INFO    ] time= 20/10/2026 02:30:49
[2026-10-20 02:30:49,513.513 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:30:49,531.531 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:30:49,685.685 INFO    ] No existing commands found in stream
[2026-10-20 02:30:54,718.718 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:30:54,721.721 INFO    ] Waiting 0.93 seconds before fallback handling...
[2026-10-20 02:30:56,165.165 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:30:56,168.168 INFO    ] Checking for system updates...
[2026-10-20 02:30:56,203.203 INFO    ] 200
[2026-10-20 02:30:56,205.205 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:30:56,259.259 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:30:56,262.262 INFO    ] No update needed
[2026-10-20 02:30:56,264.264 INFO    ] Checking for camera pi updates...
[2026-10-20 02:30:56,297.297 INFO    ] 200
[2026-10-20 02:30:56,299.299 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:30:56,344.344 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:30:56,478.478 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:30:56,481.481 INFO    ] No camera update needed
[2026-10-20 02:30:56,483.483 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:30:56,485.485 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:30:56,491.491 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:30:56,496.496 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:30:58,535.535 INFO    ] ================================================
[2026-10-20 02:30:58,550.550 INFO    ] Launching Daemon at Tue Oct 20 02:30:58 IST 2026
[2026-10-20 02:30:58,561.561 INFO    ] ================================================
[2026-10-20 02:30:59,127.127 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:30:59
[2026-10-20 02:30:59,711.711 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:30:59,972.972 INFO    ] Initializing speech engine...
[2026-10-20 02:30:59,990.990 INFO    ] 2026-10-20 02:30:59
[2026-10-20 02:31:00,240.240 INFO    ] 2026-10-20 02:31:00
[2026-10-20 02:31:00,275.275 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:31:00,476.476 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:31:00,535.535 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:31:00,680.680 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:31:00,739.739 INFO    ] time= 20/10/2026 02:31:00
[2026-10-20 02:31:00,794.794 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:31:00,817.817 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:31:00,967.967 INFO    ] No existing commands found in stream
[2026-10-20 02:31:05,982.982 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:31:05,985.985 INFO    ] Waiting 2.71 seconds before fallback handling...
[2026-10-20 02:31:09,221.221 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:31:09,224.224 INFO    ] Checking for system updates...
[2026-10-20 02:31:09,259.259 INFO    ] 200
[2026-10-20 02:31:09,261.261 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:31:09,318.318 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:31:09,320.320 INFO    ] No update needed
[2026-10-20 02:31:09,323.323 INFO    ] Checking for camera pi updates...
[2026-10-20 02:31:09,356.356 INFO    ] 200
[2026-10-20 02:31:09,358.358 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:31:09,403.403 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:31:09,446.446 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:31:09,449.449 INFO    ] No camera update needed
[2026-10-20 02:31:09,451.451 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:31:09,454.454 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:31:09,459.459 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:31:09,464.464 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:31:11,503.503 INFO    ] ================================================
[2026-10-20 02:31:11,518.518 INFO    ] Launching Daemon at Tue Oct 20 02:31:11 IST 2026
[2026-10-20 02:31:11,529.529 INFO    ] ================================================
[2026-10-20 02:31:12,105.105 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:31:12
[2026-10-20 02:31:12,693.693 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:31:12,964.964 INFO    ] Initializing speech engine...
[2026-10-20 02:31:12,973.973 INFO    ] 2026-10-20 02:31:12
[2026-10-20 02:31:13,220.220 INFO    ] 2026-10-20 02:31:13
[2026-10-20 02:31:13,260.260 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:31:13,458.458 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:31:13,510.510 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:31:13,733.733 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:31:13,776.776 INFO    ] time= 20/10/2026 02:31:13
[2026-10-20 02:31:13,782.782 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:31:13,800.800 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:31:13,930.930 INFO    ] No existing commands found in stream
[2026-10-20 02:31:18,942.942 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:31:18,945.945 INFO    ] Waiting 2.27 seconds before fallback handling...
[2026-10-20 02:31:21,760.760 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:31:21,763.763 INFO    ] Checking for system updates...
[2026-10-20 02:31:21,798.798 INFO    ] 200
[2026-10-20 02:31:21,801.801 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:31:21,852.852 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:31:21,855.855 INFO    ] No update needed
[2026-10-20 02:31:21,857.857 INFO    ] Checking for camera pi updates...
[2026-10-20 02:31:21,893.893 INFO    ] 200
[2026-10-20 02:31:21,895.895 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:31:21,941.941 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:31:21,987.987 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:31:21,990.990 INFO    ] No camera update needed
[2026-10-20 02:31:21,992.992 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:31:21,995.995 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:31:22,000.000 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:31:22,005.005 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:31:24,045.045 INFO    ] ================================================
[2026-10-20 02:31:24,060.060 INFO    ] Launching Daemon at Tue Oct 20 02:31:24 IST 2026
[2026-10-20 02:31:24,070.070 INFO    ] ================================================
[2026-10-20 02:31:24,642.642 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:31:24
[2026-10-20 02:31:25,236.236 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:31:25,505.505 INFO    ] Initializing speech engine...
[2026-10-20 02:31:25,514.514 INFO    ] 2026-10-20 02:31:25
[2026-10-20 02:31:25,761.761 INFO    ] 2026-10-20 02:31:25
[2026-10-20 02:31:25,801.801 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:31:26,047.047 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:31:26,057.057 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:31:26,195.195 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:31:26,250.250 INFO    ] time= 20/10/2026 02:31:26
[2026-10-20 02:31:26,304.304 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:31:26,324.324 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:31:26,471.471 INFO    ] No existing commands found in stream
[2026-10-20 02:31:31,490.490 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:31:31,493.493 INFO    ] Waiting 2.20 seconds before fallback handling...
[2026-10-20 02:31:34,208.208 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:31:34,211.211 INFO    ] Checking for system updates...
[2026-10-20 02:31:34,247.247 INFO    ] 200
[2026-10-20 02:31:34,250.250 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:31:34,306.306 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:31:34,308.308 INFO    ] No update needed
[2026-10-20 02:31:34,311.311 INFO    ] Checking for camera pi updates...
[2026-10-20 02:31:34,344.344 INFO    ] 200
[2026-10-20 02:31:34,346.346 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:31:34,389.389 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:31:34,438.438 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:31:34,440.440 INFO    ] No camera update needed
[2026-10-20 02:31:34,443.443 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:31:34,445.445 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:31:34,451.451 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:31:34,456.456 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:31:36,496.496 INFO    ] ================================================
[2026-10-20 02:31:36,511.511 INFO    ] Launching Daemon at Tue Oct 20 02:31:36 IST 2026
[2026-10-20 02:31:36,521.521 INFO    ] ================================================
[2026-10-20 02:31:37,116.116 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:31:37
[2026-10-20 02:31:37,754.754 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:31:38,046.046 INFO    ] Initializing speech engine...
[2026-10-20 02:31:38,052.052 INFO    ] 2026-10-20 02:31:38
[2026-10-20 02:31:38,332.332 INFO    ] 2026-10-20 02:31:38
[2026-10-20 02:31:38,376.376 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:31:38,631.631 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:31:38,650.650 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:31:38,865.865 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:31:38,873.873 INFO    ] time= 20/10/2026 02:31:38
[2026-10-20 02:31:38,894.894 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:31:38,923.923 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:31:39,051.051 INFO    ] No existing commands found in stream
[2026-10-20 02:31:44,082.082 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:31:44,085.085 INFO    ] Waiting 1.87 seconds before fallback handling...
[2026-10-20 02:31:46,451.451 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 02:31:46,454.454 INFO    ] Checking for system updates...
[2026-10-20 02:31:46,489.489 INFO    ] 200
[2026-10-20 02:31:46,492.492 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:31:46,547.547 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:31:46,549.549 INFO    ] No update needed
[2026-10-20 02:31:46,552.552 INFO    ] Checking for camera pi updates...
[2026-10-20 02:31:46,585.585 INFO    ] 200
[2026-10-20 02:31:46,588.588 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:31:46,629.629 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:31:46,682.682 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:31:46,684.684 INFO    ] No camera update needed
[2026-10-20 02:31:46,687.687 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:31:46,689.689 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:31:46,694.694 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:31:46,700.700 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:31:48,740.740 INFO    ] ================================================
[2026-10-20 02:31:48,754.754 INFO    ] Launching Daemon at Tue Oct 20 02:31:48 IST 2026
[2026-10-20 02:31:48,765.765 INFO    ] ================================================
[2026-10-20 02:31:49,332.332 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:31:49
[2026-10-20 02:31:49,916.916 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:31:50,192.192 INFO    ] Initializing speech engine...
[2026-10-20 02:31:50,196.196 INFO    ] 2026-10-20 02:31:50
[2026-10-20 02:31:50,456.456 INFO    ] 2026-10-20 02:31:50
[2026-10-20 02:31:50,490.490 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:31:50,738.738 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:31:50,747.747 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:31:50,885.885 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:31:50,914.914 INFO    ] time= 20/10/2026 02:31:50
[2026-10-20 02:31:50,963.963 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:31:51,018.018 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:31:51,159.159 INFO    ] No existing commands found in stream
[2026-10-20 02:31:56,179.179 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:31:56,182.182 INFO    ] Waiting 2.34 seconds before fallback handling...
[2026-10-20 02:31:59,014.014 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 02:31:59,016.016 INFO    ] Checking for system updates...
[2026-10-20 02:31:59,052.052 INFO    ] 200
[2026-10-20 02:31:59,054.054 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:31:59,114.114 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:31:59,116.116 INFO    ] No update needed
[2026-10-20 02:31:59,119.119 INFO    ] Checking for camera pi updates...
[2026-10-20 02:31:59,152.152 INFO    ] 200
[2026-10-20 02:31:59,154.154 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:31:59,197.197 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:31:59,252.252 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:31:59,255.255 INFO    ] No camera update needed
[2026-10-20 02:31:59,257.257 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:31:59,259.259 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:31:59,265.265 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:31:59,269.269 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:32:01,310.310 INFO    ] ================================================
[2026-10-20 02:32:01,325.325 INFO    ] Launching Daemon at Tue Oct 20 02:32:01 IST 2026
[2026-10-20 02:32:01,336.336 INFO    ] ================================================
[2026-10-20 02:32:01,959.959 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:32:01
[2026-10-20 02:32:02,729.729 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:32:03,052.052 INFO    ] Initializing speech engine...
[2026-10-20 02:32:03,066.066 INFO    ] 2026-10-20 02:32:03
[2026-10-20 02:32:03,352.352 INFO    ] 2026-10-20 02:32:03
[2026-10-20 02:32:03,391.391 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:32:03,680.680 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:32:03,690.690 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:32:03,836.836 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:32:03,895.895 INFO    ] time= 20/10/2026 02:32:03
[2026-10-20 02:32:03,950.950 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:32:03,974.974 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:32:04,112.112 INFO    ] No existing commands found in stream
[2026-10-20 02:32:09,139.139 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:32:09,142.142 INFO    ] Waiting 2.88 seconds before fallback handling...
[2026-10-20 02:32:12,540.540 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:32:12,543.543 INFO    ] Checking for system updates...
[2026-10-20 02:32:12,578.578 INFO    ] 200
[2026-10-20 02:32:12,581.581 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:32:12,632.632 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:32:12,634.634 INFO    ] No update needed
[2026-10-20 02:32:12,636.636 INFO    ] Checking for camera pi updates...
[2026-10-20 02:32:12,669.669 INFO    ] 200
[2026-10-20 02:32:12,672.672 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:32:12,711.711 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:32:12,765.765 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:32:12,767.767 INFO    ] No camera update needed
[2026-10-20 02:32:12,770.770 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:32:12,772.772 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:32:12,777.777 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:32:12,782.782 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:32:14,822.822 INFO    ] ================================================
[2026-10-20 02:32:14,837.837 INFO    ] Launching Daemon at Tue Oct 20 02:32:14 IST 2026
[2026-10-20 02:32:14,848.848 INFO    ] ================================================
[2026-10-20 02:32:15,413.413 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:32:15
[2026-10-20 02:32:15,997.997 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:32:16,268.268 INFO    ] Initializing speech engine...
[2026-10-20 02:32:16,277.277 INFO    ] 2026-10-20 02:32:16
[2026-10-20 02:32:16,529.529 INFO    ] 2026-10-20 02:32:16
[2026-10-20 02:32:16,564.564 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:32:16,770.770 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:32:16,820.820 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:32:16,966.966 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:32:17,000.000 INFO    ] time= 20/10/2026 02:32:16
[2026-10-20 02:32:17,049.049 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:32:17,093.093 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:32:17,221.221 INFO    ] No existing commands found in stream
[2026-10-20 02:32:22,251.251 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:32:22,254.254 INFO    ] Waiting 1.57 seconds before fallback handling...
[2026-10-20 02:32:24,322.322 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 02:32:24,325.325 INFO    ] Checking for system updates...
[2026-10-20 02:32:24,361.361 INFO    ] 200
[2026-10-20 02:32:24,364.364 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:32:24,417.417 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:32:24,419.419 INFO    ] No update needed
[2026-10-20 02:32:24,421.421 INFO    ] Checking for camera pi updates...
[2026-10-20 02:32:24,454.454 INFO    ] 200
[2026-10-20 02:32:24,457.457 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:32:24,497.497 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:32:24,544.544 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:32:24,547.547 INFO    ] No camera update needed
[2026-10-20 02:32:24,549.549 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:32:24,551.551 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:32:24,557.557 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:32:24,562.562 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:32:26,601.601 INFO    ] ================================================
[2026-10-20 02:32:26,616.616 INFO    ] Launching Daemon at Tue Oct 20 02:32:26 IST 2026
[2026-10-20 02:32:26,626.626 INFO    ] ================================================
[2026-10-20 02:32:27,194.194 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:32:27
[2026-10-20 02:32:27,785.785 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:32:28,057.057 INFO    ] Initializing speech engine...
[2026-10-20 02:32:28,073.073 INFO    ] 2026-10-20 02:32:28
[2026-10-20 02:32:28,342.342 INFO    ] 2026-10-20 02:32:28
[2026-10-20 02:32:28,380.380 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:32:28,598.598 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:32:28,606.606 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:32:28,802.802 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:32:28,824.824 INFO    ] time= 20/10/2026 02:32:28
[2026-10-20 02:32:28,871.871 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:32:28,941.941 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:32:29,110.110 INFO    ] No existing commands found in stream
[2026-10-20 02:32:34,135.135 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:32:34,138.138 INFO    ] Waiting 1.96 seconds before fallback handling...
[2026-10-20 02:32:36,598.598 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:32:36,601.601 INFO    ] Checking for system updates...
[2026-10-20 02:32:36,640.640 INFO    ] 200
[2026-10-20 02:32:36,642.642 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:32:36,695.695 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:32:36,697.697 INFO    ] No update needed
[2026-10-20 02:32:36,700.700 INFO    ] Checking for camera pi updates...
[2026-10-20 02:32:36,735.735 INFO    ] 200
[2026-10-20 02:32:36,738.738 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:32:36,777.777 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:32:36,835.835 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:32:36,837.837 INFO    ] No camera update needed
[2026-10-20 02:32:36,839.839 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:32:36,842.842 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:32:36,847.847 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:32:36,852.852 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:32:38,892.892 INFO    ] ================================================
[2026-10-20 02:32:38,906.906 INFO    ] Launching Daemon at Tue Oct 20 02:32:38 IST 2026
[2026-10-20 02:32:38,917.917 INFO    ] ================================================
[2026-10-20 02:32:39,487.487 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:32:39
[2026-10-20 02:32:40,076.076 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:32:40,345.345 INFO    ] Initializing speech engine...
[2026-10-20 02:32:40,354.354 INFO    ] 2026-10-20 02:32:40
[2026-10-20 02:32:40,607.607 INFO    ] 2026-10-20 02:32:40
[2026-10-20 02:32:40,642.642 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:32:40,893.893 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:32:40,902.902 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:32:41,096.096 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:32:41,158.158 INFO    ] time= 20/10/2026 02:32:41
[2026-10-20 02:32:41,171.171 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:32:41,188.188 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:32:41,315.315 INFO    ] No existing commands found in stream
[2026-10-20 02:32:46,331.331 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:32:46,333.333 INFO    ] Waiting 0.69 seconds before fallback handling...
[2026-10-20 02:32:47,526.526 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:32:47,529.529 INFO    ] Checking for system updates...
[2026-10-20 02:32:47,566.566 INFO    ] 200
[2026-10-20 02:32:47,569.569 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:32:47,623.623 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:32:47,625.625 INFO    ] No update needed
[2026-10-20 02:32:47,628.628 INFO    ] Checking for camera pi updates...
[2026-10-20 02:32:47,670.670 INFO    ] 200
[2026-10-20 02:32:47,672.672 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:32:47,713.713 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:32:47,773.773 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:32:47,775.775 INFO    ] No camera update needed
[2026-10-20 02:32:47,778.778 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:32:47,781.781 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:32:47,787.787 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:32:47,793.793 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:32:49,834.834 INFO    ] ================================================
[2026-10-20 02:32:49,849.849 INFO    ] Launching Daemon at Tue Oct 20 02:32:49 IST 2026
[2026-10-20 02:32:49,860.860 INFO    ] ================================================
[2026-10-20 02:32:50,440.440 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:32:50
[2026-10-20 02:32:51,036.036 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:32:51,308.308 INFO    ] Initializing speech engine...
[2026-10-20 02:32:51,317.317 INFO    ] 2026-10-20 02:32:51
[2026-10-20 02:32:51,578.578 INFO    ] 2026-10-20 02:32:51
[2026-10-20 02:32:51,608.608 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:32:51,854.854 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:32:51,864.864 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:32:51,998.998 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:32:52,073.073 INFO    ] time= 20/10/2026 02:32:52
[2026-10-20 02:32:52,127.127 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:32:52,133.133 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:32:52,268.268 INFO    ] No existing commands found in stream
[2026-10-20 02:32:57,290.290 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:32:57,292.292 INFO    ] Waiting 2.69 seconds before fallback handling...
[2026-10-20 02:33:00,473.473 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:33:00,476.476 INFO    ] Checking for system updates...
[2026-10-20 02:33:00,516.516 INFO    ] 200
[2026-10-20 02:33:00,519.519 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:33:00,573.573 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:33:00,576.576 INFO    ] No update needed
[2026-10-20 02:33:00,579.579 INFO    ] Checking for camera pi updates...
[2026-10-20 02:33:00,614.614 INFO    ] 200
[2026-10-20 02:33:00,617.617 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:33:00,664.664 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:33:00,810.810 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:33:00,813.813 INFO    ] No camera update needed
[2026-10-20 02:33:00,815.815 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:33:00,818.818 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:33:00,825.825 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:33:00,831.831 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:33:02,876.876 INFO    ] ================================================
[2026-10-20 02:33:02,892.892 INFO    ] Launching Daemon at Tue Oct 20 02:33:02 IST 2026
[2026-10-20 02:33:02,903.903 INFO    ] ================================================
[2026-10-20 02:33:03,482.482 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:33:03
[2026-10-20 02:33:04,068.068 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:33:04,337.337 INFO    ] Initializing speech engine...
[2026-10-20 02:33:04,346.346 INFO    ] 2026-10-20 02:33:04
[2026-10-20 02:33:04,597.597 INFO    ] 2026-10-20 02:33:04
[2026-10-20 02:33:04,634.634 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:33:04,883.883 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:33:04,888.888 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:33:05,115.115 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:33:05,144.144 INFO    ] time= 20/10/2026 02:33:05
[2026-10-20 02:33:05,150.150 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:33:05,168.168 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:33:05,294.294 INFO    ] No existing commands found in stream
[2026-10-20 02:33:10,309.309 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:33:10,312.312 INFO    ] Waiting 0.78 seconds before fallback handling...
[2026-10-20 02:33:11,608.608 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:33:11,610.610 INFO    ] Checking for system updates...
[2026-10-20 02:33:11,646.646 INFO    ] 200
[2026-10-20 02:33:11,649.649 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:33:11,705.705 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:33:11,708.708 INFO    ] No update needed
[2026-10-20 02:33:11,710.710 INFO    ] Checking for camera pi updates...
[2026-10-20 02:33:11,743.743 INFO    ] 200
[2026-10-20 02:33:11,745.745 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:33:11,792.792 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:33:11,837.837 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:33:11,839.839 INFO    ] No camera update needed
[2026-10-20 02:33:11,842.842 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:33:11,844.844 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:33:11,849.849 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:33:11,854.854 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:33:13,893.893 INFO    ] ================================================
[2026-10-20 02:33:13,908.908 INFO    ] Launching Daemon at Tue Oct 20 02:33:13 IST 2026
[2026-10-20 02:33:13,918.918 INFO    ] ================================================
[2026-10-20 02:33:14,500.500 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:33:14
[2026-10-20 02:33:15,098.098 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:33:15,375.375 INFO    ] Initializing speech engine...
[2026-10-20 02:33:15,385.385 INFO    ] 2026-10-20 02:33:15
[2026-10-20 02:33:15,642.642 INFO    ] 2026-10-20 02:33:15
[2026-10-20 02:33:15,672.672 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:33:15,917.917 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:33:15,926.926 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:33:16,144.144 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:33:16,184.184 INFO    ] time= 20/10/2026 02:33:16
[2026-10-20 02:33:16,190.190 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:33:16,211.211 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:33:16,333.333 INFO    ] No existing commands found in stream
[2026-10-20 02:33:21,352.352 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:33:21,355.355 INFO    ] Waiting 2.70 seconds before fallback handling...
[2026-10-20 02:33:24,582.582 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:33:24,584.584 INFO    ] Checking for system updates...
[2026-10-20 02:33:24,635.635 INFO    ] 200
[2026-10-20 02:33:24,638.638 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 02:33:24,641.641 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-10-20 02:33:24,644.644 INFO    ] Checking for camera pi updates...
[2026-10-20 02:33:24,681.681 INFO    ] 200
[2026-10-20 02:33:24,684.684 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 02:33:24,686.686 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-10-20 02:33:24,689.689 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:33:24,692.692 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:33:24,697.697 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:33:24,702.702 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:33:26,743.743 INFO    ] ================================================
[2026-10-20 02:33:26,758.758 INFO    ] Launching Daemon at Tue Oct 20 02:33:26 IST 2026
[2026-10-20 02:33:26,769.769 INFO    ] ================================================
[2026-10-20 02:33:27,339.339 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:33:27
[2026-10-20 02:33:27,929.929 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:33:28,187.187 INFO    ] Initializing speech engine...
[2026-10-20 02:33:28,196.196 INFO    ] 2026-10-20 02:33:28
[2026-10-20 02:33:28,492.492 INFO    ] 2026-10-20 02:33:28
[2026-10-20 02:33:28,530.530 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:33:28,742.742 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:33:28,762.762 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:33:28,965.965 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:33:28,989.989 INFO    ] time= 20/10/2026 02:33:28
[2026-10-20 02:33:29,026.026 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:33:29,082.082 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:33:29,197.197 INFO    ] No existing commands found in stream
[2026-10-20 02:33:34,210.210 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:33:34,213.213 INFO    ] Waiting 0.23 seconds before fallback handling...
[2026-10-20 02:33:34,929.929 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:33:34,931.931 INFO    ] Checking for system updates...
[2026-10-20 02:33:34,967.967 INFO    ] 200
[2026-10-20 02:33:34,970.970 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:33:35,022.022 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:33:35,025.025 INFO    ] No update needed
[2026-10-20 02:33:35,027.027 INFO    ] Checking for camera pi updates...
[2026-10-20 02:33:35,063.063 INFO    ] 200
[2026-10-20 02:33:35,065.065 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:33:35,112.112 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:33:35,166.166 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:33:35,169.169 INFO    ] No camera update needed
[2026-10-20 02:33:35,171.171 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:33:35,173.173 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:33:35,179.179 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:33:35,184.184 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:33:37,225.225 INFO    ] ================================================
[2026-10-20 02:33:37,241.241 INFO    ] Launching Daemon at Tue Oct 20 02:33:37 IST 2026
[2026-10-20 02:33:37,252.252 INFO    ] ================================================
[2026-10-20 02:33:37,834.834 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:33:37
[2026-10-20 02:33:38,436.436 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:33:38,695.695 INFO    ] Initializing speech engine...
[2026-10-20 02:33:38,701.701 INFO    ] 2026-10-20 02:33:38
[2026-10-20 02:33:39,004.004 INFO    ] 2026-10-20 02:33:38
[2026-10-20 02:33:39,042.042 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:33:39,243.243 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:33:39,269.269 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:33:39,423.423 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:33:39,429.429 INFO    ] time= 20/10/2026 02:33:39
[2026-10-20 02:33:39,435.435 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:33:39,458.458 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:33:39,601.601 INFO    ] No existing commands found in stream
[2026-10-20 02:33:44,621.621 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:33:44,624.624 INFO    ] Waiting 3.27 seconds before fallback handling...
[2026-10-20 02:33:48,393.393 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:33:48,396.396 INFO    ] Checking for system updates...
[2026-10-20 02:33:48,433.433 INFO    ] 200
[2026-10-20 02:33:48,435.435 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:33:48,496.496 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:33:48,499.499 INFO    ] No update needed
[2026-10-20 02:33:48,502.502 INFO    ] Checking for camera pi updates...
[2026-10-20 02:33:48,537.537 INFO    ] 200
[2026-10-20 02:33:48,540.540 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:33:48,582.582 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:33:48,632.632 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:33:48,635.635 INFO    ] No camera update needed
[2026-10-20 02:33:48,637.637 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:33:48,640.640 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:33:48,646.646 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:33:48,652.652 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:33:50,694.694 INFO    ] ================================================
[2026-10-20 02:33:50,710.710 INFO    ] Launching Daemon at Tue Oct 20 02:33:50 IST 2026
[2026-10-20 02:33:50,724.724 INFO    ] ================================================
[2026-10-20 02:33:51,308.308 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:33:51
[2026-10-20 02:33:51,903.903 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:33:52,155.155 INFO    ] Initializing speech engine...
[2026-10-20 02:33:52,164.164 INFO    ] 2026-10-20 02:33:52
[2026-10-20 02:33:52,439.439 INFO    ] 2026-10-20 02:33:52
[2026-10-20 02:33:52,472.472 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:33:52,677.677 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:33:52,738.738 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:33:52,883.883 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:33:52,917.917 INFO    ] time= 20/10/2026 02:33:52
[2026-10-20 02:33:52,961.961 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:33:53,011.011 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:33:53,130.130 INFO    ] No existing commands found in stream
[2026-10-20 02:33:58,141.141 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:33:58,144.144 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-10-20 02:34:01,159.159 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 02:34:01,163.163 INFO    ] Checking for system updates...
[2026-10-20 02:34:01,200.200 INFO    ] 200
[2026-10-20 02:34:01,203.203 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:34:01,263.263 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:34:01,266.266 INFO    ] No update needed
[2026-10-20 02:34:01,268.268 INFO    ] Checking for camera pi updates...
[2026-10-20 02:34:01,301.301 INFO    ] 200
[2026-10-20 02:34:01,304.304 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:34:01,344.344 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:34:01,383.383 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:34:01,386.386 INFO    ] No camera update needed
[2026-10-20 02:34:01,388.388 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:34:01,390.390 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:34:01,396.396 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:34:01,401.401 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:34:03,446.446 INFO    ] ================================================
[2026-10-20 02:34:03,465.465 INFO    ] Launching Daemon at Tue Oct 20 02:34:03 IST 2026
[2026-10-20 02:34:03,480.480 INFO    ] ================================================
[2026-10-20 02:34:04,096.096 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:34:04
[2026-10-20 02:34:04,683.683 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:34:04,935.935 INFO    ] Initializing speech engine...
[2026-10-20 02:34:04,944.944 INFO    ] 2026-10-20 02:34:04
[2026-10-20 02:34:05,241.241 INFO    ] 2026-10-20 02:34:05
[2026-10-20 02:34:05,277.277 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:34:05,475.475 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:34:05,488.488 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:34:05,651.651 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:34:05,657.657 INFO    ] time= 20/10/2026 02:34:05
[2026-10-20 02:34:05,663.663 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:34:05,691.691 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:34:05,807.807 INFO    ] No existing commands found in stream
[2026-10-20 02:34:10,832.832 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:34:10,835.835 INFO    ] Waiting 2.18 seconds before fallback handling...
[2026-10-20 02:34:13,529.529 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:34:13,532.532 INFO    ] Checking for system updates...
[2026-10-20 02:34:13,567.567 INFO    ] 200
[2026-10-20 02:34:13,569.569 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:34:13,621.621 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:34:13,623.623 INFO    ] No update needed
[2026-10-20 02:34:13,626.626 INFO    ] Checking for camera pi updates...
[2026-10-20 02:34:13,659.659 INFO    ] 200
[2026-10-20 02:34:13,661.661 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:34:13,705.705 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:34:13,747.747 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:34:13,750.750 INFO    ] No camera update needed
[2026-10-20 02:34:13,752.752 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:34:13,755.755 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:34:13,760.760 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:34:13,765.765 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:34:15,811.811 INFO    ] ================================================
[2026-10-20 02:34:15,827.827 INFO    ] Launching Daemon at Tue Oct 20 02:34:15 IST 2026
[2026-10-20 02:34:15,838.838 INFO    ] ================================================
[2026-10-20 02:34:16,404.404 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:34:16
[2026-10-20 02:34:16,989.989 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:34:17,244.244 INFO    ] Initializing speech engine...
[2026-10-20 02:34:17,253.253 INFO    ] 2026-10-20 02:34:17
[2026-10-20 02:34:17,543.543 INFO    ] 2026-10-20 02:34:17
[2026-10-20 02:34:17,580.580 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:34:17,777.777 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:34:17,803.803 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:34:18,025.025 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:34:18,036.036 INFO    ] time= 20/10/2026 02:34:18
[2026-10-20 02:34:18,090.090 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:34:18,129.129 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:34:18,240.240 INFO    ] No existing commands found in stream
[2026-10-20 02:34:23,251.251 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:34:23,254.254 INFO    ] Waiting 2.61 seconds before fallback handling...
[2026-10-20 02:34:26,404.404 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:34:26,407.407 INFO    ] Checking for system updates...
[2026-10-20 02:34:26,446.446 INFO    ] 200
[2026-10-20 02:34:26,449.449 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:34:26,513.513 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:34:26,516.516 INFO    ] No update needed
[2026-10-20 02:34:26,518.518 INFO    ] Checking for camera pi updates...
[2026-10-20 02:34:26,555.555 INFO    ] 200
[2026-10-20 02:34:26,558.558 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:34:26,604.604 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:34:26,648.648 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:34:26,651.651 INFO    ] No camera update needed
[2026-10-20 02:34:26,669.669 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:34:26,672.672 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:34:26,678.678 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:34:26,685.685 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:34:28,728.728 INFO    ] ================================================
[2026-10-20 02:34:28,743.743 INFO    ] Launching Daemon at Tue Oct 20 02:34:28 IST 2026
[2026-10-20 02:34:28,755.755 INFO    ] ================================================
[2026-10-20 02:34:29,326.326 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:34:29
[2026-10-20 02:34:29,913.913 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:34:30,183.183 INFO    ] Initializing speech engine...
[2026-10-20 02:34:30,192.192 INFO    ] 2026-10-20 02:34:30
[2026-10-20 02:34:30,438.438 INFO    ] 2026-10-20 02:34:30
[2026-10-20 02:34:30,473.473 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:34:30,724.724 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:34:30,733.733 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:34:30,920.920 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:34:30,980.980 INFO    ] time= 20/10/2026 02:34:30
[2026-10-20 02:34:30,995.995 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:34:31,012.012 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:34:31,145.145 INFO    ] No existing commands found in stream
[2026-10-20 02:34:36,158.158 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:34:36,161.161 INFO    ] Waiting 1.61 seconds before fallback handling...
[2026-10-20 02:34:38,293.293 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:34:38,296.296 INFO    ] Checking for system updates...
[2026-10-20 02:34:38,333.333 INFO    ] 200
[2026-10-20 02:34:38,335.335 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:34:38,393.393 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:34:38,395.395 INFO    ] No update needed
[2026-10-20 02:34:38,398.398 INFO    ] Checking for camera pi updates...
[2026-10-20 02:34:38,431.431 INFO    ] 200
[2026-10-20 02:34:38,433.433 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:34:38,474.474 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:34:38,528.528 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:34:38,531.531 INFO    ] No camera update needed
[2026-10-20 02:34:38,533.533 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:34:38,536.536 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:34:38,541.541 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:34:38,546.546 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:34:40,588.588 INFO    ] ================================================
[2026-10-20 02:34:40,603.603 INFO    ] Launching Daemon at Tue Oct 20 02:34:40 IST 2026
[2026-10-20 02:34:40,614.614 INFO    ] ================================================
[2026-10-20 02:34:41,223.223 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:34:41
[2026-10-20 02:34:41,849.849 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:34:42,138.138 INFO    ] Initializing speech engine...
[2026-10-20 02:34:42,146.146 INFO    ] 2026-10-20 02:34:42
[2026-10-20 02:34:42,420.420 INFO    ] 2026-10-20 02:34:42
[2026-10-20 02:34:42,465.465 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:34:42,689.689 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:34:42,694.694 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:34:42,907.907 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:34:42,952.952 INFO    ] time= 20/10/2026 02:34:42
[2026-10-20 02:34:42,958.958 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:34:42,976.976 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:34:43,106.106 INFO    ] No existing commands found in stream
[2026-10-20 02:34:48,121.121 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:34:48,124.124 INFO    ] Waiting 0.95 seconds before fallback handling...
[2026-10-20 02:34:49,601.601 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 02:34:49,604.604 INFO    ] Checking for system updates...
[2026-10-20 02:34:49,639.639 INFO    ] 200
[2026-10-20 02:34:49,641.641 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:34:49,694.694 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:34:49,696.696 INFO    ] No update needed
[2026-10-20 02:34:49,699.699 INFO    ] Checking for camera pi updates...
[2026-10-20 02:34:49,735.735 INFO    ] 200
[2026-10-20 02:34:49,737.737 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:34:49,777.777 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:34:49,810.810 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:34:49,812.812 INFO    ] No camera update needed
[2026-10-20 02:34:49,814.814 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:34:49,817.817 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:34:49,822.822 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:34:49,827.827 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:34:51,868.868 INFO    ] ================================================
[2026-10-20 02:34:51,884.884 INFO    ] Launching Daemon at Tue Oct 20 02:34:51 IST 2026
[2026-10-20 02:34:51,895.895 INFO    ] ================================================
[2026-10-20 02:34:52,461.461 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:34:52
[2026-10-20 02:34:53,044.044 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:34:53,302.302 INFO    ] Initializing speech engine...
[2026-10-20 02:34:53,320.320 INFO    ] 2026-10-20 02:34:53
[2026-10-20 02:34:53,568.568 INFO    ] 2026-10-20 02:34:53
[2026-10-20 02:34:53,602.602 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:34:53,854.854 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:34:53,864.864 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:34:54,058.058 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:34:54,118.118 INFO    ] time= 20/10/2026 02:34:54
[2026-10-20 02:34:54,129.129 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:34:54,146.146 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:34:54,258.258 INFO    ] No existing commands found in stream
[2026-10-20 02:34:59,285.285 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:34:59,289.289 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-10-20 02:35:00,419.419 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 02:35:00,421.421 INFO    ] Checking for system updates...
[2026-10-20 02:35:00,457.457 INFO    ] 200
[2026-10-20 02:35:00,459.459 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:35:00,511.511 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:35:00,514.514 INFO    ] No update needed
[2026-10-20 02:35:00,516.516 INFO    ] Checking for camera pi updates...
[2026-10-20 02:35:00,552.552 INFO    ] 200
[2026-10-20 02:35:00,555.555 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:35:00,594.594 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:35:00,645.645 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:35:00,648.648 INFO    ] No camera update needed
[2026-10-20 02:35:00,650.650 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:35:00,652.652 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:35:00,658.658 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:35:00,663.663 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:35:02,706.706 INFO    ] ================================================
[2026-10-20 02:35:02,727.727 INFO    ] Launching Daemon at Tue Oct 20 02:35:02 IST 2026
[2026-10-20 02:35:02,744.744 INFO    ] ================================================
[2026-10-20 02:35:03,376.376 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:35:03
[2026-10-20 02:35:04,085.085 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:35:04,380.380 INFO    ] Initializing speech engine...
[2026-10-20 02:35:04,389.389 INFO    ] 2026-10-20 02:35:04
[2026-10-20 02:35:04,645.645 INFO    ] 2026-10-20 02:35:04
[2026-10-20 02:35:04,688.688 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:35:04,940.940 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:35:04,945.945 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:35:05,085.085 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:35:05,156.156 INFO    ] time= 20/10/2026 02:35:05
[2026-10-20 02:35:05,209.209 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:35:05,216.216 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:35:05,364.364 INFO    ] No existing commands found in stream
[2026-10-20 02:35:10,384.384 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:35:10,387.387 INFO    ] Waiting 0.97 seconds before fallback handling...
[2026-10-20 02:35:11,914.914 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 02:35:11,917.917 INFO    ] Checking for system updates...
[2026-10-20 02:35:11,959.959 INFO    ] 200
[2026-10-20 02:35:11,962.962 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:35:12,017.017 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:35:12,020.020 INFO    ] No update needed
[2026-10-20 02:35:12,023.023 INFO    ] Checking for camera pi updates...
[2026-10-20 02:35:12,058.058 INFO    ] 200
[2026-10-20 02:35:12,061.061 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:35:12,107.107 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:35:12,153.153 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:35:12,156.156 INFO    ] No camera update needed
[2026-10-20 02:35:12,159.159 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:35:12,161.161 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:35:12,167.167 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:35:12,173.173 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:35:14,213.213 INFO    ] ================================================
[2026-10-20 02:35:14,229.229 INFO    ] Launching Daemon at Tue Oct 20 02:35:14 IST 2026
[2026-10-20 02:35:14,240.240 INFO    ] ================================================
[2026-10-20 02:35:14,806.806 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:35:14
[2026-10-20 02:35:15,390.390 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:35:15,639.639 INFO    ] Initializing speech engine...
[2026-10-20 02:35:15,647.647 INFO    ] 2026-10-20 02:35:15
[2026-10-20 02:35:15,934.934 INFO    ] 2026-10-20 02:35:15
[2026-10-20 02:35:15,971.971 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:35:16,184.184 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:35:16,192.192 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:35:16,402.402 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:35:16,408.408 INFO    ] time= 20/10/2026 02:35:16
[2026-10-20 02:35:16,433.433 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:35:16,487.487 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:35:16,574.574 INFO    ] No existing commands found in stream
[2026-10-20 02:35:21,590.590 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:35:21,593.593 INFO    ] Waiting 2.83 seconds before fallback handling...
[2026-10-20 02:35:24,925.925 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 02:35:24,928.928 INFO    ] Checking for system updates...
[2026-10-20 02:35:24,965.965 INFO    ] 200
[2026-10-20 02:35:24,967.967 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:35:25,023.023 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:35:25,026.026 INFO    ] No update needed
[2026-10-20 02:35:25,028.028 INFO    ] Checking for camera pi updates...
[2026-10-20 02:35:25,061.061 INFO    ] 200
[2026-10-20 02:35:25,063.063 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:35:25,106.106 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:35:25,161.161 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:35:25,164.164 INFO    ] No camera update needed
[2026-10-20 02:35:25,166.166 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:35:25,168.168 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:35:25,174.174 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:35:25,179.179 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:35:27,218.218 INFO    ] ================================================
[2026-10-20 02:35:27,233.233 INFO    ] Launching Daemon at Tue Oct 20 02:35:27 IST 2026
[2026-10-20 02:35:27,244.244 INFO    ] ================================================
[2026-10-20 02:35:27,863.863 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:35:27
[2026-10-20 02:35:28,501.501 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:35:28,787.787 INFO    ] Initializing speech engine...
[2026-10-20 02:35:28,798.798 INFO    ] 2026-10-20 02:35:28
[2026-10-20 02:35:29,080.080 INFO    ] 2026-10-20 02:35:29
[2026-10-20 02:35:29,123.123 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:35:29,406.406 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:35:29,414.414 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:35:29,608.608 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:35:29,615.615 INFO    ] time= 20/10/2026 02:35:29
[2026-10-20 02:35:29,633.633 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:35:29,662.662 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:35:29,783.783 INFO    ] No existing commands found in stream
[2026-10-20 02:35:34,813.813 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:35:34,816.816 INFO    ] Waiting 1.24 seconds before fallback handling...
[2026-10-20 02:35:36,602.602 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:35:36,605.605 INFO    ] Checking for system updates...
[2026-10-20 02:35:36,642.642 INFO    ] 200
[2026-10-20 02:35:36,645.645 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:35:36,696.696 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:35:36,699.699 INFO    ] No update needed
[2026-10-20 02:35:36,702.702 INFO    ] Checking for camera pi updates...
[2026-10-20 02:35:36,736.736 INFO    ] 200
[2026-10-20 02:35:36,738.738 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:35:36,779.779 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:35:36,829.829 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:35:36,832.832 INFO    ] No camera update needed
[2026-10-20 02:35:36,834.834 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:35:36,837.837 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:35:36,843.843 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:35:36,848.848 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:35:38,889.889 INFO    ] ================================================
[2026-10-20 02:35:38,904.904 INFO    ] Launching Daemon at Tue Oct 20 02:35:38 IST 2026
[2026-10-20 02:35:38,915.915 INFO    ] ================================================
[2026-10-20 02:35:39,530.530 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:35:39
[2026-10-20 02:35:40,153.153 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:35:40,442.442 INFO    ] Initializing speech engine...
[2026-10-20 02:35:40,448.448 INFO    ] 2026-10-20 02:35:40
[2026-10-20 02:35:40,707.707 INFO    ] 2026-10-20 02:35:40
[2026-10-20 02:35:40,737.737 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:35:40,983.983 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:35:40,993.993 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:35:41,133.133 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:35:41,187.187 INFO    ] time= 20/10/2026 02:35:41
[2026-10-20 02:35:41,243.243 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:35:41,279.279 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:35:41,393.393 INFO    ] No existing commands found in stream
[2026-10-20 02:35:46,403.403 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:35:46,405.405 INFO    ] Waiting 1.63 seconds before fallback handling...
[2026-10-20 02:35:48,521.521 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:35:48,524.524 INFO    ] Checking for system updates...
[2026-10-20 02:35:48,559.559 INFO    ] 200
[2026-10-20 02:35:48,561.561 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:35:48,619.619 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:35:48,621.621 INFO    ] No update needed
[2026-10-20 02:35:48,624.624 INFO    ] Checking for camera pi updates...
[2026-10-20 02:35:48,657.657 INFO    ] 200
[2026-10-20 02:35:48,659.659 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:35:48,701.701 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:35:48,756.756 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:35:48,759.759 INFO    ] No camera update needed
[2026-10-20 02:35:48,761.761 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:35:48,764.764 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:35:48,769.769 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:35:48,774.774 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:35:50,813.813 INFO    ] ================================================
[2026-10-20 02:35:50,829.829 INFO    ] Launching Daemon at Tue Oct 20 02:35:50 IST 2026
[2026-10-20 02:35:50,840.840 INFO    ] ================================================
[2026-10-20 02:35:51,471.471 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:35:51
[2026-10-20 02:35:52,123.123 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:35:52,420.420 INFO    ] Initializing speech engine...
[2026-10-20 02:35:52,434.434 INFO    ] 2026-10-20 02:35:52
[2026-10-20 02:35:52,715.715 INFO    ] 2026-10-20 02:35:52
[2026-10-20 02:35:52,764.764 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:35:53,035.035 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:35:53,043.043 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:35:53,241.241 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:35:53,248.248 INFO    ] time= 20/10/2026 02:35:53
[2026-10-20 02:35:53,269.269 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:35:53,295.295 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:35:53,408.408 INFO    ] No existing commands found in stream
[2026-10-20 02:35:58,438.438 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:35:58,442.442 INFO    ] Waiting 0.35 seconds before fallback handling...
[2026-10-20 02:35:59,271.271 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:35:59,274.274 INFO    ] Checking for system updates...
[2026-10-20 02:35:59,310.310 INFO    ] 200
[2026-10-20 02:35:59,313.313 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:35:59,364.364 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:35:59,367.367 INFO    ] No update needed
[2026-10-20 02:35:59,369.369 INFO    ] Checking for camera pi updates...
[2026-10-20 02:35:59,402.402 INFO    ] 200
[2026-10-20 02:35:59,405.405 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:35:59,445.445 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:35:59,494.494 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:35:59,496.496 INFO    ] No camera update needed
[2026-10-20 02:35:59,499.499 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:35:59,501.501 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:35:59,506.506 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:35:59,512.512 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:36:01,558.558 INFO    ] ================================================
[2026-10-20 02:36:01,578.578 INFO    ] Launching Daemon at Tue Oct 20 02:36:01 IST 2026
[2026-10-20 02:36:01,591.591 INFO    ] ================================================
[2026-10-20 02:36:02,282.282 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:36:02
[2026-10-20 02:36:03,026.026 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:36:03,337.337 INFO    ] Initializing speech engine...
[2026-10-20 02:36:03,349.349 INFO    ] 2026-10-20 02:36:03
[2026-10-20 02:36:03,621.621 INFO    ] 2026-10-20 02:36:03
[2026-10-20 02:36:03,657.657 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:36:03,914.914 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:36:03,924.924 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:36:04,058.058 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:36:04,118.118 INFO    ] time= 20/10/2026 02:36:04
[2026-10-20 02:36:04,178.178 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:36:04,192.192 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:36:04,335.335 INFO    ] No existing commands found in stream
[2026-10-20 02:36:09,351.351 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:36:09,354.354 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-10-20 02:36:13,020.020 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:36:13,023.023 INFO    ] Checking for system updates...
[2026-10-20 02:36:13,059.059 INFO    ] 200
[2026-10-20 02:36:13,062.062 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:36:13,133.133 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:36:13,136.136 INFO    ] No update needed
[2026-10-20 02:36:13,139.139 INFO    ] Checking for camera pi updates...
[2026-10-20 02:36:13,177.177 INFO    ] 200
[2026-10-20 02:36:13,180.180 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:36:13,233.233 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:36:13,280.280 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:36:13,283.283 INFO    ] No camera update needed
[2026-10-20 02:36:13,286.286 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:36:13,289.289 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:36:13,295.295 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:36:13,301.301 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:36:15,341.341 INFO    ] ================================================
[2026-10-20 02:36:15,356.356 INFO    ] Launching Daemon at Tue Oct 20 02:36:15 IST 2026
[2026-10-20 02:36:15,367.367 INFO    ] ================================================
[2026-10-20 02:36:15,934.934 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:36:15
[2026-10-20 02:36:16,516.516 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:36:16,783.783 INFO    ] Initializing speech engine...
[2026-10-20 02:36:16,792.792 INFO    ] 2026-10-20 02:36:16
[2026-10-20 02:36:17,038.038 INFO    ] 2026-10-20 02:36:17
[2026-10-20 02:36:17,073.073 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:36:17,324.324 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:36:17,334.334 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:36:17,543.543 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:36:17,591.591 INFO    ] time= 20/10/2026 02:36:17
[2026-10-20 02:36:17,598.598 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:36:17,615.615 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:36:17,750.750 INFO    ] No existing commands found in stream
[2026-10-20 02:36:22,775.775 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:36:22,778.778 INFO    ] Waiting 0.88 seconds before fallback handling...
[2026-10-20 02:36:24,193.193 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 02:36:24,196.196 INFO    ] Checking for system updates...
[2026-10-20 02:36:24,231.231 INFO    ] 200
[2026-10-20 02:36:24,233.233 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:36:24,285.285 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:36:24,288.288 INFO    ] No update needed
[2026-10-20 02:36:24,290.290 INFO    ] Checking for camera pi updates...
[2026-10-20 02:36:24,328.328 INFO    ] 200
[2026-10-20 02:36:24,330.330 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:36:24,371.371 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:36:24,443.443 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:36:24,446.446 INFO    ] No camera update needed
[2026-10-20 02:36:24,449.449 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:36:24,451.451 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:36:24,457.457 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:36:24,463.463 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:36:26,504.504 INFO    ] ================================================
[2026-10-20 02:36:26,519.519 INFO    ] Launching Daemon at Tue Oct 20 02:36:26 IST 2026
[2026-10-20 02:36:26,529.529 INFO    ] ================================================
[2026-10-20 02:36:27,096.096 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:36:27
[2026-10-20 02:36:27,680.680 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:36:27,947.947 INFO    ] Initializing speech engine...
[2026-10-20 02:36:27,956.956 INFO    ] 2026-10-20 02:36:27
[2026-10-20 02:36:28,200.200 INFO    ] 2026-10-20 02:36:28
[2026-10-20 02:36:28,234.234 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:36:28,427.427 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:36:28,435.435 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:36:28,626.626 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:36:28,632.632 INFO    ] time= 20/10/2026 02:36:28
[2026-10-20 02:36:28,696.696 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:36:28,750.750 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:36:28,896.896 INFO    ] No existing commands found in stream
[2026-10-20 02:36:33,917.917 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:36:33,920.920 INFO    ] Waiting 2.87 seconds before fallback handling...
[2026-10-20 02:36:37,343.343 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:36:37,346.346 INFO    ] Checking for system updates...
[2026-10-20 02:36:37,381.381 INFO    ] 200
[2026-10-20 02:36:37,383.383 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:36:37,434.434 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:36:37,437.437 INFO    ] No update needed
[2026-10-20 02:36:37,439.439 INFO    ] Checking for camera pi updates...
[2026-10-20 02:36:37,472.472 INFO    ] 200
[2026-10-20 02:36:37,474.474 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:36:37,517.517 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:36:37,557.557 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:36:37,560.560 INFO    ] No camera update needed
[2026-10-20 02:36:37,562.562 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:36:37,564.564 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:36:37,570.570 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:36:37,575.575 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:36:39,616.616 INFO    ] ================================================
[2026-10-20 02:36:39,631.631 INFO    ] Launching Daemon at Tue Oct 20 02:36:39 IST 2026
[2026-10-20 02:36:39,642.642 INFO    ] ================================================
[2026-10-20 02:36:40,272.272 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:36:40
[2026-10-20 02:36:40,921.921 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:36:41,212.212 INFO    ] Initializing speech engine...
[2026-10-20 02:36:41,224.224 INFO    ] 2026-10-20 02:36:41
[2026-10-20 02:36:41,493.493 INFO    ] 2026-10-20 02:36:41
[2026-10-20 02:36:41,547.547 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:36:41,775.775 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:36:41,782.782 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:36:42,002.002 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:36:42,037.037 INFO    ] time= 20/10/2026 02:36:42
[2026-10-20 02:36:42,056.056 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:36:42,065.065 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:36:42,189.189 INFO    ] No existing commands found in stream
[2026-10-20 02:36:47,204.204 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:36:47,208.208 INFO    ] Waiting 3.03 seconds before fallback handling...
[2026-10-20 02:36:50,788.788 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:36:50,791.791 INFO    ] Checking for system updates...
[2026-10-20 02:36:50,828.828 INFO    ] 200
[2026-10-20 02:36:50,831.831 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:36:50,889.889 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:36:50,892.892 INFO    ] No update needed
[2026-10-20 02:36:50,894.894 INFO    ] Checking for camera pi updates...
[2026-10-20 02:36:50,931.931 INFO    ] 200
[2026-10-20 02:36:50,933.933 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:36:50,974.974 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:36:51,025.025 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:36:51,027.027 INFO    ] No camera update needed
[2026-10-20 02:36:51,030.030 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:36:51,032.032 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:36:51,038.038 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:36:51,043.043 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:36:53,083.083 INFO    ] ================================================
[2026-10-20 02:36:53,098.098 INFO    ] Launching Daemon at Tue Oct 20 02:36:53 IST 2026
[2026-10-20 02:36:53,109.109 INFO    ] ================================================
[2026-10-20 02:36:53,682.682 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:36:53
[2026-10-20 02:36:54,265.265 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:36:54,524.524 INFO    ] Initializing speech engine...
[2026-10-20 02:36:54,549.549 INFO    ] 2026-10-20 02:36:54
[2026-10-20 02:36:54,818.818 INFO    ] 2026-10-20 02:36:54
[2026-10-20 02:36:54,853.853 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:36:55,055.055 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:36:55,073.073 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:36:55,253.253 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:36:55,295.295 INFO    ] time= 20/10/2026 02:36:55
[2026-10-20 02:36:55,302.302 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:36:55,336.336 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:36:55,447.447 INFO    ] No existing commands found in stream
[2026-10-20 02:37:00,469.469 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:37:00,472.472 INFO    ] Waiting 1.14 seconds before fallback handling...
[2026-10-20 02:37:02,116.116 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:37:02,119.119 INFO    ] Checking for system updates...
[2026-10-20 02:37:02,160.160 INFO    ] 200
[2026-10-20 02:37:02,163.163 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:37:02,223.223 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:37:02,225.225 INFO    ] No update needed
[2026-10-20 02:37:02,231.231 INFO    ] Checking for camera pi updates...
[2026-10-20 02:37:02,269.269 INFO    ] 200
[2026-10-20 02:37:02,272.272 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:37:02,317.317 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:37:02,352.352 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:37:02,355.355 INFO    ] No camera update needed
[2026-10-20 02:37:02,358.358 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:37:02,361.361 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:37:02,367.367 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:37:02,373.373 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:37:04,415.415 INFO    ] ================================================
[2026-10-20 02:37:04,431.431 INFO    ] Launching Daemon at Tue Oct 20 02:37:04 IST 2026
[2026-10-20 02:37:04,441.441 INFO    ] ================================================
[2026-10-20 02:37:05,027.027 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:37:05
[2026-10-20 02:37:05,645.645 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:37:05,921.921 INFO    ] Initializing speech engine...
[2026-10-20 02:37:05,930.930 INFO    ] 2026-10-20 02:37:05
[2026-10-20 02:37:06,193.193 INFO    ] 2026-10-20 02:37:06
[2026-10-20 02:37:06,224.224 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:37:06,474.474 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:37:06,480.480 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:37:06,686.686 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:37:06,737.737 INFO    ] time= 20/10/2026 02:37:06
[2026-10-20 02:37:06,744.744 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:37:06,763.763 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:37:06,878.878 INFO    ] No existing commands found in stream
[2026-10-20 02:37:11,902.902 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:37:11,905.905 INFO    ] Waiting 2.60 seconds before fallback handling...
[2026-10-20 02:37:15,052.052 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:37:15,055.055 INFO    ] Checking for system updates...
[2026-10-20 02:37:15,090.090 INFO    ] 200
[2026-10-20 02:37:15,092.092 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:37:15,144.144 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:37:15,146.146 INFO    ] No update needed
[2026-10-20 02:37:15,149.149 INFO    ] Checking for camera pi updates...
[2026-10-20 02:37:15,185.185 INFO    ] 200
[2026-10-20 02:37:15,187.187 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:37:15,235.235 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:37:15,386.386 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:37:15,389.389 INFO    ] No camera update needed
[2026-10-20 02:37:15,391.391 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:37:15,393.393 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:37:15,399.399 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:37:15,404.404 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:37:17,446.446 INFO    ] ================================================
[2026-10-20 02:37:17,461.461 INFO    ] Launching Daemon at Tue Oct 20 02:37:17 IST 2026
[2026-10-20 02:37:17,471.471 INFO    ] ================================================
[2026-10-20 02:37:18,038.038 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:37:18
[2026-10-20 02:37:18,624.624 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:37:18,898.898 INFO    ] Initializing speech engine...
[2026-10-20 02:37:18,904.904 INFO    ] 2026-10-20 02:37:18
[2026-10-20 02:37:19,162.162 INFO    ] 2026-10-20 02:37:19
[2026-10-20 02:37:19,191.191 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:37:19,435.435 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:37:19,445.445 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:37:19,584.584 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:37:19,649.649 INFO    ] time= 20/10/2026 02:37:19
[2026-10-20 02:37:19,706.706 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:37:19,713.713 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:37:19,859.859 INFO    ] No existing commands found in stream
[2026-10-20 02:37:24,878.878 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:37:24,881.881 INFO    ] Waiting 0.65 seconds before fallback handling...
[2026-10-20 02:37:26,078.078 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:37:26,081.081 INFO    ] Checking for system updates...
[2026-10-20 02:37:26,122.122 INFO    ] 200
[2026-10-20 02:37:26,125.125 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:37:26,189.189 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:37:26,192.192 INFO    ] No update needed
[2026-10-20 02:37:26,195.195 INFO    ] Checking for camera pi updates...
[2026-10-20 02:37:26,229.229 INFO    ] 200
[2026-10-20 02:37:26,232.232 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:37:26,277.277 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:37:26,322.322 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:37:26,324.324 INFO    ] No camera update needed
[2026-10-20 02:37:26,327.327 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:37:26,329.329 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:37:26,335.335 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:37:26,340.340 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:37:28,380.380 INFO    ] ================================================
[2026-10-20 02:37:28,395.395 INFO    ] Launching Daemon at Tue Oct 20 02:37:28 IST 2026
[2026-10-20 02:37:28,406.406 INFO    ] ================================================
[2026-10-20 02:37:28,973.973 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:37:28
[2026-10-20 02:37:29,557.557 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:37:29,805.805 INFO    ] Initializing speech engine...
[2026-10-20 02:37:29,830.830 INFO    ] 2026-10-20 02:37:29
[2026-10-20 02:37:30,086.086 INFO    ] 2026-10-20 02:37:30
[2026-10-20 02:37:30,122.122 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:37:30,321.321 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:37:30,363.363 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:37:30,529.529 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:37:30,571.571 INFO    ] time= 20/10/2026 02:37:30
[2026-10-20 02:37:30,626.626 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:37:30,666.666 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:37:30,802.802 INFO    ] No existing commands found in stream
[2026-10-20 02:37:35,824.824 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:37:35,827.827 INFO    ] Waiting 2.36 seconds before fallback handling...
[2026-10-20 02:37:38,701.701 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:37:38,703.703 INFO    ] Checking for system updates...
[2026-10-20 02:37:38,739.739 INFO    ] 200
[2026-10-20 02:37:38,741.741 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:37:38,794.794 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:37:38,796.796 INFO    ] No update needed
[2026-10-20 02:37:38,799.799 INFO    ] Checking for camera pi updates...
[2026-10-20 02:37:38,832.832 INFO    ] 200
[2026-10-20 02:37:38,834.834 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:37:38,874.874 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:37:38,920.920 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:37:38,923.923 INFO    ] No camera update needed
[2026-10-20 02:37:38,925.925 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:37:38,927.927 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:37:38,933.933 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:37:38,938.938 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:37:40,978.978 INFO    ] ================================================
[2026-10-20 02:37:40,993.993 INFO    ] Launching Daemon at Tue Oct 20 02:37:40 IST 2026
[2026-10-20 02:37:41,003.003 INFO    ] ================================================
[2026-10-20 02:37:41,628.628 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:37:41
[2026-10-20 02:37:42,298.298 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:37:42,603.603 INFO    ] Initializing speech engine...
[2026-10-20 02:37:42,615.615 INFO    ] 2026-10-20 02:37:42
[2026-10-20 02:37:42,918.918 INFO    ] 2026-10-20 02:37:42
[2026-10-20 02:37:43,001.001 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:37:43,208.208 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:37:43,215.215 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:37:43,409.409 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:37:43,416.416 INFO    ] time= 20/10/2026 02:37:43
[2026-10-20 02:37:43,435.435 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:37:43,463.463 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:37:43,589.589 INFO    ] No existing commands found in stream
[2026-10-20 02:37:48,619.619 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:37:48,622.622 INFO    ] Waiting 1.41 seconds before fallback handling...
[2026-10-20 02:37:50,545.545 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:37:50,548.548 INFO    ] Checking for system updates...
[2026-10-20 02:37:50,585.585 INFO    ] 200
[2026-10-20 02:37:50,588.588 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:37:50,647.647 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:37:50,650.650 INFO    ] No update needed
[2026-10-20 02:37:50,653.653 INFO    ] Checking for camera pi updates...
[2026-10-20 02:37:50,691.691 INFO    ] 200
[2026-10-20 02:37:50,694.694 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:37:50,736.736 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:37:50,784.784 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:37:50,786.786 INFO    ] No camera update needed
[2026-10-20 02:37:50,789.789 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:37:50,792.792 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:37:50,798.798 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:37:50,804.804 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:37:52,845.845 INFO    ] ================================================
[2026-10-20 02:37:52,859.859 INFO    ] Launching Daemon at Tue Oct 20 02:37:52 IST 2026
[2026-10-20 02:37:52,870.870 INFO    ] ================================================
[2026-10-20 02:37:53,442.442 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:37:53
[2026-10-20 02:37:54,031.031 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:37:54,280.280 INFO    ] Initializing speech engine...
[2026-10-20 02:37:54,293.293 INFO    ] 2026-10-20 02:37:54
[2026-10-20 02:37:54,555.555 INFO    ] 2026-10-20 02:37:54
[2026-10-20 02:37:54,590.590 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:37:54,844.844 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:37:54,849.849 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:37:55,057.057 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:37:55,107.107 INFO    ] time= 20/10/2026 02:37:55
[2026-10-20 02:37:55,113.113 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:37:55,131.131 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:37:55,263.263 INFO    ] No existing commands found in stream
[2026-10-20 02:38:00,284.284 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:38:00,287.287 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-10-20 02:38:03,433.433 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:38:03,436.436 INFO    ] Checking for system updates...
[2026-10-20 02:38:03,472.472 INFO    ] 200
[2026-10-20 02:38:03,475.475 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:38:03,527.527 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:38:03,529.529 INFO    ] No update needed
[2026-10-20 02:38:03,532.532 INFO    ] Checking for camera pi updates...
[2026-10-20 02:38:03,565.565 INFO    ] 200
[2026-10-20 02:38:03,568.568 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:38:03,611.611 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:38:03,653.653 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:38:03,656.656 INFO    ] No camera update needed
[2026-10-20 02:38:03,658.658 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:38:03,660.660 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:38:03,666.666 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:38:03,671.671 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:38:05,712.712 INFO    ] ================================================
[2026-10-20 02:38:05,727.727 INFO    ] Launching Daemon at Tue Oct 20 02:38:05 IST 2026
[2026-10-20 02:38:05,737.737 INFO    ] ================================================
[2026-10-20 02:38:06,309.309 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:38:06
[2026-10-20 02:38:06,939.939 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:38:07,240.240 INFO    ] Initializing speech engine...
[2026-10-20 02:38:07,252.252 INFO    ] 2026-10-20 02:38:07
[2026-10-20 02:38:07,535.535 INFO    ] 2026-10-20 02:38:07
[2026-10-20 02:38:07,643.643 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:38:07,857.857 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:38:07,865.865 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:38:08,059.059 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:38:08,078.078 INFO    ] time= 20/10/2026 02:38:08
[2026-10-20 02:38:08,107.107 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:38:08,116.116 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:38:08,232.232 INFO    ] No existing commands found in stream
[2026-10-20 02:38:13,257.257 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:38:13,261.261 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-10-20 02:38:16,266.266 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:38:16,269.269 INFO    ] Checking for system updates...
[2026-10-20 02:38:16,305.305 INFO    ] 200
[2026-10-20 02:38:16,308.308 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:38:16,362.362 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:38:16,365.365 INFO    ] No update needed
[2026-10-20 02:38:16,367.367 INFO    ] Checking for camera pi updates...
[2026-10-20 02:38:16,402.402 INFO    ] 200
[2026-10-20 02:38:16,405.405 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:38:16,445.445 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:38:16,493.493 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:38:16,496.496 INFO    ] No camera update needed
[2026-10-20 02:38:16,499.499 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:38:16,502.502 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:38:16,508.508 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:38:16,513.513 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:38:18,554.554 INFO    ] ================================================
[2026-10-20 02:38:18,570.570 INFO    ] Launching Daemon at Tue Oct 20 02:38:18 IST 2026
[2026-10-20 02:38:18,581.581 INFO    ] ================================================
[2026-10-20 02:38:19,148.148 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:38:19
[2026-10-20 02:38:19,731.731 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:38:19,986.986 INFO    ] Initializing speech engine...
[2026-10-20 02:38:19,995.995 INFO    ] 2026-10-20 02:38:19
[2026-10-20 02:38:20,287.287 INFO    ] 2026-10-20 02:38:20
[2026-10-20 02:38:20,321.321 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:38:20,520.520 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:38:20,534.534 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:38:20,698.698 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:38:20,703.703 INFO    ] time= 20/10/2026 02:38:20
[2026-10-20 02:38:20,710.710 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:38:20,756.756 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:38:20,899.899 INFO    ] No existing commands found in stream
[2026-10-20 02:38:25,924.924 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:38:25,926.926 INFO    ] Waiting 0.70 seconds before fallback handling...
[2026-10-20 02:38:27,127.127 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:38:27,130.130 INFO    ] Checking for system updates...
[2026-10-20 02:38:27,166.166 INFO    ] 200
[2026-10-20 02:38:27,168.168 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:38:27,226.226 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:38:27,229.229 INFO    ] No update needed
[2026-10-20 02:38:27,231.231 INFO    ] Checking for camera pi updates...
[2026-10-20 02:38:27,264.264 INFO    ] 200
[2026-10-20 02:38:27,266.266 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:38:27,312.312 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:38:27,356.356 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:38:27,359.359 INFO    ] No camera update needed
[2026-10-20 02:38:27,361.361 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:38:27,364.364 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:38:27,369.369 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:38:27,374.374 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:38:29,415.415 INFO    ] ================================================
[2026-10-20 02:38:29,430.430 INFO    ] Launching Daemon at Tue Oct 20 02:38:29 IST 2026
[2026-10-20 02:38:29,440.440 INFO    ] ================================================
[2026-10-20 02:38:30,013.013 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:38:30
[2026-10-20 02:38:30,599.599 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:38:30,858.858 INFO    ] Initializing speech engine...
[2026-10-20 02:38:30,882.882 INFO    ] 2026-10-20 02:38:30
[2026-10-20 02:38:31,151.151 INFO    ] 2026-10-20 02:38:31
[2026-10-20 02:38:31,192.192 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:38:31,408.408 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:38:31,425.425 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:38:31,596.596 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:38:31,602.602 INFO    ] time= 20/10/2026 02:38:31
[2026-10-20 02:38:31,609.609 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:38:31,637.637 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:38:31,786.786 INFO    ] No existing commands found in stream
[2026-10-20 02:38:36,808.808 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:38:36,811.811 INFO    ] Waiting 2.74 seconds before fallback handling...
[2026-10-20 02:38:40,052.052 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 02:38:40,054.054 INFO    ] Checking for system updates...
[2026-10-20 02:38:40,090.090 INFO    ] 200
[2026-10-20 02:38:40,093.093 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:38:40,144.144 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:38:40,147.147 INFO    ] No update needed
[2026-10-20 02:38:40,149.149 INFO    ] Checking for camera pi updates...
[2026-10-20 02:38:40,186.186 INFO    ] 200
[2026-10-20 02:38:40,189.189 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:38:40,230.230 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:38:40,286.286 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:38:40,289.289 INFO    ] No camera update needed
[2026-10-20 02:38:40,291.291 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:38:40,293.293 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:38:40,299.299 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:38:40,304.304 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:38:42,343.343 INFO    ] ================================================
[2026-10-20 02:38:42,358.358 INFO    ] Launching Daemon at Tue Oct 20 02:38:42 IST 2026
[2026-10-20 02:38:42,368.368 INFO    ] ================================================
[2026-10-20 02:38:42,941.941 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:38:42
[2026-10-20 02:38:43,529.529 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:38:43,790.790 INFO    ] Initializing speech engine...
[2026-10-20 02:38:43,809.809 INFO    ] 2026-10-20 02:38:43
[2026-10-20 02:38:44,061.061 INFO    ] 2026-10-20 02:38:44
[2026-10-20 02:38:44,096.096 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:38:44,354.354 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:38:44,363.363 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:38:44,592.592 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:38:44,627.627 INFO    ] time= 20/10/2026 02:38:44
[2026-10-20 02:38:44,633.633 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:38:44,651.651 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:38:44,784.784 INFO    ] No existing commands found in stream
[2026-10-20 02:38:49,797.797 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:38:49,800.800 INFO    ] Waiting 0.09 seconds before fallback handling...
[2026-10-20 02:38:50,382.382 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 02:38:50,385.385 INFO    ] Checking for system updates...
[2026-10-20 02:38:50,422.422 INFO    ] 200
[2026-10-20 02:38:50,424.424 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:38:50,483.483 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:38:50,486.486 INFO    ] No update needed
[2026-10-20 02:38:50,489.489 INFO    ] Checking for camera pi updates...
[2026-10-20 02:38:50,523.523 INFO    ] 200
[2026-10-20 02:38:50,526.526 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:38:50,567.567 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:38:50,614.614 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:38:50,616.616 INFO    ] No camera update needed
[2026-10-20 02:38:50,619.619 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:38:50,622.622 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:38:50,628.628 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:38:50,633.633 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:38:52,674.674 INFO    ] ================================================
[2026-10-20 02:38:52,689.689 INFO    ] Launching Daemon at Tue Oct 20 02:38:52 IST 2026
[2026-10-20 02:38:52,700.700 INFO    ] ================================================
[2026-10-20 02:38:53,268.268 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:38:53
[2026-10-20 02:38:53,852.852 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:38:54,100.100 INFO    ] Initializing speech engine...
[2026-10-20 02:38:54,108.108 INFO    ] 2026-10-20 02:38:54
[2026-10-20 02:38:54,382.382 INFO    ] 2026-10-20 02:38:54
[2026-10-20 02:38:54,417.417 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:38:54,676.676 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:38:54,685.685 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:38:54,899.899 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:38:54,943.943 INFO    ] time= 20/10/2026 02:38:54
[2026-10-20 02:38:54,949.949 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:38:54,969.969 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:38:55,099.099 INFO    ] No existing commands found in stream
[2026-10-20 02:39:00,121.121 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:39:00,124.124 INFO    ] Waiting 2.89 seconds before fallback handling...
[2026-10-20 02:39:03,565.565 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:39:03,568.568 INFO    ] Checking for system updates...
[2026-10-20 02:39:03,610.610 INFO    ] 200
[2026-10-20 02:39:03,614.614 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:39:03,676.676 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:39:03,678.678 INFO    ] No update needed
[2026-10-20 02:39:03,681.681 INFO    ] Checking for camera pi updates...
[2026-10-20 02:39:03,715.715 INFO    ] 200
[2026-10-20 02:39:03,717.717 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:39:03,760.760 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:39:03,809.809 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:39:03,812.812 INFO    ] No camera update needed
[2026-10-20 02:39:03,814.814 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:39:03,816.816 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:39:03,822.822 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:39:03,826.826 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:39:05,867.867 INFO    ] ================================================
[2026-10-20 02:39:05,884.884 INFO    ] Launching Daemon at Tue Oct 20 02:39:05 IST 2026
[2026-10-20 02:39:05,897.897 INFO    ] ================================================
[2026-10-20 02:39:06,463.463 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:39:06
[2026-10-20 02:39:07,050.050 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:39:07,323.323 INFO    ] Initializing speech engine...
[2026-10-20 02:39:07,332.332 INFO    ] 2026-10-20 02:39:07
[2026-10-20 02:39:07,578.578 INFO    ] 2026-10-20 02:39:07
[2026-10-20 02:39:07,613.613 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:39:07,870.870 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:39:07,876.876 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:39:08,104.104 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:39:08,134.134 INFO    ] time= 20/10/2026 02:39:08
[2026-10-20 02:39:08,151.151 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:39:08,160.160 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:39:08,291.291 INFO    ] No existing commands found in stream
[2026-10-20 02:39:13,309.309 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:39:13,317.317 INFO    ] Waiting 0.01 seconds before fallback handling...
[2026-10-20 02:39:13,814.814 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:39:13,816.816 INFO    ] Checking for system updates...
[2026-10-20 02:39:13,852.852 INFO    ] 200
[2026-10-20 02:39:13,854.854 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:39:13,908.908 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:39:13,911.911 INFO    ] No update needed
[2026-10-20 02:39:13,913.913 INFO    ] Checking for camera pi updates...
[2026-10-20 02:39:13,946.946 INFO    ] 200
[2026-10-20 02:39:13,949.949 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:39:13,988.988 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:39:14,044.044 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:39:14,047.047 INFO    ] No camera update needed
[2026-10-20 02:39:14,049.049 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:39:14,052.052 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:39:14,057.057 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:39:14,062.062 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:39:16,101.101 INFO    ] ================================================
[2026-10-20 02:39:16,117.117 INFO    ] Launching Daemon at Tue Oct 20 02:39:16 IST 2026
[2026-10-20 02:39:16,128.128 INFO    ] ================================================
[2026-10-20 02:39:16,693.693 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:39:16
[2026-10-20 02:39:17,273.273 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:39:17,522.522 INFO    ] Initializing speech engine...
[2026-10-20 02:39:17,535.535 INFO    ] 2026-10-20 02:39:17
[2026-10-20 02:39:17,798.798 INFO    ] 2026-10-20 02:39:17
[2026-10-20 02:39:17,833.833 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:39:18,034.034 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:39:18,090.090 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:39:18,240.240 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:39:18,300.300 INFO    ] time= 20/10/2026 02:39:18
[2026-10-20 02:39:18,359.359 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:39:18,371.371 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:39:18,516.516 INFO    ] No existing commands found in stream
[2026-10-20 02:39:23,531.531 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:39:23,534.534 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-10-20 02:39:26,323.323 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 02:39:26,326.326 INFO    ] Checking for system updates...
[2026-10-20 02:39:26,362.362 INFO    ] 200
[2026-10-20 02:39:26,364.364 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:39:26,419.419 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:39:26,421.421 INFO    ] No update needed
[2026-10-20 02:39:26,423.423 INFO    ] Checking for camera pi updates...
[2026-10-20 02:39:26,456.456 INFO    ] 200
[2026-10-20 02:39:26,459.459 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:39:26,502.502 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:39:26,646.646 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:39:26,648.648 INFO    ] No camera update needed
[2026-10-20 02:39:26,651.651 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:39:26,653.653 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:39:26,658.658 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:39:26,663.663 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:39:28,704.704 INFO    ] ================================================
[2026-10-20 02:39:28,720.720 INFO    ] Launching Daemon at Tue Oct 20 02:39:28 IST 2026
[2026-10-20 02:39:28,730.730 INFO    ] ================================================
[2026-10-20 02:39:29,317.317 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:39:29
[2026-10-20 02:39:29,917.917 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:39:30,174.174 INFO    ] Initializing speech engine...
[2026-10-20 02:39:30,183.183 INFO    ] 2026-10-20 02:39:30
[2026-10-20 02:39:30,473.473 INFO    ] 2026-10-20 02:39:30
[2026-10-20 02:39:30,511.511 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:39:30,772.772 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:39:30,796.796 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:39:30,951.951 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:39:30,996.996 INFO    ] time= 20/10/2026 02:39:30
[2026-10-20 02:39:31,045.045 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:39:31,096.096 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:39:31,248.248 INFO    ] No existing commands found in stream
[2026-10-20 02:39:36,271.271 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:39:36,274.274 INFO    ] Waiting 0.19 seconds before fallback handling...
[2026-10-20 02:39:37,006.006 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:39:37,008.008 INFO    ] Checking for system updates...
[2026-10-20 02:39:37,046.046 INFO    ] 200
[2026-10-20 02:39:37,049.049 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:39:37,106.106 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:39:37,109.109 INFO    ] No update needed
[2026-10-20 02:39:37,111.111 INFO    ] Checking for camera pi updates...
[2026-10-20 02:39:37,144.144 INFO    ] 200
[2026-10-20 02:39:37,147.147 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:39:37,189.189 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:39:37,237.237 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:39:37,240.240 INFO    ] No camera update needed
[2026-10-20 02:39:37,242.242 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:39:37,244.244 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:39:37,250.250 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:39:37,255.255 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:39:39,296.296 INFO    ] ================================================
[2026-10-20 02:39:39,312.312 INFO    ] Launching Daemon at Tue Oct 20 02:39:39 IST 2026
[2026-10-20 02:39:39,322.322 INFO    ] ================================================
[2026-10-20 02:39:39,886.886 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:39:39
[2026-10-20 02:39:40,467.467 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:39:40,716.716 INFO    ] Initializing speech engine...
[2026-10-20 02:39:40,731.731 INFO    ] 2026-10-20 02:39:40
[2026-10-20 02:39:40,996.996 INFO    ] 2026-10-20 02:39:40
[2026-10-20 02:39:41,031.031 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:39:41,289.289 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:39:41,298.298 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:39:41,504.504 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:39:41,553.553 INFO    ] time= 20/10/2026 02:39:41
[2026-10-20 02:39:41,566.566 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:39:41,583.583 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:39:41,699.699 INFO    ] No existing commands found in stream
[2026-10-20 02:39:46,727.727 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:39:46,731.731 INFO    ] Waiting 2.23 seconds before fallback handling...
[2026-10-20 02:39:49,465.465 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:39:49,467.467 INFO    ] Checking for system updates...
[2026-10-20 02:39:49,504.504 INFO    ] 200
[2026-10-20 02:39:49,506.506 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:39:49,557.557 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:39:49,560.560 INFO    ] No update needed
[2026-10-20 02:39:49,562.562 INFO    ] Checking for camera pi updates...
[2026-10-20 02:39:49,595.595 INFO    ] 200
[2026-10-20 02:39:49,598.598 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:39:49,638.638 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:39:49,689.689 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:39:49,691.691 INFO    ] No camera update needed
[2026-10-20 02:39:49,693.693 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:39:49,696.696 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:39:49,701.701 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:39:49,706.706 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:39:51,747.747 INFO    ] ================================================
[2026-10-20 02:39:51,766.766 INFO    ] Launching Daemon at Tue Oct 20 02:39:51 IST 2026
[2026-10-20 02:39:51,777.777 INFO    ] ================================================
[2026-10-20 02:39:52,348.348 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:39:52
[2026-10-20 02:39:52,940.940 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:39:53,214.214 INFO    ] Initializing speech engine...
[2026-10-20 02:39:53,222.222 INFO    ] 2026-10-20 02:39:53
[2026-10-20 02:39:53,478.478 INFO    ] 2026-10-20 02:39:53
[2026-10-20 02:39:53,513.513 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:39:53,762.762 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:39:53,772.772 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:39:53,975.975 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:39:54,031.031 INFO    ] time= 20/10/2026 02:39:53
[2026-10-20 02:39:54,037.037 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:39:54,054.054 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:39:54,188.188 INFO    ] No existing commands found in stream
[2026-10-20 02:39:59,206.206 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:39:59,209.209 INFO    ] Waiting 3.64 seconds before fallback handling...
[2026-10-20 02:40:06,386.386 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:40:06,389.389 INFO    ] Checking for system updates...
[2026-10-20 02:40:06,429.429 INFO    ] 200
[2026-10-20 02:40:06,431.431 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:40:06,482.482 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:40:06,485.485 INFO    ] No update needed
[2026-10-20 02:40:06,487.487 INFO    ] Checking for camera pi updates...
[2026-10-20 02:40:06,524.524 INFO    ] 200
[2026-10-20 02:40:06,526.526 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:40:06,571.571 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:40:06,622.622 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:40:06,624.624 INFO    ] No camera update needed
[2026-10-20 02:40:06,626.626 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:40:06,629.629 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:40:06,634.634 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:40:06,639.639 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:40:08,681.681 INFO    ] ================================================
[2026-10-20 02:40:08,697.697 INFO    ] Launching Daemon at Tue Oct 20 02:40:08 IST 2026
[2026-10-20 02:40:08,707.707 INFO    ] ================================================
[2026-10-20 02:40:09,279.279 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:40:09
[2026-10-20 02:40:09,870.870 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:40:10,139.139 INFO    ] Initializing speech engine...
[2026-10-20 02:40:10,147.147 INFO    ] 2026-10-20 02:40:10
[2026-10-20 02:40:10,394.394 INFO    ] 2026-10-20 02:40:10
[2026-10-20 02:40:10,430.430 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:40:10,682.682 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:40:10,692.692 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:40:10,827.827 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:40:10,888.888 INFO    ] time= 20/10/2026 02:40:10
[2026-10-20 02:40:10,948.948 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:40:10,963.963 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:40:11,104.104 INFO    ] No existing commands found in stream
[2026-10-20 02:40:16,119.119 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:40:16,122.122 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-10-20 02:40:17,713.713 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:40:17,716.716 INFO    ] Checking for system updates...
[2026-10-20 02:40:17,753.753 INFO    ] 200
[2026-10-20 02:40:17,756.756 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:40:17,816.816 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:40:17,819.819 INFO    ] No update needed
[2026-10-20 02:40:17,822.822 INFO    ] Checking for camera pi updates...
[2026-10-20 02:40:17,857.857 INFO    ] 200
[2026-10-20 02:40:17,860.860 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:40:17,901.901 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:40:17,953.953 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:40:17,955.955 INFO    ] No camera update needed
[2026-10-20 02:40:17,958.958 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:40:17,961.961 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:40:17,967.967 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:40:17,973.973 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:40:20,015.015 INFO    ] ================================================
[2026-10-20 02:40:20,031.031 INFO    ] Launching Daemon at Tue Oct 20 02:40:20 IST 2026
[2026-10-20 02:40:20,041.041 INFO    ] ================================================
[2026-10-20 02:40:20,706.706 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:40:20
[2026-10-20 02:40:21,393.393 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:40:21,701.701 INFO    ] Initializing speech engine...
[2026-10-20 02:40:21,709.709 INFO    ] 2026-10-20 02:40:21
[2026-10-20 02:40:22,030.030 INFO    ] 2026-10-20 02:40:21
[2026-10-20 02:40:22,112.112 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:40:22,329.329 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:40:22,366.366 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:40:22,543.543 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:40:22,552.552 INFO    ] time= 20/10/2026 02:40:22
[2026-10-20 02:40:22,580.580 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:40:22,588.588 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:40:22,691.691 INFO    ] No existing commands found in stream
[2026-10-20 02:40:27,726.726 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:40:27,729.729 INFO    ] Waiting 3.14 seconds before fallback handling...
[2026-10-20 02:40:31,358.358 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:40:31,361.361 INFO    ] Checking for system updates...
[2026-10-20 02:40:31,396.396 INFO    ] 200
[2026-10-20 02:40:31,399.399 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:40:31,450.450 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:40:31,453.453 INFO    ] No update needed
[2026-10-20 02:40:31,455.455 INFO    ] Checking for camera pi updates...
[2026-10-20 02:40:31,494.494 INFO    ] 200
[2026-10-20 02:40:31,497.497 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:40:31,538.538 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:40:31,595.595 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:40:31,598.598 INFO    ] No camera update needed
[2026-10-20 02:40:31,601.601 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:40:31,604.604 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:40:31,610.610 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:40:31,616.616 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:40:33,658.658 INFO    ] ================================================
[2026-10-20 02:40:33,674.674 INFO    ] Launching Daemon at Tue Oct 20 02:40:33 IST 2026
[2026-10-20 02:40:33,685.685 INFO    ] ================================================
[2026-10-20 02:40:34,266.266 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:40:34
[2026-10-20 02:40:34,863.863 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:40:35,146.146 INFO    ] Initializing speech engine...
[2026-10-20 02:40:35,153.153 INFO    ] 2026-10-20 02:40:35
[2026-10-20 02:40:35,412.412 INFO    ] 2026-10-20 02:40:35
[2026-10-20 02:40:35,466.466 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:40:35,722.722 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:40:35,730.730 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:40:35,923.923 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:40:35,983.983 INFO    ] time= 20/10/2026 02:40:35
[2026-10-20 02:40:36,010.010 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:40:36,028.028 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:40:36,154.154 INFO    ] No existing commands found in stream
[2026-10-20 02:40:41,179.179 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:40:41,182.182 INFO    ] Waiting 2.66 seconds before fallback handling...
[2026-10-20 02:40:44,414.414 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:40:44,417.417 INFO    ] Checking for system updates...
[2026-10-20 02:40:44,453.453 INFO    ] 200
[2026-10-20 02:40:44,456.456 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:40:44,517.517 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:40:44,520.520 INFO    ] No update needed
[2026-10-20 02:40:44,523.523 INFO    ] Checking for camera pi updates...
[2026-10-20 02:40:44,559.559 INFO    ] 200
[2026-10-20 02:40:44,562.562 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:40:44,607.607 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:40:44,655.655 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:40:44,658.658 INFO    ] No camera update needed
[2026-10-20 02:40:44,661.661 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:40:44,663.663 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:40:44,668.668 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:40:44,674.674 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:40:46,713.713 INFO    ] ================================================
[2026-10-20 02:40:46,729.729 INFO    ] Launching Daemon at Tue Oct 20 02:40:46 IST 2026
[2026-10-20 02:40:46,740.740 INFO    ] ================================================
[2026-10-20 02:40:47,416.416 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:40:47
[2026-10-20 02:40:48,109.109 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:40:48,422.422 INFO    ] Initializing speech engine...
[2026-10-20 02:40:48,435.435 INFO    ] 2026-10-20 02:40:48
[2026-10-20 02:40:48,714.714 INFO    ] 2026-10-20 02:40:48
[2026-10-20 02:40:48,760.760 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:40:48,992.992 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:40:48,998.998 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:40:49,215.215 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:40:49,263.263 INFO    ] time= 20/10/2026 02:40:49
[2026-10-20 02:40:49,270.270 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:40:49,292.292 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:40:49,426.426 INFO    ] No existing commands found in stream
[2026-10-20 02:40:54,454.454 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:40:54,457.457 INFO    ] Waiting 0.82 seconds before fallback handling...
[2026-10-20 02:40:55,817.817 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:40:55,820.820 INFO    ] Checking for system updates...
[2026-10-20 02:40:55,857.857 INFO    ] 200
[2026-10-20 02:40:55,860.860 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:40:55,914.914 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:40:55,917.917 INFO    ] No update needed
[2026-10-20 02:40:55,919.919 INFO    ] Checking for camera pi updates...
[2026-10-20 02:40:55,954.954 INFO    ] 200
[2026-10-20 02:40:55,957.957 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:40:56,002.002 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:40:56,061.061 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:40:56,063.063 INFO    ] No camera update needed
[2026-10-20 02:40:56,066.066 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:40:56,068.068 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:40:56,073.073 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:40:56,078.078 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:40:58,118.118 INFO    ] ================================================
[2026-10-20 02:40:58,133.133 INFO    ] Launching Daemon at Tue Oct 20 02:40:58 IST 2026
[2026-10-20 02:40:58,144.144 INFO    ] ================================================
[2026-10-20 02:40:58,714.714 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:40:58
[2026-10-20 02:40:59,301.301 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:40:59,557.557 INFO    ] Initializing speech engine...
[2026-10-20 02:40:59,566.566 INFO    ] 2026-10-20 02:40:59
[2026-10-20 02:40:59,861.861 INFO    ] 2026-10-20 02:40:59
[2026-10-20 02:40:59,896.896 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:41:00,094.094 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:41:00,110.110 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:41:00,273.273 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:41:00,282.282 INFO    ] time= 20/10/2026 02:41:00
[2026-10-20 02:41:00,290.290 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:41:00,316.316 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:41:00,458.458 INFO    ] No existing commands found in stream
[2026-10-20 02:41:05,483.483 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:41:05,485.485 INFO    ] Waiting 1.59 seconds before fallback handling...
[2026-10-20 02:41:07,569.569 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:41:07,571.571 INFO    ] Checking for system updates...
[2026-10-20 02:41:07,607.607 INFO    ] 200
[2026-10-20 02:41:07,609.609 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:41:07,663.663 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:41:07,666.666 INFO    ] No update needed
[2026-10-20 02:41:07,668.668 INFO    ] Checking for camera pi updates...
[2026-10-20 02:41:07,701.701 INFO    ] 200
[2026-10-20 02:41:07,703.703 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:41:07,744.744 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:41:07,798.798 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:41:07,800.800 INFO    ] No camera update needed
[2026-10-20 02:41:07,803.803 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:41:07,805.805 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:41:07,810.810 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:41:07,815.815 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:41:09,855.855 INFO    ] ================================================
[2026-10-20 02:41:09,870.870 INFO    ] Launching Daemon at Tue Oct 20 02:41:09 IST 2026
[2026-10-20 02:41:09,881.881 INFO    ] ================================================
[2026-10-20 02:41:10,521.521 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:41:10
[2026-10-20 02:41:11,180.180 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:41:11,480.480 INFO    ] Initializing speech engine...
[2026-10-20 02:41:11,488.488 INFO    ] 2026-10-20 02:41:11
[2026-10-20 02:41:11,775.775 INFO    ] 2026-10-20 02:41:11
[2026-10-20 02:41:11,820.820 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:41:12,107.107 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:41:12,113.113 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:41:12,310.310 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:41:12,317.317 INFO    ] time= 20/10/2026 02:41:12
[2026-10-20 02:41:12,335.335 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:41:12,364.364 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:41:12,501.501 INFO    ] No existing commands found in stream
[2026-10-20 02:41:17,532.532 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:41:17,535.535 INFO    ] Waiting 2.20 seconds before fallback handling...
[2026-10-20 02:41:20,246.246 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:41:20,249.249 INFO    ] Checking for system updates...
[2026-10-20 02:41:20,289.289 INFO    ] 200
[2026-10-20 02:41:20,292.292 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:41:20,350.350 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:41:20,353.353 INFO    ] No update needed
[2026-10-20 02:41:20,355.355 INFO    ] Checking for camera pi updates...
[2026-10-20 02:41:20,389.389 INFO    ] 200
[2026-10-20 02:41:20,392.392 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:41:20,433.433 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:41:20,480.480 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:41:20,483.483 INFO    ] No camera update needed
[2026-10-20 02:41:20,485.485 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:41:20,488.488 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:41:20,494.494 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:41:20,499.499 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:41:22,540.540 INFO    ] ================================================
[2026-10-20 02:41:22,555.555 INFO    ] Launching Daemon at Tue Oct 20 02:41:22 IST 2026
[2026-10-20 02:41:22,566.566 INFO    ] ================================================
[2026-10-20 02:41:23,151.151 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:41:23
[2026-10-20 02:41:23,749.749 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:41:24,022.022 INFO    ] Initializing speech engine...
[2026-10-20 02:41:24,032.032 INFO    ] 2026-10-20 02:41:24
[2026-10-20 02:41:24,280.280 INFO    ] 2026-10-20 02:41:24
[2026-10-20 02:41:24,314.314 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:41:24,566.566 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:41:24,576.576 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:41:24,772.772 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:41:24,827.827 INFO    ] time= 20/10/2026 02:41:24
[2026-10-20 02:41:24,843.843 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:41:24,861.861 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:41:24,993.993 INFO    ] No existing commands found in stream
[2026-10-20 02:41:30,012.012 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:41:30,015.015 INFO    ] Waiting 2.99 seconds before fallback handling...
[2026-10-20 02:41:33,524.524 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:41:33,527.527 INFO    ] Checking for system updates...
[2026-10-20 02:41:33,563.563 INFO    ] 200
[2026-10-20 02:41:33,565.565 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:41:33,624.624 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:41:33,627.627 INFO    ] No update needed
[2026-10-20 02:41:33,630.630 INFO    ] Checking for camera pi updates...
[2026-10-20 02:41:33,671.671 INFO    ] 200
[2026-10-20 02:41:33,673.673 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:41:33,713.713 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:41:33,764.764 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:41:33,767.767 INFO    ] No camera update needed
[2026-10-20 02:41:33,769.769 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:41:33,772.772 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:41:33,777.777 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:41:33,782.782 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:41:35,822.822 INFO    ] ================================================
[2026-10-20 02:41:35,838.838 INFO    ] Launching Daemon at Tue Oct 20 02:41:35 IST 2026
[2026-10-20 02:41:35,849.849 INFO    ] ================================================
[2026-10-20 02:41:36,480.480 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:41:36
[2026-10-20 02:41:37,063.063 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:41:37,318.318 INFO    ] Initializing speech engine...
[2026-10-20 02:41:37,333.333 INFO    ] 2026-10-20 02:41:37
[2026-10-20 02:41:37,611.611 INFO    ] 2026-10-20 02:41:37
[2026-10-20 02:41:37,647.647 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:41:37,865.865 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:41:37,888.888 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:41:38,087.087 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:41:38,109.109 INFO    ] time= 20/10/2026 02:41:38
[2026-10-20 02:41:38,168.168 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:41:38,222.222 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:41:38,370.370 INFO    ] No existing commands found in stream
[2026-10-20 02:41:43,396.396 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:41:43,398.398 INFO    ] Waiting 1.13 seconds before fallback handling...
[2026-10-20 02:41:45,039.039 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:41:45,042.042 INFO    ] Checking for system updates...
[2026-10-20 02:41:45,078.078 INFO    ] 200
[2026-10-20 02:41:45,080.080 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:41:45,132.132 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:41:45,134.134 INFO    ] No update needed
[2026-10-20 02:41:45,137.137 INFO    ] Checking for camera pi updates...
[2026-10-20 02:41:45,170.170 INFO    ] 200
[2026-10-20 02:41:45,172.172 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:41:45,212.212 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:41:45,255.255 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:41:45,257.257 INFO    ] No camera update needed
[2026-10-20 02:41:45,260.260 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:41:45,262.262 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:41:45,268.268 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:41:45,272.272 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:41:47,312.312 INFO    ] ================================================
[2026-10-20 02:41:47,327.327 INFO    ] Launching Daemon at Tue Oct 20 02:41:47 IST 2026
[2026-10-20 02:41:47,338.338 INFO    ] ================================================
[2026-10-20 02:41:47,918.918 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:41:47
[2026-10-20 02:41:48,516.516 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:41:48,792.792 INFO    ] Initializing speech engine...
[2026-10-20 02:41:48,802.802 INFO    ] 2026-10-20 02:41:48
[2026-10-20 02:41:49,059.059 INFO    ] 2026-10-20 02:41:49
[2026-10-20 02:41:49,093.093 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:41:49,338.338 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:41:49,348.348 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:41:49,538.538 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:41:49,587.587 INFO    ] time= 20/10/2026 02:41:49
[2026-10-20 02:41:49,612.612 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:41:49,627.627 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:41:49,755.755 INFO    ] No existing commands found in stream
[2026-10-20 02:41:54,771.771 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:41:54,774.774 INFO    ] Waiting 0.06 seconds before fallback handling...
[2026-10-20 02:41:55,337.337 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:41:55,340.340 INFO    ] Checking for system updates...
[2026-10-20 02:41:55,376.376 INFO    ] 200
[2026-10-20 02:41:55,379.379 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:41:55,436.436 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:41:55,439.439 INFO    ] No update needed
[2026-10-20 02:41:55,442.442 INFO    ] Checking for camera pi updates...
[2026-10-20 02:41:55,475.475 INFO    ] 200
[2026-10-20 02:41:55,478.478 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:41:55,520.520 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:41:55,566.566 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:41:55,569.569 INFO    ] No camera update needed
[2026-10-20 02:41:55,571.571 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:41:55,574.574 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:41:55,579.579 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:41:55,584.584 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:41:57,626.626 INFO    ] ================================================
[2026-10-20 02:41:57,642.642 INFO    ] Launching Daemon at Tue Oct 20 02:41:57 IST 2026
[2026-10-20 02:41:57,654.654 INFO    ] ================================================
[2026-10-20 02:41:58,251.251 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:41:58
[2026-10-20 02:41:58,880.880 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:41:59,142.142 INFO    ] Initializing speech engine...
[2026-10-20 02:41:59,156.156 INFO    ] 2026-10-20 02:41:59
[2026-10-20 02:41:59,412.412 INFO    ] 2026-10-20 02:41:59
[2026-10-20 02:41:59,447.447 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:41:59,649.649 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:41:59,690.690 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:41:59,893.893 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:41:59,953.953 INFO    ] time= 20/10/2026 02:41:59
[2026-10-20 02:41:59,984.984 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:42:00,001.001 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:42:00,122.122 INFO    ] No existing commands found in stream
[2026-10-20 02:42:05,148.148 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:42:05,151.151 INFO    ] Waiting 0.82 seconds before fallback handling...
[2026-10-20 02:42:06,461.461 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:42:06,464.464 INFO    ] Checking for system updates...
[2026-10-20 02:42:06,499.499 INFO    ] 200
[2026-10-20 02:42:06,502.502 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:42:06,553.553 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:42:06,556.556 INFO    ] No update needed
[2026-10-20 02:42:06,558.558 INFO    ] Checking for camera pi updates...
[2026-10-20 02:42:06,592.592 INFO    ] 200
[2026-10-20 02:42:06,594.594 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:42:06,634.634 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:42:06,679.679 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:42:06,682.682 INFO    ] No camera update needed
[2026-10-20 02:42:06,684.684 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:42:06,686.686 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:42:06,692.692 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:42:06,697.697 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:42:08,738.738 INFO    ] ================================================
[2026-10-20 02:42:08,754.754 INFO    ] Launching Daemon at Tue Oct 20 02:42:08 IST 2026
[2026-10-20 02:42:08,765.765 INFO    ] ================================================
[2026-10-20 02:42:09,332.332 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:42:09
[2026-10-20 02:42:09,918.918 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:42:10,186.186 INFO    ] Initializing speech engine...
[2026-10-20 02:42:10,195.195 INFO    ] 2026-10-20 02:42:10
[2026-10-20 02:42:10,447.447 INFO    ] 2026-10-20 02:42:10
[2026-10-20 02:42:10,482.482 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:42:10,730.730 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:42:10,739.739 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:42:10,873.873 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:42:10,932.932 INFO    ] time= 20/10/2026 02:42:10
[2026-10-20 02:42:10,981.981 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:42:11,003.003 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:42:11,118.118 INFO    ] No existing commands found in stream
[2026-10-20 02:42:16,137.137 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:42:16,140.140 INFO    ] Waiting 1.59 seconds before fallback handling...
[2026-10-20 02:42:18,209.209 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:42:18,212.212 INFO    ] Checking for system updates...
[2026-10-20 02:42:18,247.247 INFO    ] 200
[2026-10-20 02:42:18,249.249 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:42:18,307.307 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:42:18,309.309 INFO    ] No update needed
[2026-10-20 02:42:18,312.312 INFO    ] Checking for camera pi updates...
[2026-10-20 02:42:18,353.353 INFO    ] 200
[2026-10-20 02:42:18,355.355 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:42:18,395.395 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:42:18,451.451 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:42:18,453.453 INFO    ] No camera update needed
[2026-10-20 02:42:18,456.456 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:42:18,458.458 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:42:18,463.463 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:42:18,468.468 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:42:20,509.509 INFO    ] ================================================
[2026-10-20 02:42:20,524.524 INFO    ] Launching Daemon at Tue Oct 20 02:42:20 IST 2026
[2026-10-20 02:42:20,536.536 INFO    ] ================================================
[2026-10-20 02:42:21,101.101 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:42:21
[2026-10-20 02:42:21,682.682 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:42:21,950.950 INFO    ] Initializing speech engine...
[2026-10-20 02:42:21,959.959 INFO    ] 2026-10-20 02:42:21
[2026-10-20 02:42:22,218.218 INFO    ] 2026-10-20 02:42:22
[2026-10-20 02:42:22,271.271 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:42:22,537.537 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:42:22,558.558 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:42:22,754.754 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:42:22,761.761 INFO    ] time= 20/10/2026 02:42:22
[2026-10-20 02:42:22,778.778 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:42:22,785.785 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:42:22,914.914 INFO    ] No existing commands found in stream
[2026-10-20 02:42:27,938.938 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:42:27,941.941 INFO    ] Waiting 3.31 seconds before fallback handling...
[2026-10-20 02:42:31,804.804 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:42:31,808.808 INFO    ] Checking for system updates...
[2026-10-20 02:42:31,850.850 INFO    ] 200
[2026-10-20 02:42:31,852.852 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:42:31,916.916 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:42:31,918.918 INFO    ] No update needed
[2026-10-20 02:42:31,921.921 INFO    ] Checking for camera pi updates...
[2026-10-20 02:42:31,963.963 INFO    ] 200
[2026-10-20 02:42:31,966.966 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:42:32,016.016 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:42:32,049.049 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:42:32,051.051 INFO    ] No camera update needed
[2026-10-20 02:42:32,054.054 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:42:32,057.057 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:42:32,063.063 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:42:32,068.068 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:42:34,109.109 INFO    ] ================================================
[2026-10-20 02:42:34,125.125 INFO    ] Launching Daemon at Tue Oct 20 02:42:34 IST 2026
[2026-10-20 02:42:34,137.137 INFO    ] ================================================
[2026-10-20 02:42:34,702.702 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:42:34
[2026-10-20 02:42:35,287.287 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:42:35,558.558 INFO    ] Initializing speech engine...
[2026-10-20 02:42:35,567.567 INFO    ] 2026-10-20 02:42:35
[2026-10-20 02:42:35,814.814 INFO    ] 2026-10-20 02:42:35
[2026-10-20 02:42:35,856.856 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:42:36,117.117 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:42:36,127.127 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:42:36,354.354 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:42:36,388.388 INFO    ] time= 20/10/2026 02:42:36
[2026-10-20 02:42:36,405.405 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:42:36,414.414 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:42:36,547.547 INFO    ] No existing commands found in stream
[2026-10-20 02:42:41,569.569 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:42:41,572.572 INFO    ] Waiting 2.68 seconds before fallback handling...
[2026-10-20 02:42:44,780.780 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:42:44,783.783 INFO    ] Checking for system updates...
[2026-10-20 02:42:44,822.822 INFO    ] 200
[2026-10-20 02:42:44,825.825 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:42:44,878.878 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:42:44,881.881 INFO    ] No update needed
[2026-10-20 02:42:44,884.884 INFO    ] Checking for camera pi updates...
[2026-10-20 02:42:44,918.918 INFO    ] 200
[2026-10-20 02:42:44,921.921 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:42:44,962.962 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:42:45,018.018 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:42:45,021.021 INFO    ] No camera update needed
[2026-10-20 02:42:45,023.023 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:42:45,026.026 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:42:45,032.032 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:42:45,038.038 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:42:47,080.080 INFO    ] ================================================
[2026-10-20 02:42:47,096.096 INFO    ] Launching Daemon at Tue Oct 20 02:42:47 IST 2026
[2026-10-20 02:42:47,107.107 INFO    ] ================================================
[2026-10-20 02:42:47,675.675 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:42:47
[2026-10-20 02:42:48,261.261 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:42:48,529.529 INFO    ] Initializing speech engine...
[2026-10-20 02:42:48,540.540 INFO    ] 2026-10-20 02:42:48
[2026-10-20 02:42:48,784.784 INFO    ] 2026-10-20 02:42:48
[2026-10-20 02:42:48,819.819 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:42:49,017.017 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:42:49,045.045 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:42:49,222.222 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:42:49,239.239 INFO    ] time= 20/10/2026 02:42:49
[2026-10-20 02:42:49,308.308 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:42:49,352.352 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:42:49,491.491 INFO    ] No existing commands found in stream
[2026-10-20 02:42:54,516.516 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:42:54,519.519 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-10-20 02:42:56,784.784 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:42:56,787.787 INFO    ] Checking for system updates...
[2026-10-20 02:42:56,823.823 INFO    ] 200
[2026-10-20 02:42:56,826.826 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:42:56,879.879 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:42:56,882.882 INFO    ] No update needed
[2026-10-20 02:42:56,885.885 INFO    ] Checking for camera pi updates...
[2026-10-20 02:42:56,923.923 INFO    ] 200
[2026-10-20 02:42:56,926.926 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:42:56,972.972 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:42:57,022.022 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:42:57,025.025 INFO    ] No camera update needed
[2026-10-20 02:42:57,027.027 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:42:57,030.030 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:42:57,036.036 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:42:57,043.043 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:42:59,085.085 INFO    ] ================================================
[2026-10-20 02:42:59,100.100 INFO    ] Launching Daemon at Tue Oct 20 02:42:59 IST 2026
[2026-10-20 02:42:59,111.111 INFO    ] ================================================
[2026-10-20 02:42:59,774.774 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:42:59
[2026-10-20 02:43:00,402.402 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:43:00,670.670 INFO    ] Initializing speech engine...
[2026-10-20 02:43:00,679.679 INFO    ] 2026-10-20 02:43:00
[2026-10-20 02:43:00,924.924 INFO    ] 2026-10-20 02:43:00
[2026-10-20 02:43:00,965.965 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:43:01,209.209 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:43:01,218.218 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:43:01,399.399 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:43:01,409.409 INFO    ] time= 20/10/2026 02:43:01
[2026-10-20 02:43:01,418.418 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:43:01,441.441 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:43:01,525.525 INFO    ] No existing commands found in stream
[2026-10-20 02:43:06,536.536 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:43:06,539.539 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-10-20 02:43:09,354.354 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:43:09,357.357 INFO    ] Checking for system updates...
[2026-10-20 02:43:09,395.395 INFO    ] 200
[2026-10-20 02:43:09,397.397 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:43:09,449.449 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:43:09,451.451 INFO    ] No update needed
[2026-10-20 02:43:09,454.454 INFO    ] Checking for camera pi updates...
[2026-10-20 02:43:09,487.487 INFO    ] 200
[2026-10-20 02:43:09,490.490 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:43:09,534.534 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:43:09,584.584 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:43:09,587.587 INFO    ] No camera update needed
[2026-10-20 02:43:09,589.589 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:43:09,592.592 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:43:09,597.597 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:43:09,602.602 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:43:11,643.643 INFO    ] ================================================
[2026-10-20 02:43:11,659.659 INFO    ] Launching Daemon at Tue Oct 20 02:43:11 IST 2026
[2026-10-20 02:43:11,670.670 INFO    ] ================================================
[2026-10-20 02:43:12,255.255 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:43:12
[2026-10-20 02:43:12,853.853 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:43:13,125.125 INFO    ] Initializing speech engine...
[2026-10-20 02:43:13,135.135 INFO    ] 2026-10-20 02:43:13
[2026-10-20 02:43:13,399.399 INFO    ] 2026-10-20 02:43:13
[2026-10-20 02:43:13,453.453 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:43:13,680.680 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:43:13,685.685 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:43:13,909.909 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:43:13,946.946 INFO    ] time= 20/10/2026 02:43:13
[2026-10-20 02:43:13,952.952 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:43:13,970.970 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:43:14,102.102 INFO    ] No existing commands found in stream
[2026-10-20 02:43:19,117.117 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:43:19,135.135 INFO    ] Waiting 1.08 seconds before fallback handling...
[2026-10-20 02:43:20,758.758 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:43:20,761.761 INFO    ] Checking for system updates...
[2026-10-20 02:43:20,796.796 INFO    ] 200
[2026-10-20 02:43:20,799.799 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:43:20,851.851 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:43:20,854.854 INFO    ] No update needed
[2026-10-20 02:43:20,856.856 INFO    ] Checking for camera pi updates...
[2026-10-20 02:43:20,890.890 INFO    ] 200
[2026-10-20 02:43:20,892.892 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:43:20,934.934 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:43:20,984.984 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:43:20,986.986 INFO    ] No camera update needed
[2026-10-20 02:43:20,989.989 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:43:20,991.991 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:43:20,996.996 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:43:21,001.001 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:43:23,041.041 INFO    ] ================================================
[2026-10-20 02:43:23,057.057 INFO    ] Launching Daemon at Tue Oct 20 02:43:23 IST 2026
[2026-10-20 02:43:23,067.067 INFO    ] ================================================
[2026-10-20 02:43:23,637.637 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:43:23
[2026-10-20 02:43:24,229.229 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:43:24,476.476 INFO    ] Initializing speech engine...
[2026-10-20 02:43:24,483.483 INFO    ] 2026-10-20 02:43:24
[2026-10-20 02:43:24,784.784 INFO    ] 2026-10-20 02:43:24
[2026-10-20 02:43:24,819.819 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:43:25,018.018 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:43:25,025.025 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:43:25,199.199 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:43:25,204.204 INFO    ] time= 20/10/2026 02:43:25
[2026-10-20 02:43:25,211.211 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:43:25,237.237 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:43:25,382.382 INFO    ] No existing commands found in stream
[2026-10-20 02:43:30,408.408 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:43:30,410.410 INFO    ] Waiting 3.70 seconds before fallback handling...
[2026-10-20 02:43:34,615.615 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:43:34,618.618 INFO    ] Checking for system updates...
[2026-10-20 02:43:34,653.653 INFO    ] 200
[2026-10-20 02:43:34,655.655 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:43:34,708.708 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:43:34,711.711 INFO    ] No update needed
[2026-10-20 02:43:34,713.713 INFO    ] Checking for camera pi updates...
[2026-10-20 02:43:34,746.746 INFO    ] 200
[2026-10-20 02:43:34,749.749 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:43:34,797.797 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:43:34,852.852 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:43:34,855.855 INFO    ] No camera update needed
[2026-10-20 02:43:34,857.857 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:43:34,859.859 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:43:34,864.864 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:43:34,869.869 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:43:36,911.911 INFO    ] ================================================
[2026-10-20 02:43:36,926.926 INFO    ] Launching Daemon at Tue Oct 20 02:43:36 IST 2026
[2026-10-20 02:43:36,936.936 INFO    ] ================================================
[2026-10-20 02:43:37,510.510 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:43:37
[2026-10-20 02:43:38,097.097 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:43:38,369.369 INFO    ] Initializing speech engine...
[2026-10-20 02:43:38,378.378 INFO    ] 2026-10-20 02:43:38
[2026-10-20 02:43:38,628.628 INFO    ] 2026-10-20 02:43:38
[2026-10-20 02:43:38,663.663 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:43:38,921.921 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:43:38,931.931 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:43:39,142.142 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:43:39,197.197 INFO    ] time= 20/10/2026 02:43:39
[2026-10-20 02:43:39,220.220 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:43:39,227.227 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:43:39,355.355 INFO    ] No existing commands found in stream
[2026-10-20 02:43:44,373.373 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:43:44,376.376 INFO    ] Waiting 3.59 seconds before fallback handling...
[2026-10-20 02:43:48,493.493 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:43:48,495.495 INFO    ] Checking for system updates...
[2026-10-20 02:43:48,530.530 INFO    ] 200
[2026-10-20 02:43:48,533.533 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:43:48,593.593 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:43:48,596.596 INFO    ] No update needed
[2026-10-20 02:43:48,599.599 INFO    ] Checking for camera pi updates...
[2026-10-20 02:43:48,631.631 INFO    ] 200
[2026-10-20 02:43:48,634.634 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:43:48,678.678 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:43:48,738.738 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:43:48,741.741 INFO    ] No camera update needed
[2026-10-20 02:43:48,743.743 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:43:48,745.745 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:43:48,751.751 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:43:48,755.755 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:43:50,796.796 INFO    ] ================================================
[2026-10-20 02:43:50,812.812 INFO    ] Launching Daemon at Tue Oct 20 02:43:50 IST 2026
[2026-10-20 02:43:50,822.822 INFO    ] ================================================
[2026-10-20 02:43:51,387.387 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:43:51
[2026-10-20 02:43:51,969.969 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:43:52,226.226 INFO    ] Initializing speech engine...
[2026-10-20 02:43:52,242.242 INFO    ] 2026-10-20 02:43:52
[2026-10-20 02:43:52,525.525 INFO    ] 2026-10-20 02:43:52
[2026-10-20 02:43:52,562.562 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:43:52,784.784 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:43:52,792.792 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:43:52,937.937 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:43:52,943.943 INFO    ] time= 20/10/2026 02:43:52
[2026-10-20 02:43:52,949.949 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:43:52,962.962 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:43:53,127.127 INFO    ] No existing commands found in stream
[2026-10-20 02:43:58,152.152 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:43:58,155.155 INFO    ] Waiting 4.00 seconds before fallback handling...
[2026-10-20 02:44:02,692.692 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:44:02,695.695 INFO    ] Checking for system updates...
[2026-10-20 02:44:02,745.745 INFO    ] 200
[2026-10-20 02:44:02,748.748 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:44:02,833.833 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:44:02,836.836 INFO    ] No update needed
[2026-10-20 02:44:02,840.840 INFO    ] Checking for camera pi updates...
[2026-10-20 02:44:02,884.884 INFO    ] 200
[2026-10-20 02:44:02,887.887 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:44:02,930.930 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:44:02,962.962 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:44:02,965.965 INFO    ] No camera update needed
[2026-10-20 02:44:02,967.967 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:44:02,969.969 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:44:02,975.975 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:44:02,980.980 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:44:05,019.019 INFO    ] ================================================
[2026-10-20 02:44:05,034.034 INFO    ] Launching Daemon at Tue Oct 20 02:44:05 IST 2026
[2026-10-20 02:44:05,045.045 INFO    ] ================================================
[2026-10-20 02:44:05,611.611 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:44:05
[2026-10-20 02:44:06,195.195 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:44:06,465.465 INFO    ] Initializing speech engine...
[2026-10-20 02:44:06,474.474 INFO    ] 2026-10-20 02:44:06
[2026-10-20 02:44:06,724.724 INFO    ] 2026-10-20 02:44:06
[2026-10-20 02:44:06,759.759 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:44:07,016.016 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:44:07,025.025 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:44:07,173.173 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:44:07,207.207 INFO    ] time= 20/10/2026 02:44:07
[2026-10-20 02:44:07,256.256 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:44:07,306.306 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:44:07,451.451 INFO    ] No existing commands found in stream
[2026-10-20 02:44:12,478.478 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:44:12,481.481 INFO    ] Waiting 2.93 seconds before fallback handling...
[2026-10-20 02:44:15,904.904 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:44:15,906.906 INFO    ] Checking for system updates...
[2026-10-20 02:44:15,945.945 INFO    ] 200
[2026-10-20 02:44:15,947.947 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:44:15,999.999 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:44:16,002.002 INFO    ] No update needed
[2026-10-20 02:44:16,004.004 INFO    ] Checking for camera pi updates...
[2026-10-20 02:44:16,040.040 INFO    ] 200
[2026-10-20 02:44:16,043.043 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:44:16,083.083 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:44:16,127.127 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:44:16,129.129 INFO    ] No camera update needed
[2026-10-20 02:44:16,132.132 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:44:16,134.134 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:44:16,139.139 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:44:16,144.144 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:44:18,184.184 INFO    ] ================================================
[2026-10-20 02:44:18,200.200 INFO    ] Launching Daemon at Tue Oct 20 02:44:18 IST 2026
[2026-10-20 02:44:18,210.210 INFO    ] ================================================
[2026-10-20 02:44:18,777.777 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:44:18
[2026-10-20 02:44:19,369.369 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:44:19,632.632 INFO    ] Initializing speech engine...
[2026-10-20 02:44:19,655.655 INFO    ] 2026-10-20 02:44:19
[2026-10-20 02:44:19,932.932 INFO    ] 2026-10-20 02:44:19
[2026-10-20 02:44:19,970.970 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:44:20,176.176 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:44:20,196.196 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:44:20,342.342 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:44:20,350.350 INFO    ] time= 20/10/2026 02:44:20
[2026-10-20 02:44:20,403.403 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:44:20,424.424 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:44:20,539.539 INFO    ] No existing commands found in stream
[2026-10-20 02:44:25,564.564 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:44:25,567.567 INFO    ] Waiting 0.35 seconds before fallback handling...
[2026-10-20 02:44:26,451.451 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:44:26,454.454 INFO    ] Checking for system updates...
[2026-10-20 02:44:26,493.493 INFO    ] 200
[2026-10-20 02:44:26,496.496 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:44:26,553.553 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:44:26,555.555 INFO    ] No update needed
[2026-10-20 02:44:26,557.557 INFO    ] Checking for camera pi updates...
[2026-10-20 02:44:26,594.594 INFO    ] 200
[2026-10-20 02:44:26,597.597 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:44:26,641.641 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:44:26,695.695 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:44:26,698.698 INFO    ] No camera update needed
[2026-10-20 02:44:26,701.701 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:44:26,703.703 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:44:26,710.710 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:44:26,715.715 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:44:28,756.756 INFO    ] ================================================
[2026-10-20 02:44:28,771.771 INFO    ] Launching Daemon at Tue Oct 20 02:44:28 IST 2026
[2026-10-20 02:44:28,781.781 INFO    ] ================================================
[2026-10-20 02:44:29,362.362 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:44:29
[2026-10-20 02:44:29,961.961 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:44:30,241.241 INFO    ] Initializing speech engine...
[2026-10-20 02:44:30,247.247 INFO    ] 2026-10-20 02:44:30
[2026-10-20 02:44:30,510.510 INFO    ] 2026-10-20 02:44:30
[2026-10-20 02:44:30,565.565 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:44:30,795.795 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:44:30,800.800 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:44:31,012.012 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:44:31,060.060 INFO    ] time= 20/10/2026 02:44:31
[2026-10-20 02:44:31,067.067 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:44:31,085.085 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:44:31,216.216 INFO    ] No existing commands found in stream
[2026-10-20 02:44:36,229.229 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:44:36,232.232 INFO    ] Waiting 3.04 seconds before fallback handling...
[2026-10-20 02:44:39,809.809 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:44:39,812.812 INFO    ] Checking for system updates...
[2026-10-20 02:44:39,850.850 INFO    ] 200
[2026-10-20 02:44:39,853.853 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:44:39,912.912 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:44:39,914.914 INFO    ] No update needed
[2026-10-20 02:44:39,917.917 INFO    ] Checking for camera pi updates...
[2026-10-20 02:44:39,953.953 INFO    ] 200
[2026-10-20 02:44:39,956.956 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:44:40,000.000 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:44:40,051.051 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:44:40,053.053 INFO    ] No camera update needed
[2026-10-20 02:44:40,055.055 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:44:40,058.058 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:44:40,063.063 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:44:40,068.068 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:44:42,110.110 INFO    ] ================================================
[2026-10-20 02:44:42,125.125 INFO    ] Launching Daemon at Tue Oct 20 02:44:42 IST 2026
[2026-10-20 02:44:42,135.135 INFO    ] ================================================
[2026-10-20 02:44:42,779.779 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:44:42
[2026-10-20 02:44:43,362.362 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:44:43,630.630 INFO    ] Initializing speech engine...
[2026-10-20 02:44:43,639.639 INFO    ] 2026-10-20 02:44:43
[2026-10-20 02:44:43,885.885 INFO    ] 2026-10-20 02:44:43
[2026-10-20 02:44:43,920.920 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:44:44,123.123 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:44:44,175.175 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:44:44,383.383 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:44:44,437.437 INFO    ] time= 20/10/2026 02:44:44
[2026-10-20 02:44:44,447.447 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:44:44,465.465 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:44:44,599.599 INFO    ] No existing commands found in stream
[2026-10-20 02:44:49,612.612 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:44:49,615.615 INFO    ] Waiting 0.99 seconds before fallback handling...
[2026-10-20 02:44:51,122.122 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:44:51,125.125 INFO    ] Checking for system updates...
[2026-10-20 02:44:51,164.164 INFO    ] 200
[2026-10-20 02:44:51,168.168 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:44:51,226.226 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:44:51,229.229 INFO    ] No update needed
[2026-10-20 02:44:51,232.232 INFO    ] Checking for camera pi updates...
[2026-10-20 02:44:51,266.266 INFO    ] 200
[2026-10-20 02:44:51,269.269 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:44:51,314.314 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:44:51,362.362 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:44:51,365.365 INFO    ] No camera update needed
[2026-10-20 02:44:51,368.368 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:44:51,371.371 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:44:51,377.377 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:44:51,382.382 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:44:53,424.424 INFO    ] ================================================
[2026-10-20 02:44:53,439.439 INFO    ] Launching Daemon at Tue Oct 20 02:44:53 IST 2026
[2026-10-20 02:44:53,450.450 INFO    ] ================================================
[2026-10-20 02:44:54,018.018 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:44:54
[2026-10-20 02:44:54,605.605 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:44:54,876.876 INFO    ] Initializing speech engine...
[2026-10-20 02:44:54,885.885 INFO    ] 2026-10-20 02:44:54
[2026-10-20 02:44:55,136.136 INFO    ] 2026-10-20 02:44:55
[2026-10-20 02:44:55,171.171 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:44:55,430.430 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:44:55,440.440 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:44:55,576.576 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:44:55,582.582 INFO    ] time= 20/10/2026 02:44:55
[2026-10-20 02:44:55,636.636 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:44:55,691.691 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:44:55,844.844 INFO    ] No existing commands found in stream
[2026-10-20 02:45:00,869.869 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:45:00,872.872 INFO    ] Waiting 0.80 seconds before fallback handling...
[2026-10-20 02:45:02,417.417 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 02:45:02,420.420 INFO    ] Checking for system updates...
[2026-10-20 02:45:02,464.464 INFO    ] 200
[2026-10-20 02:45:02,468.468 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:45:02,536.536 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:45:02,539.539 INFO    ] No update needed
[2026-10-20 02:45:02,542.542 INFO    ] Checking for camera pi updates...
[2026-10-20 02:45:02,588.588 INFO    ] 200
[2026-10-20 02:45:02,591.591 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:45:02,649.649 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:45:02,685.685 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:45:02,689.689 INFO    ] No camera update needed
[2026-10-20 02:45:02,692.692 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:45:02,696.696 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:45:02,707.707 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:45:02,714.714 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:45:04,755.755 INFO    ] ================================================
[2026-10-20 02:45:04,770.770 INFO    ] Launching Daemon at Tue Oct 20 02:45:04 IST 2026
[2026-10-20 02:45:04,781.781 INFO    ] ================================================
[2026-10-20 02:45:05,355.355 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:45:05
[2026-10-20 02:45:05,937.937 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:45:06,204.204 INFO    ] Initializing speech engine...
[2026-10-20 02:45:06,213.213 INFO    ] 2026-10-20 02:45:06
[2026-10-20 02:45:06,474.474 INFO    ] 2026-10-20 02:45:06
[2026-10-20 02:45:06,528.528 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:45:06,747.747 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:45:06,758.758 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:45:06,960.960 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:45:07,010.010 INFO    ] time= 20/10/2026 02:45:06
[2026-10-20 02:45:07,020.020 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:45:07,038.038 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:45:07,171.171 INFO    ] No existing commands found in stream
[2026-10-20 02:45:12,189.189 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:45:12,192.192 INFO    ] Waiting 1.20 seconds before fallback handling...
[2026-10-20 02:45:13,906.906 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:45:13,909.909 INFO    ] Checking for system updates...
[2026-10-20 02:45:13,947.947 INFO    ] 200
[2026-10-20 02:45:13,950.950 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:45:14,003.003 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:45:14,005.005 INFO    ] No update needed
[2026-10-20 02:45:14,008.008 INFO    ] Checking for camera pi updates...
[2026-10-20 02:45:14,041.041 INFO    ] 200
[2026-10-20 02:45:14,044.044 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:45:14,084.084 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:45:14,132.132 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:45:14,135.135 INFO    ] No camera update needed
[2026-10-20 02:45:14,137.137 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:45:14,139.139 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:45:14,144.144 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:45:14,149.149 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:45:16,190.190 INFO    ] ================================================
[2026-10-20 02:45:16,205.205 INFO    ] Launching Daemon at Tue Oct 20 02:45:16 IST 2026
[2026-10-20 02:45:16,216.216 INFO    ] ================================================
[2026-10-20 02:45:16,837.837 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:45:16
[2026-10-20 02:45:17,473.473 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:45:17,759.759 INFO    ] Initializing speech engine...
[2026-10-20 02:45:17,765.765 INFO    ] 2026-10-20 02:45:17
[2026-10-20 02:45:18,070.070 INFO    ] 2026-10-20 02:45:18
[2026-10-20 02:45:18,156.156 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:45:18,365.365 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:45:18,373.373 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:45:18,569.569 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:45:18,576.576 INFO    ] time= 20/10/2026 02:45:18
[2026-10-20 02:45:18,597.597 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:45:18,622.622 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:45:18,730.730 INFO    ] No existing commands found in stream
[2026-10-20 02:45:23,760.760 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:45:23,762.762 INFO    ] Waiting 1.33 seconds before fallback handling...
[2026-10-20 02:45:25,604.604 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:45:25,607.607 INFO    ] Checking for system updates...
[2026-10-20 02:45:25,642.642 INFO    ] 200
[2026-10-20 02:45:25,644.644 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:45:25,700.700 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:45:25,703.703 INFO    ] No update needed
[2026-10-20 02:45:25,705.705 INFO    ] Checking for camera pi updates...
[2026-10-20 02:45:25,741.741 INFO    ] 200
[2026-10-20 02:45:25,743.743 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:45:25,782.782 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:45:25,831.831 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:45:25,833.833 INFO    ] No camera update needed
[2026-10-20 02:45:25,835.835 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:45:25,838.838 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:45:25,843.843 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:45:25,848.848 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:45:27,887.887 INFO    ] ================================================
[2026-10-20 02:45:27,902.902 INFO    ] Launching Daemon at Tue Oct 20 02:45:27 IST 2026
[2026-10-20 02:45:27,913.913 INFO    ] ================================================
[2026-10-20 02:45:28,482.482 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:45:28
[2026-10-20 02:45:29,065.065 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:45:29,333.333 INFO    ] Initializing speech engine...
[2026-10-20 02:45:29,343.343 INFO    ] 2026-10-20 02:45:29
[2026-10-20 02:45:29,590.590 INFO    ] 2026-10-20 02:45:29
[2026-10-20 02:45:29,632.632 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:45:29,877.877 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:45:29,887.887 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:45:30,103.103 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:45:30,143.143 INFO    ] time= 20/10/2026 02:45:30
[2026-10-20 02:45:30,150.150 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:45:30,167.167 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:45:30,296.296 INFO    ] No existing commands found in stream
[2026-10-20 02:45:35,309.309 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:45:35,312.312 INFO    ] Waiting 1.79 seconds before fallback handling...
[2026-10-20 02:45:37,626.626 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:45:37,629.629 INFO    ] Checking for system updates...
[2026-10-20 02:45:37,665.665 INFO    ] 200
[2026-10-20 02:45:37,667.667 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:45:37,723.723 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:45:37,725.725 INFO    ] No update needed
[2026-10-20 02:45:37,728.728 INFO    ] Checking for camera pi updates...
[2026-10-20 02:45:37,761.761 INFO    ] 200
[2026-10-20 02:45:37,764.764 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:45:37,806.806 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:45:37,951.951 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:45:37,954.954 INFO    ] No camera update needed
[2026-10-20 02:45:37,956.956 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:45:37,958.958 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:45:37,964.964 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:45:37,968.968 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:45:40,010.010 INFO    ] ================================================
[2026-10-20 02:45:40,025.025 INFO    ] Launching Daemon at Tue Oct 20 02:45:40 IST 2026
[2026-10-20 02:45:40,036.036 INFO    ] ================================================
[2026-10-20 02:45:40,660.660 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:45:40
[2026-10-20 02:45:41,303.303 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:45:41,592.592 INFO    ] Initializing speech engine...
[2026-10-20 02:45:41,601.601 INFO    ] 2026-10-20 02:45:41
[2026-10-20 02:45:41,864.864 INFO    ] 2026-10-20 02:45:41
[2026-10-20 02:45:41,899.899 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:45:42,145.145 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:45:42,155.155 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:45:42,306.306 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:45:42,367.367 INFO    ] time= 20/10/2026 02:45:42
[2026-10-20 02:45:42,419.419 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:45:42,426.426 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:45:42,568.568 INFO    ] No existing commands found in stream
[2026-10-20 02:45:47,583.583 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:45:47,586.586 INFO    ] Waiting 3.15 seconds before fallback handling...
[2026-10-20 02:45:51,253.253 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:45:51,256.256 INFO    ] Checking for system updates...
[2026-10-20 02:45:51,295.295 INFO    ] 200
[2026-10-20 02:45:51,298.298 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:45:51,351.351 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:45:51,353.353 INFO    ] No update needed
[2026-10-20 02:45:51,356.356 INFO    ] Checking for camera pi updates...
[2026-10-20 02:45:51,392.392 INFO    ] 200
[2026-10-20 02:45:51,394.394 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:45:51,434.434 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:45:51,486.486 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:45:51,488.488 INFO    ] No camera update needed
[2026-10-20 02:45:51,491.491 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:45:51,493.493 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:45:51,499.499 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:45:51,504.504 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:45:53,544.544 INFO    ] ================================================
[2026-10-20 02:45:53,558.558 INFO    ] Launching Daemon at Tue Oct 20 02:45:53 IST 2026
[2026-10-20 02:45:53,569.569 INFO    ] ================================================
[2026-10-20 02:45:54,140.140 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:45:54
[2026-10-20 02:45:54,727.727 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:45:55,004.004 INFO    ] Initializing speech engine...
[2026-10-20 02:45:55,010.010 INFO    ] 2026-10-20 02:45:55
[2026-10-20 02:45:55,255.255 INFO    ] 2026-10-20 02:45:55
[2026-10-20 02:45:55,291.291 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:45:55,545.545 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:45:55,550.550 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:45:55,758.758 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:45:55,807.807 INFO    ] time= 20/10/2026 02:45:55
[2026-10-20 02:45:55,814.814 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:45:55,832.832 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:45:55,963.963 INFO    ] No existing commands found in stream
[2026-10-20 02:46:00,986.986 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:46:00,989.989 INFO    ] Waiting 3.09 seconds before fallback handling...
[2026-10-20 02:46:04,598.598 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:46:04,601.601 INFO    ] Checking for system updates...
[2026-10-20 02:46:04,636.636 INFO    ] 200
[2026-10-20 02:46:04,638.638 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:46:04,693.693 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:46:04,696.696 INFO    ] No update needed
[2026-10-20 02:46:04,698.698 INFO    ] Checking for camera pi updates...
[2026-10-20 02:46:04,731.731 INFO    ] 200
[2026-10-20 02:46:04,733.733 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:46:04,777.777 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:46:04,825.825 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:46:04,829.829 INFO    ] No camera update needed
[2026-10-20 02:46:04,832.832 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:46:04,834.834 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:46:04,840.840 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:46:04,845.845 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:46:06,887.887 INFO    ] ================================================
[2026-10-20 02:46:06,905.905 INFO    ] Launching Daemon at Tue Oct 20 02:46:06 IST 2026
[2026-10-20 02:46:06,915.915 INFO    ] ================================================
[2026-10-20 02:46:07,546.546 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:46:07
[2026-10-20 02:46:08,197.197 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:46:08,469.469 INFO    ] Initializing speech engine...
[2026-10-20 02:46:08,493.493 INFO    ] 2026-10-20 02:46:08
[2026-10-20 02:46:08,760.760 INFO    ] 2026-10-20 02:46:08
[2026-10-20 02:46:08,803.803 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:46:09,057.057 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:46:09,067.067 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:46:09,216.216 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:46:09,276.276 INFO    ] time= 20/10/2026 02:46:09
[2026-10-20 02:46:09,337.337 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:46:09,344.344 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:46:09,494.494 INFO    ] No existing commands found in stream
[2026-10-20 02:46:14,506.506 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:46:14,510.510 INFO    ] Waiting 0.33 seconds before fallback handling...
[2026-10-20 02:46:15,377.377 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 02:46:15,380.380 INFO    ] Checking for system updates...
[2026-10-20 02:46:15,419.419 INFO    ] 200
[2026-10-20 02:46:15,422.422 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:46:15,480.480 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:46:15,483.483 INFO    ] No update needed
[2026-10-20 02:46:15,486.486 INFO    ] Checking for camera pi updates...
[2026-10-20 02:46:15,523.523 INFO    ] 200
[2026-10-20 02:46:15,526.526 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:46:15,566.566 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:46:15,616.616 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:46:15,619.619 INFO    ] No camera update needed
[2026-10-20 02:46:15,622.622 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:46:15,624.624 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:46:15,630.630 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:46:15,636.636 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:46:17,676.676 INFO    ] ================================================
[2026-10-20 02:46:17,691.691 INFO    ] Launching Daemon at Tue Oct 20 02:46:17 IST 2026
[2026-10-20 02:46:17,701.701 INFO    ] ================================================
[2026-10-20 02:46:18,274.274 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:46:18
[2026-10-20 02:46:18,882.882 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:46:19,156.156 INFO    ] Initializing speech engine...
[2026-10-20 02:46:19,165.165 INFO    ] 2026-10-20 02:46:19
[2026-10-20 02:46:19,427.427 INFO    ] 2026-10-20 02:46:19
[2026-10-20 02:46:19,479.479 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:46:19,702.702 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:46:19,711.711 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:46:19,846.846 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:46:19,890.890 INFO    ] time= 20/10/2026 02:46:19
[2026-10-20 02:46:19,929.929 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:46:19,976.976 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:46:20,122.122 INFO    ] No existing commands found in stream
[2026-10-20 02:46:25,137.137 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:46:25,140.140 INFO    ] Waiting 2.83 seconds before fallback handling...
[2026-10-20 02:46:28,539.539 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:46:28,542.542 INFO    ] Checking for system updates...
[2026-10-20 02:46:28,581.581 INFO    ] 200
[2026-10-20 02:46:28,583.583 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:46:28,639.639 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:46:28,641.641 INFO    ] No update needed
[2026-10-20 02:46:28,644.644 INFO    ] Checking for camera pi updates...
[2026-10-20 02:46:28,680.680 INFO    ] 200
[2026-10-20 02:46:28,682.682 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:46:28,726.726 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:46:28,775.775 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:46:28,777.777 INFO    ] No camera update needed
[2026-10-20 02:46:28,780.780 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:46:28,782.782 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:46:28,787.787 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:46:28,792.792 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:46:30,833.833 INFO    ] ================================================
[2026-10-20 02:46:30,848.848 INFO    ] Launching Daemon at Tue Oct 20 02:46:30 IST 2026
[2026-10-20 02:46:30,858.858 INFO    ] ================================================
[2026-10-20 02:46:31,425.425 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:46:31
[2026-10-20 02:46:32,016.016 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:46:32,289.289 INFO    ] Initializing speech engine...
[2026-10-20 02:46:32,298.298 INFO    ] 2026-10-20 02:46:32
[2026-10-20 02:46:32,602.602 INFO    ] 2026-10-20 02:46:32
[2026-10-20 02:46:32,649.649 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:46:32,853.853 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:46:32,868.868 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:46:33,029.029 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:46:33,041.041 INFO    ] time= 20/10/2026 02:46:33
[2026-10-20 02:46:33,050.050 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:46:33,099.099 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:46:33,232.232 INFO    ] No existing commands found in stream
[2026-10-20 02:46:38,252.252 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:46:38,255.255 INFO    ] Waiting 0.18 seconds before fallback handling...
[2026-10-20 02:46:38,899.899 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:46:38,902.902 INFO    ] Checking for system updates...
[2026-10-20 02:46:38,937.937 INFO    ] 200
[2026-10-20 02:46:38,940.940 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:46:38,992.992 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:46:38,995.995 INFO    ] No update needed
[2026-10-20 02:46:38,997.997 INFO    ] Checking for camera pi updates...
[2026-10-20 02:46:39,033.033 INFO    ] 200
[2026-10-20 02:46:39,035.035 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:46:39,076.076 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:46:39,120.120 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:46:39,123.123 INFO    ] No camera update needed
[2026-10-20 02:46:39,125.125 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:46:39,127.127 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:46:39,133.133 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:46:39,137.137 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:46:41,177.177 INFO    ] ================================================
[2026-10-20 02:46:41,192.192 INFO    ] Launching Daemon at Tue Oct 20 02:46:41 IST 2026
[2026-10-20 02:46:41,203.203 INFO    ] ================================================
[2026-10-20 02:46:41,796.796 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:46:41
[2026-10-20 02:46:42,449.449 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:46:42,745.745 INFO    ] Initializing speech engine...
[2026-10-20 02:46:42,753.753 INFO    ] 2026-10-20 02:46:42
[2026-10-20 02:46:43,037.037 INFO    ] 2026-10-20 02:46:43
[2026-10-20 02:46:43,082.082 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:46:43,330.330 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:46:43,335.335 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:46:43,554.554 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:46:43,574.574 INFO    ] time= 20/10/2026 02:46:43
[2026-10-20 02:46:43,593.593 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:46:43,622.622 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:46:43,753.753 INFO    ] No existing commands found in stream
[2026-10-20 02:46:48,784.784 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:46:48,787.787 INFO    ] Waiting 3.92 seconds before fallback handling...
[2026-10-20 02:46:53,246.246 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:46:53,249.249 INFO    ] Checking for system updates...
[2026-10-20 02:46:53,285.285 INFO    ] 200
[2026-10-20 02:46:53,288.288 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:46:53,340.340 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:46:53,343.343 INFO    ] No update needed
[2026-10-20 02:46:53,345.345 INFO    ] Checking for camera pi updates...
[2026-10-20 02:46:53,379.379 INFO    ] 200
[2026-10-20 02:46:53,382.382 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:46:53,428.428 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:46:53,472.472 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:46:53,474.474 INFO    ] No camera update needed
[2026-10-20 02:46:53,477.477 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:46:53,479.479 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:46:53,486.486 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:46:53,491.491 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:46:55,531.531 INFO    ] ================================================
[2026-10-20 02:46:55,545.545 INFO    ] Launching Daemon at Tue Oct 20 02:46:55 IST 2026
[2026-10-20 02:46:55,556.556 INFO    ] ================================================
[2026-10-20 02:46:56,223.223 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:46:56
[2026-10-20 02:46:56,917.917 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:46:57,244.244 INFO    ] Initializing speech engine...
[2026-10-20 02:46:57,249.249 INFO    ] 2026-10-20 02:46:57
[2026-10-20 02:46:57,514.514 INFO    ] 2026-10-20 02:46:57
[2026-10-20 02:46:57,552.552 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:46:57,774.774 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:46:57,783.783 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:46:58,008.008 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:46:58,050.050 INFO    ] time= 20/10/2026 02:46:58
[2026-10-20 02:46:58,109.109 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:46:58,141.141 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:46:58,289.289 INFO    ] No existing commands found in stream
[2026-10-20 02:47:03,309.309 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:47:03,312.312 INFO    ] Waiting 0.13 seconds before fallback handling...
[2026-10-20 02:47:03,938.938 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:47:03,941.941 INFO    ] Checking for system updates...
[2026-10-20 02:47:03,977.977 INFO    ] 200
[2026-10-20 02:47:03,980.980 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:47:04,038.038 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:47:04,041.041 INFO    ] No update needed
[2026-10-20 02:47:04,043.043 INFO    ] Checking for camera pi updates...
[2026-10-20 02:47:04,080.080 INFO    ] 200
[2026-10-20 02:47:04,082.082 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:47:04,122.122 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:47:04,171.171 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:47:04,173.173 INFO    ] No camera update needed
[2026-10-20 02:47:04,176.176 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:47:04,178.178 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:47:04,183.183 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:47:04,189.189 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:47:06,229.229 INFO    ] ================================================
[2026-10-20 02:47:06,244.244 INFO    ] Launching Daemon at Tue Oct 20 02:47:06 IST 2026
[2026-10-20 02:47:06,255.255 INFO    ] ================================================
[2026-10-20 02:47:06,826.826 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:47:06
[2026-10-20 02:47:07,413.413 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:47:07,680.680 INFO    ] Initializing speech engine...
[2026-10-20 02:47:07,689.689 INFO    ] 2026-10-20 02:47:07
[2026-10-20 02:47:07,935.935 INFO    ] 2026-10-20 02:47:07
[2026-10-20 02:47:07,970.970 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:47:08,166.166 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:47:08,224.224 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:47:08,408.408 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:47:08,462.462 INFO    ] time= 20/10/2026 02:47:08
[2026-10-20 02:47:08,495.495 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:47:08,501.501 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:47:08,630.630 INFO    ] No existing commands found in stream
[2026-10-20 02:47:13,654.654 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:47:13,662.662 INFO    ] Waiting 2.90 seconds before fallback handling...
[2026-10-20 02:47:17,090.090 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 02:47:17,092.092 INFO    ] Checking for system updates...
[2026-10-20 02:47:17,128.128 INFO    ] 200
[2026-10-20 02:47:17,130.130 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:47:17,182.182 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:47:17,184.184 INFO    ] No update needed
[2026-10-20 02:47:17,187.187 INFO    ] Checking for camera pi updates...
[2026-10-20 02:47:17,220.220 INFO    ] 200
[2026-10-20 02:47:17,223.223 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:47:17,263.263 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:47:17,310.310 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:47:17,313.313 INFO    ] No camera update needed
[2026-10-20 02:47:17,315.315 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:47:17,317.317 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:47:17,323.323 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:47:17,327.327 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:47:19,368.368 INFO    ] ================================================
[2026-10-20 02:47:19,383.383 INFO    ] Launching Daemon at Tue Oct 20 02:47:19 IST 2026
[2026-10-20 02:47:19,394.394 INFO    ] ================================================
[2026-10-20 02:47:20,041.041 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:47:20
[2026-10-20 02:47:20,635.635 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:47:20,900.900 INFO    ] Initializing speech engine...
[2026-10-20 02:47:20,915.915 INFO    ] 2026-10-20 02:47:20
[2026-10-20 02:47:21,208.208 INFO    ] 2026-10-20 02:47:21
[2026-10-20 02:47:21,243.243 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:47:21,443.443 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:47:21,459.459 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:47:21,607.607 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:47:21,613.613 INFO    ] time= 20/10/2026 02:47:21
[2026-10-20 02:47:21,619.619 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:47:21,665.665 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:47:21,813.813 INFO    ] No existing commands found in stream
[2026-10-20 02:47:26,823.823 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:47:26,826.826 INFO    ] Waiting 0.44 seconds before fallback handling...
[2026-10-20 02:47:27,799.799 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:47:27,802.802 INFO    ] Checking for system updates...
[2026-10-20 02:47:27,837.837 INFO    ] 200
[2026-10-20 02:47:27,840.840 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:47:27,897.897 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:47:27,900.900 INFO    ] No update needed
[2026-10-20 02:47:27,902.902 INFO    ] Checking for camera pi updates...
[2026-10-20 02:47:27,938.938 INFO    ] 200
[2026-10-20 02:47:27,941.941 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:47:27,980.980 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:47:28,026.026 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:47:28,029.029 INFO    ] No camera update needed
[2026-10-20 02:47:28,031.031 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:47:28,033.033 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:47:28,039.039 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:47:28,044.044 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:47:30,084.084 INFO    ] ================================================
[2026-10-20 02:47:30,099.099 INFO    ] Launching Daemon at Tue Oct 20 02:47:30 IST 2026
[2026-10-20 02:47:30,109.109 INFO    ] ================================================
[2026-10-20 02:47:30,681.681 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:47:30
[2026-10-20 02:47:31,270.270 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:47:31,519.519 INFO    ] Initializing speech engine...
[2026-10-20 02:47:31,531.531 INFO    ] 2026-10-20 02:47:31
[2026-10-20 02:47:31,800.800 INFO    ] 2026-10-20 02:47:31
[2026-10-20 02:47:31,835.835 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:47:32,113.113 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:47:32,123.123 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:47:32,265.265 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:47:32,269.269 INFO    ] time= 20/10/2026 02:47:32
[2026-10-20 02:47:32,285.285 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:47:32,320.320 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:47:32,402.402 INFO    ] No existing commands found in stream
[2026-10-20 02:47:37,412.412 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:47:37,414.414 INFO    ] Waiting 0.07 seconds before fallback handling...
[2026-10-20 02:47:37,973.973 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 02:47:37,976.976 INFO    ] Checking for system updates...
[2026-10-20 02:47:38,011.011 INFO    ] 200
[2026-10-20 02:47:38,014.014 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:47:38,071.071 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:47:38,073.073 INFO    ] No update needed
[2026-10-20 02:47:38,076.076 INFO    ] Checking for camera pi updates...
[2026-10-20 02:47:38,112.112 INFO    ] 200
[2026-10-20 02:47:38,115.115 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:47:38,154.154 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:47:38,201.201 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:47:38,203.203 INFO    ] No camera update needed
[2026-10-20 02:47:38,206.206 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:47:38,208.208 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:47:38,214.214 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:47:38,219.219 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:47:40,262.262 INFO    ] ================================================
[2026-10-20 02:47:40,279.279 INFO    ] Launching Daemon at Tue Oct 20 02:47:40 IST 2026
[2026-10-20 02:47:40,290.290 INFO    ] ================================================
[2026-10-20 02:47:40,870.870 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:47:40
[2026-10-20 02:47:41,469.469 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:47:41,730.730 INFO    ] Initializing speech engine...
[2026-10-20 02:47:41,745.745 INFO    ] 2026-10-20 02:47:41
[2026-10-20 02:47:42,028.028 INFO    ] 2026-10-20 02:47:42
[2026-10-20 02:47:42,068.068 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:47:42,271.271 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:47:42,289.289 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:47:42,435.435 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:47:42,442.442 INFO    ] time= 20/10/2026 02:47:42
[2026-10-20 02:47:42,449.449 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:47:42,471.471 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:47:42,593.593 INFO    ] No existing commands found in stream
[2026-10-20 02:47:47,618.618 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:47:47,621.621 INFO    ] Waiting 3.90 seconds before fallback handling...
[2026-10-20 02:47:52,019.019 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 02:47:52,022.022 INFO    ] Checking for system updates...
[2026-10-20 02:47:52,057.057 INFO    ] 200
[2026-10-20 02:47:52,059.059 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:47:52,111.111 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:47:52,113.113 INFO    ] No update needed
[2026-10-20 02:47:52,115.115 INFO    ] Checking for camera pi updates...
[2026-10-20 02:47:52,153.153 INFO    ] 200
[2026-10-20 02:47:52,155.155 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:47:52,194.194 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:47:52,351.351 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:47:52,353.353 INFO    ] No camera update needed
[2026-10-20 02:47:52,355.355 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:47:52,358.358 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:47:52,363.363 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:47:52,369.369 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:47:54,409.409 INFO    ] ================================================
[2026-10-20 02:47:54,424.424 INFO    ] Launching Daemon at Tue Oct 20 02:47:54 IST 2026
[2026-10-20 02:47:54,435.435 INFO    ] ================================================
[2026-10-20 02:47:55,009.009 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:47:55
[2026-10-20 02:47:55,612.612 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:47:55,886.886 INFO    ] Initializing speech engine...
[2026-10-20 02:47:55,894.894 INFO    ] 2026-10-20 02:47:55
[2026-10-20 02:47:56,143.143 INFO    ] 2026-10-20 02:47:56
[2026-10-20 02:47:56,185.185 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:47:56,435.435 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:47:56,445.445 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:47:56,648.648 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:47:56,702.702 INFO    ] time= 20/10/2026 02:47:56
[2026-10-20 02:47:56,709.709 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:47:56,727.727 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:47:56,877.877 INFO    ] No existing commands found in stream
[2026-10-20 02:48:01,909.909 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:48:01,915.915 INFO    ] Waiting 1.02 seconds before fallback handling...
[2026-10-20 02:48:03,495.495 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:48:03,498.498 INFO    ] Checking for system updates...
[2026-10-20 02:48:03,543.543 INFO    ] 200
[2026-10-20 02:48:03,546.546 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:48:03,611.611 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:48:03,614.614 INFO    ] No update needed
[2026-10-20 02:48:03,616.616 INFO    ] Checking for camera pi updates...
[2026-10-20 02:48:03,653.653 INFO    ] 200
[2026-10-20 02:48:03,657.657 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:48:03,714.714 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:48:03,765.765 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:48:03,768.768 INFO    ] No camera update needed
[2026-10-20 02:48:03,770.770 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:48:03,773.773 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:48:03,779.779 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:48:03,785.785 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:48:05,827.827 INFO    ] ================================================
[2026-10-20 02:48:05,843.843 INFO    ] Launching Daemon at Tue Oct 20 02:48:05 IST 2026
[2026-10-20 02:48:05,854.854 INFO    ] ================================================
[2026-10-20 02:48:06,423.423 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:48:06
[2026-10-20 02:48:07,008.008 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:48:07,261.261 INFO    ] Initializing speech engine...
[2026-10-20 02:48:07,284.284 INFO    ] 2026-10-20 02:48:07
[2026-10-20 02:48:07,539.539 INFO    ] 2026-10-20 02:48:07
[2026-10-20 02:48:07,572.572 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:48:07,831.831 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:48:07,840.840 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:48:08,043.043 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:48:08,098.098 INFO    ] time= 20/10/2026 02:48:08
[2026-10-20 02:48:08,110.110 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:48:08,125.125 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:48:08,262.262 INFO    ] No existing commands found in stream
[2026-10-20 02:48:13,277.277 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:48:13,280.280 INFO    ] Waiting 1.31 seconds before fallback handling...
[2026-10-20 02:48:15,057.057 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:48:15,060.060 INFO    ] Checking for system updates...
[2026-10-20 02:48:15,098.098 INFO    ] 200
[2026-10-20 02:48:15,101.101 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:48:15,158.158 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:48:15,161.161 INFO    ] No update needed
[2026-10-20 02:48:15,163.163 INFO    ] Checking for camera pi updates...
[2026-10-20 02:48:15,196.196 INFO    ] 200
[2026-10-20 02:48:15,199.199 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:48:15,241.241 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:48:15,283.283 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:48:15,285.285 INFO    ] No camera update needed
[2026-10-20 02:48:15,287.287 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:48:15,290.290 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:48:15,295.295 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:48:15,300.300 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:48:17,342.342 INFO    ] ================================================
[2026-10-20 02:48:17,357.357 INFO    ] Launching Daemon at Tue Oct 20 02:48:17 IST 2026
[2026-10-20 02:48:17,368.368 INFO    ] ================================================
[2026-10-20 02:48:17,941.941 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:48:17
[2026-10-20 02:48:18,531.531 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:48:18,780.780 INFO    ] Initializing speech engine...
[2026-10-20 02:48:18,802.802 INFO    ] 2026-10-20 02:48:18
[2026-10-20 02:48:19,062.062 INFO    ] 2026-10-20 02:48:19
[2026-10-20 02:48:19,096.096 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:48:19,354.354 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:48:19,363.363 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:48:19,566.566 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:48:19,626.626 INFO    ] time= 20/10/2026 02:48:19
[2026-10-20 02:48:19,634.634 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:48:19,653.653 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:48:19,784.784 INFO    ] No existing commands found in stream
[2026-10-20 02:48:24,797.797 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:48:24,800.800 INFO    ] Waiting 3.99 seconds before fallback handling...
[2026-10-20 02:48:29,314.314 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:48:29,317.317 INFO    ] Checking for system updates...
[2026-10-20 02:48:29,352.352 INFO    ] 200
[2026-10-20 02:48:29,354.354 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:48:29,411.411 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:48:29,413.413 INFO    ] No update needed
[2026-10-20 02:48:29,416.416 INFO    ] Checking for camera pi updates...
[2026-10-20 02:48:29,449.449 INFO    ] 200
[2026-10-20 02:48:29,451.451 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:48:29,491.491 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:48:29,533.533 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:48:29,535.535 INFO    ] No camera update needed
[2026-10-20 02:48:29,537.537 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:48:29,540.540 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:48:29,545.545 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:48:29,550.550 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:48:31,592.592 INFO    ] ================================================
[2026-10-20 02:48:31,607.607 INFO    ] Launching Daemon at Tue Oct 20 02:48:31 IST 2026
[2026-10-20 02:48:31,618.618 INFO    ] ================================================
[2026-10-20 02:48:32,210.210 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:48:32
[2026-10-20 02:48:32,823.823 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:48:33,107.107 INFO    ] Initializing speech engine...
[2026-10-20 02:48:33,116.116 INFO    ] 2026-10-20 02:48:33
[2026-10-20 02:48:33,384.384 INFO    ] 2026-10-20 02:48:33
[2026-10-20 02:48:33,420.420 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:48:33,662.662 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:48:33,665.665 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:48:33,821.821 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:48:33,860.860 INFO    ] time= 20/10/2026 02:48:33
[2026-10-20 02:48:33,904.904 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:48:33,955.955 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:48:34,097.097 INFO    ] No existing commands found in stream
[2026-10-20 02:48:39,118.118 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:48:39,121.121 INFO    ] Waiting 2.27 seconds before fallback handling...
[2026-10-20 02:48:41,896.896 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:48:41,899.899 INFO    ] Checking for system updates...
[2026-10-20 02:48:41,937.937 INFO    ] 200
[2026-10-20 02:48:41,940.940 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:48:41,991.991 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:48:41,994.994 INFO    ] No update needed
[2026-10-20 02:48:41,996.996 INFO    ] Checking for camera pi updates...
[2026-10-20 02:48:42,033.033 INFO    ] 200
[2026-10-20 02:48:42,035.035 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:48:42,075.075 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:48:42,122.122 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:48:42,124.124 INFO    ] No camera update needed
[2026-10-20 02:48:42,126.126 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:48:42,129.129 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:48:42,134.134 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:48:42,139.139 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:48:44,179.179 INFO    ] ================================================
[2026-10-20 02:48:44,195.195 INFO    ] Launching Daemon at Tue Oct 20 02:48:44 IST 2026
[2026-10-20 02:48:44,206.206 INFO    ] ================================================
[2026-10-20 02:48:44,866.866 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:48:44
[2026-10-20 02:48:45,546.546 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:48:45,855.855 INFO    ] Initializing speech engine...
[2026-10-20 02:48:45,869.869 INFO    ] 2026-10-20 02:48:45
[2026-10-20 02:48:46,155.155 INFO    ] 2026-10-20 02:48:46
[2026-10-20 02:48:46,201.201 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:48:46,496.496 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:48:46,504.504 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:48:46,703.703 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:48:46,720.720 INFO    ] time= 20/10/2026 02:48:46
[2026-10-20 02:48:46,730.730 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:48:46,758.758 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:48:46,882.882 INFO    ] No existing commands found in stream
[2026-10-20 02:48:51,918.918 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:48:51,922.922 INFO    ] Waiting 1.70 seconds before fallback handling...
[2026-10-20 02:48:54,141.141 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:48:54,144.144 INFO    ] Checking for system updates...
[2026-10-20 02:48:54,185.185 INFO    ] 200
[2026-10-20 02:48:54,188.188 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:48:54,241.241 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:48:54,244.244 INFO    ] No update needed
[2026-10-20 02:48:54,247.247 INFO    ] Checking for camera pi updates...
[2026-10-20 02:48:54,282.282 INFO    ] 200
[2026-10-20 02:48:54,285.285 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:48:54,326.326 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:48:54,384.384 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:48:54,387.387 INFO    ] No camera update needed
[2026-10-20 02:48:54,390.390 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:48:54,392.392 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:48:54,399.399 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:48:54,404.404 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:48:56,447.447 INFO    ] ================================================
[2026-10-20 02:48:56,463.463 INFO    ] Launching Daemon at Tue Oct 20 02:48:56 IST 2026
[2026-10-20 02:48:56,474.474 INFO    ] ================================================
[2026-10-20 02:48:57,057.057 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:48:57
[2026-10-20 02:48:57,656.656 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:48:57,929.929 INFO    ] Initializing speech engine...
[2026-10-20 02:48:57,938.938 INFO    ] 2026-10-20 02:48:57
[2026-10-20 02:48:58,198.198 INFO    ] 2026-10-20 02:48:58
[2026-10-20 02:48:58,254.254 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:48:58,502.502 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:48:58,508.508 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:48:58,702.702 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:48:58,744.744 INFO    ] time= 20/10/2026 02:48:58
[2026-10-20 02:48:58,751.751 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:48:58,768.768 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:48:58,902.902 INFO    ] No existing commands found in stream
[2026-10-20 02:49:03,931.931 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:49:03,934.934 INFO    ] Waiting 2.56 seconds before fallback handling...
[2026-10-20 02:49:07,048.048 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:49:07,051.051 INFO    ] Checking for system updates...
[2026-10-20 02:49:07,096.096 INFO    ] 200
[2026-10-20 02:49:07,099.099 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:49:07,155.155 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:49:07,157.157 INFO    ] No update needed
[2026-10-20 02:49:07,160.160 INFO    ] Checking for camera pi updates...
[2026-10-20 02:49:07,193.193 INFO    ] 200
[2026-10-20 02:49:07,196.196 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:49:07,238.238 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:49:07,295.295 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:49:07,297.297 INFO    ] No camera update needed
[2026-10-20 02:49:07,300.300 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:49:07,303.303 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:49:07,308.308 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:49:07,313.313 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:49:09,354.354 INFO    ] ================================================
[2026-10-20 02:49:09,370.370 INFO    ] Launching Daemon at Tue Oct 20 02:49:09 IST 2026
[2026-10-20 02:49:09,381.381 INFO    ] ================================================
[2026-10-20 02:49:09,948.948 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:49:09
[2026-10-20 02:49:10,532.532 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:49:10,796.796 INFO    ] Initializing speech engine...
[2026-10-20 02:49:10,812.812 INFO    ] 2026-10-20 02:49:10
[2026-10-20 02:49:11,099.099 INFO    ] 2026-10-20 02:49:11
[2026-10-20 02:49:11,138.138 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:49:11,364.364 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:49:11,372.372 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:49:11,523.523 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:49:11,530.530 INFO    ] time= 20/10/2026 02:49:11
[2026-10-20 02:49:11,579.579 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:49:11,607.607 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:49:11,740.740 INFO    ] No existing commands found in stream
[2026-10-20 02:49:16,763.763 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:49:16,766.766 INFO    ] Waiting 3.90 seconds before fallback handling...
[2026-10-20 02:49:21,153.153 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:49:21,156.156 INFO    ] Checking for system updates...
[2026-10-20 02:49:21,191.191 INFO    ] 200
[2026-10-20 02:49:21,193.193 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:49:21,245.245 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:49:21,247.247 INFO    ] No update needed
[2026-10-20 02:49:21,249.249 INFO    ] Checking for camera pi updates...
[2026-10-20 02:49:21,283.283 INFO    ] 200
[2026-10-20 02:49:21,286.286 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:49:21,325.325 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:49:21,371.371 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:49:21,373.373 INFO    ] No camera update needed
[2026-10-20 02:49:21,376.376 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:49:21,379.379 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:49:21,385.385 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:49:21,390.390 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:49:23,431.431 INFO    ] ================================================
[2026-10-20 02:49:23,447.447 INFO    ] Launching Daemon at Tue Oct 20 02:49:23 IST 2026
[2026-10-20 02:49:23,458.458 INFO    ] ================================================
[2026-10-20 02:49:24,039.039 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:49:24
[2026-10-20 02:49:24,630.630 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:49:24,884.884 INFO    ] Initializing speech engine...
[2026-10-20 02:49:24,905.905 INFO    ] 2026-10-20 02:49:24
[2026-10-20 02:49:25,164.164 INFO    ] 2026-10-20 02:49:25
[2026-10-20 02:49:25,200.200 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:49:25,458.458 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:49:25,468.468 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:49:25,677.677 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:49:25,735.735 INFO    ] time= 20/10/2026 02:49:25
[2026-10-20 02:49:25,742.742 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:49:25,760.760 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:49:25,904.904 INFO    ] No existing commands found in stream
[2026-10-20 02:49:30,931.931 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:49:30,933.933 INFO    ] Waiting 3.45 seconds before fallback handling...
[2026-10-20 02:49:34,893.893 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:49:34,895.895 INFO    ] Checking for system updates...
[2026-10-20 02:49:34,931.931 INFO    ] 200
[2026-10-20 02:49:34,934.934 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:49:34,995.995 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:49:34,998.998 INFO    ] No update needed
[2026-10-20 02:49:35,001.001 INFO    ] Checking for camera pi updates...
[2026-10-20 02:49:35,036.036 INFO    ] 200
[2026-10-20 02:49:35,039.039 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:49:35,082.082 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:49:35,134.134 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:49:35,137.137 INFO    ] No camera update needed
[2026-10-20 02:49:35,139.139 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:49:35,142.142 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:49:35,148.148 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:49:35,154.154 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:49:37,197.197 INFO    ] ================================================
[2026-10-20 02:49:37,213.213 INFO    ] Launching Daemon at Tue Oct 20 02:49:37 IST 2026
[2026-10-20 02:49:37,224.224 INFO    ] ================================================
[2026-10-20 02:49:37,802.802 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:49:37
[2026-10-20 02:49:38,394.394 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:49:38,683.683 INFO    ] Initializing speech engine...
[2026-10-20 02:49:38,694.694 INFO    ] 2026-10-20 02:49:38
[2026-10-20 02:49:38,962.962 INFO    ] 2026-10-20 02:49:38
[2026-10-20 02:49:38,997.997 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:49:39,202.202 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:49:39,207.207 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:49:39,367.367 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:49:39,393.393 INFO    ] time= 20/10/2026 02:49:39
[2026-10-20 02:49:39,399.399 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:49:39,405.405 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:49:39,484.484 INFO    ] No existing commands found in stream
[2026-10-20 02:49:44,499.499 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:49:44,502.502 INFO    ] Waiting 3.61 seconds before fallback handling...
[2026-10-20 02:49:48,590.590 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:49:48,592.592 INFO    ] Checking for system updates...
[2026-10-20 02:49:48,628.628 INFO    ] 200
[2026-10-20 02:49:48,630.630 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:49:48,689.689 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:49:48,692.692 INFO    ] No update needed
[2026-10-20 02:49:48,694.694 INFO    ] Checking for camera pi updates...
[2026-10-20 02:49:48,727.727 INFO    ] 200
[2026-10-20 02:49:48,729.729 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:49:48,774.774 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:49:48,819.819 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:49:48,822.822 INFO    ] No camera update needed
[2026-10-20 02:49:48,824.824 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:49:48,826.826 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:49:48,832.832 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:49:48,837.837 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:49:50,877.877 INFO    ] ================================================
[2026-10-20 02:49:50,892.892 INFO    ] Launching Daemon at Tue Oct 20 02:49:50 IST 2026
[2026-10-20 02:49:50,903.903 INFO    ] ================================================
[2026-10-20 02:49:51,565.565 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:49:51
[2026-10-20 02:49:52,246.246 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:49:52,558.558 INFO    ] Initializing speech engine...
[2026-10-20 02:49:52,571.571 INFO    ] 2026-10-20 02:49:52
[2026-10-20 02:49:52,857.857 INFO    ] 2026-10-20 02:49:52
[2026-10-20 02:49:52,903.903 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:49:53,137.137 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:49:53,159.159 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:49:53,352.352 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:49:53,407.407 INFO    ] time= 20/10/2026 02:49:53
[2026-10-20 02:49:53,414.414 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:49:53,435.435 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:49:53,591.591 INFO    ] No existing commands found in stream
[2026-10-20 02:49:58,622.622 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:49:58,626.626 INFO    ] Waiting 1.27 seconds before fallback handling...
[2026-10-20 02:50:00,443.443 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:50:00,446.446 INFO    ] Checking for system updates...
[2026-10-20 02:50:00,483.483 INFO    ] 200
[2026-10-20 02:50:00,486.486 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:50:00,539.539 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:50:00,542.542 INFO    ] No update needed
[2026-10-20 02:50:00,545.545 INFO    ] Checking for camera pi updates...
[2026-10-20 02:50:00,579.579 INFO    ] 200
[2026-10-20 02:50:00,582.582 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:50:00,623.623 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:50:00,776.776 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:50:00,779.779 INFO    ] No camera update needed
[2026-10-20 02:50:00,782.782 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:50:00,785.785 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:50:00,791.791 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:50:00,797.797 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:50:02,894.894 INFO    ] ================================================
[2026-10-20 02:50:02,918.918 INFO    ] Launching Daemon at Tue Oct 20 02:50:02 IST 2026
[2026-10-20 02:50:02,940.940 INFO    ] ================================================
[2026-10-20 02:50:03,612.612 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:50:03
[2026-10-20 02:50:04,263.263 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:50:04,532.532 INFO    ] Initializing speech engine...
[2026-10-20 02:50:04,541.541 INFO    ] 2026-10-20 02:50:04
[2026-10-20 02:50:04,803.803 INFO    ] 2026-10-20 02:50:04
[2026-10-20 02:50:04,843.843 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:50:05,040.040 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:50:05,046.046 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:50:05,221.221 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:50:05,226.226 INFO    ] time= 20/10/2026 02:50:05
[2026-10-20 02:50:05,233.233 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:50:05,281.281 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:50:05,392.392 INFO    ] No existing commands found in stream
[2026-10-20 02:50:10,417.417 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:50:10,420.420 INFO    ] Waiting 3.88 seconds before fallback handling...
[2026-10-20 02:50:14,817.817 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 02:50:14,820.820 INFO    ] Checking for system updates...
[2026-10-20 02:50:14,856.856 INFO    ] 200
[2026-10-20 02:50:14,859.859 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:50:14,918.918 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:50:14,921.921 INFO    ] No update needed
[2026-10-20 02:50:14,924.924 INFO    ] Checking for camera pi updates...
[2026-10-20 02:50:14,959.959 INFO    ] 200
[2026-10-20 02:50:14,962.962 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:50:15,007.007 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:50:15,063.063 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:50:15,066.066 INFO    ] No camera update needed
[2026-10-20 02:50:15,068.068 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:50:15,071.071 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:50:15,077.077 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:50:15,083.083 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:50:17,126.126 INFO    ] ================================================
[2026-10-20 02:50:17,141.141 INFO    ] Launching Daemon at Tue Oct 20 02:50:17 IST 2026
[2026-10-20 02:50:17,152.152 INFO    ] ================================================
[2026-10-20 02:50:17,718.718 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:50:17
[2026-10-20 02:50:18,302.302 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:50:18,549.549 INFO    ] Initializing speech engine...
[2026-10-20 02:50:18,563.563 INFO    ] 2026-10-20 02:50:18
[2026-10-20 02:50:18,825.825 INFO    ] 2026-10-20 02:50:18
[2026-10-20 02:50:18,860.860 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:50:19,111.111 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:50:19,115.115 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:50:19,274.274 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:50:19,291.291 INFO    ] time= 20/10/2026 02:50:19
[2026-10-20 02:50:19,341.341 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:50:19,395.395 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:50:19,557.557 INFO    ] No existing commands found in stream
[2026-10-20 02:50:24,573.573 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:50:24,576.576 INFO    ] Waiting 0.67 seconds before fallback handling...
[2026-10-20 02:50:25,776.776 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:50:25,779.779 INFO    ] Checking for system updates...
[2026-10-20 02:50:25,814.814 INFO    ] 200
[2026-10-20 02:50:25,817.817 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:50:25,869.869 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:50:25,872.872 INFO    ] No update needed
[2026-10-20 02:50:25,874.874 INFO    ] Checking for camera pi updates...
[2026-10-20 02:50:25,907.907 INFO    ] 200
[2026-10-20 02:50:25,910.910 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:50:25,970.970 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:50:26,021.021 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:50:26,023.023 INFO    ] No camera update needed
[2026-10-20 02:50:26,026.026 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:50:26,028.028 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:50:26,033.033 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:50:26,038.038 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:50:28,080.080 INFO    ] ================================================
[2026-10-20 02:50:28,095.095 INFO    ] Launching Daemon at Tue Oct 20 02:50:28 IST 2026
[2026-10-20 02:50:28,106.106 INFO    ] ================================================
[2026-10-20 02:50:28,687.687 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:50:28
[2026-10-20 02:50:29,287.287 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:50:29,560.560 INFO    ] Initializing speech engine...
[2026-10-20 02:50:29,570.570 INFO    ] 2026-10-20 02:50:29
[2026-10-20 02:50:29,817.817 INFO    ] 2026-10-20 02:50:29
[2026-10-20 02:50:29,852.852 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:50:30,104.104 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:50:30,113.113 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:50:30,311.311 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:50:30,371.371 INFO    ] time= 20/10/2026 02:50:30
[2026-10-20 02:50:30,378.378 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:50:30,396.396 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:50:30,537.537 INFO    ] No existing commands found in stream
[2026-10-20 02:50:35,563.563 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:50:35,566.566 INFO    ] Waiting 1.60 seconds before fallback handling...
[2026-10-20 02:50:37,717.717 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 02:50:37,720.720 INFO    ] Checking for system updates...
[2026-10-20 02:50:37,755.755 INFO    ] 200
[2026-10-20 02:50:37,758.758 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:50:37,809.809 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:50:37,812.812 INFO    ] No update needed
[2026-10-20 02:50:37,814.814 INFO    ] Checking for camera pi updates...
[2026-10-20 02:50:37,847.847 INFO    ] 200
[2026-10-20 02:50:37,850.850 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:50:37,895.895 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:50:37,956.956 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:50:37,959.959 INFO    ] No camera update needed
[2026-10-20 02:50:37,961.961 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:50:37,964.964 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:50:37,969.969 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:50:37,974.974 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:50:40,014.014 INFO    ] ================================================
[2026-10-20 02:50:40,029.029 INFO    ] Launching Daemon at Tue Oct 20 02:50:40 IST 2026
[2026-10-20 02:50:40,040.040 INFO    ] ================================================
[2026-10-20 02:50:40,606.606 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:50:40
[2026-10-20 02:50:41,190.190 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:50:41,457.457 INFO    ] Initializing speech engine...
[2026-10-20 02:50:41,467.467 INFO    ] 2026-10-20 02:50:41
[2026-10-20 02:50:41,710.710 INFO    ] 2026-10-20 02:50:41
[2026-10-20 02:50:41,744.744 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:50:41,942.942 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:50:42,000.000 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:50:42,201.201 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:50:42,263.263 INFO    ] time= 20/10/2026 02:50:42
[2026-10-20 02:50:42,270.270 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:50:42,287.287 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:50:42,419.419 INFO    ] No existing commands found in stream
[2026-10-20 02:50:47,433.433 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:50:47,436.436 INFO    ] Waiting 0.58 seconds before fallback handling...
[2026-10-20 02:50:48,524.524 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:50:48,527.527 INFO    ] Checking for system updates...
[2026-10-20 02:50:48,563.563 INFO    ] 200
[2026-10-20 02:50:48,565.565 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:50:48,617.617 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:50:48,619.619 INFO    ] No update needed
[2026-10-20 02:50:48,622.622 INFO    ] Checking for camera pi updates...
[2026-10-20 02:50:48,655.655 INFO    ] 200
[2026-10-20 02:50:48,658.658 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:50:48,697.697 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:50:48,744.744 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:50:48,747.747 INFO    ] No camera update needed
[2026-10-20 02:50:48,749.749 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:50:48,751.751 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:50:48,757.757 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:50:48,762.762 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:50:50,802.802 INFO    ] ================================================
[2026-10-20 02:50:50,817.817 INFO    ] Launching Daemon at Tue Oct 20 02:50:50 IST 2026
[2026-10-20 02:50:50,827.827 INFO    ] ================================================
[2026-10-20 02:50:51,396.396 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:50:51
[2026-10-20 02:50:51,981.981 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:50:52,250.250 INFO    ] Initializing speech engine...
[2026-10-20 02:50:52,258.258 INFO    ] 2026-10-20 02:50:52
[2026-10-20 02:50:52,506.506 INFO    ] 2026-10-20 02:50:52
[2026-10-20 02:50:52,541.541 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:50:52,792.792 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:50:52,802.802 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:50:52,937.937 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:50:53,002.002 INFO    ] time= 20/10/2026 02:50:52
[2026-10-20 02:50:53,061.061 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:50:53,072.072 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:50:53,207.207 INFO    ] No existing commands found in stream
[2026-10-20 02:50:58,229.229 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:50:58,232.232 INFO    ] Waiting 2.62 seconds before fallback handling...
[2026-10-20 02:51:01,401.401 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:51:01,404.404 INFO    ] Checking for system updates...
[2026-10-20 02:51:01,455.455 INFO    ] 200
[2026-10-20 02:51:01,459.459 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:51:01,580.580 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:51:01,584.584 INFO    ] No update needed
[2026-10-20 02:51:01,589.589 INFO    ] Checking for camera pi updates...
[2026-10-20 02:51:01,661.661 INFO    ] 200
[2026-10-20 02:51:01,664.664 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:51:01,717.717 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:51:01,765.765 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:51:01,768.768 INFO    ] No camera update needed
[2026-10-20 02:51:01,771.771 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:51:01,773.773 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:51:01,779.779 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:51:01,785.785 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:51:03,828.828 INFO    ] ================================================
[2026-10-20 02:51:03,843.843 INFO    ] Launching Daemon at Tue Oct 20 02:51:03 IST 2026
[2026-10-20 02:51:03,854.854 INFO    ] ================================================
[2026-10-20 02:51:04,422.422 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:51:04
[2026-10-20 02:51:05,006.006 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:51:05,274.274 INFO    ] Initializing speech engine...
[2026-10-20 02:51:05,283.283 INFO    ] 2026-10-20 02:51:05
[2026-10-20 02:51:05,528.528 INFO    ] 2026-10-20 02:51:05
[2026-10-20 02:51:05,569.569 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:51:05,813.813 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:51:05,822.822 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:51:06,038.038 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:51:06,081.081 INFO    ] time= 20/10/2026 02:51:06
[2026-10-20 02:51:06,087.087 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:51:06,104.104 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:51:06,235.235 INFO    ] No existing commands found in stream
[2026-10-20 02:51:11,248.248 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:51:11,251.251 INFO    ] Waiting 2.16 seconds before fallback handling...
[2026-10-20 02:51:13,917.917 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 02:51:13,920.920 INFO    ] Checking for system updates...
[2026-10-20 02:51:13,955.955 INFO    ] 200
[2026-10-20 02:51:13,957.957 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:51:14,009.009 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:51:14,012.012 INFO    ] No update needed
[2026-10-20 02:51:14,014.014 INFO    ] Checking for camera pi updates...
[2026-10-20 02:51:14,052.052 INFO    ] 200
[2026-10-20 02:51:14,054.054 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:51:14,094.094 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:51:14,142.142 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:51:14,145.145 INFO    ] No camera update needed
[2026-10-20 02:51:14,147.147 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:51:14,149.149 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:51:14,155.155 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:51:14,160.160 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:51:16,199.199 INFO    ] ================================================
[2026-10-20 02:51:16,215.215 INFO    ] Launching Daemon at Tue Oct 20 02:51:16 IST 2026
[2026-10-20 02:51:16,226.226 INFO    ] ================================================
[2026-10-20 02:51:16,791.791 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:51:16
[2026-10-20 02:51:17,376.376 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:51:17,646.646 INFO    ] Initializing speech engine...
[2026-10-20 02:51:17,655.655 INFO    ] 2026-10-20 02:51:17
[2026-10-20 02:51:17,900.900 INFO    ] 2026-10-20 02:51:17
[2026-10-20 02:51:17,935.935 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:51:18,186.186 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:51:18,195.195 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:51:18,329.329 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:51:18,389.389 INFO    ] time= 20/10/2026 02:51:18
[2026-10-20 02:51:18,438.438 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:51:18,464.464 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:51:18,589.589 INFO    ] No existing commands found in stream
[2026-10-20 02:51:23,614.614 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:51:23,617.617 INFO    ] Waiting 1.61 seconds before fallback handling...
[2026-10-20 02:51:25,709.709 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:51:25,711.711 INFO    ] Checking for system updates...
[2026-10-20 02:51:25,752.752 INFO    ] 200
[2026-10-20 02:51:25,754.754 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:51:25,807.807 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:51:25,809.809 INFO    ] No update needed
[2026-10-20 02:51:25,811.811 INFO    ] Checking for camera pi updates...
[2026-10-20 02:51:25,845.845 INFO    ] 200
[2026-10-20 02:51:25,847.847 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:51:25,893.893 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:51:25,939.939 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:51:25,941.941 INFO    ] No camera update needed
[2026-10-20 02:51:25,944.944 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:51:25,946.946 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:51:25,952.952 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:51:25,957.957 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:51:28,998.998 INFO    ] ================================================
[2026-10-20 02:51:28,014.014 INFO    ] Launching Daemon at Tue Oct 20 02:51:28 IST 2026
[2026-10-20 02:51:28,025.025 INFO    ] ================================================
[2026-10-20 02:51:28,591.591 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:51:28
[2026-10-20 02:51:29,173.173 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:51:29,442.442 INFO    ] Initializing speech engine...
[2026-10-20 02:51:29,451.451 INFO    ] 2026-10-20 02:51:29
[2026-10-20 02:51:29,696.696 INFO    ] 2026-10-20 02:51:29
[2026-10-20 02:51:29,730.730 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:51:29,926.926 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:51:29,983.983 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:51:30,124.124 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:51:30,179.179 INFO    ] time= 20/10/2026 02:51:30
[2026-10-20 02:51:30,234.234 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:51:30,255.255 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:51:30,393.393 INFO    ] No existing commands found in stream
[2026-10-20 02:51:35,413.413 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:51:35,416.416 INFO    ] Waiting 0.05 seconds before fallback handling...
[2026-10-20 02:51:35,916.916 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:51:35,919.919 INFO    ] Checking for system updates...
[2026-10-20 02:51:35,955.955 INFO    ] 200
[2026-10-20 02:51:35,957.957 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:51:36,010.010 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:51:36,012.012 INFO    ] No update needed
[2026-10-20 02:51:36,014.014 INFO    ] Checking for camera pi updates...
[2026-10-20 02:51:36,052.052 INFO    ] 200
[2026-10-20 02:51:36,054.054 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:51:36,100.100 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:51:36,146.146 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:51:36,148.148 INFO    ] No camera update needed
[2026-10-20 02:51:36,151.151 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:51:36,153.153 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:51:36,158.158 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:51:36,163.163 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:51:38,204.204 INFO    ] ================================================
[2026-10-20 02:51:38,220.220 INFO    ] Launching Daemon at Tue Oct 20 02:51:38 IST 2026
[2026-10-20 02:51:38,231.231 INFO    ] ================================================
[2026-10-20 02:51:38,816.816 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:51:38
[2026-10-20 02:51:39,417.417 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:51:39,689.689 INFO    ] Initializing speech engine...
[2026-10-20 02:51:39,700.700 INFO    ] 2026-10-20 02:51:39
[2026-10-20 02:51:39,961.961 INFO    ] 2026-10-20 02:51:39
[2026-10-20 02:51:40,014.014 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:51:40,236.236 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:51:40,245.245 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:51:40,443.443 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:51:40,498.498 INFO    ] time= 20/10/2026 02:51:40
[2026-10-20 02:51:40,512.512 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:51:40,530.530 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:51:40,661.661 INFO    ] No existing commands found in stream
[2026-10-20 02:51:45,683.683 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:51:45,686.686 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-10-20 02:51:47,272.272 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 02:51:47,275.275 INFO    ] Checking for system updates...
[2026-10-20 02:51:47,310.310 INFO    ] 200
[2026-10-20 02:51:47,313.313 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:51:47,365.365 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:51:47,368.368 INFO    ] No update needed
[2026-10-20 02:51:47,370.370 INFO    ] Checking for camera pi updates...
[2026-10-20 02:51:47,407.407 INFO    ] 200
[2026-10-20 02:51:47,410.410 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:51:47,456.456 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:51:47,506.506 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:51:47,508.508 INFO    ] No camera update needed
[2026-10-20 02:51:47,511.511 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:51:47,513.513 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:51:47,518.518 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:51:47,523.523 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:51:49,563.563 INFO    ] ================================================
[2026-10-20 02:51:49,580.580 INFO    ] Launching Daemon at Tue Oct 20 02:51:49 IST 2026
[2026-10-20 02:51:49,592.592 INFO    ] ================================================
[2026-10-20 02:51:50,184.184 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:51:50
[2026-10-20 02:51:50,767.767 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:51:51,037.037 INFO    ] Initializing speech engine...
[2026-10-20 02:51:51,046.046 INFO    ] 2026-10-20 02:51:51
[2026-10-20 02:51:51,297.297 INFO    ] 2026-10-20 02:51:51
[2026-10-20 02:51:51,325.325 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:51:51,577.577 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:51:51,586.586 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:51:51,725.725 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:51:51,790.790 INFO    ] time= 20/10/2026 02:51:51
[2026-10-20 02:51:51,840.840 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:51:51,852.852 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:51:51,999.999 INFO    ] No existing commands found in stream
[2026-10-20 02:51:57,012.012 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:51:57,015.015 INFO    ] Waiting 1.40 seconds before fallback handling...
[2026-10-20 02:51:58,923.923 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 02:51:58,926.926 INFO    ] Checking for system updates...
[2026-10-20 02:51:58,962.962 INFO    ] 200
[2026-10-20 02:51:58,965.965 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:51:59,024.024 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:51:59,026.026 INFO    ] No update needed
[2026-10-20 02:51:59,029.029 INFO    ] Checking for camera pi updates...
[2026-10-20 02:51:59,062.062 INFO    ] 200
[2026-10-20 02:51:59,065.065 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:51:59,105.105 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:51:59,154.154 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:51:59,156.156 INFO    ] No camera update needed
[2026-10-20 02:51:59,158.158 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:51:59,161.161 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:51:59,166.166 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:51:59,171.171 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:52:01,222.222 INFO    ] ================================================
[2026-10-20 02:52:01,243.243 INFO    ] Launching Daemon at Tue Oct 20 02:52:01 IST 2026
[2026-10-20 02:52:01,268.268 INFO    ] ================================================
[2026-10-20 02:52:01,948.948 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:52:01
[2026-10-20 02:52:02,596.596 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:52:02,956.956 INFO    ] Initializing speech engine...
[2026-10-20 02:52:02,965.965 INFO    ] 2026-10-20 02:52:02
[2026-10-20 02:52:03,257.257 INFO    ] 2026-10-20 02:52:03
[2026-10-20 02:52:03,299.299 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:52:03,549.549 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:52:03,555.555 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:52:03,767.767 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:52:03,811.811 INFO    ] time= 20/10/2026 02:52:03
[2026-10-20 02:52:03,817.817 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:52:03,835.835 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:52:03,969.969 INFO    ] No existing commands found in stream
[2026-10-20 02:52:08,982.982 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:52:08,985.985 INFO    ] Waiting 1.17 seconds before fallback handling...
[2026-10-20 02:52:10,628.628 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:52:10,631.631 INFO    ] Checking for system updates...
[2026-10-20 02:52:10,668.668 INFO    ] 200
[2026-10-20 02:52:10,671.671 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:52:10,742.742 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:52:10,745.745 INFO    ] No update needed
[2026-10-20 02:52:10,748.748 INFO    ] Checking for camera pi updates...
[2026-10-20 02:52:10,787.787 INFO    ] 200
[2026-10-20 02:52:10,789.789 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:52:10,835.835 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:52:10,895.895 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:52:10,897.897 INFO    ] No camera update needed
[2026-10-20 02:52:10,900.900 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:52:10,903.903 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:52:10,909.909 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:52:10,915.915 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:52:12,955.955 INFO    ] ================================================
[2026-10-20 02:52:12,970.970 INFO    ] Launching Daemon at Tue Oct 20 02:52:12 IST 2026
[2026-10-20 02:52:12,981.981 INFO    ] ================================================
[2026-10-20 02:52:13,637.637 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:52:13
[2026-10-20 02:52:14,314.314 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:52:14,630.630 INFO    ] Initializing speech engine...
[2026-10-20 02:52:14,635.635 INFO    ] 2026-10-20 02:52:14
[2026-10-20 02:52:14,944.944 INFO    ] 2026-10-20 02:52:14
[2026-10-20 02:52:15,030.030 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:52:15,240.240 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:52:15,249.249 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:52:15,433.433 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:52:15,452.452 INFO    ] time= 20/10/2026 02:52:15
[2026-10-20 02:52:15,471.471 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:52:15,501.501 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:52:15,621.621 INFO    ] No existing commands found in stream
[2026-10-20 02:52:20,652.652 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:52:20,655.655 INFO    ] Waiting 3.74 seconds before fallback handling...
[2026-10-20 02:52:24,942.942 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:52:24,945.945 INFO    ] Checking for system updates...
[2026-10-20 02:52:24,981.981 INFO    ] 200
[2026-10-20 02:52:24,984.984 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:52:25,042.042 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:52:25,045.045 INFO    ] No update needed
[2026-10-20 02:52:25,047.047 INFO    ] Checking for camera pi updates...
[2026-10-20 02:52:25,081.081 INFO    ] 200
[2026-10-20 02:52:25,084.084 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:52:25,130.130 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:52:25,179.179 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:52:25,182.182 INFO    ] No camera update needed
[2026-10-20 02:52:25,185.185 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:52:25,187.187 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:52:25,194.194 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:52:25,200.200 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:52:27,241.241 INFO    ] ================================================
[2026-10-20 02:52:27,257.257 INFO    ] Launching Daemon at Tue Oct 20 02:52:27 IST 2026
[2026-10-20 02:52:27,267.267 INFO    ] ================================================
[2026-10-20 02:52:27,926.926 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:52:27
[2026-10-20 02:52:28,553.553 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:52:28,820.820 INFO    ] Initializing speech engine...
[2026-10-20 02:52:28,829.829 INFO    ] 2026-10-20 02:52:28
[2026-10-20 02:52:29,075.075 INFO    ] 2026-10-20 02:52:29
[2026-10-20 02:52:29,117.117 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:52:29,360.360 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:52:29,371.371 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:52:29,504.504 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:52:29,574.574 INFO    ] time= 20/10/2026 02:52:29
[2026-10-20 02:52:29,628.628 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:52:29,636.636 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:52:29,782.782 INFO    ] No existing commands found in stream
[2026-10-20 02:52:34,804.804 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:52:34,807.807 INFO    ] Waiting 0.61 seconds before fallback handling...
[2026-10-20 02:52:35,889.889 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:52:35,891.891 INFO    ] Checking for system updates...
[2026-10-20 02:52:35,927.927 INFO    ] 200
[2026-10-20 02:52:35,930.930 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:52:35,985.985 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:52:35,988.988 INFO    ] No update needed
[2026-10-20 02:52:35,990.990 INFO    ] Checking for camera pi updates...
[2026-10-20 02:52:36,025.025 INFO    ] 200
[2026-10-20 02:52:36,028.028 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:52:36,075.075 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:52:36,124.124 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:52:36,127.127 INFO    ] No camera update needed
[2026-10-20 02:52:36,129.129 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:52:36,131.131 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:52:36,137.137 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:52:36,142.142 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:52:38,182.182 INFO    ] ================================================
[2026-10-20 02:52:38,198.198 INFO    ] Launching Daemon at Tue Oct 20 02:52:38 IST 2026
[2026-10-20 02:52:38,209.209 INFO    ] ================================================
[2026-10-20 02:52:38,839.839 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:52:38
[2026-10-20 02:52:39,422.422 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:52:39,686.686 INFO    ] Initializing speech engine...
[2026-10-20 02:52:39,697.697 INFO    ] 2026-10-20 02:52:39
[2026-10-20 02:52:39,945.945 INFO    ] 2026-10-20 02:52:39
[2026-10-20 02:52:39,978.978 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:52:40,178.178 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:52:40,235.235 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:52:40,375.375 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:52:40,415.415 INFO    ] time= 20/10/2026 02:52:40
[2026-10-20 02:52:40,474.474 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:52:40,506.506 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:52:40,653.653 INFO    ] No existing commands found in stream
[2026-10-20 02:52:45,667.667 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:52:45,670.670 INFO    ] Waiting 1.94 seconds before fallback handling...
[2026-10-20 02:52:48,137.137 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:52:48,140.140 INFO    ] Checking for system updates...
[2026-10-20 02:52:48,177.177 INFO    ] 200
[2026-10-20 02:52:48,180.180 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:52:48,234.234 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:52:48,236.236 INFO    ] No update needed
[2026-10-20 02:52:48,239.239 INFO    ] Checking for camera pi updates...
[2026-10-20 02:52:48,274.274 INFO    ] 200
[2026-10-20 02:52:48,279.279 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:52:48,321.321 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:52:48,353.353 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:52:48,355.355 INFO    ] No camera update needed
[2026-10-20 02:52:48,358.358 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:52:48,360.360 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:52:48,365.365 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:52:48,370.370 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:52:50,412.412 INFO    ] ================================================
[2026-10-20 02:52:50,427.427 INFO    ] Launching Daemon at Tue Oct 20 02:52:50 IST 2026
[2026-10-20 02:52:50,437.437 INFO    ] ================================================
[2026-10-20 02:52:51,100.100 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:52:51
[2026-10-20 02:52:51,772.772 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:52:52,054.054 INFO    ] Initializing speech engine...
[2026-10-20 02:52:52,059.059 INFO    ] 2026-10-20 02:52:52
[2026-10-20 02:52:52,302.302 INFO    ] 2026-10-20 02:52:52
[2026-10-20 02:52:52,337.337 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:52:52,588.588 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:52:52,597.597 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:52:52,799.799 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:52:52,802.802 INFO    ] time= 20/10/2026 02:52:52
[2026-10-20 02:52:52,861.861 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:52:52,878.878 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:52:53,031.031 INFO    ] No existing commands found in stream
[2026-10-20 02:52:58,052.052 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:52:58,054.054 INFO    ] Waiting 0.63 seconds before fallback handling...
[2026-10-20 02:52:59,212.212 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:52:59,215.215 INFO    ] Checking for system updates...
[2026-10-20 02:52:59,255.255 INFO    ] 200
[2026-10-20 02:52:59,258.258 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:52:59,318.318 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:52:59,321.321 INFO    ] No update needed
[2026-10-20 02:52:59,324.324 INFO    ] Checking for camera pi updates...
[2026-10-20 02:52:59,361.361 INFO    ] 200
[2026-10-20 02:52:59,364.364 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:52:59,409.409 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:52:59,463.463 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:52:59,466.466 INFO    ] No camera update needed
[2026-10-20 02:52:59,468.468 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:52:59,471.471 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:52:59,477.477 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:52:59,483.483 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:53:01,542.542 INFO    ] ================================================
[2026-10-20 02:53:01,569.569 INFO    ] Launching Daemon at Tue Oct 20 02:53:01 IST 2026
[2026-10-20 02:53:01,597.597 INFO    ] ================================================
[2026-10-20 02:53:02,280.280 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:53:02
[2026-10-20 02:53:02,944.944 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:53:03,260.260 INFO    ] Initializing speech engine...
[2026-10-20 02:53:03,264.264 INFO    ] 2026-10-20 02:53:03
[2026-10-20 02:53:03,528.528 INFO    ] 2026-10-20 02:53:03
[2026-10-20 02:53:03,564.564 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:53:03,816.816 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:53:03,825.825 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:53:04,042.042 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:53:04,086.086 INFO    ] time= 20/10/2026 02:53:04
[2026-10-20 02:53:04,103.103 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:53:04,112.112 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:53:04,238.238 INFO    ] No existing commands found in stream
[2026-10-20 02:53:09,253.253 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:53:09,256.256 INFO    ] Waiting 0.26 seconds before fallback handling...
[2026-10-20 02:53:09,989.989 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:53:09,992.992 INFO    ] Checking for system updates...
[2026-10-20 02:53:10,028.028 INFO    ] 200
[2026-10-20 02:53:10,030.030 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:53:10,086.086 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:53:10,089.089 INFO    ] No update needed
[2026-10-20 02:53:10,091.091 INFO    ] Checking for camera pi updates...
[2026-10-20 02:53:10,127.127 INFO    ] 200
[2026-10-20 02:53:10,130.130 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:53:10,170.170 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:53:10,220.220 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:53:10,222.222 INFO    ] No camera update needed
[2026-10-20 02:53:10,224.224 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:53:10,227.227 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:53:10,232.232 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:53:10,237.237 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:53:12,278.278 INFO    ] ================================================
[2026-10-20 02:53:12,294.294 INFO    ] Launching Daemon at Tue Oct 20 02:53:12 IST 2026
[2026-10-20 02:53:12,305.305 INFO    ] ================================================
[2026-10-20 02:53:12,942.942 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:53:12
[2026-10-20 02:53:13,592.592 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:53:13,889.889 INFO    ] Initializing speech engine...
[2026-10-20 02:53:13,899.899 INFO    ] 2026-10-20 02:53:13
[2026-10-20 02:53:14,184.184 INFO    ] 2026-10-20 02:53:14
[2026-10-20 02:53:14,231.231 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:53:14,462.462 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:53:14,467.467 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:53:14,640.640 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:53:14,700.700 INFO    ] time= 20/10/2026 02:53:14
[2026-10-20 02:53:14,737.737 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:53:14,757.757 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:53:14,884.884 INFO    ] No existing commands found in stream
[2026-10-20 02:53:19,902.902 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:53:19,905.905 INFO    ] Waiting 1.23 seconds before fallback handling...
[2026-10-20 02:53:21,643.643 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:53:21,646.646 INFO    ] Checking for system updates...
[2026-10-20 02:53:21,683.683 INFO    ] 200
[2026-10-20 02:53:21,685.685 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:53:21,738.738 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:53:21,741.741 INFO    ] No update needed
[2026-10-20 02:53:21,744.744 INFO    ] Checking for camera pi updates...
[2026-10-20 02:53:21,778.778 INFO    ] 200
[2026-10-20 02:53:21,781.781 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:53:21,821.821 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:53:21,875.875 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:53:21,877.877 INFO    ] No camera update needed
[2026-10-20 02:53:21,880.880 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:53:21,882.882 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:53:21,888.888 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:53:21,893.893 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:53:23,933.933 INFO    ] ================================================
[2026-10-20 02:53:23,949.949 INFO    ] Launching Daemon at Tue Oct 20 02:53:23 IST 2026
[2026-10-20 02:53:23,960.960 INFO    ] ================================================
[2026-10-20 02:53:24,527.527 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:53:24
[2026-10-20 02:53:25,111.111 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:53:25,385.385 INFO    ] Initializing speech engine...
[2026-10-20 02:53:25,391.391 INFO    ] 2026-10-20 02:53:25
[2026-10-20 02:53:25,640.640 INFO    ] 2026-10-20 02:53:25
[2026-10-20 02:53:25,675.675 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:53:25,897.897 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:53:25,936.936 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:53:26,080.080 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:53:26,139.139 INFO    ] time= 20/10/2026 02:53:26
[2026-10-20 02:53:26,199.199 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:53:26,215.215 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:53:26,343.343 INFO    ] No existing commands found in stream
[2026-10-20 02:53:31,371.371 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:53:31,374.374 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-10-20 02:53:35,019.019 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:53:35,022.022 INFO    ] Checking for system updates...
[2026-10-20 02:53:35,057.057 INFO    ] 200
[2026-10-20 02:53:35,059.059 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:53:35,118.118 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:53:35,121.121 INFO    ] No update needed
[2026-10-20 02:53:35,123.123 INFO    ] Checking for camera pi updates...
[2026-10-20 02:53:35,156.156 INFO    ] 200
[2026-10-20 02:53:35,159.159 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:53:35,201.201 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:53:35,250.250 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:53:35,252.252 INFO    ] No camera update needed
[2026-10-20 02:53:35,255.255 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:53:35,257.257 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:53:35,262.262 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:53:35,267.267 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:53:37,306.306 INFO    ] ================================================
[2026-10-20 02:53:37,323.323 INFO    ] Launching Daemon at Tue Oct 20 02:53:37 IST 2026
[2026-10-20 02:53:37,334.334 INFO    ] ================================================
[2026-10-20 02:53:37,977.977 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:53:37
[2026-10-20 02:53:38,645.645 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:53:38,944.944 INFO    ] Initializing speech engine...
[2026-10-20 02:53:38,951.951 INFO    ] 2026-10-20 02:53:38
[2026-10-20 02:53:39,244.244 INFO    ] 2026-10-20 02:53:39
[2026-10-20 02:53:39,282.282 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:53:39,563.563 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:53:39,572.572 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:53:39,768.768 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:53:39,785.785 INFO    ] time= 20/10/2026 02:53:39
[2026-10-20 02:53:39,795.795 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:53:39,822.822 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:53:39,924.924 INFO    ] No existing commands found in stream
[2026-10-20 02:53:44,940.940 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:53:44,943.943 INFO    ] Waiting 3.91 seconds before fallback handling...
[2026-10-20 02:53:49,387.387 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:53:49,390.390 INFO    ] Checking for system updates...
[2026-10-20 02:53:49,426.426 INFO    ] 200
[2026-10-20 02:53:49,428.428 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:53:49,483.483 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:53:49,485.485 INFO    ] No update needed
[2026-10-20 02:53:49,488.488 INFO    ] Checking for camera pi updates...
[2026-10-20 02:53:49,521.521 INFO    ] 200
[2026-10-20 02:53:49,524.524 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:53:49,563.563 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:53:49,608.608 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:53:49,611.611 INFO    ] No camera update needed
[2026-10-20 02:53:49,613.613 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:53:49,615.615 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:53:49,621.621 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:53:49,629.629 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:53:51,670.670 INFO    ] ================================================
[2026-10-20 02:53:51,685.685 INFO    ] Launching Daemon at Tue Oct 20 02:53:51 IST 2026
[2026-10-20 02:53:51,696.696 INFO    ] ================================================
[2026-10-20 02:53:52,263.263 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:53:52
[2026-10-20 02:53:52,847.847 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:53:53,117.117 INFO    ] Initializing speech engine...
[2026-10-20 02:53:53,126.126 INFO    ] 2026-10-20 02:53:53
[2026-10-20 02:53:53,372.372 INFO    ] 2026-10-20 02:53:53
[2026-10-20 02:53:53,407.407 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:53:53,636.636 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:53:53,650.650 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:53:53,854.854 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:53:53,898.898 INFO    ] time= 20/10/2026 02:53:53
[2026-10-20 02:53:53,937.937 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:53:53,944.944 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:53:54,082.082 INFO    ] No existing commands found in stream
[2026-10-20 02:53:59,104.104 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:53:59,107.107 INFO    ] Waiting 1.92 seconds before fallback handling...
[2026-10-20 02:54:01,562.562 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:54:01,565.565 INFO    ] Checking for system updates...
[2026-10-20 02:54:01,613.613 INFO    ] 200
[2026-10-20 02:54:01,616.616 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:54:01,740.740 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:54:01,744.744 INFO    ] No update needed
[2026-10-20 02:54:01,749.749 INFO    ] Checking for camera pi updates...
[2026-10-20 02:54:01,799.799 INFO    ] 200
[2026-10-20 02:54:01,802.802 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:54:01,854.854 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:54:01,897.897 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:54:01,900.900 INFO    ] No camera update needed
[2026-10-20 02:54:01,903.903 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:54:01,906.906 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:54:01,914.914 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:54:01,921.921 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:54:03,970.970 INFO    ] ================================================
[2026-10-20 02:54:03,985.985 INFO    ] Launching Daemon at Tue Oct 20 02:54:03 IST 2026
[2026-10-20 02:54:04,996.996 INFO    ] ================================================
[2026-10-20 02:54:04,563.563 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:54:04
[2026-10-20 02:54:05,144.144 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:54:05,392.392 INFO    ] Initializing speech engine...
[2026-10-20 02:54:05,406.406 INFO    ] 2026-10-20 02:54:05
[2026-10-20 02:54:05,671.671 INFO    ] 2026-10-20 02:54:05
[2026-10-20 02:54:05,705.705 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:54:05,907.907 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:54:05,963.963 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:54:06,110.110 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:54:06,134.134 INFO    ] time= 20/10/2026 02:54:06
[2026-10-20 02:54:06,183.183 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:54:06,243.243 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:54:06,397.397 INFO    ] No existing commands found in stream
[2026-10-20 02:54:11,416.416 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:54:11,419.419 INFO    ] Waiting 2.05 seconds before fallback handling...
[2026-10-20 02:54:13,964.964 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:54:13,966.966 INFO    ] Checking for system updates...
[2026-10-20 02:54:14,002.002 INFO    ] 200
[2026-10-20 02:54:14,004.004 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:54:14,062.062 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:54:14,064.064 INFO    ] No update needed
[2026-10-20 02:54:14,066.066 INFO    ] Checking for camera pi updates...
[2026-10-20 02:54:14,104.104 INFO    ] 200
[2026-10-20 02:54:14,106.106 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:54:14,146.146 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:54:14,292.292 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:54:14,295.295 INFO    ] No camera update needed
[2026-10-20 02:54:14,297.297 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:54:14,300.300 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:54:14,305.305 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:54:14,310.310 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:54:16,350.350 INFO    ] ================================================
[2026-10-20 02:54:16,365.365 INFO    ] Launching Daemon at Tue Oct 20 02:54:16 IST 2026
[2026-10-20 02:54:16,376.376 INFO    ] ================================================
[2026-10-20 02:54:16,945.945 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:54:16
[2026-10-20 02:54:17,526.526 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:54:17,800.800 INFO    ] Initializing speech engine...
[2026-10-20 02:54:17,806.806 INFO    ] 2026-10-20 02:54:17
[2026-10-20 02:54:18,050.050 INFO    ] 2026-10-20 02:54:18
[2026-10-20 02:54:18,085.085 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:54:18,338.338 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:54:18,347.347 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:54:18,485.485 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:54:18,494.494 INFO    ] time= 20/10/2026 02:54:18
[2026-10-20 02:54:18,507.507 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:54:18,546.546 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:54:18,633.633 INFO    ] No existing commands found in stream
[2026-10-20 02:54:23,654.654 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:54:23,657.657 INFO    ] Waiting 1.88 seconds before fallback handling...
[2026-10-20 02:54:26,031.031 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:54:26,033.033 INFO    ] Checking for system updates...
[2026-10-20 02:54:26,068.068 INFO    ] 200
[2026-10-20 02:54:26,071.071 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:54:26,129.129 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:54:26,131.131 INFO    ] No update needed
[2026-10-20 02:54:26,134.134 INFO    ] Checking for camera pi updates...
[2026-10-20 02:54:26,166.166 INFO    ] 200
[2026-10-20 02:54:26,169.169 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:54:26,212.212 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:54:26,261.261 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:54:26,264.264 INFO    ] No camera update needed
[2026-10-20 02:54:26,266.266 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:54:26,268.268 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:54:26,273.273 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:54:26,278.278 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:54:28,318.318 INFO    ] ================================================
[2026-10-20 02:54:28,333.333 INFO    ] Launching Daemon at Tue Oct 20 02:54:28 IST 2026
[2026-10-20 02:54:28,344.344 INFO    ] ================================================
[2026-10-20 02:54:28,968.968 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:54:28
[2026-10-20 02:54:29,630.630 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:54:29,930.930 INFO    ] Initializing speech engine...
[2026-10-20 02:54:29,943.943 INFO    ] 2026-10-20 02:54:29
[2026-10-20 02:54:30,210.210 INFO    ] 2026-10-20 02:54:30
[2026-10-20 02:54:30,267.267 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:54:30,548.548 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:54:30,557.557 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:54:30,752.752 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:54:30,759.759 INFO    ] time= 20/10/2026 02:54:30
[2026-10-20 02:54:30,780.780 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:54:30,807.807 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:54:30,949.949 INFO    ] No existing commands found in stream
[2026-10-20 02:54:35,980.980 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:54:35,983.983 INFO    ] Waiting 0.50 seconds before fallback handling...
[2026-10-20 02:54:37,033.033 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:54:37,036.036 INFO    ] Checking for system updates...
[2026-10-20 02:54:37,072.072 INFO    ] 200
[2026-10-20 02:54:37,075.075 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:54:37,127.127 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:54:37,130.130 INFO    ] No update needed
[2026-10-20 02:54:37,133.133 INFO    ] Checking for camera pi updates...
[2026-10-20 02:54:37,166.166 INFO    ] 200
[2026-10-20 02:54:37,169.169 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:54:37,214.214 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:54:37,263.263 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:54:37,265.265 INFO    ] No camera update needed
[2026-10-20 02:54:37,267.267 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:54:37,270.270 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:54:37,275.275 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:54:37,280.280 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:54:39,320.320 INFO    ] ================================================
[2026-10-20 02:54:39,335.335 INFO    ] Launching Daemon at Tue Oct 20 02:54:39 IST 2026
[2026-10-20 02:54:39,352.352 INFO    ] ================================================
[2026-10-20 02:54:39,920.920 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:54:39
[2026-10-20 02:54:40,504.504 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:54:40,754.754 INFO    ] Initializing speech engine...
[2026-10-20 02:54:40,767.767 INFO    ] 2026-10-20 02:54:40
[2026-10-20 02:54:41,033.033 INFO    ] 2026-10-20 02:54:41
[2026-10-20 02:54:41,068.068 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:54:41,325.325 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:54:41,333.333 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:54:41,553.553 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:54:41,600.600 INFO    ] time= 20/10/2026 02:54:41
[2026-10-20 02:54:41,618.618 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:54:41,627.627 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:54:41,758.758 INFO    ] No existing commands found in stream
[2026-10-20 02:54:46,772.772 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:54:46,774.774 INFO    ] Waiting 1.94 seconds before fallback handling...
[2026-10-20 02:54:49,250.250 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:54:49,252.252 INFO    ] Checking for system updates...
[2026-10-20 02:54:49,289.289 INFO    ] 200
[2026-10-20 02:54:49,291.291 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:54:49,344.344 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:54:49,346.346 INFO    ] No update needed
[2026-10-20 02:54:49,349.349 INFO    ] Checking for camera pi updates...
[2026-10-20 02:54:49,386.386 INFO    ] 200
[2026-10-20 02:54:49,388.388 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:54:49,432.432 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:54:49,482.482 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:54:49,485.485 INFO    ] No camera update needed
[2026-10-20 02:54:49,487.487 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:54:49,489.489 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:54:49,495.495 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:54:49,500.500 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:54:51,540.540 INFO    ] ================================================
[2026-10-20 02:54:51,555.555 INFO    ] Launching Daemon at Tue Oct 20 02:54:51 IST 2026
[2026-10-20 02:54:51,565.565 INFO    ] ================================================
[2026-10-20 02:54:52,148.148 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:54:52
[2026-10-20 02:54:52,781.781 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:54:53,080.080 INFO    ] Initializing speech engine...
[2026-10-20 02:54:53,093.093 INFO    ] 2026-10-20 02:54:53
[2026-10-20 02:54:53,360.360 INFO    ] 2026-10-20 02:54:53
[2026-10-20 02:54:53,416.416 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:54:53,666.666 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:54:53,691.691 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:54:53,905.905 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:54:53,912.912 INFO    ] time= 20/10/2026 02:54:53
[2026-10-20 02:54:53,934.934 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:54:53,964.964 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:54:54,087.087 INFO    ] No existing commands found in stream
[2026-10-20 02:54:59,118.118 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:54:59,121.121 INFO    ] Waiting 0.86 seconds before fallback handling...
[2026-10-20 02:55:00,508.508 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:55:00,511.511 INFO    ] Checking for system updates...
[2026-10-20 02:55:00,548.548 INFO    ] 200
[2026-10-20 02:55:00,551.551 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:55:00,611.611 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:55:00,614.614 INFO    ] No update needed
[2026-10-20 02:55:00,617.617 INFO    ] Checking for camera pi updates...
[2026-10-20 02:55:00,653.653 INFO    ] 200
[2026-10-20 02:55:00,656.656 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:55:00,698.698 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:55:00,745.745 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:55:00,748.748 INFO    ] No camera update needed
[2026-10-20 02:55:00,751.751 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:55:00,753.753 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:55:00,759.759 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:55:00,765.765 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:55:02,818.818 INFO    ] ================================================
[2026-10-20 02:55:02,840.840 INFO    ] Launching Daemon at Tue Oct 20 02:55:02 IST 2026
[2026-10-20 02:55:02,858.858 INFO    ] ================================================
[2026-10-20 02:55:03,509.509 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:55:03
[2026-10-20 02:55:04,105.105 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:55:04,360.360 INFO    ] Initializing speech engine...
[2026-10-20 02:55:04,368.368 INFO    ] 2026-10-20 02:55:04
[2026-10-20 02:55:04,661.661 INFO    ] 2026-10-20 02:55:04
[2026-10-20 02:55:04,699.699 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:55:04,915.915 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:55:04,925.925 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:55:05,132.132 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:55:05,148.148 INFO    ] time= 20/10/2026 02:55:05
[2026-10-20 02:55:05,202.202 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:55:05,251.251 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:55:05,438.438 INFO    ] No existing commands found in stream
[2026-10-20 02:55:10,464.464 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:55:10,466.466 INFO    ] Waiting 3.68 seconds before fallback handling...
[2026-10-20 02:55:14,674.674 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:55:14,677.677 INFO    ] Checking for system updates...
[2026-10-20 02:55:14,715.715 INFO    ] 200
[2026-10-20 02:55:14,718.718 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:55:14,771.771 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:55:14,773.773 INFO    ] No update needed
[2026-10-20 02:55:14,776.776 INFO    ] Checking for camera pi updates...
[2026-10-20 02:55:14,809.809 INFO    ] 200
[2026-10-20 02:55:14,812.812 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:55:14,852.852 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:55:14,902.902 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:55:14,904.904 INFO    ] No camera update needed
[2026-10-20 02:55:14,907.907 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:55:14,909.909 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:55:14,915.915 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:55:14,920.920 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:55:16,960.960 INFO    ] ================================================
[2026-10-20 02:55:16,976.976 INFO    ] Launching Daemon at Tue Oct 20 02:55:16 IST 2026
[2026-10-20 02:55:16,987.987 INFO    ] ================================================
[2026-10-20 02:55:17,568.568 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:55:17
[2026-10-20 02:55:18,161.161 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:55:18,414.414 INFO    ] Initializing speech engine...
[2026-10-20 02:55:18,422.422 INFO    ] 2026-10-20 02:55:18
[2026-10-20 02:55:18,716.716 INFO    ] 2026-10-20 02:55:18
[2026-10-20 02:55:18,752.752 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:55:18,976.976 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:55:18,983.983 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:55:19,137.137 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:55:19,205.205 INFO    ] time= 20/10/2026 02:55:19
[2026-10-20 02:55:19,222.222 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:55:19,286.286 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:55:19,406.406 INFO    ] No existing commands found in stream
[2026-10-20 02:55:24,417.417 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:55:24,420.420 INFO    ] Waiting 0.38 seconds before fallback handling...
[2026-10-20 02:55:25,316.316 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:55:25,318.318 INFO    ] Checking for system updates...
[2026-10-20 02:55:25,357.357 INFO    ] 200
[2026-10-20 02:55:25,359.359 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:55:25,413.413 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:55:25,415.415 INFO    ] No update needed
[2026-10-20 02:55:25,417.417 INFO    ] Checking for camera pi updates...
[2026-10-20 02:55:25,451.451 INFO    ] 200
[2026-10-20 02:55:25,453.453 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:55:25,494.494 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:55:25,537.537 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:55:25,540.540 INFO    ] No camera update needed
[2026-10-20 02:55:25,542.542 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:55:25,544.544 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:55:25,550.550 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:55:25,555.555 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:55:27,594.594 INFO    ] ================================================
[2026-10-20 02:55:27,610.610 INFO    ] Launching Daemon at Tue Oct 20 02:55:27 IST 2026
[2026-10-20 02:55:27,621.621 INFO    ] ================================================
[2026-10-20 02:55:28,193.193 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:55:28
[2026-10-20 02:55:28,791.791 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:55:29,043.043 INFO    ] Initializing speech engine...
[2026-10-20 02:55:29,050.050 INFO    ] 2026-10-20 02:55:29
[2026-10-20 02:55:29,345.345 INFO    ] 2026-10-20 02:55:29
[2026-10-20 02:55:29,381.381 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:55:29,582.582 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:55:29,596.596 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:55:29,761.761 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:55:29,767.767 INFO    ] time= 20/10/2026 02:55:29
[2026-10-20 02:55:29,774.774 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:55:29,815.815 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:55:29,952.952 INFO    ] No existing commands found in stream
[2026-10-20 02:55:34,982.982 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:55:34,985.985 INFO    ] Waiting 2.20 seconds before fallback handling...
[2026-10-20 02:55:37,695.695 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:55:37,698.698 INFO    ] Checking for system updates...
[2026-10-20 02:55:37,734.734 INFO    ] 200
[2026-10-20 02:55:37,736.736 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:55:37,799.799 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:55:37,801.801 INFO    ] No update needed
[2026-10-20 02:55:37,803.803 INFO    ] Checking for camera pi updates...
[2026-10-20 02:55:37,841.841 INFO    ] 200
[2026-10-20 02:55:37,843.843 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:55:37,883.883 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:55:37,931.931 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:55:37,933.933 INFO    ] No camera update needed
[2026-10-20 02:55:37,936.936 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:55:37,938.938 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:55:37,944.944 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:55:37,949.949 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:55:39,989.989 INFO    ] ================================================
[2026-10-20 02:55:40,004.004 INFO    ] Launching Daemon at Tue Oct 20 02:55:39 IST 2026
[2026-10-20 02:55:40,016.016 INFO    ] ================================================
[2026-10-20 02:55:40,593.593 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:55:40
[2026-10-20 02:55:41,200.200 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:55:41,474.474 INFO    ] Initializing speech engine...
[2026-10-20 02:55:41,484.484 INFO    ] 2026-10-20 02:55:41
[2026-10-20 02:55:41,752.752 INFO    ] 2026-10-20 02:55:41
[2026-10-20 02:55:41,782.782 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:55:46,876.876 INFO    ] VendingMachinePublisher.__init__: Redis error: Timeout connecting to server
[2026-10-20 02:55:46,903.903 INFO    ] Exiting as VendingMachinePublisher redis not connected!!!
[2026-10-20 02:55:46,906.906 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:55:46,911.911 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:55:46,917.917 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:55:48,956.956 INFO    ] ================================================
[2026-10-20 02:55:48,971.971 INFO    ] Launching Daemon at Tue Oct 20 02:55:48 IST 2026
[2026-10-20 02:55:48,983.983 INFO    ] ================================================
[2026-10-20 02:55:49,567.567 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:55:49
[2026-10-20 02:55:50,165.165 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:55:50,443.443 INFO    ] Initializing speech engine...
[2026-10-20 02:55:50,452.452 INFO    ] 2026-10-20 02:55:50
[2026-10-20 02:55:50,711.711 INFO    ] 2026-10-20 02:55:50
[2026-10-20 02:55:50,741.741 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:55:50,987.987 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:55:50,997.997 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:55:51,137.137 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:55:51,202.202 INFO    ] time= 20/10/2026 02:55:51
[2026-10-20 02:55:51,259.259 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:55:51,265.265 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:55:51,410.410 INFO    ] No existing commands found in stream
[2026-10-20 02:55:56,430.430 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:55:56,433.433 INFO    ] Waiting 1.84 seconds before fallback handling...
[2026-10-20 02:55:58,753.753 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:55:58,755.755 INFO    ] Checking for system updates...
[2026-10-20 02:55:58,791.791 INFO    ] 200
[2026-10-20 02:55:58,793.793 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:55:58,852.852 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:55:58,855.855 INFO    ] No update needed
[2026-10-20 02:55:58,858.858 INFO    ] Checking for camera pi updates...
[2026-10-20 02:55:58,892.892 INFO    ] 200
[2026-10-20 02:55:58,895.895 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:55:58,936.936 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:55:58,986.986 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:55:58,989.989 INFO    ] No camera update needed
[2026-10-20 02:55:58,992.992 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:55:58,994.994 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:55:59,001.001 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:55:59,006.006 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:56:01,049.049 INFO    ] ================================================
[2026-10-20 02:56:01,065.065 INFO    ] Launching Daemon at Tue Oct 20 02:56:01 IST 2026
[2026-10-20 02:56:01,076.076 INFO    ] ================================================
[2026-10-20 02:56:01,730.730 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:56:01
[2026-10-20 02:56:02,508.508 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:56:02,786.786 INFO    ] Initializing speech engine...
[2026-10-20 02:56:02,799.799 INFO    ] 2026-10-20 02:56:02
[2026-10-20 02:56:03,127.127 INFO    ] 2026-10-20 02:56:03
[2026-10-20 02:56:03,188.188 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:56:03,429.429 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:56:03,438.438 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:56:03,577.577 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:56:03,620.620 INFO    ] time= 20/10/2026 02:56:03
[2026-10-20 02:56:03,684.684 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:56:03,729.729 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:56:03,869.869 INFO    ] No existing commands found in stream
[2026-10-20 02:56:08,889.889 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:56:08,891.891 INFO    ] Waiting 3.15 seconds before fallback handling...
[2026-10-20 02:56:12,539.539 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:56:12,541.541 INFO    ] Checking for system updates...
[2026-10-20 02:56:12,578.578 INFO    ] 200
[2026-10-20 02:56:12,580.580 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:56:12,635.635 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:56:12,637.637 INFO    ] No update needed
[2026-10-20 02:56:12,639.639 INFO    ] Checking for camera pi updates...
[2026-10-20 02:56:12,673.673 INFO    ] 200
[2026-10-20 02:56:12,675.675 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:56:12,716.716 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:56:12,762.762 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:56:12,764.764 INFO    ] No camera update needed
[2026-10-20 02:56:12,767.767 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:56:12,770.770 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:56:12,776.776 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:56:12,781.781 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:56:14,820.820 INFO    ] ================================================
[2026-10-20 02:56:14,835.835 INFO    ] Launching Daemon at Tue Oct 20 02:56:14 IST 2026
[2026-10-20 02:56:14,846.846 INFO    ] ================================================
[2026-10-20 02:56:15,440.440 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:56:15
[2026-10-20 02:56:16,053.053 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:56:16,342.342 INFO    ] Initializing speech engine...
[2026-10-20 02:56:16,357.357 INFO    ] 2026-10-20 02:56:16
[2026-10-20 02:56:16,631.631 INFO    ] 2026-10-20 02:56:16
[2026-10-20 02:56:16,666.666 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:56:16,870.870 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:56:16,885.885 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:56:17,052.052 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:56:17,060.060 INFO    ] time= 20/10/2026 02:56:17
[2026-10-20 02:56:17,064.064 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:56:17,071.071 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:56:17,148.148 INFO    ] No existing commands found in stream
[2026-10-20 02:56:22,173.173 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:56:22,176.176 INFO    ] Waiting 1.98 seconds before fallback handling...
[2026-10-20 02:56:24,675.675 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:56:24,678.678 INFO    ] Checking for system updates...
[2026-10-20 02:56:24,717.717 INFO    ] 200
[2026-10-20 02:56:24,720.720 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:56:24,779.779 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:56:24,781.781 INFO    ] No update needed
[2026-10-20 02:56:24,783.783 INFO    ] Checking for camera pi updates...
[2026-10-20 02:56:24,817.817 INFO    ] 200
[2026-10-20 02:56:24,819.819 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:56:24,859.859 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:56:25,001.001 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:56:25,004.004 INFO    ] No camera update needed
[2026-10-20 02:56:25,006.006 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:56:25,008.008 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:56:25,014.014 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:56:25,019.019 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:56:27,059.059 INFO    ] ================================================
[2026-10-20 02:56:27,074.074 INFO    ] Launching Daemon at Tue Oct 20 02:56:27 IST 2026
[2026-10-20 02:56:27,085.085 INFO    ] ================================================
[2026-10-20 02:56:27,650.650 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:56:27
[2026-10-20 02:56:28,233.233 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:56:28,483.483 INFO    ] Initializing speech engine...
[2026-10-20 02:56:28,495.495 INFO    ] 2026-10-20 02:56:28
[2026-10-20 02:56:28,761.761 INFO    ] 2026-10-20 02:56:28
[2026-10-20 02:56:28,796.796 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:56:28,997.997 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:56:29,052.052 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:56:29,259.259 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:56:29,316.316 INFO    ] time= 20/10/2026 02:56:29
[2026-10-20 02:56:29,322.322 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:56:29,338.338 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:56:29,468.468 INFO    ] No existing commands found in stream
[2026-10-20 02:56:34,483.483 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:56:34,486.486 INFO    ] Waiting 0.16 seconds before fallback handling...
[2026-10-20 02:56:35,125.125 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:56:35,128.128 INFO    ] Checking for system updates...
[2026-10-20 02:56:35,163.163 INFO    ] 200
[2026-10-20 02:56:35,166.166 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:56:35,217.217 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:56:35,220.220 INFO    ] No update needed
[2026-10-20 02:56:35,222.222 INFO    ] Checking for camera pi updates...
[2026-10-20 02:56:35,255.255 INFO    ] 200
[2026-10-20 02:56:35,257.257 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:56:35,302.302 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:56:35,347.347 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:56:35,350.350 INFO    ] No camera update needed
[2026-10-20 02:56:35,352.352 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:56:35,354.354 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:56:35,360.360 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:56:35,364.364 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:56:37,407.407 INFO    ] ================================================
[2026-10-20 02:56:37,422.422 INFO    ] Launching Daemon at Tue Oct 20 02:56:37 IST 2026
[2026-10-20 02:56:37,432.432 INFO    ] ================================================
[2026-10-20 02:56:38,015.015 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:56:38
[2026-10-20 02:56:38,605.605 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:56:38,875.875 INFO    ] Initializing speech engine...
[2026-10-20 02:56:38,890.890 INFO    ] 2026-10-20 02:56:38
[2026-10-20 02:56:39,177.177 INFO    ] 2026-10-20 02:56:39
[2026-10-20 02:56:39,214.214 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:56:39,414.414 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:56:39,427.427 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:56:39,595.595 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:56:39,601.601 INFO    ] time= 20/10/2026 02:56:39
[2026-10-20 02:56:39,607.607 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:56:39,655.655 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:56:39,780.780 INFO    ] No existing commands found in stream
[2026-10-20 02:56:44,805.805 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:56:44,808.808 INFO    ] Waiting 0.56 seconds before fallback handling...
[2026-10-20 02:56:45,867.867 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:56:45,869.869 INFO    ] Checking for system updates...
[2026-10-20 02:56:45,906.906 INFO    ] 200
[2026-10-20 02:56:45,909.909 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:56:45,963.963 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:56:45,966.966 INFO    ] No update needed
[2026-10-20 02:56:45,969.969 INFO    ] Checking for camera pi updates...
[2026-10-20 02:56:46,004.004 INFO    ] 200
[2026-10-20 02:56:46,007.007 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:56:46,053.053 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:56:46,104.104 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:56:46,107.107 INFO    ] No camera update needed
[2026-10-20 02:56:46,110.110 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:56:46,112.112 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:56:46,119.119 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:56:46,125.125 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:56:48,168.168 INFO    ] ================================================
[2026-10-20 02:56:48,183.183 INFO    ] Launching Daemon at Tue Oct 20 02:56:48 IST 2026
[2026-10-20 02:56:48,194.194 INFO    ] ================================================
[2026-10-20 02:56:48,761.761 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:56:48
[2026-10-20 02:56:49,348.348 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:56:49,604.604 INFO    ] Initializing speech engine...
[2026-10-20 02:56:49,610.610 INFO    ] 2026-10-20 02:56:49
[2026-10-20 02:56:49,909.909 INFO    ] 2026-10-20 02:56:49
[2026-10-20 02:56:49,944.944 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:56:50,149.149 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:56:50,164.164 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:56:50,332.332 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:56:50,337.337 INFO    ] time= 20/10/2026 02:56:50
[2026-10-20 02:56:50,344.344 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:56:50,371.371 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:56:50,521.521 INFO    ] No existing commands found in stream
[2026-10-20 02:56:55,546.546 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:56:55,549.549 INFO    ] Waiting 1.17 seconds before fallback handling...
[2026-10-20 02:56:57,215.215 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:56:57,217.217 INFO    ] Checking for system updates...
[2026-10-20 02:56:57,253.253 INFO    ] 200
[2026-10-20 02:56:57,255.255 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:56:57,315.315 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:56:57,318.318 INFO    ] No update needed
[2026-10-20 02:56:57,320.320 INFO    ] Checking for camera pi updates...
[2026-10-20 02:56:57,357.357 INFO    ] 200
[2026-10-20 02:56:57,360.360 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:56:57,399.399 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:56:57,443.443 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:56:57,445.445 INFO    ] No camera update needed
[2026-10-20 02:56:57,448.448 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:56:57,450.450 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:56:57,455.455 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:56:57,460.460 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:56:59,501.501 INFO    ] ================================================
[2026-10-20 02:56:59,515.515 INFO    ] Launching Daemon at Tue Oct 20 02:56:59 IST 2026
[2026-10-20 02:56:59,526.526 INFO    ] ================================================
[2026-10-20 02:57:00,097.097 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:57:00
[2026-10-20 02:57:00,678.678 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:57:00,928.928 INFO    ] Initializing speech engine...
[2026-10-20 02:57:00,950.950 INFO    ] 2026-10-20 02:57:00
[2026-10-20 02:57:01,206.206 INFO    ] 2026-10-20 02:57:01
[2026-10-20 02:57:01,242.242 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:57:01,441.441 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:57:01,499.499 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:57:01,714.714 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:57:01,768.768 INFO    ] time= 20/10/2026 02:57:01
[2026-10-20 02:57:01,772.772 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:57:01,824.824 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:57:01,942.942 INFO    ] No existing commands found in stream
[2026-10-20 02:57:06,952.952 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:57:06,955.955 INFO    ] Waiting 3.24 seconds before fallback handling...
[2026-10-20 02:57:10,667.667 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:57:10,670.670 INFO    ] Checking for system updates...
[2026-10-20 02:57:10,705.705 INFO    ] 200
[2026-10-20 02:57:10,707.707 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:57:10,759.759 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:57:10,761.761 INFO    ] No update needed
[2026-10-20 02:57:10,763.763 INFO    ] Checking for camera pi updates...
[2026-10-20 02:57:10,797.797 INFO    ] 200
[2026-10-20 02:57:10,800.800 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:57:10,840.840 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:57:10,884.884 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:57:10,887.887 INFO    ] No camera update needed
[2026-10-20 02:57:10,889.889 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:57:10,892.892 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:57:10,897.897 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:57:10,902.902 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:57:12,943.943 INFO    ] ================================================
[2026-10-20 02:57:12,959.959 INFO    ] Launching Daemon at Tue Oct 20 02:57:12 IST 2026
[2026-10-20 02:57:12,970.970 INFO    ] ================================================
[2026-10-20 02:57:13,566.566 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:57:13
[2026-10-20 02:57:14,177.177 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:57:14,436.436 INFO    ] Initializing speech engine...
[2026-10-20 02:57:14,443.443 INFO    ] 2026-10-20 02:57:14
[2026-10-20 02:57:14,743.743 INFO    ] 2026-10-20 02:57:14
[2026-10-20 02:57:14,778.778 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:57:14,986.986 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:57:15,000.000 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:57:15,167.167 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:57:15,176.176 INFO    ] time= 20/10/2026 02:57:15
[2026-10-20 02:57:15,182.182 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:57:15,188.188 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:57:15,310.310 INFO    ] No existing commands found in stream
[2026-10-20 02:57:20,335.335 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:57:20,338.338 INFO    ] Waiting 1.99 seconds before fallback handling...
[2026-10-20 02:57:22,823.823 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:57:22,826.826 INFO    ] Checking for system updates...
[2026-10-20 02:57:22,862.862 INFO    ] 200
[2026-10-20 02:57:22,865.865 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:57:22,916.916 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:57:22,919.919 INFO    ] No update needed
[2026-10-20 02:57:22,921.921 INFO    ] Checking for camera pi updates...
[2026-10-20 02:57:22,955.955 INFO    ] 200
[2026-10-20 02:57:22,958.958 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:57:22,999.999 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:57:23,044.044 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:57:23,047.047 INFO    ] No camera update needed
[2026-10-20 02:57:23,049.049 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:57:23,052.052 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:57:23,057.057 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:57:23,062.062 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:57:25,102.102 INFO    ] ================================================
[2026-10-20 02:57:25,118.118 INFO    ] Launching Daemon at Tue Oct 20 02:57:25 IST 2026
[2026-10-20 02:57:25,129.129 INFO    ] ================================================
[2026-10-20 02:57:25,795.795 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:57:25
[2026-10-20 02:57:26,481.481 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:57:26,795.795 INFO    ] Initializing speech engine...
[2026-10-20 02:57:26,809.809 INFO    ] 2026-10-20 02:57:26
[2026-10-20 02:57:27,100.100 INFO    ] 2026-10-20 02:57:27
[2026-10-20 02:57:27,210.210 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:57:27,426.426 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:57:27,434.434 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:57:27,627.627 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:57:27,645.645 INFO    ] time= 20/10/2026 02:57:27
[2026-10-20 02:57:27,655.655 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:57:27,684.684 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:57:27,809.809 INFO    ] No existing commands found in stream
[2026-10-20 02:57:32,841.841 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:57:32,844.844 INFO    ] Waiting 0.73 seconds before fallback handling...
[2026-10-20 02:57:34,090.090 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:57:34,093.093 INFO    ] Checking for system updates...
[2026-10-20 02:57:34,132.132 INFO    ] 200
[2026-10-20 02:57:34,135.135 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:57:34,194.194 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:57:34,196.196 INFO    ] No update needed
[2026-10-20 02:57:34,198.198 INFO    ] Checking for camera pi updates...
[2026-10-20 02:57:34,231.231 INFO    ] 200
[2026-10-20 02:57:34,233.233 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:57:34,273.273 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:57:34,321.321 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:57:34,324.324 INFO    ] No camera update needed
[2026-10-20 02:57:34,326.326 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:57:34,328.328 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:57:34,334.334 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:57:34,339.339 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:57:36,379.379 INFO    ] ================================================
[2026-10-20 02:57:36,394.394 INFO    ] Launching Daemon at Tue Oct 20 02:57:36 IST 2026
[2026-10-20 02:57:36,405.405 INFO    ] ================================================
[2026-10-20 02:57:36,979.979 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:57:36
[2026-10-20 02:57:37,564.564 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:57:37,834.834 INFO    ] Initializing speech engine...
[2026-10-20 02:57:37,843.843 INFO    ] 2026-10-20 02:57:37
[2026-10-20 02:57:38,102.102 INFO    ] 2026-10-20 02:57:38
[2026-10-20 02:57:38,135.135 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:57:38,383.383 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:57:38,392.392 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:57:38,533.533 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:57:38,598.598 INFO    ] time= 20/10/2026 02:57:38
[2026-10-20 02:57:38,657.657 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:57:38,664.664 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:57:38,811.811 INFO    ] No existing commands found in stream
[2026-10-20 02:57:43,831.831 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:57:43,833.833 INFO    ] Waiting 1.85 seconds before fallback handling...
[2026-10-20 02:57:46,233.233 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 02:57:46,236.236 INFO    ] Checking for system updates...
[2026-10-20 02:57:46,272.272 INFO    ] 200
[2026-10-20 02:57:46,275.275 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:57:46,330.330 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:57:46,333.333 INFO    ] No update needed
[2026-10-20 02:57:46,336.336 INFO    ] Checking for camera pi updates...
[2026-10-20 02:57:46,370.370 INFO    ] 200
[2026-10-20 02:57:46,372.372 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:57:46,413.413 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:57:46,462.462 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:57:46,464.464 INFO    ] No camera update needed
[2026-10-20 02:57:46,466.466 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:57:46,469.469 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:57:46,474.474 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:57:46,479.479 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:57:48,521.521 INFO    ] ================================================
[2026-10-20 02:57:48,536.536 INFO    ] Launching Daemon at Tue Oct 20 02:57:48 IST 2026
[2026-10-20 02:57:48,546.546 INFO    ] ================================================
[2026-10-20 02:57:49,112.112 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:57:49
[2026-10-20 02:57:49,693.693 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:57:49,960.960 INFO    ] Initializing speech engine...
[2026-10-20 02:57:49,969.969 INFO    ] 2026-10-20 02:57:49
[2026-10-20 02:57:50,214.214 INFO    ] 2026-10-20 02:57:50
[2026-10-20 02:57:50,255.255 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:57:50,502.502 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:57:50,508.508 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:57:50,641.641 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:57:50,712.712 INFO    ] time= 20/10/2026 02:57:50
[2026-10-20 02:57:50,768.768 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:57:50,774.774 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:57:50,918.918 INFO    ] No existing commands found in stream
[2026-10-20 02:57:55,933.933 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:57:55,935.935 INFO    ] Waiting 0.40 seconds before fallback handling...
[2026-10-20 02:57:56,804.804 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 02:57:56,806.806 INFO    ] Checking for system updates...
[2026-10-20 02:57:56,842.842 INFO    ] 200
[2026-10-20 02:57:56,845.845 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:57:56,898.898 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:57:56,900.900 INFO    ] No update needed
[2026-10-20 02:57:56,903.903 INFO    ] Checking for camera pi updates...
[2026-10-20 02:57:56,936.936 INFO    ] 200
[2026-10-20 02:57:56,939.939 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:57:56,980.980 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:57:57,027.027 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:57:57,030.030 INFO    ] No camera update needed
[2026-10-20 02:57:57,032.032 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:57:57,034.034 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:57:57,040.040 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:57:57,045.045 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:57:59,086.086 INFO    ] ================================================
[2026-10-20 02:57:59,101.101 INFO    ] Launching Daemon at Tue Oct 20 02:57:59 IST 2026
[2026-10-20 02:57:59,111.111 INFO    ] ================================================
[2026-10-20 02:57:59,698.698 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:57:59
[2026-10-20 02:58:00,310.310 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:58:00,567.567 INFO    ] Initializing speech engine...
[2026-10-20 02:58:00,573.573 INFO    ] 2026-10-20 02:58:00
[2026-10-20 02:58:00,871.871 INFO    ] 2026-10-20 02:58:00
[2026-10-20 02:58:00,908.908 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:58:01,114.114 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:58:01,130.130 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:58:01,295.295 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:58:01,303.303 INFO    ] time= 20/10/2026 02:58:01
[2026-10-20 02:58:01,308.308 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:58:01,314.314 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:58:01,428.428 INFO    ] No existing commands found in stream
[2026-10-20 02:58:06,459.459 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:58:06,461.461 INFO    ] Waiting 0.25 seconds before fallback handling...
[2026-10-20 02:58:07,213.213 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 02:58:07,216.216 INFO    ] Checking for system updates...
[2026-10-20 02:58:07,258.258 INFO    ] 200
[2026-10-20 02:58:07,261.261 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:58:07,314.314 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:58:07,316.316 INFO    ] No update needed
[2026-10-20 02:58:07,318.318 INFO    ] Checking for camera pi updates...
[2026-10-20 02:58:07,352.352 INFO    ] 200
[2026-10-20 02:58:07,354.354 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:58:07,394.394 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:58:07,439.439 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:58:07,442.442 INFO    ] No camera update needed
[2026-10-20 02:58:07,444.444 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:58:07,447.447 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:58:07,453.453 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:58:07,458.458 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:58:09,497.497 INFO    ] ================================================
[2026-10-20 02:58:09,513.513 INFO    ] Launching Daemon at Tue Oct 20 02:58:09 IST 2026
[2026-10-20 02:58:09,523.523 INFO    ] ================================================
[2026-10-20 02:58:10,199.199 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:58:10
[2026-10-20 02:58:10,896.896 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:58:11,216.216 INFO    ] Initializing speech engine...
[2026-10-20 02:58:11,224.224 INFO    ] 2026-10-20 02:58:11
[2026-10-20 02:58:11,531.531 INFO    ] 2026-10-20 02:58:11
[2026-10-20 02:58:11,617.617 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:58:11,837.837 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:58:11,883.883 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:58:12,079.079 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:58:12,088.088 INFO    ] time= 20/10/2026 02:58:12
[2026-10-20 02:58:12,099.099 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:58:12,169.169 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:58:12,294.294 INFO    ] No existing commands found in stream
[2026-10-20 02:58:17,317.317 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:58:17,321.321 INFO    ] Waiting 1.35 seconds before fallback handling...
[2026-10-20 02:58:19,216.216 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:58:19,219.219 INFO    ] Checking for system updates...
[2026-10-20 02:58:19,274.274 INFO    ] 200
[2026-10-20 02:58:19,276.276 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:58:19,331.331 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:58:19,333.333 INFO    ] No update needed
[2026-10-20 02:58:19,336.336 INFO    ] Checking for camera pi updates...
[2026-10-20 02:58:19,369.369 INFO    ] 200
[2026-10-20 02:58:19,372.372 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:58:19,412.412 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:58:19,458.458 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:58:19,461.461 INFO    ] No camera update needed
[2026-10-20 02:58:19,463.463 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:58:19,465.465 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:58:19,470.470 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:58:19,475.475 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:58:21,516.516 INFO    ] ================================================
[2026-10-20 02:58:21,532.532 INFO    ] Launching Daemon at Tue Oct 20 02:58:21 IST 2026
[2026-10-20 02:58:21,542.542 INFO    ] ================================================
[2026-10-20 02:58:22,158.158 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:58:22
[2026-10-20 02:58:22,792.792 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:58:23,065.065 INFO    ] Initializing speech engine...
[2026-10-20 02:58:23,071.071 INFO    ] 2026-10-20 02:58:23
[2026-10-20 02:58:23,318.318 INFO    ] 2026-10-20 02:58:23
[2026-10-20 02:58:23,360.360 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:58:23,603.603 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:58:23,612.612 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:58:23,829.829 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:58:23,870.870 INFO    ] time= 20/10/2026 02:58:23
[2026-10-20 02:58:23,876.876 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:58:23,894.894 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:58:24,022.022 INFO    ] No existing commands found in stream
[2026-10-20 02:58:29,037.037 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:58:29,040.040 INFO    ] Waiting 2.38 seconds before fallback handling...
[2026-10-20 02:58:31,953.953 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:58:31,959.959 INFO    ] Checking for system updates...
[2026-10-20 02:58:32,001.001 INFO    ] 200
[2026-10-20 02:58:32,004.004 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:58:32,066.066 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:58:32,069.069 INFO    ] No update needed
[2026-10-20 02:58:32,072.072 INFO    ] Checking for camera pi updates...
[2026-10-20 02:58:32,113.113 INFO    ] 200
[2026-10-20 02:58:32,116.116 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:58:32,166.166 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:58:32,205.205 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:58:32,208.208 INFO    ] No camera update needed
[2026-10-20 02:58:32,211.211 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:58:32,213.213 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:58:32,220.220 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:58:32,226.226 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:58:34,271.271 INFO    ] ================================================
[2026-10-20 02:58:34,286.286 INFO    ] Launching Daemon at Tue Oct 20 02:58:34 IST 2026
[2026-10-20 02:58:34,296.296 INFO    ] ================================================
[2026-10-20 02:58:34,869.869 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:58:34
[2026-10-20 02:58:35,460.460 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:58:35,710.710 INFO    ] Initializing speech engine...
[2026-10-20 02:58:35,724.724 INFO    ] 2026-10-20 02:58:35
[2026-10-20 02:58:36,003.003 INFO    ] 2026-10-20 02:58:35
[2026-10-20 02:58:36,037.037 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:58:36,243.243 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:58:36,258.258 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:58:36,426.426 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:58:36,465.465 INFO    ] time= 20/10/2026 02:58:36
[2026-10-20 02:58:36,485.485 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:58:36,506.506 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:58:36,637.637 INFO    ] No existing commands found in stream
[2026-10-20 02:58:41,648.648 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:58:41,651.651 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-10-20 02:58:42,230.230 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:58:42,232.232 INFO    ] Checking for system updates...
[2026-10-20 02:58:42,268.268 INFO    ] 200
[2026-10-20 02:58:42,271.271 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:58:42,323.323 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:58:42,325.325 INFO    ] No update needed
[2026-10-20 02:58:42,327.327 INFO    ] Checking for camera pi updates...
[2026-10-20 02:58:42,361.361 INFO    ] 200
[2026-10-20 02:58:42,364.364 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:58:42,403.403 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:58:42,448.448 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:58:42,450.450 INFO    ] No camera update needed
[2026-10-20 02:58:42,452.452 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:58:42,455.455 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:58:42,460.460 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:58:42,465.465 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:58:44,506.506 INFO    ] ================================================
[2026-10-20 02:58:44,521.521 INFO    ] Launching Daemon at Tue Oct 20 02:58:44 IST 2026
[2026-10-20 02:58:44,531.531 INFO    ] ================================================
[2026-10-20 02:58:45,103.103 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:58:45
[2026-10-20 02:58:45,692.692 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:58:45,966.966 INFO    ] Initializing speech engine...
[2026-10-20 02:58:45,972.972 INFO    ] 2026-10-20 02:58:45
[2026-10-20 02:58:46,218.218 INFO    ] 2026-10-20 02:58:46
[2026-10-20 02:58:46,252.252 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:58:46,509.509 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:58:46,516.516 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:58:46,727.727 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:58:46,774.774 INFO    ] time= 20/10/2026 02:58:46
[2026-10-20 02:58:46,782.782 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:58:46,803.803 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:58:46,952.952 INFO    ] No existing commands found in stream
[2026-10-20 02:58:51,988.988 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:58:51,992.992 INFO    ] Waiting 3.01 seconds before fallback handling...
[2026-10-20 02:58:55,494.494 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:58:55,497.497 INFO    ] Checking for system updates...
[2026-10-20 02:58:55,533.533 INFO    ] 200
[2026-10-20 02:58:55,536.536 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:58:55,596.596 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:58:55,599.599 INFO    ] No update needed
[2026-10-20 02:58:55,601.601 INFO    ] Checking for camera pi updates...
[2026-10-20 02:58:55,635.635 INFO    ] 200
[2026-10-20 02:58:55,638.638 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:58:55,683.683 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:58:55,728.728 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:58:55,730.730 INFO    ] No camera update needed
[2026-10-20 02:58:55,733.733 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:58:55,735.735 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:58:55,740.740 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:58:55,745.745 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:58:57,787.787 INFO    ] ================================================
[2026-10-20 02:58:57,802.802 INFO    ] Launching Daemon at Tue Oct 20 02:58:57 IST 2026
[2026-10-20 02:58:57,813.813 INFO    ] ================================================
[2026-10-20 02:58:58,381.381 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:58:58
[2026-10-20 02:58:58,967.967 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:58:59,226.226 INFO    ] Initializing speech engine...
[2026-10-20 02:58:59,233.233 INFO    ] 2026-10-20 02:58:59
[2026-10-20 02:58:59,532.532 INFO    ] 2026-10-20 02:58:59
[2026-10-20 02:58:59,567.567 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:58:59,767.767 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:58:59,784.784 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:58:59,947.947 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:58:59,957.957 INFO    ] time= 20/10/2026 02:58:59
[2026-10-20 02:58:59,964.964 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:58:59,986.986 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:59:00,132.132 INFO    ] No existing commands found in stream
[2026-10-20 02:59:05,157.157 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:59:05,160.160 INFO    ] Waiting 1.14 seconds before fallback handling...
[2026-10-20 02:59:06,820.820 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 02:59:06,822.822 INFO    ] Checking for system updates...
[2026-10-20 02:59:06,858.858 INFO    ] 200
[2026-10-20 02:59:06,861.861 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:59:06,920.920 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:59:06,923.923 INFO    ] No update needed
[2026-10-20 02:59:06,926.926 INFO    ] Checking for camera pi updates...
[2026-10-20 02:59:06,963.963 INFO    ] 200
[2026-10-20 02:59:06,966.966 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:59:07,010.010 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:59:07,055.055 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:59:07,058.058 INFO    ] No camera update needed
[2026-10-20 02:59:07,061.061 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:59:07,063.063 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:59:07,069.069 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:59:07,075.075 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:59:09,115.115 INFO    ] ================================================
[2026-10-20 02:59:09,129.129 INFO    ] Launching Daemon at Tue Oct 20 02:59:09 IST 2026
[2026-10-20 02:59:09,140.140 INFO    ] ================================================
[2026-10-20 02:59:09,788.788 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:59:09
[2026-10-20 02:59:10,420.420 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:59:10,690.690 INFO    ] Initializing speech engine...
[2026-10-20 02:59:10,700.700 INFO    ] 2026-10-20 02:59:10
[2026-10-20 02:59:10,941.941 INFO    ] 2026-10-20 02:59:10
[2026-10-20 02:59:10,976.976 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:59:11,173.173 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:59:11,228.228 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:59:11,417.417 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:59:11,472.472 INFO    ] time= 20/10/2026 02:59:11
[2026-10-20 02:59:11,499.499 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:59:11,505.505 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:59:11,647.647 INFO    ] No existing commands found in stream
[2026-10-20 02:59:16,661.661 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:59:16,664.664 INFO    ] Waiting 3.65 seconds before fallback handling...
[2026-10-20 02:59:20,785.785 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 02:59:20,787.787 INFO    ] Checking for system updates...
[2026-10-20 02:59:20,822.822 INFO    ] 200
[2026-10-20 02:59:20,825.825 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:59:20,877.877 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:59:20,879.879 INFO    ] No update needed
[2026-10-20 02:59:20,882.882 INFO    ] Checking for camera pi updates...
[2026-10-20 02:59:20,915.915 INFO    ] 200
[2026-10-20 02:59:20,917.917 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:59:20,965.965 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:59:21,013.013 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:59:21,015.015 INFO    ] No camera update needed
[2026-10-20 02:59:21,018.018 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:59:21,020.020 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:59:21,025.025 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:59:21,030.030 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:59:23,070.070 INFO    ] ================================================
[2026-10-20 02:59:23,085.085 INFO    ] Launching Daemon at Tue Oct 20 02:59:23 IST 2026
[2026-10-20 02:59:23,095.095 INFO    ] ================================================
[2026-10-20 02:59:23,740.740 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:59:23
[2026-10-20 02:59:24,403.403 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:59:24,716.716 INFO    ] Initializing speech engine...
[2026-10-20 02:59:24,724.724 INFO    ] 2026-10-20 02:59:24
[2026-10-20 02:59:25,021.021 INFO    ] 2026-10-20 02:59:24
[2026-10-20 02:59:25,106.106 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:59:25,320.320 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:59:25,325.325 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:59:25,520.520 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:59:25,539.539 INFO    ] time= 20/10/2026 02:59:25
[2026-10-20 02:59:25,548.548 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:59:25,574.574 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:59:25,683.683 INFO    ] No existing commands found in stream
[2026-10-20 02:59:30,712.712 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:59:30,715.715 INFO    ] Waiting 2.95 seconds before fallback handling...
[2026-10-20 02:59:34,188.188 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 02:59:34,191.191 INFO    ] Checking for system updates...
[2026-10-20 02:59:34,232.232 INFO    ] 200
[2026-10-20 02:59:34,235.235 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:59:34,299.299 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:59:34,302.302 INFO    ] No update needed
[2026-10-20 02:59:34,305.305 INFO    ] Checking for camera pi updates...
[2026-10-20 02:59:34,344.344 INFO    ] 200
[2026-10-20 02:59:34,346.346 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:59:34,387.387 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:59:34,445.445 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:59:34,447.447 INFO    ] No camera update needed
[2026-10-20 02:59:34,450.450 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:59:34,453.453 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:59:34,459.459 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:59:34,465.465 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:59:36,507.507 INFO    ] ================================================
[2026-10-20 02:59:36,522.522 INFO    ] Launching Daemon at Tue Oct 20 02:59:36 IST 2026
[2026-10-20 02:59:36,532.532 INFO    ] ================================================
[2026-10-20 02:59:37,096.096 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:59:37
[2026-10-20 02:59:37,678.678 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:59:37,928.928 INFO    ] Initializing speech engine...
[2026-10-20 02:59:37,941.941 INFO    ] 2026-10-20 02:59:37
[2026-10-20 02:59:38,207.207 INFO    ] 2026-10-20 02:59:38
[2026-10-20 02:59:38,242.242 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:59:38,441.441 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:59:38,485.485 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:59:38,723.723 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:59:38,768.768 INFO    ] time= 20/10/2026 02:59:38
[2026-10-20 02:59:38,780.780 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:59:38,798.798 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:59:38,932.932 INFO    ] No existing commands found in stream
[2026-10-20 02:59:43,947.947 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:59:43,949.949 INFO    ] Waiting 2.71 seconds before fallback handling...
[2026-10-20 02:59:47,179.179 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:59:47,182.182 INFO    ] Checking for system updates...
[2026-10-20 02:59:47,219.219 INFO    ] 200
[2026-10-20 02:59:47,222.222 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:59:47,274.274 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:59:47,276.276 INFO    ] No update needed
[2026-10-20 02:59:47,279.279 INFO    ] Checking for camera pi updates...
[2026-10-20 02:59:47,313.313 INFO    ] 200
[2026-10-20 02:59:47,316.316 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:59:47,355.355 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:59:47,401.401 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:59:47,404.404 INFO    ] No camera update needed
[2026-10-20 02:59:47,406.406 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:59:47,408.408 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:59:47,414.414 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:59:47,419.419 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 02:59:49,459.459 INFO    ] ================================================
[2026-10-20 02:59:49,473.473 INFO    ] Launching Daemon at Tue Oct 20 02:59:49 IST 2026
[2026-10-20 02:59:49,484.484 INFO    ] ================================================
[2026-10-20 02:59:50,053.053 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 02:59:50
[2026-10-20 02:59:50,639.639 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 02:59:50,908.908 INFO    ] Initializing speech engine...
[2026-10-20 02:59:50,917.917 INFO    ] 2026-10-20 02:59:50
[2026-10-20 02:59:51,171.171 INFO    ] 2026-10-20 02:59:51
[2026-10-20 02:59:51,206.206 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 02:59:51,450.450 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 02:59:51,459.459 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 02:59:51,655.655 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 02:59:51,710.710 INFO    ] time= 20/10/2026 02:59:51
[2026-10-20 02:59:51,723.723 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 02:59:51,738.738 INFO    ] Checking for existing commands in stream...
[2026-10-20 02:59:51,870.870 INFO    ] No existing commands found in stream
[2026-10-20 02:59:56,884.884 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 02:59:56,886.886 INFO    ] Waiting 0.72 seconds before fallback handling...
[2026-10-20 02:59:58,131.131 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 02:59:58,134.134 INFO    ] Checking for system updates...
[2026-10-20 02:59:58,169.169 INFO    ] 200
[2026-10-20 02:59:58,172.172 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:59:58,231.231 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 02:59:58,233.233 INFO    ] No update needed
[2026-10-20 02:59:58,236.236 INFO    ] Checking for camera pi updates...
[2026-10-20 02:59:58,270.270 INFO    ] 200
[2026-10-20 02:59:58,273.273 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 02:59:58,323.323 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 02:59:58,370.370 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 02:59:58,373.373 INFO    ] No camera update needed
[2026-10-20 02:59:58,376.376 INFO    ] Script finished. Safe exiting...
[2026-10-20 02:59:58,379.379 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 02:59:58,385.385 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 02:59:58,391.391 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:00:00,432.432 INFO    ] ================================================
[2026-10-20 03:00:00,447.447 INFO    ] Launching Daemon at Tue Oct 20 03:00:00 IST 2026
[2026-10-20 03:00:00,458.458 INFO    ] ================================================
[2026-10-20 03:00:01,125.125 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:00:01
[2026-10-20 03:00:01,822.822 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:00:02,747.747 INFO    ] Initializing speech engine...
[2026-10-20 03:00:02,801.801 INFO    ] 2026-10-20 03:00:02
[2026-10-20 03:00:03,876.876 INFO    ] 2026-10-20 03:00:03
[2026-10-20 03:00:04,119.119 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:00:04,496.496 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:00:04,500.500 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:00:04,762.762 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:00:04,767.767 INFO    ] time= 20/10/2026 03:00:04
[2026-10-20 03:00:04,842.842 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:00:04,846.846 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:00:04,967.967 INFO    ] No existing commands found in stream
[2026-10-20 03:00:09,978.978 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:00:09,981.981 INFO    ] Waiting 3.41 seconds before fallback handling...
[2026-10-20 03:00:13,939.939 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:00:13,942.942 INFO    ] Checking for system updates...
[2026-10-20 03:00:13,979.979 INFO    ] 200
[2026-10-20 03:00:13,982.982 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:00:14,034.034 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:00:14,036.036 INFO    ] No update needed
[2026-10-20 03:00:14,043.043 INFO    ] Checking for camera pi updates...
[2026-10-20 03:00:14,076.076 INFO    ] 200
[2026-10-20 03:00:14,079.079 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:00:14,120.120 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:00:14,170.170 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:00:14,173.173 INFO    ] No camera update needed
[2026-10-20 03:00:14,175.175 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:00:14,177.177 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:00:14,183.183 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:00:14,187.187 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:00:16,227.227 INFO    ] ================================================
[2026-10-20 03:00:16,243.243 INFO    ] Launching Daemon at Tue Oct 20 03:00:16 IST 2026
[2026-10-20 03:00:16,253.253 INFO    ] ================================================
[2026-10-20 03:00:16,835.835 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:00:16
[2026-10-20 03:00:17,435.435 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:00:17,710.710 INFO    ] Initializing speech engine...
[2026-10-20 03:00:17,720.720 INFO    ] 2026-10-20 03:00:17
[2026-10-20 03:00:17,968.968 INFO    ] 2026-10-20 03:00:17
[2026-10-20 03:00:18,004.004 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:00:18,255.255 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:00:18,265.265 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:00:18,475.475 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:00:18,524.524 INFO    ] time= 20/10/2026 03:00:18
[2026-10-20 03:00:18,530.530 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:00:18,550.550 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:00:18,692.692 INFO    ] No existing commands found in stream
[2026-10-20 03:00:23,724.724 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:00:23,727.727 INFO    ] Waiting 3.39 seconds before fallback handling...
[2026-10-20 03:00:27,625.625 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:00:27,628.628 INFO    ] Checking for system updates...
[2026-10-20 03:00:27,664.664 INFO    ] 200
[2026-10-20 03:00:27,666.666 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:00:27,721.721 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:00:27,723.723 INFO    ] No update needed
[2026-10-20 03:00:27,726.726 INFO    ] Checking for camera pi updates...
[2026-10-20 03:00:27,759.759 INFO    ] 200
[2026-10-20 03:00:27,762.762 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:00:27,807.807 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:00:27,858.858 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:00:27,861.861 INFO    ] No camera update needed
[2026-10-20 03:00:27,863.863 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:00:27,865.865 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:00:27,871.871 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:00:27,876.876 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:00:29,917.917 INFO    ] ================================================
[2026-10-20 03:00:29,933.933 INFO    ] Launching Daemon at Tue Oct 20 03:00:29 IST 2026
[2026-10-20 03:00:29,944.944 INFO    ] ================================================
[2026-10-20 03:00:30,520.520 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:00:30
[2026-10-20 03:00:31,113.113 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:00:31,367.367 INFO    ] Initializing speech engine...
[2026-10-20 03:00:31,376.376 INFO    ] 2026-10-20 03:00:31
[2026-10-20 03:00:31,664.664 INFO    ] 2026-10-20 03:00:31
[2026-10-20 03:00:31,702.702 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:00:31,918.918 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:00:31,928.928 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:00:32,072.072 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:00:32,079.079 INFO    ] time= 20/10/2026 03:00:32
[2026-10-20 03:00:32,085.085 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:00:32,150.150 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:00:32,271.271 INFO    ] No existing commands found in stream
[2026-10-20 03:00:37,305.305 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:00:37,308.308 INFO    ] Waiting 1.58 seconds before fallback handling...
[2026-10-20 03:00:39,358.358 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:00:39,361.361 INFO    ] Checking for system updates...
[2026-10-20 03:00:39,396.396 INFO    ] 200
[2026-10-20 03:00:39,399.399 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:00:39,455.455 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:00:39,457.457 INFO    ] No update needed
[2026-10-20 03:00:39,460.460 INFO    ] Checking for camera pi updates...
[2026-10-20 03:00:39,494.494 INFO    ] 200
[2026-10-20 03:00:39,496.496 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:00:39,539.539 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:00:39,686.686 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:00:39,689.689 INFO    ] No camera update needed
[2026-10-20 03:00:39,691.691 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:00:39,693.693 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:00:39,699.699 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:00:39,703.703 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:00:41,743.743 INFO    ] ================================================
[2026-10-20 03:00:41,759.759 INFO    ] Launching Daemon at Tue Oct 20 03:00:41 IST 2026
[2026-10-20 03:00:41,770.770 INFO    ] ================================================
[2026-10-20 03:00:42,389.389 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:00:42
[2026-10-20 03:00:43,027.027 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:00:43,322.322 INFO    ] Initializing speech engine...
[2026-10-20 03:00:43,331.331 INFO    ] 2026-10-20 03:00:43
[2026-10-20 03:00:43,600.600 INFO    ] 2026-10-20 03:00:43
[2026-10-20 03:00:43,655.655 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:00:43,890.890 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:00:43,895.895 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:00:44,122.122 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:00:44,160.160 INFO    ] time= 20/10/2026 03:00:44
[2026-10-20 03:00:44,177.177 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:00:44,186.186 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:00:44,319.319 INFO    ] No existing commands found in stream
[2026-10-20 03:00:49,342.342 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:00:49,345.345 INFO    ] Waiting 2.15 seconds before fallback handling...
[2026-10-20 03:00:51,989.989 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:00:51,992.992 INFO    ] Checking for system updates...
[2026-10-20 03:00:52,029.029 INFO    ] 200
[2026-10-20 03:00:52,032.032 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:00:52,084.084 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:00:52,086.086 INFO    ] No update needed
[2026-10-20 03:00:52,089.089 INFO    ] Checking for camera pi updates...
[2026-10-20 03:00:52,123.123 INFO    ] 200
[2026-10-20 03:00:52,126.126 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:00:52,166.166 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:00:52,222.222 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:00:52,224.224 INFO    ] No camera update needed
[2026-10-20 03:00:52,227.227 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:00:52,229.229 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:00:52,234.234 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:00:52,239.239 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:00:54,280.280 INFO    ] ================================================
[2026-10-20 03:00:54,296.296 INFO    ] Launching Daemon at Tue Oct 20 03:00:54 IST 2026
[2026-10-20 03:00:54,307.307 INFO    ] ================================================
[2026-10-20 03:00:54,912.912 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:00:54
[2026-10-20 03:00:55,497.497 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:00:55,747.747 INFO    ] Initializing speech engine...
[2026-10-20 03:00:55,767.767 INFO    ] 2026-10-20 03:00:55
[2026-10-20 03:00:56,027.027 INFO    ] 2026-10-20 03:00:56
[2026-10-20 03:00:56,063.063 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:00:56,320.320 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:00:56,329.329 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:00:56,472.472 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:00:56,532.532 INFO    ] time= 20/10/2026 03:00:56
[2026-10-20 03:00:56,591.591 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:00:56,604.604 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:00:56,744.744 INFO    ] No existing commands found in stream
[2026-10-20 03:01:01,761.761 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:01:01,764.764 INFO    ] Waiting 1.45 seconds before fallback handling...
[2026-10-20 03:01:03,708.708 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:01:03,710.710 INFO    ] Checking for system updates...
[2026-10-20 03:01:03,749.749 INFO    ] 200
[2026-10-20 03:01:03,752.752 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:01:03,804.804 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:01:03,806.806 INFO    ] No update needed
[2026-10-20 03:01:03,809.809 INFO    ] Checking for camera pi updates...
[2026-10-20 03:01:03,844.844 INFO    ] 200
[2026-10-20 03:01:03,846.846 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:01:03,896.896 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:01:03,948.948 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:01:03,950.950 INFO    ] No camera update needed
[2026-10-20 03:01:03,953.953 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:01:03,955.955 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:01:03,960.960 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:01:03,965.965 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:01:06,005.005 INFO    ] ================================================
[2026-10-20 03:01:06,020.020 INFO    ] Launching Daemon at Tue Oct 20 03:01:06 IST 2026
[2026-10-20 03:01:06,030.030 INFO    ] ================================================
[2026-10-20 03:01:06,614.614 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:01:06
[2026-10-20 03:01:07,218.218 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:01:07,494.494 INFO    ] Initializing speech engine...
[2026-10-20 03:01:07,505.505 INFO    ] 2026-10-20 03:01:07
[2026-10-20 03:01:07,767.767 INFO    ] 2026-10-20 03:01:07
[2026-10-20 03:01:07,820.820 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:01:08,050.050 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:01:08,073.073 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:01:08,288.288 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:01:08,315.315 INFO    ] time= 20/10/2026 03:01:08
[2026-10-20 03:01:08,331.331 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:01:08,345.345 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:01:08,484.484 INFO    ] No existing commands found in stream
[2026-10-20 03:01:13,520.520 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:01:13,527.527 INFO    ] Waiting 3.61 seconds before fallback handling...
[2026-10-20 03:01:17,649.649 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 03:01:17,651.651 INFO    ] Checking for system updates...
[2026-10-20 03:01:17,690.690 INFO    ] 200
[2026-10-20 03:01:17,693.693 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:01:17,747.747 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:01:17,750.750 INFO    ] No update needed
[2026-10-20 03:01:17,752.752 INFO    ] Checking for camera pi updates...
[2026-10-20 03:01:17,787.787 INFO    ] 200
[2026-10-20 03:01:17,789.789 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:01:17,830.830 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:01:17,876.876 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:01:17,878.878 INFO    ] No camera update needed
[2026-10-20 03:01:17,881.881 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:01:17,883.883 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:01:17,889.889 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:01:17,894.894 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:01:19,934.934 INFO    ] ================================================
[2026-10-20 03:01:19,950.950 INFO    ] Launching Daemon at Tue Oct 20 03:01:19 IST 2026
[2026-10-20 03:01:19,961.961 INFO    ] ================================================
[2026-10-20 03:01:20,537.537 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:01:20
[2026-10-20 03:01:21,119.119 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:01:21,370.370 INFO    ] Initializing speech engine...
[2026-10-20 03:01:21,376.376 INFO    ] 2026-10-20 03:01:21
[2026-10-20 03:01:21,647.647 INFO    ] 2026-10-20 03:01:21
[2026-10-20 03:01:21,682.682 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:01:21,933.933 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:01:21,943.943 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:01:22,160.160 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:01:22,201.201 INFO    ] time= 20/10/2026 03:01:22
[2026-10-20 03:01:22,207.207 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:01:22,227.227 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:01:22,357.357 INFO    ] No existing commands found in stream
[2026-10-20 03:01:27,375.375 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:01:27,378.378 INFO    ] Waiting 1.08 seconds before fallback handling...
[2026-10-20 03:01:28,971.971 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 03:01:28,973.973 INFO    ] Checking for system updates...
[2026-10-20 03:01:29,009.009 INFO    ] 200
[2026-10-20 03:01:29,011.011 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:01:29,063.063 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:01:29,065.065 INFO    ] No update needed
[2026-10-20 03:01:29,067.067 INFO    ] Checking for camera pi updates...
[2026-10-20 03:01:29,104.104 INFO    ] 200
[2026-10-20 03:01:29,106.106 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:01:29,147.147 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:01:29,201.201 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:01:29,204.204 INFO    ] No camera update needed
[2026-10-20 03:01:29,206.206 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:01:29,208.208 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:01:29,213.213 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:01:29,218.218 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:01:31,257.257 INFO    ] ================================================
[2026-10-20 03:01:31,273.273 INFO    ] Launching Daemon at Tue Oct 20 03:01:31 IST 2026
[2026-10-20 03:01:31,283.283 INFO    ] ================================================
[2026-10-20 03:01:31,868.868 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:01:31
[2026-10-20 03:01:32,481.481 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:01:32,756.756 INFO    ] Initializing speech engine...
[2026-10-20 03:01:32,773.773 INFO    ] 2026-10-20 03:01:32
[2026-10-20 03:01:33,038.038 INFO    ] 2026-10-20 03:01:33
[2026-10-20 03:01:33,072.072 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:01:33,326.326 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:01:33,335.335 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:01:33,567.567 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:01:33,591.591 INFO    ] time= 20/10/2026 03:01:33
[2026-10-20 03:01:33,597.597 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:01:33,615.615 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:01:33,744.744 INFO    ] No existing commands found in stream
[2026-10-20 03:01:38,757.757 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:01:38,760.760 INFO    ] Waiting 1.96 seconds before fallback handling...
[2026-10-20 03:01:41,201.201 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:01:41,203.203 INFO    ] Checking for system updates...
[2026-10-20 03:01:41,242.242 INFO    ] 200
[2026-10-20 03:01:41,244.244 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:01:41,300.300 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:01:41,302.302 INFO    ] No update needed
[2026-10-20 03:01:41,304.304 INFO    ] Checking for camera pi updates...
[2026-10-20 03:01:41,337.337 INFO    ] 200
[2026-10-20 03:01:41,340.340 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:01:41,380.380 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:01:41,428.428 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:01:41,431.431 INFO    ] No camera update needed
[2026-10-20 03:01:41,433.433 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:01:41,435.435 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:01:41,441.441 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:01:41,446.446 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:01:43,488.488 INFO    ] ================================================
[2026-10-20 03:01:43,503.503 INFO    ] Launching Daemon at Tue Oct 20 03:01:43 IST 2026
[2026-10-20 03:01:43,514.514 INFO    ] ================================================
[2026-10-20 03:01:44,081.081 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:01:44
[2026-10-20 03:01:44,665.665 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:01:44,939.939 INFO    ] Initializing speech engine...
[2026-10-20 03:01:44,948.948 INFO    ] 2026-10-20 03:01:44
[2026-10-20 03:01:45,200.200 INFO    ] 2026-10-20 03:01:45
[2026-10-20 03:01:45,233.233 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:01:45,289.289 INFO    ] VendingMachinePublisher.__init__: Redis error: Error 101 connecting to live.vendingbuddy.in:23294. Network is unreachable.
[2026-10-20 03:01:45,453.453 INFO    ] Exiting as VendingMachinePublisher redis not connected!!!
[2026-10-20 03:01:45,469.469 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:01:45,536.536 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:01:45,551.551 INFO    ] Thread: Thread-1, daemon=True, alive=True
[2026-10-20 03:01:45,578.578 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:01:47,625.625 INFO    ] ================================================
[2026-10-20 03:01:47,640.640 INFO    ] Launching Daemon at Tue Oct 20 03:01:47 IST 2026
[2026-10-20 03:01:47,651.651 INFO    ] ================================================
[2026-10-20 03:01:48,217.217 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:01:48
[2026-10-20 03:01:48,817.817 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:01:49,082.082 INFO    ] Initializing speech engine...
[2026-10-20 03:01:49,091.091 INFO    ] 2026-10-20 03:01:49
[2026-10-20 03:01:49,379.379 INFO    ] 2026-10-20 03:01:49
[2026-10-20 03:01:49,416.416 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:01:49,475.475 INFO    ] VendingMachinePublisher.__init__: Redis error: Error 101 connecting to live.vendingbuddy.in:23294. Network is unreachable.
[2026-10-20 03:01:49,654.654 INFO    ] Exiting as VendingMachinePublisher redis not connected!!!
[2026-10-20 03:01:49,672.672 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:01:49,745.745 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:01:49,761.761 INFO    ] Thread: Thread-1, daemon=True, alive=True
[2026-10-20 03:01:49,788.788 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:01:51,838.838 INFO    ] ================================================
[2026-10-20 03:01:51,853.853 INFO    ] Launching Daemon at Tue Oct 20 03:01:51 IST 2026
[2026-10-20 03:01:51,864.864 INFO    ] ================================================
[2026-10-20 03:01:52,498.498 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:01:52
[2026-10-20 03:01:53,150.150 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:01:53,446.446 INFO    ] Initializing speech engine...
[2026-10-20 03:01:53,455.455 INFO    ] 2026-10-20 03:01:53
[2026-10-20 03:01:53,726.726 INFO    ] 2026-10-20 03:01:53
[2026-10-20 03:01:53,781.781 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:01:53,878.878 INFO    ] VendingMachinePublisher.__init__: Redis error: Error 101 connecting to live.vendingbuddy.in:23294. Network is unreachable.
[2026-10-20 03:01:54,010.010 INFO    ] Exiting as VendingMachinePublisher redis not connected!!!
[2026-10-20 03:01:54,053.053 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:01:54,071.071 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:01:54,103.103 INFO    ] Thread: Thread-1, daemon=True, alive=True
[2026-10-20 03:01:54,147.147 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:01:56,199.199 INFO    ] ================================================
[2026-10-20 03:01:56,214.214 INFO    ] Launching Daemon at Tue Oct 20 03:01:56 IST 2026
[2026-10-20 03:01:56,225.225 INFO    ] ================================================
[2026-10-20 03:01:56,793.793 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:01:56
[2026-10-20 03:01:57,389.389 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:01:57,636.636 INFO    ] Initializing speech engine...
[2026-10-20 03:01:57,651.651 INFO    ] 2026-10-20 03:01:57
[2026-10-20 03:01:57,939.939 INFO    ] 2026-10-20 03:01:57
[2026-10-20 03:01:57,974.974 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:02:01,121.121 INFO    ] VendingMachinePublisher.__init__: Redis error: Error 113 connecting to live.vendingbuddy.in:23294. No route to host.
[2026-10-20 03:02:01,148.148 INFO    ] Exiting as VendingMachinePublisher redis not connected!!!
[2026-10-20 03:02:01,150.150 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:02:01,155.155 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:02:01,160.160 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:02:03,201.201 INFO    ] ================================================
[2026-10-20 03:02:03,216.216 INFO    ] Launching Daemon at Tue Oct 20 03:02:03 IST 2026
[2026-10-20 03:02:03,236.236 INFO    ] ================================================
[2026-10-20 03:02:03,895.895 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:02:03
[2026-10-20 03:02:04,503.503 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:02:04,760.760 INFO    ] Initializing speech engine...
[2026-10-20 03:02:04,772.772 INFO    ] 2026-10-20 03:02:04
[2026-10-20 03:02:05,048.048 INFO    ] 2026-10-20 03:02:05
[2026-10-20 03:02:05,083.083 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:02:05,139.139 INFO    ] VendingMachinePublisher.__init__: Redis error: Error 101 connecting to live.vendingbuddy.in:23294. Network is unreachable.
[2026-10-20 03:02:05,300.300 INFO    ] Exiting as VendingMachinePublisher redis not connected!!!
[2026-10-20 03:02:05,306.306 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:02:05,335.335 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:02:05,402.402 INFO    ] Thread: Thread-1, daemon=True, alive=True
[2026-10-20 03:02:05,417.417 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:02:07,479.479 INFO    ] ================================================
[2026-10-20 03:02:07,493.493 INFO    ] Launching Daemon at Tue Oct 20 03:02:07 IST 2026
[2026-10-20 03:02:07,504.504 INFO    ] ================================================
[2026-10-20 03:02:08,077.077 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:02:08
[2026-10-20 03:02:08,714.714 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:02:09,045.045 INFO    ] Initializing speech engine...
[2026-10-20 03:02:09,055.055 INFO    ] 2026-10-20 03:02:09
[2026-10-20 03:02:09,319.319 INFO    ] 2026-10-20 03:02:09
[2026-10-20 03:02:09,363.363 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:02:09,485.485 INFO    ] VendingMachinePublisher.__init__: Redis error: Error 101 connecting to live.vendingbuddy.in:23294. Network is unreachable.
[2026-10-20 03:02:09,601.601 INFO    ] Exiting as VendingMachinePublisher redis not connected!!!
[2026-10-20 03:02:09,654.654 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:02:09,671.671 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:02:09,698.698 INFO    ] Thread: Thread-1, daemon=True, alive=True
[2026-10-20 03:02:09,722.722 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:02:11,782.782 INFO    ] ================================================
[2026-10-20 03:02:11,797.797 INFO    ] Launching Daemon at Tue Oct 20 03:02:11 IST 2026
[2026-10-20 03:02:11,807.807 INFO    ] ================================================
[2026-10-20 03:02:12,426.426 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:02:12
[2026-10-20 03:02:13,065.065 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:02:13,359.359 INFO    ] Initializing speech engine...
[2026-10-20 03:02:13,372.372 INFO    ] 2026-10-20 03:02:13
[2026-10-20 03:02:13,646.646 INFO    ] 2026-10-20 03:02:13
[2026-10-20 03:02:13,691.691 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:02:13,784.784 INFO    ] VendingMachinePublisher.__init__: Redis error: Error 101 connecting to live.vendingbuddy.in:23294. Network is unreachable.
[2026-10-20 03:02:13,945.945 INFO    ] Exiting as VendingMachinePublisher redis not connected!!!
[2026-10-20 03:02:13,957.957 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:02:13,988.988 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:02:14,038.038 INFO    ] Thread: Thread-1, daemon=True, alive=True
[2026-10-20 03:02:14,103.103 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:02:16,165.165 INFO    ] ================================================
[2026-10-20 03:02:16,180.180 INFO    ] Launching Daemon at Tue Oct 20 03:02:16 IST 2026
[2026-10-20 03:02:16,190.190 INFO    ] ================================================
[2026-10-20 03:02:16,755.755 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:02:16
[2026-10-20 03:02:17,337.337 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:02:17,607.607 INFO    ] Initializing speech engine...
[2026-10-20 03:02:17,616.616 INFO    ] 2026-10-20 03:02:17
[2026-10-20 03:02:17,867.867 INFO    ] 2026-10-20 03:02:17
[2026-10-20 03:02:17,903.903 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:02:22,960.960 INFO    ] VendingMachinePublisher.__init__: Redis error: Timeout connecting to server
[2026-10-20 03:02:22,986.986 INFO    ] Exiting as VendingMachinePublisher redis not connected!!!
[2026-10-20 03:02:22,989.989 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:02:22,994.994 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:02:22,999.999 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:02:25,038.038 INFO    ] ================================================
[2026-10-20 03:02:25,053.053 INFO    ] Launching Daemon at Tue Oct 20 03:02:25 IST 2026
[2026-10-20 03:02:25,065.065 INFO    ] ================================================
[2026-10-20 03:02:25,631.631 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:02:25
[2026-10-20 03:02:26,228.228 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:02:26,489.489 INFO    ] Initializing speech engine...
[2026-10-20 03:02:26,502.502 INFO    ] 2026-10-20 03:02:26
[2026-10-20 03:02:26,783.783 INFO    ] 2026-10-20 03:02:26
[2026-10-20 03:02:26,854.854 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:02:26,954.954 INFO    ] VendingMachinePublisher.__init__: Redis error: Error 101 connecting to live.vendingbuddy.in:23294. Network is unreachable.
[2026-10-20 03:02:27,072.072 INFO    ] Exiting as VendingMachinePublisher redis not connected!!!
[2026-10-20 03:02:27,130.130 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:02:27,147.147 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:02:27,175.175 INFO    ] Thread: Thread-1, daemon=True, alive=True
[2026-10-20 03:02:27,201.201 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:02:29,266.266 INFO    ] ================================================
[2026-10-20 03:02:29,282.282 INFO    ] Launching Daemon at Tue Oct 20 03:02:29 IST 2026
[2026-10-20 03:02:29,299.299 INFO    ] ================================================
[2026-10-20 03:02:29,877.877 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:02:29
[2026-10-20 03:02:30,473.473 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:02:30,755.755 INFO    ] Initializing speech engine...
[2026-10-20 03:02:30,763.763 INFO    ] 2026-10-20 03:02:30
[2026-10-20 03:02:31,012.012 INFO    ] 2026-10-20 03:02:31
[2026-10-20 03:02:31,047.047 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:02:31,170.170 INFO    ] VendingMachinePublisher.__init__: Redis error: Error 101 connecting to live.vendingbuddy.in:23294. Network is unreachable.
[2026-10-20 03:02:31,302.302 INFO    ] Exiting as VendingMachinePublisher redis not connected!!!
[2026-10-20 03:02:31,335.335 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:02:31,350.350 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:02:31,377.377 INFO    ] Thread: Thread-1, daemon=True, alive=True
[2026-10-20 03:02:31,407.407 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:02:33,465.465 INFO    ] ================================================
[2026-10-20 03:02:33,481.481 INFO    ] Launching Daemon at Tue Oct 20 03:02:33 IST 2026
[2026-10-20 03:02:33,491.491 INFO    ] ================================================
[2026-10-20 03:02:34,102.102 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:02:34
[2026-10-20 03:02:34,686.686 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:02:34,966.966 INFO    ] Initializing speech engine...
[2026-10-20 03:02:34,978.978 INFO    ] 2026-10-20 03:02:34
[2026-10-20 03:02:35,239.239 INFO    ] 2026-10-20 03:02:35
[2026-10-20 03:02:35,275.275 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:02:40,331.331 INFO    ] VendingMachinePublisher.__init__: Redis error: Timeout connecting to server
[2026-10-20 03:02:40,357.357 INFO    ] Exiting as VendingMachinePublisher redis not connected!!!
[2026-10-20 03:02:40,360.360 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:02:40,366.366 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:02:40,371.371 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:02:42,410.410 INFO    ] ================================================
[2026-10-20 03:02:42,426.426 INFO    ] Launching Daemon at Tue Oct 20 03:02:42 IST 2026
[2026-10-20 03:02:42,437.437 INFO    ] ================================================
[2026-10-20 03:02:43,075.075 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:02:43
[2026-10-20 03:02:43,751.751 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:02:44,022.022 INFO    ] Initializing speech engine...
[2026-10-20 03:02:44,032.032 INFO    ] 2026-10-20 03:02:44
[2026-10-20 03:02:44,295.295 INFO    ] 2026-10-20 03:02:44
[2026-10-20 03:02:44,330.330 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:02:44,609.609 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:02:44,614.614 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:02:44,850.850 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:02:44,856.856 INFO    ] time= 20/10/2026 03:02:44
[2026-10-20 03:02:44,874.874 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:02:44,886.886 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:02:45,014.014 INFO    ] No existing commands found in stream
[2026-10-20 03:02:50,037.037 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:02:50,041.041 INFO    ] Waiting 3.83 seconds before fallback handling...
[2026-10-20 03:02:54,374.374 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 03:02:54,376.376 INFO    ] Checking for system updates...
[2026-10-20 03:02:54,412.412 INFO    ] 200
[2026-10-20 03:02:54,414.414 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:02:54,467.467 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:02:54,469.469 INFO    ] No update needed
[2026-10-20 03:02:54,472.472 INFO    ] Checking for camera pi updates...
[2026-10-20 03:02:54,509.509 INFO    ] 200
[2026-10-20 03:02:54,511.511 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:02:54,557.557 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:02:54,604.604 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:02:54,607.607 INFO    ] No camera update needed
[2026-10-20 03:02:54,610.610 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:02:54,612.612 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:02:54,618.618 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:02:54,624.624 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:02:56,667.667 INFO    ] ================================================
[2026-10-20 03:02:56,683.683 INFO    ] Launching Daemon at Tue Oct 20 03:02:56 IST 2026
[2026-10-20 03:02:56,694.694 INFO    ] ================================================
[2026-10-20 03:02:57,276.276 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:02:57
[2026-10-20 03:02:57,874.874 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:02:58,149.149 INFO    ] Initializing speech engine...
[2026-10-20 03:02:58,158.158 INFO    ] 2026-10-20 03:02:58
[2026-10-20 03:02:58,404.404 INFO    ] 2026-10-20 03:02:58
[2026-10-20 03:02:58,439.439 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:02:58,698.698 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:02:58,704.704 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:02:58,951.951 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:02:58,967.967 INFO    ] time= 20/10/2026 03:02:58
[2026-10-20 03:02:58,984.984 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:02:58,993.993 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:02:59,123.123 INFO    ] No existing commands found in stream
[2026-10-20 03:03:04,136.136 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:03:04,139.139 INFO    ] Waiting 0.18 seconds before fallback handling...
[2026-10-20 03:03:04,831.831 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:03:04,834.834 INFO    ] Checking for system updates...
[2026-10-20 03:03:04,873.873 INFO    ] 200
[2026-10-20 03:03:04,876.876 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:03:04,929.929 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:03:04,931.931 INFO    ] No update needed
[2026-10-20 03:03:04,934.934 INFO    ] Checking for camera pi updates...
[2026-10-20 03:03:04,969.969 INFO    ] 200
[2026-10-20 03:03:04,972.972 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:03:05,012.012 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:03:05,063.063 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:03:05,066.066 INFO    ] No camera update needed
[2026-10-20 03:03:05,068.068 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:03:05,071.071 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:03:05,077.077 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:03:05,083.083 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:03:07,124.124 INFO    ] ================================================
[2026-10-20 03:03:07,139.139 INFO    ] Launching Daemon at Tue Oct 20 03:03:07 IST 2026
[2026-10-20 03:03:07,150.150 INFO    ] ================================================
[2026-10-20 03:03:07,784.784 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:03:07
[2026-10-20 03:03:08,438.438 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:03:08,711.711 INFO    ] Initializing speech engine...
[2026-10-20 03:03:08,734.734 INFO    ] 2026-10-20 03:03:08
[2026-10-20 03:03:09,003.003 INFO    ] 2026-10-20 03:03:08
[2026-10-20 03:03:09,046.046 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:03:09,306.306 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:03:09,313.313 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:03:09,572.572 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:03:09,579.579 INFO    ] time= 20/10/2026 03:03:09
[2026-10-20 03:03:09,596.596 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:03:09,627.627 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:03:09,737.737 INFO    ] No existing commands found in stream
[2026-10-20 03:03:14,758.758 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:03:14,761.761 INFO    ] Waiting 2.62 seconds before fallback handling...
[2026-10-20 03:03:18,000.000 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:03:18,003.003 INFO    ] Checking for system updates...
[2026-10-20 03:03:18,042.042 INFO    ] 200
[2026-10-20 03:03:18,045.045 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:03:18,100.100 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:03:18,103.103 INFO    ] No update needed
[2026-10-20 03:03:18,105.105 INFO    ] Checking for camera pi updates...
[2026-10-20 03:03:18,142.142 INFO    ] 200
[2026-10-20 03:03:18,145.145 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:03:18,190.190 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:03:18,231.231 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:03:18,234.234 INFO    ] No camera update needed
[2026-10-20 03:03:18,236.236 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:03:18,239.239 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:03:18,246.246 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:03:18,253.253 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:03:20,294.294 INFO    ] ================================================
[2026-10-20 03:03:20,310.310 INFO    ] Launching Daemon at Tue Oct 20 03:03:20 IST 2026
[2026-10-20 03:03:20,321.321 INFO    ] ================================================
[2026-10-20 03:03:20,904.904 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:03:20
[2026-10-20 03:03:21,505.505 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:03:21,782.782 INFO    ] Initializing speech engine...
[2026-10-20 03:03:21,792.792 INFO    ] 2026-10-20 03:03:21
[2026-10-20 03:03:22,050.050 INFO    ] 2026-10-20 03:03:22
[2026-10-20 03:03:22,102.102 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:03:22,351.351 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:03:22,359.359 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:03:22,582.582 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:03:22,597.597 INFO    ] time= 20/10/2026 03:03:22
[2026-10-20 03:03:22,614.614 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:03:22,638.638 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:03:22,775.775 INFO    ] No existing commands found in stream
[2026-10-20 03:03:27,800.800 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:03:27,803.803 INFO    ] Waiting 0.61 seconds before fallback handling...
[2026-10-20 03:03:31,963.963 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:03:31,967.967 INFO    ] Checking for system updates...
[2026-10-20 03:03:32,009.009 INFO    ] 200
[2026-10-20 03:03:32,011.011 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:03:32,068.068 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:03:32,071.071 INFO    ] No update needed
[2026-10-20 03:03:32,074.074 INFO    ] Checking for camera pi updates...
[2026-10-20 03:03:32,110.110 INFO    ] 200
[2026-10-20 03:03:32,112.112 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:03:32,160.160 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:03:32,195.195 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:03:32,197.197 INFO    ] No camera update needed
[2026-10-20 03:03:32,200.200 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:03:32,203.203 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:03:32,209.209 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:03:32,215.215 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:03:34,255.255 INFO    ] ================================================
[2026-10-20 03:03:34,270.270 INFO    ] Launching Daemon at Tue Oct 20 03:03:34 IST 2026
[2026-10-20 03:03:34,280.280 INFO    ] ================================================
[2026-10-20 03:03:34,847.847 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:03:34
[2026-10-20 03:03:35,431.431 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:03:35,706.706 INFO    ] Initializing speech engine...
[2026-10-20 03:03:35,712.712 INFO    ] 2026-10-20 03:03:35
[2026-10-20 03:03:35,970.970 INFO    ] 2026-10-20 03:03:35
[2026-10-20 03:03:36,000.000 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:03:36,306.306 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:03:36,312.312 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:03:36,506.506 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:03:36,512.512 INFO    ] time= 20/10/2026 03:03:36
[2026-10-20 03:03:36,530.530 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:03:36,542.542 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:03:36,666.666 INFO    ] No existing commands found in stream
[2026-10-20 03:03:41,690.690 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:03:41,692.692 INFO    ] Waiting 3.41 seconds before fallback handling...
[2026-10-20 03:03:45,618.618 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:03:45,620.620 INFO    ] Checking for system updates...
[2026-10-20 03:03:45,657.657 INFO    ] 200
[2026-10-20 03:03:45,659.659 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:03:45,725.725 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:03:45,728.728 INFO    ] No update needed
[2026-10-20 03:03:45,731.731 INFO    ] Checking for camera pi updates...
[2026-10-20 03:03:45,764.764 INFO    ] 200
[2026-10-20 03:03:45,766.766 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:03:45,806.806 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:03:45,855.855 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:03:45,857.857 INFO    ] No camera update needed
[2026-10-20 03:03:45,860.860 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:03:45,862.862 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:03:45,867.867 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:03:45,872.872 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:03:47,912.912 INFO    ] ================================================
[2026-10-20 03:03:47,927.927 INFO    ] Launching Daemon at Tue Oct 20 03:03:47 IST 2026
[2026-10-20 03:03:47,937.937 INFO    ] ================================================
[2026-10-20 03:03:48,506.506 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:03:48
[2026-10-20 03:03:49,092.092 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:03:49,338.338 INFO    ] Initializing speech engine...
[2026-10-20 03:03:49,346.346 INFO    ] 2026-10-20 03:03:49
[2026-10-20 03:03:49,618.618 INFO    ] 2026-10-20 03:03:49
[2026-10-20 03:03:49,653.653 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:03:49,908.908 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:03:49,913.913 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:03:50,122.122 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:03:50,170.170 INFO    ] time= 20/10/2026 03:03:50
[2026-10-20 03:03:50,177.177 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:03:50,194.194 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:03:50,311.311 INFO    ] No existing commands found in stream
[2026-10-20 03:03:55,335.335 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:03:55,338.338 INFO    ] Waiting 2.29 seconds before fallback handling...
[2026-10-20 03:03:58,201.201 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:03:58,204.204 INFO    ] Checking for system updates...
[2026-10-20 03:03:58,240.240 INFO    ] 200
[2026-10-20 03:03:58,242.242 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:03:58,293.293 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:03:58,296.296 INFO    ] No update needed
[2026-10-20 03:03:58,298.298 INFO    ] Checking for camera pi updates...
[2026-10-20 03:03:58,332.332 INFO    ] 200
[2026-10-20 03:03:58,334.334 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:03:58,378.378 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:03:58,418.418 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:03:58,421.421 INFO    ] No camera update needed
[2026-10-20 03:03:58,423.423 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:03:58,425.425 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:03:58,431.431 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:03:58,436.436 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:04:00,477.477 INFO    ] ================================================
[2026-10-20 03:04:00,492.492 INFO    ] Launching Daemon at Tue Oct 20 03:04:00 IST 2026
[2026-10-20 03:04:00,503.503 INFO    ] ================================================
[2026-10-20 03:04:01,120.120 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:04:01
[2026-10-20 03:04:01,869.869 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:04:02,187.187 INFO    ] Initializing speech engine...
[2026-10-20 03:04:02,211.211 INFO    ] 2026-10-20 03:04:02
[2026-10-20 03:04:02,529.529 INFO    ] 2026-10-20 03:04:02
[2026-10-20 03:04:02,577.577 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:04:02,853.853 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:04:02,862.862 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:04:03,087.087 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:04:03,137.137 INFO    ] time= 20/10/2026 03:04:03
[2026-10-20 03:04:03,144.144 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:04:03,160.160 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:04:03,299.299 INFO    ] No existing commands found in stream
[2026-10-20 03:04:08,330.330 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:04:08,333.333 INFO    ] Waiting 2.45 seconds before fallback handling...
[2026-10-20 03:04:11,370.370 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:04:11,373.373 INFO    ] Checking for system updates...
[2026-10-20 03:04:11,410.410 INFO    ] 200
[2026-10-20 03:04:11,413.413 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:04:11,465.465 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:04:11,468.468 INFO    ] No update needed
[2026-10-20 03:04:11,471.471 INFO    ] Checking for camera pi updates...
[2026-10-20 03:04:11,505.505 INFO    ] 200
[2026-10-20 03:04:11,508.508 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:04:11,556.556 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:04:11,597.597 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:04:11,600.600 INFO    ] No camera update needed
[2026-10-20 03:04:11,603.603 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:04:11,606.606 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:04:11,612.612 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:04:11,617.617 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:04:13,658.658 INFO    ] ================================================
[2026-10-20 03:04:13,673.673 INFO    ] Launching Daemon at Tue Oct 20 03:04:13 IST 2026
[2026-10-20 03:04:13,684.684 INFO    ] ================================================
[2026-10-20 03:04:14,321.321 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:04:14
[2026-10-20 03:04:14,978.978 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:04:15,277.277 INFO    ] Initializing speech engine...
[2026-10-20 03:04:15,291.291 INFO    ] 2026-10-20 03:04:15
[2026-10-20 03:04:15,573.573 INFO    ] 2026-10-20 03:04:15
[2026-10-20 03:04:15,678.678 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:04:15,896.896 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:04:15,905.905 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:04:16,099.099 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:04:16,121.121 INFO    ] time= 20/10/2026 03:04:16
[2026-10-20 03:04:16,150.150 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:04:16,158.158 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:04:16,305.305 INFO    ] No existing commands found in stream
[2026-10-20 03:04:21,331.331 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:04:21,335.335 INFO    ] Waiting 2.80 seconds before fallback handling...
[2026-10-20 03:04:24,744.744 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 03:04:24,747.747 INFO    ] Checking for system updates...
[2026-10-20 03:04:24,791.791 INFO    ] 200
[2026-10-20 03:04:24,794.794 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:04:24,849.849 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:04:24,852.852 INFO    ] No update needed
[2026-10-20 03:04:24,855.855 INFO    ] Checking for camera pi updates...
[2026-10-20 03:04:24,890.890 INFO    ] 200
[2026-10-20 03:04:24,893.893 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:04:24,940.940 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:04:24,984.984 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:04:24,986.986 INFO    ] No camera update needed
[2026-10-20 03:04:24,989.989 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:04:24,992.992 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:04:24,999.999 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:04:25,004.004 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:04:27,046.046 INFO    ] ================================================
[2026-10-20 03:04:27,062.062 INFO    ] Launching Daemon at Tue Oct 20 03:04:27 IST 2026
[2026-10-20 03:04:27,072.072 INFO    ] ================================================
[2026-10-20 03:04:27,742.742 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:04:27
[2026-10-20 03:04:28,432.432 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:04:28,752.752 INFO    ] Initializing speech engine...
[2026-10-20 03:04:28,757.757 INFO    ] 2026-10-20 03:04:28
[2026-10-20 03:04:29,046.046 INFO    ] 2026-10-20 03:04:29
[2026-10-20 03:04:29,156.156 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:04:29,435.435 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:04:29,462.462 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:04:29,693.693 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:04:29,735.735 INFO    ] time= 20/10/2026 03:04:29
[2026-10-20 03:04:29,784.784 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:04:29,832.832 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:04:29,980.980 INFO    ] No existing commands found in stream
[2026-10-20 03:04:34,996.996 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:04:34,999.999 INFO    ] Waiting 3.41 seconds before fallback handling...
[2026-10-20 03:04:38,974.974 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:04:38,977.977 INFO    ] Checking for system updates...
[2026-10-20 03:04:39,019.019 INFO    ] 200
[2026-10-20 03:04:39,022.022 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:04:39,075.075 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:04:39,078.078 INFO    ] No update needed
[2026-10-20 03:04:39,081.081 INFO    ] Checking for camera pi updates...
[2026-10-20 03:04:39,117.117 INFO    ] 200
[2026-10-20 03:04:39,120.120 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:04:39,166.166 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:04:39,209.209 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:04:39,211.211 INFO    ] No camera update needed
[2026-10-20 03:04:39,214.214 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:04:39,216.216 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:04:39,221.221 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:04:39,226.226 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:04:41,267.267 INFO    ] ================================================
[2026-10-20 03:04:41,282.282 INFO    ] Launching Daemon at Tue Oct 20 03:04:41 IST 2026
[2026-10-20 03:04:41,293.293 INFO    ] ================================================
[2026-10-20 03:04:41,861.861 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:04:41
[2026-10-20 03:04:42,447.447 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:04:42,715.715 INFO    ] Initializing speech engine...
[2026-10-20 03:04:42,722.722 INFO    ] 2026-10-20 03:04:42
[2026-10-20 03:04:42,971.971 INFO    ] 2026-10-20 03:04:42
[2026-10-20 03:04:43,006.006 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:04:43,264.264 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:04:43,271.271 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:04:43,511.511 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:04:43,529.529 INFO    ] time= 20/10/2026 03:04:43
[2026-10-20 03:04:43,534.534 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:04:43,551.551 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:04:43,683.683 INFO    ] No existing commands found in stream
[2026-10-20 03:04:48,700.700 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:04:48,702.702 INFO    ] Waiting 0.17 seconds before fallback handling...
[2026-10-20 03:04:49,428.428 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:04:49,430.430 INFO    ] Checking for system updates...
[2026-10-20 03:04:49,466.466 INFO    ] 200
[2026-10-20 03:04:49,468.468 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:04:49,521.521 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:04:49,524.524 INFO    ] No update needed
[2026-10-20 03:04:49,526.526 INFO    ] Checking for camera pi updates...
[2026-10-20 03:04:49,560.560 INFO    ] 200
[2026-10-20 03:04:49,563.563 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:04:49,603.603 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:04:49,749.749 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:04:49,752.752 INFO    ] No camera update needed
[2026-10-20 03:04:49,754.754 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:04:49,756.756 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:04:49,762.762 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:04:49,767.767 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:04:51,807.807 INFO    ] ================================================
[2026-10-20 03:04:51,823.823 INFO    ] Launching Daemon at Tue Oct 20 03:04:51 IST 2026
[2026-10-20 03:04:51,834.834 INFO    ] ================================================
[2026-10-20 03:04:52,398.398 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:04:52
[2026-10-20 03:04:52,982.982 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:04:53,237.237 INFO    ] Initializing speech engine...
[2026-10-20 03:04:53,246.246 INFO    ] 2026-10-20 03:04:53
[2026-10-20 03:04:53,543.543 INFO    ] 2026-10-20 03:04:53
[2026-10-20 03:04:53,580.580 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:04:53,784.784 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:04:53,799.799 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:04:53,968.968 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:04:53,973.973 INFO    ] time= 20/10/2026 03:04:53
[2026-10-20 03:04:53,980.980 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:04:54,017.017 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:04:54,156.156 INFO    ] No existing commands found in stream
[2026-10-20 03:04:59,181.181 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:04:59,184.184 INFO    ] Waiting 3.90 seconds before fallback handling...
[2026-10-20 03:05:03,641.641 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:05:03,644.644 INFO    ] Checking for system updates...
[2026-10-20 03:05:03,687.687 INFO    ] 200
[2026-10-20 03:05:03,689.689 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:05:03,749.749 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:05:03,751.751 INFO    ] No update needed
[2026-10-20 03:05:03,753.753 INFO    ] Checking for camera pi updates...
[2026-10-20 03:05:03,787.787 INFO    ] 200
[2026-10-20 03:05:03,789.789 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:05:03,829.829 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:05:03,871.871 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:05:03,873.873 INFO    ] No camera update needed
[2026-10-20 03:05:03,875.875 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:05:03,878.878 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:05:03,883.883 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:05:03,888.888 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:05:05,929.929 INFO    ] ================================================
[2026-10-20 03:05:05,945.945 INFO    ] Launching Daemon at Tue Oct 20 03:05:05 IST 2026
[2026-10-20 03:05:05,956.956 INFO    ] ================================================
[2026-10-20 03:05:06,526.526 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:05:06
[2026-10-20 03:05:07,112.112 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:05:07,376.376 INFO    ] Initializing speech engine...
[2026-10-20 03:05:07,401.401 INFO    ] 2026-10-20 03:05:07
[2026-10-20 03:05:07,675.675 INFO    ] 2026-10-20 03:05:07
[2026-10-20 03:05:07,712.712 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:05:07,943.943 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:05:08,009.009 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:05:08,171.171 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:05:08,204.204 INFO    ] time= 20/10/2026 03:05:08
[2026-10-20 03:05:08,243.243 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:05:08,292.292 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:05:08,461.461 INFO    ] No existing commands found in stream
[2026-10-20 03:05:13,479.479 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:05:13,482.482 INFO    ] Waiting 3.88 seconds before fallback handling...
[2026-10-20 03:05:17,873.873 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:05:17,876.876 INFO    ] Checking for system updates...
[2026-10-20 03:05:17,912.912 INFO    ] 200
[2026-10-20 03:05:17,914.914 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:05:17,967.967 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:05:17,969.969 INFO    ] No update needed
[2026-10-20 03:05:17,972.972 INFO    ] Checking for camera pi updates...
[2026-10-20 03:05:18,009.009 INFO    ] 200
[2026-10-20 03:05:18,012.012 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:05:18,052.052 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:05:18,108.108 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:05:18,111.111 INFO    ] No camera update needed
[2026-10-20 03:05:18,113.113 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:05:18,115.115 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:05:18,121.121 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:05:18,126.126 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:05:20,166.166 INFO    ] ================================================
[2026-10-20 03:05:20,182.182 INFO    ] Launching Daemon at Tue Oct 20 03:05:20 IST 2026
[2026-10-20 03:05:20,193.193 INFO    ] ================================================
[2026-10-20 03:05:20,772.772 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:05:20
[2026-10-20 03:05:21,380.380 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:05:21,648.648 INFO    ] Initializing speech engine...
[2026-10-20 03:05:21,662.662 INFO    ] 2026-10-20 03:05:21
[2026-10-20 03:05:21,951.951 INFO    ] 2026-10-20 03:05:21
[2026-10-20 03:05:21,992.992 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:05:22,215.215 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:05:22,223.223 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:05:22,446.446 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:05:22,499.499 INFO    ] time= 20/10/2026 03:05:22
[2026-10-20 03:05:22,547.547 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:05:22,601.601 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:05:22,723.723 INFO    ] No existing commands found in stream
[2026-10-20 03:05:27,747.747 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:05:27,750.750 INFO    ] Waiting 0.21 seconds before fallback handling...
[2026-10-20 03:05:28,431.431 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:05:28,433.433 INFO    ] Checking for system updates...
[2026-10-20 03:05:28,469.469 INFO    ] 200
[2026-10-20 03:05:28,472.472 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:05:28,531.531 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:05:28,533.533 INFO    ] No update needed
[2026-10-20 03:05:28,535.535 INFO    ] Checking for camera pi updates...
[2026-10-20 03:05:28,569.569 INFO    ] 200
[2026-10-20 03:05:28,572.572 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:05:28,612.612 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:05:28,651.651 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:05:28,654.654 INFO    ] No camera update needed
[2026-10-20 03:05:28,656.656 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:05:28,658.658 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:05:28,664.664 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:05:28,669.669 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:05:30,710.710 INFO    ] ================================================
[2026-10-20 03:05:30,725.725 INFO    ] Launching Daemon at Tue Oct 20 03:05:30 IST 2026
[2026-10-20 03:05:30,736.736 INFO    ] ================================================
[2026-10-20 03:05:31,307.307 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:05:31
[2026-10-20 03:05:31,923.923 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:05:32,220.220 INFO    ] Initializing speech engine...
[2026-10-20 03:05:32,226.226 INFO    ] 2026-10-20 03:05:32
[2026-10-20 03:05:32,504.504 INFO    ] 2026-10-20 03:05:32
[2026-10-20 03:05:32,536.536 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:05:32,798.798 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:05:32,803.803 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:05:32,956.956 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:05:32,968.968 INFO    ] time= 20/10/2026 03:05:32
[2026-10-20 03:05:33,010.010 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:05:33,064.064 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:05:33,154.154 INFO    ] No existing commands found in stream
[2026-10-20 03:05:38,165.165 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:05:38,168.168 INFO    ] Waiting 0.68 seconds before fallback handling...
[2026-10-20 03:05:39,394.394 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:05:39,396.396 INFO    ] Checking for system updates...
[2026-10-20 03:05:39,432.432 INFO    ] 200
[2026-10-20 03:05:39,434.434 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:05:39,487.487 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:05:39,490.490 INFO    ] No update needed
[2026-10-20 03:05:39,492.492 INFO    ] Checking for camera pi updates...
[2026-10-20 03:05:39,529.529 INFO    ] 200
[2026-10-20 03:05:39,532.532 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:05:39,572.572 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:05:39,612.612 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:05:39,615.615 INFO    ] No camera update needed
[2026-10-20 03:05:39,617.617 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:05:39,619.619 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:05:39,625.625 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:05:39,629.629 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:05:41,670.670 INFO    ] ================================================
[2026-10-20 03:05:41,685.685 INFO    ] Launching Daemon at Tue Oct 20 03:05:41 IST 2026
[2026-10-20 03:05:41,697.697 INFO    ] ================================================
[2026-10-20 03:05:42,275.275 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:05:42
[2026-10-20 03:05:42,861.861 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:05:43,120.120 INFO    ] Initializing speech engine...
[2026-10-20 03:05:43,139.139 INFO    ] 2026-10-20 03:05:43
[2026-10-20 03:05:43,387.387 INFO    ] 2026-10-20 03:05:43
[2026-10-20 03:05:43,422.422 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:05:43,679.679 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:05:43,684.684 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:05:43,928.928 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:05:43,943.943 INFO    ] time= 20/10/2026 03:05:43
[2026-10-20 03:05:43,958.958 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:05:43,967.967 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:05:44,096.096 INFO    ] No existing commands found in stream
[2026-10-20 03:05:49,120.120 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:05:49,123.123 INFO    ] Waiting 0.09 seconds before fallback handling...
[2026-10-20 03:05:49,691.691 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:05:49,693.693 INFO    ] Checking for system updates...
[2026-10-20 03:05:49,729.729 INFO    ] 200
[2026-10-20 03:05:49,732.732 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:05:49,785.785 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:05:49,788.788 INFO    ] No update needed
[2026-10-20 03:05:49,790.790 INFO    ] Checking for camera pi updates...
[2026-10-20 03:05:49,824.824 INFO    ] 200
[2026-10-20 03:05:49,826.826 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:05:49,872.872 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:05:49,921.921 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:05:49,924.924 INFO    ] No camera update needed
[2026-10-20 03:05:49,926.926 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:05:49,928.928 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:05:49,934.934 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:05:49,938.938 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:05:51,980.980 INFO    ] ================================================
[2026-10-20 03:05:52,996.996 INFO    ] Launching Daemon at Tue Oct 20 03:05:51 IST 2026
[2026-10-20 03:05:52,007.007 INFO    ] ================================================
[2026-10-20 03:05:52,596.596 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:05:52
[2026-10-20 03:05:53,180.180 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:05:53,448.448 INFO    ] Initializing speech engine...
[2026-10-20 03:05:53,457.457 INFO    ] 2026-10-20 03:05:53
[2026-10-20 03:05:53,702.702 INFO    ] 2026-10-20 03:05:53
[2026-10-20 03:05:53,737.737 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:05:53,989.989 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:05:53,998.998 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:05:54,236.236 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:05:54,256.256 INFO    ] time= 20/10/2026 03:05:54
[2026-10-20 03:05:54,262.262 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:05:54,280.280 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:05:54,411.411 INFO    ] No existing commands found in stream
[2026-10-20 03:05:59,435.435 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:05:59,438.438 INFO    ] Waiting 0.03 seconds before fallback handling...
[2026-10-20 03:06:00,003.003 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:06:00,005.005 INFO    ] Checking for system updates...
[2026-10-20 03:06:00,041.041 INFO    ] 200
[2026-10-20 03:06:00,044.044 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:06:00,098.098 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:06:00,100.100 INFO    ] No update needed
[2026-10-20 03:06:00,103.103 INFO    ] Checking for camera pi updates...
[2026-10-20 03:06:00,136.136 INFO    ] 200
[2026-10-20 03:06:00,139.139 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:06:00,178.178 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:06:00,219.219 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:06:00,222.222 INFO    ] No camera update needed
[2026-10-20 03:06:00,224.224 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:06:00,226.226 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:06:00,231.231 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:06:00,236.236 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:06:02,283.283 INFO    ] ================================================
[2026-10-20 03:06:02,303.303 INFO    ] Launching Daemon at Tue Oct 20 03:06:02 IST 2026
[2026-10-20 03:06:02,316.316 INFO    ] ================================================
[2026-10-20 03:06:03,025.025 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:06:03
[2026-10-20 03:06:03,697.697 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:06:03,984.984 INFO    ] Initializing speech engine...
[2026-10-20 03:06:03,993.993 INFO    ] 2026-10-20 03:06:03
[2026-10-20 03:06:04,251.251 INFO    ] 2026-10-20 03:06:04
[2026-10-20 03:06:04,289.289 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:06:04,515.515 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:06:04,571.571 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:06:04,815.815 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:06:04,865.865 INFO    ] time= 20/10/2026 03:06:04
[2026-10-20 03:06:04,891.891 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:06:04,907.907 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:06:05,047.047 INFO    ] No existing commands found in stream
[2026-10-20 03:06:10,067.067 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:06:10,069.069 INFO    ] Waiting 3.12 seconds before fallback handling...
[2026-10-20 03:06:13,737.737 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:06:13,739.739 INFO    ] Checking for system updates...
[2026-10-20 03:06:13,776.776 INFO    ] 200
[2026-10-20 03:06:13,779.779 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:06:13,836.836 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:06:13,839.839 INFO    ] No update needed
[2026-10-20 03:06:13,841.841 INFO    ] Checking for camera pi updates...
[2026-10-20 03:06:13,875.875 INFO    ] 200
[2026-10-20 03:06:13,878.878 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:06:13,919.919 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:06:13,964.964 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:06:13,967.967 INFO    ] No camera update needed
[2026-10-20 03:06:13,969.969 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:06:13,972.972 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:06:13,977.977 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:06:13,982.982 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:06:16,024.024 INFO    ] ================================================
[2026-10-20 03:06:16,039.039 INFO    ] Launching Daemon at Tue Oct 20 03:06:16 IST 2026
[2026-10-20 03:06:16,050.050 INFO    ] ================================================
[2026-10-20 03:06:16,636.636 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:06:16
[2026-10-20 03:06:17,241.241 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:06:17,507.507 INFO    ] Initializing speech engine...
[2026-10-20 03:06:17,523.523 INFO    ] 2026-10-20 03:06:17
[2026-10-20 03:06:17,812.812 INFO    ] 2026-10-20 03:06:17
[2026-10-20 03:06:17,852.852 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:06:18,147.147 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:06:18,157.157 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:06:18,387.387 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:06:18,447.447 INFO    ] time= 20/10/2026 03:06:18
[2026-10-20 03:06:18,460.460 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:06:18,478.478 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:06:18,629.629 INFO    ] No existing commands found in stream
[2026-10-20 03:06:23,646.646 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:06:23,649.649 INFO    ] Waiting 1.11 seconds before fallback handling...
[2026-10-20 03:06:26,063.063 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:06:26,066.066 INFO    ] Checking for system updates...
[2026-10-20 03:06:26,105.105 INFO    ] 200
[2026-10-20 03:06:26,108.108 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:06:26,161.161 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:06:26,164.164 INFO    ] No update needed
[2026-10-20 03:06:26,166.166 INFO    ] Checking for camera pi updates...
[2026-10-20 03:06:26,205.205 INFO    ] 200
[2026-10-20 03:06:26,208.208 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:06:26,252.252 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:06:26,290.290 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:06:26,292.292 INFO    ] No camera update needed
[2026-10-20 03:06:26,295.295 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:06:26,297.297 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:06:26,302.302 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:06:26,307.307 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:06:28,348.348 INFO    ] ================================================
[2026-10-20 03:06:28,364.364 INFO    ] Launching Daemon at Tue Oct 20 03:06:28 IST 2026
[2026-10-20 03:06:28,375.375 INFO    ] ================================================
[2026-10-20 03:06:29,030.030 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:06:29
[2026-10-20 03:06:29,708.708 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:06:30,014.014 INFO    ] Initializing speech engine...
[2026-10-20 03:06:30,027.027 INFO    ] 2026-10-20 03:06:30
[2026-10-20 03:06:30,337.337 INFO    ] 2026-10-20 03:06:30
[2026-10-20 03:06:30,426.426 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:06:30,706.706 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:06:30,777.777 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:06:31,020.020 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:06:31,071.071 INFO    ] time= 20/10/2026 03:06:31
[2026-10-20 03:06:31,110.110 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:06:31,172.172 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:06:31,304.304 INFO    ] No existing commands found in stream
[2026-10-20 03:06:36,315.315 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:06:36,318.318 INFO    ] Waiting 2.66 seconds before fallback handling...
[2026-10-20 03:06:39,569.569 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:06:39,572.572 INFO    ] Checking for system updates...
[2026-10-20 03:06:39,610.610 INFO    ] 200
[2026-10-20 03:06:39,613.613 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:06:39,664.664 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:06:39,667.667 INFO    ] No update needed
[2026-10-20 03:06:39,670.670 INFO    ] Checking for camera pi updates...
[2026-10-20 03:06:39,707.707 INFO    ] 200
[2026-10-20 03:06:39,709.709 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:06:39,754.754 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:06:39,804.804 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:06:39,806.806 INFO    ] No camera update needed
[2026-10-20 03:06:39,809.809 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:06:39,811.811 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:06:39,816.816 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:06:39,821.821 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:06:41,864.864 INFO    ] ================================================
[2026-10-20 03:06:41,880.880 INFO    ] Launching Daemon at Tue Oct 20 03:06:41 IST 2026
[2026-10-20 03:06:41,890.890 INFO    ] ================================================
[2026-10-20 03:06:42,468.468 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:06:42
[2026-10-20 03:06:43,059.059 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:06:43,316.316 INFO    ] Initializing speech engine...
[2026-10-20 03:06:43,325.325 INFO    ] 2026-10-20 03:06:43
[2026-10-20 03:06:43,620.620 INFO    ] 2026-10-20 03:06:43
[2026-10-20 03:06:43,654.654 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:06:43,887.887 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:06:43,952.952 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:06:44,151.151 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:06:44,196.196 INFO    ] time= 20/10/2026 03:06:44
[2026-10-20 03:06:44,230.230 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:06:44,265.265 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:06:44,334.334 INFO    ] No existing commands found in stream
[2026-10-20 03:06:49,345.345 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:06:49,348.348 INFO    ] Waiting 2.47 seconds before fallback handling...
[2026-10-20 03:06:52,381.381 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 03:06:52,384.384 INFO    ] Checking for system updates...
[2026-10-20 03:06:52,420.420 INFO    ] 200
[2026-10-20 03:06:52,422.422 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:06:52,475.475 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:06:52,477.477 INFO    ] No update needed
[2026-10-20 03:06:52,480.480 INFO    ] Checking for camera pi updates...
[2026-10-20 03:06:52,513.513 INFO    ] 200
[2026-10-20 03:06:52,515.515 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:06:52,556.556 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:06:52,698.698 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:06:52,701.701 INFO    ] No camera update needed
[2026-10-20 03:06:52,703.703 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:06:52,705.705 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:06:52,711.711 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:06:52,716.716 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:06:54,755.755 INFO    ] ================================================
[2026-10-20 03:06:54,770.770 INFO    ] Launching Daemon at Tue Oct 20 03:06:54 IST 2026
[2026-10-20 03:06:54,781.781 INFO    ] ================================================
[2026-10-20 03:06:55,453.453 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:06:55
[2026-10-20 03:06:56,145.145 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:06:56,448.448 INFO    ] Initializing speech engine...
[2026-10-20 03:06:56,459.459 INFO    ] 2026-10-20 03:06:56
[2026-10-20 03:06:56,724.724 INFO    ] 2026-10-20 03:06:56
[2026-10-20 03:06:56,769.769 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:06:56,998.998 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:06:57,005.005 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:06:57,225.225 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:06:57,265.265 INFO    ] time= 20/10/2026 03:06:57
[2026-10-20 03:06:57,271.271 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:06:57,289.289 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:06:57,422.422 INFO    ] No existing commands found in stream
[2026-10-20 03:07:02,431.431 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:07:02,435.435 INFO    ] Waiting 3.76 seconds before fallback handling...
[2026-10-20 03:07:06,733.733 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:07:06,736.736 INFO    ] Checking for system updates...
[2026-10-20 03:07:06,775.775 INFO    ] 200
[2026-10-20 03:07:06,777.777 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:07:06,832.832 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:07:06,835.835 INFO    ] No update needed
[2026-10-20 03:07:06,837.837 INFO    ] Checking for camera pi updates...
[2026-10-20 03:07:06,871.871 INFO    ] 200
[2026-10-20 03:07:06,873.873 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:07:06,912.912 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:07:06,957.957 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:07:06,960.960 INFO    ] No camera update needed
[2026-10-20 03:07:06,962.962 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:07:06,964.964 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:07:06,970.970 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:07:06,974.974 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:07:09,016.016 INFO    ] ================================================
[2026-10-20 03:07:09,031.031 INFO    ] Launching Daemon at Tue Oct 20 03:07:09 IST 2026
[2026-10-20 03:07:09,042.042 INFO    ] ================================================
[2026-10-20 03:07:09,611.611 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:07:09
[2026-10-20 03:07:10,197.197 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:07:10,466.466 INFO    ] Initializing speech engine...
[2026-10-20 03:07:10,475.475 INFO    ] 2026-10-20 03:07:10
[2026-10-20 03:07:10,720.720 INFO    ] 2026-10-20 03:07:10
[2026-10-20 03:07:10,755.755 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:07:11,011.011 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:07:11,017.017 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:07:11,247.247 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:07:11,273.273 INFO    ] time= 20/10/2026 03:07:11
[2026-10-20 03:07:11,279.279 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:07:11,296.296 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:07:11,428.428 INFO    ] No existing commands found in stream
[2026-10-20 03:07:16,456.456 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:07:16,459.459 INFO    ] Waiting 3.61 seconds before fallback handling...
[2026-10-20 03:07:20,623.623 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:07:20,626.626 INFO    ] Checking for system updates...
[2026-10-20 03:07:20,662.662 INFO    ] 200
[2026-10-20 03:07:20,665.665 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:07:20,723.723 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:07:20,726.726 INFO    ] No update needed
[2026-10-20 03:07:20,728.728 INFO    ] Checking for camera pi updates...
[2026-10-20 03:07:20,765.765 INFO    ] 200
[2026-10-20 03:07:20,767.767 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:07:20,809.809 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:07:20,854.854 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:07:20,856.856 INFO    ] No camera update needed
[2026-10-20 03:07:20,859.859 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:07:20,861.861 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:07:20,866.866 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:07:20,871.871 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:07:22,911.911 INFO    ] ================================================
[2026-10-20 03:07:22,926.926 INFO    ] Launching Daemon at Tue Oct 20 03:07:22 IST 2026
[2026-10-20 03:07:22,936.936 INFO    ] ================================================
[2026-10-20 03:07:23,559.559 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:07:23
[2026-10-20 03:07:24,204.204 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:07:24,477.477 INFO    ] Initializing speech engine...
[2026-10-20 03:07:24,484.484 INFO    ] 2026-10-20 03:07:24
[2026-10-20 03:07:24,741.741 INFO    ] 2026-10-20 03:07:24
[2026-10-20 03:07:24,794.794 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:07:25,076.076 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:07:25,085.085 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:07:25,297.297 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:07:25,326.326 INFO    ] time= 20/10/2026 03:07:25
[2026-10-20 03:07:25,336.336 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:07:25,346.346 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:07:25,500.500 INFO    ] No existing commands found in stream
[2026-10-20 03:07:30,536.536 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:07:30,540.540 INFO    ] Waiting 1.53 seconds before fallback handling...
[2026-10-20 03:07:32,637.637 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:07:32,640.640 INFO    ] Checking for system updates...
[2026-10-20 03:07:32,683.683 INFO    ] 200
[2026-10-20 03:07:32,686.686 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:07:32,759.759 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:07:32,762.762 INFO    ] No update needed
[2026-10-20 03:07:32,766.766 INFO    ] Checking for camera pi updates...
[2026-10-20 03:07:32,803.803 INFO    ] 200
[2026-10-20 03:07:32,806.806 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:07:32,858.858 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:07:32,911.911 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:07:32,913.913 INFO    ] No camera update needed
[2026-10-20 03:07:32,915.915 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:07:32,918.918 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:07:32,923.923 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:07:32,928.928 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:07:34,967.967 INFO    ] ================================================
[2026-10-20 03:07:34,982.982 INFO    ] Launching Daemon at Tue Oct 20 03:07:34 IST 2026
[2026-10-20 03:07:34,992.992 INFO    ] ================================================
[2026-10-20 03:07:35,572.572 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:07:35
[2026-10-20 03:07:36,169.169 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:07:36,447.447 INFO    ] Initializing speech engine...
[2026-10-20 03:07:36,457.457 INFO    ] 2026-10-20 03:07:36
[2026-10-20 03:07:36,719.719 INFO    ] 2026-10-20 03:07:36
[2026-10-20 03:07:36,757.757 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:07:36,976.976 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:07:37,010.010 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:07:37,203.203 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:07:37,270.270 INFO    ] time= 20/10/2026 03:07:37
[2026-10-20 03:07:37,330.330 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:07:37,341.341 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:07:37,469.469 INFO    ] No existing commands found in stream
[2026-10-20 03:07:42,496.496 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:07:42,499.499 INFO    ] Waiting 3.04 seconds before fallback handling...
[2026-10-20 03:07:47,350.350 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 03:07:47,353.353 INFO    ] Checking for system updates...
[2026-10-20 03:07:47,389.389 INFO    ] 200
[2026-10-20 03:07:47,392.392 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:07:47,448.448 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:07:47,451.451 INFO    ] No update needed
[2026-10-20 03:07:47,453.453 INFO    ] Checking for camera pi updates...
[2026-10-20 03:07:47,486.486 INFO    ] 200
[2026-10-20 03:07:47,489.489 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:07:47,533.533 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:07:47,566.566 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:07:47,569.569 INFO    ] No camera update needed
[2026-10-20 03:07:47,571.571 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:07:47,573.573 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:07:47,579.579 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:07:47,584.584 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:07:49,622.622 INFO    ] ================================================
[2026-10-20 03:07:49,638.638 INFO    ] Launching Daemon at Tue Oct 20 03:07:49 IST 2026
[2026-10-20 03:07:49,648.648 INFO    ] ================================================
[2026-10-20 03:07:50,214.214 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:07:50
[2026-10-20 03:07:50,797.797 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:07:51,072.072 INFO    ] Initializing speech engine...
[2026-10-20 03:07:51,081.081 INFO    ] 2026-10-20 03:07:51
[2026-10-20 03:07:51,327.327 INFO    ] 2026-10-20 03:07:51
[2026-10-20 03:07:51,362.362 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:07:51,638.638 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:07:51,646.646 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:07:51,888.888 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:07:51,894.894 INFO    ] time= 20/10/2026 03:07:51
[2026-10-20 03:07:51,915.915 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:07:51,942.942 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:07:52,051.051 INFO    ] No existing commands found in stream
[2026-10-20 03:07:57,085.085 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:07:57,088.088 INFO    ] Waiting 1.43 seconds before fallback handling...
[2026-10-20 03:07:59,038.038 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 03:07:59,041.041 INFO    ] Checking for system updates...
[2026-10-20 03:07:59,081.081 INFO    ] 200
[2026-10-20 03:07:59,083.083 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:07:59,142.142 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:07:59,144.144 INFO    ] No update needed
[2026-10-20 03:07:59,146.146 INFO    ] Checking for camera pi updates...
[2026-10-20 03:07:59,180.180 INFO    ] 200
[2026-10-20 03:07:59,182.182 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:07:59,223.223 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:07:59,264.264 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:07:59,266.266 INFO    ] No camera update needed
[2026-10-20 03:07:59,269.269 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:07:59,271.271 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:07:59,276.276 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:07:59,281.281 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:08:01,321.321 INFO    ] ================================================
[2026-10-20 03:08:01,336.336 INFO    ] Launching Daemon at Tue Oct 20 03:08:01 IST 2026
[2026-10-20 03:08:01,347.347 INFO    ] ================================================
[2026-10-20 03:08:02,076.076 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:08:02
[2026-10-20 03:08:02,728.728 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:08:03,060.060 INFO    ] Initializing speech engine...
[2026-10-20 03:08:03,068.068 INFO    ] 2026-10-20 03:08:03
[2026-10-20 03:08:03,356.356 INFO    ] 2026-10-20 03:08:03
[2026-10-20 03:08:03,394.394 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:08:03,627.627 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:08:03,645.645 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:08:03,863.863 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:08:03,875.875 INFO    ] time= 20/10/2026 03:08:03
[2026-10-20 03:08:03,914.914 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:08:03,958.958 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:08:04,071.071 INFO    ] No existing commands found in stream
[2026-10-20 03:08:09,082.082 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:08:09,085.085 INFO    ] Waiting 1.44 seconds before fallback handling...
[2026-10-20 03:08:11,110.110 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 03:08:11,113.113 INFO    ] Checking for system updates...
[2026-10-20 03:08:11,148.148 INFO    ] 200
[2026-10-20 03:08:11,151.151 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:08:11,208.208 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:08:11,210.210 INFO    ] No update needed
[2026-10-20 03:08:11,213.213 INFO    ] Checking for camera pi updates...
[2026-10-20 03:08:11,250.250 INFO    ] 200
[2026-10-20 03:08:11,253.253 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:08:11,298.298 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:08:11,341.341 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:08:11,343.343 INFO    ] No camera update needed
[2026-10-20 03:08:11,346.346 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:08:11,349.349 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:08:11,355.355 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:08:11,361.361 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:08:13,401.401 INFO    ] ================================================
[2026-10-20 03:08:13,416.416 INFO    ] Launching Daemon at Tue Oct 20 03:08:13 IST 2026
[2026-10-20 03:08:13,427.427 INFO    ] ================================================
[2026-10-20 03:08:14,066.066 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:08:14
[2026-10-20 03:08:14,730.730 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:08:15,031.031 INFO    ] Initializing speech engine...
[2026-10-20 03:08:15,039.039 INFO    ] 2026-10-20 03:08:15
[2026-10-20 03:08:15,323.323 INFO    ] 2026-10-20 03:08:15
[2026-10-20 03:08:15,371.371 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:08:15,657.657 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:08:15,667.667 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:08:15,869.869 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:08:15,888.888 INFO    ] time= 20/10/2026 03:08:15
[2026-10-20 03:08:15,918.918 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:08:15,926.926 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:08:16,061.061 INFO    ] No existing commands found in stream
[2026-10-20 03:08:21,092.092 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:08:21,095.095 INFO    ] Waiting 3.88 seconds before fallback handling...
[2026-10-20 03:08:25,517.517 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:08:25,521.521 INFO    ] Checking for system updates...
[2026-10-20 03:08:25,557.557 INFO    ] 200
[2026-10-20 03:08:25,560.560 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:08:25,613.613 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:08:25,616.616 INFO    ] No update needed
[2026-10-20 03:08:25,619.619 INFO    ] Checking for camera pi updates...
[2026-10-20 03:08:25,653.653 INFO    ] 200
[2026-10-20 03:08:25,656.656 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:08:25,701.701 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:08:25,747.747 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:08:25,750.750 INFO    ] No camera update needed
[2026-10-20 03:08:25,754.754 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:08:25,757.757 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:08:25,763.763 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:08:25,769.769 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:08:27,809.809 INFO    ] ================================================
[2026-10-20 03:08:27,825.825 INFO    ] Launching Daemon at Tue Oct 20 03:08:27 IST 2026
[2026-10-20 03:08:27,836.836 INFO    ] ================================================
[2026-10-20 03:08:28,411.411 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:08:28
[2026-10-20 03:08:28,998.998 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:08:29,269.269 INFO    ] Initializing speech engine...
[2026-10-20 03:08:29,278.278 INFO    ] 2026-10-20 03:08:29
[2026-10-20 03:08:29,527.527 INFO    ] 2026-10-20 03:08:29
[2026-10-20 03:08:29,563.563 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:08:29,820.820 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:08:29,829.829 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:08:30,058.058 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:08:30,096.096 INFO    ] time= 20/10/2026 03:08:30
[2026-10-20 03:08:30,113.113 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:08:30,123.123 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:08:30,239.239 INFO    ] No existing commands found in stream
[2026-10-20 03:08:35,262.262 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:08:35,264.264 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-10-20 03:08:39,158.158 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:08:39,161.161 INFO    ] Checking for system updates...
[2026-10-20 03:08:39,197.197 INFO    ] 200
[2026-10-20 03:08:39,199.199 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:08:39,251.251 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:08:39,254.254 INFO    ] No update needed
[2026-10-20 03:08:39,256.256 INFO    ] Checking for camera pi updates...
[2026-10-20 03:08:39,292.292 INFO    ] 200
[2026-10-20 03:08:39,295.295 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:08:39,335.335 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:08:39,374.374 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:08:39,376.376 INFO    ] No camera update needed
[2026-10-20 03:08:39,379.379 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:08:39,381.381 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:08:39,386.386 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:08:39,391.391 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:08:41,433.433 INFO    ] ================================================
[2026-10-20 03:08:41,449.449 INFO    ] Launching Daemon at Tue Oct 20 03:08:41 IST 2026
[2026-10-20 03:08:41,460.460 INFO    ] ================================================
[2026-10-20 03:08:42,042.042 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:08:42
[2026-10-20 03:08:42,643.643 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:08:42,923.923 INFO    ] Initializing speech engine...
[2026-10-20 03:08:42,931.931 INFO    ] 2026-10-20 03:08:42
[2026-10-20 03:08:43,193.193 INFO    ] 2026-10-20 03:08:43
[2026-10-20 03:08:43,248.248 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:08:43,545.545 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:08:43,592.592 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:08:43,784.784 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:08:43,792.792 INFO    ] time= 20/10/2026 03:08:43
[2026-10-20 03:08:43,799.799 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:08:43,806.806 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:08:43,915.915 INFO    ] No existing commands found in stream
[2026-10-20 03:08:48,939.939 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:08:48,942.942 INFO    ] Waiting 3.77 seconds before fallback handling...
[2026-10-20 03:08:53,285.285 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 03:08:53,287.287 INFO    ] Checking for system updates...
[2026-10-20 03:08:53,324.324 INFO    ] 200
[2026-10-20 03:08:53,326.326 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:08:53,379.379 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:08:53,382.382 INFO    ] No update needed
[2026-10-20 03:08:53,384.384 INFO    ] Checking for camera pi updates...
[2026-10-20 03:08:53,419.419 INFO    ] 200
[2026-10-20 03:08:53,422.422 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:08:53,463.463 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:08:53,514.514 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:08:53,516.516 INFO    ] No camera update needed
[2026-10-20 03:08:53,519.519 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:08:53,522.522 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:08:53,528.528 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:08:53,534.534 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:08:55,575.575 INFO    ] ================================================
[2026-10-20 03:08:55,591.591 INFO    ] Launching Daemon at Tue Oct 20 03:08:55 IST 2026
[2026-10-20 03:08:55,603.603 INFO    ] ================================================
[2026-10-20 03:08:56,176.176 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:08:56
[2026-10-20 03:08:56,763.763 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:08:57,052.052 INFO    ] Initializing speech engine...
[2026-10-20 03:08:57,058.058 INFO    ] 2026-10-20 03:08:57
[2026-10-20 03:08:57,363.363 INFO    ] 2026-10-20 03:08:57
[2026-10-20 03:08:57,447.447 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:08:57,663.663 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:08:57,670.670 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:08:57,866.866 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:08:57,885.885 INFO    ] time= 20/10/2026 03:08:57
[2026-10-20 03:08:57,914.914 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:08:57,923.923 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:08:58,035.035 INFO    ] No existing commands found in stream
[2026-10-20 03:09:03,061.061 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:09:03,064.064 INFO    ] Waiting 2.22 seconds before fallback handling...
[2026-10-20 03:09:05,863.863 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:09:05,866.866 INFO    ] Checking for system updates...
[2026-10-20 03:09:05,903.903 INFO    ] 200
[2026-10-20 03:09:05,906.906 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:09:05,962.962 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:09:05,964.964 INFO    ] No update needed
[2026-10-20 03:09:05,967.967 INFO    ] Checking for camera pi updates...
[2026-10-20 03:09:06,006.006 INFO    ] 200
[2026-10-20 03:09:06,009.009 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:09:06,056.056 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:09:06,101.101 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:09:06,104.104 INFO    ] No camera update needed
[2026-10-20 03:09:06,107.107 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:09:06,109.109 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:09:06,115.115 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:09:06,121.121 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:09:08,161.161 INFO    ] ================================================
[2026-10-20 03:09:08,176.176 INFO    ] Launching Daemon at Tue Oct 20 03:09:08 IST 2026
[2026-10-20 03:09:08,187.187 INFO    ] ================================================
[2026-10-20 03:09:08,835.835 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:09:08
[2026-10-20 03:09:09,505.505 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:09:09,815.815 INFO    ] Initializing speech engine...
[2026-10-20 03:09:09,826.826 INFO    ] 2026-10-20 03:09:09
[2026-10-20 03:09:10,110.110 INFO    ] 2026-10-20 03:09:10
[2026-10-20 03:09:10,157.157 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:09:10,498.498 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:09:10,519.519 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:09:10,703.703 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:09:10,713.713 INFO    ] time= 20/10/2026 03:09:10
[2026-10-20 03:09:10,760.760 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:09:10,815.815 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:09:10,951.951 INFO    ] No existing commands found in stream
[2026-10-20 03:09:15,982.982 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:09:15,985.985 INFO    ] Waiting 3.80 seconds before fallback handling...
[2026-10-20 03:09:20,363.363 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 03:09:20,367.367 INFO    ] Checking for system updates...
[2026-10-20 03:09:20,403.403 INFO    ] 200
[2026-10-20 03:09:20,405.405 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:09:20,464.464 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:09:20,466.466 INFO    ] No update needed
[2026-10-20 03:09:20,468.468 INFO    ] Checking for camera pi updates...
[2026-10-20 03:09:20,503.503 INFO    ] 200
[2026-10-20 03:09:20,505.505 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:09:20,545.545 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:09:20,595.595 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:09:20,598.598 INFO    ] No camera update needed
[2026-10-20 03:09:20,601.601 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:09:20,603.603 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:09:20,610.610 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:09:20,615.615 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:09:22,655.655 INFO    ] ================================================
[2026-10-20 03:09:22,671.671 INFO    ] Launching Daemon at Tue Oct 20 03:09:22 IST 2026
[2026-10-20 03:09:22,681.681 INFO    ] ================================================
[2026-10-20 03:09:23,269.269 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:09:23
[2026-10-20 03:09:23,916.916 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:09:24,217.217 INFO    ] Initializing speech engine...
[2026-10-20 03:09:24,227.227 INFO    ] 2026-10-20 03:09:24
[2026-10-20 03:09:24,504.504 INFO    ] 2026-10-20 03:09:24
[2026-10-20 03:09:24,540.540 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:09:24,801.801 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:09:24,808.808 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:09:25,030.030 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:09:25,075.075 INFO    ] time= 20/10/2026 03:09:25
[2026-10-20 03:09:25,094.094 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:09:25,103.103 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:09:25,238.238 INFO    ] No existing commands found in stream
[2026-10-20 03:09:30,257.257 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:09:30,261.261 INFO    ] Waiting 1.87 seconds before fallback handling...
[2026-10-20 03:09:32,700.700 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 03:09:32,704.704 INFO    ] Checking for system updates...
[2026-10-20 03:09:32,744.744 INFO    ] 200
[2026-10-20 03:09:32,747.747 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:09:32,804.804 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:09:32,807.807 INFO    ] No update needed
[2026-10-20 03:09:32,811.811 INFO    ] Checking for camera pi updates...
[2026-10-20 03:09:32,850.850 INFO    ] 200
[2026-10-20 03:09:32,853.853 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:09:32,900.900 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:09:32,946.946 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:09:32,949.949 INFO    ] No camera update needed
[2026-10-20 03:09:32,952.952 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:09:32,954.954 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:09:32,961.961 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:09:32,967.967 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:09:35,006.006 INFO    ] ================================================
[2026-10-20 03:09:35,021.021 INFO    ] Launching Daemon at Tue Oct 20 03:09:35 IST 2026
[2026-10-20 03:09:35,033.033 INFO    ] ================================================
[2026-10-20 03:09:35,600.600 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:09:35
[2026-10-20 03:09:36,185.185 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:09:36,457.457 INFO    ] Initializing speech engine...
[2026-10-20 03:09:36,466.466 INFO    ] 2026-10-20 03:09:36
[2026-10-20 03:09:36,716.716 INFO    ] 2026-10-20 03:09:36
[2026-10-20 03:09:36,752.752 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:09:37,009.009 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:09:37,018.018 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:09:37,267.267 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:09:37,313.313 INFO    ] time= 20/10/2026 03:09:37
[2026-10-20 03:09:37,330.330 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:09:37,345.345 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:09:37,480.480 INFO    ] No existing commands found in stream
[2026-10-20 03:09:42,503.503 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:09:42,506.506 INFO    ] Waiting 0.99 seconds before fallback handling...
[2026-10-20 03:09:44,037.037 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:09:44,041.041 INFO    ] Checking for system updates...
[2026-10-20 03:09:44,077.077 INFO    ] 200
[2026-10-20 03:09:44,080.080 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:09:44,131.131 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:09:44,134.134 INFO    ] No update needed
[2026-10-20 03:09:44,137.137 INFO    ] Checking for camera pi updates...
[2026-10-20 03:09:44,171.171 INFO    ] 200
[2026-10-20 03:09:44,173.173 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:09:44,221.221 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:09:44,270.270 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:09:44,273.273 INFO    ] No camera update needed
[2026-10-20 03:09:44,275.275 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:09:44,277.277 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:09:44,283.283 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:09:44,288.288 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:09:46,329.329 INFO    ] ================================================
[2026-10-20 03:09:46,345.345 INFO    ] Launching Daemon at Tue Oct 20 03:09:46 IST 2026
[2026-10-20 03:09:46,356.356 INFO    ] ================================================
[2026-10-20 03:09:46,990.990 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:09:46
[2026-10-20 03:09:47,644.644 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:09:47,924.924 INFO    ] Initializing speech engine...
[2026-10-20 03:09:47,931.931 INFO    ] 2026-10-20 03:09:47
[2026-10-20 03:09:48,193.193 INFO    ] 2026-10-20 03:09:48
[2026-10-20 03:09:48,223.223 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:09:48,495.495 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:09:48,500.500 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:09:48,714.714 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:09:48,739.739 INFO    ] time= 20/10/2026 03:09:48
[2026-10-20 03:09:48,755.755 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:09:48,764.764 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:09:48,895.895 INFO    ] No existing commands found in stream
[2026-10-20 03:09:53,917.917 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:09:53,920.920 INFO    ] Waiting 1.36 seconds before fallback handling...
[2026-10-20 03:09:55,820.820 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:09:55,823.823 INFO    ] Checking for system updates...
[2026-10-20 03:09:55,863.863 INFO    ] 200
[2026-10-20 03:09:55,865.865 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:09:55,922.922 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:09:55,925.925 INFO    ] No update needed
[2026-10-20 03:09:55,928.928 INFO    ] Checking for camera pi updates...
[2026-10-20 03:09:55,965.965 INFO    ] 200
[2026-10-20 03:09:55,969.969 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:09:56,010.010 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:09:56,053.053 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:09:56,056.056 INFO    ] No camera update needed
[2026-10-20 03:09:56,059.059 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:09:56,061.061 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:09:56,067.067 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:09:56,073.073 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:09:58,114.114 INFO    ] ================================================
[2026-10-20 03:09:58,129.129 INFO    ] Launching Daemon at Tue Oct 20 03:09:58 IST 2026
[2026-10-20 03:09:58,140.140 INFO    ] ================================================
[2026-10-20 03:09:58,715.715 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:09:58
[2026-10-20 03:09:59,303.303 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:09:59,550.550 INFO    ] Initializing speech engine...
[2026-10-20 03:09:59,569.569 INFO    ] 2026-10-20 03:09:59
[2026-10-20 03:09:59,838.838 INFO    ] 2026-10-20 03:09:59
[2026-10-20 03:09:59,880.880 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:10:00,153.153 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:10:00,161.161 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:10:00,391.391 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:10:00,399.399 INFO    ] time= 20/10/2026 03:10:00
[2026-10-20 03:10:00,418.418 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:10:00,429.429 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:10:00,617.617 INFO    ] No existing commands found in stream
[2026-10-20 03:10:05,648.648 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:10:05,651.651 INFO    ] Waiting 2.30 seconds before fallback handling...
[2026-10-20 03:10:08,590.590 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:10:08,593.593 INFO    ] Checking for system updates...
[2026-10-20 03:10:08,630.630 INFO    ] 200
[2026-10-20 03:10:08,633.633 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:10:08,691.691 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:10:08,694.694 INFO    ] No update needed
[2026-10-20 03:10:08,700.700 INFO    ] Checking for camera pi updates...
[2026-10-20 03:10:08,737.737 INFO    ] 200
[2026-10-20 03:10:08,739.739 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:10:08,779.779 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:10:08,828.828 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:10:08,831.831 INFO    ] No camera update needed
[2026-10-20 03:10:08,833.833 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:10:08,835.835 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:10:08,841.841 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:10:08,845.845 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:10:10,885.885 INFO    ] ================================================
[2026-10-20 03:10:10,900.900 INFO    ] Launching Daemon at Tue Oct 20 03:10:10 IST 2026
[2026-10-20 03:10:10,910.910 INFO    ] ================================================
[2026-10-20 03:10:11,500.500 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:10:11
[2026-10-20 03:10:12,098.098 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:10:12,373.373 INFO    ] Initializing speech engine...
[2026-10-20 03:10:12,378.378 INFO    ] 2026-10-20 03:10:12
[2026-10-20 03:10:12,630.630 INFO    ] 2026-10-20 03:10:12
[2026-10-20 03:10:12,665.665 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:10:12,921.921 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:10:12,925.925 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:10:13,103.103 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:10:13,158.158 INFO    ] time= 20/10/2026 03:10:13
[2026-10-20 03:10:13,185.185 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:10:13,191.191 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:10:13,337.337 INFO    ] No existing commands found in stream
[2026-10-20 03:10:18,365.365 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:10:18,367.367 INFO    ] Waiting 3.37 seconds before fallback handling...
[2026-10-20 03:10:22,303.303 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:10:22,306.306 INFO    ] Checking for system updates...
[2026-10-20 03:10:22,345.345 INFO    ] 200
[2026-10-20 03:10:22,347.347 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:10:22,399.399 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:10:22,401.401 INFO    ] No update needed
[2026-10-20 03:10:22,404.404 INFO    ] Checking for camera pi updates...
[2026-10-20 03:10:22,438.438 INFO    ] 200
[2026-10-20 03:10:22,441.441 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:10:22,496.496 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:10:22,543.543 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:10:22,546.546 INFO    ] No camera update needed
[2026-10-20 03:10:22,548.548 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:10:22,551.551 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:10:22,557.557 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:10:22,563.563 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:10:24,605.605 INFO    ] ================================================
[2026-10-20 03:10:24,619.619 INFO    ] Launching Daemon at Tue Oct 20 03:10:24 IST 2026
[2026-10-20 03:10:24,630.630 INFO    ] ================================================
[2026-10-20 03:10:25,270.270 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:10:25
[2026-10-20 03:10:25,930.930 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:10:26,229.229 INFO    ] Initializing speech engine...
[2026-10-20 03:10:26,237.237 INFO    ] 2026-10-20 03:10:26
[2026-10-20 03:10:26,527.527 INFO    ] 2026-10-20 03:10:26
[2026-10-20 03:10:26,566.566 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:10:26,913.913 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:10:26,937.937 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:10:27,181.181 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:10:27,227.227 INFO    ] time= 20/10/2026 03:10:27
[2026-10-20 03:10:27,293.293 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:10:27,319.319 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:10:27,545.545 INFO    ] No existing commands found in stream
[2026-10-20 03:10:32,579.579 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:10:32,583.583 INFO    ] Waiting 2.11 seconds before fallback handling...
[2026-10-20 03:10:35,265.265 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 03:10:35,268.268 INFO    ] Checking for system updates...
[2026-10-20 03:10:35,304.304 INFO    ] 200
[2026-10-20 03:10:35,306.306 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:10:35,361.361 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:10:35,363.363 INFO    ] No update needed
[2026-10-20 03:10:35,366.366 INFO    ] Checking for camera pi updates...
[2026-10-20 03:10:35,399.399 INFO    ] 200
[2026-10-20 03:10:35,401.401 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:10:35,441.441 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:10:35,484.484 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:10:35,487.487 INFO    ] No camera update needed
[2026-10-20 03:10:35,489.489 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:10:35,491.491 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:10:35,497.497 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:10:35,501.501 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:10:37,542.542 INFO    ] ================================================
[2026-10-20 03:10:37,558.558 INFO    ] Launching Daemon at Tue Oct 20 03:10:37 IST 2026
[2026-10-20 03:10:37,569.569 INFO    ] ================================================
[2026-10-20 03:10:38,150.150 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:10:38
[2026-10-20 03:10:38,740.740 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:10:38,991.991 INFO    ] Initializing speech engine...
[2026-10-20 03:10:39,005.005 INFO    ] 2026-10-20 03:10:38
[2026-10-20 03:10:39,273.273 INFO    ] 2026-10-20 03:10:39
[2026-10-20 03:10:39,310.310 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:10:39,530.530 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:10:39,558.558 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:10:39,760.760 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:10:39,794.794 INFO    ] time= 20/10/2026 03:10:39
[2026-10-20 03:10:39,843.843 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:10:39,903.903 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:10:40,074.074 INFO    ] No existing commands found in stream
[2026-10-20 03:10:45,085.085 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:10:45,087.087 INFO    ] Waiting 0.07 seconds before fallback handling...
[2026-10-20 03:10:45,683.683 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:10:45,686.686 INFO    ] Checking for system updates...
[2026-10-20 03:10:45,726.726 INFO    ] 200
[2026-10-20 03:10:45,728.728 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:10:45,788.788 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:10:45,791.791 INFO    ] No update needed
[2026-10-20 03:10:45,794.794 INFO    ] Checking for camera pi updates...
[2026-10-20 03:10:45,828.828 INFO    ] 200
[2026-10-20 03:10:45,831.831 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:10:45,873.873 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:10:45,923.923 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:10:45,926.926 INFO    ] No camera update needed
[2026-10-20 03:10:45,929.929 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:10:45,932.932 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:10:45,938.938 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:10:45,944.944 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:10:47,987.987 INFO    ] ================================================
[2026-10-20 03:10:48,003.003 INFO    ] Launching Daemon at Tue Oct 20 03:10:47 IST 2026
[2026-10-20 03:10:48,013.013 INFO    ] ================================================
[2026-10-20 03:10:48,579.579 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:10:48
[2026-10-20 03:10:49,160.160 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:10:49,409.409 INFO    ] Initializing speech engine...
[2026-10-20 03:10:49,432.432 INFO    ] 2026-10-20 03:10:49
[2026-10-20 03:10:49,687.687 INFO    ] 2026-10-20 03:10:49
[2026-10-20 03:10:49,724.724 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:10:49,925.925 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:10:49,983.983 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:10:50,127.127 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:10:50,187.187 INFO    ] time= 20/10/2026 03:10:50
[2026-10-20 03:10:50,251.251 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:10:50,263.263 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:10:50,405.405 INFO    ] No existing commands found in stream
[2026-10-20 03:10:55,422.422 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:10:55,424.424 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-10-20 03:10:59,401.401 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:10:59,404.404 INFO    ] Checking for system updates...
[2026-10-20 03:10:59,440.440 INFO    ] 200
[2026-10-20 03:10:59,442.442 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:10:59,500.500 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:10:59,502.502 INFO    ] No update needed
[2026-10-20 03:10:59,505.505 INFO    ] Checking for camera pi updates...
[2026-10-20 03:10:59,538.538 INFO    ] 200
[2026-10-20 03:10:59,540.540 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:10:59,580.580 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:10:59,629.629 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:10:59,632.632 INFO    ] No camera update needed
[2026-10-20 03:10:59,634.634 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:10:59,636.636 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:10:59,642.642 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:10:59,646.646 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:11:01,688.688 INFO    ] ================================================
[2026-10-20 03:11:01,708.708 INFO    ] Launching Daemon at Tue Oct 20 03:11:01 IST 2026
[2026-10-20 03:11:01,729.729 INFO    ] ================================================
[2026-10-20 03:11:02,363.363 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:11:02
[2026-10-20 03:11:03,081.081 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:11:03,382.382 INFO    ] Initializing speech engine...
[2026-10-20 03:11:03,390.390 INFO    ] 2026-10-20 03:11:03
[2026-10-20 03:11:03,637.637 INFO    ] 2026-10-20 03:11:03
[2026-10-20 03:11:03,673.673 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:11:03,927.927 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:11:03,934.934 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:11:04,185.185 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:11:04,192.192 INFO    ] time= 20/10/2026 03:11:04
[2026-10-20 03:11:04,210.210 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:11:04,232.232 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:11:04,358.358 INFO    ] No existing commands found in stream
[2026-10-20 03:11:09,389.389 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:11:09,391.391 INFO    ] Waiting 3.24 seconds before fallback handling...
[2026-10-20 03:11:13,187.187 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:11:13,190.190 INFO    ] Checking for system updates...
[2026-10-20 03:11:13,226.226 INFO    ] 200
[2026-10-20 03:11:13,229.229 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:11:13,288.288 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:11:13,291.291 INFO    ] No update needed
[2026-10-20 03:11:13,294.294 INFO    ] Checking for camera pi updates...
[2026-10-20 03:11:13,331.331 INFO    ] 200
[2026-10-20 03:11:13,334.334 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:11:13,380.380 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:11:13,526.526 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:11:13,528.528 INFO    ] No camera update needed
[2026-10-20 03:11:13,531.531 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:11:13,534.534 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:11:13,540.540 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:11:13,546.546 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:11:15,587.587 INFO    ] ================================================
[2026-10-20 03:11:15,602.602 INFO    ] Launching Daemon at Tue Oct 20 03:11:15 IST 2026
[2026-10-20 03:11:15,612.612 INFO    ] ================================================
[2026-10-20 03:11:16,194.194 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:11:16
[2026-10-20 03:11:16,796.796 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:11:17,083.083 INFO    ] Initializing speech engine...
[2026-10-20 03:11:17,093.093 INFO    ] 2026-10-20 03:11:17
[2026-10-20 03:11:17,359.359 INFO    ] 2026-10-20 03:11:17
[2026-10-20 03:11:17,397.397 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:11:17,685.685 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:11:17,693.693 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:11:17,850.850 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:11:17,874.874 INFO    ] time= 20/10/2026 03:11:17
[2026-10-20 03:11:17,929.929 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:11:17,988.988 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:11:18,132.132 INFO    ] No existing commands found in stream
[2026-10-20 03:11:23,157.157 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:11:23,160.160 INFO    ] Waiting 0.78 seconds before fallback handling...
[2026-10-20 03:11:24,495.495 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:11:24,498.498 INFO    ] Checking for system updates...
[2026-10-20 03:11:24,534.534 INFO    ] 200
[2026-10-20 03:11:24,537.537 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:11:24,600.600 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:11:24,603.603 INFO    ] No update needed
[2026-10-20 03:11:24,605.605 INFO    ] Checking for camera pi updates...
[2026-10-20 03:11:24,640.640 INFO    ] 200
[2026-10-20 03:11:24,643.643 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:11:24,688.688 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:11:24,733.733 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:11:24,736.736 INFO    ] No camera update needed
[2026-10-20 03:11:24,739.739 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:11:24,741.741 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:11:24,747.747 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:11:24,753.753 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:11:26,793.793 INFO    ] ================================================
[2026-10-20 03:11:26,808.808 INFO    ] Launching Daemon at Tue Oct 20 03:11:26 IST 2026
[2026-10-20 03:11:26,819.819 INFO    ] ================================================
[2026-10-20 03:11:27,473.473 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:11:27
[2026-10-20 03:11:28,135.135 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:11:28,412.412 INFO    ] Initializing speech engine...
[2026-10-20 03:11:28,422.422 INFO    ] 2026-10-20 03:11:28
[2026-10-20 03:11:28,689.689 INFO    ] 2026-10-20 03:11:28
[2026-10-20 03:11:28,719.719 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:11:28,967.967 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:11:28,974.974 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:11:29,209.209 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:11:29,231.231 INFO    ] time= 20/10/2026 03:11:29
[2026-10-20 03:11:29,246.246 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:11:29,255.255 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:11:29,384.384 INFO    ] No existing commands found in stream
[2026-10-20 03:11:34,413.413 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:11:34,416.416 INFO    ] Waiting 2.39 seconds before fallback handling...
[2026-10-20 03:11:37,337.337 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:11:37,340.340 INFO    ] Checking for system updates...
[2026-10-20 03:11:37,379.379 INFO    ] 200
[2026-10-20 03:11:37,382.382 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:11:37,440.440 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:11:37,442.442 INFO    ] No update needed
[2026-10-20 03:11:37,445.445 INFO    ] Checking for camera pi updates...
[2026-10-20 03:11:37,481.481 INFO    ] 200
[2026-10-20 03:11:37,484.484 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:11:37,524.524 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:11:37,579.579 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:11:37,582.582 INFO    ] No camera update needed
[2026-10-20 03:11:37,584.584 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:11:37,587.587 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:11:37,594.594 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:11:37,599.599 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:11:39,640.640 INFO    ] ================================================
[2026-10-20 03:11:39,655.655 INFO    ] Launching Daemon at Tue Oct 20 03:11:39 IST 2026
[2026-10-20 03:11:39,666.666 INFO    ] ================================================
[2026-10-20 03:11:40,319.319 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:11:40
[2026-10-20 03:11:40,911.911 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:11:41,160.160 INFO    ] Initializing speech engine...
[2026-10-20 03:11:41,183.183 INFO    ] 2026-10-20 03:11:41
[2026-10-20 03:11:41,439.439 INFO    ] 2026-10-20 03:11:41
[2026-10-20 03:11:41,474.474 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:11:41,738.738 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:11:41,743.743 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:11:41,947.947 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:11:41,996.996 INFO    ] time= 20/10/2026 03:11:41
[2026-10-20 03:11:42,014.014 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:11:42,031.031 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:11:42,159.159 INFO    ] No existing commands found in stream
[2026-10-20 03:11:47,176.176 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:11:47,179.179 INFO    ] Waiting 0.39 seconds before fallback handling...
[2026-10-20 03:11:48,150.150 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:11:48,153.153 INFO    ] Checking for system updates...
[2026-10-20 03:11:48,190.190 INFO    ] 200
[2026-10-20 03:11:48,193.193 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:11:48,253.253 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:11:48,256.256 INFO    ] No update needed
[2026-10-20 03:11:48,258.258 INFO    ] Checking for camera pi updates...
[2026-10-20 03:11:48,293.293 INFO    ] 200
[2026-10-20 03:11:48,296.296 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:11:48,341.341 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:11:48,380.380 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:11:48,383.383 INFO    ] No camera update needed
[2026-10-20 03:11:48,385.385 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:11:48,387.387 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:11:48,392.392 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:11:48,397.397 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:11:50,437.437 INFO    ] ================================================
[2026-10-20 03:11:50,452.452 INFO    ] Launching Daemon at Tue Oct 20 03:11:50 IST 2026
[2026-10-20 03:11:50,463.463 INFO    ] ================================================
[2026-10-20 03:11:51,055.055 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:11:51
[2026-10-20 03:11:51,672.672 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:11:51,949.949 INFO    ] Initializing speech engine...
[2026-10-20 03:11:51,956.956 INFO    ] 2026-10-20 03:11:51
[2026-10-20 03:11:52,214.214 INFO    ] 2026-10-20 03:11:52
[2026-10-20 03:11:52,249.249 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:11:52,499.499 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:11:52,505.505 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:11:52,756.756 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:11:52,763.763 INFO    ] time= 20/10/2026 03:11:52
[2026-10-20 03:11:52,782.782 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:11:52,809.809 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:11:52,917.917 INFO    ] No existing commands found in stream
[2026-10-20 03:11:57,934.934 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:11:57,937.937 INFO    ] Waiting 0.79 seconds before fallback handling...
[2026-10-20 03:11:59,232.232 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 03:11:59,234.234 INFO    ] Checking for system updates...
[2026-10-20 03:11:59,274.274 INFO    ] 200
[2026-10-20 03:11:59,276.276 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:11:59,328.328 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:11:59,331.331 INFO    ] No update needed
[2026-10-20 03:11:59,333.333 INFO    ] Checking for camera pi updates...
[2026-10-20 03:11:59,366.366 INFO    ] 200
[2026-10-20 03:11:59,369.369 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:11:59,409.409 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:11:59,443.443 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:11:59,445.445 INFO    ] No camera update needed
[2026-10-20 03:11:59,447.447 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:11:59,450.450 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:11:59,455.455 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:11:59,461.461 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:12:01,512.512 INFO    ] ================================================
[2026-10-20 03:12:01,534.534 INFO    ] Launching Daemon at Tue Oct 20 03:12:01 IST 2026
[2026-10-20 03:12:01,560.560 INFO    ] ================================================
[2026-10-20 03:12:02,215.215 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:12:02
[2026-10-20 03:12:02,866.866 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:12:03,207.207 INFO    ] Initializing speech engine...
[2026-10-20 03:12:03,212.212 INFO    ] 2026-10-20 03:12:03
[2026-10-20 03:12:03,522.522 INFO    ] 2026-10-20 03:12:03
[2026-10-20 03:12:03,559.559 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:12:03,805.805 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:12:03,861.861 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:12:04,084.084 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:12:04,133.133 INFO    ] time= 20/10/2026 03:12:04
[2026-10-20 03:12:04,182.182 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:12:04,193.193 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:12:04,331.331 INFO    ] No existing commands found in stream
[2026-10-20 03:12:09,359.359 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:12:09,361.361 INFO    ] Waiting 3.05 seconds before fallback handling...
[2026-10-20 03:12:12,944.944 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 03:12:12,947.947 INFO    ] Checking for system updates...
[2026-10-20 03:12:12,987.987 INFO    ] 200
[2026-10-20 03:12:12,990.990 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:12:13,057.057 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:12:13,059.059 INFO    ] No update needed
[2026-10-20 03:12:13,062.062 INFO    ] Checking for camera pi updates...
[2026-10-20 03:12:13,096.096 INFO    ] 200
[2026-10-20 03:12:13,098.098 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:12:13,144.144 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:12:13,188.188 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:12:13,191.191 INFO    ] No camera update needed
[2026-10-20 03:12:13,193.193 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:12:13,195.195 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:12:13,201.201 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:12:13,206.206 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:12:15,245.245 INFO    ] ================================================
[2026-10-20 03:12:15,260.260 INFO    ] Launching Daemon at Tue Oct 20 03:12:15 IST 2026
[2026-10-20 03:12:15,270.270 INFO    ] ================================================
[2026-10-20 03:12:15,859.859 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:12:15
[2026-10-20 03:12:16,445.445 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:12:16,717.717 INFO    ] Initializing speech engine...
[2026-10-20 03:12:16,727.727 INFO    ] 2026-10-20 03:12:16
[2026-10-20 03:12:16,988.988 INFO    ] 2026-10-20 03:12:16
[2026-10-20 03:12:17,023.023 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:12:17,273.273 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:12:17,283.283 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:12:17,509.509 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:12:17,548.548 INFO    ] time= 20/10/2026 03:12:17
[2026-10-20 03:12:17,554.554 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:12:17,575.575 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:12:17,707.707 INFO    ] No existing commands found in stream
[2026-10-20 03:12:22,730.730 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:12:22,733.733 INFO    ] Waiting 3.39 seconds before fallback handling...
[2026-10-20 03:12:26,625.625 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 03:12:26,628.628 INFO    ] Checking for system updates...
[2026-10-20 03:12:26,663.663 INFO    ] 200
[2026-10-20 03:12:26,666.666 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:12:26,717.717 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:12:26,719.719 INFO    ] No update needed
[2026-10-20 03:12:26,722.722 INFO    ] Checking for camera pi updates...
[2026-10-20 03:12:26,760.760 INFO    ] 200
[2026-10-20 03:12:26,762.762 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:12:26,802.802 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:12:26,842.842 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:12:26,845.845 INFO    ] No camera update needed
[2026-10-20 03:12:26,847.847 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:12:26,850.850 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:12:26,855.855 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:12:26,860.860 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:12:28,899.899 INFO    ] ================================================
[2026-10-20 03:12:28,914.914 INFO    ] Launching Daemon at Tue Oct 20 03:12:28 IST 2026
[2026-10-20 03:12:28,925.925 INFO    ] ================================================
[2026-10-20 03:12:29,587.587 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:12:29
[2026-10-20 03:12:30,270.270 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:12:30,588.588 INFO    ] Initializing speech engine...
[2026-10-20 03:12:30,597.597 INFO    ] 2026-10-20 03:12:30
[2026-10-20 03:12:30,910.910 INFO    ] 2026-10-20 03:12:30
[2026-10-20 03:12:30,999.999 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:12:31,223.223 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:12:31,232.232 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:12:31,444.444 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:12:31,462.462 INFO    ] time= 20/10/2026 03:12:31
[2026-10-20 03:12:31,496.496 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:12:31,506.506 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:12:31,655.655 INFO    ] No existing commands found in stream
[2026-10-20 03:12:36,692.692 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:12:36,695.695 INFO    ] Waiting 0.15 seconds before fallback handling...
[2026-10-20 03:12:37,364.364 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 03:12:37,366.366 INFO    ] Checking for system updates...
[2026-10-20 03:12:37,402.402 INFO    ] 200
[2026-10-20 03:12:37,405.405 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:12:37,456.456 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:12:37,459.459 INFO    ] No update needed
[2026-10-20 03:12:37,461.461 INFO    ] Checking for camera pi updates...
[2026-10-20 03:12:37,494.494 INFO    ] 200
[2026-10-20 03:12:37,497.497 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:12:37,537.537 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:12:37,583.583 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:12:37,585.585 INFO    ] No camera update needed
[2026-10-20 03:12:37,588.588 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:12:37,590.590 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:12:37,595.595 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:12:37,601.601 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:12:39,640.640 INFO    ] ================================================
[2026-10-20 03:12:39,655.655 INFO    ] Launching Daemon at Tue Oct 20 03:12:39 IST 2026
[2026-10-20 03:12:39,666.666 INFO    ] ================================================
[2026-10-20 03:12:40,319.319 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:12:40
[2026-10-20 03:12:40,992.992 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:12:41,297.297 INFO    ] Initializing speech engine...
[2026-10-20 03:12:41,310.310 INFO    ] 2026-10-20 03:12:41
[2026-10-20 03:12:41,591.591 INFO    ] 2026-10-20 03:12:41
[2026-10-20 03:12:41,636.636 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:12:41,926.926 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:12:41,972.972 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:12:42,251.251 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:12:42,277.277 INFO    ] time= 20/10/2026 03:12:42
[2026-10-20 03:12:42,337.337 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:12:42,380.380 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:12:42,527.527 INFO    ] No existing commands found in stream
[2026-10-20 03:12:47,549.549 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:12:47,552.552 INFO    ] Waiting 1.28 seconds before fallback handling...
[2026-10-20 03:12:50,444.444 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:12:50,447.447 INFO    ] Checking for system updates...
[2026-10-20 03:12:50,488.488 INFO    ] 200
[2026-10-20 03:12:50,491.491 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:12:50,549.549 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:12:50,551.551 INFO    ] No update needed
[2026-10-20 03:12:50,554.554 INFO    ] Checking for camera pi updates...
[2026-10-20 03:12:50,592.592 INFO    ] 200
[2026-10-20 03:12:50,594.594 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:12:50,635.635 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:12:50,676.676 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:12:50,679.679 INFO    ] No camera update needed
[2026-10-20 03:12:50,681.681 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:12:50,684.684 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:12:50,689.689 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:12:50,694.694 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:12:52,733.733 INFO    ] ================================================
[2026-10-20 03:12:52,748.748 INFO    ] Launching Daemon at Tue Oct 20 03:12:52 IST 2026
[2026-10-20 03:12:52,758.758 INFO    ] ================================================
[2026-10-20 03:12:53,347.347 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:12:53
[2026-10-20 03:12:53,947.947 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:12:54,220.220 INFO    ] Initializing speech engine...
[2026-10-20 03:12:54,229.229 INFO    ] 2026-10-20 03:12:54
[2026-10-20 03:12:54,491.491 INFO    ] 2026-10-20 03:12:54
[2026-10-20 03:12:54,544.544 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:12:54,831.831 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:12:54,835.835 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:12:55,031.031 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:12:55,051.051 INFO    ] time= 20/10/2026 03:12:55
[2026-10-20 03:12:55,077.077 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:12:55,084.084 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:12:55,187.187 INFO    ] No existing commands found in stream
[2026-10-20 03:13:00,207.207 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:13:00,210.210 INFO    ] Waiting 2.72 seconds before fallback handling...
[2026-10-20 03:13:03,485.485 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:13:03,487.487 INFO    ] Checking for system updates...
[2026-10-20 03:13:03,525.525 INFO    ] 200
[2026-10-20 03:13:03,527.527 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:13:03,591.591 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:13:03,593.593 INFO    ] No update needed
[2026-10-20 03:13:03,596.596 INFO    ] Checking for camera pi updates...
[2026-10-20 03:13:03,633.633 INFO    ] 200
[2026-10-20 03:13:03,635.635 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:13:03,682.682 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:13:03,732.732 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:13:03,734.734 INFO    ] No camera update needed
[2026-10-20 03:13:03,737.737 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:13:03,739.739 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:13:03,745.745 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:13:03,751.751 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:13:05,791.791 INFO    ] ================================================
[2026-10-20 03:13:05,807.807 INFO    ] Launching Daemon at Tue Oct 20 03:13:05 IST 2026
[2026-10-20 03:13:05,817.817 INFO    ] ================================================
[2026-10-20 03:13:06,382.382 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:13:06
[2026-10-20 03:13:06,965.965 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:13:07,217.217 INFO    ] Initializing speech engine...
[2026-10-20 03:13:07,236.236 INFO    ] 2026-10-20 03:13:07
[2026-10-20 03:13:07,497.497 INFO    ] 2026-10-20 03:13:07
[2026-10-20 03:13:07,539.539 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:13:07,795.795 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:13:07,801.801 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:13:08,024.024 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:13:08,027.027 INFO    ] time= 20/10/2026 03:13:08
[2026-10-20 03:13:08,067.067 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:13:08,072.072 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:13:08,214.214 INFO    ] No existing commands found in stream
[2026-10-20 03:13:13,229.229 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:13:13,232.232 INFO    ] Waiting 1.70 seconds before fallback handling...
[2026-10-20 03:13:15,546.546 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:13:15,549.549 INFO    ] Checking for system updates...
[2026-10-20 03:13:15,584.584 INFO    ] 200
[2026-10-20 03:13:15,587.587 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:13:15,648.648 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:13:15,651.651 INFO    ] No update needed
[2026-10-20 03:13:15,654.654 INFO    ] Checking for camera pi updates...
[2026-10-20 03:13:15,687.687 INFO    ] 200
[2026-10-20 03:13:15,690.690 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:13:15,732.732 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:13:15,885.885 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:13:15,887.887 INFO    ] No camera update needed
[2026-10-20 03:13:15,890.890 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:13:15,892.892 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:13:15,898.898 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:13:15,905.905 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:13:17,948.948 INFO    ] ================================================
[2026-10-20 03:13:17,963.963 INFO    ] Launching Daemon at Tue Oct 20 03:13:17 IST 2026
[2026-10-20 03:13:17,974.974 INFO    ] ================================================
[2026-10-20 03:13:18,541.541 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:13:18
[2026-10-20 03:13:19,141.141 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:13:19,422.422 INFO    ] Initializing speech engine...
[2026-10-20 03:13:19,427.427 INFO    ] 2026-10-20 03:13:19
[2026-10-20 03:13:19,688.688 INFO    ] 2026-10-20 03:13:19
[2026-10-20 03:13:19,718.718 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:13:19,967.967 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:13:19,972.972 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:13:20,221.221 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:13:20,233.233 INFO    ] time= 20/10/2026 03:13:20
[2026-10-20 03:13:20,251.251 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:13:20,263.263 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:13:20,400.400 INFO    ] No existing commands found in stream
[2026-10-20 03:13:25,426.426 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:13:25,429.429 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-10-20 03:13:28,011.011 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:13:28,014.014 INFO    ] Checking for system updates...
[2026-10-20 03:13:28,053.053 INFO    ] 200
[2026-10-20 03:13:28,056.056 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:13:28,115.115 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:13:28,117.117 INFO    ] No update needed
[2026-10-20 03:13:28,120.120 INFO    ] Checking for camera pi updates...
[2026-10-20 03:13:28,158.158 INFO    ] 200
[2026-10-20 03:13:28,160.160 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:13:28,200.200 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:13:28,246.246 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:13:28,248.248 INFO    ] No camera update needed
[2026-10-20 03:13:28,251.251 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:13:28,253.253 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:13:28,259.259 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:13:28,264.264 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:13:30,304.304 INFO    ] ================================================
[2026-10-20 03:13:30,320.320 INFO    ] Launching Daemon at Tue Oct 20 03:13:30 IST 2026
[2026-10-20 03:13:30,331.331 INFO    ] ================================================
[2026-10-20 03:13:30,902.902 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:13:30
[2026-10-20 03:13:31,493.493 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:13:31,769.769 INFO    ] Initializing speech engine...
[2026-10-20 03:13:31,776.776 INFO    ] 2026-10-20 03:13:31
[2026-10-20 03:13:32,071.071 INFO    ] 2026-10-20 03:13:32
[2026-10-20 03:13:32,110.110 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:13:32,390.390 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:13:32,399.399 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:13:32,662.662 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:13:32,680.680 INFO    ] time= 20/10/2026 03:13:32
[2026-10-20 03:13:32,698.698 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:13:32,708.708 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:13:32,864.864 INFO    ] No existing commands found in stream
[2026-10-20 03:13:37,899.899 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:13:37,902.902 INFO    ] Waiting 0.44 seconds before fallback handling...
[2026-10-20 03:13:38,875.875 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 03:13:38,878.878 INFO    ] Checking for system updates...
[2026-10-20 03:13:38,914.914 INFO    ] 200
[2026-10-20 03:13:38,916.916 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:13:38,967.967 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:13:38,970.970 INFO    ] No update needed
[2026-10-20 03:13:38,972.972 INFO    ] Checking for camera pi updates...
[2026-10-20 03:13:39,006.006 INFO    ] 200
[2026-10-20 03:13:39,009.009 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:13:39,052.052 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:13:39,105.105 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:13:39,109.109 INFO    ] No camera update needed
[2026-10-20 03:13:39,112.112 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:13:39,115.115 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:13:39,122.122 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:13:39,130.130 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:13:41,174.174 INFO    ] ================================================
[2026-10-20 03:13:41,189.189 INFO    ] Launching Daemon at Tue Oct 20 03:13:41 IST 2026
[2026-10-20 03:13:41,201.201 INFO    ] ================================================
[2026-10-20 03:13:41,774.774 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:13:41
[2026-10-20 03:13:42,364.364 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:13:42,614.614 INFO    ] Initializing speech engine...
[2026-10-20 03:13:42,619.619 INFO    ] 2026-10-20 03:13:42
[2026-10-20 03:13:42,892.892 INFO    ] 2026-10-20 03:13:42
[2026-10-20 03:13:42,929.929 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:13:43,193.193 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:13:43,197.197 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:13:43,418.418 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:13:43,464.464 INFO    ] time= 20/10/2026 03:13:43
[2026-10-20 03:13:43,471.471 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:13:43,489.489 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:13:43,641.641 INFO    ] No existing commands found in stream
[2026-10-20 03:13:48,668.668 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:13:48,671.671 INFO    ] Waiting 0.07 seconds before fallback handling...
[2026-10-20 03:13:49,301.301 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:13:49,304.304 INFO    ] Checking for system updates...
[2026-10-20 03:13:49,340.340 INFO    ] 200
[2026-10-20 03:13:49,342.342 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:13:49,395.395 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:13:49,398.398 INFO    ] No update needed
[2026-10-20 03:13:49,400.400 INFO    ] Checking for camera pi updates...
[2026-10-20 03:13:49,433.433 INFO    ] 200
[2026-10-20 03:13:49,436.436 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:13:49,481.481 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:13:49,507.507 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:13:49,509.509 INFO    ] No camera update needed
[2026-10-20 03:13:49,512.512 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:13:49,514.514 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:13:49,519.519 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:13:49,525.525 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:13:51,564.564 INFO    ] ================================================
[2026-10-20 03:13:51,579.579 INFO    ] Launching Daemon at Tue Oct 20 03:13:51 IST 2026
[2026-10-20 03:13:51,590.590 INFO    ] ================================================
[2026-10-20 03:13:52,172.172 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:13:52
[2026-10-20 03:13:52,756.756 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:13:53,011.011 INFO    ] Initializing speech engine...
[2026-10-20 03:13:53,020.020 INFO    ] 2026-10-20 03:13:53
[2026-10-20 03:13:53,313.313 INFO    ] 2026-10-20 03:13:53
[2026-10-20 03:13:53,347.347 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:13:53,565.565 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:13:53,572.572 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:13:53,772.772 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:13:53,843.843 INFO    ] time= 20/10/2026 03:13:53
[2026-10-20 03:13:53,899.899 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:13:53,907.907 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:13:54,116.116 INFO    ] No existing commands found in stream
[2026-10-20 03:13:59,142.142 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:13:59,145.145 INFO    ] Waiting 3.13 seconds before fallback handling...
[2026-10-20 03:14:02,878.878 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:14:02,883.883 INFO    ] Checking for system updates...
[2026-10-20 03:14:02,932.932 INFO    ] 200
[2026-10-20 03:14:02,936.936 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:14:03,003.003 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:14:03,008.008 INFO    ] No update needed
[2026-10-20 03:14:03,012.012 INFO    ] Checking for camera pi updates...
[2026-10-20 03:14:03,050.050 INFO    ] 200
[2026-10-20 03:14:03,053.053 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:14:03,095.095 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:14:03,128.128 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:14:03,132.132 INFO    ] No camera update needed
[2026-10-20 03:14:03,135.135 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:14:03,138.138 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:14:03,144.144 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:14:03,150.150 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:14:05,191.191 INFO    ] ================================================
[2026-10-20 03:14:05,207.207 INFO    ] Launching Daemon at Tue Oct 20 03:14:05 IST 2026
[2026-10-20 03:14:05,217.217 INFO    ] ================================================
[2026-10-20 03:14:05,888.888 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:14:05
[2026-10-20 03:14:06,569.569 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:14:06,876.876 INFO    ] Initializing speech engine...
[2026-10-20 03:14:06,889.889 INFO    ] 2026-10-20 03:14:06
[2026-10-20 03:14:07,163.163 INFO    ] 2026-10-20 03:14:07
[2026-10-20 03:14:07,220.220 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:14:07,515.515 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:14:07,523.523 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:14:07,722.722 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:14:07,742.742 INFO    ] time= 20/10/2026 03:14:07
[2026-10-20 03:14:07,772.772 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:14:07,782.782 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:14:07,920.920 INFO    ] No existing commands found in stream
[2026-10-20 03:14:12,951.951 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:14:12,954.954 INFO    ] Waiting 2.16 seconds before fallback handling...
[2026-10-20 03:14:15,671.671 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:14:15,674.674 INFO    ] Checking for system updates...
[2026-10-20 03:14:15,711.711 INFO    ] 200
[2026-10-20 03:14:15,714.714 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:14:15,769.769 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:14:15,772.772 INFO    ] No update needed
[2026-10-20 03:14:15,775.775 INFO    ] Checking for camera pi updates...
[2026-10-20 03:14:15,824.824 INFO    ] 200
[2026-10-20 03:14:15,827.827 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:14:15,876.876 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:14:15,914.914 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:14:15,917.917 INFO    ] No camera update needed
[2026-10-20 03:14:15,919.919 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:14:15,922.922 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:14:15,927.927 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:14:15,932.932 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:14:17,972.972 INFO    ] ================================================
[2026-10-20 03:14:17,987.987 INFO    ] Launching Daemon at Tue Oct 20 03:14:17 IST 2026
[2026-10-20 03:14:18,998.998 INFO    ] ================================================
[2026-10-20 03:14:18,584.584 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:14:18
[2026-10-20 03:14:19,190.190 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:14:19,467.467 INFO    ] Initializing speech engine...
[2026-10-20 03:14:19,477.477 INFO    ] 2026-10-20 03:14:19
[2026-10-20 03:14:19,738.738 INFO    ] 2026-10-20 03:14:19
[2026-10-20 03:14:19,769.769 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:14:20,040.040 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:14:20,048.048 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:14:20,274.274 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:14:20,287.287 INFO    ] time= 20/10/2026 03:14:20
[2026-10-20 03:14:20,304.304 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:14:20,313.313 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:14:20,440.440 INFO    ] No existing commands found in stream
[2026-10-20 03:14:25,451.451 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:14:25,454.454 INFO    ] Waiting 3.67 seconds before fallback handling...
[2026-10-20 03:14:29,621.621 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:14:29,623.623 INFO    ] Checking for system updates...
[2026-10-20 03:14:29,659.659 INFO    ] 200
[2026-10-20 03:14:29,661.661 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:14:29,713.713 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:14:29,715.715 INFO    ] No update needed
[2026-10-20 03:14:29,717.717 INFO    ] Checking for camera pi updates...
[2026-10-20 03:14:29,754.754 INFO    ] 200
[2026-10-20 03:14:29,757.757 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:14:29,798.798 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:14:29,842.842 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:14:29,845.845 INFO    ] No camera update needed
[2026-10-20 03:14:29,847.847 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:14:29,850.850 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:14:29,855.855 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:14:29,860.860 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:14:31,903.903 INFO    ] ================================================
[2026-10-20 03:14:31,920.920 INFO    ] Launching Daemon at Tue Oct 20 03:14:31 IST 2026
[2026-10-20 03:14:31,931.931 INFO    ] ================================================
[2026-10-20 03:14:32,629.629 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:14:32
[2026-10-20 03:14:33,329.329 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:14:33,617.617 INFO    ] Initializing speech engine...
[2026-10-20 03:14:33,636.636 INFO    ] 2026-10-20 03:14:33
[2026-10-20 03:14:33,891.891 INFO    ] 2026-10-20 03:14:33
[2026-10-20 03:14:33,926.926 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:14:34,183.183 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:14:34,192.192 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:14:34,420.420 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:14:34,456.456 INFO    ] time= 20/10/2026 03:14:34
[2026-10-20 03:14:34,462.462 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:14:34,480.480 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:14:34,593.593 INFO    ] No existing commands found in stream
[2026-10-20 03:14:39,621.621 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:14:39,624.624 INFO    ] Waiting 2.11 seconds before fallback handling...
[2026-10-20 03:14:42,295.295 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:14:42,298.298 INFO    ] Checking for system updates...
[2026-10-20 03:14:42,334.334 INFO    ] 200
[2026-10-20 03:14:42,337.337 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:14:42,398.398 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:14:42,401.401 INFO    ] No update needed
[2026-10-20 03:14:42,404.404 INFO    ] Checking for camera pi updates...
[2026-10-20 03:14:42,443.443 INFO    ] 200
[2026-10-20 03:14:42,446.446 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:14:42,486.486 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:14:42,534.534 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:14:42,536.536 INFO    ] No camera update needed
[2026-10-20 03:14:42,539.539 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:14:42,541.541 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:14:42,547.547 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:14:42,552.552 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:14:44,592.592 INFO    ] ================================================
[2026-10-20 03:14:44,607.607 INFO    ] Launching Daemon at Tue Oct 20 03:14:44 IST 2026
[2026-10-20 03:14:44,619.619 INFO    ] ================================================
[2026-10-20 03:14:45,271.271 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:14:45
[2026-10-20 03:14:45,939.939 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:14:46,238.238 INFO    ] Initializing speech engine...
[2026-10-20 03:14:46,248.248 INFO    ] 2026-10-20 03:14:46
[2026-10-20 03:14:46,532.532 INFO    ] 2026-10-20 03:14:46
[2026-10-20 03:14:46,578.578 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:14:46,864.864 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:14:46,872.872 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:14:47,066.066 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:14:47,085.085 INFO    ] time= 20/10/2026 03:14:47
[2026-10-20 03:14:47,116.116 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:14:47,126.126 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:14:47,263.263 INFO    ] No existing commands found in stream
[2026-10-20 03:14:52,299.299 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:14:52,303.303 INFO    ] Waiting 2.79 seconds before fallback handling...
[2026-10-20 03:14:56,752.752 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 03:14:56,755.755 INFO    ] Checking for system updates...
[2026-10-20 03:14:56,792.792 INFO    ] 200
[2026-10-20 03:14:56,795.795 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:14:56,848.848 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:14:56,851.851 INFO    ] No update needed
[2026-10-20 03:14:56,854.854 INFO    ] Checking for camera pi updates...
[2026-10-20 03:14:56,887.887 INFO    ] 200
[2026-10-20 03:14:56,890.890 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:14:56,936.936 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:14:56,982.982 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:14:56,985.985 INFO    ] No camera update needed
[2026-10-20 03:14:56,988.988 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:14:56,990.990 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:14:56,996.996 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:14:57,002.002 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:14:59,042.042 INFO    ] ================================================
[2026-10-20 03:14:59,058.058 INFO    ] Launching Daemon at Tue Oct 20 03:14:59 IST 2026
[2026-10-20 03:14:59,068.068 INFO    ] ================================================
[2026-10-20 03:14:59,723.723 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:14:59
[2026-10-20 03:15:00,399.399 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:15:00,705.705 INFO    ] Initializing speech engine...
[2026-10-20 03:15:00,718.718 INFO    ] 2026-10-20 03:15:00
[2026-10-20 03:15:01,026.026 INFO    ] 2026-10-20 03:15:00
[2026-10-20 03:15:01,115.115 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:15:01,392.392 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:15:01,409.409 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:15:01,610.610 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:15:01,645.645 INFO    ] time= 20/10/2026 03:15:01
[2026-10-20 03:15:01,655.655 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:15:01,692.692 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:15:01,793.793 INFO    ] No existing commands found in stream
[2026-10-20 03:15:06,803.803 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:15:06,806.806 INFO    ] Waiting 1.00 seconds before fallback handling...
[2026-10-20 03:15:08,362.362 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 03:15:08,365.365 INFO    ] Checking for system updates...
[2026-10-20 03:15:08,400.400 INFO    ] 200
[2026-10-20 03:15:08,403.403 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:15:08,454.454 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:15:08,456.456 INFO    ] No update needed
[2026-10-20 03:15:08,459.459 INFO    ] Checking for camera pi updates...
[2026-10-20 03:15:08,492.492 INFO    ] 200
[2026-10-20 03:15:08,495.495 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:15:08,535.535 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:15:08,571.571 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:15:08,573.573 INFO    ] No camera update needed
[2026-10-20 03:15:08,576.576 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:15:08,578.578 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:15:08,583.583 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:15:08,588.588 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:15:10,629.629 INFO    ] ================================================
[2026-10-20 03:15:10,645.645 INFO    ] Launching Daemon at Tue Oct 20 03:15:10 IST 2026
[2026-10-20 03:15:10,656.656 INFO    ] ================================================
[2026-10-20 03:15:11,275.275 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:15:11
[2026-10-20 03:15:11,912.912 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:15:12,209.209 INFO    ] Initializing speech engine...
[2026-10-20 03:15:12,217.217 INFO    ] 2026-10-20 03:15:12
[2026-10-20 03:15:12,496.496 INFO    ] 2026-10-20 03:15:12
[2026-10-20 03:15:12,542.542 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:15:12,825.825 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:15:12,832.832 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:15:13,039.039 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:15:13,048.048 INFO    ] time= 20/10/2026 03:15:13
[2026-10-20 03:15:13,075.075 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:15:13,084.084 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:15:13,203.203 INFO    ] No existing commands found in stream
[2026-10-20 03:15:18,233.233 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:15:18,236.236 INFO    ] Waiting 3.88 seconds before fallback handling...
[2026-10-20 03:15:22,672.672 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 03:15:22,675.675 INFO    ] Checking for system updates...
[2026-10-20 03:15:22,711.711 INFO    ] 200
[2026-10-20 03:15:22,714.714 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:15:22,772.772 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:15:22,775.775 INFO    ] No update needed
[2026-10-20 03:15:22,777.777 INFO    ] Checking for camera pi updates...
[2026-10-20 03:15:22,811.811 INFO    ] 200
[2026-10-20 03:15:22,814.814 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:15:22,854.854 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:15:23,004.004 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:15:23,007.007 INFO    ] No camera update needed
[2026-10-20 03:15:23,010.010 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:15:23,013.013 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:15:23,018.018 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:15:23,024.024 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:15:25,064.064 INFO    ] ================================================
[2026-10-20 03:15:25,079.079 INFO    ] Launching Daemon at Tue Oct 20 03:15:25 IST 2026
[2026-10-20 03:15:25,090.090 INFO    ] ================================================
[2026-10-20 03:15:25,662.662 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:15:25
[2026-10-20 03:15:26,247.247 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:15:26,524.524 INFO    ] Initializing speech engine...
[2026-10-20 03:15:26,531.531 INFO    ] 2026-10-20 03:15:26
[2026-10-20 03:15:26,779.779 INFO    ] 2026-10-20 03:15:26
[2026-10-20 03:15:26,814.814 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:15:27,015.015 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:15:27,074.074 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:15:27,295.295 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:15:27,347.347 INFO    ] time= 20/10/2026 03:15:27
[2026-10-20 03:15:27,354.354 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:15:27,372.372 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:15:27,505.505 INFO    ] No existing commands found in stream
[2026-10-20 03:15:32,518.518 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:15:32,521.521 INFO    ] Waiting 0.77 seconds before fallback handling...
[2026-10-20 03:15:33,824.824 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 03:15:33,826.826 INFO    ] Checking for system updates...
[2026-10-20 03:15:33,861.861 INFO    ] 200
[2026-10-20 03:15:33,864.864 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:15:33,923.923 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:15:33,925.925 INFO    ] No update needed
[2026-10-20 03:15:33,928.928 INFO    ] Checking for camera pi updates...
[2026-10-20 03:15:33,972.972 INFO    ] 200
[2026-10-20 03:15:33,975.975 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:15:34,015.015 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:15:34,059.059 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:15:34,062.062 INFO    ] No camera update needed
[2026-10-20 03:15:34,064.064 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:15:34,066.066 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:15:34,072.072 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:15:34,077.077 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:15:36,117.117 INFO    ] ================================================
[2026-10-20 03:15:36,133.133 INFO    ] Launching Daemon at Tue Oct 20 03:15:36 IST 2026
[2026-10-20 03:15:36,144.144 INFO    ] ================================================
[2026-10-20 03:15:36,797.797 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:15:36
[2026-10-20 03:15:37,468.468 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:15:37,777.777 INFO    ] Initializing speech engine...
[2026-10-20 03:15:37,789.789 INFO    ] 2026-10-20 03:15:37
[2026-10-20 03:15:38,067.067 INFO    ] 2026-10-20 03:15:38
[2026-10-20 03:15:38,113.113 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:15:38,341.341 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:15:38,362.362 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:15:38,601.601 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:15:38,619.619 INFO    ] time= 20/10/2026 03:15:38
[2026-10-20 03:15:38,629.629 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:15:38,655.655 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:15:38,766.766 INFO    ] No existing commands found in stream
[2026-10-20 03:15:43,792.792 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:15:43,795.795 INFO    ] Waiting 0.24 seconds before fallback handling...
[2026-10-20 03:15:44,586.586 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:15:44,589.589 INFO    ] Checking for system updates...
[2026-10-20 03:15:44,630.630 INFO    ] 200
[2026-10-20 03:15:44,633.633 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:15:44,692.692 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:15:44,695.695 INFO    ] No update needed
[2026-10-20 03:15:44,697.697 INFO    ] Checking for camera pi updates...
[2026-10-20 03:15:44,731.731 INFO    ] 200
[2026-10-20 03:15:44,733.733 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:15:44,777.777 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:15:44,814.814 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:15:44,817.817 INFO    ] No camera update needed
[2026-10-20 03:15:44,819.819 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:15:44,822.822 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:15:44,827.827 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:15:44,832.832 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:15:46,873.873 INFO    ] ================================================
[2026-10-20 03:15:46,889.889 INFO    ] Launching Daemon at Tue Oct 20 03:15:46 IST 2026
[2026-10-20 03:15:46,900.900 INFO    ] ================================================
[2026-10-20 03:15:47,482.482 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:15:47
[2026-10-20 03:15:48,084.084 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:15:48,359.359 INFO    ] Initializing speech engine...
[2026-10-20 03:15:48,369.369 INFO    ] 2026-10-20 03:15:48
[2026-10-20 03:15:48,633.633 INFO    ] 2026-10-20 03:15:48
[2026-10-20 03:15:48,686.686 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:15:48,974.974 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:15:48,978.978 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:15:49,171.171 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:15:49,211.211 INFO    ] time= 20/10/2026 03:15:49
[2026-10-20 03:15:49,228.228 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:15:49,235.235 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:15:49,356.356 INFO    ] No existing commands found in stream
[2026-10-20 03:15:54,386.386 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:15:54,389.389 INFO    ] Waiting 3.07 seconds before fallback handling...
[2026-10-20 03:15:58,053.053 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:15:58,056.056 INFO    ] Checking for system updates...
[2026-10-20 03:15:58,091.091 INFO    ] 200
[2026-10-20 03:15:58,093.093 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:15:58,145.145 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:15:58,148.148 INFO    ] No update needed
[2026-10-20 03:15:58,150.150 INFO    ] Checking for camera pi updates...
[2026-10-20 03:15:58,184.184 INFO    ] 200
[2026-10-20 03:15:58,186.186 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:15:58,227.227 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:15:58,272.272 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:15:58,274.274 INFO    ] No camera update needed
[2026-10-20 03:15:58,276.276 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:15:58,279.279 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:15:58,284.284 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:15:58,289.289 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:16:00,331.331 INFO    ] ================================================
[2026-10-20 03:16:00,347.347 INFO    ] Launching Daemon at Tue Oct 20 03:16:00 IST 2026
[2026-10-20 03:16:00,357.357 INFO    ] ================================================
[2026-10-20 03:16:00,925.925 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:16:00
[2026-10-20 03:16:01,672.672 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:16:02,007.007 INFO    ] Initializing speech engine...
[2026-10-20 03:16:02,023.023 INFO    ] 2026-10-20 03:16:02
[2026-10-20 03:16:02,349.349 INFO    ] 2026-10-20 03:16:02
[2026-10-20 03:16:02,439.439 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:16:02,654.654 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:16:02,689.689 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:16:02,913.913 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:16:02,920.920 INFO    ] time= 20/10/2026 03:16:02
[2026-10-20 03:16:02,950.950 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:16:02,983.983 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:16:03,120.120 INFO    ] No existing commands found in stream
[2026-10-20 03:16:08,150.150 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:16:08,153.153 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-10-20 03:16:11,826.826 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:16:11,829.829 INFO    ] Checking for system updates...
[2026-10-20 03:16:11,869.869 INFO    ] 200
[2026-10-20 03:16:11,871.871 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:16:11,930.930 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:16:11,932.932 INFO    ] No update needed
[2026-10-20 03:16:11,935.935 INFO    ] Checking for camera pi updates...
[2026-10-20 03:16:11,968.968 INFO    ] 200
[2026-10-20 03:16:11,971.971 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:16:12,011.011 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:16:12,063.063 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:16:12,065.065 INFO    ] No camera update needed
[2026-10-20 03:16:12,067.067 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:16:12,070.070 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:16:12,075.075 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:16:12,080.080 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:16:14,119.119 INFO    ] ================================================
[2026-10-20 03:16:14,136.136 INFO    ] Launching Daemon at Tue Oct 20 03:16:14 IST 2026
[2026-10-20 03:16:14,147.147 INFO    ] ================================================
[2026-10-20 03:16:14,731.731 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:16:14
[2026-10-20 03:16:15,326.326 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:16:15,598.598 INFO    ] Initializing speech engine...
[2026-10-20 03:16:15,607.607 INFO    ] 2026-10-20 03:16:15
[2026-10-20 03:16:15,867.867 INFO    ] 2026-10-20 03:16:15
[2026-10-20 03:16:15,897.897 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:16:16,171.171 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:16:16,176.176 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:16:16,392.392 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:16:16,419.419 INFO    ] time= 20/10/2026 03:16:16
[2026-10-20 03:16:16,469.469 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:16:16,488.488 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:16:16,632.632 INFO    ] No existing commands found in stream
[2026-10-20 03:16:21,657.657 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:16:21,660.660 INFO    ] Waiting 2.39 seconds before fallback handling...
[2026-10-20 03:16:24,613.613 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:16:24,616.616 INFO    ] Checking for system updates...
[2026-10-20 03:16:24,652.652 INFO    ] 200
[2026-10-20 03:16:24,654.654 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:16:24,706.706 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:16:24,708.708 INFO    ] No update needed
[2026-10-20 03:16:24,711.711 INFO    ] Checking for camera pi updates...
[2026-10-20 03:16:24,744.744 INFO    ] 200
[2026-10-20 03:16:24,746.746 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:16:24,787.787 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:16:24,824.824 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:16:24,827.827 INFO    ] No camera update needed
[2026-10-20 03:16:24,829.829 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:16:24,832.832 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:16:24,837.837 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:16:24,842.842 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:16:26,883.883 INFO    ] ================================================
[2026-10-20 03:16:26,904.904 INFO    ] Launching Daemon at Tue Oct 20 03:16:26 IST 2026
[2026-10-20 03:16:26,915.915 INFO    ] ================================================
[2026-10-20 03:16:27,515.515 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:16:27
[2026-10-20 03:16:28,115.115 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:16:28,373.373 INFO    ] Initializing speech engine...
[2026-10-20 03:16:28,382.382 INFO    ] 2026-10-20 03:16:28
[2026-10-20 03:16:28,690.690 INFO    ] 2026-10-20 03:16:28
[2026-10-20 03:16:28,734.734 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:16:28,949.949 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:16:28,964.964 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:16:29,134.134 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:16:29,143.143 INFO    ] time= 20/10/2026 03:16:29
[2026-10-20 03:16:29,205.205 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:16:29,224.224 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:16:29,314.314 INFO    ] No existing commands found in stream
[2026-10-20 03:16:34,324.324 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:16:34,326.326 INFO    ] Waiting 3.61 seconds before fallback handling...
[2026-10-20 03:16:38,436.436 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 03:16:38,439.439 INFO    ] Checking for system updates...
[2026-10-20 03:16:38,474.474 INFO    ] 200
[2026-10-20 03:16:38,477.477 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:16:38,533.533 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:16:38,535.535 INFO    ] No update needed
[2026-10-20 03:16:38,538.538 INFO    ] Checking for camera pi updates...
[2026-10-20 03:16:38,571.571 INFO    ] 200
[2026-10-20 03:16:38,573.573 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:16:38,619.619 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:16:38,647.647 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:16:38,650.650 INFO    ] No camera update needed
[2026-10-20 03:16:38,652.652 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:16:38,654.654 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:16:38,660.660 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:16:38,665.665 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:16:40,704.704 INFO    ] ================================================
[2026-10-20 03:16:40,720.720 INFO    ] Launching Daemon at Tue Oct 20 03:16:40 IST 2026
[2026-10-20 03:16:40,731.731 INFO    ] ================================================
[2026-10-20 03:16:41,410.410 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:16:41
[2026-10-20 03:16:42,008.008 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:16:42,315.315 INFO    ] Initializing speech engine...
[2026-10-20 03:16:42,326.326 INFO    ] 2026-10-20 03:16:42
[2026-10-20 03:16:42,620.620 INFO    ] 2026-10-20 03:16:42
[2026-10-20 03:16:42,732.732 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:16:42,895.895 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:16:42,917.917 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:16:43,135.135 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:16:43,167.167 INFO    ] time= 20/10/2026 03:16:43
[2026-10-20 03:16:43,187.187 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:16:43,209.209 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:16:43,337.337 INFO    ] No existing commands found in stream
[2026-10-20 03:16:48,368.368 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:16:48,371.371 INFO    ] Waiting 2.77 seconds before fallback handling...
[2026-10-20 03:16:51,671.671 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:16:51,674.674 INFO    ] Checking for system updates...
[2026-10-20 03:16:51,715.715 INFO    ] 200
[2026-10-20 03:16:51,718.718 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:16:51,770.770 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:16:51,773.773 INFO    ] No update needed
[2026-10-20 03:16:51,775.775 INFO    ] Checking for camera pi updates...
[2026-10-20 03:16:51,812.812 INFO    ] 200
[2026-10-20 03:16:51,814.814 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:16:51,860.860 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:16:51,901.901 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:16:51,903.903 INFO    ] No camera update needed
[2026-10-20 03:16:51,906.906 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:16:51,908.908 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:16:51,913.913 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:16:51,919.919 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:16:53,958.958 INFO    ] ================================================
[2026-10-20 03:16:53,973.973 INFO    ] Launching Daemon at Tue Oct 20 03:16:53 IST 2026
[2026-10-20 03:16:53,984.984 INFO    ] ================================================
[2026-10-20 03:16:54,551.551 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:16:54
[2026-10-20 03:16:55,134.134 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:16:55,406.406 INFO    ] Initializing speech engine...
[2026-10-20 03:16:55,415.415 INFO    ] 2026-10-20 03:16:55
[2026-10-20 03:16:55,661.661 INFO    ] 2026-10-20 03:16:55
[2026-10-20 03:16:55,697.697 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:16:55,959.959 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:16:55,967.967 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:16:56,165.165 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:16:56,219.219 INFO    ] time= 20/10/2026 03:16:56
[2026-10-20 03:16:56,235.235 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:16:56,253.253 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:16:56,382.382 INFO    ] No existing commands found in stream
[2026-10-20 03:17:01,396.396 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:17:01,401.401 INFO    ] Waiting 3.14 seconds before fallback handling...
[2026-10-20 03:17:05,067.067 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:17:05,070.070 INFO    ] Checking for system updates...
[2026-10-20 03:17:05,106.106 INFO    ] 200
[2026-10-20 03:17:05,108.108 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:17:05,165.165 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:17:05,168.168 INFO    ] No update needed
[2026-10-20 03:17:05,170.170 INFO    ] Checking for camera pi updates...
[2026-10-20 03:17:05,204.204 INFO    ] 200
[2026-10-20 03:17:05,207.207 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:17:05,250.250 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:17:05,297.297 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:17:05,300.300 INFO    ] No camera update needed
[2026-10-20 03:17:05,303.303 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:17:05,305.305 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:17:05,311.311 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:17:05,316.316 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:17:07,357.357 INFO    ] ================================================
[2026-10-20 03:17:07,373.373 INFO    ] Launching Daemon at Tue Oct 20 03:17:07 IST 2026
[2026-10-20 03:17:07,383.383 INFO    ] ================================================
[2026-10-20 03:17:07,956.956 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:17:07
[2026-10-20 03:17:08,536.536 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:17:08,796.796 INFO    ] Initializing speech engine...
[2026-10-20 03:17:08,815.815 INFO    ] 2026-10-20 03:17:08
[2026-10-20 03:17:09,064.064 INFO    ] 2026-10-20 03:17:09
[2026-10-20 03:17:09,104.104 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:17:09,362.362 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:17:09,379.379 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:17:09,600.600 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:17:09,620.620 INFO    ] time= 20/10/2026 03:17:09
[2026-10-20 03:17:09,635.635 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:17:09,644.644 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:17:09,772.772 INFO    ] No existing commands found in stream
[2026-10-20 03:17:14,791.791 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:17:14,794.794 INFO    ] Waiting 2.81 seconds before fallback handling...
[2026-10-20 03:17:20,483.483 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:17:20,486.486 INFO    ] Checking for system updates...
[2026-10-20 03:17:20,530.530 INFO    ] 200
[2026-10-20 03:17:20,533.533 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:17:20,590.590 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:17:20,593.593 INFO    ] No update needed
[2026-10-20 03:17:20,596.596 INFO    ] Checking for camera pi updates...
[2026-10-20 03:17:20,632.632 INFO    ] 200
[2026-10-20 03:17:20,635.635 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:17:20,675.675 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:17:20,717.717 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:17:20,719.719 INFO    ] No camera update needed
[2026-10-20 03:17:20,722.722 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:17:20,724.724 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:17:20,730.730 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:17:20,735.735 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:17:22,775.775 INFO    ] ================================================
[2026-10-20 03:17:22,790.790 INFO    ] Launching Daemon at Tue Oct 20 03:17:22 IST 2026
[2026-10-20 03:17:22,801.801 INFO    ] ================================================
[2026-10-20 03:17:23,422.422 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:17:23
[2026-10-20 03:17:24,062.062 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:17:24,354.354 INFO    ] Initializing speech engine...
[2026-10-20 03:17:24,362.362 INFO    ] 2026-10-20 03:17:24
[2026-10-20 03:17:24,634.634 INFO    ] 2026-10-20 03:17:24
[2026-10-20 03:17:24,664.664 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:17:24,933.933 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:17:24,941.941 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:17:25,145.145 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:17:25,175.175 INFO    ] time= 20/10/2026 03:17:25
[2026-10-20 03:17:25,181.181 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:17:25,198.198 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:17:25,324.324 INFO    ] No existing commands found in stream
[2026-10-20 03:17:30,340.340 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:17:30,343.343 INFO    ] Waiting 2.82 seconds before fallback handling...
[2026-10-20 03:17:33,690.690 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:17:33,692.692 INFO    ] Checking for system updates...
[2026-10-20 03:17:33,730.730 INFO    ] 200
[2026-10-20 03:17:33,732.732 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:17:33,785.785 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:17:33,787.787 INFO    ] No update needed
[2026-10-20 03:17:33,789.789 INFO    ] Checking for camera pi updates...
[2026-10-20 03:17:33,823.823 INFO    ] 200
[2026-10-20 03:17:33,826.826 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:17:33,871.871 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:17:33,925.925 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:17:33,927.927 INFO    ] No camera update needed
[2026-10-20 03:17:33,930.930 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:17:33,932.932 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:17:33,937.937 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:17:33,942.942 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:17:35,983.983 INFO    ] ================================================
[2026-10-20 03:17:36,998.998 INFO    ] Launching Daemon at Tue Oct 20 03:17:35 IST 2026
[2026-10-20 03:17:36,009.009 INFO    ] ================================================
[2026-10-20 03:17:36,641.641 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:17:36
[2026-10-20 03:17:37,283.283 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:17:37,578.578 INFO    ] Initializing speech engine...
[2026-10-20 03:17:37,586.586 INFO    ] 2026-10-20 03:17:37
[2026-10-20 03:17:37,870.870 INFO    ] 2026-10-20 03:17:37
[2026-10-20 03:17:37,915.915 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:17:38,197.197 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:17:38,205.205 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:17:38,382.382 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:17:38,409.409 INFO    ] time= 20/10/2026 03:17:38
[2026-10-20 03:17:38,428.428 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:17:38,445.445 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:17:38,562.562 INFO    ] No existing commands found in stream
[2026-10-20 03:17:43,576.576 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:17:43,579.579 INFO    ] Waiting 0.33 seconds before fallback handling...
[2026-10-20 03:17:44,488.488 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:17:44,491.491 INFO    ] Checking for system updates...
[2026-10-20 03:17:44,529.529 INFO    ] 200
[2026-10-20 03:17:44,532.532 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:17:44,585.585 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:17:44,588.588 INFO    ] No update needed
[2026-10-20 03:17:44,591.591 INFO    ] Checking for camera pi updates...
[2026-10-20 03:17:44,629.629 INFO    ] 200
[2026-10-20 03:17:44,633.633 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:17:44,697.697 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:17:44,748.748 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:17:44,751.751 INFO    ] No camera update needed
[2026-10-20 03:17:44,754.754 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:17:44,756.756 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:17:44,762.762 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:17:44,769.769 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:17:46,812.812 INFO    ] ================================================
[2026-10-20 03:17:46,827.827 INFO    ] Launching Daemon at Tue Oct 20 03:17:46 IST 2026
[2026-10-20 03:17:46,838.838 INFO    ] ================================================
[2026-10-20 03:17:47,468.468 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:17:47
[2026-10-20 03:17:48,117.117 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:17:48,411.411 INFO    ] Initializing speech engine...
[2026-10-20 03:17:48,418.418 INFO    ] 2026-10-20 03:17:48
[2026-10-20 03:17:48,692.692 INFO    ] 2026-10-20 03:17:48
[2026-10-20 03:17:48,749.749 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:17:48,998.998 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:17:49,004.004 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:17:49,233.233 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:17:49,251.251 INFO    ] time= 20/10/2026 03:17:49
[2026-10-20 03:17:49,258.258 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:17:49,289.289 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:17:49,392.392 INFO    ] No existing commands found in stream
[2026-10-20 03:17:54,414.414 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:17:54,417.417 INFO    ] Waiting 1.18 seconds before fallback handling...
[2026-10-20 03:17:56,221.221 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:17:56,224.224 INFO    ] Checking for system updates...
[2026-10-20 03:17:56,263.263 INFO    ] 200
[2026-10-20 03:17:56,266.266 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:17:56,320.320 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:17:56,322.322 INFO    ] No update needed
[2026-10-20 03:17:56,325.325 INFO    ] Checking for camera pi updates...
[2026-10-20 03:17:56,362.362 INFO    ] 200
[2026-10-20 03:17:56,365.365 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:17:56,409.409 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:17:56,451.451 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:17:56,454.454 INFO    ] No camera update needed
[2026-10-20 03:17:56,456.456 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:17:56,459.459 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:17:56,465.465 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:17:56,471.471 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:17:58,512.512 INFO    ] ================================================
[2026-10-20 03:17:58,527.527 INFO    ] Launching Daemon at Tue Oct 20 03:17:58 IST 2026
[2026-10-20 03:17:58,538.538 INFO    ] ================================================
[2026-10-20 03:17:59,173.173 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:17:59
[2026-10-20 03:17:59,825.825 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:18:00,072.072 INFO    ] Initializing speech engine...
[2026-10-20 03:18:00,087.087 INFO    ] 2026-10-20 03:18:00
[2026-10-20 03:18:00,352.352 INFO    ] 2026-10-20 03:18:00
[2026-10-20 03:18:00,386.386 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:18:00,644.644 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:18:00,653.653 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:18:00,881.881 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:18:00,917.917 INFO    ] time= 20/10/2026 03:18:00
[2026-10-20 03:18:00,923.923 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:18:00,940.940 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:18:01,074.074 INFO    ] No existing commands found in stream
[2026-10-20 03:18:06,088.088 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:18:06,091.091 INFO    ] Waiting 1.87 seconds before fallback handling...
[2026-10-20 03:18:08,525.525 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:18:08,527.527 INFO    ] Checking for system updates...
[2026-10-20 03:18:08,563.563 INFO    ] 200
[2026-10-20 03:18:08,565.565 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:18:08,616.616 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:18:08,619.619 INFO    ] No update needed
[2026-10-20 03:18:08,621.621 INFO    ] Checking for camera pi updates...
[2026-10-20 03:18:08,655.655 INFO    ] 200
[2026-10-20 03:18:08,658.658 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:18:08,698.698 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:18:08,743.743 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:18:08,745.745 INFO    ] No camera update needed
[2026-10-20 03:18:08,747.747 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:18:08,750.750 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:18:08,755.755 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:18:08,760.760 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:18:10,802.802 INFO    ] ================================================
[2026-10-20 03:18:10,818.818 INFO    ] Launching Daemon at Tue Oct 20 03:18:10 IST 2026
[2026-10-20 03:18:10,829.829 INFO    ] ================================================
[2026-10-20 03:18:11,472.472 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:18:11
[2026-10-20 03:18:12,138.138 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:18:12,441.441 INFO    ] Initializing speech engine...
[2026-10-20 03:18:12,456.456 INFO    ] 2026-10-20 03:18:12
[2026-10-20 03:18:12,737.737 INFO    ] 2026-10-20 03:18:12
[2026-10-20 03:18:12,782.782 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:18:13,015.015 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:18:13,021.021 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:18:13,262.262 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:18:13,290.290 INFO    ] time= 20/10/2026 03:18:13
[2026-10-20 03:18:13,306.306 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:18:13,315.315 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:18:13,447.447 INFO    ] No existing commands found in stream
[2026-10-20 03:18:18,463.463 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:18:18,466.466 INFO    ] Waiting 1.53 seconds before fallback handling...
[2026-10-20 03:18:20,602.602 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:18:20,605.605 INFO    ] Checking for system updates...
[2026-10-20 03:18:20,641.641 INFO    ] 200
[2026-10-20 03:18:20,644.644 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:18:20,705.705 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:18:20,708.708 INFO    ] No update needed
[2026-10-20 03:18:20,710.710 INFO    ] Checking for camera pi updates...
[2026-10-20 03:18:20,748.748 INFO    ] 200
[2026-10-20 03:18:20,750.750 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:18:20,796.796 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:18:20,843.843 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:18:20,846.846 INFO    ] No camera update needed
[2026-10-20 03:18:20,848.848 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:18:20,850.850 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:18:20,856.856 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:18:20,861.861 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:18:22,900.900 INFO    ] ================================================
[2026-10-20 03:18:22,915.915 INFO    ] Launching Daemon at Tue Oct 20 03:18:22 IST 2026
[2026-10-20 03:18:22,926.926 INFO    ] ================================================
[2026-10-20 03:18:23,492.492 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:18:23
[2026-10-20 03:18:24,079.079 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:18:24,350.350 INFO    ] Initializing speech engine...
[2026-10-20 03:18:24,358.358 INFO    ] 2026-10-20 03:18:24
[2026-10-20 03:18:24,610.610 INFO    ] 2026-10-20 03:18:24
[2026-10-20 03:18:24,645.645 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:18:24,848.848 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:18:24,909.909 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:18:25,137.137 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:18:25,180.180 INFO    ] time= 20/10/2026 03:18:25
[2026-10-20 03:18:25,186.186 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:18:25,208.208 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:18:25,335.335 INFO    ] No existing commands found in stream
[2026-10-20 03:18:30,351.351 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:18:30,353.353 INFO    ] Waiting 2.94 seconds before fallback handling...
[2026-10-20 03:18:33,842.842 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:18:33,844.844 INFO    ] Checking for system updates...
[2026-10-20 03:18:33,881.881 INFO    ] 200
[2026-10-20 03:18:33,884.884 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:18:33,935.935 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:18:33,937.937 INFO    ] No update needed
[2026-10-20 03:18:33,940.940 INFO    ] Checking for camera pi updates...
[2026-10-20 03:18:33,973.973 INFO    ] 200
[2026-10-20 03:18:33,975.975 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:18:34,018.018 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:18:34,062.062 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:18:34,065.065 INFO    ] No camera update needed
[2026-10-20 03:18:34,068.068 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:18:34,070.070 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:18:34,076.076 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:18:34,082.082 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:18:36,123.123 INFO    ] ================================================
[2026-10-20 03:18:36,137.137 INFO    ] Launching Daemon at Tue Oct 20 03:18:36 IST 2026
[2026-10-20 03:18:36,148.148 INFO    ] ================================================
[2026-10-20 03:18:36,786.786 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:18:36
[2026-10-20 03:18:37,435.435 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:18:37,728.728 INFO    ] Initializing speech engine...
[2026-10-20 03:18:37,736.736 INFO    ] 2026-10-20 03:18:37
[2026-10-20 03:18:38,008.008 INFO    ] 2026-10-20 03:18:38
[2026-10-20 03:18:38,062.062 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:18:38,349.349 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:18:38,359.359 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:18:38,568.568 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:18:38,596.596 INFO    ] time= 20/10/2026 03:18:38
[2026-10-20 03:18:38,606.606 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:18:38,613.613 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:18:38,783.783 INFO    ] No existing commands found in stream
[2026-10-20 03:18:43,816.816 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:18:43,819.819 INFO    ] Waiting 2.16 seconds before fallback handling...
[2026-10-20 03:18:46,548.548 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:18:46,551.551 INFO    ] Checking for system updates...
[2026-10-20 03:18:46,587.587 INFO    ] 200
[2026-10-20 03:18:46,589.589 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:18:46,643.643 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:18:46,645.645 INFO    ] No update needed
[2026-10-20 03:18:46,647.647 INFO    ] Checking for camera pi updates...
[2026-10-20 03:18:46,680.680 INFO    ] 200
[2026-10-20 03:18:46,683.683 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:18:46,729.729 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:18:46,767.767 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:18:46,770.770 INFO    ] No camera update needed
[2026-10-20 03:18:46,773.773 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:18:46,777.777 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:18:46,784.784 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:18:46,790.790 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:18:48,836.836 INFO    ] ================================================
[2026-10-20 03:18:48,850.850 INFO    ] Launching Daemon at Tue Oct 20 03:18:48 IST 2026
[2026-10-20 03:18:48,861.861 INFO    ] ================================================
[2026-10-20 03:18:49,426.426 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:18:49
[2026-10-20 03:18:50,016.016 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:18:50,285.285 INFO    ] Initializing speech engine...
[2026-10-20 03:18:50,294.294 INFO    ] 2026-10-20 03:18:50
[2026-10-20 03:18:50,545.545 INFO    ] 2026-10-20 03:18:50
[2026-10-20 03:18:50,577.577 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:18:50,841.841 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:18:50,847.847 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:18:51,084.084 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:18:51,110.110 INFO    ] time= 20/10/2026 03:18:51
[2026-10-20 03:18:51,116.116 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:18:51,137.137 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:18:51,270.270 INFO    ] No existing commands found in stream
[2026-10-20 03:18:56,284.284 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:18:56,287.287 INFO    ] Waiting 0.74 seconds before fallback handling...
[2026-10-20 03:18:57,568.568 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 03:18:57,571.571 INFO    ] Checking for system updates...
[2026-10-20 03:18:57,606.606 INFO    ] 200
[2026-10-20 03:18:57,608.608 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:18:57,660.660 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:18:57,663.663 INFO    ] No update needed
[2026-10-20 03:18:57,665.665 INFO    ] Checking for camera pi updates...
[2026-10-20 03:18:57,701.701 INFO    ] 200
[2026-10-20 03:18:57,703.703 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:18:57,745.745 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:18:57,795.795 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:18:57,797.797 INFO    ] No camera update needed
[2026-10-20 03:18:57,800.800 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:18:57,802.802 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:18:57,807.807 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:18:57,812.812 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:18:59,852.852 INFO    ] ================================================
[2026-10-20 03:18:59,867.867 INFO    ] Launching Daemon at Tue Oct 20 03:18:59 IST 2026
[2026-10-20 03:18:59,878.878 INFO    ] ================================================
[2026-10-20 03:19:00,447.447 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:19:00
[2026-10-20 03:19:01,038.038 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:19:01,300.300 INFO    ] Initializing speech engine...
[2026-10-20 03:19:01,319.319 INFO    ] 2026-10-20 03:19:01
[2026-10-20 03:19:01,565.565 INFO    ] 2026-10-20 03:19:01
[2026-10-20 03:19:01,605.605 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:19:01,775.775 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:19:01,791.791 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:19:01,954.954 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:19:01,960.960 INFO    ] time= 20/10/2026 03:19:01
[2026-10-20 03:19:01,963.963 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:19:01,967.967 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:19:02,092.092 INFO    ] No existing commands found in stream
[2026-10-20 03:19:07,108.108 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:19:07,111.111 INFO    ] Waiting 3.46 seconds before fallback handling...
[2026-10-20 03:19:11,114.114 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:19:11,117.117 INFO    ] Checking for system updates...
[2026-10-20 03:19:11,160.160 INFO    ] 200
[2026-10-20 03:19:11,163.163 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:19:11,223.223 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:19:11,226.226 INFO    ] No update needed
[2026-10-20 03:19:11,228.228 INFO    ] Checking for camera pi updates...
[2026-10-20 03:19:11,262.262 INFO    ] 200
[2026-10-20 03:19:11,265.265 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:19:11,312.312 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:19:11,358.358 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:19:11,361.361 INFO    ] No camera update needed
[2026-10-20 03:19:11,364.364 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:19:11,366.366 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:19:11,372.372 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:19:11,378.378 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:19:13,419.419 INFO    ] ================================================
[2026-10-20 03:19:13,433.433 INFO    ] Launching Daemon at Tue Oct 20 03:19:13 IST 2026
[2026-10-20 03:19:13,444.444 INFO    ] ================================================
[2026-10-20 03:19:14,013.013 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:19:14
[2026-10-20 03:19:14,599.599 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:19:14,858.858 INFO    ] Initializing speech engine...
[2026-10-20 03:19:14,872.872 INFO    ] 2026-10-20 03:19:14
[2026-10-20 03:19:15,157.157 INFO    ] 2026-10-20 03:19:15
[2026-10-20 03:19:15,191.191 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:19:15,418.418 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:19:15,427.427 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:19:15,647.647 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:19:15,653.653 INFO    ] time= 20/10/2026 03:19:15
[2026-10-20 03:19:15,683.683 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:19:15,743.743 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:19:15,856.856 INFO    ] No existing commands found in stream
[2026-10-20 03:19:20,868.868 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:19:20,871.871 INFO    ] Waiting 1.15 seconds before fallback handling...
[2026-10-20 03:19:22,564.564 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:19:22,566.566 INFO    ] Checking for system updates...
[2026-10-20 03:19:22,602.602 INFO    ] 200
[2026-10-20 03:19:22,604.604 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:19:22,659.659 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:19:22,661.661 INFO    ] No update needed
[2026-10-20 03:19:22,664.664 INFO    ] Checking for camera pi updates...
[2026-10-20 03:19:22,700.700 INFO    ] 200
[2026-10-20 03:19:22,703.703 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:19:22,748.748 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:19:22,791.791 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:19:22,793.793 INFO    ] No camera update needed
[2026-10-20 03:19:22,796.796 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:19:22,798.798 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:19:22,804.804 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:19:22,809.809 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:19:24,850.850 INFO    ] ================================================
[2026-10-20 03:19:24,865.865 INFO    ] Launching Daemon at Tue Oct 20 03:19:24 IST 2026
[2026-10-20 03:19:24,875.875 INFO    ] ================================================
[2026-10-20 03:19:25,444.444 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:19:25
[2026-10-20 03:19:26,029.029 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:19:26,305.305 INFO    ] Initializing speech engine...
[2026-10-20 03:19:26,314.314 INFO    ] 2026-10-20 03:19:26
[2026-10-20 03:19:26,561.561 INFO    ] 2026-10-20 03:19:26
[2026-10-20 03:19:26,596.596 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:19:26,861.861 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:19:26,866.866 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:19:27,101.101 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:19:27,128.128 INFO    ] time= 20/10/2026 03:19:27
[2026-10-20 03:19:27,144.144 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:19:27,152.152 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:19:27,279.279 INFO    ] No existing commands found in stream
[2026-10-20 03:19:32,294.294 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:19:32,297.297 INFO    ] Waiting 1.95 seconds before fallback handling...
[2026-10-20 03:19:34,760.760 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:19:34,763.763 INFO    ] Checking for system updates...
[2026-10-20 03:19:34,799.799 INFO    ] 200
[2026-10-20 03:19:34,802.802 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:19:34,855.855 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:19:34,858.858 INFO    ] No update needed
[2026-10-20 03:19:34,860.860 INFO    ] Checking for camera pi updates...
[2026-10-20 03:19:34,901.901 INFO    ] 200
[2026-10-20 03:19:34,904.904 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:19:34,951.951 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:19:35,117.117 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:19:35,121.121 INFO    ] No camera update needed
[2026-10-20 03:19:35,130.130 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:19:35,133.133 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:19:35,139.139 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:19:35,146.146 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:19:37,187.187 INFO    ] ================================================
[2026-10-20 03:19:37,202.202 INFO    ] Launching Daemon at Tue Oct 20 03:19:37 IST 2026
[2026-10-20 03:19:37,213.213 INFO    ] ================================================
[2026-10-20 03:19:37,780.780 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:19:37
[2026-10-20 03:19:38,365.365 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:19:38,633.633 INFO    ] Initializing speech engine...
[2026-10-20 03:19:38,642.642 INFO    ] 2026-10-20 03:19:38
[2026-10-20 03:19:38,889.889 INFO    ] 2026-10-20 03:19:38
[2026-10-20 03:19:38,923.923 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:19:39,180.180 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:19:39,185.185 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:19:39,428.428 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:19:39,445.445 INFO    ] time= 20/10/2026 03:19:39
[2026-10-20 03:19:39,464.464 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:19:39,486.486 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:19:39,648.648 INFO    ] No existing commands found in stream
[2026-10-20 03:19:44,673.673 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:19:44,676.676 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-10-20 03:19:47,385.385 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 03:19:47,387.387 INFO    ] Checking for system updates...
[2026-10-20 03:19:47,423.423 INFO    ] 200
[2026-10-20 03:19:47,425.425 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:19:47,477.477 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:19:47,479.479 INFO    ] No update needed
[2026-10-20 03:19:47,482.482 INFO    ] Checking for camera pi updates...
[2026-10-20 03:19:47,515.515 INFO    ] 200
[2026-10-20 03:19:47,518.518 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:19:47,558.558 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:19:47,599.599 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:19:47,601.601 INFO    ] No camera update needed
[2026-10-20 03:19:47,604.604 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:19:47,606.606 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:19:47,611.611 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:19:47,616.616 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:19:49,656.656 INFO    ] ================================================
[2026-10-20 03:19:49,671.671 INFO    ] Launching Daemon at Tue Oct 20 03:19:49 IST 2026
[2026-10-20 03:19:49,682.682 INFO    ] ================================================
[2026-10-20 03:19:50,253.253 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:19:50
[2026-10-20 03:19:50,854.854 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:19:51,138.138 INFO    ] Initializing speech engine...
[2026-10-20 03:19:51,150.150 INFO    ] 2026-10-20 03:19:51
[2026-10-20 03:19:51,413.413 INFO    ] 2026-10-20 03:19:51
[2026-10-20 03:19:51,456.456 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:19:51,738.738 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:19:51,743.743 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:19:51,956.956 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:19:51,983.983 INFO    ] time= 20/10/2026 03:19:51
[2026-10-20 03:19:51,991.991 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:19:51,998.998 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:19:52,139.139 INFO    ] No existing commands found in stream
[2026-10-20 03:19:57,161.161 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:19:57,164.164 INFO    ] Waiting 2.39 seconds before fallback handling...
[2026-10-20 03:20:00,106.106 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:20:00,109.109 INFO    ] Checking for system updates...
[2026-10-20 03:20:00,145.145 INFO    ] 200
[2026-10-20 03:20:00,147.147 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:20:00,199.199 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:20:00,202.202 INFO    ] No update needed
[2026-10-20 03:20:00,204.204 INFO    ] Checking for camera pi updates...
[2026-10-20 03:20:00,240.240 INFO    ] 200
[2026-10-20 03:20:00,243.243 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:20:00,299.299 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:20:00,325.325 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:20:00,328.328 INFO    ] No camera update needed
[2026-10-20 03:20:00,330.330 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:20:00,333.333 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:20:00,338.338 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:20:00,343.343 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:20:02,403.403 INFO    ] ================================================
[2026-10-20 03:20:02,452.452 INFO    ] Launching Daemon at Tue Oct 20 03:20:02 IST 2026
[2026-10-20 03:20:02,489.489 INFO    ] ================================================
[2026-10-20 03:20:03,144.144 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:20:03
[2026-10-20 03:20:03,825.825 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:20:04,114.114 INFO    ] Initializing speech engine...
[2026-10-20 03:20:04,137.137 INFO    ] 2026-10-20 03:20:04
[2026-10-20 03:20:04,412.412 INFO    ] 2026-10-20 03:20:04
[2026-10-20 03:20:04,468.468 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:20:04,701.701 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:20:04,717.717 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:20:04,943.943 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:20:04,966.966 INFO    ] time= 20/10/2026 03:20:04
[2026-10-20 03:20:04,983.983 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:20:05,003.003 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:20:05,132.132 INFO    ] No existing commands found in stream
[2026-10-20 03:20:10,161.161 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:20:10,165.165 INFO    ] Waiting 2.71 seconds before fallback handling...
[2026-10-20 03:20:13,405.405 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 03:20:13,408.408 INFO    ] Checking for system updates...
[2026-10-20 03:20:13,445.445 INFO    ] 200
[2026-10-20 03:20:13,447.447 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:20:13,503.503 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:20:13,505.505 INFO    ] No update needed
[2026-10-20 03:20:13,508.508 INFO    ] Checking for camera pi updates...
[2026-10-20 03:20:13,541.541 INFO    ] 200
[2026-10-20 03:20:13,544.544 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:20:13,586.586 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:20:13,634.634 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:20:13,637.637 INFO    ] No camera update needed
[2026-10-20 03:20:13,639.639 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:20:13,641.641 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:20:13,647.647 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:20:13,652.652 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:20:15,692.692 INFO    ] ================================================
[2026-10-20 03:20:15,707.707 INFO    ] Launching Daemon at Tue Oct 20 03:20:15 IST 2026
[2026-10-20 03:20:15,717.717 INFO    ] ================================================
[2026-10-20 03:20:16,287.287 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:20:16
[2026-10-20 03:20:16,948.948 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:20:17,250.250 INFO    ] Initializing speech engine...
[2026-10-20 03:20:17,259.259 INFO    ] 2026-10-20 03:20:17
[2026-10-20 03:20:17,547.547 INFO    ] 2026-10-20 03:20:17
[2026-10-20 03:20:17,594.594 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:20:17,911.911 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:20:17,955.955 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:20:18,140.140 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:20:18,148.148 INFO    ] time= 20/10/2026 03:20:18
[2026-10-20 03:20:18,156.156 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:20:18,201.201 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:20:18,331.331 INFO    ] No existing commands found in stream
[2026-10-20 03:20:23,361.361 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:20:23,364.364 INFO    ] Waiting 2.67 seconds before fallback handling...
[2026-10-20 03:20:26,614.614 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:20:26,617.617 INFO    ] Checking for system updates...
[2026-10-20 03:20:26,654.654 INFO    ] 200
[2026-10-20 03:20:26,656.656 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:20:26,713.713 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:20:26,716.716 INFO    ] No update needed
[2026-10-20 03:20:26,718.718 INFO    ] Checking for camera pi updates...
[2026-10-20 03:20:26,752.752 INFO    ] 200
[2026-10-20 03:20:26,754.754 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:20:26,794.794 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:20:26,836.836 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:20:26,839.839 INFO    ] No camera update needed
[2026-10-20 03:20:26,841.841 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:20:26,844.844 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:20:26,849.849 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:20:26,854.854 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:20:28,893.893 INFO    ] ================================================
[2026-10-20 03:20:28,908.908 INFO    ] Launching Daemon at Tue Oct 20 03:20:28 IST 2026
[2026-10-20 03:20:28,919.919 INFO    ] ================================================
[2026-10-20 03:20:29,486.486 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:20:29
[2026-10-20 03:20:30,076.076 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:20:30,348.348 INFO    ] Initializing speech engine...
[2026-10-20 03:20:30,353.353 INFO    ] 2026-10-20 03:20:30
[2026-10-20 03:20:30,627.627 INFO    ] 2026-10-20 03:20:30
[2026-10-20 03:20:30,682.682 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:20:30,971.971 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:20:30,976.976 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:20:31,173.173 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:20:31,192.192 INFO    ] time= 20/10/2026 03:20:31
[2026-10-20 03:20:31,215.215 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:20:31,229.229 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:20:31,362.362 INFO    ] No existing commands found in stream
[2026-10-20 03:20:36,393.393 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:20:36,396.396 INFO    ] Waiting 2.95 seconds before fallback handling...
[2026-10-20 03:20:39,919.919 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:20:39,922.922 INFO    ] Checking for system updates...
[2026-10-20 03:20:39,963.963 INFO    ] 200
[2026-10-20 03:20:39,965.965 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:20:40,017.017 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:20:40,020.020 INFO    ] No update needed
[2026-10-20 03:20:40,022.022 INFO    ] Checking for camera pi updates...
[2026-10-20 03:20:40,060.060 INFO    ] 200
[2026-10-20 03:20:40,062.062 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:20:40,103.103 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:20:40,145.145 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:20:40,148.148 INFO    ] No camera update needed
[2026-10-20 03:20:40,150.150 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:20:40,153.153 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:20:40,158.158 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:20:40,163.163 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:20:42,204.204 INFO    ] ================================================
[2026-10-20 03:20:42,219.219 INFO    ] Launching Daemon at Tue Oct 20 03:20:42 IST 2026
[2026-10-20 03:20:42,229.229 INFO    ] ================================================
[2026-10-20 03:20:42,797.797 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:20:42
[2026-10-20 03:20:43,381.381 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:20:43,650.650 INFO    ] Initializing speech engine...
[2026-10-20 03:20:43,660.660 INFO    ] 2026-10-20 03:20:43
[2026-10-20 03:20:43,904.904 INFO    ] 2026-10-20 03:20:43
[2026-10-20 03:20:43,940.940 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:20:44,197.197 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:20:44,201.201 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:20:44,425.425 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:20:44,461.461 INFO    ] time= 20/10/2026 03:20:44
[2026-10-20 03:20:44,467.467 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:20:44,485.485 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:20:44,614.614 INFO    ] No existing commands found in stream
[2026-10-20 03:20:49,628.628 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:20:49,631.631 INFO    ] Waiting 3.14 seconds before fallback handling...
[2026-10-20 03:20:53,353.353 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:20:53,356.356 INFO    ] Checking for system updates...
[2026-10-20 03:20:53,395.395 INFO    ] 200
[2026-10-20 03:20:53,398.398 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:20:53,451.451 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:20:53,453.453 INFO    ] No update needed
[2026-10-20 03:20:53,455.455 INFO    ] Checking for camera pi updates...
[2026-10-20 03:20:53,489.489 INFO    ] 200
[2026-10-20 03:20:53,491.491 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:20:53,536.536 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:20:53,591.591 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:20:53,593.593 INFO    ] No camera update needed
[2026-10-20 03:20:53,595.595 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:20:53,598.598 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:20:53,603.603 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:20:53,608.608 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:20:55,649.649 INFO    ] ================================================
[2026-10-20 03:20:55,664.664 INFO    ] Launching Daemon at Tue Oct 20 03:20:55 IST 2026
[2026-10-20 03:20:55,675.675 INFO    ] ================================================
[2026-10-20 03:20:56,252.252 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:20:56
[2026-10-20 03:20:56,839.839 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:20:57,109.109 INFO    ] Initializing speech engine...
[2026-10-20 03:20:57,118.118 INFO    ] 2026-10-20 03:20:57
[2026-10-20 03:20:57,364.364 INFO    ] 2026-10-20 03:20:57
[2026-10-20 03:20:57,400.400 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:20:57,657.657 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:20:57,664.664 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:20:57,896.896 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:20:57,922.922 INFO    ] time= 20/10/2026 03:20:57
[2026-10-20 03:20:57,937.937 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:20:57,946.946 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:20:58,074.074 INFO    ] No existing commands found in stream
[2026-10-20 03:21:03,091.091 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:21:03,094.094 INFO    ] Waiting 3.47 seconds before fallback handling...
[2026-10-20 03:21:07,135.135 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:21:07,138.138 INFO    ] Checking for system updates...
[2026-10-20 03:21:07,173.173 INFO    ] 200
[2026-10-20 03:21:07,176.176 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:21:07,228.228 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:21:07,231.231 INFO    ] No update needed
[2026-10-20 03:21:07,233.233 INFO    ] Checking for camera pi updates...
[2026-10-20 03:21:07,266.266 INFO    ] 200
[2026-10-20 03:21:07,269.269 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:21:07,308.308 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:21:07,352.352 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:21:07,355.355 INFO    ] No camera update needed
[2026-10-20 03:21:07,357.357 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:21:07,359.359 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:21:07,365.365 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:21:07,370.370 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:21:09,411.411 INFO    ] ================================================
[2026-10-20 03:21:09,426.426 INFO    ] Launching Daemon at Tue Oct 20 03:21:09 IST 2026
[2026-10-20 03:21:09,437.437 INFO    ] ================================================
[2026-10-20 03:21:10,047.047 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:21:10
[2026-10-20 03:21:10,694.694 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:21:10,998.998 INFO    ] Initializing speech engine...
[2026-10-20 03:21:11,021.021 INFO    ] 2026-10-20 03:21:11
[2026-10-20 03:21:11,318.318 INFO    ] 2026-10-20 03:21:11
[2026-10-20 03:21:11,360.360 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:21:11,581.581 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:21:11,595.595 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:21:11,777.777 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:21:11,783.783 INFO    ] time= 20/10/2026 03:21:11
[2026-10-20 03:21:11,791.791 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:21:11,819.819 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:21:11,954.954 INFO    ] No existing commands found in stream
[2026-10-20 03:21:16,990.990 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:21:16,993.993 INFO    ] Waiting 2.57 seconds before fallback handling...
[2026-10-20 03:21:20,110.110 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:21:20,113.113 INFO    ] Checking for system updates...
[2026-10-20 03:21:20,148.148 INFO    ] 200
[2026-10-20 03:21:20,151.151 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:21:20,211.211 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:21:20,213.213 INFO    ] No update needed
[2026-10-20 03:21:20,215.215 INFO    ] Checking for camera pi updates...
[2026-10-20 03:21:20,248.248 INFO    ] 200
[2026-10-20 03:21:20,251.251 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:21:20,296.296 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:21:20,337.337 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:21:20,340.340 INFO    ] No camera update needed
[2026-10-20 03:21:20,342.342 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:21:20,344.344 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:21:20,350.350 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:21:20,355.355 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:21:22,394.394 INFO    ] ================================================
[2026-10-20 03:21:22,409.409 INFO    ] Launching Daemon at Tue Oct 20 03:21:22 IST 2026
[2026-10-20 03:21:22,420.420 INFO    ] ================================================
[2026-10-20 03:21:22,988.988 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:21:22
[2026-10-20 03:21:23,569.569 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:21:23,839.839 INFO    ] Initializing speech engine...
[2026-10-20 03:21:23,847.847 INFO    ] 2026-10-20 03:21:23
[2026-10-20 03:21:24,113.113 INFO    ] 2026-10-20 03:21:24
[2026-10-20 03:21:24,178.178 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:21:24,406.406 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:21:24,411.411 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:21:24,635.635 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:21:24,673.673 INFO    ] time= 20/10/2026 03:21:24
[2026-10-20 03:21:24,680.680 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:21:24,703.703 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:21:24,864.864 INFO    ] No existing commands found in stream
[2026-10-20 03:21:29,900.900 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:21:29,903.903 INFO    ] Waiting 2.06 seconds before fallback handling...
[2026-10-20 03:21:32,484.484 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:21:32,487.487 INFO    ] Checking for system updates...
[2026-10-20 03:21:32,523.523 INFO    ] 200
[2026-10-20 03:21:32,526.526 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:21:32,584.584 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:21:32,586.586 INFO    ] No update needed
[2026-10-20 03:21:32,589.589 INFO    ] Checking for camera pi updates...
[2026-10-20 03:21:32,626.626 INFO    ] 200
[2026-10-20 03:21:32,629.629 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:21:32,670.670 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:21:32,697.697 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:21:32,700.700 INFO    ] No camera update needed
[2026-10-20 03:21:32,702.702 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:21:32,705.705 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:21:32,711.711 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:21:32,717.717 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:21:34,757.757 INFO    ] ================================================
[2026-10-20 03:21:34,772.772 INFO    ] Launching Daemon at Tue Oct 20 03:21:34 IST 2026
[2026-10-20 03:21:34,783.783 INFO    ] ================================================
[2026-10-20 03:21:35,425.425 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:21:35
[2026-10-20 03:21:36,056.056 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:21:36,335.335 INFO    ] Initializing speech engine...
[2026-10-20 03:21:36,345.345 INFO    ] 2026-10-20 03:21:36
[2026-10-20 03:21:36,606.606 INFO    ] 2026-10-20 03:21:36
[2026-10-20 03:21:36,642.642 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:21:36,896.896 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:21:36,903.903 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:21:37,144.144 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:21:37,162.162 INFO    ] time= 20/10/2026 03:21:37
[2026-10-20 03:21:37,179.179 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:21:37,215.215 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:21:37,380.380 INFO    ] No existing commands found in stream
[2026-10-20 03:21:42,406.406 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:21:42,408.408 INFO    ] Waiting 3.70 seconds before fallback handling...
[2026-10-20 03:21:46,626.626 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 03:21:46,629.629 INFO    ] Checking for system updates...
[2026-10-20 03:21:46,665.665 INFO    ] 200
[2026-10-20 03:21:46,667.667 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:21:46,721.721 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:21:46,724.724 INFO    ] No update needed
[2026-10-20 03:21:46,726.726 INFO    ] Checking for camera pi updates...
[2026-10-20 03:21:46,766.766 INFO    ] 200
[2026-10-20 03:21:46,768.768 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:21:46,809.809 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:21:46,941.941 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:21:46,943.943 INFO    ] No camera update needed
[2026-10-20 03:21:46,945.945 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:21:46,948.948 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:21:46,953.953 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:21:46,958.958 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:21:49,001.001 INFO    ] ================================================
[2026-10-20 03:21:49,016.016 INFO    ] Launching Daemon at Tue Oct 20 03:21:49 IST 2026
[2026-10-20 03:21:49,027.027 INFO    ] ================================================
[2026-10-20 03:21:49,616.616 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:21:49
[2026-10-20 03:21:50,227.227 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:21:50,497.497 INFO    ] Initializing speech engine...
[2026-10-20 03:21:50,506.506 INFO    ] 2026-10-20 03:21:50
[2026-10-20 03:21:50,760.760 INFO    ] 2026-10-20 03:21:50
[2026-10-20 03:21:50,796.796 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:21:51,050.050 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:21:51,059.059 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:21:51,274.274 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:21:51,320.320 INFO    ] time= 20/10/2026 03:21:51
[2026-10-20 03:21:51,325.325 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:21:51,341.341 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:21:51,484.484 INFO    ] No existing commands found in stream
[2026-10-20 03:21:56,510.510 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:21:56,512.512 INFO    ] Waiting 0.06 seconds before fallback handling...
[2026-10-20 03:21:57,102.102 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 03:21:57,105.105 INFO    ] Checking for system updates...
[2026-10-20 03:21:57,143.143 INFO    ] 200
[2026-10-20 03:21:57,146.146 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:21:57,198.198 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:21:57,200.200 INFO    ] No update needed
[2026-10-20 03:21:57,203.203 INFO    ] Checking for camera pi updates...
[2026-10-20 03:21:57,236.236 INFO    ] 200
[2026-10-20 03:21:57,239.239 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:21:57,279.279 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:21:57,321.321 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:21:57,324.324 INFO    ] No camera update needed
[2026-10-20 03:21:57,326.326 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:21:57,328.328 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:21:57,334.334 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:21:57,339.339 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:21:59,378.378 INFO    ] ================================================
[2026-10-20 03:21:59,394.394 INFO    ] Launching Daemon at Tue Oct 20 03:21:59 IST 2026
[2026-10-20 03:21:59,405.405 INFO    ] ================================================
[2026-10-20 03:21:59,991.991 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:21:59
[2026-10-20 03:22:00,592.592 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:22:00,867.867 INFO    ] Initializing speech engine...
[2026-10-20 03:22:00,878.878 INFO    ] 2026-10-20 03:22:00
[2026-10-20 03:22:01,157.157 INFO    ] 2026-10-20 03:22:01
[2026-10-20 03:22:01,260.260 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:22:01,463.463 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:22:01,466.466 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:22:01,660.660 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:22:01,668.668 INFO    ] time= 20/10/2026 03:22:01
[2026-10-20 03:22:01,671.671 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:22:01,674.674 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:22:01,754.754 INFO    ] No existing commands found in stream
[2026-10-20 03:22:06,764.764 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:22:06,767.767 INFO    ] Waiting 2.79 seconds before fallback handling...
[2026-10-20 03:22:10,130.130 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 03:22:10,133.133 INFO    ] Checking for system updates...
[2026-10-20 03:22:10,168.168 INFO    ] 200
[2026-10-20 03:22:10,170.170 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:22:10,222.222 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:22:10,224.224 INFO    ] No update needed
[2026-10-20 03:22:10,227.227 INFO    ] Checking for camera pi updates...
[2026-10-20 03:22:10,260.260 INFO    ] 200
[2026-10-20 03:22:10,262.262 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:22:10,302.302 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:22:10,351.351 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:22:10,353.353 INFO    ] No camera update needed
[2026-10-20 03:22:10,356.356 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:22:10,358.358 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:22:10,363.363 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:22:10,368.368 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:22:12,408.408 INFO    ] ================================================
[2026-10-20 03:22:12,424.424 INFO    ] Launching Daemon at Tue Oct 20 03:22:12 IST 2026
[2026-10-20 03:22:12,435.435 INFO    ] ================================================
[2026-10-20 03:22:13,073.073 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:22:13
[2026-10-20 03:22:13,751.751 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:22:14,024.024 INFO    ] Initializing speech engine...
[2026-10-20 03:22:14,033.033 INFO    ] 2026-10-20 03:22:14
[2026-10-20 03:22:14,308.308 INFO    ] 2026-10-20 03:22:14
[2026-10-20 03:22:14,348.348 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:22:14,576.576 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:22:14,580.580 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:22:14,824.824 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:22:14,837.837 INFO    ] time= 20/10/2026 03:22:14
[2026-10-20 03:22:14,843.843 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:22:14,862.862 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:22:14,990.990 INFO    ] No existing commands found in stream
[2026-10-20 03:22:20,003.003 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:22:20,006.006 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-10-20 03:22:22,044.044 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:22:22,047.047 INFO    ] Checking for system updates...
[2026-10-20 03:22:22,083.083 INFO    ] 200
[2026-10-20 03:22:22,085.085 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:22:22,137.137 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:22:22,140.140 INFO    ] No update needed
[2026-10-20 03:22:22,142.142 INFO    ] Checking for camera pi updates...
[2026-10-20 03:22:22,179.179 INFO    ] 200
[2026-10-20 03:22:22,181.181 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:22:22,222.222 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:22:22,274.274 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:22:22,277.277 INFO    ] No camera update needed
[2026-10-20 03:22:22,279.279 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:22:22,282.282 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:22:22,288.288 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:22:22,294.294 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:22:24,334.334 INFO    ] ================================================
[2026-10-20 03:22:24,351.351 INFO    ] Launching Daemon at Tue Oct 20 03:22:24 IST 2026
[2026-10-20 03:22:24,361.361 INFO    ] ================================================
[2026-10-20 03:22:24,942.942 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:22:24
[2026-10-20 03:22:25,612.612 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:22:25,913.913 INFO    ] Initializing speech engine...
[2026-10-20 03:22:25,917.917 INFO    ] 2026-10-20 03:22:25
[2026-10-20 03:22:26,193.193 INFO    ] 2026-10-20 03:22:26
[2026-10-20 03:22:26,222.222 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:22:26,492.492 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:22:26,500.500 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:22:26,715.715 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:22:26,743.743 INFO    ] time= 20/10/2026 03:22:26
[2026-10-20 03:22:26,748.748 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:22:26,766.766 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:22:26,884.884 INFO    ] No existing commands found in stream
[2026-10-20 03:22:31,909.909 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:22:31,912.912 INFO    ] Waiting 1.39 seconds before fallback handling...
[2026-10-20 03:22:33,901.901 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:22:33,904.904 INFO    ] Checking for system updates...
[2026-10-20 03:22:33,940.940 INFO    ] 200
[2026-10-20 03:22:33,942.942 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:22:33,994.994 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:22:33,997.997 INFO    ] No update needed
[2026-10-20 03:22:33,999.999 INFO    ] Checking for camera pi updates...
[2026-10-20 03:22:34,032.032 INFO    ] 200
[2026-10-20 03:22:34,034.034 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:22:34,073.073 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:22:34,114.114 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:22:34,116.116 INFO    ] No camera update needed
[2026-10-20 03:22:34,118.118 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:22:34,121.121 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:22:34,126.126 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:22:34,131.131 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:22:36,172.172 INFO    ] ================================================
[2026-10-20 03:22:36,187.187 INFO    ] Launching Daemon at Tue Oct 20 03:22:36 IST 2026
[2026-10-20 03:22:36,199.199 INFO    ] ================================================
[2026-10-20 03:22:36,825.825 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:22:36
[2026-10-20 03:22:37,466.466 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:22:37,752.752 INFO    ] Initializing speech engine...
[2026-10-20 03:22:37,763.763 INFO    ] 2026-10-20 03:22:37
[2026-10-20 03:22:38,031.031 INFO    ] 2026-10-20 03:22:38
[2026-10-20 03:22:38,086.086 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:22:38,557.557 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:22:38,574.574 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:22:38,800.800 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:22:38,834.834 INFO    ] time= 20/10/2026 03:22:38
[2026-10-20 03:22:38,898.898 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:22:38,942.942 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:22:39,044.044 INFO    ] No existing commands found in stream
[2026-10-20 03:22:44,068.068 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:22:44,071.071 INFO    ] Waiting 2.20 seconds before fallback handling...
[2026-10-20 03:22:46,826.826 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 03:22:46,829.829 INFO    ] Checking for system updates...
[2026-10-20 03:22:46,864.864 INFO    ] 200
[2026-10-20 03:22:46,866.866 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:22:46,917.917 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:22:46,920.920 INFO    ] No update needed
[2026-10-20 03:22:46,922.922 INFO    ] Checking for camera pi updates...
[2026-10-20 03:22:46,960.960 INFO    ] 200
[2026-10-20 03:22:46,962.962 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:22:47,002.002 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:22:47,043.043 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:22:47,045.045 INFO    ] No camera update needed
[2026-10-20 03:22:47,047.047 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:22:47,050.050 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:22:47,055.055 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:22:47,060.060 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:22:49,102.102 INFO    ] ================================================
[2026-10-20 03:22:49,119.119 INFO    ] Launching Daemon at Tue Oct 20 03:22:49 IST 2026
[2026-10-20 03:22:49,131.131 INFO    ] ================================================
[2026-10-20 03:22:49,755.755 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:22:49
[2026-10-20 03:22:50,412.412 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:22:50,722.722 INFO    ] Initializing speech engine...
[2026-10-20 03:22:50,731.731 INFO    ] 2026-10-20 03:22:50
[2026-10-20 03:22:51,003.003 INFO    ] 2026-10-20 03:22:50
[2026-10-20 03:22:51,068.068 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:22:51,331.331 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:22:51,341.341 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:22:51,512.512 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:22:51,515.515 INFO    ] time= 20/10/2026 03:22:51
[2026-10-20 03:22:51,517.517 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:22:51,567.567 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:22:51,731.731 INFO    ] No existing commands found in stream
[2026-10-20 03:22:56,756.756 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:22:56,759.759 INFO    ] Waiting 1.19 seconds before fallback handling...
[2026-10-20 03:22:58,488.488 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:22:58,491.491 INFO    ] Checking for system updates...
[2026-10-20 03:22:58,529.529 INFO    ] 200
[2026-10-20 03:22:58,532.532 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:22:58,589.589 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:22:58,592.592 INFO    ] No update needed
[2026-10-20 03:22:58,594.594 INFO    ] Checking for camera pi updates...
[2026-10-20 03:22:58,627.627 INFO    ] 200
[2026-10-20 03:22:58,630.630 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:22:58,674.674 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:22:58,714.714 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:22:58,716.716 INFO    ] No camera update needed
[2026-10-20 03:22:58,719.719 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:22:58,721.721 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:22:58,726.726 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:22:58,731.731 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:23:00,771.771 INFO    ] ================================================
[2026-10-20 03:23:00,786.786 INFO    ] Launching Daemon at Tue Oct 20 03:23:00 IST 2026
[2026-10-20 03:23:00,796.796 INFO    ] ================================================
[2026-10-20 03:23:01,451.451 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:23:01
[2026-10-20 03:23:02,143.143 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:23:02,520.520 INFO    ] Initializing speech engine...
[2026-10-20 03:23:02,533.533 INFO    ] 2026-10-20 03:23:02
[2026-10-20 03:23:02,951.951 INFO    ] 2026-10-20 03:23:02
[2026-10-20 03:23:03,020.020 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:23:03,209.209 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:23:03,215.215 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:23:03,426.426 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:23:03,447.447 INFO    ] time= 20/10/2026 03:23:03
[2026-10-20 03:23:03,474.474 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:23:03,483.483 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:23:03,599.599 INFO    ] No existing commands found in stream
[2026-10-20 03:23:08,629.629 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:23:08,633.633 INFO    ] Waiting 3.69 seconds before fallback handling...
[2026-10-20 03:23:12,876.876 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 03:23:12,879.879 INFO    ] Checking for system updates...
[2026-10-20 03:23:12,915.915 INFO    ] 200
[2026-10-20 03:23:12,918.918 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:23:12,977.977 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:23:12,979.979 INFO    ] No update needed
[2026-10-20 03:23:12,982.982 INFO    ] Checking for camera pi updates...
[2026-10-20 03:23:13,017.017 INFO    ] 200
[2026-10-20 03:23:13,020.020 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:23:13,060.060 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:23:13,107.107 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:23:13,110.110 INFO    ] No camera update needed
[2026-10-20 03:23:13,112.112 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:23:13,115.115 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:23:13,120.120 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:23:13,125.125 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:23:15,165.165 INFO    ] ================================================
[2026-10-20 03:23:15,181.181 INFO    ] Launching Daemon at Tue Oct 20 03:23:15 IST 2026
[2026-10-20 03:23:15,192.192 INFO    ] ================================================
[2026-10-20 03:23:15,775.775 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:23:15
[2026-10-20 03:23:16,390.390 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:23:16,664.664 INFO    ] Initializing speech engine...
[2026-10-20 03:23:16,673.673 INFO    ] 2026-10-20 03:23:16
[2026-10-20 03:23:16,938.938 INFO    ] 2026-10-20 03:23:16
[2026-10-20 03:23:16,995.995 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:23:17,337.337 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:23:17,347.347 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:23:17,530.530 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:23:17,555.555 INFO    ] time= 20/10/2026 03:23:17
[2026-10-20 03:23:17,612.612 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:23:17,652.652 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:23:17,806.806 INFO    ] No existing commands found in stream
[2026-10-20 03:23:22,831.831 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:23:22,834.834 INFO    ] Waiting 1.39 seconds before fallback handling...
[2026-10-20 03:23:24,742.742 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 03:23:24,744.744 INFO    ] Checking for system updates...
[2026-10-20 03:23:24,780.780 INFO    ] 200
[2026-10-20 03:23:24,782.782 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:23:24,834.834 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:23:24,836.836 INFO    ] No update needed
[2026-10-20 03:23:24,839.839 INFO    ] Checking for camera pi updates...
[2026-10-20 03:23:24,875.875 INFO    ] 200
[2026-10-20 03:23:24,878.878 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:23:24,917.917 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:23:24,959.959 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:23:24,962.962 INFO    ] No camera update needed
[2026-10-20 03:23:24,964.964 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:23:24,966.966 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:23:24,972.972 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:23:24,977.977 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:23:27,020.020 INFO    ] ================================================
[2026-10-20 03:23:27,035.035 INFO    ] Launching Daemon at Tue Oct 20 03:23:27 IST 2026
[2026-10-20 03:23:27,046.046 INFO    ] ================================================
[2026-10-20 03:23:27,641.641 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:23:27
[2026-10-20 03:23:28,300.300 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:23:28,593.593 INFO    ] Initializing speech engine...
[2026-10-20 03:23:28,600.600 INFO    ] 2026-10-20 03:23:28
[2026-10-20 03:23:28,869.869 INFO    ] 2026-10-20 03:23:28
[2026-10-20 03:23:28,923.923 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:23:29,212.212 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:23:29,220.220 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:23:29,410.410 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:23:29,428.428 INFO    ] time= 20/10/2026 03:23:29
[2026-10-20 03:23:29,438.438 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:23:29,465.465 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:23:29,575.575 INFO    ] No existing commands found in stream
[2026-10-20 03:23:34,599.599 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:23:34,602.602 INFO    ] Waiting 1.07 seconds before fallback handling...
[2026-10-20 03:23:36,224.224 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:23:36,227.227 INFO    ] Checking for system updates...
[2026-10-20 03:23:36,274.274 INFO    ] 200
[2026-10-20 03:23:36,277.277 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:23:36,331.331 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:23:36,334.334 INFO    ] No update needed
[2026-10-20 03:23:36,336.336 INFO    ] Checking for camera pi updates...
[2026-10-20 03:23:36,378.378 INFO    ] 200
[2026-10-20 03:23:36,380.380 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:23:36,425.425 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:23:36,452.452 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:23:36,455.455 INFO    ] No camera update needed
[2026-10-20 03:23:36,457.457 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:23:36,460.460 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:23:36,466.466 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:23:36,471.471 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:23:38,512.512 INFO    ] ================================================
[2026-10-20 03:23:38,527.527 INFO    ] Launching Daemon at Tue Oct 20 03:23:38 IST 2026
[2026-10-20 03:23:38,538.538 INFO    ] ================================================
[2026-10-20 03:23:39,120.120 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:23:39
[2026-10-20 03:23:39,706.706 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:23:39,978.978 INFO    ] Initializing speech engine...
[2026-10-20 03:23:39,997.997 INFO    ] 2026-10-20 03:23:39
[2026-10-20 03:23:40,259.259 INFO    ] 2026-10-20 03:23:40
[2026-10-20 03:23:40,295.295 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:23:40,517.517 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:23:40,580.580 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:23:40,735.735 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:23:40,780.780 INFO    ] time= 20/10/2026 03:23:40
[2026-10-20 03:23:40,834.834 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:23:40,879.879 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:23:41,040.040 INFO    ] No existing commands found in stream
[2026-10-20 03:23:46,054.054 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:23:46,056.056 INFO    ] Waiting 3.52 seconds before fallback handling...
[2026-10-20 03:23:51,531.531 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:23:51,533.533 INFO    ] Checking for system updates...
[2026-10-20 03:23:51,573.573 INFO    ] 200
[2026-10-20 03:23:51,576.576 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:23:51,634.634 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:23:51,637.637 INFO    ] No update needed
[2026-10-20 03:23:51,640.640 INFO    ] Checking for camera pi updates...
[2026-10-20 03:23:51,677.677 INFO    ] 200
[2026-10-20 03:23:51,679.679 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:23:51,730.730 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:23:51,873.873 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:23:51,876.876 INFO    ] No camera update needed
[2026-10-20 03:23:51,878.878 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:23:51,881.881 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:23:51,886.886 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:23:51,892.892 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:23:53,931.931 INFO    ] ================================================
[2026-10-20 03:23:53,946.946 INFO    ] Launching Daemon at Tue Oct 20 03:23:53 IST 2026
[2026-10-20 03:23:53,957.957 INFO    ] ================================================
[2026-10-20 03:23:54,529.529 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:23:54
[2026-10-20 03:23:55,115.115 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:23:55,387.387 INFO    ] Initializing speech engine...
[2026-10-20 03:23:55,395.395 INFO    ] 2026-10-20 03:23:55
[2026-10-20 03:23:55,642.642 INFO    ] 2026-10-20 03:23:55
[2026-10-20 03:23:55,677.677 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:23:55,929.929 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:23:55,938.938 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:23:56,183.183 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:23:56,196.196 INFO    ] time= 20/10/2026 03:23:56
[2026-10-20 03:23:56,202.202 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:23:56,220.220 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:23:56,352.352 INFO    ] No existing commands found in stream
[2026-10-20 03:24:01,400.400 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:24:01,413.413 INFO    ] Waiting 2.35 seconds before fallback handling...
[2026-10-20 03:24:04,284.284 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:24:04,286.286 INFO    ] Checking for system updates...
[2026-10-20 03:24:04,325.325 INFO    ] 200
[2026-10-20 03:24:04,328.328 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:24:04,381.381 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:24:04,383.383 INFO    ] No update needed
[2026-10-20 03:24:04,386.386 INFO    ] Checking for camera pi updates...
[2026-10-20 03:24:04,419.419 INFO    ] 200
[2026-10-20 03:24:04,422.422 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:24:04,462.462 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:24:04,503.503 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:24:04,506.506 INFO    ] No camera update needed
[2026-10-20 03:24:04,508.508 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:24:04,511.511 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:24:04,516.516 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:24:04,521.521 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:24:06,563.563 INFO    ] ================================================
[2026-10-20 03:24:06,578.578 INFO    ] Launching Daemon at Tue Oct 20 03:24:06 IST 2026
[2026-10-20 03:24:06,589.589 INFO    ] ================================================
[2026-10-20 03:24:07,230.230 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:24:07
[2026-10-20 03:24:07,891.891 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:24:08,195.195 INFO    ] Initializing speech engine...
[2026-10-20 03:24:08,206.206 INFO    ] 2026-10-20 03:24:08
[2026-10-20 03:24:08,483.483 INFO    ] 2026-10-20 03:24:08
[2026-10-20 03:24:08,526.526 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:24:08,812.812 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:24:08,822.822 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:24:09,034.034 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:24:09,064.064 INFO    ] time= 20/10/2026 03:24:09
[2026-10-20 03:24:09,071.071 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:24:09,080.080 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:24:09,205.205 INFO    ] No existing commands found in stream
[2026-10-20 03:24:14,236.236 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:24:14,239.239 INFO    ] Waiting 1.47 seconds before fallback handling...
[2026-10-20 03:24:16,211.211 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 03:24:16,213.213 INFO    ] Checking for system updates...
[2026-10-20 03:24:16,249.249 INFO    ] 200
[2026-10-20 03:24:16,251.251 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:24:16,309.309 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:24:16,312.312 INFO    ] No update needed
[2026-10-20 03:24:16,314.314 INFO    ] Checking for camera pi updates...
[2026-10-20 03:24:16,347.347 INFO    ] 200
[2026-10-20 03:24:16,350.350 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:24:16,393.393 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:24:16,435.435 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:24:16,442.442 INFO    ] No camera update needed
[2026-10-20 03:24:16,446.446 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:24:16,449.449 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:24:16,456.456 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:24:16,462.462 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:24:18,502.502 INFO    ] ================================================
[2026-10-20 03:24:18,517.517 INFO    ] Launching Daemon at Tue Oct 20 03:24:18 IST 2026
[2026-10-20 03:24:18,527.527 INFO    ] ================================================
[2026-10-20 03:24:19,107.107 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:24:19
[2026-10-20 03:24:19,756.756 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:24:20,054.054 INFO    ] Initializing speech engine...
[2026-10-20 03:24:20,062.062 INFO    ] 2026-10-20 03:24:20
[2026-10-20 03:24:20,374.374 INFO    ] 2026-10-20 03:24:20
[2026-10-20 03:24:20,461.461 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:24:20,641.641 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:24:20,664.664 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:24:20,875.875 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:24:20,882.882 INFO    ] time= 20/10/2026 03:24:20
[2026-10-20 03:24:20,900.900 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:24:20,918.918 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:24:21,061.061 INFO    ] No existing commands found in stream
[2026-10-20 03:24:26,092.092 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:24:26,095.095 INFO    ] Waiting 3.06 seconds before fallback handling...
[2026-10-20 03:24:29,731.731 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 03:24:29,733.733 INFO    ] Checking for system updates...
[2026-10-20 03:24:29,770.770 INFO    ] 200
[2026-10-20 03:24:29,772.772 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:24:29,825.825 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:24:29,828.828 INFO    ] No update needed
[2026-10-20 03:24:29,831.831 INFO    ] Checking for camera pi updates...
[2026-10-20 03:24:29,869.869 INFO    ] 200
[2026-10-20 03:24:29,872.872 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:24:29,917.917 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:24:29,957.957 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:24:29,960.960 INFO    ] No camera update needed
[2026-10-20 03:24:29,962.962 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:24:29,965.965 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:24:29,971.971 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:24:29,977.977 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:24:32,019.019 INFO    ] ================================================
[2026-10-20 03:24:32,035.035 INFO    ] Launching Daemon at Tue Oct 20 03:24:32 IST 2026
[2026-10-20 03:24:32,047.047 INFO    ] ================================================
[2026-10-20 03:24:32,644.644 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:24:32
[2026-10-20 03:24:33,240.240 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:24:33,513.513 INFO    ] Initializing speech engine...
[2026-10-20 03:24:33,521.521 INFO    ] 2026-10-20 03:24:33
[2026-10-20 03:24:33,766.766 INFO    ] 2026-10-20 03:24:33
[2026-10-20 03:24:33,800.800 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:24:34,055.055 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:24:34,062.062 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:24:34,297.297 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:24:34,321.321 INFO    ] time= 20/10/2026 03:24:34
[2026-10-20 03:24:34,336.336 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:24:34,344.344 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:24:34,467.467 INFO    ] No existing commands found in stream
[2026-10-20 03:24:39,483.483 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:24:39,486.486 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-10-20 03:24:43,443.443 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:24:43,445.445 INFO    ] Checking for system updates...
[2026-10-20 03:24:43,480.480 INFO    ] 200
[2026-10-20 03:24:43,483.483 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:24:43,534.534 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:24:43,536.536 INFO    ] No update needed
[2026-10-20 03:24:43,539.539 INFO    ] Checking for camera pi updates...
[2026-10-20 03:24:43,572.572 INFO    ] 200
[2026-10-20 03:24:43,574.574 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:24:43,614.614 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:24:43,663.663 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:24:43,666.666 INFO    ] No camera update needed
[2026-10-20 03:24:43,669.669 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:24:43,672.672 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:24:43,678.678 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:24:43,684.684 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:24:45,724.724 INFO    ] ================================================
[2026-10-20 03:24:45,739.739 INFO    ] Launching Daemon at Tue Oct 20 03:24:45 IST 2026
[2026-10-20 03:24:45,750.750 INFO    ] ================================================
[2026-10-20 03:24:46,317.317 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:24:46
[2026-10-20 03:24:46,901.901 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:24:47,169.169 INFO    ] Initializing speech engine...
[2026-10-20 03:24:47,177.177 INFO    ] 2026-10-20 03:24:47
[2026-10-20 03:24:47,424.424 INFO    ] 2026-10-20 03:24:47
[2026-10-20 03:24:47,459.459 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:24:47,713.713 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:24:47,719.719 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:24:47,941.941 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:24:47,981.981 INFO    ] time= 20/10/2026 03:24:47
[2026-10-20 03:24:47,988.988 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:24:48,006.006 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:24:48,138.138 INFO    ] No existing commands found in stream
[2026-10-20 03:24:53,150.150 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:24:53,157.157 INFO    ] Waiting 2.49 seconds before fallback handling...
[2026-10-20 03:24:56,121.121 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:24:56,124.124 INFO    ] Checking for system updates...
[2026-10-20 03:24:56,162.162 INFO    ] 200
[2026-10-20 03:24:56,165.165 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:24:56,216.216 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:24:56,218.218 INFO    ] No update needed
[2026-10-20 03:24:56,221.221 INFO    ] Checking for camera pi updates...
[2026-10-20 03:24:56,254.254 INFO    ] 200
[2026-10-20 03:24:56,256.256 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:24:56,296.296 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:24:56,343.343 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:24:56,346.346 INFO    ] No camera update needed
[2026-10-20 03:24:56,348.348 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:24:56,350.350 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:24:56,356.356 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:24:56,361.361 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:24:58,401.401 INFO    ] ================================================
[2026-10-20 03:24:58,420.420 INFO    ] Launching Daemon at Tue Oct 20 03:24:58 IST 2026
[2026-10-20 03:24:58,431.431 INFO    ] ================================================
[2026-10-20 03:24:59,071.071 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:24:59
[2026-10-20 03:24:59,731.731 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:25:00,031.031 INFO    ] Initializing speech engine...
[2026-10-20 03:25:00,038.038 INFO    ] 2026-10-20 03:25:00
[2026-10-20 03:25:00,315.315 INFO    ] 2026-10-20 03:25:00
[2026-10-20 03:25:00,374.374 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:25:00,636.636 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:25:00,645.645 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:25:00,882.882 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:25:00,890.890 INFO    ] time= 20/10/2026 03:25:00
[2026-10-20 03:25:00,908.908 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:25:00,931.931 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:25:01,053.053 INFO    ] No existing commands found in stream
[2026-10-20 03:25:06,079.079 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:25:06,082.082 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-10-20 03:25:09,780.780 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:25:09,784.784 INFO    ] Checking for system updates...
[2026-10-20 03:25:09,823.823 INFO    ] 200
[2026-10-20 03:25:09,826.826 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:25:09,879.879 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:25:09,881.881 INFO    ] No update needed
[2026-10-20 03:25:09,884.884 INFO    ] Checking for camera pi updates...
[2026-10-20 03:25:09,918.918 INFO    ] 200
[2026-10-20 03:25:09,921.921 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:25:09,963.963 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:25:10,002.002 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:25:10,005.005 INFO    ] No camera update needed
[2026-10-20 03:25:10,007.007 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:25:10,010.010 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:25:10,016.016 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:25:10,022.022 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:25:12,061.061 INFO    ] ================================================
[2026-10-20 03:25:12,076.076 INFO    ] Launching Daemon at Tue Oct 20 03:25:12 IST 2026
[2026-10-20 03:25:12,087.087 INFO    ] ================================================
[2026-10-20 03:25:12,726.726 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:25:12
[2026-10-20 03:25:13,382.382 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:25:13,684.684 INFO    ] Initializing speech engine...
[2026-10-20 03:25:13,696.696 INFO    ] 2026-10-20 03:25:13
[2026-10-20 03:25:14,004.004 INFO    ] 2026-10-20 03:25:13
[2026-10-20 03:25:14,088.088 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:25:14,364.364 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:25:14,383.383 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:25:14,631.631 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:25:14,666.666 INFO    ] time= 20/10/2026 03:25:14
[2026-10-20 03:25:14,716.716 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:25:14,759.759 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:25:14,903.903 INFO    ] No existing commands found in stream
[2026-10-20 03:25:19,917.917 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:25:19,921.921 INFO    ] Waiting 0.92 seconds before fallback handling...
[2026-10-20 03:25:21,385.385 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:25:21,388.388 INFO    ] Checking for system updates...
[2026-10-20 03:25:21,428.428 INFO    ] 200
[2026-10-20 03:25:21,431.431 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:25:21,488.488 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:25:21,490.490 INFO    ] No update needed
[2026-10-20 03:25:21,493.493 INFO    ] Checking for camera pi updates...
[2026-10-20 03:25:21,531.531 INFO    ] 200
[2026-10-20 03:25:21,534.534 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:25:21,579.579 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:25:21,624.624 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:25:21,627.627 INFO    ] No camera update needed
[2026-10-20 03:25:21,630.630 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:25:21,632.632 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:25:21,639.639 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:25:21,644.644 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:25:23,684.684 INFO    ] ================================================
[2026-10-20 03:25:23,699.699 INFO    ] Launching Daemon at Tue Oct 20 03:25:23 IST 2026
[2026-10-20 03:25:23,710.710 INFO    ] ================================================
[2026-10-20 03:25:24,352.352 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:25:24
[2026-10-20 03:25:25,013.013 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:25:25,314.314 INFO    ] Initializing speech engine...
[2026-10-20 03:25:25,329.329 INFO    ] 2026-10-20 03:25:25
[2026-10-20 03:25:25,610.610 INFO    ] 2026-10-20 03:25:25
[2026-10-20 03:25:25,655.655 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:25:25,921.921 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:25:25,929.929 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:25:26,161.161 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:25:26,172.172 INFO    ] time= 20/10/2026 03:25:26
[2026-10-20 03:25:26,191.191 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:25:26,220.220 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:25:26,394.394 INFO    ] No existing commands found in stream
[2026-10-20 03:25:31,421.421 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:25:31,424.424 INFO    ] Waiting 3.87 seconds before fallback handling...
[2026-10-20 03:25:35,856.856 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:25:35,859.859 INFO    ] Checking for system updates...
[2026-10-20 03:25:35,899.899 INFO    ] 200
[2026-10-20 03:25:35,902.902 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:25:35,964.964 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:25:35,967.967 INFO    ] No update needed
[2026-10-20 03:25:35,969.969 INFO    ] Checking for camera pi updates...
[2026-10-20 03:25:36,002.002 INFO    ] 200
[2026-10-20 03:25:36,005.005 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:25:36,049.049 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:25:36,075.075 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:25:36,077.077 INFO    ] No camera update needed
[2026-10-20 03:25:36,079.079 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:25:36,082.082 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:25:36,087.087 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:25:36,092.092 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:25:38,131.131 INFO    ] ================================================
[2026-10-20 03:25:38,146.146 INFO    ] Launching Daemon at Tue Oct 20 03:25:38 IST 2026
[2026-10-20 03:25:38,158.158 INFO    ] ================================================
[2026-10-20 03:25:38,815.815 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:25:38
[2026-10-20 03:25:39,495.495 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:25:39,797.797 INFO    ] Initializing speech engine...
[2026-10-20 03:25:39,804.804 INFO    ] 2026-10-20 03:25:39
[2026-10-20 03:25:40,094.094 INFO    ] 2026-10-20 03:25:40
[2026-10-20 03:25:40,139.139 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:25:40,429.429 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:25:40,438.438 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:25:40,633.633 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:25:40,652.652 INFO    ] time= 20/10/2026 03:25:40
[2026-10-20 03:25:40,681.681 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:25:40,691.691 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:25:40,813.813 INFO    ] No existing commands found in stream
[2026-10-20 03:25:45,849.849 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:25:45,852.852 INFO    ] Waiting 3.49 seconds before fallback handling...
[2026-10-20 03:25:49,931.931 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 03:25:49,934.934 INFO    ] Checking for system updates...
[2026-10-20 03:25:49,975.975 INFO    ] 200
[2026-10-20 03:25:49,977.977 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:25:50,034.034 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:25:50,037.037 INFO    ] No update needed
[2026-10-20 03:25:50,039.039 INFO    ] Checking for camera pi updates...
[2026-10-20 03:25:50,073.073 INFO    ] 200
[2026-10-20 03:25:50,076.076 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:25:50,115.115 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:25:50,159.159 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:25:50,161.161 INFO    ] No camera update needed
[2026-10-20 03:25:50,164.164 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:25:50,166.166 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:25:50,171.171 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:25:50,176.176 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:25:52,216.216 INFO    ] ================================================
[2026-10-20 03:25:52,231.231 INFO    ] Launching Daemon at Tue Oct 20 03:25:52 IST 2026
[2026-10-20 03:25:52,241.241 INFO    ] ================================================
[2026-10-20 03:25:52,807.807 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:25:52
[2026-10-20 03:25:53,395.395 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:25:53,665.665 INFO    ] Initializing speech engine...
[2026-10-20 03:25:53,680.680 INFO    ] 2026-10-20 03:25:53
[2026-10-20 03:25:53,977.977 INFO    ] 2026-10-20 03:25:53
[2026-10-20 03:25:54,025.025 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:25:54,290.290 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:25:54,295.295 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:25:54,443.443 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:25:54,509.509 INFO    ] time= 20/10/2026 03:25:54
[2026-10-20 03:25:54,569.569 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:25:54,577.577 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:25:54,725.725 INFO    ] No existing commands found in stream
[2026-10-20 03:25:59,741.741 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:25:59,744.744 INFO    ] Waiting 0.67 seconds before fallback handling...
[2026-10-20 03:26:00,952.952 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:26:00,956.956 INFO    ] Checking for system updates...
[2026-10-20 03:26:00,993.993 INFO    ] 200
[2026-10-20 03:26:00,995.995 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:26:01,054.054 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:26:01,057.057 INFO    ] No update needed
[2026-10-20 03:26:01,059.059 INFO    ] Checking for camera pi updates...
[2026-10-20 03:26:01,092.092 INFO    ] 200
[2026-10-20 03:26:01,095.095 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:26:01,139.139 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:26:01,281.281 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:26:01,283.283 INFO    ] No camera update needed
[2026-10-20 03:26:01,286.286 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:26:01,288.288 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:26:01,293.293 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:26:01,298.298 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:26:03,347.347 INFO    ] ================================================
[2026-10-20 03:26:03,365.365 INFO    ] Launching Daemon at Tue Oct 20 03:26:03 IST 2026
[2026-10-20 03:26:03,376.376 INFO    ] ================================================
[2026-10-20 03:26:04,036.036 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:26:04
[2026-10-20 03:26:04,672.672 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:26:04,960.960 INFO    ] Initializing speech engine...
[2026-10-20 03:26:04,973.973 INFO    ] 2026-10-20 03:26:04
[2026-10-20 03:26:05,271.271 INFO    ] 2026-10-20 03:26:05
[2026-10-20 03:26:05,309.309 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:26:05,538.538 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:26:05,591.591 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:26:05,778.778 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:26:05,810.810 INFO    ] time= 20/10/2026 03:26:05
[2026-10-20 03:26:05,864.864 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:26:05,914.914 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:26:06,066.066 INFO    ] No existing commands found in stream
[2026-10-20 03:26:11,083.083 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:26:11,086.086 INFO    ] Waiting 2.29 seconds before fallback handling...
[2026-10-20 03:26:13,944.944 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 03:26:13,947.947 INFO    ] Checking for system updates...
[2026-10-20 03:26:13,986.986 INFO    ] 200
[2026-10-20 03:26:13,988.988 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:26:14,041.041 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:26:14,043.043 INFO    ] No update needed
[2026-10-20 03:26:14,046.046 INFO    ] Checking for camera pi updates...
[2026-10-20 03:26:14,083.083 INFO    ] 200
[2026-10-20 03:26:14,085.085 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:26:14,130.130 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:26:14,171.171 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:26:14,174.174 INFO    ] No camera update needed
[2026-10-20 03:26:14,176.176 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:26:14,178.178 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:26:14,184.184 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:26:14,189.189 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:26:16,229.229 INFO    ] ================================================
[2026-10-20 03:26:16,244.244 INFO    ] Launching Daemon at Tue Oct 20 03:26:16 IST 2026
[2026-10-20 03:26:16,254.254 INFO    ] ================================================
[2026-10-20 03:26:16,820.820 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:26:16
[2026-10-20 03:26:17,410.410 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:26:17,678.678 INFO    ] Initializing speech engine...
[2026-10-20 03:26:17,694.694 INFO    ] 2026-10-20 03:26:17
[2026-10-20 03:26:17,984.984 INFO    ] 2026-10-20 03:26:17
[2026-10-20 03:26:18,024.024 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:26:18,235.235 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:26:18,293.293 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:26:18,520.520 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:26:18,561.561 INFO    ] time= 20/10/2026 03:26:18
[2026-10-20 03:26:18,568.568 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:26:18,586.586 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:26:18,717.717 INFO    ] No existing commands found in stream
[2026-10-20 03:26:23,733.733 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:26:23,736.736 INFO    ] Waiting 1.60 seconds before fallback handling...
[2026-10-20 03:26:25,957.957 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:26:25,960.960 INFO    ] Checking for system updates...
[2026-10-20 03:26:26,002.002 INFO    ] 200
[2026-10-20 03:26:26,005.005 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:26:26,064.064 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:26:26,066.066 INFO    ] No update needed
[2026-10-20 03:26:26,069.069 INFO    ] Checking for camera pi updates...
[2026-10-20 03:26:26,107.107 INFO    ] 200
[2026-10-20 03:26:26,109.109 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:26:26,150.150 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:26:26,187.187 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:26:26,190.190 INFO    ] No camera update needed
[2026-10-20 03:26:26,193.193 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:26:26,195.195 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:26:26,201.201 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:26:26,206.206 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:26:28,245.245 INFO    ] ================================================
[2026-10-20 03:26:28,259.259 INFO    ] Launching Daemon at Tue Oct 20 03:26:28 IST 2026
[2026-10-20 03:26:28,270.270 INFO    ] ================================================
[2026-10-20 03:26:28,835.835 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:26:28
[2026-10-20 03:26:29,423.423 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:26:29,705.705 INFO    ] Initializing speech engine...
[2026-10-20 03:26:29,712.712 INFO    ] 2026-10-20 03:26:29
[2026-10-20 03:26:29,970.970 INFO    ] 2026-10-20 03:26:29
[2026-10-20 03:26:30,000.000 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:26:30,263.263 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:26:30,268.268 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:26:30,501.501 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:26:30,525.525 INFO    ] time= 20/10/2026 03:26:30
[2026-10-20 03:26:30,541.541 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:26:30,571.571 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:26:30,687.687 INFO    ] No existing commands found in stream
[2026-10-20 03:26:35,707.707 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:26:35,710.710 INFO    ] Waiting 3.31 seconds before fallback handling...
[2026-10-20 03:26:39,572.572 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:26:39,575.575 INFO    ] Checking for system updates...
[2026-10-20 03:26:39,613.613 INFO    ] 200
[2026-10-20 03:26:39,616.616 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:26:39,667.667 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:26:39,669.669 INFO    ] No update needed
[2026-10-20 03:26:39,671.671 INFO    ] Checking for camera pi updates...
[2026-10-20 03:26:39,708.708 INFO    ] 200
[2026-10-20 03:26:39,711.711 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:26:39,750.750 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:26:39,792.792 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:26:39,794.794 INFO    ] No camera update needed
[2026-10-20 03:26:39,796.796 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:26:39,799.799 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:26:39,804.804 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:26:39,809.809 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:26:41,849.849 INFO    ] ================================================
[2026-10-20 03:26:41,864.864 INFO    ] Launching Daemon at Tue Oct 20 03:26:41 IST 2026
[2026-10-20 03:26:41,875.875 INFO    ] ================================================
[2026-10-20 03:26:42,484.484 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:26:42
[2026-10-20 03:26:43,145.145 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:26:43,447.447 INFO    ] Initializing speech engine...
[2026-10-20 03:26:43,454.454 INFO    ] 2026-10-20 03:26:43
[2026-10-20 03:26:43,728.728 INFO    ] 2026-10-20 03:26:43
[2026-10-20 03:26:43,783.783 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:26:44,072.072 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:26:44,081.081 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:26:44,272.272 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:26:44,294.294 INFO    ] time= 20/10/2026 03:26:44
[2026-10-20 03:26:44,320.320 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:26:44,330.330 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:26:44,460.460 INFO    ] No existing commands found in stream
[2026-10-20 03:26:49,486.486 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:26:49,489.489 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-10-20 03:26:52,469.469 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:26:52,472.472 INFO    ] Checking for system updates...
[2026-10-20 03:26:52,512.512 INFO    ] 200
[2026-10-20 03:26:52,515.515 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:26:52,573.573 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:26:52,575.575 INFO    ] No update needed
[2026-10-20 03:26:52,577.577 INFO    ] Checking for camera pi updates...
[2026-10-20 03:26:52,611.611 INFO    ] 200
[2026-10-20 03:26:52,614.614 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:26:52,657.657 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:26:52,698.698 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:26:52,701.701 INFO    ] No camera update needed
[2026-10-20 03:26:52,703.703 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:26:52,705.705 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:26:52,711.711 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:26:52,716.716 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:26:54,755.755 INFO    ] ================================================
[2026-10-20 03:26:54,770.770 INFO    ] Launching Daemon at Tue Oct 20 03:26:54 IST 2026
[2026-10-20 03:26:54,781.781 INFO    ] ================================================
[2026-10-20 03:26:55,400.400 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:26:55
[2026-10-20 03:26:56,057.057 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:26:56,354.354 INFO    ] Initializing speech engine...
[2026-10-20 03:26:56,366.366 INFO    ] 2026-10-20 03:26:56
[2026-10-20 03:26:56,674.674 INFO    ] 2026-10-20 03:26:56
[2026-10-20 03:26:56,750.750 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:26:56,973.973 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:26:56,982.982 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:26:57,178.178 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:26:57,197.197 INFO    ] time= 20/10/2026 03:26:57
[2026-10-20 03:26:57,227.227 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:26:57,238.238 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:26:57,397.397 INFO    ] No existing commands found in stream
[2026-10-20 03:27:02,429.429 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:27:02,432.432 INFO    ] Waiting 3.29 seconds before fallback handling...
[2026-10-20 03:27:06,281.281 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:27:06,284.284 INFO    ] Checking for system updates...
[2026-10-20 03:27:06,324.324 INFO    ] 200
[2026-10-20 03:27:06,326.326 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:27:06,384.384 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:27:06,387.387 INFO    ] No update needed
[2026-10-20 03:27:06,389.389 INFO    ] Checking for camera pi updates...
[2026-10-20 03:27:06,426.426 INFO    ] 200
[2026-10-20 03:27:06,429.429 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:27:06,476.476 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:27:06,523.523 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:27:06,525.525 INFO    ] No camera update needed
[2026-10-20 03:27:06,529.529 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:27:06,532.532 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:27:06,537.537 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:27:06,543.543 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:27:08,583.583 INFO    ] ================================================
[2026-10-20 03:27:08,598.598 INFO    ] Launching Daemon at Tue Oct 20 03:27:08 IST 2026
[2026-10-20 03:27:08,609.609 INFO    ] ================================================
[2026-10-20 03:27:09,176.176 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:27:09
[2026-10-20 03:27:09,761.761 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:27:10,009.009 INFO    ] Initializing speech engine...
[2026-10-20 03:27:10,024.024 INFO    ] 2026-10-20 03:27:10
[2026-10-20 03:27:10,294.294 INFO    ] 2026-10-20 03:27:10
[2026-10-20 03:27:10,330.330 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:27:10,601.601 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:27:10,606.606 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:27:10,776.776 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:27:10,826.826 INFO    ] time= 20/10/2026 03:27:10
[2026-10-20 03:27:10,872.872 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:27:10,878.878 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:27:11,045.045 INFO    ] No existing commands found in stream
[2026-10-20 03:27:16,075.075 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:27:16,078.078 INFO    ] Waiting 2.05 seconds before fallback handling...
[2026-10-20 03:27:18,625.625 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 03:27:18,627.627 INFO    ] Checking for system updates...
[2026-10-20 03:27:18,662.662 INFO    ] 200
[2026-10-20 03:27:18,665.665 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:27:18,729.729 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:27:18,731.731 INFO    ] No update needed
[2026-10-20 03:27:18,734.734 INFO    ] Checking for camera pi updates...
[2026-10-20 03:27:18,767.767 INFO    ] 200
[2026-10-20 03:27:18,769.769 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:27:18,810.810 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:27:18,853.853 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:27:18,855.855 INFO    ] No camera update needed
[2026-10-20 03:27:18,857.857 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:27:18,860.860 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:27:18,865.865 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:27:18,870.870 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:27:20,912.912 INFO    ] ================================================
[2026-10-20 03:27:20,927.927 INFO    ] Launching Daemon at Tue Oct 20 03:27:20 IST 2026
[2026-10-20 03:27:20,938.938 INFO    ] ================================================
[2026-10-20 03:27:21,567.567 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:27:21
[2026-10-20 03:27:22,214.214 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:27:22,510.510 INFO    ] Initializing speech engine...
[2026-10-20 03:27:22,516.516 INFO    ] 2026-10-20 03:27:22
[2026-10-20 03:27:22,783.783 INFO    ] 2026-10-20 03:27:22
[2026-10-20 03:27:22,840.840 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:27:23,187.187 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:27:23,219.219 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:27:23,436.436 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:27:23,477.477 INFO    ] time= 20/10/2026 03:27:23
[2026-10-20 03:27:23,528.528 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:27:23,579.579 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:27:23,737.737 INFO    ] No existing commands found in stream
[2026-10-20 03:27:28,774.774 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:27:28,777.777 INFO    ] Waiting 0.38 seconds before fallback handling...
[2026-10-20 03:27:29,700.700 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 03:27:29,702.702 INFO    ] Checking for system updates...
[2026-10-20 03:27:29,742.742 INFO    ] 200
[2026-10-20 03:27:29,744.744 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:27:29,801.801 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:27:29,803.803 INFO    ] No update needed
[2026-10-20 03:27:29,806.806 INFO    ] Checking for camera pi updates...
[2026-10-20 03:27:29,839.839 INFO    ] 200
[2026-10-20 03:27:29,842.842 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:27:29,885.885 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:27:29,935.935 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:27:29,937.937 INFO    ] No camera update needed
[2026-10-20 03:27:29,940.940 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:27:29,942.942 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:27:29,947.947 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:27:29,952.952 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:27:31,993.993 INFO    ] ================================================
[2026-10-20 03:27:32,010.010 INFO    ] Launching Daemon at Tue Oct 20 03:27:32 IST 2026
[2026-10-20 03:27:32,022.022 INFO    ] ================================================
[2026-10-20 03:27:32,680.680 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:27:32
[2026-10-20 03:27:33,329.329 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:27:33,635.635 INFO    ] Initializing speech engine...
[2026-10-20 03:27:33,642.642 INFO    ] 2026-10-20 03:27:33
[2026-10-20 03:27:33,943.943 INFO    ] 2026-10-20 03:27:33
[2026-10-20 03:27:34,031.031 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:27:34,307.307 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:27:34,319.319 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:27:34,561.561 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:27:34,607.607 INFO    ] time= 20/10/2026 03:27:34
[2026-10-20 03:27:34,672.672 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:27:34,698.698 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:27:34,847.847 INFO    ] No existing commands found in stream
[2026-10-20 03:27:39,870.870 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:27:39,873.873 INFO    ] Waiting 1.17 seconds before fallback handling...
[2026-10-20 03:27:41,586.586 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:27:41,588.588 INFO    ] Checking for system updates...
[2026-10-20 03:27:41,624.624 INFO    ] 200
[2026-10-20 03:27:41,627.627 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:27:41,680.680 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:27:41,682.682 INFO    ] No update needed
[2026-10-20 03:27:41,685.685 INFO    ] Checking for camera pi updates...
[2026-10-20 03:27:41,718.718 INFO    ] 200
[2026-10-20 03:27:41,720.720 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:27:41,762.762 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:27:41,802.802 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:27:41,805.805 INFO    ] No camera update needed
[2026-10-20 03:27:41,807.807 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:27:41,810.810 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:27:41,815.815 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:27:41,821.821 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:27:43,860.860 INFO    ] ================================================
[2026-10-20 03:27:43,875.875 INFO    ] Launching Daemon at Tue Oct 20 03:27:43 IST 2026
[2026-10-20 03:27:43,886.886 INFO    ] ================================================
[2026-10-20 03:27:44,462.462 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:27:44
[2026-10-20 03:27:45,046.046 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:27:45,314.314 INFO    ] Initializing speech engine...
[2026-10-20 03:27:45,322.322 INFO    ] 2026-10-20 03:27:45
[2026-10-20 03:27:45,576.576 INFO    ] 2026-10-20 03:27:45
[2026-10-20 03:27:45,611.611 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:27:45,863.863 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:27:45,868.868 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:27:46,083.083 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:27:46,127.127 INFO    ] time= 20/10/2026 03:27:46
[2026-10-20 03:27:46,160.160 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:27:46,179.179 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:27:46,317.317 INFO    ] No existing commands found in stream
[2026-10-20 03:27:51,341.341 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:27:51,343.343 INFO    ] Waiting 0.84 seconds before fallback handling...
[2026-10-20 03:27:52,735.735 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 03:27:52,738.738 INFO    ] Checking for system updates...
[2026-10-20 03:27:52,777.777 INFO    ] 200
[2026-10-20 03:27:52,780.780 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:27:52,834.834 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:27:52,836.836 INFO    ] No update needed
[2026-10-20 03:27:52,839.839 INFO    ] Checking for camera pi updates...
[2026-10-20 03:27:52,877.877 INFO    ] 200
[2026-10-20 03:27:52,879.879 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:27:52,919.919 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:27:52,971.971 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:27:52,973.973 INFO    ] No camera update needed
[2026-10-20 03:27:52,975.975 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:27:52,978.978 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:27:52,984.984 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:27:52,989.989 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:27:55,031.031 INFO    ] ================================================
[2026-10-20 03:27:55,045.045 INFO    ] Launching Daemon at Tue Oct 20 03:27:55 IST 2026
[2026-10-20 03:27:55,056.056 INFO    ] ================================================
[2026-10-20 03:27:55,686.686 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:27:55
[2026-10-20 03:27:56,336.336 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:27:56,631.631 INFO    ] Initializing speech engine...
[2026-10-20 03:27:56,644.644 INFO    ] 2026-10-20 03:27:56
[2026-10-20 03:27:56,917.917 INFO    ] 2026-10-20 03:27:56
[2026-10-20 03:27:56,962.962 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:27:57,246.246 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:27:57,255.255 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:27:57,464.464 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:27:57,496.496 INFO    ] time= 20/10/2026 03:27:57
[2026-10-20 03:27:57,505.505 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:27:57,515.515 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:27:57,689.689 INFO    ] No existing commands found in stream
[2026-10-20 03:28:02,720.720 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:28:02,732.732 INFO    ] Waiting 2.58 seconds before fallback handling...
[2026-10-20 03:28:05,831.831 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:28:05,834.834 INFO    ] Checking for system updates...
[2026-10-20 03:28:05,872.872 INFO    ] 200
[2026-10-20 03:28:05,874.874 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:28:05,926.926 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:28:05,928.928 INFO    ] No update needed
[2026-10-20 03:28:05,931.931 INFO    ] Checking for camera pi updates...
[2026-10-20 03:28:05,969.969 INFO    ] 200
[2026-10-20 03:28:05,972.972 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:28:06,029.029 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:28:06,185.185 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:28:06,187.187 INFO    ] No camera update needed
[2026-10-20 03:28:06,190.190 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:28:06,193.193 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:28:06,199.199 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:28:06,204.204 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:28:08,244.244 INFO    ] ================================================
[2026-10-20 03:28:08,259.259 INFO    ] Launching Daemon at Tue Oct 20 03:28:08 IST 2026
[2026-10-20 03:28:08,269.269 INFO    ] ================================================
[2026-10-20 03:28:08,849.849 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:28:08
[2026-10-20 03:28:09,443.443 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:28:09,716.716 INFO    ] Initializing speech engine...
[2026-10-20 03:28:09,729.729 INFO    ] 2026-10-20 03:28:09
[2026-10-20 03:28:09,989.989 INFO    ] 2026-10-20 03:28:09
[2026-10-20 03:28:10,025.025 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:28:10,306.306 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:28:10,316.316 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:28:10,547.547 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:28:10,602.602 INFO    ] time= 20/10/2026 03:28:10
[2026-10-20 03:28:10,611.611 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:28:10,628.628 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:28:10,751.751 INFO    ] No existing commands found in stream
[2026-10-20 03:28:15,782.782 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:28:15,784.784 INFO    ] Waiting 1.30 seconds before fallback handling...
[2026-10-20 03:28:17,612.612 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 03:28:17,615.615 INFO    ] Checking for system updates...
[2026-10-20 03:28:17,650.650 INFO    ] 200
[2026-10-20 03:28:17,652.652 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:28:17,708.708 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:28:17,710.710 INFO    ] No update needed
[2026-10-20 03:28:17,713.713 INFO    ] Checking for camera pi updates...
[2026-10-20 03:28:17,746.746 INFO    ] 200
[2026-10-20 03:28:17,749.749 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:28:17,792.792 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:28:17,833.833 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:28:17,835.835 INFO    ] No camera update needed
[2026-10-20 03:28:17,838.838 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:28:17,841.841 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:28:17,847.847 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:28:17,852.852 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:28:19,891.891 INFO    ] ================================================
[2026-10-20 03:28:19,906.906 INFO    ] Launching Daemon at Tue Oct 20 03:28:19 IST 2026
[2026-10-20 03:28:19,917.917 INFO    ] ================================================
[2026-10-20 03:28:20,554.554 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:28:20
[2026-10-20 03:28:21,202.202 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:28:21,496.496 INFO    ] Initializing speech engine...
[2026-10-20 03:28:21,506.506 INFO    ] 2026-10-20 03:28:21
[2026-10-20 03:28:21,785.785 INFO    ] 2026-10-20 03:28:21
[2026-10-20 03:28:21,830.830 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:28:22,114.114 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:28:22,121.121 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:28:22,316.316 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:28:22,338.338 INFO    ] time= 20/10/2026 03:28:22
[2026-10-20 03:28:22,364.364 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:28:22,372.372 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:28:22,504.504 INFO    ] No existing commands found in stream
[2026-10-20 03:28:27,530.530 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:28:27,534.534 INFO    ] Waiting 0.46 seconds before fallback handling...
[2026-10-20 03:28:28,531.531 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:28:28,533.533 INFO    ] Checking for system updates...
[2026-10-20 03:28:28,570.570 INFO    ] 200
[2026-10-20 03:28:28,573.573 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:28:28,633.633 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:28:28,636.636 INFO    ] No update needed
[2026-10-20 03:28:28,640.640 INFO    ] Checking for camera pi updates...
[2026-10-20 03:28:28,674.674 INFO    ] 200
[2026-10-20 03:28:28,677.677 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:28:28,718.718 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:28:28,761.761 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:28:28,763.763 INFO    ] No camera update needed
[2026-10-20 03:28:28,766.766 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:28:28,769.769 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:28:28,775.775 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:28:28,780.780 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:28:30,821.821 INFO    ] ================================================
[2026-10-20 03:28:30,837.837 INFO    ] Launching Daemon at Tue Oct 20 03:28:30 IST 2026
[2026-10-20 03:28:30,848.848 INFO    ] ================================================
[2026-10-20 03:28:31,437.437 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:28:31
[2026-10-20 03:28:32,032.032 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:28:32,315.315 INFO    ] Initializing speech engine...
[2026-10-20 03:28:32,340.340 INFO    ] 2026-10-20 03:28:32
[2026-10-20 03:28:32,620.620 INFO    ] 2026-10-20 03:28:32
[2026-10-20 03:28:32,662.662 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:28:32,890.890 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:28:32,898.898 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:28:33,119.119 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:28:33,152.152 INFO    ] time= 20/10/2026 03:28:33
[2026-10-20 03:28:33,191.191 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:28:33,256.256 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:28:33,348.348 INFO    ] No existing commands found in stream
[2026-10-20 03:28:38,374.374 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:28:38,377.377 INFO    ] Waiting 2.80 seconds before fallback handling...
[2026-10-20 03:28:41,648.648 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 03:28:41,651.651 INFO    ] Checking for system updates...
[2026-10-20 03:28:41,689.689 INFO    ] 200
[2026-10-20 03:28:41,691.691 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:28:41,746.746 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:28:41,749.749 INFO    ] No update needed
[2026-10-20 03:28:41,751.751 INFO    ] Checking for camera pi updates...
[2026-10-20 03:28:41,784.784 INFO    ] 200
[2026-10-20 03:28:41,787.787 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:28:41,826.826 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:28:41,866.866 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:28:41,868.868 INFO    ] No camera update needed
[2026-10-20 03:28:41,871.871 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:28:41,873.873 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:28:41,878.878 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:28:41,883.883 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:28:43,923.923 INFO    ] ================================================
[2026-10-20 03:28:43,939.939 INFO    ] Launching Daemon at Tue Oct 20 03:28:43 IST 2026
[2026-10-20 03:28:43,950.950 INFO    ] ================================================
[2026-10-20 03:28:44,537.537 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:28:44
[2026-10-20 03:28:45,144.144 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:28:45,424.424 INFO    ] Initializing speech engine...
[2026-10-20 03:28:45,432.432 INFO    ] 2026-10-20 03:28:45
[2026-10-20 03:28:45,707.707 INFO    ] 2026-10-20 03:28:45
[2026-10-20 03:28:45,749.749 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:28:45,993.993 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:28:45,999.999 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:28:46,230.230 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:28:46,237.237 INFO    ] time= 20/10/2026 03:28:46
[2026-10-20 03:28:46,255.255 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:28:46,267.267 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:28:46,391.391 INFO    ] No existing commands found in stream
[2026-10-20 03:28:51,411.411 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:28:51,413.413 INFO    ] Waiting 1.48 seconds before fallback handling...
[2026-10-20 03:28:53,424.424 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:28:53,427.427 INFO    ] Checking for system updates...
[2026-10-20 03:28:53,462.462 INFO    ] 200
[2026-10-20 03:28:53,464.464 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:28:53,519.519 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:28:53,522.522 INFO    ] No update needed
[2026-10-20 03:28:53,524.524 INFO    ] Checking for camera pi updates...
[2026-10-20 03:28:53,559.559 INFO    ] 200
[2026-10-20 03:28:53,561.561 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:28:53,611.611 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:28:53,657.657 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:28:53,659.659 INFO    ] No camera update needed
[2026-10-20 03:28:53,662.662 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:28:53,664.664 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:28:53,669.669 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:28:53,674.674 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:28:55,714.714 INFO    ] ================================================
[2026-10-20 03:28:55,730.730 INFO    ] Launching Daemon at Tue Oct 20 03:28:55 IST 2026
[2026-10-20 03:28:55,741.741 INFO    ] ================================================
[2026-10-20 03:28:56,315.315 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:28:56
[2026-10-20 03:28:56,900.900 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:28:57,169.169 INFO    ] Initializing speech engine...
[2026-10-20 03:28:57,177.177 INFO    ] 2026-10-20 03:28:57
[2026-10-20 03:28:57,429.429 INFO    ] 2026-10-20 03:28:57
[2026-10-20 03:28:57,465.465 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:28:57,740.740 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:28:57,747.747 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:28:57,970.970 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:28:57,990.990 INFO    ] time= 20/10/2026 03:28:57
[2026-10-20 03:28:57,996.996 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:28:58,014.014 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:28:58,149.149 INFO    ] No existing commands found in stream
[2026-10-20 03:29:03,161.161 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:29:03,164.164 INFO    ] Waiting 3.96 seconds before fallback handling...
[2026-10-20 03:29:08,636.636 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:29:08,639.639 INFO    ] Checking for system updates...
[2026-10-20 03:29:08,675.675 INFO    ] 200
[2026-10-20 03:29:08,679.679 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:29:08,731.731 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:29:08,734.734 INFO    ] No update needed
[2026-10-20 03:29:08,736.736 INFO    ] Checking for camera pi updates...
[2026-10-20 03:29:08,771.771 INFO    ] 200
[2026-10-20 03:29:08,773.773 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:29:08,814.814 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:29:08,862.862 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:29:08,865.865 INFO    ] No camera update needed
[2026-10-20 03:29:08,867.867 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:29:08,870.870 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:29:08,876.876 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:29:08,882.882 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:29:10,923.923 INFO    ] ================================================
[2026-10-20 03:29:10,939.939 INFO    ] Launching Daemon at Tue Oct 20 03:29:10 IST 2026
[2026-10-20 03:29:10,950.950 INFO    ] ================================================
[2026-10-20 03:29:11,591.591 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:29:11
[2026-10-20 03:29:12,252.252 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:29:12,553.553 INFO    ] Initializing speech engine...
[2026-10-20 03:29:12,562.562 INFO    ] 2026-10-20 03:29:12
[2026-10-20 03:29:12,828.828 INFO    ] 2026-10-20 03:29:12
[2026-10-20 03:29:12,871.871 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:29:13,124.124 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:29:13,130.130 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:29:13,386.386 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:29:13,408.408 INFO    ] time= 20/10/2026 03:29:13
[2026-10-20 03:29:13,434.434 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:29:13,442.442 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:29:13,559.559 INFO    ] No existing commands found in stream
[2026-10-20 03:29:18,590.590 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:29:18,593.593 INFO    ] Waiting 0.68 seconds before fallback handling...
[2026-10-20 03:29:19,855.855 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:29:19,858.858 INFO    ] Checking for system updates...
[2026-10-20 03:29:19,898.898 INFO    ] 200
[2026-10-20 03:29:19,901.901 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:29:19,954.954 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:29:19,956.956 INFO    ] No update needed
[2026-10-20 03:29:19,959.959 INFO    ] Checking for camera pi updates...
[2026-10-20 03:29:19,997.997 INFO    ] 200
[2026-10-20 03:29:20,000.000 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:29:20,039.039 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:29:20,080.080 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:29:20,082.082 INFO    ] No camera update needed
[2026-10-20 03:29:20,084.084 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:29:20,087.087 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:29:20,092.092 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:29:20,097.097 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:29:22,138.138 INFO    ] ================================================
[2026-10-20 03:29:22,154.154 INFO    ] Launching Daemon at Tue Oct 20 03:29:22 IST 2026
[2026-10-20 03:29:22,165.165 INFO    ] ================================================
[2026-10-20 03:29:22,756.756 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:29:22
[2026-10-20 03:29:23,362.362 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:29:23,642.642 INFO    ] Initializing speech engine...
[2026-10-20 03:29:23,647.647 INFO    ] 2026-10-20 03:29:23
[2026-10-20 03:29:23,906.906 INFO    ] 2026-10-20 03:29:23
[2026-10-20 03:29:23,935.935 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:29:24,210.210 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:29:24,214.214 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:29:24,442.442 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:29:24,451.451 INFO    ] time= 20/10/2026 03:29:24
[2026-10-20 03:29:24,468.468 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:29:24,497.497 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:29:24,618.618 INFO    ] No existing commands found in stream
[2026-10-20 03:29:29,648.648 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:29:29,651.651 INFO    ] Waiting 3.36 seconds before fallback handling...
[2026-10-20 03:29:33,563.563 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 03:29:33,565.565 INFO    ] Checking for system updates...
[2026-10-20 03:29:33,601.601 INFO    ] 200
[2026-10-20 03:29:33,603.603 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:29:33,657.657 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:29:33,659.659 INFO    ] No update needed
[2026-10-20 03:29:33,662.662 INFO    ] Checking for camera pi updates...
[2026-10-20 03:29:33,695.695 INFO    ] 200
[2026-10-20 03:29:33,697.697 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:29:33,737.737 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:29:33,786.786 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:29:33,789.789 INFO    ] No camera update needed
[2026-10-20 03:29:33,791.791 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:29:33,794.794 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:29:33,799.799 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:29:33,804.804 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:29:35,845.845 INFO    ] ================================================
[2026-10-20 03:29:35,861.861 INFO    ] Launching Daemon at Tue Oct 20 03:29:35 IST 2026
[2026-10-20 03:29:35,873.873 INFO    ] ================================================
[2026-10-20 03:29:36,447.447 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:29:36
[2026-10-20 03:29:37,028.028 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:29:37,296.296 INFO    ] Initializing speech engine...
[2026-10-20 03:29:37,306.306 INFO    ] 2026-10-20 03:29:37
[2026-10-20 03:29:37,552.552 INFO    ] 2026-10-20 03:29:37
[2026-10-20 03:29:37,586.586 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:29:37,842.842 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:29:37,847.847 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:29:37,985.985 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:29:38,050.050 INFO    ] time= 20/10/2026 03:29:37
[2026-10-20 03:29:38,104.104 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:29:38,113.113 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:29:38,237.237 INFO    ] No existing commands found in stream
[2026-10-20 03:29:43,262.262 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:29:43,265.265 INFO    ] Waiting 2.70 seconds before fallback handling...
[2026-10-20 03:29:46,487.487 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:29:46,490.490 INFO    ] Checking for system updates...
[2026-10-20 03:29:46,525.525 INFO    ] 200
[2026-10-20 03:29:46,527.527 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:29:46,579.579 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:29:46,581.581 INFO    ] No update needed
[2026-10-20 03:29:46,583.583 INFO    ] Checking for camera pi updates...
[2026-10-20 03:29:46,616.616 INFO    ] 200
[2026-10-20 03:29:46,619.619 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:29:46,661.661 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:29:46,698.698 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:29:46,700.700 INFO    ] No camera update needed
[2026-10-20 03:29:46,703.703 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:29:46,705.705 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:29:46,710.710 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:29:46,715.715 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:29:48,757.757 INFO    ] ================================================
[2026-10-20 03:29:48,772.772 INFO    ] Launching Daemon at Tue Oct 20 03:29:48 IST 2026
[2026-10-20 03:29:48,783.783 INFO    ] ================================================
[2026-10-20 03:29:49,424.424 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:29:49
[2026-10-20 03:29:50,085.085 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:29:50,385.385 INFO    ] Initializing speech engine...
[2026-10-20 03:29:50,393.393 INFO    ] 2026-10-20 03:29:50
[2026-10-20 03:29:50,676.676 INFO    ] 2026-10-20 03:29:50
[2026-10-20 03:29:50,723.723 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:29:50,969.969 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:29:50,978.978 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:29:51,212.212 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:29:51,230.230 INFO    ] time= 20/10/2026 03:29:51
[2026-10-20 03:29:51,250.250 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:29:51,270.270 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:29:51,419.419 INFO    ] No existing commands found in stream
[2026-10-20 03:29:56,454.454 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:29:56,458.458 INFO    ] Waiting 2.81 seconds before fallback handling...
[2026-10-20 03:29:59,846.846 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 03:29:59,850.850 INFO    ] Checking for system updates...
[2026-10-20 03:29:59,890.890 INFO    ] 200
[2026-10-20 03:29:59,893.893 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:29:59,946.946 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:29:59,948.948 INFO    ] No update needed
[2026-10-20 03:29:59,951.951 INFO    ] Checking for camera pi updates...
[2026-10-20 03:29:59,989.989 INFO    ] 200
[2026-10-20 03:29:59,991.991 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:30:00,036.036 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:30:00,081.081 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:30:00,090.090 INFO    ] No camera update needed
[2026-10-20 03:30:00,093.093 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:30:00,095.095 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:30:00,101.101 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:30:00,106.106 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:30:02,161.161 INFO    ] ================================================
[2026-10-20 03:30:02,230.230 INFO    ] Launching Daemon at Tue Oct 20 03:30:02 IST 2026
[2026-10-20 03:30:02,292.292 INFO    ] ================================================
[2026-10-20 03:30:03,072.072 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:30:03
[2026-10-20 03:30:03,811.811 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:30:04,124.124 INFO    ] Initializing speech engine...
[2026-10-20 03:30:04,139.139 INFO    ] 2026-10-20 03:30:04
[2026-10-20 03:30:04,397.397 INFO    ] 2026-10-20 03:30:04
[2026-10-20 03:30:04,434.434 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:30:04,693.693 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:30:04,699.699 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:30:04,883.883 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:30:04,950.950 INFO    ] time= 20/10/2026 03:30:04
[2026-10-20 03:30:04,964.964 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:30:04,982.982 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:30:05,110.110 INFO    ] No existing commands found in stream
[2026-10-20 03:30:10,125.125 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:30:10,128.128 INFO    ] Waiting 1.63 seconds before fallback handling...
[2026-10-20 03:30:12,323.323 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:30:12,326.326 INFO    ] Checking for system updates...
[2026-10-20 03:30:12,361.361 INFO    ] 200
[2026-10-20 03:30:12,364.364 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:30:12,416.416 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:30:12,419.419 INFO    ] No update needed
[2026-10-20 03:30:12,421.421 INFO    ] Checking for camera pi updates...
[2026-10-20 03:30:12,454.454 INFO    ] 200
[2026-10-20 03:30:12,457.457 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:30:12,496.496 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:30:12,642.642 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:30:12,644.644 INFO    ] No camera update needed
[2026-10-20 03:30:12,646.646 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:30:12,649.649 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:30:12,654.654 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:30:12,659.659 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:30:14,700.700 INFO    ] ================================================
[2026-10-20 03:30:14,716.716 INFO    ] Launching Daemon at Tue Oct 20 03:30:14 IST 2026
[2026-10-20 03:30:14,727.727 INFO    ] ================================================
[2026-10-20 03:30:15,386.386 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:30:15
[2026-10-20 03:30:16,065.065 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:30:16,370.370 INFO    ] Initializing speech engine...
[2026-10-20 03:30:16,382.382 INFO    ] 2026-10-20 03:30:16
[2026-10-20 03:30:16,652.652 INFO    ] 2026-10-20 03:30:16
[2026-10-20 03:30:16,706.706 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:30:16,993.993 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:30:17,003.003 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:30:17,196.196 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:30:17,215.215 INFO    ] time= 20/10/2026 03:30:17
[2026-10-20 03:30:17,233.233 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:30:17,252.252 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:30:17,395.395 INFO    ] No existing commands found in stream
[2026-10-20 03:30:22,417.417 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:30:22,421.421 INFO    ] Waiting 3.04 seconds before fallback handling...
[2026-10-20 03:30:26,026.026 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:30:26,029.029 INFO    ] Checking for system updates...
[2026-10-20 03:30:26,066.066 INFO    ] 200
[2026-10-20 03:30:26,070.070 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:30:26,122.122 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:30:26,125.125 INFO    ] No update needed
[2026-10-20 03:30:26,128.128 INFO    ] Checking for camera pi updates...
[2026-10-20 03:30:26,167.167 INFO    ] 200
[2026-10-20 03:30:26,171.171 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:30:26,212.212 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:30:26,251.251 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:30:26,254.254 INFO    ] No camera update needed
[2026-10-20 03:30:26,256.256 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:30:26,259.259 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:30:26,265.265 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:30:26,271.271 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:30:28,313.313 INFO    ] ================================================
[2026-10-20 03:30:28,329.329 INFO    ] Launching Daemon at Tue Oct 20 03:30:28 IST 2026
[2026-10-20 03:30:28,341.341 INFO    ] ================================================
[2026-10-20 03:30:28,998.998 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:30:28
[2026-10-20 03:30:29,676.676 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:30:29,986.986 INFO    ] Initializing speech engine...
[2026-10-20 03:30:29,992.992 INFO    ] 2026-10-20 03:30:29
[2026-10-20 03:30:30,282.282 INFO    ] 2026-10-20 03:30:30
[2026-10-20 03:30:30,328.328 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:30:30,676.676 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:30:30,693.693 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:30:30,936.936 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:30:30,978.978 INFO    ] time= 20/10/2026 03:30:30
[2026-10-20 03:30:31,038.038 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:30:31,076.076 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:30:31,259.259 INFO    ] No existing commands found in stream
[2026-10-20 03:30:36,275.275 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:30:36,278.278 INFO    ] Waiting 1.30 seconds before fallback handling...
[2026-10-20 03:30:38,219.219 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:30:38,222.222 INFO    ] Checking for system updates...
[2026-10-20 03:30:38,264.264 INFO    ] 200
[2026-10-20 03:30:38,266.266 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:30:38,324.324 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:30:38,327.327 INFO    ] No update needed
[2026-10-20 03:30:38,330.330 INFO    ] Checking for camera pi updates...
[2026-10-20 03:30:38,363.363 INFO    ] 200
[2026-10-20 03:30:38,366.366 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:30:38,406.406 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:30:38,447.447 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:30:38,450.450 INFO    ] No camera update needed
[2026-10-20 03:30:38,453.453 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:30:38,455.455 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:30:38,460.460 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:30:38,465.465 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:30:40,507.507 INFO    ] ================================================
[2026-10-20 03:30:40,522.522 INFO    ] Launching Daemon at Tue Oct 20 03:30:40 IST 2026
[2026-10-20 03:30:40,533.533 INFO    ] ================================================
[2026-10-20 03:30:41,103.103 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:30:41
[2026-10-20 03:30:41,687.687 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:30:41,933.933 INFO    ] Initializing speech engine...
[2026-10-20 03:30:41,941.941 INFO    ] 2026-10-20 03:30:41
[2026-10-20 03:30:42,220.220 INFO    ] 2026-10-20 03:30:42
[2026-10-20 03:30:42,255.255 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:30:42,518.518 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:30:42,523.523 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:30:42,759.759 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:30:42,790.790 INFO    ] time= 20/10/2026 03:30:42
[2026-10-20 03:30:42,796.796 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:30:42,814.814 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:30:42,926.926 INFO    ] No existing commands found in stream
[2026-10-20 03:30:47,946.946 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:30:47,949.949 INFO    ] Waiting 2.88 seconds before fallback handling...
[2026-10-20 03:30:51,384.384 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 03:30:51,387.387 INFO    ] Checking for system updates...
[2026-10-20 03:30:51,426.426 INFO    ] 200
[2026-10-20 03:30:51,428.428 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:30:51,481.481 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:30:51,483.483 INFO    ] No update needed
[2026-10-20 03:30:51,485.485 INFO    ] Checking for camera pi updates...
[2026-10-20 03:30:51,518.518 INFO    ] 200
[2026-10-20 03:30:51,521.521 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:30:51,562.562 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:30:51,604.604 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:30:51,606.606 INFO    ] No camera update needed
[2026-10-20 03:30:51,609.609 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:30:51,611.611 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:30:51,616.616 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:30:51,621.621 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:30:53,661.661 INFO    ] ================================================
[2026-10-20 03:30:53,677.677 INFO    ] Launching Daemon at Tue Oct 20 03:30:53 IST 2026
[2026-10-20 03:30:53,688.688 INFO    ] ================================================
[2026-10-20 03:30:54,254.254 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:30:54
[2026-10-20 03:30:54,836.836 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:30:55,103.103 INFO    ] Initializing speech engine...
[2026-10-20 03:30:55,113.113 INFO    ] 2026-10-20 03:30:55
[2026-10-20 03:30:55,358.358 INFO    ] 2026-10-20 03:30:55
[2026-10-20 03:30:55,392.392 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:30:55,647.647 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:30:55,652.652 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:30:55,882.882 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:30:55,910.910 INFO    ] time= 20/10/2026 03:30:55
[2026-10-20 03:30:55,916.916 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:30:55,933.933 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:30:56,043.043 INFO    ] No existing commands found in stream
[2026-10-20 03:31:01,069.069 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:31:01,071.071 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-10-20 03:31:04,834.834 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 03:31:04,836.836 INFO    ] Checking for system updates...
[2026-10-20 03:31:04,872.872 INFO    ] 200
[2026-10-20 03:31:04,874.874 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:31:04,926.926 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:31:04,928.928 INFO    ] No update needed
[2026-10-20 03:31:04,931.931 INFO    ] Checking for camera pi updates...
[2026-10-20 03:31:04,964.964 INFO    ] 200
[2026-10-20 03:31:04,967.967 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:31:05,006.006 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:31:05,047.047 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:31:05,050.050 INFO    ] No camera update needed
[2026-10-20 03:31:05,053.053 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:31:05,055.055 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:31:05,061.061 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:31:05,065.065 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:31:07,109.109 INFO    ] ================================================
[2026-10-20 03:31:07,125.125 INFO    ] Launching Daemon at Tue Oct 20 03:31:07 IST 2026
[2026-10-20 03:31:07,136.136 INFO    ] ================================================
[2026-10-20 03:31:07,706.706 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:31:07
[2026-10-20 03:31:08,299.299 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:31:08,573.573 INFO    ] Initializing speech engine...
[2026-10-20 03:31:08,581.581 INFO    ] 2026-10-20 03:31:08
[2026-10-20 03:31:08,845.845 INFO    ] 2026-10-20 03:31:08
[2026-10-20 03:31:08,904.904 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:31:09,154.154 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:31:09,162.162 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:31:09,388.388 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:31:09,399.399 INFO    ] time= 20/10/2026 03:31:09
[2026-10-20 03:31:09,417.417 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:31:09,444.444 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:31:09,613.613 INFO    ] No existing commands found in stream
[2026-10-20 03:31:14,638.638 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:31:14,641.641 INFO    ] Waiting 1.77 seconds before fallback handling...
[2026-10-20 03:31:16,884.884 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:31:16,886.886 INFO    ] Checking for system updates...
[2026-10-20 03:31:16,921.921 INFO    ] 200
[2026-10-20 03:31:16,924.924 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:31:16,983.983 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:31:16,985.985 INFO    ] No update needed
[2026-10-20 03:31:16,988.988 INFO    ] Checking for camera pi updates...
[2026-10-20 03:31:17,021.021 INFO    ] 200
[2026-10-20 03:31:17,024.024 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:31:17,064.064 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:31:17,102.102 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:31:17,104.104 INFO    ] No camera update needed
[2026-10-20 03:31:17,107.107 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:31:17,109.109 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:31:17,114.114 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:31:17,120.120 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:31:19,162.162 INFO    ] ================================================
[2026-10-20 03:31:19,177.177 INFO    ] Launching Daemon at Tue Oct 20 03:31:19 IST 2026
[2026-10-20 03:31:19,189.189 INFO    ] ================================================
[2026-10-20 03:31:19,758.758 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:31:19
[2026-10-20 03:31:20,341.341 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:31:20,610.610 INFO    ] Initializing speech engine...
[2026-10-20 03:31:20,619.619 INFO    ] 2026-10-20 03:31:20
[2026-10-20 03:31:20,864.864 INFO    ] 2026-10-20 03:31:20
[2026-10-20 03:31:20,899.899 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:31:21,164.164 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:31:21,169.169 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:31:21,392.392 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:31:21,429.429 INFO    ] time= 20/10/2026 03:31:21
[2026-10-20 03:31:21,435.435 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:31:21,452.452 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:31:21,581.581 INFO    ] No existing commands found in stream
[2026-10-20 03:31:26,596.596 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:31:26,599.599 INFO    ] Waiting 3.64 seconds before fallback handling...
[2026-10-20 03:31:30,799.799 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:31:30,801.801 INFO    ] Checking for system updates...
[2026-10-20 03:31:30,837.837 INFO    ] 200
[2026-10-20 03:31:30,840.840 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:31:30,899.899 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:31:30,901.901 INFO    ] No update needed
[2026-10-20 03:31:30,904.904 INFO    ] Checking for camera pi updates...
[2026-10-20 03:31:30,937.937 INFO    ] 200
[2026-10-20 03:31:30,940.940 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:31:30,981.981 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:31:31,022.022 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:31:31,025.025 INFO    ] No camera update needed
[2026-10-20 03:31:31,027.027 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:31:31,029.029 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:31:31,035.035 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:31:31,040.040 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:31:33,084.084 INFO    ] ================================================
[2026-10-20 03:31:33,104.104 INFO    ] Launching Daemon at Tue Oct 20 03:31:33 IST 2026
[2026-10-20 03:31:33,116.116 INFO    ] ================================================
[2026-10-20 03:31:33,759.759 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:31:33
[2026-10-20 03:31:34,440.440 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:31:34,740.740 INFO    ] Initializing speech engine...
[2026-10-20 03:31:34,749.749 INFO    ] 2026-10-20 03:31:34
[2026-10-20 03:31:35,035.035 INFO    ] 2026-10-20 03:31:35
[2026-10-20 03:31:35,080.080 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:31:35,367.367 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:31:35,377.377 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:31:35,588.588 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:31:35,617.617 INFO    ] time= 20/10/2026 03:31:35
[2026-10-20 03:31:35,626.626 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:31:35,643.643 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:31:35,815.815 INFO    ] No existing commands found in stream
[2026-10-20 03:31:40,834.834 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:31:40,837.837 INFO    ] Waiting 3.50 seconds before fallback handling...
[2026-10-20 03:31:44,935.935 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:31:44,939.939 INFO    ] Checking for system updates...
[2026-10-20 03:31:44,975.975 INFO    ] 200
[2026-10-20 03:31:44,978.978 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:31:45,038.038 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:31:45,041.041 INFO    ] No update needed
[2026-10-20 03:31:45,043.043 INFO    ] Checking for camera pi updates...
[2026-10-20 03:31:45,081.081 INFO    ] 200
[2026-10-20 03:31:45,084.084 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:31:45,132.132 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:31:45,180.180 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:31:45,183.183 INFO    ] No camera update needed
[2026-10-20 03:31:45,185.185 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:31:45,187.187 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:31:45,193.193 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:31:45,198.198 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:31:47,238.238 INFO    ] ================================================
[2026-10-20 03:31:47,253.253 INFO    ] Launching Daemon at Tue Oct 20 03:31:47 IST 2026
[2026-10-20 03:31:47,264.264 INFO    ] ================================================
[2026-10-20 03:31:47,830.830 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:31:47
[2026-10-20 03:31:48,427.427 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:31:48,729.729 INFO    ] Initializing speech engine...
[2026-10-20 03:31:48,743.743 INFO    ] 2026-10-20 03:31:48
[2026-10-20 03:31:49,021.021 INFO    ] 2026-10-20 03:31:49
[2026-10-20 03:31:49,064.064 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:31:49,351.351 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:31:49,355.355 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:31:49,550.550 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:31:49,568.568 INFO    ] time= 20/10/2026 03:31:49
[2026-10-20 03:31:49,578.578 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:31:49,604.604 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:31:49,735.735 INFO    ] No existing commands found in stream
[2026-10-20 03:31:54,761.761 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:31:54,764.764 INFO    ] Waiting 3.15 seconds before fallback handling...
[2026-10-20 03:31:58,458.458 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 03:31:58,461.461 INFO    ] Checking for system updates...
[2026-10-20 03:31:58,503.503 INFO    ] 200
[2026-10-20 03:31:58,505.505 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:31:58,563.563 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:31:58,565.565 INFO    ] No update needed
[2026-10-20 03:31:58,568.568 INFO    ] Checking for camera pi updates...
[2026-10-20 03:31:58,606.606 INFO    ] 200
[2026-10-20 03:31:58,609.609 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:31:58,656.656 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:31:58,696.696 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:31:58,699.699 INFO    ] No camera update needed
[2026-10-20 03:31:58,702.702 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:31:58,704.704 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:31:58,711.711 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:31:58,717.717 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:32:00,757.757 INFO    ] ================================================
[2026-10-20 03:32:00,772.772 INFO    ] Launching Daemon at Tue Oct 20 03:32:00 IST 2026
[2026-10-20 03:32:00,783.783 INFO    ] ================================================
[2026-10-20 03:32:01,433.433 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:32:01
[2026-10-20 03:32:02,120.120 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:32:02,433.433 INFO    ] Initializing speech engine...
[2026-10-20 03:32:02,454.454 INFO    ] 2026-10-20 03:32:02
[2026-10-20 03:32:02,779.779 INFO    ] 2026-10-20 03:32:02
[2026-10-20 03:32:02,837.837 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:32:03,040.040 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:32:03,068.068 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:32:03,276.276 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:32:03,300.300 INFO    ] time= 20/10/2026 03:32:03
[2026-10-20 03:32:03,357.357 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:32:03,422.422 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:32:03,560.560 INFO    ] No existing commands found in stream
[2026-10-20 03:32:08,583.583 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:32:08,585.585 INFO    ] Waiting 0.54 seconds before fallback handling...
[2026-10-20 03:32:09,630.630 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:32:09,633.633 INFO    ] Checking for system updates...
[2026-10-20 03:32:09,668.668 INFO    ] 200
[2026-10-20 03:32:09,670.670 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:32:09,733.733 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:32:09,735.735 INFO    ] No update needed
[2026-10-20 03:32:09,737.737 INFO    ] Checking for camera pi updates...
[2026-10-20 03:32:09,770.770 INFO    ] 200
[2026-10-20 03:32:09,773.773 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:32:09,818.818 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:32:09,865.865 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:32:09,868.868 INFO    ] No camera update needed
[2026-10-20 03:32:09,870.870 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:32:09,872.872 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:32:09,878.878 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:32:09,883.883 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:32:11,924.924 INFO    ] ================================================
[2026-10-20 03:32:11,940.940 INFO    ] Launching Daemon at Tue Oct 20 03:32:11 IST 2026
[2026-10-20 03:32:11,951.951 INFO    ] ================================================
[2026-10-20 03:32:12,584.584 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:32:12
[2026-10-20 03:32:13,236.236 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:32:13,526.526 INFO    ] Initializing speech engine...
[2026-10-20 03:32:13,540.540 INFO    ] 2026-10-20 03:32:13
[2026-10-20 03:32:13,812.812 INFO    ] 2026-10-20 03:32:13
[2026-10-20 03:32:13,870.870 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:32:14,127.127 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:32:14,136.136 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:32:14,369.369 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:32:14,379.379 INFO    ] time= 20/10/2026 03:32:14
[2026-10-20 03:32:14,398.398 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:32:14,416.416 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:32:14,553.553 INFO    ] No existing commands found in stream
[2026-10-20 03:32:19,584.584 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:32:19,587.587 INFO    ] Waiting 0.94 seconds before fallback handling...
[2026-10-20 03:32:21,111.111 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:32:21,113.113 INFO    ] Checking for system updates...
[2026-10-20 03:32:21,153.153 INFO    ] 200
[2026-10-20 03:32:21,155.155 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:32:21,213.213 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:32:21,216.216 INFO    ] No update needed
[2026-10-20 03:32:21,220.220 INFO    ] Checking for camera pi updates...
[2026-10-20 03:32:21,263.263 INFO    ] 200
[2026-10-20 03:32:21,265.265 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:32:21,317.317 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:32:21,460.460 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:32:21,462.462 INFO    ] No camera update needed
[2026-10-20 03:32:21,465.465 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:32:21,467.467 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:32:21,473.473 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:32:21,478.478 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:32:23,519.519 INFO    ] ================================================
[2026-10-20 03:32:23,534.534 INFO    ] Launching Daemon at Tue Oct 20 03:32:23 IST 2026
[2026-10-20 03:32:23,546.546 INFO    ] ================================================
[2026-10-20 03:32:24,130.130 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:32:24
[2026-10-20 03:32:24,720.720 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:32:24,981.981 INFO    ] Initializing speech engine...
[2026-10-20 03:32:24,995.995 INFO    ] 2026-10-20 03:32:24
[2026-10-20 03:32:25,266.266 INFO    ] 2026-10-20 03:32:25
[2026-10-20 03:32:25,304.304 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:32:25,561.561 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:32:25,565.565 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:32:25,787.787 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:32:25,825.825 INFO    ] time= 20/10/2026 03:32:25
[2026-10-20 03:32:25,831.831 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:32:25,852.852 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:32:26,000.000 INFO    ] No existing commands found in stream
[2026-10-20 03:32:31,031.031 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:32:31,034.034 INFO    ] Waiting 2.18 seconds before fallback handling...
[2026-10-20 03:32:33,751.751 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:32:33,753.753 INFO    ] Checking for system updates...
[2026-10-20 03:32:33,790.790 INFO    ] 200
[2026-10-20 03:32:33,792.792 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:32:33,844.844 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:32:33,846.846 INFO    ] No update needed
[2026-10-20 03:32:33,848.848 INFO    ] Checking for camera pi updates...
[2026-10-20 03:32:33,884.884 INFO    ] 200
[2026-10-20 03:32:33,886.886 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:32:33,927.927 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:32:33,974.974 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:32:33,977.977 INFO    ] No camera update needed
[2026-10-20 03:32:33,979.979 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:32:33,982.982 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:32:33,987.987 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:32:33,992.992 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:32:36,032.032 INFO    ] ================================================
[2026-10-20 03:32:36,047.047 INFO    ] Launching Daemon at Tue Oct 20 03:32:36 IST 2026
[2026-10-20 03:32:36,058.058 INFO    ] ================================================
[2026-10-20 03:32:36,622.622 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:32:36
[2026-10-20 03:32:37,204.204 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:32:37,484.484 INFO    ] Initializing speech engine...
[2026-10-20 03:32:37,490.490 INFO    ] 2026-10-20 03:32:37
[2026-10-20 03:32:37,751.751 INFO    ] 2026-10-20 03:32:37
[2026-10-20 03:32:37,805.805 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:32:38,090.090 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:32:38,095.095 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:32:38,289.289 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:32:38,296.296 INFO    ] time= 20/10/2026 03:32:38
[2026-10-20 03:32:38,317.317 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:32:38,342.342 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:32:38,463.463 INFO    ] No existing commands found in stream
[2026-10-20 03:32:43,494.494 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:32:43,496.496 INFO    ] Waiting 3.95 seconds before fallback handling...
[2026-10-20 03:32:47,977.977 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 03:32:47,980.980 INFO    ] Checking for system updates...
[2026-10-20 03:32:48,020.020 INFO    ] 200
[2026-10-20 03:32:48,023.023 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:32:48,075.075 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:32:48,078.078 INFO    ] No update needed
[2026-10-20 03:32:48,081.081 INFO    ] Checking for camera pi updates...
[2026-10-20 03:32:48,123.123 INFO    ] 200
[2026-10-20 03:32:48,125.125 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:32:48,165.165 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:32:48,207.207 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:32:48,209.209 INFO    ] No camera update needed
[2026-10-20 03:32:48,212.212 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:32:48,214.214 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:32:48,219.219 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:32:48,224.224 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:32:50,267.267 INFO    ] ================================================
[2026-10-20 03:32:50,282.282 INFO    ] Launching Daemon at Tue Oct 20 03:32:50 IST 2026
[2026-10-20 03:32:50,293.293 INFO    ] ================================================
[2026-10-20 03:32:50,924.924 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:32:50
[2026-10-20 03:32:51,575.575 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:32:51,876.876 INFO    ] Initializing speech engine...
[2026-10-20 03:32:51,888.888 INFO    ] 2026-10-20 03:32:51
[2026-10-20 03:32:52,169.169 INFO    ] 2026-10-20 03:32:52
[2026-10-20 03:32:52,206.206 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:32:52,455.455 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:32:52,461.461 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:32:52,691.691 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:32:52,698.698 INFO    ] time= 20/10/2026 03:32:52
[2026-10-20 03:32:52,717.717 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:32:52,746.746 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:32:52,877.877 INFO    ] No existing commands found in stream
[2026-10-20 03:32:57,908.908 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:32:57,911.911 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-10-20 03:33:01,753.753 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:33:01,757.757 INFO    ] Checking for system updates...
[2026-10-20 03:33:01,808.808 INFO    ] 200
[2026-10-20 03:33:01,812.812 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:33:01,880.880 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:33:01,883.883 INFO    ] No update needed
[2026-10-20 03:33:01,886.886 INFO    ] Checking for camera pi updates...
[2026-10-20 03:33:01,924.924 INFO    ] 200
[2026-10-20 03:33:01,927.927 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:33:01,977.977 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:33:02,014.014 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:33:02,016.016 INFO    ] No camera update needed
[2026-10-20 03:33:02,019.019 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:33:02,022.022 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:33:02,028.028 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:33:02,035.035 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:33:04,078.078 INFO    ] ================================================
[2026-10-20 03:33:04,094.094 INFO    ] Launching Daemon at Tue Oct 20 03:33:04 IST 2026
[2026-10-20 03:33:04,104.104 INFO    ] ================================================
[2026-10-20 03:33:04,669.669 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:33:04
[2026-10-20 03:33:05,257.257 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:33:05,532.532 INFO    ] Initializing speech engine...
[2026-10-20 03:33:05,539.539 INFO    ] 2026-10-20 03:33:05
[2026-10-20 03:33:05,784.784 INFO    ] 2026-10-20 03:33:05
[2026-10-20 03:33:05,820.820 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:33:06,096.096 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:33:06,104.104 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:33:06,338.338 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:33:06,345.345 INFO    ] time= 20/10/2026 03:33:06
[2026-10-20 03:33:06,363.363 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:33:06,385.385 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:33:06,499.499 INFO    ] No existing commands found in stream
[2026-10-20 03:33:11,522.522 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:33:11,525.525 INFO    ] Waiting 2.41 seconds before fallback handling...
[2026-10-20 03:33:14,437.437 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 03:33:14,440.440 INFO    ] Checking for system updates...
[2026-10-20 03:33:14,475.475 INFO    ] 200
[2026-10-20 03:33:14,478.478 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:33:14,530.530 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:33:14,532.532 INFO    ] No update needed
[2026-10-20 03:33:14,535.535 INFO    ] Checking for camera pi updates...
[2026-10-20 03:33:14,572.572 INFO    ] 200
[2026-10-20 03:33:14,574.574 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:33:14,615.615 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:33:14,646.646 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:33:14,648.648 INFO    ] No camera update needed
[2026-10-20 03:33:14,651.651 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:33:14,653.653 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:33:14,658.658 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:33:14,663.663 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:33:16,704.704 INFO    ] ================================================
[2026-10-20 03:33:16,719.719 INFO    ] Launching Daemon at Tue Oct 20 03:33:16 IST 2026
[2026-10-20 03:33:16,730.730 INFO    ] ================================================
[2026-10-20 03:33:17,298.298 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:33:17
[2026-10-20 03:33:17,882.882 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:33:18,134.134 INFO    ] Initializing speech engine...
[2026-10-20 03:33:18,157.157 INFO    ] 2026-10-20 03:33:18
[2026-10-20 03:33:18,413.413 INFO    ] 2026-10-20 03:33:18
[2026-10-20 03:33:18,448.448 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:33:18,706.706 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:33:18,715.715 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:33:18,939.939 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:33:18,981.981 INFO    ] time= 20/10/2026 03:33:18
[2026-10-20 03:33:18,987.987 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:33:19,008.008 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:33:19,136.136 INFO    ] No existing commands found in stream
[2026-10-20 03:33:24,150.150 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:33:24,159.159 INFO    ] Waiting 1.90 seconds before fallback handling...
[2026-10-20 03:33:26,622.622 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:33:26,625.625 INFO    ] Checking for system updates...
[2026-10-20 03:33:26,673.673 INFO    ] 200
[2026-10-20 03:33:26,675.675 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:33:26,765.765 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:33:26,768.768 INFO    ] No update needed
[2026-10-20 03:33:26,770.770 INFO    ] Checking for camera pi updates...
[2026-10-20 03:33:26,804.804 INFO    ] 200
[2026-10-20 03:33:26,806.806 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:33:26,853.853 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:33:26,883.883 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:33:26,885.885 INFO    ] No camera update needed
[2026-10-20 03:33:26,888.888 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:33:26,890.890 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:33:26,896.896 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:33:26,901.901 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:33:28,942.942 INFO    ] ================================================
[2026-10-20 03:33:28,957.957 INFO    ] Launching Daemon at Tue Oct 20 03:33:28 IST 2026
[2026-10-20 03:33:28,968.968 INFO    ] ================================================
[2026-10-20 03:33:29,534.534 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:33:29
[2026-10-20 03:33:30,116.116 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:33:30,374.374 INFO    ] Initializing speech engine...
[2026-10-20 03:33:30,380.380 INFO    ] 2026-10-20 03:33:30
[2026-10-20 03:33:30,674.674 INFO    ] 2026-10-20 03:33:30
[2026-10-20 03:33:30,708.708 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:33:30,935.935 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:33:30,943.943 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:33:31,157.157 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:33:31,171.171 INFO    ] time= 20/10/2026 03:33:31
[2026-10-20 03:33:31,210.210 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:33:31,260.260 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:33:31,372.372 INFO    ] No existing commands found in stream
[2026-10-20 03:33:36,385.385 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:33:36,387.387 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-10-20 03:33:39,381.381 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 03:33:39,383.383 INFO    ] Checking for system updates...
[2026-10-20 03:33:39,422.422 INFO    ] 200
[2026-10-20 03:33:39,424.424 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:33:39,476.476 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:33:39,478.478 INFO    ] No update needed
[2026-10-20 03:33:39,481.481 INFO    ] Checking for camera pi updates...
[2026-10-20 03:33:39,514.514 INFO    ] 200
[2026-10-20 03:33:39,516.516 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:33:39,556.556 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:33:39,583.583 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:33:39,585.585 INFO    ] No camera update needed
[2026-10-20 03:33:39,588.588 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:33:39,590.590 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:33:39,595.595 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:33:39,600.600 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:33:41,641.641 INFO    ] ================================================
[2026-10-20 03:33:41,660.660 INFO    ] Launching Daemon at Tue Oct 20 03:33:41 IST 2026
[2026-10-20 03:33:41,671.671 INFO    ] ================================================
[2026-10-20 03:33:42,244.244 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:33:42
[2026-10-20 03:33:42,834.834 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:33:43,089.089 INFO    ] Initializing speech engine...
[2026-10-20 03:33:43,096.096 INFO    ] 2026-10-20 03:33:43
[2026-10-20 03:33:43,391.391 INFO    ] 2026-10-20 03:33:43
[2026-10-20 03:33:43,425.425 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:33:43,656.656 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:33:43,700.700 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:33:43,969.969 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:33:44,023.023 INFO    ] time= 20/10/2026 03:33:43
[2026-10-20 03:33:44,032.032 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:33:44,050.050 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:33:44,168.168 INFO    ] No existing commands found in stream
[2026-10-20 03:33:49,193.193 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:33:49,196.196 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-10-20 03:33:52,795.795 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:33:52,798.798 INFO    ] Checking for system updates...
[2026-10-20 03:33:52,837.837 INFO    ] 200
[2026-10-20 03:33:52,840.840 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:33:52,897.897 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:33:52,900.900 INFO    ] No update needed
[2026-10-20 03:33:52,902.902 INFO    ] Checking for camera pi updates...
[2026-10-20 03:33:52,936.936 INFO    ] 200
[2026-10-20 03:33:52,938.938 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:33:52,983.983 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:33:53,015.015 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:33:53,017.017 INFO    ] No camera update needed
[2026-10-20 03:33:53,020.020 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:33:53,022.022 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:33:53,027.027 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:33:53,033.033 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:33:55,072.072 INFO    ] ================================================
[2026-10-20 03:33:55,087.087 INFO    ] Launching Daemon at Tue Oct 20 03:33:55 IST 2026
[2026-10-20 03:33:55,098.098 INFO    ] ================================================
[2026-10-20 03:33:55,712.712 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:33:55
[2026-10-20 03:33:56,383.383 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:33:56,672.672 INFO    ] Initializing speech engine...
[2026-10-20 03:33:56,692.692 INFO    ] 2026-10-20 03:33:56
[2026-10-20 03:33:56,970.970 INFO    ] 2026-10-20 03:33:56
[2026-10-20 03:33:57,015.015 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:33:57,297.297 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:33:57,307.307 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:33:57,519.519 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:33:57,569.569 INFO    ] time= 20/10/2026 03:33:57
[2026-10-20 03:33:57,606.606 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:33:57,613.613 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:33:57,745.745 INFO    ] No existing commands found in stream
[2026-10-20 03:34:02,770.770 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:34:02,774.774 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-10-20 03:34:06,675.675 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:34:06,678.678 INFO    ] Checking for system updates...
[2026-10-20 03:34:06,718.718 INFO    ] 200
[2026-10-20 03:34:06,721.721 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:34:06,772.772 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:34:06,775.775 INFO    ] No update needed
[2026-10-20 03:34:06,777.777 INFO    ] Checking for camera pi updates...
[2026-10-20 03:34:06,811.811 INFO    ] 200
[2026-10-20 03:34:06,813.813 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:34:06,854.854 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:34:06,903.903 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:34:06,906.906 INFO    ] No camera update needed
[2026-10-20 03:34:06,908.908 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:34:06,910.910 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:34:06,915.915 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:34:06,921.921 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:34:08,960.960 INFO    ] ================================================
[2026-10-20 03:34:08,976.976 INFO    ] Launching Daemon at Tue Oct 20 03:34:08 IST 2026
[2026-10-20 03:34:08,988.988 INFO    ] ================================================
[2026-10-20 03:34:09,556.556 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:34:09
[2026-10-20 03:34:10,142.142 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:34:10,407.407 INFO    ] Initializing speech engine...
[2026-10-20 03:34:10,419.419 INFO    ] 2026-10-20 03:34:10
[2026-10-20 03:34:10,688.688 INFO    ] 2026-10-20 03:34:10
[2026-10-20 03:34:10,722.722 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:34:10,925.925 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:34:10,945.945 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:34:11,151.151 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:34:11,158.158 INFO    ] time= 20/10/2026 03:34:11
[2026-10-20 03:34:11,192.192 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:34:11,255.255 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:34:11,362.362 INFO    ] No existing commands found in stream
[2026-10-20 03:34:16,374.374 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:34:16,377.377 INFO    ] Waiting 2.80 seconds before fallback handling...
[2026-10-20 03:34:19,716.716 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 03:34:19,719.719 INFO    ] Checking for system updates...
[2026-10-20 03:34:19,755.755 INFO    ] 200
[2026-10-20 03:34:19,758.758 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:34:19,812.812 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:34:19,815.815 INFO    ] No update needed
[2026-10-20 03:34:19,818.818 INFO    ] Checking for camera pi updates...
[2026-10-20 03:34:19,856.856 INFO    ] 200
[2026-10-20 03:34:19,859.859 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:34:19,905.905 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:34:19,949.949 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:34:19,951.951 INFO    ] No camera update needed
[2026-10-20 03:34:19,954.954 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:34:19,957.957 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:34:19,963.963 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:34:19,969.969 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:34:22,011.011 INFO    ] ================================================
[2026-10-20 03:34:22,026.026 INFO    ] Launching Daemon at Tue Oct 20 03:34:22 IST 2026
[2026-10-20 03:34:22,037.037 INFO    ] ================================================
[2026-10-20 03:34:22,726.726 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:34:22
[2026-10-20 03:34:23,413.413 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:34:23,723.723 INFO    ] Initializing speech engine...
[2026-10-20 03:34:23,736.736 INFO    ] 2026-10-20 03:34:23
[2026-10-20 03:34:24,028.028 INFO    ] 2026-10-20 03:34:24
[2026-10-20 03:34:24,140.140 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:34:24,416.416 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:34:24,469.469 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:34:24,694.694 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:34:24,723.723 INFO    ] time= 20/10/2026 03:34:24
[2026-10-20 03:34:24,799.799 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:34:24,815.815 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:34:24,960.960 INFO    ] No existing commands found in stream
[2026-10-20 03:34:29,991.991 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:34:29,994.994 INFO    ] Waiting 1.42 seconds before fallback handling...
[2026-10-20 03:34:32,048.048 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 03:34:32,052.052 INFO    ] Checking for system updates...
[2026-10-20 03:34:32,100.100 INFO    ] 200
[2026-10-20 03:34:32,103.103 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:34:32,173.173 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:34:32,176.176 INFO    ] No update needed
[2026-10-20 03:34:32,179.179 INFO    ] Checking for camera pi updates...
[2026-10-20 03:34:32,219.219 INFO    ] 200
[2026-10-20 03:34:32,222.222 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:34:32,265.265 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:34:32,399.399 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:34:32,402.402 INFO    ] No camera update needed
[2026-10-20 03:34:32,405.405 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:34:32,408.408 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:34:32,414.414 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:34:32,420.420 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:34:34,461.461 INFO    ] ================================================
[2026-10-20 03:34:34,476.476 INFO    ] Launching Daemon at Tue Oct 20 03:34:34 IST 2026
[2026-10-20 03:34:34,486.486 INFO    ] ================================================
[2026-10-20 03:34:35,085.085 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:34:35
[2026-10-20 03:34:35,689.689 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:34:35,965.965 INFO    ] Initializing speech engine...
[2026-10-20 03:34:35,974.974 INFO    ] 2026-10-20 03:34:35
[2026-10-20 03:34:36,235.235 INFO    ] 2026-10-20 03:34:36
[2026-10-20 03:34:36,265.265 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:34:36,514.514 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:34:36,520.520 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:34:36,773.773 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:34:36,791.791 INFO    ] time= 20/10/2026 03:34:36
[2026-10-20 03:34:36,819.819 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:34:36,827.827 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:34:36,930.930 INFO    ] No existing commands found in stream
[2026-10-20 03:34:41,949.949 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:34:41,952.952 INFO    ] Waiting 0.44 seconds before fallback handling...
[2026-10-20 03:34:42,898.898 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:34:42,901.901 INFO    ] Checking for system updates...
[2026-10-20 03:34:42,941.941 INFO    ] 200
[2026-10-20 03:34:42,943.943 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:34:42,996.996 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:34:42,999.999 INFO    ] No update needed
[2026-10-20 03:34:43,001.001 INFO    ] Checking for camera pi updates...
[2026-10-20 03:34:43,035.035 INFO    ] 200
[2026-10-20 03:34:43,037.037 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:34:43,086.086 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:34:43,133.133 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:34:43,135.135 INFO    ] No camera update needed
[2026-10-20 03:34:43,138.138 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:34:43,140.140 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:34:43,145.145 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:34:43,150.150 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:34:45,193.193 INFO    ] ================================================
[2026-10-20 03:34:45,210.210 INFO    ] Launching Daemon at Tue Oct 20 03:34:45 IST 2026
[2026-10-20 03:34:45,221.221 INFO    ] ================================================
[2026-10-20 03:34:45,897.897 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:34:45
[2026-10-20 03:34:46,558.558 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:34:46,822.822 INFO    ] Initializing speech engine...
[2026-10-20 03:34:46,838.838 INFO    ] 2026-10-20 03:34:46
[2026-10-20 03:34:47,126.126 INFO    ] 2026-10-20 03:34:47
[2026-10-20 03:34:47,165.165 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:34:47,390.390 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:34:47,398.398 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:34:47,623.623 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:34:47,631.631 INFO    ] time= 20/10/2026 03:34:47
[2026-10-20 03:34:47,644.644 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:34:47,703.703 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:34:47,784.784 INFO    ] No existing commands found in stream
[2026-10-20 03:34:52,807.807 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:34:52,810.810 INFO    ] Waiting 2.56 seconds before fallback handling...
[2026-10-20 03:34:55,927.927 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 03:34:55,930.930 INFO    ] Checking for system updates...
[2026-10-20 03:34:55,965.965 INFO    ] 200
[2026-10-20 03:34:55,968.968 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:34:56,029.029 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:34:56,031.031 INFO    ] No update needed
[2026-10-20 03:34:56,034.034 INFO    ] Checking for camera pi updates...
[2026-10-20 03:34:56,067.067 INFO    ] 200
[2026-10-20 03:34:56,070.070 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:34:56,116.116 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:34:56,159.159 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:34:56,161.161 INFO    ] No camera update needed
[2026-10-20 03:34:56,164.164 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:34:56,166.166 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:34:56,172.172 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:34:56,176.176 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:34:58,217.217 INFO    ] ================================================
[2026-10-20 03:34:58,233.233 INFO    ] Launching Daemon at Tue Oct 20 03:34:58 IST 2026
[2026-10-20 03:34:58,243.243 INFO    ] ================================================
[2026-10-20 03:34:58,911.911 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:34:58
[2026-10-20 03:34:59,594.594 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:34:59,884.884 INFO    ] Initializing speech engine...
[2026-10-20 03:34:59,891.891 INFO    ] 2026-10-20 03:34:59
[2026-10-20 03:35:00,152.152 INFO    ] 2026-10-20 03:35:00
[2026-10-20 03:35:00,206.206 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:35:00,457.457 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:35:00,475.475 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:35:00,676.676 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:35:00,693.693 INFO    ] time= 20/10/2026 03:35:00
[2026-10-20 03:35:00,699.699 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:35:00,719.719 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:35:00,850.850 INFO    ] No existing commands found in stream
[2026-10-20 03:35:05,872.872 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:35:05,875.875 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-10-20 03:35:07,459.459 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 03:35:07,462.462 INFO    ] Checking for system updates...
[2026-10-20 03:35:07,497.497 INFO    ] 200
[2026-10-20 03:35:07,500.500 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:35:07,559.559 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:35:07,561.561 INFO    ] No update needed
[2026-10-20 03:35:07,563.563 INFO    ] Checking for camera pi updates...
[2026-10-20 03:35:07,600.600 INFO    ] 200
[2026-10-20 03:35:07,603.603 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:35:07,642.642 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:35:07,692.692 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:35:07,695.695 INFO    ] No camera update needed
[2026-10-20 03:35:07,697.697 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:35:07,699.699 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:35:07,705.705 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:35:07,710.710 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:35:09,751.751 INFO    ] ================================================
[2026-10-20 03:35:09,766.766 INFO    ] Launching Daemon at Tue Oct 20 03:35:09 IST 2026
[2026-10-20 03:35:09,777.777 INFO    ] ================================================
[2026-10-20 03:35:10,370.370 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:35:10
[2026-10-20 03:35:10,960.960 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:35:11,212.212 INFO    ] Initializing speech engine...
[2026-10-20 03:35:11,226.226 INFO    ] 2026-10-20 03:35:11
[2026-10-20 03:35:11,511.511 INFO    ] 2026-10-20 03:35:11
[2026-10-20 03:35:11,549.549 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:35:11,749.749 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:35:11,763.763 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:35:12,001.001 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:35:12,024.024 INFO    ] time= 20/10/2026 03:35:12
[2026-10-20 03:35:12,078.078 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:35:12,122.122 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:35:12,289.289 INFO    ] No existing commands found in stream
[2026-10-20 03:35:17,308.308 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:35:17,311.311 INFO    ] Waiting 2.75 seconds before fallback handling...
[2026-10-20 03:35:25,626.626 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 03:35:25,629.629 INFO    ] Checking for system updates...
[2026-10-20 03:35:25,668.668 INFO    ] 200
[2026-10-20 03:35:25,671.671 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:35:25,731.731 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:35:25,733.733 INFO    ] No update needed
[2026-10-20 03:35:25,735.735 INFO    ] Checking for camera pi updates...
[2026-10-20 03:35:25,769.769 INFO    ] 200
[2026-10-20 03:35:25,771.771 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:35:25,816.816 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:35:25,865.865 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:35:25,868.868 INFO    ] No camera update needed
[2026-10-20 03:35:25,870.870 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:35:25,873.873 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:35:25,878.878 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:35:25,883.883 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:35:27,925.925 INFO    ] ================================================
[2026-10-20 03:35:27,940.940 INFO    ] Launching Daemon at Tue Oct 20 03:35:27 IST 2026
[2026-10-20 03:35:27,951.951 INFO    ] ================================================
[2026-10-20 03:35:28,523.523 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:35:28
[2026-10-20 03:35:29,114.114 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:35:29,387.387 INFO    ] Initializing speech engine...
[2026-10-20 03:35:29,405.405 INFO    ] 2026-10-20 03:35:29
[2026-10-20 03:35:29,679.679 INFO    ] 2026-10-20 03:35:29
[2026-10-20 03:35:29,718.718 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:35:29,942.942 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:35:29,960.960 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:35:30,174.174 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:35:30,196.196 INFO    ] time= 20/10/2026 03:35:30
[2026-10-20 03:35:30,245.245 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:35:30,279.279 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:35:30,458.458 INFO    ] No existing commands found in stream
[2026-10-20 03:35:35,481.481 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:35:35,483.483 INFO    ] Waiting 2.54 seconds before fallback handling...
[2026-10-20 03:35:38,549.549 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:35:38,552.552 INFO    ] Checking for system updates...
[2026-10-20 03:35:38,591.591 INFO    ] 200
[2026-10-20 03:35:38,593.593 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:35:38,645.645 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:35:38,648.648 INFO    ] No update needed
[2026-10-20 03:35:38,650.650 INFO    ] Checking for camera pi updates...
[2026-10-20 03:35:38,683.683 INFO    ] 200
[2026-10-20 03:35:38,685.685 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:35:38,725.725 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:35:38,771.771 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:35:38,773.773 INFO    ] No camera update needed
[2026-10-20 03:35:38,775.775 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:35:38,777.777 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:35:38,783.783 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:35:38,788.788 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:35:40,829.829 INFO    ] ================================================
[2026-10-20 03:35:40,844.844 INFO    ] Launching Daemon at Tue Oct 20 03:35:40 IST 2026
[2026-10-20 03:35:40,854.854 INFO    ] ================================================
[2026-10-20 03:35:41,509.509 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:35:41
[2026-10-20 03:35:42,184.184 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:35:42,488.488 INFO    ] Initializing speech engine...
[2026-10-20 03:35:42,495.495 INFO    ] 2026-10-20 03:35:42
[2026-10-20 03:35:42,812.812 INFO    ] 2026-10-20 03:35:42
[2026-10-20 03:35:42,897.897 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:35:43,112.112 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:35:43,118.118 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:35:43,313.313 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:35:43,332.332 INFO    ] time= 20/10/2026 03:35:43
[2026-10-20 03:35:43,361.361 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:35:43,371.371 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:35:43,495.495 INFO    ] No existing commands found in stream
[2026-10-20 03:35:48,526.526 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:35:48,529.529 INFO    ] Waiting 3.99 seconds before fallback handling...
[2026-10-20 03:35:53,073.073 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:35:53,077.077 INFO    ] Checking for system updates...
[2026-10-20 03:35:53,118.118 INFO    ] 200
[2026-10-20 03:35:53,121.121 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:35:53,180.180 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:35:53,184.184 INFO    ] No update needed
[2026-10-20 03:35:53,186.186 INFO    ] Checking for camera pi updates...
[2026-10-20 03:35:53,230.230 INFO    ] 200
[2026-10-20 03:35:53,233.233 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:35:53,280.280 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:35:53,328.328 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:35:53,331.331 INFO    ] No camera update needed
[2026-10-20 03:35:53,333.333 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:35:53,336.336 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:35:53,342.342 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:35:53,348.348 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:35:55,389.389 INFO    ] ================================================
[2026-10-20 03:35:55,404.404 INFO    ] Launching Daemon at Tue Oct 20 03:35:55 IST 2026
[2026-10-20 03:35:55,414.414 INFO    ] ================================================
[2026-10-20 03:35:56,053.053 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:35:56
[2026-10-20 03:35:56,709.709 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:35:57,024.024 INFO    ] Initializing speech engine...
[2026-10-20 03:35:57,033.033 INFO    ] 2026-10-20 03:35:57
[2026-10-20 03:35:57,306.306 INFO    ] 2026-10-20 03:35:57
[2026-10-20 03:35:57,341.341 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:35:57,609.609 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:35:57,618.618 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:35:57,848.848 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:35:57,885.885 INFO    ] time= 20/10/2026 03:35:57
[2026-10-20 03:35:57,903.903 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:35:57,913.913 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:35:58,046.046 INFO    ] No existing commands found in stream
[2026-10-20 03:36:03,072.072 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:36:03,075.075 INFO    ] Waiting 3.64 seconds before fallback handling...
[2026-10-20 03:36:07,251.251 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:36:07,254.254 INFO    ] Checking for system updates...
[2026-10-20 03:36:07,293.293 INFO    ] 200
[2026-10-20 03:36:07,295.295 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:36:07,347.347 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:36:07,349.349 INFO    ] No update needed
[2026-10-20 03:36:07,352.352 INFO    ] Checking for camera pi updates...
[2026-10-20 03:36:07,386.386 INFO    ] 200
[2026-10-20 03:36:07,389.389 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:36:07,435.435 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:36:07,477.477 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:36:07,480.480 INFO    ] No camera update needed
[2026-10-20 03:36:07,482.482 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:36:07,485.485 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:36:07,491.491 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:36:07,497.497 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:36:09,539.539 INFO    ] ================================================
[2026-10-20 03:36:09,557.557 INFO    ] Launching Daemon at Tue Oct 20 03:36:09 IST 2026
[2026-10-20 03:36:09,568.568 INFO    ] ================================================
[2026-10-20 03:36:10,162.162 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:36:10
[2026-10-20 03:36:10,771.771 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:36:11,046.046 INFO    ] Initializing speech engine...
[2026-10-20 03:36:11,057.057 INFO    ] 2026-10-20 03:36:11
[2026-10-20 03:36:11,305.305 INFO    ] 2026-10-20 03:36:11
[2026-10-20 03:36:11,340.340 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:36:11,598.598 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:36:11,604.604 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:36:11,829.829 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:36:11,861.861 INFO    ] time= 20/10/2026 03:36:11
[2026-10-20 03:36:11,867.867 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:36:11,887.887 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:36:12,016.016 INFO    ] No existing commands found in stream
[2026-10-20 03:36:17,039.039 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:36:17,042.042 INFO    ] Waiting 2.14 seconds before fallback handling...
[2026-10-20 03:36:19,687.687 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:36:19,690.690 INFO    ] Checking for system updates...
[2026-10-20 03:36:19,725.725 INFO    ] 200
[2026-10-20 03:36:19,728.728 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:36:19,780.780 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:36:19,782.782 INFO    ] No update needed
[2026-10-20 03:36:19,785.785 INFO    ] Checking for camera pi updates...
[2026-10-20 03:36:19,819.819 INFO    ] 200
[2026-10-20 03:36:19,822.822 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:36:19,863.863 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:36:19,904.904 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:36:19,907.907 INFO    ] No camera update needed
[2026-10-20 03:36:19,909.909 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:36:19,912.912 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:36:19,917.917 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:36:19,922.922 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:36:21,961.961 INFO    ] ================================================
[2026-10-20 03:36:21,976.976 INFO    ] Launching Daemon at Tue Oct 20 03:36:21 IST 2026
[2026-10-20 03:36:21,986.986 INFO    ] ================================================
[2026-10-20 03:36:22,570.570 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:36:22
[2026-10-20 03:36:23,172.172 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:36:23,447.447 INFO    ] Initializing speech engine...
[2026-10-20 03:36:23,457.457 INFO    ] 2026-10-20 03:36:23
[2026-10-20 03:36:23,706.706 INFO    ] 2026-10-20 03:36:23
[2026-10-20 03:36:23,741.741 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:36:24,000.000 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:36:24,006.006 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:36:24,259.259 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:36:24,265.265 INFO    ] time= 20/10/2026 03:36:24
[2026-10-20 03:36:24,286.286 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:36:24,312.312 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:36:24,421.421 INFO    ] No existing commands found in stream
[2026-10-20 03:36:29,450.450 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:36:29,452.452 INFO    ] Waiting 2.18 seconds before fallback handling...
[2026-10-20 03:36:32,200.200 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:36:32,203.203 INFO    ] Checking for system updates...
[2026-10-20 03:36:32,241.241 INFO    ] 200
[2026-10-20 03:36:32,244.244 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:36:32,309.309 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:36:32,311.311 INFO    ] No update needed
[2026-10-20 03:36:32,314.314 INFO    ] Checking for camera pi updates...
[2026-10-20 03:36:32,350.350 INFO    ] 200
[2026-10-20 03:36:32,353.353 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:36:32,408.408 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:36:32,442.442 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:36:32,445.445 INFO    ] No camera update needed
[2026-10-20 03:36:32,448.448 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:36:32,451.451 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:36:32,459.459 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:36:32,466.466 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:36:34,510.510 INFO    ] ================================================
[2026-10-20 03:36:34,526.526 INFO    ] Launching Daemon at Tue Oct 20 03:36:34 IST 2026
[2026-10-20 03:36:34,536.536 INFO    ] ================================================
[2026-10-20 03:36:35,111.111 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:36:35
[2026-10-20 03:36:35,694.694 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:36:35,960.960 INFO    ] Initializing speech engine...
[2026-10-20 03:36:35,972.972 INFO    ] 2026-10-20 03:36:35
[2026-10-20 03:36:36,220.220 INFO    ] 2026-10-20 03:36:36
[2026-10-20 03:36:36,255.255 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:36:36,459.459 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:36:36,518.518 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:36:36,745.745 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:36:36,787.787 INFO    ] time= 20/10/2026 03:36:36
[2026-10-20 03:36:36,794.794 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:36:36,812.812 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:36:36,924.924 INFO    ] No existing commands found in stream
[2026-10-20 03:36:41,952.952 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:36:41,955.955 INFO    ] Waiting 0.55 seconds before fallback handling...
[2026-10-20 03:36:43,047.047 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:36:43,049.049 INFO    ] Checking for system updates...
[2026-10-20 03:36:43,091.091 INFO    ] 200
[2026-10-20 03:36:43,093.093 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:36:43,153.153 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:36:43,155.155 INFO    ] No update needed
[2026-10-20 03:36:43,157.157 INFO    ] Checking for camera pi updates...
[2026-10-20 03:36:43,190.190 INFO    ] 200
[2026-10-20 03:36:43,193.193 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:36:43,233.233 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:36:43,379.379 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:36:43,381.381 INFO    ] No camera update needed
[2026-10-20 03:36:43,384.384 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:36:43,386.386 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:36:43,391.391 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:36:43,396.396 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:36:45,438.438 INFO    ] ================================================
[2026-10-20 03:36:45,453.453 INFO    ] Launching Daemon at Tue Oct 20 03:36:45 IST 2026
[2026-10-20 03:36:45,464.464 INFO    ] ================================================
[2026-10-20 03:36:46,078.078 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:36:46
[2026-10-20 03:36:46,683.683 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:36:46,966.966 INFO    ] Initializing speech engine...
[2026-10-20 03:36:46,974.974 INFO    ] 2026-10-20 03:36:46
[2026-10-20 03:36:47,235.235 INFO    ] 2026-10-20 03:36:47
[2026-10-20 03:36:47,289.289 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:36:47,575.575 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:36:47,584.584 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:36:47,777.777 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:36:47,795.795 INFO    ] time= 20/10/2026 03:36:47
[2026-10-20 03:36:47,823.823 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:36:47,830.830 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:36:47,945.945 INFO    ] No existing commands found in stream
[2026-10-20 03:36:52,975.975 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:36:52,978.978 INFO    ] Waiting 2.50 seconds before fallback handling...
[2026-10-20 03:36:56,031.031 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 03:36:56,034.034 INFO    ] Checking for system updates...
[2026-10-20 03:36:56,069.069 INFO    ] 200
[2026-10-20 03:36:56,071.071 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:36:56,130.130 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:36:56,133.133 INFO    ] No update needed
[2026-10-20 03:36:56,135.135 INFO    ] Checking for camera pi updates...
[2026-10-20 03:36:56,169.169 INFO    ] 200
[2026-10-20 03:36:56,171.171 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:36:56,211.211 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:36:56,260.260 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:36:56,262.262 INFO    ] No camera update needed
[2026-10-20 03:36:56,265.265 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:36:56,268.268 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:36:56,273.273 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:36:56,278.278 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:36:58,324.324 INFO    ] ================================================
[2026-10-20 03:36:58,339.339 INFO    ] Launching Daemon at Tue Oct 20 03:36:58 IST 2026
[2026-10-20 03:36:58,350.350 INFO    ] ================================================
[2026-10-20 03:36:59,017.017 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:36:59
[2026-10-20 03:36:59,702.702 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:36:59,997.997 INFO    ] Initializing speech engine...
[2026-10-20 03:37:00,013.013 INFO    ] 2026-10-20 03:36:59
[2026-10-20 03:37:00,287.287 INFO    ] 2026-10-20 03:37:00
[2026-10-20 03:37:00,354.354 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:37:00,594.594 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:37:00,606.606 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:37:00,793.793 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:37:00,796.796 INFO    ] time= 20/10/2026 03:37:00
[2026-10-20 03:37:00,810.810 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:37:00,869.869 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:37:00,998.998 INFO    ] No existing commands found in stream
[2026-10-20 03:37:06,037.037 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:37:06,040.040 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-10-20 03:37:06,672.672 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 03:37:06,675.675 INFO    ] Checking for system updates...
[2026-10-20 03:37:06,716.716 INFO    ] 200
[2026-10-20 03:37:06,719.719 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:37:06,781.781 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:37:06,785.785 INFO    ] No update needed
[2026-10-20 03:37:06,787.787 INFO    ] Checking for camera pi updates...
[2026-10-20 03:37:06,826.826 INFO    ] 200
[2026-10-20 03:37:06,829.829 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:37:06,880.880 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:37:06,910.910 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:37:06,912.912 INFO    ] No camera update needed
[2026-10-20 03:37:06,914.914 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:37:06,917.917 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:37:06,922.922 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:37:06,927.927 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:37:08,968.968 INFO    ] ================================================
[2026-10-20 03:37:08,986.986 INFO    ] Launching Daemon at Tue Oct 20 03:37:08 IST 2026
[2026-10-20 03:37:09,999.999 INFO    ] ================================================
[2026-10-20 03:37:09,579.579 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:37:09
[2026-10-20 03:37:10,178.178 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:37:10,436.436 INFO    ] Initializing speech engine...
[2026-10-20 03:37:10,452.452 INFO    ] 2026-10-20 03:37:10
[2026-10-20 03:37:10,747.747 INFO    ] 2026-10-20 03:37:10
[2026-10-20 03:37:10,782.782 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:37:10,988.988 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:37:11,005.005 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:37:11,169.169 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:37:11,177.177 INFO    ] time= 20/10/2026 03:37:11
[2026-10-20 03:37:11,182.182 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:37:11,189.189 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:37:11,266.266 INFO    ] No existing commands found in stream
[2026-10-20 03:37:16,297.297 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:37:16,299.299 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-10-20 03:37:19,353.353 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 03:37:19,356.356 INFO    ] Checking for system updates...
[2026-10-20 03:37:19,392.392 INFO    ] 200
[2026-10-20 03:37:19,395.395 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:37:19,447.447 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:37:19,450.450 INFO    ] No update needed
[2026-10-20 03:37:19,452.452 INFO    ] Checking for camera pi updates...
[2026-10-20 03:37:19,490.490 INFO    ] 200
[2026-10-20 03:37:19,492.492 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:37:19,537.537 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:37:19,570.570 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:37:19,573.573 INFO    ] No camera update needed
[2026-10-20 03:37:19,575.575 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:37:19,577.577 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:37:19,583.583 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:37:19,588.588 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:37:21,629.629 INFO    ] ================================================
[2026-10-20 03:37:21,645.645 INFO    ] Launching Daemon at Tue Oct 20 03:37:21 IST 2026
[2026-10-20 03:37:21,657.657 INFO    ] ================================================
[2026-10-20 03:37:22,235.235 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:37:22
[2026-10-20 03:37:22,867.867 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:37:23,162.162 INFO    ] Initializing speech engine...
[2026-10-20 03:37:23,176.176 INFO    ] 2026-10-20 03:37:23
[2026-10-20 03:37:23,445.445 INFO    ] 2026-10-20 03:37:23
[2026-10-20 03:37:23,489.489 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:37:23,719.719 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:37:23,723.723 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:37:23,962.962 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:37:23,991.991 INFO    ] time= 20/10/2026 03:37:23
[2026-10-20 03:37:24,007.007 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:37:24,017.017 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:37:24,149.149 INFO    ] No existing commands found in stream
[2026-10-20 03:37:29,169.169 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:37:29,171.171 INFO    ] Waiting 1.57 seconds before fallback handling...
[2026-10-20 03:37:31,275.275 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 03:37:31,277.277 INFO    ] Checking for system updates...
[2026-10-20 03:37:31,319.319 INFO    ] 200
[2026-10-20 03:37:31,322.322 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:37:31,375.375 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:37:31,378.378 INFO    ] No update needed
[2026-10-20 03:37:31,381.381 INFO    ] Checking for camera pi updates...
[2026-10-20 03:37:31,415.415 INFO    ] 200
[2026-10-20 03:37:31,418.418 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:37:31,459.459 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:37:31,510.510 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:37:31,513.513 INFO    ] No camera update needed
[2026-10-20 03:37:31,516.516 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:37:31,519.519 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:37:31,525.525 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:37:31,531.531 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:37:33,574.574 INFO    ] ================================================
[2026-10-20 03:37:33,590.590 INFO    ] Launching Daemon at Tue Oct 20 03:37:33 IST 2026
[2026-10-20 03:37:33,602.602 INFO    ] ================================================
[2026-10-20 03:37:34,197.197 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:37:34
[2026-10-20 03:37:34,804.804 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:37:35,112.112 INFO    ] Initializing speech engine...
[2026-10-20 03:37:35,126.126 INFO    ] 2026-10-20 03:37:35
[2026-10-20 03:37:35,416.416 INFO    ] 2026-10-20 03:37:35
[2026-10-20 03:37:35,526.526 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:37:35,805.805 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:37:35,831.831 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:37:36,072.072 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:37:36,113.113 INFO    ] time= 20/10/2026 03:37:36
[2026-10-20 03:37:36,189.189 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:37:36,215.215 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:37:36,354.354 INFO    ] No existing commands found in stream
[2026-10-20 03:37:41,391.391 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:37:41,394.394 INFO    ] Waiting 1.26 seconds before fallback handling...
[2026-10-20 03:37:43,234.234 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:37:43,237.237 INFO    ] Checking for system updates...
[2026-10-20 03:37:43,275.275 INFO    ] 200
[2026-10-20 03:37:43,278.278 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:37:43,339.339 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:37:43,342.342 INFO    ] No update needed
[2026-10-20 03:37:43,345.345 INFO    ] Checking for camera pi updates...
[2026-10-20 03:37:43,380.380 INFO    ] 200
[2026-10-20 03:37:43,382.382 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:37:43,429.429 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:37:43,478.478 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:37:43,481.481 INFO    ] No camera update needed
[2026-10-20 03:37:43,484.484 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:37:43,486.486 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:37:43,493.493 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:37:43,499.499 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:37:45,543.543 INFO    ] ================================================
[2026-10-20 03:37:45,560.560 INFO    ] Launching Daemon at Tue Oct 20 03:37:45 IST 2026
[2026-10-20 03:37:45,572.572 INFO    ] ================================================
[2026-10-20 03:37:46,250.250 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:37:46
[2026-10-20 03:37:46,868.868 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:37:47,138.138 INFO    ] Initializing speech engine...
[2026-10-20 03:37:47,146.146 INFO    ] 2026-10-20 03:37:47
[2026-10-20 03:37:47,398.398 INFO    ] 2026-10-20 03:37:47
[2026-10-20 03:37:47,433.433 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:37:47,636.636 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:37:47,696.696 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:37:47,928.928 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:37:47,967.967 INFO    ] time= 20/10/2026 03:37:47
[2026-10-20 03:37:47,973.973 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:37:47,991.991 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:37:48,126.126 INFO    ] No existing commands found in stream
[2026-10-20 03:37:53,144.144 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:37:53,147.147 INFO    ] Waiting 0.66 seconds before fallback handling...
[2026-10-20 03:37:56,394.394 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 03:37:56,396.396 INFO    ] Checking for system updates...
[2026-10-20 03:37:56,432.432 INFO    ] 200
[2026-10-20 03:37:56,434.434 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:37:56,487.487 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:37:56,489.489 INFO    ] No update needed
[2026-10-20 03:37:56,492.492 INFO    ] Checking for camera pi updates...
[2026-10-20 03:37:56,529.529 INFO    ] 200
[2026-10-20 03:37:56,531.531 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:37:56,572.572 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:37:56,625.625 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:37:56,628.628 INFO    ] No camera update needed
[2026-10-20 03:37:56,630.630 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:37:56,632.632 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:37:56,638.638 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:37:56,643.643 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:37:58,687.687 INFO    ] ================================================
[2026-10-20 03:37:58,703.703 INFO    ] Launching Daemon at Tue Oct 20 03:37:58 IST 2026
[2026-10-20 03:37:58,714.714 INFO    ] ================================================
[2026-10-20 03:37:59,299.299 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:37:59
[2026-10-20 03:37:59,905.905 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:38:00,172.172 INFO    ] Initializing speech engine...
[2026-10-20 03:38:00,178.178 INFO    ] 2026-10-20 03:38:00
[2026-10-20 03:38:00,479.479 INFO    ] 2026-10-20 03:38:00
[2026-10-20 03:38:00,514.514 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:38:00,747.747 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:38:00,781.781 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:38:00,943.943 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:38:00,951.951 INFO    ] time= 20/10/2026 03:38:00
[2026-10-20 03:38:00,977.977 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:38:01,025.025 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:38:01,131.131 INFO    ] No existing commands found in stream
[2026-10-20 03:38:06,141.141 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:38:06,144.144 INFO    ] Waiting 3.03 seconds before fallback handling...
[2026-10-20 03:38:09,721.721 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:38:09,723.723 INFO    ] Checking for system updates...
[2026-10-20 03:38:09,759.759 INFO    ] 200
[2026-10-20 03:38:09,762.762 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:38:09,820.820 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:38:09,823.823 INFO    ] No update needed
[2026-10-20 03:38:09,826.826 INFO    ] Checking for camera pi updates...
[2026-10-20 03:38:09,875.875 INFO    ] 200
[2026-10-20 03:38:09,878.878 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:38:09,922.922 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:38:09,971.971 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:38:09,974.974 INFO    ] No camera update needed
[2026-10-20 03:38:09,977.977 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:38:09,980.980 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:38:09,987.987 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:38:09,994.994 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:38:12,034.034 INFO    ] ================================================
[2026-10-20 03:38:12,050.050 INFO    ] Launching Daemon at Tue Oct 20 03:38:12 IST 2026
[2026-10-20 03:38:12,062.062 INFO    ] ================================================
[2026-10-20 03:38:12,638.638 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:38:12
[2026-10-20 03:38:13,224.224 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:38:13,496.496 INFO    ] Initializing speech engine...
[2026-10-20 03:38:13,504.504 INFO    ] 2026-10-20 03:38:13
[2026-10-20 03:38:13,756.756 INFO    ] 2026-10-20 03:38:13
[2026-10-20 03:38:13,791.791 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:38:13,993.993 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:38:14,051.051 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:38:14,197.197 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:38:14,257.257 INFO    ] time= 20/10/2026 03:38:14
[2026-10-20 03:38:14,311.311 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:38:14,332.332 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:38:14,456.456 INFO    ] No existing commands found in stream
[2026-10-20 03:38:19,481.481 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:38:19,484.484 INFO    ] Waiting 3.84 seconds before fallback handling...
[2026-10-20 03:38:23,841.841 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:38:23,844.844 INFO    ] Checking for system updates...
[2026-10-20 03:38:23,879.879 INFO    ] 200
[2026-10-20 03:38:23,882.882 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:38:23,935.935 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:38:23,937.937 INFO    ] No update needed
[2026-10-20 03:38:23,940.940 INFO    ] Checking for camera pi updates...
[2026-10-20 03:38:23,973.973 INFO    ] 200
[2026-10-20 03:38:23,975.975 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:38:24,022.022 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:38:24,074.074 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:38:24,076.076 INFO    ] No camera update needed
[2026-10-20 03:38:24,079.079 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:38:24,081.081 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:38:24,086.086 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:38:24,091.091 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:38:26,131.131 INFO    ] ================================================
[2026-10-20 03:38:26,147.147 INFO    ] Launching Daemon at Tue Oct 20 03:38:26 IST 2026
[2026-10-20 03:38:26,158.158 INFO    ] ================================================
[2026-10-20 03:38:26,844.844 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:38:26
[2026-10-20 03:38:27,545.545 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:38:27,865.865 INFO    ] Initializing speech engine...
[2026-10-20 03:38:27,877.877 INFO    ] 2026-10-20 03:38:27
[2026-10-20 03:38:28,195.195 INFO    ] 2026-10-20 03:38:28
[2026-10-20 03:38:28,287.287 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:38:28,574.574 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:38:28,622.622 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:38:28,866.866 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:38:28,915.915 INFO    ] time= 20/10/2026 03:38:28
[2026-10-20 03:38:28,976.976 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:38:29,036.036 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:38:29,174.174 INFO    ] No existing commands found in stream
[2026-10-20 03:38:34,194.194 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:38:34,197.197 INFO    ] Waiting 1.24 seconds before fallback handling...
[2026-10-20 03:38:35,982.982 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 03:38:35,985.985 INFO    ] Checking for system updates...
[2026-10-20 03:38:36,028.028 INFO    ] 200
[2026-10-20 03:38:36,031.031 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:38:36,083.083 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:38:36,085.085 INFO    ] No update needed
[2026-10-20 03:38:36,087.087 INFO    ] Checking for camera pi updates...
[2026-10-20 03:38:36,121.121 INFO    ] 200
[2026-10-20 03:38:36,123.123 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:38:36,170.170 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:38:36,226.226 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:38:36,229.229 INFO    ] No camera update needed
[2026-10-20 03:38:36,231.231 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:38:36,233.233 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:38:36,239.239 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:38:36,244.244 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:38:38,283.283 INFO    ] ================================================
[2026-10-20 03:38:38,299.299 INFO    ] Launching Daemon at Tue Oct 20 03:38:38 IST 2026
[2026-10-20 03:38:38,310.310 INFO    ] ================================================
[2026-10-20 03:38:38,922.922 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:38:38
[2026-10-20 03:38:39,509.509 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:38:39,781.781 INFO    ] Initializing speech engine...
[2026-10-20 03:38:39,790.790 INFO    ] 2026-10-20 03:38:39
[2026-10-20 03:38:40,039.039 INFO    ] 2026-10-20 03:38:40
[2026-10-20 03:38:40,074.074 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:38:40,279.279 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:38:40,330.330 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:38:40,482.482 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:38:40,548.548 INFO    ] time= 20/10/2026 03:38:40
[2026-10-20 03:38:40,608.608 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:38:40,619.619 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:38:40,765.765 INFO    ] No existing commands found in stream
[2026-10-20 03:38:45,779.779 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:38:45,782.782 INFO    ] Waiting 2.76 seconds before fallback handling...
[2026-10-20 03:38:49,080.080 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:38:49,083.083 INFO    ] Checking for system updates...
[2026-10-20 03:38:49,118.118 INFO    ] 200
[2026-10-20 03:38:49,121.121 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:38:49,172.172 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:38:49,174.174 INFO    ] No update needed
[2026-10-20 03:38:49,177.177 INFO    ] Checking for camera pi updates...
[2026-10-20 03:38:49,210.210 INFO    ] 200
[2026-10-20 03:38:49,213.213 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:38:49,260.260 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:38:49,323.323 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:38:49,325.325 INFO    ] No camera update needed
[2026-10-20 03:38:49,328.328 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:38:49,330.330 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:38:49,335.335 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:38:49,340.340 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:38:51,385.385 INFO    ] ================================================
[2026-10-20 03:38:51,400.400 INFO    ] Launching Daemon at Tue Oct 20 03:38:51 IST 2026
[2026-10-20 03:38:51,412.412 INFO    ] ================================================
[2026-10-20 03:38:51,978.978 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:38:51
[2026-10-20 03:38:52,561.561 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:38:52,814.814 INFO    ] Initializing speech engine...
[2026-10-20 03:38:52,837.837 INFO    ] 2026-10-20 03:38:52
[2026-10-20 03:38:53,092.092 INFO    ] 2026-10-20 03:38:53
[2026-10-20 03:38:53,128.128 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:38:53,392.392 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:38:53,398.398 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:38:53,625.625 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:38:53,661.661 INFO    ] time= 20/10/2026 03:38:53
[2026-10-20 03:38:53,667.667 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:38:53,687.687 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:38:53,813.813 INFO    ] No existing commands found in stream
[2026-10-20 03:38:58,829.829 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:38:58,831.831 INFO    ] Waiting 3.34 seconds before fallback handling...
[2026-10-20 03:39:02,726.726 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 03:39:02,729.729 INFO    ] Checking for system updates...
[2026-10-20 03:39:02,765.765 INFO    ] 200
[2026-10-20 03:39:02,768.768 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:39:02,824.824 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:39:02,827.827 INFO    ] No update needed
[2026-10-20 03:39:02,830.830 INFO    ] Checking for camera pi updates...
[2026-10-20 03:39:02,872.872 INFO    ] 200
[2026-10-20 03:39:02,875.875 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:39:02,915.915 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:39:02,963.963 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:39:02,966.966 INFO    ] No camera update needed
[2026-10-20 03:39:02,969.969 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:39:02,972.972 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:39:02,979.979 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:39:02,986.986 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:39:05,029.029 INFO    ] ================================================
[2026-10-20 03:39:05,044.044 INFO    ] Launching Daemon at Tue Oct 20 03:39:05 IST 2026
[2026-10-20 03:39:05,056.056 INFO    ] ================================================
[2026-10-20 03:39:05,633.633 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:39:05
[2026-10-20 03:39:06,231.231 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:39:06,504.504 INFO    ] Initializing speech engine...
[2026-10-20 03:39:06,513.513 INFO    ] 2026-10-20 03:39:06
[2026-10-20 03:39:06,774.774 INFO    ] 2026-10-20 03:39:06
[2026-10-20 03:39:06,805.805 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:39:07,050.050 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:39:07,059.059 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:39:07,260.260 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:39:07,315.315 INFO    ] time= 20/10/2026 03:39:07
[2026-10-20 03:39:07,324.324 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:39:07,342.342 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:39:07,471.471 INFO    ] No existing commands found in stream
[2026-10-20 03:39:12,485.485 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:39:12,487.487 INFO    ] Waiting 3.31 seconds before fallback handling...
[2026-10-20 03:39:16,362.362 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 03:39:16,365.365 INFO    ] Checking for system updates...
[2026-10-20 03:39:16,400.400 INFO    ] 200
[2026-10-20 03:39:16,403.403 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:39:16,454.454 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:39:16,456.456 INFO    ] No update needed
[2026-10-20 03:39:16,459.459 INFO    ] Checking for camera pi updates...
[2026-10-20 03:39:16,496.496 INFO    ] 200
[2026-10-20 03:39:16,499.499 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:39:16,545.545 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:39:16,599.599 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:39:16,601.601 INFO    ] No camera update needed
[2026-10-20 03:39:16,604.604 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:39:16,606.606 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:39:16,611.611 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:39:16,616.616 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:39:18,656.656 INFO    ] ================================================
[2026-10-20 03:39:18,672.672 INFO    ] Launching Daemon at Tue Oct 20 03:39:18 IST 2026
[2026-10-20 03:39:18,682.682 INFO    ] ================================================
[2026-10-20 03:39:19,272.272 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:39:19
[2026-10-20 03:39:19,938.938 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:39:20,256.256 INFO    ] Initializing speech engine...
[2026-10-20 03:39:20,264.264 INFO    ] 2026-10-20 03:39:20
[2026-10-20 03:39:20,581.581 INFO    ] 2026-10-20 03:39:20
[2026-10-20 03:39:20,663.663 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:39:20,934.934 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:39:20,958.958 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:39:21,190.190 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:39:21,229.229 INFO    ] time= 20/10/2026 03:39:21
[2026-10-20 03:39:21,284.284 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:39:21,335.335 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:39:21,483.483 INFO    ] No existing commands found in stream
[2026-10-20 03:39:26,498.498 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:39:26,501.501 INFO    ] Waiting 2.34 seconds before fallback handling...
[2026-10-20 03:39:29,403.403 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 03:39:29,406.406 INFO    ] Checking for system updates...
[2026-10-20 03:39:29,447.447 INFO    ] 200
[2026-10-20 03:39:29,450.450 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:39:29,504.504 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:39:29,506.506 INFO    ] No update needed
[2026-10-20 03:39:29,509.509 INFO    ] Checking for camera pi updates...
[2026-10-20 03:39:29,544.544 INFO    ] 200
[2026-10-20 03:39:29,546.546 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:39:29,588.588 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:39:29,643.643 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:39:29,646.646 INFO    ] No camera update needed
[2026-10-20 03:39:29,649.649 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:39:29,652.652 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:39:29,658.658 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:39:29,664.664 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:39:31,707.707 INFO    ] ================================================
[2026-10-20 03:39:31,722.722 INFO    ] Launching Daemon at Tue Oct 20 03:39:31 IST 2026
[2026-10-20 03:39:31,733.733 INFO    ] ================================================
[2026-10-20 03:39:32,353.353 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:39:32
[2026-10-20 03:39:32,966.966 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:39:33,228.228 INFO    ] Initializing speech engine...
[2026-10-20 03:39:33,234.234 INFO    ] 2026-10-20 03:39:33
[2026-10-20 03:39:33,538.538 INFO    ] 2026-10-20 03:39:33
[2026-10-20 03:39:33,573.573 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:39:33,817.817 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:39:33,865.865 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:39:34,060.060 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:39:34,077.077 INFO    ] time= 20/10/2026 03:39:34
[2026-10-20 03:39:34,126.126 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:39:34,180.180 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:39:34,346.346 INFO    ] No existing commands found in stream
[2026-10-20 03:39:39,374.374 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:39:39,377.377 INFO    ] Waiting 0.52 seconds before fallback handling...
[2026-10-20 03:39:40,440.440 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:39:40,443.443 INFO    ] Checking for system updates...
[2026-10-20 03:39:40,484.484 INFO    ] 200
[2026-10-20 03:39:40,487.487 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:39:40,546.546 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:39:40,548.548 INFO    ] No update needed
[2026-10-20 03:39:40,551.551 INFO    ] Checking for camera pi updates...
[2026-10-20 03:39:40,589.589 INFO    ] 200
[2026-10-20 03:39:40,591.591 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:39:40,637.637 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:39:40,689.689 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:39:40,692.692 INFO    ] No camera update needed
[2026-10-20 03:39:40,694.694 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:39:40,697.697 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:39:40,703.703 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:39:40,708.708 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:39:42,748.748 INFO    ] ================================================
[2026-10-20 03:39:42,764.764 INFO    ] Launching Daemon at Tue Oct 20 03:39:42 IST 2026
[2026-10-20 03:39:42,775.775 INFO    ] ================================================
[2026-10-20 03:39:43,356.356 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:39:43
[2026-10-20 03:39:43,959.959 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:39:44,221.221 INFO    ] Initializing speech engine...
[2026-10-20 03:39:44,230.230 INFO    ] 2026-10-20 03:39:44
[2026-10-20 03:39:44,532.532 INFO    ] 2026-10-20 03:39:44
[2026-10-20 03:39:44,567.567 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:39:44,806.806 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:39:44,874.874 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:39:45,038.038 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:39:45,070.070 INFO    ] time= 20/10/2026 03:39:45
[2026-10-20 03:39:45,119.119 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:39:45,174.174 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:39:45,324.324 INFO    ] No existing commands found in stream
[2026-10-20 03:39:50,348.348 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:39:50,351.351 INFO    ] Waiting 1.46 seconds before fallback handling...
[2026-10-20 03:39:52,406.406 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:39:52,409.409 INFO    ] Checking for system updates...
[2026-10-20 03:39:52,444.444 INFO    ] 200
[2026-10-20 03:39:52,447.447 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:39:52,506.506 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:39:52,509.509 INFO    ] No update needed
[2026-10-20 03:39:52,511.511 INFO    ] Checking for camera pi updates...
[2026-10-20 03:39:52,549.549 INFO    ] 200
[2026-10-20 03:39:52,551.551 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:39:52,591.591 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:39:52,648.648 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:39:52,651.651 INFO    ] No camera update needed
[2026-10-20 03:39:52,653.653 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:39:52,656.656 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:39:52,661.661 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:39:52,666.666 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:39:54,706.706 INFO    ] ================================================
[2026-10-20 03:39:54,721.721 INFO    ] Launching Daemon at Tue Oct 20 03:39:54 IST 2026
[2026-10-20 03:39:54,732.732 INFO    ] ================================================
[2026-10-20 03:39:55,299.299 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:39:55
[2026-10-20 03:39:55,892.892 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:39:56,161.161 INFO    ] Initializing speech engine...
[2026-10-20 03:39:56,170.170 INFO    ] 2026-10-20 03:39:56
[2026-10-20 03:39:56,423.423 INFO    ] 2026-10-20 03:39:56
[2026-10-20 03:39:56,458.458 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:39:56,711.711 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:39:56,720.720 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:39:56,940.940 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:39:56,990.990 INFO    ] time= 20/10/2026 03:39:56
[2026-10-20 03:39:56,996.996 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:39:57,016.016 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:39:57,147.147 INFO    ] No existing commands found in stream
[2026-10-20 03:40:02,160.160 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:40:02,164.164 INFO    ] Waiting 0.05 seconds before fallback handling...
[2026-10-20 03:40:02,770.770 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:40:02,776.776 INFO    ] Checking for system updates...
[2026-10-20 03:40:02,829.829 INFO    ] 200
[2026-10-20 03:40:02,833.833 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:40:02,920.920 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:40:02,923.923 INFO    ] No update needed
[2026-10-20 03:40:02,926.926 INFO    ] Checking for camera pi updates...
[2026-10-20 03:40:02,963.963 INFO    ] 200
[2026-10-20 03:40:02,967.967 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:40:03,032.032 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:40:03,067.067 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:40:03,072.072 INFO    ] No camera update needed
[2026-10-20 03:40:03,075.075 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:40:03,079.079 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:40:03,086.086 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:40:03,093.093 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:40:05,135.135 INFO    ] ================================================
[2026-10-20 03:40:05,151.151 INFO    ] Launching Daemon at Tue Oct 20 03:40:05 IST 2026
[2026-10-20 03:40:05,168.168 INFO    ] ================================================
[2026-10-20 03:40:05,751.751 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:40:05
[2026-10-20 03:40:06,399.399 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:40:06,706.706 INFO    ] Initializing speech engine...
[2026-10-20 03:40:06,717.717 INFO    ] 2026-10-20 03:40:06
[2026-10-20 03:40:06,998.998 INFO    ] 2026-10-20 03:40:06
[2026-10-20 03:40:07,041.041 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:40:07,385.385 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:40:07,400.400 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:40:07,584.584 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:40:07,612.612 INFO    ] time= 20/10/2026 03:40:07
[2026-10-20 03:40:07,665.665 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:40:07,721.721 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:40:07,869.869 INFO    ] No existing commands found in stream
[2026-10-20 03:40:12,895.895 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:40:12,899.899 INFO    ] Waiting 2.14 seconds before fallback handling...
[2026-10-20 03:40:15,620.620 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 03:40:15,623.623 INFO    ] Checking for system updates...
[2026-10-20 03:40:15,664.664 INFO    ] 200
[2026-10-20 03:40:15,668.668 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:40:15,720.720 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:40:15,723.723 INFO    ] No update needed
[2026-10-20 03:40:15,726.726 INFO    ] Checking for camera pi updates...
[2026-10-20 03:40:15,760.760 INFO    ] 200
[2026-10-20 03:40:15,763.763 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:40:15,808.808 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:40:15,857.857 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:40:15,860.860 INFO    ] No camera update needed
[2026-10-20 03:40:15,862.862 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:40:15,865.865 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:40:15,871.871 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:40:15,877.877 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:40:17,921.921 INFO    ] ================================================
[2026-10-20 03:40:17,936.936 INFO    ] Launching Daemon at Tue Oct 20 03:40:17 IST 2026
[2026-10-20 03:40:17,947.947 INFO    ] ================================================
[2026-10-20 03:40:18,520.520 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:40:18
[2026-10-20 03:40:19,112.112 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:40:19,390.390 INFO    ] Initializing speech engine...
[2026-10-20 03:40:19,396.396 INFO    ] 2026-10-20 03:40:19
[2026-10-20 03:40:19,640.640 INFO    ] 2026-10-20 03:40:19
[2026-10-20 03:40:19,675.675 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:40:19,932.932 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:40:19,937.937 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:40:20,181.181 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:40:20,198.198 INFO    ] time= 20/10/2026 03:40:20
[2026-10-20 03:40:20,215.215 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:40:20,223.223 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:40:20,351.351 INFO    ] No existing commands found in stream
[2026-10-20 03:40:25,364.364 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:40:25,366.366 INFO    ] Waiting 3.27 seconds before fallback handling...
[2026-10-20 03:40:29,158.158 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:40:29,161.161 INFO    ] Checking for system updates...
[2026-10-20 03:40:29,196.196 INFO    ] 200
[2026-10-20 03:40:29,198.198 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:40:29,251.251 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:40:29,254.254 INFO    ] No update needed
[2026-10-20 03:40:29,256.256 INFO    ] Checking for camera pi updates...
[2026-10-20 03:40:29,289.289 INFO    ] 200
[2026-10-20 03:40:29,292.292 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:40:29,332.332 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:40:29,382.382 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:40:29,385.385 INFO    ] No camera update needed
[2026-10-20 03:40:29,387.387 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:40:29,389.389 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:40:29,395.395 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:40:29,399.399 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:40:31,443.443 INFO    ] ================================================
[2026-10-20 03:40:31,460.460 INFO    ] Launching Daemon at Tue Oct 20 03:40:31 IST 2026
[2026-10-20 03:40:31,471.471 INFO    ] ================================================
[2026-10-20 03:40:32,097.097 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:40:32
[2026-10-20 03:40:32,733.733 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:40:33,040.040 INFO    ] Initializing speech engine...
[2026-10-20 03:40:33,050.050 INFO    ] 2026-10-20 03:40:33
[2026-10-20 03:40:33,329.329 INFO    ] 2026-10-20 03:40:33
[2026-10-20 03:40:33,374.374 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:40:33,602.602 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:40:33,623.623 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:40:33,840.840 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:40:33,868.868 INFO    ] time= 20/10/2026 03:40:33
[2026-10-20 03:40:33,887.887 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:40:33,916.916 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:40:34,023.023 INFO    ] No existing commands found in stream
[2026-10-20 03:40:39,044.044 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:40:39,047.047 INFO    ] Waiting 2.30 seconds before fallback handling...
[2026-10-20 03:40:41,927.927 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:40:41,930.930 INFO    ] Checking for system updates...
[2026-10-20 03:40:41,973.973 INFO    ] 200
[2026-10-20 03:40:41,976.976 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:40:42,034.034 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:40:42,036.036 INFO    ] No update needed
[2026-10-20 03:40:42,039.039 INFO    ] Checking for camera pi updates...
[2026-10-20 03:40:42,082.082 INFO    ] 200
[2026-10-20 03:40:42,085.085 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:40:42,126.126 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:40:42,182.182 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:40:42,184.184 INFO    ] No camera update needed
[2026-10-20 03:40:42,186.186 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:40:42,189.189 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:40:42,194.194 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:40:42,199.199 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:40:44,239.239 INFO    ] ================================================
[2026-10-20 03:40:44,254.254 INFO    ] Launching Daemon at Tue Oct 20 03:40:44 IST 2026
[2026-10-20 03:40:44,265.265 INFO    ] ================================================
[2026-10-20 03:40:44,858.858 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:40:44
[2026-10-20 03:40:45,457.457 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:40:45,748.748 INFO    ] Initializing speech engine...
[2026-10-20 03:40:45,755.755 INFO    ] 2026-10-20 03:40:45
[2026-10-20 03:40:46,046.046 INFO    ] 2026-10-20 03:40:46
[2026-10-20 03:40:46,093.093 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:40:46,351.351 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:40:46,372.372 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:40:46,590.590 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:40:46,610.610 INFO    ] time= 20/10/2026 03:40:46
[2026-10-20 03:40:46,641.641 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:40:46,653.653 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:40:46,790.790 INFO    ] No existing commands found in stream
[2026-10-20 03:40:51,826.826 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:40:51,830.830 INFO    ] Waiting 3.06 seconds before fallback handling...
[2026-10-20 03:40:55,452.452 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:40:55,456.456 INFO    ] Checking for system updates...
[2026-10-20 03:40:55,497.497 INFO    ] 200
[2026-10-20 03:40:55,499.499 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:40:55,552.552 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:40:55,554.554 INFO    ] No update needed
[2026-10-20 03:40:55,556.556 INFO    ] Checking for camera pi updates...
[2026-10-20 03:40:55,590.590 INFO    ] 200
[2026-10-20 03:40:55,592.592 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:40:55,632.632 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:40:55,689.689 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:40:55,691.691 INFO    ] No camera update needed
[2026-10-20 03:40:55,693.693 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:40:55,696.696 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:40:55,702.702 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:40:55,707.707 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:40:57,747.747 INFO    ] ================================================
[2026-10-20 03:40:57,762.762 INFO    ] Launching Daemon at Tue Oct 20 03:40:57 IST 2026
[2026-10-20 03:40:57,773.773 INFO    ] ================================================
[2026-10-20 03:40:58,350.350 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:40:58
[2026-10-20 03:40:58,955.955 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:40:59,223.223 INFO    ] Initializing speech engine...
[2026-10-20 03:40:59,232.232 INFO    ] 2026-10-20 03:40:59
[2026-10-20 03:40:59,494.494 INFO    ] 2026-10-20 03:40:59
[2026-10-20 03:40:59,547.547 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:40:59,774.774 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:40:59,778.778 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:40:59,990.990 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:41:00,037.037 INFO    ] time= 20/10/2026 03:40:59
[2026-10-20 03:41:00,043.043 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:41:00,060.060 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:41:00,193.193 INFO    ] No existing commands found in stream
[2026-10-20 03:41:05,207.207 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:41:05,210.210 INFO    ] Waiting 1.23 seconds before fallback handling...
[2026-10-20 03:41:06,992.992 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:41:06,995.995 INFO    ] Checking for system updates...
[2026-10-20 03:41:07,034.034 INFO    ] 200
[2026-10-20 03:41:07,037.037 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:41:07,088.088 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:41:07,090.090 INFO    ] No update needed
[2026-10-20 03:41:07,093.093 INFO    ] Checking for camera pi updates...
[2026-10-20 03:41:07,126.126 INFO    ] 200
[2026-10-20 03:41:07,128.128 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:41:07,168.168 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:41:07,321.321 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:41:07,323.323 INFO    ] No camera update needed
[2026-10-20 03:41:07,326.326 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:41:07,328.328 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:41:07,334.334 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:41:07,339.339 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:41:09,381.381 INFO    ] ================================================
[2026-10-20 03:41:09,396.396 INFO    ] Launching Daemon at Tue Oct 20 03:41:09 IST 2026
[2026-10-20 03:41:09,407.407 INFO    ] ================================================
[2026-10-20 03:41:09,971.971 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:41:09
[2026-10-20 03:41:10,569.569 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:41:10,855.855 INFO    ] Initializing speech engine...
[2026-10-20 03:41:10,867.867 INFO    ] 2026-10-20 03:41:10
[2026-10-20 03:41:11,153.153 INFO    ] 2026-10-20 03:41:11
[2026-10-20 03:41:11,216.216 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:41:11,469.469 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:41:11,479.479 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:41:11,710.710 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:41:11,766.766 INFO    ] time= 20/10/2026 03:41:11
[2026-10-20 03:41:11,772.772 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:41:11,787.787 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:41:11,910.910 INFO    ] No existing commands found in stream
[2026-10-20 03:41:16,928.928 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:41:16,932.932 INFO    ] Waiting 0.51 seconds before fallback handling...
[2026-10-20 03:41:17,990.990 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:41:17,992.992 INFO    ] Checking for system updates...
[2026-10-20 03:41:18,028.028 INFO    ] 200
[2026-10-20 03:41:18,031.031 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:41:18,088.088 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:41:18,090.090 INFO    ] No update needed
[2026-10-20 03:41:18,093.093 INFO    ] Checking for camera pi updates...
[2026-10-20 03:41:18,129.129 INFO    ] 200
[2026-10-20 03:41:18,131.131 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:41:18,176.176 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:41:18,218.218 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:41:18,221.221 INFO    ] No camera update needed
[2026-10-20 03:41:18,223.223 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:41:18,226.226 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:41:18,231.231 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:41:18,236.236 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:41:20,275.275 INFO    ] ================================================
[2026-10-20 03:41:20,290.290 INFO    ] Launching Daemon at Tue Oct 20 03:41:20 IST 2026
[2026-10-20 03:41:20,301.301 INFO    ] ================================================
[2026-10-20 03:41:20,866.866 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:41:20
[2026-10-20 03:41:21,476.476 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:41:21,761.761 INFO    ] Initializing speech engine...
[2026-10-20 03:41:21,771.771 INFO    ] 2026-10-20 03:41:21
[2026-10-20 03:41:22,035.035 INFO    ] 2026-10-20 03:41:22
[2026-10-20 03:41:22,070.070 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:41:22,292.292 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:41:22,341.341 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:41:22,511.511 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:41:22,559.559 INFO    ] time= 20/10/2026 03:41:22
[2026-10-20 03:41:22,602.602 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:41:22,657.657 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:41:22,795.795 INFO    ] No existing commands found in stream
[2026-10-20 03:41:27,823.823 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:41:27,825.825 INFO    ] Waiting 1.22 seconds before fallback handling...
[2026-10-20 03:41:29,608.608 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:41:29,611.611 INFO    ] Checking for system updates...
[2026-10-20 03:41:29,647.647 INFO    ] 200
[2026-10-20 03:41:29,649.649 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:41:29,701.701 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:41:29,703.703 INFO    ] No update needed
[2026-10-20 03:41:29,705.705 INFO    ] Checking for camera pi updates...
[2026-10-20 03:41:29,739.739 INFO    ] 200
[2026-10-20 03:41:29,741.741 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:41:29,785.785 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:41:29,839.839 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:41:29,842.842 INFO    ] No camera update needed
[2026-10-20 03:41:29,844.844 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:41:29,846.846 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:41:29,851.851 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:41:29,856.856 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:41:31,897.897 INFO    ] ================================================
[2026-10-20 03:41:31,913.913 INFO    ] Launching Daemon at Tue Oct 20 03:41:31 IST 2026
[2026-10-20 03:41:31,925.925 INFO    ] ================================================
[2026-10-20 03:41:32,599.599 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:41:32
[2026-10-20 03:41:33,273.273 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:41:33,571.571 INFO    ] Initializing speech engine...
[2026-10-20 03:41:33,583.583 INFO    ] 2026-10-20 03:41:33
[2026-10-20 03:41:33,859.859 INFO    ] 2026-10-20 03:41:33
[2026-10-20 03:41:33,903.903 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:41:34,130.130 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:41:34,135.135 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:41:34,377.377 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:41:34,396.396 INFO    ] time= 20/10/2026 03:41:34
[2026-10-20 03:41:34,415.415 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:41:34,438.438 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:41:34,552.552 INFO    ] No existing commands found in stream
[2026-10-20 03:41:39,576.576 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:41:39,580.580 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-10-20 03:41:43,406.406 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:41:43,409.409 INFO    ] Checking for system updates...
[2026-10-20 03:41:43,445.445 INFO    ] 200
[2026-10-20 03:41:43,448.448 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:41:43,505.505 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:41:43,508.508 INFO    ] No update needed
[2026-10-20 03:41:43,511.511 INFO    ] Checking for camera pi updates...
[2026-10-20 03:41:43,545.545 INFO    ] 200
[2026-10-20 03:41:43,548.548 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:41:43,588.588 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:41:43,634.634 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:41:43,637.637 INFO    ] No camera update needed
[2026-10-20 03:41:43,640.640 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:41:43,643.643 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:41:43,649.649 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:41:43,654.654 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:41:45,695.695 INFO    ] ================================================
[2026-10-20 03:41:45,710.710 INFO    ] Launching Daemon at Tue Oct 20 03:41:45 IST 2026
[2026-10-20 03:41:45,721.721 INFO    ] ================================================
[2026-10-20 03:41:46,308.308 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:41:46
[2026-10-20 03:41:46,902.902 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:41:47,179.179 INFO    ] Initializing speech engine...
[2026-10-20 03:41:47,192.192 INFO    ] 2026-10-20 03:41:47
[2026-10-20 03:41:47,458.458 INFO    ] 2026-10-20 03:41:47
[2026-10-20 03:41:47,500.500 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:41:47,844.844 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:41:47,871.871 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:41:48,107.107 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:41:48,141.141 INFO    ] time= 20/10/2026 03:41:48
[2026-10-20 03:41:48,186.186 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:41:48,233.233 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:41:48,380.380 INFO    ] No existing commands found in stream
[2026-10-20 03:41:53,399.399 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:41:53,401.401 INFO    ] Waiting 3.40 seconds before fallback handling...
[2026-10-20 03:41:57,333.333 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:41:57,335.335 INFO    ] Checking for system updates...
[2026-10-20 03:41:57,373.373 INFO    ] 200
[2026-10-20 03:41:57,376.376 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:41:57,432.432 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:41:57,434.434 INFO    ] No update needed
[2026-10-20 03:41:57,437.437 INFO    ] Checking for camera pi updates...
[2026-10-20 03:41:57,472.472 INFO    ] 200
[2026-10-20 03:41:57,475.475 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:41:57,518.518 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:41:57,551.551 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:41:57,553.553 INFO    ] No camera update needed
[2026-10-20 03:41:57,555.555 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:41:57,558.558 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:41:57,563.563 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:41:57,568.568 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:41:59,608.608 INFO    ] ================================================
[2026-10-20 03:41:59,623.623 INFO    ] Launching Daemon at Tue Oct 20 03:41:59 IST 2026
[2026-10-20 03:41:59,634.634 INFO    ] ================================================
[2026-10-20 03:42:00,199.199 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:42:00
[2026-10-20 03:42:00,784.784 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:42:01,051.051 INFO    ] Initializing speech engine...
[2026-10-20 03:42:01,061.061 INFO    ] 2026-10-20 03:42:01
[2026-10-20 03:42:01,308.308 INFO    ] 2026-10-20 03:42:01
[2026-10-20 03:42:01,343.343 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:42:01,600.600 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:42:01,605.605 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:42:01,805.805 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:42:01,810.810 INFO    ] time= 20/10/2026 03:42:01
[2026-10-20 03:42:01,814.814 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:42:01,835.835 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:42:01,908.908 INFO    ] No existing commands found in stream
[2026-10-20 03:42:06,919.919 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:42:06,922.922 INFO    ] Waiting 1.01 seconds before fallback handling...
[2026-10-20 03:42:08,418.418 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:42:08,420.420 INFO    ] Checking for system updates...
[2026-10-20 03:42:08,459.459 INFO    ] 200
[2026-10-20 03:42:08,462.462 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:42:08,513.513 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:42:08,516.516 INFO    ] No update needed
[2026-10-20 03:42:08,518.518 INFO    ] Checking for camera pi updates...
[2026-10-20 03:42:08,555.555 INFO    ] 200
[2026-10-20 03:42:08,557.557 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:42:08,601.601 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:42:08,651.651 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:42:08,653.653 INFO    ] No camera update needed
[2026-10-20 03:42:08,656.656 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:42:08,659.659 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:42:08,665.665 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:42:08,670.670 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:42:10,710.710 INFO    ] ================================================
[2026-10-20 03:42:10,725.725 INFO    ] Launching Daemon at Tue Oct 20 03:42:10 IST 2026
[2026-10-20 03:42:10,736.736 INFO    ] ================================================
[2026-10-20 03:42:11,301.301 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:42:11
[2026-10-20 03:42:11,883.883 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:42:12,151.151 INFO    ] Initializing speech engine...
[2026-10-20 03:42:12,160.160 INFO    ] 2026-10-20 03:42:12
[2026-10-20 03:42:12,419.419 INFO    ] 2026-10-20 03:42:12
[2026-10-20 03:42:12,449.449 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:42:12,698.698 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:42:12,704.704 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:42:12,943.943 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:42:12,963.963 INFO    ] time= 20/10/2026 03:42:12
[2026-10-20 03:42:12,981.981 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:42:12,988.988 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:42:13,144.144 INFO    ] No existing commands found in stream
[2026-10-20 03:42:18,174.174 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:42:18,177.177 INFO    ] Waiting 1.12 seconds before fallback handling...
[2026-10-20 03:42:24,834.834 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:42:24,837.837 INFO    ] Checking for system updates...
[2026-10-20 03:42:24,874.874 INFO    ] 200
[2026-10-20 03:42:24,877.877 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:42:24,929.929 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:42:24,932.932 INFO    ] No update needed
[2026-10-20 03:42:24,935.935 INFO    ] Checking for camera pi updates...
[2026-10-20 03:42:24,969.969 INFO    ] 200
[2026-10-20 03:42:24,971.971 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:42:25,013.013 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:42:25,061.061 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:42:25,064.064 INFO    ] No camera update needed
[2026-10-20 03:42:25,066.066 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:42:25,069.069 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:42:25,075.075 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:42:25,080.080 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:42:27,122.122 INFO    ] ================================================
[2026-10-20 03:42:27,137.137 INFO    ] Launching Daemon at Tue Oct 20 03:42:27 IST 2026
[2026-10-20 03:42:27,148.148 INFO    ] ================================================
[2026-10-20 03:42:27,717.717 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:42:27
[2026-10-20 03:42:28,305.305 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:42:28,573.573 INFO    ] Initializing speech engine...
[2026-10-20 03:42:28,581.581 INFO    ] 2026-10-20 03:42:28
[2026-10-20 03:42:28,834.834 INFO    ] 2026-10-20 03:42:28
[2026-10-20 03:42:28,870.870 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:42:29,138.138 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:42:29,145.145 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:42:29,355.355 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:42:29,382.382 INFO    ] time= 20/10/2026 03:42:29
[2026-10-20 03:42:29,397.397 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:42:29,406.406 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:42:29,533.533 INFO    ] No existing commands found in stream
[2026-10-20 03:42:34,546.546 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:42:34,548.548 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-10-20 03:42:37,417.417 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 03:42:37,420.420 INFO    ] Checking for system updates...
[2026-10-20 03:42:37,459.459 INFO    ] 200
[2026-10-20 03:42:37,461.461 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:42:37,518.518 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:42:37,520.520 INFO    ] No update needed
[2026-10-20 03:42:37,523.523 INFO    ] Checking for camera pi updates...
[2026-10-20 03:42:37,560.560 INFO    ] 200
[2026-10-20 03:42:37,562.562 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:42:37,607.607 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:42:37,655.655 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:42:37,657.657 INFO    ] No camera update needed
[2026-10-20 03:42:37,660.660 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:42:37,662.662 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:42:37,668.668 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:42:37,673.673 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:42:39,714.714 INFO    ] ================================================
[2026-10-20 03:42:39,729.729 INFO    ] Launching Daemon at Tue Oct 20 03:42:39 IST 2026
[2026-10-20 03:42:39,740.740 INFO    ] ================================================
[2026-10-20 03:42:40,311.311 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:42:40
[2026-10-20 03:42:40,898.898 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:42:41,149.149 INFO    ] Initializing speech engine...
[2026-10-20 03:42:41,169.169 INFO    ] 2026-10-20 03:42:41
[2026-10-20 03:42:41,430.430 INFO    ] 2026-10-20 03:42:41
[2026-10-20 03:42:41,465.465 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:42:41,729.729 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:42:41,739.739 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:42:41,985.985 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:42:42,005.005 INFO    ] time= 20/10/2026 03:42:41
[2026-10-20 03:42:42,011.011 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:42:42,029.029 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:42:42,157.157 INFO    ] No existing commands found in stream
[2026-10-20 03:42:47,173.173 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:42:47,176.176 INFO    ] Waiting 3.26 seconds before fallback handling...
[2026-10-20 03:42:50,965.965 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 03:42:50,967.967 INFO    ] Checking for system updates...
[2026-10-20 03:42:51,007.007 INFO    ] 200
[2026-10-20 03:42:51,010.010 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:42:51,067.067 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:42:51,070.070 INFO    ] No update needed
[2026-10-20 03:42:51,072.072 INFO    ] Checking for camera pi updates...
[2026-10-20 03:42:51,108.108 INFO    ] 200
[2026-10-20 03:42:51,111.111 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:42:51,155.155 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:42:51,191.191 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:42:51,193.193 INFO    ] No camera update needed
[2026-10-20 03:42:51,195.195 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:42:51,197.197 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:42:51,203.203 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:42:51,208.208 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:42:53,251.251 INFO    ] ================================================
[2026-10-20 03:42:53,266.266 INFO    ] Launching Daemon at Tue Oct 20 03:42:53 IST 2026
[2026-10-20 03:42:53,278.278 INFO    ] ================================================
[2026-10-20 03:42:53,863.863 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:42:53
[2026-10-20 03:42:54,463.463 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:42:54,729.729 INFO    ] Initializing speech engine...
[2026-10-20 03:42:54,738.738 INFO    ] 2026-10-20 03:42:54
[2026-10-20 03:42:54,983.983 INFO    ] 2026-10-20 03:42:54
[2026-10-20 03:42:55,017.017 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:42:55,267.267 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:42:55,276.276 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:42:55,493.493 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:42:55,533.533 INFO    ] time= 20/10/2026 03:42:55
[2026-10-20 03:42:55,539.539 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:42:55,556.556 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:42:55,683.683 INFO    ] No existing commands found in stream
[2026-10-20 03:43:00,698.698 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:43:00,701.701 INFO    ] Waiting 0.97 seconds before fallback handling...
[2026-10-20 03:43:02,357.357 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:43:02,361.361 INFO    ] Checking for system updates...
[2026-10-20 03:43:02,411.411 INFO    ] 200
[2026-10-20 03:43:02,415.415 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:43:02,485.485 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:43:02,489.489 INFO    ] No update needed
[2026-10-20 03:43:02,493.493 INFO    ] Checking for camera pi updates...
[2026-10-20 03:43:02,532.532 INFO    ] 200
[2026-10-20 03:43:02,535.535 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:43:02,589.589 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:43:02,623.623 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:43:02,626.626 INFO    ] No camera update needed
[2026-10-20 03:43:02,630.630 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:43:02,633.633 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:43:02,639.639 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:43:02,645.645 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:43:04,693.693 INFO    ] ================================================
[2026-10-20 03:43:04,708.708 INFO    ] Launching Daemon at Tue Oct 20 03:43:04 IST 2026
[2026-10-20 03:43:04,719.719 INFO    ] ================================================
[2026-10-20 03:43:05,359.359 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:43:05
[2026-10-20 03:43:06,020.020 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:43:06,322.322 INFO    ] Initializing speech engine...
[2026-10-20 03:43:06,334.334 INFO    ] 2026-10-20 03:43:06
[2026-10-20 03:43:06,599.599 INFO    ] 2026-10-20 03:43:06
[2026-10-20 03:43:06,655.655 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:43:06,941.941 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:43:06,946.946 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:43:07,144.144 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:43:07,160.160 INFO    ] time= 20/10/2026 03:43:07
[2026-10-20 03:43:07,169.169 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:43:07,195.195 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:43:07,321.321 INFO    ] No existing commands found in stream
[2026-10-20 03:43:12,352.352 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:43:12,355.355 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-10-20 03:43:13,989.989 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 03:43:13,992.992 INFO    ] Checking for system updates...
[2026-10-20 03:43:14,033.033 INFO    ] 200
[2026-10-20 03:43:14,036.036 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:43:14,095.095 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:43:14,097.097 INFO    ] No update needed
[2026-10-20 03:43:14,100.100 INFO    ] Checking for camera pi updates...
[2026-10-20 03:43:14,138.138 INFO    ] 200
[2026-10-20 03:43:14,141.141 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:43:14,186.186 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:43:14,322.322 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:43:14,325.325 INFO    ] No camera update needed
[2026-10-20 03:43:14,328.328 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:43:14,330.330 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:43:14,336.336 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:43:14,342.342 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:43:16,382.382 INFO    ] ================================================
[2026-10-20 03:43:16,401.401 INFO    ] Launching Daemon at Tue Oct 20 03:43:16 IST 2026
[2026-10-20 03:43:16,418.418 INFO    ] ================================================
[2026-10-20 03:43:17,065.065 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:43:17
[2026-10-20 03:43:17,729.729 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:43:18,037.037 INFO    ] Initializing speech engine...
[2026-10-20 03:43:18,043.043 INFO    ] 2026-10-20 03:43:18
[2026-10-20 03:43:18,320.320 INFO    ] 2026-10-20 03:43:18
[2026-10-20 03:43:18,364.364 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:43:18,712.712 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:43:18,724.724 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:43:18,982.982 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:43:19,018.018 INFO    ] time= 20/10/2026 03:43:18
[2026-10-20 03:43:19,083.083 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:43:19,104.104 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:43:19,272.272 INFO    ] No existing commands found in stream
[2026-10-20 03:43:24,302.302 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:43:24,306.306 INFO    ] Waiting 2.93 seconds before fallback handling...
[2026-10-20 03:43:27,745.745 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 03:43:27,748.748 INFO    ] Checking for system updates...
[2026-10-20 03:43:27,788.788 INFO    ] 200
[2026-10-20 03:43:27,791.791 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:43:27,850.850 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:43:27,853.853 INFO    ] No update needed
[2026-10-20 03:43:27,856.856 INFO    ] Checking for camera pi updates...
[2026-10-20 03:43:27,893.893 INFO    ] 200
[2026-10-20 03:43:27,896.896 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:43:27,942.942 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:43:27,992.992 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:43:27,994.994 INFO    ] No camera update needed
[2026-10-20 03:43:27,997.997 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:43:28,000.000 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:43:28,006.006 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:43:28,011.011 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:43:30,052.052 INFO    ] ================================================
[2026-10-20 03:43:30,067.067 INFO    ] Launching Daemon at Tue Oct 20 03:43:30 IST 2026
[2026-10-20 03:43:30,077.077 INFO    ] ================================================
[2026-10-20 03:43:30,644.644 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:43:30
[2026-10-20 03:43:31,227.227 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:43:31,506.506 INFO    ] Initializing speech engine...
[2026-10-20 03:43:31,516.516 INFO    ] 2026-10-20 03:43:31
[2026-10-20 03:43:31,797.797 INFO    ] 2026-10-20 03:43:31
[2026-10-20 03:43:31,861.861 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:43:32,158.158 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:43:32,166.166 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:43:32,362.362 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:43:32,381.381 INFO    ] time= 20/10/2026 03:43:32
[2026-10-20 03:43:32,391.391 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:43:32,420.420 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:43:32,598.598 INFO    ] No existing commands found in stream
[2026-10-20 03:43:37,629.629 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:43:37,632.632 INFO    ] Waiting 3.55 seconds before fallback handling...
[2026-10-20 03:43:41,690.690 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:43:41,692.692 INFO    ] Checking for system updates...
[2026-10-20 03:43:41,729.729 INFO    ] 200
[2026-10-20 03:43:41,732.732 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:43:41,785.785 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:43:41,788.788 INFO    ] No update needed
[2026-10-20 03:43:41,790.790 INFO    ] Checking for camera pi updates...
[2026-10-20 03:43:41,825.825 INFO    ] 200
[2026-10-20 03:43:41,828.828 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:43:41,869.869 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:43:41,914.914 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:43:41,917.917 INFO    ] No camera update needed
[2026-10-20 03:43:41,920.920 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:43:41,923.923 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:43:41,929.929 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:43:41,935.935 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:43:43,976.976 INFO    ] ================================================
[2026-10-20 03:43:43,991.991 INFO    ] Launching Daemon at Tue Oct 20 03:43:43 IST 2026
[2026-10-20 03:43:44,001.001 INFO    ] ================================================
[2026-10-20 03:43:44,640.640 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:43:44
[2026-10-20 03:43:45,300.300 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:43:45,600.600 INFO    ] Initializing speech engine...
[2026-10-20 03:43:45,608.608 INFO    ] 2026-10-20 03:43:45
[2026-10-20 03:43:45,896.896 INFO    ] 2026-10-20 03:43:45
[2026-10-20 03:43:45,942.942 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:43:46,174.174 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:43:46,181.181 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:43:46,425.425 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:43:46,447.447 INFO    ] time= 20/10/2026 03:43:46
[2026-10-20 03:43:46,463.463 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:43:46,496.496 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:43:46,608.608 INFO    ] No existing commands found in stream
[2026-10-20 03:43:51,633.633 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:43:51,636.636 INFO    ] Waiting 2.47 seconds before fallback handling...
[2026-10-20 03:43:54,791.791 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:43:54,794.794 INFO    ] Checking for system updates...
[2026-10-20 03:43:54,834.834 INFO    ] 200
[2026-10-20 03:43:54,837.837 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:43:54,892.892 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:43:54,895.895 INFO    ] No update needed
[2026-10-20 03:43:54,897.897 INFO    ] Checking for camera pi updates...
[2026-10-20 03:43:54,931.931 INFO    ] 200
[2026-10-20 03:43:54,934.934 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:43:54,974.974 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:43:55,022.022 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:43:55,024.024 INFO    ] No camera update needed
[2026-10-20 03:43:55,026.026 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:43:55,029.029 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:43:55,034.034 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:43:55,039.039 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:43:57,079.079 INFO    ] ================================================
[2026-10-20 03:43:57,094.094 INFO    ] Launching Daemon at Tue Oct 20 03:43:57 IST 2026
[2026-10-20 03:43:57,104.104 INFO    ] ================================================
[2026-10-20 03:43:57,687.687 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:43:57
[2026-10-20 03:43:58,286.286 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:43:58,565.565 INFO    ] Initializing speech engine...
[2026-10-20 03:43:58,572.572 INFO    ] 2026-10-20 03:43:58
[2026-10-20 03:43:58,834.834 INFO    ] 2026-10-20 03:43:58
[2026-10-20 03:43:58,887.887 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:43:59,117.117 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:43:59,122.122 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:43:59,363.363 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:43:59,380.380 INFO    ] time= 20/10/2026 03:43:59
[2026-10-20 03:43:59,386.386 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:43:59,405.405 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:43:59,510.510 INFO    ] No existing commands found in stream
[2026-10-20 03:44:04,543.543 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:44:04,546.546 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-10-20 03:44:07,427.427 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:44:07,430.430 INFO    ] Checking for system updates...
[2026-10-20 03:44:07,465.465 INFO    ] 200
[2026-10-20 03:44:07,467.467 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:44:07,519.519 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:44:07,522.522 INFO    ] No update needed
[2026-10-20 03:44:07,525.525 INFO    ] Checking for camera pi updates...
[2026-10-20 03:44:07,559.559 INFO    ] 200
[2026-10-20 03:44:07,561.561 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:44:07,602.602 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:44:07,650.650 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:44:07,653.653 INFO    ] No camera update needed
[2026-10-20 03:44:07,655.655 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:44:07,658.658 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:44:07,663.663 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:44:07,668.668 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:44:09,709.709 INFO    ] ================================================
[2026-10-20 03:44:09,725.725 INFO    ] Launching Daemon at Tue Oct 20 03:44:09 IST 2026
[2026-10-20 03:44:09,737.737 INFO    ] ================================================
[2026-10-20 03:44:10,305.305 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:44:10
[2026-10-20 03:44:10,893.893 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:44:11,149.149 INFO    ] Initializing speech engine...
[2026-10-20 03:44:11,156.156 INFO    ] 2026-10-20 03:44:11
[2026-10-20 03:44:11,447.447 INFO    ] 2026-10-20 03:44:11
[2026-10-20 03:44:11,485.485 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:44:11,759.759 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:44:11,773.773 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:44:11,980.980 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:44:12,029.029 INFO    ] time= 20/10/2026 03:44:11
[2026-10-20 03:44:12,069.069 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:44:12,076.076 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:44:12,210.210 INFO    ] No existing commands found in stream
[2026-10-20 03:44:17,241.241 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:44:17,244.244 INFO    ] Waiting 2.12 seconds before fallback handling...
[2026-10-20 03:44:19,915.915 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:44:19,917.917 INFO    ] Checking for system updates...
[2026-10-20 03:44:19,953.953 INFO    ] 200
[2026-10-20 03:44:19,956.956 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:44:20,009.009 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:44:20,011.011 INFO    ] No update needed
[2026-10-20 03:44:20,013.013 INFO    ] Checking for camera pi updates...
[2026-10-20 03:44:20,053.053 INFO    ] 200
[2026-10-20 03:44:20,055.055 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:44:20,096.096 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:44:20,144.144 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:44:20,146.146 INFO    ] No camera update needed
[2026-10-20 03:44:20,149.149 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:44:20,151.151 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:44:20,156.156 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:44:20,162.162 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:44:22,202.202 INFO    ] ================================================
[2026-10-20 03:44:22,217.217 INFO    ] Launching Daemon at Tue Oct 20 03:44:22 IST 2026
[2026-10-20 03:44:22,228.228 INFO    ] ================================================
[2026-10-20 03:44:22,871.871 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:44:22
[2026-10-20 03:44:23,538.538 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:44:23,841.841 INFO    ] Initializing speech engine...
[2026-10-20 03:44:23,854.854 INFO    ] 2026-10-20 03:44:23
[2026-10-20 03:44:24,172.172 INFO    ] 2026-10-20 03:44:24
[2026-10-20 03:44:24,257.257 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:44:24,479.479 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:44:24,528.528 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:44:24,725.725 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:44:24,734.734 INFO    ] time= 20/10/2026 03:44:24
[2026-10-20 03:44:24,742.742 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:44:24,800.800 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:44:24,944.944 INFO    ] No existing commands found in stream
[2026-10-20 03:44:29,961.961 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:44:29,964.964 INFO    ] Waiting 0.91 seconds before fallback handling...
[2026-10-20 03:44:31,437.437 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:44:31,440.440 INFO    ] Checking for system updates...
[2026-10-20 03:44:31,477.477 INFO    ] 200
[2026-10-20 03:44:31,480.480 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:44:31,533.533 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:44:31,536.536 INFO    ] No update needed
[2026-10-20 03:44:31,539.539 INFO    ] Checking for camera pi updates...
[2026-10-20 03:44:31,576.576 INFO    ] 200
[2026-10-20 03:44:31,579.579 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:44:31,625.625 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:44:31,659.659 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:44:31,662.662 INFO    ] No camera update needed
[2026-10-20 03:44:31,665.665 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:44:31,667.667 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:44:31,674.674 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:44:31,680.680 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:44:33,724.724 INFO    ] ================================================
[2026-10-20 03:44:33,740.740 INFO    ] Launching Daemon at Tue Oct 20 03:44:33 IST 2026
[2026-10-20 03:44:33,751.751 INFO    ] ================================================
[2026-10-20 03:44:34,394.394 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:44:34
[2026-10-20 03:44:35,056.056 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:44:35,358.358 INFO    ] Initializing speech engine...
[2026-10-20 03:44:35,372.372 INFO    ] 2026-10-20 03:44:35
[2026-10-20 03:44:35,655.655 INFO    ] 2026-10-20 03:44:35
[2026-10-20 03:44:35,702.702 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:44:35,990.990 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:44:35,998.998 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:44:36,201.201 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:44:36,219.219 INFO    ] time= 20/10/2026 03:44:36
[2026-10-20 03:44:36,242.242 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:44:36,256.256 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:44:36,360.360 INFO    ] No existing commands found in stream
[2026-10-20 03:44:41,373.373 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:44:41,376.376 INFO    ] Waiting 2.87 seconds before fallback handling...
[2026-10-20 03:44:44,779.779 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 03:44:44,782.782 INFO    ] Checking for system updates...
[2026-10-20 03:44:44,818.818 INFO    ] 200
[2026-10-20 03:44:44,821.821 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:44:44,873.873 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:44:44,876.876 INFO    ] No update needed
[2026-10-20 03:44:44,878.878 INFO    ] Checking for camera pi updates...
[2026-10-20 03:44:44,913.913 INFO    ] 200
[2026-10-20 03:44:44,916.916 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:44:44,957.957 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:44:45,011.011 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:44:45,014.014 INFO    ] No camera update needed
[2026-10-20 03:44:45,017.017 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:44:45,019.019 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:44:45,026.026 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:44:45,032.032 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:44:47,072.072 INFO    ] ================================================
[2026-10-20 03:44:47,088.088 INFO    ] Launching Daemon at Tue Oct 20 03:44:47 IST 2026
[2026-10-20 03:44:47,099.099 INFO    ] ================================================
[2026-10-20 03:44:47,735.735 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:44:47
[2026-10-20 03:44:48,393.393 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:44:48,693.693 INFO    ] Initializing speech engine...
[2026-10-20 03:44:48,702.702 INFO    ] 2026-10-20 03:44:48
[2026-10-20 03:44:48,986.986 INFO    ] 2026-10-20 03:44:48
[2026-10-20 03:44:49,033.033 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:44:49,264.264 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:44:49,270.270 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:44:49,520.520 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:44:49,538.538 INFO    ] time= 20/10/2026 03:44:49
[2026-10-20 03:44:49,554.554 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:44:49,586.586 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:44:49,706.706 INFO    ] No existing commands found in stream
[2026-10-20 03:44:54,737.737 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:44:54,740.740 INFO    ] Waiting 3.89 seconds before fallback handling...
[2026-10-20 03:44:59,202.202 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:44:59,205.205 INFO    ] Checking for system updates...
[2026-10-20 03:44:59,241.241 INFO    ] 200
[2026-10-20 03:44:59,244.244 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:44:59,296.296 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:44:59,299.299 INFO    ] No update needed
[2026-10-20 03:44:59,302.302 INFO    ] Checking for camera pi updates...
[2026-10-20 03:44:59,336.336 INFO    ] 200
[2026-10-20 03:44:59,339.339 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:44:59,384.384 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:44:59,433.433 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:44:59,435.435 INFO    ] No camera update needed
[2026-10-20 03:44:59,437.437 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:44:59,440.440 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:44:59,445.445 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:44:59,450.450 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:45:01,490.490 INFO    ] ================================================
[2026-10-20 03:45:01,505.505 INFO    ] Launching Daemon at Tue Oct 20 03:45:01 IST 2026
[2026-10-20 03:45:01,516.516 INFO    ] ================================================
[2026-10-20 03:45:02,633.633 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:45:02
[2026-10-20 03:45:03,425.425 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:45:03,787.787 INFO    ] Initializing speech engine...
[2026-10-20 03:45:03,796.796 INFO    ] 2026-10-20 03:45:03
[2026-10-20 03:45:04,081.081 INFO    ] 2026-10-20 03:45:04
[2026-10-20 03:45:04,117.117 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:45:04,317.317 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:45:04,322.322 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:45:04,563.563 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:45:04,574.574 INFO    ] time= 20/10/2026 03:45:04
[2026-10-20 03:45:04,617.617 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:45:04,661.661 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:45:04,747.747 INFO    ] No existing commands found in stream
[2026-10-20 03:45:09,772.772 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:45:09,775.775 INFO    ] Waiting 4.00 seconds before fallback handling...
[2026-10-20 03:45:14,325.325 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:45:14,328.328 INFO    ] Checking for system updates...
[2026-10-20 03:45:14,364.364 INFO    ] 200
[2026-10-20 03:45:14,366.366 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:45:14,417.417 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:45:14,420.420 INFO    ] No update needed
[2026-10-20 03:45:14,422.422 INFO    ] Checking for camera pi updates...
[2026-10-20 03:45:14,455.455 INFO    ] 200
[2026-10-20 03:45:14,457.457 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:45:14,497.497 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:45:14,527.527 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:45:14,530.530 INFO    ] No camera update needed
[2026-10-20 03:45:14,532.532 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:45:14,534.534 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:45:14,540.540 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:45:14,544.544 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:45:16,585.585 INFO    ] ================================================
[2026-10-20 03:45:16,600.600 INFO    ] Launching Daemon at Tue Oct 20 03:45:16 IST 2026
[2026-10-20 03:45:16,612.612 INFO    ] ================================================
[2026-10-20 03:45:17,242.242 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:45:17
[2026-10-20 03:45:17,851.851 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:45:18,138.138 INFO    ] Initializing speech engine...
[2026-10-20 03:45:18,147.147 INFO    ] 2026-10-20 03:45:18
[2026-10-20 03:45:18,406.406 INFO    ] 2026-10-20 03:45:18
[2026-10-20 03:45:18,460.460 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:45:18,729.729 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:45:18,755.755 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:45:18,945.945 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:45:18,960.960 INFO    ] time= 20/10/2026 03:45:18
[2026-10-20 03:45:18,978.978 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:45:19,006.006 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:45:19,164.164 INFO    ] No existing commands found in stream
[2026-10-20 03:45:24,195.195 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:45:24,197.197 INFO    ] Waiting 2.26 seconds before fallback handling...
[2026-10-20 03:45:27,011.011 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:45:27,014.014 INFO    ] Checking for system updates...
[2026-10-20 03:45:27,050.050 INFO    ] 200
[2026-10-20 03:45:27,052.052 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:45:27,104.104 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:45:27,106.106 INFO    ] No update needed
[2026-10-20 03:45:27,109.109 INFO    ] Checking for camera pi updates...
[2026-10-20 03:45:27,143.143 INFO    ] 200
[2026-10-20 03:45:27,145.145 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:45:27,190.190 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:45:27,341.341 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:45:27,343.343 INFO    ] No camera update needed
[2026-10-20 03:45:27,346.346 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:45:27,348.348 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:45:27,354.354 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:45:27,359.359 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:45:29,400.400 INFO    ] ================================================
[2026-10-20 03:45:29,415.415 INFO    ] Launching Daemon at Tue Oct 20 03:45:29 IST 2026
[2026-10-20 03:45:29,426.426 INFO    ] ================================================
[2026-10-20 03:45:29,995.995 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:45:29
[2026-10-20 03:45:30,580.580 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:45:30,832.832 INFO    ] Initializing speech engine...
[2026-10-20 03:45:30,841.841 INFO    ] 2026-10-20 03:45:30
[2026-10-20 03:45:31,107.107 INFO    ] 2026-10-20 03:45:31
[2026-10-20 03:45:31,146.146 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:45:31,438.438 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:45:31,448.448 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:45:31,652.652 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:45:31,707.707 INFO    ] time= 20/10/2026 03:45:31
[2026-10-20 03:45:31,750.750 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:45:31,756.756 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:45:31,888.888 INFO    ] No existing commands found in stream
[2026-10-20 03:45:36,911.911 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:45:36,914.914 INFO    ] Waiting 1.15 seconds before fallback handling...
[2026-10-20 03:45:38,589.589 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 03:45:38,591.591 INFO    ] Checking for system updates...
[2026-10-20 03:45:38,627.627 INFO    ] 200
[2026-10-20 03:45:38,630.630 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:45:38,688.688 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:45:38,691.691 INFO    ] No update needed
[2026-10-20 03:45:38,693.693 INFO    ] Checking for camera pi updates...
[2026-10-20 03:45:38,727.727 INFO    ] 200
[2026-10-20 03:45:38,729.729 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:45:38,769.769 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:45:38,813.813 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:45:38,816.816 INFO    ] No camera update needed
[2026-10-20 03:45:38,818.818 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:45:38,821.821 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:45:38,826.826 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:45:38,831.831 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:45:40,870.870 INFO    ] ================================================
[2026-10-20 03:45:40,885.885 INFO    ] Launching Daemon at Tue Oct 20 03:45:40 IST 2026
[2026-10-20 03:45:40,895.895 INFO    ] ================================================
[2026-10-20 03:45:41,469.469 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:45:41
[2026-10-20 03:45:42,054.054 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:45:42,327.327 INFO    ] Initializing speech engine...
[2026-10-20 03:45:42,333.333 INFO    ] 2026-10-20 03:45:42
[2026-10-20 03:45:42,579.579 INFO    ] 2026-10-20 03:45:42
[2026-10-20 03:45:42,613.613 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:45:42,817.817 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:45:42,869.869 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:45:43,046.046 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:45:43,096.096 INFO    ] time= 20/10/2026 03:45:43
[2026-10-20 03:45:43,150.150 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:45:43,195.195 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:45:43,330.330 INFO    ] No existing commands found in stream
[2026-10-20 03:45:48,355.355 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:45:48,358.358 INFO    ] Waiting 1.82 seconds before fallback handling...
[2026-10-20 03:45:50,735.735 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:45:50,737.737 INFO    ] Checking for system updates...
[2026-10-20 03:45:50,773.773 INFO    ] 200
[2026-10-20 03:45:50,776.776 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:45:50,829.829 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:45:50,831.831 INFO    ] No update needed
[2026-10-20 03:45:50,833.833 INFO    ] Checking for camera pi updates...
[2026-10-20 03:45:50,868.868 INFO    ] 200
[2026-10-20 03:45:50,871.871 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:45:50,910.910 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:45:50,955.955 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:45:50,958.958 INFO    ] No camera update needed
[2026-10-20 03:45:50,960.960 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:45:50,962.962 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:45:50,968.968 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:45:50,973.973 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:45:53,013.013 INFO    ] ================================================
[2026-10-20 03:45:53,028.028 INFO    ] Launching Daemon at Tue Oct 20 03:45:53 IST 2026
[2026-10-20 03:45:53,039.039 INFO    ] ================================================
[2026-10-20 03:45:53,608.608 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:45:53
[2026-10-20 03:45:54,194.194 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:45:54,440.440 INFO    ] Initializing speech engine...
[2026-10-20 03:45:54,446.446 INFO    ] 2026-10-20 03:45:54
[2026-10-20 03:45:54,715.715 INFO    ] 2026-10-20 03:45:54
[2026-10-20 03:45:54,751.751 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:45:55,007.007 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:45:55,013.013 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:45:55,246.246 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:45:55,268.268 INFO    ] time= 20/10/2026 03:45:55
[2026-10-20 03:45:55,274.274 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:45:55,294.294 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:45:55,418.418 INFO    ] No existing commands found in stream
[2026-10-20 03:46:00,433.433 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:46:00,436.436 INFO    ] Waiting 3.22 seconds before fallback handling...
[2026-10-20 03:46:04,129.129 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 03:46:04,131.131 INFO    ] Checking for system updates...
[2026-10-20 03:46:04,167.167 INFO    ] 200
[2026-10-20 03:46:04,170.170 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:46:04,222.222 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:46:04,225.225 INFO    ] No update needed
[2026-10-20 03:46:04,228.228 INFO    ] Checking for camera pi updates...
[2026-10-20 03:46:04,262.262 INFO    ] 200
[2026-10-20 03:46:04,265.265 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:46:04,311.311 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:46:04,366.366 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:46:04,368.368 INFO    ] No camera update needed
[2026-10-20 03:46:04,370.370 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:46:04,373.373 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:46:04,378.378 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:46:04,383.383 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:46:06,423.423 INFO    ] ================================================
[2026-10-20 03:46:06,438.438 INFO    ] Launching Daemon at Tue Oct 20 03:46:06 IST 2026
[2026-10-20 03:46:06,449.449 INFO    ] ================================================
[2026-10-20 03:46:07,105.105 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:46:07
[2026-10-20 03:46:07,782.782 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:46:08,084.084 INFO    ] Initializing speech engine...
[2026-10-20 03:46:08,090.090 INFO    ] 2026-10-20 03:46:08
[2026-10-20 03:46:08,365.365 INFO    ] 2026-10-20 03:46:08
[2026-10-20 03:46:08,420.420 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:46:08,653.653 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:46:08,673.673 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:46:08,896.896 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:46:08,918.918 INFO    ] time= 20/10/2026 03:46:08
[2026-10-20 03:46:08,936.936 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:46:08,954.954 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:46:09,097.097 INFO    ] No existing commands found in stream
[2026-10-20 03:46:14,128.128 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:46:14,132.132 INFO    ] Waiting 1.84 seconds before fallback handling...
[2026-10-20 03:46:16,536.536 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:46:16,539.539 INFO    ] Checking for system updates...
[2026-10-20 03:46:16,580.580 INFO    ] 200
[2026-10-20 03:46:16,583.583 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:46:16,640.640 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:46:16,643.643 INFO    ] No update needed
[2026-10-20 03:46:16,646.646 INFO    ] Checking for camera pi updates...
[2026-10-20 03:46:16,684.684 INFO    ] 200
[2026-10-20 03:46:16,686.686 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:46:16,733.733 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:46:16,787.787 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:46:16,790.790 INFO    ] No camera update needed
[2026-10-20 03:46:16,793.793 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:46:16,795.795 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:46:16,802.802 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:46:16,807.807 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:46:18,849.849 INFO    ] ================================================
[2026-10-20 03:46:18,865.865 INFO    ] Launching Daemon at Tue Oct 20 03:46:18 IST 2026
[2026-10-20 03:46:18,876.876 INFO    ] ================================================
[2026-10-20 03:46:19,442.442 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:46:19
[2026-10-20 03:46:20,025.025 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:46:20,296.296 INFO    ] Initializing speech engine...
[2026-10-20 03:46:20,304.304 INFO    ] 2026-10-20 03:46:20
[2026-10-20 03:46:20,572.572 INFO    ] 2026-10-20 03:46:20
[2026-10-20 03:46:20,608.608 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:46:20,821.821 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:46:20,839.839 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:46:21,042.042 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:46:21,089.089 INFO    ] time= 20/10/2026 03:46:21
[2026-10-20 03:46:21,138.138 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:46:21,178.178 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:46:21,317.317 INFO    ] No existing commands found in stream
[2026-10-20 03:46:26,342.342 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:46:26,345.345 INFO    ] Waiting 0.23 seconds before fallback handling...
[2026-10-20 03:46:27,079.079 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 03:46:27,081.081 INFO    ] Checking for system updates...
[2026-10-20 03:46:27,116.116 INFO    ] 200
[2026-10-20 03:46:27,119.119 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:46:27,172.172 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:46:27,174.174 INFO    ] No update needed
[2026-10-20 03:46:27,176.176 INFO    ] Checking for camera pi updates...
[2026-10-20 03:46:27,215.215 INFO    ] 200
[2026-10-20 03:46:27,218.218 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:46:27,261.261 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:46:27,310.310 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:46:27,312.312 INFO    ] No camera update needed
[2026-10-20 03:46:27,314.314 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:46:27,317.317 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:46:27,322.322 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:46:27,327.327 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:46:29,367.367 INFO    ] ================================================
[2026-10-20 03:46:29,383.383 INFO    ] Launching Daemon at Tue Oct 20 03:46:29 IST 2026
[2026-10-20 03:46:29,394.394 INFO    ] ================================================
[2026-10-20 03:46:29,961.961 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:46:29
[2026-10-20 03:46:30,545.545 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:46:30,818.818 INFO    ] Initializing speech engine...
[2026-10-20 03:46:30,827.827 INFO    ] 2026-10-20 03:46:30
[2026-10-20 03:46:31,089.089 INFO    ] 2026-10-20 03:46:31
[2026-10-20 03:46:31,123.123 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:46:31,435.435 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:46:31,444.444 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:46:31,659.659 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:46:31,681.681 INFO    ] time= 20/10/2026 03:46:31
[2026-10-20 03:46:31,715.715 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:46:31,739.739 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:46:31,896.896 INFO    ] No existing commands found in stream
[2026-10-20 03:46:36,926.926 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:46:36,929.929 INFO    ] Waiting 1.94 seconds before fallback handling...
[2026-10-20 03:46:39,438.438 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 03:46:39,440.440 INFO    ] Checking for system updates...
[2026-10-20 03:46:39,476.476 INFO    ] 200
[2026-10-20 03:46:39,478.478 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:46:39,530.530 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:46:39,533.533 INFO    ] No update needed
[2026-10-20 03:46:39,535.535 INFO    ] Checking for camera pi updates...
[2026-10-20 03:46:39,576.576 INFO    ] 200
[2026-10-20 03:46:39,579.579 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:46:39,618.618 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:46:39,685.685 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:46:39,687.687 INFO    ] No camera update needed
[2026-10-20 03:46:39,690.690 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:46:39,692.692 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:46:39,697.697 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:46:39,703.703 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:46:41,744.744 INFO    ] ================================================
[2026-10-20 03:46:41,760.760 INFO    ] Launching Daemon at Tue Oct 20 03:46:41 IST 2026
[2026-10-20 03:46:41,771.771 INFO    ] ================================================
[2026-10-20 03:46:42,422.422 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:46:42
[2026-10-20 03:46:43,007.007 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:46:43,275.275 INFO    ] Initializing speech engine...
[2026-10-20 03:46:43,284.284 INFO    ] 2026-10-20 03:46:43
[2026-10-20 03:46:43,531.531 INFO    ] 2026-10-20 03:46:43
[2026-10-20 03:46:43,566.566 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:46:43,824.824 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:46:43,844.844 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:46:44,041.041 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:46:44,083.083 INFO    ] time= 20/10/2026 03:46:44
[2026-10-20 03:46:44,089.089 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:46:44,107.107 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:46:44,240.240 INFO    ] No existing commands found in stream
[2026-10-20 03:46:49,262.262 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:46:49,265.265 INFO    ] Waiting 1.52 seconds before fallback handling...
[2026-10-20 03:46:51,336.336 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:46:51,339.339 INFO    ] Checking for system updates...
[2026-10-20 03:46:51,376.376 INFO    ] 200
[2026-10-20 03:46:51,379.379 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:46:51,440.440 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:46:51,443.443 INFO    ] No update needed
[2026-10-20 03:46:51,446.446 INFO    ] Checking for camera pi updates...
[2026-10-20 03:46:51,480.480 INFO    ] 200
[2026-10-20 03:46:51,483.483 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:46:51,529.529 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:46:51,560.560 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:46:51,563.563 INFO    ] No camera update needed
[2026-10-20 03:46:51,565.565 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:46:51,568.568 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:46:51,574.574 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:46:51,580.580 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:46:53,621.621 INFO    ] ================================================
[2026-10-20 03:46:53,637.637 INFO    ] Launching Daemon at Tue Oct 20 03:46:53 IST 2026
[2026-10-20 03:46:53,647.647 INFO    ] ================================================
[2026-10-20 03:46:54,309.309 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:46:54
[2026-10-20 03:46:54,990.990 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:46:55,298.298 INFO    ] Initializing speech engine...
[2026-10-20 03:46:55,309.309 INFO    ] 2026-10-20 03:46:55
[2026-10-20 03:46:55,597.597 INFO    ] 2026-10-20 03:46:55
[2026-10-20 03:46:55,707.707 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:46:55,923.923 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:46:55,931.931 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:46:56,125.125 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:46:56,154.154 INFO    ] time= 20/10/2026 03:46:56
[2026-10-20 03:46:56,176.176 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:46:56,186.186 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:46:56,314.314 INFO    ] No existing commands found in stream
[2026-10-20 03:47:01,345.345 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:47:01,356.356 INFO    ] Waiting 1.53 seconds before fallback handling...
[2026-10-20 03:47:03,458.458 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:47:03,461.461 INFO    ] Checking for system updates...
[2026-10-20 03:47:03,498.498 INFO    ] 200
[2026-10-20 03:47:03,501.501 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:47:03,555.555 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:47:03,558.558 INFO    ] No update needed
[2026-10-20 03:47:03,560.560 INFO    ] Checking for camera pi updates...
[2026-10-20 03:47:03,595.595 INFO    ] 200
[2026-10-20 03:47:03,598.598 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:47:03,639.639 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:47:03,687.687 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:47:03,690.690 INFO    ] No camera update needed
[2026-10-20 03:47:03,692.692 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:47:03,695.695 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:47:03,701.701 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:47:03,707.707 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:47:05,748.748 INFO    ] ================================================
[2026-10-20 03:47:05,770.770 INFO    ] Launching Daemon at Tue Oct 20 03:47:05 IST 2026
[2026-10-20 03:47:05,780.780 INFO    ] ================================================
[2026-10-20 03:47:06,363.363 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:47:06
[2026-10-20 03:47:06,960.960 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:47:07,227.227 INFO    ] Initializing speech engine...
[2026-10-20 03:47:07,242.242 INFO    ] 2026-10-20 03:47:07
[2026-10-20 03:47:07,537.537 INFO    ] 2026-10-20 03:47:07
[2026-10-20 03:47:07,575.575 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:47:07,862.862 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:47:07,872.872 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:47:08,104.104 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:47:08,153.153 INFO    ] time= 20/10/2026 03:47:08
[2026-10-20 03:47:08,168.168 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:47:08,186.186 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:47:08,317.317 INFO    ] No existing commands found in stream
[2026-10-20 03:47:13,343.343 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:47:13,345.345 INFO    ] Waiting 1.27 seconds before fallback handling...
[2026-10-20 03:47:15,143.143 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:47:15,146.146 INFO    ] Checking for system updates...
[2026-10-20 03:47:15,181.181 INFO    ] 200
[2026-10-20 03:47:15,183.183 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:47:15,242.242 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:47:15,245.245 INFO    ] No update needed
[2026-10-20 03:47:15,247.247 INFO    ] Checking for camera pi updates...
[2026-10-20 03:47:15,284.284 INFO    ] 200
[2026-10-20 03:47:15,287.287 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:47:15,328.328 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:47:15,388.388 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:47:15,392.392 INFO    ] No camera update needed
[2026-10-20 03:47:15,395.395 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:47:15,397.397 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:47:15,403.403 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:47:15,409.409 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:47:17,452.452 INFO    ] ================================================
[2026-10-20 03:47:17,468.468 INFO    ] Launching Daemon at Tue Oct 20 03:47:17 IST 2026
[2026-10-20 03:47:17,479.479 INFO    ] ================================================
[2026-10-20 03:47:18,050.050 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:47:18
[2026-10-20 03:47:18,640.640 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:47:18,917.917 INFO    ] Initializing speech engine...
[2026-10-20 03:47:18,930.930 INFO    ] 2026-10-20 03:47:18
[2026-10-20 03:47:19,205.205 INFO    ] 2026-10-20 03:47:19
[2026-10-20 03:47:19,240.240 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:47:19,463.463 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:47:19,528.528 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:47:19,766.766 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:47:19,821.821 INFO    ] time= 20/10/2026 03:47:19
[2026-10-20 03:47:19,833.833 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:47:19,853.853 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:47:19,991.991 INFO    ] No existing commands found in stream
[2026-10-20 03:47:25,006.006 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:47:25,010.010 INFO    ] Waiting 1.52 seconds before fallback handling...
[2026-10-20 03:47:27,011.011 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:47:27,014.014 INFO    ] Checking for system updates...
[2026-10-20 03:47:27,049.049 INFO    ] 200
[2026-10-20 03:47:27,052.052 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:47:27,103.103 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:47:27,106.106 INFO    ] No update needed
[2026-10-20 03:47:27,108.108 INFO    ] Checking for camera pi updates...
[2026-10-20 03:47:27,142.142 INFO    ] 200
[2026-10-20 03:47:27,144.144 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:47:27,185.185 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:47:27,238.238 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:47:27,241.241 INFO    ] No camera update needed
[2026-10-20 03:47:27,243.243 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:47:27,245.245 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:47:27,251.251 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:47:27,256.256 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:47:29,295.295 INFO    ] ================================================
[2026-10-20 03:47:29,310.310 INFO    ] Launching Daemon at Tue Oct 20 03:47:29 IST 2026
[2026-10-20 03:47:29,321.321 INFO    ] ================================================
[2026-10-20 03:47:29,910.910 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:47:29
[2026-10-20 03:47:30,507.507 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:47:30,784.784 INFO    ] Initializing speech engine...
[2026-10-20 03:47:30,790.790 INFO    ] 2026-10-20 03:47:30
[2026-10-20 03:47:31,038.038 INFO    ] 2026-10-20 03:47:31
[2026-10-20 03:47:31,073.073 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:47:31,324.324 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:47:31,333.333 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:47:31,561.561 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:47:31,613.613 INFO    ] time= 20/10/2026 03:47:31
[2026-10-20 03:47:31,620.620 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:47:31,639.639 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:47:31,759.759 INFO    ] No existing commands found in stream
[2026-10-20 03:47:36,789.789 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:47:36,792.792 INFO    ] Waiting 2.60 seconds before fallback handling...
[2026-10-20 03:47:39,916.916 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:47:39,918.918 INFO    ] Checking for system updates...
[2026-10-20 03:47:39,954.954 INFO    ] 200
[2026-10-20 03:47:39,957.957 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:47:40,009.009 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:47:40,011.011 INFO    ] No update needed
[2026-10-20 03:47:40,014.014 INFO    ] Checking for camera pi updates...
[2026-10-20 03:47:40,047.047 INFO    ] 200
[2026-10-20 03:47:40,049.049 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:47:40,090.090 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:47:40,133.133 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:47:40,136.136 INFO    ] No camera update needed
[2026-10-20 03:47:40,139.139 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:47:40,141.141 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:47:40,147.147 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:47:40,152.152 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:47:42,191.191 INFO    ] ================================================
[2026-10-20 03:47:42,206.206 INFO    ] Launching Daemon at Tue Oct 20 03:47:42 IST 2026
[2026-10-20 03:47:42,217.217 INFO    ] ================================================
[2026-10-20 03:47:42,784.784 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:47:42
[2026-10-20 03:47:43,367.367 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:47:43,638.638 INFO    ] Initializing speech engine...
[2026-10-20 03:47:43,650.650 INFO    ] 2026-10-20 03:47:43
[2026-10-20 03:47:43,900.900 INFO    ] 2026-10-20 03:47:43
[2026-10-20 03:47:43,934.934 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:47:44,136.136 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:47:44,195.195 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:47:44,346.346 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:47:44,401.401 INFO    ] time= 20/10/2026 03:47:44
[2026-10-20 03:47:44,450.450 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:47:44,476.476 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:47:44,623.623 INFO    ] No existing commands found in stream
[2026-10-20 03:47:49,648.648 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:47:49,651.651 INFO    ] Waiting 0.17 seconds before fallback handling...
[2026-10-20 03:47:50,291.291 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:47:50,293.293 INFO    ] Checking for system updates...
[2026-10-20 03:47:50,330.330 INFO    ] 200
[2026-10-20 03:47:50,333.333 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:47:50,385.385 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:47:50,388.388 INFO    ] No update needed
[2026-10-20 03:47:50,391.391 INFO    ] Checking for camera pi updates...
[2026-10-20 03:47:50,424.424 INFO    ] 200
[2026-10-20 03:47:50,427.427 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:47:50,466.466 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:47:50,503.503 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:47:50,506.506 INFO    ] No camera update needed
[2026-10-20 03:47:50,508.508 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:47:50,511.511 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:47:50,516.516 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:47:50,521.521 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:47:52,561.561 INFO    ] ================================================
[2026-10-20 03:47:52,576.576 INFO    ] Launching Daemon at Tue Oct 20 03:47:52 IST 2026
[2026-10-20 03:47:52,587.587 INFO    ] ================================================
[2026-10-20 03:47:53,251.251 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:47:53
[2026-10-20 03:47:53,935.935 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:47:54,241.241 INFO    ] Initializing speech engine...
[2026-10-20 03:47:54,249.249 INFO    ] 2026-10-20 03:47:54
[2026-10-20 03:47:54,536.536 INFO    ] 2026-10-20 03:47:54
[2026-10-20 03:47:54,582.582 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:47:54,933.933 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:47:54,981.981 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:47:55,200.200 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:47:55,242.242 INFO    ] time= 20/10/2026 03:47:55
[2026-10-20 03:47:55,302.302 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:47:55,329.329 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:47:55,487.487 INFO    ] No existing commands found in stream
[2026-10-20 03:48:00,520.520 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:48:00,524.524 INFO    ] Waiting 2.90 seconds before fallback handling...
[2026-10-20 03:48:03,936.936 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:48:03,939.939 INFO    ] Checking for system updates...
[2026-10-20 03:48:03,980.980 INFO    ] 200
[2026-10-20 03:48:03,983.983 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:48:04,034.034 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:48:04,037.037 INFO    ] No update needed
[2026-10-20 03:48:04,039.039 INFO    ] Checking for camera pi updates...
[2026-10-20 03:48:04,073.073 INFO    ] 200
[2026-10-20 03:48:04,075.075 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:48:04,115.115 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:48:04,163.163 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:48:04,165.165 INFO    ] No camera update needed
[2026-10-20 03:48:04,167.167 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:48:04,170.170 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:48:04,175.175 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:48:04,180.180 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:48:06,220.220 INFO    ] ================================================
[2026-10-20 03:48:06,235.235 INFO    ] Launching Daemon at Tue Oct 20 03:48:06 IST 2026
[2026-10-20 03:48:06,246.246 INFO    ] ================================================
[2026-10-20 03:48:06,816.816 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:48:06
[2026-10-20 03:48:07,422.422 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:48:07,691.691 INFO    ] Initializing speech engine...
[2026-10-20 03:48:07,704.704 INFO    ] 2026-10-20 03:48:07
[2026-10-20 03:48:07,995.995 INFO    ] 2026-10-20 03:48:07
[2026-10-20 03:48:08,032.032 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:48:08,235.235 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:48:08,250.250 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:48:08,414.414 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:48:08,422.422 INFO    ] time= 20/10/2026 03:48:08
[2026-10-20 03:48:08,427.427 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:48:08,434.434 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:48:08,511.511 INFO    ] No existing commands found in stream
[2026-10-20 03:48:13,521.521 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:48:13,524.524 INFO    ] Waiting 0.56 seconds before fallback handling...
[2026-10-20 03:48:14,617.617 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:48:14,620.620 INFO    ] Checking for system updates...
[2026-10-20 03:48:14,666.666 INFO    ] 200
[2026-10-20 03:48:14,669.669 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 03:48:14,672.672 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-10-20 03:48:14,674.674 INFO    ] Checking for camera pi updates...
[2026-10-20 03:48:14,726.726 INFO    ] 200
[2026-10-20 03:48:14,729.729 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 03:48:14,732.732 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-10-20 03:48:14,735.735 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:48:14,738.738 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:48:14,743.743 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:48:14,749.749 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:48:16,791.791 INFO    ] ================================================
[2026-10-20 03:48:16,806.806 INFO    ] Launching Daemon at Tue Oct 20 03:48:16 IST 2026
[2026-10-20 03:48:16,817.817 INFO    ] ================================================
[2026-10-20 03:48:17,476.476 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:48:17
[2026-10-20 03:48:18,159.159 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:48:18,467.467 INFO    ] Initializing speech engine...
[2026-10-20 03:48:18,482.482 INFO    ] 2026-10-20 03:48:18
[2026-10-20 03:48:18,793.793 INFO    ] 2026-10-20 03:48:18
[2026-10-20 03:48:18,878.878 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:48:19,137.137 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:48:19,160.160 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:48:19,345.345 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:48:19,409.409 INFO    ] time= 20/10/2026 03:48:19
[2026-10-20 03:48:19,447.447 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:48:19,505.505 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:48:19,696.696 INFO    ] No existing commands found in stream
[2026-10-20 03:48:24,715.715 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:48:24,718.718 INFO    ] Waiting 1.04 seconds before fallback handling...
[2026-10-20 03:48:26,251.251 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:48:26,253.253 INFO    ] Checking for system updates...
[2026-10-20 03:48:26,289.289 INFO    ] 200
[2026-10-20 03:48:26,292.292 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:48:26,344.344 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:48:26,347.347 INFO    ] No update needed
[2026-10-20 03:48:26,349.349 INFO    ] Checking for camera pi updates...
[2026-10-20 03:48:26,386.386 INFO    ] 200
[2026-10-20 03:48:26,389.389 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:48:26,429.429 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:48:26,480.480 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:48:26,483.483 INFO    ] No camera update needed
[2026-10-20 03:48:26,485.485 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:48:26,487.487 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:48:26,493.493 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:48:26,497.497 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:48:28,538.538 INFO    ] ================================================
[2026-10-20 03:48:28,553.553 INFO    ] Launching Daemon at Tue Oct 20 03:48:28 IST 2026
[2026-10-20 03:48:28,564.564 INFO    ] ================================================
[2026-10-20 03:48:29,130.130 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:48:29
[2026-10-20 03:48:29,715.715 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:48:29,989.989 INFO    ] Initializing speech engine...
[2026-10-20 03:48:29,998.998 INFO    ] 2026-10-20 03:48:29
[2026-10-20 03:48:30,245.245 INFO    ] 2026-10-20 03:48:30
[2026-10-20 03:48:30,286.286 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:48:30,536.536 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:48:30,542.542 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:48:30,794.794 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:48:30,801.801 INFO    ] time= 20/10/2026 03:48:30
[2026-10-20 03:48:30,820.820 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:48:30,847.847 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:48:30,979.979 INFO    ] No existing commands found in stream
[2026-10-20 03:48:36,009.009 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:48:36,012.012 INFO    ] Waiting 3.60 seconds before fallback handling...
[2026-10-20 03:48:40,117.117 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:48:40,120.120 INFO    ] Checking for system updates...
[2026-10-20 03:48:40,155.155 INFO    ] 200
[2026-10-20 03:48:40,158.158 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:48:40,217.217 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:48:40,219.219 INFO    ] No update needed
[2026-10-20 03:48:40,222.222 INFO    ] Checking for camera pi updates...
[2026-10-20 03:48:40,256.256 INFO    ] 200
[2026-10-20 03:48:40,258.258 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:48:40,299.299 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:48:40,349.349 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:48:40,352.352 INFO    ] No camera update needed
[2026-10-20 03:48:40,354.354 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:48:40,356.356 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:48:40,362.362 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:48:40,367.367 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:48:42,409.409 INFO    ] ================================================
[2026-10-20 03:48:42,424.424 INFO    ] Launching Daemon at Tue Oct 20 03:48:42 IST 2026
[2026-10-20 03:48:42,435.435 INFO    ] ================================================
[2026-10-20 03:48:43,099.099 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:48:43
[2026-10-20 03:48:43,784.784 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:48:44,095.095 INFO    ] Initializing speech engine...
[2026-10-20 03:48:44,110.110 INFO    ] 2026-10-20 03:48:44
[2026-10-20 03:48:44,383.383 INFO    ] 2026-10-20 03:48:44
[2026-10-20 03:48:44,442.442 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:48:44,734.734 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:48:44,739.739 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:48:44,921.921 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:48:44,947.947 INFO    ] time= 20/10/2026 03:48:44
[2026-10-20 03:48:44,967.967 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:48:44,996.996 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:48:45,107.107 INFO    ] No existing commands found in stream
[2026-10-20 03:48:50,128.128 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:48:50,132.132 INFO    ] Waiting 0.21 seconds before fallback handling...
[2026-10-20 03:48:50,900.900 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:48:50,903.903 INFO    ] Checking for system updates...
[2026-10-20 03:48:50,942.942 INFO    ] 200
[2026-10-20 03:48:50,945.945 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:48:50,998.998 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:48:51,001.001 INFO    ] No update needed
[2026-10-20 03:48:51,004.004 INFO    ] Checking for camera pi updates...
[2026-10-20 03:48:51,039.039 INFO    ] 200
[2026-10-20 03:48:51,042.042 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:48:51,089.089 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:48:51,146.146 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:48:51,148.148 INFO    ] No camera update needed
[2026-10-20 03:48:51,151.151 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:48:51,153.153 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:48:51,158.158 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:48:51,163.163 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:48:53,205.205 INFO    ] ================================================
[2026-10-20 03:48:53,220.220 INFO    ] Launching Daemon at Tue Oct 20 03:48:53 IST 2026
[2026-10-20 03:48:53,232.232 INFO    ] ================================================
[2026-10-20 03:48:53,903.903 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:48:53
[2026-10-20 03:48:54,623.623 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:48:54,968.968 INFO    ] Initializing speech engine...
[2026-10-20 03:48:54,978.978 INFO    ] 2026-10-20 03:48:54
[2026-10-20 03:48:55,261.261 INFO    ] 2026-10-20 03:48:55
[2026-10-20 03:48:55,320.320 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:48:55,622.622 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:48:55,632.632 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:48:55,829.829 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:48:55,849.849 INFO    ] time= 20/10/2026 03:48:55
[2026-10-20 03:48:55,876.876 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:48:55,885.885 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:48:55,989.989 INFO    ] No existing commands found in stream
[2026-10-20 03:49:01,007.007 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:49:01,011.011 INFO    ] Waiting 1.87 seconds before fallback handling...
[2026-10-20 03:49:03,429.429 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:49:03,432.432 INFO    ] Checking for system updates...
[2026-10-20 03:49:03,469.469 INFO    ] 200
[2026-10-20 03:49:03,474.474 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:49:03,550.550 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:49:03,555.555 INFO    ] No update needed
[2026-10-20 03:49:03,558.558 INFO    ] Checking for camera pi updates...
[2026-10-20 03:49:03,594.594 INFO    ] 200
[2026-10-20 03:49:03,597.597 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:49:03,637.637 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:49:03,695.695 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:49:03,698.698 INFO    ] No camera update needed
[2026-10-20 03:49:03,701.701 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:49:03,703.703 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:49:03,708.708 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:49:03,713.713 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:49:05,752.752 INFO    ] ================================================
[2026-10-20 03:49:05,768.768 INFO    ] Launching Daemon at Tue Oct 20 03:49:05 IST 2026
[2026-10-20 03:49:05,779.779 INFO    ] ================================================
[2026-10-20 03:49:06,345.345 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:49:06
[2026-10-20 03:49:06,925.925 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:49:07,192.192 INFO    ] Initializing speech engine...
[2026-10-20 03:49:07,200.200 INFO    ] 2026-10-20 03:49:07
[2026-10-20 03:49:07,451.451 INFO    ] 2026-10-20 03:49:07
[2026-10-20 03:49:07,486.486 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:49:07,754.754 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:49:07,758.758 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:49:07,912.912 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:49:07,942.942 INFO    ] time= 20/10/2026 03:49:07
[2026-10-20 03:49:07,992.992 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:49:08,031.031 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:49:08,129.129 INFO    ] No existing commands found in stream
[2026-10-20 03:49:13,144.144 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:49:13,147.147 INFO    ] Waiting 2.23 seconds before fallback handling...
[2026-10-20 03:49:15,875.875 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:49:15,878.878 INFO    ] Checking for system updates...
[2026-10-20 03:49:15,913.913 INFO    ] 200
[2026-10-20 03:49:15,915.915 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:49:15,967.967 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:49:15,970.970 INFO    ] No update needed
[2026-10-20 03:49:15,973.973 INFO    ] Checking for camera pi updates...
[2026-10-20 03:49:16,005.005 INFO    ] 200
[2026-10-20 03:49:16,008.008 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:49:16,047.047 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:49:16,103.103 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:49:16,105.105 INFO    ] No camera update needed
[2026-10-20 03:49:16,108.108 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:49:16,110.110 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:49:16,115.115 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:49:16,120.120 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:49:18,161.161 INFO    ] ================================================
[2026-10-20 03:49:18,176.176 INFO    ] Launching Daemon at Tue Oct 20 03:49:18 IST 2026
[2026-10-20 03:49:18,187.187 INFO    ] ================================================
[2026-10-20 03:49:18,770.770 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:49:18
[2026-10-20 03:49:19,372.372 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:49:19,638.638 INFO    ] Initializing speech engine...
[2026-10-20 03:49:19,651.651 INFO    ] 2026-10-20 03:49:19
[2026-10-20 03:49:19,937.937 INFO    ] 2026-10-20 03:49:19
[2026-10-20 03:49:19,972.972 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:49:20,183.183 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:49:20,201.201 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:49:20,429.429 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:49:20,456.456 INFO    ] time= 20/10/2026 03:49:20
[2026-10-20 03:49:20,515.515 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:49:20,570.570 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:49:20,687.687 INFO    ] No existing commands found in stream
[2026-10-20 03:49:25,721.721 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:49:25,724.724 INFO    ] Waiting 3.91 seconds before fallback handling...
[2026-10-20 03:49:30,180.180 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:49:30,182.182 INFO    ] Checking for system updates...
[2026-10-20 03:49:30,218.218 INFO    ] 200
[2026-10-20 03:49:30,220.220 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:49:30,273.273 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:49:30,275.275 INFO    ] No update needed
[2026-10-20 03:49:30,278.278 INFO    ] Checking for camera pi updates...
[2026-10-20 03:49:30,311.311 INFO    ] 200
[2026-10-20 03:49:30,314.314 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:49:30,354.354 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:49:30,401.401 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:49:30,404.404 INFO    ] No camera update needed
[2026-10-20 03:49:30,406.406 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:49:30,408.408 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:49:30,414.414 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:49:30,419.419 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:49:32,461.461 INFO    ] ================================================
[2026-10-20 03:49:32,477.477 INFO    ] Launching Daemon at Tue Oct 20 03:49:32 IST 2026
[2026-10-20 03:49:32,489.489 INFO    ] ================================================
[2026-10-20 03:49:33,173.173 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:49:33
[2026-10-20 03:49:33,836.836 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:49:34,139.139 INFO    ] Initializing speech engine...
[2026-10-20 03:49:34,147.147 INFO    ] 2026-10-20 03:49:34
[2026-10-20 03:49:34,434.434 INFO    ] 2026-10-20 03:49:34
[2026-10-20 03:49:34,480.480 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:49:34,772.772 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:49:34,777.777 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:49:34,977.977 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:49:34,996.996 INFO    ] time= 20/10/2026 03:49:34
[2026-10-20 03:49:35,005.005 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:49:35,032.032 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:49:35,177.177 INFO    ] No existing commands found in stream
[2026-10-20 03:49:40,202.202 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:49:40,206.206 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-10-20 03:49:44,216.216 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 03:49:44,219.219 INFO    ] Checking for system updates...
[2026-10-20 03:49:44,255.255 INFO    ] 200
[2026-10-20 03:49:44,258.258 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:49:44,311.311 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:49:44,314.314 INFO    ] No update needed
[2026-10-20 03:49:44,317.317 INFO    ] Checking for camera pi updates...
[2026-10-20 03:49:44,351.351 INFO    ] 200
[2026-10-20 03:49:44,354.354 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:49:44,395.395 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:49:44,539.539 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:49:44,542.542 INFO    ] No camera update needed
[2026-10-20 03:49:44,545.545 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:49:44,555.555 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:49:44,561.561 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:49:44,567.567 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:49:46,608.608 INFO    ] ================================================
[2026-10-20 03:49:46,623.623 INFO    ] Launching Daemon at Tue Oct 20 03:49:46 IST 2026
[2026-10-20 03:49:46,635.635 INFO    ] ================================================
[2026-10-20 03:49:47,216.216 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:49:47
[2026-10-20 03:49:47,816.816 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:49:48,092.092 INFO    ] Initializing speech engine...
[2026-10-20 03:49:48,108.108 INFO    ] 2026-10-20 03:49:48
[2026-10-20 03:49:48,387.387 INFO    ] 2026-10-20 03:49:48
[2026-10-20 03:49:48,425.425 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:49:48,696.696 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:49:48,705.705 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:49:48,958.958 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:49:48,965.965 INFO    ] time= 20/10/2026 03:49:48
[2026-10-20 03:49:48,984.984 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:49:49,012.012 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:49:49,152.152 INFO    ] No existing commands found in stream
[2026-10-20 03:49:54,183.183 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:49:54,186.186 INFO    ] Waiting 2.95 seconds before fallback handling...
[2026-10-20 03:49:57,682.682 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:49:57,685.685 INFO    ] Checking for system updates...
[2026-10-20 03:49:57,721.721 INFO    ] 200
[2026-10-20 03:49:57,724.724 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:49:57,782.782 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:49:57,791.791 INFO    ] No update needed
[2026-10-20 03:49:57,794.794 INFO    ] Checking for camera pi updates...
[2026-10-20 03:49:57,828.828 INFO    ] 200
[2026-10-20 03:49:57,831.831 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:49:57,872.872 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:49:57,926.926 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:49:57,928.928 INFO    ] No camera update needed
[2026-10-20 03:49:57,931.931 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:49:57,933.933 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:49:57,939.939 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:49:57,944.944 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:49:59,985.985 INFO    ] ================================================
[2026-10-20 03:50:00,001.001 INFO    ] Launching Daemon at Tue Oct 20 03:49:59 IST 2026
[2026-10-20 03:50:00,012.012 INFO    ] ================================================
[2026-10-20 03:50:00,578.578 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:50:00
[2026-10-20 03:50:01,163.163 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:50:01,431.431 INFO    ] Initializing speech engine...
[2026-10-20 03:50:01,439.439 INFO    ] 2026-10-20 03:50:01
[2026-10-20 03:50:01,792.792 INFO    ] 2026-10-20 03:50:01
[2026-10-20 03:50:01,963.963 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:50:02,270.270 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:50:02,273.273 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:50:02,443.443 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:50:02,446.446 INFO    ] time= 20/10/2026 03:50:02
[2026-10-20 03:50:02,454.454 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:50:02,457.457 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:50:02,532.532 INFO    ] No existing commands found in stream
[2026-10-20 03:50:07,542.542 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:50:07,545.545 INFO    ] Waiting 3.63 seconds before fallback handling...
[2026-10-20 03:50:11,706.706 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:50:11,708.708 INFO    ] Checking for system updates...
[2026-10-20 03:50:11,744.744 INFO    ] 200
[2026-10-20 03:50:11,747.747 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:50:11,800.800 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:50:11,802.802 INFO    ] No update needed
[2026-10-20 03:50:11,805.805 INFO    ] Checking for camera pi updates...
[2026-10-20 03:50:11,841.841 INFO    ] 200
[2026-10-20 03:50:11,844.844 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:50:11,885.885 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:50:11,932.932 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:50:11,934.934 INFO    ] No camera update needed
[2026-10-20 03:50:11,937.937 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:50:11,939.939 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:50:11,944.944 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:50:11,950.950 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:50:13,990.990 INFO    ] ================================================
[2026-10-20 03:50:14,006.006 INFO    ] Launching Daemon at Tue Oct 20 03:50:14 IST 2026
[2026-10-20 03:50:14,017.017 INFO    ] ================================================
[2026-10-20 03:50:14,621.621 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:50:14
[2026-10-20 03:50:15,326.326 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:50:15,625.625 INFO    ] Initializing speech engine...
[2026-10-20 03:50:15,644.644 INFO    ] 2026-10-20 03:50:15
[2026-10-20 03:50:15,914.914 INFO    ] 2026-10-20 03:50:15
[2026-10-20 03:50:15,948.948 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:50:16,145.145 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:50:16,163.163 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:50:16,354.354 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:50:16,398.398 INFO    ] time= 20/10/2026 03:50:16
[2026-10-20 03:50:16,419.419 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:50:16,489.489 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:50:16,587.587 INFO    ] No existing commands found in stream
[2026-10-20 03:50:21,607.607 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:50:21,610.610 INFO    ] Waiting 1.36 seconds before fallback handling...
[2026-10-20 03:50:23,502.502 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:50:23,504.504 INFO    ] Checking for system updates...
[2026-10-20 03:50:23,540.540 INFO    ] 200
[2026-10-20 03:50:23,542.542 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:50:23,598.598 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:50:23,600.600 INFO    ] No update needed
[2026-10-20 03:50:23,603.603 INFO    ] Checking for camera pi updates...
[2026-10-20 03:50:23,636.636 INFO    ] 200
[2026-10-20 03:50:23,638.638 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:50:23,681.681 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:50:23,726.726 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:50:23,729.729 INFO    ] No camera update needed
[2026-10-20 03:50:23,731.731 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:50:23,733.733 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:50:23,739.739 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:50:23,744.744 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:50:25,784.784 INFO    ] ================================================
[2026-10-20 03:50:25,799.799 INFO    ] Launching Daemon at Tue Oct 20 03:50:25 IST 2026
[2026-10-20 03:50:25,810.810 INFO    ] ================================================
[2026-10-20 03:50:26,402.402 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:50:26
[2026-10-20 03:50:27,000.000 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:50:27,277.277 INFO    ] Initializing speech engine...
[2026-10-20 03:50:27,282.282 INFO    ] 2026-10-20 03:50:27
[2026-10-20 03:50:27,529.529 INFO    ] 2026-10-20 03:50:27
[2026-10-20 03:50:27,564.564 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:50:27,820.820 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:50:27,826.826 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:50:28,079.079 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:50:28,085.085 INFO    ] time= 20/10/2026 03:50:28
[2026-10-20 03:50:28,103.103 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:50:28,131.131 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:50:28,237.237 INFO    ] No existing commands found in stream
[2026-10-20 03:50:33,262.262 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:50:33,265.265 INFO    ] Waiting 1.25 seconds before fallback handling...
[2026-10-20 03:50:35,044.044 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:50:35,047.047 INFO    ] Checking for system updates...
[2026-10-20 03:50:35,089.089 INFO    ] 200
[2026-10-20 03:50:35,091.091 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:50:35,143.143 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:50:35,145.145 INFO    ] No update needed
[2026-10-20 03:50:35,148.148 INFO    ] Checking for camera pi updates...
[2026-10-20 03:50:35,181.181 INFO    ] 200
[2026-10-20 03:50:35,183.183 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:50:35,227.227 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:50:35,273.273 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:50:35,276.276 INFO    ] No camera update needed
[2026-10-20 03:50:35,278.278 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:50:35,281.281 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:50:35,286.286 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:50:35,291.291 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:50:37,332.332 INFO    ] ================================================
[2026-10-20 03:50:37,349.349 INFO    ] Launching Daemon at Tue Oct 20 03:50:37 IST 2026
[2026-10-20 03:50:37,361.361 INFO    ] ================================================
[2026-10-20 03:50:37,967.967 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:50:37
[2026-10-20 03:50:38,611.611 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:50:38,891.891 INFO    ] Initializing speech engine...
[2026-10-20 03:50:38,896.896 INFO    ] 2026-10-20 03:50:38
[2026-10-20 03:50:39,156.156 INFO    ] 2026-10-20 03:50:39
[2026-10-20 03:50:39,186.186 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:50:39,436.436 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:50:39,441.441 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:50:39,651.651 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:50:39,701.701 INFO    ] time= 20/10/2026 03:50:39
[2026-10-20 03:50:39,707.707 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:50:39,725.725 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:50:39,851.851 INFO    ] No existing commands found in stream
[2026-10-20 03:50:44,868.868 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:50:44,871.871 INFO    ] Waiting 3.87 seconds before fallback handling...
[2026-10-20 03:50:49,327.327 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 03:50:49,330.330 INFO    ] Checking for system updates...
[2026-10-20 03:50:49,369.369 INFO    ] 200
[2026-10-20 03:50:49,373.373 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:50:49,426.426 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:50:49,429.429 INFO    ] No update needed
[2026-10-20 03:50:49,432.432 INFO    ] Checking for camera pi updates...
[2026-10-20 03:50:49,466.466 INFO    ] 200
[2026-10-20 03:50:49,469.469 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:50:49,514.514 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:50:49,567.567 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:50:49,570.570 INFO    ] No camera update needed
[2026-10-20 03:50:49,573.573 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:50:49,576.576 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:50:49,582.582 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:50:49,587.587 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:50:51,628.628 INFO    ] ================================================
[2026-10-20 03:50:51,644.644 INFO    ] Launching Daemon at Tue Oct 20 03:50:51 IST 2026
[2026-10-20 03:50:51,655.655 INFO    ] ================================================
[2026-10-20 03:50:52,237.237 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:50:52
[2026-10-20 03:50:52,837.837 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:50:53,109.109 INFO    ] Initializing speech engine...
[2026-10-20 03:50:53,123.123 INFO    ] 2026-10-20 03:50:53
[2026-10-20 03:50:53,384.384 INFO    ] 2026-10-20 03:50:53
[2026-10-20 03:50:53,435.435 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:50:53,721.721 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:50:53,728.728 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:50:53,917.917 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:50:53,924.924 INFO    ] time= 20/10/2026 03:50:53
[2026-10-20 03:50:53,941.941 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:50:53,959.959 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:50:54,074.074 INFO    ] No existing commands found in stream
[2026-10-20 03:50:59,087.087 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:50:59,090.090 INFO    ] Waiting 0.14 seconds before fallback handling...
[2026-10-20 03:50:59,783.783 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:50:59,786.786 INFO    ] Checking for system updates...
[2026-10-20 03:50:59,825.825 INFO    ] 200
[2026-10-20 03:50:59,828.828 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:50:59,881.881 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:50:59,883.883 INFO    ] No update needed
[2026-10-20 03:50:59,886.886 INFO    ] Checking for camera pi updates...
[2026-10-20 03:50:59,922.922 INFO    ] 200
[2026-10-20 03:50:59,925.925 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:50:59,966.966 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:51:00,015.015 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:51:00,018.018 INFO    ] No camera update needed
[2026-10-20 03:51:00,021.021 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:51:00,024.024 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:51:00,030.030 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:51:00,035.035 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:51:02,080.080 INFO    ] ================================================
[2026-10-20 03:51:02,099.099 INFO    ] Launching Daemon at Tue Oct 20 03:51:02 IST 2026
[2026-10-20 03:51:02,112.112 INFO    ] ================================================
[2026-10-20 03:51:02,802.802 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:51:02
[2026-10-20 03:51:03,427.427 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:51:03,685.685 INFO    ] Initializing speech engine...
[2026-10-20 03:51:03,691.691 INFO    ] 2026-10-20 03:51:03
[2026-10-20 03:51:03,982.982 INFO    ] 2026-10-20 03:51:03
[2026-10-20 03:51:04,017.017 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:51:04,233.233 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:51:04,241.241 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:51:04,456.456 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:51:04,464.464 INFO    ] time= 20/10/2026 03:51:04
[2026-10-20 03:51:04,503.503 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:51:04,542.542 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:51:04,660.660 INFO    ] No existing commands found in stream
[2026-10-20 03:51:09,672.672 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:51:09,675.675 INFO    ] Waiting 3.49 seconds before fallback handling...
[2026-10-20 03:51:13,725.725 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:51:13,728.728 INFO    ] Checking for system updates...
[2026-10-20 03:51:13,763.763 INFO    ] 200
[2026-10-20 03:51:13,765.765 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:51:13,822.822 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:51:13,825.825 INFO    ] No update needed
[2026-10-20 03:51:13,827.827 INFO    ] Checking for camera pi updates...
[2026-10-20 03:51:13,863.863 INFO    ] 200
[2026-10-20 03:51:13,865.865 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:51:13,905.905 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:51:13,963.963 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:51:13,966.966 INFO    ] No camera update needed
[2026-10-20 03:51:13,968.968 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:51:13,971.971 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:51:13,977.977 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:51:13,982.982 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:51:16,022.022 INFO    ] ================================================
[2026-10-20 03:51:16,036.036 INFO    ] Launching Daemon at Tue Oct 20 03:51:16 IST 2026
[2026-10-20 03:51:16,047.047 INFO    ] ================================================
[2026-10-20 03:51:16,654.654 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:51:16
[2026-10-20 03:51:17,244.244 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:51:17,489.489 INFO    ] Initializing speech engine...
[2026-10-20 03:51:17,498.498 INFO    ] 2026-10-20 03:51:17
[2026-10-20 03:51:17,771.771 INFO    ] 2026-10-20 03:51:17
[2026-10-20 03:51:17,806.806 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:51:18,069.069 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:51:18,073.073 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:51:18,299.299 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:51:18,336.336 INFO    ] time= 20/10/2026 03:51:18
[2026-10-20 03:51:18,343.343 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:51:18,360.360 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:51:18,473.473 INFO    ] No existing commands found in stream
[2026-10-20 03:51:23,506.506 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:51:23,509.509 INFO    ] Waiting 3.64 seconds before fallback handling...
[2026-10-20 03:51:27,663.663 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 03:51:27,666.666 INFO    ] Checking for system updates...
[2026-10-20 03:51:27,701.701 INFO    ] 200
[2026-10-20 03:51:27,703.703 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:51:27,758.758 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:51:27,761.761 INFO    ] No update needed
[2026-10-20 03:51:27,763.763 INFO    ] Checking for camera pi updates...
[2026-10-20 03:51:27,800.800 INFO    ] 200
[2026-10-20 03:51:27,802.802 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:51:27,842.842 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:51:27,903.903 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:51:27,905.905 INFO    ] No camera update needed
[2026-10-20 03:51:27,908.908 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:51:27,910.910 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:51:27,915.915 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:51:27,920.920 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:51:29,959.959 INFO    ] ================================================
[2026-10-20 03:51:29,975.975 INFO    ] Launching Daemon at Tue Oct 20 03:51:29 IST 2026
[2026-10-20 03:51:29,985.985 INFO    ] ================================================
[2026-10-20 03:51:30,623.623 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:51:30
[2026-10-20 03:51:31,253.253 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:51:31,553.553 INFO    ] Initializing speech engine...
[2026-10-20 03:51:31,566.566 INFO    ] 2026-10-20 03:51:31
[2026-10-20 03:51:31,850.850 INFO    ] 2026-10-20 03:51:31
[2026-10-20 03:51:31,893.893 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:51:32,138.138 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:51:32,166.166 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:51:32,314.314 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:51:32,380.380 INFO    ] time= 20/10/2026 03:51:32
[2026-10-20 03:51:32,441.441 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:51:32,458.458 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:51:32,577.577 INFO    ] No existing commands found in stream
[2026-10-20 03:51:37,601.601 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:51:37,603.603 INFO    ] Waiting 2.26 seconds before fallback handling...
[2026-10-20 03:51:40,408.408 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:51:40,411.411 INFO    ] Checking for system updates...
[2026-10-20 03:51:40,447.447 INFO    ] 200
[2026-10-20 03:51:40,450.450 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:51:40,502.502 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:51:40,504.504 INFO    ] No update needed
[2026-10-20 03:51:40,507.507 INFO    ] Checking for camera pi updates...
[2026-10-20 03:51:40,539.539 INFO    ] 200
[2026-10-20 03:51:40,542.542 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:51:40,584.584 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:51:40,637.637 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:51:40,639.639 INFO    ] No camera update needed
[2026-10-20 03:51:40,642.642 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:51:40,644.644 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:51:40,649.649 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:51:40,654.654 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:51:42,694.694 INFO    ] ================================================
[2026-10-20 03:51:42,709.709 INFO    ] Launching Daemon at Tue Oct 20 03:51:42 IST 2026
[2026-10-20 03:51:42,719.719 INFO    ] ================================================
[2026-10-20 03:51:43,341.341 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:51:43
[2026-10-20 03:51:43,981.981 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:51:44,274.274 INFO    ] Initializing speech engine...
[2026-10-20 03:51:44,283.283 INFO    ] 2026-10-20 03:51:44
[2026-10-20 03:51:44,551.551 INFO    ] 2026-10-20 03:51:44
[2026-10-20 03:51:44,610.610 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:51:44,899.899 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:51:44,905.905 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:51:45,102.102 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:51:45,109.109 INFO    ] time= 20/10/2026 03:51:45
[2026-10-20 03:51:45,131.131 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:51:45,160.160 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:51:45,282.282 INFO    ] No existing commands found in stream
[2026-10-20 03:51:50,308.308 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:51:50,311.311 INFO    ] Waiting 3.95 seconds before fallback handling...
[2026-10-20 03:51:54,807.807 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:51:54,810.810 INFO    ] Checking for system updates...
[2026-10-20 03:51:54,846.846 INFO    ] 200
[2026-10-20 03:51:54,849.849 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:51:54,908.908 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:51:54,911.911 INFO    ] No update needed
[2026-10-20 03:51:54,913.913 INFO    ] Checking for camera pi updates...
[2026-10-20 03:51:54,947.947 INFO    ] 200
[2026-10-20 03:51:54,950.950 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:51:54,990.990 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:51:55,134.134 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:51:55,136.136 INFO    ] No camera update needed
[2026-10-20 03:51:55,139.139 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:51:55,142.142 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:51:55,147.147 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:51:55,153.153 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:51:57,192.192 INFO    ] ================================================
[2026-10-20 03:51:57,207.207 INFO    ] Launching Daemon at Tue Oct 20 03:51:57 IST 2026
[2026-10-20 03:51:57,217.217 INFO    ] ================================================
[2026-10-20 03:51:57,786.786 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:51:57
[2026-10-20 03:51:58,371.371 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:51:58,647.647 INFO    ] Initializing speech engine...
[2026-10-20 03:51:58,668.668 INFO    ] 2026-10-20 03:51:58
[2026-10-20 03:51:58,929.929 INFO    ] 2026-10-20 03:51:58
[2026-10-20 03:51:58,972.972 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:51:59,255.255 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:51:59,260.260 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:51:59,455.455 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:51:59,461.461 INFO    ] time= 20/10/2026 03:51:59
[2026-10-20 03:51:59,480.480 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:51:59,508.508 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:51:59,614.614 INFO    ] No existing commands found in stream
[2026-10-20 03:52:04,638.638 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:52:04,641.641 INFO    ] Waiting 2.06 seconds before fallback handling...
[2026-10-20 03:52:07,204.204 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:52:07,207.207 INFO    ] Checking for system updates...
[2026-10-20 03:52:07,242.242 INFO    ] 200
[2026-10-20 03:52:07,245.245 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:52:07,296.296 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:52:07,298.298 INFO    ] No update needed
[2026-10-20 03:52:07,301.301 INFO    ] Checking for camera pi updates...
[2026-10-20 03:52:07,334.334 INFO    ] 200
[2026-10-20 03:52:07,336.336 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:52:07,377.377 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:52:07,425.425 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:52:07,428.428 INFO    ] No camera update needed
[2026-10-20 03:52:07,430.430 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:52:07,432.432 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:52:07,438.438 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:52:07,443.443 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:52:09,483.483 INFO    ] ================================================
[2026-10-20 03:52:09,498.498 INFO    ] Launching Daemon at Tue Oct 20 03:52:09 IST 2026
[2026-10-20 03:52:09,508.508 INFO    ] ================================================
[2026-10-20 03:52:10,139.139 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:52:10
[2026-10-20 03:52:10,788.788 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:52:11,078.078 INFO    ] Initializing speech engine...
[2026-10-20 03:52:11,083.083 INFO    ] 2026-10-20 03:52:11
[2026-10-20 03:52:11,342.342 INFO    ] 2026-10-20 03:52:11
[2026-10-20 03:52:11,395.395 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:52:11,641.641 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:52:11,649.649 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:52:11,859.859 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:52:11,883.883 INFO    ] time= 20/10/2026 03:52:11
[2026-10-20 03:52:11,889.889 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:52:11,907.907 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:52:12,035.035 INFO    ] No existing commands found in stream
[2026-10-20 03:52:17,049.049 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:52:17,051.051 INFO    ] Waiting 2.51 seconds before fallback handling...
[2026-10-20 03:52:20,111.111 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:52:20,114.114 INFO    ] Checking for system updates...
[2026-10-20 03:52:20,151.151 INFO    ] 200
[2026-10-20 03:52:20,154.154 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:52:20,207.207 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:52:20,210.210 INFO    ] No update needed
[2026-10-20 03:52:20,212.212 INFO    ] Checking for camera pi updates...
[2026-10-20 03:52:20,249.249 INFO    ] 200
[2026-10-20 03:52:20,251.251 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:52:20,295.295 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:52:20,341.341 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:52:20,343.343 INFO    ] No camera update needed
[2026-10-20 03:52:20,345.345 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:52:20,348.348 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:52:20,353.353 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:52:20,359.359 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:52:22,403.403 INFO    ] ================================================
[2026-10-20 03:52:22,418.418 INFO    ] Launching Daemon at Tue Oct 20 03:52:22 IST 2026
[2026-10-20 03:52:22,429.429 INFO    ] ================================================
[2026-10-20 03:52:23,004.004 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:52:23
[2026-10-20 03:52:23,590.590 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:52:23,881.881 INFO    ] Initializing speech engine...
[2026-10-20 03:52:23,894.894 INFO    ] 2026-10-20 03:52:23
[2026-10-20 03:52:24,173.173 INFO    ] 2026-10-20 03:52:24
[2026-10-20 03:52:24,216.216 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:52:24,501.501 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:52:24,510.510 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:52:24,687.687 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:52:24,732.732 INFO    ] time= 20/10/2026 03:52:24
[2026-10-20 03:52:24,743.743 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:52:24,762.762 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:52:24,894.894 INFO    ] No existing commands found in stream
[2026-10-20 03:52:29,909.909 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:52:29,912.912 INFO    ] Waiting 3.09 seconds before fallback handling...
[2026-10-20 03:52:33,586.586 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:52:33,589.589 INFO    ] Checking for system updates...
[2026-10-20 03:52:33,626.626 INFO    ] 200
[2026-10-20 03:52:33,629.629 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:52:33,688.688 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:52:33,691.691 INFO    ] No update needed
[2026-10-20 03:52:33,694.694 INFO    ] Checking for camera pi updates...
[2026-10-20 03:52:33,728.728 INFO    ] 200
[2026-10-20 03:52:33,731.731 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:52:33,777.777 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:52:33,821.821 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:52:33,824.824 INFO    ] No camera update needed
[2026-10-20 03:52:33,826.826 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:52:33,828.828 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:52:33,834.834 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:52:33,839.839 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:52:35,878.878 INFO    ] ================================================
[2026-10-20 03:52:35,893.893 INFO    ] Launching Daemon at Tue Oct 20 03:52:35 IST 2026
[2026-10-20 03:52:35,904.904 INFO    ] ================================================
[2026-10-20 03:52:36,470.470 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:52:36
[2026-10-20 03:52:37,057.057 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:52:37,326.326 INFO    ] Initializing speech engine...
[2026-10-20 03:52:37,334.334 INFO    ] 2026-10-20 03:52:37
[2026-10-20 03:52:37,584.584 INFO    ] 2026-10-20 03:52:37
[2026-10-20 03:52:37,618.618 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:52:37,881.881 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:52:37,886.886 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:52:38,022.022 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:52:38,086.086 INFO    ] time= 20/10/2026 03:52:38
[2026-10-20 03:52:38,141.141 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:52:38,157.157 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:52:38,307.307 INFO    ] No existing commands found in stream
[2026-10-20 03:52:43,326.326 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:52:43,329.329 INFO    ] Waiting 0.32 seconds before fallback handling...
[2026-10-20 03:52:44,230.230 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 03:52:44,233.233 INFO    ] Checking for system updates...
[2026-10-20 03:52:44,269.269 INFO    ] 200
[2026-10-20 03:52:44,272.272 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:52:44,325.325 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:52:44,328.328 INFO    ] No update needed
[2026-10-20 03:52:44,331.331 INFO    ] Checking for camera pi updates...
[2026-10-20 03:52:44,364.364 INFO    ] 200
[2026-10-20 03:52:44,367.367 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:52:44,407.407 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:52:44,464.464 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:52:44,466.466 INFO    ] No camera update needed
[2026-10-20 03:52:44,468.468 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:52:44,471.471 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:52:44,476.476 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:52:44,481.481 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:52:46,524.524 INFO    ] ================================================
[2026-10-20 03:52:46,539.539 INFO    ] Launching Daemon at Tue Oct 20 03:52:46 IST 2026
[2026-10-20 03:52:46,550.550 INFO    ] ================================================
[2026-10-20 03:52:47,115.115 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:52:47
[2026-10-20 03:52:47,697.697 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:52:47,968.968 INFO    ] Initializing speech engine...
[2026-10-20 03:52:47,977.977 INFO    ] 2026-10-20 03:52:47
[2026-10-20 03:52:48,226.226 INFO    ] 2026-10-20 03:52:48
[2026-10-20 03:52:48,260.260 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:52:48,522.522 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:52:48,527.527 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:52:48,783.783 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:52:48,795.795 INFO    ] time= 20/10/2026 03:52:48
[2026-10-20 03:52:48,818.818 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:52:48,844.844 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:52:48,954.954 INFO    ] No existing commands found in stream
[2026-10-20 03:52:53,973.973 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:52:53,976.976 INFO    ] Waiting 3.91 seconds before fallback handling...
[2026-10-20 03:52:58,443.443 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 03:52:58,445.445 INFO    ] Checking for system updates...
[2026-10-20 03:52:58,484.484 INFO    ] 200
[2026-10-20 03:52:58,486.486 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:52:58,537.537 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:52:58,539.539 INFO    ] No update needed
[2026-10-20 03:52:58,542.542 INFO    ] Checking for camera pi updates...
[2026-10-20 03:52:58,575.575 INFO    ] 200
[2026-10-20 03:52:58,577.577 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:52:58,621.621 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:52:58,670.670 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:52:58,672.672 INFO    ] No camera update needed
[2026-10-20 03:52:58,674.674 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:52:58,677.677 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:52:58,682.682 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:52:58,687.687 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:53:00,726.726 INFO    ] ================================================
[2026-10-20 03:53:00,741.741 INFO    ] Launching Daemon at Tue Oct 20 03:53:00 IST 2026
[2026-10-20 03:53:00,752.752 INFO    ] ================================================
[2026-10-20 03:53:01,330.330 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:53:01
[2026-10-20 03:53:02,042.042 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:53:02,371.371 INFO    ] Initializing speech engine...
[2026-10-20 03:53:02,388.388 INFO    ] 2026-10-20 03:53:02
[2026-10-20 03:53:02,688.688 INFO    ] 2026-10-20 03:53:02
[2026-10-20 03:53:02,735.735 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:53:02,985.985 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:53:03,036.036 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:53:03,248.248 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:53:03,299.299 INFO    ] time= 20/10/2026 03:53:03
[2026-10-20 03:53:03,344.344 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:53:03,384.384 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:53:03,474.474 INFO    ] No existing commands found in stream
[2026-10-20 03:53:08,485.485 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:53:08,488.488 INFO    ] Waiting 0.69 seconds before fallback handling...
[2026-10-20 03:53:09,682.682 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:53:09,684.684 INFO    ] Checking for system updates...
[2026-10-20 03:53:09,723.723 INFO    ] 200
[2026-10-20 03:53:09,726.726 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:53:09,777.777 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:53:09,780.780 INFO    ] No update needed
[2026-10-20 03:53:09,782.782 INFO    ] Checking for camera pi updates...
[2026-10-20 03:53:09,819.819 INFO    ] 200
[2026-10-20 03:53:09,822.822 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:53:09,862.862 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:53:09,917.917 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:53:09,920.920 INFO    ] No camera update needed
[2026-10-20 03:53:09,922.922 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:53:09,924.924 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:53:09,929.929 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:53:09,934.934 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:53:11,975.975 INFO    ] ================================================
[2026-10-20 03:53:11,990.990 INFO    ] Launching Daemon at Tue Oct 20 03:53:11 IST 2026
[2026-10-20 03:53:12,001.001 INFO    ] ================================================
[2026-10-20 03:53:12,571.571 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:53:12
[2026-10-20 03:53:13,161.161 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:53:13,413.413 INFO    ] Initializing speech engine...
[2026-10-20 03:53:13,436.436 INFO    ] 2026-10-20 03:53:13
[2026-10-20 03:53:13,691.691 INFO    ] 2026-10-20 03:53:13
[2026-10-20 03:53:13,724.724 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:53:13,929.929 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:53:13,975.975 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:53:14,207.207 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:53:14,260.260 INFO    ] time= 20/10/2026 03:53:14
[2026-10-20 03:53:14,267.267 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:53:14,288.288 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:53:14,415.415 INFO    ] No existing commands found in stream
[2026-10-20 03:53:19,430.430 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:53:19,433.433 INFO    ] Waiting 0.14 seconds before fallback handling...
[2026-10-20 03:53:20,132.132 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:53:20,135.135 INFO    ] Checking for system updates...
[2026-10-20 03:53:20,171.171 INFO    ] 200
[2026-10-20 03:53:20,173.173 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:53:20,227.227 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:53:20,229.229 INFO    ] No update needed
[2026-10-20 03:53:20,232.232 INFO    ] Checking for camera pi updates...
[2026-10-20 03:53:20,268.268 INFO    ] 200
[2026-10-20 03:53:20,271.271 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:53:20,316.316 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:53:20,373.373 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:53:20,375.375 INFO    ] No camera update needed
[2026-10-20 03:53:20,377.377 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:53:20,380.380 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:53:20,385.385 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:53:20,391.391 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:53:22,432.432 INFO    ] ================================================
[2026-10-20 03:53:22,447.447 INFO    ] Launching Daemon at Tue Oct 20 03:53:22 IST 2026
[2026-10-20 03:53:22,457.457 INFO    ] ================================================
[2026-10-20 03:53:23,107.107 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:53:23
[2026-10-20 03:53:23,802.802 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:53:24,079.079 INFO    ] Initializing speech engine...
[2026-10-20 03:53:24,096.096 INFO    ] 2026-10-20 03:53:24
[2026-10-20 03:53:24,370.370 INFO    ] 2026-10-20 03:53:24
[2026-10-20 03:53:24,408.408 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:53:24,699.699 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:53:24,708.708 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:53:24,925.925 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:53:24,990.990 INFO    ] time= 20/10/2026 03:53:24
[2026-10-20 03:53:25,008.008 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:53:25,013.013 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:53:25,156.156 INFO    ] No existing commands found in stream
[2026-10-20 03:53:30,186.186 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:53:30,189.189 INFO    ] Waiting 1.48 seconds before fallback handling...
[2026-10-20 03:53:32,203.203 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:53:32,206.206 INFO    ] Checking for system updates...
[2026-10-20 03:53:32,244.244 INFO    ] 200
[2026-10-20 03:53:32,247.247 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:53:32,304.304 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:53:32,307.307 INFO    ] No update needed
[2026-10-20 03:53:32,310.310 INFO    ] Checking for camera pi updates...
[2026-10-20 03:53:32,350.350 INFO    ] 200
[2026-10-20 03:53:32,352.352 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:53:32,396.396 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:53:32,427.427 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:53:32,430.430 INFO    ] No camera update needed
[2026-10-20 03:53:32,433.433 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:53:32,435.435 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:53:32,442.442 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:53:32,448.448 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:53:34,488.488 INFO    ] ================================================
[2026-10-20 03:53:34,503.503 INFO    ] Launching Daemon at Tue Oct 20 03:53:34 IST 2026
[2026-10-20 03:53:34,513.513 INFO    ] ================================================
[2026-10-20 03:53:35,165.165 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:53:35
[2026-10-20 03:53:35,835.835 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:53:36,130.130 INFO    ] Initializing speech engine...
[2026-10-20 03:53:36,136.136 INFO    ] 2026-10-20 03:53:36
[2026-10-20 03:53:36,395.395 INFO    ] 2026-10-20 03:53:36
[2026-10-20 03:53:36,448.448 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:53:36,799.799 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:53:36,820.820 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:53:37,072.072 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:53:37,102.102 INFO    ] time= 20/10/2026 03:53:37
[2026-10-20 03:53:37,160.160 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:53:37,189.189 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:53:37,339.339 INFO    ] No existing commands found in stream
[2026-10-20 03:53:42,360.360 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:53:42,363.363 INFO    ] Waiting 1.82 seconds before fallback handling...
[2026-10-20 03:53:44,750.750 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 03:53:44,753.753 INFO    ] Checking for system updates...
[2026-10-20 03:53:44,790.790 INFO    ] 200
[2026-10-20 03:53:44,793.793 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:53:44,853.853 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:53:44,856.856 INFO    ] No update needed
[2026-10-20 03:53:44,859.859 INFO    ] Checking for camera pi updates...
[2026-10-20 03:53:44,893.893 INFO    ] 200
[2026-10-20 03:53:44,895.895 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:53:44,937.937 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:53:44,987.987 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:53:44,990.990 INFO    ] No camera update needed
[2026-10-20 03:53:44,993.993 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:53:44,995.995 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:53:45,001.001 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:53:45,007.007 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:53:47,050.050 INFO    ] ================================================
[2026-10-20 03:53:47,065.065 INFO    ] Launching Daemon at Tue Oct 20 03:53:47 IST 2026
[2026-10-20 03:53:47,076.076 INFO    ] ================================================
[2026-10-20 03:53:47,737.737 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:53:47
[2026-10-20 03:53:48,420.420 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:53:48,731.731 INFO    ] Initializing speech engine...
[2026-10-20 03:53:48,745.745 INFO    ] 2026-10-20 03:53:48
[2026-10-20 03:53:49,051.051 INFO    ] 2026-10-20 03:53:49
[2026-10-20 03:53:49,138.138 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:53:49,421.421 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:53:49,464.464 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:53:49,704.704 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:53:49,755.755 INFO    ] time= 20/10/2026 03:53:49
[2026-10-20 03:53:49,812.812 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:53:49,852.852 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:53:50,001.001 INFO    ] No existing commands found in stream
[2026-10-20 03:53:55,016.016 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:53:55,020.020 INFO    ] Waiting 3.47 seconds before fallback handling...
[2026-10-20 03:53:59,025.025 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:53:59,027.027 INFO    ] Checking for system updates...
[2026-10-20 03:53:59,063.063 INFO    ] 200
[2026-10-20 03:53:59,065.065 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:53:59,125.125 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:53:59,127.127 INFO    ] No update needed
[2026-10-20 03:53:59,130.130 INFO    ] Checking for camera pi updates...
[2026-10-20 03:53:59,167.167 INFO    ] 200
[2026-10-20 03:53:59,170.170 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:53:59,230.230 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:53:59,373.373 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:53:59,376.376 INFO    ] No camera update needed
[2026-10-20 03:53:59,378.378 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:53:59,381.381 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:53:59,386.386 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:53:59,392.392 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:54:01,431.431 INFO    ] ================================================
[2026-10-20 03:54:01,453.453 INFO    ] Launching Daemon at Tue Oct 20 03:54:01 IST 2026
[2026-10-20 03:54:01,492.492 INFO    ] ================================================
[2026-10-20 03:54:02,362.362 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:54:02
[2026-10-20 03:54:03,140.140 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:54:03,482.482 INFO    ] Initializing speech engine...
[2026-10-20 03:54:03,489.489 INFO    ] 2026-10-20 03:54:03
[2026-10-20 03:54:03,772.772 INFO    ] 2026-10-20 03:54:03
[2026-10-20 03:54:03,830.830 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:54:04,122.122 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:54:04,131.131 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:54:04,333.333 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:54:04,341.341 INFO    ] time= 20/10/2026 03:54:04
[2026-10-20 03:54:04,360.360 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:54:04,388.388 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:54:04,501.501 INFO    ] No existing commands found in stream
[2026-10-20 03:54:09,521.521 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:54:09,524.524 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-10-20 03:54:12,456.456 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:54:12,459.459 INFO    ] Checking for system updates...
[2026-10-20 03:54:12,496.496 INFO    ] 200
[2026-10-20 03:54:12,499.499 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:54:12,559.559 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:54:12,562.562 INFO    ] No update needed
[2026-10-20 03:54:12,565.565 INFO    ] Checking for camera pi updates...
[2026-10-20 03:54:12,599.599 INFO    ] 200
[2026-10-20 03:54:12,602.602 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:54:12,644.644 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:54:12,691.691 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:54:12,694.694 INFO    ] No camera update needed
[2026-10-20 03:54:12,696.696 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:54:12,699.699 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:54:12,705.705 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:54:12,711.711 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:54:14,753.753 INFO    ] ================================================
[2026-10-20 03:54:14,767.767 INFO    ] Launching Daemon at Tue Oct 20 03:54:14 IST 2026
[2026-10-20 03:54:14,778.778 INFO    ] ================================================
[2026-10-20 03:54:15,343.343 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:54:15
[2026-10-20 03:54:15,925.925 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:54:16,195.195 INFO    ] Initializing speech engine...
[2026-10-20 03:54:16,204.204 INFO    ] 2026-10-20 03:54:16
[2026-10-20 03:54:16,452.452 INFO    ] 2026-10-20 03:54:16
[2026-10-20 03:54:16,488.488 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:54:16,748.748 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:54:16,754.754 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:54:16,971.971 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:54:17,016.016 INFO    ] time= 20/10/2026 03:54:16
[2026-10-20 03:54:17,022.022 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:54:17,040.040 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:54:17,170.170 INFO    ] No existing commands found in stream
[2026-10-20 03:54:22,185.185 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:54:22,187.187 INFO    ] Waiting 3.47 seconds before fallback handling...
[2026-10-20 03:54:26,197.197 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:54:26,199.199 INFO    ] Checking for system updates...
[2026-10-20 03:54:26,234.234 INFO    ] 200
[2026-10-20 03:54:26,237.237 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:54:26,288.288 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:54:26,291.291 INFO    ] No update needed
[2026-10-20 03:54:26,293.293 INFO    ] Checking for camera pi updates...
[2026-10-20 03:54:26,326.326 INFO    ] 200
[2026-10-20 03:54:26,328.328 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:54:26,368.368 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:54:26,433.433 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:54:26,436.436 INFO    ] No camera update needed
[2026-10-20 03:54:26,438.438 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:54:26,441.441 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:54:26,446.446 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:54:26,451.451 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:54:28,491.491 INFO    ] ================================================
[2026-10-20 03:54:28,506.506 INFO    ] Launching Daemon at Tue Oct 20 03:54:28 IST 2026
[2026-10-20 03:54:28,517.517 INFO    ] ================================================
[2026-10-20 03:54:29,096.096 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:54:29
[2026-10-20 03:54:29,694.694 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:54:29,956.956 INFO    ] Initializing speech engine...
[2026-10-20 03:54:29,962.962 INFO    ] 2026-10-20 03:54:29
[2026-10-20 03:54:30,261.261 INFO    ] 2026-10-20 03:54:30
[2026-10-20 03:54:30,299.299 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:54:30,525.525 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:54:30,533.533 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:54:30,755.755 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:54:30,763.763 INFO    ] time= 20/10/2026 03:54:30
[2026-10-20 03:54:30,786.786 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:54:30,835.835 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:54:30,936.936 INFO    ] No existing commands found in stream
[2026-10-20 03:54:35,947.947 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:54:35,950.950 INFO    ] Waiting 3.12 seconds before fallback handling...
[2026-10-20 03:54:39,640.640 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:54:39,643.643 INFO    ] Checking for system updates...
[2026-10-20 03:54:39,684.684 INFO    ] 200
[2026-10-20 03:54:39,686.686 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:54:39,746.746 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:54:39,748.748 INFO    ] No update needed
[2026-10-20 03:54:39,751.751 INFO    ] Checking for camera pi updates...
[2026-10-20 03:54:39,788.788 INFO    ] 200
[2026-10-20 03:54:39,791.791 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:54:39,830.830 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:54:39,876.876 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:54:39,879.879 INFO    ] No camera update needed
[2026-10-20 03:54:39,881.881 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:54:39,883.883 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:54:39,889.889 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:54:39,894.894 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:54:41,933.933 INFO    ] ================================================
[2026-10-20 03:54:41,948.948 INFO    ] Launching Daemon at Tue Oct 20 03:54:41 IST 2026
[2026-10-20 03:54:41,959.959 INFO    ] ================================================
[2026-10-20 03:54:42,529.529 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:54:42
[2026-10-20 03:54:43,116.116 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:54:43,385.385 INFO    ] Initializing speech engine...
[2026-10-20 03:54:43,394.394 INFO    ] 2026-10-20 03:54:43
[2026-10-20 03:54:43,645.645 INFO    ] 2026-10-20 03:54:43
[2026-10-20 03:54:43,680.680 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:54:43,937.937 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:54:43,947.947 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:54:44,089.089 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:54:44,149.149 INFO    ] time= 20/10/2026 03:54:44
[2026-10-20 03:54:44,203.203 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:54:44,217.217 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:54:44,369.369 INFO    ] No existing commands found in stream
[2026-10-20 03:54:49,381.381 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:54:49,389.389 INFO    ] Waiting 2.00 seconds before fallback handling...
[2026-10-20 03:54:51,954.954 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:54:51,957.957 INFO    ] Checking for system updates...
[2026-10-20 03:54:51,993.993 INFO    ] 200
[2026-10-20 03:54:51,996.996 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:54:52,049.049 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:54:52,051.051 INFO    ] No update needed
[2026-10-20 03:54:52,054.054 INFO    ] Checking for camera pi updates...
[2026-10-20 03:54:52,089.089 INFO    ] 200
[2026-10-20 03:54:52,092.092 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:54:52,134.134 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:54:52,189.189 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:54:52,192.192 INFO    ] No camera update needed
[2026-10-20 03:54:52,194.194 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:54:52,197.197 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:54:52,203.203 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:54:52,209.209 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:54:54,251.251 INFO    ] ================================================
[2026-10-20 03:54:54,266.266 INFO    ] Launching Daemon at Tue Oct 20 03:54:54 IST 2026
[2026-10-20 03:54:54,277.277 INFO    ] ================================================
[2026-10-20 03:54:54,847.847 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:54:54
[2026-10-20 03:54:55,449.449 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:54:55,722.722 INFO    ] Initializing speech engine...
[2026-10-20 03:54:55,730.730 INFO    ] 2026-10-20 03:54:55
[2026-10-20 03:54:55,979.979 INFO    ] 2026-10-20 03:54:55
[2026-10-20 03:54:56,015.015 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:54:56,270.270 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:54:56,276.276 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:54:56,502.502 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:54:56,534.534 INFO    ] time= 20/10/2026 03:54:56
[2026-10-20 03:54:56,540.540 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:54:56,561.561 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:54:56,691.691 INFO    ] No existing commands found in stream
[2026-10-20 03:55:01,711.711 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:55:01,716.716 INFO    ] Waiting 3.54 seconds before fallback handling...
[2026-10-20 03:55:05,837.837 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 03:55:05,840.840 INFO    ] Checking for system updates...
[2026-10-20 03:55:05,875.875 INFO    ] 200
[2026-10-20 03:55:05,878.878 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:55:05,930.930 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:55:05,932.932 INFO    ] No update needed
[2026-10-20 03:55:05,935.935 INFO    ] Checking for camera pi updates...
[2026-10-20 03:55:05,971.971 INFO    ] 200
[2026-10-20 03:55:05,973.973 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:55:06,017.017 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:55:06,061.061 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:55:06,063.063 INFO    ] No camera update needed
[2026-10-20 03:55:06,066.066 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:55:06,068.068 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:55:06,074.074 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:55:06,079.079 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:55:08,120.120 INFO    ] ================================================
[2026-10-20 03:55:08,136.136 INFO    ] Launching Daemon at Tue Oct 20 03:55:08 IST 2026
[2026-10-20 03:55:08,147.147 INFO    ] ================================================
[2026-10-20 03:55:08,791.791 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:55:08
[2026-10-20 03:55:09,452.452 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:55:09,762.762 INFO    ] Initializing speech engine...
[2026-10-20 03:55:09,774.774 INFO    ] 2026-10-20 03:55:09
[2026-10-20 03:55:10,060.060 INFO    ] 2026-10-20 03:55:10
[2026-10-20 03:55:10,171.171 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:55:10,391.391 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:55:10,400.400 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:55:10,618.618 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:55:10,647.647 INFO    ] time= 20/10/2026 03:55:10
[2026-10-20 03:55:10,656.656 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:55:10,669.669 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:55:10,816.816 INFO    ] No existing commands found in stream
[2026-10-20 03:55:15,847.847 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:55:15,851.851 INFO    ] Waiting 3.36 seconds before fallback handling...
[2026-10-20 03:55:19,798.798 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:55:19,801.801 INFO    ] Checking for system updates...
[2026-10-20 03:55:19,844.844 INFO    ] 200
[2026-10-20 03:55:19,846.846 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:55:19,898.898 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:55:19,901.901 INFO    ] No update needed
[2026-10-20 03:55:19,904.904 INFO    ] Checking for camera pi updates...
[2026-10-20 03:55:19,937.937 INFO    ] 200
[2026-10-20 03:55:19,939.939 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:55:19,979.979 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:55:20,040.040 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:55:20,043.043 INFO    ] No camera update needed
[2026-10-20 03:55:20,045.045 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:55:20,047.047 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:55:20,052.052 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:55:20,057.057 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:55:22,098.098 INFO    ] ================================================
[2026-10-20 03:55:22,113.113 INFO    ] Launching Daemon at Tue Oct 20 03:55:22 IST 2026
[2026-10-20 03:55:22,125.125 INFO    ] ================================================
[2026-10-20 03:55:22,708.708 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:55:22
[2026-10-20 03:55:23,310.310 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:55:23,609.609 INFO    ] Initializing speech engine...
[2026-10-20 03:55:23,623.623 INFO    ] 2026-10-20 03:55:23
[2026-10-20 03:55:23,904.904 INFO    ] 2026-10-20 03:55:23
[2026-10-20 03:55:23,947.947 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:55:24,174.174 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:55:24,181.181 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:55:24,422.422 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:55:24,441.441 INFO    ] time= 20/10/2026 03:55:24
[2026-10-20 03:55:24,463.463 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:55:24,491.491 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:55:24,644.644 INFO    ] No existing commands found in stream
[2026-10-20 03:55:29,680.680 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:55:29,683.683 INFO    ] Waiting 1.92 seconds before fallback handling...
[2026-10-20 03:55:32,216.216 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:55:32,220.220 INFO    ] Checking for system updates...
[2026-10-20 03:55:32,264.264 INFO    ] 200
[2026-10-20 03:55:32,267.267 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:55:32,324.324 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:55:32,327.327 INFO    ] No update needed
[2026-10-20 03:55:32,331.331 INFO    ] Checking for camera pi updates...
[2026-10-20 03:55:32,368.368 INFO    ] 200
[2026-10-20 03:55:32,372.372 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:55:32,415.415 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:55:32,456.456 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:55:32,460.460 INFO    ] No camera update needed
[2026-10-20 03:55:32,463.463 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:55:32,467.467 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:55:32,474.474 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:55:32,481.481 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:55:34,523.523 INFO    ] ================================================
[2026-10-20 03:55:34,538.538 INFO    ] Launching Daemon at Tue Oct 20 03:55:34 IST 2026
[2026-10-20 03:55:34,550.550 INFO    ] ================================================
[2026-10-20 03:55:35,120.120 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:55:35
[2026-10-20 03:55:35,702.702 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:55:35,955.955 INFO    ] Initializing speech engine...
[2026-10-20 03:55:35,967.967 INFO    ] 2026-10-20 03:55:35
[2026-10-20 03:55:36,234.234 INFO    ] 2026-10-20 03:55:36
[2026-10-20 03:55:36,269.269 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:55:36,527.527 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:55:36,536.536 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:55:36,759.759 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:55:36,801.801 INFO    ] time= 20/10/2026 03:55:36
[2026-10-20 03:55:36,807.807 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:55:36,827.827 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:55:36,959.959 INFO    ] No existing commands found in stream
[2026-10-20 03:55:41,974.974 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:55:41,977.977 INFO    ] Waiting 3.88 seconds before fallback handling...
[2026-10-20 03:55:47,125.125 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 03:55:47,128.128 INFO    ] Checking for system updates...
[2026-10-20 03:55:47,165.165 INFO    ] 200
[2026-10-20 03:55:47,168.168 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:55:47,220.220 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:55:47,223.223 INFO    ] No update needed
[2026-10-20 03:55:47,225.225 INFO    ] Checking for camera pi updates...
[2026-10-20 03:55:47,258.258 INFO    ] 200
[2026-10-20 03:55:47,261.261 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:55:47,306.306 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:55:47,354.354 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:55:47,356.356 INFO    ] No camera update needed
[2026-10-20 03:55:47,359.359 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:55:47,361.361 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:55:47,366.366 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:55:47,371.371 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:55:49,410.410 INFO    ] ================================================
[2026-10-20 03:55:49,425.425 INFO    ] Launching Daemon at Tue Oct 20 03:55:49 IST 2026
[2026-10-20 03:55:49,437.437 INFO    ] ================================================
[2026-10-20 03:55:50,098.098 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:55:50
[2026-10-20 03:55:50,773.773 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:55:51,080.080 INFO    ] Initializing speech engine...
[2026-10-20 03:55:51,094.094 INFO    ] 2026-10-20 03:55:51
[2026-10-20 03:55:51,356.356 INFO    ] 2026-10-20 03:55:51
[2026-10-20 03:55:51,413.413 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:55:51,709.709 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:55:51,714.714 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:55:51,916.916 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:55:51,932.932 INFO    ] time= 20/10/2026 03:55:51
[2026-10-20 03:55:51,941.941 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:55:51,967.967 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:55:52,083.083 INFO    ] No existing commands found in stream
[2026-10-20 03:55:57,102.102 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:55:57,105.105 INFO    ] Waiting 3.47 seconds before fallback handling...
[2026-10-20 03:56:01,090.090 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:56:01,092.092 INFO    ] Checking for system updates...
[2026-10-20 03:56:01,128.128 INFO    ] 200
[2026-10-20 03:56:01,131.131 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:56:01,188.188 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:56:01,190.190 INFO    ] No update needed
[2026-10-20 03:56:01,193.193 INFO    ] Checking for camera pi updates...
[2026-10-20 03:56:01,230.230 INFO    ] 200
[2026-10-20 03:56:01,233.233 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:56:01,278.278 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:56:01,414.414 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:56:01,416.416 INFO    ] No camera update needed
[2026-10-20 03:56:01,419.419 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:56:01,421.421 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:56:01,426.426 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:56:01,432.432 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:56:03,477.477 INFO    ] ================================================
[2026-10-20 03:56:03,493.493 INFO    ] Launching Daemon at Tue Oct 20 03:56:03 IST 2026
[2026-10-20 03:56:03,504.504 INFO    ] ================================================
[2026-10-20 03:56:04,165.165 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:56:04
[2026-10-20 03:56:04,831.831 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:56:05,126.126 INFO    ] Initializing speech engine...
[2026-10-20 03:56:05,134.134 INFO    ] 2026-10-20 03:56:05
[2026-10-20 03:56:05,405.405 INFO    ] 2026-10-20 03:56:05
[2026-10-20 03:56:05,459.459 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:56:05,748.748 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:56:05,754.754 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:56:05,943.943 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:56:05,956.956 INFO    ] time= 20/10/2026 03:56:05
[2026-10-20 03:56:05,978.978 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:56:06,005.005 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:56:06,136.136 INFO    ] No existing commands found in stream
[2026-10-20 03:56:11,162.162 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:56:11,166.166 INFO    ] Waiting 3.90 seconds before fallback handling...
[2026-10-20 03:56:15,596.596 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:56:15,599.599 INFO    ] Checking for system updates...
[2026-10-20 03:56:15,634.634 INFO    ] 200
[2026-10-20 03:56:15,636.636 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:56:15,687.687 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:56:15,690.690 INFO    ] No update needed
[2026-10-20 03:56:15,692.692 INFO    ] Checking for camera pi updates...
[2026-10-20 03:56:15,725.725 INFO    ] 200
[2026-10-20 03:56:15,727.727 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:56:15,767.767 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:56:15,815.815 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:56:15,818.818 INFO    ] No camera update needed
[2026-10-20 03:56:15,820.820 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:56:15,822.822 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:56:15,828.828 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:56:15,833.833 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:56:17,874.874 INFO    ] ================================================
[2026-10-20 03:56:17,889.889 INFO    ] Launching Daemon at Tue Oct 20 03:56:17 IST 2026
[2026-10-20 03:56:17,901.901 INFO    ] ================================================
[2026-10-20 03:56:18,550.550 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:56:18
[2026-10-20 03:56:19,209.209 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:56:19,511.511 INFO    ] Initializing speech engine...
[2026-10-20 03:56:19,524.524 INFO    ] 2026-10-20 03:56:19
[2026-10-20 03:56:19,775.775 INFO    ] 2026-10-20 03:56:19
[2026-10-20 03:56:19,810.810 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:56:20,081.081 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:56:20,100.100 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:56:20,313.313 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:56:20,320.320 INFO    ] time= 20/10/2026 03:56:20
[2026-10-20 03:56:20,337.337 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:56:20,366.366 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:56:20,472.472 INFO    ] No existing commands found in stream
[2026-10-20 03:56:25,496.496 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:56:25,499.499 INFO    ] Waiting 1.03 seconds before fallback handling...
[2026-10-20 03:56:27,005.005 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:56:27,007.007 INFO    ] Checking for system updates...
[2026-10-20 03:56:27,046.046 INFO    ] 200
[2026-10-20 03:56:27,048.048 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:56:27,100.100 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:56:27,102.102 INFO    ] No update needed
[2026-10-20 03:56:27,105.105 INFO    ] Checking for camera pi updates...
[2026-10-20 03:56:27,141.141 INFO    ] 200
[2026-10-20 03:56:27,143.143 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:56:27,187.187 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:56:27,237.237 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:56:27,240.240 INFO    ] No camera update needed
[2026-10-20 03:56:27,242.242 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:56:27,244.244 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:56:27,249.249 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:56:27,254.254 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:56:29,295.295 INFO    ] ================================================
[2026-10-20 03:56:29,310.310 INFO    ] Launching Daemon at Tue Oct 20 03:56:29 IST 2026
[2026-10-20 03:56:29,321.321 INFO    ] ================================================
[2026-10-20 03:56:29,913.913 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:56:29
[2026-10-20 03:56:30,515.515 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:56:30,793.793 INFO    ] Initializing speech engine...
[2026-10-20 03:56:30,799.799 INFO    ] 2026-10-20 03:56:30
[2026-10-20 03:56:31,060.060 INFO    ] 2026-10-20 03:56:31
[2026-10-20 03:56:31,091.091 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:56:31,340.340 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:56:31,345.345 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:56:31,553.553 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:56:31,603.603 INFO    ] time= 20/10/2026 03:56:31
[2026-10-20 03:56:31,610.610 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:56:31,628.628 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:56:31,766.766 INFO    ] No existing commands found in stream
[2026-10-20 03:56:36,790.790 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:56:36,793.793 INFO    ] Waiting 1.25 seconds before fallback handling...
[2026-10-20 03:56:38,595.595 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 03:56:38,597.597 INFO    ] Checking for system updates...
[2026-10-20 03:56:38,636.636 INFO    ] 200
[2026-10-20 03:56:38,639.639 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:56:38,696.696 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:56:38,698.698 INFO    ] No update needed
[2026-10-20 03:56:38,701.701 INFO    ] Checking for camera pi updates...
[2026-10-20 03:56:38,737.737 INFO    ] 200
[2026-10-20 03:56:38,740.740 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:56:38,782.782 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:56:38,828.828 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:56:38,830.830 INFO    ] No camera update needed
[2026-10-20 03:56:38,833.833 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:56:38,835.835 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:56:38,840.840 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:56:38,845.845 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:56:40,885.885 INFO    ] ================================================
[2026-10-20 03:56:40,901.901 INFO    ] Launching Daemon at Tue Oct 20 03:56:40 IST 2026
[2026-10-20 03:56:40,912.912 INFO    ] ================================================
[2026-10-20 03:56:41,510.510 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:56:41
[2026-10-20 03:56:42,095.095 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:56:42,363.363 INFO    ] Initializing speech engine...
[2026-10-20 03:56:42,381.381 INFO    ] 2026-10-20 03:56:42
[2026-10-20 03:56:42,649.649 INFO    ] 2026-10-20 03:56:42
[2026-10-20 03:56:42,686.686 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:56:42,904.904 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:56:42,912.912 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:56:43,065.065 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:56:43,132.132 INFO    ] time= 20/10/2026 03:56:43
[2026-10-20 03:56:43,139.139 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:56:43,199.199 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:56:43,303.303 INFO    ] No existing commands found in stream
[2026-10-20 03:56:48,316.316 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:56:48,320.320 INFO    ] Waiting 2.25 seconds before fallback handling...
[2026-10-20 03:56:51,160.160 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:56:51,163.163 INFO    ] Checking for system updates...
[2026-10-20 03:56:51,199.199 INFO    ] 200
[2026-10-20 03:56:51,202.202 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:56:51,255.255 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:56:51,257.257 INFO    ] No update needed
[2026-10-20 03:56:51,260.260 INFO    ] Checking for camera pi updates...
[2026-10-20 03:56:51,294.294 INFO    ] 200
[2026-10-20 03:56:51,297.297 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:56:51,342.342 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:56:51,404.404 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:56:51,407.407 INFO    ] No camera update needed
[2026-10-20 03:56:51,409.409 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:56:51,412.412 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:56:51,418.418 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:56:51,424.424 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:56:53,465.465 INFO    ] ================================================
[2026-10-20 03:56:53,480.480 INFO    ] Launching Daemon at Tue Oct 20 03:56:53 IST 2026
[2026-10-20 03:56:53,491.491 INFO    ] ================================================
[2026-10-20 03:56:54,082.082 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:56:54
[2026-10-20 03:56:54,692.692 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:56:54,951.951 INFO    ] Initializing speech engine...
[2026-10-20 03:56:54,956.956 INFO    ] 2026-10-20 03:56:54
[2026-10-20 03:56:55,253.253 INFO    ] 2026-10-20 03:56:55
[2026-10-20 03:56:55,292.292 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:56:55,510.510 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:56:55,539.539 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:56:55,795.795 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:56:55,850.850 INFO    ] time= 20/10/2026 03:56:55
[2026-10-20 03:56:55,881.881 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:56:55,887.887 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:56:56,050.050 INFO    ] No existing commands found in stream
[2026-10-20 03:57:01,063.063 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:57:01,066.066 INFO    ] Waiting 0.57 seconds before fallback handling...
[2026-10-20 03:57:02,231.231 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:57:02,234.234 INFO    ] Checking for system updates...
[2026-10-20 03:57:02,276.276 INFO    ] 200
[2026-10-20 03:57:02,279.279 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:57:02,354.354 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:57:02,359.359 INFO    ] No update needed
[2026-10-20 03:57:02,363.363 INFO    ] Checking for camera pi updates...
[2026-10-20 03:57:02,412.412 INFO    ] 200
[2026-10-20 03:57:02,415.415 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:57:02,466.466 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:57:02,505.505 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:57:02,508.508 INFO    ] No camera update needed
[2026-10-20 03:57:02,511.511 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:57:02,514.514 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:57:02,521.521 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:57:02,528.528 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:57:04,570.570 INFO    ] ================================================
[2026-10-20 03:57:04,585.585 INFO    ] Launching Daemon at Tue Oct 20 03:57:04 IST 2026
[2026-10-20 03:57:04,596.596 INFO    ] ================================================
[2026-10-20 03:57:05,165.165 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:57:05
[2026-10-20 03:57:05,748.748 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:57:06,025.025 INFO    ] Initializing speech engine...
[2026-10-20 03:57:06,039.039 INFO    ] 2026-10-20 03:57:06
[2026-10-20 03:57:06,295.295 INFO    ] 2026-10-20 03:57:06
[2026-10-20 03:57:06,330.330 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:57:06,548.548 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:57:06,588.588 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:57:06,804.804 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:57:06,858.858 INFO    ] time= 20/10/2026 03:57:06
[2026-10-20 03:57:06,865.865 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:57:06,879.879 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:57:07,018.018 INFO    ] No existing commands found in stream
[2026-10-20 03:57:12,040.040 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:57:12,043.043 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-10-20 03:57:13,648.648 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:57:13,651.651 INFO    ] Checking for system updates...
[2026-10-20 03:57:13,687.687 INFO    ] 200
[2026-10-20 03:57:13,690.690 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:57:13,748.748 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:57:13,751.751 INFO    ] No update needed
[2026-10-20 03:57:13,754.754 INFO    ] Checking for camera pi updates...
[2026-10-20 03:57:13,788.788 INFO    ] 200
[2026-10-20 03:57:13,791.791 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:57:13,832.832 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:57:13,889.889 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:57:13,892.892 INFO    ] No camera update needed
[2026-10-20 03:57:13,894.894 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:57:13,897.897 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:57:13,903.903 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:57:13,909.909 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:57:15,949.949 INFO    ] ================================================
[2026-10-20 03:57:15,965.965 INFO    ] Launching Daemon at Tue Oct 20 03:57:15 IST 2026
[2026-10-20 03:57:15,976.976 INFO    ] ================================================
[2026-10-20 03:57:16,545.545 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:57:16
[2026-10-20 03:57:17,132.132 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:57:17,386.386 INFO    ] Initializing speech engine...
[2026-10-20 03:57:17,395.395 INFO    ] 2026-10-20 03:57:17
[2026-10-20 03:57:17,686.686 INFO    ] 2026-10-20 03:57:17
[2026-10-20 03:57:17,721.721 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:57:17,948.948 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:57:18,008.008 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:57:18,170.170 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:57:18,202.202 INFO    ] time= 20/10/2026 03:57:18
[2026-10-20 03:57:18,267.267 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:57:18,316.316 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:57:18,443.443 INFO    ] No existing commands found in stream
[2026-10-20 03:57:23,461.461 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:57:23,463.463 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-10-20 03:57:27,272.272 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:57:27,275.275 INFO    ] Checking for system updates...
[2026-10-20 03:57:27,312.312 INFO    ] 200
[2026-10-20 03:57:27,315.315 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:57:27,368.368 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:57:27,370.370 INFO    ] No update needed
[2026-10-20 03:57:27,373.373 INFO    ] Checking for camera pi updates...
[2026-10-20 03:57:27,407.407 INFO    ] 200
[2026-10-20 03:57:27,410.410 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:57:27,451.451 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:57:27,496.496 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:57:27,499.499 INFO    ] No camera update needed
[2026-10-20 03:57:27,502.502 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:57:27,505.505 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:57:27,511.511 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:57:27,517.517 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:57:29,559.559 INFO    ] ================================================
[2026-10-20 03:57:29,574.574 INFO    ] Launching Daemon at Tue Oct 20 03:57:29 IST 2026
[2026-10-20 03:57:29,585.585 INFO    ] ================================================
[2026-10-20 03:57:30,173.173 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:57:30
[2026-10-20 03:57:30,772.772 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:57:31,059.059 INFO    ] Initializing speech engine...
[2026-10-20 03:57:31,067.067 INFO    ] 2026-10-20 03:57:31
[2026-10-20 03:57:31,326.326 INFO    ] 2026-10-20 03:57:31
[2026-10-20 03:57:31,361.361 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:57:31,617.617 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:57:31,623.623 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:57:31,850.850 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:57:31,900.900 INFO    ] time= 20/10/2026 03:57:31
[2026-10-20 03:57:31,908.908 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:57:31,926.926 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:57:32,063.063 INFO    ] No existing commands found in stream
[2026-10-20 03:57:37,081.081 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:57:37,084.084 INFO    ] Waiting 0.31 seconds before fallback handling...
[2026-10-20 03:57:37,912.912 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 03:57:37,915.915 INFO    ] Checking for system updates...
[2026-10-20 03:57:37,954.954 INFO    ] 200
[2026-10-20 03:57:37,956.956 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:57:38,008.008 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:57:38,011.011 INFO    ] No update needed
[2026-10-20 03:57:38,013.013 INFO    ] Checking for camera pi updates...
[2026-10-20 03:57:38,050.050 INFO    ] 200
[2026-10-20 03:57:38,052.052 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:57:38,096.096 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:57:38,155.155 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:57:38,157.157 INFO    ] No camera update needed
[2026-10-20 03:57:38,160.160 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:57:38,162.162 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:57:38,167.167 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:57:38,172.172 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:57:40,212.212 INFO    ] ================================================
[2026-10-20 03:57:40,227.227 INFO    ] Launching Daemon at Tue Oct 20 03:57:40 IST 2026
[2026-10-20 03:57:40,239.239 INFO    ] ================================================
[2026-10-20 03:57:40,804.804 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:57:40
[2026-10-20 03:57:41,389.389 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:57:41,641.641 INFO    ] Initializing speech engine...
[2026-10-20 03:57:41,650.650 INFO    ] 2026-10-20 03:57:41
[2026-10-20 03:57:41,939.939 INFO    ] 2026-10-20 03:57:41
[2026-10-20 03:57:41,974.974 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:57:42,203.203 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:57:42,247.247 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:57:42,425.425 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:57:42,476.476 INFO    ] time= 20/10/2026 03:57:42
[2026-10-20 03:57:42,536.536 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:57:42,574.574 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:57:42,707.707 INFO    ] No existing commands found in stream
[2026-10-20 03:57:47,732.732 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:57:47,735.735 INFO    ] Waiting 2.92 seconds before fallback handling...
[2026-10-20 03:57:51,220.220 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:57:51,223.223 INFO    ] Checking for system updates...
[2026-10-20 03:57:51,258.258 INFO    ] 200
[2026-10-20 03:57:51,261.261 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:57:51,312.312 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:57:51,314.314 INFO    ] No update needed
[2026-10-20 03:57:51,316.316 INFO    ] Checking for camera pi updates...
[2026-10-20 03:57:51,349.349 INFO    ] 200
[2026-10-20 03:57:51,352.352 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:57:51,393.393 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:57:51,444.444 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:57:51,446.446 INFO    ] No camera update needed
[2026-10-20 03:57:51,448.448 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:57:51,451.451 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:57:51,456.456 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:57:51,461.461 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:57:53,501.501 INFO    ] ================================================
[2026-10-20 03:57:53,515.515 INFO    ] Launching Daemon at Tue Oct 20 03:57:53 IST 2026
[2026-10-20 03:57:53,526.526 INFO    ] ================================================
[2026-10-20 03:57:54,090.090 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:57:54
[2026-10-20 03:57:54,677.677 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:57:54,944.944 INFO    ] Initializing speech engine...
[2026-10-20 03:57:54,964.964 INFO    ] 2026-10-20 03:57:54
[2026-10-20 03:57:55,237.237 INFO    ] 2026-10-20 03:57:55
[2026-10-20 03:57:55,273.273 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:57:55,563.563 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:57:55,573.573 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:57:55,724.724 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:57:55,747.747 INFO    ] time= 20/10/2026 03:57:55
[2026-10-20 03:57:55,806.806 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:57:55,855.855 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:57:56,005.005 INFO    ] No existing commands found in stream
[2026-10-20 03:58:01,020.020 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:58:01,023.023 INFO    ] Waiting 3.45 seconds before fallback handling...
[2026-10-20 03:58:04,989.989 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:58:04,992.992 INFO    ] Checking for system updates...
[2026-10-20 03:58:05,028.028 INFO    ] 200
[2026-10-20 03:58:05,030.030 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:58:05,082.082 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:58:05,085.085 INFO    ] No update needed
[2026-10-20 03:58:05,087.087 INFO    ] Checking for camera pi updates...
[2026-10-20 03:58:05,120.120 INFO    ] 200
[2026-10-20 03:58:05,122.122 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:58:05,163.163 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:58:05,307.307 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:58:05,309.309 INFO    ] No camera update needed
[2026-10-20 03:58:05,312.312 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:58:05,314.314 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:58:05,319.319 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:58:05,324.324 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:58:07,365.365 INFO    ] ================================================
[2026-10-20 03:58:07,380.380 INFO    ] Launching Daemon at Tue Oct 20 03:58:07 IST 2026
[2026-10-20 03:58:07,391.391 INFO    ] ================================================
[2026-10-20 03:58:07,962.962 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:58:07
[2026-10-20 03:58:08,549.549 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:58:08,793.793 INFO    ] Initializing speech engine...
[2026-10-20 03:58:08,800.800 INFO    ] 2026-10-20 03:58:08
[2026-10-20 03:58:09,061.061 INFO    ] 2026-10-20 03:58:09
[2026-10-20 03:58:09,095.095 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:58:09,380.380 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:58:09,389.389 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:58:09,589.589 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:58:09,649.649 INFO    ] time= 20/10/2026 03:58:09
[2026-10-20 03:58:09,662.662 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:58:09,677.677 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:58:09,794.794 INFO    ] No existing commands found in stream
[2026-10-20 03:58:14,822.822 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:58:14,825.825 INFO    ] Waiting 0.12 seconds before fallback handling...
[2026-10-20 03:58:15,455.455 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:58:15,458.458 INFO    ] Checking for system updates...
[2026-10-20 03:58:15,493.493 INFO    ] 200
[2026-10-20 03:58:15,495.495 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:58:15,553.553 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:58:15,555.555 INFO    ] No update needed
[2026-10-20 03:58:15,558.558 INFO    ] Checking for camera pi updates...
[2026-10-20 03:58:15,594.594 INFO    ] 200
[2026-10-20 03:58:15,596.596 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:58:15,641.641 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:58:15,695.695 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:58:15,697.697 INFO    ] No camera update needed
[2026-10-20 03:58:15,700.700 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:58:15,702.702 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:58:15,708.708 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:58:15,713.713 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:58:17,753.753 INFO    ] ================================================
[2026-10-20 03:58:17,768.768 INFO    ] Launching Daemon at Tue Oct 20 03:58:17 IST 2026
[2026-10-20 03:58:17,779.779 INFO    ] ================================================
[2026-10-20 03:58:18,365.365 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:58:18
[2026-10-20 03:58:18,968.968 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:58:19,241.241 INFO    ] Initializing speech engine...
[2026-10-20 03:58:19,250.250 INFO    ] 2026-10-20 03:58:19
[2026-10-20 03:58:19,499.499 INFO    ] 2026-10-20 03:58:19
[2026-10-20 03:58:19,536.536 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:58:19,793.793 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:58:19,798.798 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:58:20,029.029 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:58:20,055.055 INFO    ] time= 20/10/2026 03:58:20
[2026-10-20 03:58:20,070.070 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:58:20,077.077 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:58:20,207.207 INFO    ] No existing commands found in stream
[2026-10-20 03:58:25,226.226 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:58:25,229.229 INFO    ] Waiting 2.58 seconds before fallback handling...
[2026-10-20 03:58:28,380.380 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:58:28,383.383 INFO    ] Checking for system updates...
[2026-10-20 03:58:28,418.418 INFO    ] 200
[2026-10-20 03:58:28,421.421 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:58:28,476.476 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:58:28,479.479 INFO    ] No update needed
[2026-10-20 03:58:28,481.481 INFO    ] Checking for camera pi updates...
[2026-10-20 03:58:28,514.514 INFO    ] 200
[2026-10-20 03:58:28,517.517 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:58:28,557.557 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:58:28,609.609 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:58:28,612.612 INFO    ] No camera update needed
[2026-10-20 03:58:28,614.614 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:58:28,616.616 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:58:28,622.622 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:58:28,627.627 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:58:30,668.668 INFO    ] ================================================
[2026-10-20 03:58:30,683.683 INFO    ] Launching Daemon at Tue Oct 20 03:58:30 IST 2026
[2026-10-20 03:58:30,694.694 INFO    ] ================================================
[2026-10-20 03:58:31,265.265 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:58:31
[2026-10-20 03:58:31,866.866 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:58:32,143.143 INFO    ] Initializing speech engine...
[2026-10-20 03:58:32,158.158 INFO    ] 2026-10-20 03:58:32
[2026-10-20 03:58:32,427.427 INFO    ] 2026-10-20 03:58:32
[2026-10-20 03:58:32,462.462 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:58:32,673.673 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:58:32,680.680 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:58:32,884.884 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:58:32,946.946 INFO    ] time= 20/10/2026 03:58:32
[2026-10-20 03:58:33,007.007 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:58:33,034.034 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:58:33,188.188 INFO    ] No existing commands found in stream
[2026-10-20 03:58:38,201.201 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:58:38,204.204 INFO    ] Waiting 1.10 seconds before fallback handling...
[2026-10-20 03:58:39,855.855 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:58:39,857.857 INFO    ] Checking for system updates...
[2026-10-20 03:58:39,893.893 INFO    ] 200
[2026-10-20 03:58:39,896.896 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:58:39,947.947 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:58:39,950.950 INFO    ] No update needed
[2026-10-20 03:58:39,952.952 INFO    ] Checking for camera pi updates...
[2026-10-20 03:58:39,986.986 INFO    ] 200
[2026-10-20 03:58:39,989.989 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:58:40,028.028 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:58:40,087.087 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:58:40,089.089 INFO    ] No camera update needed
[2026-10-20 03:58:40,092.092 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:58:40,094.094 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:58:40,100.100 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:58:40,105.105 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:58:42,144.144 INFO    ] ================================================
[2026-10-20 03:58:42,160.160 INFO    ] Launching Daemon at Tue Oct 20 03:58:42 IST 2026
[2026-10-20 03:58:42,171.171 INFO    ] ================================================
[2026-10-20 03:58:42,738.738 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:58:42
[2026-10-20 03:58:43,318.318 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:58:43,584.584 INFO    ] Initializing speech engine...
[2026-10-20 03:58:43,593.593 INFO    ] 2026-10-20 03:58:43
[2026-10-20 03:58:43,851.851 INFO    ] 2026-10-20 03:58:43
[2026-10-20 03:58:43,903.903 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:58:44,152.152 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:58:44,157.157 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:58:44,359.359 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:58:44,390.390 INFO    ] time= 20/10/2026 03:58:44
[2026-10-20 03:58:44,396.396 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:58:44,414.414 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:58:44,543.543 INFO    ] No existing commands found in stream
[2026-10-20 03:58:49,556.556 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:58:49,559.559 INFO    ] Waiting 3.19 seconds before fallback handling...
[2026-10-20 03:58:53,275.275 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 03:58:53,278.278 INFO    ] Checking for system updates...
[2026-10-20 03:58:53,315.315 INFO    ] 200
[2026-10-20 03:58:53,318.318 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:58:53,370.370 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:58:53,373.373 INFO    ] No update needed
[2026-10-20 03:58:53,376.376 INFO    ] Checking for camera pi updates...
[2026-10-20 03:58:53,413.413 INFO    ] 200
[2026-10-20 03:58:53,416.416 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:58:53,461.461 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:58:53,510.510 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:58:53,512.512 INFO    ] No camera update needed
[2026-10-20 03:58:53,514.514 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:58:53,517.517 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:58:53,522.522 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:58:53,527.527 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:58:55,568.568 INFO    ] ================================================
[2026-10-20 03:58:55,583.583 INFO    ] Launching Daemon at Tue Oct 20 03:58:55 IST 2026
[2026-10-20 03:58:55,594.594 INFO    ] ================================================
[2026-10-20 03:58:56,160.160 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:58:56
[2026-10-20 03:58:56,745.745 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:58:57,002.002 INFO    ] Initializing speech engine...
[2026-10-20 03:58:57,021.021 INFO    ] 2026-10-20 03:58:57
[2026-10-20 03:58:57,268.268 INFO    ] 2026-10-20 03:58:57
[2026-10-20 03:58:57,302.302 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:58:57,560.560 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:58:57,565.565 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:58:57,783.783 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:58:57,821.821 INFO    ] time= 20/10/2026 03:58:57
[2026-10-20 03:58:57,827.827 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:58:57,845.845 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:58:57,978.978 INFO    ] No existing commands found in stream
[2026-10-20 03:59:02,996.996 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:59:03,002.002 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-10-20 03:59:06,950.950 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 03:59:06,953.953 INFO    ] Checking for system updates...
[2026-10-20 03:59:06,989.989 INFO    ] 200
[2026-10-20 03:59:06,992.992 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:59:07,046.046 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:59:07,049.049 INFO    ] No update needed
[2026-10-20 03:59:07,052.052 INFO    ] Checking for camera pi updates...
[2026-10-20 03:59:07,086.086 INFO    ] 200
[2026-10-20 03:59:07,088.088 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:59:07,129.129 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:59:07,186.186 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:59:07,189.189 INFO    ] No camera update needed
[2026-10-20 03:59:07,191.191 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:59:07,194.194 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:59:07,199.199 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:59:07,204.204 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:59:09,245.245 INFO    ] ================================================
[2026-10-20 03:59:09,260.260 INFO    ] Launching Daemon at Tue Oct 20 03:59:09 IST 2026
[2026-10-20 03:59:09,271.271 INFO    ] ================================================
[2026-10-20 03:59:09,853.853 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:59:09
[2026-10-20 03:59:10,469.469 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:59:10,716.716 INFO    ] Initializing speech engine...
[2026-10-20 03:59:10,731.731 INFO    ] 2026-10-20 03:59:10
[2026-10-20 03:59:10,992.992 INFO    ] 2026-10-20 03:59:10
[2026-10-20 03:59:11,026.026 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:59:11,278.278 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:59:11,288.288 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:59:11,504.504 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:59:11,545.545 INFO    ] time= 20/10/2026 03:59:11
[2026-10-20 03:59:11,551.551 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:59:11,568.568 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:59:11,701.701 INFO    ] No existing commands found in stream
[2026-10-20 03:59:16,723.723 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:59:16,726.726 INFO    ] Waiting 0.92 seconds before fallback handling...
[2026-10-20 03:59:18,191.191 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 03:59:18,194.194 INFO    ] Checking for system updates...
[2026-10-20 03:59:18,229.229 INFO    ] 200
[2026-10-20 03:59:18,232.232 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:59:18,284.284 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:59:18,287.287 INFO    ] No update needed
[2026-10-20 03:59:18,289.289 INFO    ] Checking for camera pi updates...
[2026-10-20 03:59:18,322.322 INFO    ] 200
[2026-10-20 03:59:18,325.325 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:59:18,366.366 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:59:18,412.412 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:59:18,414.414 INFO    ] No camera update needed
[2026-10-20 03:59:18,417.417 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:59:18,419.419 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:59:18,424.424 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:59:18,429.429 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:59:20,471.471 INFO    ] ================================================
[2026-10-20 03:59:20,485.485 INFO    ] Launching Daemon at Tue Oct 20 03:59:20 IST 2026
[2026-10-20 03:59:20,496.496 INFO    ] ================================================
[2026-10-20 03:59:21,133.133 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:59:21
[2026-10-20 03:59:21,745.745 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:59:22,022.022 INFO    ] Initializing speech engine...
[2026-10-20 03:59:22,031.031 INFO    ] 2026-10-20 03:59:22
[2026-10-20 03:59:22,280.280 INFO    ] 2026-10-20 03:59:22
[2026-10-20 03:59:22,322.322 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:59:22,627.627 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:59:22,635.635 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:59:22,830.830 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:59:22,846.846 INFO    ] time= 20/10/2026 03:59:22
[2026-10-20 03:59:22,856.856 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:59:22,881.881 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:59:22,986.986 INFO    ] No existing commands found in stream
[2026-10-20 03:59:28,007.007 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:59:28,010.010 INFO    ] Waiting 2.22 seconds before fallback handling...
[2026-10-20 03:59:30,769.769 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 03:59:30,772.772 INFO    ] Checking for system updates...
[2026-10-20 03:59:30,807.807 INFO    ] 200
[2026-10-20 03:59:30,810.810 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:59:30,863.863 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:59:30,865.865 INFO    ] No update needed
[2026-10-20 03:59:30,868.868 INFO    ] Checking for camera pi updates...
[2026-10-20 03:59:30,905.905 INFO    ] 200
[2026-10-20 03:59:30,908.908 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:59:30,952.952 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:59:31,000.000 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:59:31,003.003 INFO    ] No camera update needed
[2026-10-20 03:59:31,005.005 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:59:31,007.007 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:59:31,013.013 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:59:31,018.018 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:59:33,062.062 INFO    ] ================================================
[2026-10-20 03:59:33,077.077 INFO    ] Launching Daemon at Tue Oct 20 03:59:33 IST 2026
[2026-10-20 03:59:33,088.088 INFO    ] ================================================
[2026-10-20 03:59:33,670.670 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:59:33
[2026-10-20 03:59:34,252.252 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:59:34,505.505 INFO    ] Initializing speech engine...
[2026-10-20 03:59:34,513.513 INFO    ] 2026-10-20 03:59:34
[2026-10-20 03:59:34,800.800 INFO    ] 2026-10-20 03:59:34
[2026-10-20 03:59:34,837.837 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:59:35,123.123 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:59:35,133.133 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:59:35,289.289 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:59:35,349.349 INFO    ] time= 20/10/2026 03:59:35
[2026-10-20 03:59:35,403.403 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:59:35,429.429 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:59:35,558.558 INFO    ] No existing commands found in stream
[2026-10-20 03:59:40,576.576 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:59:40,579.579 INFO    ] Waiting 0.57 seconds before fallback handling...
[2026-10-20 03:59:41,643.643 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 03:59:41,645.645 INFO    ] Checking for system updates...
[2026-10-20 03:59:41,681.681 INFO    ] 200
[2026-10-20 03:59:41,683.683 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:59:41,734.734 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:59:41,737.737 INFO    ] No update needed
[2026-10-20 03:59:41,739.739 INFO    ] Checking for camera pi updates...
[2026-10-20 03:59:41,773.773 INFO    ] 200
[2026-10-20 03:59:41,775.775 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:59:41,815.815 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:59:41,868.868 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:59:41,870.870 INFO    ] No camera update needed
[2026-10-20 03:59:41,873.873 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:59:41,875.875 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:59:41,880.880 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:59:41,885.885 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:59:43,924.924 INFO    ] ================================================
[2026-10-20 03:59:43,939.939 INFO    ] Launching Daemon at Tue Oct 20 03:59:43 IST 2026
[2026-10-20 03:59:43,949.949 INFO    ] ================================================
[2026-10-20 03:59:44,520.520 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:59:44
[2026-10-20 03:59:45,107.107 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:59:45,371.371 INFO    ] Initializing speech engine...
[2026-10-20 03:59:45,392.392 INFO    ] 2026-10-20 03:59:45
[2026-10-20 03:59:45,665.665 INFO    ] 2026-10-20 03:59:45
[2026-10-20 03:59:45,704.704 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:59:45,927.927 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:59:45,977.977 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:59:46,131.131 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:59:46,134.134 INFO    ] time= 20/10/2026 03:59:46
[2026-10-20 03:59:46,136.136 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:59:46,139.139 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:59:46,267.267 INFO    ] No existing commands found in stream
[2026-10-20 03:59:51,281.281 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 03:59:51,284.284 INFO    ] Waiting 0.94 seconds before fallback handling...
[2026-10-20 03:59:52,755.755 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 03:59:52,758.758 INFO    ] Checking for system updates...
[2026-10-20 03:59:52,794.794 INFO    ] 200
[2026-10-20 03:59:52,797.797 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:59:52,850.850 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 03:59:52,853.853 INFO    ] No update needed
[2026-10-20 03:59:52,855.855 INFO    ] Checking for camera pi updates...
[2026-10-20 03:59:52,890.890 INFO    ] 200
[2026-10-20 03:59:52,893.893 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 03:59:52,933.933 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 03:59:52,981.981 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 03:59:52,984.984 INFO    ] No camera update needed
[2026-10-20 03:59:52,987.987 INFO    ] Script finished. Safe exiting...
[2026-10-20 03:59:52,989.989 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 03:59:52,995.995 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 03:59:53,001.001 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 03:59:55,040.040 INFO    ] ================================================
[2026-10-20 03:59:55,056.056 INFO    ] Launching Daemon at Tue Oct 20 03:59:55 IST 2026
[2026-10-20 03:59:55,066.066 INFO    ] ================================================
[2026-10-20 03:59:55,635.635 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 03:59:55
[2026-10-20 03:59:56,218.218 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 03:59:56,489.489 INFO    ] Initializing speech engine...
[2026-10-20 03:59:56,498.498 INFO    ] 2026-10-20 03:59:56
[2026-10-20 03:59:56,748.748 INFO    ] 2026-10-20 03:59:56
[2026-10-20 03:59:56,783.783 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 03:59:57,047.047 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 03:59:57,053.053 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 03:59:57,307.307 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 03:59:57,320.320 INFO    ] time= 20/10/2026 03:59:57
[2026-10-20 03:59:57,334.334 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 03:59:57,343.343 INFO    ] Checking for existing commands in stream...
[2026-10-20 03:59:57,469.469 INFO    ] No existing commands found in stream
[2026-10-20 04:00:02,481.481 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:00:02,485.485 INFO    ] Waiting 3.73 seconds before fallback handling...
[2026-10-20 04:00:10,409.409 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:00:10,411.411 INFO    ] Checking for system updates...
[2026-10-20 04:00:10,456.456 INFO    ] 200
[2026-10-20 04:00:10,459.459 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 04:00:10,462.462 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-10-20 04:00:10,465.465 INFO    ] Checking for camera pi updates...
[2026-10-20 04:00:10,505.505 INFO    ] 200
[2026-10-20 04:00:10,508.508 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 04:00:10,511.511 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-10-20 04:00:10,514.514 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:00:10,516.516 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:00:10,522.522 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:00:10,527.527 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:00:12,567.567 INFO    ] ================================================
[2026-10-20 04:00:12,582.582 INFO    ] Launching Daemon at Tue Oct 20 04:00:12 IST 2026
[2026-10-20 04:00:12,593.593 INFO    ] ================================================
[2026-10-20 04:00:13,177.177 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:00:13
[2026-10-20 04:00:13,777.777 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:00:14,054.054 INFO    ] Initializing speech engine...
[2026-10-20 04:00:14,061.061 INFO    ] 2026-10-20 04:00:14
[2026-10-20 04:00:14,323.323 INFO    ] 2026-10-20 04:00:14
[2026-10-20 04:00:14,352.352 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:00:14,623.623 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:00:14,630.630 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:00:14,859.859 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:00:14,866.866 INFO    ] time= 20/10/2026 04:00:14
[2026-10-20 04:00:14,884.884 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:00:14,901.901 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:00:15,029.029 INFO    ] No existing commands found in stream
[2026-10-20 04:00:20,059.059 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:00:20,062.062 INFO    ] Waiting 2.13 seconds before fallback handling...
[2026-10-20 04:00:22,762.762 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 04:00:22,765.765 INFO    ] Checking for system updates...
[2026-10-20 04:00:22,801.801 INFO    ] 200
[2026-10-20 04:00:22,803.803 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:00:22,855.855 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:00:22,858.858 INFO    ] No update needed
[2026-10-20 04:00:22,860.860 INFO    ] Checking for camera pi updates...
[2026-10-20 04:00:22,894.894 INFO    ] 200
[2026-10-20 04:00:22,897.897 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:00:22,937.937 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:00:23,076.076 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:00:23,079.079 INFO    ] No camera update needed
[2026-10-20 04:00:23,082.082 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:00:23,085.085 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:00:23,092.092 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:00:23,098.098 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:00:25,140.140 INFO    ] ================================================
[2026-10-20 04:00:25,155.155 INFO    ] Launching Daemon at Tue Oct 20 04:00:25 IST 2026
[2026-10-20 04:00:25,166.166 INFO    ] ================================================
[2026-10-20 04:00:25,839.839 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:00:25
[2026-10-20 04:00:26,472.472 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:00:26,722.722 INFO    ] Initializing speech engine...
[2026-10-20 04:00:26,736.736 INFO    ] 2026-10-20 04:00:26
[2026-10-20 04:00:27,002.002 INFO    ] 2026-10-20 04:00:26
[2026-10-20 04:00:27,037.037 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:00:27,241.241 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:00:27,297.297 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:00:27,441.441 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:00:27,478.478 INFO    ] time= 20/10/2026 04:00:27
[2026-10-20 04:00:27,538.538 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:00:27,578.578 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:00:27,709.709 INFO    ] No existing commands found in stream
[2026-10-20 04:00:32,737.737 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:00:32,740.740 INFO    ] Waiting 1.44 seconds before fallback handling...
[2026-10-20 04:00:34,716.716 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:00:34,719.719 INFO    ] Checking for system updates...
[2026-10-20 04:00:34,756.756 INFO    ] 200
[2026-10-20 04:00:34,759.759 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:00:34,819.819 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:00:34,822.822 INFO    ] No update needed
[2026-10-20 04:00:34,825.825 INFO    ] Checking for camera pi updates...
[2026-10-20 04:00:34,867.867 INFO    ] 200
[2026-10-20 04:00:34,870.870 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:00:34,918.918 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:00:34,970.970 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:00:34,973.973 INFO    ] No camera update needed
[2026-10-20 04:00:34,975.975 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:00:34,978.978 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:00:34,985.985 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:00:34,990.990 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:00:37,032.032 INFO    ] ================================================
[2026-10-20 04:00:37,047.047 INFO    ] Launching Daemon at Tue Oct 20 04:00:37 IST 2026
[2026-10-20 04:00:37,058.058 INFO    ] ================================================
[2026-10-20 04:00:37,717.717 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:00:37
[2026-10-20 04:00:38,371.371 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:00:38,626.626 INFO    ] Initializing speech engine...
[2026-10-20 04:00:38,634.634 INFO    ] 2026-10-20 04:00:38
[2026-10-20 04:00:38,926.926 INFO    ] 2026-10-20 04:00:38
[2026-10-20 04:00:38,952.952 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:00:39,221.221 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:00:39,231.231 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:00:39,443.443 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:00:39,488.488 INFO    ] time= 20/10/2026 04:00:39
[2026-10-20 04:00:39,494.494 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:00:39,514.514 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:00:39,644.644 INFO    ] No existing commands found in stream
[2026-10-20 04:00:44,676.676 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:00:44,679.679 INFO    ] Waiting 2.65 seconds before fallback handling...
[2026-10-20 04:00:47,823.823 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:00:47,826.826 INFO    ] Checking for system updates...
[2026-10-20 04:00:47,862.862 INFO    ] 200
[2026-10-20 04:00:47,865.865 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:00:47,923.923 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:00:47,926.926 INFO    ] No update needed
[2026-10-20 04:00:47,929.929 INFO    ] Checking for camera pi updates...
[2026-10-20 04:00:47,970.970 INFO    ] 200
[2026-10-20 04:00:47,973.973 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:00:48,013.013 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:00:48,069.069 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:00:48,072.072 INFO    ] No camera update needed
[2026-10-20 04:00:48,075.075 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:00:48,077.077 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:00:48,083.083 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:00:48,089.089 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:00:50,130.130 INFO    ] ================================================
[2026-10-20 04:00:50,145.145 INFO    ] Launching Daemon at Tue Oct 20 04:00:50 IST 2026
[2026-10-20 04:00:50,155.155 INFO    ] ================================================
[2026-10-20 04:00:50,736.736 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:00:50
[2026-10-20 04:00:51,336.336 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:00:51,615.615 INFO    ] Initializing speech engine...
[2026-10-20 04:00:51,620.620 INFO    ] 2026-10-20 04:00:51
[2026-10-20 04:00:51,867.867 INFO    ] 2026-10-20 04:00:51
[2026-10-20 04:00:51,907.907 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:00:52,156.156 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:00:52,162.162 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:00:52,394.394 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:00:52,421.421 INFO    ] time= 20/10/2026 04:00:52
[2026-10-20 04:00:52,427.427 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:00:52,444.444 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:00:52,570.570 INFO    ] No existing commands found in stream
[2026-10-20 04:00:57,587.587 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:00:57,590.590 INFO    ] Waiting 0.36 seconds before fallback handling...
[2026-10-20 04:00:58,499.499 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:00:58,502.502 INFO    ] Checking for system updates...
[2026-10-20 04:00:58,538.538 INFO    ] 200
[2026-10-20 04:00:58,541.541 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:00:58,594.594 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:00:58,597.597 INFO    ] No update needed
[2026-10-20 04:00:58,600.600 INFO    ] Checking for camera pi updates...
[2026-10-20 04:00:58,634.634 INFO    ] 200
[2026-10-20 04:00:58,637.637 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:00:58,678.678 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:00:58,730.730 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:00:58,733.733 INFO    ] No camera update needed
[2026-10-20 04:00:58,735.735 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:00:58,738.738 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:00:58,744.744 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:00:58,750.750 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:01:00,791.791 INFO    ] ================================================
[2026-10-20 04:01:00,806.806 INFO    ] Launching Daemon at Tue Oct 20 04:01:00 IST 2026
[2026-10-20 04:01:00,817.817 INFO    ] ================================================
[2026-10-20 04:01:01,474.474 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:01:01
[2026-10-20 04:01:02,233.233 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:01:02,543.543 INFO    ] Initializing speech engine...
[2026-10-20 04:01:02,568.568 INFO    ] 2026-10-20 04:01:02
[2026-10-20 04:01:02,859.859 INFO    ] 2026-10-20 04:01:02
[2026-10-20 04:01:02,895.895 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:01:03,168.168 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:01:03,199.199 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:01:03,422.422 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:01:03,482.482 INFO    ] time= 20/10/2026 04:01:03
[2026-10-20 04:01:03,495.495 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:01:03,501.501 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:01:03,651.651 INFO    ] No existing commands found in stream
[2026-10-20 04:01:08,696.696 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:01:08,699.699 INFO    ] Waiting 2.85 seconds before fallback handling...
[2026-10-20 04:01:12,107.107 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:01:12,110.110 INFO    ] Checking for system updates...
[2026-10-20 04:01:12,144.144 INFO    ] 200
[2026-10-20 04:01:12,147.147 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:01:12,203.203 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:01:12,206.206 INFO    ] No update needed
[2026-10-20 04:01:12,208.208 INFO    ] Checking for camera pi updates...
[2026-10-20 04:01:12,241.241 INFO    ] 200
[2026-10-20 04:01:12,243.243 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:01:12,283.283 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:01:12,336.336 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:01:12,339.339 INFO    ] No camera update needed
[2026-10-20 04:01:12,341.341 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:01:12,343.343 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:01:12,349.349 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:01:12,354.354 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:01:14,393.393 INFO    ] ================================================
[2026-10-20 04:01:14,408.408 INFO    ] Launching Daemon at Tue Oct 20 04:01:14 IST 2026
[2026-10-20 04:01:14,419.419 INFO    ] ================================================
[2026-10-20 04:01:14,983.983 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:01:14
[2026-10-20 04:01:15,568.568 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:01:15,820.820 INFO    ] Initializing speech engine...
[2026-10-20 04:01:15,829.829 INFO    ] 2026-10-20 04:01:15
[2026-10-20 04:01:16,117.117 INFO    ] 2026-10-20 04:01:16
[2026-10-20 04:01:16,152.152 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:01:16,370.370 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:01:16,377.377 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:01:16,570.570 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:01:16,612.612 INFO    ] time= 20/10/2026 04:01:16
[2026-10-20 04:01:16,661.661 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:01:16,705.705 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:01:16,822.822 INFO    ] No existing commands found in stream
[2026-10-20 04:01:21,847.847 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:01:21,850.850 INFO    ] Waiting 3.29 seconds before fallback handling...
[2026-10-20 04:01:25,722.722 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:01:25,725.725 INFO    ] Checking for system updates...
[2026-10-20 04:01:25,760.760 INFO    ] 200
[2026-10-20 04:01:25,762.762 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:01:25,818.818 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:01:25,821.821 INFO    ] No update needed
[2026-10-20 04:01:25,823.823 INFO    ] Checking for camera pi updates...
[2026-10-20 04:01:25,860.860 INFO    ] 200
[2026-10-20 04:01:25,863.863 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:01:25,902.902 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:01:25,947.947 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:01:25,949.949 INFO    ] No camera update needed
[2026-10-20 04:01:25,952.952 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:01:25,954.954 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:01:25,959.959 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:01:25,964.964 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:01:28,004.004 INFO    ] ================================================
[2026-10-20 04:01:28,019.019 INFO    ] Launching Daemon at Tue Oct 20 04:01:28 IST 2026
[2026-10-20 04:01:28,030.030 INFO    ] ================================================
[2026-10-20 04:01:28,628.628 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:01:28
[2026-10-20 04:01:29,227.227 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:01:29,506.506 INFO    ] Initializing speech engine...
[2026-10-20 04:01:29,516.516 INFO    ] 2026-10-20 04:01:29
[2026-10-20 04:01:29,774.774 INFO    ] 2026-10-20 04:01:29
[2026-10-20 04:01:29,825.825 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:01:30,054.054 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:01:30,058.058 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:01:30,222.222 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:01:30,292.292 INFO    ] time= 20/10/2026 04:01:30
[2026-10-20 04:01:30,321.321 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:01:30,327.327 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:01:30,474.474 INFO    ] No existing commands found in stream
[2026-10-20 04:01:35,493.493 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:01:35,496.496 INFO    ] Waiting 3.84 seconds before fallback handling...
[2026-10-20 04:01:39,904.904 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:01:39,907.907 INFO    ] Checking for system updates...
[2026-10-20 04:01:39,943.943 INFO    ] 200
[2026-10-20 04:01:39,945.945 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:01:40,001.001 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:01:40,003.003 INFO    ] No update needed
[2026-10-20 04:01:40,006.006 INFO    ] Checking for camera pi updates...
[2026-10-20 04:01:40,039.039 INFO    ] 200
[2026-10-20 04:01:40,041.041 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:01:40,081.081 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:01:40,131.131 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:01:40,133.133 INFO    ] No camera update needed
[2026-10-20 04:01:40,136.136 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:01:40,138.138 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:01:40,143.143 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:01:40,149.149 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:01:42,190.190 INFO    ] ================================================
[2026-10-20 04:01:42,205.205 INFO    ] Launching Daemon at Tue Oct 20 04:01:42 IST 2026
[2026-10-20 04:01:42,215.215 INFO    ] ================================================
[2026-10-20 04:01:42,804.804 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:01:42
[2026-10-20 04:01:43,405.405 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:01:43,684.684 INFO    ] Initializing speech engine...
[2026-10-20 04:01:43,692.692 INFO    ] 2026-10-20 04:01:43
[2026-10-20 04:01:43,949.949 INFO    ] 2026-10-20 04:01:43
[2026-10-20 04:01:44,003.003 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:01:44,255.255 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:01:44,275.275 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:01:44,492.492 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:01:44,499.499 INFO    ] time= 20/10/2026 04:01:44
[2026-10-20 04:01:44,517.517 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:01:44,545.545 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:01:44,653.653 INFO    ] No existing commands found in stream
[2026-10-20 04:01:49,677.677 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:01:49,680.680 INFO    ] Waiting 3.83 seconds before fallback handling...
[2026-10-20 04:01:54,065.065 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:01:54,068.068 INFO    ] Checking for system updates...
[2026-10-20 04:01:54,106.106 INFO    ] 200
[2026-10-20 04:01:54,108.108 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:01:54,160.160 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:01:54,162.162 INFO    ] No update needed
[2026-10-20 04:01:54,164.164 INFO    ] Checking for camera pi updates...
[2026-10-20 04:01:54,200.200 INFO    ] 200
[2026-10-20 04:01:54,203.203 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:01:54,242.242 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:01:54,296.296 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:01:54,299.299 INFO    ] No camera update needed
[2026-10-20 04:01:54,301.301 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:01:54,303.303 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:01:54,309.309 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:01:54,314.314 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:01:56,352.352 INFO    ] ================================================
[2026-10-20 04:01:56,367.367 INFO    ] Launching Daemon at Tue Oct 20 04:01:56 IST 2026
[2026-10-20 04:01:56,379.379 INFO    ] ================================================
[2026-10-20 04:01:57,013.013 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:01:57
[2026-10-20 04:01:57,668.668 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:01:57,969.969 INFO    ] Initializing speech engine...
[2026-10-20 04:01:57,980.980 INFO    ] 2026-10-20 04:01:57
[2026-10-20 04:01:58,281.281 INFO    ] 2026-10-20 04:01:58
[2026-10-20 04:01:58,370.370 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:01:58,646.646 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:01:58,652.652 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:01:58,906.906 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:01:58,946.946 INFO    ] time= 20/10/2026 04:01:58
[2026-10-20 04:01:58,996.996 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:01:59,038.038 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:01:59,190.190 INFO    ] No existing commands found in stream
[2026-10-20 04:02:04,222.222 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:02:04,225.225 INFO    ] Waiting 2.08 seconds before fallback handling...
[2026-10-20 04:02:06,833.833 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:02:06,836.836 INFO    ] Checking for system updates...
[2026-10-20 04:02:06,872.872 INFO    ] 200
[2026-10-20 04:02:06,875.875 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:02:06,931.931 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:02:06,933.933 INFO    ] No update needed
[2026-10-20 04:02:06,935.935 INFO    ] Checking for camera pi updates...
[2026-10-20 04:02:06,970.970 INFO    ] 200
[2026-10-20 04:02:06,973.973 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:02:07,013.013 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:02:07,065.065 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:02:07,068.068 INFO    ] No camera update needed
[2026-10-20 04:02:07,070.070 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:02:07,073.073 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:02:07,078.078 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:02:07,083.083 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:02:09,123.123 INFO    ] ================================================
[2026-10-20 04:02:09,139.139 INFO    ] Launching Daemon at Tue Oct 20 04:02:09 IST 2026
[2026-10-20 04:02:09,151.151 INFO    ] ================================================
[2026-10-20 04:02:09,790.790 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:02:09
[2026-10-20 04:02:10,451.451 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:02:10,752.752 INFO    ] Initializing speech engine...
[2026-10-20 04:02:10,766.766 INFO    ] 2026-10-20 04:02:10
[2026-10-20 04:02:11,047.047 INFO    ] 2026-10-20 04:02:11
[2026-10-20 04:02:11,093.093 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:02:11,344.344 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:02:11,352.352 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:02:11,560.560 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:02:11,594.594 INFO    ] time= 20/10/2026 04:02:11
[2026-10-20 04:02:11,601.601 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:02:11,619.619 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:02:11,756.756 INFO    ] No existing commands found in stream
[2026-10-20 04:02:16,784.784 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:02:16,787.787 INFO    ] Waiting 3.72 seconds before fallback handling...
[2026-10-20 04:02:21,080.080 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:02:21,082.082 INFO    ] Checking for system updates...
[2026-10-20 04:02:21,119.119 INFO    ] 200
[2026-10-20 04:02:21,121.121 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:02:21,174.174 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:02:21,176.176 INFO    ] No update needed
[2026-10-20 04:02:21,179.179 INFO    ] Checking for camera pi updates...
[2026-10-20 04:02:21,213.213 INFO    ] 200
[2026-10-20 04:02:21,216.216 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:02:21,260.260 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:02:21,305.305 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:02:21,307.307 INFO    ] No camera update needed
[2026-10-20 04:02:21,310.310 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:02:21,312.312 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:02:21,317.317 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:02:21,322.322 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:02:23,362.362 INFO    ] ================================================
[2026-10-20 04:02:23,377.377 INFO    ] Launching Daemon at Tue Oct 20 04:02:23 IST 2026
[2026-10-20 04:02:23,388.388 INFO    ] ================================================
[2026-10-20 04:02:23,958.958 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:02:23
[2026-10-20 04:02:24,575.575 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:02:24,829.829 INFO    ] Initializing speech engine...
[2026-10-20 04:02:24,852.852 INFO    ] 2026-10-20 04:02:24
[2026-10-20 04:02:25,108.108 INFO    ] 2026-10-20 04:02:25
[2026-10-20 04:02:25,144.144 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:02:25,406.406 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:02:25,412.412 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:02:25,619.619 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:02:25,669.669 INFO    ] time= 20/10/2026 04:02:25
[2026-10-20 04:02:25,683.683 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:02:25,701.701 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:02:25,831.831 INFO    ] No existing commands found in stream
[2026-10-20 04:02:30,845.845 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:02:30,848.848 INFO    ] Waiting 1.83 seconds before fallback handling...
[2026-10-20 04:02:33,172.172 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 04:02:33,175.175 INFO    ] Checking for system updates...
[2026-10-20 04:02:33,211.211 INFO    ] 200
[2026-10-20 04:02:33,214.214 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:02:33,274.274 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:02:33,277.277 INFO    ] No update needed
[2026-10-20 04:02:33,279.279 INFO    ] Checking for camera pi updates...
[2026-10-20 04:02:33,313.313 INFO    ] 200
[2026-10-20 04:02:33,316.316 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:02:33,360.360 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:02:33,413.413 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:02:33,416.416 INFO    ] No camera update needed
[2026-10-20 04:02:33,419.419 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:02:33,421.421 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:02:33,426.426 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:02:33,431.431 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:02:35,472.472 INFO    ] ================================================
[2026-10-20 04:02:35,487.487 INFO    ] Launching Daemon at Tue Oct 20 04:02:35 IST 2026
[2026-10-20 04:02:35,498.498 INFO    ] ================================================
[2026-10-20 04:02:36,128.128 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:02:36
[2026-10-20 04:02:36,751.751 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:02:37,014.014 INFO    ] Initializing speech engine...
[2026-10-20 04:02:37,029.029 INFO    ] 2026-10-20 04:02:37
[2026-10-20 04:02:37,297.297 INFO    ] 2026-10-20 04:02:37
[2026-10-20 04:02:37,332.332 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:02:37,586.586 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:02:37,597.597 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:02:37,738.738 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:02:37,798.798 INFO    ] time= 20/10/2026 04:02:37
[2026-10-20 04:02:37,847.847 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:02:37,866.866 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:02:37,994.994 INFO    ] No existing commands found in stream
[2026-10-20 04:02:43,023.023 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:02:43,025.025 INFO    ] Waiting 1.60 seconds before fallback handling...
[2026-10-20 04:02:45,133.133 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:02:45,136.136 INFO    ] Checking for system updates...
[2026-10-20 04:02:45,171.171 INFO    ] 200
[2026-10-20 04:02:45,174.174 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:02:45,227.227 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:02:45,230.230 INFO    ] No update needed
[2026-10-20 04:02:45,232.232 INFO    ] Checking for camera pi updates...
[2026-10-20 04:02:45,265.265 INFO    ] 200
[2026-10-20 04:02:45,268.268 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:02:45,309.309 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:02:45,377.377 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:02:45,379.379 INFO    ] No camera update needed
[2026-10-20 04:02:45,382.382 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:02:45,385.385 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:02:45,390.390 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:02:45,395.395 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:02:47,437.437 INFO    ] ================================================
[2026-10-20 04:02:47,452.452 INFO    ] Launching Daemon at Tue Oct 20 04:02:47 IST 2026
[2026-10-20 04:02:47,464.464 INFO    ] ================================================
[2026-10-20 04:02:48,055.055 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:02:48
[2026-10-20 04:02:48,657.657 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:02:48,939.939 INFO    ] Initializing speech engine...
[2026-10-20 04:02:48,944.944 INFO    ] 2026-10-20 04:02:48
[2026-10-20 04:02:49,224.224 INFO    ] 2026-10-20 04:02:49
[2026-10-20 04:02:49,262.262 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:02:49,483.483 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:02:49,547.547 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:02:49,704.704 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:02:49,774.774 INFO    ] time= 20/10/2026 04:02:49
[2026-10-20 04:02:49,844.844 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:02:49,851.851 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:02:49,979.979 INFO    ] No existing commands found in stream
[2026-10-20 04:02:55,004.004 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:02:55,007.007 INFO    ] Waiting 0.04 seconds before fallback handling...
[2026-10-20 04:02:55,557.557 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:02:55,560.560 INFO    ] Checking for system updates...
[2026-10-20 04:02:55,598.598 INFO    ] 200
[2026-10-20 04:02:55,601.601 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:02:55,657.657 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:02:55,660.660 INFO    ] No update needed
[2026-10-20 04:02:55,663.663 INFO    ] Checking for camera pi updates...
[2026-10-20 04:02:55,699.699 INFO    ] 200
[2026-10-20 04:02:55,702.702 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:02:55,750.750 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:02:55,795.795 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:02:55,797.797 INFO    ] No camera update needed
[2026-10-20 04:02:55,800.800 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:02:55,802.802 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:02:55,808.808 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:02:55,814.814 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:02:57,855.855 INFO    ] ================================================
[2026-10-20 04:02:57,870.870 INFO    ] Launching Daemon at Tue Oct 20 04:02:57 IST 2026
[2026-10-20 04:02:57,881.881 INFO    ] ================================================
[2026-10-20 04:02:58,460.460 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:02:58
[2026-10-20 04:02:59,059.059 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:02:59,317.317 INFO    ] Initializing speech engine...
[2026-10-20 04:02:59,331.331 INFO    ] 2026-10-20 04:02:59
[2026-10-20 04:02:59,608.608 INFO    ] 2026-10-20 04:02:59
[2026-10-20 04:02:59,643.643 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:02:59,861.861 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:02:59,923.923 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:03:00,079.079 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:03:00,138.138 INFO    ] time= 20/10/2026 04:03:00
[2026-10-20 04:03:00,198.198 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:03:00,220.220 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:03:00,348.348 INFO    ] No existing commands found in stream
[2026-10-20 04:03:05,370.370 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:03:05,373.373 INFO    ] Waiting 1.38 seconds before fallback handling...
[2026-10-20 04:03:07,283.283 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:03:07,286.286 INFO    ] Checking for system updates...
[2026-10-20 04:03:07,323.323 INFO    ] 200
[2026-10-20 04:03:07,325.325 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:03:07,385.385 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:03:07,387.387 INFO    ] No update needed
[2026-10-20 04:03:07,390.390 INFO    ] Checking for camera pi updates...
[2026-10-20 04:03:07,424.424 INFO    ] 200
[2026-10-20 04:03:07,427.427 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:03:07,469.469 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:03:07,526.526 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:03:07,528.528 INFO    ] No camera update needed
[2026-10-20 04:03:07,531.531 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:03:07,533.533 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:03:07,539.539 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:03:07,543.543 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:03:09,582.582 INFO    ] ================================================
[2026-10-20 04:03:09,597.597 INFO    ] Launching Daemon at Tue Oct 20 04:03:09 IST 2026
[2026-10-20 04:03:09,607.607 INFO    ] ================================================
[2026-10-20 04:03:10,245.245 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:03:10
[2026-10-20 04:03:10,907.907 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:03:11,207.207 INFO    ] Initializing speech engine...
[2026-10-20 04:03:11,220.220 INFO    ] 2026-10-20 04:03:11
[2026-10-20 04:03:11,501.501 INFO    ] 2026-10-20 04:03:11
[2026-10-20 04:03:11,547.547 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:03:11,780.780 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:03:11,787.787 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:03:12,029.029 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:03:12,050.050 INFO    ] time= 20/10/2026 04:03:12
[2026-10-20 04:03:12,069.069 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:03:12,078.078 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:03:12,207.207 INFO    ] No existing commands found in stream
[2026-10-20 04:03:17,223.223 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:03:17,226.226 INFO    ] Waiting 3.52 seconds before fallback handling...
[2026-10-20 04:03:21,329.329 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:03:21,332.332 INFO    ] Checking for system updates...
[2026-10-20 04:03:21,368.368 INFO    ] 200
[2026-10-20 04:03:21,371.371 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:03:21,423.423 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:03:21,426.426 INFO    ] No update needed
[2026-10-20 04:03:21,429.429 INFO    ] Checking for camera pi updates...
[2026-10-20 04:03:21,465.465 INFO    ] 200
[2026-10-20 04:03:21,468.468 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:03:21,514.514 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:03:21,569.569 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:03:21,571.571 INFO    ] No camera update needed
[2026-10-20 04:03:21,573.573 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:03:21,576.576 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:03:21,581.581 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:03:21,586.586 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:03:23,626.626 INFO    ] ================================================
[2026-10-20 04:03:23,641.641 INFO    ] Launching Daemon at Tue Oct 20 04:03:23 IST 2026
[2026-10-20 04:03:23,652.652 INFO    ] ================================================
[2026-10-20 04:03:24,224.224 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:03:24
[2026-10-20 04:03:24,814.814 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:03:25,070.070 INFO    ] Initializing speech engine...
[2026-10-20 04:03:25,079.079 INFO    ] 2026-10-20 04:03:25
[2026-10-20 04:03:25,381.381 INFO    ] 2026-10-20 04:03:25
[2026-10-20 04:03:25,420.420 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:03:25,642.642 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:03:25,650.650 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:03:25,868.868 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:03:25,877.877 INFO    ] time= 20/10/2026 04:03:25
[2026-10-20 04:03:25,937.937 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:03:25,981.981 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:03:26,088.088 INFO    ] No existing commands found in stream
[2026-10-20 04:03:31,100.100 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:03:31,102.102 INFO    ] Waiting 2.57 seconds before fallback handling...
[2026-10-20 04:03:34,315.315 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:03:34,317.317 INFO    ] Checking for system updates...
[2026-10-20 04:03:34,354.354 INFO    ] 200
[2026-10-20 04:03:34,356.356 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:03:34,415.415 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:03:34,418.418 INFO    ] No update needed
[2026-10-20 04:03:34,421.421 INFO    ] Checking for camera pi updates...
[2026-10-20 04:03:34,456.456 INFO    ] 200
[2026-10-20 04:03:34,459.459 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:03:34,501.501 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:03:34,557.557 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:03:34,559.559 INFO    ] No camera update needed
[2026-10-20 04:03:34,562.562 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:03:34,565.565 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:03:34,571.571 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:03:34,577.577 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:03:36,618.618 INFO    ] ================================================
[2026-10-20 04:03:36,633.633 INFO    ] Launching Daemon at Tue Oct 20 04:03:36 IST 2026
[2026-10-20 04:03:36,643.643 INFO    ] ================================================
[2026-10-20 04:03:37,248.248 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:03:37
[2026-10-20 04:03:37,844.844 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:03:38,116.116 INFO    ] Initializing speech engine...
[2026-10-20 04:03:38,126.126 INFO    ] 2026-10-20 04:03:38
[2026-10-20 04:03:38,389.389 INFO    ] 2026-10-20 04:03:38
[2026-10-20 04:03:38,442.442 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:03:38,664.664 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:03:38,674.674 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:03:38,882.882 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:03:38,932.932 INFO    ] time= 20/10/2026 04:03:38
[2026-10-20 04:03:38,938.938 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:03:38,958.958 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:03:39,081.081 INFO    ] No existing commands found in stream
[2026-10-20 04:03:44,097.097 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:03:44,100.100 INFO    ] Waiting 0.22 seconds before fallback handling...
[2026-10-20 04:03:44,895.895 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:03:44,897.897 INFO    ] Checking for system updates...
[2026-10-20 04:03:44,936.936 INFO    ] 200
[2026-10-20 04:03:44,939.939 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:03:44,991.991 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:03:44,994.994 INFO    ] No update needed
[2026-10-20 04:03:44,996.996 INFO    ] Checking for camera pi updates...
[2026-10-20 04:03:45,029.029 INFO    ] 200
[2026-10-20 04:03:45,032.032 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:03:45,072.072 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:03:45,118.118 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:03:45,120.120 INFO    ] No camera update needed
[2026-10-20 04:03:45,123.123 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:03:45,125.125 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:03:45,131.131 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:03:45,136.136 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:03:47,175.175 INFO    ] ================================================
[2026-10-20 04:03:47,190.190 INFO    ] Launching Daemon at Tue Oct 20 04:03:47 IST 2026
[2026-10-20 04:03:47,201.201 INFO    ] ================================================
[2026-10-20 04:03:47,847.847 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:03:47
[2026-10-20 04:03:48,435.435 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:03:48,706.706 INFO    ] Initializing speech engine...
[2026-10-20 04:03:48,715.715 INFO    ] 2026-10-20 04:03:48
[2026-10-20 04:03:48,970.970 INFO    ] 2026-10-20 04:03:48
[2026-10-20 04:03:49,005.005 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:03:49,275.275 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:03:49,283.283 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:03:49,507.507 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:03:49,521.521 INFO    ] time= 20/10/2026 04:03:49
[2026-10-20 04:03:49,534.534 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:03:49,544.544 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:03:49,674.674 INFO    ] No existing commands found in stream
[2026-10-20 04:03:54,698.698 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:03:54,701.701 INFO    ] Waiting 2.55 seconds before fallback handling...
[2026-10-20 04:03:57,834.834 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 04:03:57,837.837 INFO    ] Checking for system updates...
[2026-10-20 04:03:57,872.872 INFO    ] 200
[2026-10-20 04:03:57,875.875 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:03:57,928.928 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:03:57,930.930 INFO    ] No update needed
[2026-10-20 04:03:57,933.933 INFO    ] Checking for camera pi updates...
[2026-10-20 04:03:57,970.970 INFO    ] 200
[2026-10-20 04:03:57,972.972 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:03:58,017.017 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:03:58,064.064 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:03:58,067.067 INFO    ] No camera update needed
[2026-10-20 04:03:58,069.069 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:03:58,071.071 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:03:58,076.076 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:03:58,082.082 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:04:00,123.123 INFO    ] ================================================
[2026-10-20 04:04:00,138.138 INFO    ] Launching Daemon at Tue Oct 20 04:04:00 IST 2026
[2026-10-20 04:04:00,148.148 INFO    ] ================================================
[2026-10-20 04:04:00,734.734 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:04:00
[2026-10-20 04:04:01,316.316 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:04:01,587.587 INFO    ] Initializing speech engine...
[2026-10-20 04:04:01,597.597 INFO    ] 2026-10-20 04:04:01
[2026-10-20 04:04:01,849.849 INFO    ] 2026-10-20 04:04:01
[2026-10-20 04:04:01,883.883 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:04:02,186.186 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:04:02,190.190 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:04:02,367.367 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:04:02,382.382 INFO    ] time= 20/10/2026 04:04:02
[2026-10-20 04:04:02,386.386 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:04:02,406.406 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:04:02,488.488 INFO    ] No existing commands found in stream
[2026-10-20 04:04:07,525.525 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:04:07,529.529 INFO    ] Waiting 3.35 seconds before fallback handling...
[2026-10-20 04:04:11,425.425 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:04:11,428.428 INFO    ] Checking for system updates...
[2026-10-20 04:04:11,464.464 INFO    ] 200
[2026-10-20 04:04:11,467.467 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:04:11,520.520 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:04:11,523.523 INFO    ] No update needed
[2026-10-20 04:04:11,525.525 INFO    ] Checking for camera pi updates...
[2026-10-20 04:04:11,558.558 INFO    ] 200
[2026-10-20 04:04:11,561.561 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:04:11,602.602 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:04:11,651.651 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:04:11,654.654 INFO    ] No camera update needed
[2026-10-20 04:04:11,656.656 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:04:11,658.658 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:04:11,664.664 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:04:11,669.669 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:04:13,707.707 INFO    ] ================================================
[2026-10-20 04:04:13,722.722 INFO    ] Launching Daemon at Tue Oct 20 04:04:13 IST 2026
[2026-10-20 04:04:13,733.733 INFO    ] ================================================
[2026-10-20 04:04:14,360.360 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:04:14
[2026-10-20 04:04:14,942.942 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:04:15,192.192 INFO    ] Initializing speech engine...
[2026-10-20 04:04:15,204.204 INFO    ] 2026-10-20 04:04:15
[2026-10-20 04:04:15,463.463 INFO    ] 2026-10-20 04:04:15
[2026-10-20 04:04:15,499.499 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:04:15,760.760 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:04:15,768.768 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:04:16,020.020 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:04:16,027.027 INFO    ] time= 20/10/2026 04:04:16
[2026-10-20 04:04:16,045.045 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:04:16,056.056 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:04:16,176.176 INFO    ] No existing commands found in stream
[2026-10-20 04:04:21,190.190 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:04:21,192.192 INFO    ] Waiting 2.00 seconds before fallback handling...
[2026-10-20 04:04:23,796.796 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:04:23,799.799 INFO    ] Checking for system updates...
[2026-10-20 04:04:23,837.837 INFO    ] 200
[2026-10-20 04:04:23,839.839 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:04:23,896.896 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:04:23,899.899 INFO    ] No update needed
[2026-10-20 04:04:23,902.902 INFO    ] Checking for camera pi updates...
[2026-10-20 04:04:23,937.937 INFO    ] 200
[2026-10-20 04:04:23,939.939 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:04:23,995.995 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:04:24,042.042 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:04:24,045.045 INFO    ] No camera update needed
[2026-10-20 04:04:24,048.048 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:04:24,051.051 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:04:24,058.058 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:04:24,065.065 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:04:26,107.107 INFO    ] ================================================
[2026-10-20 04:04:26,121.121 INFO    ] Launching Daemon at Tue Oct 20 04:04:26 IST 2026
[2026-10-20 04:04:26,132.132 INFO    ] ================================================
[2026-10-20 04:04:26,715.715 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:04:26
[2026-10-20 04:04:27,323.323 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:04:27,613.613 INFO    ] Initializing speech engine...
[2026-10-20 04:04:27,625.625 INFO    ] 2026-10-20 04:04:27
[2026-10-20 04:04:27,873.873 INFO    ] 2026-10-20 04:04:27
[2026-10-20 04:04:27,907.907 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:04:28,163.163 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:04:28,167.167 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:04:28,406.406 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:04:28,430.430 INFO    ] time= 20/10/2026 04:04:28
[2026-10-20 04:04:28,446.446 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:04:28,453.453 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:04:28,569.569 INFO    ] No existing commands found in stream
[2026-10-20 04:04:33,592.592 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:04:33,595.595 INFO    ] Waiting 3.41 seconds before fallback handling...
[2026-10-20 04:04:37,548.548 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:04:37,551.551 INFO    ] Checking for system updates...
[2026-10-20 04:04:37,586.586 INFO    ] 200
[2026-10-20 04:04:37,589.589 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:04:37,645.645 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:04:37,648.648 INFO    ] No update needed
[2026-10-20 04:04:37,650.650 INFO    ] Checking for camera pi updates...
[2026-10-20 04:04:37,686.686 INFO    ] 200
[2026-10-20 04:04:37,689.689 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:04:37,729.729 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:04:37,882.882 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:04:37,885.885 INFO    ] No camera update needed
[2026-10-20 04:04:37,887.887 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:04:37,890.890 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:04:37,895.895 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:04:37,900.900 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:04:39,941.941 INFO    ] ================================================
[2026-10-20 04:04:39,955.955 INFO    ] Launching Daemon at Tue Oct 20 04:04:39 IST 2026
[2026-10-20 04:04:39,966.966 INFO    ] ================================================
[2026-10-20 04:04:40,531.531 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:04:40
[2026-10-20 04:04:41,116.116 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:04:41,390.390 INFO    ] Initializing speech engine...
[2026-10-20 04:04:41,396.396 INFO    ] 2026-10-20 04:04:41
[2026-10-20 04:04:41,644.644 INFO    ] 2026-10-20 04:04:41
[2026-10-20 04:04:41,680.680 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:04:41,943.943 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:04:41,947.947 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:04:42,183.183 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:04:42,210.210 INFO    ] time= 20/10/2026 04:04:42
[2026-10-20 04:04:42,216.216 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:04:42,237.237 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:04:42,370.370 INFO    ] No existing commands found in stream
[2026-10-20 04:04:47,389.389 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:04:47,392.392 INFO    ] Waiting 0.39 seconds before fallback handling...
[2026-10-20 04:04:48,353.353 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:04:48,356.356 INFO    ] Checking for system updates...
[2026-10-20 04:04:48,392.392 INFO    ] 200
[2026-10-20 04:04:48,394.394 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:04:48,453.453 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:04:48,456.456 INFO    ] No update needed
[2026-10-20 04:04:48,458.458 INFO    ] Checking for camera pi updates...
[2026-10-20 04:04:48,492.492 INFO    ] 200
[2026-10-20 04:04:48,495.495 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:04:48,536.536 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:04:48,584.584 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:04:48,587.587 INFO    ] No camera update needed
[2026-10-20 04:04:48,589.589 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:04:48,592.592 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:04:48,598.598 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:04:48,604.604 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:04:50,645.645 INFO    ] ================================================
[2026-10-20 04:04:50,660.660 INFO    ] Launching Daemon at Tue Oct 20 04:04:50 IST 2026
[2026-10-20 04:04:50,670.670 INFO    ] ================================================
[2026-10-20 04:04:51,238.238 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:04:51
[2026-10-20 04:04:51,823.823 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:04:52,099.099 INFO    ] Initializing speech engine...
[2026-10-20 04:04:52,106.106 INFO    ] 2026-10-20 04:04:52
[2026-10-20 04:04:52,352.352 INFO    ] 2026-10-20 04:04:52
[2026-10-20 04:04:52,385.385 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:04:52,587.587 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:04:52,628.628 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:04:52,790.790 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:04:52,855.855 INFO    ] time= 20/10/2026 04:04:52
[2026-10-20 04:04:52,904.904 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:04:52,923.923 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:04:53,053.053 INFO    ] No existing commands found in stream
[2026-10-20 04:04:58,081.081 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:04:58,084.084 INFO    ] Waiting 2.13 seconds before fallback handling...
[2026-10-20 04:05:00,742.742 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:05:00,745.745 INFO    ] Checking for system updates...
[2026-10-20 04:05:00,784.784 INFO    ] 200
[2026-10-20 04:05:00,786.786 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:05:00,838.838 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:05:00,841.841 INFO    ] No update needed
[2026-10-20 04:05:00,844.844 INFO    ] Checking for camera pi updates...
[2026-10-20 04:05:00,877.877 INFO    ] 200
[2026-10-20 04:05:00,879.879 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:05:00,919.919 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:05:00,990.990 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:05:00,993.993 INFO    ] No camera update needed
[2026-10-20 04:05:00,995.995 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:05:00,997.997 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:05:01,002.002 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:05:01,016.016 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:05:03,063.063 INFO    ] ================================================
[2026-10-20 04:05:03,079.079 INFO    ] Launching Daemon at Tue Oct 20 04:05:03 IST 2026
[2026-10-20 04:05:03,090.090 INFO    ] ================================================
[2026-10-20 04:05:03,680.680 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:05:03
[2026-10-20 04:05:04,266.266 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:05:04,525.525 INFO    ] Initializing speech engine...
[2026-10-20 04:05:04,544.544 INFO    ] 2026-10-20 04:05:04
[2026-10-20 04:05:04,793.793 INFO    ] 2026-10-20 04:05:04
[2026-10-20 04:05:04,827.827 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:05:05,070.070 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:05:05,087.087 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:05:05,327.327 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:05:05,360.360 INFO    ] time= 20/10/2026 04:05:05
[2026-10-20 04:05:05,375.375 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:05:05,384.384 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:05:05,510.510 INFO    ] No existing commands found in stream
[2026-10-20 04:05:10,525.525 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:05:10,527.527 INFO    ] Waiting 1.26 seconds before fallback handling...
[2026-10-20 04:05:12,326.326 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:05:12,329.329 INFO    ] Checking for system updates...
[2026-10-20 04:05:12,368.368 INFO    ] 200
[2026-10-20 04:05:12,370.370 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:05:12,423.423 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:05:12,426.426 INFO    ] No update needed
[2026-10-20 04:05:12,428.428 INFO    ] Checking for camera pi updates...
[2026-10-20 04:05:12,461.461 INFO    ] 200
[2026-10-20 04:05:12,463.463 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:05:12,504.504 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:05:12,550.550 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:05:12,553.553 INFO    ] No camera update needed
[2026-10-20 04:05:12,555.555 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:05:12,557.557 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:05:12,563.563 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:05:12,568.568 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:05:14,609.609 INFO    ] ================================================
[2026-10-20 04:05:14,623.623 INFO    ] Launching Daemon at Tue Oct 20 04:05:14 IST 2026
[2026-10-20 04:05:14,634.634 INFO    ] ================================================
[2026-10-20 04:05:15,292.292 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:05:15
[2026-10-20 04:05:15,968.968 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:05:16,271.271 INFO    ] Initializing speech engine...
[2026-10-20 04:05:16,282.282 INFO    ] 2026-10-20 04:05:16
[2026-10-20 04:05:16,561.561 INFO    ] 2026-10-20 04:05:16
[2026-10-20 04:05:16,620.620 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:05:16,851.851 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:05:16,858.858 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:05:17,094.094 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:05:17,124.124 INFO    ] time= 20/10/2026 04:05:17
[2026-10-20 04:05:17,145.145 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:05:17,241.241 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:05:17,401.401 INFO    ] No existing commands found in stream
[2026-10-20 04:05:22,439.439 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:05:22,442.442 INFO    ] Waiting 1.86 seconds before fallback handling...
[2026-10-20 04:05:24,843.843 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:05:24,846.846 INFO    ] Checking for system updates...
[2026-10-20 04:05:24,887.887 INFO    ] 200
[2026-10-20 04:05:24,891.891 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:05:24,943.943 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:05:24,946.946 INFO    ] No update needed
[2026-10-20 04:05:24,949.949 INFO    ] Checking for camera pi updates...
[2026-10-20 04:05:24,983.983 INFO    ] 200
[2026-10-20 04:05:24,986.986 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:05:25,027.027 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:05:25,071.071 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:05:25,074.074 INFO    ] No camera update needed
[2026-10-20 04:05:25,077.077 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:05:25,079.079 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:05:25,086.086 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:05:25,092.092 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:05:27,131.131 INFO    ] ================================================
[2026-10-20 04:05:27,146.146 INFO    ] Launching Daemon at Tue Oct 20 04:05:27 IST 2026
[2026-10-20 04:05:27,157.157 INFO    ] ================================================
[2026-10-20 04:05:27,783.783 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:05:27
[2026-10-20 04:05:29,227.227 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:05:29,537.537 INFO    ] Initializing speech engine...
[2026-10-20 04:05:29,550.550 INFO    ] 2026-10-20 04:05:29
[2026-10-20 04:05:29,833.833 INFO    ] 2026-10-20 04:05:29
[2026-10-20 04:05:29,878.878 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:05:30,173.173 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:05:30,182.182 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:05:30,382.382 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:05:30,401.401 INFO    ] time= 20/10/2026 04:05:30
[2026-10-20 04:05:30,430.430 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:05:30,441.441 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:05:30,596.596 INFO    ] No existing commands found in stream
[2026-10-20 04:05:35,627.627 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:05:35,631.631 INFO    ] Waiting 3.84 seconds before fallback handling...
[2026-10-20 04:05:40,048.048 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:05:40,051.051 INFO    ] Checking for system updates...
[2026-10-20 04:05:40,099.099 INFO    ] 200
[2026-10-20 04:05:40,103.103 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:05:40,163.163 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:05:40,166.166 INFO    ] No update needed
[2026-10-20 04:05:40,169.169 INFO    ] Checking for camera pi updates...
[2026-10-20 04:05:40,208.208 INFO    ] 200
[2026-10-20 04:05:40,211.211 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:05:40,252.252 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:05:40,305.305 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:05:40,307.307 INFO    ] No camera update needed
[2026-10-20 04:05:40,310.310 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:05:40,313.313 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:05:40,319.319 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:05:40,325.325 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:05:42,366.366 INFO    ] ================================================
[2026-10-20 04:05:42,381.381 INFO    ] Launching Daemon at Tue Oct 20 04:05:42 IST 2026
[2026-10-20 04:05:42,392.392 INFO    ] ================================================
[2026-10-20 04:05:43,599.599 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:05:42
[2026-10-20 04:05:44,516.516 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:05:44,789.789 INFO    ] Initializing speech engine...
[2026-10-20 04:05:44,798.798 INFO    ] 2026-10-20 04:05:44
[2026-10-20 04:05:45,048.048 INFO    ] 2026-10-20 04:05:45
[2026-10-20 04:05:45,083.083 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:05:45,287.287 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:05:45,346.346 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:05:45,604.604 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:05:45,622.622 INFO    ] time= 20/10/2026 04:05:45
[2026-10-20 04:05:45,641.641 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:05:45,652.652 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:05:45,780.780 INFO    ] No existing commands found in stream
[2026-10-20 04:05:50,791.791 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:05:50,794.794 INFO    ] Waiting 1.55 seconds before fallback handling...
[2026-10-20 04:05:52,815.815 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 04:05:52,818.818 INFO    ] Checking for system updates...
[2026-10-20 04:05:52,853.853 INFO    ] 200
[2026-10-20 04:05:52,856.856 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:05:52,911.911 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:05:52,914.914 INFO    ] No update needed
[2026-10-20 04:05:52,916.916 INFO    ] Checking for camera pi updates...
[2026-10-20 04:05:52,950.950 INFO    ] 200
[2026-10-20 04:05:52,952.952 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:05:52,993.993 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:05:53,050.050 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:05:53,053.053 INFO    ] No camera update needed
[2026-10-20 04:05:53,055.055 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:05:53,057.057 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:05:53,063.063 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:05:53,068.068 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:05:55,109.109 INFO    ] ================================================
[2026-10-20 04:05:55,124.124 INFO    ] Launching Daemon at Tue Oct 20 04:05:55 IST 2026
[2026-10-20 04:05:55,135.135 INFO    ] ================================================
[2026-10-20 04:05:55,802.802 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:05:55
[2026-10-20 04:05:56,487.487 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:05:56,752.752 INFO    ] Initializing speech engine...
[2026-10-20 04:05:56,771.771 INFO    ] 2026-10-20 04:05:56
[2026-10-20 04:05:57,019.019 INFO    ] 2026-10-20 04:05:57
[2026-10-20 04:05:57,054.054 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:05:57,312.312 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:05:57,317.317 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:05:57,569.569 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:05:57,576.576 INFO    ] time= 20/10/2026 04:05:57
[2026-10-20 04:05:57,594.594 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:05:57,622.622 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:05:57,745.745 INFO    ] No existing commands found in stream
[2026-10-20 04:06:02,766.766 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:06:02,769.769 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-10-20 04:06:06,445.445 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 04:06:06,448.448 INFO    ] Checking for system updates...
[2026-10-20 04:06:06,483.483 INFO    ] 200
[2026-10-20 04:06:06,486.486 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:06:06,546.546 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:06:06,548.548 INFO    ] No update needed
[2026-10-20 04:06:06,551.551 INFO    ] Checking for camera pi updates...
[2026-10-20 04:06:06,585.585 INFO    ] 200
[2026-10-20 04:06:06,587.587 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:06:06,627.627 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:06:06,680.680 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:06:06,682.682 INFO    ] No camera update needed
[2026-10-20 04:06:06,685.685 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:06:06,687.687 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:06:06,692.692 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:06:06,697.697 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:06:08,736.736 INFO    ] ================================================
[2026-10-20 04:06:08,752.752 INFO    ] Launching Daemon at Tue Oct 20 04:06:08 IST 2026
[2026-10-20 04:06:08,762.762 INFO    ] ================================================
[2026-10-20 04:06:09,340.340 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:06:09
[2026-10-20 04:06:09,933.933 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:06:10,212.212 INFO    ] Initializing speech engine...
[2026-10-20 04:06:10,219.219 INFO    ] 2026-10-20 04:06:10
[2026-10-20 04:06:10,480.480 INFO    ] 2026-10-20 04:06:10
[2026-10-20 04:06:10,510.510 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:06:10,821.821 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:06:10,830.830 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:06:11,021.021 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:06:11,027.027 INFO    ] time= 20/10/2026 04:06:11
[2026-10-20 04:06:11,045.045 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:06:11,073.073 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:06:11,200.200 INFO    ] No existing commands found in stream
[2026-10-20 04:06:16,230.230 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:06:16,233.233 INFO    ] Waiting 2.68 seconds before fallback handling...
[2026-10-20 04:06:19,457.457 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:06:19,460.460 INFO    ] Checking for system updates...
[2026-10-20 04:06:19,495.495 INFO    ] 200
[2026-10-20 04:06:19,498.498 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:06:19,550.550 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:06:19,552.552 INFO    ] No update needed
[2026-10-20 04:06:19,558.558 INFO    ] Checking for camera pi updates...
[2026-10-20 04:06:19,592.592 INFO    ] 200
[2026-10-20 04:06:19,595.595 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:06:19,635.635 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:06:19,684.684 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:06:19,686.686 INFO    ] No camera update needed
[2026-10-20 04:06:19,689.689 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:06:19,691.691 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:06:19,696.696 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:06:19,702.702 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:06:21,743.743 INFO    ] ================================================
[2026-10-20 04:06:21,759.759 INFO    ] Launching Daemon at Tue Oct 20 04:06:21 IST 2026
[2026-10-20 04:06:21,769.769 INFO    ] ================================================
[2026-10-20 04:06:22,335.335 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:06:22
[2026-10-20 04:06:22,920.920 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:06:23,181.181 INFO    ] Initializing speech engine...
[2026-10-20 04:06:23,195.195 INFO    ] 2026-10-20 04:06:23
[2026-10-20 04:06:23,486.486 INFO    ] 2026-10-20 04:06:23
[2026-10-20 04:06:23,526.526 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:06:23,821.821 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:06:23,830.830 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:06:23,999.999 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:06:24,059.059 INFO    ] time= 20/10/2026 04:06:24
[2026-10-20 04:06:24,108.108 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:06:24,141.141 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:06:24,281.281 INFO    ] No existing commands found in stream
[2026-10-20 04:06:29,311.311 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:06:29,314.314 INFO    ] Waiting 3.46 seconds before fallback handling...
[2026-10-20 04:06:33,275.275 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:06:33,278.278 INFO    ] Checking for system updates...
[2026-10-20 04:06:33,313.313 INFO    ] 200
[2026-10-20 04:06:33,315.315 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:06:33,371.371 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:06:33,373.373 INFO    ] No update needed
[2026-10-20 04:06:33,376.376 INFO    ] Checking for camera pi updates...
[2026-10-20 04:06:33,410.410 INFO    ] 200
[2026-10-20 04:06:33,412.412 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:06:33,453.453 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:06:33,485.485 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:06:33,487.487 INFO    ] No camera update needed
[2026-10-20 04:06:33,489.489 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:06:33,492.492 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:06:33,497.497 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:06:33,502.502 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:06:35,543.543 INFO    ] ================================================
[2026-10-20 04:06:35,558.558 INFO    ] Launching Daemon at Tue Oct 20 04:06:35 IST 2026
[2026-10-20 04:06:35,569.569 INFO    ] ================================================
[2026-10-20 04:06:36,148.148 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:06:36
[2026-10-20 04:06:36,734.734 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:06:37,036.036 INFO    ] Initializing speech engine...
[2026-10-20 04:06:37,046.046 INFO    ] 2026-10-20 04:06:37
[2026-10-20 04:06:37,316.316 INFO    ] 2026-10-20 04:06:37
[2026-10-20 04:06:37,385.385 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:06:37,621.621 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:06:37,628.628 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:06:37,882.882 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:06:37,895.895 INFO    ] time= 20/10/2026 04:06:37
[2026-10-20 04:06:37,913.913 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:06:37,930.930 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:06:38,053.053 INFO    ] No existing commands found in stream
[2026-10-20 04:06:43,077.077 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:06:43,080.080 INFO    ] Waiting 2.50 seconds before fallback handling...
[2026-10-20 04:06:46,158.158 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:06:46,160.160 INFO    ] Checking for system updates...
[2026-10-20 04:06:46,197.197 INFO    ] 200
[2026-10-20 04:06:46,200.200 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:06:46,261.261 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:06:46,264.264 INFO    ] No update needed
[2026-10-20 04:06:46,266.266 INFO    ] Checking for camera pi updates...
[2026-10-20 04:06:46,305.305 INFO    ] 200
[2026-10-20 04:06:46,308.308 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:06:46,350.350 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:06:46,501.501 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:06:46,503.503 INFO    ] No camera update needed
[2026-10-20 04:06:46,505.505 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:06:46,508.508 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:06:46,513.513 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:06:46,518.518 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:06:48,558.558 INFO    ] ================================================
[2026-10-20 04:06:48,573.573 INFO    ] Launching Daemon at Tue Oct 20 04:06:48 IST 2026
[2026-10-20 04:06:48,583.583 INFO    ] ================================================
[2026-10-20 04:06:49,166.166 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:06:49
[2026-10-20 04:06:49,766.766 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:06:50,044.044 INFO    ] Initializing speech engine...
[2026-10-20 04:06:50,052.052 INFO    ] 2026-10-20 04:06:50
[2026-10-20 04:06:50,309.309 INFO    ] 2026-10-20 04:06:50
[2026-10-20 04:06:50,339.339 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:06:50,612.612 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:06:50,617.617 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:06:50,826.826 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:06:50,852.852 INFO    ] time= 20/10/2026 04:06:50
[2026-10-20 04:06:50,858.858 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:06:50,876.876 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:06:51,006.006 INFO    ] No existing commands found in stream
[2026-10-20 04:06:56,021.021 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:06:56,024.024 INFO    ] Waiting 1.37 seconds before fallback handling...
[2026-10-20 04:06:57,982.982 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:06:57,985.985 INFO    ] Checking for system updates...
[2026-10-20 04:06:58,020.020 INFO    ] 200
[2026-10-20 04:06:58,022.022 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:06:58,079.079 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:06:58,082.082 INFO    ] No update needed
[2026-10-20 04:06:58,084.084 INFO    ] Checking for camera pi updates...
[2026-10-20 04:06:58,117.117 INFO    ] 200
[2026-10-20 04:06:58,119.119 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:06:58,160.160 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:06:58,206.206 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:06:58,209.209 INFO    ] No camera update needed
[2026-10-20 04:06:58,211.211 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:06:58,213.213 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:06:58,219.219 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:06:58,224.224 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:07:00,264.264 INFO    ] ================================================
[2026-10-20 04:07:00,279.279 INFO    ] Launching Daemon at Tue Oct 20 04:07:00 IST 2026
[2026-10-20 04:07:00,290.290 INFO    ] ================================================
[2026-10-20 04:07:00,877.877 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:07:00
[2026-10-20 04:07:01,589.589 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:07:01,901.901 INFO    ] Initializing speech engine...
[2026-10-20 04:07:01,918.918 INFO    ] 2026-10-20 04:07:01
[2026-10-20 04:07:02,233.233 INFO    ] 2026-10-20 04:07:02
[2026-10-20 04:07:02,281.281 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:07:02,542.542 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:07:02,553.553 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:07:02,729.729 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:07:02,751.751 INFO    ] time= 20/10/2026 04:07:02
[2026-10-20 04:07:02,798.798 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:07:02,865.865 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:07:03,020.020 INFO    ] No existing commands found in stream
[2026-10-20 04:07:08,047.047 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:07:08,050.050 INFO    ] Waiting 0.56 seconds before fallback handling...
[2026-10-20 04:07:09,113.113 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:07:09,115.115 INFO    ] Checking for system updates...
[2026-10-20 04:07:09,154.154 INFO    ] 200
[2026-10-20 04:07:09,157.157 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:07:09,209.209 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:07:09,212.212 INFO    ] No update needed
[2026-10-20 04:07:09,215.215 INFO    ] Checking for camera pi updates...
[2026-10-20 04:07:09,248.248 INFO    ] 200
[2026-10-20 04:07:09,251.251 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:07:09,292.292 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:07:09,344.344 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:07:09,346.346 INFO    ] No camera update needed
[2026-10-20 04:07:09,349.349 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:07:09,351.351 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:07:09,357.357 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:07:09,362.362 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:07:11,401.401 INFO    ] ================================================
[2026-10-20 04:07:11,417.417 INFO    ] Launching Daemon at Tue Oct 20 04:07:11 IST 2026
[2026-10-20 04:07:11,427.427 INFO    ] ================================================
[2026-10-20 04:07:11,997.997 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:07:11
[2026-10-20 04:07:12,583.583 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:07:12,857.857 INFO    ] Initializing speech engine...
[2026-10-20 04:07:12,864.864 INFO    ] 2026-10-20 04:07:12
[2026-10-20 04:07:13,122.122 INFO    ] 2026-10-20 04:07:13
[2026-10-20 04:07:13,151.151 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:07:13,396.396 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:07:13,405.405 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:07:13,630.630 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:07:13,663.663 INFO    ] time= 20/10/2026 04:07:13
[2026-10-20 04:07:13,669.669 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:07:13,687.687 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:07:13,816.816 INFO    ] No existing commands found in stream
[2026-10-20 04:07:18,829.829 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:07:18,832.832 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-10-20 04:07:22,461.461 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 04:07:22,464.464 INFO    ] Checking for system updates...
[2026-10-20 04:07:22,499.499 INFO    ] 200
[2026-10-20 04:07:22,502.502 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:07:22,553.553 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:07:22,556.556 INFO    ] No update needed
[2026-10-20 04:07:22,558.558 INFO    ] Checking for camera pi updates...
[2026-10-20 04:07:22,592.592 INFO    ] 200
[2026-10-20 04:07:22,595.595 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:07:22,634.634 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:07:22,684.684 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:07:22,686.686 INFO    ] No camera update needed
[2026-10-20 04:07:22,688.688 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:07:22,691.691 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:07:22,696.696 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:07:22,701.701 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:07:24,740.740 INFO    ] ================================================
[2026-10-20 04:07:24,755.755 INFO    ] Launching Daemon at Tue Oct 20 04:07:24 IST 2026
[2026-10-20 04:07:24,765.765 INFO    ] ================================================
[2026-10-20 04:07:25,351.351 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:07:25
[2026-10-20 04:07:25,957.957 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:07:26,236.236 INFO    ] Initializing speech engine...
[2026-10-20 04:07:26,243.243 INFO    ] 2026-10-20 04:07:26
[2026-10-20 04:07:26,503.503 INFO    ] 2026-10-20 04:07:26
[2026-10-20 04:07:26,534.534 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:07:26,793.793 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:07:26,809.809 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:07:27,042.042 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:07:27,049.049 INFO    ] time= 20/10/2026 04:07:27
[2026-10-20 04:07:27,067.067 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:07:27,096.096 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:07:27,208.208 INFO    ] No existing commands found in stream
[2026-10-20 04:07:32,237.237 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:07:32,240.240 INFO    ] Waiting 3.20 seconds before fallback handling...
[2026-10-20 04:07:35,998.998 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:07:36,001.001 INFO    ] Checking for system updates...
[2026-10-20 04:07:36,037.037 INFO    ] 200
[2026-10-20 04:07:36,040.040 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:07:36,091.091 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:07:36,094.094 INFO    ] No update needed
[2026-10-20 04:07:36,096.096 INFO    ] Checking for camera pi updates...
[2026-10-20 04:07:36,134.134 INFO    ] 200
[2026-10-20 04:07:36,136.136 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:07:36,181.181 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:07:36,233.233 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:07:36,235.235 INFO    ] No camera update needed
[2026-10-20 04:07:36,237.237 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:07:36,240.240 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:07:36,245.245 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:07:36,250.250 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:07:38,290.290 INFO    ] ================================================
[2026-10-20 04:07:38,305.305 INFO    ] Launching Daemon at Tue Oct 20 04:07:38 IST 2026
[2026-10-20 04:07:38,315.315 INFO    ] ================================================
[2026-10-20 04:07:38,942.942 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:07:38
[2026-10-20 04:07:39,528.528 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:07:39,789.789 INFO    ] Initializing speech engine...
[2026-10-20 04:07:39,812.812 INFO    ] 2026-10-20 04:07:39
[2026-10-20 04:07:40,064.064 INFO    ] 2026-10-20 04:07:40
[2026-10-20 04:07:40,100.100 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:07:40,358.358 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:07:40,364.364 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:07:40,580.580 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:07:40,624.624 INFO    ] time= 20/10/2026 04:07:40
[2026-10-20 04:07:40,643.643 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:07:40,673.673 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:07:40,794.794 INFO    ] No existing commands found in stream
[2026-10-20 04:07:45,825.825 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:07:45,828.828 INFO    ] Waiting 0.70 seconds before fallback handling...
[2026-10-20 04:07:47,093.093 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:07:47,096.096 INFO    ] Checking for system updates...
[2026-10-20 04:07:47,132.132 INFO    ] 200
[2026-10-20 04:07:47,135.135 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:07:47,196.196 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:07:47,198.198 INFO    ] No update needed
[2026-10-20 04:07:47,201.201 INFO    ] Checking for camera pi updates...
[2026-10-20 04:07:47,237.237 INFO    ] 200
[2026-10-20 04:07:47,240.240 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:07:47,285.285 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:07:47,334.334 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:07:47,336.336 INFO    ] No camera update needed
[2026-10-20 04:07:47,339.339 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:07:47,341.341 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:07:47,346.346 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:07:47,351.351 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:07:49,393.393 INFO    ] ================================================
[2026-10-20 04:07:49,409.409 INFO    ] Launching Daemon at Tue Oct 20 04:07:49 IST 2026
[2026-10-20 04:07:49,419.419 INFO    ] ================================================
[2026-10-20 04:07:50,004.004 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:07:50
[2026-10-20 04:07:50,604.604 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:07:50,879.879 INFO    ] Initializing speech engine...
[2026-10-20 04:07:50,890.890 INFO    ] 2026-10-20 04:07:50
[2026-10-20 04:07:51,137.137 INFO    ] 2026-10-20 04:07:51
[2026-10-20 04:07:51,174.174 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:07:51,450.450 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:07:51,468.468 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:07:51,713.713 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:07:51,727.727 INFO    ] time= 20/10/2026 04:07:51
[2026-10-20 04:07:51,746.746 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:07:51,769.769 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:07:51,898.898 INFO    ] No existing commands found in stream
[2026-10-20 04:07:56,920.920 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:07:56,923.923 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-10-20 04:08:00,095.095 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 04:08:00,098.098 INFO    ] Checking for system updates...
[2026-10-20 04:08:00,133.133 INFO    ] 200
[2026-10-20 04:08:00,136.136 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:08:00,194.194 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:08:00,197.197 INFO    ] No update needed
[2026-10-20 04:08:00,199.199 INFO    ] Checking for camera pi updates...
[2026-10-20 04:08:00,236.236 INFO    ] 200
[2026-10-20 04:08:00,239.239 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:08:00,278.278 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:08:00,330.330 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:08:00,332.332 INFO    ] No camera update needed
[2026-10-20 04:08:00,335.335 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:08:00,337.337 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:08:00,342.342 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:08:00,347.347 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:08:02,400.400 INFO    ] ================================================
[2026-10-20 04:08:02,421.421 INFO    ] Launching Daemon at Tue Oct 20 04:08:02 IST 2026
[2026-10-20 04:08:02,437.437 INFO    ] ================================================
[2026-10-20 04:08:03,111.111 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:08:03
[2026-10-20 04:08:03,782.782 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:08:04,037.037 INFO    ] Initializing speech engine...
[2026-10-20 04:08:04,043.043 INFO    ] 2026-10-20 04:08:04
[2026-10-20 04:08:04,340.340 INFO    ] 2026-10-20 04:08:04
[2026-10-20 04:08:04,378.378 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:08:04,582.582 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:08:04,640.640 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:08:04,882.882 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:08:04,906.906 INFO    ] time= 20/10/2026 04:08:04
[2026-10-20 04:08:04,912.912 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:08:04,933.933 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:08:05,062.062 INFO    ] No existing commands found in stream
[2026-10-20 04:08:10,077.077 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:08:10,080.080 INFO    ] Waiting 3.22 seconds before fallback handling...
[2026-10-20 04:08:13,836.836 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:08:13,839.839 INFO    ] Checking for system updates...
[2026-10-20 04:08:13,874.874 INFO    ] 200
[2026-10-20 04:08:13,876.876 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:08:13,929.929 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:08:13,931.931 INFO    ] No update needed
[2026-10-20 04:08:13,934.934 INFO    ] Checking for camera pi updates...
[2026-10-20 04:08:13,970.970 INFO    ] 200
[2026-10-20 04:08:13,973.973 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:08:14,018.018 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:08:14,068.068 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:08:14,070.070 INFO    ] No camera update needed
[2026-10-20 04:08:14,073.073 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:08:14,075.075 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:08:14,080.080 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:08:14,085.085 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:08:16,125.125 INFO    ] ================================================
[2026-10-20 04:08:16,140.140 INFO    ] Launching Daemon at Tue Oct 20 04:08:16 IST 2026
[2026-10-20 04:08:16,151.151 INFO    ] ================================================
[2026-10-20 04:08:16,733.733 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:08:16
[2026-10-20 04:08:17,332.332 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:08:17,612.612 INFO    ] Initializing speech engine...
[2026-10-20 04:08:17,625.625 INFO    ] 2026-10-20 04:08:17
[2026-10-20 04:08:17,893.893 INFO    ] 2026-10-20 04:08:17
[2026-10-20 04:08:17,935.935 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:08:18,218.218 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:08:18,223.223 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:08:18,419.419 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:08:18,434.434 INFO    ] time= 20/10/2026 04:08:18
[2026-10-20 04:08:18,445.445 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:08:18,470.470 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:08:18,590.590 INFO    ] No existing commands found in stream
[2026-10-20 04:08:23,615.615 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:08:23,618.618 INFO    ] Waiting 0.70 seconds before fallback handling...
[2026-10-20 04:08:24,825.825 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:08:24,828.828 INFO    ] Checking for system updates...
[2026-10-20 04:08:24,869.869 INFO    ] 200
[2026-10-20 04:08:24,871.871 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:08:24,943.943 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:08:24,945.945 INFO    ] No update needed
[2026-10-20 04:08:24,948.948 INFO    ] Checking for camera pi updates...
[2026-10-20 04:08:24,981.981 INFO    ] 200
[2026-10-20 04:08:24,983.983 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:08:25,024.024 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:08:25,072.072 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:08:25,075.075 INFO    ] No camera update needed
[2026-10-20 04:08:25,077.077 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:08:25,080.080 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:08:25,085.085 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:08:25,090.090 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:08:27,131.131 INFO    ] ================================================
[2026-10-20 04:08:27,146.146 INFO    ] Launching Daemon at Tue Oct 20 04:08:27 IST 2026
[2026-10-20 04:08:27,156.156 INFO    ] ================================================
[2026-10-20 04:08:27,723.723 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:08:27
[2026-10-20 04:08:28,309.309 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:08:28,556.556 INFO    ] Initializing speech engine...
[2026-10-20 04:08:28,564.564 INFO    ] 2026-10-20 04:08:28
[2026-10-20 04:08:28,837.837 INFO    ] 2026-10-20 04:08:28
[2026-10-20 04:08:28,873.873 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:08:29,131.131 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:08:29,141.141 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:08:29,365.365 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:08:29,406.406 INFO    ] time= 20/10/2026 04:08:29
[2026-10-20 04:08:29,413.413 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:08:29,431.431 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:08:29,570.570 INFO    ] No existing commands found in stream
[2026-10-20 04:08:34,596.596 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:08:34,599.599 INFO    ] Waiting 0.12 seconds before fallback handling...
[2026-10-20 04:08:35,231.231 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:08:35,234.234 INFO    ] Checking for system updates...
[2026-10-20 04:08:35,273.273 INFO    ] 200
[2026-10-20 04:08:35,275.275 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:08:35,341.341 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:08:35,344.344 INFO    ] No update needed
[2026-10-20 04:08:35,346.346 INFO    ] Checking for camera pi updates...
[2026-10-20 04:08:35,383.383 INFO    ] 200
[2026-10-20 04:08:35,386.386 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:08:35,431.431 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:08:35,480.480 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:08:35,482.482 INFO    ] No camera update needed
[2026-10-20 04:08:35,485.485 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:08:35,487.487 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:08:35,492.492 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:08:35,497.497 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:08:37,537.537 INFO    ] ================================================
[2026-10-20 04:08:37,553.553 INFO    ] Launching Daemon at Tue Oct 20 04:08:37 IST 2026
[2026-10-20 04:08:37,564.564 INFO    ] ================================================
[2026-10-20 04:08:38,132.132 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:08:38
[2026-10-20 04:08:38,715.715 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:08:38,987.987 INFO    ] Initializing speech engine...
[2026-10-20 04:08:38,997.997 INFO    ] 2026-10-20 04:08:38
[2026-10-20 04:08:39,247.247 INFO    ] 2026-10-20 04:08:39
[2026-10-20 04:08:39,283.283 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:08:39,543.543 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:08:39,553.553 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:08:39,737.737 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:08:39,797.797 INFO    ] time= 20/10/2026 04:08:39
[2026-10-20 04:08:39,823.823 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:08:39,829.829 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:08:39,982.982 INFO    ] No existing commands found in stream
[2026-10-20 04:08:45,001.001 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:08:45,003.003 INFO    ] Waiting 2.09 seconds before fallback handling...
[2026-10-20 04:08:47,628.628 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:08:47,631.631 INFO    ] Checking for system updates...
[2026-10-20 04:08:47,666.666 INFO    ] 200
[2026-10-20 04:08:47,668.668 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:08:47,725.725 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:08:47,728.728 INFO    ] No update needed
[2026-10-20 04:08:47,730.730 INFO    ] Checking for camera pi updates...
[2026-10-20 04:08:47,764.764 INFO    ] 200
[2026-10-20 04:08:47,766.766 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:08:47,812.812 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:08:47,955.955 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:08:47,957.957 INFO    ] No camera update needed
[2026-10-20 04:08:47,959.959 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:08:47,962.962 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:08:47,967.967 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:08:47,972.972 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:08:50,023.023 INFO    ] ================================================
[2026-10-20 04:08:50,038.038 INFO    ] Launching Daemon at Tue Oct 20 04:08:50 IST 2026
[2026-10-20 04:08:50,049.049 INFO    ] ================================================
[2026-10-20 04:08:50,622.622 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:08:50
[2026-10-20 04:08:51,205.205 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:08:51,457.457 INFO    ] Initializing speech engine...
[2026-10-20 04:08:51,466.466 INFO    ] 2026-10-20 04:08:51
[2026-10-20 04:08:51,749.749 INFO    ] 2026-10-20 04:08:51
[2026-10-20 04:08:51,786.786 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:08:51,990.990 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:08:52,047.047 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:08:52,274.274 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:08:52,328.328 INFO    ] time= 20/10/2026 04:08:52
[2026-10-20 04:08:52,334.334 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:08:52,349.349 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:08:52,480.480 INFO    ] No existing commands found in stream
[2026-10-20 04:08:57,498.498 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:08:57,501.501 INFO    ] Waiting 2.12 seconds before fallback handling...
[2026-10-20 04:09:00,142.142 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:09:00,146.146 INFO    ] Checking for system updates...
[2026-10-20 04:09:00,182.182 INFO    ] 200
[2026-10-20 04:09:00,185.185 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:09:00,246.246 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:09:00,249.249 INFO    ] No update needed
[2026-10-20 04:09:00,253.253 INFO    ] Checking for camera pi updates...
[2026-10-20 04:09:00,292.292 INFO    ] 200
[2026-10-20 04:09:00,295.295 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:09:00,341.341 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:09:00,392.392 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:09:00,395.395 INFO    ] No camera update needed
[2026-10-20 04:09:00,398.398 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:09:00,401.401 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:09:00,407.407 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:09:00,413.413 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:09:02,459.459 INFO    ] ================================================
[2026-10-20 04:09:02,479.479 INFO    ] Launching Daemon at Tue Oct 20 04:09:02 IST 2026
[2026-10-20 04:09:02,494.494 INFO    ] ================================================
[2026-10-20 04:09:03,218.218 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:09:03
[2026-10-20 04:09:03,892.892 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:09:04,185.185 INFO    ] Initializing speech engine...
[2026-10-20 04:09:04,194.194 INFO    ] 2026-10-20 04:09:04
[2026-10-20 04:09:04,455.455 INFO    ] 2026-10-20 04:09:04
[2026-10-20 04:09:04,492.492 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:09:04,756.756 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:09:04,760.760 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:09:05,007.007 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:09:05,028.028 INFO    ] time= 20/10/2026 04:09:05
[2026-10-20 04:09:05,046.046 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:09:05,081.081 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:09:05,225.225 INFO    ] No existing commands found in stream
[2026-10-20 04:09:10,251.251 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:09:10,254.254 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-10-20 04:09:13,911.911 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:09:13,914.914 INFO    ] Checking for system updates...
[2026-10-20 04:09:13,954.954 INFO    ] 200
[2026-10-20 04:09:13,957.957 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:09:14,015.015 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:09:14,017.017 INFO    ] No update needed
[2026-10-20 04:09:14,020.020 INFO    ] Checking for camera pi updates...
[2026-10-20 04:09:14,056.056 INFO    ] 200
[2026-10-20 04:09:14,059.059 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:09:14,103.103 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:09:14,156.156 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:09:14,159.159 INFO    ] No camera update needed
[2026-10-20 04:09:14,161.161 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:09:14,163.163 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:09:14,169.169 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:09:14,180.180 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:09:16,220.220 INFO    ] ================================================
[2026-10-20 04:09:16,236.236 INFO    ] Launching Daemon at Tue Oct 20 04:09:16 IST 2026
[2026-10-20 04:09:16,247.247 INFO    ] ================================================
[2026-10-20 04:09:16,821.821 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:09:16
[2026-10-20 04:09:17,425.425 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:09:17,690.690 INFO    ] Initializing speech engine...
[2026-10-20 04:09:17,713.713 INFO    ] 2026-10-20 04:09:17
[2026-10-20 04:09:17,989.989 INFO    ] 2026-10-20 04:09:17
[2026-10-20 04:09:18,025.025 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:09:18,307.307 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:09:18,317.317 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:09:18,524.524 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:09:18,569.569 INFO    ] time= 20/10/2026 04:09:18
[2026-10-20 04:09:18,612.612 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:09:18,619.619 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:09:18,777.777 INFO    ] No existing commands found in stream
[2026-10-20 04:09:23,792.792 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:09:23,795.795 INFO    ] Waiting 3.53 seconds before fallback handling...
[2026-10-20 04:09:27,828.828 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 04:09:27,831.831 INFO    ] Checking for system updates...
[2026-10-20 04:09:27,869.869 INFO    ] 200
[2026-10-20 04:09:27,872.872 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:09:27,924.924 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:09:27,926.926 INFO    ] No update needed
[2026-10-20 04:09:27,929.929 INFO    ] Checking for camera pi updates...
[2026-10-20 04:09:27,962.962 INFO    ] 200
[2026-10-20 04:09:27,964.964 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:09:28,004.004 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:09:28,054.054 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:09:28,057.057 INFO    ] No camera update needed
[2026-10-20 04:09:28,059.059 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:09:28,061.061 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:09:28,067.067 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:09:28,072.072 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:09:30,111.111 INFO    ] ================================================
[2026-10-20 04:09:30,127.127 INFO    ] Launching Daemon at Tue Oct 20 04:09:30 IST 2026
[2026-10-20 04:09:30,138.138 INFO    ] ================================================
[2026-10-20 04:09:30,756.756 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:09:30
[2026-10-20 04:09:31,372.372 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:09:31,680.680 INFO    ] Initializing speech engine...
[2026-10-20 04:09:31,689.689 INFO    ] 2026-10-20 04:09:31
[2026-10-20 04:09:31,964.964 INFO    ] 2026-10-20 04:09:31
[2026-10-20 04:09:32,020.020 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:09:32,262.262 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:09:32,271.271 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:09:32,510.510 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:09:32,569.569 INFO    ] time= 20/10/2026 04:09:32
[2026-10-20 04:09:32,572.572 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:09:32,575.575 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:09:32,657.657 INFO    ] No existing commands found in stream
[2026-10-20 04:09:37,667.667 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:09:37,670.670 INFO    ] Waiting 1.54 seconds before fallback handling...
[2026-10-20 04:09:39,756.756 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:09:39,759.759 INFO    ] Checking for system updates...
[2026-10-20 04:09:39,798.798 INFO    ] 200
[2026-10-20 04:09:39,800.800 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:09:39,859.859 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:09:39,862.862 INFO    ] No update needed
[2026-10-20 04:09:39,864.864 INFO    ] Checking for camera pi updates...
[2026-10-20 04:09:39,897.897 INFO    ] 200
[2026-10-20 04:09:39,900.900 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:09:39,941.941 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:09:39,987.987 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:09:39,989.989 INFO    ] No camera update needed
[2026-10-20 04:09:39,992.992 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:09:39,994.994 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:09:40,000.000 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:09:40,005.005 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:09:42,044.044 INFO    ] ================================================
[2026-10-20 04:09:42,060.060 INFO    ] Launching Daemon at Tue Oct 20 04:09:42 IST 2026
[2026-10-20 04:09:42,070.070 INFO    ] ================================================
[2026-10-20 04:09:42,634.634 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:09:42
[2026-10-20 04:09:43,226.226 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:09:43,483.483 INFO    ] Initializing speech engine...
[2026-10-20 04:09:43,498.498 INFO    ] 2026-10-20 04:09:43
[2026-10-20 04:09:43,752.752 INFO    ] 2026-10-20 04:09:43
[2026-10-20 04:09:43,787.787 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:09:44,050.050 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:09:44,054.054 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:09:44,193.193 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:09:44,261.261 INFO    ] time= 20/10/2026 04:09:44
[2026-10-20 04:09:44,324.324 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:09:44,330.330 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:09:44,479.479 INFO    ] No existing commands found in stream
[2026-10-20 04:09:49,491.491 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:09:49,494.494 INFO    ] Waiting 2.30 seconds before fallback handling...
[2026-10-20 04:09:52,367.367 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 04:09:52,370.370 INFO    ] Checking for system updates...
[2026-10-20 04:09:52,409.409 INFO    ] 200
[2026-10-20 04:09:52,412.412 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:09:52,464.464 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:09:52,466.466 INFO    ] No update needed
[2026-10-20 04:09:52,468.468 INFO    ] Checking for camera pi updates...
[2026-10-20 04:09:52,502.502 INFO    ] 200
[2026-10-20 04:09:52,505.505 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:09:52,545.545 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:09:52,603.603 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:09:52,605.605 INFO    ] No camera update needed
[2026-10-20 04:09:52,607.607 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:09:52,610.610 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:09:52,615.615 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:09:52,620.620 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:09:54,662.662 INFO    ] ================================================
[2026-10-20 04:09:54,677.677 INFO    ] Launching Daemon at Tue Oct 20 04:09:54 IST 2026
[2026-10-20 04:09:54,688.688 INFO    ] ================================================
[2026-10-20 04:09:55,253.253 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:09:55
[2026-10-20 04:09:55,840.840 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:09:56,115.115 INFO    ] Initializing speech engine...
[2026-10-20 04:09:56,122.122 INFO    ] 2026-10-20 04:09:56
[2026-10-20 04:09:56,369.369 INFO    ] 2026-10-20 04:09:56
[2026-10-20 04:09:56,402.402 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:09:56,663.663 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:09:56,672.672 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:09:56,900.900 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:09:56,937.937 INFO    ] time= 20/10/2026 04:09:56
[2026-10-20 04:09:56,943.943 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:09:56,961.961 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:09:57,097.097 INFO    ] No existing commands found in stream
[2026-10-20 04:10:02,111.111 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:10:02,115.115 INFO    ] Waiting 0.19 seconds before fallback handling...
[2026-10-20 04:10:02,836.836 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:10:02,839.839 INFO    ] Checking for system updates...
[2026-10-20 04:10:02,894.894 INFO    ] 200
[2026-10-20 04:10:02,898.898 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:10:02,976.976 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:10:02,980.980 INFO    ] No update needed
[2026-10-20 04:10:02,984.984 INFO    ] Checking for camera pi updates...
[2026-10-20 04:10:03,041.041 INFO    ] 200
[2026-10-20 04:10:03,044.044 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:10:03,111.111 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:10:03,143.143 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:10:03,146.146 INFO    ] No camera update needed
[2026-10-20 04:10:03,150.150 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:10:03,153.153 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:10:03,159.159 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:10:03,169.169 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:10:05,210.210 INFO    ] ================================================
[2026-10-20 04:10:05,225.225 INFO    ] Launching Daemon at Tue Oct 20 04:10:05 IST 2026
[2026-10-20 04:10:05,236.236 INFO    ] ================================================
[2026-10-20 04:10:05,880.880 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:10:05
[2026-10-20 04:10:06,548.548 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:10:06,839.839 INFO    ] Initializing speech engine...
[2026-10-20 04:10:06,846.846 INFO    ] 2026-10-20 04:10:06
[2026-10-20 04:10:07,110.110 INFO    ] 2026-10-20 04:10:07
[2026-10-20 04:10:07,140.140 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:10:07,390.390 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:10:07,396.396 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:10:07,619.619 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:10:07,654.654 INFO    ] time= 20/10/2026 04:10:07
[2026-10-20 04:10:07,661.661 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:10:07,679.679 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:10:07,799.799 INFO    ] No existing commands found in stream
[2026-10-20 04:10:12,820.820 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:10:12,823.823 INFO    ] Waiting 2.30 seconds before fallback handling...
[2026-10-20 04:10:15,666.666 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:10:15,669.669 INFO    ] Checking for system updates...
[2026-10-20 04:10:15,709.709 INFO    ] 200
[2026-10-20 04:10:15,711.711 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:10:15,765.765 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:10:15,768.768 INFO    ] No update needed
[2026-10-20 04:10:15,771.771 INFO    ] Checking for camera pi updates...
[2026-10-20 04:10:15,808.808 INFO    ] 200
[2026-10-20 04:10:15,810.810 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:10:15,850.850 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:10:15,901.901 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:10:15,903.903 INFO    ] No camera update needed
[2026-10-20 04:10:15,905.905 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:10:15,907.907 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:10:15,913.913 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:10:15,918.918 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:10:17,959.959 INFO    ] ================================================
[2026-10-20 04:10:17,974.974 INFO    ] Launching Daemon at Tue Oct 20 04:10:17 IST 2026
[2026-10-20 04:10:17,984.984 INFO    ] ================================================
[2026-10-20 04:10:18,550.550 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:10:18
[2026-10-20 04:10:19,154.154 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:10:19,419.419 INFO    ] Initializing speech engine...
[2026-10-20 04:10:19,433.433 INFO    ] 2026-10-20 04:10:19
[2026-10-20 04:10:19,720.720 INFO    ] 2026-10-20 04:10:19
[2026-10-20 04:10:19,758.758 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:10:19,980.980 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:10:20,003.003 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:10:20,208.208 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:10:20,256.256 INFO    ] time= 20/10/2026 04:10:20
[2026-10-20 04:10:20,310.310 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:10:20,359.359 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:10:20,511.511 INFO    ] No existing commands found in stream
[2026-10-20 04:10:25,538.538 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:10:25,541.541 INFO    ] Waiting 0.09 seconds before fallback handling...
[2026-10-20 04:10:26,146.146 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:10:26,148.148 INFO    ] Checking for system updates...
[2026-10-20 04:10:26,185.185 INFO    ] 200
[2026-10-20 04:10:26,188.188 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:10:26,247.247 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:10:26,250.250 INFO    ] No update needed
[2026-10-20 04:10:26,253.253 INFO    ] Checking for camera pi updates...
[2026-10-20 04:10:26,287.287 INFO    ] 200
[2026-10-20 04:10:26,290.290 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:10:26,336.336 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:10:26,387.387 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:10:26,390.390 INFO    ] No camera update needed
[2026-10-20 04:10:26,393.393 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:10:26,395.395 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:10:26,401.401 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:10:26,407.407 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:10:28,449.449 INFO    ] ================================================
[2026-10-20 04:10:28,464.464 INFO    ] Launching Daemon at Tue Oct 20 04:10:28 IST 2026
[2026-10-20 04:10:28,475.475 INFO    ] ================================================
[2026-10-20 04:10:29,121.121 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:10:29
[2026-10-20 04:10:29,788.788 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:10:30,094.094 INFO    ] Initializing speech engine...
[2026-10-20 04:10:30,105.105 INFO    ] 2026-10-20 04:10:30
[2026-10-20 04:10:30,390.390 INFO    ] 2026-10-20 04:10:30
[2026-10-20 04:10:30,507.507 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:10:30,726.726 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:10:30,734.734 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:10:30,946.946 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:10:30,956.956 INFO    ] time= 20/10/2026 04:10:30
[2026-10-20 04:10:30,983.983 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:10:30,993.993 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:10:31,096.096 INFO    ] No existing commands found in stream
[2026-10-20 04:10:36,116.116 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:10:36,119.119 INFO    ] Waiting 3.93 seconds before fallback handling...
[2026-10-20 04:10:40,645.645 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 04:10:40,648.648 INFO    ] Checking for system updates...
[2026-10-20 04:10:40,690.690 INFO    ] 200
[2026-10-20 04:10:40,692.692 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:10:40,751.751 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:10:40,754.754 INFO    ] No update needed
[2026-10-20 04:10:40,757.757 INFO    ] Checking for camera pi updates...
[2026-10-20 04:10:40,798.798 INFO    ] 200
[2026-10-20 04:10:40,801.801 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:10:40,858.858 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:10:40,908.908 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:10:40,910.910 INFO    ] No camera update needed
[2026-10-20 04:10:40,913.913 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:10:40,915.915 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:10:40,920.920 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:10:40,925.925 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:10:42,965.965 INFO    ] ================================================
[2026-10-20 04:10:42,981.981 INFO    ] Launching Daemon at Tue Oct 20 04:10:42 IST 2026
[2026-10-20 04:10:42,991.991 INFO    ] ================================================
[2026-10-20 04:10:43,569.569 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:10:43
[2026-10-20 04:10:44,157.157 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:10:44,427.427 INFO    ] Initializing speech engine...
[2026-10-20 04:10:44,437.437 INFO    ] 2026-10-20 04:10:44
[2026-10-20 04:10:44,683.683 INFO    ] 2026-10-20 04:10:44
[2026-10-20 04:10:44,718.718 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:10:44,974.974 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:10:44,979.979 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:10:45,229.229 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:10:45,239.239 INFO    ] time= 20/10/2026 04:10:45
[2026-10-20 04:10:45,256.256 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:10:45,263.263 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:10:45,430.430 INFO    ] No existing commands found in stream
[2026-10-20 04:10:50,461.461 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:10:50,463.463 INFO    ] Waiting 3.70 seconds before fallback handling...
[2026-10-20 04:10:54,747.747 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:10:54,749.749 INFO    ] Checking for system updates...
[2026-10-20 04:10:54,785.785 INFO    ] 200
[2026-10-20 04:10:54,788.788 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:10:54,850.850 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:10:54,852.852 INFO    ] No update needed
[2026-10-20 04:10:54,854.854 INFO    ] Checking for camera pi updates...
[2026-10-20 04:10:54,891.891 INFO    ] 200
[2026-10-20 04:10:54,894.894 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:10:54,934.934 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:10:55,081.081 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:10:55,084.084 INFO    ] No camera update needed
[2026-10-20 04:10:55,086.086 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:10:55,088.088 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:10:55,093.093 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:10:55,098.098 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:10:57,139.139 INFO    ] ================================================
[2026-10-20 04:10:57,154.154 INFO    ] Launching Daemon at Tue Oct 20 04:10:57 IST 2026
[2026-10-20 04:10:57,165.165 INFO    ] ================================================
[2026-10-20 04:10:57,736.736 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:10:57
[2026-10-20 04:10:58,327.327 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:10:58,587.587 INFO    ] Initializing speech engine...
[2026-10-20 04:10:58,609.609 INFO    ] 2026-10-20 04:10:58
[2026-10-20 04:10:58,861.861 INFO    ] 2026-10-20 04:10:58
[2026-10-20 04:10:58,896.896 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:10:59,152.152 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:10:59,156.156 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:10:59,397.397 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:10:59,416.416 INFO    ] time= 20/10/2026 04:10:59
[2026-10-20 04:10:59,431.431 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:10:59,461.461 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:10:59,593.593 INFO    ] No existing commands found in stream
[2026-10-20 04:11:04,623.623 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:11:04,626.626 INFO    ] Waiting 3.64 seconds before fallback handling...
[2026-10-20 04:11:08,744.744 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:11:08,746.746 INFO    ] Checking for system updates...
[2026-10-20 04:11:08,782.782 INFO    ] 200
[2026-10-20 04:11:08,784.784 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:11:08,842.842 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:11:08,844.844 INFO    ] No update needed
[2026-10-20 04:11:08,847.847 INFO    ] Checking for camera pi updates...
[2026-10-20 04:11:08,883.883 INFO    ] 200
[2026-10-20 04:11:08,885.885 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:11:08,929.929 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:11:08,983.983 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:11:08,986.986 INFO    ] No camera update needed
[2026-10-20 04:11:08,988.988 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:11:08,990.990 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:11:08,996.996 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:11:09,001.001 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:11:11,041.041 INFO    ] ================================================
[2026-10-20 04:11:11,057.057 INFO    ] Launching Daemon at Tue Oct 20 04:11:11 IST 2026
[2026-10-20 04:11:11,068.068 INFO    ] ================================================
[2026-10-20 04:11:11,634.634 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:11:11
[2026-10-20 04:11:12,219.219 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:11:12,479.479 INFO    ] Initializing speech engine...
[2026-10-20 04:11:12,498.498 INFO    ] 2026-10-20 04:11:12
[2026-10-20 04:11:12,746.746 INFO    ] 2026-10-20 04:11:12
[2026-10-20 04:11:12,782.782 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:11:13,045.045 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:11:13,050.050 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:11:13,266.266 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:11:13,315.315 INFO    ] time= 20/10/2026 04:11:13
[2026-10-20 04:11:13,321.321 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:11:13,339.339 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:11:13,469.469 INFO    ] No existing commands found in stream
[2026-10-20 04:11:18,485.485 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:11:18,487.487 INFO    ] Waiting 2.57 seconds before fallback handling...
[2026-10-20 04:11:21,607.607 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:11:21,610.610 INFO    ] Checking for system updates...
[2026-10-20 04:11:21,645.645 INFO    ] 200
[2026-10-20 04:11:21,648.648 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:11:21,713.713 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:11:21,715.715 INFO    ] No update needed
[2026-10-20 04:11:21,717.717 INFO    ] Checking for camera pi updates...
[2026-10-20 04:11:21,751.751 INFO    ] 200
[2026-10-20 04:11:21,753.753 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:11:21,798.798 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:11:21,854.854 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:11:21,856.856 INFO    ] No camera update needed
[2026-10-20 04:11:21,859.859 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:11:21,861.861 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:11:21,866.866 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:11:21,871.871 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:11:23,911.911 INFO    ] ================================================
[2026-10-20 04:11:23,927.927 INFO    ] Launching Daemon at Tue Oct 20 04:11:23 IST 2026
[2026-10-20 04:11:23,938.938 INFO    ] ================================================
[2026-10-20 04:11:24,526.526 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:11:24
[2026-10-20 04:11:25,110.110 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:11:25,382.382 INFO    ] Initializing speech engine...
[2026-10-20 04:11:25,388.388 INFO    ] 2026-10-20 04:11:25
[2026-10-20 04:11:25,632.632 INFO    ] 2026-10-20 04:11:25
[2026-10-20 04:11:25,675.675 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:11:25,917.917 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:11:25,927.927 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:11:26,096.096 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:11:26,146.146 INFO    ] time= 20/10/2026 04:11:26
[2026-10-20 04:11:26,185.185 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:11:26,190.190 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:11:26,333.333 INFO    ] No existing commands found in stream
[2026-10-20 04:11:31,348.348 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:11:31,351.351 INFO    ] Waiting 1.77 seconds before fallback handling...
[2026-10-20 04:11:35,248.248 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:11:35,251.251 INFO    ] Checking for system updates...
[2026-10-20 04:11:35,287.287 INFO    ] 200
[2026-10-20 04:11:35,289.289 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:11:35,347.347 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:11:35,350.350 INFO    ] No update needed
[2026-10-20 04:11:35,352.352 INFO    ] Checking for camera pi updates...
[2026-10-20 04:11:35,386.386 INFO    ] 200
[2026-10-20 04:11:35,388.388 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:11:35,429.429 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:11:35,475.475 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:11:35,478.478 INFO    ] No camera update needed
[2026-10-20 04:11:35,480.480 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:11:35,483.483 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:11:35,488.488 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:11:35,493.493 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:11:37,533.533 INFO    ] ================================================
[2026-10-20 04:11:37,549.549 INFO    ] Launching Daemon at Tue Oct 20 04:11:37 IST 2026
[2026-10-20 04:11:37,559.559 INFO    ] ================================================
[2026-10-20 04:11:38,131.131 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:11:38
[2026-10-20 04:11:38,719.719 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:11:38,991.991 INFO    ] Initializing speech engine...
[2026-10-20 04:11:39,000.000 INFO    ] 2026-10-20 04:11:38
[2026-10-20 04:11:39,249.249 INFO    ] 2026-10-20 04:11:39
[2026-10-20 04:11:39,284.284 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:11:39,541.541 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:11:39,550.550 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:11:39,687.687 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:11:39,752.752 INFO    ] time= 20/10/2026 04:11:39
[2026-10-20 04:11:39,817.817 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:11:39,824.824 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:11:39,974.974 INFO    ] No existing commands found in stream
[2026-10-20 04:11:44,997.997 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:11:45,000.000 INFO    ] Waiting 2.47 seconds before fallback handling...
[2026-10-20 04:11:49,189.189 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 04:11:49,192.192 INFO    ] Checking for system updates...
[2026-10-20 04:11:49,227.227 INFO    ] 200
[2026-10-20 04:11:49,230.230 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:11:49,281.281 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:11:49,284.284 INFO    ] No update needed
[2026-10-20 04:11:49,286.286 INFO    ] Checking for camera pi updates...
[2026-10-20 04:11:49,323.323 INFO    ] 200
[2026-10-20 04:11:49,325.325 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:11:49,377.377 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:11:49,432.432 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:11:49,435.435 INFO    ] No camera update needed
[2026-10-20 04:11:49,437.437 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:11:49,439.439 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:11:49,445.445 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:11:49,450.450 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:11:51,489.489 INFO    ] ================================================
[2026-10-20 04:11:51,505.505 INFO    ] Launching Daemon at Tue Oct 20 04:11:51 IST 2026
[2026-10-20 04:11:51,517.517 INFO    ] ================================================
[2026-10-20 04:11:52,084.084 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:11:52
[2026-10-20 04:11:52,668.668 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:11:52,937.937 INFO    ] Initializing speech engine...
[2026-10-20 04:11:52,946.946 INFO    ] 2026-10-20 04:11:52
[2026-10-20 04:11:53,197.197 INFO    ] 2026-10-20 04:11:53
[2026-10-20 04:11:53,232.232 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:11:53,494.494 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:11:53,501.501 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:11:53,712.712 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:11:53,762.762 INFO    ] time= 20/10/2026 04:11:53
[2026-10-20 04:11:53,768.768 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:11:53,786.786 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:11:53,909.909 INFO    ] No existing commands found in stream
[2026-10-20 04:11:58,930.930 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:11:58,933.933 INFO    ] Waiting 0.47 seconds before fallback handling...
[2026-10-20 04:11:59,986.986 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:11:59,989.989 INFO    ] Checking for system updates...
[2026-10-20 04:12:00,027.027 INFO    ] 200
[2026-10-20 04:12:00,030.030 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:12:00,082.082 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:12:00,085.085 INFO    ] No update needed
[2026-10-20 04:12:00,087.087 INFO    ] Checking for camera pi updates...
[2026-10-20 04:12:00,123.123 INFO    ] 200
[2026-10-20 04:12:00,126.126 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:12:00,166.166 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:12:00,222.222 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:12:00,224.224 INFO    ] No camera update needed
[2026-10-20 04:12:00,226.226 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:12:00,229.229 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:12:00,234.234 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:12:00,239.239 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:12:02,283.283 INFO    ] ================================================
[2026-10-20 04:12:02,300.300 INFO    ] Launching Daemon at Tue Oct 20 04:12:02 IST 2026
[2026-10-20 04:12:02,316.316 INFO    ] ================================================
[2026-10-20 04:12:02,929.929 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:12:02
[2026-10-20 04:12:03,612.612 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:12:03,925.925 INFO    ] Initializing speech engine...
[2026-10-20 04:12:03,935.935 INFO    ] 2026-10-20 04:12:03
[2026-10-20 04:12:04,185.185 INFO    ] 2026-10-20 04:12:04
[2026-10-20 04:12:04,220.220 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:12:04,478.478 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:12:04,488.488 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:12:04,656.656 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:12:04,706.706 INFO    ] time= 20/10/2026 04:12:04
[2026-10-20 04:12:04,757.757 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:12:04,763.763 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:12:04,891.891 INFO    ] No existing commands found in stream
[2026-10-20 04:12:09,920.920 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:12:09,922.922 INFO    ] Waiting 1.58 seconds before fallback handling...
[2026-10-20 04:12:12,012.012 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:12:12,014.014 INFO    ] Checking for system updates...
[2026-10-20 04:12:12,050.050 INFO    ] 200
[2026-10-20 04:12:12,053.053 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:12:12,106.106 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:12:12,109.109 INFO    ] No update needed
[2026-10-20 04:12:12,112.112 INFO    ] Checking for camera pi updates...
[2026-10-20 04:12:12,146.146 INFO    ] 200
[2026-10-20 04:12:12,149.149 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:12:12,190.190 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:12:12,239.239 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:12:12,242.242 INFO    ] No camera update needed
[2026-10-20 04:12:12,245.245 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:12:12,247.247 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:12:12,254.254 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:12:12,260.260 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:12:14,301.301 INFO    ] ================================================
[2026-10-20 04:12:14,316.316 INFO    ] Launching Daemon at Tue Oct 20 04:12:14 IST 2026
[2026-10-20 04:12:14,327.327 INFO    ] ================================================
[2026-10-20 04:12:14,974.974 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:12:14
[2026-10-20 04:12:15,640.640 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:12:15,948.948 INFO    ] Initializing speech engine...
[2026-10-20 04:12:15,962.962 INFO    ] 2026-10-20 04:12:15
[2026-10-20 04:12:16,246.246 INFO    ] 2026-10-20 04:12:16
[2026-10-20 04:12:16,357.357 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:12:16,633.633 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:12:16,686.686 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:12:16,937.937 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:12:16,997.997 INFO    ] time= 20/10/2026 04:12:16
[2026-10-20 04:12:17,063.063 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:12:17,123.123 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:12:17,310.310 INFO    ] No existing commands found in stream
[2026-10-20 04:12:22,345.345 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:12:22,349.349 INFO    ] Waiting 1.12 seconds before fallback handling...
[2026-10-20 04:12:24,068.068 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:12:24,071.071 INFO    ] Checking for system updates...
[2026-10-20 04:12:24,108.108 INFO    ] 200
[2026-10-20 04:12:24,111.111 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:12:24,169.169 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:12:24,171.171 INFO    ] No update needed
[2026-10-20 04:12:24,173.173 INFO    ] Checking for camera pi updates...
[2026-10-20 04:12:24,211.211 INFO    ] 200
[2026-10-20 04:12:24,213.213 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:12:24,254.254 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:12:24,305.305 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:12:24,307.307 INFO    ] No camera update needed
[2026-10-20 04:12:24,310.310 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:12:24,313.313 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:12:24,319.319 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:12:24,325.325 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:12:26,365.365 INFO    ] ================================================
[2026-10-20 04:12:26,380.380 INFO    ] Launching Daemon at Tue Oct 20 04:12:26 IST 2026
[2026-10-20 04:12:26,391.391 INFO    ] ================================================
[2026-10-20 04:12:27,039.039 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:12:27
[2026-10-20 04:12:27,678.678 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:12:27,952.952 INFO    ] Initializing speech engine...
[2026-10-20 04:12:27,959.959 INFO    ] 2026-10-20 04:12:27
[2026-10-20 04:12:28,211.211 INFO    ] 2026-10-20 04:12:28
[2026-10-20 04:12:28,267.267 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:12:28,514.514 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:12:28,521.521 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:12:28,741.741 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:12:28,756.756 INFO    ] time= 20/10/2026 04:12:28
[2026-10-20 04:12:28,774.774 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:12:28,802.802 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:12:28,962.962 INFO    ] No existing commands found in stream
[2026-10-20 04:12:33,992.992 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:12:33,995.995 INFO    ] Waiting 0.95 seconds before fallback handling...
[2026-10-20 04:12:35,497.497 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:12:35,500.500 INFO    ] Checking for system updates...
[2026-10-20 04:12:35,535.535 INFO    ] 200
[2026-10-20 04:12:35,537.537 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:12:35,594.594 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:12:35,597.597 INFO    ] No update needed
[2026-10-20 04:12:35,600.600 INFO    ] Checking for camera pi updates...
[2026-10-20 04:12:35,633.633 INFO    ] 200
[2026-10-20 04:12:35,635.635 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:12:35,679.679 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:12:35,709.709 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:12:35,711.711 INFO    ] No camera update needed
[2026-10-20 04:12:35,714.714 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:12:35,716.716 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:12:35,721.721 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:12:35,726.726 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:12:37,769.769 INFO    ] ================================================
[2026-10-20 04:12:37,784.784 INFO    ] Launching Daemon at Tue Oct 20 04:12:37 IST 2026
[2026-10-20 04:12:37,794.794 INFO    ] ================================================
[2026-10-20 04:12:38,377.377 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:12:38
[2026-10-20 04:12:38,975.975 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:12:39,237.237 INFO    ] Initializing speech engine...
[2026-10-20 04:12:39,256.256 INFO    ] 2026-10-20 04:12:39
[2026-10-20 04:12:39,506.506 INFO    ] 2026-10-20 04:12:39
[2026-10-20 04:12:39,541.541 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:12:39,796.796 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:12:39,802.802 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:12:40,040.040 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:12:40,062.062 INFO    ] time= 20/10/2026 04:12:40
[2026-10-20 04:12:40,076.076 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:12:40,085.085 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:12:40,209.209 INFO    ] No existing commands found in stream
[2026-10-20 04:12:45,224.224 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:12:45,227.227 INFO    ] Waiting 0.75 seconds before fallback handling...
[2026-10-20 04:12:46,527.527 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:12:46,530.530 INFO    ] Checking for system updates...
[2026-10-20 04:12:46,566.566 INFO    ] 200
[2026-10-20 04:12:46,569.569 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:12:46,621.621 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:12:46,623.623 INFO    ] No update needed
[2026-10-20 04:12:46,626.626 INFO    ] Checking for camera pi updates...
[2026-10-20 04:12:46,660.660 INFO    ] 200
[2026-10-20 04:12:46,663.663 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:12:46,703.703 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:12:46,755.755 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:12:46,757.757 INFO    ] No camera update needed
[2026-10-20 04:12:46,760.760 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:12:46,762.762 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:12:46,768.768 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:12:46,773.773 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:12:48,814.814 INFO    ] ================================================
[2026-10-20 04:12:48,829.829 INFO    ] Launching Daemon at Tue Oct 20 04:12:48 IST 2026
[2026-10-20 04:12:48,839.839 INFO    ] ================================================
[2026-10-20 04:12:49,406.406 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:12:49
[2026-10-20 04:12:49,992.992 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:12:50,263.263 INFO    ] Initializing speech engine...
[2026-10-20 04:12:50,268.268 INFO    ] 2026-10-20 04:12:50
[2026-10-20 04:12:50,516.516 INFO    ] 2026-10-20 04:12:50
[2026-10-20 04:12:50,550.550 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:12:50,826.826 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:12:50,833.833 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:12:51,061.061 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:12:51,074.074 INFO    ] time= 20/10/2026 04:12:51
[2026-10-20 04:12:51,091.091 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:12:51,108.108 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:12:51,242.242 INFO    ] No existing commands found in stream
[2026-10-20 04:12:56,277.277 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:12:56,284.284 INFO    ] Waiting 0.90 seconds before fallback handling...
[2026-10-20 04:12:57,798.798 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 04:12:57,801.801 INFO    ] Checking for system updates...
[2026-10-20 04:12:57,837.837 INFO    ] 200
[2026-10-20 04:12:57,840.840 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:12:57,895.895 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:12:57,898.898 INFO    ] No update needed
[2026-10-20 04:12:57,901.901 INFO    ] Checking for camera pi updates...
[2026-10-20 04:12:57,944.944 INFO    ] 200
[2026-10-20 04:12:57,947.947 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:12:57,990.990 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:12:58,132.132 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:12:58,135.135 INFO    ] No camera update needed
[2026-10-20 04:12:58,137.137 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:12:58,140.140 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:12:58,145.145 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:12:58,150.150 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:13:00,191.191 INFO    ] ================================================
[2026-10-20 04:13:00,206.206 INFO    ] Launching Daemon at Tue Oct 20 04:13:00 IST 2026
[2026-10-20 04:13:00,216.216 INFO    ] ================================================
[2026-10-20 04:13:00,785.785 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:13:00
[2026-10-20 04:13:01,370.370 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:13:01,640.640 INFO    ] Initializing speech engine...
[2026-10-20 04:13:01,650.650 INFO    ] 2026-10-20 04:13:01
[2026-10-20 04:13:01,916.916 INFO    ] 2026-10-20 04:13:01
[2026-10-20 04:13:02,011.011 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:13:02,275.275 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:13:02,278.278 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:13:02,485.485 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:13:02,503.503 INFO    ] time= 20/10/2026 04:13:02
[2026-10-20 04:13:02,559.559 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:13:02,625.625 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:13:02,781.781 INFO    ] No existing commands found in stream
[2026-10-20 04:13:07,806.806 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:13:07,809.809 INFO    ] Waiting 2.03 seconds before fallback handling...
[2026-10-20 04:13:10,410.410 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:13:10,412.412 INFO    ] Checking for system updates...
[2026-10-20 04:13:10,448.448 INFO    ] 200
[2026-10-20 04:13:10,451.451 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:13:10,503.503 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:13:10,506.506 INFO    ] No update needed
[2026-10-20 04:13:10,508.508 INFO    ] Checking for camera pi updates...
[2026-10-20 04:13:10,546.546 INFO    ] 200
[2026-10-20 04:13:10,548.548 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:13:10,594.594 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:13:10,650.650 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:13:10,652.652 INFO    ] No camera update needed
[2026-10-20 04:13:10,654.654 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:13:10,657.657 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:13:10,662.662 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:13:10,667.667 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:13:12,706.706 INFO    ] ================================================
[2026-10-20 04:13:12,721.721 INFO    ] Launching Daemon at Tue Oct 20 04:13:12 IST 2026
[2026-10-20 04:13:12,732.732 INFO    ] ================================================
[2026-10-20 04:13:13,298.298 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:13:13
[2026-10-20 04:13:13,885.885 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:13:14,154.154 INFO    ] Initializing speech engine...
[2026-10-20 04:13:14,163.163 INFO    ] 2026-10-20 04:13:14
[2026-10-20 04:13:14,412.412 INFO    ] 2026-10-20 04:13:14
[2026-10-20 04:13:14,446.446 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:13:14,648.648 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:13:14,706.706 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:13:14,856.856 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:13:14,910.910 INFO    ] time= 20/10/2026 04:13:14
[2026-10-20 04:13:14,969.969 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:13:14,984.984 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:13:15,129.129 INFO    ] No existing commands found in stream
[2026-10-20 04:13:20,145.145 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:13:20,148.148 INFO    ] Waiting 1.44 seconds before fallback handling...
[2026-10-20 04:13:22,123.123 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:13:22,126.126 INFO    ] Checking for system updates...
[2026-10-20 04:13:22,161.161 INFO    ] 200
[2026-10-20 04:13:22,163.163 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:13:22,220.220 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:13:22,223.223 INFO    ] No update needed
[2026-10-20 04:13:22,225.225 INFO    ] Checking for camera pi updates...
[2026-10-20 04:13:22,258.258 INFO    ] 200
[2026-10-20 04:13:22,260.260 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:13:22,300.300 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:13:22,351.351 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:13:22,354.354 INFO    ] No camera update needed
[2026-10-20 04:13:22,356.356 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:13:22,358.358 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:13:22,363.363 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:13:22,368.368 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:13:24,410.410 INFO    ] ================================================
[2026-10-20 04:13:24,425.425 INFO    ] Launching Daemon at Tue Oct 20 04:13:24 IST 2026
[2026-10-20 04:13:24,435.435 INFO    ] ================================================
[2026-10-20 04:13:25,020.020 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:13:25
[2026-10-20 04:13:25,621.621 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:13:25,896.896 INFO    ] Initializing speech engine...
[2026-10-20 04:13:25,903.903 INFO    ] 2026-10-20 04:13:25
[2026-10-20 04:13:26,166.166 INFO    ] 2026-10-20 04:13:26
[2026-10-20 04:13:26,204.204 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:13:26,475.475 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:13:26,484.484 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:13:26,699.699 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:13:26,742.742 INFO    ] time= 20/10/2026 04:13:26
[2026-10-20 04:13:26,749.749 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:13:26,766.766 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:13:26,892.892 INFO    ] No existing commands found in stream
[2026-10-20 04:13:31,909.909 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:13:31,911.911 INFO    ] Waiting 3.21 seconds before fallback handling...
[2026-10-20 04:13:35,647.647 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:13:35,649.649 INFO    ] Checking for system updates...
[2026-10-20 04:13:35,688.688 INFO    ] 200
[2026-10-20 04:13:35,691.691 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:13:35,749.749 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:13:35,751.751 INFO    ] No update needed
[2026-10-20 04:13:35,754.754 INFO    ] Checking for camera pi updates...
[2026-10-20 04:13:35,790.790 INFO    ] 200
[2026-10-20 04:13:35,793.793 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:13:35,832.832 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:13:35,880.880 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:13:35,883.883 INFO    ] No camera update needed
[2026-10-20 04:13:35,885.885 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:13:35,887.887 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:13:35,893.893 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:13:35,898.898 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:13:37,939.939 INFO    ] ================================================
[2026-10-20 04:13:37,954.954 INFO    ] Launching Daemon at Tue Oct 20 04:13:37 IST 2026
[2026-10-20 04:13:37,964.964 INFO    ] ================================================
[2026-10-20 04:13:38,546.546 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:13:38
[2026-10-20 04:13:39,145.145 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:13:39,408.408 INFO    ] Initializing speech engine...
[2026-10-20 04:13:39,433.433 INFO    ] 2026-10-20 04:13:39
[2026-10-20 04:13:39,713.713 INFO    ] 2026-10-20 04:13:39
[2026-10-20 04:13:39,751.751 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:13:40,033.033 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:13:40,052.052 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:13:40,284.284 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:13:40,316.316 INFO    ] time= 20/10/2026 04:13:40
[2026-10-20 04:13:40,331.331 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:13:40,337.337 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:13:40,467.467 INFO    ] No existing commands found in stream
[2026-10-20 04:13:45,480.480 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:13:45,483.483 INFO    ] Waiting 0.91 seconds before fallback handling...
[2026-10-20 04:13:46,928.928 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:13:46,931.931 INFO    ] Checking for system updates...
[2026-10-20 04:13:46,966.966 INFO    ] 200
[2026-10-20 04:13:46,969.969 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:13:47,020.020 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:13:47,023.023 INFO    ] No update needed
[2026-10-20 04:13:47,025.025 INFO    ] Checking for camera pi updates...
[2026-10-20 04:13:47,062.062 INFO    ] 200
[2026-10-20 04:13:47,064.064 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:13:47,108.108 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:13:47,156.156 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:13:47,159.159 INFO    ] No camera update needed
[2026-10-20 04:13:47,161.161 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:13:47,164.164 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:13:47,169.169 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:13:47,174.174 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:13:49,214.214 INFO    ] ================================================
[2026-10-20 04:13:49,229.229 INFO    ] Launching Daemon at Tue Oct 20 04:13:49 IST 2026
[2026-10-20 04:13:49,240.240 INFO    ] ================================================
[2026-10-20 04:13:49,881.881 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:13:49
[2026-10-20 04:13:50,540.540 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:13:50,839.839 INFO    ] Initializing speech engine...
[2026-10-20 04:13:50,847.847 INFO    ] 2026-10-20 04:13:50
[2026-10-20 04:13:51,129.129 INFO    ] 2026-10-20 04:13:51
[2026-10-20 04:13:51,175.175 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:13:51,463.463 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:13:51,470.470 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:13:51,667.667 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:13:51,689.689 INFO    ] time= 20/10/2026 04:13:51
[2026-10-20 04:13:51,715.715 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:13:51,725.725 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:13:51,861.861 INFO    ] No existing commands found in stream
[2026-10-20 04:13:56,881.881 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:13:56,885.885 INFO    ] Waiting 1.38 seconds before fallback handling...
[2026-10-20 04:13:58,825.825 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:13:58,828.828 INFO    ] Checking for system updates...
[2026-10-20 04:13:58,868.868 INFO    ] 200
[2026-10-20 04:13:58,871.871 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:13:58,924.924 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:13:58,927.927 INFO    ] No update needed
[2026-10-20 04:13:58,930.930 INFO    ] Checking for camera pi updates...
[2026-10-20 04:13:58,967.967 INFO    ] 200
[2026-10-20 04:13:58,970.970 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:13:59,015.015 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:13:59,061.061 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:13:59,063.063 INFO    ] No camera update needed
[2026-10-20 04:13:59,066.066 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:13:59,068.068 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:13:59,073.073 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:13:59,078.078 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:14:01,118.118 INFO    ] ================================================
[2026-10-20 04:14:01,133.133 INFO    ] Launching Daemon at Tue Oct 20 04:14:01 IST 2026
[2026-10-20 04:14:01,144.144 INFO    ] ================================================
[2026-10-20 04:14:01,720.720 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:14:01
[2026-10-20 04:14:02,433.433 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:14:02,749.749 INFO    ] Initializing speech engine...
[2026-10-20 04:14:02,757.757 INFO    ] 2026-10-20 04:14:02
[2026-10-20 04:14:03,113.113 INFO    ] 2026-10-20 04:14:03
[2026-10-20 04:14:03,151.151 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:14:03,413.413 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:14:03,439.439 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:14:03,663.663 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:14:03,688.688 INFO    ] time= 20/10/2026 04:14:03
[2026-10-20 04:14:03,722.722 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:14:03,779.779 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:14:03,903.903 INFO    ] No existing commands found in stream
[2026-10-20 04:14:08,917.917 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:14:08,920.920 INFO    ] Waiting 1.37 seconds before fallback handling...
[2026-10-20 04:14:10,866.866 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:14:10,869.869 INFO    ] Checking for system updates...
[2026-10-20 04:14:10,907.907 INFO    ] 200
[2026-10-20 04:14:10,910.910 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:14:10,967.967 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:14:10,970.970 INFO    ] No update needed
[2026-10-20 04:14:10,972.972 INFO    ] Checking for camera pi updates...
[2026-10-20 04:14:11,005.005 INFO    ] 200
[2026-10-20 04:14:11,007.007 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:14:11,048.048 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:14:11,093.093 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:14:11,095.095 INFO    ] No camera update needed
[2026-10-20 04:14:11,097.097 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:14:11,100.100 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:14:11,105.105 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:14:11,110.110 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:14:13,150.150 INFO    ] ================================================
[2026-10-20 04:14:13,165.165 INFO    ] Launching Daemon at Tue Oct 20 04:14:13 IST 2026
[2026-10-20 04:14:13,175.175 INFO    ] ================================================
[2026-10-20 04:14:13,771.771 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:14:13
[2026-10-20 04:14:14,353.353 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:14:14,601.601 INFO    ] Initializing speech engine...
[2026-10-20 04:14:14,609.609 INFO    ] 2026-10-20 04:14:14
[2026-10-20 04:14:14,884.884 INFO    ] 2026-10-20 04:14:14
[2026-10-20 04:14:14,921.921 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:14:15,181.181 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:14:15,187.187 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:14:15,382.382 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:14:15,437.437 INFO    ] time= 20/10/2026 04:14:15
[2026-10-20 04:14:15,450.450 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:14:15,467.467 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:14:15,599.599 INFO    ] No existing commands found in stream
[2026-10-20 04:14:20,614.614 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:14:20,616.616 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-10-20 04:14:22,934.934 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 04:14:22,937.937 INFO    ] Checking for system updates...
[2026-10-20 04:14:22,973.973 INFO    ] 200
[2026-10-20 04:14:22,975.975 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:14:23,033.033 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:14:23,035.035 INFO    ] No update needed
[2026-10-20 04:14:23,037.037 INFO    ] Checking for camera pi updates...
[2026-10-20 04:14:23,074.074 INFO    ] 200
[2026-10-20 04:14:23,077.077 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:14:23,116.116 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:14:23,163.163 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:14:23,165.165 INFO    ] No camera update needed
[2026-10-20 04:14:23,168.168 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:14:23,170.170 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:14:23,175.175 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:14:23,181.181 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:14:25,220.220 INFO    ] ================================================
[2026-10-20 04:14:25,235.235 INFO    ] Launching Daemon at Tue Oct 20 04:14:25 IST 2026
[2026-10-20 04:14:25,245.245 INFO    ] ================================================
[2026-10-20 04:14:25,846.846 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:14:25
[2026-10-20 04:14:26,455.455 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:14:26,737.737 INFO    ] Initializing speech engine...
[2026-10-20 04:14:26,745.745 INFO    ] 2026-10-20 04:14:26
[2026-10-20 04:14:27,018.018 INFO    ] 2026-10-20 04:14:27
[2026-10-20 04:14:27,060.060 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:14:27,280.280 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:14:27,289.289 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:14:27,439.439 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:14:27,510.510 INFO    ] time= 20/10/2026 04:14:27
[2026-10-20 04:14:27,551.551 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:14:27,557.557 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:14:27,698.698 INFO    ] No existing commands found in stream
[2026-10-20 04:14:32,711.711 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:14:32,714.714 INFO    ] Waiting 3.89 seconds before fallback handling...
[2026-10-20 04:14:37,144.144 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:14:37,147.147 INFO    ] Checking for system updates...
[2026-10-20 04:14:37,182.182 INFO    ] 200
[2026-10-20 04:14:37,185.185 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:14:37,238.238 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:14:37,241.241 INFO    ] No update needed
[2026-10-20 04:14:37,247.247 INFO    ] Checking for camera pi updates...
[2026-10-20 04:14:37,285.285 INFO    ] 200
[2026-10-20 04:14:37,287.287 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:14:37,327.327 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:14:37,374.374 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:14:37,376.376 INFO    ] No camera update needed
[2026-10-20 04:14:37,379.379 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:14:37,381.381 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:14:37,387.387 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:14:37,392.392 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:14:39,433.433 INFO    ] ================================================
[2026-10-20 04:14:39,449.449 INFO    ] Launching Daemon at Tue Oct 20 04:14:39 IST 2026
[2026-10-20 04:14:39,459.459 INFO    ] ================================================
[2026-10-20 04:14:40,047.047 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:14:40
[2026-10-20 04:14:40,653.653 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:14:40,931.931 INFO    ] Initializing speech engine...
[2026-10-20 04:14:40,938.938 INFO    ] 2026-10-20 04:14:40
[2026-10-20 04:14:41,200.200 INFO    ] 2026-10-20 04:14:41
[2026-10-20 04:14:41,230.230 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:14:41,518.518 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:14:41,525.525 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:14:41,749.749 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:14:41,795.795 INFO    ] time= 20/10/2026 04:14:41
[2026-10-20 04:14:41,802.802 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:14:41,820.820 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:14:41,956.956 INFO    ] No existing commands found in stream
[2026-10-20 04:14:46,969.969 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:14:46,972.972 INFO    ] Waiting 1.90 seconds before fallback handling...
[2026-10-20 04:14:49,359.359 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 04:14:49,361.361 INFO    ] Checking for system updates...
[2026-10-20 04:14:49,401.401 INFO    ] 200
[2026-10-20 04:14:49,404.404 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:14:49,463.463 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:14:49,465.465 INFO    ] No update needed
[2026-10-20 04:14:49,468.468 INFO    ] Checking for camera pi updates...
[2026-10-20 04:14:49,505.505 INFO    ] 200
[2026-10-20 04:14:49,507.507 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:14:49,547.547 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:14:49,602.602 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:14:49,605.605 INFO    ] No camera update needed
[2026-10-20 04:14:49,607.607 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:14:49,609.609 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:14:49,615.615 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:14:49,620.620 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:14:51,661.661 INFO    ] ================================================
[2026-10-20 04:14:51,675.675 INFO    ] Launching Daemon at Tue Oct 20 04:14:51 IST 2026
[2026-10-20 04:14:51,686.686 INFO    ] ================================================
[2026-10-20 04:14:52,250.250 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:14:52
[2026-10-20 04:14:52,833.833 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:14:53,099.099 INFO    ] Initializing speech engine...
[2026-10-20 04:14:53,109.109 INFO    ] 2026-10-20 04:14:53
[2026-10-20 04:14:53,354.354 INFO    ] 2026-10-20 04:14:53
[2026-10-20 04:14:53,395.395 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:14:53,638.638 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:14:53,647.647 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:14:53,783.783 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:14:53,847.847 INFO    ] time= 20/10/2026 04:14:53
[2026-10-20 04:14:53,909.909 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:14:53,915.915 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:14:54,050.050 INFO    ] No existing commands found in stream
[2026-10-20 04:14:59,070.070 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:14:59,073.073 INFO    ] Waiting 1.23 seconds before fallback handling...
[2026-10-20 04:15:00,844.844 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:15:00,847.847 INFO    ] Checking for system updates...
[2026-10-20 04:15:00,883.883 INFO    ] 200
[2026-10-20 04:15:00,886.886 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:15:00,939.939 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:15:00,941.941 INFO    ] No update needed
[2026-10-20 04:15:00,944.944 INFO    ] Checking for camera pi updates...
[2026-10-20 04:15:00,982.982 INFO    ] 200
[2026-10-20 04:15:00,984.984 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:15:01,029.029 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:15:01,174.174 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:15:01,178.178 INFO    ] No camera update needed
[2026-10-20 04:15:01,184.184 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:15:01,188.188 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:15:01,203.203 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:15:01,221.221 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:15:03,281.281 INFO    ] ================================================
[2026-10-20 04:15:03,303.303 INFO    ] Launching Daemon at Tue Oct 20 04:15:03 IST 2026
[2026-10-20 04:15:03,314.314 INFO    ] ================================================
[2026-10-20 04:15:03,988.988 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:15:03
[2026-10-20 04:15:04,650.650 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:15:04,950.950 INFO    ] Initializing speech engine...
[2026-10-20 04:15:04,958.958 INFO    ] 2026-10-20 04:15:04
[2026-10-20 04:15:05,225.225 INFO    ] 2026-10-20 04:15:05
[2026-10-20 04:15:05,260.260 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:15:05,575.575 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:15:05,581.581 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:15:05,781.781 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:15:05,797.797 INFO    ] time= 20/10/2026 04:15:05
[2026-10-20 04:15:05,807.807 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:15:05,836.836 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:15:05,977.977 INFO    ] No existing commands found in stream
[2026-10-20 04:15:11,007.007 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:15:11,011.011 INFO    ] Waiting 0.74 seconds before fallback handling...
[2026-10-20 04:15:12,326.326 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:15:12,329.329 INFO    ] Checking for system updates...
[2026-10-20 04:15:12,364.364 INFO    ] 200
[2026-10-20 04:15:12,367.367 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:15:12,420.420 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:15:12,423.423 INFO    ] No update needed
[2026-10-20 04:15:12,426.426 INFO    ] Checking for camera pi updates...
[2026-10-20 04:15:12,462.462 INFO    ] 200
[2026-10-20 04:15:12,465.465 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:15:12,509.509 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:15:12,555.555 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:15:12,557.557 INFO    ] No camera update needed
[2026-10-20 04:15:12,560.560 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:15:12,562.562 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:15:12,568.568 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:15:12,573.573 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:15:14,613.613 INFO    ] ================================================
[2026-10-20 04:15:14,628.628 INFO    ] Launching Daemon at Tue Oct 20 04:15:14 IST 2026
[2026-10-20 04:15:14,638.638 INFO    ] ================================================
[2026-10-20 04:15:15,208.208 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:15:15
[2026-10-20 04:15:15,793.793 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:15:16,065.065 INFO    ] Initializing speech engine...
[2026-10-20 04:15:16,074.074 INFO    ] 2026-10-20 04:15:16
[2026-10-20 04:15:16,323.323 INFO    ] 2026-10-20 04:15:16
[2026-10-20 04:15:16,358.358 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:15:16,555.555 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:15:16,562.562 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:15:16,760.760 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:15:16,802.802 INFO    ] time= 20/10/2026 04:15:16
[2026-10-20 04:15:16,846.846 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:15:16,895.895 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:15:17,032.032 INFO    ] No existing commands found in stream
[2026-10-20 04:15:22,054.054 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:15:22,057.057 INFO    ] Waiting 1.71 seconds before fallback handling...
[2026-10-20 04:15:24,243.243 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:15:24,245.245 INFO    ] Checking for system updates...
[2026-10-20 04:15:24,280.280 INFO    ] 200
[2026-10-20 04:15:24,283.283 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:15:24,336.336 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:15:24,338.338 INFO    ] No update needed
[2026-10-20 04:15:24,341.341 INFO    ] Checking for camera pi updates...
[2026-10-20 04:15:24,377.377 INFO    ] 200
[2026-10-20 04:15:24,380.380 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:15:24,420.420 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:15:24,466.466 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:15:24,469.469 INFO    ] No camera update needed
[2026-10-20 04:15:24,471.471 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:15:24,474.474 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:15:24,480.480 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:15:24,486.486 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:15:26,528.528 INFO    ] ================================================
[2026-10-20 04:15:26,542.542 INFO    ] Launching Daemon at Tue Oct 20 04:15:26 IST 2026
[2026-10-20 04:15:26,553.553 INFO    ] ================================================
[2026-10-20 04:15:27,163.163 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:15:27
[2026-10-20 04:15:27,750.750 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:15:28,006.006 INFO    ] Initializing speech engine...
[2026-10-20 04:15:28,018.018 INFO    ] 2026-10-20 04:15:28
[2026-10-20 04:15:28,284.284 INFO    ] 2026-10-20 04:15:28
[2026-10-20 04:15:28,326.326 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:15:28,577.577 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:15:28,586.586 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:15:28,723.723 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:15:28,783.783 INFO    ] time= 20/10/2026 04:15:28
[2026-10-20 04:15:28,837.837 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:15:28,856.856 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:15:29,007.007 INFO    ] No existing commands found in stream
[2026-10-20 04:15:34,021.021 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:15:34,023.023 INFO    ] Waiting 0.42 seconds before fallback handling...
[2026-10-20 04:15:34,910.910 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:15:34,912.912 INFO    ] Checking for system updates...
[2026-10-20 04:15:34,948.948 INFO    ] 200
[2026-10-20 04:15:34,950.950 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:15:35,006.006 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:15:35,009.009 INFO    ] No update needed
[2026-10-20 04:15:35,011.011 INFO    ] Checking for camera pi updates...
[2026-10-20 04:15:35,045.045 INFO    ] 200
[2026-10-20 04:15:35,047.047 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:15:35,089.089 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:15:35,142.142 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:15:35,145.145 INFO    ] No camera update needed
[2026-10-20 04:15:35,147.147 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:15:35,150.150 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:15:35,156.156 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:15:35,162.162 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:15:37,204.204 INFO    ] ================================================
[2026-10-20 04:15:37,221.221 INFO    ] Launching Daemon at Tue Oct 20 04:15:37 IST 2026
[2026-10-20 04:15:37,232.232 INFO    ] ================================================
[2026-10-20 04:15:37,813.813 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:15:37
[2026-10-20 04:15:38,412.412 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:15:38,691.691 INFO    ] Initializing speech engine...
[2026-10-20 04:15:38,697.697 INFO    ] 2026-10-20 04:15:38
[2026-10-20 04:15:38,957.957 INFO    ] 2026-10-20 04:15:38
[2026-10-20 04:15:38,987.987 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:15:39,238.238 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:15:39,243.243 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:15:39,480.480 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:15:39,500.500 INFO    ] time= 20/10/2026 04:15:39
[2026-10-20 04:15:39,516.516 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:15:39,525.525 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:15:39,639.639 INFO    ] No existing commands found in stream
[2026-10-20 04:15:44,663.663 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:15:44,666.666 INFO    ] Waiting 2.83 seconds before fallback handling...
[2026-10-20 04:15:48,186.186 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:15:48,188.188 INFO    ] Checking for system updates...
[2026-10-20 04:15:48,227.227 INFO    ] 200
[2026-10-20 04:15:48,230.230 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:15:48,282.282 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:15:48,284.284 INFO    ] No update needed
[2026-10-20 04:15:48,286.286 INFO    ] Checking for camera pi updates...
[2026-10-20 04:15:48,320.320 INFO    ] 200
[2026-10-20 04:15:48,322.322 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:15:48,364.364 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:15:48,413.413 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:15:48,416.416 INFO    ] No camera update needed
[2026-10-20 04:15:48,418.418 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:15:48,421.421 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:15:48,426.426 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:15:48,431.431 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:15:50,472.472 INFO    ] ================================================
[2026-10-20 04:15:50,487.487 INFO    ] Launching Daemon at Tue Oct 20 04:15:50 IST 2026
[2026-10-20 04:15:50,498.498 INFO    ] ================================================
[2026-10-20 04:15:51,145.145 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:15:51
[2026-10-20 04:15:51,812.812 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:15:52,095.095 INFO    ] Initializing speech engine...
[2026-10-20 04:15:52,102.102 INFO    ] 2026-10-20 04:15:52
[2026-10-20 04:15:52,362.362 INFO    ] 2026-10-20 04:15:52
[2026-10-20 04:15:52,413.413 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:15:52,638.638 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:15:52,647.647 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:15:52,843.843 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:15:52,898.898 INFO    ] time= 20/10/2026 04:15:52
[2026-10-20 04:15:52,911.911 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:15:52,928.928 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:15:53,072.072 INFO    ] No existing commands found in stream
[2026-10-20 04:15:58,098.098 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:15:58,101.101 INFO    ] Waiting 0.64 seconds before fallback handling...
[2026-10-20 04:15:59,259.259 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:15:59,262.262 INFO    ] Checking for system updates...
[2026-10-20 04:15:59,298.298 INFO    ] 200
[2026-10-20 04:15:59,300.300 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:15:59,359.359 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:15:59,361.361 INFO    ] No update needed
[2026-10-20 04:15:59,364.364 INFO    ] Checking for camera pi updates...
[2026-10-20 04:15:59,397.397 INFO    ] 200
[2026-10-20 04:15:59,400.400 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:15:59,440.440 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:15:59,496.496 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:15:59,499.499 INFO    ] No camera update needed
[2026-10-20 04:15:59,501.501 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:15:59,504.504 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:15:59,509.509 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:15:59,514.514 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:16:01,555.555 INFO    ] ================================================
[2026-10-20 04:16:01,570.570 INFO    ] Launching Daemon at Tue Oct 20 04:16:01 IST 2026
[2026-10-20 04:16:01,582.582 INFO    ] ================================================
[2026-10-20 04:16:02,374.374 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:16:02
[2026-10-20 04:16:03,040.040 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:16:03,362.362 INFO    ] Initializing speech engine...
[2026-10-20 04:16:03,372.372 INFO    ] 2026-10-20 04:16:03
[2026-10-20 04:16:03,654.654 INFO    ] 2026-10-20 04:16:03
[2026-10-20 04:16:03,694.694 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:16:03,965.965 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:16:03,972.972 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:16:04,185.185 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:16:04,231.231 INFO    ] time= 20/10/2026 04:16:04
[2026-10-20 04:16:04,249.249 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:16:04,260.260 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:16:04,409.409 INFO    ] No existing commands found in stream
[2026-10-20 04:16:09,440.440 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:16:09,443.443 INFO    ] Waiting 2.50 seconds before fallback handling...
[2026-10-20 04:16:13,028.028 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:16:13,031.031 INFO    ] Checking for system updates...
[2026-10-20 04:16:13,067.067 INFO    ] 200
[2026-10-20 04:16:13,070.070 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:16:13,122.122 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:16:13,124.124 INFO    ] No update needed
[2026-10-20 04:16:13,127.127 INFO    ] Checking for camera pi updates...
[2026-10-20 04:16:13,160.160 INFO    ] 200
[2026-10-20 04:16:13,162.162 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:16:13,207.207 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:16:13,260.260 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:16:13,263.263 INFO    ] No camera update needed
[2026-10-20 04:16:13,265.265 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:16:13,267.267 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:16:13,273.273 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:16:13,278.278 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:16:15,319.319 INFO    ] ================================================
[2026-10-20 04:16:15,335.335 INFO    ] Launching Daemon at Tue Oct 20 04:16:15 IST 2026
[2026-10-20 04:16:15,346.346 INFO    ] ================================================
[2026-10-20 04:16:15,925.925 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:16:15
[2026-10-20 04:16:16,522.522 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:16:16,795.795 INFO    ] Initializing speech engine...
[2026-10-20 04:16:16,805.805 INFO    ] 2026-10-20 04:16:16
[2026-10-20 04:16:17,070.070 INFO    ] 2026-10-20 04:16:17
[2026-10-20 04:16:17,123.123 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:16:17,372.372 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:16:17,378.378 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:16:17,606.606 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:16:17,627.627 INFO    ] time= 20/10/2026 04:16:17
[2026-10-20 04:16:17,640.640 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:16:17,662.662 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:16:17,776.776 INFO    ] No existing commands found in stream
[2026-10-20 04:16:22,800.800 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:16:22,803.803 INFO    ] Waiting 3.06 seconds before fallback handling...
[2026-10-20 04:16:26,399.399 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:16:26,401.401 INFO    ] Checking for system updates...
[2026-10-20 04:16:26,437.437 INFO    ] 200
[2026-10-20 04:16:26,439.439 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:16:26,491.491 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:16:26,493.493 INFO    ] No update needed
[2026-10-20 04:16:26,496.496 INFO    ] Checking for camera pi updates...
[2026-10-20 04:16:26,533.533 INFO    ] 200
[2026-10-20 04:16:26,536.536 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:16:26,581.581 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:16:26,628.628 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:16:26,630.630 INFO    ] No camera update needed
[2026-10-20 04:16:26,633.633 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:16:26,635.635 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:16:26,641.641 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:16:26,646.646 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:16:28,685.685 INFO    ] ================================================
[2026-10-20 04:16:28,700.700 INFO    ] Launching Daemon at Tue Oct 20 04:16:28 IST 2026
[2026-10-20 04:16:28,712.712 INFO    ] ================================================
[2026-10-20 04:16:29,279.279 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:16:29
[2026-10-20 04:16:29,864.864 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:16:30,112.112 INFO    ] Initializing speech engine...
[2026-10-20 04:16:30,137.137 INFO    ] 2026-10-20 04:16:30
[2026-10-20 04:16:30,392.392 INFO    ] 2026-10-20 04:16:30
[2026-10-20 04:16:30,425.425 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:16:30,691.691 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:16:30,697.697 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:16:30,935.935 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:16:30,963.963 INFO    ] time= 20/10/2026 04:16:30
[2026-10-20 04:16:30,982.982 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:16:30,993.993 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:16:31,196.196 INFO    ] No existing commands found in stream
[2026-10-20 04:16:36,221.221 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:16:36,224.224 INFO    ] Waiting 3.53 seconds before fallback handling...
[2026-10-20 04:16:40,340.340 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 04:16:40,342.342 INFO    ] Checking for system updates...
[2026-10-20 04:16:40,378.378 INFO    ] 200
[2026-10-20 04:16:40,380.380 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:16:40,432.432 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:16:40,434.434 INFO    ] No update needed
[2026-10-20 04:16:40,437.437 INFO    ] Checking for camera pi updates...
[2026-10-20 04:16:40,472.472 INFO    ] 200
[2026-10-20 04:16:40,474.474 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:16:40,514.514 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:16:40,562.562 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:16:40,565.565 INFO    ] No camera update needed
[2026-10-20 04:16:40,568.568 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:16:40,570.570 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:16:40,576.576 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:16:40,581.581 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:16:42,621.621 INFO    ] ================================================
[2026-10-20 04:16:42,636.636 INFO    ] Launching Daemon at Tue Oct 20 04:16:42 IST 2026
[2026-10-20 04:16:42,647.647 INFO    ] ================================================
[2026-10-20 04:16:43,216.216 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:16:43
[2026-10-20 04:16:43,797.797 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:16:44,069.069 INFO    ] Initializing speech engine...
[2026-10-20 04:16:44,081.081 INFO    ] 2026-10-20 04:16:44
[2026-10-20 04:16:44,330.330 INFO    ] 2026-10-20 04:16:44
[2026-10-20 04:16:44,365.365 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:16:44,567.567 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:16:44,607.607 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:16:44,776.776 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:16:44,856.856 INFO    ] time= 20/10/2026 04:16:44
[2026-10-20 04:16:44,901.901 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:16:44,908.908 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:16:45,060.060 INFO    ] No existing commands found in stream
[2026-10-20 04:16:50,078.078 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:16:50,081.081 INFO    ] Waiting 3.14 seconds before fallback handling...
[2026-10-20 04:16:53,806.806 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 04:16:53,809.809 INFO    ] Checking for system updates...
[2026-10-20 04:16:53,848.848 INFO    ] 200
[2026-10-20 04:16:53,850.850 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:16:53,908.908 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:16:53,910.910 INFO    ] No update needed
[2026-10-20 04:16:53,913.913 INFO    ] Checking for camera pi updates...
[2026-10-20 04:16:53,945.945 INFO    ] 200
[2026-10-20 04:16:53,948.948 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:16:53,987.987 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:16:54,016.016 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:16:54,019.019 INFO    ] No camera update needed
[2026-10-20 04:16:54,021.021 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:16:54,024.024 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:16:54,029.029 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:16:54,034.034 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:16:56,073.073 INFO    ] ================================================
[2026-10-20 04:16:56,089.089 INFO    ] Launching Daemon at Tue Oct 20 04:16:56 IST 2026
[2026-10-20 04:16:56,101.101 INFO    ] ================================================
[2026-10-20 04:16:56,686.686 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:16:56
[2026-10-20 04:16:57,289.289 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:16:57,563.563 INFO    ] Initializing speech engine...
[2026-10-20 04:16:57,573.573 INFO    ] 2026-10-20 04:16:57
[2026-10-20 04:16:57,834.834 INFO    ] 2026-10-20 04:16:57
[2026-10-20 04:16:57,888.888 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:16:58,117.117 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:16:58,137.137 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:16:58,370.370 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:16:58,378.378 INFO    ] time= 20/10/2026 04:16:58
[2026-10-20 04:16:58,396.396 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:16:58,424.424 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:16:58,532.532 INFO    ] No existing commands found in stream
[2026-10-20 04:17:03,551.551 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:17:03,554.554 INFO    ] Waiting 2.78 seconds before fallback handling...
[2026-10-20 04:17:06,906.906 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:17:06,908.908 INFO    ] Checking for system updates...
[2026-10-20 04:17:06,953.953 INFO    ] 200
[2026-10-20 04:17:06,956.956 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 04:17:06,958.958 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-10-20 04:17:06,961.961 INFO    ] Checking for camera pi updates...
[2026-10-20 04:17:07,009.009 INFO    ] 200
[2026-10-20 04:17:07,012.012 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 04:17:07,015.015 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-10-20 04:17:07,017.017 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:17:07,020.020 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:17:07,026.026 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:17:07,032.032 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:17:09,074.074 INFO    ] ================================================
[2026-10-20 04:17:09,089.089 INFO    ] Launching Daemon at Tue Oct 20 04:17:09 IST 2026
[2026-10-20 04:17:09,100.100 INFO    ] ================================================
[2026-10-20 04:17:09,755.755 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:17:09
[2026-10-20 04:17:10,431.431 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:17:10,744.744 INFO    ] Initializing speech engine...
[2026-10-20 04:17:10,756.756 INFO    ] 2026-10-20 04:17:10
[2026-10-20 04:17:11,042.042 INFO    ] 2026-10-20 04:17:11
[2026-10-20 04:17:11,088.088 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:17:11,384.384 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:17:11,392.392 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:17:11,593.593 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:17:11,613.613 INFO    ] time= 20/10/2026 04:17:11
[2026-10-20 04:17:11,644.644 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:17:11,654.654 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:17:11,794.794 INFO    ] No existing commands found in stream
[2026-10-20 04:17:16,825.825 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:17:16,828.828 INFO    ] Waiting 2.76 seconds before fallback handling...
[2026-10-20 04:17:20,183.183 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:17:20,186.186 INFO    ] Checking for system updates...
[2026-10-20 04:17:20,223.223 INFO    ] 200
[2026-10-20 04:17:20,226.226 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:17:20,279.279 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:17:20,282.282 INFO    ] No update needed
[2026-10-20 04:17:20,284.284 INFO    ] Checking for camera pi updates...
[2026-10-20 04:17:20,319.319 INFO    ] 200
[2026-10-20 04:17:20,322.322 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:17:20,363.363 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:17:20,511.511 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:17:20,514.514 INFO    ] No camera update needed
[2026-10-20 04:17:20,516.516 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:17:20,519.519 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:17:20,526.526 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:17:20,532.532 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:17:22,572.572 INFO    ] ================================================
[2026-10-20 04:17:22,588.588 INFO    ] Launching Daemon at Tue Oct 20 04:17:22 IST 2026
[2026-10-20 04:17:22,599.599 INFO    ] ================================================
[2026-10-20 04:17:23,164.164 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:17:23
[2026-10-20 04:17:23,748.748 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:17:24,018.018 INFO    ] Initializing speech engine...
[2026-10-20 04:17:24,027.027 INFO    ] 2026-10-20 04:17:24
[2026-10-20 04:17:24,279.279 INFO    ] 2026-10-20 04:17:24
[2026-10-20 04:17:24,315.315 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:17:24,564.564 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:17:24,571.571 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:17:24,823.823 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:17:24,830.830 INFO    ] time= 20/10/2026 04:17:24
[2026-10-20 04:17:24,848.848 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:17:24,876.876 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:17:24,998.998 INFO    ] No existing commands found in stream
[2026-10-20 04:17:30,028.028 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:17:30,031.031 INFO    ] Waiting 0.66 seconds before fallback handling...
[2026-10-20 04:17:31,227.227 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:17:31,230.230 INFO    ] Checking for system updates...
[2026-10-20 04:17:31,270.270 INFO    ] 200
[2026-10-20 04:17:31,272.272 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:17:31,324.324 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:17:31,326.326 INFO    ] No update needed
[2026-10-20 04:17:31,329.329 INFO    ] Checking for camera pi updates...
[2026-10-20 04:17:31,367.367 INFO    ] 200
[2026-10-20 04:17:31,369.369 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:17:31,409.409 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:17:31,455.455 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:17:31,458.458 INFO    ] No camera update needed
[2026-10-20 04:17:31,460.460 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:17:31,463.463 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:17:31,468.468 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:17:31,473.473 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:17:33,515.515 INFO    ] ================================================
[2026-10-20 04:17:33,531.531 INFO    ] Launching Daemon at Tue Oct 20 04:17:33 IST 2026
[2026-10-20 04:17:33,542.542 INFO    ] ================================================
[2026-10-20 04:17:34,123.123 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:17:34
[2026-10-20 04:17:34,723.723 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:17:34,994.994 INFO    ] Initializing speech engine...
[2026-10-20 04:17:35,003.003 INFO    ] 2026-10-20 04:17:34
[2026-10-20 04:17:35,251.251 INFO    ] 2026-10-20 04:17:35
[2026-10-20 04:17:35,286.286 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:17:35,542.542 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:17:35,547.547 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:17:35,776.776 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:17:35,807.807 INFO    ] time= 20/10/2026 04:17:35
[2026-10-20 04:17:35,822.822 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:17:35,831.831 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:17:35,955.955 INFO    ] No existing commands found in stream
[2026-10-20 04:17:40,971.971 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:17:40,973.973 INFO    ] Waiting 2.75 seconds before fallback handling...
[2026-10-20 04:17:44,261.261 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:17:44,264.264 INFO    ] Checking for system updates...
[2026-10-20 04:17:44,299.299 INFO    ] 200
[2026-10-20 04:17:44,301.301 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:17:44,355.355 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:17:44,357.357 INFO    ] No update needed
[2026-10-20 04:17:44,360.360 INFO    ] Checking for camera pi updates...
[2026-10-20 04:17:44,393.393 INFO    ] 200
[2026-10-20 04:17:44,396.396 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:17:44,436.436 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:17:44,487.487 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:17:44,490.490 INFO    ] No camera update needed
[2026-10-20 04:17:44,492.492 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:17:44,495.495 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:17:44,500.500 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:17:44,505.505 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:17:46,545.545 INFO    ] ================================================
[2026-10-20 04:17:46,560.560 INFO    ] Launching Daemon at Tue Oct 20 04:17:46 IST 2026
[2026-10-20 04:17:46,572.572 INFO    ] ================================================
[2026-10-20 04:17:47,155.155 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:17:47
[2026-10-20 04:17:47,753.753 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:17:48,015.015 INFO    ] Initializing speech engine...
[2026-10-20 04:17:48,030.030 INFO    ] 2026-10-20 04:17:48
[2026-10-20 04:17:48,284.284 INFO    ] 2026-10-20 04:17:48
[2026-10-20 04:17:48,318.318 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:17:48,598.598 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:17:48,623.623 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:17:48,845.845 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:17:48,872.872 INFO    ] time= 20/10/2026 04:17:48
[2026-10-20 04:17:48,878.878 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:17:48,902.902 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:17:49,021.021 INFO    ] No existing commands found in stream
[2026-10-20 04:17:54,054.054 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:17:54,057.057 INFO    ] Waiting 0.73 seconds before fallback handling...
[2026-10-20 04:17:55,320.320 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:17:55,323.323 INFO    ] Checking for system updates...
[2026-10-20 04:17:55,359.359 INFO    ] 200
[2026-10-20 04:17:55,361.361 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:17:55,413.413 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:17:55,415.415 INFO    ] No update needed
[2026-10-20 04:17:55,418.418 INFO    ] Checking for camera pi updates...
[2026-10-20 04:17:55,451.451 INFO    ] 200
[2026-10-20 04:17:55,453.453 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:17:55,498.498 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:17:55,546.546 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:17:55,549.549 INFO    ] No camera update needed
[2026-10-20 04:17:55,551.551 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:17:55,553.553 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:17:55,559.559 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:17:55,564.564 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:17:57,604.604 INFO    ] ================================================
[2026-10-20 04:17:57,619.619 INFO    ] Launching Daemon at Tue Oct 20 04:17:57 IST 2026
[2026-10-20 04:17:57,631.631 INFO    ] ================================================
[2026-10-20 04:17:58,273.273 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:17:58
[2026-10-20 04:17:58,859.859 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:17:59,110.110 INFO    ] Initializing speech engine...
[2026-10-20 04:17:59,134.134 INFO    ] 2026-10-20 04:17:59
[2026-10-20 04:17:59,392.392 INFO    ] 2026-10-20 04:17:59
[2026-10-20 04:17:59,427.427 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:17:59,716.716 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:17:59,721.721 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:17:59,958.958 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:17:59,965.965 INFO    ] time= 20/10/2026 04:17:59
[2026-10-20 04:17:59,983.983 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:18:00,006.006 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:18:00,133.133 INFO    ] No existing commands found in stream
[2026-10-20 04:18:05,163.163 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:18:05,166.166 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-10-20 04:18:09,199.199 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:18:09,202.202 INFO    ] Checking for system updates...
[2026-10-20 04:18:09,237.237 INFO    ] 200
[2026-10-20 04:18:09,240.240 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:18:09,292.292 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:18:09,295.295 INFO    ] No update needed
[2026-10-20 04:18:09,297.297 INFO    ] Checking for camera pi updates...
[2026-10-20 04:18:09,334.334 INFO    ] 200
[2026-10-20 04:18:09,336.336 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:18:09,377.377 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:18:09,425.425 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:18:09,427.427 INFO    ] No camera update needed
[2026-10-20 04:18:09,430.430 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:18:09,432.432 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:18:09,437.437 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:18:09,442.442 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:18:11,483.483 INFO    ] ================================================
[2026-10-20 04:18:11,505.505 INFO    ] Launching Daemon at Tue Oct 20 04:18:11 IST 2026
[2026-10-20 04:18:11,517.517 INFO    ] ================================================
[2026-10-20 04:18:12,106.106 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:18:12
[2026-10-20 04:18:12,710.710 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:18:12,988.988 INFO    ] Initializing speech engine...
[2026-10-20 04:18:12,996.996 INFO    ] 2026-10-20 04:18:12
[2026-10-20 04:18:13,253.253 INFO    ] 2026-10-20 04:18:13
[2026-10-20 04:18:13,282.282 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:18:13,567.567 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:18:13,576.576 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:18:13,794.794 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:18:13,828.828 INFO    ] time= 20/10/2026 04:18:13
[2026-10-20 04:18:13,872.872 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:18:13,879.879 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:18:14,031.031 INFO    ] No existing commands found in stream
[2026-10-20 04:18:19,053.053 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:18:19,056.056 INFO    ] Waiting 2.11 seconds before fallback handling...
[2026-10-20 04:18:21,746.746 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:18:21,749.749 INFO    ] Checking for system updates...
[2026-10-20 04:18:21,784.784 INFO    ] 200
[2026-10-20 04:18:21,786.786 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:18:21,845.845 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:18:21,847.847 INFO    ] No update needed
[2026-10-20 04:18:21,850.850 INFO    ] Checking for camera pi updates...
[2026-10-20 04:18:21,883.883 INFO    ] 200
[2026-10-20 04:18:21,885.885 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:18:21,930.930 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:18:21,976.976 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:18:21,979.979 INFO    ] No camera update needed
[2026-10-20 04:18:21,982.982 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:18:21,984.984 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:18:21,989.989 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:18:21,994.994 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:18:24,035.035 INFO    ] ================================================
[2026-10-20 04:18:24,051.051 INFO    ] Launching Daemon at Tue Oct 20 04:18:24 IST 2026
[2026-10-20 04:18:24,061.061 INFO    ] ================================================
[2026-10-20 04:18:24,717.717 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:18:24
[2026-10-20 04:18:25,310.310 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:18:25,560.560 INFO    ] Initializing speech engine...
[2026-10-20 04:18:25,574.574 INFO    ] 2026-10-20 04:18:25
[2026-10-20 04:18:25,839.839 INFO    ] 2026-10-20 04:18:25
[2026-10-20 04:18:25,874.874 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:18:26,139.139 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:18:26,145.145 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:18:26,367.367 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:18:26,409.409 INFO    ] time= 20/10/2026 04:18:26
[2026-10-20 04:18:26,415.415 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:18:26,432.432 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:18:26,582.582 INFO    ] No existing commands found in stream
[2026-10-20 04:18:31,613.613 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:18:31,616.616 INFO    ] Waiting 3.61 seconds before fallback handling...
[2026-10-20 04:18:35,782.782 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:18:35,784.784 INFO    ] Checking for system updates...
[2026-10-20 04:18:35,820.820 INFO    ] 200
[2026-10-20 04:18:35,823.823 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:18:35,877.877 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:18:35,880.880 INFO    ] No update needed
[2026-10-20 04:18:35,883.883 INFO    ] Checking for camera pi updates...
[2026-10-20 04:18:35,917.917 INFO    ] 200
[2026-10-20 04:18:35,920.920 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:18:35,965.965 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:18:36,011.011 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:18:36,014.014 INFO    ] No camera update needed
[2026-10-20 04:18:36,016.016 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:18:36,018.018 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:18:36,024.024 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:18:36,029.029 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:18:38,069.069 INFO    ] ================================================
[2026-10-20 04:18:38,084.084 INFO    ] Launching Daemon at Tue Oct 20 04:18:38 IST 2026
[2026-10-20 04:18:38,096.096 INFO    ] ================================================
[2026-10-20 04:18:38,771.771 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:18:38
[2026-10-20 04:18:39,462.462 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:18:39,776.776 INFO    ] Initializing speech engine...
[2026-10-20 04:18:39,783.783 INFO    ] 2026-10-20 04:18:39
[2026-10-20 04:18:40,090.090 INFO    ] 2026-10-20 04:18:40
[2026-10-20 04:18:40,177.177 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:18:40,444.444 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:18:40,464.464 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:18:40,648.648 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:18:40,709.709 INFO    ] time= 20/10/2026 04:18:40
[2026-10-20 04:18:40,753.753 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:18:40,810.810 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:18:40,981.981 INFO    ] No existing commands found in stream
[2026-10-20 04:18:46,007.007 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:18:46,011.011 INFO    ] Waiting 0.34 seconds before fallback handling...
[2026-10-20 04:18:46,855.855 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:18:46,857.857 INFO    ] Checking for system updates...
[2026-10-20 04:18:46,893.893 INFO    ] 200
[2026-10-20 04:18:46,896.896 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:18:46,954.954 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:18:46,956.956 INFO    ] No update needed
[2026-10-20 04:18:46,959.959 INFO    ] Checking for camera pi updates...
[2026-10-20 04:18:46,992.992 INFO    ] 200
[2026-10-20 04:18:46,995.995 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:18:47,036.036 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:18:47,085.085 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:18:47,087.087 INFO    ] No camera update needed
[2026-10-20 04:18:47,090.090 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:18:47,092.092 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:18:47,097.097 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:18:47,102.102 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:18:49,144.144 INFO    ] ================================================
[2026-10-20 04:18:49,160.160 INFO    ] Launching Daemon at Tue Oct 20 04:18:49 IST 2026
[2026-10-20 04:18:49,172.172 INFO    ] ================================================
[2026-10-20 04:18:49,750.750 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:18:49
[2026-10-20 04:18:50,340.340 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:18:50,609.609 INFO    ] Initializing speech engine...
[2026-10-20 04:18:50,619.619 INFO    ] 2026-10-20 04:18:50
[2026-10-20 04:18:50,864.864 INFO    ] 2026-10-20 04:18:50
[2026-10-20 04:18:50,900.900 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:18:51,181.181 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:18:51,186.186 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:18:51,421.421 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:18:51,428.428 INFO    ] time= 20/10/2026 04:18:51
[2026-10-20 04:18:51,445.445 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:18:51,459.459 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:18:51,643.643 INFO    ] No existing commands found in stream
[2026-10-20 04:18:56,669.669 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:18:56,673.673 INFO    ] Waiting 1.30 seconds before fallback handling...
[2026-10-20 04:18:58,609.609 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:18:58,612.612 INFO    ] Checking for system updates...
[2026-10-20 04:18:58,653.653 INFO    ] 200
[2026-10-20 04:18:58,656.656 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:18:58,707.707 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:18:58,710.710 INFO    ] No update needed
[2026-10-20 04:18:58,713.713 INFO    ] Checking for camera pi updates...
[2026-10-20 04:18:58,751.751 INFO    ] 200
[2026-10-20 04:18:58,753.753 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:18:58,799.799 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:18:58,852.852 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:18:58,854.854 INFO    ] No camera update needed
[2026-10-20 04:18:58,857.857 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:18:58,859.859 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:18:58,865.865 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:18:58,870.870 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:19:00,910.910 INFO    ] ================================================
[2026-10-20 04:19:00,925.925 INFO    ] Launching Daemon at Tue Oct 20 04:19:00 IST 2026
[2026-10-20 04:19:00,937.937 INFO    ] ================================================
[2026-10-20 04:19:01,601.601 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:19:01
[2026-10-20 04:19:02,356.356 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:19:02,663.663 INFO    ] Initializing speech engine...
[2026-10-20 04:19:02,672.672 INFO    ] 2026-10-20 04:19:02
[2026-10-20 04:19:03,005.005 INFO    ] 2026-10-20 04:19:02
[2026-10-20 04:19:03,057.057 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:19:03,395.395 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:19:03,436.436 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:19:03,662.662 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:19:03,698.698 INFO    ] time= 20/10/2026 04:19:03
[2026-10-20 04:19:03,720.720 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:19:03,728.728 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:19:03,832.832 INFO    ] No existing commands found in stream
[2026-10-20 04:19:08,842.842 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:19:08,844.844 INFO    ] Waiting 0.12 seconds before fallback handling...
[2026-10-20 04:19:09,463.463 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:19:09,466.466 INFO    ] Checking for system updates...
[2026-10-20 04:19:09,501.501 INFO    ] 200
[2026-10-20 04:19:09,504.504 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:19:09,556.556 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:19:09,558.558 INFO    ] No update needed
[2026-10-20 04:19:09,561.561 INFO    ] Checking for camera pi updates...
[2026-10-20 04:19:09,595.595 INFO    ] 200
[2026-10-20 04:19:09,598.598 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:19:09,649.649 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:19:09,695.695 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:19:09,697.697 INFO    ] No camera update needed
[2026-10-20 04:19:09,700.700 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:19:09,702.702 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:19:09,708.708 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:19:09,713.713 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:19:11,753.753 INFO    ] ================================================
[2026-10-20 04:19:11,769.769 INFO    ] Launching Daemon at Tue Oct 20 04:19:11 IST 2026
[2026-10-20 04:19:11,781.781 INFO    ] ================================================
[2026-10-20 04:19:12,399.399 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:19:12
[2026-10-20 04:19:13,081.081 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:19:13,372.372 INFO    ] Initializing speech engine...
[2026-10-20 04:19:13,377.377 INFO    ] 2026-10-20 04:19:13
[2026-10-20 04:19:13,638.638 INFO    ] 2026-10-20 04:19:13
[2026-10-20 04:19:13,668.668 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:19:13,942.942 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:19:13,948.948 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:19:14,180.180 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:19:14,189.189 INFO    ] time= 20/10/2026 04:19:14
[2026-10-20 04:19:14,207.207 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:19:14,235.235 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:19:14,356.356 INFO    ] No existing commands found in stream
[2026-10-20 04:19:19,386.386 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:19:19,389.389 INFO    ] Waiting 3.72 seconds before fallback handling...
[2026-10-20 04:19:23,665.665 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:19:23,667.667 INFO    ] Checking for system updates...
[2026-10-20 04:19:23,707.707 INFO    ] 200
[2026-10-20 04:19:23,710.710 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:19:23,761.761 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:19:23,764.764 INFO    ] No update needed
[2026-10-20 04:19:23,766.766 INFO    ] Checking for camera pi updates...
[2026-10-20 04:19:23,804.804 INFO    ] 200
[2026-10-20 04:19:23,806.806 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:19:23,851.851 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:19:23,997.997 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:19:24,000.000 INFO    ] No camera update needed
[2026-10-20 04:19:24,002.002 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:19:24,004.004 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:19:24,009.009 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:19:24,014.014 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:19:26,055.055 INFO    ] ================================================
[2026-10-20 04:19:26,071.071 INFO    ] Launching Daemon at Tue Oct 20 04:19:26 IST 2026
[2026-10-20 04:19:26,085.085 INFO    ] ================================================
[2026-10-20 04:19:26,656.656 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:19:26
[2026-10-20 04:19:27,243.243 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:19:27,513.513 INFO    ] Initializing speech engine...
[2026-10-20 04:19:27,523.523 INFO    ] 2026-10-20 04:19:27
[2026-10-20 04:19:27,770.770 INFO    ] 2026-10-20 04:19:27
[2026-10-20 04:19:27,806.806 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:19:28,044.044 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:19:28,046.046 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:19:28,247.247 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:19:28,301.301 INFO    ] time= 20/10/2026 04:19:28
[2026-10-20 04:19:28,339.339 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:19:28,345.345 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:19:28,497.497 INFO    ] No existing commands found in stream
[2026-10-20 04:19:33,511.511 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:19:33,514.514 INFO    ] Waiting 1.02 seconds before fallback handling...
[2026-10-20 04:19:35,111.111 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:19:35,114.114 INFO    ] Checking for system updates...
[2026-10-20 04:19:35,153.153 INFO    ] 200
[2026-10-20 04:19:35,155.155 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:19:35,207.207 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:19:35,210.210 INFO    ] No update needed
[2026-10-20 04:19:35,212.212 INFO    ] Checking for camera pi updates...
[2026-10-20 04:19:35,245.245 INFO    ] 200
[2026-10-20 04:19:35,248.248 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:19:35,288.288 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:19:35,336.336 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:19:35,339.339 INFO    ] No camera update needed
[2026-10-20 04:19:35,341.341 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:19:35,344.344 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:19:35,349.349 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:19:35,354.354 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:19:37,393.393 INFO    ] ================================================
[2026-10-20 04:19:37,408.408 INFO    ] Launching Daemon at Tue Oct 20 04:19:37 IST 2026
[2026-10-20 04:19:37,419.419 INFO    ] ================================================
[2026-10-20 04:19:38,083.083 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:19:38
[2026-10-20 04:19:38,675.675 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:19:38,948.948 INFO    ] Initializing speech engine...
[2026-10-20 04:19:38,955.955 INFO    ] 2026-10-20 04:19:38
[2026-10-20 04:19:39,208.208 INFO    ] 2026-10-20 04:19:39
[2026-10-20 04:19:39,243.243 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:19:39,505.505 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:19:39,511.511 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:19:39,746.746 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:19:39,774.774 INFO    ] time= 20/10/2026 04:19:39
[2026-10-20 04:19:39,781.781 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:19:39,798.798 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:19:39,932.932 INFO    ] No existing commands found in stream
[2026-10-20 04:19:44,945.945 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:19:44,948.948 INFO    ] Waiting 3.54 seconds before fallback handling...
[2026-10-20 04:19:49,091.091 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:19:49,094.094 INFO    ] Checking for system updates...
[2026-10-20 04:19:49,131.131 INFO    ] 200
[2026-10-20 04:19:49,133.133 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:19:49,187.187 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:19:49,190.190 INFO    ] No update needed
[2026-10-20 04:19:49,193.193 INFO    ] Checking for camera pi updates...
[2026-10-20 04:19:49,232.232 INFO    ] 200
[2026-10-20 04:19:49,235.235 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:19:49,281.281 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:19:49,349.349 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:19:49,351.351 INFO    ] No camera update needed
[2026-10-20 04:19:49,354.354 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:19:49,357.357 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:19:49,364.364 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:19:49,370.370 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:19:51,411.411 INFO    ] ================================================
[2026-10-20 04:19:51,427.427 INFO    ] Launching Daemon at Tue Oct 20 04:19:51 IST 2026
[2026-10-20 04:19:51,439.439 INFO    ] ================================================
[2026-10-20 04:19:52,003.003 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:19:52
[2026-10-20 04:19:52,586.586 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:19:52,856.856 INFO    ] Initializing speech engine...
[2026-10-20 04:19:52,862.862 INFO    ] 2026-10-20 04:19:52
[2026-10-20 04:19:53,109.109 INFO    ] 2026-10-20 04:19:53
[2026-10-20 04:19:53,144.144 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:19:53,396.396 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:19:53,404.404 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:19:53,590.590 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:19:53,639.639 INFO    ] time= 20/10/2026 04:19:53
[2026-10-20 04:19:53,668.668 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:19:53,684.684 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:19:53,807.807 INFO    ] No existing commands found in stream
[2026-10-20 04:19:58,829.829 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:19:58,831.831 INFO    ] Waiting 3.43 seconds before fallback handling...
[2026-10-20 04:20:03,398.398 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:20:03,402.402 INFO    ] Checking for system updates...
[2026-10-20 04:20:03,456.456 INFO    ] 200
[2026-10-20 04:20:03,461.461 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:20:03,527.527 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:20:03,530.530 INFO    ] No update needed
[2026-10-20 04:20:03,536.536 INFO    ] Checking for camera pi updates...
[2026-10-20 04:20:03,598.598 INFO    ] 200
[2026-10-20 04:20:03,603.603 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:20:03,674.674 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:20:03,724.724 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:20:03,728.728 INFO    ] No camera update needed
[2026-10-20 04:20:03,737.737 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:20:03,742.742 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:20:03,755.755 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:20:03,764.764 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:20:05,805.805 INFO    ] ================================================
[2026-10-20 04:20:05,821.821 INFO    ] Launching Daemon at Tue Oct 20 04:20:05 IST 2026
[2026-10-20 04:20:05,833.833 INFO    ] ================================================
[2026-10-20 04:20:06,400.400 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:20:06
[2026-10-20 04:20:06,985.985 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:20:07,253.253 INFO    ] Initializing speech engine...
[2026-10-20 04:20:07,266.266 INFO    ] 2026-10-20 04:20:07
[2026-10-20 04:20:07,517.517 INFO    ] 2026-10-20 04:20:07
[2026-10-20 04:20:07,552.552 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:20:07,810.810 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:20:07,820.820 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:20:08,050.050 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:20:08,087.087 INFO    ] time= 20/10/2026 04:20:08
[2026-10-20 04:20:08,093.093 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:20:08,111.111 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:20:08,272.272 INFO    ] No existing commands found in stream
[2026-10-20 04:20:13,297.297 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:20:13,300.300 INFO    ] Waiting 2.91 seconds before fallback handling...
[2026-10-20 04:20:16,720.720 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:20:16,723.723 INFO    ] Checking for system updates...
[2026-10-20 04:20:16,759.759 INFO    ] 200
[2026-10-20 04:20:16,761.761 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:20:16,813.813 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:20:16,815.815 INFO    ] No update needed
[2026-10-20 04:20:16,817.817 INFO    ] Checking for camera pi updates...
[2026-10-20 04:20:16,851.851 INFO    ] 200
[2026-10-20 04:20:16,853.853 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:20:16,894.894 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:20:16,949.949 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:20:16,952.952 INFO    ] No camera update needed
[2026-10-20 04:20:16,954.954 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:20:16,956.956 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:20:16,961.961 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:20:16,966.966 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:20:19,006.006 INFO    ] ================================================
[2026-10-20 04:20:19,023.023 INFO    ] Launching Daemon at Tue Oct 20 04:20:19 IST 2026
[2026-10-20 04:20:19,035.035 INFO    ] ================================================
[2026-10-20 04:20:19,618.618 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:20:19
[2026-10-20 04:20:20,218.218 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:20:20,495.495 INFO    ] Initializing speech engine...
[2026-10-20 04:20:20,502.502 INFO    ] 2026-10-20 04:20:20
[2026-10-20 04:20:20,777.777 INFO    ] 2026-10-20 04:20:20
[2026-10-20 04:20:20,822.822 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:20:21,144.144 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:20:21,175.175 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:20:21,358.358 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:20:21,414.414 INFO    ] time= 20/10/2026 04:20:21
[2026-10-20 04:20:21,455.455 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:20:21,496.496 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:20:21,652.652 INFO    ] No existing commands found in stream
[2026-10-20 04:20:26,683.683 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:20:26,685.685 INFO    ] Waiting 2.87 seconds before fallback handling...
[2026-10-20 04:20:30,127.127 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:20:30,130.130 INFO    ] Checking for system updates...
[2026-10-20 04:20:30,166.166 INFO    ] 200
[2026-10-20 04:20:30,169.169 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:20:30,221.221 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:20:30,224.224 INFO    ] No update needed
[2026-10-20 04:20:30,226.226 INFO    ] Checking for camera pi updates...
[2026-10-20 04:20:30,261.261 INFO    ] 200
[2026-10-20 04:20:30,264.264 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:20:30,310.310 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:20:30,359.359 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:20:30,362.362 INFO    ] No camera update needed
[2026-10-20 04:20:30,364.364 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:20:30,366.366 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:20:30,372.372 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:20:30,377.377 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:20:32,419.419 INFO    ] ================================================
[2026-10-20 04:20:32,436.436 INFO    ] Launching Daemon at Tue Oct 20 04:20:32 IST 2026
[2026-10-20 04:20:32,449.449 INFO    ] ================================================
[2026-10-20 04:20:33,106.106 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:20:33
[2026-10-20 04:20:33,719.719 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:20:33,969.969 INFO    ] Initializing speech engine...
[2026-10-20 04:20:33,993.993 INFO    ] 2026-10-20 04:20:33
[2026-10-20 04:20:34,248.248 INFO    ] 2026-10-20 04:20:34
[2026-10-20 04:20:34,283.283 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:20:34,568.568 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:20:34,574.574 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:20:34,776.776 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:20:34,816.816 INFO    ] time= 20/10/2026 04:20:34
[2026-10-20 04:20:34,822.822 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:20:34,840.840 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:20:34,975.975 INFO    ] No existing commands found in stream
[2026-10-20 04:20:39,987.987 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:20:39,990.990 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-10-20 04:20:43,663.663 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:20:43,666.666 INFO    ] Checking for system updates...
[2026-10-20 04:20:43,702.702 INFO    ] 200
[2026-10-20 04:20:43,704.704 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:20:43,764.764 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:20:43,767.767 INFO    ] No update needed
[2026-10-20 04:20:43,769.769 INFO    ] Checking for camera pi updates...
[2026-10-20 04:20:43,807.807 INFO    ] 200
[2026-10-20 04:20:43,809.809 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:20:43,849.849 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:20:43,902.902 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:20:43,904.904 INFO    ] No camera update needed
[2026-10-20 04:20:43,907.907 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:20:43,909.909 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:20:43,914.914 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:20:43,919.919 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:20:45,960.960 INFO    ] ================================================
[2026-10-20 04:20:45,975.975 INFO    ] Launching Daemon at Tue Oct 20 04:20:45 IST 2026
[2026-10-20 04:20:45,986.986 INFO    ] ================================================
[2026-10-20 04:20:46,560.560 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:20:46
[2026-10-20 04:20:47,145.145 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:20:47,393.393 INFO    ] Initializing speech engine...
[2026-10-20 04:20:47,406.406 INFO    ] 2026-10-20 04:20:47
[2026-10-20 04:20:47,673.673 INFO    ] 2026-10-20 04:20:47
[2026-10-20 04:20:47,707.707 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:20:47,965.965 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:20:47,974.974 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:20:48,210.210 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:20:48,240.240 INFO    ] time= 20/10/2026 04:20:48
[2026-10-20 04:20:48,257.257 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:20:48,266.266 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:20:48,418.418 INFO    ] No existing commands found in stream
[2026-10-20 04:20:53,448.448 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:20:53,451.451 INFO    ] Waiting 0.29 seconds before fallback handling...
[2026-10-20 04:20:54,352.352 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:20:54,354.354 INFO    ] Checking for system updates...
[2026-10-20 04:20:54,390.390 INFO    ] 200
[2026-10-20 04:20:54,392.392 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:20:54,443.443 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:20:54,445.445 INFO    ] No update needed
[2026-10-20 04:20:54,448.448 INFO    ] Checking for camera pi updates...
[2026-10-20 04:20:54,481.481 INFO    ] 200
[2026-10-20 04:20:54,483.483 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:20:54,529.529 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:20:54,577.577 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:20:54,580.580 INFO    ] No camera update needed
[2026-10-20 04:20:54,582.582 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:20:54,584.584 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:20:54,590.590 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:20:54,595.595 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:20:56,636.636 INFO    ] ================================================
[2026-10-20 04:20:56,651.651 INFO    ] Launching Daemon at Tue Oct 20 04:20:56 IST 2026
[2026-10-20 04:20:56,662.662 INFO    ] ================================================
[2026-10-20 04:20:57,244.244 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:20:57
[2026-10-20 04:20:57,843.843 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:20:58,123.123 INFO    ] Initializing speech engine...
[2026-10-20 04:20:58,129.129 INFO    ] 2026-10-20 04:20:58
[2026-10-20 04:20:58,394.394 INFO    ] 2026-10-20 04:20:58
[2026-10-20 04:20:58,448.448 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:20:58,745.745 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:20:58,800.800 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:20:58,979.979 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:20:58,988.988 INFO    ] time= 20/10/2026 04:20:58
[2026-10-20 04:20:58,999.999 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:20:59,066.066 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:20:59,192.192 INFO    ] No existing commands found in stream
[2026-10-20 04:21:04,215.215 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:21:04,218.218 INFO    ] Waiting 0.53 seconds before fallback handling...
[2026-10-20 04:21:05,262.262 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:21:05,265.265 INFO    ] Checking for system updates...
[2026-10-20 04:21:05,304.304 INFO    ] 200
[2026-10-20 04:21:05,307.307 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:21:05,366.366 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:21:05,369.369 INFO    ] No update needed
[2026-10-20 04:21:05,371.371 INFO    ] Checking for camera pi updates...
[2026-10-20 04:21:05,409.409 INFO    ] 200
[2026-10-20 04:21:05,412.412 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:21:05,457.457 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:21:05,512.512 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:21:05,514.514 INFO    ] No camera update needed
[2026-10-20 04:21:05,517.517 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:21:05,519.519 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:21:05,525.525 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:21:05,530.530 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:21:07,571.571 INFO    ] ================================================
[2026-10-20 04:21:07,586.586 INFO    ] Launching Daemon at Tue Oct 20 04:21:07 IST 2026
[2026-10-20 04:21:07,596.596 INFO    ] ================================================
[2026-10-20 04:21:08,161.161 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:21:08
[2026-10-20 04:21:08,831.831 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:21:09,076.076 INFO    ] Initializing speech engine...
[2026-10-20 04:21:09,084.084 INFO    ] 2026-10-20 04:21:09
[2026-10-20 04:21:09,356.356 INFO    ] 2026-10-20 04:21:09
[2026-10-20 04:21:09,391.391 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:21:09,593.593 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:21:09,652.652 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:21:09,801.801 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:21:09,860.860 INFO    ] time= 20/10/2026 04:21:09
[2026-10-20 04:21:09,914.914 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:21:09,932.932 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:21:10,060.060 INFO    ] No existing commands found in stream
[2026-10-20 04:21:15,085.085 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:21:15,088.088 INFO    ] Waiting 1.82 seconds before fallback handling...
[2026-10-20 04:21:17,416.416 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:21:17,419.419 INFO    ] Checking for system updates...
[2026-10-20 04:21:17,454.454 INFO    ] 200
[2026-10-20 04:21:17,456.456 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:21:17,508.508 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:21:17,510.510 INFO    ] No update needed
[2026-10-20 04:21:17,513.513 INFO    ] Checking for camera pi updates...
[2026-10-20 04:21:17,546.546 INFO    ] 200
[2026-10-20 04:21:17,549.549 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:21:17,594.594 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:21:17,650.650 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:21:17,652.652 INFO    ] No camera update needed
[2026-10-20 04:21:17,654.654 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:21:17,657.657 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:21:17,662.662 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:21:17,667.667 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:21:19,706.706 INFO    ] ================================================
[2026-10-20 04:21:19,721.721 INFO    ] Launching Daemon at Tue Oct 20 04:21:19 IST 2026
[2026-10-20 04:21:19,732.732 INFO    ] ================================================
[2026-10-20 04:21:20,393.393 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:21:20
[2026-10-20 04:21:20,979.979 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:21:21,224.224 INFO    ] Initializing speech engine...
[2026-10-20 04:21:21,233.233 INFO    ] 2026-10-20 04:21:21
[2026-10-20 04:21:21,506.506 INFO    ] 2026-10-20 04:21:21
[2026-10-20 04:21:21,541.541 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:21:21,804.804 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:21:21,808.808 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:21:22,032.032 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:21:22,073.073 INFO    ] time= 20/10/2026 04:21:22
[2026-10-20 04:21:22,079.079 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:21:22,095.095 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:21:22,229.229 INFO    ] No existing commands found in stream
[2026-10-20 04:21:27,242.242 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:21:27,245.245 INFO    ] Waiting 0.44 seconds before fallback handling...
[2026-10-20 04:21:28,273.273 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:21:28,275.275 INFO    ] Checking for system updates...
[2026-10-20 04:21:28,310.310 INFO    ] 200
[2026-10-20 04:21:28,313.313 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:21:28,389.389 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:21:28,391.391 INFO    ] No update needed
[2026-10-20 04:21:28,393.393 INFO    ] Checking for camera pi updates...
[2026-10-20 04:21:28,431.431 INFO    ] 200
[2026-10-20 04:21:28,433.433 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:21:28,478.478 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:21:28,621.621 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:21:28,624.624 INFO    ] No camera update needed
[2026-10-20 04:21:28,626.626 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:21:28,628.628 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:21:28,634.634 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:21:28,639.639 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:21:30,680.680 INFO    ] ================================================
[2026-10-20 04:21:30,695.695 INFO    ] Launching Daemon at Tue Oct 20 04:21:30 IST 2026
[2026-10-20 04:21:30,706.706 INFO    ] ================================================
[2026-10-20 04:21:31,272.272 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:21:31
[2026-10-20 04:21:31,884.884 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:21:32,158.158 INFO    ] Initializing speech engine...
[2026-10-20 04:21:32,169.169 INFO    ] 2026-10-20 04:21:32
[2026-10-20 04:21:32,457.457 INFO    ] 2026-10-20 04:21:32
[2026-10-20 04:21:32,495.495 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:21:32,704.704 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:21:32,713.713 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:21:32,886.886 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:21:32,894.894 INFO    ] time= 20/10/2026 04:21:32
[2026-10-20 04:21:32,898.898 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:21:32,904.904 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:21:32,981.981 INFO    ] No existing commands found in stream
[2026-10-20 04:21:37,991.991 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:21:37,994.994 INFO    ] Waiting 2.58 seconds before fallback handling...
[2026-10-20 04:21:41,104.104 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:21:41,107.107 INFO    ] Checking for system updates...
[2026-10-20 04:21:41,143.143 INFO    ] 200
[2026-10-20 04:21:41,146.146 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:21:41,200.200 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:21:41,203.203 INFO    ] No update needed
[2026-10-20 04:21:41,205.205 INFO    ] Checking for camera pi updates...
[2026-10-20 04:21:41,244.244 INFO    ] 200
[2026-10-20 04:21:41,247.247 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:21:41,299.299 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:21:41,346.346 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:21:41,349.349 INFO    ] No camera update needed
[2026-10-20 04:21:41,351.351 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:21:41,354.354 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:21:41,360.360 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:21:41,366.366 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:21:43,407.407 INFO    ] ================================================
[2026-10-20 04:21:43,422.422 INFO    ] Launching Daemon at Tue Oct 20 04:21:43 IST 2026
[2026-10-20 04:21:43,433.433 INFO    ] ================================================
[2026-10-20 04:21:44,021.021 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:21:44
[2026-10-20 04:21:44,618.618 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:21:44,896.896 INFO    ] Initializing speech engine...
[2026-10-20 04:21:44,902.902 INFO    ] 2026-10-20 04:21:44
[2026-10-20 04:21:45,164.164 INFO    ] 2026-10-20 04:21:45
[2026-10-20 04:21:45,215.215 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:21:45,445.445 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:21:45,451.451 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:21:45,690.690 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:21:45,709.709 INFO    ] time= 20/10/2026 04:21:45
[2026-10-20 04:21:45,715.715 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:21:45,736.736 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:21:45,860.860 INFO    ] No existing commands found in stream
[2026-10-20 04:21:50,875.875 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:21:50,878.878 INFO    ] Waiting 2.33 seconds before fallback handling...
[2026-10-20 04:21:53,813.813 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:21:53,816.816 INFO    ] Checking for system updates...
[2026-10-20 04:21:53,852.852 INFO    ] 200
[2026-10-20 04:21:53,855.855 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:21:53,908.908 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:21:53,911.911 INFO    ] No update needed
[2026-10-20 04:21:53,914.914 INFO    ] Checking for camera pi updates...
[2026-10-20 04:21:53,948.948 INFO    ] 200
[2026-10-20 04:21:53,951.951 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:21:53,993.993 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:21:54,041.041 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:21:54,044.044 INFO    ] No camera update needed
[2026-10-20 04:21:54,048.048 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:21:54,051.051 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:21:54,058.058 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:21:54,063.063 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:21:56,105.105 INFO    ] ================================================
[2026-10-20 04:21:56,120.120 INFO    ] Launching Daemon at Tue Oct 20 04:21:56 IST 2026
[2026-10-20 04:21:56,130.130 INFO    ] ================================================
[2026-10-20 04:21:56,710.710 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:21:56
[2026-10-20 04:21:57,307.307 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:21:57,585.585 INFO    ] Initializing speech engine...
[2026-10-20 04:21:57,591.591 INFO    ] 2026-10-20 04:21:57
[2026-10-20 04:21:57,855.855 INFO    ] 2026-10-20 04:21:57
[2026-10-20 04:21:57,884.884 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:21:58,136.136 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:21:58,138.138 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:21:58,355.355 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:21:58,402.402 INFO    ] time= 20/10/2026 04:21:58
[2026-10-20 04:21:58,409.409 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:21:58,429.429 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:21:58,572.572 INFO    ] No existing commands found in stream
[2026-10-20 04:22:03,598.598 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:22:03,601.601 INFO    ] Waiting 3.40 seconds before fallback handling...
[2026-10-20 04:22:07,584.584 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 04:22:07,586.586 INFO    ] Checking for system updates...
[2026-10-20 04:22:07,625.625 INFO    ] 200
[2026-10-20 04:22:07,627.627 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:22:07,685.685 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:22:07,688.688 INFO    ] No update needed
[2026-10-20 04:22:07,691.691 INFO    ] Checking for camera pi updates...
[2026-10-20 04:22:07,727.727 INFO    ] 200
[2026-10-20 04:22:07,730.730 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:22:07,774.774 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:22:07,818.818 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:22:07,820.820 INFO    ] No camera update needed
[2026-10-20 04:22:07,823.823 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:22:07,825.825 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:22:07,831.831 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:22:07,836.836 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:22:09,875.875 INFO    ] ================================================
[2026-10-20 04:22:09,890.890 INFO    ] Launching Daemon at Tue Oct 20 04:22:09 IST 2026
[2026-10-20 04:22:09,901.901 INFO    ] ================================================
[2026-10-20 04:22:10,482.482 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:22:10
[2026-10-20 04:22:11,082.082 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:22:11,347.347 INFO    ] Initializing speech engine...
[2026-10-20 04:22:11,360.360 INFO    ] 2026-10-20 04:22:11
[2026-10-20 04:22:11,643.643 INFO    ] 2026-10-20 04:22:11
[2026-10-20 04:22:11,681.681 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:22:11,967.967 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:22:11,977.977 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:22:12,131.131 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:22:12,186.186 INFO    ] time= 20/10/2026 04:22:12
[2026-10-20 04:22:12,240.240 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:22:12,278.278 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:22:12,416.416 INFO    ] No existing commands found in stream
[2026-10-20 04:22:17,442.442 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:22:17,445.445 INFO    ] Waiting 0.36 seconds before fallback handling...
[2026-10-20 04:22:18,389.389 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 04:22:18,392.392 INFO    ] Checking for system updates...
[2026-10-20 04:22:18,427.427 INFO    ] 200
[2026-10-20 04:22:18,430.430 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:22:18,487.487 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:22:18,490.490 INFO    ] No update needed
[2026-10-20 04:22:18,493.493 INFO    ] Checking for camera pi updates...
[2026-10-20 04:22:18,529.529 INFO    ] 200
[2026-10-20 04:22:18,531.531 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:22:18,577.577 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:22:18,623.623 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:22:18,626.626 INFO    ] No camera update needed
[2026-10-20 04:22:18,628.628 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:22:18,630.630 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:22:18,636.636 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:22:18,641.641 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:22:20,682.682 INFO    ] ================================================
[2026-10-20 04:22:20,696.696 INFO    ] Launching Daemon at Tue Oct 20 04:22:20 IST 2026
[2026-10-20 04:22:20,707.707 INFO    ] ================================================
[2026-10-20 04:22:21,276.276 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:22:21
[2026-10-20 04:22:21,866.866 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:22:22,138.138 INFO    ] Initializing speech engine...
[2026-10-20 04:22:22,147.147 INFO    ] 2026-10-20 04:22:22
[2026-10-20 04:22:22,398.398 INFO    ] 2026-10-20 04:22:22
[2026-10-20 04:22:22,433.433 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:22:22,691.691 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:22:22,700.700 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:22:22,838.838 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:22:22,897.897 INFO    ] time= 20/10/2026 04:22:22
[2026-10-20 04:22:22,962.962 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:22:22,975.975 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:22:23,103.103 INFO    ] No existing commands found in stream
[2026-10-20 04:22:28,129.129 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:22:28,133.133 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-10-20 04:22:30,621.621 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:22:30,624.624 INFO    ] Checking for system updates...
[2026-10-20 04:22:30,663.663 INFO    ] 200
[2026-10-20 04:22:30,666.666 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:22:30,717.717 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:22:30,720.720 INFO    ] No update needed
[2026-10-20 04:22:30,722.722 INFO    ] Checking for camera pi updates...
[2026-10-20 04:22:30,756.756 INFO    ] 200
[2026-10-20 04:22:30,759.759 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:22:30,808.808 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:22:30,856.856 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:22:30,859.859 INFO    ] No camera update needed
[2026-10-20 04:22:30,861.861 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:22:30,864.864 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:22:30,869.869 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:22:30,874.874 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:22:32,915.915 INFO    ] ================================================
[2026-10-20 04:22:32,930.930 INFO    ] Launching Daemon at Tue Oct 20 04:22:32 IST 2026
[2026-10-20 04:22:32,941.941 INFO    ] ================================================
[2026-10-20 04:22:33,585.585 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:22:33
[2026-10-20 04:22:34,251.251 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:22:34,563.563 INFO    ] Initializing speech engine...
[2026-10-20 04:22:34,568.568 INFO    ] 2026-10-20 04:22:34
[2026-10-20 04:22:34,877.877 INFO    ] 2026-10-20 04:22:34
[2026-10-20 04:22:34,961.961 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:22:35,177.177 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:22:35,183.183 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:22:35,375.375 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:22:35,382.382 INFO    ] time= 20/10/2026 04:22:35
[2026-10-20 04:22:35,401.401 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:22:35,423.423 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:22:35,562.562 INFO    ] No existing commands found in stream
[2026-10-20 04:22:40,588.588 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:22:40,591.591 INFO    ] Waiting 3.36 seconds before fallback handling...
[2026-10-20 04:22:44,629.629 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:22:44,632.632 INFO    ] Checking for system updates...
[2026-10-20 04:22:44,672.672 INFO    ] 200
[2026-10-20 04:22:44,675.675 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:22:44,733.733 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:22:44,736.736 INFO    ] No update needed
[2026-10-20 04:22:44,740.740 INFO    ] Checking for camera pi updates...
[2026-10-20 04:22:44,777.777 INFO    ] 200
[2026-10-20 04:22:44,780.780 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:22:44,825.825 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:22:44,872.872 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:22:44,874.874 INFO    ] No camera update needed
[2026-10-20 04:22:44,877.877 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:22:44,879.879 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:22:44,884.884 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:22:44,889.889 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:22:46,929.929 INFO    ] ================================================
[2026-10-20 04:22:46,945.945 INFO    ] Launching Daemon at Tue Oct 20 04:22:46 IST 2026
[2026-10-20 04:22:46,955.955 INFO    ] ================================================
[2026-10-20 04:22:47,522.522 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:22:47
[2026-10-20 04:22:48,106.106 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:22:48,367.367 INFO    ] Initializing speech engine...
[2026-10-20 04:22:48,387.387 INFO    ] 2026-10-20 04:22:48
[2026-10-20 04:22:48,637.637 INFO    ] 2026-10-20 04:22:48
[2026-10-20 04:22:48,672.672 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:22:48,998.998 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:22:49,004.004 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:22:49,199.199 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:22:49,206.206 INFO    ] time= 20/10/2026 04:22:49
[2026-10-20 04:22:49,220.220 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:22:49,229.229 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:22:49,362.362 INFO    ] No existing commands found in stream
[2026-10-20 04:22:54,382.382 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:22:54,385.385 INFO    ] Waiting 0.00 seconds before fallback handling...
[2026-10-20 04:22:54,880.880 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:22:54,883.883 INFO    ] Checking for system updates...
[2026-10-20 04:22:54,919.919 INFO    ] 200
[2026-10-20 04:22:54,922.922 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:22:54,974.974 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:22:54,977.977 INFO    ] No update needed
[2026-10-20 04:22:54,979.979 INFO    ] Checking for camera pi updates...
[2026-10-20 04:22:55,017.017 INFO    ] 200
[2026-10-20 04:22:55,019.019 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:22:55,070.070 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:22:55,119.119 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:22:55,122.122 INFO    ] No camera update needed
[2026-10-20 04:22:55,124.124 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:22:55,127.127 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:22:55,133.133 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:22:55,139.139 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:22:57,180.180 INFO    ] ================================================
[2026-10-20 04:22:57,195.195 INFO    ] Launching Daemon at Tue Oct 20 04:22:57 IST 2026
[2026-10-20 04:22:57,206.206 INFO    ] ================================================
[2026-10-20 04:22:57,786.786 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:22:57
[2026-10-20 04:22:58,388.388 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:22:58,666.666 INFO    ] Initializing speech engine...
[2026-10-20 04:22:58,672.672 INFO    ] 2026-10-20 04:22:58
[2026-10-20 04:22:58,937.937 INFO    ] 2026-10-20 04:22:58
[2026-10-20 04:22:58,973.973 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:22:59,194.194 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:22:59,202.202 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:22:59,422.422 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:22:59,428.428 INFO    ] time= 20/10/2026 04:22:59
[2026-10-20 04:22:59,483.483 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:22:59,532.532 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:22:59,631.631 INFO    ] No existing commands found in stream
[2026-10-20 04:23:04,641.641 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:23:04,644.644 INFO    ] Waiting 3.49 seconds before fallback handling...
[2026-10-20 04:23:08,713.713 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 04:23:08,716.716 INFO    ] Checking for system updates...
[2026-10-20 04:23:08,753.753 INFO    ] 200
[2026-10-20 04:23:08,755.755 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:23:08,808.808 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:23:08,811.811 INFO    ] No update needed
[2026-10-20 04:23:08,813.813 INFO    ] Checking for camera pi updates...
[2026-10-20 04:23:08,863.863 INFO    ] 200
[2026-10-20 04:23:08,866.866 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:23:08,908.908 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:23:08,955.955 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:23:08,957.957 INFO    ] No camera update needed
[2026-10-20 04:23:08,960.960 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:23:08,962.962 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:23:08,967.967 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:23:08,972.972 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:23:11,012.012 INFO    ] ================================================
[2026-10-20 04:23:11,027.027 INFO    ] Launching Daemon at Tue Oct 20 04:23:11 IST 2026
[2026-10-20 04:23:11,041.041 INFO    ] ================================================
[2026-10-20 04:23:11,622.622 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:23:11
[2026-10-20 04:23:12,221.221 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:23:12,484.484 INFO    ] Initializing speech engine...
[2026-10-20 04:23:12,500.500 INFO    ] 2026-10-20 04:23:12
[2026-10-20 04:23:12,787.787 INFO    ] 2026-10-20 04:23:12
[2026-10-20 04:23:12,824.824 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:23:13,052.052 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:23:13,102.102 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:23:13,282.282 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:23:13,352.352 INFO    ] time= 20/10/2026 04:23:13
[2026-10-20 04:23:13,411.411 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:23:13,432.432 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:23:13,567.567 INFO    ] No existing commands found in stream
[2026-10-20 04:23:18,590.590 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:23:18,592.592 INFO    ] Waiting 2.80 seconds before fallback handling...
[2026-10-20 04:23:21,965.965 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:23:21,968.968 INFO    ] Checking for system updates...
[2026-10-20 04:23:22,005.005 INFO    ] 200
[2026-10-20 04:23:22,008.008 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:23:22,067.067 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:23:22,070.070 INFO    ] No update needed
[2026-10-20 04:23:22,074.074 INFO    ] Checking for camera pi updates...
[2026-10-20 04:23:22,112.112 INFO    ] 200
[2026-10-20 04:23:22,115.115 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:23:22,165.165 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:23:22,210.210 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:23:22,213.213 INFO    ] No camera update needed
[2026-10-20 04:23:22,215.215 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:23:22,218.218 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:23:22,224.224 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:23:22,230.230 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:23:24,272.272 INFO    ] ================================================
[2026-10-20 04:23:24,287.287 INFO    ] Launching Daemon at Tue Oct 20 04:23:24 IST 2026
[2026-10-20 04:23:24,298.298 INFO    ] ================================================
[2026-10-20 04:23:24,872.872 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:23:24
[2026-10-20 04:23:25,472.472 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:23:25,750.750 INFO    ] Initializing speech engine...
[2026-10-20 04:23:25,756.756 INFO    ] 2026-10-20 04:23:25
[2026-10-20 04:23:26,019.019 INFO    ] 2026-10-20 04:23:26
[2026-10-20 04:23:26,052.052 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:23:26,271.271 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:23:26,331.331 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:23:26,496.496 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:23:26,518.518 INFO    ] time= 20/10/2026 04:23:26
[2026-10-20 04:23:26,568.568 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:23:26,622.622 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:23:26,719.719 INFO    ] No existing commands found in stream
[2026-10-20 04:23:31,751.751 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:23:31,754.754 INFO    ] Waiting 3.61 seconds before fallback handling...
[2026-10-20 04:23:35,997.997 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:23:36,000.000 INFO    ] Checking for system updates...
[2026-10-20 04:23:36,035.035 INFO    ] 200
[2026-10-20 04:23:36,037.037 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:23:36,096.096 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:23:36,098.098 INFO    ] No update needed
[2026-10-20 04:23:36,101.101 INFO    ] Checking for camera pi updates...
[2026-10-20 04:23:36,134.134 INFO    ] 200
[2026-10-20 04:23:36,137.137 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:23:36,177.177 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:23:36,222.222 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:23:36,224.224 INFO    ] No camera update needed
[2026-10-20 04:23:36,226.226 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:23:36,229.229 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:23:36,234.234 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:23:36,239.239 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:23:38,278.278 INFO    ] ================================================
[2026-10-20 04:23:38,293.293 INFO    ] Launching Daemon at Tue Oct 20 04:23:38 IST 2026
[2026-10-20 04:23:38,304.304 INFO    ] ================================================
[2026-10-20 04:23:38,897.897 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:23:38
[2026-10-20 04:23:39,580.580 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:23:39,881.881 INFO    ] Initializing speech engine...
[2026-10-20 04:23:39,891.891 INFO    ] 2026-10-20 04:23:39
[2026-10-20 04:23:40,166.166 INFO    ] 2026-10-20 04:23:40
[2026-10-20 04:23:40,222.222 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:23:40,453.453 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:23:40,456.456 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:23:40,709.709 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:23:40,743.743 INFO    ] time= 20/10/2026 04:23:40
[2026-10-20 04:23:40,764.764 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:23:40,792.792 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:23:40,921.921 INFO    ] No existing commands found in stream
[2026-10-20 04:23:45,947.947 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:23:45,950.950 INFO    ] Waiting 3.15 seconds before fallback handling...
[2026-10-20 04:23:49,660.660 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 04:23:49,663.663 INFO    ] Checking for system updates...
[2026-10-20 04:23:49,700.700 INFO    ] 200
[2026-10-20 04:23:49,702.702 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:23:49,755.755 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:23:49,758.758 INFO    ] No update needed
[2026-10-20 04:23:49,760.760 INFO    ] Checking for camera pi updates...
[2026-10-20 04:23:49,798.798 INFO    ] 200
[2026-10-20 04:23:49,801.801 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:23:49,845.845 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:23:49,894.894 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:23:49,896.896 INFO    ] No camera update needed
[2026-10-20 04:23:49,899.899 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:23:49,901.901 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:23:49,907.907 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:23:49,912.912 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:23:51,952.952 INFO    ] ================================================
[2026-10-20 04:23:51,967.967 INFO    ] Launching Daemon at Tue Oct 20 04:23:51 IST 2026
[2026-10-20 04:23:51,978.978 INFO    ] ================================================
[2026-10-20 04:23:52,592.592 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:23:52
[2026-10-20 04:23:53,268.268 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:23:53,575.575 INFO    ] Initializing speech engine...
[2026-10-20 04:23:53,583.583 INFO    ] 2026-10-20 04:23:53
[2026-10-20 04:23:53,873.873 INFO    ] 2026-10-20 04:23:53
[2026-10-20 04:23:53,920.920 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:23:54,279.279 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:23:54,306.306 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:23:54,563.563 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:23:54,591.591 INFO    ] time= 20/10/2026 04:23:54
[2026-10-20 04:23:54,646.646 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:23:54,687.687 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:23:54,844.844 INFO    ] No existing commands found in stream
[2026-10-20 04:23:59,877.877 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:23:59,880.880 INFO    ] Waiting 1.98 seconds before fallback handling...
[2026-10-20 04:24:02,421.421 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:24:02,424.424 INFO    ] Checking for system updates...
[2026-10-20 04:24:02,464.464 INFO    ] 200
[2026-10-20 04:24:02,467.467 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:24:02,534.534 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:24:02,537.537 INFO    ] No update needed
[2026-10-20 04:24:02,540.540 INFO    ] Checking for camera pi updates...
[2026-10-20 04:24:02,582.582 INFO    ] 200
[2026-10-20 04:24:02,585.585 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:24:02,634.634 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:24:02,665.665 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:24:02,670.670 INFO    ] No camera update needed
[2026-10-20 04:24:02,674.674 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:24:02,676.676 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:24:02,684.684 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:24:02,691.691 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:24:04,732.732 INFO    ] ================================================
[2026-10-20 04:24:04,747.747 INFO    ] Launching Daemon at Tue Oct 20 04:24:04 IST 2026
[2026-10-20 04:24:04,758.758 INFO    ] ================================================
[2026-10-20 04:24:05,339.339 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:24:05
[2026-10-20 04:24:05,940.940 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:24:06,212.212 INFO    ] Initializing speech engine...
[2026-10-20 04:24:06,222.222 INFO    ] 2026-10-20 04:24:06
[2026-10-20 04:24:06,486.486 INFO    ] 2026-10-20 04:24:06
[2026-10-20 04:24:06,539.539 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:24:06,828.828 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:24:06,834.834 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:24:07,025.025 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:24:07,031.031 INFO    ] time= 20/10/2026 04:24:07
[2026-10-20 04:24:07,049.049 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:24:07,067.067 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:24:07,195.195 INFO    ] No existing commands found in stream
[2026-10-20 04:24:12,219.219 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:24:12,222.222 INFO    ] Waiting 0.35 seconds before fallback handling...
[2026-10-20 04:24:13,117.117 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:24:13,120.120 INFO    ] Checking for system updates...
[2026-10-20 04:24:13,161.161 INFO    ] 200
[2026-10-20 04:24:13,164.164 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:24:13,229.229 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:24:13,232.232 INFO    ] No update needed
[2026-10-20 04:24:13,235.235 INFO    ] Checking for camera pi updates...
[2026-10-20 04:24:13,270.270 INFO    ] 200
[2026-10-20 04:24:13,273.273 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:24:13,319.319 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:24:13,369.369 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:24:13,372.372 INFO    ] No camera update needed
[2026-10-20 04:24:13,374.374 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:24:13,377.377 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:24:13,383.383 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:24:13,389.389 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:24:15,430.430 INFO    ] ================================================
[2026-10-20 04:24:15,445.445 INFO    ] Launching Daemon at Tue Oct 20 04:24:15 IST 2026
[2026-10-20 04:24:15,456.456 INFO    ] ================================================
[2026-10-20 04:24:16,022.022 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:24:16
[2026-10-20 04:24:16,621.621 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:24:16,897.897 INFO    ] Initializing speech engine...
[2026-10-20 04:24:16,905.905 INFO    ] 2026-10-20 04:24:16
[2026-10-20 04:24:17,166.166 INFO    ] 2026-10-20 04:24:17
[2026-10-20 04:24:17,220.220 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:24:17,507.507 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:24:17,516.516 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:24:17,708.708 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:24:17,726.726 INFO    ] time= 20/10/2026 04:24:17
[2026-10-20 04:24:17,755.755 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:24:17,762.762 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:24:17,878.878 INFO    ] No existing commands found in stream
[2026-10-20 04:24:22,909.909 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:24:22,912.912 INFO    ] Waiting 3.80 seconds before fallback handling...
[2026-10-20 04:24:27,219.219 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:24:27,222.222 INFO    ] Checking for system updates...
[2026-10-20 04:24:27,259.259 INFO    ] 200
[2026-10-20 04:24:27,261.261 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:24:27,313.313 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:24:27,316.316 INFO    ] No update needed
[2026-10-20 04:24:27,318.318 INFO    ] Checking for camera pi updates...
[2026-10-20 04:24:27,355.355 INFO    ] 200
[2026-10-20 04:24:27,358.358 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:24:27,403.403 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:24:27,463.463 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:24:27,465.465 INFO    ] No camera update needed
[2026-10-20 04:24:27,468.468 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:24:27,470.470 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:24:27,475.475 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:24:27,481.481 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:24:29,522.522 INFO    ] ================================================
[2026-10-20 04:24:29,537.537 INFO    ] Launching Daemon at Tue Oct 20 04:24:29 IST 2026
[2026-10-20 04:24:29,547.547 INFO    ] ================================================
[2026-10-20 04:24:30,129.129 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:24:30
[2026-10-20 04:24:30,729.729 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:24:31,001.001 INFO    ] Initializing speech engine...
[2026-10-20 04:24:31,020.020 INFO    ] 2026-10-20 04:24:31
[2026-10-20 04:24:31,293.293 INFO    ] 2026-10-20 04:24:31
[2026-10-20 04:24:31,329.329 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:24:31,542.542 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:24:31,570.570 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:24:31,716.716 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:24:31,726.726 INFO    ] time= 20/10/2026 04:24:31
[2026-10-20 04:24:31,791.791 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:24:31,833.833 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:24:31,948.948 INFO    ] No existing commands found in stream
[2026-10-20 04:24:36,982.982 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:24:36,985.985 INFO    ] Waiting 1.33 seconds before fallback handling...
[2026-10-20 04:24:38,839.839 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:24:38,842.842 INFO    ] Checking for system updates...
[2026-10-20 04:24:38,883.883 INFO    ] 200
[2026-10-20 04:24:38,887.887 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:24:38,939.939 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:24:38,942.942 INFO    ] No update needed
[2026-10-20 04:24:38,945.945 INFO    ] Checking for camera pi updates...
[2026-10-20 04:24:38,980.980 INFO    ] 200
[2026-10-20 04:24:38,983.983 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:24:39,028.028 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:24:39,078.078 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:24:39,082.082 INFO    ] No camera update needed
[2026-10-20 04:24:39,084.084 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:24:39,087.087 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:24:39,093.093 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:24:39,099.099 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:24:41,139.139 INFO    ] ================================================
[2026-10-20 04:24:41,155.155 INFO    ] Launching Daemon at Tue Oct 20 04:24:41 IST 2026
[2026-10-20 04:24:41,165.165 INFO    ] ================================================
[2026-10-20 04:24:41,818.818 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:24:41
[2026-10-20 04:24:42,492.492 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:24:42,797.797 INFO    ] Initializing speech engine...
[2026-10-20 04:24:42,812.812 INFO    ] 2026-10-20 04:24:42
[2026-10-20 04:24:43,084.084 INFO    ] 2026-10-20 04:24:43
[2026-10-20 04:24:43,143.143 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:24:43,436.436 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:24:43,444.444 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:24:43,647.647 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:24:43,666.666 INFO    ] time= 20/10/2026 04:24:43
[2026-10-20 04:24:43,696.696 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:24:43,703.703 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:24:43,811.811 INFO    ] No existing commands found in stream
[2026-10-20 04:24:48,842.842 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:24:48,845.845 INFO    ] Waiting 3.95 seconds before fallback handling...
[2026-10-20 04:24:53,561.561 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:24:53,564.564 INFO    ] Checking for system updates...
[2026-10-20 04:24:53,600.600 INFO    ] 200
[2026-10-20 04:24:53,603.603 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:24:53,657.657 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:24:53,659.659 INFO    ] No update needed
[2026-10-20 04:24:53,662.662 INFO    ] Checking for camera pi updates...
[2026-10-20 04:24:53,698.698 INFO    ] 200
[2026-10-20 04:24:53,701.701 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:24:53,747.747 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:24:53,796.796 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:24:53,799.799 INFO    ] No camera update needed
[2026-10-20 04:24:53,801.801 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:24:53,804.804 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:24:53,810.810 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:24:53,816.816 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:24:55,858.858 INFO    ] ================================================
[2026-10-20 04:24:55,872.872 INFO    ] Launching Daemon at Tue Oct 20 04:24:55 IST 2026
[2026-10-20 04:24:55,883.883 INFO    ] ================================================
[2026-10-20 04:24:56,450.450 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:24:56
[2026-10-20 04:24:57,036.036 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:24:57,313.313 INFO    ] Initializing speech engine...
[2026-10-20 04:24:57,322.322 INFO    ] 2026-10-20 04:24:57
[2026-10-20 04:24:57,578.578 INFO    ] 2026-10-20 04:24:57
[2026-10-20 04:24:57,613.613 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:24:57,863.863 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:24:57,873.873 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:24:58,093.093 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:24:58,138.138 INFO    ] time= 20/10/2026 04:24:58
[2026-10-20 04:24:58,144.144 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:24:58,163.163 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:24:58,298.298 INFO    ] No existing commands found in stream
[2026-10-20 04:25:03,315.315 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:25:03,317.317 INFO    ] Waiting 0.79 seconds before fallback handling...
[2026-10-20 04:25:04,674.674 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:25:04,676.676 INFO    ] Checking for system updates...
[2026-10-20 04:25:04,711.711 INFO    ] 200
[2026-10-20 04:25:04,714.714 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:25:04,766.766 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:25:04,769.769 INFO    ] No update needed
[2026-10-20 04:25:04,771.771 INFO    ] Checking for camera pi updates...
[2026-10-20 04:25:04,804.804 INFO    ] 200
[2026-10-20 04:25:04,807.807 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:25:04,846.846 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:25:04,878.878 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:25:04,881.881 INFO    ] No camera update needed
[2026-10-20 04:25:04,883.883 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:25:04,885.885 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:25:04,891.891 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:25:04,896.896 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:25:06,937.937 INFO    ] ================================================
[2026-10-20 04:25:06,953.953 INFO    ] Launching Daemon at Tue Oct 20 04:25:06 IST 2026
[2026-10-20 04:25:06,964.964 INFO    ] ================================================
[2026-10-20 04:25:07,606.606 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:25:07
[2026-10-20 04:25:08,268.268 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:25:08,570.570 INFO    ] Initializing speech engine...
[2026-10-20 04:25:08,577.577 INFO    ] 2026-10-20 04:25:08
[2026-10-20 04:25:08,864.864 INFO    ] 2026-10-20 04:25:08
[2026-10-20 04:25:08,911.911 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:25:09,203.203 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:25:09,209.209 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:25:09,405.405 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:25:09,427.427 INFO    ] time= 20/10/2026 04:25:09
[2026-10-20 04:25:09,461.461 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:25:09,469.469 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:25:09,596.596 INFO    ] No existing commands found in stream
[2026-10-20 04:25:14,627.627 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:25:14,631.631 INFO    ] Waiting 0.27 seconds before fallback handling...
[2026-10-20 04:25:15,416.416 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:25:15,419.419 INFO    ] Checking for system updates...
[2026-10-20 04:25:15,455.455 INFO    ] 200
[2026-10-20 04:25:15,458.458 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:25:15,516.516 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:25:15,520.520 INFO    ] No update needed
[2026-10-20 04:25:15,523.523 INFO    ] Checking for camera pi updates...
[2026-10-20 04:25:15,557.557 INFO    ] 200
[2026-10-20 04:25:15,559.559 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:25:15,601.601 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:25:15,650.650 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:25:15,653.653 INFO    ] No camera update needed
[2026-10-20 04:25:15,656.656 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:25:15,658.658 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:25:15,665.665 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:25:15,670.670 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:25:17,711.711 INFO    ] ================================================
[2026-10-20 04:25:17,727.727 INFO    ] Launching Daemon at Tue Oct 20 04:25:17 IST 2026
[2026-10-20 04:25:17,738.738 INFO    ] ================================================
[2026-10-20 04:25:18,310.310 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:25:18
[2026-10-20 04:25:18,900.900 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:25:19,153.153 INFO    ] Initializing speech engine...
[2026-10-20 04:25:19,176.176 INFO    ] 2026-10-20 04:25:19
[2026-10-20 04:25:19,431.431 INFO    ] 2026-10-20 04:25:19
[2026-10-20 04:25:19,466.466 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:25:19,725.725 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:25:19,734.734 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:25:19,968.968 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:25:19,999.999 INFO    ] time= 20/10/2026 04:25:19
[2026-10-20 04:25:20,004.004 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:25:20,022.022 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:25:20,140.140 INFO    ] No existing commands found in stream
[2026-10-20 04:25:25,166.166 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:25:25,169.169 INFO    ] Waiting 2.99 seconds before fallback handling...
[2026-10-20 04:25:28,680.680 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 04:25:28,683.683 INFO    ] Checking for system updates...
[2026-10-20 04:25:28,718.718 INFO    ] 200
[2026-10-20 04:25:28,721.721 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:25:28,777.777 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:25:28,780.780 INFO    ] No update needed
[2026-10-20 04:25:28,782.782 INFO    ] Checking for camera pi updates...
[2026-10-20 04:25:28,815.815 INFO    ] 200
[2026-10-20 04:25:28,817.817 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:25:28,861.861 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:25:28,904.904 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:25:28,907.907 INFO    ] No camera update needed
[2026-10-20 04:25:28,909.909 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:25:28,911.911 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:25:28,916.916 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:25:28,921.921 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:25:30,962.962 INFO    ] ================================================
[2026-10-20 04:25:30,977.977 INFO    ] Launching Daemon at Tue Oct 20 04:25:30 IST 2026
[2026-10-20 04:25:30,990.990 INFO    ] ================================================
[2026-10-20 04:25:31,564.564 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:25:31
[2026-10-20 04:25:32,191.191 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:25:32,461.461 INFO    ] Initializing speech engine...
[2026-10-20 04:25:32,476.476 INFO    ] 2026-10-20 04:25:32
[2026-10-20 04:25:32,752.752 INFO    ] 2026-10-20 04:25:32
[2026-10-20 04:25:32,792.792 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:25:33,055.055 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:25:33,064.064 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:25:33,290.290 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:25:33,321.321 INFO    ] time= 20/10/2026 04:25:33
[2026-10-20 04:25:33,327.327 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:25:33,345.345 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:25:33,461.461 INFO    ] No existing commands found in stream
[2026-10-20 04:25:38,485.485 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:25:38,488.488 INFO    ] Waiting 2.78 seconds before fallback handling...
[2026-10-20 04:25:41,779.779 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:25:41,782.782 INFO    ] Checking for system updates...
[2026-10-20 04:25:41,825.825 INFO    ] 200
[2026-10-20 04:25:41,827.827 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:25:41,886.886 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:25:41,890.890 INFO    ] No update needed
[2026-10-20 04:25:41,892.892 INFO    ] Checking for camera pi updates...
[2026-10-20 04:25:41,927.927 INFO    ] 200
[2026-10-20 04:25:41,930.930 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:25:41,971.971 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:25:42,115.115 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:25:42,118.118 INFO    ] No camera update needed
[2026-10-20 04:25:42,121.121 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:25:42,123.123 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:25:42,130.130 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:25:42,135.135 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:25:44,178.178 INFO    ] ================================================
[2026-10-20 04:25:44,194.194 INFO    ] Launching Daemon at Tue Oct 20 04:25:44 IST 2026
[2026-10-20 04:25:44,205.205 INFO    ] ================================================
[2026-10-20 04:25:44,769.769 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:25:44
[2026-10-20 04:25:45,350.350 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:25:45,597.597 INFO    ] Initializing speech engine...
[2026-10-20 04:25:45,622.622 INFO    ] 2026-10-20 04:25:45
[2026-10-20 04:25:45,876.876 INFO    ] 2026-10-20 04:25:45
[2026-10-20 04:25:45,910.910 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:25:46,172.172 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:25:46,179.179 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:25:46,409.409 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:25:46,441.441 INFO    ] time= 20/10/2026 04:25:46
[2026-10-20 04:25:46,447.447 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:25:46,464.464 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:25:46,587.587 INFO    ] No existing commands found in stream
[2026-10-20 04:25:51,607.607 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:25:51,609.609 INFO    ] Waiting 2.90 seconds before fallback handling...
[2026-10-20 04:25:55,035.035 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:25:55,038.038 INFO    ] Checking for system updates...
[2026-10-20 04:25:55,073.073 INFO    ] 200
[2026-10-20 04:25:55,076.076 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:25:55,127.127 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:25:55,130.130 INFO    ] No update needed
[2026-10-20 04:25:55,133.133 INFO    ] Checking for camera pi updates...
[2026-10-20 04:25:55,167.167 INFO    ] 200
[2026-10-20 04:25:55,171.171 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:25:55,214.214 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:25:55,263.263 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:25:55,266.266 INFO    ] No camera update needed
[2026-10-20 04:25:55,269.269 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:25:55,272.272 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:25:55,278.278 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:25:55,285.285 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:25:57,326.326 INFO    ] ================================================
[2026-10-20 04:25:57,342.342 INFO    ] Launching Daemon at Tue Oct 20 04:25:57 IST 2026
[2026-10-20 04:25:57,354.354 INFO    ] ================================================
[2026-10-20 04:25:57,995.995 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:25:57
[2026-10-20 04:25:58,656.656 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:25:58,953.953 INFO    ] Initializing speech engine...
[2026-10-20 04:25:58,964.964 INFO    ] 2026-10-20 04:25:58
[2026-10-20 04:25:59,232.232 INFO    ] 2026-10-20 04:25:59
[2026-10-20 04:25:59,293.293 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:25:59,589.589 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:25:59,598.598 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:25:59,797.797 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:25:59,817.817 INFO    ] time= 20/10/2026 04:25:59
[2026-10-20 04:25:59,846.846 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:25:59,858.858 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:25:59,990.990 INFO    ] No existing commands found in stream
[2026-10-20 04:26:05,016.016 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:26:05,019.019 INFO    ] Waiting 1.71 seconds before fallback handling...
[2026-10-20 04:26:07,335.335 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:26:07,338.338 INFO    ] Checking for system updates...
[2026-10-20 04:26:07,379.379 INFO    ] 200
[2026-10-20 04:26:07,382.382 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:26:07,436.436 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:26:07,439.439 INFO    ] No update needed
[2026-10-20 04:26:07,442.442 INFO    ] Checking for camera pi updates...
[2026-10-20 04:26:07,477.477 INFO    ] 200
[2026-10-20 04:26:07,480.480 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:26:07,526.526 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:26:07,572.572 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:26:07,575.575 INFO    ] No camera update needed
[2026-10-20 04:26:07,578.578 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:26:07,581.581 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:26:07,587.587 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:26:07,593.593 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:26:09,634.634 INFO    ] ================================================
[2026-10-20 04:26:09,650.650 INFO    ] Launching Daemon at Tue Oct 20 04:26:09 IST 2026
[2026-10-20 04:26:09,661.661 INFO    ] ================================================
[2026-10-20 04:26:10,234.234 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:26:10
[2026-10-20 04:26:10,828.828 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:26:11,085.085 INFO    ] Initializing speech engine...
[2026-10-20 04:26:11,094.094 INFO    ] 2026-10-20 04:26:11
[2026-10-20 04:26:11,390.390 INFO    ] 2026-10-20 04:26:11
[2026-10-20 04:26:11,425.425 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:26:11,655.655 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:26:11,664.664 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:26:11,888.888 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:26:11,895.895 INFO    ] time= 20/10/2026 04:26:11
[2026-10-20 04:26:11,949.949 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:26:11,978.978 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:26:12,099.099 INFO    ] No existing commands found in stream
[2026-10-20 04:26:17,110.110 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:26:17,113.113 INFO    ] Waiting 0.30 seconds before fallback handling...
[2026-10-20 04:26:17,936.936 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 04:26:17,939.939 INFO    ] Checking for system updates...
[2026-10-20 04:26:17,974.974 INFO    ] 200
[2026-10-20 04:26:17,977.977 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:26:18,035.035 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:26:18,038.038 INFO    ] No update needed
[2026-10-20 04:26:18,040.040 INFO    ] Checking for camera pi updates...
[2026-10-20 04:26:18,073.073 INFO    ] 200
[2026-10-20 04:26:18,076.076 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:26:18,115.115 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:26:18,164.164 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:26:18,166.166 INFO    ] No camera update needed
[2026-10-20 04:26:18,169.169 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:26:18,171.171 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:26:18,176.176 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:26:18,181.181 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:26:20,222.222 INFO    ] ================================================
[2026-10-20 04:26:20,237.237 INFO    ] Launching Daemon at Tue Oct 20 04:26:20 IST 2026
[2026-10-20 04:26:20,248.248 INFO    ] ================================================
[2026-10-20 04:26:20,912.912 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:26:20
[2026-10-20 04:26:21,600.600 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:26:21,906.906 INFO    ] Initializing speech engine...
[2026-10-20 04:26:21,919.919 INFO    ] 2026-10-20 04:26:21
[2026-10-20 04:26:22,201.201 INFO    ] 2026-10-20 04:26:22
[2026-10-20 04:26:22,246.246 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:26:22,531.531 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:26:22,536.536 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:26:22,735.735 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:26:22,755.755 INFO    ] time= 20/10/2026 04:26:22
[2026-10-20 04:26:22,784.784 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:26:22,794.794 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:26:22,923.923 INFO    ] No existing commands found in stream
[2026-10-20 04:26:27,949.949 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:26:27,952.952 INFO    ] Waiting 0.34 seconds before fallback handling...
[2026-10-20 04:26:28,815.815 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:26:28,818.818 INFO    ] Checking for system updates...
[2026-10-20 04:26:28,853.853 INFO    ] 200
[2026-10-20 04:26:28,856.856 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:26:28,909.909 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:26:28,911.911 INFO    ] No update needed
[2026-10-20 04:26:28,913.913 INFO    ] Checking for camera pi updates...
[2026-10-20 04:26:28,946.946 INFO    ] 200
[2026-10-20 04:26:28,949.949 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:26:28,988.988 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:26:29,032.032 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:26:29,034.034 INFO    ] No camera update needed
[2026-10-20 04:26:29,037.037 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:26:29,039.039 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:26:29,044.044 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:26:29,049.049 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:26:31,089.089 INFO    ] ================================================
[2026-10-20 04:26:31,105.105 INFO    ] Launching Daemon at Tue Oct 20 04:26:31 IST 2026
[2026-10-20 04:26:31,116.116 INFO    ] ================================================
[2026-10-20 04:26:31,699.699 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:26:31
[2026-10-20 04:26:32,338.338 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:26:32,641.641 INFO    ] Initializing speech engine...
[2026-10-20 04:26:32,651.651 INFO    ] 2026-10-20 04:26:32
[2026-10-20 04:26:32,941.941 INFO    ] 2026-10-20 04:26:32
[2026-10-20 04:26:32,978.978 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:26:33,209.209 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:26:33,267.267 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:26:33,502.502 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:26:33,536.536 INFO    ] time= 20/10/2026 04:26:33
[2026-10-20 04:26:33,546.546 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:26:33,564.564 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:26:33,698.698 INFO    ] No existing commands found in stream
[2026-10-20 04:26:38,726.726 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:26:38,729.729 INFO    ] Waiting 3.15 seconds before fallback handling...
[2026-10-20 04:26:42,468.468 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:26:42,470.470 INFO    ] Checking for system updates...
[2026-10-20 04:26:42,506.506 INFO    ] 200
[2026-10-20 04:26:42,509.509 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:26:42,562.562 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:26:42,564.564 INFO    ] No update needed
[2026-10-20 04:26:42,567.567 INFO    ] Checking for camera pi updates...
[2026-10-20 04:26:42,603.603 INFO    ] 200
[2026-10-20 04:26:42,606.606 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:26:42,645.645 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:26:42,696.696 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:26:42,698.698 INFO    ] No camera update needed
[2026-10-20 04:26:42,701.701 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:26:42,703.703 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:26:42,708.708 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:26:42,713.713 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:26:44,754.754 INFO    ] ================================================
[2026-10-20 04:26:44,769.769 INFO    ] Launching Daemon at Tue Oct 20 04:26:44 IST 2026
[2026-10-20 04:26:44,780.780 INFO    ] ================================================
[2026-10-20 04:26:45,455.455 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:26:45
[2026-10-20 04:26:46,133.133 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:26:46,443.443 INFO    ] Initializing speech engine...
[2026-10-20 04:26:46,455.455 INFO    ] 2026-10-20 04:26:46
[2026-10-20 04:26:46,765.765 INFO    ] 2026-10-20 04:26:46
[2026-10-20 04:26:46,850.850 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:26:47,127.127 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:26:47,170.170 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:26:47,399.399 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:26:47,426.426 INFO    ] time= 20/10/2026 04:26:47
[2026-10-20 04:26:47,481.481 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:26:47,522.522 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:26:47,670.670 INFO    ] No existing commands found in stream
[2026-10-20 04:26:52,686.686 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:26:52,690.690 INFO    ] Waiting 2.14 seconds before fallback handling...
[2026-10-20 04:26:55,397.397 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:26:55,401.401 INFO    ] Checking for system updates...
[2026-10-20 04:26:55,438.438 INFO    ] 200
[2026-10-20 04:26:55,441.441 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:26:55,494.494 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:26:55,497.497 INFO    ] No update needed
[2026-10-20 04:26:55,500.500 INFO    ] Checking for camera pi updates...
[2026-10-20 04:26:55,539.539 INFO    ] 200
[2026-10-20 04:26:55,542.542 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:26:55,584.584 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:26:55,633.633 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:26:55,636.636 INFO    ] No camera update needed
[2026-10-20 04:26:55,639.639 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:26:55,641.641 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:26:55,648.648 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:26:55,654.654 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:26:57,696.696 INFO    ] ================================================
[2026-10-20 04:26:57,713.713 INFO    ] Launching Daemon at Tue Oct 20 04:26:57 IST 2026
[2026-10-20 04:26:57,724.724 INFO    ] ================================================
[2026-10-20 04:26:58,288.288 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:26:58
[2026-10-20 04:26:58,872.872 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:26:59,125.125 INFO    ] Initializing speech engine...
[2026-10-20 04:26:59,132.132 INFO    ] 2026-10-20 04:26:59
[2026-10-20 04:26:59,428.428 INFO    ] 2026-10-20 04:26:59
[2026-10-20 04:26:59,466.466 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:26:59,691.691 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:26:59,698.698 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:26:59,853.853 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:26:59,900.900 INFO    ] time= 20/10/2026 04:26:59
[2026-10-20 04:26:59,927.927 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:26:59,934.934 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:27:00,071.071 INFO    ] No existing commands found in stream
[2026-10-20 04:27:05,089.089 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:27:05,091.091 INFO    ] Waiting 3.67 seconds before fallback handling...
[2026-10-20 04:27:09,298.298 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 04:27:09,301.301 INFO    ] Checking for system updates...
[2026-10-20 04:27:09,336.336 INFO    ] 200
[2026-10-20 04:27:09,339.339 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:27:09,391.391 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:27:09,393.393 INFO    ] No update needed
[2026-10-20 04:27:09,395.395 INFO    ] Checking for camera pi updates...
[2026-10-20 04:27:09,428.428 INFO    ] 200
[2026-10-20 04:27:09,431.431 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:27:09,472.472 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:27:09,520.520 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:27:09,522.522 INFO    ] No camera update needed
[2026-10-20 04:27:09,525.525 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:27:09,527.527 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:27:09,532.532 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:27:09,537.537 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:27:11,577.577 INFO    ] ================================================
[2026-10-20 04:27:11,593.593 INFO    ] Launching Daemon at Tue Oct 20 04:27:11 IST 2026
[2026-10-20 04:27:11,604.604 INFO    ] ================================================
[2026-10-20 04:27:12,253.253 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:27:12
[2026-10-20 04:27:12,860.860 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:27:13,118.118 INFO    ] Initializing speech engine...
[2026-10-20 04:27:13,133.133 INFO    ] 2026-10-20 04:27:13
[2026-10-20 04:27:13,418.418 INFO    ] 2026-10-20 04:27:13
[2026-10-20 04:27:13,455.455 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:27:13,678.678 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:27:13,685.685 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:27:13,904.904 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:27:13,921.921 INFO    ] time= 20/10/2026 04:27:13
[2026-10-20 04:27:13,986.986 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:27:14,030.030 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:27:14,241.241 INFO    ] No existing commands found in stream
[2026-10-20 04:27:19,256.256 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:27:19,258.258 INFO    ] Waiting 3.27 seconds before fallback handling...
[2026-10-20 04:27:23,101.101 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:27:23,104.104 INFO    ] Checking for system updates...
[2026-10-20 04:27:23,139.139 INFO    ] 200
[2026-10-20 04:27:23,141.141 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:27:23,194.194 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:27:23,196.196 INFO    ] No update needed
[2026-10-20 04:27:23,198.198 INFO    ] Checking for camera pi updates...
[2026-10-20 04:27:23,232.232 INFO    ] 200
[2026-10-20 04:27:23,235.235 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:27:23,274.274 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:27:23,321.321 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:27:23,323.323 INFO    ] No camera update needed
[2026-10-20 04:27:23,325.325 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:27:23,327.327 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:27:23,333.333 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:27:23,337.337 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:27:25,379.379 INFO    ] ================================================
[2026-10-20 04:27:25,395.395 INFO    ] Launching Daemon at Tue Oct 20 04:27:25 IST 2026
[2026-10-20 04:27:25,407.407 INFO    ] ================================================
[2026-10-20 04:27:26,054.054 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:27:26
[2026-10-20 04:27:26,721.721 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:27:27,022.022 INFO    ] Initializing speech engine...
[2026-10-20 04:27:27,034.034 INFO    ] 2026-10-20 04:27:27
[2026-10-20 04:27:27,318.318 INFO    ] 2026-10-20 04:27:27
[2026-10-20 04:27:27,355.355 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:27:27,705.705 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:27:27,752.752 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:27:27,971.971 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:27:28,017.017 INFO    ] time= 20/10/2026 04:27:27
[2026-10-20 04:27:28,067.067 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:27:28,099.099 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:27:28,250.250 INFO    ] No existing commands found in stream
[2026-10-20 04:27:33,283.283 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:27:33,286.286 INFO    ] Waiting 3.32 seconds before fallback handling...
[2026-10-20 04:27:37,223.223 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:27:37,226.226 INFO    ] Checking for system updates...
[2026-10-20 04:27:37,262.262 INFO    ] 200
[2026-10-20 04:27:37,265.265 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:27:37,319.319 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:27:37,321.321 INFO    ] No update needed
[2026-10-20 04:27:37,324.324 INFO    ] Checking for camera pi updates...
[2026-10-20 04:27:37,359.359 INFO    ] 200
[2026-10-20 04:27:37,362.362 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:27:37,403.403 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:27:37,452.452 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:27:37,455.455 INFO    ] No camera update needed
[2026-10-20 04:27:37,458.458 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:27:37,461.461 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:27:37,467.467 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:27:37,473.473 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:27:39,515.515 INFO    ] ================================================
[2026-10-20 04:27:39,531.531 INFO    ] Launching Daemon at Tue Oct 20 04:27:39 IST 2026
[2026-10-20 04:27:39,541.541 INFO    ] ================================================
[2026-10-20 04:27:40,195.195 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:27:40
[2026-10-20 04:27:40,868.868 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:27:41,177.177 INFO    ] Initializing speech engine...
[2026-10-20 04:27:41,188.188 INFO    ] 2026-10-20 04:27:41
[2026-10-20 04:27:41,466.466 INFO    ] 2026-10-20 04:27:41
[2026-10-20 04:27:41,512.512 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:27:41,797.797 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:27:41,805.805 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:27:42,000.000 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:27:42,019.019 INFO    ] time= 20/10/2026 04:27:42
[2026-10-20 04:27:42,042.042 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:27:42,055.055 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:27:42,179.179 INFO    ] No existing commands found in stream
[2026-10-20 04:27:47,210.210 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:27:47,213.213 INFO    ] Waiting 3.28 seconds before fallback handling...
[2026-10-20 04:27:52,253.253 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:27:52,256.256 INFO    ] Checking for system updates...
[2026-10-20 04:27:52,297.297 INFO    ] 200
[2026-10-20 04:27:52,300.300 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:27:52,355.355 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:27:52,357.357 INFO    ] No update needed
[2026-10-20 04:27:52,360.360 INFO    ] Checking for camera pi updates...
[2026-10-20 04:27:52,395.395 INFO    ] 200
[2026-10-20 04:27:52,398.398 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:27:52,440.440 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:27:52,597.597 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:27:52,600.600 INFO    ] No camera update needed
[2026-10-20 04:27:52,603.603 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:27:52,605.605 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:27:52,612.612 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:27:52,617.617 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:27:54,660.660 INFO    ] ================================================
[2026-10-20 04:27:54,675.675 INFO    ] Launching Daemon at Tue Oct 20 04:27:54 IST 2026
[2026-10-20 04:27:54,687.687 INFO    ] ================================================
[2026-10-20 04:27:55,270.270 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:27:55
[2026-10-20 04:27:55,878.878 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:27:56,163.163 INFO    ] Initializing speech engine...
[2026-10-20 04:27:56,169.169 INFO    ] 2026-10-20 04:27:56
[2026-10-20 04:27:56,432.432 INFO    ] 2026-10-20 04:27:56
[2026-10-20 04:27:56,487.487 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:27:56,747.747 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:27:56,755.755 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:27:56,955.955 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:27:56,997.997 INFO    ] time= 20/10/2026 04:27:56
[2026-10-20 04:27:57,003.003 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:27:57,021.021 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:27:57,140.140 INFO    ] No existing commands found in stream
[2026-10-20 04:28:02,161.161 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:28:02,164.164 INFO    ] Waiting 3.54 seconds before fallback handling...
[2026-10-20 04:28:06,175.175 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:28:06,177.177 INFO    ] Checking for system updates...
[2026-10-20 04:28:06,213.213 INFO    ] 200
[2026-10-20 04:28:06,216.216 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:28:06,267.267 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:28:06,269.269 INFO    ] No update needed
[2026-10-20 04:28:06,272.272 INFO    ] Checking for camera pi updates...
[2026-10-20 04:28:06,304.304 INFO    ] 200
[2026-10-20 04:28:06,307.307 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:28:06,347.347 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:28:06,394.394 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:28:06,396.396 INFO    ] No camera update needed
[2026-10-20 04:28:06,399.399 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:28:06,401.401 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:28:06,406.406 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:28:06,411.411 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:28:08,453.453 INFO    ] ================================================
[2026-10-20 04:28:08,469.469 INFO    ] Launching Daemon at Tue Oct 20 04:28:08 IST 2026
[2026-10-20 04:28:08,480.480 INFO    ] ================================================
[2026-10-20 04:28:09,138.138 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:28:09
[2026-10-20 04:28:09,816.816 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:28:10,130.130 INFO    ] Initializing speech engine...
[2026-10-20 04:28:10,136.136 INFO    ] 2026-10-20 04:28:10
[2026-10-20 04:28:10,406.406 INFO    ] 2026-10-20 04:28:10
[2026-10-20 04:28:10,463.463 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:28:10,752.752 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:28:10,761.761 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:28:10,972.972 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:28:11,000.000 INFO    ] time= 20/10/2026 04:28:10
[2026-10-20 04:28:11,010.010 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:28:11,021.021 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:28:11,163.163 INFO    ] No existing commands found in stream
[2026-10-20 04:28:16,194.194 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:28:16,197.197 INFO    ] Waiting 1.10 seconds before fallback handling...
[2026-10-20 04:28:17,837.837 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:28:17,841.841 INFO    ] Checking for system updates...
[2026-10-20 04:28:17,877.877 INFO    ] 200
[2026-10-20 04:28:17,880.880 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:28:17,934.934 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:28:17,937.937 INFO    ] No update needed
[2026-10-20 04:28:17,940.940 INFO    ] Checking for camera pi updates...
[2026-10-20 04:28:17,973.973 INFO    ] 200
[2026-10-20 04:28:17,976.976 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:28:18,017.017 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:28:18,068.068 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:28:18,071.071 INFO    ] No camera update needed
[2026-10-20 04:28:18,074.074 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:28:18,077.077 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:28:18,083.083 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:28:18,089.089 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:28:20,130.130 INFO    ] ================================================
[2026-10-20 04:28:20,145.145 INFO    ] Launching Daemon at Tue Oct 20 04:28:20 IST 2026
[2026-10-20 04:28:20,156.156 INFO    ] ================================================
[2026-10-20 04:28:20,761.761 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:28:20
[2026-10-20 04:28:21,361.361 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:28:21,634.634 INFO    ] Initializing speech engine...
[2026-10-20 04:28:21,645.645 INFO    ] 2026-10-20 04:28:21
[2026-10-20 04:28:21,888.888 INFO    ] 2026-10-20 04:28:21
[2026-10-20 04:28:21,924.924 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:28:22,180.180 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:28:22,184.184 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:28:22,381.381 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:28:22,435.435 INFO    ] time= 20/10/2026 04:28:22
[2026-10-20 04:28:22,449.449 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:28:22,467.467 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:28:22,600.600 INFO    ] No existing commands found in stream
[2026-10-20 04:28:27,614.614 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:28:27,617.617 INFO    ] Waiting 1.08 seconds before fallback handling...
[2026-10-20 04:28:29,221.221 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:28:29,224.224 INFO    ] Checking for system updates...
[2026-10-20 04:28:29,260.260 INFO    ] 200
[2026-10-20 04:28:29,262.262 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:28:29,314.314 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:28:29,317.317 INFO    ] No update needed
[2026-10-20 04:28:29,319.319 INFO    ] Checking for camera pi updates...
[2026-10-20 04:28:29,353.353 INFO    ] 200
[2026-10-20 04:28:29,355.355 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:28:29,395.395 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:28:29,445.445 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:28:29,448.448 INFO    ] No camera update needed
[2026-10-20 04:28:29,450.450 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:28:29,452.452 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:28:29,458.458 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:28:29,463.463 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:28:31,503.503 INFO    ] ================================================
[2026-10-20 04:28:31,519.519 INFO    ] Launching Daemon at Tue Oct 20 04:28:31 IST 2026
[2026-10-20 04:28:31,530.530 INFO    ] ================================================
[2026-10-20 04:28:32,180.180 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:28:32
[2026-10-20 04:28:32,801.801 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:28:33,072.072 INFO    ] Initializing speech engine...
[2026-10-20 04:28:33,090.090 INFO    ] 2026-10-20 04:28:33
[2026-10-20 04:28:33,379.379 INFO    ] 2026-10-20 04:28:33
[2026-10-20 04:28:33,421.421 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:28:33,622.622 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:28:33,629.629 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:28:33,807.807 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:28:33,811.811 INFO    ] time= 20/10/2026 04:28:33
[2026-10-20 04:28:33,819.819 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:28:33,824.824 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:28:33,975.975 INFO    ] No existing commands found in stream
[2026-10-20 04:28:39,000.000 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:28:39,003.003 INFO    ] Waiting 1.27 seconds before fallback handling...
[2026-10-20 04:28:40,775.775 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 04:28:40,778.778 INFO    ] Checking for system updates...
[2026-10-20 04:28:40,813.813 INFO    ] 200
[2026-10-20 04:28:40,816.816 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:28:40,868.868 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:28:40,871.871 INFO    ] No update needed
[2026-10-20 04:28:40,873.873 INFO    ] Checking for camera pi updates...
[2026-10-20 04:28:40,906.906 INFO    ] 200
[2026-10-20 04:28:40,908.908 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:28:40,948.948 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:28:40,998.998 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:28:41,000.000 INFO    ] No camera update needed
[2026-10-20 04:28:41,003.003 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:28:41,005.005 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:28:41,010.010 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:28:41,015.015 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:28:43,056.056 INFO    ] ================================================
[2026-10-20 04:28:43,072.072 INFO    ] Launching Daemon at Tue Oct 20 04:28:43 IST 2026
[2026-10-20 04:28:43,083.083 INFO    ] ================================================
[2026-10-20 04:28:43,672.672 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:28:43
[2026-10-20 04:28:44,275.275 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:28:44,555.555 INFO    ] Initializing speech engine...
[2026-10-20 04:28:44,561.561 INFO    ] 2026-10-20 04:28:44
[2026-10-20 04:28:44,822.822 INFO    ] 2026-10-20 04:28:44
[2026-10-20 04:28:44,876.876 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:28:45,163.163 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:28:45,167.167 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:28:45,364.364 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:28:45,382.382 INFO    ] time= 20/10/2026 04:28:45
[2026-10-20 04:28:45,414.414 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:28:45,421.421 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:28:45,546.546 INFO    ] No existing commands found in stream
[2026-10-20 04:28:50,576.576 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:28:50,579.579 INFO    ] Waiting 2.05 seconds before fallback handling...
[2026-10-20 04:28:53,169.169 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:28:53,172.172 INFO    ] Checking for system updates...
[2026-10-20 04:28:53,209.209 INFO    ] 200
[2026-10-20 04:28:53,211.211 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:28:53,264.264 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:28:53,266.266 INFO    ] No update needed
[2026-10-20 04:28:53,268.268 INFO    ] Checking for camera pi updates...
[2026-10-20 04:28:53,302.302 INFO    ] 200
[2026-10-20 04:28:53,305.305 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:28:53,344.344 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:28:53,389.389 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:28:53,392.392 INFO    ] No camera update needed
[2026-10-20 04:28:53,394.394 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:28:53,396.396 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:28:53,402.402 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:28:53,407.407 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:28:55,450.450 INFO    ] ================================================
[2026-10-20 04:28:55,465.465 INFO    ] Launching Daemon at Tue Oct 20 04:28:55 IST 2026
[2026-10-20 04:28:55,476.476 INFO    ] ================================================
[2026-10-20 04:28:56,049.049 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:28:56
[2026-10-20 04:28:56,637.637 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:28:56,898.898 INFO    ] Initializing speech engine...
[2026-10-20 04:28:56,916.916 INFO    ] 2026-10-20 04:28:56
[2026-10-20 04:28:57,167.167 INFO    ] 2026-10-20 04:28:57
[2026-10-20 04:28:57,203.203 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:28:57,459.459 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:28:57,468.468 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:28:57,724.724 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:28:57,766.766 INFO    ] time= 20/10/2026 04:28:57
[2026-10-20 04:28:57,773.773 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:28:57,791.791 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:28:57,934.934 INFO    ] No existing commands found in stream
[2026-10-20 04:29:02,949.949 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:29:02,952.952 INFO    ] Waiting 0.95 seconds before fallback handling...
[2026-10-20 04:29:04,391.391 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:29:04,393.393 INFO    ] Checking for system updates...
[2026-10-20 04:29:04,430.430 INFO    ] 200
[2026-10-20 04:29:04,432.432 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:29:04,485.485 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:29:04,487.487 INFO    ] No update needed
[2026-10-20 04:29:04,490.490 INFO    ] Checking for camera pi updates...
[2026-10-20 04:29:04,523.523 INFO    ] 200
[2026-10-20 04:29:04,526.526 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:29:04,566.566 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:29:04,613.613 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:29:04,616.616 INFO    ] No camera update needed
[2026-10-20 04:29:04,618.618 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:29:04,620.620 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:29:04,626.626 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:29:04,631.631 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:29:06,673.673 INFO    ] ================================================
[2026-10-20 04:29:06,688.688 INFO    ] Launching Daemon at Tue Oct 20 04:29:06 IST 2026
[2026-10-20 04:29:06,699.699 INFO    ] ================================================
[2026-10-20 04:29:07,269.269 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:29:07
[2026-10-20 04:29:07,914.914 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:29:08,226.226 INFO    ] Initializing speech engine...
[2026-10-20 04:29:08,238.238 INFO    ] 2026-10-20 04:29:08
[2026-10-20 04:29:08,523.523 INFO    ] 2026-10-20 04:29:08
[2026-10-20 04:29:08,568.568 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:29:08,862.862 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:29:08,867.867 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:29:09,083.083 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:29:09,093.093 INFO    ] time= 20/10/2026 04:29:09
[2026-10-20 04:29:09,122.122 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:29:09,131.131 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:29:09,260.260 INFO    ] No existing commands found in stream
[2026-10-20 04:29:14,286.286 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:29:14,289.289 INFO    ] Waiting 0.30 seconds before fallback handling...
[2026-10-20 04:29:15,162.162 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:29:15,165.165 INFO    ] Checking for system updates...
[2026-10-20 04:29:15,202.202 INFO    ] 200
[2026-10-20 04:29:15,205.205 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:29:15,257.257 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:29:15,260.260 INFO    ] No update needed
[2026-10-20 04:29:15,262.262 INFO    ] Checking for camera pi updates...
[2026-10-20 04:29:15,296.296 INFO    ] 200
[2026-10-20 04:29:15,298.298 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:29:15,340.340 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:29:15,392.392 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:29:15,394.394 INFO    ] No camera update needed
[2026-10-20 04:29:15,396.396 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:29:15,399.399 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:29:15,404.404 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:29:15,410.410 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:29:17,449.449 INFO    ] ================================================
[2026-10-20 04:29:17,464.464 INFO    ] Launching Daemon at Tue Oct 20 04:29:17 IST 2026
[2026-10-20 04:29:17,474.474 INFO    ] ================================================
[2026-10-20 04:29:18,051.051 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:29:18
[2026-10-20 04:29:18,645.645 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:29:18,900.900 INFO    ] Initializing speech engine...
[2026-10-20 04:29:18,906.906 INFO    ] 2026-10-20 04:29:18
[2026-10-20 04:29:19,208.208 INFO    ] 2026-10-20 04:29:19
[2026-10-20 04:29:19,244.244 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:29:19,477.477 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:29:19,485.485 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:29:19,706.706 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:29:19,718.718 INFO    ] time= 20/10/2026 04:29:19
[2026-10-20 04:29:19,747.747 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:29:19,791.791 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:29:19,893.893 INFO    ] No existing commands found in stream
[2026-10-20 04:29:24,905.905 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:29:24,908.908 INFO    ] Waiting 0.06 seconds before fallback handling...
[2026-10-20 04:29:25,460.460 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 04:29:25,463.463 INFO    ] Checking for system updates...
[2026-10-20 04:29:25,499.499 INFO    ] 200
[2026-10-20 04:29:25,501.501 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:29:25,555.555 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:29:25,557.557 INFO    ] No update needed
[2026-10-20 04:29:25,560.560 INFO    ] Checking for camera pi updates...
[2026-10-20 04:29:25,610.610 INFO    ] 200
[2026-10-20 04:29:25,613.613 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:29:25,658.658 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:29:25,703.703 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:29:25,705.705 INFO    ] No camera update needed
[2026-10-20 04:29:25,707.707 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:29:25,710.710 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:29:25,715.715 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:29:25,720.720 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:29:27,759.759 INFO    ] ================================================
[2026-10-20 04:29:27,774.774 INFO    ] Launching Daemon at Tue Oct 20 04:29:27 IST 2026
[2026-10-20 04:29:27,785.785 INFO    ] ================================================
[2026-10-20 04:29:28,368.368 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:29:28
[2026-10-20 04:29:28,971.971 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:29:29,251.251 INFO    ] Initializing speech engine...
[2026-10-20 04:29:29,258.258 INFO    ] 2026-10-20 04:29:29
[2026-10-20 04:29:29,519.519 INFO    ] 2026-10-20 04:29:29
[2026-10-20 04:29:29,549.549 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:29:29,801.801 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:29:29,807.807 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:29:30,039.039 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:29:30,064.064 INFO    ] time= 20/10/2026 04:29:30
[2026-10-20 04:29:30,081.081 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:29:30,091.091 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:29:30,220.220 INFO    ] No existing commands found in stream
[2026-10-20 04:29:35,235.235 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:29:35,238.238 INFO    ] Waiting 0.63 seconds before fallback handling...
[2026-10-20 04:29:36,381.381 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:29:36,383.383 INFO    ] Checking for system updates...
[2026-10-20 04:29:36,423.423 INFO    ] 200
[2026-10-20 04:29:36,426.426 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:29:36,479.479 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:29:36,482.482 INFO    ] No update needed
[2026-10-20 04:29:36,484.484 INFO    ] Checking for camera pi updates...
[2026-10-20 04:29:36,519.519 INFO    ] 200
[2026-10-20 04:29:36,521.521 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:29:36,562.562 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:29:36,618.618 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:29:36,620.620 INFO    ] No camera update needed
[2026-10-20 04:29:36,623.623 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:29:36,625.625 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:29:36,631.631 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:29:36,636.636 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:29:38,677.677 INFO    ] ================================================
[2026-10-20 04:29:38,692.692 INFO    ] Launching Daemon at Tue Oct 20 04:29:38 IST 2026
[2026-10-20 04:29:38,703.703 INFO    ] ================================================
[2026-10-20 04:29:39,270.270 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:29:39
[2026-10-20 04:29:39,853.853 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:29:40,099.099 INFO    ] Initializing speech engine...
[2026-10-20 04:29:40,107.107 INFO    ] 2026-10-20 04:29:40
[2026-10-20 04:29:40,379.379 INFO    ] 2026-10-20 04:29:40
[2026-10-20 04:29:40,413.413 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:29:40,657.657 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:29:40,686.686 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:29:40,836.836 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:29:40,906.906 INFO    ] time= 20/10/2026 04:29:40
[2026-10-20 04:29:40,962.962 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:29:40,968.968 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:29:41,112.112 INFO    ] No existing commands found in stream
[2026-10-20 04:29:46,121.121 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:29:46,124.124 INFO    ] Waiting 1.71 seconds before fallback handling...
[2026-10-20 04:29:48,396.396 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:29:48,403.403 INFO    ] Checking for system updates...
[2026-10-20 04:29:48,440.440 INFO    ] 200
[2026-10-20 04:29:48,443.443 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:29:48,495.495 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:29:48,498.498 INFO    ] No update needed
[2026-10-20 04:29:48,501.501 INFO    ] Checking for camera pi updates...
[2026-10-20 04:29:48,536.536 INFO    ] 200
[2026-10-20 04:29:48,539.539 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:29:48,580.580 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:29:48,631.631 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:29:48,633.633 INFO    ] No camera update needed
[2026-10-20 04:29:48,636.636 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:29:48,639.639 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:29:48,645.645 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:29:48,651.651 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:29:50,692.692 INFO    ] ================================================
[2026-10-20 04:29:50,711.711 INFO    ] Launching Daemon at Tue Oct 20 04:29:50 IST 2026
[2026-10-20 04:29:50,722.722 INFO    ] ================================================
[2026-10-20 04:29:51,289.289 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:29:51
[2026-10-20 04:29:51,874.874 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:29:52,145.145 INFO    ] Initializing speech engine...
[2026-10-20 04:29:52,152.152 INFO    ] 2026-10-20 04:29:52
[2026-10-20 04:29:52,404.404 INFO    ] 2026-10-20 04:29:52
[2026-10-20 04:29:52,439.439 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:29:52,643.643 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:29:52,702.702 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:29:52,878.878 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:29:52,918.918 INFO    ] time= 20/10/2026 04:29:52
[2026-10-20 04:29:52,967.967 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:29:53,003.003 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:29:53,146.146 INFO    ] No existing commands found in stream
[2026-10-20 04:29:58,176.176 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:29:58,179.179 INFO    ] Waiting 0.82 seconds before fallback handling...
[2026-10-20 04:29:59,521.521 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:29:59,524.524 INFO    ] Checking for system updates...
[2026-10-20 04:29:59,560.560 INFO    ] 200
[2026-10-20 04:29:59,562.562 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:29:59,614.614 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:29:59,616.616 INFO    ] No update needed
[2026-10-20 04:29:59,618.618 INFO    ] Checking for camera pi updates...
[2026-10-20 04:29:59,652.652 INFO    ] 200
[2026-10-20 04:29:59,654.654 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:29:59,696.696 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:29:59,839.839 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:29:59,842.842 INFO    ] No camera update needed
[2026-10-20 04:29:59,844.844 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:29:59,846.846 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:29:59,852.852 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:29:59,857.857 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:30:01,903.903 INFO    ] ================================================
[2026-10-20 04:30:01,954.954 INFO    ] Launching Daemon at Tue Oct 20 04:30:01 IST 2026
[2026-10-20 04:30:01,982.982 INFO    ] ================================================
[2026-10-20 04:30:02,844.844 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:30:02
[2026-10-20 04:30:03,626.626 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:30:03,966.966 INFO    ] Initializing speech engine...
[2026-10-20 04:30:03,978.978 INFO    ] 2026-10-20 04:30:03
[2026-10-20 04:30:04,283.283 INFO    ] 2026-10-20 04:30:04
[2026-10-20 04:30:04,365.365 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:30:04,648.648 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:30:04,680.680 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:30:04,915.915 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:30:04,951.951 INFO    ] time= 20/10/2026 04:30:04
[2026-10-20 04:30:05,006.006 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:30:05,063.063 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:30:05,206.206 INFO    ] No existing commands found in stream
[2026-10-20 04:30:10,238.238 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:30:10,242.242 INFO    ] Waiting 2.50 seconds before fallback handling...
[2026-10-20 04:30:13,262.262 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:30:13,265.265 INFO    ] Checking for system updates...
[2026-10-20 04:30:13,302.302 INFO    ] 200
[2026-10-20 04:30:13,305.305 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:30:13,357.357 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:30:13,360.360 INFO    ] No update needed
[2026-10-20 04:30:13,363.363 INFO    ] Checking for camera pi updates...
[2026-10-20 04:30:13,397.397 INFO    ] 200
[2026-10-20 04:30:13,400.400 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:30:13,441.441 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:30:13,490.490 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:30:13,493.493 INFO    ] No camera update needed
[2026-10-20 04:30:13,496.496 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:30:13,499.499 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:30:13,505.505 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:30:13,511.511 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:30:15,552.552 INFO    ] ================================================
[2026-10-20 04:30:15,567.567 INFO    ] Launching Daemon at Tue Oct 20 04:30:15 IST 2026
[2026-10-20 04:30:15,578.578 INFO    ] ================================================
[2026-10-20 04:30:16,152.152 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:30:16
[2026-10-20 04:30:16,740.740 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:30:16,992.992 INFO    ] Initializing speech engine...
[2026-10-20 04:30:16,999.999 INFO    ] 2026-10-20 04:30:16
[2026-10-20 04:30:17,271.271 INFO    ] 2026-10-20 04:30:17
[2026-10-20 04:30:17,306.306 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:30:17,507.507 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:30:17,521.521 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:30:17,683.683 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:30:17,693.693 INFO    ] time= 20/10/2026 04:30:17
[2026-10-20 04:30:17,699.699 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:30:17,713.713 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:30:17,843.843 INFO    ] No existing commands found in stream
[2026-10-20 04:30:22,868.868 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:30:22,871.871 INFO    ] Waiting 1.47 seconds before fallback handling...
[2026-10-20 04:30:24,839.839 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:30:24,841.841 INFO    ] Checking for system updates...
[2026-10-20 04:30:24,880.880 INFO    ] 200
[2026-10-20 04:30:24,883.883 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:30:24,934.934 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:30:24,937.937 INFO    ] No update needed
[2026-10-20 04:30:24,939.939 INFO    ] Checking for camera pi updates...
[2026-10-20 04:30:24,975.975 INFO    ] 200
[2026-10-20 04:30:24,978.978 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:30:25,022.022 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:30:25,069.069 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:30:25,072.072 INFO    ] No camera update needed
[2026-10-20 04:30:25,074.074 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:30:25,076.076 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:30:25,082.082 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:30:25,087.087 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:30:27,126.126 INFO    ] ================================================
[2026-10-20 04:30:27,142.142 INFO    ] Launching Daemon at Tue Oct 20 04:30:27 IST 2026
[2026-10-20 04:30:27,152.152 INFO    ] ================================================
[2026-10-20 04:30:27,743.743 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:30:27
[2026-10-20 04:30:28,343.343 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:30:28,597.597 INFO    ] Initializing speech engine...
[2026-10-20 04:30:28,606.606 INFO    ] 2026-10-20 04:30:28
[2026-10-20 04:30:28,901.901 INFO    ] 2026-10-20 04:30:28
[2026-10-20 04:30:28,939.939 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:30:29,166.166 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:30:29,207.207 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:30:29,393.393 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:30:29,400.400 INFO    ] time= 20/10/2026 04:30:29
[2026-10-20 04:30:29,429.429 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:30:29,473.473 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:30:29,601.601 INFO    ] No existing commands found in stream
[2026-10-20 04:30:34,612.612 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:30:34,615.615 INFO    ] Waiting 1.66 seconds before fallback handling...
[2026-10-20 04:30:36,819.819 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:30:36,822.822 INFO    ] Checking for system updates...
[2026-10-20 04:30:36,857.857 INFO    ] 200
[2026-10-20 04:30:36,860.860 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:30:36,911.911 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:30:36,914.914 INFO    ] No update needed
[2026-10-20 04:30:36,916.916 INFO    ] Checking for camera pi updates...
[2026-10-20 04:30:36,954.954 INFO    ] 200
[2026-10-20 04:30:36,956.956 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:30:36,996.996 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:30:37,045.045 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:30:37,048.048 INFO    ] No camera update needed
[2026-10-20 04:30:37,050.050 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:30:37,053.053 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:30:37,058.058 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:30:37,063.063 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:30:39,103.103 INFO    ] ================================================
[2026-10-20 04:30:39,117.117 INFO    ] Launching Daemon at Tue Oct 20 04:30:39 IST 2026
[2026-10-20 04:30:39,128.128 INFO    ] ================================================
[2026-10-20 04:30:39,694.694 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:30:39
[2026-10-20 04:30:40,281.281 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:30:40,538.538 INFO    ] Initializing speech engine...
[2026-10-20 04:30:40,545.545 INFO    ] 2026-10-20 04:30:40
[2026-10-20 04:30:40,840.840 INFO    ] 2026-10-20 04:30:40
[2026-10-20 04:30:40,875.875 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:30:41,085.085 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:30:41,104.104 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:30:41,326.326 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:30:41,349.349 INFO    ] time= 20/10/2026 04:30:41
[2026-10-20 04:30:41,388.388 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:30:41,432.432 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:30:41,532.532 INFO    ] No existing commands found in stream
[2026-10-20 04:30:46,543.543 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:30:46,546.546 INFO    ] Waiting 1.73 seconds before fallback handling...
[2026-10-20 04:30:48,796.796 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:30:48,798.798 INFO    ] Checking for system updates...
[2026-10-20 04:30:48,834.834 INFO    ] 200
[2026-10-20 04:30:48,836.836 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:30:48,891.891 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:30:48,893.893 INFO    ] No update needed
[2026-10-20 04:30:48,896.896 INFO    ] Checking for camera pi updates...
[2026-10-20 04:30:48,932.932 INFO    ] 200
[2026-10-20 04:30:48,935.935 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:30:48,974.974 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:30:49,023.023 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:30:49,026.026 INFO    ] No camera update needed
[2026-10-20 04:30:49,028.028 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:30:49,030.030 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:30:49,035.035 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:30:49,041.041 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:30:51,081.081 INFO    ] ================================================
[2026-10-20 04:30:51,096.096 INFO    ] Launching Daemon at Tue Oct 20 04:30:51 IST 2026
[2026-10-20 04:30:51,107.107 INFO    ] ================================================
[2026-10-20 04:30:51,750.750 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:30:51
[2026-10-20 04:30:52,413.413 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:30:52,719.719 INFO    ] Initializing speech engine...
[2026-10-20 04:30:52,731.731 INFO    ] 2026-10-20 04:30:52
[2026-10-20 04:30:52,995.995 INFO    ] 2026-10-20 04:30:52
[2026-10-20 04:30:53,053.053 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:30:53,338.338 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:30:53,343.343 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:30:53,542.542 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:30:53,558.558 INFO    ] time= 20/10/2026 04:30:53
[2026-10-20 04:30:53,567.567 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:30:53,595.595 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:30:53,725.725 INFO    ] No existing commands found in stream
[2026-10-20 04:30:58,751.751 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:30:58,754.754 INFO    ] Waiting 1.64 seconds before fallback handling...
[2026-10-20 04:31:00,929.929 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:31:00,932.932 INFO    ] Checking for system updates...
[2026-10-20 04:31:00,968.968 INFO    ] 200
[2026-10-20 04:31:00,971.971 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:31:01,044.044 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:31:01,047.047 INFO    ] No update needed
[2026-10-20 04:31:01,049.049 INFO    ] Checking for camera pi updates...
[2026-10-20 04:31:01,082.082 INFO    ] 200
[2026-10-20 04:31:01,085.085 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:31:01,127.127 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:31:01,177.177 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:31:01,180.180 INFO    ] No camera update needed
[2026-10-20 04:31:01,183.183 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:31:01,185.185 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:31:01,192.192 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:31:01,197.197 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:31:03,242.242 INFO    ] ================================================
[2026-10-20 04:31:03,258.258 INFO    ] Launching Daemon at Tue Oct 20 04:31:03 IST 2026
[2026-10-20 04:31:03,269.269 INFO    ] ================================================
[2026-10-20 04:31:04,002.002 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:31:03
[2026-10-20 04:31:04,595.595 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:31:04,867.867 INFO    ] Initializing speech engine...
[2026-10-20 04:31:04,876.876 INFO    ] 2026-10-20 04:31:04
[2026-10-20 04:31:05,126.126 INFO    ] 2026-10-20 04:31:05
[2026-10-20 04:31:05,162.162 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:31:05,364.364 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:31:05,387.387 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:31:05,592.592 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:31:05,599.599 INFO    ] time= 20/10/2026 04:31:05
[2026-10-20 04:31:05,649.649 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:31:05,693.693 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:31:05,778.778 INFO    ] No existing commands found in stream
[2026-10-20 04:31:10,803.803 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:31:10,806.806 INFO    ] Waiting 0.48 seconds before fallback handling...
[2026-10-20 04:31:11,775.775 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:31:11,777.777 INFO    ] Checking for system updates...
[2026-10-20 04:31:11,818.818 INFO    ] 200
[2026-10-20 04:31:11,820.820 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:31:11,881.881 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:31:11,883.883 INFO    ] No update needed
[2026-10-20 04:31:11,885.885 INFO    ] Checking for camera pi updates...
[2026-10-20 04:31:11,919.919 INFO    ] 200
[2026-10-20 04:31:11,922.922 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:31:11,962.962 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:31:12,006.006 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:31:12,009.009 INFO    ] No camera update needed
[2026-10-20 04:31:12,011.011 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:31:12,013.013 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:31:12,019.019 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:31:12,024.024 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:31:14,062.062 INFO    ] ================================================
[2026-10-20 04:31:14,077.077 INFO    ] Launching Daemon at Tue Oct 20 04:31:14 IST 2026
[2026-10-20 04:31:14,088.088 INFO    ] ================================================
[2026-10-20 04:31:14,657.657 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:31:14
[2026-10-20 04:31:15,245.245 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:31:15,514.514 INFO    ] Initializing speech engine...
[2026-10-20 04:31:15,523.523 INFO    ] 2026-10-20 04:31:15
[2026-10-20 04:31:15,772.772 INFO    ] 2026-10-20 04:31:15
[2026-10-20 04:31:15,807.807 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:31:16,086.086 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:31:16,093.093 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:31:16,326.326 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:31:16,334.334 INFO    ] time= 20/10/2026 04:31:16
[2026-10-20 04:31:16,352.352 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:31:16,381.381 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:31:16,517.517 INFO    ] No existing commands found in stream
[2026-10-20 04:31:21,547.547 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:31:21,550.550 INFO    ] Waiting 1.24 seconds before fallback handling...
[2026-10-20 04:31:23,309.309 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 04:31:23,311.311 INFO    ] Checking for system updates...
[2026-10-20 04:31:23,352.352 INFO    ] 200
[2026-10-20 04:31:23,354.354 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:31:23,407.407 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:31:23,409.409 INFO    ] No update needed
[2026-10-20 04:31:23,412.412 INFO    ] Checking for camera pi updates...
[2026-10-20 04:31:23,446.446 INFO    ] 200
[2026-10-20 04:31:23,449.449 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:31:23,495.495 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:31:23,540.540 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:31:23,543.543 INFO    ] No camera update needed
[2026-10-20 04:31:23,545.545 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:31:23,547.547 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:31:23,553.553 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:31:23,558.558 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:31:25,599.599 INFO    ] ================================================
[2026-10-20 04:31:25,614.614 INFO    ] Launching Daemon at Tue Oct 20 04:31:25 IST 2026
[2026-10-20 04:31:25,625.625 INFO    ] ================================================
[2026-10-20 04:31:26,200.200 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:31:26
[2026-10-20 04:31:26,787.787 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:31:27,052.052 INFO    ] Initializing speech engine...
[2026-10-20 04:31:27,065.065 INFO    ] 2026-10-20 04:31:27
[2026-10-20 04:31:27,312.312 INFO    ] 2026-10-20 04:31:27
[2026-10-20 04:31:27,352.352 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:31:27,600.600 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:31:27,609.609 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:31:27,835.835 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:31:27,871.871 INFO    ] time= 20/10/2026 04:31:27
[2026-10-20 04:31:27,887.887 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:31:27,896.896 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:31:28,039.039 INFO    ] No existing commands found in stream
[2026-10-20 04:31:33,071.071 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:31:33,074.074 INFO    ] Waiting 2.18 seconds before fallback handling...
[2026-10-20 04:31:35,757.757 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:31:35,760.760 INFO    ] Checking for system updates...
[2026-10-20 04:31:35,796.796 INFO    ] 200
[2026-10-20 04:31:35,798.798 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:31:35,859.859 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:31:35,861.861 INFO    ] No update needed
[2026-10-20 04:31:35,863.863 INFO    ] Checking for camera pi updates...
[2026-10-20 04:31:35,896.896 INFO    ] 200
[2026-10-20 04:31:35,899.899 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:31:35,944.944 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:31:35,994.994 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:31:35,996.996 INFO    ] No camera update needed
[2026-10-20 04:31:35,999.999 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:31:36,001.001 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:31:36,006.006 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:31:36,011.011 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:31:38,051.051 INFO    ] ================================================
[2026-10-20 04:31:38,066.066 INFO    ] Launching Daemon at Tue Oct 20 04:31:38 IST 2026
[2026-10-20 04:31:38,077.077 INFO    ] ================================================
[2026-10-20 04:31:38,738.738 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:31:38
[2026-10-20 04:31:39,419.419 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:31:39,727.727 INFO    ] Initializing speech engine...
[2026-10-20 04:31:39,741.741 INFO    ] 2026-10-20 04:31:39
[2026-10-20 04:31:40,053.053 INFO    ] 2026-10-20 04:31:40
[2026-10-20 04:31:40,139.139 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:31:40,356.356 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:31:40,362.362 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:31:40,555.555 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:31:40,562.562 INFO    ] time= 20/10/2026 04:31:40
[2026-10-20 04:31:40,583.583 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:31:40,615.615 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:31:40,741.741 INFO    ] No existing commands found in stream
[2026-10-20 04:31:45,772.772 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:31:45,775.775 INFO    ] Waiting 2.05 seconds before fallback handling...
[2026-10-20 04:31:48,356.356 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:31:48,359.359 INFO    ] Checking for system updates...
[2026-10-20 04:31:48,398.398 INFO    ] 200
[2026-10-20 04:31:48,401.401 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:31:48,453.453 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:31:48,456.456 INFO    ] No update needed
[2026-10-20 04:31:48,458.458 INFO    ] Checking for camera pi updates...
[2026-10-20 04:31:48,491.491 INFO    ] 200
[2026-10-20 04:31:48,494.494 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:31:48,539.539 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:31:48,585.585 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:31:48,587.587 INFO    ] No camera update needed
[2026-10-20 04:31:48,590.590 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:31:48,592.592 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:31:48,597.597 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:31:48,602.602 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:31:50,641.641 INFO    ] ================================================
[2026-10-20 04:31:50,656.656 INFO    ] Launching Daemon at Tue Oct 20 04:31:50 IST 2026
[2026-10-20 04:31:50,667.667 INFO    ] ================================================
[2026-10-20 04:31:51,255.255 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:31:51
[2026-10-20 04:31:51,840.840 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:31:52,089.089 INFO    ] Initializing speech engine...
[2026-10-20 04:31:52,096.096 INFO    ] 2026-10-20 04:31:52
[2026-10-20 04:31:52,383.383 INFO    ] 2026-10-20 04:31:52
[2026-10-20 04:31:52,420.420 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:31:52,683.683 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:31:52,723.723 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:31:52,985.985 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:31:53,003.003 INFO    ] time= 20/10/2026 04:31:52
[2026-10-20 04:31:53,020.020 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:31:53,037.037 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:31:53,182.182 INFO    ] No existing commands found in stream
[2026-10-20 04:31:58,212.212 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:31:58,214.214 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-10-20 04:32:01,899.899 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:32:01,902.902 INFO    ] Checking for system updates...
[2026-10-20 04:32:01,948.948 INFO    ] 200
[2026-10-20 04:32:01,951.951 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:32:02,061.061 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:32:02,065.065 INFO    ] No update needed
[2026-10-20 04:32:02,074.074 INFO    ] Checking for camera pi updates...
[2026-10-20 04:32:02,143.143 INFO    ] 200
[2026-10-20 04:32:02,147.147 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:32:02,212.212 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:32:02,247.247 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:32:02,251.251 INFO    ] No camera update needed
[2026-10-20 04:32:02,255.255 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:32:02,258.258 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:32:02,271.271 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:32:02,278.278 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:32:04,322.322 INFO    ] ================================================
[2026-10-20 04:32:04,337.337 INFO    ] Launching Daemon at Tue Oct 20 04:32:04 IST 2026
[2026-10-20 04:32:04,348.348 INFO    ] ================================================
[2026-10-20 04:32:04,933.933 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:32:04
[2026-10-20 04:32:05,520.520 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:32:05,776.776 INFO    ] Initializing speech engine...
[2026-10-20 04:32:05,783.783 INFO    ] 2026-10-20 04:32:05
[2026-10-20 04:32:06,075.075 INFO    ] 2026-10-20 04:32:06
[2026-10-20 04:32:06,112.112 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:32:06,332.332 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:32:06,356.356 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:32:06,558.558 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:32:06,580.580 INFO    ] time= 20/10/2026 04:32:06
[2026-10-20 04:32:06,635.635 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:32:06,695.695 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:32:06,781.781 INFO    ] No existing commands found in stream
[2026-10-20 04:32:11,790.790 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:32:11,793.793 INFO    ] Waiting 3.04 seconds before fallback handling...
[2026-10-20 04:32:15,361.361 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:32:15,363.363 INFO    ] Checking for system updates...
[2026-10-20 04:32:15,402.402 INFO    ] 200
[2026-10-20 04:32:15,404.404 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:32:15,463.463 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:32:15,465.465 INFO    ] No update needed
[2026-10-20 04:32:15,468.468 INFO    ] Checking for camera pi updates...
[2026-10-20 04:32:15,505.505 INFO    ] 200
[2026-10-20 04:32:15,507.507 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:32:15,547.547 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:32:15,597.597 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:32:15,599.599 INFO    ] No camera update needed
[2026-10-20 04:32:15,601.601 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:32:15,604.604 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:32:15,609.609 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:32:15,614.614 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:32:17,654.654 INFO    ] ================================================
[2026-10-20 04:32:17,669.669 INFO    ] Launching Daemon at Tue Oct 20 04:32:17 IST 2026
[2026-10-20 04:32:17,679.679 INFO    ] ================================================
[2026-10-20 04:32:18,245.245 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:32:18
[2026-10-20 04:32:18,834.834 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:32:19,106.106 INFO    ] Initializing speech engine...
[2026-10-20 04:32:19,112.112 INFO    ] 2026-10-20 04:32:19
[2026-10-20 04:32:19,357.357 INFO    ] 2026-10-20 04:32:19
[2026-10-20 04:32:19,392.392 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:32:19,589.589 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:32:19,646.646 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:32:19,858.858 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:32:19,910.910 INFO    ] time= 20/10/2026 04:32:19
[2026-10-20 04:32:19,917.917 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:32:19,934.934 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:32:20,060.060 INFO    ] No existing commands found in stream
[2026-10-20 04:32:25,077.077 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:32:25,079.079 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-10-20 04:32:29,097.097 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:32:29,100.100 INFO    ] Checking for system updates...
[2026-10-20 04:32:29,139.139 INFO    ] 200
[2026-10-20 04:32:29,141.141 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:32:29,199.199 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:32:29,202.202 INFO    ] No update needed
[2026-10-20 04:32:29,204.204 INFO    ] Checking for camera pi updates...
[2026-10-20 04:32:29,241.241 INFO    ] 200
[2026-10-20 04:32:29,243.243 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:32:29,287.287 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:32:29,341.341 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:32:29,343.343 INFO    ] No camera update needed
[2026-10-20 04:32:29,345.345 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:32:29,348.348 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:32:29,353.353 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:32:29,358.358 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:32:31,398.398 INFO    ] ================================================
[2026-10-20 04:32:31,413.413 INFO    ] Launching Daemon at Tue Oct 20 04:32:31 IST 2026
[2026-10-20 04:32:31,423.423 INFO    ] ================================================
[2026-10-20 04:32:32,064.064 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:32:32
[2026-10-20 04:32:32,686.686 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:32:32,970.970 INFO    ] Initializing speech engine...
[2026-10-20 04:32:32,984.984 INFO    ] 2026-10-20 04:32:32
[2026-10-20 04:32:33,278.278 INFO    ] 2026-10-20 04:32:33
[2026-10-20 04:32:33,322.322 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:32:33,589.589 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:32:33,596.596 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:32:33,830.830 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:32:33,851.851 INFO    ] time= 20/10/2026 04:32:33
[2026-10-20 04:32:33,868.868 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:32:33,877.877 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:32:34,015.015 INFO    ] No existing commands found in stream
[2026-10-20 04:32:39,041.041 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:32:39,044.044 INFO    ] Waiting 1.90 seconds before fallback handling...
[2026-10-20 04:32:46,479.479 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:32:46,482.482 INFO    ] Checking for system updates...
[2026-10-20 04:32:46,532.532 INFO    ] 200
[2026-10-20 04:32:46,535.535 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:32:46,588.588 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:32:46,590.590 INFO    ] No update needed
[2026-10-20 04:32:46,593.593 INFO    ] Checking for camera pi updates...
[2026-10-20 04:32:46,626.626 INFO    ] 200
[2026-10-20 04:32:46,629.629 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:32:46,669.669 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:32:46,717.717 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:32:46,720.720 INFO    ] No camera update needed
[2026-10-20 04:32:46,722.722 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:32:46,724.724 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:32:46,729.729 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:32:46,734.734 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:32:48,774.774 INFO    ] ================================================
[2026-10-20 04:32:48,789.789 INFO    ] Launching Daemon at Tue Oct 20 04:32:48 IST 2026
[2026-10-20 04:32:48,800.800 INFO    ] ================================================
[2026-10-20 04:32:49,364.364 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:32:49
[2026-10-20 04:32:49,947.947 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:32:50,220.220 INFO    ] Initializing speech engine...
[2026-10-20 04:32:50,226.226 INFO    ] 2026-10-20 04:32:50
[2026-10-20 04:32:50,471.471 INFO    ] 2026-10-20 04:32:50
[2026-10-20 04:32:50,507.507 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:32:50,764.764 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:32:50,768.768 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:32:50,997.997 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:32:51,029.029 INFO    ] time= 20/10/2026 04:32:51
[2026-10-20 04:32:51,035.035 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:32:51,055.055 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:32:51,181.181 INFO    ] No existing commands found in stream
[2026-10-20 04:32:56,197.197 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:32:56,200.200 INFO    ] Waiting 0.88 seconds before fallback handling...
[2026-10-20 04:32:57,599.599 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:32:57,602.602 INFO    ] Checking for system updates...
[2026-10-20 04:32:57,637.637 INFO    ] 200
[2026-10-20 04:32:57,640.640 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:32:57,699.699 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:32:57,701.701 INFO    ] No update needed
[2026-10-20 04:32:57,704.704 INFO    ] Checking for camera pi updates...
[2026-10-20 04:32:57,740.740 INFO    ] 200
[2026-10-20 04:32:57,743.743 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:32:57,787.787 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:32:57,838.838 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:32:57,841.841 INFO    ] No camera update needed
[2026-10-20 04:32:57,843.843 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:32:57,845.845 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:32:57,851.851 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:32:57,856.856 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:32:59,896.896 INFO    ] ================================================
[2026-10-20 04:32:59,912.912 INFO    ] Launching Daemon at Tue Oct 20 04:32:59 IST 2026
[2026-10-20 04:32:59,922.922 INFO    ] ================================================
[2026-10-20 04:33:00,488.488 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:33:00
[2026-10-20 04:33:01,070.070 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:33:01,338.338 INFO    ] Initializing speech engine...
[2026-10-20 04:33:01,347.347 INFO    ] 2026-10-20 04:33:01
[2026-10-20 04:33:01,593.593 INFO    ] 2026-10-20 04:33:01
[2026-10-20 04:33:01,627.627 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:33:01,880.880 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:33:01,889.889 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:33:02,075.075 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:33:02,079.079 INFO    ] time= 20/10/2026 04:33:02
[2026-10-20 04:33:02,084.084 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:33:02,087.087 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:33:02,204.204 INFO    ] No existing commands found in stream
[2026-10-20 04:33:07,214.214 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:33:07,218.218 INFO    ] Waiting 2.30 seconds before fallback handling...
[2026-10-20 04:33:12,268.268 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:33:12,271.271 INFO    ] Checking for system updates...
[2026-10-20 04:33:12,307.307 INFO    ] 200
[2026-10-20 04:33:12,311.311 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:33:12,369.369 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:33:12,372.372 INFO    ] No update needed
[2026-10-20 04:33:12,375.375 INFO    ] Checking for camera pi updates...
[2026-10-20 04:33:12,412.412 INFO    ] 200
[2026-10-20 04:33:12,415.415 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:33:12,456.456 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:33:12,506.506 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:33:12,508.508 INFO    ] No camera update needed
[2026-10-20 04:33:12,511.511 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:33:12,514.514 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:33:12,520.520 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:33:12,526.526 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:33:14,567.567 INFO    ] ================================================
[2026-10-20 04:33:14,583.583 INFO    ] Launching Daemon at Tue Oct 20 04:33:14 IST 2026
[2026-10-20 04:33:14,593.593 INFO    ] ================================================
[2026-10-20 04:33:15,157.157 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:33:15
[2026-10-20 04:33:15,742.742 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:33:15,998.998 INFO    ] Initializing speech engine...
[2026-10-20 04:33:16,011.011 INFO    ] 2026-10-20 04:33:15
[2026-10-20 04:33:16,294.294 INFO    ] 2026-10-20 04:33:16
[2026-10-20 04:33:16,332.332 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:33:16,550.550 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:33:16,573.573 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:33:16,764.764 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:33:16,781.781 INFO    ] time= 20/10/2026 04:33:16
[2026-10-20 04:33:16,831.831 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:33:16,880.880 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:33:17,024.024 INFO    ] No existing commands found in stream
[2026-10-20 04:33:22,049.049 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:33:22,052.052 INFO    ] Waiting 3.19 seconds before fallback handling...
[2026-10-20 04:33:25,754.754 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:33:25,756.756 INFO    ] Checking for system updates...
[2026-10-20 04:33:25,791.791 INFO    ] 200
[2026-10-20 04:33:25,794.794 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:33:25,846.846 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:33:25,849.849 INFO    ] No update needed
[2026-10-20 04:33:25,851.851 INFO    ] Checking for camera pi updates...
[2026-10-20 04:33:25,885.885 INFO    ] 200
[2026-10-20 04:33:25,887.887 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:33:25,932.932 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:33:25,976.976 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:33:25,979.979 INFO    ] No camera update needed
[2026-10-20 04:33:25,981.981 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:33:25,984.984 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:33:25,989.989 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:33:25,994.994 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:33:28,034.034 INFO    ] ================================================
[2026-10-20 04:33:28,049.049 INFO    ] Launching Daemon at Tue Oct 20 04:33:28 IST 2026
[2026-10-20 04:33:28,060.060 INFO    ] ================================================
[2026-10-20 04:33:28,633.633 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:33:28
[2026-10-20 04:33:29,222.222 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:33:29,499.499 INFO    ] Initializing speech engine...
[2026-10-20 04:33:29,507.507 INFO    ] 2026-10-20 04:33:29
[2026-10-20 04:33:29,759.759 INFO    ] 2026-10-20 04:33:29
[2026-10-20 04:33:29,794.794 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:33:30,053.053 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:33:30,058.058 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:33:30,298.298 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:33:30,319.319 INFO    ] time= 20/10/2026 04:33:30
[2026-10-20 04:33:30,325.325 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:33:30,345.345 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:33:30,449.449 INFO    ] No existing commands found in stream
[2026-10-20 04:33:35,474.474 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:33:35,477.477 INFO    ] Waiting 3.59 seconds before fallback handling...
[2026-10-20 04:33:39,603.603 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:33:39,606.606 INFO    ] Checking for system updates...
[2026-10-20 04:33:39,644.644 INFO    ] 200
[2026-10-20 04:33:39,647.647 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:33:39,705.705 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:33:39,707.707 INFO    ] No update needed
[2026-10-20 04:33:39,710.710 INFO    ] Checking for camera pi updates...
[2026-10-20 04:33:39,747.747 INFO    ] 200
[2026-10-20 04:33:39,749.749 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:33:39,790.790 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:33:39,835.835 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:33:39,837.837 INFO    ] No camera update needed
[2026-10-20 04:33:39,840.840 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:33:39,842.842 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:33:39,847.847 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:33:39,852.852 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:33:41,894.894 INFO    ] ================================================
[2026-10-20 04:33:41,909.909 INFO    ] Launching Daemon at Tue Oct 20 04:33:41 IST 2026
[2026-10-20 04:33:41,920.920 INFO    ] ================================================
[2026-10-20 04:33:42,484.484 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:33:42
[2026-10-20 04:33:43,069.069 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:33:43,322.322 INFO    ] Initializing speech engine...
[2026-10-20 04:33:43,328.328 INFO    ] 2026-10-20 04:33:43
[2026-10-20 04:33:43,621.621 INFO    ] 2026-10-20 04:33:43
[2026-10-20 04:33:43,659.659 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:33:43,945.945 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:33:43,955.955 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:33:44,193.193 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:33:44,247.247 INFO    ] time= 20/10/2026 04:33:44
[2026-10-20 04:33:44,254.254 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:33:44,270.270 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:33:44,423.423 INFO    ] No existing commands found in stream
[2026-10-20 04:33:49,438.438 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:33:49,441.441 INFO    ] Waiting 2.23 seconds before fallback handling...
[2026-10-20 04:33:52,226.226 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:33:52,229.229 INFO    ] Checking for system updates...
[2026-10-20 04:33:52,267.267 INFO    ] 200
[2026-10-20 04:33:52,270.270 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:33:52,321.321 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:33:52,324.324 INFO    ] No update needed
[2026-10-20 04:33:52,326.326 INFO    ] Checking for camera pi updates...
[2026-10-20 04:33:52,359.359 INFO    ] 200
[2026-10-20 04:33:52,361.361 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:33:52,406.406 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:33:52,456.456 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:33:52,459.459 INFO    ] No camera update needed
[2026-10-20 04:33:52,461.461 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:33:52,463.463 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:33:52,469.469 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:33:52,474.474 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:33:54,513.513 INFO    ] ================================================
[2026-10-20 04:33:54,528.528 INFO    ] Launching Daemon at Tue Oct 20 04:33:54 IST 2026
[2026-10-20 04:33:54,539.539 INFO    ] ================================================
[2026-10-20 04:33:55,108.108 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:33:55
[2026-10-20 04:33:55,693.693 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:33:55,962.962 INFO    ] Initializing speech engine...
[2026-10-20 04:33:55,971.971 INFO    ] 2026-10-20 04:33:55
[2026-10-20 04:33:56,227.227 INFO    ] 2026-10-20 04:33:56
[2026-10-20 04:33:56,261.261 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:33:56,510.510 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:33:56,515.515 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:33:56,728.728 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:33:56,771.771 INFO    ] time= 20/10/2026 04:33:56
[2026-10-20 04:33:56,777.777 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:33:56,795.795 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:33:56,947.947 INFO    ] No existing commands found in stream
[2026-10-20 04:34:01,984.984 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:34:01,988.988 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-10-20 04:34:04,982.982 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:34:04,985.985 INFO    ] Checking for system updates...
[2026-10-20 04:34:05,021.021 INFO    ] 200
[2026-10-20 04:34:05,023.023 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:34:05,074.074 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:34:05,076.076 INFO    ] No update needed
[2026-10-20 04:34:05,079.079 INFO    ] Checking for camera pi updates...
[2026-10-20 04:34:05,114.114 INFO    ] 200
[2026-10-20 04:34:05,117.117 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:34:05,158.158 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:34:05,302.302 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:34:05,304.304 INFO    ] No camera update needed
[2026-10-20 04:34:05,306.306 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:34:05,309.309 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:34:05,314.314 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:34:05,319.319 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:34:07,359.359 INFO    ] ================================================
[2026-10-20 04:34:07,374.374 INFO    ] Launching Daemon at Tue Oct 20 04:34:07 IST 2026
[2026-10-20 04:34:07,385.385 INFO    ] ================================================
[2026-10-20 04:34:07,973.973 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:34:07
[2026-10-20 04:34:08,578.578 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:34:08,849.849 INFO    ] Initializing speech engine...
[2026-10-20 04:34:08,858.858 INFO    ] 2026-10-20 04:34:08
[2026-10-20 04:34:09,108.108 INFO    ] 2026-10-20 04:34:09
[2026-10-20 04:34:09,143.143 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:34:09,394.394 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:34:09,404.404 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:34:09,626.626 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:34:09,663.663 INFO    ] time= 20/10/2026 04:34:09
[2026-10-20 04:34:09,669.669 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:34:09,687.687 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:34:09,814.814 INFO    ] No existing commands found in stream
[2026-10-20 04:34:14,829.829 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:34:14,831.831 INFO    ] Waiting 3.13 seconds before fallback handling...
[2026-10-20 04:34:18,481.481 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:34:18,484.484 INFO    ] Checking for system updates...
[2026-10-20 04:34:18,524.524 INFO    ] 200
[2026-10-20 04:34:18,526.526 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:34:18,586.586 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:34:18,589.589 INFO    ] No update needed
[2026-10-20 04:34:18,592.592 INFO    ] Checking for camera pi updates...
[2026-10-20 04:34:18,635.635 INFO    ] 200
[2026-10-20 04:34:18,638.638 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:34:18,687.687 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:34:18,736.736 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:34:18,739.739 INFO    ] No camera update needed
[2026-10-20 04:34:18,742.742 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:34:18,745.745 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:34:18,751.751 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:34:18,756.756 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:34:20,796.796 INFO    ] ================================================
[2026-10-20 04:34:20,811.811 INFO    ] Launching Daemon at Tue Oct 20 04:34:20 IST 2026
[2026-10-20 04:34:20,822.822 INFO    ] ================================================
[2026-10-20 04:34:21,393.393 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:34:21
[2026-10-20 04:34:21,977.977 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:34:22,244.244 INFO    ] Initializing speech engine...
[2026-10-20 04:34:22,253.253 INFO    ] 2026-10-20 04:34:22
[2026-10-20 04:34:22,499.499 INFO    ] 2026-10-20 04:34:22
[2026-10-20 04:34:22,533.533 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:34:22,789.789 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:34:22,794.794 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:34:23,002.002 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:34:23,049.049 INFO    ] time= 20/10/2026 04:34:23
[2026-10-20 04:34:23,055.055 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:34:23,072.072 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:34:23,204.204 INFO    ] No existing commands found in stream
[2026-10-20 04:34:28,226.226 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:34:28,229.229 INFO    ] Waiting 2.00 seconds before fallback handling...
[2026-10-20 04:34:30,757.757 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:34:30,760.760 INFO    ] Checking for system updates...
[2026-10-20 04:34:30,796.796 INFO    ] 200
[2026-10-20 04:34:30,799.799 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:34:30,851.851 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:34:30,854.854 INFO    ] No update needed
[2026-10-20 04:34:30,857.857 INFO    ] Checking for camera pi updates...
[2026-10-20 04:34:30,890.890 INFO    ] 200
[2026-10-20 04:34:30,893.893 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:34:30,936.936 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:34:30,983.983 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:34:30,986.986 INFO    ] No camera update needed
[2026-10-20 04:34:30,988.988 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:34:30,991.991 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:34:30,996.996 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:34:31,001.001 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:34:33,043.043 INFO    ] ================================================
[2026-10-20 04:34:33,060.060 INFO    ] Launching Daemon at Tue Oct 20 04:34:33 IST 2026
[2026-10-20 04:34:33,072.072 INFO    ] ================================================
[2026-10-20 04:34:33,738.738 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:34:33
[2026-10-20 04:34:34,396.396 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:34:34,690.690 INFO    ] Initializing speech engine...
[2026-10-20 04:34:34,701.701 INFO    ] 2026-10-20 04:34:34
[2026-10-20 04:34:34,970.970 INFO    ] 2026-10-20 04:34:34
[2026-10-20 04:34:35,027.027 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:34:35,311.311 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:34:35,317.317 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:34:35,513.513 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:34:35,530.530 INFO    ] time= 20/10/2026 04:34:35
[2026-10-20 04:34:35,540.540 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:34:35,565.565 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:34:35,677.677 INFO    ] No existing commands found in stream
[2026-10-20 04:34:40,702.702 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:34:40,705.705 INFO    ] Waiting 0.48 seconds before fallback handling...
[2026-10-20 04:34:41,721.721 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:34:41,724.724 INFO    ] Checking for system updates...
[2026-10-20 04:34:41,761.761 INFO    ] 200
[2026-10-20 04:34:41,764.764 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:34:41,825.825 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:34:41,827.827 INFO    ] No update needed
[2026-10-20 04:34:41,830.830 INFO    ] Checking for camera pi updates...
[2026-10-20 04:34:41,869.869 INFO    ] 200
[2026-10-20 04:34:41,872.872 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:34:41,919.919 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:34:41,979.979 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:34:41,982.982 INFO    ] No camera update needed
[2026-10-20 04:34:41,984.984 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:34:41,987.987 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:34:41,994.994 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:34:42,003.003 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:34:44,045.045 INFO    ] ================================================
[2026-10-20 04:34:44,061.061 INFO    ] Launching Daemon at Tue Oct 20 04:34:44 IST 2026
[2026-10-20 04:34:44,072.072 INFO    ] ================================================
[2026-10-20 04:34:44,661.661 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:34:44
[2026-10-20 04:34:45,257.257 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:34:45,507.507 INFO    ] Initializing speech engine...
[2026-10-20 04:34:45,515.515 INFO    ] 2026-10-20 04:34:45
[2026-10-20 04:34:45,815.815 INFO    ] 2026-10-20 04:34:45
[2026-10-20 04:34:45,850.850 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:34:46,075.075 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:34:46,109.109 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:34:46,359.359 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:34:46,413.413 INFO    ] time= 20/10/2026 04:34:46
[2026-10-20 04:34:46,447.447 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:34:46,459.459 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:34:46,590.590 INFO    ] No existing commands found in stream
[2026-10-20 04:34:51,620.620 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:34:51,623.623 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-10-20 04:34:54,664.664 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:34:54,667.667 INFO    ] Checking for system updates...
[2026-10-20 04:34:54,702.702 INFO    ] 200
[2026-10-20 04:34:54,705.705 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:34:54,765.765 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:34:54,767.767 INFO    ] No update needed
[2026-10-20 04:34:54,770.770 INFO    ] Checking for camera pi updates...
[2026-10-20 04:34:54,803.803 INFO    ] 200
[2026-10-20 04:34:54,805.805 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:34:54,846.846 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:34:54,895.895 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:34:54,897.897 INFO    ] No camera update needed
[2026-10-20 04:34:54,900.900 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:34:54,902.902 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:34:54,907.907 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:34:54,912.912 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:34:56,952.952 INFO    ] ================================================
[2026-10-20 04:34:56,967.967 INFO    ] Launching Daemon at Tue Oct 20 04:34:56 IST 2026
[2026-10-20 04:34:56,979.979 INFO    ] ================================================
[2026-10-20 04:34:57,552.552 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:34:57
[2026-10-20 04:34:58,148.148 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:34:58,428.428 INFO    ] Initializing speech engine...
[2026-10-20 04:34:58,434.434 INFO    ] 2026-10-20 04:34:58
[2026-10-20 04:34:58,681.681 INFO    ] 2026-10-20 04:34:58
[2026-10-20 04:34:58,716.716 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:34:58,998.998 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:34:59,004.004 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:34:59,232.232 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:34:59,239.239 INFO    ] time= 20/10/2026 04:34:59
[2026-10-20 04:34:59,260.260 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:34:59,285.285 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:34:59,411.411 INFO    ] No existing commands found in stream
[2026-10-20 04:35:04,441.441 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:35:04,444.444 INFO    ] Waiting 0.59 seconds before fallback handling...
[2026-10-20 04:35:05,590.590 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:35:05,593.593 INFO    ] Checking for system updates...
[2026-10-20 04:35:05,628.628 INFO    ] 200
[2026-10-20 04:35:05,630.630 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:35:05,690.690 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:35:05,693.693 INFO    ] No update needed
[2026-10-20 04:35:05,695.695 INFO    ] Checking for camera pi updates...
[2026-10-20 04:35:05,729.729 INFO    ] 200
[2026-10-20 04:35:05,732.732 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:35:05,772.772 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:35:05,820.820 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:35:05,822.822 INFO    ] No camera update needed
[2026-10-20 04:35:05,825.825 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:35:05,827.827 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:35:05,833.833 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:35:05,838.838 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:35:07,877.877 INFO    ] ================================================
[2026-10-20 04:35:07,893.893 INFO    ] Launching Daemon at Tue Oct 20 04:35:07 IST 2026
[2026-10-20 04:35:07,904.904 INFO    ] ================================================
[2026-10-20 04:35:08,472.472 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:35:08
[2026-10-20 04:35:09,054.054 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:35:09,308.308 INFO    ] Initializing speech engine...
[2026-10-20 04:35:09,315.315 INFO    ] 2026-10-20 04:35:09
[2026-10-20 04:35:09,614.614 INFO    ] 2026-10-20 04:35:09
[2026-10-20 04:35:09,649.649 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:35:09,864.864 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:35:09,881.881 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:35:10,030.030 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:35:10,037.037 INFO    ] time= 20/10/2026 04:35:10
[2026-10-20 04:35:10,045.045 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:35:10,059.059 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:35:10,197.197 INFO    ] No existing commands found in stream
[2026-10-20 04:35:15,222.222 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:35:15,225.225 INFO    ] Waiting 3.58 seconds before fallback handling...
[2026-10-20 04:35:19,341.341 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:35:19,344.344 INFO    ] Checking for system updates...
[2026-10-20 04:35:19,379.379 INFO    ] 200
[2026-10-20 04:35:19,381.381 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:35:19,441.441 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:35:19,443.443 INFO    ] No update needed
[2026-10-20 04:35:19,446.446 INFO    ] Checking for camera pi updates...
[2026-10-20 04:35:19,479.479 INFO    ] 200
[2026-10-20 04:35:19,482.482 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:35:19,528.528 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:35:19,585.585 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:35:19,588.588 INFO    ] No camera update needed
[2026-10-20 04:35:19,591.591 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:35:19,593.593 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:35:19,598.598 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:35:19,603.603 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:35:21,643.643 INFO    ] ================================================
[2026-10-20 04:35:21,659.659 INFO    ] Launching Daemon at Tue Oct 20 04:35:21 IST 2026
[2026-10-20 04:35:21,671.671 INFO    ] ================================================
[2026-10-20 04:35:22,338.338 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:35:22
[2026-10-20 04:35:22,953.953 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:35:23,232.232 INFO    ] Initializing speech engine...
[2026-10-20 04:35:23,239.239 INFO    ] 2026-10-20 04:35:23
[2026-10-20 04:35:23,485.485 INFO    ] 2026-10-20 04:35:23
[2026-10-20 04:35:23,521.521 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:35:23,802.802 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:35:23,806.806 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:35:24,036.036 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:35:24,043.043 INFO    ] time= 20/10/2026 04:35:24
[2026-10-20 04:35:24,061.061 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:35:24,090.090 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:35:24,210.210 INFO    ] No existing commands found in stream
[2026-10-20 04:35:29,231.231 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:35:29,234.234 INFO    ] Waiting 1.93 seconds before fallback handling...
[2026-10-20 04:35:31,764.764 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:35:31,767.767 INFO    ] Checking for system updates...
[2026-10-20 04:35:31,806.806 INFO    ] 200
[2026-10-20 04:35:31,810.810 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:35:31,869.869 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:35:31,873.873 INFO    ] No update needed
[2026-10-20 04:35:31,877.877 INFO    ] Checking for camera pi updates...
[2026-10-20 04:35:31,918.918 INFO    ] 200
[2026-10-20 04:35:31,922.922 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:35:31,974.974 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:35:32,027.027 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:35:32,030.030 INFO    ] No camera update needed
[2026-10-20 04:35:32,033.033 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:35:32,037.037 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:35:32,052.052 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:35:32,058.058 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:35:34,101.101 INFO    ] ================================================
[2026-10-20 04:35:34,116.116 INFO    ] Launching Daemon at Tue Oct 20 04:35:34 IST 2026
[2026-10-20 04:35:34,128.128 INFO    ] ================================================
[2026-10-20 04:35:34,709.709 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:35:34
[2026-10-20 04:35:35,313.313 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:35:35,581.581 INFO    ] Initializing speech engine...
[2026-10-20 04:35:35,596.596 INFO    ] 2026-10-20 04:35:35
[2026-10-20 04:35:35,887.887 INFO    ] 2026-10-20 04:35:35
[2026-10-20 04:35:35,926.926 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:35:36,152.152 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:35:36,160.160 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:35:36,385.385 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:35:36,418.418 INFO    ] time= 20/10/2026 04:35:36
[2026-10-20 04:35:36,472.472 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:35:36,527.527 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:35:36,674.674 INFO    ] No existing commands found in stream
[2026-10-20 04:35:41,692.692 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:35:41,695.695 INFO    ] Waiting 0.75 seconds before fallback handling...
[2026-10-20 04:35:42,975.975 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:35:42,978.978 INFO    ] Checking for system updates...
[2026-10-20 04:35:43,013.013 INFO    ] 200
[2026-10-20 04:35:43,016.016 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:35:43,075.075 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:35:43,078.078 INFO    ] No update needed
[2026-10-20 04:35:43,080.080 INFO    ] Checking for camera pi updates...
[2026-10-20 04:35:43,117.117 INFO    ] 200
[2026-10-20 04:35:43,120.120 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:35:43,166.166 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:35:43,216.216 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:35:43,219.219 INFO    ] No camera update needed
[2026-10-20 04:35:43,221.221 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:35:43,224.224 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:35:43,229.229 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:35:43,234.234 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:35:45,274.274 INFO    ] ================================================
[2026-10-20 04:35:45,289.289 INFO    ] Launching Daemon at Tue Oct 20 04:35:45 IST 2026
[2026-10-20 04:35:45,300.300 INFO    ] ================================================
[2026-10-20 04:35:45,871.871 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:35:45
[2026-10-20 04:35:46,459.459 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:35:46,720.720 INFO    ] Initializing speech engine...
[2026-10-20 04:35:46,726.726 INFO    ] 2026-10-20 04:35:46
[2026-10-20 04:35:47,023.023 INFO    ] 2026-10-20 04:35:46
[2026-10-20 04:35:47,062.062 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:35:47,350.350 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:35:47,368.368 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:35:47,618.618 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:35:47,668.668 INFO    ] time= 20/10/2026 04:35:47
[2026-10-20 04:35:47,675.675 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:35:47,695.695 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:35:47,818.818 INFO    ] No existing commands found in stream
[2026-10-20 04:35:52,849.849 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:35:52,852.852 INFO    ] Waiting 3.06 seconds before fallback handling...
[2026-10-20 04:35:56,443.443 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:35:56,445.445 INFO    ] Checking for system updates...
[2026-10-20 04:35:56,481.481 INFO    ] 200
[2026-10-20 04:35:56,483.483 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:35:56,537.537 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:35:56,539.539 INFO    ] No update needed
[2026-10-20 04:35:56,541.541 INFO    ] Checking for camera pi updates...
[2026-10-20 04:35:56,574.574 INFO    ] 200
[2026-10-20 04:35:56,577.577 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:35:56,620.620 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:35:56,668.668 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:35:56,670.670 INFO    ] No camera update needed
[2026-10-20 04:35:56,673.673 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:35:56,675.675 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:35:56,680.680 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:35:56,685.685 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:35:58,728.728 INFO    ] ================================================
[2026-10-20 04:35:58,743.743 INFO    ] Launching Daemon at Tue Oct 20 04:35:58 IST 2026
[2026-10-20 04:35:58,754.754 INFO    ] ================================================
[2026-10-20 04:35:59,414.414 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:35:59
[2026-10-20 04:36:00,096.096 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:36:00,398.398 INFO    ] Initializing speech engine...
[2026-10-20 04:36:00,406.406 INFO    ] 2026-10-20 04:36:00
[2026-10-20 04:36:00,685.685 INFO    ] 2026-10-20 04:36:00
[2026-10-20 04:36:00,743.743 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:36:01,030.030 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:36:01,035.035 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:36:01,235.235 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:36:01,254.254 INFO    ] time= 20/10/2026 04:36:01
[2026-10-20 04:36:01,283.283 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:36:01,320.320 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:36:01,480.480 INFO    ] No existing commands found in stream
[2026-10-20 04:36:06,491.491 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:36:06,495.495 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-10-20 04:36:10,197.197 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:36:10,200.200 INFO    ] Checking for system updates...
[2026-10-20 04:36:10,237.237 INFO    ] 200
[2026-10-20 04:36:10,240.240 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:36:10,300.300 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:36:10,303.303 INFO    ] No update needed
[2026-10-20 04:36:10,306.306 INFO    ] Checking for camera pi updates...
[2026-10-20 04:36:10,345.345 INFO    ] 200
[2026-10-20 04:36:10,348.348 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:36:10,394.394 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:36:10,544.544 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:36:10,547.547 INFO    ] No camera update needed
[2026-10-20 04:36:10,550.550 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:36:10,553.553 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:36:10,559.559 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:36:10,565.565 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:36:12,607.607 INFO    ] ================================================
[2026-10-20 04:36:12,622.622 INFO    ] Launching Daemon at Tue Oct 20 04:36:12 IST 2026
[2026-10-20 04:36:12,633.633 INFO    ] ================================================
[2026-10-20 04:36:13,292.292 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:36:13
[2026-10-20 04:36:13,971.971 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:36:14,281.281 INFO    ] Initializing speech engine...
[2026-10-20 04:36:14,292.292 INFO    ] 2026-10-20 04:36:14
[2026-10-20 04:36:14,604.604 INFO    ] 2026-10-20 04:36:14
[2026-10-20 04:36:14,690.690 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:36:14,905.905 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:36:14,915.915 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:36:15,108.108 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:36:15,130.130 INFO    ] time= 20/10/2026 04:36:15
[2026-10-20 04:36:15,157.157 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:36:15,166.166 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:36:15,292.292 INFO    ] No existing commands found in stream
[2026-10-20 04:36:20,318.318 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:36:20,322.322 INFO    ] Waiting 1.90 seconds before fallback handling...
[2026-10-20 04:36:22,774.774 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:36:22,777.777 INFO    ] Checking for system updates...
[2026-10-20 04:36:22,818.818 INFO    ] 200
[2026-10-20 04:36:22,821.821 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:36:22,876.876 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:36:22,879.879 INFO    ] No update needed
[2026-10-20 04:36:22,882.882 INFO    ] Checking for camera pi updates...
[2026-10-20 04:36:22,916.916 INFO    ] 200
[2026-10-20 04:36:22,919.919 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:36:22,961.961 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:36:23,018.018 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:36:23,021.021 INFO    ] No camera update needed
[2026-10-20 04:36:23,023.023 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:36:23,026.026 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:36:23,032.032 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:36:23,038.038 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:36:25,079.079 INFO    ] ================================================
[2026-10-20 04:36:25,094.094 INFO    ] Launching Daemon at Tue Oct 20 04:36:25 IST 2026
[2026-10-20 04:36:25,104.104 INFO    ] ================================================
[2026-10-20 04:36:25,685.685 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:36:25
[2026-10-20 04:36:26,284.284 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:36:26,557.557 INFO    ] Initializing speech engine...
[2026-10-20 04:36:26,566.566 INFO    ] 2026-10-20 04:36:26
[2026-10-20 04:36:26,814.814 INFO    ] 2026-10-20 04:36:26
[2026-10-20 04:36:26,850.850 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:36:27,106.106 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:36:27,111.111 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:36:27,336.336 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:36:27,367.367 INFO    ] time= 20/10/2026 04:36:27
[2026-10-20 04:36:27,374.374 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:36:27,392.392 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:36:27,551.551 INFO    ] No existing commands found in stream
[2026-10-20 04:36:32,581.581 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:36:32,585.585 INFO    ] Waiting 3.31 seconds before fallback handling...
[2026-10-20 04:36:36,446.446 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:36:36,449.449 INFO    ] Checking for system updates...
[2026-10-20 04:36:36,485.485 INFO    ] 200
[2026-10-20 04:36:36,488.488 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:36:36,544.544 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:36:36,546.546 INFO    ] No update needed
[2026-10-20 04:36:36,548.548 INFO    ] Checking for camera pi updates...
[2026-10-20 04:36:36,582.582 INFO    ] 200
[2026-10-20 04:36:36,584.584 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:36:36,624.624 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:36:36,673.673 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:36:36,676.676 INFO    ] No camera update needed
[2026-10-20 04:36:36,678.678 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:36:36,681.681 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:36:36,686.686 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:36:36,691.691 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:36:38,730.730 INFO    ] ================================================
[2026-10-20 04:36:38,745.745 INFO    ] Launching Daemon at Tue Oct 20 04:36:38 IST 2026
[2026-10-20 04:36:38,756.756 INFO    ] ================================================
[2026-10-20 04:36:39,413.413 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:36:39
[2026-10-20 04:36:40,091.091 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:36:40,397.397 INFO    ] Initializing speech engine...
[2026-10-20 04:36:40,412.412 INFO    ] 2026-10-20 04:36:40
[2026-10-20 04:36:40,722.722 INFO    ] 2026-10-20 04:36:40
[2026-10-20 04:36:40,809.809 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:36:41,083.083 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:36:41,112.112 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:36:41,336.336 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:36:41,374.374 INFO    ] time= 20/10/2026 04:36:41
[2026-10-20 04:36:41,438.438 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:36:41,479.479 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:36:41,626.626 INFO    ] No existing commands found in stream
[2026-10-20 04:36:46,647.647 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:36:46,650.650 INFO    ] Waiting 1.72 seconds before fallback handling...
[2026-10-20 04:36:48,946.946 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:36:48,949.949 INFO    ] Checking for system updates...
[2026-10-20 04:36:48,985.985 INFO    ] 200
[2026-10-20 04:36:48,988.988 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:36:49,042.042 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:36:49,045.045 INFO    ] No update needed
[2026-10-20 04:36:49,048.048 INFO    ] Checking for camera pi updates...
[2026-10-20 04:36:49,082.082 INFO    ] 200
[2026-10-20 04:36:49,085.085 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:36:49,127.127 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:36:49,180.180 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:36:49,183.183 INFO    ] No camera update needed
[2026-10-20 04:36:49,186.186 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:36:49,189.189 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:36:49,195.195 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:36:49,201.201 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:36:51,241.241 INFO    ] ================================================
[2026-10-20 04:36:51,256.256 INFO    ] Launching Daemon at Tue Oct 20 04:36:51 IST 2026
[2026-10-20 04:36:51,267.267 INFO    ] ================================================
[2026-10-20 04:36:51,940.940 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:36:51
[2026-10-20 04:36:52,625.625 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:36:52,909.909 INFO    ] Initializing speech engine...
[2026-10-20 04:36:52,921.921 INFO    ] 2026-10-20 04:36:52
[2026-10-20 04:36:53,232.232 INFO    ] 2026-10-20 04:36:53
[2026-10-20 04:36:53,317.317 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:36:53,573.573 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:36:53,600.600 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:36:53,789.789 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:36:53,846.846 INFO    ] time= 20/10/2026 04:36:53
[2026-10-20 04:36:53,890.890 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:36:53,963.963 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:36:54,144.144 INFO    ] No existing commands found in stream
[2026-10-20 04:36:59,166.166 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:36:59,169.169 INFO    ] Waiting 3.74 seconds before fallback handling...
[2026-10-20 04:37:03,444.444 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:37:03,447.447 INFO    ] Checking for system updates...
[2026-10-20 04:37:03,485.485 INFO    ] 200
[2026-10-20 04:37:03,487.487 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:37:03,543.543 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:37:03,545.545 INFO    ] No update needed
[2026-10-20 04:37:03,548.548 INFO    ] Checking for camera pi updates...
[2026-10-20 04:37:03,581.581 INFO    ] 200
[2026-10-20 04:37:03,584.584 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:37:03,626.626 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:37:03,680.680 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:37:03,683.683 INFO    ] No camera update needed
[2026-10-20 04:37:03,685.685 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:37:03,687.687 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:37:03,693.693 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:37:03,698.698 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:37:05,738.738 INFO    ] ================================================
[2026-10-20 04:37:05,753.753 INFO    ] Launching Daemon at Tue Oct 20 04:37:05 IST 2026
[2026-10-20 04:37:05,764.764 INFO    ] ================================================
[2026-10-20 04:37:06,330.330 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:37:06
[2026-10-20 04:37:06,914.914 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:37:07,179.179 INFO    ] Initializing speech engine...
[2026-10-20 04:37:07,190.190 INFO    ] 2026-10-20 04:37:07
[2026-10-20 04:37:07,437.437 INFO    ] 2026-10-20 04:37:07
[2026-10-20 04:37:07,473.473 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:37:07,726.726 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:37:07,735.735 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:37:07,964.964 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:37:08,006.006 INFO    ] time= 20/10/2026 04:37:07
[2026-10-20 04:37:08,012.012 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:37:08,029.029 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:37:08,160.160 INFO    ] No existing commands found in stream
[2026-10-20 04:37:13,185.185 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:37:13,188.188 INFO    ] Waiting 0.73 seconds before fallback handling...
[2026-10-20 04:37:14,465.465 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 04:37:14,468.468 INFO    ] Checking for system updates...
[2026-10-20 04:37:14,503.503 INFO    ] 200
[2026-10-20 04:37:14,506.506 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:37:14,557.557 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:37:14,559.559 INFO    ] No update needed
[2026-10-20 04:37:14,562.562 INFO    ] Checking for camera pi updates...
[2026-10-20 04:37:14,596.596 INFO    ] 200
[2026-10-20 04:37:14,599.599 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:37:14,639.639 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:37:14,683.683 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:37:14,685.685 INFO    ] No camera update needed
[2026-10-20 04:37:14,688.688 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:37:14,691.691 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:37:14,696.696 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:37:14,702.702 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:37:16,741.741 INFO    ] ================================================
[2026-10-20 04:37:16,755.755 INFO    ] Launching Daemon at Tue Oct 20 04:37:16 IST 2026
[2026-10-20 04:37:16,766.766 INFO    ] ================================================
[2026-10-20 04:37:17,340.340 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:37:17
[2026-10-20 04:37:17,925.925 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:37:18,196.196 INFO    ] Initializing speech engine...
[2026-10-20 04:37:18,206.206 INFO    ] 2026-10-20 04:37:18
[2026-10-20 04:37:18,454.454 INFO    ] 2026-10-20 04:37:18
[2026-10-20 04:37:18,489.489 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:37:18,690.690 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:37:18,749.749 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:37:18,977.977 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:37:19,020.020 INFO    ] time= 20/10/2026 04:37:18
[2026-10-20 04:37:19,026.026 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:37:19,047.047 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:37:19,153.153 INFO    ] No existing commands found in stream
[2026-10-20 04:37:24,178.178 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:37:24,181.181 INFO    ] Waiting 1.16 seconds before fallback handling...
[2026-10-20 04:37:25,929.929 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:37:25,932.932 INFO    ] Checking for system updates...
[2026-10-20 04:37:25,967.967 INFO    ] 200
[2026-10-20 04:37:25,970.970 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:37:26,022.022 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:37:26,024.024 INFO    ] No update needed
[2026-10-20 04:37:26,027.027 INFO    ] Checking for camera pi updates...
[2026-10-20 04:37:26,060.060 INFO    ] 200
[2026-10-20 04:37:26,063.063 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:37:26,104.104 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:37:26,151.151 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:37:26,154.154 INFO    ] No camera update needed
[2026-10-20 04:37:26,156.156 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:37:26,158.158 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:37:26,164.164 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:37:26,169.169 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:37:28,210.210 INFO    ] ================================================
[2026-10-20 04:37:28,225.225 INFO    ] Launching Daemon at Tue Oct 20 04:37:28 IST 2026
[2026-10-20 04:37:28,236.236 INFO    ] ================================================
[2026-10-20 04:37:28,814.814 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:37:28
[2026-10-20 04:37:29,410.410 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:37:29,669.669 INFO    ] Initializing speech engine...
[2026-10-20 04:37:29,693.693 INFO    ] 2026-10-20 04:37:29
[2026-10-20 04:37:29,960.960 INFO    ] 2026-10-20 04:37:29
[2026-10-20 04:37:29,998.998 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:37:30,273.273 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:37:30,283.283 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:37:30,428.428 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:37:30,470.470 INFO    ] time= 20/10/2026 04:37:30
[2026-10-20 04:37:30,540.540 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:37:30,574.574 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:37:30,737.737 INFO    ] No existing commands found in stream
[2026-10-20 04:37:35,749.749 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:37:35,752.752 INFO    ] Waiting 3.03 seconds before fallback handling...
[2026-10-20 04:37:39,351.351 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:37:39,353.353 INFO    ] Checking for system updates...
[2026-10-20 04:37:39,388.388 INFO    ] 200
[2026-10-20 04:37:39,391.391 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:37:39,443.443 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:37:39,446.446 INFO    ] No update needed
[2026-10-20 04:37:39,448.448 INFO    ] Checking for camera pi updates...
[2026-10-20 04:37:39,482.482 INFO    ] 200
[2026-10-20 04:37:39,485.485 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:37:39,527.527 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:37:39,574.574 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:37:39,577.577 INFO    ] No camera update needed
[2026-10-20 04:37:39,579.579 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:37:39,582.582 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:37:39,587.587 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:37:39,592.592 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:37:41,632.632 INFO    ] ================================================
[2026-10-20 04:37:41,646.646 INFO    ] Launching Daemon at Tue Oct 20 04:37:41 IST 2026
[2026-10-20 04:37:41,657.657 INFO    ] ================================================
[2026-10-20 04:37:42,233.233 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:37:42
[2026-10-20 04:37:42,828.828 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:37:43,107.107 INFO    ] Initializing speech engine...
[2026-10-20 04:37:43,120.120 INFO    ] 2026-10-20 04:37:43
[2026-10-20 04:37:43,381.381 INFO    ] 2026-10-20 04:37:43
[2026-10-20 04:37:43,418.418 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:37:43,695.695 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:37:43,705.705 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:37:43,851.851 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:37:43,911.911 INFO    ] time= 20/10/2026 04:37:43
[2026-10-20 04:37:43,950.950 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:37:43,992.992 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:37:44,126.126 INFO    ] No existing commands found in stream
[2026-10-20 04:37:49,161.161 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:37:49,164.164 INFO    ] Waiting 0.91 seconds before fallback handling...
[2026-10-20 04:37:50,669.669 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 04:37:50,672.672 INFO    ] Checking for system updates...
[2026-10-20 04:37:50,709.709 INFO    ] 200
[2026-10-20 04:37:50,711.711 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:37:50,764.764 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:37:50,766.766 INFO    ] No update needed
[2026-10-20 04:37:50,769.769 INFO    ] Checking for camera pi updates...
[2026-10-20 04:37:50,811.811 INFO    ] 200
[2026-10-20 04:37:50,813.813 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:37:50,858.858 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:37:50,903.903 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:37:50,906.906 INFO    ] No camera update needed
[2026-10-20 04:37:50,909.909 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:37:50,912.912 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:37:50,918.918 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:37:50,923.923 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:37:52,965.965 INFO    ] ================================================
[2026-10-20 04:37:52,980.980 INFO    ] Launching Daemon at Tue Oct 20 04:37:52 IST 2026
[2026-10-20 04:37:52,991.991 INFO    ] ================================================
[2026-10-20 04:37:53,597.597 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:37:53
[2026-10-20 04:37:54,227.227 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:37:54,477.477 INFO    ] Initializing speech engine...
[2026-10-20 04:37:54,483.483 INFO    ] 2026-10-20 04:37:54
[2026-10-20 04:37:54,776.776 INFO    ] 2026-10-20 04:37:54
[2026-10-20 04:37:54,813.813 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:37:55,003.003 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:37:55,016.016 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:37:55,173.173 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:37:55,182.182 INFO    ] time= 20/10/2026 04:37:55
[2026-10-20 04:37:55,187.187 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:37:55,193.193 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:37:55,267.267 INFO    ] No existing commands found in stream
[2026-10-20 04:38:00,297.297 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:38:00,300.300 INFO    ] Waiting 0.24 seconds before fallback handling...
[2026-10-20 04:38:01,066.066 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 04:38:01,068.068 INFO    ] Checking for system updates...
[2026-10-20 04:38:01,104.104 INFO    ] 200
[2026-10-20 04:38:01,106.106 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:38:01,157.157 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:38:01,160.160 INFO    ] No update needed
[2026-10-20 04:38:01,162.162 INFO    ] Checking for camera pi updates...
[2026-10-20 04:38:01,198.198 INFO    ] 200
[2026-10-20 04:38:01,201.201 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:38:01,244.244 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:38:01,288.288 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:38:01,290.290 INFO    ] No camera update needed
[2026-10-20 04:38:01,293.293 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:38:01,295.295 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:38:01,300.300 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:38:01,305.305 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:38:03,348.348 INFO    ] ================================================
[2026-10-20 04:38:03,365.365 INFO    ] Launching Daemon at Tue Oct 20 04:38:03 IST 2026
[2026-10-20 04:38:03,377.377 INFO    ] ================================================
[2026-10-20 04:38:04,032.032 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:38:04
[2026-10-20 04:38:04,692.692 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:38:04,992.992 INFO    ] Initializing speech engine...
[2026-10-20 04:38:04,999.999 INFO    ] 2026-10-20 04:38:04
[2026-10-20 04:38:05,270.270 INFO    ] 2026-10-20 04:38:05
[2026-10-20 04:38:05,305.305 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:38:05,563.563 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:38:05,569.569 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:38:05,813.813 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:38:05,834.834 INFO    ] time= 20/10/2026 04:38:05
[2026-10-20 04:38:05,850.850 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:38:05,870.870 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:38:06,051.051 INFO    ] No existing commands found in stream
[2026-10-20 04:38:11,082.082 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:38:11,086.086 INFO    ] Waiting 1.44 seconds before fallback handling...
[2026-10-20 04:38:13,112.112 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:38:13,115.115 INFO    ] Checking for system updates...
[2026-10-20 04:38:13,165.165 INFO    ] 200
[2026-10-20 04:38:13,168.168 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:38:13,219.219 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:38:13,222.222 INFO    ] No update needed
[2026-10-20 04:38:13,226.226 INFO    ] Checking for camera pi updates...
[2026-10-20 04:38:13,263.263 INFO    ] 200
[2026-10-20 04:38:13,265.265 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:38:13,305.305 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:38:13,449.449 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:38:13,452.452 INFO    ] No camera update needed
[2026-10-20 04:38:13,454.454 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:38:13,456.456 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:38:13,462.462 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:38:13,466.466 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:38:15,507.507 INFO    ] ================================================
[2026-10-20 04:38:15,522.522 INFO    ] Launching Daemon at Tue Oct 20 04:38:15 IST 2026
[2026-10-20 04:38:15,533.533 INFO    ] ================================================
[2026-10-20 04:38:16,120.120 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:38:16
[2026-10-20 04:38:16,725.725 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:38:16,987.987 INFO    ] Initializing speech engine...
[2026-10-20 04:38:16,993.993 INFO    ] 2026-10-20 04:38:16
[2026-10-20 04:38:17,291.291 INFO    ] 2026-10-20 04:38:17
[2026-10-20 04:38:17,329.329 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:38:17,550.550 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:38:17,610.610 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:38:17,773.773 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:38:17,816.816 INFO    ] time= 20/10/2026 04:38:17
[2026-10-20 04:38:17,860.860 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:38:17,919.919 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:38:18,059.059 INFO    ] No existing commands found in stream
[2026-10-20 04:38:23,082.082 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:38:23,085.085 INFO    ] Waiting 0.87 seconds before fallback handling...
[2026-10-20 04:38:24,531.531 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:38:24,533.533 INFO    ] Checking for system updates...
[2026-10-20 04:38:24,569.569 INFO    ] 200
[2026-10-20 04:38:24,571.571 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:38:24,623.623 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:38:24,625.625 INFO    ] No update needed
[2026-10-20 04:38:24,628.628 INFO    ] Checking for camera pi updates...
[2026-10-20 04:38:24,661.661 INFO    ] 200
[2026-10-20 04:38:24,663.663 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:38:24,703.703 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:38:24,760.760 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:38:24,762.762 INFO    ] No camera update needed
[2026-10-20 04:38:24,764.764 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:38:24,767.767 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:38:24,772.772 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:38:24,777.777 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:38:26,817.817 INFO    ] ================================================
[2026-10-20 04:38:26,832.832 INFO    ] Launching Daemon at Tue Oct 20 04:38:26 IST 2026
[2026-10-20 04:38:26,844.844 INFO    ] ================================================
[2026-10-20 04:38:27,428.428 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:38:27
[2026-10-20 04:38:28,034.034 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:38:28,298.298 INFO    ] Initializing speech engine...
[2026-10-20 04:38:28,313.313 INFO    ] 2026-10-20 04:38:28
[2026-10-20 04:38:28,600.600 INFO    ] 2026-10-20 04:38:28
[2026-10-20 04:38:28,639.639 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:38:28,849.849 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:38:28,866.866 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:38:29,014.014 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:38:29,022.022 INFO    ] time= 20/10/2026 04:38:29
[2026-10-20 04:38:29,027.027 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:38:29,033.033 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:38:29,184.184 INFO    ] No existing commands found in stream
[2026-10-20 04:38:34,210.210 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:38:34,212.212 INFO    ] Waiting 3.59 seconds before fallback handling...
[2026-10-20 04:38:38,345.345 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:38:38,348.348 INFO    ] Checking for system updates...
[2026-10-20 04:38:38,387.387 INFO    ] 200
[2026-10-20 04:38:38,390.390 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:38:38,442.442 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:38:38,444.444 INFO    ] No update needed
[2026-10-20 04:38:38,447.447 INFO    ] Checking for camera pi updates...
[2026-10-20 04:38:38,480.480 INFO    ] 200
[2026-10-20 04:38:38,482.482 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:38:38,523.523 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:38:38,576.576 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:38:38,579.579 INFO    ] No camera update needed
[2026-10-20 04:38:38,581.581 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:38:38,584.584 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:38:38,589.589 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:38:38,594.594 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:38:40,634.634 INFO    ] ================================================
[2026-10-20 04:38:40,650.650 INFO    ] Launching Daemon at Tue Oct 20 04:38:40 IST 2026
[2026-10-20 04:38:40,660.660 INFO    ] ================================================
[2026-10-20 04:38:41,312.312 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:38:41
[2026-10-20 04:38:41,981.981 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:38:42,283.283 INFO    ] Initializing speech engine...
[2026-10-20 04:38:42,290.290 INFO    ] 2026-10-20 04:38:42
[2026-10-20 04:38:42,565.565 INFO    ] 2026-10-20 04:38:42
[2026-10-20 04:38:42,600.600 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:38:42,858.858 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:38:42,863.863 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:38:43,018.018 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:38:43,078.078 INFO    ] time= 20/10/2026 04:38:43
[2026-10-20 04:38:44,022.022 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:38:44,029.029 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:38:44,149.149 INFO    ] No existing commands found in stream
[2026-10-20 04:38:49,162.162 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:38:49,166.166 INFO    ] Waiting 1.12 seconds before fallback handling...
[2026-10-20 04:38:50,894.894 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 04:38:50,897.897 INFO    ] Checking for system updates...
[2026-10-20 04:38:50,935.935 INFO    ] 200
[2026-10-20 04:38:50,938.938 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:38:50,992.992 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:38:50,994.994 INFO    ] No update needed
[2026-10-20 04:38:50,997.997 INFO    ] Checking for camera pi updates...
[2026-10-20 04:38:51,031.031 INFO    ] 200
[2026-10-20 04:38:51,034.034 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:38:51,080.080 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:38:51,127.127 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:38:51,130.130 INFO    ] No camera update needed
[2026-10-20 04:38:51,133.133 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:38:51,135.135 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:38:51,141.141 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:38:51,147.147 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:38:53,189.189 INFO    ] ================================================
[2026-10-20 04:38:53,204.204 INFO    ] Launching Daemon at Tue Oct 20 04:38:53 IST 2026
[2026-10-20 04:38:53,214.214 INFO    ] ================================================
[2026-10-20 04:38:53,798.798 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:38:53
[2026-10-20 04:38:54,399.399 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:38:54,654.654 INFO    ] Initializing speech engine...
[2026-10-20 04:38:54,662.662 INFO    ] 2026-10-20 04:38:54
[2026-10-20 04:38:54,962.962 INFO    ] 2026-10-20 04:38:54
[2026-10-20 04:38:54,997.997 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:38:55,227.227 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:38:55,257.257 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:38:55,456.456 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:38:55,490.490 INFO    ] time= 20/10/2026 04:38:55
[2026-10-20 04:38:55,534.534 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:38:55,583.583 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:38:55,730.730 INFO    ] No existing commands found in stream
[2026-10-20 04:39:00,747.747 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:39:00,750.750 INFO    ] Waiting 0.99 seconds before fallback handling...
[2026-10-20 04:39:02,266.266 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:39:02,270.270 INFO    ] Checking for system updates...
[2026-10-20 04:39:02,320.320 INFO    ] 200
[2026-10-20 04:39:02,323.323 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:39:02,384.384 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:39:02,387.387 INFO    ] No update needed
[2026-10-20 04:39:02,390.390 INFO    ] Checking for camera pi updates...
[2026-10-20 04:39:02,434.434 INFO    ] 200
[2026-10-20 04:39:02,437.437 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:39:02,490.490 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:39:02,525.525 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:39:02,528.528 INFO    ] No camera update needed
[2026-10-20 04:39:02,531.531 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:39:02,533.533 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:39:02,546.546 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:39:02,553.553 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:39:04,593.593 INFO    ] ================================================
[2026-10-20 04:39:04,609.609 INFO    ] Launching Daemon at Tue Oct 20 04:39:04 IST 2026
[2026-10-20 04:39:04,620.620 INFO    ] ================================================
[2026-10-20 04:39:05,276.276 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:39:05
[2026-10-20 04:39:05,954.954 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:39:06,263.263 INFO    ] Initializing speech engine...
[2026-10-20 04:39:06,277.277 INFO    ] 2026-10-20 04:39:06
[2026-10-20 04:39:06,562.562 INFO    ] 2026-10-20 04:39:06
[2026-10-20 04:39:06,608.608 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:39:06,900.900 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:39:06,906.906 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:39:07,101.101 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:39:07,113.113 INFO    ] time= 20/10/2026 04:39:07
[2026-10-20 04:39:07,136.136 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:39:07,165.165 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:39:07,312.312 INFO    ] No existing commands found in stream
[2026-10-20 04:39:12,343.343 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:39:12,346.346 INFO    ] Waiting 0.74 seconds before fallback handling...
[2026-10-20 04:39:13,655.655 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:39:13,658.658 INFO    ] Checking for system updates...
[2026-10-20 04:39:13,695.695 INFO    ] 200
[2026-10-20 04:39:13,698.698 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:39:13,751.751 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:39:13,754.754 INFO    ] No update needed
[2026-10-20 04:39:13,756.756 INFO    ] Checking for camera pi updates...
[2026-10-20 04:39:13,795.795 INFO    ] 200
[2026-10-20 04:39:13,798.798 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:39:13,844.844 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:39:13,880.880 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:39:13,883.883 INFO    ] No camera update needed
[2026-10-20 04:39:13,886.886 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:39:13,888.888 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:39:13,895.895 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:39:13,901.901 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:39:15,941.941 INFO    ] ================================================
[2026-10-20 04:39:15,956.956 INFO    ] Launching Daemon at Tue Oct 20 04:39:15 IST 2026
[2026-10-20 04:39:15,967.967 INFO    ] ================================================
[2026-10-20 04:39:16,587.587 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:39:16
[2026-10-20 04:39:17,259.259 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:39:17,579.579 INFO    ] Initializing speech engine...
[2026-10-20 04:39:17,585.585 INFO    ] 2026-10-20 04:39:17
[2026-10-20 04:39:17,893.893 INFO    ] 2026-10-20 04:39:17
[2026-10-20 04:39:17,975.975 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:39:18,188.188 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:39:18,200.200 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:39:18,396.396 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:39:18,415.415 INFO    ] time= 20/10/2026 04:39:18
[2026-10-20 04:39:18,445.445 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:39:18,456.456 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:39:18,599.599 INFO    ] No existing commands found in stream
[2026-10-20 04:39:23,630.630 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:39:23,633.633 INFO    ] Waiting 3.21 seconds before fallback handling...
[2026-10-20 04:39:27,383.383 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:39:27,386.386 INFO    ] Checking for system updates...
[2026-10-20 04:39:27,423.423 INFO    ] 200
[2026-10-20 04:39:27,425.425 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:39:27,479.479 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:39:27,481.481 INFO    ] No update needed
[2026-10-20 04:39:27,485.485 INFO    ] Checking for camera pi updates...
[2026-10-20 04:39:27,519.519 INFO    ] 200
[2026-10-20 04:39:27,522.522 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:39:27,563.563 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:39:27,619.619 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:39:27,621.621 INFO    ] No camera update needed
[2026-10-20 04:39:27,624.624 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:39:27,627.627 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:39:27,633.633 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:39:27,639.639 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:39:29,680.680 INFO    ] ================================================
[2026-10-20 04:39:29,696.696 INFO    ] Launching Daemon at Tue Oct 20 04:39:29 IST 2026
[2026-10-20 04:39:29,707.707 INFO    ] ================================================
[2026-10-20 04:39:30,273.273 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:39:30
[2026-10-20 04:39:30,857.857 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:39:31,125.125 INFO    ] Initializing speech engine...
[2026-10-20 04:39:31,135.135 INFO    ] 2026-10-20 04:39:31
[2026-10-20 04:39:31,380.380 INFO    ] 2026-10-20 04:39:31
[2026-10-20 04:39:31,414.414 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:39:31,613.613 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:39:31,635.635 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:39:31,793.793 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:39:31,859.859 INFO    ] time= 20/10/2026 04:39:31
[2026-10-20 04:39:31,881.881 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:39:31,941.941 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:39:32,119.119 INFO    ] No existing commands found in stream
[2026-10-20 04:39:37,150.150 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:39:37,153.153 INFO    ] Waiting 0.37 seconds before fallback handling...
[2026-10-20 04:39:38,028.028 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:39:38,031.031 INFO    ] Checking for system updates...
[2026-10-20 04:39:38,067.067 INFO    ] 200
[2026-10-20 04:39:38,070.070 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:39:38,123.123 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:39:38,125.125 INFO    ] No update needed
[2026-10-20 04:39:38,128.128 INFO    ] Checking for camera pi updates...
[2026-10-20 04:39:38,166.166 INFO    ] 200
[2026-10-20 04:39:38,169.169 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:39:38,210.210 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:39:38,261.261 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:39:38,264.264 INFO    ] No camera update needed
[2026-10-20 04:39:38,267.267 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:39:38,269.269 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:39:38,276.276 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:39:38,282.282 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:39:40,323.323 INFO    ] ================================================
[2026-10-20 04:39:40,340.340 INFO    ] Launching Daemon at Tue Oct 20 04:39:40 IST 2026
[2026-10-20 04:39:40,351.351 INFO    ] ================================================
[2026-10-20 04:39:41,011.011 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:39:41
[2026-10-20 04:39:41,671.671 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:39:41,946.946 INFO    ] Initializing speech engine...
[2026-10-20 04:39:41,955.955 INFO    ] 2026-10-20 04:39:41
[2026-10-20 04:39:42,204.204 INFO    ] 2026-10-20 04:39:42
[2026-10-20 04:39:42,239.239 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:39:42,492.492 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:39:42,502.502 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:39:42,747.747 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:39:42,763.763 INFO    ] time= 20/10/2026 04:39:42
[2026-10-20 04:39:42,777.777 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:39:42,786.786 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:39:42,916.916 INFO    ] No existing commands found in stream
[2026-10-20 04:39:47,941.941 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:39:47,943.943 INFO    ] Waiting 0.84 seconds before fallback handling...
[2026-10-20 04:39:49,328.328 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:39:49,331.331 INFO    ] Checking for system updates...
[2026-10-20 04:39:49,367.367 INFO    ] 200
[2026-10-20 04:39:49,369.369 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:39:49,421.421 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:39:49,423.423 INFO    ] No update needed
[2026-10-20 04:39:49,426.426 INFO    ] Checking for camera pi updates...
[2026-10-20 04:39:49,459.459 INFO    ] 200
[2026-10-20 04:39:49,461.461 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:39:49,503.503 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:39:49,548.548 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:39:49,550.550 INFO    ] No camera update needed
[2026-10-20 04:39:49,553.553 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:39:49,555.555 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:39:49,560.560 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:39:49,565.565 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:39:51,605.605 INFO    ] ================================================
[2026-10-20 04:39:51,621.621 INFO    ] Launching Daemon at Tue Oct 20 04:39:51 IST 2026
[2026-10-20 04:39:51,632.632 INFO    ] ================================================
[2026-10-20 04:39:52,197.197 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:39:52
[2026-10-20 04:39:52,780.780 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:39:53,047.047 INFO    ] Initializing speech engine...
[2026-10-20 04:39:53,056.056 INFO    ] 2026-10-20 04:39:53
[2026-10-20 04:39:53,309.309 INFO    ] 2026-10-20 04:39:53
[2026-10-20 04:39:53,368.368 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:39:53,655.655 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:39:53,659.659 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:39:53,856.856 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:39:53,874.874 INFO    ] time= 20/10/2026 04:39:53
[2026-10-20 04:39:53,896.896 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:39:53,910.910 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:39:54,013.013 INFO    ] No existing commands found in stream
[2026-10-20 04:39:59,041.041 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:39:59,044.044 INFO    ] Waiting 0.02 seconds before fallback handling...
[2026-10-20 04:39:59,568.568 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:39:59,571.571 INFO    ] Checking for system updates...
[2026-10-20 04:39:59,606.606 INFO    ] 200
[2026-10-20 04:39:59,609.609 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:39:59,661.661 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:39:59,663.663 INFO    ] No update needed
[2026-10-20 04:39:59,666.666 INFO    ] Checking for camera pi updates...
[2026-10-20 04:39:59,699.699 INFO    ] 200
[2026-10-20 04:39:59,701.701 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:39:59,741.741 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:39:59,793.793 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:39:59,795.795 INFO    ] No camera update needed
[2026-10-20 04:39:59,798.798 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:39:59,800.800 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:39:59,805.805 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:39:59,810.810 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:40:01,863.863 INFO    ] ================================================
[2026-10-20 04:40:01,982.982 INFO    ] Launching Daemon at Tue Oct 20 04:40:01 IST 2026
[2026-10-20 04:40:02,000.000 INFO    ] ================================================
[2026-10-20 04:40:02,804.804 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:40:02
[2026-10-20 04:40:03,513.513 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:40:03,833.833 INFO    ] Initializing speech engine...
[2026-10-20 04:40:03,838.838 INFO    ] 2026-10-20 04:40:03
[2026-10-20 04:40:04,125.125 INFO    ] 2026-10-20 04:40:04
[2026-10-20 04:40:04,163.163 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:40:04,452.452 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:40:04,456.456 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:40:04,661.661 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:40:04,697.697 INFO    ] time= 20/10/2026 04:40:04
[2026-10-20 04:40:04,714.714 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:40:04,722.722 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:40:04,853.853 INFO    ] No existing commands found in stream
[2026-10-20 04:40:09,865.865 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:40:09,868.868 INFO    ] Waiting 2.49 seconds before fallback handling...
[2026-10-20 04:40:12,952.952 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:40:12,955.955 INFO    ] Checking for system updates...
[2026-10-20 04:40:12,995.995 INFO    ] 200
[2026-10-20 04:40:12,997.997 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:40:13,050.050 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:40:13,052.052 INFO    ] No update needed
[2026-10-20 04:40:13,055.055 INFO    ] Checking for camera pi updates...
[2026-10-20 04:40:13,087.087 INFO    ] 200
[2026-10-20 04:40:13,090.090 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:40:13,132.132 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:40:13,183.183 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:40:13,185.185 INFO    ] No camera update needed
[2026-10-20 04:40:13,188.188 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:40:13,190.190 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:40:13,195.195 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:40:13,200.200 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:40:15,241.241 INFO    ] ================================================
[2026-10-20 04:40:15,257.257 INFO    ] Launching Daemon at Tue Oct 20 04:40:15 IST 2026
[2026-10-20 04:40:15,268.268 INFO    ] ================================================
[2026-10-20 04:40:15,923.923 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:40:15
[2026-10-20 04:40:16,599.599 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:40:16,901.901 INFO    ] Initializing speech engine...
[2026-10-20 04:40:16,910.910 INFO    ] 2026-10-20 04:40:16
[2026-10-20 04:40:17,224.224 INFO    ] 2026-10-20 04:40:17
[2026-10-20 04:40:17,310.310 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:40:17,587.587 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:40:17,600.600 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:40:17,766.766 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:40:17,796.796 INFO    ] time= 20/10/2026 04:40:17
[2026-10-20 04:40:17,802.802 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:40:17,810.810 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:40:17,926.926 INFO    ] No existing commands found in stream
[2026-10-20 04:40:22,942.942 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:40:22,945.945 INFO    ] Waiting 1.94 seconds before fallback handling...
[2026-10-20 04:40:25,384.384 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:40:25,387.387 INFO    ] Checking for system updates...
[2026-10-20 04:40:25,422.422 INFO    ] 200
[2026-10-20 04:40:25,425.425 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:40:25,477.477 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:40:25,479.479 INFO    ] No update needed
[2026-10-20 04:40:25,482.482 INFO    ] Checking for camera pi updates...
[2026-10-20 04:40:25,515.515 INFO    ] 200
[2026-10-20 04:40:25,518.518 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:40:25,558.558 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:40:25,706.706 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:40:25,709.709 INFO    ] No camera update needed
[2026-10-20 04:40:25,711.711 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:40:25,714.714 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:40:25,719.719 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:40:25,724.724 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:40:27,762.762 INFO    ] ================================================
[2026-10-20 04:40:27,777.777 INFO    ] Launching Daemon at Tue Oct 20 04:40:27 IST 2026
[2026-10-20 04:40:27,788.788 INFO    ] ================================================
[2026-10-20 04:40:28,376.376 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:40:28
[2026-10-20 04:40:28,982.982 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:40:29,254.254 INFO    ] Initializing speech engine...
[2026-10-20 04:40:29,261.261 INFO    ] 2026-10-20 04:40:29
[2026-10-20 04:40:29,585.585 INFO    ] 2026-10-20 04:40:29
[2026-10-20 04:40:29,631.631 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:40:29,892.892 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:40:29,900.900 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:40:30,149.149 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:40:30,179.179 INFO    ] time= 20/10/2026 04:40:30
[2026-10-20 04:40:30,196.196 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:40:30,217.217 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:40:30,345.345 INFO    ] No existing commands found in stream
[2026-10-20 04:40:35,380.380 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:40:35,383.383 INFO    ] Waiting 1.26 seconds before fallback handling...
[2026-10-20 04:40:37,207.207 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:40:37,210.210 INFO    ] Checking for system updates...
[2026-10-20 04:40:37,245.245 INFO    ] 200
[2026-10-20 04:40:37,248.248 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:40:37,299.299 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:40:37,301.301 INFO    ] No update needed
[2026-10-20 04:40:37,304.304 INFO    ] Checking for camera pi updates...
[2026-10-20 04:40:37,340.340 INFO    ] 200
[2026-10-20 04:40:37,343.343 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:40:37,382.382 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:40:37,431.431 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:40:37,433.433 INFO    ] No camera update needed
[2026-10-20 04:40:37,436.436 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:40:37,438.438 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:40:37,443.443 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:40:37,448.448 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:40:39,488.488 INFO    ] ================================================
[2026-10-20 04:40:39,514.514 INFO    ] Launching Daemon at Tue Oct 20 04:40:39 IST 2026
[2026-10-20 04:40:39,524.524 INFO    ] ================================================
[2026-10-20 04:40:40,091.091 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:40:40
[2026-10-20 04:40:40,674.674 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:40:40,941.941 INFO    ] Initializing speech engine...
[2026-10-20 04:40:40,949.949 INFO    ] 2026-10-20 04:40:40
[2026-10-20 04:40:41,196.196 INFO    ] 2026-10-20 04:40:41
[2026-10-20 04:40:41,230.230 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:40:41,485.485 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:40:41,491.491 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:40:41,731.731 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:40:41,749.749 INFO    ] time= 20/10/2026 04:40:41
[2026-10-20 04:40:41,766.766 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:40:41,779.779 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:40:41,976.976 INFO    ] No existing commands found in stream
[2026-10-20 04:40:47,006.006 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:40:47,009.009 INFO    ] Waiting 0.66 seconds before fallback handling...
[2026-10-20 04:40:48,205.205 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:40:48,208.208 INFO    ] Checking for system updates...
[2026-10-20 04:40:48,245.245 INFO    ] 200
[2026-10-20 04:40:48,248.248 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:40:48,301.301 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:40:48,303.303 INFO    ] No update needed
[2026-10-20 04:40:48,306.306 INFO    ] Checking for camera pi updates...
[2026-10-20 04:40:48,341.341 INFO    ] 200
[2026-10-20 04:40:48,343.343 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:40:48,388.388 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:40:48,434.434 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:40:48,436.436 INFO    ] No camera update needed
[2026-10-20 04:40:48,439.439 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:40:48,441.441 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:40:48,447.447 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:40:48,452.452 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:40:50,492.492 INFO    ] ================================================
[2026-10-20 04:40:50,508.508 INFO    ] Launching Daemon at Tue Oct 20 04:40:50 IST 2026
[2026-10-20 04:40:50,519.519 INFO    ] ================================================
[2026-10-20 04:40:51,084.084 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:40:51
[2026-10-20 04:40:51,664.664 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:40:51,930.930 INFO    ] Initializing speech engine...
[2026-10-20 04:40:51,939.939 INFO    ] 2026-10-20 04:40:51
[2026-10-20 04:40:52,189.189 INFO    ] 2026-10-20 04:40:52
[2026-10-20 04:40:52,225.225 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:40:52,510.510 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:40:52,530.530 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:40:52,746.746 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:40:52,773.773 INFO    ] time= 20/10/2026 04:40:52
[2026-10-20 04:40:52,780.780 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:40:52,797.797 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:40:52,920.920 INFO    ] No existing commands found in stream
[2026-10-20 04:40:57,945.945 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:40:57,948.948 INFO    ] Waiting 1.68 seconds before fallback handling...
[2026-10-20 04:41:00,146.146 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:41:00,148.148 INFO    ] Checking for system updates...
[2026-10-20 04:41:00,186.186 INFO    ] 200
[2026-10-20 04:41:00,189.189 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:41:00,240.240 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:41:00,243.243 INFO    ] No update needed
[2026-10-20 04:41:00,245.245 INFO    ] Checking for camera pi updates...
[2026-10-20 04:41:00,281.281 INFO    ] 200
[2026-10-20 04:41:00,283.283 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:41:00,323.323 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:41:00,369.369 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:41:00,371.371 INFO    ] No camera update needed
[2026-10-20 04:41:00,374.374 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:41:00,376.376 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:41:00,381.381 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:41:00,386.386 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:41:02,442.442 INFO    ] ================================================
[2026-10-20 04:41:02,464.464 INFO    ] Launching Daemon at Tue Oct 20 04:41:02 IST 2026
[2026-10-20 04:41:02,478.478 INFO    ] ================================================
[2026-10-20 04:41:03,141.141 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:41:03
[2026-10-20 04:41:03,749.749 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:41:04,026.026 INFO    ] Initializing speech engine...
[2026-10-20 04:41:04,034.034 INFO    ] 2026-10-20 04:41:04
[2026-10-20 04:41:04,296.296 INFO    ] 2026-10-20 04:41:04
[2026-10-20 04:41:04,350.350 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:41:04,639.639 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:41:04,644.644 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:41:04,840.840 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:41:04,846.846 INFO    ] time= 20/10/2026 04:41:04
[2026-10-20 04:41:04,867.867 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:41:04,893.893 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:41:05,010.010 INFO    ] No existing commands found in stream
[2026-10-20 04:41:10,040.040 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:41:10,043.043 INFO    ] Waiting 2.87 seconds before fallback handling...
[2026-10-20 04:41:13,452.452 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:41:13,454.454 INFO    ] Checking for system updates...
[2026-10-20 04:41:13,490.490 INFO    ] 200
[2026-10-20 04:41:13,492.492 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:41:13,553.553 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:41:13,556.556 INFO    ] No update needed
[2026-10-20 04:41:13,559.559 INFO    ] Checking for camera pi updates...
[2026-10-20 04:41:13,594.594 INFO    ] 200
[2026-10-20 04:41:13,596.596 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:41:13,644.644 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:41:13,694.694 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:41:13,696.696 INFO    ] No camera update needed
[2026-10-20 04:41:13,699.699 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:41:13,701.701 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:41:13,706.706 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:41:13,712.712 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:41:15,752.752 INFO    ] ================================================
[2026-10-20 04:41:15,767.767 INFO    ] Launching Daemon at Tue Oct 20 04:41:15 IST 2026
[2026-10-20 04:41:15,778.778 INFO    ] ================================================
[2026-10-20 04:41:16,350.350 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:41:16
[2026-10-20 04:41:16,931.931 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:41:17,200.200 INFO    ] Initializing speech engine...
[2026-10-20 04:41:17,209.209 INFO    ] 2026-10-20 04:41:17
[2026-10-20 04:41:17,458.458 INFO    ] 2026-10-20 04:41:17
[2026-10-20 04:41:17,493.493 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:41:17,751.751 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:41:17,761.761 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:41:17,972.972 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:41:18,024.024 INFO    ] time= 20/10/2026 04:41:17
[2026-10-20 04:41:18,030.030 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:41:18,047.047 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:41:18,183.183 INFO    ] No existing commands found in stream
[2026-10-20 04:41:23,201.201 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:41:23,204.204 INFO    ] Waiting 2.21 seconds before fallback handling...
[2026-10-20 04:41:25,992.992 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:41:25,995.995 INFO    ] Checking for system updates...
[2026-10-20 04:41:26,031.031 INFO    ] 200
[2026-10-20 04:41:26,034.034 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:41:26,088.088 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:41:26,091.091 INFO    ] No update needed
[2026-10-20 04:41:26,095.095 INFO    ] Checking for camera pi updates...
[2026-10-20 04:41:26,130.130 INFO    ] 200
[2026-10-20 04:41:26,133.133 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:41:26,180.180 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:41:26,226.226 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:41:26,230.230 INFO    ] No camera update needed
[2026-10-20 04:41:26,232.232 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:41:26,235.235 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:41:26,241.241 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:41:26,247.247 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:41:28,290.290 INFO    ] ================================================
[2026-10-20 04:41:28,305.305 INFO    ] Launching Daemon at Tue Oct 20 04:41:28 IST 2026
[2026-10-20 04:41:28,316.316 INFO    ] ================================================
[2026-10-20 04:41:28,896.896 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:41:28
[2026-10-20 04:41:29,494.494 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:41:29,768.768 INFO    ] Initializing speech engine...
[2026-10-20 04:41:29,777.777 INFO    ] 2026-10-20 04:41:29
[2026-10-20 04:41:30,038.038 INFO    ] 2026-10-20 04:41:30
[2026-10-20 04:41:30,091.091 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:41:30,356.356 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:41:30,377.377 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:41:30,576.576 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:41:30,591.591 INFO    ] time= 20/10/2026 04:41:30
[2026-10-20 04:41:30,600.600 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:41:30,626.626 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:41:30,746.746 INFO    ] No existing commands found in stream
[2026-10-20 04:41:35,772.772 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:41:35,774.774 INFO    ] Waiting 3.39 seconds before fallback handling...
[2026-10-20 04:41:39,704.704 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:41:39,706.706 INFO    ] Checking for system updates...
[2026-10-20 04:41:39,742.742 INFO    ] 200
[2026-10-20 04:41:39,745.745 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:41:39,818.818 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:41:39,821.821 INFO    ] No update needed
[2026-10-20 04:41:39,823.823 INFO    ] Checking for camera pi updates...
[2026-10-20 04:41:39,857.857 INFO    ] 200
[2026-10-20 04:41:39,859.859 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:41:39,908.908 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:41:39,956.956 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:41:39,958.958 INFO    ] No camera update needed
[2026-10-20 04:41:39,961.961 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:41:39,963.963 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:41:39,969.969 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:41:39,974.974 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:41:42,015.015 INFO    ] ================================================
[2026-10-20 04:41:42,031.031 INFO    ] Launching Daemon at Tue Oct 20 04:41:42 IST 2026
[2026-10-20 04:41:42,042.042 INFO    ] ================================================
[2026-10-20 04:41:42,715.715 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:41:42
[2026-10-20 04:41:43,402.402 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:41:43,707.707 INFO    ] Initializing speech engine...
[2026-10-20 04:41:43,717.717 INFO    ] 2026-10-20 04:41:43
[2026-10-20 04:41:44,016.016 INFO    ] 2026-10-20 04:41:44
[2026-10-20 04:41:44,128.128 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:41:44,413.413 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:41:44,420.420 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:41:44,689.689 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:41:44,726.726 INFO    ] time= 20/10/2026 04:41:44
[2026-10-20 04:41:44,781.781 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:41:44,831.831 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:41:44,990.990 INFO    ] No existing commands found in stream
[2026-10-20 04:41:50,021.021 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:41:50,024.024 INFO    ] Waiting 1.26 seconds before fallback handling...
[2026-10-20 04:41:51,828.828 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:41:51,831.831 INFO    ] Checking for system updates...
[2026-10-20 04:41:51,872.872 INFO    ] 200
[2026-10-20 04:41:51,875.875 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:41:51,932.932 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:41:51,934.934 INFO    ] No update needed
[2026-10-20 04:41:51,937.937 INFO    ] Checking for camera pi updates...
[2026-10-20 04:41:51,970.970 INFO    ] 200
[2026-10-20 04:41:51,972.972 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:41:52,012.012 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:41:52,070.070 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:41:52,073.073 INFO    ] No camera update needed
[2026-10-20 04:41:52,076.076 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:41:52,079.079 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:41:52,085.085 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:41:52,091.091 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:41:54,131.131 INFO    ] ================================================
[2026-10-20 04:41:54,146.146 INFO    ] Launching Daemon at Tue Oct 20 04:41:54 IST 2026
[2026-10-20 04:41:54,157.157 INFO    ] ================================================
[2026-10-20 04:41:54,818.818 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:41:54
[2026-10-20 04:41:55,502.502 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:41:55,807.807 INFO    ] Initializing speech engine...
[2026-10-20 04:41:55,820.820 INFO    ] 2026-10-20 04:41:55
[2026-10-20 04:41:56,098.098 INFO    ] 2026-10-20 04:41:56
[2026-10-20 04:41:56,145.145 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:41:56,393.393 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:41:56,413.413 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:41:56,630.630 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:41:56,647.647 INFO    ] time= 20/10/2026 04:41:56
[2026-10-20 04:41:56,657.657 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:41:56,683.683 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:41:56,834.834 INFO    ] No existing commands found in stream
[2026-10-20 04:42:01,862.862 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:42:01,865.865 INFO    ] Waiting 2.92 seconds before fallback handling...
[2026-10-20 04:42:05,381.381 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:42:05,384.384 INFO    ] Checking for system updates...
[2026-10-20 04:42:05,422.422 INFO    ] 200
[2026-10-20 04:42:05,425.425 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:42:05,478.478 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:42:05,481.481 INFO    ] No update needed
[2026-10-20 04:42:05,483.483 INFO    ] Checking for camera pi updates...
[2026-10-20 04:42:05,517.517 INFO    ] 200
[2026-10-20 04:42:05,520.520 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:42:05,569.569 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:42:05,618.618 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:42:05,621.621 INFO    ] No camera update needed
[2026-10-20 04:42:05,624.624 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:42:05,626.626 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:42:05,632.632 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:42:05,638.638 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:42:07,679.679 INFO    ] ================================================
[2026-10-20 04:42:07,695.695 INFO    ] Launching Daemon at Tue Oct 20 04:42:07 IST 2026
[2026-10-20 04:42:07,706.706 INFO    ] ================================================
[2026-10-20 04:42:08,288.288 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:42:08
[2026-10-20 04:42:08,885.885 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:42:09,162.162 INFO    ] Initializing speech engine...
[2026-10-20 04:42:09,168.168 INFO    ] 2026-10-20 04:42:09
[2026-10-20 04:42:09,428.428 INFO    ] 2026-10-20 04:42:09
[2026-10-20 04:42:09,457.457 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:42:09,706.706 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:42:09,712.712 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:42:09,912.912 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:42:09,969.969 INFO    ] time= 20/10/2026 04:42:09
[2026-10-20 04:42:09,975.975 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:42:09,993.993 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:42:10,124.124 INFO    ] No existing commands found in stream
[2026-10-20 04:42:15,139.139 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:42:15,142.142 INFO    ] Waiting 2.93 seconds before fallback handling...
[2026-10-20 04:42:18,634.634 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:42:18,637.637 INFO    ] Checking for system updates...
[2026-10-20 04:42:18,674.674 INFO    ] 200
[2026-10-20 04:42:18,677.677 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:42:18,729.729 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:42:18,732.732 INFO    ] No update needed
[2026-10-20 04:42:18,735.735 INFO    ] Checking for camera pi updates...
[2026-10-20 04:42:18,773.773 INFO    ] 200
[2026-10-20 04:42:18,775.775 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:42:18,817.817 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:42:18,867.867 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:42:18,870.870 INFO    ] No camera update needed
[2026-10-20 04:42:18,873.873 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:42:18,876.876 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:42:18,882.882 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:42:18,887.887 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:42:20,928.928 INFO    ] ================================================
[2026-10-20 04:42:20,944.944 INFO    ] Launching Daemon at Tue Oct 20 04:42:20 IST 2026
[2026-10-20 04:42:20,955.955 INFO    ] ================================================
[2026-10-20 04:42:21,524.524 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:42:21
[2026-10-20 04:42:22,107.107 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:42:22,379.379 INFO    ] Initializing speech engine...
[2026-10-20 04:42:22,385.385 INFO    ] 2026-10-20 04:42:22
[2026-10-20 04:42:22,646.646 INFO    ] 2026-10-20 04:42:22
[2026-10-20 04:42:22,683.683 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:42:22,940.940 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:42:22,949.949 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:42:23,169.169 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:42:23,214.214 INFO    ] time= 20/10/2026 04:42:23
[2026-10-20 04:42:23,220.220 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:42:23,238.238 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:42:23,382.382 INFO    ] No existing commands found in stream
[2026-10-20 04:42:28,407.407 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:42:28,410.410 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-10-20 04:42:31,161.161 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:42:31,164.164 INFO    ] Checking for system updates...
[2026-10-20 04:42:31,200.200 INFO    ] 200
[2026-10-20 04:42:31,203.203 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:42:31,267.267 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:42:31,270.270 INFO    ] No update needed
[2026-10-20 04:42:31,274.274 INFO    ] Checking for camera pi updates...
[2026-10-20 04:42:31,315.315 INFO    ] 200
[2026-10-20 04:42:31,319.319 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:42:31,374.374 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:42:31,531.531 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:42:31,534.534 INFO    ] No camera update needed
[2026-10-20 04:42:31,537.537 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:42:31,540.540 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:42:31,546.546 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:42:31,552.552 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:42:33,595.595 INFO    ] ================================================
[2026-10-20 04:42:33,611.611 INFO    ] Launching Daemon at Tue Oct 20 04:42:33 IST 2026
[2026-10-20 04:42:33,622.622 INFO    ] ================================================
[2026-10-20 04:42:34,189.189 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:42:34
[2026-10-20 04:42:34,799.799 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:42:35,109.109 INFO    ] Initializing speech engine...
[2026-10-20 04:42:35,116.116 INFO    ] 2026-10-20 04:42:35
[2026-10-20 04:42:35,392.392 INFO    ] 2026-10-20 04:42:35
[2026-10-20 04:42:35,448.448 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:42:35,707.707 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:42:35,716.716 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:42:35,921.921 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:42:35,958.958 INFO    ] time= 20/10/2026 04:42:35
[2026-10-20 04:42:35,976.976 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:42:35,987.987 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:42:36,139.139 INFO    ] No existing commands found in stream
[2026-10-20 04:42:41,165.165 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:42:41,169.169 INFO    ] Waiting 1.31 seconds before fallback handling...
[2026-10-20 04:42:43,005.005 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:42:43,008.008 INFO    ] Checking for system updates...
[2026-10-20 04:42:43,043.043 INFO    ] 200
[2026-10-20 04:42:43,045.045 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:42:43,100.100 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:42:43,102.102 INFO    ] No update needed
[2026-10-20 04:42:43,105.105 INFO    ] Checking for camera pi updates...
[2026-10-20 04:42:43,138.138 INFO    ] 200
[2026-10-20 04:42:43,141.141 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:42:43,180.180 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:42:43,238.238 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:42:43,241.241 INFO    ] No camera update needed
[2026-10-20 04:42:43,243.243 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:42:43,245.245 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:42:43,251.251 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:42:43,256.256 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:42:45,296.296 INFO    ] ================================================
[2026-10-20 04:42:45,311.311 INFO    ] Launching Daemon at Tue Oct 20 04:42:45 IST 2026
[2026-10-20 04:42:45,322.322 INFO    ] ================================================
[2026-10-20 04:42:45,890.890 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:42:45
[2026-10-20 04:42:46,476.476 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:42:46,749.749 INFO    ] Initializing speech engine...
[2026-10-20 04:42:46,757.757 INFO    ] 2026-10-20 04:42:46
[2026-10-20 04:42:47,008.008 INFO    ] 2026-10-20 04:42:47
[2026-10-20 04:42:47,044.044 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:42:47,301.301 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:42:47,311.311 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:42:47,522.522 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:42:47,577.577 INFO    ] time= 20/10/2026 04:42:47
[2026-10-20 04:42:47,584.584 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:42:47,601.601 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:42:47,737.737 INFO    ] No existing commands found in stream
[2026-10-20 04:42:52,760.760 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:42:52,763.763 INFO    ] Waiting 0.52 seconds before fallback handling...
[2026-10-20 04:42:54,837.837 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 04:42:54,840.840 INFO    ] Checking for system updates...
[2026-10-20 04:42:54,875.875 INFO    ] 200
[2026-10-20 04:42:54,877.877 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:42:54,934.934 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:42:54,936.936 INFO    ] No update needed
[2026-10-20 04:42:54,939.939 INFO    ] Checking for camera pi updates...
[2026-10-20 04:42:54,972.972 INFO    ] 200
[2026-10-20 04:42:54,974.974 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:42:55,015.015 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:42:55,069.069 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:42:55,074.074 INFO    ] No camera update needed
[2026-10-20 04:42:55,077.077 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:42:55,080.080 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:42:55,087.087 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:42:55,092.092 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:42:57,133.133 INFO    ] ================================================
[2026-10-20 04:42:57,148.148 INFO    ] Launching Daemon at Tue Oct 20 04:42:57 IST 2026
[2026-10-20 04:42:57,159.159 INFO    ] ================================================
[2026-10-20 04:42:57,723.723 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:42:57
[2026-10-20 04:42:58,304.304 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:42:58,550.550 INFO    ] Initializing speech engine...
[2026-10-20 04:42:58,559.559 INFO    ] 2026-10-20 04:42:58
[2026-10-20 04:42:58,833.833 INFO    ] 2026-10-20 04:42:58
[2026-10-20 04:42:58,868.868 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:42:59,130.130 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:42:59,136.136 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:42:59,322.322 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:42:59,381.381 INFO    ] time= 20/10/2026 04:42:59
[2026-10-20 04:42:59,401.401 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:42:59,406.406 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:42:59,570.570 INFO    ] No existing commands found in stream
[2026-10-20 04:43:04,602.602 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:43:04,604.604 INFO    ] Waiting 1.26 seconds before fallback handling...
[2026-10-20 04:43:06,344.344 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:43:06,346.346 INFO    ] Checking for system updates...
[2026-10-20 04:43:06,383.383 INFO    ] 200
[2026-10-20 04:43:06,386.386 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:43:06,442.442 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:43:06,445.445 INFO    ] No update needed
[2026-10-20 04:43:06,447.447 INFO    ] Checking for camera pi updates...
[2026-10-20 04:43:06,486.486 INFO    ] 200
[2026-10-20 04:43:06,488.488 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:43:06,530.530 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:43:06,587.587 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:43:06,590.590 INFO    ] No camera update needed
[2026-10-20 04:43:06,592.592 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:43:06,595.595 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:43:06,601.601 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:43:06,606.606 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:43:08,647.647 INFO    ] ================================================
[2026-10-20 04:43:08,662.662 INFO    ] Launching Daemon at Tue Oct 20 04:43:08 IST 2026
[2026-10-20 04:43:08,673.673 INFO    ] ================================================
[2026-10-20 04:43:09,236.236 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:43:09
[2026-10-20 04:43:09,820.820 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:43:10,070.070 INFO    ] Initializing speech engine...
[2026-10-20 04:43:10,093.093 INFO    ] 2026-10-20 04:43:10
[2026-10-20 04:43:10,348.348 INFO    ] 2026-10-20 04:43:10
[2026-10-20 04:43:10,383.383 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:43:10,646.646 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:43:10,650.650 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:43:10,906.906 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:43:10,915.915 INFO    ] time= 20/10/2026 04:43:10
[2026-10-20 04:43:10,932.932 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:43:10,960.960 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:43:11,085.085 INFO    ] No existing commands found in stream
[2026-10-20 04:43:16,110.110 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:43:16,113.113 INFO    ] Waiting 3.08 seconds before fallback handling...
[2026-10-20 04:43:19,757.757 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:43:19,760.760 INFO    ] Checking for system updates...
[2026-10-20 04:43:19,796.796 INFO    ] 200
[2026-10-20 04:43:19,798.798 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:43:19,852.852 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:43:19,854.854 INFO    ] No update needed
[2026-10-20 04:43:19,856.856 INFO    ] Checking for camera pi updates...
[2026-10-20 04:43:19,891.891 INFO    ] 200
[2026-10-20 04:43:19,894.894 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:43:19,933.933 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:43:19,978.978 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:43:19,981.981 INFO    ] No camera update needed
[2026-10-20 04:43:19,983.983 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:43:19,985.985 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:43:19,991.991 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:43:19,996.996 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:43:22,035.035 INFO    ] ================================================
[2026-10-20 04:43:22,050.050 INFO    ] Launching Daemon at Tue Oct 20 04:43:22 IST 2026
[2026-10-20 04:43:22,060.060 INFO    ] ================================================
[2026-10-20 04:43:22,638.638 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:43:22
[2026-10-20 04:43:23,236.236 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:43:23,512.512 INFO    ] Initializing speech engine...
[2026-10-20 04:43:23,522.522 INFO    ] 2026-10-20 04:43:23
[2026-10-20 04:43:23,781.781 INFO    ] 2026-10-20 04:43:23
[2026-10-20 04:43:23,810.810 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:43:24,061.061 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:43:24,066.066 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:43:24,319.319 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:43:24,326.326 INFO    ] time= 20/10/2026 04:43:24
[2026-10-20 04:43:24,344.344 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:43:24,366.366 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:43:24,504.504 INFO    ] No existing commands found in stream
[2026-10-20 04:43:29,534.534 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:43:29,537.537 INFO    ] Waiting 1.90 seconds before fallback handling...
[2026-10-20 04:43:31,988.988 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:43:31,991.991 INFO    ] Checking for system updates...
[2026-10-20 04:43:32,034.034 INFO    ] 200
[2026-10-20 04:43:32,037.037 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:43:32,100.100 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:43:32,103.103 INFO    ] No update needed
[2026-10-20 04:43:32,105.105 INFO    ] Checking for camera pi updates...
[2026-10-20 04:43:32,141.141 INFO    ] 200
[2026-10-20 04:43:32,144.144 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:43:32,192.192 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:43:32,228.228 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:43:32,231.231 INFO    ] No camera update needed
[2026-10-20 04:43:32,234.234 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:43:32,236.236 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:43:32,243.243 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:43:32,249.249 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:43:34,289.289 INFO    ] ================================================
[2026-10-20 04:43:34,303.303 INFO    ] Launching Daemon at Tue Oct 20 04:43:34 IST 2026
[2026-10-20 04:43:34,314.314 INFO    ] ================================================
[2026-10-20 04:43:34,879.879 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:43:34
[2026-10-20 04:43:35,460.460 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:43:35,730.730 INFO    ] Initializing speech engine...
[2026-10-20 04:43:35,740.740 INFO    ] 2026-10-20 04:43:35
[2026-10-20 04:43:36,002.002 INFO    ] 2026-10-20 04:43:35
[2026-10-20 04:43:36,033.033 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:43:36,287.287 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:43:36,292.292 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:43:36,429.429 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:43:36,499.499 INFO    ] time= 20/10/2026 04:43:36
[2026-10-20 04:43:36,559.559 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:43:36,565.565 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:43:36,710.710 INFO    ] No existing commands found in stream
[2026-10-20 04:43:41,724.724 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:43:41,727.727 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-10-20 04:43:44,055.055 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:43:44,058.058 INFO    ] Checking for system updates...
[2026-10-20 04:43:44,093.093 INFO    ] 200
[2026-10-20 04:43:44,095.095 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:43:44,146.146 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:43:44,149.149 INFO    ] No update needed
[2026-10-20 04:43:44,151.151 INFO    ] Checking for camera pi updates...
[2026-10-20 04:43:44,188.188 INFO    ] 200
[2026-10-20 04:43:44,190.190 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:43:44,230.230 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:43:44,275.275 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:43:44,277.277 INFO    ] No camera update needed
[2026-10-20 04:43:44,280.280 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:43:44,282.282 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:43:44,287.287 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:43:44,292.292 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:43:46,333.333 INFO    ] ================================================
[2026-10-20 04:43:46,347.347 INFO    ] Launching Daemon at Tue Oct 20 04:43:46 IST 2026
[2026-10-20 04:43:46,358.358 INFO    ] ================================================
[2026-10-20 04:43:46,939.939 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:43:46
[2026-10-20 04:43:47,536.536 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:43:47,813.813 INFO    ] Initializing speech engine...
[2026-10-20 04:43:47,820.820 INFO    ] 2026-10-20 04:43:47
[2026-10-20 04:43:48,080.080 INFO    ] 2026-10-20 04:43:48
[2026-10-20 04:43:48,110.110 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:43:48,380.380 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:43:48,388.388 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:43:48,618.618 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:43:48,625.625 INFO    ] time= 20/10/2026 04:43:48
[2026-10-20 04:43:48,645.645 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:43:48,671.671 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:43:48,788.788 INFO    ] No existing commands found in stream
[2026-10-20 04:43:53,812.812 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:43:53,815.815 INFO    ] Waiting 0.31 seconds before fallback handling...
[2026-10-20 04:43:54,679.679 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 04:43:54,681.681 INFO    ] Checking for system updates...
[2026-10-20 04:43:54,719.719 INFO    ] 200
[2026-10-20 04:43:54,721.721 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:43:54,773.773 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:43:54,775.775 INFO    ] No update needed
[2026-10-20 04:43:54,777.777 INFO    ] Checking for camera pi updates...
[2026-10-20 04:43:54,816.816 INFO    ] 200
[2026-10-20 04:43:54,819.819 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:43:54,859.859 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:43:54,905.905 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:43:54,907.907 INFO    ] No camera update needed
[2026-10-20 04:43:54,910.910 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:43:54,912.912 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:43:54,917.917 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:43:54,922.922 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:43:56,962.962 INFO    ] ================================================
[2026-10-20 04:43:56,977.977 INFO    ] Launching Daemon at Tue Oct 20 04:43:56 IST 2026
[2026-10-20 04:43:56,988.988 INFO    ] ================================================
[2026-10-20 04:43:57,559.559 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:43:57
[2026-10-20 04:43:58,195.195 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:43:58,488.488 INFO    ] Initializing speech engine...
[2026-10-20 04:43:58,494.494 INFO    ] 2026-10-20 04:43:58
[2026-10-20 04:43:58,763.763 INFO    ] 2026-10-20 04:43:58
[2026-10-20 04:43:58,817.817 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:43:59,104.104 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:43:59,109.109 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:43:59,291.291 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:43:59,310.310 INFO    ] time= 20/10/2026 04:43:59
[2026-10-20 04:43:59,326.326 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:43:59,346.346 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:43:59,483.483 INFO    ] No existing commands found in stream
[2026-10-20 04:44:04,508.508 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:44:04,512.512 INFO    ] Waiting 1.75 seconds before fallback handling...
[2026-10-20 04:44:06,789.789 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:44:06,792.792 INFO    ] Checking for system updates...
[2026-10-20 04:44:06,831.831 INFO    ] 200
[2026-10-20 04:44:06,834.834 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:44:06,892.892 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:44:06,895.895 INFO    ] No update needed
[2026-10-20 04:44:06,897.897 INFO    ] Checking for camera pi updates...
[2026-10-20 04:44:06,930.930 INFO    ] 200
[2026-10-20 04:44:06,933.933 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:44:06,976.976 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:44:07,025.025 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:44:07,027.027 INFO    ] No camera update needed
[2026-10-20 04:44:07,030.030 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:44:07,032.032 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:44:07,038.038 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:44:07,043.043 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:44:09,083.083 INFO    ] ================================================
[2026-10-20 04:44:09,099.099 INFO    ] Launching Daemon at Tue Oct 20 04:44:09 IST 2026
[2026-10-20 04:44:09,111.111 INFO    ] ================================================
[2026-10-20 04:44:09,681.681 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:44:09
[2026-10-20 04:44:10,266.266 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:44:10,516.516 INFO    ] Initializing speech engine...
[2026-10-20 04:44:10,531.531 INFO    ] 2026-10-20 04:44:10
[2026-10-20 04:44:10,796.796 INFO    ] 2026-10-20 04:44:10
[2026-10-20 04:44:10,832.832 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:44:11,089.089 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:44:11,098.098 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:44:11,347.347 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:44:11,363.363 INFO    ] time= 20/10/2026 04:44:11
[2026-10-20 04:44:11,369.369 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:44:11,387.387 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:44:11,519.519 INFO    ] No existing commands found in stream
[2026-10-20 04:44:16,532.532 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:44:16,535.535 INFO    ] Waiting 1.67 seconds before fallback handling...
[2026-10-20 04:44:18,707.707 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:44:18,709.709 INFO    ] Checking for system updates...
[2026-10-20 04:44:18,745.745 INFO    ] 200
[2026-10-20 04:44:18,748.748 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:44:18,800.800 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:44:18,802.802 INFO    ] No update needed
[2026-10-20 04:44:18,804.804 INFO    ] Checking for camera pi updates...
[2026-10-20 04:44:18,837.837 INFO    ] 200
[2026-10-20 04:44:18,840.840 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:44:18,880.880 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:44:18,927.927 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:44:18,930.930 INFO    ] No camera update needed
[2026-10-20 04:44:18,932.932 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:44:18,934.934 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:44:18,940.940 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:44:18,944.944 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:44:20,984.984 INFO    ] ================================================
[2026-10-20 04:44:21,000.000 INFO    ] Launching Daemon at Tue Oct 20 04:44:20 IST 2026
[2026-10-20 04:44:21,011.011 INFO    ] ================================================
[2026-10-20 04:44:21,659.659 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:44:21
[2026-10-20 04:44:22,254.254 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:44:22,519.519 INFO    ] Initializing speech engine...
[2026-10-20 04:44:22,532.532 INFO    ] 2026-10-20 04:44:22
[2026-10-20 04:44:22,782.782 INFO    ] 2026-10-20 04:44:22
[2026-10-20 04:44:22,816.816 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:44:23,074.074 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:44:23,083.083 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:44:23,299.299 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:44:23,347.347 INFO    ] time= 20/10/2026 04:44:23
[2026-10-20 04:44:23,353.353 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:44:23,372.372 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:44:23,503.503 INFO    ] No existing commands found in stream
[2026-10-20 04:44:28,517.517 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:44:28,520.520 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-10-20 04:44:31,709.709 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:44:31,712.712 INFO    ] Checking for system updates...
[2026-10-20 04:44:31,750.750 INFO    ] 200
[2026-10-20 04:44:31,752.752 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:44:31,815.815 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:44:31,817.817 INFO    ] No update needed
[2026-10-20 04:44:31,820.820 INFO    ] Checking for camera pi updates...
[2026-10-20 04:44:31,857.857 INFO    ] 200
[2026-10-20 04:44:31,860.860 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:44:31,904.904 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:44:31,946.946 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:44:31,949.949 INFO    ] No camera update needed
[2026-10-20 04:44:31,953.953 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:44:31,956.956 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:44:31,964.964 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:44:31,971.971 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:44:34,012.012 INFO    ] ================================================
[2026-10-20 04:44:34,028.028 INFO    ] Launching Daemon at Tue Oct 20 04:44:34 IST 2026
[2026-10-20 04:44:34,040.040 INFO    ] ================================================
[2026-10-20 04:44:34,623.623 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:44:34
[2026-10-20 04:44:35,221.221 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:44:35,500.500 INFO    ] Initializing speech engine...
[2026-10-20 04:44:35,508.508 INFO    ] 2026-10-20 04:44:35
[2026-10-20 04:44:35,768.768 INFO    ] 2026-10-20 04:44:35
[2026-10-20 04:44:35,822.822 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:44:36,111.111 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:44:36,169.169 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:44:36,358.358 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:44:36,415.415 INFO    ] time= 20/10/2026 04:44:36
[2026-10-20 04:44:36,458.458 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:44:36,501.501 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:44:36,648.648 INFO    ] No existing commands found in stream
[2026-10-20 04:44:41,678.678 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:44:41,681.681 INFO    ] Waiting 2.36 seconds before fallback handling...
[2026-10-20 04:44:44,568.568 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:44:44,571.571 INFO    ] Checking for system updates...
[2026-10-20 04:44:44,607.607 INFO    ] 200
[2026-10-20 04:44:44,610.610 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:44:44,671.671 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:44:44,673.673 INFO    ] No update needed
[2026-10-20 04:44:44,676.676 INFO    ] Checking for camera pi updates...
[2026-10-20 04:44:44,712.712 INFO    ] 200
[2026-10-20 04:44:44,715.715 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:44:44,754.754 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:44:44,902.902 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:44:44,905.905 INFO    ] No camera update needed
[2026-10-20 04:44:44,907.907 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:44:44,910.910 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:44:44,915.915 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:44:44,920.920 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:44:46,961.961 INFO    ] ================================================
[2026-10-20 04:44:46,977.977 INFO    ] Launching Daemon at Tue Oct 20 04:44:46 IST 2026
[2026-10-20 04:44:46,992.992 INFO    ] ================================================
[2026-10-20 04:44:47,573.573 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:44:47
[2026-10-20 04:44:48,169.169 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:44:48,455.455 INFO    ] Initializing speech engine...
[2026-10-20 04:44:48,462.462 INFO    ] 2026-10-20 04:44:48
[2026-10-20 04:44:48,730.730 INFO    ] 2026-10-20 04:44:48
[2026-10-20 04:44:48,766.766 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:44:48,965.965 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:44:48,979.979 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:44:49,145.145 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:44:49,151.151 INFO    ] time= 20/10/2026 04:44:49
[2026-10-20 04:44:49,157.157 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:44:49,206.206 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:44:49,330.330 INFO    ] No existing commands found in stream
[2026-10-20 04:44:54,356.356 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:44:54,359.359 INFO    ] Waiting 1.34 seconds before fallback handling...
[2026-10-20 04:44:56,205.205 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 04:44:56,207.207 INFO    ] Checking for system updates...
[2026-10-20 04:44:56,247.247 INFO    ] 200
[2026-10-20 04:44:56,249.249 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:44:56,308.308 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:44:56,310.310 INFO    ] No update needed
[2026-10-20 04:44:56,313.313 INFO    ] Checking for camera pi updates...
[2026-10-20 04:44:56,346.346 INFO    ] 200
[2026-10-20 04:44:56,348.348 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:44:56,393.393 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:44:56,438.438 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:44:56,441.441 INFO    ] No camera update needed
[2026-10-20 04:44:56,443.443 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:44:56,445.445 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:44:56,451.451 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:44:56,456.456 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:44:58,496.496 INFO    ] ================================================
[2026-10-20 04:44:58,512.512 INFO    ] Launching Daemon at Tue Oct 20 04:44:58 IST 2026
[2026-10-20 04:44:58,523.523 INFO    ] ================================================
[2026-10-20 04:44:59,169.169 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:44:59
[2026-10-20 04:44:59,835.835 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:45:00,129.129 INFO    ] Initializing speech engine...
[2026-10-20 04:45:00,140.140 INFO    ] 2026-10-20 04:45:00
[2026-10-20 04:45:00,433.433 INFO    ] 2026-10-20 04:45:00
[2026-10-20 04:45:00,472.472 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:45:00,757.757 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:45:00,763.763 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:45:00,958.958 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:45:00,976.976 INFO    ] time= 20/10/2026 04:45:00
[2026-10-20 04:45:01,001.001 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:45:01,016.016 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:45:01,124.124 INFO    ] No existing commands found in stream
[2026-10-20 04:45:06,153.153 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:45:06,157.157 INFO    ] Waiting 1.59 seconds before fallback handling...
[2026-10-20 04:45:08,289.289 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 04:45:08,292.292 INFO    ] Checking for system updates...
[2026-10-20 04:45:08,329.329 INFO    ] 200
[2026-10-20 04:45:08,332.332 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:45:08,391.391 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:45:08,393.393 INFO    ] No update needed
[2026-10-20 04:45:08,396.396 INFO    ] Checking for camera pi updates...
[2026-10-20 04:45:08,433.433 INFO    ] 200
[2026-10-20 04:45:08,436.436 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:45:08,484.484 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:45:08,521.521 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:45:08,523.523 INFO    ] No camera update needed
[2026-10-20 04:45:08,526.526 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:45:08,528.528 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:45:08,533.533 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:45:08,538.538 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:45:10,579.579 INFO    ] ================================================
[2026-10-20 04:45:10,595.595 INFO    ] Launching Daemon at Tue Oct 20 04:45:10 IST 2026
[2026-10-20 04:45:10,606.606 INFO    ] ================================================
[2026-10-20 04:45:11,174.174 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:45:11
[2026-10-20 04:45:11,755.755 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:45:12,012.012 INFO    ] Initializing speech engine...
[2026-10-20 04:45:12,028.028 INFO    ] 2026-10-20 04:45:12
[2026-10-20 04:45:12,308.308 INFO    ] 2026-10-20 04:45:12
[2026-10-20 04:45:12,345.345 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:45:12,630.630 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:45:12,640.640 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:45:12,866.866 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:45:12,926.926 INFO    ] time= 20/10/2026 04:45:12
[2026-10-20 04:45:12,936.936 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:45:12,953.953 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:45:13,084.084 INFO    ] No existing commands found in stream
[2026-10-20 04:45:18,104.104 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:45:18,107.107 INFO    ] Waiting 0.66 seconds before fallback handling...
[2026-10-20 04:45:19,286.286 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 04:45:19,289.289 INFO    ] Checking for system updates...
[2026-10-20 04:45:19,328.328 INFO    ] 200
[2026-10-20 04:45:19,330.330 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:45:19,387.387 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:45:19,390.390 INFO    ] No update needed
[2026-10-20 04:45:19,392.392 INFO    ] Checking for camera pi updates...
[2026-10-20 04:45:19,425.425 INFO    ] 200
[2026-10-20 04:45:19,428.428 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:45:19,473.473 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:45:19,531.531 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:45:19,533.533 INFO    ] No camera update needed
[2026-10-20 04:45:19,535.535 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:45:19,538.538 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:45:19,543.543 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:45:19,548.548 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:45:21,588.588 INFO    ] ================================================
[2026-10-20 04:45:21,604.604 INFO    ] Launching Daemon at Tue Oct 20 04:45:21 IST 2026
[2026-10-20 04:45:21,615.615 INFO    ] ================================================
[2026-10-20 04:45:22,199.199 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:45:22
[2026-10-20 04:45:22,799.799 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:45:23,074.074 INFO    ] Initializing speech engine...
[2026-10-20 04:45:23,083.083 INFO    ] 2026-10-20 04:45:23
[2026-10-20 04:45:23,347.347 INFO    ] 2026-10-20 04:45:23
[2026-10-20 04:45:23,400.400 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:45:23,626.626 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:45:23,631.631 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:45:23,871.871 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:45:23,890.890 INFO    ] time= 20/10/2026 04:45:23
[2026-10-20 04:45:23,904.904 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:45:23,915.915 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:45:24,062.062 INFO    ] No existing commands found in stream
[2026-10-20 04:45:29,092.092 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:45:29,095.095 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-10-20 04:45:29,738.738 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:45:29,741.741 INFO    ] Checking for system updates...
[2026-10-20 04:45:29,780.780 INFO    ] 200
[2026-10-20 04:45:29,783.783 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:45:29,834.834 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:45:29,837.837 INFO    ] No update needed
[2026-10-20 04:45:29,839.839 INFO    ] Checking for camera pi updates...
[2026-10-20 04:45:29,876.876 INFO    ] 200
[2026-10-20 04:45:29,879.879 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:45:29,919.919 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:45:29,968.968 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:45:29,971.971 INFO    ] No camera update needed
[2026-10-20 04:45:29,973.973 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:45:29,975.975 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:45:29,981.981 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:45:29,986.986 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:45:32,028.028 INFO    ] ================================================
[2026-10-20 04:45:32,045.045 INFO    ] Launching Daemon at Tue Oct 20 04:45:32 IST 2026
[2026-10-20 04:45:32,057.057 INFO    ] ================================================
[2026-10-20 04:45:32,746.746 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:45:32
[2026-10-20 04:45:33,439.439 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:45:33,745.745 INFO    ] Initializing speech engine...
[2026-10-20 04:45:33,759.759 INFO    ] 2026-10-20 04:45:33
[2026-10-20 04:45:34,037.037 INFO    ] 2026-10-20 04:45:34
[2026-10-20 04:45:34,084.084 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:45:34,369.369 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:45:34,377.377 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:45:34,575.575 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:45:34,597.597 INFO    ] time= 20/10/2026 04:45:34
[2026-10-20 04:45:34,627.627 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:45:34,636.636 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:45:34,752.752 INFO    ] No existing commands found in stream
[2026-10-20 04:45:39,788.788 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:45:39,791.791 INFO    ] Waiting 1.82 seconds before fallback handling...
[2026-10-20 04:45:42,172.172 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:45:42,174.174 INFO    ] Checking for system updates...
[2026-10-20 04:45:42,212.212 INFO    ] 200
[2026-10-20 04:45:42,214.214 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:45:42,273.273 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:45:42,276.276 INFO    ] No update needed
[2026-10-20 04:45:42,279.279 INFO    ] Checking for camera pi updates...
[2026-10-20 04:45:42,317.317 INFO    ] 200
[2026-10-20 04:45:42,320.320 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:45:42,362.362 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:45:42,415.415 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:45:42,418.418 INFO    ] No camera update needed
[2026-10-20 04:45:42,421.421 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:45:42,423.423 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:45:42,430.430 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:45:42,435.435 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:45:44,478.478 INFO    ] ================================================
[2026-10-20 04:45:44,494.494 INFO    ] Launching Daemon at Tue Oct 20 04:45:44 IST 2026
[2026-10-20 04:45:44,506.506 INFO    ] ================================================
[2026-10-20 04:45:45,072.072 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:45:45
[2026-10-20 04:45:45,655.655 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:45:45,926.926 INFO    ] Initializing speech engine...
[2026-10-20 04:45:45,936.936 INFO    ] 2026-10-20 04:45:45
[2026-10-20 04:45:46,185.185 INFO    ] 2026-10-20 04:45:46
[2026-10-20 04:45:46,218.218 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:45:46,480.480 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:45:46,489.489 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:45:46,707.707 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:45:46,755.755 INFO    ] time= 20/10/2026 04:45:46
[2026-10-20 04:45:46,761.761 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:45:46,776.776 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:45:46,897.897 INFO    ] No existing commands found in stream
[2026-10-20 04:45:51,922.922 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:45:51,925.925 INFO    ] Waiting 0.23 seconds before fallback handling...
[2026-10-20 04:45:52,718.718 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:45:52,720.720 INFO    ] Checking for system updates...
[2026-10-20 04:45:52,760.760 INFO    ] 200
[2026-10-20 04:45:52,762.762 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:45:52,820.820 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:45:52,822.822 INFO    ] No update needed
[2026-10-20 04:45:52,824.824 INFO    ] Checking for camera pi updates...
[2026-10-20 04:45:52,861.861 INFO    ] 200
[2026-10-20 04:45:52,863.863 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:45:52,902.902 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:45:52,956.956 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:45:52,958.958 INFO    ] No camera update needed
[2026-10-20 04:45:52,961.961 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:45:52,963.963 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:45:52,968.968 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:45:52,973.973 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:45:55,015.015 INFO    ] ================================================
[2026-10-20 04:45:55,031.031 INFO    ] Launching Daemon at Tue Oct 20 04:45:55 IST 2026
[2026-10-20 04:45:55,042.042 INFO    ] ================================================
[2026-10-20 04:45:55,683.683 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:45:55
[2026-10-20 04:45:56,341.341 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:45:56,644.644 INFO    ] Initializing speech engine...
[2026-10-20 04:45:56,656.656 INFO    ] 2026-10-20 04:45:56
[2026-10-20 04:45:56,932.932 INFO    ] 2026-10-20 04:45:56
[2026-10-20 04:45:56,977.977 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:45:57,225.225 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:45:57,230.230 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:45:57,460.460 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:45:57,467.467 INFO    ] time= 20/10/2026 04:45:57
[2026-10-20 04:45:57,486.486 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:45:57,515.515 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:45:57,647.647 INFO    ] No existing commands found in stream
[2026-10-20 04:46:02,679.679 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:46:02,682.682 INFO    ] Waiting 1.31 seconds before fallback handling...
[2026-10-20 04:46:04,552.552 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:46:04,555.555 INFO    ] Checking for system updates...
[2026-10-20 04:46:04,595.595 INFO    ] 200
[2026-10-20 04:46:04,598.598 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:46:04,657.657 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:46:04,660.660 INFO    ] No update needed
[2026-10-20 04:46:04,663.663 INFO    ] Checking for camera pi updates...
[2026-10-20 04:46:04,697.697 INFO    ] 200
[2026-10-20 04:46:04,700.700 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:46:04,741.741 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:46:04,789.789 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:46:04,791.791 INFO    ] No camera update needed
[2026-10-20 04:46:04,794.794 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:46:04,797.797 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:46:04,803.803 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:46:04,809.809 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:46:06,851.851 INFO    ] ================================================
[2026-10-20 04:46:06,866.866 INFO    ] Launching Daemon at Tue Oct 20 04:46:06 IST 2026
[2026-10-20 04:46:06,877.877 INFO    ] ================================================
[2026-10-20 04:46:07,457.457 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:46:07
[2026-10-20 04:46:08,056.056 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:46:08,333.333 INFO    ] Initializing speech engine...
[2026-10-20 04:46:08,343.343 INFO    ] 2026-10-20 04:46:08
[2026-10-20 04:46:08,601.601 INFO    ] 2026-10-20 04:46:08
[2026-10-20 04:46:08,632.632 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:46:08,905.905 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:46:08,923.923 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:46:09,138.138 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:46:09,144.144 INFO    ] time= 20/10/2026 04:46:09
[2026-10-20 04:46:09,163.163 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:46:09,184.184 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:46:09,307.307 INFO    ] No existing commands found in stream
[2026-10-20 04:46:14,337.337 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:46:14,340.340 INFO    ] Waiting 2.23 seconds before fallback handling...
[2026-10-20 04:46:17,076.076 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:46:17,078.078 INFO    ] Checking for system updates...
[2026-10-20 04:46:17,115.115 INFO    ] 200
[2026-10-20 04:46:17,118.118 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:46:17,181.181 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:46:17,184.184 INFO    ] No update needed
[2026-10-20 04:46:17,186.186 INFO    ] Checking for camera pi updates...
[2026-10-20 04:46:17,222.222 INFO    ] 200
[2026-10-20 04:46:17,224.224 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:46:17,273.273 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:46:17,323.323 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:46:17,326.326 INFO    ] No camera update needed
[2026-10-20 04:46:17,328.328 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:46:17,331.331 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:46:17,337.337 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:46:17,343.343 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:46:19,384.384 INFO    ] ================================================
[2026-10-20 04:46:19,400.400 INFO    ] Launching Daemon at Tue Oct 20 04:46:19 IST 2026
[2026-10-20 04:46:19,411.411 INFO    ] ================================================
[2026-10-20 04:46:20,052.052 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:46:20
[2026-10-20 04:46:20,712.712 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:46:21,019.019 INFO    ] Initializing speech engine...
[2026-10-20 04:46:21,028.028 INFO    ] 2026-10-20 04:46:21
[2026-10-20 04:46:21,305.305 INFO    ] 2026-10-20 04:46:21
[2026-10-20 04:46:21,363.363 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:46:21,656.656 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:46:21,664.664 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:46:21,862.862 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:46:21,882.882 INFO    ] time= 20/10/2026 04:46:21
[2026-10-20 04:46:21,911.911 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:46:21,921.921 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:46:22,036.036 INFO    ] No existing commands found in stream
[2026-10-20 04:46:27,061.061 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:46:27,064.064 INFO    ] Waiting 3.94 seconds before fallback handling...
[2026-10-20 04:46:31,601.601 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:46:31,604.604 INFO    ] Checking for system updates...
[2026-10-20 04:46:31,647.647 INFO    ] 200
[2026-10-20 04:46:31,650.650 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:46:31,709.709 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:46:31,712.712 INFO    ] No update needed
[2026-10-20 04:46:31,714.714 INFO    ] Checking for camera pi updates...
[2026-10-20 04:46:31,753.753 INFO    ] 200
[2026-10-20 04:46:31,756.756 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:46:31,797.797 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:46:31,850.850 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:46:31,853.853 INFO    ] No camera update needed
[2026-10-20 04:46:31,855.855 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:46:31,858.858 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:46:31,864.864 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:46:31,870.870 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:46:33,913.913 INFO    ] ================================================
[2026-10-20 04:46:33,928.928 INFO    ] Launching Daemon at Tue Oct 20 04:46:33 IST 2026
[2026-10-20 04:46:33,939.939 INFO    ] ================================================
[2026-10-20 04:46:34,583.583 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:46:34
[2026-10-20 04:46:35,244.244 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:46:35,542.542 INFO    ] Initializing speech engine...
[2026-10-20 04:46:35,551.551 INFO    ] 2026-10-20 04:46:35
[2026-10-20 04:46:35,838.838 INFO    ] 2026-10-20 04:46:35
[2026-10-20 04:46:35,885.885 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:46:36,178.178 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:46:36,188.188 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:46:36,384.384 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:46:36,402.402 INFO    ] time= 20/10/2026 04:46:36
[2026-10-20 04:46:36,411.411 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:46:36,439.439 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:46:36,554.554 INFO    ] No existing commands found in stream
[2026-10-20 04:46:41,584.584 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:46:41,587.587 INFO    ] Waiting 0.13 seconds before fallback handling...
[2026-10-20 04:46:42,219.219 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 04:46:42,222.222 INFO    ] Checking for system updates...
[2026-10-20 04:46:42,257.257 INFO    ] 200
[2026-10-20 04:46:42,259.259 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:46:42,311.311 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:46:42,313.313 INFO    ] No update needed
[2026-10-20 04:46:42,316.316 INFO    ] Checking for camera pi updates...
[2026-10-20 04:46:42,349.349 INFO    ] 200
[2026-10-20 04:46:42,352.352 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:46:42,392.392 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:46:42,455.455 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:46:42,457.457 INFO    ] No camera update needed
[2026-10-20 04:46:42,460.460 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:46:42,462.462 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:46:42,468.468 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:46:42,473.473 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:46:44,513.513 INFO    ] ================================================
[2026-10-20 04:46:44,529.529 INFO    ] Launching Daemon at Tue Oct 20 04:46:44 IST 2026
[2026-10-20 04:46:44,539.539 INFO    ] ================================================
[2026-10-20 04:46:45,121.121 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:46:45
[2026-10-20 04:46:45,726.726 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:46:45,988.988 INFO    ] Initializing speech engine...
[2026-10-20 04:46:45,995.995 INFO    ] 2026-10-20 04:46:45
[2026-10-20 04:46:46,288.288 INFO    ] 2026-10-20 04:46:46
[2026-10-20 04:46:46,327.327 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:46:46,545.545 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:46:46,573.573 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:46:46,769.769 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:46:46,811.811 INFO    ] time= 20/10/2026 04:46:46
[2026-10-20 04:46:46,851.851 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:46:46,906.906 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:46:47,043.043 INFO    ] No existing commands found in stream
[2026-10-20 04:46:52,066.066 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:46:52,069.069 INFO    ] Waiting 1.01 seconds before fallback handling...
[2026-10-20 04:46:53,552.552 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:46:53,554.554 INFO    ] Checking for system updates...
[2026-10-20 04:46:53,593.593 INFO    ] 200
[2026-10-20 04:46:53,595.595 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:46:53,648.648 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:46:53,650.650 INFO    ] No update needed
[2026-10-20 04:46:53,653.653 INFO    ] Checking for camera pi updates...
[2026-10-20 04:46:53,689.689 INFO    ] 200
[2026-10-20 04:46:53,692.692 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:46:53,735.735 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:46:53,866.866 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:46:53,869.869 INFO    ] No camera update needed
[2026-10-20 04:46:53,871.871 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:46:53,874.874 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:46:53,879.879 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:46:53,884.884 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:46:55,925.925 INFO    ] ================================================
[2026-10-20 04:46:55,940.940 INFO    ] Launching Daemon at Tue Oct 20 04:46:55 IST 2026
[2026-10-20 04:46:55,951.951 INFO    ] ================================================
[2026-10-20 04:46:56,576.576 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:46:56
[2026-10-20 04:46:57,225.225 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:46:57,525.525 INFO    ] Initializing speech engine...
[2026-10-20 04:46:57,535.535 INFO    ] 2026-10-20 04:46:57
[2026-10-20 04:46:57,819.819 INFO    ] 2026-10-20 04:46:57
[2026-10-20 04:46:57,912.912 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:46:58,147.147 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:46:58,204.204 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:46:58,396.396 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:46:58,417.417 INFO    ] time= 20/10/2026 04:46:58
[2026-10-20 04:46:58,481.481 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:46:58,516.516 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:46:58,680.680 INFO    ] No existing commands found in stream
[2026-10-20 04:47:03,712.712 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:47:03,716.716 INFO    ] Waiting 2.81 seconds before fallback handling...
[2026-10-20 04:47:07,091.091 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:47:07,093.093 INFO    ] Checking for system updates...
[2026-10-20 04:47:07,130.130 INFO    ] 200
[2026-10-20 04:47:07,132.132 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:47:07,184.184 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:47:07,186.186 INFO    ] No update needed
[2026-10-20 04:47:07,189.189 INFO    ] Checking for camera pi updates...
[2026-10-20 04:47:07,221.221 INFO    ] 200
[2026-10-20 04:47:07,224.224 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:47:07,263.263 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:47:07,311.311 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:47:07,314.314 INFO    ] No camera update needed
[2026-10-20 04:47:07,316.316 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:47:07,319.319 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:47:07,324.324 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:47:07,329.329 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:47:09,370.370 INFO    ] ================================================
[2026-10-20 04:47:09,386.386 INFO    ] Launching Daemon at Tue Oct 20 04:47:09 IST 2026
[2026-10-20 04:47:09,398.398 INFO    ] ================================================
[2026-10-20 04:47:09,987.987 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:47:09
[2026-10-20 04:47:10,581.581 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:47:10,852.852 INFO    ] Initializing speech engine...
[2026-10-20 04:47:10,862.862 INFO    ] 2026-10-20 04:47:10
[2026-10-20 04:47:11,157.157 INFO    ] 2026-10-20 04:47:11
[2026-10-20 04:47:11,199.199 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:47:11,408.408 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:47:11,422.422 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:47:11,588.588 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:47:11,593.593 INFO    ] time= 20/10/2026 04:47:11
[2026-10-20 04:47:11,600.600 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:47:11,626.626 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:47:11,774.774 INFO    ] No existing commands found in stream
[2026-10-20 04:47:16,793.793 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:47:16,796.796 INFO    ] Waiting 0.35 seconds before fallback handling...
[2026-10-20 04:47:17,679.679 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:47:17,682.682 INFO    ] Checking for system updates...
[2026-10-20 04:47:17,721.721 INFO    ] 200
[2026-10-20 04:47:17,723.723 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:47:17,781.781 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:47:17,784.784 INFO    ] No update needed
[2026-10-20 04:47:17,786.786 INFO    ] Checking for camera pi updates...
[2026-10-20 04:47:17,822.822 INFO    ] 200
[2026-10-20 04:47:17,825.825 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:47:17,869.869 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:47:17,915.915 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:47:17,917.917 INFO    ] No camera update needed
[2026-10-20 04:47:17,920.920 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:47:17,923.923 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:47:17,928.928 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:47:17,933.933 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:47:19,972.972 INFO    ] ================================================
[2026-10-20 04:47:19,988.988 INFO    ] Launching Daemon at Tue Oct 20 04:47:19 IST 2026
[2026-10-20 04:47:20,999.999 INFO    ] ================================================
[2026-10-20 04:47:20,584.584 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:47:20
[2026-10-20 04:47:21,173.173 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:47:21,436.436 INFO    ] Initializing speech engine...
[2026-10-20 04:47:21,450.450 INFO    ] 2026-10-20 04:47:21
[2026-10-20 04:47:21,733.733 INFO    ] 2026-10-20 04:47:21
[2026-10-20 04:47:21,769.769 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:47:21,997.997 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:47:22,016.016 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:47:22,223.223 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:47:22,231.231 INFO    ] time= 20/10/2026 04:47:22
[2026-10-20 04:47:22,270.270 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:47:22,320.320 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:47:22,433.433 INFO    ] No existing commands found in stream
[2026-10-20 04:47:27,444.444 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:47:27,447.447 INFO    ] Waiting 1.67 seconds before fallback handling...
[2026-10-20 04:47:29,609.609 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:47:29,612.612 INFO    ] Checking for system updates...
[2026-10-20 04:47:29,649.649 INFO    ] 200
[2026-10-20 04:47:29,652.652 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:47:29,711.711 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:47:29,714.714 INFO    ] No update needed
[2026-10-20 04:47:29,717.717 INFO    ] Checking for camera pi updates...
[2026-10-20 04:47:29,752.752 INFO    ] 200
[2026-10-20 04:47:29,755.755 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:47:29,796.796 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:47:29,852.852 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:47:29,855.855 INFO    ] No camera update needed
[2026-10-20 04:47:29,858.858 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:47:29,861.861 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:47:29,867.867 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:47:29,873.873 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:47:31,916.916 INFO    ] ================================================
[2026-10-20 04:47:31,932.932 INFO    ] Launching Daemon at Tue Oct 20 04:47:31 IST 2026
[2026-10-20 04:47:31,943.943 INFO    ] ================================================
[2026-10-20 04:47:32,540.540 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:47:32
[2026-10-20 04:47:33,155.155 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:47:33,412.412 INFO    ] Initializing speech engine...
[2026-10-20 04:47:33,427.427 INFO    ] 2026-10-20 04:47:33
[2026-10-20 04:47:33,695.695 INFO    ] 2026-10-20 04:47:33
[2026-10-20 04:47:33,728.728 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:47:33,986.986 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:47:33,996.996 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:47:34,223.223 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:47:34,262.262 INFO    ] time= 20/10/2026 04:47:34
[2026-10-20 04:47:34,299.299 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:47:34,305.305 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:47:34,447.447 INFO    ] No existing commands found in stream
[2026-10-20 04:47:39,472.472 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:47:39,475.475 INFO    ] Waiting 1.92 seconds before fallback handling...
[2026-10-20 04:47:41,868.868 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:47:41,871.871 INFO    ] Checking for system updates...
[2026-10-20 04:47:41,906.906 INFO    ] 200
[2026-10-20 04:47:41,909.909 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:47:41,962.962 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:47:41,964.964 INFO    ] No update needed
[2026-10-20 04:47:41,966.966 INFO    ] Checking for camera pi updates...
[2026-10-20 04:47:42,000.000 INFO    ] 200
[2026-10-20 04:47:42,002.002 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:47:42,043.043 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:47:42,091.091 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:47:42,093.093 INFO    ] No camera update needed
[2026-10-20 04:47:42,095.095 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:47:42,098.098 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:47:42,103.103 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:47:42,108.108 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:47:44,149.149 INFO    ] ================================================
[2026-10-20 04:47:44,164.164 INFO    ] Launching Daemon at Tue Oct 20 04:47:44 IST 2026
[2026-10-20 04:47:44,175.175 INFO    ] ================================================
[2026-10-20 04:47:44,835.835 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:47:44
[2026-10-20 04:47:45,514.514 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:47:45,817.817 INFO    ] Initializing speech engine...
[2026-10-20 04:47:45,824.824 INFO    ] 2026-10-20 04:47:45
[2026-10-20 04:47:46,102.102 INFO    ] 2026-10-20 04:47:46
[2026-10-20 04:47:46,156.156 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:47:46,448.448 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:47:46,453.453 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:47:46,645.645 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:47:46,657.657 INFO    ] time= 20/10/2026 04:47:46
[2026-10-20 04:47:46,675.675 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:47:46,705.705 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:47:46,845.845 INFO    ] No existing commands found in stream
[2026-10-20 04:47:51,882.882 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:47:51,885.885 INFO    ] Waiting 1.22 seconds before fallback handling...
[2026-10-20 04:47:53,655.655 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:47:53,658.658 INFO    ] Checking for system updates...
[2026-10-20 04:47:53,698.698 INFO    ] 200
[2026-10-20 04:47:53,701.701 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:47:53,761.761 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:47:53,764.764 INFO    ] No update needed
[2026-10-20 04:47:53,766.766 INFO    ] Checking for camera pi updates...
[2026-10-20 04:47:53,806.806 INFO    ] 200
[2026-10-20 04:47:53,809.809 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:47:53,848.848 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:47:53,904.904 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:47:53,906.906 INFO    ] No camera update needed
[2026-10-20 04:47:53,909.909 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:47:53,911.911 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:47:53,916.916 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:47:53,922.922 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:47:55,962.962 INFO    ] ================================================
[2026-10-20 04:47:55,977.977 INFO    ] Launching Daemon at Tue Oct 20 04:47:55 IST 2026
[2026-10-20 04:47:55,988.988 INFO    ] ================================================
[2026-10-20 04:47:56,593.593 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:47:56
[2026-10-20 04:47:57,266.266 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:47:57,596.596 INFO    ] Initializing speech engine...
[2026-10-20 04:47:57,606.606 INFO    ] 2026-10-20 04:47:57
[2026-10-20 04:47:57,890.890 INFO    ] 2026-10-20 04:47:57
[2026-10-20 04:47:58,004.004 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:47:58,186.186 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:47:58,193.193 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:47:58,422.422 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:47:58,471.471 INFO    ] time= 20/10/2026 04:47:58
[2026-10-20 04:47:58,490.490 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:47:58,509.509 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:47:58,622.622 INFO    ] No existing commands found in stream
[2026-10-20 04:48:03,647.647 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:48:03,650.650 INFO    ] Waiting 3.53 seconds before fallback handling...
[2026-10-20 04:48:07,689.689 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:48:07,692.692 INFO    ] Checking for system updates...
[2026-10-20 04:48:07,727.727 INFO    ] 200
[2026-10-20 04:48:07,729.729 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:48:07,782.782 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:48:07,785.785 INFO    ] No update needed
[2026-10-20 04:48:07,787.787 INFO    ] Checking for camera pi updates...
[2026-10-20 04:48:07,821.821 INFO    ] 200
[2026-10-20 04:48:07,823.823 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:48:07,868.868 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:48:07,917.917 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:48:07,920.920 INFO    ] No camera update needed
[2026-10-20 04:48:07,922.922 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:48:07,924.924 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:48:07,930.930 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:48:07,935.935 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:48:09,974.974 INFO    ] ================================================
[2026-10-20 04:48:09,989.989 INFO    ] Launching Daemon at Tue Oct 20 04:48:09 IST 2026
[2026-10-20 04:48:10,000.000 INFO    ] ================================================
[2026-10-20 04:48:10,571.571 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:48:10
[2026-10-20 04:48:11,155.155 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:48:11,423.423 INFO    ] Initializing speech engine...
[2026-10-20 04:48:11,433.433 INFO    ] 2026-10-20 04:48:11
[2026-10-20 04:48:11,685.685 INFO    ] 2026-10-20 04:48:11
[2026-10-20 04:48:11,721.721 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:48:11,987.987 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:48:11,997.997 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:48:12,225.225 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:48:12,263.263 INFO    ] time= 20/10/2026 04:48:12
[2026-10-20 04:48:12,287.287 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:48:12,316.316 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:48:12,470.470 INFO    ] No existing commands found in stream
[2026-10-20 04:48:17,495.495 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:48:17,498.498 INFO    ] Waiting 0.42 seconds before fallback handling...
[2026-10-20 04:48:18,482.482 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 04:48:18,484.484 INFO    ] Checking for system updates...
[2026-10-20 04:48:18,521.521 INFO    ] 200
[2026-10-20 04:48:18,524.524 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:48:18,582.582 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:48:18,584.584 INFO    ] No update needed
[2026-10-20 04:48:18,586.586 INFO    ] Checking for camera pi updates...
[2026-10-20 04:48:18,619.619 INFO    ] 200
[2026-10-20 04:48:18,622.622 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:48:18,666.666 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:48:18,714.714 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:48:18,717.717 INFO    ] No camera update needed
[2026-10-20 04:48:18,719.719 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:48:18,722.722 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:48:18,727.727 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:48:18,732.732 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:48:20,773.773 INFO    ] ================================================
[2026-10-20 04:48:20,788.788 INFO    ] Launching Daemon at Tue Oct 20 04:48:20 IST 2026
[2026-10-20 04:48:20,799.799 INFO    ] ================================================
[2026-10-20 04:48:21,369.369 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:48:21
[2026-10-20 04:48:21,957.957 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:48:22,225.225 INFO    ] Initializing speech engine...
[2026-10-20 04:48:22,234.234 INFO    ] 2026-10-20 04:48:22
[2026-10-20 04:48:22,487.487 INFO    ] 2026-10-20 04:48:22
[2026-10-20 04:48:22,522.522 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:48:22,770.770 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:48:22,776.776 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:48:23,003.003 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:48:23,033.033 INFO    ] time= 20/10/2026 04:48:23
[2026-10-20 04:48:23,039.039 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:48:23,059.059 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:48:23,187.187 INFO    ] No existing commands found in stream
[2026-10-20 04:48:28,202.202 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:48:28,205.205 INFO    ] Waiting 3.34 seconds before fallback handling...
[2026-10-20 04:48:32,125.125 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:48:32,127.127 INFO    ] Checking for system updates...
[2026-10-20 04:48:32,171.171 INFO    ] 200
[2026-10-20 04:48:32,174.174 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:48:32,232.232 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:48:32,235.235 INFO    ] No update needed
[2026-10-20 04:48:32,238.238 INFO    ] Checking for camera pi updates...
[2026-10-20 04:48:32,275.275 INFO    ] 200
[2026-10-20 04:48:32,278.278 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:48:32,322.322 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:48:32,361.361 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:48:32,363.363 INFO    ] No camera update needed
[2026-10-20 04:48:32,366.366 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:48:32,369.369 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:48:32,375.375 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:48:32,381.381 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:48:34,422.422 INFO    ] ================================================
[2026-10-20 04:48:34,436.436 INFO    ] Launching Daemon at Tue Oct 20 04:48:34 IST 2026
[2026-10-20 04:48:34,447.447 INFO    ] ================================================
[2026-10-20 04:48:35,097.097 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:48:35
[2026-10-20 04:48:35,765.765 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:48:36,069.069 INFO    ] Initializing speech engine...
[2026-10-20 04:48:36,080.080 INFO    ] 2026-10-20 04:48:36
[2026-10-20 04:48:36,358.358 INFO    ] 2026-10-20 04:48:36
[2026-10-20 04:48:36,403.403 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:48:36,684.684 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:48:36,692.692 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:48:36,889.889 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:48:36,907.907 INFO    ] time= 20/10/2026 04:48:36
[2026-10-20 04:48:36,936.936 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:48:36,945.945 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:48:37,070.070 INFO    ] No existing commands found in stream
[2026-10-20 04:48:42,101.101 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:48:42,104.104 INFO    ] Waiting 3.36 seconds before fallback handling...
[2026-10-20 04:48:46,030.030 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:48:46,033.033 INFO    ] Checking for system updates...
[2026-10-20 04:48:46,068.068 INFO    ] 200
[2026-10-20 04:48:46,071.071 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:48:46,123.123 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:48:46,125.125 INFO    ] No update needed
[2026-10-20 04:48:46,128.128 INFO    ] Checking for camera pi updates...
[2026-10-20 04:48:46,161.161 INFO    ] 200
[2026-10-20 04:48:46,164.164 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:48:46,204.204 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:48:46,259.259 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:48:46,262.262 INFO    ] No camera update needed
[2026-10-20 04:48:46,264.264 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:48:46,266.266 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:48:46,272.272 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:48:46,277.277 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:48:48,316.316 INFO    ] ================================================
[2026-10-20 04:48:48,331.331 INFO    ] Launching Daemon at Tue Oct 20 04:48:48 IST 2026
[2026-10-20 04:48:48,342.342 INFO    ] ================================================
[2026-10-20 04:48:48,910.910 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:48:48
[2026-10-20 04:48:49,495.495 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:48:49,767.767 INFO    ] Initializing speech engine...
[2026-10-20 04:48:49,776.776 INFO    ] 2026-10-20 04:48:49
[2026-10-20 04:48:50,023.023 INFO    ] 2026-10-20 04:48:50
[2026-10-20 04:48:50,058.058 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:48:50,257.257 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:48:50,312.312 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:48:50,463.463 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:48:50,543.543 INFO    ] time= 20/10/2026 04:48:50
[2026-10-20 04:48:50,587.587 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:48:50,593.593 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:48:50,740.740 INFO    ] No existing commands found in stream
[2026-10-20 04:48:55,759.759 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:48:55,762.762 INFO    ] Waiting 3.77 seconds before fallback handling...
[2026-10-20 04:49:00,040.040 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:49:00,042.042 INFO    ] Checking for system updates...
[2026-10-20 04:49:00,078.078 INFO    ] 200
[2026-10-20 04:49:00,080.080 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:49:00,133.133 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:49:00,135.135 INFO    ] No update needed
[2026-10-20 04:49:00,137.137 INFO    ] Checking for camera pi updates...
[2026-10-20 04:49:00,174.174 INFO    ] 200
[2026-10-20 04:49:00,177.177 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:49:00,218.218 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:49:00,370.370 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:49:00,373.373 INFO    ] No camera update needed
[2026-10-20 04:49:00,375.375 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:49:00,377.377 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:49:00,383.383 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:49:00,389.389 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:49:02,435.435 INFO    ] ================================================
[2026-10-20 04:49:02,458.458 INFO    ] Launching Daemon at Tue Oct 20 04:49:02 IST 2026
[2026-10-20 04:49:02,476.476 INFO    ] ================================================
[2026-10-20 04:49:03,128.128 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:49:03
[2026-10-20 04:49:03,858.858 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:49:04,133.133 INFO    ] Initializing speech engine...
[2026-10-20 04:49:04,160.160 INFO    ] 2026-10-20 04:49:04
[2026-10-20 04:49:04,428.428 INFO    ] 2026-10-20 04:49:04
[2026-10-20 04:49:04,464.464 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:49:04,739.739 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:49:04,758.758 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:49:04,974.974 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:49:04,980.980 INFO    ] time= 20/10/2026 04:49:04
[2026-10-20 04:49:04,997.997 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:49:05,026.026 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:49:05,158.158 INFO    ] No existing commands found in stream
[2026-10-20 04:49:10,189.189 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:49:10,192.192 INFO    ] Waiting 3.74 seconds before fallback handling...
[2026-10-20 04:49:14,498.498 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:49:14,501.501 INFO    ] Checking for system updates...
[2026-10-20 04:49:14,537.537 INFO    ] 200
[2026-10-20 04:49:14,540.540 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:49:14,592.592 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:49:14,595.595 INFO    ] No update needed
[2026-10-20 04:49:14,597.597 INFO    ] Checking for camera pi updates...
[2026-10-20 04:49:14,631.631 INFO    ] 200
[2026-10-20 04:49:14,633.633 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:49:14,677.677 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:49:14,724.724 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:49:14,729.729 INFO    ] No camera update needed
[2026-10-20 04:49:14,732.732 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:49:14,734.734 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:49:14,740.740 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:49:14,746.746 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:49:16,786.786 INFO    ] ================================================
[2026-10-20 04:49:16,802.802 INFO    ] Launching Daemon at Tue Oct 20 04:49:16 IST 2026
[2026-10-20 04:49:16,813.813 INFO    ] ================================================
[2026-10-20 04:49:17,393.393 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:49:17
[2026-10-20 04:49:17,987.987 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:49:18,262.262 INFO    ] Initializing speech engine...
[2026-10-20 04:49:18,268.268 INFO    ] 2026-10-20 04:49:18
[2026-10-20 04:49:18,527.527 INFO    ] 2026-10-20 04:49:18
[2026-10-20 04:49:18,583.583 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:49:18,811.811 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:49:18,816.816 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:49:19,035.035 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:49:19,072.072 INFO    ] time= 20/10/2026 04:49:19
[2026-10-20 04:49:19,088.088 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:49:19,097.097 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:49:19,222.222 INFO    ] No existing commands found in stream
[2026-10-20 04:49:24,236.236 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:49:24,239.239 INFO    ] Waiting 0.25 seconds before fallback handling...
[2026-10-20 04:49:25,046.046 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:49:25,049.049 INFO    ] Checking for system updates...
[2026-10-20 04:49:25,085.085 INFO    ] 200
[2026-10-20 04:49:25,088.088 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:49:25,141.141 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:49:25,143.143 INFO    ] No update needed
[2026-10-20 04:49:25,146.146 INFO    ] Checking for camera pi updates...
[2026-10-20 04:49:25,182.182 INFO    ] 200
[2026-10-20 04:49:25,185.185 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:49:25,226.226 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:49:25,274.274 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:49:25,276.276 INFO    ] No camera update needed
[2026-10-20 04:49:25,279.279 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:49:25,281.281 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:49:25,286.286 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:49:25,291.291 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:49:27,335.335 INFO    ] ================================================
[2026-10-20 04:49:27,350.350 INFO    ] Launching Daemon at Tue Oct 20 04:49:27 IST 2026
[2026-10-20 04:49:27,361.361 INFO    ] ================================================
[2026-10-20 04:49:27,948.948 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:49:27
[2026-10-20 04:49:28,555.555 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:49:28,821.821 INFO    ] Initializing speech engine...
[2026-10-20 04:49:28,834.834 INFO    ] 2026-10-20 04:49:28
[2026-10-20 04:49:29,116.116 INFO    ] 2026-10-20 04:49:29
[2026-10-20 04:49:29,154.154 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:49:29,373.373 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:49:29,421.421 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:49:29,670.670 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:49:29,719.719 INFO    ] time= 20/10/2026 04:49:29
[2026-10-20 04:49:29,744.744 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:49:29,760.760 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:49:29,896.896 INFO    ] No existing commands found in stream
[2026-10-20 04:49:34,919.919 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:49:34,922.922 INFO    ] Waiting 1.95 seconds before fallback handling...
[2026-10-20 04:49:37,391.391 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:49:37,394.394 INFO    ] Checking for system updates...
[2026-10-20 04:49:37,429.429 INFO    ] 200
[2026-10-20 04:49:37,432.432 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:49:37,483.483 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:49:37,485.485 INFO    ] No update needed
[2026-10-20 04:49:37,488.488 INFO    ] Checking for camera pi updates...
[2026-10-20 04:49:37,521.521 INFO    ] 200
[2026-10-20 04:49:37,523.523 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:49:37,567.567 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:49:37,614.614 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:49:37,616.616 INFO    ] No camera update needed
[2026-10-20 04:49:37,618.618 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:49:37,621.621 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:49:37,626.626 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:49:37,631.631 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:49:39,670.670 INFO    ] ================================================
[2026-10-20 04:49:39,685.685 INFO    ] Launching Daemon at Tue Oct 20 04:49:39 IST 2026
[2026-10-20 04:49:39,696.696 INFO    ] ================================================
[2026-10-20 04:49:40,279.279 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:49:40
[2026-10-20 04:49:40,865.865 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:49:41,139.139 INFO    ] Initializing speech engine...
[2026-10-20 04:49:41,148.148 INFO    ] 2026-10-20 04:49:41
[2026-10-20 04:49:41,398.398 INFO    ] 2026-10-20 04:49:41
[2026-10-20 04:49:41,433.433 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:49:41,691.691 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:49:41,701.701 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:49:41,941.941 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:49:41,990.990 INFO    ] time= 20/10/2026 04:49:41
[2026-10-20 04:49:41,996.996 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:49:42,018.018 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:49:42,160.160 INFO    ] No existing commands found in stream
[2026-10-20 04:49:47,173.173 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:49:47,176.176 INFO    ] Waiting 0.90 seconds before fallback handling...
[2026-10-20 04:49:48,570.570 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:49:48,572.572 INFO    ] Checking for system updates...
[2026-10-20 04:49:48,607.607 INFO    ] 200
[2026-10-20 04:49:48,610.610 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:49:48,663.663 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:49:48,665.665 INFO    ] No update needed
[2026-10-20 04:49:48,667.667 INFO    ] Checking for camera pi updates...
[2026-10-20 04:49:48,701.701 INFO    ] 200
[2026-10-20 04:49:48,703.703 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:49:48,743.743 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:49:48,795.795 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:49:48,797.797 INFO    ] No camera update needed
[2026-10-20 04:49:48,800.800 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:49:48,802.802 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:49:48,808.808 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:49:48,813.813 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:49:50,856.856 INFO    ] ================================================
[2026-10-20 04:49:50,872.872 INFO    ] Launching Daemon at Tue Oct 20 04:49:50 IST 2026
[2026-10-20 04:49:50,883.883 INFO    ] ================================================
[2026-10-20 04:49:51,464.464 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:49:51
[2026-10-20 04:49:52,058.058 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:49:52,317.317 INFO    ] Initializing speech engine...
[2026-10-20 04:49:52,342.342 INFO    ] 2026-10-20 04:49:52
[2026-10-20 04:49:52,609.609 INFO    ] 2026-10-20 04:49:52
[2026-10-20 04:49:52,643.643 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:49:52,863.863 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:49:52,866.866 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:49:53,056.056 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:49:53,069.069 INFO    ] time= 20/10/2026 04:49:53
[2026-10-20 04:49:53,123.123 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:49:53,173.173 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:49:53,340.340 INFO    ] No existing commands found in stream
[2026-10-20 04:49:58,367.367 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:49:58,370.370 INFO    ] Waiting 0.48 seconds before fallback handling...
[2026-10-20 04:49:59,424.424 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:49:59,427.427 INFO    ] Checking for system updates...
[2026-10-20 04:49:59,466.466 INFO    ] 200
[2026-10-20 04:49:59,468.468 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:49:59,524.524 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:49:59,526.526 INFO    ] No update needed
[2026-10-20 04:49:59,529.529 INFO    ] Checking for camera pi updates...
[2026-10-20 04:49:59,562.562 INFO    ] 200
[2026-10-20 04:49:59,565.565 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:49:59,607.607 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:49:59,659.659 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:49:59,661.661 INFO    ] No camera update needed
[2026-10-20 04:49:59,663.663 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:49:59,666.666 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:49:59,671.671 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:49:59,676.676 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:50:01,715.715 INFO    ] ================================================
[2026-10-20 04:50:01,730.730 INFO    ] Launching Daemon at Tue Oct 20 04:50:01 IST 2026
[2026-10-20 04:50:01,745.745 INFO    ] ================================================
[2026-10-20 04:50:02,687.687 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:50:02
[2026-10-20 04:50:03,397.397 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:50:03,798.798 INFO    ] Initializing speech engine...
[2026-10-20 04:50:03,810.810 INFO    ] 2026-10-20 04:50:03
[2026-10-20 04:50:04,154.154 INFO    ] 2026-10-20 04:50:04
[2026-10-20 04:50:04,239.239 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:50:04,451.451 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:50:04,473.473 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:50:04,670.670 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:50:04,677.677 INFO    ] time= 20/10/2026 04:50:04
[2026-10-20 04:50:04,694.694 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:50:04,706.706 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:50:04,830.830 INFO    ] No existing commands found in stream
[2026-10-20 04:50:09,854.854 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:50:09,857.857 INFO    ] Waiting 2.56 seconds before fallback handling...
[2026-10-20 04:50:12,985.985 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:50:12,988.988 INFO    ] Checking for system updates...
[2026-10-20 04:50:13,027.027 INFO    ] 200
[2026-10-20 04:50:13,030.030 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:50:13,087.087 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:50:13,090.090 INFO    ] No update needed
[2026-10-20 04:50:13,092.092 INFO    ] Checking for camera pi updates...
[2026-10-20 04:50:13,125.125 INFO    ] 200
[2026-10-20 04:50:13,128.128 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:50:13,168.168 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:50:13,215.215 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:50:13,217.217 INFO    ] No camera update needed
[2026-10-20 04:50:13,220.220 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:50:13,222.222 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:50:13,228.228 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:50:13,233.233 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:50:15,275.275 INFO    ] ================================================
[2026-10-20 04:50:15,290.290 INFO    ] Launching Daemon at Tue Oct 20 04:50:15 IST 2026
[2026-10-20 04:50:15,300.300 INFO    ] ================================================
[2026-10-20 04:50:15,881.881 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:50:15
[2026-10-20 04:50:16,478.478 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:50:16,752.752 INFO    ] Initializing speech engine...
[2026-10-20 04:50:16,761.761 INFO    ] 2026-10-20 04:50:16
[2026-10-20 04:50:17,024.024 INFO    ] 2026-10-20 04:50:17
[2026-10-20 04:50:17,077.077 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:50:17,363.363 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:50:17,370.370 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:50:17,563.563 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:50:17,580.580 INFO    ] time= 20/10/2026 04:50:17
[2026-10-20 04:50:17,587.587 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:50:17,604.604 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:50:17,722.722 INFO    ] No existing commands found in stream
[2026-10-20 04:50:22,746.746 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:50:22,749.749 INFO    ] Waiting 2.25 seconds before fallback handling...
[2026-10-20 04:50:25,575.575 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:50:25,578.578 INFO    ] Checking for system updates...
[2026-10-20 04:50:25,614.614 INFO    ] 200
[2026-10-20 04:50:25,616.616 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:50:25,672.672 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:50:25,675.675 INFO    ] No update needed
[2026-10-20 04:50:25,677.677 INFO    ] Checking for camera pi updates...
[2026-10-20 04:50:25,712.712 INFO    ] 200
[2026-10-20 04:50:25,715.715 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:50:25,764.764 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:50:25,823.823 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:50:25,825.825 INFO    ] No camera update needed
[2026-10-20 04:50:25,828.828 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:50:25,830.830 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:50:25,836.836 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:50:25,841.841 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:50:27,881.881 INFO    ] ================================================
[2026-10-20 04:50:27,896.896 INFO    ] Launching Daemon at Tue Oct 20 04:50:27 IST 2026
[2026-10-20 04:50:27,906.906 INFO    ] ================================================
[2026-10-20 04:50:28,472.472 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:50:28
[2026-10-20 04:50:29,059.059 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:50:29,331.331 INFO    ] Initializing speech engine...
[2026-10-20 04:50:29,340.340 INFO    ] 2026-10-20 04:50:29
[2026-10-20 04:50:29,591.591 INFO    ] 2026-10-20 04:50:29
[2026-10-20 04:50:29,626.626 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:50:29,890.890 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:50:29,896.896 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:50:30,106.106 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:50:30,160.160 INFO    ] time= 20/10/2026 04:50:30
[2026-10-20 04:50:30,166.166 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:50:30,184.184 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:50:30,307.307 INFO    ] No existing commands found in stream
[2026-10-20 04:50:35,330.330 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:50:35,333.333 INFO    ] Waiting 1.33 seconds before fallback handling...
[2026-10-20 04:50:37,172.172 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:50:37,175.175 INFO    ] Checking for system updates...
[2026-10-20 04:50:37,212.212 INFO    ] 200
[2026-10-20 04:50:37,215.215 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:50:37,271.271 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:50:37,274.274 INFO    ] No update needed
[2026-10-20 04:50:37,276.276 INFO    ] Checking for camera pi updates...
[2026-10-20 04:50:37,312.312 INFO    ] 200
[2026-10-20 04:50:37,315.315 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:50:37,355.355 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:50:37,403.403 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:50:37,406.406 INFO    ] No camera update needed
[2026-10-20 04:50:37,408.408 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:50:37,411.411 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:50:37,416.416 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:50:37,421.421 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:50:39,461.461 INFO    ] ================================================
[2026-10-20 04:50:39,476.476 INFO    ] Launching Daemon at Tue Oct 20 04:50:39 IST 2026
[2026-10-20 04:50:39,486.486 INFO    ] ================================================
[2026-10-20 04:50:40,050.050 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:50:40
[2026-10-20 04:50:40,635.635 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:50:40,910.910 INFO    ] Initializing speech engine...
[2026-10-20 04:50:40,922.922 INFO    ] 2026-10-20 04:50:40
[2026-10-20 04:50:41,183.183 INFO    ] 2026-10-20 04:50:41
[2026-10-20 04:50:41,216.216 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:50:41,411.411 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:50:41,425.425 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:50:41,655.655 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:50:41,662.662 INFO    ] time= 20/10/2026 04:50:41
[2026-10-20 04:50:41,717.717 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:50:41,757.757 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:50:41,866.866 INFO    ] No existing commands found in stream
[2026-10-20 04:50:46,878.878 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:50:46,881.881 INFO    ] Waiting 1.48 seconds before fallback handling...
[2026-10-20 04:50:48,912.912 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:50:48,915.915 INFO    ] Checking for system updates...
[2026-10-20 04:50:48,953.953 INFO    ] 200
[2026-10-20 04:50:48,955.955 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:50:49,007.007 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:50:49,009.009 INFO    ] No update needed
[2026-10-20 04:50:49,012.012 INFO    ] Checking for camera pi updates...
[2026-10-20 04:50:49,053.053 INFO    ] 200
[2026-10-20 04:50:49,055.055 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:50:49,100.100 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:50:49,146.146 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:50:49,149.149 INFO    ] No camera update needed
[2026-10-20 04:50:49,152.152 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:50:49,154.154 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:50:49,160.160 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:50:49,166.166 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:50:51,206.206 INFO    ] ================================================
[2026-10-20 04:50:51,222.222 INFO    ] Launching Daemon at Tue Oct 20 04:50:51 IST 2026
[2026-10-20 04:50:51,232.232 INFO    ] ================================================
[2026-10-20 04:50:51,816.816 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:50:51
[2026-10-20 04:50:52,459.459 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:50:52,760.760 INFO    ] Initializing speech engine...
[2026-10-20 04:50:52,768.768 INFO    ] 2026-10-20 04:50:52
[2026-10-20 04:50:53,036.036 INFO    ] 2026-10-20 04:50:53
[2026-10-20 04:50:53,092.092 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:50:53,380.380 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:50:53,388.388 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:50:53,582.582 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:50:53,599.599 INFO    ] time= 20/10/2026 04:50:53
[2026-10-20 04:50:53,609.609 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:50:53,635.635 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:50:53,745.745 INFO    ] No existing commands found in stream
[2026-10-20 04:50:58,774.774 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:50:58,777.777 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-10-20 04:51:02,856.856 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:51:02,860.860 INFO    ] Checking for system updates...
[2026-10-20 04:51:02,901.901 INFO    ] 200
[2026-10-20 04:51:02,904.904 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:51:02,970.970 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:51:02,973.973 INFO    ] No update needed
[2026-10-20 04:51:02,976.976 INFO    ] Checking for camera pi updates...
[2026-10-20 04:51:03,012.012 INFO    ] 200
[2026-10-20 04:51:03,015.015 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:51:03,075.075 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:51:03,110.110 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:51:03,114.114 INFO    ] No camera update needed
[2026-10-20 04:51:03,118.118 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:51:03,122.122 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:51:03,130.130 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:51:03,137.137 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:51:05,179.179 INFO    ] ================================================
[2026-10-20 04:51:05,194.194 INFO    ] Launching Daemon at Tue Oct 20 04:51:05 IST 2026
[2026-10-20 04:51:05,204.204 INFO    ] ================================================
[2026-10-20 04:51:05,783.783 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:51:05
[2026-10-20 04:51:06,415.415 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:51:06,711.711 INFO    ] Initializing speech engine...
[2026-10-20 04:51:06,718.718 INFO    ] 2026-10-20 04:51:06
[2026-10-20 04:51:06,990.990 INFO    ] 2026-10-20 04:51:06
[2026-10-20 04:51:07,045.045 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:51:07,300.300 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:51:07,305.305 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:51:07,522.522 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:51:07,540.540 INFO    ] time= 20/10/2026 04:51:07
[2026-10-20 04:51:07,556.556 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:51:07,587.587 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:51:07,723.723 INFO    ] No existing commands found in stream
[2026-10-20 04:51:12,753.753 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:51:12,756.756 INFO    ] Waiting 0.27 seconds before fallback handling...
[2026-10-20 04:51:13,597.597 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:51:13,600.600 INFO    ] Checking for system updates...
[2026-10-20 04:51:13,636.636 INFO    ] 200
[2026-10-20 04:51:13,639.639 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:51:13,692.692 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:51:13,694.694 INFO    ] No update needed
[2026-10-20 04:51:13,697.697 INFO    ] Checking for camera pi updates...
[2026-10-20 04:51:13,731.731 INFO    ] 200
[2026-10-20 04:51:13,734.734 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:51:13,777.777 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:51:13,829.829 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:51:13,831.831 INFO    ] No camera update needed
[2026-10-20 04:51:13,833.833 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:51:13,836.836 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:51:13,841.841 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:51:13,846.846 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:51:15,885.885 INFO    ] ================================================
[2026-10-20 04:51:15,900.900 INFO    ] Launching Daemon at Tue Oct 20 04:51:15 IST 2026
[2026-10-20 04:51:15,911.911 INFO    ] ================================================
[2026-10-20 04:51:16,475.475 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:51:16
[2026-10-20 04:51:17,058.058 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:51:17,318.318 INFO    ] Initializing speech engine...
[2026-10-20 04:51:17,331.331 INFO    ] 2026-10-20 04:51:17
[2026-10-20 04:51:17,610.610 INFO    ] 2026-10-20 04:51:17
[2026-10-20 04:51:17,645.645 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:51:17,863.863 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:51:17,927.927 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:51:18,079.079 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:51:18,116.116 INFO    ] time= 20/10/2026 04:51:18
[2026-10-20 04:51:18,170.170 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:51:18,223.223 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:51:18,386.386 INFO    ] No existing commands found in stream
[2026-10-20 04:51:23,401.401 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:51:23,403.403 INFO    ] Waiting 3.79 seconds before fallback handling...
[2026-10-20 04:51:27,691.691 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:51:27,693.693 INFO    ] Checking for system updates...
[2026-10-20 04:51:27,728.728 INFO    ] 200
[2026-10-20 04:51:27,731.731 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:51:27,787.787 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:51:27,789.789 INFO    ] No update needed
[2026-10-20 04:51:27,792.792 INFO    ] Checking for camera pi updates...
[2026-10-20 04:51:27,825.825 INFO    ] 200
[2026-10-20 04:51:27,828.828 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:51:27,868.868 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:51:27,916.916 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:51:27,919.919 INFO    ] No camera update needed
[2026-10-20 04:51:27,921.921 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:51:27,924.924 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:51:27,929.929 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:51:27,934.934 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:51:29,974.974 INFO    ] ================================================
[2026-10-20 04:51:29,989.989 INFO    ] Launching Daemon at Tue Oct 20 04:51:29 IST 2026
[2026-10-20 04:51:30,000.000 INFO    ] ================================================
[2026-10-20 04:51:30,621.621 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:51:30
[2026-10-20 04:51:31,263.263 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:51:31,572.572 INFO    ] Initializing speech engine...
[2026-10-20 04:51:31,581.581 INFO    ] 2026-10-20 04:51:31
[2026-10-20 04:51:31,865.865 INFO    ] 2026-10-20 04:51:31
[2026-10-20 04:51:31,901.901 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:51:32,165.165 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:51:32,171.171 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:51:32,334.334 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:51:32,391.391 INFO    ] time= 20/10/2026 04:51:32
[2026-10-20 04:51:32,448.448 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:51:32,455.455 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:51:32,612.612 INFO    ] No existing commands found in stream
[2026-10-20 04:51:37,643.643 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:51:37,646.646 INFO    ] Waiting 1.41 seconds before fallback handling...
[2026-10-20 04:51:39,579.579 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 04:51:39,581.581 INFO    ] Checking for system updates...
[2026-10-20 04:51:39,617.617 INFO    ] 200
[2026-10-20 04:51:39,620.620 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:51:39,678.678 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:51:39,680.680 INFO    ] No update needed
[2026-10-20 04:51:39,683.683 INFO    ] Checking for camera pi updates...
[2026-10-20 04:51:39,716.716 INFO    ] 200
[2026-10-20 04:51:39,719.719 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:51:39,764.764 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:51:39,822.822 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:51:39,825.825 INFO    ] No camera update needed
[2026-10-20 04:51:39,827.827 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:51:39,830.830 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:51:39,835.835 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:51:39,840.840 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:51:41,879.879 INFO    ] ================================================
[2026-10-20 04:51:41,899.899 INFO    ] Launching Daemon at Tue Oct 20 04:51:41 IST 2026
[2026-10-20 04:51:41,910.910 INFO    ] ================================================
[2026-10-20 04:51:42,559.559 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:51:42
[2026-10-20 04:51:43,228.228 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:51:43,529.529 INFO    ] Initializing speech engine...
[2026-10-20 04:51:43,543.543 INFO    ] 2026-10-20 04:51:43
[2026-10-20 04:51:43,825.825 INFO    ] 2026-10-20 04:51:43
[2026-10-20 04:51:43,871.871 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:51:44,160.160 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:51:44,169.169 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:51:44,363.363 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:51:44,383.383 INFO    ] time= 20/10/2026 04:51:44
[2026-10-20 04:51:44,415.415 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:51:44,423.423 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:51:44,561.561 INFO    ] No existing commands found in stream
[2026-10-20 04:51:49,592.592 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:51:49,595.595 INFO    ] Waiting 0.74 seconds before fallback handling...
[2026-10-20 04:51:50,874.874 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 04:51:50,877.877 INFO    ] Checking for system updates...
[2026-10-20 04:51:50,917.917 INFO    ] 200
[2026-10-20 04:51:50,920.920 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:51:50,974.974 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:51:50,977.977 INFO    ] No update needed
[2026-10-20 04:51:50,980.980 INFO    ] Checking for camera pi updates...
[2026-10-20 04:51:51,014.014 INFO    ] 200
[2026-10-20 04:51:51,017.017 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:51:51,058.058 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:51:51,107.107 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:51:51,110.110 INFO    ] No camera update needed
[2026-10-20 04:51:51,112.112 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:51:51,115.115 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:51:51,121.121 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:51:51,127.127 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:51:53,168.168 INFO    ] ================================================
[2026-10-20 04:51:53,182.182 INFO    ] Launching Daemon at Tue Oct 20 04:51:53 IST 2026
[2026-10-20 04:51:53,193.193 INFO    ] ================================================
[2026-10-20 04:51:53,782.782 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:51:53
[2026-10-20 04:51:54,383.383 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:51:54,663.663 INFO    ] Initializing speech engine...
[2026-10-20 04:51:54,670.670 INFO    ] 2026-10-20 04:51:54
[2026-10-20 04:51:54,932.932 INFO    ] 2026-10-20 04:51:54
[2026-10-20 04:51:54,985.985 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:51:55,271.271 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:51:55,276.276 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:51:55,476.476 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:51:55,484.484 INFO    ] time= 20/10/2026 04:51:55
[2026-10-20 04:51:55,500.500 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:51:55,507.507 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:51:55,631.631 INFO    ] No existing commands found in stream
[2026-10-20 04:52:00,662.662 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:52:00,665.665 INFO    ] Waiting 3.41 seconds before fallback handling...
[2026-10-20 04:52:04,615.615 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:52:04,617.617 INFO    ] Checking for system updates...
[2026-10-20 04:52:04,657.657 INFO    ] 200
[2026-10-20 04:52:04,659.659 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:52:04,712.712 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:52:04,715.715 INFO    ] No update needed
[2026-10-20 04:52:04,717.717 INFO    ] Checking for camera pi updates...
[2026-10-20 04:52:04,752.752 INFO    ] 200
[2026-10-20 04:52:04,754.754 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:52:04,794.794 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:52:04,839.839 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:52:04,841.841 INFO    ] No camera update needed
[2026-10-20 04:52:04,844.844 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:52:04,846.846 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:52:04,851.851 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:52:04,856.856 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:52:06,898.898 INFO    ] ================================================
[2026-10-20 04:52:06,913.913 INFO    ] Launching Daemon at Tue Oct 20 04:52:06 IST 2026
[2026-10-20 04:52:06,923.923 INFO    ] ================================================
[2026-10-20 04:52:07,566.566 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:52:07
[2026-10-20 04:52:08,229.229 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:52:08,527.527 INFO    ] Initializing speech engine...
[2026-10-20 04:52:08,537.537 INFO    ] 2026-10-20 04:52:08
[2026-10-20 04:52:08,808.808 INFO    ] 2026-10-20 04:52:08
[2026-10-20 04:52:08,863.863 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:52:09,217.217 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:52:09,234.234 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:52:09,483.483 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:52:09,520.520 INFO    ] time= 20/10/2026 04:52:09
[2026-10-20 04:52:09,585.585 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:52:09,612.612 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:52:09,791.791 INFO    ] No existing commands found in stream
[2026-10-20 04:52:14,811.811 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:52:14,815.815 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-10-20 04:52:18,041.041 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:52:18,044.044 INFO    ] Checking for system updates...
[2026-10-20 04:52:18,089.089 INFO    ] 200
[2026-10-20 04:52:18,092.092 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:52:18,149.149 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:52:18,152.152 INFO    ] No update needed
[2026-10-20 04:52:18,155.155 INFO    ] Checking for camera pi updates...
[2026-10-20 04:52:18,193.193 INFO    ] 200
[2026-10-20 04:52:18,196.196 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:52:18,242.242 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:52:18,292.292 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:52:18,294.294 INFO    ] No camera update needed
[2026-10-20 04:52:18,297.297 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:52:18,300.300 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:52:18,306.306 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:52:18,312.312 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:52:20,351.351 INFO    ] ================================================
[2026-10-20 04:52:20,367.367 INFO    ] Launching Daemon at Tue Oct 20 04:52:20 IST 2026
[2026-10-20 04:52:20,378.378 INFO    ] ================================================
[2026-10-20 04:52:21,024.024 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:52:21
[2026-10-20 04:52:21,695.695 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:52:21,995.995 INFO    ] Initializing speech engine...
[2026-10-20 04:52:22,003.003 INFO    ] 2026-10-20 04:52:21
[2026-10-20 04:52:22,286.286 INFO    ] 2026-10-20 04:52:22
[2026-10-20 04:52:22,330.330 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:52:22,690.690 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:52:22,732.732 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:52:22,972.972 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:52:23,031.031 INFO    ] time= 20/10/2026 04:52:22
[2026-10-20 04:52:23,079.079 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:52:23,133.133 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:52:23,278.278 INFO    ] No existing commands found in stream
[2026-10-20 04:52:28,289.289 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:52:28,292.292 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-10-20 04:52:30,912.912 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:52:30,915.915 INFO    ] Checking for system updates...
[2026-10-20 04:52:30,951.951 INFO    ] 200
[2026-10-20 04:52:30,954.954 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:52:31,005.005 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:52:31,008.008 INFO    ] No update needed
[2026-10-20 04:52:31,010.010 INFO    ] Checking for camera pi updates...
[2026-10-20 04:52:31,043.043 INFO    ] 200
[2026-10-20 04:52:31,046.046 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:52:31,090.090 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:52:31,129.129 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:52:31,132.132 INFO    ] No camera update needed
[2026-10-20 04:52:31,134.134 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:52:31,136.136 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:52:31,142.142 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:52:31,147.147 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:52:33,188.188 INFO    ] ================================================
[2026-10-20 04:52:33,203.203 INFO    ] Launching Daemon at Tue Oct 20 04:52:33 IST 2026
[2026-10-20 04:52:33,214.214 INFO    ] ================================================
[2026-10-20 04:52:33,784.784 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:52:33
[2026-10-20 04:52:34,382.382 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:52:34,645.645 INFO    ] Initializing speech engine...
[2026-10-20 04:52:34,669.669 INFO    ] 2026-10-20 04:52:34
[2026-10-20 04:52:34,963.963 INFO    ] 2026-10-20 04:52:34
[2026-10-20 04:52:35,020.020 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:52:35,249.249 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:52:35,261.261 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:52:35,426.426 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:52:35,454.454 INFO    ] time= 20/10/2026 04:52:35
[2026-10-20 04:52:35,503.503 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:52:35,558.558 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:52:35,708.708 INFO    ] No existing commands found in stream
[2026-10-20 04:52:40,737.737 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:52:40,740.740 INFO    ] Waiting 2.38 seconds before fallback handling...
[2026-10-20 04:52:43,661.661 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:52:43,663.663 INFO    ] Checking for system updates...
[2026-10-20 04:52:43,702.702 INFO    ] 200
[2026-10-20 04:52:43,704.704 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:52:43,756.756 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:52:43,758.758 INFO    ] No update needed
[2026-10-20 04:52:43,761.761 INFO    ] Checking for camera pi updates...
[2026-10-20 04:52:43,795.795 INFO    ] 200
[2026-10-20 04:52:43,798.798 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:52:43,837.837 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:52:43,891.891 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:52:43,894.894 INFO    ] No camera update needed
[2026-10-20 04:52:43,896.896 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:52:43,898.898 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:52:43,904.904 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:52:43,909.909 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:52:45,948.948 INFO    ] ================================================
[2026-10-20 04:52:45,963.963 INFO    ] Launching Daemon at Tue Oct 20 04:52:45 IST 2026
[2026-10-20 04:52:45,973.973 INFO    ] ================================================
[2026-10-20 04:52:46,542.542 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:52:46
[2026-10-20 04:52:47,127.127 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:52:47,394.394 INFO    ] Initializing speech engine...
[2026-10-20 04:52:47,403.403 INFO    ] 2026-10-20 04:52:47
[2026-10-20 04:52:47,657.657 INFO    ] 2026-10-20 04:52:47
[2026-10-20 04:52:47,691.691 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:52:47,948.948 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:52:47,955.955 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:52:48,185.185 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:52:48,213.213 INFO    ] time= 20/10/2026 04:52:48
[2026-10-20 04:52:48,219.219 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:52:48,236.236 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:52:48,369.369 INFO    ] No existing commands found in stream
[2026-10-20 04:52:53,387.387 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:52:53,390.390 INFO    ] Waiting 2.54 seconds before fallback handling...
[2026-10-20 04:52:56,427.427 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:52:56,430.430 INFO    ] Checking for system updates...
[2026-10-20 04:52:56,465.465 INFO    ] 200
[2026-10-20 04:52:56,467.467 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:52:56,526.526 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:52:56,529.529 INFO    ] No update needed
[2026-10-20 04:52:56,531.531 INFO    ] Checking for camera pi updates...
[2026-10-20 04:52:56,565.565 INFO    ] 200
[2026-10-20 04:52:56,567.567 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:52:56,606.606 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:52:56,663.663 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:52:56,666.666 INFO    ] No camera update needed
[2026-10-20 04:52:56,669.669 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:52:56,672.672 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:52:56,678.678 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:52:56,684.684 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:52:58,725.725 INFO    ] ================================================
[2026-10-20 04:52:58,740.740 INFO    ] Launching Daemon at Tue Oct 20 04:52:58 IST 2026
[2026-10-20 04:52:58,750.750 INFO    ] ================================================
[2026-10-20 04:52:59,319.319 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:52:59
[2026-10-20 04:52:59,906.906 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:53:00,156.156 INFO    ] Initializing speech engine...
[2026-10-20 04:53:00,182.182 INFO    ] 2026-10-20 04:53:00
[2026-10-20 04:53:00,437.437 INFO    ] 2026-10-20 04:53:00
[2026-10-20 04:53:00,473.473 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:53:00,720.720 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:53:00,737.737 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:53:00,950.950 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:53:01,000.000 INFO    ] time= 20/10/2026 04:53:00
[2026-10-20 04:53:01,014.014 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:53:01,030.030 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:53:01,167.167 INFO    ] No existing commands found in stream
[2026-10-20 04:53:06,186.186 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:53:06,189.189 INFO    ] Waiting 2.00 seconds before fallback handling...
[2026-10-20 04:53:08,745.745 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:53:08,748.748 INFO    ] Checking for system updates...
[2026-10-20 04:53:08,789.789 INFO    ] 200
[2026-10-20 04:53:08,792.792 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:53:08,844.844 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:53:08,847.847 INFO    ] No update needed
[2026-10-20 04:53:08,849.849 INFO    ] Checking for camera pi updates...
[2026-10-20 04:53:08,885.885 INFO    ] 200
[2026-10-20 04:53:08,888.888 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:53:08,932.932 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:53:09,088.088 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:53:09,090.090 INFO    ] No camera update needed
[2026-10-20 04:53:09,093.093 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:53:09,095.095 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:53:09,100.100 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:53:09,105.105 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:53:11,147.147 INFO    ] ================================================
[2026-10-20 04:53:11,161.161 INFO    ] Launching Daemon at Tue Oct 20 04:53:11 IST 2026
[2026-10-20 04:53:11,172.172 INFO    ] ================================================
[2026-10-20 04:53:11,820.820 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:53:11
[2026-10-20 04:53:12,478.478 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:53:12,783.783 INFO    ] Initializing speech engine...
[2026-10-20 04:53:12,790.790 INFO    ] 2026-10-20 04:53:12
[2026-10-20 04:53:13,073.073 INFO    ] 2026-10-20 04:53:13
[2026-10-20 04:53:13,116.116 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:53:13,398.398 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:53:13,407.407 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:53:13,603.603 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:53:13,610.610 INFO    ] time= 20/10/2026 04:53:13
[2026-10-20 04:53:13,631.631 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:53:13,659.659 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:53:13,770.770 INFO    ] No existing commands found in stream
[2026-10-20 04:53:18,800.800 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:53:18,804.804 INFO    ] Waiting 2.56 seconds before fallback handling...
[2026-10-20 04:53:21,885.885 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:53:21,888.888 INFO    ] Checking for system updates...
[2026-10-20 04:53:21,924.924 INFO    ] 200
[2026-10-20 04:53:21,926.926 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:53:21,980.980 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:53:21,983.983 INFO    ] No update needed
[2026-10-20 04:53:21,985.985 INFO    ] Checking for camera pi updates...
[2026-10-20 04:53:22,022.022 INFO    ] 200
[2026-10-20 04:53:22,024.024 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:53:22,068.068 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:53:22,117.117 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:53:22,119.119 INFO    ] No camera update needed
[2026-10-20 04:53:22,121.121 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:53:22,124.124 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:53:22,129.129 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:53:22,134.134 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:53:24,173.173 INFO    ] ================================================
[2026-10-20 04:53:24,188.188 INFO    ] Launching Daemon at Tue Oct 20 04:53:24 IST 2026
[2026-10-20 04:53:24,198.198 INFO    ] ================================================
[2026-10-20 04:53:24,765.765 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:53:24
[2026-10-20 04:53:25,349.349 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:53:25,621.621 INFO    ] Initializing speech engine...
[2026-10-20 04:53:25,627.627 INFO    ] 2026-10-20 04:53:25
[2026-10-20 04:53:25,873.873 INFO    ] 2026-10-20 04:53:25
[2026-10-20 04:53:25,915.915 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:53:26,159.159 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:53:26,168.168 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:53:26,396.396 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:53:26,429.429 INFO    ] time= 20/10/2026 04:53:26
[2026-10-20 04:53:26,435.435 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:53:26,453.453 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:53:26,584.584 INFO    ] No existing commands found in stream
[2026-10-20 04:53:31,599.599 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:53:31,602.602 INFO    ] Waiting 1.11 seconds before fallback handling...
[2026-10-20 04:53:33,217.217 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:53:33,219.219 INFO    ] Checking for system updates...
[2026-10-20 04:53:33,259.259 INFO    ] 200
[2026-10-20 04:53:33,262.262 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:53:33,313.313 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:53:33,315.315 INFO    ] No update needed
[2026-10-20 04:53:33,318.318 INFO    ] Checking for camera pi updates...
[2026-10-20 04:53:33,351.351 INFO    ] 200
[2026-10-20 04:53:33,353.353 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:53:33,397.397 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:53:33,443.443 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:53:33,445.445 INFO    ] No camera update needed
[2026-10-20 04:53:33,448.448 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:53:33,450.450 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:53:33,456.456 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:53:33,461.461 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:53:35,502.502 INFO    ] ================================================
[2026-10-20 04:53:35,516.516 INFO    ] Launching Daemon at Tue Oct 20 04:53:35 IST 2026
[2026-10-20 04:53:35,527.527 INFO    ] ================================================
[2026-10-20 04:53:36,108.108 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:53:36
[2026-10-20 04:53:36,707.707 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:53:36,984.984 INFO    ] Initializing speech engine...
[2026-10-20 04:53:36,990.990 INFO    ] 2026-10-20 04:53:36
[2026-10-20 04:53:37,239.239 INFO    ] 2026-10-20 04:53:37
[2026-10-20 04:53:37,275.275 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:53:37,531.531 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:53:37,538.538 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:53:37,781.781 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:53:37,797.797 INFO    ] time= 20/10/2026 04:53:37
[2026-10-20 04:53:37,816.816 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:53:37,843.843 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:53:37,974.974 INFO    ] No existing commands found in stream
[2026-10-20 04:53:43,004.004 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:53:43,007.007 INFO    ] Waiting 1.34 seconds before fallback handling...
[2026-10-20 04:53:45,139.139 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:53:45,141.141 INFO    ] Checking for system updates...
[2026-10-20 04:53:45,176.176 INFO    ] 200
[2026-10-20 04:53:45,179.179 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:53:45,238.238 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:53:45,240.240 INFO    ] No update needed
[2026-10-20 04:53:45,243.243 INFO    ] Checking for camera pi updates...
[2026-10-20 04:53:45,276.276 INFO    ] 200
[2026-10-20 04:53:45,279.279 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:53:45,324.324 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:53:45,374.374 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:53:45,377.377 INFO    ] No camera update needed
[2026-10-20 04:53:45,379.379 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:53:45,382.382 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:53:45,387.387 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:53:45,392.392 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:53:47,434.434 INFO    ] ================================================
[2026-10-20 04:53:47,450.450 INFO    ] Launching Daemon at Tue Oct 20 04:53:47 IST 2026
[2026-10-20 04:53:47,461.461 INFO    ] ================================================
[2026-10-20 04:53:48,132.132 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:53:48
[2026-10-20 04:53:48,824.824 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:53:49,126.126 INFO    ] Initializing speech engine...
[2026-10-20 04:53:49,134.134 INFO    ] 2026-10-20 04:53:49
[2026-10-20 04:53:49,403.403 INFO    ] 2026-10-20 04:53:49
[2026-10-20 04:53:49,446.446 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:53:49,796.796 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:53:49,808.808 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:53:50,044.044 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:53:50,091.091 INFO    ] time= 20/10/2026 04:53:50
[2026-10-20 04:53:50,144.144 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:53:50,185.185 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:53:50,337.337 INFO    ] No existing commands found in stream
[2026-10-20 04:53:55,354.354 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:53:55,357.357 INFO    ] Waiting 0.86 seconds before fallback handling...
[2026-10-20 04:53:56,789.789 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:53:56,792.792 INFO    ] Checking for system updates...
[2026-10-20 04:53:56,833.833 INFO    ] 200
[2026-10-20 04:53:56,836.836 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:53:56,890.890 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:53:56,893.893 INFO    ] No update needed
[2026-10-20 04:53:56,895.895 INFO    ] Checking for camera pi updates...
[2026-10-20 04:53:56,931.931 INFO    ] 200
[2026-10-20 04:53:56,933.933 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:53:56,980.980 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:53:57,030.030 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:53:57,033.033 INFO    ] No camera update needed
[2026-10-20 04:53:57,035.035 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:53:57,038.038 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:53:57,044.044 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:53:57,050.050 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:53:59,091.091 INFO    ] ================================================
[2026-10-20 04:53:59,106.106 INFO    ] Launching Daemon at Tue Oct 20 04:53:59 IST 2026
[2026-10-20 04:53:59,117.117 INFO    ] ================================================
[2026-10-20 04:53:59,695.695 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:53:59
[2026-10-20 04:54:00,287.287 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:54:00,543.543 INFO    ] Initializing speech engine...
[2026-10-20 04:54:00,555.555 INFO    ] 2026-10-20 04:54:00
[2026-10-20 04:54:00,823.823 INFO    ] 2026-10-20 04:54:00
[2026-10-20 04:54:00,859.859 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:54:01,114.114 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:54:01,127.127 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:54:01,344.344 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:54:01,388.388 INFO    ] time= 20/10/2026 04:54:01
[2026-10-20 04:54:01,399.399 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:54:01,417.417 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:54:01,536.536 INFO    ] No existing commands found in stream
[2026-10-20 04:54:06,563.563 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:54:06,566.566 INFO    ] Waiting 3.64 seconds before fallback handling...
[2026-10-20 04:54:10,726.726 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:54:10,729.729 INFO    ] Checking for system updates...
[2026-10-20 04:54:10,771.771 INFO    ] 200
[2026-10-20 04:54:10,774.774 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:54:10,826.826 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:54:10,829.829 INFO    ] No update needed
[2026-10-20 04:54:10,832.832 INFO    ] Checking for camera pi updates...
[2026-10-20 04:54:10,869.869 INFO    ] 200
[2026-10-20 04:54:10,872.872 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:54:10,912.912 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:54:10,957.957 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:54:10,960.960 INFO    ] No camera update needed
[2026-10-20 04:54:10,963.963 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:54:10,965.965 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:54:10,972.972 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:54:10,977.977 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:54:13,018.018 INFO    ] ================================================
[2026-10-20 04:54:13,033.033 INFO    ] Launching Daemon at Tue Oct 20 04:54:13 IST 2026
[2026-10-20 04:54:13,044.044 INFO    ] ================================================
[2026-10-20 04:54:13,630.630 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:54:13
[2026-10-20 04:54:14,231.231 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:54:14,504.504 INFO    ] Initializing speech engine...
[2026-10-20 04:54:14,514.514 INFO    ] 2026-10-20 04:54:14
[2026-10-20 04:54:14,762.762 INFO    ] 2026-10-20 04:54:14
[2026-10-20 04:54:14,798.798 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:54:15,048.048 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:54:15,057.057 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:54:15,216.216 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:54:15,277.277 INFO    ] time= 20/10/2026 04:54:15
[2026-10-20 04:54:15,320.320 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:54:15,335.335 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:54:15,468.468 INFO    ] No existing commands found in stream
[2026-10-20 04:54:20,487.487 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:54:20,490.490 INFO    ] Waiting 0.34 seconds before fallback handling...
[2026-10-20 04:54:21,376.376 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:54:21,379.379 INFO    ] Checking for system updates...
[2026-10-20 04:54:21,418.418 INFO    ] 200
[2026-10-20 04:54:21,421.421 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:54:21,474.474 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:54:21,477.477 INFO    ] No update needed
[2026-10-20 04:54:21,480.480 INFO    ] Checking for camera pi updates...
[2026-10-20 04:54:21,518.518 INFO    ] 200
[2026-10-20 04:54:21,521.521 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:54:21,567.567 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:54:21,620.620 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:54:21,623.623 INFO    ] No camera update needed
[2026-10-20 04:54:21,626.626 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:54:21,628.628 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:54:21,635.635 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:54:21,640.640 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:54:23,680.680 INFO    ] ================================================
[2026-10-20 04:54:23,695.695 INFO    ] Launching Daemon at Tue Oct 20 04:54:23 IST 2026
[2026-10-20 04:54:23,705.705 INFO    ] ================================================
[2026-10-20 04:54:24,314.314 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:54:24
[2026-10-20 04:54:24,976.976 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:54:25,276.276 INFO    ] Initializing speech engine...
[2026-10-20 04:54:25,284.284 INFO    ] 2026-10-20 04:54:25
[2026-10-20 04:54:25,561.561 INFO    ] 2026-10-20 04:54:25
[2026-10-20 04:54:25,617.617 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:54:25,970.970 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:54:26,017.017 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:54:26,234.234 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:54:26,276.276 INFO    ] time= 20/10/2026 04:54:26
[2026-10-20 04:54:26,346.346 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:54:26,375.375 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:54:26,478.478 INFO    ] No existing commands found in stream
[2026-10-20 04:54:31,503.503 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:54:31,507.507 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-10-20 04:54:34,589.589 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:54:34,592.592 INFO    ] Checking for system updates...
[2026-10-20 04:54:34,629.629 INFO    ] 200
[2026-10-20 04:54:34,631.631 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:54:34,684.684 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:54:34,686.686 INFO    ] No update needed
[2026-10-20 04:54:34,689.689 INFO    ] Checking for camera pi updates...
[2026-10-20 04:54:34,724.724 INFO    ] 200
[2026-10-20 04:54:34,726.726 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:54:34,770.770 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:54:34,825.825 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:54:34,827.827 INFO    ] No camera update needed
[2026-10-20 04:54:34,830.830 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:54:34,832.832 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:54:34,837.837 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:54:34,842.842 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:54:36,881.881 INFO    ] ================================================
[2026-10-20 04:54:36,896.896 INFO    ] Launching Daemon at Tue Oct 20 04:54:36 IST 2026
[2026-10-20 04:54:36,907.907 INFO    ] ================================================
[2026-10-20 04:54:37,482.482 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:54:37
[2026-10-20 04:54:38,085.085 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:54:38,353.353 INFO    ] Initializing speech engine...
[2026-10-20 04:54:38,363.363 INFO    ] 2026-10-20 04:54:38
[2026-10-20 04:54:38,608.608 INFO    ] 2026-10-20 04:54:38
[2026-10-20 04:54:38,643.643 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:54:38,895.895 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:54:38,907.907 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:54:39,127.127 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:54:39,167.167 INFO    ] time= 20/10/2026 04:54:39
[2026-10-20 04:54:39,174.174 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:54:39,199.199 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:54:39,355.355 INFO    ] No existing commands found in stream
[2026-10-20 04:54:44,382.382 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:54:44,384.384 INFO    ] Waiting 3.99 seconds before fallback handling...
[2026-10-20 04:54:48,923.923 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:54:48,926.926 INFO    ] Checking for system updates...
[2026-10-20 04:54:48,963.963 INFO    ] 200
[2026-10-20 04:54:48,966.966 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:54:49,025.025 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:54:49,027.027 INFO    ] No update needed
[2026-10-20 04:54:49,030.030 INFO    ] Checking for camera pi updates...
[2026-10-20 04:54:49,065.065 INFO    ] 200
[2026-10-20 04:54:49,067.067 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:54:49,112.112 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:54:49,160.160 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:54:49,163.163 INFO    ] No camera update needed
[2026-10-20 04:54:49,166.166 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:54:49,168.168 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:54:49,174.174 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:54:49,180.180 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:54:51,220.220 INFO    ] ================================================
[2026-10-20 04:54:51,235.235 INFO    ] Launching Daemon at Tue Oct 20 04:54:51 IST 2026
[2026-10-20 04:54:51,246.246 INFO    ] ================================================
[2026-10-20 04:54:51,883.883 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:54:51
[2026-10-20 04:54:52,540.540 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:54:52,841.841 INFO    ] Initializing speech engine...
[2026-10-20 04:54:52,851.851 INFO    ] 2026-10-20 04:54:52
[2026-10-20 04:54:53,129.129 INFO    ] 2026-10-20 04:54:53
[2026-10-20 04:54:53,186.186 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:54:53,482.482 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:54:53,491.491 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:54:53,687.687 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:54:53,694.694 INFO    ] time= 20/10/2026 04:54:53
[2026-10-20 04:54:53,716.716 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:54:53,744.744 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:54:53,852.852 INFO    ] No existing commands found in stream
[2026-10-20 04:54:58,868.868 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:54:58,871.871 INFO    ] Waiting 1.17 seconds before fallback handling...
[2026-10-20 04:55:00,578.578 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:55:00,581.581 INFO    ] Checking for system updates...
[2026-10-20 04:55:00,618.618 INFO    ] 200
[2026-10-20 04:55:00,621.621 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:55:00,679.679 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:55:00,682.682 INFO    ] No update needed
[2026-10-20 04:55:00,685.685 INFO    ] Checking for camera pi updates...
[2026-10-20 04:55:00,719.719 INFO    ] 200
[2026-10-20 04:55:00,721.721 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:55:00,766.766 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:55:00,815.815 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:55:00,818.818 INFO    ] No camera update needed
[2026-10-20 04:55:00,821.821 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:55:00,824.824 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:55:00,830.830 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:55:00,835.835 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:55:02,902.902 INFO    ] ================================================
[2026-10-20 04:55:02,919.919 INFO    ] Launching Daemon at Tue Oct 20 04:55:02 IST 2026
[2026-10-20 04:55:02,934.934 INFO    ] ================================================
[2026-10-20 04:55:03,601.601 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:55:03
[2026-10-20 04:55:04,224.224 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:55:04,499.499 INFO    ] Initializing speech engine...
[2026-10-20 04:55:04,505.505 INFO    ] 2026-10-20 04:55:04
[2026-10-20 04:55:04,768.768 INFO    ] 2026-10-20 04:55:04
[2026-10-20 04:55:04,821.821 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:55:05,107.107 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:55:05,111.111 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:55:05,305.305 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:55:05,312.312 INFO    ] time= 20/10/2026 04:55:05
[2026-10-20 04:55:05,329.329 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:55:05,358.358 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:55:05,478.478 INFO    ] No existing commands found in stream
[2026-10-20 04:55:10,509.509 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:55:10,512.512 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-10-20 04:55:14,301.301 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 04:55:14,304.304 INFO    ] Checking for system updates...
[2026-10-20 04:55:14,342.342 INFO    ] 200
[2026-10-20 04:55:14,344.344 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:55:14,396.396 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:55:14,399.399 INFO    ] No update needed
[2026-10-20 04:55:14,401.401 INFO    ] Checking for camera pi updates...
[2026-10-20 04:55:14,439.439 INFO    ] 200
[2026-10-20 04:55:14,441.441 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:55:14,482.482 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:55:14,626.626 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:55:14,628.628 INFO    ] No camera update needed
[2026-10-20 04:55:14,631.631 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:55:14,633.633 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:55:14,639.639 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:55:14,644.644 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:55:16,684.684 INFO    ] ================================================
[2026-10-20 04:55:16,698.698 INFO    ] Launching Daemon at Tue Oct 20 04:55:16 IST 2026
[2026-10-20 04:55:16,709.709 INFO    ] ================================================
[2026-10-20 04:55:17,332.332 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:55:17
[2026-10-20 04:55:17,972.972 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:55:18,264.264 INFO    ] Initializing speech engine...
[2026-10-20 04:55:18,274.274 INFO    ] 2026-10-20 04:55:18
[2026-10-20 04:55:18,533.533 INFO    ] 2026-10-20 04:55:18
[2026-10-20 04:55:18,575.575 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:55:18,832.832 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:55:18,838.838 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:55:19,098.098 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:55:19,106.106 INFO    ] time= 20/10/2026 04:55:19
[2026-10-20 04:55:19,125.125 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:55:19,154.154 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:55:19,269.269 INFO    ] No existing commands found in stream
[2026-10-20 04:55:24,299.299 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:55:24,303.303 INFO    ] Waiting 3.96 seconds before fallback handling...
[2026-10-20 04:55:28,830.830 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:55:28,832.832 INFO    ] Checking for system updates...
[2026-10-20 04:55:28,869.869 INFO    ] 200
[2026-10-20 04:55:28,871.871 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:55:28,924.924 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:55:28,927.927 INFO    ] No update needed
[2026-10-20 04:55:28,930.930 INFO    ] Checking for camera pi updates...
[2026-10-20 04:55:28,964.964 INFO    ] 200
[2026-10-20 04:55:28,967.967 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:55:29,007.007 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:55:29,052.052 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:55:29,054.054 INFO    ] No camera update needed
[2026-10-20 04:55:29,057.057 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:55:29,060.060 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:55:29,066.066 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:55:29,071.071 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:55:31,110.110 INFO    ] ================================================
[2026-10-20 04:55:31,125.125 INFO    ] Launching Daemon at Tue Oct 20 04:55:31 IST 2026
[2026-10-20 04:55:31,136.136 INFO    ] ================================================
[2026-10-20 04:55:31,700.700 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:55:31
[2026-10-20 04:55:32,316.316 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:55:32,648.648 INFO    ] Initializing speech engine...
[2026-10-20 04:55:32,660.660 INFO    ] 2026-10-20 04:55:32
[2026-10-20 04:55:32,938.938 INFO    ] 2026-10-20 04:55:32
[2026-10-20 04:55:33,006.006 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:55:33,241.241 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:55:33,247.247 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:55:33,478.478 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:55:33,506.506 INFO    ] time= 20/10/2026 04:55:33
[2026-10-20 04:55:33,523.523 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:55:33,531.531 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:55:33,658.658 INFO    ] No existing commands found in stream
[2026-10-20 04:55:38,671.671 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:55:38,674.674 INFO    ] Waiting 1.31 seconds before fallback handling...
[2026-10-20 04:55:40,561.561 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:55:40,564.564 INFO    ] Checking for system updates...
[2026-10-20 04:55:40,601.601 INFO    ] 200
[2026-10-20 04:55:40,604.604 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:55:40,657.657 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:55:40,660.660 INFO    ] No update needed
[2026-10-20 04:55:40,663.663 INFO    ] Checking for camera pi updates...
[2026-10-20 04:55:40,697.697 INFO    ] 200
[2026-10-20 04:55:40,699.699 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:55:40,741.741 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:55:40,783.783 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:55:40,786.786 INFO    ] No camera update needed
[2026-10-20 04:55:40,788.788 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:55:40,791.791 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:55:40,796.796 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:55:40,801.801 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:55:42,840.840 INFO    ] ================================================
[2026-10-20 04:55:42,855.855 INFO    ] Launching Daemon at Tue Oct 20 04:55:42 IST 2026
[2026-10-20 04:55:42,865.865 INFO    ] ================================================
[2026-10-20 04:55:43,434.434 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:55:43
[2026-10-20 04:55:44,021.021 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:55:44,276.276 INFO    ] Initializing speech engine...
[2026-10-20 04:55:44,284.284 INFO    ] 2026-10-20 04:55:44
[2026-10-20 04:55:44,578.578 INFO    ] 2026-10-20 04:55:44
[2026-10-20 04:55:44,624.624 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:55:44,877.877 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:55:44,882.882 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:55:45,123.123 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:55:45,144.144 INFO    ] time= 20/10/2026 04:55:45
[2026-10-20 04:55:45,159.159 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:55:45,169.169 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:55:45,326.326 INFO    ] No existing commands found in stream
[2026-10-20 04:55:50,352.352 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:55:50,355.355 INFO    ] Waiting 3.56 seconds before fallback handling...
[2026-10-20 04:55:54,484.484 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:55:54,487.487 INFO    ] Checking for system updates...
[2026-10-20 04:55:54,528.528 INFO    ] 200
[2026-10-20 04:55:54,531.531 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:55:54,594.594 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:55:54,597.597 INFO    ] No update needed
[2026-10-20 04:55:54,600.600 INFO    ] Checking for camera pi updates...
[2026-10-20 04:55:54,634.634 INFO    ] 200
[2026-10-20 04:55:54,637.637 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:55:54,684.684 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:55:54,732.732 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:55:54,734.734 INFO    ] No camera update needed
[2026-10-20 04:55:54,737.737 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:55:54,739.739 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:55:54,744.744 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:55:54,750.750 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:55:56,788.788 INFO    ] ================================================
[2026-10-20 04:55:56,803.803 INFO    ] Launching Daemon at Tue Oct 20 04:55:56 IST 2026
[2026-10-20 04:55:56,814.814 INFO    ] ================================================
[2026-10-20 04:55:57,394.394 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:55:57
[2026-10-20 04:55:57,994.994 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:55:58,274.274 INFO    ] Initializing speech engine...
[2026-10-20 04:55:58,282.282 INFO    ] 2026-10-20 04:55:58
[2026-10-20 04:55:58,553.553 INFO    ] 2026-10-20 04:55:58
[2026-10-20 04:55:58,598.598 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:55:58,822.822 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:55:58,828.828 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:55:59,050.050 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:55:59,084.084 INFO    ] time= 20/10/2026 04:55:59
[2026-10-20 04:55:59,091.091 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:55:59,111.111 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:55:59,240.240 INFO    ] No existing commands found in stream
[2026-10-20 04:56:04,259.259 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:56:04,262.262 INFO    ] Waiting 1.38 seconds before fallback handling...
[2026-10-20 04:56:06,160.160 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:56:06,162.162 INFO    ] Checking for system updates...
[2026-10-20 04:56:06,198.198 INFO    ] 200
[2026-10-20 04:56:06,200.200 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:56:06,256.256 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:56:06,258.258 INFO    ] No update needed
[2026-10-20 04:56:06,261.261 INFO    ] Checking for camera pi updates...
[2026-10-20 04:56:06,294.294 INFO    ] 200
[2026-10-20 04:56:06,297.297 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:56:06,336.336 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:56:06,390.390 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:56:06,392.392 INFO    ] No camera update needed
[2026-10-20 04:56:06,394.394 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:56:06,397.397 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:56:06,402.402 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:56:06,407.407 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:56:08,449.449 INFO    ] ================================================
[2026-10-20 04:56:08,464.464 INFO    ] Launching Daemon at Tue Oct 20 04:56:08 IST 2026
[2026-10-20 04:56:08,474.474 INFO    ] ================================================
[2026-10-20 04:56:09,064.064 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:56:09
[2026-10-20 04:56:09,664.664 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:56:09,945.945 INFO    ] Initializing speech engine...
[2026-10-20 04:56:09,952.952 INFO    ] 2026-10-20 04:56:09
[2026-10-20 04:56:10,198.198 INFO    ] 2026-10-20 04:56:10
[2026-10-20 04:56:10,234.234 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:56:10,491.491 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:56:10,495.495 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:56:10,728.728 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:56:10,753.753 INFO    ] time= 20/10/2026 04:56:10
[2026-10-20 04:56:10,760.760 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:56:10,781.781 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:56:10,917.917 INFO    ] No existing commands found in stream
[2026-10-20 04:56:15,938.938 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:56:15,941.941 INFO    ] Waiting 2.37 seconds before fallback handling...
[2026-10-20 04:56:18,843.843 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:56:18,846.846 INFO    ] Checking for system updates...
[2026-10-20 04:56:18,882.882 INFO    ] 200
[2026-10-20 04:56:18,884.884 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:56:18,940.940 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:56:18,942.942 INFO    ] No update needed
[2026-10-20 04:56:18,945.945 INFO    ] Checking for camera pi updates...
[2026-10-20 04:56:18,979.979 INFO    ] 200
[2026-10-20 04:56:18,981.981 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:56:19,022.022 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:56:19,072.072 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:56:19,075.075 INFO    ] No camera update needed
[2026-10-20 04:56:19,077.077 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:56:19,079.079 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:56:19,085.085 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:56:19,090.090 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:56:21,129.129 INFO    ] ================================================
[2026-10-20 04:56:21,144.144 INFO    ] Launching Daemon at Tue Oct 20 04:56:21 IST 2026
[2026-10-20 04:56:21,155.155 INFO    ] ================================================
[2026-10-20 04:56:21,733.733 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:56:21
[2026-10-20 04:56:22,330.330 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:56:22,606.606 INFO    ] Initializing speech engine...
[2026-10-20 04:56:22,615.615 INFO    ] 2026-10-20 04:56:22
[2026-10-20 04:56:22,872.872 INFO    ] 2026-10-20 04:56:22
[2026-10-20 04:56:22,923.923 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:56:23,151.151 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:56:23,156.156 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:56:23,374.374 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:56:23,409.409 INFO    ] time= 20/10/2026 04:56:23
[2026-10-20 04:56:23,416.416 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:56:23,431.431 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:56:23,565.565 INFO    ] No existing commands found in stream
[2026-10-20 04:56:28,580.580 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:56:28,582.582 INFO    ] Waiting 1.43 seconds before fallback handling...
[2026-10-20 04:56:30,519.519 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:56:30,522.522 INFO    ] Checking for system updates...
[2026-10-20 04:56:30,557.557 INFO    ] 200
[2026-10-20 04:56:30,560.560 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:56:30,611.611 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:56:30,613.613 INFO    ] No update needed
[2026-10-20 04:56:30,616.616 INFO    ] Checking for camera pi updates...
[2026-10-20 04:56:30,652.652 INFO    ] 200
[2026-10-20 04:56:30,654.654 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:56:30,703.703 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:56:30,750.750 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:56:30,753.753 INFO    ] No camera update needed
[2026-10-20 04:56:30,755.755 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:56:30,757.757 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:56:30,763.763 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:56:30,767.767 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:56:32,809.809 INFO    ] ================================================
[2026-10-20 04:56:32,825.825 INFO    ] Launching Daemon at Tue Oct 20 04:56:32 IST 2026
[2026-10-20 04:56:32,837.837 INFO    ] ================================================
[2026-10-20 04:56:33,470.470 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:56:33
[2026-10-20 04:56:34,056.056 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:56:34,328.328 INFO    ] Initializing speech engine...
[2026-10-20 04:56:34,337.337 INFO    ] 2026-10-20 04:56:34
[2026-10-20 04:56:34,585.585 INFO    ] 2026-10-20 04:56:34
[2026-10-20 04:56:34,620.620 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:56:34,876.876 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:56:34,886.886 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:56:35,112.112 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:56:35,150.150 INFO    ] time= 20/10/2026 04:56:35
[2026-10-20 04:56:35,156.156 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:56:35,173.173 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:56:35,321.321 INFO    ] No existing commands found in stream
[2026-10-20 04:56:40,348.348 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:56:40,351.351 INFO    ] Waiting 1.79 seconds before fallback handling...
[2026-10-20 04:56:42,705.705 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:56:42,708.708 INFO    ] Checking for system updates...
[2026-10-20 04:56:42,744.744 INFO    ] 200
[2026-10-20 04:56:42,747.747 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:56:42,798.798 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:56:42,801.801 INFO    ] No update needed
[2026-10-20 04:56:42,803.803 INFO    ] Checking for camera pi updates...
[2026-10-20 04:56:42,836.836 INFO    ] 200
[2026-10-20 04:56:42,838.838 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:56:42,878.878 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:56:42,921.921 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:56:42,923.923 INFO    ] No camera update needed
[2026-10-20 04:56:42,926.926 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:56:42,928.928 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:56:42,934.934 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:56:42,939.939 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:56:44,980.980 INFO    ] ================================================
[2026-10-20 04:56:45,995.995 INFO    ] Launching Daemon at Tue Oct 20 04:56:44 IST 2026
[2026-10-20 04:56:45,006.006 INFO    ] ================================================
[2026-10-20 04:56:45,575.575 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:56:45
[2026-10-20 04:56:46,159.159 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:56:46,409.409 INFO    ] Initializing speech engine...
[2026-10-20 04:56:46,428.428 INFO    ] 2026-10-20 04:56:46
[2026-10-20 04:56:46,686.686 INFO    ] 2026-10-20 04:56:46
[2026-10-20 04:56:46,721.721 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:56:46,922.922 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:56:46,981.981 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:56:47,130.130 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:56:47,200.200 INFO    ] time= 20/10/2026 04:56:47
[2026-10-20 04:56:47,249.249 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:56:47,261.261 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:56:47,411.411 INFO    ] No existing commands found in stream
[2026-10-20 04:56:52,429.429 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:56:52,432.432 INFO    ] Waiting 1.54 seconds before fallback handling...
[2026-10-20 04:56:54,545.545 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:56:54,547.547 INFO    ] Checking for system updates...
[2026-10-20 04:56:54,583.583 INFO    ] 200
[2026-10-20 04:56:54,585.585 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:56:54,642.642 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:56:54,645.645 INFO    ] No update needed
[2026-10-20 04:56:54,647.647 INFO    ] Checking for camera pi updates...
[2026-10-20 04:56:54,680.680 INFO    ] 200
[2026-10-20 04:56:54,682.682 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:56:54,727.727 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:56:54,775.775 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:56:54,777.777 INFO    ] No camera update needed
[2026-10-20 04:56:54,780.780 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:56:54,782.782 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:56:54,787.787 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:56:54,792.792 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:56:56,831.831 INFO    ] ================================================
[2026-10-20 04:56:56,846.846 INFO    ] Launching Daemon at Tue Oct 20 04:56:56 IST 2026
[2026-10-20 04:56:56,857.857 INFO    ] ================================================
[2026-10-20 04:56:57,497.497 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:56:57
[2026-10-20 04:56:58,162.162 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:56:58,463.463 INFO    ] Initializing speech engine...
[2026-10-20 04:56:58,477.477 INFO    ] 2026-10-20 04:56:58
[2026-10-20 04:56:58,758.758 INFO    ] 2026-10-20 04:56:58
[2026-10-20 04:56:58,804.804 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:56:59,095.095 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:56:59,104.104 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:56:59,299.299 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:56:59,306.306 INFO    ] time= 20/10/2026 04:56:59
[2026-10-20 04:56:59,325.325 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:56:59,354.354 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:56:59,474.474 INFO    ] No existing commands found in stream
[2026-10-20 04:57:04,509.509 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:57:04,513.513 INFO    ] Waiting 1.36 seconds before fallback handling...
[2026-10-20 04:57:06,394.394 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 04:57:06,397.397 INFO    ] Checking for system updates...
[2026-10-20 04:57:06,433.433 INFO    ] 200
[2026-10-20 04:57:06,436.436 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:57:06,500.500 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:57:06,503.503 INFO    ] No update needed
[2026-10-20 04:57:06,506.506 INFO    ] Checking for camera pi updates...
[2026-10-20 04:57:06,545.545 INFO    ] 200
[2026-10-20 04:57:06,548.548 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:57:06,591.591 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:57:06,639.639 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:57:06,642.642 INFO    ] No camera update needed
[2026-10-20 04:57:06,645.645 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:57:06,647.647 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:57:06,654.654 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:57:06,660.660 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:57:08,708.708 INFO    ] ================================================
[2026-10-20 04:57:08,724.724 INFO    ] Launching Daemon at Tue Oct 20 04:57:08 IST 2026
[2026-10-20 04:57:08,734.734 INFO    ] ================================================
[2026-10-20 04:57:09,315.315 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:57:09
[2026-10-20 04:57:09,911.911 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:57:10,185.185 INFO    ] Initializing speech engine...
[2026-10-20 04:57:10,194.194 INFO    ] 2026-10-20 04:57:10
[2026-10-20 04:57:10,450.450 INFO    ] 2026-10-20 04:57:10
[2026-10-20 04:57:10,484.484 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:57:10,734.734 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:57:10,738.738 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:57:10,938.938 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:57:10,987.987 INFO    ] time= 20/10/2026 04:57:10
[2026-10-20 04:57:11,002.002 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:57:11,020.020 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:57:11,152.152 INFO    ] No existing commands found in stream
[2026-10-20 04:57:16,175.175 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:57:16,178.178 INFO    ] Waiting 2.10 seconds before fallback handling...
[2026-10-20 04:57:18,843.843 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:57:18,846.846 INFO    ] Checking for system updates...
[2026-10-20 04:57:18,886.886 INFO    ] 200
[2026-10-20 04:57:18,888.888 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:57:18,947.947 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:57:18,950.950 INFO    ] No update needed
[2026-10-20 04:57:18,953.953 INFO    ] Checking for camera pi updates...
[2026-10-20 04:57:18,986.986 INFO    ] 200
[2026-10-20 04:57:18,988.988 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:57:19,028.028 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:57:19,158.158 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:57:19,161.161 INFO    ] No camera update needed
[2026-10-20 04:57:19,163.163 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:57:19,166.166 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:57:19,171.171 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:57:19,176.176 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:57:21,216.216 INFO    ] ================================================
[2026-10-20 04:57:21,231.231 INFO    ] Launching Daemon at Tue Oct 20 04:57:21 IST 2026
[2026-10-20 04:57:21,242.242 INFO    ] ================================================
[2026-10-20 04:57:21,808.808 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:57:21
[2026-10-20 04:57:22,393.393 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:57:22,640.640 INFO    ] Initializing speech engine...
[2026-10-20 04:57:22,647.647 INFO    ] 2026-10-20 04:57:22
[2026-10-20 04:57:22,922.922 INFO    ] 2026-10-20 04:57:22
[2026-10-20 04:57:22,956.956 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:57:23,163.163 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:57:23,217.217 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:57:23,361.361 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:57:23,427.427 INFO    ] time= 20/10/2026 04:57:23
[2026-10-20 04:57:23,476.476 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:57:23,495.495 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:57:23,646.646 INFO    ] No existing commands found in stream
[2026-10-20 04:57:28,660.660 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:57:28,663.663 INFO    ] Waiting 0.04 seconds before fallback handling...
[2026-10-20 04:57:29,183.183 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 04:57:29,186.186 INFO    ] Checking for system updates...
[2026-10-20 04:57:29,230.230 INFO    ] 200
[2026-10-20 04:57:29,232.232 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:57:29,284.284 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:57:29,286.286 INFO    ] No update needed
[2026-10-20 04:57:29,288.288 INFO    ] Checking for camera pi updates...
[2026-10-20 04:57:29,325.325 INFO    ] 200
[2026-10-20 04:57:29,328.328 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:57:29,367.367 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:57:29,419.419 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:57:29,422.422 INFO    ] No camera update needed
[2026-10-20 04:57:29,424.424 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:57:29,426.426 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:57:29,432.432 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:57:29,437.437 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:57:31,476.476 INFO    ] ================================================
[2026-10-20 04:57:31,492.492 INFO    ] Launching Daemon at Tue Oct 20 04:57:31 IST 2026
[2026-10-20 04:57:31,503.503 INFO    ] ================================================
[2026-10-20 04:57:32,117.117 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:57:32
[2026-10-20 04:57:32,847.847 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:57:33,137.137 INFO    ] Initializing speech engine...
[2026-10-20 04:57:33,143.143 INFO    ] 2026-10-20 04:57:33
[2026-10-20 04:57:33,412.412 INFO    ] 2026-10-20 04:57:33
[2026-10-20 04:57:33,447.447 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:57:33,710.710 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:57:33,716.716 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:57:33,916.916 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:57:33,965.965 INFO    ] time= 20/10/2026 04:57:33
[2026-10-20 04:57:33,982.982 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:57:33,987.987 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:57:34,138.138 INFO    ] No existing commands found in stream
[2026-10-20 04:57:39,153.153 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:57:39,156.156 INFO    ] Waiting 2.90 seconds before fallback handling...
[2026-10-20 04:57:42,575.575 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:57:42,577.577 INFO    ] Checking for system updates...
[2026-10-20 04:57:42,617.617 INFO    ] 200
[2026-10-20 04:57:42,619.619 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:57:42,671.671 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:57:42,674.674 INFO    ] No update needed
[2026-10-20 04:57:42,676.676 INFO    ] Checking for camera pi updates...
[2026-10-20 04:57:42,709.709 INFO    ] 200
[2026-10-20 04:57:42,712.712 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:57:42,751.751 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:57:42,800.800 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:57:42,803.803 INFO    ] No camera update needed
[2026-10-20 04:57:42,805.805 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:57:42,807.807 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:57:42,813.813 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:57:42,818.818 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:57:44,861.861 INFO    ] ================================================
[2026-10-20 04:57:44,876.876 INFO    ] Launching Daemon at Tue Oct 20 04:57:44 IST 2026
[2026-10-20 04:57:44,887.887 INFO    ] ================================================
[2026-10-20 04:57:45,454.454 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:57:45
[2026-10-20 04:57:46,041.041 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:57:46,287.287 INFO    ] Initializing speech engine...
[2026-10-20 04:57:46,295.295 INFO    ] 2026-10-20 04:57:46
[2026-10-20 04:57:46,571.571 INFO    ] 2026-10-20 04:57:46
[2026-10-20 04:57:46,606.606 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:57:46,870.870 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:57:46,876.876 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:57:47,106.106 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:57:47,144.144 INFO    ] time= 20/10/2026 04:57:47
[2026-10-20 04:57:47,159.159 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:57:47,166.166 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:57:47,297.297 INFO    ] No existing commands found in stream
[2026-10-20 04:57:52,311.311 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:57:52,314.314 INFO    ] Waiting 3.28 seconds before fallback handling...
[2026-10-20 04:57:56,141.141 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:57:56,144.144 INFO    ] Checking for system updates...
[2026-10-20 04:57:56,183.183 INFO    ] 200
[2026-10-20 04:57:56,185.185 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:57:56,244.244 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:57:56,247.247 INFO    ] No update needed
[2026-10-20 04:57:56,249.249 INFO    ] Checking for camera pi updates...
[2026-10-20 04:57:56,287.287 INFO    ] 200
[2026-10-20 04:57:56,289.289 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:57:56,329.329 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:57:56,379.379 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:57:56,381.381 INFO    ] No camera update needed
[2026-10-20 04:57:56,383.383 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:57:56,386.386 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:57:56,391.391 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:57:56,396.396 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:57:58,436.436 INFO    ] ================================================
[2026-10-20 04:57:58,452.452 INFO    ] Launching Daemon at Tue Oct 20 04:57:58 IST 2026
[2026-10-20 04:57:58,463.463 INFO    ] ================================================
[2026-10-20 04:57:59,045.045 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:57:59
[2026-10-20 04:57:59,644.644 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:57:59,907.907 INFO    ] Initializing speech engine...
[2026-10-20 04:57:59,914.914 INFO    ] 2026-10-20 04:57:59
[2026-10-20 04:58:00,213.213 INFO    ] 2026-10-20 04:58:00
[2026-10-20 04:58:00,248.248 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:58:00,464.464 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:58:00,481.481 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:58:00,638.638 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:58:00,644.644 INFO    ] time= 20/10/2026 04:58:00
[2026-10-20 04:58:00,651.651 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:58:00,656.656 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:58:00,784.784 INFO    ] No existing commands found in stream
[2026-10-20 04:58:05,809.809 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:58:05,812.812 INFO    ] Waiting 3.41 seconds before fallback handling...
[2026-10-20 04:58:09,759.759 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:58:09,762.762 INFO    ] Checking for system updates...
[2026-10-20 04:58:09,797.797 INFO    ] 200
[2026-10-20 04:58:09,799.799 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:58:09,858.858 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:58:09,861.861 INFO    ] No update needed
[2026-10-20 04:58:09,863.863 INFO    ] Checking for camera pi updates...
[2026-10-20 04:58:09,900.900 INFO    ] 200
[2026-10-20 04:58:09,903.903 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:58:09,948.948 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:58:09,995.995 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:58:09,997.997 INFO    ] No camera update needed
[2026-10-20 04:58:10,000.000 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:58:10,003.003 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:58:10,008.008 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:58:10,013.013 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:58:12,054.054 INFO    ] ================================================
[2026-10-20 04:58:12,069.069 INFO    ] Launching Daemon at Tue Oct 20 04:58:12 IST 2026
[2026-10-20 04:58:12,080.080 INFO    ] ================================================
[2026-10-20 04:58:12,649.649 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:58:12
[2026-10-20 04:58:13,233.233 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:58:13,484.484 INFO    ] Initializing speech engine...
[2026-10-20 04:58:13,507.507 INFO    ] 2026-10-20 04:58:13
[2026-10-20 04:58:13,763.763 INFO    ] 2026-10-20 04:58:13
[2026-10-20 04:58:13,797.797 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:58:14,062.062 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:58:14,067.067 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:58:14,274.274 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:58:14,330.330 INFO    ] time= 20/10/2026 04:58:14
[2026-10-20 04:58:14,337.337 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:58:14,358.358 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:58:14,485.485 INFO    ] No existing commands found in stream
[2026-10-20 04:58:19,499.499 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:58:19,502.502 INFO    ] Waiting 2.76 seconds before fallback handling...
[2026-10-20 04:58:22,808.808 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 04:58:22,811.811 INFO    ] Checking for system updates...
[2026-10-20 04:58:22,850.850 INFO    ] 200
[2026-10-20 04:58:22,852.852 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:58:22,910.910 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:58:22,913.913 INFO    ] No update needed
[2026-10-20 04:58:22,915.915 INFO    ] Checking for camera pi updates...
[2026-10-20 04:58:22,948.948 INFO    ] 200
[2026-10-20 04:58:22,951.951 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:58:22,991.991 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:58:23,036.036 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:58:23,038.038 INFO    ] No camera update needed
[2026-10-20 04:58:23,041.041 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:58:23,043.043 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:58:23,048.048 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:58:23,053.053 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:58:25,097.097 INFO    ] ================================================
[2026-10-20 04:58:25,113.113 INFO    ] Launching Daemon at Tue Oct 20 04:58:25 IST 2026
[2026-10-20 04:58:25,124.124 INFO    ] ================================================
[2026-10-20 04:58:25,689.689 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:58:25
[2026-10-20 04:58:26,287.287 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:58:26,592.592 INFO    ] Initializing speech engine...
[2026-10-20 04:58:26,603.603 INFO    ] 2026-10-20 04:58:26
[2026-10-20 04:58:26,880.880 INFO    ] 2026-10-20 04:58:26
[2026-10-20 04:58:26,925.925 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:58:27,273.273 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:58:27,320.320 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:58:27,532.532 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:58:27,568.568 INFO    ] time= 20/10/2026 04:58:27
[2026-10-20 04:58:27,623.623 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:58:27,672.672 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:58:27,849.849 INFO    ] No existing commands found in stream
[2026-10-20 04:58:32,864.864 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:58:32,867.867 INFO    ] Waiting 2.62 seconds before fallback handling...
[2026-10-20 04:58:36,082.082 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:58:36,085.085 INFO    ] Checking for system updates...
[2026-10-20 04:58:36,127.127 INFO    ] 200
[2026-10-20 04:58:36,130.130 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:58:36,191.191 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:58:36,194.194 INFO    ] No update needed
[2026-10-20 04:58:36,197.197 INFO    ] Checking for camera pi updates...
[2026-10-20 04:58:36,236.236 INFO    ] 200
[2026-10-20 04:58:36,239.239 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:58:36,284.284 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:58:36,329.329 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:58:36,332.332 INFO    ] No camera update needed
[2026-10-20 04:58:36,334.334 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:58:36,337.337 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:58:36,343.343 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:58:36,349.349 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:58:38,391.391 INFO    ] ================================================
[2026-10-20 04:58:38,406.406 INFO    ] Launching Daemon at Tue Oct 20 04:58:38 IST 2026
[2026-10-20 04:58:38,417.417 INFO    ] ================================================
[2026-10-20 04:58:38,999.999 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:58:38
[2026-10-20 04:58:39,601.601 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:58:39,862.862 INFO    ] Initializing speech engine...
[2026-10-20 04:58:39,870.870 INFO    ] 2026-10-20 04:58:39
[2026-10-20 04:58:40,169.169 INFO    ] 2026-10-20 04:58:40
[2026-10-20 04:58:40,207.207 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:58:40,436.436 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:58:40,472.472 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:58:40,667.667 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:58:40,732.732 INFO    ] time= 20/10/2026 04:58:40
[2026-10-20 04:58:40,781.781 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:58:40,817.817 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:58:40,963.963 INFO    ] No existing commands found in stream
[2026-10-20 04:58:45,994.994 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:58:45,996.996 INFO    ] Waiting 3.39 seconds before fallback handling...
[2026-10-20 04:58:49,902.902 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:58:49,905.905 INFO    ] Checking for system updates...
[2026-10-20 04:58:49,944.944 INFO    ] 200
[2026-10-20 04:58:49,946.946 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:58:49,998.998 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:58:50,000.000 INFO    ] No update needed
[2026-10-20 04:58:50,003.003 INFO    ] Checking for camera pi updates...
[2026-10-20 04:58:50,040.040 INFO    ] 200
[2026-10-20 04:58:50,043.043 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:58:50,087.087 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:58:50,139.139 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:58:50,142.142 INFO    ] No camera update needed
[2026-10-20 04:58:50,144.144 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:58:50,146.146 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:58:50,151.151 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:58:50,156.156 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:58:52,196.196 INFO    ] ================================================
[2026-10-20 04:58:52,212.212 INFO    ] Launching Daemon at Tue Oct 20 04:58:52 IST 2026
[2026-10-20 04:58:52,223.223 INFO    ] ================================================
[2026-10-20 04:58:52,808.808 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:58:52
[2026-10-20 04:58:53,409.409 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:58:53,689.689 INFO    ] Initializing speech engine...
[2026-10-20 04:58:53,695.695 INFO    ] 2026-10-20 04:58:53
[2026-10-20 04:58:53,956.956 INFO    ] 2026-10-20 04:58:53
[2026-10-20 04:58:54,007.007 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:58:54,294.294 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:58:54,302.302 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:58:54,496.496 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:58:54,503.503 INFO    ] time= 20/10/2026 04:58:54
[2026-10-20 04:58:54,521.521 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:58:54,533.533 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:58:54,659.659 INFO    ] No existing commands found in stream
[2026-10-20 04:58:59,682.682 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:58:59,685.685 INFO    ] Waiting 1.04 seconds before fallback handling...
[2026-10-20 04:59:01,258.258 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:59:01,261.261 INFO    ] Checking for system updates...
[2026-10-20 04:59:01,300.300 INFO    ] 200
[2026-10-20 04:59:01,303.303 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:59:01,362.362 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:59:01,364.364 INFO    ] No update needed
[2026-10-20 04:59:01,367.367 INFO    ] Checking for camera pi updates...
[2026-10-20 04:59:01,404.404 INFO    ] 200
[2026-10-20 04:59:01,406.406 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:59:01,451.451 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:59:01,496.496 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:59:01,499.499 INFO    ] No camera update needed
[2026-10-20 04:59:01,501.501 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:59:01,504.504 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:59:01,509.509 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:59:01,514.514 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:59:03,556.556 INFO    ] ================================================
[2026-10-20 04:59:03,572.572 INFO    ] Launching Daemon at Tue Oct 20 04:59:03 IST 2026
[2026-10-20 04:59:03,584.584 INFO    ] ================================================
[2026-10-20 04:59:04,288.288 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:59:04
[2026-10-20 04:59:04,877.877 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:59:05,139.139 INFO    ] Initializing speech engine...
[2026-10-20 04:59:05,165.165 INFO    ] 2026-10-20 04:59:05
[2026-10-20 04:59:05,437.437 INFO    ] 2026-10-20 04:59:05
[2026-10-20 04:59:05,476.476 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:59:05,765.765 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:59:05,775.775 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:59:05,932.932 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:59:05,987.987 INFO    ] time= 20/10/2026 04:59:05
[2026-10-20 04:59:06,037.037 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:59:06,080.080 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:59:06,215.215 INFO    ] No existing commands found in stream
[2026-10-20 04:59:11,245.245 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:59:11,248.248 INFO    ] Waiting 1.18 seconds before fallback handling...
[2026-10-20 04:59:12,936.936 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:59:12,939.939 INFO    ] Checking for system updates...
[2026-10-20 04:59:12,975.975 INFO    ] 200
[2026-10-20 04:59:12,977.977 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:59:13,036.036 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:59:13,038.038 INFO    ] No update needed
[2026-10-20 04:59:13,041.041 INFO    ] Checking for camera pi updates...
[2026-10-20 04:59:13,074.074 INFO    ] 200
[2026-10-20 04:59:13,076.076 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:59:13,117.117 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:59:13,164.164 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:59:13,167.167 INFO    ] No camera update needed
[2026-10-20 04:59:13,169.169 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:59:13,172.172 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:59:13,177.177 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:59:13,183.183 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:59:15,224.224 INFO    ] ================================================
[2026-10-20 04:59:15,239.239 INFO    ] Launching Daemon at Tue Oct 20 04:59:15 IST 2026
[2026-10-20 04:59:15,250.250 INFO    ] ================================================
[2026-10-20 04:59:15,896.896 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:59:15
[2026-10-20 04:59:16,564.564 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:59:16,873.873 INFO    ] Initializing speech engine...
[2026-10-20 04:59:16,884.884 INFO    ] 2026-10-20 04:59:16
[2026-10-20 04:59:17,165.165 INFO    ] 2026-10-20 04:59:17
[2026-10-20 04:59:17,211.211 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:59:17,504.504 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:59:17,510.510 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:59:17,712.712 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:59:17,731.731 INFO    ] time= 20/10/2026 04:59:17
[2026-10-20 04:59:17,763.763 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:59:17,773.773 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:59:17,890.890 INFO    ] No existing commands found in stream
[2026-10-20 04:59:22,901.901 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:59:22,904.904 INFO    ] Waiting 0.46 seconds before fallback handling...
[2026-10-20 04:59:23,929.929 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 04:59:23,932.932 INFO    ] Checking for system updates...
[2026-10-20 04:59:23,968.968 INFO    ] 200
[2026-10-20 04:59:23,971.971 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:59:24,029.029 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:59:24,032.032 INFO    ] No update needed
[2026-10-20 04:59:24,034.034 INFO    ] Checking for camera pi updates...
[2026-10-20 04:59:24,069.069 INFO    ] 200
[2026-10-20 04:59:24,072.072 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:59:24,117.117 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:59:24,264.264 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:59:24,267.267 INFO    ] No camera update needed
[2026-10-20 04:59:24,270.270 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:59:24,273.273 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:59:24,279.279 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:59:24,284.284 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:59:26,327.327 INFO    ] ================================================
[2026-10-20 04:59:26,342.342 INFO    ] Launching Daemon at Tue Oct 20 04:59:26 IST 2026
[2026-10-20 04:59:26,353.353 INFO    ] ================================================
[2026-10-20 04:59:26,937.937 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:59:26
[2026-10-20 04:59:27,540.540 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:59:27,818.818 INFO    ] Initializing speech engine...
[2026-10-20 04:59:27,823.823 INFO    ] 2026-10-20 04:59:27
[2026-10-20 04:59:28,072.072 INFO    ] 2026-10-20 04:59:28
[2026-10-20 04:59:28,107.107 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:59:28,360.360 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:59:28,369.369 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:59:28,591.591 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:59:28,629.629 INFO    ] time= 20/10/2026 04:59:28
[2026-10-20 04:59:28,635.635 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:59:28,656.656 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:59:28,784.784 INFO    ] No existing commands found in stream
[2026-10-20 04:59:33,797.797 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:59:33,800.800 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-10-20 04:59:36,539.539 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 04:59:36,542.542 INFO    ] Checking for system updates...
[2026-10-20 04:59:36,579.579 INFO    ] 200
[2026-10-20 04:59:36,582.582 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:59:36,640.640 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:59:36,643.643 INFO    ] No update needed
[2026-10-20 04:59:36,646.646 INFO    ] Checking for camera pi updates...
[2026-10-20 04:59:36,683.683 INFO    ] 200
[2026-10-20 04:59:36,686.686 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:59:36,726.726 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:59:36,773.773 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 04:59:36,775.775 INFO    ] No camera update needed
[2026-10-20 04:59:36,778.778 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:59:36,780.780 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:59:36,785.785 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:59:36,790.790 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:59:38,831.831 INFO    ] ================================================
[2026-10-20 04:59:38,845.845 INFO    ] Launching Daemon at Tue Oct 20 04:59:38 IST 2026
[2026-10-20 04:59:38,856.856 INFO    ] ================================================
[2026-10-20 04:59:39,422.422 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:59:39
[2026-10-20 04:59:40,006.006 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:59:40,265.265 INFO    ] Initializing speech engine...
[2026-10-20 04:59:40,283.283 INFO    ] 2026-10-20 04:59:40
[2026-10-20 04:59:40,533.533 INFO    ] 2026-10-20 04:59:40
[2026-10-20 04:59:40,568.568 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:59:40,829.829 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:59:40,833.833 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:59:41,044.044 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:59:41,089.089 INFO    ] time= 20/10/2026 04:59:41
[2026-10-20 04:59:41,101.101 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:59:41,117.117 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:59:41,255.255 INFO    ] No existing commands found in stream
[2026-10-20 04:59:46,282.282 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:59:46,285.285 INFO    ] Waiting 1.20 seconds before fallback handling...
[2026-10-20 04:59:48,285.285 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 04:59:48,288.288 INFO    ] Checking for system updates...
[2026-10-20 04:59:48,325.325 INFO    ] 200
[2026-10-20 04:59:48,327.327 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:59:48,380.380 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:59:48,382.382 INFO    ] No update needed
[2026-10-20 04:59:48,385.385 INFO    ] Checking for camera pi updates...
[2026-10-20 04:59:48,422.422 INFO    ] 200
[2026-10-20 04:59:48,424.424 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 04:59:48,463.463 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 04:59:48,516.516 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 04:59:48,519.519 INFO    ] No camera update needed
[2026-10-20 04:59:48,521.521 INFO    ] Script finished. Safe exiting...
[2026-10-20 04:59:48,523.523 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 04:59:48,529.529 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 04:59:48,534.534 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 04:59:50,572.572 INFO    ] ================================================
[2026-10-20 04:59:50,588.588 INFO    ] Launching Daemon at Tue Oct 20 04:59:50 IST 2026
[2026-10-20 04:59:50,598.598 INFO    ] ================================================
[2026-10-20 04:59:51,247.247 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 04:59:51
[2026-10-20 04:59:51,875.875 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 04:59:52,140.140 INFO    ] Initializing speech engine...
[2026-10-20 04:59:52,152.152 INFO    ] 2026-10-20 04:59:52
[2026-10-20 04:59:52,403.403 INFO    ] 2026-10-20 04:59:52
[2026-10-20 04:59:52,438.438 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 04:59:52,693.693 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 04:59:52,703.703 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 04:59:52,841.841 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 04:59:52,911.911 INFO    ] time= 20/10/2026 04:59:52
[2026-10-20 04:59:52,970.970 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 04:59:52,977.977 INFO    ] Checking for existing commands in stream...
[2026-10-20 04:59:53,109.109 INFO    ] No existing commands found in stream
[2026-10-20 04:59:58,131.131 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 04:59:58,134.134 INFO    ] Waiting 1.92 seconds before fallback handling...
[2026-10-20 05:00:00,596.596 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 05:00:00,599.599 INFO    ] Checking for system updates...
[2026-10-20 05:00:00,634.634 INFO    ] 200
[2026-10-20 05:00:00,636.636 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:00:00,687.687 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:00:00,690.690 INFO    ] No update needed
[2026-10-20 05:00:00,693.693 INFO    ] Checking for camera pi updates...
[2026-10-20 05:00:00,729.729 INFO    ] 200
[2026-10-20 05:00:00,732.732 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:00:00,772.772 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:00:00,823.823 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:00:00,825.825 INFO    ] No camera update needed
[2026-10-20 05:00:00,828.828 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:00:00,830.830 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:00:00,835.835 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:00:00,840.840 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:00:02,942.942 INFO    ] ================================================
[2026-10-20 05:00:03,009.009 INFO    ] Launching Daemon at Tue Oct 20 05:00:02 IST 2026
[2026-10-20 05:00:03,073.073 INFO    ] ================================================
[2026-10-20 05:00:04,921.921 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:00:04
[2026-10-20 05:00:06,011.011 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:00:06,310.310 INFO    ] Initializing speech engine...
[2026-10-20 05:00:06,333.333 INFO    ] 2026-10-20 05:00:06
[2026-10-20 05:00:06,603.603 INFO    ] 2026-10-20 05:00:06
[2026-10-20 05:00:06,663.663 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:00:06,892.892 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:00:06,897.897 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:00:07,130.130 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:00:07,158.158 INFO    ] time= 20/10/2026 05:00:07
[2026-10-20 05:00:07,175.175 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:00:07,200.200 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:00:07,347.347 INFO    ] No existing commands found in stream
[2026-10-20 05:00:12,378.378 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:00:12,381.381 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-10-20 05:00:14,000.000 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:00:14,003.003 INFO    ] Checking for system updates...
[2026-10-20 05:00:14,043.043 INFO    ] 200
[2026-10-20 05:00:14,045.045 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:00:14,097.097 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:00:14,100.100 INFO    ] No update needed
[2026-10-20 05:00:14,103.103 INFO    ] Checking for camera pi updates...
[2026-10-20 05:00:14,137.137 INFO    ] 200
[2026-10-20 05:00:14,140.140 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:00:14,183.183 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:00:14,235.235 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:00:14,238.238 INFO    ] No camera update needed
[2026-10-20 05:00:14,241.241 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:00:14,244.244 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:00:14,249.249 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:00:14,255.255 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:00:16,295.295 INFO    ] ================================================
[2026-10-20 05:00:16,311.311 INFO    ] Launching Daemon at Tue Oct 20 05:00:16 IST 2026
[2026-10-20 05:00:16,322.322 INFO    ] ================================================
[2026-10-20 05:00:16,889.889 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:00:16
[2026-10-20 05:00:17,472.472 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:00:17,740.740 INFO    ] Initializing speech engine...
[2026-10-20 05:00:17,749.749 INFO    ] 2026-10-20 05:00:17
[2026-10-20 05:00:18,000.000 INFO    ] 2026-10-20 05:00:17
[2026-10-20 05:00:18,035.035 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:00:18,284.284 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:00:18,289.289 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:00:18,510.510 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:00:18,544.544 INFO    ] time= 20/10/2026 05:00:18
[2026-10-20 05:00:18,550.550 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:00:18,570.570 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:00:18,694.694 INFO    ] No existing commands found in stream
[2026-10-20 05:00:23,708.708 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:00:23,711.711 INFO    ] Waiting 0.08 seconds before fallback handling...
[2026-10-20 05:00:24,283.283 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:00:24,286.286 INFO    ] Checking for system updates...
[2026-10-20 05:00:24,321.321 INFO    ] 200
[2026-10-20 05:00:24,324.324 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:00:24,381.381 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:00:24,384.384 INFO    ] No update needed
[2026-10-20 05:00:24,386.386 INFO    ] Checking for camera pi updates...
[2026-10-20 05:00:24,427.427 INFO    ] 200
[2026-10-20 05:00:24,429.429 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:00:24,470.470 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:00:24,524.524 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:00:24,527.527 INFO    ] No camera update needed
[2026-10-20 05:00:24,529.529 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:00:24,532.532 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:00:24,537.537 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:00:24,543.543 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:00:26,583.583 INFO    ] ================================================
[2026-10-20 05:00:26,599.599 INFO    ] Launching Daemon at Tue Oct 20 05:00:26 IST 2026
[2026-10-20 05:00:26,610.610 INFO    ] ================================================
[2026-10-20 05:00:27,178.178 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:00:27
[2026-10-20 05:00:27,764.764 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:00:28,030.030 INFO    ] Initializing speech engine...
[2026-10-20 05:00:28,043.043 INFO    ] 2026-10-20 05:00:28
[2026-10-20 05:00:28,293.293 INFO    ] 2026-10-20 05:00:28
[2026-10-20 05:00:28,329.329 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:00:28,530.530 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:00:28,589.589 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:00:28,822.822 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:00:28,862.862 INFO    ] time= 20/10/2026 05:00:28
[2026-10-20 05:00:28,867.867 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:00:28,886.886 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:00:29,016.016 INFO    ] No existing commands found in stream
[2026-10-20 05:00:34,032.032 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:00:34,035.035 INFO    ] Waiting 1.32 seconds before fallback handling...
[2026-10-20 05:00:35,858.858 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:00:35,860.860 INFO    ] Checking for system updates...
[2026-10-20 05:00:35,896.896 INFO    ] 200
[2026-10-20 05:00:35,899.899 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:00:35,951.951 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:00:35,953.953 INFO    ] No update needed
[2026-10-20 05:00:35,956.956 INFO    ] Checking for camera pi updates...
[2026-10-20 05:00:35,989.989 INFO    ] 200
[2026-10-20 05:00:35,992.992 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:00:36,032.032 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:00:36,082.082 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:00:36,084.084 INFO    ] No camera update needed
[2026-10-20 05:00:36,086.086 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:00:36,089.089 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:00:36,095.095 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:00:36,101.101 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:00:38,141.141 INFO    ] ================================================
[2026-10-20 05:00:38,157.157 INFO    ] Launching Daemon at Tue Oct 20 05:00:38 IST 2026
[2026-10-20 05:00:38,168.168 INFO    ] ================================================
[2026-10-20 05:00:38,801.801 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:00:38
[2026-10-20 05:00:39,454.454 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:00:39,740.740 INFO    ] Initializing speech engine...
[2026-10-20 05:00:39,753.753 INFO    ] 2026-10-20 05:00:39
[2026-10-20 05:00:39,999.999 INFO    ] 2026-10-20 05:00:39
[2026-10-20 05:00:40,033.033 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:00:40,312.312 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:00:40,331.331 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:00:40,549.549 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:00:40,555.555 INFO    ] time= 20/10/2026 05:00:40
[2026-10-20 05:00:40,573.573 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:00:40,601.601 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:00:40,721.721 INFO    ] No existing commands found in stream
[2026-10-20 05:00:45,746.746 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:00:45,749.749 INFO    ] Waiting 2.30 seconds before fallback handling...
[2026-10-20 05:00:48,583.583 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 05:00:48,585.585 INFO    ] Checking for system updates...
[2026-10-20 05:00:48,620.620 INFO    ] 200
[2026-10-20 05:00:48,623.623 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:00:48,674.674 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:00:48,676.676 INFO    ] No update needed
[2026-10-20 05:00:48,679.679 INFO    ] Checking for camera pi updates...
[2026-10-20 05:00:48,712.712 INFO    ] 200
[2026-10-20 05:00:48,714.714 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:00:48,759.759 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:00:48,803.803 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:00:48,805.805 INFO    ] No camera update needed
[2026-10-20 05:00:48,807.807 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:00:48,810.810 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:00:48,815.815 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:00:48,820.820 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:00:50,860.860 INFO    ] ================================================
[2026-10-20 05:00:50,875.875 INFO    ] Launching Daemon at Tue Oct 20 05:00:50 IST 2026
[2026-10-20 05:00:50,886.886 INFO    ] ================================================
[2026-10-20 05:00:51,467.467 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:00:51
[2026-10-20 05:00:52,067.067 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:00:52,346.346 INFO    ] Initializing speech engine...
[2026-10-20 05:00:52,354.354 INFO    ] 2026-10-20 05:00:52
[2026-10-20 05:00:52,614.614 INFO    ] 2026-10-20 05:00:52
[2026-10-20 05:00:52,644.644 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:00:52,894.894 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:00:52,900.900 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:00:53,135.135 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:00:53,159.159 INFO    ] time= 20/10/2026 05:00:53
[2026-10-20 05:00:53,165.165 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:00:53,183.183 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:00:53,298.298 INFO    ] No existing commands found in stream
[2026-10-20 05:00:58,323.323 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:00:58,325.325 INFO    ] Waiting 3.85 seconds before fallback handling...
[2026-10-20 05:01:02,679.679 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 05:01:02,682.682 INFO    ] Checking for system updates...
[2026-10-20 05:01:02,737.737 INFO    ] 200
[2026-10-20 05:01:02,741.741 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:01:02,807.807 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:01:02,811.811 INFO    ] No update needed
[2026-10-20 05:01:02,815.815 INFO    ] Checking for camera pi updates...
[2026-10-20 05:01:02,853.853 INFO    ] 200
[2026-10-20 05:01:02,855.855 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:01:02,903.903 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:01:02,948.948 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:01:02,950.950 INFO    ] No camera update needed
[2026-10-20 05:01:02,953.953 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:01:02,955.955 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:01:02,961.961 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:01:02,966.966 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:01:05,006.006 INFO    ] ================================================
[2026-10-20 05:01:05,021.021 INFO    ] Launching Daemon at Tue Oct 20 05:01:05 IST 2026
[2026-10-20 05:01:05,032.032 INFO    ] ================================================
[2026-10-20 05:01:05,603.603 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:01:05
[2026-10-20 05:01:06,194.194 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:01:06,465.465 INFO    ] Initializing speech engine...
[2026-10-20 05:01:06,474.474 INFO    ] 2026-10-20 05:01:06
[2026-10-20 05:01:06,735.735 INFO    ] 2026-10-20 05:01:06
[2026-10-20 05:01:06,764.764 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:01:07,036.036 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:01:07,043.043 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:01:07,255.255 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:01:07,279.279 INFO    ] time= 20/10/2026 05:01:07
[2026-10-20 05:01:07,296.296 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:01:07,305.305 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:01:07,439.439 INFO    ] No existing commands found in stream
[2026-10-20 05:01:12,464.464 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:01:12,467.467 INFO    ] Waiting 3.22 seconds before fallback handling...
[2026-10-20 05:01:16,182.182 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:01:16,184.184 INFO    ] Checking for system updates...
[2026-10-20 05:01:16,221.221 INFO    ] 200
[2026-10-20 05:01:16,223.223 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:01:16,274.274 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:01:16,277.277 INFO    ] No update needed
[2026-10-20 05:01:16,279.279 INFO    ] Checking for camera pi updates...
[2026-10-20 05:01:16,316.316 INFO    ] 200
[2026-10-20 05:01:16,319.319 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:01:16,359.359 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:01:16,417.417 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:01:16,420.420 INFO    ] No camera update needed
[2026-10-20 05:01:16,422.422 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:01:16,425.425 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:01:16,430.430 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:01:16,435.435 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:01:18,474.474 INFO    ] ================================================
[2026-10-20 05:01:18,490.490 INFO    ] Launching Daemon at Tue Oct 20 05:01:18 IST 2026
[2026-10-20 05:01:18,501.501 INFO    ] ================================================
[2026-10-20 05:01:19,066.066 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:01:19
[2026-10-20 05:01:19,651.651 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:01:19,900.900 INFO    ] Initializing speech engine...
[2026-10-20 05:01:19,913.913 INFO    ] 2026-10-20 05:01:19
[2026-10-20 05:01:20,177.177 INFO    ] 2026-10-20 05:01:20
[2026-10-20 05:01:20,212.212 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:01:20,465.465 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:01:20,475.475 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:01:20,683.683 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:01:20,735.735 INFO    ] time= 20/10/2026 05:01:20
[2026-10-20 05:01:20,753.753 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:01:20,761.761 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:01:20,891.891 INFO    ] No existing commands found in stream
[2026-10-20 05:01:25,906.906 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:01:25,909.909 INFO    ] Waiting 1.57 seconds before fallback handling...
[2026-10-20 05:01:28,049.049 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:01:28,052.052 INFO    ] Checking for system updates...
[2026-10-20 05:01:28,089.089 INFO    ] 200
[2026-10-20 05:01:28,092.092 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:01:28,147.147 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:01:28,150.150 INFO    ] No update needed
[2026-10-20 05:01:28,152.152 INFO    ] Checking for camera pi updates...
[2026-10-20 05:01:28,186.186 INFO    ] 200
[2026-10-20 05:01:28,189.189 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:01:28,234.234 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:01:28,380.380 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:01:28,382.382 INFO    ] No camera update needed
[2026-10-20 05:01:28,384.384 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:01:28,387.387 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:01:28,392.392 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:01:28,397.397 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:01:30,439.439 INFO    ] ================================================
[2026-10-20 05:01:30,454.454 INFO    ] Launching Daemon at Tue Oct 20 05:01:30 IST 2026
[2026-10-20 05:01:30,465.465 INFO    ] ================================================
[2026-10-20 05:01:31,124.124 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:01:31
[2026-10-20 05:01:31,787.787 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:01:32,107.107 INFO    ] Initializing speech engine...
[2026-10-20 05:01:32,114.114 INFO    ] 2026-10-20 05:01:32
[2026-10-20 05:01:32,383.383 INFO    ] 2026-10-20 05:01:32
[2026-10-20 05:01:32,439.439 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:01:32,686.686 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:01:32,691.691 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:01:32,851.851 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:01:32,921.921 INFO    ] time= 20/10/2026 05:01:32
[2026-10-20 05:01:32,970.970 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:01:32,976.976 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:01:33,117.117 INFO    ] No existing commands found in stream
[2026-10-20 05:01:38,133.133 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:01:38,136.136 INFO    ] Waiting 3.76 seconds before fallback handling...
[2026-10-20 05:01:42,464.464 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:01:42,467.467 INFO    ] Checking for system updates...
[2026-10-20 05:01:42,502.502 INFO    ] 200
[2026-10-20 05:01:42,504.504 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:01:42,562.562 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:01:42,565.565 INFO    ] No update needed
[2026-10-20 05:01:42,567.567 INFO    ] Checking for camera pi updates...
[2026-10-20 05:01:42,604.604 INFO    ] 200
[2026-10-20 05:01:42,606.606 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:01:42,645.645 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:01:42,692.692 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:01:42,694.694 INFO    ] No camera update needed
[2026-10-20 05:01:42,696.696 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:01:42,699.699 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:01:42,704.704 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:01:42,709.709 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:01:44,750.750 INFO    ] ================================================
[2026-10-20 05:01:44,765.765 INFO    ] Launching Daemon at Tue Oct 20 05:01:44 IST 2026
[2026-10-20 05:01:44,776.776 INFO    ] ================================================
[2026-10-20 05:01:45,388.388 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:01:45
[2026-10-20 05:01:45,977.977 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:01:46,246.246 INFO    ] Initializing speech engine...
[2026-10-20 05:01:46,256.256 INFO    ] 2026-10-20 05:01:46
[2026-10-20 05:01:46,506.506 INFO    ] 2026-10-20 05:01:46
[2026-10-20 05:01:46,541.541 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:01:46,792.792 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:01:46,797.797 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:01:47,036.036 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:01:47,054.054 INFO    ] time= 20/10/2026 05:01:47
[2026-10-20 05:01:47,060.060 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:01:47,080.080 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:01:47,208.208 INFO    ] No existing commands found in stream
[2026-10-20 05:01:52,219.219 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:01:52,222.222 INFO    ] Waiting 1.16 seconds before fallback handling...
[2026-10-20 05:01:53,939.939 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 05:01:53,942.942 INFO    ] Checking for system updates...
[2026-10-20 05:01:53,978.978 INFO    ] 200
[2026-10-20 05:01:53,981.981 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:01:54,034.034 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:01:54,036.036 INFO    ] No update needed
[2026-10-20 05:01:54,039.039 INFO    ] Checking for camera pi updates...
[2026-10-20 05:01:54,072.072 INFO    ] 200
[2026-10-20 05:01:54,074.074 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:01:54,117.117 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:01:54,164.164 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:01:54,167.167 INFO    ] No camera update needed
[2026-10-20 05:01:54,170.170 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:01:54,172.172 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:01:54,179.179 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:01:54,185.185 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:01:56,227.227 INFO    ] ================================================
[2026-10-20 05:01:56,242.242 INFO    ] Launching Daemon at Tue Oct 20 05:01:56 IST 2026
[2026-10-20 05:01:56,253.253 INFO    ] ================================================
[2026-10-20 05:01:56,839.839 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:01:56
[2026-10-20 05:01:57,439.439 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:01:57,716.716 INFO    ] Initializing speech engine...
[2026-10-20 05:01:57,725.725 INFO    ] 2026-10-20 05:01:57
[2026-10-20 05:01:57,974.974 INFO    ] 2026-10-20 05:01:57
[2026-10-20 05:01:58,010.010 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:01:58,269.269 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:01:58,273.273 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:01:58,517.517 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:01:58,534.534 INFO    ] time= 20/10/2026 05:01:58
[2026-10-20 05:01:58,552.552 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:01:58,579.579 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:01:58,772.772 INFO    ] No existing commands found in stream
[2026-10-20 05:02:03,793.793 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:02:03,795.795 INFO    ] Waiting 2.63 seconds before fallback handling...
[2026-10-20 05:02:06,943.943 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:02:06,945.945 INFO    ] Checking for system updates...
[2026-10-20 05:02:06,981.981 INFO    ] 200
[2026-10-20 05:02:06,983.983 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:02:07,035.035 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:02:07,038.038 INFO    ] No update needed
[2026-10-20 05:02:07,040.040 INFO    ] Checking for camera pi updates...
[2026-10-20 05:02:07,079.079 INFO    ] 200
[2026-10-20 05:02:07,081.081 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:02:07,128.128 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:02:07,180.180 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:02:07,182.182 INFO    ] No camera update needed
[2026-10-20 05:02:07,185.185 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:02:07,187.187 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:02:07,193.193 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:02:07,198.198 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:02:09,239.239 INFO    ] ================================================
[2026-10-20 05:02:09,254.254 INFO    ] Launching Daemon at Tue Oct 20 05:02:09 IST 2026
[2026-10-20 05:02:09,265.265 INFO    ] ================================================
[2026-10-20 05:02:09,847.847 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:02:09
[2026-10-20 05:02:10,450.450 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:02:10,724.724 INFO    ] Initializing speech engine...
[2026-10-20 05:02:10,734.734 INFO    ] 2026-10-20 05:02:10
[2026-10-20 05:02:10,990.990 INFO    ] 2026-10-20 05:02:10
[2026-10-20 05:02:11,026.026 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:02:11,296.296 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:02:11,303.303 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:02:11,525.525 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:02:11,540.540 INFO    ] time= 20/10/2026 05:02:11
[2026-10-20 05:02:11,546.546 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:02:11,567.567 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:02:11,706.706 INFO    ] No existing commands found in stream
[2026-10-20 05:02:16,731.731 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:02:16,734.734 INFO    ] Waiting 0.14 seconds before fallback handling...
[2026-10-20 05:02:17,381.381 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 05:02:17,384.384 INFO    ] Checking for system updates...
[2026-10-20 05:02:17,424.424 INFO    ] 200
[2026-10-20 05:02:17,426.426 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:02:17,486.486 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:02:17,488.488 INFO    ] No update needed
[2026-10-20 05:02:17,491.491 INFO    ] Checking for camera pi updates...
[2026-10-20 05:02:17,524.524 INFO    ] 200
[2026-10-20 05:02:17,527.527 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:02:17,568.568 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:02:17,617.617 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:02:17,620.620 INFO    ] No camera update needed
[2026-10-20 05:02:17,622.622 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:02:17,624.624 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:02:17,630.630 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:02:17,635.635 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:02:19,676.676 INFO    ] ================================================
[2026-10-20 05:02:19,692.692 INFO    ] Launching Daemon at Tue Oct 20 05:02:19 IST 2026
[2026-10-20 05:02:19,702.702 INFO    ] ================================================
[2026-10-20 05:02:20,284.284 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:02:20
[2026-10-20 05:02:20,914.914 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:02:21,223.223 INFO    ] Initializing speech engine...
[2026-10-20 05:02:21,237.237 INFO    ] 2026-10-20 05:02:21
[2026-10-20 05:02:21,550.550 INFO    ] 2026-10-20 05:02:21
[2026-10-20 05:02:21,637.637 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:02:21,868.868 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:02:21,919.919 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:02:22,099.099 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:02:22,111.111 INFO    ] time= 20/10/2026 05:02:22
[2026-10-20 05:02:22,165.165 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:02:22,208.208 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:02:22,313.313 INFO    ] No existing commands found in stream
[2026-10-20 05:02:27,331.331 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:02:27,334.334 INFO    ] Waiting 1.34 seconds before fallback handling...
[2026-10-20 05:02:29,231.231 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 05:02:29,235.235 INFO    ] Checking for system updates...
[2026-10-20 05:02:29,272.272 INFO    ] 200
[2026-10-20 05:02:29,274.274 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:02:29,326.326 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:02:29,329.329 INFO    ] No update needed
[2026-10-20 05:02:29,331.331 INFO    ] Checking for camera pi updates...
[2026-10-20 05:02:29,365.365 INFO    ] 200
[2026-10-20 05:02:29,367.367 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:02:29,407.407 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:02:29,453.453 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:02:29,455.455 INFO    ] No camera update needed
[2026-10-20 05:02:29,457.457 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:02:29,460.460 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:02:29,465.465 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:02:29,470.470 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:02:31,510.510 INFO    ] ================================================
[2026-10-20 05:02:31,526.526 INFO    ] Launching Daemon at Tue Oct 20 05:02:31 IST 2026
[2026-10-20 05:02:31,537.537 INFO    ] ================================================
[2026-10-20 05:02:32,139.139 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:02:32
[2026-10-20 05:02:32,770.770 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:02:33,075.075 INFO    ] Initializing speech engine...
[2026-10-20 05:02:33,088.088 INFO    ] 2026-10-20 05:02:33
[2026-10-20 05:02:33,405.405 INFO    ] 2026-10-20 05:02:33
[2026-10-20 05:02:33,491.491 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:02:33,719.719 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:02:33,727.727 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:02:33,919.919 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:02:33,931.931 INFO    ] time= 20/10/2026 05:02:33
[2026-10-20 05:02:33,948.948 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:02:33,971.971 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:02:34,099.099 INFO    ] No existing commands found in stream
[2026-10-20 05:02:39,121.121 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:02:39,124.124 INFO    ] Waiting 3.74 seconds before fallback handling...
[2026-10-20 05:02:43,404.404 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 05:02:43,407.407 INFO    ] Checking for system updates...
[2026-10-20 05:02:43,445.445 INFO    ] 200
[2026-10-20 05:02:43,448.448 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:02:43,501.501 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:02:43,504.504 INFO    ] No update needed
[2026-10-20 05:02:43,507.507 INFO    ] Checking for camera pi updates...
[2026-10-20 05:02:43,540.540 INFO    ] 200
[2026-10-20 05:02:43,543.543 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:02:43,591.591 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:02:43,643.643 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:02:43,645.645 INFO    ] No camera update needed
[2026-10-20 05:02:43,647.647 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:02:43,650.650 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:02:43,655.655 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:02:43,660.660 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:02:45,701.701 INFO    ] ================================================
[2026-10-20 05:02:45,716.716 INFO    ] Launching Daemon at Tue Oct 20 05:02:45 IST 2026
[2026-10-20 05:02:45,727.727 INFO    ] ================================================
[2026-10-20 05:02:46,370.370 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:02:46
[2026-10-20 05:02:47,035.035 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:02:47,344.344 INFO    ] Initializing speech engine...
[2026-10-20 05:02:47,355.355 INFO    ] 2026-10-20 05:02:47
[2026-10-20 05:02:47,636.636 INFO    ] 2026-10-20 05:02:47
[2026-10-20 05:02:47,683.683 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:02:47,976.976 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:02:47,985.985 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:02:48,204.204 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:02:48,231.231 INFO    ] time= 20/10/2026 05:02:48
[2026-10-20 05:02:48,239.239 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:02:48,249.249 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:02:48,365.365 INFO    ] No existing commands found in stream
[2026-10-20 05:02:53,396.396 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:02:53,399.399 INFO    ] Waiting 1.90 seconds before fallback handling...
[2026-10-20 05:02:55,887.887 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 05:02:55,889.889 INFO    ] Checking for system updates...
[2026-10-20 05:02:55,924.924 INFO    ] 200
[2026-10-20 05:02:55,927.927 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:02:55,985.985 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:02:55,988.988 INFO    ] No update needed
[2026-10-20 05:02:55,990.990 INFO    ] Checking for camera pi updates...
[2026-10-20 05:02:56,028.028 INFO    ] 200
[2026-10-20 05:02:56,031.031 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:02:56,073.073 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:02:56,123.123 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:02:56,126.126 INFO    ] No camera update needed
[2026-10-20 05:02:56,129.129 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:02:56,132.132 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:02:56,138.138 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:02:56,144.144 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:02:58,183.183 INFO    ] ================================================
[2026-10-20 05:02:58,198.198 INFO    ] Launching Daemon at Tue Oct 20 05:02:58 IST 2026
[2026-10-20 05:02:58,209.209 INFO    ] ================================================
[2026-10-20 05:02:58,862.862 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:02:58
[2026-10-20 05:02:59,535.535 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:02:59,839.839 INFO    ] Initializing speech engine...
[2026-10-20 05:02:59,854.854 INFO    ] 2026-10-20 05:02:59
[2026-10-20 05:03:00,134.134 INFO    ] 2026-10-20 05:03:00
[2026-10-20 05:03:00,182.182 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:03:00,473.473 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:03:00,480.480 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:03:00,680.680 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:03:00,702.702 INFO    ] time= 20/10/2026 05:03:00
[2026-10-20 05:03:00,732.732 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:03:00,741.741 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:03:00,857.857 INFO    ] No existing commands found in stream
[2026-10-20 05:03:05,882.882 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:03:05,886.886 INFO    ] Waiting 2.52 seconds before fallback handling...
[2026-10-20 05:03:08,950.950 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:03:08,953.953 INFO    ] Checking for system updates...
[2026-10-20 05:03:08,990.990 INFO    ] 200
[2026-10-20 05:03:08,992.992 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:03:09,055.055 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:03:09,057.057 INFO    ] No update needed
[2026-10-20 05:03:09,060.060 INFO    ] Checking for camera pi updates...
[2026-10-20 05:03:09,094.094 INFO    ] 200
[2026-10-20 05:03:09,097.097 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:03:09,137.137 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:03:09,187.187 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:03:09,190.190 INFO    ] No camera update needed
[2026-10-20 05:03:09,192.192 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:03:09,195.195 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:03:09,201.201 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:03:09,206.206 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:03:11,246.246 INFO    ] ================================================
[2026-10-20 05:03:11,262.262 INFO    ] Launching Daemon at Tue Oct 20 05:03:11 IST 2026
[2026-10-20 05:03:11,275.275 INFO    ] ================================================
[2026-10-20 05:03:11,932.932 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:03:11
[2026-10-20 05:03:12,610.610 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:03:12,915.915 INFO    ] Initializing speech engine...
[2026-10-20 05:03:12,928.928 INFO    ] 2026-10-20 05:03:12
[2026-10-20 05:03:13,209.209 INFO    ] 2026-10-20 05:03:13
[2026-10-20 05:03:13,254.254 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:03:13,602.602 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:03:13,639.639 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:03:13,850.850 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:03:13,889.889 INFO    ] time= 20/10/2026 05:03:13
[2026-10-20 05:03:13,942.942 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:03:13,993.993 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:03:14,143.143 INFO    ] No existing commands found in stream
[2026-10-20 05:03:19,161.161 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:03:19,163.163 INFO    ] Waiting 1.72 seconds before fallback handling...
[2026-10-20 05:03:21,407.407 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:03:21,410.410 INFO    ] Checking for system updates...
[2026-10-20 05:03:21,449.449 INFO    ] 200
[2026-10-20 05:03:21,451.451 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:03:21,510.510 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:03:21,513.513 INFO    ] No update needed
[2026-10-20 05:03:21,515.515 INFO    ] Checking for camera pi updates...
[2026-10-20 05:03:21,548.548 INFO    ] 200
[2026-10-20 05:03:21,551.551 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:03:21,595.595 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:03:21,642.642 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:03:21,644.644 INFO    ] No camera update needed
[2026-10-20 05:03:21,646.646 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:03:21,648.648 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:03:21,654.654 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:03:21,659.659 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:03:23,698.698 INFO    ] ================================================
[2026-10-20 05:03:23,713.713 INFO    ] Launching Daemon at Tue Oct 20 05:03:23 IST 2026
[2026-10-20 05:03:23,724.724 INFO    ] ================================================
[2026-10-20 05:03:24,291.291 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:03:24
[2026-10-20 05:03:24,892.892 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:03:25,152.152 INFO    ] Initializing speech engine...
[2026-10-20 05:03:25,157.157 INFO    ] 2026-10-20 05:03:25
[2026-10-20 05:03:25,464.464 INFO    ] 2026-10-20 05:03:25
[2026-10-20 05:03:25,509.509 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:03:25,738.738 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:03:25,799.799 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:03:26,010.010 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:03:26,049.049 INFO    ] time= 20/10/2026 05:03:26
[2026-10-20 05:03:26,109.109 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:03:26,121.121 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:03:26,250.250 INFO    ] No existing commands found in stream
[2026-10-20 05:03:31,268.268 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:03:31,271.271 INFO    ] Waiting 1.02 seconds before fallback handling...
[2026-10-20 05:03:32,867.867 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:03:32,869.869 INFO    ] Checking for system updates...
[2026-10-20 05:03:32,905.905 INFO    ] 200
[2026-10-20 05:03:32,907.907 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:03:32,964.964 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:03:32,966.966 INFO    ] No update needed
[2026-10-20 05:03:32,970.970 INFO    ] Checking for camera pi updates...
[2026-10-20 05:03:33,011.011 INFO    ] 200
[2026-10-20 05:03:33,013.013 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:03:33,053.053 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:03:33,089.089 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:03:33,091.091 INFO    ] No camera update needed
[2026-10-20 05:03:33,094.094 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:03:33,096.096 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:03:33,101.101 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:03:33,106.106 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:03:35,147.147 INFO    ] ================================================
[2026-10-20 05:03:35,163.163 INFO    ] Launching Daemon at Tue Oct 20 05:03:35 IST 2026
[2026-10-20 05:03:35,174.174 INFO    ] ================================================
[2026-10-20 05:03:35,799.799 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:03:35
[2026-10-20 05:03:36,397.397 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:03:36,678.678 INFO    ] Initializing speech engine...
[2026-10-20 05:03:36,698.698 INFO    ] 2026-10-20 05:03:36
[2026-10-20 05:03:36,970.970 INFO    ] 2026-10-20 05:03:36
[2026-10-20 05:03:37,006.006 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:03:37,241.241 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:03:37,269.269 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:03:37,477.477 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:03:37,542.542 INFO    ] time= 20/10/2026 05:03:37
[2026-10-20 05:03:37,601.601 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:03:37,624.624 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:03:37,755.755 INFO    ] No existing commands found in stream
[2026-10-20 05:03:42,771.771 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:03:42,773.773 INFO    ] Waiting 3.48 seconds before fallback handling...
[2026-10-20 05:03:46,806.806 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:03:46,809.809 INFO    ] Checking for system updates...
[2026-10-20 05:03:46,848.848 INFO    ] 200
[2026-10-20 05:03:46,851.851 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:03:46,903.903 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:03:46,905.905 INFO    ] No update needed
[2026-10-20 05:03:46,907.907 INFO    ] Checking for camera pi updates...
[2026-10-20 05:03:46,940.940 INFO    ] 200
[2026-10-20 05:03:46,943.943 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:03:46,984.984 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:03:47,034.034 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:03:47,036.036 INFO    ] No camera update needed
[2026-10-20 05:03:47,039.039 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:03:47,041.041 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:03:47,046.046 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:03:47,052.052 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:03:49,093.093 INFO    ] ================================================
[2026-10-20 05:03:49,109.109 INFO    ] Launching Daemon at Tue Oct 20 05:03:49 IST 2026
[2026-10-20 05:03:49,119.119 INFO    ] ================================================
[2026-10-20 05:03:49,697.697 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:03:49
[2026-10-20 05:03:50,288.288 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:03:50,560.560 INFO    ] Initializing speech engine...
[2026-10-20 05:03:50,571.571 INFO    ] 2026-10-20 05:03:50
[2026-10-20 05:03:50,878.878 INFO    ] 2026-10-20 05:03:50
[2026-10-20 05:03:50,966.966 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:03:51,121.121 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:03:51,142.142 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:03:51,342.342 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:03:51,383.383 INFO    ] time= 20/10/2026 05:03:51
[2026-10-20 05:03:51,389.389 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:03:51,407.407 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:03:51,536.536 INFO    ] No existing commands found in stream
[2026-10-20 05:03:56,553.553 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:03:56,555.555 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-10-20 05:03:59,419.419 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:03:59,422.422 INFO    ] Checking for system updates...
[2026-10-20 05:03:59,461.461 INFO    ] 200
[2026-10-20 05:03:59,463.463 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:03:59,514.514 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:03:59,517.517 INFO    ] No update needed
[2026-10-20 05:03:59,519.519 INFO    ] Checking for camera pi updates...
[2026-10-20 05:03:59,556.556 INFO    ] 200
[2026-10-20 05:03:59,558.558 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:03:59,598.598 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:03:59,647.647 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:03:59,650.650 INFO    ] No camera update needed
[2026-10-20 05:03:59,652.652 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:03:59,655.655 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:03:59,660.660 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:03:59,665.665 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:04:01,709.709 INFO    ] ================================================
[2026-10-20 05:04:01,733.733 INFO    ] Launching Daemon at Tue Oct 20 05:04:01 IST 2026
[2026-10-20 05:04:01,750.750 INFO    ] ================================================
[2026-10-20 05:04:02,372.372 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:04:02
[2026-10-20 05:04:03,063.063 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:04:03,412.412 INFO    ] Initializing speech engine...
[2026-10-20 05:04:03,424.424 INFO    ] 2026-10-20 05:04:03
[2026-10-20 05:04:03,714.714 INFO    ] 2026-10-20 05:04:03
[2026-10-20 05:04:03,761.761 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:04:04,031.031 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:04:04,054.054 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:04:04,253.253 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:04:04,272.272 INFO    ] time= 20/10/2026 05:04:04
[2026-10-20 05:04:04,300.300 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:04:04,312.312 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:04:04,452.452 INFO    ] No existing commands found in stream
[2026-10-20 05:04:09,489.489 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:04:09,492.492 INFO    ] Waiting 2.14 seconds before fallback handling...
[2026-10-20 05:04:12,204.204 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:04:12,207.207 INFO    ] Checking for system updates...
[2026-10-20 05:04:12,245.245 INFO    ] 200
[2026-10-20 05:04:12,247.247 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:04:12,304.304 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:04:12,306.306 INFO    ] No update needed
[2026-10-20 05:04:12,308.308 INFO    ] Checking for camera pi updates...
[2026-10-20 05:04:12,342.342 INFO    ] 200
[2026-10-20 05:04:12,345.345 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:04:12,384.384 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:04:12,436.436 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:04:12,439.439 INFO    ] No camera update needed
[2026-10-20 05:04:12,441.441 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:04:12,444.444 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:04:12,449.449 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:04:12,454.454 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:04:14,493.493 INFO    ] ================================================
[2026-10-20 05:04:14,509.509 INFO    ] Launching Daemon at Tue Oct 20 05:04:14 IST 2026
[2026-10-20 05:04:14,520.520 INFO    ] ================================================
[2026-10-20 05:04:15,120.120 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:04:15
[2026-10-20 05:04:15,728.728 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:04:15,986.986 INFO    ] Initializing speech engine...
[2026-10-20 05:04:16,005.005 INFO    ] 2026-10-20 05:04:15
[2026-10-20 05:04:16,251.251 INFO    ] 2026-10-20 05:04:16
[2026-10-20 05:04:16,286.286 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:04:16,541.541 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:04:16,547.547 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:04:16,769.769 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:04:16,804.804 INFO    ] time= 20/10/2026 05:04:16
[2026-10-20 05:04:16,810.810 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:04:16,830.830 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:04:16,955.955 INFO    ] No existing commands found in stream
[2026-10-20 05:04:21,970.970 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:04:21,973.973 INFO    ] Waiting 1.14 seconds before fallback handling...
[2026-10-20 05:04:23,606.606 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:04:23,609.609 INFO    ] Checking for system updates...
[2026-10-20 05:04:23,644.644 INFO    ] 200
[2026-10-20 05:04:23,647.647 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:04:23,698.698 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:04:23,701.701 INFO    ] No update needed
[2026-10-20 05:04:23,703.703 INFO    ] Checking for camera pi updates...
[2026-10-20 05:04:23,741.741 INFO    ] 200
[2026-10-20 05:04:23,744.744 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:04:23,784.784 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:04:23,832.832 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:04:23,834.834 INFO    ] No camera update needed
[2026-10-20 05:04:23,837.837 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:04:23,839.839 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:04:23,844.844 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:04:23,849.849 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:04:25,890.890 INFO    ] ================================================
[2026-10-20 05:04:25,905.905 INFO    ] Launching Daemon at Tue Oct 20 05:04:25 IST 2026
[2026-10-20 05:04:25,916.916 INFO    ] ================================================
[2026-10-20 05:04:26,586.586 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:04:26
[2026-10-20 05:04:27,276.276 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:04:27,588.588 INFO    ] Initializing speech engine...
[2026-10-20 05:04:27,602.602 INFO    ] 2026-10-20 05:04:27
[2026-10-20 05:04:27,915.915 INFO    ] 2026-10-20 05:04:27
[2026-10-20 05:04:28,000.000 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:04:28,403.403 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:04:28,425.425 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:04:28,651.651 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:04:28,691.691 INFO    ] time= 20/10/2026 05:04:28
[2026-10-20 05:04:28,751.751 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:04:28,811.811 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:04:28,990.990 INFO    ] No existing commands found in stream
[2026-10-20 05:04:34,001.001 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:04:34,004.004 INFO    ] Waiting 2.75 seconds before fallback handling...
[2026-10-20 05:04:37,307.307 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 05:04:37,310.310 INFO    ] Checking for system updates...
[2026-10-20 05:04:37,347.347 INFO    ] 200
[2026-10-20 05:04:37,350.350 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:04:37,403.403 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:04:37,406.406 INFO    ] No update needed
[2026-10-20 05:04:37,409.409 INFO    ] Checking for camera pi updates...
[2026-10-20 05:04:37,443.443 INFO    ] 200
[2026-10-20 05:04:37,446.446 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:04:37,494.494 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:04:37,547.547 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:04:37,550.550 INFO    ] No camera update needed
[2026-10-20 05:04:37,553.553 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:04:37,555.555 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:04:37,562.562 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:04:37,568.568 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:04:39,611.611 INFO    ] ================================================
[2026-10-20 05:04:39,626.626 INFO    ] Launching Daemon at Tue Oct 20 05:04:39 IST 2026
[2026-10-20 05:04:39,637.637 INFO    ] ================================================
[2026-10-20 05:04:40,211.211 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:04:40
[2026-10-20 05:04:40,802.802 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:04:41,060.060 INFO    ] Initializing speech engine...
[2026-10-20 05:04:41,068.068 INFO    ] 2026-10-20 05:04:41
[2026-10-20 05:04:41,367.367 INFO    ] 2026-10-20 05:04:41
[2026-10-20 05:04:41,401.401 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:04:41,608.608 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:04:41,622.622 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:04:41,780.780 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:04:41,796.796 INFO    ] time= 20/10/2026 05:04:41
[2026-10-20 05:04:41,801.801 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:04:41,808.808 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:04:41,896.896 INFO    ] No existing commands found in stream
[2026-10-20 05:04:46,926.926 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:04:46,929.929 INFO    ] Waiting 2.34 seconds before fallback handling...
[2026-10-20 05:04:49,806.806 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:04:49,809.809 INFO    ] Checking for system updates...
[2026-10-20 05:04:49,845.845 INFO    ] 200
[2026-10-20 05:04:49,847.847 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:04:49,900.900 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:04:49,902.902 INFO    ] No update needed
[2026-10-20 05:04:49,905.905 INFO    ] Checking for camera pi updates...
[2026-10-20 05:04:49,939.939 INFO    ] 200
[2026-10-20 05:04:49,941.941 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:04:49,986.986 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:04:50,045.045 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:04:50,047.047 INFO    ] No camera update needed
[2026-10-20 05:04:50,050.050 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:04:50,052.052 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:04:50,057.057 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:04:50,062.062 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:04:52,102.102 INFO    ] ================================================
[2026-10-20 05:04:52,117.117 INFO    ] Launching Daemon at Tue Oct 20 05:04:52 IST 2026
[2026-10-20 05:04:52,129.129 INFO    ] ================================================
[2026-10-20 05:04:52,703.703 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:04:52
[2026-10-20 05:04:53,296.296 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:04:53,559.559 INFO    ] Initializing speech engine...
[2026-10-20 05:04:53,567.567 INFO    ] 2026-10-20 05:04:53
[2026-10-20 05:04:53,867.867 INFO    ] 2026-10-20 05:04:53
[2026-10-20 05:04:53,906.906 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:04:54,160.160 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:04:54,200.200 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:04:54,370.370 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:04:54,392.392 INFO    ] time= 20/10/2026 05:04:54
[2026-10-20 05:04:54,446.446 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:04:54,501.501 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:04:54,652.652 INFO    ] No existing commands found in stream
[2026-10-20 05:04:59,673.673 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:04:59,675.675 INFO    ] Waiting 3.19 seconds before fallback handling...
[2026-10-20 05:05:03,447.447 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:05:03,450.450 INFO    ] Checking for system updates...
[2026-10-20 05:05:03,488.488 INFO    ] 200
[2026-10-20 05:05:03,491.491 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:05:03,549.549 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:05:03,551.551 INFO    ] No update needed
[2026-10-20 05:05:03,553.553 INFO    ] Checking for camera pi updates...
[2026-10-20 05:05:03,586.586 INFO    ] 200
[2026-10-20 05:05:03,589.589 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:05:03,633.633 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:05:03,668.668 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:05:03,672.672 INFO    ] No camera update needed
[2026-10-20 05:05:03,675.675 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:05:03,678.678 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:05:03,684.684 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:05:03,691.691 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:05:05,732.732 INFO    ] ================================================
[2026-10-20 05:05:05,748.748 INFO    ] Launching Daemon at Tue Oct 20 05:05:05 IST 2026
[2026-10-20 05:05:05,759.759 INFO    ] ================================================
[2026-10-20 05:05:06,533.533 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:05:06
[2026-10-20 05:05:07,130.130 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:05:07,407.407 INFO    ] Initializing speech engine...
[2026-10-20 05:05:07,413.413 INFO    ] 2026-10-20 05:05:07
[2026-10-20 05:05:07,670.670 INFO    ] 2026-10-20 05:05:07
[2026-10-20 05:05:07,727.727 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:05:07,955.955 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:05:07,961.961 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:05:08,194.194 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:05:08,220.220 INFO    ] time= 20/10/2026 05:05:08
[2026-10-20 05:05:08,238.238 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:05:08,248.248 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:05:08,371.371 INFO    ] No existing commands found in stream
[2026-10-20 05:05:13,387.387 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:05:13,390.390 INFO    ] Waiting 1.31 seconds before fallback handling...
[2026-10-20 05:05:15,247.247 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 05:05:15,249.249 INFO    ] Checking for system updates...
[2026-10-20 05:05:15,285.285 INFO    ] 200
[2026-10-20 05:05:15,288.288 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:05:15,341.341 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:05:15,343.343 INFO    ] No update needed
[2026-10-20 05:05:15,346.346 INFO    ] Checking for camera pi updates...
[2026-10-20 05:05:15,381.381 INFO    ] 200
[2026-10-20 05:05:15,383.383 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:05:15,429.429 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:05:15,487.487 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:05:15,490.490 INFO    ] No camera update needed
[2026-10-20 05:05:15,493.493 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:05:15,495.495 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:05:15,501.501 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:05:15,506.506 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:05:17,547.547 INFO    ] ================================================
[2026-10-20 05:05:17,563.563 INFO    ] Launching Daemon at Tue Oct 20 05:05:17 IST 2026
[2026-10-20 05:05:17,574.574 INFO    ] ================================================
[2026-10-20 05:05:18,240.240 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:05:18
[2026-10-20 05:05:18,926.926 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:05:19,235.235 INFO    ] Initializing speech engine...
[2026-10-20 05:05:19,250.250 INFO    ] 2026-10-20 05:05:19
[2026-10-20 05:05:19,539.539 INFO    ] 2026-10-20 05:05:19
[2026-10-20 05:05:19,585.585 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:05:19,879.879 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:05:19,888.888 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:05:20,085.085 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:05:20,092.092 INFO    ] time= 20/10/2026 05:05:20
[2026-10-20 05:05:20,113.113 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:05:20,141.141 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:05:20,253.253 INFO    ] No existing commands found in stream
[2026-10-20 05:05:25,282.282 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:05:25,286.286 INFO    ] Waiting 1.85 seconds before fallback handling...
[2026-10-20 05:05:27,692.692 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:05:27,695.695 INFO    ] Checking for system updates...
[2026-10-20 05:05:27,732.732 INFO    ] 200
[2026-10-20 05:05:27,735.735 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:05:27,796.796 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:05:27,799.799 INFO    ] No update needed
[2026-10-20 05:05:27,802.802 INFO    ] Checking for camera pi updates...
[2026-10-20 05:05:27,836.836 INFO    ] 200
[2026-10-20 05:05:27,839.839 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:05:27,880.880 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:05:27,931.931 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:05:27,934.934 INFO    ] No camera update needed
[2026-10-20 05:05:27,936.936 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:05:27,939.939 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:05:27,946.946 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:05:27,952.952 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:05:30,994.994 INFO    ] ================================================
[2026-10-20 05:05:30,010.010 INFO    ] Launching Daemon at Tue Oct 20 05:05:30 IST 2026
[2026-10-20 05:05:30,022.022 INFO    ] ================================================
[2026-10-20 05:05:30,628.628 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:05:30
[2026-10-20 05:05:31,315.315 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:05:31,660.660 INFO    ] Initializing speech engine...
[2026-10-20 05:05:31,671.671 INFO    ] 2026-10-20 05:05:31
[2026-10-20 05:05:31,943.943 INFO    ] 2026-10-20 05:05:31
[2026-10-20 05:05:32,060.060 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:05:32,287.287 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:05:32,331.331 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:05:32,506.506 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:05:32,527.527 INFO    ] time= 20/10/2026 05:05:32
[2026-10-20 05:05:32,558.558 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:05:32,570.570 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:05:32,741.741 INFO    ] No existing commands found in stream
[2026-10-20 05:05:37,773.773 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:05:37,776.776 INFO    ] Waiting 3.83 seconds before fallback handling...
[2026-10-20 05:05:42,217.217 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 05:05:42,220.220 INFO    ] Checking for system updates...
[2026-10-20 05:05:42,256.256 INFO    ] 200
[2026-10-20 05:05:42,259.259 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:05:42,320.320 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:05:42,323.323 INFO    ] No update needed
[2026-10-20 05:05:42,326.326 INFO    ] Checking for camera pi updates...
[2026-10-20 05:05:42,360.360 INFO    ] 200
[2026-10-20 05:05:42,363.363 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:05:42,409.409 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:05:42,552.552 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:05:42,555.555 INFO    ] No camera update needed
[2026-10-20 05:05:42,558.558 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:05:42,561.561 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:05:42,567.567 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:05:42,573.573 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:05:44,614.614 INFO    ] ================================================
[2026-10-20 05:05:44,629.629 INFO    ] Launching Daemon at Tue Oct 20 05:05:44 IST 2026
[2026-10-20 05:05:44,640.640 INFO    ] ================================================
[2026-10-20 05:05:45,291.291 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:05:45
[2026-10-20 05:05:45,959.959 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:05:46,272.272 INFO    ] Initializing speech engine...
[2026-10-20 05:05:46,284.284 INFO    ] 2026-10-20 05:05:46
[2026-10-20 05:05:46,569.569 INFO    ] 2026-10-20 05:05:46
[2026-10-20 05:05:46,681.681 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:05:46,891.891 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:05:46,900.900 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:05:47,096.096 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:05:47,114.114 INFO    ] time= 20/10/2026 05:05:47
[2026-10-20 05:05:47,125.125 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:05:47,153.153 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:05:47,284.284 INFO    ] No existing commands found in stream
[2026-10-20 05:05:52,315.315 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:05:52,318.318 INFO    ] Waiting 2.99 seconds before fallback handling...
[2026-10-20 05:05:55,863.863 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:05:55,866.866 INFO    ] Checking for system updates...
[2026-10-20 05:05:55,903.903 INFO    ] 200
[2026-10-20 05:05:55,906.906 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:05:55,959.959 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:05:55,962.962 INFO    ] No update needed
[2026-10-20 05:05:55,965.965 INFO    ] Checking for camera pi updates...
[2026-10-20 05:05:56,000.000 INFO    ] 200
[2026-10-20 05:05:56,003.003 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:05:56,044.044 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:05:56,099.099 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:05:56,102.102 INFO    ] No camera update needed
[2026-10-20 05:05:56,105.105 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:05:56,108.108 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:05:56,115.115 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:05:56,122.122 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:05:58,163.163 INFO    ] ================================================
[2026-10-20 05:05:58,179.179 INFO    ] Launching Daemon at Tue Oct 20 05:05:58 IST 2026
[2026-10-20 05:05:58,190.190 INFO    ] ================================================
[2026-10-20 05:05:58,758.758 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:05:58
[2026-10-20 05:05:59,342.342 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:05:59,594.594 INFO    ] Initializing speech engine...
[2026-10-20 05:05:59,617.617 INFO    ] 2026-10-20 05:05:59
[2026-10-20 05:05:59,874.874 INFO    ] 2026-10-20 05:05:59
[2026-10-20 05:05:59,907.907 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:06:00,166.166 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:06:00,175.175 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:06:00,423.423 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:06:00,444.444 INFO    ] time= 20/10/2026 05:06:00
[2026-10-20 05:06:00,460.460 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:06:00,468.468 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:06:00,597.597 INFO    ] No existing commands found in stream
[2026-10-20 05:06:05,611.611 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:06:05,614.614 INFO    ] Waiting 0.65 seconds before fallback handling...
[2026-10-20 05:06:06,758.758 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 05:06:06,761.761 INFO    ] Checking for system updates...
[2026-10-20 05:06:06,801.801 INFO    ] 200
[2026-10-20 05:06:06,803.803 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:06:06,856.856 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:06:06,858.858 INFO    ] No update needed
[2026-10-20 05:06:06,861.861 INFO    ] Checking for camera pi updates...
[2026-10-20 05:06:06,894.894 INFO    ] 200
[2026-10-20 05:06:06,897.897 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:06:06,937.937 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:06:06,981.981 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:06:06,983.983 INFO    ] No camera update needed
[2026-10-20 05:06:06,985.985 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:06:06,988.988 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:06:06,993.993 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:06:06,998.998 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:06:09,040.040 INFO    ] ================================================
[2026-10-20 05:06:09,055.055 INFO    ] Launching Daemon at Tue Oct 20 05:06:09 IST 2026
[2026-10-20 05:06:09,066.066 INFO    ] ================================================
[2026-10-20 05:06:09,632.632 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:06:09
[2026-10-20 05:06:10,219.219 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:06:10,470.470 INFO    ] Initializing speech engine...
[2026-10-20 05:06:10,493.493 INFO    ] 2026-10-20 05:06:10
[2026-10-20 05:06:10,749.749 INFO    ] 2026-10-20 05:06:10
[2026-10-20 05:06:10,783.783 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:06:11,043.043 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:06:11,052.052 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:06:11,226.226 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:06:11,281.281 INFO    ] time= 20/10/2026 05:06:11
[2026-10-20 05:06:11,310.310 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:06:11,312.312 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:06:11,387.387 INFO    ] No existing commands found in stream
[2026-10-20 05:06:16,399.399 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:06:16,402.402 INFO    ] Waiting 0.75 seconds before fallback handling...
[2026-10-20 05:06:17,626.626 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:06:17,629.629 INFO    ] Checking for system updates...
[2026-10-20 05:06:17,664.664 INFO    ] 200
[2026-10-20 05:06:17,666.666 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:06:17,718.718 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:06:17,721.721 INFO    ] No update needed
[2026-10-20 05:06:17,724.724 INFO    ] Checking for camera pi updates...
[2026-10-20 05:06:17,758.758 INFO    ] 200
[2026-10-20 05:06:17,761.761 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:06:17,802.802 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:06:17,859.859 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:06:17,862.862 INFO    ] No camera update needed
[2026-10-20 05:06:17,864.864 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:06:17,866.866 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:06:17,872.872 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:06:17,877.877 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:06:19,917.917 INFO    ] ================================================
[2026-10-20 05:06:19,932.932 INFO    ] Launching Daemon at Tue Oct 20 05:06:19 IST 2026
[2026-10-20 05:06:19,943.943 INFO    ] ================================================
[2026-10-20 05:06:20,527.527 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:06:20
[2026-10-20 05:06:21,129.129 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:06:21,386.386 INFO    ] Initializing speech engine...
[2026-10-20 05:06:21,399.399 INFO    ] 2026-10-20 05:06:21
[2026-10-20 05:06:21,665.665 INFO    ] 2026-10-20 05:06:21
[2026-10-20 05:06:21,701.701 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:06:21,954.954 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:06:21,963.963 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:06:22,145.145 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:06:22,199.199 INFO    ] time= 20/10/2026 05:06:22
[2026-10-20 05:06:22,228.228 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:06:22,234.234 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:06:22,381.381 INFO    ] No existing commands found in stream
[2026-10-20 05:06:27,400.400 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:06:27,403.403 INFO    ] Waiting 0.31 seconds before fallback handling...
[2026-10-20 05:06:28,245.245 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:06:28,248.248 INFO    ] Checking for system updates...
[2026-10-20 05:06:28,283.283 INFO    ] 200
[2026-10-20 05:06:28,285.285 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:06:28,336.336 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:06:28,339.339 INFO    ] No update needed
[2026-10-20 05:06:28,341.341 INFO    ] Checking for camera pi updates...
[2026-10-20 05:06:28,374.374 INFO    ] 200
[2026-10-20 05:06:28,377.377 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:06:28,422.422 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:06:28,453.453 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:06:28,456.456 INFO    ] No camera update needed
[2026-10-20 05:06:28,458.458 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:06:28,461.461 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:06:28,466.466 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:06:28,471.471 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:06:30,511.511 INFO    ] ================================================
[2026-10-20 05:06:30,527.527 INFO    ] Launching Daemon at Tue Oct 20 05:06:30 IST 2026
[2026-10-20 05:06:30,538.538 INFO    ] ================================================
[2026-10-20 05:06:31,105.105 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:06:31
[2026-10-20 05:06:31,767.767 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:06:32,062.062 INFO    ] Initializing speech engine...
[2026-10-20 05:06:32,080.080 INFO    ] 2026-10-20 05:06:32
[2026-10-20 05:06:32,374.374 INFO    ] 2026-10-20 05:06:32
[2026-10-20 05:06:32,412.412 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:06:32,663.663 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:06:32,688.688 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:06:32,910.910 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:06:32,917.917 INFO    ] time= 20/10/2026 05:06:32
[2026-10-20 05:06:32,957.957 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:06:33,014.014 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:06:33,199.199 INFO    ] No existing commands found in stream
[2026-10-20 05:06:38,225.225 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:06:38,228.228 INFO    ] Waiting 2.68 seconds before fallback handling...
[2026-10-20 05:06:41,449.449 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:06:41,452.452 INFO    ] Checking for system updates...
[2026-10-20 05:06:41,488.488 INFO    ] 200
[2026-10-20 05:06:41,491.491 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:06:41,544.544 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:06:41,546.546 INFO    ] No update needed
[2026-10-20 05:06:41,549.549 INFO    ] Checking for camera pi updates...
[2026-10-20 05:06:41,582.582 INFO    ] 200
[2026-10-20 05:06:41,585.585 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:06:41,625.625 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:06:41,671.671 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:06:41,674.674 INFO    ] No camera update needed
[2026-10-20 05:06:41,676.676 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:06:41,679.679 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:06:41,684.684 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:06:41,689.689 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:06:43,730.730 INFO    ] ================================================
[2026-10-20 05:06:43,745.745 INFO    ] Launching Daemon at Tue Oct 20 05:06:43 IST 2026
[2026-10-20 05:06:43,757.757 INFO    ] ================================================
[2026-10-20 05:06:44,321.321 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:06:44
[2026-10-20 05:06:44,913.913 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:06:45,162.162 INFO    ] Initializing speech engine...
[2026-10-20 05:06:45,167.167 INFO    ] 2026-10-20 05:06:45
[2026-10-20 05:06:45,442.442 INFO    ] 2026-10-20 05:06:45
[2026-10-20 05:06:45,477.477 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:06:45,737.737 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:06:45,742.742 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:06:45,924.924 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:06:45,984.984 INFO    ] time= 20/10/2026 05:06:45
[2026-10-20 05:06:46,010.010 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:06:46,025.025 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:06:46,161.161 INFO    ] No existing commands found in stream
[2026-10-20 05:06:51,173.173 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:06:51,175.175 INFO    ] Waiting 3.72 seconds before fallback handling...
[2026-10-20 05:06:55,421.421 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:06:55,424.424 INFO    ] Checking for system updates...
[2026-10-20 05:06:55,459.459 INFO    ] 200
[2026-10-20 05:06:55,462.462 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:06:55,521.521 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:06:55,523.523 INFO    ] No update needed
[2026-10-20 05:06:55,526.526 INFO    ] Checking for camera pi updates...
[2026-10-20 05:06:55,563.563 INFO    ] 200
[2026-10-20 05:06:55,565.565 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:06:55,604.604 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:06:55,649.649 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:06:55,651.651 INFO    ] No camera update needed
[2026-10-20 05:06:55,654.654 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:06:55,656.656 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:06:55,661.661 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:06:55,667.667 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:06:57,708.708 INFO    ] ================================================
[2026-10-20 05:06:57,724.724 INFO    ] Launching Daemon at Tue Oct 20 05:06:57 IST 2026
[2026-10-20 05:06:57,735.735 INFO    ] ================================================
[2026-10-20 05:06:58,301.301 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:06:58
[2026-10-20 05:06:58,885.885 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:06:59,133.133 INFO    ] Initializing speech engine...
[2026-10-20 05:06:59,147.147 INFO    ] 2026-10-20 05:06:59
[2026-10-20 05:06:59,412.412 INFO    ] 2026-10-20 05:06:59
[2026-10-20 05:06:59,446.446 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:06:59,704.704 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:06:59,713.713 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:06:59,932.932 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:06:59,978.978 INFO    ] time= 20/10/2026 05:06:59
[2026-10-20 05:06:59,984.984 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:07:00,003.003 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:07:00,150.150 INFO    ] No existing commands found in stream
[2026-10-20 05:07:05,167.167 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:07:05,170.170 INFO    ] Waiting 2.84 seconds before fallback handling...
[2026-10-20 05:07:08,502.502 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 05:07:08,505.505 INFO    ] Checking for system updates...
[2026-10-20 05:07:08,541.541 INFO    ] 200
[2026-10-20 05:07:08,544.544 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:07:08,603.603 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:07:08,606.606 INFO    ] No update needed
[2026-10-20 05:07:08,613.613 INFO    ] Checking for camera pi updates...
[2026-10-20 05:07:08,651.651 INFO    ] 200
[2026-10-20 05:07:08,654.654 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:07:08,699.699 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:07:08,751.751 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:07:08,754.754 INFO    ] No camera update needed
[2026-10-20 05:07:08,757.757 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:07:08,759.759 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:07:08,765.765 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:07:08,771.771 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:07:10,813.813 INFO    ] ================================================
[2026-10-20 05:07:10,829.829 INFO    ] Launching Daemon at Tue Oct 20 05:07:10 IST 2026
[2026-10-20 05:07:10,840.840 INFO    ] ================================================
[2026-10-20 05:07:11,406.406 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:07:11
[2026-10-20 05:07:12,014.014 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:07:12,296.296 INFO    ] Initializing speech engine...
[2026-10-20 05:07:12,301.301 INFO    ] 2026-10-20 05:07:12
[2026-10-20 05:07:12,563.563 INFO    ] 2026-10-20 05:07:12
[2026-10-20 05:07:12,599.599 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:07:12,857.857 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:07:12,867.867 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:07:13,091.091 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:07:13,132.132 INFO    ] time= 20/10/2026 05:07:13
[2026-10-20 05:07:13,138.138 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:07:13,156.156 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:07:13,287.287 INFO    ] No existing commands found in stream
[2026-10-20 05:07:18,301.301 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:07:18,304.304 INFO    ] Waiting 2.58 seconds before fallback handling...
[2026-10-20 05:07:21,462.462 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:07:21,465.465 INFO    ] Checking for system updates...
[2026-10-20 05:07:21,510.510 INFO    ] 200
[2026-10-20 05:07:21,512.512 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:07:21,564.564 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:07:21,567.567 INFO    ] No update needed
[2026-10-20 05:07:21,569.569 INFO    ] Checking for camera pi updates...
[2026-10-20 05:07:21,603.603 INFO    ] 200
[2026-10-20 05:07:21,605.605 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:07:21,653.653 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:07:21,695.695 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:07:21,697.697 INFO    ] No camera update needed
[2026-10-20 05:07:21,700.700 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:07:21,702.702 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:07:21,707.707 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:07:21,712.712 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:07:23,752.752 INFO    ] ================================================
[2026-10-20 05:07:23,768.768 INFO    ] Launching Daemon at Tue Oct 20 05:07:23 IST 2026
[2026-10-20 05:07:23,779.779 INFO    ] ================================================
[2026-10-20 05:07:24,347.347 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:07:24
[2026-10-20 05:07:24,960.960 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:07:25,254.254 INFO    ] Initializing speech engine...
[2026-10-20 05:07:25,264.264 INFO    ] 2026-10-20 05:07:25
[2026-10-20 05:07:25,519.519 INFO    ] 2026-10-20 05:07:25
[2026-10-20 05:07:25,574.574 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:07:25,803.803 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:07:25,810.810 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:07:26,068.068 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:07:26,075.075 INFO    ] time= 20/10/2026 05:07:26
[2026-10-20 05:07:26,094.094 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:07:26,121.121 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:07:26,233.233 INFO    ] No existing commands found in stream
[2026-10-20 05:07:31,257.257 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:07:31,260.260 INFO    ] Waiting 3.58 seconds before fallback handling...
[2026-10-20 05:07:35,393.393 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:07:35,395.395 INFO    ] Checking for system updates...
[2026-10-20 05:07:35,430.430 INFO    ] 200
[2026-10-20 05:07:35,433.433 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:07:35,484.484 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:07:35,487.487 INFO    ] No update needed
[2026-10-20 05:07:35,489.489 INFO    ] Checking for camera pi updates...
[2026-10-20 05:07:35,524.524 INFO    ] 200
[2026-10-20 05:07:35,526.526 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:07:35,566.566 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:07:35,616.616 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:07:35,618.618 INFO    ] No camera update needed
[2026-10-20 05:07:35,621.621 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:07:35,623.623 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:07:35,628.628 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:07:35,633.633 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:07:37,673.673 INFO    ] ================================================
[2026-10-20 05:07:37,689.689 INFO    ] Launching Daemon at Tue Oct 20 05:07:37 IST 2026
[2026-10-20 05:07:37,701.701 INFO    ] ================================================
[2026-10-20 05:07:38,309.309 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:07:38
[2026-10-20 05:07:38,892.892 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:07:39,161.161 INFO    ] Initializing speech engine...
[2026-10-20 05:07:39,170.170 INFO    ] 2026-10-20 05:07:39
[2026-10-20 05:07:39,420.420 INFO    ] 2026-10-20 05:07:39
[2026-10-20 05:07:39,455.455 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:07:39,719.719 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:07:39,731.731 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:07:39,959.959 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:07:40,000.000 INFO    ] time= 20/10/2026 05:07:39
[2026-10-20 05:07:40,006.006 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:07:40,027.027 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:07:40,154.154 INFO    ] No existing commands found in stream
[2026-10-20 05:07:45,169.169 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:07:45,172.172 INFO    ] Waiting 0.85 seconds before fallback handling...
[2026-10-20 05:07:46,546.546 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:07:46,554.554 INFO    ] Checking for system updates...
[2026-10-20 05:07:46,594.594 INFO    ] 200
[2026-10-20 05:07:46,597.597 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:07:46,654.654 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:07:46,656.656 INFO    ] No update needed
[2026-10-20 05:07:46,659.659 INFO    ] Checking for camera pi updates...
[2026-10-20 05:07:46,692.692 INFO    ] 200
[2026-10-20 05:07:46,694.694 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:07:46,740.740 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:07:46,885.885 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:07:46,887.887 INFO    ] No camera update needed
[2026-10-20 05:07:46,889.889 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:07:46,892.892 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:07:46,897.897 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:07:46,902.902 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:07:48,941.941 INFO    ] ================================================
[2026-10-20 05:07:48,957.957 INFO    ] Launching Daemon at Tue Oct 20 05:07:48 IST 2026
[2026-10-20 05:07:48,968.968 INFO    ] ================================================
[2026-10-20 05:07:49,578.578 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:07:49
[2026-10-20 05:07:50,177.177 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:07:50,439.439 INFO    ] Initializing speech engine...
[2026-10-20 05:07:50,448.448 INFO    ] 2026-10-20 05:07:50
[2026-10-20 05:07:50,747.747 INFO    ] 2026-10-20 05:07:50
[2026-10-20 05:07:50,783.783 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:07:51,026.026 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:07:51,028.028 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:07:51,181.181 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:07:51,207.207 INFO    ] time= 20/10/2026 05:07:51
[2026-10-20 05:07:51,249.249 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:07:51,313.313 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:07:51,469.469 INFO    ] No existing commands found in stream
[2026-10-20 05:07:56,491.491 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:07:56,494.494 INFO    ] Waiting 2.59 seconds before fallback handling...
[2026-10-20 05:07:59,651.651 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:07:59,654.654 INFO    ] Checking for system updates...
[2026-10-20 05:07:59,695.695 INFO    ] 200
[2026-10-20 05:07:59,698.698 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:07:59,750.750 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:07:59,752.752 INFO    ] No update needed
[2026-10-20 05:07:59,755.755 INFO    ] Checking for camera pi updates...
[2026-10-20 05:07:59,789.789 INFO    ] 200
[2026-10-20 05:07:59,791.791 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:07:59,843.843 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:07:59,888.888 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:07:59,891.891 INFO    ] No camera update needed
[2026-10-20 05:07:59,893.893 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:07:59,896.896 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:07:59,901.901 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:07:59,906.906 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:08:01,961.961 INFO    ] ================================================
[2026-10-20 05:08:02,993.993 INFO    ] Launching Daemon at Tue Oct 20 05:08:01 IST 2026
[2026-10-20 05:08:02,012.012 INFO    ] ================================================
[2026-10-20 05:08:02,760.760 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:08:02
[2026-10-20 05:08:03,475.475 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:08:03,761.761 INFO    ] Initializing speech engine...
[2026-10-20 05:08:03,784.784 INFO    ] 2026-10-20 05:08:03
[2026-10-20 05:08:04,035.035 INFO    ] 2026-10-20 05:08:04
[2026-10-20 05:08:04,070.070 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:08:04,326.326 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:08:04,332.332 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:08:04,555.555 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:08:04,591.591 INFO    ] time= 20/10/2026 05:08:04
[2026-10-20 05:08:04,606.606 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:08:04,615.615 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:08:04,741.741 INFO    ] No existing commands found in stream
[2026-10-20 05:08:09,754.754 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:08:09,757.757 INFO    ] Waiting 4.00 seconds before fallback handling...
[2026-10-20 05:08:14,331.331 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 05:08:14,334.334 INFO    ] Checking for system updates...
[2026-10-20 05:08:14,369.369 INFO    ] 200
[2026-10-20 05:08:14,372.372 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:08:14,428.428 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:08:14,431.431 INFO    ] No update needed
[2026-10-20 05:08:14,433.433 INFO    ] Checking for camera pi updates...
[2026-10-20 05:08:14,470.470 INFO    ] 200
[2026-10-20 05:08:14,472.472 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:08:14,511.511 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:08:14,557.557 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:08:14,560.560 INFO    ] No camera update needed
[2026-10-20 05:08:14,562.562 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:08:14,564.564 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:08:14,570.570 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:08:14,575.575 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:08:16,614.614 INFO    ] ================================================
[2026-10-20 05:08:16,630.630 INFO    ] Launching Daemon at Tue Oct 20 05:08:16 IST 2026
[2026-10-20 05:08:16,641.641 INFO    ] ================================================
[2026-10-20 05:08:17,276.276 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:08:17
[2026-10-20 05:08:17,928.928 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:08:18,225.225 INFO    ] Initializing speech engine...
[2026-10-20 05:08:18,233.233 INFO    ] 2026-10-20 05:08:18
[2026-10-20 05:08:18,515.515 INFO    ] 2026-10-20 05:08:18
[2026-10-20 05:08:18,558.558 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:08:18,908.908 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:08:18,956.956 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:08:19,190.190 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:08:19,243.243 INFO    ] time= 20/10/2026 05:08:19
[2026-10-20 05:08:19,296.296 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:08:19,330.330 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:08:19,488.488 INFO    ] No existing commands found in stream
[2026-10-20 05:08:24,504.504 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:08:24,507.507 INFO    ] Waiting 0.20 seconds before fallback handling...
[2026-10-20 05:08:25,264.264 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:08:25,267.267 INFO    ] Checking for system updates...
[2026-10-20 05:08:25,304.304 INFO    ] 200
[2026-10-20 05:08:25,306.306 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:08:25,358.358 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:08:25,361.361 INFO    ] No update needed
[2026-10-20 05:08:25,364.364 INFO    ] Checking for camera pi updates...
[2026-10-20 05:08:25,401.401 INFO    ] 200
[2026-10-20 05:08:25,404.404 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:08:25,452.452 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:08:25,498.498 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:08:25,500.500 INFO    ] No camera update needed
[2026-10-20 05:08:25,503.503 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:08:25,505.505 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:08:25,510.510 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:08:25,515.515 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:08:27,555.555 INFO    ] ================================================
[2026-10-20 05:08:27,570.570 INFO    ] Launching Daemon at Tue Oct 20 05:08:27 IST 2026
[2026-10-20 05:08:27,582.582 INFO    ] ================================================
[2026-10-20 05:08:28,150.150 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:08:28
[2026-10-20 05:08:28,735.735 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:08:28,978.978 INFO    ] Initializing speech engine...
[2026-10-20 05:08:28,986.986 INFO    ] 2026-10-20 05:08:28
[2026-10-20 05:08:29,262.262 INFO    ] 2026-10-20 05:08:29
[2026-10-20 05:08:29,296.296 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:08:29,558.558 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:08:29,564.564 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:08:29,782.782 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:08:29,824.824 INFO    ] time= 20/10/2026 05:08:29
[2026-10-20 05:08:29,841.841 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:08:29,849.849 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:08:29,978.978 INFO    ] No existing commands found in stream
[2026-10-20 05:08:35,001.001 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:08:35,004.004 INFO    ] Waiting 0.86 seconds before fallback handling...
[2026-10-20 05:08:36,403.403 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:08:36,406.406 INFO    ] Checking for system updates...
[2026-10-20 05:08:36,442.442 INFO    ] 200
[2026-10-20 05:08:36,445.445 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:08:36,499.499 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:08:36,502.502 INFO    ] No update needed
[2026-10-20 05:08:36,504.504 INFO    ] Checking for camera pi updates...
[2026-10-20 05:08:36,542.542 INFO    ] 200
[2026-10-20 05:08:36,545.545 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:08:36,592.592 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:08:36,638.638 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:08:36,641.641 INFO    ] No camera update needed
[2026-10-20 05:08:36,643.643 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:08:36,646.646 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:08:36,652.652 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:08:36,658.658 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:08:38,697.697 INFO    ] ================================================
[2026-10-20 05:08:38,713.713 INFO    ] Launching Daemon at Tue Oct 20 05:08:38 IST 2026
[2026-10-20 05:08:38,725.725 INFO    ] ================================================
[2026-10-20 05:08:39,293.293 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:08:39
[2026-10-20 05:08:39,878.878 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:08:40,150.150 INFO    ] Initializing speech engine...
[2026-10-20 05:08:40,170.170 INFO    ] 2026-10-20 05:08:40
[2026-10-20 05:08:40,436.436 INFO    ] 2026-10-20 05:08:40
[2026-10-20 05:08:40,470.470 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:08:40,700.700 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:08:40,720.720 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:08:40,926.926 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:08:40,943.943 INFO    ] time= 20/10/2026 05:08:40
[2026-10-20 05:08:41,002.002 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:08:41,046.046 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:08:41,141.141 INFO    ] No existing commands found in stream
[2026-10-20 05:08:46,153.153 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:08:46,155.155 INFO    ] Waiting 0.88 seconds before fallback handling...
[2026-10-20 05:08:47,734.734 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 05:08:47,737.737 INFO    ] Checking for system updates...
[2026-10-20 05:08:47,778.778 INFO    ] 200
[2026-10-20 05:08:47,781.781 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:08:47,833.833 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:08:47,836.836 INFO    ] No update needed
[2026-10-20 05:08:47,839.839 INFO    ] Checking for camera pi updates...
[2026-10-20 05:08:47,877.877 INFO    ] 200
[2026-10-20 05:08:47,880.880 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:08:47,926.926 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:08:47,969.969 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:08:47,972.972 INFO    ] No camera update needed
[2026-10-20 05:08:47,975.975 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:08:47,978.978 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:08:47,984.984 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:08:47,990.990 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:08:50,030.030 INFO    ] ================================================
[2026-10-20 05:08:50,046.046 INFO    ] Launching Daemon at Tue Oct 20 05:08:50 IST 2026
[2026-10-20 05:08:50,057.057 INFO    ] ================================================
[2026-10-20 05:08:50,639.639 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:08:50
[2026-10-20 05:08:51,220.220 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:08:51,466.466 INFO    ] Initializing speech engine...
[2026-10-20 05:08:51,479.479 INFO    ] 2026-10-20 05:08:51
[2026-10-20 05:08:51,741.741 INFO    ] 2026-10-20 05:08:51
[2026-10-20 05:08:51,775.775 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:08:52,026.026 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:08:52,035.035 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:08:52,249.249 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:08:52,290.290 INFO    ] time= 20/10/2026 05:08:52
[2026-10-20 05:08:52,296.296 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:08:52,314.314 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:08:52,444.444 INFO    ] No existing commands found in stream
[2026-10-20 05:08:57,456.456 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:08:57,459.459 INFO    ] Waiting 1.28 seconds before fallback handling...
[2026-10-20 05:08:59,267.267 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:08:59,270.270 INFO    ] Checking for system updates...
[2026-10-20 05:08:59,305.305 INFO    ] 200
[2026-10-20 05:08:59,307.307 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:08:59,358.358 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:08:59,361.361 INFO    ] No update needed
[2026-10-20 05:08:59,363.363 INFO    ] Checking for camera pi updates...
[2026-10-20 05:08:59,396.396 INFO    ] 200
[2026-10-20 05:08:59,398.398 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:08:59,444.444 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:08:59,489.489 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:08:59,492.492 INFO    ] No camera update needed
[2026-10-20 05:08:59,494.494 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:08:59,496.496 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:08:59,501.501 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:08:59,506.506 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:09:01,548.548 INFO    ] ================================================
[2026-10-20 05:09:01,563.563 INFO    ] Launching Daemon at Tue Oct 20 05:09:01 IST 2026
[2026-10-20 05:09:01,574.574 INFO    ] ================================================
[2026-10-20 05:09:02,319.319 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:09:02
[2026-10-20 05:09:03,071.071 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:09:03,422.422 INFO    ] Initializing speech engine...
[2026-10-20 05:09:03,429.429 INFO    ] 2026-10-20 05:09:03
[2026-10-20 05:09:03,705.705 INFO    ] 2026-10-20 05:09:03
[2026-10-20 05:09:03,743.743 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:09:03,992.992 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:09:04,022.022 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:09:04,181.181 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:09:04,235.235 INFO    ] time= 20/10/2026 05:09:04
[2026-10-20 05:09:04,284.284 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:09:04,328.328 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:09:04,472.472 INFO    ] No existing commands found in stream
[2026-10-20 05:09:09,498.498 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:09:09,501.501 INFO    ] Waiting 1.96 seconds before fallback handling...
[2026-10-20 05:09:12,008.008 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 05:09:12,011.011 INFO    ] Checking for system updates...
[2026-10-20 05:09:12,052.052 INFO    ] 200
[2026-10-20 05:09:12,054.054 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:09:12,108.108 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:09:12,111.111 INFO    ] No update needed
[2026-10-20 05:09:12,113.113 INFO    ] Checking for camera pi updates...
[2026-10-20 05:09:12,146.146 INFO    ] 200
[2026-10-20 05:09:12,149.149 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:09:12,189.189 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:09:12,234.234 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:09:12,237.237 INFO    ] No camera update needed
[2026-10-20 05:09:12,239.239 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:09:12,242.242 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:09:12,247.247 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:09:12,252.252 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:09:14,294.294 INFO    ] ================================================
[2026-10-20 05:09:14,309.309 INFO    ] Launching Daemon at Tue Oct 20 05:09:14 IST 2026
[2026-10-20 05:09:14,321.321 INFO    ] ================================================
[2026-10-20 05:09:14,888.888 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:09:14
[2026-10-20 05:09:15,474.474 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:09:15,723.723 INFO    ] Initializing speech engine...
[2026-10-20 05:09:15,737.737 INFO    ] 2026-10-20 05:09:15
[2026-10-20 05:09:16,004.004 INFO    ] 2026-10-20 05:09:15
[2026-10-20 05:09:16,040.040 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:09:16,302.302 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:09:16,306.306 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:09:16,504.504 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:09:16,554.554 INFO    ] time= 20/10/2026 05:09:16
[2026-10-20 05:09:16,575.575 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:09:16,593.593 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:09:16,729.729 INFO    ] No existing commands found in stream
[2026-10-20 05:09:21,742.742 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:09:21,745.745 INFO    ] Waiting 1.31 seconds before fallback handling...
[2026-10-20 05:09:23,692.692 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:09:23,695.695 INFO    ] Checking for system updates...
[2026-10-20 05:09:23,729.729 INFO    ] 200
[2026-10-20 05:09:23,732.732 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:09:23,786.786 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:09:23,789.789 INFO    ] No update needed
[2026-10-20 05:09:23,791.791 INFO    ] Checking for camera pi updates...
[2026-10-20 05:09:23,824.824 INFO    ] 200
[2026-10-20 05:09:23,826.826 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:09:23,870.870 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:09:23,915.915 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:09:23,918.918 INFO    ] No camera update needed
[2026-10-20 05:09:23,920.920 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:09:23,923.923 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:09:23,928.928 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:09:23,933.933 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:09:25,975.975 INFO    ] ================================================
[2026-10-20 05:09:25,991.991 INFO    ] Launching Daemon at Tue Oct 20 05:09:25 IST 2026
[2026-10-20 05:09:26,002.002 INFO    ] ================================================
[2026-10-20 05:09:26,570.570 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:09:26
[2026-10-20 05:09:27,155.155 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:09:27,403.403 INFO    ] Initializing speech engine...
[2026-10-20 05:09:27,418.418 INFO    ] 2026-10-20 05:09:27
[2026-10-20 05:09:27,683.683 INFO    ] 2026-10-20 05:09:27
[2026-10-20 05:09:27,717.717 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:09:27,980.980 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:09:27,986.986 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:09:28,126.126 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:09:28,201.201 INFO    ] time= 20/10/2026 05:09:28
[2026-10-20 05:09:28,251.251 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:09:28,257.257 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:09:28,402.402 INFO    ] No existing commands found in stream
[2026-10-20 05:09:33,417.417 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:09:33,420.420 INFO    ] Waiting 0.20 seconds before fallback handling...
[2026-10-20 05:09:34,103.103 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:09:34,106.106 INFO    ] Checking for system updates...
[2026-10-20 05:09:34,141.141 INFO    ] 200
[2026-10-20 05:09:34,143.143 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:09:34,195.195 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:09:34,198.198 INFO    ] No update needed
[2026-10-20 05:09:34,200.200 INFO    ] Checking for camera pi updates...
[2026-10-20 05:09:34,236.236 INFO    ] 200
[2026-10-20 05:09:34,239.239 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:09:34,283.283 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:09:34,331.331 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:09:34,334.334 INFO    ] No camera update needed
[2026-10-20 05:09:34,336.336 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:09:34,338.338 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:09:34,343.343 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:09:34,348.348 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:09:36,391.391 INFO    ] ================================================
[2026-10-20 05:09:36,407.407 INFO    ] Launching Daemon at Tue Oct 20 05:09:36 IST 2026
[2026-10-20 05:09:36,418.418 INFO    ] ================================================
[2026-10-20 05:09:36,987.987 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:09:36
[2026-10-20 05:09:37,579.579 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:09:37,837.837 INFO    ] Initializing speech engine...
[2026-10-20 05:09:37,851.851 INFO    ] 2026-10-20 05:09:37
[2026-10-20 05:09:38,131.131 INFO    ] 2026-10-20 05:09:38
[2026-10-20 05:09:38,169.169 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:09:38,453.453 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:09:38,462.462 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:09:38,615.615 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:09:38,649.649 INFO    ] time= 20/10/2026 05:09:38
[2026-10-20 05:09:38,683.683 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:09:38,732.732 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:09:38,853.853 INFO    ] No existing commands found in stream
[2026-10-20 05:09:43,879.879 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:09:43,882.882 INFO    ] Waiting 3.00 seconds before fallback handling...
[2026-10-20 05:09:47,409.409 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 05:09:47,411.411 INFO    ] Checking for system updates...
[2026-10-20 05:09:47,446.446 INFO    ] 200
[2026-10-20 05:09:47,449.449 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:09:47,501.501 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:09:47,503.503 INFO    ] No update needed
[2026-10-20 05:09:47,506.506 INFO    ] Checking for camera pi updates...
[2026-10-20 05:09:47,539.539 INFO    ] 200
[2026-10-20 05:09:47,541.541 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:09:47,581.581 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:09:47,625.625 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:09:47,628.628 INFO    ] No camera update needed
[2026-10-20 05:09:47,630.630 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:09:47,632.632 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:09:47,638.638 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:09:47,643.643 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:09:49,684.684 INFO    ] ================================================
[2026-10-20 05:09:49,701.701 INFO    ] Launching Daemon at Tue Oct 20 05:09:49 IST 2026
[2026-10-20 05:09:49,712.712 INFO    ] ================================================
[2026-10-20 05:09:50,336.336 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:09:50
[2026-10-20 05:09:50,994.994 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:09:51,296.296 INFO    ] Initializing speech engine...
[2026-10-20 05:09:51,307.307 INFO    ] 2026-10-20 05:09:51
[2026-10-20 05:09:51,584.584 INFO    ] 2026-10-20 05:09:51
[2026-10-20 05:09:51,628.628 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:09:51,919.919 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:09:51,924.924 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:09:52,122.122 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:09:52,139.139 INFO    ] time= 20/10/2026 05:09:52
[2026-10-20 05:09:52,164.164 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:09:52,177.177 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:09:52,289.289 INFO    ] No existing commands found in stream
[2026-10-20 05:09:57,313.313 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:09:57,317.317 INFO    ] Waiting 1.26 seconds before fallback handling...
[2026-10-20 05:09:59,125.125 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:09:59,128.128 INFO    ] Checking for system updates...
[2026-10-20 05:09:59,164.164 INFO    ] 200
[2026-10-20 05:09:59,167.167 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:09:59,220.220 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:09:59,222.222 INFO    ] No update needed
[2026-10-20 05:09:59,225.225 INFO    ] Checking for camera pi updates...
[2026-10-20 05:09:59,262.262 INFO    ] 200
[2026-10-20 05:09:59,265.265 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:09:59,307.307 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:09:59,450.450 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:09:59,453.453 INFO    ] No camera update needed
[2026-10-20 05:09:59,456.456 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:09:59,458.458 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:09:59,464.464 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:09:59,470.470 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:10:01,510.510 INFO    ] ================================================
[2026-10-20 05:10:01,526.526 INFO    ] Launching Daemon at Tue Oct 20 05:10:01 IST 2026
[2026-10-20 05:10:01,537.537 INFO    ] ================================================
[2026-10-20 05:10:02,311.311 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:10:02
[2026-10-20 05:10:03,325.325 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:10:03,785.785 INFO    ] Initializing speech engine...
[2026-10-20 05:10:03,795.795 INFO    ] 2026-10-20 05:10:03
[2026-10-20 05:10:04,138.138 INFO    ] 2026-10-20 05:10:04
[2026-10-20 05:10:04,213.213 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:10:04,431.431 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:10:04,437.437 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:10:04,674.674 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:10:04,678.678 INFO    ] time= 20/10/2026 05:10:04
[2026-10-20 05:10:04,727.727 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:10:04,742.742 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:10:04,875.875 INFO    ] No existing commands found in stream
[2026-10-20 05:10:09,898.898 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:10:09,901.901 INFO    ] Waiting 2.29 seconds before fallback handling...
[2026-10-20 05:10:12,749.749 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:10:12,752.752 INFO    ] Checking for system updates...
[2026-10-20 05:10:12,791.791 INFO    ] 200
[2026-10-20 05:10:12,793.793 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:10:12,852.852 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:10:12,855.855 INFO    ] No update needed
[2026-10-20 05:10:12,857.857 INFO    ] Checking for camera pi updates...
[2026-10-20 05:10:12,894.894 INFO    ] 200
[2026-10-20 05:10:12,896.896 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:10:12,941.941 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:10:12,990.990 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:10:12,993.993 INFO    ] No camera update needed
[2026-10-20 05:10:12,995.995 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:10:12,997.997 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:10:13,003.003 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:10:13,008.008 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:10:15,049.049 INFO    ] ================================================
[2026-10-20 05:10:15,064.064 INFO    ] Launching Daemon at Tue Oct 20 05:10:15 IST 2026
[2026-10-20 05:10:15,075.075 INFO    ] ================================================
[2026-10-20 05:10:15,652.652 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:10:15
[2026-10-20 05:10:16,246.246 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:10:16,520.520 INFO    ] Initializing speech engine...
[2026-10-20 05:10:16,525.525 INFO    ] 2026-10-20 05:10:16
[2026-10-20 05:10:16,784.784 INFO    ] 2026-10-20 05:10:16
[2026-10-20 05:10:16,813.813 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:10:17,061.061 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:10:17,065.065 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:10:17,303.303 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:10:17,326.326 INFO    ] time= 20/10/2026 05:10:17
[2026-10-20 05:10:17,342.342 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:10:17,352.352 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:10:17,479.479 INFO    ] No existing commands found in stream
[2026-10-20 05:10:22,491.491 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:10:22,493.493 INFO    ] Waiting 1.32 seconds before fallback handling...
[2026-10-20 05:10:24,325.325 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:10:24,328.328 INFO    ] Checking for system updates...
[2026-10-20 05:10:24,363.363 INFO    ] 200
[2026-10-20 05:10:24,365.365 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:10:24,420.420 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:10:24,423.423 INFO    ] No update needed
[2026-10-20 05:10:24,425.425 INFO    ] Checking for camera pi updates...
[2026-10-20 05:10:24,458.458 INFO    ] 200
[2026-10-20 05:10:24,461.461 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:10:24,500.500 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:10:24,548.548 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:10:24,550.550 INFO    ] No camera update needed
[2026-10-20 05:10:24,553.553 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:10:24,555.555 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:10:24,560.560 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:10:24,565.565 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:10:26,604.604 INFO    ] ================================================
[2026-10-20 05:10:26,620.620 INFO    ] Launching Daemon at Tue Oct 20 05:10:26 IST 2026
[2026-10-20 05:10:26,632.632 INFO    ] ================================================
[2026-10-20 05:10:27,214.214 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:10:27
[2026-10-20 05:10:27,812.812 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:10:28,089.089 INFO    ] Initializing speech engine...
[2026-10-20 05:10:28,097.097 INFO    ] 2026-10-20 05:10:28
[2026-10-20 05:10:28,357.357 INFO    ] 2026-10-20 05:10:28
[2026-10-20 05:10:28,413.413 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:10:28,697.697 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:10:28,705.705 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:10:28,895.895 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:10:28,901.901 INFO    ] time= 20/10/2026 05:10:28
[2026-10-20 05:10:28,922.922 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:10:28,948.948 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:10:29,067.067 INFO    ] No existing commands found in stream
[2026-10-20 05:10:34,093.093 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:10:34,095.095 INFO    ] Waiting 1.72 seconds before fallback handling...
[2026-10-20 05:10:36,342.342 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:10:36,345.345 INFO    ] Checking for system updates...
[2026-10-20 05:10:36,385.385 INFO    ] 200
[2026-10-20 05:10:36,388.388 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:10:36,441.441 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:10:36,444.444 INFO    ] No update needed
[2026-10-20 05:10:36,447.447 INFO    ] Checking for camera pi updates...
[2026-10-20 05:10:36,484.484 INFO    ] 200
[2026-10-20 05:10:36,486.486 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:10:36,532.532 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:10:36,583.583 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:10:36,585.585 INFO    ] No camera update needed
[2026-10-20 05:10:36,588.588 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:10:36,590.590 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:10:36,596.596 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:10:36,601.601 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:10:38,640.640 INFO    ] ================================================
[2026-10-20 05:10:38,655.655 INFO    ] Launching Daemon at Tue Oct 20 05:10:38 IST 2026
[2026-10-20 05:10:38,666.666 INFO    ] ================================================
[2026-10-20 05:10:39,327.327 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:10:39
[2026-10-20 05:10:40,010.010 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:10:40,319.319 INFO    ] Initializing speech engine...
[2026-10-20 05:10:40,331.331 INFO    ] 2026-10-20 05:10:40
[2026-10-20 05:10:40,640.640 INFO    ] 2026-10-20 05:10:40
[2026-10-20 05:10:40,722.722 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:10:40,948.948 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:10:41,006.006 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:10:41,190.190 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:10:41,201.201 INFO    ] time= 20/10/2026 05:10:41
[2026-10-20 05:10:41,242.242 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:10:41,295.295 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:10:41,414.414 INFO    ] No existing commands found in stream
[2026-10-20 05:10:46,446.446 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:10:46,449.449 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-10-20 05:10:49,031.031 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:10:49,034.034 INFO    ] Checking for system updates...
[2026-10-20 05:10:49,077.077 INFO    ] 200
[2026-10-20 05:10:49,080.080 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:10:49,146.146 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:10:49,149.149 INFO    ] No update needed
[2026-10-20 05:10:49,152.152 INFO    ] Checking for camera pi updates...
[2026-10-20 05:10:49,192.192 INFO    ] 200
[2026-10-20 05:10:49,195.195 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:10:49,243.243 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:10:49,288.288 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:10:49,291.291 INFO    ] No camera update needed
[2026-10-20 05:10:49,293.293 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:10:49,295.295 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:10:49,301.301 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:10:49,305.305 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:10:51,344.344 INFO    ] ================================================
[2026-10-20 05:10:51,360.360 INFO    ] Launching Daemon at Tue Oct 20 05:10:51 IST 2026
[2026-10-20 05:10:51,370.370 INFO    ] ================================================
[2026-10-20 05:10:52,029.029 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:10:52
[2026-10-20 05:10:52,685.685 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:10:52,963.963 INFO    ] Initializing speech engine...
[2026-10-20 05:10:52,972.972 INFO    ] 2026-10-20 05:10:52
[2026-10-20 05:10:53,234.234 INFO    ] 2026-10-20 05:10:53
[2026-10-20 05:10:53,264.264 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:10:53,537.537 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:10:53,542.542 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:10:53,771.771 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:10:53,778.778 INFO    ] time= 20/10/2026 05:10:53
[2026-10-20 05:10:53,798.798 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:10:53,825.825 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:10:53,930.930 INFO    ] No existing commands found in stream
[2026-10-20 05:10:58,951.951 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:10:58,954.954 INFO    ] Waiting 2.92 seconds before fallback handling...
[2026-10-20 05:11:02,424.424 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:11:02,427.427 INFO    ] Checking for system updates...
[2026-10-20 05:11:02,474.474 INFO    ] 200
[2026-10-20 05:11:02,477.477 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:11:02,536.536 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:11:02,540.540 INFO    ] No update needed
[2026-10-20 05:11:02,543.543 INFO    ] Checking for camera pi updates...
[2026-10-20 05:11:02,595.595 INFO    ] 200
[2026-10-20 05:11:02,598.598 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:11:02,650.650 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:11:02,695.695 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:11:02,699.699 INFO    ] No camera update needed
[2026-10-20 05:11:02,702.702 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:11:02,706.706 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:11:02,714.714 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:11:02,722.722 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:11:04,762.762 INFO    ] ================================================
[2026-10-20 05:11:04,777.777 INFO    ] Launching Daemon at Tue Oct 20 05:11:04 IST 2026
[2026-10-20 05:11:04,787.787 INFO    ] ================================================
[2026-10-20 05:11:05,386.386 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:11:05
[2026-10-20 05:11:05,969.969 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:11:06,264.264 INFO    ] Initializing speech engine...
[2026-10-20 05:11:06,277.277 INFO    ] 2026-10-20 05:11:06
[2026-10-20 05:11:06,584.584 INFO    ] 2026-10-20 05:11:06
[2026-10-20 05:11:06,669.669 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:11:06,888.888 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:11:06,949.949 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:11:07,125.125 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:11:07,137.137 INFO    ] time= 20/10/2026 05:11:07
[2026-10-20 05:11:07,155.155 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:11:07,212.212 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:11:07,342.342 INFO    ] No existing commands found in stream
[2026-10-20 05:11:12,367.367 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:11:12,370.370 INFO    ] Waiting 0.38 seconds before fallback handling...
[2026-10-20 05:11:13,305.305 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 05:11:13,308.308 INFO    ] Checking for system updates...
[2026-10-20 05:11:13,347.347 INFO    ] 200
[2026-10-20 05:11:13,350.350 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:11:13,407.407 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:11:13,410.410 INFO    ] No update needed
[2026-10-20 05:11:13,413.413 INFO    ] Checking for camera pi updates...
[2026-10-20 05:11:13,450.450 INFO    ] 200
[2026-10-20 05:11:13,453.453 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:11:13,497.497 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:11:13,548.548 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:11:13,551.551 INFO    ] No camera update needed
[2026-10-20 05:11:13,553.553 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:11:13,555.555 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:11:13,560.560 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:11:13,565.565 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:11:15,604.604 INFO    ] ================================================
[2026-10-20 05:11:15,619.619 INFO    ] Launching Daemon at Tue Oct 20 05:11:15 IST 2026
[2026-10-20 05:11:15,630.630 INFO    ] ================================================
[2026-10-20 05:11:16,213.213 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:11:16
[2026-10-20 05:11:16,807.807 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:11:17,085.085 INFO    ] Initializing speech engine...
[2026-10-20 05:11:17,091.091 INFO    ] 2026-10-20 05:11:17
[2026-10-20 05:11:17,353.353 INFO    ] 2026-10-20 05:11:17
[2026-10-20 05:11:17,406.406 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:11:17,693.693 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:11:17,700.700 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:11:17,890.890 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:11:17,896.896 INFO    ] time= 20/10/2026 05:11:17
[2026-10-20 05:11:17,915.915 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:11:17,943.943 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:11:18,079.079 INFO    ] No existing commands found in stream
[2026-10-20 05:11:23,109.109 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:11:23,112.112 INFO    ] Waiting 1.36 seconds before fallback handling...
[2026-10-20 05:11:24,970.970 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:11:24,973.973 INFO    ] Checking for system updates...
[2026-10-20 05:11:25,008.008 INFO    ] 200
[2026-10-20 05:11:25,011.011 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:11:25,064.064 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:11:25,066.066 INFO    ] No update needed
[2026-10-20 05:11:25,068.068 INFO    ] Checking for camera pi updates...
[2026-10-20 05:11:25,107.107 INFO    ] 200
[2026-10-20 05:11:25,109.109 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:11:25,152.152 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:11:25,200.200 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:11:25,203.203 INFO    ] No camera update needed
[2026-10-20 05:11:25,205.205 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:11:25,207.207 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:11:25,213.213 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:11:25,218.218 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:11:27,257.257 INFO    ] ================================================
[2026-10-20 05:11:27,272.272 INFO    ] Launching Daemon at Tue Oct 20 05:11:27 IST 2026
[2026-10-20 05:11:27,283.283 INFO    ] ================================================
[2026-10-20 05:11:27,858.858 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:11:27
[2026-10-20 05:11:28,441.441 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:11:28,686.686 INFO    ] Initializing speech engine...
[2026-10-20 05:11:28,700.700 INFO    ] 2026-10-20 05:11:28
[2026-10-20 05:11:28,962.962 INFO    ] 2026-10-20 05:11:28
[2026-10-20 05:11:28,996.996 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:11:29,305.305 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:11:29,317.317 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:11:29,515.515 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:11:29,530.530 INFO    ] time= 20/10/2026 05:11:29
[2026-10-20 05:11:29,537.537 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:11:29,565.565 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:11:29,685.685 INFO    ] No existing commands found in stream
[2026-10-20 05:11:34,710.710 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:11:34,713.713 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-10-20 05:11:38,661.661 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:11:38,663.663 INFO    ] Checking for system updates...
[2026-10-20 05:11:38,698.698 INFO    ] 200
[2026-10-20 05:11:38,701.701 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:11:38,757.757 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:11:38,760.760 INFO    ] No update needed
[2026-10-20 05:11:38,762.762 INFO    ] Checking for camera pi updates...
[2026-10-20 05:11:38,794.794 INFO    ] 200
[2026-10-20 05:11:38,797.797 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:11:38,836.836 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:11:38,886.886 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:11:38,889.889 INFO    ] No camera update needed
[2026-10-20 05:11:38,891.891 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:11:38,893.893 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:11:38,899.899 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:11:38,903.903 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:11:40,944.944 INFO    ] ================================================
[2026-10-20 05:11:40,960.960 INFO    ] Launching Daemon at Tue Oct 20 05:11:40 IST 2026
[2026-10-20 05:11:40,971.971 INFO    ] ================================================
[2026-10-20 05:11:41,606.606 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:11:41
[2026-10-20 05:11:42,259.259 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:11:42,554.554 INFO    ] Initializing speech engine...
[2026-10-20 05:11:42,563.563 INFO    ] 2026-10-20 05:11:42
[2026-10-20 05:11:42,825.825 INFO    ] 2026-10-20 05:11:42
[2026-10-20 05:11:42,860.860 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:11:43,136.136 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:11:43,141.141 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:11:43,374.374 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:11:43,381.381 INFO    ] time= 20/10/2026 05:11:43
[2026-10-20 05:11:43,400.400 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:11:43,429.429 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:11:43,555.555 INFO    ] No existing commands found in stream
[2026-10-20 05:11:48,586.586 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:11:48,590.590 INFO    ] Waiting 1.56 seconds before fallback handling...
[2026-10-20 05:11:50,699.699 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:11:50,702.702 INFO    ] Checking for system updates...
[2026-10-20 05:11:50,741.741 INFO    ] 200
[2026-10-20 05:11:50,743.743 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:11:50,795.795 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:11:50,797.797 INFO    ] No update needed
[2026-10-20 05:11:50,800.800 INFO    ] Checking for camera pi updates...
[2026-10-20 05:11:50,836.836 INFO    ] 200
[2026-10-20 05:11:50,839.839 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:11:50,880.880 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:11:50,929.929 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:11:50,931.931 INFO    ] No camera update needed
[2026-10-20 05:11:50,933.933 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:11:50,936.936 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:11:50,942.942 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:11:50,948.948 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:11:52,987.987 INFO    ] ================================================
[2026-10-20 05:11:53,002.002 INFO    ] Launching Daemon at Tue Oct 20 05:11:52 IST 2026
[2026-10-20 05:11:53,013.013 INFO    ] ================================================
[2026-10-20 05:11:53,636.636 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:11:53
[2026-10-20 05:11:54,278.278 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:11:54,572.572 INFO    ] Initializing speech engine...
[2026-10-20 05:11:54,584.584 INFO    ] 2026-10-20 05:11:54
[2026-10-20 05:11:54,858.858 INFO    ] 2026-10-20 05:11:54
[2026-10-20 05:11:54,901.901 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:11:55,187.187 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:11:55,195.195 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:11:55,406.406 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:11:55,434.434 INFO    ] time= 20/10/2026 05:11:55
[2026-10-20 05:11:55,442.442 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:11:55,450.450 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:11:55,590.590 INFO    ] No existing commands found in stream
[2026-10-20 05:12:00,626.626 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:12:00,629.629 INFO    ] Waiting 1.55 seconds before fallback handling...
[2026-10-20 05:12:02,744.744 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 05:12:02,747.747 INFO    ] Checking for system updates...
[2026-10-20 05:12:02,792.792 INFO    ] 200
[2026-10-20 05:12:02,795.795 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:12:02,897.897 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:12:02,900.900 INFO    ] No update needed
[2026-10-20 05:12:02,903.903 INFO    ] Checking for camera pi updates...
[2026-10-20 05:12:02,954.954 INFO    ] 200
[2026-10-20 05:12:02,958.958 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:12:03,013.013 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:12:03,047.047 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:12:03,050.050 INFO    ] No camera update needed
[2026-10-20 05:12:03,054.054 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:12:03,057.057 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:12:03,065.065 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:12:03,074.074 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:12:05,117.117 INFO    ] ================================================
[2026-10-20 05:12:05,131.131 INFO    ] Launching Daemon at Tue Oct 20 05:12:05 IST 2026
[2026-10-20 05:12:05,142.142 INFO    ] ================================================
[2026-10-20 05:12:05,723.723 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:12:05
[2026-10-20 05:12:06,322.322 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:12:06,581.581 INFO    ] Initializing speech engine...
[2026-10-20 05:12:06,590.590 INFO    ] 2026-10-20 05:12:06
[2026-10-20 05:12:06,883.883 INFO    ] 2026-10-20 05:12:06
[2026-10-20 05:12:06,919.919 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:12:07,138.138 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:12:07,161.161 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:12:07,363.363 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:12:07,406.406 INFO    ] time= 20/10/2026 05:12:07
[2026-10-20 05:12:07,460.460 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:12:07,513.513 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:12:07,651.651 INFO    ] No existing commands found in stream
[2026-10-20 05:12:12,682.682 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:12:12,684.684 INFO    ] Waiting 3.65 seconds before fallback handling...
[2026-10-20 05:12:16,860.860 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:12:16,862.862 INFO    ] Checking for system updates...
[2026-10-20 05:12:16,901.901 INFO    ] 200
[2026-10-20 05:12:16,904.904 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:12:16,961.961 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:12:16,963.963 INFO    ] No update needed
[2026-10-20 05:12:16,966.966 INFO    ] Checking for camera pi updates...
[2026-10-20 05:12:16,999.999 INFO    ] 200
[2026-10-20 05:12:17,002.002 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:12:17,042.042 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:12:17,088.088 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:12:17,090.090 INFO    ] No camera update needed
[2026-10-20 05:12:17,093.093 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:12:17,095.095 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:12:17,101.101 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:12:17,106.106 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:12:19,145.145 INFO    ] ================================================
[2026-10-20 05:12:19,160.160 INFO    ] Launching Daemon at Tue Oct 20 05:12:19 IST 2026
[2026-10-20 05:12:19,170.170 INFO    ] ================================================
[2026-10-20 05:12:19,803.803 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:12:19
[2026-10-20 05:12:20,425.425 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:12:20,705.705 INFO    ] Initializing speech engine...
[2026-10-20 05:12:20,714.714 INFO    ] 2026-10-20 05:12:20
[2026-10-20 05:12:20,977.977 INFO    ] 2026-10-20 05:12:20
[2026-10-20 05:12:21,011.011 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:12:21,228.228 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:12:21,238.238 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:12:21,452.452 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:12:21,459.459 INFO    ] time= 20/10/2026 05:12:21
[2026-10-20 05:12:21,513.513 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:12:21,562.562 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:12:21,723.723 INFO    ] No existing commands found in stream
[2026-10-20 05:12:26,746.746 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:12:26,749.749 INFO    ] Waiting 1.70 seconds before fallback handling...
[2026-10-20 05:12:28,966.966 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:12:28,969.969 INFO    ] Checking for system updates...
[2026-10-20 05:12:29,005.005 INFO    ] 200
[2026-10-20 05:12:29,007.007 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:12:29,071.071 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:12:29,073.073 INFO    ] No update needed
[2026-10-20 05:12:29,075.075 INFO    ] Checking for camera pi updates...
[2026-10-20 05:12:29,108.108 INFO    ] 200
[2026-10-20 05:12:29,111.111 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:12:29,158.158 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:12:29,210.210 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:12:29,213.213 INFO    ] No camera update needed
[2026-10-20 05:12:29,215.215 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:12:29,217.217 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:12:29,223.223 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:12:29,228.228 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:12:31,267.267 INFO    ] ================================================
[2026-10-20 05:12:31,282.282 INFO    ] Launching Daemon at Tue Oct 20 05:12:31 IST 2026
[2026-10-20 05:12:31,293.293 INFO    ] ================================================
[2026-10-20 05:12:31,948.948 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:12:31
[2026-10-20 05:12:32,567.567 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:12:32,841.841 INFO    ] Initializing speech engine...
[2026-10-20 05:12:32,846.846 INFO    ] 2026-10-20 05:12:32
[2026-10-20 05:12:33,159.159 INFO    ] 2026-10-20 05:12:33
[2026-10-20 05:12:33,193.193 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:12:33,419.419 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:12:33,426.426 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:12:33,644.644 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:12:33,666.666 INFO    ] time= 20/10/2026 05:12:33
[2026-10-20 05:12:33,715.715 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:12:33,759.759 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:12:33,858.858 INFO    ] No existing commands found in stream
[2026-10-20 05:12:38,865.865 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:12:38,868.868 INFO    ] Waiting 0.38 seconds before fallback handling...
[2026-10-20 05:12:39,830.830 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 05:12:39,832.832 INFO    ] Checking for system updates...
[2026-10-20 05:12:39,875.875 INFO    ] 200
[2026-10-20 05:12:39,878.878 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:12:39,930.930 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:12:39,933.933 INFO    ] No update needed
[2026-10-20 05:12:39,936.936 INFO    ] Checking for camera pi updates...
[2026-10-20 05:12:39,972.972 INFO    ] 200
[2026-10-20 05:12:39,975.975 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:12:40,019.019 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:12:40,066.066 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:12:40,068.068 INFO    ] No camera update needed
[2026-10-20 05:12:40,071.071 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:12:40,073.073 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:12:40,079.079 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:12:40,084.084 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:12:42,124.124 INFO    ] ================================================
[2026-10-20 05:12:42,139.139 INFO    ] Launching Daemon at Tue Oct 20 05:12:42 IST 2026
[2026-10-20 05:12:42,150.150 INFO    ] ================================================
[2026-10-20 05:12:42,790.790 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:12:42
[2026-10-20 05:12:43,375.375 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:12:43,628.628 INFO    ] Initializing speech engine...
[2026-10-20 05:12:43,636.636 INFO    ] 2026-10-20 05:12:43
[2026-10-20 05:12:43,909.909 INFO    ] 2026-10-20 05:12:43
[2026-10-20 05:12:43,942.942 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:12:44,201.201 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:12:44,210.210 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:12:44,447.447 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:12:44,472.472 INFO    ] time= 20/10/2026 05:12:44
[2026-10-20 05:12:44,479.479 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:12:44,497.497 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:12:44,614.614 INFO    ] No existing commands found in stream
[2026-10-20 05:12:49,639.639 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:12:49,642.642 INFO    ] Waiting 0.08 seconds before fallback handling...
[2026-10-20 05:12:50,219.219 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:12:50,222.222 INFO    ] Checking for system updates...
[2026-10-20 05:12:50,257.257 INFO    ] 200
[2026-10-20 05:12:50,260.260 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:12:50,320.320 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:12:50,323.323 INFO    ] No update needed
[2026-10-20 05:12:50,326.326 INFO    ] Checking for camera pi updates...
[2026-10-20 05:12:50,363.363 INFO    ] 200
[2026-10-20 05:12:50,366.366 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:12:50,406.406 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:12:50,453.453 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:12:50,456.456 INFO    ] No camera update needed
[2026-10-20 05:12:50,459.459 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:12:50,461.461 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:12:50,467.467 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:12:50,473.473 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:12:52,513.513 INFO    ] ================================================
[2026-10-20 05:12:52,527.527 INFO    ] Launching Daemon at Tue Oct 20 05:12:52 IST 2026
[2026-10-20 05:12:52,538.538 INFO    ] ================================================
[2026-10-20 05:12:53,109.109 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:12:53
[2026-10-20 05:12:53,698.698 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:12:53,969.969 INFO    ] Initializing speech engine...
[2026-10-20 05:12:53,978.978 INFO    ] 2026-10-20 05:12:53
[2026-10-20 05:12:54,227.227 INFO    ] 2026-10-20 05:12:54
[2026-10-20 05:12:54,262.262 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:12:54,524.524 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:12:54,529.529 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:12:54,752.752 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:12:54,793.793 INFO    ] time= 20/10/2026 05:12:54
[2026-10-20 05:12:54,799.799 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:12:54,816.816 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:12:54,939.939 INFO    ] No existing commands found in stream
[2026-10-20 05:12:59,961.961 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:12:59,964.964 INFO    ] Waiting 1.64 seconds before fallback handling...
[2026-10-20 05:13:02,201.201 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 05:13:02,204.204 INFO    ] Checking for system updates...
[2026-10-20 05:13:02,254.254 INFO    ] 200
[2026-10-20 05:13:02,259.259 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:13:02,329.329 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:13:02,332.332 INFO    ] No update needed
[2026-10-20 05:13:02,337.337 INFO    ] Checking for camera pi updates...
[2026-10-20 05:13:02,384.384 INFO    ] 200
[2026-10-20 05:13:02,387.387 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:13:02,434.434 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:13:02,470.470 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:13:02,473.473 INFO    ] No camera update needed
[2026-10-20 05:13:02,476.476 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:13:02,479.479 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:13:02,486.486 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:13:02,492.492 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:13:04,536.536 INFO    ] ================================================
[2026-10-20 05:13:04,551.551 INFO    ] Launching Daemon at Tue Oct 20 05:13:04 IST 2026
[2026-10-20 05:13:04,562.562 INFO    ] ================================================
[2026-10-20 05:13:05,234.234 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:13:05
[2026-10-20 05:13:05,928.928 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:13:06,238.238 INFO    ] Initializing speech engine...
[2026-10-20 05:13:06,254.254 INFO    ] 2026-10-20 05:13:06
[2026-10-20 05:13:06,566.566 INFO    ] 2026-10-20 05:13:06
[2026-10-20 05:13:06,654.654 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:13:06,933.933 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:13:06,975.975 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:13:07,216.216 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:13:07,251.251 INFO    ] time= 20/10/2026 05:13:07
[2026-10-20 05:13:07,301.301 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:13:07,328.328 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:13:07,486.486 INFO    ] No existing commands found in stream
[2026-10-20 05:13:12,524.524 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:13:12,527.527 INFO    ] Waiting 3.33 seconds before fallback handling...
[2026-10-20 05:13:16,396.396 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 05:13:16,399.399 INFO    ] Checking for system updates...
[2026-10-20 05:13:16,441.441 INFO    ] 200
[2026-10-20 05:13:16,444.444 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:13:16,511.511 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:13:16,514.514 INFO    ] No update needed
[2026-10-20 05:13:16,517.517 INFO    ] Checking for camera pi updates...
[2026-10-20 05:13:16,559.559 INFO    ] 200
[2026-10-20 05:13:16,562.562 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:13:16,610.610 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:13:16,656.656 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:13:16,659.659 INFO    ] No camera update needed
[2026-10-20 05:13:16,662.662 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:13:16,665.665 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:13:16,672.672 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:13:16,678.678 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:13:18,720.720 INFO    ] ================================================
[2026-10-20 05:13:18,735.735 INFO    ] Launching Daemon at Tue Oct 20 05:13:18 IST 2026
[2026-10-20 05:13:18,746.746 INFO    ] ================================================
[2026-10-20 05:13:19,422.422 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:13:19
[2026-10-20 05:13:20,120.120 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:13:20,433.433 INFO    ] Initializing speech engine...
[2026-10-20 05:13:20,447.447 INFO    ] 2026-10-20 05:13:20
[2026-10-20 05:13:20,764.764 INFO    ] 2026-10-20 05:13:20
[2026-10-20 05:13:20,849.849 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:13:21,064.064 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:13:21,074.074 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:13:21,272.272 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:13:21,295.295 INFO    ] time= 20/10/2026 05:13:21
[2026-10-20 05:13:21,323.323 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:13:21,333.333 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:13:21,467.467 INFO    ] No existing commands found in stream
[2026-10-20 05:13:26,498.498 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:13:26,502.502 INFO    ] Waiting 2.77 seconds before fallback handling...
[2026-10-20 05:13:29,943.943 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 05:13:29,946.946 INFO    ] Checking for system updates...
[2026-10-20 05:13:29,983.983 INFO    ] 200
[2026-10-20 05:13:29,986.986 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:13:30,039.039 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:13:30,042.042 INFO    ] No update needed
[2026-10-20 05:13:30,045.045 INFO    ] Checking for camera pi updates...
[2026-10-20 05:13:30,079.079 INFO    ] 200
[2026-10-20 05:13:30,082.082 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:13:30,124.124 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:13:30,171.171 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:13:30,174.174 INFO    ] No camera update needed
[2026-10-20 05:13:30,177.177 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:13:30,180.180 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:13:30,186.186 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:13:30,192.192 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:13:32,235.235 INFO    ] ================================================
[2026-10-20 05:13:32,253.253 INFO    ] Launching Daemon at Tue Oct 20 05:13:32 IST 2026
[2026-10-20 05:13:32,265.265 INFO    ] ================================================
[2026-10-20 05:13:32,979.979 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:13:32
[2026-10-20 05:13:33,672.672 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:13:33,993.993 INFO    ] Initializing speech engine...
[2026-10-20 05:13:34,000.000 INFO    ] 2026-10-20 05:13:33
[2026-10-20 05:13:34,316.316 INFO    ] 2026-10-20 05:13:34
[2026-10-20 05:13:34,405.405 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:13:34,692.692 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:13:34,757.757 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:13:34,997.997 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:13:35,042.042 INFO    ] time= 20/10/2026 05:13:35
[2026-10-20 05:13:35,089.089 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:13:35,124.124 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:13:35,289.289 INFO    ] No existing commands found in stream
[2026-10-20 05:13:40,305.305 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:13:40,309.309 INFO    ] Waiting 0.86 seconds before fallback handling...
[2026-10-20 05:13:41,745.745 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:13:41,748.748 INFO    ] Checking for system updates...
[2026-10-20 05:13:41,785.785 INFO    ] 200
[2026-10-20 05:13:41,788.788 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:13:41,850.850 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:13:41,853.853 INFO    ] No update needed
[2026-10-20 05:13:41,856.856 INFO    ] Checking for camera pi updates...
[2026-10-20 05:13:41,890.890 INFO    ] 200
[2026-10-20 05:13:41,893.893 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:13:41,940.940 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:13:41,990.990 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:13:41,993.993 INFO    ] No camera update needed
[2026-10-20 05:13:41,996.996 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:13:41,999.999 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:13:42,005.005 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:13:42,011.011 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:13:44,051.051 INFO    ] ================================================
[2026-10-20 05:13:44,066.066 INFO    ] Launching Daemon at Tue Oct 20 05:13:44 IST 2026
[2026-10-20 05:13:44,077.077 INFO    ] ================================================
[2026-10-20 05:13:44,744.744 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:13:44
[2026-10-20 05:13:45,434.434 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:13:45,747.747 INFO    ] Initializing speech engine...
[2026-10-20 05:13:45,754.754 INFO    ] 2026-10-20 05:13:45
[2026-10-20 05:13:46,078.078 INFO    ] 2026-10-20 05:13:46
[2026-10-20 05:13:46,167.167 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:13:46,387.387 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:13:46,396.396 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:13:46,592.592 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:13:46,611.611 INFO    ] time= 20/10/2026 05:13:46
[2026-10-20 05:13:46,642.642 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:13:46,650.650 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:13:46,796.796 INFO    ] No existing commands found in stream
[2026-10-20 05:13:51,832.832 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:13:51,836.836 INFO    ] Waiting 3.09 seconds before fallback handling...
[2026-10-20 05:13:55,512.512 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:13:55,515.515 INFO    ] Checking for system updates...
[2026-10-20 05:13:55,556.556 INFO    ] 200
[2026-10-20 05:13:55,559.559 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:13:55,621.621 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:13:55,623.623 INFO    ] No update needed
[2026-10-20 05:13:55,626.626 INFO    ] Checking for camera pi updates...
[2026-10-20 05:13:55,662.662 INFO    ] 200
[2026-10-20 05:13:55,665.665 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:13:55,707.707 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:13:55,764.764 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:13:55,767.767 INFO    ] No camera update needed
[2026-10-20 05:13:55,770.770 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:13:55,773.773 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:13:55,779.779 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:13:55,785.785 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:13:57,826.826 INFO    ] ================================================
[2026-10-20 05:13:57,841.841 INFO    ] Launching Daemon at Tue Oct 20 05:13:57 IST 2026
[2026-10-20 05:13:57,851.851 INFO    ] ================================================
[2026-10-20 05:13:58,421.421 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:13:58
[2026-10-20 05:13:59,028.028 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:13:59,292.292 INFO    ] Initializing speech engine...
[2026-10-20 05:13:59,298.298 INFO    ] 2026-10-20 05:13:59
[2026-10-20 05:13:59,601.601 INFO    ] 2026-10-20 05:13:59
[2026-10-20 05:13:59,639.639 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:13:59,872.872 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:13:59,879.879 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:14:00,106.106 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:14:00,114.114 INFO    ] time= 20/10/2026 05:14:00
[2026-10-20 05:14:00,158.158 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:14:00,208.208 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:14:00,323.323 INFO    ] No existing commands found in stream
[2026-10-20 05:14:05,335.335 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:14:05,338.338 INFO    ] Waiting 0.54 seconds before fallback handling...
[2026-10-20 05:14:06,397.397 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 05:14:06,401.401 INFO    ] Checking for system updates...
[2026-10-20 05:14:06,436.436 INFO    ] 200
[2026-10-20 05:14:06,439.439 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:14:06,492.492 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:14:06,494.494 INFO    ] No update needed
[2026-10-20 05:14:06,497.497 INFO    ] Checking for camera pi updates...
[2026-10-20 05:14:06,530.530 INFO    ] 200
[2026-10-20 05:14:06,532.532 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:14:06,577.577 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:14:06,724.724 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:14:06,727.727 INFO    ] No camera update needed
[2026-10-20 05:14:06,729.729 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:14:06,732.732 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:14:06,737.737 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:14:06,742.742 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:14:08,782.782 INFO    ] ================================================
[2026-10-20 05:14:08,797.797 INFO    ] Launching Daemon at Tue Oct 20 05:14:08 IST 2026
[2026-10-20 05:14:08,807.807 INFO    ] ================================================
[2026-10-20 05:14:09,374.374 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:14:09
[2026-10-20 05:14:09,955.955 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:14:10,206.206 INFO    ] Initializing speech engine...
[2026-10-20 05:14:10,211.211 INFO    ] 2026-10-20 05:14:10
[2026-10-20 05:14:10,507.507 INFO    ] 2026-10-20 05:14:10
[2026-10-20 05:14:10,542.542 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:14:10,767.767 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:14:10,790.790 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:14:10,995.995 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:14:11,033.033 INFO    ] time= 20/10/2026 05:14:10
[2026-10-20 05:14:11,077.077 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:14:11,121.121 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:14:11,240.240 INFO    ] No existing commands found in stream
[2026-10-20 05:14:16,277.277 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:14:16,280.280 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-10-20 05:14:18,982.982 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 05:14:18,985.985 INFO    ] Checking for system updates...
[2026-10-20 05:14:19,020.020 INFO    ] 200
[2026-10-20 05:14:19,022.022 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:14:19,073.073 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:14:19,076.076 INFO    ] No update needed
[2026-10-20 05:14:19,078.078 INFO    ] Checking for camera pi updates...
[2026-10-20 05:14:19,112.112 INFO    ] 200
[2026-10-20 05:14:19,114.114 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:14:19,155.155 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:14:19,200.200 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:14:19,202.202 INFO    ] No camera update needed
[2026-10-20 05:14:19,204.204 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:14:19,207.207 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:14:19,212.212 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:14:19,217.217 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:14:21,256.256 INFO    ] ================================================
[2026-10-20 05:14:21,271.271 INFO    ] Launching Daemon at Tue Oct 20 05:14:21 IST 2026
[2026-10-20 05:14:21,282.282 INFO    ] ================================================
[2026-10-20 05:14:21,849.849 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:14:21
[2026-10-20 05:14:22,435.435 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:14:22,693.693 INFO    ] Initializing speech engine...
[2026-10-20 05:14:22,699.699 INFO    ] 2026-10-20 05:14:22
[2026-10-20 05:14:22,996.996 INFO    ] 2026-10-20 05:14:22
[2026-10-20 05:14:23,034.034 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:14:23,298.298 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:14:23,329.329 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:14:23,492.492 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:14:23,536.536 INFO    ] time= 20/10/2026 05:14:23
[2026-10-20 05:14:23,580.580 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:14:23,629.629 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:14:23,769.769 INFO    ] No existing commands found in stream
[2026-10-20 05:14:28,792.792 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:14:28,794.794 INFO    ] Waiting 0.51 seconds before fallback handling...
[2026-10-20 05:14:29,836.836 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:14:29,839.839 INFO    ] Checking for system updates...
[2026-10-20 05:14:29,875.875 INFO    ] 200
[2026-10-20 05:14:29,877.877 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:14:29,931.931 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:14:29,934.934 INFO    ] No update needed
[2026-10-20 05:14:29,936.936 INFO    ] Checking for camera pi updates...
[2026-10-20 05:14:29,970.970 INFO    ] 200
[2026-10-20 05:14:29,972.972 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:14:30,013.013 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:14:30,057.057 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:14:30,060.060 INFO    ] No camera update needed
[2026-10-20 05:14:30,062.062 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:14:30,064.064 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:14:30,070.070 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:14:30,074.074 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:14:32,116.116 INFO    ] ================================================
[2026-10-20 05:14:32,133.133 INFO    ] Launching Daemon at Tue Oct 20 05:14:32 IST 2026
[2026-10-20 05:14:32,145.145 INFO    ] ================================================
[2026-10-20 05:14:32,741.741 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:14:32
[2026-10-20 05:14:33,414.414 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:14:33,731.731 INFO    ] Initializing speech engine...
[2026-10-20 05:14:33,743.743 INFO    ] 2026-10-20 05:14:33
[2026-10-20 05:14:34,026.026 INFO    ] 2026-10-20 05:14:34
[2026-10-20 05:14:34,073.073 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:14:34,369.369 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:14:34,377.377 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:14:34,577.577 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:14:34,595.595 INFO    ] time= 20/10/2026 05:14:34
[2026-10-20 05:14:34,606.606 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:14:34,633.633 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:14:34,763.763 INFO    ] No existing commands found in stream
[2026-10-20 05:14:39,789.789 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:14:39,792.792 INFO    ] Waiting 3.35 seconds before fallback handling...
[2026-10-20 05:14:43,729.729 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:14:43,732.732 INFO    ] Checking for system updates...
[2026-10-20 05:14:43,770.770 INFO    ] 200
[2026-10-20 05:14:43,772.772 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:14:43,823.823 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:14:43,826.826 INFO    ] No update needed
[2026-10-20 05:14:43,828.828 INFO    ] Checking for camera pi updates...
[2026-10-20 05:14:43,861.861 INFO    ] 200
[2026-10-20 05:14:43,864.864 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:14:43,904.904 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:14:43,950.950 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:14:43,952.952 INFO    ] No camera update needed
[2026-10-20 05:14:43,954.954 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:14:43,956.956 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:14:43,962.962 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:14:43,967.967 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:14:46,006.006 INFO    ] ================================================
[2026-10-20 05:14:46,021.021 INFO    ] Launching Daemon at Tue Oct 20 05:14:46 IST 2026
[2026-10-20 05:14:46,031.031 INFO    ] ================================================
[2026-10-20 05:14:46,619.619 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:14:46
[2026-10-20 05:14:47,221.221 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:14:47,497.497 INFO    ] Initializing speech engine...
[2026-10-20 05:14:47,506.506 INFO    ] 2026-10-20 05:14:47
[2026-10-20 05:14:47,760.760 INFO    ] 2026-10-20 05:14:47
[2026-10-20 05:14:47,822.822 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:14:48,072.072 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:14:48,090.090 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:14:48,304.304 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:14:48,312.312 INFO    ] time= 20/10/2026 05:14:48
[2026-10-20 05:14:48,330.330 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:14:48,358.358 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:14:48,466.466 INFO    ] No existing commands found in stream
[2026-10-20 05:14:53,494.494 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:14:53,497.497 INFO    ] Waiting 1.95 seconds before fallback handling...
[2026-10-20 05:14:55,961.961 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:14:55,963.963 INFO    ] Checking for system updates...
[2026-10-20 05:14:55,999.999 INFO    ] 200
[2026-10-20 05:14:56,002.002 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:14:56,054.054 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:14:56,056.056 INFO    ] No update needed
[2026-10-20 05:14:56,059.059 INFO    ] Checking for camera pi updates...
[2026-10-20 05:14:56,092.092 INFO    ] 200
[2026-10-20 05:14:56,094.094 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:14:56,134.134 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:14:56,177.177 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:14:56,180.180 INFO    ] No camera update needed
[2026-10-20 05:14:56,182.182 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:14:56,185.185 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:14:56,192.192 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:14:56,197.197 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:14:58,238.238 INFO    ] ================================================
[2026-10-20 05:14:58,253.253 INFO    ] Launching Daemon at Tue Oct 20 05:14:58 IST 2026
[2026-10-20 05:14:58,264.264 INFO    ] ================================================
[2026-10-20 05:14:58,831.831 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:14:58
[2026-10-20 05:14:59,416.416 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:14:59,675.675 INFO    ] Initializing speech engine...
[2026-10-20 05:14:59,681.681 INFO    ] 2026-10-20 05:14:59
[2026-10-20 05:14:59,976.976 INFO    ] 2026-10-20 05:14:59
[2026-10-20 05:15:00,015.015 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:15:00,243.243 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:15:00,266.266 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:15:00,475.475 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:15:00,482.482 INFO    ] time= 20/10/2026 05:15:00
[2026-10-20 05:15:00,547.547 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:15:00,580.580 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:15:00,684.684 INFO    ] No existing commands found in stream
[2026-10-20 05:15:05,697.697 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:15:05,700.700 INFO    ] Waiting 3.41 seconds before fallback handling...
[2026-10-20 05:15:09,638.638 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:15:09,641.641 INFO    ] Checking for system updates...
[2026-10-20 05:15:09,677.677 INFO    ] 200
[2026-10-20 05:15:09,679.679 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:15:09,732.732 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:15:09,734.734 INFO    ] No update needed
[2026-10-20 05:15:09,736.736 INFO    ] Checking for camera pi updates...
[2026-10-20 05:15:09,769.769 INFO    ] 200
[2026-10-20 05:15:09,772.772 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:15:09,812.812 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:15:09,866.866 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:15:09,868.868 INFO    ] No camera update needed
[2026-10-20 05:15:09,870.870 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:15:09,873.873 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:15:09,878.878 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:15:09,883.883 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:15:11,922.922 INFO    ] ================================================
[2026-10-20 05:15:11,937.937 INFO    ] Launching Daemon at Tue Oct 20 05:15:11 IST 2026
[2026-10-20 05:15:11,948.948 INFO    ] ================================================
[2026-10-20 05:15:12,534.534 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:15:12
[2026-10-20 05:15:13,132.132 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:15:13,406.406 INFO    ] Initializing speech engine...
[2026-10-20 05:15:13,416.416 INFO    ] 2026-10-20 05:15:13
[2026-10-20 05:15:13,663.663 INFO    ] 2026-10-20 05:15:13
[2026-10-20 05:15:13,698.698 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:15:13,950.950 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:15:13,959.959 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:15:14,206.206 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:15:14,217.217 INFO    ] time= 20/10/2026 05:15:14
[2026-10-20 05:15:14,234.234 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:15:14,243.243 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:15:14,372.372 INFO    ] No existing commands found in stream
[2026-10-20 05:15:19,388.388 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:15:19,391.391 INFO    ] Waiting 3.52 seconds before fallback handling...
[2026-10-20 05:15:24,545.545 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:15:24,548.548 INFO    ] Checking for system updates...
[2026-10-20 05:15:24,591.591 INFO    ] 200
[2026-10-20 05:15:24,594.594 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:15:24,659.659 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:15:24,662.662 INFO    ] No update needed
[2026-10-20 05:15:24,665.665 INFO    ] Checking for camera pi updates...
[2026-10-20 05:15:24,698.698 INFO    ] 200
[2026-10-20 05:15:24,701.701 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:15:24,741.741 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:15:24,787.787 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:15:24,789.789 INFO    ] No camera update needed
[2026-10-20 05:15:24,792.792 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:15:24,794.794 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:15:24,800.800 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:15:24,805.805 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:15:26,845.845 INFO    ] ================================================
[2026-10-20 05:15:26,860.860 INFO    ] Launching Daemon at Tue Oct 20 05:15:26 IST 2026
[2026-10-20 05:15:26,870.870 INFO    ] ================================================
[2026-10-20 05:15:27,490.490 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:15:27
[2026-10-20 05:15:28,150.150 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:15:28,454.454 INFO    ] Initializing speech engine...
[2026-10-20 05:15:28,461.461 INFO    ] 2026-10-20 05:15:28
[2026-10-20 05:15:28,733.733 INFO    ] 2026-10-20 05:15:28
[2026-10-20 05:15:28,787.787 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:15:29,009.009 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:15:29,018.018 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:15:29,156.156 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:15:29,216.216 INFO    ] time= 20/10/2026 05:15:29
[2026-10-20 05:15:29,270.270 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:15:29,284.284 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:15:29,419.419 INFO    ] No existing commands found in stream
[2026-10-20 05:15:34,440.440 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:15:34,442.442 INFO    ] Waiting 2.25 seconds before fallback handling...
[2026-10-20 05:15:37,219.219 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 05:15:37,222.222 INFO    ] Checking for system updates...
[2026-10-20 05:15:37,257.257 INFO    ] 200
[2026-10-20 05:15:37,260.260 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:15:37,313.313 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:15:37,315.315 INFO    ] No update needed
[2026-10-20 05:15:37,318.318 INFO    ] Checking for camera pi updates...
[2026-10-20 05:15:37,351.351 INFO    ] 200
[2026-10-20 05:15:37,354.354 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:15:37,394.394 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:15:37,441.441 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:15:37,444.444 INFO    ] No camera update needed
[2026-10-20 05:15:37,446.446 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:15:37,448.448 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:15:37,454.454 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:15:37,459.459 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:15:39,499.499 INFO    ] ================================================
[2026-10-20 05:15:39,514.514 INFO    ] Launching Daemon at Tue Oct 20 05:15:39 IST 2026
[2026-10-20 05:15:39,525.525 INFO    ] ================================================
[2026-10-20 05:15:40,163.163 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:15:40
[2026-10-20 05:15:40,821.821 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:15:41,126.126 INFO    ] Initializing speech engine...
[2026-10-20 05:15:41,138.138 INFO    ] 2026-10-20 05:15:41
[2026-10-20 05:15:41,446.446 INFO    ] 2026-10-20 05:15:41
[2026-10-20 05:15:41,531.531 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:15:41,759.759 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:15:41,813.813 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:15:42,003.003 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:15:42,013.013 INFO    ] time= 20/10/2026 05:15:42
[2026-10-20 05:15:42,023.023 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:15:42,079.079 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:15:42,215.215 INFO    ] No existing commands found in stream
[2026-10-20 05:15:47,235.235 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:15:47,238.238 INFO    ] Waiting 0.81 seconds before fallback handling...
[2026-10-20 05:15:50,019.019 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 05:15:50,022.022 INFO    ] Checking for system updates...
[2026-10-20 05:15:50,061.061 INFO    ] 200
[2026-10-20 05:15:50,064.064 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:15:50,116.116 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:15:50,118.118 INFO    ] No update needed
[2026-10-20 05:15:50,121.121 INFO    ] Checking for camera pi updates...
[2026-10-20 05:15:50,154.154 INFO    ] 200
[2026-10-20 05:15:50,157.157 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:15:50,196.196 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:15:50,244.244 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:15:50,247.247 INFO    ] No camera update needed
[2026-10-20 05:15:50,249.249 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:15:50,251.251 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:15:50,257.257 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:15:50,262.262 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:15:52,301.301 INFO    ] ================================================
[2026-10-20 05:15:52,316.316 INFO    ] Launching Daemon at Tue Oct 20 05:15:52 IST 2026
[2026-10-20 05:15:52,327.327 INFO    ] ================================================
[2026-10-20 05:15:52,909.909 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:15:52
[2026-10-20 05:15:53,507.507 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:15:53,773.773 INFO    ] Initializing speech engine...
[2026-10-20 05:15:53,789.789 INFO    ] 2026-10-20 05:15:53
[2026-10-20 05:15:54,080.080 INFO    ] 2026-10-20 05:15:54
[2026-10-20 05:15:54,119.119 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:15:54,383.383 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:15:54,392.392 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:15:54,599.599 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:15:54,654.654 INFO    ] time= 20/10/2026 05:15:54
[2026-10-20 05:15:54,664.664 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:15:54,683.683 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:15:54,814.814 INFO    ] No existing commands found in stream
[2026-10-20 05:15:59,828.828 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:15:59,831.831 INFO    ] Waiting 0.93 seconds before fallback handling...
[2026-10-20 05:16:01,330.330 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:16:01,332.332 INFO    ] Checking for system updates...
[2026-10-20 05:16:01,368.368 INFO    ] 200
[2026-10-20 05:16:01,371.371 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:16:01,435.435 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:16:01,439.439 INFO    ] No update needed
[2026-10-20 05:16:01,443.443 INFO    ] Checking for camera pi updates...
[2026-10-20 05:16:01,496.496 INFO    ] 200
[2026-10-20 05:16:01,500.500 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:16:01,587.587 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:16:01,643.643 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:16:01,646.646 INFO    ] No camera update needed
[2026-10-20 05:16:01,651.651 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:16:01,655.655 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:16:01,666.666 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:16:01,679.679 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:16:03,725.725 INFO    ] ================================================
[2026-10-20 05:16:03,740.740 INFO    ] Launching Daemon at Tue Oct 20 05:16:03 IST 2026
[2026-10-20 05:16:03,750.750 INFO    ] ================================================
[2026-10-20 05:16:04,331.331 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:16:04
[2026-10-20 05:16:04,931.931 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:16:05,206.206 INFO    ] Initializing speech engine...
[2026-10-20 05:16:05,216.216 INFO    ] 2026-10-20 05:16:05
[2026-10-20 05:16:05,478.478 INFO    ] 2026-10-20 05:16:05
[2026-10-20 05:16:05,509.509 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:16:05,754.754 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:16:05,764.764 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:16:05,999.999 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:16:06,022.022 INFO    ] time= 20/10/2026 05:16:06
[2026-10-20 05:16:06,028.028 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:16:06,046.046 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:16:06,177.177 INFO    ] No existing commands found in stream
[2026-10-20 05:16:11,196.196 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:16:11,199.199 INFO    ] Waiting 2.61 seconds before fallback handling...
[2026-10-20 05:16:14,338.338 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 05:16:14,341.341 INFO    ] Checking for system updates...
[2026-10-20 05:16:14,377.377 INFO    ] 200
[2026-10-20 05:16:14,381.381 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:16:14,442.442 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:16:14,444.444 INFO    ] No update needed
[2026-10-20 05:16:14,447.447 INFO    ] Checking for camera pi updates...
[2026-10-20 05:16:14,483.483 INFO    ] 200
[2026-10-20 05:16:14,486.486 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:16:14,526.526 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:16:14,670.670 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:16:14,672.672 INFO    ] No camera update needed
[2026-10-20 05:16:14,675.675 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:16:14,677.677 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:16:14,682.682 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:16:14,687.687 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:16:16,729.729 INFO    ] ================================================
[2026-10-20 05:16:16,744.744 INFO    ] Launching Daemon at Tue Oct 20 05:16:16 IST 2026
[2026-10-20 05:16:16,755.755 INFO    ] ================================================
[2026-10-20 05:16:17,397.397 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:16:17
[2026-10-20 05:16:18,062.062 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:16:18,363.363 INFO    ] Initializing speech engine...
[2026-10-20 05:16:18,372.372 INFO    ] 2026-10-20 05:16:18
[2026-10-20 05:16:18,657.657 INFO    ] 2026-10-20 05:16:18
[2026-10-20 05:16:18,703.703 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:16:19,045.045 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:16:19,065.065 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:16:19,311.311 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:16:19,344.344 INFO    ] time= 20/10/2026 05:16:19
[2026-10-20 05:16:19,392.392 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:16:19,450.450 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:16:19,592.592 INFO    ] No existing commands found in stream
[2026-10-20 05:16:24,611.611 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:16:24,614.614 INFO    ] Waiting 3.82 seconds before fallback handling...
[2026-10-20 05:16:28,959.959 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:16:28,962.962 INFO    ] Checking for system updates...
[2026-10-20 05:16:28,999.999 INFO    ] 200
[2026-10-20 05:16:29,002.002 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:16:29,055.055 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:16:29,058.058 INFO    ] No update needed
[2026-10-20 05:16:29,061.061 INFO    ] Checking for camera pi updates...
[2026-10-20 05:16:29,110.110 INFO    ] 200
[2026-10-20 05:16:29,113.113 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:16:29,154.154 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:16:29,202.202 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:16:29,205.205 INFO    ] No camera update needed
[2026-10-20 05:16:29,207.207 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:16:29,210.210 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:16:29,216.216 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:16:29,222.222 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:16:31,264.264 INFO    ] ================================================
[2026-10-20 05:16:31,279.279 INFO    ] Launching Daemon at Tue Oct 20 05:16:31 IST 2026
[2026-10-20 05:16:31,289.289 INFO    ] ================================================
[2026-10-20 05:16:31,964.964 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:16:31
[2026-10-20 05:16:32,676.676 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:16:33,006.006 INFO    ] Initializing speech engine...
[2026-10-20 05:16:33,020.020 INFO    ] 2026-10-20 05:16:33
[2026-10-20 05:16:33,291.291 INFO    ] 2026-10-20 05:16:33
[2026-10-20 05:16:33,334.334 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:16:33,549.549 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:16:33,583.583 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:16:33,772.772 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:16:33,815.815 INFO    ] time= 20/10/2026 05:16:33
[2026-10-20 05:16:33,869.869 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:16:33,918.918 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:16:34,077.077 INFO    ] No existing commands found in stream
[2026-10-20 05:16:39,098.098 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:16:39,101.101 INFO    ] Waiting 0.58 seconds before fallback handling...
[2026-10-20 05:16:40,217.217 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 05:16:40,220.220 INFO    ] Checking for system updates...
[2026-10-20 05:16:40,256.256 INFO    ] 200
[2026-10-20 05:16:40,259.259 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:16:40,322.322 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:16:40,324.324 INFO    ] No update needed
[2026-10-20 05:16:40,327.327 INFO    ] Checking for camera pi updates...
[2026-10-20 05:16:40,360.360 INFO    ] 200
[2026-10-20 05:16:40,362.362 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:16:40,404.404 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:16:40,459.459 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:16:40,462.462 INFO    ] No camera update needed
[2026-10-20 05:16:40,465.465 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:16:40,468.468 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:16:40,474.474 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:16:40,480.480 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:16:42,520.520 INFO    ] ================================================
[2026-10-20 05:16:42,535.535 INFO    ] Launching Daemon at Tue Oct 20 05:16:42 IST 2026
[2026-10-20 05:16:42,546.546 INFO    ] ================================================
[2026-10-20 05:16:43,116.116 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:16:43
[2026-10-20 05:16:43,765.765 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:16:44,069.069 INFO    ] Initializing speech engine...
[2026-10-20 05:16:44,080.080 INFO    ] 2026-10-20 05:16:44
[2026-10-20 05:16:44,387.387 INFO    ] 2026-10-20 05:16:44
[2026-10-20 05:16:44,473.473 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:16:44,691.691 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:16:44,735.735 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:16:44,939.939 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:16:44,980.980 INFO    ] time= 20/10/2026 05:16:44
[2026-10-20 05:16:45,027.027 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:16:45,077.077 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:16:45,243.243 INFO    ] No existing commands found in stream
[2026-10-20 05:16:50,269.269 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:16:50,272.272 INFO    ] Waiting 3.81 seconds before fallback handling...
[2026-10-20 05:16:54,635.635 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:16:54,638.638 INFO    ] Checking for system updates...
[2026-10-20 05:16:54,678.678 INFO    ] 200
[2026-10-20 05:16:54,681.681 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:16:54,739.739 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:16:54,742.742 INFO    ] No update needed
[2026-10-20 05:16:54,744.744 INFO    ] Checking for camera pi updates...
[2026-10-20 05:16:54,779.779 INFO    ] 200
[2026-10-20 05:16:54,781.781 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:16:54,822.822 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:16:54,873.873 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:16:54,876.876 INFO    ] No camera update needed
[2026-10-20 05:16:54,879.879 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:16:54,882.882 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:16:54,888.888 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:16:54,894.894 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:16:56,936.936 INFO    ] ================================================
[2026-10-20 05:16:56,951.951 INFO    ] Launching Daemon at Tue Oct 20 05:16:56 IST 2026
[2026-10-20 05:16:56,962.962 INFO    ] ================================================
[2026-10-20 05:16:57,541.541 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:16:57
[2026-10-20 05:16:58,141.141 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:16:58,399.399 INFO    ] Initializing speech engine...
[2026-10-20 05:16:58,408.408 INFO    ] 2026-10-20 05:16:58
[2026-10-20 05:16:58,702.702 INFO    ] 2026-10-20 05:16:58
[2026-10-20 05:16:58,740.740 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:16:59,021.021 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:16:59,036.036 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:16:59,193.193 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:16:59,243.243 INFO    ] time= 20/10/2026 05:16:59
[2026-10-20 05:16:59,292.292 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:16:59,336.336 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:16:59,478.478 INFO    ] No existing commands found in stream
[2026-10-20 05:17:04,499.499 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:17:04,502.502 INFO    ] Waiting 3.97 seconds before fallback handling...
[2026-10-20 05:17:09,016.016 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:17:09,019.019 INFO    ] Checking for system updates...
[2026-10-20 05:17:09,054.054 INFO    ] 200
[2026-10-20 05:17:09,057.057 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:17:09,110.110 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:17:09,113.113 INFO    ] No update needed
[2026-10-20 05:17:09,115.115 INFO    ] Checking for camera pi updates...
[2026-10-20 05:17:09,149.149 INFO    ] 200
[2026-10-20 05:17:09,151.151 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:17:09,200.200 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:17:09,249.249 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:17:09,252.252 INFO    ] No camera update needed
[2026-10-20 05:17:09,257.257 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:17:09,260.260 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:17:09,266.266 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:17:09,271.271 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:17:11,312.312 INFO    ] ================================================
[2026-10-20 05:17:11,326.326 INFO    ] Launching Daemon at Tue Oct 20 05:17:11 IST 2026
[2026-10-20 05:17:11,337.337 INFO    ] ================================================
[2026-10-20 05:17:11,986.986 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:17:11
[2026-10-20 05:17:12,656.656 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:17:12,963.963 INFO    ] Initializing speech engine...
[2026-10-20 05:17:12,977.977 INFO    ] 2026-10-20 05:17:12
[2026-10-20 05:17:13,288.288 INFO    ] 2026-10-20 05:17:13
[2026-10-20 05:17:13,379.379 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:17:13,667.667 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:17:13,707.707 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:17:13,955.955 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:17:14,005.005 INFO    ] time= 20/10/2026 05:17:13
[2026-10-20 05:17:14,060.060 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:17:14,078.078 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:17:14,225.225 INFO    ] No existing commands found in stream
[2026-10-20 05:17:19,244.244 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:17:19,247.247 INFO    ] Waiting 1.13 seconds before fallback handling...
[2026-10-20 05:17:20,957.957 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:17:20,961.961 INFO    ] Checking for system updates...
[2026-10-20 05:17:20,997.997 INFO    ] 200
[2026-10-20 05:17:21,000.000 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:17:21,060.060 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:17:21,063.063 INFO    ] No update needed
[2026-10-20 05:17:21,065.065 INFO    ] Checking for camera pi updates...
[2026-10-20 05:17:21,099.099 INFO    ] 200
[2026-10-20 05:17:21,102.102 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:17:21,144.144 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:17:21,190.190 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:17:21,193.193 INFO    ] No camera update needed
[2026-10-20 05:17:21,195.195 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:17:21,198.198 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:17:21,204.204 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:17:21,210.210 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:17:23,251.251 INFO    ] ================================================
[2026-10-20 05:17:23,266.266 INFO    ] Launching Daemon at Tue Oct 20 05:17:23 IST 2026
[2026-10-20 05:17:23,277.277 INFO    ] ================================================
[2026-10-20 05:17:23,848.848 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:17:23
[2026-10-20 05:17:24,456.456 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:17:24,757.757 INFO    ] Initializing speech engine...
[2026-10-20 05:17:24,764.764 INFO    ] 2026-10-20 05:17:24
[2026-10-20 05:17:25,044.044 INFO    ] 2026-10-20 05:17:25
[2026-10-20 05:17:25,104.104 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:17:25,392.392 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:17:25,401.401 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:17:25,601.601 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:17:25,620.620 INFO    ] time= 20/10/2026 05:17:25
[2026-10-20 05:17:25,649.649 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:17:25,659.659 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:17:25,791.791 INFO    ] No existing commands found in stream
[2026-10-20 05:17:30,822.822 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:17:30,825.825 INFO    ] Waiting 1.24 seconds before fallback handling...
[2026-10-20 05:17:32,585.585 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 05:17:32,588.588 INFO    ] Checking for system updates...
[2026-10-20 05:17:32,629.629 INFO    ] 200
[2026-10-20 05:17:32,633.633 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:17:32,693.693 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:17:32,697.697 INFO    ] No update needed
[2026-10-20 05:17:32,702.702 INFO    ] Checking for camera pi updates...
[2026-10-20 05:17:32,742.742 INFO    ] 200
[2026-10-20 05:17:32,745.745 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:17:32,790.790 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:17:32,821.821 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:17:32,824.824 INFO    ] No camera update needed
[2026-10-20 05:17:32,826.826 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:17:32,828.828 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:17:32,834.834 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:17:32,839.839 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:17:34,879.879 INFO    ] ================================================
[2026-10-20 05:17:34,894.894 INFO    ] Launching Daemon at Tue Oct 20 05:17:34 IST 2026
[2026-10-20 05:17:34,904.904 INFO    ] ================================================
[2026-10-20 05:17:35,469.469 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:17:35
[2026-10-20 05:17:36,055.055 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:17:36,328.328 INFO    ] Initializing speech engine...
[2026-10-20 05:17:36,343.343 INFO    ] 2026-10-20 05:17:36
[2026-10-20 05:17:36,617.617 INFO    ] 2026-10-20 05:17:36
[2026-10-20 05:17:36,655.655 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:17:36,947.947 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:17:36,958.958 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:17:37,113.113 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:17:37,145.145 INFO    ] time= 20/10/2026 05:17:37
[2026-10-20 05:17:37,205.205 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:17:37,259.259 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:17:37,410.410 INFO    ] No existing commands found in stream
[2026-10-20 05:17:42,445.445 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:17:42,448.448 INFO    ] Waiting 2.33 seconds before fallback handling...
[2026-10-20 05:17:45,358.358 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:17:45,361.361 INFO    ] Checking for system updates...
[2026-10-20 05:17:45,398.398 INFO    ] 200
[2026-10-20 05:17:45,401.401 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:17:45,454.454 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:17:45,456.456 INFO    ] No update needed
[2026-10-20 05:17:45,459.459 INFO    ] Checking for camera pi updates...
[2026-10-20 05:17:45,493.493 INFO    ] 200
[2026-10-20 05:17:45,496.496 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:17:45,539.539 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:17:45,592.592 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:17:45,595.595 INFO    ] No camera update needed
[2026-10-20 05:17:45,597.597 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:17:45,600.600 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:17:45,607.607 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:17:45,612.612 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:17:47,656.656 INFO    ] ================================================
[2026-10-20 05:17:47,671.671 INFO    ] Launching Daemon at Tue Oct 20 05:17:47 IST 2026
[2026-10-20 05:17:47,682.682 INFO    ] ================================================
[2026-10-20 05:17:48,260.260 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:17:48
[2026-10-20 05:17:48,844.844 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:17:49,112.112 INFO    ] Initializing speech engine...
[2026-10-20 05:17:49,121.121 INFO    ] 2026-10-20 05:17:49
[2026-10-20 05:17:49,380.380 INFO    ] 2026-10-20 05:17:49
[2026-10-20 05:17:49,434.434 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:17:49,701.701 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:17:49,724.724 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:17:49,922.922 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:17:49,937.937 INFO    ] time= 20/10/2026 05:17:49
[2026-10-20 05:17:49,946.946 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:17:49,972.972 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:17:50,097.097 INFO    ] No existing commands found in stream
[2026-10-20 05:17:55,122.122 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:17:55,125.125 INFO    ] Waiting 1.65 seconds before fallback handling...
[2026-10-20 05:17:57,323.323 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 05:17:57,325.325 INFO    ] Checking for system updates...
[2026-10-20 05:17:57,360.360 INFO    ] 200
[2026-10-20 05:17:57,363.363 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:17:57,416.416 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:17:57,419.419 INFO    ] No update needed
[2026-10-20 05:17:57,422.422 INFO    ] Checking for camera pi updates...
[2026-10-20 05:17:57,455.455 INFO    ] 200
[2026-10-20 05:17:57,457.457 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:17:57,497.497 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:17:57,549.549 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:17:57,551.551 INFO    ] No camera update needed
[2026-10-20 05:17:57,554.554 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:17:57,556.556 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:17:57,561.561 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:17:57,566.566 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:17:59,608.608 INFO    ] ================================================
[2026-10-20 05:17:59,623.623 INFO    ] Launching Daemon at Tue Oct 20 05:17:59 IST 2026
[2026-10-20 05:17:59,633.633 INFO    ] ================================================
[2026-10-20 05:18:00,201.201 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:18:00
[2026-10-20 05:18:00,785.785 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:18:01,054.054 INFO    ] Initializing speech engine...
[2026-10-20 05:18:01,064.064 INFO    ] 2026-10-20 05:18:01
[2026-10-20 05:18:01,309.309 INFO    ] 2026-10-20 05:18:01
[2026-10-20 05:18:01,345.345 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:18:01,579.579 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:18:01,594.594 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:18:01,772.772 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:18:01,777.777 INFO    ] time= 20/10/2026 05:18:01
[2026-10-20 05:18:01,811.811 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:18:01,824.824 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:18:01,927.927 INFO    ] No existing commands found in stream
[2026-10-20 05:18:06,937.937 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:18:06,940.940 INFO    ] Waiting 3.56 seconds before fallback handling...
[2026-10-20 05:18:11,025.025 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:18:11,028.028 INFO    ] Checking for system updates...
[2026-10-20 05:18:11,064.064 INFO    ] 200
[2026-10-20 05:18:11,066.066 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:18:11,119.119 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:18:11,121.121 INFO    ] No update needed
[2026-10-20 05:18:11,123.123 INFO    ] Checking for camera pi updates...
[2026-10-20 05:18:11,157.157 INFO    ] 200
[2026-10-20 05:18:11,160.160 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:18:11,200.200 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:18:11,251.251 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:18:11,253.253 INFO    ] No camera update needed
[2026-10-20 05:18:11,255.255 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:18:11,257.257 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:18:11,263.263 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:18:11,268.268 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:18:13,310.310 INFO    ] ================================================
[2026-10-20 05:18:13,325.325 INFO    ] Launching Daemon at Tue Oct 20 05:18:13 IST 2026
[2026-10-20 05:18:13,335.335 INFO    ] ================================================
[2026-10-20 05:18:13,902.902 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:18:13
[2026-10-20 05:18:14,484.484 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:18:14,728.728 INFO    ] Initializing speech engine...
[2026-10-20 05:18:14,738.738 INFO    ] 2026-10-20 05:18:14
[2026-10-20 05:18:15,007.007 INFO    ] 2026-10-20 05:18:15
[2026-10-20 05:18:15,042.042 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:18:15,300.300 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:18:15,320.320 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:18:15,546.546 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:18:15,559.559 INFO    ] time= 20/10/2026 05:18:15
[2026-10-20 05:18:15,575.575 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:18:15,584.584 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:18:15,708.708 INFO    ] No existing commands found in stream
[2026-10-20 05:18:20,723.723 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:18:20,726.726 INFO    ] Waiting 0.95 seconds before fallback handling...
[2026-10-20 05:18:22,173.173 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:18:22,176.176 INFO    ] Checking for system updates...
[2026-10-20 05:18:22,211.211 INFO    ] 200
[2026-10-20 05:18:22,213.213 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:18:22,265.265 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:18:22,267.267 INFO    ] No update needed
[2026-10-20 05:18:22,270.270 INFO    ] Checking for camera pi updates...
[2026-10-20 05:18:22,304.304 INFO    ] 200
[2026-10-20 05:18:22,306.306 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:18:22,352.352 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:18:22,507.507 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:18:22,509.509 INFO    ] No camera update needed
[2026-10-20 05:18:22,512.512 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:18:22,514.514 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:18:22,519.519 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:18:22,524.524 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:18:24,567.567 INFO    ] ================================================
[2026-10-20 05:18:24,583.583 INFO    ] Launching Daemon at Tue Oct 20 05:18:24 IST 2026
[2026-10-20 05:18:24,593.593 INFO    ] ================================================
[2026-10-20 05:18:25,160.160 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:18:25
[2026-10-20 05:18:25,744.744 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:18:26,012.012 INFO    ] Initializing speech engine...
[2026-10-20 05:18:26,021.021 INFO    ] 2026-10-20 05:18:26
[2026-10-20 05:18:26,280.280 INFO    ] 2026-10-20 05:18:26
[2026-10-20 05:18:26,311.311 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:18:26,616.616 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:18:26,624.624 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:18:26,817.817 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:18:26,824.824 INFO    ] time= 20/10/2026 05:18:26
[2026-10-20 05:18:26,841.841 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:18:26,864.864 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:18:26,991.991 INFO    ] No existing commands found in stream
[2026-10-20 05:18:32,026.026 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:18:32,029.029 INFO    ] Waiting 2.45 seconds before fallback handling...
[2026-10-20 05:18:35,015.015 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:18:35,018.018 INFO    ] Checking for system updates...
[2026-10-20 05:18:35,053.053 INFO    ] 200
[2026-10-20 05:18:35,056.056 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:18:35,109.109 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:18:35,115.115 INFO    ] No update needed
[2026-10-20 05:18:35,119.119 INFO    ] Checking for camera pi updates...
[2026-10-20 05:18:35,154.154 INFO    ] 200
[2026-10-20 05:18:35,157.157 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:18:35,200.200 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:18:35,250.250 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:18:35,253.253 INFO    ] No camera update needed
[2026-10-20 05:18:35,255.255 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:18:35,258.258 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:18:35,265.265 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:18:35,271.271 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:18:37,313.313 INFO    ] ================================================
[2026-10-20 05:18:37,328.328 INFO    ] Launching Daemon at Tue Oct 20 05:18:37 IST 2026
[2026-10-20 05:18:37,338.338 INFO    ] ================================================
[2026-10-20 05:18:37,988.988 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:18:37
[2026-10-20 05:18:38,681.681 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:18:39,000.000 INFO    ] Initializing speech engine...
[2026-10-20 05:18:39,009.009 INFO    ] 2026-10-20 05:18:39
[2026-10-20 05:18:39,316.316 INFO    ] 2026-10-20 05:18:39
[2026-10-20 05:18:39,403.403 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:18:39,617.617 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:18:39,685.685 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:18:39,863.863 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:18:39,874.874 INFO    ] time= 20/10/2026 05:18:39
[2026-10-20 05:18:39,916.916 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:18:39,969.969 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:18:40,081.081 INFO    ] No existing commands found in stream
[2026-10-20 05:18:45,107.107 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:18:45,110.110 INFO    ] Waiting 1.66 seconds before fallback handling...
[2026-10-20 05:18:47,307.307 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:18:47,310.310 INFO    ] Checking for system updates...
[2026-10-20 05:18:47,347.347 INFO    ] 200
[2026-10-20 05:18:47,350.350 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:18:47,405.405 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:18:47,408.408 INFO    ] No update needed
[2026-10-20 05:18:47,412.412 INFO    ] Checking for camera pi updates...
[2026-10-20 05:18:47,446.446 INFO    ] 200
[2026-10-20 05:18:47,449.449 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:18:47,490.490 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:18:47,543.543 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:18:47,545.545 INFO    ] No camera update needed
[2026-10-20 05:18:47,547.547 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:18:47,550.550 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:18:47,555.555 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:18:47,561.561 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:18:49,600.600 INFO    ] ================================================
[2026-10-20 05:18:49,615.615 INFO    ] Launching Daemon at Tue Oct 20 05:18:49 IST 2026
[2026-10-20 05:18:49,626.626 INFO    ] ================================================
[2026-10-20 05:18:50,195.195 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:18:50
[2026-10-20 05:18:50,779.779 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:18:51,047.047 INFO    ] Initializing speech engine...
[2026-10-20 05:18:51,057.057 INFO    ] 2026-10-20 05:18:51
[2026-10-20 05:18:51,307.307 INFO    ] 2026-10-20 05:18:51
[2026-10-20 05:18:51,343.343 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:18:51,620.620 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:18:51,626.626 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:18:51,833.833 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:18:51,882.882 INFO    ] time= 20/10/2026 05:18:51
[2026-10-20 05:18:51,907.907 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:18:51,914.914 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:18:52,048.048 INFO    ] No existing commands found in stream
[2026-10-20 05:18:57,070.070 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:18:57,073.073 INFO    ] Waiting 1.65 seconds before fallback handling...
[2026-10-20 05:18:59,291.291 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:18:59,294.294 INFO    ] Checking for system updates...
[2026-10-20 05:18:59,338.338 INFO    ] 200
[2026-10-20 05:18:59,341.341 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:18:59,395.395 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:18:59,398.398 INFO    ] No update needed
[2026-10-20 05:18:59,401.401 INFO    ] Checking for camera pi updates...
[2026-10-20 05:18:59,441.441 INFO    ] 200
[2026-10-20 05:18:59,444.444 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:18:59,494.494 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:18:59,552.552 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:18:59,555.555 INFO    ] No camera update needed
[2026-10-20 05:18:59,557.557 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:18:59,559.559 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:18:59,565.565 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:18:59,570.570 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:19:01,609.609 INFO    ] ================================================
[2026-10-20 05:19:01,625.625 INFO    ] Launching Daemon at Tue Oct 20 05:19:01 IST 2026
[2026-10-20 05:19:01,635.635 INFO    ] ================================================
[2026-10-20 05:19:02,369.369 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:19:02
[2026-10-20 05:19:03,016.016 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:19:03,317.317 INFO    ] Initializing speech engine...
[2026-10-20 05:19:03,324.324 INFO    ] 2026-10-20 05:19:03
[2026-10-20 05:19:03,625.625 INFO    ] 2026-10-20 05:19:03
[2026-10-20 05:19:03,676.676 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:19:03,902.902 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:19:03,917.917 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:19:04,087.087 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:19:04,135.135 INFO    ] time= 20/10/2026 05:19:04
[2026-10-20 05:19:04,161.161 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:19:04,204.204 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:19:04,309.309 INFO    ] No existing commands found in stream
[2026-10-20 05:19:09,322.322 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:19:09,324.324 INFO    ] Waiting 3.66 seconds before fallback handling...
[2026-10-20 05:19:13,528.528 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 05:19:13,531.531 INFO    ] Checking for system updates...
[2026-10-20 05:19:13,568.568 INFO    ] 200
[2026-10-20 05:19:13,570.570 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 05:19:13,573.573 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-10-20 05:19:13,576.576 INFO    ] Checking for camera pi updates...
[2026-10-20 05:19:13,621.621 INFO    ] 200
[2026-10-20 05:19:13,624.624 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 05:19:13,626.626 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-10-20 05:19:13,628.628 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:19:13,631.631 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:19:13,636.636 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:19:13,641.641 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:19:15,680.680 INFO    ] ================================================
[2026-10-20 05:19:17,375.375 INFO    ] Launching Daemon at Tue Oct 20 05:19:17 IST 2026
[2026-10-20 05:19:17,386.386 INFO    ] ================================================
[2026-10-20 05:19:18,006.006 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:19:18
[2026-10-20 05:19:18,619.619 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:19:18,888.888 INFO    ] Initializing speech engine...
[2026-10-20 05:19:18,904.904 INFO    ] 2026-10-20 05:19:18
[2026-10-20 05:19:19,155.155 INFO    ] 2026-10-20 05:19:19
[2026-10-20 05:19:19,189.189 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:19:19,447.447 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:19:19,453.453 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:19:19,706.706 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:19:19,713.713 INFO    ] time= 20/10/2026 05:19:19
[2026-10-20 05:19:19,733.733 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:19:19,759.759 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:19:19,877.877 INFO    ] No existing commands found in stream
[2026-10-20 05:19:24,907.907 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:19:24,910.910 INFO    ] Waiting 3.69 seconds before fallback handling...
[2026-10-20 05:19:29,141.141 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:19:29,143.143 INFO    ] Checking for system updates...
[2026-10-20 05:19:29,179.179 INFO    ] 200
[2026-10-20 05:19:29,181.181 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:19:29,234.234 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:19:29,236.236 INFO    ] No update needed
[2026-10-20 05:19:29,239.239 INFO    ] Checking for camera pi updates...
[2026-10-20 05:19:29,276.276 INFO    ] 200
[2026-10-20 05:19:29,279.279 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:19:29,318.318 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:19:29,364.364 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:19:29,366.366 INFO    ] No camera update needed
[2026-10-20 05:19:29,368.368 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:19:29,371.371 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:19:29,376.376 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:19:29,381.381 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:19:31,421.421 INFO    ] ================================================
[2026-10-20 05:19:31,437.437 INFO    ] Launching Daemon at Tue Oct 20 05:19:31 IST 2026
[2026-10-20 05:19:31,447.447 INFO    ] ================================================
[2026-10-20 05:19:32,077.077 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:19:32
[2026-10-20 05:19:32,733.733 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:19:33,049.049 INFO    ] Initializing speech engine...
[2026-10-20 05:19:33,064.064 INFO    ] 2026-10-20 05:19:33
[2026-10-20 05:19:33,322.322 INFO    ] 2026-10-20 05:19:33
[2026-10-20 05:19:33,376.376 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:19:33,664.664 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:19:33,671.671 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:19:33,863.863 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:19:33,880.880 INFO    ] time= 20/10/2026 05:19:33
[2026-10-20 05:19:33,887.887 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:19:33,915.915 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:19:34,023.023 INFO    ] No existing commands found in stream
[2026-10-20 05:19:39,052.052 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:19:39,055.055 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-10-20 05:19:41,657.657 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:19:41,660.660 INFO    ] Checking for system updates...
[2026-10-20 05:19:41,699.699 INFO    ] 200
[2026-10-20 05:19:41,702.702 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:19:41,754.754 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:19:41,757.757 INFO    ] No update needed
[2026-10-20 05:19:41,764.764 INFO    ] Checking for camera pi updates...
[2026-10-20 05:19:41,800.800 INFO    ] 200
[2026-10-20 05:19:41,803.803 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:19:41,847.847 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:19:41,893.893 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:19:41,896.896 INFO    ] No camera update needed
[2026-10-20 05:19:41,899.899 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:19:41,901.901 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:19:41,906.906 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:19:41,912.912 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:19:43,952.952 INFO    ] ================================================
[2026-10-20 05:19:43,966.966 INFO    ] Launching Daemon at Tue Oct 20 05:19:43 IST 2026
[2026-10-20 05:19:43,977.977 INFO    ] ================================================
[2026-10-20 05:19:44,559.559 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:19:44
[2026-10-20 05:19:45,160.160 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:19:45,439.439 INFO    ] Initializing speech engine...
[2026-10-20 05:19:45,444.444 INFO    ] 2026-10-20 05:19:45
[2026-10-20 05:19:45,704.704 INFO    ] 2026-10-20 05:19:45
[2026-10-20 05:19:45,741.741 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:19:46,056.056 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:19:46,061.061 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:19:46,262.262 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:19:46,280.280 INFO    ] time= 20/10/2026 05:19:46
[2026-10-20 05:19:46,298.298 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:19:46,315.315 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:19:46,436.436 INFO    ] No existing commands found in stream
[2026-10-20 05:19:51,471.471 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:19:51,474.474 INFO    ] Waiting 0.00 seconds before fallback handling...
[2026-10-20 05:19:51,991.991 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 05:19:51,994.994 INFO    ] Checking for system updates...
[2026-10-20 05:19:52,029.029 INFO    ] 200
[2026-10-20 05:19:52,032.032 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:19:52,084.084 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:19:52,086.086 INFO    ] No update needed
[2026-10-20 05:19:52,089.089 INFO    ] Checking for camera pi updates...
[2026-10-20 05:19:52,123.123 INFO    ] 200
[2026-10-20 05:19:52,125.125 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:19:52,164.164 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:19:52,220.220 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:19:52,222.222 INFO    ] No camera update needed
[2026-10-20 05:19:52,225.225 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:19:52,227.227 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:19:52,232.232 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:19:52,237.237 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:19:54,277.277 INFO    ] ================================================
[2026-10-20 05:19:54,292.292 INFO    ] Launching Daemon at Tue Oct 20 05:19:54 IST 2026
[2026-10-20 05:19:54,302.302 INFO    ] ================================================
[2026-10-20 05:19:54,869.869 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:19:54
[2026-10-20 05:19:55,452.452 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:19:55,726.726 INFO    ] Initializing speech engine...
[2026-10-20 05:19:55,732.732 INFO    ] 2026-10-20 05:19:55
[2026-10-20 05:19:55,985.985 INFO    ] 2026-10-20 05:19:55
[2026-10-20 05:19:56,020.020 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:19:56,270.270 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:19:56,276.276 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:19:56,510.510 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:19:56,533.533 INFO    ] time= 20/10/2026 05:19:56
[2026-10-20 05:19:56,539.539 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:19:56,559.559 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:19:56,682.682 INFO    ] No existing commands found in stream
[2026-10-20 05:20:01,698.698 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:20:01,701.701 INFO    ] Waiting 1.94 seconds before fallback handling...
[2026-10-20 05:20:08,535.535 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:20:08,538.538 INFO    ] Checking for system updates...
[2026-10-20 05:20:08,575.575 INFO    ] 200
[2026-10-20 05:20:08,577.577 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:20:08,632.632 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:20:08,634.634 INFO    ] No update needed
[2026-10-20 05:20:08,637.637 INFO    ] Checking for camera pi updates...
[2026-10-20 05:20:08,675.675 INFO    ] 200
[2026-10-20 05:20:08,677.677 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:20:08,725.725 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:20:08,786.786 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:20:08,788.788 INFO    ] No camera update needed
[2026-10-20 05:20:08,791.791 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:20:08,794.794 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:20:08,800.800 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:20:08,806.806 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:20:10,848.848 INFO    ] ================================================
[2026-10-20 05:20:10,863.863 INFO    ] Launching Daemon at Tue Oct 20 05:20:10 IST 2026
[2026-10-20 05:20:10,874.874 INFO    ] ================================================
[2026-10-20 05:20:11,441.441 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:20:11
[2026-10-20 05:20:12,028.028 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:20:12,298.298 INFO    ] Initializing speech engine...
[2026-10-20 05:20:12,307.307 INFO    ] 2026-10-20 05:20:12
[2026-10-20 05:20:12,554.554 INFO    ] 2026-10-20 05:20:12
[2026-10-20 05:20:12,589.589 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:20:12,847.847 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:20:12,858.858 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:20:13,087.087 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:20:13,129.129 INFO    ] time= 20/10/2026 05:20:13
[2026-10-20 05:20:13,145.145 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:20:13,176.176 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:20:13,300.300 INFO    ] No existing commands found in stream
[2026-10-20 05:20:18,336.336 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:20:18,339.339 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-10-20 05:20:18,952.952 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:20:18,955.955 INFO    ] Checking for system updates...
[2026-10-20 05:20:18,992.992 INFO    ] 200
[2026-10-20 05:20:18,995.995 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:20:19,049.049 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:20:19,052.052 INFO    ] No update needed
[2026-10-20 05:20:19,055.055 INFO    ] Checking for camera pi updates...
[2026-10-20 05:20:19,090.090 INFO    ] 200
[2026-10-20 05:20:19,092.092 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:20:19,133.133 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:20:19,183.183 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:20:19,186.186 INFO    ] No camera update needed
[2026-10-20 05:20:19,189.189 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:20:19,191.191 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:20:19,197.197 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:20:19,203.203 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:20:21,244.244 INFO    ] ================================================
[2026-10-20 05:20:21,260.260 INFO    ] Launching Daemon at Tue Oct 20 05:20:21 IST 2026
[2026-10-20 05:20:21,271.271 INFO    ] ================================================
[2026-10-20 05:20:21,870.870 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:20:21
[2026-10-20 05:20:22,544.544 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:20:22,843.843 INFO    ] Initializing speech engine...
[2026-10-20 05:20:22,855.855 INFO    ] 2026-10-20 05:20:22
[2026-10-20 05:20:23,130.130 INFO    ] 2026-10-20 05:20:23
[2026-10-20 05:20:23,187.187 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:20:23,493.493 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:20:23,498.498 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:20:23,702.702 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:20:23,721.721 INFO    ] time= 20/10/2026 05:20:23
[2026-10-20 05:20:23,730.730 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:20:23,760.760 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:20:23,886.886 INFO    ] No existing commands found in stream
[2026-10-20 05:20:28,917.917 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:20:28,921.921 INFO    ] Waiting 0.64 seconds before fallback handling...
[2026-10-20 05:20:30,126.126 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 05:20:30,129.129 INFO    ] Checking for system updates...
[2026-10-20 05:20:30,169.169 INFO    ] 200
[2026-10-20 05:20:30,172.172 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:20:30,226.226 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:20:30,229.229 INFO    ] No update needed
[2026-10-20 05:20:30,232.232 INFO    ] Checking for camera pi updates...
[2026-10-20 05:20:30,267.267 INFO    ] 200
[2026-10-20 05:20:30,270.270 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:20:30,316.316 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:20:30,460.460 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:20:30,463.463 INFO    ] No camera update needed
[2026-10-20 05:20:30,466.466 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:20:30,469.469 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:20:30,475.475 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:20:30,481.481 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:20:32,525.525 INFO    ] ================================================
[2026-10-20 05:20:32,542.542 INFO    ] Launching Daemon at Tue Oct 20 05:20:32 IST 2026
[2026-10-20 05:20:32,554.554 INFO    ] ================================================
[2026-10-20 05:20:33,158.158 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:20:33
[2026-10-20 05:20:33,747.747 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:20:34,019.019 INFO    ] Initializing speech engine...
[2026-10-20 05:20:34,038.038 INFO    ] 2026-10-20 05:20:34
[2026-10-20 05:20:34,306.306 INFO    ] 2026-10-20 05:20:34
[2026-10-20 05:20:34,341.341 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:20:34,711.711 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:20:34,717.717 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:20:34,923.923 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:20:34,939.939 INFO    ] time= 20/10/2026 05:20:34
[2026-10-20 05:20:34,956.956 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:20:34,963.963 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:20:35,087.087 INFO    ] No existing commands found in stream
[2026-10-20 05:20:40,118.118 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:20:40,121.121 INFO    ] Waiting 0.88 seconds before fallback handling...
[2026-10-20 05:20:41,529.529 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:20:41,532.532 INFO    ] Checking for system updates...
[2026-10-20 05:20:41,568.568 INFO    ] 200
[2026-10-20 05:20:41,570.570 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:20:41,623.623 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:20:41,626.626 INFO    ] No update needed
[2026-10-20 05:20:41,628.628 INFO    ] Checking for camera pi updates...
[2026-10-20 05:20:41,661.661 INFO    ] 200
[2026-10-20 05:20:41,664.664 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:20:41,703.703 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:20:41,738.738 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:20:41,740.740 INFO    ] No camera update needed
[2026-10-20 05:20:41,743.743 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:20:41,745.745 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:20:41,750.750 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:20:41,755.755 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:20:43,794.794 INFO    ] ================================================
[2026-10-20 05:20:43,810.810 INFO    ] Launching Daemon at Tue Oct 20 05:20:43 IST 2026
[2026-10-20 05:20:43,821.821 INFO    ] ================================================
[2026-10-20 05:20:44,392.392 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:20:44
[2026-10-20 05:20:44,978.978 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:20:45,240.240 INFO    ] Initializing speech engine...
[2026-10-20 05:20:45,246.246 INFO    ] 2026-10-20 05:20:45
[2026-10-20 05:20:45,544.544 INFO    ] 2026-10-20 05:20:45
[2026-10-20 05:20:45,580.580 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:20:45,811.811 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:20:45,819.819 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:20:46,046.046 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:20:46,053.053 INFO    ] time= 20/10/2026 05:20:46
[2026-10-20 05:20:46,102.102 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:20:46,151.151 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:20:46,260.260 INFO    ] No existing commands found in stream
[2026-10-20 05:20:51,271.271 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:20:51,274.274 INFO    ] Waiting 1.62 seconds before fallback handling...
[2026-10-20 05:20:53,464.464 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:20:53,467.467 INFO    ] Checking for system updates...
[2026-10-20 05:20:53,505.505 INFO    ] 200
[2026-10-20 05:20:53,508.508 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:20:53,562.562 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:20:53,565.565 INFO    ] No update needed
[2026-10-20 05:20:53,568.568 INFO    ] Checking for camera pi updates...
[2026-10-20 05:20:53,602.602 INFO    ] 200
[2026-10-20 05:20:53,605.605 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:20:53,651.651 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:20:53,696.696 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:20:53,699.699 INFO    ] No camera update needed
[2026-10-20 05:20:53,701.701 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:20:53,704.704 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:20:53,709.709 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:20:53,714.714 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:20:55,754.754 INFO    ] ================================================
[2026-10-20 05:20:55,769.769 INFO    ] Launching Daemon at Tue Oct 20 05:20:55 IST 2026
[2026-10-20 05:20:55,780.780 INFO    ] ================================================
[2026-10-20 05:20:56,350.350 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:20:56
[2026-10-20 05:20:56,937.937 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:20:57,207.207 INFO    ] Initializing speech engine...
[2026-10-20 05:20:57,217.217 INFO    ] 2026-10-20 05:20:57
[2026-10-20 05:20:57,470.470 INFO    ] 2026-10-20 05:20:57
[2026-10-20 05:20:57,505.505 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:20:57,753.753 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:20:57,759.759 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:20:57,987.987 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:20:58,015.015 INFO    ] time= 20/10/2026 05:20:57
[2026-10-20 05:20:58,021.021 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:20:58,038.038 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:20:58,165.165 INFO    ] No existing commands found in stream
[2026-10-20 05:21:03,181.181 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:21:03,183.183 INFO    ] Waiting 0.82 seconds before fallback handling...
[2026-10-20 05:21:04,535.535 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 05:21:04,537.537 INFO    ] Checking for system updates...
[2026-10-20 05:21:04,573.573 INFO    ] 200
[2026-10-20 05:21:04,576.576 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:21:04,627.627 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:21:04,629.629 INFO    ] No update needed
[2026-10-20 05:21:04,631.631 INFO    ] Checking for camera pi updates...
[2026-10-20 05:21:04,664.664 INFO    ] 200
[2026-10-20 05:21:04,667.667 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:21:04,706.706 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:21:04,751.751 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:21:04,753.753 INFO    ] No camera update needed
[2026-10-20 05:21:04,755.755 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:21:04,757.757 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:21:04,763.763 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:21:04,768.768 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:21:06,809.809 INFO    ] ================================================
[2026-10-20 05:21:06,824.824 INFO    ] Launching Daemon at Tue Oct 20 05:21:06 IST 2026
[2026-10-20 05:21:06,835.835 INFO    ] ================================================
[2026-10-20 05:21:07,399.399 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:21:07
[2026-10-20 05:21:07,985.985 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:21:08,238.238 INFO    ] Initializing speech engine...
[2026-10-20 05:21:08,247.247 INFO    ] 2026-10-20 05:21:08
[2026-10-20 05:21:08,540.540 INFO    ] 2026-10-20 05:21:08
[2026-10-20 05:21:08,575.575 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:21:08,804.804 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:21:08,864.864 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:21:09,095.095 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:21:09,149.149 INFO    ] time= 20/10/2026 05:21:09
[2026-10-20 05:21:09,175.175 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:21:09,181.181 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:21:09,347.347 INFO    ] No existing commands found in stream
[2026-10-20 05:21:14,359.359 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:21:14,362.362 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-10-20 05:21:17,083.083 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:21:17,085.085 INFO    ] Checking for system updates...
[2026-10-20 05:21:17,129.129 INFO    ] 200
[2026-10-20 05:21:17,131.131 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:21:17,184.184 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:21:17,186.186 INFO    ] No update needed
[2026-10-20 05:21:17,188.188 INFO    ] Checking for camera pi updates...
[2026-10-20 05:21:17,221.221 INFO    ] 200
[2026-10-20 05:21:17,224.224 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:21:17,264.264 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:21:17,319.319 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:21:17,321.321 INFO    ] No camera update needed
[2026-10-20 05:21:17,323.323 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:21:17,326.326 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:21:17,331.331 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:21:17,336.336 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:21:19,377.377 INFO    ] ================================================
[2026-10-20 05:21:19,392.392 INFO    ] Launching Daemon at Tue Oct 20 05:21:19 IST 2026
[2026-10-20 05:21:19,402.402 INFO    ] ================================================
[2026-10-20 05:21:19,989.989 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:21:19
[2026-10-20 05:21:20,574.574 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:21:20,842.842 INFO    ] Initializing speech engine...
[2026-10-20 05:21:20,851.851 INFO    ] 2026-10-20 05:21:20
[2026-10-20 05:21:21,095.095 INFO    ] 2026-10-20 05:21:21
[2026-10-20 05:21:21,131.131 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:21:21,381.381 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:21:21,390.390 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:21:21,623.623 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:21:21,648.648 INFO    ] time= 20/10/2026 05:21:21
[2026-10-20 05:21:21,654.654 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:21:21,671.671 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:21:21,799.799 INFO    ] No existing commands found in stream
[2026-10-20 05:21:26,813.813 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:21:26,815.815 INFO    ] Waiting 3.89 seconds before fallback handling...
[2026-10-20 05:21:31,300.300 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:21:31,304.304 INFO    ] Checking for system updates...
[2026-10-20 05:21:31,345.345 INFO    ] 200
[2026-10-20 05:21:31,348.348 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:21:31,405.405 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:21:31,409.409 INFO    ] No update needed
[2026-10-20 05:21:31,412.412 INFO    ] Checking for camera pi updates...
[2026-10-20 05:21:31,452.452 INFO    ] 200
[2026-10-20 05:21:31,454.454 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:21:31,499.499 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:21:31,552.552 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:21:31,555.555 INFO    ] No camera update needed
[2026-10-20 05:21:31,558.558 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:21:31,561.561 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:21:31,567.567 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:21:31,572.572 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:21:33,614.614 INFO    ] ================================================
[2026-10-20 05:21:33,629.629 INFO    ] Launching Daemon at Tue Oct 20 05:21:33 IST 2026
[2026-10-20 05:21:33,640.640 INFO    ] ================================================
[2026-10-20 05:21:34,292.292 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:21:34
[2026-10-20 05:21:34,964.964 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:21:35,271.271 INFO    ] Initializing speech engine...
[2026-10-20 05:21:35,283.283 INFO    ] 2026-10-20 05:21:35
[2026-10-20 05:21:35,599.599 INFO    ] 2026-10-20 05:21:35
[2026-10-20 05:21:35,686.686 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:21:35,963.963 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:21:36,011.011 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:21:36,244.244 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:21:36,290.290 INFO    ] time= 20/10/2026 05:21:36
[2026-10-20 05:21:36,344.344 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:21:36,381.381 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:21:36,545.545 INFO    ] No existing commands found in stream
[2026-10-20 05:21:41,564.564 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:21:41,567.567 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-10-20 05:21:43,838.838 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:21:43,841.841 INFO    ] Checking for system updates...
[2026-10-20 05:21:43,879.879 INFO    ] 200
[2026-10-20 05:21:43,881.881 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:21:43,935.935 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:21:43,937.937 INFO    ] No update needed
[2026-10-20 05:21:43,940.940 INFO    ] Checking for camera pi updates...
[2026-10-20 05:21:43,975.975 INFO    ] 200
[2026-10-20 05:21:43,978.978 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:21:44,019.019 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:21:44,067.067 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:21:44,070.070 INFO    ] No camera update needed
[2026-10-20 05:21:44,073.073 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:21:44,075.075 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:21:44,081.081 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:21:44,087.087 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:21:46,129.129 INFO    ] ================================================
[2026-10-20 05:21:46,144.144 INFO    ] Launching Daemon at Tue Oct 20 05:21:46 IST 2026
[2026-10-20 05:21:46,154.154 INFO    ] ================================================
[2026-10-20 05:21:46,721.721 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:21:46
[2026-10-20 05:21:47,307.307 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:21:47,560.560 INFO    ] Initializing speech engine...
[2026-10-20 05:21:47,567.567 INFO    ] 2026-10-20 05:21:47
[2026-10-20 05:21:47,863.863 INFO    ] 2026-10-20 05:21:47
[2026-10-20 05:21:47,897.897 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:21:48,115.115 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:21:48,172.172 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:21:48,364.364 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:21:48,424.424 INFO    ] time= 20/10/2026 05:21:48
[2026-10-20 05:21:48,445.445 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:21:48,460.460 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:21:48,604.604 INFO    ] No existing commands found in stream
[2026-10-20 05:21:53,630.630 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:21:53,633.633 INFO    ] Waiting 2.10 seconds before fallback handling...
[2026-10-20 05:21:56,269.269 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:21:56,272.272 INFO    ] Checking for system updates...
[2026-10-20 05:21:56,309.309 INFO    ] 200
[2026-10-20 05:21:56,312.312 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:21:56,366.366 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:21:56,369.369 INFO    ] No update needed
[2026-10-20 05:21:56,372.372 INFO    ] Checking for camera pi updates...
[2026-10-20 05:21:56,407.407 INFO    ] 200
[2026-10-20 05:21:56,410.410 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:21:56,451.451 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:21:56,496.496 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:21:56,499.499 INFO    ] No camera update needed
[2026-10-20 05:21:56,502.502 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:21:56,505.505 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:21:56,511.511 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:21:56,517.517 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:21:58,559.559 INFO    ] ================================================
[2026-10-20 05:21:58,574.574 INFO    ] Launching Daemon at Tue Oct 20 05:21:58 IST 2026
[2026-10-20 05:21:58,585.585 INFO    ] ================================================
[2026-10-20 05:21:59,148.148 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:21:59
[2026-10-20 05:21:59,731.731 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:21:59,984.984 INFO    ] Initializing speech engine...
[2026-10-20 05:21:59,993.993 INFO    ] 2026-10-20 05:21:59
[2026-10-20 05:22:00,285.285 INFO    ] 2026-10-20 05:22:00
[2026-10-20 05:22:00,321.321 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:22:00,546.546 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:22:00,554.554 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:22:00,774.774 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:22:00,781.781 INFO    ] time= 20/10/2026 05:22:00
[2026-10-20 05:22:00,820.820 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:22:00,859.859 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:22:00,983.983 INFO    ] No existing commands found in stream
[2026-10-20 05:22:05,994.994 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:22:05,997.997 INFO    ] Waiting 2.83 seconds before fallback handling...
[2026-10-20 05:22:09,328.328 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:22:09,331.331 INFO    ] Checking for system updates...
[2026-10-20 05:22:09,366.366 INFO    ] 200
[2026-10-20 05:22:09,369.369 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:22:09,421.421 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:22:09,424.424 INFO    ] No update needed
[2026-10-20 05:22:09,426.426 INFO    ] Checking for camera pi updates...
[2026-10-20 05:22:09,460.460 INFO    ] 200
[2026-10-20 05:22:09,462.462 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:22:09,503.503 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:22:09,553.553 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:22:09,555.555 INFO    ] No camera update needed
[2026-10-20 05:22:09,557.557 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:22:09,560.560 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:22:09,565.565 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:22:09,570.570 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:22:11,611.611 INFO    ] ================================================
[2026-10-20 05:22:11,626.626 INFO    ] Launching Daemon at Tue Oct 20 05:22:11 IST 2026
[2026-10-20 05:22:11,639.639 INFO    ] ================================================
[2026-10-20 05:22:12,211.211 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:22:12
[2026-10-20 05:22:12,800.800 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:22:13,049.049 INFO    ] Initializing speech engine...
[2026-10-20 05:22:13,064.064 INFO    ] 2026-10-20 05:22:13
[2026-10-20 05:22:13,328.328 INFO    ] 2026-10-20 05:22:13
[2026-10-20 05:22:13,364.364 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:22:13,619.619 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:22:13,625.625 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:22:13,855.855 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:22:13,883.883 INFO    ] time= 20/10/2026 05:22:13
[2026-10-20 05:22:13,898.898 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:22:13,905.905 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:22:14,036.036 INFO    ] No existing commands found in stream
[2026-10-20 05:22:19,055.055 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:22:19,058.058 INFO    ] Waiting 1.76 seconds before fallback handling...
[2026-10-20 05:22:21,309.309 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:22:21,311.311 INFO    ] Checking for system updates...
[2026-10-20 05:22:21,347.347 INFO    ] 200
[2026-10-20 05:22:21,350.350 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:22:21,402.402 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:22:21,404.404 INFO    ] No update needed
[2026-10-20 05:22:21,407.407 INFO    ] Checking for camera pi updates...
[2026-10-20 05:22:21,441.441 INFO    ] 200
[2026-10-20 05:22:21,443.443 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:22:21,488.488 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:22:21,521.521 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:22:21,523.523 INFO    ] No camera update needed
[2026-10-20 05:22:21,526.526 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:22:21,528.528 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:22:21,534.534 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:22:21,539.539 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:22:23,579.579 INFO    ] ================================================
[2026-10-20 05:22:23,594.594 INFO    ] Launching Daemon at Tue Oct 20 05:22:23 IST 2026
[2026-10-20 05:22:23,605.605 INFO    ] ================================================
[2026-10-20 05:22:24,257.257 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:22:24
[2026-10-20 05:22:24,932.932 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:22:25,239.239 INFO    ] Initializing speech engine...
[2026-10-20 05:22:25,252.252 INFO    ] 2026-10-20 05:22:25
[2026-10-20 05:22:25,562.562 INFO    ] 2026-10-20 05:22:25
[2026-10-20 05:22:25,647.647 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:22:25,862.862 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:22:25,867.867 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:22:26,064.064 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:22:26,084.084 INFO    ] time= 20/10/2026 05:22:26
[2026-10-20 05:22:26,099.099 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:22:26,123.123 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:22:26,251.251 INFO    ] No existing commands found in stream
[2026-10-20 05:22:31,281.281 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:22:31,285.285 INFO    ] Waiting 1.75 seconds before fallback handling...
[2026-10-20 05:22:33,538.538 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:22:33,542.542 INFO    ] Checking for system updates...
[2026-10-20 05:22:33,580.580 INFO    ] 200
[2026-10-20 05:22:33,584.584 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:22:33,643.643 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:22:33,646.646 INFO    ] No update needed
[2026-10-20 05:22:33,648.648 INFO    ] Checking for camera pi updates...
[2026-10-20 05:22:33,682.682 INFO    ] 200
[2026-10-20 05:22:33,684.684 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:22:33,724.724 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:22:33,757.757 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:22:33,760.760 INFO    ] No camera update needed
[2026-10-20 05:22:33,763.763 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:22:33,765.765 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:22:33,770.770 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:22:33,775.775 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:22:35,816.816 INFO    ] ================================================
[2026-10-20 05:22:35,831.831 INFO    ] Launching Daemon at Tue Oct 20 05:22:35 IST 2026
[2026-10-20 05:22:35,842.842 INFO    ] ================================================
[2026-10-20 05:22:36,406.406 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:22:36
[2026-10-20 05:22:37,041.041 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:22:37,337.337 INFO    ] Initializing speech engine...
[2026-10-20 05:22:37,346.346 INFO    ] 2026-10-20 05:22:37
[2026-10-20 05:22:37,658.658 INFO    ] 2026-10-20 05:22:37
[2026-10-20 05:22:37,746.746 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:22:37,959.959 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:22:37,967.967 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:22:38,161.161 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:22:38,183.183 INFO    ] time= 20/10/2026 05:22:38
[2026-10-20 05:22:38,210.210 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:22:38,235.235 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:22:38,384.384 INFO    ] No existing commands found in stream
[2026-10-20 05:22:43,420.420 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:22:43,423.423 INFO    ] Waiting 3.70 seconds before fallback handling...
[2026-10-20 05:22:47,711.711 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:22:47,714.714 INFO    ] Checking for system updates...
[2026-10-20 05:22:47,752.752 INFO    ] 200
[2026-10-20 05:22:47,755.755 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:22:47,814.814 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:22:47,817.817 INFO    ] No update needed
[2026-10-20 05:22:47,820.820 INFO    ] Checking for camera pi updates...
[2026-10-20 05:22:47,853.853 INFO    ] 200
[2026-10-20 05:22:47,856.856 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:22:47,896.896 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:22:47,949.949 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:22:47,952.952 INFO    ] No camera update needed
[2026-10-20 05:22:47,954.954 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:22:47,956.956 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:22:47,962.962 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:22:47,966.966 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:22:50,007.007 INFO    ] ================================================
[2026-10-20 05:22:50,023.023 INFO    ] Launching Daemon at Tue Oct 20 05:22:50 IST 2026
[2026-10-20 05:22:50,034.034 INFO    ] ================================================
[2026-10-20 05:22:50,676.676 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:22:50
[2026-10-20 05:22:51,338.338 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:22:51,637.637 INFO    ] Initializing speech engine...
[2026-10-20 05:22:51,644.644 INFO    ] 2026-10-20 05:22:51
[2026-10-20 05:22:51,928.928 INFO    ] 2026-10-20 05:22:51
[2026-10-20 05:22:51,973.973 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:22:52,444.444 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:22:52,451.451 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:22:52,701.701 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:22:52,730.730 INFO    ] time= 20/10/2026 05:22:52
[2026-10-20 05:22:52,790.790 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:22:52,845.845 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:22:53,012.012 INFO    ] No existing commands found in stream
[2026-10-20 05:22:58,043.043 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:22:58,046.046 INFO    ] Waiting 3.72 seconds before fallback handling...
[2026-10-20 05:23:02,380.380 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:23:02,383.383 INFO    ] Checking for system updates...
[2026-10-20 05:23:02,424.424 INFO    ] 200
[2026-10-20 05:23:02,427.427 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:23:02,487.487 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:23:02,490.490 INFO    ] No update needed
[2026-10-20 05:23:02,493.493 INFO    ] Checking for camera pi updates...
[2026-10-20 05:23:02,541.541 INFO    ] 200
[2026-10-20 05:23:02,544.544 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:23:02,603.603 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:23:02,638.638 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:23:02,641.641 INFO    ] No camera update needed
[2026-10-20 05:23:02,645.645 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:23:02,649.649 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:23:02,657.657 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:23:02,665.665 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:23:04,707.707 INFO    ] ================================================
[2026-10-20 05:23:04,722.722 INFO    ] Launching Daemon at Tue Oct 20 05:23:04 IST 2026
[2026-10-20 05:23:04,733.733 INFO    ] ================================================
[2026-10-20 05:23:05,297.297 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:23:05
[2026-10-20 05:23:05,942.942 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:23:06,235.235 INFO    ] Initializing speech engine...
[2026-10-20 05:23:06,241.241 INFO    ] 2026-10-20 05:23:06
[2026-10-20 05:23:06,510.510 INFO    ] 2026-10-20 05:23:06
[2026-10-20 05:23:06,566.566 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:23:06,854.854 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:23:06,862.862 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:23:07,050.050 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:23:07,057.057 INFO    ] time= 20/10/2026 05:23:07
[2026-10-20 05:23:07,076.076 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:23:07,104.104 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:23:07,235.235 INFO    ] No existing commands found in stream
[2026-10-20 05:23:12,266.266 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:23:12,269.269 INFO    ] Waiting 1.99 seconds before fallback handling...
[2026-10-20 05:23:14,822.822 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 05:23:14,825.825 INFO    ] Checking for system updates...
[2026-10-20 05:23:14,862.862 INFO    ] 200
[2026-10-20 05:23:14,865.865 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:23:14,917.917 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:23:14,919.919 INFO    ] No update needed
[2026-10-20 05:23:14,922.922 INFO    ] Checking for camera pi updates...
[2026-10-20 05:23:14,956.956 INFO    ] 200
[2026-10-20 05:23:14,958.958 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:23:15,001.001 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:23:15,049.049 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:23:15,052.052 INFO    ] No camera update needed
[2026-10-20 05:23:15,054.054 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:23:15,056.056 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:23:15,061.061 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:23:15,066.066 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:23:17,106.106 INFO    ] ================================================
[2026-10-20 05:23:17,121.121 INFO    ] Launching Daemon at Tue Oct 20 05:23:17 IST 2026
[2026-10-20 05:23:17,132.132 INFO    ] ================================================
[2026-10-20 05:23:17,714.714 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:23:17
[2026-10-20 05:23:18,312.312 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:23:18,583.583 INFO    ] Initializing speech engine...
[2026-10-20 05:23:18,597.597 INFO    ] 2026-10-20 05:23:18
[2026-10-20 05:23:18,845.845 INFO    ] 2026-10-20 05:23:18
[2026-10-20 05:23:18,881.881 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:23:19,160.160 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:23:19,167.167 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:23:19,394.394 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:23:19,405.405 INFO    ] time= 20/10/2026 05:23:19
[2026-10-20 05:23:19,423.423 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:23:19,441.441 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:23:19,609.609 INFO    ] No existing commands found in stream
[2026-10-20 05:23:24,634.634 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:23:24,637.637 INFO    ] Waiting 2.51 seconds before fallback handling...
[2026-10-20 05:23:30,129.129 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:23:30,132.132 INFO    ] Checking for system updates...
[2026-10-20 05:23:30,167.167 INFO    ] 200
[2026-10-20 05:23:30,169.169 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:23:30,221.221 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:23:30,223.223 INFO    ] No update needed
[2026-10-20 05:23:30,225.225 INFO    ] Checking for camera pi updates...
[2026-10-20 05:23:30,262.262 INFO    ] 200
[2026-10-20 05:23:30,265.265 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:23:30,308.308 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:23:30,351.351 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:23:30,354.354 INFO    ] No camera update needed
[2026-10-20 05:23:30,356.356 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:23:30,359.359 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:23:30,364.364 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:23:30,369.369 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:23:32,417.417 INFO    ] ================================================
[2026-10-20 05:23:32,434.434 INFO    ] Launching Daemon at Tue Oct 20 05:23:32 IST 2026
[2026-10-20 05:23:32,445.445 INFO    ] ================================================
[2026-10-20 05:23:33,035.035 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:23:33
[2026-10-20 05:23:33,621.621 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:23:33,871.871 INFO    ] Initializing speech engine...
[2026-10-20 05:23:33,894.894 INFO    ] 2026-10-20 05:23:33
[2026-10-20 05:23:34,148.148 INFO    ] 2026-10-20 05:23:34
[2026-10-20 05:23:34,183.183 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:23:34,447.447 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:23:34,452.452 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:23:34,680.680 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:23:34,714.714 INFO    ] time= 20/10/2026 05:23:34
[2026-10-20 05:23:34,731.731 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:23:34,741.741 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:23:34,873.873 INFO    ] No existing commands found in stream
[2026-10-20 05:23:39,891.891 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:23:39,894.894 INFO    ] Waiting 2.82 seconds before fallback handling...
[2026-10-20 05:23:43,291.291 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 05:23:43,294.294 INFO    ] Checking for system updates...
[2026-10-20 05:23:43,330.330 INFO    ] 200
[2026-10-20 05:23:43,333.333 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:23:43,385.385 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:23:43,387.387 INFO    ] No update needed
[2026-10-20 05:23:43,390.390 INFO    ] Checking for camera pi updates...
[2026-10-20 05:23:43,427.427 INFO    ] 200
[2026-10-20 05:23:43,430.430 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:23:43,476.476 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:23:43,521.521 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:23:43,524.524 INFO    ] No camera update needed
[2026-10-20 05:23:43,526.526 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:23:43,529.529 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:23:43,535.535 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:23:43,541.541 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:23:45,582.582 INFO    ] ================================================
[2026-10-20 05:23:45,597.597 INFO    ] Launching Daemon at Tue Oct 20 05:23:45 IST 2026
[2026-10-20 05:23:45,608.608 INFO    ] ================================================
[2026-10-20 05:23:46,248.248 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:23:46
[2026-10-20 05:23:46,915.915 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:23:47,213.213 INFO    ] Initializing speech engine...
[2026-10-20 05:23:47,226.226 INFO    ] 2026-10-20 05:23:47
[2026-10-20 05:23:47,533.533 INFO    ] 2026-10-20 05:23:47
[2026-10-20 05:23:47,618.618 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:23:47,965.965 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:23:48,024.024 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:23:48,249.249 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:23:48,289.289 INFO    ] time= 20/10/2026 05:23:48
[2026-10-20 05:23:48,344.344 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:23:48,404.404 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:23:48,588.588 INFO    ] No existing commands found in stream
[2026-10-20 05:23:53,619.619 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:23:53,622.622 INFO    ] Waiting 1.13 seconds before fallback handling...
[2026-10-20 05:23:55,311.311 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:23:55,314.314 INFO    ] Checking for system updates...
[2026-10-20 05:23:55,350.350 INFO    ] 200
[2026-10-20 05:23:55,353.353 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:23:55,405.405 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:23:55,408.408 INFO    ] No update needed
[2026-10-20 05:23:55,411.411 INFO    ] Checking for camera pi updates...
[2026-10-20 05:23:55,444.444 INFO    ] 200
[2026-10-20 05:23:55,446.446 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:23:55,485.485 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:23:55,535.535 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:23:55,537.537 INFO    ] No camera update needed
[2026-10-20 05:23:55,540.540 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:23:55,542.542 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:23:55,548.548 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:23:55,553.553 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:23:57,594.594 INFO    ] ================================================
[2026-10-20 05:23:57,610.610 INFO    ] Launching Daemon at Tue Oct 20 05:23:57 IST 2026
[2026-10-20 05:23:57,622.622 INFO    ] ================================================
[2026-10-20 05:23:58,187.187 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:23:58
[2026-10-20 05:23:58,770.770 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:23:59,017.017 INFO    ] Initializing speech engine...
[2026-10-20 05:23:59,024.024 INFO    ] 2026-10-20 05:23:59
[2026-10-20 05:23:59,297.297 INFO    ] 2026-10-20 05:23:59
[2026-10-20 05:23:59,332.332 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:23:59,594.594 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:23:59,601.601 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:23:59,854.854 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:23:59,864.864 INFO    ] time= 20/10/2026 05:23:59
[2026-10-20 05:23:59,880.880 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:23:59,894.894 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:24:00,022.022 INFO    ] No existing commands found in stream
[2026-10-20 05:24:05,051.051 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:24:05,053.053 INFO    ] Waiting 1.79 seconds before fallback handling...
[2026-10-20 05:24:07,349.349 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 05:24:07,352.352 INFO    ] Checking for system updates...
[2026-10-20 05:24:07,387.387 INFO    ] 200
[2026-10-20 05:24:07,389.389 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:24:07,449.449 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:24:07,452.452 INFO    ] No update needed
[2026-10-20 05:24:07,454.454 INFO    ] Checking for camera pi updates...
[2026-10-20 05:24:07,489.489 INFO    ] 200
[2026-10-20 05:24:07,492.492 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:24:07,533.533 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:24:07,588.588 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:24:07,591.591 INFO    ] No camera update needed
[2026-10-20 05:24:07,593.593 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:24:07,595.595 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:24:07,600.600 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:24:07,605.605 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:24:09,645.645 INFO    ] ================================================
[2026-10-20 05:24:09,660.660 INFO    ] Launching Daemon at Tue Oct 20 05:24:09 IST 2026
[2026-10-20 05:24:09,671.671 INFO    ] ================================================
[2026-10-20 05:24:10,292.292 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:24:10
[2026-10-20 05:24:10,945.945 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:24:11,238.238 INFO    ] Initializing speech engine...
[2026-10-20 05:24:11,246.246 INFO    ] 2026-10-20 05:24:11
[2026-10-20 05:24:11,532.532 INFO    ] 2026-10-20 05:24:11
[2026-10-20 05:24:11,641.641 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:24:11,917.917 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:24:11,953.953 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:24:12,184.184 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:24:12,229.229 INFO    ] time= 20/10/2026 05:24:12
[2026-10-20 05:24:12,294.294 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:24:12,321.321 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:24:12,470.470 INFO    ] No existing commands found in stream
[2026-10-20 05:24:17,483.483 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:24:17,486.486 INFO    ] Waiting 0.85 seconds before fallback handling...
[2026-10-20 05:24:18,873.873 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:24:18,876.876 INFO    ] Checking for system updates...
[2026-10-20 05:24:18,911.911 INFO    ] 200
[2026-10-20 05:24:18,913.913 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:24:18,966.966 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:24:18,968.968 INFO    ] No update needed
[2026-10-20 05:24:18,971.971 INFO    ] Checking for camera pi updates...
[2026-10-20 05:24:19,004.004 INFO    ] 200
[2026-10-20 05:24:19,006.006 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:24:19,049.049 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:24:19,101.101 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:24:19,103.103 INFO    ] No camera update needed
[2026-10-20 05:24:19,106.106 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:24:19,108.108 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:24:19,113.113 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:24:19,118.118 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:24:21,159.159 INFO    ] ================================================
[2026-10-20 05:24:21,173.173 INFO    ] Launching Daemon at Tue Oct 20 05:24:21 IST 2026
[2026-10-20 05:24:21,184.184 INFO    ] ================================================
[2026-10-20 05:24:21,754.754 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:24:21
[2026-10-20 05:24:22,360.360 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:24:22,643.643 INFO    ] Initializing speech engine...
[2026-10-20 05:24:22,654.654 INFO    ] 2026-10-20 05:24:22
[2026-10-20 05:24:22,940.940 INFO    ] 2026-10-20 05:24:22
[2026-10-20 05:24:22,985.985 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:24:23,276.276 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:24:23,281.281 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:24:23,481.481 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:24:23,497.497 INFO    ] time= 20/10/2026 05:24:23
[2026-10-20 05:24:23,522.522 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:24:23,535.535 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:24:23,643.643 INFO    ] No existing commands found in stream
[2026-10-20 05:24:28,673.673 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:24:28,676.676 INFO    ] Waiting 3.40 seconds before fallback handling...
[2026-10-20 05:24:32,628.628 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:24:32,631.631 INFO    ] Checking for system updates...
[2026-10-20 05:24:32,666.666 INFO    ] 200
[2026-10-20 05:24:32,669.669 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:24:32,725.725 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:24:32,727.727 INFO    ] No update needed
[2026-10-20 05:24:32,729.729 INFO    ] Checking for camera pi updates...
[2026-10-20 05:24:32,763.763 INFO    ] 200
[2026-10-20 05:24:32,765.765 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:24:32,808.808 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:24:32,865.865 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:24:32,867.867 INFO    ] No camera update needed
[2026-10-20 05:24:32,870.870 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:24:32,872.872 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:24:32,877.877 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:24:32,882.882 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:24:34,922.922 INFO    ] ================================================
[2026-10-20 05:24:34,937.937 INFO    ] Launching Daemon at Tue Oct 20 05:24:34 IST 2026
[2026-10-20 05:24:34,949.949 INFO    ] ================================================
[2026-10-20 05:24:35,522.522 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:24:35
[2026-10-20 05:24:36,106.106 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:24:36,384.384 INFO    ] Initializing speech engine...
[2026-10-20 05:24:36,393.393 INFO    ] 2026-10-20 05:24:36
[2026-10-20 05:24:36,652.652 INFO    ] 2026-10-20 05:24:36
[2026-10-20 05:24:36,687.687 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:24:36,965.965 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:24:36,975.975 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:24:37,204.204 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:24:37,254.254 INFO    ] time= 20/10/2026 05:24:37
[2026-10-20 05:24:37,265.265 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:24:37,284.284 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:24:37,408.408 INFO    ] No existing commands found in stream
[2026-10-20 05:24:42,435.435 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:24:42,438.438 INFO    ] Waiting 0.11 seconds before fallback handling...
[2026-10-20 05:24:43,049.049 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:24:43,051.051 INFO    ] Checking for system updates...
[2026-10-20 05:24:43,089.089 INFO    ] 200
[2026-10-20 05:24:43,092.092 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:24:43,148.148 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:24:43,151.151 INFO    ] No update needed
[2026-10-20 05:24:43,154.154 INFO    ] Checking for camera pi updates...
[2026-10-20 05:24:43,188.188 INFO    ] 200
[2026-10-20 05:24:43,191.191 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:24:43,235.235 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:24:43,387.387 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:24:43,390.390 INFO    ] No camera update needed
[2026-10-20 05:24:43,393.393 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:24:43,395.395 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:24:43,401.401 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:24:43,407.407 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:24:45,448.448 INFO    ] ================================================
[2026-10-20 05:24:45,463.463 INFO    ] Launching Daemon at Tue Oct 20 05:24:45 IST 2026
[2026-10-20 05:24:45,474.474 INFO    ] ================================================
[2026-10-20 05:24:46,095.095 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:24:46
[2026-10-20 05:24:46,736.736 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:24:47,031.031 INFO    ] Initializing speech engine...
[2026-10-20 05:24:47,044.044 INFO    ] 2026-10-20 05:24:47
[2026-10-20 05:24:47,353.353 INFO    ] 2026-10-20 05:24:47
[2026-10-20 05:24:47,429.429 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:24:47,653.653 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:24:47,661.661 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:24:47,859.859 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:24:47,876.876 INFO    ] time= 20/10/2026 05:24:47
[2026-10-20 05:24:47,885.885 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:24:47,914.914 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:24:48,020.020 INFO    ] No existing commands found in stream
[2026-10-20 05:24:53,030.030 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:24:53,033.033 INFO    ] Waiting 1.82 seconds before fallback handling...
[2026-10-20 05:24:55,406.406 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:24:55,409.409 INFO    ] Checking for system updates...
[2026-10-20 05:24:55,449.449 INFO    ] 200
[2026-10-20 05:24:55,452.452 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:24:55,504.504 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:24:55,507.507 INFO    ] No update needed
[2026-10-20 05:24:55,510.510 INFO    ] Checking for camera pi updates...
[2026-10-20 05:24:55,546.546 INFO    ] 200
[2026-10-20 05:24:55,549.549 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:24:55,590.590 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:24:55,622.622 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:24:55,624.624 INFO    ] No camera update needed
[2026-10-20 05:24:55,627.627 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:24:55,630.630 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:24:55,636.636 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:24:55,641.641 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:24:57,682.682 INFO    ] ================================================
[2026-10-20 05:24:57,697.697 INFO    ] Launching Daemon at Tue Oct 20 05:24:57 IST 2026
[2026-10-20 05:24:57,709.709 INFO    ] ================================================
[2026-10-20 05:24:58,336.336 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:24:58
[2026-10-20 05:24:58,935.935 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:24:59,202.202 INFO    ] Initializing speech engine...
[2026-10-20 05:24:59,215.215 INFO    ] 2026-10-20 05:24:59
[2026-10-20 05:24:59,462.462 INFO    ] 2026-10-20 05:24:59
[2026-10-20 05:24:59,496.496 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:24:59,758.758 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:24:59,764.764 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:24:59,994.994 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:25:00,025.025 INFO    ] time= 20/10/2026 05:25:00
[2026-10-20 05:25:00,043.043 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:25:00,052.052 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:25:00,177.177 INFO    ] No existing commands found in stream
[2026-10-20 05:25:05,193.193 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:25:05,195.195 INFO    ] Waiting 2.56 seconds before fallback handling...
[2026-10-20 05:25:08,246.246 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 05:25:08,248.248 INFO    ] Checking for system updates...
[2026-10-20 05:25:08,285.285 INFO    ] 200
[2026-10-20 05:25:08,287.287 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:25:08,340.340 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:25:08,342.342 INFO    ] No update needed
[2026-10-20 05:25:08,345.345 INFO    ] Checking for camera pi updates...
[2026-10-20 05:25:08,382.382 INFO    ] 200
[2026-10-20 05:25:08,385.385 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:25:08,430.430 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:25:08,484.484 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:25:08,487.487 INFO    ] No camera update needed
[2026-10-20 05:25:08,489.489 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:25:08,491.491 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:25:08,497.497 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:25:08,502.502 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:25:10,542.542 INFO    ] ================================================
[2026-10-20 05:25:10,557.557 INFO    ] Launching Daemon at Tue Oct 20 05:25:10 IST 2026
[2026-10-20 05:25:10,568.568 INFO    ] ================================================
[2026-10-20 05:25:11,205.205 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:25:11
[2026-10-20 05:25:11,862.862 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:25:12,165.165 INFO    ] Initializing speech engine...
[2026-10-20 05:25:12,179.179 INFO    ] 2026-10-20 05:25:12
[2026-10-20 05:25:12,490.490 INFO    ] 2026-10-20 05:25:12
[2026-10-20 05:25:12,579.579 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:25:12,863.863 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:25:12,911.911 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:25:13,181.181 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:25:13,241.241 INFO    ] time= 20/10/2026 05:25:13
[2026-10-20 05:25:13,272.272 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:25:13,337.337 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:25:13,468.468 INFO    ] No existing commands found in stream
[2026-10-20 05:25:18,479.479 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:25:18,482.482 INFO    ] Waiting 2.59 seconds before fallback handling...
[2026-10-20 05:25:21,654.654 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:25:21,657.657 INFO    ] Checking for system updates...
[2026-10-20 05:25:21,695.695 INFO    ] 200
[2026-10-20 05:25:21,697.697 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:25:21,750.750 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:25:21,753.753 INFO    ] No update needed
[2026-10-20 05:25:21,755.755 INFO    ] Checking for camera pi updates...
[2026-10-20 05:25:21,789.789 INFO    ] 200
[2026-10-20 05:25:21,792.792 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:25:21,833.833 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:25:21,885.885 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:25:21,888.888 INFO    ] No camera update needed
[2026-10-20 05:25:21,890.890 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:25:21,893.893 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:25:21,899.899 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:25:21,905.905 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:25:23,945.945 INFO    ] ================================================
[2026-10-20 05:25:23,961.961 INFO    ] Launching Daemon at Tue Oct 20 05:25:23 IST 2026
[2026-10-20 05:25:23,972.972 INFO    ] ================================================
[2026-10-20 05:25:24,559.559 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:25:24
[2026-10-20 05:25:25,155.155 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:25:25,434.434 INFO    ] Initializing speech engine...
[2026-10-20 05:25:25,441.441 INFO    ] 2026-10-20 05:25:25
[2026-10-20 05:25:25,687.687 INFO    ] 2026-10-20 05:25:25
[2026-10-20 05:25:25,723.723 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:25:25,974.974 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:25:25,984.984 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:25:26,228.228 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:25:26,246.246 INFO    ] time= 20/10/2026 05:25:26
[2026-10-20 05:25:26,260.260 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:25:26,270.270 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:25:26,397.397 INFO    ] No existing commands found in stream
[2026-10-20 05:25:31,410.410 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:25:31,413.413 INFO    ] Waiting 2.12 seconds before fallback handling...
[2026-10-20 05:25:34,088.088 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 05:25:34,091.091 INFO    ] Checking for system updates...
[2026-10-20 05:25:34,126.126 INFO    ] 200
[2026-10-20 05:25:34,129.129 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:25:34,185.185 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:25:34,188.188 INFO    ] No update needed
[2026-10-20 05:25:34,191.191 INFO    ] Checking for camera pi updates...
[2026-10-20 05:25:34,223.223 INFO    ] 200
[2026-10-20 05:25:34,226.226 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:25:34,270.270 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:25:34,325.325 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:25:34,328.328 INFO    ] No camera update needed
[2026-10-20 05:25:34,330.330 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:25:34,333.333 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:25:34,338.338 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:25:34,343.343 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:25:36,382.382 INFO    ] ================================================
[2026-10-20 05:25:36,397.397 INFO    ] Launching Daemon at Tue Oct 20 05:25:36 IST 2026
[2026-10-20 05:25:36,407.407 INFO    ] ================================================
[2026-10-20 05:25:36,973.973 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:25:36
[2026-10-20 05:25:37,557.557 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:25:37,826.826 INFO    ] Initializing speech engine...
[2026-10-20 05:25:37,838.838 INFO    ] 2026-10-20 05:25:37
[2026-10-20 05:25:38,089.089 INFO    ] 2026-10-20 05:25:38
[2026-10-20 05:25:38,121.121 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:25:38,339.339 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:25:38,347.347 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:25:38,567.567 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:25:38,579.579 INFO    ] time= 20/10/2026 05:25:38
[2026-10-20 05:25:38,648.648 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:25:38,693.693 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:25:38,860.860 INFO    ] No existing commands found in stream
[2026-10-20 05:25:43,885.885 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:25:43,888.888 INFO    ] Waiting 3.50 seconds before fallback handling...
[2026-10-20 05:25:47,942.942 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:25:47,945.945 INFO    ] Checking for system updates...
[2026-10-20 05:25:47,983.983 INFO    ] 200
[2026-10-20 05:25:47,985.985 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:25:48,036.036 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:25:48,039.039 INFO    ] No update needed
[2026-10-20 05:25:48,041.041 INFO    ] Checking for camera pi updates...
[2026-10-20 05:25:48,074.074 INFO    ] 200
[2026-10-20 05:25:48,077.077 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:25:48,120.120 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:25:48,165.165 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:25:48,167.167 INFO    ] No camera update needed
[2026-10-20 05:25:48,169.169 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:25:48,172.172 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:25:48,177.177 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:25:48,182.182 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:25:50,223.223 INFO    ] ================================================
[2026-10-20 05:25:50,237.237 INFO    ] Launching Daemon at Tue Oct 20 05:25:50 IST 2026
[2026-10-20 05:25:50,248.248 INFO    ] ================================================
[2026-10-20 05:25:50,904.904 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:25:50
[2026-10-20 05:25:51,580.580 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:25:51,880.880 INFO    ] Initializing speech engine...
[2026-10-20 05:25:51,888.888 INFO    ] 2026-10-20 05:25:51
[2026-10-20 05:25:52,162.162 INFO    ] 2026-10-20 05:25:52
[2026-10-20 05:25:52,218.218 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:25:52,529.529 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:25:52,572.572 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:25:52,750.750 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:25:52,760.760 INFO    ] time= 20/10/2026 05:25:52
[2026-10-20 05:25:52,782.782 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:25:52,840.840 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:25:52,990.990 INFO    ] No existing commands found in stream
[2026-10-20 05:25:58,022.022 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:25:58,025.025 INFO    ] Waiting 1.02 seconds before fallback handling...
[2026-10-20 05:25:59,592.592 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:25:59,595.595 INFO    ] Checking for system updates...
[2026-10-20 05:25:59,631.631 INFO    ] 200
[2026-10-20 05:25:59,634.634 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:25:59,686.686 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:25:59,689.689 INFO    ] No update needed
[2026-10-20 05:25:59,692.692 INFO    ] Checking for camera pi updates...
[2026-10-20 05:25:59,726.726 INFO    ] 200
[2026-10-20 05:25:59,729.729 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:25:59,770.770 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:25:59,820.820 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:25:59,822.822 INFO    ] No camera update needed
[2026-10-20 05:25:59,825.825 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:25:59,828.828 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:25:59,834.834 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:25:59,840.840 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:26:01,891.891 INFO    ] ================================================
[2026-10-20 05:26:01,923.923 INFO    ] Launching Daemon at Tue Oct 20 05:26:01 IST 2026
[2026-10-20 05:26:01,952.952 INFO    ] ================================================
[2026-10-20 05:26:02,588.588 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:26:02
[2026-10-20 05:26:03,259.259 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:26:03,549.549 INFO    ] Initializing speech engine...
[2026-10-20 05:26:03,559.559 INFO    ] 2026-10-20 05:26:03
[2026-10-20 05:26:03,818.818 INFO    ] 2026-10-20 05:26:03
[2026-10-20 05:26:03,853.853 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:26:04,110.110 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:26:04,115.115 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:26:04,348.348 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:26:04,373.373 INFO    ] time= 20/10/2026 05:26:04
[2026-10-20 05:26:04,379.379 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:26:04,397.397 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:26:04,542.542 INFO    ] No existing commands found in stream
[2026-10-20 05:26:09,579.579 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:26:09,581.581 INFO    ] Waiting 0.29 seconds before fallback handling...
[2026-10-20 05:26:10,347.347 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:26:10,350.350 INFO    ] Checking for system updates...
[2026-10-20 05:26:10,386.386 INFO    ] 200
[2026-10-20 05:26:10,389.389 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:26:10,442.442 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:26:10,445.445 INFO    ] No update needed
[2026-10-20 05:26:10,448.448 INFO    ] Checking for camera pi updates...
[2026-10-20 05:26:10,485.485 INFO    ] 200
[2026-10-20 05:26:10,488.488 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:26:10,537.537 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:26:10,584.584 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:26:10,587.587 INFO    ] No camera update needed
[2026-10-20 05:26:10,590.590 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:26:10,593.593 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:26:10,599.599 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:26:10,605.605 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:26:12,647.647 INFO    ] ================================================
[2026-10-20 05:26:12,662.662 INFO    ] Launching Daemon at Tue Oct 20 05:26:12 IST 2026
[2026-10-20 05:26:12,672.672 INFO    ] ================================================
[2026-10-20 05:26:13,238.238 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:26:13
[2026-10-20 05:26:13,822.822 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:26:14,069.069 INFO    ] Initializing speech engine...
[2026-10-20 05:26:14,083.083 INFO    ] 2026-10-20 05:26:14
[2026-10-20 05:26:14,352.352 INFO    ] 2026-10-20 05:26:14
[2026-10-20 05:26:14,387.387 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:26:14,652.652 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:26:14,661.661 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:26:14,887.887 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:26:14,924.924 INFO    ] time= 20/10/2026 05:26:14
[2026-10-20 05:26:14,930.930 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:26:14,948.948 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:26:15,084.084 INFO    ] No existing commands found in stream
[2026-10-20 05:26:20,101.101 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:26:20,104.104 INFO    ] Waiting 2.49 seconds before fallback handling...
[2026-10-20 05:26:23,146.146 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:26:23,149.149 INFO    ] Checking for system updates...
[2026-10-20 05:26:23,185.185 INFO    ] 200
[2026-10-20 05:26:23,188.188 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:26:23,241.241 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:26:23,244.244 INFO    ] No update needed
[2026-10-20 05:26:23,246.246 INFO    ] Checking for camera pi updates...
[2026-10-20 05:26:23,284.284 INFO    ] 200
[2026-10-20 05:26:23,287.287 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:26:23,333.333 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:26:23,389.389 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:26:23,392.392 INFO    ] No camera update needed
[2026-10-20 05:26:23,394.394 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:26:23,397.397 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:26:23,403.403 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:26:23,409.409 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:26:25,450.450 INFO    ] ================================================
[2026-10-20 05:26:25,466.466 INFO    ] Launching Daemon at Tue Oct 20 05:26:25 IST 2026
[2026-10-20 05:26:25,477.477 INFO    ] ================================================
[2026-10-20 05:26:26,138.138 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:26:26
[2026-10-20 05:26:26,822.822 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:26:27,127.127 INFO    ] Initializing speech engine...
[2026-10-20 05:26:27,135.135 INFO    ] 2026-10-20 05:26:27
[2026-10-20 05:26:27,457.457 INFO    ] 2026-10-20 05:26:27
[2026-10-20 05:26:27,542.542 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:26:27,817.817 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:26:27,828.828 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:26:28,009.009 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:26:28,077.077 INFO    ] time= 20/10/2026 05:26:28
[2026-10-20 05:26:28,110.110 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:26:28,168.168 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:26:28,319.319 INFO    ] No existing commands found in stream
[2026-10-20 05:26:33,356.356 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:26:33,359.359 INFO    ] Waiting 3.38 seconds before fallback handling...
[2026-10-20 05:26:37,347.347 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:26:37,350.350 INFO    ] Checking for system updates...
[2026-10-20 05:26:37,387.387 INFO    ] 200
[2026-10-20 05:26:37,390.390 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:26:37,443.443 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:26:37,446.446 INFO    ] No update needed
[2026-10-20 05:26:37,449.449 INFO    ] Checking for camera pi updates...
[2026-10-20 05:26:37,485.485 INFO    ] 200
[2026-10-20 05:26:37,488.488 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:26:37,530.530 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:26:37,589.589 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:26:37,592.592 INFO    ] No camera update needed
[2026-10-20 05:26:37,595.595 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:26:37,598.598 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:26:37,604.604 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:26:37,610.610 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:26:39,651.651 INFO    ] ================================================
[2026-10-20 05:26:39,667.667 INFO    ] Launching Daemon at Tue Oct 20 05:26:39 IST 2026
[2026-10-20 05:26:39,677.677 INFO    ] ================================================
[2026-10-20 05:26:40,259.259 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:26:40
[2026-10-20 05:26:40,860.860 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:26:41,173.173 INFO    ] Initializing speech engine...
[2026-10-20 05:26:41,186.186 INFO    ] 2026-10-20 05:26:41
[2026-10-20 05:26:41,473.473 INFO    ] 2026-10-20 05:26:41
[2026-10-20 05:26:41,583.583 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:26:41,864.864 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:26:41,907.907 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:26:42,176.176 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:26:42,231.231 INFO    ] time= 20/10/2026 05:26:42
[2026-10-20 05:26:42,260.260 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:26:42,314.314 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:26:42,457.457 INFO    ] No existing commands found in stream
[2026-10-20 05:26:47,468.468 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:26:47,471.471 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-10-20 05:26:51,469.469 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 05:26:51,472.472 INFO    ] Checking for system updates...
[2026-10-20 05:26:51,514.514 INFO    ] 200
[2026-10-20 05:26:51,516.516 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:26:51,569.569 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:26:51,572.572 INFO    ] No update needed
[2026-10-20 05:26:51,574.574 INFO    ] Checking for camera pi updates...
[2026-10-20 05:26:51,607.607 INFO    ] 200
[2026-10-20 05:26:51,610.610 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:26:51,656.656 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:26:51,804.804 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:26:51,806.806 INFO    ] No camera update needed
[2026-10-20 05:26:51,809.809 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:26:51,811.811 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:26:51,817.817 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:26:51,822.822 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:26:53,862.862 INFO    ] ================================================
[2026-10-20 05:26:53,878.878 INFO    ] Launching Daemon at Tue Oct 20 05:26:53 IST 2026
[2026-10-20 05:26:53,888.888 INFO    ] ================================================
[2026-10-20 05:26:54,497.497 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:26:54
[2026-10-20 05:26:55,175.175 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:26:55,447.447 INFO    ] Initializing speech engine...
[2026-10-20 05:26:55,456.456 INFO    ] 2026-10-20 05:26:55
[2026-10-20 05:26:55,719.719 INFO    ] 2026-10-20 05:26:55
[2026-10-20 05:26:55,753.753 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:26:56,014.014 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:26:56,018.018 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:26:56,175.175 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:26:56,205.205 INFO    ] time= 20/10/2026 05:26:56
[2026-10-20 05:26:56,264.264 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:26:56,326.326 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:26:56,465.465 INFO    ] No existing commands found in stream
[2026-10-20 05:27:01,483.483 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:27:01,485.485 INFO    ] Waiting 2.07 seconds before fallback handling...
[2026-10-20 05:27:04,067.067 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:27:04,070.070 INFO    ] Checking for system updates...
[2026-10-20 05:27:04,105.105 INFO    ] 200
[2026-10-20 05:27:04,107.107 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:27:04,167.167 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:27:04,169.169 INFO    ] No update needed
[2026-10-20 05:27:04,172.172 INFO    ] Checking for camera pi updates...
[2026-10-20 05:27:04,204.204 INFO    ] 200
[2026-10-20 05:27:04,207.207 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:27:04,250.250 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:27:04,296.296 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:27:04,299.299 INFO    ] No camera update needed
[2026-10-20 05:27:04,301.301 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:27:04,303.303 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:27:04,309.309 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:27:04,314.314 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:27:06,354.354 INFO    ] ================================================
[2026-10-20 05:27:06,370.370 INFO    ] Launching Daemon at Tue Oct 20 05:27:06 IST 2026
[2026-10-20 05:27:06,381.381 INFO    ] ================================================
[2026-10-20 05:27:06,946.946 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:27:06
[2026-10-20 05:27:07,529.529 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:27:07,798.798 INFO    ] Initializing speech engine...
[2026-10-20 05:27:07,807.807 INFO    ] 2026-10-20 05:27:07
[2026-10-20 05:27:08,052.052 INFO    ] 2026-10-20 05:27:08
[2026-10-20 05:27:08,087.087 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:27:08,342.342 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:27:08,347.347 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:27:08,591.591 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:27:08,609.609 INFO    ] time= 20/10/2026 05:27:08
[2026-10-20 05:27:08,623.623 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:27:08,632.632 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:27:08,760.760 INFO    ] No existing commands found in stream
[2026-10-20 05:27:13,773.773 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:27:13,776.776 INFO    ] Waiting 3.47 seconds before fallback handling...
[2026-10-20 05:27:17,787.787 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 05:27:17,789.789 INFO    ] Checking for system updates...
[2026-10-20 05:27:17,825.825 INFO    ] 200
[2026-10-20 05:27:17,827.827 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:27:17,880.880 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:27:17,882.882 INFO    ] No update needed
[2026-10-20 05:27:17,884.884 INFO    ] Checking for camera pi updates...
[2026-10-20 05:27:17,917.917 INFO    ] 200
[2026-10-20 05:27:17,920.920 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:27:17,960.960 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:27:18,009.009 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:27:18,012.012 INFO    ] No camera update needed
[2026-10-20 05:27:18,014.014 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:27:18,016.016 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:27:18,022.022 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:27:18,027.027 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:27:20,070.070 INFO    ] ================================================
[2026-10-20 05:27:20,085.085 INFO    ] Launching Daemon at Tue Oct 20 05:27:20 IST 2026
[2026-10-20 05:27:20,096.096 INFO    ] ================================================
[2026-10-20 05:27:20,679.679 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:27:20
[2026-10-20 05:27:21,317.317 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:27:21,624.624 INFO    ] Initializing speech engine...
[2026-10-20 05:27:21,633.633 INFO    ] 2026-10-20 05:27:21
[2026-10-20 05:27:21,925.925 INFO    ] 2026-10-20 05:27:21
[2026-10-20 05:27:22,040.040 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:27:22,317.317 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:27:22,349.349 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:27:22,597.597 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:27:22,637.637 INFO    ] time= 20/10/2026 05:27:22
[2026-10-20 05:27:22,697.697 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:27:22,756.756 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:27:22,905.905 INFO    ] No existing commands found in stream
[2026-10-20 05:27:27,924.924 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:27:27,927.927 INFO    ] Waiting 1.14 seconds before fallback handling...
[2026-10-20 05:27:29,612.612 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:27:29,615.615 INFO    ] Checking for system updates...
[2026-10-20 05:27:29,655.655 INFO    ] 200
[2026-10-20 05:27:29,658.658 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:27:29,711.711 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:27:29,713.713 INFO    ] No update needed
[2026-10-20 05:27:29,716.716 INFO    ] Checking for camera pi updates...
[2026-10-20 05:27:29,754.754 INFO    ] 200
[2026-10-20 05:27:29,757.757 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:27:29,799.799 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:27:29,850.850 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:27:29,853.853 INFO    ] No camera update needed
[2026-10-20 05:27:29,855.855 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:27:29,858.858 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:27:29,864.864 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:27:29,870.870 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:27:31,912.912 INFO    ] ================================================
[2026-10-20 05:27:31,929.929 INFO    ] Launching Daemon at Tue Oct 20 05:27:31 IST 2026
[2026-10-20 05:27:31,942.942 INFO    ] ================================================
[2026-10-20 05:27:32,566.566 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:27:32
[2026-10-20 05:27:33,269.269 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:27:33,571.571 INFO    ] Initializing speech engine...
[2026-10-20 05:27:33,579.579 INFO    ] 2026-10-20 05:27:33
[2026-10-20 05:27:33,867.867 INFO    ] 2026-10-20 05:27:33
[2026-10-20 05:27:33,914.914 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:27:34,199.199 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:27:34,206.206 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:27:34,401.401 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:27:34,418.418 INFO    ] time= 20/10/2026 05:27:34
[2026-10-20 05:27:34,427.427 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:27:34,454.454 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:27:34,622.622 INFO    ] No existing commands found in stream
[2026-10-20 05:27:39,648.648 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:27:39,652.652 INFO    ] Waiting 1.37 seconds before fallback handling...
[2026-10-20 05:27:41,590.590 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:27:41,593.593 INFO    ] Checking for system updates...
[2026-10-20 05:27:41,630.630 INFO    ] 200
[2026-10-20 05:27:41,632.632 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:27:41,684.684 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:27:41,687.687 INFO    ] No update needed
[2026-10-20 05:27:41,689.689 INFO    ] Checking for camera pi updates...
[2026-10-20 05:27:41,727.727 INFO    ] 200
[2026-10-20 05:27:41,729.729 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:27:41,774.774 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:27:41,824.824 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:27:41,827.827 INFO    ] No camera update needed
[2026-10-20 05:27:41,829.829 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:27:41,832.832 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:27:41,837.837 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:27:41,842.842 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:27:43,881.881 INFO    ] ================================================
[2026-10-20 05:27:43,896.896 INFO    ] Launching Daemon at Tue Oct 20 05:27:43 IST 2026
[2026-10-20 05:27:43,907.907 INFO    ] ================================================
[2026-10-20 05:27:44,556.556 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:27:44
[2026-10-20 05:27:45,166.166 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:27:45,434.434 INFO    ] Initializing speech engine...
[2026-10-20 05:27:45,447.447 INFO    ] 2026-10-20 05:27:45
[2026-10-20 05:27:45,698.698 INFO    ] 2026-10-20 05:27:45
[2026-10-20 05:27:45,733.733 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:27:45,991.991 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:27:46,000.000 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:27:46,236.236 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:27:46,266.266 INFO    ] time= 20/10/2026 05:27:46
[2026-10-20 05:27:46,283.283 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:27:46,292.292 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:27:46,415.415 INFO    ] No existing commands found in stream
[2026-10-20 05:27:51,433.433 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:27:51,436.436 INFO    ] Waiting 0.98 seconds before fallback handling...
[2026-10-20 05:27:52,946.946 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:27:52,949.949 INFO    ] Checking for system updates...
[2026-10-20 05:27:52,984.984 INFO    ] 200
[2026-10-20 05:27:52,986.986 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:27:53,044.044 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:27:53,047.047 INFO    ] No update needed
[2026-10-20 05:27:53,049.049 INFO    ] Checking for camera pi updates...
[2026-10-20 05:27:53,082.082 INFO    ] 200
[2026-10-20 05:27:53,084.084 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:27:53,124.124 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:27:53,178.178 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:27:53,180.180 INFO    ] No camera update needed
[2026-10-20 05:27:53,183.183 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:27:53,185.185 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:27:53,190.190 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:27:53,195.195 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:27:55,235.235 INFO    ] ================================================
[2026-10-20 05:27:55,250.250 INFO    ] Launching Daemon at Tue Oct 20 05:27:55 IST 2026
[2026-10-20 05:27:55,261.261 INFO    ] ================================================
[2026-10-20 05:27:55,845.845 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:27:55
[2026-10-20 05:27:56,434.434 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:27:56,692.692 INFO    ] Initializing speech engine...
[2026-10-20 05:27:56,711.711 INFO    ] 2026-10-20 05:27:56
[2026-10-20 05:27:56,971.971 INFO    ] 2026-10-20 05:27:56
[2026-10-20 05:27:57,006.006 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:27:57,232.232 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:27:57,240.240 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:27:57,460.460 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:27:57,466.466 INFO    ] time= 20/10/2026 05:27:57
[2026-10-20 05:27:57,506.506 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:27:57,570.570 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:27:57,734.734 INFO    ] No existing commands found in stream
[2026-10-20 05:28:02,758.758 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:28:02,761.761 INFO    ] Waiting 3.69 seconds before fallback handling...
[2026-10-20 05:28:06,984.984 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 05:28:06,986.986 INFO    ] Checking for system updates...
[2026-10-20 05:28:07,022.022 INFO    ] 200
[2026-10-20 05:28:07,024.024 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:28:07,076.076 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:28:07,079.079 INFO    ] No update needed
[2026-10-20 05:28:07,081.081 INFO    ] Checking for camera pi updates...
[2026-10-20 05:28:07,114.114 INFO    ] 200
[2026-10-20 05:28:07,116.116 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:28:07,156.156 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:28:07,204.204 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:28:07,206.206 INFO    ] No camera update needed
[2026-10-20 05:28:07,209.209 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:28:07,211.211 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:28:07,216.216 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:28:07,221.221 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:28:09,261.261 INFO    ] ================================================
[2026-10-20 05:28:09,276.276 INFO    ] Launching Daemon at Tue Oct 20 05:28:09 IST 2026
[2026-10-20 05:28:09,286.286 INFO    ] ================================================
[2026-10-20 05:28:09,927.927 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:28:09
[2026-10-20 05:28:10,590.590 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:28:10,888.888 INFO    ] Initializing speech engine...
[2026-10-20 05:28:10,903.903 INFO    ] 2026-10-20 05:28:10
[2026-10-20 05:28:11,185.185 INFO    ] 2026-10-20 05:28:11
[2026-10-20 05:28:11,222.222 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:28:11,510.510 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:28:11,520.520 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:28:11,720.720 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:28:11,741.741 INFO    ] time= 20/10/2026 05:28:11
[2026-10-20 05:28:11,767.767 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:28:11,776.776 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:28:11,878.878 INFO    ] No existing commands found in stream
[2026-10-20 05:28:16,894.894 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:28:16,897.897 INFO    ] Waiting 2.83 seconds before fallback handling...
[2026-10-20 05:28:20,310.310 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:28:20,313.313 INFO    ] Checking for system updates...
[2026-10-20 05:28:20,353.353 INFO    ] 200
[2026-10-20 05:28:20,355.355 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:28:20,409.409 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:28:20,411.411 INFO    ] No update needed
[2026-10-20 05:28:20,414.414 INFO    ] Checking for camera pi updates...
[2026-10-20 05:28:20,454.454 INFO    ] 200
[2026-10-20 05:28:20,457.457 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:28:20,503.503 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:28:20,550.550 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:28:20,553.553 INFO    ] No camera update needed
[2026-10-20 05:28:20,556.556 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:28:20,559.559 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:28:20,565.565 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:28:20,571.571 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:28:22,610.610 INFO    ] ================================================
[2026-10-20 05:28:22,625.625 INFO    ] Launching Daemon at Tue Oct 20 05:28:22 IST 2026
[2026-10-20 05:28:22,635.635 INFO    ] ================================================
[2026-10-20 05:28:23,200.200 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:28:23
[2026-10-20 05:28:23,786.786 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:28:24,046.046 INFO    ] Initializing speech engine...
[2026-10-20 05:28:24,065.065 INFO    ] 2026-10-20 05:28:24
[2026-10-20 05:28:24,315.315 INFO    ] 2026-10-20 05:28:24
[2026-10-20 05:28:24,351.351 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:28:24,619.619 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:28:24,629.629 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:28:24,849.849 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:28:24,908.908 INFO    ] time= 20/10/2026 05:28:24
[2026-10-20 05:28:24,925.925 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:28:24,931.931 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:28:25,091.091 INFO    ] No existing commands found in stream
[2026-10-20 05:28:30,105.105 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:28:30,108.108 INFO    ] Waiting 2.12 seconds before fallback handling...
[2026-10-20 05:28:32,773.773 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:28:32,775.775 INFO    ] Checking for system updates...
[2026-10-20 05:28:32,813.813 INFO    ] 200
[2026-10-20 05:28:32,816.816 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:28:32,875.875 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:28:32,877.877 INFO    ] No update needed
[2026-10-20 05:28:32,880.880 INFO    ] Checking for camera pi updates...
[2026-10-20 05:28:32,919.919 INFO    ] 200
[2026-10-20 05:28:32,922.922 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:28:32,972.972 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:28:33,030.030 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:28:33,032.032 INFO    ] No camera update needed
[2026-10-20 05:28:33,034.034 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:28:33,036.036 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:28:33,042.042 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:28:33,049.049 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:28:35,090.090 INFO    ] ================================================
[2026-10-20 05:28:35,105.105 INFO    ] Launching Daemon at Tue Oct 20 05:28:35 IST 2026
[2026-10-20 05:28:35,116.116 INFO    ] ================================================
[2026-10-20 05:28:35,755.755 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:28:35
[2026-10-20 05:28:36,415.415 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:28:36,716.716 INFO    ] Initializing speech engine...
[2026-10-20 05:28:36,724.724 INFO    ] 2026-10-20 05:28:36
[2026-10-20 05:28:37,037.037 INFO    ] 2026-10-20 05:28:37
[2026-10-20 05:28:37,117.117 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:28:37,337.337 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:28:37,344.344 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:28:37,540.540 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:28:37,558.558 INFO    ] time= 20/10/2026 05:28:37
[2026-10-20 05:28:37,586.586 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:28:37,595.595 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:28:37,704.704 INFO    ] No existing commands found in stream
[2026-10-20 05:28:42,739.739 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:28:42,743.743 INFO    ] Waiting 0.58 seconds before fallback handling...
[2026-10-20 05:28:43,888.888 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:28:43,891.891 INFO    ] Checking for system updates...
[2026-10-20 05:28:43,931.931 INFO    ] 200
[2026-10-20 05:28:43,934.934 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:28:43,988.988 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:28:43,991.991 INFO    ] No update needed
[2026-10-20 05:28:43,994.994 INFO    ] Checking for camera pi updates...
[2026-10-20 05:28:44,028.028 INFO    ] 200
[2026-10-20 05:28:44,031.031 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:28:44,071.071 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:28:44,119.119 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:28:44,122.122 INFO    ] No camera update needed
[2026-10-20 05:28:44,124.124 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:28:44,126.126 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:28:44,132.132 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:28:44,137.137 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:28:46,176.176 INFO    ] ================================================
[2026-10-20 05:28:46,192.192 INFO    ] Launching Daemon at Tue Oct 20 05:28:46 IST 2026
[2026-10-20 05:28:46,203.203 INFO    ] ================================================
[2026-10-20 05:28:46,771.771 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:28:46
[2026-10-20 05:28:47,356.356 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:28:47,623.623 INFO    ] Initializing speech engine...
[2026-10-20 05:28:47,632.632 INFO    ] 2026-10-20 05:28:47
[2026-10-20 05:28:47,878.878 INFO    ] 2026-10-20 05:28:47
[2026-10-20 05:28:47,913.913 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:28:48,188.188 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:28:48,197.197 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:28:48,423.423 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:28:48,434.434 INFO    ] time= 20/10/2026 05:28:48
[2026-10-20 05:28:48,451.451 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:28:48,458.458 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:28:48,586.586 INFO    ] No existing commands found in stream
[2026-10-20 05:28:53,598.598 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:28:53,601.601 INFO    ] Waiting 2.98 seconds before fallback handling...
[2026-10-20 05:28:57,131.131 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 05:28:57,134.134 INFO    ] Checking for system updates...
[2026-10-20 05:28:57,169.169 INFO    ] 200
[2026-10-20 05:28:57,172.172 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:28:57,224.224 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:28:57,227.227 INFO    ] No update needed
[2026-10-20 05:28:57,229.229 INFO    ] Checking for camera pi updates...
[2026-10-20 05:28:57,262.262 INFO    ] 200
[2026-10-20 05:28:57,264.264 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:28:57,304.304 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:28:57,447.447 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:28:57,450.450 INFO    ] No camera update needed
[2026-10-20 05:28:57,452.452 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:28:57,454.454 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:28:57,460.460 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:28:57,464.464 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:28:59,504.504 INFO    ] ================================================
[2026-10-20 05:28:59,519.519 INFO    ] Launching Daemon at Tue Oct 20 05:28:59 IST 2026
[2026-10-20 05:28:59,530.530 INFO    ] ================================================
[2026-10-20 05:29:00,098.098 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:29:00
[2026-10-20 05:29:00,683.683 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:29:00,951.951 INFO    ] Initializing speech engine...
[2026-10-20 05:29:00,960.960 INFO    ] 2026-10-20 05:29:00
[2026-10-20 05:29:01,208.208 INFO    ] 2026-10-20 05:29:01
[2026-10-20 05:29:01,244.244 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:29:01,500.500 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:29:01,507.507 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:29:01,742.742 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:29:01,774.774 INFO    ] time= 20/10/2026 05:29:01
[2026-10-20 05:29:01,801.801 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:29:01,833.833 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:29:01,931.931 INFO    ] No existing commands found in stream
[2026-10-20 05:29:06,942.942 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:29:06,944.944 INFO    ] Waiting 3.43 seconds before fallback handling...
[2026-10-20 05:29:10,958.958 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:29:10,960.960 INFO    ] Checking for system updates...
[2026-10-20 05:29:10,996.996 INFO    ] 200
[2026-10-20 05:29:10,999.999 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:29:11,055.055 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:29:11,057.057 INFO    ] No update needed
[2026-10-20 05:29:11,059.059 INFO    ] Checking for camera pi updates...
[2026-10-20 05:29:11,093.093 INFO    ] 200
[2026-10-20 05:29:11,096.096 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:29:11,135.135 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:29:11,187.187 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:29:11,189.189 INFO    ] No camera update needed
[2026-10-20 05:29:11,192.192 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:29:11,194.194 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:29:11,200.200 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:29:11,205.205 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:29:13,246.246 INFO    ] ================================================
[2026-10-20 05:29:13,261.261 INFO    ] Launching Daemon at Tue Oct 20 05:29:13 IST 2026
[2026-10-20 05:29:13,272.272 INFO    ] ================================================
[2026-10-20 05:29:13,839.839 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:29:13
[2026-10-20 05:29:14,423.423 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:29:14,674.674 INFO    ] Initializing speech engine...
[2026-10-20 05:29:14,693.693 INFO    ] 2026-10-20 05:29:14
[2026-10-20 05:29:14,953.953 INFO    ] 2026-10-20 05:29:14
[2026-10-20 05:29:14,994.994 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:29:15,251.251 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:29:15,257.257 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:29:15,496.496 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:29:15,521.521 INFO    ] time= 20/10/2026 05:29:15
[2026-10-20 05:29:15,537.537 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:29:15,546.546 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:29:15,678.678 INFO    ] No existing commands found in stream
[2026-10-20 05:29:20,697.697 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:29:20,700.700 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-10-20 05:29:24,767.767 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 05:29:24,770.770 INFO    ] Checking for system updates...
[2026-10-20 05:29:24,806.806 INFO    ] 200
[2026-10-20 05:29:24,808.808 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:29:24,860.860 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:29:24,862.862 INFO    ] No update needed
[2026-10-20 05:29:24,865.865 INFO    ] Checking for camera pi updates...
[2026-10-20 05:29:24,898.898 INFO    ] 200
[2026-10-20 05:29:24,900.900 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:29:24,941.941 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:29:24,986.986 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:29:24,989.989 INFO    ] No camera update needed
[2026-10-20 05:29:24,991.991 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:29:24,993.993 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:29:24,999.999 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:29:25,004.004 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:29:27,044.044 INFO    ] ================================================
[2026-10-20 05:29:27,059.059 INFO    ] Launching Daemon at Tue Oct 20 05:29:27 IST 2026
[2026-10-20 05:29:27,070.070 INFO    ] ================================================
[2026-10-20 05:29:27,635.635 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:29:27
[2026-10-20 05:29:28,220.220 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:29:28,467.467 INFO    ] Initializing speech engine...
[2026-10-20 05:29:28,489.489 INFO    ] 2026-10-20 05:29:28
[2026-10-20 05:29:28,746.746 INFO    ] 2026-10-20 05:29:28
[2026-10-20 05:29:28,780.780 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:29:29,043.043 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:29:29,049.049 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:29:29,191.191 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:29:29,194.194 INFO    ] time= 20/10/2026 05:29:29
[2026-10-20 05:29:29,196.196 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:29:29,214.214 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:29:29,334.334 INFO    ] No existing commands found in stream
[2026-10-20 05:29:34,345.345 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:29:34,348.348 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-10-20 05:29:36,364.364 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:29:36,367.367 INFO    ] Checking for system updates...
[2026-10-20 05:29:36,402.402 INFO    ] 200
[2026-10-20 05:29:36,404.404 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:29:36,456.456 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:29:36,458.458 INFO    ] No update needed
[2026-10-20 05:29:36,461.461 INFO    ] Checking for camera pi updates...
[2026-10-20 05:29:36,498.498 INFO    ] 200
[2026-10-20 05:29:36,501.501 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:29:36,545.545 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:29:36,588.588 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:29:36,591.591 INFO    ] No camera update needed
[2026-10-20 05:29:36,593.593 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:29:36,595.595 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:29:36,601.601 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:29:36,606.606 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:29:38,645.645 INFO    ] ================================================
[2026-10-20 05:29:38,660.660 INFO    ] Launching Daemon at Tue Oct 20 05:29:38 IST 2026
[2026-10-20 05:29:38,671.671 INFO    ] ================================================
[2026-10-20 05:29:39,238.238 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:29:39
[2026-10-20 05:29:39,822.822 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:29:40,073.073 INFO    ] Initializing speech engine...
[2026-10-20 05:29:40,086.086 INFO    ] 2026-10-20 05:29:40
[2026-10-20 05:29:40,353.353 INFO    ] 2026-10-20 05:29:40
[2026-10-20 05:29:40,390.390 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:29:40,649.649 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:29:40,657.657 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:29:40,879.879 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:29:40,922.922 INFO    ] time= 20/10/2026 05:29:40
[2026-10-20 05:29:40,929.929 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:29:40,947.947 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:29:41,081.081 INFO    ] No existing commands found in stream
[2026-10-20 05:29:46,097.097 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:29:46,100.100 INFO    ] Waiting 3.93 seconds before fallback handling...
[2026-10-20 05:29:50,543.543 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:29:50,545.545 INFO    ] Checking for system updates...
[2026-10-20 05:29:50,581.581 INFO    ] 200
[2026-10-20 05:29:50,584.584 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:29:50,635.635 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:29:50,637.637 INFO    ] No update needed
[2026-10-20 05:29:50,640.640 INFO    ] Checking for camera pi updates...
[2026-10-20 05:29:50,673.673 INFO    ] 200
[2026-10-20 05:29:50,676.676 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:29:50,720.720 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:29:50,773.773 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:29:50,775.775 INFO    ] No camera update needed
[2026-10-20 05:29:50,778.778 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:29:50,780.780 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:29:50,785.785 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:29:50,790.790 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:29:52,831.831 INFO    ] ================================================
[2026-10-20 05:29:52,846.846 INFO    ] Launching Daemon at Tue Oct 20 05:29:52 IST 2026
[2026-10-20 05:29:52,856.856 INFO    ] ================================================
[2026-10-20 05:29:53,419.419 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:29:53
[2026-10-20 05:29:54,000.000 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:29:54,267.267 INFO    ] Initializing speech engine...
[2026-10-20 05:29:54,276.276 INFO    ] 2026-10-20 05:29:54
[2026-10-20 05:29:54,521.521 INFO    ] 2026-10-20 05:29:54
[2026-10-20 05:29:54,555.555 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:29:54,811.811 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:29:54,816.816 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:29:55,047.047 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:29:55,070.070 INFO    ] time= 20/10/2026 05:29:55
[2026-10-20 05:29:55,076.076 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:29:55,095.095 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:29:55,230.230 INFO    ] No existing commands found in stream
[2026-10-20 05:30:00,260.260 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:30:00,263.263 INFO    ] Waiting 0.12 seconds before fallback handling...
[2026-10-20 05:30:00,909.909 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 05:30:00,911.911 INFO    ] Checking for system updates...
[2026-10-20 05:30:00,946.946 INFO    ] 200
[2026-10-20 05:30:00,948.948 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:30:01,001.001 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:30:01,004.004 INFO    ] No update needed
[2026-10-20 05:30:01,006.006 INFO    ] Checking for camera pi updates...
[2026-10-20 05:30:01,039.039 INFO    ] 200
[2026-10-20 05:30:01,042.042 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:30:01,115.115 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:30:01,258.258 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:30:01,262.262 INFO    ] No camera update needed
[2026-10-20 05:30:01,266.266 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:30:01,270.270 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:30:01,280.280 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:30:01,289.289 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:30:03,343.343 INFO    ] ================================================
[2026-10-20 05:30:03,359.359 INFO    ] Launching Daemon at Tue Oct 20 05:30:03 IST 2026
[2026-10-20 05:30:03,370.370 INFO    ] ================================================
[2026-10-20 05:30:03,968.968 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:30:03
[2026-10-20 05:30:04,551.551 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:30:04,823.823 INFO    ] Initializing speech engine...
[2026-10-20 05:30:04,828.828 INFO    ] 2026-10-20 05:30:04
[2026-10-20 05:30:05,073.073 INFO    ] 2026-10-20 05:30:05
[2026-10-20 05:30:05,107.107 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:30:05,369.369 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:30:05,378.378 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:30:05,590.590 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:30:05,642.642 INFO    ] time= 20/10/2026 05:30:05
[2026-10-20 05:30:05,648.648 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:30:05,666.666 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:30:05,796.796 INFO    ] No existing commands found in stream
[2026-10-20 05:30:10,810.810 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:30:10,813.813 INFO    ] Waiting 1.26 seconds before fallback handling...
[2026-10-20 05:30:12,567.567 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:30:12,570.570 INFO    ] Checking for system updates...
[2026-10-20 05:30:12,608.608 INFO    ] 200
[2026-10-20 05:30:12,611.611 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:30:12,662.662 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:30:12,665.665 INFO    ] No update needed
[2026-10-20 05:30:12,667.667 INFO    ] Checking for camera pi updates...
[2026-10-20 05:30:12,701.701 INFO    ] 200
[2026-10-20 05:30:12,703.703 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:30:12,744.744 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:30:12,795.795 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:30:12,798.798 INFO    ] No camera update needed
[2026-10-20 05:30:12,801.801 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:30:12,803.803 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:30:12,808.808 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:30:12,813.813 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:30:14,852.852 INFO    ] ================================================
[2026-10-20 05:30:14,868.868 INFO    ] Launching Daemon at Tue Oct 20 05:30:14 IST 2026
[2026-10-20 05:30:14,879.879 INFO    ] ================================================
[2026-10-20 05:30:15,446.446 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:30:15
[2026-10-20 05:30:16,028.028 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:30:16,295.295 INFO    ] Initializing speech engine...
[2026-10-20 05:30:16,304.304 INFO    ] 2026-10-20 05:30:16
[2026-10-20 05:30:16,551.551 INFO    ] 2026-10-20 05:30:16
[2026-10-20 05:30:16,585.585 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:30:16,840.840 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:30:16,845.845 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:30:17,096.096 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:30:17,103.103 INFO    ] time= 20/10/2026 05:30:17
[2026-10-20 05:30:17,120.120 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:30:17,137.137 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:30:17,270.270 INFO    ] No existing commands found in stream
[2026-10-20 05:30:22,300.300 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:30:22,303.303 INFO    ] Waiting 3.05 seconds before fallback handling...
[2026-10-20 05:30:25,917.917 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:30:25,919.919 INFO    ] Checking for system updates...
[2026-10-20 05:30:25,959.959 INFO    ] 200
[2026-10-20 05:30:25,961.961 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:30:26,014.014 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:30:26,016.016 INFO    ] No update needed
[2026-10-20 05:30:26,019.019 INFO    ] Checking for camera pi updates...
[2026-10-20 05:30:26,053.053 INFO    ] 200
[2026-10-20 05:30:26,055.055 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:30:26,096.096 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:30:26,155.155 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:30:26,157.157 INFO    ] No camera update needed
[2026-10-20 05:30:26,160.160 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:30:26,162.162 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:30:26,167.167 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:30:26,173.173 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:30:28,214.214 INFO    ] ================================================
[2026-10-20 05:30:28,231.231 INFO    ] Launching Daemon at Tue Oct 20 05:30:28 IST 2026
[2026-10-20 05:30:28,242.242 INFO    ] ================================================
[2026-10-20 05:30:28,807.807 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:30:28
[2026-10-20 05:30:29,390.390 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:30:29,659.659 INFO    ] Initializing speech engine...
[2026-10-20 05:30:29,668.668 INFO    ] 2026-10-20 05:30:29
[2026-10-20 05:30:29,920.920 INFO    ] 2026-10-20 05:30:29
[2026-10-20 05:30:29,955.955 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:30:30,205.205 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:30:30,212.212 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:30:30,434.434 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:30:30,470.470 INFO    ] time= 20/10/2026 05:30:30
[2026-10-20 05:30:30,476.476 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:30:30,494.494 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:30:30,609.609 INFO    ] No existing commands found in stream
[2026-10-20 05:30:35,634.634 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:30:35,636.636 INFO    ] Waiting 1.64 seconds before fallback handling...
[2026-10-20 05:30:37,808.808 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:30:37,810.810 INFO    ] Checking for system updates...
[2026-10-20 05:30:37,846.846 INFO    ] 200
[2026-10-20 05:30:37,849.849 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:30:37,908.908 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:30:37,910.910 INFO    ] No update needed
[2026-10-20 05:30:37,913.913 INFO    ] Checking for camera pi updates...
[2026-10-20 05:30:37,946.946 INFO    ] 200
[2026-10-20 05:30:37,948.948 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:30:37,990.990 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:30:38,042.042 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:30:38,044.044 INFO    ] No camera update needed
[2026-10-20 05:30:38,047.047 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:30:38,049.049 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:30:38,054.054 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:30:38,060.060 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:30:40,103.103 INFO    ] ================================================
[2026-10-20 05:30:40,119.119 INFO    ] Launching Daemon at Tue Oct 20 05:30:40 IST 2026
[2026-10-20 05:30:40,130.130 INFO    ] ================================================
[2026-10-20 05:30:40,791.791 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:30:40
[2026-10-20 05:30:41,442.442 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:30:41,711.711 INFO    ] Initializing speech engine...
[2026-10-20 05:30:41,719.719 INFO    ] 2026-10-20 05:30:41
[2026-10-20 05:30:41,966.966 INFO    ] 2026-10-20 05:30:41
[2026-10-20 05:30:42,001.001 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:30:42,257.257 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:30:42,263.263 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:30:42,478.478 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:30:42,519.519 INFO    ] time= 20/10/2026 05:30:42
[2026-10-20 05:30:42,525.525 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:30:42,543.543 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:30:42,674.674 INFO    ] No existing commands found in stream
[2026-10-20 05:30:47,697.697 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:30:47,700.700 INFO    ] Waiting 1.76 seconds before fallback handling...
[2026-10-20 05:30:49,986.986 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 05:30:49,989.989 INFO    ] Checking for system updates...
[2026-10-20 05:30:50,029.029 INFO    ] 200
[2026-10-20 05:30:50,031.031 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:30:50,090.090 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:30:50,093.093 INFO    ] No update needed
[2026-10-20 05:30:50,096.096 INFO    ] Checking for camera pi updates...
[2026-10-20 05:30:50,129.129 INFO    ] 200
[2026-10-20 05:30:50,132.132 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:30:50,174.174 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:30:50,218.218 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:30:50,221.221 INFO    ] No camera update needed
[2026-10-20 05:30:50,223.223 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:30:50,225.225 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:30:50,231.231 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:30:50,236.236 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:30:52,276.276 INFO    ] ================================================
[2026-10-20 05:30:52,292.292 INFO    ] Launching Daemon at Tue Oct 20 05:30:52 IST 2026
[2026-10-20 05:30:52,303.303 INFO    ] ================================================
[2026-10-20 05:30:52,889.889 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:30:52
[2026-10-20 05:30:53,514.514 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:30:53,793.793 INFO    ] Initializing speech engine...
[2026-10-20 05:30:53,802.802 INFO    ] 2026-10-20 05:30:53
[2026-10-20 05:30:54,062.062 INFO    ] 2026-10-20 05:30:54
[2026-10-20 05:30:54,092.092 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:30:54,366.366 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:30:54,385.385 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:30:54,602.602 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:30:54,619.619 INFO    ] time= 20/10/2026 05:30:54
[2026-10-20 05:30:54,628.628 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:30:54,654.654 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:30:54,762.762 INFO    ] No existing commands found in stream
[2026-10-20 05:30:59,790.790 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:30:59,793.793 INFO    ] Waiting 2.00 seconds before fallback handling...
[2026-10-20 05:31:02,480.480 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:31:02,484.484 INFO    ] Checking for system updates...
[2026-10-20 05:31:02,529.529 INFO    ] 200
[2026-10-20 05:31:02,532.532 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:31:02,593.593 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:31:02,596.596 INFO    ] No update needed
[2026-10-20 05:31:02,599.599 INFO    ] Checking for camera pi updates...
[2026-10-20 05:31:02,646.646 INFO    ] 200
[2026-10-20 05:31:02,650.650 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:31:02,703.703 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:31:02,734.734 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:31:02,737.737 INFO    ] No camera update needed
[2026-10-20 05:31:02,740.740 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:31:02,743.743 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:31:02,750.750 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:31:02,757.757 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:31:04,800.800 INFO    ] ================================================
[2026-10-20 05:31:04,816.816 INFO    ] Launching Daemon at Tue Oct 20 05:31:04 IST 2026
[2026-10-20 05:31:04,828.828 INFO    ] ================================================
[2026-10-20 05:31:05,414.414 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:31:05
[2026-10-20 05:31:06,003.003 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:31:06,254.254 INFO    ] Initializing speech engine...
[2026-10-20 05:31:06,277.277 INFO    ] 2026-10-20 05:31:06
[2026-10-20 05:31:06,531.531 INFO    ] 2026-10-20 05:31:06
[2026-10-20 05:31:06,567.567 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:31:06,774.774 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:31:06,803.803 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:31:06,996.996 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:31:06,999.999 INFO    ] time= 20/10/2026 05:31:06
[2026-10-20 05:31:07,053.053 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:31:07,112.112 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:31:07,245.245 INFO    ] No existing commands found in stream
[2026-10-20 05:31:12,276.276 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:31:12,279.279 INFO    ] Waiting 2.90 seconds before fallback handling...
[2026-10-20 05:31:15,749.749 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:31:15,752.752 INFO    ] Checking for system updates...
[2026-10-20 05:31:15,792.792 INFO    ] 200
[2026-10-20 05:31:15,794.794 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:31:15,854.854 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:31:15,856.856 INFO    ] No update needed
[2026-10-20 05:31:15,858.858 INFO    ] Checking for camera pi updates...
[2026-10-20 05:31:15,893.893 INFO    ] 200
[2026-10-20 05:31:15,895.895 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:31:15,935.935 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:31:15,994.994 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:31:15,996.996 INFO    ] No camera update needed
[2026-10-20 05:31:15,999.999 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:31:16,001.001 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:31:16,007.007 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:31:16,012.012 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:31:18,055.055 INFO    ] ================================================
[2026-10-20 05:31:18,071.071 INFO    ] Launching Daemon at Tue Oct 20 05:31:18 IST 2026
[2026-10-20 05:31:18,083.083 INFO    ] ================================================
[2026-10-20 05:31:18,674.674 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:31:18
[2026-10-20 05:31:19,318.318 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:31:19,633.633 INFO    ] Initializing speech engine...
[2026-10-20 05:31:19,645.645 INFO    ] 2026-10-20 05:31:19
[2026-10-20 05:31:19,924.924 INFO    ] 2026-10-20 05:31:19
[2026-10-20 05:31:19,971.971 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:31:20,321.321 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:31:20,368.368 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:31:20,610.610 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:31:20,681.681 INFO    ] time= 20/10/2026 05:31:20
[2026-10-20 05:31:20,714.714 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:31:20,763.763 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:31:20,912.912 INFO    ] No existing commands found in stream
[2026-10-20 05:31:25,926.926 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:31:25,930.930 INFO    ] Waiting 2.40 seconds before fallback handling...
[2026-10-20 05:31:28,889.889 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:31:28,892.892 INFO    ] Checking for system updates...
[2026-10-20 05:31:28,936.936 INFO    ] 200
[2026-10-20 05:31:28,939.939 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:31:29,000.000 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:31:29,004.004 INFO    ] No update needed
[2026-10-20 05:31:29,006.006 INFO    ] Checking for camera pi updates...
[2026-10-20 05:31:29,042.042 INFO    ] 200
[2026-10-20 05:31:29,044.044 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:31:29,086.086 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:31:29,144.144 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:31:29,147.147 INFO    ] No camera update needed
[2026-10-20 05:31:29,150.150 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:31:29,153.153 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:31:29,159.159 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:31:29,165.165 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:31:31,208.208 INFO    ] ================================================
[2026-10-20 05:31:31,225.225 INFO    ] Launching Daemon at Tue Oct 20 05:31:31 IST 2026
[2026-10-20 05:31:31,235.235 INFO    ] ================================================
[2026-10-20 05:31:31,818.818 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:31:31
[2026-10-20 05:31:32,430.430 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:31:32,722.722 INFO    ] Initializing speech engine...
[2026-10-20 05:31:32,732.732 INFO    ] 2026-10-20 05:31:32
[2026-10-20 05:31:32,999.999 INFO    ] 2026-10-20 05:31:32
[2026-10-20 05:31:33,037.037 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:31:33,262.262 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:31:33,271.271 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:31:33,509.509 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:31:33,517.517 INFO    ] time= 20/10/2026 05:31:33
[2026-10-20 05:31:33,588.588 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:31:33,643.643 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:31:33,797.797 INFO    ] No existing commands found in stream
[2026-10-20 05:31:38,819.819 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:31:38,822.822 INFO    ] Waiting 3.79 seconds before fallback handling...
[2026-10-20 05:31:43,125.125 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:31:43,127.127 INFO    ] Checking for system updates...
[2026-10-20 05:31:43,162.162 INFO    ] 200
[2026-10-20 05:31:43,165.165 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:31:43,216.216 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:31:43,219.219 INFO    ] No update needed
[2026-10-20 05:31:43,221.221 INFO    ] Checking for camera pi updates...
[2026-10-20 05:31:43,255.255 INFO    ] 200
[2026-10-20 05:31:43,257.257 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:31:43,298.298 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:31:43,357.357 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:31:43,360.360 INFO    ] No camera update needed
[2026-10-20 05:31:43,362.362 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:31:43,365.365 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:31:43,371.371 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:31:43,377.377 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:31:45,420.420 INFO    ] ================================================
[2026-10-20 05:31:45,435.435 INFO    ] Launching Daemon at Tue Oct 20 05:31:45 IST 2026
[2026-10-20 05:31:45,449.449 INFO    ] ================================================
[2026-10-20 05:31:46,018.018 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:31:46
[2026-10-20 05:31:46,607.607 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:31:46,864.864 INFO    ] Initializing speech engine...
[2026-10-20 05:31:46,871.871 INFO    ] 2026-10-20 05:31:46
[2026-10-20 05:31:47,173.173 INFO    ] 2026-10-20 05:31:47
[2026-10-20 05:31:47,207.207 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:31:47,423.423 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:31:47,441.441 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:31:47,669.669 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:31:47,676.676 INFO    ] time= 20/10/2026 05:31:47
[2026-10-20 05:31:47,725.725 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:31:47,774.774 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:31:47,882.882 INFO    ] No existing commands found in stream
[2026-10-20 05:31:52,894.894 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:31:52,897.897 INFO    ] Waiting 3.13 seconds before fallback handling...
[2026-10-20 05:31:56,607.607 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:31:56,611.611 INFO    ] Checking for system updates...
[2026-10-20 05:31:56,648.648 INFO    ] 200
[2026-10-20 05:31:56,651.651 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:31:56,711.711 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:31:56,714.714 INFO    ] No update needed
[2026-10-20 05:31:56,717.717 INFO    ] Checking for camera pi updates...
[2026-10-20 05:31:56,760.760 INFO    ] 200
[2026-10-20 05:31:56,763.763 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:31:56,803.803 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:31:56,853.853 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:31:56,855.855 INFO    ] No camera update needed
[2026-10-20 05:31:56,857.857 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:31:56,860.860 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:31:56,865.865 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:31:56,870.870 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:31:58,910.910 INFO    ] ================================================
[2026-10-20 05:31:58,925.925 INFO    ] Launching Daemon at Tue Oct 20 05:31:58 IST 2026
[2026-10-20 05:31:58,935.935 INFO    ] ================================================
[2026-10-20 05:31:59,580.580 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:31:59
[2026-10-20 05:32:00,245.245 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:32:00,548.548 INFO    ] Initializing speech engine...
[2026-10-20 05:32:00,557.557 INFO    ] 2026-10-20 05:32:00
[2026-10-20 05:32:00,830.830 INFO    ] 2026-10-20 05:32:00
[2026-10-20 05:32:00,865.865 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:32:01,116.116 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:32:01,123.123 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:32:01,349.349 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:32:01,381.381 INFO    ] time= 20/10/2026 05:32:01
[2026-10-20 05:32:01,399.399 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:32:01,409.409 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:32:01,567.567 INFO    ] No existing commands found in stream
[2026-10-20 05:32:06,593.593 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:32:06,596.596 INFO    ] Waiting 1.80 seconds before fallback handling...
[2026-10-20 05:32:08,970.970 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:32:08,973.973 INFO    ] Checking for system updates...
[2026-10-20 05:32:09,009.009 INFO    ] 200
[2026-10-20 05:32:09,012.012 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:32:09,065.065 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:32:09,068.068 INFO    ] No update needed
[2026-10-20 05:32:09,071.071 INFO    ] Checking for camera pi updates...
[2026-10-20 05:32:09,110.110 INFO    ] 200
[2026-10-20 05:32:09,113.113 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:32:09,157.157 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:32:09,205.205 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:32:09,207.207 INFO    ] No camera update needed
[2026-10-20 05:32:09,210.210 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:32:09,212.212 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:32:09,217.217 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:32:09,222.222 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:32:11,261.261 INFO    ] ================================================
[2026-10-20 05:32:11,276.276 INFO    ] Launching Daemon at Tue Oct 20 05:32:11 IST 2026
[2026-10-20 05:32:11,287.287 INFO    ] ================================================
[2026-10-20 05:32:11,874.874 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:32:11
[2026-10-20 05:32:12,466.466 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:32:12,736.736 INFO    ] Initializing speech engine...
[2026-10-20 05:32:12,745.745 INFO    ] 2026-10-20 05:32:12
[2026-10-20 05:32:12,995.995 INFO    ] 2026-10-20 05:32:12
[2026-10-20 05:32:13,038.038 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:32:13,311.311 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:32:13,321.321 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:32:13,567.567 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:32:13,608.608 INFO    ] time= 20/10/2026 05:32:13
[2026-10-20 05:32:13,614.614 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:32:13,634.634 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:32:13,782.782 INFO    ] No existing commands found in stream
[2026-10-20 05:32:18,801.801 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:32:18,803.803 INFO    ] Waiting 3.56 seconds before fallback handling...
[2026-10-20 05:32:22,909.909 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 05:32:22,912.912 INFO    ] Checking for system updates...
[2026-10-20 05:32:22,947.947 INFO    ] 200
[2026-10-20 05:32:22,949.949 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:32:23,005.005 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:32:23,008.008 INFO    ] No update needed
[2026-10-20 05:32:23,010.010 INFO    ] Checking for camera pi updates...
[2026-10-20 05:32:23,044.044 INFO    ] 200
[2026-10-20 05:32:23,046.046 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:32:23,090.090 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:32:23,142.142 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:32:23,144.144 INFO    ] No camera update needed
[2026-10-20 05:32:23,147.147 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:32:23,149.149 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:32:23,154.154 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:32:23,159.159 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:32:25,199.199 INFO    ] ================================================
[2026-10-20 05:32:25,214.214 INFO    ] Launching Daemon at Tue Oct 20 05:32:25 IST 2026
[2026-10-20 05:32:25,225.225 INFO    ] ================================================
[2026-10-20 05:32:25,814.814 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:32:25
[2026-10-20 05:32:26,401.401 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:32:26,655.655 INFO    ] Initializing speech engine...
[2026-10-20 05:32:26,664.664 INFO    ] 2026-10-20 05:32:26
[2026-10-20 05:32:26,955.955 INFO    ] 2026-10-20 05:32:26
[2026-10-20 05:32:26,992.992 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:32:27,215.215 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:32:27,266.266 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:32:27,505.505 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:32:27,554.554 INFO    ] time= 20/10/2026 05:32:27
[2026-10-20 05:32:27,583.583 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:32:27,589.589 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:32:27,733.733 INFO    ] No existing commands found in stream
[2026-10-20 05:32:32,759.759 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:32:32,762.762 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-10-20 05:32:36,814.814 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 05:32:36,817.817 INFO    ] Checking for system updates...
[2026-10-20 05:32:36,852.852 INFO    ] 200
[2026-10-20 05:32:36,854.854 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:32:36,907.907 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:32:36,909.909 INFO    ] No update needed
[2026-10-20 05:32:36,912.912 INFO    ] Checking for camera pi updates...
[2026-10-20 05:32:36,944.944 INFO    ] 200
[2026-10-20 05:32:36,947.947 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:32:36,992.992 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:32:37,032.032 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:32:37,035.035 INFO    ] No camera update needed
[2026-10-20 05:32:37,037.037 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:32:37,040.040 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:32:37,045.045 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:32:37,050.050 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:32:39,091.091 INFO    ] ================================================
[2026-10-20 05:32:39,105.105 INFO    ] Launching Daemon at Tue Oct 20 05:32:39 IST 2026
[2026-10-20 05:32:39,116.116 INFO    ] ================================================
[2026-10-20 05:32:39,681.681 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:32:39
[2026-10-20 05:32:40,260.260 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:32:40,527.527 INFO    ] Initializing speech engine...
[2026-10-20 05:32:40,536.536 INFO    ] 2026-10-20 05:32:40
[2026-10-20 05:32:40,780.780 INFO    ] 2026-10-20 05:32:40
[2026-10-20 05:32:40,821.821 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:32:41,073.073 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:32:41,077.077 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:32:41,292.292 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:32:41,332.332 INFO    ] time= 20/10/2026 05:32:41
[2026-10-20 05:32:41,337.337 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:32:41,357.357 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:32:41,490.490 INFO    ] No existing commands found in stream
[2026-10-20 05:32:46,521.521 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:32:46,524.524 INFO    ] Waiting 2.81 seconds before fallback handling...
[2026-10-20 05:32:49,892.892 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:32:49,894.894 INFO    ] Checking for system updates...
[2026-10-20 05:32:49,930.930 INFO    ] 200
[2026-10-20 05:32:49,932.932 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:32:49,985.985 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:32:49,988.988 INFO    ] No update needed
[2026-10-20 05:32:49,991.991 INFO    ] Checking for camera pi updates...
[2026-10-20 05:32:50,024.024 INFO    ] 200
[2026-10-20 05:32:50,026.026 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:32:50,071.071 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:32:50,125.125 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:32:50,127.127 INFO    ] No camera update needed
[2026-10-20 05:32:50,129.129 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:32:50,132.132 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:32:50,137.137 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:32:50,142.142 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:32:52,183.183 INFO    ] ================================================
[2026-10-20 05:32:52,199.199 INFO    ] Launching Daemon at Tue Oct 20 05:32:52 IST 2026
[2026-10-20 05:32:52,209.209 INFO    ] ================================================
[2026-10-20 05:32:52,808.808 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:32:52
[2026-10-20 05:32:53,408.408 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:32:53,689.689 INFO    ] Initializing speech engine...
[2026-10-20 05:32:53,697.697 INFO    ] 2026-10-20 05:32:53
[2026-10-20 05:32:53,967.967 INFO    ] 2026-10-20 05:32:53
[2026-10-20 05:32:54,011.011 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:32:54,355.355 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:32:54,403.403 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:32:54,637.637 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:32:54,687.687 INFO    ] time= 20/10/2026 05:32:54
[2026-10-20 05:32:54,739.739 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:32:54,784.784 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:32:54,930.930 INFO    ] No existing commands found in stream
[2026-10-20 05:32:59,940.940 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:32:59,943.943 INFO    ] Waiting 3.01 seconds before fallback handling...
[2026-10-20 05:33:03,500.500 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:33:03,503.503 INFO    ] Checking for system updates...
[2026-10-20 05:33:03,546.546 INFO    ] 200
[2026-10-20 05:33:03,549.549 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:33:03,600.600 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:33:03,603.603 INFO    ] No update needed
[2026-10-20 05:33:03,605.605 INFO    ] Checking for camera pi updates...
[2026-10-20 05:33:03,651.651 INFO    ] 200
[2026-10-20 05:33:03,654.654 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:33:03,706.706 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:33:03,763.763 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:33:03,765.765 INFO    ] No camera update needed
[2026-10-20 05:33:03,767.767 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:33:03,770.770 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:33:03,775.775 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:33:03,780.780 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:33:05,821.821 INFO    ] ================================================
[2026-10-20 05:33:05,837.837 INFO    ] Launching Daemon at Tue Oct 20 05:33:05 IST 2026
[2026-10-20 05:33:05,848.848 INFO    ] ================================================
[2026-10-20 05:33:06,507.507 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:33:06
[2026-10-20 05:33:07,194.194 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:33:07,505.505 INFO    ] Initializing speech engine...
[2026-10-20 05:33:07,519.519 INFO    ] 2026-10-20 05:33:07
[2026-10-20 05:33:07,792.792 INFO    ] 2026-10-20 05:33:07
[2026-10-20 05:33:07,851.851 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:33:08,149.149 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:33:08,160.160 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:33:08,359.359 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:33:08,376.376 INFO    ] time= 20/10/2026 05:33:08
[2026-10-20 05:33:08,387.387 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:33:08,414.414 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:33:08,548.548 INFO    ] No existing commands found in stream
[2026-10-20 05:33:13,579.579 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:33:13,583.583 INFO    ] Waiting 0.05 seconds before fallback handling...
[2026-10-20 05:33:14,152.152 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 05:33:14,155.155 INFO    ] Checking for system updates...
[2026-10-20 05:33:14,194.194 INFO    ] 200
[2026-10-20 05:33:14,197.197 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 05:33:14,200.200 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-10-20 05:33:14,203.203 INFO    ] Checking for camera pi updates...
[2026-10-20 05:33:14,247.247 INFO    ] 200
[2026-10-20 05:33:14,250.250 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 05:33:14,254.254 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-10-20 05:33:14,257.257 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:33:14,260.260 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:33:14,267.267 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:33:14,274.274 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:33:16,315.315 INFO    ] ================================================
[2026-10-20 05:33:16,331.331 INFO    ] Launching Daemon at Tue Oct 20 05:33:16 IST 2026
[2026-10-20 05:33:16,343.343 INFO    ] ================================================
[2026-10-20 05:33:16,934.934 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:33:16
[2026-10-20 05:33:17,535.535 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:33:17,839.839 INFO    ] Initializing speech engine...
[2026-10-20 05:33:17,845.845 INFO    ] 2026-10-20 05:33:17
[2026-10-20 05:33:18,134.134 INFO    ] 2026-10-20 05:33:18
[2026-10-20 05:33:18,191.191 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:33:18,498.498 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:33:18,536.536 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:33:18,740.740 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:33:18,804.804 INFO    ] time= 20/10/2026 05:33:18
[2026-10-20 05:33:18,839.839 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:33:18,900.900 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:33:19,062.062 INFO    ] No existing commands found in stream
[2026-10-20 05:33:24,087.087 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:33:24,090.090 INFO    ] Waiting 2.29 seconds before fallback handling...
[2026-10-20 05:33:26,955.955 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:33:26,958.958 INFO    ] Checking for system updates...
[2026-10-20 05:33:27,000.000 INFO    ] 200
[2026-10-20 05:33:27,003.003 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:33:27,064.064 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:33:27,067.067 INFO    ] No update needed
[2026-10-20 05:33:27,070.070 INFO    ] Checking for camera pi updates...
[2026-10-20 05:33:27,105.105 INFO    ] 200
[2026-10-20 05:33:27,107.107 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:33:27,155.155 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:33:27,286.286 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:33:27,289.289 INFO    ] No camera update needed
[2026-10-20 05:33:27,292.292 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:33:27,295.295 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:33:27,301.301 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:33:27,307.307 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:33:29,350.350 INFO    ] ================================================
[2026-10-20 05:33:29,366.366 INFO    ] Launching Daemon at Tue Oct 20 05:33:29 IST 2026
[2026-10-20 05:33:29,377.377 INFO    ] ================================================
[2026-10-20 05:33:29,942.942 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:33:29
[2026-10-20 05:33:30,524.524 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:33:30,799.799 INFO    ] Initializing speech engine...
[2026-10-20 05:33:30,804.804 INFO    ] 2026-10-20 05:33:30
[2026-10-20 05:33:31,053.053 INFO    ] 2026-10-20 05:33:31
[2026-10-20 05:33:31,088.088 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:33:31,315.315 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:33:31,371.371 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:33:31,543.543 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:33:31,585.585 INFO    ] time= 20/10/2026 05:33:31
[2026-10-20 05:33:31,629.629 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:33:31,689.689 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:33:31,848.848 INFO    ] No existing commands found in stream
[2026-10-20 05:33:36,879.879 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:33:36,882.882 INFO    ] Waiting 2.65 seconds before fallback handling...
[2026-10-20 05:33:45,082.082 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:33:45,085.085 INFO    ] Checking for system updates...
[2026-10-20 05:33:45,124.124 INFO    ] 200
[2026-10-20 05:33:45,126.126 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:33:45,185.185 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:33:45,187.187 INFO    ] No update needed
[2026-10-20 05:33:45,190.190 INFO    ] Checking for camera pi updates...
[2026-10-20 05:33:45,227.227 INFO    ] 200
[2026-10-20 05:33:45,230.230 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:33:45,270.270 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:33:45,324.324 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:33:45,326.326 INFO    ] No camera update needed
[2026-10-20 05:33:45,329.329 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:33:45,331.331 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:33:45,336.336 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:33:45,341.341 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:33:47,381.381 INFO    ] ================================================
[2026-10-20 05:33:47,397.397 INFO    ] Launching Daemon at Tue Oct 20 05:33:47 IST 2026
[2026-10-20 05:33:47,408.408 INFO    ] ================================================
[2026-10-20 05:33:47,992.992 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:33:47
[2026-10-20 05:33:48,591.591 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:33:48,851.851 INFO    ] Initializing speech engine...
[2026-10-20 05:33:48,867.867 INFO    ] 2026-10-20 05:33:48
[2026-10-20 05:33:49,122.122 INFO    ] 2026-10-20 05:33:49
[2026-10-20 05:33:49,157.157 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:33:49,401.401 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:33:49,420.420 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:33:49,669.669 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:33:49,685.685 INFO    ] time= 20/10/2026 05:33:49
[2026-10-20 05:33:49,704.704 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:33:49,732.732 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:33:49,867.867 INFO    ] No existing commands found in stream
[2026-10-20 05:33:54,898.898 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:33:54,901.901 INFO    ] Waiting 0.57 seconds before fallback handling...
[2026-10-20 05:33:55,970.970 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 05:33:55,973.973 INFO    ] Checking for system updates...
[2026-10-20 05:33:56,009.009 INFO    ] 200
[2026-10-20 05:33:56,012.012 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:33:56,065.065 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:33:56,067.067 INFO    ] No update needed
[2026-10-20 05:33:56,070.070 INFO    ] Checking for camera pi updates...
[2026-10-20 05:33:56,103.103 INFO    ] 200
[2026-10-20 05:33:56,106.106 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:33:56,152.152 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:33:56,199.199 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:33:56,201.201 INFO    ] No camera update needed
[2026-10-20 05:33:56,204.204 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:33:56,206.206 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:33:56,212.212 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:33:56,217.217 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:33:58,258.258 INFO    ] ================================================
[2026-10-20 05:33:58,273.273 INFO    ] Launching Daemon at Tue Oct 20 05:33:58 IST 2026
[2026-10-20 05:33:58,284.284 INFO    ] ================================================
[2026-10-20 05:33:58,853.853 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:33:58
[2026-10-20 05:33:59,442.442 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:33:59,713.713 INFO    ] Initializing speech engine...
[2026-10-20 05:33:59,722.722 INFO    ] 2026-10-20 05:33:59
[2026-10-20 05:33:59,974.974 INFO    ] 2026-10-20 05:33:59
[2026-10-20 05:34:00,011.011 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:34:00,269.269 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:34:00,280.280 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:34:00,500.500 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:34:00,545.545 INFO    ] time= 20/10/2026 05:34:00
[2026-10-20 05:34:00,551.551 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:34:00,569.569 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:34:00,706.706 INFO    ] No existing commands found in stream
[2026-10-20 05:34:05,724.724 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:34:05,727.727 INFO    ] Waiting 1.71 seconds before fallback handling...
[2026-10-20 05:34:12,967.967 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 05:34:12,970.970 INFO    ] Checking for system updates...
[2026-10-20 05:34:13,006.006 INFO    ] 200
[2026-10-20 05:34:13,009.009 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:34:13,061.061 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:34:13,063.063 INFO    ] No update needed
[2026-10-20 05:34:13,066.066 INFO    ] Checking for camera pi updates...
[2026-10-20 05:34:13,103.103 INFO    ] 200
[2026-10-20 05:34:13,105.105 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:34:13,150.150 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:34:13,199.199 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:34:13,201.201 INFO    ] No camera update needed
[2026-10-20 05:34:13,204.204 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:34:13,206.206 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:34:13,211.211 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:34:13,216.216 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:34:15,259.259 INFO    ] ================================================
[2026-10-20 05:34:15,274.274 INFO    ] Launching Daemon at Tue Oct 20 05:34:15 IST 2026
[2026-10-20 05:34:15,285.285 INFO    ] ================================================
[2026-10-20 05:34:15,925.925 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:34:15
[2026-10-20 05:34:16,597.597 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:34:16,898.898 INFO    ] Initializing speech engine...
[2026-10-20 05:34:16,913.913 INFO    ] 2026-10-20 05:34:16
[2026-10-20 05:34:17,199.199 INFO    ] 2026-10-20 05:34:17
[2026-10-20 05:34:17,237.237 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:34:17,585.585 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:34:17,601.601 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:34:17,848.848 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:34:17,876.876 INFO    ] time= 20/10/2026 05:34:17
[2026-10-20 05:34:17,935.935 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:34:17,982.982 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:34:18,170.170 INFO    ] No existing commands found in stream
[2026-10-20 05:34:23,181.181 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:34:23,184.184 INFO    ] Waiting 2.00 seconds before fallback handling...
[2026-10-20 05:34:25,729.729 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:34:25,732.732 INFO    ] Checking for system updates...
[2026-10-20 05:34:25,769.769 INFO    ] 200
[2026-10-20 05:34:25,772.772 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:34:25,824.824 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:34:25,827.827 INFO    ] No update needed
[2026-10-20 05:34:25,830.830 INFO    ] Checking for camera pi updates...
[2026-10-20 05:34:25,864.864 INFO    ] 200
[2026-10-20 05:34:25,867.867 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:34:25,907.907 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:34:25,957.957 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:34:25,960.960 INFO    ] No camera update needed
[2026-10-20 05:34:25,963.963 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:34:25,965.965 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:34:25,971.971 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:34:25,977.977 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:34:28,018.018 INFO    ] ================================================
[2026-10-20 05:34:28,033.033 INFO    ] Launching Daemon at Tue Oct 20 05:34:28 IST 2026
[2026-10-20 05:34:28,044.044 INFO    ] ================================================
[2026-10-20 05:34:28,626.626 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:34:28
[2026-10-20 05:34:29,213.213 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:34:29,460.460 INFO    ] Initializing speech engine...
[2026-10-20 05:34:29,473.473 INFO    ] 2026-10-20 05:34:29
[2026-10-20 05:34:29,735.735 INFO    ] 2026-10-20 05:34:29
[2026-10-20 05:34:29,770.770 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:34:30,051.051 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:34:30,055.055 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:34:30,274.274 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:34:30,291.291 INFO    ] time= 20/10/2026 05:34:30
[2026-10-20 05:34:30,309.309 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:34:30,338.338 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:34:30,458.458 INFO    ] No existing commands found in stream
[2026-10-20 05:34:35,483.483 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:34:35,486.486 INFO    ] Waiting 3.35 seconds before fallback handling...
[2026-10-20 05:34:39,341.341 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 05:34:39,344.344 INFO    ] Checking for system updates...
[2026-10-20 05:34:39,379.379 INFO    ] 200
[2026-10-20 05:34:39,382.382 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:34:39,433.433 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:34:39,435.435 INFO    ] No update needed
[2026-10-20 05:34:39,438.438 INFO    ] Checking for camera pi updates...
[2026-10-20 05:34:39,475.475 INFO    ] 200
[2026-10-20 05:34:39,477.477 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:34:39,519.519 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:34:39,566.566 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:34:39,569.569 INFO    ] No camera update needed
[2026-10-20 05:34:39,572.572 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:34:39,574.574 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:34:39,580.580 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:34:39,586.586 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:34:41,627.627 INFO    ] ================================================
[2026-10-20 05:34:41,643.643 INFO    ] Launching Daemon at Tue Oct 20 05:34:41 IST 2026
[2026-10-20 05:34:41,653.653 INFO    ] ================================================
[2026-10-20 05:34:42,237.237 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:34:42
[2026-10-20 05:34:42,895.895 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:34:43,193.193 INFO    ] Initializing speech engine...
[2026-10-20 05:34:43,199.199 INFO    ] 2026-10-20 05:34:43
[2026-10-20 05:34:43,472.472 INFO    ] 2026-10-20 05:34:43
[2026-10-20 05:34:43,526.526 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:34:43,815.815 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:34:43,820.820 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:34:44,015.015 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:34:44,022.022 INFO    ] time= 20/10/2026 05:34:44
[2026-10-20 05:34:44,043.043 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:34:44,070.070 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:34:44,187.187 INFO    ] No existing commands found in stream
[2026-10-20 05:34:49,222.222 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:34:49,225.225 INFO    ] Waiting 1.48 seconds before fallback handling...
[2026-10-20 05:34:51,246.246 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:34:51,249.249 INFO    ] Checking for system updates...
[2026-10-20 05:34:51,285.285 INFO    ] 200
[2026-10-20 05:34:51,288.288 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:34:51,345.345 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:34:51,347.347 INFO    ] No update needed
[2026-10-20 05:34:51,350.350 INFO    ] Checking for camera pi updates...
[2026-10-20 05:34:51,386.386 INFO    ] 200
[2026-10-20 05:34:51,389.389 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:34:51,433.433 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:34:51,479.479 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:34:51,482.482 INFO    ] No camera update needed
[2026-10-20 05:34:51,484.484 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:34:51,486.486 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:34:51,492.492 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:34:51,496.496 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:34:53,539.539 INFO    ] ================================================
[2026-10-20 05:34:53,554.554 INFO    ] Launching Daemon at Tue Oct 20 05:34:53 IST 2026
[2026-10-20 05:34:53,565.565 INFO    ] ================================================
[2026-10-20 05:34:54,151.151 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:34:54
[2026-10-20 05:34:54,736.736 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:34:54,989.989 INFO    ] Initializing speech engine...
[2026-10-20 05:34:54,996.996 INFO    ] 2026-10-20 05:34:54
[2026-10-20 05:34:55,289.289 INFO    ] 2026-10-20 05:34:55
[2026-10-20 05:34:55,326.326 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:34:55,612.612 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:34:55,622.622 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:34:55,770.770 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:34:55,792.792 INFO    ] time= 20/10/2026 05:34:55
[2026-10-20 05:34:55,842.842 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:34:55,897.897 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:34:56,050.050 INFO    ] No existing commands found in stream
[2026-10-20 05:35:01,068.068 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:35:01,071.071 INFO    ] Waiting 0.56 seconds before fallback handling...
[2026-10-20 05:35:02,241.241 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:35:02,245.245 INFO    ] Checking for system updates...
[2026-10-20 05:35:02,357.357 INFO    ] 200
[2026-10-20 05:35:02,360.360 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:35:02,478.478 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:35:02,482.482 INFO    ] No update needed
[2026-10-20 05:35:02,491.491 INFO    ] Checking for camera pi updates...
[2026-10-20 05:35:02,544.544 INFO    ] 200
[2026-10-20 05:35:02,547.547 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:35:02,596.596 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:35:02,649.649 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:35:02,652.652 INFO    ] No camera update needed
[2026-10-20 05:35:02,656.656 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:35:02,659.659 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:35:02,667.667 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:35:02,674.674 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:35:04,721.721 INFO    ] ================================================
[2026-10-20 05:35:04,736.736 INFO    ] Launching Daemon at Tue Oct 20 05:35:04 IST 2026
[2026-10-20 05:35:04,747.747 INFO    ] ================================================
[2026-10-20 05:35:05,315.315 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:35:05
[2026-10-20 05:35:05,911.911 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:35:06,193.193 INFO    ] Initializing speech engine...
[2026-10-20 05:35:06,201.201 INFO    ] 2026-10-20 05:35:06
[2026-10-20 05:35:06,464.464 INFO    ] 2026-10-20 05:35:06
[2026-10-20 05:35:06,516.516 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:35:06,781.781 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:35:06,813.813 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:35:07,015.015 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:35:07,022.022 INFO    ] time= 20/10/2026 05:35:07
[2026-10-20 05:35:07,039.039 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:35:07,068.068 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:35:07,186.186 INFO    ] No existing commands found in stream
[2026-10-20 05:35:12,210.210 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:35:12,213.213 INFO    ] Waiting 1.87 seconds before fallback handling...
[2026-10-20 05:35:14,609.609 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:35:14,612.612 INFO    ] Checking for system updates...
[2026-10-20 05:35:14,651.651 INFO    ] 200
[2026-10-20 05:35:14,653.653 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:35:14,711.711 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:35:14,714.714 INFO    ] No update needed
[2026-10-20 05:35:14,717.717 INFO    ] Checking for camera pi updates...
[2026-10-20 05:35:14,755.755 INFO    ] 200
[2026-10-20 05:35:14,758.758 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:35:14,798.798 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:35:14,846.846 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:35:14,848.848 INFO    ] No camera update needed
[2026-10-20 05:35:14,851.851 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:35:14,854.854 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:35:14,860.860 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:35:14,866.866 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:35:16,905.905 INFO    ] ================================================
[2026-10-20 05:35:16,921.921 INFO    ] Launching Daemon at Tue Oct 20 05:35:16 IST 2026
[2026-10-20 05:35:16,932.932 INFO    ] ================================================
[2026-10-20 05:35:17,506.506 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:35:17
[2026-10-20 05:35:18,092.092 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:35:18,361.361 INFO    ] Initializing speech engine...
[2026-10-20 05:35:18,370.370 INFO    ] 2026-10-20 05:35:18
[2026-10-20 05:35:18,616.616 INFO    ] 2026-10-20 05:35:18
[2026-10-20 05:35:18,651.651 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:35:18,907.907 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:35:18,913.913 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:35:19,150.150 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:35:19,172.172 INFO    ] time= 20/10/2026 05:35:19
[2026-10-20 05:35:19,178.178 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:35:19,196.196 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:35:19,325.325 INFO    ] No existing commands found in stream
[2026-10-20 05:35:24,338.338 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:35:24,341.341 INFO    ] Waiting 0.67 seconds before fallback handling...
[2026-10-20 05:35:25,509.509 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:35:25,512.512 INFO    ] Checking for system updates...
[2026-10-20 05:35:25,548.548 INFO    ] 200
[2026-10-20 05:35:25,550.550 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:35:25,610.610 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:35:25,612.612 INFO    ] No update needed
[2026-10-20 05:35:25,615.615 INFO    ] Checking for camera pi updates...
[2026-10-20 05:35:25,649.649 INFO    ] 200
[2026-10-20 05:35:25,651.651 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:35:25,695.695 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:35:25,746.746 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:35:25,749.749 INFO    ] No camera update needed
[2026-10-20 05:35:25,752.752 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:35:25,754.754 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:35:25,760.760 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:35:25,766.766 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:35:27,808.808 INFO    ] ================================================
[2026-10-20 05:35:27,823.823 INFO    ] Launching Daemon at Tue Oct 20 05:35:27 IST 2026
[2026-10-20 05:35:27,834.834 INFO    ] ================================================
[2026-10-20 05:35:28,482.482 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:35:28
[2026-10-20 05:35:29,152.152 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:35:29,455.455 INFO    ] Initializing speech engine...
[2026-10-20 05:35:29,468.468 INFO    ] 2026-10-20 05:35:29
[2026-10-20 05:35:29,747.747 INFO    ] 2026-10-20 05:35:29
[2026-10-20 05:35:29,793.793 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:35:30,083.083 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:35:30,131.131 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:35:30,323.323 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:35:30,333.333 INFO    ] time= 20/10/2026 05:35:30
[2026-10-20 05:35:30,360.360 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:35:30,418.418 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:35:30,538.538 INFO    ] No existing commands found in stream
[2026-10-20 05:35:35,554.554 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:35:35,557.557 INFO    ] Waiting 0.94 seconds before fallback handling...
[2026-10-20 05:35:42,086.086 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:35:42,089.089 INFO    ] Checking for system updates...
[2026-10-20 05:35:42,126.126 INFO    ] 200
[2026-10-20 05:35:42,129.129 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:35:42,182.182 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:35:42,185.185 INFO    ] No update needed
[2026-10-20 05:35:42,187.187 INFO    ] Checking for camera pi updates...
[2026-10-20 05:35:42,225.225 INFO    ] 200
[2026-10-20 05:35:42,228.228 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:35:42,274.274 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:35:42,420.420 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:35:42,423.423 INFO    ] No camera update needed
[2026-10-20 05:35:42,425.425 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:35:42,428.428 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:35:42,434.434 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:35:42,440.440 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:35:44,481.481 INFO    ] ================================================
[2026-10-20 05:35:44,495.495 INFO    ] Launching Daemon at Tue Oct 20 05:35:44 IST 2026
[2026-10-20 05:35:44,506.506 INFO    ] ================================================
[2026-10-20 05:35:45,154.154 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:35:45
[2026-10-20 05:35:45,822.822 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:35:46,130.130 INFO    ] Initializing speech engine...
[2026-10-20 05:35:46,142.142 INFO    ] 2026-10-20 05:35:46
[2026-10-20 05:35:46,427.427 INFO    ] 2026-10-20 05:35:46
[2026-10-20 05:35:46,467.467 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:35:46,752.752 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:35:46,761.761 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:35:46,957.957 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:35:46,976.976 INFO    ] time= 20/10/2026 05:35:46
[2026-10-20 05:35:46,999.999 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:35:47,012.012 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:35:47,115.115 INFO    ] No existing commands found in stream
[2026-10-20 05:35:52,145.145 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:35:52,148.148 INFO    ] Waiting 2.08 seconds before fallback handling...
[2026-10-20 05:35:54,785.785 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 05:35:54,789.789 INFO    ] Checking for system updates...
[2026-10-20 05:35:54,829.829 INFO    ] 200
[2026-10-20 05:35:54,832.832 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:35:54,896.896 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:35:54,899.899 INFO    ] No update needed
[2026-10-20 05:35:54,902.902 INFO    ] Checking for camera pi updates...
[2026-10-20 05:35:54,936.936 INFO    ] 200
[2026-10-20 05:35:54,939.939 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:35:54,981.981 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:35:55,027.027 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:35:55,030.030 INFO    ] No camera update needed
[2026-10-20 05:35:55,033.033 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:35:55,035.035 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:35:55,042.042 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:35:55,047.047 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:35:57,089.089 INFO    ] ================================================
[2026-10-20 05:35:57,104.104 INFO    ] Launching Daemon at Tue Oct 20 05:35:57 IST 2026
[2026-10-20 05:35:57,115.115 INFO    ] ================================================
[2026-10-20 05:35:57,763.763 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:35:57
[2026-10-20 05:35:58,430.430 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:35:58,732.732 INFO    ] Initializing speech engine...
[2026-10-20 05:35:58,746.746 INFO    ] 2026-10-20 05:35:58
[2026-10-20 05:35:59,055.055 INFO    ] 2026-10-20 05:35:59
[2026-10-20 05:35:59,140.140 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:35:59,354.354 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:35:59,359.359 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:35:59,556.556 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:35:59,575.575 INFO    ] time= 20/10/2026 05:35:59
[2026-10-20 05:35:59,588.588 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:35:59,613.613 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:35:59,716.716 INFO    ] No existing commands found in stream
[2026-10-20 05:36:04,741.741 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:36:04,744.744 INFO    ] Waiting 3.55 seconds before fallback handling...
[2026-10-20 05:36:08,847.847 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 05:36:08,850.850 INFO    ] Checking for system updates...
[2026-10-20 05:36:08,891.891 INFO    ] 200
[2026-10-20 05:36:08,894.894 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:36:08,951.951 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:36:08,953.953 INFO    ] No update needed
[2026-10-20 05:36:08,956.956 INFO    ] Checking for camera pi updates...
[2026-10-20 05:36:08,990.990 INFO    ] 200
[2026-10-20 05:36:08,992.992 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:36:09,036.036 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:36:09,081.081 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:36:09,083.083 INFO    ] No camera update needed
[2026-10-20 05:36:09,086.086 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:36:09,088.088 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:36:09,093.093 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:36:09,098.098 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:36:11,137.137 INFO    ] ================================================
[2026-10-20 05:36:11,152.152 INFO    ] Launching Daemon at Tue Oct 20 05:36:11 IST 2026
[2026-10-20 05:36:11,163.163 INFO    ] ================================================
[2026-10-20 05:36:11,731.731 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:36:11
[2026-10-20 05:36:12,316.316 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:36:12,587.587 INFO    ] Initializing speech engine...
[2026-10-20 05:36:12,595.595 INFO    ] 2026-10-20 05:36:12
[2026-10-20 05:36:12,845.845 INFO    ] 2026-10-20 05:36:12
[2026-10-20 05:36:12,880.880 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:36:13,136.136 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:36:13,145.145 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:36:13,358.358 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:36:13,407.407 INFO    ] time= 20/10/2026 05:36:13
[2026-10-20 05:36:13,414.414 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:36:13,433.433 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:36:13,564.564 INFO    ] No existing commands found in stream
[2026-10-20 05:36:18,578.578 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:36:18,581.581 INFO    ] Waiting 1.70 seconds before fallback handling...
[2026-10-20 05:36:20,795.795 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:36:20,797.797 INFO    ] Checking for system updates...
[2026-10-20 05:36:20,832.832 INFO    ] 200
[2026-10-20 05:36:20,835.835 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:36:20,886.886 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:36:20,889.889 INFO    ] No update needed
[2026-10-20 05:36:20,892.892 INFO    ] Checking for camera pi updates...
[2026-10-20 05:36:20,925.925 INFO    ] 200
[2026-10-20 05:36:20,928.928 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:36:20,968.968 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:36:21,015.015 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:36:21,017.017 INFO    ] No camera update needed
[2026-10-20 05:36:21,020.020 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:36:21,022.022 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:36:21,028.028 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:36:21,033.033 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:36:23,072.072 INFO    ] ================================================
[2026-10-20 05:36:23,087.087 INFO    ] Launching Daemon at Tue Oct 20 05:36:23 IST 2026
[2026-10-20 05:36:23,099.099 INFO    ] ================================================
[2026-10-20 05:36:23,672.672 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:36:23
[2026-10-20 05:36:24,263.263 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:36:24,522.522 INFO    ] Initializing speech engine...
[2026-10-20 05:36:24,535.535 INFO    ] 2026-10-20 05:36:24
[2026-10-20 05:36:24,819.819 INFO    ] 2026-10-20 05:36:24
[2026-10-20 05:36:24,856.856 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:36:25,079.079 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:36:25,109.109 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:36:25,359.359 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:36:25,408.408 INFO    ] time= 20/10/2026 05:36:25
[2026-10-20 05:36:25,447.447 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:36:25,466.466 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:36:25,580.580 INFO    ] No existing commands found in stream
[2026-10-20 05:36:30,613.613 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:36:30,616.616 INFO    ] Waiting 1.98 seconds before fallback handling...
[2026-10-20 05:36:33,080.080 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:36:33,083.083 INFO    ] Checking for system updates...
[2026-10-20 05:36:33,118.118 INFO    ] 200
[2026-10-20 05:36:33,120.120 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:36:33,172.172 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:36:33,174.174 INFO    ] No update needed
[2026-10-20 05:36:33,176.176 INFO    ] Checking for camera pi updates...
[2026-10-20 05:36:33,210.210 INFO    ] 200
[2026-10-20 05:36:33,213.213 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:36:33,253.253 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:36:33,306.306 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:36:33,309.309 INFO    ] No camera update needed
[2026-10-20 05:36:33,312.312 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:36:33,314.314 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:36:33,319.319 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:36:33,324.324 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:36:35,367.367 INFO    ] ================================================
[2026-10-20 05:36:35,382.382 INFO    ] Launching Daemon at Tue Oct 20 05:36:35 IST 2026
[2026-10-20 05:36:35,393.393 INFO    ] ================================================
[2026-10-20 05:36:36,031.031 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:36:36
[2026-10-20 05:36:36,692.692 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:36:36,996.996 INFO    ] Initializing speech engine...
[2026-10-20 05:36:37,004.004 INFO    ] 2026-10-20 05:36:36
[2026-10-20 05:36:37,292.292 INFO    ] 2026-10-20 05:36:37
[2026-10-20 05:36:37,337.337 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:36:37,679.679 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:36:37,721.721 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:36:37,964.964 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:36:37,987.987 INFO    ] time= 20/10/2026 05:36:37
[2026-10-20 05:36:38,046.046 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:36:38,095.095 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:36:38,237.237 INFO    ] No existing commands found in stream
[2026-10-20 05:36:43,259.259 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:36:43,262.262 INFO    ] Waiting 2.09 seconds before fallback handling...
[2026-10-20 05:36:45,862.862 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:36:45,865.865 INFO    ] Checking for system updates...
[2026-10-20 05:36:45,905.905 INFO    ] 200
[2026-10-20 05:36:45,908.908 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:36:45,966.966 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:36:45,969.969 INFO    ] No update needed
[2026-10-20 05:36:45,972.972 INFO    ] Checking for camera pi updates...
[2026-10-20 05:36:46,006.006 INFO    ] 200
[2026-10-20 05:36:46,009.009 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:36:46,054.054 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:36:46,108.108 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:36:46,111.111 INFO    ] No camera update needed
[2026-10-20 05:36:46,114.114 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:36:46,116.116 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:36:46,123.123 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:36:46,128.128 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:36:48,170.170 INFO    ] ================================================
[2026-10-20 05:36:48,185.185 INFO    ] Launching Daemon at Tue Oct 20 05:36:48 IST 2026
[2026-10-20 05:36:48,196.196 INFO    ] ================================================
[2026-10-20 05:36:48,833.833 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:36:48
[2026-10-20 05:36:49,491.491 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:36:49,793.793 INFO    ] Initializing speech engine...
[2026-10-20 05:36:49,800.800 INFO    ] 2026-10-20 05:36:49
[2026-10-20 05:36:50,088.088 INFO    ] 2026-10-20 05:36:50
[2026-10-20 05:36:50,134.134 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:36:50,430.430 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:36:50,474.474 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:36:50,645.645 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:36:50,680.680 INFO    ] time= 20/10/2026 05:36:50
[2026-10-20 05:36:50,689.689 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:36:50,696.696 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:36:50,844.844 INFO    ] No existing commands found in stream
[2026-10-20 05:36:55,870.870 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:36:55,873.873 INFO    ] Waiting 2.63 seconds before fallback handling...
[2026-10-20 05:36:59,025.025 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 05:36:59,028.028 INFO    ] Checking for system updates...
[2026-10-20 05:36:59,066.066 INFO    ] 200
[2026-10-20 05:36:59,068.068 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:36:59,126.126 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:36:59,129.129 INFO    ] No update needed
[2026-10-20 05:36:59,132.132 INFO    ] Checking for camera pi updates...
[2026-10-20 05:36:59,166.166 INFO    ] 200
[2026-10-20 05:36:59,169.169 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:36:59,210.210 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:36:59,265.265 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:36:59,268.268 INFO    ] No camera update needed
[2026-10-20 05:36:59,271.271 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:36:59,273.273 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:36:59,279.279 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:36:59,285.285 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:37:01,330.330 INFO    ] ================================================
[2026-10-20 05:37:01,364.364 INFO    ] Launching Daemon at Tue Oct 20 05:37:01 IST 2026
[2026-10-20 05:37:01,397.397 INFO    ] ================================================
[2026-10-20 05:37:02,077.077 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:37:02
[2026-10-20 05:37:02,729.729 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:37:03,046.046 INFO    ] Initializing speech engine...
[2026-10-20 05:37:03,052.052 INFO    ] 2026-10-20 05:37:03
[2026-10-20 05:37:03,330.330 INFO    ] 2026-10-20 05:37:03
[2026-10-20 05:37:03,368.368 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:37:03,617.617 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:37:03,623.623 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:37:03,833.833 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:37:03,883.883 INFO    ] time= 20/10/2026 05:37:03
[2026-10-20 05:37:03,889.889 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:37:03,908.908 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:37:04,067.067 INFO    ] No existing commands found in stream
[2026-10-20 05:37:09,097.097 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:37:09,100.100 INFO    ] Waiting 2.26 seconds before fallback handling...
[2026-10-20 05:37:11,905.905 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:37:11,908.908 INFO    ] Checking for system updates...
[2026-10-20 05:37:11,943.943 INFO    ] 200
[2026-10-20 05:37:11,945.945 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:37:11,997.997 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:37:12,000.000 INFO    ] No update needed
[2026-10-20 05:37:12,002.002 INFO    ] Checking for camera pi updates...
[2026-10-20 05:37:12,036.036 INFO    ] 200
[2026-10-20 05:37:12,038.038 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:37:12,079.079 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:37:12,122.122 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:37:12,125.125 INFO    ] No camera update needed
[2026-10-20 05:37:12,127.127 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:37:12,130.130 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:37:12,135.135 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:37:12,140.140 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:37:14,181.181 INFO    ] ================================================
[2026-10-20 05:37:14,197.197 INFO    ] Launching Daemon at Tue Oct 20 05:37:14 IST 2026
[2026-10-20 05:37:14,208.208 INFO    ] ================================================
[2026-10-20 05:37:14,850.850 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:37:14
[2026-10-20 05:37:15,514.514 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:37:15,814.814 INFO    ] Initializing speech engine...
[2026-10-20 05:37:15,832.832 INFO    ] 2026-10-20 05:37:15
[2026-10-20 05:37:16,110.110 INFO    ] 2026-10-20 05:37:16
[2026-10-20 05:37:16,156.156 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:37:16,451.451 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:37:16,481.481 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:37:16,697.697 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:37:16,707.707 INFO    ] time= 20/10/2026 05:37:16
[2026-10-20 05:37:16,760.760 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:37:16,811.811 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:37:16,951.951 INFO    ] No existing commands found in stream
[2026-10-20 05:37:21,977.977 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:37:21,981.981 INFO    ] Waiting 3.90 seconds before fallback handling...
[2026-10-20 05:37:26,428.428 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 05:37:26,431.431 INFO    ] Checking for system updates...
[2026-10-20 05:37:26,467.467 INFO    ] 200
[2026-10-20 05:37:26,469.469 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:37:26,521.521 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:37:26,524.524 INFO    ] No update needed
[2026-10-20 05:37:26,526.526 INFO    ] Checking for camera pi updates...
[2026-10-20 05:37:26,559.559 INFO    ] 200
[2026-10-20 05:37:26,561.561 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:37:26,609.609 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:37:26,654.654 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:37:26,657.657 INFO    ] No camera update needed
[2026-10-20 05:37:26,659.659 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:37:26,662.662 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:37:26,667.667 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:37:26,672.672 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:37:28,712.712 INFO    ] ================================================
[2026-10-20 05:37:28,728.728 INFO    ] Launching Daemon at Tue Oct 20 05:37:28 IST 2026
[2026-10-20 05:37:28,740.740 INFO    ] ================================================
[2026-10-20 05:37:29,311.311 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:37:29
[2026-10-20 05:37:29,894.894 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:37:30,142.142 INFO    ] Initializing speech engine...
[2026-10-20 05:37:30,154.154 INFO    ] 2026-10-20 05:37:30
[2026-10-20 05:37:30,416.416 INFO    ] 2026-10-20 05:37:30
[2026-10-20 05:37:30,451.451 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:37:30,663.663 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:37:30,707.707 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:37:30,894.894 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:37:30,947.947 INFO    ] time= 20/10/2026 05:37:30
[2026-10-20 05:37:31,013.013 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:37:31,049.049 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:37:31,185.185 INFO    ] No existing commands found in stream
[2026-10-20 05:37:36,213.213 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:37:36,215.215 INFO    ] Waiting 3.67 seconds before fallback handling...
[2026-10-20 05:37:40,402.402 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:37:40,404.404 INFO    ] Checking for system updates...
[2026-10-20 05:37:40,439.439 INFO    ] 200
[2026-10-20 05:37:40,442.442 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:37:40,493.493 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:37:40,495.495 INFO    ] No update needed
[2026-10-20 05:37:40,497.497 INFO    ] Checking for camera pi updates...
[2026-10-20 05:37:40,530.530 INFO    ] 200
[2026-10-20 05:37:40,533.533 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:37:40,572.572 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:37:40,620.620 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:37:40,623.623 INFO    ] No camera update needed
[2026-10-20 05:37:40,625.625 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:37:40,628.628 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:37:40,634.634 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:37:40,640.640 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:37:42,681.681 INFO    ] ================================================
[2026-10-20 05:37:42,697.697 INFO    ] Launching Daemon at Tue Oct 20 05:37:42 IST 2026
[2026-10-20 05:37:42,708.708 INFO    ] ================================================
[2026-10-20 05:37:43,273.273 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:37:43
[2026-10-20 05:37:43,854.854 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:37:44,133.133 INFO    ] Initializing speech engine...
[2026-10-20 05:37:44,142.142 INFO    ] 2026-10-20 05:37:44
[2026-10-20 05:37:44,404.404 INFO    ] 2026-10-20 05:37:44
[2026-10-20 05:37:44,439.439 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:37:44,660.660 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:37:44,720.720 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:37:44,878.878 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:37:44,925.925 INFO    ] time= 20/10/2026 05:37:44
[2026-10-20 05:37:44,964.964 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:37:45,024.024 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:37:45,155.155 INFO    ] No existing commands found in stream
[2026-10-20 05:37:50,172.172 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:37:50,175.175 INFO    ] Waiting 1.24 seconds before fallback handling...
[2026-10-20 05:37:51,922.922 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:37:51,924.924 INFO    ] Checking for system updates...
[2026-10-20 05:37:51,960.960 INFO    ] 200
[2026-10-20 05:37:51,962.962 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:37:52,013.013 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:37:52,015.015 INFO    ] No update needed
[2026-10-20 05:37:52,018.018 INFO    ] Checking for camera pi updates...
[2026-10-20 05:37:52,051.051 INFO    ] 200
[2026-10-20 05:37:52,053.053 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:37:52,093.093 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:37:52,234.234 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:37:52,236.236 INFO    ] No camera update needed
[2026-10-20 05:37:52,238.238 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:37:52,241.241 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:37:52,246.246 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:37:52,251.251 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:37:54,290.290 INFO    ] ================================================
[2026-10-20 05:37:54,310.310 INFO    ] Launching Daemon at Tue Oct 20 05:37:54 IST 2026
[2026-10-20 05:37:54,322.322 INFO    ] ================================================
[2026-10-20 05:37:54,890.890 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:37:54
[2026-10-20 05:37:55,476.476 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:37:55,734.734 INFO    ] Initializing speech engine...
[2026-10-20 05:37:55,759.759 INFO    ] 2026-10-20 05:37:55
[2026-10-20 05:37:56,028.028 INFO    ] 2026-10-20 05:37:56
[2026-10-20 05:37:56,063.063 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:37:56,255.255 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:37:56,268.268 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:37:56,427.427 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:37:56,433.433 INFO    ] time= 20/10/2026 05:37:56
[2026-10-20 05:37:56,479.479 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:37:56,502.502 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:37:56,628.628 INFO    ] No existing commands found in stream
[2026-10-20 05:38:01,641.641 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:38:01,644.644 INFO    ] Waiting 2.47 seconds before fallback handling...
[2026-10-20 05:38:04,610.610 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:38:04,612.612 INFO    ] Checking for system updates...
[2026-10-20 05:38:04,647.647 INFO    ] 200
[2026-10-20 05:38:04,649.649 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:38:04,701.701 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:38:04,703.703 INFO    ] No update needed
[2026-10-20 05:38:04,706.706 INFO    ] Checking for camera pi updates...
[2026-10-20 05:38:04,739.739 INFO    ] 200
[2026-10-20 05:38:04,742.742 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:38:04,782.782 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:38:04,836.836 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:38:04,838.838 INFO    ] No camera update needed
[2026-10-20 05:38:04,840.840 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:38:04,843.843 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:38:04,848.848 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:38:04,853.853 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:38:06,893.893 INFO    ] ================================================
[2026-10-20 05:38:06,909.909 INFO    ] Launching Daemon at Tue Oct 20 05:38:06 IST 2026
[2026-10-20 05:38:06,920.920 INFO    ] ================================================
[2026-10-20 05:38:07,489.489 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:38:07
[2026-10-20 05:38:08,073.073 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:38:08,325.325 INFO    ] Initializing speech engine...
[2026-10-20 05:38:08,331.331 INFO    ] 2026-10-20 05:38:08
[2026-10-20 05:38:08,623.623 INFO    ] 2026-10-20 05:38:08
[2026-10-20 05:38:08,662.662 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:38:08,947.947 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:38:08,956.956 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:38:09,186.186 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:38:09,245.245 INFO    ] time= 20/10/2026 05:38:09
[2026-10-20 05:38:09,252.252 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:38:09,269.269 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:38:09,394.394 INFO    ] No existing commands found in stream
[2026-10-20 05:38:14,420.420 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:38:14,422.422 INFO    ] Waiting 1.18 seconds before fallback handling...
[2026-10-20 05:38:16,104.104 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:38:16,107.107 INFO    ] Checking for system updates...
[2026-10-20 05:38:16,144.144 INFO    ] 200
[2026-10-20 05:38:16,147.147 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:38:16,204.204 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:38:16,207.207 INFO    ] No update needed
[2026-10-20 05:38:16,209.209 INFO    ] Checking for camera pi updates...
[2026-10-20 05:38:16,245.245 INFO    ] 200
[2026-10-20 05:38:16,248.248 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:38:16,292.292 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:38:16,348.348 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:38:16,351.351 INFO    ] No camera update needed
[2026-10-20 05:38:16,354.354 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:38:16,357.357 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:38:16,365.365 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:38:16,371.371 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:38:18,415.415 INFO    ] ================================================
[2026-10-20 05:38:18,430.430 INFO    ] Launching Daemon at Tue Oct 20 05:38:18 IST 2026
[2026-10-20 05:38:18,441.441 INFO    ] ================================================
[2026-10-20 05:38:19,078.078 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:38:19
[2026-10-20 05:38:19,737.737 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:38:20,035.035 INFO    ] Initializing speech engine...
[2026-10-20 05:38:20,043.043 INFO    ] 2026-10-20 05:38:20
[2026-10-20 05:38:20,326.326 INFO    ] 2026-10-20 05:38:20
[2026-10-20 05:38:20,371.371 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:38:20,655.655 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:38:20,660.660 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:38:20,855.855 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:38:20,862.862 INFO    ] time= 20/10/2026 05:38:20
[2026-10-20 05:38:20,884.884 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:38:20,911.911 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:38:21,022.022 INFO    ] No existing commands found in stream
[2026-10-20 05:38:26,052.052 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:38:26,055.055 INFO    ] Waiting 2.58 seconds before fallback handling...
[2026-10-20 05:38:29,194.194 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 05:38:29,197.197 INFO    ] Checking for system updates...
[2026-10-20 05:38:29,234.234 INFO    ] 200
[2026-10-20 05:38:29,236.236 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:38:29,290.290 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:38:29,292.292 INFO    ] No update needed
[2026-10-20 05:38:29,295.295 INFO    ] Checking for camera pi updates...
[2026-10-20 05:38:29,330.330 INFO    ] 200
[2026-10-20 05:38:29,332.332 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:38:29,374.374 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:38:29,418.418 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:38:29,420.420 INFO    ] No camera update needed
[2026-10-20 05:38:29,423.423 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:38:29,426.426 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:38:29,432.432 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:38:29,437.437 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:38:31,481.481 INFO    ] ================================================
[2026-10-20 05:38:31,497.497 INFO    ] Launching Daemon at Tue Oct 20 05:38:31 IST 2026
[2026-10-20 05:38:31,509.509 INFO    ] ================================================
[2026-10-20 05:38:32,114.114 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:38:32
[2026-10-20 05:38:32,737.737 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:38:33,016.016 INFO    ] Initializing speech engine...
[2026-10-20 05:38:33,028.028 INFO    ] 2026-10-20 05:38:33
[2026-10-20 05:38:33,280.280 INFO    ] 2026-10-20 05:38:33
[2026-10-20 05:38:33,314.314 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:38:33,579.579 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:38:33,583.583 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:38:33,818.818 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:38:33,850.850 INFO    ] time= 20/10/2026 05:38:33
[2026-10-20 05:38:33,856.856 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:38:33,874.874 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:38:34,010.010 INFO    ] No existing commands found in stream
[2026-10-20 05:38:39,021.021 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:38:39,024.024 INFO    ] Waiting 2.86 seconds before fallback handling...
[2026-10-20 05:38:42,429.429 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:38:42,432.432 INFO    ] Checking for system updates...
[2026-10-20 05:38:42,467.467 INFO    ] 200
[2026-10-20 05:38:42,469.469 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:38:42,526.526 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:38:42,530.530 INFO    ] No update needed
[2026-10-20 05:38:42,533.533 INFO    ] Checking for camera pi updates...
[2026-10-20 05:38:42,570.570 INFO    ] 200
[2026-10-20 05:38:42,573.573 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:38:42,613.613 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:38:42,660.660 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:38:42,663.663 INFO    ] No camera update needed
[2026-10-20 05:38:42,665.665 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:38:42,668.668 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:38:42,673.673 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:38:42,678.678 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:38:44,719.719 INFO    ] ================================================
[2026-10-20 05:38:44,734.734 INFO    ] Launching Daemon at Tue Oct 20 05:38:44 IST 2026
[2026-10-20 05:38:44,745.745 INFO    ] ================================================
[2026-10-20 05:38:45,326.326 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:38:45
[2026-10-20 05:38:45,923.923 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:38:46,201.201 INFO    ] Initializing speech engine...
[2026-10-20 05:38:46,206.206 INFO    ] 2026-10-20 05:38:46
[2026-10-20 05:38:46,453.453 INFO    ] 2026-10-20 05:38:46
[2026-10-20 05:38:46,488.488 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:38:46,743.743 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:38:46,748.748 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:38:46,983.983 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:38:47,004.004 INFO    ] time= 20/10/2026 05:38:46
[2026-10-20 05:38:47,021.021 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:38:47,045.045 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:38:47,167.167 INFO    ] No existing commands found in stream
[2026-10-20 05:38:52,197.197 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:38:52,200.200 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-10-20 05:38:53,322.322 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:38:53,325.325 INFO    ] Checking for system updates...
[2026-10-20 05:38:53,360.360 INFO    ] 200
[2026-10-20 05:38:53,363.363 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:38:53,414.414 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:38:53,417.417 INFO    ] No update needed
[2026-10-20 05:38:53,419.419 INFO    ] Checking for camera pi updates...
[2026-10-20 05:38:53,453.453 INFO    ] 200
[2026-10-20 05:38:53,456.456 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:38:53,501.501 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:38:53,552.552 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:38:53,555.555 INFO    ] No camera update needed
[2026-10-20 05:38:53,558.558 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:38:53,560.560 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:38:53,566.566 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:38:53,572.572 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:38:55,614.614 INFO    ] ================================================
[2026-10-20 05:38:55,629.629 INFO    ] Launching Daemon at Tue Oct 20 05:38:55 IST 2026
[2026-10-20 05:38:55,640.640 INFO    ] ================================================
[2026-10-20 05:38:56,203.203 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:38:56
[2026-10-20 05:38:56,784.784 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:38:57,051.051 INFO    ] Initializing speech engine...
[2026-10-20 05:38:57,060.060 INFO    ] 2026-10-20 05:38:57
[2026-10-20 05:38:57,304.304 INFO    ] 2026-10-20 05:38:57
[2026-10-20 05:38:57,339.339 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:38:57,620.620 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:38:57,630.630 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:38:57,781.781 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:38:57,803.803 INFO    ] time= 20/10/2026 05:38:57
[2026-10-20 05:38:57,853.853 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:38:57,902.902 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:38:58,053.053 INFO    ] No existing commands found in stream
[2026-10-20 05:39:03,079.079 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:39:03,082.082 INFO    ] Waiting 0.76 seconds before fallback handling...
[2026-10-20 05:39:04,367.367 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:39:04,369.369 INFO    ] Checking for system updates...
[2026-10-20 05:39:04,405.405 INFO    ] 200
[2026-10-20 05:39:04,408.408 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:39:04,461.461 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:39:04,463.463 INFO    ] No update needed
[2026-10-20 05:39:04,466.466 INFO    ] Checking for camera pi updates...
[2026-10-20 05:39:04,507.507 INFO    ] 200
[2026-10-20 05:39:04,509.509 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:39:04,550.550 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:39:04,595.595 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:39:04,598.598 INFO    ] No camera update needed
[2026-10-20 05:39:04,601.601 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:39:04,603.603 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:39:04,608.608 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:39:04,613.613 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:39:06,654.654 INFO    ] ================================================
[2026-10-20 05:39:06,669.669 INFO    ] Launching Daemon at Tue Oct 20 05:39:06 IST 2026
[2026-10-20 05:39:06,680.680 INFO    ] ================================================
[2026-10-20 05:39:07,249.249 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:39:07
[2026-10-20 05:39:07,877.877 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:39:08,175.175 INFO    ] Initializing speech engine...
[2026-10-20 05:39:08,183.183 INFO    ] 2026-10-20 05:39:08
[2026-10-20 05:39:08,442.442 INFO    ] 2026-10-20 05:39:08
[2026-10-20 05:39:08,473.473 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:39:08,729.729 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:39:08,741.741 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:39:08,962.962 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:39:08,999.999 INFO    ] time= 20/10/2026 05:39:08
[2026-10-20 05:39:09,005.005 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:39:09,025.025 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:39:09,156.156 INFO    ] No existing commands found in stream
[2026-10-20 05:39:14,169.169 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:39:14,172.172 INFO    ] Waiting 0.94 seconds before fallback handling...
[2026-10-20 05:39:15,622.622 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:39:15,625.625 INFO    ] Checking for system updates...
[2026-10-20 05:39:15,661.661 INFO    ] 200
[2026-10-20 05:39:15,664.664 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:39:15,717.717 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:39:15,720.720 INFO    ] No update needed
[2026-10-20 05:39:15,723.723 INFO    ] Checking for camera pi updates...
[2026-10-20 05:39:15,757.757 INFO    ] 200
[2026-10-20 05:39:15,760.760 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:39:15,801.801 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:39:15,857.857 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:39:15,860.860 INFO    ] No camera update needed
[2026-10-20 05:39:15,862.862 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:39:15,865.865 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:39:15,871.871 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:39:15,877.877 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:39:17,918.918 INFO    ] ================================================
[2026-10-20 05:39:17,933.933 INFO    ] Launching Daemon at Tue Oct 20 05:39:17 IST 2026
[2026-10-20 05:39:17,943.943 INFO    ] ================================================
[2026-10-20 05:39:18,595.595 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:39:18
[2026-10-20 05:39:19,265.265 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:39:19,570.570 INFO    ] Initializing speech engine...
[2026-10-20 05:39:19,577.577 INFO    ] 2026-10-20 05:39:19
[2026-10-20 05:39:19,866.866 INFO    ] 2026-10-20 05:39:19
[2026-10-20 05:39:19,912.912 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:39:20,206.206 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:39:20,213.213 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:39:20,416.416 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:39:20,435.435 INFO    ] time= 20/10/2026 05:39:20
[2026-10-20 05:39:20,465.465 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:39:20,475.475 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:39:20,586.586 INFO    ] No existing commands found in stream
[2026-10-20 05:39:25,616.616 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:39:25,620.620 INFO    ] Waiting 3.80 seconds before fallback handling...
[2026-10-20 05:39:29,981.981 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 05:39:29,984.984 INFO    ] Checking for system updates...
[2026-10-20 05:39:30,021.021 INFO    ] 200
[2026-10-20 05:39:30,023.023 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:39:30,077.077 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:39:30,080.080 INFO    ] No update needed
[2026-10-20 05:39:30,083.083 INFO    ] Checking for camera pi updates...
[2026-10-20 05:39:30,118.118 INFO    ] 200
[2026-10-20 05:39:30,121.121 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:39:30,163.163 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:39:30,218.218 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:39:30,221.221 INFO    ] No camera update needed
[2026-10-20 05:39:30,224.224 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:39:30,226.226 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:39:30,233.233 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:39:30,238.238 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:39:32,281.281 INFO    ] ================================================
[2026-10-20 05:39:32,297.297 INFO    ] Launching Daemon at Tue Oct 20 05:39:32 IST 2026
[2026-10-20 05:39:32,309.309 INFO    ] ================================================
[2026-10-20 05:39:32,902.902 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:39:32
[2026-10-20 05:39:33,487.487 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:39:33,753.753 INFO    ] Initializing speech engine...
[2026-10-20 05:39:33,764.764 INFO    ] 2026-10-20 05:39:33
[2026-10-20 05:39:34,015.015 INFO    ] 2026-10-20 05:39:34
[2026-10-20 05:39:34,050.050 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:39:34,311.311 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:39:34,316.316 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:39:34,538.538 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:39:34,580.580 INFO    ] time= 20/10/2026 05:39:34
[2026-10-20 05:39:34,596.596 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:39:34,605.605 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:39:34,725.725 INFO    ] No existing commands found in stream
[2026-10-20 05:39:39,745.745 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:39:39,748.748 INFO    ] Waiting 2.55 seconds before fallback handling...
[2026-10-20 05:39:42,806.806 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:39:42,809.809 INFO    ] Checking for system updates...
[2026-10-20 05:39:42,843.843 INFO    ] 200
[2026-10-20 05:39:42,846.846 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:39:42,903.903 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:39:42,905.905 INFO    ] No update needed
[2026-10-20 05:39:42,907.907 INFO    ] Checking for camera pi updates...
[2026-10-20 05:39:42,940.940 INFO    ] 200
[2026-10-20 05:39:42,943.943 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:39:42,988.988 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:39:43,033.033 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:39:43,035.035 INFO    ] No camera update needed
[2026-10-20 05:39:43,037.037 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:39:43,040.040 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:39:43,045.045 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:39:43,050.050 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:39:45,090.090 INFO    ] ================================================
[2026-10-20 05:39:45,105.105 INFO    ] Launching Daemon at Tue Oct 20 05:39:45 IST 2026
[2026-10-20 05:39:45,116.116 INFO    ] ================================================
[2026-10-20 05:39:45,753.753 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:39:45
[2026-10-20 05:39:46,408.408 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:39:46,691.691 INFO    ] Initializing speech engine...
[2026-10-20 05:39:46,696.696 INFO    ] 2026-10-20 05:39:46
[2026-10-20 05:39:46,944.944 INFO    ] 2026-10-20 05:39:46
[2026-10-20 05:39:46,977.977 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:39:47,241.241 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:39:47,247.247 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:39:47,485.485 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:39:47,513.513 INFO    ] time= 20/10/2026 05:39:47
[2026-10-20 05:39:47,528.528 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:39:47,535.535 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:39:47,664.664 INFO    ] No existing commands found in stream
[2026-10-20 05:39:52,679.679 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:39:52,682.682 INFO    ] Waiting 1.45 seconds before fallback handling...
[2026-10-20 05:39:54,657.657 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 05:39:54,659.659 INFO    ] Checking for system updates...
[2026-10-20 05:39:54,695.695 INFO    ] 200
[2026-10-20 05:39:54,697.697 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:39:54,748.748 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:39:54,751.751 INFO    ] No update needed
[2026-10-20 05:39:54,753.753 INFO    ] Checking for camera pi updates...
[2026-10-20 05:39:54,787.787 INFO    ] 200
[2026-10-20 05:39:54,790.790 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:39:54,830.830 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:39:54,982.982 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:39:54,985.985 INFO    ] No camera update needed
[2026-10-20 05:39:54,987.987 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:39:54,990.990 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:39:54,998.998 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:39:55,004.004 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:39:57,044.044 INFO    ] ================================================
[2026-10-20 05:39:57,059.059 INFO    ] Launching Daemon at Tue Oct 20 05:39:57 IST 2026
[2026-10-20 05:39:57,070.070 INFO    ] ================================================
[2026-10-20 05:39:57,643.643 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:39:57
[2026-10-20 05:39:58,241.241 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:39:58,504.504 INFO    ] Initializing speech engine...
[2026-10-20 05:39:58,517.517 INFO    ] 2026-10-20 05:39:58
[2026-10-20 05:39:58,798.798 INFO    ] 2026-10-20 05:39:58
[2026-10-20 05:39:58,836.836 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:39:59,065.065 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:39:59,124.124 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:39:59,279.279 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:39:59,328.328 INFO    ] time= 20/10/2026 05:39:59
[2026-10-20 05:39:59,387.387 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:39:59,428.428 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:39:59,547.547 INFO    ] No existing commands found in stream
[2026-10-20 05:40:04,569.569 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:40:04,572.572 INFO    ] Waiting 0.78 seconds before fallback handling...
[2026-10-20 05:40:08,850.850 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 05:40:08,853.853 INFO    ] Checking for system updates...
[2026-10-20 05:40:08,889.889 INFO    ] 200
[2026-10-20 05:40:08,891.891 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:40:08,952.952 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:40:08,954.954 INFO    ] No update needed
[2026-10-20 05:40:08,957.957 INFO    ] Checking for camera pi updates...
[2026-10-20 05:40:08,990.990 INFO    ] 200
[2026-10-20 05:40:08,992.992 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:40:09,037.037 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:40:09,082.082 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:40:09,084.084 INFO    ] No camera update needed
[2026-10-20 05:40:09,086.086 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:40:09,089.089 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:40:09,094.094 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:40:09,099.099 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:40:11,139.139 INFO    ] ================================================
[2026-10-20 05:40:11,154.154 INFO    ] Launching Daemon at Tue Oct 20 05:40:11 IST 2026
[2026-10-20 05:40:11,165.165 INFO    ] ================================================
[2026-10-20 05:40:11,749.749 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:40:11
[2026-10-20 05:40:12,362.362 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:40:12,653.653 INFO    ] Initializing speech engine...
[2026-10-20 05:40:12,662.662 INFO    ] 2026-10-20 05:40:12
[2026-10-20 05:40:12,925.925 INFO    ] 2026-10-20 05:40:12
[2026-10-20 05:40:12,956.956 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:40:13,148.148 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:40:13,205.205 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:40:13,352.352 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:40:13,417.417 INFO    ] time= 20/10/2026 05:40:13
[2026-10-20 05:40:13,475.475 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:40:13,483.483 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:40:13,643.643 INFO    ] No existing commands found in stream
[2026-10-20 05:40:18,675.675 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:40:18,678.678 INFO    ] Waiting 1.04 seconds before fallback handling...
[2026-10-20 05:40:20,267.267 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:40:20,270.270 INFO    ] Checking for system updates...
[2026-10-20 05:40:20,307.307 INFO    ] 200
[2026-10-20 05:40:20,309.309 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:40:20,361.361 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:40:20,364.364 INFO    ] No update needed
[2026-10-20 05:40:20,366.366 INFO    ] Checking for camera pi updates...
[2026-10-20 05:40:20,399.399 INFO    ] 200
[2026-10-20 05:40:20,402.402 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:40:20,441.441 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:40:20,492.492 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:40:20,495.495 INFO    ] No camera update needed
[2026-10-20 05:40:20,497.497 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:40:20,500.500 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:40:20,505.505 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:40:20,510.510 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:40:22,550.550 INFO    ] ================================================
[2026-10-20 05:40:22,564.564 INFO    ] Launching Daemon at Tue Oct 20 05:40:22 IST 2026
[2026-10-20 05:40:22,575.575 INFO    ] ================================================
[2026-10-20 05:40:23,143.143 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:40:23
[2026-10-20 05:40:23,727.727 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:40:23,982.982 INFO    ] Initializing speech engine...
[2026-10-20 05:40:23,987.987 INFO    ] 2026-10-20 05:40:23
[2026-10-20 05:40:24,277.277 INFO    ] 2026-10-20 05:40:24
[2026-10-20 05:40:24,313.313 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:40:24,595.595 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:40:24,604.604 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:40:24,755.755 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:40:24,805.805 INFO    ] time= 20/10/2026 05:40:24
[2026-10-20 05:40:24,844.844 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:40:24,888.888 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:40:25,029.029 INFO    ] No existing commands found in stream
[2026-10-20 05:40:30,046.046 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:40:30,049.049 INFO    ] Waiting 0.53 seconds before fallback handling...
[2026-10-20 05:40:31,152.152 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:40:31,155.155 INFO    ] Checking for system updates...
[2026-10-20 05:40:31,191.191 INFO    ] 200
[2026-10-20 05:40:31,194.194 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:40:31,247.247 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:40:31,250.250 INFO    ] No update needed
[2026-10-20 05:40:31,253.253 INFO    ] Checking for camera pi updates...
[2026-10-20 05:40:31,287.287 INFO    ] 200
[2026-10-20 05:40:31,289.289 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:40:31,335.335 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:40:31,387.387 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:40:31,389.389 INFO    ] No camera update needed
[2026-10-20 05:40:31,392.392 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:40:31,394.394 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:40:31,400.400 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:40:31,405.405 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:40:33,448.448 INFO    ] ================================================
[2026-10-20 05:40:33,463.463 INFO    ] Launching Daemon at Tue Oct 20 05:40:33 IST 2026
[2026-10-20 05:40:33,474.474 INFO    ] ================================================
[2026-10-20 05:40:34,104.104 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:40:34
[2026-10-20 05:40:34,756.756 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:40:35,051.051 INFO    ] Initializing speech engine...
[2026-10-20 05:40:35,056.056 INFO    ] 2026-10-20 05:40:35
[2026-10-20 05:40:35,326.326 INFO    ] 2026-10-20 05:40:35
[2026-10-20 05:40:35,380.380 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:40:35,629.629 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:40:35,638.638 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:40:35,870.870 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:40:35,889.889 INFO    ] time= 20/10/2026 05:40:35
[2026-10-20 05:40:35,898.898 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:40:35,928.928 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:40:36,043.043 INFO    ] No existing commands found in stream
[2026-10-20 05:40:41,072.072 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:40:41,075.075 INFO    ] Waiting 3.95 seconds before fallback handling...
[2026-10-20 05:40:45,584.584 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:40:45,587.587 INFO    ] Checking for system updates...
[2026-10-20 05:40:45,626.626 INFO    ] 200
[2026-10-20 05:40:45,629.629 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:40:45,681.681 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:40:45,684.684 INFO    ] No update needed
[2026-10-20 05:40:45,686.686 INFO    ] Checking for camera pi updates...
[2026-10-20 05:40:45,723.723 INFO    ] 200
[2026-10-20 05:40:45,726.726 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:40:45,766.766 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:40:45,825.825 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:40:45,828.828 INFO    ] No camera update needed
[2026-10-20 05:40:45,831.831 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:40:45,833.833 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:40:45,839.839 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:40:45,845.845 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:40:47,885.885 INFO    ] ================================================
[2026-10-20 05:40:47,899.899 INFO    ] Launching Daemon at Tue Oct 20 05:40:47 IST 2026
[2026-10-20 05:40:47,910.910 INFO    ] ================================================
[2026-10-20 05:40:48,531.531 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:40:48
[2026-10-20 05:40:49,137.137 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:40:49,405.405 INFO    ] Initializing speech engine...
[2026-10-20 05:40:49,414.414 INFO    ] 2026-10-20 05:40:49
[2026-10-20 05:40:49,660.660 INFO    ] 2026-10-20 05:40:49
[2026-10-20 05:40:49,695.695 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:40:49,947.947 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:40:49,956.956 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:40:50,188.188 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:40:50,215.215 INFO    ] time= 20/10/2026 05:40:50
[2026-10-20 05:40:50,221.221 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:40:50,239.239 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:40:50,367.367 INFO    ] No existing commands found in stream
[2026-10-20 05:40:55,381.381 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:40:55,384.384 INFO    ] Waiting 0.96 seconds before fallback handling...
[2026-10-20 05:40:56,869.869 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 05:40:56,872.872 INFO    ] Checking for system updates...
[2026-10-20 05:40:56,907.907 INFO    ] 200
[2026-10-20 05:40:56,909.909 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:40:56,961.961 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:40:56,963.963 INFO    ] No update needed
[2026-10-20 05:40:56,965.965 INFO    ] Checking for camera pi updates...
[2026-10-20 05:40:57,003.003 INFO    ] 200
[2026-10-20 05:40:57,005.005 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:40:57,049.049 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:40:57,103.103 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:40:57,105.105 INFO    ] No camera update needed
[2026-10-20 05:40:57,108.108 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:40:57,110.110 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:40:57,115.115 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:40:57,120.120 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:40:59,160.160 INFO    ] ================================================
[2026-10-20 05:40:59,176.176 INFO    ] Launching Daemon at Tue Oct 20 05:40:59 IST 2026
[2026-10-20 05:40:59,186.186 INFO    ] ================================================
[2026-10-20 05:40:59,816.816 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:40:59
[2026-10-20 05:41:00,462.462 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:41:00,757.757 INFO    ] Initializing speech engine...
[2026-10-20 05:41:00,766.766 INFO    ] 2026-10-20 05:41:00
[2026-10-20 05:41:01,080.080 INFO    ] 2026-10-20 05:41:01
[2026-10-20 05:41:01,162.162 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:41:01,438.438 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:41:01,454.454 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:41:01,696.696 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:41:01,742.742 INFO    ] time= 20/10/2026 05:41:01
[2026-10-20 05:41:01,796.796 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:41:01,828.828 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:41:01,954.954 INFO    ] No existing commands found in stream
[2026-10-20 05:41:06,973.973 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:41:06,976.976 INFO    ] Waiting 3.72 seconds before fallback handling...
[2026-10-20 05:41:11,253.253 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:41:11,256.256 INFO    ] Checking for system updates...
[2026-10-20 05:41:11,293.293 INFO    ] 200
[2026-10-20 05:41:11,296.296 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:41:11,348.348 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:41:11,350.350 INFO    ] No update needed
[2026-10-20 05:41:11,353.353 INFO    ] Checking for camera pi updates...
[2026-10-20 05:41:11,390.390 INFO    ] 200
[2026-10-20 05:41:11,392.392 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:41:11,433.433 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:41:11,480.480 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:41:11,483.483 INFO    ] No camera update needed
[2026-10-20 05:41:11,485.485 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:41:11,487.487 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:41:11,492.492 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:41:11,497.497 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:41:13,538.538 INFO    ] ================================================
[2026-10-20 05:41:13,553.553 INFO    ] Launching Daemon at Tue Oct 20 05:41:13 IST 2026
[2026-10-20 05:41:13,563.563 INFO    ] ================================================
[2026-10-20 05:41:14,144.144 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:41:14
[2026-10-20 05:41:14,740.740 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:41:15,018.018 INFO    ] Initializing speech engine...
[2026-10-20 05:41:15,026.026 INFO    ] 2026-10-20 05:41:15
[2026-10-20 05:41:15,285.285 INFO    ] 2026-10-20 05:41:15
[2026-10-20 05:41:15,339.339 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:41:15,621.621 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:41:15,625.625 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:41:15,820.820 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:41:15,835.835 INFO    ] time= 20/10/2026 05:41:15
[2026-10-20 05:41:15,844.844 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:41:15,871.871 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:41:15,985.985 INFO    ] No existing commands found in stream
[2026-10-20 05:41:21,015.015 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:41:21,018.018 INFO    ] Waiting 0.89 seconds before fallback handling...
[2026-10-20 05:41:22,497.497 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:41:22,499.499 INFO    ] Checking for system updates...
[2026-10-20 05:41:22,535.535 INFO    ] 200
[2026-10-20 05:41:22,537.537 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:41:22,590.590 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:41:22,592.592 INFO    ] No update needed
[2026-10-20 05:41:22,595.595 INFO    ] Checking for camera pi updates...
[2026-10-20 05:41:22,629.629 INFO    ] 200
[2026-10-20 05:41:22,631.631 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:41:22,671.671 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:41:22,715.715 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:41:22,718.718 INFO    ] No camera update needed
[2026-10-20 05:41:22,720.720 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:41:22,723.723 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:41:22,728.728 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:41:22,733.733 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:41:24,772.772 INFO    ] ================================================
[2026-10-20 05:41:24,788.788 INFO    ] Launching Daemon at Tue Oct 20 05:41:24 IST 2026
[2026-10-20 05:41:24,798.798 INFO    ] ================================================
[2026-10-20 05:41:25,369.369 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:41:25
[2026-10-20 05:41:25,951.951 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:41:26,203.203 INFO    ] Initializing speech engine...
[2026-10-20 05:41:26,217.217 INFO    ] 2026-10-20 05:41:26
[2026-10-20 05:41:26,482.482 INFO    ] 2026-10-20 05:41:26
[2026-10-20 05:41:26,518.518 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:41:26,775.775 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:41:26,781.781 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:41:26,998.998 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:41:27,037.037 INFO    ] time= 20/10/2026 05:41:27
[2026-10-20 05:41:27,043.043 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:41:27,061.061 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:41:27,191.191 INFO    ] No existing commands found in stream
[2026-10-20 05:41:32,206.206 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:41:32,209.209 INFO    ] Waiting 2.44 seconds before fallback handling...
[2026-10-20 05:41:35,189.189 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:41:35,192.192 INFO    ] Checking for system updates...
[2026-10-20 05:41:35,227.227 INFO    ] 200
[2026-10-20 05:41:35,230.230 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:41:35,287.287 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:41:35,290.290 INFO    ] No update needed
[2026-10-20 05:41:35,292.292 INFO    ] Checking for camera pi updates...
[2026-10-20 05:41:35,326.326 INFO    ] 200
[2026-10-20 05:41:35,329.329 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:41:35,369.369 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:41:35,402.402 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:41:35,404.404 INFO    ] No camera update needed
[2026-10-20 05:41:35,406.406 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:41:35,409.409 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:41:35,414.414 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:41:35,419.419 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:41:37,460.460 INFO    ] ================================================
[2026-10-20 05:41:37,476.476 INFO    ] Launching Daemon at Tue Oct 20 05:41:37 IST 2026
[2026-10-20 05:41:37,486.486 INFO    ] ================================================
[2026-10-20 05:41:38,070.070 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:41:38
[2026-10-20 05:41:38,666.666 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:41:38,937.937 INFO    ] Initializing speech engine...
[2026-10-20 05:41:38,946.946 INFO    ] 2026-10-20 05:41:38
[2026-10-20 05:41:39,196.196 INFO    ] 2026-10-20 05:41:39
[2026-10-20 05:41:39,231.231 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:41:39,489.489 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:41:39,499.499 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:41:39,731.731 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:41:39,766.766 INFO    ] time= 20/10/2026 05:41:39
[2026-10-20 05:41:39,773.773 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:41:39,790.790 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:41:39,921.921 INFO    ] No existing commands found in stream
[2026-10-20 05:41:44,937.937 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:41:44,940.940 INFO    ] Waiting 1.34 seconds before fallback handling...
[2026-10-20 05:41:46,803.803 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 05:41:46,806.806 INFO    ] Checking for system updates...
[2026-10-20 05:41:46,841.841 INFO    ] 200
[2026-10-20 05:41:46,844.844 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:41:46,901.901 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:41:46,903.903 INFO    ] No update needed
[2026-10-20 05:41:46,905.905 INFO    ] Checking for camera pi updates...
[2026-10-20 05:41:46,942.942 INFO    ] 200
[2026-10-20 05:41:46,945.945 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:41:46,988.988 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:41:47,036.036 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:41:47,038.038 INFO    ] No camera update needed
[2026-10-20 05:41:47,041.041 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:41:47,043.043 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:41:47,048.048 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:41:47,053.053 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:41:49,097.097 INFO    ] ================================================
[2026-10-20 05:41:49,112.112 INFO    ] Launching Daemon at Tue Oct 20 05:41:49 IST 2026
[2026-10-20 05:41:49,122.122 INFO    ] ================================================
[2026-10-20 05:41:49,686.686 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:41:49
[2026-10-20 05:41:50,268.268 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:41:50,538.538 INFO    ] Initializing speech engine...
[2026-10-20 05:41:50,546.546 INFO    ] 2026-10-20 05:41:50
[2026-10-20 05:41:50,797.797 INFO    ] 2026-10-20 05:41:50
[2026-10-20 05:41:50,832.832 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:41:51,088.088 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:41:51,098.098 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:41:51,333.333 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:41:51,362.362 INFO    ] time= 20/10/2026 05:41:51
[2026-10-20 05:41:51,380.380 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:41:51,386.386 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:41:51,514.514 INFO    ] No existing commands found in stream
[2026-10-20 05:41:56,530.530 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:41:56,533.533 INFO    ] Waiting 2.73 seconds before fallback handling...
[2026-10-20 05:41:59,810.810 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:41:59,813.813 INFO    ] Checking for system updates...
[2026-10-20 05:41:59,850.850 INFO    ] 200
[2026-10-20 05:41:59,853.853 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:41:59,904.904 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:41:59,907.907 INFO    ] No update needed
[2026-10-20 05:41:59,909.909 INFO    ] Checking for camera pi updates...
[2026-10-20 05:41:59,942.942 INFO    ] 200
[2026-10-20 05:41:59,945.945 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:41:59,984.984 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:42:00,124.124 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:42:00,127.127 INFO    ] No camera update needed
[2026-10-20 05:42:00,129.129 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:42:00,132.132 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:42:00,137.137 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:42:00,142.142 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:42:02,193.193 INFO    ] ================================================
[2026-10-20 05:42:02,214.214 INFO    ] Launching Daemon at Tue Oct 20 05:42:02 IST 2026
[2026-10-20 05:42:02,231.231 INFO    ] ================================================
[2026-10-20 05:42:02,907.907 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:42:02
[2026-10-20 05:42:03,514.514 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:42:03,787.787 INFO    ] Initializing speech engine...
[2026-10-20 05:42:03,793.793 INFO    ] 2026-10-20 05:42:03
[2026-10-20 05:42:04,050.050 INFO    ] 2026-10-20 05:42:04
[2026-10-20 05:42:04,080.080 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:42:04,323.323 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:42:04,333.333 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:42:04,473.473 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:42:04,532.532 INFO    ] time= 20/10/2026 05:42:04
[2026-10-20 05:42:04,587.587 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:42:04,601.601 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:42:04,736.736 INFO    ] No existing commands found in stream
[2026-10-20 05:42:09,757.757 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:42:09,760.760 INFO    ] Waiting 2.98 seconds before fallback handling...
[2026-10-20 05:42:13,244.244 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:42:13,247.247 INFO    ] Checking for system updates...
[2026-10-20 05:42:13,282.282 INFO    ] 200
[2026-10-20 05:42:13,284.284 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:42:13,336.336 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:42:13,339.339 INFO    ] No update needed
[2026-10-20 05:42:13,341.341 INFO    ] Checking for camera pi updates...
[2026-10-20 05:42:13,374.374 INFO    ] 200
[2026-10-20 05:42:13,376.376 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:42:13,416.416 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:42:13,471.471 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:42:13,473.473 INFO    ] No camera update needed
[2026-10-20 05:42:13,475.475 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:42:13,478.478 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:42:13,483.483 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:42:13,488.488 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:42:15,530.530 INFO    ] ================================================
[2026-10-20 05:42:15,545.545 INFO    ] Launching Daemon at Tue Oct 20 05:42:15 IST 2026
[2026-10-20 05:42:15,555.555 INFO    ] ================================================
[2026-10-20 05:42:16,120.120 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:42:16
[2026-10-20 05:42:16,701.701 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:42:16,947.947 INFO    ] Initializing speech engine...
[2026-10-20 05:42:16,972.972 INFO    ] 2026-10-20 05:42:16
[2026-10-20 05:42:17,222.222 INFO    ] 2026-10-20 05:42:17
[2026-10-20 05:42:17,257.257 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:42:17,758.758 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:42:17,765.765 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:42:18,002.002 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:42:18,016.016 INFO    ] time= 20/10/2026 05:42:18
[2026-10-20 05:42:18,070.070 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:42:18,119.119 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:42:18,286.286 INFO    ] No existing commands found in stream
[2026-10-20 05:42:23,311.311 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:42:23,313.313 INFO    ] Waiting 3.02 seconds before fallback handling...
[2026-10-20 05:42:28,055.055 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 05:42:28,058.058 INFO    ] Checking for system updates...
[2026-10-20 05:42:28,093.093 INFO    ] 200
[2026-10-20 05:42:28,096.096 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:42:28,153.153 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:42:28,155.155 INFO    ] No update needed
[2026-10-20 05:42:28,157.157 INFO    ] Checking for camera pi updates...
[2026-10-20 05:42:28,194.194 INFO    ] 200
[2026-10-20 05:42:28,196.196 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:42:28,236.236 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:42:28,280.280 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:42:28,283.283 INFO    ] No camera update needed
[2026-10-20 05:42:28,285.285 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:42:28,287.287 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:42:28,292.292 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:42:28,297.297 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:42:30,336.336 INFO    ] ================================================
[2026-10-20 05:42:30,351.351 INFO    ] Launching Daemon at Tue Oct 20 05:42:30 IST 2026
[2026-10-20 05:42:30,361.361 INFO    ] ================================================
[2026-10-20 05:42:30,942.942 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:42:30
[2026-10-20 05:42:31,577.577 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:42:31,881.881 INFO    ] Initializing speech engine...
[2026-10-20 05:42:31,895.895 INFO    ] 2026-10-20 05:42:31
[2026-10-20 05:42:32,177.177 INFO    ] 2026-10-20 05:42:32
[2026-10-20 05:42:32,228.228 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:42:32,535.535 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:42:32,544.544 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:42:32,745.745 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:42:32,752.752 INFO    ] time= 20/10/2026 05:42:32
[2026-10-20 05:42:32,770.770 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:42:32,787.787 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:42:32,934.934 INFO    ] No existing commands found in stream
[2026-10-20 05:42:37,960.960 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:42:37,963.963 INFO    ] Waiting 1.34 seconds before fallback handling...
[2026-10-20 05:42:39,822.822 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 05:42:39,825.825 INFO    ] Checking for system updates...
[2026-10-20 05:42:39,860.860 INFO    ] 200
[2026-10-20 05:42:39,863.863 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:42:39,914.914 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:42:39,917.917 INFO    ] No update needed
[2026-10-20 05:42:39,919.919 INFO    ] Checking for camera pi updates...
[2026-10-20 05:42:39,952.952 INFO    ] 200
[2026-10-20 05:42:39,955.955 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:42:39,994.994 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:42:40,041.041 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:42:40,043.043 INFO    ] No camera update needed
[2026-10-20 05:42:40,045.045 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:42:40,048.048 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:42:40,053.053 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:42:40,058.058 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:42:42,101.101 INFO    ] ================================================
[2026-10-20 05:42:42,116.116 INFO    ] Launching Daemon at Tue Oct 20 05:42:42 IST 2026
[2026-10-20 05:42:42,126.126 INFO    ] ================================================
[2026-10-20 05:42:42,693.693 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:42:42
[2026-10-20 05:42:43,273.273 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:42:43,540.540 INFO    ] Initializing speech engine...
[2026-10-20 05:42:43,549.549 INFO    ] 2026-10-20 05:42:43
[2026-10-20 05:42:43,794.794 INFO    ] 2026-10-20 05:42:43
[2026-10-20 05:42:43,830.830 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:42:44,107.107 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:42:44,112.112 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:42:44,340.340 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:42:44,346.346 INFO    ] time= 20/10/2026 05:42:44
[2026-10-20 05:42:44,364.364 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:42:44,392.392 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:42:44,517.517 INFO    ] No existing commands found in stream
[2026-10-20 05:42:49,542.542 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:42:49,545.545 INFO    ] Waiting 0.65 seconds before fallback handling...
[2026-10-20 05:42:50,700.700 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 05:42:50,703.703 INFO    ] Checking for system updates...
[2026-10-20 05:42:50,738.738 INFO    ] 200
[2026-10-20 05:42:50,741.741 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:42:50,792.792 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:42:50,794.794 INFO    ] No update needed
[2026-10-20 05:42:50,797.797 INFO    ] Checking for camera pi updates...
[2026-10-20 05:42:50,833.833 INFO    ] 200
[2026-10-20 05:42:50,836.836 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:42:50,875.875 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:42:50,922.922 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:42:50,925.925 INFO    ] No camera update needed
[2026-10-20 05:42:50,927.927 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:42:50,930.930 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:42:50,936.936 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:42:50,942.942 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:42:52,983.983 INFO    ] ================================================
[2026-10-20 05:42:53,998.998 INFO    ] Launching Daemon at Tue Oct 20 05:42:52 IST 2026
[2026-10-20 05:42:53,008.008 INFO    ] ================================================
[2026-10-20 05:42:53,593.593 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:42:53
[2026-10-20 05:42:54,175.175 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:42:54,442.442 INFO    ] Initializing speech engine...
[2026-10-20 05:42:54,450.450 INFO    ] 2026-10-20 05:42:54
[2026-10-20 05:42:54,695.695 INFO    ] 2026-10-20 05:42:54
[2026-10-20 05:42:54,730.730 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:42:55,006.006 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:42:55,014.014 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:42:55,243.243 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:42:55,249.249 INFO    ] time= 20/10/2026 05:42:55
[2026-10-20 05:42:55,269.269 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:42:55,295.295 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:42:55,400.400 INFO    ] No existing commands found in stream
[2026-10-20 05:43:00,420.420 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:43:00,423.423 INFO    ] Waiting 1.91 seconds before fallback handling...
[2026-10-20 05:43:02,932.932 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:43:02,935.935 INFO    ] Checking for system updates...
[2026-10-20 05:43:02,972.972 INFO    ] 200
[2026-10-20 05:43:02,975.975 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:43:03,056.056 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:43:03,060.060 INFO    ] No update needed
[2026-10-20 05:43:03,063.063 INFO    ] Checking for camera pi updates...
[2026-10-20 05:43:03,101.101 INFO    ] 200
[2026-10-20 05:43:03,103.103 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:43:03,143.143 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:43:03,172.172 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:43:03,175.175 INFO    ] No camera update needed
[2026-10-20 05:43:03,177.177 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:43:03,179.179 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:43:03,184.184 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:43:03,189.189 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:43:05,230.230 INFO    ] ================================================
[2026-10-20 05:43:05,245.245 INFO    ] Launching Daemon at Tue Oct 20 05:43:05 IST 2026
[2026-10-20 05:43:05,255.255 INFO    ] ================================================
[2026-10-20 05:43:05,820.820 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:43:05
[2026-10-20 05:43:06,403.403 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:43:06,671.671 INFO    ] Initializing speech engine...
[2026-10-20 05:43:06,679.679 INFO    ] 2026-10-20 05:43:06
[2026-10-20 05:43:06,931.931 INFO    ] 2026-10-20 05:43:06
[2026-10-20 05:43:06,966.966 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:43:07,211.211 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:43:07,221.221 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:43:07,458.458 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:43:07,481.481 INFO    ] time= 20/10/2026 05:43:07
[2026-10-20 05:43:07,495.495 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:43:07,504.504 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:43:07,633.633 INFO    ] No existing commands found in stream
[2026-10-20 05:43:12,644.644 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:43:12,647.647 INFO    ] Waiting 2.30 seconds before fallback handling...
[2026-10-20 05:43:15,483.483 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 05:43:15,487.487 INFO    ] Checking for system updates...
[2026-10-20 05:43:15,523.523 INFO    ] 200
[2026-10-20 05:43:15,525.525 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:43:15,585.585 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:43:15,587.587 INFO    ] No update needed
[2026-10-20 05:43:15,590.590 INFO    ] Checking for camera pi updates...
[2026-10-20 05:43:15,623.623 INFO    ] 200
[2026-10-20 05:43:15,625.625 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:43:15,666.666 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:43:15,722.722 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:43:15,725.725 INFO    ] No camera update needed
[2026-10-20 05:43:15,727.727 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:43:15,729.729 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:43:15,735.735 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:43:15,739.739 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:43:17,781.781 INFO    ] ================================================
[2026-10-20 05:43:17,796.796 INFO    ] Launching Daemon at Tue Oct 20 05:43:17 IST 2026
[2026-10-20 05:43:17,806.806 INFO    ] ================================================
[2026-10-20 05:43:18,375.375 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:43:18
[2026-10-20 05:43:18,959.959 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:43:19,227.227 INFO    ] Initializing speech engine...
[2026-10-20 05:43:19,236.236 INFO    ] 2026-10-20 05:43:19
[2026-10-20 05:43:19,496.496 INFO    ] 2026-10-20 05:43:19
[2026-10-20 05:43:19,526.526 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:43:19,774.774 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:43:19,780.780 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:43:19,995.995 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:43:20,035.035 INFO    ] time= 20/10/2026 05:43:20
[2026-10-20 05:43:20,041.041 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:43:20,059.059 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:43:20,186.186 INFO    ] No existing commands found in stream
[2026-10-20 05:43:25,200.200 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:43:25,203.203 INFO    ] Waiting 3.41 seconds before fallback handling...
[2026-10-20 05:43:29,189.189 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:43:29,192.192 INFO    ] Checking for system updates...
[2026-10-20 05:43:29,228.228 INFO    ] 200
[2026-10-20 05:43:29,231.231 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:43:29,283.283 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:43:29,286.286 INFO    ] No update needed
[2026-10-20 05:43:29,288.288 INFO    ] Checking for camera pi updates...
[2026-10-20 05:43:29,321.321 INFO    ] 200
[2026-10-20 05:43:29,324.324 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:43:29,365.365 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:43:29,418.418 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:43:29,420.420 INFO    ] No camera update needed
[2026-10-20 05:43:29,422.422 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:43:29,425.425 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:43:29,430.430 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:43:29,435.435 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:43:31,476.476 INFO    ] ================================================
[2026-10-20 05:43:31,493.493 INFO    ] Launching Daemon at Tue Oct 20 05:43:31 IST 2026
[2026-10-20 05:43:31,504.504 INFO    ] ================================================
[2026-10-20 05:43:32,110.110 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:43:32
[2026-10-20 05:43:32,723.723 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:43:32,993.993 INFO    ] Initializing speech engine...
[2026-10-20 05:43:33,002.002 INFO    ] 2026-10-20 05:43:32
[2026-10-20 05:43:33,246.246 INFO    ] 2026-10-20 05:43:33
[2026-10-20 05:43:33,281.281 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:43:33,537.537 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:43:33,542.542 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:43:33,760.760 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:43:33,799.799 INFO    ] time= 20/10/2026 05:43:33
[2026-10-20 05:43:33,805.805 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:43:33,824.824 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:43:33,970.970 INFO    ] No existing commands found in stream
[2026-10-20 05:43:39,001.001 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:43:39,004.004 INFO    ] Waiting 1.90 seconds before fallback handling...
[2026-10-20 05:43:41,404.404 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:43:41,406.406 INFO    ] Checking for system updates...
[2026-10-20 05:43:41,446.446 INFO    ] 200
[2026-10-20 05:43:41,448.448 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:43:41,501.501 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:43:41,504.504 INFO    ] No update needed
[2026-10-20 05:43:41,507.507 INFO    ] Checking for camera pi updates...
[2026-10-20 05:43:41,546.546 INFO    ] 200
[2026-10-20 05:43:41,548.548 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:43:41,591.591 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:43:41,647.647 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:43:41,650.650 INFO    ] No camera update needed
[2026-10-20 05:43:41,653.653 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:43:41,655.655 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:43:41,662.662 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:43:41,667.667 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:43:43,707.707 INFO    ] ================================================
[2026-10-20 05:43:43,723.723 INFO    ] Launching Daemon at Tue Oct 20 05:43:43 IST 2026
[2026-10-20 05:43:43,733.733 INFO    ] ================================================
[2026-10-20 05:43:44,314.314 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:43:44
[2026-10-20 05:43:44,898.898 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:43:45,165.165 INFO    ] Initializing speech engine...
[2026-10-20 05:43:45,175.175 INFO    ] 2026-10-20 05:43:45
[2026-10-20 05:43:45,434.434 INFO    ] 2026-10-20 05:43:45
[2026-10-20 05:43:45,485.485 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:43:45,714.714 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:43:45,719.719 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:43:45,930.930 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:43:45,974.974 INFO    ] time= 20/10/2026 05:43:45
[2026-10-20 05:43:45,980.980 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:43:45,998.998 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:43:46,124.124 INFO    ] No existing commands found in stream
[2026-10-20 05:43:51,139.139 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:43:51,142.142 INFO    ] Waiting 0.50 seconds before fallback handling...
[2026-10-20 05:43:52,165.165 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:43:52,168.168 INFO    ] Checking for system updates...
[2026-10-20 05:43:52,205.205 INFO    ] 200
[2026-10-20 05:43:52,208.208 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:43:52,267.267 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:43:52,269.269 INFO    ] No update needed
[2026-10-20 05:43:52,272.272 INFO    ] Checking for camera pi updates...
[2026-10-20 05:43:52,308.308 INFO    ] 200
[2026-10-20 05:43:52,311.311 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:43:52,351.351 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:43:52,397.397 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:43:52,400.400 INFO    ] No camera update needed
[2026-10-20 05:43:52,402.402 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:43:52,405.405 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:43:52,410.410 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:43:52,415.415 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:43:54,455.455 INFO    ] ================================================
[2026-10-20 05:43:54,470.470 INFO    ] Launching Daemon at Tue Oct 20 05:43:54 IST 2026
[2026-10-20 05:43:54,480.480 INFO    ] ================================================
[2026-10-20 05:43:55,050.050 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:43:55
[2026-10-20 05:43:55,640.640 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:43:55,896.896 INFO    ] Initializing speech engine...
[2026-10-20 05:43:55,903.903 INFO    ] 2026-10-20 05:43:55
[2026-10-20 05:43:56,195.195 INFO    ] 2026-10-20 05:43:56
[2026-10-20 05:43:56,229.229 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:43:56,459.459 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:43:56,500.500 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:43:56,684.684 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:43:56,706.706 INFO    ] time= 20/10/2026 05:43:56
[2026-10-20 05:43:56,765.765 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:43:56,819.819 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:43:56,902.902 INFO    ] No existing commands found in stream
[2026-10-20 05:44:01,913.913 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:44:01,916.916 INFO    ] Waiting 3.20 seconds before fallback handling...
[2026-10-20 05:44:05,630.630 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:44:05,632.632 INFO    ] Checking for system updates...
[2026-10-20 05:44:05,668.668 INFO    ] 200
[2026-10-20 05:44:05,671.671 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:44:05,724.724 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:44:05,726.726 INFO    ] No update needed
[2026-10-20 05:44:05,728.728 INFO    ] Checking for camera pi updates...
[2026-10-20 05:44:05,762.762 INFO    ] 200
[2026-10-20 05:44:05,764.764 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:44:05,810.810 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:44:05,859.859 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:44:05,862.862 INFO    ] No camera update needed
[2026-10-20 05:44:05,864.864 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:44:05,866.866 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:44:05,871.871 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:44:05,876.876 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:44:07,916.916 INFO    ] ================================================
[2026-10-20 05:44:07,931.931 INFO    ] Launching Daemon at Tue Oct 20 05:44:07 IST 2026
[2026-10-20 05:44:07,941.941 INFO    ] ================================================
[2026-10-20 05:44:08,607.607 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:44:08
[2026-10-20 05:44:09,267.267 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:44:09,543.543 INFO    ] Initializing speech engine...
[2026-10-20 05:44:09,550.550 INFO    ] 2026-10-20 05:44:09
[2026-10-20 05:44:09,812.812 INFO    ] 2026-10-20 05:44:09
[2026-10-20 05:44:09,867.867 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:44:10,219.219 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:44:10,260.260 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:44:10,502.502 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:44:10,550.550 INFO    ] time= 20/10/2026 05:44:10
[2026-10-20 05:44:10,606.606 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:44:10,619.619 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:44:10,762.762 INFO    ] No existing commands found in stream
[2026-10-20 05:44:15,783.783 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:44:15,786.786 INFO    ] Waiting 0.45 seconds before fallback handling...
[2026-10-20 05:44:16,742.742 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:44:16,744.744 INFO    ] Checking for system updates...
[2026-10-20 05:44:16,780.780 INFO    ] 200
[2026-10-20 05:44:16,782.782 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:44:16,842.842 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:44:16,845.845 INFO    ] No update needed
[2026-10-20 05:44:16,847.847 INFO    ] Checking for camera pi updates...
[2026-10-20 05:44:16,881.881 INFO    ] 200
[2026-10-20 05:44:16,883.883 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:44:16,927.927 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:44:16,971.971 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:44:16,973.973 INFO    ] No camera update needed
[2026-10-20 05:44:16,975.975 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:44:16,978.978 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:44:16,983.983 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:44:16,988.988 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:44:19,029.029 INFO    ] ================================================
[2026-10-20 05:44:19,044.044 INFO    ] Launching Daemon at Tue Oct 20 05:44:19 IST 2026
[2026-10-20 05:44:19,055.055 INFO    ] ================================================
[2026-10-20 05:44:19,637.637 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:44:19
[2026-10-20 05:44:20,235.235 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:44:20,508.508 INFO    ] Initializing speech engine...
[2026-10-20 05:44:20,518.518 INFO    ] 2026-10-20 05:44:20
[2026-10-20 05:44:20,774.774 INFO    ] 2026-10-20 05:44:20
[2026-10-20 05:44:20,810.810 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:44:21,064.064 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:44:21,071.071 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:44:21,323.323 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:44:21,330.330 INFO    ] time= 20/10/2026 05:44:21
[2026-10-20 05:44:21,351.351 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:44:21,376.376 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:44:21,484.484 INFO    ] No existing commands found in stream
[2026-10-20 05:44:26,507.507 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:44:26,510.510 INFO    ] Waiting 1.98 seconds before fallback handling...
[2026-10-20 05:44:29,048.048 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:44:29,051.051 INFO    ] Checking for system updates...
[2026-10-20 05:44:29,093.093 INFO    ] 200
[2026-10-20 05:44:29,096.096 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:44:29,173.173 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:44:29,176.176 INFO    ] No update needed
[2026-10-20 05:44:29,178.178 INFO    ] Checking for camera pi updates...
[2026-10-20 05:44:29,221.221 INFO    ] 200
[2026-10-20 05:44:29,224.224 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:44:29,266.266 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:44:29,325.325 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:44:29,328.328 INFO    ] No camera update needed
[2026-10-20 05:44:29,331.331 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:44:29,334.334 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:44:29,340.340 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:44:29,346.346 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:44:31,389.389 INFO    ] ================================================
[2026-10-20 05:44:31,405.405 INFO    ] Launching Daemon at Tue Oct 20 05:44:31 IST 2026
[2026-10-20 05:44:31,417.417 INFO    ] ================================================
[2026-10-20 05:44:32,026.026 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:44:32
[2026-10-20 05:44:32,657.657 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:44:32,910.910 INFO    ] Initializing speech engine...
[2026-10-20 05:44:32,917.917 INFO    ] 2026-10-20 05:44:32
[2026-10-20 05:44:33,220.220 INFO    ] 2026-10-20 05:44:33
[2026-10-20 05:44:33,255.255 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:44:33,472.472 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:44:33,489.489 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:44:33,643.643 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:44:33,650.650 INFO    ] time= 20/10/2026 05:44:33
[2026-10-20 05:44:33,656.656 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:44:33,662.662 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:44:33,808.808 INFO    ] No existing commands found in stream
[2026-10-20 05:44:38,833.833 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:44:38,836.836 INFO    ] Waiting 1.84 seconds before fallback handling...
[2026-10-20 05:44:41,195.195 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:44:41,197.197 INFO    ] Checking for system updates...
[2026-10-20 05:44:41,234.234 INFO    ] 200
[2026-10-20 05:44:41,237.237 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:44:41,291.291 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:44:41,294.294 INFO    ] No update needed
[2026-10-20 05:44:41,298.298 INFO    ] Checking for camera pi updates...
[2026-10-20 05:44:41,333.333 INFO    ] 200
[2026-10-20 05:44:41,336.336 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:44:41,378.378 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:44:41,430.430 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:44:41,432.432 INFO    ] No camera update needed
[2026-10-20 05:44:41,435.435 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:44:41,438.438 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:44:41,444.444 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:44:41,450.450 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:44:43,490.490 INFO    ] ================================================
[2026-10-20 05:44:43,505.505 INFO    ] Launching Daemon at Tue Oct 20 05:44:43 IST 2026
[2026-10-20 05:44:43,516.516 INFO    ] ================================================
[2026-10-20 05:44:44,110.110 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:44:44
[2026-10-20 05:44:44,695.695 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:44:44,940.940 INFO    ] Initializing speech engine...
[2026-10-20 05:44:44,947.947 INFO    ] 2026-10-20 05:44:44
[2026-10-20 05:44:45,227.227 INFO    ] 2026-10-20 05:44:45
[2026-10-20 05:44:45,262.262 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:44:45,465.465 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:44:45,524.524 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:44:45,684.684 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:44:45,740.740 INFO    ] time= 20/10/2026 05:44:45
[2026-10-20 05:44:45,784.784 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:44:45,803.803 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:44:45,928.928 INFO    ] No existing commands found in stream
[2026-10-20 05:44:50,953.953 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:44:50,956.956 INFO    ] Waiting 0.90 seconds before fallback handling...
[2026-10-20 05:44:52,382.382 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:44:52,385.385 INFO    ] Checking for system updates...
[2026-10-20 05:44:52,421.421 INFO    ] 200
[2026-10-20 05:44:52,424.424 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:44:52,477.477 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:44:52,480.480 INFO    ] No update needed
[2026-10-20 05:44:52,483.483 INFO    ] Checking for camera pi updates...
[2026-10-20 05:44:52,523.523 INFO    ] 200
[2026-10-20 05:44:52,526.526 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:44:52,566.566 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:44:52,616.616 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:44:52,619.619 INFO    ] No camera update needed
[2026-10-20 05:44:52,622.622 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:44:52,624.624 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:44:52,631.631 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:44:52,637.637 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:44:54,677.677 INFO    ] ================================================
[2026-10-20 05:44:54,693.693 INFO    ] Launching Daemon at Tue Oct 20 05:44:54 IST 2026
[2026-10-20 05:44:54,703.703 INFO    ] ================================================
[2026-10-20 05:44:55,270.270 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:44:55
[2026-10-20 05:44:55,872.872 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:44:56,150.150 INFO    ] Initializing speech engine...
[2026-10-20 05:44:56,157.157 INFO    ] 2026-10-20 05:44:56
[2026-10-20 05:44:56,418.418 INFO    ] 2026-10-20 05:44:56
[2026-10-20 05:44:56,448.448 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:44:56,708.708 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:44:56,718.718 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:44:56,962.962 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:44:57,021.021 INFO    ] time= 20/10/2026 05:44:56
[2026-10-20 05:44:57,028.028 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:44:57,049.049 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:44:57,187.187 INFO    ] No existing commands found in stream
[2026-10-20 05:45:02,211.211 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:45:02,215.215 INFO    ] Waiting 0.96 seconds before fallback handling...
[2026-10-20 05:45:03,669.669 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:45:03,672.672 INFO    ] Checking for system updates...
[2026-10-20 05:45:03,708.708 INFO    ] 200
[2026-10-20 05:45:03,711.711 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:45:03,773.773 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:45:03,775.775 INFO    ] No update needed
[2026-10-20 05:45:03,777.777 INFO    ] Checking for camera pi updates...
[2026-10-20 05:45:03,811.811 INFO    ] 200
[2026-10-20 05:45:03,813.813 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:45:03,854.854 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:45:03,884.884 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:45:03,887.887 INFO    ] No camera update needed
[2026-10-20 05:45:03,889.889 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:45:03,892.892 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:45:03,897.897 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:45:03,902.902 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:45:05,942.942 INFO    ] ================================================
[2026-10-20 05:45:05,957.957 INFO    ] Launching Daemon at Tue Oct 20 05:45:05 IST 2026
[2026-10-20 05:45:05,968.968 INFO    ] ================================================
[2026-10-20 05:45:06,554.554 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:45:06
[2026-10-20 05:45:07,158.158 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:45:07,435.435 INFO    ] Initializing speech engine...
[2026-10-20 05:45:07,444.444 INFO    ] 2026-10-20 05:45:07
[2026-10-20 05:45:07,692.692 INFO    ] 2026-10-20 05:45:07
[2026-10-20 05:45:07,728.728 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:45:07,925.925 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:45:07,981.981 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:45:08,124.124 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:45:08,195.195 INFO    ] time= 20/10/2026 05:45:08
[2026-10-20 05:45:08,249.249 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:45:08,258.258 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:45:08,397.397 INFO    ] No existing commands found in stream
[2026-10-20 05:45:13,414.414 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:45:13,416.416 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-10-20 05:45:17,123.123 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:45:17,126.126 INFO    ] Checking for system updates...
[2026-10-20 05:45:17,162.162 INFO    ] 200
[2026-10-20 05:45:17,164.164 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:45:17,224.224 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:45:17,226.226 INFO    ] No update needed
[2026-10-20 05:45:17,229.229 INFO    ] Checking for camera pi updates...
[2026-10-20 05:45:17,262.262 INFO    ] 200
[2026-10-20 05:45:17,264.264 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:45:17,304.304 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:45:17,354.354 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:45:17,356.356 INFO    ] No camera update needed
[2026-10-20 05:45:17,359.359 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:45:17,362.362 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:45:17,385.385 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:45:17,390.390 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:45:19,432.432 INFO    ] ================================================
[2026-10-20 05:45:19,448.448 INFO    ] Launching Daemon at Tue Oct 20 05:45:19 IST 2026
[2026-10-20 05:45:19,459.459 INFO    ] ================================================
[2026-10-20 05:45:20,029.029 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:45:20
[2026-10-20 05:45:20,616.616 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:45:20,872.872 INFO    ] Initializing speech engine...
[2026-10-20 05:45:20,879.879 INFO    ] 2026-10-20 05:45:20
[2026-10-20 05:45:21,177.177 INFO    ] 2026-10-20 05:45:21
[2026-10-20 05:45:21,212.212 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:45:21,414.414 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:45:21,430.430 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:45:21,593.593 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:45:21,603.603 INFO    ] time= 20/10/2026 05:45:21
[2026-10-20 05:45:21,609.609 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:45:21,615.615 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:45:21,771.771 INFO    ] No existing commands found in stream
[2026-10-20 05:45:26,801.801 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:45:26,804.804 INFO    ] Waiting 0.44 seconds before fallback handling...
[2026-10-20 05:45:27,740.740 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:45:27,743.743 INFO    ] Checking for system updates...
[2026-10-20 05:45:27,778.778 INFO    ] 200
[2026-10-20 05:45:27,781.781 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:45:27,835.835 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:45:27,837.837 INFO    ] No update needed
[2026-10-20 05:45:27,840.840 INFO    ] Checking for camera pi updates...
[2026-10-20 05:45:27,880.880 INFO    ] 200
[2026-10-20 05:45:27,882.882 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:45:27,924.924 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:45:27,976.976 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:45:27,978.978 INFO    ] No camera update needed
[2026-10-20 05:45:27,980.980 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:45:27,983.983 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:45:27,988.988 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:45:27,993.993 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:45:30,036.036 INFO    ] ================================================
[2026-10-20 05:45:30,052.052 INFO    ] Launching Daemon at Tue Oct 20 05:45:30 IST 2026
[2026-10-20 05:45:30,064.064 INFO    ] ================================================
[2026-10-20 05:45:30,647.647 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:45:30
[2026-10-20 05:45:31,239.239 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:45:31,561.561 INFO    ] Initializing speech engine...
[2026-10-20 05:45:31,573.573 INFO    ] 2026-10-20 05:45:31
[2026-10-20 05:45:31,881.881 INFO    ] 2026-10-20 05:45:31
[2026-10-20 05:45:31,929.929 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:45:32,237.237 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:45:32,245.245 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:45:32,448.448 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:45:32,471.471 INFO    ] time= 20/10/2026 05:45:32
[2026-10-20 05:45:32,504.504 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:45:32,514.514 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:45:32,647.647 INFO    ] No existing commands found in stream
[2026-10-20 05:45:37,673.673 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:45:37,676.676 INFO    ] Waiting 2.59 seconds before fallback handling...
[2026-10-20 05:45:40,782.782 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:45:40,785.785 INFO    ] Checking for system updates...
[2026-10-20 05:45:40,824.824 INFO    ] 200
[2026-10-20 05:45:40,826.826 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:45:40,878.878 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:45:40,881.881 INFO    ] No update needed
[2026-10-20 05:45:40,883.883 INFO    ] Checking for camera pi updates...
[2026-10-20 05:45:40,916.916 INFO    ] 200
[2026-10-20 05:45:40,918.918 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:45:40,959.959 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:45:41,010.010 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:45:41,012.012 INFO    ] No camera update needed
[2026-10-20 05:45:41,014.014 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:45:41,017.017 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:45:41,022.022 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:45:41,027.027 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:45:43,066.066 INFO    ] ================================================
[2026-10-20 05:45:43,082.082 INFO    ] Launching Daemon at Tue Oct 20 05:45:43 IST 2026
[2026-10-20 05:45:43,093.093 INFO    ] ================================================
[2026-10-20 05:45:43,676.676 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:45:43
[2026-10-20 05:45:44,275.275 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:45:44,556.556 INFO    ] Initializing speech engine...
[2026-10-20 05:45:44,568.568 INFO    ] 2026-10-20 05:45:44
[2026-10-20 05:45:44,859.859 INFO    ] 2026-10-20 05:45:44
[2026-10-20 05:45:44,912.912 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:45:45,149.149 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:45:45,169.169 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:45:45,321.321 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:45:45,323.323 INFO    ] time= 20/10/2026 05:45:45
[2026-10-20 05:45:45,326.326 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:45:45,328.328 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:45:45,429.429 INFO    ] No existing commands found in stream
[2026-10-20 05:45:50,450.450 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:45:50,453.453 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-10-20 05:45:54,440.440 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:45:54,442.442 INFO    ] Checking for system updates...
[2026-10-20 05:45:54,477.477 INFO    ] 200
[2026-10-20 05:45:54,480.480 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:45:54,551.551 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:45:54,553.553 INFO    ] No update needed
[2026-10-20 05:45:54,555.555 INFO    ] Checking for camera pi updates...
[2026-10-20 05:45:54,588.588 INFO    ] 200
[2026-10-20 05:45:54,591.591 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:45:54,633.633 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:45:54,681.681 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:45:54,683.683 INFO    ] No camera update needed
[2026-10-20 05:45:54,686.686 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:45:54,688.688 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:45:54,693.693 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:45:54,698.698 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:45:56,739.739 INFO    ] ================================================
[2026-10-20 05:45:56,755.755 INFO    ] Launching Daemon at Tue Oct 20 05:45:56 IST 2026
[2026-10-20 05:45:56,766.766 INFO    ] ================================================
[2026-10-20 05:45:57,332.332 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:45:57
[2026-10-20 05:45:57,915.915 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:45:58,187.187 INFO    ] Initializing speech engine...
[2026-10-20 05:45:58,193.193 INFO    ] 2026-10-20 05:45:58
[2026-10-20 05:45:58,437.437 INFO    ] 2026-10-20 05:45:58
[2026-10-20 05:45:58,473.473 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:45:58,727.727 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:45:58,733.733 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:45:58,939.939 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:45:58,990.990 INFO    ] time= 20/10/2026 05:45:58
[2026-10-20 05:45:58,996.996 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:45:59,014.014 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:45:59,142.142 INFO    ] No existing commands found in stream
[2026-10-20 05:46:04,156.156 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:46:04,159.159 INFO    ] Waiting 2.96 seconds before fallback handling...
[2026-10-20 05:46:07,642.642 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:46:07,645.645 INFO    ] Checking for system updates...
[2026-10-20 05:46:07,680.680 INFO    ] 200
[2026-10-20 05:46:07,683.683 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:46:07,734.734 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:46:07,737.737 INFO    ] No update needed
[2026-10-20 05:46:07,739.739 INFO    ] Checking for camera pi updates...
[2026-10-20 05:46:07,776.776 INFO    ] 200
[2026-10-20 05:46:07,778.778 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:46:07,818.818 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:46:07,973.973 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:46:07,975.975 INFO    ] No camera update needed
[2026-10-20 05:46:07,978.978 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:46:07,980.980 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:46:07,985.985 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:46:07,990.990 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:46:10,032.032 INFO    ] ================================================
[2026-10-20 05:46:10,048.048 INFO    ] Launching Daemon at Tue Oct 20 05:46:10 IST 2026
[2026-10-20 05:46:10,058.058 INFO    ] ================================================
[2026-10-20 05:46:10,630.630 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:46:10
[2026-10-20 05:46:11,215.215 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:46:11,490.490 INFO    ] Initializing speech engine...
[2026-10-20 05:46:11,498.498 INFO    ] 2026-10-20 05:46:11
[2026-10-20 05:46:11,756.756 INFO    ] 2026-10-20 05:46:11
[2026-10-20 05:46:11,785.785 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:46:12,033.033 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:46:12,037.037 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:46:12,232.232 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:46:12,293.293 INFO    ] time= 20/10/2026 05:46:12
[2026-10-20 05:46:12,300.300 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:46:12,318.318 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:46:12,438.438 INFO    ] No existing commands found in stream
[2026-10-20 05:46:17,457.457 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:46:17,460.460 INFO    ] Waiting 1.60 seconds before fallback handling...
[2026-10-20 05:46:19,542.542 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 05:46:19,544.544 INFO    ] Checking for system updates...
[2026-10-20 05:46:19,580.580 INFO    ] 200
[2026-10-20 05:46:19,583.583 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:46:19,649.649 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:46:19,651.651 INFO    ] No update needed
[2026-10-20 05:46:19,653.653 INFO    ] Checking for camera pi updates...
[2026-10-20 05:46:19,690.690 INFO    ] 200
[2026-10-20 05:46:19,692.692 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:46:19,736.736 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:46:19,786.786 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:46:19,789.789 INFO    ] No camera update needed
[2026-10-20 05:46:19,791.791 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:46:19,794.794 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:46:19,799.799 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:46:19,804.804 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:46:21,845.845 INFO    ] ================================================
[2026-10-20 05:46:21,861.861 INFO    ] Launching Daemon at Tue Oct 20 05:46:21 IST 2026
[2026-10-20 05:46:21,871.871 INFO    ] ================================================
[2026-10-20 05:46:22,448.448 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:46:22
[2026-10-20 05:46:23,034.034 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:46:23,307.307 INFO    ] Initializing speech engine...
[2026-10-20 05:46:23,314.314 INFO    ] 2026-10-20 05:46:23
[2026-10-20 05:46:23,573.573 INFO    ] 2026-10-20 05:46:23
[2026-10-20 05:46:23,626.626 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:46:23,912.912 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:46:23,919.919 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:46:24,111.111 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:46:24,128.128 INFO    ] time= 20/10/2026 05:46:24
[2026-10-20 05:46:24,137.137 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:46:24,165.165 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:46:24,288.288 INFO    ] No existing commands found in stream
[2026-10-20 05:46:29,313.313 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:46:29,316.316 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-10-20 05:46:32,966.966 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:46:32,969.969 INFO    ] Checking for system updates...
[2026-10-20 05:46:33,009.009 INFO    ] 200
[2026-10-20 05:46:33,011.011 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:46:33,065.065 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:46:33,067.067 INFO    ] No update needed
[2026-10-20 05:46:33,070.070 INFO    ] Checking for camera pi updates...
[2026-10-20 05:46:33,103.103 INFO    ] 200
[2026-10-20 05:46:33,106.106 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:46:33,150.150 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:46:33,195.195 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:46:33,198.198 INFO    ] No camera update needed
[2026-10-20 05:46:33,200.200 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:46:33,203.203 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:46:33,208.208 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:46:33,213.213 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:46:35,252.252 INFO    ] ================================================
[2026-10-20 05:46:35,268.268 INFO    ] Launching Daemon at Tue Oct 20 05:46:35 IST 2026
[2026-10-20 05:46:35,278.278 INFO    ] ================================================
[2026-10-20 05:46:35,843.843 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:46:35
[2026-10-20 05:46:36,425.425 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:46:36,695.695 INFO    ] Initializing speech engine...
[2026-10-20 05:46:36,704.704 INFO    ] 2026-10-20 05:46:36
[2026-10-20 05:46:36,955.955 INFO    ] 2026-10-20 05:46:36
[2026-10-20 05:46:36,989.989 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:46:37,191.191 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:46:37,250.250 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:46:37,395.395 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:46:37,460.460 INFO    ] time= 20/10/2026 05:46:37
[2026-10-20 05:46:37,519.519 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:46:37,532.532 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:46:37,683.683 INFO    ] No existing commands found in stream
[2026-10-20 05:46:42,695.695 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:46:42,698.698 INFO    ] Waiting 3.01 seconds before fallback handling...
[2026-10-20 05:46:46,247.247 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 05:46:46,250.250 INFO    ] Checking for system updates...
[2026-10-20 05:46:46,285.285 INFO    ] 200
[2026-10-20 05:46:46,287.287 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:46:46,343.343 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:46:46,345.345 INFO    ] No update needed
[2026-10-20 05:46:46,348.348 INFO    ] Checking for camera pi updates...
[2026-10-20 05:46:46,380.380 INFO    ] 200
[2026-10-20 05:46:46,383.383 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:46:46,430.430 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:46:46,481.481 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:46:46,483.483 INFO    ] No camera update needed
[2026-10-20 05:46:46,485.485 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:46:46,488.488 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:46:46,493.493 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:46:46,498.498 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:46:48,538.538 INFO    ] ================================================
[2026-10-20 05:46:48,554.554 INFO    ] Launching Daemon at Tue Oct 20 05:46:48 IST 2026
[2026-10-20 05:46:48,565.565 INFO    ] ================================================
[2026-10-20 05:46:49,199.199 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:46:49
[2026-10-20 05:46:49,853.853 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:46:50,151.151 INFO    ] Initializing speech engine...
[2026-10-20 05:46:50,160.160 INFO    ] 2026-10-20 05:46:50
[2026-10-20 05:46:50,430.430 INFO    ] 2026-10-20 05:46:50
[2026-10-20 05:46:50,465.465 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:46:50,746.746 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:46:50,754.754 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:46:50,983.983 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:46:51,002.002 INFO    ] time= 20/10/2026 05:46:50
[2026-10-20 05:46:51,020.020 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:46:51,038.038 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:46:51,185.185 INFO    ] No existing commands found in stream
[2026-10-20 05:46:56,221.221 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:46:56,224.224 INFO    ] Waiting 2.29 seconds before fallback handling...
[2026-10-20 05:46:59,060.060 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:46:59,063.063 INFO    ] Checking for system updates...
[2026-10-20 05:46:59,099.099 INFO    ] 200
[2026-10-20 05:46:59,102.102 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:46:59,155.155 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:46:59,158.158 INFO    ] No update needed
[2026-10-20 05:46:59,161.161 INFO    ] Checking for camera pi updates...
[2026-10-20 05:46:59,197.197 INFO    ] 200
[2026-10-20 05:46:59,200.200 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:46:59,247.247 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:46:59,299.299 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:46:59,302.302 INFO    ] No camera update needed
[2026-10-20 05:46:59,304.304 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:46:59,307.307 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:46:59,313.313 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:46:59,319.319 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:47:01,359.359 INFO    ] ================================================
[2026-10-20 05:47:01,375.375 INFO    ] Launching Daemon at Tue Oct 20 05:47:01 IST 2026
[2026-10-20 05:47:01,386.386 INFO    ] ================================================
[2026-10-20 05:47:02,074.074 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:47:02
[2026-10-20 05:47:02,748.748 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:47:03,103.103 INFO    ] Initializing speech engine...
[2026-10-20 05:47:03,112.112 INFO    ] 2026-10-20 05:47:03
[2026-10-20 05:47:03,410.410 INFO    ] 2026-10-20 05:47:03
[2026-10-20 05:47:03,449.449 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:47:03,680.680 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:47:03,696.696 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:47:03,848.848 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:47:03,909.909 INFO    ] time= 20/10/2026 05:47:03
[2026-10-20 05:47:03,915.915 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:47:03,970.970 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:47:04,065.065 INFO    ] No existing commands found in stream
[2026-10-20 05:47:09,098.098 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:47:09,101.101 INFO    ] Waiting 3.21 seconds before fallback handling...
[2026-10-20 05:47:12,871.871 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:47:12,874.874 INFO    ] Checking for system updates...
[2026-10-20 05:47:12,914.914 INFO    ] 200
[2026-10-20 05:47:12,917.917 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:47:12,968.968 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:47:12,971.971 INFO    ] No update needed
[2026-10-20 05:47:12,973.973 INFO    ] Checking for camera pi updates...
[2026-10-20 05:47:13,011.011 INFO    ] 200
[2026-10-20 05:47:13,013.013 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:47:13,054.054 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:47:13,100.100 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:47:13,102.102 INFO    ] No camera update needed
[2026-10-20 05:47:13,105.105 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:47:13,107.107 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:47:13,112.112 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:47:13,117.117 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:47:15,159.159 INFO    ] ================================================
[2026-10-20 05:47:15,175.175 INFO    ] Launching Daemon at Tue Oct 20 05:47:15 IST 2026
[2026-10-20 05:47:15,186.186 INFO    ] ================================================
[2026-10-20 05:47:15,754.754 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:47:15
[2026-10-20 05:47:16,334.334 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:47:16,580.580 INFO    ] Initializing speech engine...
[2026-10-20 05:47:16,586.586 INFO    ] 2026-10-20 05:47:16
[2026-10-20 05:47:16,861.861 INFO    ] 2026-10-20 05:47:16
[2026-10-20 05:47:16,905.905 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:47:17,217.217 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:47:17,227.227 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:47:17,420.420 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:47:17,442.442 INFO    ] time= 20/10/2026 05:47:17
[2026-10-20 05:47:17,470.470 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:47:17,480.480 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:47:17,628.628 INFO    ] No existing commands found in stream
[2026-10-20 05:47:22,659.659 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:47:22,662.662 INFO    ] Waiting 3.30 seconds before fallback handling...
[2026-10-20 05:47:26,525.525 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:47:26,528.528 INFO    ] Checking for system updates...
[2026-10-20 05:47:26,565.565 INFO    ] 200
[2026-10-20 05:47:26,568.568 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:47:26,631.631 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:47:26,634.634 INFO    ] No update needed
[2026-10-20 05:47:26,639.639 INFO    ] Checking for camera pi updates...
[2026-10-20 05:47:26,677.677 INFO    ] 200
[2026-10-20 05:47:26,680.680 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:47:26,720.720 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:47:26,759.759 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:47:26,762.762 INFO    ] No camera update needed
[2026-10-20 05:47:26,764.764 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:47:26,767.767 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:47:26,774.774 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:47:26,780.780 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:47:28,824.824 INFO    ] ================================================
[2026-10-20 05:47:28,841.841 INFO    ] Launching Daemon at Tue Oct 20 05:47:28 IST 2026
[2026-10-20 05:47:28,851.851 INFO    ] ================================================
[2026-10-20 05:47:29,539.539 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:47:29
[2026-10-20 05:47:30,158.158 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:47:30,414.414 INFO    ] Initializing speech engine...
[2026-10-20 05:47:30,422.422 INFO    ] 2026-10-20 05:47:30
[2026-10-20 05:47:30,729.729 INFO    ] 2026-10-20 05:47:30
[2026-10-20 05:47:30,767.767 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:47:30,990.990 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:47:31,049.049 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:47:31,314.314 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:47:31,323.323 INFO    ] time= 20/10/2026 05:47:31
[2026-10-20 05:47:31,341.341 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:47:31,359.359 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:47:31,480.480 INFO    ] No existing commands found in stream
[2026-10-20 05:47:36,504.504 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:47:36,507.507 INFO    ] Waiting 2.56 seconds before fallback handling...
[2026-10-20 05:47:39,595.595 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:47:39,597.597 INFO    ] Checking for system updates...
[2026-10-20 05:47:39,633.633 INFO    ] 200
[2026-10-20 05:47:39,636.636 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:47:39,688.688 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:47:39,691.691 INFO    ] No update needed
[2026-10-20 05:47:39,693.693 INFO    ] Checking for camera pi updates...
[2026-10-20 05:47:39,727.727 INFO    ] 200
[2026-10-20 05:47:39,730.730 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:47:39,776.776 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:47:39,830.830 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:47:39,832.832 INFO    ] No camera update needed
[2026-10-20 05:47:39,835.835 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:47:39,837.837 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:47:39,843.843 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:47:39,847.847 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:47:41,887.887 INFO    ] ================================================
[2026-10-20 05:47:41,903.903 INFO    ] Launching Daemon at Tue Oct 20 05:47:41 IST 2026
[2026-10-20 05:47:41,914.914 INFO    ] ================================================
[2026-10-20 05:47:42,481.481 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:47:42
[2026-10-20 05:47:43,067.067 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:47:43,316.316 INFO    ] Initializing speech engine...
[2026-10-20 05:47:43,341.341 INFO    ] 2026-10-20 05:47:43
[2026-10-20 05:47:43,597.597 INFO    ] 2026-10-20 05:47:43
[2026-10-20 05:47:43,632.632 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:47:43,890.890 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:47:43,900.900 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:47:44,107.107 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:47:44,162.162 INFO    ] time= 20/10/2026 05:47:44
[2026-10-20 05:47:44,172.172 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:47:44,190.190 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:47:44,326.326 INFO    ] No existing commands found in stream
[2026-10-20 05:47:49,349.349 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:47:49,352.352 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-10-20 05:47:53,372.372 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:47:53,375.375 INFO    ] Checking for system updates...
[2026-10-20 05:47:53,415.415 INFO    ] 200
[2026-10-20 05:47:53,418.418 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:47:53,478.478 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:47:53,480.480 INFO    ] No update needed
[2026-10-20 05:47:53,483.483 INFO    ] Checking for camera pi updates...
[2026-10-20 05:47:53,516.516 INFO    ] 200
[2026-10-20 05:47:53,519.519 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:47:53,565.565 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:47:53,614.614 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:47:53,617.617 INFO    ] No camera update needed
[2026-10-20 05:47:53,619.619 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:47:53,622.622 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:47:53,627.627 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:47:53,632.632 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:47:55,673.673 INFO    ] ================================================
[2026-10-20 05:47:55,689.689 INFO    ] Launching Daemon at Tue Oct 20 05:47:55 IST 2026
[2026-10-20 05:47:55,701.701 INFO    ] ================================================
[2026-10-20 05:47:56,268.268 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:47:56
[2026-10-20 05:47:56,851.851 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:47:57,097.097 INFO    ] Initializing speech engine...
[2026-10-20 05:47:57,105.105 INFO    ] 2026-10-20 05:47:57
[2026-10-20 05:47:57,379.379 INFO    ] 2026-10-20 05:47:57
[2026-10-20 05:47:57,414.414 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:47:57,677.677 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:47:57,684.684 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:47:57,892.892 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:47:57,946.946 INFO    ] time= 20/10/2026 05:47:57
[2026-10-20 05:47:57,952.952 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:47:57,970.970 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:47:58,107.107 INFO    ] No existing commands found in stream
[2026-10-20 05:48:03,121.121 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:48:03,124.124 INFO    ] Waiting 0.79 seconds before fallback handling...
[2026-10-20 05:48:04,426.426 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:48:04,429.429 INFO    ] Checking for system updates...
[2026-10-20 05:48:04,468.468 INFO    ] 200
[2026-10-20 05:48:04,471.471 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:48:04,529.529 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:48:04,532.532 INFO    ] No update needed
[2026-10-20 05:48:04,534.534 INFO    ] Checking for camera pi updates...
[2026-10-20 05:48:04,571.571 INFO    ] 200
[2026-10-20 05:48:04,573.573 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:48:04,614.614 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:48:04,663.663 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:48:04,665.665 INFO    ] No camera update needed
[2026-10-20 05:48:04,668.668 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:48:04,670.670 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:48:04,675.675 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:48:04,680.680 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:48:06,722.722 INFO    ] ================================================
[2026-10-20 05:48:06,737.737 INFO    ] Launching Daemon at Tue Oct 20 05:48:06 IST 2026
[2026-10-20 05:48:06,748.748 INFO    ] ================================================
[2026-10-20 05:48:07,315.315 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:48:07
[2026-10-20 05:48:07,897.897 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:48:08,163.163 INFO    ] Initializing speech engine...
[2026-10-20 05:48:08,172.172 INFO    ] 2026-10-20 05:48:08
[2026-10-20 05:48:08,418.418 INFO    ] 2026-10-20 05:48:08
[2026-10-20 05:48:08,453.453 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:48:08,710.710 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:48:08,730.730 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:48:08,932.932 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:48:08,968.968 INFO    ] time= 20/10/2026 05:48:08
[2026-10-20 05:48:08,974.974 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:48:08,991.991 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:48:09,122.122 INFO    ] No existing commands found in stream
[2026-10-20 05:48:14,136.136 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:48:14,139.139 INFO    ] Waiting 1.52 seconds before fallback handling...
[2026-10-20 05:48:16,180.180 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:48:16,182.182 INFO    ] Checking for system updates...
[2026-10-20 05:48:16,219.219 INFO    ] 200
[2026-10-20 05:48:16,222.222 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:48:16,281.281 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:48:16,283.283 INFO    ] No update needed
[2026-10-20 05:48:16,286.286 INFO    ] Checking for camera pi updates...
[2026-10-20 05:48:16,323.323 INFO    ] 200
[2026-10-20 05:48:16,325.325 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:48:16,371.371 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:48:16,498.498 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:48:16,501.501 INFO    ] No camera update needed
[2026-10-20 05:48:16,503.503 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:48:16,505.505 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:48:16,511.511 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:48:16,515.515 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:48:18,555.555 INFO    ] ================================================
[2026-10-20 05:48:18,571.571 INFO    ] Launching Daemon at Tue Oct 20 05:48:18 IST 2026
[2026-10-20 05:48:18,582.582 INFO    ] ================================================
[2026-10-20 05:48:19,151.151 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:48:19
[2026-10-20 05:48:19,767.767 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:48:20,071.071 INFO    ] Initializing speech engine...
[2026-10-20 05:48:20,079.079 INFO    ] 2026-10-20 05:48:20
[2026-10-20 05:48:20,369.369 INFO    ] 2026-10-20 05:48:20
[2026-10-20 05:48:20,407.407 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:48:20,631.631 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:48:20,650.650 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:48:20,866.866 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:48:20,888.888 INFO    ] time= 20/10/2026 05:48:20
[2026-10-20 05:48:20,952.952 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:48:21,006.006 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:48:21,155.155 INFO    ] No existing commands found in stream
[2026-10-20 05:48:26,178.178 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:48:26,181.181 INFO    ] Waiting 3.83 seconds before fallback handling...
[2026-10-20 05:48:30,496.496 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:48:30,498.498 INFO    ] Checking for system updates...
[2026-10-20 05:48:30,538.538 INFO    ] 200
[2026-10-20 05:48:30,540.540 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:48:30,593.593 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:48:30,596.596 INFO    ] No update needed
[2026-10-20 05:48:30,598.598 INFO    ] Checking for camera pi updates...
[2026-10-20 05:48:30,635.635 INFO    ] 200
[2026-10-20 05:48:30,637.637 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:48:30,683.683 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:48:30,725.725 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:48:30,727.727 INFO    ] No camera update needed
[2026-10-20 05:48:30,730.730 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:48:30,732.732 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:48:30,737.737 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:48:30,742.742 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:48:32,785.785 INFO    ] ================================================
[2026-10-20 05:48:32,802.802 INFO    ] Launching Daemon at Tue Oct 20 05:48:32 IST 2026
[2026-10-20 05:48:32,814.814 INFO    ] ================================================
[2026-10-20 05:48:33,414.414 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:48:33
[2026-10-20 05:48:34,021.021 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:48:34,296.296 INFO    ] Initializing speech engine...
[2026-10-20 05:48:34,305.305 INFO    ] 2026-10-20 05:48:34
[2026-10-20 05:48:34,570.570 INFO    ] 2026-10-20 05:48:34
[2026-10-20 05:48:34,623.623 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:48:34,873.873 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:48:34,878.878 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:48:35,109.109 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:48:35,115.115 INFO    ] time= 20/10/2026 05:48:35
[2026-10-20 05:48:35,136.136 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:48:35,162.162 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:48:35,281.281 INFO    ] No existing commands found in stream
[2026-10-20 05:48:40,301.301 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:48:40,304.304 INFO    ] Waiting 3.26 seconds before fallback handling...
[2026-10-20 05:48:44,148.148 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:48:44,151.151 INFO    ] Checking for system updates...
[2026-10-20 05:48:44,187.187 INFO    ] 200
[2026-10-20 05:48:44,190.190 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:48:44,243.243 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:48:44,245.245 INFO    ] No update needed
[2026-10-20 05:48:44,248.248 INFO    ] Checking for camera pi updates...
[2026-10-20 05:48:44,282.282 INFO    ] 200
[2026-10-20 05:48:44,285.285 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:48:44,330.330 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:48:44,373.373 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:48:44,375.375 INFO    ] No camera update needed
[2026-10-20 05:48:44,377.377 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:48:44,380.380 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:48:44,385.385 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:48:44,390.390 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:48:46,431.431 INFO    ] ================================================
[2026-10-20 05:48:46,446.446 INFO    ] Launching Daemon at Tue Oct 20 05:48:46 IST 2026
[2026-10-20 05:48:46,457.457 INFO    ] ================================================
[2026-10-20 05:48:47,042.042 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:48:47
[2026-10-20 05:48:47,645.645 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:48:47,927.927 INFO    ] Initializing speech engine...
[2026-10-20 05:48:47,934.934 INFO    ] 2026-10-20 05:48:47
[2026-10-20 05:48:48,194.194 INFO    ] 2026-10-20 05:48:48
[2026-10-20 05:48:48,246.246 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:48:48,536.536 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:48:48,545.545 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:48:48,735.735 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:48:48,742.742 INFO    ] time= 20/10/2026 05:48:48
[2026-10-20 05:48:48,760.760 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:48:48,788.788 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:48:48,896.896 INFO    ] No existing commands found in stream
[2026-10-20 05:48:53,920.920 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:48:53,923.923 INFO    ] Waiting 1.46 seconds before fallback handling...
[2026-10-20 05:48:55,979.979 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 05:48:55,982.982 INFO    ] Checking for system updates...
[2026-10-20 05:48:56,020.020 INFO    ] 200
[2026-10-20 05:48:56,023.023 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:48:56,083.083 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:48:56,086.086 INFO    ] No update needed
[2026-10-20 05:48:56,089.089 INFO    ] Checking for camera pi updates...
[2026-10-20 05:48:56,123.123 INFO    ] 200
[2026-10-20 05:48:56,126.126 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:48:56,169.169 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:48:56,229.229 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:48:56,232.232 INFO    ] No camera update needed
[2026-10-20 05:48:56,235.235 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:48:56,237.237 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:48:56,244.244 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:48:56,249.249 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:48:58,291.291 INFO    ] ================================================
[2026-10-20 05:48:58,307.307 INFO    ] Launching Daemon at Tue Oct 20 05:48:58 IST 2026
[2026-10-20 05:48:58,319.319 INFO    ] ================================================
[2026-10-20 05:48:58,978.978 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:48:58
[2026-10-20 05:48:59,655.655 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:48:59,962.962 INFO    ] Initializing speech engine...
[2026-10-20 05:48:59,971.971 INFO    ] 2026-10-20 05:48:59
[2026-10-20 05:49:00,259.259 INFO    ] 2026-10-20 05:49:00
[2026-10-20 05:49:00,305.305 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:49:00,549.549 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:49:00,555.555 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:49:00,795.795 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:49:00,823.823 INFO    ] time= 20/10/2026 05:49:00
[2026-10-20 05:49:00,845.845 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:49:00,872.872 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:49:00,982.982 INFO    ] No existing commands found in stream
[2026-10-20 05:49:05,997.997 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:49:06,001.001 INFO    ] Waiting 1.29 seconds before fallback handling...
[2026-10-20 05:49:07,873.873 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:49:07,876.876 INFO    ] Checking for system updates...
[2026-10-20 05:49:07,912.912 INFO    ] 200
[2026-10-20 05:49:07,915.915 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:49:07,977.977 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:49:07,980.980 INFO    ] No update needed
[2026-10-20 05:49:07,982.982 INFO    ] Checking for camera pi updates...
[2026-10-20 05:49:08,020.020 INFO    ] 200
[2026-10-20 05:49:08,023.023 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:49:08,064.064 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:49:08,116.116 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:49:08,119.119 INFO    ] No camera update needed
[2026-10-20 05:49:08,121.121 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:49:08,124.124 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:49:08,130.130 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:49:08,136.136 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:49:10,179.179 INFO    ] ================================================
[2026-10-20 05:49:10,194.194 INFO    ] Launching Daemon at Tue Oct 20 05:49:10 IST 2026
[2026-10-20 05:49:10,205.205 INFO    ] ================================================
[2026-10-20 05:49:10,773.773 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:49:10
[2026-10-20 05:49:11,354.354 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:49:11,622.622 INFO    ] Initializing speech engine...
[2026-10-20 05:49:11,631.631 INFO    ] 2026-10-20 05:49:11
[2026-10-20 05:49:11,877.877 INFO    ] 2026-10-20 05:49:11
[2026-10-20 05:49:11,918.918 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:49:12,170.170 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:49:12,191.191 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:49:12,424.424 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:49:12,431.431 INFO    ] time= 20/10/2026 05:49:12
[2026-10-20 05:49:12,450.450 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:49:12,478.478 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:49:12,585.585 INFO    ] No existing commands found in stream
[2026-10-20 05:49:17,614.614 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:49:17,616.616 INFO    ] Waiting 3.22 seconds before fallback handling...
[2026-10-20 05:49:21,342.342 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:49:21,345.345 INFO    ] Checking for system updates...
[2026-10-20 05:49:21,381.381 INFO    ] 200
[2026-10-20 05:49:21,383.383 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:49:21,437.437 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:49:21,440.440 INFO    ] No update needed
[2026-10-20 05:49:21,443.443 INFO    ] Checking for camera pi updates...
[2026-10-20 05:49:21,476.476 INFO    ] 200
[2026-10-20 05:49:21,478.478 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:49:21,519.519 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:49:21,570.570 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:49:21,573.573 INFO    ] No camera update needed
[2026-10-20 05:49:21,576.576 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:49:21,578.578 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:49:21,583.583 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:49:21,588.588 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:49:23,630.630 INFO    ] ================================================
[2026-10-20 05:49:23,646.646 INFO    ] Launching Daemon at Tue Oct 20 05:49:23 IST 2026
[2026-10-20 05:49:23,657.657 INFO    ] ================================================
[2026-10-20 05:49:24,238.238 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:49:24
[2026-10-20 05:49:24,835.835 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:49:25,112.112 INFO    ] Initializing speech engine...
[2026-10-20 05:49:25,119.119 INFO    ] 2026-10-20 05:49:25
[2026-10-20 05:49:25,395.395 INFO    ] 2026-10-20 05:49:25
[2026-10-20 05:49:25,432.432 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:49:25,693.693 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:49:25,699.699 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:49:25,946.946 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:49:25,972.972 INFO    ] time= 20/10/2026 05:49:25
[2026-10-20 05:49:25,989.989 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:49:26,020.020 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:49:26,160.160 INFO    ] No existing commands found in stream
[2026-10-20 05:49:31,196.196 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:49:31,199.199 INFO    ] Waiting 0.19 seconds before fallback handling...
[2026-10-20 05:49:31,935.935 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 05:49:31,938.938 INFO    ] Checking for system updates...
[2026-10-20 05:49:31,975.975 INFO    ] 200
[2026-10-20 05:49:31,978.978 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:49:32,044.044 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:49:32,048.048 INFO    ] No update needed
[2026-10-20 05:49:32,050.050 INFO    ] Checking for camera pi updates...
[2026-10-20 05:49:32,086.086 INFO    ] 200
[2026-10-20 05:49:32,089.089 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:49:32,132.132 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:49:32,175.175 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:49:32,178.178 INFO    ] No camera update needed
[2026-10-20 05:49:32,180.180 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:49:32,183.183 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:49:32,189.189 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:49:32,195.195 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:49:34,235.235 INFO    ] ================================================
[2026-10-20 05:49:34,250.250 INFO    ] Launching Daemon at Tue Oct 20 05:49:34 IST 2026
[2026-10-20 05:49:34,261.261 INFO    ] ================================================
[2026-10-20 05:49:34,828.828 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:49:34
[2026-10-20 05:49:35,411.411 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:49:35,664.664 INFO    ] Initializing speech engine...
[2026-10-20 05:49:35,677.677 INFO    ] 2026-10-20 05:49:35
[2026-10-20 05:49:35,941.941 INFO    ] 2026-10-20 05:49:35
[2026-10-20 05:49:35,975.975 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:49:36,238.238 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:49:36,244.244 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:49:36,458.458 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:49:36,508.508 INFO    ] time= 20/10/2026 05:49:36
[2026-10-20 05:49:36,515.515 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:49:36,532.532 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:49:36,666.666 INFO    ] No existing commands found in stream
[2026-10-20 05:49:41,680.680 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:49:41,682.682 INFO    ] Waiting 1.18 seconds before fallback handling...
[2026-10-20 05:49:43,506.506 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 05:49:43,509.509 INFO    ] Checking for system updates...
[2026-10-20 05:49:43,551.551 INFO    ] 200
[2026-10-20 05:49:43,554.554 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:49:43,606.606 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:49:43,610.610 INFO    ] No update needed
[2026-10-20 05:49:43,613.613 INFO    ] Checking for camera pi updates...
[2026-10-20 05:49:43,647.647 INFO    ] 200
[2026-10-20 05:49:43,650.650 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:49:43,691.691 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:49:43,743.743 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:49:43,745.745 INFO    ] No camera update needed
[2026-10-20 05:49:43,748.748 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:49:43,751.751 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:49:43,758.758 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:49:43,764.764 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:49:45,807.807 INFO    ] ================================================
[2026-10-20 05:49:45,822.822 INFO    ] Launching Daemon at Tue Oct 20 05:49:45 IST 2026
[2026-10-20 05:49:45,833.833 INFO    ] ================================================
[2026-10-20 05:49:46,414.414 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:49:46
[2026-10-20 05:49:47,015.015 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:49:47,281.281 INFO    ] Initializing speech engine...
[2026-10-20 05:49:47,294.294 INFO    ] 2026-10-20 05:49:47
[2026-10-20 05:49:47,584.584 INFO    ] 2026-10-20 05:49:47
[2026-10-20 05:49:47,623.623 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:49:47,825.825 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:49:47,882.882 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:49:48,122.122 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:49:48,147.147 INFO    ] time= 20/10/2026 05:49:48
[2026-10-20 05:49:48,164.164 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:49:48,173.173 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:49:48,303.303 INFO    ] No existing commands found in stream
[2026-10-20 05:49:53,331.331 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:49:53,333.333 INFO    ] Waiting 1.15 seconds before fallback handling...
[2026-10-20 05:49:54,959.959 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:49:54,961.961 INFO    ] Checking for system updates...
[2026-10-20 05:49:55,001.001 INFO    ] 200
[2026-10-20 05:49:55,004.004 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:49:55,063.063 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:49:55,066.066 INFO    ] No update needed
[2026-10-20 05:49:55,068.068 INFO    ] Checking for camera pi updates...
[2026-10-20 05:49:55,103.103 INFO    ] 200
[2026-10-20 05:49:55,105.105 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:49:55,149.149 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:49:55,198.198 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:49:55,201.201 INFO    ] No camera update needed
[2026-10-20 05:49:55,204.204 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:49:55,207.207 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:49:55,213.213 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:49:55,218.218 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:49:57,264.264 INFO    ] ================================================
[2026-10-20 05:49:57,279.279 INFO    ] Launching Daemon at Tue Oct 20 05:49:57 IST 2026
[2026-10-20 05:49:57,290.290 INFO    ] ================================================
[2026-10-20 05:49:57,861.861 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:49:57
[2026-10-20 05:49:58,474.474 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:49:58,730.730 INFO    ] Initializing speech engine...
[2026-10-20 05:49:58,746.746 INFO    ] 2026-10-20 05:49:58
[2026-10-20 05:49:59,032.032 INFO    ] 2026-10-20 05:49:59
[2026-10-20 05:49:59,067.067 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:49:59,296.296 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:49:59,304.304 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:49:59,528.528 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:49:59,550.550 INFO    ] time= 20/10/2026 05:49:59
[2026-10-20 05:49:59,604.604 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:49:59,648.648 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:49:59,770.770 INFO    ] No existing commands found in stream
[2026-10-20 05:50:04,780.780 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:50:04,783.783 INFO    ] Waiting 0.67 seconds before fallback handling...
[2026-10-20 05:50:07,927.927 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:50:07,931.931 INFO    ] Checking for system updates...
[2026-10-20 05:50:07,967.967 INFO    ] 200
[2026-10-20 05:50:07,970.970 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:50:08,022.022 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:50:08,025.025 INFO    ] No update needed
[2026-10-20 05:50:08,028.028 INFO    ] Checking for camera pi updates...
[2026-10-20 05:50:08,062.062 INFO    ] 200
[2026-10-20 05:50:08,065.065 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:50:08,110.110 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:50:08,144.144 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:50:08,147.147 INFO    ] No camera update needed
[2026-10-20 05:50:08,149.149 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:50:08,152.152 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:50:08,157.157 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:50:08,162.162 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:50:10,201.201 INFO    ] ================================================
[2026-10-20 05:50:10,218.218 INFO    ] Launching Daemon at Tue Oct 20 05:50:10 IST 2026
[2026-10-20 05:50:10,228.228 INFO    ] ================================================
[2026-10-20 05:50:10,838.838 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:50:10
[2026-10-20 05:50:11,426.426 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:50:11,672.672 INFO    ] Initializing speech engine...
[2026-10-20 05:50:11,686.686 INFO    ] 2026-10-20 05:50:11
[2026-10-20 05:50:11,964.964 INFO    ] 2026-10-20 05:50:11
[2026-10-20 05:50:12,008.008 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:50:12,265.265 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:50:12,285.285 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:50:12,494.494 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:50:12,528.528 INFO    ] time= 20/10/2026 05:50:12
[2026-10-20 05:50:12,547.547 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:50:12,576.576 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:50:12,695.695 INFO    ] No existing commands found in stream
[2026-10-20 05:50:17,720.720 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:50:17,723.723 INFO    ] Waiting 1.92 seconds before fallback handling...
[2026-10-20 05:50:20,261.261 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:50:20,264.264 INFO    ] Checking for system updates...
[2026-10-20 05:50:20,303.303 INFO    ] 200
[2026-10-20 05:50:20,306.306 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:50:20,365.365 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:50:20,368.368 INFO    ] No update needed
[2026-10-20 05:50:20,371.371 INFO    ] Checking for camera pi updates...
[2026-10-20 05:50:20,407.407 INFO    ] 200
[2026-10-20 05:50:20,411.411 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:50:20,454.454 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:50:20,604.604 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:50:20,606.606 INFO    ] No camera update needed
[2026-10-20 05:50:20,609.609 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:50:20,611.611 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:50:20,616.616 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:50:20,621.621 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:50:22,662.662 INFO    ] ================================================
[2026-10-20 05:50:22,678.678 INFO    ] Launching Daemon at Tue Oct 20 05:50:22 IST 2026
[2026-10-20 05:50:22,690.690 INFO    ] ================================================
[2026-10-20 05:50:23,261.261 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:50:23
[2026-10-20 05:50:23,850.850 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:50:24,110.110 INFO    ] Initializing speech engine...
[2026-10-20 05:50:24,124.124 INFO    ] 2026-10-20 05:50:24
[2026-10-20 05:50:24,410.410 INFO    ] 2026-10-20 05:50:24
[2026-10-20 05:50:24,448.448 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:50:24,738.738 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:50:24,747.747 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:50:24,973.973 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:50:25,017.017 INFO    ] time= 20/10/2026 05:50:24
[2026-10-20 05:50:25,050.050 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:50:25,056.056 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:50:25,213.213 INFO    ] No existing commands found in stream
[2026-10-20 05:50:30,232.232 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:50:30,235.235 INFO    ] Waiting 1.82 seconds before fallback handling...
[2026-10-20 05:50:32,606.606 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:50:32,609.609 INFO    ] Checking for system updates...
[2026-10-20 05:50:32,647.647 INFO    ] 200
[2026-10-20 05:50:32,650.650 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:50:32,707.707 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:50:32,710.710 INFO    ] No update needed
[2026-10-20 05:50:32,712.712 INFO    ] Checking for camera pi updates...
[2026-10-20 05:50:32,752.752 INFO    ] 200
[2026-10-20 05:50:32,754.754 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:50:32,798.798 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:50:32,834.834 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:50:32,837.837 INFO    ] No camera update needed
[2026-10-20 05:50:32,840.840 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:50:32,842.842 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:50:32,848.848 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:50:32,854.854 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:50:34,894.894 INFO    ] ================================================
[2026-10-20 05:50:34,910.910 INFO    ] Launching Daemon at Tue Oct 20 05:50:34 IST 2026
[2026-10-20 05:50:34,921.921 INFO    ] ================================================
[2026-10-20 05:50:35,495.495 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:50:35
[2026-10-20 05:50:36,085.085 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:50:36,363.363 INFO    ] Initializing speech engine...
[2026-10-20 05:50:36,368.368 INFO    ] 2026-10-20 05:50:36
[2026-10-20 05:50:36,622.622 INFO    ] 2026-10-20 05:50:36
[2026-10-20 05:50:36,657.657 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:50:36,902.902 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:50:36,912.912 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:50:37,130.130 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:50:37,169.169 INFO    ] time= 20/10/2026 05:50:37
[2026-10-20 05:50:37,175.175 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:50:37,197.197 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:50:37,322.322 INFO    ] No existing commands found in stream
[2026-10-20 05:50:42,335.335 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:50:42,338.338 INFO    ] Waiting 1.08 seconds before fallback handling...
[2026-10-20 05:50:43,916.916 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:50:43,919.919 INFO    ] Checking for system updates...
[2026-10-20 05:50:43,954.954 INFO    ] 200
[2026-10-20 05:50:43,956.956 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:50:44,009.009 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:50:44,012.012 INFO    ] No update needed
[2026-10-20 05:50:44,014.014 INFO    ] Checking for camera pi updates...
[2026-10-20 05:50:44,047.047 INFO    ] 200
[2026-10-20 05:50:44,049.049 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:50:44,089.089 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:50:44,141.141 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:50:44,143.143 INFO    ] No camera update needed
[2026-10-20 05:50:44,146.146 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:50:44,148.148 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:50:44,153.153 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:50:44,158.158 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:50:46,198.198 INFO    ] ================================================
[2026-10-20 05:50:46,213.213 INFO    ] Launching Daemon at Tue Oct 20 05:50:46 IST 2026
[2026-10-20 05:50:46,224.224 INFO    ] ================================================
[2026-10-20 05:50:46,789.789 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:50:46
[2026-10-20 05:50:47,372.372 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:50:47,619.619 INFO    ] Initializing speech engine...
[2026-10-20 05:50:47,625.625 INFO    ] 2026-10-20 05:50:47
[2026-10-20 05:50:47,899.899 INFO    ] 2026-10-20 05:50:47
[2026-10-20 05:50:47,934.934 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:50:48,197.197 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:50:48,201.201 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:50:48,404.404 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:50:48,459.459 INFO    ] time= 20/10/2026 05:50:48
[2026-10-20 05:50:48,471.471 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:50:48,490.490 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:50:48,623.623 INFO    ] No existing commands found in stream
[2026-10-20 05:50:53,635.635 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:50:53,638.638 INFO    ] Waiting 3.58 seconds before fallback handling...
[2026-10-20 05:50:57,719.719 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 05:50:57,721.721 INFO    ] Checking for system updates...
[2026-10-20 05:50:57,757.757 INFO    ] 200
[2026-10-20 05:50:57,760.760 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:50:57,820.820 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:50:57,822.822 INFO    ] No update needed
[2026-10-20 05:50:57,825.825 INFO    ] Checking for camera pi updates...
[2026-10-20 05:50:57,858.858 INFO    ] 200
[2026-10-20 05:50:57,861.861 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:50:57,901.901 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:50:57,951.951 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:50:57,954.954 INFO    ] No camera update needed
[2026-10-20 05:50:57,956.956 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:50:57,958.958 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:50:57,964.964 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:50:57,969.969 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:51:00,011.011 INFO    ] ================================================
[2026-10-20 05:51:00,027.027 INFO    ] Launching Daemon at Tue Oct 20 05:51:00 IST 2026
[2026-10-20 05:51:00,037.037 INFO    ] ================================================
[2026-10-20 05:51:00,616.616 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:51:00
[2026-10-20 05:51:01,261.261 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:51:01,736.736 INFO    ] Initializing speech engine...
[2026-10-20 05:51:01,748.748 INFO    ] 2026-10-20 05:51:01
[2026-10-20 05:51:02,076.076 INFO    ] 2026-10-20 05:51:02
[2026-10-20 05:51:02,184.184 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:51:02,430.430 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:51:02,439.439 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:51:02,669.669 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:51:02,689.689 INFO    ] time= 20/10/2026 05:51:02
[2026-10-20 05:51:02,696.696 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:51:02,741.741 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:51:02,908.908 INFO    ] No existing commands found in stream
[2026-10-20 05:51:07,939.939 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:51:07,942.942 INFO    ] Waiting 2.33 seconds before fallback handling...
[2026-10-20 05:51:10,843.843 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:51:10,846.846 INFO    ] Checking for system updates...
[2026-10-20 05:51:10,883.883 INFO    ] 200
[2026-10-20 05:51:10,886.886 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:51:10,961.961 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:51:10,964.964 INFO    ] No update needed
[2026-10-20 05:51:10,966.966 INFO    ] Checking for camera pi updates...
[2026-10-20 05:51:10,999.999 INFO    ] 200
[2026-10-20 05:51:11,002.002 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:51:11,043.043 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:51:11,091.091 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:51:11,093.093 INFO    ] No camera update needed
[2026-10-20 05:51:11,096.096 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:51:11,098.098 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:51:11,103.103 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:51:11,108.108 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:51:13,151.151 INFO    ] ================================================
[2026-10-20 05:51:13,166.166 INFO    ] Launching Daemon at Tue Oct 20 05:51:13 IST 2026
[2026-10-20 05:51:13,177.177 INFO    ] ================================================
[2026-10-20 05:51:13,817.817 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:51:13
[2026-10-20 05:51:14,479.479 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:51:14,750.750 INFO    ] Initializing speech engine...
[2026-10-20 05:51:14,759.759 INFO    ] 2026-10-20 05:51:14
[2026-10-20 05:51:15,008.008 INFO    ] 2026-10-20 05:51:15
[2026-10-20 05:51:15,043.043 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:51:15,300.300 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:51:15,310.310 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:51:15,552.552 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:51:15,573.573 INFO    ] time= 20/10/2026 05:51:15
[2026-10-20 05:51:15,579.579 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:51:15,597.597 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:51:15,729.729 INFO    ] No existing commands found in stream
[2026-10-20 05:51:20,742.742 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:51:20,745.745 INFO    ] Waiting 3.61 seconds before fallback handling...
[2026-10-20 05:51:24,870.870 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:51:24,872.872 INFO    ] Checking for system updates...
[2026-10-20 05:51:24,911.911 INFO    ] 200
[2026-10-20 05:51:24,914.914 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:51:24,965.965 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:51:24,967.967 INFO    ] No update needed
[2026-10-20 05:51:24,970.970 INFO    ] Checking for camera pi updates...
[2026-10-20 05:51:25,003.003 INFO    ] 200
[2026-10-20 05:51:25,005.005 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:51:25,048.048 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:51:25,106.106 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:51:25,109.109 INFO    ] No camera update needed
[2026-10-20 05:51:25,111.111 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:51:25,113.113 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:51:25,118.118 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:51:25,123.123 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:51:27,163.163 INFO    ] ================================================
[2026-10-20 05:51:27,179.179 INFO    ] Launching Daemon at Tue Oct 20 05:51:27 IST 2026
[2026-10-20 05:51:27,189.189 INFO    ] ================================================
[2026-10-20 05:51:27,757.757 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:51:27
[2026-10-20 05:51:28,342.342 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:51:28,595.595 INFO    ] Initializing speech engine...
[2026-10-20 05:51:28,604.604 INFO    ] 2026-10-20 05:51:28
[2026-10-20 05:51:28,893.893 INFO    ] 2026-10-20 05:51:28
[2026-10-20 05:51:28,927.927 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:51:29,125.125 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:51:29,138.138 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:51:29,302.302 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:51:29,309.309 INFO    ] time= 20/10/2026 05:51:29
[2026-10-20 05:51:29,371.371 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:51:29,385.385 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:51:29,507.507 INFO    ] No existing commands found in stream
[2026-10-20 05:51:34,536.536 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:51:34,539.539 INFO    ] Waiting 0.47 seconds before fallback handling...
[2026-10-20 05:51:35,516.516 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 05:51:35,518.518 INFO    ] Checking for system updates...
[2026-10-20 05:51:35,557.557 INFO    ] 200
[2026-10-20 05:51:35,559.559 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:51:35,612.612 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:51:35,615.615 INFO    ] No update needed
[2026-10-20 05:51:35,617.617 INFO    ] Checking for camera pi updates...
[2026-10-20 05:51:35,651.651 INFO    ] 200
[2026-10-20 05:51:35,653.653 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:51:35,692.692 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:51:35,745.745 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:51:35,748.748 INFO    ] No camera update needed
[2026-10-20 05:51:35,750.750 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:51:35,752.752 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:51:35,758.758 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:51:35,763.763 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:51:37,801.801 INFO    ] ================================================
[2026-10-20 05:51:37,816.816 INFO    ] Launching Daemon at Tue Oct 20 05:51:37 IST 2026
[2026-10-20 05:51:37,827.827 INFO    ] ================================================
[2026-10-20 05:51:38,411.411 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:51:38
[2026-10-20 05:51:39,011.011 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:51:39,288.288 INFO    ] Initializing speech engine...
[2026-10-20 05:51:39,293.293 INFO    ] 2026-10-20 05:51:39
[2026-10-20 05:51:39,556.556 INFO    ] 2026-10-20 05:51:39
[2026-10-20 05:51:39,610.610 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:51:39,876.876 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:51:39,900.900 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:51:40,090.090 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:51:40,103.103 INFO    ] time= 20/10/2026 05:51:40
[2026-10-20 05:51:40,122.122 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:51:40,138.138 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:51:40,276.276 INFO    ] No existing commands found in stream
[2026-10-20 05:51:45,306.306 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:51:45,309.309 INFO    ] Waiting 1.11 seconds before fallback handling...
[2026-10-20 05:51:46,957.957 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 05:51:46,960.960 INFO    ] Checking for system updates...
[2026-10-20 05:51:46,997.997 INFO    ] 200
[2026-10-20 05:51:47,000.000 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:51:47,053.053 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:51:47,055.055 INFO    ] No update needed
[2026-10-20 05:51:47,058.058 INFO    ] Checking for camera pi updates...
[2026-10-20 05:51:47,094.094 INFO    ] 200
[2026-10-20 05:51:47,096.096 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:51:47,138.138 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:51:47,186.186 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:51:47,189.189 INFO    ] No camera update needed
[2026-10-20 05:51:47,191.191 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:51:47,194.194 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:51:47,199.199 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:51:47,204.204 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:51:49,243.243 INFO    ] ================================================
[2026-10-20 05:51:49,258.258 INFO    ] Launching Daemon at Tue Oct 20 05:51:49 IST 2026
[2026-10-20 05:51:49,269.269 INFO    ] ================================================
[2026-10-20 05:51:49,855.855 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:51:49
[2026-10-20 05:51:50,455.455 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:51:50,736.736 INFO    ] Initializing speech engine...
[2026-10-20 05:51:50,741.741 INFO    ] 2026-10-20 05:51:50
[2026-10-20 05:51:51,002.002 INFO    ] 2026-10-20 05:51:50
[2026-10-20 05:51:51,056.056 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:51:51,327.327 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:51:51,351.351 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:51:51,549.549 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:51:51,568.568 INFO    ] time= 20/10/2026 05:51:51
[2026-10-20 05:51:51,585.585 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:51:51,604.604 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:51:51,707.707 INFO    ] No existing commands found in stream
[2026-10-20 05:51:56,728.728 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:51:56,731.731 INFO    ] Waiting 3.81 seconds before fallback handling...
[2026-10-20 05:52:01,106.106 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:52:01,109.109 INFO    ] Checking for system updates...
[2026-10-20 05:52:01,213.213 INFO    ] 200
[2026-10-20 05:52:01,216.216 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:52:01,302.302 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:52:01,306.306 INFO    ] No update needed
[2026-10-20 05:52:01,311.311 INFO    ] Checking for camera pi updates...
[2026-10-20 05:52:01,376.376 INFO    ] 200
[2026-10-20 05:52:01,380.380 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:52:01,470.470 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:52:01,540.540 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:52:01,543.543 INFO    ] No camera update needed
[2026-10-20 05:52:01,546.546 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:52:01,557.557 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:52:01,564.564 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:52:01,576.576 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:52:03,624.624 INFO    ] ================================================
[2026-10-20 05:52:03,639.639 INFO    ] Launching Daemon at Tue Oct 20 05:52:03 IST 2026
[2026-10-20 05:52:03,649.649 INFO    ] ================================================
[2026-10-20 05:52:04,217.217 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:52:04
[2026-10-20 05:52:04,803.803 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:52:05,056.056 INFO    ] Initializing speech engine...
[2026-10-20 05:52:05,062.062 INFO    ] 2026-10-20 05:52:05
[2026-10-20 05:52:05,346.346 INFO    ] 2026-10-20 05:52:05
[2026-10-20 05:52:05,383.383 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:52:05,667.667 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:52:05,673.673 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:52:05,907.907 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:52:05,946.946 INFO    ] time= 20/10/2026 05:52:05
[2026-10-20 05:52:05,959.959 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:52:05,975.975 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:52:06,108.108 INFO    ] No existing commands found in stream
[2026-10-20 05:52:11,132.132 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:52:11,135.135 INFO    ] Waiting 1.48 seconds before fallback handling...
[2026-10-20 05:52:13,146.146 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:52:13,149.149 INFO    ] Checking for system updates...
[2026-10-20 05:52:13,186.186 INFO    ] 200
[2026-10-20 05:52:13,188.188 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:52:13,241.241 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:52:13,243.243 INFO    ] No update needed
[2026-10-20 05:52:13,245.245 INFO    ] Checking for camera pi updates...
[2026-10-20 05:52:13,283.283 INFO    ] 200
[2026-10-20 05:52:13,286.286 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:52:13,325.325 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:52:13,371.371 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:52:13,373.373 INFO    ] No camera update needed
[2026-10-20 05:52:13,375.375 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:52:13,378.378 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:52:13,384.384 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:52:13,389.389 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:52:15,429.429 INFO    ] ================================================
[2026-10-20 05:52:15,444.444 INFO    ] Launching Daemon at Tue Oct 20 05:52:15 IST 2026
[2026-10-20 05:52:15,455.455 INFO    ] ================================================
[2026-10-20 05:52:16,037.037 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:52:16
[2026-10-20 05:52:16,636.636 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:52:16,914.914 INFO    ] Initializing speech engine...
[2026-10-20 05:52:16,919.919 INFO    ] 2026-10-20 05:52:16
[2026-10-20 05:52:17,179.179 INFO    ] 2026-10-20 05:52:17
[2026-10-20 05:52:17,232.232 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:52:17,480.480 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:52:17,488.488 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:52:17,714.714 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:52:17,726.726 INFO    ] time= 20/10/2026 05:52:17
[2026-10-20 05:52:17,744.744 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:52:17,756.756 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:52:17,904.904 INFO    ] No existing commands found in stream
[2026-10-20 05:52:22,934.934 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:52:22,937.937 INFO    ] Waiting 1.91 seconds before fallback handling...
[2026-10-20 05:52:25,371.371 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:52:25,374.374 INFO    ] Checking for system updates...
[2026-10-20 05:52:25,411.411 INFO    ] 200
[2026-10-20 05:52:25,413.413 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:52:25,475.475 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:52:25,477.477 INFO    ] No update needed
[2026-10-20 05:52:25,480.480 INFO    ] Checking for camera pi updates...
[2026-10-20 05:52:25,512.512 INFO    ] 200
[2026-10-20 05:52:25,515.515 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:52:25,556.556 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:52:25,703.703 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:52:25,706.706 INFO    ] No camera update needed
[2026-10-20 05:52:25,708.708 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:52:25,711.711 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:52:25,716.716 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:52:25,721.721 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:52:27,761.761 INFO    ] ================================================
[2026-10-20 05:52:27,776.776 INFO    ] Launching Daemon at Tue Oct 20 05:52:27 IST 2026
[2026-10-20 05:52:27,787.787 INFO    ] ================================================
[2026-10-20 05:52:28,427.427 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:52:28
[2026-10-20 05:52:29,080.080 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:52:29,378.378 INFO    ] Initializing speech engine...
[2026-10-20 05:52:29,384.384 INFO    ] 2026-10-20 05:52:29
[2026-10-20 05:52:29,656.656 INFO    ] 2026-10-20 05:52:29
[2026-10-20 05:52:29,711.711 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:52:30,033.033 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:52:30,068.068 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:52:30,331.331 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:52:30,361.361 INFO    ] time= 20/10/2026 05:52:30
[2026-10-20 05:52:30,421.421 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:52:30,454.454 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:52:30,603.603 INFO    ] No existing commands found in stream
[2026-10-20 05:52:35,621.621 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:52:35,624.624 INFO    ] Waiting 1.24 seconds before fallback handling...
[2026-10-20 05:52:37,378.378 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:52:37,381.381 INFO    ] Checking for system updates...
[2026-10-20 05:52:37,418.418 INFO    ] 200
[2026-10-20 05:52:37,421.421 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:52:37,479.479 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:52:37,481.481 INFO    ] No update needed
[2026-10-20 05:52:37,484.484 INFO    ] Checking for camera pi updates...
[2026-10-20 05:52:37,518.518 INFO    ] 200
[2026-10-20 05:52:37,521.521 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:52:37,563.563 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:52:37,607.607 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:52:37,610.610 INFO    ] No camera update needed
[2026-10-20 05:52:37,613.613 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:52:37,615.615 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:52:37,621.621 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:52:37,627.627 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:52:39,669.669 INFO    ] ================================================
[2026-10-20 05:52:39,684.684 INFO    ] Launching Daemon at Tue Oct 20 05:52:39 IST 2026
[2026-10-20 05:52:39,694.694 INFO    ] ================================================
[2026-10-20 05:52:40,258.258 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:52:40
[2026-10-20 05:52:40,840.840 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:52:41,094.094 INFO    ] Initializing speech engine...
[2026-10-20 05:52:41,119.119 INFO    ] 2026-10-20 05:52:41
[2026-10-20 05:52:41,388.388 INFO    ] 2026-10-20 05:52:41
[2026-10-20 05:52:41,441.441 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:52:41,672.672 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:52:41,676.676 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:52:41,900.900 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:52:41,938.938 INFO    ] time= 20/10/2026 05:52:41
[2026-10-20 05:52:41,945.945 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:52:41,963.963 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:52:42,099.099 INFO    ] No existing commands found in stream
[2026-10-20 05:52:47,111.111 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:52:47,114.114 INFO    ] Waiting 3.27 seconds before fallback handling...
[2026-10-20 05:52:50,899.899 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:52:50,902.902 INFO    ] Checking for system updates...
[2026-10-20 05:52:50,937.937 INFO    ] 200
[2026-10-20 05:52:50,939.939 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:52:50,996.996 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:52:50,999.999 INFO    ] No update needed
[2026-10-20 05:52:51,002.002 INFO    ] Checking for camera pi updates...
[2026-10-20 05:52:51,039.039 INFO    ] 200
[2026-10-20 05:52:51,042.042 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:52:51,091.091 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:52:51,146.146 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:52:51,148.148 INFO    ] No camera update needed
[2026-10-20 05:52:51,150.150 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:52:51,153.153 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:52:51,158.158 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:52:51,163.163 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:52:53,203.203 INFO    ] ================================================
[2026-10-20 05:52:53,218.218 INFO    ] Launching Daemon at Tue Oct 20 05:52:53 IST 2026
[2026-10-20 05:52:53,229.229 INFO    ] ================================================
[2026-10-20 05:52:53,865.865 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:52:53
[2026-10-20 05:52:54,522.522 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:52:54,801.801 INFO    ] Initializing speech engine...
[2026-10-20 05:52:54,808.808 INFO    ] 2026-10-20 05:52:54
[2026-10-20 05:52:55,069.069 INFO    ] 2026-10-20 05:52:55
[2026-10-20 05:52:55,099.099 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:52:55,344.344 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:52:55,354.354 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:52:55,577.577 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:52:55,613.613 INFO    ] time= 20/10/2026 05:52:55
[2026-10-20 05:52:55,619.619 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:52:55,637.637 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:52:55,770.770 INFO    ] No existing commands found in stream
[2026-10-20 05:53:00,798.798 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:53:00,801.801 INFO    ] Waiting 0.27 seconds before fallback handling...
[2026-10-20 05:53:01,584.584 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 05:53:01,587.587 INFO    ] Checking for system updates...
[2026-10-20 05:53:01,656.656 INFO    ] 200
[2026-10-20 05:53:01,660.660 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:53:01,739.739 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:53:01,742.742 INFO    ] No update needed
[2026-10-20 05:53:01,745.745 INFO    ] Checking for camera pi updates...
[2026-10-20 05:53:01,784.784 INFO    ] 200
[2026-10-20 05:53:01,787.787 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:53:01,837.837 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:53:01,899.899 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:53:01,902.902 INFO    ] No camera update needed
[2026-10-20 05:53:01,905.905 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:53:01,908.908 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:53:01,917.917 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:53:01,924.924 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:53:03,966.966 INFO    ] ================================================
[2026-10-20 05:53:03,982.982 INFO    ] Launching Daemon at Tue Oct 20 05:53:03 IST 2026
[2026-10-20 05:53:03,993.993 INFO    ] ================================================
[2026-10-20 05:53:04,564.564 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:53:04
[2026-10-20 05:53:05,149.149 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:53:05,402.402 INFO    ] Initializing speech engine...
[2026-10-20 05:53:05,411.411 INFO    ] 2026-10-20 05:53:05
[2026-10-20 05:53:05,704.704 INFO    ] 2026-10-20 05:53:05
[2026-10-20 05:53:05,739.739 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:53:05,956.956 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:53:05,964.964 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:53:06,180.180 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:53:06,187.187 INFO    ] time= 20/10/2026 05:53:06
[2026-10-20 05:53:06,227.227 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:53:06,291.291 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:53:06,453.453 INFO    ] No existing commands found in stream
[2026-10-20 05:53:11,476.476 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:53:11,479.479 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-10-20 05:53:14,213.213 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:53:14,216.216 INFO    ] Checking for system updates...
[2026-10-20 05:53:14,251.251 INFO    ] 200
[2026-10-20 05:53:14,253.253 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:53:14,305.305 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:53:14,308.308 INFO    ] No update needed
[2026-10-20 05:53:14,310.310 INFO    ] Checking for camera pi updates...
[2026-10-20 05:53:14,344.344 INFO    ] 200
[2026-10-20 05:53:14,347.347 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:53:14,387.387 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:53:14,434.434 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:53:14,436.436 INFO    ] No camera update needed
[2026-10-20 05:53:14,439.439 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:53:14,441.441 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:53:14,446.446 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:53:14,451.451 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:53:16,491.491 INFO    ] ================================================
[2026-10-20 05:53:16,506.506 INFO    ] Launching Daemon at Tue Oct 20 05:53:16 IST 2026
[2026-10-20 05:53:16,517.517 INFO    ] ================================================
[2026-10-20 05:53:17,100.100 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:53:17
[2026-10-20 05:53:17,698.698 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:53:17,972.972 INFO    ] Initializing speech engine...
[2026-10-20 05:53:17,980.980 INFO    ] 2026-10-20 05:53:17
[2026-10-20 05:53:18,241.241 INFO    ] 2026-10-20 05:53:18
[2026-10-20 05:53:18,294.294 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:53:18,581.581 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:53:18,588.588 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:53:18,778.778 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:53:18,785.785 INFO    ] time= 20/10/2026 05:53:18
[2026-10-20 05:53:18,803.803 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:53:18,832.832 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:53:18,939.939 INFO    ] No existing commands found in stream
[2026-10-20 05:53:23,968.968 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:53:23,971.971 INFO    ] Waiting 3.67 seconds before fallback handling...
[2026-10-20 05:53:28,205.205 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 05:53:28,207.207 INFO    ] Checking for system updates...
[2026-10-20 05:53:28,244.244 INFO    ] 200
[2026-10-20 05:53:28,247.247 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:53:28,305.305 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:53:28,308.308 INFO    ] No update needed
[2026-10-20 05:53:28,311.311 INFO    ] Checking for camera pi updates...
[2026-10-20 05:53:28,349.349 INFO    ] 200
[2026-10-20 05:53:28,352.352 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:53:28,397.397 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:53:28,452.452 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:53:28,455.455 INFO    ] No camera update needed
[2026-10-20 05:53:28,457.457 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:53:28,460.460 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:53:28,466.466 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:53:28,472.472 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:53:30,513.513 INFO    ] ================================================
[2026-10-20 05:53:30,529.529 INFO    ] Launching Daemon at Tue Oct 20 05:53:30 IST 2026
[2026-10-20 05:53:30,539.539 INFO    ] ================================================
[2026-10-20 05:53:31,184.184 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:53:31
[2026-10-20 05:53:31,897.897 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:53:32,232.232 INFO    ] Initializing speech engine...
[2026-10-20 05:53:32,247.247 INFO    ] 2026-10-20 05:53:32
[2026-10-20 05:53:32,534.534 INFO    ] 2026-10-20 05:53:32
[2026-10-20 05:53:32,591.591 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:53:32,825.825 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:53:32,836.836 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:53:33,069.069 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:53:33,097.097 INFO    ] time= 20/10/2026 05:53:33
[2026-10-20 05:53:33,103.103 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:53:33,124.124 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:53:33,238.238 INFO    ] No existing commands found in stream
[2026-10-20 05:53:38,263.263 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:53:38,266.266 INFO    ] Waiting 1.90 seconds before fallback handling...
[2026-10-20 05:53:40,738.738 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:53:40,742.742 INFO    ] Checking for system updates...
[2026-10-20 05:53:40,782.782 INFO    ] 200
[2026-10-20 05:53:40,785.785 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:53:40,844.844 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:53:40,847.847 INFO    ] No update needed
[2026-10-20 05:53:40,850.850 INFO    ] Checking for camera pi updates...
[2026-10-20 05:53:40,888.888 INFO    ] 200
[2026-10-20 05:53:40,891.891 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:53:40,933.933 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:53:40,984.984 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:53:40,988.988 INFO    ] No camera update needed
[2026-10-20 05:53:40,991.991 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:53:40,993.993 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:53:41,000.000 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:53:41,006.006 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:53:43,047.047 INFO    ] ================================================
[2026-10-20 05:53:43,062.062 INFO    ] Launching Daemon at Tue Oct 20 05:53:43 IST 2026
[2026-10-20 05:53:43,073.073 INFO    ] ================================================
[2026-10-20 05:53:43,658.658 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:53:43
[2026-10-20 05:53:44,262.262 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:53:44,512.512 INFO    ] Initializing speech engine...
[2026-10-20 05:53:44,520.520 INFO    ] 2026-10-20 05:53:44
[2026-10-20 05:53:44,795.795 INFO    ] 2026-10-20 05:53:44
[2026-10-20 05:53:44,831.831 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:53:45,085.085 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:53:45,094.094 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:53:45,337.337 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:53:45,358.358 INFO    ] time= 20/10/2026 05:53:45
[2026-10-20 05:53:45,375.375 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:53:45,399.399 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:53:45,532.532 INFO    ] No existing commands found in stream
[2026-10-20 05:53:50,557.557 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:53:50,560.560 INFO    ] Waiting 1.00 seconds before fallback handling...
[2026-10-20 05:53:52,078.078 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:53:52,081.081 INFO    ] Checking for system updates...
[2026-10-20 05:53:52,118.118 INFO    ] 200
[2026-10-20 05:53:52,121.121 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:53:52,174.174 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:53:52,176.176 INFO    ] No update needed
[2026-10-20 05:53:52,179.179 INFO    ] Checking for camera pi updates...
[2026-10-20 05:53:52,215.215 INFO    ] 200
[2026-10-20 05:53:52,217.217 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:53:52,264.264 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:53:52,309.309 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:53:52,312.312 INFO    ] No camera update needed
[2026-10-20 05:53:52,314.314 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:53:52,316.316 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:53:52,322.322 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:53:52,327.327 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:53:54,368.368 INFO    ] ================================================
[2026-10-20 05:53:54,383.383 INFO    ] Launching Daemon at Tue Oct 20 05:53:54 IST 2026
[2026-10-20 05:53:54,394.394 INFO    ] ================================================
[2026-10-20 05:53:54,962.962 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:53:54
[2026-10-20 05:53:55,547.547 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:53:55,823.823 INFO    ] Initializing speech engine...
[2026-10-20 05:53:55,828.828 INFO    ] 2026-10-20 05:53:55
[2026-10-20 05:53:56,087.087 INFO    ] 2026-10-20 05:53:56
[2026-10-20 05:53:56,121.121 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:53:56,372.372 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:53:56,382.382 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:53:56,625.625 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:53:56,647.647 INFO    ] time= 20/10/2026 05:53:56
[2026-10-20 05:53:56,663.663 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:53:56,670.670 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:53:56,804.804 INFO    ] No existing commands found in stream
[2026-10-20 05:54:01,816.816 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:54:01,819.819 INFO    ] Waiting 0.66 seconds before fallback handling...
[2026-10-20 05:54:03,021.021 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:54:03,025.025 INFO    ] Checking for system updates...
[2026-10-20 05:54:03,066.066 INFO    ] 200
[2026-10-20 05:54:03,068.068 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:54:03,140.140 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:54:03,142.142 INFO    ] No update needed
[2026-10-20 05:54:03,145.145 INFO    ] Checking for camera pi updates...
[2026-10-20 05:54:03,178.178 INFO    ] 200
[2026-10-20 05:54:03,181.181 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:54:03,231.231 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:54:03,295.295 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:54:03,299.299 INFO    ] No camera update needed
[2026-10-20 05:54:03,302.302 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:54:03,305.305 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:54:03,313.313 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:54:03,320.320 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:54:05,363.363 INFO    ] ================================================
[2026-10-20 05:54:05,378.378 INFO    ] Launching Daemon at Tue Oct 20 05:54:05 IST 2026
[2026-10-20 05:54:05,389.389 INFO    ] ================================================
[2026-10-20 05:54:05,963.963 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:54:05
[2026-10-20 05:54:06,555.555 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:54:06,848.848 INFO    ] Initializing speech engine...
[2026-10-20 05:54:06,855.855 INFO    ] 2026-10-20 05:54:06
[2026-10-20 05:54:07,123.123 INFO    ] 2026-10-20 05:54:07
[2026-10-20 05:54:07,159.159 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:54:07,518.518 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:54:07,523.523 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:54:07,742.742 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:54:07,749.749 INFO    ] time= 20/10/2026 05:54:07
[2026-10-20 05:54:07,766.766 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:54:07,776.776 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:54:07,896.896 INFO    ] No existing commands found in stream
[2026-10-20 05:54:12,921.921 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:54:12,924.924 INFO    ] Waiting 0.35 seconds before fallback handling...
[2026-10-20 05:54:13,823.823 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:54:13,826.826 INFO    ] Checking for system updates...
[2026-10-20 05:54:13,862.862 INFO    ] 200
[2026-10-20 05:54:13,865.865 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:54:13,920.920 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:54:13,923.923 INFO    ] No update needed
[2026-10-20 05:54:13,926.926 INFO    ] Checking for camera pi updates...
[2026-10-20 05:54:13,960.960 INFO    ] 200
[2026-10-20 05:54:13,963.963 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:54:14,007.007 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:54:14,054.054 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:54:14,057.057 INFO    ] No camera update needed
[2026-10-20 05:54:14,059.059 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:54:14,061.061 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:54:14,067.067 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:54:14,072.072 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:54:16,113.113 INFO    ] ================================================
[2026-10-20 05:54:16,128.128 INFO    ] Launching Daemon at Tue Oct 20 05:54:16 IST 2026
[2026-10-20 05:54:16,139.139 INFO    ] ================================================
[2026-10-20 05:54:16,772.772 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:54:16
[2026-10-20 05:54:17,422.422 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:54:17,726.726 INFO    ] Initializing speech engine...
[2026-10-20 05:54:17,738.738 INFO    ] 2026-10-20 05:54:17
[2026-10-20 05:54:18,045.045 INFO    ] 2026-10-20 05:54:18
[2026-10-20 05:54:18,133.133 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:54:18,343.343 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:54:18,352.352 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:54:18,550.550 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:54:18,572.572 INFO    ] time= 20/10/2026 05:54:18
[2026-10-20 05:54:18,600.600 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:54:18,610.610 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:54:18,729.729 INFO    ] No existing commands found in stream
[2026-10-20 05:54:23,754.754 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:54:23,757.757 INFO    ] Waiting 2.81 seconds before fallback handling...
[2026-10-20 05:54:27,122.122 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 05:54:27,125.125 INFO    ] Checking for system updates...
[2026-10-20 05:54:27,162.162 INFO    ] 200
[2026-10-20 05:54:27,164.164 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:54:27,218.218 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:54:27,221.221 INFO    ] No update needed
[2026-10-20 05:54:27,223.223 INFO    ] Checking for camera pi updates...
[2026-10-20 05:54:27,261.261 INFO    ] 200
[2026-10-20 05:54:27,263.263 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:54:27,309.309 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:54:27,456.456 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:54:27,459.459 INFO    ] No camera update needed
[2026-10-20 05:54:27,462.462 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:54:27,465.465 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:54:27,471.471 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:54:27,476.476 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:54:29,519.519 INFO    ] ================================================
[2026-10-20 05:54:29,535.535 INFO    ] Launching Daemon at Tue Oct 20 05:54:29 IST 2026
[2026-10-20 05:54:29,546.546 INFO    ] ================================================
[2026-10-20 05:54:30,190.190 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:54:30
[2026-10-20 05:54:30,853.853 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:54:31,154.154 INFO    ] Initializing speech engine...
[2026-10-20 05:54:31,160.160 INFO    ] 2026-10-20 05:54:31
[2026-10-20 05:54:31,442.442 INFO    ] 2026-10-20 05:54:31
[2026-10-20 05:54:31,486.486 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:54:31,746.746 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:54:31,755.755 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:54:31,983.983 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:54:32,023.023 INFO    ] time= 20/10/2026 05:54:31
[2026-10-20 05:54:32,036.036 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:54:32,055.055 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:54:32,187.187 INFO    ] No existing commands found in stream
[2026-10-20 05:54:37,211.211 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:54:37,214.214 INFO    ] Waiting 2.28 seconds before fallback handling...
[2026-10-20 05:54:40,009.009 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:54:40,012.012 INFO    ] Checking for system updates...
[2026-10-20 05:54:40,047.047 INFO    ] 200
[2026-10-20 05:54:40,049.049 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:54:40,100.100 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:54:40,103.103 INFO    ] No update needed
[2026-10-20 05:54:40,105.105 INFO    ] Checking for camera pi updates...
[2026-10-20 05:54:40,142.142 INFO    ] 200
[2026-10-20 05:54:40,144.144 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:54:40,184.184 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:54:40,231.231 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:54:40,234.234 INFO    ] No camera update needed
[2026-10-20 05:54:40,236.236 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:54:40,238.238 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:54:40,244.244 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:54:40,249.249 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:54:42,288.288 INFO    ] ================================================
[2026-10-20 05:54:42,303.303 INFO    ] Launching Daemon at Tue Oct 20 05:54:42 IST 2026
[2026-10-20 05:54:42,314.314 INFO    ] ================================================
[2026-10-20 05:54:42,899.899 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:54:42
[2026-10-20 05:54:43,497.497 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:54:43,770.770 INFO    ] Initializing speech engine...
[2026-10-20 05:54:43,779.779 INFO    ] 2026-10-20 05:54:43
[2026-10-20 05:54:44,034.034 INFO    ] 2026-10-20 05:54:44
[2026-10-20 05:54:44,069.069 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:54:44,326.326 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:54:44,333.333 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:54:44,573.573 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:54:44,593.593 INFO    ] time= 20/10/2026 05:54:44
[2026-10-20 05:54:44,611.611 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:54:44,634.634 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:54:44,789.789 INFO    ] No existing commands found in stream
[2026-10-20 05:54:49,820.820 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:54:49,823.823 INFO    ] Waiting 3.53 seconds before fallback handling...
[2026-10-20 05:54:53,946.946 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:54:53,949.949 INFO    ] Checking for system updates...
[2026-10-20 05:54:53,990.990 INFO    ] 200
[2026-10-20 05:54:53,993.993 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:54:54,053.053 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:54:54,056.056 INFO    ] No update needed
[2026-10-20 05:54:54,058.058 INFO    ] Checking for camera pi updates...
[2026-10-20 05:54:54,096.096 INFO    ] 200
[2026-10-20 05:54:54,099.099 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:54:54,145.145 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:54:54,201.201 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:54:54,204.204 INFO    ] No camera update needed
[2026-10-20 05:54:54,206.206 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:54:54,209.209 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:54:54,215.215 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:54:54,221.221 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:54:56,262.262 INFO    ] ================================================
[2026-10-20 05:54:56,277.277 INFO    ] Launching Daemon at Tue Oct 20 05:54:56 IST 2026
[2026-10-20 05:54:56,288.288 INFO    ] ================================================
[2026-10-20 05:54:56,869.869 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:54:56
[2026-10-20 05:54:57,468.468 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:54:57,740.740 INFO    ] Initializing speech engine...
[2026-10-20 05:54:57,750.750 INFO    ] 2026-10-20 05:54:57
[2026-10-20 05:54:57,999.999 INFO    ] 2026-10-20 05:54:57
[2026-10-20 05:54:58,034.034 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:54:58,284.284 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:54:58,293.293 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:54:58,539.539 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:54:58,553.553 INFO    ] time= 20/10/2026 05:54:58
[2026-10-20 05:54:58,567.567 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:54:58,577.577 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:54:58,701.701 INFO    ] No existing commands found in stream
[2026-10-20 05:55:03,716.716 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:55:03,719.719 INFO    ] Waiting 2.32 seconds before fallback handling...
[2026-10-20 05:55:06,546.546 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:55:06,549.549 INFO    ] Checking for system updates...
[2026-10-20 05:55:06,585.585 INFO    ] 200
[2026-10-20 05:55:06,587.587 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:55:06,640.640 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:55:06,642.642 INFO    ] No update needed
[2026-10-20 05:55:06,645.645 INFO    ] Checking for camera pi updates...
[2026-10-20 05:55:06,678.678 INFO    ] 200
[2026-10-20 05:55:06,681.681 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:55:06,727.727 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:55:06,777.777 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:55:06,779.779 INFO    ] No camera update needed
[2026-10-20 05:55:06,782.782 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:55:06,784.784 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:55:06,791.791 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:55:06,797.797 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:55:08,837.837 INFO    ] ================================================
[2026-10-20 05:55:08,853.853 INFO    ] Launching Daemon at Tue Oct 20 05:55:08 IST 2026
[2026-10-20 05:55:08,864.864 INFO    ] ================================================
[2026-10-20 05:55:09,446.446 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:55:09
[2026-10-20 05:55:10,045.045 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:55:10,323.323 INFO    ] Initializing speech engine...
[2026-10-20 05:55:10,331.331 INFO    ] 2026-10-20 05:55:10
[2026-10-20 05:55:10,590.590 INFO    ] 2026-10-20 05:55:10
[2026-10-20 05:55:10,620.620 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:55:10,895.895 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:55:10,900.900 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:55:11,129.129 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:55:11,135.135 INFO    ] time= 20/10/2026 05:55:11
[2026-10-20 05:55:11,153.153 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:55:11,182.182 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:55:11,290.290 INFO    ] No existing commands found in stream
[2026-10-20 05:55:16,310.310 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:55:16,313.313 INFO    ] Waiting 0.99 seconds before fallback handling...
[2026-10-20 05:55:17,840.840 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:55:17,843.843 INFO    ] Checking for system updates...
[2026-10-20 05:55:17,878.878 INFO    ] 200
[2026-10-20 05:55:17,880.880 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:55:17,940.940 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:55:17,942.942 INFO    ] No update needed
[2026-10-20 05:55:17,945.945 INFO    ] Checking for camera pi updates...
[2026-10-20 05:55:17,978.978 INFO    ] 200
[2026-10-20 05:55:17,980.980 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:55:18,020.020 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:55:18,071.071 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:55:18,073.073 INFO    ] No camera update needed
[2026-10-20 05:55:18,075.075 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:55:18,078.078 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:55:18,083.083 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:55:18,088.088 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:55:20,130.130 INFO    ] ================================================
[2026-10-20 05:55:20,145.145 INFO    ] Launching Daemon at Tue Oct 20 05:55:20 IST 2026
[2026-10-20 05:55:20,156.156 INFO    ] ================================================
[2026-10-20 05:55:20,720.720 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:55:20
[2026-10-20 05:55:21,302.302 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:55:21,568.568 INFO    ] Initializing speech engine...
[2026-10-20 05:55:21,579.579 INFO    ] 2026-10-20 05:55:21
[2026-10-20 05:55:21,830.830 INFO    ] 2026-10-20 05:55:21
[2026-10-20 05:55:21,865.865 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:55:22,129.129 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:55:22,135.135 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:55:22,379.379 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:55:22,397.397 INFO    ] time= 20/10/2026 05:55:22
[2026-10-20 05:55:22,403.403 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:55:22,422.422 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:55:22,554.554 INFO    ] No existing commands found in stream
[2026-10-20 05:55:27,566.566 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:55:27,569.569 INFO    ] Waiting 3.49 seconds before fallback handling...
[2026-10-20 05:55:31,565.565 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:55:31,568.568 INFO    ] Checking for system updates...
[2026-10-20 05:55:31,609.609 INFO    ] 200
[2026-10-20 05:55:31,613.613 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:55:31,672.672 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:55:31,675.675 INFO    ] No update needed
[2026-10-20 05:55:31,678.678 INFO    ] Checking for camera pi updates...
[2026-10-20 05:55:31,716.716 INFO    ] 200
[2026-10-20 05:55:31,719.719 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:55:31,764.764 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:55:31,799.799 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:55:31,802.802 INFO    ] No camera update needed
[2026-10-20 05:55:31,805.805 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:55:31,808.808 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:55:31,816.816 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:55:31,823.823 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:55:33,865.865 INFO    ] ================================================
[2026-10-20 05:55:33,880.880 INFO    ] Launching Daemon at Tue Oct 20 05:55:33 IST 2026
[2026-10-20 05:55:33,891.891 INFO    ] ================================================
[2026-10-20 05:55:34,495.495 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:55:34
[2026-10-20 05:55:35,097.097 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:55:35,374.374 INFO    ] Initializing speech engine...
[2026-10-20 05:55:35,379.379 INFO    ] 2026-10-20 05:55:35
[2026-10-20 05:55:35,641.641 INFO    ] 2026-10-20 05:55:35
[2026-10-20 05:55:35,671.671 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:55:35,922.922 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:55:35,927.927 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:55:36,159.159 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:55:36,183.183 INFO    ] time= 20/10/2026 05:55:36
[2026-10-20 05:55:36,189.189 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:55:36,210.210 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:55:36,342.342 INFO    ] No existing commands found in stream
[2026-10-20 05:55:41,372.372 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:55:41,375.375 INFO    ] Waiting 1.96 seconds before fallback handling...
[2026-10-20 05:55:43,843.843 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:55:43,846.846 INFO    ] Checking for system updates...
[2026-10-20 05:55:43,881.881 INFO    ] 200
[2026-10-20 05:55:43,884.884 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:55:43,935.935 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:55:43,938.938 INFO    ] No update needed
[2026-10-20 05:55:43,940.940 INFO    ] Checking for camera pi updates...
[2026-10-20 05:55:43,973.973 INFO    ] 200
[2026-10-20 05:55:43,975.975 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:55:44,015.015 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:55:44,072.072 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:55:44,075.075 INFO    ] No camera update needed
[2026-10-20 05:55:44,077.077 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:55:44,079.079 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:55:44,085.085 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:55:44,091.091 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:55:46,130.130 INFO    ] ================================================
[2026-10-20 05:55:46,145.145 INFO    ] Launching Daemon at Tue Oct 20 05:55:46 IST 2026
[2026-10-20 05:55:46,156.156 INFO    ] ================================================
[2026-10-20 05:55:46,744.744 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:55:46
[2026-10-20 05:55:47,351.351 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:55:47,625.625 INFO    ] Initializing speech engine...
[2026-10-20 05:55:47,634.634 INFO    ] 2026-10-20 05:55:47
[2026-10-20 05:55:47,898.898 INFO    ] 2026-10-20 05:55:47
[2026-10-20 05:55:47,952.952 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:55:48,235.235 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:55:48,243.243 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:55:48,438.438 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:55:48,446.446 INFO    ] time= 20/10/2026 05:55:48
[2026-10-20 05:55:48,464.464 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:55:48,481.481 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:55:48,619.619 INFO    ] No existing commands found in stream
[2026-10-20 05:55:53,649.649 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:55:53,652.652 INFO    ] Waiting 3.18 seconds before fallback handling...
[2026-10-20 05:55:57,409.409 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:55:57,412.412 INFO    ] Checking for system updates...
[2026-10-20 05:55:57,449.449 INFO    ] 200
[2026-10-20 05:55:57,452.452 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:55:57,504.504 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:55:57,507.507 INFO    ] No update needed
[2026-10-20 05:55:57,510.510 INFO    ] Checking for camera pi updates...
[2026-10-20 05:55:57,548.548 INFO    ] 200
[2026-10-20 05:55:57,551.551 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:55:57,602.602 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:55:57,654.654 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:55:57,657.657 INFO    ] No camera update needed
[2026-10-20 05:55:57,660.660 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:55:57,663.663 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:55:57,669.669 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:55:57,675.675 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:55:59,715.715 INFO    ] ================================================
[2026-10-20 05:55:59,731.731 INFO    ] Launching Daemon at Tue Oct 20 05:55:59 IST 2026
[2026-10-20 05:55:59,743.743 INFO    ] ================================================
[2026-10-20 05:56:00,309.309 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:56:00
[2026-10-20 05:56:00,893.893 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:56:01,160.160 INFO    ] Initializing speech engine...
[2026-10-20 05:56:01,169.169 INFO    ] 2026-10-20 05:56:01
[2026-10-20 05:56:01,414.414 INFO    ] 2026-10-20 05:56:01
[2026-10-20 05:56:01,449.449 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:56:01,754.754 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:56:01,757.757 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:56:01,990.990 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:56:02,045.045 INFO    ] time= 20/10/2026 05:56:02
[2026-10-20 05:56:02,061.061 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:56:02,126.126 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:56:02,251.251 INFO    ] No existing commands found in stream
[2026-10-20 05:56:07,262.262 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:56:07,272.272 INFO    ] Waiting 1.10 seconds before fallback handling...
[2026-10-20 05:56:08,924.924 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:56:08,927.927 INFO    ] Checking for system updates...
[2026-10-20 05:56:08,964.964 INFO    ] 200
[2026-10-20 05:56:08,967.967 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:56:09,019.019 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:56:09,022.022 INFO    ] No update needed
[2026-10-20 05:56:09,024.024 INFO    ] Checking for camera pi updates...
[2026-10-20 05:56:09,057.057 INFO    ] 200
[2026-10-20 05:56:09,059.059 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:56:09,103.103 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:56:09,152.152 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:56:09,155.155 INFO    ] No camera update needed
[2026-10-20 05:56:09,157.157 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:56:09,159.159 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:56:09,165.165 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:56:09,170.170 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:56:11,210.210 INFO    ] ================================================
[2026-10-20 05:56:11,226.226 INFO    ] Launching Daemon at Tue Oct 20 05:56:11 IST 2026
[2026-10-20 05:56:11,236.236 INFO    ] ================================================
[2026-10-20 05:56:11,801.801 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:56:11
[2026-10-20 05:56:12,384.384 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:56:12,661.661 INFO    ] Initializing speech engine...
[2026-10-20 05:56:12,674.674 INFO    ] 2026-10-20 05:56:12
[2026-10-20 05:56:12,936.936 INFO    ] 2026-10-20 05:56:12
[2026-10-20 05:56:12,974.974 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:56:13,262.262 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:56:13,267.267 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:56:13,488.488 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:56:13,543.543 INFO    ] time= 20/10/2026 05:56:13
[2026-10-20 05:56:13,559.559 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:56:13,565.565 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:56:13,725.725 INFO    ] No existing commands found in stream
[2026-10-20 05:56:18,740.740 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:56:18,743.743 INFO    ] Waiting 1.82 seconds before fallback handling...
[2026-10-20 05:56:21,106.106 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:56:21,108.108 INFO    ] Checking for system updates...
[2026-10-20 05:56:21,143.143 INFO    ] 200
[2026-10-20 05:56:21,146.146 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:56:21,203.203 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:56:21,206.206 INFO    ] No update needed
[2026-10-20 05:56:21,208.208 INFO    ] Checking for camera pi updates...
[2026-10-20 05:56:21,246.246 INFO    ] 200
[2026-10-20 05:56:21,248.248 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:56:21,293.293 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:56:21,340.340 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:56:21,342.342 INFO    ] No camera update needed
[2026-10-20 05:56:21,345.345 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:56:21,347.347 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:56:21,352.352 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:56:21,358.358 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:56:23,399.399 INFO    ] ================================================
[2026-10-20 05:56:23,414.414 INFO    ] Launching Daemon at Tue Oct 20 05:56:23 IST 2026
[2026-10-20 05:56:23,425.425 INFO    ] ================================================
[2026-10-20 05:56:23,990.990 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:56:23
[2026-10-20 05:56:24,571.571 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:56:24,839.839 INFO    ] Initializing speech engine...
[2026-10-20 05:56:24,859.859 INFO    ] 2026-10-20 05:56:24
[2026-10-20 05:56:25,110.110 INFO    ] 2026-10-20 05:56:25
[2026-10-20 05:56:25,145.145 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:56:25,404.404 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:56:25,413.413 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:56:25,629.629 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:56:25,678.678 INFO    ] time= 20/10/2026 05:56:25
[2026-10-20 05:56:25,686.686 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:56:25,700.700 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:56:25,829.829 INFO    ] No existing commands found in stream
[2026-10-20 05:56:30,855.855 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:56:30,858.858 INFO    ] Waiting 3.27 seconds before fallback handling...
[2026-10-20 05:56:34,665.665 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:56:34,667.667 INFO    ] Checking for system updates...
[2026-10-20 05:56:34,702.702 INFO    ] 200
[2026-10-20 05:56:34,704.704 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:56:34,761.761 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:56:34,764.764 INFO    ] No update needed
[2026-10-20 05:56:34,766.766 INFO    ] Checking for camera pi updates...
[2026-10-20 05:56:34,800.800 INFO    ] 200
[2026-10-20 05:56:34,802.802 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:56:34,847.847 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:56:34,900.900 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:56:34,902.902 INFO    ] No camera update needed
[2026-10-20 05:56:34,904.904 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:56:34,907.907 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:56:34,912.912 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:56:34,917.917 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:56:36,958.958 INFO    ] ================================================
[2026-10-20 05:56:36,973.973 INFO    ] Launching Daemon at Tue Oct 20 05:56:36 IST 2026
[2026-10-20 05:56:36,984.984 INFO    ] ================================================
[2026-10-20 05:56:37,565.565 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:56:37
[2026-10-20 05:56:38,170.170 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:56:38,447.447 INFO    ] Initializing speech engine...
[2026-10-20 05:56:38,452.452 INFO    ] 2026-10-20 05:56:38
[2026-10-20 05:56:38,714.714 INFO    ] 2026-10-20 05:56:38
[2026-10-20 05:56:38,767.767 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:56:39,117.117 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:56:39,129.129 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:56:39,380.380 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:56:39,415.415 INFO    ] time= 20/10/2026 05:56:39
[2026-10-20 05:56:39,472.472 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:56:39,507.507 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:56:39,657.657 INFO    ] No existing commands found in stream
[2026-10-20 05:56:44,678.678 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:56:44,681.681 INFO    ] Waiting 0.38 seconds before fallback handling...
[2026-10-20 05:56:45,566.566 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:56:45,568.568 INFO    ] Checking for system updates...
[2026-10-20 05:56:45,603.603 INFO    ] 200
[2026-10-20 05:56:45,606.606 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:56:45,657.657 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:56:45,660.660 INFO    ] No update needed
[2026-10-20 05:56:45,662.662 INFO    ] Checking for camera pi updates...
[2026-10-20 05:56:45,696.696 INFO    ] 200
[2026-10-20 05:56:45,698.698 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:56:45,738.738 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:56:45,784.784 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:56:45,786.786 INFO    ] No camera update needed
[2026-10-20 05:56:45,789.789 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:56:45,791.791 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:56:45,796.796 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:56:45,801.801 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:56:47,843.843 INFO    ] ================================================
[2026-10-20 05:56:47,859.859 INFO    ] Launching Daemon at Tue Oct 20 05:56:47 IST 2026
[2026-10-20 05:56:47,870.870 INFO    ] ================================================
[2026-10-20 05:56:48,470.470 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:56:48
[2026-10-20 05:56:49,088.088 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:56:49,380.380 INFO    ] Initializing speech engine...
[2026-10-20 05:56:49,389.389 INFO    ] 2026-10-20 05:56:49
[2026-10-20 05:56:49,679.679 INFO    ] 2026-10-20 05:56:49
[2026-10-20 05:56:49,715.715 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:56:49,974.974 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:56:49,979.979 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:56:50,212.212 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:56:50,239.239 INFO    ] time= 20/10/2026 05:56:50
[2026-10-20 05:56:50,258.258 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:56:50,267.267 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:56:50,396.396 INFO    ] No existing commands found in stream
[2026-10-20 05:56:55,419.419 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:56:55,422.422 INFO    ] Waiting 1.89 seconds before fallback handling...
[2026-10-20 05:56:57,862.862 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:56:57,865.865 INFO    ] Checking for system updates...
[2026-10-20 05:56:57,903.903 INFO    ] 200
[2026-10-20 05:56:57,906.906 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:56:57,959.959 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:56:57,961.961 INFO    ] No update needed
[2026-10-20 05:56:57,964.964 INFO    ] Checking for camera pi updates...
[2026-10-20 05:56:57,996.996 INFO    ] 200
[2026-10-20 05:56:57,999.999 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:56:58,042.042 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:56:58,096.096 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:56:58,099.099 INFO    ] No camera update needed
[2026-10-20 05:56:58,101.101 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:56:58,103.103 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:56:58,109.109 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:56:58,114.114 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:57:00,153.153 INFO    ] ================================================
[2026-10-20 05:57:00,169.169 INFO    ] Launching Daemon at Tue Oct 20 05:57:00 IST 2026
[2026-10-20 05:57:00,181.181 INFO    ] ================================================
[2026-10-20 05:57:00,761.761 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:57:00
[2026-10-20 05:57:01,349.349 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:57:01,629.629 INFO    ] Initializing speech engine...
[2026-10-20 05:57:01,639.639 INFO    ] 2026-10-20 05:57:01
[2026-10-20 05:57:02,211.211 INFO    ] 2026-10-20 05:57:02
[2026-10-20 05:57:02,271.271 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:57:02,536.536 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:57:02,590.590 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:57:02,840.840 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:57:02,886.886 INFO    ] time= 20/10/2026 05:57:02
[2026-10-20 05:57:02,953.953 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:57:03,016.016 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:57:03,149.149 INFO    ] No existing commands found in stream
[2026-10-20 05:57:08,185.185 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:57:08,188.188 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-10-20 05:57:10,456.456 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 05:57:10,460.460 INFO    ] Checking for system updates...
[2026-10-20 05:57:10,501.501 INFO    ] 200
[2026-10-20 05:57:10,504.504 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:57:10,558.558 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:57:10,561.561 INFO    ] No update needed
[2026-10-20 05:57:10,564.564 INFO    ] Checking for camera pi updates...
[2026-10-20 05:57:10,599.599 INFO    ] 200
[2026-10-20 05:57:10,602.602 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:57:10,643.643 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:57:10,690.690 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:57:10,693.693 INFO    ] No camera update needed
[2026-10-20 05:57:10,697.697 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:57:10,700.700 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:57:10,707.707 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:57:10,713.713 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:57:12,755.755 INFO    ] ================================================
[2026-10-20 05:57:12,771.771 INFO    ] Launching Daemon at Tue Oct 20 05:57:12 IST 2026
[2026-10-20 05:57:12,783.783 INFO    ] ================================================
[2026-10-20 05:57:13,438.438 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:57:13
[2026-10-20 05:57:14,114.114 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:57:14,419.419 INFO    ] Initializing speech engine...
[2026-10-20 05:57:14,427.427 INFO    ] 2026-10-20 05:57:14
[2026-10-20 05:57:14,714.714 INFO    ] 2026-10-20 05:57:14
[2026-10-20 05:57:14,759.759 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:57:15,046.046 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:57:15,055.055 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:57:15,278.278 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:57:15,296.296 INFO    ] time= 20/10/2026 05:57:15
[2026-10-20 05:57:15,308.308 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:57:15,354.354 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:57:15,503.503 INFO    ] No existing commands found in stream
[2026-10-20 05:57:20,519.519 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:57:20,522.522 INFO    ] Waiting 3.74 seconds before fallback handling...
[2026-10-20 05:57:24,866.866 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:57:24,869.869 INFO    ] Checking for system updates...
[2026-10-20 05:57:24,910.910 INFO    ] 200
[2026-10-20 05:57:24,913.913 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:57:24,967.967 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:57:24,970.970 INFO    ] No update needed
[2026-10-20 05:57:24,972.972 INFO    ] Checking for camera pi updates...
[2026-10-20 05:57:25,011.011 INFO    ] 200
[2026-10-20 05:57:25,014.014 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:57:25,064.064 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:57:25,111.111 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:57:25,114.114 INFO    ] No camera update needed
[2026-10-20 05:57:25,117.117 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:57:25,120.120 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:57:25,126.126 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:57:25,133.133 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:57:27,175.175 INFO    ] ================================================
[2026-10-20 05:57:27,190.190 INFO    ] Launching Daemon at Tue Oct 20 05:57:27 IST 2026
[2026-10-20 05:57:27,202.202 INFO    ] ================================================
[2026-10-20 05:57:27,861.861 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:57:27
[2026-10-20 05:57:28,539.539 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:57:28,846.846 INFO    ] Initializing speech engine...
[2026-10-20 05:57:28,855.855 INFO    ] 2026-10-20 05:57:28
[2026-10-20 05:57:29,144.144 INFO    ] 2026-10-20 05:57:29
[2026-10-20 05:57:29,189.189 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:57:29,484.484 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:57:29,491.491 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:57:29,692.692 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:57:29,710.710 INFO    ] time= 20/10/2026 05:57:29
[2026-10-20 05:57:29,742.742 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:57:29,751.751 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:57:29,881.881 INFO    ] No existing commands found in stream
[2026-10-20 05:57:34,907.907 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:57:34,910.910 INFO    ] Waiting 1.81 seconds before fallback handling...
[2026-10-20 05:57:37,279.279 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:57:37,282.282 INFO    ] Checking for system updates...
[2026-10-20 05:57:37,319.319 INFO    ] 200
[2026-10-20 05:57:37,322.322 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:57:37,374.374 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:57:37,377.377 INFO    ] No update needed
[2026-10-20 05:57:37,380.380 INFO    ] Checking for camera pi updates...
[2026-10-20 05:57:37,418.418 INFO    ] 200
[2026-10-20 05:57:37,421.421 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:57:37,463.463 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:57:37,518.518 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:57:37,521.521 INFO    ] No camera update needed
[2026-10-20 05:57:37,523.523 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:57:37,526.526 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:57:37,532.532 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:57:37,538.538 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:57:39,580.580 INFO    ] ================================================
[2026-10-20 05:57:39,596.596 INFO    ] Launching Daemon at Tue Oct 20 05:57:39 IST 2026
[2026-10-20 05:57:39,607.607 INFO    ] ================================================
[2026-10-20 05:57:40,259.259 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:57:40
[2026-10-20 05:57:40,934.934 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:57:41,238.238 INFO    ] Initializing speech engine...
[2026-10-20 05:57:41,252.252 INFO    ] 2026-10-20 05:57:41
[2026-10-20 05:57:41,529.529 INFO    ] 2026-10-20 05:57:41
[2026-10-20 05:57:41,574.574 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:57:41,801.801 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:57:41,806.806 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:57:42,057.057 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:57:42,066.066 INFO    ] time= 20/10/2026 05:57:42
[2026-10-20 05:57:42,085.085 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:57:42,092.092 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:57:42,256.256 INFO    ] No existing commands found in stream
[2026-10-20 05:57:47,287.287 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:57:47,291.291 INFO    ] Waiting 3.65 seconds before fallback handling...
[2026-10-20 05:57:51,457.457 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 05:57:51,460.460 INFO    ] Checking for system updates...
[2026-10-20 05:57:51,496.496 INFO    ] 200
[2026-10-20 05:57:51,499.499 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:57:51,551.551 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:57:51,554.554 INFO    ] No update needed
[2026-10-20 05:57:51,556.556 INFO    ] Checking for camera pi updates...
[2026-10-20 05:57:51,591.591 INFO    ] 200
[2026-10-20 05:57:51,594.594 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:57:51,637.637 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:57:51,694.694 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:57:51,696.696 INFO    ] No camera update needed
[2026-10-20 05:57:51,699.699 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:57:51,701.701 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:57:51,707.707 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:57:51,712.712 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:57:53,757.757 INFO    ] ================================================
[2026-10-20 05:57:53,772.772 INFO    ] Launching Daemon at Tue Oct 20 05:57:53 IST 2026
[2026-10-20 05:57:53,782.782 INFO    ] ================================================
[2026-10-20 05:57:54,351.351 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:57:54
[2026-10-20 05:57:54,937.937 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:57:55,210.210 INFO    ] Initializing speech engine...
[2026-10-20 05:57:55,219.219 INFO    ] 2026-10-20 05:57:55
[2026-10-20 05:57:55,471.471 INFO    ] 2026-10-20 05:57:55
[2026-10-20 05:57:55,506.506 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:57:55,771.771 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:57:55,776.776 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:57:55,988.988 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:57:56,042.042 INFO    ] time= 20/10/2026 05:57:55
[2026-10-20 05:57:56,049.049 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:57:56,067.067 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:57:56,203.203 INFO    ] No existing commands found in stream
[2026-10-20 05:58:01,218.218 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:58:01,221.221 INFO    ] Waiting 1.73 seconds before fallback handling...
[2026-10-20 05:58:03,498.498 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:58:03,501.501 INFO    ] Checking for system updates...
[2026-10-20 05:58:03,536.536 INFO    ] 200
[2026-10-20 05:58:03,539.539 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:58:03,614.614 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:58:03,617.617 INFO    ] No update needed
[2026-10-20 05:58:03,621.621 INFO    ] Checking for camera pi updates...
[2026-10-20 05:58:03,664.664 INFO    ] 200
[2026-10-20 05:58:03,667.667 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:58:03,711.711 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:58:03,757.757 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:58:03,759.759 INFO    ] No camera update needed
[2026-10-20 05:58:03,761.761 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:58:03,764.764 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:58:03,769.769 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:58:03,774.774 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:58:05,815.815 INFO    ] ================================================
[2026-10-20 05:58:05,831.831 INFO    ] Launching Daemon at Tue Oct 20 05:58:05 IST 2026
[2026-10-20 05:58:05,842.842 INFO    ] ================================================
[2026-10-20 05:58:06,487.487 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:58:06
[2026-10-20 05:58:07,153.153 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:58:07,456.456 INFO    ] Initializing speech engine...
[2026-10-20 05:58:07,464.464 INFO    ] 2026-10-20 05:58:07
[2026-10-20 05:58:07,753.753 INFO    ] 2026-10-20 05:58:07
[2026-10-20 05:58:07,802.802 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:58:08,091.091 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:58:08,100.100 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:58:08,292.292 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:58:08,311.311 INFO    ] time= 20/10/2026 05:58:08
[2026-10-20 05:58:08,320.320 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:58:08,347.347 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:58:08,470.470 INFO    ] No existing commands found in stream
[2026-10-20 05:58:13,501.501 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:58:13,504.504 INFO    ] Waiting 3.47 seconds before fallback handling...
[2026-10-20 05:58:17,538.538 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:58:17,541.541 INFO    ] Checking for system updates...
[2026-10-20 05:58:17,577.577 INFO    ] 200
[2026-10-20 05:58:17,580.580 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:58:17,633.633 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:58:17,636.636 INFO    ] No update needed
[2026-10-20 05:58:17,639.639 INFO    ] Checking for camera pi updates...
[2026-10-20 05:58:17,674.674 INFO    ] 200
[2026-10-20 05:58:17,677.677 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:58:17,723.723 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:58:17,767.767 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:58:17,770.770 INFO    ] No camera update needed
[2026-10-20 05:58:17,773.773 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:58:17,776.776 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:58:17,782.782 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:58:17,788.788 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:58:19,829.829 INFO    ] ================================================
[2026-10-20 05:58:19,843.843 INFO    ] Launching Daemon at Tue Oct 20 05:58:19 IST 2026
[2026-10-20 05:58:19,855.855 INFO    ] ================================================
[2026-10-20 05:58:20,436.436 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:58:20
[2026-10-20 05:58:21,036.036 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:58:21,315.315 INFO    ] Initializing speech engine...
[2026-10-20 05:58:21,321.321 INFO    ] 2026-10-20 05:58:21
[2026-10-20 05:58:21,570.570 INFO    ] 2026-10-20 05:58:21
[2026-10-20 05:58:21,604.604 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:58:21,860.860 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:58:21,869.869 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:58:22,092.092 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:58:22,129.129 INFO    ] time= 20/10/2026 05:58:22
[2026-10-20 05:58:22,135.135 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:58:22,153.153 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:58:22,283.283 INFO    ] No existing commands found in stream
[2026-10-20 05:58:27,297.297 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:58:27,300.300 INFO    ] Waiting 1.65 seconds before fallback handling...
[2026-10-20 05:58:29,972.972 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 05:58:29,975.975 INFO    ] Checking for system updates...
[2026-10-20 05:58:30,010.010 INFO    ] 200
[2026-10-20 05:58:30,012.012 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:58:30,072.072 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:58:30,074.074 INFO    ] No update needed
[2026-10-20 05:58:30,077.077 INFO    ] Checking for camera pi updates...
[2026-10-20 05:58:30,120.120 INFO    ] 200
[2026-10-20 05:58:30,122.122 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:58:30,171.171 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:58:30,224.224 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:58:30,226.226 INFO    ] No camera update needed
[2026-10-20 05:58:30,229.229 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:58:30,232.232 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:58:30,238.238 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:58:30,244.244 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:58:32,288.288 INFO    ] ================================================
[2026-10-20 05:58:32,305.305 INFO    ] Launching Daemon at Tue Oct 20 05:58:32 IST 2026
[2026-10-20 05:58:32,317.317 INFO    ] ================================================
[2026-10-20 05:58:32,953.953 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:58:32
[2026-10-20 05:58:33,557.557 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:58:33,815.815 INFO    ] Initializing speech engine...
[2026-10-20 05:58:33,821.821 INFO    ] 2026-10-20 05:58:33
[2026-10-20 05:58:34,110.110 INFO    ] 2026-10-20 05:58:34
[2026-10-20 05:58:34,144.144 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:58:34,367.367 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:58:34,380.380 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:58:34,594.594 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:58:34,616.616 INFO    ] time= 20/10/2026 05:58:34
[2026-10-20 05:58:34,655.655 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:58:34,694.694 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:58:34,800.800 INFO    ] No existing commands found in stream
[2026-10-20 05:58:39,812.812 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:58:39,814.814 INFO    ] Waiting 0.04 seconds before fallback handling...
[2026-10-20 05:58:40,342.342 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:58:40,345.345 INFO    ] Checking for system updates...
[2026-10-20 05:58:40,381.381 INFO    ] 200
[2026-10-20 05:58:40,384.384 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:58:40,436.436 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:58:40,439.439 INFO    ] No update needed
[2026-10-20 05:58:40,442.442 INFO    ] Checking for camera pi updates...
[2026-10-20 05:58:40,479.479 INFO    ] 200
[2026-10-20 05:58:40,482.482 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:58:40,530.530 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:58:40,677.677 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:58:40,680.680 INFO    ] No camera update needed
[2026-10-20 05:58:40,683.683 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:58:40,686.686 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:58:40,692.692 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:58:40,698.698 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:58:42,739.739 INFO    ] ================================================
[2026-10-20 05:58:42,754.754 INFO    ] Launching Daemon at Tue Oct 20 05:58:42 IST 2026
[2026-10-20 05:58:42,765.765 INFO    ] ================================================
[2026-10-20 05:58:43,350.350 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:58:43
[2026-10-20 05:58:43,937.937 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:58:44,217.217 INFO    ] Initializing speech engine...
[2026-10-20 05:58:44,223.223 INFO    ] 2026-10-20 05:58:44
[2026-10-20 05:58:44,471.471 INFO    ] 2026-10-20 05:58:44
[2026-10-20 05:58:44,505.505 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:58:44,774.774 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:58:44,780.780 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:58:45,016.016 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:58:45,047.047 INFO    ] time= 20/10/2026 05:58:45
[2026-10-20 05:58:45,066.066 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:58:45,089.089 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:58:45,245.245 INFO    ] No existing commands found in stream
[2026-10-20 05:58:50,270.270 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:58:50,274.274 INFO    ] Waiting 3.78 seconds before fallback handling...
[2026-10-20 05:58:54,585.585 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 05:58:54,587.587 INFO    ] Checking for system updates...
[2026-10-20 05:58:54,623.623 INFO    ] 200
[2026-10-20 05:58:54,625.625 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:58:54,681.681 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:58:54,683.683 INFO    ] No update needed
[2026-10-20 05:58:54,686.686 INFO    ] Checking for camera pi updates...
[2026-10-20 05:58:54,719.719 INFO    ] 200
[2026-10-20 05:58:54,721.721 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:58:54,761.761 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:58:54,806.806 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:58:54,808.808 INFO    ] No camera update needed
[2026-10-20 05:58:54,811.811 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:58:54,813.813 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:58:54,819.819 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:58:54,824.824 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:58:56,864.864 INFO    ] ================================================
[2026-10-20 05:58:56,880.880 INFO    ] Launching Daemon at Tue Oct 20 05:58:56 IST 2026
[2026-10-20 05:58:56,891.891 INFO    ] ================================================
[2026-10-20 05:58:57,557.557 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:58:57
[2026-10-20 05:58:58,249.249 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:58:58,565.565 INFO    ] Initializing speech engine...
[2026-10-20 05:58:58,573.573 INFO    ] 2026-10-20 05:58:58
[2026-10-20 05:58:58,859.859 INFO    ] 2026-10-20 05:58:58
[2026-10-20 05:58:58,943.943 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:58:59,158.158 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:58:59,162.162 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:58:59,354.354 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:58:59,361.361 INFO    ] time= 20/10/2026 05:58:59
[2026-10-20 05:58:59,379.379 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:58:59,385.385 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:58:59,538.538 INFO    ] No existing commands found in stream
[2026-10-20 05:59:04,563.563 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:59:04,566.566 INFO    ] Waiting 0.40 seconds before fallback handling...
[2026-10-20 05:59:05,524.524 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 05:59:05,526.526 INFO    ] Checking for system updates...
[2026-10-20 05:59:05,563.563 INFO    ] 200
[2026-10-20 05:59:05,565.565 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:59:05,624.624 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:59:05,627.627 INFO    ] No update needed
[2026-10-20 05:59:05,631.631 INFO    ] Checking for camera pi updates...
[2026-10-20 05:59:05,665.665 INFO    ] 200
[2026-10-20 05:59:05,667.667 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:59:05,708.708 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:59:05,769.769 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:59:05,772.772 INFO    ] No camera update needed
[2026-10-20 05:59:05,774.774 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:59:05,776.776 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:59:05,782.782 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:59:05,787.787 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:59:07,828.828 INFO    ] ================================================
[2026-10-20 05:59:07,843.843 INFO    ] Launching Daemon at Tue Oct 20 05:59:07 IST 2026
[2026-10-20 05:59:07,855.855 INFO    ] ================================================
[2026-10-20 05:59:08,424.424 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:59:08
[2026-10-20 05:59:09,007.007 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:59:09,277.277 INFO    ] Initializing speech engine...
[2026-10-20 05:59:09,284.284 INFO    ] 2026-10-20 05:59:09
[2026-10-20 05:59:09,529.529 INFO    ] 2026-10-20 05:59:09
[2026-10-20 05:59:09,563.563 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:59:09,816.816 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:59:09,826.826 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:59:09,964.964 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:59:10,034.034 INFO    ] time= 20/10/2026 05:59:09
[2026-10-20 05:59:10,088.088 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:59:10,102.102 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:59:10,252.252 INFO    ] No existing commands found in stream
[2026-10-20 05:59:15,267.267 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:59:15,270.270 INFO    ] Waiting 0.25 seconds before fallback handling...
[2026-10-20 05:59:16,063.063 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:59:16,065.065 INFO    ] Checking for system updates...
[2026-10-20 05:59:16,100.100 INFO    ] 200
[2026-10-20 05:59:16,102.102 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:59:16,154.154 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:59:16,157.157 INFO    ] No update needed
[2026-10-20 05:59:16,159.159 INFO    ] Checking for camera pi updates...
[2026-10-20 05:59:16,193.193 INFO    ] 200
[2026-10-20 05:59:16,195.195 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:59:16,235.235 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:59:16,291.291 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:59:16,293.293 INFO    ] No camera update needed
[2026-10-20 05:59:16,295.295 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:59:16,297.297 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:59:16,303.303 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:59:16,308.308 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:59:18,348.348 INFO    ] ================================================
[2026-10-20 05:59:18,364.364 INFO    ] Launching Daemon at Tue Oct 20 05:59:18 IST 2026
[2026-10-20 05:59:18,375.375 INFO    ] ================================================
[2026-10-20 05:59:18,942.942 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:59:18
[2026-10-20 05:59:19,524.524 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:59:19,775.775 INFO    ] Initializing speech engine...
[2026-10-20 05:59:19,799.799 INFO    ] 2026-10-20 05:59:19
[2026-10-20 05:59:20,055.055 INFO    ] 2026-10-20 05:59:20
[2026-10-20 05:59:20,090.090 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:59:20,356.356 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:59:20,360.360 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:59:20,498.498 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:59:20,552.552 INFO    ] time= 20/10/2026 05:59:20
[2026-10-20 05:59:20,612.612 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:59:20,633.633 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:59:20,764.764 INFO    ] No existing commands found in stream
[2026-10-20 05:59:25,792.792 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:59:25,795.795 INFO    ] Waiting 1.28 seconds before fallback handling...
[2026-10-20 05:59:27,661.661 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 05:59:27,664.664 INFO    ] Checking for system updates...
[2026-10-20 05:59:27,701.701 INFO    ] 200
[2026-10-20 05:59:27,704.704 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:59:27,757.757 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:59:27,760.760 INFO    ] No update needed
[2026-10-20 05:59:27,763.763 INFO    ] Checking for camera pi updates...
[2026-10-20 05:59:27,803.803 INFO    ] 200
[2026-10-20 05:59:27,805.805 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:59:27,850.850 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:59:27,900.900 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:59:27,903.903 INFO    ] No camera update needed
[2026-10-20 05:59:27,905.905 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:59:27,907.907 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:59:27,913.913 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:59:27,917.917 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:59:29,958.958 INFO    ] ================================================
[2026-10-20 05:59:29,973.973 INFO    ] Launching Daemon at Tue Oct 20 05:59:29 IST 2026
[2026-10-20 05:59:29,985.985 INFO    ] ================================================
[2026-10-20 05:59:30,560.560 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:59:30
[2026-10-20 05:59:31,143.143 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:59:31,390.390 INFO    ] Initializing speech engine...
[2026-10-20 05:59:31,398.398 INFO    ] 2026-10-20 05:59:31
[2026-10-20 05:59:31,674.674 INFO    ] 2026-10-20 05:59:31
[2026-10-20 05:59:31,710.710 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:59:31,996.996 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:59:32,005.005 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:59:32,240.240 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:59:32,284.284 INFO    ] time= 20/10/2026 05:59:32
[2026-10-20 05:59:32,291.291 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:59:32,314.314 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:59:32,460.460 INFO    ] No existing commands found in stream
[2026-10-20 05:59:37,475.475 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:59:37,478.478 INFO    ] Waiting 0.74 seconds before fallback handling...
[2026-10-20 05:59:38,790.790 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 05:59:38,792.792 INFO    ] Checking for system updates...
[2026-10-20 05:59:38,829.829 INFO    ] 200
[2026-10-20 05:59:38,831.831 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:59:38,883.883 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 05:59:38,885.885 INFO    ] No update needed
[2026-10-20 05:59:38,887.887 INFO    ] Checking for camera pi updates...
[2026-10-20 05:59:38,921.921 INFO    ] 200
[2026-10-20 05:59:38,923.923 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:59:38,963.963 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:59:39,009.009 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:59:39,011.011 INFO    ] No camera update needed
[2026-10-20 05:59:39,013.013 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:59:39,016.016 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:59:39,021.021 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:59:39,026.026 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:59:41,068.068 INFO    ] ================================================
[2026-10-20 05:59:41,083.083 INFO    ] Launching Daemon at Tue Oct 20 05:59:41 IST 2026
[2026-10-20 05:59:41,094.094 INFO    ] ================================================
[2026-10-20 05:59:41,662.662 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:59:41
[2026-10-20 05:59:42,247.247 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:59:42,520.520 INFO    ] Initializing speech engine...
[2026-10-20 05:59:42,529.529 INFO    ] 2026-10-20 05:59:42
[2026-10-20 05:59:42,780.780 INFO    ] 2026-10-20 05:59:42
[2026-10-20 05:59:42,815.815 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:59:43,082.082 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:59:43,086.086 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:59:43,233.233 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:59:43,293.293 INFO    ] time= 20/10/2026 05:59:43
[2026-10-20 05:59:43,352.352 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:59:43,361.361 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:59:43,512.512 INFO    ] No existing commands found in stream
[2026-10-20 05:59:48,531.531 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 05:59:48,534.534 INFO    ] Waiting 1.23 seconds before fallback handling...
[2026-10-20 05:59:50,352.352 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 05:59:50,355.355 INFO    ] Checking for system updates...
[2026-10-20 05:59:50,391.391 INFO    ] 200
[2026-10-20 05:59:50,394.394 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:59:50,447.447 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:59:50,449.449 INFO    ] No update needed
[2026-10-20 05:59:50,452.452 INFO    ] Checking for camera pi updates...
[2026-10-20 05:59:50,486.486 INFO    ] 200
[2026-10-20 05:59:50,488.488 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 05:59:50,528.528 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 05:59:50,574.574 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 05:59:50,576.576 INFO    ] No camera update needed
[2026-10-20 05:59:50,579.579 INFO    ] Script finished. Safe exiting...
[2026-10-20 05:59:50,581.581 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 05:59:50,586.586 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 05:59:50,591.591 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 05:59:52,633.633 INFO    ] ================================================
[2026-10-20 05:59:52,648.648 INFO    ] Launching Daemon at Tue Oct 20 05:59:52 IST 2026
[2026-10-20 05:59:52,659.659 INFO    ] ================================================
[2026-10-20 05:59:53,334.334 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 05:59:53
[2026-10-20 05:59:54,027.027 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 05:59:54,334.334 INFO    ] Initializing speech engine...
[2026-10-20 05:59:54,345.345 INFO    ] 2026-10-20 05:59:54
[2026-10-20 05:59:54,613.613 INFO    ] 2026-10-20 05:59:54
[2026-10-20 05:59:54,655.655 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 05:59:54,903.903 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 05:59:54,922.922 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 05:59:55,137.137 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 05:59:55,143.143 INFO    ] time= 20/10/2026 05:59:55
[2026-10-20 05:59:55,160.160 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 05:59:55,189.189 INFO    ] Checking for existing commands in stream...
[2026-10-20 05:59:55,296.296 INFO    ] No existing commands found in stream
[2026-10-20 06:00:00,317.317 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:00:00,320.320 INFO    ] Waiting 0.90 seconds before fallback handling...
[2026-10-20 06:00:01,601.601 INFO    ] <class 'urllib3.exceptions.MaxRetryError'>
[2026-10-20 06:00:01,626.626 INFO    ] ("HTTPSConnectionPool(host='neuustore.com', port=443): Max retries exceeded with url: /tm/process-order/getorder/TM04202203 (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x73d8e7f0>: Failed to establish a new connection: [Errno 111] Connection refused',))",)
[2026-10-20 06:00:01,635.635 INFO    ] HTTPSConnectionPool(host='neuustore.com', port=443): Max retries exceeded with url: /tm/process-order/getorder/TM04202203 (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x73d8e7f0>: Failed to establish a new connection: [Errno 111] Connection refused',))
[2026-10-20 06:00:01,644.644 INFO    ] None
[2026-10-20 06:00:01,646.646 INFO    ] Checking for system updates...
[2026-10-20 06:00:01,688.688 INFO    ] 200
[2026-10-20 06:00:01,691.691 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:00:01,744.744 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:00:01,746.746 INFO    ] No update needed
[2026-10-20 06:00:01,749.749 INFO    ] Checking for camera pi updates...
[2026-10-20 06:00:01,793.793 INFO    ] 200
[2026-10-20 06:00:01,797.797 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:00:02,001.001 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:00:02,187.187 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:00:02,214.214 INFO    ] No camera update needed
[2026-10-20 06:00:02,229.229 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:00:02,233.233 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:00:02,265.265 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:00:02,273.273 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:00:04,402.402 INFO    ] ================================================
[2026-10-20 06:00:04,441.441 INFO    ] Launching Daemon at Tue Oct 20 06:00:04 IST 2026
[2026-10-20 06:00:04,502.502 INFO    ] ================================================
[2026-10-20 06:00:05,946.946 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:00:05
[2026-10-20 06:00:06,900.900 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:00:07,193.193 INFO    ] Initializing speech engine...
[2026-10-20 06:00:07,202.202 INFO    ] 2026-10-20 06:00:07
[2026-10-20 06:00:07,459.459 INFO    ] 2026-10-20 06:00:07
[2026-10-20 06:00:07,510.510 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:00:07,740.740 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:00:07,744.744 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:00:07,961.961 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:00:08,001.001 INFO    ] time= 20/10/2026 06:00:07
[2026-10-20 06:00:08,007.007 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:00:08,025.025 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:00:08,140.140 INFO    ] No existing commands found in stream
[2026-10-20 06:00:13,162.162 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:00:13,165.165 INFO    ] Waiting 2.61 seconds before fallback handling...
[2026-10-20 06:00:16,315.315 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:00:16,318.318 INFO    ] Checking for system updates...
[2026-10-20 06:00:16,354.354 INFO    ] 200
[2026-10-20 06:00:16,356.356 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:00:16,414.414 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:00:16,417.417 INFO    ] No update needed
[2026-10-20 06:00:16,419.419 INFO    ] Checking for camera pi updates...
[2026-10-20 06:00:16,456.456 INFO    ] 200
[2026-10-20 06:00:16,458.458 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:00:16,499.499 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:00:16,555.555 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:00:16,558.558 INFO    ] No camera update needed
[2026-10-20 06:00:16,560.560 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:00:16,562.562 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:00:16,568.568 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:00:16,573.573 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:00:18,614.614 INFO    ] ================================================
[2026-10-20 06:00:18,630.630 INFO    ] Launching Daemon at Tue Oct 20 06:00:18 IST 2026
[2026-10-20 06:00:18,641.641 INFO    ] ================================================
[2026-10-20 06:00:19,223.223 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:00:19
[2026-10-20 06:00:19,823.823 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:00:20,100.100 INFO    ] Initializing speech engine...
[2026-10-20 06:00:20,106.106 INFO    ] 2026-10-20 06:00:20
[2026-10-20 06:00:20,369.369 INFO    ] 2026-10-20 06:00:20
[2026-10-20 06:00:20,420.420 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:00:20,648.648 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:00:20,652.652 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:00:20,904.904 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:00:20,914.914 INFO    ] time= 20/10/2026 06:00:20
[2026-10-20 06:00:20,932.932 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:00:20,949.949 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:00:21,069.069 INFO    ] No existing commands found in stream
[2026-10-20 06:00:26,089.089 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:00:26,091.091 INFO    ] Waiting 3.62 seconds before fallback handling...
[2026-10-20 06:00:30,179.179 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 06:00:30,182.182 INFO    ] Checking for system updates...
[2026-10-20 06:00:30,218.218 INFO    ] 200
[2026-10-20 06:00:30,220.220 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:00:30,272.272 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:00:30,274.274 INFO    ] No update needed
[2026-10-20 06:00:30,277.277 INFO    ] Checking for camera pi updates...
[2026-10-20 06:00:30,310.310 INFO    ] 200
[2026-10-20 06:00:30,312.312 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:00:30,352.352 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:00:30,405.405 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:00:30,407.407 INFO    ] No camera update needed
[2026-10-20 06:00:30,410.410 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:00:30,412.412 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:00:30,418.418 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:00:30,423.423 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:00:32,464.464 INFO    ] ================================================
[2026-10-20 06:00:32,480.480 INFO    ] Launching Daemon at Tue Oct 20 06:00:32 IST 2026
[2026-10-20 06:00:32,491.491 INFO    ] ================================================
[2026-10-20 06:00:33,094.094 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:00:33
[2026-10-20 06:00:33,712.712 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:00:33,984.984 INFO    ] Initializing speech engine...
[2026-10-20 06:00:33,994.994 INFO    ] 2026-10-20 06:00:33
[2026-10-20 06:00:34,245.245 INFO    ] 2026-10-20 06:00:34
[2026-10-20 06:00:34,281.281 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:00:34,538.538 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:00:34,547.547 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:00:34,764.764 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:00:34,814.814 INFO    ] time= 20/10/2026 06:00:34
[2026-10-20 06:00:34,820.820 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:00:34,838.838 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:00:34,961.961 INFO    ] No existing commands found in stream
[2026-10-20 06:00:39,979.979 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:00:39,982.982 INFO    ] Waiting 0.98 seconds before fallback handling...
[2026-10-20 06:00:41,473.473 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:00:41,476.476 INFO    ] Checking for system updates...
[2026-10-20 06:00:41,511.511 INFO    ] 200
[2026-10-20 06:00:41,514.514 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:00:41,565.565 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:00:41,568.568 INFO    ] No update needed
[2026-10-20 06:00:41,570.570 INFO    ] Checking for camera pi updates...
[2026-10-20 06:00:41,604.604 INFO    ] 200
[2026-10-20 06:00:41,606.606 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:00:41,647.647 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:00:41,701.701 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:00:41,703.703 INFO    ] No camera update needed
[2026-10-20 06:00:41,705.705 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:00:41,708.708 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:00:41,713.713 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:00:41,718.718 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:00:43,759.759 INFO    ] ================================================
[2026-10-20 06:00:43,775.775 INFO    ] Launching Daemon at Tue Oct 20 06:00:43 IST 2026
[2026-10-20 06:00:43,786.786 INFO    ] ================================================
[2026-10-20 06:00:44,352.352 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:00:44
[2026-10-20 06:00:44,934.934 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:00:45,201.201 INFO    ] Initializing speech engine...
[2026-10-20 06:00:45,214.214 INFO    ] 2026-10-20 06:00:45
[2026-10-20 06:00:45,462.462 INFO    ] 2026-10-20 06:00:45
[2026-10-20 06:00:45,497.497 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:00:45,759.759 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:00:45,763.763 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:00:45,987.987 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:00:46,027.027 INFO    ] time= 20/10/2026 06:00:45
[2026-10-20 06:00:46,034.034 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:00:46,053.053 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:00:46,187.187 INFO    ] No existing commands found in stream
[2026-10-20 06:00:51,211.211 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:00:51,213.213 INFO    ] Waiting 0.73 seconds before fallback handling...
[2026-10-20 06:00:53,276.276 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:00:53,279.279 INFO    ] Checking for system updates...
[2026-10-20 06:00:53,314.314 INFO    ] 200
[2026-10-20 06:00:53,317.317 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:00:53,370.370 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:00:53,372.372 INFO    ] No update needed
[2026-10-20 06:00:53,374.374 INFO    ] Checking for camera pi updates...
[2026-10-20 06:00:53,410.410 INFO    ] 200
[2026-10-20 06:00:53,413.413 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:00:53,456.456 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:00:53,603.603 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:00:53,605.605 INFO    ] No camera update needed
[2026-10-20 06:00:53,607.607 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:00:53,610.610 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:00:53,615.615 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:00:53,620.620 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:00:55,660.660 INFO    ] ================================================
[2026-10-20 06:00:55,676.676 INFO    ] Launching Daemon at Tue Oct 20 06:00:55 IST 2026
[2026-10-20 06:00:55,686.686 INFO    ] ================================================
[2026-10-20 06:00:56,249.249 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:00:56
[2026-10-20 06:00:56,838.838 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:00:57,110.110 INFO    ] Initializing speech engine...
[2026-10-20 06:00:57,119.119 INFO    ] 2026-10-20 06:00:57
[2026-10-20 06:00:57,366.366 INFO    ] 2026-10-20 06:00:57
[2026-10-20 06:00:57,402.402 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:00:57,660.660 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:00:57,669.669 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:00:57,807.807 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:00:57,866.866 INFO    ] time= 20/10/2026 06:00:57
[2026-10-20 06:00:57,915.915 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:00:57,942.942 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:00:58,061.061 INFO    ] No existing commands found in stream
[2026-10-20 06:01:03,081.081 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:01:03,084.084 INFO    ] Waiting 0.22 seconds before fallback handling...
[2026-10-20 06:01:03,877.877 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:01:03,880.880 INFO    ] Checking for system updates...
[2026-10-20 06:01:03,916.916 INFO    ] 200
[2026-10-20 06:01:03,918.918 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:01:03,971.971 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:01:03,973.973 INFO    ] No update needed
[2026-10-20 06:01:03,975.975 INFO    ] Checking for camera pi updates...
[2026-10-20 06:01:04,009.009 INFO    ] 200
[2026-10-20 06:01:04,011.011 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:01:04,051.051 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:01:04,102.102 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:01:04,104.104 INFO    ] No camera update needed
[2026-10-20 06:01:04,107.107 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:01:04,109.109 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:01:04,115.115 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:01:04,120.120 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:01:06,161.161 INFO    ] ================================================
[2026-10-20 06:01:06,176.176 INFO    ] Launching Daemon at Tue Oct 20 06:01:06 IST 2026
[2026-10-20 06:01:06,186.186 INFO    ] ================================================
[2026-10-20 06:01:06,760.760 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:01:06
[2026-10-20 06:01:07,349.349 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:01:07,631.631 INFO    ] Initializing speech engine...
[2026-10-20 06:01:07,640.640 INFO    ] 2026-10-20 06:01:07
[2026-10-20 06:01:07,892.892 INFO    ] 2026-10-20 06:01:07
[2026-10-20 06:01:07,928.928 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:01:08,179.179 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:01:08,188.188 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:01:08,412.412 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:01:08,446.446 INFO    ] time= 20/10/2026 06:01:08
[2026-10-20 06:01:08,452.452 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:01:08,470.470 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:01:08,601.601 INFO    ] No existing commands found in stream
[2026-10-20 06:01:13,611.611 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:01:13,614.614 INFO    ] Waiting 0.95 seconds before fallback handling...
[2026-10-20 06:01:15,066.066 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 06:01:15,068.068 INFO    ] Checking for system updates...
[2026-10-20 06:01:15,104.104 INFO    ] 200
[2026-10-20 06:01:15,107.107 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:01:15,161.161 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:01:15,163.163 INFO    ] No update needed
[2026-10-20 06:01:15,165.165 INFO    ] Checking for camera pi updates...
[2026-10-20 06:01:15,203.203 INFO    ] 200
[2026-10-20 06:01:15,206.206 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:01:15,250.250 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:01:15,302.302 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:01:15,304.304 INFO    ] No camera update needed
[2026-10-20 06:01:15,306.306 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:01:15,309.309 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:01:15,314.314 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:01:15,319.319 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:01:17,360.360 INFO    ] ================================================
[2026-10-20 06:01:17,375.375 INFO    ] Launching Daemon at Tue Oct 20 06:01:17 IST 2026
[2026-10-20 06:01:17,386.386 INFO    ] ================================================
[2026-10-20 06:01:17,951.951 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:01:17
[2026-10-20 06:01:18,534.534 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:01:18,814.814 INFO    ] Initializing speech engine...
[2026-10-20 06:01:18,824.824 INFO    ] 2026-10-20 06:01:18
[2026-10-20 06:01:19,084.084 INFO    ] 2026-10-20 06:01:19
[2026-10-20 06:01:19,120.120 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:01:19,334.334 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:01:19,358.358 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:01:19,556.556 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:01:19,594.594 INFO    ] time= 20/10/2026 06:01:19
[2026-10-20 06:01:19,638.638 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:01:19,682.682 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:01:19,832.832 INFO    ] No existing commands found in stream
[2026-10-20 06:01:24,850.850 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:01:24,852.852 INFO    ] Waiting 2.10 seconds before fallback handling...
[2026-10-20 06:01:27,485.485 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:01:27,488.488 INFO    ] Checking for system updates...
[2026-10-20 06:01:27,523.523 INFO    ] 200
[2026-10-20 06:01:27,526.526 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:01:27,583.583 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:01:27,585.585 INFO    ] No update needed
[2026-10-20 06:01:27,587.587 INFO    ] Checking for camera pi updates...
[2026-10-20 06:01:27,620.620 INFO    ] 200
[2026-10-20 06:01:27,623.623 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:01:27,662.662 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:01:27,713.713 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:01:27,716.716 INFO    ] No camera update needed
[2026-10-20 06:01:27,718.718 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:01:27,721.721 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:01:27,726.726 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:01:27,731.731 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:01:29,772.772 INFO    ] ================================================
[2026-10-20 06:01:29,787.787 INFO    ] Launching Daemon at Tue Oct 20 06:01:29 IST 2026
[2026-10-20 06:01:29,797.797 INFO    ] ================================================
[2026-10-20 06:01:30,426.426 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:01:30
[2026-10-20 06:01:31,071.071 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:01:31,364.364 INFO    ] Initializing speech engine...
[2026-10-20 06:01:31,374.374 INFO    ] 2026-10-20 06:01:31
[2026-10-20 06:01:31,660.660 INFO    ] 2026-10-20 06:01:31
[2026-10-20 06:01:31,699.699 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:01:31,987.987 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:01:32,023.023 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:01:32,229.229 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:01:32,236.236 INFO    ] time= 20/10/2026 06:01:32
[2026-10-20 06:01:32,254.254 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:01:32,264.264 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:01:32,389.389 INFO    ] No existing commands found in stream
[2026-10-20 06:01:37,415.415 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:01:37,418.418 INFO    ] Waiting 0.96 seconds before fallback handling...
[2026-10-20 06:01:38,923.923 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:01:38,925.925 INFO    ] Checking for system updates...
[2026-10-20 06:01:38,962.962 INFO    ] 200
[2026-10-20 06:01:38,964.964 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:01:39,025.025 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:01:39,027.027 INFO    ] No update needed
[2026-10-20 06:01:39,030.030 INFO    ] Checking for camera pi updates...
[2026-10-20 06:01:39,063.063 INFO    ] 200
[2026-10-20 06:01:39,065.065 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:01:39,105.105 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:01:39,165.165 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:01:39,167.167 INFO    ] No camera update needed
[2026-10-20 06:01:39,170.170 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:01:39,172.172 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:01:39,177.177 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:01:39,182.182 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:01:41,222.222 INFO    ] ================================================
[2026-10-20 06:01:41,237.237 INFO    ] Launching Daemon at Tue Oct 20 06:01:41 IST 2026
[2026-10-20 06:01:41,248.248 INFO    ] ================================================
[2026-10-20 06:01:41,835.835 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:01:41
[2026-10-20 06:01:42,440.440 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:01:42,697.697 INFO    ] Initializing speech engine...
[2026-10-20 06:01:42,702.702 INFO    ] 2026-10-20 06:01:42
[2026-10-20 06:01:43,001.001 INFO    ] 2026-10-20 06:01:42
[2026-10-20 06:01:43,039.039 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:01:43,302.302 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:01:43,327.327 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:01:43,485.485 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:01:43,545.545 INFO    ] time= 20/10/2026 06:01:43
[2026-10-20 06:01:43,590.590 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:01:43,631.631 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:01:43,763.763 INFO    ] No existing commands found in stream
[2026-10-20 06:01:48,786.786 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:01:48,789.789 INFO    ] Waiting 0.26 seconds before fallback handling...
[2026-10-20 06:01:49,520.520 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 06:01:49,523.523 INFO    ] Checking for system updates...
[2026-10-20 06:01:49,558.558 INFO    ] 200
[2026-10-20 06:01:49,560.560 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:01:49,612.612 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:01:49,614.614 INFO    ] No update needed
[2026-10-20 06:01:49,616.616 INFO    ] Checking for camera pi updates...
[2026-10-20 06:01:49,649.649 INFO    ] 200
[2026-10-20 06:01:49,652.652 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:01:49,695.695 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:01:49,744.744 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:01:49,746.746 INFO    ] No camera update needed
[2026-10-20 06:01:49,749.749 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:01:49,751.751 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:01:49,756.756 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:01:49,761.761 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:01:51,802.802 INFO    ] ================================================
[2026-10-20 06:01:51,819.819 INFO    ] Launching Daemon at Tue Oct 20 06:01:51 IST 2026
[2026-10-20 06:01:51,829.829 INFO    ] ================================================
[2026-10-20 06:01:52,413.413 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:01:52
[2026-10-20 06:01:53,015.015 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:01:53,275.275 INFO    ] Initializing speech engine...
[2026-10-20 06:01:53,283.283 INFO    ] 2026-10-20 06:01:53
[2026-10-20 06:01:53,579.579 INFO    ] 2026-10-20 06:01:53
[2026-10-20 06:01:53,615.615 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:01:53,835.835 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:01:53,859.859 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:01:54,059.059 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:01:54,066.066 INFO    ] time= 20/10/2026 06:01:54
[2026-10-20 06:01:54,120.120 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:01:54,169.169 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:01:54,338.338 INFO    ] No existing commands found in stream
[2026-10-20 06:01:59,360.360 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:01:59,363.363 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-10-20 06:02:03,116.116 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:02:03,120.120 INFO    ] Checking for system updates...
[2026-10-20 06:02:03,174.174 INFO    ] 200
[2026-10-20 06:02:03,177.177 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:02:03,265.265 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:02:03,268.268 INFO    ] No update needed
[2026-10-20 06:02:03,270.270 INFO    ] Checking for camera pi updates...
[2026-10-20 06:02:03,333.333 INFO    ] 200
[2026-10-20 06:02:03,336.336 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:02:03,396.396 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:02:03,442.442 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:02:03,445.445 INFO    ] No camera update needed
[2026-10-20 06:02:03,449.449 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:02:03,452.452 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:02:03,459.459 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:02:03,466.466 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:02:05,508.508 INFO    ] ================================================
[2026-10-20 06:02:05,524.524 INFO    ] Launching Daemon at Tue Oct 20 06:02:05 IST 2026
[2026-10-20 06:02:05,535.535 INFO    ] ================================================
[2026-10-20 06:02:06,117.117 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:02:06
[2026-10-20 06:02:06,717.717 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:02:06,979.979 INFO    ] Initializing speech engine...
[2026-10-20 06:02:06,994.994 INFO    ] 2026-10-20 06:02:06
[2026-10-20 06:02:07,280.280 INFO    ] 2026-10-20 06:02:07
[2026-10-20 06:02:07,315.315 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:02:07,541.541 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:02:07,606.606 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:02:07,765.765 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:02:07,800.800 INFO    ] time= 20/10/2026 06:02:07
[2026-10-20 06:02:07,854.854 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:02:07,893.893 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:02:08,046.046 INFO    ] No existing commands found in stream
[2026-10-20 06:02:13,071.071 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:02:13,074.074 INFO    ] Waiting 1.52 seconds before fallback handling...
[2026-10-20 06:02:15,109.109 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:02:15,112.112 INFO    ] Checking for system updates...
[2026-10-20 06:02:15,147.147 INFO    ] 200
[2026-10-20 06:02:15,150.150 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:02:15,202.202 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:02:15,205.205 INFO    ] No update needed
[2026-10-20 06:02:15,207.207 INFO    ] Checking for camera pi updates...
[2026-10-20 06:02:15,240.240 INFO    ] 200
[2026-10-20 06:02:15,243.243 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:02:15,283.283 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:02:15,316.316 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:02:15,319.319 INFO    ] No camera update needed
[2026-10-20 06:02:15,321.321 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:02:15,324.324 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:02:15,329.329 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:02:15,334.334 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:02:17,374.374 INFO    ] ================================================
[2026-10-20 06:02:17,390.390 INFO    ] Launching Daemon at Tue Oct 20 06:02:17 IST 2026
[2026-10-20 06:02:17,401.401 INFO    ] ================================================
[2026-10-20 06:02:17,972.972 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:02:17
[2026-10-20 06:02:18,561.561 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:02:18,818.818 INFO    ] Initializing speech engine...
[2026-10-20 06:02:18,825.825 INFO    ] 2026-10-20 06:02:18
[2026-10-20 06:02:19,130.130 INFO    ] 2026-10-20 06:02:19
[2026-10-20 06:02:19,175.175 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:02:19,387.387 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:02:19,401.401 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:02:19,572.572 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:02:19,582.582 INFO    ] time= 20/10/2026 06:02:19
[2026-10-20 06:02:19,589.589 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:02:19,627.627 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:02:19,769.769 INFO    ] No existing commands found in stream
[2026-10-20 06:02:24,794.794 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:02:24,797.797 INFO    ] Waiting 3.02 seconds before fallback handling...
[2026-10-20 06:02:28,333.333 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:02:28,336.336 INFO    ] Checking for system updates...
[2026-10-20 06:02:28,388.388 INFO    ] 200
[2026-10-20 06:02:28,391.391 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 06:02:28,393.393 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-10-20 06:02:28,396.396 INFO    ] Checking for camera pi updates...
[2026-10-20 06:02:28,435.435 INFO    ] 200
[2026-10-20 06:02:28,438.438 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 06:02:28,441.441 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-10-20 06:02:28,443.443 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:02:28,445.445 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:02:28,451.451 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:02:28,457.457 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:02:30,497.497 INFO    ] ================================================
[2026-10-20 06:02:30,514.514 INFO    ] Launching Daemon at Tue Oct 20 06:02:30 IST 2026
[2026-10-20 06:02:30,524.524 INFO    ] ================================================
[2026-10-20 06:02:31,160.160 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:02:31
[2026-10-20 06:02:31,863.863 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:02:32,187.187 INFO    ] Initializing speech engine...
[2026-10-20 06:02:32,196.196 INFO    ] 2026-10-20 06:02:32
[2026-10-20 06:02:32,454.454 INFO    ] 2026-10-20 06:02:32
[2026-10-20 06:02:32,491.491 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:02:32,714.714 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:02:32,777.777 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:02:32,927.927 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:02:32,988.988 INFO    ] time= 20/10/2026 06:02:32
[2026-10-20 06:02:33,028.028 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:02:33,066.066 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:02:33,191.191 INFO    ] No existing commands found in stream
[2026-10-20 06:02:38,216.216 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:02:38,219.219 INFO    ] Waiting 3.69 seconds before fallback handling...
[2026-10-20 06:02:42,427.427 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 06:02:42,430.430 INFO    ] Checking for system updates...
[2026-10-20 06:02:42,465.465 INFO    ] 200
[2026-10-20 06:02:42,468.468 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:02:42,526.526 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:02:42,529.529 INFO    ] No update needed
[2026-10-20 06:02:42,531.531 INFO    ] Checking for camera pi updates...
[2026-10-20 06:02:42,568.568 INFO    ] 200
[2026-10-20 06:02:42,571.571 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:02:42,611.611 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:02:42,661.661 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:02:42,663.663 INFO    ] No camera update needed
[2026-10-20 06:02:42,666.666 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:02:42,668.668 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:02:42,673.673 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:02:42,678.678 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:02:44,720.720 INFO    ] ================================================
[2026-10-20 06:02:44,736.736 INFO    ] Launching Daemon at Tue Oct 20 06:02:44 IST 2026
[2026-10-20 06:02:44,747.747 INFO    ] ================================================
[2026-10-20 06:02:45,391.391 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:02:45
[2026-10-20 06:02:46,052.052 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:02:46,348.348 INFO    ] Initializing speech engine...
[2026-10-20 06:02:46,357.357 INFO    ] 2026-10-20 06:02:46
[2026-10-20 06:02:46,628.628 INFO    ] 2026-10-20 06:02:46
[2026-10-20 06:02:46,683.683 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:02:46,968.968 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:02:46,974.974 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:02:47,168.168 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:02:47,186.186 INFO    ] time= 20/10/2026 06:02:47
[2026-10-20 06:02:47,196.196 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:02:47,222.222 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:02:47,363.363 INFO    ] No existing commands found in stream
[2026-10-20 06:02:52,393.393 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:02:52,396.396 INFO    ] Waiting 3.28 seconds before fallback handling...
[2026-10-20 06:02:56,213.213 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 06:02:56,216.216 INFO    ] Checking for system updates...
[2026-10-20 06:02:56,252.252 INFO    ] 200
[2026-10-20 06:02:56,255.255 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:02:56,308.308 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:02:56,311.311 INFO    ] No update needed
[2026-10-20 06:02:56,314.314 INFO    ] Checking for camera pi updates...
[2026-10-20 06:02:56,351.351 INFO    ] 200
[2026-10-20 06:02:56,354.354 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:02:56,396.396 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:02:56,544.544 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:02:56,547.547 INFO    ] No camera update needed
[2026-10-20 06:02:56,550.550 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:02:56,553.553 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:02:56,559.559 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:02:56,564.564 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:02:58,604.604 INFO    ] ================================================
[2026-10-20 06:02:58,620.620 INFO    ] Launching Daemon at Tue Oct 20 06:02:58 IST 2026
[2026-10-20 06:02:58,631.631 INFO    ] ================================================
[2026-10-20 06:02:59,219.219 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:02:59
[2026-10-20 06:02:59,848.848 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:03:00,142.142 INFO    ] Initializing speech engine...
[2026-10-20 06:03:00,157.157 INFO    ] 2026-10-20 06:03:00
[2026-10-20 06:03:00,462.462 INFO    ] 2026-10-20 06:03:00
[2026-10-20 06:03:00,546.546 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:03:00,760.760 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:03:00,769.769 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:03:00,961.961 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:03:00,980.980 INFO    ] time= 20/10/2026 06:03:00
[2026-10-20 06:03:01,010.010 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:03:01,018.018 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:03:01,132.132 INFO    ] No existing commands found in stream
[2026-10-20 06:03:06,163.163 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:03:06,166.166 INFO    ] Waiting 3.47 seconds before fallback handling...
[2026-10-20 06:03:10,110.110 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:03:10,113.113 INFO    ] Checking for system updates...
[2026-10-20 06:03:10,149.149 INFO    ] 200
[2026-10-20 06:03:10,151.151 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:03:10,203.203 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:03:10,206.206 INFO    ] No update needed
[2026-10-20 06:03:10,209.209 INFO    ] Checking for camera pi updates...
[2026-10-20 06:03:10,245.245 INFO    ] 200
[2026-10-20 06:03:10,248.248 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:03:10,291.291 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:03:10,337.337 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:03:10,340.340 INFO    ] No camera update needed
[2026-10-20 06:03:10,342.342 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:03:10,345.345 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:03:10,351.351 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:03:10,356.356 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:03:12,397.397 INFO    ] ================================================
[2026-10-20 06:03:12,413.413 INFO    ] Launching Daemon at Tue Oct 20 06:03:12 IST 2026
[2026-10-20 06:03:12,424.424 INFO    ] ================================================
[2026-10-20 06:03:12,989.989 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:03:12
[2026-10-20 06:03:13,571.571 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:03:13,836.836 INFO    ] Initializing speech engine...
[2026-10-20 06:03:13,854.854 INFO    ] 2026-10-20 06:03:13
[2026-10-20 06:03:14,129.129 INFO    ] 2026-10-20 06:03:14
[2026-10-20 06:03:14,165.165 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:03:14,369.369 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:03:14,382.382 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:03:14,587.587 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:03:14,594.594 INFO    ] time= 20/10/2026 06:03:14
[2026-10-20 06:03:14,643.643 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:03:14,692.692 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:03:14,855.855 INFO    ] No existing commands found in stream
[2026-10-20 06:03:19,872.872 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:03:19,875.875 INFO    ] Waiting 3.82 seconds before fallback handling...
[2026-10-20 06:03:24,164.164 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 06:03:24,167.167 INFO    ] Checking for system updates...
[2026-10-20 06:03:24,202.202 INFO    ] 200
[2026-10-20 06:03:24,204.204 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:03:24,260.260 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:03:24,262.262 INFO    ] No update needed
[2026-10-20 06:03:24,265.265 INFO    ] Checking for camera pi updates...
[2026-10-20 06:03:24,298.298 INFO    ] 200
[2026-10-20 06:03:24,301.301 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:03:24,340.340 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:03:24,377.377 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:03:24,380.380 INFO    ] No camera update needed
[2026-10-20 06:03:24,382.382 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:03:24,384.384 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:03:24,390.390 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:03:24,395.395 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:03:26,434.434 INFO    ] ================================================
[2026-10-20 06:03:26,449.449 INFO    ] Launching Daemon at Tue Oct 20 06:03:26 IST 2026
[2026-10-20 06:03:26,461.461 INFO    ] ================================================
[2026-10-20 06:03:27,080.080 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:03:27
[2026-10-20 06:03:27,721.721 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:03:28,011.011 INFO    ] Initializing speech engine...
[2026-10-20 06:03:28,021.021 INFO    ] 2026-10-20 06:03:28
[2026-10-20 06:03:28,291.291 INFO    ] 2026-10-20 06:03:28
[2026-10-20 06:03:28,346.346 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:03:28,595.595 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:03:28,603.603 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:03:28,820.820 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:03:28,843.843 INFO    ] time= 20/10/2026 06:03:28
[2026-10-20 06:03:28,861.861 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:03:28,884.884 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:03:29,066.066 INFO    ] No existing commands found in stream
[2026-10-20 06:03:34,097.097 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:03:34,101.101 INFO    ] Waiting 3.45 seconds before fallback handling...
[2026-10-20 06:03:38,064.064 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:03:38,067.067 INFO    ] Checking for system updates...
[2026-10-20 06:03:38,104.104 INFO    ] 200
[2026-10-20 06:03:38,107.107 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:03:38,160.160 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:03:38,163.163 INFO    ] No update needed
[2026-10-20 06:03:38,165.165 INFO    ] Checking for camera pi updates...
[2026-10-20 06:03:38,199.199 INFO    ] 200
[2026-10-20 06:03:38,202.202 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:03:38,243.243 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:03:38,292.292 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:03:38,295.295 INFO    ] No camera update needed
[2026-10-20 06:03:38,297.297 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:03:38,300.300 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:03:38,306.306 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:03:38,311.311 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:03:40,351.351 INFO    ] ================================================
[2026-10-20 06:03:40,366.366 INFO    ] Launching Daemon at Tue Oct 20 06:03:40 IST 2026
[2026-10-20 06:03:40,378.378 INFO    ] ================================================
[2026-10-20 06:03:40,944.944 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:03:40
[2026-10-20 06:03:41,525.525 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:03:41,791.791 INFO    ] Initializing speech engine...
[2026-10-20 06:03:41,800.800 INFO    ] 2026-10-20 06:03:41
[2026-10-20 06:03:42,046.046 INFO    ] 2026-10-20 06:03:42
[2026-10-20 06:03:42,080.080 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:03:42,335.335 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:03:42,340.340 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:03:42,479.479 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:03:42,543.543 INFO    ] time= 20/10/2026 06:03:42
[2026-10-20 06:03:42,603.603 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:03:42,608.608 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:03:42,766.766 INFO    ] No existing commands found in stream
[2026-10-20 06:03:47,797.797 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:03:47,800.800 INFO    ] Waiting 1.93 seconds before fallback handling...
[2026-10-20 06:03:50,747.747 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:03:50,750.750 INFO    ] Checking for system updates...
[2026-10-20 06:03:50,786.786 INFO    ] 200
[2026-10-20 06:03:50,789.789 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:03:50,840.840 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:03:50,843.843 INFO    ] No update needed
[2026-10-20 06:03:50,846.846 INFO    ] Checking for camera pi updates...
[2026-10-20 06:03:50,880.880 INFO    ] 200
[2026-10-20 06:03:50,883.883 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:03:50,925.925 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:03:50,975.975 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:03:50,978.978 INFO    ] No camera update needed
[2026-10-20 06:03:50,980.980 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:03:50,983.983 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:03:50,989.989 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:03:50,994.994 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:03:53,035.035 INFO    ] ================================================
[2026-10-20 06:03:53,051.051 INFO    ] Launching Daemon at Tue Oct 20 06:03:53 IST 2026
[2026-10-20 06:03:53,062.062 INFO    ] ================================================
[2026-10-20 06:03:53,629.629 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:03:53
[2026-10-20 06:03:54,213.213 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:03:54,493.493 INFO    ] Initializing speech engine...
[2026-10-20 06:03:54,503.503 INFO    ] 2026-10-20 06:03:54
[2026-10-20 06:03:54,763.763 INFO    ] 2026-10-20 06:03:54
[2026-10-20 06:03:54,798.798 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:03:55,017.017 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:03:55,080.080 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:03:55,234.234 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:03:55,269.269 INFO    ] time= 20/10/2026 06:03:55
[2026-10-20 06:03:55,323.323 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:03:55,372.372 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:03:55,537.537 INFO    ] No existing commands found in stream
[2026-10-20 06:04:00,553.553 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:04:00,555.555 INFO    ] Waiting 1.82 seconds before fallback handling...
[2026-10-20 06:04:02,921.921 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:04:02,924.924 INFO    ] Checking for system updates...
[2026-10-20 06:04:02,964.964 INFO    ] 200
[2026-10-20 06:04:02,967.967 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:04:03,029.029 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:04:03,032.032 INFO    ] No update needed
[2026-10-20 06:04:03,035.035 INFO    ] Checking for camera pi updates...
[2026-10-20 06:04:03,072.072 INFO    ] 200
[2026-10-20 06:04:03,075.075 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:04:03,121.121 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:04:03,153.153 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:04:03,156.156 INFO    ] No camera update needed
[2026-10-20 06:04:03,159.159 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:04:03,162.162 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:04:03,169.169 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:04:03,176.176 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:04:05,218.218 INFO    ] ================================================
[2026-10-20 06:04:05,233.233 INFO    ] Launching Daemon at Tue Oct 20 06:04:05 IST 2026
[2026-10-20 06:04:05,244.244 INFO    ] ================================================
[2026-10-20 06:04:05,813.813 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:04:05
[2026-10-20 06:04:06,398.398 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:04:06,668.668 INFO    ] Initializing speech engine...
[2026-10-20 06:04:06,677.677 INFO    ] 2026-10-20 06:04:06
[2026-10-20 06:04:06,922.922 INFO    ] 2026-10-20 06:04:06
[2026-10-20 06:04:06,958.958 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:04:07,210.210 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:04:07,219.219 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:04:07,456.456 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:04:07,485.485 INFO    ] time= 20/10/2026 06:04:07
[2026-10-20 06:04:07,492.492 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:04:07,511.511 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:04:07,657.657 INFO    ] No existing commands found in stream
[2026-10-20 06:04:12,671.671 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:04:12,673.673 INFO    ] Waiting 3.33 seconds before fallback handling...
[2026-10-20 06:04:16,501.501 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:04:16,503.503 INFO    ] Checking for system updates...
[2026-10-20 06:04:16,540.540 INFO    ] 200
[2026-10-20 06:04:16,543.543 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:04:16,596.596 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:04:16,599.599 INFO    ] No update needed
[2026-10-20 06:04:16,601.601 INFO    ] Checking for camera pi updates...
[2026-10-20 06:04:16,635.635 INFO    ] 200
[2026-10-20 06:04:16,638.638 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:04:16,682.682 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:04:16,727.727 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:04:16,730.730 INFO    ] No camera update needed
[2026-10-20 06:04:16,732.732 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:04:16,734.734 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:04:16,740.740 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:04:16,745.745 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:04:18,786.786 INFO    ] ================================================
[2026-10-20 06:04:18,802.802 INFO    ] Launching Daemon at Tue Oct 20 06:04:18 IST 2026
[2026-10-20 06:04:18,813.813 INFO    ] ================================================
[2026-10-20 06:04:19,399.399 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:04:19
[2026-10-20 06:04:19,995.995 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:04:20,268.268 INFO    ] Initializing speech engine...
[2026-10-20 06:04:20,279.279 INFO    ] 2026-10-20 06:04:20
[2026-10-20 06:04:20,540.540 INFO    ] 2026-10-20 06:04:20
[2026-10-20 06:04:20,595.595 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:04:20,820.820 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:04:20,825.825 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:04:21,046.046 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:04:21,081.081 INFO    ] time= 20/10/2026 06:04:21
[2026-10-20 06:04:21,087.087 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:04:21,105.105 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:04:21,232.232 INFO    ] No existing commands found in stream
[2026-10-20 06:04:26,247.247 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:04:26,250.250 INFO    ] Waiting 1.10 seconds before fallback handling...
[2026-10-20 06:04:27,852.852 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:04:27,855.855 INFO    ] Checking for system updates...
[2026-10-20 06:04:27,890.890 INFO    ] 200
[2026-10-20 06:04:27,893.893 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:04:27,944.944 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:04:27,946.946 INFO    ] No update needed
[2026-10-20 06:04:27,949.949 INFO    ] Checking for camera pi updates...
[2026-10-20 06:04:27,983.983 INFO    ] 200
[2026-10-20 06:04:27,985.985 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:04:28,025.025 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:04:28,074.074 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:04:28,076.076 INFO    ] No camera update needed
[2026-10-20 06:04:28,079.079 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:04:28,081.081 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:04:28,086.086 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:04:28,092.092 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:04:30,131.131 INFO    ] ================================================
[2026-10-20 06:04:30,146.146 INFO    ] Launching Daemon at Tue Oct 20 06:04:30 IST 2026
[2026-10-20 06:04:30,158.158 INFO    ] ================================================
[2026-10-20 06:04:30,740.740 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:04:30
[2026-10-20 06:04:31,340.340 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:04:31,628.628 INFO    ] Initializing speech engine...
[2026-10-20 06:04:31,636.636 INFO    ] 2026-10-20 06:04:31
[2026-10-20 06:04:31,915.915 INFO    ] 2026-10-20 06:04:31
[2026-10-20 06:04:31,954.954 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:04:32,166.166 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:04:32,170.170 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:04:32,380.380 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:04:32,388.388 INFO    ] time= 20/10/2026 06:04:32
[2026-10-20 06:04:32,454.454 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:04:32,494.494 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:04:32,667.667 INFO    ] No existing commands found in stream
[2026-10-20 06:04:37,693.693 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:04:37,695.695 INFO    ] Waiting 2.04 seconds before fallback handling...
[2026-10-20 06:04:40,249.249 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 06:04:40,252.252 INFO    ] Checking for system updates...
[2026-10-20 06:04:40,287.287 INFO    ] 200
[2026-10-20 06:04:40,289.289 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:04:40,341.341 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:04:40,344.344 INFO    ] No update needed
[2026-10-20 06:04:40,346.346 INFO    ] Checking for camera pi updates...
[2026-10-20 06:04:40,383.383 INFO    ] 200
[2026-10-20 06:04:40,385.385 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:04:40,425.425 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:04:40,471.471 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:04:40,474.474 INFO    ] No camera update needed
[2026-10-20 06:04:40,476.476 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:04:40,478.478 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:04:40,484.484 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:04:40,489.489 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:04:42,530.530 INFO    ] ================================================
[2026-10-20 06:04:42,545.545 INFO    ] Launching Daemon at Tue Oct 20 06:04:42 IST 2026
[2026-10-20 06:04:42,556.556 INFO    ] ================================================
[2026-10-20 06:04:43,138.138 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:04:43
[2026-10-20 06:04:43,738.738 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:04:44,016.016 INFO    ] Initializing speech engine...
[2026-10-20 06:04:44,023.023 INFO    ] 2026-10-20 06:04:44
[2026-10-20 06:04:44,283.283 INFO    ] 2026-10-20 06:04:44
[2026-10-20 06:04:44,313.313 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:04:44,561.561 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:04:44,571.571 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:04:44,809.809 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:04:44,833.833 INFO    ] time= 20/10/2026 06:04:44
[2026-10-20 06:04:44,848.848 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:04:44,857.857 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:04:44,990.990 INFO    ] No existing commands found in stream
[2026-10-20 06:04:50,021.021 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:04:50,024.024 INFO    ] Waiting 0.04 seconds before fallback handling...
[2026-10-20 06:04:50,566.566 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:04:50,569.569 INFO    ] Checking for system updates...
[2026-10-20 06:04:50,604.604 INFO    ] 200
[2026-10-20 06:04:50,607.607 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:04:50,659.659 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:04:50,661.661 INFO    ] No update needed
[2026-10-20 06:04:50,664.664 INFO    ] Checking for camera pi updates...
[2026-10-20 06:04:50,701.701 INFO    ] 200
[2026-10-20 06:04:50,704.704 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:04:50,744.744 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:04:50,803.803 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:04:50,806.806 INFO    ] No camera update needed
[2026-10-20 06:04:50,808.808 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:04:50,810.810 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:04:50,816.816 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:04:50,821.821 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:04:52,860.860 INFO    ] ================================================
[2026-10-20 06:04:52,875.875 INFO    ] Launching Daemon at Tue Oct 20 06:04:52 IST 2026
[2026-10-20 06:04:52,885.885 INFO    ] ================================================
[2026-10-20 06:04:53,468.468 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:04:53
[2026-10-20 06:04:54,069.069 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:04:54,343.343 INFO    ] Initializing speech engine...
[2026-10-20 06:04:54,353.353 INFO    ] 2026-10-20 06:04:54
[2026-10-20 06:04:54,602.602 INFO    ] 2026-10-20 06:04:54
[2026-10-20 06:04:54,637.637 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:04:54,888.888 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:04:54,897.897 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:04:55,101.101 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:04:55,156.156 INFO    ] time= 20/10/2026 06:04:55
[2026-10-20 06:04:55,162.162 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:04:55,180.180 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:04:55,313.313 INFO    ] No existing commands found in stream
[2026-10-20 06:05:00,335.335 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:05:00,338.338 INFO    ] Waiting 3.93 seconds before fallback handling...
[2026-10-20 06:05:04,752.752 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 06:05:04,754.754 INFO    ] Checking for system updates...
[2026-10-20 06:05:04,790.790 INFO    ] 200
[2026-10-20 06:05:04,792.792 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:05:04,845.845 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:05:04,848.848 INFO    ] No update needed
[2026-10-20 06:05:04,850.850 INFO    ] Checking for camera pi updates...
[2026-10-20 06:05:04,885.885 INFO    ] 200
[2026-10-20 06:05:04,887.887 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:05:04,930.930 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:05:05,001.001 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:05:05,003.003 INFO    ] No camera update needed
[2026-10-20 06:05:05,005.005 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:05:05,008.008 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:05:05,013.013 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:05:05,019.019 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:05:07,061.061 INFO    ] ================================================
[2026-10-20 06:05:07,076.076 INFO    ] Launching Daemon at Tue Oct 20 06:05:07 IST 2026
[2026-10-20 06:05:07,086.086 INFO    ] ================================================
[2026-10-20 06:05:07,725.725 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:05:07
[2026-10-20 06:05:08,385.385 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:05:08,684.684 INFO    ] Initializing speech engine...
[2026-10-20 06:05:08,692.692 INFO    ] 2026-10-20 06:05:08
[2026-10-20 06:05:08,975.975 INFO    ] 2026-10-20 06:05:08
[2026-10-20 06:05:09,020.020 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:05:09,305.305 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:05:09,312.312 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:05:09,506.506 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:05:09,525.525 INFO    ] time= 20/10/2026 06:05:09
[2026-10-20 06:05:09,535.535 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:05:09,563.563 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:05:09,679.679 INFO    ] No existing commands found in stream
[2026-10-20 06:05:14,709.709 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:05:14,713.713 INFO    ] Waiting 0.04 seconds before fallback handling...
[2026-10-20 06:05:15,253.253 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:05:15,256.256 INFO    ] Checking for system updates...
[2026-10-20 06:05:15,292.292 INFO    ] 200
[2026-10-20 06:05:15,294.294 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:05:15,346.346 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:05:15,348.348 INFO    ] No update needed
[2026-10-20 06:05:15,351.351 INFO    ] Checking for camera pi updates...
[2026-10-20 06:05:15,389.389 INFO    ] 200
[2026-10-20 06:05:15,392.392 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:05:15,431.431 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:05:15,484.484 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:05:15,486.486 INFO    ] No camera update needed
[2026-10-20 06:05:15,488.488 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:05:15,491.491 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:05:15,496.496 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:05:15,501.501 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:05:17,542.542 INFO    ] ================================================
[2026-10-20 06:05:17,557.557 INFO    ] Launching Daemon at Tue Oct 20 06:05:17 IST 2026
[2026-10-20 06:05:17,567.567 INFO    ] ================================================
[2026-10-20 06:05:18,177.177 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:05:18
[2026-10-20 06:05:18,838.838 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:05:19,138.138 INFO    ] Initializing speech engine...
[2026-10-20 06:05:19,151.151 INFO    ] 2026-10-20 06:05:19
[2026-10-20 06:05:19,430.430 INFO    ] 2026-10-20 06:05:19
[2026-10-20 06:05:19,475.475 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:05:19,761.761 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:05:19,765.765 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:05:19,962.962 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:05:19,980.980 INFO    ] time= 20/10/2026 06:05:19
[2026-10-20 06:05:20,005.005 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:05:20,019.019 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:05:20,151.151 INFO    ] No existing commands found in stream
[2026-10-20 06:05:25,176.176 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:05:25,180.180 INFO    ] Waiting 3.60 seconds before fallback handling...
[2026-10-20 06:05:29,282.282 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 06:05:29,285.285 INFO    ] Checking for system updates...
[2026-10-20 06:05:29,320.320 INFO    ] 200
[2026-10-20 06:05:29,323.323 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:05:29,384.384 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:05:29,386.386 INFO    ] No update needed
[2026-10-20 06:05:29,389.389 INFO    ] Checking for camera pi updates...
[2026-10-20 06:05:29,426.426 INFO    ] 200
[2026-10-20 06:05:29,429.429 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:05:29,474.474 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:05:29,521.521 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:05:29,524.524 INFO    ] No camera update needed
[2026-10-20 06:05:29,527.527 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:05:29,529.529 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:05:29,535.535 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:05:29,541.541 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:05:31,582.582 INFO    ] ================================================
[2026-10-20 06:05:31,596.596 INFO    ] Launching Daemon at Tue Oct 20 06:05:31 IST 2026
[2026-10-20 06:05:31,607.607 INFO    ] ================================================
[2026-10-20 06:05:32,250.250 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:05:32
[2026-10-20 06:05:32,879.879 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:05:33,157.157 INFO    ] Initializing speech engine...
[2026-10-20 06:05:33,165.165 INFO    ] 2026-10-20 06:05:33
[2026-10-20 06:05:33,490.490 INFO    ] 2026-10-20 06:05:33
[2026-10-20 06:05:33,532.532 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:05:33,797.797 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:05:33,802.802 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:05:34,004.004 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:05:34,059.059 INFO    ] time= 20/10/2026 06:05:34
[2026-10-20 06:05:34,074.074 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:05:34,093.093 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:05:34,253.253 INFO    ] No existing commands found in stream
[2026-10-20 06:05:39,284.284 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:05:39,287.287 INFO    ] Waiting 0.55 seconds before fallback handling...
[2026-10-20 06:05:40,352.352 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 06:05:40,355.355 INFO    ] Checking for system updates...
[2026-10-20 06:05:40,391.391 INFO    ] 200
[2026-10-20 06:05:40,393.393 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:05:40,449.449 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:05:40,451.451 INFO    ] No update needed
[2026-10-20 06:05:40,454.454 INFO    ] Checking for camera pi updates...
[2026-10-20 06:05:40,491.491 INFO    ] 200
[2026-10-20 06:05:40,493.493 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:05:40,538.538 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:05:40,584.584 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:05:40,587.587 INFO    ] No camera update needed
[2026-10-20 06:05:40,589.589 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:05:40,591.591 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:05:40,597.597 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:05:40,602.602 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:05:42,640.640 INFO    ] ================================================
[2026-10-20 06:05:42,656.656 INFO    ] Launching Daemon at Tue Oct 20 06:05:42 IST 2026
[2026-10-20 06:05:42,666.666 INFO    ] ================================================
[2026-10-20 06:05:43,311.311 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:05:43
[2026-10-20 06:05:43,981.981 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:05:44,259.259 INFO    ] Initializing speech engine...
[2026-10-20 06:05:44,266.266 INFO    ] 2026-10-20 06:05:44
[2026-10-20 06:05:44,529.529 INFO    ] 2026-10-20 06:05:44
[2026-10-20 06:05:44,559.559 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:05:44,811.811 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:05:44,817.817 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:05:45,053.053 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:05:45,077.077 INFO    ] time= 20/10/2026 06:05:45
[2026-10-20 06:05:45,092.092 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:05:45,099.099 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:05:45,229.229 INFO    ] No existing commands found in stream
[2026-10-20 06:05:50,242.242 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:05:50,245.245 INFO    ] Waiting 2.16 seconds before fallback handling...
[2026-10-20 06:05:52,985.985 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:05:52,988.988 INFO    ] Checking for system updates...
[2026-10-20 06:05:53,024.024 INFO    ] 200
[2026-10-20 06:05:53,026.026 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:05:53,079.079 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:05:53,081.081 INFO    ] No update needed
[2026-10-20 06:05:53,083.083 INFO    ] Checking for camera pi updates...
[2026-10-20 06:05:53,117.117 INFO    ] 200
[2026-10-20 06:05:53,120.120 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:05:53,164.164 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:05:53,222.222 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:05:53,225.225 INFO    ] No camera update needed
[2026-10-20 06:05:53,227.227 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:05:53,229.229 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:05:53,235.235 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:05:53,240.240 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:05:55,280.280 INFO    ] ================================================
[2026-10-20 06:05:55,295.295 INFO    ] Launching Daemon at Tue Oct 20 06:05:55 IST 2026
[2026-10-20 06:05:55,305.305 INFO    ] ================================================
[2026-10-20 06:05:55,959.959 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:05:55
[2026-10-20 06:05:56,549.549 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:05:56,797.797 INFO    ] Initializing speech engine...
[2026-10-20 06:05:56,803.803 INFO    ] 2026-10-20 06:05:56
[2026-10-20 06:05:57,079.079 INFO    ] 2026-10-20 06:05:57
[2026-10-20 06:05:57,114.114 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:05:57,313.313 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:05:57,346.346 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:05:57,517.517 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:05:57,549.549 INFO    ] time= 20/10/2026 06:05:57
[2026-10-20 06:05:57,604.604 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:05:57,653.653 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:05:57,789.789 INFO    ] No existing commands found in stream
[2026-10-20 06:06:02,811.811 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:06:02,814.814 INFO    ] Waiting 2.15 seconds before fallback handling...
[2026-10-20 06:06:05,480.480 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:06:05,483.483 INFO    ] Checking for system updates...
[2026-10-20 06:06:05,518.518 INFO    ] 200
[2026-10-20 06:06:05,521.521 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:06:05,574.574 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:06:05,576.576 INFO    ] No update needed
[2026-10-20 06:06:05,579.579 INFO    ] Checking for camera pi updates...
[2026-10-20 06:06:05,615.615 INFO    ] 200
[2026-10-20 06:06:05,617.617 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:06:05,659.659 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:06:05,711.711 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:06:05,714.714 INFO    ] No camera update needed
[2026-10-20 06:06:05,717.717 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:06:05,719.719 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:06:05,725.725 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:06:05,731.731 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:06:07,771.771 INFO    ] ================================================
[2026-10-20 06:06:07,787.787 INFO    ] Launching Daemon at Tue Oct 20 06:06:07 IST 2026
[2026-10-20 06:06:07,798.798 INFO    ] ================================================
[2026-10-20 06:06:08,382.382 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:06:08
[2026-10-20 06:06:08,964.964 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:06:09,234.234 INFO    ] Initializing speech engine...
[2026-10-20 06:06:09,243.243 INFO    ] 2026-10-20 06:06:09
[2026-10-20 06:06:09,493.493 INFO    ] 2026-10-20 06:06:09
[2026-10-20 06:06:09,527.527 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:06:09,785.785 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:06:09,794.794 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:06:10,027.027 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:06:10,058.058 INFO    ] time= 20/10/2026 06:06:10
[2026-10-20 06:06:10,064.064 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:06:10,081.081 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:06:10,213.213 INFO    ] No existing commands found in stream
[2026-10-20 06:06:15,226.226 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:06:15,229.229 INFO    ] Waiting 0.50 seconds before fallback handling...
[2026-10-20 06:06:16,235.235 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:06:16,238.238 INFO    ] Checking for system updates...
[2026-10-20 06:06:16,273.273 INFO    ] 200
[2026-10-20 06:06:16,276.276 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:06:16,332.332 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:06:16,335.335 INFO    ] No update needed
[2026-10-20 06:06:16,337.337 INFO    ] Checking for camera pi updates...
[2026-10-20 06:06:16,372.372 INFO    ] 200
[2026-10-20 06:06:16,375.375 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:06:16,415.415 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:06:16,470.470 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:06:16,473.473 INFO    ] No camera update needed
[2026-10-20 06:06:16,475.475 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:06:16,477.477 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:06:16,483.483 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:06:16,488.488 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:06:18,527.527 INFO    ] ================================================
[2026-10-20 06:06:18,543.543 INFO    ] Launching Daemon at Tue Oct 20 06:06:18 IST 2026
[2026-10-20 06:06:18,554.554 INFO    ] ================================================
[2026-10-20 06:06:19,124.124 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:06:19
[2026-10-20 06:06:19,708.708 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:06:19,986.986 INFO    ] Initializing speech engine...
[2026-10-20 06:06:19,992.992 INFO    ] 2026-10-20 06:06:19
[2026-10-20 06:06:20,240.240 INFO    ] 2026-10-20 06:06:20
[2026-10-20 06:06:20,275.275 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:06:20,539.539 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:06:20,549.549 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:06:20,696.696 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:06:20,738.738 INFO    ] time= 20/10/2026 06:06:20
[2026-10-20 06:06:20,793.793 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:06:20,842.842 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:06:20,975.975 INFO    ] No existing commands found in stream
[2026-10-20 06:06:26,000.000 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:06:26,003.003 INFO    ] Waiting 0.73 seconds before fallback handling...
[2026-10-20 06:06:27,233.233 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 06:06:27,236.236 INFO    ] Checking for system updates...
[2026-10-20 06:06:27,273.273 INFO    ] 200
[2026-10-20 06:06:27,276.276 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:06:27,330.330 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:06:27,332.332 INFO    ] No update needed
[2026-10-20 06:06:27,335.335 INFO    ] Checking for camera pi updates...
[2026-10-20 06:06:27,372.372 INFO    ] 200
[2026-10-20 06:06:27,374.374 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:06:27,419.419 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:06:27,478.478 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:06:27,481.481 INFO    ] No camera update needed
[2026-10-20 06:06:27,483.483 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:06:27,486.486 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:06:27,492.492 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:06:27,497.497 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:06:29,539.539 INFO    ] ================================================
[2026-10-20 06:06:29,554.554 INFO    ] Launching Daemon at Tue Oct 20 06:06:29 IST 2026
[2026-10-20 06:06:29,565.565 INFO    ] ================================================
[2026-10-20 06:06:30,137.137 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:06:30
[2026-10-20 06:06:30,723.723 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:06:30,973.973 INFO    ] Initializing speech engine...
[2026-10-20 06:06:30,998.998 INFO    ] 2026-10-20 06:06:30
[2026-10-20 06:06:31,266.266 INFO    ] 2026-10-20 06:06:31
[2026-10-20 06:06:31,299.299 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:06:31,506.506 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:06:31,520.520 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:06:31,685.685 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:06:31,697.697 INFO    ] time= 20/10/2026 06:06:31
[2026-10-20 06:06:31,702.702 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:06:31,712.712 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:06:31,793.793 INFO    ] No existing commands found in stream
[2026-10-20 06:06:36,819.819 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:06:36,821.821 INFO    ] Waiting 3.37 seconds before fallback handling...
[2026-10-20 06:06:40,661.661 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:06:40,664.664 INFO    ] Checking for system updates...
[2026-10-20 06:06:40,699.699 INFO    ] 200
[2026-10-20 06:06:40,702.702 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:06:40,756.756 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:06:40,759.759 INFO    ] No update needed
[2026-10-20 06:06:40,762.762 INFO    ] Checking for camera pi updates...
[2026-10-20 06:06:40,794.794 INFO    ] 200
[2026-10-20 06:06:40,797.797 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:06:40,837.837 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:06:40,884.884 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:06:40,887.887 INFO    ] No camera update needed
[2026-10-20 06:06:40,889.889 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:06:40,891.891 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:06:40,897.897 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:06:40,902.902 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:06:42,941.941 INFO    ] ================================================
[2026-10-20 06:06:42,956.956 INFO    ] Launching Daemon at Tue Oct 20 06:06:42 IST 2026
[2026-10-20 06:06:42,967.967 INFO    ] ================================================
[2026-10-20 06:06:43,555.555 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:06:43
[2026-10-20 06:06:44,169.169 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:06:44,442.442 INFO    ] Initializing speech engine...
[2026-10-20 06:06:44,457.457 INFO    ] 2026-10-20 06:06:44
[2026-10-20 06:06:44,749.749 INFO    ] 2026-10-20 06:06:44
[2026-10-20 06:06:44,787.787 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:06:44,994.994 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:06:45,058.058 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:06:45,300.300 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:06:45,333.333 INFO    ] time= 20/10/2026 06:06:45
[2026-10-20 06:06:45,352.352 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:06:45,366.366 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:06:45,509.509 INFO    ] No existing commands found in stream
[2026-10-20 06:06:50,538.538 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:06:50,547.547 INFO    ] Waiting 0.11 seconds before fallback handling...
[2026-10-20 06:06:51,153.153 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:06:51,156.156 INFO    ] Checking for system updates...
[2026-10-20 06:06:51,193.193 INFO    ] 200
[2026-10-20 06:06:51,195.195 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:06:51,247.247 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:06:51,249.249 INFO    ] No update needed
[2026-10-20 06:06:51,252.252 INFO    ] Checking for camera pi updates...
[2026-10-20 06:06:51,289.289 INFO    ] 200
[2026-10-20 06:06:51,292.292 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:06:51,341.341 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:06:51,389.389 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:06:51,391.391 INFO    ] No camera update needed
[2026-10-20 06:06:51,394.394 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:06:51,396.396 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:06:51,401.401 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:06:51,406.406 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:06:53,448.448 INFO    ] ================================================
[2026-10-20 06:06:53,463.463 INFO    ] Launching Daemon at Tue Oct 20 06:06:53 IST 2026
[2026-10-20 06:06:53,474.474 INFO    ] ================================================
[2026-10-20 06:06:54,076.076 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:06:54
[2026-10-20 06:06:54,661.661 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:06:54,925.925 INFO    ] Initializing speech engine...
[2026-10-20 06:06:54,938.938 INFO    ] 2026-10-20 06:06:54
[2026-10-20 06:06:55,186.186 INFO    ] 2026-10-20 06:06:55
[2026-10-20 06:06:55,221.221 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:06:55,477.477 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:06:55,486.486 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:06:55,694.694 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:06:55,744.744 INFO    ] time= 20/10/2026 06:06:55
[2026-10-20 06:06:55,751.751 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:06:55,771.771 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:06:55,922.922 INFO    ] No existing commands found in stream
[2026-10-20 06:07:00,952.952 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:07:00,955.955 INFO    ] Waiting 1.88 seconds before fallback handling...
[2026-10-20 06:07:05,664.664 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:07:05,667.667 INFO    ] Checking for system updates...
[2026-10-20 06:07:05,702.702 INFO    ] 200
[2026-10-20 06:07:05,705.705 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:07:05,765.765 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:07:05,767.767 INFO    ] No update needed
[2026-10-20 06:07:05,770.770 INFO    ] Checking for camera pi updates...
[2026-10-20 06:07:05,803.803 INFO    ] 200
[2026-10-20 06:07:05,805.805 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:07:05,845.845 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:07:06,004.004 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:07:06,006.006 INFO    ] No camera update needed
[2026-10-20 06:07:06,012.012 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:07:06,014.014 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:07:06,019.019 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:07:06,024.024 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:07:08,064.064 INFO    ] ================================================
[2026-10-20 06:07:08,079.079 INFO    ] Launching Daemon at Tue Oct 20 06:07:08 IST 2026
[2026-10-20 06:07:08,090.090 INFO    ] ================================================
[2026-10-20 06:07:08,756.756 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:07:08
[2026-10-20 06:07:09,428.428 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:07:09,696.696 INFO    ] Initializing speech engine...
[2026-10-20 06:07:09,705.705 INFO    ] 2026-10-20 06:07:09
[2026-10-20 06:07:09,957.957 INFO    ] 2026-10-20 06:07:09
[2026-10-20 06:07:09,991.991 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:07:10,243.243 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:07:10,252.252 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:07:10,454.454 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:07:10,513.513 INFO    ] time= 20/10/2026 06:07:10
[2026-10-20 06:07:10,522.522 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:07:10,540.540 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:07:10,677.677 INFO    ] No existing commands found in stream
[2026-10-20 06:07:15,699.699 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:07:15,702.702 INFO    ] Waiting 0.59 seconds before fallback handling...
[2026-10-20 06:07:16,776.776 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 06:07:16,779.779 INFO    ] Checking for system updates...
[2026-10-20 06:07:16,822.822 INFO    ] 200
[2026-10-20 06:07:16,825.825 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:07:16,878.878 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:07:16,881.881 INFO    ] No update needed
[2026-10-20 06:07:16,884.884 INFO    ] Checking for camera pi updates...
[2026-10-20 06:07:16,919.919 INFO    ] 200
[2026-10-20 06:07:16,921.921 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:07:16,962.962 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:07:17,011.011 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:07:17,013.013 INFO    ] No camera update needed
[2026-10-20 06:07:17,016.016 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:07:17,018.018 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:07:17,024.024 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:07:17,029.029 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:07:19,068.068 INFO    ] ================================================
[2026-10-20 06:07:19,084.084 INFO    ] Launching Daemon at Tue Oct 20 06:07:19 IST 2026
[2026-10-20 06:07:19,095.095 INFO    ] ================================================
[2026-10-20 06:07:19,762.762 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:07:19
[2026-10-20 06:07:20,451.451 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:07:20,763.763 INFO    ] Initializing speech engine...
[2026-10-20 06:07:20,769.769 INFO    ] 2026-10-20 06:07:20
[2026-10-20 06:07:21,064.064 INFO    ] 2026-10-20 06:07:21
[2026-10-20 06:07:21,111.111 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:07:21,343.343 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:07:21,349.349 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:07:21,593.593 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:07:21,618.618 INFO    ] time= 20/10/2026 06:07:21
[2026-10-20 06:07:21,641.641 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:07:21,670.670 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:07:21,797.797 INFO    ] No existing commands found in stream
[2026-10-20 06:07:26,827.827 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:07:26,831.831 INFO    ] Waiting 1.94 seconds before fallback handling...
[2026-10-20 06:07:29,253.253 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 06:07:29,256.256 INFO    ] Checking for system updates...
[2026-10-20 06:07:29,292.292 INFO    ] 200
[2026-10-20 06:07:29,294.294 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:07:29,351.351 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:07:29,354.354 INFO    ] No update needed
[2026-10-20 06:07:29,356.356 INFO    ] Checking for camera pi updates...
[2026-10-20 06:07:29,390.390 INFO    ] 200
[2026-10-20 06:07:29,393.393 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:07:29,433.433 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:07:29,484.484 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:07:29,486.486 INFO    ] No camera update needed
[2026-10-20 06:07:29,489.489 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:07:29,491.491 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:07:29,497.497 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:07:29,502.502 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:07:31,542.542 INFO    ] ================================================
[2026-10-20 06:07:31,558.558 INFO    ] Launching Daemon at Tue Oct 20 06:07:31 IST 2026
[2026-10-20 06:07:31,570.570 INFO    ] ================================================
[2026-10-20 06:07:32,295.295 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:07:32
[2026-10-20 06:07:33,005.005 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:07:33,314.314 INFO    ] Initializing speech engine...
[2026-10-20 06:07:33,326.326 INFO    ] 2026-10-20 06:07:33
[2026-10-20 06:07:33,630.630 INFO    ] 2026-10-20 06:07:33
[2026-10-20 06:07:33,717.717 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:07:33,935.935 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:07:33,997.997 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:07:34,154.154 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:07:34,183.183 INFO    ] time= 20/10/2026 06:07:34
[2026-10-20 06:07:34,192.192 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:07:34,209.209 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:07:34,375.375 INFO    ] No existing commands found in stream
[2026-10-20 06:07:39,402.402 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:07:39,405.405 INFO    ] Waiting 2.50 seconds before fallback handling...
[2026-10-20 06:07:42,424.424 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:07:42,427.427 INFO    ] Checking for system updates...
[2026-10-20 06:07:42,463.463 INFO    ] 200
[2026-10-20 06:07:42,466.466 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:07:42,519.519 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:07:42,522.522 INFO    ] No update needed
[2026-10-20 06:07:42,524.524 INFO    ] Checking for camera pi updates...
[2026-10-20 06:07:42,557.557 INFO    ] 200
[2026-10-20 06:07:42,559.559 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:07:42,601.601 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:07:42,652.652 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:07:42,654.654 INFO    ] No camera update needed
[2026-10-20 06:07:42,656.656 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:07:42,659.659 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:07:42,664.664 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:07:42,669.669 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:07:44,708.708 INFO    ] ================================================
[2026-10-20 06:07:44,724.724 INFO    ] Launching Daemon at Tue Oct 20 06:07:44 IST 2026
[2026-10-20 06:07:44,735.735 INFO    ] ================================================
[2026-10-20 06:07:45,407.407 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:07:45
[2026-10-20 06:07:46,067.067 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:07:46,338.338 INFO    ] Initializing speech engine...
[2026-10-20 06:07:46,344.344 INFO    ] 2026-10-20 06:07:46
[2026-10-20 06:07:46,602.602 INFO    ] 2026-10-20 06:07:46
[2026-10-20 06:07:46,632.632 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:07:46,880.880 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:07:46,885.885 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:07:47,018.018 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:07:47,083.083 INFO    ] time= 20/10/2026 06:07:47
[2026-10-20 06:07:47,143.143 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:07:47,151.151 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:07:47,292.292 INFO    ] No existing commands found in stream
[2026-10-20 06:07:52,307.307 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:07:52,310.310 INFO    ] Waiting 2.33 seconds before fallback handling...
[2026-10-20 06:07:55,172.172 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 06:07:55,174.174 INFO    ] Checking for system updates...
[2026-10-20 06:07:55,209.209 INFO    ] 200
[2026-10-20 06:07:55,212.212 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:07:55,287.287 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:07:55,290.290 INFO    ] No update needed
[2026-10-20 06:07:55,292.292 INFO    ] Checking for camera pi updates...
[2026-10-20 06:07:55,330.330 INFO    ] 200
[2026-10-20 06:07:55,333.333 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:07:55,372.372 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:07:55,429.429 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:07:55,431.431 INFO    ] No camera update needed
[2026-10-20 06:07:55,434.434 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:07:55,436.436 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:07:55,441.441 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:07:55,446.446 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:07:57,486.486 INFO    ] ================================================
[2026-10-20 06:07:57,501.501 INFO    ] Launching Daemon at Tue Oct 20 06:07:57 IST 2026
[2026-10-20 06:07:57,512.512 INFO    ] ================================================
[2026-10-20 06:07:58,144.144 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:07:58
[2026-10-20 06:07:58,743.743 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:07:59,018.018 INFO    ] Initializing speech engine...
[2026-10-20 06:07:59,028.028 INFO    ] 2026-10-20 06:07:59
[2026-10-20 06:07:59,279.279 INFO    ] 2026-10-20 06:07:59
[2026-10-20 06:07:59,320.320 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:07:59,572.572 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:07:59,578.578 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:07:59,786.786 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:07:59,835.835 INFO    ] time= 20/10/2026 06:07:59
[2026-10-20 06:07:59,841.841 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:07:59,859.859 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:07:59,993.993 INFO    ] No existing commands found in stream
[2026-10-20 06:08:05,011.011 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:08:05,014.014 INFO    ] Waiting 0.98 seconds before fallback handling...
[2026-10-20 06:08:06,490.490 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:08:06,493.493 INFO    ] Checking for system updates...
[2026-10-20 06:08:06,532.532 INFO    ] 200
[2026-10-20 06:08:06,534.534 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:08:06,587.587 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:08:06,590.590 INFO    ] No update needed
[2026-10-20 06:08:06,592.592 INFO    ] Checking for camera pi updates...
[2026-10-20 06:08:06,633.633 INFO    ] 200
[2026-10-20 06:08:06,635.635 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:08:06,679.679 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:08:06,724.724 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:08:06,727.727 INFO    ] No camera update needed
[2026-10-20 06:08:06,729.729 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:08:06,732.732 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:08:06,737.737 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:08:06,742.742 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:08:08,781.781 INFO    ] ================================================
[2026-10-20 06:08:08,796.796 INFO    ] Launching Daemon at Tue Oct 20 06:08:08 IST 2026
[2026-10-20 06:08:08,806.806 INFO    ] ================================================
[2026-10-20 06:08:09,371.371 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:08:09
[2026-10-20 06:08:09,953.953 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:08:10,219.219 INFO    ] Initializing speech engine...
[2026-10-20 06:08:10,228.228 INFO    ] 2026-10-20 06:08:10
[2026-10-20 06:08:10,490.490 INFO    ] 2026-10-20 06:08:10
[2026-10-20 06:08:10,521.521 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:08:10,765.765 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:08:10,774.774 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:08:10,908.908 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:08:10,968.968 INFO    ] time= 20/10/2026 06:08:10
[2026-10-20 06:08:11,033.033 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:08:11,042.042 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:08:11,189.189 INFO    ] No existing commands found in stream
[2026-10-20 06:08:16,211.211 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:08:16,214.214 INFO    ] Waiting 3.62 seconds before fallback handling...
[2026-10-20 06:08:20,335.335 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 06:08:20,338.338 INFO    ] Checking for system updates...
[2026-10-20 06:08:20,388.388 INFO    ] 200
[2026-10-20 06:08:20,391.391 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:08:20,457.457 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:08:20,460.460 INFO    ] No update needed
[2026-10-20 06:08:20,462.462 INFO    ] Checking for camera pi updates...
[2026-10-20 06:08:20,495.495 INFO    ] 200
[2026-10-20 06:08:20,498.498 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:08:20,542.542 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:08:20,607.607 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:08:20,610.610 INFO    ] No camera update needed
[2026-10-20 06:08:20,612.612 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:08:20,614.614 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:08:20,620.620 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:08:20,624.624 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:08:22,665.665 INFO    ] ================================================
[2026-10-20 06:08:22,680.680 INFO    ] Launching Daemon at Tue Oct 20 06:08:22 IST 2026
[2026-10-20 06:08:22,691.691 INFO    ] ================================================
[2026-10-20 06:08:23,275.275 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:08:23
[2026-10-20 06:08:23,877.877 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:08:24,151.151 INFO    ] Initializing speech engine...
[2026-10-20 06:08:24,161.161 INFO    ] 2026-10-20 06:08:24
[2026-10-20 06:08:24,423.423 INFO    ] 2026-10-20 06:08:24
[2026-10-20 06:08:24,477.477 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:08:24,745.745 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:08:24,768.768 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:08:24,945.945 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:08:24,968.968 INFO    ] time= 20/10/2026 06:08:24
[2026-10-20 06:08:24,986.986 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:08:24,995.995 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:08:25,123.123 INFO    ] No existing commands found in stream
[2026-10-20 06:08:30,138.138 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:08:30,141.141 INFO    ] Waiting 0.33 seconds before fallback handling...
[2026-10-20 06:08:30,937.937 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 06:08:30,940.940 INFO    ] Checking for system updates...
[2026-10-20 06:08:30,975.975 INFO    ] 200
[2026-10-20 06:08:30,978.978 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:08:31,030.030 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:08:31,033.033 INFO    ] No update needed
[2026-10-20 06:08:31,035.035 INFO    ] Checking for camera pi updates...
[2026-10-20 06:08:31,068.068 INFO    ] 200
[2026-10-20 06:08:31,070.070 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:08:31,114.114 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:08:31,166.166 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:08:31,169.169 INFO    ] No camera update needed
[2026-10-20 06:08:31,172.172 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:08:31,175.175 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:08:31,184.184 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:08:31,192.192 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:08:33,235.235 INFO    ] ================================================
[2026-10-20 06:08:33,250.250 INFO    ] Launching Daemon at Tue Oct 20 06:08:33 IST 2026
[2026-10-20 06:08:33,260.260 INFO    ] ================================================
[2026-10-20 06:08:33,847.847 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:08:33
[2026-10-20 06:08:34,452.452 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:08:34,727.727 INFO    ] Initializing speech engine...
[2026-10-20 06:08:34,747.747 INFO    ] 2026-10-20 06:08:34
[2026-10-20 06:08:35,014.014 INFO    ] 2026-10-20 06:08:35
[2026-10-20 06:08:35,052.052 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:08:35,270.270 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:08:35,278.278 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:08:35,423.423 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:08:35,430.430 INFO    ] time= 20/10/2026 06:08:35
[2026-10-20 06:08:35,443.443 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:08:35,501.501 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:08:35,630.630 INFO    ] No existing commands found in stream
[2026-10-20 06:08:40,655.655 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:08:40,658.658 INFO    ] Waiting 0.86 seconds before fallback handling...
[2026-10-20 06:08:41,993.993 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:08:41,996.996 INFO    ] Checking for system updates...
[2026-10-20 06:08:42,034.034 INFO    ] 200
[2026-10-20 06:08:42,038.038 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:08:42,097.097 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:08:42,100.100 INFO    ] No update needed
[2026-10-20 06:08:42,103.103 INFO    ] Checking for camera pi updates...
[2026-10-20 06:08:42,137.137 INFO    ] 200
[2026-10-20 06:08:42,140.140 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:08:42,184.184 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:08:42,237.237 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:08:42,240.240 INFO    ] No camera update needed
[2026-10-20 06:08:42,242.242 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:08:42,245.245 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:08:42,251.251 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:08:42,257.257 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:08:44,296.296 INFO    ] ================================================
[2026-10-20 06:08:44,311.311 INFO    ] Launching Daemon at Tue Oct 20 06:08:44 IST 2026
[2026-10-20 06:08:44,321.321 INFO    ] ================================================
[2026-10-20 06:08:44,908.908 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:08:44
[2026-10-20 06:08:45,510.510 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:08:45,777.777 INFO    ] Initializing speech engine...
[2026-10-20 06:08:45,801.801 INFO    ] 2026-10-20 06:08:45
[2026-10-20 06:08:46,074.074 INFO    ] 2026-10-20 06:08:46
[2026-10-20 06:08:46,112.112 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:08:46,394.394 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:08:46,404.404 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:08:46,551.551 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:08:46,594.594 INFO    ] time= 20/10/2026 06:08:46
[2026-10-20 06:08:46,643.643 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:08:46,692.692 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:08:46,855.855 INFO    ] No existing commands found in stream
[2026-10-20 06:08:51,875.875 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:08:51,878.878 INFO    ] Waiting 1.54 seconds before fallback handling...
[2026-10-20 06:08:53,946.946 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:08:53,949.949 INFO    ] Checking for system updates...
[2026-10-20 06:08:53,987.987 INFO    ] 200
[2026-10-20 06:08:53,990.990 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:08:54,047.047 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:08:54,050.050 INFO    ] No update needed
[2026-10-20 06:08:54,052.052 INFO    ] Checking for camera pi updates...
[2026-10-20 06:08:54,092.092 INFO    ] 200
[2026-10-20 06:08:54,094.094 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:08:54,137.137 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:08:54,182.182 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:08:54,184.184 INFO    ] No camera update needed
[2026-10-20 06:08:54,187.187 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:08:54,189.189 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:08:54,195.195 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:08:54,200.200 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:08:56,243.243 INFO    ] ================================================
[2026-10-20 06:08:56,258.258 INFO    ] Launching Daemon at Tue Oct 20 06:08:56 IST 2026
[2026-10-20 06:08:56,268.268 INFO    ] ================================================
[2026-10-20 06:08:56,842.842 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:08:56
[2026-10-20 06:08:57,424.424 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:08:57,686.686 INFO    ] Initializing speech engine...
[2026-10-20 06:08:57,702.702 INFO    ] 2026-10-20 06:08:57
[2026-10-20 06:08:57,971.971 INFO    ] 2026-10-20 06:08:57
[2026-10-20 06:08:58,017.017 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:08:58,268.268 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:08:58,276.276 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:08:58,429.429 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:08:58,489.489 INFO    ] time= 20/10/2026 06:08:58
[2026-10-20 06:08:58,536.536 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:08:58,543.543 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:08:58,690.690 INFO    ] No existing commands found in stream
[2026-10-20 06:09:03,713.713 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:09:03,716.716 INFO    ] Waiting 0.36 seconds before fallback handling...
[2026-10-20 06:09:04,585.585 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:09:04,588.588 INFO    ] Checking for system updates...
[2026-10-20 06:09:04,627.627 INFO    ] 200
[2026-10-20 06:09:04,630.630 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:09:04,683.683 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:09:04,685.685 INFO    ] No update needed
[2026-10-20 06:09:04,688.688 INFO    ] Checking for camera pi updates...
[2026-10-20 06:09:04,722.722 INFO    ] 200
[2026-10-20 06:09:04,725.725 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:09:04,765.765 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:09:04,824.824 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:09:04,826.826 INFO    ] No camera update needed
[2026-10-20 06:09:04,829.829 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:09:04,833.833 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:09:04,839.839 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:09:04,845.845 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:09:06,885.885 INFO    ] ================================================
[2026-10-20 06:09:06,899.899 INFO    ] Launching Daemon at Tue Oct 20 06:09:06 IST 2026
[2026-10-20 06:09:06,910.910 INFO    ] ================================================
[2026-10-20 06:09:07,479.479 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:09:07
[2026-10-20 06:09:08,077.077 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:09:08,350.350 INFO    ] Initializing speech engine...
[2026-10-20 06:09:08,360.360 INFO    ] 2026-10-20 06:09:08
[2026-10-20 06:09:08,622.622 INFO    ] 2026-10-20 06:09:08
[2026-10-20 06:09:08,674.674 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:09:08,903.903 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:09:08,908.908 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:09:09,117.117 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:09:09,173.173 INFO    ] time= 20/10/2026 06:09:09
[2026-10-20 06:09:09,180.180 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:09:09,200.200 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:09:09,333.333 INFO    ] No existing commands found in stream
[2026-10-20 06:09:14,352.352 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:09:14,355.355 INFO    ] Waiting 0.37 seconds before fallback handling...
[2026-10-20 06:09:15,237.237 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 06:09:15,240.240 INFO    ] Checking for system updates...
[2026-10-20 06:09:15,277.277 INFO    ] 200
[2026-10-20 06:09:15,280.280 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:09:15,333.333 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:09:15,336.336 INFO    ] No update needed
[2026-10-20 06:09:15,338.338 INFO    ] Checking for camera pi updates...
[2026-10-20 06:09:15,375.375 INFO    ] 200
[2026-10-20 06:09:15,377.377 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:09:15,418.418 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:09:15,563.563 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:09:15,565.565 INFO    ] No camera update needed
[2026-10-20 06:09:15,567.567 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:09:15,570.570 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:09:15,576.576 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:09:15,581.581 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:09:17,620.620 INFO    ] ================================================
[2026-10-20 06:09:17,635.635 INFO    ] Launching Daemon at Tue Oct 20 06:09:17 IST 2026
[2026-10-20 06:09:17,645.645 INFO    ] ================================================
[2026-10-20 06:09:18,247.247 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:09:18
[2026-10-20 06:09:18,904.904 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:09:19,205.205 INFO    ] Initializing speech engine...
[2026-10-20 06:09:19,213.213 INFO    ] 2026-10-20 06:09:19
[2026-10-20 06:09:19,490.490 INFO    ] 2026-10-20 06:09:19
[2026-10-20 06:09:19,547.547 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:09:19,796.796 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:09:19,801.801 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:09:20,004.004 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:09:20,065.065 INFO    ] time= 20/10/2026 06:09:20
[2026-10-20 06:09:20,075.075 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:09:20,095.095 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:09:20,239.239 INFO    ] No existing commands found in stream
[2026-10-20 06:09:25,271.271 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:09:25,274.274 INFO    ] Waiting 1.45 seconds before fallback handling...
[2026-10-20 06:09:27,241.241 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:09:27,244.244 INFO    ] Checking for system updates...
[2026-10-20 06:09:27,284.284 INFO    ] 200
[2026-10-20 06:09:27,287.287 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:09:27,343.343 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:09:27,346.346 INFO    ] No update needed
[2026-10-20 06:09:27,348.348 INFO    ] Checking for camera pi updates...
[2026-10-20 06:09:27,383.383 INFO    ] 200
[2026-10-20 06:09:27,385.385 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:09:27,425.425 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:09:27,470.470 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:09:27,472.472 INFO    ] No camera update needed
[2026-10-20 06:09:27,474.474 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:09:27,477.477 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:09:27,482.482 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:09:27,487.487 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:09:29,529.529 INFO    ] ================================================
[2026-10-20 06:09:29,543.543 INFO    ] Launching Daemon at Tue Oct 20 06:09:29 IST 2026
[2026-10-20 06:09:29,554.554 INFO    ] ================================================
[2026-10-20 06:09:30,123.123 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:09:30
[2026-10-20 06:09:30,710.710 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:09:30,986.986 INFO    ] Initializing speech engine...
[2026-10-20 06:09:30,992.992 INFO    ] 2026-10-20 06:09:30
[2026-10-20 06:09:31,263.263 INFO    ] 2026-10-20 06:09:31
[2026-10-20 06:09:31,307.307 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:09:31,560.560 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:09:31,571.571 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:09:31,777.777 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:09:31,837.837 INFO    ] time= 20/10/2026 06:09:31
[2026-10-20 06:09:31,845.845 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:09:31,864.864 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:09:31,993.993 INFO    ] No existing commands found in stream
[2026-10-20 06:09:37,021.021 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:09:37,024.024 INFO    ] Waiting 3.26 seconds before fallback handling...
[2026-10-20 06:09:40,799.799 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:09:40,802.802 INFO    ] Checking for system updates...
[2026-10-20 06:09:40,837.837 INFO    ] 200
[2026-10-20 06:09:40,840.840 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:09:40,891.891 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:09:40,894.894 INFO    ] No update needed
[2026-10-20 06:09:40,896.896 INFO    ] Checking for camera pi updates...
[2026-10-20 06:09:40,930.930 INFO    ] 200
[2026-10-20 06:09:40,932.932 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:09:40,973.973 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:09:41,031.031 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:09:41,033.033 INFO    ] No camera update needed
[2026-10-20 06:09:41,036.036 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:09:41,038.038 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:09:41,044.044 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:09:41,049.049 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:09:43,088.088 INFO    ] ================================================
[2026-10-20 06:09:43,103.103 INFO    ] Launching Daemon at Tue Oct 20 06:09:43 IST 2026
[2026-10-20 06:09:43,113.113 INFO    ] ================================================
[2026-10-20 06:09:43,678.678 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:09:43
[2026-10-20 06:09:44,261.261 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:09:44,506.506 INFO    ] Initializing speech engine...
[2026-10-20 06:09:44,521.521 INFO    ] 2026-10-20 06:09:44
[2026-10-20 06:09:44,787.787 INFO    ] 2026-10-20 06:09:44
[2026-10-20 06:09:44,822.822 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:09:45,023.023 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:09:45,082.082 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:09:45,248.248 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:09:45,264.264 INFO    ] time= 20/10/2026 06:09:45
[2026-10-20 06:09:45,329.329 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:09:45,378.378 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:09:45,536.536 INFO    ] No existing commands found in stream
[2026-10-20 06:09:50,561.561 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:09:50,564.564 INFO    ] Waiting 3.08 seconds before fallback handling...
[2026-10-20 06:09:54,130.130 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:09:54,133.133 INFO    ] Checking for system updates...
[2026-10-20 06:09:54,173.173 INFO    ] 200
[2026-10-20 06:09:54,176.176 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:09:54,227.227 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:09:54,230.230 INFO    ] No update needed
[2026-10-20 06:09:54,232.232 INFO    ] Checking for camera pi updates...
[2026-10-20 06:09:54,269.269 INFO    ] 200
[2026-10-20 06:09:54,272.272 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:09:54,316.316 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:09:54,367.367 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:09:54,369.369 INFO    ] No camera update needed
[2026-10-20 06:09:54,372.372 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:09:54,374.374 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:09:54,379.379 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:09:54,384.384 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:09:56,423.423 INFO    ] ================================================
[2026-10-20 06:09:56,438.438 INFO    ] Launching Daemon at Tue Oct 20 06:09:56 IST 2026
[2026-10-20 06:09:56,449.449 INFO    ] ================================================
[2026-10-20 06:09:57,030.030 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:09:57
[2026-10-20 06:09:57,627.627 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:09:57,905.905 INFO    ] Initializing speech engine...
[2026-10-20 06:09:57,911.911 INFO    ] 2026-10-20 06:09:57
[2026-10-20 06:09:58,162.162 INFO    ] 2026-10-20 06:09:58
[2026-10-20 06:09:58,198.198 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:09:58,442.442 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:09:58,452.452 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:09:58,680.680 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:09:58,708.708 INFO    ] time= 20/10/2026 06:09:58
[2026-10-20 06:09:58,714.714 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:09:58,735.735 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:09:58,863.863 INFO    ] No existing commands found in stream
[2026-10-20 06:10:03,883.883 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:10:03,886.886 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-10-20 06:10:09,018.018 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:10:09,021.021 INFO    ] Checking for system updates...
[2026-10-20 06:10:09,056.056 INFO    ] 200
[2026-10-20 06:10:09,059.059 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:10:09,112.112 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:10:09,114.114 INFO    ] No update needed
[2026-10-20 06:10:09,117.117 INFO    ] Checking for camera pi updates...
[2026-10-20 06:10:09,150.150 INFO    ] 200
[2026-10-20 06:10:09,152.152 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:10:09,192.192 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:10:09,240.240 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:10:09,242.242 INFO    ] No camera update needed
[2026-10-20 06:10:09,245.245 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:10:09,247.247 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:10:09,252.252 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:10:09,257.257 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:10:11,297.297 INFO    ] ================================================
[2026-10-20 06:10:11,312.312 INFO    ] Launching Daemon at Tue Oct 20 06:10:11 IST 2026
[2026-10-20 06:10:11,323.323 INFO    ] ================================================
[2026-10-20 06:10:11,977.977 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:10:11
[2026-10-20 06:10:12,653.653 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:10:12,958.958 INFO    ] Initializing speech engine...
[2026-10-20 06:10:12,968.968 INFO    ] 2026-10-20 06:10:12
[2026-10-20 06:10:13,259.259 INFO    ] 2026-10-20 06:10:13
[2026-10-20 06:10:13,306.306 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:10:13,563.563 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:10:13,583.583 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:10:13,801.801 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:10:13,816.816 INFO    ] time= 20/10/2026 06:10:13
[2026-10-20 06:10:13,834.834 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:10:13,842.842 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:10:13,990.990 INFO    ] No existing commands found in stream
[2026-10-20 06:10:19,021.021 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:10:19,024.024 INFO    ] Waiting 3.15 seconds before fallback handling...
[2026-10-20 06:10:22,706.706 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:10:22,709.709 INFO    ] Checking for system updates...
[2026-10-20 06:10:22,750.750 INFO    ] 200
[2026-10-20 06:10:22,752.752 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:10:22,805.805 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:10:22,807.807 INFO    ] No update needed
[2026-10-20 06:10:22,811.811 INFO    ] Checking for camera pi updates...
[2026-10-20 06:10:22,849.849 INFO    ] 200
[2026-10-20 06:10:22,851.851 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:10:22,892.892 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:10:22,937.937 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:10:22,940.940 INFO    ] No camera update needed
[2026-10-20 06:10:22,942.942 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:10:22,944.944 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:10:22,950.950 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:10:22,955.955 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:10:24,994.994 INFO    ] ================================================
[2026-10-20 06:10:25,009.009 INFO    ] Launching Daemon at Tue Oct 20 06:10:25 IST 2026
[2026-10-20 06:10:25,019.019 INFO    ] ================================================
[2026-10-20 06:10:25,605.605 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:10:25
[2026-10-20 06:10:26,211.211 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:10:26,479.479 INFO    ] Initializing speech engine...
[2026-10-20 06:10:26,499.499 INFO    ] 2026-10-20 06:10:26
[2026-10-20 06:10:26,780.780 INFO    ] 2026-10-20 06:10:26
[2026-10-20 06:10:26,816.816 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:10:27,013.013 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:10:27,029.029 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:10:27,237.237 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:10:27,249.249 INFO    ] time= 20/10/2026 06:10:27
[2026-10-20 06:10:27,298.298 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:10:27,347.347 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:10:27,504.504 INFO    ] No existing commands found in stream
[2026-10-20 06:10:32,528.528 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:10:32,531.531 INFO    ] Waiting 2.61 seconds before fallback handling...
[2026-10-20 06:10:35,640.640 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:10:35,642.642 INFO    ] Checking for system updates...
[2026-10-20 06:10:35,682.682 INFO    ] 200
[2026-10-20 06:10:35,685.685 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:10:35,739.739 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:10:35,742.742 INFO    ] No update needed
[2026-10-20 06:10:35,745.745 INFO    ] Checking for camera pi updates...
[2026-10-20 06:10:35,783.783 INFO    ] 200
[2026-10-20 06:10:35,786.786 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:10:35,831.831 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:10:35,894.894 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:10:35,897.897 INFO    ] No camera update needed
[2026-10-20 06:10:35,900.900 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:10:35,903.903 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:10:35,909.909 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:10:35,915.915 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:10:37,955.955 INFO    ] ================================================
[2026-10-20 06:10:37,970.970 INFO    ] Launching Daemon at Tue Oct 20 06:10:37 IST 2026
[2026-10-20 06:10:37,980.980 INFO    ] ================================================
[2026-10-20 06:10:38,565.565 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:10:38
[2026-10-20 06:10:39,172.172 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:10:39,439.439 INFO    ] Initializing speech engine...
[2026-10-20 06:10:39,465.465 INFO    ] 2026-10-20 06:10:39
[2026-10-20 06:10:39,742.742 INFO    ] 2026-10-20 06:10:39
[2026-10-20 06:10:39,779.779 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:10:39,978.978 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:10:39,992.992 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:10:40,156.156 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:10:40,166.166 INFO    ] time= 20/10/2026 06:10:40
[2026-10-20 06:10:40,173.173 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:10:40,186.186 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:10:40,336.336 INFO    ] No existing commands found in stream
[2026-10-20 06:10:45,361.361 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:10:45,364.364 INFO    ] Waiting 0.59 seconds before fallback handling...
[2026-10-20 06:10:46,486.486 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:10:46,489.489 INFO    ] Checking for system updates...
[2026-10-20 06:10:46,524.524 INFO    ] 200
[2026-10-20 06:10:46,527.527 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:10:46,578.578 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:10:46,581.581 INFO    ] No update needed
[2026-10-20 06:10:46,583.583 INFO    ] Checking for camera pi updates...
[2026-10-20 06:10:46,621.621 INFO    ] 200
[2026-10-20 06:10:46,623.623 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:10:46,663.663 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:10:46,713.713 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:10:46,715.715 INFO    ] No camera update needed
[2026-10-20 06:10:46,718.718 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:10:46,720.720 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:10:46,725.725 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:10:46,730.730 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:10:48,771.771 INFO    ] ================================================
[2026-10-20 06:10:48,787.787 INFO    ] Launching Daemon at Tue Oct 20 06:10:48 IST 2026
[2026-10-20 06:10:48,797.797 INFO    ] ================================================
[2026-10-20 06:10:49,369.369 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:10:49
[2026-10-20 06:10:49,960.960 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:10:50,230.230 INFO    ] Initializing speech engine...
[2026-10-20 06:10:50,238.238 INFO    ] 2026-10-20 06:10:50
[2026-10-20 06:10:50,489.489 INFO    ] 2026-10-20 06:10:50
[2026-10-20 06:10:50,524.524 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:10:50,782.782 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:10:50,792.792 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:10:50,997.997 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:10:51,057.057 INFO    ] time= 20/10/2026 06:10:51
[2026-10-20 06:10:51,063.063 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:10:51,081.081 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:10:51,216.216 INFO    ] No existing commands found in stream
[2026-10-20 06:10:56,228.228 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:10:56,231.231 INFO    ] Waiting 2.07 seconds before fallback handling...
[2026-10-20 06:10:58,802.802 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 06:10:58,804.804 INFO    ] Checking for system updates...
[2026-10-20 06:10:58,839.839 INFO    ] 200
[2026-10-20 06:10:58,842.842 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:10:58,900.900 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:10:58,902.902 INFO    ] No update needed
[2026-10-20 06:10:58,905.905 INFO    ] Checking for camera pi updates...
[2026-10-20 06:10:58,939.939 INFO    ] 200
[2026-10-20 06:10:58,941.941 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:10:58,986.986 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:10:59,040.040 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:10:59,043.043 INFO    ] No camera update needed
[2026-10-20 06:10:59,045.045 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:10:59,047.047 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:10:59,053.053 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:10:59,058.058 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:11:01,099.099 INFO    ] ================================================
[2026-10-20 06:11:01,115.115 INFO    ] Launching Daemon at Tue Oct 20 06:11:01 IST 2026
[2026-10-20 06:11:01,126.126 INFO    ] ================================================
[2026-10-20 06:11:01,860.860 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:11:01
[2026-10-20 06:11:02,525.525 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:11:02,830.830 INFO    ] Initializing speech engine...
[2026-10-20 06:11:02,835.835 INFO    ] 2026-10-20 06:11:02
[2026-10-20 06:11:03,161.161 INFO    ] 2026-10-20 06:11:03
[2026-10-20 06:11:03,197.197 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:11:03,412.412 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:11:03,437.437 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:11:03,583.583 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:11:03,604.604 INFO    ] time= 20/10/2026 06:11:03
[2026-10-20 06:11:03,627.627 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:11:03,635.635 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:11:03,719.719 INFO    ] No existing commands found in stream
[2026-10-20 06:11:08,726.726 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:11:08,729.729 INFO    ] Waiting 3.96 seconds before fallback handling...
[2026-10-20 06:11:13,178.178 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:11:13,181.181 INFO    ] Checking for system updates...
[2026-10-20 06:11:13,217.217 INFO    ] 200
[2026-10-20 06:11:13,220.220 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:11:13,273.273 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:11:13,276.276 INFO    ] No update needed
[2026-10-20 06:11:13,278.278 INFO    ] Checking for camera pi updates...
[2026-10-20 06:11:13,311.311 INFO    ] 200
[2026-10-20 06:11:13,313.313 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:11:13,360.360 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:11:13,415.415 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:11:13,417.417 INFO    ] No camera update needed
[2026-10-20 06:11:13,420.420 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:11:13,422.422 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:11:13,428.428 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:11:13,433.433 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:11:15,473.473 INFO    ] ================================================
[2026-10-20 06:11:15,488.488 INFO    ] Launching Daemon at Tue Oct 20 06:11:15 IST 2026
[2026-10-20 06:11:15,499.499 INFO    ] ================================================
[2026-10-20 06:11:16,088.088 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:11:16
[2026-10-20 06:11:16,724.724 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:11:17,032.032 INFO    ] Initializing speech engine...
[2026-10-20 06:11:17,046.046 INFO    ] 2026-10-20 06:11:17
[2026-10-20 06:11:17,332.332 INFO    ] 2026-10-20 06:11:17
[2026-10-20 06:11:17,370.370 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:11:17,654.654 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:11:17,663.663 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:11:17,857.857 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:11:17,876.876 INFO    ] time= 20/10/2026 06:11:17
[2026-10-20 06:11:17,901.901 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:11:17,916.916 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:11:18,053.053 INFO    ] No existing commands found in stream
[2026-10-20 06:11:23,089.089 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:11:23,092.092 INFO    ] Waiting 2.36 seconds before fallback handling...
[2026-10-20 06:11:25,975.975 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 06:11:25,978.978 INFO    ] Checking for system updates...
[2026-10-20 06:11:26,015.015 INFO    ] 200
[2026-10-20 06:11:26,018.018 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:11:26,079.079 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:11:26,082.082 INFO    ] No update needed
[2026-10-20 06:11:26,085.085 INFO    ] Checking for camera pi updates...
[2026-10-20 06:11:26,120.120 INFO    ] 200
[2026-10-20 06:11:26,123.123 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:11:26,167.167 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:11:26,314.314 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:11:26,317.317 INFO    ] No camera update needed
[2026-10-20 06:11:26,320.320 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:11:26,323.323 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:11:26,329.329 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:11:26,335.335 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:11:28,377.377 INFO    ] ================================================
[2026-10-20 06:11:28,393.393 INFO    ] Launching Daemon at Tue Oct 20 06:11:28 IST 2026
[2026-10-20 06:11:28,404.404 INFO    ] ================================================
[2026-10-20 06:11:29,072.072 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:11:29
[2026-10-20 06:11:29,761.761 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:11:30,068.068 INFO    ] Initializing speech engine...
[2026-10-20 06:11:30,082.082 INFO    ] 2026-10-20 06:11:30
[2026-10-20 06:11:30,394.394 INFO    ] 2026-10-20 06:11:30
[2026-10-20 06:11:30,480.480 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:11:30,701.701 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:11:30,762.762 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:11:30,938.938 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:11:30,947.947 INFO    ] time= 20/10/2026 06:11:30
[2026-10-20 06:11:30,956.956 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:11:30,997.997 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:11:31,155.155 INFO    ] No existing commands found in stream
[2026-10-20 06:11:36,173.173 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:11:36,177.177 INFO    ] Waiting 0.25 seconds before fallback handling...
[2026-10-20 06:11:37,010.010 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:11:37,013.013 INFO    ] Checking for system updates...
[2026-10-20 06:11:37,055.055 INFO    ] 200
[2026-10-20 06:11:37,058.058 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:11:37,113.113 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:11:37,116.116 INFO    ] No update needed
[2026-10-20 06:11:37,118.118 INFO    ] Checking for camera pi updates...
[2026-10-20 06:11:37,157.157 INFO    ] 200
[2026-10-20 06:11:37,160.160 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:11:37,202.202 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:11:37,249.249 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:11:37,252.252 INFO    ] No camera update needed
[2026-10-20 06:11:37,254.254 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:11:37,257.257 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:11:37,263.263 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:11:37,269.269 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:11:39,310.310 INFO    ] ================================================
[2026-10-20 06:11:39,327.327 INFO    ] Launching Daemon at Tue Oct 20 06:11:39 IST 2026
[2026-10-20 06:11:39,338.338 INFO    ] ================================================
[2026-10-20 06:11:39,925.925 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:11:39
[2026-10-20 06:11:40,528.528 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:11:40,802.802 INFO    ] Initializing speech engine...
[2026-10-20 06:11:40,812.812 INFO    ] 2026-10-20 06:11:40
[2026-10-20 06:11:41,074.074 INFO    ] 2026-10-20 06:11:41
[2026-10-20 06:11:41,128.128 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:11:41,375.375 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:11:41,383.383 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:11:41,612.612 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:11:41,619.619 INFO    ] time= 20/10/2026 06:11:41
[2026-10-20 06:11:41,639.639 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:11:41,665.665 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:11:41,776.776 INFO    ] No existing commands found in stream
[2026-10-20 06:11:46,805.805 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:11:46,808.808 INFO    ] Waiting 0.05 seconds before fallback handling...
[2026-10-20 06:11:47,311.311 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:11:47,313.313 INFO    ] Checking for system updates...
[2026-10-20 06:11:47,353.353 INFO    ] 200
[2026-10-20 06:11:47,356.356 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:11:47,409.409 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:11:47,411.411 INFO    ] No update needed
[2026-10-20 06:11:47,414.414 INFO    ] Checking for camera pi updates...
[2026-10-20 06:11:47,448.448 INFO    ] 200
[2026-10-20 06:11:47,450.450 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:11:47,490.490 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:11:47,535.535 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:11:47,537.537 INFO    ] No camera update needed
[2026-10-20 06:11:47,540.540 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:11:47,542.542 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:11:47,548.548 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:11:47,553.553 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:11:49,594.594 INFO    ] ================================================
[2026-10-20 06:11:49,611.611 INFO    ] Launching Daemon at Tue Oct 20 06:11:49 IST 2026
[2026-10-20 06:11:49,622.622 INFO    ] ================================================
[2026-10-20 06:11:50,189.189 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:11:50
[2026-10-20 06:11:50,772.772 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:11:51,053.053 INFO    ] Initializing speech engine...
[2026-10-20 06:11:51,064.064 INFO    ] 2026-10-20 06:11:51
[2026-10-20 06:11:51,313.313 INFO    ] 2026-10-20 06:11:51
[2026-10-20 06:11:51,348.348 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:11:51,605.605 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:11:51,609.609 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:11:51,812.812 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:11:51,867.867 INFO    ] time= 20/10/2026 06:11:51
[2026-10-20 06:11:51,874.874 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:11:51,892.892 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:11:52,042.042 INFO    ] No existing commands found in stream
[2026-10-20 06:11:57,072.072 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:11:57,075.075 INFO    ] Waiting 3.97 seconds before fallback handling...
[2026-10-20 06:12:01,659.659 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 06:12:01,662.662 INFO    ] Checking for system updates...
[2026-10-20 06:12:01,713.713 INFO    ] 200
[2026-10-20 06:12:01,716.716 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:12:01,808.808 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:12:01,812.812 INFO    ] No update needed
[2026-10-20 06:12:01,816.816 INFO    ] Checking for camera pi updates...
[2026-10-20 06:12:01,881.881 INFO    ] 200
[2026-10-20 06:12:01,884.884 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:12:01,933.933 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:12:01,974.974 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:12:01,977.977 INFO    ] No camera update needed
[2026-10-20 06:12:01,980.980 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:12:01,983.983 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:12:01,990.990 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:12:01,996.996 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:12:04,039.039 INFO    ] ================================================
[2026-10-20 06:12:04,055.055 INFO    ] Launching Daemon at Tue Oct 20 06:12:04 IST 2026
[2026-10-20 06:12:04,072.072 INFO    ] ================================================
[2026-10-20 06:12:04,647.647 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:12:04
[2026-10-20 06:12:05,233.233 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:12:05,481.481 INFO    ] Initializing speech engine...
[2026-10-20 06:12:05,489.489 INFO    ] 2026-10-20 06:12:05
[2026-10-20 06:12:05,791.791 INFO    ] 2026-10-20 06:12:05
[2026-10-20 06:12:05,827.827 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:12:06,027.027 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:12:06,041.041 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:12:06,202.202 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:12:06,211.211 INFO    ] time= 20/10/2026 06:12:06
[2026-10-20 06:12:06,218.218 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:12:06,224.224 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:12:06,391.391 INFO    ] No existing commands found in stream
[2026-10-20 06:12:11,416.416 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:12:11,419.419 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-10-20 06:12:14,424.424 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 06:12:14,427.427 INFO    ] Checking for system updates...
[2026-10-20 06:12:14,463.463 INFO    ] 200
[2026-10-20 06:12:14,466.466 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:12:14,523.523 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:12:14,526.526 INFO    ] No update needed
[2026-10-20 06:12:14,528.528 INFO    ] Checking for camera pi updates...
[2026-10-20 06:12:14,562.562 INFO    ] 200
[2026-10-20 06:12:14,565.565 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:12:14,610.610 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:12:14,661.661 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:12:14,663.663 INFO    ] No camera update needed
[2026-10-20 06:12:14,666.666 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:12:14,668.668 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:12:14,674.674 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:12:14,679.679 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:12:16,721.721 INFO    ] ================================================
[2026-10-20 06:12:16,736.736 INFO    ] Launching Daemon at Tue Oct 20 06:12:16 IST 2026
[2026-10-20 06:12:16,747.747 INFO    ] ================================================
[2026-10-20 06:12:17,331.331 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:12:17
[2026-10-20 06:12:17,929.929 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:12:18,183.183 INFO    ] Initializing speech engine...
[2026-10-20 06:12:18,205.205 INFO    ] 2026-10-20 06:12:18
[2026-10-20 06:12:18,459.459 INFO    ] 2026-10-20 06:12:18
[2026-10-20 06:12:18,495.495 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:12:18,752.752 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:12:18,759.759 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:12:18,998.998 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:12:19,023.023 INFO    ] time= 20/10/2026 06:12:19
[2026-10-20 06:12:19,039.039 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:12:19,046.046 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:12:19,178.178 INFO    ] No existing commands found in stream
[2026-10-20 06:12:24,201.201 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:12:24,204.204 INFO    ] Waiting 0.34 seconds before fallback handling...
[2026-10-20 06:12:25,040.040 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 06:12:25,043.043 INFO    ] Checking for system updates...
[2026-10-20 06:12:25,078.078 INFO    ] 200
[2026-10-20 06:12:25,081.081 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:12:25,132.132 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:12:25,135.135 INFO    ] No update needed
[2026-10-20 06:12:25,137.137 INFO    ] Checking for camera pi updates...
[2026-10-20 06:12:25,171.171 INFO    ] 200
[2026-10-20 06:12:25,173.173 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:12:25,219.219 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:12:25,280.280 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:12:25,283.283 INFO    ] No camera update needed
[2026-10-20 06:12:25,285.285 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:12:25,287.287 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:12:25,293.293 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:12:25,298.298 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:12:27,340.340 INFO    ] ================================================
[2026-10-20 06:12:27,355.355 INFO    ] Launching Daemon at Tue Oct 20 06:12:27 IST 2026
[2026-10-20 06:12:27,366.366 INFO    ] ================================================
[2026-10-20 06:12:27,952.952 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:12:27
[2026-10-20 06:12:28,556.556 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:12:28,834.834 INFO    ] Initializing speech engine...
[2026-10-20 06:12:28,843.843 INFO    ] 2026-10-20 06:12:28
[2026-10-20 06:12:29,103.103 INFO    ] 2026-10-20 06:12:29
[2026-10-20 06:12:29,157.157 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:12:29,385.385 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:12:29,390.390 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:12:29,609.609 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:12:29,647.647 INFO    ] time= 20/10/2026 06:12:29
[2026-10-20 06:12:29,653.653 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:12:29,672.672 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:12:29,802.802 INFO    ] No existing commands found in stream
[2026-10-20 06:12:34,814.814 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:12:34,817.817 INFO    ] Waiting 3.75 seconds before fallback handling...
[2026-10-20 06:12:39,099.099 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:12:39,102.102 INFO    ] Checking for system updates...
[2026-10-20 06:12:39,137.137 INFO    ] 200
[2026-10-20 06:12:39,140.140 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:12:39,191.191 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:12:39,194.194 INFO    ] No update needed
[2026-10-20 06:12:39,196.196 INFO    ] Checking for camera pi updates...
[2026-10-20 06:12:39,229.229 INFO    ] 200
[2026-10-20 06:12:39,231.231 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:12:39,271.271 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:12:39,325.325 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:12:39,327.327 INFO    ] No camera update needed
[2026-10-20 06:12:39,329.329 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:12:39,332.332 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:12:39,337.337 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:12:39,348.348 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:12:41,389.389 INFO    ] ================================================
[2026-10-20 06:12:41,405.405 INFO    ] Launching Daemon at Tue Oct 20 06:12:41 IST 2026
[2026-10-20 06:12:41,416.416 INFO    ] ================================================
[2026-10-20 06:12:41,984.984 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:12:41
[2026-10-20 06:12:42,566.566 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:12:42,836.836 INFO    ] Initializing speech engine...
[2026-10-20 06:12:42,845.845 INFO    ] 2026-10-20 06:12:42
[2026-10-20 06:12:43,098.098 INFO    ] 2026-10-20 06:12:43
[2026-10-20 06:12:43,139.139 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:12:43,391.391 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:12:43,401.401 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:12:43,535.535 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:12:43,573.573 INFO    ] time= 20/10/2026 06:12:43
[2026-10-20 06:12:43,627.627 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:12:43,671.671 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:12:43,805.805 INFO    ] No existing commands found in stream
[2026-10-20 06:12:48,833.833 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:12:48,836.836 INFO    ] Waiting 0.44 seconds before fallback handling...
[2026-10-20 06:12:49,750.750 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:12:49,752.752 INFO    ] Checking for system updates...
[2026-10-20 06:12:49,793.793 INFO    ] 200
[2026-10-20 06:12:49,795.795 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:12:49,847.847 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:12:49,849.849 INFO    ] No update needed
[2026-10-20 06:12:49,852.852 INFO    ] Checking for camera pi updates...
[2026-10-20 06:12:49,889.889 INFO    ] 200
[2026-10-20 06:12:49,891.891 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:12:49,936.936 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:12:49,983.983 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:12:49,985.985 INFO    ] No camera update needed
[2026-10-20 06:12:49,988.988 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:12:49,990.990 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:12:49,995.995 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:12:50,000.000 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:12:52,043.043 INFO    ] ================================================
[2026-10-20 06:12:52,059.059 INFO    ] Launching Daemon at Tue Oct 20 06:12:52 IST 2026
[2026-10-20 06:12:52,069.069 INFO    ] ================================================
[2026-10-20 06:12:52,653.653 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:12:52
[2026-10-20 06:12:53,250.250 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:12:53,523.523 INFO    ] Initializing speech engine...
[2026-10-20 06:12:53,534.534 INFO    ] 2026-10-20 06:12:53
[2026-10-20 06:12:53,793.793 INFO    ] 2026-10-20 06:12:53
[2026-10-20 06:12:53,823.823 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:12:54,067.067 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:12:54,077.077 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:12:54,287.287 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:12:54,334.334 INFO    ] time= 20/10/2026 06:12:54
[2026-10-20 06:12:54,340.340 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:12:54,360.360 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:12:54,488.488 INFO    ] No existing commands found in stream
[2026-10-20 06:12:59,502.502 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:12:59,504.504 INFO    ] Waiting 2.77 seconds before fallback handling...
[2026-10-20 06:13:02,788.788 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 06:13:02,792.792 INFO    ] Checking for system updates...
[2026-10-20 06:13:02,842.842 INFO    ] 200
[2026-10-20 06:13:02,845.845 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:13:02,909.909 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:13:02,912.912 INFO    ] No update needed
[2026-10-20 06:13:02,914.914 INFO    ] Checking for camera pi updates...
[2026-10-20 06:13:02,963.963 INFO    ] 200
[2026-10-20 06:13:02,966.966 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:13:03,011.011 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:13:03,062.062 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:13:03,065.065 INFO    ] No camera update needed
[2026-10-20 06:13:03,067.067 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:13:03,069.069 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:13:03,075.075 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:13:03,080.080 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:13:05,120.120 INFO    ] ================================================
[2026-10-20 06:13:05,136.136 INFO    ] Launching Daemon at Tue Oct 20 06:13:05 IST 2026
[2026-10-20 06:13:05,146.146 INFO    ] ================================================
[2026-10-20 06:13:05,727.727 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:13:05
[2026-10-20 06:13:06,327.327 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:13:06,606.606 INFO    ] Initializing speech engine...
[2026-10-20 06:13:06,609.609 INFO    ] 2026-10-20 06:13:06
[2026-10-20 06:13:06,859.859 INFO    ] 2026-10-20 06:13:06
[2026-10-20 06:13:06,895.895 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:13:07,156.156 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:13:07,165.165 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:13:07,378.378 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:13:07,424.424 INFO    ] time= 20/10/2026 06:13:07
[2026-10-20 06:13:07,430.430 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:13:07,448.448 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:13:07,579.579 INFO    ] No existing commands found in stream
[2026-10-20 06:13:12,598.598 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:13:12,601.601 INFO    ] Waiting 2.92 seconds before fallback handling...
[2026-10-20 06:13:16,019.019 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:13:16,022.022 INFO    ] Checking for system updates...
[2026-10-20 06:13:16,058.058 INFO    ] 200
[2026-10-20 06:13:16,061.061 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:13:16,112.112 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:13:16,114.114 INFO    ] No update needed
[2026-10-20 06:13:16,117.117 INFO    ] Checking for camera pi updates...
[2026-10-20 06:13:16,153.153 INFO    ] 200
[2026-10-20 06:13:16,156.156 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:13:16,196.196 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:13:16,245.245 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:13:16,247.247 INFO    ] No camera update needed
[2026-10-20 06:13:16,250.250 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:13:16,252.252 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:13:16,257.257 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:13:16,262.262 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:13:18,303.303 INFO    ] ================================================
[2026-10-20 06:13:18,319.319 INFO    ] Launching Daemon at Tue Oct 20 06:13:18 IST 2026
[2026-10-20 06:13:18,330.330 INFO    ] ================================================
[2026-10-20 06:13:18,900.900 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:13:18
[2026-10-20 06:13:19,486.486 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:13:19,754.754 INFO    ] Initializing speech engine...
[2026-10-20 06:13:19,763.763 INFO    ] 2026-10-20 06:13:19
[2026-10-20 06:13:20,009.009 INFO    ] 2026-10-20 06:13:20
[2026-10-20 06:13:20,044.044 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:13:20,300.300 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:13:20,309.309 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:13:20,526.526 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:13:20,567.567 INFO    ] time= 20/10/2026 06:13:20
[2026-10-20 06:13:20,573.573 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:13:20,591.591 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:13:20,716.716 INFO    ] No existing commands found in stream
[2026-10-20 06:13:25,733.733 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:13:25,735.735 INFO    ] Waiting 3.81 seconds before fallback handling...
[2026-10-20 06:13:30,061.061 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:13:30,064.064 INFO    ] Checking for system updates...
[2026-10-20 06:13:30,101.101 INFO    ] 200
[2026-10-20 06:13:30,104.104 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:13:30,162.162 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:13:30,165.165 INFO    ] No update needed
[2026-10-20 06:13:30,168.168 INFO    ] Checking for camera pi updates...
[2026-10-20 06:13:30,206.206 INFO    ] 200
[2026-10-20 06:13:30,209.209 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:13:30,254.254 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:13:30,397.397 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:13:30,400.400 INFO    ] No camera update needed
[2026-10-20 06:13:30,403.403 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:13:30,405.405 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:13:30,412.412 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:13:30,417.417 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:13:32,462.462 INFO    ] ================================================
[2026-10-20 06:13:32,479.479 INFO    ] Launching Daemon at Tue Oct 20 06:13:32 IST 2026
[2026-10-20 06:13:32,491.491 INFO    ] ================================================
[2026-10-20 06:13:33,103.103 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:13:33
[2026-10-20 06:13:33,704.704 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:13:33,966.966 INFO    ] Initializing speech engine...
[2026-10-20 06:13:33,972.972 INFO    ] 2026-10-20 06:13:33
[2026-10-20 06:13:34,265.265 INFO    ] 2026-10-20 06:13:34
[2026-10-20 06:13:34,305.305 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:13:34,502.502 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:13:34,517.517 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:13:34,678.678 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:13:34,686.686 INFO    ] time= 20/10/2026 06:13:34
[2026-10-20 06:13:34,691.691 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:13:34,697.697 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:13:34,785.785 INFO    ] No existing commands found in stream
[2026-10-20 06:13:39,820.820 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:13:39,823.823 INFO    ] Waiting 3.85 seconds before fallback handling...
[2026-10-20 06:13:44,163.163 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:13:44,166.166 INFO    ] Checking for system updates...
[2026-10-20 06:13:44,201.201 INFO    ] 200
[2026-10-20 06:13:44,203.203 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:13:44,255.255 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:13:44,257.257 INFO    ] No update needed
[2026-10-20 06:13:44,260.260 INFO    ] Checking for camera pi updates...
[2026-10-20 06:13:44,294.294 INFO    ] 200
[2026-10-20 06:13:44,297.297 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:13:44,345.345 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:13:44,391.391 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:13:44,393.393 INFO    ] No camera update needed
[2026-10-20 06:13:44,396.396 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:13:44,398.398 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:13:44,404.404 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:13:44,409.409 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:13:46,449.449 INFO    ] ================================================
[2026-10-20 06:13:46,464.464 INFO    ] Launching Daemon at Tue Oct 20 06:13:46 IST 2026
[2026-10-20 06:13:46,475.475 INFO    ] ================================================
[2026-10-20 06:13:47,041.041 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:13:47
[2026-10-20 06:13:47,643.643 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:13:47,920.920 INFO    ] Initializing speech engine...
[2026-10-20 06:13:47,927.927 INFO    ] 2026-10-20 06:13:47
[2026-10-20 06:13:48,187.187 INFO    ] 2026-10-20 06:13:48
[2026-10-20 06:13:48,217.217 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:13:48,462.462 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:13:48,472.472 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:13:48,669.669 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:13:48,731.731 INFO    ] time= 20/10/2026 06:13:48
[2026-10-20 06:13:48,737.737 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:13:48,758.758 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:13:48,882.882 INFO    ] No existing commands found in stream
[2026-10-20 06:13:53,897.897 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:13:53,900.900 INFO    ] Waiting 1.77 seconds before fallback handling...
[2026-10-20 06:13:56,218.218 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 06:13:56,221.221 INFO    ] Checking for system updates...
[2026-10-20 06:13:56,264.264 INFO    ] 200
[2026-10-20 06:13:56,267.267 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:13:56,345.345 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:13:56,349.349 INFO    ] No update needed
[2026-10-20 06:13:56,352.352 INFO    ] Checking for camera pi updates...
[2026-10-20 06:13:56,401.401 INFO    ] 200
[2026-10-20 06:13:56,404.404 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:13:56,457.457 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:13:56,513.513 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:13:56,516.516 INFO    ] No camera update needed
[2026-10-20 06:13:56,518.518 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:13:56,521.521 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:13:56,528.528 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:13:56,534.534 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:13:58,574.574 INFO    ] ================================================
[2026-10-20 06:13:58,589.589 INFO    ] Launching Daemon at Tue Oct 20 06:13:58 IST 2026
[2026-10-20 06:13:58,600.600 INFO    ] ================================================
[2026-10-20 06:13:59,165.165 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:13:59
[2026-10-20 06:13:59,749.749 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:14:00,021.021 INFO    ] Initializing speech engine...
[2026-10-20 06:14:00,030.030 INFO    ] 2026-10-20 06:14:00
[2026-10-20 06:14:00,278.278 INFO    ] 2026-10-20 06:14:00
[2026-10-20 06:14:00,311.311 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:14:00,515.515 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:14:00,571.571 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:14:00,717.717 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:14:00,787.787 INFO    ] time= 20/10/2026 06:14:00
[2026-10-20 06:14:00,842.842 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:14:00,854.854 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:14:01,004.004 INFO    ] No existing commands found in stream
[2026-10-20 06:14:06,023.023 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:14:06,025.025 INFO    ] Waiting 1.03 seconds before fallback handling...
[2026-10-20 06:14:07,569.569 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:14:07,571.571 INFO    ] Checking for system updates...
[2026-10-20 06:14:07,607.607 INFO    ] 200
[2026-10-20 06:14:07,609.609 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:14:07,661.661 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:14:07,664.664 INFO    ] No update needed
[2026-10-20 06:14:07,666.666 INFO    ] Checking for camera pi updates...
[2026-10-20 06:14:07,705.705 INFO    ] 200
[2026-10-20 06:14:07,707.707 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:14:07,747.747 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:14:07,800.800 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:14:07,802.802 INFO    ] No camera update needed
[2026-10-20 06:14:07,805.805 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:14:07,807.807 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:14:07,812.812 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:14:07,817.817 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:14:09,859.859 INFO    ] ================================================
[2026-10-20 06:14:09,874.874 INFO    ] Launching Daemon at Tue Oct 20 06:14:09 IST 2026
[2026-10-20 06:14:09,885.885 INFO    ] ================================================
[2026-10-20 06:14:10,466.466 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:14:10
[2026-10-20 06:14:11,065.065 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:14:11,340.340 INFO    ] Initializing speech engine...
[2026-10-20 06:14:11,348.348 INFO    ] 2026-10-20 06:14:11
[2026-10-20 06:14:11,609.609 INFO    ] 2026-10-20 06:14:11
[2026-10-20 06:14:11,662.662 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:14:11,888.888 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:14:11,892.892 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:14:12,091.091 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:14:12,145.145 INFO    ] time= 20/10/2026 06:14:12
[2026-10-20 06:14:12,156.156 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:14:12,178.178 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:14:12,320.320 INFO    ] No existing commands found in stream
[2026-10-20 06:14:17,341.341 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:14:17,344.344 INFO    ] Waiting 1.70 seconds before fallback handling...
[2026-10-20 06:14:19,522.522 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:14:19,524.524 INFO    ] Checking for system updates...
[2026-10-20 06:14:19,564.564 INFO    ] 200
[2026-10-20 06:14:19,566.566 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:14:19,626.626 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:14:19,628.628 INFO    ] No update needed
[2026-10-20 06:14:19,631.631 INFO    ] Checking for camera pi updates...
[2026-10-20 06:14:19,664.664 INFO    ] 200
[2026-10-20 06:14:19,666.666 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:14:19,707.707 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:14:19,756.756 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:14:19,759.759 INFO    ] No camera update needed
[2026-10-20 06:14:19,761.761 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:14:19,764.764 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:14:19,769.769 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:14:19,774.774 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:14:21,815.815 INFO    ] ================================================
[2026-10-20 06:14:21,830.830 INFO    ] Launching Daemon at Tue Oct 20 06:14:21 IST 2026
[2026-10-20 06:14:21,841.841 INFO    ] ================================================
[2026-10-20 06:14:22,488.488 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:14:22
[2026-10-20 06:14:23,098.098 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:14:23,404.404 INFO    ] Initializing speech engine...
[2026-10-20 06:14:23,412.412 INFO    ] 2026-10-20 06:14:23
[2026-10-20 06:14:23,731.731 INFO    ] 2026-10-20 06:14:23
[2026-10-20 06:14:23,817.817 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:14:24,033.033 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:14:24,042.042 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:14:24,232.232 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:14:24,250.250 INFO    ] time= 20/10/2026 06:14:24
[2026-10-20 06:14:24,261.261 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:14:24,290.290 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:14:24,419.419 INFO    ] No existing commands found in stream
[2026-10-20 06:14:29,455.455 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:14:29,458.458 INFO    ] Waiting 2.76 seconds before fallback handling...
[2026-10-20 06:14:35,354.354 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 06:14:35,358.358 INFO    ] Checking for system updates...
[2026-10-20 06:14:35,395.395 INFO    ] 200
[2026-10-20 06:14:35,398.398 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:14:35,451.451 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:14:35,454.454 INFO    ] No update needed
[2026-10-20 06:14:35,457.457 INFO    ] Checking for camera pi updates...
[2026-10-20 06:14:35,495.495 INFO    ] 200
[2026-10-20 06:14:35,498.498 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:14:35,540.540 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:14:35,586.586 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:14:35,589.589 INFO    ] No camera update needed
[2026-10-20 06:14:35,592.592 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:14:35,595.595 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:14:35,601.601 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:14:35,607.607 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:14:37,647.647 INFO    ] ================================================
[2026-10-20 06:14:37,662.662 INFO    ] Launching Daemon at Tue Oct 20 06:14:37 IST 2026
[2026-10-20 06:14:37,673.673 INFO    ] ================================================
[2026-10-20 06:14:38,293.293 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:14:38
[2026-10-20 06:14:38,882.882 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:14:39,153.153 INFO    ] Initializing speech engine...
[2026-10-20 06:14:39,159.159 INFO    ] 2026-10-20 06:14:39
[2026-10-20 06:14:39,405.405 INFO    ] 2026-10-20 06:14:39
[2026-10-20 06:14:39,440.440 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:14:39,675.675 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:14:39,678.678 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:14:39,905.905 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:14:39,955.955 INFO    ] time= 20/10/2026 06:14:39
[2026-10-20 06:14:39,967.967 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:14:39,985.985 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:14:40,117.117 INFO    ] No existing commands found in stream
[2026-10-20 06:14:45,140.140 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:14:45,142.142 INFO    ] Waiting 2.86 seconds before fallback handling...
[2026-10-20 06:14:48,521.521 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 06:14:48,524.524 INFO    ] Checking for system updates...
[2026-10-20 06:14:48,561.561 INFO    ] 200
[2026-10-20 06:14:48,564.564 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:14:48,618.618 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:14:48,621.621 INFO    ] No update needed
[2026-10-20 06:14:48,623.623 INFO    ] Checking for camera pi updates...
[2026-10-20 06:14:48,658.658 INFO    ] 200
[2026-10-20 06:14:48,661.661 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:14:48,701.701 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:14:48,748.748 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:14:48,750.750 INFO    ] No camera update needed
[2026-10-20 06:14:48,753.753 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:14:48,755.755 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:14:48,760.760 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:14:48,765.765 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:14:50,805.805 INFO    ] ================================================
[2026-10-20 06:14:50,820.820 INFO    ] Launching Daemon at Tue Oct 20 06:14:50 IST 2026
[2026-10-20 06:14:50,830.830 INFO    ] ================================================
[2026-10-20 06:14:51,398.398 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:14:51
[2026-10-20 06:14:51,980.980 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:14:52,247.247 INFO    ] Initializing speech engine...
[2026-10-20 06:14:52,257.257 INFO    ] 2026-10-20 06:14:52
[2026-10-20 06:14:52,534.534 INFO    ] 2026-10-20 06:14:52
[2026-10-20 06:14:52,607.607 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:14:52,836.836 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:14:52,845.845 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:14:53,075.075 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:14:53,084.084 INFO    ] time= 20/10/2026 06:14:53
[2026-10-20 06:14:53,105.105 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:14:53,131.131 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:14:53,257.257 INFO    ] No existing commands found in stream
[2026-10-20 06:14:58,293.293 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:14:58,296.296 INFO    ] Waiting 2.68 seconds before fallback handling...
[2026-10-20 06:15:01,488.488 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 06:15:01,493.493 INFO    ] Checking for system updates...
[2026-10-20 06:15:01,634.634 INFO    ] 200
[2026-10-20 06:15:01,640.640 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:15:01,927.927 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:15:01,933.933 INFO    ] No update needed
[2026-10-20 06:15:01,955.955 INFO    ] Checking for camera pi updates...
[2026-10-20 06:15:02,208.208 INFO    ] 200
[2026-10-20 06:15:02,213.213 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:15:02,312.312 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:15:02,371.371 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:15:02,381.381 INFO    ] No camera update needed
[2026-10-20 06:15:02,386.386 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:15:02,389.389 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:15:02,397.397 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:15:02,406.406 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:15:04,450.450 INFO    ] ================================================
[2026-10-20 06:15:04,466.466 INFO    ] Launching Daemon at Tue Oct 20 06:15:04 IST 2026
[2026-10-20 06:15:04,477.477 INFO    ] ================================================
[2026-10-20 06:15:05,058.058 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:15:05
[2026-10-20 06:15:05,660.660 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:15:05,937.937 INFO    ] Initializing speech engine...
[2026-10-20 06:15:05,943.943 INFO    ] 2026-10-20 06:15:05
[2026-10-20 06:15:06,205.205 INFO    ] 2026-10-20 06:15:06
[2026-10-20 06:15:06,236.236 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:15:06,481.481 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:15:06,491.491 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:15:06,697.697 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:15:06,750.750 INFO    ] time= 20/10/2026 06:15:06
[2026-10-20 06:15:06,757.757 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:15:06,775.775 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:15:06,920.920 INFO    ] No existing commands found in stream
[2026-10-20 06:15:11,951.951 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:15:11,954.954 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-10-20 06:15:13,058.058 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 06:15:13,061.061 INFO    ] Checking for system updates...
[2026-10-20 06:15:13,096.096 INFO    ] 200
[2026-10-20 06:15:13,098.098 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:15:13,151.151 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:15:13,153.153 INFO    ] No update needed
[2026-10-20 06:15:13,156.156 INFO    ] Checking for camera pi updates...
[2026-10-20 06:15:13,193.193 INFO    ] 200
[2026-10-20 06:15:13,196.196 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:15:13,239.239 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:15:13,293.293 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:15:13,296.296 INFO    ] No camera update needed
[2026-10-20 06:15:13,298.298 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:15:13,301.301 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:15:13,306.306 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:15:13,311.311 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:15:15,351.351 INFO    ] ================================================
[2026-10-20 06:15:15,367.367 INFO    ] Launching Daemon at Tue Oct 20 06:15:15 IST 2026
[2026-10-20 06:15:15,377.377 INFO    ] ================================================
[2026-10-20 06:15:15,952.952 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:15:15
[2026-10-20 06:15:16,554.554 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:15:16,816.816 INFO    ] Initializing speech engine...
[2026-10-20 06:15:16,825.825 INFO    ] 2026-10-20 06:15:16
[2026-10-20 06:15:17,125.125 INFO    ] 2026-10-20 06:15:17
[2026-10-20 06:15:17,161.161 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:15:17,365.365 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:15:17,379.379 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:15:17,550.550 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:15:17,558.558 INFO    ] time= 20/10/2026 06:15:17
[2026-10-20 06:15:17,610.610 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:15:17,634.634 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:15:17,756.756 INFO    ] No existing commands found in stream
[2026-10-20 06:15:22,781.781 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:15:22,784.784 INFO    ] Waiting 1.27 seconds before fallback handling...
[2026-10-20 06:15:24,541.541 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 06:15:24,544.544 INFO    ] Checking for system updates...
[2026-10-20 06:15:24,580.580 INFO    ] 200
[2026-10-20 06:15:24,582.582 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:15:24,645.645 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:15:24,648.648 INFO    ] No update needed
[2026-10-20 06:15:24,650.650 INFO    ] Checking for camera pi updates...
[2026-10-20 06:15:24,684.684 INFO    ] 200
[2026-10-20 06:15:24,686.686 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:15:24,731.731 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:15:24,778.778 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:15:24,781.781 INFO    ] No camera update needed
[2026-10-20 06:15:24,783.783 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:15:24,785.785 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:15:24,791.791 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:15:24,796.796 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:15:26,835.835 INFO    ] ================================================
[2026-10-20 06:15:26,850.850 INFO    ] Launching Daemon at Tue Oct 20 06:15:26 IST 2026
[2026-10-20 06:15:26,861.861 INFO    ] ================================================
[2026-10-20 06:15:27,441.441 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:15:27
[2026-10-20 06:15:28,040.040 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:15:28,318.318 INFO    ] Initializing speech engine...
[2026-10-20 06:15:28,338.338 INFO    ] 2026-10-20 06:15:28
[2026-10-20 06:15:28,610.610 INFO    ] 2026-10-20 06:15:28
[2026-10-20 06:15:28,648.648 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:15:28,882.882 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:15:28,943.943 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:15:29,103.103 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:15:29,131.131 INFO    ] time= 20/10/2026 06:15:29
[2026-10-20 06:15:29,180.180 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:15:29,234.234 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:15:29,329.329 INFO    ] No existing commands found in stream
[2026-10-20 06:15:34,356.356 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:15:34,359.359 INFO    ] Waiting 1.63 seconds before fallback handling...
[2026-10-20 06:15:36,502.502 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:15:36,505.505 INFO    ] Checking for system updates...
[2026-10-20 06:15:36,544.544 INFO    ] 200
[2026-10-20 06:15:36,547.547 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:15:36,600.600 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:15:36,602.602 INFO    ] No update needed
[2026-10-20 06:15:36,605.605 INFO    ] Checking for camera pi updates...
[2026-10-20 06:15:36,638.638 INFO    ] 200
[2026-10-20 06:15:36,641.641 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:15:36,682.682 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:15:36,724.724 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:15:36,726.726 INFO    ] No camera update needed
[2026-10-20 06:15:36,728.728 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:15:36,731.731 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:15:36,736.736 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:15:36,741.741 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:15:38,781.781 INFO    ] ================================================
[2026-10-20 06:15:38,797.797 INFO    ] Launching Daemon at Tue Oct 20 06:15:38 IST 2026
[2026-10-20 06:15:38,808.808 INFO    ] ================================================
[2026-10-20 06:15:39,381.381 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:15:39
[2026-10-20 06:15:39,973.973 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:15:40,227.227 INFO    ] Initializing speech engine...
[2026-10-20 06:15:40,239.239 INFO    ] 2026-10-20 06:15:40
[2026-10-20 06:15:40,509.509 INFO    ] 2026-10-20 06:15:40
[2026-10-20 06:15:40,545.545 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:15:40,748.748 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:15:40,807.807 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:15:40,988.988 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:15:41,049.049 INFO    ] time= 20/10/2026 06:15:41
[2026-10-20 06:15:41,085.085 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:15:41,091.091 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:15:41,243.243 INFO    ] No existing commands found in stream
[2026-10-20 06:15:46,265.265 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:15:46,268.268 INFO    ] Waiting 0.22 seconds before fallback handling...
[2026-10-20 06:15:47,067.067 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:15:47,070.070 INFO    ] Checking for system updates...
[2026-10-20 06:15:47,107.107 INFO    ] 200
[2026-10-20 06:15:47,109.109 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:15:47,163.163 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:15:47,165.165 INFO    ] No update needed
[2026-10-20 06:15:47,167.167 INFO    ] Checking for camera pi updates...
[2026-10-20 06:15:47,200.200 INFO    ] 200
[2026-10-20 06:15:47,203.203 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:15:47,244.244 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:15:47,291.291 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:15:47,293.293 INFO    ] No camera update needed
[2026-10-20 06:15:47,296.296 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:15:47,298.298 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:15:47,304.304 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:15:47,308.308 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:15:49,351.351 INFO    ] ================================================
[2026-10-20 06:15:49,368.368 INFO    ] Launching Daemon at Tue Oct 20 06:15:49 IST 2026
[2026-10-20 06:15:49,378.378 INFO    ] ================================================
[2026-10-20 06:15:49,948.948 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:15:49
[2026-10-20 06:15:50,534.534 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:15:50,796.796 INFO    ] Initializing speech engine...
[2026-10-20 06:15:50,814.814 INFO    ] 2026-10-20 06:15:50
[2026-10-20 06:15:51,064.064 INFO    ] 2026-10-20 06:15:51
[2026-10-20 06:15:51,100.100 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:15:51,352.352 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:15:51,362.362 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:15:51,497.497 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:15:51,557.557 INFO    ] time= 20/10/2026 06:15:51
[2026-10-20 06:15:51,612.612 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:15:51,628.628 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:15:51,775.775 INFO    ] No existing commands found in stream
[2026-10-20 06:15:56,789.789 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:15:56,791.791 INFO    ] Waiting 1.31 seconds before fallback handling...
[2026-10-20 06:15:58,599.599 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:15:58,601.601 INFO    ] Checking for system updates...
[2026-10-20 06:15:58,638.638 INFO    ] 200
[2026-10-20 06:15:58,640.640 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:15:58,693.693 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:15:58,695.695 INFO    ] No update needed
[2026-10-20 06:15:58,697.697 INFO    ] Checking for camera pi updates...
[2026-10-20 06:15:58,735.735 INFO    ] 200
[2026-10-20 06:15:58,737.737 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:15:58,777.777 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:15:58,824.824 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:15:58,827.827 INFO    ] No camera update needed
[2026-10-20 06:15:58,829.829 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:15:58,832.832 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:15:58,837.837 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:15:58,843.843 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:16:00,883.883 INFO    ] ================================================
[2026-10-20 06:16:00,899.899 INFO    ] Launching Daemon at Tue Oct 20 06:16:00 IST 2026
[2026-10-20 06:16:00,910.910 INFO    ] ================================================
[2026-10-20 06:16:01,645.645 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:16:01
[2026-10-20 06:16:02,305.305 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:16:02,652.652 INFO    ] Initializing speech engine...
[2026-10-20 06:16:02,671.671 INFO    ] 2026-10-20 06:16:02
[2026-10-20 06:16:02,945.945 INFO    ] 2026-10-20 06:16:02
[2026-10-20 06:16:02,981.981 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:16:03,194.194 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:16:03,252.252 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:16:03,394.394 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:16:03,438.438 INFO    ] time= 20/10/2026 06:16:03
[2026-10-20 06:16:03,502.502 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:16:03,532.532 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:16:03,667.667 INFO    ] No existing commands found in stream
[2026-10-20 06:16:08,692.692 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:16:08,695.695 INFO    ] Waiting 3.77 seconds before fallback handling...
[2026-10-20 06:16:12,984.984 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:16:12,987.987 INFO    ] Checking for system updates...
[2026-10-20 06:16:13,050.050 INFO    ] 200
[2026-10-20 06:16:13,053.053 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:16:13,107.107 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:16:13,109.109 INFO    ] No update needed
[2026-10-20 06:16:13,112.112 INFO    ] Checking for camera pi updates...
[2026-10-20 06:16:13,145.145 INFO    ] 200
[2026-10-20 06:16:13,147.147 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:16:13,199.199 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:16:13,244.244 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:16:13,246.246 INFO    ] No camera update needed
[2026-10-20 06:16:13,249.249 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:16:13,251.251 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:16:13,257.257 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:16:13,262.262 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:16:15,302.302 INFO    ] ================================================
[2026-10-20 06:16:15,318.318 INFO    ] Launching Daemon at Tue Oct 20 06:16:15 IST 2026
[2026-10-20 06:16:15,329.329 INFO    ] ================================================
[2026-10-20 06:16:15,973.973 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:16:15
[2026-10-20 06:16:16,636.636 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:16:16,939.939 INFO    ] Initializing speech engine...
[2026-10-20 06:16:16,947.947 INFO    ] 2026-10-20 06:16:16
[2026-10-20 06:16:17,236.236 INFO    ] 2026-10-20 06:16:17
[2026-10-20 06:16:17,282.282 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:16:17,572.572 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:16:17,578.578 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:16:17,795.795 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:16:17,803.803 INFO    ] time= 20/10/2026 06:16:17
[2026-10-20 06:16:17,820.820 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:16:17,841.841 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:16:17,972.972 INFO    ] No existing commands found in stream
[2026-10-20 06:16:22,987.987 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:16:22,990.990 INFO    ] Waiting 3.14 seconds before fallback handling...
[2026-10-20 06:16:26,644.644 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:16:26,646.646 INFO    ] Checking for system updates...
[2026-10-20 06:16:26,682.682 INFO    ] 200
[2026-10-20 06:16:26,684.684 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:16:26,741.741 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:16:26,744.744 INFO    ] No update needed
[2026-10-20 06:16:26,746.746 INFO    ] Checking for camera pi updates...
[2026-10-20 06:16:26,779.779 INFO    ] 200
[2026-10-20 06:16:26,782.782 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:16:26,821.821 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:16:26,880.880 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:16:26,882.882 INFO    ] No camera update needed
[2026-10-20 06:16:26,885.885 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:16:26,887.887 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:16:26,892.892 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:16:26,897.897 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:16:28,938.938 INFO    ] ================================================
[2026-10-20 06:16:28,953.953 INFO    ] Launching Daemon at Tue Oct 20 06:16:28 IST 2026
[2026-10-20 06:16:28,964.964 INFO    ] ================================================
[2026-10-20 06:16:29,536.536 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:16:29
[2026-10-20 06:16:30,119.119 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:16:30,391.391 INFO    ] Initializing speech engine...
[2026-10-20 06:16:30,400.400 INFO    ] 2026-10-20 06:16:30
[2026-10-20 06:16:30,652.652 INFO    ] 2026-10-20 06:16:30
[2026-10-20 06:16:30,687.687 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:16:30,945.945 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:16:30,955.955 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:16:31,092.092 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:16:31,142.142 INFO    ] time= 20/10/2026 06:16:31
[2026-10-20 06:16:31,179.179 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:16:31,229.229 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:16:31,381.381 INFO    ] No existing commands found in stream
[2026-10-20 06:16:36,407.407 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:16:36,409.409 INFO    ] Waiting 0.52 seconds before fallback handling...
[2026-10-20 06:16:37,446.446 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 06:16:37,449.449 INFO    ] Checking for system updates...
[2026-10-20 06:16:37,490.490 INFO    ] 200
[2026-10-20 06:16:37,492.492 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:16:37,559.559 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:16:37,561.561 INFO    ] No update needed
[2026-10-20 06:16:37,564.564 INFO    ] Checking for camera pi updates...
[2026-10-20 06:16:37,599.599 INFO    ] 200
[2026-10-20 06:16:37,602.602 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:16:37,665.665 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:16:37,724.724 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:16:37,726.726 INFO    ] No camera update needed
[2026-10-20 06:16:37,729.729 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:16:37,731.731 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:16:37,736.736 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:16:37,741.741 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:16:39,793.793 INFO    ] ================================================
[2026-10-20 06:16:39,809.809 INFO    ] Launching Daemon at Tue Oct 20 06:16:39 IST 2026
[2026-10-20 06:16:39,822.822 INFO    ] ================================================
[2026-10-20 06:16:40,435.435 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:16:40
[2026-10-20 06:16:41,095.095 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:16:41,417.417 INFO    ] Initializing speech engine...
[2026-10-20 06:16:41,428.428 INFO    ] 2026-10-20 06:16:41
[2026-10-20 06:16:41,724.724 INFO    ] 2026-10-20 06:16:41
[2026-10-20 06:16:41,840.840 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:16:42,042.042 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:16:42,061.061 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:16:42,279.279 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:16:42,304.304 INFO    ] time= 20/10/2026 06:16:42
[2026-10-20 06:16:42,335.335 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:16:42,344.344 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:16:42,467.467 INFO    ] No existing commands found in stream
[2026-10-20 06:16:47,498.498 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:16:47,501.501 INFO    ] Waiting 1.11 seconds before fallback handling...
[2026-10-20 06:16:49,153.153 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 06:16:49,156.156 INFO    ] Checking for system updates...
[2026-10-20 06:16:49,193.193 INFO    ] 200
[2026-10-20 06:16:49,196.196 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:16:49,249.249 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:16:49,252.252 INFO    ] No update needed
[2026-10-20 06:16:49,254.254 INFO    ] Checking for camera pi updates...
[2026-10-20 06:16:49,292.292 INFO    ] 200
[2026-10-20 06:16:49,295.295 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:16:49,337.337 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:16:49,382.382 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:16:49,385.385 INFO    ] No camera update needed
[2026-10-20 06:16:49,388.388 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:16:49,391.391 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:16:49,397.397 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:16:49,403.403 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:16:51,444.444 INFO    ] ================================================
[2026-10-20 06:16:51,460.460 INFO    ] Launching Daemon at Tue Oct 20 06:16:51 IST 2026
[2026-10-20 06:16:51,470.470 INFO    ] ================================================
[2026-10-20 06:16:52,124.124 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:16:52
[2026-10-20 06:16:52,797.797 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:16:53,104.104 INFO    ] Initializing speech engine...
[2026-10-20 06:16:53,113.113 INFO    ] 2026-10-20 06:16:53
[2026-10-20 06:16:53,407.407 INFO    ] 2026-10-20 06:16:53
[2026-10-20 06:16:53,454.454 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:16:53,726.726 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:16:53,750.750 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:16:53,938.938 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:16:53,962.962 INFO    ] time= 20/10/2026 06:16:53
[2026-10-20 06:16:53,985.985 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:16:54,015.015 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:16:54,150.150 INFO    ] No existing commands found in stream
[2026-10-20 06:16:59,176.176 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:16:59,180.180 INFO    ] Waiting 3.02 seconds before fallback handling...
[2026-10-20 06:17:02,746.746 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:17:02,750.750 INFO    ] Checking for system updates...
[2026-10-20 06:17:02,788.788 INFO    ] 200
[2026-10-20 06:17:02,791.791 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:17:02,864.864 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:17:02,867.867 INFO    ] No update needed
[2026-10-20 06:17:02,869.869 INFO    ] Checking for camera pi updates...
[2026-10-20 06:17:02,916.916 INFO    ] 200
[2026-10-20 06:17:02,918.918 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:17:02,959.959 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:17:03,018.018 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:17:03,021.021 INFO    ] No camera update needed
[2026-10-20 06:17:03,024.024 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:17:03,027.027 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:17:03,034.034 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:17:03,039.039 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:17:05,079.079 INFO    ] ================================================
[2026-10-20 06:17:05,095.095 INFO    ] Launching Daemon at Tue Oct 20 06:17:05 IST 2026
[2026-10-20 06:17:05,107.107 INFO    ] ================================================
[2026-10-20 06:17:05,691.691 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:17:05
[2026-10-20 06:17:06,291.291 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:17:06,569.569 INFO    ] Initializing speech engine...
[2026-10-20 06:17:06,574.574 INFO    ] 2026-10-20 06:17:06
[2026-10-20 06:17:06,837.837 INFO    ] 2026-10-20 06:17:06
[2026-10-20 06:17:06,891.891 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:17:07,174.174 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:17:07,182.182 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:17:07,379.379 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:17:07,385.385 INFO    ] time= 20/10/2026 06:17:07
[2026-10-20 06:17:07,403.403 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:17:07,415.415 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:17:07,548.548 INFO    ] No existing commands found in stream
[2026-10-20 06:17:12,573.573 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:17:12,576.576 INFO    ] Waiting 1.88 seconds before fallback handling...
[2026-10-20 06:17:14,960.960 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:17:14,963.963 INFO    ] Checking for system updates...
[2026-10-20 06:17:15,002.002 INFO    ] 200
[2026-10-20 06:17:15,005.005 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:17:15,057.057 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:17:15,059.059 INFO    ] No update needed
[2026-10-20 06:17:15,062.062 INFO    ] Checking for camera pi updates...
[2026-10-20 06:17:15,095.095 INFO    ] 200
[2026-10-20 06:17:15,097.097 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:17:15,137.137 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:17:15,181.181 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:17:15,184.184 INFO    ] No camera update needed
[2026-10-20 06:17:15,186.186 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:17:15,189.189 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:17:15,194.194 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:17:15,200.200 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:17:17,243.243 INFO    ] ================================================
[2026-10-20 06:17:17,258.258 INFO    ] Launching Daemon at Tue Oct 20 06:17:17 IST 2026
[2026-10-20 06:17:17,269.269 INFO    ] ================================================
[2026-10-20 06:17:17,926.926 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:17:17
[2026-10-20 06:17:18,603.603 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:17:18,913.913 INFO    ] Initializing speech engine...
[2026-10-20 06:17:18,919.919 INFO    ] 2026-10-20 06:17:18
[2026-10-20 06:17:19,227.227 INFO    ] 2026-10-20 06:17:19
[2026-10-20 06:17:19,314.314 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:17:19,527.527 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:17:19,534.534 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:17:19,726.726 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:17:19,733.733 INFO    ] time= 20/10/2026 06:17:19
[2026-10-20 06:17:19,755.755 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:17:19,782.782 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:17:19,911.911 INFO    ] No existing commands found in stream
[2026-10-20 06:17:24,948.948 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:17:24,951.951 INFO    ] Waiting 3.62 seconds before fallback handling...
[2026-10-20 06:17:29,131.131 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:17:29,134.134 INFO    ] Checking for system updates...
[2026-10-20 06:17:29,173.173 INFO    ] 200
[2026-10-20 06:17:29,175.175 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:17:29,228.228 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:17:29,231.231 INFO    ] No update needed
[2026-10-20 06:17:29,234.234 INFO    ] Checking for camera pi updates...
[2026-10-20 06:17:29,268.268 INFO    ] 200
[2026-10-20 06:17:29,271.271 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:17:29,311.311 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:17:29,361.361 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:17:29,363.363 INFO    ] No camera update needed
[2026-10-20 06:17:29,366.366 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:17:29,368.368 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:17:29,373.373 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:17:29,378.378 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:17:31,419.419 INFO    ] ================================================
[2026-10-20 06:17:31,435.435 INFO    ] Launching Daemon at Tue Oct 20 06:17:31 IST 2026
[2026-10-20 06:17:31,447.447 INFO    ] ================================================
[2026-10-20 06:17:32,062.062 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:17:32
[2026-10-20 06:17:32,700.700 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:17:32,975.975 INFO    ] Initializing speech engine...
[2026-10-20 06:17:32,984.984 INFO    ] 2026-10-20 06:17:32
[2026-10-20 06:17:33,247.247 INFO    ] 2026-10-20 06:17:33
[2026-10-20 06:17:33,301.301 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:17:33,551.551 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:17:33,556.556 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:17:33,768.768 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:17:33,813.813 INFO    ] time= 20/10/2026 06:17:33
[2026-10-20 06:17:33,819.819 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:17:33,837.837 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:17:33,955.955 INFO    ] No existing commands found in stream
[2026-10-20 06:17:38,983.983 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:17:38,986.986 INFO    ] Waiting 0.35 seconds before fallback handling...
[2026-10-20 06:17:39,829.829 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:17:39,832.832 INFO    ] Checking for system updates...
[2026-10-20 06:17:39,868.868 INFO    ] 200
[2026-10-20 06:17:39,871.871 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:17:39,931.931 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:17:39,934.934 INFO    ] No update needed
[2026-10-20 06:17:39,936.936 INFO    ] Checking for camera pi updates...
[2026-10-20 06:17:39,970.970 INFO    ] 200
[2026-10-20 06:17:39,972.972 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:17:40,012.012 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:17:40,155.155 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:17:40,158.158 INFO    ] No camera update needed
[2026-10-20 06:17:40,160.160 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:17:40,163.163 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:17:40,168.168 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:17:40,173.173 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:17:42,215.215 INFO    ] ================================================
[2026-10-20 06:17:42,231.231 INFO    ] Launching Daemon at Tue Oct 20 06:17:42 IST 2026
[2026-10-20 06:17:42,242.242 INFO    ] ================================================
[2026-10-20 06:17:42,869.869 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:17:42
[2026-10-20 06:17:43,569.569 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:17:43,853.853 INFO    ] Initializing speech engine...
[2026-10-20 06:17:43,861.861 INFO    ] 2026-10-20 06:17:43
[2026-10-20 06:17:44,110.110 INFO    ] 2026-10-20 06:17:44
[2026-10-20 06:17:44,146.146 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:17:44,401.401 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:17:44,405.405 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:17:44,616.616 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:17:44,671.671 INFO    ] time= 20/10/2026 06:17:44
[2026-10-20 06:17:44,697.697 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:17:44,704.704 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:17:44,868.868 INFO    ] No existing commands found in stream
[2026-10-20 06:17:49,885.885 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:17:49,888.888 INFO    ] Waiting 1.13 seconds before fallback handling...
[2026-10-20 06:17:51,527.527 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 06:17:51,530.530 INFO    ] Checking for system updates...
[2026-10-20 06:17:51,565.565 INFO    ] 200
[2026-10-20 06:17:51,568.568 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:17:51,621.621 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:17:51,623.623 INFO    ] No update needed
[2026-10-20 06:17:51,626.626 INFO    ] Checking for camera pi updates...
[2026-10-20 06:17:51,659.659 INFO    ] 200
[2026-10-20 06:17:51,661.661 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:17:51,702.702 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:17:51,759.759 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:17:51,761.761 INFO    ] No camera update needed
[2026-10-20 06:17:51,764.764 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:17:51,766.766 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:17:51,771.771 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:17:51,776.776 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:17:53,816.816 INFO    ] ================================================
[2026-10-20 06:17:53,832.832 INFO    ] Launching Daemon at Tue Oct 20 06:17:53 IST 2026
[2026-10-20 06:17:53,843.843 INFO    ] ================================================
[2026-10-20 06:17:54,409.409 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:17:54
[2026-10-20 06:17:54,993.993 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:17:55,244.244 INFO    ] Initializing speech engine...
[2026-10-20 06:17:55,267.267 INFO    ] 2026-10-20 06:17:55
[2026-10-20 06:17:55,522.522 INFO    ] 2026-10-20 06:17:55
[2026-10-20 06:17:55,563.563 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:17:55,815.815 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:17:55,824.824 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:17:56,030.030 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:17:56,079.079 INFO    ] time= 20/10/2026 06:17:56
[2026-10-20 06:17:56,093.093 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:17:56,108.108 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:17:56,247.247 INFO    ] No existing commands found in stream
[2026-10-20 06:18:01,269.269 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:18:01,274.274 INFO    ] Waiting 3.69 seconds before fallback handling...
[2026-10-20 06:18:05,434.434 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 06:18:05,436.436 INFO    ] Checking for system updates...
[2026-10-20 06:18:05,472.472 INFO    ] 200
[2026-10-20 06:18:05,475.475 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:18:05,526.526 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:18:05,529.529 INFO    ] No update needed
[2026-10-20 06:18:05,531.531 INFO    ] Checking for camera pi updates...
[2026-10-20 06:18:05,564.564 INFO    ] 200
[2026-10-20 06:18:05,567.567 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:18:05,611.611 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:18:05,653.653 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:18:05,655.655 INFO    ] No camera update needed
[2026-10-20 06:18:05,657.657 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:18:05,659.659 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:18:05,665.665 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:18:05,670.670 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:18:07,710.710 INFO    ] ================================================
[2026-10-20 06:18:07,725.725 INFO    ] Launching Daemon at Tue Oct 20 06:18:07 IST 2026
[2026-10-20 06:18:07,736.736 INFO    ] ================================================
[2026-10-20 06:18:08,329.329 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:18:08
[2026-10-20 06:18:08,942.942 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:18:09,211.211 INFO    ] Initializing speech engine...
[2026-10-20 06:18:09,224.224 INFO    ] 2026-10-20 06:18:09
[2026-10-20 06:18:09,473.473 INFO    ] 2026-10-20 06:18:09
[2026-10-20 06:18:09,507.507 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:18:09,710.710 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:18:09,772.772 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:18:09,987.987 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:18:10,042.042 INFO    ] time= 20/10/2026 06:18:09
[2026-10-20 06:18:10,049.049 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:18:10,067.067 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:18:10,204.204 INFO    ] No existing commands found in stream
[2026-10-20 06:18:15,226.226 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:18:15,229.229 INFO    ] Waiting 0.14 seconds before fallback handling...
[2026-10-20 06:18:15,842.842 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 06:18:15,844.844 INFO    ] Checking for system updates...
[2026-10-20 06:18:15,879.879 INFO    ] 200
[2026-10-20 06:18:15,882.882 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:18:15,934.934 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:18:15,936.936 INFO    ] No update needed
[2026-10-20 06:18:15,939.939 INFO    ] Checking for camera pi updates...
[2026-10-20 06:18:15,971.971 INFO    ] 200
[2026-10-20 06:18:15,974.974 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:18:16,013.013 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:18:16,060.060 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:18:16,063.063 INFO    ] No camera update needed
[2026-10-20 06:18:16,065.065 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:18:16,067.067 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:18:16,072.072 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:18:16,077.077 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:18:18,118.118 INFO    ] ================================================
[2026-10-20 06:18:18,134.134 INFO    ] Launching Daemon at Tue Oct 20 06:18:18 IST 2026
[2026-10-20 06:18:18,149.149 INFO    ] ================================================
[2026-10-20 06:18:18,791.791 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:18:18
[2026-10-20 06:18:19,376.376 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:18:19,644.644 INFO    ] Initializing speech engine...
[2026-10-20 06:18:19,657.657 INFO    ] 2026-10-20 06:18:19
[2026-10-20 06:18:19,909.909 INFO    ] 2026-10-20 06:18:19
[2026-10-20 06:18:19,944.944 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:18:20,206.206 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:18:20,211.211 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:18:20,380.380 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:18:20,434.434 INFO    ] time= 20/10/2026 06:18:20
[2026-10-20 06:18:20,480.480 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:18:20,486.486 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:18:20,638.638 INFO    ] No existing commands found in stream
[2026-10-20 06:18:25,660.660 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:18:25,663.663 INFO    ] Waiting 0.64 seconds before fallback handling...
[2026-10-20 06:18:26,788.788 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 06:18:26,791.791 INFO    ] Checking for system updates...
[2026-10-20 06:18:26,827.827 INFO    ] 200
[2026-10-20 06:18:26,830.830 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:18:26,884.884 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:18:26,887.887 INFO    ] No update needed
[2026-10-20 06:18:26,889.889 INFO    ] Checking for camera pi updates...
[2026-10-20 06:18:26,924.924 INFO    ] 200
[2026-10-20 06:18:26,926.926 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:18:26,972.972 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:18:27,020.020 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:18:27,023.023 INFO    ] No camera update needed
[2026-10-20 06:18:27,025.025 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:18:27,027.027 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:18:27,033.033 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:18:27,038.038 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:18:29,078.078 INFO    ] ================================================
[2026-10-20 06:18:29,093.093 INFO    ] Launching Daemon at Tue Oct 20 06:18:29 IST 2026
[2026-10-20 06:18:29,103.103 INFO    ] ================================================
[2026-10-20 06:18:29,687.687 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:18:29
[2026-10-20 06:18:30,286.286 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:18:30,560.560 INFO    ] Initializing speech engine...
[2026-10-20 06:18:30,569.569 INFO    ] 2026-10-20 06:18:30
[2026-10-20 06:18:30,819.819 INFO    ] 2026-10-20 06:18:30
[2026-10-20 06:18:30,855.855 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:18:31,106.106 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:18:31,116.116 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:18:31,296.296 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:18:31,362.362 INFO    ] time= 20/10/2026 06:18:31
[2026-10-20 06:18:31,393.393 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:18:31,417.417 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:18:31,566.566 INFO    ] No existing commands found in stream
[2026-10-20 06:18:36,599.599 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:18:36,602.602 INFO    ] Waiting 3.34 seconds before fallback handling...
[2026-10-20 06:18:40,489.489 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:18:40,492.492 INFO    ] Checking for system updates...
[2026-10-20 06:18:40,533.533 INFO    ] 200
[2026-10-20 06:18:40,536.536 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:18:40,590.590 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:18:40,593.593 INFO    ] No update needed
[2026-10-20 06:18:40,596.596 INFO    ] Checking for camera pi updates...
[2026-10-20 06:18:40,630.630 INFO    ] 200
[2026-10-20 06:18:40,633.633 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:18:40,674.674 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:18:40,725.725 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:18:40,728.728 INFO    ] No camera update needed
[2026-10-20 06:18:40,731.731 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:18:40,733.733 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:18:40,740.740 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:18:40,746.746 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:18:42,789.789 INFO    ] ================================================
[2026-10-20 06:18:42,804.804 INFO    ] Launching Daemon at Tue Oct 20 06:18:42 IST 2026
[2026-10-20 06:18:42,815.815 INFO    ] ================================================
[2026-10-20 06:18:43,480.480 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:18:43
[2026-10-20 06:18:44,160.160 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:18:44,467.467 INFO    ] Initializing speech engine...
[2026-10-20 06:18:44,475.475 INFO    ] 2026-10-20 06:18:44
[2026-10-20 06:18:44,769.769 INFO    ] 2026-10-20 06:18:44
[2026-10-20 06:18:44,815.815 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:18:45,072.072 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:18:45,091.091 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:18:45,293.293 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:18:45,321.321 INFO    ] time= 20/10/2026 06:18:45
[2026-10-20 06:18:45,341.341 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:18:45,371.371 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:18:45,501.501 INFO    ] No existing commands found in stream
[2026-10-20 06:18:50,537.537 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:18:50,540.540 INFO    ] Waiting 2.44 seconds before fallback handling...
[2026-10-20 06:18:53,500.500 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 06:18:53,503.503 INFO    ] Checking for system updates...
[2026-10-20 06:18:53,540.540 INFO    ] 200
[2026-10-20 06:18:53,543.543 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:18:53,603.603 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:18:53,606.606 INFO    ] No update needed
[2026-10-20 06:18:53,608.608 INFO    ] Checking for camera pi updates...
[2026-10-20 06:18:53,647.647 INFO    ] 200
[2026-10-20 06:18:53,650.650 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:18:53,696.696 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:18:53,747.747 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:18:53,750.750 INFO    ] No camera update needed
[2026-10-20 06:18:53,753.753 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:18:53,755.755 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:18:53,762.762 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:18:53,767.767 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:18:55,808.808 INFO    ] ================================================
[2026-10-20 06:18:55,823.823 INFO    ] Launching Daemon at Tue Oct 20 06:18:55 IST 2026
[2026-10-20 06:18:55,834.834 INFO    ] ================================================
[2026-10-20 06:18:56,415.415 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:18:56
[2026-10-20 06:18:57,015.015 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:18:57,294.294 INFO    ] Initializing speech engine...
[2026-10-20 06:18:57,301.301 INFO    ] 2026-10-20 06:18:57
[2026-10-20 06:18:57,564.564 INFO    ] 2026-10-20 06:18:57
[2026-10-20 06:18:57,621.621 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:18:57,886.886 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:18:57,909.909 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:18:58,104.104 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:18:58,110.110 INFO    ] time= 20/10/2026 06:18:58
[2026-10-20 06:18:58,129.129 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:18:58,156.156 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:18:58,266.266 INFO    ] No existing commands found in stream
[2026-10-20 06:19:03,276.276 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:19:03,279.279 INFO    ] Waiting 2.79 seconds before fallback handling...
[2026-10-20 06:19:06,550.550 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 06:19:06,553.553 INFO    ] Checking for system updates...
[2026-10-20 06:19:06,589.589 INFO    ] 200
[2026-10-20 06:19:06,591.591 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:19:06,643.643 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:19:06,645.645 INFO    ] No update needed
[2026-10-20 06:19:06,647.647 INFO    ] Checking for camera pi updates...
[2026-10-20 06:19:06,686.686 INFO    ] 200
[2026-10-20 06:19:06,688.688 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:19:06,729.729 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:19:06,780.780 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:19:06,783.783 INFO    ] No camera update needed
[2026-10-20 06:19:06,785.785 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:19:06,788.788 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:19:06,793.793 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:19:06,798.798 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:19:08,838.838 INFO    ] ================================================
[2026-10-20 06:19:08,853.853 INFO    ] Launching Daemon at Tue Oct 20 06:19:08 IST 2026
[2026-10-20 06:19:08,864.864 INFO    ] ================================================
[2026-10-20 06:19:09,445.445 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:19:09
[2026-10-20 06:19:10,045.045 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:19:10,321.321 INFO    ] Initializing speech engine...
[2026-10-20 06:19:10,330.330 INFO    ] 2026-10-20 06:19:10
[2026-10-20 06:19:10,592.592 INFO    ] 2026-10-20 06:19:10
[2026-10-20 06:19:10,622.622 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:19:10,873.873 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:19:10,877.877 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:19:11,017.017 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:19:11,087.087 INFO    ] time= 20/10/2026 06:19:11
[2026-10-20 06:19:11,116.116 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:19:11,152.152 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:19:11,301.301 INFO    ] No existing commands found in stream
[2026-10-20 06:19:16,326.326 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:19:16,329.329 INFO    ] Waiting 3.12 seconds before fallback handling...
[2026-10-20 06:19:19,949.949 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:19:19,952.952 INFO    ] Checking for system updates...
[2026-10-20 06:19:19,988.988 INFO    ] 200
[2026-10-20 06:19:19,991.991 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:19:20,043.043 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:19:20,045.045 INFO    ] No update needed
[2026-10-20 06:19:20,047.047 INFO    ] Checking for camera pi updates...
[2026-10-20 06:19:20,080.080 INFO    ] 200
[2026-10-20 06:19:20,083.083 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:19:20,123.123 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:19:20,179.179 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:19:20,181.181 INFO    ] No camera update needed
[2026-10-20 06:19:20,184.184 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:19:20,186.186 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:19:20,192.192 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:19:20,197.197 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:19:22,239.239 INFO    ] ================================================
[2026-10-20 06:19:22,254.254 INFO    ] Launching Daemon at Tue Oct 20 06:19:22 IST 2026
[2026-10-20 06:19:22,265.265 INFO    ] ================================================
[2026-10-20 06:19:22,839.839 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:19:22
[2026-10-20 06:19:23,475.475 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:19:23,794.794 INFO    ] Initializing speech engine...
[2026-10-20 06:19:23,807.807 INFO    ] 2026-10-20 06:19:23
[2026-10-20 06:19:24,095.095 INFO    ] 2026-10-20 06:19:24
[2026-10-20 06:19:24,142.142 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:19:24,401.401 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:19:24,406.406 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:19:24,639.639 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:19:24,653.653 INFO    ] time= 20/10/2026 06:19:24
[2026-10-20 06:19:24,673.673 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:19:24,702.702 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:19:24,834.834 INFO    ] No existing commands found in stream
[2026-10-20 06:19:29,860.860 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:19:29,863.863 INFO    ] Waiting 0.41 seconds before fallback handling...
[2026-10-20 06:19:30,782.782 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 06:19:30,785.785 INFO    ] Checking for system updates...
[2026-10-20 06:19:30,822.822 INFO    ] 200
[2026-10-20 06:19:30,825.825 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:19:30,878.878 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:19:30,881.881 INFO    ] No update needed
[2026-10-20 06:19:30,884.884 INFO    ] Checking for camera pi updates...
[2026-10-20 06:19:30,919.919 INFO    ] 200
[2026-10-20 06:19:30,922.922 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:19:30,963.963 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:19:31,010.010 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:19:31,013.013 INFO    ] No camera update needed
[2026-10-20 06:19:31,015.015 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:19:31,018.018 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:19:31,025.025 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:19:31,031.031 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:19:33,072.072 INFO    ] ================================================
[2026-10-20 06:19:33,087.087 INFO    ] Launching Daemon at Tue Oct 20 06:19:33 IST 2026
[2026-10-20 06:19:33,098.098 INFO    ] ================================================
[2026-10-20 06:19:33,751.751 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:19:33
[2026-10-20 06:19:34,379.379 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:19:34,656.656 INFO    ] Initializing speech engine...
[2026-10-20 06:19:34,663.663 INFO    ] 2026-10-20 06:19:34
[2026-10-20 06:19:34,928.928 INFO    ] 2026-10-20 06:19:34
[2026-10-20 06:19:34,984.984 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:19:35,211.211 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:19:35,217.217 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:19:35,424.424 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:19:35,473.473 INFO    ] time= 20/10/2026 06:19:35
[2026-10-20 06:19:35,480.480 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:19:35,502.502 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:19:35,640.640 INFO    ] No existing commands found in stream
[2026-10-20 06:19:40,666.666 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:19:40,670.670 INFO    ] Waiting 1.33 seconds before fallback handling...
[2026-10-20 06:19:42,503.503 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:19:42,506.506 INFO    ] Checking for system updates...
[2026-10-20 06:19:42,542.542 INFO    ] 200
[2026-10-20 06:19:42,545.545 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:19:42,599.599 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:19:42,602.602 INFO    ] No update needed
[2026-10-20 06:19:42,605.605 INFO    ] Checking for camera pi updates...
[2026-10-20 06:19:42,643.643 INFO    ] 200
[2026-10-20 06:19:42,646.646 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:19:42,692.692 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:19:42,836.836 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:19:42,839.839 INFO    ] No camera update needed
[2026-10-20 06:19:42,842.842 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:19:42,845.845 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:19:42,851.851 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:19:42,857.857 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:19:44,899.899 INFO    ] ================================================
[2026-10-20 06:19:44,914.914 INFO    ] Launching Daemon at Tue Oct 20 06:19:44 IST 2026
[2026-10-20 06:19:44,924.924 INFO    ] ================================================
[2026-10-20 06:19:45,493.493 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:19:45
[2026-10-20 06:19:46,076.076 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:19:46,347.347 INFO    ] Initializing speech engine...
[2026-10-20 06:19:46,354.354 INFO    ] 2026-10-20 06:19:46
[2026-10-20 06:19:46,613.613 INFO    ] 2026-10-20 06:19:46
[2026-10-20 06:19:46,666.666 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:19:46,891.891 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:19:46,896.896 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:19:47,029.029 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:19:47,093.093 INFO    ] time= 20/10/2026 06:19:47
[2026-10-20 06:19:47,153.153 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:19:47,162.162 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:19:47,309.309 INFO    ] No existing commands found in stream
[2026-10-20 06:19:52,331.331 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:19:52,334.334 INFO    ] Waiting 0.54 seconds before fallback handling...
[2026-10-20 06:19:55,916.916 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 06:19:55,919.919 INFO    ] Checking for system updates...
[2026-10-20 06:19:55,956.956 INFO    ] 200
[2026-10-20 06:19:55,959.959 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:19:56,014.014 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:19:56,017.017 INFO    ] No update needed
[2026-10-20 06:19:56,020.020 INFO    ] Checking for camera pi updates...
[2026-10-20 06:19:56,058.058 INFO    ] 200
[2026-10-20 06:19:56,060.060 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:19:56,100.100 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:19:56,150.150 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:19:56,152.152 INFO    ] No camera update needed
[2026-10-20 06:19:56,154.154 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:19:56,157.157 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:19:56,162.162 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:19:56,167.167 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:19:58,206.206 INFO    ] ================================================
[2026-10-20 06:19:58,222.222 INFO    ] Launching Daemon at Tue Oct 20 06:19:58 IST 2026
[2026-10-20 06:19:58,232.232 INFO    ] ================================================
[2026-10-20 06:19:58,815.815 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:19:58
[2026-10-20 06:19:59,415.415 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:19:59,695.695 INFO    ] Initializing speech engine...
[2026-10-20 06:19:59,702.702 INFO    ] 2026-10-20 06:19:59
[2026-10-20 06:19:59,963.963 INFO    ] 2026-10-20 06:19:59
[2026-10-20 06:19:59,993.993 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:20:00,242.242 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:20:00,249.249 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:20:00,474.474 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:20:00,508.508 INFO    ] time= 20/10/2026 06:20:00
[2026-10-20 06:20:00,523.523 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:20:00,532.532 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:20:00,654.654 INFO    ] No existing commands found in stream
[2026-10-20 06:20:05,671.671 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:20:05,674.674 INFO    ] Waiting 0.22 seconds before fallback handling...
[2026-10-20 06:20:06,392.392 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:20:06,395.395 INFO    ] Checking for system updates...
[2026-10-20 06:20:06,431.431 INFO    ] 200
[2026-10-20 06:20:06,434.434 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:20:06,494.494 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:20:06,496.496 INFO    ] No update needed
[2026-10-20 06:20:06,499.499 INFO    ] Checking for camera pi updates...
[2026-10-20 06:20:06,532.532 INFO    ] 200
[2026-10-20 06:20:06,534.534 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:20:06,574.574 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:20:06,605.605 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:20:06,608.608 INFO    ] No camera update needed
[2026-10-20 06:20:06,610.610 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:20:06,612.612 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:20:06,618.618 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:20:06,623.623 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:20:08,663.663 INFO    ] ================================================
[2026-10-20 06:20:08,678.678 INFO    ] Launching Daemon at Tue Oct 20 06:20:08 IST 2026
[2026-10-20 06:20:08,689.689 INFO    ] ================================================
[2026-10-20 06:20:09,289.289 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:20:09
[2026-10-20 06:20:09,888.888 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:20:10,162.162 INFO    ] Initializing speech engine...
[2026-10-20 06:20:10,172.172 INFO    ] 2026-10-20 06:20:10
[2026-10-20 06:20:10,434.434 INFO    ] 2026-10-20 06:20:10
[2026-10-20 06:20:10,489.489 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:20:10,715.715 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:20:10,721.721 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:20:10,919.919 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:20:10,977.977 INFO    ] time= 20/10/2026 06:20:10
[2026-10-20 06:20:10,984.984 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:20:11,002.002 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:20:11,133.133 INFO    ] No existing commands found in stream
[2026-10-20 06:20:16,145.145 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:20:16,148.148 INFO    ] Waiting 1.93 seconds before fallback handling...
[2026-10-20 06:20:18,581.581 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 06:20:18,584.584 INFO    ] Checking for system updates...
[2026-10-20 06:20:18,620.620 INFO    ] 200
[2026-10-20 06:20:18,622.622 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:20:18,691.691 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:20:18,694.694 INFO    ] No update needed
[2026-10-20 06:20:18,696.696 INFO    ] Checking for camera pi updates...
[2026-10-20 06:20:18,734.734 INFO    ] 200
[2026-10-20 06:20:18,736.736 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:20:18,777.777 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:20:18,831.831 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:20:18,833.833 INFO    ] No camera update needed
[2026-10-20 06:20:18,836.836 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:20:18,838.838 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:20:18,844.844 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:20:18,849.849 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:20:20,888.888 INFO    ] ================================================
[2026-10-20 06:20:20,904.904 INFO    ] Launching Daemon at Tue Oct 20 06:20:20 IST 2026
[2026-10-20 06:20:20,916.916 INFO    ] ================================================
[2026-10-20 06:20:21,481.481 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:20:21
[2026-10-20 06:20:22,063.063 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:20:22,337.337 INFO    ] Initializing speech engine...
[2026-10-20 06:20:22,343.343 INFO    ] 2026-10-20 06:20:22
[2026-10-20 06:20:22,588.588 INFO    ] 2026-10-20 06:20:22
[2026-10-20 06:20:22,622.622 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:20:22,873.873 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:20:22,883.883 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:20:23,062.062 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:20:23,122.122 INFO    ] time= 20/10/2026 06:20:23
[2026-10-20 06:20:23,144.144 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:20:23,150.150 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:20:23,297.297 INFO    ] No existing commands found in stream
[2026-10-20 06:20:28,310.310 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:20:28,313.313 INFO    ] Waiting 1.92 seconds before fallback handling...
[2026-10-20 06:20:30,711.711 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:20:30,713.713 INFO    ] Checking for system updates...
[2026-10-20 06:20:30,752.752 INFO    ] 200
[2026-10-20 06:20:30,755.755 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:20:30,806.806 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:20:30,808.808 INFO    ] No update needed
[2026-10-20 06:20:30,811.811 INFO    ] Checking for camera pi updates...
[2026-10-20 06:20:30,844.844 INFO    ] 200
[2026-10-20 06:20:30,846.846 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:20:30,891.891 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:20:30,942.942 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:20:30,944.944 INFO    ] No camera update needed
[2026-10-20 06:20:30,946.946 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:20:30,949.949 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:20:30,954.954 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:20:30,959.959 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:20:33,000.000 INFO    ] ================================================
[2026-10-20 06:20:33,016.016 INFO    ] Launching Daemon at Tue Oct 20 06:20:33 IST 2026
[2026-10-20 06:20:33,027.027 INFO    ] ================================================
[2026-10-20 06:20:33,597.597 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:20:33
[2026-10-20 06:20:34,192.192 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:20:34,446.446 INFO    ] Initializing speech engine...
[2026-10-20 06:20:34,455.455 INFO    ] 2026-10-20 06:20:34
[2026-10-20 06:20:34,752.752 INFO    ] 2026-10-20 06:20:34
[2026-10-20 06:20:34,790.790 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:20:35,009.009 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:20:35,017.017 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:20:35,234.234 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:20:35,242.242 INFO    ] time= 20/10/2026 06:20:35
[2026-10-20 06:20:35,296.296 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:20:35,335.335 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:20:35,441.441 INFO    ] No existing commands found in stream
[2026-10-20 06:20:40,451.451 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:20:40,454.454 INFO    ] Waiting 1.73 seconds before fallback handling...
[2026-10-20 06:20:42,681.681 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 06:20:42,683.683 INFO    ] Checking for system updates...
[2026-10-20 06:20:42,719.719 INFO    ] 200
[2026-10-20 06:20:42,721.721 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:20:42,773.773 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:20:42,776.776 INFO    ] No update needed
[2026-10-20 06:20:42,778.778 INFO    ] Checking for camera pi updates...
[2026-10-20 06:20:42,815.815 INFO    ] 200
[2026-10-20 06:20:42,817.817 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:20:42,857.857 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:20:42,917.917 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:20:42,920.920 INFO    ] No camera update needed
[2026-10-20 06:20:42,923.923 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:20:42,926.926 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:20:42,931.931 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:20:42,936.936 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:20:44,976.976 INFO    ] ================================================
[2026-10-20 06:20:44,991.991 INFO    ] Launching Daemon at Tue Oct 20 06:20:44 IST 2026
[2026-10-20 06:20:45,002.002 INFO    ] ================================================
[2026-10-20 06:20:45,571.571 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:20:45
[2026-10-20 06:20:46,159.159 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:20:46,414.414 INFO    ] Initializing speech engine...
[2026-10-20 06:20:46,422.422 INFO    ] 2026-10-20 06:20:46
[2026-10-20 06:20:46,714.714 INFO    ] 2026-10-20 06:20:46
[2026-10-20 06:20:46,748.748 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:20:46,970.970 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:20:46,978.978 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:20:47,195.195 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:20:47,202.202 INFO    ] time= 20/10/2026 06:20:47
[2026-10-20 06:20:47,246.246 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:20:47,284.284 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:20:47,410.410 INFO    ] No existing commands found in stream
[2026-10-20 06:20:52,421.421 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:20:52,424.424 INFO    ] Waiting 3.57 seconds before fallback handling...
[2026-10-20 06:20:56,506.506 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:20:56,508.508 INFO    ] Checking for system updates...
[2026-10-20 06:20:56,544.544 INFO    ] 200
[2026-10-20 06:20:56,547.547 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:20:56,599.599 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:20:56,602.602 INFO    ] No update needed
[2026-10-20 06:20:56,604.604 INFO    ] Checking for camera pi updates...
[2026-10-20 06:20:56,642.642 INFO    ] 200
[2026-10-20 06:20:56,645.645 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:20:56,690.690 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:20:56,737.737 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:20:56,740.740 INFO    ] No camera update needed
[2026-10-20 06:20:56,743.743 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:20:56,746.746 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:20:56,752.752 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:20:56,758.758 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:20:58,799.799 INFO    ] ================================================
[2026-10-20 06:20:58,814.814 INFO    ] Launching Daemon at Tue Oct 20 06:20:58 IST 2026
[2026-10-20 06:20:58,826.826 INFO    ] ================================================
[2026-10-20 06:20:59,393.393 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:20:59
[2026-10-20 06:20:59,977.977 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:21:00,246.246 INFO    ] Initializing speech engine...
[2026-10-20 06:21:00,255.255 INFO    ] 2026-10-20 06:21:00
[2026-10-20 06:21:00,504.504 INFO    ] 2026-10-20 06:21:00
[2026-10-20 06:21:00,539.539 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:21:00,795.795 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:21:00,805.805 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:21:01,039.039 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:21:01,070.070 INFO    ] time= 20/10/2026 06:21:01
[2026-10-20 06:21:01,076.076 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:21:01,095.095 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:21:01,222.222 INFO    ] No existing commands found in stream
[2026-10-20 06:21:06,240.240 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:21:06,243.243 INFO    ] Waiting 2.90 seconds before fallback handling...
[2026-10-20 06:21:09,648.648 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 06:21:09,651.651 INFO    ] Checking for system updates...
[2026-10-20 06:21:09,690.690 INFO    ] 200
[2026-10-20 06:21:09,693.693 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:21:09,744.744 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:21:09,747.747 INFO    ] No update needed
[2026-10-20 06:21:09,749.749 INFO    ] Checking for camera pi updates...
[2026-10-20 06:21:09,783.783 INFO    ] 200
[2026-10-20 06:21:09,785.785 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:21:09,825.825 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:21:09,872.872 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:21:09,874.874 INFO    ] No camera update needed
[2026-10-20 06:21:09,877.877 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:21:09,879.879 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:21:09,884.884 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:21:09,889.889 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:21:11,933.933 INFO    ] ================================================
[2026-10-20 06:21:11,948.948 INFO    ] Launching Daemon at Tue Oct 20 06:21:11 IST 2026
[2026-10-20 06:21:11,959.959 INFO    ] ================================================
[2026-10-20 06:21:12,612.612 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:21:12
[2026-10-20 06:21:13,284.284 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:21:13,589.589 INFO    ] Initializing speech engine...
[2026-10-20 06:21:13,597.597 INFO    ] 2026-10-20 06:21:13
[2026-10-20 06:21:13,868.868 INFO    ] 2026-10-20 06:21:13
[2026-10-20 06:21:13,926.926 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:21:14,163.163 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:21:14,169.169 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:21:14,394.394 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:21:14,434.434 INFO    ] time= 20/10/2026 06:21:14
[2026-10-20 06:21:14,451.451 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:21:14,462.462 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:21:14,623.623 INFO    ] No existing commands found in stream
[2026-10-20 06:21:19,659.659 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:21:19,662.662 INFO    ] Waiting 2.11 seconds before fallback handling...
[2026-10-20 06:21:22,319.319 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:21:22,322.322 INFO    ] Checking for system updates...
[2026-10-20 06:21:22,359.359 INFO    ] 200
[2026-10-20 06:21:22,361.361 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:21:22,413.413 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:21:22,415.415 INFO    ] No update needed
[2026-10-20 06:21:22,417.417 INFO    ] Checking for camera pi updates...
[2026-10-20 06:21:22,453.453 INFO    ] 200
[2026-10-20 06:21:22,455.455 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:21:22,495.495 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:21:22,541.541 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:21:22,543.543 INFO    ] No camera update needed
[2026-10-20 06:21:22,545.545 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:21:22,547.547 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:21:22,553.553 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:21:22,558.558 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:21:24,598.598 INFO    ] ================================================
[2026-10-20 06:21:24,613.613 INFO    ] Launching Daemon at Tue Oct 20 06:21:24 IST 2026
[2026-10-20 06:21:24,624.624 INFO    ] ================================================
[2026-10-20 06:21:25,214.214 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:21:25
[2026-10-20 06:21:25,819.819 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:21:26,110.110 INFO    ] Initializing speech engine...
[2026-10-20 06:21:26,119.119 INFO    ] 2026-10-20 06:21:26
[2026-10-20 06:21:26,389.389 INFO    ] 2026-10-20 06:21:26
[2026-10-20 06:21:26,427.427 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:21:26,650.650 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:21:26,660.660 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:21:26,881.881 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:21:26,888.888 INFO    ] time= 20/10/2026 06:21:26
[2026-10-20 06:21:26,947.947 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:21:27,002.002 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:21:27,173.173 INFO    ] No existing commands found in stream
[2026-10-20 06:21:32,191.191 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:21:32,194.194 INFO    ] Waiting 0.53 seconds before fallback handling...
[2026-10-20 06:21:33,271.271 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:21:33,273.273 INFO    ] Checking for system updates...
[2026-10-20 06:21:33,309.309 INFO    ] 200
[2026-10-20 06:21:33,312.312 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:21:33,363.363 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:21:33,366.366 INFO    ] No update needed
[2026-10-20 06:21:33,368.368 INFO    ] Checking for camera pi updates...
[2026-10-20 06:21:33,405.405 INFO    ] 200
[2026-10-20 06:21:33,408.408 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:21:33,454.454 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:21:33,491.491 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:21:33,493.493 INFO    ] No camera update needed
[2026-10-20 06:21:33,496.496 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:21:33,498.498 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:21:33,503.503 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:21:33,509.509 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:21:35,550.550 INFO    ] ================================================
[2026-10-20 06:21:35,565.565 INFO    ] Launching Daemon at Tue Oct 20 06:21:35 IST 2026
[2026-10-20 06:21:35,576.576 INFO    ] ================================================
[2026-10-20 06:21:36,150.150 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:21:36
[2026-10-20 06:21:36,736.736 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:21:37,012.012 INFO    ] Initializing speech engine...
[2026-10-20 06:21:37,019.019 INFO    ] 2026-10-20 06:21:37
[2026-10-20 06:21:37,278.278 INFO    ] 2026-10-20 06:21:37
[2026-10-20 06:21:37,312.312 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:21:37,567.567 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:21:37,572.572 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:21:37,745.745 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:21:37,800.800 INFO    ] time= 20/10/2026 06:21:37
[2026-10-20 06:21:37,841.841 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:21:37,847.847 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:21:38,010.010 INFO    ] No existing commands found in stream
[2026-10-20 06:21:43,042.042 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:21:43,045.045 INFO    ] Waiting 2.12 seconds before fallback handling...
[2026-10-20 06:21:45,679.679 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:21:45,682.682 INFO    ] Checking for system updates...
[2026-10-20 06:21:45,718.718 INFO    ] 200
[2026-10-20 06:21:45,721.721 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:21:45,781.781 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:21:45,784.784 INFO    ] No update needed
[2026-10-20 06:21:45,789.789 INFO    ] Checking for camera pi updates...
[2026-10-20 06:21:45,822.822 INFO    ] 200
[2026-10-20 06:21:45,824.824 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:21:45,864.864 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:21:46,009.009 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:21:46,011.011 INFO    ] No camera update needed
[2026-10-20 06:21:46,014.014 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:21:46,016.016 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:21:46,021.021 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:21:46,026.026 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:21:48,068.068 INFO    ] ================================================
[2026-10-20 06:21:48,083.083 INFO    ] Launching Daemon at Tue Oct 20 06:21:48 IST 2026
[2026-10-20 06:21:48,094.094 INFO    ] ================================================
[2026-10-20 06:21:48,661.661 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:21:48
[2026-10-20 06:21:49,246.246 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:21:49,517.517 INFO    ] Initializing speech engine...
[2026-10-20 06:21:49,526.526 INFO    ] 2026-10-20 06:21:49
[2026-10-20 06:21:49,778.778 INFO    ] 2026-10-20 06:21:49
[2026-10-20 06:21:49,820.820 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:21:50,071.071 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:21:50,080.080 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:21:50,293.293 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:21:50,346.346 INFO    ] time= 20/10/2026 06:21:50
[2026-10-20 06:21:50,353.353 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:21:50,369.369 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:21:50,502.502 INFO    ] No existing commands found in stream
[2026-10-20 06:21:55,517.517 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:21:55,520.520 INFO    ] Waiting 3.55 seconds before fallback handling...
[2026-10-20 06:21:59,582.582 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:21:59,585.585 INFO    ] Checking for system updates...
[2026-10-20 06:21:59,621.621 INFO    ] 200
[2026-10-20 06:21:59,624.624 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:21:59,683.683 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:21:59,686.686 INFO    ] No update needed
[2026-10-20 06:21:59,689.689 INFO    ] Checking for camera pi updates...
[2026-10-20 06:21:59,726.726 INFO    ] 200
[2026-10-20 06:21:59,729.729 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:21:59,770.770 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:21:59,823.823 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:21:59,825.825 INFO    ] No camera update needed
[2026-10-20 06:21:59,827.827 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:21:59,830.830 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:21:59,835.835 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:21:59,840.840 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:22:01,891.891 INFO    ] ================================================
[2026-10-20 06:22:01,928.928 INFO    ] Launching Daemon at Tue Oct 20 06:22:01 IST 2026
[2026-10-20 06:22:01,950.950 INFO    ] ================================================
[2026-10-20 06:22:02,596.596 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:22:02
[2026-10-20 06:22:03,245.245 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:22:03,573.573 INFO    ] Initializing speech engine...
[2026-10-20 06:22:03,582.582 INFO    ] 2026-10-20 06:22:03
[2026-10-20 06:22:03,854.854 INFO    ] 2026-10-20 06:22:03
[2026-10-20 06:22:03,889.889 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:22:04,080.080 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:22:04,138.138 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:22:04,313.313 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:22:04,316.316 INFO    ] time= 20/10/2026 06:22:04
[2026-10-20 06:22:04,319.319 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:22:04,373.373 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:22:04,463.463 INFO    ] No existing commands found in stream
[2026-10-20 06:22:09,474.474 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:22:09,477.477 INFO    ] Waiting 2.27 seconds before fallback handling...
[2026-10-20 06:22:12,231.231 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 06:22:12,234.234 INFO    ] Checking for system updates...
[2026-10-20 06:22:12,269.269 INFO    ] 200
[2026-10-20 06:22:12,271.271 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:22:12,330.330 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:22:12,332.332 INFO    ] No update needed
[2026-10-20 06:22:12,335.335 INFO    ] Checking for camera pi updates...
[2026-10-20 06:22:12,371.371 INFO    ] 200
[2026-10-20 06:22:12,374.374 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:22:12,413.413 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:22:12,457.457 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:22:12,460.460 INFO    ] No camera update needed
[2026-10-20 06:22:12,462.462 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:22:12,465.465 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:22:12,470.470 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:22:12,475.475 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:22:14,517.517 INFO    ] ================================================
[2026-10-20 06:22:14,532.532 INFO    ] Launching Daemon at Tue Oct 20 06:22:14 IST 2026
[2026-10-20 06:22:14,542.542 INFO    ] ================================================
[2026-10-20 06:22:15,105.105 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:22:15
[2026-10-20 06:22:15,689.689 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:22:15,960.960 INFO    ] Initializing speech engine...
[2026-10-20 06:22:15,969.969 INFO    ] 2026-10-20 06:22:15
[2026-10-20 06:22:16,218.218 INFO    ] 2026-10-20 06:22:16
[2026-10-20 06:22:16,252.252 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:22:16,491.491 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:22:16,514.514 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:22:16,741.741 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:22:16,783.783 INFO    ] time= 20/10/2026 06:22:16
[2026-10-20 06:22:16,789.789 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:22:16,808.808 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:22:16,961.961 INFO    ] No existing commands found in stream
[2026-10-20 06:22:21,991.991 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:22:21,994.994 INFO    ] Waiting 1.55 seconds before fallback handling...
[2026-10-20 06:22:24,040.040 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:22:24,043.043 INFO    ] Checking for system updates...
[2026-10-20 06:22:24,086.086 INFO    ] 200
[2026-10-20 06:22:24,090.090 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 06:22:24,093.093 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-10-20 06:22:24,095.095 INFO    ] Checking for camera pi updates...
[2026-10-20 06:22:24,141.141 INFO    ] 200
[2026-10-20 06:22:24,144.144 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 06:22:24,148.148 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-10-20 06:22:24,151.151 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:22:24,154.154 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:22:24,160.160 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:22:24,166.166 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:22:26,206.206 INFO    ] ================================================
[2026-10-20 06:22:26,221.221 INFO    ] Launching Daemon at Tue Oct 20 06:22:26 IST 2026
[2026-10-20 06:22:26,232.232 INFO    ] ================================================
[2026-10-20 06:22:26,893.893 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:22:26
[2026-10-20 06:22:27,477.477 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:22:27,737.737 INFO    ] Initializing speech engine...
[2026-10-20 06:22:27,752.752 INFO    ] 2026-10-20 06:22:27
[2026-10-20 06:22:28,006.006 INFO    ] 2026-10-20 06:22:27
[2026-10-20 06:22:28,042.042 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:22:28,305.305 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:22:28,311.311 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:22:28,505.505 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:22:28,559.559 INFO    ] time= 20/10/2026 06:22:28
[2026-10-20 06:22:28,581.581 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:22:28,596.596 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:22:28,733.733 INFO    ] No existing commands found in stream
[2026-10-20 06:22:33,753.753 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:22:33,755.755 INFO    ] Waiting 2.05 seconds before fallback handling...
[2026-10-20 06:22:36,290.290 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:22:36,292.292 INFO    ] Checking for system updates...
[2026-10-20 06:22:36,328.328 INFO    ] 200
[2026-10-20 06:22:36,331.331 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:22:36,389.389 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:22:36,392.392 INFO    ] No update needed
[2026-10-20 06:22:36,394.394 INFO    ] Checking for camera pi updates...
[2026-10-20 06:22:36,427.427 INFO    ] 200
[2026-10-20 06:22:36,430.430 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:22:36,470.470 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:22:36,516.516 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:22:36,518.518 INFO    ] No camera update needed
[2026-10-20 06:22:36,521.521 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:22:36,523.523 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:22:36,528.528 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:22:36,533.533 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:22:38,575.575 INFO    ] ================================================
[2026-10-20 06:22:38,590.590 INFO    ] Launching Daemon at Tue Oct 20 06:22:38 IST 2026
[2026-10-20 06:22:38,601.601 INFO    ] ================================================
[2026-10-20 06:22:39,167.167 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:22:39
[2026-10-20 06:22:39,828.828 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:22:40,138.138 INFO    ] Initializing speech engine...
[2026-10-20 06:22:40,150.150 INFO    ] 2026-10-20 06:22:40
[2026-10-20 06:22:40,434.434 INFO    ] 2026-10-20 06:22:40
[2026-10-20 06:22:40,482.482 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:22:40,769.769 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:22:40,778.778 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:22:40,979.979 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:22:40,996.996 INFO    ] time= 20/10/2026 06:22:40
[2026-10-20 06:22:41,008.008 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:22:41,037.037 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:22:41,155.155 INFO    ] No existing commands found in stream
[2026-10-20 06:22:46,185.185 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:22:46,188.188 INFO    ] Waiting 3.81 seconds before fallback handling...
[2026-10-20 06:22:50,635.635 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:22:50,638.638 INFO    ] Checking for system updates...
[2026-10-20 06:22:50,674.674 INFO    ] 200
[2026-10-20 06:22:50,677.677 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:22:50,730.730 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:22:50,733.733 INFO    ] No update needed
[2026-10-20 06:22:50,736.736 INFO    ] Checking for camera pi updates...
[2026-10-20 06:22:50,773.773 INFO    ] 200
[2026-10-20 06:22:50,776.776 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:22:50,822.822 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:22:50,874.874 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:22:50,877.877 INFO    ] No camera update needed
[2026-10-20 06:22:50,880.880 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:22:50,882.882 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:22:50,889.889 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:22:50,894.894 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:22:52,934.934 INFO    ] ================================================
[2026-10-20 06:22:52,949.949 INFO    ] Launching Daemon at Tue Oct 20 06:22:52 IST 2026
[2026-10-20 06:22:52,960.960 INFO    ] ================================================
[2026-10-20 06:22:53,527.527 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:22:53
[2026-10-20 06:22:54,111.111 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:22:54,360.360 INFO    ] Initializing speech engine...
[2026-10-20 06:22:54,363.363 INFO    ] 2026-10-20 06:22:54
[2026-10-20 06:22:54,640.640 INFO    ] 2026-10-20 06:22:54
[2026-10-20 06:22:54,676.676 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:22:55,066.066 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:22:55,102.102 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:22:55,319.319 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:22:55,357.357 INFO    ] time= 20/10/2026 06:22:55
[2026-10-20 06:22:55,407.407 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:22:55,467.467 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:22:55,619.619 INFO    ] No existing commands found in stream
[2026-10-20 06:23:00,631.631 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:23:00,634.634 INFO    ] Waiting 3.88 seconds before fallback handling...
[2026-10-20 06:23:04,994.994 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:23:04,996.996 INFO    ] Checking for system updates...
[2026-10-20 06:23:05,032.032 INFO    ] 200
[2026-10-20 06:23:05,034.034 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:23:05,092.092 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:23:05,095.095 INFO    ] No update needed
[2026-10-20 06:23:05,097.097 INFO    ] Checking for camera pi updates...
[2026-10-20 06:23:05,133.133 INFO    ] 200
[2026-10-20 06:23:05,135.135 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:23:05,179.179 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:23:05,229.229 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:23:05,232.232 INFO    ] No camera update needed
[2026-10-20 06:23:05,234.234 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:23:05,237.237 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:23:05,242.242 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:23:05,247.247 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:23:07,288.288 INFO    ] ================================================
[2026-10-20 06:23:07,304.304 INFO    ] Launching Daemon at Tue Oct 20 06:23:07 IST 2026
[2026-10-20 06:23:07,314.314 INFO    ] ================================================
[2026-10-20 06:23:07,895.895 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:23:07
[2026-10-20 06:23:08,498.498 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:23:08,762.762 INFO    ] Initializing speech engine...
[2026-10-20 06:23:08,776.776 INFO    ] 2026-10-20 06:23:08
[2026-10-20 06:23:09,059.059 INFO    ] 2026-10-20 06:23:09
[2026-10-20 06:23:09,097.097 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:23:09,318.318 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:23:09,352.352 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:23:09,548.548 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:23:09,589.589 INFO    ] time= 20/10/2026 06:23:09
[2026-10-20 06:23:09,638.638 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:23:09,687.687 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:23:09,823.823 INFO    ] No existing commands found in stream
[2026-10-20 06:23:14,846.846 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:23:14,849.849 INFO    ] Waiting 1.62 seconds before fallback handling...
[2026-10-20 06:23:16,925.925 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:23:16,928.928 INFO    ] Checking for system updates...
[2026-10-20 06:23:16,967.967 INFO    ] 200
[2026-10-20 06:23:16,970.970 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:23:17,022.022 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:23:17,024.024 INFO    ] No update needed
[2026-10-20 06:23:17,026.026 INFO    ] Checking for camera pi updates...
[2026-10-20 06:23:17,063.063 INFO    ] 200
[2026-10-20 06:23:17,065.065 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:23:17,109.109 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:23:17,156.156 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:23:17,159.159 INFO    ] No camera update needed
[2026-10-20 06:23:17,161.161 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:23:17,164.164 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:23:17,169.169 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:23:17,174.174 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:23:19,214.214 INFO    ] ================================================
[2026-10-20 06:23:19,228.228 INFO    ] Launching Daemon at Tue Oct 20 06:23:19 IST 2026
[2026-10-20 06:23:19,239.239 INFO    ] ================================================
[2026-10-20 06:23:19,813.813 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:23:19
[2026-10-20 06:23:20,396.396 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:23:20,649.649 INFO    ] Initializing speech engine...
[2026-10-20 06:23:20,665.665 INFO    ] 2026-10-20 06:23:20
[2026-10-20 06:23:20,950.950 INFO    ] 2026-10-20 06:23:20
[2026-10-20 06:23:20,987.987 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:23:21,206.206 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:23:21,214.214 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:23:21,433.433 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:23:21,475.475 INFO    ] time= 20/10/2026 06:23:21
[2026-10-20 06:23:21,529.529 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:23:21,563.563 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:23:21,721.721 INFO    ] No existing commands found in stream
[2026-10-20 06:23:26,746.746 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:23:26,749.749 INFO    ] Waiting 0.52 seconds before fallback handling...
[2026-10-20 06:23:27,790.790 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:23:27,793.793 INFO    ] Checking for system updates...
[2026-10-20 06:23:27,830.830 INFO    ] 200
[2026-10-20 06:23:27,833.833 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:23:27,885.885 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:23:27,888.888 INFO    ] No update needed
[2026-10-20 06:23:27,890.890 INFO    ] Checking for camera pi updates...
[2026-10-20 06:23:27,924.924 INFO    ] 200
[2026-10-20 06:23:27,927.927 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:23:27,968.968 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:23:28,018.018 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:23:28,021.021 INFO    ] No camera update needed
[2026-10-20 06:23:28,025.025 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:23:28,028.028 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:23:28,036.036 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:23:28,042.042 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:23:30,083.083 INFO    ] ================================================
[2026-10-20 06:23:30,102.102 INFO    ] Launching Daemon at Tue Oct 20 06:23:30 IST 2026
[2026-10-20 06:23:30,112.112 INFO    ] ================================================
[2026-10-20 06:23:30,700.700 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:23:30
[2026-10-20 06:23:31,344.344 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:23:31,646.646 INFO    ] Initializing speech engine...
[2026-10-20 06:23:31,657.657 INFO    ] 2026-10-20 06:23:31
[2026-10-20 06:23:31,932.932 INFO    ] 2026-10-20 06:23:31
[2026-10-20 06:23:31,993.993 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:23:32,229.229 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:23:32,235.235 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:23:32,375.375 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:23:32,442.442 INFO    ] time= 20/10/2026 06:23:32
[2026-10-20 06:23:32,493.493 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:23:32,533.533 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:23:32,672.672 INFO    ] No existing commands found in stream
[2026-10-20 06:23:37,690.690 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:23:37,693.693 INFO    ] Waiting 1.58 seconds before fallback handling...
[2026-10-20 06:23:39,761.761 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 06:23:39,764.764 INFO    ] Checking for system updates...
[2026-10-20 06:23:39,802.802 INFO    ] 200
[2026-10-20 06:23:39,805.805 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:23:39,862.862 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:23:39,864.864 INFO    ] No update needed
[2026-10-20 06:23:39,867.867 INFO    ] Checking for camera pi updates...
[2026-10-20 06:23:39,903.903 INFO    ] 200
[2026-10-20 06:23:39,905.905 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:23:39,946.946 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:23:39,994.994 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:23:39,996.996 INFO    ] No camera update needed
[2026-10-20 06:23:39,999.999 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:23:40,001.001 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:23:40,006.006 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:23:40,011.011 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:23:42,052.052 INFO    ] ================================================
[2026-10-20 06:23:42,067.067 INFO    ] Launching Daemon at Tue Oct 20 06:23:42 IST 2026
[2026-10-20 06:23:42,077.077 INFO    ] ================================================
[2026-10-20 06:23:42,642.642 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:23:42
[2026-10-20 06:23:43,223.223 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:23:43,513.513 INFO    ] Initializing speech engine...
[2026-10-20 06:23:43,522.522 INFO    ] 2026-10-20 06:23:43
[2026-10-20 06:23:43,802.802 INFO    ] 2026-10-20 06:23:43
[2026-10-20 06:23:43,849.849 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:23:44,130.130 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:23:44,137.137 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:23:44,333.333 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:23:44,352.352 INFO    ] time= 20/10/2026 06:23:44
[2026-10-20 06:23:44,370.370 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:23:44,388.388 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:23:44,501.501 INFO    ] No existing commands found in stream
[2026-10-20 06:23:49,531.531 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:23:49,534.534 INFO    ] Waiting 0.59 seconds before fallback handling...
[2026-10-20 06:23:50,664.664 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:23:50,667.667 INFO    ] Checking for system updates...
[2026-10-20 06:23:50,702.702 INFO    ] 200
[2026-10-20 06:23:50,705.705 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:23:50,756.756 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:23:50,759.759 INFO    ] No update needed
[2026-10-20 06:23:50,761.761 INFO    ] Checking for camera pi updates...
[2026-10-20 06:23:50,794.794 INFO    ] 200
[2026-10-20 06:23:50,797.797 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:23:50,838.838 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:23:50,985.985 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:23:50,987.987 INFO    ] No camera update needed
[2026-10-20 06:23:50,990.990 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:23:50,992.992 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:23:50,997.997 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:23:51,002.002 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:23:53,042.042 INFO    ] ================================================
[2026-10-20 06:23:53,056.056 INFO    ] Launching Daemon at Tue Oct 20 06:23:53 IST 2026
[2026-10-20 06:23:53,067.067 INFO    ] ================================================
[2026-10-20 06:23:53,647.647 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:23:53
[2026-10-20 06:23:54,250.250 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:23:54,527.527 INFO    ] Initializing speech engine...
[2026-10-20 06:23:54,534.534 INFO    ] 2026-10-20 06:23:54
[2026-10-20 06:23:54,796.796 INFO    ] 2026-10-20 06:23:54
[2026-10-20 06:23:54,827.827 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:23:55,073.073 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:23:55,082.082 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:23:55,285.285 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:23:55,341.341 INFO    ] time= 20/10/2026 06:23:55
[2026-10-20 06:23:55,347.347 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:23:55,366.366 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:23:55,507.507 INFO    ] No existing commands found in stream
[2026-10-20 06:24:00,532.532 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:24:00,535.535 INFO    ] Waiting 3.27 seconds before fallback handling...
[2026-10-20 06:24:04,311.311 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:24:04,313.313 INFO    ] Checking for system updates...
[2026-10-20 06:24:04,350.350 INFO    ] 200
[2026-10-20 06:24:04,352.352 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:24:04,406.406 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:24:04,408.408 INFO    ] No update needed
[2026-10-20 06:24:04,411.411 INFO    ] Checking for camera pi updates...
[2026-10-20 06:24:04,448.448 INFO    ] 200
[2026-10-20 06:24:04,451.451 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:24:04,496.496 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:24:04,541.541 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:24:04,544.544 INFO    ] No camera update needed
[2026-10-20 06:24:04,546.546 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:24:04,549.549 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:24:04,556.556 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:24:04,562.562 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:24:06,605.605 INFO    ] ================================================
[2026-10-20 06:24:06,620.620 INFO    ] Launching Daemon at Tue Oct 20 06:24:06 IST 2026
[2026-10-20 06:24:06,631.631 INFO    ] ================================================
[2026-10-20 06:24:07,293.293 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:24:07
[2026-10-20 06:24:07,968.968 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:24:08,272.272 INFO    ] Initializing speech engine...
[2026-10-20 06:24:08,286.286 INFO    ] 2026-10-20 06:24:08
[2026-10-20 06:24:08,572.572 INFO    ] 2026-10-20 06:24:08
[2026-10-20 06:24:08,612.612 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:24:08,893.893 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:24:08,902.902 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:24:09,099.099 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:24:09,115.115 INFO    ] time= 20/10/2026 06:24:09
[2026-10-20 06:24:09,125.125 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:24:09,153.153 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:24:09,283.283 INFO    ] No existing commands found in stream
[2026-10-20 06:24:14,319.319 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:24:14,323.323 INFO    ] Waiting 1.18 seconds before fallback handling...
[2026-10-20 06:24:16,039.039 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 06:24:16,042.042 INFO    ] Checking for system updates...
[2026-10-20 06:24:16,082.082 INFO    ] 200
[2026-10-20 06:24:16,084.084 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:24:16,144.144 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:24:16,147.147 INFO    ] No update needed
[2026-10-20 06:24:16,150.150 INFO    ] Checking for camera pi updates...
[2026-10-20 06:24:16,185.185 INFO    ] 200
[2026-10-20 06:24:16,188.188 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:24:16,228.228 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:24:16,273.273 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:24:16,275.275 INFO    ] No camera update needed
[2026-10-20 06:24:16,278.278 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:24:16,280.280 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:24:16,285.285 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:24:16,290.290 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:24:18,330.330 INFO    ] ================================================
[2026-10-20 06:24:18,345.345 INFO    ] Launching Daemon at Tue Oct 20 06:24:18 IST 2026
[2026-10-20 06:24:18,355.355 INFO    ] ================================================
[2026-10-20 06:24:18,924.924 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:24:18
[2026-10-20 06:24:19,526.526 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:24:19,796.796 INFO    ] Initializing speech engine...
[2026-10-20 06:24:19,821.821 INFO    ] 2026-10-20 06:24:19
[2026-10-20 06:24:20,097.097 INFO    ] 2026-10-20 06:24:20
[2026-10-20 06:24:20,133.133 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:24:20,358.358 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:24:20,366.366 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:24:20,589.589 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:24:20,611.611 INFO    ] time= 20/10/2026 06:24:20
[2026-10-20 06:24:20,680.680 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:24:20,735.735 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:24:20,888.888 INFO    ] No existing commands found in stream
[2026-10-20 06:24:25,913.913 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:24:25,916.916 INFO    ] Waiting 3.58 seconds before fallback handling...
[2026-10-20 06:24:30,008.008 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 06:24:30,011.011 INFO    ] Checking for system updates...
[2026-10-20 06:24:30,047.047 INFO    ] 200
[2026-10-20 06:24:30,050.050 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:24:30,108.108 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:24:30,111.111 INFO    ] No update needed
[2026-10-20 06:24:30,113.113 INFO    ] Checking for camera pi updates...
[2026-10-20 06:24:30,150.150 INFO    ] 200
[2026-10-20 06:24:30,152.152 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:24:30,192.192 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:24:30,238.238 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:24:30,240.240 INFO    ] No camera update needed
[2026-10-20 06:24:30,243.243 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:24:30,245.245 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:24:30,251.251 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:24:30,256.256 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:24:32,298.298 INFO    ] ================================================
[2026-10-20 06:24:32,314.314 INFO    ] Launching Daemon at Tue Oct 20 06:24:32 IST 2026
[2026-10-20 06:24:32,326.326 INFO    ] ================================================
[2026-10-20 06:24:33,024.024 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:24:33
[2026-10-20 06:24:33,697.697 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:24:33,998.998 INFO    ] Initializing speech engine...
[2026-10-20 06:24:34,008.008 INFO    ] 2026-10-20 06:24:34
[2026-10-20 06:24:34,297.297 INFO    ] 2026-10-20 06:24:34
[2026-10-20 06:24:34,341.341 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:24:34,631.631 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:24:34,640.640 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:24:34,844.844 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:24:34,863.863 INFO    ] time= 20/10/2026 06:24:34
[2026-10-20 06:24:34,893.893 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:24:34,900.900 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:24:35,020.020 INFO    ] No existing commands found in stream
[2026-10-20 06:24:40,046.046 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:24:40,049.049 INFO    ] Waiting 3.70 seconds before fallback handling...
[2026-10-20 06:24:44,304.304 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:24:44,307.307 INFO    ] Checking for system updates...
[2026-10-20 06:24:44,344.344 INFO    ] 200
[2026-10-20 06:24:44,347.347 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:24:44,406.406 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:24:44,409.409 INFO    ] No update needed
[2026-10-20 06:24:44,412.412 INFO    ] Checking for camera pi updates...
[2026-10-20 06:24:44,450.450 INFO    ] 200
[2026-10-20 06:24:44,453.453 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:24:44,502.502 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:24:44,549.549 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:24:44,551.551 INFO    ] No camera update needed
[2026-10-20 06:24:44,554.554 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:24:44,556.556 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:24:44,561.561 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:24:44,566.566 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:24:46,607.607 INFO    ] ================================================
[2026-10-20 06:24:46,622.622 INFO    ] Launching Daemon at Tue Oct 20 06:24:46 IST 2026
[2026-10-20 06:24:46,632.632 INFO    ] ================================================
[2026-10-20 06:24:47,218.218 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:24:47
[2026-10-20 06:24:47,815.815 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:24:48,094.094 INFO    ] Initializing speech engine...
[2026-10-20 06:24:48,103.103 INFO    ] 2026-10-20 06:24:48
[2026-10-20 06:24:48,365.365 INFO    ] 2026-10-20 06:24:48
[2026-10-20 06:24:48,419.419 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:24:48,646.646 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:24:48,652.652 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:24:48,890.890 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:24:48,910.910 INFO    ] time= 20/10/2026 06:24:48
[2026-10-20 06:24:48,925.925 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:24:48,934.934 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:24:49,060.060 INFO    ] No existing commands found in stream
[2026-10-20 06:24:54,073.073 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:24:54,076.076 INFO    ] Waiting 3.78 seconds before fallback handling...
[2026-10-20 06:24:58,365.365 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 06:24:58,368.368 INFO    ] Checking for system updates...
[2026-10-20 06:24:58,407.407 INFO    ] 200
[2026-10-20 06:24:58,410.410 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:24:58,468.468 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:24:58,471.471 INFO    ] No update needed
[2026-10-20 06:24:58,473.473 INFO    ] Checking for camera pi updates...
[2026-10-20 06:24:58,506.506 INFO    ] 200
[2026-10-20 06:24:58,509.509 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:24:58,550.550 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:24:58,606.606 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:24:58,608.608 INFO    ] No camera update needed
[2026-10-20 06:24:58,611.611 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:24:58,613.613 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:24:58,618.618 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:24:58,623.623 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:25:00,667.667 INFO    ] ================================================
[2026-10-20 06:25:00,682.682 INFO    ] Launching Daemon at Tue Oct 20 06:25:00 IST 2026
[2026-10-20 06:25:00,693.693 INFO    ] ================================================
[2026-10-20 06:25:01,345.345 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:25:01
[2026-10-20 06:25:02,467.467 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:25:02,952.952 INFO    ] Initializing speech engine...
[2026-10-20 06:25:02,955.955 INFO    ] 2026-10-20 06:25:02
[2026-10-20 06:25:03,288.288 INFO    ] 2026-10-20 06:25:03
[2026-10-20 06:25:03,323.323 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:25:03,615.615 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:25:03,625.625 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:25:03,799.799 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:25:03,851.851 INFO    ] time= 20/10/2026 06:25:03
[2026-10-20 06:25:03,877.877 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:25:03,889.889 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:25:04,017.017 INFO    ] No existing commands found in stream
[2026-10-20 06:25:09,027.027 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:25:09,037.037 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-10-20 06:25:10,165.165 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 06:25:10,168.168 INFO    ] Checking for system updates...
[2026-10-20 06:25:10,203.203 INFO    ] 200
[2026-10-20 06:25:10,206.206 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:25:10,267.267 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:25:10,270.270 INFO    ] No update needed
[2026-10-20 06:25:10,272.272 INFO    ] Checking for camera pi updates...
[2026-10-20 06:25:10,306.306 INFO    ] 200
[2026-10-20 06:25:10,308.308 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:25:10,348.348 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:25:10,393.393 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:25:10,396.396 INFO    ] No camera update needed
[2026-10-20 06:25:10,398.398 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:25:10,401.401 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:25:10,406.406 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:25:10,411.411 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:25:12,451.451 INFO    ] ================================================
[2026-10-20 06:25:12,467.467 INFO    ] Launching Daemon at Tue Oct 20 06:25:12 IST 2026
[2026-10-20 06:25:12,478.478 INFO    ] ================================================
[2026-10-20 06:25:13,046.046 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:25:13
[2026-10-20 06:25:13,649.649 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:25:13,910.910 INFO    ] Initializing speech engine...
[2026-10-20 06:25:13,916.916 INFO    ] 2026-10-20 06:25:13
[2026-10-20 06:25:14,211.211 INFO    ] 2026-10-20 06:25:14
[2026-10-20 06:25:14,247.247 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:25:14,472.472 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:25:14,480.480 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:25:14,625.625 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:25:14,631.631 INFO    ] time= 20/10/2026 06:25:14
[2026-10-20 06:25:14,637.637 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:25:14,643.643 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:25:14,802.802 INFO    ] No existing commands found in stream
[2026-10-20 06:25:19,832.832 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:25:19,835.835 INFO    ] Waiting 0.06 seconds before fallback handling...
[2026-10-20 06:25:20,382.382 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 06:25:20,385.385 INFO    ] Checking for system updates...
[2026-10-20 06:25:20,424.424 INFO    ] 200
[2026-10-20 06:25:20,426.426 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:25:20,484.484 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:25:20,486.486 INFO    ] No update needed
[2026-10-20 06:25:20,489.489 INFO    ] Checking for camera pi updates...
[2026-10-20 06:25:20,525.525 INFO    ] 200
[2026-10-20 06:25:20,528.528 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:25:20,572.572 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:25:20,617.617 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:25:20,620.620 INFO    ] No camera update needed
[2026-10-20 06:25:20,623.623 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:25:20,625.625 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:25:20,630.630 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:25:20,635.635 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:25:22,676.676 INFO    ] ================================================
[2026-10-20 06:25:22,692.692 INFO    ] Launching Daemon at Tue Oct 20 06:25:22 IST 2026
[2026-10-20 06:25:22,703.703 INFO    ] ================================================
[2026-10-20 06:25:23,348.348 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:25:23
[2026-10-20 06:25:24,011.011 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:25:24,314.314 INFO    ] Initializing speech engine...
[2026-10-20 06:25:24,319.319 INFO    ] 2026-10-20 06:25:24
[2026-10-20 06:25:24,592.592 INFO    ] 2026-10-20 06:25:24
[2026-10-20 06:25:24,649.649 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:25:24,884.884 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:25:24,910.910 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:25:25,119.119 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:25:25,158.158 INFO    ] time= 20/10/2026 06:25:25
[2026-10-20 06:25:25,165.165 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:25:25,186.186 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:25:25,340.340 INFO    ] No existing commands found in stream
[2026-10-20 06:25:30,376.376 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:25:30,380.380 INFO    ] Waiting 1.24 seconds before fallback handling...
[2026-10-20 06:25:32,193.193 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:25:32,196.196 INFO    ] Checking for system updates...
[2026-10-20 06:25:32,234.234 INFO    ] 200
[2026-10-20 06:25:32,237.237 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:25:32,299.299 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:25:32,302.302 INFO    ] No update needed
[2026-10-20 06:25:32,304.304 INFO    ] Checking for camera pi updates...
[2026-10-20 06:25:32,344.344 INFO    ] 200
[2026-10-20 06:25:32,347.347 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:25:32,394.394 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:25:32,429.429 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:25:32,432.432 INFO    ] No camera update needed
[2026-10-20 06:25:32,434.434 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:25:32,437.437 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:25:32,443.443 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:25:32,449.449 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:25:34,489.489 INFO    ] ================================================
[2026-10-20 06:25:34,505.505 INFO    ] Launching Daemon at Tue Oct 20 06:25:34 IST 2026
[2026-10-20 06:25:34,517.517 INFO    ] ================================================
[2026-10-20 06:25:35,163.163 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:25:35
[2026-10-20 06:25:35,828.828 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:25:36,132.132 INFO    ] Initializing speech engine...
[2026-10-20 06:25:36,146.146 INFO    ] 2026-10-20 06:25:36
[2026-10-20 06:25:36,422.422 INFO    ] 2026-10-20 06:25:36
[2026-10-20 06:25:36,471.471 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:25:36,718.718 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:25:36,728.728 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:25:36,882.882 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:25:36,926.926 INFO    ] time= 20/10/2026 06:25:36
[2026-10-20 06:25:36,975.975 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:25:37,030.030 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:25:37,179.179 INFO    ] No existing commands found in stream
[2026-10-20 06:25:42,208.208 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:25:42,211.211 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-10-20 06:25:43,809.809 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:25:43,811.811 INFO    ] Checking for system updates...
[2026-10-20 06:25:43,850.850 INFO    ] 200
[2026-10-20 06:25:43,853.853 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:25:43,904.904 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:25:43,906.906 INFO    ] No update needed
[2026-10-20 06:25:43,908.908 INFO    ] Checking for camera pi updates...
[2026-10-20 06:25:43,945.945 INFO    ] 200
[2026-10-20 06:25:43,947.947 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:25:43,987.987 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:25:44,034.034 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:25:44,037.037 INFO    ] No camera update needed
[2026-10-20 06:25:44,039.039 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:25:44,041.041 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:25:44,047.047 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:25:44,052.052 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:25:46,091.091 INFO    ] ================================================
[2026-10-20 06:25:46,107.107 INFO    ] Launching Daemon at Tue Oct 20 06:25:46 IST 2026
[2026-10-20 06:25:46,118.118 INFO    ] ================================================
[2026-10-20 06:25:46,688.688 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:25:46
[2026-10-20 06:25:47,285.285 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:25:47,580.580 INFO    ] Initializing speech engine...
[2026-10-20 06:25:47,587.587 INFO    ] 2026-10-20 06:25:47
[2026-10-20 06:25:47,856.856 INFO    ] 2026-10-20 06:25:47
[2026-10-20 06:25:47,914.914 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:25:48,160.160 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:25:48,168.168 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:25:48,372.372 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:25:48,404.404 INFO    ] time= 20/10/2026 06:25:48
[2026-10-20 06:25:48,410.410 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:25:48,432.432 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:25:48,555.555 INFO    ] No existing commands found in stream
[2026-10-20 06:25:53,572.572 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:25:53,575.575 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-10-20 06:25:57,375.375 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:25:57,378.378 INFO    ] Checking for system updates...
[2026-10-20 06:25:57,415.415 INFO    ] 200
[2026-10-20 06:25:57,418.418 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:25:57,476.476 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:25:57,479.479 INFO    ] No update needed
[2026-10-20 06:25:57,481.481 INFO    ] Checking for camera pi updates...
[2026-10-20 06:25:57,519.519 INFO    ] 200
[2026-10-20 06:25:57,522.522 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:25:57,569.569 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:25:57,715.715 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:25:57,717.717 INFO    ] No camera update needed
[2026-10-20 06:25:57,720.720 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:25:57,722.722 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:25:57,727.727 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:25:57,732.732 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:25:59,772.772 INFO    ] ================================================
[2026-10-20 06:25:59,788.788 INFO    ] Launching Daemon at Tue Oct 20 06:25:59 IST 2026
[2026-10-20 06:25:59,798.798 INFO    ] ================================================
[2026-10-20 06:26:00,365.365 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:26:00
[2026-10-20 06:26:00,948.948 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:26:01,206.206 INFO    ] Initializing speech engine...
[2026-10-20 06:26:01,225.225 INFO    ] 2026-10-20 06:26:01
[2026-10-20 06:26:01,486.486 INFO    ] 2026-10-20 06:26:01
[2026-10-20 06:26:01,596.596 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:26:01,883.883 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:26:01,914.914 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:26:02,075.075 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:26:02,134.134 INFO    ] time= 20/10/2026 06:26:02
[2026-10-20 06:26:02,177.177 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:26:02,218.218 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:26:02,358.358 INFO    ] No existing commands found in stream
[2026-10-20 06:26:07,390.390 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:26:07,392.392 INFO    ] Waiting 3.49 seconds before fallback handling...
[2026-10-20 06:26:11,425.425 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:26:11,428.428 INFO    ] Checking for system updates...
[2026-10-20 06:26:11,471.471 INFO    ] 200
[2026-10-20 06:26:11,473.473 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:26:11,533.533 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:26:11,535.535 INFO    ] No update needed
[2026-10-20 06:26:11,538.538 INFO    ] Checking for camera pi updates...
[2026-10-20 06:26:11,577.577 INFO    ] 200
[2026-10-20 06:26:11,579.579 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:26:11,630.630 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:26:11,681.681 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:26:11,683.683 INFO    ] No camera update needed
[2026-10-20 06:26:11,686.686 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:26:11,688.688 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:26:11,694.694 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:26:11,700.700 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:26:13,741.741 INFO    ] ================================================
[2026-10-20 06:26:13,756.756 INFO    ] Launching Daemon at Tue Oct 20 06:26:13 IST 2026
[2026-10-20 06:26:13,767.767 INFO    ] ================================================
[2026-10-20 06:26:14,421.421 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:26:14
[2026-10-20 06:26:15,097.097 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:26:15,376.376 INFO    ] Initializing speech engine...
[2026-10-20 06:26:15,392.392 INFO    ] 2026-10-20 06:26:15
[2026-10-20 06:26:15,666.666 INFO    ] 2026-10-20 06:26:15
[2026-10-20 06:26:15,702.702 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:26:15,931.931 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:26:15,992.992 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:26:16,158.158 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:26:16,169.169 INFO    ] time= 20/10/2026 06:26:16
[2026-10-20 06:26:16,220.220 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:26:16,273.273 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:26:16,370.370 INFO    ] No existing commands found in stream
[2026-10-20 06:26:21,381.381 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:26:21,384.384 INFO    ] Waiting 2.39 seconds before fallback handling...
[2026-10-20 06:26:24,285.285 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:26:24,288.288 INFO    ] Checking for system updates...
[2026-10-20 06:26:24,323.323 INFO    ] 200
[2026-10-20 06:26:24,326.326 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:26:24,384.384 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:26:24,387.387 INFO    ] No update needed
[2026-10-20 06:26:24,389.389 INFO    ] Checking for camera pi updates...
[2026-10-20 06:26:24,422.422 INFO    ] 200
[2026-10-20 06:26:24,425.425 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:26:24,465.465 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:26:24,517.517 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:26:24,520.520 INFO    ] No camera update needed
[2026-10-20 06:26:24,522.522 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:26:24,524.524 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:26:24,530.530 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:26:24,536.536 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:26:26,575.575 INFO    ] ================================================
[2026-10-20 06:26:26,590.590 INFO    ] Launching Daemon at Tue Oct 20 06:26:26 IST 2026
[2026-10-20 06:26:26,601.601 INFO    ] ================================================
[2026-10-20 06:26:27,206.206 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:26:27
[2026-10-20 06:26:27,845.845 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:26:28,098.098 INFO    ] Initializing speech engine...
[2026-10-20 06:26:28,104.104 INFO    ] 2026-10-20 06:26:28
[2026-10-20 06:26:28,404.404 INFO    ] 2026-10-20 06:26:28
[2026-10-20 06:26:28,439.439 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:26:28,641.641 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:26:28,656.656 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:26:28,820.820 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:26:28,827.827 INFO    ] time= 20/10/2026 06:26:28
[2026-10-20 06:26:28,835.835 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:26:28,841.841 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:26:28,989.989 INFO    ] No existing commands found in stream
[2026-10-20 06:26:34,014.014 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:26:34,016.016 INFO    ] Waiting 2.32 seconds before fallback handling...
[2026-10-20 06:26:36,784.784 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 06:26:36,786.786 INFO    ] Checking for system updates...
[2026-10-20 06:26:36,821.821 INFO    ] 200
[2026-10-20 06:26:36,824.824 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:26:36,879.879 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:26:36,881.881 INFO    ] No update needed
[2026-10-20 06:26:36,883.883 INFO    ] Checking for camera pi updates...
[2026-10-20 06:26:36,921.921 INFO    ] 200
[2026-10-20 06:26:36,923.923 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:26:36,963.963 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:26:37,007.007 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:26:37,010.010 INFO    ] No camera update needed
[2026-10-20 06:26:37,012.012 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:26:37,015.015 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:26:37,020.020 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:26:37,025.025 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:26:39,064.064 INFO    ] ================================================
[2026-10-20 06:26:39,079.079 INFO    ] Launching Daemon at Tue Oct 20 06:26:39 IST 2026
[2026-10-20 06:26:39,089.089 INFO    ] ================================================
[2026-10-20 06:26:39,657.657 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:26:39
[2026-10-20 06:26:40,242.242 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:26:40,513.513 INFO    ] Initializing speech engine...
[2026-10-20 06:26:40,523.523 INFO    ] 2026-10-20 06:26:40
[2026-10-20 06:26:40,773.773 INFO    ] 2026-10-20 06:26:40
[2026-10-20 06:26:40,808.808 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:26:41,010.010 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:26:41,066.066 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:26:41,274.274 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:26:41,329.329 INFO    ] time= 20/10/2026 06:26:41
[2026-10-20 06:26:41,346.346 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:26:41,361.361 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:26:41,500.500 INFO    ] No existing commands found in stream
[2026-10-20 06:26:46,512.512 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:26:46,514.514 INFO    ] Waiting 3.26 seconds before fallback handling...
[2026-10-20 06:26:50,300.300 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 06:26:50,303.303 INFO    ] Checking for system updates...
[2026-10-20 06:26:50,346.346 INFO    ] 200
[2026-10-20 06:26:50,349.349 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:26:50,414.414 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:26:50,417.417 INFO    ] No update needed
[2026-10-20 06:26:50,420.420 INFO    ] Checking for camera pi updates...
[2026-10-20 06:26:50,453.453 INFO    ] 200
[2026-10-20 06:26:50,456.456 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:26:50,500.500 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:26:50,544.544 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:26:50,546.546 INFO    ] No camera update needed
[2026-10-20 06:26:50,549.549 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:26:50,551.551 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:26:50,556.556 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:26:50,561.561 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:26:52,602.602 INFO    ] ================================================
[2026-10-20 06:26:52,617.617 INFO    ] Launching Daemon at Tue Oct 20 06:26:52 IST 2026
[2026-10-20 06:26:52,627.627 INFO    ] ================================================
[2026-10-20 06:26:53,195.195 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:26:53
[2026-10-20 06:26:53,800.800 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:26:54,103.103 INFO    ] Initializing speech engine...
[2026-10-20 06:26:54,108.108 INFO    ] 2026-10-20 06:26:54
[2026-10-20 06:26:54,393.393 INFO    ] 2026-10-20 06:26:54
[2026-10-20 06:26:54,438.438 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:26:54,667.667 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:26:54,672.672 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:26:54,885.885 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:26:54,933.933 INFO    ] time= 20/10/2026 06:26:54
[2026-10-20 06:26:54,939.939 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:26:54,957.957 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:26:55,092.092 INFO    ] No existing commands found in stream
[2026-10-20 06:27:00,114.114 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:27:00,117.117 INFO    ] Waiting 1.46 seconds before fallback handling...
[2026-10-20 06:27:02,170.170 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:27:02,173.173 INFO    ] Checking for system updates...
[2026-10-20 06:27:02,218.218 INFO    ] 200
[2026-10-20 06:27:02,221.221 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:27:02,294.294 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:27:02,298.298 INFO    ] No update needed
[2026-10-20 06:27:02,301.301 INFO    ] Checking for camera pi updates...
[2026-10-20 06:27:02,343.343 INFO    ] 200
[2026-10-20 06:27:02,346.346 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:27:02,409.409 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:27:02,446.446 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:27:02,449.449 INFO    ] No camera update needed
[2026-10-20 06:27:02,452.452 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:27:02,455.455 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:27:02,462.462 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:27:02,468.468 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:27:04,512.512 INFO    ] ================================================
[2026-10-20 06:27:04,527.527 INFO    ] Launching Daemon at Tue Oct 20 06:27:04 IST 2026
[2026-10-20 06:27:04,539.539 INFO    ] ================================================
[2026-10-20 06:27:05,193.193 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:27:05
[2026-10-20 06:27:05,870.870 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:27:06,175.175 INFO    ] Initializing speech engine...
[2026-10-20 06:27:06,186.186 INFO    ] 2026-10-20 06:27:06
[2026-10-20 06:27:06,465.465 INFO    ] 2026-10-20 06:27:06
[2026-10-20 06:27:06,509.509 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:27:06,735.735 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:27:06,741.741 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:27:06,976.976 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:27:07,002.002 INFO    ] time= 20/10/2026 06:27:06
[2026-10-20 06:27:07,021.021 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:27:07,050.050 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:27:07,217.217 INFO    ] No existing commands found in stream
[2026-10-20 06:27:12,248.248 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:27:12,252.252 INFO    ] Waiting 0.40 seconds before fallback handling...
[2026-10-20 06:27:13,154.154 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:27:13,157.157 INFO    ] Checking for system updates...
[2026-10-20 06:27:13,194.194 INFO    ] 200
[2026-10-20 06:27:13,196.196 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:27:13,256.256 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:27:13,258.258 INFO    ] No update needed
[2026-10-20 06:27:13,261.261 INFO    ] Checking for camera pi updates...
[2026-10-20 06:27:13,294.294 INFO    ] 200
[2026-10-20 06:27:13,296.296 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:27:13,343.343 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:27:13,392.392 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:27:13,394.394 INFO    ] No camera update needed
[2026-10-20 06:27:13,397.397 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:27:13,399.399 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:27:13,404.404 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:27:13,409.409 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:27:15,450.450 INFO    ] ================================================
[2026-10-20 06:27:15,466.466 INFO    ] Launching Daemon at Tue Oct 20 06:27:15 IST 2026
[2026-10-20 06:27:15,476.476 INFO    ] ================================================
[2026-10-20 06:27:16,066.066 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:27:16
[2026-10-20 06:27:16,668.668 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:27:16,946.946 INFO    ] Initializing speech engine...
[2026-10-20 06:27:16,953.953 INFO    ] 2026-10-20 06:27:16
[2026-10-20 06:27:17,214.214 INFO    ] 2026-10-20 06:27:17
[2026-10-20 06:27:17,244.244 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:27:17,490.490 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:27:17,500.500 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:27:17,635.635 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:27:17,710.710 INFO    ] time= 20/10/2026 06:27:17
[2026-10-20 06:27:17,763.763 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:27:17,769.769 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:27:17,911.911 INFO    ] No existing commands found in stream
[2026-10-20 06:27:22,927.927 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:27:22,930.930 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-10-20 06:27:26,936.936 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 06:27:26,939.939 INFO    ] Checking for system updates...
[2026-10-20 06:27:26,974.974 INFO    ] 200
[2026-10-20 06:27:26,977.977 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:27:27,030.030 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:27:27,032.032 INFO    ] No update needed
[2026-10-20 06:27:27,034.034 INFO    ] Checking for camera pi updates...
[2026-10-20 06:27:27,072.072 INFO    ] 200
[2026-10-20 06:27:27,074.074 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:27:27,115.115 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:27:27,167.167 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:27:27,169.169 INFO    ] No camera update needed
[2026-10-20 06:27:27,172.172 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:27:27,174.174 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:27:27,179.179 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:27:27,184.184 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:27:29,225.225 INFO    ] ================================================
[2026-10-20 06:27:29,240.240 INFO    ] Launching Daemon at Tue Oct 20 06:27:29 IST 2026
[2026-10-20 06:27:29,251.251 INFO    ] ================================================
[2026-10-20 06:27:29,832.832 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:27:29
[2026-10-20 06:27:30,430.430 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:27:30,704.704 INFO    ] Initializing speech engine...
[2026-10-20 06:27:30,714.714 INFO    ] 2026-10-20 06:27:30
[2026-10-20 06:27:30,968.968 INFO    ] 2026-10-20 06:27:30
[2026-10-20 06:27:31,025.025 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:27:31,254.254 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:27:31,260.260 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:27:31,467.467 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:27:31,518.518 INFO    ] time= 20/10/2026 06:27:31
[2026-10-20 06:27:31,524.524 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:27:31,542.542 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:27:31,667.667 INFO    ] No existing commands found in stream
[2026-10-20 06:27:36,693.693 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:27:36,696.696 INFO    ] Waiting 1.68 seconds before fallback handling...
[2026-10-20 06:27:38,874.874 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:27:38,877.877 INFO    ] Checking for system updates...
[2026-10-20 06:27:38,912.912 INFO    ] 200
[2026-10-20 06:27:38,914.914 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:27:38,967.967 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:27:38,970.970 INFO    ] No update needed
[2026-10-20 06:27:38,972.972 INFO    ] Checking for camera pi updates...
[2026-10-20 06:27:39,006.006 INFO    ] 200
[2026-10-20 06:27:39,009.009 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:27:39,048.048 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:27:39,110.110 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:27:39,113.113 INFO    ] No camera update needed
[2026-10-20 06:27:39,116.116 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:27:39,118.118 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:27:39,124.124 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:27:39,129.129 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:27:41,170.170 INFO    ] ================================================
[2026-10-20 06:27:41,186.186 INFO    ] Launching Daemon at Tue Oct 20 06:27:41 IST 2026
[2026-10-20 06:27:41,197.197 INFO    ] ================================================
[2026-10-20 06:27:41,853.853 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:27:41
[2026-10-20 06:27:42,529.529 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:27:42,835.835 INFO    ] Initializing speech engine...
[2026-10-20 06:27:42,847.847 INFO    ] 2026-10-20 06:27:42
[2026-10-20 06:27:43,158.158 INFO    ] 2026-10-20 06:27:43
[2026-10-20 06:27:43,241.241 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:27:43,456.456 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:27:43,464.464 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:27:43,657.657 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:27:43,674.674 INFO    ] time= 20/10/2026 06:27:43
[2026-10-20 06:27:43,684.684 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:27:43,711.711 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:27:43,836.836 INFO    ] No existing commands found in stream
[2026-10-20 06:27:48,867.867 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:27:48,871.871 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-10-20 06:27:50,931.931 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:27:50,934.934 INFO    ] Checking for system updates...
[2026-10-20 06:27:50,974.974 INFO    ] 200
[2026-10-20 06:27:50,977.977 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:27:51,036.036 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:27:51,039.039 INFO    ] No update needed
[2026-10-20 06:27:51,042.042 INFO    ] Checking for camera pi updates...
[2026-10-20 06:27:51,081.081 INFO    ] 200
[2026-10-20 06:27:51,084.084 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:27:51,126.126 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:27:51,183.183 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:27:51,185.185 INFO    ] No camera update needed
[2026-10-20 06:27:51,188.188 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:27:51,191.191 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:27:51,197.197 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:27:51,203.203 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:27:53,244.244 INFO    ] ================================================
[2026-10-20 06:27:53,260.260 INFO    ] Launching Daemon at Tue Oct 20 06:27:53 IST 2026
[2026-10-20 06:27:53,271.271 INFO    ] ================================================
[2026-10-20 06:27:53,840.840 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:27:53
[2026-10-20 06:27:54,423.423 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:27:54,669.669 INFO    ] Initializing speech engine...
[2026-10-20 06:27:54,677.677 INFO    ] 2026-10-20 06:27:54
[2026-10-20 06:27:54,952.952 INFO    ] 2026-10-20 06:27:54
[2026-10-20 06:27:54,987.987 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:27:55,245.245 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:27:55,254.254 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:27:55,393.393 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:27:55,463.463 INFO    ] time= 20/10/2026 06:27:55
[2026-10-20 06:27:55,523.523 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:27:55,529.529 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:27:55,680.680 INFO    ] No existing commands found in stream
[2026-10-20 06:28:00,694.694 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:28:00,697.697 INFO    ] Waiting 1.55 seconds before fallback handling...
[2026-10-20 06:28:02,758.758 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 06:28:02,761.761 INFO    ] Checking for system updates...
[2026-10-20 06:28:02,806.806 INFO    ] 200
[2026-10-20 06:28:02,809.809 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:28:02,869.869 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:28:02,872.872 INFO    ] No update needed
[2026-10-20 06:28:02,875.875 INFO    ] Checking for camera pi updates...
[2026-10-20 06:28:02,917.917 INFO    ] 200
[2026-10-20 06:28:02,921.921 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:28:02,977.977 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:28:03,010.010 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:28:03,014.014 INFO    ] No camera update needed
[2026-10-20 06:28:03,017.017 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:28:03,021.021 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:28:03,029.029 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:28:03,037.037 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:28:05,081.081 INFO    ] ================================================
[2026-10-20 06:28:05,096.096 INFO    ] Launching Daemon at Tue Oct 20 06:28:05 IST 2026
[2026-10-20 06:28:05,107.107 INFO    ] ================================================
[2026-10-20 06:28:05,676.676 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:28:05
[2026-10-20 06:28:06,260.260 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:28:06,516.516 INFO    ] Initializing speech engine...
[2026-10-20 06:28:06,530.530 INFO    ] 2026-10-20 06:28:06
[2026-10-20 06:28:06,812.812 INFO    ] 2026-10-20 06:28:06
[2026-10-20 06:28:06,849.849 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:28:07,074.074 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:28:07,129.129 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:28:07,297.297 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:28:07,329.329 INFO    ] time= 20/10/2026 06:28:07
[2026-10-20 06:28:07,384.384 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:28:07,438.438 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:28:07,607.607 INFO    ] No existing commands found in stream
[2026-10-20 06:28:12,628.628 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:28:12,631.631 INFO    ] Waiting 3.65 seconds before fallback handling...
[2026-10-20 06:28:16,788.788 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 06:28:16,790.790 INFO    ] Checking for system updates...
[2026-10-20 06:28:16,829.829 INFO    ] 200
[2026-10-20 06:28:16,831.831 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:28:16,889.889 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:28:16,891.891 INFO    ] No update needed
[2026-10-20 06:28:16,893.893 INFO    ] Checking for camera pi updates...
[2026-10-20 06:28:16,926.926 INFO    ] 200
[2026-10-20 06:28:16,929.929 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:28:16,973.973 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:28:17,017.017 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:28:17,020.020 INFO    ] No camera update needed
[2026-10-20 06:28:17,022.022 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:28:17,025.025 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:28:17,030.030 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:28:17,035.035 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:28:19,076.076 INFO    ] ================================================
[2026-10-20 06:28:19,092.092 INFO    ] Launching Daemon at Tue Oct 20 06:28:19 IST 2026
[2026-10-20 06:28:19,104.104 INFO    ] ================================================
[2026-10-20 06:28:19,682.682 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:28:19
[2026-10-20 06:28:20,279.279 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:28:20,534.534 INFO    ] Initializing speech engine...
[2026-10-20 06:28:20,543.543 INFO    ] 2026-10-20 06:28:20
[2026-10-20 06:28:20,837.837 INFO    ] 2026-10-20 06:28:20
[2026-10-20 06:28:20,875.875 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:28:21,081.081 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:28:21,097.097 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:28:21,246.246 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:28:21,252.252 INFO    ] time= 20/10/2026 06:28:21
[2026-10-20 06:28:21,258.258 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:28:21,285.285 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:28:21,442.442 INFO    ] No existing commands found in stream
[2026-10-20 06:28:26,467.467 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:28:26,470.470 INFO    ] Waiting 1.58 seconds before fallback handling...
[2026-10-20 06:28:28,525.525 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:28:28,529.529 INFO    ] Checking for system updates...
[2026-10-20 06:28:28,565.565 INFO    ] 200
[2026-10-20 06:28:28,568.568 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:28:28,622.622 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:28:28,625.625 INFO    ] No update needed
[2026-10-20 06:28:28,628.628 INFO    ] Checking for camera pi updates...
[2026-10-20 06:28:28,662.662 INFO    ] 200
[2026-10-20 06:28:28,665.665 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:28:28,711.711 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:28:28,756.756 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:28:28,759.759 INFO    ] No camera update needed
[2026-10-20 06:28:28,762.762 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:28:28,764.764 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:28:28,771.771 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:28:28,776.776 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:28:30,817.817 INFO    ] ================================================
[2026-10-20 06:28:30,833.833 INFO    ] Launching Daemon at Tue Oct 20 06:28:30 IST 2026
[2026-10-20 06:28:30,845.845 INFO    ] ================================================
[2026-10-20 06:28:31,427.427 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:28:31
[2026-10-20 06:28:32,055.055 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:28:32,353.353 INFO    ] Initializing speech engine...
[2026-10-20 06:28:32,367.367 INFO    ] 2026-10-20 06:28:32
[2026-10-20 06:28:32,639.639 INFO    ] 2026-10-20 06:28:32
[2026-10-20 06:28:32,675.675 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:28:32,935.935 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:28:32,959.959 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:28:33,113.113 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:28:33,183.183 INFO    ] time= 20/10/2026 06:28:33
[2026-10-20 06:28:33,240.240 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:28:33,248.248 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:28:33,394.394 INFO    ] No existing commands found in stream
[2026-10-20 06:28:38,413.413 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:28:38,415.415 INFO    ] Waiting 3.37 seconds before fallback handling...
[2026-10-20 06:28:42,275.275 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 06:28:42,277.277 INFO    ] Checking for system updates...
[2026-10-20 06:28:42,316.316 INFO    ] 200
[2026-10-20 06:28:42,318.318 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:28:42,376.376 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:28:42,378.378 INFO    ] No update needed
[2026-10-20 06:28:42,381.381 INFO    ] Checking for camera pi updates...
[2026-10-20 06:28:42,414.414 INFO    ] 200
[2026-10-20 06:28:42,416.416 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:28:42,456.456 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:28:42,512.512 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:28:42,515.515 INFO    ] No camera update needed
[2026-10-20 06:28:42,517.517 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:28:42,519.519 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:28:42,525.525 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:28:42,530.530 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:28:44,571.571 INFO    ] ================================================
[2026-10-20 06:28:44,587.587 INFO    ] Launching Daemon at Tue Oct 20 06:28:44 IST 2026
[2026-10-20 06:28:44,598.598 INFO    ] ================================================
[2026-10-20 06:28:45,178.178 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:28:45
[2026-10-20 06:28:45,776.776 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:28:46,051.051 INFO    ] Initializing speech engine...
[2026-10-20 06:28:46,071.071 INFO    ] 2026-10-20 06:28:46
[2026-10-20 06:28:46,339.339 INFO    ] 2026-10-20 06:28:46
[2026-10-20 06:28:46,375.375 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:28:46,581.581 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:28:46,598.598 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:28:46,749.749 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:28:46,755.755 INFO    ] time= 20/10/2026 06:28:46
[2026-10-20 06:28:46,798.798 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:28:46,830.830 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:28:46,955.955 INFO    ] No existing commands found in stream
[2026-10-20 06:28:51,980.980 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:28:51,983.983 INFO    ] Waiting 3.32 seconds before fallback handling...
[2026-10-20 06:28:55,856.856 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 06:28:55,859.859 INFO    ] Checking for system updates...
[2026-10-20 06:28:55,895.895 INFO    ] 200
[2026-10-20 06:28:55,898.898 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:28:55,956.956 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:28:55,959.959 INFO    ] No update needed
[2026-10-20 06:28:55,962.962 INFO    ] Checking for camera pi updates...
[2026-10-20 06:28:55,999.999 INFO    ] 200
[2026-10-20 06:28:56,002.002 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:28:56,047.047 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:28:56,078.078 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:28:56,081.081 INFO    ] No camera update needed
[2026-10-20 06:28:56,083.083 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:28:56,086.086 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:28:56,092.092 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:28:56,099.099 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:28:58,140.140 INFO    ] ================================================
[2026-10-20 06:28:58,155.155 INFO    ] Launching Daemon at Tue Oct 20 06:28:58 IST 2026
[2026-10-20 06:28:58,166.166 INFO    ] ================================================
[2026-10-20 06:28:58,735.735 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:28:58
[2026-10-20 06:28:59,325.325 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:28:59,579.579 INFO    ] Initializing speech engine...
[2026-10-20 06:28:59,586.586 INFO    ] 2026-10-20 06:28:59
[2026-10-20 06:28:59,879.879 INFO    ] 2026-10-20 06:28:59
[2026-10-20 06:28:59,914.914 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:29:00,123.123 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:29:00,145.145 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:29:00,362.362 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:29:00,384.384 INFO    ] time= 20/10/2026 06:29:00
[2026-10-20 06:29:00,423.423 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:29:00,462.462 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:29:00,579.579 INFO    ] No existing commands found in stream
[2026-10-20 06:29:05,593.593 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:29:05,596.596 INFO    ] Waiting 1.54 seconds before fallback handling...
[2026-10-20 06:29:07,651.651 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 06:29:07,653.653 INFO    ] Checking for system updates...
[2026-10-20 06:29:07,689.689 INFO    ] 200
[2026-10-20 06:29:07,692.692 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:29:07,746.746 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:29:07,748.748 INFO    ] No update needed
[2026-10-20 06:29:07,750.750 INFO    ] Checking for camera pi updates...
[2026-10-20 06:29:07,783.783 INFO    ] 200
[2026-10-20 06:29:07,785.785 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:29:07,829.829 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:29:07,883.883 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:29:07,885.885 INFO    ] No camera update needed
[2026-10-20 06:29:07,887.887 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:29:07,890.890 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:29:07,895.895 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:29:07,900.900 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:29:09,941.941 INFO    ] ================================================
[2026-10-20 06:29:09,956.956 INFO    ] Launching Daemon at Tue Oct 20 06:29:09 IST 2026
[2026-10-20 06:29:09,968.968 INFO    ] ================================================
[2026-10-20 06:29:10,607.607 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:29:10
[2026-10-20 06:29:11,265.265 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:29:11,569.569 INFO    ] Initializing speech engine...
[2026-10-20 06:29:11,582.582 INFO    ] 2026-10-20 06:29:11
[2026-10-20 06:29:11,863.863 INFO    ] 2026-10-20 06:29:11
[2026-10-20 06:29:11,907.907 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:29:12,191.191 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:29:12,196.196 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:29:12,395.395 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:29:12,414.414 INFO    ] time= 20/10/2026 06:29:12
[2026-10-20 06:29:12,443.443 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:29:12,453.453 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:29:12,603.603 INFO    ] No existing commands found in stream
[2026-10-20 06:29:17,640.640 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:29:17,643.643 INFO    ] Waiting 1.89 seconds before fallback handling...
[2026-10-20 06:29:20,024.024 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 06:29:20,026.026 INFO    ] Checking for system updates...
[2026-10-20 06:29:20,062.062 INFO    ] 200
[2026-10-20 06:29:20,064.064 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:29:20,116.116 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:29:20,118.118 INFO    ] No update needed
[2026-10-20 06:29:20,121.121 INFO    ] Checking for camera pi updates...
[2026-10-20 06:29:20,154.154 INFO    ] 200
[2026-10-20 06:29:20,157.157 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:29:20,196.196 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:29:20,240.240 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:29:20,242.242 INFO    ] No camera update needed
[2026-10-20 06:29:20,244.244 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:29:20,247.247 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:29:20,252.252 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:29:20,257.257 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:29:22,297.297 INFO    ] ================================================
[2026-10-20 06:29:22,311.311 INFO    ] Launching Daemon at Tue Oct 20 06:29:22 IST 2026
[2026-10-20 06:29:22,322.322 INFO    ] ================================================
[2026-10-20 06:29:22,901.901 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:29:22
[2026-10-20 06:29:23,486.486 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:29:23,744.744 INFO    ] Initializing speech engine...
[2026-10-20 06:29:23,759.759 INFO    ] 2026-10-20 06:29:23
[2026-10-20 06:29:24,040.040 INFO    ] 2026-10-20 06:29:24
[2026-10-20 06:29:24,077.077 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:29:24,297.297 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:29:24,305.305 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:29:24,504.504 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:29:24,531.531 INFO    ] time= 20/10/2026 06:29:24
[2026-10-20 06:29:24,565.565 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:29:24,620.620 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:29:24,733.733 INFO    ] No existing commands found in stream
[2026-10-20 06:29:29,745.745 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:29:29,748.748 INFO    ] Waiting 2.34 seconds before fallback handling...
[2026-10-20 06:29:32,612.612 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 06:29:32,615.615 INFO    ] Checking for system updates...
[2026-10-20 06:29:32,654.654 INFO    ] 200
[2026-10-20 06:29:32,657.657 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:29:32,718.718 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:29:32,721.721 INFO    ] No update needed
[2026-10-20 06:29:32,723.723 INFO    ] Checking for camera pi updates...
[2026-10-20 06:29:32,758.758 INFO    ] 200
[2026-10-20 06:29:32,761.761 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:29:32,808.808 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:29:32,839.839 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:29:32,841.841 INFO    ] No camera update needed
[2026-10-20 06:29:32,844.844 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:29:32,846.846 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:29:32,853.853 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:29:32,859.859 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:29:34,900.900 INFO    ] ================================================
[2026-10-20 06:29:34,916.916 INFO    ] Launching Daemon at Tue Oct 20 06:29:34 IST 2026
[2026-10-20 06:29:34,927.927 INFO    ] ================================================
[2026-10-20 06:29:35,564.564 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:29:35
[2026-10-20 06:29:36,221.221 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:29:36,519.519 INFO    ] Initializing speech engine...
[2026-10-20 06:29:36,527.527 INFO    ] 2026-10-20 06:29:36
[2026-10-20 06:29:36,795.795 INFO    ] 2026-10-20 06:29:36
[2026-10-20 06:29:36,857.857 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:29:37,086.086 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:29:37,097.097 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:29:37,298.298 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:29:37,348.348 INFO    ] time= 20/10/2026 06:29:37
[2026-10-20 06:29:37,365.365 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:29:37,385.385 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:29:37,522.522 INFO    ] No existing commands found in stream
[2026-10-20 06:29:42,541.541 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:29:42,545.545 INFO    ] Waiting 3.52 seconds before fallback handling...
[2026-10-20 06:29:46,605.605 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 06:29:46,608.608 INFO    ] Checking for system updates...
[2026-10-20 06:29:46,646.646 INFO    ] 200
[2026-10-20 06:29:46,649.649 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:29:46,702.702 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:29:46,705.705 INFO    ] No update needed
[2026-10-20 06:29:46,707.707 INFO    ] Checking for camera pi updates...
[2026-10-20 06:29:46,745.745 INFO    ] 200
[2026-10-20 06:29:46,747.747 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:29:46,790.790 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:29:46,839.839 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:29:46,841.841 INFO    ] No camera update needed
[2026-10-20 06:29:46,844.844 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:29:46,846.846 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:29:46,851.851 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:29:46,856.856 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:29:48,895.895 INFO    ] ================================================
[2026-10-20 06:29:48,910.910 INFO    ] Launching Daemon at Tue Oct 20 06:29:48 IST 2026
[2026-10-20 06:29:48,921.921 INFO    ] ================================================
[2026-10-20 06:29:49,557.557 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:29:49
[2026-10-20 06:29:50,212.212 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:29:50,512.512 INFO    ] Initializing speech engine...
[2026-10-20 06:29:50,520.520 INFO    ] 2026-10-20 06:29:50
[2026-10-20 06:29:50,789.789 INFO    ] 2026-10-20 06:29:50
[2026-10-20 06:29:50,844.844 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:29:51,077.077 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:29:51,083.083 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:29:51,290.290 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:29:51,341.341 INFO    ] time= 20/10/2026 06:29:51
[2026-10-20 06:29:51,347.347 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:29:51,366.366 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:29:51,505.505 INFO    ] No existing commands found in stream
[2026-10-20 06:29:56,531.531 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:29:56,534.534 INFO    ] Waiting 2.06 seconds before fallback handling...
[2026-10-20 06:29:59,145.145 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:29:59,148.148 INFO    ] Checking for system updates...
[2026-10-20 06:29:59,185.185 INFO    ] 200
[2026-10-20 06:29:59,187.187 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:29:59,240.240 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:29:59,243.243 INFO    ] No update needed
[2026-10-20 06:29:59,245.245 INFO    ] Checking for camera pi updates...
[2026-10-20 06:29:59,280.280 INFO    ] 200
[2026-10-20 06:29:59,283.283 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:29:59,323.323 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:29:59,370.370 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:29:59,372.372 INFO    ] No camera update needed
[2026-10-20 06:29:59,375.375 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:29:59,377.377 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:29:59,384.384 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:29:59,389.389 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:30:01,431.431 INFO    ] ================================================
[2026-10-20 06:30:01,447.447 INFO    ] Launching Daemon at Tue Oct 20 06:30:01 IST 2026
[2026-10-20 06:30:01,457.457 INFO    ] ================================================
[2026-10-20 06:30:02,118.118 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:30:02
[2026-10-20 06:30:03,242.242 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:30:03,713.713 INFO    ] Initializing speech engine...
[2026-10-20 06:30:03,717.717 INFO    ] 2026-10-20 06:30:03
[2026-10-20 06:30:04,125.125 INFO    ] 2026-10-20 06:30:04
[2026-10-20 06:30:04,191.191 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:30:04,406.406 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:30:04,417.417 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:30:04,574.574 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:30:04,577.577 INFO    ] time= 20/10/2026 06:30:04
[2026-10-20 06:30:04,616.616 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:30:04,651.651 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:30:04,783.783 INFO    ] No existing commands found in stream
[2026-10-20 06:30:09,806.806 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:30:09,809.809 INFO    ] Waiting 2.00 seconds before fallback handling...
[2026-10-20 06:30:12,306.306 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 06:30:12,309.309 INFO    ] Checking for system updates...
[2026-10-20 06:30:12,345.345 INFO    ] 200
[2026-10-20 06:30:12,347.347 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:30:12,402.402 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:30:12,405.405 INFO    ] No update needed
[2026-10-20 06:30:12,407.407 INFO    ] Checking for camera pi updates...
[2026-10-20 06:30:12,440.440 INFO    ] 200
[2026-10-20 06:30:12,442.442 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:30:12,483.483 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:30:12,626.626 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:30:12,628.628 INFO    ] No camera update needed
[2026-10-20 06:30:12,631.631 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:30:12,633.633 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:30:12,638.638 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:30:12,643.643 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:30:14,682.682 INFO    ] ================================================
[2026-10-20 06:30:14,698.698 INFO    ] Launching Daemon at Tue Oct 20 06:30:14 IST 2026
[2026-10-20 06:30:14,708.708 INFO    ] ================================================
[2026-10-20 06:30:15,356.356 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:30:15
[2026-10-20 06:30:16,031.031 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:30:16,339.339 INFO    ] Initializing speech engine...
[2026-10-20 06:30:16,347.347 INFO    ] 2026-10-20 06:30:16
[2026-10-20 06:30:16,625.625 INFO    ] 2026-10-20 06:30:16
[2026-10-20 06:30:16,679.679 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:30:16,916.916 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:30:16,922.922 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:30:17,139.139 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:30:17,184.184 INFO    ] time= 20/10/2026 06:30:17
[2026-10-20 06:30:17,194.194 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:30:17,216.216 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:30:17,392.392 INFO    ] No existing commands found in stream
[2026-10-20 06:30:22,429.429 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:30:22,432.432 INFO    ] Waiting 3.27 seconds before fallback handling...
[2026-10-20 06:30:26,231.231 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:30:26,234.234 INFO    ] Checking for system updates...
[2026-10-20 06:30:26,274.274 INFO    ] 200
[2026-10-20 06:30:26,277.277 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:30:26,333.333 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:30:26,336.336 INFO    ] No update needed
[2026-10-20 06:30:26,338.338 INFO    ] Checking for camera pi updates...
[2026-10-20 06:30:26,372.372 INFO    ] 200
[2026-10-20 06:30:26,375.375 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:30:26,416.416 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:30:26,471.471 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:30:26,474.474 INFO    ] No camera update needed
[2026-10-20 06:30:26,476.476 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:30:26,479.479 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:30:26,485.485 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:30:26,491.491 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:30:28,533.533 INFO    ] ================================================
[2026-10-20 06:30:28,548.548 INFO    ] Launching Daemon at Tue Oct 20 06:30:28 IST 2026
[2026-10-20 06:30:28,558.558 INFO    ] ================================================
[2026-10-20 06:30:29,141.141 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:30:29
[2026-10-20 06:30:29,740.740 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:30:30,018.018 INFO    ] Initializing speech engine...
[2026-10-20 06:30:30,040.040 INFO    ] 2026-10-20 06:30:30
[2026-10-20 06:30:30,315.315 INFO    ] 2026-10-20 06:30:30
[2026-10-20 06:30:30,352.352 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:30:30,581.581 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:30:30,610.610 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:30:30,776.776 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:30:30,824.824 INFO    ] time= 20/10/2026 06:30:30
[2026-10-20 06:30:30,859.859 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:30:30,903.903 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:30:31,031.031 INFO    ] No existing commands found in stream
[2026-10-20 06:30:36,043.043 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:30:36,046.046 INFO    ] Waiting 1.22 seconds before fallback handling...
[2026-10-20 06:30:38,164.164 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:30:38,167.167 INFO    ] Checking for system updates...
[2026-10-20 06:30:38,202.202 INFO    ] 200
[2026-10-20 06:30:38,205.205 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:30:38,258.258 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:30:38,260.260 INFO    ] No update needed
[2026-10-20 06:30:38,263.263 INFO    ] Checking for camera pi updates...
[2026-10-20 06:30:38,301.301 INFO    ] 200
[2026-10-20 06:30:38,303.303 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:30:38,349.349 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:30:38,402.402 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:30:38,405.405 INFO    ] No camera update needed
[2026-10-20 06:30:38,407.407 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:30:38,409.409 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:30:38,415.415 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:30:38,420.420 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:30:40,460.460 INFO    ] ================================================
[2026-10-20 06:30:40,476.476 INFO    ] Launching Daemon at Tue Oct 20 06:30:40 IST 2026
[2026-10-20 06:30:40,487.487 INFO    ] ================================================
[2026-10-20 06:30:41,053.053 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:30:41
[2026-10-20 06:30:41,668.668 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:30:41,973.973 INFO    ] Initializing speech engine...
[2026-10-20 06:30:41,986.986 INFO    ] 2026-10-20 06:30:41
[2026-10-20 06:30:42,266.266 INFO    ] 2026-10-20 06:30:42
[2026-10-20 06:30:42,310.310 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:30:42,538.538 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:30:42,544.544 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:30:42,787.787 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:30:42,805.805 INFO    ] time= 20/10/2026 06:30:42
[2026-10-20 06:30:42,826.826 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:30:42,854.854 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:30:42,969.969 INFO    ] No existing commands found in stream
[2026-10-20 06:30:47,995.995 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:30:47,998.998 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-10-20 06:30:52,041.041 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 06:30:52,044.044 INFO    ] Checking for system updates...
[2026-10-20 06:30:52,081.081 INFO    ] 200
[2026-10-20 06:30:52,084.084 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:30:52,138.138 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:30:52,141.141 INFO    ] No update needed
[2026-10-20 06:30:52,143.143 INFO    ] Checking for camera pi updates...
[2026-10-20 06:30:52,178.178 INFO    ] 200
[2026-10-20 06:30:52,181.181 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:30:52,222.222 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:30:52,277.277 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:30:52,280.280 INFO    ] No camera update needed
[2026-10-20 06:30:52,282.282 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:30:52,285.285 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:30:52,291.291 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:30:52,297.297 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:30:54,338.338 INFO    ] ================================================
[2026-10-20 06:30:54,353.353 INFO    ] Launching Daemon at Tue Oct 20 06:30:54 IST 2026
[2026-10-20 06:30:54,363.363 INFO    ] ================================================
[2026-10-20 06:30:55,020.020 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:30:55
[2026-10-20 06:30:55,700.700 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:30:56,010.010 INFO    ] Initializing speech engine...
[2026-10-20 06:30:56,022.022 INFO    ] 2026-10-20 06:30:56
[2026-10-20 06:30:56,308.308 INFO    ] 2026-10-20 06:30:56
[2026-10-20 06:30:56,351.351 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:30:56,582.582 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:30:56,588.588 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:30:56,771.771 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:30:56,841.841 INFO    ] time= 20/10/2026 06:30:56
[2026-10-20 06:30:56,856.856 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:30:56,874.874 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:30:57,010.010 INFO    ] No existing commands found in stream
[2026-10-20 06:31:02,022.022 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:31:02,025.025 INFO    ] Waiting 2.95 seconds before fallback handling...
[2026-10-20 06:31:05,479.479 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:31:05,481.481 INFO    ] Checking for system updates...
[2026-10-20 06:31:05,517.517 INFO    ] 200
[2026-10-20 06:31:05,519.519 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:31:05,572.572 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:31:05,574.574 INFO    ] No update needed
[2026-10-20 06:31:05,577.577 INFO    ] Checking for camera pi updates...
[2026-10-20 06:31:05,611.611 INFO    ] 200
[2026-10-20 06:31:05,613.613 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:31:05,660.660 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:31:05,707.707 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:31:05,710.710 INFO    ] No camera update needed
[2026-10-20 06:31:05,712.712 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:31:05,714.714 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:31:05,720.720 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:31:05,725.725 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:31:07,764.764 INFO    ] ================================================
[2026-10-20 06:31:07,779.779 INFO    ] Launching Daemon at Tue Oct 20 06:31:07 IST 2026
[2026-10-20 06:31:07,791.791 INFO    ] ================================================
[2026-10-20 06:31:08,453.453 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:31:08
[2026-10-20 06:31:09,130.130 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:31:09,437.437 INFO    ] Initializing speech engine...
[2026-10-20 06:31:09,451.451 INFO    ] 2026-10-20 06:31:09
[2026-10-20 06:31:09,724.724 INFO    ] 2026-10-20 06:31:09
[2026-10-20 06:31:09,782.782 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:31:10,040.040 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:31:10,064.064 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:31:10,278.278 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:31:10,291.291 INFO    ] time= 20/10/2026 06:31:10
[2026-10-20 06:31:10,314.314 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:31:10,345.345 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:31:10,497.497 INFO    ] No existing commands found in stream
[2026-10-20 06:31:15,528.528 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:31:15,532.532 INFO    ] Waiting 1.27 seconds before fallback handling...
[2026-10-20 06:31:17,355.355 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:31:17,358.358 INFO    ] Checking for system updates...
[2026-10-20 06:31:17,395.395 INFO    ] 200
[2026-10-20 06:31:17,398.398 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:31:17,450.450 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:31:17,453.453 INFO    ] No update needed
[2026-10-20 06:31:17,455.455 INFO    ] Checking for camera pi updates...
[2026-10-20 06:31:17,488.488 INFO    ] 200
[2026-10-20 06:31:17,491.491 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:31:17,536.536 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:31:17,579.579 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:31:17,582.582 INFO    ] No camera update needed
[2026-10-20 06:31:17,584.584 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:31:17,586.586 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:31:17,592.592 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:31:17,597.597 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:31:19,636.636 INFO    ] ================================================
[2026-10-20 06:31:19,652.652 INFO    ] Launching Daemon at Tue Oct 20 06:31:19 IST 2026
[2026-10-20 06:31:19,664.664 INFO    ] ================================================
[2026-10-20 06:31:20,237.237 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:31:20
[2026-10-20 06:31:20,819.819 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:31:21,081.081 INFO    ] Initializing speech engine...
[2026-10-20 06:31:21,099.099 INFO    ] 2026-10-20 06:31:21
[2026-10-20 06:31:21,350.350 INFO    ] 2026-10-20 06:31:21
[2026-10-20 06:31:21,385.385 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:31:21,644.644 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:31:21,654.654 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:31:21,872.872 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:31:21,919.919 INFO    ] time= 20/10/2026 06:31:21
[2026-10-20 06:31:21,925.925 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:31:21,945.945 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:31:22,082.082 INFO    ] No existing commands found in stream
[2026-10-20 06:31:27,113.113 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:31:27,115.115 INFO    ] Waiting 0.16 seconds before fallback handling...
[2026-10-20 06:31:27,715.715 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 06:31:27,717.717 INFO    ] Checking for system updates...
[2026-10-20 06:31:27,753.753 INFO    ] 200
[2026-10-20 06:31:27,755.755 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:31:27,807.807 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:31:27,810.810 INFO    ] No update needed
[2026-10-20 06:31:27,812.812 INFO    ] Checking for camera pi updates...
[2026-10-20 06:31:27,845.845 INFO    ] 200
[2026-10-20 06:31:27,848.848 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:31:27,887.887 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:31:27,934.934 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:31:27,936.936 INFO    ] No camera update needed
[2026-10-20 06:31:27,939.939 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:31:27,941.941 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:31:27,946.946 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:31:27,951.951 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:31:29,994.994 INFO    ] ================================================
[2026-10-20 06:31:30,009.009 INFO    ] Launching Daemon at Tue Oct 20 06:31:30 IST 2026
[2026-10-20 06:31:30,019.019 INFO    ] ================================================
[2026-10-20 06:31:30,682.682 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:31:30
[2026-10-20 06:31:31,368.368 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:31:31,660.660 INFO    ] Initializing speech engine...
[2026-10-20 06:31:31,665.665 INFO    ] 2026-10-20 06:31:31
[2026-10-20 06:31:31,916.916 INFO    ] 2026-10-20 06:31:31
[2026-10-20 06:31:31,956.956 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:31:32,227.227 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:31:32,236.236 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:31:32,438.438 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:31:32,503.503 INFO    ] time= 20/10/2026 06:31:32
[2026-10-20 06:31:32,512.512 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:31:32,527.527 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:31:32,659.659 INFO    ] No existing commands found in stream
[2026-10-20 06:31:37,684.684 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:31:37,686.686 INFO    ] Waiting 3.89 seconds before fallback handling...
[2026-10-20 06:31:42,106.106 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 06:31:42,109.109 INFO    ] Checking for system updates...
[2026-10-20 06:31:42,146.146 INFO    ] 200
[2026-10-20 06:31:42,149.149 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:31:42,202.202 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:31:42,204.204 INFO    ] No update needed
[2026-10-20 06:31:42,207.207 INFO    ] Checking for camera pi updates...
[2026-10-20 06:31:42,240.240 INFO    ] 200
[2026-10-20 06:31:42,243.243 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:31:42,289.289 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:31:42,336.336 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:31:42,339.339 INFO    ] No camera update needed
[2026-10-20 06:31:42,342.342 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:31:42,344.344 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:31:42,349.349 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:31:42,355.355 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:31:44,398.398 INFO    ] ================================================
[2026-10-20 06:31:44,413.413 INFO    ] Launching Daemon at Tue Oct 20 06:31:44 IST 2026
[2026-10-20 06:31:44,424.424 INFO    ] ================================================
[2026-10-20 06:31:45,060.060 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:31:45
[2026-10-20 06:31:45,657.657 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:31:45,917.917 INFO    ] Initializing speech engine...
[2026-10-20 06:31:45,926.926 INFO    ] 2026-10-20 06:31:45
[2026-10-20 06:31:46,220.220 INFO    ] 2026-10-20 06:31:46
[2026-10-20 06:31:46,258.258 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:31:46,482.482 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:31:46,516.516 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:31:46,739.739 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:31:46,746.746 INFO    ] time= 20/10/2026 06:31:46
[2026-10-20 06:31:46,782.782 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:31:46,812.812 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:31:46,928.928 INFO    ] No existing commands found in stream
[2026-10-20 06:31:51,941.941 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:31:51,944.944 INFO    ] Waiting 2.57 seconds before fallback handling...
[2026-10-20 06:31:55,070.070 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 06:31:55,073.073 INFO    ] Checking for system updates...
[2026-10-20 06:31:55,114.114 INFO    ] 200
[2026-10-20 06:31:55,117.117 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:31:55,169.169 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:31:55,172.172 INFO    ] No update needed
[2026-10-20 06:31:55,175.175 INFO    ] Checking for camera pi updates...
[2026-10-20 06:31:55,213.213 INFO    ] 200
[2026-10-20 06:31:55,216.216 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:31:55,257.257 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:31:55,303.303 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:31:55,305.305 INFO    ] No camera update needed
[2026-10-20 06:31:55,308.308 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:31:55,311.311 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:31:55,317.317 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:31:55,324.324 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:31:57,368.368 INFO    ] ================================================
[2026-10-20 06:31:57,383.383 INFO    ] Launching Daemon at Tue Oct 20 06:31:57 IST 2026
[2026-10-20 06:31:57,394.394 INFO    ] ================================================
[2026-10-20 06:31:57,960.960 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:31:57
[2026-10-20 06:31:58,546.546 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:31:58,803.803 INFO    ] Initializing speech engine...
[2026-10-20 06:31:58,809.809 INFO    ] 2026-10-20 06:31:58
[2026-10-20 06:31:59,108.108 INFO    ] 2026-10-20 06:31:59
[2026-10-20 06:31:59,142.142 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:31:59,343.343 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:31:59,348.348 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:31:59,528.528 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:31:59,533.533 INFO    ] time= 20/10/2026 06:31:59
[2026-10-20 06:31:59,539.539 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:31:59,591.591 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:31:59,724.724 INFO    ] No existing commands found in stream
[2026-10-20 06:32:04,745.745 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:32:04,747.747 INFO    ] Waiting 1.96 seconds before fallback handling...
[2026-10-20 06:32:07,430.430 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:32:07,433.433 INFO    ] Checking for system updates...
[2026-10-20 06:32:07,468.468 INFO    ] 200
[2026-10-20 06:32:07,470.470 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:32:07,530.530 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:32:07,532.532 INFO    ] No update needed
[2026-10-20 06:32:07,534.534 INFO    ] Checking for camera pi updates...
[2026-10-20 06:32:07,572.572 INFO    ] 200
[2026-10-20 06:32:07,574.574 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:32:07,620.620 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:32:07,677.677 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:32:07,679.679 INFO    ] No camera update needed
[2026-10-20 06:32:07,682.682 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:32:07,684.684 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:32:07,689.689 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:32:07,694.694 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:32:09,734.734 INFO    ] ================================================
[2026-10-20 06:32:09,750.750 INFO    ] Launching Daemon at Tue Oct 20 06:32:09 IST 2026
[2026-10-20 06:32:09,762.762 INFO    ] ================================================
[2026-10-20 06:32:10,329.329 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:32:10
[2026-10-20 06:32:10,912.912 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:32:11,162.162 INFO    ] Initializing speech engine...
[2026-10-20 06:32:11,174.174 INFO    ] 2026-10-20 06:32:11
[2026-10-20 06:32:11,440.440 INFO    ] 2026-10-20 06:32:11
[2026-10-20 06:32:11,475.475 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:32:11,734.734 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:32:11,743.743 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:32:11,935.935 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:32:12,000.000 INFO    ] time= 20/10/2026 06:32:11
[2026-10-20 06:32:12,014.014 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:32:12,033.033 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:32:12,163.163 INFO    ] No existing commands found in stream
[2026-10-20 06:32:17,177.177 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:32:17,180.180 INFO    ] Waiting 1.57 seconds before fallback handling...
[2026-10-20 06:32:19,245.245 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:32:19,247.247 INFO    ] Checking for system updates...
[2026-10-20 06:32:19,282.282 INFO    ] 200
[2026-10-20 06:32:19,285.285 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:32:19,336.336 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:32:19,338.338 INFO    ] No update needed
[2026-10-20 06:32:19,341.341 INFO    ] Checking for camera pi updates...
[2026-10-20 06:32:19,376.376 INFO    ] 200
[2026-10-20 06:32:19,379.379 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:32:19,419.419 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:32:19,546.546 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:32:19,549.549 INFO    ] No camera update needed
[2026-10-20 06:32:19,552.552 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:32:19,554.554 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:32:19,559.559 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:32:19,564.564 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:32:21,604.604 INFO    ] ================================================
[2026-10-20 06:32:21,620.620 INFO    ] Launching Daemon at Tue Oct 20 06:32:21 IST 2026
[2026-10-20 06:32:21,630.630 INFO    ] ================================================
[2026-10-20 06:32:22,273.273 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:32:22
[2026-10-20 06:32:22,934.934 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:32:23,244.244 INFO    ] Initializing speech engine...
[2026-10-20 06:32:23,250.250 INFO    ] 2026-10-20 06:32:23
[2026-10-20 06:32:23,504.504 INFO    ] 2026-10-20 06:32:23
[2026-10-20 06:32:23,538.538 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:32:23,797.797 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:32:23,806.806 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:32:23,941.941 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:32:23,973.973 INFO    ] time= 20/10/2026 06:32:23
[2026-10-20 06:32:24,022.022 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:32:24,076.076 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:32:24,219.219 INFO    ] No existing commands found in stream
[2026-10-20 06:32:29,241.241 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:32:29,244.244 INFO    ] Waiting 3.04 seconds before fallback handling...
[2026-10-20 06:32:32,967.967 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:32:32,970.970 INFO    ] Checking for system updates...
[2026-10-20 06:32:33,014.014 INFO    ] 200
[2026-10-20 06:32:33,017.017 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:32:33,080.080 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:32:33,083.083 INFO    ] No update needed
[2026-10-20 06:32:33,086.086 INFO    ] Checking for camera pi updates...
[2026-10-20 06:32:33,124.124 INFO    ] 200
[2026-10-20 06:32:33,126.126 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:32:33,177.177 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:32:33,211.211 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:32:33,213.213 INFO    ] No camera update needed
[2026-10-20 06:32:33,215.215 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:32:33,217.217 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:32:33,223.223 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:32:33,228.228 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:32:35,267.267 INFO    ] ================================================
[2026-10-20 06:32:35,283.283 INFO    ] Launching Daemon at Tue Oct 20 06:32:35 IST 2026
[2026-10-20 06:32:35,293.293 INFO    ] ================================================
[2026-10-20 06:32:35,880.880 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:32:35
[2026-10-20 06:32:36,465.465 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:32:36,738.738 INFO    ] Initializing speech engine...
[2026-10-20 06:32:36,743.743 INFO    ] 2026-10-20 06:32:36
[2026-10-20 06:32:37,021.021 INFO    ] 2026-10-20 06:32:37
[2026-10-20 06:32:37,055.055 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:32:37,259.259 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:32:37,272.272 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:32:37,440.440 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:32:37,445.445 INFO    ] time= 20/10/2026 06:32:37
[2026-10-20 06:32:37,452.452 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:32:37,473.473 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:32:37,621.621 INFO    ] No existing commands found in stream
[2026-10-20 06:32:42,646.646 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:32:42,649.649 INFO    ] Waiting 0.51 seconds before fallback handling...
[2026-10-20 06:32:43,644.644 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 06:32:43,647.647 INFO    ] Checking for system updates...
[2026-10-20 06:32:43,687.687 INFO    ] 200
[2026-10-20 06:32:43,689.689 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:32:43,741.741 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:32:43,743.743 INFO    ] No update needed
[2026-10-20 06:32:43,746.746 INFO    ] Checking for camera pi updates...
[2026-10-20 06:32:43,782.782 INFO    ] 200
[2026-10-20 06:32:43,785.785 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:32:43,830.830 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:32:43,878.878 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:32:43,880.880 INFO    ] No camera update needed
[2026-10-20 06:32:43,883.883 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:32:43,885.885 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:32:43,890.890 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:32:43,895.895 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:32:45,935.935 INFO    ] ================================================
[2026-10-20 06:32:45,950.950 INFO    ] Launching Daemon at Tue Oct 20 06:32:45 IST 2026
[2026-10-20 06:32:45,960.960 INFO    ] ================================================
[2026-10-20 06:32:46,616.616 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:32:46
[2026-10-20 06:32:47,295.295 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:32:47,572.572 INFO    ] Initializing speech engine...
[2026-10-20 06:32:47,580.580 INFO    ] 2026-10-20 06:32:47
[2026-10-20 06:32:47,870.870 INFO    ] 2026-10-20 06:32:47
[2026-10-20 06:32:47,911.911 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:32:48,111.111 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:32:48,161.161 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:32:48,386.386 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:32:48,437.437 INFO    ] time= 20/10/2026 06:32:48
[2026-10-20 06:32:48,443.443 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:32:48,464.464 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:32:48,572.572 INFO    ] No existing commands found in stream
[2026-10-20 06:32:53,599.599 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:32:53,602.602 INFO    ] Waiting 1.01 seconds before fallback handling...
[2026-10-20 06:32:55,107.107 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 06:32:55,110.110 INFO    ] Checking for system updates...
[2026-10-20 06:32:55,149.149 INFO    ] 200
[2026-10-20 06:32:55,151.151 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:32:55,204.204 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:32:55,206.206 INFO    ] No update needed
[2026-10-20 06:32:55,209.209 INFO    ] Checking for camera pi updates...
[2026-10-20 06:32:55,246.246 INFO    ] 200
[2026-10-20 06:32:55,248.248 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:32:55,289.289 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:32:55,333.333 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:32:55,335.335 INFO    ] No camera update needed
[2026-10-20 06:32:55,338.338 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:32:55,340.340 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:32:55,345.345 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:32:55,351.351 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:32:57,391.391 INFO    ] ================================================
[2026-10-20 06:32:57,405.405 INFO    ] Launching Daemon at Tue Oct 20 06:32:57 IST 2026
[2026-10-20 06:32:57,416.416 INFO    ] ================================================
[2026-10-20 06:32:57,982.982 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:32:57
[2026-10-20 06:32:58,565.565 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:32:58,827.827 INFO    ] Initializing speech engine...
[2026-10-20 06:32:58,843.843 INFO    ] 2026-10-20 06:32:58
[2026-10-20 06:32:59,115.115 INFO    ] 2026-10-20 06:32:59
[2026-10-20 06:32:59,151.151 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:32:59,370.370 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:32:59,384.384 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:32:59,597.597 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:32:59,604.604 INFO    ] time= 20/10/2026 06:32:59
[2026-10-20 06:32:59,659.659 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:32:59,714.714 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:32:59,805.805 INFO    ] No existing commands found in stream
[2026-10-20 06:33:04,817.817 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:33:04,820.820 INFO    ] Waiting 3.04 seconds before fallback handling...
[2026-10-20 06:33:08,853.853 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:33:08,855.855 INFO    ] Checking for system updates...
[2026-10-20 06:33:08,891.891 INFO    ] 200
[2026-10-20 06:33:08,893.893 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:33:08,951.951 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:33:08,953.953 INFO    ] No update needed
[2026-10-20 06:33:08,955.955 INFO    ] Checking for camera pi updates...
[2026-10-20 06:33:08,989.989 INFO    ] 200
[2026-10-20 06:33:08,991.991 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:33:09,035.035 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:33:09,091.091 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:33:09,094.094 INFO    ] No camera update needed
[2026-10-20 06:33:09,096.096 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:33:09,098.098 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:33:09,104.104 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:33:09,109.109 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:33:11,149.149 INFO    ] ================================================
[2026-10-20 06:33:11,165.165 INFO    ] Launching Daemon at Tue Oct 20 06:33:11 IST 2026
[2026-10-20 06:33:11,175.175 INFO    ] ================================================
[2026-10-20 06:33:11,742.742 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:33:11
[2026-10-20 06:33:12,328.328 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:33:12,587.587 INFO    ] Initializing speech engine...
[2026-10-20 06:33:12,612.612 INFO    ] 2026-10-20 06:33:12
[2026-10-20 06:33:12,880.880 INFO    ] 2026-10-20 06:33:12
[2026-10-20 06:33:12,917.917 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:33:13,113.113 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:33:13,126.126 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:33:13,288.288 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:33:13,296.296 INFO    ] time= 20/10/2026 06:33:13
[2026-10-20 06:33:13,343.343 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:33:13,370.370 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:33:13,505.505 INFO    ] No existing commands found in stream
[2026-10-20 06:33:18,522.522 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:33:18,525.525 INFO    ] Waiting 2.83 seconds before fallback handling...
[2026-10-20 06:33:21,847.847 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 06:33:21,850.850 INFO    ] Checking for system updates...
[2026-10-20 06:33:21,888.888 INFO    ] 200
[2026-10-20 06:33:21,891.891 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:33:21,950.950 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:33:21,952.952 INFO    ] No update needed
[2026-10-20 06:33:21,955.955 INFO    ] Checking for camera pi updates...
[2026-10-20 06:33:21,999.999 INFO    ] 200
[2026-10-20 06:33:22,002.002 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:33:22,041.041 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:33:22,087.087 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:33:22,089.089 INFO    ] No camera update needed
[2026-10-20 06:33:22,092.092 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:33:22,094.094 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:33:22,099.099 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:33:22,104.104 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:33:24,144.144 INFO    ] ================================================
[2026-10-20 06:33:24,159.159 INFO    ] Launching Daemon at Tue Oct 20 06:33:24 IST 2026
[2026-10-20 06:33:24,170.170 INFO    ] ================================================
[2026-10-20 06:33:24,750.750 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:33:24
[2026-10-20 06:33:25,347.347 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:33:25,624.624 INFO    ] Initializing speech engine...
[2026-10-20 06:33:25,631.631 INFO    ] 2026-10-20 06:33:25
[2026-10-20 06:33:25,891.891 INFO    ] 2026-10-20 06:33:25
[2026-10-20 06:33:25,946.946 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:33:26,194.194 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:33:26,199.199 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:33:26,394.394 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:33:26,432.432 INFO    ] time= 20/10/2026 06:33:26
[2026-10-20 06:33:26,438.438 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:33:26,459.459 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:33:26,588.588 INFO    ] No existing commands found in stream
[2026-10-20 06:33:31,611.611 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:33:31,614.614 INFO    ] Waiting 2.23 seconds before fallback handling...
[2026-10-20 06:33:34,337.337 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:33:34,340.340 INFO    ] Checking for system updates...
[2026-10-20 06:33:34,377.377 INFO    ] 200
[2026-10-20 06:33:34,379.379 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:33:34,431.431 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:33:34,433.433 INFO    ] No update needed
[2026-10-20 06:33:34,436.436 INFO    ] Checking for camera pi updates...
[2026-10-20 06:33:34,469.469 INFO    ] 200
[2026-10-20 06:33:34,471.471 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:33:34,514.514 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:33:34,561.561 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:33:34,563.563 INFO    ] No camera update needed
[2026-10-20 06:33:34,565.565 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:33:34,568.568 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:33:34,573.573 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:33:34,578.578 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:33:36,621.621 INFO    ] ================================================
[2026-10-20 06:33:36,637.637 INFO    ] Launching Daemon at Tue Oct 20 06:33:36 IST 2026
[2026-10-20 06:33:36,648.648 INFO    ] ================================================
[2026-10-20 06:33:37,240.240 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:33:37
[2026-10-20 06:33:37,840.840 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:33:38,115.115 INFO    ] Initializing speech engine...
[2026-10-20 06:33:38,124.124 INFO    ] 2026-10-20 06:33:38
[2026-10-20 06:33:38,385.385 INFO    ] 2026-10-20 06:33:38
[2026-10-20 06:33:38,422.422 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:33:38,667.667 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:33:38,677.677 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:33:38,820.820 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:33:38,886.886 INFO    ] time= 20/10/2026 06:33:38
[2026-10-20 06:33:38,935.935 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:33:38,966.966 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:33:39,109.109 INFO    ] No existing commands found in stream
[2026-10-20 06:33:44,134.134 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:33:44,137.137 INFO    ] Waiting 1.92 seconds before fallback handling...
[2026-10-20 06:33:46,712.712 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:33:46,715.715 INFO    ] Checking for system updates...
[2026-10-20 06:33:46,753.753 INFO    ] 200
[2026-10-20 06:33:46,756.756 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:33:46,814.814 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:33:46,816.816 INFO    ] No update needed
[2026-10-20 06:33:46,819.819 INFO    ] Checking for camera pi updates...
[2026-10-20 06:33:46,855.855 INFO    ] 200
[2026-10-20 06:33:46,857.857 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:33:46,901.901 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:33:46,952.952 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:33:46,954.954 INFO    ] No camera update needed
[2026-10-20 06:33:46,956.956 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:33:46,959.959 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:33:46,964.964 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:33:46,970.970 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:33:49,010.010 INFO    ] ================================================
[2026-10-20 06:33:49,025.025 INFO    ] Launching Daemon at Tue Oct 20 06:33:49 IST 2026
[2026-10-20 06:33:49,036.036 INFO    ] ================================================
[2026-10-20 06:33:49,621.621 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:33:49
[2026-10-20 06:33:50,215.215 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:33:50,493.493 INFO    ] Initializing speech engine...
[2026-10-20 06:33:50,500.500 INFO    ] 2026-10-20 06:33:50
[2026-10-20 06:33:50,769.769 INFO    ] 2026-10-20 06:33:50
[2026-10-20 06:33:50,804.804 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:33:51,056.056 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:33:51,065.065 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:33:51,218.218 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:33:51,278.278 INFO    ] time= 20/10/2026 06:33:51
[2026-10-20 06:33:51,333.333 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:33:51,340.340 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:33:51,490.490 INFO    ] No existing commands found in stream
[2026-10-20 06:33:56,510.510 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:33:56,513.513 INFO    ] Waiting 1.88 seconds before fallback handling...
[2026-10-20 06:34:00,402.402 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:34:00,405.405 INFO    ] Checking for system updates...
[2026-10-20 06:34:00,448.448 INFO    ] 200
[2026-10-20 06:34:00,451.451 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:34:00,504.504 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:34:00,506.506 INFO    ] No update needed
[2026-10-20 06:34:00,509.509 INFO    ] Checking for camera pi updates...
[2026-10-20 06:34:00,547.547 INFO    ] 200
[2026-10-20 06:34:00,550.550 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:34:00,594.594 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:34:00,640.640 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:34:00,642.642 INFO    ] No camera update needed
[2026-10-20 06:34:00,645.645 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:34:00,647.647 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:34:00,652.652 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:34:00,657.657 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:34:02,702.702 INFO    ] ================================================
[2026-10-20 06:34:02,718.718 INFO    ] Launching Daemon at Tue Oct 20 06:34:02 IST 2026
[2026-10-20 06:34:02,730.730 INFO    ] ================================================
[2026-10-20 06:34:03,343.343 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:34:03
[2026-10-20 06:34:03,942.942 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:34:04,218.218 INFO    ] Initializing speech engine...
[2026-10-20 06:34:04,228.228 INFO    ] 2026-10-20 06:34:04
[2026-10-20 06:34:04,478.478 INFO    ] 2026-10-20 06:34:04
[2026-10-20 06:34:04,513.513 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:34:04,771.771 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:34:04,777.777 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:34:04,990.990 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:34:05,034.034 INFO    ] time= 20/10/2026 06:34:05
[2026-10-20 06:34:05,041.041 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:34:05,059.059 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:34:05,190.190 INFO    ] No existing commands found in stream
[2026-10-20 06:34:10,213.213 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:34:10,216.216 INFO    ] Waiting 1.95 seconds before fallback handling...
[2026-10-20 06:34:12,666.666 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:34:12,668.668 INFO    ] Checking for system updates...
[2026-10-20 06:34:12,704.704 INFO    ] 200
[2026-10-20 06:34:12,707.707 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:34:12,764.764 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:34:12,766.766 INFO    ] No update needed
[2026-10-20 06:34:12,769.769 INFO    ] Checking for camera pi updates...
[2026-10-20 06:34:12,805.805 INFO    ] 200
[2026-10-20 06:34:12,808.808 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:34:12,852.852 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:34:12,900.900 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:34:12,903.903 INFO    ] No camera update needed
[2026-10-20 06:34:12,905.905 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:34:12,907.907 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:34:12,913.913 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:34:12,918.918 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:34:14,959.959 INFO    ] ================================================
[2026-10-20 06:34:14,974.974 INFO    ] Launching Daemon at Tue Oct 20 06:34:14 IST 2026
[2026-10-20 06:34:14,985.985 INFO    ] ================================================
[2026-10-20 06:34:15,550.550 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:34:15
[2026-10-20 06:34:16,135.135 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:34:16,408.408 INFO    ] Initializing speech engine...
[2026-10-20 06:34:16,418.418 INFO    ] 2026-10-20 06:34:16
[2026-10-20 06:34:16,663.663 INFO    ] 2026-10-20 06:34:16
[2026-10-20 06:34:16,699.699 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:34:16,901.901 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:34:16,960.960 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:34:17,161.161 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:34:17,211.211 INFO    ] time= 20/10/2026 06:34:17
[2026-10-20 06:34:17,236.236 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:34:17,242.242 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:34:17,375.375 INFO    ] No existing commands found in stream
[2026-10-20 06:34:22,400.400 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:34:22,403.403 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-10-20 06:34:26,088.088 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:34:26,091.091 INFO    ] Checking for system updates...
[2026-10-20 06:34:26,131.131 INFO    ] 200
[2026-10-20 06:34:26,134.134 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:34:26,190.190 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:34:26,193.193 INFO    ] No update needed
[2026-10-20 06:34:26,196.196 INFO    ] Checking for camera pi updates...
[2026-10-20 06:34:26,230.230 INFO    ] 200
[2026-10-20 06:34:26,233.233 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:34:26,277.277 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:34:26,427.427 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:34:26,429.429 INFO    ] No camera update needed
[2026-10-20 06:34:26,432.432 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:34:26,434.434 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:34:26,439.439 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:34:26,444.444 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:34:28,485.485 INFO    ] ================================================
[2026-10-20 06:34:28,500.500 INFO    ] Launching Daemon at Tue Oct 20 06:34:28 IST 2026
[2026-10-20 06:34:28,511.511 INFO    ] ================================================
[2026-10-20 06:34:29,092.092 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:34:29
[2026-10-20 06:34:29,694.694 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:34:29,974.974 INFO    ] Initializing speech engine...
[2026-10-20 06:34:29,979.979 INFO    ] 2026-10-20 06:34:29
[2026-10-20 06:34:30,241.241 INFO    ] 2026-10-20 06:34:30
[2026-10-20 06:34:30,292.292 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:34:30,523.523 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:34:30,529.529 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:34:30,757.757 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:34:30,787.787 INFO    ] time= 20/10/2026 06:34:30
[2026-10-20 06:34:30,793.793 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:34:30,812.812 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:34:30,939.939 INFO    ] No existing commands found in stream
[2026-10-20 06:34:35,951.951 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:34:35,954.954 INFO    ] Waiting 3.82 seconds before fallback handling...
[2026-10-20 06:34:40,332.332 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 06:34:40,335.335 INFO    ] Checking for system updates...
[2026-10-20 06:34:40,370.370 INFO    ] 200
[2026-10-20 06:34:40,373.373 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:34:40,430.430 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:34:40,433.433 INFO    ] No update needed
[2026-10-20 06:34:40,435.435 INFO    ] Checking for camera pi updates...
[2026-10-20 06:34:40,472.472 INFO    ] 200
[2026-10-20 06:34:40,474.474 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:34:40,514.514 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:34:40,566.566 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:34:40,569.569 INFO    ] No camera update needed
[2026-10-20 06:34:40,571.571 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:34:40,573.573 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:34:40,579.579 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:34:40,584.584 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:34:42,625.625 INFO    ] ================================================
[2026-10-20 06:34:42,640.640 INFO    ] Launching Daemon at Tue Oct 20 06:34:42 IST 2026
[2026-10-20 06:34:42,651.651 INFO    ] ================================================
[2026-10-20 06:34:43,216.216 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:34:43
[2026-10-20 06:34:43,797.797 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:34:44,044.044 INFO    ] Initializing speech engine...
[2026-10-20 06:34:44,059.059 INFO    ] 2026-10-20 06:34:44
[2026-10-20 06:34:44,325.325 INFO    ] 2026-10-20 06:34:44
[2026-10-20 06:34:44,360.360 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:34:44,618.618 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:34:44,627.627 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:34:44,831.831 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:34:44,891.891 INFO    ] time= 20/10/2026 06:34:44
[2026-10-20 06:34:44,898.898 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:34:44,916.916 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:34:45,049.049 INFO    ] No existing commands found in stream
[2026-10-20 06:34:50,063.063 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:34:50,066.066 INFO    ] Waiting 0.48 seconds before fallback handling...
[2026-10-20 06:34:51,068.068 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:34:51,071.071 INFO    ] Checking for system updates...
[2026-10-20 06:34:51,108.108 INFO    ] 200
[2026-10-20 06:34:51,111.111 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:34:51,170.170 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:34:51,172.172 INFO    ] No update needed
[2026-10-20 06:34:51,174.174 INFO    ] Checking for camera pi updates...
[2026-10-20 06:34:51,213.213 INFO    ] 200
[2026-10-20 06:34:51,216.216 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:34:51,261.261 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:34:51,307.307 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:34:51,310.310 INFO    ] No camera update needed
[2026-10-20 06:34:51,313.313 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:34:51,316.316 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:34:51,322.322 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:34:51,328.328 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:34:53,369.369 INFO    ] ================================================
[2026-10-20 06:34:53,384.384 INFO    ] Launching Daemon at Tue Oct 20 06:34:53 IST 2026
[2026-10-20 06:34:53,395.395 INFO    ] ================================================
[2026-10-20 06:34:53,974.974 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:34:53
[2026-10-20 06:34:54,574.574 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:34:54,850.850 INFO    ] Initializing speech engine...
[2026-10-20 06:34:54,857.857 INFO    ] 2026-10-20 06:34:54
[2026-10-20 06:34:55,119.119 INFO    ] 2026-10-20 06:34:55
[2026-10-20 06:34:55,149.149 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:34:55,399.399 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:34:55,405.405 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:34:55,625.625 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:34:55,664.664 INFO    ] time= 20/10/2026 06:34:55
[2026-10-20 06:34:55,679.679 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:34:55,687.687 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:34:55,814.814 INFO    ] No existing commands found in stream
[2026-10-20 06:35:00,828.828 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:35:00,831.831 INFO    ] Waiting 1.87 seconds before fallback handling...
[2026-10-20 06:35:03,218.218 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 06:35:03,221.221 INFO    ] Checking for system updates...
[2026-10-20 06:35:03,257.257 INFO    ] 200
[2026-10-20 06:35:03,260.260 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:35:03,313.313 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:35:03,316.316 INFO    ] No update needed
[2026-10-20 06:35:03,318.318 INFO    ] Checking for camera pi updates...
[2026-10-20 06:35:03,353.353 INFO    ] 200
[2026-10-20 06:35:03,355.355 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:35:03,401.401 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:35:03,433.433 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:35:03,436.436 INFO    ] No camera update needed
[2026-10-20 06:35:03,439.439 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:35:03,442.442 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:35:03,448.448 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:35:03,454.454 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:35:05,495.495 INFO    ] ================================================
[2026-10-20 06:35:05,510.510 INFO    ] Launching Daemon at Tue Oct 20 06:35:05 IST 2026
[2026-10-20 06:35:05,521.521 INFO    ] ================================================
[2026-10-20 06:35:06,172.172 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:35:06
[2026-10-20 06:35:06,844.844 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:35:07,149.149 INFO    ] Initializing speech engine...
[2026-10-20 06:35:07,162.162 INFO    ] 2026-10-20 06:35:07
[2026-10-20 06:35:07,444.444 INFO    ] 2026-10-20 06:35:07
[2026-10-20 06:35:07,486.486 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:35:07,730.730 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:35:07,738.738 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:35:07,948.948 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:35:07,974.974 INFO    ] time= 20/10/2026 06:35:07
[2026-10-20 06:35:07,991.991 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:35:08,000.000 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:35:08,126.126 INFO    ] No existing commands found in stream
[2026-10-20 06:35:13,140.140 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:35:13,142.142 INFO    ] Waiting 0.12 seconds before fallback handling...
[2026-10-20 06:35:13,742.742 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:35:13,745.745 INFO    ] Checking for system updates...
[2026-10-20 06:35:13,781.781 INFO    ] 200
[2026-10-20 06:35:13,784.784 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:35:13,843.843 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:35:13,846.846 INFO    ] No update needed
[2026-10-20 06:35:13,849.849 INFO    ] Checking for camera pi updates...
[2026-10-20 06:35:13,884.884 INFO    ] 200
[2026-10-20 06:35:13,887.887 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:35:13,932.932 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:35:13,989.989 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:35:13,991.991 INFO    ] No camera update needed
[2026-10-20 06:35:13,994.994 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:35:13,997.997 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:35:14,003.003 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:35:14,009.009 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:35:16,050.050 INFO    ] ================================================
[2026-10-20 06:35:16,066.066 INFO    ] Launching Daemon at Tue Oct 20 06:35:16 IST 2026
[2026-10-20 06:35:16,077.077 INFO    ] ================================================
[2026-10-20 06:35:16,711.711 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:35:16
[2026-10-20 06:35:17,382.382 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:35:17,703.703 INFO    ] Initializing speech engine...
[2026-10-20 06:35:17,713.713 INFO    ] 2026-10-20 06:35:17
[2026-10-20 06:35:17,995.995 INFO    ] 2026-10-20 06:35:17
[2026-10-20 06:35:18,108.108 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:35:18,328.328 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:35:18,337.337 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:35:18,535.535 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:35:18,555.555 INFO    ] time= 20/10/2026 06:35:18
[2026-10-20 06:35:18,584.584 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:35:18,594.594 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:35:18,749.749 INFO    ] No existing commands found in stream
[2026-10-20 06:35:23,774.774 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:35:23,778.778 INFO    ] Waiting 2.57 seconds before fallback handling...
[2026-10-20 06:35:26,887.887 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 06:35:26,890.890 INFO    ] Checking for system updates...
[2026-10-20 06:35:26,928.928 INFO    ] 200
[2026-10-20 06:35:26,931.931 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:35:26,991.991 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:35:26,993.993 INFO    ] No update needed
[2026-10-20 06:35:26,996.996 INFO    ] Checking for camera pi updates...
[2026-10-20 06:35:27,041.041 INFO    ] 200
[2026-10-20 06:35:27,044.044 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:35:27,086.086 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:35:27,139.139 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:35:27,142.142 INFO    ] No camera update needed
[2026-10-20 06:35:27,144.144 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:35:27,147.147 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:35:27,153.153 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:35:27,159.159 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:35:29,200.200 INFO    ] ================================================
[2026-10-20 06:35:29,216.216 INFO    ] Launching Daemon at Tue Oct 20 06:35:29 IST 2026
[2026-10-20 06:35:29,227.227 INFO    ] ================================================
[2026-10-20 06:35:29,794.794 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:35:29
[2026-10-20 06:35:30,377.377 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:35:30,649.649 INFO    ] Initializing speech engine...
[2026-10-20 06:35:30,658.658 INFO    ] 2026-10-20 06:35:30
[2026-10-20 06:35:30,908.908 INFO    ] 2026-10-20 06:35:30
[2026-10-20 06:35:30,942.942 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:35:31,147.147 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:35:31,203.203 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:35:31,367.367 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:35:31,413.413 INFO    ] time= 20/10/2026 06:35:31
[2026-10-20 06:35:31,483.483 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:35:31,507.507 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:35:31,640.640 INFO    ] No existing commands found in stream
[2026-10-20 06:35:36,671.671 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:35:36,673.673 INFO    ] Waiting 3.90 seconds before fallback handling...
[2026-10-20 06:35:41,090.090 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 06:35:41,093.093 INFO    ] Checking for system updates...
[2026-10-20 06:35:41,128.128 INFO    ] 200
[2026-10-20 06:35:41,131.131 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:35:41,184.184 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:35:41,186.186 INFO    ] No update needed
[2026-10-20 06:35:41,188.188 INFO    ] Checking for camera pi updates...
[2026-10-20 06:35:41,221.221 INFO    ] 200
[2026-10-20 06:35:41,224.224 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:35:41,263.263 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:35:41,313.313 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:35:41,315.315 INFO    ] No camera update needed
[2026-10-20 06:35:41,317.317 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:35:41,320.320 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:35:41,325.325 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:35:41,330.330 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:35:43,369.369 INFO    ] ================================================
[2026-10-20 06:35:43,385.385 INFO    ] Launching Daemon at Tue Oct 20 06:35:43 IST 2026
[2026-10-20 06:35:43,397.397 INFO    ] ================================================
[2026-10-20 06:35:43,981.981 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:35:43
[2026-10-20 06:35:44,581.581 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:35:44,860.860 INFO    ] Initializing speech engine...
[2026-10-20 06:35:44,869.869 INFO    ] 2026-10-20 06:35:44
[2026-10-20 06:35:45,128.128 INFO    ] 2026-10-20 06:35:45
[2026-10-20 06:35:45,158.158 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:35:45,407.407 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:35:45,413.413 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:35:45,647.647 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:35:45,672.672 INFO    ] time= 20/10/2026 06:35:45
[2026-10-20 06:35:45,688.688 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:35:45,697.697 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:35:45,822.822 INFO    ] No existing commands found in stream
[2026-10-20 06:35:50,837.837 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:35:50,840.840 INFO    ] Waiting 3.46 seconds before fallback handling...
[2026-10-20 06:35:57,186.186 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:35:57,189.189 INFO    ] Checking for system updates...
[2026-10-20 06:35:57,225.225 INFO    ] 200
[2026-10-20 06:35:57,228.228 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:35:57,283.283 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:35:57,285.285 INFO    ] No update needed
[2026-10-20 06:35:57,288.288 INFO    ] Checking for camera pi updates...
[2026-10-20 06:35:57,321.321 INFO    ] 200
[2026-10-20 06:35:57,324.324 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:35:57,364.364 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:35:57,412.412 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:35:57,414.414 INFO    ] No camera update needed
[2026-10-20 06:35:57,417.417 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:35:57,419.419 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:35:57,425.425 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:35:57,430.430 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:35:59,470.470 INFO    ] ================================================
[2026-10-20 06:35:59,486.486 INFO    ] Launching Daemon at Tue Oct 20 06:35:59 IST 2026
[2026-10-20 06:35:59,497.497 INFO    ] ================================================
[2026-10-20 06:36:00,079.079 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:36:00
[2026-10-20 06:36:00,678.678 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:36:00,958.958 INFO    ] Initializing speech engine...
[2026-10-20 06:36:00,966.966 INFO    ] 2026-10-20 06:36:00
[2026-10-20 06:36:01,236.236 INFO    ] 2026-10-20 06:36:01
[2026-10-20 06:36:01,313.313 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:36:01,517.517 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:36:01,520.520 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:36:01,693.693 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:36:01,700.700 INFO    ] time= 20/10/2026 06:36:01
[2026-10-20 06:36:01,705.705 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:36:01,726.726 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:36:01,847.847 INFO    ] No existing commands found in stream
[2026-10-20 06:36:06,858.858 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:36:06,861.861 INFO    ] Waiting 0.01 seconds before fallback handling...
[2026-10-20 06:36:07,368.368 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:36:07,371.371 INFO    ] Checking for system updates...
[2026-10-20 06:36:07,407.407 INFO    ] 200
[2026-10-20 06:36:07,409.409 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:36:07,461.461 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:36:07,464.464 INFO    ] No update needed
[2026-10-20 06:36:07,466.466 INFO    ] Checking for camera pi updates...
[2026-10-20 06:36:07,500.500 INFO    ] 200
[2026-10-20 06:36:07,502.502 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:36:07,544.544 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:36:07,604.604 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:36:07,606.606 INFO    ] No camera update needed
[2026-10-20 06:36:07,609.609 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:36:07,611.611 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:36:07,617.617 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:36:07,622.622 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:36:09,664.664 INFO    ] ================================================
[2026-10-20 06:36:09,680.680 INFO    ] Launching Daemon at Tue Oct 20 06:36:09 IST 2026
[2026-10-20 06:36:09,691.691 INFO    ] ================================================
[2026-10-20 06:36:10,374.374 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:36:10
[2026-10-20 06:36:11,092.092 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:36:11,436.436 INFO    ] Initializing speech engine...
[2026-10-20 06:36:11,446.446 INFO    ] 2026-10-20 06:36:11
[2026-10-20 06:36:11,774.774 INFO    ] 2026-10-20 06:36:11
[2026-10-20 06:36:11,866.866 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:36:12,100.100 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:36:12,112.112 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:36:12,319.319 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:36:12,339.339 INFO    ] time= 20/10/2026 06:36:12
[2026-10-20 06:36:12,363.363 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:36:12,380.380 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:36:12,513.513 INFO    ] No existing commands found in stream
[2026-10-20 06:36:17,542.542 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:36:17,546.546 INFO    ] Waiting 0.72 seconds before fallback handling...
[2026-10-20 06:36:18,759.759 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:36:18,761.761 INFO    ] Checking for system updates...
[2026-10-20 06:36:18,800.800 INFO    ] 200
[2026-10-20 06:36:18,803.803 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:36:18,854.854 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:36:18,856.856 INFO    ] No update needed
[2026-10-20 06:36:18,858.858 INFO    ] Checking for camera pi updates...
[2026-10-20 06:36:18,894.894 INFO    ] 200
[2026-10-20 06:36:18,897.897 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:36:18,936.936 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:36:18,986.986 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:36:18,988.988 INFO    ] No camera update needed
[2026-10-20 06:36:18,991.991 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:36:18,993.993 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:36:18,998.998 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:36:19,003.003 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:36:21,042.042 INFO    ] ================================================
[2026-10-20 06:36:21,058.058 INFO    ] Launching Daemon at Tue Oct 20 06:36:21 IST 2026
[2026-10-20 06:36:21,069.069 INFO    ] ================================================
[2026-10-20 06:36:21,650.650 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:36:21
[2026-10-20 06:36:22,249.249 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:36:22,513.513 INFO    ] Initializing speech engine...
[2026-10-20 06:36:22,539.539 INFO    ] 2026-10-20 06:36:22
[2026-10-20 06:36:22,810.810 INFO    ] 2026-10-20 06:36:22
[2026-10-20 06:36:22,848.848 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:36:23,130.130 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:36:23,140.140 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:36:23,290.290 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:36:23,354.354 INFO    ] time= 20/10/2026 06:36:23
[2026-10-20 06:36:23,399.399 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:36:23,434.434 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:36:23,586.586 INFO    ] No existing commands found in stream
[2026-10-20 06:36:28,611.611 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:36:28,614.614 INFO    ] Waiting 0.44 seconds before fallback handling...
[2026-10-20 06:36:29,567.567 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:36:29,570.570 INFO    ] Checking for system updates...
[2026-10-20 06:36:29,608.608 INFO    ] 200
[2026-10-20 06:36:29,610.610 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:36:29,663.663 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:36:29,665.665 INFO    ] No update needed
[2026-10-20 06:36:29,668.668 INFO    ] Checking for camera pi updates...
[2026-10-20 06:36:29,704.704 INFO    ] 200
[2026-10-20 06:36:29,706.706 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:36:29,745.745 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:36:29,890.890 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:36:29,892.892 INFO    ] No camera update needed
[2026-10-20 06:36:29,894.894 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:36:29,897.897 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:36:29,902.902 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:36:29,907.907 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:36:31,948.948 INFO    ] ================================================
[2026-10-20 06:36:31,965.965 INFO    ] Launching Daemon at Tue Oct 20 06:36:31 IST 2026
[2026-10-20 06:36:31,976.976 INFO    ] ================================================
[2026-10-20 06:36:32,597.597 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:36:32
[2026-10-20 06:36:33,208.208 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:36:33,497.497 INFO    ] Initializing speech engine...
[2026-10-20 06:36:33,505.505 INFO    ] 2026-10-20 06:36:33
[2026-10-20 06:36:33,771.771 INFO    ] 2026-10-20 06:36:33
[2026-10-20 06:36:33,806.806 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:36:34,090.090 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:36:34,099.099 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:36:34,257.257 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:36:34,312.312 INFO    ] time= 20/10/2026 06:36:34
[2026-10-20 06:36:34,366.366 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:36:34,399.399 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:36:34,545.545 INFO    ] No existing commands found in stream
[2026-10-20 06:36:39,565.565 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:36:39,568.568 INFO    ] Waiting 3.97 seconds before fallback handling...
[2026-10-20 06:36:44,042.042 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 06:36:44,044.044 INFO    ] Checking for system updates...
[2026-10-20 06:36:44,079.079 INFO    ] 200
[2026-10-20 06:36:44,082.082 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:36:44,133.133 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:36:44,136.136 INFO    ] No update needed
[2026-10-20 06:36:44,138.138 INFO    ] Checking for camera pi updates...
[2026-10-20 06:36:44,172.172 INFO    ] 200
[2026-10-20 06:36:44,174.174 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:36:44,215.215 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:36:44,262.262 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:36:44,264.264 INFO    ] No camera update needed
[2026-10-20 06:36:44,267.267 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:36:44,269.269 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:36:44,275.275 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:36:44,280.280 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:36:46,319.319 INFO    ] ================================================
[2026-10-20 06:36:46,335.335 INFO    ] Launching Daemon at Tue Oct 20 06:36:46 IST 2026
[2026-10-20 06:36:46,346.346 INFO    ] ================================================
[2026-10-20 06:36:46,923.923 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:36:46
[2026-10-20 06:36:47,511.511 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:36:47,760.760 INFO    ] Initializing speech engine...
[2026-10-20 06:36:47,775.775 INFO    ] 2026-10-20 06:36:47
[2026-10-20 06:36:48,045.045 INFO    ] 2026-10-20 06:36:48
[2026-10-20 06:36:48,089.089 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:36:48,342.342 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:36:48,353.353 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:36:48,567.567 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:36:48,619.619 INFO    ] time= 20/10/2026 06:36:48
[2026-10-20 06:36:48,626.626 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:36:48,646.646 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:36:48,781.781 INFO    ] No existing commands found in stream
[2026-10-20 06:36:53,796.796 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:36:53,800.800 INFO    ] Waiting 2.49 seconds before fallback handling...
[2026-10-20 06:36:56,848.848 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:36:56,851.851 INFO    ] Checking for system updates...
[2026-10-20 06:36:56,887.887 INFO    ] 200
[2026-10-20 06:36:56,889.889 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:36:56,947.947 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:36:56,950.950 INFO    ] No update needed
[2026-10-20 06:36:56,952.952 INFO    ] Checking for camera pi updates...
[2026-10-20 06:36:56,985.985 INFO    ] 200
[2026-10-20 06:36:56,987.987 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:36:57,031.031 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:36:57,073.073 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:36:57,076.076 INFO    ] No camera update needed
[2026-10-20 06:36:57,078.078 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:36:57,081.081 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:36:57,086.086 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:36:57,091.091 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:36:59,131.131 INFO    ] ================================================
[2026-10-20 06:36:59,146.146 INFO    ] Launching Daemon at Tue Oct 20 06:36:59 IST 2026
[2026-10-20 06:36:59,156.156 INFO    ] ================================================
[2026-10-20 06:36:59,721.721 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:36:59
[2026-10-20 06:37:00,304.304 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:37:00,572.572 INFO    ] Initializing speech engine...
[2026-10-20 06:37:00,581.581 INFO    ] 2026-10-20 06:37:00
[2026-10-20 06:37:00,825.825 INFO    ] 2026-10-20 06:37:00
[2026-10-20 06:37:00,860.860 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:37:01,057.057 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:37:01,112.112 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:37:01,255.255 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:37:01,325.325 INFO    ] time= 20/10/2026 06:37:01
[2026-10-20 06:37:01,386.386 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:37:01,396.396 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:37:01,500.500 INFO    ] No existing commands found in stream
[2026-10-20 06:37:06,541.541 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:37:06,544.544 INFO    ] Waiting 2.07 seconds before fallback handling...
[2026-10-20 06:37:09,088.088 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 06:37:09,091.091 INFO    ] Checking for system updates...
[2026-10-20 06:37:09,138.138 INFO    ] 200
[2026-10-20 06:37:09,140.140 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 06:37:09,143.143 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-10-20 06:37:09,146.146 INFO    ] Checking for camera pi updates...
[2026-10-20 06:37:09,186.186 INFO    ] 200
[2026-10-20 06:37:09,189.189 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 06:37:09,191.191 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-10-20 06:37:09,194.194 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:37:09,199.199 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:37:09,207.207 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:37:09,214.214 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:37:11,256.256 INFO    ] ================================================
[2026-10-20 06:37:11,271.271 INFO    ] Launching Daemon at Tue Oct 20 06:37:11 IST 2026
[2026-10-20 06:37:11,282.282 INFO    ] ================================================
[2026-10-20 06:37:11,943.943 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:37:11
[2026-10-20 06:37:12,627.627 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:37:12,941.941 INFO    ] Initializing speech engine...
[2026-10-20 06:37:12,952.952 INFO    ] 2026-10-20 06:37:12
[2026-10-20 06:37:13,246.246 INFO    ] 2026-10-20 06:37:13
[2026-10-20 06:37:13,358.358 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:37:13,577.577 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:37:13,583.583 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:37:13,761.761 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:37:13,790.790 INFO    ] time= 20/10/2026 06:37:13
[2026-10-20 06:37:13,807.807 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:37:13,822.822 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:37:13,950.950 INFO    ] No existing commands found in stream
[2026-10-20 06:37:18,974.974 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:37:18,978.978 INFO    ] Waiting 1.18 seconds before fallback handling...
[2026-10-20 06:37:20,687.687 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:37:20,690.690 INFO    ] Checking for system updates...
[2026-10-20 06:37:20,731.731 INFO    ] 200
[2026-10-20 06:37:20,734.734 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:37:20,794.794 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:37:20,797.797 INFO    ] No update needed
[2026-10-20 06:37:20,800.800 INFO    ] Checking for camera pi updates...
[2026-10-20 06:37:20,839.839 INFO    ] 200
[2026-10-20 06:37:20,841.841 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:37:20,891.891 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:37:20,936.936 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:37:20,939.939 INFO    ] No camera update needed
[2026-10-20 06:37:20,941.941 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:37:20,944.944 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:37:20,949.949 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:37:20,954.954 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:37:22,994.994 INFO    ] ================================================
[2026-10-20 06:37:23,009.009 INFO    ] Launching Daemon at Tue Oct 20 06:37:23 IST 2026
[2026-10-20 06:37:23,019.019 INFO    ] ================================================
[2026-10-20 06:37:23,682.682 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:37:23
[2026-10-20 06:37:24,361.361 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:37:24,676.676 INFO    ] Initializing speech engine...
[2026-10-20 06:37:24,686.686 INFO    ] 2026-10-20 06:37:24
[2026-10-20 06:37:24,991.991 INFO    ] 2026-10-20 06:37:24
[2026-10-20 06:37:25,078.078 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:37:25,291.291 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:37:25,299.299 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:37:25,493.493 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:37:25,510.510 INFO    ] time= 20/10/2026 06:37:25
[2026-10-20 06:37:25,525.525 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:37:25,547.547 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:37:25,666.666 INFO    ] No existing commands found in stream
[2026-10-20 06:37:30,708.708 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:37:30,711.711 INFO    ] Waiting 0.48 seconds before fallback handling...
[2026-10-20 06:37:31,730.730 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 06:37:31,734.734 INFO    ] Checking for system updates...
[2026-10-20 06:37:31,778.778 INFO    ] 200
[2026-10-20 06:37:31,781.781 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:37:31,842.842 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:37:31,846.846 INFO    ] No update needed
[2026-10-20 06:37:31,849.849 INFO    ] Checking for camera pi updates...
[2026-10-20 06:37:31,888.888 INFO    ] 200
[2026-10-20 06:37:31,890.890 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:37:31,939.939 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:37:31,981.981 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:37:31,983.983 INFO    ] No camera update needed
[2026-10-20 06:37:31,986.986 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:37:31,989.989 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:37:31,996.996 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:37:32,002.002 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:37:34,043.043 INFO    ] ================================================
[2026-10-20 06:37:34,059.059 INFO    ] Launching Daemon at Tue Oct 20 06:37:34 IST 2026
[2026-10-20 06:37:34,070.070 INFO    ] ================================================
[2026-10-20 06:37:34,655.655 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:37:34
[2026-10-20 06:37:35,256.256 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:37:35,533.533 INFO    ] Initializing speech engine...
[2026-10-20 06:37:35,539.539 INFO    ] 2026-10-20 06:37:35
[2026-10-20 06:37:35,798.798 INFO    ] 2026-10-20 06:37:35
[2026-10-20 06:37:35,828.828 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:37:36,077.077 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:37:36,083.083 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:37:36,222.222 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:37:36,292.292 INFO    ] time= 20/10/2026 06:37:36
[2026-10-20 06:37:36,344.344 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:37:36,351.351 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:37:36,494.494 INFO    ] No existing commands found in stream
[2026-10-20 06:37:41,508.508 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:37:41,511.511 INFO    ] Waiting 0.36 seconds before fallback handling...
[2026-10-20 06:37:42,395.395 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:37:42,398.398 INFO    ] Checking for system updates...
[2026-10-20 06:37:42,433.433 INFO    ] 200
[2026-10-20 06:37:42,436.436 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:37:42,487.487 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:37:42,490.490 INFO    ] No update needed
[2026-10-20 06:37:42,492.492 INFO    ] Checking for camera pi updates...
[2026-10-20 06:37:42,528.528 INFO    ] 200
[2026-10-20 06:37:42,531.531 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:37:42,572.572 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:37:42,626.626 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:37:42,628.628 INFO    ] No camera update needed
[2026-10-20 06:37:42,631.631 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:37:42,633.633 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:37:42,638.638 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:37:42,643.643 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:37:44,684.684 INFO    ] ================================================
[2026-10-20 06:37:44,700.700 INFO    ] Launching Daemon at Tue Oct 20 06:37:44 IST 2026
[2026-10-20 06:37:44,711.711 INFO    ] ================================================
[2026-10-20 06:37:45,371.371 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:37:45
[2026-10-20 06:37:46,048.048 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:37:46,353.353 INFO    ] Initializing speech engine...
[2026-10-20 06:37:46,361.361 INFO    ] 2026-10-20 06:37:46
[2026-10-20 06:37:46,675.675 INFO    ] 2026-10-20 06:37:46
[2026-10-20 06:37:46,761.761 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:37:46,980.980 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:37:47,041.041 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:37:47,195.195 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:37:47,224.224 INFO    ] time= 20/10/2026 06:37:47
[2026-10-20 06:37:47,234.234 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:37:47,271.271 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:37:47,433.433 INFO    ] No existing commands found in stream
[2026-10-20 06:37:52,450.450 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:37:52,453.453 INFO    ] Waiting 3.65 seconds before fallback handling...
[2026-10-20 06:37:56,632.632 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:37:56,634.634 INFO    ] Checking for system updates...
[2026-10-20 06:37:56,672.672 INFO    ] 200
[2026-10-20 06:37:56,674.674 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:37:56,727.727 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:37:56,730.730 INFO    ] No update needed
[2026-10-20 06:37:56,733.733 INFO    ] Checking for camera pi updates...
[2026-10-20 06:37:56,768.768 INFO    ] 200
[2026-10-20 06:37:56,771.771 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:37:56,811.811 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:37:56,859.859 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:37:56,862.862 INFO    ] No camera update needed
[2026-10-20 06:37:56,865.865 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:37:56,868.868 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:37:56,874.874 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:37:56,880.880 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:37:58,920.920 INFO    ] ================================================
[2026-10-20 06:37:58,936.936 INFO    ] Launching Daemon at Tue Oct 20 06:37:58 IST 2026
[2026-10-20 06:37:58,946.946 INFO    ] ================================================
[2026-10-20 06:37:59,515.515 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:37:59
[2026-10-20 06:38:00,111.111 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:38:00,388.388 INFO    ] Initializing speech engine...
[2026-10-20 06:38:00,395.395 INFO    ] 2026-10-20 06:38:00
[2026-10-20 06:38:00,656.656 INFO    ] 2026-10-20 06:38:00
[2026-10-20 06:38:00,710.710 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:38:00,961.961 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:38:00,966.966 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:38:01,196.196 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:38:01,203.203 INFO    ] time= 20/10/2026 06:38:01
[2026-10-20 06:38:01,221.221 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:38:01,244.244 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:38:01,367.367 INFO    ] No existing commands found in stream
[2026-10-20 06:38:06,397.397 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:38:06,400.400 INFO    ] Waiting 1.02 seconds before fallback handling...
[2026-10-20 06:38:07,927.927 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:38:07,929.929 INFO    ] Checking for system updates...
[2026-10-20 06:38:07,965.965 INFO    ] 200
[2026-10-20 06:38:07,967.967 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:38:08,023.023 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:38:08,025.025 INFO    ] No update needed
[2026-10-20 06:38:08,028.028 INFO    ] Checking for camera pi updates...
[2026-10-20 06:38:08,064.064 INFO    ] 200
[2026-10-20 06:38:08,067.067 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:38:08,107.107 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:38:08,153.153 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:38:08,156.156 INFO    ] No camera update needed
[2026-10-20 06:38:08,158.158 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:38:08,161.161 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:38:08,166.166 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:38:08,171.171 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:38:10,213.213 INFO    ] ================================================
[2026-10-20 06:38:10,229.229 INFO    ] Launching Daemon at Tue Oct 20 06:38:10 IST 2026
[2026-10-20 06:38:10,240.240 INFO    ] ================================================
[2026-10-20 06:38:10,814.814 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:38:10
[2026-10-20 06:38:11,402.402 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:38:11,675.675 INFO    ] Initializing speech engine...
[2026-10-20 06:38:11,684.684 INFO    ] 2026-10-20 06:38:11
[2026-10-20 06:38:11,933.933 INFO    ] 2026-10-20 06:38:11
[2026-10-20 06:38:11,968.968 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:38:12,226.226 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:38:12,236.236 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:38:12,435.435 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:38:12,490.490 INFO    ] time= 20/10/2026 06:38:12
[2026-10-20 06:38:12,507.507 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:38:12,522.522 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:38:12,653.653 INFO    ] No existing commands found in stream
[2026-10-20 06:38:17,670.670 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:38:17,673.673 INFO    ] Waiting 0.29 seconds before fallback handling...
[2026-10-20 06:38:18,433.433 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 06:38:18,435.435 INFO    ] Checking for system updates...
[2026-10-20 06:38:18,474.474 INFO    ] 200
[2026-10-20 06:38:18,476.476 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:38:18,528.528 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:38:18,531.531 INFO    ] No update needed
[2026-10-20 06:38:18,533.533 INFO    ] Checking for camera pi updates...
[2026-10-20 06:38:18,566.566 INFO    ] 200
[2026-10-20 06:38:18,569.569 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:38:18,609.609 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:38:18,655.655 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:38:18,657.657 INFO    ] No camera update needed
[2026-10-20 06:38:18,660.660 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:38:18,662.662 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:38:18,667.667 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:38:18,672.672 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:38:20,713.713 INFO    ] ================================================
[2026-10-20 06:38:20,728.728 INFO    ] Launching Daemon at Tue Oct 20 06:38:20 IST 2026
[2026-10-20 06:38:20,739.739 INFO    ] ================================================
[2026-10-20 06:38:21,313.313 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:38:21
[2026-10-20 06:38:21,907.907 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:38:22,166.166 INFO    ] Initializing speech engine...
[2026-10-20 06:38:22,174.174 INFO    ] 2026-10-20 06:38:22
[2026-10-20 06:38:22,475.475 INFO    ] 2026-10-20 06:38:22
[2026-10-20 06:38:22,513.513 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:38:22,764.764 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:38:22,804.804 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:38:22,974.974 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:38:23,009.009 INFO    ] time= 20/10/2026 06:38:22
[2026-10-20 06:38:23,054.054 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:38:23,093.093 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:38:23,254.254 INFO    ] No existing commands found in stream
[2026-10-20 06:38:28,272.272 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:38:28,274.274 INFO    ] Waiting 3.03 seconds before fallback handling...
[2026-10-20 06:38:31,790.790 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 06:38:31,792.792 INFO    ] Checking for system updates...
[2026-10-20 06:38:31,832.832 INFO    ] 200
[2026-10-20 06:38:31,834.834 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:38:31,903.903 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:38:31,905.905 INFO    ] No update needed
[2026-10-20 06:38:31,908.908 INFO    ] Checking for camera pi updates...
[2026-10-20 06:38:31,944.944 INFO    ] 200
[2026-10-20 06:38:31,947.947 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:38:32,000.000 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:38:32,036.036 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:38:32,039.039 INFO    ] No camera update needed
[2026-10-20 06:38:32,042.042 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:38:32,045.045 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:38:32,051.051 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:38:32,057.057 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:38:34,100.100 INFO    ] ================================================
[2026-10-20 06:38:34,115.115 INFO    ] Launching Daemon at Tue Oct 20 06:38:34 IST 2026
[2026-10-20 06:38:34,126.126 INFO    ] ================================================
[2026-10-20 06:38:34,782.782 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:38:34
[2026-10-20 06:38:35,456.456 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:38:35,763.763 INFO    ] Initializing speech engine...
[2026-10-20 06:38:35,775.775 INFO    ] 2026-10-20 06:38:35
[2026-10-20 06:38:36,085.085 INFO    ] 2026-10-20 06:38:36
[2026-10-20 06:38:36,170.170 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:38:36,384.384 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:38:36,392.392 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:38:36,585.585 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:38:36,603.603 INFO    ] time= 20/10/2026 06:38:36
[2026-10-20 06:38:36,633.633 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:38:36,644.644 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:38:36,764.764 INFO    ] No existing commands found in stream
[2026-10-20 06:38:41,795.795 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:38:41,798.798 INFO    ] Waiting 3.41 seconds before fallback handling...
[2026-10-20 06:38:45,776.776 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 06:38:45,780.780 INFO    ] Checking for system updates...
[2026-10-20 06:38:45,816.816 INFO    ] 200
[2026-10-20 06:38:45,819.819 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:38:45,880.880 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:38:45,883.883 INFO    ] No update needed
[2026-10-20 06:38:45,886.886 INFO    ] Checking for camera pi updates...
[2026-10-20 06:38:45,924.924 INFO    ] 200
[2026-10-20 06:38:45,927.927 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:38:45,968.968 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:38:46,017.017 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:38:46,020.020 INFO    ] No camera update needed
[2026-10-20 06:38:46,023.023 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:38:46,026.026 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:38:46,032.032 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:38:46,038.038 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:38:48,079.079 INFO    ] ================================================
[2026-10-20 06:38:48,094.094 INFO    ] Launching Daemon at Tue Oct 20 06:38:48 IST 2026
[2026-10-20 06:38:48,105.105 INFO    ] ================================================
[2026-10-20 06:38:48,717.717 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:38:48
[2026-10-20 06:38:49,322.322 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:38:49,599.599 INFO    ] Initializing speech engine...
[2026-10-20 06:38:49,614.614 INFO    ] 2026-10-20 06:38:49
[2026-10-20 06:38:49,894.894 INFO    ] 2026-10-20 06:38:49
[2026-10-20 06:38:49,930.930 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:38:50,156.156 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:38:50,164.164 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:38:50,372.372 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:38:50,394.394 INFO    ] time= 20/10/2026 06:38:50
[2026-10-20 06:38:50,442.442 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:38:50,496.496 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:38:50,664.664 INFO    ] No existing commands found in stream
[2026-10-20 06:38:55,690.690 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:38:55,693.693 INFO    ] Waiting 3.00 seconds before fallback handling...
[2026-10-20 06:38:59,212.212 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 06:38:59,215.215 INFO    ] Checking for system updates...
[2026-10-20 06:38:59,252.252 INFO    ] 200
[2026-10-20 06:38:59,255.255 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:38:59,316.316 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:38:59,319.319 INFO    ] No update needed
[2026-10-20 06:38:59,322.322 INFO    ] Checking for camera pi updates...
[2026-10-20 06:38:59,356.356 INFO    ] 200
[2026-10-20 06:38:59,359.359 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:38:59,401.401 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:38:59,446.446 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:38:59,449.449 INFO    ] No camera update needed
[2026-10-20 06:38:59,452.452 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:38:59,455.455 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:38:59,461.461 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:38:59,467.467 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:39:01,530.530 INFO    ] ================================================
[2026-10-20 06:39:01,556.556 INFO    ] Launching Daemon at Tue Oct 20 06:39:01 IST 2026
[2026-10-20 06:39:01,590.590 INFO    ] ================================================
[2026-10-20 06:39:02,391.391 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:39:02
[2026-10-20 06:39:03,127.127 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:39:03,447.447 INFO    ] Initializing speech engine...
[2026-10-20 06:39:03,453.453 INFO    ] 2026-10-20 06:39:03
[2026-10-20 06:39:03,742.742 INFO    ] 2026-10-20 06:39:03
[2026-10-20 06:39:03,778.778 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:39:04,003.003 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:39:04,008.008 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:39:04,203.203 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:39:04,264.264 INFO    ] time= 20/10/2026 06:39:04
[2026-10-20 06:39:04,271.271 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:39:04,292.292 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:39:04,455.455 INFO    ] No existing commands found in stream
[2026-10-20 06:39:09,486.486 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:39:09,489.489 INFO    ] Waiting 2.08 seconds before fallback handling...
[2026-10-20 06:39:12,107.107 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:39:12,110.110 INFO    ] Checking for system updates...
[2026-10-20 06:39:12,150.150 INFO    ] 200
[2026-10-20 06:39:12,153.153 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:39:12,205.205 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:39:12,208.208 INFO    ] No update needed
[2026-10-20 06:39:12,210.210 INFO    ] Checking for camera pi updates...
[2026-10-20 06:39:12,247.247 INFO    ] 200
[2026-10-20 06:39:12,250.250 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:39:12,291.291 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:39:12,340.340 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:39:12,342.342 INFO    ] No camera update needed
[2026-10-20 06:39:12,345.345 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:39:12,347.347 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:39:12,353.353 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:39:12,359.359 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:39:14,400.400 INFO    ] ================================================
[2026-10-20 06:39:14,415.415 INFO    ] Launching Daemon at Tue Oct 20 06:39:14 IST 2026
[2026-10-20 06:39:14,426.426 INFO    ] ================================================
[2026-10-20 06:39:15,009.009 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:39:15
[2026-10-20 06:39:15,610.610 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:39:15,886.886 INFO    ] Initializing speech engine...
[2026-10-20 06:39:15,892.892 INFO    ] 2026-10-20 06:39:15
[2026-10-20 06:39:16,140.140 INFO    ] 2026-10-20 06:39:16
[2026-10-20 06:39:16,175.175 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:39:16,427.427 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:39:16,436.436 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:39:16,575.575 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:39:16,645.645 INFO    ] time= 20/10/2026 06:39:16
[2026-10-20 06:39:16,697.697 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:39:16,703.703 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:39:16,848.848 INFO    ] No existing commands found in stream
[2026-10-20 06:39:21,863.863 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:39:21,866.866 INFO    ] Waiting 3.36 seconds before fallback handling...
[2026-10-20 06:39:25,707.707 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:39:25,710.710 INFO    ] Checking for system updates...
[2026-10-20 06:39:25,745.745 INFO    ] 200
[2026-10-20 06:39:25,748.748 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:39:25,801.801 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:39:25,803.803 INFO    ] No update needed
[2026-10-20 06:39:25,805.805 INFO    ] Checking for camera pi updates...
[2026-10-20 06:39:25,838.838 INFO    ] 200
[2026-10-20 06:39:25,841.841 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:39:25,881.881 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:39:25,926.926 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:39:25,928.928 INFO    ] No camera update needed
[2026-10-20 06:39:25,931.931 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:39:25,933.933 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:39:25,939.939 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:39:25,944.944 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:39:27,984.984 INFO    ] ================================================
[2026-10-20 06:39:28,999.999 INFO    ] Launching Daemon at Tue Oct 20 06:39:27 IST 2026
[2026-10-20 06:39:28,010.010 INFO    ] ================================================
[2026-10-20 06:39:28,643.643 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:39:28
[2026-10-20 06:39:29,294.294 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:39:29,591.591 INFO    ] Initializing speech engine...
[2026-10-20 06:39:29,599.599 INFO    ] 2026-10-20 06:39:29
[2026-10-20 06:39:29,908.908 INFO    ] 2026-10-20 06:39:29
[2026-10-20 06:39:29,998.998 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:39:30,210.210 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:39:30,214.214 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:39:30,408.408 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:39:30,416.416 INFO    ] time= 20/10/2026 06:39:30
[2026-10-20 06:39:30,434.434 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:39:30,441.441 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:39:30,567.567 INFO    ] No existing commands found in stream
[2026-10-20 06:39:35,581.581 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:39:35,585.585 INFO    ] Waiting 0.47 seconds before fallback handling...
[2026-10-20 06:39:36,579.579 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 06:39:36,582.582 INFO    ] Checking for system updates...
[2026-10-20 06:39:36,618.618 INFO    ] 200
[2026-10-20 06:39:36,621.621 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:39:36,672.672 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:39:36,675.675 INFO    ] No update needed
[2026-10-20 06:39:36,678.678 INFO    ] Checking for camera pi updates...
[2026-10-20 06:39:36,711.711 INFO    ] 200
[2026-10-20 06:39:36,714.714 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:39:36,755.755 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:39:36,805.805 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:39:36,807.807 INFO    ] No camera update needed
[2026-10-20 06:39:36,810.810 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:39:36,813.813 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:39:36,819.819 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:39:36,825.825 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:39:38,866.866 INFO    ] ================================================
[2026-10-20 06:39:38,881.881 INFO    ] Launching Daemon at Tue Oct 20 06:39:38 IST 2026
[2026-10-20 06:39:38,892.892 INFO    ] ================================================
[2026-10-20 06:39:39,475.475 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:39:39
[2026-10-20 06:39:40,073.073 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:39:40,346.346 INFO    ] Initializing speech engine...
[2026-10-20 06:39:40,356.356 INFO    ] 2026-10-20 06:39:40
[2026-10-20 06:39:40,604.604 INFO    ] 2026-10-20 06:39:40
[2026-10-20 06:39:40,646.646 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:39:40,875.875 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:39:40,896.896 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:39:41,119.119 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:39:41,162.162 INFO    ] time= 20/10/2026 06:39:41
[2026-10-20 06:39:41,169.169 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:39:41,189.189 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:39:41,319.319 INFO    ] No existing commands found in stream
[2026-10-20 06:39:46,338.338 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:39:46,341.341 INFO    ] Waiting 3.90 seconds before fallback handling...
[2026-10-20 06:39:50,774.774 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:39:50,776.776 INFO    ] Checking for system updates...
[2026-10-20 06:39:50,813.813 INFO    ] 200
[2026-10-20 06:39:50,815.815 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:39:50,873.873 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:39:50,875.875 INFO    ] No update needed
[2026-10-20 06:39:50,878.878 INFO    ] Checking for camera pi updates...
[2026-10-20 06:39:50,911.911 INFO    ] 200
[2026-10-20 06:39:50,913.913 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:39:50,953.953 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:39:51,001.001 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:39:51,004.004 INFO    ] No camera update needed
[2026-10-20 06:39:51,006.006 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:39:51,008.008 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:39:51,014.014 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:39:51,019.019 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:39:53,060.060 INFO    ] ================================================
[2026-10-20 06:39:53,076.076 INFO    ] Launching Daemon at Tue Oct 20 06:39:53 IST 2026
[2026-10-20 06:39:53,087.087 INFO    ] ================================================
[2026-10-20 06:39:53,718.718 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:39:53
[2026-10-20 06:39:54,370.370 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:39:54,667.667 INFO    ] Initializing speech engine...
[2026-10-20 06:39:54,680.680 INFO    ] 2026-10-20 06:39:54
[2026-10-20 06:39:54,954.954 INFO    ] 2026-10-20 06:39:54
[2026-10-20 06:39:54,998.998 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:39:55,278.278 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:39:55,287.287 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:39:55,480.480 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:39:55,488.488 INFO    ] time= 20/10/2026 06:39:55
[2026-10-20 06:39:55,506.506 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:39:55,535.535 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:39:55,665.665 INFO    ] No existing commands found in stream
[2026-10-20 06:40:00,691.691 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:40:00,694.694 INFO    ] Waiting 0.22 seconds before fallback handling...
[2026-10-20 06:40:01,422.422 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:40:01,426.426 INFO    ] Checking for system updates...
[2026-10-20 06:40:01,493.493 INFO    ] 200
[2026-10-20 06:40:01,497.497 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:40:01,682.682 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:40:01,694.694 INFO    ] No update needed
[2026-10-20 06:40:01,702.702 INFO    ] Checking for camera pi updates...
[2026-10-20 06:40:01,886.886 INFO    ] 200
[2026-10-20 06:40:01,890.890 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:40:02,031.031 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:40:02,087.087 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:40:02,094.094 INFO    ] No camera update needed
[2026-10-20 06:40:02,097.097 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:40:02,101.101 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:40:02,120.120 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:40:02,127.127 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:40:04,175.175 INFO    ] ================================================
[2026-10-20 06:40:04,190.190 INFO    ] Launching Daemon at Tue Oct 20 06:40:04 IST 2026
[2026-10-20 06:40:04,201.201 INFO    ] ================================================
[2026-10-20 06:40:04,836.836 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:40:04
[2026-10-20 06:40:05,490.490 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:40:05,790.790 INFO    ] Initializing speech engine...
[2026-10-20 06:40:05,799.799 INFO    ] 2026-10-20 06:40:05
[2026-10-20 06:40:06,066.066 INFO    ] 2026-10-20 06:40:06
[2026-10-20 06:40:06,104.104 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:40:06,353.353 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:40:06,363.363 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:40:06,505.505 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:40:06,570.570 INFO    ] time= 20/10/2026 06:40:06
[2026-10-20 06:40:06,624.624 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:40:06,636.636 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:40:06,781.781 INFO    ] No existing commands found in stream
[2026-10-20 06:40:11,795.795 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:40:11,798.798 INFO    ] Waiting 3.66 seconds before fallback handling...
[2026-10-20 06:40:15,953.953 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 06:40:15,955.955 INFO    ] Checking for system updates...
[2026-10-20 06:40:15,991.991 INFO    ] 200
[2026-10-20 06:40:15,993.993 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:40:16,050.050 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:40:16,053.053 INFO    ] No update needed
[2026-10-20 06:40:16,055.055 INFO    ] Checking for camera pi updates...
[2026-10-20 06:40:16,091.091 INFO    ] 200
[2026-10-20 06:40:16,094.094 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:40:16,134.134 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:40:16,191.191 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:40:16,194.194 INFO    ] No camera update needed
[2026-10-20 06:40:16,196.196 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:40:16,198.198 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:40:16,204.204 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:40:16,209.209 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:40:18,248.248 INFO    ] ================================================
[2026-10-20 06:40:18,263.263 INFO    ] Launching Daemon at Tue Oct 20 06:40:18 IST 2026
[2026-10-20 06:40:18,273.273 INFO    ] ================================================
[2026-10-20 06:40:18,840.840 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:40:18
[2026-10-20 06:40:19,427.427 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:40:19,703.703 INFO    ] Initializing speech engine...
[2026-10-20 06:40:19,711.711 INFO    ] 2026-10-20 06:40:19
[2026-10-20 06:40:19,955.955 INFO    ] 2026-10-20 06:40:19
[2026-10-20 06:40:19,990.990 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:40:20,191.191 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:40:20,232.232 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:40:20,394.394 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:40:20,439.439 INFO    ] time= 20/10/2026 06:40:20
[2026-10-20 06:40:20,504.504 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:40:20,531.531 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:40:20,664.664 INFO    ] No existing commands found in stream
[2026-10-20 06:40:25,687.687 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:40:25,690.690 INFO    ] Waiting 2.08 seconds before fallback handling...
[2026-10-20 06:40:28,292.292 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:40:28,295.295 INFO    ] Checking for system updates...
[2026-10-20 06:40:28,330.330 INFO    ] 200
[2026-10-20 06:40:28,332.332 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:40:28,385.385 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:40:28,388.388 INFO    ] No update needed
[2026-10-20 06:40:28,390.390 INFO    ] Checking for camera pi updates...
[2026-10-20 06:40:28,424.424 INFO    ] 200
[2026-10-20 06:40:28,426.426 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:40:28,466.466 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:40:28,519.519 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:40:28,522.522 INFO    ] No camera update needed
[2026-10-20 06:40:28,524.524 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:40:28,527.527 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:40:28,532.532 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:40:28,537.537 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:40:30,578.578 INFO    ] ================================================
[2026-10-20 06:40:30,594.594 INFO    ] Launching Daemon at Tue Oct 20 06:40:30 IST 2026
[2026-10-20 06:40:30,604.604 INFO    ] ================================================
[2026-10-20 06:40:31,175.175 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:40:31
[2026-10-20 06:40:31,779.779 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:40:32,049.049 INFO    ] Initializing speech engine...
[2026-10-20 06:40:32,057.057 INFO    ] 2026-10-20 06:40:32
[2026-10-20 06:40:32,377.377 INFO    ] 2026-10-20 06:40:32
[2026-10-20 06:40:32,416.416 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:40:32,605.605 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:40:32,629.629 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:40:32,770.770 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:40:32,777.777 INFO    ] time= 20/10/2026 06:40:32
[2026-10-20 06:40:32,798.798 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:40:32,823.823 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:40:32,914.914 INFO    ] No existing commands found in stream
[2026-10-20 06:40:37,930.930 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:40:37,932.932 INFO    ] Waiting 3.30 seconds before fallback handling...
[2026-10-20 06:40:41,722.722 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 06:40:41,725.725 INFO    ] Checking for system updates...
[2026-10-20 06:40:41,760.760 INFO    ] 200
[2026-10-20 06:40:41,762.762 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:40:41,816.816 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:40:41,819.819 INFO    ] No update needed
[2026-10-20 06:40:41,821.821 INFO    ] Checking for camera pi updates...
[2026-10-20 06:40:41,854.854 INFO    ] 200
[2026-10-20 06:40:41,857.857 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:40:41,900.900 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:40:42,053.053 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:40:42,055.055 INFO    ] No camera update needed
[2026-10-20 06:40:42,058.058 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:40:42,060.060 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:40:42,065.065 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:40:42,070.070 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:40:44,110.110 INFO    ] ================================================
[2026-10-20 06:40:44,126.126 INFO    ] Launching Daemon at Tue Oct 20 06:40:44 IST 2026
[2026-10-20 06:40:44,137.137 INFO    ] ================================================
[2026-10-20 06:40:44,719.719 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:40:44
[2026-10-20 06:40:45,315.315 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:40:45,587.587 INFO    ] Initializing speech engine...
[2026-10-20 06:40:45,596.596 INFO    ] 2026-10-20 06:40:45
[2026-10-20 06:40:45,845.845 INFO    ] 2026-10-20 06:40:45
[2026-10-20 06:40:45,886.886 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:40:46,131.131 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:40:46,141.141 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:40:46,359.359 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:40:46,401.401 INFO    ] time= 20/10/2026 06:40:46
[2026-10-20 06:40:46,407.407 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:40:46,424.424 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:40:46,570.570 INFO    ] No existing commands found in stream
[2026-10-20 06:40:51,596.596 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:40:51,599.599 INFO    ] Waiting 2.59 seconds before fallback handling...
[2026-10-20 06:40:54,688.688 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:40:54,691.691 INFO    ] Checking for system updates...
[2026-10-20 06:40:54,726.726 INFO    ] 200
[2026-10-20 06:40:54,728.728 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:40:54,781.781 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:40:54,784.784 INFO    ] No update needed
[2026-10-20 06:40:54,787.787 INFO    ] Checking for camera pi updates...
[2026-10-20 06:40:54,824.824 INFO    ] 200
[2026-10-20 06:40:54,826.826 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:40:54,871.871 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:40:54,920.920 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:40:54,922.922 INFO    ] No camera update needed
[2026-10-20 06:40:54,925.925 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:40:54,927.927 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:40:54,932.932 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:40:54,937.937 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:40:56,977.977 INFO    ] ================================================
[2026-10-20 06:40:56,992.992 INFO    ] Launching Daemon at Tue Oct 20 06:40:56 IST 2026
[2026-10-20 06:40:57,003.003 INFO    ] ================================================
[2026-10-20 06:40:57,569.569 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:40:57
[2026-10-20 06:40:58,152.152 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:40:58,425.425 INFO    ] Initializing speech engine...
[2026-10-20 06:40:58,433.433 INFO    ] 2026-10-20 06:40:58
[2026-10-20 06:40:58,682.682 INFO    ] 2026-10-20 06:40:58
[2026-10-20 06:40:58,716.716 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:40:58,967.967 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:40:58,976.976 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:40:59,123.123 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:40:59,183.183 INFO    ] time= 20/10/2026 06:40:59
[2026-10-20 06:40:59,242.242 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:40:59,259.259 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:40:59,411.411 INFO    ] No existing commands found in stream
[2026-10-20 06:41:04,433.433 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:41:04,436.436 INFO    ] Waiting 3.45 seconds before fallback handling...
[2026-10-20 06:41:08,377.377 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 06:41:08,380.380 INFO    ] Checking for system updates...
[2026-10-20 06:41:08,419.419 INFO    ] 200
[2026-10-20 06:41:08,422.422 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:41:08,473.473 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:41:08,476.476 INFO    ] No update needed
[2026-10-20 06:41:08,478.478 INFO    ] Checking for camera pi updates...
[2026-10-20 06:41:08,512.512 INFO    ] 200
[2026-10-20 06:41:08,514.514 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:41:08,559.559 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:41:08,604.604 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:41:08,607.607 INFO    ] No camera update needed
[2026-10-20 06:41:08,609.609 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:41:08,611.611 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:41:08,617.617 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:41:08,622.622 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:41:10,663.663 INFO    ] ================================================
[2026-10-20 06:41:10,679.679 INFO    ] Launching Daemon at Tue Oct 20 06:41:10 IST 2026
[2026-10-20 06:41:10,690.690 INFO    ] ================================================
[2026-10-20 06:41:11,354.354 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:41:11
[2026-10-20 06:41:12,038.038 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:41:12,349.349 INFO    ] Initializing speech engine...
[2026-10-20 06:41:12,361.361 INFO    ] 2026-10-20 06:41:12
[2026-10-20 06:41:12,671.671 INFO    ] 2026-10-20 06:41:12
[2026-10-20 06:41:12,758.758 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:41:12,972.972 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:41:12,977.977 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:41:13,172.172 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:41:13,179.179 INFO    ] time= 20/10/2026 06:41:13
[2026-10-20 06:41:13,200.200 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:41:13,226.226 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:41:13,368.368 INFO    ] No existing commands found in stream
[2026-10-20 06:41:18,399.399 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:41:18,402.402 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-10-20 06:41:22,032.032 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 06:41:22,035.035 INFO    ] Checking for system updates...
[2026-10-20 06:41:22,073.073 INFO    ] 200
[2026-10-20 06:41:22,076.076 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:41:22,129.129 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:41:22,132.132 INFO    ] No update needed
[2026-10-20 06:41:22,135.135 INFO    ] Checking for camera pi updates...
[2026-10-20 06:41:22,168.168 INFO    ] 200
[2026-10-20 06:41:22,171.171 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:41:22,210.210 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:41:22,256.256 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:41:22,258.258 INFO    ] No camera update needed
[2026-10-20 06:41:22,260.260 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:41:22,263.263 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:41:22,268.268 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:41:22,273.273 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:41:24,313.313 INFO    ] ================================================
[2026-10-20 06:41:24,329.329 INFO    ] Launching Daemon at Tue Oct 20 06:41:24 IST 2026
[2026-10-20 06:41:24,340.340 INFO    ] ================================================
[2026-10-20 06:41:25,006.006 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:41:24
[2026-10-20 06:41:25,689.689 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:41:25,995.995 INFO    ] Initializing speech engine...
[2026-10-20 06:41:26,001.001 INFO    ] 2026-10-20 06:41:25
[2026-10-20 06:41:26,291.291 INFO    ] 2026-10-20 06:41:26
[2026-10-20 06:41:26,335.335 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:41:26,617.617 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:41:26,626.626 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:41:26,821.821 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:41:26,829.829 INFO    ] time= 20/10/2026 06:41:26
[2026-10-20 06:41:26,850.850 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:41:26,876.876 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:41:26,985.985 INFO    ] No existing commands found in stream
[2026-10-20 06:41:32,011.011 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:41:32,015.015 INFO    ] Waiting 1.81 seconds before fallback handling...
[2026-10-20 06:41:34,350.350 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 06:41:34,353.353 INFO    ] Checking for system updates...
[2026-10-20 06:41:34,395.395 INFO    ] 200
[2026-10-20 06:41:34,398.398 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:41:34,458.458 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:41:34,461.461 INFO    ] No update needed
[2026-10-20 06:41:34,463.463 INFO    ] Checking for camera pi updates...
[2026-10-20 06:41:34,501.501 INFO    ] 200
[2026-10-20 06:41:34,504.504 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:41:34,544.544 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:41:34,591.591 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:41:34,594.594 INFO    ] No camera update needed
[2026-10-20 06:41:34,596.596 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:41:34,598.598 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:41:34,604.604 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:41:34,609.609 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:41:36,649.649 INFO    ] ================================================
[2026-10-20 06:41:36,665.665 INFO    ] Launching Daemon at Tue Oct 20 06:41:36 IST 2026
[2026-10-20 06:41:36,676.676 INFO    ] ================================================
[2026-10-20 06:41:37,242.242 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:41:37
[2026-10-20 06:41:37,826.826 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:41:38,077.077 INFO    ] Initializing speech engine...
[2026-10-20 06:41:38,089.089 INFO    ] 2026-10-20 06:41:38
[2026-10-20 06:41:38,358.358 INFO    ] 2026-10-20 06:41:38
[2026-10-20 06:41:38,393.393 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:41:38,654.654 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:41:38,663.663 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:41:38,799.799 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:41:38,836.836 INFO    ] time= 20/10/2026 06:41:38
[2026-10-20 06:41:38,906.906 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:41:38,938.938 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:41:39,075.075 INFO    ] No existing commands found in stream
[2026-10-20 06:41:44,098.098 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:41:44,101.101 INFO    ] Waiting 0.43 seconds before fallback handling...
[2026-10-20 06:41:45,094.094 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:41:45,097.097 INFO    ] Checking for system updates...
[2026-10-20 06:41:45,134.134 INFO    ] 200
[2026-10-20 06:41:45,137.137 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:41:45,199.199 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:41:45,202.202 INFO    ] No update needed
[2026-10-20 06:41:45,204.204 INFO    ] Checking for camera pi updates...
[2026-10-20 06:41:45,238.238 INFO    ] 200
[2026-10-20 06:41:45,240.240 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:41:45,281.281 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:41:45,335.335 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:41:45,338.338 INFO    ] No camera update needed
[2026-10-20 06:41:45,340.340 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:41:45,342.342 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:41:45,348.348 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:41:45,353.353 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:41:47,394.394 INFO    ] ================================================
[2026-10-20 06:41:47,409.409 INFO    ] Launching Daemon at Tue Oct 20 06:41:47 IST 2026
[2026-10-20 06:41:47,420.420 INFO    ] ================================================
[2026-10-20 06:41:48,010.010 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:41:48
[2026-10-20 06:41:48,617.617 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:41:48,897.897 INFO    ] Initializing speech engine...
[2026-10-20 06:41:48,902.902 INFO    ] 2026-10-20 06:41:48
[2026-10-20 06:41:49,167.167 INFO    ] 2026-10-20 06:41:49
[2026-10-20 06:41:49,221.221 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:41:49,449.449 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:41:49,454.454 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:41:49,657.657 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:41:49,714.714 INFO    ] time= 20/10/2026 06:41:49
[2026-10-20 06:41:49,721.721 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:41:49,739.739 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:41:49,893.893 INFO    ] No existing commands found in stream
[2026-10-20 06:41:54,924.924 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:41:54,927.927 INFO    ] Waiting 2.10 seconds before fallback handling...
[2026-10-20 06:41:57,539.539 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 06:41:57,542.542 INFO    ] Checking for system updates...
[2026-10-20 06:41:57,579.579 INFO    ] 200
[2026-10-20 06:41:57,581.581 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:41:57,632.632 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:41:57,635.635 INFO    ] No update needed
[2026-10-20 06:41:57,637.637 INFO    ] Checking for camera pi updates...
[2026-10-20 06:41:57,670.670 INFO    ] 200
[2026-10-20 06:41:57,672.672 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:41:57,711.711 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:41:57,755.755 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:41:57,757.757 INFO    ] No camera update needed
[2026-10-20 06:41:57,760.760 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:41:57,762.762 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:41:57,767.767 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:41:57,772.772 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:41:59,812.812 INFO    ] ================================================
[2026-10-20 06:41:59,828.828 INFO    ] Launching Daemon at Tue Oct 20 06:41:59 IST 2026
[2026-10-20 06:41:59,839.839 INFO    ] ================================================
[2026-10-20 06:42:00,410.410 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:42:00
[2026-10-20 06:42:00,997.997 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:42:01,266.266 INFO    ] Initializing speech engine...
[2026-10-20 06:42:01,275.275 INFO    ] 2026-10-20 06:42:01
[2026-10-20 06:42:01,533.533 INFO    ] 2026-10-20 06:42:01
[2026-10-20 06:42:01,587.587 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:42:01,840.840 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:42:01,874.874 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:42:02,102.102 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:42:02,105.105 INFO    ] time= 20/10/2026 06:42:02
[2026-10-20 06:42:02,109.109 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:42:02,112.112 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:42:02,194.194 INFO    ] No existing commands found in stream
[2026-10-20 06:42:07,203.203 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:42:07,206.206 INFO    ] Waiting 2.30 seconds before fallback handling...
[2026-10-20 06:42:09,999.999 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 06:42:10,002.002 INFO    ] Checking for system updates...
[2026-10-20 06:42:10,037.037 INFO    ] 200
[2026-10-20 06:42:10,040.040 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:42:10,099.099 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:42:10,102.102 INFO    ] No update needed
[2026-10-20 06:42:10,104.104 INFO    ] Checking for camera pi updates...
[2026-10-20 06:42:10,137.137 INFO    ] 200
[2026-10-20 06:42:10,139.139 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:42:10,180.180 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:42:10,232.232 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:42:10,234.234 INFO    ] No camera update needed
[2026-10-20 06:42:10,236.236 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:42:10,239.239 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:42:10,244.244 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:42:10,249.249 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:42:12,293.293 INFO    ] ================================================
[2026-10-20 06:42:12,309.309 INFO    ] Launching Daemon at Tue Oct 20 06:42:12 IST 2026
[2026-10-20 06:42:12,320.320 INFO    ] ================================================
[2026-10-20 06:42:12,920.920 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:42:12
[2026-10-20 06:42:13,521.521 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:42:13,783.783 INFO    ] Initializing speech engine...
[2026-10-20 06:42:13,792.792 INFO    ] 2026-10-20 06:42:13
[2026-10-20 06:42:14,091.091 INFO    ] 2026-10-20 06:42:14
[2026-10-20 06:42:14,129.129 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:42:14,361.361 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:42:14,381.381 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:42:14,594.594 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:42:14,600.600 INFO    ] time= 20/10/2026 06:42:14
[2026-10-20 06:42:14,670.670 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:42:14,719.719 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:42:14,879.879 INFO    ] No existing commands found in stream
[2026-10-20 06:42:19,902.902 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:42:19,905.905 INFO    ] Waiting 1.52 seconds before fallback handling...
[2026-10-20 06:42:21,927.927 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:42:21,930.930 INFO    ] Checking for system updates...
[2026-10-20 06:42:21,966.966 INFO    ] 200
[2026-10-20 06:42:21,968.968 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:42:22,022.022 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:42:22,025.025 INFO    ] No update needed
[2026-10-20 06:42:22,028.028 INFO    ] Checking for camera pi updates...
[2026-10-20 06:42:22,061.061 INFO    ] 200
[2026-10-20 06:42:22,064.064 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:42:22,104.104 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:42:22,148.148 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:42:22,151.151 INFO    ] No camera update needed
[2026-10-20 06:42:22,153.153 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:42:22,155.155 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:42:22,161.161 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:42:22,166.166 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:42:24,205.205 INFO    ] ================================================
[2026-10-20 06:42:24,220.220 INFO    ] Launching Daemon at Tue Oct 20 06:42:24 IST 2026
[2026-10-20 06:42:24,231.231 INFO    ] ================================================
[2026-10-20 06:42:24,893.893 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:42:24
[2026-10-20 06:42:25,480.480 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:42:25,740.740 INFO    ] Initializing speech engine...
[2026-10-20 06:42:25,756.756 INFO    ] 2026-10-20 06:42:25
[2026-10-20 06:42:26,010.010 INFO    ] 2026-10-20 06:42:26
[2026-10-20 06:42:26,046.046 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:42:26,300.300 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:42:26,305.305 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:42:26,502.502 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:42:26,557.557 INFO    ] time= 20/10/2026 06:42:26
[2026-10-20 06:42:26,569.569 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:42:26,586.586 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:42:26,718.718 INFO    ] No existing commands found in stream
[2026-10-20 06:42:31,751.751 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:42:31,754.754 INFO    ] Waiting 2.09 seconds before fallback handling...
[2026-10-20 06:42:34,340.340 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:42:34,343.343 INFO    ] Checking for system updates...
[2026-10-20 06:42:34,379.379 INFO    ] 200
[2026-10-20 06:42:34,382.382 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:42:34,443.443 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:42:34,446.446 INFO    ] No update needed
[2026-10-20 06:42:34,448.448 INFO    ] Checking for camera pi updates...
[2026-10-20 06:42:34,496.496 INFO    ] 200
[2026-10-20 06:42:34,499.499 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:42:34,546.546 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:42:34,592.592 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:42:34,594.594 INFO    ] No camera update needed
[2026-10-20 06:42:34,597.597 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:42:34,600.600 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:42:34,606.606 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:42:34,612.612 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:42:36,655.655 INFO    ] ================================================
[2026-10-20 06:42:36,669.669 INFO    ] Launching Daemon at Tue Oct 20 06:42:36 IST 2026
[2026-10-20 06:42:36,680.680 INFO    ] ================================================
[2026-10-20 06:42:37,341.341 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:42:37
[2026-10-20 06:42:38,024.024 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:42:38,332.332 INFO    ] Initializing speech engine...
[2026-10-20 06:42:38,340.340 INFO    ] 2026-10-20 06:42:38
[2026-10-20 06:42:38,634.634 INFO    ] 2026-10-20 06:42:38
[2026-10-20 06:42:38,739.739 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:42:38,957.957 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:42:38,966.966 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:42:39,163.163 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:42:39,170.170 INFO    ] time= 20/10/2026 06:42:39
[2026-10-20 06:42:39,191.191 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:42:39,217.217 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:42:39,332.332 INFO    ] No existing commands found in stream
[2026-10-20 06:42:44,351.351 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:42:44,354.354 INFO    ] Waiting 1.39 seconds before fallback handling...
[2026-10-20 06:42:46,232.232 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 06:42:46,235.235 INFO    ] Checking for system updates...
[2026-10-20 06:42:46,272.272 INFO    ] 200
[2026-10-20 06:42:46,275.275 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:42:46,328.328 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:42:46,331.331 INFO    ] No update needed
[2026-10-20 06:42:46,333.333 INFO    ] Checking for camera pi updates...
[2026-10-20 06:42:46,372.372 INFO    ] 200
[2026-10-20 06:42:46,375.375 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:42:46,420.420 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:42:46,562.562 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:42:46,565.565 INFO    ] No camera update needed
[2026-10-20 06:42:46,568.568 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:42:46,571.571 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:42:46,577.577 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:42:46,583.583 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:42:48,623.623 INFO    ] ================================================
[2026-10-20 06:42:48,638.638 INFO    ] Launching Daemon at Tue Oct 20 06:42:48 IST 2026
[2026-10-20 06:42:48,649.649 INFO    ] ================================================
[2026-10-20 06:42:49,228.228 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:42:49
[2026-10-20 06:42:49,828.828 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:42:50,099.099 INFO    ] Initializing speech engine...
[2026-10-20 06:42:50,108.108 INFO    ] 2026-10-20 06:42:50
[2026-10-20 06:42:50,354.354 INFO    ] 2026-10-20 06:42:50
[2026-10-20 06:42:50,420.420 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:42:50,671.671 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:42:50,676.676 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:42:50,889.889 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:42:50,910.910 INFO    ] time= 20/10/2026 06:42:50
[2026-10-20 06:42:50,927.927 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:42:50,936.936 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:42:51,064.064 INFO    ] No existing commands found in stream
[2026-10-20 06:42:56,079.079 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:42:56,082.082 INFO    ] Waiting 3.97 seconds before fallback handling...
[2026-10-20 06:43:00,614.614 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 06:43:00,617.617 INFO    ] Checking for system updates...
[2026-10-20 06:43:00,658.658 INFO    ] 200
[2026-10-20 06:43:00,661.661 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:43:00,719.719 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:43:00,722.722 INFO    ] No update needed
[2026-10-20 06:43:00,724.724 INFO    ] Checking for camera pi updates...
[2026-10-20 06:43:00,762.762 INFO    ] 200
[2026-10-20 06:43:00,764.764 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:43:00,804.804 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:43:00,854.854 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:43:00,856.856 INFO    ] No camera update needed
[2026-10-20 06:43:00,858.858 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:43:00,861.861 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:43:00,866.866 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:43:00,871.871 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:43:02,931.931 INFO    ] ================================================
[2026-10-20 06:43:02,952.952 INFO    ] Launching Daemon at Tue Oct 20 06:43:02 IST 2026
[2026-10-20 06:43:02,967.967 INFO    ] ================================================
[2026-10-20 06:43:03,610.610 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:43:03
[2026-10-20 06:43:04,250.250 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:43:04,556.556 INFO    ] Initializing speech engine...
[2026-10-20 06:43:04,565.565 INFO    ] 2026-10-20 06:43:04
[2026-10-20 06:43:04,858.858 INFO    ] 2026-10-20 06:43:04
[2026-10-20 06:43:04,905.905 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:43:05,157.157 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:43:05,163.163 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:43:05,392.392 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:43:05,410.410 INFO    ] time= 20/10/2026 06:43:05
[2026-10-20 06:43:05,428.428 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:43:05,458.458 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:43:05,570.570 INFO    ] No existing commands found in stream
[2026-10-20 06:43:10,590.590 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:43:10,593.593 INFO    ] Waiting 3.91 seconds before fallback handling...
[2026-10-20 06:43:15,056.056 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:43:15,059.059 INFO    ] Checking for system updates...
[2026-10-20 06:43:15,099.099 INFO    ] 200
[2026-10-20 06:43:15,102.102 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:43:15,161.161 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:43:15,164.164 INFO    ] No update needed
[2026-10-20 06:43:15,167.167 INFO    ] Checking for camera pi updates...
[2026-10-20 06:43:15,201.201 INFO    ] 200
[2026-10-20 06:43:15,204.204 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:43:15,245.245 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:43:15,292.292 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:43:15,295.295 INFO    ] No camera update needed
[2026-10-20 06:43:15,298.298 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:43:15,300.300 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:43:15,307.307 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:43:15,313.313 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:43:17,353.353 INFO    ] ================================================
[2026-10-20 06:43:17,368.368 INFO    ] Launching Daemon at Tue Oct 20 06:43:17 IST 2026
[2026-10-20 06:43:17,379.379 INFO    ] ================================================
[2026-10-20 06:43:18,033.033 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:43:18
[2026-10-20 06:43:18,636.636 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:43:18,905.905 INFO    ] Initializing speech engine...
[2026-10-20 06:43:18,915.915 INFO    ] 2026-10-20 06:43:18
[2026-10-20 06:43:19,165.165 INFO    ] 2026-10-20 06:43:19
[2026-10-20 06:43:19,201.201 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:43:19,409.409 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:43:19,462.462 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:43:19,677.677 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:43:19,731.731 INFO    ] time= 20/10/2026 06:43:19
[2026-10-20 06:43:19,741.741 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:43:19,760.760 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:43:19,895.895 INFO    ] No existing commands found in stream
[2026-10-20 06:43:24,910.910 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:43:24,913.913 INFO    ] Waiting 1.79 seconds before fallback handling...
[2026-10-20 06:43:27,195.195 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 06:43:27,198.198 INFO    ] Checking for system updates...
[2026-10-20 06:43:27,234.234 INFO    ] 200
[2026-10-20 06:43:27,237.237 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:43:27,289.289 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:43:27,292.292 INFO    ] No update needed
[2026-10-20 06:43:27,295.295 INFO    ] Checking for camera pi updates...
[2026-10-20 06:43:27,333.333 INFO    ] 200
[2026-10-20 06:43:27,336.336 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:43:27,377.377 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:43:27,427.427 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:43:27,430.430 INFO    ] No camera update needed
[2026-10-20 06:43:27,433.433 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:43:27,436.436 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:43:27,442.442 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:43:27,448.448 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:43:29,489.489 INFO    ] ================================================
[2026-10-20 06:43:29,505.505 INFO    ] Launching Daemon at Tue Oct 20 06:43:29 IST 2026
[2026-10-20 06:43:29,515.515 INFO    ] ================================================
[2026-10-20 06:43:30,099.099 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:43:30
[2026-10-20 06:43:30,681.681 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:43:30,930.930 INFO    ] Initializing speech engine...
[2026-10-20 06:43:30,943.943 INFO    ] 2026-10-20 06:43:30
[2026-10-20 06:43:31,209.209 INFO    ] 2026-10-20 06:43:31
[2026-10-20 06:43:31,243.243 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:43:31,446.446 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:43:31,502.502 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:43:31,721.721 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:43:31,771.771 INFO    ] time= 20/10/2026 06:43:31
[2026-10-20 06:43:31,782.782 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:43:31,797.797 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:43:31,939.939 INFO    ] No existing commands found in stream
[2026-10-20 06:43:36,971.971 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:43:36,974.974 INFO    ] Waiting 0.69 seconds before fallback handling...
[2026-10-20 06:43:38,148.148 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:43:38,150.150 INFO    ] Checking for system updates...
[2026-10-20 06:43:38,186.186 INFO    ] 200
[2026-10-20 06:43:38,188.188 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:43:38,249.249 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:43:38,251.251 INFO    ] No update needed
[2026-10-20 06:43:38,253.253 INFO    ] Checking for camera pi updates...
[2026-10-20 06:43:38,290.290 INFO    ] 200
[2026-10-20 06:43:38,292.292 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:43:38,334.334 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:43:38,381.381 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:43:38,384.384 INFO    ] No camera update needed
[2026-10-20 06:43:38,386.386 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:43:38,388.388 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:43:38,394.394 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:43:38,399.399 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:43:40,439.439 INFO    ] ================================================
[2026-10-20 06:43:40,454.454 INFO    ] Launching Daemon at Tue Oct 20 06:43:40 IST 2026
[2026-10-20 06:43:40,464.464 INFO    ] ================================================
[2026-10-20 06:43:41,042.042 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:43:41
[2026-10-20 06:43:41,625.625 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:43:41,899.899 INFO    ] Initializing speech engine...
[2026-10-20 06:43:41,903.903 INFO    ] 2026-10-20 06:43:41
[2026-10-20 06:43:42,149.149 INFO    ] 2026-10-20 06:43:42
[2026-10-20 06:43:42,183.183 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:43:42,439.439 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:43:42,443.443 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:43:42,650.650 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:43:42,700.700 INFO    ] time= 20/10/2026 06:43:42
[2026-10-20 06:43:42,709.709 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:43:42,726.726 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:43:42,858.858 INFO    ] No existing commands found in stream
[2026-10-20 06:43:47,880.880 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:43:47,883.883 INFO    ] Waiting 2.98 seconds before fallback handling...
[2026-10-20 06:43:51,345.345 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 06:43:51,348.348 INFO    ] Checking for system updates...
[2026-10-20 06:43:51,383.383 INFO    ] 200
[2026-10-20 06:43:51,386.386 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:43:51,441.441 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:43:51,443.443 INFO    ] No update needed
[2026-10-20 06:43:51,446.446 INFO    ] Checking for camera pi updates...
[2026-10-20 06:43:51,479.479 INFO    ] 200
[2026-10-20 06:43:51,481.481 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:43:51,521.521 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:43:51,567.567 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:43:51,569.569 INFO    ] No camera update needed
[2026-10-20 06:43:51,572.572 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:43:51,574.574 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:43:51,580.580 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:43:51,584.584 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:43:53,625.625 INFO    ] ================================================
[2026-10-20 06:43:53,641.641 INFO    ] Launching Daemon at Tue Oct 20 06:43:53 IST 2026
[2026-10-20 06:43:53,651.651 INFO    ] ================================================
[2026-10-20 06:43:54,322.322 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:43:54
[2026-10-20 06:43:54,986.986 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:43:55,257.257 INFO    ] Initializing speech engine...
[2026-10-20 06:43:55,267.267 INFO    ] 2026-10-20 06:43:55
[2026-10-20 06:43:55,518.518 INFO    ] 2026-10-20 06:43:55
[2026-10-20 06:43:55,553.553 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:43:55,757.757 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:43:55,813.813 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:43:56,024.024 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:43:56,083.083 INFO    ] time= 20/10/2026 06:43:56
[2026-10-20 06:43:56,095.095 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:43:56,111.111 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:43:56,250.250 INFO    ] No existing commands found in stream
[2026-10-20 06:44:01,268.268 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:44:01,271.271 INFO    ] Waiting 2.41 seconds before fallback handling...
[2026-10-20 06:44:04,168.168 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 06:44:04,171.171 INFO    ] Checking for system updates...
[2026-10-20 06:44:04,208.208 INFO    ] 200
[2026-10-20 06:44:04,211.211 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:44:04,267.267 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:44:04,269.269 INFO    ] No update needed
[2026-10-20 06:44:04,272.272 INFO    ] Checking for camera pi updates...
[2026-10-20 06:44:04,304.304 INFO    ] 200
[2026-10-20 06:44:04,307.307 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:44:04,346.346 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:44:04,399.399 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:44:04,401.401 INFO    ] No camera update needed
[2026-10-20 06:44:04,404.404 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:44:04,406.406 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:44:04,412.412 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:44:04,417.417 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:44:06,457.457 INFO    ] ================================================
[2026-10-20 06:44:06,473.473 INFO    ] Launching Daemon at Tue Oct 20 06:44:06 IST 2026
[2026-10-20 06:44:06,484.484 INFO    ] ================================================
[2026-10-20 06:44:07,128.128 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:44:07
[2026-10-20 06:44:07,769.769 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:44:08,028.028 INFO    ] Initializing speech engine...
[2026-10-20 06:44:08,042.042 INFO    ] 2026-10-20 06:44:08
[2026-10-20 06:44:08,334.334 INFO    ] 2026-10-20 06:44:08
[2026-10-20 06:44:08,369.369 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:44:08,581.581 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:44:08,595.595 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:44:08,773.773 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:44:08,778.778 INFO    ] time= 20/10/2026 06:44:08
[2026-10-20 06:44:08,784.784 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:44:08,817.817 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:44:08,959.959 INFO    ] No existing commands found in stream
[2026-10-20 06:44:13,984.984 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:44:13,987.987 INFO    ] Waiting 2.77 seconds before fallback handling...
[2026-10-20 06:44:17,249.249 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:44:17,251.251 INFO    ] Checking for system updates...
[2026-10-20 06:44:17,288.288 INFO    ] 200
[2026-10-20 06:44:17,291.291 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:44:17,353.353 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:44:17,356.356 INFO    ] No update needed
[2026-10-20 06:44:17,359.359 INFO    ] Checking for camera pi updates...
[2026-10-20 06:44:17,394.394 INFO    ] 200
[2026-10-20 06:44:17,397.397 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:44:17,439.439 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:44:17,489.489 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:44:17,492.492 INFO    ] No camera update needed
[2026-10-20 06:44:17,495.495 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:44:17,498.498 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:44:17,505.505 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:44:17,511.511 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:44:19,551.551 INFO    ] ================================================
[2026-10-20 06:44:19,567.567 INFO    ] Launching Daemon at Tue Oct 20 06:44:19 IST 2026
[2026-10-20 06:44:19,579.579 INFO    ] ================================================
[2026-10-20 06:44:20,264.264 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:44:20
[2026-10-20 06:44:20,967.967 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:44:21,252.252 INFO    ] Initializing speech engine...
[2026-10-20 06:44:21,260.260 INFO    ] 2026-10-20 06:44:21
[2026-10-20 06:44:21,512.512 INFO    ] 2026-10-20 06:44:21
[2026-10-20 06:44:21,556.556 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:44:21,817.817 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:44:21,829.829 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:44:22,036.036 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:44:22,088.088 INFO    ] time= 20/10/2026 06:44:22
[2026-10-20 06:44:22,095.095 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:44:22,117.117 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:44:22,260.260 INFO    ] No existing commands found in stream
[2026-10-20 06:44:27,287.287 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:44:27,291.291 INFO    ] Waiting 1.73 seconds before fallback handling...
[2026-10-20 06:44:29,571.571 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:44:29,574.574 INFO    ] Checking for system updates...
[2026-10-20 06:44:29,616.616 INFO    ] 200
[2026-10-20 06:44:29,619.619 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:44:29,682.682 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:44:29,685.685 INFO    ] No update needed
[2026-10-20 06:44:29,688.688 INFO    ] Checking for camera pi updates...
[2026-10-20 06:44:29,723.723 INFO    ] 200
[2026-10-20 06:44:29,726.726 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:44:29,766.766 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:44:29,814.814 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:44:29,817.817 INFO    ] No camera update needed
[2026-10-20 06:44:29,819.819 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:44:29,822.822 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:44:29,827.827 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:44:29,832.832 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:44:31,872.872 INFO    ] ================================================
[2026-10-20 06:44:31,888.888 INFO    ] Launching Daemon at Tue Oct 20 06:44:31 IST 2026
[2026-10-20 06:44:31,899.899 INFO    ] ================================================
[2026-10-20 06:44:32,504.504 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:44:32
[2026-10-20 06:44:33,119.119 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:44:33,390.390 INFO    ] Initializing speech engine...
[2026-10-20 06:44:33,396.396 INFO    ] 2026-10-20 06:44:33
[2026-10-20 06:44:33,673.673 INFO    ] 2026-10-20 06:44:33
[2026-10-20 06:44:33,708.708 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:44:33,967.967 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:44:33,976.976 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:44:34,113.113 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:44:34,177.177 INFO    ] time= 20/10/2026 06:44:34
[2026-10-20 06:44:34,242.242 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:44:34,248.248 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:44:34,367.367 INFO    ] No existing commands found in stream
[2026-10-20 06:44:39,397.397 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:44:39,400.400 INFO    ] Waiting 2.93 seconds before fallback handling...
[2026-10-20 06:44:42,851.851 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 06:44:42,854.854 INFO    ] Checking for system updates...
[2026-10-20 06:44:42,889.889 INFO    ] 200
[2026-10-20 06:44:42,891.891 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:44:42,943.943 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:44:42,946.946 INFO    ] No update needed
[2026-10-20 06:44:42,948.948 INFO    ] Checking for camera pi updates...
[2026-10-20 06:44:42,986.986 INFO    ] 200
[2026-10-20 06:44:42,989.989 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:44:43,030.030 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:44:43,081.081 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:44:43,084.084 INFO    ] No camera update needed
[2026-10-20 06:44:43,087.087 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:44:43,090.090 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:44:43,096.096 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:44:43,103.103 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:44:45,144.144 INFO    ] ================================================
[2026-10-20 06:44:45,160.160 INFO    ] Launching Daemon at Tue Oct 20 06:44:45 IST 2026
[2026-10-20 06:44:45,171.171 INFO    ] ================================================
[2026-10-20 06:44:45,752.752 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:44:45
[2026-10-20 06:44:46,348.348 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:44:46,613.613 INFO    ] Initializing speech engine...
[2026-10-20 06:44:46,628.628 INFO    ] 2026-10-20 06:44:46
[2026-10-20 06:44:46,922.922 INFO    ] 2026-10-20 06:44:46
[2026-10-20 06:44:46,958.958 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:44:47,167.167 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:44:47,174.174 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:44:47,395.395 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:44:47,401.401 INFO    ] time= 20/10/2026 06:44:47
[2026-10-20 06:44:47,471.471 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:44:47,525.525 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:44:47,662.662 INFO    ] No existing commands found in stream
[2026-10-20 06:44:52,690.690 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:44:52,693.693 INFO    ] Waiting 3.07 seconds before fallback handling...
[2026-10-20 06:44:56,225.225 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 06:44:56,227.227 INFO    ] Checking for system updates...
[2026-10-20 06:44:56,267.267 INFO    ] 200
[2026-10-20 06:44:56,270.270 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:44:56,321.321 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:44:56,324.324 INFO    ] No update needed
[2026-10-20 06:44:56,327.327 INFO    ] Checking for camera pi updates...
[2026-10-20 06:44:56,359.359 INFO    ] 200
[2026-10-20 06:44:56,362.362 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:44:56,403.403 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:44:56,552.552 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:44:56,554.554 INFO    ] No camera update needed
[2026-10-20 06:44:56,556.556 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:44:56,559.559 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:44:56,564.564 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:44:56,569.569 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:44:58,610.610 INFO    ] ================================================
[2026-10-20 06:44:58,625.625 INFO    ] Launching Daemon at Tue Oct 20 06:44:58 IST 2026
[2026-10-20 06:44:58,637.637 INFO    ] ================================================
[2026-10-20 06:44:59,302.302 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:44:59
[2026-10-20 06:44:59,888.888 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:45:00,163.163 INFO    ] Initializing speech engine...
[2026-10-20 06:45:00,170.170 INFO    ] 2026-10-20 06:45:00
[2026-10-20 06:45:00,414.414 INFO    ] 2026-10-20 06:45:00
[2026-10-20 06:45:00,449.449 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:45:00,700.700 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:45:00,710.710 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:45:00,891.891 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:45:00,950.950 INFO    ] time= 20/10/2026 06:45:00
[2026-10-20 06:45:00,973.973 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:45:00,979.979 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:45:01,126.126 INFO    ] No existing commands found in stream
[2026-10-20 06:45:06,144.144 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:45:06,147.147 INFO    ] Waiting 3.73 seconds before fallback handling...
[2026-10-20 06:45:10,373.373 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:45:10,375.375 INFO    ] Checking for system updates...
[2026-10-20 06:45:10,415.415 INFO    ] 200
[2026-10-20 06:45:10,417.417 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:45:10,470.470 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:45:10,473.473 INFO    ] No update needed
[2026-10-20 06:45:10,475.475 INFO    ] Checking for camera pi updates...
[2026-10-20 06:45:10,508.508 INFO    ] 200
[2026-10-20 06:45:10,511.511 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:45:10,550.550 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:45:10,594.594 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:45:10,597.597 INFO    ] No camera update needed
[2026-10-20 06:45:10,599.599 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:45:10,602.602 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:45:10,607.607 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:45:10,612.612 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:45:12,652.652 INFO    ] ================================================
[2026-10-20 06:45:12,667.667 INFO    ] Launching Daemon at Tue Oct 20 06:45:12 IST 2026
[2026-10-20 06:45:12,679.679 INFO    ] ================================================
[2026-10-20 06:45:13,337.337 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:45:13
[2026-10-20 06:45:14,015.015 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:45:14,331.331 INFO    ] Initializing speech engine...
[2026-10-20 06:45:14,344.344 INFO    ] 2026-10-20 06:45:14
[2026-10-20 06:45:14,628.628 INFO    ] 2026-10-20 06:45:14
[2026-10-20 06:45:14,738.738 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:45:14,954.954 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:45:14,961.961 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:45:15,174.174 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:45:15,203.203 INFO    ] time= 20/10/2026 06:45:15
[2026-10-20 06:45:15,213.213 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:45:15,231.231 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:45:15,390.390 INFO    ] No existing commands found in stream
[2026-10-20 06:45:20,425.425 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:45:20,429.429 INFO    ] Waiting 1.19 seconds before fallback handling...
[2026-10-20 06:45:22,134.134 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:45:22,137.137 INFO    ] Checking for system updates...
[2026-10-20 06:45:22,173.173 INFO    ] 200
[2026-10-20 06:45:22,176.176 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:45:22,231.231 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:45:22,233.233 INFO    ] No update needed
[2026-10-20 06:45:22,235.235 INFO    ] Checking for camera pi updates...
[2026-10-20 06:45:22,273.273 INFO    ] 200
[2026-10-20 06:45:22,275.275 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:45:22,320.320 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:45:22,364.364 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:45:22,366.366 INFO    ] No camera update needed
[2026-10-20 06:45:22,369.369 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:45:22,371.371 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:45:22,376.376 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:45:22,382.382 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:45:24,422.422 INFO    ] ================================================
[2026-10-20 06:45:24,437.437 INFO    ] Launching Daemon at Tue Oct 20 06:45:24 IST 2026
[2026-10-20 06:45:24,448.448 INFO    ] ================================================
[2026-10-20 06:45:25,102.102 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:45:25
[2026-10-20 06:45:25,774.774 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:45:26,072.072 INFO    ] Initializing speech engine...
[2026-10-20 06:45:26,083.083 INFO    ] 2026-10-20 06:45:26
[2026-10-20 06:45:26,372.372 INFO    ] 2026-10-20 06:45:26
[2026-10-20 06:45:26,418.418 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:45:26,701.701 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:45:26,708.708 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:45:26,906.906 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:45:26,925.925 INFO    ] time= 20/10/2026 06:45:26
[2026-10-20 06:45:26,955.955 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:45:26,964.964 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:45:27,091.091 INFO    ] No existing commands found in stream
[2026-10-20 06:45:32,122.122 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:45:32,125.125 INFO    ] Waiting 1.23 seconds before fallback handling...
[2026-10-20 06:45:33,901.901 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:45:33,904.904 INFO    ] Checking for system updates...
[2026-10-20 06:45:33,943.943 INFO    ] 200
[2026-10-20 06:45:33,946.946 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:45:33,998.998 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:45:34,001.001 INFO    ] No update needed
[2026-10-20 06:45:34,003.003 INFO    ] Checking for camera pi updates...
[2026-10-20 06:45:34,037.037 INFO    ] 200
[2026-10-20 06:45:34,039.039 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:45:34,082.082 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:45:34,137.137 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:45:34,140.140 INFO    ] No camera update needed
[2026-10-20 06:45:34,143.143 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:45:34,145.145 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:45:34,150.150 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:45:34,155.155 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:45:36,197.197 INFO    ] ================================================
[2026-10-20 06:45:36,213.213 INFO    ] Launching Daemon at Tue Oct 20 06:45:36 IST 2026
[2026-10-20 06:45:36,225.225 INFO    ] ================================================
[2026-10-20 06:45:36,817.817 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:45:36
[2026-10-20 06:45:37,426.426 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:45:37,676.676 INFO    ] Initializing speech engine...
[2026-10-20 06:45:37,691.691 INFO    ] 2026-10-20 06:45:37
[2026-10-20 06:45:37,987.987 INFO    ] 2026-10-20 06:45:37
[2026-10-20 06:45:38,035.035 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:45:38,240.240 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:45:38,256.256 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:45:38,423.423 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:45:38,428.428 INFO    ] time= 20/10/2026 06:45:38
[2026-10-20 06:45:38,435.435 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:45:38,462.462 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:45:38,597.597 INFO    ] No existing commands found in stream
[2026-10-20 06:45:43,616.616 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:45:43,619.619 INFO    ] Waiting 1.15 seconds before fallback handling...
[2026-10-20 06:45:45,239.239 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 06:45:45,242.242 INFO    ] Checking for system updates...
[2026-10-20 06:45:45,278.278 INFO    ] 200
[2026-10-20 06:45:45,281.281 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:45:45,351.351 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:45:45,354.354 INFO    ] No update needed
[2026-10-20 06:45:45,356.356 INFO    ] Checking for camera pi updates...
[2026-10-20 06:45:45,393.393 INFO    ] 200
[2026-10-20 06:45:45,396.396 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:45:45,437.437 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:45:45,488.488 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:45:45,491.491 INFO    ] No camera update needed
[2026-10-20 06:45:45,494.494 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:45:45,496.496 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:45:45,503.503 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:45:45,509.509 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:45:47,551.551 INFO    ] ================================================
[2026-10-20 06:45:47,567.567 INFO    ] Launching Daemon at Tue Oct 20 06:45:47 IST 2026
[2026-10-20 06:45:47,578.578 INFO    ] ================================================
[2026-10-20 06:45:48,178.178 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:45:48
[2026-10-20 06:45:48,777.777 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:45:49,050.050 INFO    ] Initializing speech engine...
[2026-10-20 06:45:49,061.061 INFO    ] 2026-10-20 06:45:49
[2026-10-20 06:45:49,308.308 INFO    ] 2026-10-20 06:45:49
[2026-10-20 06:45:49,374.374 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:45:49,601.601 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:45:49,607.607 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:45:49,825.825 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:45:49,865.865 INFO    ] time= 20/10/2026 06:45:49
[2026-10-20 06:45:49,871.871 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:45:49,889.889 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:45:50,016.016 INFO    ] No existing commands found in stream
[2026-10-20 06:45:55,047.047 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:45:55,050.050 INFO    ] Waiting 2.73 seconds before fallback handling...
[2026-10-20 06:45:58,246.246 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:45:58,249.249 INFO    ] Checking for system updates...
[2026-10-20 06:45:58,284.284 INFO    ] 200
[2026-10-20 06:45:58,287.287 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:45:58,345.345 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:45:58,347.347 INFO    ] No update needed
[2026-10-20 06:45:58,350.350 INFO    ] Checking for camera pi updates...
[2026-10-20 06:45:58,387.387 INFO    ] 200
[2026-10-20 06:45:58,390.390 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:45:58,430.430 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:45:58,475.475 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:45:58,478.478 INFO    ] No camera update needed
[2026-10-20 06:45:58,481.481 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:45:58,484.484 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:45:58,490.490 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:45:58,495.495 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:46:00,537.537 INFO    ] ================================================
[2026-10-20 06:46:00,552.552 INFO    ] Launching Daemon at Tue Oct 20 06:46:00 IST 2026
[2026-10-20 06:46:00,566.566 INFO    ] ================================================
[2026-10-20 06:46:01,131.131 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:46:01
[2026-10-20 06:46:01,847.847 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:46:02,155.155 INFO    ] Initializing speech engine...
[2026-10-20 06:46:02,159.159 INFO    ] 2026-10-20 06:46:02
[2026-10-20 06:46:02,500.500 INFO    ] 2026-10-20 06:46:02
[2026-10-20 06:46:02,533.533 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:46:02,763.763 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:46:02,779.779 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:46:02,970.970 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:46:02,981.981 INFO    ] time= 20/10/2026 06:46:02
[2026-10-20 06:46:02,992.992 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:46:03,036.036 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:46:03,193.193 INFO    ] No existing commands found in stream
[2026-10-20 06:46:08,219.219 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:46:08,222.222 INFO    ] Waiting 0.88 seconds before fallback handling...
[2026-10-20 06:46:09,592.592 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:46:09,595.595 INFO    ] Checking for system updates...
[2026-10-20 06:46:09,633.633 INFO    ] 200
[2026-10-20 06:46:09,635.635 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:46:09,692.692 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:46:09,695.695 INFO    ] No update needed
[2026-10-20 06:46:09,697.697 INFO    ] Checking for camera pi updates...
[2026-10-20 06:46:09,730.730 INFO    ] 200
[2026-10-20 06:46:09,733.733 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:46:09,777.777 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:46:09,826.826 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:46:09,829.829 INFO    ] No camera update needed
[2026-10-20 06:46:09,831.831 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:46:09,833.833 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:46:09,839.839 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:46:09,844.844 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:46:11,884.884 INFO    ] ================================================
[2026-10-20 06:46:11,900.900 INFO    ] Launching Daemon at Tue Oct 20 06:46:11 IST 2026
[2026-10-20 06:46:11,911.911 INFO    ] ================================================
[2026-10-20 06:46:12,550.550 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:46:12
[2026-10-20 06:46:13,212.212 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:46:13,515.515 INFO    ] Initializing speech engine...
[2026-10-20 06:46:13,527.527 INFO    ] 2026-10-20 06:46:13
[2026-10-20 06:46:13,810.810 INFO    ] 2026-10-20 06:46:13
[2026-10-20 06:46:13,919.919 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:46:14,195.195 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:46:14,248.248 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:46:14,460.460 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:46:14,497.497 INFO    ] time= 20/10/2026 06:46:14
[2026-10-20 06:46:14,557.557 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:46:14,589.589 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:46:14,740.740 INFO    ] No existing commands found in stream
[2026-10-20 06:46:19,762.762 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:46:19,765.765 INFO    ] Waiting 2.63 seconds before fallback handling...
[2026-10-20 06:46:22,933.933 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 06:46:22,936.936 INFO    ] Checking for system updates...
[2026-10-20 06:46:22,973.973 INFO    ] 200
[2026-10-20 06:46:22,976.976 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:46:23,028.028 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:46:23,030.030 INFO    ] No update needed
[2026-10-20 06:46:23,033.033 INFO    ] Checking for camera pi updates...
[2026-10-20 06:46:23,069.069 INFO    ] 200
[2026-10-20 06:46:23,071.071 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:46:23,111.111 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:46:23,160.160 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:46:23,163.163 INFO    ] No camera update needed
[2026-10-20 06:46:23,165.165 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:46:23,167.167 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:46:23,173.173 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:46:23,177.177 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:46:25,218.218 INFO    ] ================================================
[2026-10-20 06:46:25,234.234 INFO    ] Launching Daemon at Tue Oct 20 06:46:25 IST 2026
[2026-10-20 06:46:25,245.245 INFO    ] ================================================
[2026-10-20 06:46:25,813.813 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:46:25
[2026-10-20 06:46:26,398.398 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:46:26,655.655 INFO    ] Initializing speech engine...
[2026-10-20 06:46:26,669.669 INFO    ] 2026-10-20 06:46:26
[2026-10-20 06:46:26,950.950 INFO    ] 2026-10-20 06:46:26
[2026-10-20 06:46:26,987.987 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:46:27,275.275 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:46:27,285.285 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:46:27,437.437 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:46:27,471.471 INFO    ] time= 20/10/2026 06:46:27
[2026-10-20 06:46:27,505.505 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:46:27,560.560 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:46:27,699.699 INFO    ] No existing commands found in stream
[2026-10-20 06:46:32,725.725 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:46:32,729.729 INFO    ] Waiting 3.13 seconds before fallback handling...
[2026-10-20 06:46:38,762.762 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:46:38,765.765 INFO    ] Checking for system updates...
[2026-10-20 06:46:38,808.808 INFO    ] 200
[2026-10-20 06:46:38,811.811 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:46:38,870.870 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:46:38,873.873 INFO    ] No update needed
[2026-10-20 06:46:38,875.875 INFO    ] Checking for camera pi updates...
[2026-10-20 06:46:38,911.911 INFO    ] 200
[2026-10-20 06:46:38,913.913 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:46:38,957.957 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:46:39,005.005 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:46:39,009.009 INFO    ] No camera update needed
[2026-10-20 06:46:39,012.012 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:46:39,014.014 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:46:39,021.021 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:46:39,027.027 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:46:41,069.069 INFO    ] ================================================
[2026-10-20 06:46:41,086.086 INFO    ] Launching Daemon at Tue Oct 20 06:46:41 IST 2026
[2026-10-20 06:46:41,097.097 INFO    ] ================================================
[2026-10-20 06:46:41,682.682 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:46:41
[2026-10-20 06:46:42,290.290 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:46:42,560.560 INFO    ] Initializing speech engine...
[2026-10-20 06:46:42,569.569 INFO    ] 2026-10-20 06:46:42
[2026-10-20 06:46:42,855.855 INFO    ] 2026-10-20 06:46:42
[2026-10-20 06:46:42,887.887 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:46:43,109.109 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:46:43,117.117 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:46:43,336.336 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:46:43,368.368 INFO    ] time= 20/10/2026 06:46:43
[2026-10-20 06:46:43,434.434 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:46:43,486.486 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:46:43,647.647 INFO    ] No existing commands found in stream
[2026-10-20 06:46:48,661.661 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:46:48,664.664 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-10-20 06:46:50,911.911 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 06:46:50,913.913 INFO    ] Checking for system updates...
[2026-10-20 06:46:50,952.952 INFO    ] 200
[2026-10-20 06:46:50,955.955 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:46:51,006.006 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:46:51,008.008 INFO    ] No update needed
[2026-10-20 06:46:51,011.011 INFO    ] Checking for camera pi updates...
[2026-10-20 06:46:51,047.047 INFO    ] 200
[2026-10-20 06:46:51,050.050 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:46:51,092.092 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:46:51,136.136 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:46:51,138.138 INFO    ] No camera update needed
[2026-10-20 06:46:51,141.141 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:46:51,143.143 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:46:51,148.148 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:46:51,153.153 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:46:53,192.192 INFO    ] ================================================
[2026-10-20 06:46:53,208.208 INFO    ] Launching Daemon at Tue Oct 20 06:46:53 IST 2026
[2026-10-20 06:46:53,219.219 INFO    ] ================================================
[2026-10-20 06:46:53,861.861 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:46:53
[2026-10-20 06:46:54,526.526 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:46:54,830.830 INFO    ] Initializing speech engine...
[2026-10-20 06:46:54,844.844 INFO    ] 2026-10-20 06:46:54
[2026-10-20 06:46:55,153.153 INFO    ] 2026-10-20 06:46:55
[2026-10-20 06:46:55,239.239 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:46:55,454.454 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:46:55,462.462 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:46:55,656.656 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:46:55,678.678 INFO    ] time= 20/10/2026 06:46:55
[2026-10-20 06:46:55,706.706 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:46:55,716.716 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:46:55,860.860 INFO    ] No existing commands found in stream
[2026-10-20 06:47:00,886.886 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:47:00,889.889 INFO    ] Waiting 1.20 seconds before fallback handling...
[2026-10-20 06:47:02,615.615 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:47:02,619.619 INFO    ] Checking for system updates...
[2026-10-20 06:47:02,664.664 INFO    ] 200
[2026-10-20 06:47:02,667.667 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:47:02,726.726 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:47:02,729.729 INFO    ] No update needed
[2026-10-20 06:47:02,732.732 INFO    ] Checking for camera pi updates...
[2026-10-20 06:47:02,771.771 INFO    ] 200
[2026-10-20 06:47:02,774.774 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:47:02,824.824 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:47:02,879.879 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:47:02,882.882 INFO    ] No camera update needed
[2026-10-20 06:47:02,884.884 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:47:02,887.887 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:47:02,895.895 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:47:02,902.902 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:47:04,943.943 INFO    ] ================================================
[2026-10-20 06:47:04,959.959 INFO    ] Launching Daemon at Tue Oct 20 06:47:04 IST 2026
[2026-10-20 06:47:04,971.971 INFO    ] ================================================
[2026-10-20 06:47:05,543.543 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:47:05
[2026-10-20 06:47:06,131.131 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:47:06,380.380 INFO    ] Initializing speech engine...
[2026-10-20 06:47:06,393.393 INFO    ] 2026-10-20 06:47:06
[2026-10-20 06:47:06,659.659 INFO    ] 2026-10-20 06:47:06
[2026-10-20 06:47:06,695.695 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:47:06,955.955 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:47:06,965.965 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:47:07,167.167 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:47:07,217.217 INFO    ] time= 20/10/2026 06:47:07
[2026-10-20 06:47:07,241.241 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:47:07,247.247 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:47:07,393.393 INFO    ] No existing commands found in stream
[2026-10-20 06:47:12,408.408 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:47:12,411.411 INFO    ] Waiting 3.50 seconds before fallback handling...
[2026-10-20 06:47:16,386.386 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:47:16,389.389 INFO    ] Checking for system updates...
[2026-10-20 06:47:16,424.424 INFO    ] 200
[2026-10-20 06:47:16,427.427 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:47:16,479.479 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:47:16,482.482 INFO    ] No update needed
[2026-10-20 06:47:16,484.484 INFO    ] Checking for camera pi updates...
[2026-10-20 06:47:16,521.521 INFO    ] 200
[2026-10-20 06:47:16,524.524 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:47:16,569.569 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:47:16,624.624 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:47:16,626.626 INFO    ] No camera update needed
[2026-10-20 06:47:16,629.629 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:47:16,631.631 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:47:16,636.636 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:47:16,641.641 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:47:18,682.682 INFO    ] ================================================
[2026-10-20 06:47:18,698.698 INFO    ] Launching Daemon at Tue Oct 20 06:47:18 IST 2026
[2026-10-20 06:47:18,709.709 INFO    ] ================================================
[2026-10-20 06:47:19,292.292 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:47:19
[2026-10-20 06:47:19,884.884 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:47:20,144.144 INFO    ] Initializing speech engine...
[2026-10-20 06:47:20,153.153 INFO    ] 2026-10-20 06:47:20
[2026-10-20 06:47:20,453.453 INFO    ] 2026-10-20 06:47:20
[2026-10-20 06:47:20,489.489 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:47:20,716.716 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:47:20,724.724 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:47:20,947.947 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:47:20,955.955 INFO    ] time= 20/10/2026 06:47:20
[2026-10-20 06:47:21,009.009 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:47:21,058.058 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:47:21,176.176 INFO    ] No existing commands found in stream
[2026-10-20 06:47:26,206.206 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:47:26,209.209 INFO    ] Waiting 0.68 seconds before fallback handling...
[2026-10-20 06:47:27,388.388 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 06:47:27,390.390 INFO    ] Checking for system updates...
[2026-10-20 06:47:27,425.425 INFO    ] 200
[2026-10-20 06:47:27,428.428 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:47:27,486.486 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:47:27,489.489 INFO    ] No update needed
[2026-10-20 06:47:27,491.491 INFO    ] Checking for camera pi updates...
[2026-10-20 06:47:27,525.525 INFO    ] 200
[2026-10-20 06:47:27,527.527 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:47:27,577.577 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:47:27,618.618 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:47:27,620.620 INFO    ] No camera update needed
[2026-10-20 06:47:27,623.623 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:47:27,625.625 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:47:27,630.630 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:47:27,635.635 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:47:29,677.677 INFO    ] ================================================
[2026-10-20 06:47:29,693.693 INFO    ] Launching Daemon at Tue Oct 20 06:47:29 IST 2026
[2026-10-20 06:47:29,704.704 INFO    ] ================================================
[2026-10-20 06:47:30,291.291 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:47:30
[2026-10-20 06:47:30,912.912 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:47:31,218.218 INFO    ] Initializing speech engine...
[2026-10-20 06:47:31,226.226 INFO    ] 2026-10-20 06:47:31
[2026-10-20 06:47:31,517.517 INFO    ] 2026-10-20 06:47:31
[2026-10-20 06:47:31,628.628 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:47:31,864.864 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:47:31,920.920 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:47:32,093.093 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:47:32,106.106 INFO    ] time= 20/10/2026 06:47:32
[2026-10-20 06:47:32,135.135 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:47:32,146.146 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:47:32,269.269 INFO    ] No existing commands found in stream
[2026-10-20 06:47:37,296.296 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:47:37,299.299 INFO    ] Waiting 1.30 seconds before fallback handling...
[2026-10-20 06:47:39,100.100 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:47:39,103.103 INFO    ] Checking for system updates...
[2026-10-20 06:47:39,145.145 INFO    ] 200
[2026-10-20 06:47:39,147.147 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:47:39,210.210 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:47:39,213.213 INFO    ] No update needed
[2026-10-20 06:47:39,216.216 INFO    ] Checking for camera pi updates...
[2026-10-20 06:47:39,250.250 INFO    ] 200
[2026-10-20 06:47:39,253.253 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:47:39,294.294 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:47:39,345.345 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:47:39,348.348 INFO    ] No camera update needed
[2026-10-20 06:47:39,351.351 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:47:39,354.354 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:47:39,360.360 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:47:39,366.366 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:47:41,414.414 INFO    ] ================================================
[2026-10-20 06:47:41,429.429 INFO    ] Launching Daemon at Tue Oct 20 06:47:41 IST 2026
[2026-10-20 06:47:41,441.441 INFO    ] ================================================
[2026-10-20 06:47:42,090.090 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:47:42
[2026-10-20 06:47:42,760.760 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:47:43,040.040 INFO    ] Initializing speech engine...
[2026-10-20 06:47:43,063.063 INFO    ] 2026-10-20 06:47:43
[2026-10-20 06:47:43,346.346 INFO    ] 2026-10-20 06:47:43
[2026-10-20 06:47:43,382.382 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:47:43,642.642 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:47:43,649.649 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:47:43,867.867 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:47:43,913.913 INFO    ] time= 20/10/2026 06:47:43
[2026-10-20 06:47:43,919.919 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:47:43,942.942 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:47:44,081.081 INFO    ] No existing commands found in stream
[2026-10-20 06:47:49,112.112 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:47:49,116.116 INFO    ] Waiting 2.96 seconds before fallback handling...
[2026-10-20 06:47:52,598.598 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 06:47:52,601.601 INFO    ] Checking for system updates...
[2026-10-20 06:47:52,640.640 INFO    ] 200
[2026-10-20 06:47:52,643.643 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:47:52,702.702 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:47:52,705.705 INFO    ] No update needed
[2026-10-20 06:47:52,707.707 INFO    ] Checking for camera pi updates...
[2026-10-20 06:47:52,741.741 INFO    ] 200
[2026-10-20 06:47:52,744.744 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:47:52,789.789 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:47:52,836.836 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:47:52,839.839 INFO    ] No camera update needed
[2026-10-20 06:47:52,841.841 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:47:52,844.844 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:47:52,850.850 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:47:52,856.856 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:47:54,898.898 INFO    ] ================================================
[2026-10-20 06:47:54,913.913 INFO    ] Launching Daemon at Tue Oct 20 06:47:54 IST 2026
[2026-10-20 06:47:54,924.924 INFO    ] ================================================
[2026-10-20 06:47:55,567.567 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:47:55
[2026-10-20 06:47:56,191.191 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:47:56,461.461 INFO    ] Initializing speech engine...
[2026-10-20 06:47:56,470.470 INFO    ] 2026-10-20 06:47:56
[2026-10-20 06:47:56,720.720 INFO    ] 2026-10-20 06:47:56
[2026-10-20 06:47:56,756.756 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:47:57,015.015 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:47:57,025.025 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:47:57,239.239 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:47:57,289.289 INFO    ] time= 20/10/2026 06:47:57
[2026-10-20 06:47:57,297.297 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:47:57,313.313 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:47:57,447.447 INFO    ] No existing commands found in stream
[2026-10-20 06:48:02,461.461 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:48:02,464.464 INFO    ] Waiting 2.25 seconds before fallback handling...
[2026-10-20 06:48:05,167.167 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:48:05,169.169 INFO    ] Checking for system updates...
[2026-10-20 06:48:05,204.204 INFO    ] 200
[2026-10-20 06:48:05,207.207 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:48:05,259.259 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:48:05,262.262 INFO    ] No update needed
[2026-10-20 06:48:05,264.264 INFO    ] Checking for camera pi updates...
[2026-10-20 06:48:05,297.297 INFO    ] 200
[2026-10-20 06:48:05,300.300 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:48:05,340.340 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:48:05,388.388 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:48:05,390.390 INFO    ] No camera update needed
[2026-10-20 06:48:05,393.393 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:48:05,395.395 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:48:05,400.400 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:48:05,405.405 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:48:07,446.446 INFO    ] ================================================
[2026-10-20 06:48:07,463.463 INFO    ] Launching Daemon at Tue Oct 20 06:48:07 IST 2026
[2026-10-20 06:48:07,474.474 INFO    ] ================================================
[2026-10-20 06:48:08,136.136 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:48:08
[2026-10-20 06:48:08,817.817 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:48:09,124.124 INFO    ] Initializing speech engine...
[2026-10-20 06:48:09,138.138 INFO    ] 2026-10-20 06:48:09
[2026-10-20 06:48:09,451.451 INFO    ] 2026-10-20 06:48:09
[2026-10-20 06:48:09,538.538 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:48:09,756.756 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:48:09,764.764 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:48:09,959.959 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:48:09,966.966 INFO    ] time= 20/10/2026 06:48:09
[2026-10-20 06:48:09,985.985 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:48:10,017.017 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:48:10,135.135 INFO    ] No existing commands found in stream
[2026-10-20 06:48:15,171.171 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:48:15,174.174 INFO    ] Waiting 2.78 seconds before fallback handling...
[2026-10-20 06:48:18,493.493 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 06:48:18,496.496 INFO    ] Checking for system updates...
[2026-10-20 06:48:18,533.533 INFO    ] 200
[2026-10-20 06:48:18,536.536 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:48:18,595.595 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:48:18,597.597 INFO    ] No update needed
[2026-10-20 06:48:18,600.600 INFO    ] Checking for camera pi updates...
[2026-10-20 06:48:18,634.634 INFO    ] 200
[2026-10-20 06:48:18,636.636 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:48:18,679.679 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:48:18,739.739 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:48:18,741.741 INFO    ] No camera update needed
[2026-10-20 06:48:18,744.744 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:48:18,746.746 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:48:18,751.751 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:48:18,756.756 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:48:20,801.801 INFO    ] ================================================
[2026-10-20 06:48:20,819.819 INFO    ] Launching Daemon at Tue Oct 20 06:48:20 IST 2026
[2026-10-20 06:48:20,834.834 INFO    ] ================================================
[2026-10-20 06:48:21,430.430 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:48:21
[2026-10-20 06:48:22,035.035 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:48:22,312.312 INFO    ] Initializing speech engine...
[2026-10-20 06:48:22,317.317 INFO    ] 2026-10-20 06:48:22
[2026-10-20 06:48:22,572.572 INFO    ] 2026-10-20 06:48:22
[2026-10-20 06:48:22,614.614 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:48:22,864.864 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:48:22,870.870 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:48:23,006.006 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:48:23,071.071 INFO    ] time= 20/10/2026 06:48:23
[2026-10-20 06:48:23,125.125 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:48:23,141.141 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:48:23,287.287 INFO    ] No existing commands found in stream
[2026-10-20 06:48:28,301.301 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:48:28,304.304 INFO    ] Waiting 0.47 seconds before fallback handling...
[2026-10-20 06:48:29,304.304 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:48:29,307.307 INFO    ] Checking for system updates...
[2026-10-20 06:48:29,350.350 INFO    ] 200
[2026-10-20 06:48:29,352.352 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:48:29,403.403 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:48:29,406.406 INFO    ] No update needed
[2026-10-20 06:48:29,408.408 INFO    ] Checking for camera pi updates...
[2026-10-20 06:48:29,443.443 INFO    ] 200
[2026-10-20 06:48:29,445.445 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:48:29,485.485 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:48:29,531.531 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:48:29,534.534 INFO    ] No camera update needed
[2026-10-20 06:48:29,536.536 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:48:29,539.539 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:48:29,544.544 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:48:29,549.549 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:48:31,589.589 INFO    ] ================================================
[2026-10-20 06:48:31,604.604 INFO    ] Launching Daemon at Tue Oct 20 06:48:31 IST 2026
[2026-10-20 06:48:31,614.614 INFO    ] ================================================
[2026-10-20 06:48:32,230.230 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:48:32
[2026-10-20 06:48:32,845.845 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:48:33,125.125 INFO    ] Initializing speech engine...
[2026-10-20 06:48:33,129.129 INFO    ] 2026-10-20 06:48:33
[2026-10-20 06:48:33,411.411 INFO    ] 2026-10-20 06:48:33
[2026-10-20 06:48:33,446.446 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:48:33,701.701 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:48:33,705.705 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:48:33,839.839 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:48:33,904.904 INFO    ] time= 20/10/2026 06:48:33
[2026-10-20 06:48:33,967.967 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:48:33,973.973 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:48:34,120.120 INFO    ] No existing commands found in stream
[2026-10-20 06:48:39,142.142 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:48:39,145.145 INFO    ] Waiting 3.41 seconds before fallback handling...
[2026-10-20 06:48:43,061.061 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 06:48:43,064.064 INFO    ] Checking for system updates...
[2026-10-20 06:48:43,100.100 INFO    ] 200
[2026-10-20 06:48:43,102.102 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:48:43,155.155 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:48:43,157.157 INFO    ] No update needed
[2026-10-20 06:48:43,159.159 INFO    ] Checking for camera pi updates...
[2026-10-20 06:48:43,198.198 INFO    ] 200
[2026-10-20 06:48:43,200.200 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:48:43,241.241 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:48:43,293.293 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:48:43,296.296 INFO    ] No camera update needed
[2026-10-20 06:48:43,299.299 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:48:43,301.301 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:48:43,308.308 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:48:43,314.314 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:48:45,354.354 INFO    ] ================================================
[2026-10-20 06:48:45,370.370 INFO    ] Launching Daemon at Tue Oct 20 06:48:45 IST 2026
[2026-10-20 06:48:45,381.381 INFO    ] ================================================
[2026-10-20 06:48:46,052.052 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:48:46
[2026-10-20 06:48:46,649.649 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:48:46,918.918 INFO    ] Initializing speech engine...
[2026-10-20 06:48:46,926.926 INFO    ] 2026-10-20 06:48:46
[2026-10-20 06:48:47,176.176 INFO    ] 2026-10-20 06:48:47
[2026-10-20 06:48:47,211.211 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:48:47,469.469 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:48:47,478.478 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:48:47,615.615 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:48:47,680.680 INFO    ] time= 20/10/2026 06:48:47
[2026-10-20 06:48:47,739.739 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:48:47,752.752 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:48:47,901.901 INFO    ] No existing commands found in stream
[2026-10-20 06:48:52,913.913 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:48:52,915.915 INFO    ] Waiting 3.94 seconds before fallback handling...
[2026-10-20 06:48:57,372.372 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 06:48:57,375.375 INFO    ] Checking for system updates...
[2026-10-20 06:48:57,411.411 INFO    ] 200
[2026-10-20 06:48:57,413.413 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:48:57,465.465 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:48:57,467.467 INFO    ] No update needed
[2026-10-20 06:48:57,470.470 INFO    ] Checking for camera pi updates...
[2026-10-20 06:48:57,504.504 INFO    ] 200
[2026-10-20 06:48:57,506.506 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:48:57,548.548 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:48:57,598.598 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:48:57,601.601 INFO    ] No camera update needed
[2026-10-20 06:48:57,603.603 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:48:57,606.606 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:48:57,611.611 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:48:57,616.616 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:48:59,659.659 INFO    ] ================================================
[2026-10-20 06:48:59,674.674 INFO    ] Launching Daemon at Tue Oct 20 06:48:59 IST 2026
[2026-10-20 06:48:59,685.685 INFO    ] ================================================
[2026-10-20 06:49:00,257.257 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:49:00
[2026-10-20 06:49:00,855.855 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:49:01,130.130 INFO    ] Initializing speech engine...
[2026-10-20 06:49:01,139.139 INFO    ] 2026-10-20 06:49:01
[2026-10-20 06:49:01,391.391 INFO    ] 2026-10-20 06:49:01
[2026-10-20 06:49:01,426.426 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:49:01,680.680 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:49:01,689.689 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:49:01,873.873 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:49:01,882.882 INFO    ] time= 20/10/2026 06:49:01
[2026-10-20 06:49:01,887.887 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:49:01,895.895 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:49:01,996.996 INFO    ] No existing commands found in stream
[2026-10-20 06:49:07,007.007 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:49:07,010.010 INFO    ] Waiting 0.51 seconds before fallback handling...
[2026-10-20 06:49:07,996.996 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 06:49:07,999.999 INFO    ] Checking for system updates...
[2026-10-20 06:49:08,034.034 INFO    ] 200
[2026-10-20 06:49:08,037.037 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:49:08,094.094 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:49:08,097.097 INFO    ] No update needed
[2026-10-20 06:49:08,099.099 INFO    ] Checking for camera pi updates...
[2026-10-20 06:49:08,132.132 INFO    ] 200
[2026-10-20 06:49:08,135.135 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:49:08,175.175 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:49:08,323.323 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:49:08,325.325 INFO    ] No camera update needed
[2026-10-20 06:49:08,327.327 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:49:08,330.330 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:49:08,335.335 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:49:08,340.340 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:49:10,379.379 INFO    ] ================================================
[2026-10-20 06:49:10,394.394 INFO    ] Launching Daemon at Tue Oct 20 06:49:10 IST 2026
[2026-10-20 06:49:10,405.405 INFO    ] ================================================
[2026-10-20 06:49:10,976.976 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:49:10
[2026-10-20 06:49:11,565.565 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:49:11,812.812 INFO    ] Initializing speech engine...
[2026-10-20 06:49:11,821.821 INFO    ] 2026-10-20 06:49:11
[2026-10-20 06:49:12,094.094 INFO    ] 2026-10-20 06:49:12
[2026-10-20 06:49:12,130.130 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:49:12,388.388 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:49:12,397.397 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:49:12,533.533 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:49:12,570.570 INFO    ] time= 20/10/2026 06:49:12
[2026-10-20 06:49:12,614.614 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:49:12,658.658 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:49:12,821.821 INFO    ] No existing commands found in stream
[2026-10-20 06:49:17,845.845 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:49:17,848.848 INFO    ] Waiting 3.50 seconds before fallback handling...
[2026-10-20 06:49:21,841.841 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:49:21,844.844 INFO    ] Checking for system updates...
[2026-10-20 06:49:21,880.880 INFO    ] 200
[2026-10-20 06:49:21,882.882 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:49:21,940.940 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:49:21,942.942 INFO    ] No update needed
[2026-10-20 06:49:21,944.944 INFO    ] Checking for camera pi updates...
[2026-10-20 06:49:21,979.979 INFO    ] 200
[2026-10-20 06:49:21,982.982 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:49:22,028.028 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:49:22,077.077 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:49:22,080.080 INFO    ] No camera update needed
[2026-10-20 06:49:22,083.083 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:49:22,085.085 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:49:22,091.091 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:49:22,097.097 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:49:24,139.139 INFO    ] ================================================
[2026-10-20 06:49:24,154.154 INFO    ] Launching Daemon at Tue Oct 20 06:49:24 IST 2026
[2026-10-20 06:49:24,165.165 INFO    ] ================================================
[2026-10-20 06:49:24,731.731 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:49:24
[2026-10-20 06:49:25,315.315 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:49:25,598.598 INFO    ] Initializing speech engine...
[2026-10-20 06:49:25,603.603 INFO    ] 2026-10-20 06:49:25
[2026-10-20 06:49:25,852.852 INFO    ] 2026-10-20 06:49:25
[2026-10-20 06:49:25,888.888 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:49:26,136.136 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:49:26,142.142 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:49:26,364.364 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:49:26,400.400 INFO    ] time= 20/10/2026 06:49:26
[2026-10-20 06:49:26,406.406 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:49:26,427.427 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:49:26,559.559 INFO    ] No existing commands found in stream
[2026-10-20 06:49:31,590.590 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:49:31,593.593 INFO    ] Waiting 3.98 seconds before fallback handling...
[2026-10-20 06:49:36,049.049 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:49:36,051.051 INFO    ] Checking for system updates...
[2026-10-20 06:49:36,088.088 INFO    ] 200
[2026-10-20 06:49:36,091.091 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:49:36,150.150 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:49:36,154.154 INFO    ] No update needed
[2026-10-20 06:49:36,156.156 INFO    ] Checking for camera pi updates...
[2026-10-20 06:49:36,194.194 INFO    ] 200
[2026-10-20 06:49:36,196.196 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:49:36,236.236 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:49:36,285.285 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:49:36,287.287 INFO    ] No camera update needed
[2026-10-20 06:49:36,290.290 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:49:36,292.292 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:49:36,298.298 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:49:36,303.303 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:49:38,342.342 INFO    ] ================================================
[2026-10-20 06:49:38,357.357 INFO    ] Launching Daemon at Tue Oct 20 06:49:38 IST 2026
[2026-10-20 06:49:38,368.368 INFO    ] ================================================
[2026-10-20 06:49:38,959.959 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:49:38
[2026-10-20 06:49:39,568.568 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:49:39,842.842 INFO    ] Initializing speech engine...
[2026-10-20 06:49:39,852.852 INFO    ] 2026-10-20 06:49:39
[2026-10-20 06:49:40,117.117 INFO    ] 2026-10-20 06:49:40
[2026-10-20 06:49:40,173.173 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:49:40,452.452 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:49:40,461.461 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:49:40,655.655 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:49:40,672.672 INFO    ] time= 20/10/2026 06:49:40
[2026-10-20 06:49:40,685.685 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:49:40,710.710 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:49:40,817.817 INFO    ] No existing commands found in stream
[2026-10-20 06:49:45,840.840 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:49:45,843.843 INFO    ] Waiting 0.14 seconds before fallback handling...
[2026-10-20 06:49:46,458.458 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:49:46,461.461 INFO    ] Checking for system updates...
[2026-10-20 06:49:46,500.500 INFO    ] 200
[2026-10-20 06:49:46,503.503 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:49:46,561.561 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:49:46,564.564 INFO    ] No update needed
[2026-10-20 06:49:46,566.566 INFO    ] Checking for camera pi updates...
[2026-10-20 06:49:46,599.599 INFO    ] 200
[2026-10-20 06:49:46,602.602 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:49:46,643.643 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:49:46,707.707 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:49:46,709.709 INFO    ] No camera update needed
[2026-10-20 06:49:46,712.712 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:49:46,714.714 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:49:46,719.719 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:49:46,724.724 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:49:48,765.765 INFO    ] ================================================
[2026-10-20 06:49:48,780.780 INFO    ] Launching Daemon at Tue Oct 20 06:49:48 IST 2026
[2026-10-20 06:49:48,791.791 INFO    ] ================================================
[2026-10-20 06:49:49,373.373 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:49:49
[2026-10-20 06:49:49,956.956 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:49:50,215.215 INFO    ] Initializing speech engine...
[2026-10-20 06:49:50,233.233 INFO    ] 2026-10-20 06:49:50
[2026-10-20 06:49:50,482.482 INFO    ] 2026-10-20 06:49:50
[2026-10-20 06:49:50,517.517 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:49:50,717.717 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:49:50,725.725 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:49:50,939.939 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:49:50,949.949 INFO    ] time= 20/10/2026 06:49:50
[2026-10-20 06:49:50,989.989 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:49:51,048.048 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:49:51,153.153 INFO    ] No existing commands found in stream
[2026-10-20 06:49:56,165.165 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:49:56,167.167 INFO    ] Waiting 3.83 seconds before fallback handling...
[2026-10-20 06:50:00,530.530 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 06:50:00,533.533 INFO    ] Checking for system updates...
[2026-10-20 06:50:00,572.572 INFO    ] 200
[2026-10-20 06:50:00,575.575 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:50:00,628.628 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:50:00,631.631 INFO    ] No update needed
[2026-10-20 06:50:00,634.634 INFO    ] Checking for camera pi updates...
[2026-10-20 06:50:00,668.668 INFO    ] 200
[2026-10-20 06:50:00,671.671 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:50:00,711.711 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:50:00,757.757 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:50:00,760.760 INFO    ] No camera update needed
[2026-10-20 06:50:00,763.763 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:50:00,765.765 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:50:00,772.772 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:50:00,777.777 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:50:02,922.922 INFO    ] ================================================
[2026-10-20 06:50:02,975.975 INFO    ] Launching Daemon at Tue Oct 20 06:50:02 IST 2026
[2026-10-20 06:50:03,021.021 INFO    ] ================================================
[2026-10-20 06:50:03,818.818 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:50:03
[2026-10-20 06:50:04,481.481 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:50:04,735.735 INFO    ] Initializing speech engine...
[2026-10-20 06:50:04,744.744 INFO    ] 2026-10-20 06:50:04
[2026-10-20 06:50:05,032.032 INFO    ] 2026-10-20 06:50:05
[2026-10-20 06:50:05,069.069 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:50:05,287.287 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:50:05,296.296 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:50:05,512.512 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:50:05,520.520 INFO    ] time= 20/10/2026 06:50:05
[2026-10-20 06:50:05,584.584 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:50:05,629.629 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:50:05,729.729 INFO    ] No existing commands found in stream
[2026-10-20 06:50:10,744.744 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:50:10,747.747 INFO    ] Waiting 3.36 seconds before fallback handling...
[2026-10-20 06:50:14,632.632 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 06:50:14,635.635 INFO    ] Checking for system updates...
[2026-10-20 06:50:14,672.672 INFO    ] 200
[2026-10-20 06:50:14,675.675 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:50:14,730.730 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:50:14,733.733 INFO    ] No update needed
[2026-10-20 06:50:14,735.735 INFO    ] Checking for camera pi updates...
[2026-10-20 06:50:14,772.772 INFO    ] 200
[2026-10-20 06:50:14,775.775 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:50:14,818.818 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:50:14,865.865 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:50:14,868.868 INFO    ] No camera update needed
[2026-10-20 06:50:14,870.870 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:50:14,873.873 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:50:14,878.878 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:50:14,883.883 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:50:16,922.922 INFO    ] ================================================
[2026-10-20 06:50:16,937.937 INFO    ] Launching Daemon at Tue Oct 20 06:50:16 IST 2026
[2026-10-20 06:50:16,948.948 INFO    ] ================================================
[2026-10-20 06:50:17,518.518 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:50:17
[2026-10-20 06:50:18,102.102 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:50:18,354.354 INFO    ] Initializing speech engine...
[2026-10-20 06:50:18,363.363 INFO    ] 2026-10-20 06:50:18
[2026-10-20 06:50:18,652.652 INFO    ] 2026-10-20 06:50:18
[2026-10-20 06:50:18,689.689 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:50:18,908.908 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:50:18,916.916 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:50:19,131.131 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:50:19,138.138 INFO    ] time= 20/10/2026 06:50:19
[2026-10-20 06:50:19,203.203 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:50:19,273.273 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:50:19,443.443 INFO    ] No existing commands found in stream
[2026-10-20 06:50:24,458.458 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:50:24,461.461 INFO    ] Waiting 3.38 seconds before fallback handling...
[2026-10-20 06:50:28,339.339 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:50:28,341.341 INFO    ] Checking for system updates...
[2026-10-20 06:50:28,377.377 INFO    ] 200
[2026-10-20 06:50:28,380.380 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:50:28,437.437 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:50:28,439.439 INFO    ] No update needed
[2026-10-20 06:50:28,442.442 INFO    ] Checking for camera pi updates...
[2026-10-20 06:50:28,474.474 INFO    ] 200
[2026-10-20 06:50:28,477.477 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:50:28,520.520 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:50:28,581.581 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:50:28,583.583 INFO    ] No camera update needed
[2026-10-20 06:50:28,585.585 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:50:28,587.587 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:50:28,593.593 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:50:28,598.598 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:50:30,638.638 INFO    ] ================================================
[2026-10-20 06:50:30,653.653 INFO    ] Launching Daemon at Tue Oct 20 06:50:30 IST 2026
[2026-10-20 06:50:30,664.664 INFO    ] ================================================
[2026-10-20 06:50:31,303.303 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:50:31
[2026-10-20 06:50:31,970.970 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:50:32,300.300 INFO    ] Initializing speech engine...
[2026-10-20 06:50:32,315.315 INFO    ] 2026-10-20 06:50:32
[2026-10-20 06:50:32,614.614 INFO    ] 2026-10-20 06:50:32
[2026-10-20 06:50:32,659.659 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:50:32,951.951 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:50:32,961.961 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:50:33,130.130 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:50:33,173.173 INFO    ] time= 20/10/2026 06:50:33
[2026-10-20 06:50:33,179.179 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:50:33,196.196 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:50:33,308.308 INFO    ] No existing commands found in stream
[2026-10-20 06:50:38,335.335 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:50:38,338.338 INFO    ] Waiting 2.39 seconds before fallback handling...
[2026-10-20 06:50:41,239.239 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:50:41,241.241 INFO    ] Checking for system updates...
[2026-10-20 06:50:41,276.276 INFO    ] 200
[2026-10-20 06:50:41,279.279 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:50:41,331.331 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:50:41,333.333 INFO    ] No update needed
[2026-10-20 06:50:41,336.336 INFO    ] Checking for camera pi updates...
[2026-10-20 06:50:41,372.372 INFO    ] 200
[2026-10-20 06:50:41,374.374 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:50:41,414.414 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:50:41,459.459 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:50:41,461.461 INFO    ] No camera update needed
[2026-10-20 06:50:41,463.463 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:50:41,466.466 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:50:41,471.471 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:50:41,476.476 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:50:43,516.516 INFO    ] ================================================
[2026-10-20 06:50:43,531.531 INFO    ] Launching Daemon at Tue Oct 20 06:50:43 IST 2026
[2026-10-20 06:50:43,542.542 INFO    ] ================================================
[2026-10-20 06:50:44,125.125 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:50:44
[2026-10-20 06:50:44,723.723 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:50:44,987.987 INFO    ] Initializing speech engine...
[2026-10-20 06:50:45,012.012 INFO    ] 2026-10-20 06:50:44
[2026-10-20 06:50:45,284.284 INFO    ] 2026-10-20 06:50:45
[2026-10-20 06:50:45,321.321 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:50:45,602.602 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:50:45,614.614 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:50:45,799.799 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:50:45,859.859 INFO    ] time= 20/10/2026 06:50:45
[2026-10-20 06:50:45,905.905 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:50:45,912.912 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:50:46,074.074 INFO    ] No existing commands found in stream
[2026-10-20 06:50:51,095.095 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:50:51,097.097 INFO    ] Waiting 3.89 seconds before fallback handling...
[2026-10-20 06:50:55,514.514 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:50:55,517.517 INFO    ] Checking for system updates...
[2026-10-20 06:50:55,556.556 INFO    ] 200
[2026-10-20 06:50:55,559.559 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:50:55,615.615 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:50:55,618.618 INFO    ] No update needed
[2026-10-20 06:50:55,621.621 INFO    ] Checking for camera pi updates...
[2026-10-20 06:50:55,655.655 INFO    ] 200
[2026-10-20 06:50:55,658.658 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:50:55,703.703 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:50:55,753.753 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:50:55,756.756 INFO    ] No camera update needed
[2026-10-20 06:50:55,758.758 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:50:55,761.761 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:50:55,767.767 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:50:55,773.773 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:50:57,812.812 INFO    ] ================================================
[2026-10-20 06:50:57,827.827 INFO    ] Launching Daemon at Tue Oct 20 06:50:57 IST 2026
[2026-10-20 06:50:57,838.838 INFO    ] ================================================
[2026-10-20 06:50:58,412.412 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:50:58
[2026-10-20 06:50:59,011.011 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:50:59,270.270 INFO    ] Initializing speech engine...
[2026-10-20 06:50:59,277.277 INFO    ] 2026-10-20 06:50:59
[2026-10-20 06:50:59,566.566 INFO    ] 2026-10-20 06:50:59
[2026-10-20 06:50:59,603.603 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:50:59,819.819 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:50:59,862.862 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:51:00,045.045 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:51:00,110.110 INFO    ] time= 20/10/2026 06:51:00
[2026-10-20 06:51:00,159.159 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:51:00,190.190 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:51:00,326.326 INFO    ] No existing commands found in stream
[2026-10-20 06:51:05,346.346 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:51:05,349.349 INFO    ] Waiting 1.98 seconds before fallback handling...
[2026-10-20 06:51:07,800.800 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:51:07,803.803 INFO    ] Checking for system updates...
[2026-10-20 06:51:07,840.840 INFO    ] 200
[2026-10-20 06:51:07,843.843 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:51:07,896.896 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:51:07,899.899 INFO    ] No update needed
[2026-10-20 06:51:07,902.902 INFO    ] Checking for camera pi updates...
[2026-10-20 06:51:07,935.935 INFO    ] 200
[2026-10-20 06:51:07,938.938 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:51:07,978.978 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:51:08,027.027 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:51:08,030.030 INFO    ] No camera update needed
[2026-10-20 06:51:08,032.032 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:51:08,035.035 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:51:08,041.041 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:51:08,046.046 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:51:10,089.089 INFO    ] ================================================
[2026-10-20 06:51:10,104.104 INFO    ] Launching Daemon at Tue Oct 20 06:51:10 IST 2026
[2026-10-20 06:51:10,115.115 INFO    ] ================================================
[2026-10-20 06:51:10,719.719 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:51:10
[2026-10-20 06:51:11,318.318 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:51:11,586.586 INFO    ] Initializing speech engine...
[2026-10-20 06:51:11,595.595 INFO    ] 2026-10-20 06:51:11
[2026-10-20 06:51:11,841.841 INFO    ] 2026-10-20 06:51:11
[2026-10-20 06:51:11,876.876 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:51:12,130.130 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:51:12,135.135 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:51:12,344.344 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:51:12,394.394 INFO    ] time= 20/10/2026 06:51:12
[2026-10-20 06:51:12,401.401 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:51:12,420.420 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:51:12,558.558 INFO    ] No existing commands found in stream
[2026-10-20 06:51:17,580.580 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:51:17,583.583 INFO    ] Waiting 0.88 seconds before fallback handling...
[2026-10-20 06:51:18,972.972 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:51:18,974.974 INFO    ] Checking for system updates...
[2026-10-20 06:51:19,009.009 INFO    ] 200
[2026-10-20 06:51:19,012.012 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:51:19,063.063 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:51:19,065.065 INFO    ] No update needed
[2026-10-20 06:51:19,068.068 INFO    ] Checking for camera pi updates...
[2026-10-20 06:51:19,100.100 INFO    ] 200
[2026-10-20 06:51:19,103.103 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:51:19,142.142 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:51:19,288.288 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:51:19,290.290 INFO    ] No camera update needed
[2026-10-20 06:51:19,293.293 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:51:19,295.295 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:51:19,300.300 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:51:19,305.305 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:51:21,345.345 INFO    ] ================================================
[2026-10-20 06:51:21,360.360 INFO    ] Launching Daemon at Tue Oct 20 06:51:21 IST 2026
[2026-10-20 06:51:21,371.371 INFO    ] ================================================
[2026-10-20 06:51:21,934.934 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:51:21
[2026-10-20 06:51:22,514.514 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:51:22,782.782 INFO    ] Initializing speech engine...
[2026-10-20 06:51:22,791.791 INFO    ] 2026-10-20 06:51:22
[2026-10-20 06:51:23,041.041 INFO    ] 2026-10-20 06:51:23
[2026-10-20 06:51:23,075.075 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:51:23,318.318 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:51:23,328.328 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:51:23,560.560 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:51:23,585.585 INFO    ] time= 20/10/2026 06:51:23
[2026-10-20 06:51:23,590.590 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:51:23,608.608 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:51:23,735.735 INFO    ] No existing commands found in stream
[2026-10-20 06:51:28,750.750 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:51:28,753.753 INFO    ] Waiting 2.96 seconds before fallback handling...
[2026-10-20 06:51:32,197.197 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:51:32,200.200 INFO    ] Checking for system updates...
[2026-10-20 06:51:32,238.238 INFO    ] 200
[2026-10-20 06:51:32,241.241 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:51:32,304.304 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:51:32,307.307 INFO    ] No update needed
[2026-10-20 06:51:32,309.309 INFO    ] Checking for camera pi updates...
[2026-10-20 06:51:32,346.346 INFO    ] 200
[2026-10-20 06:51:32,349.349 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:51:32,393.393 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:51:32,452.452 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:51:32,455.455 INFO    ] No camera update needed
[2026-10-20 06:51:32,457.457 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:51:32,460.460 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:51:32,466.466 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:51:32,472.472 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:51:34,514.514 INFO    ] ================================================
[2026-10-20 06:51:34,529.529 INFO    ] Launching Daemon at Tue Oct 20 06:51:34 IST 2026
[2026-10-20 06:51:34,539.539 INFO    ] ================================================
[2026-10-20 06:51:35,173.173 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:51:35
[2026-10-20 06:51:35,839.839 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:51:36,143.143 INFO    ] Initializing speech engine...
[2026-10-20 06:51:36,150.150 INFO    ] 2026-10-20 06:51:36
[2026-10-20 06:51:36,439.439 INFO    ] 2026-10-20 06:51:36
[2026-10-20 06:51:36,498.498 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:51:36,783.783 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:51:36,788.788 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:51:36,933.933 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:51:36,937.937 INFO    ] time= 20/10/2026 06:51:36
[2026-10-20 06:51:36,960.960 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:51:37,007.007 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:51:37,141.141 INFO    ] No existing commands found in stream
[2026-10-20 06:51:42,168.168 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:51:42,172.172 INFO    ] Waiting 0.03 seconds before fallback handling...
[2026-10-20 06:51:42,695.695 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:51:42,698.698 INFO    ] Checking for system updates...
[2026-10-20 06:51:42,738.738 INFO    ] 200
[2026-10-20 06:51:42,741.741 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:51:42,798.798 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:51:42,801.801 INFO    ] No update needed
[2026-10-20 06:51:42,803.803 INFO    ] Checking for camera pi updates...
[2026-10-20 06:51:42,837.837 INFO    ] 200
[2026-10-20 06:51:42,840.840 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:51:42,882.882 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:51:42,928.928 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:51:42,931.931 INFO    ] No camera update needed
[2026-10-20 06:51:42,933.933 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:51:42,936.936 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:51:42,942.942 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:51:42,947.947 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:51:44,988.988 INFO    ] ================================================
[2026-10-20 06:51:45,003.003 INFO    ] Launching Daemon at Tue Oct 20 06:51:44 IST 2026
[2026-10-20 06:51:45,013.013 INFO    ] ================================================
[2026-10-20 06:51:45,653.653 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:51:45
[2026-10-20 06:51:46,315.315 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:51:46,615.615 INFO    ] Initializing speech engine...
[2026-10-20 06:51:46,628.628 INFO    ] 2026-10-20 06:51:46
[2026-10-20 06:51:46,940.940 INFO    ] 2026-10-20 06:51:46
[2026-10-20 06:51:47,025.025 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:51:47,301.301 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:51:47,348.348 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:51:47,580.580 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:51:47,614.614 INFO    ] time= 20/10/2026 06:51:47
[2026-10-20 06:51:47,669.669 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:51:47,703.703 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:51:47,865.865 INFO    ] No existing commands found in stream
[2026-10-20 06:51:52,891.891 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:51:52,894.894 INFO    ] Waiting 1.52 seconds before fallback handling...
[2026-10-20 06:51:54,929.929 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:51:54,932.932 INFO    ] Checking for system updates...
[2026-10-20 06:51:54,971.971 INFO    ] 200
[2026-10-20 06:51:54,973.973 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:51:55,025.025 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:51:55,027.027 INFO    ] No update needed
[2026-10-20 06:51:55,030.030 INFO    ] Checking for camera pi updates...
[2026-10-20 06:51:55,063.063 INFO    ] 200
[2026-10-20 06:51:55,065.065 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:51:55,105.105 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:51:55,159.159 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:51:55,161.161 INFO    ] No camera update needed
[2026-10-20 06:51:55,164.164 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:51:55,166.166 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:51:55,171.171 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:51:55,176.176 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:51:57,216.216 INFO    ] ================================================
[2026-10-20 06:51:57,232.232 INFO    ] Launching Daemon at Tue Oct 20 06:51:57 IST 2026
[2026-10-20 06:51:57,242.242 INFO    ] ================================================
[2026-10-20 06:51:57,808.808 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:51:57
[2026-10-20 06:51:58,392.392 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:51:58,660.660 INFO    ] Initializing speech engine...
[2026-10-20 06:51:58,669.669 INFO    ] 2026-10-20 06:51:58
[2026-10-20 06:51:58,928.928 INFO    ] 2026-10-20 06:51:58
[2026-10-20 06:51:58,982.982 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:51:59,208.208 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:51:59,213.213 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:51:59,440.440 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:51:59,468.468 INFO    ] time= 20/10/2026 06:51:59
[2026-10-20 06:51:59,474.474 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:51:59,492.492 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:51:59,607.607 INFO    ] No existing commands found in stream
[2026-10-20 06:52:04,629.629 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:52:04,631.631 INFO    ] Waiting 3.48 seconds before fallback handling...
[2026-10-20 06:52:08,618.618 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 06:52:08,621.621 INFO    ] Checking for system updates...
[2026-10-20 06:52:08,662.662 INFO    ] 200
[2026-10-20 06:52:08,665.665 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:52:08,717.717 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:52:08,720.720 INFO    ] No update needed
[2026-10-20 06:52:08,722.722 INFO    ] Checking for camera pi updates...
[2026-10-20 06:52:08,756.756 INFO    ] 200
[2026-10-20 06:52:08,759.759 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:52:08,800.800 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:52:08,850.850 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:52:08,852.852 INFO    ] No camera update needed
[2026-10-20 06:52:08,854.854 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:52:08,857.857 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:52:08,862.862 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:52:08,867.867 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:52:10,910.910 INFO    ] ================================================
[2026-10-20 06:52:10,925.925 INFO    ] Launching Daemon at Tue Oct 20 06:52:10 IST 2026
[2026-10-20 06:52:10,935.935 INFO    ] ================================================
[2026-10-20 06:52:11,583.583 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:52:11
[2026-10-20 06:52:12,264.264 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:52:12,574.574 INFO    ] Initializing speech engine...
[2026-10-20 06:52:12,582.582 INFO    ] 2026-10-20 06:52:12
[2026-10-20 06:52:12,862.862 INFO    ] 2026-10-20 06:52:12
[2026-10-20 06:52:12,917.917 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:52:13,200.200 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:52:13,210.210 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:52:13,405.405 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:52:13,413.413 INFO    ] time= 20/10/2026 06:52:13
[2026-10-20 06:52:13,432.432 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:52:13,461.461 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:52:13,602.602 INFO    ] No existing commands found in stream
[2026-10-20 06:52:18,628.628 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:52:18,632.632 INFO    ] Waiting 3.45 seconds before fallback handling...
[2026-10-20 06:52:22,597.597 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 06:52:22,600.600 INFO    ] Checking for system updates...
[2026-10-20 06:52:22,635.635 INFO    ] 200
[2026-10-20 06:52:22,638.638 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:52:22,690.690 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:52:22,692.692 INFO    ] No update needed
[2026-10-20 06:52:22,695.695 INFO    ] Checking for camera pi updates...
[2026-10-20 06:52:22,728.728 INFO    ] 200
[2026-10-20 06:52:22,730.730 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:52:22,770.770 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:52:22,803.803 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:52:22,806.806 INFO    ] No camera update needed
[2026-10-20 06:52:22,889.889 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:52:22,891.891 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:52:22,897.897 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:52:22,902.902 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:52:24,941.941 INFO    ] ================================================
[2026-10-20 06:52:24,956.956 INFO    ] Launching Daemon at Tue Oct 20 06:52:24 IST 2026
[2026-10-20 06:52:24,967.967 INFO    ] ================================================
[2026-10-20 06:52:25,646.646 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:52:25
[2026-10-20 06:52:26,335.335 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:52:26,642.642 INFO    ] Initializing speech engine...
[2026-10-20 06:52:26,650.650 INFO    ] 2026-10-20 06:52:26
[2026-10-20 06:52:26,938.938 INFO    ] 2026-10-20 06:52:26
[2026-10-20 06:52:26,985.985 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:52:27,228.228 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:52:27,235.235 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:52:27,452.452 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:52:27,504.504 INFO    ] time= 20/10/2026 06:52:27
[2026-10-20 06:52:27,521.521 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:52:27,541.541 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:52:27,687.687 INFO    ] No existing commands found in stream
[2026-10-20 06:52:32,718.718 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:52:32,722.722 INFO    ] Waiting 0.72 seconds before fallback handling...
[2026-10-20 06:52:33,935.935 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 06:52:33,938.938 INFO    ] Checking for system updates...
[2026-10-20 06:52:33,975.975 INFO    ] 200
[2026-10-20 06:52:33,977.977 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:52:34,033.033 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:52:34,035.035 INFO    ] No update needed
[2026-10-20 06:52:34,037.037 INFO    ] Checking for camera pi updates...
[2026-10-20 06:52:34,073.073 INFO    ] 200
[2026-10-20 06:52:34,075.075 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:52:34,119.119 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:52:34,167.167 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:52:34,170.170 INFO    ] No camera update needed
[2026-10-20 06:52:34,172.172 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:52:34,174.174 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:52:34,180.180 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:52:34,185.185 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:52:36,224.224 INFO    ] ================================================
[2026-10-20 06:52:36,240.240 INFO    ] Launching Daemon at Tue Oct 20 06:52:36 IST 2026
[2026-10-20 06:52:36,251.251 INFO    ] ================================================
[2026-10-20 06:52:36,912.912 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:52:36
[2026-10-20 06:52:37,601.601 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:52:37,912.912 INFO    ] Initializing speech engine...
[2026-10-20 06:52:37,921.921 INFO    ] 2026-10-20 06:52:37
[2026-10-20 06:52:38,201.201 INFO    ] 2026-10-20 06:52:38
[2026-10-20 06:52:38,257.257 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:52:38,544.544 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:52:38,552.552 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:52:38,747.747 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:52:38,768.768 INFO    ] time= 20/10/2026 06:52:38
[2026-10-20 06:52:38,798.798 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:52:38,809.809 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:52:38,933.933 INFO    ] No existing commands found in stream
[2026-10-20 06:52:43,964.964 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:52:43,967.967 INFO    ] Waiting 0.40 seconds before fallback handling...
[2026-10-20 06:52:44,911.911 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:52:44,914.914 INFO    ] Checking for system updates...
[2026-10-20 06:52:44,952.952 INFO    ] 200
[2026-10-20 06:52:44,954.954 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:52:45,014.014 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:52:45,017.017 INFO    ] No update needed
[2026-10-20 06:52:45,019.019 INFO    ] Checking for camera pi updates...
[2026-10-20 06:52:45,057.057 INFO    ] 200
[2026-10-20 06:52:45,060.060 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:52:45,101.101 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:52:45,152.152 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:52:45,155.155 INFO    ] No camera update needed
[2026-10-20 06:52:45,157.157 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:52:45,159.159 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:52:45,165.165 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:52:45,170.170 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:52:47,211.211 INFO    ] ================================================
[2026-10-20 06:52:47,226.226 INFO    ] Launching Daemon at Tue Oct 20 06:52:47 IST 2026
[2026-10-20 06:52:47,237.237 INFO    ] ================================================
[2026-10-20 06:52:47,819.819 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:52:47
[2026-10-20 06:52:48,416.416 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:52:48,693.693 INFO    ] Initializing speech engine...
[2026-10-20 06:52:48,708.708 INFO    ] 2026-10-20 06:52:48
[2026-10-20 06:52:48,984.984 INFO    ] 2026-10-20 06:52:48
[2026-10-20 06:52:49,018.018 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:52:49,220.220 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:52:49,237.237 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:52:49,405.405 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:52:49,411.411 INFO    ] time= 20/10/2026 06:52:49
[2026-10-20 06:52:49,417.417 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:52:49,439.439 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:52:49,599.599 INFO    ] No existing commands found in stream
[2026-10-20 06:52:54,624.624 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:52:54,626.626 INFO    ] Waiting 3.82 seconds before fallback handling...
[2026-10-20 06:52:58,952.952 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:52:58,954.954 INFO    ] Checking for system updates...
[2026-10-20 06:52:58,993.993 INFO    ] 200
[2026-10-20 06:52:58,996.996 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:52:59,049.049 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:52:59,051.051 INFO    ] No update needed
[2026-10-20 06:52:59,054.054 INFO    ] Checking for camera pi updates...
[2026-10-20 06:52:59,087.087 INFO    ] 200
[2026-10-20 06:52:59,090.090 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:52:59,130.130 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:52:59,177.177 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:52:59,179.179 INFO    ] No camera update needed
[2026-10-20 06:52:59,181.181 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:52:59,184.184 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:52:59,189.189 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:52:59,194.194 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:53:01,234.234 INFO    ] ================================================
[2026-10-20 06:53:01,250.250 INFO    ] Launching Daemon at Tue Oct 20 06:53:01 IST 2026
[2026-10-20 06:53:01,261.261 INFO    ] ================================================
[2026-10-20 06:53:01,968.968 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:53:01
[2026-10-20 06:53:02,635.635 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:53:02,937.937 INFO    ] Initializing speech engine...
[2026-10-20 06:53:02,947.947 INFO    ] 2026-10-20 06:53:02
[2026-10-20 06:53:03,238.238 INFO    ] 2026-10-20 06:53:03
[2026-10-20 06:53:03,287.287 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:53:03,527.527 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:53:03,562.562 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:53:03,722.722 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:53:03,727.727 INFO    ] time= 20/10/2026 06:53:03
[2026-10-20 06:53:03,733.733 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:53:03,755.755 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:53:03,899.899 INFO    ] No existing commands found in stream
[2026-10-20 06:53:08,924.924 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:53:08,926.926 INFO    ] Waiting 1.29 seconds before fallback handling...
[2026-10-20 06:53:10,700.700 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:53:10,703.703 INFO    ] Checking for system updates...
[2026-10-20 06:53:10,739.739 INFO    ] 200
[2026-10-20 06:53:10,742.742 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:53:10,809.809 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:53:10,812.812 INFO    ] No update needed
[2026-10-20 06:53:10,814.814 INFO    ] Checking for camera pi updates...
[2026-10-20 06:53:10,851.851 INFO    ] 200
[2026-10-20 06:53:10,853.853 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:53:10,894.894 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:53:10,947.947 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:53:10,950.950 INFO    ] No camera update needed
[2026-10-20 06:53:10,952.952 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:53:10,954.954 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:53:10,960.960 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:53:10,965.965 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:53:13,004.004 INFO    ] ================================================
[2026-10-20 06:53:13,019.019 INFO    ] Launching Daemon at Tue Oct 20 06:53:13 IST 2026
[2026-10-20 06:53:13,030.030 INFO    ] ================================================
[2026-10-20 06:53:13,604.604 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:53:13
[2026-10-20 06:53:14,193.193 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:53:14,466.466 INFO    ] Initializing speech engine...
[2026-10-20 06:53:14,475.475 INFO    ] 2026-10-20 06:53:14
[2026-10-20 06:53:14,731.731 INFO    ] 2026-10-20 06:53:14
[2026-10-20 06:53:14,761.761 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:53:15,021.021 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:53:15,026.026 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:53:15,237.237 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:53:15,286.286 INFO    ] time= 20/10/2026 06:53:15
[2026-10-20 06:53:15,304.304 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:53:15,313.313 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:53:15,448.448 INFO    ] No existing commands found in stream
[2026-10-20 06:53:20,481.481 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:53:20,484.484 INFO    ] Waiting 2.43 seconds before fallback handling...
[2026-10-20 06:53:23,452.452 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:53:23,455.455 INFO    ] Checking for system updates...
[2026-10-20 06:53:23,492.492 INFO    ] 200
[2026-10-20 06:53:23,495.495 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:53:23,549.549 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:53:23,552.552 INFO    ] No update needed
[2026-10-20 06:53:23,554.554 INFO    ] Checking for camera pi updates...
[2026-10-20 06:53:23,592.592 INFO    ] 200
[2026-10-20 06:53:23,595.595 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:53:23,637.637 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:53:23,791.791 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:53:23,794.794 INFO    ] No camera update needed
[2026-10-20 06:53:23,796.796 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:53:23,799.799 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:53:23,805.805 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:53:23,811.811 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:53:25,853.853 INFO    ] ================================================
[2026-10-20 06:53:25,869.869 INFO    ] Launching Daemon at Tue Oct 20 06:53:25 IST 2026
[2026-10-20 06:53:25,880.880 INFO    ] ================================================
[2026-10-20 06:53:26,533.533 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:53:26
[2026-10-20 06:53:27,206.206 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:53:27,506.506 INFO    ] Initializing speech engine...
[2026-10-20 06:53:27,518.518 INFO    ] 2026-10-20 06:53:27
[2026-10-20 06:53:27,783.783 INFO    ] 2026-10-20 06:53:27
[2026-10-20 06:53:27,827.827 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:53:28,081.081 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:53:28,091.091 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:53:28,244.244 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:53:28,295.295 INFO    ] time= 20/10/2026 06:53:28
[2026-10-20 06:53:28,345.345 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:53:28,367.367 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:53:28,498.498 INFO    ] No existing commands found in stream
[2026-10-20 06:53:33,527.527 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:53:33,531.531 INFO    ] Waiting 0.34 seconds before fallback handling...
[2026-10-20 06:53:34,379.379 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 06:53:34,382.382 INFO    ] Checking for system updates...
[2026-10-20 06:53:34,418.418 INFO    ] 200
[2026-10-20 06:53:34,421.421 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:53:34,474.474 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:53:34,477.477 INFO    ] No update needed
[2026-10-20 06:53:34,480.480 INFO    ] Checking for camera pi updates...
[2026-10-20 06:53:34,518.518 INFO    ] 200
[2026-10-20 06:53:34,521.521 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:53:34,567.567 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:53:34,611.611 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:53:34,614.614 INFO    ] No camera update needed
[2026-10-20 06:53:34,616.616 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:53:34,618.618 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:53:34,624.624 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:53:34,629.629 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:53:36,671.671 INFO    ] ================================================
[2026-10-20 06:53:36,686.686 INFO    ] Launching Daemon at Tue Oct 20 06:53:36 IST 2026
[2026-10-20 06:53:36,697.697 INFO    ] ================================================
[2026-10-20 06:53:37,264.264 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:53:37
[2026-10-20 06:53:37,859.859 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:53:38,115.115 INFO    ] Initializing speech engine...
[2026-10-20 06:53:38,125.125 INFO    ] 2026-10-20 06:53:38
[2026-10-20 06:53:38,420.420 INFO    ] 2026-10-20 06:53:38
[2026-10-20 06:53:38,455.455 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:53:38,666.666 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:53:38,686.686 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:53:38,835.835 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:53:38,843.843 INFO    ] time= 20/10/2026 06:53:38
[2026-10-20 06:53:38,870.870 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:53:38,918.918 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:53:39,057.057 INFO    ] No existing commands found in stream
[2026-10-20 06:53:44,072.072 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:53:44,075.075 INFO    ] Waiting 0.90 seconds before fallback handling...
[2026-10-20 06:53:45,502.502 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 06:53:45,504.504 INFO    ] Checking for system updates...
[2026-10-20 06:53:45,544.544 INFO    ] 200
[2026-10-20 06:53:45,547.547 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:53:45,602.602 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:53:45,605.605 INFO    ] No update needed
[2026-10-20 06:53:45,607.607 INFO    ] Checking for camera pi updates...
[2026-10-20 06:53:45,647.647 INFO    ] 200
[2026-10-20 06:53:45,649.649 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:53:45,692.692 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:53:45,741.741 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:53:45,744.744 INFO    ] No camera update needed
[2026-10-20 06:53:45,747.747 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:53:45,750.750 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:53:45,755.755 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:53:45,761.761 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:53:47,801.801 INFO    ] ================================================
[2026-10-20 06:53:47,817.817 INFO    ] Launching Daemon at Tue Oct 20 06:53:47 IST 2026
[2026-10-20 06:53:47,829.829 INFO    ] ================================================
[2026-10-20 06:53:48,397.397 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:53:48
[2026-10-20 06:53:49,001.001 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:53:49,263.263 INFO    ] Initializing speech engine...
[2026-10-20 06:53:49,277.277 INFO    ] 2026-10-20 06:53:49
[2026-10-20 06:53:49,564.564 INFO    ] 2026-10-20 06:53:49
[2026-10-20 06:53:49,599.599 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:53:49,821.821 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:53:49,839.839 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:53:50,046.046 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:53:50,063.063 INFO    ] time= 20/10/2026 06:53:50
[2026-10-20 06:53:50,118.118 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:53:50,162.162 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:53:50,328.328 INFO    ] No existing commands found in stream
[2026-10-20 06:53:55,351.351 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:53:55,353.353 INFO    ] Waiting 1.75 seconds before fallback handling...
[2026-10-20 06:53:57,618.618 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 06:53:57,621.621 INFO    ] Checking for system updates...
[2026-10-20 06:53:57,657.657 INFO    ] 200
[2026-10-20 06:53:57,660.660 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:53:57,712.712 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:53:57,714.714 INFO    ] No update needed
[2026-10-20 06:53:57,716.716 INFO    ] Checking for camera pi updates...
[2026-10-20 06:53:57,750.750 INFO    ] 200
[2026-10-20 06:53:57,753.753 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:53:57,797.797 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:53:57,844.844 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:53:57,846.846 INFO    ] No camera update needed
[2026-10-20 06:53:57,849.849 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:53:57,851.851 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:53:57,857.857 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:53:57,862.862 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:53:59,901.901 INFO    ] ================================================
[2026-10-20 06:53:59,916.916 INFO    ] Launching Daemon at Tue Oct 20 06:53:59 IST 2026
[2026-10-20 06:53:59,928.928 INFO    ] ================================================
[2026-10-20 06:54:00,569.569 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:54:00
[2026-10-20 06:54:01,229.229 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:54:01,529.529 INFO    ] Initializing speech engine...
[2026-10-20 06:54:01,538.538 INFO    ] 2026-10-20 06:54:01
[2026-10-20 06:54:01,917.917 INFO    ] 2026-10-20 06:54:01
[2026-10-20 06:54:01,970.970 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:54:02,173.173 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:54:02,204.204 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:54:02,362.362 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:54:02,390.390 INFO    ] time= 20/10/2026 06:54:02
[2026-10-20 06:54:02,416.416 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:54:02,429.429 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:54:02,590.590 INFO    ] No existing commands found in stream
[2026-10-20 06:54:07,616.616 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:54:07,618.618 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-10-20 06:54:09,168.168 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:54:09,171.171 INFO    ] Checking for system updates...
[2026-10-20 06:54:09,211.211 INFO    ] 200
[2026-10-20 06:54:09,213.213 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:54:09,265.265 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:54:09,268.268 INFO    ] No update needed
[2026-10-20 06:54:09,271.271 INFO    ] Checking for camera pi updates...
[2026-10-20 06:54:09,305.305 INFO    ] 200
[2026-10-20 06:54:09,307.307 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:54:09,354.354 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:54:09,403.403 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:54:09,405.405 INFO    ] No camera update needed
[2026-10-20 06:54:09,408.408 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:54:09,411.411 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:54:09,417.417 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:54:09,423.423 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:54:11,467.467 INFO    ] ================================================
[2026-10-20 06:54:11,482.482 INFO    ] Launching Daemon at Tue Oct 20 06:54:11 IST 2026
[2026-10-20 06:54:11,493.493 INFO    ] ================================================
[2026-10-20 06:54:12,146.146 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:54:12
[2026-10-20 06:54:12,816.816 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:54:13,122.122 INFO    ] Initializing speech engine...
[2026-10-20 06:54:13,130.130 INFO    ] 2026-10-20 06:54:13
[2026-10-20 06:54:13,418.418 INFO    ] 2026-10-20 06:54:13
[2026-10-20 06:54:13,470.470 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:54:13,721.721 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:54:13,741.741 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:54:13,949.949 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:54:13,964.964 INFO    ] time= 20/10/2026 06:54:13
[2026-10-20 06:54:13,983.983 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:54:14,000.000 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:54:14,149.149 INFO    ] No existing commands found in stream
[2026-10-20 06:54:19,180.180 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:54:19,183.183 INFO    ] Waiting 0.80 seconds before fallback handling...
[2026-10-20 06:54:20,499.499 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 06:54:20,502.502 INFO    ] Checking for system updates...
[2026-10-20 06:54:20,540.540 INFO    ] 200
[2026-10-20 06:54:20,543.543 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:54:20,594.594 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:54:20,597.597 INFO    ] No update needed
[2026-10-20 06:54:20,599.599 INFO    ] Checking for camera pi updates...
[2026-10-20 06:54:20,634.634 INFO    ] 200
[2026-10-20 06:54:20,636.636 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:54:20,681.681 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:54:20,724.724 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:54:20,727.727 INFO    ] No camera update needed
[2026-10-20 06:54:20,729.729 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:54:20,732.732 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:54:20,737.737 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:54:20,742.742 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:54:22,781.781 INFO    ] ================================================
[2026-10-20 06:54:22,797.797 INFO    ] Launching Daemon at Tue Oct 20 06:54:22 IST 2026
[2026-10-20 06:54:22,809.809 INFO    ] ================================================
[2026-10-20 06:54:23,471.471 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:54:23
[2026-10-20 06:54:24,152.152 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:54:24,457.457 INFO    ] Initializing speech engine...
[2026-10-20 06:54:24,465.465 INFO    ] 2026-10-20 06:54:24
[2026-10-20 06:54:24,741.741 INFO    ] 2026-10-20 06:54:24
[2026-10-20 06:54:24,797.797 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:54:25,032.032 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:54:25,039.039 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:54:25,256.256 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:54:25,302.302 INFO    ] time= 20/10/2026 06:54:25
[2026-10-20 06:54:25,308.308 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:54:25,331.331 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:54:25,486.486 INFO    ] No existing commands found in stream
[2026-10-20 06:54:30,512.512 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:54:30,515.515 INFO    ] Waiting 1.83 seconds before fallback handling...
[2026-10-20 06:54:32,897.897 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 06:54:32,901.901 INFO    ] Checking for system updates...
[2026-10-20 06:54:32,942.942 INFO    ] 200
[2026-10-20 06:54:32,945.945 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:54:33,007.007 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:54:33,010.010 INFO    ] No update needed
[2026-10-20 06:54:33,015.015 INFO    ] Checking for camera pi updates...
[2026-10-20 06:54:33,050.050 INFO    ] 200
[2026-10-20 06:54:33,053.053 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:54:33,098.098 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:54:33,136.136 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:54:33,139.139 INFO    ] No camera update needed
[2026-10-20 06:54:33,142.142 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:54:33,145.145 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:54:33,151.151 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:54:33,156.156 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:54:35,197.197 INFO    ] ================================================
[2026-10-20 06:54:35,213.213 INFO    ] Launching Daemon at Tue Oct 20 06:54:35 IST 2026
[2026-10-20 06:54:35,225.225 INFO    ] ================================================
[2026-10-20 06:54:35,794.794 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:54:35
[2026-10-20 06:54:36,377.377 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:54:36,646.646 INFO    ] Initializing speech engine...
[2026-10-20 06:54:36,655.655 INFO    ] 2026-10-20 06:54:36
[2026-10-20 06:54:36,914.914 INFO    ] 2026-10-20 06:54:36
[2026-10-20 06:54:36,967.967 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:54:37,223.223 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:54:37,229.229 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:54:37,425.425 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:54:37,465.465 INFO    ] time= 20/10/2026 06:54:37
[2026-10-20 06:54:37,483.483 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:54:37,499.499 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:54:37,676.676 INFO    ] No existing commands found in stream
[2026-10-20 06:54:42,707.707 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:54:42,710.710 INFO    ] Waiting 1.84 seconds before fallback handling...
[2026-10-20 06:54:45,096.096 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:54:45,099.099 INFO    ] Checking for system updates...
[2026-10-20 06:54:45,136.136 INFO    ] 200
[2026-10-20 06:54:45,139.139 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:54:45,198.198 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:54:45,202.202 INFO    ] No update needed
[2026-10-20 06:54:45,205.205 INFO    ] Checking for camera pi updates...
[2026-10-20 06:54:45,239.239 INFO    ] 200
[2026-10-20 06:54:45,242.242 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:54:45,283.283 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:54:45,326.326 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:54:45,329.329 INFO    ] No camera update needed
[2026-10-20 06:54:45,332.332 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:54:45,335.335 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:54:45,341.341 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:54:45,347.347 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:54:47,387.387 INFO    ] ================================================
[2026-10-20 06:54:47,403.403 INFO    ] Launching Daemon at Tue Oct 20 06:54:47 IST 2026
[2026-10-20 06:54:47,414.414 INFO    ] ================================================
[2026-10-20 06:54:47,981.981 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:54:47
[2026-10-20 06:54:48,564.564 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:54:48,837.837 INFO    ] Initializing speech engine...
[2026-10-20 06:54:48,844.844 INFO    ] 2026-10-20 06:54:48
[2026-10-20 06:54:49,096.096 INFO    ] 2026-10-20 06:54:49
[2026-10-20 06:54:49,131.131 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:54:49,391.391 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:54:49,396.396 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:54:49,603.603 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:54:49,658.658 INFO    ] time= 20/10/2026 06:54:49
[2026-10-20 06:54:49,667.667 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:54:49,686.686 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:54:49,808.808 INFO    ] No existing commands found in stream
[2026-10-20 06:54:54,828.828 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:54:54,831.831 INFO    ] Waiting 3.83 seconds before fallback handling...
[2026-10-20 06:54:59,180.180 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:54:59,183.183 INFO    ] Checking for system updates...
[2026-10-20 06:54:59,223.223 INFO    ] 200
[2026-10-20 06:54:59,226.226 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:54:59,284.284 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:54:59,286.286 INFO    ] No update needed
[2026-10-20 06:54:59,289.289 INFO    ] Checking for camera pi updates...
[2026-10-20 06:54:59,322.322 INFO    ] 200
[2026-10-20 06:54:59,324.324 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:54:59,365.365 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:54:59,417.417 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:54:59,420.420 INFO    ] No camera update needed
[2026-10-20 06:54:59,422.422 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:54:59,425.425 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:54:59,434.434 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:54:59,440.440 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:55:01,481.481 INFO    ] ================================================
[2026-10-20 06:55:01,497.497 INFO    ] Launching Daemon at Tue Oct 20 06:55:01 IST 2026
[2026-10-20 06:55:01,509.509 INFO    ] ================================================
[2026-10-20 06:55:02,335.335 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:55:02
[2026-10-20 06:55:03,010.010 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:55:03,315.315 INFO    ] Initializing speech engine...
[2026-10-20 06:55:03,327.327 INFO    ] 2026-10-20 06:55:03
[2026-10-20 06:55:03,627.627 INFO    ] 2026-10-20 06:55:03
[2026-10-20 06:55:03,663.663 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:55:03,891.891 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:55:03,925.925 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:55:04,111.111 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:55:04,138.138 INFO    ] time= 20/10/2026 06:55:04
[2026-10-20 06:55:04,182.182 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:55:04,231.231 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:55:04,377.377 INFO    ] No existing commands found in stream
[2026-10-20 06:55:09,401.401 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:55:09,404.404 INFO    ] Waiting 1.46 seconds before fallback handling...
[2026-10-20 06:55:11,377.377 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:55:11,380.380 INFO    ] Checking for system updates...
[2026-10-20 06:55:11,415.415 INFO    ] 200
[2026-10-20 06:55:11,418.418 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:55:11,470.470 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:55:11,472.472 INFO    ] No update needed
[2026-10-20 06:55:11,474.474 INFO    ] Checking for camera pi updates...
[2026-10-20 06:55:11,508.508 INFO    ] 200
[2026-10-20 06:55:11,511.511 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:55:11,551.551 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:55:11,600.600 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:55:11,602.602 INFO    ] No camera update needed
[2026-10-20 06:55:11,605.605 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:55:11,607.607 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:55:11,612.612 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:55:11,617.617 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:55:13,659.659 INFO    ] ================================================
[2026-10-20 06:55:13,675.675 INFO    ] Launching Daemon at Tue Oct 20 06:55:13 IST 2026
[2026-10-20 06:55:13,686.686 INFO    ] ================================================
[2026-10-20 06:55:14,254.254 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:55:14
[2026-10-20 06:55:14,837.837 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:55:15,111.111 INFO    ] Initializing speech engine...
[2026-10-20 06:55:15,120.120 INFO    ] 2026-10-20 06:55:15
[2026-10-20 06:55:15,375.375 INFO    ] 2026-10-20 06:55:15
[2026-10-20 06:55:15,405.405 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:55:15,622.622 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:55:15,638.638 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:55:15,816.816 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:55:15,833.833 INFO    ] time= 20/10/2026 06:55:15
[2026-10-20 06:55:15,877.877 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:55:15,926.926 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:55:16,025.025 INFO    ] No existing commands found in stream
[2026-10-20 06:55:21,036.036 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:55:21,039.039 INFO    ] Waiting 1.44 seconds before fallback handling...
[2026-10-20 06:55:22,954.954 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 06:55:22,956.956 INFO    ] Checking for system updates...
[2026-10-20 06:55:22,992.992 INFO    ] 200
[2026-10-20 06:55:22,994.994 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:55:23,052.052 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:55:23,055.055 INFO    ] No update needed
[2026-10-20 06:55:23,058.058 INFO    ] Checking for camera pi updates...
[2026-10-20 06:55:23,095.095 INFO    ] 200
[2026-10-20 06:55:23,098.098 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:55:23,143.143 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:55:23,189.189 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:55:23,192.192 INFO    ] No camera update needed
[2026-10-20 06:55:23,194.194 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:55:23,197.197 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:55:23,203.203 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:55:23,209.209 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:55:25,249.249 INFO    ] ================================================
[2026-10-20 06:55:25,264.264 INFO    ] Launching Daemon at Tue Oct 20 06:55:25 IST 2026
[2026-10-20 06:55:25,275.275 INFO    ] ================================================
[2026-10-20 06:55:25,852.852 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:55:25
[2026-10-20 06:55:26,449.449 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:55:26,705.705 INFO    ] Initializing speech engine...
[2026-10-20 06:55:26,714.714 INFO    ] 2026-10-20 06:55:26
[2026-10-20 06:55:27,006.006 INFO    ] 2026-10-20 06:55:26
[2026-10-20 06:55:27,044.044 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:55:27,262.262 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:55:27,291.291 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:55:27,489.489 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:55:27,511.511 INFO    ] time= 20/10/2026 06:55:27
[2026-10-20 06:55:27,570.570 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:55:27,630.630 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:55:27,777.777 INFO    ] No existing commands found in stream
[2026-10-20 06:55:32,807.807 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:55:32,811.811 INFO    ] Waiting 0.20 seconds before fallback handling...
[2026-10-20 06:55:33,514.514 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:55:33,516.516 INFO    ] Checking for system updates...
[2026-10-20 06:55:33,552.552 INFO    ] 200
[2026-10-20 06:55:33,555.555 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:55:33,613.613 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:55:33,616.616 INFO    ] No update needed
[2026-10-20 06:55:33,618.618 INFO    ] Checking for camera pi updates...
[2026-10-20 06:55:33,654.654 INFO    ] 200
[2026-10-20 06:55:33,657.657 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:55:33,696.696 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:55:33,752.752 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:55:33,754.754 INFO    ] No camera update needed
[2026-10-20 06:55:33,757.757 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:55:33,759.759 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:55:33,769.769 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:55:33,774.774 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:55:35,814.814 INFO    ] ================================================
[2026-10-20 06:55:35,829.829 INFO    ] Launching Daemon at Tue Oct 20 06:55:35 IST 2026
[2026-10-20 06:55:35,840.840 INFO    ] ================================================
[2026-10-20 06:55:36,415.415 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:55:36
[2026-10-20 06:55:37,045.045 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:55:37,350.350 INFO    ] Initializing speech engine...
[2026-10-20 06:55:37,361.361 INFO    ] 2026-10-20 06:55:37
[2026-10-20 06:55:37,669.669 INFO    ] 2026-10-20 06:55:37
[2026-10-20 06:55:37,758.758 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:55:37,977.977 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:55:37,986.986 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:55:38,182.182 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:55:38,199.199 INFO    ] time= 20/10/2026 06:55:38
[2026-10-20 06:55:38,209.209 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:55:38,235.235 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:55:38,322.322 INFO    ] No existing commands found in stream
[2026-10-20 06:55:43,338.338 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:55:43,341.341 INFO    ] Waiting 1.13 seconds before fallback handling...
[2026-10-20 06:55:44,973.973 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 06:55:44,975.975 INFO    ] Checking for system updates...
[2026-10-20 06:55:45,010.010 INFO    ] 200
[2026-10-20 06:55:45,013.013 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:55:45,071.071 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:55:45,073.073 INFO    ] No update needed
[2026-10-20 06:55:45,075.075 INFO    ] Checking for camera pi updates...
[2026-10-20 06:55:45,109.109 INFO    ] 200
[2026-10-20 06:55:45,112.112 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:55:45,160.160 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:55:45,205.205 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:55:45,207.207 INFO    ] No camera update needed
[2026-10-20 06:55:45,210.210 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:55:45,213.213 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:55:45,219.219 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:55:45,225.225 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:55:47,264.264 INFO    ] ================================================
[2026-10-20 06:55:47,280.280 INFO    ] Launching Daemon at Tue Oct 20 06:55:47 IST 2026
[2026-10-20 06:55:47,292.292 INFO    ] ================================================
[2026-10-20 06:55:47,860.860 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:55:47
[2026-10-20 06:55:48,446.446 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:55:48,718.718 INFO    ] Initializing speech engine...
[2026-10-20 06:55:48,727.727 INFO    ] 2026-10-20 06:55:48
[2026-10-20 06:55:48,979.979 INFO    ] 2026-10-20 06:55:48
[2026-10-20 06:55:49,014.014 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:55:49,268.268 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:55:49,277.277 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:55:49,417.417 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:55:49,482.482 INFO    ] time= 20/10/2026 06:55:49
[2026-10-20 06:55:49,542.542 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:55:49,548.548 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:55:49,690.690 INFO    ] No existing commands found in stream
[2026-10-20 06:55:54,701.701 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:55:54,704.704 INFO    ] Waiting 2.45 seconds before fallback handling...
[2026-10-20 06:55:57,659.659 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:55:57,662.662 INFO    ] Checking for system updates...
[2026-10-20 06:55:57,697.697 INFO    ] 200
[2026-10-20 06:55:57,700.700 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:55:57,751.751 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:55:57,753.753 INFO    ] No update needed
[2026-10-20 06:55:57,756.756 INFO    ] Checking for camera pi updates...
[2026-10-20 06:55:57,789.789 INFO    ] 200
[2026-10-20 06:55:57,791.791 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:55:57,831.831 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:55:57,885.885 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:55:57,887.887 INFO    ] No camera update needed
[2026-10-20 06:55:57,890.890 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:55:57,892.892 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:55:57,898.898 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:55:57,903.903 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:55:59,946.946 INFO    ] ================================================
[2026-10-20 06:55:59,961.961 INFO    ] Launching Daemon at Tue Oct 20 06:55:59 IST 2026
[2026-10-20 06:55:59,973.973 INFO    ] ================================================
[2026-10-20 06:56:00,551.551 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:56:00
[2026-10-20 06:56:01,149.149 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:56:01,428.428 INFO    ] Initializing speech engine...
[2026-10-20 06:56:01,434.434 INFO    ] 2026-10-20 06:56:01
[2026-10-20 06:56:01,694.694 INFO    ] 2026-10-20 06:56:01
[2026-10-20 06:56:01,745.745 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:56:01,996.996 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:56:02,016.016 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:56:02,221.221 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:56:02,226.226 INFO    ] time= 20/10/2026 06:56:02
[2026-10-20 06:56:02,231.231 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:56:02,235.235 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:56:02,313.313 INFO    ] No existing commands found in stream
[2026-10-20 06:56:07,323.323 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:56:07,326.326 INFO    ] Waiting 3.76 seconds before fallback handling...
[2026-10-20 06:56:11,558.558 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 06:56:11,560.560 INFO    ] Checking for system updates...
[2026-10-20 06:56:11,595.595 INFO    ] 200
[2026-10-20 06:56:11,598.598 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:56:11,650.650 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:56:11,653.653 INFO    ] No update needed
[2026-10-20 06:56:11,655.655 INFO    ] Checking for camera pi updates...
[2026-10-20 06:56:11,689.689 INFO    ] 200
[2026-10-20 06:56:11,691.691 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:56:11,735.735 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:56:11,785.785 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:56:11,787.787 INFO    ] No camera update needed
[2026-10-20 06:56:11,790.790 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:56:11,792.792 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:56:11,797.797 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:56:11,802.802 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:56:13,841.841 INFO    ] ================================================
[2026-10-20 06:56:13,857.857 INFO    ] Launching Daemon at Tue Oct 20 06:56:13 IST 2026
[2026-10-20 06:56:13,869.869 INFO    ] ================================================
[2026-10-20 06:56:14,462.462 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:56:14
[2026-10-20 06:56:15,060.060 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:56:15,322.322 INFO    ] Initializing speech engine...
[2026-10-20 06:56:15,337.337 INFO    ] 2026-10-20 06:56:15
[2026-10-20 06:56:15,591.591 INFO    ] 2026-10-20 06:56:15
[2026-10-20 06:56:15,629.629 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:56:15,853.853 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:56:15,913.913 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:56:16,079.079 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:56:16,149.149 INFO    ] time= 20/10/2026 06:56:16
[2026-10-20 06:56:16,194.194 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:56:16,226.226 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:56:16,371.371 INFO    ] No existing commands found in stream
[2026-10-20 06:56:21,396.396 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:56:21,399.399 INFO    ] Waiting 3.23 seconds before fallback handling...
[2026-10-20 06:56:25,150.150 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 06:56:25,153.153 INFO    ] Checking for system updates...
[2026-10-20 06:56:25,192.192 INFO    ] 200
[2026-10-20 06:56:25,194.194 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:56:25,246.246 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:56:25,249.249 INFO    ] No update needed
[2026-10-20 06:56:25,252.252 INFO    ] Checking for camera pi updates...
[2026-10-20 06:56:25,285.285 INFO    ] 200
[2026-10-20 06:56:25,287.287 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:56:25,327.327 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:56:25,372.372 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:56:25,374.374 INFO    ] No camera update needed
[2026-10-20 06:56:25,377.377 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:56:25,379.379 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:56:25,384.384 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:56:25,390.390 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:56:27,431.431 INFO    ] ================================================
[2026-10-20 06:56:27,446.446 INFO    ] Launching Daemon at Tue Oct 20 06:56:27 IST 2026
[2026-10-20 06:56:27,457.457 INFO    ] ================================================
[2026-10-20 06:56:28,024.024 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:56:28
[2026-10-20 06:56:28,606.606 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:56:28,878.878 INFO    ] Initializing speech engine...
[2026-10-20 06:56:28,887.887 INFO    ] 2026-10-20 06:56:28
[2026-10-20 06:56:29,138.138 INFO    ] 2026-10-20 06:56:29
[2026-10-20 06:56:29,173.173 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:56:29,430.430 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:56:29,439.439 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:56:29,632.632 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:56:29,682.682 INFO    ] time= 20/10/2026 06:56:29
[2026-10-20 06:56:29,709.709 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:56:29,715.715 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:56:29,853.853 INFO    ] No existing commands found in stream
[2026-10-20 06:56:34,874.874 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:56:34,877.877 INFO    ] Waiting 0.19 seconds before fallback handling...
[2026-10-20 06:56:35,533.533 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:56:35,536.536 INFO    ] Checking for system updates...
[2026-10-20 06:56:35,571.571 INFO    ] 200
[2026-10-20 06:56:35,574.574 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:56:35,625.625 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:56:35,627.627 INFO    ] No update needed
[2026-10-20 06:56:35,630.630 INFO    ] Checking for camera pi updates...
[2026-10-20 06:56:35,663.663 INFO    ] 200
[2026-10-20 06:56:35,666.666 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:56:35,710.710 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:56:35,757.757 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:56:35,759.759 INFO    ] No camera update needed
[2026-10-20 06:56:35,762.762 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:56:35,764.764 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:56:35,769.769 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:56:35,774.774 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:56:37,814.814 INFO    ] ================================================
[2026-10-20 06:56:37,829.829 INFO    ] Launching Daemon at Tue Oct 20 06:56:37 IST 2026
[2026-10-20 06:56:37,840.840 INFO    ] ================================================
[2026-10-20 06:56:38,426.426 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:56:38
[2026-10-20 06:56:39,026.026 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:56:39,309.309 INFO    ] Initializing speech engine...
[2026-10-20 06:56:39,314.314 INFO    ] 2026-10-20 06:56:39
[2026-10-20 06:56:39,577.577 INFO    ] 2026-10-20 06:56:39
[2026-10-20 06:56:39,608.608 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:56:39,814.814 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:56:39,816.816 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:56:40,000.000 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:56:40,011.011 INFO    ] time= 20/10/2026 06:56:40
[2026-10-20 06:56:40,076.076 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:56:40,130.130 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:56:40,270.270 INFO    ] No existing commands found in stream
[2026-10-20 06:56:45,295.295 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:56:45,297.297 INFO    ] Waiting 2.50 seconds before fallback handling...
[2026-10-20 06:56:48,291.291 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 06:56:48,294.294 INFO    ] Checking for system updates...
[2026-10-20 06:56:48,332.332 INFO    ] 200
[2026-10-20 06:56:48,334.334 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:56:48,386.386 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:56:48,388.388 INFO    ] No update needed
[2026-10-20 06:56:48,391.391 INFO    ] Checking for camera pi updates...
[2026-10-20 06:56:48,427.427 INFO    ] 200
[2026-10-20 06:56:48,429.429 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:56:48,469.469 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:56:48,522.522 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:56:48,524.524 INFO    ] No camera update needed
[2026-10-20 06:56:48,526.526 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:56:48,529.529 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:56:48,534.534 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:56:48,539.539 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:56:50,579.579 INFO    ] ================================================
[2026-10-20 06:56:50,595.595 INFO    ] Launching Daemon at Tue Oct 20 06:56:50 IST 2026
[2026-10-20 06:56:50,606.606 INFO    ] ================================================
[2026-10-20 06:56:51,248.248 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:56:51
[2026-10-20 06:56:51,913.913 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:56:52,215.215 INFO    ] Initializing speech engine...
[2026-10-20 06:56:52,223.223 INFO    ] 2026-10-20 06:56:52
[2026-10-20 06:56:52,514.514 INFO    ] 2026-10-20 06:56:52
[2026-10-20 06:56:52,561.561 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:56:52,791.791 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:56:52,797.797 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:56:53,017.017 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:56:53,062.062 INFO    ] time= 20/10/2026 06:56:53
[2026-10-20 06:56:53,068.068 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:56:53,089.089 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:56:53,222.222 INFO    ] No existing commands found in stream
[2026-10-20 06:56:58,243.243 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:56:58,246.246 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-10-20 06:57:00,301.301 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:57:00,304.304 INFO    ] Checking for system updates...
[2026-10-20 06:57:00,341.341 INFO    ] 200
[2026-10-20 06:57:00,344.344 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:57:00,403.403 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:57:00,406.406 INFO    ] No update needed
[2026-10-20 06:57:00,409.409 INFO    ] Checking for camera pi updates...
[2026-10-20 06:57:00,443.443 INFO    ] 200
[2026-10-20 06:57:00,446.446 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:57:00,487.487 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:57:00,546.546 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:57:00,549.549 INFO    ] No camera update needed
[2026-10-20 06:57:00,551.551 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:57:00,554.554 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:57:00,560.560 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:57:00,567.567 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:57:02,608.608 INFO    ] ================================================
[2026-10-20 06:57:02,625.625 INFO    ] Launching Daemon at Tue Oct 20 06:57:02 IST 2026
[2026-10-20 06:57:02,638.638 INFO    ] ================================================
[2026-10-20 06:57:03,238.238 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:57:03
[2026-10-20 06:57:03,825.825 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:57:04,100.100 INFO    ] Initializing speech engine...
[2026-10-20 06:57:04,106.106 INFO    ] 2026-10-20 06:57:04
[2026-10-20 06:57:04,354.354 INFO    ] 2026-10-20 06:57:04
[2026-10-20 06:57:04,390.390 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:57:04,645.645 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:57:04,654.654 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:57:04,805.805 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:57:04,869.869 INFO    ] time= 20/10/2026 06:57:04
[2026-10-20 06:57:04,917.917 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:57:04,925.925 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:57:05,072.072 INFO    ] No existing commands found in stream
[2026-10-20 06:57:10,091.091 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:57:10,094.094 INFO    ] Waiting 1.88 seconds before fallback handling...
[2026-10-20 06:57:12,486.486 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 06:57:12,489.489 INFO    ] Checking for system updates...
[2026-10-20 06:57:12,524.524 INFO    ] 200
[2026-10-20 06:57:12,527.527 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:57:12,579.579 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:57:12,581.581 INFO    ] No update needed
[2026-10-20 06:57:12,584.584 INFO    ] Checking for camera pi updates...
[2026-10-20 06:57:12,622.622 INFO    ] 200
[2026-10-20 06:57:12,624.624 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:57:12,671.671 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:57:12,725.725 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:57:12,728.728 INFO    ] No camera update needed
[2026-10-20 06:57:12,730.730 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:57:12,733.733 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:57:12,738.738 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:57:12,743.743 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:57:14,782.782 INFO    ] ================================================
[2026-10-20 06:57:14,798.798 INFO    ] Launching Daemon at Tue Oct 20 06:57:14 IST 2026
[2026-10-20 06:57:14,809.809 INFO    ] ================================================
[2026-10-20 06:57:15,453.453 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:57:15
[2026-10-20 06:57:16,039.039 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:57:16,309.309 INFO    ] Initializing speech engine...
[2026-10-20 06:57:16,317.317 INFO    ] 2026-10-20 06:57:16
[2026-10-20 06:57:16,568.568 INFO    ] 2026-10-20 06:57:16
[2026-10-20 06:57:16,601.601 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:57:16,805.805 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:57:16,863.863 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:57:17,008.008 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:57:17,072.072 INFO    ] time= 20/10/2026 06:57:17
[2026-10-20 06:57:17,122.122 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:57:17,141.141 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:57:17,272.272 INFO    ] No existing commands found in stream
[2026-10-20 06:57:22,297.297 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:57:22,300.300 INFO    ] Waiting 1.97 seconds before fallback handling...
[2026-10-20 06:57:24,796.796 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:57:24,798.798 INFO    ] Checking for system updates...
[2026-10-20 06:57:24,834.834 INFO    ] 200
[2026-10-20 06:57:24,837.837 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:57:24,896.896 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:57:24,898.898 INFO    ] No update needed
[2026-10-20 06:57:24,901.901 INFO    ] Checking for camera pi updates...
[2026-10-20 06:57:24,934.934 INFO    ] 200
[2026-10-20 06:57:24,936.936 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:57:24,980.980 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:57:25,029.029 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:57:25,032.032 INFO    ] No camera update needed
[2026-10-20 06:57:25,035.035 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:57:25,037.037 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:57:25,044.044 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:57:25,050.050 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:57:27,092.092 INFO    ] ================================================
[2026-10-20 06:57:27,108.108 INFO    ] Launching Daemon at Tue Oct 20 06:57:27 IST 2026
[2026-10-20 06:57:27,119.119 INFO    ] ================================================
[2026-10-20 06:57:27,792.792 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:57:27
[2026-10-20 06:57:28,467.467 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:57:28,753.753 INFO    ] Initializing speech engine...
[2026-10-20 06:57:28,759.759 INFO    ] 2026-10-20 06:57:28
[2026-10-20 06:57:29,018.018 INFO    ] 2026-10-20 06:57:29
[2026-10-20 06:57:29,053.053 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:57:29,303.303 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:57:29,313.313 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:57:29,507.507 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:57:29,557.557 INFO    ] time= 20/10/2026 06:57:29
[2026-10-20 06:57:29,580.580 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:57:29,598.598 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:57:29,719.719 INFO    ] No existing commands found in stream
[2026-10-20 06:57:34,741.741 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:57:34,744.744 INFO    ] Waiting 1.93 seconds before fallback handling...
[2026-10-20 06:57:37,179.179 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:57:37,182.182 INFO    ] Checking for system updates...
[2026-10-20 06:57:37,217.217 INFO    ] 200
[2026-10-20 06:57:37,220.220 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:57:37,273.273 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:57:37,276.276 INFO    ] No update needed
[2026-10-20 06:57:37,278.278 INFO    ] Checking for camera pi updates...
[2026-10-20 06:57:37,311.311 INFO    ] 200
[2026-10-20 06:57:37,314.314 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:57:37,353.353 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:57:37,497.497 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:57:37,500.500 INFO    ] No camera update needed
[2026-10-20 06:57:37,502.502 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:57:37,505.505 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:57:37,510.510 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:57:37,515.515 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:57:39,555.555 INFO    ] ================================================
[2026-10-20 06:57:39,570.570 INFO    ] Launching Daemon at Tue Oct 20 06:57:39 IST 2026
[2026-10-20 06:57:39,581.581 INFO    ] ================================================
[2026-10-20 06:57:40,169.169 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:57:40
[2026-10-20 06:57:40,774.774 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:57:41,050.050 INFO    ] Initializing speech engine...
[2026-10-20 06:57:41,059.059 INFO    ] 2026-10-20 06:57:41
[2026-10-20 06:57:41,323.323 INFO    ] 2026-10-20 06:57:41
[2026-10-20 06:57:41,376.376 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:57:41,605.605 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:57:41,611.611 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:57:41,837.837 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:57:41,869.869 INFO    ] time= 20/10/2026 06:57:41
[2026-10-20 06:57:41,875.875 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:57:41,895.895 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:57:42,025.025 INFO    ] No existing commands found in stream
[2026-10-20 06:57:47,048.048 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:57:47,051.051 INFO    ] Waiting 1.38 seconds before fallback handling...
[2026-10-20 06:57:48,980.980 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:57:48,983.983 INFO    ] Checking for system updates...
[2026-10-20 06:57:49,025.025 INFO    ] 200
[2026-10-20 06:57:49,028.028 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:57:49,089.089 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:57:49,092.092 INFO    ] No update needed
[2026-10-20 06:57:49,095.095 INFO    ] Checking for camera pi updates...
[2026-10-20 06:57:49,133.133 INFO    ] 200
[2026-10-20 06:57:49,136.136 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:57:49,182.182 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:57:49,231.231 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:57:49,234.234 INFO    ] No camera update needed
[2026-10-20 06:57:49,236.236 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:57:49,239.239 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:57:49,245.245 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:57:49,251.251 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:57:51,293.293 INFO    ] ================================================
[2026-10-20 06:57:51,309.309 INFO    ] Launching Daemon at Tue Oct 20 06:57:51 IST 2026
[2026-10-20 06:57:51,320.320 INFO    ] ================================================
[2026-10-20 06:57:51,983.983 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:57:51
[2026-10-20 06:57:52,664.664 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:57:52,974.974 INFO    ] Initializing speech engine...
[2026-10-20 06:57:52,985.985 INFO    ] 2026-10-20 06:57:52
[2026-10-20 06:57:53,294.294 INFO    ] 2026-10-20 06:57:53
[2026-10-20 06:57:53,381.381 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:57:53,536.536 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:57:53,543.543 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:57:53,764.764 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:57:53,799.799 INFO    ] time= 20/10/2026 06:57:53
[2026-10-20 06:57:53,817.817 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:57:53,827.827 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:57:53,957.957 INFO    ] No existing commands found in stream
[2026-10-20 06:57:58,987.987 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:57:58,990.990 INFO    ] Waiting 0.53 seconds before fallback handling...
[2026-10-20 06:58:00,073.073 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 06:58:00,075.075 INFO    ] Checking for system updates...
[2026-10-20 06:58:00,115.115 INFO    ] 200
[2026-10-20 06:58:00,117.117 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:58:00,176.176 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:58:00,178.178 INFO    ] No update needed
[2026-10-20 06:58:00,181.181 INFO    ] Checking for camera pi updates...
[2026-10-20 06:58:00,218.218 INFO    ] 200
[2026-10-20 06:58:00,220.220 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:58:00,265.265 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:58:00,313.313 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:58:00,316.316 INFO    ] No camera update needed
[2026-10-20 06:58:00,318.318 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:58:00,320.320 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:58:00,326.326 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:58:00,331.331 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:58:02,383.383 INFO    ] ================================================
[2026-10-20 06:58:02,404.404 INFO    ] Launching Daemon at Tue Oct 20 06:58:02 IST 2026
[2026-10-20 06:58:02,416.416 INFO    ] ================================================
[2026-10-20 06:58:03,160.160 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:58:03
[2026-10-20 06:58:03,867.867 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:58:04,133.133 INFO    ] Initializing speech engine...
[2026-10-20 06:58:04,138.138 INFO    ] 2026-10-20 06:58:04
[2026-10-20 06:58:04,414.414 INFO    ] 2026-10-20 06:58:04
[2026-10-20 06:58:04,450.450 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:58:04,704.704 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:58:04,713.713 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:58:04,848.848 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:58:04,907.907 INFO    ] time= 20/10/2026 06:58:04
[2026-10-20 06:58:04,956.956 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:58:04,978.978 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:58:05,086.086 INFO    ] No existing commands found in stream
[2026-10-20 06:58:10,095.095 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:58:10,098.098 INFO    ] Waiting 2.88 seconds before fallback handling...
[2026-10-20 06:58:13,539.539 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:58:13,542.542 INFO    ] Checking for system updates...
[2026-10-20 06:58:13,582.582 INFO    ] 200
[2026-10-20 06:58:13,585.585 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:58:13,638.638 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:58:13,641.641 INFO    ] No update needed
[2026-10-20 06:58:13,644.644 INFO    ] Checking for camera pi updates...
[2026-10-20 06:58:13,678.678 INFO    ] 200
[2026-10-20 06:58:13,681.681 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:58:13,723.723 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:58:13,777.777 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:58:13,780.780 INFO    ] No camera update needed
[2026-10-20 06:58:13,783.783 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:58:13,785.785 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:58:13,792.792 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:58:13,797.797 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:58:15,840.840 INFO    ] ================================================
[2026-10-20 06:58:15,856.856 INFO    ] Launching Daemon at Tue Oct 20 06:58:15 IST 2026
[2026-10-20 06:58:15,866.866 INFO    ] ================================================
[2026-10-20 06:58:16,446.446 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:58:16
[2026-10-20 06:58:17,046.046 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:58:17,325.325 INFO    ] Initializing speech engine...
[2026-10-20 06:58:17,332.332 INFO    ] 2026-10-20 06:58:17
[2026-10-20 06:58:17,594.594 INFO    ] 2026-10-20 06:58:17
[2026-10-20 06:58:17,625.625 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:58:17,871.871 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:58:17,882.882 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:58:18,083.083 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:58:18,138.138 INFO    ] time= 20/10/2026 06:58:18
[2026-10-20 06:58:18,148.148 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:58:18,166.166 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:58:18,295.295 INFO    ] No existing commands found in stream
[2026-10-20 06:58:23,309.309 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:58:23,312.312 INFO    ] Waiting 3.20 seconds before fallback handling...
[2026-10-20 06:58:27,040.040 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:58:27,043.043 INFO    ] Checking for system updates...
[2026-10-20 06:58:27,080.080 INFO    ] 200
[2026-10-20 06:58:27,083.083 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:58:27,137.137 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:58:27,140.140 INFO    ] No update needed
[2026-10-20 06:58:27,143.143 INFO    ] Checking for camera pi updates...
[2026-10-20 06:58:27,181.181 INFO    ] 200
[2026-10-20 06:58:27,184.184 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:58:27,231.231 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:58:27,280.280 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:58:27,283.283 INFO    ] No camera update needed
[2026-10-20 06:58:27,286.286 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:58:27,288.288 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:58:27,295.295 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:58:27,301.301 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:58:29,341.341 INFO    ] ================================================
[2026-10-20 06:58:29,356.356 INFO    ] Launching Daemon at Tue Oct 20 06:58:29 IST 2026
[2026-10-20 06:58:29,367.367 INFO    ] ================================================
[2026-10-20 06:58:29,947.947 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:58:29
[2026-10-20 06:58:30,532.532 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:58:30,783.783 INFO    ] Initializing speech engine...
[2026-10-20 06:58:30,792.792 INFO    ] 2026-10-20 06:58:30
[2026-10-20 06:58:31,090.090 INFO    ] 2026-10-20 06:58:31
[2026-10-20 06:58:31,125.125 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:58:31,329.329 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:58:31,343.343 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:58:31,506.506 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:58:31,517.517 INFO    ] time= 20/10/2026 06:58:31
[2026-10-20 06:58:31,522.522 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:58:31,528.528 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:58:31,606.606 INFO    ] No existing commands found in stream
[2026-10-20 06:58:36,636.636 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:58:36,639.639 INFO    ] Waiting 1.69 seconds before fallback handling...
[2026-10-20 06:58:38,851.851 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 06:58:38,853.853 INFO    ] Checking for system updates...
[2026-10-20 06:58:38,892.892 INFO    ] 200
[2026-10-20 06:58:38,895.895 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:58:38,954.954 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:58:38,956.956 INFO    ] No update needed
[2026-10-20 06:58:38,959.959 INFO    ] Checking for camera pi updates...
[2026-10-20 06:58:38,996.996 INFO    ] 200
[2026-10-20 06:58:38,999.999 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:58:39,040.040 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:58:39,096.096 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:58:39,098.098 INFO    ] No camera update needed
[2026-10-20 06:58:39,101.101 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:58:39,103.103 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:58:39,108.108 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:58:39,113.113 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:58:41,154.154 INFO    ] ================================================
[2026-10-20 06:58:41,170.170 INFO    ] Launching Daemon at Tue Oct 20 06:58:41 IST 2026
[2026-10-20 06:58:41,181.181 INFO    ] ================================================
[2026-10-20 06:58:41,840.840 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:58:41
[2026-10-20 06:58:42,523.523 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:58:42,833.833 INFO    ] Initializing speech engine...
[2026-10-20 06:58:42,844.844 INFO    ] 2026-10-20 06:58:42
[2026-10-20 06:58:43,154.154 INFO    ] 2026-10-20 06:58:43
[2026-10-20 06:58:43,239.239 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:58:43,453.453 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:58:43,460.460 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:58:43,654.654 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:58:43,676.676 INFO    ] time= 20/10/2026 06:58:43
[2026-10-20 06:58:43,706.706 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:58:43,714.714 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:58:43,832.832 INFO    ] No existing commands found in stream
[2026-10-20 06:58:48,863.863 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:58:48,866.866 INFO    ] Waiting 0.73 seconds before fallback handling...
[2026-10-20 06:58:50,121.121 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 06:58:50,124.124 INFO    ] Checking for system updates...
[2026-10-20 06:58:50,167.167 INFO    ] 200
[2026-10-20 06:58:50,170.170 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:58:50,225.225 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:58:50,228.228 INFO    ] No update needed
[2026-10-20 06:58:50,231.231 INFO    ] Checking for camera pi updates...
[2026-10-20 06:58:50,264.264 INFO    ] 200
[2026-10-20 06:58:50,267.267 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:58:50,307.307 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:58:50,352.352 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:58:50,354.354 INFO    ] No camera update needed
[2026-10-20 06:58:50,357.357 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:58:50,359.359 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:58:50,364.364 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:58:50,369.369 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:58:52,409.409 INFO    ] ================================================
[2026-10-20 06:58:52,424.424 INFO    ] Launching Daemon at Tue Oct 20 06:58:52 IST 2026
[2026-10-20 06:58:52,434.434 INFO    ] ================================================
[2026-10-20 06:58:53,000.000 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:58:52
[2026-10-20 06:58:53,585.585 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:58:53,855.855 INFO    ] Initializing speech engine...
[2026-10-20 06:58:53,864.864 INFO    ] 2026-10-20 06:58:53
[2026-10-20 06:58:54,114.114 INFO    ] 2026-10-20 06:58:54
[2026-10-20 06:58:54,149.149 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:58:54,352.352 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:58:54,412.412 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:58:54,554.554 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:58:54,597.597 INFO    ] time= 20/10/2026 06:58:54
[2026-10-20 06:58:54,651.651 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:58:54,691.691 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:58:54,836.836 INFO    ] No existing commands found in stream
[2026-10-20 06:58:59,852.852 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:58:59,854.854 INFO    ] Waiting 3.73 seconds before fallback handling...
[2026-10-20 06:59:04,099.099 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:59:04,102.102 INFO    ] Checking for system updates...
[2026-10-20 06:59:04,140.140 INFO    ] 200
[2026-10-20 06:59:04,142.142 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:59:04,197.197 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:59:04,200.200 INFO    ] No update needed
[2026-10-20 06:59:04,203.203 INFO    ] Checking for camera pi updates...
[2026-10-20 06:59:04,242.242 INFO    ] 200
[2026-10-20 06:59:04,245.245 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:59:04,298.298 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:59:04,348.348 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:59:04,351.351 INFO    ] No camera update needed
[2026-10-20 06:59:04,354.354 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:59:04,356.356 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:59:04,362.362 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:59:04,368.368 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:59:06,407.407 INFO    ] ================================================
[2026-10-20 06:59:06,422.422 INFO    ] Launching Daemon at Tue Oct 20 06:59:06 IST 2026
[2026-10-20 06:59:06,433.433 INFO    ] ================================================
[2026-10-20 06:59:07,014.014 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:59:07
[2026-10-20 06:59:07,612.612 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:59:07,890.890 INFO    ] Initializing speech engine...
[2026-10-20 06:59:07,899.899 INFO    ] 2026-10-20 06:59:07
[2026-10-20 06:59:08,159.159 INFO    ] 2026-10-20 06:59:08
[2026-10-20 06:59:08,212.212 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:59:08,439.439 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:59:08,445.445 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:59:08,658.658 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:59:08,702.702 INFO    ] time= 20/10/2026 06:59:08
[2026-10-20 06:59:08,708.708 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:59:08,726.726 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:59:08,872.872 INFO    ] No existing commands found in stream
[2026-10-20 06:59:13,904.904 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:59:13,906.906 INFO    ] Waiting 0.95 seconds before fallback handling...
[2026-10-20 06:59:15,354.354 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 06:59:15,356.356 INFO    ] Checking for system updates...
[2026-10-20 06:59:15,392.392 INFO    ] 200
[2026-10-20 06:59:15,395.395 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:59:15,452.452 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:59:15,454.454 INFO    ] No update needed
[2026-10-20 06:59:15,457.457 INFO    ] Checking for camera pi updates...
[2026-10-20 06:59:15,494.494 INFO    ] 200
[2026-10-20 06:59:15,497.497 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:59:15,541.541 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:59:15,587.587 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:59:15,590.590 INFO    ] No camera update needed
[2026-10-20 06:59:15,592.592 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:59:15,594.594 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:59:15,600.600 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:59:15,605.605 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:59:17,646.646 INFO    ] ================================================
[2026-10-20 06:59:17,661.661 INFO    ] Launching Daemon at Tue Oct 20 06:59:17 IST 2026
[2026-10-20 06:59:17,672.672 INFO    ] ================================================
[2026-10-20 06:59:18,250.250 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:59:18
[2026-10-20 06:59:18,844.844 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:59:19,116.116 INFO    ] Initializing speech engine...
[2026-10-20 06:59:19,129.129 INFO    ] 2026-10-20 06:59:19
[2026-10-20 06:59:19,386.386 INFO    ] 2026-10-20 06:59:19
[2026-10-20 06:59:19,416.416 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:59:19,685.685 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:59:19,692.692 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:59:19,923.923 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:59:19,930.930 INFO    ] time= 20/10/2026 06:59:19
[2026-10-20 06:59:19,948.948 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:59:19,965.965 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:59:20,096.096 INFO    ] No existing commands found in stream
[2026-10-20 06:59:25,127.127 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:59:25,130.130 INFO    ] Waiting 2.04 seconds before fallback handling...
[2026-10-20 06:59:27,646.646 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 06:59:27,649.649 INFO    ] Checking for system updates...
[2026-10-20 06:59:27,685.685 INFO    ] 200
[2026-10-20 06:59:27,688.688 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:59:27,748.748 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:59:27,750.750 INFO    ] No update needed
[2026-10-20 06:59:27,753.753 INFO    ] Checking for camera pi updates...
[2026-10-20 06:59:27,786.786 INFO    ] 200
[2026-10-20 06:59:27,789.789 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:59:27,830.830 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:59:27,870.870 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:59:27,873.873 INFO    ] No camera update needed
[2026-10-20 06:59:27,875.875 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:59:27,877.877 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:59:27,883.883 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:59:27,888.888 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:59:29,929.929 INFO    ] ================================================
[2026-10-20 06:59:29,944.944 INFO    ] Launching Daemon at Tue Oct 20 06:59:29 IST 2026
[2026-10-20 06:59:29,954.954 INFO    ] ================================================
[2026-10-20 06:59:30,521.521 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:59:30
[2026-10-20 06:59:31,105.105 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:59:31,350.350 INFO    ] Initializing speech engine...
[2026-10-20 06:59:31,358.358 INFO    ] 2026-10-20 06:59:31
[2026-10-20 06:59:31,632.632 INFO    ] 2026-10-20 06:59:31
[2026-10-20 06:59:31,667.667 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:59:31,868.868 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:59:31,927.927 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:59:32,076.076 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:59:32,109.109 INFO    ] time= 20/10/2026 06:59:32
[2026-10-20 06:59:32,170.170 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:59:32,222.222 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:59:32,355.355 INFO    ] No existing commands found in stream
[2026-10-20 06:59:37,386.386 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:59:37,389.389 INFO    ] Waiting 1.64 seconds before fallback handling...
[2026-10-20 06:59:39,526.526 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 06:59:39,528.528 INFO    ] Checking for system updates...
[2026-10-20 06:59:39,567.567 INFO    ] 200
[2026-10-20 06:59:39,569.569 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:59:39,621.621 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:59:39,624.624 INFO    ] No update needed
[2026-10-20 06:59:39,626.626 INFO    ] Checking for camera pi updates...
[2026-10-20 06:59:39,659.659 INFO    ] 200
[2026-10-20 06:59:39,661.661 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:59:39,701.701 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:59:39,853.853 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 06:59:39,863.863 INFO    ] No camera update needed
[2026-10-20 06:59:39,866.866 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:59:39,868.868 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:59:39,874.874 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:59:39,879.879 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:59:41,921.921 INFO    ] ================================================
[2026-10-20 06:59:41,936.936 INFO    ] Launching Daemon at Tue Oct 20 06:59:41 IST 2026
[2026-10-20 06:59:41,946.946 INFO    ] ================================================
[2026-10-20 06:59:42,513.513 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:59:42
[2026-10-20 06:59:43,096.096 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:59:43,374.374 INFO    ] Initializing speech engine...
[2026-10-20 06:59:43,386.386 INFO    ] 2026-10-20 06:59:43
[2026-10-20 06:59:43,649.649 INFO    ] 2026-10-20 06:59:43
[2026-10-20 06:59:43,684.684 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:59:43,907.907 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:59:43,915.915 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:59:44,061.061 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:59:44,068.068 INFO    ] time= 20/10/2026 06:59:44
[2026-10-20 06:59:44,100.100 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:59:44,142.142 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:59:44,269.269 INFO    ] No existing commands found in stream
[2026-10-20 06:59:49,294.294 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:59:49,297.297 INFO    ] Waiting 0.07 seconds before fallback handling...
[2026-10-20 06:59:49,825.825 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 06:59:49,828.828 INFO    ] Checking for system updates...
[2026-10-20 06:59:49,864.864 INFO    ] 200
[2026-10-20 06:59:49,866.866 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:59:49,938.938 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:59:49,941.941 INFO    ] No update needed
[2026-10-20 06:59:49,943.943 INFO    ] Checking for camera pi updates...
[2026-10-20 06:59:49,980.980 INFO    ] 200
[2026-10-20 06:59:49,982.982 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 06:59:50,026.026 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 06:59:50,074.074 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 06:59:50,076.076 INFO    ] No camera update needed
[2026-10-20 06:59:50,078.078 INFO    ] Script finished. Safe exiting...
[2026-10-20 06:59:50,081.081 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 06:59:50,086.086 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 06:59:50,091.091 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 06:59:52,130.130 INFO    ] ================================================
[2026-10-20 06:59:52,146.146 INFO    ] Launching Daemon at Tue Oct 20 06:59:52 IST 2026
[2026-10-20 06:59:52,157.157 INFO    ] ================================================
[2026-10-20 06:59:52,800.800 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 06:59:52
[2026-10-20 06:59:53,473.473 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 06:59:53,776.776 INFO    ] Initializing speech engine...
[2026-10-20 06:59:53,785.785 INFO    ] 2026-10-20 06:59:53
[2026-10-20 06:59:54,072.072 INFO    ] 2026-10-20 06:59:54
[2026-10-20 06:59:54,121.121 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 06:59:54,407.407 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 06:59:54,417.417 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 06:59:54,618.618 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 06:59:54,625.625 INFO    ] time= 20/10/2026 06:59:54
[2026-10-20 06:59:54,644.644 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 06:59:54,674.674 INFO    ] Checking for existing commands in stream...
[2026-10-20 06:59:54,804.804 INFO    ] No existing commands found in stream
[2026-10-20 06:59:59,830.830 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 06:59:59,833.833 INFO    ] Waiting 0.68 seconds before fallback handling...
[2026-10-20 07:00:01,037.037 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:00:01,040.040 INFO    ] Checking for system updates...
[2026-10-20 07:00:01,076.076 INFO    ] 200
[2026-10-20 07:00:01,079.079 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:00:01,132.132 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:00:01,135.135 INFO    ] No update needed
[2026-10-20 07:00:01,138.138 INFO    ] Checking for camera pi updates...
[2026-10-20 07:00:01,175.175 INFO    ] 200
[2026-10-20 07:00:01,178.178 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:00:01,220.220 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:00:01,431.431 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:00:01,434.434 INFO    ] No camera update needed
[2026-10-20 07:00:01,437.437 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:00:01,439.439 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:00:01,446.446 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:00:01,451.451 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:00:03,621.621 INFO    ] ================================================
[2026-10-20 07:00:03,731.731 INFO    ] Launching Daemon at Tue Oct 20 07:00:03 IST 2026
[2026-10-20 07:00:03,812.812 INFO    ] ================================================
[2026-10-20 07:00:05,760.760 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:00:05
[2026-10-20 07:00:06,831.831 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:00:07,174.174 INFO    ] Initializing speech engine...
[2026-10-20 07:00:07,180.180 INFO    ] 2026-10-20 07:00:07
[2026-10-20 07:00:07,440.440 INFO    ] 2026-10-20 07:00:07
[2026-10-20 07:00:07,494.494 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:00:07,733.733 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:00:07,737.737 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:00:07,878.878 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:00:07,937.937 INFO    ] time= 20/10/2026 07:00:07
[2026-10-20 07:00:08,002.002 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:00:08,013.013 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:00:08,172.172 INFO    ] No existing commands found in stream
[2026-10-20 07:00:13,204.204 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:00:13,206.206 INFO    ] Waiting 1.60 seconds before fallback handling...
[2026-10-20 07:00:15,313.313 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:00:15,315.315 INFO    ] Checking for system updates...
[2026-10-20 07:00:15,351.351 INFO    ] 200
[2026-10-20 07:00:15,353.353 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:00:15,409.409 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:00:15,412.412 INFO    ] No update needed
[2026-10-20 07:00:15,414.414 INFO    ] Checking for camera pi updates...
[2026-10-20 07:00:15,447.447 INFO    ] 200
[2026-10-20 07:00:15,449.449 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:00:15,494.494 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:00:15,543.543 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:00:15,546.546 INFO    ] No camera update needed
[2026-10-20 07:00:15,548.548 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:00:15,550.550 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:00:15,556.556 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:00:15,561.561 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:00:17,601.601 INFO    ] ================================================
[2026-10-20 07:00:17,617.617 INFO    ] Launching Daemon at Tue Oct 20 07:00:17 IST 2026
[2026-10-20 07:00:17,628.628 INFO    ] ================================================
[2026-10-20 07:00:18,199.199 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:00:18
[2026-10-20 07:00:18,787.787 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:00:19,039.039 INFO    ] Initializing speech engine...
[2026-10-20 07:00:19,062.062 INFO    ] 2026-10-20 07:00:19
[2026-10-20 07:00:19,316.316 INFO    ] 2026-10-20 07:00:19
[2026-10-20 07:00:19,352.352 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:00:19,555.555 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:00:19,611.611 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:00:19,755.755 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:00:19,787.787 INFO    ] time= 20/10/2026 07:00:19
[2026-10-20 07:00:19,841.841 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:00:19,892.892 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:00:20,018.018 INFO    ] No existing commands found in stream
[2026-10-20 07:00:25,048.048 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:00:25,051.051 INFO    ] Waiting 3.01 seconds before fallback handling...
[2026-10-20 07:00:28,600.600 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:00:28,603.603 INFO    ] Checking for system updates...
[2026-10-20 07:00:28,642.642 INFO    ] 200
[2026-10-20 07:00:28,645.645 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:00:28,702.702 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:00:28,704.704 INFO    ] No update needed
[2026-10-20 07:00:28,707.707 INFO    ] Checking for camera pi updates...
[2026-10-20 07:00:28,741.741 INFO    ] 200
[2026-10-20 07:00:28,743.743 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:00:28,784.784 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:00:28,831.831 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:00:28,833.833 INFO    ] No camera update needed
[2026-10-20 07:00:28,836.836 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:00:28,838.838 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:00:28,844.844 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:00:28,850.850 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:00:30,891.891 INFO    ] ================================================
[2026-10-20 07:00:30,907.907 INFO    ] Launching Daemon at Tue Oct 20 07:00:30 IST 2026
[2026-10-20 07:00:30,918.918 INFO    ] ================================================
[2026-10-20 07:00:31,485.485 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:00:31
[2026-10-20 07:00:32,068.068 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:00:32,335.335 INFO    ] Initializing speech engine...
[2026-10-20 07:00:32,354.354 INFO    ] 2026-10-20 07:00:32
[2026-10-20 07:00:32,627.627 INFO    ] 2026-10-20 07:00:32
[2026-10-20 07:00:32,665.665 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:00:32,925.925 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:00:32,936.936 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:00:33,081.081 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:00:33,142.142 INFO    ] time= 20/10/2026 07:00:33
[2026-10-20 07:00:33,202.202 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:00:33,220.220 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:00:33,373.373 INFO    ] No existing commands found in stream
[2026-10-20 07:00:38,389.389 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:00:38,392.392 INFO    ] Waiting 1.07 seconds before fallback handling...
[2026-10-20 07:00:39,943.943 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:00:39,946.946 INFO    ] Checking for system updates...
[2026-10-20 07:00:39,981.981 INFO    ] 200
[2026-10-20 07:00:39,983.983 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:00:40,039.039 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:00:40,042.042 INFO    ] No update needed
[2026-10-20 07:00:40,044.044 INFO    ] Checking for camera pi updates...
[2026-10-20 07:00:40,080.080 INFO    ] 200
[2026-10-20 07:00:40,082.082 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:00:40,125.125 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:00:40,175.175 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:00:40,177.177 INFO    ] No camera update needed
[2026-10-20 07:00:40,180.180 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:00:40,182.182 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:00:40,188.188 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:00:40,193.193 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:00:42,233.233 INFO    ] ================================================
[2026-10-20 07:00:42,249.249 INFO    ] Launching Daemon at Tue Oct 20 07:00:42 IST 2026
[2026-10-20 07:00:42,261.261 INFO    ] ================================================
[2026-10-20 07:00:42,882.882 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:00:42
[2026-10-20 07:00:43,520.520 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:00:43,811.811 INFO    ] Initializing speech engine...
[2026-10-20 07:00:43,820.820 INFO    ] 2026-10-20 07:00:43
[2026-10-20 07:00:44,101.101 INFO    ] 2026-10-20 07:00:44
[2026-10-20 07:00:44,146.146 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:00:44,428.428 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:00:44,434.434 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:00:44,629.629 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:00:44,636.636 INFO    ] time= 20/10/2026 07:00:44
[2026-10-20 07:00:44,654.654 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:00:44,684.684 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:00:44,809.809 INFO    ] No existing commands found in stream
[2026-10-20 07:00:49,834.834 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:00:49,837.837 INFO    ] Waiting 1.54 seconds before fallback handling...
[2026-10-20 07:00:51,897.897 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 07:00:51,900.900 INFO    ] Checking for system updates...
[2026-10-20 07:00:51,936.936 INFO    ] 200
[2026-10-20 07:00:51,938.938 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:00:51,992.992 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:00:51,994.994 INFO    ] No update needed
[2026-10-20 07:00:51,997.997 INFO    ] Checking for camera pi updates...
[2026-10-20 07:00:52,031.031 INFO    ] 200
[2026-10-20 07:00:52,034.034 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:00:52,074.074 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:00:52,120.120 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:00:52,123.123 INFO    ] No camera update needed
[2026-10-20 07:00:52,126.126 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:00:52,128.128 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:00:52,134.134 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:00:52,140.140 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:00:54,181.181 INFO    ] ================================================
[2026-10-20 07:00:54,196.196 INFO    ] Launching Daemon at Tue Oct 20 07:00:54 IST 2026
[2026-10-20 07:00:54,207.207 INFO    ] ================================================
[2026-10-20 07:00:54,831.831 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:00:54
[2026-10-20 07:00:55,491.491 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:00:55,783.783 INFO    ] Initializing speech engine...
[2026-10-20 07:00:55,796.796 INFO    ] 2026-10-20 07:00:55
[2026-10-20 07:00:56,071.071 INFO    ] 2026-10-20 07:00:56
[2026-10-20 07:00:56,116.116 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:00:56,396.396 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:00:56,405.405 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:00:56,599.599 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:00:56,605.605 INFO    ] time= 20/10/2026 07:00:56
[2026-10-20 07:00:56,627.627 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:00:56,655.655 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:00:56,778.778 INFO    ] No existing commands found in stream
[2026-10-20 07:01:01,811.811 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:01:01,815.815 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-10-20 07:01:04,617.617 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:01:04,620.620 INFO    ] Checking for system updates...
[2026-10-20 07:01:04,656.656 INFO    ] 200
[2026-10-20 07:01:04,659.659 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:01:04,711.711 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:01:04,713.713 INFO    ] No update needed
[2026-10-20 07:01:04,716.716 INFO    ] Checking for camera pi updates...
[2026-10-20 07:01:04,750.750 INFO    ] 200
[2026-10-20 07:01:04,752.752 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:01:04,793.793 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:01:04,842.842 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:01:04,845.845 INFO    ] No camera update needed
[2026-10-20 07:01:04,847.847 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:01:04,850.850 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:01:04,856.856 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:01:04,861.861 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:01:06,902.902 INFO    ] ================================================
[2026-10-20 07:01:06,917.917 INFO    ] Launching Daemon at Tue Oct 20 07:01:06 IST 2026
[2026-10-20 07:01:06,929.929 INFO    ] ================================================
[2026-10-20 07:01:07,497.497 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:01:07
[2026-10-20 07:01:08,083.083 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:01:08,351.351 INFO    ] Initializing speech engine...
[2026-10-20 07:01:08,360.360 INFO    ] 2026-10-20 07:01:08
[2026-10-20 07:01:08,621.621 INFO    ] 2026-10-20 07:01:08
[2026-10-20 07:01:08,676.676 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:01:08,900.900 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:01:08,907.907 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:01:09,038.038 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:01:09,103.103 INFO    ] time= 20/10/2026 07:01:09
[2026-10-20 07:01:09,158.158 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:01:09,170.170 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:01:09,301.301 INFO    ] No existing commands found in stream
[2026-10-20 07:01:14,323.323 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:01:14,326.326 INFO    ] Waiting 0.44 seconds before fallback handling...
[2026-10-20 07:01:15,243.243 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:01:15,246.246 INFO    ] Checking for system updates...
[2026-10-20 07:01:15,283.283 INFO    ] 200
[2026-10-20 07:01:15,285.285 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:01:15,354.354 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:01:15,357.357 INFO    ] No update needed
[2026-10-20 07:01:15,359.359 INFO    ] Checking for camera pi updates...
[2026-10-20 07:01:15,395.395 INFO    ] 200
[2026-10-20 07:01:15,397.397 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:01:15,437.437 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:01:15,490.490 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:01:15,492.492 INFO    ] No camera update needed
[2026-10-20 07:01:15,495.495 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:01:15,497.497 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:01:15,502.502 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:01:15,507.507 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:01:17,551.551 INFO    ] ================================================
[2026-10-20 07:01:17,566.566 INFO    ] Launching Daemon at Tue Oct 20 07:01:17 IST 2026
[2026-10-20 07:01:17,577.577 INFO    ] ================================================
[2026-10-20 07:01:18,145.145 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:01:18
[2026-10-20 07:01:18,729.729 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:01:19,002.002 INFO    ] Initializing speech engine...
[2026-10-20 07:01:19,008.008 INFO    ] 2026-10-20 07:01:19
[2026-10-20 07:01:19,253.253 INFO    ] 2026-10-20 07:01:19
[2026-10-20 07:01:19,293.293 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:01:19,538.538 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:01:19,548.548 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:01:19,682.682 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:01:19,752.752 INFO    ] time= 20/10/2026 07:01:19
[2026-10-20 07:01:19,808.808 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:01:19,815.815 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:01:19,961.961 INFO    ] No existing commands found in stream
[2026-10-20 07:01:24,975.975 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:01:24,983.983 INFO    ] Waiting 2.75 seconds before fallback handling...
[2026-10-20 07:01:28,222.222 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:01:28,224.224 INFO    ] Checking for system updates...
[2026-10-20 07:01:28,261.261 INFO    ] 200
[2026-10-20 07:01:28,264.264 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:01:28,317.317 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:01:28,320.320 INFO    ] No update needed
[2026-10-20 07:01:28,322.322 INFO    ] Checking for camera pi updates...
[2026-10-20 07:01:28,356.356 INFO    ] 200
[2026-10-20 07:01:28,359.359 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:01:28,407.407 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:01:28,455.455 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:01:28,458.458 INFO    ] No camera update needed
[2026-10-20 07:01:28,461.461 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:01:28,463.463 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:01:28,469.469 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:01:28,475.475 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:01:30,515.515 INFO    ] ================================================
[2026-10-20 07:01:30,531.531 INFO    ] Launching Daemon at Tue Oct 20 07:01:30 IST 2026
[2026-10-20 07:01:30,541.541 INFO    ] ================================================
[2026-10-20 07:01:31,168.168 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:01:31
[2026-10-20 07:01:31,866.866 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:01:32,191.191 INFO    ] Initializing speech engine...
[2026-10-20 07:01:32,205.205 INFO    ] 2026-10-20 07:01:32
[2026-10-20 07:01:32,488.488 INFO    ] 2026-10-20 07:01:32
[2026-10-20 07:01:32,556.556 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:01:32,778.778 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:01:32,799.799 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:01:33,013.013 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:01:33,059.059 INFO    ] time= 20/10/2026 07:01:33
[2026-10-20 07:01:33,065.065 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:01:33,086.086 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:01:33,205.205 INFO    ] No existing commands found in stream
[2026-10-20 07:01:38,226.226 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:01:38,229.229 INFO    ] Waiting 1.85 seconds before fallback handling...
[2026-10-20 07:01:40,576.576 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:01:40,579.579 INFO    ] Checking for system updates...
[2026-10-20 07:01:40,615.615 INFO    ] 200
[2026-10-20 07:01:40,617.617 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:01:40,670.670 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:01:40,673.673 INFO    ] No update needed
[2026-10-20 07:01:40,675.675 INFO    ] Checking for camera pi updates...
[2026-10-20 07:01:40,715.715 INFO    ] 200
[2026-10-20 07:01:40,718.718 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:01:40,758.758 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:01:40,908.908 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:01:40,911.911 INFO    ] No camera update needed
[2026-10-20 07:01:40,914.914 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:01:40,916.916 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:01:40,923.923 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:01:40,928.928 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:01:42,968.968 INFO    ] ================================================
[2026-10-20 07:01:42,984.984 INFO    ] Launching Daemon at Tue Oct 20 07:01:42 IST 2026
[2026-10-20 07:01:43,994.994 INFO    ] ================================================
[2026-10-20 07:01:43,562.562 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:01:43
[2026-10-20 07:01:44,162.162 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:01:44,433.433 INFO    ] Initializing speech engine...
[2026-10-20 07:01:44,443.443 INFO    ] 2026-10-20 07:01:44
[2026-10-20 07:01:44,724.724 INFO    ] 2026-10-20 07:01:44
[2026-10-20 07:01:44,759.759 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:01:45,014.014 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:01:45,044.044 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:01:45,194.194 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:01:45,231.231 INFO    ] time= 20/10/2026 07:01:45
[2026-10-20 07:01:45,285.285 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:01:45,330.330 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:01:45,401.401 INFO    ] No existing commands found in stream
[2026-10-20 07:01:50,411.411 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:01:50,414.414 INFO    ] Waiting 2.84 seconds before fallback handling...
[2026-10-20 07:01:53,755.755 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:01:53,758.758 INFO    ] Checking for system updates...
[2026-10-20 07:01:53,797.797 INFO    ] 200
[2026-10-20 07:01:53,800.800 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:01:53,863.863 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:01:53,866.866 INFO    ] No update needed
[2026-10-20 07:01:53,869.869 INFO    ] Checking for camera pi updates...
[2026-10-20 07:01:53,903.903 INFO    ] 200
[2026-10-20 07:01:53,905.905 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:01:53,945.945 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:01:53,996.996 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:01:53,999.999 INFO    ] No camera update needed
[2026-10-20 07:01:54,001.001 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:01:54,004.004 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:01:54,010.010 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:01:54,016.016 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:01:56,057.057 INFO    ] ================================================
[2026-10-20 07:01:56,072.072 INFO    ] Launching Daemon at Tue Oct 20 07:01:56 IST 2026
[2026-10-20 07:01:56,082.082 INFO    ] ================================================
[2026-10-20 07:01:56,645.645 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:01:56
[2026-10-20 07:01:57,228.228 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:01:57,496.496 INFO    ] Initializing speech engine...
[2026-10-20 07:01:57,506.506 INFO    ] 2026-10-20 07:01:57
[2026-10-20 07:01:57,756.756 INFO    ] 2026-10-20 07:01:57
[2026-10-20 07:01:57,790.790 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:01:58,034.034 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:01:58,045.045 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:01:58,182.182 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:01:58,238.238 INFO    ] time= 20/10/2026 07:01:58
[2026-10-20 07:01:58,303.303 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:01:58,310.310 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:01:58,434.434 INFO    ] No existing commands found in stream
[2026-10-20 07:02:03,459.459 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:02:03,463.463 INFO    ] Waiting 2.56 seconds before fallback handling...
[2026-10-20 07:02:06,572.572 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 07:02:06,575.575 INFO    ] Checking for system updates...
[2026-10-20 07:02:06,617.617 INFO    ] 200
[2026-10-20 07:02:06,619.619 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 07:02:06,622.622 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-10-20 07:02:06,625.625 INFO    ] Checking for camera pi updates...
[2026-10-20 07:02:06,672.672 INFO    ] 200
[2026-10-20 07:02:06,674.674 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 07:02:06,677.677 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-10-20 07:02:06,680.680 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:02:06,682.682 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:02:06,688.688 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:02:06,694.694 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:02:08,735.735 INFO    ] ================================================
[2026-10-20 07:02:08,750.750 INFO    ] Launching Daemon at Tue Oct 20 07:02:08 IST 2026
[2026-10-20 07:02:08,761.761 INFO    ] ================================================
[2026-10-20 07:02:09,328.328 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:02:09
[2026-10-20 07:02:09,913.913 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:02:10,185.185 INFO    ] Initializing speech engine...
[2026-10-20 07:02:10,192.192 INFO    ] 2026-10-20 07:02:10
[2026-10-20 07:02:10,438.438 INFO    ] 2026-10-20 07:02:10
[2026-10-20 07:02:10,481.481 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:02:10,732.732 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:02:10,742.742 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:02:10,876.876 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:02:10,941.941 INFO    ] time= 20/10/2026 07:02:10
[2026-10-20 07:02:10,995.995 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:02:11,011.011 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:02:11,152.152 INFO    ] No existing commands found in stream
[2026-10-20 07:02:16,169.169 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:02:16,172.172 INFO    ] Waiting 1.00 seconds before fallback handling...
[2026-10-20 07:02:17,631.631 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 07:02:17,633.633 INFO    ] Checking for system updates...
[2026-10-20 07:02:17,669.669 INFO    ] 200
[2026-10-20 07:02:17,671.671 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:02:17,735.735 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:02:17,737.737 INFO    ] No update needed
[2026-10-20 07:02:17,740.740 INFO    ] Checking for camera pi updates...
[2026-10-20 07:02:17,777.777 INFO    ] 200
[2026-10-20 07:02:17,780.780 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:02:17,820.820 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:02:17,864.864 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:02:17,866.866 INFO    ] No camera update needed
[2026-10-20 07:02:17,869.869 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:02:17,871.871 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:02:17,876.876 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:02:17,881.881 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:02:19,923.923 INFO    ] ================================================
[2026-10-20 07:02:19,938.938 INFO    ] Launching Daemon at Tue Oct 20 07:02:19 IST 2026
[2026-10-20 07:02:19,949.949 INFO    ] ================================================
[2026-10-20 07:02:20,519.519 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:02:20
[2026-10-20 07:02:21,108.108 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:02:21,391.391 INFO    ] Initializing speech engine...
[2026-10-20 07:02:21,399.399 INFO    ] 2026-10-20 07:02:21
[2026-10-20 07:02:21,646.646 INFO    ] 2026-10-20 07:02:21
[2026-10-20 07:02:21,688.688 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:02:21,932.932 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:02:21,942.942 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:02:22,146.146 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:02:22,195.195 INFO    ] time= 20/10/2026 07:02:22
[2026-10-20 07:02:22,205.205 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:02:22,224.224 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:02:22,355.355 INFO    ] No existing commands found in stream
[2026-10-20 07:02:27,377.377 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:02:27,380.380 INFO    ] Waiting 1.45 seconds before fallback handling...
[2026-10-20 07:02:29,323.323 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:02:29,326.326 INFO    ] Checking for system updates...
[2026-10-20 07:02:29,361.361 INFO    ] 200
[2026-10-20 07:02:29,363.363 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:02:29,416.416 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:02:29,419.419 INFO    ] No update needed
[2026-10-20 07:02:29,421.421 INFO    ] Checking for camera pi updates...
[2026-10-20 07:02:29,455.455 INFO    ] 200
[2026-10-20 07:02:29,457.457 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:02:29,497.497 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:02:29,555.555 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:02:29,558.558 INFO    ] No camera update needed
[2026-10-20 07:02:29,561.561 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:02:29,563.563 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:02:29,568.568 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:02:29,573.573 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:02:31,616.616 INFO    ] ================================================
[2026-10-20 07:02:31,632.632 INFO    ] Launching Daemon at Tue Oct 20 07:02:31 IST 2026
[2026-10-20 07:02:31,644.644 INFO    ] ================================================
[2026-10-20 07:02:32,245.245 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:02:32
[2026-10-20 07:02:32,851.851 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:02:33,108.108 INFO    ] Initializing speech engine...
[2026-10-20 07:02:33,115.115 INFO    ] 2026-10-20 07:02:33
[2026-10-20 07:02:33,410.410 INFO    ] 2026-10-20 07:02:33
[2026-10-20 07:02:33,448.448 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:02:33,672.672 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:02:33,727.727 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:02:33,869.869 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:02:33,917.917 INFO    ] time= 20/10/2026 07:02:33
[2026-10-20 07:02:33,977.977 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:02:34,011.011 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:02:34,151.151 INFO    ] No existing commands found in stream
[2026-10-20 07:02:39,184.184 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:02:39,191.191 INFO    ] Waiting 2.54 seconds before fallback handling...
[2026-10-20 07:02:44,883.883 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:02:44,886.886 INFO    ] Checking for system updates...
[2026-10-20 07:02:44,921.921 INFO    ] 200
[2026-10-20 07:02:44,924.924 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:02:44,980.980 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:02:44,982.982 INFO    ] No update needed
[2026-10-20 07:02:44,985.985 INFO    ] Checking for camera pi updates...
[2026-10-20 07:02:45,022.022 INFO    ] 200
[2026-10-20 07:02:45,024.024 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:02:45,065.065 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:02:45,110.110 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:02:45,112.112 INFO    ] No camera update needed
[2026-10-20 07:02:45,115.115 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:02:45,117.117 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:02:45,123.123 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:02:45,128.128 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:02:47,167.167 INFO    ] ================================================
[2026-10-20 07:02:47,182.182 INFO    ] Launching Daemon at Tue Oct 20 07:02:47 IST 2026
[2026-10-20 07:02:47,193.193 INFO    ] ================================================
[2026-10-20 07:02:47,758.758 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:02:47
[2026-10-20 07:02:48,340.340 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:02:48,589.589 INFO    ] Initializing speech engine...
[2026-10-20 07:02:48,603.603 INFO    ] 2026-10-20 07:02:48
[2026-10-20 07:02:48,867.867 INFO    ] 2026-10-20 07:02:48
[2026-10-20 07:02:48,903.903 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:02:49,105.105 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:02:49,163.163 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:02:49,307.307 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:02:49,361.361 INFO    ] time= 20/10/2026 07:02:49
[2026-10-20 07:02:49,405.405 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:02:49,440.440 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:02:49,593.593 INFO    ] No existing commands found in stream
[2026-10-20 07:02:54,607.607 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:02:54,610.610 INFO    ] Waiting 3.87 seconds before fallback handling...
[2026-10-20 07:02:58,936.936 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:02:58,939.939 INFO    ] Checking for system updates...
[2026-10-20 07:02:58,977.977 INFO    ] 200
[2026-10-20 07:02:58,980.980 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:02:59,031.031 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:02:59,034.034 INFO    ] No update needed
[2026-10-20 07:02:59,036.036 INFO    ] Checking for camera pi updates...
[2026-10-20 07:02:59,073.073 INFO    ] 200
[2026-10-20 07:02:59,075.075 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:02:59,120.120 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:02:59,179.179 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:02:59,181.181 INFO    ] No camera update needed
[2026-10-20 07:02:59,183.183 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:02:59,186.186 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:02:59,191.191 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:02:59,196.196 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:03:01,251.251 INFO    ] ================================================
[2026-10-20 07:03:01,279.279 INFO    ] Launching Daemon at Tue Oct 20 07:03:01 IST 2026
[2026-10-20 07:03:01,296.296 INFO    ] ================================================
[2026-10-20 07:03:01,964.964 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:03:01
[2026-10-20 07:03:02,633.633 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:03:02,926.926 INFO    ] Initializing speech engine...
[2026-10-20 07:03:02,938.938 INFO    ] 2026-10-20 07:03:02
[2026-10-20 07:03:03,201.201 INFO    ] 2026-10-20 07:03:03
[2026-10-20 07:03:03,236.236 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:03:03,495.495 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:03:03,500.500 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:03:03,635.635 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:03:03,679.679 INFO    ] time= 20/10/2026 07:03:03
[2026-10-20 07:03:03,723.723 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:03:03,766.766 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:03:03,917.917 INFO    ] No existing commands found in stream
[2026-10-20 07:03:08,929.929 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:03:08,931.931 INFO    ] Waiting 3.38 seconds before fallback handling...
[2026-10-20 07:03:12,829.829 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:03:12,831.831 INFO    ] Checking for system updates...
[2026-10-20 07:03:12,867.867 INFO    ] 200
[2026-10-20 07:03:12,870.870 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:03:12,923.923 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:03:12,925.925 INFO    ] No update needed
[2026-10-20 07:03:12,928.928 INFO    ] Checking for camera pi updates...
[2026-10-20 07:03:12,962.962 INFO    ] 200
[2026-10-20 07:03:12,964.964 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:03:13,005.005 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:03:13,053.053 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:03:13,055.055 INFO    ] No camera update needed
[2026-10-20 07:03:13,058.058 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:03:13,060.060 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:03:13,065.065 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:03:13,071.071 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:03:15,111.111 INFO    ] ================================================
[2026-10-20 07:03:15,128.128 INFO    ] Launching Daemon at Tue Oct 20 07:03:15 IST 2026
[2026-10-20 07:03:15,145.145 INFO    ] ================================================
[2026-10-20 07:03:15,846.846 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:03:15
[2026-10-20 07:03:16,536.536 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:03:16,844.844 INFO    ] Initializing speech engine...
[2026-10-20 07:03:16,851.851 INFO    ] 2026-10-20 07:03:16
[2026-10-20 07:03:17,132.132 INFO    ] 2026-10-20 07:03:17
[2026-10-20 07:03:17,199.199 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:03:17,373.373 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:03:17,434.434 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:03:17,596.596 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:03:17,656.656 INFO    ] time= 20/10/2026 07:03:17
[2026-10-20 07:03:17,714.714 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:03:17,730.730 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:03:17,864.864 INFO    ] No existing commands found in stream
[2026-10-20 07:03:22,887.887 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:03:22,890.890 INFO    ] Waiting 2.65 seconds before fallback handling...
[2026-10-20 07:03:26,084.084 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:03:26,087.087 INFO    ] Checking for system updates...
[2026-10-20 07:03:26,127.127 INFO    ] 200
[2026-10-20 07:03:26,129.129 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:03:26,189.189 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:03:26,191.191 INFO    ] No update needed
[2026-10-20 07:03:26,194.194 INFO    ] Checking for camera pi updates...
[2026-10-20 07:03:26,227.227 INFO    ] 200
[2026-10-20 07:03:26,230.230 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:03:26,271.271 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:03:26,326.326 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:03:26,329.329 INFO    ] No camera update needed
[2026-10-20 07:03:26,332.332 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:03:26,334.334 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:03:26,339.339 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:03:26,344.344 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:03:28,384.384 INFO    ] ================================================
[2026-10-20 07:03:28,400.400 INFO    ] Launching Daemon at Tue Oct 20 07:03:28 IST 2026
[2026-10-20 07:03:28,412.412 INFO    ] ================================================
[2026-10-20 07:03:28,979.979 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:03:28
[2026-10-20 07:03:29,564.564 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:03:29,835.835 INFO    ] Initializing speech engine...
[2026-10-20 07:03:29,844.844 INFO    ] 2026-10-20 07:03:29
[2026-10-20 07:03:30,094.094 INFO    ] 2026-10-20 07:03:30
[2026-10-20 07:03:30,128.128 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:03:30,387.387 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:03:30,395.395 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:03:30,620.620 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:03:30,660.660 INFO    ] time= 20/10/2026 07:03:30
[2026-10-20 07:03:30,666.666 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:03:30,686.686 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:03:30,813.813 INFO    ] No existing commands found in stream
[2026-10-20 07:03:35,830.830 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:03:35,833.833 INFO    ] Waiting 3.27 seconds before fallback handling...
[2026-10-20 07:03:39,616.616 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:03:39,619.619 INFO    ] Checking for system updates...
[2026-10-20 07:03:39,654.654 INFO    ] 200
[2026-10-20 07:03:39,656.656 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:03:39,715.715 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:03:39,717.717 INFO    ] No update needed
[2026-10-20 07:03:39,719.719 INFO    ] Checking for camera pi updates...
[2026-10-20 07:03:39,755.755 INFO    ] 200
[2026-10-20 07:03:39,758.758 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:03:39,804.804 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:03:39,847.847 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:03:39,851.851 INFO    ] No camera update needed
[2026-10-20 07:03:39,853.853 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:03:39,856.856 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:03:39,862.862 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:03:39,868.868 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:03:41,910.910 INFO    ] ================================================
[2026-10-20 07:03:41,926.926 INFO    ] Launching Daemon at Tue Oct 20 07:03:41 IST 2026
[2026-10-20 07:03:41,937.937 INFO    ] ================================================
[2026-10-20 07:03:42,585.585 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:03:42
[2026-10-20 07:03:43,188.188 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:03:43,494.494 INFO    ] Initializing speech engine...
[2026-10-20 07:03:43,503.503 INFO    ] 2026-10-20 07:03:43
[2026-10-20 07:03:43,801.801 INFO    ] 2026-10-20 07:03:43
[2026-10-20 07:03:43,915.915 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:03:44,132.132 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:03:44,143.143 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:03:44,339.339 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:03:44,358.358 INFO    ] time= 20/10/2026 07:03:44
[2026-10-20 07:03:44,381.381 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:03:44,397.397 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:03:44,527.527 INFO    ] No existing commands found in stream
[2026-10-20 07:03:49,553.553 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:03:49,556.556 INFO    ] Waiting 0.38 seconds before fallback handling...
[2026-10-20 07:03:50,458.458 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:03:50,461.461 INFO    ] Checking for system updates...
[2026-10-20 07:03:50,498.498 INFO    ] 200
[2026-10-20 07:03:50,501.501 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:03:50,561.561 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:03:50,564.564 INFO    ] No update needed
[2026-10-20 07:03:50,567.567 INFO    ] Checking for camera pi updates...
[2026-10-20 07:03:50,601.601 INFO    ] 200
[2026-10-20 07:03:50,604.604 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:03:50,645.645 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:03:50,803.803 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:03:50,806.806 INFO    ] No camera update needed
[2026-10-20 07:03:50,809.809 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:03:50,811.811 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:03:50,818.818 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:03:50,824.824 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:03:52,864.864 INFO    ] ================================================
[2026-10-20 07:03:52,880.880 INFO    ] Launching Daemon at Tue Oct 20 07:03:52 IST 2026
[2026-10-20 07:03:52,890.890 INFO    ] ================================================
[2026-10-20 07:03:53,459.459 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:03:53
[2026-10-20 07:03:54,045.045 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:03:54,314.314 INFO    ] Initializing speech engine...
[2026-10-20 07:03:54,323.323 INFO    ] 2026-10-20 07:03:54
[2026-10-20 07:03:54,574.574 INFO    ] 2026-10-20 07:03:54
[2026-10-20 07:03:54,609.609 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:03:54,860.860 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:03:54,866.866 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:03:55,076.076 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:03:55,124.124 INFO    ] time= 20/10/2026 07:03:55
[2026-10-20 07:03:55,151.151 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:03:55,180.180 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:03:55,311.311 INFO    ] No existing commands found in stream
[2026-10-20 07:04:00,336.336 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:04:00,340.340 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-10-20 07:04:02,649.649 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 07:04:02,652.652 INFO    ] Checking for system updates...
[2026-10-20 07:04:02,694.694 INFO    ] 200
[2026-10-20 07:04:02,697.697 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:04:02,755.755 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:04:02,758.758 INFO    ] No update needed
[2026-10-20 07:04:02,762.762 INFO    ] Checking for camera pi updates...
[2026-10-20 07:04:02,798.798 INFO    ] 200
[2026-10-20 07:04:02,801.801 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:04:02,848.848 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:04:02,884.884 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:04:02,886.886 INFO    ] No camera update needed
[2026-10-20 07:04:02,889.889 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:04:02,891.891 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:04:02,896.896 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:04:02,901.901 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:04:04,941.941 INFO    ] ================================================
[2026-10-20 07:04:04,957.957 INFO    ] Launching Daemon at Tue Oct 20 07:04:04 IST 2026
[2026-10-20 07:04:04,968.968 INFO    ] ================================================
[2026-10-20 07:04:05,592.592 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:04:05
[2026-10-20 07:04:06,236.236 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:04:06,533.533 INFO    ] Initializing speech engine...
[2026-10-20 07:04:06,541.541 INFO    ] 2026-10-20 07:04:06
[2026-10-20 07:04:06,814.814 INFO    ] 2026-10-20 07:04:06
[2026-10-20 07:04:06,870.870 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:04:07,142.142 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:04:07,166.166 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:04:07,367.367 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:04:07,375.375 INFO    ] time= 20/10/2026 07:04:07
[2026-10-20 07:04:07,393.393 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:04:07,423.423 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:04:07,545.545 INFO    ] No existing commands found in stream
[2026-10-20 07:04:12,570.570 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:04:12,573.573 INFO    ] Waiting 1.97 seconds before fallback handling...
[2026-10-20 07:04:15,055.055 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:04:15,057.057 INFO    ] Checking for system updates...
[2026-10-20 07:04:15,096.096 INFO    ] 200
[2026-10-20 07:04:15,099.099 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:04:15,152.152 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:04:15,154.154 INFO    ] No update needed
[2026-10-20 07:04:15,157.157 INFO    ] Checking for camera pi updates...
[2026-10-20 07:04:15,191.191 INFO    ] 200
[2026-10-20 07:04:15,194.194 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:04:15,235.235 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:04:15,291.291 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:04:15,294.294 INFO    ] No camera update needed
[2026-10-20 07:04:15,296.296 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:04:15,299.299 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:04:15,305.305 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:04:15,311.311 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:04:17,353.353 INFO    ] ================================================
[2026-10-20 07:04:17,369.369 INFO    ] Launching Daemon at Tue Oct 20 07:04:17 IST 2026
[2026-10-20 07:04:17,379.379 INFO    ] ================================================
[2026-10-20 07:04:18,019.019 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:04:18
[2026-10-20 07:04:18,668.668 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:04:18,949.949 INFO    ] Initializing speech engine...
[2026-10-20 07:04:18,964.964 INFO    ] 2026-10-20 07:04:18
[2026-10-20 07:04:19,238.238 INFO    ] 2026-10-20 07:04:19
[2026-10-20 07:04:19,275.275 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:04:19,532.532 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:04:19,537.537 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:04:19,773.773 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:04:19,800.800 INFO    ] time= 20/10/2026 07:04:19
[2026-10-20 07:04:19,818.818 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:04:19,828.828 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:04:19,980.980 INFO    ] No existing commands found in stream
[2026-10-20 07:04:25,006.006 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:04:25,009.009 INFO    ] Waiting 1.07 seconds before fallback handling...
[2026-10-20 07:04:26,619.619 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:04:26,622.622 INFO    ] Checking for system updates...
[2026-10-20 07:04:26,658.658 INFO    ] 200
[2026-10-20 07:04:26,661.661 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:04:26,715.715 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:04:26,717.717 INFO    ] No update needed
[2026-10-20 07:04:26,720.720 INFO    ] Checking for camera pi updates...
[2026-10-20 07:04:26,754.754 INFO    ] 200
[2026-10-20 07:04:26,756.756 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:04:26,800.800 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:04:26,851.851 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:04:26,854.854 INFO    ] No camera update needed
[2026-10-20 07:04:26,856.856 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:04:26,858.858 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:04:26,864.864 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:04:26,869.869 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:04:28,910.910 INFO    ] ================================================
[2026-10-20 07:04:28,926.926 INFO    ] Launching Daemon at Tue Oct 20 07:04:28 IST 2026
[2026-10-20 07:04:28,937.937 INFO    ] ================================================
[2026-10-20 07:04:29,576.576 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:04:29
[2026-10-20 07:04:30,234.234 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:04:30,537.537 INFO    ] Initializing speech engine...
[2026-10-20 07:04:30,548.548 INFO    ] 2026-10-20 07:04:30
[2026-10-20 07:04:30,830.830 INFO    ] 2026-10-20 07:04:30
[2026-10-20 07:04:30,867.867 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:04:31,126.126 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:04:31,154.154 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:04:31,292.292 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:04:31,295.295 INFO    ] time= 20/10/2026 07:04:31
[2026-10-20 07:04:31,299.299 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:04:31,344.344 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:04:31,445.445 INFO    ] No existing commands found in stream
[2026-10-20 07:04:36,459.459 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:04:36,462.462 INFO    ] Waiting 0.84 seconds before fallback handling...
[2026-10-20 07:04:37,822.822 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:04:37,825.825 INFO    ] Checking for system updates...
[2026-10-20 07:04:37,861.861 INFO    ] 200
[2026-10-20 07:04:37,864.864 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:04:37,922.922 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:04:37,924.924 INFO    ] No update needed
[2026-10-20 07:04:37,926.926 INFO    ] Checking for camera pi updates...
[2026-10-20 07:04:37,960.960 INFO    ] 200
[2026-10-20 07:04:37,963.963 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:04:38,007.007 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:04:38,055.055 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:04:38,058.058 INFO    ] No camera update needed
[2026-10-20 07:04:38,061.061 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:04:38,063.063 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:04:38,069.069 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:04:38,074.074 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:04:40,113.113 INFO    ] ================================================
[2026-10-20 07:04:40,129.129 INFO    ] Launching Daemon at Tue Oct 20 07:04:40 IST 2026
[2026-10-20 07:04:40,140.140 INFO    ] ================================================
[2026-10-20 07:04:40,721.721 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:04:40
[2026-10-20 07:04:41,322.322 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:04:41,587.587 INFO    ] Initializing speech engine...
[2026-10-20 07:04:41,613.613 INFO    ] 2026-10-20 07:04:41
[2026-10-20 07:04:41,886.886 INFO    ] 2026-10-20 07:04:41
[2026-10-20 07:04:41,925.925 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:04:42,147.147 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:04:42,189.189 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:04:42,351.351 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:04:42,395.395 INFO    ] time= 20/10/2026 07:04:42
[2026-10-20 07:04:42,444.444 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:04:42,485.485 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:04:42,621.621 INFO    ] No existing commands found in stream
[2026-10-20 07:04:47,641.641 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:04:47,644.644 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-10-20 07:04:50,646.646 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:04:50,649.649 INFO    ] Checking for system updates...
[2026-10-20 07:04:50,684.684 INFO    ] 200
[2026-10-20 07:04:50,687.687 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:04:50,739.739 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:04:50,741.741 INFO    ] No update needed
[2026-10-20 07:04:50,744.744 INFO    ] Checking for camera pi updates...
[2026-10-20 07:04:50,777.777 INFO    ] 200
[2026-10-20 07:04:50,780.780 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:04:50,820.820 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:04:50,864.864 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:04:50,867.867 INFO    ] No camera update needed
[2026-10-20 07:04:50,869.869 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:04:50,872.872 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:04:50,877.877 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:04:50,882.882 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:04:52,922.922 INFO    ] ================================================
[2026-10-20 07:04:52,938.938 INFO    ] Launching Daemon at Tue Oct 20 07:04:52 IST 2026
[2026-10-20 07:04:52,949.949 INFO    ] ================================================
[2026-10-20 07:04:53,520.520 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:04:53
[2026-10-20 07:04:54,122.122 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:04:54,426.426 INFO    ] Initializing speech engine...
[2026-10-20 07:04:54,438.438 INFO    ] 2026-10-20 07:04:54
[2026-10-20 07:04:54,750.750 INFO    ] 2026-10-20 07:04:54
[2026-10-20 07:04:54,838.838 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:04:55,087.087 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:04:55,126.126 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:04:55,305.305 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:04:55,314.314 INFO    ] time= 20/10/2026 07:04:55
[2026-10-20 07:04:55,323.323 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:04:55,370.370 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:04:55,524.524 INFO    ] No existing commands found in stream
[2026-10-20 07:05:00,541.541 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:05:00,544.544 INFO    ] Waiting 1.86 seconds before fallback handling...
[2026-10-20 07:05:03,011.011 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:05:03,016.016 INFO    ] Checking for system updates...
[2026-10-20 07:05:03,058.058 INFO    ] 200
[2026-10-20 07:05:03,061.061 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:05:03,124.124 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:05:03,128.128 INFO    ] No update needed
[2026-10-20 07:05:03,132.132 INFO    ] Checking for camera pi updates...
[2026-10-20 07:05:03,183.183 INFO    ] 200
[2026-10-20 07:05:03,187.187 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:05:03,239.239 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:05:03,298.298 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:05:03,301.301 INFO    ] No camera update needed
[2026-10-20 07:05:03,303.303 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:05:03,305.305 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:05:03,311.311 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:05:03,316.316 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:05:05,356.356 INFO    ] ================================================
[2026-10-20 07:05:05,371.371 INFO    ] Launching Daemon at Tue Oct 20 07:05:05 IST 2026
[2026-10-20 07:05:05,382.382 INFO    ] ================================================
[2026-10-20 07:05:06,024.024 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:05:06
[2026-10-20 07:05:06,690.690 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:05:06,985.985 INFO    ] Initializing speech engine...
[2026-10-20 07:05:06,995.995 INFO    ] 2026-10-20 07:05:06
[2026-10-20 07:05:07,268.268 INFO    ] 2026-10-20 07:05:07
[2026-10-20 07:05:07,327.327 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:05:07,577.577 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:05:07,585.585 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:05:07,781.781 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:05:07,825.825 INFO    ] time= 20/10/2026 07:05:07
[2026-10-20 07:05:07,874.874 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:05:07,889.889 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:05:08,051.051 INFO    ] No existing commands found in stream
[2026-10-20 07:05:13,066.066 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:05:13,069.069 INFO    ] Waiting 0.21 seconds before fallback handling...
[2026-10-20 07:05:13,758.758 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:05:13,760.760 INFO    ] Checking for system updates...
[2026-10-20 07:05:13,795.795 INFO    ] 200
[2026-10-20 07:05:13,797.797 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:05:13,849.849 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:05:13,851.851 INFO    ] No update needed
[2026-10-20 07:05:13,854.854 INFO    ] Checking for camera pi updates...
[2026-10-20 07:05:13,886.886 INFO    ] 200
[2026-10-20 07:05:13,889.889 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:05:13,937.937 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:05:13,983.983 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:05:13,986.986 INFO    ] No camera update needed
[2026-10-20 07:05:13,988.988 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:05:13,991.991 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:05:13,996.996 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:05:14,001.001 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:05:16,043.043 INFO    ] ================================================
[2026-10-20 07:05:16,058.058 INFO    ] Launching Daemon at Tue Oct 20 07:05:16 IST 2026
[2026-10-20 07:05:16,069.069 INFO    ] ================================================
[2026-10-20 07:05:16,642.642 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:05:16
[2026-10-20 07:05:17,237.237 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:05:17,499.499 INFO    ] Initializing speech engine...
[2026-10-20 07:05:17,514.514 INFO    ] 2026-10-20 07:05:17
[2026-10-20 07:05:17,801.801 INFO    ] 2026-10-20 07:05:17
[2026-10-20 07:05:17,836.836 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:05:18,042.042 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:05:18,058.058 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:05:18,211.211 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:05:18,219.219 INFO    ] time= 20/10/2026 07:05:18
[2026-10-20 07:05:18,246.246 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:05:18,293.293 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:05:18,428.428 INFO    ] No existing commands found in stream
[2026-10-20 07:05:23,448.448 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:05:23,451.451 INFO    ] Waiting 1.82 seconds before fallback handling...
[2026-10-20 07:05:25,760.760 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:05:25,763.763 INFO    ] Checking for system updates...
[2026-10-20 07:05:25,799.799 INFO    ] 200
[2026-10-20 07:05:25,801.801 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:05:25,852.852 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:05:25,854.854 INFO    ] No update needed
[2026-10-20 07:05:25,857.857 INFO    ] Checking for camera pi updates...
[2026-10-20 07:05:25,890.890 INFO    ] 200
[2026-10-20 07:05:25,892.892 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:05:25,932.932 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:05:25,981.981 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:05:25,983.983 INFO    ] No camera update needed
[2026-10-20 07:05:25,986.986 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:05:25,988.988 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:05:25,993.993 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:05:25,998.998 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:05:28,038.038 INFO    ] ================================================
[2026-10-20 07:05:28,054.054 INFO    ] Launching Daemon at Tue Oct 20 07:05:28 IST 2026
[2026-10-20 07:05:28,065.065 INFO    ] ================================================
[2026-10-20 07:05:28,646.646 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:05:28
[2026-10-20 07:05:29,242.242 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:05:29,515.515 INFO    ] Initializing speech engine...
[2026-10-20 07:05:29,525.525 INFO    ] 2026-10-20 07:05:29
[2026-10-20 07:05:29,773.773 INFO    ] 2026-10-20 07:05:29
[2026-10-20 07:05:29,814.814 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:05:30,064.064 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:05:30,069.069 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:05:30,203.203 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:05:30,268.268 INFO    ] time= 20/10/2026 07:05:30
[2026-10-20 07:05:30,327.327 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:05:30,337.337 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:05:30,480.480 INFO    ] No existing commands found in stream
[2026-10-20 07:05:35,493.493 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:05:35,496.496 INFO    ] Waiting 3.32 seconds before fallback handling...
[2026-10-20 07:05:39,338.338 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:05:39,341.341 INFO    ] Checking for system updates...
[2026-10-20 07:05:39,376.376 INFO    ] 200
[2026-10-20 07:05:39,379.379 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:05:39,431.431 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:05:39,434.434 INFO    ] No update needed
[2026-10-20 07:05:39,436.436 INFO    ] Checking for camera pi updates...
[2026-10-20 07:05:39,469.469 INFO    ] 200
[2026-10-20 07:05:39,472.472 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:05:39,511.511 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:05:39,557.557 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:05:39,559.559 INFO    ] No camera update needed
[2026-10-20 07:05:39,562.562 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:05:39,564.564 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:05:39,570.570 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:05:39,575.575 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:05:41,620.620 INFO    ] ================================================
[2026-10-20 07:05:41,635.635 INFO    ] Launching Daemon at Tue Oct 20 07:05:41 IST 2026
[2026-10-20 07:05:41,646.646 INFO    ] ================================================
[2026-10-20 07:05:42,215.215 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:05:42
[2026-10-20 07:05:42,797.797 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:05:43,057.057 INFO    ] Initializing speech engine...
[2026-10-20 07:05:43,075.075 INFO    ] 2026-10-20 07:05:43
[2026-10-20 07:05:43,325.325 INFO    ] 2026-10-20 07:05:43
[2026-10-20 07:05:43,360.360 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:05:43,617.617 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:05:43,627.627 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:05:43,830.830 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:05:43,890.890 INFO    ] time= 20/10/2026 07:05:43
[2026-10-20 07:05:43,897.897 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:05:43,914.914 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:05:44,042.042 INFO    ] No existing commands found in stream
[2026-10-20 07:05:49,059.059 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:05:49,062.062 INFO    ] Waiting 1.80 seconds before fallback handling...
[2026-10-20 07:05:51,352.352 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:05:51,354.354 INFO    ] Checking for system updates...
[2026-10-20 07:05:51,389.389 INFO    ] 200
[2026-10-20 07:05:51,392.392 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:05:51,445.445 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:05:51,447.447 INFO    ] No update needed
[2026-10-20 07:05:51,450.450 INFO    ] Checking for camera pi updates...
[2026-10-20 07:05:51,487.487 INFO    ] 200
[2026-10-20 07:05:51,490.490 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:05:51,536.536 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:05:51,583.583 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:05:51,586.586 INFO    ] No camera update needed
[2026-10-20 07:05:51,588.588 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:05:51,591.591 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:05:51,596.596 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:05:51,601.601 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:05:53,648.648 INFO    ] ================================================
[2026-10-20 07:05:53,663.663 INFO    ] Launching Daemon at Tue Oct 20 07:05:53 IST 2026
[2026-10-20 07:05:53,674.674 INFO    ] ================================================
[2026-10-20 07:05:54,241.241 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:05:54
[2026-10-20 07:05:54,823.823 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:05:55,093.093 INFO    ] Initializing speech engine...
[2026-10-20 07:05:55,104.104 INFO    ] 2026-10-20 07:05:55
[2026-10-20 07:05:55,349.349 INFO    ] 2026-10-20 07:05:55
[2026-10-20 07:05:55,384.384 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:05:55,579.579 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:05:55,619.619 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:05:55,785.785 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:05:55,845.845 INFO    ] time= 20/10/2026 07:05:55
[2026-10-20 07:05:55,910.910 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:05:55,922.922 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:05:56,055.055 INFO    ] No existing commands found in stream
[2026-10-20 07:06:01,080.080 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:06:01,083.083 INFO    ] Waiting 2.92 seconds before fallback handling...
[2026-10-20 07:06:04,529.529 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:06:04,532.532 INFO    ] Checking for system updates...
[2026-10-20 07:06:04,568.568 INFO    ] 200
[2026-10-20 07:06:04,570.570 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:06:04,621.621 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:06:04,624.624 INFO    ] No update needed
[2026-10-20 07:06:04,626.626 INFO    ] Checking for camera pi updates...
[2026-10-20 07:06:04,660.660 INFO    ] 200
[2026-10-20 07:06:04,662.662 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:06:04,703.703 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:06:04,751.751 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:06:04,754.754 INFO    ] No camera update needed
[2026-10-20 07:06:04,756.756 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:06:04,758.758 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:06:04,764.764 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:06:04,769.769 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:06:06,810.810 INFO    ] ================================================
[2026-10-20 07:06:06,825.825 INFO    ] Launching Daemon at Tue Oct 20 07:06:06 IST 2026
[2026-10-20 07:06:06,836.836 INFO    ] ================================================
[2026-10-20 07:06:07,405.405 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:06:07
[2026-10-20 07:06:07,989.989 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:06:08,243.243 INFO    ] Initializing speech engine...
[2026-10-20 07:06:08,253.253 INFO    ] 2026-10-20 07:06:08
[2026-10-20 07:06:08,543.543 INFO    ] 2026-10-20 07:06:08
[2026-10-20 07:06:08,577.577 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:06:08,775.775 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:06:08,789.789 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:06:08,947.947 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:06:08,956.956 INFO    ] time= 20/10/2026 07:06:08
[2026-10-20 07:06:08,961.961 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:06:08,970.970 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:06:09,096.096 INFO    ] No existing commands found in stream
[2026-10-20 07:06:14,121.121 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:06:14,124.124 INFO    ] Waiting 1.67 seconds before fallback handling...
[2026-10-20 07:06:16,262.262 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 07:06:16,264.264 INFO    ] Checking for system updates...
[2026-10-20 07:06:16,303.303 INFO    ] 200
[2026-10-20 07:06:16,306.306 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:06:16,357.357 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:06:16,359.359 INFO    ] No update needed
[2026-10-20 07:06:16,362.362 INFO    ] Checking for camera pi updates...
[2026-10-20 07:06:16,395.395 INFO    ] 200
[2026-10-20 07:06:16,397.397 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:06:16,437.437 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:06:16,486.486 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:06:16,488.488 INFO    ] No camera update needed
[2026-10-20 07:06:16,491.491 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:06:16,493.493 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:06:16,498.498 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:06:16,503.503 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:06:18,542.542 INFO    ] ================================================
[2026-10-20 07:06:18,558.558 INFO    ] Launching Daemon at Tue Oct 20 07:06:18 IST 2026
[2026-10-20 07:06:18,568.568 INFO    ] ================================================
[2026-10-20 07:06:19,137.137 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:06:19
[2026-10-20 07:06:19,725.725 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:06:19,994.994 INFO    ] Initializing speech engine...
[2026-10-20 07:06:20,003.003 INFO    ] 2026-10-20 07:06:19
[2026-10-20 07:06:20,250.250 INFO    ] 2026-10-20 07:06:20
[2026-10-20 07:06:20,285.285 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:06:20,535.535 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:06:20,545.545 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:06:20,755.755 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:06:20,800.800 INFO    ] time= 20/10/2026 07:06:20
[2026-10-20 07:06:20,809.809 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:06:20,826.826 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:06:20,957.957 INFO    ] No existing commands found in stream
[2026-10-20 07:06:25,969.969 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:06:25,972.972 INFO    ] Waiting 3.14 seconds before fallback handling...
[2026-10-20 07:06:29,634.634 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:06:29,637.637 INFO    ] Checking for system updates...
[2026-10-20 07:06:29,674.674 INFO    ] 200
[2026-10-20 07:06:29,677.677 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:06:29,731.731 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:06:29,734.734 INFO    ] No update needed
[2026-10-20 07:06:29,737.737 INFO    ] Checking for camera pi updates...
[2026-10-20 07:06:29,770.770 INFO    ] 200
[2026-10-20 07:06:29,773.773 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:06:29,813.813 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:06:29,863.863 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:06:29,865.865 INFO    ] No camera update needed
[2026-10-20 07:06:29,868.868 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:06:29,870.870 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:06:29,875.875 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:06:29,880.880 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:06:31,921.921 INFO    ] ================================================
[2026-10-20 07:06:31,937.937 INFO    ] Launching Daemon at Tue Oct 20 07:06:31 IST 2026
[2026-10-20 07:06:31,950.950 INFO    ] ================================================
[2026-10-20 07:06:32,636.636 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:06:32
[2026-10-20 07:06:33,247.247 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:06:33,522.522 INFO    ] Initializing speech engine...
[2026-10-20 07:06:33,531.531 INFO    ] 2026-10-20 07:06:33
[2026-10-20 07:06:33,779.779 INFO    ] 2026-10-20 07:06:33
[2026-10-20 07:06:33,815.815 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:06:34,073.073 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:06:34,078.078 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:06:34,289.289 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:06:34,336.336 INFO    ] time= 20/10/2026 07:06:34
[2026-10-20 07:06:34,343.343 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:06:34,364.364 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:06:34,487.487 INFO    ] No existing commands found in stream
[2026-10-20 07:06:39,503.503 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:06:39,505.505 INFO    ] Waiting 2.12 seconds before fallback handling...
[2026-10-20 07:06:42,179.179 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 07:06:42,183.183 INFO    ] Checking for system updates...
[2026-10-20 07:06:42,223.223 INFO    ] 200
[2026-10-20 07:06:42,225.225 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:06:42,277.277 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:06:42,279.279 INFO    ] No update needed
[2026-10-20 07:06:42,282.282 INFO    ] Checking for camera pi updates...
[2026-10-20 07:06:42,315.315 INFO    ] 200
[2026-10-20 07:06:42,317.317 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:06:42,360.360 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:06:42,399.399 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:06:42,401.401 INFO    ] No camera update needed
[2026-10-20 07:06:42,404.404 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:06:42,406.406 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:06:42,412.412 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:06:42,416.416 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:06:44,460.460 INFO    ] ================================================
[2026-10-20 07:06:44,475.475 INFO    ] Launching Daemon at Tue Oct 20 07:06:44 IST 2026
[2026-10-20 07:06:44,487.487 INFO    ] ================================================
[2026-10-20 07:06:45,134.134 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:06:45
[2026-10-20 07:06:45,801.801 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:06:46,103.103 INFO    ] Initializing speech engine...
[2026-10-20 07:06:46,117.117 INFO    ] 2026-10-20 07:06:46
[2026-10-20 07:06:46,399.399 INFO    ] 2026-10-20 07:06:46
[2026-10-20 07:06:46,448.448 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:06:46,721.721 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:06:46,744.744 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:06:46,924.924 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:06:46,952.952 INFO    ] time= 20/10/2026 07:06:46
[2026-10-20 07:06:46,967.967 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:06:46,977.977 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:06:47,108.108 INFO    ] No existing commands found in stream
[2026-10-20 07:06:52,131.131 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:06:52,134.134 INFO    ] Waiting 2.87 seconds before fallback handling...
[2026-10-20 07:06:55,564.564 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 07:06:55,567.567 INFO    ] Checking for system updates...
[2026-10-20 07:06:55,607.607 INFO    ] 200
[2026-10-20 07:06:55,610.610 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:06:55,684.684 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:06:55,687.687 INFO    ] No update needed
[2026-10-20 07:06:55,691.691 INFO    ] Checking for camera pi updates...
[2026-10-20 07:06:55,727.727 INFO    ] 200
[2026-10-20 07:06:55,730.730 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:06:55,772.772 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:06:55,818.818 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:06:55,821.821 INFO    ] No camera update needed
[2026-10-20 07:06:55,823.823 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:06:55,826.826 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:06:55,832.832 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:06:55,838.838 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:06:57,881.881 INFO    ] ================================================
[2026-10-20 07:06:57,898.898 INFO    ] Launching Daemon at Tue Oct 20 07:06:57 IST 2026
[2026-10-20 07:06:57,909.909 INFO    ] ================================================
[2026-10-20 07:06:58,603.603 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:06:58
[2026-10-20 07:06:59,317.317 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:06:59,642.642 INFO    ] Initializing speech engine...
[2026-10-20 07:06:59,650.650 INFO    ] 2026-10-20 07:06:59
[2026-10-20 07:06:59,942.942 INFO    ] 2026-10-20 07:06:59
[2026-10-20 07:06:59,990.990 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:07:00,224.224 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:07:00,230.230 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:07:00,419.419 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:07:00,484.484 INFO    ] time= 20/10/2026 07:07:00
[2026-10-20 07:07:00,509.509 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:07:00,529.529 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:07:00,643.643 INFO    ] No existing commands found in stream
[2026-10-20 07:07:05,676.676 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:07:05,679.679 INFO    ] Waiting 2.12 seconds before fallback handling...
[2026-10-20 07:07:08,314.314 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:07:08,317.317 INFO    ] Checking for system updates...
[2026-10-20 07:07:08,355.355 INFO    ] 200
[2026-10-20 07:07:08,358.358 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:07:08,420.420 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:07:08,422.422 INFO    ] No update needed
[2026-10-20 07:07:08,424.424 INFO    ] Checking for camera pi updates...
[2026-10-20 07:07:08,460.460 INFO    ] 200
[2026-10-20 07:07:08,462.462 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:07:08,506.506 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:07:08,553.553 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:07:08,556.556 INFO    ] No camera update needed
[2026-10-20 07:07:08,558.558 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:07:08,561.561 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:07:08,566.566 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:07:08,571.571 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:07:10,612.612 INFO    ] ================================================
[2026-10-20 07:07:10,628.628 INFO    ] Launching Daemon at Tue Oct 20 07:07:10 IST 2026
[2026-10-20 07:07:10,639.639 INFO    ] ================================================
[2026-10-20 07:07:11,214.214 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:07:11
[2026-10-20 07:07:11,796.796 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:07:12,079.079 INFO    ] Initializing speech engine...
[2026-10-20 07:07:12,088.088 INFO    ] 2026-10-20 07:07:12
[2026-10-20 07:07:12,383.383 INFO    ] 2026-10-20 07:07:12
[2026-10-20 07:07:12,429.429 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:07:12,723.723 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:07:12,730.730 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:07:12,929.929 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:07:12,936.936 INFO    ] time= 20/10/2026 07:07:12
[2026-10-20 07:07:12,955.955 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:07:12,985.985 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:07:13,102.102 INFO    ] No existing commands found in stream
[2026-10-20 07:07:18,137.137 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:07:18,141.141 INFO    ] Waiting 0.45 seconds before fallback handling...
[2026-10-20 07:07:19,144.144 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:07:19,147.147 INFO    ] Checking for system updates...
[2026-10-20 07:07:19,184.184 INFO    ] 200
[2026-10-20 07:07:19,187.187 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:07:19,242.242 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:07:19,245.245 INFO    ] No update needed
[2026-10-20 07:07:19,248.248 INFO    ] Checking for camera pi updates...
[2026-10-20 07:07:19,282.282 INFO    ] 200
[2026-10-20 07:07:19,285.285 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:07:19,326.326 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:07:19,377.377 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:07:19,381.381 INFO    ] No camera update needed
[2026-10-20 07:07:19,383.383 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:07:19,386.386 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:07:19,392.392 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:07:19,398.398 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:07:21,440.440 INFO    ] ================================================
[2026-10-20 07:07:21,456.456 INFO    ] Launching Daemon at Tue Oct 20 07:07:21 IST 2026
[2026-10-20 07:07:21,467.467 INFO    ] ================================================
[2026-10-20 07:07:22,045.045 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:07:22
[2026-10-20 07:07:22,632.632 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:07:22,883.883 INFO    ] Initializing speech engine...
[2026-10-20 07:07:22,890.890 INFO    ] 2026-10-20 07:07:22
[2026-10-20 07:07:23,165.165 INFO    ] 2026-10-20 07:07:23
[2026-10-20 07:07:23,198.198 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:07:23,402.402 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:07:23,461.461 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:07:23,702.702 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:07:23,734.734 INFO    ] time= 20/10/2026 07:07:23
[2026-10-20 07:07:23,740.740 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:07:23,757.757 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:07:23,876.876 INFO    ] No existing commands found in stream
[2026-10-20 07:07:28,901.901 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:07:28,904.904 INFO    ] Waiting 2.56 seconds before fallback handling...
[2026-10-20 07:07:32,016.016 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:07:32,020.020 INFO    ] Checking for system updates...
[2026-10-20 07:07:32,072.072 INFO    ] 200
[2026-10-20 07:07:32,075.075 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:07:32,134.134 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:07:32,137.137 INFO    ] No update needed
[2026-10-20 07:07:32,141.141 INFO    ] Checking for camera pi updates...
[2026-10-20 07:07:32,179.179 INFO    ] 200
[2026-10-20 07:07:32,182.182 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:07:32,227.227 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:07:32,272.272 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:07:32,275.275 INFO    ] No camera update needed
[2026-10-20 07:07:32,278.278 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:07:32,281.281 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:07:32,287.287 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:07:32,293.293 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:07:34,334.334 INFO    ] ================================================
[2026-10-20 07:07:34,350.350 INFO    ] Launching Daemon at Tue Oct 20 07:07:34 IST 2026
[2026-10-20 07:07:34,362.362 INFO    ] ================================================
[2026-10-20 07:07:34,928.928 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:07:34
[2026-10-20 07:07:35,513.513 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:07:35,780.780 INFO    ] Initializing speech engine...
[2026-10-20 07:07:35,789.789 INFO    ] 2026-10-20 07:07:35
[2026-10-20 07:07:36,034.034 INFO    ] 2026-10-20 07:07:36
[2026-10-20 07:07:36,070.070 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:07:36,324.324 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:07:36,328.328 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:07:36,463.463 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:07:36,523.523 INFO    ] time= 20/10/2026 07:07:36
[2026-10-20 07:07:36,583.583 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:07:36,592.592 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:07:36,739.739 INFO    ] No existing commands found in stream
[2026-10-20 07:07:41,752.752 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:07:41,755.755 INFO    ] Waiting 3.03 seconds before fallback handling...
[2026-10-20 07:07:45,315.315 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:07:45,318.318 INFO    ] Checking for system updates...
[2026-10-20 07:07:45,353.353 INFO    ] 200
[2026-10-20 07:07:45,355.355 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:07:45,415.415 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:07:45,417.417 INFO    ] No update needed
[2026-10-20 07:07:45,420.420 INFO    ] Checking for camera pi updates...
[2026-10-20 07:07:45,453.453 INFO    ] 200
[2026-10-20 07:07:45,455.455 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:07:45,496.496 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:07:45,546.546 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:07:45,549.549 INFO    ] No camera update needed
[2026-10-20 07:07:45,551.551 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:07:45,554.554 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:07:45,559.559 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:07:45,564.564 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:07:47,605.605 INFO    ] ================================================
[2026-10-20 07:07:47,621.621 INFO    ] Launching Daemon at Tue Oct 20 07:07:47 IST 2026
[2026-10-20 07:07:47,632.632 INFO    ] ================================================
[2026-10-20 07:07:48,220.220 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:07:48
[2026-10-20 07:07:48,827.827 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:07:49,104.104 INFO    ] Initializing speech engine...
[2026-10-20 07:07:49,110.110 INFO    ] 2026-10-20 07:07:49
[2026-10-20 07:07:49,370.370 INFO    ] 2026-10-20 07:07:49
[2026-10-20 07:07:49,400.400 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:07:49,645.645 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:07:49,655.655 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:07:49,867.867 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:07:49,915.915 INFO    ] time= 20/10/2026 07:07:49
[2026-10-20 07:07:49,921.921 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:07:49,938.938 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:07:50,071.071 INFO    ] No existing commands found in stream
[2026-10-20 07:07:55,093.093 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:07:55,096.096 INFO    ] Waiting 0.14 seconds before fallback handling...
[2026-10-20 07:07:55,744.744 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:07:55,747.747 INFO    ] Checking for system updates...
[2026-10-20 07:07:55,784.784 INFO    ] 200
[2026-10-20 07:07:55,787.787 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:07:55,839.839 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:07:55,842.842 INFO    ] No update needed
[2026-10-20 07:07:55,845.845 INFO    ] Checking for camera pi updates...
[2026-10-20 07:07:55,879.879 INFO    ] 200
[2026-10-20 07:07:55,881.881 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:07:55,922.922 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:07:55,970.970 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:07:55,973.973 INFO    ] No camera update needed
[2026-10-20 07:07:55,975.975 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:07:55,977.977 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:07:55,983.983 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:07:55,988.988 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:07:58,027.027 INFO    ] ================================================
[2026-10-20 07:07:58,042.042 INFO    ] Launching Daemon at Tue Oct 20 07:07:58 IST 2026
[2026-10-20 07:07:58,053.053 INFO    ] ================================================
[2026-10-20 07:07:58,619.619 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:07:58
[2026-10-20 07:07:59,204.204 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:07:59,466.466 INFO    ] Initializing speech engine...
[2026-10-20 07:07:59,484.484 INFO    ] 2026-10-20 07:07:59
[2026-10-20 07:07:59,734.734 INFO    ] 2026-10-20 07:07:59
[2026-10-20 07:07:59,769.769 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:08:00,023.023 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:08:00,032.032 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:08:00,237.237 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:08:00,292.292 INFO    ] time= 20/10/2026 07:08:00
[2026-10-20 07:08:00,300.300 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:08:00,315.315 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:08:00,449.449 INFO    ] No existing commands found in stream
[2026-10-20 07:08:05,461.461 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:08:05,464.464 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-10-20 07:08:09,423.423 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:08:09,426.426 INFO    ] Checking for system updates...
[2026-10-20 07:08:09,461.461 INFO    ] 200
[2026-10-20 07:08:09,463.463 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:08:09,516.516 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:08:09,518.518 INFO    ] No update needed
[2026-10-20 07:08:09,521.521 INFO    ] Checking for camera pi updates...
[2026-10-20 07:08:09,554.554 INFO    ] 200
[2026-10-20 07:08:09,557.557 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:08:09,597.597 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:08:09,744.744 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:08:09,746.746 INFO    ] No camera update needed
[2026-10-20 07:08:09,749.749 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:08:09,751.751 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:08:09,756.756 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:08:09,761.761 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:08:11,802.802 INFO    ] ================================================
[2026-10-20 07:08:11,818.818 INFO    ] Launching Daemon at Tue Oct 20 07:08:11 IST 2026
[2026-10-20 07:08:11,829.829 INFO    ] ================================================
[2026-10-20 07:08:12,401.401 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:08:12
[2026-10-20 07:08:12,989.989 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:08:13,240.240 INFO    ] Initializing speech engine...
[2026-10-20 07:08:13,263.263 INFO    ] 2026-10-20 07:08:13
[2026-10-20 07:08:13,517.517 INFO    ] 2026-10-20 07:08:13
[2026-10-20 07:08:13,553.553 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:08:13,751.751 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:08:13,753.753 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:08:13,950.950 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:08:13,972.972 INFO    ] time= 20/10/2026 07:08:13
[2026-10-20 07:08:14,026.026 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:08:14,080.080 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:08:14,233.233 INFO    ] No existing commands found in stream
[2026-10-20 07:08:19,244.244 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:08:19,247.247 INFO    ] Waiting 2.81 seconds before fallback handling...
[2026-10-20 07:08:22,575.575 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:08:22,577.577 INFO    ] Checking for system updates...
[2026-10-20 07:08:22,624.624 INFO    ] 200
[2026-10-20 07:08:22,626.626 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:08:22,679.679 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:08:22,681.681 INFO    ] No update needed
[2026-10-20 07:08:22,684.684 INFO    ] Checking for camera pi updates...
[2026-10-20 07:08:22,717.717 INFO    ] 200
[2026-10-20 07:08:22,719.719 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:08:22,764.764 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:08:22,813.813 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:08:22,815.815 INFO    ] No camera update needed
[2026-10-20 07:08:22,817.817 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:08:22,820.820 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:08:22,825.825 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:08:22,830.830 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:08:24,870.870 INFO    ] ================================================
[2026-10-20 07:08:24,886.886 INFO    ] Launching Daemon at Tue Oct 20 07:08:24 IST 2026
[2026-10-20 07:08:24,897.897 INFO    ] ================================================
[2026-10-20 07:08:25,480.480 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:08:25
[2026-10-20 07:08:26,066.066 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:08:26,320.320 INFO    ] Initializing speech engine...
[2026-10-20 07:08:26,330.330 INFO    ] 2026-10-20 07:08:26
[2026-10-20 07:08:26,624.624 INFO    ] 2026-10-20 07:08:26
[2026-10-20 07:08:26,659.659 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:08:26,821.821 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:08:26,843.843 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:08:27,002.002 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:08:27,010.010 INFO    ] time= 20/10/2026 07:08:27
[2026-10-20 07:08:27,030.030 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:08:27,051.051 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:08:27,136.136 INFO    ] No existing commands found in stream
[2026-10-20 07:08:32,151.151 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:08:32,154.154 INFO    ] Waiting 3.15 seconds before fallback handling...
[2026-10-20 07:08:35,792.792 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:08:35,794.794 INFO    ] Checking for system updates...
[2026-10-20 07:08:35,829.829 INFO    ] 200
[2026-10-20 07:08:35,832.832 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:08:35,885.885 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:08:35,887.887 INFO    ] No update needed
[2026-10-20 07:08:35,890.890 INFO    ] Checking for camera pi updates...
[2026-10-20 07:08:35,923.923 INFO    ] 200
[2026-10-20 07:08:35,925.925 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:08:35,965.965 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:08:36,012.012 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:08:36,015.015 INFO    ] No camera update needed
[2026-10-20 07:08:36,017.017 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:08:36,019.019 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:08:36,025.025 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:08:36,030.030 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:08:38,070.070 INFO    ] ================================================
[2026-10-20 07:08:38,086.086 INFO    ] Launching Daemon at Tue Oct 20 07:08:38 IST 2026
[2026-10-20 07:08:38,097.097 INFO    ] ================================================
[2026-10-20 07:08:38,683.683 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:08:38
[2026-10-20 07:08:39,288.288 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:08:39,565.565 INFO    ] Initializing speech engine...
[2026-10-20 07:08:39,571.571 INFO    ] 2026-10-20 07:08:39
[2026-10-20 07:08:39,830.830 INFO    ] 2026-10-20 07:08:39
[2026-10-20 07:08:39,864.864 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:08:40,111.111 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:08:40,120.120 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:08:40,325.325 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:08:40,379.379 INFO    ] time= 20/10/2026 07:08:40
[2026-10-20 07:08:40,386.386 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:08:40,403.403 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:08:40,536.536 INFO    ] No existing commands found in stream
[2026-10-20 07:08:45,551.551 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:08:45,553.553 INFO    ] Waiting 2.23 seconds before fallback handling...
[2026-10-20 07:08:48,271.271 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 07:08:48,273.273 INFO    ] Checking for system updates...
[2026-10-20 07:08:48,309.309 INFO    ] 200
[2026-10-20 07:08:48,311.311 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:08:48,363.363 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:08:48,365.365 INFO    ] No update needed
[2026-10-20 07:08:48,368.368 INFO    ] Checking for camera pi updates...
[2026-10-20 07:08:48,401.401 INFO    ] 200
[2026-10-20 07:08:48,404.404 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:08:48,445.445 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:08:48,491.491 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:08:48,493.493 INFO    ] No camera update needed
[2026-10-20 07:08:48,496.496 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:08:48,498.498 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:08:48,504.504 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:08:48,509.509 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:08:50,551.551 INFO    ] ================================================
[2026-10-20 07:08:50,566.566 INFO    ] Launching Daemon at Tue Oct 20 07:08:50 IST 2026
[2026-10-20 07:08:50,577.577 INFO    ] ================================================
[2026-10-20 07:08:51,145.145 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:08:51
[2026-10-20 07:08:51,728.728 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:08:51,977.977 INFO    ] Initializing speech engine...
[2026-10-20 07:08:51,982.982 INFO    ] 2026-10-20 07:08:51
[2026-10-20 07:08:52,283.283 INFO    ] 2026-10-20 07:08:52
[2026-10-20 07:08:52,319.319 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:08:52,531.531 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:08:52,552.552 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:08:52,697.697 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:08:52,705.705 INFO    ] time= 20/10/2026 07:08:52
[2026-10-20 07:08:52,709.709 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:08:52,715.715 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:08:52,817.817 INFO    ] No existing commands found in stream
[2026-10-20 07:08:57,842.842 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:08:57,845.845 INFO    ] Waiting 3.26 seconds before fallback handling...
[2026-10-20 07:09:01,637.637 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:09:01,648.648 INFO    ] Checking for system updates...
[2026-10-20 07:09:01,703.703 INFO    ] 200
[2026-10-20 07:09:01,707.707 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:09:01,784.784 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:09:01,787.787 INFO    ] No update needed
[2026-10-20 07:09:01,792.792 INFO    ] Checking for camera pi updates...
[2026-10-20 07:09:01,872.872 INFO    ] 200
[2026-10-20 07:09:01,876.876 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:09:01,967.967 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:09:02,010.010 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:09:02,013.013 INFO    ] No camera update needed
[2026-10-20 07:09:02,017.017 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:09:02,021.021 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:09:02,027.027 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:09:02,042.042 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:09:04,085.085 INFO    ] ================================================
[2026-10-20 07:09:04,101.101 INFO    ] Launching Daemon at Tue Oct 20 07:09:04 IST 2026
[2026-10-20 07:09:04,112.112 INFO    ] ================================================
[2026-10-20 07:09:04,691.691 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:09:04
[2026-10-20 07:09:05,290.290 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:09:05,551.551 INFO    ] Initializing speech engine...
[2026-10-20 07:09:05,567.567 INFO    ] 2026-10-20 07:09:05
[2026-10-20 07:09:05,854.854 INFO    ] 2026-10-20 07:09:05
[2026-10-20 07:09:05,891.891 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:09:06,115.115 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:09:06,180.180 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:09:06,339.339 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:09:06,395.395 INFO    ] time= 20/10/2026 07:09:06
[2026-10-20 07:09:06,449.449 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:09:06,486.486 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:09:06,617.617 INFO    ] No existing commands found in stream
[2026-10-20 07:09:11,635.635 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:09:11,637.637 INFO    ] Waiting 2.60 seconds before fallback handling...
[2026-10-20 07:09:14,771.771 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:09:14,773.773 INFO    ] Checking for system updates...
[2026-10-20 07:09:14,812.812 INFO    ] 200
[2026-10-20 07:09:14,814.814 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:09:14,866.866 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:09:14,868.868 INFO    ] No update needed
[2026-10-20 07:09:14,871.871 INFO    ] Checking for camera pi updates...
[2026-10-20 07:09:14,905.905 INFO    ] 200
[2026-10-20 07:09:14,907.907 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:09:14,948.948 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:09:14,998.998 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:09:15,000.000 INFO    ] No camera update needed
[2026-10-20 07:09:15,003.003 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:09:15,005.005 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:09:15,010.010 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:09:15,015.015 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:09:17,055.055 INFO    ] ================================================
[2026-10-20 07:09:17,071.071 INFO    ] Launching Daemon at Tue Oct 20 07:09:17 IST 2026
[2026-10-20 07:09:17,082.082 INFO    ] ================================================
[2026-10-20 07:09:17,725.725 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:09:17
[2026-10-20 07:09:18,336.336 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:09:18,585.585 INFO    ] Initializing speech engine...
[2026-10-20 07:09:18,600.600 INFO    ] 2026-10-20 07:09:18
[2026-10-20 07:09:18,867.867 INFO    ] 2026-10-20 07:09:18
[2026-10-20 07:09:18,902.902 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:09:19,160.160 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:09:19,169.169 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:09:19,391.391 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:09:19,435.435 INFO    ] time= 20/10/2026 07:09:19
[2026-10-20 07:09:19,441.441 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:09:19,460.460 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:09:19,590.590 INFO    ] No existing commands found in stream
[2026-10-20 07:09:24,601.601 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:09:24,604.604 INFO    ] Waiting 3.52 seconds before fallback handling...
[2026-10-20 07:09:28,595.595 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 07:09:28,597.597 INFO    ] Checking for system updates...
[2026-10-20 07:09:28,632.632 INFO    ] 200
[2026-10-20 07:09:28,635.635 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:09:28,693.693 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:09:28,695.695 INFO    ] No update needed
[2026-10-20 07:09:28,697.697 INFO    ] Checking for camera pi updates...
[2026-10-20 07:09:28,731.731 INFO    ] 200
[2026-10-20 07:09:28,734.734 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:09:28,774.774 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:09:28,820.820 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:09:28,823.823 INFO    ] No camera update needed
[2026-10-20 07:09:28,825.825 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:09:28,827.827 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:09:28,833.833 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:09:28,838.838 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:09:30,880.880 INFO    ] ================================================
[2026-10-20 07:09:30,895.895 INFO    ] Launching Daemon at Tue Oct 20 07:09:30 IST 2026
[2026-10-20 07:09:30,906.906 INFO    ] ================================================
[2026-10-20 07:09:31,470.470 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:09:31
[2026-10-20 07:09:32,088.088 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:09:32,358.358 INFO    ] Initializing speech engine...
[2026-10-20 07:09:32,382.382 INFO    ] 2026-10-20 07:09:32
[2026-10-20 07:09:32,650.650 INFO    ] 2026-10-20 07:09:32
[2026-10-20 07:09:32,687.687 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:09:32,966.966 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:09:32,981.981 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:09:33,149.149 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:09:33,214.214 INFO    ] time= 20/10/2026 07:09:33
[2026-10-20 07:09:33,248.248 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:09:33,289.289 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:09:33,455.455 INFO    ] No existing commands found in stream
[2026-10-20 07:09:38,471.471 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:09:38,474.474 INFO    ] Waiting 1.60 seconds before fallback handling...
[2026-10-20 07:09:40,553.553 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:09:40,556.556 INFO    ] Checking for system updates...
[2026-10-20 07:09:40,595.595 INFO    ] 200
[2026-10-20 07:09:40,597.597 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:09:40,656.656 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:09:40,658.658 INFO    ] No update needed
[2026-10-20 07:09:40,661.661 INFO    ] Checking for camera pi updates...
[2026-10-20 07:09:40,694.694 INFO    ] 200
[2026-10-20 07:09:40,696.696 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:09:40,741.741 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:09:40,788.788 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:09:40,791.791 INFO    ] No camera update needed
[2026-10-20 07:09:40,793.793 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:09:40,795.795 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:09:40,801.801 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:09:40,806.806 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:09:42,847.847 INFO    ] ================================================
[2026-10-20 07:09:42,862.862 INFO    ] Launching Daemon at Tue Oct 20 07:09:42 IST 2026
[2026-10-20 07:09:42,873.873 INFO    ] ================================================
[2026-10-20 07:09:43,455.455 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:09:43
[2026-10-20 07:09:44,055.055 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:09:44,319.319 INFO    ] Initializing speech engine...
[2026-10-20 07:09:44,335.335 INFO    ] 2026-10-20 07:09:44
[2026-10-20 07:09:44,621.621 INFO    ] 2026-10-20 07:09:44
[2026-10-20 07:09:44,659.659 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:09:44,888.888 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:09:44,922.922 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:09:45,114.114 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:09:45,120.120 INFO    ] time= 20/10/2026 07:09:45
[2026-10-20 07:09:45,190.190 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:09:45,245.245 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:09:45,402.402 INFO    ] No existing commands found in stream
[2026-10-20 07:09:50,428.428 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:09:50,431.431 INFO    ] Waiting 2.40 seconds before fallback handling...
[2026-10-20 07:09:53,376.376 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:09:53,379.379 INFO    ] Checking for system updates...
[2026-10-20 07:09:53,416.416 INFO    ] 200
[2026-10-20 07:09:53,419.419 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:09:53,478.478 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:09:53,482.482 INFO    ] No update needed
[2026-10-20 07:09:53,485.485 INFO    ] Checking for camera pi updates...
[2026-10-20 07:09:53,519.519 INFO    ] 200
[2026-10-20 07:09:53,522.522 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:09:53,563.563 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:09:53,613.613 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:09:53,615.615 INFO    ] No camera update needed
[2026-10-20 07:09:53,618.618 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:09:53,621.621 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:09:53,627.627 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:09:53,633.633 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:09:55,674.674 INFO    ] ================================================
[2026-10-20 07:09:55,690.690 INFO    ] Launching Daemon at Tue Oct 20 07:09:55 IST 2026
[2026-10-20 07:09:55,701.701 INFO    ] ================================================
[2026-10-20 07:09:56,270.270 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:09:56
[2026-10-20 07:09:56,855.855 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:09:57,125.125 INFO    ] Initializing speech engine...
[2026-10-20 07:09:57,134.134 INFO    ] 2026-10-20 07:09:57
[2026-10-20 07:09:57,386.386 INFO    ] 2026-10-20 07:09:57
[2026-10-20 07:09:57,422.422 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:09:57,673.673 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:09:57,682.682 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:09:57,889.889 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:09:57,939.939 INFO    ] time= 20/10/2026 07:09:57
[2026-10-20 07:09:57,946.946 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:09:57,964.964 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:09:58,096.096 INFO    ] No existing commands found in stream
[2026-10-20 07:10:03,110.110 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:10:03,114.114 INFO    ] Waiting 0.72 seconds before fallback handling...
[2026-10-20 07:10:05,234.234 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:10:05,237.237 INFO    ] Checking for system updates...
[2026-10-20 07:10:05,273.273 INFO    ] 200
[2026-10-20 07:10:05,275.275 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:10:05,335.335 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:10:05,337.337 INFO    ] No update needed
[2026-10-20 07:10:05,340.340 INFO    ] Checking for camera pi updates...
[2026-10-20 07:10:05,372.372 INFO    ] 200
[2026-10-20 07:10:05,375.375 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:10:05,415.415 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:10:05,446.446 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:10:05,448.448 INFO    ] No camera update needed
[2026-10-20 07:10:05,451.451 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:10:05,453.453 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:10:05,458.458 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:10:05,463.463 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:10:07,504.504 INFO    ] ================================================
[2026-10-20 07:10:07,520.520 INFO    ] Launching Daemon at Tue Oct 20 07:10:07 IST 2026
[2026-10-20 07:10:07,530.530 INFO    ] ================================================
[2026-10-20 07:10:08,096.096 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:10:08
[2026-10-20 07:10:08,677.677 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:10:08,930.930 INFO    ] Initializing speech engine...
[2026-10-20 07:10:08,946.946 INFO    ] 2026-10-20 07:10:08
[2026-10-20 07:10:09,222.222 INFO    ] 2026-10-20 07:10:09
[2026-10-20 07:10:09,256.256 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:10:09,524.524 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:10:09,543.543 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:10:09,691.691 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:10:09,761.761 INFO    ] time= 20/10/2026 07:10:09
[2026-10-20 07:10:09,805.805 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:10:09,833.833 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:10:09,992.992 INFO    ] No existing commands found in stream
[2026-10-20 07:10:15,008.008 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:10:15,011.011 INFO    ] Waiting 0.30 seconds before fallback handling...
[2026-10-20 07:10:15,826.826 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:10:15,829.829 INFO    ] Checking for system updates...
[2026-10-20 07:10:15,865.865 INFO    ] 200
[2026-10-20 07:10:15,868.868 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:10:15,920.920 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:10:15,922.922 INFO    ] No update needed
[2026-10-20 07:10:15,925.925 INFO    ] Checking for camera pi updates...
[2026-10-20 07:10:15,961.961 INFO    ] 200
[2026-10-20 07:10:15,964.964 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:10:16,003.003 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:10:16,154.154 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:10:16,157.157 INFO    ] No camera update needed
[2026-10-20 07:10:16,159.159 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:10:16,161.161 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:10:16,167.167 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:10:16,172.172 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:10:18,212.212 INFO    ] ================================================
[2026-10-20 07:10:18,227.227 INFO    ] Launching Daemon at Tue Oct 20 07:10:18 IST 2026
[2026-10-20 07:10:18,238.238 INFO    ] ================================================
[2026-10-20 07:10:18,860.860 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:10:18
[2026-10-20 07:10:19,499.499 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:10:19,793.793 INFO    ] Initializing speech engine...
[2026-10-20 07:10:19,802.802 INFO    ] 2026-10-20 07:10:19
[2026-10-20 07:10:20,085.085 INFO    ] 2026-10-20 07:10:20
[2026-10-20 07:10:20,129.129 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:10:20,416.416 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:10:20,424.424 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:10:20,624.624 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:10:20,632.632 INFO    ] time= 20/10/2026 07:10:20
[2026-10-20 07:10:20,650.650 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:10:20,673.673 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:10:20,792.792 INFO    ] No existing commands found in stream
[2026-10-20 07:10:25,821.821 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:10:25,824.824 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-10-20 07:10:28,834.834 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:10:28,837.837 INFO    ] Checking for system updates...
[2026-10-20 07:10:28,875.875 INFO    ] 200
[2026-10-20 07:10:28,878.878 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:10:28,932.932 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:10:28,935.935 INFO    ] No update needed
[2026-10-20 07:10:28,938.938 INFO    ] Checking for camera pi updates...
[2026-10-20 07:10:28,972.972 INFO    ] 200
[2026-10-20 07:10:28,975.975 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:10:29,018.018 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:10:29,068.068 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:10:29,071.071 INFO    ] No camera update needed
[2026-10-20 07:10:29,073.073 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:10:29,075.075 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:10:29,081.081 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:10:29,085.085 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:10:31,125.125 INFO    ] ================================================
[2026-10-20 07:10:31,140.140 INFO    ] Launching Daemon at Tue Oct 20 07:10:31 IST 2026
[2026-10-20 07:10:31,151.151 INFO    ] ================================================
[2026-10-20 07:10:31,741.741 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:10:31
[2026-10-20 07:10:32,377.377 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:10:32,671.671 INFO    ] Initializing speech engine...
[2026-10-20 07:10:32,679.679 INFO    ] 2026-10-20 07:10:32
[2026-10-20 07:10:32,952.952 INFO    ] 2026-10-20 07:10:32
[2026-10-20 07:10:32,988.988 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:10:33,243.243 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:10:33,248.248 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:10:33,409.409 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:10:33,473.473 INFO    ] time= 20/10/2026 07:10:33
[2026-10-20 07:10:33,532.532 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:10:33,538.538 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:10:33,695.695 INFO    ] No existing commands found in stream
[2026-10-20 07:10:38,709.709 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:10:38,712.712 INFO    ] Waiting 3.36 seconds before fallback handling...
[2026-10-20 07:10:42,561.561 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 07:10:42,564.564 INFO    ] Checking for system updates...
[2026-10-20 07:10:42,601.601 INFO    ] 200
[2026-10-20 07:10:42,604.604 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:10:42,656.656 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:10:42,659.659 INFO    ] No update needed
[2026-10-20 07:10:42,661.661 INFO    ] Checking for camera pi updates...
[2026-10-20 07:10:42,697.697 INFO    ] 200
[2026-10-20 07:10:42,700.700 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:10:42,739.739 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:10:42,785.785 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:10:42,788.788 INFO    ] No camera update needed
[2026-10-20 07:10:42,790.790 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:10:42,793.793 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:10:42,798.798 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:10:42,803.803 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:10:44,843.843 INFO    ] ================================================
[2026-10-20 07:10:44,859.859 INFO    ] Launching Daemon at Tue Oct 20 07:10:44 IST 2026
[2026-10-20 07:10:44,870.870 INFO    ] ================================================
[2026-10-20 07:10:45,438.438 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:10:45
[2026-10-20 07:10:46,023.023 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:10:46,278.278 INFO    ] Initializing speech engine...
[2026-10-20 07:10:46,286.286 INFO    ] 2026-10-20 07:10:46
[2026-10-20 07:10:46,574.574 INFO    ] 2026-10-20 07:10:46
[2026-10-20 07:10:46,609.609 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:10:46,822.822 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:10:46,864.864 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:10:47,109.109 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:10:47,158.158 INFO    ] time= 20/10/2026 07:10:47
[2026-10-20 07:10:47,184.184 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:10:47,202.202 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:10:47,317.317 INFO    ] No existing commands found in stream
[2026-10-20 07:10:52,347.347 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:10:52,350.350 INFO    ] Waiting 2.25 seconds before fallback handling...
[2026-10-20 07:10:55,113.113 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:10:55,116.116 INFO    ] Checking for system updates...
[2026-10-20 07:10:55,152.152 INFO    ] 200
[2026-10-20 07:10:55,155.155 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:10:55,207.207 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:10:55,210.210 INFO    ] No update needed
[2026-10-20 07:10:55,213.213 INFO    ] Checking for camera pi updates...
[2026-10-20 07:10:55,247.247 INFO    ] 200
[2026-10-20 07:10:55,250.250 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:10:55,290.290 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:10:55,340.340 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:10:55,342.342 INFO    ] No camera update needed
[2026-10-20 07:10:55,345.345 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:10:55,347.347 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:10:55,353.353 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:10:55,359.359 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:10:57,399.399 INFO    ] ================================================
[2026-10-20 07:10:57,415.415 INFO    ] Launching Daemon at Tue Oct 20 07:10:57 IST 2026
[2026-10-20 07:10:57,426.426 INFO    ] ================================================
[2026-10-20 07:10:57,994.994 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:10:57
[2026-10-20 07:10:58,579.579 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:10:58,848.848 INFO    ] Initializing speech engine...
[2026-10-20 07:10:58,857.857 INFO    ] 2026-10-20 07:10:58
[2026-10-20 07:10:59,104.104 INFO    ] 2026-10-20 07:10:59
[2026-10-20 07:10:59,138.138 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:10:59,339.339 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:10:59,397.397 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:10:59,540.540 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:10:59,574.574 INFO    ] time= 20/10/2026 07:10:59
[2026-10-20 07:10:59,623.623 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:10:59,673.673 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:10:59,821.821 INFO    ] No existing commands found in stream
[2026-10-20 07:11:04,835.835 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:11:04,838.838 INFO    ] Waiting 0.95 seconds before fallback handling...
[2026-10-20 07:11:06,326.326 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:11:06,329.329 INFO    ] Checking for system updates...
[2026-10-20 07:11:06,364.364 INFO    ] 200
[2026-10-20 07:11:06,367.367 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:11:06,419.419 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:11:06,422.422 INFO    ] No update needed
[2026-10-20 07:11:06,424.424 INFO    ] Checking for camera pi updates...
[2026-10-20 07:11:06,461.461 INFO    ] 200
[2026-10-20 07:11:06,463.463 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:11:06,507.507 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:11:06,556.556 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:11:06,558.558 INFO    ] No camera update needed
[2026-10-20 07:11:06,561.561 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:11:06,563.563 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:11:06,568.568 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:11:06,573.573 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:11:08,613.613 INFO    ] ================================================
[2026-10-20 07:11:08,629.629 INFO    ] Launching Daemon at Tue Oct 20 07:11:08 IST 2026
[2026-10-20 07:11:08,640.640 INFO    ] ================================================
[2026-10-20 07:11:09,206.206 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:11:09
[2026-10-20 07:11:09,789.789 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:11:10,057.057 INFO    ] Initializing speech engine...
[2026-10-20 07:11:10,066.066 INFO    ] 2026-10-20 07:11:10
[2026-10-20 07:11:10,318.318 INFO    ] 2026-10-20 07:11:10
[2026-10-20 07:11:10,353.353 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:11:10,610.610 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:11:10,619.619 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:11:10,762.762 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:11:10,821.821 INFO    ] time= 20/10/2026 07:11:10
[2026-10-20 07:11:10,870.870 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:11:10,889.889 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:11:11,041.041 INFO    ] No existing commands found in stream
[2026-10-20 07:11:16,060.060 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:11:16,063.063 INFO    ] Waiting 3.48 seconds before fallback handling...
[2026-10-20 07:11:20,027.027 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 07:11:20,030.030 INFO    ] Checking for system updates...
[2026-10-20 07:11:20,065.065 INFO    ] 200
[2026-10-20 07:11:20,068.068 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:11:20,125.125 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:11:20,128.128 INFO    ] No update needed
[2026-10-20 07:11:20,130.130 INFO    ] Checking for camera pi updates...
[2026-10-20 07:11:20,164.164 INFO    ] 200
[2026-10-20 07:11:20,166.166 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:11:20,207.207 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:11:20,257.257 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:11:20,259.259 INFO    ] No camera update needed
[2026-10-20 07:11:20,262.262 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:11:20,264.264 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:11:20,269.269 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:11:20,274.274 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:11:22,316.316 INFO    ] ================================================
[2026-10-20 07:11:22,332.332 INFO    ] Launching Daemon at Tue Oct 20 07:11:22 IST 2026
[2026-10-20 07:11:22,343.343 INFO    ] ================================================
[2026-10-20 07:11:22,927.927 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:11:22
[2026-10-20 07:11:23,532.532 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:11:23,810.810 INFO    ] Initializing speech engine...
[2026-10-20 07:11:23,815.815 INFO    ] 2026-10-20 07:11:23
[2026-10-20 07:11:24,070.070 INFO    ] 2026-10-20 07:11:24
[2026-10-20 07:11:24,105.105 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:11:24,350.350 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:11:24,359.359 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:11:24,498.498 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:11:24,558.558 INFO    ] time= 20/10/2026 07:11:24
[2026-10-20 07:11:24,607.607 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:11:24,623.623 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:11:24,766.766 INFO    ] No existing commands found in stream
[2026-10-20 07:11:29,782.782 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:11:29,785.785 INFO    ] Waiting 1.62 seconds before fallback handling...
[2026-10-20 07:11:31,962.962 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:11:31,965.965 INFO    ] Checking for system updates...
[2026-10-20 07:11:32,004.004 INFO    ] 200
[2026-10-20 07:11:32,007.007 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:11:32,069.069 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:11:32,072.072 INFO    ] No update needed
[2026-10-20 07:11:32,076.076 INFO    ] Checking for camera pi updates...
[2026-10-20 07:11:32,116.116 INFO    ] 200
[2026-10-20 07:11:32,120.120 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:11:32,165.165 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:11:32,200.200 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:11:32,203.203 INFO    ] No camera update needed
[2026-10-20 07:11:32,206.206 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:11:32,210.210 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:11:32,218.218 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:11:32,224.224 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:11:34,269.269 INFO    ] ================================================
[2026-10-20 07:11:34,285.285 INFO    ] Launching Daemon at Tue Oct 20 07:11:34 IST 2026
[2026-10-20 07:11:34,297.297 INFO    ] ================================================
[2026-10-20 07:11:34,895.895 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:11:34
[2026-10-20 07:11:35,525.525 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:11:35,786.786 INFO    ] Initializing speech engine...
[2026-10-20 07:11:35,799.799 INFO    ] 2026-10-20 07:11:35
[2026-10-20 07:11:36,082.082 INFO    ] 2026-10-20 07:11:36
[2026-10-20 07:11:36,121.121 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:11:36,341.341 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:11:36,353.353 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:11:36,562.562 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:11:36,576.576 INFO    ] time= 20/10/2026 07:11:36
[2026-10-20 07:11:36,630.630 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:11:36,679.679 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:11:36,777.777 INFO    ] No existing commands found in stream
[2026-10-20 07:11:41,789.789 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:11:41,792.792 INFO    ] Waiting 1.23 seconds before fallback handling...
[2026-10-20 07:11:43,563.563 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 07:11:43,567.567 INFO    ] Checking for system updates...
[2026-10-20 07:11:43,607.607 INFO    ] 200
[2026-10-20 07:11:43,610.610 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:11:43,669.669 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:11:43,672.672 INFO    ] No update needed
[2026-10-20 07:11:43,674.674 INFO    ] Checking for camera pi updates...
[2026-10-20 07:11:43,709.709 INFO    ] 200
[2026-10-20 07:11:43,712.712 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:11:43,756.756 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:11:43,807.807 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:11:43,810.810 INFO    ] No camera update needed
[2026-10-20 07:11:43,812.812 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:11:43,815.815 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:11:43,821.821 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:11:43,827.827 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:11:45,866.866 INFO    ] ================================================
[2026-10-20 07:11:45,881.881 INFO    ] Launching Daemon at Tue Oct 20 07:11:45 IST 2026
[2026-10-20 07:11:45,893.893 INFO    ] ================================================
[2026-10-20 07:11:46,460.460 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:11:46
[2026-10-20 07:11:47,042.042 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:11:47,296.296 INFO    ] Initializing speech engine...
[2026-10-20 07:11:47,311.311 INFO    ] 2026-10-20 07:11:47
[2026-10-20 07:11:47,592.592 INFO    ] 2026-10-20 07:11:47
[2026-10-20 07:11:47,629.629 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:11:47,848.848 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:11:47,857.857 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:11:48,071.071 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:11:48,080.080 INFO    ] time= 20/10/2026 07:11:48
[2026-10-20 07:11:48,125.125 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:11:48,164.164 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:11:48,282.282 INFO    ] No existing commands found in stream
[2026-10-20 07:11:53,294.294 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:11:53,296.296 INFO    ] Waiting 3.80 seconds before fallback handling...
[2026-10-20 07:11:57,569.569 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:11:57,572.572 INFO    ] Checking for system updates...
[2026-10-20 07:11:57,608.608 INFO    ] 200
[2026-10-20 07:11:57,611.611 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:11:57,662.662 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:11:57,664.664 INFO    ] No update needed
[2026-10-20 07:11:57,667.667 INFO    ] Checking for camera pi updates...
[2026-10-20 07:11:57,700.700 INFO    ] 200
[2026-10-20 07:11:57,702.702 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:11:57,744.744 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:11:57,792.792 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:11:57,794.794 INFO    ] No camera update needed
[2026-10-20 07:11:57,797.797 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:11:57,799.799 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:11:57,804.804 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:11:57,809.809 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:11:59,849.849 INFO    ] ================================================
[2026-10-20 07:11:59,864.864 INFO    ] Launching Daemon at Tue Oct 20 07:11:59 IST 2026
[2026-10-20 07:11:59,878.878 INFO    ] ================================================
[2026-10-20 07:12:00,523.523 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:12:00
[2026-10-20 07:12:01,188.188 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:12:01,493.493 INFO    ] Initializing speech engine...
[2026-10-20 07:12:01,503.503 INFO    ] 2026-10-20 07:12:01
[2026-10-20 07:12:01,810.810 INFO    ] 2026-10-20 07:12:01
[2026-10-20 07:12:01,893.893 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:12:02,199.199 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:12:02,226.226 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:12:02,468.468 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:12:02,489.489 INFO    ] time= 20/10/2026 07:12:02
[2026-10-20 07:12:02,512.512 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:12:02,539.539 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:12:02,681.681 INFO    ] No existing commands found in stream
[2026-10-20 07:12:07,712.712 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:12:07,714.714 INFO    ] Waiting 1.85 seconds before fallback handling...
[2026-10-20 07:12:10,054.054 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:12:10,056.056 INFO    ] Checking for system updates...
[2026-10-20 07:12:10,092.092 INFO    ] 200
[2026-10-20 07:12:10,095.095 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:12:10,146.146 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:12:10,149.149 INFO    ] No update needed
[2026-10-20 07:12:10,151.151 INFO    ] Checking for camera pi updates...
[2026-10-20 07:12:10,185.185 INFO    ] 200
[2026-10-20 07:12:10,187.187 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:12:10,231.231 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:12:10,282.282 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:12:10,285.285 INFO    ] No camera update needed
[2026-10-20 07:12:10,287.287 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:12:10,289.289 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:12:10,295.295 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:12:10,306.306 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:12:12,346.346 INFO    ] ================================================
[2026-10-20 07:12:12,362.362 INFO    ] Launching Daemon at Tue Oct 20 07:12:12 IST 2026
[2026-10-20 07:12:12,373.373 INFO    ] ================================================
[2026-10-20 07:12:12,952.952 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:12:12
[2026-10-20 07:12:13,550.550 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:12:13,823.823 INFO    ] Initializing speech engine...
[2026-10-20 07:12:13,832.832 INFO    ] 2026-10-20 07:12:13
[2026-10-20 07:12:14,093.093 INFO    ] 2026-10-20 07:12:14
[2026-10-20 07:12:14,145.145 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:12:14,370.370 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:12:14,379.379 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:12:14,577.577 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:12:14,637.637 INFO    ] time= 20/10/2026 07:12:14
[2026-10-20 07:12:14,644.644 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:12:14,662.662 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:12:14,792.792 INFO    ] No existing commands found in stream
[2026-10-20 07:12:19,811.811 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:12:19,814.814 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-10-20 07:12:23,806.806 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:12:23,808.808 INFO    ] Checking for system updates...
[2026-10-20 07:12:23,844.844 INFO    ] 200
[2026-10-20 07:12:23,847.847 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:12:23,900.900 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:12:23,903.903 INFO    ] No update needed
[2026-10-20 07:12:23,905.905 INFO    ] Checking for camera pi updates...
[2026-10-20 07:12:23,940.940 INFO    ] 200
[2026-10-20 07:12:23,942.942 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:12:23,982.982 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:12:24,139.139 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:12:24,142.142 INFO    ] No camera update needed
[2026-10-20 07:12:24,144.144 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:12:24,146.146 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:12:24,152.152 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:12:24,157.157 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:12:26,198.198 INFO    ] ================================================
[2026-10-20 07:12:26,214.214 INFO    ] Launching Daemon at Tue Oct 20 07:12:26 IST 2026
[2026-10-20 07:12:26,224.224 INFO    ] ================================================
[2026-10-20 07:12:26,803.803 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:12:26
[2026-10-20 07:12:27,393.393 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:12:27,642.642 INFO    ] Initializing speech engine...
[2026-10-20 07:12:27,648.648 INFO    ] 2026-10-20 07:12:27
[2026-10-20 07:12:27,922.922 INFO    ] 2026-10-20 07:12:27
[2026-10-20 07:12:27,957.957 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:12:28,214.214 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:12:28,223.223 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:12:28,407.407 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:12:28,461.461 INFO    ] time= 20/10/2026 07:12:28
[2026-10-20 07:12:28,493.493 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:12:28,508.508 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:12:28,641.641 INFO    ] No existing commands found in stream
[2026-10-20 07:12:33,655.655 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:12:33,658.658 INFO    ] Waiting 0.42 seconds before fallback handling...
[2026-10-20 07:12:34,570.570 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 07:12:34,572.572 INFO    ] Checking for system updates...
[2026-10-20 07:12:34,607.607 INFO    ] 200
[2026-10-20 07:12:34,610.610 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:12:34,662.662 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:12:34,665.665 INFO    ] No update needed
[2026-10-20 07:12:34,667.667 INFO    ] Checking for camera pi updates...
[2026-10-20 07:12:34,700.700 INFO    ] 200
[2026-10-20 07:12:34,702.702 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:12:34,742.742 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:12:34,791.791 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:12:34,793.793 INFO    ] No camera update needed
[2026-10-20 07:12:34,796.796 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:12:34,798.798 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:12:34,803.803 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:12:34,808.808 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:12:36,849.849 INFO    ] ================================================
[2026-10-20 07:12:36,865.865 INFO    ] Launching Daemon at Tue Oct 20 07:12:36 IST 2026
[2026-10-20 07:12:36,876.876 INFO    ] ================================================
[2026-10-20 07:12:37,457.457 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:12:37
[2026-10-20 07:12:38,056.056 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:12:38,313.313 INFO    ] Initializing speech engine...
[2026-10-20 07:12:38,322.322 INFO    ] 2026-10-20 07:12:38
[2026-10-20 07:12:38,616.616 INFO    ] 2026-10-20 07:12:38
[2026-10-20 07:12:38,654.654 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:12:38,881.881 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:12:38,947.947 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:12:39,103.103 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:12:39,135.135 INFO    ] time= 20/10/2026 07:12:39
[2026-10-20 07:12:39,190.190 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:12:39,244.244 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:12:39,385.385 INFO    ] No existing commands found in stream
[2026-10-20 07:12:44,403.403 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:12:44,406.406 INFO    ] Waiting 0.42 seconds before fallback handling...
[2026-10-20 07:12:45,268.268 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:12:45,271.271 INFO    ] Checking for system updates...
[2026-10-20 07:12:45,307.307 INFO    ] 200
[2026-10-20 07:12:45,310.310 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:12:45,362.362 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:12:45,365.365 INFO    ] No update needed
[2026-10-20 07:12:45,367.367 INFO    ] Checking for camera pi updates...
[2026-10-20 07:12:45,401.401 INFO    ] 200
[2026-10-20 07:12:45,403.403 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:12:45,448.448 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:12:45,502.502 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:12:45,504.504 INFO    ] No camera update needed
[2026-10-20 07:12:45,506.506 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:12:45,509.509 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:12:45,514.514 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:12:45,519.519 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:12:47,559.559 INFO    ] ================================================
[2026-10-20 07:12:47,575.575 INFO    ] Launching Daemon at Tue Oct 20 07:12:47 IST 2026
[2026-10-20 07:12:47,586.586 INFO    ] ================================================
[2026-10-20 07:12:48,169.169 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:12:48
[2026-10-20 07:12:48,764.764 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:12:49,040.040 INFO    ] Initializing speech engine...
[2026-10-20 07:12:49,061.061 INFO    ] 2026-10-20 07:12:49
[2026-10-20 07:12:49,327.327 INFO    ] 2026-10-20 07:12:49
[2026-10-20 07:12:49,364.364 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:12:49,559.559 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:12:49,572.572 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:12:49,731.731 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:12:49,740.740 INFO    ] time= 20/10/2026 07:12:49
[2026-10-20 07:12:49,746.746 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:12:49,789.789 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:12:49,937.937 INFO    ] No existing commands found in stream
[2026-10-20 07:12:54,967.967 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:12:54,970.970 INFO    ] Waiting 0.72 seconds before fallback handling...
[2026-10-20 07:12:56,206.206 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:12:56,209.209 INFO    ] Checking for system updates...
[2026-10-20 07:12:56,244.244 INFO    ] 200
[2026-10-20 07:12:56,247.247 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:12:56,299.299 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:12:56,302.302 INFO    ] No update needed
[2026-10-20 07:12:56,304.304 INFO    ] Checking for camera pi updates...
[2026-10-20 07:12:56,338.338 INFO    ] 200
[2026-10-20 07:12:56,340.340 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:12:56,381.381 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:12:56,424.424 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:12:56,427.427 INFO    ] No camera update needed
[2026-10-20 07:12:56,429.429 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:12:56,432.432 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:12:56,437.437 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:12:56,442.442 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:12:58,481.481 INFO    ] ================================================
[2026-10-20 07:12:58,497.497 INFO    ] Launching Daemon at Tue Oct 20 07:12:58 IST 2026
[2026-10-20 07:12:58,508.508 INFO    ] ================================================
[2026-10-20 07:12:59,090.090 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:12:59
[2026-10-20 07:12:59,686.686 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:12:59,965.965 INFO    ] Initializing speech engine...
[2026-10-20 07:12:59,972.972 INFO    ] 2026-10-20 07:12:59
[2026-10-20 07:13:00,221.221 INFO    ] 2026-10-20 07:13:00
[2026-10-20 07:13:00,263.263 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:13:00,507.507 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:13:00,517.517 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:13:00,741.741 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:13:00,773.773 INFO    ] time= 20/10/2026 07:13:00
[2026-10-20 07:13:00,779.779 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:13:00,800.800 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:13:00,925.925 INFO    ] No existing commands found in stream
[2026-10-20 07:13:05,941.941 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:13:05,943.943 INFO    ] Waiting 3.22 seconds before fallback handling...
[2026-10-20 07:13:09,652.652 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:13:09,655.655 INFO    ] Checking for system updates...
[2026-10-20 07:13:09,690.690 INFO    ] 200
[2026-10-20 07:13:09,693.693 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:13:09,744.744 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:13:09,746.746 INFO    ] No update needed
[2026-10-20 07:13:09,749.749 INFO    ] Checking for camera pi updates...
[2026-10-20 07:13:09,782.782 INFO    ] 200
[2026-10-20 07:13:09,784.784 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:13:09,825.825 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:13:09,877.877 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:13:09,880.880 INFO    ] No camera update needed
[2026-10-20 07:13:09,883.883 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:13:09,885.885 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:13:09,890.890 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:13:09,895.895 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:13:11,939.939 INFO    ] ================================================
[2026-10-20 07:13:11,955.955 INFO    ] Launching Daemon at Tue Oct 20 07:13:11 IST 2026
[2026-10-20 07:13:11,966.966 INFO    ] ================================================
[2026-10-20 07:13:12,541.541 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:13:12
[2026-10-20 07:13:13,131.131 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:13:13,427.427 INFO    ] Initializing speech engine...
[2026-10-20 07:13:13,433.433 INFO    ] 2026-10-20 07:13:13
[2026-10-20 07:13:13,694.694 INFO    ] 2026-10-20 07:13:13
[2026-10-20 07:13:13,803.803 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:13:14,019.019 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:13:14,024.024 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:13:14,216.216 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:13:14,227.227 INFO    ] time= 20/10/2026 07:13:14
[2026-10-20 07:13:14,233.233 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:13:14,250.250 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:13:14,384.384 INFO    ] No existing commands found in stream
[2026-10-20 07:13:19,397.397 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:13:19,400.400 INFO    ] Waiting 3.74 seconds before fallback handling...
[2026-10-20 07:13:23,609.609 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:13:23,612.612 INFO    ] Checking for system updates...
[2026-10-20 07:13:23,647.647 INFO    ] 200
[2026-10-20 07:13:23,650.650 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:13:23,704.704 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:13:23,706.706 INFO    ] No update needed
[2026-10-20 07:13:23,709.709 INFO    ] Checking for camera pi updates...
[2026-10-20 07:13:23,742.742 INFO    ] 200
[2026-10-20 07:13:23,744.744 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:13:23,788.788 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:13:23,833.833 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:13:23,835.835 INFO    ] No camera update needed
[2026-10-20 07:13:23,838.838 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:13:23,840.840 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:13:23,845.845 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:13:23,850.850 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:13:25,894.894 INFO    ] ================================================
[2026-10-20 07:13:25,909.909 INFO    ] Launching Daemon at Tue Oct 20 07:13:25 IST 2026
[2026-10-20 07:13:25,920.920 INFO    ] ================================================
[2026-10-20 07:13:26,578.578 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:13:26
[2026-10-20 07:13:27,161.161 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:13:27,434.434 INFO    ] Initializing speech engine...
[2026-10-20 07:13:27,443.443 INFO    ] 2026-10-20 07:13:27
[2026-10-20 07:13:27,689.689 INFO    ] 2026-10-20 07:13:27
[2026-10-20 07:13:27,725.725 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:13:27,920.920 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:13:27,936.936 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:13:28,100.100 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:13:28,106.106 INFO    ] time= 20/10/2026 07:13:28
[2026-10-20 07:13:28,112.112 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:13:28,118.118 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:13:28,265.265 INFO    ] No existing commands found in stream
[2026-10-20 07:13:33,290.290 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:13:33,296.296 INFO    ] Waiting 1.22 seconds before fallback handling...
[2026-10-20 07:13:35,008.008 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:13:35,011.011 INFO    ] Checking for system updates...
[2026-10-20 07:13:35,046.046 INFO    ] 200
[2026-10-20 07:13:35,049.049 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:13:35,100.100 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:13:35,103.103 INFO    ] No update needed
[2026-10-20 07:13:35,105.105 INFO    ] Checking for camera pi updates...
[2026-10-20 07:13:35,138.138 INFO    ] 200
[2026-10-20 07:13:35,141.141 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:13:35,181.181 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:13:35,229.229 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:13:35,231.231 INFO    ] No camera update needed
[2026-10-20 07:13:35,234.234 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:13:35,236.236 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:13:35,242.242 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:13:35,247.247 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:13:37,286.286 INFO    ] ================================================
[2026-10-20 07:13:37,301.301 INFO    ] Launching Daemon at Tue Oct 20 07:13:37 IST 2026
[2026-10-20 07:13:37,316.316 INFO    ] ================================================
[2026-10-20 07:13:37,954.954 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:13:37
[2026-10-20 07:13:38,616.616 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:13:38,915.915 INFO    ] Initializing speech engine...
[2026-10-20 07:13:38,922.922 INFO    ] 2026-10-20 07:13:38
[2026-10-20 07:13:39,192.192 INFO    ] 2026-10-20 07:13:39
[2026-10-20 07:13:39,225.225 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:13:39,475.475 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:13:39,484.484 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:13:39,694.694 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:13:39,749.749 INFO    ] time= 20/10/2026 07:13:39
[2026-10-20 07:13:39,755.755 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:13:39,776.776 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:13:39,912.912 INFO    ] No existing commands found in stream
[2026-10-20 07:13:44,942.942 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:13:44,945.945 INFO    ] Waiting 2.69 seconds before fallback handling...
[2026-10-20 07:13:48,115.115 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:13:48,118.118 INFO    ] Checking for system updates...
[2026-10-20 07:13:48,158.158 INFO    ] 200
[2026-10-20 07:13:48,160.160 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:13:48,212.212 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:13:48,215.215 INFO    ] No update needed
[2026-10-20 07:13:48,217.217 INFO    ] Checking for camera pi updates...
[2026-10-20 07:13:48,250.250 INFO    ] 200
[2026-10-20 07:13:48,253.253 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:13:48,293.293 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:13:48,342.342 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:13:48,344.344 INFO    ] No camera update needed
[2026-10-20 07:13:48,346.346 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:13:48,349.349 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:13:48,354.354 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:13:48,359.359 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:13:50,400.400 INFO    ] ================================================
[2026-10-20 07:13:50,415.415 INFO    ] Launching Daemon at Tue Oct 20 07:13:50 IST 2026
[2026-10-20 07:13:50,426.426 INFO    ] ================================================
[2026-10-20 07:13:51,064.064 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:13:51
[2026-10-20 07:13:51,722.722 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:13:52,018.018 INFO    ] Initializing speech engine...
[2026-10-20 07:13:52,029.029 INFO    ] 2026-10-20 07:13:52
[2026-10-20 07:13:52,304.304 INFO    ] 2026-10-20 07:13:52
[2026-10-20 07:13:52,363.363 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:13:52,596.596 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:13:52,601.601 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:13:52,816.816 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:13:52,869.869 INFO    ] time= 20/10/2026 07:13:52
[2026-10-20 07:13:52,875.875 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:13:52,898.898 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:13:53,036.036 INFO    ] No existing commands found in stream
[2026-10-20 07:13:58,063.063 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:13:58,066.066 INFO    ] Waiting 2.36 seconds before fallback handling...
[2026-10-20 07:14:00,948.948 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:14:00,951.951 INFO    ] Checking for system updates...
[2026-10-20 07:14:00,988.988 INFO    ] 200
[2026-10-20 07:14:00,991.991 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:14:01,043.043 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:14:01,046.046 INFO    ] No update needed
[2026-10-20 07:14:01,049.049 INFO    ] Checking for camera pi updates...
[2026-10-20 07:14:01,083.083 INFO    ] 200
[2026-10-20 07:14:01,086.086 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:14:01,127.127 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:14:01,173.173 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:14:01,175.175 INFO    ] No camera update needed
[2026-10-20 07:14:01,178.178 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:14:01,181.181 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:14:01,187.187 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:14:01,193.193 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:14:03,243.243 INFO    ] ================================================
[2026-10-20 07:14:03,267.267 INFO    ] Launching Daemon at Tue Oct 20 07:14:03 IST 2026
[2026-10-20 07:14:03,292.292 INFO    ] ================================================
[2026-10-20 07:14:04,011.011 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:14:04
[2026-10-20 07:14:04,611.611 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:14:04,888.888 INFO    ] Initializing speech engine...
[2026-10-20 07:14:04,895.895 INFO    ] 2026-10-20 07:14:04
[2026-10-20 07:14:05,142.142 INFO    ] 2026-10-20 07:14:05
[2026-10-20 07:14:05,177.177 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:14:05,375.375 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:14:05,432.432 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:14:05,570.570 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:14:05,617.617 INFO    ] time= 20/10/2026 07:14:05
[2026-10-20 07:14:05,672.672 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:14:05,703.703 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:14:05,822.822 INFO    ] No existing commands found in stream
[2026-10-20 07:14:10,853.853 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:14:10,855.855 INFO    ] Waiting 2.07 seconds before fallback handling...
[2026-10-20 07:14:13,419.419 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:14:13,422.422 INFO    ] Checking for system updates...
[2026-10-20 07:14:13,458.458 INFO    ] 200
[2026-10-20 07:14:13,460.460 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:14:13,512.512 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:14:13,514.514 INFO    ] No update needed
[2026-10-20 07:14:13,517.517 INFO    ] Checking for camera pi updates...
[2026-10-20 07:14:13,550.550 INFO    ] 200
[2026-10-20 07:14:13,552.552 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:14:13,593.593 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:14:13,626.626 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:14:13,629.629 INFO    ] No camera update needed
[2026-10-20 07:14:13,631.631 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:14:13,633.633 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:14:13,639.639 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:14:13,644.644 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:14:15,684.684 INFO    ] ================================================
[2026-10-20 07:14:15,700.700 INFO    ] Launching Daemon at Tue Oct 20 07:14:15 IST 2026
[2026-10-20 07:14:15,712.712 INFO    ] ================================================
[2026-10-20 07:14:16,278.278 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:14:16
[2026-10-20 07:14:16,929.929 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:14:17,229.229 INFO    ] Initializing speech engine...
[2026-10-20 07:14:17,243.243 INFO    ] 2026-10-20 07:14:17
[2026-10-20 07:14:17,520.520 INFO    ] 2026-10-20 07:14:17
[2026-10-20 07:14:17,565.565 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:14:17,815.815 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:14:17,822.822 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:14:18,015.015 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:14:18,064.064 INFO    ] time= 20/10/2026 07:14:18
[2026-10-20 07:14:18,071.071 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:14:18,092.092 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:14:18,227.227 INFO    ] No existing commands found in stream
[2026-10-20 07:14:23,257.257 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:14:23,260.260 INFO    ] Waiting 2.69 seconds before fallback handling...
[2026-10-20 07:14:26,491.491 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:14:26,494.494 INFO    ] Checking for system updates...
[2026-10-20 07:14:26,530.530 INFO    ] 200
[2026-10-20 07:14:26,533.533 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:14:26,585.585 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:14:26,588.588 INFO    ] No update needed
[2026-10-20 07:14:26,591.591 INFO    ] Checking for camera pi updates...
[2026-10-20 07:14:26,625.625 INFO    ] 200
[2026-10-20 07:14:26,628.628 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:14:26,668.668 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:14:26,813.813 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:14:26,816.816 INFO    ] No camera update needed
[2026-10-20 07:14:26,819.819 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:14:26,822.822 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:14:26,828.828 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:14:26,833.833 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:14:28,874.874 INFO    ] ================================================
[2026-10-20 07:14:28,890.890 INFO    ] Launching Daemon at Tue Oct 20 07:14:28 IST 2026
[2026-10-20 07:14:28,902.902 INFO    ] ================================================
[2026-10-20 07:14:29,470.470 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:14:29
[2026-10-20 07:14:30,055.055 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:14:30,325.325 INFO    ] Initializing speech engine...
[2026-10-20 07:14:30,347.347 INFO    ] 2026-10-20 07:14:30
[2026-10-20 07:14:30,611.611 INFO    ] 2026-10-20 07:14:30
[2026-10-20 07:14:30,646.646 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:14:30,851.851 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:14:30,871.871 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:14:31,013.013 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:14:31,021.021 INFO    ] time= 20/10/2026 07:14:31
[2026-10-20 07:14:31,029.029 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:14:31,056.056 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:14:31,196.196 INFO    ] No existing commands found in stream
[2026-10-20 07:14:36,221.221 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:14:36,224.224 INFO    ] Waiting 2.96 seconds before fallback handling...
[2026-10-20 07:14:39,715.715 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:14:39,718.718 INFO    ] Checking for system updates...
[2026-10-20 07:14:39,753.753 INFO    ] 200
[2026-10-20 07:14:39,755.755 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:14:39,808.808 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:14:39,811.811 INFO    ] No update needed
[2026-10-20 07:14:39,813.813 INFO    ] Checking for camera pi updates...
[2026-10-20 07:14:39,846.846 INFO    ] 200
[2026-10-20 07:14:39,849.849 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:14:39,900.900 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:14:39,949.949 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:14:39,951.951 INFO    ] No camera update needed
[2026-10-20 07:14:39,954.954 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:14:39,956.956 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:14:39,961.961 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:14:39,966.966 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:14:42,006.006 INFO    ] ================================================
[2026-10-20 07:14:42,022.022 INFO    ] Launching Daemon at Tue Oct 20 07:14:42 IST 2026
[2026-10-20 07:14:42,033.033 INFO    ] ================================================
[2026-10-20 07:14:42,597.597 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:14:42
[2026-10-20 07:14:43,180.180 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:14:43,451.451 INFO    ] Initializing speech engine...
[2026-10-20 07:14:43,461.461 INFO    ] 2026-10-20 07:14:43
[2026-10-20 07:14:43,719.719 INFO    ] 2026-10-20 07:14:43
[2026-10-20 07:14:43,753.753 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:14:44,004.004 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:14:44,013.013 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:14:44,207.207 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:14:44,261.261 INFO    ] time= 20/10/2026 07:14:44
[2026-10-20 07:14:44,281.281 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:14:44,287.287 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:14:44,436.436 INFO    ] No existing commands found in stream
[2026-10-20 07:14:49,453.453 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:14:49,456.456 INFO    ] Waiting 3.32 seconds before fallback handling...
[2026-10-20 07:14:53,365.365 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 07:14:53,368.368 INFO    ] Checking for system updates...
[2026-10-20 07:14:53,405.405 INFO    ] 200
[2026-10-20 07:14:53,408.408 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:14:53,461.461 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:14:53,463.463 INFO    ] No update needed
[2026-10-20 07:14:53,466.466 INFO    ] Checking for camera pi updates...
[2026-10-20 07:14:53,500.500 INFO    ] 200
[2026-10-20 07:14:53,503.503 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:14:53,543.543 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:14:53,589.589 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:14:53,592.592 INFO    ] No camera update needed
[2026-10-20 07:14:53,594.594 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:14:53,597.597 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:14:53,603.603 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:14:53,609.609 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:14:55,650.650 INFO    ] ================================================
[2026-10-20 07:14:55,666.666 INFO    ] Launching Daemon at Tue Oct 20 07:14:55 IST 2026
[2026-10-20 07:14:55,677.677 INFO    ] ================================================
[2026-10-20 07:14:56,240.240 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:14:56
[2026-10-20 07:14:56,824.824 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:14:57,089.089 INFO    ] Initializing speech engine...
[2026-10-20 07:14:57,102.102 INFO    ] 2026-10-20 07:14:57
[2026-10-20 07:14:57,351.351 INFO    ] 2026-10-20 07:14:57
[2026-10-20 07:14:57,384.384 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:14:57,642.642 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:14:57,652.652 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:14:57,852.852 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:14:57,907.907 INFO    ] time= 20/10/2026 07:14:57
[2026-10-20 07:14:57,922.922 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:14:57,940.940 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:14:58,076.076 INFO    ] No existing commands found in stream
[2026-10-20 07:15:03,100.100 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:15:03,103.103 INFO    ] Waiting 1.17 seconds before fallback handling...
[2026-10-20 07:15:04,782.782 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:15:04,785.785 INFO    ] Checking for system updates...
[2026-10-20 07:15:04,822.822 INFO    ] 200
[2026-10-20 07:15:04,824.824 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:15:04,880.880 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:15:04,882.882 INFO    ] No update needed
[2026-10-20 07:15:04,884.884 INFO    ] Checking for camera pi updates...
[2026-10-20 07:15:04,917.917 INFO    ] 200
[2026-10-20 07:15:04,920.920 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:15:04,961.961 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:15:05,011.011 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:15:05,014.014 INFO    ] No camera update needed
[2026-10-20 07:15:05,016.016 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:15:05,018.018 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:15:05,024.024 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:15:05,029.029 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:15:07,071.071 INFO    ] ================================================
[2026-10-20 07:15:07,087.087 INFO    ] Launching Daemon at Tue Oct 20 07:15:07 IST 2026
[2026-10-20 07:15:07,098.098 INFO    ] ================================================
[2026-10-20 07:15:07,667.667 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:15:07
[2026-10-20 07:15:08,248.248 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:15:08,521.521 INFO    ] Initializing speech engine...
[2026-10-20 07:15:08,530.530 INFO    ] 2026-10-20 07:15:08
[2026-10-20 07:15:08,779.779 INFO    ] 2026-10-20 07:15:08
[2026-10-20 07:15:08,813.813 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:15:09,071.071 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:15:09,081.081 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:15:09,280.280 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:15:09,339.339 INFO    ] time= 20/10/2026 07:15:09
[2026-10-20 07:15:09,351.351 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:15:09,366.366 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:15:09,522.522 INFO    ] No existing commands found in stream
[2026-10-20 07:15:14,553.553 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:15:14,555.555 INFO    ] Waiting 1.13 seconds before fallback handling...
[2026-10-20 07:15:16,189.189 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:15:16,191.191 INFO    ] Checking for system updates...
[2026-10-20 07:15:16,231.231 INFO    ] 200
[2026-10-20 07:15:16,234.234 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:15:16,286.286 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:15:16,288.288 INFO    ] No update needed
[2026-10-20 07:15:16,291.291 INFO    ] Checking for camera pi updates...
[2026-10-20 07:15:16,328.328 INFO    ] 200
[2026-10-20 07:15:16,330.330 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:15:16,370.370 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:15:16,416.416 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:15:16,419.419 INFO    ] No camera update needed
[2026-10-20 07:15:16,421.421 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:15:16,423.423 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:15:16,429.429 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:15:16,434.434 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:15:18,475.475 INFO    ] ================================================
[2026-10-20 07:15:18,490.490 INFO    ] Launching Daemon at Tue Oct 20 07:15:18 IST 2026
[2026-10-20 07:15:18,502.502 INFO    ] ================================================
[2026-10-20 07:15:19,173.173 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:15:19
[2026-10-20 07:15:19,855.855 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:15:20,165.165 INFO    ] Initializing speech engine...
[2026-10-20 07:15:20,180.180 INFO    ] 2026-10-20 07:15:20
[2026-10-20 07:15:20,467.467 INFO    ] 2026-10-20 07:15:20
[2026-10-20 07:15:20,531.531 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:15:20,797.797 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:15:20,812.812 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:15:21,012.012 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:15:21,021.021 INFO    ] time= 20/10/2026 07:15:21
[2026-10-20 07:15:21,040.040 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:15:21,072.072 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:15:21,201.201 INFO    ] No existing commands found in stream
[2026-10-20 07:15:26,232.232 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:15:26,235.235 INFO    ] Waiting 0.14 seconds before fallback handling...
[2026-10-20 07:15:26,894.894 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:15:26,897.897 INFO    ] Checking for system updates...
[2026-10-20 07:15:26,934.934 INFO    ] 200
[2026-10-20 07:15:26,937.937 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:15:26,990.990 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:15:26,993.993 INFO    ] No update needed
[2026-10-20 07:15:26,995.995 INFO    ] Checking for camera pi updates...
[2026-10-20 07:15:27,035.035 INFO    ] 200
[2026-10-20 07:15:27,037.037 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:15:27,077.077 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:15:27,133.133 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:15:27,136.136 INFO    ] No camera update needed
[2026-10-20 07:15:27,138.138 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:15:27,140.140 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:15:27,146.146 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:15:27,151.151 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:15:29,192.192 INFO    ] ================================================
[2026-10-20 07:15:29,207.207 INFO    ] Launching Daemon at Tue Oct 20 07:15:29 IST 2026
[2026-10-20 07:15:29,219.219 INFO    ] ================================================
[2026-10-20 07:15:29,833.833 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:15:29
[2026-10-20 07:15:30,516.516 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:15:30,824.824 INFO    ] Initializing speech engine...
[2026-10-20 07:15:30,831.831 INFO    ] 2026-10-20 07:15:30
[2026-10-20 07:15:31,110.110 INFO    ] 2026-10-20 07:15:31
[2026-10-20 07:15:31,168.168 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:15:31,460.460 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:15:31,469.469 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:15:31,666.666 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:15:31,678.678 INFO    ] time= 20/10/2026 07:15:31
[2026-10-20 07:15:31,706.706 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:15:31,729.729 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:15:31,863.863 INFO    ] No existing commands found in stream
[2026-10-20 07:15:36,894.894 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:15:36,897.897 INFO    ] Waiting 1.38 seconds before fallback handling...
[2026-10-20 07:15:38,790.790 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 07:15:38,794.794 INFO    ] Checking for system updates...
[2026-10-20 07:15:38,831.831 INFO    ] 200
[2026-10-20 07:15:38,833.833 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:15:38,886.886 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:15:38,889.889 INFO    ] No update needed
[2026-10-20 07:15:38,892.892 INFO    ] Checking for camera pi updates...
[2026-10-20 07:15:38,926.926 INFO    ] 200
[2026-10-20 07:15:38,929.929 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:15:38,970.970 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:15:39,025.025 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:15:39,028.028 INFO    ] No camera update needed
[2026-10-20 07:15:39,031.031 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:15:39,033.033 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:15:39,040.040 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:15:39,046.046 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:15:41,088.088 INFO    ] ================================================
[2026-10-20 07:15:41,103.103 INFO    ] Launching Daemon at Tue Oct 20 07:15:41 IST 2026
[2026-10-20 07:15:41,114.114 INFO    ] ================================================
[2026-10-20 07:15:41,776.776 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:15:41
[2026-10-20 07:15:42,456.456 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:15:42,759.759 INFO    ] Initializing speech engine...
[2026-10-20 07:15:42,770.770 INFO    ] 2026-10-20 07:15:42
[2026-10-20 07:15:43,063.063 INFO    ] 2026-10-20 07:15:43
[2026-10-20 07:15:43,174.174 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:15:43,388.388 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:15:43,393.393 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:15:43,590.590 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:15:43,597.597 INFO    ] time= 20/10/2026 07:15:43
[2026-10-20 07:15:43,618.618 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:15:43,645.645 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:15:43,753.753 INFO    ] No existing commands found in stream
[2026-10-20 07:15:48,778.778 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:15:48,782.782 INFO    ] Waiting 1.83 seconds before fallback handling...
[2026-10-20 07:15:51,087.087 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:15:51,089.089 INFO    ] Checking for system updates...
[2026-10-20 07:15:51,125.125 INFO    ] 200
[2026-10-20 07:15:51,127.127 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:15:51,187.187 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:15:51,190.190 INFO    ] No update needed
[2026-10-20 07:15:51,192.192 INFO    ] Checking for camera pi updates...
[2026-10-20 07:15:51,225.225 INFO    ] 200
[2026-10-20 07:15:51,227.227 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:15:51,268.268 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:15:51,314.314 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:15:51,316.316 INFO    ] No camera update needed
[2026-10-20 07:15:51,318.318 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:15:51,321.321 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:15:51,326.326 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:15:51,331.331 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:15:53,372.372 INFO    ] ================================================
[2026-10-20 07:15:53,387.387 INFO    ] Launching Daemon at Tue Oct 20 07:15:53 IST 2026
[2026-10-20 07:15:53,399.399 INFO    ] ================================================
[2026-10-20 07:15:53,984.984 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:15:53
[2026-10-20 07:15:54,591.591 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:15:54,859.859 INFO    ] Initializing speech engine...
[2026-10-20 07:15:54,873.873 INFO    ] 2026-10-20 07:15:54
[2026-10-20 07:15:55,162.162 INFO    ] 2026-10-20 07:15:55
[2026-10-20 07:15:55,201.201 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:15:55,426.426 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:15:55,450.450 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:15:55,659.659 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:15:55,665.665 INFO    ] time= 20/10/2026 07:15:55
[2026-10-20 07:15:55,704.704 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:15:55,764.764 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:15:55,870.870 INFO    ] No existing commands found in stream
[2026-10-20 07:16:00,882.882 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:16:00,884.884 INFO    ] Waiting 1.82 seconds before fallback handling...
[2026-10-20 07:16:03,252.252 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:16:03,255.255 INFO    ] Checking for system updates...
[2026-10-20 07:16:03,292.292 INFO    ] 200
[2026-10-20 07:16:03,295.295 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:16:03,354.354 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:16:03,357.357 INFO    ] No update needed
[2026-10-20 07:16:03,360.360 INFO    ] Checking for camera pi updates...
[2026-10-20 07:16:03,398.398 INFO    ] 200
[2026-10-20 07:16:03,401.401 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:16:03,443.443 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:16:03,500.500 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:16:03,503.503 INFO    ] No camera update needed
[2026-10-20 07:16:03,506.506 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:16:03,508.508 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:16:03,515.515 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:16:03,521.521 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:16:05,562.562 INFO    ] ================================================
[2026-10-20 07:16:05,578.578 INFO    ] Launching Daemon at Tue Oct 20 07:16:05 IST 2026
[2026-10-20 07:16:05,589.589 INFO    ] ================================================
[2026-10-20 07:16:06,176.176 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:16:06
[2026-10-20 07:16:06,783.783 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:16:07,062.062 INFO    ] Initializing speech engine...
[2026-10-20 07:16:07,069.069 INFO    ] 2026-10-20 07:16:07
[2026-10-20 07:16:07,331.331 INFO    ] 2026-10-20 07:16:07
[2026-10-20 07:16:07,385.385 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:16:07,612.612 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:16:07,617.617 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:16:07,831.831 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:16:07,875.875 INFO    ] time= 20/10/2026 07:16:07
[2026-10-20 07:16:07,881.881 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:16:07,899.899 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:16:08,028.028 INFO    ] No existing commands found in stream
[2026-10-20 07:16:13,041.041 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:16:13,044.044 INFO    ] Waiting 1.10 seconds before fallback handling...
[2026-10-20 07:16:14,627.627 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 07:16:14,630.630 INFO    ] Checking for system updates...
[2026-10-20 07:16:14,666.666 INFO    ] 200
[2026-10-20 07:16:14,669.669 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:16:14,724.724 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:16:14,726.726 INFO    ] No update needed
[2026-10-20 07:16:14,730.730 INFO    ] Checking for camera pi updates...
[2026-10-20 07:16:14,771.771 INFO    ] 200
[2026-10-20 07:16:14,774.774 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:16:14,816.816 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:16:14,863.863 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:16:14,865.865 INFO    ] No camera update needed
[2026-10-20 07:16:14,868.868 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:16:14,871.871 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:16:14,878.878 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:16:14,885.885 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:16:16,929.929 INFO    ] ================================================
[2026-10-20 07:16:16,945.945 INFO    ] Launching Daemon at Tue Oct 20 07:16:16 IST 2026
[2026-10-20 07:16:16,956.956 INFO    ] ================================================
[2026-10-20 07:16:17,525.525 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:16:17
[2026-10-20 07:16:18,110.110 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:16:18,378.378 INFO    ] Initializing speech engine...
[2026-10-20 07:16:18,388.388 INFO    ] 2026-10-20 07:16:18
[2026-10-20 07:16:18,639.639 INFO    ] 2026-10-20 07:16:18
[2026-10-20 07:16:18,698.698 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:16:18,923.923 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:16:18,929.929 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:16:19,146.146 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:16:19,184.184 INFO    ] time= 20/10/2026 07:16:19
[2026-10-20 07:16:19,190.190 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:16:19,211.211 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:16:19,333.333 INFO    ] No existing commands found in stream
[2026-10-20 07:16:24,349.349 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:16:24,352.352 INFO    ] Waiting 2.28 seconds before fallback handling...
[2026-10-20 07:16:27,130.130 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:16:27,132.132 INFO    ] Checking for system updates...
[2026-10-20 07:16:27,172.172 INFO    ] 200
[2026-10-20 07:16:27,174.174 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:16:27,226.226 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:16:27,229.229 INFO    ] No update needed
[2026-10-20 07:16:27,231.231 INFO    ] Checking for camera pi updates...
[2026-10-20 07:16:27,265.265 INFO    ] 200
[2026-10-20 07:16:27,267.267 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:16:27,307.307 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:16:27,359.359 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:16:27,361.361 INFO    ] No camera update needed
[2026-10-20 07:16:27,364.364 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:16:27,366.366 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:16:27,371.371 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:16:27,376.376 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:16:29,418.418 INFO    ] ================================================
[2026-10-20 07:16:29,434.434 INFO    ] Launching Daemon at Tue Oct 20 07:16:29 IST 2026
[2026-10-20 07:16:29,446.446 INFO    ] ================================================
[2026-10-20 07:16:30,106.106 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:16:30
[2026-10-20 07:16:30,787.787 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:16:31,102.102 INFO    ] Initializing speech engine...
[2026-10-20 07:16:31,108.108 INFO    ] 2026-10-20 07:16:31
[2026-10-20 07:16:31,376.376 INFO    ] 2026-10-20 07:16:31
[2026-10-20 07:16:31,414.414 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:16:31,626.626 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:16:31,678.678 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:16:31,822.822 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:16:31,839.839 INFO    ] time= 20/10/2026 07:16:31
[2026-10-20 07:16:31,899.899 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:16:31,949.949 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:16:32,111.111 INFO    ] No existing commands found in stream
[2026-10-20 07:16:37,149.149 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:16:37,152.152 INFO    ] Waiting 1.95 seconds before fallback handling...
[2026-10-20 07:16:39,601.601 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:16:39,604.604 INFO    ] Checking for system updates...
[2026-10-20 07:16:39,639.639 INFO    ] 200
[2026-10-20 07:16:39,641.641 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:16:39,693.693 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:16:39,696.696 INFO    ] No update needed
[2026-10-20 07:16:39,698.698 INFO    ] Checking for camera pi updates...
[2026-10-20 07:16:39,731.731 INFO    ] 200
[2026-10-20 07:16:39,734.734 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:16:39,780.780 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:16:39,830.830 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:16:39,837.837 INFO    ] No camera update needed
[2026-10-20 07:16:39,840.840 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:16:39,843.843 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:16:39,850.850 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:16:39,857.857 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:16:41,900.900 INFO    ] ================================================
[2026-10-20 07:16:41,916.916 INFO    ] Launching Daemon at Tue Oct 20 07:16:41 IST 2026
[2026-10-20 07:16:41,927.927 INFO    ] ================================================
[2026-10-20 07:16:42,543.543 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:16:42
[2026-10-20 07:16:43,141.141 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:16:43,421.421 INFO    ] Initializing speech engine...
[2026-10-20 07:16:43,428.428 INFO    ] 2026-10-20 07:16:43
[2026-10-20 07:16:43,693.693 INFO    ] 2026-10-20 07:16:43
[2026-10-20 07:16:43,747.747 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:16:43,975.975 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:16:43,980.980 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:16:44,164.164 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:16:44,224.224 INFO    ] time= 20/10/2026 07:16:44
[2026-10-20 07:16:44,243.243 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:16:44,259.259 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:16:44,387.387 INFO    ] No existing commands found in stream
[2026-10-20 07:16:49,403.403 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:16:49,406.406 INFO    ] Waiting 1.19 seconds before fallback handling...
[2026-10-20 07:16:51,104.104 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:16:51,107.107 INFO    ] Checking for system updates...
[2026-10-20 07:16:51,142.142 INFO    ] 200
[2026-10-20 07:16:51,145.145 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:16:51,196.196 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:16:51,199.199 INFO    ] No update needed
[2026-10-20 07:16:51,201.201 INFO    ] Checking for camera pi updates...
[2026-10-20 07:16:51,236.236 INFO    ] 200
[2026-10-20 07:16:51,238.238 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:16:51,279.279 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:16:51,327.327 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:16:51,329.329 INFO    ] No camera update needed
[2026-10-20 07:16:51,332.332 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:16:51,334.334 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:16:51,340.340 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:16:51,345.345 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:16:53,385.385 INFO    ] ================================================
[2026-10-20 07:16:53,400.400 INFO    ] Launching Daemon at Tue Oct 20 07:16:53 IST 2026
[2026-10-20 07:16:53,411.411 INFO    ] ================================================
[2026-10-20 07:16:54,075.075 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:16:54
[2026-10-20 07:16:54,754.754 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:16:55,063.063 INFO    ] Initializing speech engine...
[2026-10-20 07:16:55,072.072 INFO    ] 2026-10-20 07:16:55
[2026-10-20 07:16:55,347.347 INFO    ] 2026-10-20 07:16:55
[2026-10-20 07:16:55,403.403 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:16:55,633.633 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:16:55,644.644 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:16:55,862.862 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:16:55,898.898 INFO    ] time= 20/10/2026 07:16:55
[2026-10-20 07:16:55,917.917 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:16:55,942.942 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:16:56,065.065 INFO    ] No existing commands found in stream
[2026-10-20 07:17:01,086.086 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:17:01,089.089 INFO    ] Waiting 0.66 seconds before fallback handling...
[2026-10-20 07:17:02,326.326 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:17:02,329.329 INFO    ] Checking for system updates...
[2026-10-20 07:17:02,370.370 INFO    ] 200
[2026-10-20 07:17:02,373.373 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:17:02,435.435 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:17:02,438.438 INFO    ] No update needed
[2026-10-20 07:17:02,441.441 INFO    ] Checking for camera pi updates...
[2026-10-20 07:17:02,481.481 INFO    ] 200
[2026-10-20 07:17:02,485.485 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:17:02,535.535 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:17:02,567.567 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:17:02,571.571 INFO    ] No camera update needed
[2026-10-20 07:17:02,575.575 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:17:02,579.579 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:17:02,588.588 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:17:02,595.595 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:17:04,637.637 INFO    ] ================================================
[2026-10-20 07:17:04,651.651 INFO    ] Launching Daemon at Tue Oct 20 07:17:04 IST 2026
[2026-10-20 07:17:04,662.662 INFO    ] ================================================
[2026-10-20 07:17:05,269.269 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:17:05
[2026-10-20 07:17:05,928.928 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:17:06,228.228 INFO    ] Initializing speech engine...
[2026-10-20 07:17:06,243.243 INFO    ] 2026-10-20 07:17:06
[2026-10-20 07:17:06,520.520 INFO    ] 2026-10-20 07:17:06
[2026-10-20 07:17:06,565.565 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:17:06,842.842 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:17:06,847.847 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:17:07,046.046 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:17:07,106.106 INFO    ] time= 20/10/2026 07:17:07
[2026-10-20 07:17:07,117.117 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:17:07,134.134 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:17:07,279.279 INFO    ] No existing commands found in stream
[2026-10-20 07:17:12,295.295 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:17:12,298.298 INFO    ] Waiting 3.97 seconds before fallback handling...
[2026-10-20 07:17:16,739.739 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:17:16,742.742 INFO    ] Checking for system updates...
[2026-10-20 07:17:16,777.777 INFO    ] 200
[2026-10-20 07:17:16,779.779 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:17:16,831.831 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:17:16,834.834 INFO    ] No update needed
[2026-10-20 07:17:16,836.836 INFO    ] Checking for camera pi updates...
[2026-10-20 07:17:16,869.869 INFO    ] 200
[2026-10-20 07:17:16,871.871 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:17:16,911.911 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:17:16,954.954 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:17:16,956.956 INFO    ] No camera update needed
[2026-10-20 07:17:16,959.959 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:17:16,961.961 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:17:16,966.966 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:17:16,971.971 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:17:19,011.011 INFO    ] ================================================
[2026-10-20 07:17:19,026.026 INFO    ] Launching Daemon at Tue Oct 20 07:17:19 IST 2026
[2026-10-20 07:17:19,037.037 INFO    ] ================================================
[2026-10-20 07:17:19,617.617 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:17:19
[2026-10-20 07:17:20,217.217 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:17:20,492.492 INFO    ] Initializing speech engine...
[2026-10-20 07:17:20,514.514 INFO    ] 2026-10-20 07:17:20
[2026-10-20 07:17:20,784.784 INFO    ] 2026-10-20 07:17:20
[2026-10-20 07:17:20,819.819 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:17:21,045.045 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:17:21,110.110 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:17:21,269.269 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:17:21,309.309 INFO    ] time= 20/10/2026 07:17:21
[2026-10-20 07:17:21,363.363 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:17:21,415.415 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:17:21,555.555 INFO    ] No existing commands found in stream
[2026-10-20 07:17:26,586.586 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:17:26,589.589 INFO    ] Waiting 4.00 seconds before fallback handling...
[2026-10-20 07:17:31,142.142 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:17:31,145.145 INFO    ] Checking for system updates...
[2026-10-20 07:17:31,180.180 INFO    ] 200
[2026-10-20 07:17:31,183.183 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:17:31,243.243 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:17:31,246.246 INFO    ] No update needed
[2026-10-20 07:17:31,248.248 INFO    ] Checking for camera pi updates...
[2026-10-20 07:17:31,281.281 INFO    ] 200
[2026-10-20 07:17:31,283.283 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:17:31,340.340 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:17:31,396.396 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:17:31,398.398 INFO    ] No camera update needed
[2026-10-20 07:17:31,401.401 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:17:31,403.403 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:17:31,410.410 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:17:31,416.416 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:17:33,457.457 INFO    ] ================================================
[2026-10-20 07:17:33,472.472 INFO    ] Launching Daemon at Tue Oct 20 07:17:33 IST 2026
[2026-10-20 07:17:33,483.483 INFO    ] ================================================
[2026-10-20 07:17:34,050.050 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:17:34
[2026-10-20 07:17:34,633.633 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:17:34,901.901 INFO    ] Initializing speech engine...
[2026-10-20 07:17:34,910.910 INFO    ] 2026-10-20 07:17:34
[2026-10-20 07:17:35,173.173 INFO    ] 2026-10-20 07:17:35
[2026-10-20 07:17:35,212.212 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:17:35,409.409 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:17:35,422.422 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:17:35,584.584 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:17:35,592.592 INFO    ] time= 20/10/2026 07:17:35
[2026-10-20 07:17:35,600.600 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:17:35,648.648 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:17:35,792.792 INFO    ] No existing commands found in stream
[2026-10-20 07:17:40,817.817 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:17:40,820.820 INFO    ] Waiting 1.97 seconds before fallback handling...
[2026-10-20 07:17:43,293.293 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 07:17:43,295.295 INFO    ] Checking for system updates...
[2026-10-20 07:17:43,331.331 INFO    ] 200
[2026-10-20 07:17:43,333.333 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:17:43,384.384 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:17:43,387.387 INFO    ] No update needed
[2026-10-20 07:17:43,389.389 INFO    ] Checking for camera pi updates...
[2026-10-20 07:17:43,422.422 INFO    ] 200
[2026-10-20 07:17:43,424.424 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:17:43,469.469 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:17:43,521.521 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:17:43,524.524 INFO    ] No camera update needed
[2026-10-20 07:17:43,526.526 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:17:43,528.528 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:17:43,534.534 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:17:43,538.538 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:17:45,580.580 INFO    ] ================================================
[2026-10-20 07:17:45,595.595 INFO    ] Launching Daemon at Tue Oct 20 07:17:45 IST 2026
[2026-10-20 07:17:45,606.606 INFO    ] ================================================
[2026-10-20 07:17:46,171.171 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:17:46
[2026-10-20 07:17:46,755.755 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:17:47,026.026 INFO    ] Initializing speech engine...
[2026-10-20 07:17:47,031.031 INFO    ] 2026-10-20 07:17:47
[2026-10-20 07:17:47,276.276 INFO    ] 2026-10-20 07:17:47
[2026-10-20 07:17:47,312.312 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:17:47,576.576 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:17:47,586.586 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:17:47,741.741 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:17:47,792.792 INFO    ] time= 20/10/2026 07:17:47
[2026-10-20 07:17:47,830.830 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:17:47,874.874 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:17:48,013.013 INFO    ] No existing commands found in stream
[2026-10-20 07:17:53,029.029 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:17:53,032.032 INFO    ] Waiting 3.55 seconds before fallback handling...
[2026-10-20 07:17:57,065.065 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:17:57,068.068 INFO    ] Checking for system updates...
[2026-10-20 07:17:57,103.103 INFO    ] 200
[2026-10-20 07:17:57,106.106 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:17:57,161.161 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:17:57,164.164 INFO    ] No update needed
[2026-10-20 07:17:57,166.166 INFO    ] Checking for camera pi updates...
[2026-10-20 07:17:57,203.203 INFO    ] 200
[2026-10-20 07:17:57,205.205 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:17:57,251.251 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:17:57,323.323 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:17:57,326.326 INFO    ] No camera update needed
[2026-10-20 07:17:57,328.328 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:17:57,331.331 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:17:57,336.336 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:17:57,341.341 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:17:59,380.380 INFO    ] ================================================
[2026-10-20 07:17:59,396.396 INFO    ] Launching Daemon at Tue Oct 20 07:17:59 IST 2026
[2026-10-20 07:17:59,407.407 INFO    ] ================================================
[2026-10-20 07:17:59,988.988 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:17:59
[2026-10-20 07:18:00,589.589 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:18:00,848.848 INFO    ] Initializing speech engine...
[2026-10-20 07:18:00,856.856 INFO    ] 2026-10-20 07:18:00
[2026-10-20 07:18:01,157.157 INFO    ] 2026-10-20 07:18:01
[2026-10-20 07:18:01,196.196 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:18:01,456.456 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:18:01,488.488 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:18:01,657.657 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:18:01,661.661 INFO    ] time= 20/10/2026 07:18:01
[2026-10-20 07:18:01,705.705 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:18:01,708.708 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:18:01,795.795 INFO    ] No existing commands found in stream
[2026-10-20 07:18:06,805.805 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:18:06,808.808 INFO    ] Waiting 3.81 seconds before fallback handling...
[2026-10-20 07:18:11,111.111 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 07:18:11,113.113 INFO    ] Checking for system updates...
[2026-10-20 07:18:11,149.149 INFO    ] 200
[2026-10-20 07:18:11,152.152 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:18:11,203.203 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:18:11,206.206 INFO    ] No update needed
[2026-10-20 07:18:11,209.209 INFO    ] Checking for camera pi updates...
[2026-10-20 07:18:11,242.242 INFO    ] 200
[2026-10-20 07:18:11,244.244 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:18:11,284.284 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:18:11,342.342 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:18:11,344.344 INFO    ] No camera update needed
[2026-10-20 07:18:11,346.346 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:18:11,349.349 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:18:11,354.354 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:18:11,359.359 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:18:13,399.399 INFO    ] ================================================
[2026-10-20 07:18:13,414.414 INFO    ] Launching Daemon at Tue Oct 20 07:18:13 IST 2026
[2026-10-20 07:18:13,425.425 INFO    ] ================================================
[2026-10-20 07:18:14,006.006 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:18:14
[2026-10-20 07:18:14,603.603 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:18:14,887.887 INFO    ] Initializing speech engine...
[2026-10-20 07:18:14,893.893 INFO    ] 2026-10-20 07:18:14
[2026-10-20 07:18:15,154.154 INFO    ] 2026-10-20 07:18:15
[2026-10-20 07:18:15,190.190 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:18:15,413.413 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:18:15,476.476 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:18:15,630.630 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:18:15,657.657 INFO    ] time= 20/10/2026 07:18:15
[2026-10-20 07:18:15,711.711 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:18:15,766.766 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:18:15,923.923 INFO    ] No existing commands found in stream
[2026-10-20 07:18:20,951.951 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:18:20,954.954 INFO    ] Waiting 1.32 seconds before fallback handling...
[2026-10-20 07:18:22,793.793 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:18:22,796.796 INFO    ] Checking for system updates...
[2026-10-20 07:18:22,834.834 INFO    ] 200
[2026-10-20 07:18:22,836.836 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:18:22,888.888 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:18:22,891.891 INFO    ] No update needed
[2026-10-20 07:18:22,894.894 INFO    ] Checking for camera pi updates...
[2026-10-20 07:18:22,927.927 INFO    ] 200
[2026-10-20 07:18:22,929.929 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:18:22,969.969 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:18:23,014.014 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:18:23,017.017 INFO    ] No camera update needed
[2026-10-20 07:18:23,019.019 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:18:23,022.022 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:18:23,027.027 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:18:23,032.032 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:18:25,071.071 INFO    ] ================================================
[2026-10-20 07:18:25,086.086 INFO    ] Launching Daemon at Tue Oct 20 07:18:25 IST 2026
[2026-10-20 07:18:25,097.097 INFO    ] ================================================
[2026-10-20 07:18:25,677.677 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:18:25
[2026-10-20 07:18:26,270.270 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:18:26,525.525 INFO    ] Initializing speech engine...
[2026-10-20 07:18:26,534.534 INFO    ] 2026-10-20 07:18:26
[2026-10-20 07:18:26,820.820 INFO    ] 2026-10-20 07:18:26
[2026-10-20 07:18:26,857.857 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:18:27,077.077 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:18:27,136.136 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:18:27,296.296 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:18:27,318.318 INFO    ] time= 20/10/2026 07:18:27
[2026-10-20 07:18:27,372.372 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:18:27,422.422 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:18:27,567.567 INFO    ] No existing commands found in stream
[2026-10-20 07:18:32,581.581 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:18:32,584.584 INFO    ] Waiting 1.89 seconds before fallback handling...
[2026-10-20 07:18:34,983.983 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:18:34,985.985 INFO    ] Checking for system updates...
[2026-10-20 07:18:35,021.021 INFO    ] 200
[2026-10-20 07:18:35,024.024 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:18:35,081.081 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:18:35,084.084 INFO    ] No update needed
[2026-10-20 07:18:35,086.086 INFO    ] Checking for camera pi updates...
[2026-10-20 07:18:35,123.123 INFO    ] 200
[2026-10-20 07:18:35,126.126 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:18:35,170.170 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:18:35,314.314 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:18:35,317.317 INFO    ] No camera update needed
[2026-10-20 07:18:35,320.320 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:18:35,323.323 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:18:35,329.329 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:18:35,334.334 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:18:37,374.374 INFO    ] ================================================
[2026-10-20 07:18:37,390.390 INFO    ] Launching Daemon at Tue Oct 20 07:18:37 IST 2026
[2026-10-20 07:18:37,401.401 INFO    ] ================================================
[2026-10-20 07:18:37,984.984 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:18:37
[2026-10-20 07:18:38,585.585 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:18:38,860.860 INFO    ] Initializing speech engine...
[2026-10-20 07:18:38,874.874 INFO    ] 2026-10-20 07:18:38
[2026-10-20 07:18:39,148.148 INFO    ] 2026-10-20 07:18:39
[2026-10-20 07:18:39,183.183 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:18:39,407.407 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:18:39,471.471 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:18:39,627.627 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:18:39,649.649 INFO    ] time= 20/10/2026 07:18:39
[2026-10-20 07:18:39,689.689 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:18:39,728.728 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:18:39,832.832 INFO    ] No existing commands found in stream
[2026-10-20 07:18:44,844.844 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:18:44,847.847 INFO    ] Waiting 1.71 seconds before fallback handling...
[2026-10-20 07:18:49,081.081 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:18:49,084.084 INFO    ] Checking for system updates...
[2026-10-20 07:18:49,120.120 INFO    ] 200
[2026-10-20 07:18:49,123.123 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:18:49,176.176 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:18:49,179.179 INFO    ] No update needed
[2026-10-20 07:18:49,182.182 INFO    ] Checking for camera pi updates...
[2026-10-20 07:18:49,217.217 INFO    ] 200
[2026-10-20 07:18:49,220.220 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:18:49,261.261 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:18:49,321.321 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:18:49,323.323 INFO    ] No camera update needed
[2026-10-20 07:18:49,326.326 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:18:49,329.329 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:18:49,335.335 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:18:49,340.340 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:18:51,381.381 INFO    ] ================================================
[2026-10-20 07:18:51,397.397 INFO    ] Launching Daemon at Tue Oct 20 07:18:51 IST 2026
[2026-10-20 07:18:51,407.407 INFO    ] ================================================
[2026-10-20 07:18:51,974.974 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:18:51
[2026-10-20 07:18:52,561.561 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:18:52,822.822 INFO    ] Initializing speech engine...
[2026-10-20 07:18:52,841.841 INFO    ] 2026-10-20 07:18:52
[2026-10-20 07:18:53,091.091 INFO    ] 2026-10-20 07:18:53
[2026-10-20 07:18:53,125.125 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:18:53,391.391 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:18:53,395.395 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:18:53,605.605 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:18:53,658.658 INFO    ] time= 20/10/2026 07:18:53
[2026-10-20 07:18:53,664.664 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:18:53,683.683 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:18:53,855.855 INFO    ] No existing commands found in stream
[2026-10-20 07:18:58,880.880 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:18:58,883.883 INFO    ] Waiting 2.33 seconds before fallback handling...
[2026-10-20 07:19:01,794.794 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:19:01,797.797 INFO    ] Checking for system updates...
[2026-10-20 07:19:01,837.837 INFO    ] 200
[2026-10-20 07:19:01,840.840 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:19:01,902.902 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:19:01,905.905 INFO    ] No update needed
[2026-10-20 07:19:01,907.907 INFO    ] Checking for camera pi updates...
[2026-10-20 07:19:01,945.945 INFO    ] 200
[2026-10-20 07:19:01,948.948 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:19:01,994.994 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:19:02,042.042 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:19:02,045.045 INFO    ] No camera update needed
[2026-10-20 07:19:02,049.049 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:19:02,052.052 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:19:02,062.062 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:19:02,077.077 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:19:04,121.121 INFO    ] ================================================
[2026-10-20 07:19:04,135.135 INFO    ] Launching Daemon at Tue Oct 20 07:19:04 IST 2026
[2026-10-20 07:19:04,146.146 INFO    ] ================================================
[2026-10-20 07:19:04,727.727 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:19:04
[2026-10-20 07:19:05,326.326 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:19:05,586.586 INFO    ] Initializing speech engine...
[2026-10-20 07:19:05,611.611 INFO    ] 2026-10-20 07:19:05
[2026-10-20 07:19:05,887.887 INFO    ] 2026-10-20 07:19:05
[2026-10-20 07:19:05,923.923 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:19:06,150.150 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:19:06,158.158 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:19:06,305.305 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:19:06,311.311 INFO    ] time= 20/10/2026 07:19:06
[2026-10-20 07:19:06,317.317 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:19:06,344.344 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:19:06,516.516 INFO    ] No existing commands found in stream
[2026-10-20 07:19:11,541.541 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:19:11,544.544 INFO    ] Waiting 1.32 seconds before fallback handling...
[2026-10-20 07:19:13,398.398 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:19:13,401.401 INFO    ] Checking for system updates...
[2026-10-20 07:19:13,441.441 INFO    ] 200
[2026-10-20 07:19:13,443.443 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:19:13,501.501 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:19:13,504.504 INFO    ] No update needed
[2026-10-20 07:19:13,506.506 INFO    ] Checking for camera pi updates...
[2026-10-20 07:19:13,543.543 INFO    ] 200
[2026-10-20 07:19:13,546.546 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:19:13,586.586 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:19:13,632.632 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:19:13,635.635 INFO    ] No camera update needed
[2026-10-20 07:19:13,637.637 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:19:13,640.640 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:19:13,645.645 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:19:13,650.650 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:19:15,690.690 INFO    ] ================================================
[2026-10-20 07:19:15,705.705 INFO    ] Launching Daemon at Tue Oct 20 07:19:15 IST 2026
[2026-10-20 07:19:15,715.715 INFO    ] ================================================
[2026-10-20 07:19:16,289.289 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:19:16
[2026-10-20 07:19:16,889.889 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:19:17,167.167 INFO    ] Initializing speech engine...
[2026-10-20 07:19:17,173.173 INFO    ] 2026-10-20 07:19:17
[2026-10-20 07:19:17,423.423 INFO    ] 2026-10-20 07:19:17
[2026-10-20 07:19:17,458.458 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:19:17,706.706 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:19:17,709.709 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:19:17,875.875 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:19:17,897.897 INFO    ] time= 20/10/2026 07:19:17
[2026-10-20 07:19:17,947.947 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:19:17,996.996 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:19:18,162.162 INFO    ] No existing commands found in stream
[2026-10-20 07:19:23,189.189 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:19:23,192.192 INFO    ] Waiting 2.20 seconds before fallback handling...
[2026-10-20 07:19:25,890.890 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:19:25,893.893 INFO    ] Checking for system updates...
[2026-10-20 07:19:25,929.929 INFO    ] 200
[2026-10-20 07:19:25,932.932 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:19:25,985.985 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:19:25,987.987 INFO    ] No update needed
[2026-10-20 07:19:25,990.990 INFO    ] Checking for camera pi updates...
[2026-10-20 07:19:26,024.024 INFO    ] 200
[2026-10-20 07:19:26,027.027 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:19:26,070.070 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:19:26,127.127 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:19:26,130.130 INFO    ] No camera update needed
[2026-10-20 07:19:26,132.132 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:19:26,134.134 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:19:26,140.140 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:19:26,145.145 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:19:28,185.185 INFO    ] ================================================
[2026-10-20 07:19:28,200.200 INFO    ] Launching Daemon at Tue Oct 20 07:19:28 IST 2026
[2026-10-20 07:19:28,211.211 INFO    ] ================================================
[2026-10-20 07:19:28,778.778 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:19:28
[2026-10-20 07:19:29,361.361 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:19:29,615.615 INFO    ] Initializing speech engine...
[2026-10-20 07:19:29,624.624 INFO    ] 2026-10-20 07:19:29
[2026-10-20 07:19:29,919.919 INFO    ] 2026-10-20 07:19:29
[2026-10-20 07:19:29,953.953 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:19:30,156.156 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:19:30,169.169 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:19:30,335.335 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:19:30,341.341 INFO    ] time= 20/10/2026 07:19:30
[2026-10-20 07:19:30,347.347 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:19:30,352.352 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:19:30,457.457 INFO    ] No existing commands found in stream
[2026-10-20 07:19:35,487.487 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:19:35,490.490 INFO    ] Waiting 1.71 seconds before fallback handling...
[2026-10-20 07:19:37,702.702 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:19:37,704.704 INFO    ] Checking for system updates...
[2026-10-20 07:19:37,743.743 INFO    ] 200
[2026-10-20 07:19:37,746.746 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:19:37,799.799 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:19:37,802.802 INFO    ] No update needed
[2026-10-20 07:19:37,804.804 INFO    ] Checking for camera pi updates...
[2026-10-20 07:19:37,840.840 INFO    ] 200
[2026-10-20 07:19:37,843.843 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:19:37,882.882 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:19:37,934.934 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:19:37,936.936 INFO    ] No camera update needed
[2026-10-20 07:19:37,939.939 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:19:37,941.941 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:19:37,946.946 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:19:37,951.951 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:19:39,991.991 INFO    ] ================================================
[2026-10-20 07:19:40,006.006 INFO    ] Launching Daemon at Tue Oct 20 07:19:40 IST 2026
[2026-10-20 07:19:40,016.016 INFO    ] ================================================
[2026-10-20 07:19:40,600.600 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:19:40
[2026-10-20 07:19:41,198.198 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:19:41,474.474 INFO    ] Initializing speech engine...
[2026-10-20 07:19:41,480.480 INFO    ] 2026-10-20 07:19:41
[2026-10-20 07:19:41,734.734 INFO    ] 2026-10-20 07:19:41
[2026-10-20 07:19:41,796.796 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:19:42,031.031 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:19:42,036.036 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:19:42,267.267 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:19:42,303.303 INFO    ] time= 20/10/2026 07:19:42
[2026-10-20 07:19:42,322.322 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:19:42,352.352 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:19:42,472.472 INFO    ] No existing commands found in stream
[2026-10-20 07:19:47,499.499 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:19:47,502.502 INFO    ] Waiting 1.53 seconds before fallback handling...
[2026-10-20 07:19:49,520.520 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:19:49,523.523 INFO    ] Checking for system updates...
[2026-10-20 07:19:49,559.559 INFO    ] 200
[2026-10-20 07:19:49,561.561 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:19:49,623.623 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:19:49,626.626 INFO    ] No update needed
[2026-10-20 07:19:49,628.628 INFO    ] Checking for camera pi updates...
[2026-10-20 07:19:49,666.666 INFO    ] 200
[2026-10-20 07:19:49,669.669 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:19:49,715.715 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:19:49,764.764 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:19:49,767.767 INFO    ] No camera update needed
[2026-10-20 07:19:49,770.770 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:19:49,773.773 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:19:49,780.780 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:19:49,786.786 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:19:51,828.828 INFO    ] ================================================
[2026-10-20 07:19:51,843.843 INFO    ] Launching Daemon at Tue Oct 20 07:19:51 IST 2026
[2026-10-20 07:19:51,854.854 INFO    ] ================================================
[2026-10-20 07:19:52,434.434 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:19:52
[2026-10-20 07:19:53,032.032 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:19:53,292.292 INFO    ] Initializing speech engine...
[2026-10-20 07:19:53,301.301 INFO    ] 2026-10-20 07:19:53
[2026-10-20 07:19:53,597.597 INFO    ] 2026-10-20 07:19:53
[2026-10-20 07:19:53,635.635 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:19:53,833.833 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:19:53,847.847 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:19:54,005.005 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:19:54,016.016 INFO    ] time= 20/10/2026 07:19:54
[2026-10-20 07:19:54,021.021 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:19:54,028.028 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:19:54,150.150 INFO    ] No existing commands found in stream
[2026-10-20 07:19:59,175.175 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:19:59,177.177 INFO    ] Waiting 3.64 seconds before fallback handling...
[2026-10-20 07:20:06,459.459 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:20:06,462.462 INFO    ] Checking for system updates...
[2026-10-20 07:20:06,498.498 INFO    ] 200
[2026-10-20 07:20:06,500.500 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:20:06,553.553 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:20:06,555.555 INFO    ] No update needed
[2026-10-20 07:20:06,557.557 INFO    ] Checking for camera pi updates...
[2026-10-20 07:20:06,595.595 INFO    ] 200
[2026-10-20 07:20:06,597.597 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:20:06,640.640 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:20:06,674.674 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:20:06,676.676 INFO    ] No camera update needed
[2026-10-20 07:20:06,679.679 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:20:06,681.681 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:20:06,687.687 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:20:06,692.692 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:20:08,734.734 INFO    ] ================================================
[2026-10-20 07:20:08,749.749 INFO    ] Launching Daemon at Tue Oct 20 07:20:08 IST 2026
[2026-10-20 07:20:08,760.760 INFO    ] ================================================
[2026-10-20 07:20:09,331.331 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:20:09
[2026-10-20 07:20:09,921.921 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:20:10,169.169 INFO    ] Initializing speech engine...
[2026-10-20 07:20:10,176.176 INFO    ] 2026-10-20 07:20:10
[2026-10-20 07:20:10,451.451 INFO    ] 2026-10-20 07:20:10
[2026-10-20 07:20:10,487.487 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:20:10,745.745 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:20:10,755.755 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:20:10,983.983 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:20:11,020.020 INFO    ] time= 20/10/2026 07:20:10
[2026-10-20 07:20:11,026.026 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:20:11,042.042 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:20:11,179.179 INFO    ] No existing commands found in stream
[2026-10-20 07:20:16,198.198 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:20:16,201.201 INFO    ] Waiting 3.24 seconds before fallback handling...
[2026-10-20 07:20:19,924.924 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:20:19,927.927 INFO    ] Checking for system updates...
[2026-10-20 07:20:19,963.963 INFO    ] 200
[2026-10-20 07:20:19,965.965 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:20:20,023.023 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:20:20,025.025 INFO    ] No update needed
[2026-10-20 07:20:20,027.027 INFO    ] Checking for camera pi updates...
[2026-10-20 07:20:20,060.060 INFO    ] 200
[2026-10-20 07:20:20,063.063 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:20:20,103.103 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:20:20,147.147 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:20:20,150.150 INFO    ] No camera update needed
[2026-10-20 07:20:20,153.153 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:20:20,155.155 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:20:20,160.160 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:20:20,165.165 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:20:22,206.206 INFO    ] ================================================
[2026-10-20 07:20:22,221.221 INFO    ] Launching Daemon at Tue Oct 20 07:20:22 IST 2026
[2026-10-20 07:20:22,232.232 INFO    ] ================================================
[2026-10-20 07:20:22,813.813 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:20:22
[2026-10-20 07:20:23,411.411 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:20:23,674.674 INFO    ] Initializing speech engine...
[2026-10-20 07:20:23,681.681 INFO    ] 2026-10-20 07:20:23
[2026-10-20 07:20:23,978.978 INFO    ] 2026-10-20 07:20:23
[2026-10-20 07:20:24,017.017 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:20:24,240.240 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:20:24,248.248 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:20:24,468.468 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:20:24,475.475 INFO    ] time= 20/10/2026 07:20:24
[2026-10-20 07:20:24,499.499 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:20:24,554.554 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:20:24,687.687 INFO    ] No existing commands found in stream
[2026-10-20 07:20:29,699.699 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:20:29,702.702 INFO    ] Waiting 0.01 seconds before fallback handling...
[2026-10-20 07:20:30,223.223 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:20:30,225.225 INFO    ] Checking for system updates...
[2026-10-20 07:20:30,261.261 INFO    ] 200
[2026-10-20 07:20:30,263.263 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:20:30,321.321 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:20:30,324.324 INFO    ] No update needed
[2026-10-20 07:20:30,326.326 INFO    ] Checking for camera pi updates...
[2026-10-20 07:20:30,360.360 INFO    ] 200
[2026-10-20 07:20:30,363.363 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:20:30,410.410 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:20:30,467.467 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:20:30,469.469 INFO    ] No camera update needed
[2026-10-20 07:20:30,472.472 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:20:30,474.474 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:20:30,479.479 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:20:30,484.484 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:20:32,527.527 INFO    ] ================================================
[2026-10-20 07:20:32,544.544 INFO    ] Launching Daemon at Tue Oct 20 07:20:32 IST 2026
[2026-10-20 07:20:32,556.556 INFO    ] ================================================
[2026-10-20 07:20:33,189.189 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:20:33
[2026-10-20 07:20:33,787.787 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:20:34,042.042 INFO    ] Initializing speech engine...
[2026-10-20 07:20:34,065.065 INFO    ] 2026-10-20 07:20:34
[2026-10-20 07:20:34,328.328 INFO    ] 2026-10-20 07:20:34
[2026-10-20 07:20:34,365.365 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:20:34,583.583 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:20:34,590.590 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:20:34,775.775 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:20:34,778.778 INFO    ] time= 20/10/2026 07:20:34
[2026-10-20 07:20:34,812.812 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:20:34,854.854 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:20:34,945.945 INFO    ] No existing commands found in stream
[2026-10-20 07:20:39,966.966 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:20:39,969.969 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-10-20 07:20:43,861.861 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:20:43,863.863 INFO    ] Checking for system updates...
[2026-10-20 07:20:43,899.899 INFO    ] 200
[2026-10-20 07:20:43,902.902 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:20:43,954.954 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:20:43,956.956 INFO    ] No update needed
[2026-10-20 07:20:43,958.958 INFO    ] Checking for camera pi updates...
[2026-10-20 07:20:43,992.992 INFO    ] 200
[2026-10-20 07:20:43,994.994 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:20:44,034.034 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:20:44,180.180 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:20:44,182.182 INFO    ] No camera update needed
[2026-10-20 07:20:44,185.185 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:20:44,187.187 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:20:44,193.193 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:20:44,198.198 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:20:46,239.239 INFO    ] ================================================
[2026-10-20 07:20:46,254.254 INFO    ] Launching Daemon at Tue Oct 20 07:20:46 IST 2026
[2026-10-20 07:20:46,266.266 INFO    ] ================================================
[2026-10-20 07:20:46,842.842 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:20:46
[2026-10-20 07:20:47,422.422 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:20:47,693.693 INFO    ] Initializing speech engine...
[2026-10-20 07:20:47,702.702 INFO    ] 2026-10-20 07:20:47
[2026-10-20 07:20:47,953.953 INFO    ] 2026-10-20 07:20:47
[2026-10-20 07:20:47,987.987 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:20:48,232.232 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:20:48,254.254 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:20:48,483.483 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:20:48,518.518 INFO    ] time= 20/10/2026 07:20:48
[2026-10-20 07:20:48,525.525 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:20:48,543.543 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:20:48,676.676 INFO    ] No existing commands found in stream
[2026-10-20 07:20:53,691.691 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:20:53,694.694 INFO    ] Waiting 1.52 seconds before fallback handling...
[2026-10-20 07:20:55,742.742 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:20:55,745.745 INFO    ] Checking for system updates...
[2026-10-20 07:20:55,781.781 INFO    ] 200
[2026-10-20 07:20:55,783.783 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:20:55,835.835 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:20:55,837.837 INFO    ] No update needed
[2026-10-20 07:20:55,840.840 INFO    ] Checking for camera pi updates...
[2026-10-20 07:20:55,873.873 INFO    ] 200
[2026-10-20 07:20:55,876.876 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:20:55,940.940 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:20:55,985.985 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:20:55,988.988 INFO    ] No camera update needed
[2026-10-20 07:20:55,991.991 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:20:55,993.993 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:20:56,000.000 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:20:56,005.005 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:20:58,048.048 INFO    ] ================================================
[2026-10-20 07:20:58,064.064 INFO    ] Launching Daemon at Tue Oct 20 07:20:58 IST 2026
[2026-10-20 07:20:58,075.075 INFO    ] ================================================
[2026-10-20 07:20:58,649.649 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:20:58
[2026-10-20 07:20:59,238.238 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:20:59,494.494 INFO    ] Initializing speech engine...
[2026-10-20 07:20:59,500.500 INFO    ] 2026-10-20 07:20:59
[2026-10-20 07:20:59,799.799 INFO    ] 2026-10-20 07:20:59
[2026-10-20 07:20:59,837.837 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:21:00,037.037 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:21:00,051.051 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:21:00,219.219 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:21:00,224.224 INFO    ] time= 20/10/2026 07:21:00
[2026-10-20 07:21:00,231.231 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:21:00,236.236 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:21:00,376.376 INFO    ] No existing commands found in stream
[2026-10-20 07:21:05,401.401 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:21:05,404.404 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-10-20 07:21:09,322.322 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:21:09,324.324 INFO    ] Checking for system updates...
[2026-10-20 07:21:09,360.360 INFO    ] 200
[2026-10-20 07:21:09,362.362 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:21:09,421.421 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:21:09,423.423 INFO    ] No update needed
[2026-10-20 07:21:09,430.430 INFO    ] Checking for camera pi updates...
[2026-10-20 07:21:09,464.464 INFO    ] 200
[2026-10-20 07:21:09,467.467 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:21:09,507.507 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:21:09,560.560 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:21:09,563.563 INFO    ] No camera update needed
[2026-10-20 07:21:09,566.566 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:21:09,568.568 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:21:09,574.574 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:21:09,579.579 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:21:11,619.619 INFO    ] ================================================
[2026-10-20 07:21:11,634.634 INFO    ] Launching Daemon at Tue Oct 20 07:21:11 IST 2026
[2026-10-20 07:21:11,644.644 INFO    ] ================================================
[2026-10-20 07:21:12,211.211 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:21:12
[2026-10-20 07:21:12,795.795 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:21:13,067.067 INFO    ] Initializing speech engine...
[2026-10-20 07:21:13,075.075 INFO    ] 2026-10-20 07:21:13
[2026-10-20 07:21:13,326.326 INFO    ] 2026-10-20 07:21:13
[2026-10-20 07:21:13,361.361 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:21:13,617.617 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:21:13,627.627 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:21:13,832.832 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:21:13,887.887 INFO    ] time= 20/10/2026 07:21:13
[2026-10-20 07:21:13,897.897 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:21:13,915.915 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:21:14,043.043 INFO    ] No existing commands found in stream
[2026-10-20 07:21:19,061.061 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:21:19,064.064 INFO    ] Waiting 3.40 seconds before fallback handling...
[2026-10-20 07:21:22,984.984 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:21:22,986.986 INFO    ] Checking for system updates...
[2026-10-20 07:21:23,021.021 INFO    ] 200
[2026-10-20 07:21:23,024.024 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:21:23,081.081 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:21:23,084.084 INFO    ] No update needed
[2026-10-20 07:21:23,086.086 INFO    ] Checking for camera pi updates...
[2026-10-20 07:21:23,119.119 INFO    ] 200
[2026-10-20 07:21:23,122.122 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:21:23,161.161 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:21:23,209.209 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:21:23,211.211 INFO    ] No camera update needed
[2026-10-20 07:21:23,214.214 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:21:23,216.216 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:21:23,221.221 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:21:23,226.226 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:21:25,267.267 INFO    ] ================================================
[2026-10-20 07:21:25,283.283 INFO    ] Launching Daemon at Tue Oct 20 07:21:25 IST 2026
[2026-10-20 07:21:25,293.293 INFO    ] ================================================
[2026-10-20 07:21:25,872.872 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:21:25
[2026-10-20 07:21:26,475.475 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:21:26,758.758 INFO    ] Initializing speech engine...
[2026-10-20 07:21:26,772.772 INFO    ] 2026-10-20 07:21:26
[2026-10-20 07:21:27,041.041 INFO    ] 2026-10-20 07:21:27
[2026-10-20 07:21:27,076.076 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:21:27,303.303 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:21:27,358.358 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:21:27,569.569 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:21:27,629.629 INFO    ] time= 20/10/2026 07:21:27
[2026-10-20 07:21:27,673.673 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:21:27,679.679 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:21:27,807.807 INFO    ] No existing commands found in stream
[2026-10-20 07:21:32,821.821 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:21:32,824.824 INFO    ] Waiting 2.74 seconds before fallback handling...
[2026-10-20 07:21:36,064.064 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:21:36,067.067 INFO    ] Checking for system updates...
[2026-10-20 07:21:36,116.116 INFO    ] 200
[2026-10-20 07:21:36,119.119 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:21:36,171.171 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:21:36,173.173 INFO    ] No update needed
[2026-10-20 07:21:36,176.176 INFO    ] Checking for camera pi updates...
[2026-10-20 07:21:36,209.209 INFO    ] 200
[2026-10-20 07:21:36,211.211 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:21:36,251.251 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:21:36,305.305 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:21:36,307.307 INFO    ] No camera update needed
[2026-10-20 07:21:36,310.310 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:21:36,313.313 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:21:36,318.318 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:21:36,323.323 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:21:38,363.363 INFO    ] ================================================
[2026-10-20 07:21:38,377.377 INFO    ] Launching Daemon at Tue Oct 20 07:21:38 IST 2026
[2026-10-20 07:21:38,389.389 INFO    ] ================================================
[2026-10-20 07:21:39,031.031 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:21:39
[2026-10-20 07:21:39,697.697 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:21:39,999.999 INFO    ] Initializing speech engine...
[2026-10-20 07:21:40,013.013 INFO    ] 2026-10-20 07:21:40
[2026-10-20 07:21:40,321.321 INFO    ] 2026-10-20 07:21:40
[2026-10-20 07:21:40,406.406 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:21:40,685.685 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:21:40,723.723 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:21:40,953.953 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:21:40,990.990 INFO    ] time= 20/10/2026 07:21:40
[2026-10-20 07:21:41,035.035 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:21:41,082.082 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:21:41,235.235 INFO    ] No existing commands found in stream
[2026-10-20 07:21:46,248.248 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:21:46,252.252 INFO    ] Waiting 2.65 seconds before fallback handling...
[2026-10-20 07:21:49,445.445 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:21:49,448.448 INFO    ] Checking for system updates...
[2026-10-20 07:21:49,489.489 INFO    ] 200
[2026-10-20 07:21:49,492.492 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:21:49,549.549 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:21:49,552.552 INFO    ] No update needed
[2026-10-20 07:21:49,555.555 INFO    ] Checking for camera pi updates...
[2026-10-20 07:21:49,592.592 INFO    ] 200
[2026-10-20 07:21:49,594.594 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:21:49,634.634 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:21:49,686.686 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:21:49,689.689 INFO    ] No camera update needed
[2026-10-20 07:21:49,691.691 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:21:49,693.693 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:21:49,699.699 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:21:49,704.704 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:21:51,743.743 INFO    ] ================================================
[2026-10-20 07:21:51,758.758 INFO    ] Launching Daemon at Tue Oct 20 07:21:51 IST 2026
[2026-10-20 07:21:51,768.768 INFO    ] ================================================
[2026-10-20 07:21:52,407.407 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:21:52
[2026-10-20 07:21:53,068.068 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:21:53,365.365 INFO    ] Initializing speech engine...
[2026-10-20 07:21:53,373.373 INFO    ] 2026-10-20 07:21:53
[2026-10-20 07:21:53,655.655 INFO    ] 2026-10-20 07:21:53
[2026-10-20 07:21:53,702.702 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:21:53,986.986 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:21:53,991.991 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:21:54,189.189 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:21:54,205.205 INFO    ] time= 20/10/2026 07:21:54
[2026-10-20 07:21:54,215.215 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:21:54,243.243 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:21:54,372.372 INFO    ] No existing commands found in stream
[2026-10-20 07:21:59,403.403 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:21:59,406.406 INFO    ] Waiting 3.68 seconds before fallback handling...
[2026-10-20 07:22:03,640.640 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 07:22:03,644.644 INFO    ] Checking for system updates...
[2026-10-20 07:22:03,693.693 INFO    ] 200
[2026-10-20 07:22:03,696.696 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:22:03,764.764 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:22:03,767.767 INFO    ] No update needed
[2026-10-20 07:22:03,769.769 INFO    ] Checking for camera pi updates...
[2026-10-20 07:22:03,802.802 INFO    ] 200
[2026-10-20 07:22:03,804.804 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:22:03,844.844 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:22:03,893.893 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:22:03,895.895 INFO    ] No camera update needed
[2026-10-20 07:22:03,897.897 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:22:03,900.900 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:22:03,905.905 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:22:03,910.910 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:22:05,949.949 INFO    ] ================================================
[2026-10-20 07:22:05,964.964 INFO    ] Launching Daemon at Tue Oct 20 07:22:05 IST 2026
[2026-10-20 07:22:05,975.975 INFO    ] ================================================
[2026-10-20 07:22:06,556.556 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:22:06
[2026-10-20 07:22:07,153.153 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:22:07,432.432 INFO    ] Initializing speech engine...
[2026-10-20 07:22:07,438.438 INFO    ] 2026-10-20 07:22:07
[2026-10-20 07:22:07,698.698 INFO    ] 2026-10-20 07:22:07
[2026-10-20 07:22:07,728.728 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:22:07,973.973 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:22:07,982.982 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:22:08,213.213 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:22:08,241.241 INFO    ] time= 20/10/2026 07:22:08
[2026-10-20 07:22:08,247.247 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:22:08,267.267 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:22:08,390.390 INFO    ] No existing commands found in stream
[2026-10-20 07:22:13,406.406 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:22:13,409.409 INFO    ] Waiting 3.35 seconds before fallback handling...
[2026-10-20 07:22:17,240.240 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:22:17,242.242 INFO    ] Checking for system updates...
[2026-10-20 07:22:17,279.279 INFO    ] 200
[2026-10-20 07:22:17,281.281 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:22:17,337.337 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:22:17,339.339 INFO    ] No update needed
[2026-10-20 07:22:17,342.342 INFO    ] Checking for camera pi updates...
[2026-10-20 07:22:17,380.380 INFO    ] 200
[2026-10-20 07:22:17,383.383 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:22:17,423.423 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:22:17,477.477 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:22:17,480.480 INFO    ] No camera update needed
[2026-10-20 07:22:17,482.482 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:22:17,485.485 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:22:17,490.490 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:22:17,495.495 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:22:19,539.539 INFO    ] ================================================
[2026-10-20 07:22:19,554.554 INFO    ] Launching Daemon at Tue Oct 20 07:22:19 IST 2026
[2026-10-20 07:22:19,565.565 INFO    ] ================================================
[2026-10-20 07:22:20,131.131 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:22:20
[2026-10-20 07:22:20,737.737 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:22:21,040.040 INFO    ] Initializing speech engine...
[2026-10-20 07:22:21,048.048 INFO    ] 2026-10-20 07:22:21
[2026-10-20 07:22:21,369.369 INFO    ] 2026-10-20 07:22:21
[2026-10-20 07:22:21,445.445 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:22:21,622.622 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:22:21,627.627 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:22:21,830.830 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:22:21,892.892 INFO    ] time= 20/10/2026 07:22:21
[2026-10-20 07:22:21,898.898 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:22:21,916.916 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:22:22,051.051 INFO    ] No existing commands found in stream
[2026-10-20 07:22:27,070.070 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:22:27,073.073 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-10-20 07:22:29,054.054 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:22:29,056.056 INFO    ] Checking for system updates...
[2026-10-20 07:22:29,095.095 INFO    ] 200
[2026-10-20 07:22:29,098.098 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:22:29,149.149 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:22:29,151.151 INFO    ] No update needed
[2026-10-20 07:22:29,154.154 INFO    ] Checking for camera pi updates...
[2026-10-20 07:22:29,190.190 INFO    ] 200
[2026-10-20 07:22:29,193.193 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:22:29,237.237 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:22:29,284.284 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:22:29,286.286 INFO    ] No camera update needed
[2026-10-20 07:22:29,289.289 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:22:29,291.291 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:22:29,296.296 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:22:29,301.301 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:22:31,341.341 INFO    ] ================================================
[2026-10-20 07:22:31,363.363 INFO    ] Launching Daemon at Tue Oct 20 07:22:31 IST 2026
[2026-10-20 07:22:31,378.378 INFO    ] ================================================
[2026-10-20 07:22:31,964.964 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:22:31
[2026-10-20 07:22:32,593.593 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:22:32,869.869 INFO    ] Initializing speech engine...
[2026-10-20 07:22:32,883.883 INFO    ] 2026-10-20 07:22:32
[2026-10-20 07:22:33,200.200 INFO    ] 2026-10-20 07:22:33
[2026-10-20 07:22:33,235.235 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:22:33,435.435 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:22:33,442.442 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:22:33,623.623 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:22:33,633.633 INFO    ] time= 20/10/2026 07:22:33
[2026-10-20 07:22:33,641.641 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:22:33,670.670 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:22:33,811.811 INFO    ] No existing commands found in stream
[2026-10-20 07:22:38,831.831 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:22:38,833.833 INFO    ] Waiting 2.37 seconds before fallback handling...
[2026-10-20 07:22:41,740.740 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:22:41,742.742 INFO    ] Checking for system updates...
[2026-10-20 07:22:41,782.782 INFO    ] 200
[2026-10-20 07:22:41,785.785 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:22:41,836.836 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:22:41,838.838 INFO    ] No update needed
[2026-10-20 07:22:41,841.841 INFO    ] Checking for camera pi updates...
[2026-10-20 07:22:41,877.877 INFO    ] 200
[2026-10-20 07:22:41,880.880 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:22:41,920.920 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:22:41,964.964 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:22:41,966.966 INFO    ] No camera update needed
[2026-10-20 07:22:41,969.969 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:22:41,971.971 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:22:41,976.976 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:22:41,981.981 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:22:44,020.020 INFO    ] ================================================
[2026-10-20 07:22:44,035.035 INFO    ] Launching Daemon at Tue Oct 20 07:22:44 IST 2026
[2026-10-20 07:22:44,045.045 INFO    ] ================================================
[2026-10-20 07:22:44,618.618 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:22:44
[2026-10-20 07:22:45,199.199 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:22:45,460.460 INFO    ] Initializing speech engine...
[2026-10-20 07:22:45,479.479 INFO    ] 2026-10-20 07:22:45
[2026-10-20 07:22:45,729.729 INFO    ] 2026-10-20 07:22:45
[2026-10-20 07:22:45,764.764 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:22:46,027.027 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:22:46,032.032 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:22:46,232.232 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:22:46,292.292 INFO    ] time= 20/10/2026 07:22:46
[2026-10-20 07:22:46,299.299 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:22:46,316.316 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:22:46,458.458 INFO    ] No existing commands found in stream
[2026-10-20 07:22:51,483.483 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:22:51,486.486 INFO    ] Waiting 2.10 seconds before fallback handling...
[2026-10-20 07:22:54,164.164 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:22:54,166.166 INFO    ] Checking for system updates...
[2026-10-20 07:22:54,206.206 INFO    ] 200
[2026-10-20 07:22:54,209.209 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:22:54,267.267 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:22:54,270.270 INFO    ] No update needed
[2026-10-20 07:22:54,272.272 INFO    ] Checking for camera pi updates...
[2026-10-20 07:22:54,309.309 INFO    ] 200
[2026-10-20 07:22:54,312.312 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:22:54,356.356 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:22:54,511.511 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:22:54,514.514 INFO    ] No camera update needed
[2026-10-20 07:22:54,516.516 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:22:54,518.518 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:22:54,524.524 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:22:54,528.528 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:22:56,570.570 INFO    ] ================================================
[2026-10-20 07:22:56,585.585 INFO    ] Launching Daemon at Tue Oct 20 07:22:56 IST 2026
[2026-10-20 07:22:56,595.595 INFO    ] ================================================
[2026-10-20 07:22:57,180.180 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:22:57
[2026-10-20 07:22:57,768.768 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:22:58,040.040 INFO    ] Initializing speech engine...
[2026-10-20 07:22:58,049.049 INFO    ] 2026-10-20 07:22:58
[2026-10-20 07:22:58,299.299 INFO    ] 2026-10-20 07:22:58
[2026-10-20 07:22:58,334.334 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:22:58,724.724 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:22:58,746.746 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:22:58,999.999 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:22:59,027.027 INFO    ] time= 20/10/2026 07:22:59
[2026-10-20 07:22:59,081.081 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:22:59,125.125 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:22:59,275.275 INFO    ] No existing commands found in stream
[2026-10-20 07:23:04,290.290 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:23:04,293.293 INFO    ] Waiting 2.75 seconds before fallback handling...
[2026-10-20 07:23:07,553.553 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:23:07,556.556 INFO    ] Checking for system updates...
[2026-10-20 07:23:07,594.594 INFO    ] 200
[2026-10-20 07:23:07,597.597 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:23:07,648.648 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:23:07,651.651 INFO    ] No update needed
[2026-10-20 07:23:07,653.653 INFO    ] Checking for camera pi updates...
[2026-10-20 07:23:07,690.690 INFO    ] 200
[2026-10-20 07:23:07,692.692 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:23:07,732.732 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:23:07,782.782 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:23:07,784.784 INFO    ] No camera update needed
[2026-10-20 07:23:07,786.786 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:23:07,789.789 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:23:07,794.794 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:23:07,799.799 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:23:09,838.838 INFO    ] ================================================
[2026-10-20 07:23:09,854.854 INFO    ] Launching Daemon at Tue Oct 20 07:23:09 IST 2026
[2026-10-20 07:23:09,864.864 INFO    ] ================================================
[2026-10-20 07:23:10,515.515 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:23:10
[2026-10-20 07:23:11,230.230 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:23:11,552.552 INFO    ] Initializing speech engine...
[2026-10-20 07:23:11,583.583 INFO    ] 2026-10-20 07:23:11
[2026-10-20 07:23:11,882.882 INFO    ] 2026-10-20 07:23:11
[2026-10-20 07:23:11,932.932 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:23:12,127.127 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:23:12,165.165 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:23:12,312.312 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:23:12,315.315 INFO    ] time= 20/10/2026 07:23:12
[2026-10-20 07:23:12,317.317 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:23:12,326.326 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:23:12,415.415 INFO    ] No existing commands found in stream
[2026-10-20 07:23:17,425.425 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:23:17,429.429 INFO    ] Waiting 3.98 seconds before fallback handling...
[2026-10-20 07:23:21,941.941 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:23:21,944.944 INFO    ] Checking for system updates...
[2026-10-20 07:23:21,980.980 INFO    ] 200
[2026-10-20 07:23:21,982.982 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:23:22,033.033 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:23:22,036.036 INFO    ] No update needed
[2026-10-20 07:23:22,038.038 INFO    ] Checking for camera pi updates...
[2026-10-20 07:23:22,074.074 INFO    ] 200
[2026-10-20 07:23:22,077.077 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:23:22,121.121 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:23:22,171.171 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:23:22,174.174 INFO    ] No camera update needed
[2026-10-20 07:23:22,176.176 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:23:22,179.179 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:23:22,185.185 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:23:22,191.191 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:23:24,231.231 INFO    ] ================================================
[2026-10-20 07:23:24,246.246 INFO    ] Launching Daemon at Tue Oct 20 07:23:24 IST 2026
[2026-10-20 07:23:24,257.257 INFO    ] ================================================
[2026-10-20 07:23:24,895.895 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:23:24
[2026-10-20 07:23:25,554.554 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:23:25,855.855 INFO    ] Initializing speech engine...
[2026-10-20 07:23:25,861.861 INFO    ] 2026-10-20 07:23:25
[2026-10-20 07:23:26,175.175 INFO    ] 2026-10-20 07:23:26
[2026-10-20 07:23:26,260.260 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:23:26,475.475 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:23:26,482.482 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:23:26,679.679 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:23:26,683.683 INFO    ] time= 20/10/2026 07:23:26
[2026-10-20 07:23:26,699.699 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:23:26,714.714 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:23:26,849.849 INFO    ] No existing commands found in stream
[2026-10-20 07:23:31,880.880 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:23:31,884.884 INFO    ] Waiting 1.52 seconds before fallback handling...
[2026-10-20 07:23:33,945.945 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:23:33,948.948 INFO    ] Checking for system updates...
[2026-10-20 07:23:33,987.987 INFO    ] 200
[2026-10-20 07:23:33,991.991 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:23:34,043.043 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:23:34,045.045 INFO    ] No update needed
[2026-10-20 07:23:34,048.048 INFO    ] Checking for camera pi updates...
[2026-10-20 07:23:34,085.085 INFO    ] 200
[2026-10-20 07:23:34,088.088 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:23:34,138.138 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:23:34,185.185 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:23:34,188.188 INFO    ] No camera update needed
[2026-10-20 07:23:34,190.190 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:23:34,193.193 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:23:34,199.199 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:23:34,205.205 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:23:36,246.246 INFO    ] ================================================
[2026-10-20 07:23:36,261.261 INFO    ] Launching Daemon at Tue Oct 20 07:23:36 IST 2026
[2026-10-20 07:23:36,271.271 INFO    ] ================================================
[2026-10-20 07:23:36,841.841 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:23:36
[2026-10-20 07:23:37,425.425 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:23:37,694.694 INFO    ] Initializing speech engine...
[2026-10-20 07:23:37,712.712 INFO    ] 2026-10-20 07:23:37
[2026-10-20 07:23:37,979.979 INFO    ] 2026-10-20 07:23:37
[2026-10-20 07:23:38,016.016 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:23:38,239.239 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:23:38,293.293 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:23:38,463.463 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:23:38,507.507 INFO    ] time= 20/10/2026 07:23:38
[2026-10-20 07:23:38,556.556 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:23:38,609.609 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:23:38,740.740 INFO    ] No existing commands found in stream
[2026-10-20 07:23:43,761.761 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:23:43,764.764 INFO    ] Waiting 3.80 seconds before fallback handling...
[2026-10-20 07:23:48,058.058 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:23:48,061.061 INFO    ] Checking for system updates...
[2026-10-20 07:23:48,099.099 INFO    ] 200
[2026-10-20 07:23:48,101.101 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:23:48,158.158 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:23:48,161.161 INFO    ] No update needed
[2026-10-20 07:23:48,163.163 INFO    ] Checking for camera pi updates...
[2026-10-20 07:23:48,196.196 INFO    ] 200
[2026-10-20 07:23:48,198.198 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:23:48,242.242 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:23:48,289.289 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:23:48,292.292 INFO    ] No camera update needed
[2026-10-20 07:23:48,294.294 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:23:48,296.296 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:23:48,302.302 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:23:48,307.307 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:23:50,348.348 INFO    ] ================================================
[2026-10-20 07:23:50,363.363 INFO    ] Launching Daemon at Tue Oct 20 07:23:50 IST 2026
[2026-10-20 07:23:50,375.375 INFO    ] ================================================
[2026-10-20 07:23:50,939.939 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:23:50
[2026-10-20 07:23:51,522.522 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:23:51,802.802 INFO    ] Initializing speech engine...
[2026-10-20 07:23:51,809.809 INFO    ] 2026-10-20 07:23:51
[2026-10-20 07:23:52,057.057 INFO    ] 2026-10-20 07:23:52
[2026-10-20 07:23:52,122.122 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:23:52,357.357 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:23:52,363.363 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:23:52,564.564 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:23:52,624.624 INFO    ] time= 20/10/2026 07:23:52
[2026-10-20 07:23:52,635.635 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:23:52,654.654 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:23:52,791.791 INFO    ] No existing commands found in stream
[2026-10-20 07:23:57,806.806 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:23:57,809.809 INFO    ] Waiting 3.14 seconds before fallback handling...
[2026-10-20 07:24:01,460.460 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 07:24:01,463.463 INFO    ] Checking for system updates...
[2026-10-20 07:24:01,503.503 INFO    ] 200
[2026-10-20 07:24:01,506.506 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:24:01,563.563 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:24:01,566.566 INFO    ] No update needed
[2026-10-20 07:24:01,569.569 INFO    ] Checking for camera pi updates...
[2026-10-20 07:24:01,603.603 INFO    ] 200
[2026-10-20 07:24:01,606.606 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:24:01,651.651 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:24:01,698.698 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:24:01,703.703 INFO    ] No camera update needed
[2026-10-20 07:24:01,708.708 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:24:01,713.713 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:24:01,723.723 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:24:01,734.734 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:24:03,787.787 INFO    ] ================================================
[2026-10-20 07:24:03,803.803 INFO    ] Launching Daemon at Tue Oct 20 07:24:03 IST 2026
[2026-10-20 07:24:03,815.815 INFO    ] ================================================
[2026-10-20 07:24:04,398.398 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:24:04
[2026-10-20 07:24:04,999.999 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:24:05,256.256 INFO    ] Initializing speech engine...
[2026-10-20 07:24:05,265.265 INFO    ] 2026-10-20 07:24:05
[2026-10-20 07:24:05,557.557 INFO    ] 2026-10-20 07:24:05
[2026-10-20 07:24:05,595.595 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:24:05,812.812 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:24:05,822.822 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:24:05,967.967 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:24:05,972.972 INFO    ] time= 20/10/2026 07:24:05
[2026-10-20 07:24:05,980.980 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:24:06,023.023 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:24:06,169.169 INFO    ] No existing commands found in stream
[2026-10-20 07:24:11,190.190 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:24:11,193.193 INFO    ] Waiting 0.57 seconds before fallback handling...
[2026-10-20 07:24:12,289.289 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:24:12,292.292 INFO    ] Checking for system updates...
[2026-10-20 07:24:12,327.327 INFO    ] 200
[2026-10-20 07:24:12,330.330 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:24:12,381.381 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:24:12,384.384 INFO    ] No update needed
[2026-10-20 07:24:12,386.386 INFO    ] Checking for camera pi updates...
[2026-10-20 07:24:12,431.431 INFO    ] 200
[2026-10-20 07:24:12,434.434 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:24:12,473.473 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:24:12,530.530 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:24:12,532.532 INFO    ] No camera update needed
[2026-10-20 07:24:12,534.534 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:24:12,536.536 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:24:12,542.542 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:24:12,547.547 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:24:14,589.589 INFO    ] ================================================
[2026-10-20 07:24:14,604.604 INFO    ] Launching Daemon at Tue Oct 20 07:24:14 IST 2026
[2026-10-20 07:24:14,616.616 INFO    ] ================================================
[2026-10-20 07:24:15,267.267 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:24:15
[2026-10-20 07:24:15,935.935 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:24:16,236.236 INFO    ] Initializing speech engine...
[2026-10-20 07:24:16,251.251 INFO    ] 2026-10-20 07:24:16
[2026-10-20 07:24:16,529.529 INFO    ] 2026-10-20 07:24:16
[2026-10-20 07:24:16,574.574 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:24:16,870.870 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:24:16,880.880 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:24:17,074.074 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:24:17,093.093 INFO    ] time= 20/10/2026 07:24:17
[2026-10-20 07:24:17,103.103 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:24:17,132.132 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:24:17,264.264 INFO    ] No existing commands found in stream
[2026-10-20 07:24:22,300.300 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:24:22,303.303 INFO    ] Waiting 1.33 seconds before fallback handling...
[2026-10-20 07:24:24,152.152 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:24:24,154.154 INFO    ] Checking for system updates...
[2026-10-20 07:24:24,194.194 INFO    ] 200
[2026-10-20 07:24:24,197.197 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:24:24,250.250 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:24:24,253.253 INFO    ] No update needed
[2026-10-20 07:24:24,256.256 INFO    ] Checking for camera pi updates...
[2026-10-20 07:24:24,293.293 INFO    ] 200
[2026-10-20 07:24:24,295.295 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:24:24,336.336 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:24:24,394.394 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:24:24,396.396 INFO    ] No camera update needed
[2026-10-20 07:24:24,399.399 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:24:24,402.402 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:24:24,408.408 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:24:24,414.414 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:24:26,469.469 INFO    ] ================================================
[2026-10-20 07:24:26,485.485 INFO    ] Launching Daemon at Tue Oct 20 07:24:26 IST 2026
[2026-10-20 07:24:26,497.497 INFO    ] ================================================
[2026-10-20 07:24:27,162.162 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:24:27
[2026-10-20 07:24:27,828.828 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:24:28,132.132 INFO    ] Initializing speech engine...
[2026-10-20 07:24:28,140.140 INFO    ] 2026-10-20 07:24:28
[2026-10-20 07:24:28,426.426 INFO    ] 2026-10-20 07:24:28
[2026-10-20 07:24:28,472.472 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:24:28,765.765 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:24:28,771.771 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:24:28,973.973 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:24:28,980.980 INFO    ] time= 20/10/2026 07:24:28
[2026-10-20 07:24:29,008.008 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:24:29,032.032 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:24:29,155.155 INFO    ] No existing commands found in stream
[2026-10-20 07:24:34,186.186 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:24:34,189.189 INFO    ] Waiting 3.26 seconds before fallback handling...
[2026-10-20 07:24:37,962.962 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:24:37,965.965 INFO    ] Checking for system updates...
[2026-10-20 07:24:38,001.001 INFO    ] 200
[2026-10-20 07:24:38,004.004 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:24:38,057.057 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:24:38,060.060 INFO    ] No update needed
[2026-10-20 07:24:38,063.063 INFO    ] Checking for camera pi updates...
[2026-10-20 07:24:38,102.102 INFO    ] 200
[2026-10-20 07:24:38,105.105 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:24:38,146.146 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:24:38,193.193 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:24:38,196.196 INFO    ] No camera update needed
[2026-10-20 07:24:38,199.199 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:24:38,202.202 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:24:38,208.208 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:24:38,214.214 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:24:40,255.255 INFO    ] ================================================
[2026-10-20 07:24:40,270.270 INFO    ] Launching Daemon at Tue Oct 20 07:24:40 IST 2026
[2026-10-20 07:24:40,282.282 INFO    ] ================================================
[2026-10-20 07:24:40,943.943 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:24:40
[2026-10-20 07:24:41,623.623 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:24:41,940.940 INFO    ] Initializing speech engine...
[2026-10-20 07:24:41,994.994 INFO    ] 2026-10-20 07:24:41
[2026-10-20 07:24:42,345.345 INFO    ] 2026-10-20 07:24:42
[2026-10-20 07:24:42,396.396 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:24:42,633.633 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:24:42,683.683 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:24:42,902.902 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:24:42,939.939 INFO    ] time= 20/10/2026 07:24:42
[2026-10-20 07:24:43,004.004 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:24:43,027.027 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:24:43,179.179 INFO    ] No existing commands found in stream
[2026-10-20 07:24:48,211.211 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:24:48,214.214 INFO    ] Waiting 3.79 seconds before fallback handling...
[2026-10-20 07:24:52,541.541 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:24:52,545.545 INFO    ] Checking for system updates...
[2026-10-20 07:24:52,584.584 INFO    ] 200
[2026-10-20 07:24:52,588.588 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:24:52,653.653 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:24:52,656.656 INFO    ] No update needed
[2026-10-20 07:24:52,659.659 INFO    ] Checking for camera pi updates...
[2026-10-20 07:24:52,695.695 INFO    ] 200
[2026-10-20 07:24:52,698.698 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:24:52,743.743 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:24:52,794.794 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:24:52,797.797 INFO    ] No camera update needed
[2026-10-20 07:24:52,801.801 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:24:52,804.804 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:24:52,811.811 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:24:52,817.817 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:24:54,860.860 INFO    ] ================================================
[2026-10-20 07:24:54,876.876 INFO    ] Launching Daemon at Tue Oct 20 07:24:54 IST 2026
[2026-10-20 07:24:54,888.888 INFO    ] ================================================
[2026-10-20 07:24:55,482.482 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:24:55
[2026-10-20 07:24:56,141.141 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:24:56,414.414 INFO    ] Initializing speech engine...
[2026-10-20 07:24:56,424.424 INFO    ] 2026-10-20 07:24:56
[2026-10-20 07:24:56,673.673 INFO    ] 2026-10-20 07:24:56
[2026-10-20 07:24:56,708.708 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:24:56,963.963 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:24:56,972.972 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:24:57,119.119 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:24:57,184.184 INFO    ] time= 20/10/2026 07:24:57
[2026-10-20 07:24:57,241.241 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:24:57,247.247 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:24:57,379.379 INFO    ] No existing commands found in stream
[2026-10-20 07:25:02,401.401 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:25:02,405.405 INFO    ] Waiting 2.97 seconds before fallback handling...
[2026-10-20 07:25:05,849.849 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:25:05,852.852 INFO    ] Checking for system updates...
[2026-10-20 07:25:05,889.889 INFO    ] 200
[2026-10-20 07:25:05,891.891 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:25:05,944.944 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:25:05,947.947 INFO    ] No update needed
[2026-10-20 07:25:05,949.949 INFO    ] Checking for camera pi updates...
[2026-10-20 07:25:05,983.983 INFO    ] 200
[2026-10-20 07:25:05,985.985 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:25:06,025.025 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:25:06,074.074 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:25:06,076.076 INFO    ] No camera update needed
[2026-10-20 07:25:06,079.079 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:25:06,081.081 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:25:06,086.086 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:25:06,092.092 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:25:08,132.132 INFO    ] ================================================
[2026-10-20 07:25:08,147.147 INFO    ] Launching Daemon at Tue Oct 20 07:25:08 IST 2026
[2026-10-20 07:25:08,157.157 INFO    ] ================================================
[2026-10-20 07:25:08,740.740 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:25:08
[2026-10-20 07:25:09,340.340 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:25:09,597.597 INFO    ] Initializing speech engine...
[2026-10-20 07:25:09,606.606 INFO    ] 2026-10-20 07:25:09
[2026-10-20 07:25:09,898.898 INFO    ] 2026-10-20 07:25:09
[2026-10-20 07:25:09,934.934 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:25:10,155.155 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:25:10,214.214 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:25:10,373.373 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:25:10,395.395 INFO    ] time= 20/10/2026 07:25:10
[2026-10-20 07:25:10,439.439 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:25:10,489.489 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:25:10,587.587 INFO    ] No existing commands found in stream
[2026-10-20 07:25:15,602.602 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:25:15,605.605 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-10-20 07:25:16,192.192 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 07:25:16,194.194 INFO    ] Checking for system updates...
[2026-10-20 07:25:16,230.230 INFO    ] 200
[2026-10-20 07:25:16,233.233 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:25:16,285.285 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:25:16,287.287 INFO    ] No update needed
[2026-10-20 07:25:16,290.290 INFO    ] Checking for camera pi updates...
[2026-10-20 07:25:16,323.323 INFO    ] 200
[2026-10-20 07:25:16,326.326 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:25:16,365.365 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:25:16,411.411 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:25:16,413.413 INFO    ] No camera update needed
[2026-10-20 07:25:16,415.415 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:25:16,418.418 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:25:16,423.423 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:25:16,428.428 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:25:18,467.467 INFO    ] ================================================
[2026-10-20 07:25:18,482.482 INFO    ] Launching Daemon at Tue Oct 20 07:25:18 IST 2026
[2026-10-20 07:25:18,493.493 INFO    ] ================================================
[2026-10-20 07:25:19,069.069 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:25:19
[2026-10-20 07:25:19,658.658 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:25:19,932.932 INFO    ] Initializing speech engine...
[2026-10-20 07:25:19,939.939 INFO    ] 2026-10-20 07:25:19
[2026-10-20 07:25:20,182.182 INFO    ] 2026-10-20 07:25:20
[2026-10-20 07:25:20,217.217 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:25:20,469.469 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:25:20,478.478 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:25:20,681.681 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:25:20,736.736 INFO    ] time= 20/10/2026 07:25:20
[2026-10-20 07:25:20,742.742 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:25:20,757.757 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:25:20,889.889 INFO    ] No existing commands found in stream
[2026-10-20 07:25:25,906.906 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:25:25,909.909 INFO    ] Waiting 3.84 seconds before fallback handling...
[2026-10-20 07:25:30,252.252 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:25:30,254.254 INFO    ] Checking for system updates...
[2026-10-20 07:25:30,290.290 INFO    ] 200
[2026-10-20 07:25:30,293.293 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:25:30,348.348 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:25:30,351.351 INFO    ] No update needed
[2026-10-20 07:25:30,353.353 INFO    ] Checking for camera pi updates...
[2026-10-20 07:25:30,390.390 INFO    ] 200
[2026-10-20 07:25:30,392.392 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:25:30,432.432 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:25:30,480.480 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:25:30,482.482 INFO    ] No camera update needed
[2026-10-20 07:25:30,484.484 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:25:30,487.487 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:25:30,492.492 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:25:30,497.497 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:25:32,539.539 INFO    ] ================================================
[2026-10-20 07:25:32,554.554 INFO    ] Launching Daemon at Tue Oct 20 07:25:32 IST 2026
[2026-10-20 07:25:32,565.565 INFO    ] ================================================
[2026-10-20 07:25:33,183.183 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:25:33
[2026-10-20 07:25:33,794.794 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:25:34,071.071 INFO    ] Initializing speech engine...
[2026-10-20 07:25:34,080.080 INFO    ] 2026-10-20 07:25:34
[2026-10-20 07:25:34,338.338 INFO    ] 2026-10-20 07:25:34
[2026-10-20 07:25:34,368.368 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:25:34,617.617 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:25:34,622.622 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:25:34,838.838 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:25:34,876.876 INFO    ] time= 20/10/2026 07:25:34
[2026-10-20 07:25:34,883.883 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:25:34,901.901 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:25:35,032.032 INFO    ] No existing commands found in stream
[2026-10-20 07:25:40,051.051 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:25:40,054.054 INFO    ] Waiting 2.43 seconds before fallback handling...
[2026-10-20 07:25:42,991.991 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:25:42,993.993 INFO    ] Checking for system updates...
[2026-10-20 07:25:43,032.032 INFO    ] 200
[2026-10-20 07:25:43,034.034 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:25:43,085.085 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:25:43,088.088 INFO    ] No update needed
[2026-10-20 07:25:43,091.091 INFO    ] Checking for camera pi updates...
[2026-10-20 07:25:43,124.124 INFO    ] 200
[2026-10-20 07:25:43,126.126 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:25:43,166.166 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:25:43,221.221 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:25:43,224.224 INFO    ] No camera update needed
[2026-10-20 07:25:43,226.226 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:25:43,228.228 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:25:43,234.234 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:25:43,239.239 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:25:45,279.279 INFO    ] ================================================
[2026-10-20 07:25:45,294.294 INFO    ] Launching Daemon at Tue Oct 20 07:25:45 IST 2026
[2026-10-20 07:25:45,305.305 INFO    ] ================================================
[2026-10-20 07:25:45,886.886 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:25:45
[2026-10-20 07:25:46,484.484 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:25:46,762.762 INFO    ] Initializing speech engine...
[2026-10-20 07:25:46,771.771 INFO    ] 2026-10-20 07:25:46
[2026-10-20 07:25:47,028.028 INFO    ] 2026-10-20 07:25:47
[2026-10-20 07:25:47,058.058 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:25:47,308.308 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:25:47,313.313 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:25:47,532.532 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:25:47,572.572 INFO    ] time= 20/10/2026 07:25:47
[2026-10-20 07:25:47,590.590 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:25:47,598.598 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:25:47,729.729 INFO    ] No existing commands found in stream
[2026-10-20 07:25:52,747.747 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:25:52,750.750 INFO    ] Waiting 1.73 seconds before fallback handling...
[2026-10-20 07:25:54,991.991 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:25:54,994.994 INFO    ] Checking for system updates...
[2026-10-20 07:25:55,029.029 INFO    ] 200
[2026-10-20 07:25:55,031.031 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:25:55,089.089 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:25:55,091.091 INFO    ] No update needed
[2026-10-20 07:25:55,094.094 INFO    ] Checking for camera pi updates...
[2026-10-20 07:25:55,131.131 INFO    ] 200
[2026-10-20 07:25:55,133.133 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:25:55,174.174 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:25:55,232.232 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:25:55,234.234 INFO    ] No camera update needed
[2026-10-20 07:25:55,237.237 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:25:55,239.239 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:25:55,245.245 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:25:55,250.250 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:25:57,291.291 INFO    ] ================================================
[2026-10-20 07:25:57,306.306 INFO    ] Launching Daemon at Tue Oct 20 07:25:57 IST 2026
[2026-10-20 07:25:57,317.317 INFO    ] ================================================
[2026-10-20 07:25:57,906.906 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:25:57
[2026-10-20 07:25:58,512.512 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:25:58,766.766 INFO    ] Initializing speech engine...
[2026-10-20 07:25:58,789.789 INFO    ] 2026-10-20 07:25:58
[2026-10-20 07:25:59,048.048 INFO    ] 2026-10-20 07:25:59
[2026-10-20 07:25:59,090.090 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:25:59,339.339 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:25:59,345.345 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:25:59,545.545 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:25:59,600.600 INFO    ] time= 20/10/2026 07:25:59
[2026-10-20 07:25:59,610.610 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:25:59,628.628 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:25:59,759.759 INFO    ] No existing commands found in stream
[2026-10-20 07:26:04,771.771 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:26:04,773.773 INFO    ] Waiting 3.48 seconds before fallback handling...
[2026-10-20 07:26:08,812.812 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:26:08,815.815 INFO    ] Checking for system updates...
[2026-10-20 07:26:08,851.851 INFO    ] 200
[2026-10-20 07:26:08,853.853 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:26:08,915.915 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:26:08,917.917 INFO    ] No update needed
[2026-10-20 07:26:08,920.920 INFO    ] Checking for camera pi updates...
[2026-10-20 07:26:08,954.954 INFO    ] 200
[2026-10-20 07:26:08,956.956 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:26:09,000.000 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:26:09,048.048 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:26:09,051.051 INFO    ] No camera update needed
[2026-10-20 07:26:09,053.053 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:26:09,055.055 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:26:09,061.061 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:26:09,066.066 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:26:11,106.106 INFO    ] ================================================
[2026-10-20 07:26:11,121.121 INFO    ] Launching Daemon at Tue Oct 20 07:26:11 IST 2026
[2026-10-20 07:26:11,132.132 INFO    ] ================================================
[2026-10-20 07:26:11,696.696 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:26:11
[2026-10-20 07:26:12,279.279 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:26:12,530.530 INFO    ] Initializing speech engine...
[2026-10-20 07:26:12,536.536 INFO    ] 2026-10-20 07:26:12
[2026-10-20 07:26:12,829.829 INFO    ] 2026-10-20 07:26:12
[2026-10-20 07:26:12,864.864 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:26:13,085.085 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:26:13,093.093 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:26:13,244.244 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:26:13,303.303 INFO    ] time= 20/10/2026 07:26:13
[2026-10-20 07:26:13,318.318 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:26:13,373.373 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:26:13,477.477 INFO    ] No existing commands found in stream
[2026-10-20 07:26:18,488.488 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:26:18,491.491 INFO    ] Waiting 2.53 seconds before fallback handling...
[2026-10-20 07:26:21,542.542 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:26:21,544.544 INFO    ] Checking for system updates...
[2026-10-20 07:26:21,579.579 INFO    ] 200
[2026-10-20 07:26:21,581.581 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:26:21,633.633 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:26:21,635.635 INFO    ] No update needed
[2026-10-20 07:26:21,637.637 INFO    ] Checking for camera pi updates...
[2026-10-20 07:26:21,670.670 INFO    ] 200
[2026-10-20 07:26:21,673.673 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:26:21,712.712 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:26:21,763.763 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:26:21,765.765 INFO    ] No camera update needed
[2026-10-20 07:26:21,767.767 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:26:21,770.770 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:26:21,775.775 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:26:21,780.780 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:26:23,821.821 INFO    ] ================================================
[2026-10-20 07:26:23,835.835 INFO    ] Launching Daemon at Tue Oct 20 07:26:23 IST 2026
[2026-10-20 07:26:23,846.846 INFO    ] ================================================
[2026-10-20 07:26:24,414.414 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:26:24
[2026-10-20 07:26:24,998.998 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:26:25,266.266 INFO    ] Initializing speech engine...
[2026-10-20 07:26:25,275.275 INFO    ] 2026-10-20 07:26:25
[2026-10-20 07:26:25,520.520 INFO    ] 2026-10-20 07:26:25
[2026-10-20 07:26:25,555.555 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:26:25,809.809 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:26:25,815.815 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:26:26,032.032 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:26:26,072.072 INFO    ] time= 20/10/2026 07:26:26
[2026-10-20 07:26:26,078.078 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:26:26,098.098 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:26:26,228.228 INFO    ] No existing commands found in stream
[2026-10-20 07:26:31,255.255 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:26:31,258.258 INFO    ] Waiting 1.75 seconds before fallback handling...
[2026-10-20 07:26:33,537.537 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:26:33,540.540 INFO    ] Checking for system updates...
[2026-10-20 07:26:33,578.578 INFO    ] 200
[2026-10-20 07:26:33,581.581 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:26:33,634.634 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:26:33,636.636 INFO    ] No update needed
[2026-10-20 07:26:33,639.639 INFO    ] Checking for camera pi updates...
[2026-10-20 07:26:33,675.675 INFO    ] 200
[2026-10-20 07:26:33,678.678 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:26:33,719.719 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:26:33,766.766 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:26:33,769.769 INFO    ] No camera update needed
[2026-10-20 07:26:33,772.772 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:26:33,774.774 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:26:33,780.780 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:26:33,786.786 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:26:35,828.828 INFO    ] ================================================
[2026-10-20 07:26:35,843.843 INFO    ] Launching Daemon at Tue Oct 20 07:26:35 IST 2026
[2026-10-20 07:26:35,854.854 INFO    ] ================================================
[2026-10-20 07:26:36,423.423 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:26:36
[2026-10-20 07:26:37,010.010 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:26:37,264.264 INFO    ] Initializing speech engine...
[2026-10-20 07:26:37,270.270 INFO    ] 2026-10-20 07:26:37
[2026-10-20 07:26:37,563.563 INFO    ] 2026-10-20 07:26:37
[2026-10-20 07:26:37,600.600 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:26:37,805.805 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:26:37,821.821 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:26:37,968.968 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:26:37,975.975 INFO    ] time= 20/10/2026 07:26:37
[2026-10-20 07:26:37,981.981 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:26:38,029.029 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:26:38,172.172 INFO    ] No existing commands found in stream
[2026-10-20 07:26:43,198.198 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:26:43,200.200 INFO    ] Waiting 0.31 seconds before fallback handling...
[2026-10-20 07:26:44,044.044 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 07:26:44,047.047 INFO    ] Checking for system updates...
[2026-10-20 07:26:44,084.084 INFO    ] 200
[2026-10-20 07:26:44,086.086 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:26:44,140.140 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:26:44,143.143 INFO    ] No update needed
[2026-10-20 07:26:44,145.145 INFO    ] Checking for camera pi updates...
[2026-10-20 07:26:44,182.182 INFO    ] 200
[2026-10-20 07:26:44,185.185 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:26:44,226.226 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:26:44,278.278 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:26:44,281.281 INFO    ] No camera update needed
[2026-10-20 07:26:44,284.284 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:26:44,286.286 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:26:44,292.292 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:26:44,298.298 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:26:46,338.338 INFO    ] ================================================
[2026-10-20 07:26:46,353.353 INFO    ] Launching Daemon at Tue Oct 20 07:26:46 IST 2026
[2026-10-20 07:26:46,364.364 INFO    ] ================================================
[2026-10-20 07:26:46,939.939 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:26:46
[2026-10-20 07:26:47,543.543 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:26:47,819.819 INFO    ] Initializing speech engine...
[2026-10-20 07:26:47,835.835 INFO    ] 2026-10-20 07:26:47
[2026-10-20 07:26:48,107.107 INFO    ] 2026-10-20 07:26:48
[2026-10-20 07:26:48,144.144 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:26:48,416.416 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:26:48,440.440 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:26:48,594.594 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:26:48,653.653 INFO    ] time= 20/10/2026 07:26:48
[2026-10-20 07:26:48,703.703 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:26:48,739.739 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:26:48,888.888 INFO    ] No existing commands found in stream
[2026-10-20 07:26:53,914.914 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:26:53,917.917 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-10-20 07:26:57,664.664 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:26:57,666.666 INFO    ] Checking for system updates...
[2026-10-20 07:26:57,705.705 INFO    ] 200
[2026-10-20 07:26:57,707.707 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:26:57,759.759 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:26:57,762.762 INFO    ] No update needed
[2026-10-20 07:26:57,764.764 INFO    ] Checking for camera pi updates...
[2026-10-20 07:26:57,797.797 INFO    ] 200
[2026-10-20 07:26:57,799.799 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:26:57,840.840 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:26:57,888.888 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:26:57,891.891 INFO    ] No camera update needed
[2026-10-20 07:26:57,893.893 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:26:57,896.896 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:26:57,901.901 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:26:57,906.906 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:26:59,946.946 INFO    ] ================================================
[2026-10-20 07:26:59,961.961 INFO    ] Launching Daemon at Tue Oct 20 07:26:59 IST 2026
[2026-10-20 07:26:59,972.972 INFO    ] ================================================
[2026-10-20 07:27:00,560.560 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:27:00
[2026-10-20 07:27:01,159.159 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:27:01,416.416 INFO    ] Initializing speech engine...
[2026-10-20 07:27:01,425.425 INFO    ] 2026-10-20 07:27:01
[2026-10-20 07:27:01,718.718 INFO    ] 2026-10-20 07:27:01
[2026-10-20 07:27:01,755.755 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:27:01,974.974 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:27:01,979.979 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:27:02,170.170 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:27:02,173.173 INFO    ] time= 20/10/2026 07:27:02
[2026-10-20 07:27:02,176.176 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:27:02,179.179 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:27:02,280.280 INFO    ] No existing commands found in stream
[2026-10-20 07:27:07,290.290 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:27:07,293.293 INFO    ] Waiting 3.08 seconds before fallback handling...
[2026-10-20 07:27:10,882.882 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:27:10,885.885 INFO    ] Checking for system updates...
[2026-10-20 07:27:10,921.921 INFO    ] 200
[2026-10-20 07:27:10,924.924 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:27:10,980.980 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:27:10,982.982 INFO    ] No update needed
[2026-10-20 07:27:10,984.984 INFO    ] Checking for camera pi updates...
[2026-10-20 07:27:11,017.017 INFO    ] 200
[2026-10-20 07:27:11,020.020 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:27:11,060.060 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:27:11,211.211 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:27:11,214.214 INFO    ] No camera update needed
[2026-10-20 07:27:11,216.216 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:27:11,218.218 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:27:11,225.225 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:27:11,230.230 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:27:13,270.270 INFO    ] ================================================
[2026-10-20 07:27:13,285.285 INFO    ] Launching Daemon at Tue Oct 20 07:27:13 IST 2026
[2026-10-20 07:27:13,295.295 INFO    ] ================================================
[2026-10-20 07:27:13,903.903 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:27:13
[2026-10-20 07:27:14,485.485 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:27:14,755.755 INFO    ] Initializing speech engine...
[2026-10-20 07:27:14,763.763 INFO    ] 2026-10-20 07:27:14
[2026-10-20 07:27:15,014.014 INFO    ] 2026-10-20 07:27:15
[2026-10-20 07:27:15,049.049 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:27:15,307.307 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:27:15,317.317 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:27:15,455.455 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:27:15,509.509 INFO    ] time= 20/10/2026 07:27:15
[2026-10-20 07:27:15,564.564 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:27:15,590.590 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:27:15,743.743 INFO    ] No existing commands found in stream
[2026-10-20 07:27:20,757.757 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:27:20,760.760 INFO    ] Waiting 1.50 seconds before fallback handling...
[2026-10-20 07:27:22,792.792 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:27:22,795.795 INFO    ] Checking for system updates...
[2026-10-20 07:27:22,831.831 INFO    ] 200
[2026-10-20 07:27:22,834.834 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:27:22,885.885 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:27:22,888.888 INFO    ] No update needed
[2026-10-20 07:27:22,890.890 INFO    ] Checking for camera pi updates...
[2026-10-20 07:27:22,924.924 INFO    ] 200
[2026-10-20 07:27:22,926.926 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:27:22,971.971 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:27:23,022.022 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:27:23,024.024 INFO    ] No camera update needed
[2026-10-20 07:27:23,027.027 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:27:23,029.029 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:27:23,034.034 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:27:23,040.040 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:27:25,079.079 INFO    ] ================================================
[2026-10-20 07:27:25,094.094 INFO    ] Launching Daemon at Tue Oct 20 07:27:25 IST 2026
[2026-10-20 07:27:25,104.104 INFO    ] ================================================
[2026-10-20 07:27:25,686.686 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:27:25
[2026-10-20 07:27:26,283.283 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:27:26,562.562 INFO    ] Initializing speech engine...
[2026-10-20 07:27:26,570.570 INFO    ] 2026-10-20 07:27:26
[2026-10-20 07:27:26,827.827 INFO    ] 2026-10-20 07:27:26
[2026-10-20 07:27:26,864.864 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:27:27,114.114 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:27:27,118.118 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:27:27,316.316 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:27:27,370.370 INFO    ] time= 20/10/2026 07:27:27
[2026-10-20 07:27:27,382.382 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:27:27,396.396 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:27:27,535.535 INFO    ] No existing commands found in stream
[2026-10-20 07:27:32,561.561 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:27:32,564.564 INFO    ] Waiting 0.88 seconds before fallback handling...
[2026-10-20 07:27:33,962.962 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:27:33,965.965 INFO    ] Checking for system updates...
[2026-10-20 07:27:34,000.000 INFO    ] 200
[2026-10-20 07:27:34,003.003 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:27:34,054.054 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:27:34,057.057 INFO    ] No update needed
[2026-10-20 07:27:34,059.059 INFO    ] Checking for camera pi updates...
[2026-10-20 07:27:34,093.093 INFO    ] 200
[2026-10-20 07:27:34,096.096 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:27:34,137.137 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:27:34,190.190 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:27:34,192.192 INFO    ] No camera update needed
[2026-10-20 07:27:34,195.195 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:27:34,198.198 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:27:34,204.204 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:27:34,210.210 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:27:36,252.252 INFO    ] ================================================
[2026-10-20 07:27:36,267.267 INFO    ] Launching Daemon at Tue Oct 20 07:27:36 IST 2026
[2026-10-20 07:27:36,277.277 INFO    ] ================================================
[2026-10-20 07:27:36,846.846 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:27:36
[2026-10-20 07:27:37,501.501 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:27:37,798.798 INFO    ] Initializing speech engine...
[2026-10-20 07:27:37,807.807 INFO    ] 2026-10-20 07:27:37
[2026-10-20 07:27:38,077.077 INFO    ] 2026-10-20 07:27:38
[2026-10-20 07:27:38,133.133 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:27:38,367.367 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:27:38,373.373 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:27:38,596.596 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:27:38,637.637 INFO    ] time= 20/10/2026 07:27:38
[2026-10-20 07:27:38,655.655 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:27:38,663.663 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:27:38,796.796 INFO    ] No existing commands found in stream
[2026-10-20 07:27:43,812.812 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:27:43,816.816 INFO    ] Waiting 1.25 seconds before fallback handling...
[2026-10-20 07:27:45,584.584 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:27:45,587.587 INFO    ] Checking for system updates...
[2026-10-20 07:27:45,627.627 INFO    ] 200
[2026-10-20 07:27:45,630.630 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:27:45,684.684 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:27:45,687.687 INFO    ] No update needed
[2026-10-20 07:27:45,690.690 INFO    ] Checking for camera pi updates...
[2026-10-20 07:27:45,723.723 INFO    ] 200
[2026-10-20 07:27:45,726.726 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:27:45,769.769 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:27:45,813.813 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:27:45,816.816 INFO    ] No camera update needed
[2026-10-20 07:27:45,818.818 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:27:45,820.820 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:27:45,825.825 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:27:45,830.830 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:27:47,869.869 INFO    ] ================================================
[2026-10-20 07:27:47,884.884 INFO    ] Launching Daemon at Tue Oct 20 07:27:47 IST 2026
[2026-10-20 07:27:47,895.895 INFO    ] ================================================
[2026-10-20 07:27:48,466.466 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:27:48
[2026-10-20 07:27:49,087.087 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:27:49,358.358 INFO    ] Initializing speech engine...
[2026-10-20 07:27:49,373.373 INFO    ] 2026-10-20 07:27:49
[2026-10-20 07:27:49,649.649 INFO    ] 2026-10-20 07:27:49
[2026-10-20 07:27:49,687.687 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:27:49,906.906 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:27:49,909.909 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:27:50,064.064 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:27:50,077.077 INFO    ] time= 20/10/2026 07:27:50
[2026-10-20 07:27:50,083.083 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:27:50,090.090 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:27:50,241.241 INFO    ] No existing commands found in stream
[2026-10-20 07:27:55,266.266 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:27:55,269.269 INFO    ] Waiting 1.55 seconds before fallback handling...
[2026-10-20 07:27:57,311.311 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:27:57,313.313 INFO    ] Checking for system updates...
[2026-10-20 07:27:57,352.352 INFO    ] 200
[2026-10-20 07:27:57,354.354 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:27:57,411.411 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:27:57,413.413 INFO    ] No update needed
[2026-10-20 07:27:57,415.415 INFO    ] Checking for camera pi updates...
[2026-10-20 07:27:57,448.448 INFO    ] 200
[2026-10-20 07:27:57,451.451 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:27:57,494.494 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:27:57,548.548 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:27:57,551.551 INFO    ] No camera update needed
[2026-10-20 07:27:57,553.553 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:27:57,555.555 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:27:57,561.561 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:27:57,565.565 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:27:59,606.606 INFO    ] ================================================
[2026-10-20 07:27:59,622.622 INFO    ] Launching Daemon at Tue Oct 20 07:27:59 IST 2026
[2026-10-20 07:27:59,633.633 INFO    ] ================================================
[2026-10-20 07:28:00,218.218 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:28:00
[2026-10-20 07:28:00,840.840 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:28:01,115.115 INFO    ] Initializing speech engine...
[2026-10-20 07:28:01,127.127 INFO    ] 2026-10-20 07:28:01
[2026-10-20 07:28:01,374.374 INFO    ] 2026-10-20 07:28:01
[2026-10-20 07:28:01,408.408 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:28:01,660.660 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:28:01,669.669 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:28:01,815.815 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:28:01,818.818 INFO    ] time= 20/10/2026 07:28:01
[2026-10-20 07:28:01,884.884 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:28:01,899.899 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:28:02,016.016 INFO    ] No existing commands found in stream
[2026-10-20 07:28:07,056.056 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:28:07,059.059 INFO    ] Waiting 2.16 seconds before fallback handling...
[2026-10-20 07:28:09,720.720 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:28:09,723.723 INFO    ] Checking for system updates...
[2026-10-20 07:28:09,758.758 INFO    ] 200
[2026-10-20 07:28:09,760.760 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:28:09,812.812 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:28:09,815.815 INFO    ] No update needed
[2026-10-20 07:28:09,817.817 INFO    ] Checking for camera pi updates...
[2026-10-20 07:28:09,850.850 INFO    ] 200
[2026-10-20 07:28:09,853.853 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:28:09,893.893 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:28:09,945.945 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:28:09,947.947 INFO    ] No camera update needed
[2026-10-20 07:28:09,950.950 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:28:09,952.952 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:28:09,957.957 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:28:09,962.962 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:28:12,002.002 INFO    ] ================================================
[2026-10-20 07:28:12,018.018 INFO    ] Launching Daemon at Tue Oct 20 07:28:12 IST 2026
[2026-10-20 07:28:12,029.029 INFO    ] ================================================
[2026-10-20 07:28:12,660.660 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:28:12
[2026-10-20 07:28:13,314.314 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:28:13,609.609 INFO    ] Initializing speech engine...
[2026-10-20 07:28:13,616.616 INFO    ] 2026-10-20 07:28:13
[2026-10-20 07:28:13,886.886 INFO    ] 2026-10-20 07:28:13
[2026-10-20 07:28:13,941.941 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:28:14,164.164 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:28:14,173.173 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:28:14,379.379 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:28:14,433.433 INFO    ] time= 20/10/2026 07:28:14
[2026-10-20 07:28:14,440.440 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:28:14,456.456 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:28:14,579.579 INFO    ] No existing commands found in stream
[2026-10-20 07:28:19,600.600 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:28:19,603.603 INFO    ] Waiting 0.64 seconds before fallback handling...
[2026-10-20 07:28:20,757.757 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:28:20,761.761 INFO    ] Checking for system updates...
[2026-10-20 07:28:20,796.796 INFO    ] 200
[2026-10-20 07:28:20,800.800 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:28:20,857.857 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:28:20,860.860 INFO    ] No update needed
[2026-10-20 07:28:20,864.864 INFO    ] Checking for camera pi updates...
[2026-10-20 07:28:20,897.897 INFO    ] 200
[2026-10-20 07:28:20,900.900 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:28:20,944.944 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:28:20,997.997 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:28:21,000.000 INFO    ] No camera update needed
[2026-10-20 07:28:21,002.002 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:28:21,005.005 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:28:21,010.010 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:28:21,015.015 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:28:23,056.056 INFO    ] ================================================
[2026-10-20 07:28:23,071.071 INFO    ] Launching Daemon at Tue Oct 20 07:28:23 IST 2026
[2026-10-20 07:28:23,082.082 INFO    ] ================================================
[2026-10-20 07:28:23,654.654 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:28:23
[2026-10-20 07:28:24,245.245 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:28:24,506.506 INFO    ] Initializing speech engine...
[2026-10-20 07:28:24,521.521 INFO    ] 2026-10-20 07:28:24
[2026-10-20 07:28:24,781.781 INFO    ] 2026-10-20 07:28:24
[2026-10-20 07:28:24,816.816 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:28:25,075.075 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:28:25,085.085 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:28:25,302.302 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:28:25,351.351 INFO    ] time= 20/10/2026 07:28:25
[2026-10-20 07:28:25,358.358 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:28:25,375.375 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:28:25,512.512 INFO    ] No existing commands found in stream
[2026-10-20 07:28:30,531.531 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:28:30,534.534 INFO    ] Waiting 3.83 seconds before fallback handling...
[2026-10-20 07:28:34,838.838 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:28:34,841.841 INFO    ] Checking for system updates...
[2026-10-20 07:28:34,879.879 INFO    ] 200
[2026-10-20 07:28:34,881.881 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:28:34,933.933 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:28:34,935.935 INFO    ] No update needed
[2026-10-20 07:28:34,938.938 INFO    ] Checking for camera pi updates...
[2026-10-20 07:28:34,971.971 INFO    ] 200
[2026-10-20 07:28:34,973.973 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:28:35,013.013 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:28:35,069.069 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:28:35,072.072 INFO    ] No camera update needed
[2026-10-20 07:28:35,074.074 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:28:35,076.076 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:28:35,082.082 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:28:35,087.087 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:28:37,126.126 INFO    ] ================================================
[2026-10-20 07:28:37,141.141 INFO    ] Launching Daemon at Tue Oct 20 07:28:37 IST 2026
[2026-10-20 07:28:37,152.152 INFO    ] ================================================
[2026-10-20 07:28:37,718.718 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:28:37
[2026-10-20 07:28:38,303.303 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:28:38,563.563 INFO    ] Initializing speech engine...
[2026-10-20 07:28:38,582.582 INFO    ] 2026-10-20 07:28:38
[2026-10-20 07:28:38,831.831 INFO    ] 2026-10-20 07:28:38
[2026-10-20 07:28:38,867.867 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:28:39,069.069 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:28:39,127.127 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:28:39,272.272 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:28:39,332.332 INFO    ] time= 20/10/2026 07:28:39
[2026-10-20 07:28:39,386.386 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:28:39,408.408 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:28:39,538.538 INFO    ] No existing commands found in stream
[2026-10-20 07:28:44,568.568 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:28:44,571.571 INFO    ] Waiting 0.14 seconds before fallback handling...
[2026-10-20 07:28:45,194.194 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:28:45,197.197 INFO    ] Checking for system updates...
[2026-10-20 07:28:45,232.232 INFO    ] 200
[2026-10-20 07:28:45,235.235 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:28:45,286.286 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:28:45,288.288 INFO    ] No update needed
[2026-10-20 07:28:45,291.291 INFO    ] Checking for camera pi updates...
[2026-10-20 07:28:45,324.324 INFO    ] 200
[2026-10-20 07:28:45,326.326 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:28:45,366.366 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:28:45,412.412 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:28:45,415.415 INFO    ] No camera update needed
[2026-10-20 07:28:45,417.417 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:28:45,419.419 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:28:45,425.425 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:28:45,430.430 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:28:47,473.473 INFO    ] ================================================
[2026-10-20 07:28:47,489.489 INFO    ] Launching Daemon at Tue Oct 20 07:28:47 IST 2026
[2026-10-20 07:28:47,499.499 INFO    ] ================================================
[2026-10-20 07:28:48,132.132 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:28:48
[2026-10-20 07:28:48,784.784 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:28:49,083.083 INFO    ] Initializing speech engine...
[2026-10-20 07:28:49,089.089 INFO    ] 2026-10-20 07:28:49
[2026-10-20 07:28:49,377.377 INFO    ] 2026-10-20 07:28:49
[2026-10-20 07:28:49,424.424 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:28:49,680.680 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:28:49,701.701 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:28:49,913.913 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:28:49,930.930 INFO    ] time= 20/10/2026 07:28:49
[2026-10-20 07:28:49,952.952 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:28:49,978.978 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:28:50,113.113 INFO    ] No existing commands found in stream
[2026-10-20 07:28:55,149.149 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:28:55,152.152 INFO    ] Waiting 0.80 seconds before fallback handling...
[2026-10-20 07:28:56,473.473 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 07:28:56,475.475 INFO    ] Checking for system updates...
[2026-10-20 07:28:56,510.510 INFO    ] 200
[2026-10-20 07:28:56,513.513 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:28:56,568.568 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:28:56,571.571 INFO    ] No update needed
[2026-10-20 07:28:56,573.573 INFO    ] Checking for camera pi updates...
[2026-10-20 07:28:56,609.609 INFO    ] 200
[2026-10-20 07:28:56,612.612 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:28:56,652.652 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:28:56,700.700 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:28:56,702.702 INFO    ] No camera update needed
[2026-10-20 07:28:56,705.705 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:28:56,707.707 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:28:56,712.712 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:28:56,717.717 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:28:58,757.757 INFO    ] ================================================
[2026-10-20 07:28:58,772.772 INFO    ] Launching Daemon at Tue Oct 20 07:28:58 IST 2026
[2026-10-20 07:28:58,782.782 INFO    ] ================================================
[2026-10-20 07:28:59,364.364 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:28:59
[2026-10-20 07:28:59,964.964 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:29:00,243.243 INFO    ] Initializing speech engine...
[2026-10-20 07:29:00,251.251 INFO    ] 2026-10-20 07:29:00
[2026-10-20 07:29:00,495.495 INFO    ] 2026-10-20 07:29:00
[2026-10-20 07:29:00,531.531 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:29:00,728.728 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:29:00,784.784 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:29:00,978.978 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:29:01,051.051 INFO    ] time= 20/10/2026 07:29:00
[2026-10-20 07:29:01,099.099 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:29:01,120.120 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:29:01,242.242 INFO    ] No existing commands found in stream
[2026-10-20 07:29:06,253.253 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:29:06,257.257 INFO    ] Waiting 2.30 seconds before fallback handling...
[2026-10-20 07:29:09,104.104 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:29:09,115.115 INFO    ] Checking for system updates...
[2026-10-20 07:29:09,151.151 INFO    ] 200
[2026-10-20 07:29:09,154.154 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:29:09,208.208 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:29:09,211.211 INFO    ] No update needed
[2026-10-20 07:29:09,214.214 INFO    ] Checking for camera pi updates...
[2026-10-20 07:29:09,252.252 INFO    ] 200
[2026-10-20 07:29:09,255.255 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:29:09,300.300 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:29:09,346.346 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:29:09,349.349 INFO    ] No camera update needed
[2026-10-20 07:29:09,352.352 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:29:09,354.354 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:29:09,360.360 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:29:09,366.366 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:29:11,406.406 INFO    ] ================================================
[2026-10-20 07:29:11,422.422 INFO    ] Launching Daemon at Tue Oct 20 07:29:11 IST 2026
[2026-10-20 07:29:11,432.432 INFO    ] ================================================
[2026-10-20 07:29:11,998.998 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:29:11
[2026-10-20 07:29:12,579.579 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:29:12,847.847 INFO    ] Initializing speech engine...
[2026-10-20 07:29:12,856.856 INFO    ] 2026-10-20 07:29:12
[2026-10-20 07:29:13,106.106 INFO    ] 2026-10-20 07:29:13
[2026-10-20 07:29:13,139.139 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:29:13,396.396 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:29:13,407.407 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:29:13,642.642 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:29:13,666.666 INFO    ] time= 20/10/2026 07:29:13
[2026-10-20 07:29:13,684.684 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:29:13,704.704 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:29:13,839.839 INFO    ] No existing commands found in stream
[2026-10-20 07:29:18,872.872 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:29:18,875.875 INFO    ] Waiting 2.49 seconds before fallback handling...
[2026-10-20 07:29:21,914.914 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 07:29:21,917.917 INFO    ] Checking for system updates...
[2026-10-20 07:29:21,954.954 INFO    ] 200
[2026-10-20 07:29:21,957.957 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:29:22,009.009 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:29:22,011.011 INFO    ] No update needed
[2026-10-20 07:29:22,014.014 INFO    ] Checking for camera pi updates...
[2026-10-20 07:29:22,047.047 INFO    ] 200
[2026-10-20 07:29:22,049.049 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:29:22,092.092 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:29:22,241.241 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:29:22,243.243 INFO    ] No camera update needed
[2026-10-20 07:29:22,245.245 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:29:22,248.248 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:29:22,253.253 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:29:22,258.258 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:29:24,298.298 INFO    ] ================================================
[2026-10-20 07:29:24,313.313 INFO    ] Launching Daemon at Tue Oct 20 07:29:24 IST 2026
[2026-10-20 07:29:24,324.324 INFO    ] ================================================
[2026-10-20 07:29:24,897.897 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:29:24
[2026-10-20 07:29:25,483.483 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:29:25,743.743 INFO    ] Initializing speech engine...
[2026-10-20 07:29:25,762.762 INFO    ] 2026-10-20 07:29:25
[2026-10-20 07:29:26,013.013 INFO    ] 2026-10-20 07:29:26
[2026-10-20 07:29:26,047.047 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:29:26,304.304 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:29:26,313.313 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:29:26,522.522 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:29:26,572.572 INFO    ] time= 20/10/2026 07:29:26
[2026-10-20 07:29:26,586.586 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:29:26,601.601 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:29:26,732.732 INFO    ] No existing commands found in stream
[2026-10-20 07:29:31,750.750 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:29:31,753.753 INFO    ] Waiting 2.79 seconds before fallback handling...
[2026-10-20 07:29:35,089.089 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 07:29:35,091.091 INFO    ] Checking for system updates...
[2026-10-20 07:29:35,126.126 INFO    ] 200
[2026-10-20 07:29:35,129.129 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:29:35,187.187 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:29:35,190.190 INFO    ] No update needed
[2026-10-20 07:29:35,192.192 INFO    ] Checking for camera pi updates...
[2026-10-20 07:29:35,226.226 INFO    ] 200
[2026-10-20 07:29:35,228.228 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:29:35,273.273 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:29:35,322.322 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:29:35,324.324 INFO    ] No camera update needed
[2026-10-20 07:29:35,327.327 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:29:35,329.329 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:29:35,335.335 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:29:35,340.340 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:29:37,380.380 INFO    ] ================================================
[2026-10-20 07:29:37,395.395 INFO    ] Launching Daemon at Tue Oct 20 07:29:37 IST 2026
[2026-10-20 07:29:37,406.406 INFO    ] ================================================
[2026-10-20 07:29:37,971.971 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:29:37
[2026-10-20 07:29:38,583.583 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:29:38,881.881 INFO    ] Initializing speech engine...
[2026-10-20 07:29:38,887.887 INFO    ] 2026-10-20 07:29:38
[2026-10-20 07:29:39,147.147 INFO    ] 2026-10-20 07:29:39
[2026-10-20 07:29:39,178.178 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:29:39,431.431 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:29:39,441.441 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:29:39,653.653 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:29:39,705.705 INFO    ] time= 20/10/2026 07:29:39
[2026-10-20 07:29:39,712.712 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:29:39,730.730 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:29:39,861.861 INFO    ] No existing commands found in stream
[2026-10-20 07:29:44,875.875 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:29:44,878.878 INFO    ] Waiting 2.13 seconds before fallback handling...
[2026-10-20 07:29:47,524.524 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:29:47,527.527 INFO    ] Checking for system updates...
[2026-10-20 07:29:47,562.562 INFO    ] 200
[2026-10-20 07:29:47,564.564 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:29:47,616.616 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:29:47,619.619 INFO    ] No update needed
[2026-10-20 07:29:47,621.621 INFO    ] Checking for camera pi updates...
[2026-10-20 07:29:47,654.654 INFO    ] 200
[2026-10-20 07:29:47,657.657 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:29:47,701.701 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:29:47,751.751 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:29:47,753.753 INFO    ] No camera update needed
[2026-10-20 07:29:47,756.756 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:29:47,758.758 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:29:47,764.764 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:29:47,769.769 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:29:49,808.808 INFO    ] ================================================
[2026-10-20 07:29:49,824.824 INFO    ] Launching Daemon at Tue Oct 20 07:29:49 IST 2026
[2026-10-20 07:29:49,835.835 INFO    ] ================================================
[2026-10-20 07:29:50,408.408 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:29:50
[2026-10-20 07:29:50,996.996 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:29:51,264.264 INFO    ] Initializing speech engine...
[2026-10-20 07:29:51,273.273 INFO    ] 2026-10-20 07:29:51
[2026-10-20 07:29:51,525.525 INFO    ] 2026-10-20 07:29:51
[2026-10-20 07:29:51,582.582 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:29:51,788.788 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:29:51,839.839 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:29:52,050.050 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:29:52,100.100 INFO    ] time= 20/10/2026 07:29:52
[2026-10-20 07:29:52,144.144 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:29:52,151.151 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:29:52,281.281 INFO    ] No existing commands found in stream
[2026-10-20 07:29:57,307.307 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:29:57,309.309 INFO    ] Waiting 3.03 seconds before fallback handling...
[2026-10-20 07:30:00,862.862 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:30:00,864.864 INFO    ] Checking for system updates...
[2026-10-20 07:30:00,903.903 INFO    ] 200
[2026-10-20 07:30:00,906.906 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:30:00,957.957 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:30:00,959.959 INFO    ] No update needed
[2026-10-20 07:30:00,961.961 INFO    ] Checking for camera pi updates...
[2026-10-20 07:30:00,994.994 INFO    ] 200
[2026-10-20 07:30:00,997.997 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:30:01,041.041 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:30:01,101.101 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:30:01,103.103 INFO    ] No camera update needed
[2026-10-20 07:30:01,106.106 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:30:01,108.108 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:30:01,113.113 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:30:01,118.118 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:30:03,183.183 INFO    ] ================================================
[2026-10-20 07:30:03,206.206 INFO    ] Launching Daemon at Tue Oct 20 07:30:03 IST 2026
[2026-10-20 07:30:03,224.224 INFO    ] ================================================
[2026-10-20 07:30:03,916.916 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:30:03
[2026-10-20 07:30:04,535.535 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:30:04,809.809 INFO    ] Initializing speech engine...
[2026-10-20 07:30:04,818.818 INFO    ] 2026-10-20 07:30:04
[2026-10-20 07:30:05,082.082 INFO    ] 2026-10-20 07:30:05
[2026-10-20 07:30:05,111.111 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:30:05,357.357 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:30:05,366.366 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:30:05,597.597 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:30:05,628.628 INFO    ] time= 20/10/2026 07:30:05
[2026-10-20 07:30:05,643.643 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:30:05,653.653 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:30:05,780.780 INFO    ] No existing commands found in stream
[2026-10-20 07:30:10,793.793 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:30:10,795.795 INFO    ] Waiting 0.01 seconds before fallback handling...
[2026-10-20 07:30:11,306.306 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:30:11,309.309 INFO    ] Checking for system updates...
[2026-10-20 07:30:11,346.346 INFO    ] 200
[2026-10-20 07:30:11,349.349 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:30:11,408.408 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:30:11,411.411 INFO    ] No update needed
[2026-10-20 07:30:11,414.414 INFO    ] Checking for camera pi updates...
[2026-10-20 07:30:11,451.451 INFO    ] 200
[2026-10-20 07:30:11,454.454 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:30:11,494.494 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:30:11,550.550 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:30:11,553.553 INFO    ] No camera update needed
[2026-10-20 07:30:11,556.556 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:30:11,558.558 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:30:11,564.564 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:30:11,570.570 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:30:13,613.613 INFO    ] ================================================
[2026-10-20 07:30:13,629.629 INFO    ] Launching Daemon at Tue Oct 20 07:30:13 IST 2026
[2026-10-20 07:30:13,641.641 INFO    ] ================================================
[2026-10-20 07:30:14,209.209 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:30:14
[2026-10-20 07:30:14,791.791 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:30:15,042.042 INFO    ] Initializing speech engine...
[2026-10-20 07:30:15,065.065 INFO    ] 2026-10-20 07:30:15
[2026-10-20 07:30:15,320.320 INFO    ] 2026-10-20 07:30:15
[2026-10-20 07:30:15,354.354 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:30:15,557.557 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:30:15,593.593 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:30:15,761.761 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:30:15,821.821 INFO    ] time= 20/10/2026 07:30:15
[2026-10-20 07:30:15,870.870 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:30:15,896.896 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:30:16,041.041 INFO    ] No existing commands found in stream
[2026-10-20 07:30:21,059.059 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:30:21,062.062 INFO    ] Waiting 1.59 seconds before fallback handling...
[2026-10-20 07:30:23,118.118 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:30:23,121.121 INFO    ] Checking for system updates...
[2026-10-20 07:30:23,160.160 INFO    ] 200
[2026-10-20 07:30:23,162.162 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:30:23,214.214 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:30:23,216.216 INFO    ] No update needed
[2026-10-20 07:30:23,219.219 INFO    ] Checking for camera pi updates...
[2026-10-20 07:30:23,252.252 INFO    ] 200
[2026-10-20 07:30:23,254.254 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:30:23,300.300 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:30:23,347.347 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:30:23,350.350 INFO    ] No camera update needed
[2026-10-20 07:30:23,352.352 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:30:23,354.354 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:30:23,360.360 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:30:23,365.365 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:30:25,404.404 INFO    ] ================================================
[2026-10-20 07:30:25,420.420 INFO    ] Launching Daemon at Tue Oct 20 07:30:25 IST 2026
[2026-10-20 07:30:25,431.431 INFO    ] ================================================
[2026-10-20 07:30:26,078.078 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:30:26
[2026-10-20 07:30:26,745.745 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:30:27,047.047 INFO    ] Initializing speech engine...
[2026-10-20 07:30:27,060.060 INFO    ] 2026-10-20 07:30:27
[2026-10-20 07:30:27,369.369 INFO    ] 2026-10-20 07:30:27
[2026-10-20 07:30:27,455.455 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:30:27,669.669 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:30:27,673.673 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:30:27,870.870 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:30:27,887.887 INFO    ] time= 20/10/2026 07:30:27
[2026-10-20 07:30:27,918.918 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:30:27,928.928 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:30:28,053.053 INFO    ] No existing commands found in stream
[2026-10-20 07:30:33,079.079 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:30:33,082.082 INFO    ] Waiting 0.49 seconds before fallback handling...
[2026-10-20 07:30:34,130.130 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:30:34,133.133 INFO    ] Checking for system updates...
[2026-10-20 07:30:34,174.174 INFO    ] 200
[2026-10-20 07:30:34,176.176 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:30:34,229.229 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:30:34,231.231 INFO    ] No update needed
[2026-10-20 07:30:34,237.237 INFO    ] Checking for camera pi updates...
[2026-10-20 07:30:34,274.274 INFO    ] 200
[2026-10-20 07:30:34,276.276 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:30:34,321.321 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:30:34,361.361 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:30:34,363.363 INFO    ] No camera update needed
[2026-10-20 07:30:34,366.366 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:30:34,368.368 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:30:34,373.373 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:30:34,378.378 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:30:36,419.419 INFO    ] ================================================
[2026-10-20 07:30:36,435.435 INFO    ] Launching Daemon at Tue Oct 20 07:30:36 IST 2026
[2026-10-20 07:30:36,446.446 INFO    ] ================================================
[2026-10-20 07:30:37,094.094 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:30:37
[2026-10-20 07:30:37,761.761 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:30:38,062.062 INFO    ] Initializing speech engine...
[2026-10-20 07:30:38,074.074 INFO    ] 2026-10-20 07:30:38
[2026-10-20 07:30:38,353.353 INFO    ] 2026-10-20 07:30:38
[2026-10-20 07:30:38,398.398 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:30:38,688.688 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:30:38,694.694 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:30:38,891.891 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:30:38,910.910 INFO    ] time= 20/10/2026 07:30:38
[2026-10-20 07:30:38,920.920 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:30:38,950.950 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:30:39,065.065 INFO    ] No existing commands found in stream
[2026-10-20 07:30:44,100.100 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:30:44,103.103 INFO    ] Waiting 2.92 seconds before fallback handling...
[2026-10-20 07:30:47,603.603 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:30:47,606.606 INFO    ] Checking for system updates...
[2026-10-20 07:30:47,643.643 INFO    ] 200
[2026-10-20 07:30:47,646.646 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:30:47,699.699 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:30:47,702.702 INFO    ] No update needed
[2026-10-20 07:30:47,705.705 INFO    ] Checking for camera pi updates...
[2026-10-20 07:30:47,739.739 INFO    ] 200
[2026-10-20 07:30:47,742.742 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:30:47,791.791 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:30:47,838.838 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:30:47,840.840 INFO    ] No camera update needed
[2026-10-20 07:30:47,843.843 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:30:47,845.845 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:30:47,850.850 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:30:47,855.855 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:30:49,895.895 INFO    ] ================================================
[2026-10-20 07:30:49,910.910 INFO    ] Launching Daemon at Tue Oct 20 07:30:49 IST 2026
[2026-10-20 07:30:49,922.922 INFO    ] ================================================
[2026-10-20 07:30:50,490.490 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:30:50
[2026-10-20 07:30:51,074.074 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:30:51,357.357 INFO    ] Initializing speech engine...
[2026-10-20 07:30:51,367.367 INFO    ] 2026-10-20 07:30:51
[2026-10-20 07:30:51,632.632 INFO    ] 2026-10-20 07:30:51
[2026-10-20 07:30:51,667.667 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:30:51,889.889 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:30:51,895.895 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:30:52,113.113 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:30:52,120.120 INFO    ] time= 20/10/2026 07:30:52
[2026-10-20 07:30:52,159.159 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:30:52,218.218 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:30:52,394.394 INFO    ] No existing commands found in stream
[2026-10-20 07:30:57,414.414 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:30:57,417.417 INFO    ] Waiting 1.94 seconds before fallback handling...
[2026-10-20 07:30:59,819.819 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:30:59,822.822 INFO    ] Checking for system updates...
[2026-10-20 07:30:59,857.857 INFO    ] 200
[2026-10-20 07:30:59,860.860 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:30:59,912.912 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:30:59,915.915 INFO    ] No update needed
[2026-10-20 07:30:59,917.917 INFO    ] Checking for camera pi updates...
[2026-10-20 07:30:59,951.951 INFO    ] 200
[2026-10-20 07:30:59,954.954 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:30:59,995.995 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:31:00,045.045 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:31:00,047.047 INFO    ] No camera update needed
[2026-10-20 07:31:00,050.050 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:31:00,053.053 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:31:00,059.059 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:31:00,065.065 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:31:02,125.125 INFO    ] ================================================
[2026-10-20 07:31:02,146.146 INFO    ] Launching Daemon at Tue Oct 20 07:31:02 IST 2026
[2026-10-20 07:31:02,158.158 INFO    ] ================================================
[2026-10-20 07:31:02,807.807 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:31:02
[2026-10-20 07:31:03,420.420 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:31:03,675.675 INFO    ] Initializing speech engine...
[2026-10-20 07:31:03,699.699 INFO    ] 2026-10-20 07:31:03
[2026-10-20 07:31:03,964.964 INFO    ] 2026-10-20 07:31:03
[2026-10-20 07:31:04,002.002 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:31:04,252.252 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:31:04,270.270 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:31:04,504.504 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:31:04,536.536 INFO    ] time= 20/10/2026 07:31:04
[2026-10-20 07:31:04,554.554 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:31:04,563.563 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:31:04,695.695 INFO    ] No existing commands found in stream
[2026-10-20 07:31:09,720.720 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:31:09,723.723 INFO    ] Waiting 1.94 seconds before fallback handling...
[2026-10-20 07:31:12,212.212 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:31:12,215.215 INFO    ] Checking for system updates...
[2026-10-20 07:31:12,250.250 INFO    ] 200
[2026-10-20 07:31:12,252.252 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:31:12,313.313 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:31:12,316.316 INFO    ] No update needed
[2026-10-20 07:31:12,318.318 INFO    ] Checking for camera pi updates...
[2026-10-20 07:31:12,354.354 INFO    ] 200
[2026-10-20 07:31:12,356.356 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:31:12,396.396 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:31:12,454.454 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:31:12,457.457 INFO    ] No camera update needed
[2026-10-20 07:31:12,459.459 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:31:12,461.461 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:31:12,467.467 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:31:12,472.472 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:31:14,512.512 INFO    ] ================================================
[2026-10-20 07:31:14,527.527 INFO    ] Launching Daemon at Tue Oct 20 07:31:14 IST 2026
[2026-10-20 07:31:14,539.539 INFO    ] ================================================
[2026-10-20 07:31:15,117.117 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:31:15
[2026-10-20 07:31:15,710.710 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:31:15,985.985 INFO    ] Initializing speech engine...
[2026-10-20 07:31:15,992.992 INFO    ] 2026-10-20 07:31:15
[2026-10-20 07:31:16,239.239 INFO    ] 2026-10-20 07:31:16
[2026-10-20 07:31:16,274.274 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:31:16,529.529 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:31:16,533.533 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:31:16,764.764 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:31:16,790.790 INFO    ] time= 20/10/2026 07:31:16
[2026-10-20 07:31:16,796.796 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:31:16,811.811 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:31:16,945.945 INFO    ] No existing commands found in stream
[2026-10-20 07:31:21,968.968 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:31:21,971.971 INFO    ] Waiting 3.93 seconds before fallback handling...
[2026-10-20 07:31:26,427.427 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:31:26,430.430 INFO    ] Checking for system updates...
[2026-10-20 07:31:26,465.465 INFO    ] 200
[2026-10-20 07:31:26,467.467 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:31:26,519.519 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:31:26,522.522 INFO    ] No update needed
[2026-10-20 07:31:26,524.524 INFO    ] Checking for camera pi updates...
[2026-10-20 07:31:26,561.561 INFO    ] 200
[2026-10-20 07:31:26,563.563 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:31:26,606.606 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:31:26,748.748 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:31:26,751.751 INFO    ] No camera update needed
[2026-10-20 07:31:26,753.753 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:31:26,755.755 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:31:26,761.761 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:31:26,766.766 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:31:28,807.807 INFO    ] ================================================
[2026-10-20 07:31:28,823.823 INFO    ] Launching Daemon at Tue Oct 20 07:31:28 IST 2026
[2026-10-20 07:31:28,834.834 INFO    ] ================================================
[2026-10-20 07:31:29,415.415 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:31:29
[2026-10-20 07:31:30,016.016 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:31:30,277.277 INFO    ] Initializing speech engine...
[2026-10-20 07:31:30,285.285 INFO    ] 2026-10-20 07:31:30
[2026-10-20 07:31:30,577.577 INFO    ] 2026-10-20 07:31:30
[2026-10-20 07:31:30,615.615 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:31:30,897.897 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:31:30,907.907 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:31:31,056.056 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:31:31,104.104 INFO    ] time= 20/10/2026 07:31:31
[2026-10-20 07:31:31,169.169 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:31:31,207.207 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:31:31,358.358 INFO    ] No existing commands found in stream
[2026-10-20 07:31:36,381.381 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:31:36,384.384 INFO    ] Waiting 0.78 seconds before fallback handling...
[2026-10-20 07:31:37,685.685 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:31:37,688.688 INFO    ] Checking for system updates...
[2026-10-20 07:31:37,724.724 INFO    ] 200
[2026-10-20 07:31:37,727.727 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:31:37,788.788 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:31:37,790.790 INFO    ] No update needed
[2026-10-20 07:31:37,793.793 INFO    ] Checking for camera pi updates...
[2026-10-20 07:31:37,829.829 INFO    ] 200
[2026-10-20 07:31:37,832.832 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:31:37,871.871 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:31:37,922.922 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:31:37,924.924 INFO    ] No camera update needed
[2026-10-20 07:31:37,926.926 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:31:37,929.929 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:31:37,935.935 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:31:37,940.940 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:31:39,980.980 INFO    ] ================================================
[2026-10-20 07:31:40,996.996 INFO    ] Launching Daemon at Tue Oct 20 07:31:39 IST 2026
[2026-10-20 07:31:40,007.007 INFO    ] ================================================
[2026-10-20 07:31:40,643.643 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:31:40
[2026-10-20 07:31:41,299.299 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:31:41,595.595 INFO    ] Initializing speech engine...
[2026-10-20 07:31:41,608.608 INFO    ] 2026-10-20 07:31:41
[2026-10-20 07:31:41,915.915 INFO    ] 2026-10-20 07:31:41
[2026-10-20 07:31:42,000.000 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:31:42,212.212 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:31:42,216.216 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:31:42,412.412 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:31:42,430.430 INFO    ] time= 20/10/2026 07:31:42
[2026-10-20 07:31:42,439.439 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:31:42,466.466 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:31:42,597.597 INFO    ] No existing commands found in stream
[2026-10-20 07:31:47,623.623 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:31:47,626.626 INFO    ] Waiting 1.39 seconds before fallback handling...
[2026-10-20 07:31:49,547.547 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:31:49,550.550 INFO    ] Checking for system updates...
[2026-10-20 07:31:49,590.590 INFO    ] 200
[2026-10-20 07:31:49,593.593 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:31:49,655.655 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:31:49,657.657 INFO    ] No update needed
[2026-10-20 07:31:49,660.660 INFO    ] Checking for camera pi updates...
[2026-10-20 07:31:49,694.694 INFO    ] 200
[2026-10-20 07:31:49,696.696 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:31:49,740.740 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:31:49,788.788 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:31:49,791.791 INFO    ] No camera update needed
[2026-10-20 07:31:49,793.793 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:31:49,795.795 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:31:49,801.801 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:31:49,806.806 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:31:51,845.845 INFO    ] ================================================
[2026-10-20 07:31:51,861.861 INFO    ] Launching Daemon at Tue Oct 20 07:31:51 IST 2026
[2026-10-20 07:31:51,872.872 INFO    ] ================================================
[2026-10-20 07:31:52,437.437 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:31:52
[2026-10-20 07:31:53,017.017 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:31:53,288.288 INFO    ] Initializing speech engine...
[2026-10-20 07:31:53,295.295 INFO    ] 2026-10-20 07:31:53
[2026-10-20 07:31:53,546.546 INFO    ] 2026-10-20 07:31:53
[2026-10-20 07:31:53,581.581 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:31:53,815.815 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:31:53,842.842 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:31:54,078.078 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:31:54,115.115 INFO    ] time= 20/10/2026 07:31:54
[2026-10-20 07:31:54,121.121 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:31:54,138.138 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:31:54,277.277 INFO    ] No existing commands found in stream
[2026-10-20 07:31:59,303.303 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:31:59,305.305 INFO    ] Waiting 3.77 seconds before fallback handling...
[2026-10-20 07:32:03,599.599 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:32:03,602.602 INFO    ] Checking for system updates...
[2026-10-20 07:32:03,639.639 INFO    ] 200
[2026-10-20 07:32:03,642.642 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:32:03,693.693 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:32:03,695.695 INFO    ] No update needed
[2026-10-20 07:32:03,698.698 INFO    ] Checking for camera pi updates...
[2026-10-20 07:32:03,731.731 INFO    ] 200
[2026-10-20 07:32:03,733.733 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:32:03,777.777 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:32:03,828.828 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:32:03,831.831 INFO    ] No camera update needed
[2026-10-20 07:32:03,833.833 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:32:03,835.835 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:32:03,841.841 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:32:03,846.846 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:32:05,885.885 INFO    ] ================================================
[2026-10-20 07:32:05,901.901 INFO    ] Launching Daemon at Tue Oct 20 07:32:05 IST 2026
[2026-10-20 07:32:05,912.912 INFO    ] ================================================
[2026-10-20 07:32:06,493.493 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:32:06
[2026-10-20 07:32:07,091.091 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:32:07,365.365 INFO    ] Initializing speech engine...
[2026-10-20 07:32:07,381.381 INFO    ] 2026-10-20 07:32:07
[2026-10-20 07:32:07,654.654 INFO    ] 2026-10-20 07:32:07
[2026-10-20 07:32:07,692.692 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:32:07,918.918 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:32:07,983.983 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:32:08,143.143 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:32:08,183.183 INFO    ] time= 20/10/2026 07:32:08
[2026-10-20 07:32:08,232.232 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:32:08,287.287 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:32:08,419.419 INFO    ] No existing commands found in stream
[2026-10-20 07:32:13,442.442 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:32:13,444.444 INFO    ] Waiting 1.58 seconds before fallback handling...
[2026-10-20 07:32:15,560.560 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:32:15,563.563 INFO    ] Checking for system updates...
[2026-10-20 07:32:15,602.602 INFO    ] 200
[2026-10-20 07:32:15,605.605 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:32:15,662.662 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:32:15,665.665 INFO    ] No update needed
[2026-10-20 07:32:15,667.667 INFO    ] Checking for camera pi updates...
[2026-10-20 07:32:15,701.701 INFO    ] 200
[2026-10-20 07:32:15,703.703 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:32:15,743.743 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:32:15,804.804 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:32:15,806.806 INFO    ] No camera update needed
[2026-10-20 07:32:15,809.809 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:32:15,811.811 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:32:15,817.817 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:32:15,822.822 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:32:17,862.862 INFO    ] ================================================
[2026-10-20 07:32:17,877.877 INFO    ] Launching Daemon at Tue Oct 20 07:32:17 IST 2026
[2026-10-20 07:32:17,887.887 INFO    ] ================================================
[2026-10-20 07:32:18,534.534 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:32:18
[2026-10-20 07:32:19,120.120 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:32:19,374.374 INFO    ] Initializing speech engine...
[2026-10-20 07:32:19,396.396 INFO    ] 2026-10-20 07:32:19
[2026-10-20 07:32:19,653.653 INFO    ] 2026-10-20 07:32:19
[2026-10-20 07:32:19,687.687 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:32:19,890.890 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:32:19,949.949 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:32:20,094.094 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:32:20,153.153 INFO    ] time= 20/10/2026 07:32:20
[2026-10-20 07:32:20,202.202 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:32:20,228.228 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:32:20,375.375 INFO    ] No existing commands found in stream
[2026-10-20 07:32:25,392.392 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:32:25,395.395 INFO    ] Waiting 1.14 seconds before fallback handling...
[2026-10-20 07:32:27,086.086 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:32:27,090.090 INFO    ] Checking for system updates...
[2026-10-20 07:32:27,130.130 INFO    ] 200
[2026-10-20 07:32:27,133.133 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:32:27,185.185 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:32:27,188.188 INFO    ] No update needed
[2026-10-20 07:32:27,191.191 INFO    ] Checking for camera pi updates...
[2026-10-20 07:32:27,225.225 INFO    ] 200
[2026-10-20 07:32:27,227.227 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:32:27,273.273 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:32:27,322.322 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:32:27,325.325 INFO    ] No camera update needed
[2026-10-20 07:32:27,327.327 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:32:27,330.330 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:32:27,336.336 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:32:27,342.342 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:32:29,383.383 INFO    ] ================================================
[2026-10-20 07:32:29,398.398 INFO    ] Launching Daemon at Tue Oct 20 07:32:29 IST 2026
[2026-10-20 07:32:29,409.409 INFO    ] ================================================
[2026-10-20 07:32:29,975.975 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:32:29
[2026-10-20 07:32:30,644.644 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:32:30,947.947 INFO    ] Initializing speech engine...
[2026-10-20 07:32:30,953.953 INFO    ] 2026-10-20 07:32:30
[2026-10-20 07:32:31,241.241 INFO    ] 2026-10-20 07:32:31
[2026-10-20 07:32:31,279.279 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:32:31,548.548 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:32:31,555.555 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:32:31,713.713 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:32:31,799.799 INFO    ] time= 20/10/2026 07:32:31
[2026-10-20 07:32:31,838.838 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:32:31,859.859 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:32:32,007.007 INFO    ] No existing commands found in stream
[2026-10-20 07:32:37,031.031 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:32:37,034.034 INFO    ] Waiting 0.16 seconds before fallback handling...
[2026-10-20 07:32:37,681.681 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:32:37,684.684 INFO    ] Checking for system updates...
[2026-10-20 07:32:37,719.719 INFO    ] 200
[2026-10-20 07:32:37,722.722 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:32:37,784.784 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:32:37,786.786 INFO    ] No update needed
[2026-10-20 07:32:37,789.789 INFO    ] Checking for camera pi updates...
[2026-10-20 07:32:37,822.822 INFO    ] 200
[2026-10-20 07:32:37,824.824 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:32:37,873.873 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:32:37,927.927 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:32:37,930.930 INFO    ] No camera update needed
[2026-10-20 07:32:37,932.932 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:32:37,935.935 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:32:37,940.940 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:32:37,945.945 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:32:39,984.984 INFO    ] ================================================
[2026-10-20 07:32:40,000.000 INFO    ] Launching Daemon at Tue Oct 20 07:32:39 IST 2026
[2026-10-20 07:32:40,011.011 INFO    ] ================================================
[2026-10-20 07:32:40,593.593 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:32:40
[2026-10-20 07:32:41,191.191 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:32:41,474.474 INFO    ] Initializing speech engine...
[2026-10-20 07:32:41,481.481 INFO    ] 2026-10-20 07:32:41
[2026-10-20 07:32:41,744.744 INFO    ] 2026-10-20 07:32:41
[2026-10-20 07:32:41,798.798 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:32:42,055.055 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:32:42,088.088 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:32:42,284.284 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:32:42,295.295 INFO    ] time= 20/10/2026 07:32:42
[2026-10-20 07:32:42,313.313 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:32:42,341.341 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:32:42,468.468 INFO    ] No existing commands found in stream
[2026-10-20 07:32:47,493.493 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:32:47,496.496 INFO    ] Waiting 3.21 seconds before fallback handling...
[2026-10-20 07:32:51,258.258 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:32:51,261.261 INFO    ] Checking for system updates...
[2026-10-20 07:32:51,297.297 INFO    ] 200
[2026-10-20 07:32:51,300.300 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:32:51,353.353 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:32:51,356.356 INFO    ] No update needed
[2026-10-20 07:32:51,359.359 INFO    ] Checking for camera pi updates...
[2026-10-20 07:32:51,397.397 INFO    ] 200
[2026-10-20 07:32:51,400.400 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:32:51,445.445 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:32:51,499.499 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:32:51,502.502 INFO    ] No camera update needed
[2026-10-20 07:32:51,505.505 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:32:51,508.508 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:32:51,514.514 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:32:51,520.520 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:32:53,560.560 INFO    ] ================================================
[2026-10-20 07:32:53,576.576 INFO    ] Launching Daemon at Tue Oct 20 07:32:53 IST 2026
[2026-10-20 07:32:53,587.587 INFO    ] ================================================
[2026-10-20 07:32:54,172.172 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:32:54
[2026-10-20 07:32:54,773.773 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:32:55,035.035 INFO    ] Initializing speech engine...
[2026-10-20 07:32:55,042.042 INFO    ] 2026-10-20 07:32:55
[2026-10-20 07:32:55,344.344 INFO    ] 2026-10-20 07:32:55
[2026-10-20 07:32:55,383.383 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:32:55,677.677 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:32:55,687.687 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:32:55,841.841 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:32:55,869.869 INFO    ] time= 20/10/2026 07:32:55
[2026-10-20 07:32:55,928.928 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:32:55,977.977 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:32:56,130.130 INFO    ] No existing commands found in stream
[2026-10-20 07:33:01,160.160 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:33:01,164.164 INFO    ] Waiting 1.54 seconds before fallback handling...
[2026-10-20 07:33:03,250.250 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:33:03,252.252 INFO    ] Checking for system updates...
[2026-10-20 07:33:03,288.288 INFO    ] 200
[2026-10-20 07:33:03,290.290 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:33:03,354.354 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:33:03,357.357 INFO    ] No update needed
[2026-10-20 07:33:03,359.359 INFO    ] Checking for camera pi updates...
[2026-10-20 07:33:03,392.392 INFO    ] 200
[2026-10-20 07:33:03,395.395 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:33:03,441.441 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:33:03,491.491 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:33:03,494.494 INFO    ] No camera update needed
[2026-10-20 07:33:03,496.496 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:33:03,498.498 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:33:03,504.504 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:33:03,509.509 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:33:05,551.551 INFO    ] ================================================
[2026-10-20 07:33:05,566.566 INFO    ] Launching Daemon at Tue Oct 20 07:33:05 IST 2026
[2026-10-20 07:33:05,577.577 INFO    ] ================================================
[2026-10-20 07:33:06,252.252 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:33:06
[2026-10-20 07:33:06,947.947 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:33:07,266.266 INFO    ] Initializing speech engine...
[2026-10-20 07:33:07,279.279 INFO    ] 2026-10-20 07:33:07
[2026-10-20 07:33:07,596.596 INFO    ] 2026-10-20 07:33:07
[2026-10-20 07:33:07,686.686 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:33:07,907.907 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:33:07,912.912 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:33:08,105.105 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:33:08,122.122 INFO    ] time= 20/10/2026 07:33:08
[2026-10-20 07:33:08,144.144 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:33:08,171.171 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:33:08,297.297 INFO    ] No existing commands found in stream
[2026-10-20 07:33:13,323.323 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:33:13,326.326 INFO    ] Waiting 2.88 seconds before fallback handling...
[2026-10-20 07:33:16,781.781 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:33:16,785.785 INFO    ] Checking for system updates...
[2026-10-20 07:33:16,827.827 INFO    ] 200
[2026-10-20 07:33:16,830.830 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:33:16,884.884 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:33:16,886.886 INFO    ] No update needed
[2026-10-20 07:33:16,889.889 INFO    ] Checking for camera pi updates...
[2026-10-20 07:33:16,925.925 INFO    ] 200
[2026-10-20 07:33:16,928.928 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:33:16,970.970 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:33:17,020.020 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:33:17,023.023 INFO    ] No camera update needed
[2026-10-20 07:33:17,026.026 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:33:17,029.029 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:33:17,036.036 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:33:17,042.042 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:33:19,084.084 INFO    ] ================================================
[2026-10-20 07:33:19,099.099 INFO    ] Launching Daemon at Tue Oct 20 07:33:19 IST 2026
[2026-10-20 07:33:19,109.109 INFO    ] ================================================
[2026-10-20 07:33:19,692.692 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:33:19
[2026-10-20 07:33:20,290.290 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:33:20,566.566 INFO    ] Initializing speech engine...
[2026-10-20 07:33:20,571.571 INFO    ] 2026-10-20 07:33:20
[2026-10-20 07:33:20,832.832 INFO    ] 2026-10-20 07:33:20
[2026-10-20 07:33:20,883.883 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:33:21,111.111 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:33:21,117.117 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:33:21,333.333 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:33:21,372.372 INFO    ] time= 20/10/2026 07:33:21
[2026-10-20 07:33:21,389.389 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:33:21,397.397 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:33:21,526.526 INFO    ] No existing commands found in stream
[2026-10-20 07:33:26,545.545 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:33:26,548.548 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-10-20 07:33:30,229.229 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 07:33:30,232.232 INFO    ] Checking for system updates...
[2026-10-20 07:33:30,268.268 INFO    ] 200
[2026-10-20 07:33:30,271.271 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:33:30,332.332 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:33:30,335.335 INFO    ] No update needed
[2026-10-20 07:33:30,338.338 INFO    ] Checking for camera pi updates...
[2026-10-20 07:33:30,373.373 INFO    ] 200
[2026-10-20 07:33:30,376.376 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:33:30,423.423 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:33:30,573.573 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:33:30,576.576 INFO    ] No camera update needed
[2026-10-20 07:33:30,579.579 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:33:30,582.582 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:33:30,588.588 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:33:30,594.594 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:33:32,639.639 INFO    ] ================================================
[2026-10-20 07:33:32,653.653 INFO    ] Launching Daemon at Tue Oct 20 07:33:32 IST 2026
[2026-10-20 07:33:32,664.664 INFO    ] ================================================
[2026-10-20 07:33:33,238.238 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:33:33
[2026-10-20 07:33:33,823.823 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:33:34,070.070 INFO    ] Initializing speech engine...
[2026-10-20 07:33:34,076.076 INFO    ] 2026-10-20 07:33:34
[2026-10-20 07:33:34,352.352 INFO    ] 2026-10-20 07:33:34
[2026-10-20 07:33:34,386.386 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:33:34,590.590 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:33:34,649.649 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:33:34,793.793 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:33:34,848.848 INFO    ] time= 20/10/2026 07:33:34
[2026-10-20 07:33:34,897.897 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:33:34,927.927 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:33:35,046.046 INFO    ] No existing commands found in stream
[2026-10-20 07:33:40,073.073 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:33:40,076.076 INFO    ] Waiting 0.59 seconds before fallback handling...
[2026-10-20 07:33:41,147.147 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 07:33:41,150.150 INFO    ] Checking for system updates...
[2026-10-20 07:33:41,190.190 INFO    ] 200
[2026-10-20 07:33:41,192.192 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:33:41,253.253 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:33:41,255.255 INFO    ] No update needed
[2026-10-20 07:33:41,257.257 INFO    ] Checking for camera pi updates...
[2026-10-20 07:33:41,295.295 INFO    ] 200
[2026-10-20 07:33:41,297.297 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:33:41,337.337 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:33:41,387.387 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:33:41,390.390 INFO    ] No camera update needed
[2026-10-20 07:33:41,392.392 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:33:41,395.395 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:33:41,400.400 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:33:41,405.405 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:33:43,447.447 INFO    ] ================================================
[2026-10-20 07:33:43,463.463 INFO    ] Launching Daemon at Tue Oct 20 07:33:43 IST 2026
[2026-10-20 07:33:43,474.474 INFO    ] ================================================
[2026-10-20 07:33:44,053.053 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:33:44
[2026-10-20 07:33:44,654.654 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:33:44,919.919 INFO    ] Initializing speech engine...
[2026-10-20 07:33:44,935.935 INFO    ] 2026-10-20 07:33:44
[2026-10-20 07:33:45,227.227 INFO    ] 2026-10-20 07:33:45
[2026-10-20 07:33:45,262.262 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:33:45,469.469 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:33:45,481.481 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:33:45,648.648 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:33:45,657.657 INFO    ] time= 20/10/2026 07:33:45
[2026-10-20 07:33:45,662.662 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:33:45,668.668 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:33:45,819.819 INFO    ] No existing commands found in stream
[2026-10-20 07:33:50,844.844 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:33:50,847.847 INFO    ] Waiting 3.80 seconds before fallback handling...
[2026-10-20 07:33:55,162.162 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:33:55,165.165 INFO    ] Checking for system updates...
[2026-10-20 07:33:55,201.201 INFO    ] 200
[2026-10-20 07:33:55,203.203 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:33:55,255.255 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:33:55,258.258 INFO    ] No update needed
[2026-10-20 07:33:55,260.260 INFO    ] Checking for camera pi updates...
[2026-10-20 07:33:55,294.294 INFO    ] 200
[2026-10-20 07:33:55,296.296 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:33:55,336.336 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:33:55,381.381 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:33:55,383.383 INFO    ] No camera update needed
[2026-10-20 07:33:55,386.386 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:33:55,389.389 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:33:55,395.395 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:33:55,400.400 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:33:57,440.440 INFO    ] ================================================
[2026-10-20 07:33:57,455.455 INFO    ] Launching Daemon at Tue Oct 20 07:33:57 IST 2026
[2026-10-20 07:33:57,467.467 INFO    ] ================================================
[2026-10-20 07:33:58,083.083 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:33:58
[2026-10-20 07:33:58,770.770 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:33:59,081.081 INFO    ] Initializing speech engine...
[2026-10-20 07:33:59,094.094 INFO    ] 2026-10-20 07:33:59
[2026-10-20 07:33:59,381.381 INFO    ] 2026-10-20 07:33:59
[2026-10-20 07:33:59,472.472 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:33:59,719.719 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:33:59,729.729 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:33:59,924.924 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:33:59,943.943 INFO    ] time= 20/10/2026 07:33:59
[2026-10-20 07:33:59,964.964 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:33:59,984.984 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:34:00,120.120 INFO    ] No existing commands found in stream
[2026-10-20 07:34:05,146.146 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:34:05,149.149 INFO    ] Waiting 0.94 seconds before fallback handling...
[2026-10-20 07:34:06,614.614 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:34:06,618.618 INFO    ] Checking for system updates...
[2026-10-20 07:34:06,655.655 INFO    ] 200
[2026-10-20 07:34:06,657.657 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:34:06,712.712 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:34:06,714.714 INFO    ] No update needed
[2026-10-20 07:34:06,716.716 INFO    ] Checking for camera pi updates...
[2026-10-20 07:34:06,753.753 INFO    ] 200
[2026-10-20 07:34:06,755.755 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:34:06,795.795 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:34:06,846.846 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:34:06,848.848 INFO    ] No camera update needed
[2026-10-20 07:34:06,853.853 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:34:06,856.856 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:34:06,862.862 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:34:06,868.868 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:34:08,909.909 INFO    ] ================================================
[2026-10-20 07:34:08,924.924 INFO    ] Launching Daemon at Tue Oct 20 07:34:08 IST 2026
[2026-10-20 07:34:08,935.935 INFO    ] ================================================
[2026-10-20 07:34:09,508.508 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:34:09
[2026-10-20 07:34:10,098.098 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:34:10,372.372 INFO    ] Initializing speech engine...
[2026-10-20 07:34:10,381.381 INFO    ] 2026-10-20 07:34:10
[2026-10-20 07:34:10,632.632 INFO    ] 2026-10-20 07:34:10
[2026-10-20 07:34:10,667.667 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:34:10,869.869 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:34:10,929.929 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:34:11,075.075 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:34:11,120.120 INFO    ] time= 20/10/2026 07:34:11
[2026-10-20 07:34:11,164.164 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:34:11,210.210 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:34:11,338.338 INFO    ] No existing commands found in stream
[2026-10-20 07:34:16,363.363 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:34:16,366.366 INFO    ] Waiting 3.49 seconds before fallback handling...
[2026-10-20 07:34:20,361.361 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:34:20,364.364 INFO    ] Checking for system updates...
[2026-10-20 07:34:20,403.403 INFO    ] 200
[2026-10-20 07:34:20,406.406 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:34:20,460.460 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:34:20,462.462 INFO    ] No update needed
[2026-10-20 07:34:20,465.465 INFO    ] Checking for camera pi updates...
[2026-10-20 07:34:20,507.507 INFO    ] 200
[2026-10-20 07:34:20,510.510 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:34:20,552.552 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:34:20,601.601 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:34:20,604.604 INFO    ] No camera update needed
[2026-10-20 07:34:20,606.606 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:34:20,609.609 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:34:20,615.615 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:34:20,621.621 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:34:22,661.661 INFO    ] ================================================
[2026-10-20 07:34:22,676.676 INFO    ] Launching Daemon at Tue Oct 20 07:34:22 IST 2026
[2026-10-20 07:34:22,687.687 INFO    ] ================================================
[2026-10-20 07:34:23,341.341 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:34:23
[2026-10-20 07:34:24,015.015 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:34:24,324.324 INFO    ] Initializing speech engine...
[2026-10-20 07:34:24,336.336 INFO    ] 2026-10-20 07:34:24
[2026-10-20 07:34:24,621.621 INFO    ] 2026-10-20 07:34:24
[2026-10-20 07:34:24,667.667 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:34:24,901.901 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:34:24,907.907 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:34:25,136.136 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:34:25,172.172 INFO    ] time= 20/10/2026 07:34:25
[2026-10-20 07:34:25,189.189 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:34:25,220.220 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:34:25,351.351 INFO    ] No existing commands found in stream
[2026-10-20 07:34:30,382.382 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:34:30,385.385 INFO    ] Waiting 0.38 seconds before fallback handling...
[2026-10-20 07:34:31,307.307 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:34:31,311.311 INFO    ] Checking for system updates...
[2026-10-20 07:34:31,350.350 INFO    ] 200
[2026-10-20 07:34:31,353.353 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:34:31,411.411 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:34:31,414.414 INFO    ] No update needed
[2026-10-20 07:34:31,418.418 INFO    ] Checking for camera pi updates...
[2026-10-20 07:34:31,454.454 INFO    ] 200
[2026-10-20 07:34:31,457.457 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:34:31,505.505 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:34:31,563.563 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:34:31,566.566 INFO    ] No camera update needed
[2026-10-20 07:34:31,570.570 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:34:31,573.573 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:34:31,580.580 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:34:31,586.586 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:34:33,628.628 INFO    ] ================================================
[2026-10-20 07:34:33,643.643 INFO    ] Launching Daemon at Tue Oct 20 07:34:33 IST 2026
[2026-10-20 07:34:33,653.653 INFO    ] ================================================
[2026-10-20 07:34:34,220.220 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:34:34
[2026-10-20 07:34:34,805.805 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:34:35,076.076 INFO    ] Initializing speech engine...
[2026-10-20 07:34:35,086.086 INFO    ] 2026-10-20 07:34:35
[2026-10-20 07:34:35,335.335 INFO    ] 2026-10-20 07:34:35
[2026-10-20 07:34:35,370.370 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:34:35,628.628 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:34:35,637.637 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:34:35,780.780 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:34:35,834.834 INFO    ] time= 20/10/2026 07:34:35
[2026-10-20 07:34:35,888.888 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:34:35,908.908 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:34:36,061.061 INFO    ] No existing commands found in stream
[2026-10-20 07:34:41,075.075 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:34:41,078.078 INFO    ] Waiting 2.92 seconds before fallback handling...
[2026-10-20 07:34:45,369.369 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:34:45,372.372 INFO    ] Checking for system updates...
[2026-10-20 07:34:45,409.409 INFO    ] 200
[2026-10-20 07:34:45,412.412 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:34:45,464.464 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:34:45,467.467 INFO    ] No update needed
[2026-10-20 07:34:45,470.470 INFO    ] Checking for camera pi updates...
[2026-10-20 07:34:45,504.504 INFO    ] 200
[2026-10-20 07:34:45,507.507 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:34:45,553.553 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:34:45,586.586 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:34:45,588.588 INFO    ] No camera update needed
[2026-10-20 07:34:45,591.591 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:34:45,593.593 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:34:45,598.598 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:34:45,603.603 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:34:47,643.643 INFO    ] ================================================
[2026-10-20 07:34:47,659.659 INFO    ] Launching Daemon at Tue Oct 20 07:34:47 IST 2026
[2026-10-20 07:34:47,669.669 INFO    ] ================================================
[2026-10-20 07:34:48,331.331 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:34:48
[2026-10-20 07:34:48,974.974 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:34:49,221.221 INFO    ] Initializing speech engine...
[2026-10-20 07:34:49,228.228 INFO    ] 2026-10-20 07:34:49
[2026-10-20 07:34:49,501.501 INFO    ] 2026-10-20 07:34:49
[2026-10-20 07:34:49,537.537 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:34:49,739.739 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:34:49,790.790 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:34:49,939.939 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:34:49,976.976 INFO    ] time= 20/10/2026 07:34:49
[2026-10-20 07:34:50,035.035 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:34:50,075.075 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:34:50,217.217 INFO    ] No existing commands found in stream
[2026-10-20 07:34:55,239.239 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:34:55,241.241 INFO    ] Waiting 0.28 seconds before fallback handling...
[2026-10-20 07:34:56,041.041 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:34:56,044.044 INFO    ] Checking for system updates...
[2026-10-20 07:34:56,080.080 INFO    ] 200
[2026-10-20 07:34:56,083.083 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:34:56,135.135 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:34:56,138.138 INFO    ] No update needed
[2026-10-20 07:34:56,141.141 INFO    ] Checking for camera pi updates...
[2026-10-20 07:34:56,175.175 INFO    ] 200
[2026-10-20 07:34:56,178.178 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:34:56,224.224 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:34:56,270.270 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:34:56,273.273 INFO    ] No camera update needed
[2026-10-20 07:34:56,275.275 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:34:56,277.277 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:34:56,282.282 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:34:56,287.287 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:34:58,328.328 INFO    ] ================================================
[2026-10-20 07:34:58,344.344 INFO    ] Launching Daemon at Tue Oct 20 07:34:58 IST 2026
[2026-10-20 07:34:58,357.357 INFO    ] ================================================
[2026-10-20 07:34:59,013.013 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:34:59
[2026-10-20 07:34:59,689.689 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:34:59,972.972 INFO    ] Initializing speech engine...
[2026-10-20 07:34:59,978.978 INFO    ] 2026-10-20 07:34:59
[2026-10-20 07:35:00,239.239 INFO    ] 2026-10-20 07:35:00
[2026-10-20 07:35:00,269.269 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:35:00,515.515 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:35:00,524.524 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:35:00,722.722 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:35:00,782.782 INFO    ] time= 20/10/2026 07:35:00
[2026-10-20 07:35:00,789.789 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:35:00,807.807 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:35:00,950.950 INFO    ] No existing commands found in stream
[2026-10-20 07:35:05,987.987 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:35:05,990.990 INFO    ] Waiting 3.84 seconds before fallback handling...
[2026-10-20 07:35:10,386.386 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:35:10,389.389 INFO    ] Checking for system updates...
[2026-10-20 07:35:10,425.425 INFO    ] 200
[2026-10-20 07:35:10,428.428 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:35:10,481.481 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:35:10,484.484 INFO    ] No update needed
[2026-10-20 07:35:10,487.487 INFO    ] Checking for camera pi updates...
[2026-10-20 07:35:10,521.521 INFO    ] 200
[2026-10-20 07:35:10,524.524 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:35:10,565.565 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:35:10,614.614 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:35:10,617.617 INFO    ] No camera update needed
[2026-10-20 07:35:10,620.620 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:35:10,622.622 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:35:10,629.629 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:35:10,635.635 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:35:12,677.677 INFO    ] ================================================
[2026-10-20 07:35:12,692.692 INFO    ] Launching Daemon at Tue Oct 20 07:35:12 IST 2026
[2026-10-20 07:35:12,702.702 INFO    ] ================================================
[2026-10-20 07:35:13,270.270 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:35:13
[2026-10-20 07:35:13,855.855 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:35:14,125.125 INFO    ] Initializing speech engine...
[2026-10-20 07:35:14,134.134 INFO    ] 2026-10-20 07:35:14
[2026-10-20 07:35:14,378.378 INFO    ] 2026-10-20 07:35:14
[2026-10-20 07:35:14,414.414 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:35:14,665.665 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:35:14,675.675 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:35:14,873.873 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:35:14,918.918 INFO    ] time= 20/10/2026 07:35:14
[2026-10-20 07:35:14,938.938 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:35:14,943.943 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:35:15,085.085 INFO    ] No existing commands found in stream
[2026-10-20 07:35:20,100.100 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:35:20,103.103 INFO    ] Waiting 0.58 seconds before fallback handling...
[2026-10-20 07:35:21,182.182 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:35:21,184.184 INFO    ] Checking for system updates...
[2026-10-20 07:35:21,224.224 INFO    ] 200
[2026-10-20 07:35:21,226.226 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:35:21,285.285 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:35:21,287.287 INFO    ] No update needed
[2026-10-20 07:35:21,290.290 INFO    ] Checking for camera pi updates...
[2026-10-20 07:35:21,323.323 INFO    ] 200
[2026-10-20 07:35:21,325.325 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:35:21,365.365 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:35:21,427.427 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:35:21,429.429 INFO    ] No camera update needed
[2026-10-20 07:35:21,431.431 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:35:21,434.434 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:35:21,439.439 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:35:21,444.444 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:35:23,487.487 INFO    ] ================================================
[2026-10-20 07:35:23,501.501 INFO    ] Launching Daemon at Tue Oct 20 07:35:23 IST 2026
[2026-10-20 07:35:23,512.512 INFO    ] ================================================
[2026-10-20 07:35:24,082.082 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:35:24
[2026-10-20 07:35:24,667.667 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:35:24,941.941 INFO    ] Initializing speech engine...
[2026-10-20 07:35:24,950.950 INFO    ] 2026-10-20 07:35:24
[2026-10-20 07:35:25,202.202 INFO    ] 2026-10-20 07:35:25
[2026-10-20 07:35:25,237.237 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:35:25,472.472 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:35:25,500.500 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:35:25,649.649 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:35:25,689.689 INFO    ] time= 20/10/2026 07:35:25
[2026-10-20 07:35:25,748.748 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:35:25,781.781 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:35:25,927.927 INFO    ] No existing commands found in stream
[2026-10-20 07:35:30,942.942 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:35:30,945.945 INFO    ] Waiting 0.07 seconds before fallback handling...
[2026-10-20 07:35:31,503.503 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:35:31,505.505 INFO    ] Checking for system updates...
[2026-10-20 07:35:31,546.546 INFO    ] 200
[2026-10-20 07:35:31,550.550 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:35:31,615.615 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:35:31,618.618 INFO    ] No update needed
[2026-10-20 07:35:31,623.623 INFO    ] Checking for camera pi updates...
[2026-10-20 07:35:31,661.661 INFO    ] 200
[2026-10-20 07:35:31,664.664 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:35:31,709.709 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:35:31,883.883 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:35:31,886.886 INFO    ] No camera update needed
[2026-10-20 07:35:31,889.889 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:35:31,892.892 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:35:31,900.900 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:35:31,907.907 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:35:33,950.950 INFO    ] ================================================
[2026-10-20 07:35:33,964.964 INFO    ] Launching Daemon at Tue Oct 20 07:35:33 IST 2026
[2026-10-20 07:35:33,975.975 INFO    ] ================================================
[2026-10-20 07:35:34,629.629 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:35:34
[2026-10-20 07:35:35,343.343 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:35:35,696.696 INFO    ] Initializing speech engine...
[2026-10-20 07:35:35,707.707 INFO    ] 2026-10-20 07:35:35
[2026-10-20 07:35:36,037.037 INFO    ] 2026-10-20 07:35:36
[2026-10-20 07:35:36,118.118 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:35:36,334.334 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:35:36,370.370 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:35:36,576.576 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:35:36,596.596 INFO    ] time= 20/10/2026 07:35:36
[2026-10-20 07:35:36,625.625 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:35:36,639.639 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:35:36,776.776 INFO    ] No existing commands found in stream
[2026-10-20 07:35:41,807.807 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:35:41,810.810 INFO    ] Waiting 0.40 seconds before fallback handling...
[2026-10-20 07:35:42,706.706 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:35:42,709.709 INFO    ] Checking for system updates...
[2026-10-20 07:35:42,744.744 INFO    ] 200
[2026-10-20 07:35:42,746.746 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:35:42,805.805 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:35:42,807.807 INFO    ] No update needed
[2026-10-20 07:35:42,810.810 INFO    ] Checking for camera pi updates...
[2026-10-20 07:35:42,871.871 INFO    ] 200
[2026-10-20 07:35:42,874.874 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:35:42,929.929 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:35:42,975.975 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:35:42,978.978 INFO    ] No camera update needed
[2026-10-20 07:35:42,980.980 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:35:42,983.983 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:35:42,988.988 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:35:42,994.994 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:35:45,035.035 INFO    ] ================================================
[2026-10-20 07:35:45,050.050 INFO    ] Launching Daemon at Tue Oct 20 07:35:45 IST 2026
[2026-10-20 07:35:45,061.061 INFO    ] ================================================
[2026-10-20 07:35:45,629.629 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:35:45
[2026-10-20 07:35:46,215.215 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:35:46,483.483 INFO    ] Initializing speech engine...
[2026-10-20 07:35:46,491.491 INFO    ] 2026-10-20 07:35:46
[2026-10-20 07:35:46,739.739 INFO    ] 2026-10-20 07:35:46
[2026-10-20 07:35:46,773.773 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:35:47,023.023 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:35:47,033.033 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:35:47,198.198 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:35:47,252.252 INFO    ] time= 20/10/2026 07:35:47
[2026-10-20 07:35:47,295.295 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:35:47,301.301 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:35:47,444.444 INFO    ] No existing commands found in stream
[2026-10-20 07:35:52,457.457 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:35:52,460.460 INFO    ] Waiting 2.80 seconds before fallback handling...
[2026-10-20 07:35:55,799.799 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:35:55,801.801 INFO    ] Checking for system updates...
[2026-10-20 07:35:55,837.837 INFO    ] 200
[2026-10-20 07:35:55,840.840 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:35:55,894.894 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:35:55,897.897 INFO    ] No update needed
[2026-10-20 07:35:55,900.900 INFO    ] Checking for camera pi updates...
[2026-10-20 07:35:55,935.935 INFO    ] 200
[2026-10-20 07:35:55,938.938 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:35:55,979.979 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:35:56,040.040 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:35:56,042.042 INFO    ] No camera update needed
[2026-10-20 07:35:56,045.045 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:35:56,048.048 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:35:56,054.054 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:35:56,060.060 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:35:58,103.103 INFO    ] ================================================
[2026-10-20 07:35:58,120.120 INFO    ] Launching Daemon at Tue Oct 20 07:35:58 IST 2026
[2026-10-20 07:35:58,132.132 INFO    ] ================================================
[2026-10-20 07:35:58,789.789 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:35:58
[2026-10-20 07:35:59,465.465 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:35:59,771.771 INFO    ] Initializing speech engine...
[2026-10-20 07:35:59,779.779 INFO    ] 2026-10-20 07:35:59
[2026-10-20 07:36:00,052.052 INFO    ] 2026-10-20 07:36:00
[2026-10-20 07:36:00,088.088 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:36:00,348.348 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:36:00,354.354 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:36:00,579.579 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:36:00,618.618 INFO    ] time= 20/10/2026 07:36:00
[2026-10-20 07:36:00,624.624 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:36:00,647.647 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:36:00,793.793 INFO    ] No existing commands found in stream
[2026-10-20 07:36:05,825.825 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:36:05,828.828 INFO    ] Waiting 3.59 seconds before fallback handling...
[2026-10-20 07:36:09,963.963 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 07:36:09,966.966 INFO    ] Checking for system updates...
[2026-10-20 07:36:10,002.002 INFO    ] 200
[2026-10-20 07:36:10,005.005 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:36:10,073.073 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:36:10,076.076 INFO    ] No update needed
[2026-10-20 07:36:10,079.079 INFO    ] Checking for camera pi updates...
[2026-10-20 07:36:10,116.116 INFO    ] 200
[2026-10-20 07:36:10,119.119 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:36:10,159.159 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:36:10,209.209 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:36:10,212.212 INFO    ] No camera update needed
[2026-10-20 07:36:10,214.214 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:36:10,217.217 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:36:10,223.223 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:36:10,228.228 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:36:12,270.270 INFO    ] ================================================
[2026-10-20 07:36:12,285.285 INFO    ] Launching Daemon at Tue Oct 20 07:36:12 IST 2026
[2026-10-20 07:36:12,295.295 INFO    ] ================================================
[2026-10-20 07:36:12,864.864 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:36:12
[2026-10-20 07:36:13,448.448 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:36:13,708.708 INFO    ] Initializing speech engine...
[2026-10-20 07:36:13,728.728 INFO    ] 2026-10-20 07:36:13
[2026-10-20 07:36:13,977.977 INFO    ] 2026-10-20 07:36:13
[2026-10-20 07:36:14,010.010 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:36:14,214.214 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:36:14,270.270 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:36:14,415.415 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:36:14,463.463 INFO    ] time= 20/10/2026 07:36:14
[2026-10-20 07:36:14,522.522 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:36:14,552.552 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:36:14,678.678 INFO    ] No existing commands found in stream
[2026-10-20 07:36:19,709.709 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:36:19,711.711 INFO    ] Waiting 0.46 seconds before fallback handling...
[2026-10-20 07:36:20,660.660 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:36:20,663.663 INFO    ] Checking for system updates...
[2026-10-20 07:36:20,700.700 INFO    ] 200
[2026-10-20 07:36:20,703.703 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:36:20,758.758 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:36:20,761.761 INFO    ] No update needed
[2026-10-20 07:36:20,763.763 INFO    ] Checking for camera pi updates...
[2026-10-20 07:36:20,799.799 INFO    ] 200
[2026-10-20 07:36:20,801.801 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:36:20,845.845 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:36:20,899.899 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:36:20,902.902 INFO    ] No camera update needed
[2026-10-20 07:36:20,904.904 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:36:20,907.907 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:36:20,913.913 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:36:20,918.918 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:36:22,961.961 INFO    ] ================================================
[2026-10-20 07:36:22,977.977 INFO    ] Launching Daemon at Tue Oct 20 07:36:22 IST 2026
[2026-10-20 07:36:22,987.987 INFO    ] ================================================
[2026-10-20 07:36:23,555.555 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:36:23
[2026-10-20 07:36:24,172.172 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:36:24,424.424 INFO    ] Initializing speech engine...
[2026-10-20 07:36:24,432.432 INFO    ] 2026-10-20 07:36:24
[2026-10-20 07:36:24,726.726 INFO    ] 2026-10-20 07:36:24
[2026-10-20 07:36:24,764.764 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:36:24,987.987 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:36:25,046.046 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:36:25,214.214 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:36:25,265.265 INFO    ] time= 20/10/2026 07:36:25
[2026-10-20 07:36:25,268.268 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:36:25,325.325 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:36:25,487.487 INFO    ] No existing commands found in stream
[2026-10-20 07:36:30,511.511 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:36:30,514.514 INFO    ] Waiting 1.63 seconds before fallback handling...
[2026-10-20 07:36:32,652.652 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:36:32,655.655 INFO    ] Checking for system updates...
[2026-10-20 07:36:32,692.692 INFO    ] 200
[2026-10-20 07:36:32,694.694 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:36:32,754.754 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:36:32,757.757 INFO    ] No update needed
[2026-10-20 07:36:32,759.759 INFO    ] Checking for camera pi updates...
[2026-10-20 07:36:32,797.797 INFO    ] 200
[2026-10-20 07:36:32,800.800 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:36:32,846.846 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:36:32,889.889 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:36:32,891.891 INFO    ] No camera update needed
[2026-10-20 07:36:32,893.893 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:36:32,896.896 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:36:32,901.901 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:36:32,906.906 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:36:34,945.945 INFO    ] ================================================
[2026-10-20 07:36:34,960.960 INFO    ] Launching Daemon at Tue Oct 20 07:36:34 IST 2026
[2026-10-20 07:36:34,971.971 INFO    ] ================================================
[2026-10-20 07:36:35,547.547 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:36:35
[2026-10-20 07:36:36,168.168 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:36:36,461.461 INFO    ] Initializing speech engine...
[2026-10-20 07:36:36,468.468 INFO    ] 2026-10-20 07:36:36
[2026-10-20 07:36:36,734.734 INFO    ] 2026-10-20 07:36:36
[2026-10-20 07:36:36,788.788 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:36:37,040.040 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:36:37,048.048 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:36:37,213.213 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:36:37,263.263 INFO    ] time= 20/10/2026 07:36:37
[2026-10-20 07:36:37,290.290 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:36:37,308.308 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:36:37,435.435 INFO    ] No existing commands found in stream
[2026-10-20 07:36:42,455.455 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:36:42,458.458 INFO    ] Waiting 2.29 seconds before fallback handling...
[2026-10-20 07:36:45,292.292 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:36:45,295.295 INFO    ] Checking for system updates...
[2026-10-20 07:36:45,330.330 INFO    ] 200
[2026-10-20 07:36:45,333.333 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:36:45,385.385 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:36:45,387.387 INFO    ] No update needed
[2026-10-20 07:36:45,390.390 INFO    ] Checking for camera pi updates...
[2026-10-20 07:36:45,424.424 INFO    ] 200
[2026-10-20 07:36:45,427.427 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:36:45,471.471 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:36:45,517.517 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:36:45,520.520 INFO    ] No camera update needed
[2026-10-20 07:36:45,522.522 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:36:45,524.524 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:36:45,530.530 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:36:45,534.534 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:36:47,574.574 INFO    ] ================================================
[2026-10-20 07:36:47,593.593 INFO    ] Launching Daemon at Tue Oct 20 07:36:47 IST 2026
[2026-10-20 07:36:47,603.603 INFO    ] ================================================
[2026-10-20 07:36:48,188.188 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:36:48
[2026-10-20 07:36:48,787.787 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:36:49,070.070 INFO    ] Initializing speech engine...
[2026-10-20 07:36:49,080.080 INFO    ] 2026-10-20 07:36:49
[2026-10-20 07:36:49,341.341 INFO    ] 2026-10-20 07:36:49
[2026-10-20 07:36:49,377.377 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:36:49,654.654 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:36:49,664.664 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:36:49,814.814 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:36:49,854.854 INFO    ] time= 20/10/2026 07:36:49
[2026-10-20 07:36:49,903.903 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:36:49,955.955 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:36:50,084.084 INFO    ] No existing commands found in stream
[2026-10-20 07:36:55,107.107 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:36:55,110.110 INFO    ] Waiting 1.23 seconds before fallback handling...
[2026-10-20 07:36:56,816.816 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:36:56,818.818 INFO    ] Checking for system updates...
[2026-10-20 07:36:56,853.853 INFO    ] 200
[2026-10-20 07:36:56,856.856 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:36:56,908.908 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:36:56,910.910 INFO    ] No update needed
[2026-10-20 07:36:56,913.913 INFO    ] Checking for camera pi updates...
[2026-10-20 07:36:56,945.945 INFO    ] 200
[2026-10-20 07:36:56,948.948 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:36:56,987.987 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:36:57,034.034 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:36:57,037.037 INFO    ] No camera update needed
[2026-10-20 07:36:57,039.039 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:36:57,041.041 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:36:57,047.047 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:36:57,052.052 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:36:59,094.094 INFO    ] ================================================
[2026-10-20 07:36:59,109.109 INFO    ] Launching Daemon at Tue Oct 20 07:36:59 IST 2026
[2026-10-20 07:36:59,121.121 INFO    ] ================================================
[2026-10-20 07:36:59,794.794 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:36:59
[2026-10-20 07:37:00,493.493 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:37:00,812.812 INFO    ] Initializing speech engine...
[2026-10-20 07:37:00,822.822 INFO    ] 2026-10-20 07:37:00
[2026-10-20 07:37:01,107.107 INFO    ] 2026-10-20 07:37:01
[2026-10-20 07:37:01,167.167 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:37:01,400.400 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:37:01,411.411 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:37:01,556.556 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:37:01,627.627 INFO    ] time= 20/10/2026 07:37:01
[2026-10-20 07:37:01,673.673 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:37:01,678.678 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:37:01,776.776 INFO    ] No existing commands found in stream
[2026-10-20 07:37:06,788.788 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:37:06,791.791 INFO    ] Waiting 0.63 seconds before fallback handling...
[2026-10-20 07:37:07,922.922 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:37:07,925.925 INFO    ] Checking for system updates...
[2026-10-20 07:37:07,960.960 INFO    ] 200
[2026-10-20 07:37:07,962.962 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:37:08,013.013 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:37:08,016.016 INFO    ] No update needed
[2026-10-20 07:37:08,018.018 INFO    ] Checking for camera pi updates...
[2026-10-20 07:37:08,051.051 INFO    ] 200
[2026-10-20 07:37:08,053.053 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:37:08,094.094 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:37:08,150.150 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:37:08,153.153 INFO    ] No camera update needed
[2026-10-20 07:37:08,155.155 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:37:08,157.157 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:37:08,163.163 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:37:08,168.168 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:37:10,207.207 INFO    ] ================================================
[2026-10-20 07:37:10,221.221 INFO    ] Launching Daemon at Tue Oct 20 07:37:10 IST 2026
[2026-10-20 07:37:10,233.233 INFO    ] ================================================
[2026-10-20 07:37:10,817.817 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:37:10
[2026-10-20 07:37:11,416.416 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:37:11,695.695 INFO    ] Initializing speech engine...
[2026-10-20 07:37:11,702.702 INFO    ] 2026-10-20 07:37:11
[2026-10-20 07:37:11,964.964 INFO    ] 2026-10-20 07:37:11
[2026-10-20 07:37:12,017.017 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:37:12,301.301 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:37:12,309.309 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:37:12,503.503 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:37:12,509.509 INFO    ] time= 20/10/2026 07:37:12
[2026-10-20 07:37:12,527.527 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:37:12,556.556 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:37:12,657.657 INFO    ] No existing commands found in stream
[2026-10-20 07:37:17,667.667 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:37:17,670.670 INFO    ] Waiting 2.75 seconds before fallback handling...
[2026-10-20 07:37:20,898.898 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 07:37:20,901.901 INFO    ] Checking for system updates...
[2026-10-20 07:37:20,937.937 INFO    ] 200
[2026-10-20 07:37:20,940.940 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:37:20,991.991 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:37:20,994.994 INFO    ] No update needed
[2026-10-20 07:37:20,996.996 INFO    ] Checking for camera pi updates...
[2026-10-20 07:37:21,029.029 INFO    ] 200
[2026-10-20 07:37:21,032.032 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:37:21,071.071 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:37:21,119.119 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:37:21,121.121 INFO    ] No camera update needed
[2026-10-20 07:37:21,123.123 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:37:21,126.126 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:37:21,131.131 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:37:21,136.136 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:37:23,178.178 INFO    ] ================================================
[2026-10-20 07:37:23,193.193 INFO    ] Launching Daemon at Tue Oct 20 07:37:23 IST 2026
[2026-10-20 07:37:23,203.203 INFO    ] ================================================
[2026-10-20 07:37:23,786.786 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:37:23
[2026-10-20 07:37:24,388.388 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:37:24,661.661 INFO    ] Initializing speech engine...
[2026-10-20 07:37:24,670.670 INFO    ] 2026-10-20 07:37:24
[2026-10-20 07:37:24,938.938 INFO    ] 2026-10-20 07:37:24
[2026-10-20 07:37:24,993.993 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:37:25,220.220 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:37:25,229.229 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:37:25,376.376 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:37:25,410.410 INFO    ] time= 20/10/2026 07:37:25
[2026-10-20 07:37:25,459.459 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:37:25,497.497 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:37:25,626.626 INFO    ] No existing commands found in stream
[2026-10-20 07:37:30,655.655 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:37:30,658.658 INFO    ] Waiting 3.47 seconds before fallback handling...
[2026-10-20 07:37:34,615.615 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:37:34,617.617 INFO    ] Checking for system updates...
[2026-10-20 07:37:34,653.653 INFO    ] 200
[2026-10-20 07:37:34,655.655 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:37:34,707.707 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:37:34,709.709 INFO    ] No update needed
[2026-10-20 07:37:34,712.712 INFO    ] Checking for camera pi updates...
[2026-10-20 07:37:34,746.746 INFO    ] 200
[2026-10-20 07:37:34,749.749 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:37:34,789.789 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:37:34,934.934 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:37:34,937.937 INFO    ] No camera update needed
[2026-10-20 07:37:34,939.939 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:37:34,942.942 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:37:34,947.947 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:37:34,952.952 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:37:36,991.991 INFO    ] ================================================
[2026-10-20 07:37:37,006.006 INFO    ] Launching Daemon at Tue Oct 20 07:37:37 IST 2026
[2026-10-20 07:37:37,017.017 INFO    ] ================================================
[2026-10-20 07:37:37,634.634 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:37:37
[2026-10-20 07:37:38,257.257 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:37:38,509.509 INFO    ] Initializing speech engine...
[2026-10-20 07:37:38,523.523 INFO    ] 2026-10-20 07:37:38
[2026-10-20 07:37:38,785.785 INFO    ] 2026-10-20 07:37:38
[2026-10-20 07:37:38,819.819 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:37:39,072.072 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:37:39,077.077 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:37:40,381.381 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:37:40,442.442 INFO    ] time= 20/10/2026 07:37:40
[2026-10-20 07:37:40,448.448 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:37:40,482.482 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:37:40,652.652 INFO    ] No existing commands found in stream
[2026-10-20 07:37:45,682.682 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:37:45,685.685 INFO    ] Waiting 2.91 seconds before fallback handling...
[2026-10-20 07:37:49,070.070 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:37:49,073.073 INFO    ] Checking for system updates...
[2026-10-20 07:37:49,109.109 INFO    ] 200
[2026-10-20 07:37:49,111.111 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:37:49,174.174 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:37:49,177.177 INFO    ] No update needed
[2026-10-20 07:37:49,179.179 INFO    ] Checking for camera pi updates...
[2026-10-20 07:37:49,213.213 INFO    ] 200
[2026-10-20 07:37:49,215.215 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:37:49,254.254 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:37:49,311.311 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:37:49,313.313 INFO    ] No camera update needed
[2026-10-20 07:37:49,316.316 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:37:49,318.318 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:37:49,323.323 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:37:49,328.328 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:37:51,369.369 INFO    ] ================================================
[2026-10-20 07:37:51,384.384 INFO    ] Launching Daemon at Tue Oct 20 07:37:51 IST 2026
[2026-10-20 07:37:51,394.394 INFO    ] ================================================
[2026-10-20 07:37:51,960.960 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:37:51
[2026-10-20 07:37:52,565.565 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:37:52,844.844 INFO    ] Initializing speech engine...
[2026-10-20 07:37:52,851.851 INFO    ] 2026-10-20 07:37:52
[2026-10-20 07:37:53,109.109 INFO    ] 2026-10-20 07:37:53
[2026-10-20 07:37:53,140.140 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:37:53,410.410 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:37:53,418.418 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:37:53,642.642 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:37:53,668.668 INFO    ] time= 20/10/2026 07:37:53
[2026-10-20 07:37:53,677.677 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:37:53,703.703 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:37:53,864.864 INFO    ] No existing commands found in stream
[2026-10-20 07:37:58,900.900 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:37:58,903.903 INFO    ] Waiting 0.64 seconds before fallback handling...
[2026-10-20 07:38:00,100.100 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:38:00,103.103 INFO    ] Checking for system updates...
[2026-10-20 07:38:00,144.144 INFO    ] 200
[2026-10-20 07:38:00,146.146 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:38:00,206.206 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:38:00,209.209 INFO    ] No update needed
[2026-10-20 07:38:00,212.212 INFO    ] Checking for camera pi updates...
[2026-10-20 07:38:00,267.267 INFO    ] 200
[2026-10-20 07:38:00,270.270 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:38:00,327.327 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:38:00,378.378 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:38:00,381.381 INFO    ] No camera update needed
[2026-10-20 07:38:00,384.384 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:38:00,387.387 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:38:00,393.393 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:38:00,399.399 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:38:02,442.442 INFO    ] ================================================
[2026-10-20 07:38:02,462.462 INFO    ] Launching Daemon at Tue Oct 20 07:38:02 IST 2026
[2026-10-20 07:38:02,478.478 INFO    ] ================================================
[2026-10-20 07:38:03,122.122 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:38:03
[2026-10-20 07:38:03,808.808 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:38:04,066.066 INFO    ] Initializing speech engine...
[2026-10-20 07:38:04,081.081 INFO    ] 2026-10-20 07:38:04
[2026-10-20 07:38:04,347.347 INFO    ] 2026-10-20 07:38:04
[2026-10-20 07:38:04,382.382 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:38:04,646.646 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:38:04,656.656 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:38:04,854.854 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:38:04,899.899 INFO    ] time= 20/10/2026 07:38:04
[2026-10-20 07:38:04,930.930 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:38:04,949.949 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:38:05,084.084 INFO    ] No existing commands found in stream
[2026-10-20 07:38:10,100.100 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:38:10,103.103 INFO    ] Waiting 3.84 seconds before fallback handling...
[2026-10-20 07:38:14,465.465 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:38:14,468.468 INFO    ] Checking for system updates...
[2026-10-20 07:38:14,505.505 INFO    ] 200
[2026-10-20 07:38:14,507.507 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:38:14,566.566 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:38:14,569.569 INFO    ] No update needed
[2026-10-20 07:38:14,573.573 INFO    ] Checking for camera pi updates...
[2026-10-20 07:38:14,607.607 INFO    ] 200
[2026-10-20 07:38:14,610.610 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:38:14,655.655 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:38:14,704.704 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:38:14,707.707 INFO    ] No camera update needed
[2026-10-20 07:38:14,709.709 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:38:14,712.712 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:38:14,718.718 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:38:14,724.724 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:38:16,766.766 INFO    ] ================================================
[2026-10-20 07:38:16,782.782 INFO    ] Launching Daemon at Tue Oct 20 07:38:16 IST 2026
[2026-10-20 07:38:16,793.793 INFO    ] ================================================
[2026-10-20 07:38:17,368.368 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:38:17
[2026-10-20 07:38:17,960.960 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:38:18,237.237 INFO    ] Initializing speech engine...
[2026-10-20 07:38:18,244.244 INFO    ] 2026-10-20 07:38:18
[2026-10-20 07:38:18,505.505 INFO    ] 2026-10-20 07:38:18
[2026-10-20 07:38:18,535.535 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:38:18,727.727 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:38:18,785.785 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:38:18,993.993 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:38:19,052.052 INFO    ] time= 20/10/2026 07:38:19
[2026-10-20 07:38:19,058.058 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:38:19,076.076 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:38:19,208.208 INFO    ] No existing commands found in stream
[2026-10-20 07:38:24,220.220 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:38:24,222.222 INFO    ] Waiting 2.74 seconds before fallback handling...
[2026-10-20 07:38:27,502.502 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:38:27,504.504 INFO    ] Checking for system updates...
[2026-10-20 07:38:27,539.539 INFO    ] 200
[2026-10-20 07:38:27,542.542 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:38:27,600.600 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:38:27,603.603 INFO    ] No update needed
[2026-10-20 07:38:27,605.605 INFO    ] Checking for camera pi updates...
[2026-10-20 07:38:27,639.639 INFO    ] 200
[2026-10-20 07:38:27,641.641 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:38:27,687.687 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:38:27,732.732 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:38:27,734.734 INFO    ] No camera update needed
[2026-10-20 07:38:27,737.737 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:38:27,739.739 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:38:27,745.745 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:38:27,750.750 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:38:29,791.791 INFO    ] ================================================
[2026-10-20 07:38:29,806.806 INFO    ] Launching Daemon at Tue Oct 20 07:38:29 IST 2026
[2026-10-20 07:38:29,816.816 INFO    ] ================================================
[2026-10-20 07:38:30,419.419 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:38:30
[2026-10-20 07:38:31,008.008 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:38:31,281.281 INFO    ] Initializing speech engine...
[2026-10-20 07:38:31,289.289 INFO    ] 2026-10-20 07:38:31
[2026-10-20 07:38:31,541.541 INFO    ] 2026-10-20 07:38:31
[2026-10-20 07:38:31,577.577 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:38:31,835.835 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:38:31,844.844 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:38:32,032.032 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:38:32,102.102 INFO    ] time= 20/10/2026 07:38:32
[2026-10-20 07:38:32,138.138 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:38:32,157.157 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:38:32,302.302 INFO    ] No existing commands found in stream
[2026-10-20 07:38:37,323.323 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:38:37,326.326 INFO    ] Waiting 3.67 seconds before fallback handling...
[2026-10-20 07:38:41,502.502 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 07:38:41,505.505 INFO    ] Checking for system updates...
[2026-10-20 07:38:41,541.541 INFO    ] 200
[2026-10-20 07:38:41,543.543 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:38:41,594.594 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:38:41,597.597 INFO    ] No update needed
[2026-10-20 07:38:41,599.599 INFO    ] Checking for camera pi updates...
[2026-10-20 07:38:41,636.636 INFO    ] 200
[2026-10-20 07:38:41,639.639 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:38:41,679.679 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:38:41,729.729 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:38:41,732.732 INFO    ] No camera update needed
[2026-10-20 07:38:41,734.734 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:38:41,736.736 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:38:41,742.742 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:38:41,747.747 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:38:43,787.787 INFO    ] ================================================
[2026-10-20 07:38:43,802.802 INFO    ] Launching Daemon at Tue Oct 20 07:38:43 IST 2026
[2026-10-20 07:38:43,813.813 INFO    ] ================================================
[2026-10-20 07:38:44,475.475 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:38:44
[2026-10-20 07:38:45,152.152 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:38:45,466.466 INFO    ] Initializing speech engine...
[2026-10-20 07:38:45,477.477 INFO    ] 2026-10-20 07:38:45
[2026-10-20 07:38:45,752.752 INFO    ] 2026-10-20 07:38:45
[2026-10-20 07:38:45,812.812 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:38:46,048.048 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:38:46,054.054 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:38:46,214.214 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:38:46,270.270 INFO    ] time= 20/10/2026 07:38:46
[2026-10-20 07:38:46,326.326 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:38:46,333.333 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:38:46,495.495 INFO    ] No existing commands found in stream
[2026-10-20 07:38:51,527.527 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:38:51,531.531 INFO    ] Waiting 4.00 seconds before fallback handling...
[2026-10-20 07:38:56,088.088 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:38:56,092.092 INFO    ] Checking for system updates...
[2026-10-20 07:38:56,129.129 INFO    ] 200
[2026-10-20 07:38:56,132.132 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:38:56,185.185 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:38:56,188.188 INFO    ] No update needed
[2026-10-20 07:38:56,191.191 INFO    ] Checking for camera pi updates...
[2026-10-20 07:38:56,225.225 INFO    ] 200
[2026-10-20 07:38:56,228.228 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:38:56,270.270 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:38:56,322.322 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:38:56,325.325 INFO    ] No camera update needed
[2026-10-20 07:38:56,328.328 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:38:56,331.331 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:38:56,337.337 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:38:56,343.343 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:38:58,384.384 INFO    ] ================================================
[2026-10-20 07:38:58,399.399 INFO    ] Launching Daemon at Tue Oct 20 07:38:58 IST 2026
[2026-10-20 07:38:58,410.410 INFO    ] ================================================
[2026-10-20 07:38:58,986.986 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:38:58
[2026-10-20 07:38:59,578.578 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:38:59,826.826 INFO    ] Initializing speech engine...
[2026-10-20 07:38:59,848.848 INFO    ] 2026-10-20 07:38:59
[2026-10-20 07:39:00,098.098 INFO    ] 2026-10-20 07:39:00
[2026-10-20 07:39:00,138.138 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:39:00,392.392 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:39:00,397.397 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:39:00,621.621 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:39:00,653.653 INFO    ] time= 20/10/2026 07:39:00
[2026-10-20 07:39:00,659.659 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:39:00,677.677 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:39:00,782.782 INFO    ] No existing commands found in stream
[2026-10-20 07:39:05,800.800 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:39:05,803.803 INFO    ] Waiting 3.96 seconds before fallback handling...
[2026-10-20 07:39:10,299.299 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:39:10,302.302 INFO    ] Checking for system updates...
[2026-10-20 07:39:10,337.337 INFO    ] 200
[2026-10-20 07:39:10,339.339 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:39:10,391.391 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:39:10,394.394 INFO    ] No update needed
[2026-10-20 07:39:10,396.396 INFO    ] Checking for camera pi updates...
[2026-10-20 07:39:10,432.432 INFO    ] 200
[2026-10-20 07:39:10,435.435 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:39:10,474.474 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:39:10,527.527 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:39:10,530.530 INFO    ] No camera update needed
[2026-10-20 07:39:10,533.533 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:39:10,535.535 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:39:10,540.540 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:39:10,545.545 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:39:12,585.585 INFO    ] ================================================
[2026-10-20 07:39:12,601.601 INFO    ] Launching Daemon at Tue Oct 20 07:39:12 IST 2026
[2026-10-20 07:39:12,612.612 INFO    ] ================================================
[2026-10-20 07:39:13,190.190 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:39:13
[2026-10-20 07:39:13,788.788 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:39:14,064.064 INFO    ] Initializing speech engine...
[2026-10-20 07:39:14,073.073 INFO    ] 2026-10-20 07:39:14
[2026-10-20 07:39:14,334.334 INFO    ] 2026-10-20 07:39:14
[2026-10-20 07:39:14,389.389 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:39:14,616.616 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:39:14,622.622 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:39:14,842.842 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:39:14,880.880 INFO    ] time= 20/10/2026 07:39:14
[2026-10-20 07:39:14,896.896 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:39:14,907.907 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:39:15,039.039 INFO    ] No existing commands found in stream
[2026-10-20 07:39:20,065.065 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:39:20,068.068 INFO    ] Waiting 0.49 seconds before fallback handling...
[2026-10-20 07:39:21,072.072 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:39:21,075.075 INFO    ] Checking for system updates...
[2026-10-20 07:39:21,111.111 INFO    ] 200
[2026-10-20 07:39:21,114.114 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:39:21,167.167 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:39:21,170.170 INFO    ] No update needed
[2026-10-20 07:39:21,172.172 INFO    ] Checking for camera pi updates...
[2026-10-20 07:39:21,206.206 INFO    ] 200
[2026-10-20 07:39:21,209.209 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:39:21,249.249 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:39:21,296.296 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:39:21,298.298 INFO    ] No camera update needed
[2026-10-20 07:39:21,301.301 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:39:21,303.303 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:39:21,308.308 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:39:21,313.313 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:39:23,354.354 INFO    ] ================================================
[2026-10-20 07:39:23,369.369 INFO    ] Launching Daemon at Tue Oct 20 07:39:23 IST 2026
[2026-10-20 07:39:23,379.379 INFO    ] ================================================
[2026-10-20 07:39:23,947.947 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:39:23
[2026-10-20 07:39:24,533.533 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:39:24,787.787 INFO    ] Initializing speech engine...
[2026-10-20 07:39:24,794.794 INFO    ] 2026-10-20 07:39:24
[2026-10-20 07:39:25,084.084 INFO    ] 2026-10-20 07:39:25
[2026-10-20 07:39:25,117.117 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:39:25,315.315 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:39:25,329.329 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:39:25,494.494 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:39:25,500.500 INFO    ] time= 20/10/2026 07:39:25
[2026-10-20 07:39:25,508.508 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:39:25,553.553 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:39:25,711.711 INFO    ] No existing commands found in stream
[2026-10-20 07:39:30,730.730 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:39:30,733.733 INFO    ] Waiting 3.66 seconds before fallback handling...
[2026-10-20 07:39:34,905.905 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:39:34,907.907 INFO    ] Checking for system updates...
[2026-10-20 07:39:34,943.943 INFO    ] 200
[2026-10-20 07:39:34,946.946 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:39:34,997.997 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:39:34,999.999 INFO    ] No update needed
[2026-10-20 07:39:35,002.002 INFO    ] Checking for camera pi updates...
[2026-10-20 07:39:35,039.039 INFO    ] 200
[2026-10-20 07:39:35,041.041 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:39:35,082.082 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:39:35,133.133 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:39:35,135.135 INFO    ] No camera update needed
[2026-10-20 07:39:35,137.137 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:39:35,140.140 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:39:35,145.145 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:39:35,150.150 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:39:37,189.189 INFO    ] ================================================
[2026-10-20 07:39:37,204.204 INFO    ] Launching Daemon at Tue Oct 20 07:39:37 IST 2026
[2026-10-20 07:39:37,214.214 INFO    ] ================================================
[2026-10-20 07:39:37,854.854 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:39:37
[2026-10-20 07:39:38,514.514 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:39:38,786.786 INFO    ] Initializing speech engine...
[2026-10-20 07:39:38,806.806 INFO    ] 2026-10-20 07:39:38
[2026-10-20 07:39:39,073.073 INFO    ] 2026-10-20 07:39:39
[2026-10-20 07:39:39,109.109 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:39:39,330.330 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:39:39,348.348 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:39:39,558.558 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:39:39,580.580 INFO    ] time= 20/10/2026 07:39:39
[2026-10-20 07:39:39,624.624 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:39:39,678.678 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:39:39,837.837 INFO    ] No existing commands found in stream
[2026-10-20 07:39:44,860.860 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:39:44,863.863 INFO    ] Waiting 1.36 seconds before fallback handling...
[2026-10-20 07:39:46,727.727 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:39:46,731.731 INFO    ] Checking for system updates...
[2026-10-20 07:39:46,767.767 INFO    ] 200
[2026-10-20 07:39:46,770.770 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:39:46,829.829 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:39:46,832.832 INFO    ] No update needed
[2026-10-20 07:39:46,835.835 INFO    ] Checking for camera pi updates...
[2026-10-20 07:39:46,873.873 INFO    ] 200
[2026-10-20 07:39:46,875.875 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:39:46,920.920 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:39:47,070.070 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:39:47,073.073 INFO    ] No camera update needed
[2026-10-20 07:39:47,075.075 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:39:47,078.078 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:39:47,084.084 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:39:47,090.090 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:39:49,130.130 INFO    ] ================================================
[2026-10-20 07:39:49,145.145 INFO    ] Launching Daemon at Tue Oct 20 07:39:49 IST 2026
[2026-10-20 07:39:49,155.155 INFO    ] ================================================
[2026-10-20 07:39:49,734.734 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:39:49
[2026-10-20 07:39:50,331.331 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:39:50,607.607 INFO    ] Initializing speech engine...
[2026-10-20 07:39:50,616.616 INFO    ] 2026-10-20 07:39:50
[2026-10-20 07:39:50,875.875 INFO    ] 2026-10-20 07:39:50
[2026-10-20 07:39:50,904.904 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:39:51,154.154 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:39:51,161.161 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:39:51,374.374 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:39:51,417.417 INFO    ] time= 20/10/2026 07:39:51
[2026-10-20 07:39:51,423.423 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:39:51,440.440 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:39:51,572.572 INFO    ] No existing commands found in stream
[2026-10-20 07:39:56,592.592 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:39:56,594.594 INFO    ] Waiting 1.93 seconds before fallback handling...
[2026-10-20 07:39:59,015.015 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:39:59,017.017 INFO    ] Checking for system updates...
[2026-10-20 07:39:59,053.053 INFO    ] 200
[2026-10-20 07:39:59,055.055 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:39:59,107.107 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:39:59,110.110 INFO    ] No update needed
[2026-10-20 07:39:59,112.112 INFO    ] Checking for camera pi updates...
[2026-10-20 07:39:59,149.149 INFO    ] 200
[2026-10-20 07:39:59,152.152 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:39:59,191.191 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:39:59,236.236 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:39:59,238.238 INFO    ] No camera update needed
[2026-10-20 07:39:59,241.241 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:39:59,243.243 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:39:59,249.249 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:39:59,254.254 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:40:01,295.295 INFO    ] ================================================
[2026-10-20 07:40:01,310.310 INFO    ] Launching Daemon at Tue Oct 20 07:40:01 IST 2026
[2026-10-20 07:40:01,321.321 INFO    ] ================================================
[2026-10-20 07:40:01,889.889 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:40:01
[2026-10-20 07:40:02,891.891 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:40:03,351.351 INFO    ] Initializing speech engine...
[2026-10-20 07:40:03,354.354 INFO    ] 2026-10-20 07:40:03
[2026-10-20 07:40:03,697.697 INFO    ] 2026-10-20 07:40:03
[2026-10-20 07:40:03,738.738 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:40:03,953.953 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:40:03,956.956 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:40:04,190.190 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:40:04,230.230 INFO    ] time= 20/10/2026 07:40:04
[2026-10-20 07:40:04,236.236 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:40:04,254.254 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:40:04,387.387 INFO    ] No existing commands found in stream
[2026-10-20 07:40:09,403.403 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:40:09,406.406 INFO    ] Waiting 0.79 seconds before fallback handling...
[2026-10-20 07:40:10,730.730 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:40:10,733.733 INFO    ] Checking for system updates...
[2026-10-20 07:40:10,769.769 INFO    ] 200
[2026-10-20 07:40:10,771.771 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:40:10,825.825 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:40:10,827.827 INFO    ] No update needed
[2026-10-20 07:40:10,830.830 INFO    ] Checking for camera pi updates...
[2026-10-20 07:40:10,864.864 INFO    ] 200
[2026-10-20 07:40:10,867.867 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:40:10,907.907 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:40:10,938.938 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:40:10,941.941 INFO    ] No camera update needed
[2026-10-20 07:40:10,943.943 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:40:10,945.945 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:40:10,951.951 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:40:10,956.956 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:40:13,995.995 INFO    ] ================================================
[2026-10-20 07:40:13,010.010 INFO    ] Launching Daemon at Tue Oct 20 07:40:13 IST 2026
[2026-10-20 07:40:13,021.021 INFO    ] ================================================
[2026-10-20 07:40:13,589.589 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:40:13
[2026-10-20 07:40:14,172.172 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:40:14,441.441 INFO    ] Initializing speech engine...
[2026-10-20 07:40:14,450.450 INFO    ] 2026-10-20 07:40:14
[2026-10-20 07:40:14,709.709 INFO    ] 2026-10-20 07:40:14
[2026-10-20 07:40:14,738.738 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:40:15,005.005 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:40:15,011.011 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:40:15,203.203 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:40:15,247.247 INFO    ] time= 20/10/2026 07:40:15
[2026-10-20 07:40:15,253.253 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:40:15,270.270 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:40:15,402.402 INFO    ] No existing commands found in stream
[2026-10-20 07:40:20,424.424 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:40:20,427.427 INFO    ] Waiting 0.78 seconds before fallback handling...
[2026-10-20 07:40:21,782.782 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 07:40:21,785.785 INFO    ] Checking for system updates...
[2026-10-20 07:40:21,823.823 INFO    ] 200
[2026-10-20 07:40:21,826.826 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:40:21,877.877 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:40:21,879.879 INFO    ] No update needed
[2026-10-20 07:40:21,882.882 INFO    ] Checking for camera pi updates...
[2026-10-20 07:40:21,914.914 INFO    ] 200
[2026-10-20 07:40:21,917.917 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:40:21,960.960 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:40:22,008.008 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:40:22,011.011 INFO    ] No camera update needed
[2026-10-20 07:40:22,013.013 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:40:22,015.015 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:40:22,020.020 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:40:22,025.025 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:40:24,065.065 INFO    ] ================================================
[2026-10-20 07:40:24,080.080 INFO    ] Launching Daemon at Tue Oct 20 07:40:24 IST 2026
[2026-10-20 07:40:24,090.090 INFO    ] ================================================
[2026-10-20 07:40:24,657.657 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:40:24
[2026-10-20 07:40:25,242.242 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:40:25,514.514 INFO    ] Initializing speech engine...
[2026-10-20 07:40:25,523.523 INFO    ] 2026-10-20 07:40:25
[2026-10-20 07:40:25,779.779 INFO    ] 2026-10-20 07:40:25
[2026-10-20 07:40:25,808.808 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:40:26,052.052 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:40:26,062.062 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:40:26,195.195 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:40:26,217.217 INFO    ] time= 20/10/2026 07:40:26
[2026-10-20 07:40:26,278.278 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:40:26,327.327 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:40:26,482.482 INFO    ] No existing commands found in stream
[2026-10-20 07:40:31,507.507 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:40:31,510.510 INFO    ] Waiting 3.73 seconds before fallback handling...
[2026-10-20 07:40:35,737.737 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:40:35,739.739 INFO    ] Checking for system updates...
[2026-10-20 07:40:35,775.775 INFO    ] 200
[2026-10-20 07:40:35,777.777 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:40:35,831.831 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:40:35,834.834 INFO    ] No update needed
[2026-10-20 07:40:35,836.836 INFO    ] Checking for camera pi updates...
[2026-10-20 07:40:35,869.869 INFO    ] 200
[2026-10-20 07:40:35,872.872 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:40:35,916.916 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:40:35,966.966 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:40:35,969.969 INFO    ] No camera update needed
[2026-10-20 07:40:35,972.972 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:40:35,974.974 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:40:35,979.979 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:40:35,984.984 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:40:38,025.025 INFO    ] ================================================
[2026-10-20 07:40:38,040.040 INFO    ] Launching Daemon at Tue Oct 20 07:40:38 IST 2026
[2026-10-20 07:40:38,051.051 INFO    ] ================================================
[2026-10-20 07:40:38,624.624 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:40:38
[2026-10-20 07:40:39,214.214 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:40:39,481.481 INFO    ] Initializing speech engine...
[2026-10-20 07:40:39,489.489 INFO    ] 2026-10-20 07:40:39
[2026-10-20 07:40:39,740.740 INFO    ] 2026-10-20 07:40:39
[2026-10-20 07:40:39,775.775 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:40:40,034.034 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:40:40,041.041 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:40:40,272.272 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:40:40,303.303 INFO    ] time= 20/10/2026 07:40:40
[2026-10-20 07:40:40,319.319 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:40:40,350.350 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:40:40,471.471 INFO    ] No existing commands found in stream
[2026-10-20 07:40:45,496.496 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:40:45,499.499 INFO    ] Waiting 0.55 seconds before fallback handling...
[2026-10-20 07:40:46,575.575 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:40:46,578.578 INFO    ] Checking for system updates...
[2026-10-20 07:40:46,618.618 INFO    ] 200
[2026-10-20 07:40:46,620.620 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:40:46,680.680 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:40:46,683.683 INFO    ] No update needed
[2026-10-20 07:40:46,686.686 INFO    ] Checking for camera pi updates...
[2026-10-20 07:40:46,720.720 INFO    ] 200
[2026-10-20 07:40:46,723.723 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:40:46,769.769 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:40:46,824.824 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:40:46,827.827 INFO    ] No camera update needed
[2026-10-20 07:40:46,830.830 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:40:46,832.832 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:40:46,838.838 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:40:46,844.844 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:40:48,885.885 INFO    ] ================================================
[2026-10-20 07:40:48,901.901 INFO    ] Launching Daemon at Tue Oct 20 07:40:48 IST 2026
[2026-10-20 07:40:48,913.913 INFO    ] ================================================
[2026-10-20 07:40:49,572.572 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:40:49
[2026-10-20 07:40:50,242.242 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:40:50,542.542 INFO    ] Initializing speech engine...
[2026-10-20 07:40:50,556.556 INFO    ] 2026-10-20 07:40:50
[2026-10-20 07:40:50,837.837 INFO    ] 2026-10-20 07:40:50
[2026-10-20 07:40:50,881.881 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:40:51,161.161 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:40:51,169.169 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:40:51,370.370 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:40:51,377.377 INFO    ] time= 20/10/2026 07:40:51
[2026-10-20 07:40:51,396.396 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:40:51,425.425 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:40:51,533.533 INFO    ] No existing commands found in stream
[2026-10-20 07:40:56,562.562 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:40:56,565.565 INFO    ] Waiting 2.97 seconds before fallback handling...
[2026-10-20 07:41:00,050.050 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:41:00,053.053 INFO    ] Checking for system updates...
[2026-10-20 07:41:00,092.092 INFO    ] 200
[2026-10-20 07:41:00,094.094 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:41:00,152.152 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:41:00,154.154 INFO    ] No update needed
[2026-10-20 07:41:00,156.156 INFO    ] Checking for camera pi updates...
[2026-10-20 07:41:00,189.189 INFO    ] 200
[2026-10-20 07:41:00,192.192 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:41:00,236.236 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:41:00,286.286 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:41:00,288.288 INFO    ] No camera update needed
[2026-10-20 07:41:00,291.291 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:41:00,293.293 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:41:00,298.298 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:41:00,303.303 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:41:02,349.349 INFO    ] ================================================
[2026-10-20 07:41:02,370.370 INFO    ] Launching Daemon at Tue Oct 20 07:41:02 IST 2026
[2026-10-20 07:41:02,385.385 INFO    ] ================================================
[2026-10-20 07:41:03,069.069 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:41:03
[2026-10-20 07:41:03,778.778 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:41:04,078.078 INFO    ] Initializing speech engine...
[2026-10-20 07:41:04,088.088 INFO    ] 2026-10-20 07:41:04
[2026-10-20 07:41:04,353.353 INFO    ] 2026-10-20 07:41:04
[2026-10-20 07:41:04,397.397 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:41:04,652.652 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:41:04,662.662 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:41:04,806.806 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:41:04,872.872 INFO    ] time= 20/10/2026 07:41:04
[2026-10-20 07:41:04,934.934 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:41:04,942.942 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:41:05,082.082 INFO    ] No existing commands found in stream
[2026-10-20 07:41:10,105.105 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:41:10,108.108 INFO    ] Waiting 2.72 seconds before fallback handling...
[2026-10-20 07:41:13,346.346 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:41:13,349.349 INFO    ] Checking for system updates...
[2026-10-20 07:41:13,386.386 INFO    ] 200
[2026-10-20 07:41:13,388.388 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:41:13,441.441 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:41:13,444.444 INFO    ] No update needed
[2026-10-20 07:41:13,447.447 INFO    ] Checking for camera pi updates...
[2026-10-20 07:41:13,482.482 INFO    ] 200
[2026-10-20 07:41:13,485.485 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:41:13,526.526 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:41:13,560.560 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:41:13,562.562 INFO    ] No camera update needed
[2026-10-20 07:41:13,565.565 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:41:13,568.568 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:41:13,574.574 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:41:13,580.580 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:41:15,623.623 INFO    ] ================================================
[2026-10-20 07:41:15,639.639 INFO    ] Launching Daemon at Tue Oct 20 07:41:15 IST 2026
[2026-10-20 07:41:15,652.652 INFO    ] ================================================
[2026-10-20 07:41:16,219.219 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:41:16
[2026-10-20 07:41:16,802.802 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:41:17,075.075 INFO    ] Initializing speech engine...
[2026-10-20 07:41:17,084.084 INFO    ] 2026-10-20 07:41:17
[2026-10-20 07:41:17,334.334 INFO    ] 2026-10-20 07:41:17
[2026-10-20 07:41:17,369.369 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:41:17,626.626 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:41:17,635.635 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:41:17,824.824 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:41:17,873.873 INFO    ] time= 20/10/2026 07:41:17
[2026-10-20 07:41:17,903.903 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:41:17,909.909 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:41:18,079.079 INFO    ] No existing commands found in stream
[2026-10-20 07:41:23,109.109 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:41:23,112.112 INFO    ] Waiting 2.45 seconds before fallback handling...
[2026-10-20 07:41:26,063.063 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:41:26,066.066 INFO    ] Checking for system updates...
[2026-10-20 07:41:26,101.101 INFO    ] 200
[2026-10-20 07:41:26,104.104 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:41:26,159.159 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:41:26,161.161 INFO    ] No update needed
[2026-10-20 07:41:26,164.164 INFO    ] Checking for camera pi updates...
[2026-10-20 07:41:26,198.198 INFO    ] 200
[2026-10-20 07:41:26,200.200 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:41:26,241.241 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:41:26,272.272 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:41:26,275.275 INFO    ] No camera update needed
[2026-10-20 07:41:26,277.277 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:41:26,279.279 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:41:26,285.285 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:41:26,290.290 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:41:28,330.330 INFO    ] ================================================
[2026-10-20 07:41:28,346.346 INFO    ] Launching Daemon at Tue Oct 20 07:41:28 IST 2026
[2026-10-20 07:41:28,357.357 INFO    ] ================================================
[2026-10-20 07:41:28,927.927 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:41:28
[2026-10-20 07:41:29,515.515 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:41:29,788.788 INFO    ] Initializing speech engine...
[2026-10-20 07:41:29,797.797 INFO    ] 2026-10-20 07:41:29
[2026-10-20 07:41:30,047.047 INFO    ] 2026-10-20 07:41:30
[2026-10-20 07:41:30,082.082 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:41:30,285.285 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:41:30,346.346 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:41:30,490.490 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:41:30,555.555 INFO    ] time= 20/10/2026 07:41:30
[2026-10-20 07:41:30,614.614 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:41:30,627.627 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:41:30,760.760 INFO    ] No existing commands found in stream
[2026-10-20 07:41:35,785.785 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:41:35,788.788 INFO    ] Waiting 0.67 seconds before fallback handling...
[2026-10-20 07:41:36,996.996 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:41:36,998.998 INFO    ] Checking for system updates...
[2026-10-20 07:41:37,038.038 INFO    ] 200
[2026-10-20 07:41:37,040.040 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:41:37,091.091 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:41:37,094.094 INFO    ] No update needed
[2026-10-20 07:41:37,097.097 INFO    ] Checking for camera pi updates...
[2026-10-20 07:41:37,134.134 INFO    ] 200
[2026-10-20 07:41:37,136.136 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:41:37,176.176 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:41:37,227.227 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:41:37,229.229 INFO    ] No camera update needed
[2026-10-20 07:41:37,231.231 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:41:37,234.234 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:41:37,239.239 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:41:37,244.244 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:41:39,283.283 INFO    ] ================================================
[2026-10-20 07:41:39,298.298 INFO    ] Launching Daemon at Tue Oct 20 07:41:39 IST 2026
[2026-10-20 07:41:39,309.309 INFO    ] ================================================
[2026-10-20 07:41:39,909.909 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:41:39
[2026-10-20 07:41:40,587.587 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:41:40,895.895 INFO    ] Initializing speech engine...
[2026-10-20 07:41:40,907.907 INFO    ] 2026-10-20 07:41:40
[2026-10-20 07:41:41,184.184 INFO    ] 2026-10-20 07:41:41
[2026-10-20 07:41:41,230.230 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:41:41,482.482 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:41:41,500.500 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:41:41,720.720 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:41:41,737.737 INFO    ] time= 20/10/2026 07:41:41
[2026-10-20 07:41:41,752.752 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:41:41,775.775 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:41:41,893.893 INFO    ] No existing commands found in stream
[2026-10-20 07:41:46,925.925 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:41:46,928.928 INFO    ] Waiting 0.96 seconds before fallback handling...
[2026-10-20 07:41:48,398.398 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:41:48,401.401 INFO    ] Checking for system updates...
[2026-10-20 07:41:48,438.438 INFO    ] 200
[2026-10-20 07:41:48,441.441 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:41:48,496.496 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:41:48,499.499 INFO    ] No update needed
[2026-10-20 07:41:48,501.501 INFO    ] Checking for camera pi updates...
[2026-10-20 07:41:48,535.535 INFO    ] 200
[2026-10-20 07:41:48,538.538 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:41:48,579.579 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:41:48,642.642 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:41:48,644.644 INFO    ] No camera update needed
[2026-10-20 07:41:48,647.647 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:41:48,649.649 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:41:48,655.655 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:41:48,660.660 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:41:50,700.700 INFO    ] ================================================
[2026-10-20 07:41:50,715.715 INFO    ] Launching Daemon at Tue Oct 20 07:41:50 IST 2026
[2026-10-20 07:41:50,726.726 INFO    ] ================================================
[2026-10-20 07:41:51,292.292 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:41:51
[2026-10-20 07:41:51,875.875 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:41:52,121.121 INFO    ] Initializing speech engine...
[2026-10-20 07:41:52,129.129 INFO    ] 2026-10-20 07:41:52
[2026-10-20 07:41:52,404.404 INFO    ] 2026-10-20 07:41:52
[2026-10-20 07:41:52,439.439 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:41:52,702.702 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:41:52,706.706 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:41:52,843.843 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:41:52,887.887 INFO    ] time= 20/10/2026 07:41:52
[2026-10-20 07:41:52,931.931 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:41:52,976.976 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:41:53,129.129 INFO    ] No existing commands found in stream
[2026-10-20 07:41:58,148.148 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:41:58,152.152 INFO    ] Waiting 0.66 seconds before fallback handling...
[2026-10-20 07:41:59,358.358 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:41:59,361.361 INFO    ] Checking for system updates...
[2026-10-20 07:41:59,401.401 INFO    ] 200
[2026-10-20 07:41:59,404.404 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:41:59,455.455 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:41:59,458.458 INFO    ] No update needed
[2026-10-20 07:41:59,460.460 INFO    ] Checking for camera pi updates...
[2026-10-20 07:41:59,493.493 INFO    ] 200
[2026-10-20 07:41:59,495.495 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:41:59,536.536 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:41:59,683.683 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:41:59,686.686 INFO    ] No camera update needed
[2026-10-20 07:41:59,688.688 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:41:59,690.690 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:41:59,695.695 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:41:59,700.700 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:42:01,745.745 INFO    ] ================================================
[2026-10-20 07:42:01,771.771 INFO    ] Launching Daemon at Tue Oct 20 07:42:01 IST 2026
[2026-10-20 07:42:01,786.786 INFO    ] ================================================
[2026-10-20 07:42:02,585.585 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:42:02
[2026-10-20 07:42:03,319.319 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:42:03,603.603 INFO    ] Initializing speech engine...
[2026-10-20 07:42:03,620.620 INFO    ] 2026-10-20 07:42:03
[2026-10-20 07:42:03,905.905 INFO    ] 2026-10-20 07:42:03
[2026-10-20 07:42:03,942.942 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:42:04,135.135 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:42:04,142.142 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:42:04,342.342 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:42:04,412.412 INFO    ] time= 20/10/2026 07:42:04
[2026-10-20 07:42:04,464.464 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:42:04,471.471 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:42:04,600.600 INFO    ] No existing commands found in stream
[2026-10-20 07:42:09,625.625 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:42:09,627.627 INFO    ] Waiting 2.06 seconds before fallback handling...
[2026-10-20 07:42:12,204.204 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:42:12,207.207 INFO    ] Checking for system updates...
[2026-10-20 07:42:12,247.247 INFO    ] 200
[2026-10-20 07:42:12,249.249 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:42:12,308.308 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:42:12,311.311 INFO    ] No update needed
[2026-10-20 07:42:12,313.313 INFO    ] Checking for camera pi updates...
[2026-10-20 07:42:12,346.346 INFO    ] 200
[2026-10-20 07:42:12,349.349 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:42:12,394.394 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:42:12,449.449 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:42:12,451.451 INFO    ] No camera update needed
[2026-10-20 07:42:12,454.454 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:42:12,456.456 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:42:12,462.462 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:42:12,467.467 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:42:14,507.507 INFO    ] ================================================
[2026-10-20 07:42:14,523.523 INFO    ] Launching Daemon at Tue Oct 20 07:42:14 IST 2026
[2026-10-20 07:42:14,534.534 INFO    ] ================================================
[2026-10-20 07:42:15,113.113 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:42:15
[2026-10-20 07:42:15,696.696 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:42:15,964.964 INFO    ] Initializing speech engine...
[2026-10-20 07:42:15,974.974 INFO    ] 2026-10-20 07:42:15
[2026-10-20 07:42:16,232.232 INFO    ] 2026-10-20 07:42:16
[2026-10-20 07:42:16,262.262 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:42:16,510.510 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:42:16,516.516 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:42:16,648.648 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:42:16,718.718 INFO    ] time= 20/10/2026 07:42:16
[2026-10-20 07:42:16,772.772 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:42:16,782.782 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:42:16,926.926 INFO    ] No existing commands found in stream
[2026-10-20 07:42:21,945.945 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:42:21,948.948 INFO    ] Waiting 3.60 seconds before fallback handling...
[2026-10-20 07:42:26,060.060 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 07:42:26,062.062 INFO    ] Checking for system updates...
[2026-10-20 07:42:26,097.097 INFO    ] 200
[2026-10-20 07:42:26,100.100 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:42:26,153.153 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:42:26,156.156 INFO    ] No update needed
[2026-10-20 07:42:26,158.158 INFO    ] Checking for camera pi updates...
[2026-10-20 07:42:26,195.195 INFO    ] 200
[2026-10-20 07:42:26,198.198 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:42:26,243.243 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:42:26,290.290 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:42:26,293.293 INFO    ] No camera update needed
[2026-10-20 07:42:26,295.295 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:42:26,297.297 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:42:26,303.303 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:42:26,307.307 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:42:28,347.347 INFO    ] ================================================
[2026-10-20 07:42:28,362.362 INFO    ] Launching Daemon at Tue Oct 20 07:42:28 IST 2026
[2026-10-20 07:42:28,373.373 INFO    ] ================================================
[2026-10-20 07:42:28,938.938 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:42:28
[2026-10-20 07:42:29,521.521 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:42:29,788.788 INFO    ] Initializing speech engine...
[2026-10-20 07:42:29,797.797 INFO    ] 2026-10-20 07:42:29
[2026-10-20 07:42:30,042.042 INFO    ] 2026-10-20 07:42:30
[2026-10-20 07:42:30,076.076 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:42:30,271.271 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:42:30,288.288 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:42:30,469.469 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:42:30,511.511 INFO    ] time= 20/10/2026 07:42:30
[2026-10-20 07:42:30,565.565 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:42:30,601.601 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:42:30,750.750 INFO    ] No existing commands found in stream
[2026-10-20 07:42:35,761.761 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:42:35,764.764 INFO    ] Waiting 0.91 seconds before fallback handling...
[2026-10-20 07:42:37,179.179 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 07:42:37,182.182 INFO    ] Checking for system updates...
[2026-10-20 07:42:37,217.217 INFO    ] 200
[2026-10-20 07:42:37,220.220 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:42:37,271.271 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:42:37,274.274 INFO    ] No update needed
[2026-10-20 07:42:37,276.276 INFO    ] Checking for camera pi updates...
[2026-10-20 07:42:37,310.310 INFO    ] 200
[2026-10-20 07:42:37,312.312 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:42:37,353.353 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:42:37,400.400 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:42:37,402.402 INFO    ] No camera update needed
[2026-10-20 07:42:37,404.404 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:42:37,407.407 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:42:37,412.412 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:42:37,417.417 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:42:39,457.457 INFO    ] ================================================
[2026-10-20 07:42:39,473.473 INFO    ] Launching Daemon at Tue Oct 20 07:42:39 IST 2026
[2026-10-20 07:42:39,484.484 INFO    ] ================================================
[2026-10-20 07:42:40,090.090 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:42:40
[2026-10-20 07:42:40,776.776 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:42:41,091.091 INFO    ] Initializing speech engine...
[2026-10-20 07:42:41,103.103 INFO    ] 2026-10-20 07:42:41
[2026-10-20 07:42:41,417.417 INFO    ] 2026-10-20 07:42:41
[2026-10-20 07:42:41,499.499 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:42:41,714.714 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:42:41,723.723 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:42:41,924.924 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:42:41,943.943 INFO    ] time= 20/10/2026 07:42:41
[2026-10-20 07:42:41,972.972 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:42:41,980.980 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:42:42,112.112 INFO    ] No existing commands found in stream
[2026-10-20 07:42:47,143.143 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:42:47,146.146 INFO    ] Waiting 2.91 seconds before fallback handling...
[2026-10-20 07:42:50,604.604 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 07:42:50,607.607 INFO    ] Checking for system updates...
[2026-10-20 07:42:50,648.648 INFO    ] 200
[2026-10-20 07:42:50,650.650 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:42:50,711.711 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:42:50,714.714 INFO    ] No update needed
[2026-10-20 07:42:50,716.716 INFO    ] Checking for camera pi updates...
[2026-10-20 07:42:50,754.754 INFO    ] 200
[2026-10-20 07:42:50,756.756 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:42:50,796.796 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:42:50,844.844 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:42:50,846.846 INFO    ] No camera update needed
[2026-10-20 07:42:50,849.849 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:42:50,851.851 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:42:50,857.857 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:42:50,862.862 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:42:52,901.901 INFO    ] ================================================
[2026-10-20 07:42:52,916.916 INFO    ] Launching Daemon at Tue Oct 20 07:42:52 IST 2026
[2026-10-20 07:42:52,926.926 INFO    ] ================================================
[2026-10-20 07:42:53,493.493 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:42:53
[2026-10-20 07:42:54,073.073 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:42:54,341.341 INFO    ] Initializing speech engine...
[2026-10-20 07:42:54,351.351 INFO    ] 2026-10-20 07:42:54
[2026-10-20 07:42:54,595.595 INFO    ] 2026-10-20 07:42:54
[2026-10-20 07:42:54,629.629 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:42:54,863.863 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:42:54,893.893 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:42:55,052.052 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:42:55,069.069 INFO    ] time= 20/10/2026 07:42:55
[2026-10-20 07:42:55,129.129 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:42:55,189.189 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:42:55,347.347 INFO    ] No existing commands found in stream
[2026-10-20 07:43:00,378.378 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:43:00,381.381 INFO    ] Waiting 0.05 seconds before fallback handling...
[2026-10-20 07:43:00,931.931 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:43:00,934.934 INFO    ] Checking for system updates...
[2026-10-20 07:43:00,970.970 INFO    ] 200
[2026-10-20 07:43:00,972.972 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:43:01,031.031 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:43:01,034.034 INFO    ] No update needed
[2026-10-20 07:43:01,036.036 INFO    ] Checking for camera pi updates...
[2026-10-20 07:43:01,070.070 INFO    ] 200
[2026-10-20 07:43:01,073.073 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:43:01,122.122 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:43:01,168.168 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:43:01,171.171 INFO    ] No camera update needed
[2026-10-20 07:43:01,173.173 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:43:01,175.175 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:43:01,181.181 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:43:01,186.186 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:43:03,229.229 INFO    ] ================================================
[2026-10-20 07:43:03,244.244 INFO    ] Launching Daemon at Tue Oct 20 07:43:03 IST 2026
[2026-10-20 07:43:03,255.255 INFO    ] ================================================
[2026-10-20 07:43:03,858.858 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:43:03
[2026-10-20 07:43:04,448.448 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:43:04,720.720 INFO    ] Initializing speech engine...
[2026-10-20 07:43:04,726.726 INFO    ] 2026-10-20 07:43:04
[2026-10-20 07:43:04,977.977 INFO    ] 2026-10-20 07:43:04
[2026-10-20 07:43:05,012.012 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:43:05,256.256 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:43:05,265.265 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:43:05,463.463 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:43:05,522.522 INFO    ] time= 20/10/2026 07:43:05
[2026-10-20 07:43:05,531.531 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:43:05,549.549 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:43:05,680.680 INFO    ] No existing commands found in stream
[2026-10-20 07:43:10,702.702 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:43:10,705.705 INFO    ] Waiting 0.13 seconds before fallback handling...
[2026-10-20 07:43:11,317.317 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:43:11,320.320 INFO    ] Checking for system updates...
[2026-10-20 07:43:11,355.355 INFO    ] 200
[2026-10-20 07:43:11,358.358 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:43:11,411.411 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:43:11,414.414 INFO    ] No update needed
[2026-10-20 07:43:11,416.416 INFO    ] Checking for camera pi updates...
[2026-10-20 07:43:11,453.453 INFO    ] 200
[2026-10-20 07:43:11,455.455 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:43:11,499.499 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:43:11,545.545 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:43:11,548.548 INFO    ] No camera update needed
[2026-10-20 07:43:11,550.550 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:43:11,553.553 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:43:11,558.558 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:43:11,563.563 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:43:13,605.605 INFO    ] ================================================
[2026-10-20 07:43:13,620.620 INFO    ] Launching Daemon at Tue Oct 20 07:43:13 IST 2026
[2026-10-20 07:43:13,630.630 INFO    ] ================================================
[2026-10-20 07:43:14,195.195 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:43:14
[2026-10-20 07:43:14,780.780 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:43:15,039.039 INFO    ] Initializing speech engine...
[2026-10-20 07:43:15,064.064 INFO    ] 2026-10-20 07:43:15
[2026-10-20 07:43:15,331.331 INFO    ] 2026-10-20 07:43:15
[2026-10-20 07:43:15,371.371 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:43:15,587.587 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:43:15,595.595 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:43:15,812.812 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:43:15,819.819 INFO    ] time= 20/10/2026 07:43:15
[2026-10-20 07:43:15,883.883 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:43:15,928.928 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:43:16,077.077 INFO    ] No existing commands found in stream
[2026-10-20 07:43:21,102.102 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:43:21,105.105 INFO    ] Waiting 3.33 seconds before fallback handling...
[2026-10-20 07:43:24,961.961 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:43:24,964.964 INFO    ] Checking for system updates...
[2026-10-20 07:43:25,002.002 INFO    ] 200
[2026-10-20 07:43:25,004.004 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:43:25,061.061 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:43:25,064.064 INFO    ] No update needed
[2026-10-20 07:43:25,066.066 INFO    ] Checking for camera pi updates...
[2026-10-20 07:43:25,099.099 INFO    ] 200
[2026-10-20 07:43:25,102.102 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:43:25,145.145 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:43:25,190.190 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:43:25,192.192 INFO    ] No camera update needed
[2026-10-20 07:43:25,195.195 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:43:25,197.197 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:43:25,202.202 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:43:25,207.207 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:43:27,249.249 INFO    ] ================================================
[2026-10-20 07:43:27,264.264 INFO    ] Launching Daemon at Tue Oct 20 07:43:27 IST 2026
[2026-10-20 07:43:27,274.274 INFO    ] ================================================
[2026-10-20 07:43:27,913.913 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:43:27
[2026-10-20 07:43:28,572.572 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:43:28,870.870 INFO    ] Initializing speech engine...
[2026-10-20 07:43:28,875.875 INFO    ] 2026-10-20 07:43:28
[2026-10-20 07:43:29,146.146 INFO    ] 2026-10-20 07:43:29
[2026-10-20 07:43:29,202.202 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:43:29,485.485 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:43:29,494.494 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:43:29,672.672 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:43:29,697.697 INFO    ] time= 20/10/2026 07:43:29
[2026-10-20 07:43:29,715.715 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:43:29,728.728 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:43:29,860.860 INFO    ] No existing commands found in stream
[2026-10-20 07:43:34,892.892 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:43:34,895.895 INFO    ] Waiting 3.87 seconds before fallback handling...
[2026-10-20 07:43:39,258.258 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:43:39,261.261 INFO    ] Checking for system updates...
[2026-10-20 07:43:39,301.301 INFO    ] 200
[2026-10-20 07:43:39,304.304 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:43:39,357.357 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:43:39,359.359 INFO    ] No update needed
[2026-10-20 07:43:39,362.362 INFO    ] Checking for camera pi updates...
[2026-10-20 07:43:39,400.400 INFO    ] 200
[2026-10-20 07:43:39,403.403 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:43:39,448.448 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:43:39,505.505 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:43:39,508.508 INFO    ] No camera update needed
[2026-10-20 07:43:39,511.511 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:43:39,514.514 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:43:39,520.520 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:43:39,526.526 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:43:41,566.566 INFO    ] ================================================
[2026-10-20 07:43:41,581.581 INFO    ] Launching Daemon at Tue Oct 20 07:43:41 IST 2026
[2026-10-20 07:43:41,592.592 INFO    ] ================================================
[2026-10-20 07:43:42,160.160 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:43:42
[2026-10-20 07:43:42,745.745 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:43:43,014.014 INFO    ] Initializing speech engine...
[2026-10-20 07:43:43,024.024 INFO    ] 2026-10-20 07:43:43
[2026-10-20 07:43:43,269.269 INFO    ] 2026-10-20 07:43:43
[2026-10-20 07:43:43,303.303 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:43:43,554.554 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:43:43,563.563 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:43:43,758.758 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:43:43,813.813 INFO    ] time= 20/10/2026 07:43:43
[2026-10-20 07:43:43,828.828 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:43:43,843.843 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:43:43,995.995 INFO    ] No existing commands found in stream
[2026-10-20 07:43:49,020.020 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:43:49,023.023 INFO    ] Waiting 1.68 seconds before fallback handling...
[2026-10-20 07:43:51,232.232 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 07:43:51,235.235 INFO    ] Checking for system updates...
[2026-10-20 07:43:51,272.272 INFO    ] 200
[2026-10-20 07:43:51,275.275 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:43:51,327.327 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:43:51,329.329 INFO    ] No update needed
[2026-10-20 07:43:51,332.332 INFO    ] Checking for camera pi updates...
[2026-10-20 07:43:51,368.368 INFO    ] 200
[2026-10-20 07:43:51,371.371 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:43:51,416.416 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:43:51,465.465 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:43:51,468.468 INFO    ] No camera update needed
[2026-10-20 07:43:51,470.470 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:43:51,473.473 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:43:51,479.479 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:43:51,485.485 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:43:53,525.525 INFO    ] ================================================
[2026-10-20 07:43:53,540.540 INFO    ] Launching Daemon at Tue Oct 20 07:43:53 IST 2026
[2026-10-20 07:43:53,551.551 INFO    ] ================================================
[2026-10-20 07:43:54,118.118 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:43:54
[2026-10-20 07:43:54,703.703 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:43:54,975.975 INFO    ] Initializing speech engine...
[2026-10-20 07:43:54,981.981 INFO    ] 2026-10-20 07:43:54
[2026-10-20 07:43:55,225.225 INFO    ] 2026-10-20 07:43:55
[2026-10-20 07:43:55,259.259 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:43:55,457.457 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:43:55,515.515 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:43:55,660.660 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:43:55,719.719 INFO    ] time= 20/10/2026 07:43:55
[2026-10-20 07:43:55,773.773 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:43:55,785.785 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:43:55,918.918 INFO    ] No existing commands found in stream
[2026-10-20 07:44:00,940.940 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:44:00,943.943 INFO    ] Waiting 2.86 seconds before fallback handling...
[2026-10-20 07:44:04,290.290 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:44:04,293.293 INFO    ] Checking for system updates...
[2026-10-20 07:44:04,329.329 INFO    ] 200
[2026-10-20 07:44:04,332.332 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:44:04,385.385 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:44:04,387.387 INFO    ] No update needed
[2026-10-20 07:44:04,390.390 INFO    ] Checking for camera pi updates...
[2026-10-20 07:44:04,427.427 INFO    ] 200
[2026-10-20 07:44:04,431.431 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:44:04,472.472 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:44:04,518.518 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:44:04,521.521 INFO    ] No camera update needed
[2026-10-20 07:44:04,523.523 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:44:04,526.526 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:44:04,532.532 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:44:04,537.537 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:44:06,579.579 INFO    ] ================================================
[2026-10-20 07:44:06,594.594 INFO    ] Launching Daemon at Tue Oct 20 07:44:06 IST 2026
[2026-10-20 07:44:06,605.605 INFO    ] ================================================
[2026-10-20 07:44:07,253.253 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:44:07
[2026-10-20 07:44:07,845.845 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:44:08,120.120 INFO    ] Initializing speech engine...
[2026-10-20 07:44:08,127.127 INFO    ] 2026-10-20 07:44:08
[2026-10-20 07:44:08,370.370 INFO    ] 2026-10-20 07:44:08
[2026-10-20 07:44:08,406.406 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:44:08,609.609 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:44:08,662.662 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:44:08,877.877 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:44:08,928.928 INFO    ] time= 20/10/2026 07:44:08
[2026-10-20 07:44:08,935.935 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:44:08,952.952 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:44:09,078.078 INFO    ] No existing commands found in stream
[2026-10-20 07:44:14,094.094 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:44:14,097.097 INFO    ] Waiting 0.26 seconds before fallback handling...
[2026-10-20 07:44:14,803.803 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:44:14,806.806 INFO    ] Checking for system updates...
[2026-10-20 07:44:14,841.841 INFO    ] 200
[2026-10-20 07:44:14,844.844 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:44:14,907.907 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:44:14,910.910 INFO    ] No update needed
[2026-10-20 07:44:14,912.912 INFO    ] Checking for camera pi updates...
[2026-10-20 07:44:14,945.945 INFO    ] 200
[2026-10-20 07:44:14,947.947 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:44:14,986.986 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:44:15,034.034 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:44:15,036.036 INFO    ] No camera update needed
[2026-10-20 07:44:15,039.039 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:44:15,041.041 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:44:15,046.046 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:44:15,051.051 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:44:17,091.091 INFO    ] ================================================
[2026-10-20 07:44:17,106.106 INFO    ] Launching Daemon at Tue Oct 20 07:44:17 IST 2026
[2026-10-20 07:44:17,117.117 INFO    ] ================================================
[2026-10-20 07:44:17,767.767 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:44:17
[2026-10-20 07:44:18,435.435 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:44:18,740.740 INFO    ] Initializing speech engine...
[2026-10-20 07:44:18,753.753 INFO    ] 2026-10-20 07:44:18
[2026-10-20 07:44:19,033.033 INFO    ] 2026-10-20 07:44:19
[2026-10-20 07:44:19,077.077 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:44:19,367.367 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:44:19,385.385 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:44:19,579.579 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:44:19,599.599 INFO    ] time= 20/10/2026 07:44:19
[2026-10-20 07:44:19,618.618 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:44:19,627.627 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:44:19,745.745 INFO    ] No existing commands found in stream
[2026-10-20 07:44:24,771.771 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:44:24,774.774 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-10-20 07:44:28,804.804 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:44:28,807.807 INFO    ] Checking for system updates...
[2026-10-20 07:44:28,845.845 INFO    ] 200
[2026-10-20 07:44:28,848.848 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:44:28,906.906 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:44:28,909.909 INFO    ] No update needed
[2026-10-20 07:44:28,911.911 INFO    ] Checking for camera pi updates...
[2026-10-20 07:44:28,944.944 INFO    ] 200
[2026-10-20 07:44:28,947.947 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:44:28,991.991 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:44:29,048.048 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:44:29,051.051 INFO    ] No camera update needed
[2026-10-20 07:44:29,053.053 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:44:29,055.055 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:44:29,061.061 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:44:29,065.065 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:44:31,106.106 INFO    ] ================================================
[2026-10-20 07:44:31,122.122 INFO    ] Launching Daemon at Tue Oct 20 07:44:31 IST 2026
[2026-10-20 07:44:31,133.133 INFO    ] ================================================
[2026-10-20 07:44:31,718.718 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:44:31
[2026-10-20 07:44:32,332.332 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:44:32,621.621 INFO    ] Initializing speech engine...
[2026-10-20 07:44:32,627.627 INFO    ] 2026-10-20 07:44:32
[2026-10-20 07:44:32,895.895 INFO    ] 2026-10-20 07:44:32
[2026-10-20 07:44:32,930.930 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:44:33,138.138 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:44:33,189.189 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:44:33,351.351 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:44:33,410.410 INFO    ] time= 20/10/2026 07:44:33
[2026-10-20 07:44:33,459.459 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:44:33,481.481 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:44:33,614.614 INFO    ] No existing commands found in stream
[2026-10-20 07:44:38,637.637 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:44:38,640.640 INFO    ] Waiting 2.94 seconds before fallback handling...
[2026-10-20 07:44:42,099.099 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:44:42,101.101 INFO    ] Checking for system updates...
[2026-10-20 07:44:42,137.137 INFO    ] 200
[2026-10-20 07:44:42,139.139 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:44:42,191.191 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:44:42,193.193 INFO    ] No update needed
[2026-10-20 07:44:42,196.196 INFO    ] Checking for camera pi updates...
[2026-10-20 07:44:42,230.230 INFO    ] 200
[2026-10-20 07:44:42,232.232 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:44:42,272.272 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:44:42,318.318 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:44:42,320.320 INFO    ] No camera update needed
[2026-10-20 07:44:42,323.323 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:44:42,325.325 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:44:42,331.331 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:44:42,336.336 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:44:44,377.377 INFO    ] ================================================
[2026-10-20 07:44:44,393.393 INFO    ] Launching Daemon at Tue Oct 20 07:44:44 IST 2026
[2026-10-20 07:44:44,404.404 INFO    ] ================================================
[2026-10-20 07:44:44,971.971 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:44:44
[2026-10-20 07:44:45,556.556 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:44:45,813.813 INFO    ] Initializing speech engine...
[2026-10-20 07:44:45,826.826 INFO    ] 2026-10-20 07:44:45
[2026-10-20 07:44:46,113.113 INFO    ] 2026-10-20 07:44:46
[2026-10-20 07:44:46,150.150 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:44:46,348.348 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:44:46,354.354 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:44:46,528.528 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:44:46,536.536 INFO    ] time= 20/10/2026 07:44:46
[2026-10-20 07:44:46,540.540 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:44:46,547.547 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:44:46,624.624 INFO    ] No existing commands found in stream
[2026-10-20 07:44:51,639.639 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:44:51,642.642 INFO    ] Waiting 1.41 seconds before fallback handling...
[2026-10-20 07:44:53,581.581 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:44:53,584.584 INFO    ] Checking for system updates...
[2026-10-20 07:44:53,621.621 INFO    ] 200
[2026-10-20 07:44:53,624.624 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:44:53,676.676 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:44:53,678.678 INFO    ] No update needed
[2026-10-20 07:44:53,681.681 INFO    ] Checking for camera pi updates...
[2026-10-20 07:44:53,718.718 INFO    ] 200
[2026-10-20 07:44:53,720.720 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:44:53,760.760 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:44:53,804.804 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:44:53,807.807 INFO    ] No camera update needed
[2026-10-20 07:44:53,809.809 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:44:53,811.811 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:44:53,816.816 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:44:53,821.821 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:44:55,862.862 INFO    ] ================================================
[2026-10-20 07:44:55,877.877 INFO    ] Launching Daemon at Tue Oct 20 07:44:55 IST 2026
[2026-10-20 07:44:55,889.889 INFO    ] ================================================
[2026-10-20 07:44:56,465.465 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:44:56
[2026-10-20 07:44:57,057.057 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:44:57,315.315 INFO    ] Initializing speech engine...
[2026-10-20 07:44:57,324.324 INFO    ] 2026-10-20 07:44:57
[2026-10-20 07:44:57,621.621 INFO    ] 2026-10-20 07:44:57
[2026-10-20 07:44:57,656.656 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:44:57,881.881 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:44:57,889.889 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:44:58,037.037 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:44:58,042.042 INFO    ] time= 20/10/2026 07:44:58
[2026-10-20 07:44:58,049.049 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:44:58,101.101 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:44:58,244.244 INFO    ] No existing commands found in stream
[2026-10-20 07:45:03,261.261 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:45:03,265.265 INFO    ] Waiting 0.17 seconds before fallback handling...
[2026-10-20 07:45:03,943.943 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:45:03,946.946 INFO    ] Checking for system updates...
[2026-10-20 07:45:03,982.982 INFO    ] 200
[2026-10-20 07:45:03,985.985 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:45:04,044.044 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:45:04,047.047 INFO    ] No update needed
[2026-10-20 07:45:04,050.050 INFO    ] Checking for camera pi updates...
[2026-10-20 07:45:04,092.092 INFO    ] 200
[2026-10-20 07:45:04,094.094 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:45:04,140.140 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:45:04,189.189 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:45:04,192.192 INFO    ] No camera update needed
[2026-10-20 07:45:04,195.195 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:45:04,197.197 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:45:04,204.204 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:45:04,210.210 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:45:06,251.251 INFO    ] ================================================
[2026-10-20 07:45:06,266.266 INFO    ] Launching Daemon at Tue Oct 20 07:45:06 IST 2026
[2026-10-20 07:45:06,277.277 INFO    ] ================================================
[2026-10-20 07:45:06,932.932 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:45:06
[2026-10-20 07:45:07,596.596 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:45:07,872.872 INFO    ] Initializing speech engine...
[2026-10-20 07:45:07,882.882 INFO    ] 2026-10-20 07:45:07
[2026-10-20 07:45:08,127.127 INFO    ] 2026-10-20 07:45:08
[2026-10-20 07:45:08,163.163 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:45:08,415.415 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:45:08,426.426 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:45:08,565.565 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:45:08,630.630 INFO    ] time= 20/10/2026 07:45:08
[2026-10-20 07:45:08,687.687 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:45:08,693.693 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:45:08,839.839 INFO    ] No existing commands found in stream
[2026-10-20 07:45:13,853.853 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:45:13,856.856 INFO    ] Waiting 3.22 seconds before fallback handling...
[2026-10-20 07:45:17,581.581 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:45:17,584.584 INFO    ] Checking for system updates...
[2026-10-20 07:45:17,625.625 INFO    ] 200
[2026-10-20 07:45:17,628.628 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:45:17,681.681 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:45:17,684.684 INFO    ] No update needed
[2026-10-20 07:45:17,687.687 INFO    ] Checking for camera pi updates...
[2026-10-20 07:45:17,721.721 INFO    ] 200
[2026-10-20 07:45:17,724.724 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:45:17,766.766 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:45:17,813.813 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:45:17,816.816 INFO    ] No camera update needed
[2026-10-20 07:45:17,818.818 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:45:17,821.821 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:45:17,827.827 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:45:17,833.833 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:45:19,875.875 INFO    ] ================================================
[2026-10-20 07:45:19,891.891 INFO    ] Launching Daemon at Tue Oct 20 07:45:19 IST 2026
[2026-10-20 07:45:19,902.902 INFO    ] ================================================
[2026-10-20 07:45:20,555.555 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:45:20
[2026-10-20 07:45:21,230.230 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:45:21,540.540 INFO    ] Initializing speech engine...
[2026-10-20 07:45:21,552.552 INFO    ] 2026-10-20 07:45:21
[2026-10-20 07:45:21,838.838 INFO    ] 2026-10-20 07:45:21
[2026-10-20 07:45:21,942.942 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:45:22,159.159 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:45:22,168.168 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:45:22,366.366 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:45:22,373.373 INFO    ] time= 20/10/2026 07:45:22
[2026-10-20 07:45:22,395.395 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:45:22,425.425 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:45:22,579.579 INFO    ] No existing commands found in stream
[2026-10-20 07:45:27,610.610 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:45:27,614.614 INFO    ] Waiting 1.56 seconds before fallback handling...
[2026-10-20 07:45:31,607.607 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:45:31,610.610 INFO    ] Checking for system updates...
[2026-10-20 07:45:31,652.652 INFO    ] 200
[2026-10-20 07:45:31,655.655 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:45:31,707.707 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:45:31,710.710 INFO    ] No update needed
[2026-10-20 07:45:31,712.712 INFO    ] Checking for camera pi updates...
[2026-10-20 07:45:31,745.745 INFO    ] 200
[2026-10-20 07:45:31,747.747 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:45:31,794.794 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:45:31,840.840 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:45:31,843.843 INFO    ] No camera update needed
[2026-10-20 07:45:31,846.846 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:45:31,849.849 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:45:31,856.856 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:45:31,863.863 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:45:33,906.906 INFO    ] ================================================
[2026-10-20 07:45:33,921.921 INFO    ] Launching Daemon at Tue Oct 20 07:45:33 IST 2026
[2026-10-20 07:45:33,932.932 INFO    ] ================================================
[2026-10-20 07:45:34,497.497 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:45:34
[2026-10-20 07:45:35,079.079 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:45:35,346.346 INFO    ] Initializing speech engine...
[2026-10-20 07:45:35,355.355 INFO    ] 2026-10-20 07:45:35
[2026-10-20 07:45:35,616.616 INFO    ] 2026-10-20 07:45:35
[2026-10-20 07:45:35,666.666 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:45:35,890.890 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:45:35,899.899 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:45:36,079.079 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:45:36,138.138 INFO    ] time= 20/10/2026 07:45:36
[2026-10-20 07:45:36,160.160 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:45:36,166.166 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:45:36,312.312 INFO    ] No existing commands found in stream
[2026-10-20 07:45:41,339.339 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:45:41,342.342 INFO    ] Waiting 1.30 seconds before fallback handling...
[2026-10-20 07:45:43,151.151 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 07:45:43,154.154 INFO    ] Checking for system updates...
[2026-10-20 07:45:43,189.189 INFO    ] 200
[2026-10-20 07:45:43,191.191 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:45:43,242.242 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:45:43,245.245 INFO    ] No update needed
[2026-10-20 07:45:43,247.247 INFO    ] Checking for camera pi updates...
[2026-10-20 07:45:43,281.281 INFO    ] 200
[2026-10-20 07:45:43,283.283 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:45:43,327.327 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:45:43,380.380 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:45:43,383.383 INFO    ] No camera update needed
[2026-10-20 07:45:43,386.386 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:45:43,388.388 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:45:43,394.394 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:45:43,400.400 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:45:45,441.441 INFO    ] ================================================
[2026-10-20 07:45:45,456.456 INFO    ] Launching Daemon at Tue Oct 20 07:45:45 IST 2026
[2026-10-20 07:45:45,467.467 INFO    ] ================================================
[2026-10-20 07:45:46,107.107 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:45:46
[2026-10-20 07:45:46,763.763 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:45:47,014.014 INFO    ] Initializing speech engine...
[2026-10-20 07:45:47,026.026 INFO    ] 2026-10-20 07:45:47
[2026-10-20 07:45:47,290.290 INFO    ] 2026-10-20 07:45:47
[2026-10-20 07:45:47,325.325 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:45:47,585.585 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:45:47,594.594 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:45:47,746.746 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:45:47,754.754 INFO    ] time= 20/10/2026 07:45:47
[2026-10-20 07:45:47,803.803 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:45:47,852.852 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:45:48,005.005 INFO    ] No existing commands found in stream
[2026-10-20 07:45:53,028.028 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:45:53,031.031 INFO    ] Waiting 0.24 seconds before fallback handling...
[2026-10-20 07:45:53,789.789 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:45:53,792.792 INFO    ] Checking for system updates...
[2026-10-20 07:45:53,827.827 INFO    ] 200
[2026-10-20 07:45:53,830.830 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:45:53,882.882 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:45:53,884.884 INFO    ] No update needed
[2026-10-20 07:45:53,887.887 INFO    ] Checking for camera pi updates...
[2026-10-20 07:45:53,920.920 INFO    ] 200
[2026-10-20 07:45:53,922.922 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:45:53,972.972 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:45:54,028.028 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:45:54,030.030 INFO    ] No camera update needed
[2026-10-20 07:45:54,033.033 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:45:54,035.035 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:45:54,040.040 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:45:54,045.045 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:45:56,086.086 INFO    ] ================================================
[2026-10-20 07:45:56,102.102 INFO    ] Launching Daemon at Tue Oct 20 07:45:56 IST 2026
[2026-10-20 07:45:56,113.113 INFO    ] ================================================
[2026-10-20 07:45:56,697.697 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:45:56
[2026-10-20 07:45:57,296.296 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:45:57,573.573 INFO    ] Initializing speech engine...
[2026-10-20 07:45:57,583.583 INFO    ] 2026-10-20 07:45:57
[2026-10-20 07:45:57,845.845 INFO    ] 2026-10-20 07:45:57
[2026-10-20 07:45:57,899.899 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:45:58,125.125 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:45:58,129.129 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:45:58,350.350 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:45:58,388.388 INFO    ] time= 20/10/2026 07:45:58
[2026-10-20 07:45:58,394.394 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:45:58,412.412 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:45:58,540.540 INFO    ] No existing commands found in stream
[2026-10-20 07:46:03,554.554 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:46:03,557.557 INFO    ] Waiting 3.35 seconds before fallback handling...
[2026-10-20 07:46:07,425.425 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:46:07,428.428 INFO    ] Checking for system updates...
[2026-10-20 07:46:07,464.464 INFO    ] 200
[2026-10-20 07:46:07,466.466 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:46:07,519.519 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:46:07,522.522 INFO    ] No update needed
[2026-10-20 07:46:07,525.525 INFO    ] Checking for camera pi updates...
[2026-10-20 07:46:07,559.559 INFO    ] 200
[2026-10-20 07:46:07,561.561 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:46:07,603.603 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:46:07,749.749 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:46:07,752.752 INFO    ] No camera update needed
[2026-10-20 07:46:07,755.755 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:46:07,758.758 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:46:07,764.764 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:46:07,770.770 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:46:09,812.812 INFO    ] ================================================
[2026-10-20 07:46:09,827.827 INFO    ] Launching Daemon at Tue Oct 20 07:46:09 IST 2026
[2026-10-20 07:46:09,837.837 INFO    ] ================================================
[2026-10-20 07:46:10,503.503 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:46:10
[2026-10-20 07:46:11,205.205 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:46:11,545.545 INFO    ] Initializing speech engine...
[2026-10-20 07:46:11,551.551 INFO    ] 2026-10-20 07:46:11
[2026-10-20 07:46:11,860.860 INFO    ] 2026-10-20 07:46:11
[2026-10-20 07:46:11,905.905 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:46:12,187.187 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:46:12,196.196 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:46:12,390.390 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:46:12,398.398 INFO    ] time= 20/10/2026 07:46:12
[2026-10-20 07:46:12,420.420 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:46:12,448.448 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:46:12,554.554 INFO    ] No existing commands found in stream
[2026-10-20 07:46:17,583.583 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:46:17,587.587 INFO    ] Waiting 3.40 seconds before fallback handling...
[2026-10-20 07:46:21,535.535 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:46:21,538.538 INFO    ] Checking for system updates...
[2026-10-20 07:46:21,575.575 INFO    ] 200
[2026-10-20 07:46:21,577.577 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:46:21,633.633 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:46:21,636.636 INFO    ] No update needed
[2026-10-20 07:46:21,639.639 INFO    ] Checking for camera pi updates...
[2026-10-20 07:46:21,677.677 INFO    ] 200
[2026-10-20 07:46:21,680.680 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:46:21,722.722 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:46:21,780.780 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:46:21,782.782 INFO    ] No camera update needed
[2026-10-20 07:46:21,785.785 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:46:21,788.788 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:46:21,794.794 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:46:21,800.800 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:46:23,843.843 INFO    ] ================================================
[2026-10-20 07:46:23,859.859 INFO    ] Launching Daemon at Tue Oct 20 07:46:23 IST 2026
[2026-10-20 07:46:23,870.870 INFO    ] ================================================
[2026-10-20 07:46:24,449.449 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:46:24
[2026-10-20 07:46:25,047.047 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:46:25,312.312 INFO    ] Initializing speech engine...
[2026-10-20 07:46:25,328.328 INFO    ] 2026-10-20 07:46:25
[2026-10-20 07:46:25,616.616 INFO    ] 2026-10-20 07:46:25
[2026-10-20 07:46:25,651.651 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:46:25,853.853 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:46:25,858.858 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:46:26,036.036 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:46:26,044.044 INFO    ] time= 20/10/2026 07:46:26
[2026-10-20 07:46:26,053.053 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:46:26,105.105 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:46:26,236.236 INFO    ] No existing commands found in stream
[2026-10-20 07:46:31,261.261 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:46:31,264.264 INFO    ] Waiting 0.57 seconds before fallback handling...
[2026-10-20 07:46:32,362.362 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:46:32,365.365 INFO    ] Checking for system updates...
[2026-10-20 07:46:32,402.402 INFO    ] 200
[2026-10-20 07:46:32,405.405 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:46:32,470.470 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:46:32,472.472 INFO    ] No update needed
[2026-10-20 07:46:32,475.475 INFO    ] Checking for camera pi updates...
[2026-10-20 07:46:32,524.524 INFO    ] 200
[2026-10-20 07:46:32,526.526 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:46:32,573.573 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:46:32,613.613 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:46:32,616.616 INFO    ] No camera update needed
[2026-10-20 07:46:32,619.619 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:46:32,622.622 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:46:32,629.629 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:46:32,636.636 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:46:34,679.679 INFO    ] ================================================
[2026-10-20 07:46:34,695.695 INFO    ] Launching Daemon at Tue Oct 20 07:46:34 IST 2026
[2026-10-20 07:46:34,706.706 INFO    ] ================================================
[2026-10-20 07:46:35,274.274 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:46:35
[2026-10-20 07:46:35,859.859 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:46:36,117.117 INFO    ] Initializing speech engine...
[2026-10-20 07:46:36,130.130 INFO    ] 2026-10-20 07:46:36
[2026-10-20 07:46:36,393.393 INFO    ] 2026-10-20 07:46:36
[2026-10-20 07:46:36,428.428 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:46:36,680.680 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:46:36,689.689 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:46:36,903.903 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:46:36,949.949 INFO    ] time= 20/10/2026 07:46:36
[2026-10-20 07:46:36,955.955 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:46:36,973.973 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:46:37,105.105 INFO    ] No existing commands found in stream
[2026-10-20 07:46:42,133.133 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:46:42,136.136 INFO    ] Waiting 0.36 seconds before fallback handling...
[2026-10-20 07:46:43,022.022 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:46:43,024.024 INFO    ] Checking for system updates...
[2026-10-20 07:46:43,063.063 INFO    ] 200
[2026-10-20 07:46:43,066.066 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:46:43,122.122 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:46:43,125.125 INFO    ] No update needed
[2026-10-20 07:46:43,128.128 INFO    ] Checking for camera pi updates...
[2026-10-20 07:46:43,170.170 INFO    ] 200
[2026-10-20 07:46:43,172.172 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:46:43,216.216 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:46:43,265.265 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:46:43,268.268 INFO    ] No camera update needed
[2026-10-20 07:46:43,271.271 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:46:43,273.273 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:46:43,280.280 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:46:43,287.287 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:46:45,330.330 INFO    ] ================================================
[2026-10-20 07:46:45,346.346 INFO    ] Launching Daemon at Tue Oct 20 07:46:45 IST 2026
[2026-10-20 07:46:45,358.358 INFO    ] ================================================
[2026-10-20 07:46:45,963.963 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:46:45
[2026-10-20 07:46:46,574.574 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:46:46,864.864 INFO    ] Initializing speech engine...
[2026-10-20 07:46:46,873.873 INFO    ] 2026-10-20 07:46:46
[2026-10-20 07:46:47,137.137 INFO    ] 2026-10-20 07:46:47
[2026-10-20 07:46:47,173.173 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:46:47,421.421 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:46:47,430.430 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:46:47,647.647 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:46:47,690.690 INFO    ] time= 20/10/2026 07:46:47
[2026-10-20 07:46:47,696.696 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:46:47,716.716 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:46:47,845.845 INFO    ] No existing commands found in stream
[2026-10-20 07:46:52,860.860 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:46:52,863.863 INFO    ] Waiting 1.89 seconds before fallback handling...
[2026-10-20 07:46:55,264.264 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:46:55,267.267 INFO    ] Checking for system updates...
[2026-10-20 07:46:55,303.303 INFO    ] 200
[2026-10-20 07:46:55,305.305 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:46:55,359.359 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:46:55,362.362 INFO    ] No update needed
[2026-10-20 07:46:55,364.364 INFO    ] Checking for camera pi updates...
[2026-10-20 07:46:55,398.398 INFO    ] 200
[2026-10-20 07:46:55,400.400 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:46:55,440.440 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:46:55,485.485 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:46:55,488.488 INFO    ] No camera update needed
[2026-10-20 07:46:55,490.490 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:46:55,493.493 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:46:55,498.498 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:46:55,503.503 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:46:57,546.546 INFO    ] ================================================
[2026-10-20 07:46:57,561.561 INFO    ] Launching Daemon at Tue Oct 20 07:46:57 IST 2026
[2026-10-20 07:46:57,573.573 INFO    ] ================================================
[2026-10-20 07:46:58,208.208 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:46:58
[2026-10-20 07:46:58,868.868 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:46:59,165.165 INFO    ] Initializing speech engine...
[2026-10-20 07:46:59,175.175 INFO    ] 2026-10-20 07:46:59
[2026-10-20 07:46:59,457.457 INFO    ] 2026-10-20 07:46:59
[2026-10-20 07:46:59,503.503 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:46:59,755.755 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:46:59,788.788 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:46:59,991.991 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:46:59,997.997 INFO    ] time= 20/10/2026 07:46:59
[2026-10-20 07:47:00,018.018 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:47:00,033.033 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:47:00,181.181 INFO    ] No existing commands found in stream
[2026-10-20 07:47:05,207.207 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:47:05,211.211 INFO    ] Waiting 2.36 seconds before fallback handling...
[2026-10-20 07:47:08,065.065 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:47:08,069.069 INFO    ] Checking for system updates...
[2026-10-20 07:47:08,110.110 INFO    ] 200
[2026-10-20 07:47:08,113.113 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:47:08,174.174 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:47:08,177.177 INFO    ] No update needed
[2026-10-20 07:47:08,179.179 INFO    ] Checking for camera pi updates...
[2026-10-20 07:47:08,214.214 INFO    ] 200
[2026-10-20 07:47:08,216.216 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:47:08,258.258 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:47:08,315.315 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:47:08,317.317 INFO    ] No camera update needed
[2026-10-20 07:47:08,320.320 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:47:08,323.323 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:47:08,329.329 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:47:08,335.335 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:47:10,377.377 INFO    ] ================================================
[2026-10-20 07:47:10,392.392 INFO    ] Launching Daemon at Tue Oct 20 07:47:10 IST 2026
[2026-10-20 07:47:10,403.403 INFO    ] ================================================
[2026-10-20 07:47:11,053.053 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:47:11
[2026-10-20 07:47:11,723.723 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:47:12,027.027 INFO    ] Initializing speech engine...
[2026-10-20 07:47:12,039.039 INFO    ] 2026-10-20 07:47:12
[2026-10-20 07:47:12,345.345 INFO    ] 2026-10-20 07:47:12
[2026-10-20 07:47:12,434.434 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:47:12,648.648 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:47:12,657.657 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:47:12,850.850 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:47:12,868.868 INFO    ] time= 20/10/2026 07:47:12
[2026-10-20 07:47:12,899.899 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:47:12,909.909 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:47:13,039.039 INFO    ] No existing commands found in stream
[2026-10-20 07:47:18,070.070 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:47:18,074.074 INFO    ] Waiting 3.54 seconds before fallback handling...
[2026-10-20 07:47:22,139.139 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:47:22,142.142 INFO    ] Checking for system updates...
[2026-10-20 07:47:22,179.179 INFO    ] 200
[2026-10-20 07:47:22,182.182 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:47:22,240.240 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:47:22,242.242 INFO    ] No update needed
[2026-10-20 07:47:22,245.245 INFO    ] Checking for camera pi updates...
[2026-10-20 07:47:22,279.279 INFO    ] 200
[2026-10-20 07:47:22,281.281 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:47:22,322.322 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:47:22,368.368 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:47:22,370.370 INFO    ] No camera update needed
[2026-10-20 07:47:22,373.373 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:47:22,375.375 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:47:22,381.381 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:47:22,386.386 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:47:24,427.427 INFO    ] ================================================
[2026-10-20 07:47:24,441.441 INFO    ] Launching Daemon at Tue Oct 20 07:47:24 IST 2026
[2026-10-20 07:47:24,452.452 INFO    ] ================================================
[2026-10-20 07:47:25,021.021 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:47:25
[2026-10-20 07:47:25,608.608 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:47:25,863.863 INFO    ] Initializing speech engine...
[2026-10-20 07:47:25,872.872 INFO    ] 2026-10-20 07:47:25
[2026-10-20 07:47:26,164.164 INFO    ] 2026-10-20 07:47:26
[2026-10-20 07:47:26,198.198 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:47:26,425.425 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:47:26,433.433 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:47:26,585.585 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:47:26,592.592 INFO    ] time= 20/10/2026 07:47:26
[2026-10-20 07:47:26,619.619 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:47:26,668.668 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:47:26,808.808 INFO    ] No existing commands found in stream
[2026-10-20 07:47:31,824.824 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:47:31,827.827 INFO    ] Waiting 2.24 seconds before fallback handling...
[2026-10-20 07:47:34,577.577 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:47:34,581.581 INFO    ] Checking for system updates...
[2026-10-20 07:47:34,617.617 INFO    ] 200
[2026-10-20 07:47:34,620.620 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:47:34,674.674 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:47:34,677.677 INFO    ] No update needed
[2026-10-20 07:47:34,680.680 INFO    ] Checking for camera pi updates...
[2026-10-20 07:47:34,715.715 INFO    ] 200
[2026-10-20 07:47:34,718.718 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:47:34,760.760 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:47:34,816.816 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:47:34,819.819 INFO    ] No camera update needed
[2026-10-20 07:47:34,822.822 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:47:34,824.824 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:47:34,830.830 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:47:34,836.836 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:47:36,877.877 INFO    ] ================================================
[2026-10-20 07:47:36,892.892 INFO    ] Launching Daemon at Tue Oct 20 07:47:36 IST 2026
[2026-10-20 07:47:36,903.903 INFO    ] ================================================
[2026-10-20 07:47:37,479.479 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:47:37
[2026-10-20 07:47:38,063.063 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:47:38,317.317 INFO    ] Initializing speech engine...
[2026-10-20 07:47:38,326.326 INFO    ] 2026-10-20 07:47:38
[2026-10-20 07:47:38,622.622 INFO    ] 2026-10-20 07:47:38
[2026-10-20 07:47:38,660.660 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:47:38,859.859 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:47:38,865.865 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:47:39,004.004 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:47:39,025.025 INFO    ] time= 20/10/2026 07:47:39
[2026-10-20 07:47:39,047.047 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:47:39,055.055 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:47:39,136.136 INFO    ] No existing commands found in stream
[2026-10-20 07:47:44,151.151 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:47:44,154.154 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-10-20 07:47:48,109.109 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:47:48,112.112 INFO    ] Checking for system updates...
[2026-10-20 07:47:48,148.148 INFO    ] 200
[2026-10-20 07:47:48,150.150 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:47:48,209.209 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:47:48,212.212 INFO    ] No update needed
[2026-10-20 07:47:48,215.215 INFO    ] Checking for camera pi updates...
[2026-10-20 07:47:48,255.255 INFO    ] 200
[2026-10-20 07:47:48,258.258 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:47:48,298.298 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:47:48,349.349 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:47:48,352.352 INFO    ] No camera update needed
[2026-10-20 07:47:48,354.354 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:47:48,356.356 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:47:48,362.362 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:47:48,367.367 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:47:50,407.407 INFO    ] ================================================
[2026-10-20 07:47:50,422.422 INFO    ] Launching Daemon at Tue Oct 20 07:47:50 IST 2026
[2026-10-20 07:47:50,433.433 INFO    ] ================================================
[2026-10-20 07:47:51,091.091 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:47:51
[2026-10-20 07:47:51,730.730 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:47:52,007.007 INFO    ] Initializing speech engine...
[2026-10-20 07:47:52,013.013 INFO    ] 2026-10-20 07:47:52
[2026-10-20 07:47:52,272.272 INFO    ] 2026-10-20 07:47:52
[2026-10-20 07:47:52,301.301 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:47:52,546.546 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:47:52,555.555 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:47:52,771.771 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:47:52,816.816 INFO    ] time= 20/10/2026 07:47:52
[2026-10-20 07:47:52,822.822 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:47:52,839.839 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:47:52,964.964 INFO    ] No existing commands found in stream
[2026-10-20 07:47:57,981.981 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:47:57,983.983 INFO    ] Waiting 1.08 seconds before fallback handling...
[2026-10-20 07:47:59,570.570 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:47:59,573.573 INFO    ] Checking for system updates...
[2026-10-20 07:47:59,612.612 INFO    ] 200
[2026-10-20 07:47:59,614.614 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:47:59,666.666 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:47:59,668.668 INFO    ] No update needed
[2026-10-20 07:47:59,670.670 INFO    ] Checking for camera pi updates...
[2026-10-20 07:47:59,703.703 INFO    ] 200
[2026-10-20 07:47:59,706.706 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:47:59,746.746 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:47:59,796.796 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:47:59,799.799 INFO    ] No camera update needed
[2026-10-20 07:47:59,801.801 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:47:59,804.804 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:47:59,809.809 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:47:59,814.814 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:48:01,867.867 INFO    ] ================================================
[2026-10-20 07:48:01,906.906 INFO    ] Launching Daemon at Tue Oct 20 07:48:01 IST 2026
[2026-10-20 07:48:01,942.942 INFO    ] ================================================
[2026-10-20 07:48:02,730.730 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:48:02
[2026-10-20 07:48:03,481.481 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:48:03,755.755 INFO    ] Initializing speech engine...
[2026-10-20 07:48:03,762.762 INFO    ] 2026-10-20 07:48:03
[2026-10-20 07:48:04,067.067 INFO    ] 2026-10-20 07:48:04
[2026-10-20 07:48:04,100.100 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:48:04,345.345 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:48:04,355.355 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:48:04,549.549 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:48:04,604.604 INFO    ] time= 20/10/2026 07:48:04
[2026-10-20 07:48:04,617.617 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:48:04,623.623 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:48:04,753.753 INFO    ] No existing commands found in stream
[2026-10-20 07:48:09,777.777 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:48:09,780.780 INFO    ] Waiting 0.08 seconds before fallback handling...
[2026-10-20 07:48:10,369.369 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:48:10,372.372 INFO    ] Checking for system updates...
[2026-10-20 07:48:10,407.407 INFO    ] 200
[2026-10-20 07:48:10,410.410 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:48:10,462.462 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:48:10,465.465 INFO    ] No update needed
[2026-10-20 07:48:10,467.467 INFO    ] Checking for camera pi updates...
[2026-10-20 07:48:10,501.501 INFO    ] 200
[2026-10-20 07:48:10,503.503 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:48:10,543.543 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:48:10,685.685 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:48:10,688.688 INFO    ] No camera update needed
[2026-10-20 07:48:10,690.690 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:48:10,693.693 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:48:10,698.698 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:48:10,703.703 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:48:12,744.744 INFO    ] ================================================
[2026-10-20 07:48:12,760.760 INFO    ] Launching Daemon at Tue Oct 20 07:48:12 IST 2026
[2026-10-20 07:48:12,772.772 INFO    ] ================================================
[2026-10-20 07:48:13,340.340 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:48:13
[2026-10-20 07:48:13,926.926 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:48:14,194.194 INFO    ] Initializing speech engine...
[2026-10-20 07:48:14,204.204 INFO    ] 2026-10-20 07:48:14
[2026-10-20 07:48:14,471.471 INFO    ] 2026-10-20 07:48:14
[2026-10-20 07:48:14,525.525 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:48:14,754.754 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:48:14,760.760 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:48:15,009.009 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:48:15,020.020 INFO    ] time= 20/10/2026 07:48:15
[2026-10-20 07:48:15,038.038 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:48:15,069.069 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:48:15,175.175 INFO    ] No existing commands found in stream
[2026-10-20 07:48:20,210.210 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:48:20,213.213 INFO    ] Waiting 2.46 seconds before fallback handling...
[2026-10-20 07:48:23,244.244 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 07:48:23,247.247 INFO    ] Checking for system updates...
[2026-10-20 07:48:23,308.308 INFO    ] 200
[2026-10-20 07:48:23,311.311 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:48:23,364.364 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:48:23,367.367 INFO    ] No update needed
[2026-10-20 07:48:23,370.370 INFO    ] Checking for camera pi updates...
[2026-10-20 07:48:23,408.408 INFO    ] 200
[2026-10-20 07:48:23,411.411 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:48:23,459.459 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:48:23,513.513 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:48:23,515.515 INFO    ] No camera update needed
[2026-10-20 07:48:23,518.518 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:48:23,520.520 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:48:23,526.526 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:48:23,531.531 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:48:25,571.571 INFO    ] ================================================
[2026-10-20 07:48:25,586.586 INFO    ] Launching Daemon at Tue Oct 20 07:48:25 IST 2026
[2026-10-20 07:48:25,597.597 INFO    ] ================================================
[2026-10-20 07:48:26,247.247 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:48:26
[2026-10-20 07:48:26,927.927 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:48:27,225.225 INFO    ] Initializing speech engine...
[2026-10-20 07:48:27,236.236 INFO    ] 2026-10-20 07:48:27
[2026-10-20 07:48:27,512.512 INFO    ] 2026-10-20 07:48:27
[2026-10-20 07:48:27,569.569 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:48:27,847.847 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:48:27,860.860 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:48:28,052.052 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:48:28,065.065 INFO    ] time= 20/10/2026 07:48:28
[2026-10-20 07:48:28,083.083 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:48:28,101.101 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:48:28,250.250 INFO    ] No existing commands found in stream
[2026-10-20 07:48:33,281.281 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:48:33,284.284 INFO    ] Waiting 2.87 seconds before fallback handling...
[2026-10-20 07:48:36,659.659 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:48:36,662.662 INFO    ] Checking for system updates...
[2026-10-20 07:48:36,698.698 INFO    ] 200
[2026-10-20 07:48:36,700.700 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:48:36,758.758 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:48:36,761.761 INFO    ] No update needed
[2026-10-20 07:48:36,764.764 INFO    ] Checking for camera pi updates...
[2026-10-20 07:48:36,798.798 INFO    ] 200
[2026-10-20 07:48:36,800.800 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:48:36,840.840 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:48:36,890.890 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:48:36,893.893 INFO    ] No camera update needed
[2026-10-20 07:48:36,895.895 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:48:36,897.897 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:48:36,903.903 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:48:36,908.908 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:48:38,948.948 INFO    ] ================================================
[2026-10-20 07:48:38,964.964 INFO    ] Launching Daemon at Tue Oct 20 07:48:38 IST 2026
[2026-10-20 07:48:38,975.975 INFO    ] ================================================
[2026-10-20 07:48:39,543.543 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:48:39
[2026-10-20 07:48:40,126.126 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:48:40,394.394 INFO    ] Initializing speech engine...
[2026-10-20 07:48:40,403.403 INFO    ] 2026-10-20 07:48:40
[2026-10-20 07:48:40,648.648 INFO    ] 2026-10-20 07:48:40
[2026-10-20 07:48:40,683.683 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:48:40,934.934 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:48:40,942.942 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:48:41,077.077 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:48:41,142.142 INFO    ] time= 20/10/2026 07:48:41
[2026-10-20 07:48:41,192.192 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:48:41,209.209 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:48:41,358.358 INFO    ] No existing commands found in stream
[2026-10-20 07:48:46,370.370 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:48:46,373.373 INFO    ] Waiting 1.88 seconds before fallback handling...
[2026-10-20 07:48:48,760.760 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:48:48,763.763 INFO    ] Checking for system updates...
[2026-10-20 07:48:48,799.799 INFO    ] 200
[2026-10-20 07:48:48,801.801 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:48:48,854.854 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:48:48,857.857 INFO    ] No update needed
[2026-10-20 07:48:48,859.859 INFO    ] Checking for camera pi updates...
[2026-10-20 07:48:48,892.892 INFO    ] 200
[2026-10-20 07:48:48,895.895 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:48:48,938.938 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:48:48,993.993 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:48:48,995.995 INFO    ] No camera update needed
[2026-10-20 07:48:48,998.998 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:48:49,000.000 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:48:49,005.005 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:48:49,010.010 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:48:51,054.054 INFO    ] ================================================
[2026-10-20 07:48:51,069.069 INFO    ] Launching Daemon at Tue Oct 20 07:48:51 IST 2026
[2026-10-20 07:48:51,080.080 INFO    ] ================================================
[2026-10-20 07:48:51,735.735 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:48:51
[2026-10-20 07:48:52,410.410 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:48:52,723.723 INFO    ] Initializing speech engine...
[2026-10-20 07:48:52,729.729 INFO    ] 2026-10-20 07:48:52
[2026-10-20 07:48:53,037.037 INFO    ] 2026-10-20 07:48:53
[2026-10-20 07:48:53,122.122 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:48:53,337.337 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:48:53,346.346 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:48:53,548.548 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:48:53,558.558 INFO    ] time= 20/10/2026 07:48:53
[2026-10-20 07:48:53,585.585 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:48:53,594.594 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:48:53,726.726 INFO    ] No existing commands found in stream
[2026-10-20 07:48:58,762.762 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:48:58,765.765 INFO    ] Waiting 0.66 seconds before fallback handling...
[2026-10-20 07:48:59,964.964 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:48:59,967.967 INFO    ] Checking for system updates...
[2026-10-20 07:49:00,005.005 INFO    ] 200
[2026-10-20 07:49:00,007.007 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:49:00,059.059 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:49:00,061.061 INFO    ] No update needed
[2026-10-20 07:49:00,064.064 INFO    ] Checking for camera pi updates...
[2026-10-20 07:49:00,097.097 INFO    ] 200
[2026-10-20 07:49:00,100.100 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:49:00,140.140 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:49:00,187.187 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:49:00,189.189 INFO    ] No camera update needed
[2026-10-20 07:49:00,192.192 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:49:00,194.194 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:49:00,200.200 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:49:00,205.205 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:49:02,258.258 INFO    ] ================================================
[2026-10-20 07:49:02,285.285 INFO    ] Launching Daemon at Tue Oct 20 07:49:02 IST 2026
[2026-10-20 07:49:02,305.305 INFO    ] ================================================
[2026-10-20 07:49:02,924.924 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:49:02
[2026-10-20 07:49:03,637.637 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:49:03,986.986 INFO    ] Initializing speech engine...
[2026-10-20 07:49:03,995.995 INFO    ] 2026-10-20 07:49:03
[2026-10-20 07:49:04,292.292 INFO    ] 2026-10-20 07:49:04
[2026-10-20 07:49:04,403.403 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:49:04,561.561 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:49:04,568.568 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:49:04,709.709 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:49:04,776.776 INFO    ] time= 20/10/2026 07:49:04
[2026-10-20 07:49:04,836.836 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:49:04,843.843 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:49:04,995.995 INFO    ] No existing commands found in stream
[2026-10-20 07:49:10,015.015 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:49:10,018.018 INFO    ] Waiting 0.34 seconds before fallback handling...
[2026-10-20 07:49:10,932.932 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:49:10,935.935 INFO    ] Checking for system updates...
[2026-10-20 07:49:10,976.976 INFO    ] 200
[2026-10-20 07:49:10,979.979 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:49:11,034.034 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:49:11,037.037 INFO    ] No update needed
[2026-10-20 07:49:11,039.039 INFO    ] Checking for camera pi updates...
[2026-10-20 07:49:11,074.074 INFO    ] 200
[2026-10-20 07:49:11,076.076 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:49:11,117.117 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:49:11,163.163 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:49:11,165.165 INFO    ] No camera update needed
[2026-10-20 07:49:11,168.168 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:49:11,170.170 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:49:11,176.176 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:49:11,181.181 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:49:13,220.220 INFO    ] ================================================
[2026-10-20 07:49:13,237.237 INFO    ] Launching Daemon at Tue Oct 20 07:49:13 IST 2026
[2026-10-20 07:49:13,248.248 INFO    ] ================================================
[2026-10-20 07:49:13,821.821 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:49:13
[2026-10-20 07:49:14,404.404 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:49:14,653.653 INFO    ] Initializing speech engine...
[2026-10-20 07:49:14,667.667 INFO    ] 2026-10-20 07:49:14
[2026-10-20 07:49:14,934.934 INFO    ] 2026-10-20 07:49:14
[2026-10-20 07:49:14,970.970 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:49:15,227.227 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:49:15,236.236 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:49:15,374.374 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:49:15,413.413 INFO    ] time= 20/10/2026 07:49:15
[2026-10-20 07:49:15,462.462 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:49:15,507.507 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:49:15,657.657 INFO    ] No existing commands found in stream
[2026-10-20 07:49:20,671.671 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:49:20,674.674 INFO    ] Waiting 2.04 seconds before fallback handling...
[2026-10-20 07:49:23,191.191 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:49:23,193.193 INFO    ] Checking for system updates...
[2026-10-20 07:49:23,232.232 INFO    ] 200
[2026-10-20 07:49:23,234.234 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:49:23,292.292 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:49:23,295.295 INFO    ] No update needed
[2026-10-20 07:49:23,297.297 INFO    ] Checking for camera pi updates...
[2026-10-20 07:49:23,330.330 INFO    ] 200
[2026-10-20 07:49:23,333.333 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:49:23,372.372 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:49:23,419.419 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:49:23,422.422 INFO    ] No camera update needed
[2026-10-20 07:49:23,424.424 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:49:23,426.426 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:49:23,432.432 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:49:23,437.437 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:49:25,478.478 INFO    ] ================================================
[2026-10-20 07:49:25,494.494 INFO    ] Launching Daemon at Tue Oct 20 07:49:25 IST 2026
[2026-10-20 07:49:25,506.506 INFO    ] ================================================
[2026-10-20 07:49:26,087.087 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:49:26
[2026-10-20 07:49:26,685.685 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:49:26,960.960 INFO    ] Initializing speech engine...
[2026-10-20 07:49:26,969.969 INFO    ] 2026-10-20 07:49:26
[2026-10-20 07:49:27,231.231 INFO    ] 2026-10-20 07:49:27
[2026-10-20 07:49:27,259.259 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:49:27,508.508 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:49:27,512.512 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:49:27,651.651 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:49:27,707.707 INFO    ] time= 20/10/2026 07:49:27
[2026-10-20 07:49:27,756.756 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:49:27,777.777 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:49:27,925.925 INFO    ] No existing commands found in stream
[2026-10-20 07:49:32,938.938 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:49:32,941.941 INFO    ] Waiting 0.17 seconds before fallback handling...
[2026-10-20 07:49:33,620.620 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:49:33,623.623 INFO    ] Checking for system updates...
[2026-10-20 07:49:33,658.658 INFO    ] 200
[2026-10-20 07:49:33,661.661 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:49:33,719.719 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:49:33,721.721 INFO    ] No update needed
[2026-10-20 07:49:33,723.723 INFO    ] Checking for camera pi updates...
[2026-10-20 07:49:33,760.760 INFO    ] 200
[2026-10-20 07:49:33,763.763 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:49:33,810.810 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:49:33,855.855 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:49:33,857.857 INFO    ] No camera update needed
[2026-10-20 07:49:33,860.860 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:49:33,862.862 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:49:33,867.867 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:49:33,872.872 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:49:35,917.917 INFO    ] ================================================
[2026-10-20 07:49:35,933.933 INFO    ] Launching Daemon at Tue Oct 20 07:49:35 IST 2026
[2026-10-20 07:49:35,945.945 INFO    ] ================================================
[2026-10-20 07:49:36,512.512 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:49:36
[2026-10-20 07:49:37,095.095 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:49:37,365.365 INFO    ] Initializing speech engine...
[2026-10-20 07:49:37,372.372 INFO    ] 2026-10-20 07:49:37
[2026-10-20 07:49:37,624.624 INFO    ] 2026-10-20 07:49:37
[2026-10-20 07:49:37,659.659 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:49:37,856.856 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:49:37,884.884 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:49:38,062.062 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:49:38,131.131 INFO    ] time= 20/10/2026 07:49:38
[2026-10-20 07:49:38,183.183 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:49:38,189.189 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:49:38,329.329 INFO    ] No existing commands found in stream
[2026-10-20 07:49:43,345.345 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:49:43,348.348 INFO    ] Waiting 0.30 seconds before fallback handling...
[2026-10-20 07:49:44,158.158 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:49:44,161.161 INFO    ] Checking for system updates...
[2026-10-20 07:49:44,197.197 INFO    ] 200
[2026-10-20 07:49:44,200.200 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:49:44,251.251 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:49:44,253.253 INFO    ] No update needed
[2026-10-20 07:49:44,256.256 INFO    ] Checking for camera pi updates...
[2026-10-20 07:49:44,293.293 INFO    ] 200
[2026-10-20 07:49:44,295.295 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:49:44,334.334 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:49:44,393.393 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:49:44,395.395 INFO    ] No camera update needed
[2026-10-20 07:49:44,398.398 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:49:44,400.400 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:49:44,405.405 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:49:44,410.410 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:49:46,452.452 INFO    ] ================================================
[2026-10-20 07:49:46,468.468 INFO    ] Launching Daemon at Tue Oct 20 07:49:46 IST 2026
[2026-10-20 07:49:46,478.478 INFO    ] ================================================
[2026-10-20 07:49:47,132.132 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:49:47
[2026-10-20 07:49:47,804.804 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:49:48,100.100 INFO    ] Initializing speech engine...
[2026-10-20 07:49:48,110.110 INFO    ] 2026-10-20 07:49:48
[2026-10-20 07:49:48,380.380 INFO    ] 2026-10-20 07:49:48
[2026-10-20 07:49:48,434.434 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:49:48,719.719 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:49:48,728.728 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:49:48,922.922 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:49:48,930.930 INFO    ] time= 20/10/2026 07:49:48
[2026-10-20 07:49:48,949.949 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:49:48,977.977 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:49:49,109.109 INFO    ] No existing commands found in stream
[2026-10-20 07:49:54,140.140 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:49:54,143.143 INFO    ] Waiting 1.98 seconds before fallback handling...
[2026-10-20 07:49:56,650.650 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:49:56,653.653 INFO    ] Checking for system updates...
[2026-10-20 07:49:56,689.689 INFO    ] 200
[2026-10-20 07:49:56,692.692 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:49:56,750.750 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:49:56,752.752 INFO    ] No update needed
[2026-10-20 07:49:56,755.755 INFO    ] Checking for camera pi updates...
[2026-10-20 07:49:56,788.788 INFO    ] 200
[2026-10-20 07:49:56,790.790 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:49:56,830.830 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:49:56,879.879 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:49:56,881.881 INFO    ] No camera update needed
[2026-10-20 07:49:56,883.883 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:49:56,886.886 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:49:56,891.891 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:49:56,896.896 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:49:58,937.937 INFO    ] ================================================
[2026-10-20 07:49:58,956.956 INFO    ] Launching Daemon at Tue Oct 20 07:49:58 IST 2026
[2026-10-20 07:49:58,967.967 INFO    ] ================================================
[2026-10-20 07:49:59,562.562 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:49:59
[2026-10-20 07:50:00,222.222 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:50:00,524.524 INFO    ] Initializing speech engine...
[2026-10-20 07:50:00,532.532 INFO    ] 2026-10-20 07:50:00
[2026-10-20 07:50:00,821.821 INFO    ] 2026-10-20 07:50:00
[2026-10-20 07:50:00,866.866 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:50:01,155.155 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:50:01,163.163 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:50:01,364.364 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:50:01,374.374 INFO    ] time= 20/10/2026 07:50:01
[2026-10-20 07:50:01,396.396 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:50:01,423.423 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:50:01,534.534 INFO    ] No existing commands found in stream
[2026-10-20 07:50:06,569.569 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:50:06,572.572 INFO    ] Waiting 2.51 seconds before fallback handling...
[2026-10-20 07:50:09,572.572 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:50:09,575.575 INFO    ] Checking for system updates...
[2026-10-20 07:50:09,612.612 INFO    ] 200
[2026-10-20 07:50:09,615.615 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:50:09,667.667 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:50:09,670.670 INFO    ] No update needed
[2026-10-20 07:50:09,673.673 INFO    ] Checking for camera pi updates...
[2026-10-20 07:50:09,710.710 INFO    ] 200
[2026-10-20 07:50:09,713.713 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:50:09,753.753 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:50:09,803.803 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:50:09,806.806 INFO    ] No camera update needed
[2026-10-20 07:50:09,809.809 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:50:09,811.811 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:50:09,817.817 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:50:09,823.823 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:50:11,864.864 INFO    ] ================================================
[2026-10-20 07:50:11,880.880 INFO    ] Launching Daemon at Tue Oct 20 07:50:11 IST 2026
[2026-10-20 07:50:11,892.892 INFO    ] ================================================
[2026-10-20 07:50:12,459.459 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:50:12
[2026-10-20 07:50:13,042.042 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:50:13,309.309 INFO    ] Initializing speech engine...
[2026-10-20 07:50:13,318.318 INFO    ] 2026-10-20 07:50:13
[2026-10-20 07:50:13,567.567 INFO    ] 2026-10-20 07:50:13
[2026-10-20 07:50:13,602.602 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:50:13,857.857 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:50:13,866.866 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:50:14,053.053 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:50:14,102.102 INFO    ] time= 20/10/2026 07:50:14
[2026-10-20 07:50:14,128.128 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:50:14,133.133 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:50:14,279.279 INFO    ] No existing commands found in stream
[2026-10-20 07:50:19,298.298 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:50:19,301.301 INFO    ] Waiting 2.54 seconds before fallback handling...
[2026-10-20 07:50:22,370.370 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:50:22,373.373 INFO    ] Checking for system updates...
[2026-10-20 07:50:22,410.410 INFO    ] 200
[2026-10-20 07:50:22,412.412 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:50:22,468.468 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:50:22,470.470 INFO    ] No update needed
[2026-10-20 07:50:22,472.472 INFO    ] Checking for camera pi updates...
[2026-10-20 07:50:22,506.506 INFO    ] 200
[2026-10-20 07:50:22,509.509 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:50:22,552.552 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:50:22,701.701 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:50:22,704.704 INFO    ] No camera update needed
[2026-10-20 07:50:22,706.706 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:50:22,708.708 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:50:22,714.714 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:50:22,718.718 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:50:24,760.760 INFO    ] ================================================
[2026-10-20 07:50:24,775.775 INFO    ] Launching Daemon at Tue Oct 20 07:50:24 IST 2026
[2026-10-20 07:50:24,786.786 INFO    ] ================================================
[2026-10-20 07:50:25,365.365 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:50:25
[2026-10-20 07:50:25,962.962 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:50:26,221.221 INFO    ] Initializing speech engine...
[2026-10-20 07:50:26,227.227 INFO    ] 2026-10-20 07:50:26
[2026-10-20 07:50:26,513.513 INFO    ] 2026-10-20 07:50:26
[2026-10-20 07:50:26,551.551 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:50:26,765.765 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:50:26,773.773 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:50:26,983.983 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:50:26,990.990 INFO    ] time= 20/10/2026 07:50:26
[2026-10-20 07:50:27,031.031 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:50:27,080.080 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:50:27,193.193 INFO    ] No existing commands found in stream
[2026-10-20 07:50:32,201.201 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:50:32,205.205 INFO    ] Waiting 3.60 seconds before fallback handling...
[2026-10-20 07:50:36,298.298 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:50:36,301.301 INFO    ] Checking for system updates...
[2026-10-20 07:50:36,339.339 INFO    ] 200
[2026-10-20 07:50:36,342.342 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:50:36,393.393 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:50:36,396.396 INFO    ] No update needed
[2026-10-20 07:50:36,398.398 INFO    ] Checking for camera pi updates...
[2026-10-20 07:50:36,434.434 INFO    ] 200
[2026-10-20 07:50:36,436.436 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:50:36,475.475 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:50:36,521.521 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:50:36,524.524 INFO    ] No camera update needed
[2026-10-20 07:50:36,526.526 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:50:36,528.528 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:50:36,534.534 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:50:36,539.539 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:50:38,579.579 INFO    ] ================================================
[2026-10-20 07:50:38,594.594 INFO    ] Launching Daemon at Tue Oct 20 07:50:38 IST 2026
[2026-10-20 07:50:38,605.605 INFO    ] ================================================
[2026-10-20 07:50:39,183.183 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:50:39
[2026-10-20 07:50:39,766.766 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:50:40,048.048 INFO    ] Initializing speech engine...
[2026-10-20 07:50:40,058.058 INFO    ] 2026-10-20 07:50:40
[2026-10-20 07:50:40,318.318 INFO    ] 2026-10-20 07:50:40
[2026-10-20 07:50:40,353.353 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:50:40,566.566 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:50:40,599.599 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:50:40,787.787 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:50:40,841.841 INFO    ] time= 20/10/2026 07:50:40
[2026-10-20 07:50:40,906.906 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:50:40,929.929 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:50:41,093.093 INFO    ] No existing commands found in stream
[2026-10-20 07:50:46,108.108 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:50:46,111.111 INFO    ] Waiting 3.80 seconds before fallback handling...
[2026-10-20 07:50:51,282.282 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:50:51,284.284 INFO    ] Checking for system updates...
[2026-10-20 07:50:51,320.320 INFO    ] 200
[2026-10-20 07:50:51,323.323 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:50:51,376.376 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:50:51,379.379 INFO    ] No update needed
[2026-10-20 07:50:51,382.382 INFO    ] Checking for camera pi updates...
[2026-10-20 07:50:51,416.416 INFO    ] 200
[2026-10-20 07:50:51,418.418 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:50:51,459.459 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:50:51,507.507 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:50:51,510.510 INFO    ] No camera update needed
[2026-10-20 07:50:51,513.513 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:50:51,515.515 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:50:51,521.521 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:50:51,527.527 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:50:53,567.567 INFO    ] ================================================
[2026-10-20 07:50:53,583.583 INFO    ] Launching Daemon at Tue Oct 20 07:50:53 IST 2026
[2026-10-20 07:50:53,594.594 INFO    ] ================================================
[2026-10-20 07:50:54,161.161 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:50:54
[2026-10-20 07:50:54,744.744 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:50:54,999.999 INFO    ] Initializing speech engine...
[2026-10-20 07:50:55,018.018 INFO    ] 2026-10-20 07:50:55
[2026-10-20 07:50:55,288.288 INFO    ] 2026-10-20 07:50:55
[2026-10-20 07:50:55,323.323 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:50:55,535.535 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:50:55,582.582 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:50:55,755.755 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:50:55,804.804 INFO    ] time= 20/10/2026 07:50:55
[2026-10-20 07:50:55,859.859 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:50:55,898.898 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:50:56,039.039 INFO    ] No existing commands found in stream
[2026-10-20 07:51:01,069.069 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:51:01,072.072 INFO    ] Waiting 2.29 seconds before fallback handling...
[2026-10-20 07:51:03,880.880 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:51:03,883.883 INFO    ] Checking for system updates...
[2026-10-20 07:51:03,923.923 INFO    ] 200
[2026-10-20 07:51:03,925.925 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:51:03,978.978 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:51:03,981.981 INFO    ] No update needed
[2026-10-20 07:51:03,983.983 INFO    ] Checking for camera pi updates...
[2026-10-20 07:51:04,017.017 INFO    ] 200
[2026-10-20 07:51:04,019.019 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:51:04,059.059 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:51:04,105.105 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:51:04,108.108 INFO    ] No camera update needed
[2026-10-20 07:51:04,110.110 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:51:04,113.113 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:51:04,118.118 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:51:04,123.123 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:51:06,165.165 INFO    ] ================================================
[2026-10-20 07:51:06,180.180 INFO    ] Launching Daemon at Tue Oct 20 07:51:06 IST 2026
[2026-10-20 07:51:06,192.192 INFO    ] ================================================
[2026-10-20 07:51:06,781.781 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:51:06
[2026-10-20 07:51:07,376.376 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:51:07,650.650 INFO    ] Initializing speech engine...
[2026-10-20 07:51:07,659.659 INFO    ] 2026-10-20 07:51:07
[2026-10-20 07:51:07,907.907 INFO    ] 2026-10-20 07:51:07
[2026-10-20 07:51:07,948.948 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:51:08,197.197 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:51:08,202.202 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:51:08,401.401 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:51:08,456.456 INFO    ] time= 20/10/2026 07:51:08
[2026-10-20 07:51:08,465.465 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:51:08,485.485 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:51:08,615.615 INFO    ] No existing commands found in stream
[2026-10-20 07:51:13,644.644 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:51:13,647.647 INFO    ] Waiting 2.60 seconds before fallback handling...
[2026-10-20 07:51:16,741.741 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:51:16,744.744 INFO    ] Checking for system updates...
[2026-10-20 07:51:16,792.792 INFO    ] 200
[2026-10-20 07:51:16,794.794 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:51:16,867.867 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:51:16,870.870 INFO    ] No update needed
[2026-10-20 07:51:16,872.872 INFO    ] Checking for camera pi updates...
[2026-10-20 07:51:16,909.909 INFO    ] 200
[2026-10-20 07:51:16,912.912 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:51:16,957.957 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:51:17,004.004 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:51:17,006.006 INFO    ] No camera update needed
[2026-10-20 07:51:17,009.009 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:51:17,011.011 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:51:17,017.017 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:51:17,022.022 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:51:19,063.063 INFO    ] ================================================
[2026-10-20 07:51:19,079.079 INFO    ] Launching Daemon at Tue Oct 20 07:51:19 IST 2026
[2026-10-20 07:51:19,090.090 INFO    ] ================================================
[2026-10-20 07:51:19,766.766 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:51:19
[2026-10-20 07:51:20,460.460 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:51:20,780.780 INFO    ] Initializing speech engine...
[2026-10-20 07:51:20,789.789 INFO    ] 2026-10-20 07:51:20
[2026-10-20 07:51:21,095.095 INFO    ] 2026-10-20 07:51:21
[2026-10-20 07:51:21,129.129 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:51:21,395.395 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:51:21,405.405 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:51:21,585.585 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:51:21,605.605 INFO    ] time= 20/10/2026 07:51:21
[2026-10-20 07:51:21,623.623 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:51:21,643.643 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:51:21,777.777 INFO    ] No existing commands found in stream
[2026-10-20 07:51:26,803.803 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:51:26,806.806 INFO    ] Waiting 3.93 seconds before fallback handling...
[2026-10-20 07:51:31,250.250 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:51:31,253.253 INFO    ] Checking for system updates...
[2026-10-20 07:51:31,290.290 INFO    ] 200
[2026-10-20 07:51:31,293.293 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:51:31,346.346 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:51:31,349.349 INFO    ] No update needed
[2026-10-20 07:51:31,352.352 INFO    ] Checking for camera pi updates...
[2026-10-20 07:51:31,386.386 INFO    ] 200
[2026-10-20 07:51:31,389.389 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:51:31,430.430 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:51:31,484.484 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:51:31,487.487 INFO    ] No camera update needed
[2026-10-20 07:51:31,492.492 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:51:31,496.496 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:51:31,504.504 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:51:31,513.513 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:51:33,555.555 INFO    ] ================================================
[2026-10-20 07:51:33,571.571 INFO    ] Launching Daemon at Tue Oct 20 07:51:33 IST 2026
[2026-10-20 07:51:33,582.582 INFO    ] ================================================
[2026-10-20 07:51:34,247.247 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:51:34
[2026-10-20 07:51:34,852.852 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:51:35,104.104 INFO    ] Initializing speech engine...
[2026-10-20 07:51:35,116.116 INFO    ] 2026-10-20 07:51:35
[2026-10-20 07:51:35,381.381 INFO    ] 2026-10-20 07:51:35
[2026-10-20 07:51:35,417.417 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:51:35,617.617 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:51:35,625.625 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:51:35,823.823 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:51:35,845.845 INFO    ] time= 20/10/2026 07:51:35
[2026-10-20 07:51:35,889.889 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:51:35,933.933 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:51:36,069.069 INFO    ] No existing commands found in stream
[2026-10-20 07:51:41,092.092 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:51:41,095.095 INFO    ] Waiting 3.07 seconds before fallback handling...
[2026-10-20 07:51:44,708.708 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:51:44,711.711 INFO    ] Checking for system updates...
[2026-10-20 07:51:44,752.752 INFO    ] 200
[2026-10-20 07:51:44,755.755 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:51:44,809.809 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:51:44,812.812 INFO    ] No update needed
[2026-10-20 07:51:44,815.815 INFO    ] Checking for camera pi updates...
[2026-10-20 07:51:44,849.849 INFO    ] 200
[2026-10-20 07:51:44,852.852 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:51:44,899.899 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:51:44,950.950 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:51:44,952.952 INFO    ] No camera update needed
[2026-10-20 07:51:44,955.955 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:51:44,958.958 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:51:44,964.964 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:51:44,970.970 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:51:47,013.013 INFO    ] ================================================
[2026-10-20 07:51:47,029.029 INFO    ] Launching Daemon at Tue Oct 20 07:51:47 IST 2026
[2026-10-20 07:51:47,040.040 INFO    ] ================================================
[2026-10-20 07:51:47,614.614 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:51:47
[2026-10-20 07:51:48,199.199 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:51:48,457.457 INFO    ] Initializing speech engine...
[2026-10-20 07:51:48,466.466 INFO    ] 2026-10-20 07:51:48
[2026-10-20 07:51:48,764.764 INFO    ] 2026-10-20 07:51:48
[2026-10-20 07:51:48,800.800 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:51:49,005.005 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:51:49,010.010 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:51:49,179.179 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:51:49,196.196 INFO    ] time= 20/10/2026 07:51:49
[2026-10-20 07:51:49,201.201 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:51:49,208.208 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:51:49,285.285 INFO    ] No existing commands found in stream
[2026-10-20 07:51:54,305.305 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:51:54,308.308 INFO    ] Waiting 2.99 seconds before fallback handling...
[2026-10-20 07:51:57,797.797 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:51:57,800.800 INFO    ] Checking for system updates...
[2026-10-20 07:51:57,841.841 INFO    ] 200
[2026-10-20 07:51:57,844.844 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:51:57,907.907 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:51:57,910.910 INFO    ] No update needed
[2026-10-20 07:51:57,914.914 INFO    ] Checking for camera pi updates...
[2026-10-20 07:51:57,951.951 INFO    ] 200
[2026-10-20 07:51:57,954.954 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:51:57,995.995 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:51:58,050.050 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:51:58,053.053 INFO    ] No camera update needed
[2026-10-20 07:51:58,056.056 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:51:58,059.059 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:51:58,065.065 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:51:58,071.071 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:52:00,114.114 INFO    ] ================================================
[2026-10-20 07:52:00,130.130 INFO    ] Launching Daemon at Tue Oct 20 07:52:00 IST 2026
[2026-10-20 07:52:00,142.142 INFO    ] ================================================
[2026-10-20 07:52:00,730.730 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:52:00
[2026-10-20 07:52:01,355.355 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:52:01,811.811 INFO    ] Initializing speech engine...
[2026-10-20 07:52:01,815.815 INFO    ] 2026-10-20 07:52:01
[2026-10-20 07:52:02,116.116 INFO    ] 2026-10-20 07:52:02
[2026-10-20 07:52:02,166.166 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:52:02,386.386 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:52:02,439.439 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:52:02,608.608 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:52:02,692.692 INFO    ] time= 20/10/2026 07:52:02
[2026-10-20 07:52:02,711.711 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:52:02,714.714 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:52:02,808.808 INFO    ] No existing commands found in stream
[2026-10-20 07:52:07,828.828 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:52:07,831.831 INFO    ] Waiting 0.30 seconds before fallback handling...
[2026-10-20 07:52:08,688.688 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 07:52:08,691.691 INFO    ] Checking for system updates...
[2026-10-20 07:52:08,728.728 INFO    ] 200
[2026-10-20 07:52:08,732.732 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:52:08,785.785 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:52:08,788.788 INFO    ] No update needed
[2026-10-20 07:52:08,791.791 INFO    ] Checking for camera pi updates...
[2026-10-20 07:52:08,825.825 INFO    ] 200
[2026-10-20 07:52:08,828.828 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:52:08,869.869 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:52:08,921.921 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:52:08,924.924 INFO    ] No camera update needed
[2026-10-20 07:52:08,926.926 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:52:08,929.929 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:52:08,934.934 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:52:08,939.939 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:52:10,980.980 INFO    ] ================================================
[2026-10-20 07:52:11,996.996 INFO    ] Launching Daemon at Tue Oct 20 07:52:10 IST 2026
[2026-10-20 07:52:11,007.007 INFO    ] ================================================
[2026-10-20 07:52:11,613.613 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:52:11
[2026-10-20 07:52:12,196.196 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:52:12,455.455 INFO    ] Initializing speech engine...
[2026-10-20 07:52:12,460.460 INFO    ] 2026-10-20 07:52:12
[2026-10-20 07:52:12,726.726 INFO    ] 2026-10-20 07:52:12
[2026-10-20 07:52:12,761.761 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:52:12,970.970 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:52:13,029.029 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:52:13,178.178 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:52:13,243.243 INFO    ] time= 20/10/2026 07:52:13
[2026-10-20 07:52:13,297.297 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:52:13,310.310 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:52:13,437.437 INFO    ] No existing commands found in stream
[2026-10-20 07:52:18,465.465 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:52:18,469.469 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-10-20 07:52:20,049.049 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:52:20,052.052 INFO    ] Checking for system updates...
[2026-10-20 07:52:20,089.089 INFO    ] 200
[2026-10-20 07:52:20,091.091 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:52:20,152.152 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:52:20,155.155 INFO    ] No update needed
[2026-10-20 07:52:20,157.157 INFO    ] Checking for camera pi updates...
[2026-10-20 07:52:20,190.190 INFO    ] 200
[2026-10-20 07:52:20,192.192 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:52:20,232.232 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:52:20,266.266 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:52:20,268.268 INFO    ] No camera update needed
[2026-10-20 07:52:20,271.271 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:52:20,273.273 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:52:20,278.278 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:52:20,283.283 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:52:22,323.323 INFO    ] ================================================
[2026-10-20 07:52:22,339.339 INFO    ] Launching Daemon at Tue Oct 20 07:52:22 IST 2026
[2026-10-20 07:52:22,351.351 INFO    ] ================================================
[2026-10-20 07:52:23,028.028 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:52:23
[2026-10-20 07:52:23,666.666 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:52:23,973.973 INFO    ] Initializing speech engine...
[2026-10-20 07:52:23,987.987 INFO    ] 2026-10-20 07:52:23
[2026-10-20 07:52:24,300.300 INFO    ] 2026-10-20 07:52:24
[2026-10-20 07:52:24,389.389 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:52:24,611.611 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:52:24,620.620 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:52:24,815.815 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:52:24,834.834 INFO    ] time= 20/10/2026 07:52:24
[2026-10-20 07:52:24,845.845 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:52:24,875.875 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:52:25,000.000 INFO    ] No existing commands found in stream
[2026-10-20 07:52:30,031.031 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:52:30,035.035 INFO    ] Waiting 3.95 seconds before fallback handling...
[2026-10-20 07:52:34,530.530 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:52:34,534.534 INFO    ] Checking for system updates...
[2026-10-20 07:52:34,572.572 INFO    ] 200
[2026-10-20 07:52:34,575.575 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:52:34,642.642 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:52:34,645.645 INFO    ] No update needed
[2026-10-20 07:52:34,648.648 INFO    ] Checking for camera pi updates...
[2026-10-20 07:52:34,682.682 INFO    ] 200
[2026-10-20 07:52:34,684.684 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:52:34,725.725 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:52:34,771.771 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:52:34,773.773 INFO    ] No camera update needed
[2026-10-20 07:52:34,776.776 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:52:34,778.778 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:52:34,783.783 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:52:34,788.788 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:52:36,828.828 INFO    ] ================================================
[2026-10-20 07:52:36,844.844 INFO    ] Launching Daemon at Tue Oct 20 07:52:36 IST 2026
[2026-10-20 07:52:36,855.855 INFO    ] ================================================
[2026-10-20 07:52:37,522.522 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:52:37
[2026-10-20 07:52:38,167.167 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:52:38,419.419 INFO    ] Initializing speech engine...
[2026-10-20 07:52:38,432.432 INFO    ] 2026-10-20 07:52:38
[2026-10-20 07:52:38,697.697 INFO    ] 2026-10-20 07:52:38
[2026-10-20 07:52:38,733.733 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:52:38,931.931 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:52:38,959.959 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:52:39,138.138 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:52:39,172.172 INFO    ] time= 20/10/2026 07:52:39
[2026-10-20 07:52:39,226.226 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:52:39,272.272 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:52:39,409.409 INFO    ] No existing commands found in stream
[2026-10-20 07:52:44,435.435 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:52:44,438.438 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-10-20 07:52:45,998.998 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:52:46,000.000 INFO    ] Checking for system updates...
[2026-10-20 07:52:46,041.041 INFO    ] 200
[2026-10-20 07:52:46,043.043 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:52:46,095.095 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:52:46,097.097 INFO    ] No update needed
[2026-10-20 07:52:46,100.100 INFO    ] Checking for camera pi updates...
[2026-10-20 07:52:46,133.133 INFO    ] 200
[2026-10-20 07:52:46,136.136 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:52:46,182.182 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:52:46,231.231 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:52:46,233.233 INFO    ] No camera update needed
[2026-10-20 07:52:46,235.235 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:52:46,237.237 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:52:46,243.243 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:52:46,248.248 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:52:48,289.289 INFO    ] ================================================
[2026-10-20 07:52:48,304.304 INFO    ] Launching Daemon at Tue Oct 20 07:52:48 IST 2026
[2026-10-20 07:52:48,316.316 INFO    ] ================================================
[2026-10-20 07:52:48,899.899 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:52:48
[2026-10-20 07:52:49,497.497 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:52:49,778.778 INFO    ] Initializing speech engine...
[2026-10-20 07:52:49,787.787 INFO    ] 2026-10-20 07:52:49
[2026-10-20 07:52:50,045.045 INFO    ] 2026-10-20 07:52:50
[2026-10-20 07:52:50,074.074 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:52:50,320.320 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:52:50,329.329 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:52:50,469.469 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:52:50,534.534 INFO    ] time= 20/10/2026 07:52:50
[2026-10-20 07:52:50,578.578 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:52:50,597.597 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:52:50,724.724 INFO    ] No existing commands found in stream
[2026-10-20 07:52:55,751.751 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:52:55,754.754 INFO    ] Waiting 3.26 seconds before fallback handling...
[2026-10-20 07:52:59,530.530 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:52:59,533.533 INFO    ] Checking for system updates...
[2026-10-20 07:52:59,574.574 INFO    ] 200
[2026-10-20 07:52:59,576.576 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:52:59,628.628 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:52:59,631.631 INFO    ] No update needed
[2026-10-20 07:52:59,633.633 INFO    ] Checking for camera pi updates...
[2026-10-20 07:52:59,666.666 INFO    ] 200
[2026-10-20 07:52:59,669.669 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:52:59,733.733 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:52:59,777.777 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:52:59,780.780 INFO    ] No camera update needed
[2026-10-20 07:52:59,783.783 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:52:59,785.785 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:52:59,790.790 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:52:59,795.795 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:53:01,885.885 INFO    ] ================================================
[2026-10-20 07:53:01,929.929 INFO    ] Launching Daemon at Tue Oct 20 07:53:01 IST 2026
[2026-10-20 07:53:01,949.949 INFO    ] ================================================
[2026-10-20 07:53:02,732.732 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:53:02
[2026-10-20 07:53:03,466.466 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:53:03,806.806 INFO    ] Initializing speech engine...
[2026-10-20 07:53:03,815.815 INFO    ] 2026-10-20 07:53:03
[2026-10-20 07:53:04,084.084 INFO    ] 2026-10-20 07:53:04
[2026-10-20 07:53:04,141.141 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:53:04,371.371 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:53:04,381.381 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:53:04,574.574 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:53:04,630.630 INFO    ] time= 20/10/2026 07:53:04
[2026-10-20 07:53:04,653.653 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:53:04,669.669 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:53:04,790.790 INFO    ] No existing commands found in stream
[2026-10-20 07:53:09,813.813 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:53:09,816.816 INFO    ] Waiting 0.68 seconds before fallback handling...
[2026-10-20 07:53:11,002.002 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:53:11,005.005 INFO    ] Checking for system updates...
[2026-10-20 07:53:11,046.046 INFO    ] 200
[2026-10-20 07:53:11,049.049 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:53:11,106.106 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:53:11,109.109 INFO    ] No update needed
[2026-10-20 07:53:11,112.112 INFO    ] Checking for camera pi updates...
[2026-10-20 07:53:11,148.148 INFO    ] 200
[2026-10-20 07:53:11,151.151 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:53:11,194.194 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:53:11,240.240 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:53:11,242.242 INFO    ] No camera update needed
[2026-10-20 07:53:11,245.245 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:53:11,247.247 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:53:11,252.252 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:53:11,257.257 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:53:13,297.297 INFO    ] ================================================
[2026-10-20 07:53:13,312.312 INFO    ] Launching Daemon at Tue Oct 20 07:53:13 IST 2026
[2026-10-20 07:53:13,323.323 INFO    ] ================================================
[2026-10-20 07:53:13,887.887 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:53:13
[2026-10-20 07:53:14,467.467 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:53:14,717.717 INFO    ] Initializing speech engine...
[2026-10-20 07:53:14,726.726 INFO    ] 2026-10-20 07:53:14
[2026-10-20 07:53:15,011.011 INFO    ] 2026-10-20 07:53:15
[2026-10-20 07:53:15,046.046 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:53:15,301.301 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:53:15,310.310 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:53:15,449.449 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:53:15,503.503 INFO    ] time= 20/10/2026 07:53:15
[2026-10-20 07:53:15,552.552 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:53:15,582.582 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:53:15,717.717 INFO    ] No existing commands found in stream
[2026-10-20 07:53:20,744.744 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:53:20,746.746 INFO    ] Waiting 2.11 seconds before fallback handling...
[2026-10-20 07:53:23,370.370 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:53:23,372.372 INFO    ] Checking for system updates...
[2026-10-20 07:53:23,411.411 INFO    ] 200
[2026-10-20 07:53:23,414.414 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:53:23,468.468 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:53:23,470.470 INFO    ] No update needed
[2026-10-20 07:53:23,473.473 INFO    ] Checking for camera pi updates...
[2026-10-20 07:53:23,506.506 INFO    ] 200
[2026-10-20 07:53:23,508.508 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:53:23,553.553 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:53:23,609.609 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:53:23,611.611 INFO    ] No camera update needed
[2026-10-20 07:53:23,614.614 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:53:23,616.616 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:53:23,621.621 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:53:23,626.626 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:53:25,667.667 INFO    ] ================================================
[2026-10-20 07:53:25,682.682 INFO    ] Launching Daemon at Tue Oct 20 07:53:25 IST 2026
[2026-10-20 07:53:25,693.693 INFO    ] ================================================
[2026-10-20 07:53:26,341.341 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:53:26
[2026-10-20 07:53:27,002.002 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:53:27,305.305 INFO    ] Initializing speech engine...
[2026-10-20 07:53:27,313.313 INFO    ] 2026-10-20 07:53:27
[2026-10-20 07:53:27,601.601 INFO    ] 2026-10-20 07:53:27
[2026-10-20 07:53:27,647.647 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:53:27,903.903 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:53:27,929.929 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:53:28,143.143 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:53:28,162.162 INFO    ] time= 20/10/2026 07:53:28
[2026-10-20 07:53:28,171.171 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:53:28,197.197 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:53:28,318.318 INFO    ] No existing commands found in stream
[2026-10-20 07:53:33,353.353 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:53:33,356.356 INFO    ] Waiting 1.50 seconds before fallback handling...
[2026-10-20 07:53:35,350.350 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:53:35,353.353 INFO    ] Checking for system updates...
[2026-10-20 07:53:35,390.390 INFO    ] 200
[2026-10-20 07:53:35,392.392 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:53:35,452.452 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:53:35,455.455 INFO    ] No update needed
[2026-10-20 07:53:35,457.457 INFO    ] Checking for camera pi updates...
[2026-10-20 07:53:35,490.490 INFO    ] 200
[2026-10-20 07:53:35,493.493 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:53:35,537.537 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:53:35,579.579 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:53:35,581.581 INFO    ] No camera update needed
[2026-10-20 07:53:35,583.583 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:53:35,586.586 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:53:35,591.591 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:53:35,596.596 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:53:37,635.635 INFO    ] ================================================
[2026-10-20 07:53:37,651.651 INFO    ] Launching Daemon at Tue Oct 20 07:53:37 IST 2026
[2026-10-20 07:53:37,661.661 INFO    ] ================================================
[2026-10-20 07:53:38,300.300 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:53:38
[2026-10-20 07:53:38,956.956 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:53:39,265.265 INFO    ] Initializing speech engine...
[2026-10-20 07:53:39,274.274 INFO    ] 2026-10-20 07:53:39
[2026-10-20 07:53:39,571.571 INFO    ] 2026-10-20 07:53:39
[2026-10-20 07:53:39,653.653 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:53:39,869.869 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:53:39,876.876 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:53:40,066.066 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:53:40,073.073 INFO    ] time= 20/10/2026 07:53:40
[2026-10-20 07:53:40,091.091 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:53:40,113.113 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:53:40,225.225 INFO    ] No existing commands found in stream
[2026-10-20 07:53:45,244.244 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:53:45,247.247 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-10-20 07:53:49,312.312 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:53:49,315.315 INFO    ] Checking for system updates...
[2026-10-20 07:53:49,352.352 INFO    ] 200
[2026-10-20 07:53:49,354.354 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:53:49,413.413 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:53:49,416.416 INFO    ] No update needed
[2026-10-20 07:53:49,418.418 INFO    ] Checking for camera pi updates...
[2026-10-20 07:53:49,455.455 INFO    ] 200
[2026-10-20 07:53:49,458.458 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:53:49,500.500 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:53:49,547.547 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:53:49,550.550 INFO    ] No camera update needed
[2026-10-20 07:53:49,553.553 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:53:49,556.556 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:53:49,562.562 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:53:49,567.567 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:53:51,608.608 INFO    ] ================================================
[2026-10-20 07:53:51,623.623 INFO    ] Launching Daemon at Tue Oct 20 07:53:51 IST 2026
[2026-10-20 07:53:51,634.634 INFO    ] ================================================
[2026-10-20 07:53:52,199.199 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:53:52
[2026-10-20 07:53:52,784.784 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:53:53,053.053 INFO    ] Initializing speech engine...
[2026-10-20 07:53:53,074.074 INFO    ] 2026-10-20 07:53:53
[2026-10-20 07:53:53,339.339 INFO    ] 2026-10-20 07:53:53
[2026-10-20 07:53:53,375.375 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:53:53,580.580 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:53:53,600.600 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:53:53,746.746 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:53:53,754.754 INFO    ] time= 20/10/2026 07:53:53
[2026-10-20 07:53:53,776.776 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:53:53,827.827 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:53:53,928.928 INFO    ] No existing commands found in stream
[2026-10-20 07:53:58,953.953 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:53:58,956.956 INFO    ] Waiting 2.25 seconds before fallback handling...
[2026-10-20 07:54:01,797.797 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:54:01,801.801 INFO    ] Checking for system updates...
[2026-10-20 07:54:01,872.872 INFO    ] 200
[2026-10-20 07:54:01,876.876 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:54:01,956.956 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:54:01,960.960 INFO    ] No update needed
[2026-10-20 07:54:01,963.963 INFO    ] Checking for camera pi updates...
[2026-10-20 07:54:02,011.011 INFO    ] 200
[2026-10-20 07:54:02,015.015 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:54:02,068.068 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:54:02,108.108 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:54:02,112.112 INFO    ] No camera update needed
[2026-10-20 07:54:02,114.114 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:54:02,117.117 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:54:02,124.124 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:54:02,129.129 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:54:04,172.172 INFO    ] ================================================
[2026-10-20 07:54:04,187.187 INFO    ] Launching Daemon at Tue Oct 20 07:54:04 IST 2026
[2026-10-20 07:54:04,198.198 INFO    ] ================================================
[2026-10-20 07:54:04,843.843 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:54:04
[2026-10-20 07:54:05,509.509 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:54:05,813.813 INFO    ] Initializing speech engine...
[2026-10-20 07:54:05,819.819 INFO    ] 2026-10-20 07:54:05
[2026-10-20 07:54:06,095.095 INFO    ] 2026-10-20 07:54:06
[2026-10-20 07:54:06,153.153 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:54:06,425.425 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:54:06,445.445 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:54:06,630.630 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:54:06,654.654 INFO    ] time= 20/10/2026 07:54:06
[2026-10-20 07:54:06,672.672 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:54:06,682.682 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:54:06,803.803 INFO    ] No existing commands found in stream
[2026-10-20 07:54:11,825.825 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:54:11,829.829 INFO    ] Waiting 1.20 seconds before fallback handling...
[2026-10-20 07:54:13,550.550 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:54:13,553.553 INFO    ] Checking for system updates...
[2026-10-20 07:54:13,593.593 INFO    ] 200
[2026-10-20 07:54:13,596.596 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:54:13,650.650 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:54:13,652.652 INFO    ] No update needed
[2026-10-20 07:54:13,654.654 INFO    ] Checking for camera pi updates...
[2026-10-20 07:54:13,687.687 INFO    ] 200
[2026-10-20 07:54:13,690.690 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:54:13,730.730 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:54:13,779.779 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:54:13,781.781 INFO    ] No camera update needed
[2026-10-20 07:54:13,783.783 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:54:13,786.786 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:54:13,791.791 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:54:13,796.796 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:54:15,835.835 INFO    ] ================================================
[2026-10-20 07:54:15,851.851 INFO    ] Launching Daemon at Tue Oct 20 07:54:15 IST 2026
[2026-10-20 07:54:15,862.862 INFO    ] ================================================
[2026-10-20 07:54:16,445.445 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:54:16
[2026-10-20 07:54:17,046.046 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:54:17,321.321 INFO    ] Initializing speech engine...
[2026-10-20 07:54:17,337.337 INFO    ] 2026-10-20 07:54:17
[2026-10-20 07:54:17,613.613 INFO    ] 2026-10-20 07:54:17
[2026-10-20 07:54:17,649.649 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:54:17,871.871 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:54:17,879.879 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:54:18,027.027 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:54:18,034.034 INFO    ] time= 20/10/2026 07:54:18
[2026-10-20 07:54:18,088.088 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:54:18,114.114 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:54:18,254.254 INFO    ] No existing commands found in stream
[2026-10-20 07:54:23,265.265 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:54:23,267.267 INFO    ] Waiting 2.91 seconds before fallback handling...
[2026-10-20 07:54:26,689.689 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:54:26,692.692 INFO    ] Checking for system updates...
[2026-10-20 07:54:26,728.728 INFO    ] 200
[2026-10-20 07:54:26,730.730 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:54:26,783.783 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:54:26,785.785 INFO    ] No update needed
[2026-10-20 07:54:26,788.788 INFO    ] Checking for camera pi updates...
[2026-10-20 07:54:26,821.821 INFO    ] 200
[2026-10-20 07:54:26,823.823 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:54:26,864.864 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:54:26,914.914 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:54:26,917.917 INFO    ] No camera update needed
[2026-10-20 07:54:26,919.919 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:54:26,922.922 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:54:26,928.928 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:54:26,934.934 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:54:28,974.974 INFO    ] ================================================
[2026-10-20 07:54:28,990.990 INFO    ] Launching Daemon at Tue Oct 20 07:54:28 IST 2026
[2026-10-20 07:54:29,001.001 INFO    ] ================================================
[2026-10-20 07:54:29,649.649 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:54:29
[2026-10-20 07:54:30,320.320 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:54:30,621.621 INFO    ] Initializing speech engine...
[2026-10-20 07:54:30,628.628 INFO    ] 2026-10-20 07:54:30
[2026-10-20 07:54:30,907.907 INFO    ] 2026-10-20 07:54:30
[2026-10-20 07:54:30,965.965 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:54:31,258.258 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:54:31,267.267 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:54:31,470.470 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:54:31,486.486 INFO    ] time= 20/10/2026 07:54:31
[2026-10-20 07:54:31,496.496 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:54:31,523.523 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:54:31,661.661 INFO    ] No existing commands found in stream
[2026-10-20 07:54:36,682.682 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:54:36,685.685 INFO    ] Waiting 3.02 seconds before fallback handling...
[2026-10-20 07:54:40,259.259 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 07:54:40,261.261 INFO    ] Checking for system updates...
[2026-10-20 07:54:40,299.299 INFO    ] 200
[2026-10-20 07:54:40,301.301 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:54:40,360.360 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:54:40,363.363 INFO    ] No update needed
[2026-10-20 07:54:40,366.366 INFO    ] Checking for camera pi updates...
[2026-10-20 07:54:40,400.400 INFO    ] 200
[2026-10-20 07:54:40,403.403 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:54:40,448.448 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:54:40,593.593 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:54:40,595.595 INFO    ] No camera update needed
[2026-10-20 07:54:40,598.598 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:54:40,601.601 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:54:40,607.607 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:54:40,613.613 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:54:42,652.652 INFO    ] ================================================
[2026-10-20 07:54:42,667.667 INFO    ] Launching Daemon at Tue Oct 20 07:54:42 IST 2026
[2026-10-20 07:54:42,678.678 INFO    ] ================================================
[2026-10-20 07:54:43,327.327 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:54:43
[2026-10-20 07:54:43,987.987 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:54:44,291.291 INFO    ] Initializing speech engine...
[2026-10-20 07:54:44,301.301 INFO    ] 2026-10-20 07:54:44
[2026-10-20 07:54:44,580.580 INFO    ] 2026-10-20 07:54:44
[2026-10-20 07:54:44,624.624 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:54:44,905.905 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:54:44,914.914 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:54:45,086.086 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:54:45,119.119 INFO    ] time= 20/10/2026 07:54:45
[2026-10-20 07:54:45,140.140 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:54:45,166.166 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:54:45,280.280 INFO    ] No existing commands found in stream
[2026-10-20 07:54:50,300.300 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:54:50,303.303 INFO    ] Waiting 3.21 seconds before fallback handling...
[2026-10-20 07:54:54,063.063 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 07:54:54,066.066 INFO    ] Checking for system updates...
[2026-10-20 07:54:54,106.106 INFO    ] 200
[2026-10-20 07:54:54,109.109 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:54:54,173.173 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:54:54,176.176 INFO    ] No update needed
[2026-10-20 07:54:54,179.179 INFO    ] Checking for camera pi updates...
[2026-10-20 07:54:54,213.213 INFO    ] 200
[2026-10-20 07:54:54,216.216 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:54:54,261.261 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:54:54,318.318 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:54:54,321.321 INFO    ] No camera update needed
[2026-10-20 07:54:54,323.323 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:54:54,325.325 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:54:54,331.331 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:54:54,336.336 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:54:56,376.376 INFO    ] ================================================
[2026-10-20 07:54:56,391.391 INFO    ] Launching Daemon at Tue Oct 20 07:54:56 IST 2026
[2026-10-20 07:54:56,402.402 INFO    ] ================================================
[2026-10-20 07:54:56,971.971 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:54:56
[2026-10-20 07:54:57,555.555 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:54:57,827.827 INFO    ] Initializing speech engine...
[2026-10-20 07:54:57,836.836 INFO    ] 2026-10-20 07:54:57
[2026-10-20 07:54:58,085.085 INFO    ] 2026-10-20 07:54:58
[2026-10-20 07:54:58,120.120 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:54:58,371.371 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:54:58,381.381 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:54:58,562.562 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:54:58,612.612 INFO    ] time= 20/10/2026 07:54:58
[2026-10-20 07:54:58,656.656 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:54:58,673.673 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:54:58,799.799 INFO    ] No existing commands found in stream
[2026-10-20 07:55:03,822.822 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:55:03,824.824 INFO    ] Waiting 2.51 seconds before fallback handling...
[2026-10-20 07:55:06,815.815 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:55:06,818.818 INFO    ] Checking for system updates...
[2026-10-20 07:55:06,853.853 INFO    ] 200
[2026-10-20 07:55:06,856.856 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:55:06,908.908 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:55:06,910.910 INFO    ] No update needed
[2026-10-20 07:55:06,913.913 INFO    ] Checking for camera pi updates...
[2026-10-20 07:55:06,950.950 INFO    ] 200
[2026-10-20 07:55:06,953.953 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:55:06,992.992 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:55:07,038.038 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:55:07,040.040 INFO    ] No camera update needed
[2026-10-20 07:55:07,043.043 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:55:07,045.045 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:55:07,050.050 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:55:07,055.055 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:55:09,097.097 INFO    ] ================================================
[2026-10-20 07:55:09,112.112 INFO    ] Launching Daemon at Tue Oct 20 07:55:09 IST 2026
[2026-10-20 07:55:09,123.123 INFO    ] ================================================
[2026-10-20 07:55:09,764.764 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:55:09
[2026-10-20 07:55:10,424.424 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:55:10,716.716 INFO    ] Initializing speech engine...
[2026-10-20 07:55:10,725.725 INFO    ] 2026-10-20 07:55:10
[2026-10-20 07:55:10,991.991 INFO    ] 2026-10-20 07:55:10
[2026-10-20 07:55:11,028.028 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:55:11,222.222 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:55:11,229.229 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:55:11,397.397 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:55:11,406.406 INFO    ] time= 20/10/2026 07:55:11
[2026-10-20 07:55:11,413.413 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:55:11,435.435 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:55:11,574.574 INFO    ] No existing commands found in stream
[2026-10-20 07:55:16,604.604 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:55:16,607.607 INFO    ] Waiting 3.58 seconds before fallback handling...
[2026-10-20 07:55:20,711.711 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:55:20,713.713 INFO    ] Checking for system updates...
[2026-10-20 07:55:20,752.752 INFO    ] 200
[2026-10-20 07:55:20,754.754 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:55:20,806.806 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:55:20,808.808 INFO    ] No update needed
[2026-10-20 07:55:20,811.811 INFO    ] Checking for camera pi updates...
[2026-10-20 07:55:20,844.844 INFO    ] 200
[2026-10-20 07:55:20,847.847 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:55:20,890.890 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:55:20,941.941 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:55:20,944.944 INFO    ] No camera update needed
[2026-10-20 07:55:20,946.946 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:55:20,948.948 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:55:20,954.954 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:55:20,959.959 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:55:23,999.999 INFO    ] ================================================
[2026-10-20 07:55:23,015.015 INFO    ] Launching Daemon at Tue Oct 20 07:55:23 IST 2026
[2026-10-20 07:55:23,026.026 INFO    ] ================================================
[2026-10-20 07:55:23,592.592 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:55:23
[2026-10-20 07:55:24,174.174 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:55:24,440.440 INFO    ] Initializing speech engine...
[2026-10-20 07:55:24,449.449 INFO    ] 2026-10-20 07:55:24
[2026-10-20 07:55:24,693.693 INFO    ] 2026-10-20 07:55:24
[2026-10-20 07:55:24,735.735 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:55:24,978.978 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:55:24,988.988 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:55:25,166.166 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:55:25,237.237 INFO    ] time= 20/10/2026 07:55:25
[2026-10-20 07:55:25,249.249 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:55:25,264.264 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:55:25,401.401 INFO    ] No existing commands found in stream
[2026-10-20 07:55:30,419.419 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:55:30,421.421 INFO    ] Waiting 3.64 seconds before fallback handling...
[2026-10-20 07:55:34,567.567 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:55:34,570.570 INFO    ] Checking for system updates...
[2026-10-20 07:55:34,605.605 INFO    ] 200
[2026-10-20 07:55:34,608.608 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:55:34,659.659 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:55:34,661.661 INFO    ] No update needed
[2026-10-20 07:55:34,664.664 INFO    ] Checking for camera pi updates...
[2026-10-20 07:55:34,697.697 INFO    ] 200
[2026-10-20 07:55:34,699.699 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:55:34,739.739 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:55:34,788.788 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:55:34,791.791 INFO    ] No camera update needed
[2026-10-20 07:55:34,793.793 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:55:34,796.796 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:55:34,801.801 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:55:34,806.806 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:55:36,846.846 INFO    ] ================================================
[2026-10-20 07:55:36,862.862 INFO    ] Launching Daemon at Tue Oct 20 07:55:36 IST 2026
[2026-10-20 07:55:36,872.872 INFO    ] ================================================
[2026-10-20 07:55:37,506.506 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:55:37
[2026-10-20 07:55:38,156.156 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:55:38,452.452 INFO    ] Initializing speech engine...
[2026-10-20 07:55:38,461.461 INFO    ] 2026-10-20 07:55:38
[2026-10-20 07:55:38,742.742 INFO    ] 2026-10-20 07:55:38
[2026-10-20 07:55:38,786.786 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:55:39,067.067 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:55:39,072.072 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:55:39,264.264 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:55:39,272.272 INFO    ] time= 20/10/2026 07:55:39
[2026-10-20 07:55:39,291.291 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:55:39,313.313 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:55:39,432.432 INFO    ] No existing commands found in stream
[2026-10-20 07:55:44,457.457 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:55:44,460.460 INFO    ] Waiting 1.30 seconds before fallback handling...
[2026-10-20 07:55:46,290.290 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:55:46,293.293 INFO    ] Checking for system updates...
[2026-10-20 07:55:46,332.332 INFO    ] 200
[2026-10-20 07:55:46,335.335 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:55:46,390.390 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:55:46,393.393 INFO    ] No update needed
[2026-10-20 07:55:46,395.395 INFO    ] Checking for camera pi updates...
[2026-10-20 07:55:46,430.430 INFO    ] 200
[2026-10-20 07:55:46,433.433 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:55:46,477.477 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:55:46,527.527 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:55:46,530.530 INFO    ] No camera update needed
[2026-10-20 07:55:46,533.533 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:55:46,535.535 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:55:46,541.541 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:55:46,547.547 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:55:48,588.588 INFO    ] ================================================
[2026-10-20 07:55:48,604.604 INFO    ] Launching Daemon at Tue Oct 20 07:55:48 IST 2026
[2026-10-20 07:55:48,615.615 INFO    ] ================================================
[2026-10-20 07:55:49,182.182 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:55:49
[2026-10-20 07:55:49,765.765 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:55:50,041.041 INFO    ] Initializing speech engine...
[2026-10-20 07:55:50,054.054 INFO    ] 2026-10-20 07:55:50
[2026-10-20 07:55:50,317.317 INFO    ] 2026-10-20 07:55:50
[2026-10-20 07:55:50,355.355 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:55:50,551.551 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:55:50,553.553 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:55:50,715.715 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:55:50,720.720 INFO    ] time= 20/10/2026 07:55:50
[2026-10-20 07:55:50,727.727 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:55:50,769.769 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:55:50,909.909 INFO    ] No existing commands found in stream
[2026-10-20 07:55:55,934.934 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:55:55,936.936 INFO    ] Waiting 2.28 seconds before fallback handling...
[2026-10-20 07:55:58,751.751 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:55:58,754.754 INFO    ] Checking for system updates...
[2026-10-20 07:55:58,793.793 INFO    ] 200
[2026-10-20 07:55:58,796.796 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:55:58,854.854 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:55:58,857.857 INFO    ] No update needed
[2026-10-20 07:55:58,860.860 INFO    ] Checking for camera pi updates...
[2026-10-20 07:55:58,894.894 INFO    ] 200
[2026-10-20 07:55:58,896.896 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:55:58,937.937 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:55:58,987.987 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:55:58,991.991 INFO    ] No camera update needed
[2026-10-20 07:55:58,994.994 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:55:58,996.996 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:55:59,002.002 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:55:59,008.008 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:56:01,049.049 INFO    ] ================================================
[2026-10-20 07:56:01,064.064 INFO    ] Launching Daemon at Tue Oct 20 07:56:01 IST 2026
[2026-10-20 07:56:01,075.075 INFO    ] ================================================
[2026-10-20 07:56:01,800.800 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:56:01
[2026-10-20 07:56:02,465.465 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:56:02,758.758 INFO    ] Initializing speech engine...
[2026-10-20 07:56:02,775.775 INFO    ] 2026-10-20 07:56:02
[2026-10-20 07:56:03,100.100 INFO    ] 2026-10-20 07:56:03
[2026-10-20 07:56:03,136.136 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:56:03,300.300 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:56:03,308.308 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:56:03,471.471 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:56:03,480.480 INFO    ] time= 20/10/2026 07:56:03
[2026-10-20 07:56:03,485.485 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:56:03,490.490 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:56:03,646.646 INFO    ] No existing commands found in stream
[2026-10-20 07:56:08,660.660 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:56:08,663.663 INFO    ] Waiting 0.54 seconds before fallback handling...
[2026-10-20 07:56:09,723.723 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:56:09,725.725 INFO    ] Checking for system updates...
[2026-10-20 07:56:09,764.764 INFO    ] 200
[2026-10-20 07:56:09,767.767 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:56:09,822.822 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:56:09,824.824 INFO    ] No update needed
[2026-10-20 07:56:09,826.826 INFO    ] Checking for camera pi updates...
[2026-10-20 07:56:09,859.859 INFO    ] 200
[2026-10-20 07:56:09,861.861 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:56:09,902.902 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:56:09,959.959 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:56:09,962.962 INFO    ] No camera update needed
[2026-10-20 07:56:09,964.964 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:56:09,966.966 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:56:09,972.972 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:56:09,976.976 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:56:12,016.016 INFO    ] ================================================
[2026-10-20 07:56:12,031.031 INFO    ] Launching Daemon at Tue Oct 20 07:56:12 IST 2026
[2026-10-20 07:56:12,042.042 INFO    ] ================================================
[2026-10-20 07:56:12,629.629 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:56:12
[2026-10-20 07:56:13,230.230 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:56:13,488.488 INFO    ] Initializing speech engine...
[2026-10-20 07:56:13,503.503 INFO    ] 2026-10-20 07:56:13
[2026-10-20 07:56:13,781.781 INFO    ] 2026-10-20 07:56:13
[2026-10-20 07:56:13,816.816 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:56:14,022.022 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:56:14,041.041 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:56:14,185.185 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:56:14,191.191 INFO    ] time= 20/10/2026 07:56:14
[2026-10-20 07:56:14,197.197 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:56:14,223.223 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:56:14,358.358 INFO    ] No existing commands found in stream
[2026-10-20 07:56:19,383.383 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:56:19,386.386 INFO    ] Waiting 3.35 seconds before fallback handling...
[2026-10-20 07:56:23,262.262 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:56:23,265.265 INFO    ] Checking for system updates...
[2026-10-20 07:56:23,302.302 INFO    ] 200
[2026-10-20 07:56:23,305.305 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:56:23,358.358 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:56:23,360.360 INFO    ] No update needed
[2026-10-20 07:56:23,362.362 INFO    ] Checking for camera pi updates...
[2026-10-20 07:56:23,401.401 INFO    ] 200
[2026-10-20 07:56:23,404.404 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:56:23,444.444 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:56:23,491.491 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:56:23,493.493 INFO    ] No camera update needed
[2026-10-20 07:56:23,496.496 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:56:23,498.498 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:56:23,504.504 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:56:23,509.509 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:56:25,550.550 INFO    ] ================================================
[2026-10-20 07:56:25,565.565 INFO    ] Launching Daemon at Tue Oct 20 07:56:25 IST 2026
[2026-10-20 07:56:25,576.576 INFO    ] ================================================
[2026-10-20 07:56:26,151.151 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:56:26
[2026-10-20 07:56:26,739.739 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:56:27,005.005 INFO    ] Initializing speech engine...
[2026-10-20 07:56:27,023.023 INFO    ] 2026-10-20 07:56:27
[2026-10-20 07:56:27,291.291 INFO    ] 2026-10-20 07:56:27
[2026-10-20 07:56:27,328.328 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:56:27,530.530 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:56:27,548.548 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:56:27,696.696 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:56:27,706.706 INFO    ] time= 20/10/2026 07:56:27
[2026-10-20 07:56:27,752.752 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:56:27,778.778 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:56:27,895.895 INFO    ] No existing commands found in stream
[2026-10-20 07:56:32,920.920 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:56:32,923.923 INFO    ] Waiting 3.98 seconds before fallback handling...
[2026-10-20 07:56:37,403.403 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:56:37,405.405 INFO    ] Checking for system updates...
[2026-10-20 07:56:37,441.441 INFO    ] 200
[2026-10-20 07:56:37,444.444 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:56:37,502.502 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:56:37,505.505 INFO    ] No update needed
[2026-10-20 07:56:37,507.507 INFO    ] Checking for camera pi updates...
[2026-10-20 07:56:37,541.541 INFO    ] 200
[2026-10-20 07:56:37,544.544 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:56:37,583.583 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:56:37,632.632 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:56:37,634.634 INFO    ] No camera update needed
[2026-10-20 07:56:37,636.636 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:56:37,639.639 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:56:37,644.644 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:56:37,649.649 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:56:39,690.690 INFO    ] ================================================
[2026-10-20 07:56:39,705.705 INFO    ] Launching Daemon at Tue Oct 20 07:56:39 IST 2026
[2026-10-20 07:56:39,716.716 INFO    ] ================================================
[2026-10-20 07:56:40,346.346 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:56:40
[2026-10-20 07:56:40,966.966 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:56:41,216.216 INFO    ] Initializing speech engine...
[2026-10-20 07:56:41,240.240 INFO    ] 2026-10-20 07:56:41
[2026-10-20 07:56:41,494.494 INFO    ] 2026-10-20 07:56:41
[2026-10-20 07:56:41,535.535 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:56:41,786.786 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:56:41,795.795 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:56:41,970.970 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:56:42,014.014 INFO    ] time= 20/10/2026 07:56:41
[2026-10-20 07:56:42,062.062 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:56:42,068.068 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:56:42,210.210 INFO    ] No existing commands found in stream
[2026-10-20 07:56:47,224.224 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:56:47,227.227 INFO    ] Waiting 0.93 seconds before fallback handling...
[2026-10-20 07:56:48,639.639 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:56:48,641.641 INFO    ] Checking for system updates...
[2026-10-20 07:56:48,681.681 INFO    ] 200
[2026-10-20 07:56:48,684.684 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:56:48,741.741 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:56:48,743.743 INFO    ] No update needed
[2026-10-20 07:56:48,746.746 INFO    ] Checking for camera pi updates...
[2026-10-20 07:56:48,782.782 INFO    ] 200
[2026-10-20 07:56:48,784.784 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:56:48,830.830 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:56:48,985.985 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:56:48,988.988 INFO    ] No camera update needed
[2026-10-20 07:56:48,991.991 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:56:48,993.993 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:56:48,999.999 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:56:49,005.005 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:56:51,046.046 INFO    ] ================================================
[2026-10-20 07:56:51,061.061 INFO    ] Launching Daemon at Tue Oct 20 07:56:51 IST 2026
[2026-10-20 07:56:51,073.073 INFO    ] ================================================
[2026-10-20 07:56:51,639.639 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:56:51
[2026-10-20 07:56:52,225.225 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:56:52,480.480 INFO    ] Initializing speech engine...
[2026-10-20 07:56:52,495.495 INFO    ] 2026-10-20 07:56:52
[2026-10-20 07:56:52,775.775 INFO    ] 2026-10-20 07:56:52
[2026-10-20 07:56:52,811.811 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:56:53,027.027 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:56:53,056.056 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:56:53,242.242 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:56:53,254.254 INFO    ] time= 20/10/2026 07:56:53
[2026-10-20 07:56:53,301.301 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:56:53,355.355 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:56:53,457.457 INFO    ] No existing commands found in stream
[2026-10-20 07:56:58,469.469 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:56:58,472.472 INFO    ] Waiting 2.35 seconds before fallback handling...
[2026-10-20 07:57:01,341.341 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:57:01,344.344 INFO    ] Checking for system updates...
[2026-10-20 07:57:01,381.381 INFO    ] 200
[2026-10-20 07:57:01,384.384 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:57:01,435.435 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:57:01,438.438 INFO    ] No update needed
[2026-10-20 07:57:01,441.441 INFO    ] Checking for camera pi updates...
[2026-10-20 07:57:01,476.476 INFO    ] 200
[2026-10-20 07:57:01,479.479 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:57:01,524.524 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:57:01,560.560 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:57:01,562.562 INFO    ] No camera update needed
[2026-10-20 07:57:01,565.565 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:57:01,567.567 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:57:01,573.573 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:57:01,578.578 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:57:03,620.620 INFO    ] ================================================
[2026-10-20 07:57:03,638.638 INFO    ] Launching Daemon at Tue Oct 20 07:57:03 IST 2026
[2026-10-20 07:57:03,650.650 INFO    ] ================================================
[2026-10-20 07:57:04,232.232 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:57:04
[2026-10-20 07:57:04,829.829 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:57:05,109.109 INFO    ] Initializing speech engine...
[2026-10-20 07:57:05,116.116 INFO    ] 2026-10-20 07:57:05
[2026-10-20 07:57:05,374.374 INFO    ] 2026-10-20 07:57:05
[2026-10-20 07:57:05,404.404 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:57:05,654.654 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:57:05,658.658 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:57:05,861.861 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:57:05,916.916 INFO    ] time= 20/10/2026 07:57:05
[2026-10-20 07:57:05,923.923 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:57:05,942.942 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:57:06,073.073 INFO    ] No existing commands found in stream
[2026-10-20 07:57:11,088.088 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:57:11,091.091 INFO    ] Waiting 3.21 seconds before fallback handling...
[2026-10-20 07:57:14,808.808 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:57:14,811.811 INFO    ] Checking for system updates...
[2026-10-20 07:57:14,851.851 INFO    ] 200
[2026-10-20 07:57:14,854.854 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:57:14,913.913 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:57:14,916.916 INFO    ] No update needed
[2026-10-20 07:57:14,918.918 INFO    ] Checking for camera pi updates...
[2026-10-20 07:57:14,953.953 INFO    ] 200
[2026-10-20 07:57:14,956.956 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:57:14,997.997 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:57:15,042.042 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:57:15,045.045 INFO    ] No camera update needed
[2026-10-20 07:57:15,048.048 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:57:15,050.050 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:57:15,056.056 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:57:15,062.062 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:57:17,104.104 INFO    ] ================================================
[2026-10-20 07:57:17,120.120 INFO    ] Launching Daemon at Tue Oct 20 07:57:17 IST 2026
[2026-10-20 07:57:17,130.130 INFO    ] ================================================
[2026-10-20 07:57:17,718.718 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:57:17
[2026-10-20 07:57:18,323.323 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:57:18,581.581 INFO    ] Initializing speech engine...
[2026-10-20 07:57:18,590.590 INFO    ] 2026-10-20 07:57:18
[2026-10-20 07:57:18,883.883 INFO    ] 2026-10-20 07:57:18
[2026-10-20 07:57:18,917.917 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:57:19,144.144 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:57:19,152.152 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:57:19,360.360 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:57:19,378.378 INFO    ] time= 20/10/2026 07:57:19
[2026-10-20 07:57:19,423.423 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:57:19,477.477 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:57:19,580.580 INFO    ] No existing commands found in stream
[2026-10-20 07:57:24,595.595 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:57:24,597.597 INFO    ] Waiting 0.89 seconds before fallback handling...
[2026-10-20 07:57:26,006.006 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:57:26,009.009 INFO    ] Checking for system updates...
[2026-10-20 07:57:26,046.046 INFO    ] 200
[2026-10-20 07:57:26,049.049 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:57:26,101.101 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:57:26,104.104 INFO    ] No update needed
[2026-10-20 07:57:26,107.107 INFO    ] Checking for camera pi updates...
[2026-10-20 07:57:26,141.141 INFO    ] 200
[2026-10-20 07:57:26,144.144 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:57:26,186.186 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:57:26,233.233 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:57:26,235.235 INFO    ] No camera update needed
[2026-10-20 07:57:26,238.238 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:57:26,241.241 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:57:26,247.247 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:57:26,253.253 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:57:28,292.292 INFO    ] ================================================
[2026-10-20 07:57:28,308.308 INFO    ] Launching Daemon at Tue Oct 20 07:57:28 IST 2026
[2026-10-20 07:57:28,319.319 INFO    ] ================================================
[2026-10-20 07:57:28,980.980 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:57:28
[2026-10-20 07:57:29,658.658 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:57:29,973.973 INFO    ] Initializing speech engine...
[2026-10-20 07:57:29,983.983 INFO    ] 2026-10-20 07:57:29
[2026-10-20 07:57:30,265.265 INFO    ] 2026-10-20 07:57:30
[2026-10-20 07:57:30,375.375 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:57:30,591.591 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:57:30,599.599 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:57:30,789.789 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:57:30,807.807 INFO    ] time= 20/10/2026 07:57:30
[2026-10-20 07:57:30,818.818 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:57:30,845.845 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:57:30,967.967 INFO    ] No existing commands found in stream
[2026-10-20 07:57:35,991.991 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:57:35,994.994 INFO    ] Waiting 3.77 seconds before fallback handling...
[2026-10-20 07:57:40,323.323 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 07:57:40,326.326 INFO    ] Checking for system updates...
[2026-10-20 07:57:40,362.362 INFO    ] 200
[2026-10-20 07:57:40,365.365 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:57:40,418.418 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:57:40,420.420 INFO    ] No update needed
[2026-10-20 07:57:40,423.423 INFO    ] Checking for camera pi updates...
[2026-10-20 07:57:40,460.460 INFO    ] 200
[2026-10-20 07:57:40,462.462 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:57:40,502.502 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:57:40,555.555 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:57:40,557.557 INFO    ] No camera update needed
[2026-10-20 07:57:40,559.559 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:57:40,562.562 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:57:40,567.567 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:57:40,572.572 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:57:42,615.615 INFO    ] ================================================
[2026-10-20 07:57:42,631.631 INFO    ] Launching Daemon at Tue Oct 20 07:57:42 IST 2026
[2026-10-20 07:57:42,642.642 INFO    ] ================================================
[2026-10-20 07:57:43,207.207 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:57:43
[2026-10-20 07:57:43,792.792 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:57:44,039.039 INFO    ] Initializing speech engine...
[2026-10-20 07:57:44,047.047 INFO    ] 2026-10-20 07:57:44
[2026-10-20 07:57:44,321.321 INFO    ] 2026-10-20 07:57:44
[2026-10-20 07:57:44,357.357 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:57:44,621.621 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:57:44,631.631 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:57:44,770.770 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:57:44,829.829 INFO    ] time= 20/10/2026 07:57:44
[2026-10-20 07:57:44,894.894 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:57:44,909.909 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:57:45,053.053 INFO    ] No existing commands found in stream
[2026-10-20 07:57:50,070.070 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:57:50,072.072 INFO    ] Waiting 3.24 seconds before fallback handling...
[2026-10-20 07:57:53,828.828 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:57:53,831.831 INFO    ] Checking for system updates...
[2026-10-20 07:57:53,869.869 INFO    ] 200
[2026-10-20 07:57:53,872.872 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:57:53,933.933 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:57:53,936.936 INFO    ] No update needed
[2026-10-20 07:57:53,939.939 INFO    ] Checking for camera pi updates...
[2026-10-20 07:57:53,974.974 INFO    ] 200
[2026-10-20 07:57:53,977.977 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:57:54,019.019 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:57:54,064.064 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:57:54,067.067 INFO    ] No camera update needed
[2026-10-20 07:57:54,070.070 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:57:54,073.073 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:57:54,079.079 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:57:54,085.085 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:57:56,127.127 INFO    ] ================================================
[2026-10-20 07:57:56,143.143 INFO    ] Launching Daemon at Tue Oct 20 07:57:56 IST 2026
[2026-10-20 07:57:56,154.154 INFO    ] ================================================
[2026-10-20 07:57:56,718.718 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:57:56
[2026-10-20 07:57:57,301.301 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:57:57,568.568 INFO    ] Initializing speech engine...
[2026-10-20 07:57:57,577.577 INFO    ] 2026-10-20 07:57:57
[2026-10-20 07:57:57,822.822 INFO    ] 2026-10-20 07:57:57
[2026-10-20 07:57:57,858.858 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:57:58,115.115 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:57:58,124.124 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:57:58,261.261 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:57:58,321.321 INFO    ] time= 20/10/2026 07:57:58
[2026-10-20 07:57:58,370.370 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:57:58,392.392 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:57:58,520.520 INFO    ] No existing commands found in stream
[2026-10-20 07:58:03,541.541 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:58:03,545.545 INFO    ] Waiting 0.88 seconds before fallback handling...
[2026-10-20 07:58:04,918.918 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:58:04,921.921 INFO    ] Checking for system updates...
[2026-10-20 07:58:04,957.957 INFO    ] 200
[2026-10-20 07:58:04,960.960 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:58:05,015.015 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:58:05,017.017 INFO    ] No update needed
[2026-10-20 07:58:05,020.020 INFO    ] Checking for camera pi updates...
[2026-10-20 07:58:05,053.053 INFO    ] 200
[2026-10-20 07:58:05,056.056 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:58:05,100.100 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:58:05,147.147 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:58:05,150.150 INFO    ] No camera update needed
[2026-10-20 07:58:05,152.152 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:58:05,154.154 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:58:05,160.160 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:58:05,165.165 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:58:07,206.206 INFO    ] ================================================
[2026-10-20 07:58:07,221.221 INFO    ] Launching Daemon at Tue Oct 20 07:58:07 IST 2026
[2026-10-20 07:58:07,232.232 INFO    ] ================================================
[2026-10-20 07:58:07,796.796 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:58:07
[2026-10-20 07:58:08,376.376 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:58:08,640.640 INFO    ] Initializing speech engine...
[2026-10-20 07:58:08,651.651 INFO    ] 2026-10-20 07:58:08
[2026-10-20 07:58:08,908.908 INFO    ] 2026-10-20 07:58:08
[2026-10-20 07:58:08,943.943 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:58:09,193.193 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:58:09,203.203 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:58:09,339.339 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:58:09,373.373 INFO    ] time= 20/10/2026 07:58:09
[2026-10-20 07:58:09,427.427 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:58:09,471.471 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:58:09,603.603 INFO    ] No existing commands found in stream
[2026-10-20 07:58:14,630.630 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:58:14,633.633 INFO    ] Waiting 0.74 seconds before fallback handling...
[2026-10-20 07:58:15,850.850 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:58:15,853.853 INFO    ] Checking for system updates...
[2026-10-20 07:58:15,888.888 INFO    ] 200
[2026-10-20 07:58:15,891.891 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:58:15,949.949 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:58:15,951.951 INFO    ] No update needed
[2026-10-20 07:58:15,953.953 INFO    ] Checking for camera pi updates...
[2026-10-20 07:58:15,986.986 INFO    ] 200
[2026-10-20 07:58:15,988.988 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:58:16,030.030 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:58:16,075.075 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:58:16,077.077 INFO    ] No camera update needed
[2026-10-20 07:58:16,080.080 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:58:16,082.082 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:58:16,087.087 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:58:16,092.092 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:58:18,135.135 INFO    ] ================================================
[2026-10-20 07:58:18,150.150 INFO    ] Launching Daemon at Tue Oct 20 07:58:18 IST 2026
[2026-10-20 07:58:18,160.160 INFO    ] ================================================
[2026-10-20 07:58:18,730.730 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:58:18
[2026-10-20 07:58:19,317.317 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:58:19,563.563 INFO    ] Initializing speech engine...
[2026-10-20 07:58:19,571.571 INFO    ] 2026-10-20 07:58:19
[2026-10-20 07:58:19,854.854 INFO    ] 2026-10-20 07:58:19
[2026-10-20 07:58:19,889.889 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:58:20,092.092 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:58:20,148.148 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:58:20,300.300 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:58:20,365.365 INFO    ] time= 20/10/2026 07:58:20
[2026-10-20 07:58:20,414.414 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:58:20,432.432 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:58:20,529.529 INFO    ] No existing commands found in stream
[2026-10-20 07:58:25,539.539 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:58:25,542.542 INFO    ] Waiting 2.50 seconds before fallback handling...
[2026-10-20 07:58:28,535.535 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 07:58:28,538.538 INFO    ] Checking for system updates...
[2026-10-20 07:58:28,576.576 INFO    ] 200
[2026-10-20 07:58:28,579.579 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:58:28,633.633 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:58:28,636.636 INFO    ] No update needed
[2026-10-20 07:58:28,639.639 INFO    ] Checking for camera pi updates...
[2026-10-20 07:58:28,674.674 INFO    ] 200
[2026-10-20 07:58:28,677.677 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:58:28,717.717 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:58:28,762.762 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:58:28,764.764 INFO    ] No camera update needed
[2026-10-20 07:58:28,767.767 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:58:28,770.770 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:58:28,776.776 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:58:28,782.782 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:58:30,824.824 INFO    ] ================================================
[2026-10-20 07:58:30,839.839 INFO    ] Launching Daemon at Tue Oct 20 07:58:30 IST 2026
[2026-10-20 07:58:30,849.849 INFO    ] ================================================
[2026-10-20 07:58:31,423.423 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:58:31
[2026-10-20 07:58:32,077.077 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:58:32,420.420 INFO    ] Initializing speech engine...
[2026-10-20 07:58:32,426.426 INFO    ] 2026-10-20 07:58:32
[2026-10-20 07:58:32,727.727 INFO    ] 2026-10-20 07:58:32
[2026-10-20 07:58:32,773.773 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:58:33,027.027 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:58:33,034.034 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:58:33,248.248 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:58:33,294.294 INFO    ] time= 20/10/2026 07:58:33
[2026-10-20 07:58:33,314.314 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:58:33,323.323 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:58:33,455.455 INFO    ] No existing commands found in stream
[2026-10-20 07:58:38,472.472 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:58:38,475.475 INFO    ] Waiting 2.13 seconds before fallback handling...
[2026-10-20 07:58:41,110.110 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 07:58:41,114.114 INFO    ] Checking for system updates...
[2026-10-20 07:58:41,150.150 INFO    ] 200
[2026-10-20 07:58:41,153.153 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:58:41,206.206 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:58:41,209.209 INFO    ] No update needed
[2026-10-20 07:58:41,211.211 INFO    ] Checking for camera pi updates...
[2026-10-20 07:58:41,245.245 INFO    ] 200
[2026-10-20 07:58:41,247.247 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:58:41,301.301 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:58:41,348.348 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:58:41,351.351 INFO    ] No camera update needed
[2026-10-20 07:58:41,353.353 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:58:41,355.355 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:58:41,361.361 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:58:41,366.366 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:58:43,405.405 INFO    ] ================================================
[2026-10-20 07:58:43,420.420 INFO    ] Launching Daemon at Tue Oct 20 07:58:43 IST 2026
[2026-10-20 07:58:43,431.431 INFO    ] ================================================
[2026-10-20 07:58:44,000.000 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:58:43
[2026-10-20 07:58:44,594.594 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:58:44,866.866 INFO    ] Initializing speech engine...
[2026-10-20 07:58:44,875.875 INFO    ] 2026-10-20 07:58:44
[2026-10-20 07:58:45,125.125 INFO    ] 2026-10-20 07:58:45
[2026-10-20 07:58:45,160.160 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:58:45,418.418 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:58:45,427.427 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:58:45,626.626 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:58:45,680.680 INFO    ] time= 20/10/2026 07:58:45
[2026-10-20 07:58:45,700.700 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:58:45,715.715 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:58:45,795.795 INFO    ] No existing commands found in stream
[2026-10-20 07:58:50,822.822 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:58:50,825.825 INFO    ] Waiting 0.49 seconds before fallback handling...
[2026-10-20 07:58:51,835.835 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 07:58:51,839.839 INFO    ] Checking for system updates...
[2026-10-20 07:58:51,875.875 INFO    ] 200
[2026-10-20 07:58:51,878.878 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:58:51,930.930 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:58:51,933.933 INFO    ] No update needed
[2026-10-20 07:58:51,935.935 INFO    ] Checking for camera pi updates...
[2026-10-20 07:58:51,973.973 INFO    ] 200
[2026-10-20 07:58:51,975.975 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:58:52,015.015 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:58:52,161.161 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:58:52,164.164 INFO    ] No camera update needed
[2026-10-20 07:58:52,166.166 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:58:52,168.168 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:58:52,174.174 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:58:52,179.179 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:58:54,219.219 INFO    ] ================================================
[2026-10-20 07:58:54,234.234 INFO    ] Launching Daemon at Tue Oct 20 07:58:54 IST 2026
[2026-10-20 07:58:54,245.245 INFO    ] ================================================
[2026-10-20 07:58:54,882.882 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:58:54
[2026-10-20 07:58:55,539.539 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:58:55,841.841 INFO    ] Initializing speech engine...
[2026-10-20 07:58:55,855.855 INFO    ] 2026-10-20 07:58:55
[2026-10-20 07:58:56,136.136 INFO    ] 2026-10-20 07:58:56
[2026-10-20 07:58:56,245.245 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:58:56,462.462 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:58:56,467.467 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:58:56,665.665 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:58:56,682.682 INFO    ] time= 20/10/2026 07:58:56
[2026-10-20 07:58:56,712.712 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:58:56,721.721 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:58:56,853.853 INFO    ] No existing commands found in stream
[2026-10-20 07:59:01,882.882 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:59:01,885.885 INFO    ] Waiting 0.93 seconds before fallback handling...
[2026-10-20 07:59:03,361.361 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:59:03,364.364 INFO    ] Checking for system updates...
[2026-10-20 07:59:03,400.400 INFO    ] 200
[2026-10-20 07:59:03,402.402 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:59:03,465.465 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:59:03,468.468 INFO    ] No update needed
[2026-10-20 07:59:03,471.471 INFO    ] Checking for camera pi updates...
[2026-10-20 07:59:03,504.504 INFO    ] 200
[2026-10-20 07:59:03,506.506 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:59:03,547.547 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:59:03,601.601 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:59:03,603.603 INFO    ] No camera update needed
[2026-10-20 07:59:03,607.607 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:59:03,610.610 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:59:03,616.616 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:59:03,623.623 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:59:05,664.664 INFO    ] ================================================
[2026-10-20 07:59:05,679.679 INFO    ] Launching Daemon at Tue Oct 20 07:59:05 IST 2026
[2026-10-20 07:59:05,689.689 INFO    ] ================================================
[2026-10-20 07:59:06,260.260 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:59:06
[2026-10-20 07:59:06,850.850 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:59:07,098.098 INFO    ] Initializing speech engine...
[2026-10-20 07:59:07,104.104 INFO    ] 2026-10-20 07:59:07
[2026-10-20 07:59:07,378.378 INFO    ] 2026-10-20 07:59:07
[2026-10-20 07:59:07,413.413 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:59:07,619.619 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:59:07,678.678 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:59:07,823.823 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:59:07,889.889 INFO    ] time= 20/10/2026 07:59:07
[2026-10-20 07:59:07,954.954 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:59:07,962.962 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:59:08,111.111 INFO    ] No existing commands found in stream
[2026-10-20 07:59:13,132.132 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:59:13,135.135 INFO    ] Waiting 0.61 seconds before fallback handling...
[2026-10-20 07:59:14,280.280 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:59:14,283.283 INFO    ] Checking for system updates...
[2026-10-20 07:59:14,318.318 INFO    ] 200
[2026-10-20 07:59:14,321.321 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:59:14,372.372 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:59:14,375.375 INFO    ] No update needed
[2026-10-20 07:59:14,377.377 INFO    ] Checking for camera pi updates...
[2026-10-20 07:59:14,410.410 INFO    ] 200
[2026-10-20 07:59:14,413.413 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:59:14,457.457 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:59:14,501.501 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:59:14,504.504 INFO    ] No camera update needed
[2026-10-20 07:59:14,506.506 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:59:14,508.508 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:59:14,514.514 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:59:14,519.519 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:59:16,558.558 INFO    ] ================================================
[2026-10-20 07:59:16,573.573 INFO    ] Launching Daemon at Tue Oct 20 07:59:16 IST 2026
[2026-10-20 07:59:16,584.584 INFO    ] ================================================
[2026-10-20 07:59:17,226.226 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:59:17
[2026-10-20 07:59:17,888.888 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:59:18,189.189 INFO    ] Initializing speech engine...
[2026-10-20 07:59:18,197.197 INFO    ] 2026-10-20 07:59:18
[2026-10-20 07:59:18,472.472 INFO    ] 2026-10-20 07:59:18
[2026-10-20 07:59:18,528.528 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:59:18,763.763 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:59:18,770.770 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:59:18,993.993 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:59:19,034.034 INFO    ] time= 20/10/2026 07:59:19
[2026-10-20 07:59:19,041.041 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:59:19,063.063 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:59:19,219.219 INFO    ] No existing commands found in stream
[2026-10-20 07:59:24,250.250 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:59:24,253.253 INFO    ] Waiting 0.37 seconds before fallback handling...
[2026-10-20 07:59:25,164.164 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 07:59:25,167.167 INFO    ] Checking for system updates...
[2026-10-20 07:59:25,203.203 INFO    ] 200
[2026-10-20 07:59:25,206.206 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:59:25,268.268 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:59:25,270.270 INFO    ] No update needed
[2026-10-20 07:59:25,273.273 INFO    ] Checking for camera pi updates...
[2026-10-20 07:59:25,307.307 INFO    ] 200
[2026-10-20 07:59:25,310.310 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:59:25,352.352 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:59:25,407.407 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 07:59:25,410.410 INFO    ] No camera update needed
[2026-10-20 07:59:25,412.412 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:59:25,414.414 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:59:25,420.420 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:59:25,425.425 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:59:27,470.470 INFO    ] ================================================
[2026-10-20 07:59:27,484.484 INFO    ] Launching Daemon at Tue Oct 20 07:59:27 IST 2026
[2026-10-20 07:59:27,495.495 INFO    ] ================================================
[2026-10-20 07:59:28,059.059 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:59:28
[2026-10-20 07:59:28,641.641 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:59:28,909.909 INFO    ] Initializing speech engine...
[2026-10-20 07:59:28,918.918 INFO    ] 2026-10-20 07:59:28
[2026-10-20 07:59:29,169.169 INFO    ] 2026-10-20 07:59:29
[2026-10-20 07:59:29,204.204 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:59:29,455.455 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:59:29,464.464 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:59:29,639.639 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:59:29,699.699 INFO    ] time= 20/10/2026 07:59:29
[2026-10-20 07:59:29,730.730 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:59:29,736.736 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:59:29,884.884 INFO    ] No existing commands found in stream
[2026-10-20 07:59:34,903.903 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:59:34,906.906 INFO    ] Waiting 3.68 seconds before fallback handling...
[2026-10-20 07:59:39,078.078 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 07:59:39,081.081 INFO    ] Checking for system updates...
[2026-10-20 07:59:39,121.121 INFO    ] 200
[2026-10-20 07:59:39,124.124 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:59:39,177.177 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:59:39,180.180 INFO    ] No update needed
[2026-10-20 07:59:39,182.182 INFO    ] Checking for camera pi updates...
[2026-10-20 07:59:39,220.220 INFO    ] 200
[2026-10-20 07:59:39,223.223 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:59:39,264.264 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:59:39,314.314 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:59:39,317.317 INFO    ] No camera update needed
[2026-10-20 07:59:39,320.320 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:59:39,322.322 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:59:39,328.328 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:59:39,334.334 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:59:41,374.374 INFO    ] ================================================
[2026-10-20 07:59:41,389.389 INFO    ] Launching Daemon at Tue Oct 20 07:59:41 IST 2026
[2026-10-20 07:59:41,399.399 INFO    ] ================================================
[2026-10-20 07:59:41,981.981 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:59:41
[2026-10-20 07:59:42,580.580 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:59:42,853.853 INFO    ] Initializing speech engine...
[2026-10-20 07:59:42,864.864 INFO    ] 2026-10-20 07:59:42
[2026-10-20 07:59:43,125.125 INFO    ] 2026-10-20 07:59:43
[2026-10-20 07:59:43,181.181 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:59:43,406.406 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:59:43,412.412 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:59:43,617.617 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:59:43,670.670 INFO    ] time= 20/10/2026 07:59:43
[2026-10-20 07:59:43,677.677 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:59:43,695.695 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:59:43,826.826 INFO    ] No existing commands found in stream
[2026-10-20 07:59:48,846.846 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 07:59:48,848.848 INFO    ] Waiting 0.90 seconds before fallback handling...
[2026-10-20 07:59:50,242.242 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 07:59:50,245.245 INFO    ] Checking for system updates...
[2026-10-20 07:59:50,280.280 INFO    ] 200
[2026-10-20 07:59:50,282.282 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:59:50,334.334 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:59:50,336.336 INFO    ] No update needed
[2026-10-20 07:59:50,338.338 INFO    ] Checking for camera pi updates...
[2026-10-20 07:59:50,375.375 INFO    ] 200
[2026-10-20 07:59:50,377.377 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 07:59:50,418.418 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 07:59:50,464.464 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 07:59:50,467.467 INFO    ] No camera update needed
[2026-10-20 07:59:50,470.470 INFO    ] Script finished. Safe exiting...
[2026-10-20 07:59:50,472.472 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 07:59:50,479.479 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 07:59:50,484.484 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 07:59:52,525.525 INFO    ] ================================================
[2026-10-20 07:59:52,540.540 INFO    ] Launching Daemon at Tue Oct 20 07:59:52 IST 2026
[2026-10-20 07:59:52,551.551 INFO    ] ================================================
[2026-10-20 07:59:53,117.117 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 07:59:53
[2026-10-20 07:59:53,710.710 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 07:59:53,963.963 INFO    ] Initializing speech engine...
[2026-10-20 07:59:53,972.972 INFO    ] 2026-10-20 07:59:53
[2026-10-20 07:59:54,261.261 INFO    ] 2026-10-20 07:59:54
[2026-10-20 07:59:54,295.295 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 07:59:54,522.522 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 07:59:54,576.576 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 07:59:54,742.742 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 07:59:54,795.795 INFO    ] time= 20/10/2026 07:59:54
[2026-10-20 07:59:54,844.844 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 07:59:54,890.890 INFO    ] Checking for existing commands in stream...
[2026-10-20 07:59:55,027.027 INFO    ] No existing commands found in stream
[2026-10-20 08:00:00,047.047 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:00:00,050.050 INFO    ] Waiting 1.98 seconds before fallback handling...
[2026-10-20 08:00:03,570.570 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:00:03,573.573 INFO    ] Checking for system updates...
[2026-10-20 08:00:03,656.656 INFO    ] 200
[2026-10-20 08:00:03,659.659 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:00:04,002.002 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:00:04,005.005 INFO    ] No update needed
[2026-10-20 08:00:04,008.008 INFO    ] Checking for camera pi updates...
[2026-10-20 08:00:04,152.152 INFO    ] 200
[2026-10-20 08:00:04,155.155 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:00:04,338.338 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:00:04,448.448 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:00:04,452.452 INFO    ] No camera update needed
[2026-10-20 08:00:04,455.455 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:00:04,479.479 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:00:04,487.487 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:00:04,507.507 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:00:06,618.618 INFO    ] ================================================
[2026-10-20 08:00:06,633.633 INFO    ] Launching Daemon at Tue Oct 20 08:00:06 IST 2026
[2026-10-20 08:00:06,644.644 INFO    ] ================================================
[2026-10-20 08:00:07,213.213 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:00:07
[2026-10-20 08:00:07,797.797 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:00:08,056.056 INFO    ] Initializing speech engine...
[2026-10-20 08:00:08,061.061 INFO    ] 2026-10-20 08:00:08
[2026-10-20 08:00:08,354.354 INFO    ] 2026-10-20 08:00:08
[2026-10-20 08:00:08,390.390 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:00:08,587.587 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:00:08,601.601 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:00:08,762.762 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:00:08,771.771 INFO    ] time= 20/10/2026 08:00:08
[2026-10-20 08:00:08,777.777 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:00:08,804.804 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:00:08,955.955 INFO    ] No existing commands found in stream
[2026-10-20 08:00:13,980.980 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:00:13,983.983 INFO    ] Waiting 3.88 seconds before fallback handling...
[2026-10-20 08:00:18,387.387 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:00:18,390.390 INFO    ] Checking for system updates...
[2026-10-20 08:00:18,428.428 INFO    ] 200
[2026-10-20 08:00:18,431.431 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:00:18,483.483 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:00:18,485.485 INFO    ] No update needed
[2026-10-20 08:00:18,488.488 INFO    ] Checking for camera pi updates...
[2026-10-20 08:00:18,521.521 INFO    ] 200
[2026-10-20 08:00:18,523.523 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:00:18,566.566 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:00:18,616.616 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:00:18,618.618 INFO    ] No camera update needed
[2026-10-20 08:00:18,621.621 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:00:18,623.623 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:00:18,628.628 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:00:18,634.634 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:00:20,674.674 INFO    ] ================================================
[2026-10-20 08:00:20,689.689 INFO    ] Launching Daemon at Tue Oct 20 08:00:20 IST 2026
[2026-10-20 08:00:20,700.700 INFO    ] ================================================
[2026-10-20 08:00:21,283.283 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:00:21
[2026-10-20 08:00:21,869.869 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:00:22,151.151 INFO    ] Initializing speech engine...
[2026-10-20 08:00:22,172.172 INFO    ] 2026-10-20 08:00:22
[2026-10-20 08:00:22,447.447 INFO    ] 2026-10-20 08:00:22
[2026-10-20 08:00:22,507.507 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:00:22,743.743 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:00:22,750.750 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:00:22,965.965 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:00:23,015.015 INFO    ] time= 20/10/2026 08:00:22
[2026-10-20 08:00:23,034.034 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:00:23,049.049 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:00:23,200.200 INFO    ] No existing commands found in stream
[2026-10-20 08:00:28,232.232 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:00:28,235.235 INFO    ] Waiting 3.31 seconds before fallback handling...
[2026-10-20 08:00:32,140.140 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:00:32,143.143 INFO    ] Checking for system updates...
[2026-10-20 08:00:32,185.185 INFO    ] 200
[2026-10-20 08:00:32,188.188 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:00:32,245.245 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:00:32,247.247 INFO    ] No update needed
[2026-10-20 08:00:32,250.250 INFO    ] Checking for camera pi updates...
[2026-10-20 08:00:32,290.290 INFO    ] 200
[2026-10-20 08:00:32,292.292 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:00:32,336.336 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:00:32,380.380 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:00:32,383.383 INFO    ] No camera update needed
[2026-10-20 08:00:32,385.385 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:00:32,388.388 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:00:32,394.394 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:00:32,400.400 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:00:34,441.441 INFO    ] ================================================
[2026-10-20 08:00:34,459.459 INFO    ] Launching Daemon at Tue Oct 20 08:00:34 IST 2026
[2026-10-20 08:00:34,470.470 INFO    ] ================================================
[2026-10-20 08:00:35,069.069 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:00:35
[2026-10-20 08:00:35,686.686 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:00:35,949.949 INFO    ] Initializing speech engine...
[2026-10-20 08:00:35,956.956 INFO    ] 2026-10-20 08:00:35
[2026-10-20 08:00:36,271.271 INFO    ] 2026-10-20 08:00:36
[2026-10-20 08:00:36,310.310 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:00:36,518.518 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:00:36,534.534 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:00:36,695.695 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:00:36,713.713 INFO    ] time= 20/10/2026 08:00:36
[2026-10-20 08:00:36,722.722 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:00:36,911.911 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:00:37,002.002 INFO    ] No existing commands found in stream
[2026-10-20 08:00:42,014.014 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:00:42,017.017 INFO    ] Waiting 1.10 seconds before fallback handling...
[2026-10-20 08:00:44,534.534 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:00:44,536.536 INFO    ] Checking for system updates...
[2026-10-20 08:00:44,572.572 INFO    ] 200
[2026-10-20 08:00:44,574.574 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:00:44,625.625 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:00:44,628.628 INFO    ] No update needed
[2026-10-20 08:00:44,631.631 INFO    ] Checking for camera pi updates...
[2026-10-20 08:00:44,664.664 INFO    ] 200
[2026-10-20 08:00:44,667.667 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:00:44,707.707 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:00:44,753.753 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:00:44,756.756 INFO    ] No camera update needed
[2026-10-20 08:00:44,758.758 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:00:44,760.760 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:00:44,765.765 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:00:44,771.771 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:00:46,811.811 INFO    ] ================================================
[2026-10-20 08:00:46,826.826 INFO    ] Launching Daemon at Tue Oct 20 08:00:46 IST 2026
[2026-10-20 08:00:46,836.836 INFO    ] ================================================
[2026-10-20 08:00:47,405.405 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:00:47
[2026-10-20 08:00:47,988.988 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:00:48,272.272 INFO    ] Initializing speech engine...
[2026-10-20 08:00:48,283.283 INFO    ] 2026-10-20 08:00:48
[2026-10-20 08:00:48,554.554 INFO    ] 2026-10-20 08:00:48
[2026-10-20 08:00:48,605.605 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:00:48,832.832 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:00:48,837.837 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:00:48,974.974 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:00:49,013.013 INFO    ] time= 20/10/2026 08:00:48
[2026-10-20 08:00:49,062.062 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:00:49,104.104 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:00:49,249.249 INFO    ] No existing commands found in stream
[2026-10-20 08:00:54,264.264 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:00:54,267.267 INFO    ] Waiting 0.29 seconds before fallback handling...
[2026-10-20 08:00:55,068.068 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 08:00:55,071.071 INFO    ] Checking for system updates...
[2026-10-20 08:00:55,108.108 INFO    ] 200
[2026-10-20 08:00:55,111.111 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:00:55,171.171 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:00:55,174.174 INFO    ] No update needed
[2026-10-20 08:00:55,177.177 INFO    ] Checking for camera pi updates...
[2026-10-20 08:00:55,218.218 INFO    ] 200
[2026-10-20 08:00:55,221.221 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:00:55,262.262 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:00:55,409.409 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:00:55,412.412 INFO    ] No camera update needed
[2026-10-20 08:00:55,414.414 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:00:55,417.417 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:00:55,423.423 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:00:55,429.429 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:00:57,472.472 INFO    ] ================================================
[2026-10-20 08:00:57,487.487 INFO    ] Launching Daemon at Tue Oct 20 08:00:57 IST 2026
[2026-10-20 08:00:57,498.498 INFO    ] ================================================
[2026-10-20 08:00:58,078.078 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:00:58
[2026-10-20 08:00:58,681.681 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:00:58,958.958 INFO    ] Initializing speech engine...
[2026-10-20 08:00:58,965.965 INFO    ] 2026-10-20 08:00:58
[2026-10-20 08:00:59,225.225 INFO    ] 2026-10-20 08:00:59
[2026-10-20 08:00:59,281.281 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:00:59,561.561 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:00:59,570.570 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:00:59,762.762 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:00:59,770.770 INFO    ] time= 20/10/2026 08:00:59
[2026-10-20 08:00:59,787.787 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:00:59,799.799 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:00:59,933.933 INFO    ] No existing commands found in stream
[2026-10-20 08:01:04,962.962 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:01:04,971.971 INFO    ] Waiting 2.18 seconds before fallback handling...
[2026-10-20 08:01:07,658.658 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 08:01:07,660.660 INFO    ] Checking for system updates...
[2026-10-20 08:01:07,696.696 INFO    ] 200
[2026-10-20 08:01:07,699.699 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:01:07,754.754 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:01:07,757.757 INFO    ] No update needed
[2026-10-20 08:01:07,760.760 INFO    ] Checking for camera pi updates...
[2026-10-20 08:01:07,795.795 INFO    ] 200
[2026-10-20 08:01:07,798.798 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:01:07,844.844 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:01:07,889.889 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:01:07,891.891 INFO    ] No camera update needed
[2026-10-20 08:01:07,894.894 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:01:07,896.896 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:01:07,902.902 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:01:07,907.907 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:01:09,950.950 INFO    ] ================================================
[2026-10-20 08:01:09,966.966 INFO    ] Launching Daemon at Tue Oct 20 08:01:09 IST 2026
[2026-10-20 08:01:09,978.978 INFO    ] ================================================
[2026-10-20 08:01:10,560.560 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:01:10
[2026-10-20 08:01:11,156.156 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:01:11,431.431 INFO    ] Initializing speech engine...
[2026-10-20 08:01:11,441.441 INFO    ] 2026-10-20 08:01:11
[2026-10-20 08:01:11,702.702 INFO    ] 2026-10-20 08:01:11
[2026-10-20 08:01:11,756.756 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:01:12,022.022 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:01:12,045.045 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:01:12,242.242 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:01:12,258.258 INFO    ] time= 20/10/2026 08:01:12
[2026-10-20 08:01:12,267.267 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:01:12,293.293 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:01:12,405.405 INFO    ] No existing commands found in stream
[2026-10-20 08:01:17,434.434 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:01:17,436.436 INFO    ] Waiting 0.96 seconds before fallback handling...
[2026-10-20 08:01:18,880.880 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 08:01:18,883.883 INFO    ] Checking for system updates...
[2026-10-20 08:01:18,928.928 INFO    ] 200
[2026-10-20 08:01:18,931.931 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:01:18,992.992 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:01:18,995.995 INFO    ] No update needed
[2026-10-20 08:01:18,998.998 INFO    ] Checking for camera pi updates...
[2026-10-20 08:01:19,033.033 INFO    ] 200
[2026-10-20 08:01:19,035.035 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:01:19,081.081 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:01:19,144.144 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:01:19,147.147 INFO    ] No camera update needed
[2026-10-20 08:01:19,149.149 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:01:19,151.151 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:01:19,157.157 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:01:19,162.162 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:01:21,203.203 INFO    ] ================================================
[2026-10-20 08:01:21,219.219 INFO    ] Launching Daemon at Tue Oct 20 08:01:21 IST 2026
[2026-10-20 08:01:21,230.230 INFO    ] ================================================
[2026-10-20 08:01:21,804.804 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:01:21
[2026-10-20 08:01:22,439.439 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:01:22,754.754 INFO    ] Initializing speech engine...
[2026-10-20 08:01:22,761.761 INFO    ] 2026-10-20 08:01:22
[2026-10-20 08:01:23,070.070 INFO    ] 2026-10-20 08:01:23
[2026-10-20 08:01:23,155.155 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:01:23,366.366 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:01:23,374.374 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:01:23,574.574 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:01:23,584.584 INFO    ] time= 20/10/2026 08:01:23
[2026-10-20 08:01:23,606.606 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:01:23,634.634 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:01:23,759.759 INFO    ] No existing commands found in stream
[2026-10-20 08:01:28,795.795 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:01:28,797.797 INFO    ] Waiting 0.68 seconds before fallback handling...
[2026-10-20 08:01:29,988.988 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:01:29,990.990 INFO    ] Checking for system updates...
[2026-10-20 08:01:30,025.025 INFO    ] 200
[2026-10-20 08:01:30,027.027 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:01:30,080.080 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:01:30,082.082 INFO    ] No update needed
[2026-10-20 08:01:30,085.085 INFO    ] Checking for camera pi updates...
[2026-10-20 08:01:30,118.118 INFO    ] 200
[2026-10-20 08:01:30,120.120 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:01:30,160.160 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:01:30,210.210 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:01:30,212.212 INFO    ] No camera update needed
[2026-10-20 08:01:30,215.215 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:01:30,217.217 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:01:30,222.222 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:01:30,227.227 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:01:32,267.267 INFO    ] ================================================
[2026-10-20 08:01:32,284.284 INFO    ] Launching Daemon at Tue Oct 20 08:01:32 IST 2026
[2026-10-20 08:01:32,295.295 INFO    ] ================================================
[2026-10-20 08:01:32,895.895 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:01:32
[2026-10-20 08:01:33,494.494 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:01:33,766.766 INFO    ] Initializing speech engine...
[2026-10-20 08:01:33,772.772 INFO    ] 2026-10-20 08:01:33
[2026-10-20 08:01:34,032.032 INFO    ] 2026-10-20 08:01:34
[2026-10-20 08:01:34,085.085 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:01:34,367.367 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:01:34,375.375 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:01:34,570.570 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:01:34,576.576 INFO    ] time= 20/10/2026 08:01:34
[2026-10-20 08:01:34,595.595 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:01:34,623.623 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:01:34,744.744 INFO    ] No existing commands found in stream
[2026-10-20 08:01:39,774.774 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:01:39,776.776 INFO    ] Waiting 1.56 seconds before fallback handling...
[2026-10-20 08:01:41,852.852 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 08:01:41,855.855 INFO    ] Checking for system updates...
[2026-10-20 08:01:41,891.891 INFO    ] 200
[2026-10-20 08:01:41,893.893 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:01:41,945.945 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:01:41,948.948 INFO    ] No update needed
[2026-10-20 08:01:41,950.950 INFO    ] Checking for camera pi updates...
[2026-10-20 08:01:41,986.986 INFO    ] 200
[2026-10-20 08:01:41,989.989 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:01:42,029.029 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:01:42,076.076 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:01:42,078.078 INFO    ] No camera update needed
[2026-10-20 08:01:42,081.081 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:01:42,083.083 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:01:42,088.088 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:01:42,093.093 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:01:44,134.134 INFO    ] ================================================
[2026-10-20 08:01:44,149.149 INFO    ] Launching Daemon at Tue Oct 20 08:01:44 IST 2026
[2026-10-20 08:01:44,159.159 INFO    ] ================================================
[2026-10-20 08:01:44,724.724 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:01:44
[2026-10-20 08:01:45,307.307 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:01:45,580.580 INFO    ] Initializing speech engine...
[2026-10-20 08:01:45,586.586 INFO    ] 2026-10-20 08:01:45
[2026-10-20 08:01:45,830.830 INFO    ] 2026-10-20 08:01:45
[2026-10-20 08:01:45,871.871 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:01:46,114.114 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:01:46,123.123 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:01:46,309.309 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:01:46,363.363 INFO    ] time= 20/10/2026 08:01:46
[2026-10-20 08:01:46,385.385 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:01:46,400.400 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:01:46,535.535 INFO    ] No existing commands found in stream
[2026-10-20 08:01:51,562.562 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:01:51,564.564 INFO    ] Waiting 3.02 seconds before fallback handling...
[2026-10-20 08:01:55,113.113 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 08:01:55,116.116 INFO    ] Checking for system updates...
[2026-10-20 08:01:55,152.152 INFO    ] 200
[2026-10-20 08:01:55,155.155 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:01:55,213.213 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:01:55,216.216 INFO    ] No update needed
[2026-10-20 08:01:55,219.219 INFO    ] Checking for camera pi updates...
[2026-10-20 08:01:55,253.253 INFO    ] 200
[2026-10-20 08:01:55,256.256 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:01:55,298.298 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:01:55,344.344 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:01:55,347.347 INFO    ] No camera update needed
[2026-10-20 08:01:55,349.349 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:01:55,352.352 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:01:55,358.358 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:01:55,364.364 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:01:57,404.404 INFO    ] ================================================
[2026-10-20 08:01:57,420.420 INFO    ] Launching Daemon at Tue Oct 20 08:01:57 IST 2026
[2026-10-20 08:01:57,430.430 INFO    ] ================================================
[2026-10-20 08:01:57,999.999 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:01:57
[2026-10-20 08:01:58,586.586 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:01:58,855.855 INFO    ] Initializing speech engine...
[2026-10-20 08:01:58,864.864 INFO    ] 2026-10-20 08:01:58
[2026-10-20 08:01:59,112.112 INFO    ] 2026-10-20 08:01:59
[2026-10-20 08:01:59,152.152 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:01:59,396.396 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:01:59,405.405 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:01:59,544.544 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:01:59,609.609 INFO    ] time= 20/10/2026 08:01:59
[2026-10-20 08:01:59,663.663 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:01:59,673.673 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:01:59,797.797 INFO    ] No existing commands found in stream
[2026-10-20 08:02:04,824.824 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:02:04,826.826 INFO    ] Waiting 1.84 seconds before fallback handling...
[2026-10-20 08:02:07,164.164 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:02:07,166.166 INFO    ] Checking for system updates...
[2026-10-20 08:02:07,203.203 INFO    ] 200
[2026-10-20 08:02:07,205.205 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:02:07,257.257 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:02:07,260.260 INFO    ] No update needed
[2026-10-20 08:02:07,262.262 INFO    ] Checking for camera pi updates...
[2026-10-20 08:02:07,304.304 INFO    ] 200
[2026-10-20 08:02:07,306.306 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:02:07,351.351 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:02:07,394.394 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:02:07,396.396 INFO    ] No camera update needed
[2026-10-20 08:02:07,399.399 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:02:07,402.402 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:02:07,408.408 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:02:07,413.413 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:02:09,453.453 INFO    ] ================================================
[2026-10-20 08:02:09,468.468 INFO    ] Launching Daemon at Tue Oct 20 08:02:09 IST 2026
[2026-10-20 08:02:09,481.481 INFO    ] ================================================
[2026-10-20 08:02:10,050.050 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:02:10
[2026-10-20 08:02:10,638.638 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:02:10,894.894 INFO    ] Initializing speech engine...
[2026-10-20 08:02:10,902.902 INFO    ] 2026-10-20 08:02:10
[2026-10-20 08:02:11,194.194 INFO    ] 2026-10-20 08:02:11
[2026-10-20 08:02:11,230.230 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:02:11,453.453 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:02:11,514.514 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:02:11,675.675 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:02:11,713.713 INFO    ] time= 20/10/2026 08:02:11
[2026-10-20 08:02:11,762.762 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:02:11,806.806 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:02:11,956.956 INFO    ] No existing commands found in stream
[2026-10-20 08:02:16,984.984 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:02:16,987.987 INFO    ] Waiting 0.35 seconds before fallback handling...
[2026-10-20 08:02:17,858.858 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:02:17,861.861 INFO    ] Checking for system updates...
[2026-10-20 08:02:17,899.899 INFO    ] 200
[2026-10-20 08:02:17,902.902 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:02:17,961.961 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:02:17,964.964 INFO    ] No update needed
[2026-10-20 08:02:17,967.967 INFO    ] Checking for camera pi updates...
[2026-10-20 08:02:18,001.001 INFO    ] 200
[2026-10-20 08:02:18,004.004 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:02:18,044.044 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:02:18,095.095 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:02:18,098.098 INFO    ] No camera update needed
[2026-10-20 08:02:18,101.101 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:02:18,104.104 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:02:18,110.110 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:02:18,115.115 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:02:20,156.156 INFO    ] ================================================
[2026-10-20 08:02:20,171.171 INFO    ] Launching Daemon at Tue Oct 20 08:02:20 IST 2026
[2026-10-20 08:02:20,181.181 INFO    ] ================================================
[2026-10-20 08:02:20,750.750 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:02:20
[2026-10-20 08:02:21,336.336 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:02:21,609.609 INFO    ] Initializing speech engine...
[2026-10-20 08:02:21,636.636 INFO    ] 2026-10-20 08:02:21
[2026-10-20 08:02:21,921.921 INFO    ] 2026-10-20 08:02:21
[2026-10-20 08:02:21,965.965 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:02:22,247.247 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:02:22,256.256 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:02:22,392.392 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:02:22,395.395 INFO    ] time= 20/10/2026 08:02:22
[2026-10-20 08:02:22,398.398 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:02:22,463.463 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:02:22,619.619 INFO    ] No existing commands found in stream
[2026-10-20 08:02:27,635.635 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:02:27,639.639 INFO    ] Waiting 3.39 seconds before fallback handling...
[2026-10-20 08:02:31,579.579 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:02:31,582.582 INFO    ] Checking for system updates...
[2026-10-20 08:02:31,619.619 INFO    ] 200
[2026-10-20 08:02:31,622.622 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:02:31,677.677 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:02:31,681.681 INFO    ] No update needed
[2026-10-20 08:02:31,684.684 INFO    ] Checking for camera pi updates...
[2026-10-20 08:02:31,725.725 INFO    ] 200
[2026-10-20 08:02:31,728.728 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:02:31,783.783 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:02:31,815.815 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:02:31,818.818 INFO    ] No camera update needed
[2026-10-20 08:02:31,821.821 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:02:31,824.824 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:02:31,830.830 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:02:31,836.836 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:02:33,879.879 INFO    ] ================================================
[2026-10-20 08:02:33,894.894 INFO    ] Launching Daemon at Tue Oct 20 08:02:33 IST 2026
[2026-10-20 08:02:33,905.905 INFO    ] ================================================
[2026-10-20 08:02:34,505.505 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:02:34
[2026-10-20 08:02:35,096.096 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:02:35,354.354 INFO    ] Initializing speech engine...
[2026-10-20 08:02:35,360.360 INFO    ] 2026-10-20 08:02:35
[2026-10-20 08:02:35,650.650 INFO    ] 2026-10-20 08:02:35
[2026-10-20 08:02:35,688.688 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:02:35,906.906 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:02:35,914.914 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:02:36,055.055 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:02:36,064.064 INFO    ] time= 20/10/2026 08:02:36
[2026-10-20 08:02:36,071.071 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:02:36,119.119 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:02:36,239.239 INFO    ] No existing commands found in stream
[2026-10-20 08:02:41,264.264 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:02:41,267.267 INFO    ] Waiting 1.69 seconds before fallback handling...
[2026-10-20 08:02:43,470.470 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:02:43,472.472 INFO    ] Checking for system updates...
[2026-10-20 08:02:43,507.507 INFO    ] 200
[2026-10-20 08:02:43,510.510 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:02:43,564.564 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:02:43,566.566 INFO    ] No update needed
[2026-10-20 08:02:43,569.569 INFO    ] Checking for camera pi updates...
[2026-10-20 08:02:43,602.602 INFO    ] 200
[2026-10-20 08:02:43,604.604 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:02:43,648.648 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:02:43,707.707 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:02:43,710.710 INFO    ] No camera update needed
[2026-10-20 08:02:43,712.712 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:02:43,714.714 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:02:43,720.720 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:02:43,724.724 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:02:45,764.764 INFO    ] ================================================
[2026-10-20 08:02:45,778.778 INFO    ] Launching Daemon at Tue Oct 20 08:02:45 IST 2026
[2026-10-20 08:02:45,789.789 INFO    ] ================================================
[2026-10-20 08:02:46,358.358 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:02:46
[2026-10-20 08:02:46,942.942 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:02:47,219.219 INFO    ] Initializing speech engine...
[2026-10-20 08:02:47,228.228 INFO    ] 2026-10-20 08:02:47
[2026-10-20 08:02:47,489.489 INFO    ] 2026-10-20 08:02:47
[2026-10-20 08:02:47,525.525 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:02:47,740.740 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:02:47,792.792 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:02:47,960.960 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:02:47,982.982 INFO    ] time= 20/10/2026 08:02:47
[2026-10-20 08:02:48,026.026 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:02:48,070.070 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:02:48,235.235 INFO    ] No existing commands found in stream
[2026-10-20 08:02:53,261.261 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:02:53,263.263 INFO    ] Waiting 2.54 seconds before fallback handling...
[2026-10-20 08:02:56,250.250 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 08:02:56,252.252 INFO    ] Checking for system updates...
[2026-10-20 08:02:56,287.287 INFO    ] 200
[2026-10-20 08:02:56,290.290 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:02:56,341.341 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:02:56,343.343 INFO    ] No update needed
[2026-10-20 08:02:56,346.346 INFO    ] Checking for camera pi updates...
[2026-10-20 08:02:56,384.384 INFO    ] 200
[2026-10-20 08:02:56,386.386 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:02:56,426.426 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:02:56,471.471 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:02:56,474.474 INFO    ] No camera update needed
[2026-10-20 08:02:56,476.476 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:02:56,479.479 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:02:56,484.484 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:02:56,489.489 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:02:58,528.528 INFO    ] ================================================
[2026-10-20 08:02:58,544.544 INFO    ] Launching Daemon at Tue Oct 20 08:02:58 IST 2026
[2026-10-20 08:02:58,554.554 INFO    ] ================================================
[2026-10-20 08:02:59,119.119 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:02:59
[2026-10-20 08:02:59,704.704 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:02:59,970.970 INFO    ] Initializing speech engine...
[2026-10-20 08:02:59,993.993 INFO    ] 2026-10-20 08:02:59
[2026-10-20 08:03:00,251.251 INFO    ] 2026-10-20 08:03:00
[2026-10-20 08:03:00,286.286 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:03:00,498.498 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:03:00,551.551 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:03:00,724.724 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:03:00,784.784 INFO    ] time= 20/10/2026 08:03:00
[2026-10-20 08:03:00,833.833 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:03:00,861.861 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:03:01,010.010 INFO    ] No existing commands found in stream
[2026-10-20 08:03:06,035.035 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:03:06,038.038 INFO    ] Waiting 0.77 seconds before fallback handling...
[2026-10-20 08:03:07,319.319 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 08:03:07,322.322 INFO    ] Checking for system updates...
[2026-10-20 08:03:07,356.356 INFO    ] 200
[2026-10-20 08:03:07,359.359 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:03:07,411.411 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:03:07,413.413 INFO    ] No update needed
[2026-10-20 08:03:07,416.416 INFO    ] Checking for camera pi updates...
[2026-10-20 08:03:07,449.449 INFO    ] 200
[2026-10-20 08:03:07,452.452 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:03:07,495.495 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:03:07,538.538 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:03:07,541.541 INFO    ] No camera update needed
[2026-10-20 08:03:07,545.545 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:03:07,548.548 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:03:07,553.553 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:03:07,562.562 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:03:09,604.604 INFO    ] ================================================
[2026-10-20 08:03:09,620.620 INFO    ] Launching Daemon at Tue Oct 20 08:03:09 IST 2026
[2026-10-20 08:03:09,631.631 INFO    ] ================================================
[2026-10-20 08:03:10,195.195 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:03:10
[2026-10-20 08:03:10,779.779 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:03:11,053.053 INFO    ] Initializing speech engine...
[2026-10-20 08:03:11,062.062 INFO    ] 2026-10-20 08:03:11
[2026-10-20 08:03:11,311.311 INFO    ] 2026-10-20 08:03:11
[2026-10-20 08:03:11,346.346 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:03:11,546.546 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:03:11,605.605 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:03:11,804.804 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:03:11,854.854 INFO    ] time= 20/10/2026 08:03:11
[2026-10-20 08:03:11,879.879 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:03:11,895.895 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:03:12,039.039 INFO    ] No existing commands found in stream
[2026-10-20 08:03:17,065.065 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:03:17,067.067 INFO    ] Waiting 3.81 seconds before fallback handling...
[2026-10-20 08:03:21,402.402 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:03:21,405.405 INFO    ] Checking for system updates...
[2026-10-20 08:03:21,441.441 INFO    ] 200
[2026-10-20 08:03:21,443.443 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:03:21,494.494 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:03:21,496.496 INFO    ] No update needed
[2026-10-20 08:03:21,499.499 INFO    ] Checking for camera pi updates...
[2026-10-20 08:03:21,532.532 INFO    ] 200
[2026-10-20 08:03:21,534.534 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:03:21,573.573 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:03:21,618.618 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:03:21,620.620 INFO    ] No camera update needed
[2026-10-20 08:03:21,623.623 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:03:21,625.625 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:03:21,630.630 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:03:21,636.636 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:03:23,678.678 INFO    ] ================================================
[2026-10-20 08:03:23,693.693 INFO    ] Launching Daemon at Tue Oct 20 08:03:23 IST 2026
[2026-10-20 08:03:23,703.703 INFO    ] ================================================
[2026-10-20 08:03:24,269.269 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:03:24
[2026-10-20 08:03:24,859.859 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:03:25,115.115 INFO    ] Initializing speech engine...
[2026-10-20 08:03:25,121.121 INFO    ] 2026-10-20 08:03:25
[2026-10-20 08:03:25,416.416 INFO    ] 2026-10-20 08:03:25
[2026-10-20 08:03:25,453.453 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:03:25,675.675 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:03:25,730.730 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:03:25,898.898 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:03:25,917.917 INFO    ] time= 20/10/2026 08:03:25
[2026-10-20 08:03:25,971.971 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:03:26,020.020 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:03:26,169.169 INFO    ] No existing commands found in stream
[2026-10-20 08:03:31,185.185 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:03:31,188.188 INFO    ] Waiting 2.74 seconds before fallback handling...
[2026-10-20 08:03:34,377.377 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 08:03:34,380.380 INFO    ] Checking for system updates...
[2026-10-20 08:03:34,415.415 INFO    ] 200
[2026-10-20 08:03:34,417.417 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:03:34,473.473 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:03:34,475.475 INFO    ] No update needed
[2026-10-20 08:03:34,478.478 INFO    ] Checking for camera pi updates...
[2026-10-20 08:03:34,511.511 INFO    ] 200
[2026-10-20 08:03:34,513.513 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:03:34,554.554 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:03:34,602.602 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:03:34,605.605 INFO    ] No camera update needed
[2026-10-20 08:03:34,607.607 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:03:34,610.610 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:03:34,616.616 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:03:34,621.621 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:03:36,661.661 INFO    ] ================================================
[2026-10-20 08:03:36,676.676 INFO    ] Launching Daemon at Tue Oct 20 08:03:36 IST 2026
[2026-10-20 08:03:36,686.686 INFO    ] ================================================
[2026-10-20 08:03:37,274.274 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:03:37
[2026-10-20 08:03:37,944.944 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:03:38,238.238 INFO    ] Initializing speech engine...
[2026-10-20 08:03:38,245.245 INFO    ] 2026-10-20 08:03:38
[2026-10-20 08:03:38,509.509 INFO    ] 2026-10-20 08:03:38
[2026-10-20 08:03:38,545.545 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:03:38,743.743 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:03:38,756.756 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:03:38,921.921 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:03:38,927.927 INFO    ] time= 20/10/2026 08:03:38
[2026-10-20 08:03:38,933.933 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:03:38,976.976 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:03:39,116.116 INFO    ] No existing commands found in stream
[2026-10-20 08:03:44,146.146 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:03:44,149.149 INFO    ] Waiting 2.09 seconds before fallback handling...
[2026-10-20 08:03:46,711.711 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:03:46,713.713 INFO    ] Checking for system updates...
[2026-10-20 08:03:46,748.748 INFO    ] 200
[2026-10-20 08:03:46,751.751 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:03:46,802.802 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:03:46,805.805 INFO    ] No update needed
[2026-10-20 08:03:46,807.807 INFO    ] Checking for camera pi updates...
[2026-10-20 08:03:46,840.840 INFO    ] 200
[2026-10-20 08:03:46,843.843 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:03:46,883.883 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:03:46,940.940 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:03:46,943.943 INFO    ] No camera update needed
[2026-10-20 08:03:46,945.945 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:03:46,947.947 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:03:46,953.953 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:03:46,957.957 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:03:49,999.999 INFO    ] ================================================
[2026-10-20 08:03:49,014.014 INFO    ] Launching Daemon at Tue Oct 20 08:03:49 IST 2026
[2026-10-20 08:03:49,024.024 INFO    ] ================================================
[2026-10-20 08:03:49,675.675 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:03:49
[2026-10-20 08:03:50,347.347 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:03:50,651.651 INFO    ] Initializing speech engine...
[2026-10-20 08:03:50,664.664 INFO    ] 2026-10-20 08:03:50
[2026-10-20 08:03:50,974.974 INFO    ] 2026-10-20 08:03:50
[2026-10-20 08:03:51,062.062 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:03:51,272.272 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:03:51,277.277 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:03:51,473.473 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:03:51,480.480 INFO    ] time= 20/10/2026 08:03:51
[2026-10-20 08:03:51,502.502 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:03:51,528.528 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:03:51,640.640 INFO    ] No existing commands found in stream
[2026-10-20 08:03:56,670.670 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:03:56,674.674 INFO    ] Waiting 3.26 seconds before fallback handling...
[2026-10-20 08:04:00,454.454 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:04:00,457.457 INFO    ] Checking for system updates...
[2026-10-20 08:04:00,492.492 INFO    ] 200
[2026-10-20 08:04:00,495.495 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:04:00,548.548 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:04:00,550.550 INFO    ] No update needed
[2026-10-20 08:04:00,553.553 INFO    ] Checking for camera pi updates...
[2026-10-20 08:04:00,585.585 INFO    ] 200
[2026-10-20 08:04:00,588.588 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:04:00,631.631 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:04:00,681.681 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:04:00,683.683 INFO    ] No camera update needed
[2026-10-20 08:04:00,685.685 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:04:00,688.688 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:04:00,693.693 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:04:00,698.698 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:04:02,754.754 INFO    ] ================================================
[2026-10-20 08:04:02,775.775 INFO    ] Launching Daemon at Tue Oct 20 08:04:02 IST 2026
[2026-10-20 08:04:02,793.793 INFO    ] ================================================
[2026-10-20 08:04:03,440.440 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:04:03
[2026-10-20 08:04:04,048.048 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:04:04,298.298 INFO    ] Initializing speech engine...
[2026-10-20 08:04:04,311.311 INFO    ] 2026-10-20 08:04:04
[2026-10-20 08:04:04,570.570 INFO    ] 2026-10-20 08:04:04
[2026-10-20 08:04:04,604.604 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:04:04,810.810 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:04:04,868.868 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:04:05,012.012 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:04:05,071.071 INFO    ] time= 20/10/2026 08:04:05
[2026-10-20 08:04:05,125.125 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:04:05,139.139 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:04:05,285.285 INFO    ] No existing commands found in stream
[2026-10-20 08:04:10,313.313 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:04:10,320.320 INFO    ] Waiting 0.79 seconds before fallback handling...
[2026-10-20 08:04:13,161.161 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:04:13,164.164 INFO    ] Checking for system updates...
[2026-10-20 08:04:13,199.199 INFO    ] 200
[2026-10-20 08:04:13,202.202 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:04:13,254.254 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:04:13,256.256 INFO    ] No update needed
[2026-10-20 08:04:13,259.259 INFO    ] Checking for camera pi updates...
[2026-10-20 08:04:13,292.292 INFO    ] 200
[2026-10-20 08:04:13,295.295 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:04:13,339.339 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:04:13,388.388 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:04:13,391.391 INFO    ] No camera update needed
[2026-10-20 08:04:13,393.393 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:04:13,395.395 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:04:13,401.401 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:04:13,406.406 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:04:15,447.447 INFO    ] ================================================
[2026-10-20 08:04:15,462.462 INFO    ] Launching Daemon at Tue Oct 20 08:04:15 IST 2026
[2026-10-20 08:04:15,473.473 INFO    ] ================================================
[2026-10-20 08:04:16,051.051 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:04:16
[2026-10-20 08:04:16,637.637 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:04:16,920.920 INFO    ] Initializing speech engine...
[2026-10-20 08:04:16,930.930 INFO    ] 2026-10-20 08:04:16
[2026-10-20 08:04:17,197.197 INFO    ] 2026-10-20 08:04:17
[2026-10-20 08:04:17,233.233 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:04:17,442.442 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:04:17,463.463 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:04:17,616.616 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:04:17,622.622 INFO    ] time= 20/10/2026 08:04:17
[2026-10-20 08:04:17,682.682 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:04:17,697.697 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:04:17,812.812 INFO    ] No existing commands found in stream
[2026-10-20 08:04:22,843.843 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:04:22,846.846 INFO    ] Waiting 1.40 seconds before fallback handling...
[2026-10-20 08:04:24,781.781 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 08:04:24,784.784 INFO    ] Checking for system updates...
[2026-10-20 08:04:24,820.820 INFO    ] 200
[2026-10-20 08:04:24,823.823 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:04:24,875.875 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:04:24,878.878 INFO    ] No update needed
[2026-10-20 08:04:24,881.881 INFO    ] Checking for camera pi updates...
[2026-10-20 08:04:24,916.916 INFO    ] 200
[2026-10-20 08:04:24,919.919 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:04:24,964.964 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:04:25,013.013 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:04:25,015.015 INFO    ] No camera update needed
[2026-10-20 08:04:25,018.018 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:04:25,020.020 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:04:25,026.026 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:04:25,031.031 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:04:27,071.071 INFO    ] ================================================
[2026-10-20 08:04:27,085.085 INFO    ] Launching Daemon at Tue Oct 20 08:04:27 IST 2026
[2026-10-20 08:04:27,096.096 INFO    ] ================================================
[2026-10-20 08:04:27,685.685 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:04:27
[2026-10-20 08:04:28,293.293 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:04:28,549.549 INFO    ] Initializing speech engine...
[2026-10-20 08:04:28,555.555 INFO    ] 2026-10-20 08:04:28
[2026-10-20 08:04:28,856.856 INFO    ] 2026-10-20 08:04:28
[2026-10-20 08:04:28,894.894 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:04:29,092.092 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:04:29,108.108 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:04:29,271.271 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:04:29,276.276 INFO    ] time= 20/10/2026 08:04:29
[2026-10-20 08:04:29,283.283 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:04:29,331.331 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:04:29,465.465 INFO    ] No existing commands found in stream
[2026-10-20 08:04:34,490.490 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:04:34,493.493 INFO    ] Waiting 0.30 seconds before fallback handling...
[2026-10-20 08:04:35,337.337 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 08:04:35,339.339 INFO    ] Checking for system updates...
[2026-10-20 08:04:35,379.379 INFO    ] 200
[2026-10-20 08:04:35,382.382 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:04:35,434.434 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:04:35,436.436 INFO    ] No update needed
[2026-10-20 08:04:35,439.439 INFO    ] Checking for camera pi updates...
[2026-10-20 08:04:35,472.472 INFO    ] 200
[2026-10-20 08:04:35,474.474 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:04:35,515.515 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:04:35,559.559 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:04:35,562.562 INFO    ] No camera update needed
[2026-10-20 08:04:35,564.564 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:04:35,566.566 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:04:35,572.572 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:04:35,576.576 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:04:37,616.616 INFO    ] ================================================
[2026-10-20 08:04:37,631.631 INFO    ] Launching Daemon at Tue Oct 20 08:04:37 IST 2026
[2026-10-20 08:04:37,642.642 INFO    ] ================================================
[2026-10-20 08:04:38,223.223 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:04:38
[2026-10-20 08:04:38,817.817 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:04:39,086.086 INFO    ] Initializing speech engine...
[2026-10-20 08:04:39,095.095 INFO    ] 2026-10-20 08:04:39
[2026-10-20 08:04:39,347.347 INFO    ] 2026-10-20 08:04:39
[2026-10-20 08:04:39,382.382 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:04:39,627.627 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:04:39,636.636 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:04:39,864.864 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:04:39,894.894 INFO    ] time= 20/10/2026 08:04:39
[2026-10-20 08:04:39,900.900 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:04:39,921.921 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:04:40,049.049 INFO    ] No existing commands found in stream
[2026-10-20 08:04:45,068.068 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:04:45,071.071 INFO    ] Waiting 2.09 seconds before fallback handling...
[2026-10-20 08:04:47,649.649 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 08:04:47,652.652 INFO    ] Checking for system updates...
[2026-10-20 08:04:47,687.687 INFO    ] 200
[2026-10-20 08:04:47,690.690 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:04:47,741.741 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:04:47,743.743 INFO    ] No update needed
[2026-10-20 08:04:47,746.746 INFO    ] Checking for camera pi updates...
[2026-10-20 08:04:47,782.782 INFO    ] 200
[2026-10-20 08:04:47,785.785 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:04:47,824.824 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:04:47,875.875 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:04:47,877.877 INFO    ] No camera update needed
[2026-10-20 08:04:47,880.880 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:04:47,882.882 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:04:47,887.887 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:04:47,892.892 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:04:49,933.933 INFO    ] ================================================
[2026-10-20 08:04:49,948.948 INFO    ] Launching Daemon at Tue Oct 20 08:04:49 IST 2026
[2026-10-20 08:04:49,959.959 INFO    ] ================================================
[2026-10-20 08:04:50,553.553 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:04:50
[2026-10-20 08:04:51,178.178 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:04:51,442.442 INFO    ] Initializing speech engine...
[2026-10-20 08:04:51,449.449 INFO    ] 2026-10-20 08:04:51
[2026-10-20 08:04:51,763.763 INFO    ] 2026-10-20 08:04:51
[2026-10-20 08:04:51,795.795 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:04:51,978.978 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:04:51,998.998 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:04:52,155.155 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:04:52,163.163 INFO    ] time= 20/10/2026 08:04:52
[2026-10-20 08:04:52,183.183 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:04:52,230.230 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:04:52,357.357 INFO    ] No existing commands found in stream
[2026-10-20 08:04:57,368.368 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:04:57,371.371 INFO    ] Waiting 0.92 seconds before fallback handling...
[2026-10-20 08:04:58,822.822 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:04:58,825.825 INFO    ] Checking for system updates...
[2026-10-20 08:04:58,860.860 INFO    ] 200
[2026-10-20 08:04:58,863.863 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:04:58,915.915 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:04:58,918.918 INFO    ] No update needed
[2026-10-20 08:04:58,920.920 INFO    ] Checking for camera pi updates...
[2026-10-20 08:04:58,953.953 INFO    ] 200
[2026-10-20 08:04:58,955.955 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:04:58,997.997 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:04:59,046.046 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:04:59,049.049 INFO    ] No camera update needed
[2026-10-20 08:04:59,051.051 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:04:59,053.053 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:04:59,059.059 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:04:59,063.063 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:05:01,103.103 INFO    ] ================================================
[2026-10-20 08:05:01,118.118 INFO    ] Launching Daemon at Tue Oct 20 08:05:01 IST 2026
[2026-10-20 08:05:01,129.129 INFO    ] ================================================
[2026-10-20 08:05:01,712.712 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:05:01
[2026-10-20 08:05:02,638.638 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:05:02,935.935 INFO    ] Initializing speech engine...
[2026-10-20 08:05:02,946.946 INFO    ] 2026-10-20 08:05:02
[2026-10-20 08:05:03,275.275 INFO    ] 2026-10-20 08:05:03
[2026-10-20 08:05:03,316.316 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:05:03,536.536 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:05:03,546.546 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:05:03,716.716 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:05:03,721.721 INFO    ] time= 20/10/2026 08:05:03
[2026-10-20 08:05:03,727.727 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:05:03,772.772 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:05:03,917.917 INFO    ] No existing commands found in stream
[2026-10-20 08:05:08,942.942 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:05:08,944.944 INFO    ] Waiting 1.46 seconds before fallback handling...
[2026-10-20 08:05:10,917.917 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 08:05:10,920.920 INFO    ] Checking for system updates...
[2026-10-20 08:05:10,955.955 INFO    ] 200
[2026-10-20 08:05:10,958.958 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:05:11,011.011 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:05:11,013.013 INFO    ] No update needed
[2026-10-20 08:05:11,015.015 INFO    ] Checking for camera pi updates...
[2026-10-20 08:05:11,053.053 INFO    ] 200
[2026-10-20 08:05:11,055.055 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:05:11,100.100 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:05:11,248.248 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:05:11,251.251 INFO    ] No camera update needed
[2026-10-20 08:05:11,253.253 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:05:11,256.256 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:05:11,261.261 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:05:11,266.266 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:05:13,309.309 INFO    ] ================================================
[2026-10-20 08:05:13,324.324 INFO    ] Launching Daemon at Tue Oct 20 08:05:13 IST 2026
[2026-10-20 08:05:13,334.334 INFO    ] ================================================
[2026-10-20 08:05:13,924.924 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:05:13
[2026-10-20 08:05:14,526.526 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:05:14,783.783 INFO    ] Initializing speech engine...
[2026-10-20 08:05:14,792.792 INFO    ] 2026-10-20 08:05:14
[2026-10-20 08:05:15,086.086 INFO    ] 2026-10-20 08:05:15
[2026-10-20 08:05:15,120.120 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:05:15,323.323 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:05:15,336.336 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:05:15,497.497 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:05:15,509.509 INFO    ] time= 20/10/2026 08:05:15
[2026-10-20 08:05:15,514.514 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:05:15,519.519 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:05:15,596.596 INFO    ] No existing commands found in stream
[2026-10-20 08:05:20,626.626 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:05:20,629.629 INFO    ] Waiting 0.57 seconds before fallback handling...
[2026-10-20 08:05:21,730.730 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:05:21,733.733 INFO    ] Checking for system updates...
[2026-10-20 08:05:21,769.769 INFO    ] 200
[2026-10-20 08:05:21,771.771 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:05:21,823.823 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:05:21,825.825 INFO    ] No update needed
[2026-10-20 08:05:21,828.828 INFO    ] Checking for camera pi updates...
[2026-10-20 08:05:21,861.861 INFO    ] 200
[2026-10-20 08:05:21,863.863 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:05:21,904.904 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:05:21,955.955 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:05:21,957.957 INFO    ] No camera update needed
[2026-10-20 08:05:21,959.959 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:05:21,962.962 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:05:21,967.967 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:05:21,972.972 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:05:24,011.011 INFO    ] ================================================
[2026-10-20 08:05:24,026.026 INFO    ] Launching Daemon at Tue Oct 20 08:05:24 IST 2026
[2026-10-20 08:05:24,037.037 INFO    ] ================================================
[2026-10-20 08:05:24,694.694 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:05:24
[2026-10-20 08:05:25,371.371 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:05:25,681.681 INFO    ] Initializing speech engine...
[2026-10-20 08:05:25,693.693 INFO    ] 2026-10-20 08:05:25
[2026-10-20 08:05:26,002.002 INFO    ] 2026-10-20 08:05:25
[2026-10-20 08:05:26,089.089 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:05:26,303.303 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:05:26,311.311 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:05:26,505.505 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:05:26,525.525 INFO    ] time= 20/10/2026 08:05:26
[2026-10-20 08:05:26,557.557 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:05:26,568.568 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:05:26,696.696 INFO    ] No existing commands found in stream
[2026-10-20 08:05:31,727.727 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:05:31,730.730 INFO    ] Waiting 1.43 seconds before fallback handling...
[2026-10-20 08:05:33,671.671 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 08:05:33,674.674 INFO    ] Checking for system updates...
[2026-10-20 08:05:33,711.711 INFO    ] 200
[2026-10-20 08:05:33,714.714 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:05:33,775.775 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:05:33,778.778 INFO    ] No update needed
[2026-10-20 08:05:33,782.782 INFO    ] Checking for camera pi updates...
[2026-10-20 08:05:33,816.816 INFO    ] 200
[2026-10-20 08:05:33,819.819 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:05:33,867.867 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:05:33,927.927 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:05:33,930.930 INFO    ] No camera update needed
[2026-10-20 08:05:33,933.933 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:05:33,935.935 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:05:33,942.942 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:05:33,948.948 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:05:35,992.992 INFO    ] ================================================
[2026-10-20 08:05:36,007.007 INFO    ] Launching Daemon at Tue Oct 20 08:05:36 IST 2026
[2026-10-20 08:05:36,017.017 INFO    ] ================================================
[2026-10-20 08:05:36,596.596 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:05:36
[2026-10-20 08:05:37,180.180 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:05:37,436.436 INFO    ] Initializing speech engine...
[2026-10-20 08:05:37,442.442 INFO    ] 2026-10-20 08:05:37
[2026-10-20 08:05:37,743.743 INFO    ] 2026-10-20 08:05:37
[2026-10-20 08:05:37,778.778 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:05:37,981.981 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:05:37,996.996 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:05:38,159.159 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:05:38,170.170 INFO    ] time= 20/10/2026 08:05:38
[2026-10-20 08:05:38,175.175 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:05:38,181.181 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:05:38,258.258 INFO    ] No existing commands found in stream
[2026-10-20 08:05:43,278.278 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:05:43,281.281 INFO    ] Waiting 1.93 seconds before fallback handling...
[2026-10-20 08:05:45,715.715 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:05:45,717.717 INFO    ] Checking for system updates...
[2026-10-20 08:05:45,753.753 INFO    ] 200
[2026-10-20 08:05:45,755.755 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:05:45,808.808 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:05:45,811.811 INFO    ] No update needed
[2026-10-20 08:05:45,813.813 INFO    ] Checking for camera pi updates...
[2026-10-20 08:05:45,851.851 INFO    ] 200
[2026-10-20 08:05:45,853.853 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:05:45,898.898 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:05:45,957.957 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:05:45,960.960 INFO    ] No camera update needed
[2026-10-20 08:05:45,962.962 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:05:45,964.964 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:05:45,970.970 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:05:45,975.975 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:05:48,014.014 INFO    ] ================================================
[2026-10-20 08:05:48,029.029 INFO    ] Launching Daemon at Tue Oct 20 08:05:48 IST 2026
[2026-10-20 08:05:48,040.040 INFO    ] ================================================
[2026-10-20 08:05:48,713.713 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:05:48
[2026-10-20 08:05:49,409.409 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:05:49,703.703 INFO    ] Initializing speech engine...
[2026-10-20 08:05:49,711.711 INFO    ] 2026-10-20 08:05:49
[2026-10-20 08:05:49,979.979 INFO    ] 2026-10-20 08:05:49
[2026-10-20 08:05:50,021.021 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:05:50,245.245 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:05:50,251.251 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:05:50,460.460 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:05:50,507.507 INFO    ] time= 20/10/2026 08:05:50
[2026-10-20 08:05:50,513.513 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:05:50,534.534 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:05:50,686.686 INFO    ] No existing commands found in stream
[2026-10-20 08:05:55,716.716 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:05:55,719.719 INFO    ] Waiting 2.40 seconds before fallback handling...
[2026-10-20 08:05:58,660.660 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 08:05:58,663.663 INFO    ] Checking for system updates...
[2026-10-20 08:05:58,705.705 INFO    ] 200
[2026-10-20 08:05:58,708.708 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:05:58,770.770 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:05:58,772.772 INFO    ] No update needed
[2026-10-20 08:05:58,775.775 INFO    ] Checking for camera pi updates...
[2026-10-20 08:05:58,809.809 INFO    ] 200
[2026-10-20 08:05:58,811.811 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:05:58,852.852 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:05:58,903.903 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:05:58,905.905 INFO    ] No camera update needed
[2026-10-20 08:05:58,907.907 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:05:58,910.910 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:05:58,915.915 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:05:58,920.920 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:06:00,960.960 INFO    ] ================================================
[2026-10-20 08:06:00,976.976 INFO    ] Launching Daemon at Tue Oct 20 08:06:00 IST 2026
[2026-10-20 08:06:00,987.987 INFO    ] ================================================
[2026-10-20 08:06:01,554.554 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:06:01
[2026-10-20 08:06:02,260.260 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:06:02,662.662 INFO    ] Initializing speech engine...
[2026-10-20 08:06:02,669.669 INFO    ] 2026-10-20 08:06:02
[2026-10-20 08:06:03,044.044 INFO    ] 2026-10-20 08:06:03
[2026-10-20 08:06:03,098.098 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:06:03,349.349 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:06:03,389.389 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:06:03,589.589 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:06:03,646.646 INFO    ] time= 20/10/2026 08:06:03
[2026-10-20 08:06:03,676.676 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:06:03,709.709 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:06:03,869.869 INFO    ] No existing commands found in stream
[2026-10-20 08:06:08,899.899 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:06:08,902.902 INFO    ] Waiting 1.66 seconds before fallback handling...
[2026-10-20 08:06:11,068.068 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 08:06:11,071.071 INFO    ] Checking for system updates...
[2026-10-20 08:06:11,106.106 INFO    ] 200
[2026-10-20 08:06:11,108.108 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:06:11,160.160 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:06:11,162.162 INFO    ] No update needed
[2026-10-20 08:06:11,165.165 INFO    ] Checking for camera pi updates...
[2026-10-20 08:06:11,199.199 INFO    ] 200
[2026-10-20 08:06:11,202.202 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:06:11,247.247 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:06:11,298.298 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:06:11,300.300 INFO    ] No camera update needed
[2026-10-20 08:06:11,303.303 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:06:11,306.306 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:06:11,312.312 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:06:11,317.317 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:06:13,358.358 INFO    ] ================================================
[2026-10-20 08:06:13,374.374 INFO    ] Launching Daemon at Tue Oct 20 08:06:13 IST 2026
[2026-10-20 08:06:13,384.384 INFO    ] ================================================
[2026-10-20 08:06:14,027.027 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:06:14
[2026-10-20 08:06:14,689.689 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:06:14,990.990 INFO    ] Initializing speech engine...
[2026-10-20 08:06:15,003.003 INFO    ] 2026-10-20 08:06:14
[2026-10-20 08:06:15,282.282 INFO    ] 2026-10-20 08:06:15
[2026-10-20 08:06:15,326.326 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:06:15,550.550 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:06:15,557.557 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:06:15,767.767 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:06:15,814.814 INFO    ] time= 20/10/2026 08:06:15
[2026-10-20 08:06:15,821.821 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:06:15,840.840 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:06:15,993.993 INFO    ] No existing commands found in stream
[2026-10-20 08:06:21,030.030 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:06:21,033.033 INFO    ] Waiting 0.78 seconds before fallback handling...
[2026-10-20 08:06:22,335.335 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:06:22,338.338 INFO    ] Checking for system updates...
[2026-10-20 08:06:22,375.375 INFO    ] 200
[2026-10-20 08:06:22,378.378 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:06:22,436.436 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:06:22,438.438 INFO    ] No update needed
[2026-10-20 08:06:22,441.441 INFO    ] Checking for camera pi updates...
[2026-10-20 08:06:22,478.478 INFO    ] 200
[2026-10-20 08:06:22,480.480 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:06:22,525.525 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:06:22,573.573 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:06:22,575.575 INFO    ] No camera update needed
[2026-10-20 08:06:22,578.578 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:06:22,581.581 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:06:22,587.587 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:06:22,592.592 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:06:24,633.633 INFO    ] ================================================
[2026-10-20 08:06:24,649.649 INFO    ] Launching Daemon at Tue Oct 20 08:06:24 IST 2026
[2026-10-20 08:06:24,660.660 INFO    ] ================================================
[2026-10-20 08:06:25,294.294 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:06:25
[2026-10-20 08:06:25,953.953 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:06:26,251.251 INFO    ] Initializing speech engine...
[2026-10-20 08:06:26,259.259 INFO    ] 2026-10-20 08:06:26
[2026-10-20 08:06:26,544.544 INFO    ] 2026-10-20 08:06:26
[2026-10-20 08:06:26,589.589 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:06:26,816.816 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:06:26,837.837 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:06:27,066.066 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:06:27,083.083 INFO    ] time= 20/10/2026 08:06:27
[2026-10-20 08:06:27,104.104 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:06:27,130.130 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:06:27,251.251 INFO    ] No existing commands found in stream
[2026-10-20 08:06:32,283.283 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:06:32,286.286 INFO    ] Waiting 2.47 seconds before fallback handling...
[2026-10-20 08:06:35,242.242 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:06:35,245.245 INFO    ] Checking for system updates...
[2026-10-20 08:06:35,284.284 INFO    ] 200
[2026-10-20 08:06:35,287.287 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:06:35,347.347 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:06:35,350.350 INFO    ] No update needed
[2026-10-20 08:06:35,353.353 INFO    ] Checking for camera pi updates...
[2026-10-20 08:06:35,389.389 INFO    ] 200
[2026-10-20 08:06:35,392.392 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:06:35,432.432 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:06:35,477.477 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:06:35,480.480 INFO    ] No camera update needed
[2026-10-20 08:06:35,483.483 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:06:35,485.485 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:06:35,491.491 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:06:35,497.497 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:06:37,537.537 INFO    ] ================================================
[2026-10-20 08:06:37,553.553 INFO    ] Launching Daemon at Tue Oct 20 08:06:37 IST 2026
[2026-10-20 08:06:37,564.564 INFO    ] ================================================
[2026-10-20 08:06:38,131.131 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:06:38
[2026-10-20 08:06:38,715.715 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:06:38,990.990 INFO    ] Initializing speech engine...
[2026-10-20 08:06:38,996.996 INFO    ] 2026-10-20 08:06:38
[2026-10-20 08:06:39,244.244 INFO    ] 2026-10-20 08:06:39
[2026-10-20 08:06:39,280.280 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:06:39,481.481 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:06:39,540.540 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:06:39,683.683 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:06:39,713.713 INFO    ] time= 20/10/2026 08:06:39
[2026-10-20 08:06:39,715.715 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:06:39,718.718 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:06:39,821.821 INFO    ] No existing commands found in stream
[2026-10-20 08:06:44,834.834 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:06:44,837.837 INFO    ] Waiting 0.02 seconds before fallback handling...
[2026-10-20 08:06:45,330.330 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:06:45,333.333 INFO    ] Checking for system updates...
[2026-10-20 08:06:45,370.370 INFO    ] 200
[2026-10-20 08:06:45,373.373 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:06:45,439.439 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:06:45,442.442 INFO    ] No update needed
[2026-10-20 08:06:45,445.445 INFO    ] Checking for camera pi updates...
[2026-10-20 08:06:45,488.488 INFO    ] 200
[2026-10-20 08:06:45,491.491 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:06:45,552.552 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:06:45,598.598 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:06:45,601.601 INFO    ] No camera update needed
[2026-10-20 08:06:45,604.604 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:06:45,606.606 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:06:45,613.613 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:06:45,618.618 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:06:47,658.658 INFO    ] ================================================
[2026-10-20 08:06:47,673.673 INFO    ] Launching Daemon at Tue Oct 20 08:06:47 IST 2026
[2026-10-20 08:06:47,684.684 INFO    ] ================================================
[2026-10-20 08:06:48,321.321 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:06:48
[2026-10-20 08:06:48,980.980 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:06:49,277.277 INFO    ] Initializing speech engine...
[2026-10-20 08:06:49,290.290 INFO    ] 2026-10-20 08:06:49
[2026-10-20 08:06:49,555.555 INFO    ] 2026-10-20 08:06:49
[2026-10-20 08:06:49,612.612 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:06:49,842.842 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:06:49,848.848 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:06:50,067.067 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:06:50,110.110 INFO    ] time= 20/10/2026 08:06:50
[2026-10-20 08:06:50,117.117 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:06:50,135.135 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:06:50,271.271 INFO    ] No existing commands found in stream
[2026-10-20 08:06:55,300.300 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:06:55,303.303 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-10-20 08:06:59,302.302 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 08:06:59,305.305 INFO    ] Checking for system updates...
[2026-10-20 08:06:59,345.345 INFO    ] 200
[2026-10-20 08:06:59,347.347 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:06:59,406.406 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:06:59,409.409 INFO    ] No update needed
[2026-10-20 08:06:59,411.411 INFO    ] Checking for camera pi updates...
[2026-10-20 08:06:59,445.445 INFO    ] 200
[2026-10-20 08:06:59,448.448 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:06:59,488.488 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:06:59,533.533 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:06:59,536.536 INFO    ] No camera update needed
[2026-10-20 08:06:59,538.538 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:06:59,540.540 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:06:59,546.546 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:06:59,551.551 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:07:01,593.593 INFO    ] ================================================
[2026-10-20 08:07:01,615.615 INFO    ] Launching Daemon at Tue Oct 20 08:07:01 IST 2026
[2026-10-20 08:07:01,630.630 INFO    ] ================================================
[2026-10-20 08:07:02,268.268 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:07:02
[2026-10-20 08:07:02,925.925 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:07:03,225.225 INFO    ] Initializing speech engine...
[2026-10-20 08:07:03,231.231 INFO    ] 2026-10-20 08:07:03
[2026-10-20 08:07:03,514.514 INFO    ] 2026-10-20 08:07:03
[2026-10-20 08:07:03,549.549 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:07:03,806.806 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:07:03,809.809 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:07:03,957.957 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:07:03,999.999 INFO    ] time= 20/10/2026 08:07:03
[2026-10-20 08:07:04,049.049 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:07:04,093.093 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:07:04,176.176 INFO    ] No existing commands found in stream
[2026-10-20 08:07:09,213.213 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:07:09,216.216 INFO    ] Waiting 3.99 seconds before fallback handling...
[2026-10-20 08:07:13,710.710 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:07:13,713.713 INFO    ] Checking for system updates...
[2026-10-20 08:07:13,749.749 INFO    ] 200
[2026-10-20 08:07:13,751.751 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:07:13,808.808 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:07:13,810.810 INFO    ] No update needed
[2026-10-20 08:07:13,812.812 INFO    ] Checking for camera pi updates...
[2026-10-20 08:07:13,849.849 INFO    ] 200
[2026-10-20 08:07:13,852.852 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:07:13,892.892 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:07:14,040.040 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:07:14,043.043 INFO    ] No camera update needed
[2026-10-20 08:07:14,045.045 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:07:14,048.048 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:07:14,054.054 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:07:14,060.060 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:07:16,100.100 INFO    ] ================================================
[2026-10-20 08:07:16,115.115 INFO    ] Launching Daemon at Tue Oct 20 08:07:16 IST 2026
[2026-10-20 08:07:16,127.127 INFO    ] ================================================
[2026-10-20 08:07:16,700.700 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:07:16
[2026-10-20 08:07:17,286.286 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:07:17,556.556 INFO    ] Initializing speech engine...
[2026-10-20 08:07:17,565.565 INFO    ] 2026-10-20 08:07:17
[2026-10-20 08:07:17,816.816 INFO    ] 2026-10-20 08:07:17
[2026-10-20 08:07:17,850.850 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:07:18,051.051 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:07:18,102.102 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:07:18,255.255 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:07:18,295.295 INFO    ] time= 20/10/2026 08:07:18
[2026-10-20 08:07:18,349.349 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:07:18,386.386 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:07:18,520.520 INFO    ] No existing commands found in stream
[2026-10-20 08:07:23,544.544 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:07:23,546.546 INFO    ] Waiting 3.18 seconds before fallback handling...
[2026-10-20 08:07:27,254.254 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:07:27,256.256 INFO    ] Checking for system updates...
[2026-10-20 08:07:27,293.293 INFO    ] 200
[2026-10-20 08:07:27,295.295 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:07:27,354.354 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:07:27,357.357 INFO    ] No update needed
[2026-10-20 08:07:27,359.359 INFO    ] Checking for camera pi updates...
[2026-10-20 08:07:27,397.397 INFO    ] 200
[2026-10-20 08:07:27,400.400 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:07:27,445.445 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:07:27,495.495 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:07:27,498.498 INFO    ] No camera update needed
[2026-10-20 08:07:27,501.501 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:07:27,504.504 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:07:27,510.510 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:07:27,515.515 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:07:29,555.555 INFO    ] ================================================
[2026-10-20 08:07:29,570.570 INFO    ] Launching Daemon at Tue Oct 20 08:07:29 IST 2026
[2026-10-20 08:07:29,581.581 INFO    ] ================================================
[2026-10-20 08:07:30,224.224 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:07:30
[2026-10-20 08:07:30,887.887 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:07:31,192.192 INFO    ] Initializing speech engine...
[2026-10-20 08:07:31,207.207 INFO    ] 2026-10-20 08:07:31
[2026-10-20 08:07:31,506.506 INFO    ] 2026-10-20 08:07:31
[2026-10-20 08:07:31,566.566 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:07:31,810.810 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:07:31,817.817 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:07:31,972.972 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:07:31,989.989 INFO    ] time= 20/10/2026 08:07:31
[2026-10-20 08:07:32,055.055 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:07:32,116.116 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:07:32,238.238 INFO    ] No existing commands found in stream
[2026-10-20 08:07:37,272.272 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:07:37,275.275 INFO    ] Waiting 1.69 seconds before fallback handling...
[2026-10-20 08:07:39,462.462 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:07:39,465.465 INFO    ] Checking for system updates...
[2026-10-20 08:07:39,505.505 INFO    ] 200
[2026-10-20 08:07:39,508.508 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:07:39,562.562 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:07:39,565.565 INFO    ] No update needed
[2026-10-20 08:07:39,568.568 INFO    ] Checking for camera pi updates...
[2026-10-20 08:07:39,607.607 INFO    ] 200
[2026-10-20 08:07:39,610.610 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:07:39,651.651 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:07:39,697.697 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:07:39,700.700 INFO    ] No camera update needed
[2026-10-20 08:07:39,703.703 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:07:39,706.706 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:07:39,712.712 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:07:39,718.718 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:07:41,759.759 INFO    ] ================================================
[2026-10-20 08:07:41,774.774 INFO    ] Launching Daemon at Tue Oct 20 08:07:41 IST 2026
[2026-10-20 08:07:41,785.785 INFO    ] ================================================
[2026-10-20 08:07:42,349.349 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:07:42
[2026-10-20 08:07:42,929.929 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:07:43,197.197 INFO    ] Initializing speech engine...
[2026-10-20 08:07:43,206.206 INFO    ] 2026-10-20 08:07:43
[2026-10-20 08:07:43,450.450 INFO    ] 2026-10-20 08:07:43
[2026-10-20 08:07:43,486.486 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:07:43,682.682 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:07:43,740.740 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:07:43,878.878 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:07:43,921.921 INFO    ] time= 20/10/2026 08:07:43
[2026-10-20 08:07:43,980.980 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:07:44,013.013 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:07:44,140.140 INFO    ] No existing commands found in stream
[2026-10-20 08:07:49,169.169 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:07:49,172.172 INFO    ] Waiting 0.32 seconds before fallback handling...
[2026-10-20 08:07:49,999.999 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:07:50,002.002 INFO    ] Checking for system updates...
[2026-10-20 08:07:50,038.038 INFO    ] 200
[2026-10-20 08:07:50,041.041 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:07:50,110.110 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:07:50,112.112 INFO    ] No update needed
[2026-10-20 08:07:50,115.115 INFO    ] Checking for camera pi updates...
[2026-10-20 08:07:50,149.149 INFO    ] 200
[2026-10-20 08:07:50,152.152 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:07:50,196.196 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:07:50,245.245 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:07:50,248.248 INFO    ] No camera update needed
[2026-10-20 08:07:50,250.250 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:07:50,252.252 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:07:50,258.258 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:07:50,263.263 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:07:52,303.303 INFO    ] ================================================
[2026-10-20 08:07:52,318.318 INFO    ] Launching Daemon at Tue Oct 20 08:07:52 IST 2026
[2026-10-20 08:07:52,329.329 INFO    ] ================================================
[2026-10-20 08:07:52,907.907 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:07:52
[2026-10-20 08:07:53,505.505 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:07:53,770.770 INFO    ] Initializing speech engine...
[2026-10-20 08:07:53,794.794 INFO    ] 2026-10-20 08:07:53
[2026-10-20 08:07:54,066.066 INFO    ] 2026-10-20 08:07:54
[2026-10-20 08:07:54,101.101 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:07:54,326.326 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:07:54,391.391 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:07:54,546.546 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:07:54,568.568 INFO    ] time= 20/10/2026 08:07:54
[2026-10-20 08:07:54,623.623 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:07:54,677.677 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:07:54,828.828 INFO    ] No existing commands found in stream
[2026-10-20 08:07:59,858.858 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:07:59,861.861 INFO    ] Waiting 2.73 seconds before fallback handling...
[2026-10-20 08:08:03,120.120 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:08:03,124.124 INFO    ] Checking for system updates...
[2026-10-20 08:08:03,160.160 INFO    ] 200
[2026-10-20 08:08:03,163.163 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:08:03,214.214 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:08:03,217.217 INFO    ] No update needed
[2026-10-20 08:08:03,219.219 INFO    ] Checking for camera pi updates...
[2026-10-20 08:08:03,256.256 INFO    ] 200
[2026-10-20 08:08:03,258.258 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:08:03,303.303 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:08:03,350.350 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:08:03,352.352 INFO    ] No camera update needed
[2026-10-20 08:08:03,354.354 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:08:03,356.356 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:08:03,362.362 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:08:03,367.367 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:08:05,407.407 INFO    ] ================================================
[2026-10-20 08:08:05,421.421 INFO    ] Launching Daemon at Tue Oct 20 08:08:05 IST 2026
[2026-10-20 08:08:05,432.432 INFO    ] ================================================
[2026-10-20 08:08:05,997.997 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:08:05
[2026-10-20 08:08:06,579.579 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:08:06,850.850 INFO    ] Initializing speech engine...
[2026-10-20 08:08:06,859.859 INFO    ] 2026-10-20 08:08:06
[2026-10-20 08:08:07,106.106 INFO    ] 2026-10-20 08:08:07
[2026-10-20 08:08:07,141.141 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:08:07,340.340 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:08:07,390.390 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:08:07,548.548 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:08:07,603.603 INFO    ] time= 20/10/2026 08:08:07
[2026-10-20 08:08:07,652.652 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:08:07,682.682 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:08:07,834.834 INFO    ] No existing commands found in stream
[2026-10-20 08:08:12,854.854 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:08:12,856.856 INFO    ] Waiting 2.23 seconds before fallback handling...
[2026-10-20 08:08:15,619.619 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 08:08:15,622.622 INFO    ] Checking for system updates...
[2026-10-20 08:08:15,657.657 INFO    ] 200
[2026-10-20 08:08:15,659.659 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:08:15,712.712 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:08:15,715.715 INFO    ] No update needed
[2026-10-20 08:08:15,717.717 INFO    ] Checking for camera pi updates...
[2026-10-20 08:08:15,750.750 INFO    ] 200
[2026-10-20 08:08:15,752.752 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:08:15,792.792 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:08:15,843.843 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:08:15,845.845 INFO    ] No camera update needed
[2026-10-20 08:08:15,848.848 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:08:15,850.850 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:08:15,855.855 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:08:15,860.860 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:08:17,901.901 INFO    ] ================================================
[2026-10-20 08:08:17,916.916 INFO    ] Launching Daemon at Tue Oct 20 08:08:17 IST 2026
[2026-10-20 08:08:17,928.928 INFO    ] ================================================
[2026-10-20 08:08:18,510.510 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:08:18
[2026-10-20 08:08:19,104.104 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:08:19,360.360 INFO    ] Initializing speech engine...
[2026-10-20 08:08:19,366.366 INFO    ] 2026-10-20 08:08:19
[2026-10-20 08:08:19,661.661 INFO    ] 2026-10-20 08:08:19
[2026-10-20 08:08:19,698.698 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:08:19,895.895 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:08:19,909.909 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:08:20,074.074 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:08:20,080.080 INFO    ] time= 20/10/2026 08:08:20
[2026-10-20 08:08:20,086.086 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:08:20,108.108 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:08:20,260.260 INFO    ] No existing commands found in stream
[2026-10-20 08:08:25,291.291 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:08:25,293.293 INFO    ] Waiting 0.15 seconds before fallback handling...
[2026-10-20 08:08:25,943.943 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:08:25,946.946 INFO    ] Checking for system updates...
[2026-10-20 08:08:25,983.983 INFO    ] 200
[2026-10-20 08:08:25,985.985 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:08:26,036.036 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:08:26,039.039 INFO    ] No update needed
[2026-10-20 08:08:26,041.041 INFO    ] Checking for camera pi updates...
[2026-10-20 08:08:26,078.078 INFO    ] 200
[2026-10-20 08:08:26,080.080 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:08:26,120.120 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:08:26,168.168 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:08:26,170.170 INFO    ] No camera update needed
[2026-10-20 08:08:26,172.172 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:08:26,175.175 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:08:26,180.180 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:08:26,185.185 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:08:28,224.224 INFO    ] ================================================
[2026-10-20 08:08:28,240.240 INFO    ] Launching Daemon at Tue Oct 20 08:08:28 IST 2026
[2026-10-20 08:08:28,251.251 INFO    ] ================================================
[2026-10-20 08:08:28,833.833 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:08:28
[2026-10-20 08:08:29,424.424 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:08:29,700.700 INFO    ] Initializing speech engine...
[2026-10-20 08:08:29,719.719 INFO    ] 2026-10-20 08:08:29
[2026-10-20 08:08:29,985.985 INFO    ] 2026-10-20 08:08:29
[2026-10-20 08:08:30,023.023 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:08:30,232.232 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:08:30,317.317 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:08:30,476.476 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:08:30,493.493 INFO    ] time= 20/10/2026 08:08:30
[2026-10-20 08:08:30,558.558 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:08:30,628.628 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:08:30,762.762 INFO    ] No existing commands found in stream
[2026-10-20 08:08:35,784.784 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:08:35,787.787 INFO    ] Waiting 1.24 seconds before fallback handling...
[2026-10-20 08:08:37,562.562 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:08:37,565.565 INFO    ] Checking for system updates...
[2026-10-20 08:08:37,609.609 INFO    ] 200
[2026-10-20 08:08:37,612.612 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:08:37,671.671 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:08:37,675.675 INFO    ] No update needed
[2026-10-20 08:08:37,677.677 INFO    ] Checking for camera pi updates...
[2026-10-20 08:08:37,712.712 INFO    ] 200
[2026-10-20 08:08:37,714.714 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:08:37,760.760 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:08:37,806.806 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:08:37,810.810 INFO    ] No camera update needed
[2026-10-20 08:08:37,812.812 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:08:37,815.815 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:08:37,821.821 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:08:37,827.827 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:08:39,868.868 INFO    ] ================================================
[2026-10-20 08:08:39,883.883 INFO    ] Launching Daemon at Tue Oct 20 08:08:39 IST 2026
[2026-10-20 08:08:39,894.894 INFO    ] ================================================
[2026-10-20 08:08:40,462.462 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:08:40
[2026-10-20 08:08:41,044.044 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:08:41,311.311 INFO    ] Initializing speech engine...
[2026-10-20 08:08:41,323.323 INFO    ] 2026-10-20 08:08:41
[2026-10-20 08:08:41,574.574 INFO    ] 2026-10-20 08:08:41
[2026-10-20 08:08:41,609.609 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:08:41,848.848 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:08:41,875.875 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:08:42,014.014 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:08:42,084.084 INFO    ] time= 20/10/2026 08:08:42
[2026-10-20 08:08:42,138.138 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:08:42,152.152 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:08:42,280.280 INFO    ] No existing commands found in stream
[2026-10-20 08:08:47,308.308 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:08:47,311.311 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-10-20 08:08:49,584.584 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 08:08:49,587.587 INFO    ] Checking for system updates...
[2026-10-20 08:08:49,623.623 INFO    ] 200
[2026-10-20 08:08:49,625.625 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:08:49,686.686 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:08:49,688.688 INFO    ] No update needed
[2026-10-20 08:08:49,691.691 INFO    ] Checking for camera pi updates...
[2026-10-20 08:08:49,725.725 INFO    ] 200
[2026-10-20 08:08:49,727.727 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:08:49,771.771 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:08:49,818.818 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:08:49,820.820 INFO    ] No camera update needed
[2026-10-20 08:08:49,823.823 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:08:49,825.825 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:08:49,831.831 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:08:49,836.836 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:08:51,875.875 INFO    ] ================================================
[2026-10-20 08:08:51,891.891 INFO    ] Launching Daemon at Tue Oct 20 08:08:51 IST 2026
[2026-10-20 08:08:51,901.901 INFO    ] ================================================
[2026-10-20 08:08:52,484.484 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:08:52
[2026-10-20 08:08:53,079.079 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:08:53,374.374 INFO    ] Initializing speech engine...
[2026-10-20 08:08:53,389.389 INFO    ] 2026-10-20 08:08:53
[2026-10-20 08:08:53,702.702 INFO    ] 2026-10-20 08:08:53
[2026-10-20 08:08:53,791.791 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:08:54,007.007 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:08:54,016.016 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:08:54,202.202 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:08:54,218.218 INFO    ] time= 20/10/2026 08:08:54
[2026-10-20 08:08:54,237.237 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:08:54,265.265 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:08:54,387.387 INFO    ] No existing commands found in stream
[2026-10-20 08:08:59,418.418 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:08:59,421.421 INFO    ] Waiting 3.95 seconds before fallback handling...
[2026-10-20 08:09:03,898.898 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 08:09:03,902.902 INFO    ] Checking for system updates...
[2026-10-20 08:09:03,939.939 INFO    ] 200
[2026-10-20 08:09:03,942.942 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:09:04,003.003 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:09:04,006.006 INFO    ] No update needed
[2026-10-20 08:09:04,009.009 INFO    ] Checking for camera pi updates...
[2026-10-20 08:09:04,044.044 INFO    ] 200
[2026-10-20 08:09:04,046.046 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:09:04,089.089 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:09:04,139.139 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:09:04,142.142 INFO    ] No camera update needed
[2026-10-20 08:09:04,145.145 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:09:04,148.148 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:09:04,154.154 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:09:04,160.160 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:09:06,202.202 INFO    ] ================================================
[2026-10-20 08:09:06,217.217 INFO    ] Launching Daemon at Tue Oct 20 08:09:06 IST 2026
[2026-10-20 08:09:06,228.228 INFO    ] ================================================
[2026-10-20 08:09:06,906.906 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:09:06
[2026-10-20 08:09:07,597.597 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:09:07,922.922 INFO    ] Initializing speech engine...
[2026-10-20 08:09:07,929.929 INFO    ] 2026-10-20 08:09:07
[2026-10-20 08:09:08,216.216 INFO    ] 2026-10-20 08:09:08
[2026-10-20 08:09:08,262.262 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:09:08,522.522 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:09:08,556.556 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:09:08,749.749 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:09:08,770.770 INFO    ] time= 20/10/2026 08:09:08
[2026-10-20 08:09:08,787.787 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:09:08,818.818 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:09:08,931.931 INFO    ] No existing commands found in stream
[2026-10-20 08:09:13,953.953 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:09:13,957.957 INFO    ] Waiting 1.38 seconds before fallback handling...
[2026-10-20 08:09:15,863.863 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:09:15,866.866 INFO    ] Checking for system updates...
[2026-10-20 08:09:15,904.904 INFO    ] 200
[2026-10-20 08:09:15,906.906 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:09:15,960.960 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:09:15,963.963 INFO    ] No update needed
[2026-10-20 08:09:15,965.965 INFO    ] Checking for camera pi updates...
[2026-10-20 08:09:16,000.000 INFO    ] 200
[2026-10-20 08:09:16,003.003 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:09:16,051.051 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:09:16,202.202 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:09:16,204.204 INFO    ] No camera update needed
[2026-10-20 08:09:16,206.206 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:09:16,209.209 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:09:16,214.214 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:09:16,219.219 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:09:18,259.259 INFO    ] ================================================
[2026-10-20 08:09:18,274.274 INFO    ] Launching Daemon at Tue Oct 20 08:09:18 IST 2026
[2026-10-20 08:09:18,286.286 INFO    ] ================================================
[2026-10-20 08:09:18,853.853 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:09:18
[2026-10-20 08:09:19,436.436 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:09:19,696.696 INFO    ] Initializing speech engine...
[2026-10-20 08:09:19,716.716 INFO    ] 2026-10-20 08:09:19
[2026-10-20 08:09:19,967.967 INFO    ] 2026-10-20 08:09:19
[2026-10-20 08:09:20,002.002 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:09:20,204.204 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:09:20,263.263 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:09:20,406.406 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:09:20,459.459 INFO    ] time= 20/10/2026 08:09:20
[2026-10-20 08:09:20,517.517 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:09:20,542.542 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:09:20,691.691 INFO    ] No existing commands found in stream
[2026-10-20 08:09:25,711.711 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:09:25,714.714 INFO    ] Waiting 1.67 seconds before fallback handling...
[2026-10-20 08:09:27,894.894 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 08:09:27,896.896 INFO    ] Checking for system updates...
[2026-10-20 08:09:27,932.932 INFO    ] 200
[2026-10-20 08:09:27,935.935 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:09:27,986.986 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:09:27,989.989 INFO    ] No update needed
[2026-10-20 08:09:27,992.992 INFO    ] Checking for camera pi updates...
[2026-10-20 08:09:28,025.025 INFO    ] 200
[2026-10-20 08:09:28,027.027 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:09:28,071.071 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:09:28,126.126 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:09:28,128.128 INFO    ] No camera update needed
[2026-10-20 08:09:28,131.131 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:09:28,133.133 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:09:28,138.138 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:09:28,143.143 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:09:30,184.184 INFO    ] ================================================
[2026-10-20 08:09:30,200.200 INFO    ] Launching Daemon at Tue Oct 20 08:09:30 IST 2026
[2026-10-20 08:09:30,211.211 INFO    ] ================================================
[2026-10-20 08:09:30,895.895 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:09:30
[2026-10-20 08:09:31,629.629 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:09:31,968.968 INFO    ] Initializing speech engine...
[2026-10-20 08:09:31,980.980 INFO    ] 2026-10-20 08:09:31
[2026-10-20 08:09:32,258.258 INFO    ] 2026-10-20 08:09:32
[2026-10-20 08:09:32,289.289 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:09:32,546.546 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:09:32,555.555 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:09:32,699.699 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:09:32,764.764 INFO    ] time= 20/10/2026 08:09:32
[2026-10-20 08:09:32,818.818 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:09:32,833.833 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:09:32,935.935 INFO    ] No existing commands found in stream
[2026-10-20 08:09:37,945.945 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:09:37,947.947 INFO    ] Waiting 3.66 seconds before fallback handling...
[2026-10-20 08:09:42,107.107 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 08:09:42,110.110 INFO    ] Checking for system updates...
[2026-10-20 08:09:42,147.147 INFO    ] 200
[2026-10-20 08:09:42,149.149 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:09:42,200.200 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:09:42,203.203 INFO    ] No update needed
[2026-10-20 08:09:42,205.205 INFO    ] Checking for camera pi updates...
[2026-10-20 08:09:42,238.238 INFO    ] 200
[2026-10-20 08:09:42,241.241 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:09:42,286.286 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:09:42,332.332 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:09:42,335.335 INFO    ] No camera update needed
[2026-10-20 08:09:42,337.337 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:09:42,339.339 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:09:42,345.345 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:09:42,350.350 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:09:44,390.390 INFO    ] ================================================
[2026-10-20 08:09:44,406.406 INFO    ] Launching Daemon at Tue Oct 20 08:09:44 IST 2026
[2026-10-20 08:09:44,417.417 INFO    ] ================================================
[2026-10-20 08:09:44,992.992 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:09:44
[2026-10-20 08:09:45,685.685 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:09:45,996.996 INFO    ] Initializing speech engine...
[2026-10-20 08:09:46,009.009 INFO    ] 2026-10-20 08:09:45
[2026-10-20 08:09:46,305.305 INFO    ] 2026-10-20 08:09:46
[2026-10-20 08:09:46,416.416 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:09:46,629.629 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:09:46,638.638 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:09:46,839.839 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:09:46,846.846 INFO    ] time= 20/10/2026 08:09:46
[2026-10-20 08:09:46,865.865 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:09:46,895.895 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:09:47,025.025 INFO    ] No existing commands found in stream
[2026-10-20 08:09:52,057.057 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:09:52,060.060 INFO    ] Waiting 0.13 seconds before fallback handling...
[2026-10-20 08:09:52,701.701 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:09:52,704.704 INFO    ] Checking for system updates...
[2026-10-20 08:09:52,746.746 INFO    ] 200
[2026-10-20 08:09:52,750.750 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:09:52,810.810 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:09:52,813.813 INFO    ] No update needed
[2026-10-20 08:09:52,816.816 INFO    ] Checking for camera pi updates...
[2026-10-20 08:09:52,851.851 INFO    ] 200
[2026-10-20 08:09:52,854.854 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:09:52,895.895 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:09:52,946.946 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:09:52,949.949 INFO    ] No camera update needed
[2026-10-20 08:09:52,951.951 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:09:52,954.954 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:09:52,960.960 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:09:52,966.966 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:09:55,009.009 INFO    ] ================================================
[2026-10-20 08:09:55,026.026 INFO    ] Launching Daemon at Tue Oct 20 08:09:55 IST 2026
[2026-10-20 08:09:55,037.037 INFO    ] ================================================
[2026-10-20 08:09:55,702.702 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:09:55
[2026-10-20 08:09:56,386.386 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:09:56,697.697 INFO    ] Initializing speech engine...
[2026-10-20 08:09:56,711.711 INFO    ] 2026-10-20 08:09:56
[2026-10-20 08:09:56,994.994 INFO    ] 2026-10-20 08:09:56
[2026-10-20 08:09:57,040.040 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:09:57,297.297 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:09:57,317.317 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:09:57,541.541 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:09:57,549.549 INFO    ] time= 20/10/2026 08:09:57
[2026-10-20 08:09:57,572.572 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:09:57,602.602 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:09:57,733.733 INFO    ] No existing commands found in stream
[2026-10-20 08:10:02,762.762 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:10:02,768.768 INFO    ] Waiting 0.83 seconds before fallback handling...
[2026-10-20 08:10:07,118.118 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:10:07,121.121 INFO    ] Checking for system updates...
[2026-10-20 08:10:07,159.159 INFO    ] 200
[2026-10-20 08:10:07,161.161 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:10:07,214.214 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:10:07,217.217 INFO    ] No update needed
[2026-10-20 08:10:07,220.220 INFO    ] Checking for camera pi updates...
[2026-10-20 08:10:07,254.254 INFO    ] 200
[2026-10-20 08:10:07,257.257 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:10:07,302.302 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:10:07,333.333 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:10:07,336.336 INFO    ] No camera update needed
[2026-10-20 08:10:07,339.339 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:10:07,341.341 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:10:07,348.348 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:10:07,353.353 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:10:09,394.394 INFO    ] ================================================
[2026-10-20 08:10:09,410.410 INFO    ] Launching Daemon at Tue Oct 20 08:10:09 IST 2026
[2026-10-20 08:10:09,421.421 INFO    ] ================================================
[2026-10-20 08:10:09,992.992 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:10:09
[2026-10-20 08:10:10,577.577 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:10:10,833.833 INFO    ] Initializing speech engine...
[2026-10-20 08:10:10,855.855 INFO    ] 2026-10-20 08:10:10
[2026-10-20 08:10:11,112.112 INFO    ] 2026-10-20 08:10:11
[2026-10-20 08:10:11,147.147 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:10:11,405.405 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:10:11,415.415 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:10:11,617.617 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:10:11,672.672 INFO    ] time= 20/10/2026 08:10:11
[2026-10-20 08:10:11,686.686 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:10:11,702.702 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:10:11,839.839 INFO    ] No existing commands found in stream
[2026-10-20 08:10:16,852.852 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:10:16,854.854 INFO    ] Waiting 3.87 seconds before fallback handling...
[2026-10-20 08:10:21,212.212 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:10:21,215.215 INFO    ] Checking for system updates...
[2026-10-20 08:10:21,250.250 INFO    ] 200
[2026-10-20 08:10:21,252.252 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:10:21,307.307 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:10:21,310.310 INFO    ] No update needed
[2026-10-20 08:10:21,312.312 INFO    ] Checking for camera pi updates...
[2026-10-20 08:10:21,345.345 INFO    ] 200
[2026-10-20 08:10:21,348.348 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:10:21,387.387 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:10:21,439.439 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:10:21,442.442 INFO    ] No camera update needed
[2026-10-20 08:10:21,444.444 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:10:21,446.446 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:10:21,454.454 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:10:21,459.459 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:10:23,498.498 INFO    ] ================================================
[2026-10-20 08:10:23,513.513 INFO    ] Launching Daemon at Tue Oct 20 08:10:23 IST 2026
[2026-10-20 08:10:23,525.525 INFO    ] ================================================
[2026-10-20 08:10:24,104.104 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:10:24
[2026-10-20 08:10:24,690.690 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:10:24,935.935 INFO    ] Initializing speech engine...
[2026-10-20 08:10:24,950.950 INFO    ] 2026-10-20 08:10:24
[2026-10-20 08:10:25,223.223 INFO    ] 2026-10-20 08:10:25
[2026-10-20 08:10:25,284.284 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:10:25,553.553 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:10:25,576.576 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:10:25,774.774 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:10:25,782.782 INFO    ] time= 20/10/2026 08:10:25
[2026-10-20 08:10:25,801.801 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:10:25,829.829 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:10:25,957.957 INFO    ] No existing commands found in stream
[2026-10-20 08:10:30,987.987 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:10:30,991.991 INFO    ] Waiting 3.27 seconds before fallback handling...
[2026-10-20 08:10:34,768.768 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 08:10:34,771.771 INFO    ] Checking for system updates...
[2026-10-20 08:10:34,807.807 INFO    ] 200
[2026-10-20 08:10:34,810.810 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:10:34,870.870 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:10:34,872.872 INFO    ] No update needed
[2026-10-20 08:10:34,874.874 INFO    ] Checking for camera pi updates...
[2026-10-20 08:10:34,908.908 INFO    ] 200
[2026-10-20 08:10:34,910.910 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:10:34,955.955 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:10:35,004.004 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:10:35,007.007 INFO    ] No camera update needed
[2026-10-20 08:10:35,009.009 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:10:35,012.012 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:10:35,017.017 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:10:35,022.022 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:10:37,061.061 INFO    ] ================================================
[2026-10-20 08:10:37,077.077 INFO    ] Launching Daemon at Tue Oct 20 08:10:37 IST 2026
[2026-10-20 08:10:37,091.091 INFO    ] ================================================
[2026-10-20 08:10:37,674.674 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:10:37
[2026-10-20 08:10:38,272.272 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:10:38,546.546 INFO    ] Initializing speech engine...
[2026-10-20 08:10:38,556.556 INFO    ] 2026-10-20 08:10:38
[2026-10-20 08:10:38,817.817 INFO    ] 2026-10-20 08:10:38
[2026-10-20 08:10:38,871.871 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:10:39,100.100 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:10:39,123.123 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:10:39,338.338 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:10:39,362.362 INFO    ] time= 20/10/2026 08:10:39
[2026-10-20 08:10:39,380.380 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:10:39,390.390 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:10:39,583.583 INFO    ] No existing commands found in stream
[2026-10-20 08:10:44,614.614 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:10:44,617.617 INFO    ] Waiting 3.86 seconds before fallback handling...
[2026-10-20 08:10:49,038.038 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 08:10:49,041.041 INFO    ] Checking for system updates...
[2026-10-20 08:10:49,078.078 INFO    ] 200
[2026-10-20 08:10:49,081.081 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:10:49,135.135 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:10:49,137.137 INFO    ] No update needed
[2026-10-20 08:10:49,140.140 INFO    ] Checking for camera pi updates...
[2026-10-20 08:10:49,173.173 INFO    ] 200
[2026-10-20 08:10:49,176.176 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:10:49,215.215 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:10:49,261.261 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:10:49,264.264 INFO    ] No camera update needed
[2026-10-20 08:10:49,266.266 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:10:49,268.268 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:10:49,274.274 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:10:49,279.279 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:10:51,318.318 INFO    ] ================================================
[2026-10-20 08:10:51,334.334 INFO    ] Launching Daemon at Tue Oct 20 08:10:51 IST 2026
[2026-10-20 08:10:51,345.345 INFO    ] ================================================
[2026-10-20 08:10:51,927.927 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:10:51
[2026-10-20 08:10:52,527.527 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:10:52,803.803 INFO    ] Initializing speech engine...
[2026-10-20 08:10:52,814.814 INFO    ] 2026-10-20 08:10:52
[2026-10-20 08:10:53,073.073 INFO    ] 2026-10-20 08:10:53
[2026-10-20 08:10:53,103.103 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:10:53,348.348 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:10:53,357.357 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:10:53,563.563 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:10:53,612.612 INFO    ] time= 20/10/2026 08:10:53
[2026-10-20 08:10:53,621.621 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:10:53,639.639 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:10:53,770.770 INFO    ] No existing commands found in stream
[2026-10-20 08:10:58,783.783 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:10:58,786.786 INFO    ] Waiting 1.02 seconds before fallback handling...
[2026-10-20 08:11:00,324.324 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 08:11:00,327.327 INFO    ] Checking for system updates...
[2026-10-20 08:11:00,362.362 INFO    ] 200
[2026-10-20 08:11:00,365.365 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:11:00,425.425 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:11:00,427.427 INFO    ] No update needed
[2026-10-20 08:11:00,430.430 INFO    ] Checking for camera pi updates...
[2026-10-20 08:11:00,467.467 INFO    ] 200
[2026-10-20 08:11:00,470.470 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:11:00,512.512 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:11:00,564.564 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:11:00,566.566 INFO    ] No camera update needed
[2026-10-20 08:11:00,569.569 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:11:00,571.571 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:11:00,577.577 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:11:00,582.582 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:11:02,628.628 INFO    ] ================================================
[2026-10-20 08:11:02,649.649 INFO    ] Launching Daemon at Tue Oct 20 08:11:02 IST 2026
[2026-10-20 08:11:02,660.660 INFO    ] ================================================
[2026-10-20 08:11:03,291.291 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:11:03
[2026-10-20 08:11:03,884.884 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:11:04,155.155 INFO    ] Initializing speech engine...
[2026-10-20 08:11:04,161.161 INFO    ] 2026-10-20 08:11:04
[2026-10-20 08:11:04,419.419 INFO    ] 2026-10-20 08:11:04
[2026-10-20 08:11:04,472.472 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:11:04,697.697 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:11:04,703.703 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:11:04,906.906 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:11:04,958.958 INFO    ] time= 20/10/2026 08:11:04
[2026-10-20 08:11:04,964.964 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:11:04,981.981 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:11:05,105.105 INFO    ] No existing commands found in stream
[2026-10-20 08:11:10,121.121 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:11:10,123.123 INFO    ] Waiting 2.39 seconds before fallback handling...
[2026-10-20 08:11:12,989.989 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 08:11:12,992.992 INFO    ] Checking for system updates...
[2026-10-20 08:11:13,028.028 INFO    ] 200
[2026-10-20 08:11:13,031.031 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:11:13,084.084 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:11:13,087.087 INFO    ] No update needed
[2026-10-20 08:11:13,090.090 INFO    ] Checking for camera pi updates...
[2026-10-20 08:11:13,128.128 INFO    ] 200
[2026-10-20 08:11:13,131.131 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:11:13,172.172 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:11:13,220.220 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:11:13,222.222 INFO    ] No camera update needed
[2026-10-20 08:11:13,224.224 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:11:13,227.227 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:11:13,232.232 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:11:13,237.237 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:11:15,276.276 INFO    ] ================================================
[2026-10-20 08:11:15,291.291 INFO    ] Launching Daemon at Tue Oct 20 08:11:15 IST 2026
[2026-10-20 08:11:15,301.301 INFO    ] ================================================
[2026-10-20 08:11:15,871.871 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:11:15
[2026-10-20 08:11:16,458.458 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:11:16,730.730 INFO    ] Initializing speech engine...
[2026-10-20 08:11:16,738.738 INFO    ] 2026-10-20 08:11:16
[2026-10-20 08:11:16,995.995 INFO    ] 2026-10-20 08:11:16
[2026-10-20 08:11:17,048.048 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:11:17,275.275 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:11:17,280.280 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:11:17,453.453 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:11:17,518.518 INFO    ] time= 20/10/2026 08:11:17
[2026-10-20 08:11:17,541.541 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:11:17,556.556 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:11:17,686.686 INFO    ] No existing commands found in stream
[2026-10-20 08:11:22,702.702 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:11:22,705.705 INFO    ] Waiting 1.49 seconds before fallback handling...
[2026-10-20 08:11:24,715.715 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:11:24,718.718 INFO    ] Checking for system updates...
[2026-10-20 08:11:24,755.755 INFO    ] 200
[2026-10-20 08:11:24,758.758 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:11:24,811.811 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:11:24,813.813 INFO    ] No update needed
[2026-10-20 08:11:24,816.816 INFO    ] Checking for camera pi updates...
[2026-10-20 08:11:24,852.852 INFO    ] 200
[2026-10-20 08:11:24,855.855 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:11:24,895.895 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:11:25,034.034 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:11:25,037.037 INFO    ] No camera update needed
[2026-10-20 08:11:25,039.039 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:11:25,041.041 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:11:25,047.047 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:11:25,052.052 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:11:27,091.091 INFO    ] ================================================
[2026-10-20 08:11:27,106.106 INFO    ] Launching Daemon at Tue Oct 20 08:11:27 IST 2026
[2026-10-20 08:11:27,116.116 INFO    ] ================================================
[2026-10-20 08:11:27,685.685 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:11:27
[2026-10-20 08:11:28,268.268 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:11:28,540.540 INFO    ] Initializing speech engine...
[2026-10-20 08:11:28,549.549 INFO    ] 2026-10-20 08:11:28
[2026-10-20 08:11:28,799.799 INFO    ] 2026-10-20 08:11:28
[2026-10-20 08:11:28,835.835 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:11:29,075.075 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:11:29,104.104 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:11:29,314.314 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:11:29,363.363 INFO    ] time= 20/10/2026 08:11:29
[2026-10-20 08:11:29,408.408 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:11:29,415.415 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:11:29,572.572 INFO    ] No existing commands found in stream
[2026-10-20 08:11:34,591.591 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:11:34,593.593 INFO    ] Waiting 0.15 seconds before fallback handling...
[2026-10-20 08:11:35,235.235 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 08:11:35,238.238 INFO    ] Checking for system updates...
[2026-10-20 08:11:35,277.277 INFO    ] 200
[2026-10-20 08:11:35,280.280 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:11:35,338.338 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:11:35,341.341 INFO    ] No update needed
[2026-10-20 08:11:35,343.343 INFO    ] Checking for camera pi updates...
[2026-10-20 08:11:35,381.381 INFO    ] 200
[2026-10-20 08:11:35,383.383 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:11:35,423.423 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:11:35,467.467 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:11:35,470.470 INFO    ] No camera update needed
[2026-10-20 08:11:35,472.472 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:11:35,474.474 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:11:35,480.480 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:11:35,485.485 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:11:37,524.524 INFO    ] ================================================
[2026-10-20 08:11:37,539.539 INFO    ] Launching Daemon at Tue Oct 20 08:11:37 IST 2026
[2026-10-20 08:11:37,549.549 INFO    ] ================================================
[2026-10-20 08:11:38,130.130 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:11:38
[2026-10-20 08:11:38,728.728 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:11:39,001.001 INFO    ] Initializing speech engine...
[2026-10-20 08:11:39,010.010 INFO    ] 2026-10-20 08:11:39
[2026-10-20 08:11:39,279.279 INFO    ] 2026-10-20 08:11:39
[2026-10-20 08:11:39,336.336 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:11:39,565.565 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:11:39,586.586 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:11:39,793.793 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:11:39,829.829 INFO    ] time= 20/10/2026 08:11:39
[2026-10-20 08:11:39,845.845 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:11:39,855.855 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:11:39,984.984 INFO    ] No existing commands found in stream
[2026-10-20 08:11:45,007.007 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:11:45,010.010 INFO    ] Waiting 0.51 seconds before fallback handling...
[2026-10-20 08:11:46,095.095 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:11:46,098.098 INFO    ] Checking for system updates...
[2026-10-20 08:11:46,157.157 INFO    ] 200
[2026-10-20 08:11:46,160.160 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:11:46,214.214 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:11:46,217.217 INFO    ] No update needed
[2026-10-20 08:11:46,219.219 INFO    ] Checking for camera pi updates...
[2026-10-20 08:11:46,254.254 INFO    ] 200
[2026-10-20 08:11:46,256.256 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:11:46,302.302 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:11:46,347.347 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:11:46,350.350 INFO    ] No camera update needed
[2026-10-20 08:11:46,352.352 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:11:46,355.355 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:11:46,360.360 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:11:46,365.365 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:11:48,404.404 INFO    ] ================================================
[2026-10-20 08:11:48,419.419 INFO    ] Launching Daemon at Tue Oct 20 08:11:48 IST 2026
[2026-10-20 08:11:48,430.430 INFO    ] ================================================
[2026-10-20 08:11:49,013.013 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:11:49
[2026-10-20 08:11:49,600.600 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:11:49,868.868 INFO    ] Initializing speech engine...
[2026-10-20 08:11:49,881.881 INFO    ] 2026-10-20 08:11:49
[2026-10-20 08:11:50,134.134 INFO    ] 2026-10-20 08:11:50
[2026-10-20 08:11:50,174.174 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:11:50,419.419 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:11:50,428.428 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:11:50,561.561 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:11:50,636.636 INFO    ] time= 20/10/2026 08:11:50
[2026-10-20 08:11:50,688.688 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:11:50,694.694 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:11:50,830.830 INFO    ] No existing commands found in stream
[2026-10-20 08:11:55,849.849 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:11:55,852.852 INFO    ] Waiting 1.11 seconds before fallback handling...
[2026-10-20 08:11:57,482.482 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:11:57,485.485 INFO    ] Checking for system updates...
[2026-10-20 08:11:57,524.524 INFO    ] 200
[2026-10-20 08:11:57,526.526 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:11:57,577.577 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:11:57,580.580 INFO    ] No update needed
[2026-10-20 08:11:57,582.582 INFO    ] Checking for camera pi updates...
[2026-10-20 08:11:57,616.616 INFO    ] 200
[2026-10-20 08:11:57,618.618 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:11:57,659.659 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:11:57,709.709 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:11:57,712.712 INFO    ] No camera update needed
[2026-10-20 08:11:57,714.714 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:11:57,716.716 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:11:57,722.722 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:11:57,726.726 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:11:59,766.766 INFO    ] ================================================
[2026-10-20 08:11:59,781.781 INFO    ] Launching Daemon at Tue Oct 20 08:11:59 IST 2026
[2026-10-20 08:11:59,792.792 INFO    ] ================================================
[2026-10-20 08:12:00,447.447 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:12:00
[2026-10-20 08:12:01,116.116 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:12:01,553.553 INFO    ] Initializing speech engine...
[2026-10-20 08:12:01,556.556 INFO    ] 2026-10-20 08:12:01
[2026-10-20 08:12:01,921.921 INFO    ] 2026-10-20 08:12:01
[2026-10-20 08:12:02,012.012 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:12:02,193.193 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:12:02,202.202 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:12:02,450.450 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:12:02,486.486 INFO    ] time= 20/10/2026 08:12:02
[2026-10-20 08:12:02,520.520 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:12:02,540.540 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:12:02,676.676 INFO    ] No existing commands found in stream
[2026-10-20 08:12:07,707.707 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:12:07,710.710 INFO    ] Waiting 3.74 seconds before fallback handling...
[2026-10-20 08:12:11,967.967 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 08:12:11,970.970 INFO    ] Checking for system updates...
[2026-10-20 08:12:12,010.010 INFO    ] 200
[2026-10-20 08:12:12,013.013 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:12:12,072.072 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:12:12,074.074 INFO    ] No update needed
[2026-10-20 08:12:12,077.077 INFO    ] Checking for camera pi updates...
[2026-10-20 08:12:12,110.110 INFO    ] 200
[2026-10-20 08:12:12,112.112 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:12:12,154.154 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:12:12,213.213 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:12:12,216.216 INFO    ] No camera update needed
[2026-10-20 08:12:12,218.218 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:12:12,221.221 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:12:12,226.226 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:12:12,231.231 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:12:14,271.271 INFO    ] ================================================
[2026-10-20 08:12:14,286.286 INFO    ] Launching Daemon at Tue Oct 20 08:12:14 IST 2026
[2026-10-20 08:12:14,297.297 INFO    ] ================================================
[2026-10-20 08:12:14,951.951 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:12:14
[2026-10-20 08:12:15,627.627 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:12:15,932.932 INFO    ] Initializing speech engine...
[2026-10-20 08:12:15,945.945 INFO    ] 2026-10-20 08:12:15
[2026-10-20 08:12:16,225.225 INFO    ] 2026-10-20 08:12:16
[2026-10-20 08:12:16,274.274 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:12:16,522.522 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:12:16,541.541 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:12:16,740.740 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:12:16,762.762 INFO    ] time= 20/10/2026 08:12:16
[2026-10-20 08:12:16,777.777 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:12:16,786.786 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:12:16,914.914 INFO    ] No existing commands found in stream
[2026-10-20 08:12:21,929.929 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:12:21,932.932 INFO    ] Waiting 1.11 seconds before fallback handling...
[2026-10-20 08:12:23,608.608 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 08:12:23,612.612 INFO    ] Checking for system updates...
[2026-10-20 08:12:23,648.648 INFO    ] 200
[2026-10-20 08:12:23,651.651 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:12:23,706.706 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:12:23,709.709 INFO    ] No update needed
[2026-10-20 08:12:23,711.711 INFO    ] Checking for camera pi updates...
[2026-10-20 08:12:23,745.745 INFO    ] 200
[2026-10-20 08:12:23,747.747 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:12:23,791.791 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:12:23,838.838 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:12:23,841.841 INFO    ] No camera update needed
[2026-10-20 08:12:23,843.843 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:12:23,845.845 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:12:23,850.850 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:12:23,855.855 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:12:25,895.895 INFO    ] ================================================
[2026-10-20 08:12:25,910.910 INFO    ] Launching Daemon at Tue Oct 20 08:12:25 IST 2026
[2026-10-20 08:12:25,921.921 INFO    ] ================================================
[2026-10-20 08:12:26,523.523 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:12:26
[2026-10-20 08:12:27,123.123 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:12:27,424.424 INFO    ] Initializing speech engine...
[2026-10-20 08:12:27,432.432 INFO    ] 2026-10-20 08:12:27
[2026-10-20 08:12:27,711.711 INFO    ] 2026-10-20 08:12:27
[2026-10-20 08:12:27,747.747 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:12:27,940.940 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:12:27,954.954 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:12:28,103.103 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:12:28,148.148 INFO    ] time= 20/10/2026 08:12:28
[2026-10-20 08:12:28,172.172 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:12:28,221.221 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:12:28,349.349 INFO    ] No existing commands found in stream
[2026-10-20 08:12:33,361.361 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:12:33,363.363 INFO    ] Waiting 0.20 seconds before fallback handling...
[2026-10-20 08:12:34,005.005 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:12:34,008.008 INFO    ] Checking for system updates...
[2026-10-20 08:12:34,048.048 INFO    ] 200
[2026-10-20 08:12:34,051.051 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:12:34,104.104 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:12:34,107.107 INFO    ] No update needed
[2026-10-20 08:12:34,109.109 INFO    ] Checking for camera pi updates...
[2026-10-20 08:12:34,147.147 INFO    ] 200
[2026-10-20 08:12:34,149.149 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:12:34,195.195 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:12:34,240.240 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:12:34,242.242 INFO    ] No camera update needed
[2026-10-20 08:12:34,245.245 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:12:34,247.247 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:12:34,252.252 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:12:34,257.257 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:12:36,297.297 INFO    ] ================================================
[2026-10-20 08:12:36,313.313 INFO    ] Launching Daemon at Tue Oct 20 08:12:36 IST 2026
[2026-10-20 08:12:36,323.323 INFO    ] ================================================
[2026-10-20 08:12:36,904.904 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:12:36
[2026-10-20 08:12:37,491.491 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:12:37,758.758 INFO    ] Initializing speech engine...
[2026-10-20 08:12:37,767.767 INFO    ] 2026-10-20 08:12:37
[2026-10-20 08:12:38,013.013 INFO    ] 2026-10-20 08:12:38
[2026-10-20 08:12:38,048.048 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:12:38,299.299 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:12:38,308.308 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:12:38,509.509 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:12:38,565.565 INFO    ] time= 20/10/2026 08:12:38
[2026-10-20 08:12:38,570.570 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:12:38,587.587 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:12:38,717.717 INFO    ] No existing commands found in stream
[2026-10-20 08:12:43,734.734 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:12:43,737.737 INFO    ] Waiting 1.76 seconds before fallback handling...
[2026-10-20 08:12:45,999.999 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:12:46,001.001 INFO    ] Checking for system updates...
[2026-10-20 08:12:46,041.041 INFO    ] 200
[2026-10-20 08:12:46,044.044 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:12:46,095.095 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:12:46,097.097 INFO    ] No update needed
[2026-10-20 08:12:46,100.100 INFO    ] Checking for camera pi updates...
[2026-10-20 08:12:46,133.133 INFO    ] 200
[2026-10-20 08:12:46,136.136 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:12:46,176.176 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:12:46,223.223 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:12:46,226.226 INFO    ] No camera update needed
[2026-10-20 08:12:46,228.228 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:12:46,230.230 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:12:46,236.236 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:12:46,241.241 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:12:48,280.280 INFO    ] ================================================
[2026-10-20 08:12:48,294.294 INFO    ] Launching Daemon at Tue Oct 20 08:12:48 IST 2026
[2026-10-20 08:12:48,305.305 INFO    ] ================================================
[2026-10-20 08:12:48,872.872 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:12:48
[2026-10-20 08:12:49,459.459 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:12:49,720.720 INFO    ] Initializing speech engine...
[2026-10-20 08:12:49,739.739 INFO    ] 2026-10-20 08:12:49
[2026-10-20 08:12:49,992.992 INFO    ] 2026-10-20 08:12:49
[2026-10-20 08:12:50,027.027 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:12:50,286.286 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:12:50,295.295 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:12:50,430.430 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:12:50,473.473 INFO    ] time= 20/10/2026 08:12:50
[2026-10-20 08:12:50,538.538 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:12:50,568.568 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:12:50,722.722 INFO    ] No existing commands found in stream
[2026-10-20 08:12:55,737.737 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:12:55,740.740 INFO    ] Waiting 2.23 seconds before fallback handling...
[2026-10-20 08:12:58,478.478 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:12:58,481.481 INFO    ] Checking for system updates...
[2026-10-20 08:12:58,518.518 INFO    ] 200
[2026-10-20 08:12:58,521.521 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:12:58,581.581 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:12:58,584.584 INFO    ] No update needed
[2026-10-20 08:12:58,586.586 INFO    ] Checking for camera pi updates...
[2026-10-20 08:12:58,619.619 INFO    ] 200
[2026-10-20 08:12:58,622.622 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:12:58,671.671 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:12:58,720.720 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:12:58,723.723 INFO    ] No camera update needed
[2026-10-20 08:12:58,725.725 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:12:58,727.727 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:12:58,733.733 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:12:58,738.738 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:13:00,778.778 INFO    ] ================================================
[2026-10-20 08:13:00,793.793 INFO    ] Launching Daemon at Tue Oct 20 08:13:00 IST 2026
[2026-10-20 08:13:00,804.804 INFO    ] ================================================
[2026-10-20 08:13:01,410.410 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:13:01
[2026-10-20 08:13:02,179.179 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:13:02,488.488 INFO    ] Initializing speech engine...
[2026-10-20 08:13:02,504.504 INFO    ] 2026-10-20 08:13:02
[2026-10-20 08:13:02,820.820 INFO    ] 2026-10-20 08:13:02
[2026-10-20 08:13:02,862.862 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:13:03,103.103 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:13:03,127.127 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:13:03,282.282 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:13:03,286.286 INFO    ] time= 20/10/2026 08:13:03
[2026-10-20 08:13:03,292.292 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:13:03,348.348 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:13:03,495.495 INFO    ] No existing commands found in stream
[2026-10-20 08:13:08,513.513 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:13:08,516.516 INFO    ] Waiting 0.91 seconds before fallback handling...
[2026-10-20 08:13:09,930.930 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 08:13:09,933.933 INFO    ] Checking for system updates...
[2026-10-20 08:13:09,968.968 INFO    ] 200
[2026-10-20 08:13:09,971.971 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:13:10,029.029 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:13:10,031.031 INFO    ] No update needed
[2026-10-20 08:13:10,034.034 INFO    ] Checking for camera pi updates...
[2026-10-20 08:13:10,071.071 INFO    ] 200
[2026-10-20 08:13:10,073.073 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:13:10,117.117 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:13:10,177.177 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:13:10,179.179 INFO    ] No camera update needed
[2026-10-20 08:13:10,182.182 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:13:10,184.184 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:13:10,189.189 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:13:10,194.194 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:13:12,235.235 INFO    ] ================================================
[2026-10-20 08:13:12,250.250 INFO    ] Launching Daemon at Tue Oct 20 08:13:12 IST 2026
[2026-10-20 08:13:12,261.261 INFO    ] ================================================
[2026-10-20 08:13:12,826.826 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:13:12
[2026-10-20 08:13:13,408.408 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:13:13,655.655 INFO    ] Initializing speech engine...
[2026-10-20 08:13:13,677.677 INFO    ] 2026-10-20 08:13:13
[2026-10-20 08:13:13,929.929 INFO    ] 2026-10-20 08:13:13
[2026-10-20 08:13:13,964.964 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:13:14,160.160 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:13:14,217.217 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:13:14,358.358 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:13:14,423.423 INFO    ] time= 20/10/2026 08:13:14
[2026-10-20 08:13:14,472.472 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:13:14,488.488 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:13:14,630.630 INFO    ] No existing commands found in stream
[2026-10-20 08:13:19,645.645 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:13:19,648.648 INFO    ] Waiting 0.54 seconds before fallback handling...
[2026-10-20 08:13:20,706.706 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:13:20,708.708 INFO    ] Checking for system updates...
[2026-10-20 08:13:20,747.747 INFO    ] 200
[2026-10-20 08:13:20,750.750 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:13:20,802.802 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:13:20,804.804 INFO    ] No update needed
[2026-10-20 08:13:20,807.807 INFO    ] Checking for camera pi updates...
[2026-10-20 08:13:20,843.843 INFO    ] 200
[2026-10-20 08:13:20,846.846 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:13:20,885.885 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:13:20,938.938 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:13:20,941.941 INFO    ] No camera update needed
[2026-10-20 08:13:20,943.943 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:13:20,945.945 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:13:20,951.951 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:13:20,956.956 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:13:22,994.994 INFO    ] ================================================
[2026-10-20 08:13:23,010.010 INFO    ] Launching Daemon at Tue Oct 20 08:13:23 IST 2026
[2026-10-20 08:13:23,021.021 INFO    ] ================================================
[2026-10-20 08:13:23,585.585 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:13:23
[2026-10-20 08:13:24,166.166 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:13:24,433.433 INFO    ] Initializing speech engine...
[2026-10-20 08:13:24,449.449 INFO    ] 2026-10-20 08:13:24
[2026-10-20 08:13:24,717.717 INFO    ] 2026-10-20 08:13:24
[2026-10-20 08:13:24,754.754 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:13:24,958.958 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:13:24,976.976 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:13:25,126.126 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:13:25,131.131 INFO    ] time= 20/10/2026 08:13:25
[2026-10-20 08:13:25,137.137 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:13:25,162.162 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:13:25,300.300 INFO    ] No existing commands found in stream
[2026-10-20 08:13:30,325.325 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:13:30,328.328 INFO    ] Waiting 3.95 seconds before fallback handling...
[2026-10-20 08:13:34,723.723 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 08:13:34,725.725 INFO    ] Checking for system updates...
[2026-10-20 08:13:34,768.768 INFO    ] 200
[2026-10-20 08:13:34,770.770 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:13:34,823.823 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:13:34,825.825 INFO    ] No update needed
[2026-10-20 08:13:34,827.827 INFO    ] Checking for camera pi updates...
[2026-10-20 08:13:34,864.864 INFO    ] 200
[2026-10-20 08:13:34,866.866 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:13:34,905.905 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:13:34,959.959 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:13:34,962.962 INFO    ] No camera update needed
[2026-10-20 08:13:34,964.964 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:13:34,967.967 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:13:34,973.973 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:13:34,979.979 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:13:37,020.020 INFO    ] ================================================
[2026-10-20 08:13:37,034.034 INFO    ] Launching Daemon at Tue Oct 20 08:13:37 IST 2026
[2026-10-20 08:13:37,045.045 INFO    ] ================================================
[2026-10-20 08:13:37,613.613 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:13:37
[2026-10-20 08:13:38,197.197 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:13:38,467.467 INFO    ] Initializing speech engine...
[2026-10-20 08:13:38,476.476 INFO    ] 2026-10-20 08:13:38
[2026-10-20 08:13:38,727.727 INFO    ] 2026-10-20 08:13:38
[2026-10-20 08:13:38,770.770 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:13:39,020.020 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:13:39,031.031 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:13:39,167.167 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:13:39,231.231 INFO    ] time= 20/10/2026 08:13:39
[2026-10-20 08:13:39,296.296 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:13:39,312.312 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:13:39,434.434 INFO    ] No existing commands found in stream
[2026-10-20 08:13:44,452.452 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:13:44,455.455 INFO    ] Waiting 3.75 seconds before fallback handling...
[2026-10-20 08:13:48,697.697 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 08:13:48,699.699 INFO    ] Checking for system updates...
[2026-10-20 08:13:48,735.735 INFO    ] 200
[2026-10-20 08:13:48,738.738 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:13:48,791.791 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:13:48,793.793 INFO    ] No update needed
[2026-10-20 08:13:48,796.796 INFO    ] Checking for camera pi updates...
[2026-10-20 08:13:48,833.833 INFO    ] 200
[2026-10-20 08:13:48,836.836 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:13:48,884.884 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:13:48,938.938 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:13:48,941.941 INFO    ] No camera update needed
[2026-10-20 08:13:48,944.944 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:13:48,946.946 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:13:48,952.952 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:13:48,958.958 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:13:51,999.999 INFO    ] ================================================
[2026-10-20 08:13:51,014.014 INFO    ] Launching Daemon at Tue Oct 20 08:13:51 IST 2026
[2026-10-20 08:13:51,025.025 INFO    ] ================================================
[2026-10-20 08:13:51,610.610 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:13:51
[2026-10-20 08:13:52,211.211 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:13:52,469.469 INFO    ] Initializing speech engine...
[2026-10-20 08:13:52,475.475 INFO    ] 2026-10-20 08:13:52
[2026-10-20 08:13:52,769.769 INFO    ] 2026-10-20 08:13:52
[2026-10-20 08:13:52,805.805 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:13:53,004.004 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:13:53,028.028 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:13:53,179.179 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:13:53,186.186 INFO    ] time= 20/10/2026 08:13:53
[2026-10-20 08:13:53,195.195 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:13:53,240.240 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:13:53,369.369 INFO    ] No existing commands found in stream
[2026-10-20 08:13:58,394.394 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:13:58,397.397 INFO    ] Waiting 0.27 seconds before fallback handling...
[2026-10-20 08:13:59,176.176 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 08:13:59,178.178 INFO    ] Checking for system updates...
[2026-10-20 08:13:59,214.214 INFO    ] 200
[2026-10-20 08:13:59,217.217 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:13:59,274.274 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:13:59,277.277 INFO    ] No update needed
[2026-10-20 08:13:59,279.279 INFO    ] Checking for camera pi updates...
[2026-10-20 08:13:59,316.316 INFO    ] 200
[2026-10-20 08:13:59,319.319 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:13:59,359.359 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:13:59,391.391 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:13:59,394.394 INFO    ] No camera update needed
[2026-10-20 08:13:59,396.396 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:13:59,399.399 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:13:59,404.404 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:13:59,409.409 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:14:01,449.449 INFO    ] ================================================
[2026-10-20 08:14:01,464.464 INFO    ] Launching Daemon at Tue Oct 20 08:14:01 IST 2026
[2026-10-20 08:14:01,474.474 INFO    ] ================================================
[2026-10-20 08:14:02,234.234 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:14:02
[2026-10-20 08:14:02,900.900 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:14:03,243.243 INFO    ] Initializing speech engine...
[2026-10-20 08:14:03,257.257 INFO    ] 2026-10-20 08:14:03
[2026-10-20 08:14:03,542.542 INFO    ] 2026-10-20 08:14:03
[2026-10-20 08:14:03,576.576 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:14:03,839.839 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:14:03,847.847 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:14:03,987.987 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:14:04,042.042 INFO    ] time= 20/10/2026 08:14:03
[2026-10-20 08:14:04,096.096 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:14:04,115.115 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:14:04,240.240 INFO    ] No existing commands found in stream
[2026-10-20 08:14:09,265.265 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:14:09,268.268 INFO    ] Waiting 0.59 seconds before fallback handling...
[2026-10-20 08:14:10,336.336 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:14:10,339.339 INFO    ] Checking for system updates...
[2026-10-20 08:14:10,374.374 INFO    ] 200
[2026-10-20 08:14:10,377.377 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:14:10,433.433 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:14:10,435.435 INFO    ] No update needed
[2026-10-20 08:14:10,437.437 INFO    ] Checking for camera pi updates...
[2026-10-20 08:14:10,470.470 INFO    ] 200
[2026-10-20 08:14:10,473.473 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:14:10,513.513 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:14:10,560.560 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:14:10,562.562 INFO    ] No camera update needed
[2026-10-20 08:14:10,565.565 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:14:10,567.567 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:14:10,572.572 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:14:10,577.577 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:14:12,618.618 INFO    ] ================================================
[2026-10-20 08:14:12,633.633 INFO    ] Launching Daemon at Tue Oct 20 08:14:12 IST 2026
[2026-10-20 08:14:12,644.644 INFO    ] ================================================
[2026-10-20 08:14:13,275.275 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:14:13
[2026-10-20 08:14:13,924.924 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:14:14,220.220 INFO    ] Initializing speech engine...
[2026-10-20 08:14:14,226.226 INFO    ] 2026-10-20 08:14:14
[2026-10-20 08:14:14,501.501 INFO    ] 2026-10-20 08:14:14
[2026-10-20 08:14:14,536.536 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:14:14,807.807 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:14:14,815.815 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:14:15,014.014 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:14:15,050.050 INFO    ] time= 20/10/2026 08:14:15
[2026-10-20 08:14:15,057.057 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:14:15,077.077 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:14:15,208.208 INFO    ] No existing commands found in stream
[2026-10-20 08:14:20,236.236 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:14:20,239.239 INFO    ] Waiting 2.69 seconds before fallback handling...
[2026-10-20 08:14:23,474.474 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:14:23,477.477 INFO    ] Checking for system updates...
[2026-10-20 08:14:23,513.513 INFO    ] 200
[2026-10-20 08:14:23,516.516 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:14:23,568.568 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:14:23,571.571 INFO    ] No update needed
[2026-10-20 08:14:23,573.573 INFO    ] Checking for camera pi updates...
[2026-10-20 08:14:23,607.607 INFO    ] 200
[2026-10-20 08:14:23,610.610 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:14:23,654.654 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:14:23,709.709 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:14:23,712.712 INFO    ] No camera update needed
[2026-10-20 08:14:23,714.714 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:14:23,717.717 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:14:23,723.723 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:14:23,728.728 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:14:25,771.771 INFO    ] ================================================
[2026-10-20 08:14:25,786.786 INFO    ] Launching Daemon at Tue Oct 20 08:14:25 IST 2026
[2026-10-20 08:14:25,796.796 INFO    ] ================================================
[2026-10-20 08:14:26,430.430 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:14:26
[2026-10-20 08:14:27,068.068 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:14:27,313.313 INFO    ] Initializing speech engine...
[2026-10-20 08:14:27,327.327 INFO    ] 2026-10-20 08:14:27
[2026-10-20 08:14:27,588.588 INFO    ] 2026-10-20 08:14:27
[2026-10-20 08:14:27,624.624 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:14:27,825.825 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:14:27,877.877 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:14:28,135.135 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:14:28,145.145 INFO    ] time= 20/10/2026 08:14:28
[2026-10-20 08:14:28,163.163 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:14:28,191.191 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:14:28,308.308 INFO    ] No existing commands found in stream
[2026-10-20 08:14:33,337.337 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:14:33,340.340 INFO    ] Waiting 1.83 seconds before fallback handling...
[2026-10-20 08:14:35,683.683 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:14:35,685.685 INFO    ] Checking for system updates...
[2026-10-20 08:14:35,721.721 INFO    ] 200
[2026-10-20 08:14:35,724.724 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:14:35,782.782 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:14:35,785.785 INFO    ] No update needed
[2026-10-20 08:14:35,791.791 INFO    ] Checking for camera pi updates...
[2026-10-20 08:14:35,824.824 INFO    ] 200
[2026-10-20 08:14:35,827.827 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:14:35,867.867 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:14:35,917.917 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:14:35,920.920 INFO    ] No camera update needed
[2026-10-20 08:14:35,923.923 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:14:35,925.925 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:14:35,932.932 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:14:35,937.937 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:14:37,980.980 INFO    ] ================================================
[2026-10-20 08:14:37,995.995 INFO    ] Launching Daemon at Tue Oct 20 08:14:37 IST 2026
[2026-10-20 08:14:38,005.005 INFO    ] ================================================
[2026-10-20 08:14:38,634.634 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:14:38
[2026-10-20 08:14:39,282.282 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:14:39,577.577 INFO    ] Initializing speech engine...
[2026-10-20 08:14:39,585.585 INFO    ] 2026-10-20 08:14:39
[2026-10-20 08:14:39,854.854 INFO    ] 2026-10-20 08:14:39
[2026-10-20 08:14:39,910.910 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:14:40,195.195 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:14:40,201.201 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:14:40,377.377 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:14:40,402.402 INFO    ] time= 20/10/2026 08:14:40
[2026-10-20 08:14:40,421.421 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:14:40,450.450 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:14:40,575.575 INFO    ] No existing commands found in stream
[2026-10-20 08:14:45,611.611 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:14:45,614.614 INFO    ] Waiting 0.20 seconds before fallback handling...
[2026-10-20 08:14:46,317.317 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:14:46,320.320 INFO    ] Checking for system updates...
[2026-10-20 08:14:46,360.360 INFO    ] 200
[2026-10-20 08:14:46,363.363 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:14:46,416.416 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:14:46,419.419 INFO    ] No update needed
[2026-10-20 08:14:46,422.422 INFO    ] Checking for camera pi updates...
[2026-10-20 08:14:46,458.458 INFO    ] 200
[2026-10-20 08:14:46,461.461 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:14:46,506.506 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:14:46,562.562 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:14:46,564.564 INFO    ] No camera update needed
[2026-10-20 08:14:46,567.567 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:14:46,569.569 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:14:46,575.575 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:14:46,581.581 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:14:48,622.622 INFO    ] ================================================
[2026-10-20 08:14:48,636.636 INFO    ] Launching Daemon at Tue Oct 20 08:14:48 IST 2026
[2026-10-20 08:14:48,647.647 INFO    ] ================================================
[2026-10-20 08:14:49,274.274 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:14:49
[2026-10-20 08:14:49,923.923 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:14:50,217.217 INFO    ] Initializing speech engine...
[2026-10-20 08:14:50,224.224 INFO    ] 2026-10-20 08:14:50
[2026-10-20 08:14:50,492.492 INFO    ] 2026-10-20 08:14:50
[2026-10-20 08:14:50,546.546 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:14:50,775.775 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:14:50,781.781 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:14:50,993.993 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:14:51,039.039 INFO    ] time= 20/10/2026 08:14:51
[2026-10-20 08:14:51,056.056 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:14:51,066.066 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:14:51,210.210 INFO    ] No existing commands found in stream
[2026-10-20 08:14:56,241.241 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:14:56,244.244 INFO    ] Waiting 1.41 seconds before fallback handling...
[2026-10-20 08:14:58,182.182 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:14:58,185.185 INFO    ] Checking for system updates...
[2026-10-20 08:14:58,221.221 INFO    ] 200
[2026-10-20 08:14:58,223.223 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:14:58,278.278 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:14:58,281.281 INFO    ] No update needed
[2026-10-20 08:14:58,283.283 INFO    ] Checking for camera pi updates...
[2026-10-20 08:14:58,316.316 INFO    ] 200
[2026-10-20 08:14:58,318.318 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:14:58,358.358 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:14:58,406.406 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:14:58,409.409 INFO    ] No camera update needed
[2026-10-20 08:14:58,411.411 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:14:58,413.413 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:14:58,419.419 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:14:58,423.423 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:15:00,462.462 INFO    ] ================================================
[2026-10-20 08:15:00,477.477 INFO    ] Launching Daemon at Tue Oct 20 08:15:00 IST 2026
[2026-10-20 08:15:00,488.488 INFO    ] ================================================
[2026-10-20 08:15:01,054.054 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:15:01
[2026-10-20 08:15:01,641.641 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:15:02,439.439 INFO    ] Initializing speech engine...
[2026-10-20 08:15:02,481.481 INFO    ] 2026-10-20 08:15:02
[2026-10-20 08:15:02,900.900 INFO    ] 2026-10-20 08:15:02
[2026-10-20 08:15:02,947.947 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:15:03,204.204 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:15:03,276.276 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:15:03,497.497 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:15:03,571.571 INFO    ] time= 20/10/2026 08:15:03
[2026-10-20 08:15:03,637.637 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:15:03,697.697 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:15:03,823.823 INFO    ] No existing commands found in stream
[2026-10-20 08:15:08,854.854 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:15:08,856.856 INFO    ] Waiting 2.43 seconds before fallback handling...
[2026-10-20 08:15:11,830.830 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:15:11,833.833 INFO    ] Checking for system updates...
[2026-10-20 08:15:11,869.869 INFO    ] 200
[2026-10-20 08:15:11,872.872 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:15:11,923.923 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:15:11,926.926 INFO    ] No update needed
[2026-10-20 08:15:11,928.928 INFO    ] Checking for camera pi updates...
[2026-10-20 08:15:11,962.962 INFO    ] 200
[2026-10-20 08:15:11,964.964 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:15:12,005.005 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:15:12,054.054 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:15:12,056.056 INFO    ] No camera update needed
[2026-10-20 08:15:12,059.059 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:15:12,061.061 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:15:12,067.067 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:15:12,072.072 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:15:14,111.111 INFO    ] ================================================
[2026-10-20 08:15:14,127.127 INFO    ] Launching Daemon at Tue Oct 20 08:15:14 IST 2026
[2026-10-20 08:15:14,137.137 INFO    ] ================================================
[2026-10-20 08:15:14,768.768 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:15:14
[2026-10-20 08:15:15,442.442 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:15:15,750.750 INFO    ] Initializing speech engine...
[2026-10-20 08:15:15,759.759 INFO    ] 2026-10-20 08:15:15
[2026-10-20 08:15:16,032.032 INFO    ] 2026-10-20 08:15:16
[2026-10-20 08:15:16,067.067 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:15:16,334.334 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:15:16,341.341 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:15:16,560.560 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:15:16,606.606 INFO    ] time= 20/10/2026 08:15:16
[2026-10-20 08:15:16,613.613 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:15:16,635.635 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:15:16,785.785 INFO    ] No existing commands found in stream
[2026-10-20 08:15:21,829.829 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:15:21,832.832 INFO    ] Waiting 3.52 seconds before fallback handling...
[2026-10-20 08:15:25,906.906 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 08:15:25,909.909 INFO    ] Checking for system updates...
[2026-10-20 08:15:25,946.946 INFO    ] 200
[2026-10-20 08:15:25,949.949 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:15:26,001.001 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:15:26,004.004 INFO    ] No update needed
[2026-10-20 08:15:26,006.006 INFO    ] Checking for camera pi updates...
[2026-10-20 08:15:26,043.043 INFO    ] 200
[2026-10-20 08:15:26,045.045 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:15:26,085.085 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:15:26,134.134 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:15:26,136.136 INFO    ] No camera update needed
[2026-10-20 08:15:26,138.138 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:15:26,141.141 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:15:26,146.146 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:15:26,151.151 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:15:28,190.190 INFO    ] ================================================
[2026-10-20 08:15:28,205.205 INFO    ] Launching Daemon at Tue Oct 20 08:15:28 IST 2026
[2026-10-20 08:15:28,216.216 INFO    ] ================================================
[2026-10-20 08:15:28,871.871 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:15:28
[2026-10-20 08:15:29,552.552 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:15:29,855.855 INFO    ] Initializing speech engine...
[2026-10-20 08:15:29,863.863 INFO    ] 2026-10-20 08:15:29
[2026-10-20 08:15:30,149.149 INFO    ] 2026-10-20 08:15:30
[2026-10-20 08:15:30,192.192 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:15:30,480.480 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:15:30,486.486 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:15:30,664.664 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:15:30,688.688 INFO    ] time= 20/10/2026 08:15:30
[2026-10-20 08:15:30,706.706 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:15:30,719.719 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:15:30,871.871 INFO    ] No existing commands found in stream
[2026-10-20 08:15:35,897.897 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:15:35,900.900 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-10-20 08:15:39,867.867 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:15:39,870.870 INFO    ] Checking for system updates...
[2026-10-20 08:15:39,906.906 INFO    ] 200
[2026-10-20 08:15:39,908.908 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:15:39,965.965 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:15:39,968.968 INFO    ] No update needed
[2026-10-20 08:15:39,970.970 INFO    ] Checking for camera pi updates...
[2026-10-20 08:15:40,003.003 INFO    ] 200
[2026-10-20 08:15:40,006.006 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:15:40,046.046 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:15:40,188.188 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:15:40,190.190 INFO    ] No camera update needed
[2026-10-20 08:15:40,193.193 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:15:40,195.195 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:15:40,200.200 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:15:40,205.205 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:15:42,244.244 INFO    ] ================================================
[2026-10-20 08:15:42,265.265 INFO    ] Launching Daemon at Tue Oct 20 08:15:42 IST 2026
[2026-10-20 08:15:42,276.276 INFO    ] ================================================
[2026-10-20 08:15:42,842.842 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:15:42
[2026-10-20 08:15:43,423.423 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:15:43,677.677 INFO    ] Initializing speech engine...
[2026-10-20 08:15:43,682.682 INFO    ] 2026-10-20 08:15:43
[2026-10-20 08:15:43,986.986 INFO    ] 2026-10-20 08:15:43
[2026-10-20 08:15:44,024.024 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:15:44,252.252 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:15:44,270.270 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:15:44,471.471 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:15:44,491.491 INFO    ] time= 20/10/2026 08:15:44
[2026-10-20 08:15:44,533.533 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:15:44,592.592 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:15:44,711.711 INFO    ] No existing commands found in stream
[2026-10-20 08:15:49,726.726 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:15:49,729.729 INFO    ] Waiting 0.74 seconds before fallback handling...
[2026-10-20 08:15:50,996.996 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:15:50,999.999 INFO    ] Checking for system updates...
[2026-10-20 08:15:51,034.034 INFO    ] 200
[2026-10-20 08:15:51,036.036 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:15:51,089.089 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:15:51,092.092 INFO    ] No update needed
[2026-10-20 08:15:51,094.094 INFO    ] Checking for camera pi updates...
[2026-10-20 08:15:51,127.127 INFO    ] 200
[2026-10-20 08:15:51,129.129 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:15:51,170.170 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:15:51,222.222 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:15:51,224.224 INFO    ] No camera update needed
[2026-10-20 08:15:51,226.226 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:15:51,229.229 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:15:51,234.234 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:15:51,239.239 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:15:53,278.278 INFO    ] ================================================
[2026-10-20 08:15:53,293.293 INFO    ] Launching Daemon at Tue Oct 20 08:15:53 IST 2026
[2026-10-20 08:15:53,303.303 INFO    ] ================================================
[2026-10-20 08:15:53,890.890 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:15:53
[2026-10-20 08:15:54,489.489 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:15:54,762.762 INFO    ] Initializing speech engine...
[2026-10-20 08:15:54,766.766 INFO    ] 2026-10-20 08:15:54
[2026-10-20 08:15:55,011.011 INFO    ] 2026-10-20 08:15:55
[2026-10-20 08:15:55,053.053 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:15:55,297.297 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:15:55,306.306 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:15:55,513.513 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:15:55,563.563 INFO    ] time= 20/10/2026 08:15:55
[2026-10-20 08:15:55,570.570 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:15:55,587.587 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:15:55,737.737 INFO    ] No existing commands found in stream
[2026-10-20 08:16:00,767.767 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:16:00,770.770 INFO    ] Waiting 0.06 seconds before fallback handling...
[2026-10-20 08:16:01,387.387 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:16:01,390.390 INFO    ] Checking for system updates...
[2026-10-20 08:16:01,440.440 INFO    ] 200
[2026-10-20 08:16:01,444.444 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:16:01,565.565 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:16:01,573.573 INFO    ] No update needed
[2026-10-20 08:16:01,578.578 INFO    ] Checking for camera pi updates...
[2026-10-20 08:16:01,637.637 INFO    ] 200
[2026-10-20 08:16:01,642.642 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:16:01,719.719 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:16:01,770.770 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:16:01,783.783 INFO    ] No camera update needed
[2026-10-20 08:16:01,786.786 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:16:01,799.799 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:16:01,806.806 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:16:01,823.823 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:16:03,871.871 INFO    ] ================================================
[2026-10-20 08:16:03,886.886 INFO    ] Launching Daemon at Tue Oct 20 08:16:03 IST 2026
[2026-10-20 08:16:03,897.897 INFO    ] ================================================
[2026-10-20 08:16:04,482.482 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:16:04
[2026-10-20 08:16:05,070.070 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:16:05,321.321 INFO    ] Initializing speech engine...
[2026-10-20 08:16:05,330.330 INFO    ] 2026-10-20 08:16:05
[2026-10-20 08:16:05,605.605 INFO    ] 2026-10-20 08:16:05
[2026-10-20 08:16:05,641.641 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:16:05,843.843 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:16:05,901.901 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:16:06,046.046 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:16:06,092.092 INFO    ] time= 20/10/2026 08:16:06
[2026-10-20 08:16:06,146.146 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:16:06,181.181 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:16:06,307.307 INFO    ] No existing commands found in stream
[2026-10-20 08:16:11,340.340 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:16:11,343.343 INFO    ] Waiting 0.50 seconds before fallback handling...
[2026-10-20 08:16:12,345.345 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:16:12,347.347 INFO    ] Checking for system updates...
[2026-10-20 08:16:12,383.383 INFO    ] 200
[2026-10-20 08:16:12,385.385 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:16:12,438.438 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:16:12,446.446 INFO    ] No update needed
[2026-10-20 08:16:12,448.448 INFO    ] Checking for camera pi updates...
[2026-10-20 08:16:12,490.490 INFO    ] 200
[2026-10-20 08:16:12,493.493 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:16:12,548.548 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:16:12,594.594 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:16:12,596.596 INFO    ] No camera update needed
[2026-10-20 08:16:12,598.598 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:16:12,601.601 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:16:12,606.606 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:16:12,612.612 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:16:14,654.654 INFO    ] ================================================
[2026-10-20 08:16:14,670.670 INFO    ] Launching Daemon at Tue Oct 20 08:16:14 IST 2026
[2026-10-20 08:16:14,680.680 INFO    ] ================================================
[2026-10-20 08:16:15,336.336 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:16:15
[2026-10-20 08:16:16,017.017 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:16:16,325.325 INFO    ] Initializing speech engine...
[2026-10-20 08:16:16,335.335 INFO    ] 2026-10-20 08:16:16
[2026-10-20 08:16:16,610.610 INFO    ] 2026-10-20 08:16:16
[2026-10-20 08:16:16,667.667 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:16:16,905.905 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:16:16,917.917 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:16:17,123.123 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:16:17,176.176 INFO    ] time= 20/10/2026 08:16:17
[2026-10-20 08:16:17,184.184 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:16:17,206.206 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:16:17,336.336 INFO    ] No existing commands found in stream
[2026-10-20 08:16:22,351.351 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:16:22,355.355 INFO    ] Waiting 2.37 seconds before fallback handling...
[2026-10-20 08:16:25,265.265 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 08:16:25,268.268 INFO    ] Checking for system updates...
[2026-10-20 08:16:25,305.305 INFO    ] 200
[2026-10-20 08:16:25,308.308 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:16:25,361.361 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:16:25,364.364 INFO    ] No update needed
[2026-10-20 08:16:25,367.367 INFO    ] Checking for camera pi updates...
[2026-10-20 08:16:25,401.401 INFO    ] 200
[2026-10-20 08:16:25,404.404 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:16:25,454.454 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:16:25,501.501 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:16:25,504.504 INFO    ] No camera update needed
[2026-10-20 08:16:25,506.506 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:16:25,509.509 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:16:25,514.514 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:16:25,519.519 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:16:27,564.564 INFO    ] ================================================
[2026-10-20 08:16:27,580.580 INFO    ] Launching Daemon at Tue Oct 20 08:16:27 IST 2026
[2026-10-20 08:16:27,591.591 INFO    ] ================================================
[2026-10-20 08:16:28,252.252 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:16:28
[2026-10-20 08:16:28,933.933 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:16:29,241.241 INFO    ] Initializing speech engine...
[2026-10-20 08:16:29,255.255 INFO    ] 2026-10-20 08:16:29
[2026-10-20 08:16:29,543.543 INFO    ] 2026-10-20 08:16:29
[2026-10-20 08:16:29,655.655 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:16:29,871.871 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:16:29,881.881 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:16:30,073.073 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:16:30,080.080 INFO    ] time= 20/10/2026 08:16:30
[2026-10-20 08:16:30,098.098 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:16:30,121.121 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:16:30,246.246 INFO    ] No existing commands found in stream
[2026-10-20 08:16:35,277.277 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:16:35,280.280 INFO    ] Waiting 3.50 seconds before fallback handling...
[2026-10-20 08:16:39,343.343 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:16:39,346.346 INFO    ] Checking for system updates...
[2026-10-20 08:16:39,383.383 INFO    ] 200
[2026-10-20 08:16:39,386.386 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:16:39,445.445 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:16:39,448.448 INFO    ] No update needed
[2026-10-20 08:16:39,451.451 INFO    ] Checking for camera pi updates...
[2026-10-20 08:16:39,485.485 INFO    ] 200
[2026-10-20 08:16:39,488.488 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:16:39,530.530 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:16:39,576.576 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:16:39,579.579 INFO    ] No camera update needed
[2026-10-20 08:16:39,582.582 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:16:39,584.584 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:16:39,591.591 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:16:39,596.596 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:16:41,638.638 INFO    ] ================================================
[2026-10-20 08:16:41,653.653 INFO    ] Launching Daemon at Tue Oct 20 08:16:41 IST 2026
[2026-10-20 08:16:41,664.664 INFO    ] ================================================
[2026-10-20 08:16:42,231.231 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:16:42
[2026-10-20 08:16:42,822.822 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:16:43,075.075 INFO    ] Initializing speech engine...
[2026-10-20 08:16:43,098.098 INFO    ] 2026-10-20 08:16:43
[2026-10-20 08:16:43,354.354 INFO    ] 2026-10-20 08:16:43
[2026-10-20 08:16:43,390.390 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:16:43,593.593 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:16:43,652.652 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:16:43,798.798 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:16:43,832.832 INFO    ] time= 20/10/2026 08:16:43
[2026-10-20 08:16:43,886.886 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:16:43,932.932 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:16:44,065.065 INFO    ] No existing commands found in stream
[2026-10-20 08:16:49,090.090 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:16:49,093.093 INFO    ] Waiting 3.01 seconds before fallback handling...
[2026-10-20 08:16:52,594.594 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 08:16:52,596.596 INFO    ] Checking for system updates...
[2026-10-20 08:16:52,635.635 INFO    ] 200
[2026-10-20 08:16:52,637.637 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:16:52,707.707 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:16:52,710.710 INFO    ] No update needed
[2026-10-20 08:16:52,712.712 INFO    ] Checking for camera pi updates...
[2026-10-20 08:16:52,745.745 INFO    ] 200
[2026-10-20 08:16:52,747.747 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:16:52,787.787 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:16:52,836.836 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:16:52,839.839 INFO    ] No camera update needed
[2026-10-20 08:16:52,841.841 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:16:52,844.844 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:16:52,849.849 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:16:52,854.854 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:16:54,893.893 INFO    ] ================================================
[2026-10-20 08:16:54,909.909 INFO    ] Launching Daemon at Tue Oct 20 08:16:54 IST 2026
[2026-10-20 08:16:54,920.920 INFO    ] ================================================
[2026-10-20 08:16:55,501.501 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:16:55
[2026-10-20 08:16:56,100.100 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:16:56,374.374 INFO    ] Initializing speech engine...
[2026-10-20 08:16:56,384.384 INFO    ] 2026-10-20 08:16:56
[2026-10-20 08:16:56,637.637 INFO    ] 2026-10-20 08:16:56
[2026-10-20 08:16:56,673.673 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:16:56,918.918 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:16:56,927.927 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:16:57,061.061 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:16:57,126.126 INFO    ] time= 20/10/2026 08:16:57
[2026-10-20 08:16:57,187.187 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:16:57,194.194 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:16:57,345.345 INFO    ] No existing commands found in stream
[2026-10-20 08:17:02,371.371 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:17:02,374.374 INFO    ] Waiting 0.17 seconds before fallback handling...
[2026-10-20 08:17:03,061.061 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 08:17:03,067.067 INFO    ] Checking for system updates...
[2026-10-20 08:17:03,105.105 INFO    ] 200
[2026-10-20 08:17:03,108.108 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:17:03,173.173 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:17:03,176.176 INFO    ] No update needed
[2026-10-20 08:17:03,179.179 INFO    ] Checking for camera pi updates...
[2026-10-20 08:17:03,229.229 INFO    ] 200
[2026-10-20 08:17:03,232.232 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:17:03,278.278 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:17:03,329.329 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:17:03,332.332 INFO    ] No camera update needed
[2026-10-20 08:17:03,335.335 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:17:03,337.337 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:17:03,343.343 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:17:03,348.348 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:17:05,391.391 INFO    ] ================================================
[2026-10-20 08:17:05,405.405 INFO    ] Launching Daemon at Tue Oct 20 08:17:05 IST 2026
[2026-10-20 08:17:05,416.416 INFO    ] ================================================
[2026-10-20 08:17:05,983.983 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:17:05
[2026-10-20 08:17:06,567.567 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:17:06,816.816 INFO    ] Initializing speech engine...
[2026-10-20 08:17:06,831.831 INFO    ] 2026-10-20 08:17:06
[2026-10-20 08:17:07,099.099 INFO    ] 2026-10-20 08:17:07
[2026-10-20 08:17:07,134.134 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:17:07,394.394 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:17:07,402.402 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:17:07,607.607 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:17:07,657.657 INFO    ] time= 20/10/2026 08:17:07
[2026-10-20 08:17:07,675.675 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:17:07,690.690 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:17:07,830.830 INFO    ] No existing commands found in stream
[2026-10-20 08:17:12,844.844 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:17:12,847.847 INFO    ] Waiting 3.77 seconds before fallback handling...
[2026-10-20 08:17:17,095.095 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 08:17:17,098.098 INFO    ] Checking for system updates...
[2026-10-20 08:17:17,133.133 INFO    ] 200
[2026-10-20 08:17:17,135.135 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:17:17,189.189 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:17:17,191.191 INFO    ] No update needed
[2026-10-20 08:17:17,194.194 INFO    ] Checking for camera pi updates...
[2026-10-20 08:17:17,228.228 INFO    ] 200
[2026-10-20 08:17:17,230.230 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:17:17,270.270 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:17:17,326.326 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:17:17,328.328 INFO    ] No camera update needed
[2026-10-20 08:17:17,331.331 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:17:17,333.333 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:17:17,338.338 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:17:17,343.343 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:17:19,386.386 INFO    ] ================================================
[2026-10-20 08:17:19,402.402 INFO    ] Launching Daemon at Tue Oct 20 08:17:19 IST 2026
[2026-10-20 08:17:19,413.413 INFO    ] ================================================
[2026-10-20 08:17:19,981.981 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:17:19
[2026-10-20 08:17:20,569.569 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:17:20,840.840 INFO    ] Initializing speech engine...
[2026-10-20 08:17:20,847.847 INFO    ] 2026-10-20 08:17:20
[2026-10-20 08:17:21,100.100 INFO    ] 2026-10-20 08:17:21
[2026-10-20 08:17:21,135.135 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:17:21,389.389 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:17:21,399.399 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:17:21,534.534 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:17:21,604.604 INFO    ] time= 20/10/2026 08:17:21
[2026-10-20 08:17:21,662.662 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:17:21,669.669 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:17:21,817.817 INFO    ] No existing commands found in stream
[2026-10-20 08:17:26,835.835 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:17:26,838.838 INFO    ] Waiting 1.80 seconds before fallback handling...
[2026-10-20 08:17:29,191.191 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 08:17:29,194.194 INFO    ] Checking for system updates...
[2026-10-20 08:17:29,230.230 INFO    ] 200
[2026-10-20 08:17:29,233.233 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:17:29,296.296 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:17:29,298.298 INFO    ] No update needed
[2026-10-20 08:17:29,301.301 INFO    ] Checking for camera pi updates...
[2026-10-20 08:17:29,334.334 INFO    ] 200
[2026-10-20 08:17:29,337.337 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:17:29,376.376 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:17:29,422.422 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:17:29,424.424 INFO    ] No camera update needed
[2026-10-20 08:17:29,426.426 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:17:29,429.429 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:17:29,434.434 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:17:29,439.439 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:17:31,479.479 INFO    ] ================================================
[2026-10-20 08:17:31,494.494 INFO    ] Launching Daemon at Tue Oct 20 08:17:31 IST 2026
[2026-10-20 08:17:31,505.505 INFO    ] ================================================
[2026-10-20 08:17:32,102.102 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:17:32
[2026-10-20 08:17:32,716.716 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:17:32,999.999 INFO    ] Initializing speech engine...
[2026-10-20 08:17:33,012.012 INFO    ] 2026-10-20 08:17:33
[2026-10-20 08:17:33,280.280 INFO    ] 2026-10-20 08:17:33
[2026-10-20 08:17:33,315.315 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:17:33,581.581 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:17:33,586.586 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:17:33,724.724 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:17:33,768.768 INFO    ] time= 20/10/2026 08:17:33
[2026-10-20 08:17:33,822.822 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:17:33,859.859 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:17:33,995.995 INFO    ] No existing commands found in stream
[2026-10-20 08:17:39,018.018 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:17:39,021.021 INFO    ] Waiting 2.56 seconds before fallback handling...
[2026-10-20 08:17:42,079.079 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 08:17:42,081.081 INFO    ] Checking for system updates...
[2026-10-20 08:17:42,116.116 INFO    ] 200
[2026-10-20 08:17:42,119.119 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:17:42,171.171 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:17:42,173.173 INFO    ] No update needed
[2026-10-20 08:17:42,175.175 INFO    ] Checking for camera pi updates...
[2026-10-20 08:17:42,209.209 INFO    ] 200
[2026-10-20 08:17:42,211.211 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:17:42,256.256 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:17:42,407.407 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:17:42,410.410 INFO    ] No camera update needed
[2026-10-20 08:17:42,413.413 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:17:42,415.415 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:17:42,420.420 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:17:42,425.425 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:17:44,466.466 INFO    ] ================================================
[2026-10-20 08:17:44,481.481 INFO    ] Launching Daemon at Tue Oct 20 08:17:44 IST 2026
[2026-10-20 08:17:44,492.492 INFO    ] ================================================
[2026-10-20 08:17:45,057.057 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:17:45
[2026-10-20 08:17:45,638.638 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:17:45,888.888 INFO    ] Initializing speech engine...
[2026-10-20 08:17:45,901.901 INFO    ] 2026-10-20 08:17:45
[2026-10-20 08:17:46,166.166 INFO    ] 2026-10-20 08:17:46
[2026-10-20 08:17:46,201.201 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:17:46,459.459 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:17:46,468.468 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:17:46,668.668 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:17:46,723.723 INFO    ] time= 20/10/2026 08:17:46
[2026-10-20 08:17:46,737.737 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:17:46,755.755 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:17:46,887.887 INFO    ] No existing commands found in stream
[2026-10-20 08:17:51,906.906 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:17:51,909.909 INFO    ] Waiting 3.70 seconds before fallback handling...
[2026-10-20 08:17:56,116.116 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 08:17:56,119.119 INFO    ] Checking for system updates...
[2026-10-20 08:17:56,156.156 INFO    ] 200
[2026-10-20 08:17:56,159.159 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:17:56,214.214 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:17:56,217.217 INFO    ] No update needed
[2026-10-20 08:17:56,219.219 INFO    ] Checking for camera pi updates...
[2026-10-20 08:17:56,254.254 INFO    ] 200
[2026-10-20 08:17:56,257.257 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:17:56,299.299 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:17:56,359.359 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:17:56,362.362 INFO    ] No camera update needed
[2026-10-20 08:17:56,365.365 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:17:56,367.367 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:17:56,374.374 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:17:56,379.379 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:17:58,419.419 INFO    ] ================================================
[2026-10-20 08:17:58,434.434 INFO    ] Launching Daemon at Tue Oct 20 08:17:58 IST 2026
[2026-10-20 08:17:58,445.445 INFO    ] ================================================
[2026-10-20 08:17:59,011.011 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:17:59
[2026-10-20 08:17:59,593.593 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:17:59,867.867 INFO    ] Initializing speech engine...
[2026-10-20 08:17:59,877.877 INFO    ] 2026-10-20 08:17:59
[2026-10-20 08:18:00,126.126 INFO    ] 2026-10-20 08:18:00
[2026-10-20 08:18:00,162.162 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:18:00,421.421 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:18:00,431.431 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:18:00,631.631 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:18:00,695.695 INFO    ] time= 20/10/2026 08:18:00
[2026-10-20 08:18:00,707.707 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:18:00,724.724 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:18:00,862.862 INFO    ] No existing commands found in stream
[2026-10-20 08:18:05,881.881 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:18:05,883.883 INFO    ] Waiting 0.68 seconds before fallback handling...
[2026-10-20 08:18:07,075.075 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:18:07,078.078 INFO    ] Checking for system updates...
[2026-10-20 08:18:07,116.116 INFO    ] 200
[2026-10-20 08:18:07,119.119 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:18:07,170.170 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:18:07,172.172 INFO    ] No update needed
[2026-10-20 08:18:07,175.175 INFO    ] Checking for camera pi updates...
[2026-10-20 08:18:07,207.207 INFO    ] 200
[2026-10-20 08:18:07,210.210 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:18:07,250.250 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:18:07,301.301 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:18:07,303.303 INFO    ] No camera update needed
[2026-10-20 08:18:07,306.306 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:18:07,308.308 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:18:07,313.313 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:18:07,318.318 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:18:09,359.359 INFO    ] ================================================
[2026-10-20 08:18:09,374.374 INFO    ] Launching Daemon at Tue Oct 20 08:18:09 IST 2026
[2026-10-20 08:18:09,385.385 INFO    ] ================================================
[2026-10-20 08:18:09,952.952 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:18:09
[2026-10-20 08:18:10,538.538 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:18:10,835.835 INFO    ] Initializing speech engine...
[2026-10-20 08:18:10,842.842 INFO    ] 2026-10-20 08:18:10
[2026-10-20 08:18:11,128.128 INFO    ] 2026-10-20 08:18:11
[2026-10-20 08:18:11,173.173 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:18:11,421.421 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:18:11,428.428 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:18:11,638.638 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:18:11,666.666 INFO    ] time= 20/10/2026 08:18:11
[2026-10-20 08:18:11,686.686 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:18:11,716.716 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:18:11,855.855 INFO    ] No existing commands found in stream
[2026-10-20 08:18:16,881.881 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:18:16,884.884 INFO    ] Waiting 3.34 seconds before fallback handling...
[2026-10-20 08:18:20,771.771 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:18:20,774.774 INFO    ] Checking for system updates...
[2026-10-20 08:18:20,810.810 INFO    ] 200
[2026-10-20 08:18:20,813.813 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:18:20,865.865 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:18:20,868.868 INFO    ] No update needed
[2026-10-20 08:18:20,870.870 INFO    ] Checking for camera pi updates...
[2026-10-20 08:18:20,908.908 INFO    ] 200
[2026-10-20 08:18:20,911.911 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:18:20,952.952 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:18:21,011.011 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:18:21,014.014 INFO    ] No camera update needed
[2026-10-20 08:18:21,016.016 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:18:21,019.019 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:18:21,025.025 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:18:21,031.031 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:18:23,072.072 INFO    ] ================================================
[2026-10-20 08:18:23,087.087 INFO    ] Launching Daemon at Tue Oct 20 08:18:23 IST 2026
[2026-10-20 08:18:23,098.098 INFO    ] ================================================
[2026-10-20 08:18:23,669.669 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:18:23
[2026-10-20 08:18:24,254.254 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:18:24,503.503 INFO    ] Initializing speech engine...
[2026-10-20 08:18:24,525.525 INFO    ] 2026-10-20 08:18:24
[2026-10-20 08:18:24,778.778 INFO    ] 2026-10-20 08:18:24
[2026-10-20 08:18:24,813.813 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:18:25,072.072 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:18:25,076.076 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:18:25,289.289 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:18:25,335.335 INFO    ] time= 20/10/2026 08:18:25
[2026-10-20 08:18:25,341.341 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:18:25,359.359 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:18:25,491.491 INFO    ] No existing commands found in stream
[2026-10-20 08:18:30,513.513 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:18:30,516.516 INFO    ] Waiting 3.06 seconds before fallback handling...
[2026-10-20 08:18:34,088.088 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:18:34,091.091 INFO    ] Checking for system updates...
[2026-10-20 08:18:34,127.127 INFO    ] 200
[2026-10-20 08:18:34,129.129 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:18:34,181.181 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:18:34,183.183 INFO    ] No update needed
[2026-10-20 08:18:34,186.186 INFO    ] Checking for camera pi updates...
[2026-10-20 08:18:34,220.220 INFO    ] 200
[2026-10-20 08:18:34,222.222 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:18:34,262.262 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:18:34,321.321 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:18:34,324.324 INFO    ] No camera update needed
[2026-10-20 08:18:34,326.326 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:18:34,328.328 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:18:34,334.334 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:18:34,339.339 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:18:36,382.382 INFO    ] ================================================
[2026-10-20 08:18:36,397.397 INFO    ] Launching Daemon at Tue Oct 20 08:18:36 IST 2026
[2026-10-20 08:18:36,408.408 INFO    ] ================================================
[2026-10-20 08:18:36,987.987 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:18:36
[2026-10-20 08:18:37,584.584 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:18:37,862.862 INFO    ] Initializing speech engine...
[2026-10-20 08:18:37,868.868 INFO    ] 2026-10-20 08:18:37
[2026-10-20 08:18:38,127.127 INFO    ] 2026-10-20 08:18:38
[2026-10-20 08:18:38,179.179 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:18:38,408.408 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:18:38,415.415 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:18:38,642.642 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:18:38,670.670 INFO    ] time= 20/10/2026 08:18:38
[2026-10-20 08:18:38,676.676 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:18:38,694.694 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:18:38,824.824 INFO    ] No existing commands found in stream
[2026-10-20 08:18:43,841.841 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:18:43,844.844 INFO    ] Waiting 3.87 seconds before fallback handling...
[2026-10-20 08:18:48,212.212 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:18:48,216.216 INFO    ] Checking for system updates...
[2026-10-20 08:18:48,253.253 INFO    ] 200
[2026-10-20 08:18:48,256.256 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:18:48,307.307 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:18:48,310.310 INFO    ] No update needed
[2026-10-20 08:18:48,313.313 INFO    ] Checking for camera pi updates...
[2026-10-20 08:18:48,346.346 INFO    ] 200
[2026-10-20 08:18:48,349.349 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:18:48,390.390 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:18:48,445.445 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:18:48,447.447 INFO    ] No camera update needed
[2026-10-20 08:18:48,450.450 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:18:48,452.452 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:18:48,458.458 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:18:48,463.463 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:18:50,501.501 INFO    ] ================================================
[2026-10-20 08:18:50,517.517 INFO    ] Launching Daemon at Tue Oct 20 08:18:50 IST 2026
[2026-10-20 08:18:50,527.527 INFO    ] ================================================
[2026-10-20 08:18:51,147.147 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:18:51
[2026-10-20 08:18:51,732.732 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:18:51,991.991 INFO    ] Initializing speech engine...
[2026-10-20 08:18:52,007.007 INFO    ] 2026-10-20 08:18:51
[2026-10-20 08:18:52,263.263 INFO    ] 2026-10-20 08:18:52
[2026-10-20 08:18:52,299.299 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:18:52,557.557 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:18:52,567.567 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:18:52,703.703 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:18:52,744.744 INFO    ] time= 20/10/2026 08:18:52
[2026-10-20 08:18:52,798.798 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:18:52,838.838 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:18:52,989.989 INFO    ] No existing commands found in stream
[2026-10-20 08:18:58,002.002 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:18:58,005.005 INFO    ] Waiting 1.42 seconds before fallback handling...
[2026-10-20 08:18:59,902.902 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:18:59,905.905 INFO    ] Checking for system updates...
[2026-10-20 08:18:59,941.941 INFO    ] 200
[2026-10-20 08:18:59,943.943 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:18:59,995.995 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:18:59,998.998 INFO    ] No update needed
[2026-10-20 08:19:00,004.004 INFO    ] Checking for camera pi updates...
[2026-10-20 08:19:00,037.037 INFO    ] 200
[2026-10-20 08:19:00,040.040 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:19:00,081.081 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:19:00,139.139 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:19:00,141.141 INFO    ] No camera update needed
[2026-10-20 08:19:00,144.144 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:19:00,146.146 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:19:00,151.151 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:19:00,156.156 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:19:02,198.198 INFO    ] ================================================
[2026-10-20 08:19:02,219.219 INFO    ] Launching Daemon at Tue Oct 20 08:19:02 IST 2026
[2026-10-20 08:19:02,236.236 INFO    ] ================================================
[2026-10-20 08:19:02,987.987 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:19:02
[2026-10-20 08:19:03,712.712 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:19:04,015.015 INFO    ] Initializing speech engine...
[2026-10-20 08:19:04,029.029 INFO    ] 2026-10-20 08:19:04
[2026-10-20 08:19:04,319.319 INFO    ] 2026-10-20 08:19:04
[2026-10-20 08:19:04,431.431 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:19:04,616.616 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:19:04,635.635 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:19:04,853.853 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:19:04,865.865 INFO    ] time= 20/10/2026 08:19:04
[2026-10-20 08:19:04,886.886 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:19:04,915.915 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:19:05,035.035 INFO    ] No existing commands found in stream
[2026-10-20 08:19:10,071.071 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:19:10,074.074 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-10-20 08:19:12,941.941 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:19:12,944.944 INFO    ] Checking for system updates...
[2026-10-20 08:19:12,981.981 INFO    ] 200
[2026-10-20 08:19:12,983.983 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:19:13,045.045 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:19:13,048.048 INFO    ] No update needed
[2026-10-20 08:19:13,050.050 INFO    ] Checking for camera pi updates...
[2026-10-20 08:19:13,083.083 INFO    ] 200
[2026-10-20 08:19:13,086.086 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:19:13,130.130 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:19:13,175.175 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:19:13,178.178 INFO    ] No camera update needed
[2026-10-20 08:19:13,181.181 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:19:13,183.183 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:19:13,188.188 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:19:13,194.194 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:19:15,235.235 INFO    ] ================================================
[2026-10-20 08:19:15,250.250 INFO    ] Launching Daemon at Tue Oct 20 08:19:15 IST 2026
[2026-10-20 08:19:15,261.261 INFO    ] ================================================
[2026-10-20 08:19:15,828.828 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:19:15
[2026-10-20 08:19:16,413.413 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:19:16,671.671 INFO    ] Initializing speech engine...
[2026-10-20 08:19:16,684.684 INFO    ] 2026-10-20 08:19:16
[2026-10-20 08:19:16,969.969 INFO    ] 2026-10-20 08:19:16
[2026-10-20 08:19:17,005.005 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:19:17,200.200 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:19:17,214.214 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:19:17,380.380 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:19:17,387.387 INFO    ] time= 20/10/2026 08:19:17
[2026-10-20 08:19:17,409.409 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:19:17,462.462 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:19:17,583.583 INFO    ] No existing commands found in stream
[2026-10-20 08:19:22,608.608 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:19:22,611.611 INFO    ] Waiting 3.35 seconds before fallback handling...
[2026-10-20 08:19:26,494.494 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 08:19:26,497.497 INFO    ] Checking for system updates...
[2026-10-20 08:19:26,532.532 INFO    ] 200
[2026-10-20 08:19:26,535.535 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:19:26,593.593 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:19:26,595.595 INFO    ] No update needed
[2026-10-20 08:19:26,598.598 INFO    ] Checking for camera pi updates...
[2026-10-20 08:19:26,634.634 INFO    ] 200
[2026-10-20 08:19:26,637.637 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:19:26,681.681 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:19:26,729.729 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:19:26,731.731 INFO    ] No camera update needed
[2026-10-20 08:19:26,733.733 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:19:26,736.736 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:19:26,741.741 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:19:26,746.746 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:19:28,785.785 INFO    ] ================================================
[2026-10-20 08:19:28,801.801 INFO    ] Launching Daemon at Tue Oct 20 08:19:28 IST 2026
[2026-10-20 08:19:28,812.812 INFO    ] ================================================
[2026-10-20 08:19:29,379.379 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:19:29
[2026-10-20 08:19:29,963.963 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:19:30,215.215 INFO    ] Initializing speech engine...
[2026-10-20 08:19:30,238.238 INFO    ] 2026-10-20 08:19:30
[2026-10-20 08:19:30,493.493 INFO    ] 2026-10-20 08:19:30
[2026-10-20 08:19:30,529.529 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:19:30,730.730 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:19:30,789.789 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:19:30,934.934 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:19:30,994.994 INFO    ] time= 20/10/2026 08:19:30
[2026-10-20 08:19:31,053.053 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:19:31,071.071 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:19:31,209.209 INFO    ] No existing commands found in stream
[2026-10-20 08:19:36,232.232 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:19:36,234.234 INFO    ] Waiting 0.08 seconds before fallback handling...
[2026-10-20 08:19:36,789.789 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:19:36,791.791 INFO    ] Checking for system updates...
[2026-10-20 08:19:36,831.831 INFO    ] 200
[2026-10-20 08:19:36,834.834 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:19:36,892.892 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:19:36,894.894 INFO    ] No update needed
[2026-10-20 08:19:36,896.896 INFO    ] Checking for camera pi updates...
[2026-10-20 08:19:36,933.933 INFO    ] 200
[2026-10-20 08:19:36,935.935 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:19:36,979.979 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:19:37,031.031 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:19:37,033.033 INFO    ] No camera update needed
[2026-10-20 08:19:37,035.035 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:19:37,037.037 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:19:37,043.043 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:19:37,048.048 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:19:39,087.087 INFO    ] ================================================
[2026-10-20 08:19:39,102.102 INFO    ] Launching Daemon at Tue Oct 20 08:19:39 IST 2026
[2026-10-20 08:19:39,113.113 INFO    ] ================================================
[2026-10-20 08:19:39,684.684 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:19:39
[2026-10-20 08:19:40,273.273 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:19:40,543.543 INFO    ] Initializing speech engine...
[2026-10-20 08:19:40,554.554 INFO    ] 2026-10-20 08:19:40
[2026-10-20 08:19:40,807.807 INFO    ] 2026-10-20 08:19:40
[2026-10-20 08:19:40,842.842 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:19:41,087.087 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:19:41,096.096 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:19:41,330.330 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:19:41,354.354 INFO    ] time= 20/10/2026 08:19:41
[2026-10-20 08:19:41,360.360 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:19:41,377.377 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:19:41,506.506 INFO    ] No existing commands found in stream
[2026-10-20 08:19:46,521.521 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:19:46,524.524 INFO    ] Waiting 3.08 seconds before fallback handling...
[2026-10-20 08:19:50,096.096 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:19:50,099.099 INFO    ] Checking for system updates...
[2026-10-20 08:19:50,139.139 INFO    ] 200
[2026-10-20 08:19:50,142.142 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:19:50,194.194 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:19:50,197.197 INFO    ] No update needed
[2026-10-20 08:19:50,199.199 INFO    ] Checking for camera pi updates...
[2026-10-20 08:19:50,237.237 INFO    ] 200
[2026-10-20 08:19:50,240.240 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:19:50,285.285 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:19:50,431.431 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:19:50,434.434 INFO    ] No camera update needed
[2026-10-20 08:19:50,436.436 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:19:50,439.439 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:19:50,445.445 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:19:50,455.455 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:19:52,496.496 INFO    ] ================================================
[2026-10-20 08:19:52,512.512 INFO    ] Launching Daemon at Tue Oct 20 08:19:52 IST 2026
[2026-10-20 08:19:52,523.523 INFO    ] ================================================
[2026-10-20 08:19:53,103.103 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:19:53
[2026-10-20 08:19:53,702.702 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:19:53,975.975 INFO    ] Initializing speech engine...
[2026-10-20 08:19:53,984.984 INFO    ] 2026-10-20 08:19:53
[2026-10-20 08:19:54,234.234 INFO    ] 2026-10-20 08:19:54
[2026-10-20 08:19:54,276.276 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:19:54,526.526 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:19:54,533.533 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:19:54,753.753 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:19:54,791.791 INFO    ] time= 20/10/2026 08:19:54
[2026-10-20 08:19:54,796.796 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:19:54,814.814 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:19:54,948.948 INFO    ] No existing commands found in stream
[2026-10-20 08:19:59,982.982 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:19:59,984.984 INFO    ] Waiting 0.64 seconds before fallback handling...
[2026-10-20 08:20:01,128.128 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 08:20:01,131.131 INFO    ] Checking for system updates...
[2026-10-20 08:20:01,167.167 INFO    ] 200
[2026-10-20 08:20:01,171.171 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:20:01,230.230 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:20:01,233.233 INFO    ] No update needed
[2026-10-20 08:20:01,236.236 INFO    ] Checking for camera pi updates...
[2026-10-20 08:20:01,274.274 INFO    ] 200
[2026-10-20 08:20:01,277.277 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:20:01,325.325 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:20:01,383.383 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:20:01,386.386 INFO    ] No camera update needed
[2026-10-20 08:20:01,389.389 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:20:01,391.391 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:20:01,397.397 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:20:01,403.403 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:20:03,459.459 INFO    ] ================================================
[2026-10-20 08:20:03,478.478 INFO    ] Launching Daemon at Tue Oct 20 08:20:03 IST 2026
[2026-10-20 08:20:03,490.490 INFO    ] ================================================
[2026-10-20 08:20:04,115.115 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:20:04
[2026-10-20 08:20:04,712.712 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:20:04,981.981 INFO    ] Initializing speech engine...
[2026-10-20 08:20:04,990.990 INFO    ] 2026-10-20 08:20:04
[2026-10-20 08:20:05,277.277 INFO    ] 2026-10-20 08:20:05
[2026-10-20 08:20:05,320.320 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:20:05,550.550 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:20:05,572.572 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:20:05,786.786 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:20:05,815.815 INFO    ] time= 20/10/2026 08:20:05
[2026-10-20 08:20:05,833.833 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:20:05,843.843 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:20:06,002.002 INFO    ] No existing commands found in stream
[2026-10-20 08:20:11,027.027 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:20:11,031.031 INFO    ] Waiting 0.65 seconds before fallback handling...
[2026-10-20 08:20:12,212.212 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 08:20:12,215.215 INFO    ] Checking for system updates...
[2026-10-20 08:20:12,254.254 INFO    ] 200
[2026-10-20 08:20:12,257.257 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:20:12,309.309 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:20:12,312.312 INFO    ] No update needed
[2026-10-20 08:20:12,314.314 INFO    ] Checking for camera pi updates...
[2026-10-20 08:20:12,348.348 INFO    ] 200
[2026-10-20 08:20:12,350.350 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:20:12,390.390 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:20:12,438.438 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:20:12,440.440 INFO    ] No camera update needed
[2026-10-20 08:20:12,443.443 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:20:12,445.445 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:20:12,450.450 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:20:12,455.455 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:20:14,495.495 INFO    ] ================================================
[2026-10-20 08:20:14,515.515 INFO    ] Launching Daemon at Tue Oct 20 08:20:14 IST 2026
[2026-10-20 08:20:14,526.526 INFO    ] ================================================
[2026-10-20 08:20:15,091.091 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:20:15
[2026-10-20 08:20:15,672.672 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:20:15,931.931 INFO    ] Initializing speech engine...
[2026-10-20 08:20:15,949.949 INFO    ] 2026-10-20 08:20:15
[2026-10-20 08:20:16,195.195 INFO    ] 2026-10-20 08:20:16
[2026-10-20 08:20:16,236.236 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:20:16,480.480 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:20:16,490.490 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:20:16,717.717 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:20:16,747.747 INFO    ] time= 20/10/2026 08:20:16
[2026-10-20 08:20:16,764.764 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:20:16,772.772 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:20:16,896.896 INFO    ] No existing commands found in stream
[2026-10-20 08:20:21,911.911 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:20:21,914.914 INFO    ] Waiting 1.01 seconds before fallback handling...
[2026-10-20 08:20:23,414.414 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:20:23,416.416 INFO    ] Checking for system updates...
[2026-10-20 08:20:23,452.452 INFO    ] 200
[2026-10-20 08:20:23,455.455 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:20:23,507.507 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:20:23,510.510 INFO    ] No update needed
[2026-10-20 08:20:23,513.513 INFO    ] Checking for camera pi updates...
[2026-10-20 08:20:23,547.547 INFO    ] 200
[2026-10-20 08:20:23,550.550 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:20:23,591.591 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:20:23,637.637 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:20:23,657.657 INFO    ] No camera update needed
[2026-10-20 08:20:23,660.660 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:20:23,662.662 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:20:23,668.668 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:20:23,674.674 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:20:25,715.715 INFO    ] ================================================
[2026-10-20 08:20:25,731.731 INFO    ] Launching Daemon at Tue Oct 20 08:20:25 IST 2026
[2026-10-20 08:20:25,741.741 INFO    ] ================================================
[2026-10-20 08:20:26,309.309 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:20:26
[2026-10-20 08:20:26,893.893 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:20:27,155.155 INFO    ] Initializing speech engine...
[2026-10-20 08:20:27,174.174 INFO    ] 2026-10-20 08:20:27
[2026-10-20 08:20:27,428.428 INFO    ] 2026-10-20 08:20:27
[2026-10-20 08:20:27,461.461 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:20:27,661.661 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:20:27,706.706 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:20:27,881.881 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:20:27,908.908 INFO    ] time= 20/10/2026 08:20:27
[2026-10-20 08:20:27,952.952 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:20:28,017.017 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:20:28,103.103 INFO    ] No existing commands found in stream
[2026-10-20 08:20:33,134.134 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:20:33,137.137 INFO    ] Waiting 0.80 seconds before fallback handling...
[2026-10-20 08:20:34,425.425 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:20:34,427.427 INFO    ] Checking for system updates...
[2026-10-20 08:20:34,463.463 INFO    ] 200
[2026-10-20 08:20:34,465.465 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:20:34,521.521 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:20:34,523.523 INFO    ] No update needed
[2026-10-20 08:20:34,525.525 INFO    ] Checking for camera pi updates...
[2026-10-20 08:20:34,568.568 INFO    ] 200
[2026-10-20 08:20:34,571.571 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:20:34,612.612 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:20:34,661.661 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:20:34,663.663 INFO    ] No camera update needed
[2026-10-20 08:20:34,665.665 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:20:34,668.668 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:20:34,673.673 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:20:34,678.678 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:20:36,719.719 INFO    ] ================================================
[2026-10-20 08:20:36,734.734 INFO    ] Launching Daemon at Tue Oct 20 08:20:36 IST 2026
[2026-10-20 08:20:36,745.745 INFO    ] ================================================
[2026-10-20 08:20:37,331.331 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:20:37
[2026-10-20 08:20:37,924.924 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:20:38,186.186 INFO    ] Initializing speech engine...
[2026-10-20 08:20:38,205.205 INFO    ] 2026-10-20 08:20:38
[2026-10-20 08:20:38,456.456 INFO    ] 2026-10-20 08:20:38
[2026-10-20 08:20:38,491.491 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:20:38,749.749 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:20:38,758.758 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:20:38,980.980 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:20:39,017.017 INFO    ] time= 20/10/2026 08:20:38
[2026-10-20 08:20:39,023.023 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:20:39,040.040 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:20:39,166.166 INFO    ] No existing commands found in stream
[2026-10-20 08:20:44,187.187 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:20:44,190.190 INFO    ] Waiting 2.18 seconds before fallback handling...
[2026-10-20 08:20:46,888.888 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:20:46,891.891 INFO    ] Checking for system updates...
[2026-10-20 08:20:46,927.927 INFO    ] 200
[2026-10-20 08:20:46,930.930 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:20:46,982.982 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:20:46,985.985 INFO    ] No update needed
[2026-10-20 08:20:46,988.988 INFO    ] Checking for camera pi updates...
[2026-10-20 08:20:47,022.022 INFO    ] 200
[2026-10-20 08:20:47,024.024 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:20:47,069.069 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:20:47,120.120 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:20:47,122.122 INFO    ] No camera update needed
[2026-10-20 08:20:47,124.124 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:20:47,126.126 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:20:47,132.132 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:20:47,137.137 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:20:49,178.178 INFO    ] ================================================
[2026-10-20 08:20:49,193.193 INFO    ] Launching Daemon at Tue Oct 20 08:20:49 IST 2026
[2026-10-20 08:20:49,204.204 INFO    ] ================================================
[2026-10-20 08:20:49,773.773 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:20:49
[2026-10-20 08:20:50,362.362 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:20:50,623.623 INFO    ] Initializing speech engine...
[2026-10-20 08:20:50,638.638 INFO    ] 2026-10-20 08:20:50
[2026-10-20 08:20:50,923.923 INFO    ] 2026-10-20 08:20:50
[2026-10-20 08:20:50,961.961 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:20:51,169.169 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:20:51,184.184 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:20:51,352.352 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:20:51,364.364 INFO    ] time= 20/10/2026 08:20:51
[2026-10-20 08:20:51,373.373 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:20:51,431.431 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:20:51,568.568 INFO    ] No existing commands found in stream
[2026-10-20 08:20:56,594.594 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:20:56,596.596 INFO    ] Waiting 2.16 seconds before fallback handling...
[2026-10-20 08:20:59,268.268 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:20:59,271.271 INFO    ] Checking for system updates...
[2026-10-20 08:20:59,306.306 INFO    ] 200
[2026-10-20 08:20:59,308.308 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:20:59,361.361 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:20:59,363.363 INFO    ] No update needed
[2026-10-20 08:20:59,366.366 INFO    ] Checking for camera pi updates...
[2026-10-20 08:20:59,399.399 INFO    ] 200
[2026-10-20 08:20:59,401.401 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:20:59,441.441 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:20:59,488.488 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:20:59,491.491 INFO    ] No camera update needed
[2026-10-20 08:20:59,493.493 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:20:59,495.495 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:20:59,501.501 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:20:59,506.506 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:21:01,546.546 INFO    ] ================================================
[2026-10-20 08:21:01,561.561 INFO    ] Launching Daemon at Tue Oct 20 08:21:01 IST 2026
[2026-10-20 08:21:01,572.572 INFO    ] ================================================
[2026-10-20 08:21:02,365.365 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:21:02
[2026-10-20 08:21:03,135.135 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:21:03,499.499 INFO    ] Initializing speech engine...
[2026-10-20 08:21:03,512.512 INFO    ] 2026-10-20 08:21:03
[2026-10-20 08:21:03,799.799 INFO    ] 2026-10-20 08:21:03
[2026-10-20 08:21:03,837.837 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:21:04,095.095 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:21:04,105.105 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:21:04,238.238 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:21:04,280.280 INFO    ] time= 20/10/2026 08:21:04
[2026-10-20 08:21:04,334.334 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:21:04,379.379 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:21:04,526.526 INFO    ] No existing commands found in stream
[2026-10-20 08:21:09,541.541 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:21:09,544.544 INFO    ] Waiting 3.62 seconds before fallback handling...
[2026-10-20 08:21:13,653.653 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:21:13,656.656 INFO    ] Checking for system updates...
[2026-10-20 08:21:13,692.692 INFO    ] 200
[2026-10-20 08:21:13,694.694 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:21:13,747.747 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:21:13,750.750 INFO    ] No update needed
[2026-10-20 08:21:13,753.753 INFO    ] Checking for camera pi updates...
[2026-10-20 08:21:13,787.787 INFO    ] 200
[2026-10-20 08:21:13,789.789 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:21:13,834.834 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:21:13,891.891 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:21:13,893.893 INFO    ] No camera update needed
[2026-10-20 08:21:13,896.896 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:21:13,898.898 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:21:13,904.904 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:21:13,909.909 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:21:15,950.950 INFO    ] ================================================
[2026-10-20 08:21:15,965.965 INFO    ] Launching Daemon at Tue Oct 20 08:21:15 IST 2026
[2026-10-20 08:21:15,976.976 INFO    ] ================================================
[2026-10-20 08:21:16,540.540 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:21:16
[2026-10-20 08:21:17,123.123 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:21:17,378.378 INFO    ] Initializing speech engine...
[2026-10-20 08:21:17,386.386 INFO    ] 2026-10-20 08:21:17
[2026-10-20 08:21:17,681.681 INFO    ] 2026-10-20 08:21:17
[2026-10-20 08:21:17,719.719 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:21:17,919.919 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:21:17,932.932 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:21:18,097.097 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:21:18,105.105 INFO    ] time= 20/10/2026 08:21:18
[2026-10-20 08:21:18,113.113 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:21:18,136.136 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:21:18,283.283 INFO    ] No existing commands found in stream
[2026-10-20 08:21:23,313.313 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:21:23,316.316 INFO    ] Waiting 0.03 seconds before fallback handling...
[2026-10-20 08:21:23,852.852 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:21:23,854.854 INFO    ] Checking for system updates...
[2026-10-20 08:21:23,893.893 INFO    ] 200
[2026-10-20 08:21:23,896.896 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:21:23,977.977 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:21:23,979.979 INFO    ] No update needed
[2026-10-20 08:21:23,982.982 INFO    ] Checking for camera pi updates...
[2026-10-20 08:21:24,016.016 INFO    ] 200
[2026-10-20 08:21:24,018.018 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:21:24,058.058 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:21:24,105.105 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:21:24,107.107 INFO    ] No camera update needed
[2026-10-20 08:21:24,109.109 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:21:24,112.112 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:21:24,117.117 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:21:24,122.122 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:21:26,163.163 INFO    ] ================================================
[2026-10-20 08:21:26,178.178 INFO    ] Launching Daemon at Tue Oct 20 08:21:26 IST 2026
[2026-10-20 08:21:26,189.189 INFO    ] ================================================
[2026-10-20 08:21:26,847.847 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:21:26
[2026-10-20 08:21:27,526.526 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:21:27,841.841 INFO    ] Initializing speech engine...
[2026-10-20 08:21:27,851.851 INFO    ] 2026-10-20 08:21:27
[2026-10-20 08:21:28,155.155 INFO    ] 2026-10-20 08:21:28
[2026-10-20 08:21:28,243.243 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:21:28,464.464 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:21:28,526.526 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:21:28,705.705 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:21:28,716.716 INFO    ] time= 20/10/2026 08:21:28
[2026-10-20 08:21:28,763.763 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:21:28,812.812 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:21:28,929.929 INFO    ] No existing commands found in stream
[2026-10-20 08:21:33,977.977 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:21:33,981.981 INFO    ] Waiting 0.83 seconds before fallback handling...
[2026-10-20 08:21:35,316.316 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 08:21:35,319.319 INFO    ] Checking for system updates...
[2026-10-20 08:21:35,356.356 INFO    ] 200
[2026-10-20 08:21:35,359.359 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:21:35,413.413 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:21:35,416.416 INFO    ] No update needed
[2026-10-20 08:21:35,419.419 INFO    ] Checking for camera pi updates...
[2026-10-20 08:21:35,453.453 INFO    ] 200
[2026-10-20 08:21:35,456.456 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:21:35,502.502 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:21:35,552.552 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:21:35,555.555 INFO    ] No camera update needed
[2026-10-20 08:21:35,557.557 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:21:35,560.560 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:21:35,566.566 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:21:35,572.572 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:21:37,613.613 INFO    ] ================================================
[2026-10-20 08:21:37,629.629 INFO    ] Launching Daemon at Tue Oct 20 08:21:37 IST 2026
[2026-10-20 08:21:37,640.640 INFO    ] ================================================
[2026-10-20 08:21:38,226.226 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:21:38
[2026-10-20 08:21:38,845.845 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:21:39,149.149 INFO    ] Initializing speech engine...
[2026-10-20 08:21:39,163.163 INFO    ] 2026-10-20 08:21:39
[2026-10-20 08:21:39,423.423 INFO    ] 2026-10-20 08:21:39
[2026-10-20 08:21:39,459.459 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:21:39,690.690 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:21:39,751.751 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:21:39,953.953 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:21:40,003.003 INFO    ] time= 20/10/2026 08:21:39
[2026-10-20 08:21:40,062.062 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:21:40,072.072 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:21:40,229.229 INFO    ] No existing commands found in stream
[2026-10-20 08:21:45,252.252 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:21:45,255.255 INFO    ] Waiting 2.49 seconds before fallback handling...
[2026-10-20 08:21:48,293.293 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 08:21:48,296.296 INFO    ] Checking for system updates...
[2026-10-20 08:21:48,334.334 INFO    ] 200
[2026-10-20 08:21:48,337.337 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:21:48,392.392 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:21:48,395.395 INFO    ] No update needed
[2026-10-20 08:21:48,398.398 INFO    ] Checking for camera pi updates...
[2026-10-20 08:21:48,433.433 INFO    ] 200
[2026-10-20 08:21:48,435.435 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:21:48,476.476 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:21:48,526.526 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:21:48,529.529 INFO    ] No camera update needed
[2026-10-20 08:21:48,532.532 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:21:48,535.535 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:21:48,541.541 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:21:48,547.547 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:21:50,587.587 INFO    ] ================================================
[2026-10-20 08:21:50,602.602 INFO    ] Launching Daemon at Tue Oct 20 08:21:50 IST 2026
[2026-10-20 08:21:50,613.613 INFO    ] ================================================
[2026-10-20 08:21:51,190.190 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:21:51
[2026-10-20 08:21:51,775.775 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:21:52,043.043 INFO    ] Initializing speech engine...
[2026-10-20 08:21:52,053.053 INFO    ] 2026-10-20 08:21:52
[2026-10-20 08:21:52,296.296 INFO    ] 2026-10-20 08:21:52
[2026-10-20 08:21:52,331.331 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:21:52,588.588 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:21:52,592.592 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:21:52,786.786 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:21:52,835.835 INFO    ] time= 20/10/2026 08:21:52
[2026-10-20 08:21:52,855.855 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:21:52,861.861 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:21:53,030.030 INFO    ] No existing commands found in stream
[2026-10-20 08:21:58,060.060 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:21:58,063.063 INFO    ] Waiting 0.60 seconds before fallback handling...
[2026-10-20 08:21:59,143.143 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:21:59,146.146 INFO    ] Checking for system updates...
[2026-10-20 08:21:59,182.182 INFO    ] 200
[2026-10-20 08:21:59,185.185 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:21:59,236.236 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:21:59,238.238 INFO    ] No update needed
[2026-10-20 08:21:59,241.241 INFO    ] Checking for camera pi updates...
[2026-10-20 08:21:59,275.275 INFO    ] 200
[2026-10-20 08:21:59,277.277 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:21:59,318.318 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:21:59,463.463 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:21:59,465.465 INFO    ] No camera update needed
[2026-10-20 08:21:59,468.468 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:21:59,470.470 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:21:59,476.476 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:21:59,480.480 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:22:01,522.522 INFO    ] ================================================
[2026-10-20 08:22:01,537.537 INFO    ] Launching Daemon at Tue Oct 20 08:22:01 IST 2026
[2026-10-20 08:22:01,547.547 INFO    ] ================================================
[2026-10-20 08:22:02,299.299 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:22:02
[2026-10-20 08:22:02,948.948 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:22:03,242.242 INFO    ] Initializing speech engine...
[2026-10-20 08:22:03,260.260 INFO    ] 2026-10-20 08:22:03
[2026-10-20 08:22:03,596.596 INFO    ] 2026-10-20 08:22:03
[2026-10-20 08:22:03,633.633 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:22:03,870.870 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:22:03,914.914 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:22:04,151.151 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:22:04,186.186 INFO    ] time= 20/10/2026 08:22:04
[2026-10-20 08:22:04,206.206 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:22:04,238.238 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:22:04,383.383 INFO    ] No existing commands found in stream
[2026-10-20 08:22:09,413.413 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:22:09,417.417 INFO    ] Waiting 0.60 seconds before fallback handling...
[2026-10-20 08:22:10,561.561 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 08:22:10,564.564 INFO    ] Checking for system updates...
[2026-10-20 08:22:10,601.601 INFO    ] 200
[2026-10-20 08:22:10,604.604 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:22:10,655.655 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:22:10,658.658 INFO    ] No update needed
[2026-10-20 08:22:10,660.660 INFO    ] Checking for camera pi updates...
[2026-10-20 08:22:10,694.694 INFO    ] 200
[2026-10-20 08:22:10,697.697 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:22:10,742.742 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:22:10,795.795 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:22:10,798.798 INFO    ] No camera update needed
[2026-10-20 08:22:10,802.802 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:22:10,804.804 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:22:10,811.811 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:22:10,816.816 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:22:12,858.858 INFO    ] ================================================
[2026-10-20 08:22:12,873.873 INFO    ] Launching Daemon at Tue Oct 20 08:22:12 IST 2026
[2026-10-20 08:22:12,883.883 INFO    ] ================================================
[2026-10-20 08:22:13,538.538 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:22:13
[2026-10-20 08:22:14,215.215 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:22:14,530.530 INFO    ] Initializing speech engine...
[2026-10-20 08:22:14,535.535 INFO    ] 2026-10-20 08:22:14
[2026-10-20 08:22:14,844.844 INFO    ] 2026-10-20 08:22:14
[2026-10-20 08:22:14,931.931 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:22:15,144.144 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:22:15,152.152 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:22:15,348.348 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:22:15,367.367 INFO    ] time= 20/10/2026 08:22:15
[2026-10-20 08:22:15,395.395 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:22:15,403.403 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:22:15,536.536 INFO    ] No existing commands found in stream
[2026-10-20 08:22:20,567.567 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:22:20,570.570 INFO    ] Waiting 3.38 seconds before fallback handling...
[2026-10-20 08:22:24,472.472 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:22:24,475.475 INFO    ] Checking for system updates...
[2026-10-20 08:22:24,511.511 INFO    ] 200
[2026-10-20 08:22:24,514.514 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:22:24,567.567 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:22:24,569.569 INFO    ] No update needed
[2026-10-20 08:22:24,572.572 INFO    ] Checking for camera pi updates...
[2026-10-20 08:22:24,605.605 INFO    ] 200
[2026-10-20 08:22:24,607.607 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:22:24,653.653 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:22:24,694.694 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:22:24,696.696 INFO    ] No camera update needed
[2026-10-20 08:22:24,699.699 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:22:24,701.701 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:22:24,706.706 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:22:24,712.712 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:22:26,751.751 INFO    ] ================================================
[2026-10-20 08:22:26,767.767 INFO    ] Launching Daemon at Tue Oct 20 08:22:26 IST 2026
[2026-10-20 08:22:26,778.778 INFO    ] ================================================
[2026-10-20 08:22:27,345.345 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:22:27
[2026-10-20 08:22:27,929.929 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:22:28,180.180 INFO    ] Initializing speech engine...
[2026-10-20 08:22:28,185.185 INFO    ] 2026-10-20 08:22:28
[2026-10-20 08:22:28,485.485 INFO    ] 2026-10-20 08:22:28
[2026-10-20 08:22:28,520.520 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:22:28,722.722 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:22:28,736.736 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:22:28,904.904 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:22:28,910.910 INFO    ] time= 20/10/2026 08:22:28
[2026-10-20 08:22:28,916.916 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:22:28,974.974 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:22:29,110.110 INFO    ] No existing commands found in stream
[2026-10-20 08:22:34,144.144 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:22:34,147.147 INFO    ] Waiting 0.38 seconds before fallback handling...
[2026-10-20 08:22:35,015.015 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 08:22:35,018.018 INFO    ] Checking for system updates...
[2026-10-20 08:22:35,059.059 INFO    ] 200
[2026-10-20 08:22:35,062.062 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:22:35,115.115 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:22:35,117.117 INFO    ] No update needed
[2026-10-20 08:22:35,120.120 INFO    ] Checking for camera pi updates...
[2026-10-20 08:22:35,158.158 INFO    ] 200
[2026-10-20 08:22:35,160.160 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:22:35,201.201 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:22:35,249.249 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:22:35,252.252 INFO    ] No camera update needed
[2026-10-20 08:22:35,255.255 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:22:35,258.258 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:22:35,263.263 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:22:35,269.269 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:22:37,309.309 INFO    ] ================================================
[2026-10-20 08:22:37,324.324 INFO    ] Launching Daemon at Tue Oct 20 08:22:37 IST 2026
[2026-10-20 08:22:37,334.334 INFO    ] ================================================
[2026-10-20 08:22:37,993.993 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:22:37
[2026-10-20 08:22:38,668.668 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:22:38,973.973 INFO    ] Initializing speech engine...
[2026-10-20 08:22:38,987.987 INFO    ] 2026-10-20 08:22:38
[2026-10-20 08:22:39,266.266 INFO    ] 2026-10-20 08:22:39
[2026-10-20 08:22:39,313.313 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:22:39,593.593 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:22:39,603.603 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:22:39,796.796 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:22:39,804.804 INFO    ] time= 20/10/2026 08:22:39
[2026-10-20 08:22:39,826.826 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:22:39,854.854 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:22:39,983.983 INFO    ] No existing commands found in stream
[2026-10-20 08:22:45,009.009 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:22:45,013.013 INFO    ] Waiting 0.55 seconds before fallback handling...
[2026-10-20 08:22:46,088.088 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 08:22:46,092.092 INFO    ] Checking for system updates...
[2026-10-20 08:22:46,128.128 INFO    ] 200
[2026-10-20 08:22:46,131.131 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:22:46,184.184 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:22:46,186.186 INFO    ] No update needed
[2026-10-20 08:22:46,189.189 INFO    ] Checking for camera pi updates...
[2026-10-20 08:22:46,224.224 INFO    ] 200
[2026-10-20 08:22:46,226.226 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:22:46,272.272 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:22:46,344.344 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:22:46,347.347 INFO    ] No camera update needed
[2026-10-20 08:22:46,350.350 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:22:46,353.353 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:22:46,359.359 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:22:46,365.365 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:22:48,406.406 INFO    ] ================================================
[2026-10-20 08:22:48,421.421 INFO    ] Launching Daemon at Tue Oct 20 08:22:48 IST 2026
[2026-10-20 08:22:48,432.432 INFO    ] ================================================
[2026-10-20 08:22:49,014.014 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:22:49
[2026-10-20 08:22:49,614.614 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:22:49,882.882 INFO    ] Initializing speech engine...
[2026-10-20 08:22:49,907.907 INFO    ] 2026-10-20 08:22:49
[2026-10-20 08:22:50,181.181 INFO    ] 2026-10-20 08:22:50
[2026-10-20 08:22:50,216.216 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:22:50,417.417 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:22:50,431.431 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:22:50,594.594 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:22:50,603.603 INFO    ] time= 20/10/2026 08:22:50
[2026-10-20 08:22:50,607.607 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:22:50,613.613 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:22:50,706.706 INFO    ] No existing commands found in stream
[2026-10-20 08:22:55,741.741 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:22:55,743.743 INFO    ] Waiting 2.76 seconds before fallback handling...
[2026-10-20 08:22:59,063.063 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 08:22:59,066.066 INFO    ] Checking for system updates...
[2026-10-20 08:22:59,101.101 INFO    ] 200
[2026-10-20 08:22:59,104.104 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:22:59,156.156 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:22:59,158.158 INFO    ] No update needed
[2026-10-20 08:22:59,161.161 INFO    ] Checking for camera pi updates...
[2026-10-20 08:22:59,194.194 INFO    ] 200
[2026-10-20 08:22:59,196.196 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:22:59,236.236 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:22:59,281.281 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:22:59,284.284 INFO    ] No camera update needed
[2026-10-20 08:22:59,289.289 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:22:59,292.292 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:22:59,298.298 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:22:59,304.304 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:23:01,349.349 INFO    ] ================================================
[2026-10-20 08:23:01,364.364 INFO    ] Launching Daemon at Tue Oct 20 08:23:01 IST 2026
[2026-10-20 08:23:01,375.375 INFO    ] ================================================
[2026-10-20 08:23:01,990.990 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:23:01
[2026-10-20 08:23:02,679.679 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:23:02,996.996 INFO    ] Initializing speech engine...
[2026-10-20 08:23:03,006.006 INFO    ] 2026-10-20 08:23:02
[2026-10-20 08:23:03,294.294 INFO    ] 2026-10-20 08:23:03
[2026-10-20 08:23:03,334.334 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:23:03,727.727 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:23:03,787.787 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:23:03,948.948 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:23:03,974.974 INFO    ] time= 20/10/2026 08:23:03
[2026-10-20 08:23:03,991.991 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:23:03,999.999 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:23:04,130.130 INFO    ] No existing commands found in stream
[2026-10-20 08:23:09,145.145 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:23:09,148.148 INFO    ] Waiting 2.83 seconds before fallback handling...
[2026-10-20 08:23:12,507.507 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 08:23:12,510.510 INFO    ] Checking for system updates...
[2026-10-20 08:23:12,553.553 INFO    ] 200
[2026-10-20 08:23:12,555.555 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:23:12,612.612 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:23:12,614.614 INFO    ] No update needed
[2026-10-20 08:23:12,617.617 INFO    ] Checking for camera pi updates...
[2026-10-20 08:23:12,651.651 INFO    ] 200
[2026-10-20 08:23:12,653.653 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:23:12,696.696 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:23:12,743.743 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:23:12,745.745 INFO    ] No camera update needed
[2026-10-20 08:23:12,748.748 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:23:12,750.750 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:23:12,756.756 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:23:12,761.761 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:23:14,802.802 INFO    ] ================================================
[2026-10-20 08:23:14,817.817 INFO    ] Launching Daemon at Tue Oct 20 08:23:14 IST 2026
[2026-10-20 08:23:14,828.828 INFO    ] ================================================
[2026-10-20 08:23:15,400.400 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:23:15
[2026-10-20 08:23:15,990.990 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:23:16,248.248 INFO    ] Initializing speech engine...
[2026-10-20 08:23:16,254.254 INFO    ] 2026-10-20 08:23:16
[2026-10-20 08:23:16,546.546 INFO    ] 2026-10-20 08:23:16
[2026-10-20 08:23:16,581.581 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:23:16,780.780 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:23:16,796.796 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:23:16,961.961 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:23:16,966.966 INFO    ] time= 20/10/2026 08:23:16
[2026-10-20 08:23:16,973.973 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:23:16,999.999 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:23:17,126.126 INFO    ] No existing commands found in stream
[2026-10-20 08:23:22,151.151 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:23:22,154.154 INFO    ] Waiting 3.36 seconds before fallback handling...
[2026-10-20 08:23:26,031.031 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:23:26,033.033 INFO    ] Checking for system updates...
[2026-10-20 08:23:26,069.069 INFO    ] 200
[2026-10-20 08:23:26,071.071 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:23:26,122.122 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:23:26,125.125 INFO    ] No update needed
[2026-10-20 08:23:26,127.127 INFO    ] Checking for camera pi updates...
[2026-10-20 08:23:26,161.161 INFO    ] 200
[2026-10-20 08:23:26,164.164 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:23:26,210.210 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:23:26,258.258 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:23:26,261.261 INFO    ] No camera update needed
[2026-10-20 08:23:26,263.263 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:23:26,265.265 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:23:26,271.271 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:23:26,276.276 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:23:28,315.315 INFO    ] ================================================
[2026-10-20 08:23:28,330.330 INFO    ] Launching Daemon at Tue Oct 20 08:23:28 IST 2026
[2026-10-20 08:23:28,341.341 INFO    ] ================================================
[2026-10-20 08:23:28,907.907 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:23:28
[2026-10-20 08:23:29,503.503 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:23:29,757.757 INFO    ] Initializing speech engine...
[2026-10-20 08:23:29,780.780 INFO    ] 2026-10-20 08:23:29
[2026-10-20 08:23:30,035.035 INFO    ] 2026-10-20 08:23:30
[2026-10-20 08:23:30,070.070 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:23:30,328.328 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:23:30,334.334 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:23:30,536.536 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:23:30,593.593 INFO    ] time= 20/10/2026 08:23:30
[2026-10-20 08:23:30,599.599 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:23:30,619.619 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:23:30,750.750 INFO    ] No existing commands found in stream
[2026-10-20 08:23:35,768.768 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:23:35,771.771 INFO    ] Waiting 1.98 seconds before fallback handling...
[2026-10-20 08:23:38,241.241 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:23:38,244.244 INFO    ] Checking for system updates...
[2026-10-20 08:23:38,291.291 INFO    ] 200
[2026-10-20 08:23:38,294.294 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:23:38,351.351 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:23:38,353.353 INFO    ] No update needed
[2026-10-20 08:23:38,356.356 INFO    ] Checking for camera pi updates...
[2026-10-20 08:23:38,390.390 INFO    ] 200
[2026-10-20 08:23:38,392.392 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:23:38,433.433 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:23:38,495.495 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:23:38,497.497 INFO    ] No camera update needed
[2026-10-20 08:23:38,499.499 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:23:38,502.502 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:23:38,507.507 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:23:38,512.512 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:23:40,553.553 INFO    ] ================================================
[2026-10-20 08:23:40,568.568 INFO    ] Launching Daemon at Tue Oct 20 08:23:40 IST 2026
[2026-10-20 08:23:40,579.579 INFO    ] ================================================
[2026-10-20 08:23:41,147.147 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:23:41
[2026-10-20 08:23:41,735.735 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:23:42,014.014 INFO    ] Initializing speech engine...
[2026-10-20 08:23:42,027.027 INFO    ] 2026-10-20 08:23:42
[2026-10-20 08:23:42,297.297 INFO    ] 2026-10-20 08:23:42
[2026-10-20 08:23:42,329.329 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:23:42,563.563 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:23:42,624.624 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:23:42,782.782 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:23:42,819.819 INFO    ] time= 20/10/2026 08:23:42
[2026-10-20 08:23:42,873.873 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:23:42,928.928 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:23:43,077.077 INFO    ] No existing commands found in stream
[2026-10-20 08:23:48,108.108 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:23:48,111.111 INFO    ] Waiting 3.24 seconds before fallback handling...
[2026-10-20 08:23:51,892.892 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:23:51,895.895 INFO    ] Checking for system updates...
[2026-10-20 08:23:51,932.932 INFO    ] 200
[2026-10-20 08:23:51,935.935 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:23:51,987.987 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:23:51,990.990 INFO    ] No update needed
[2026-10-20 08:23:51,993.993 INFO    ] Checking for camera pi updates...
[2026-10-20 08:23:52,027.027 INFO    ] 200
[2026-10-20 08:23:52,029.029 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:23:52,070.070 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:23:52,126.126 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:23:52,129.129 INFO    ] No camera update needed
[2026-10-20 08:23:52,132.132 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:23:52,135.135 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:23:52,141.141 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:23:52,146.146 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:23:54,186.186 INFO    ] ================================================
[2026-10-20 08:23:54,202.202 INFO    ] Launching Daemon at Tue Oct 20 08:23:54 IST 2026
[2026-10-20 08:23:54,212.212 INFO    ] ================================================
[2026-10-20 08:23:54,796.796 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:23:54
[2026-10-20 08:23:55,385.385 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:23:55,658.658 INFO    ] Initializing speech engine...
[2026-10-20 08:23:55,668.668 INFO    ] 2026-10-20 08:23:55
[2026-10-20 08:23:55,913.913 INFO    ] 2026-10-20 08:23:55
[2026-10-20 08:23:55,947.947 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:23:56,203.203 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:23:56,210.210 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:23:56,439.439 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:23:56,465.465 INFO    ] time= 20/10/2026 08:23:56
[2026-10-20 08:23:56,481.481 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:23:56,489.489 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:23:56,630.630 INFO    ] No existing commands found in stream
[2026-10-20 08:24:01,660.660 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:24:01,663.663 INFO    ] Waiting 3.07 seconds before fallback handling...
[2026-10-20 08:24:05,238.238 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 08:24:05,241.241 INFO    ] Checking for system updates...
[2026-10-20 08:24:05,280.280 INFO    ] 200
[2026-10-20 08:24:05,282.282 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:24:05,333.333 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:24:05,336.336 INFO    ] No update needed
[2026-10-20 08:24:05,338.338 INFO    ] Checking for camera pi updates...
[2026-10-20 08:24:05,371.371 INFO    ] 200
[2026-10-20 08:24:05,374.374 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:24:05,413.413 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:24:05,466.466 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:24:05,469.469 INFO    ] No camera update needed
[2026-10-20 08:24:05,471.471 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:24:05,473.473 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:24:05,479.479 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:24:05,484.484 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:24:07,523.523 INFO    ] ================================================
[2026-10-20 08:24:07,538.538 INFO    ] Launching Daemon at Tue Oct 20 08:24:07 IST 2026
[2026-10-20 08:24:07,549.549 INFO    ] ================================================
[2026-10-20 08:24:08,113.113 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:24:08
[2026-10-20 08:24:08,696.696 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:24:08,955.955 INFO    ] Initializing speech engine...
[2026-10-20 08:24:08,975.975 INFO    ] 2026-10-20 08:24:08
[2026-10-20 08:24:09,225.225 INFO    ] 2026-10-20 08:24:09
[2026-10-20 08:24:09,259.259 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:24:09,517.517 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:24:09,526.526 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:24:09,749.749 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:24:09,793.793 INFO    ] time= 20/10/2026 08:24:09
[2026-10-20 08:24:09,799.799 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:24:09,817.817 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:24:09,954.954 INFO    ] No existing commands found in stream
[2026-10-20 08:24:14,977.977 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:24:14,980.980 INFO    ] Waiting 0.37 seconds before fallback handling...
[2026-10-20 08:24:15,828.828 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 08:24:15,830.830 INFO    ] Checking for system updates...
[2026-10-20 08:24:15,866.866 INFO    ] 200
[2026-10-20 08:24:15,868.868 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:24:15,923.923 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:24:15,925.925 INFO    ] No update needed
[2026-10-20 08:24:15,927.927 INFO    ] Checking for camera pi updates...
[2026-10-20 08:24:15,961.961 INFO    ] 200
[2026-10-20 08:24:15,963.963 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:24:16,003.003 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:24:16,059.059 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:24:16,061.061 INFO    ] No camera update needed
[2026-10-20 08:24:16,064.064 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:24:16,066.066 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:24:16,071.071 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:24:16,076.076 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:24:18,117.117 INFO    ] ================================================
[2026-10-20 08:24:18,133.133 INFO    ] Launching Daemon at Tue Oct 20 08:24:18 IST 2026
[2026-10-20 08:24:18,143.143 INFO    ] ================================================
[2026-10-20 08:24:18,723.723 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:24:18
[2026-10-20 08:24:19,348.348 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:24:19,623.623 INFO    ] Initializing speech engine...
[2026-10-20 08:24:19,660.660 INFO    ] 2026-10-20 08:24:19
[2026-10-20 08:24:19,928.928 INFO    ] 2026-10-20 08:24:19
[2026-10-20 08:24:19,965.965 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:24:20,227.227 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:24:20,237.237 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:24:20,461.461 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:24:20,503.503 INFO    ] time= 20/10/2026 08:24:20
[2026-10-20 08:24:20,521.521 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:24:20,531.531 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:24:20,658.658 INFO    ] No existing commands found in stream
[2026-10-20 08:24:25,675.675 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:24:25,678.678 INFO    ] Waiting 3.52 seconds before fallback handling...
[2026-10-20 08:24:29,710.710 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:24:29,713.713 INFO    ] Checking for system updates...
[2026-10-20 08:24:29,749.749 INFO    ] 200
[2026-10-20 08:24:29,751.751 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:24:29,807.807 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:24:29,809.809 INFO    ] No update needed
[2026-10-20 08:24:29,812.812 INFO    ] Checking for camera pi updates...
[2026-10-20 08:24:29,845.845 INFO    ] 200
[2026-10-20 08:24:29,847.847 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:24:29,889.889 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:24:29,941.941 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:24:29,943.943 INFO    ] No camera update needed
[2026-10-20 08:24:29,946.946 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:24:29,948.948 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:24:29,953.953 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:24:29,958.958 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:24:32,997.997 INFO    ] ================================================
[2026-10-20 08:24:32,012.012 INFO    ] Launching Daemon at Tue Oct 20 08:24:32 IST 2026
[2026-10-20 08:24:32,023.023 INFO    ] ================================================
[2026-10-20 08:24:32,721.721 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:24:32
[2026-10-20 08:24:33,437.437 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:24:33,708.708 INFO    ] Initializing speech engine...
[2026-10-20 08:24:33,724.724 INFO    ] 2026-10-20 08:24:33
[2026-10-20 08:24:33,996.996 INFO    ] 2026-10-20 08:24:33
[2026-10-20 08:24:34,031.031 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:24:34,254.254 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:24:34,284.284 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:24:34,476.476 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:24:34,488.488 INFO    ] time= 20/10/2026 08:24:34
[2026-10-20 08:24:34,542.542 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:24:34,591.591 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:24:34,760.760 INFO    ] No existing commands found in stream
[2026-10-20 08:24:39,785.785 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:24:39,787.787 INFO    ] Waiting 1.13 seconds before fallback handling...
[2026-10-20 08:24:41,436.436 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:24:41,439.439 INFO    ] Checking for system updates...
[2026-10-20 08:24:41,474.474 INFO    ] 200
[2026-10-20 08:24:41,476.476 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:24:41,530.530 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:24:41,532.532 INFO    ] No update needed
[2026-10-20 08:24:41,534.534 INFO    ] Checking for camera pi updates...
[2026-10-20 08:24:41,569.569 INFO    ] 200
[2026-10-20 08:24:41,572.572 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:24:41,611.611 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:24:41,655.655 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:24:41,658.658 INFO    ] No camera update needed
[2026-10-20 08:24:41,660.660 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:24:41,662.662 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:24:41,668.668 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:24:41,673.673 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:24:43,712.712 INFO    ] ================================================
[2026-10-20 08:24:43,727.727 INFO    ] Launching Daemon at Tue Oct 20 08:24:43 IST 2026
[2026-10-20 08:24:43,738.738 INFO    ] ================================================
[2026-10-20 08:24:44,327.327 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:24:44
[2026-10-20 08:24:44,942.942 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:24:45,272.272 INFO    ] Initializing speech engine...
[2026-10-20 08:24:45,283.283 INFO    ] 2026-10-20 08:24:45
[2026-10-20 08:24:45,599.599 INFO    ] 2026-10-20 08:24:45
[2026-10-20 08:24:45,640.640 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:24:45,893.893 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:24:45,898.898 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:24:46,036.036 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:24:46,096.096 INFO    ] time= 20/10/2026 08:24:46
[2026-10-20 08:24:46,109.109 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:24:46,113.113 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:24:46,242.242 INFO    ] No existing commands found in stream
[2026-10-20 08:24:51,254.254 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:24:51,256.256 INFO    ] Waiting 3.91 seconds before fallback handling...
[2026-10-20 08:24:55,656.656 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 08:24:55,659.659 INFO    ] Checking for system updates...
[2026-10-20 08:24:55,694.694 INFO    ] 200
[2026-10-20 08:24:55,696.696 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:24:55,747.747 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:24:55,750.750 INFO    ] No update needed
[2026-10-20 08:24:55,752.752 INFO    ] Checking for camera pi updates...
[2026-10-20 08:24:55,785.785 INFO    ] 200
[2026-10-20 08:24:55,788.788 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:24:55,835.835 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:24:55,886.886 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:24:55,888.888 INFO    ] No camera update needed
[2026-10-20 08:24:55,891.891 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:24:55,893.893 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:24:55,898.898 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:24:55,903.903 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:24:57,943.943 INFO    ] ================================================
[2026-10-20 08:24:57,959.959 INFO    ] Launching Daemon at Tue Oct 20 08:24:57 IST 2026
[2026-10-20 08:24:57,969.969 INFO    ] ================================================
[2026-10-20 08:24:58,598.598 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:24:58
[2026-10-20 08:24:59,247.247 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:24:59,541.541 INFO    ] Initializing speech engine...
[2026-10-20 08:24:59,548.548 INFO    ] 2026-10-20 08:24:59
[2026-10-20 08:24:59,825.825 INFO    ] 2026-10-20 08:24:59
[2026-10-20 08:24:59,862.862 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:25:00,108.108 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:25:00,118.118 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:25:00,257.257 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:25:00,322.322 INFO    ] time= 20/10/2026 08:25:00
[2026-10-20 08:25:00,377.377 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:25:00,387.387 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:25:00,537.537 INFO    ] No existing commands found in stream
[2026-10-20 08:25:05,560.560 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:25:05,563.563 INFO    ] Waiting 0.67 seconds before fallback handling...
[2026-10-20 08:25:06,740.740 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:25:06,743.743 INFO    ] Checking for system updates...
[2026-10-20 08:25:06,777.777 INFO    ] 200
[2026-10-20 08:25:06,780.780 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:25:06,842.842 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:25:06,844.844 INFO    ] No update needed
[2026-10-20 08:25:06,846.846 INFO    ] Checking for camera pi updates...
[2026-10-20 08:25:06,880.880 INFO    ] 200
[2026-10-20 08:25:06,882.882 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:25:06,921.921 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:25:06,968.968 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:25:06,970.970 INFO    ] No camera update needed
[2026-10-20 08:25:06,973.973 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:25:06,975.975 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:25:06,980.980 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:25:06,985.985 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:25:09,024.024 INFO    ] ================================================
[2026-10-20 08:25:09,039.039 INFO    ] Launching Daemon at Tue Oct 20 08:25:09 IST 2026
[2026-10-20 08:25:09,050.050 INFO    ] ================================================
[2026-10-20 08:25:09,676.676 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:25:09
[2026-10-20 08:25:10,331.331 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:25:10,629.629 INFO    ] Initializing speech engine...
[2026-10-20 08:25:10,637.637 INFO    ] 2026-10-20 08:25:10
[2026-10-20 08:25:10,919.919 INFO    ] 2026-10-20 08:25:10
[2026-10-20 08:25:10,965.965 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:25:11,214.214 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:25:11,233.233 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:25:11,437.437 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:25:11,459.459 INFO    ] time= 20/10/2026 08:25:11
[2026-10-20 08:25:11,481.481 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:25:11,509.509 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:25:11,638.638 INFO    ] No existing commands found in stream
[2026-10-20 08:25:16,669.669 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:25:16,672.672 INFO    ] Waiting 1.79 seconds before fallback handling...
[2026-10-20 08:25:18,992.992 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 08:25:18,995.995 INFO    ] Checking for system updates...
[2026-10-20 08:25:19,031.031 INFO    ] 200
[2026-10-20 08:25:19,033.033 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:25:19,090.090 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:25:19,092.092 INFO    ] No update needed
[2026-10-20 08:25:19,094.094 INFO    ] Checking for camera pi updates...
[2026-10-20 08:25:19,127.127 INFO    ] 200
[2026-10-20 08:25:19,130.130 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:25:19,169.169 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:25:19,216.216 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:25:19,219.219 INFO    ] No camera update needed
[2026-10-20 08:25:19,221.221 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:25:19,223.223 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:25:19,229.229 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:25:19,233.233 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:25:21,273.273 INFO    ] ================================================
[2026-10-20 08:25:21,287.287 INFO    ] Launching Daemon at Tue Oct 20 08:25:21 IST 2026
[2026-10-20 08:25:21,298.298 INFO    ] ================================================
[2026-10-20 08:25:21,884.884 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:25:21
[2026-10-20 08:25:22,493.493 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:25:22,746.746 INFO    ] Initializing speech engine...
[2026-10-20 08:25:22,755.755 INFO    ] 2026-10-20 08:25:22
[2026-10-20 08:25:23,044.044 INFO    ] 2026-10-20 08:25:23
[2026-10-20 08:25:23,078.078 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:25:23,296.296 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:25:23,339.339 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:25:23,518.518 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:25:23,540.540 INFO    ] time= 20/10/2026 08:25:23
[2026-10-20 08:25:23,589.589 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:25:23,628.628 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:25:23,722.722 INFO    ] No existing commands found in stream
[2026-10-20 08:25:28,734.734 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:25:28,736.736 INFO    ] Waiting 2.82 seconds before fallback handling...
[2026-10-20 08:25:32,085.085 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 08:25:32,088.088 INFO    ] Checking for system updates...
[2026-10-20 08:25:32,144.144 INFO    ] 200
[2026-10-20 08:25:32,147.147 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:25:32,215.215 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:25:32,218.218 INFO    ] No update needed
[2026-10-20 08:25:32,221.221 INFO    ] Checking for camera pi updates...
[2026-10-20 08:25:32,257.257 INFO    ] 200
[2026-10-20 08:25:32,260.260 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:25:32,303.303 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:25:32,340.340 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:25:32,343.343 INFO    ] No camera update needed
[2026-10-20 08:25:32,346.346 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:25:32,348.348 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:25:32,354.354 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:25:32,360.360 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:25:34,400.400 INFO    ] ================================================
[2026-10-20 08:25:34,415.415 INFO    ] Launching Daemon at Tue Oct 20 08:25:34 IST 2026
[2026-10-20 08:25:34,426.426 INFO    ] ================================================
[2026-10-20 08:25:35,069.069 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:25:35
[2026-10-20 08:25:35,733.733 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:25:36,031.031 INFO    ] Initializing speech engine...
[2026-10-20 08:25:36,039.039 INFO    ] 2026-10-20 08:25:36
[2026-10-20 08:25:36,308.308 INFO    ] 2026-10-20 08:25:36
[2026-10-20 08:25:36,363.363 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:25:36,619.619 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:25:36,648.648 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:25:36,850.850 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:25:36,873.873 INFO    ] time= 20/10/2026 08:25:36
[2026-10-20 08:25:36,883.883 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:25:36,911.911 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:25:37,042.042 INFO    ] No existing commands found in stream
[2026-10-20 08:25:42,079.079 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:25:42,082.082 INFO    ] Waiting 3.60 seconds before fallback handling...
[2026-10-20 08:25:46,223.223 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 08:25:46,226.226 INFO    ] Checking for system updates...
[2026-10-20 08:25:46,266.266 INFO    ] 200
[2026-10-20 08:25:46,269.269 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:25:46,322.322 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:25:46,325.325 INFO    ] No update needed
[2026-10-20 08:25:46,327.327 INFO    ] Checking for camera pi updates...
[2026-10-20 08:25:46,361.361 INFO    ] 200
[2026-10-20 08:25:46,364.364 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:25:46,405.405 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:25:46,463.463 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:25:46,465.465 INFO    ] No camera update needed
[2026-10-20 08:25:46,468.468 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:25:46,471.471 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:25:46,477.477 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:25:46,483.483 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:25:48,523.523 INFO    ] ================================================
[2026-10-20 08:25:48,537.537 INFO    ] Launching Daemon at Tue Oct 20 08:25:48 IST 2026
[2026-10-20 08:25:48,548.548 INFO    ] ================================================
[2026-10-20 08:25:49,120.120 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:25:49
[2026-10-20 08:25:49,707.707 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:25:49,977.977 INFO    ] Initializing speech engine...
[2026-10-20 08:25:49,987.987 INFO    ] 2026-10-20 08:25:49
[2026-10-20 08:25:50,248.248 INFO    ] 2026-10-20 08:25:50
[2026-10-20 08:25:50,277.277 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:25:50,521.521 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:25:50,530.530 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:25:50,732.732 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:25:50,781.781 INFO    ] time= 20/10/2026 08:25:50
[2026-10-20 08:25:50,794.794 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:25:50,812.812 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:25:50,942.942 INFO    ] No existing commands found in stream
[2026-10-20 08:25:55,955.955 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:25:55,958.958 INFO    ] Waiting 1.47 seconds before fallback handling...
[2026-10-20 08:25:57,937.937 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:25:57,939.939 INFO    ] Checking for system updates...
[2026-10-20 08:25:57,975.975 INFO    ] 200
[2026-10-20 08:25:57,977.977 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:25:58,029.029 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:25:58,032.032 INFO    ] No update needed
[2026-10-20 08:25:58,034.034 INFO    ] Checking for camera pi updates...
[2026-10-20 08:25:58,067.067 INFO    ] 200
[2026-10-20 08:25:58,070.070 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:25:58,114.114 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:25:58,159.159 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:25:58,162.162 INFO    ] No camera update needed
[2026-10-20 08:25:58,164.164 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:25:58,166.166 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:25:58,172.172 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:25:58,177.177 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:26:00,218.218 INFO    ] ================================================
[2026-10-20 08:26:00,233.233 INFO    ] Launching Daemon at Tue Oct 20 08:26:00 IST 2026
[2026-10-20 08:26:00,244.244 INFO    ] ================================================
[2026-10-20 08:26:00,887.887 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:26:00
[2026-10-20 08:26:01,679.679 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:26:02,024.024 INFO    ] Initializing speech engine...
[2026-10-20 08:26:02,052.052 INFO    ] 2026-10-20 08:26:02
[2026-10-20 08:26:02,358.358 INFO    ] 2026-10-20 08:26:02
[2026-10-20 08:26:02,422.422 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:26:02,693.693 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:26:02,696.696 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:26:02,910.910 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:26:02,931.931 INFO    ] time= 20/10/2026 08:26:02
[2026-10-20 08:26:02,989.989 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:26:03,032.032 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:26:03,163.163 INFO    ] No existing commands found in stream
[2026-10-20 08:26:08,189.189 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:26:08,192.192 INFO    ] Waiting 3.32 seconds before fallback handling...
[2026-10-20 08:26:11,991.991 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 08:26:11,994.994 INFO    ] Checking for system updates...
[2026-10-20 08:26:12,029.029 INFO    ] 200
[2026-10-20 08:26:12,032.032 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:26:12,083.083 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:26:12,085.085 INFO    ] No update needed
[2026-10-20 08:26:12,087.087 INFO    ] Checking for camera pi updates...
[2026-10-20 08:26:12,121.121 INFO    ] 200
[2026-10-20 08:26:12,123.123 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:26:12,163.163 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:26:12,314.314 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:26:12,316.316 INFO    ] No camera update needed
[2026-10-20 08:26:12,318.318 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:26:12,321.321 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:26:12,326.326 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:26:12,331.331 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:26:14,372.372 INFO    ] ================================================
[2026-10-20 08:26:14,387.387 INFO    ] Launching Daemon at Tue Oct 20 08:26:14 IST 2026
[2026-10-20 08:26:14,398.398 INFO    ] ================================================
[2026-10-20 08:26:14,985.985 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:26:14
[2026-10-20 08:26:15,580.580 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:26:15,849.849 INFO    ] Initializing speech engine...
[2026-10-20 08:26:15,858.858 INFO    ] 2026-10-20 08:26:15
[2026-10-20 08:26:16,110.110 INFO    ] 2026-10-20 08:26:16
[2026-10-20 08:26:16,146.146 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:26:16,396.396 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:26:16,401.401 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:26:16,539.539 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:26:16,603.603 INFO    ] time= 20/10/2026 08:26:16
[2026-10-20 08:26:16,658.658 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:26:16,667.667 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:26:16,809.809 INFO    ] No existing commands found in stream
[2026-10-20 08:26:21,823.823 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:26:21,826.826 INFO    ] Waiting 3.04 seconds before fallback handling...
[2026-10-20 08:26:25,389.389 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:26:25,391.391 INFO    ] Checking for system updates...
[2026-10-20 08:26:25,427.427 INFO    ] 200
[2026-10-20 08:26:25,430.430 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:26:25,482.482 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:26:25,484.484 INFO    ] No update needed
[2026-10-20 08:26:25,487.487 INFO    ] Checking for camera pi updates...
[2026-10-20 08:26:25,520.520 INFO    ] 200
[2026-10-20 08:26:25,522.522 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:26:25,562.562 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:26:25,607.607 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:26:25,610.610 INFO    ] No camera update needed
[2026-10-20 08:26:25,612.612 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:26:25,614.614 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:26:25,619.619 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:26:25,624.624 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:26:27,664.664 INFO    ] ================================================
[2026-10-20 08:26:27,679.679 INFO    ] Launching Daemon at Tue Oct 20 08:26:27 IST 2026
[2026-10-20 08:26:27,689.689 INFO    ] ================================================
[2026-10-20 08:26:28,258.258 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:26:28
[2026-10-20 08:26:28,842.842 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:26:29,092.092 INFO    ] Initializing speech engine...
[2026-10-20 08:26:29,100.100 INFO    ] 2026-10-20 08:26:29
[2026-10-20 08:26:29,391.391 INFO    ] 2026-10-20 08:26:29
[2026-10-20 08:26:29,426.426 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:26:29,653.653 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:26:29,707.707 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:26:29,877.877 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:26:29,932.932 INFO    ] time= 20/10/2026 08:26:29
[2026-10-20 08:26:29,981.981 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:26:30,022.022 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:26:30,155.155 INFO    ] No existing commands found in stream
[2026-10-20 08:26:35,186.186 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:26:35,189.189 INFO    ] Waiting 1.79 seconds before fallback handling...
[2026-10-20 08:26:37,507.507 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:26:37,510.510 INFO    ] Checking for system updates...
[2026-10-20 08:26:37,546.546 INFO    ] 200
[2026-10-20 08:26:37,549.549 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:26:37,601.601 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:26:37,603.603 INFO    ] No update needed
[2026-10-20 08:26:37,606.606 INFO    ] Checking for camera pi updates...
[2026-10-20 08:26:37,642.642 INFO    ] 200
[2026-10-20 08:26:37,644.644 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:26:37,688.688 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:26:37,737.737 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:26:37,739.739 INFO    ] No camera update needed
[2026-10-20 08:26:37,741.741 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:26:37,744.744 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:26:37,749.749 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:26:37,754.754 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:26:39,793.793 INFO    ] ================================================
[2026-10-20 08:26:39,807.807 INFO    ] Launching Daemon at Tue Oct 20 08:26:39 IST 2026
[2026-10-20 08:26:39,818.818 INFO    ] ================================================
[2026-10-20 08:26:40,384.384 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:26:40
[2026-10-20 08:26:40,967.967 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:26:41,225.225 INFO    ] Initializing speech engine...
[2026-10-20 08:26:41,249.249 INFO    ] 2026-10-20 08:26:41
[2026-10-20 08:26:41,519.519 INFO    ] 2026-10-20 08:26:41
[2026-10-20 08:26:41,555.555 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:26:41,759.759 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:26:41,769.769 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:26:41,928.928 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:26:41,936.936 INFO    ] time= 20/10/2026 08:26:41
[2026-10-20 08:26:41,949.949 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:26:42,009.009 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:26:42,131.131 INFO    ] No existing commands found in stream
[2026-10-20 08:26:47,161.161 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:26:47,164.164 INFO    ] Waiting 1.57 seconds before fallback handling...
[2026-10-20 08:26:49,240.240 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:26:49,243.243 INFO    ] Checking for system updates...
[2026-10-20 08:26:49,279.279 INFO    ] 200
[2026-10-20 08:26:49,282.282 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:26:49,336.336 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:26:49,339.339 INFO    ] No update needed
[2026-10-20 08:26:49,342.342 INFO    ] Checking for camera pi updates...
[2026-10-20 08:26:49,375.375 INFO    ] 200
[2026-10-20 08:26:49,378.378 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:26:49,420.420 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:26:49,467.467 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:26:49,469.469 INFO    ] No camera update needed
[2026-10-20 08:26:49,472.472 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:26:49,474.474 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:26:49,479.479 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:26:49,484.484 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:26:51,525.525 INFO    ] ================================================
[2026-10-20 08:26:51,539.539 INFO    ] Launching Daemon at Tue Oct 20 08:26:51 IST 2026
[2026-10-20 08:26:51,550.550 INFO    ] ================================================
[2026-10-20 08:26:52,116.116 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:26:52
[2026-10-20 08:26:52,700.700 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:26:52,973.973 INFO    ] Initializing speech engine...
[2026-10-20 08:26:52,978.978 INFO    ] 2026-10-20 08:26:52
[2026-10-20 08:26:53,222.222 INFO    ] 2026-10-20 08:26:53
[2026-10-20 08:26:53,257.257 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:26:53,449.449 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:26:53,494.494 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:26:53,649.649 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:26:53,691.691 INFO    ] time= 20/10/2026 08:26:53
[2026-10-20 08:26:53,735.735 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:26:53,782.782 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:26:53,911.911 INFO    ] No existing commands found in stream
[2026-10-20 08:26:58,936.936 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:26:58,939.939 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-10-20 08:27:02,137.137 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 08:27:02,145.145 INFO    ] Checking for system updates...
[2026-10-20 08:27:02,196.196 INFO    ] 200
[2026-10-20 08:27:02,200.200 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:27:02,268.268 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:27:02,271.271 INFO    ] No update needed
[2026-10-20 08:27:02,275.275 INFO    ] Checking for camera pi updates...
[2026-10-20 08:27:02,313.313 INFO    ] 200
[2026-10-20 08:27:02,316.316 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:27:02,369.369 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:27:02,407.407 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:27:02,410.410 INFO    ] No camera update needed
[2026-10-20 08:27:02,413.413 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:27:02,416.416 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:27:02,423.423 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:27:02,429.429 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:27:04,474.474 INFO    ] ================================================
[2026-10-20 08:27:04,489.489 INFO    ] Launching Daemon at Tue Oct 20 08:27:04 IST 2026
[2026-10-20 08:27:04,500.500 INFO    ] ================================================
[2026-10-20 08:27:05,065.065 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:27:05
[2026-10-20 08:27:05,651.651 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:27:05,920.920 INFO    ] Initializing speech engine...
[2026-10-20 08:27:05,929.929 INFO    ] 2026-10-20 08:27:05
[2026-10-20 08:27:06,175.175 INFO    ] 2026-10-20 08:27:06
[2026-10-20 08:27:06,210.210 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:27:06,465.465 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:27:06,470.470 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:27:06,609.609 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:27:06,674.674 INFO    ] time= 20/10/2026 08:27:06
[2026-10-20 08:27:06,731.731 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:27:06,737.737 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:27:06,883.883 INFO    ] No existing commands found in stream
[2026-10-20 08:27:11,897.897 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:27:11,900.900 INFO    ] Waiting 2.28 seconds before fallback handling...
[2026-10-20 08:27:14,675.675 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:27:14,677.677 INFO    ] Checking for system updates...
[2026-10-20 08:27:14,712.712 INFO    ] 200
[2026-10-20 08:27:14,715.715 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:27:14,768.768 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:27:14,770.770 INFO    ] No update needed
[2026-10-20 08:27:14,773.773 INFO    ] Checking for camera pi updates...
[2026-10-20 08:27:14,806.806 INFO    ] 200
[2026-10-20 08:27:14,809.809 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:27:14,849.849 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:27:14,893.893 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:27:14,895.895 INFO    ] No camera update needed
[2026-10-20 08:27:14,898.898 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:27:14,900.900 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:27:14,905.905 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:27:14,910.910 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:27:16,950.950 INFO    ] ================================================
[2026-10-20 08:27:16,965.965 INFO    ] Launching Daemon at Tue Oct 20 08:27:16 IST 2026
[2026-10-20 08:27:16,976.976 INFO    ] ================================================
[2026-10-20 08:27:17,564.564 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:27:17
[2026-10-20 08:27:18,161.161 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:27:18,432.432 INFO    ] Initializing speech engine...
[2026-10-20 08:27:18,441.441 INFO    ] 2026-10-20 08:27:18
[2026-10-20 08:27:18,696.696 INFO    ] 2026-10-20 08:27:18
[2026-10-20 08:27:18,726.726 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:27:18,970.970 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:27:18,979.979 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:27:19,183.183 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:27:19,237.237 INFO    ] time= 20/10/2026 08:27:19
[2026-10-20 08:27:19,243.243 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:27:19,260.260 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:27:19,395.395 INFO    ] No existing commands found in stream
[2026-10-20 08:27:24,425.425 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:27:24,428.428 INFO    ] Waiting 3.07 seconds before fallback handling...
[2026-10-20 08:27:28,013.013 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:27:28,015.015 INFO    ] Checking for system updates...
[2026-10-20 08:27:28,056.056 INFO    ] 200
[2026-10-20 08:27:28,059.059 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:27:28,117.117 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:27:28,120.120 INFO    ] No update needed
[2026-10-20 08:27:28,122.122 INFO    ] Checking for camera pi updates...
[2026-10-20 08:27:28,159.159 INFO    ] 200
[2026-10-20 08:27:28,161.161 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:27:28,206.206 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:27:28,262.262 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:27:28,264.264 INFO    ] No camera update needed
[2026-10-20 08:27:28,266.266 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:27:28,269.269 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:27:28,274.274 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:27:28,279.279 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:27:30,319.319 INFO    ] ================================================
[2026-10-20 08:27:30,334.334 INFO    ] Launching Daemon at Tue Oct 20 08:27:30 IST 2026
[2026-10-20 08:27:30,345.345 INFO    ] ================================================
[2026-10-20 08:27:31,001.001 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:27:30
[2026-10-20 08:27:31,679.679 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:27:31,976.976 INFO    ] Initializing speech engine...
[2026-10-20 08:27:31,984.984 INFO    ] 2026-10-20 08:27:31
[2026-10-20 08:27:32,259.259 INFO    ] 2026-10-20 08:27:32
[2026-10-20 08:27:32,294.294 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:27:32,549.549 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:27:32,559.559 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:27:32,775.775 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:27:32,826.826 INFO    ] time= 20/10/2026 08:27:32
[2026-10-20 08:27:32,842.842 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:27:32,860.860 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:27:32,989.989 INFO    ] No existing commands found in stream
[2026-10-20 08:27:38,003.003 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:27:38,005.005 INFO    ] Waiting 2.40 seconds before fallback handling...
[2026-10-20 08:27:40,946.946 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 08:27:40,949.949 INFO    ] Checking for system updates...
[2026-10-20 08:27:40,989.989 INFO    ] 200
[2026-10-20 08:27:40,992.992 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:27:41,051.051 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:27:41,054.054 INFO    ] No update needed
[2026-10-20 08:27:41,057.057 INFO    ] Checking for camera pi updates...
[2026-10-20 08:27:41,091.091 INFO    ] 200
[2026-10-20 08:27:41,093.093 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:27:41,139.139 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:27:41,188.188 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:27:41,191.191 INFO    ] No camera update needed
[2026-10-20 08:27:41,193.193 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:27:41,196.196 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:27:41,202.202 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:27:41,208.208 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:27:43,250.250 INFO    ] ================================================
[2026-10-20 08:27:43,265.265 INFO    ] Launching Daemon at Tue Oct 20 08:27:43 IST 2026
[2026-10-20 08:27:43,276.276 INFO    ] ================================================
[2026-10-20 08:27:43,927.927 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:27:43
[2026-10-20 08:27:44,601.601 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:27:44,901.901 INFO    ] Initializing speech engine...
[2026-10-20 08:27:44,910.910 INFO    ] 2026-10-20 08:27:44
[2026-10-20 08:27:45,194.194 INFO    ] 2026-10-20 08:27:45
[2026-10-20 08:27:45,239.239 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:27:45,519.519 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:27:45,530.530 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:27:45,719.719 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:27:45,730.730 INFO    ] time= 20/10/2026 08:27:45
[2026-10-20 08:27:45,749.749 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:27:45,778.778 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:27:45,898.898 INFO    ] No existing commands found in stream
[2026-10-20 08:27:50,929.929 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:27:50,933.933 INFO    ] Waiting 0.21 seconds before fallback handling...
[2026-10-20 08:27:51,691.691 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:27:51,694.694 INFO    ] Checking for system updates...
[2026-10-20 08:27:51,736.736 INFO    ] 200
[2026-10-20 08:27:51,739.739 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:27:51,800.800 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:27:51,803.803 INFO    ] No update needed
[2026-10-20 08:27:51,806.806 INFO    ] Checking for camera pi updates...
[2026-10-20 08:27:51,841.841 INFO    ] 200
[2026-10-20 08:27:51,844.844 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:27:51,886.886 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:27:51,937.937 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:27:51,940.940 INFO    ] No camera update needed
[2026-10-20 08:27:51,943.943 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:27:51,945.945 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:27:51,952.952 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:27:51,958.958 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:27:54,000.000 INFO    ] ================================================
[2026-10-20 08:27:54,018.018 INFO    ] Launching Daemon at Tue Oct 20 08:27:54 IST 2026
[2026-10-20 08:27:54,029.029 INFO    ] ================================================
[2026-10-20 08:27:54,602.602 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:27:54
[2026-10-20 08:27:55,185.185 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:27:55,436.436 INFO    ] Initializing speech engine...
[2026-10-20 08:27:55,451.451 INFO    ] 2026-10-20 08:27:55
[2026-10-20 08:27:55,718.718 INFO    ] 2026-10-20 08:27:55
[2026-10-20 08:27:55,753.753 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:27:55,960.960 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:27:56,017.017 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:27:56,157.157 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:27:56,211.211 INFO    ] time= 20/10/2026 08:27:56
[2026-10-20 08:27:56,270.270 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:27:56,287.287 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:27:56,424.424 INFO    ] No existing commands found in stream
[2026-10-20 08:28:01,444.444 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:28:01,446.446 INFO    ] Waiting 1.17 seconds before fallback handling...
[2026-10-20 08:28:03,201.201 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:28:03,204.204 INFO    ] Checking for system updates...
[2026-10-20 08:28:03,249.249 INFO    ] 200
[2026-10-20 08:28:03,253.253 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:28:03,319.319 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:28:03,323.323 INFO    ] No update needed
[2026-10-20 08:28:03,326.326 INFO    ] Checking for camera pi updates...
[2026-10-20 08:28:03,371.371 INFO    ] 200
[2026-10-20 08:28:03,374.374 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:28:03,418.418 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:28:03,468.468 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:28:03,472.472 INFO    ] No camera update needed
[2026-10-20 08:28:03,476.476 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:28:03,480.480 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:28:03,488.488 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:28:03,497.497 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:28:05,540.540 INFO    ] ================================================
[2026-10-20 08:28:05,555.555 INFO    ] Launching Daemon at Tue Oct 20 08:28:05 IST 2026
[2026-10-20 08:28:05,566.566 INFO    ] ================================================
[2026-10-20 08:28:06,136.136 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:28:06
[2026-10-20 08:28:06,721.721 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:28:06,966.966 INFO    ] Initializing speech engine...
[2026-10-20 08:28:06,981.981 INFO    ] 2026-10-20 08:28:06
[2026-10-20 08:28:07,243.243 INFO    ] 2026-10-20 08:28:07
[2026-10-20 08:28:07,279.279 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:28:07,530.530 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:28:07,539.539 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:28:07,745.745 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:28:07,797.797 INFO    ] time= 20/10/2026 08:28:07
[2026-10-20 08:28:07,803.803 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:28:07,821.821 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:28:07,952.952 INFO    ] No existing commands found in stream
[2026-10-20 08:28:12,963.963 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:28:12,966.966 INFO    ] Waiting 1.07 seconds before fallback handling...
[2026-10-20 08:28:16,491.491 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:28:16,494.494 INFO    ] Checking for system updates...
[2026-10-20 08:28:16,529.529 INFO    ] 200
[2026-10-20 08:28:16,532.532 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:28:16,583.583 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:28:16,585.585 INFO    ] No update needed
[2026-10-20 08:28:16,588.588 INFO    ] Checking for camera pi updates...
[2026-10-20 08:28:16,621.621 INFO    ] 200
[2026-10-20 08:28:16,623.623 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:28:16,669.669 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:28:16,817.817 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:28:16,819.819 INFO    ] No camera update needed
[2026-10-20 08:28:16,822.822 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:28:16,824.824 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:28:16,829.829 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:28:16,834.834 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:28:18,875.875 INFO    ] ================================================
[2026-10-20 08:28:18,891.891 INFO    ] Launching Daemon at Tue Oct 20 08:28:18 IST 2026
[2026-10-20 08:28:18,903.903 INFO    ] ================================================
[2026-10-20 08:28:19,468.468 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:28:19
[2026-10-20 08:28:20,050.050 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:28:20,319.319 INFO    ] Initializing speech engine...
[2026-10-20 08:28:20,328.328 INFO    ] 2026-10-20 08:28:20
[2026-10-20 08:28:20,572.572 INFO    ] 2026-10-20 08:28:20
[2026-10-20 08:28:20,607.607 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:28:20,835.835 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:28:20,862.862 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:28:21,068.068 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:28:21,124.124 INFO    ] time= 20/10/2026 08:28:21
[2026-10-20 08:28:21,131.131 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:28:21,148.148 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:28:21,289.289 INFO    ] No existing commands found in stream
[2026-10-20 08:28:26,320.320 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:28:26,322.322 INFO    ] Waiting 2.79 seconds before fallback handling...
[2026-10-20 08:28:29,702.702 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:28:29,705.705 INFO    ] Checking for system updates...
[2026-10-20 08:28:29,742.742 INFO    ] 200
[2026-10-20 08:28:29,745.745 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:28:29,798.798 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:28:29,801.801 INFO    ] No update needed
[2026-10-20 08:28:29,804.804 INFO    ] Checking for camera pi updates...
[2026-10-20 08:28:29,838.838 INFO    ] 200
[2026-10-20 08:28:29,841.841 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:28:29,886.886 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:28:29,932.932 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:28:29,934.934 INFO    ] No camera update needed
[2026-10-20 08:28:29,937.937 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:28:29,939.939 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:28:29,944.944 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:28:29,950.950 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:28:31,992.992 INFO    ] ================================================
[2026-10-20 08:28:32,007.007 INFO    ] Launching Daemon at Tue Oct 20 08:28:32 IST 2026
[2026-10-20 08:28:32,018.018 INFO    ] ================================================
[2026-10-20 08:28:32,624.624 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:28:32
[2026-10-20 08:28:33,237.237 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:28:33,522.522 INFO    ] Initializing speech engine...
[2026-10-20 08:28:33,528.528 INFO    ] 2026-10-20 08:28:33
[2026-10-20 08:28:33,788.788 INFO    ] 2026-10-20 08:28:33
[2026-10-20 08:28:33,838.838 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:28:34,066.066 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:28:34,071.071 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:28:34,209.209 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:28:34,274.274 INFO    ] time= 20/10/2026 08:28:34
[2026-10-20 08:28:34,330.330 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:28:34,336.336 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:28:34,482.482 INFO    ] No existing commands found in stream
[2026-10-20 08:28:39,505.505 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:28:39,507.507 INFO    ] Waiting 3.80 seconds before fallback handling...
[2026-10-20 08:28:43,839.839 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:28:43,842.842 INFO    ] Checking for system updates...
[2026-10-20 08:28:43,878.878 INFO    ] 200
[2026-10-20 08:28:43,881.881 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:28:43,933.933 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:28:43,935.935 INFO    ] No update needed
[2026-10-20 08:28:43,937.937 INFO    ] Checking for camera pi updates...
[2026-10-20 08:28:43,970.970 INFO    ] 200
[2026-10-20 08:28:43,973.973 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:28:44,013.013 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:28:44,060.060 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:28:44,063.063 INFO    ] No camera update needed
[2026-10-20 08:28:44,065.065 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:28:44,068.068 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:28:44,073.073 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:28:44,078.078 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:28:46,118.118 INFO    ] ================================================
[2026-10-20 08:28:46,133.133 INFO    ] Launching Daemon at Tue Oct 20 08:28:46 IST 2026
[2026-10-20 08:28:46,143.143 INFO    ] ================================================
[2026-10-20 08:28:46,714.714 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:28:46
[2026-10-20 08:28:47,301.301 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:28:47,570.570 INFO    ] Initializing speech engine...
[2026-10-20 08:28:47,579.579 INFO    ] 2026-10-20 08:28:47
[2026-10-20 08:28:47,840.840 INFO    ] 2026-10-20 08:28:47
[2026-10-20 08:28:47,869.869 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:28:48,113.113 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:28:48,122.122 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:28:48,319.319 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:28:48,364.364 INFO    ] time= 20/10/2026 08:28:48
[2026-10-20 08:28:48,387.387 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:28:48,404.404 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:28:48,515.515 INFO    ] No existing commands found in stream
[2026-10-20 08:28:53,542.542 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:28:53,545.545 INFO    ] Waiting 2.61 seconds before fallback handling...
[2026-10-20 08:28:56,651.651 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:28:56,654.654 INFO    ] Checking for system updates...
[2026-10-20 08:28:56,690.690 INFO    ] 200
[2026-10-20 08:28:56,692.692 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:28:56,750.750 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:28:56,753.753 INFO    ] No update needed
[2026-10-20 08:28:56,755.755 INFO    ] Checking for camera pi updates...
[2026-10-20 08:28:56,788.788 INFO    ] 200
[2026-10-20 08:28:56,791.791 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:28:56,836.836 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:28:56,890.890 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:28:56,893.893 INFO    ] No camera update needed
[2026-10-20 08:28:56,895.895 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:28:56,898.898 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:28:56,903.903 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:28:56,908.908 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:28:58,950.950 INFO    ] ================================================
[2026-10-20 08:28:58,965.965 INFO    ] Launching Daemon at Tue Oct 20 08:28:58 IST 2026
[2026-10-20 08:28:58,977.977 INFO    ] ================================================
[2026-10-20 08:28:59,547.547 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:28:59
[2026-10-20 08:29:00,131.131 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:29:00,400.400 INFO    ] Initializing speech engine...
[2026-10-20 08:29:00,409.409 INFO    ] 2026-10-20 08:29:00
[2026-10-20 08:29:00,654.654 INFO    ] 2026-10-20 08:29:00
[2026-10-20 08:29:00,689.689 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:29:00,945.945 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:29:00,950.950 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:29:01,090.090 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:29:01,149.149 INFO    ] time= 20/10/2026 08:29:01
[2026-10-20 08:29:01,203.203 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:29:01,218.218 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:29:01,377.377 INFO    ] No existing commands found in stream
[2026-10-20 08:29:06,407.407 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:29:06,410.410 INFO    ] Waiting 3.68 seconds before fallback handling...
[2026-10-20 08:29:10,641.641 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 08:29:10,644.644 INFO    ] Checking for system updates...
[2026-10-20 08:29:10,682.682 INFO    ] 200
[2026-10-20 08:29:10,685.685 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:29:10,737.737 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:29:10,740.740 INFO    ] No update needed
[2026-10-20 08:29:10,742.742 INFO    ] Checking for camera pi updates...
[2026-10-20 08:29:10,776.776 INFO    ] 200
[2026-10-20 08:29:10,779.779 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:29:10,823.823 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:29:10,866.866 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:29:10,869.869 INFO    ] No camera update needed
[2026-10-20 08:29:10,871.871 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:29:10,874.874 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:29:10,879.879 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:29:10,884.884 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:29:12,926.926 INFO    ] ================================================
[2026-10-20 08:29:12,941.941 INFO    ] Launching Daemon at Tue Oct 20 08:29:12 IST 2026
[2026-10-20 08:29:12,952.952 INFO    ] ================================================
[2026-10-20 08:29:13,544.544 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:29:13
[2026-10-20 08:29:14,139.139 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:29:14,423.423 INFO    ] Initializing speech engine...
[2026-10-20 08:29:14,434.434 INFO    ] 2026-10-20 08:29:14
[2026-10-20 08:29:14,697.697 INFO    ] 2026-10-20 08:29:14
[2026-10-20 08:29:14,741.741 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:29:15,020.020 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:29:15,028.028 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:29:15,214.214 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:29:15,228.228 INFO    ] time= 20/10/2026 08:29:15
[2026-10-20 08:29:15,246.246 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:29:15,268.268 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:29:15,382.382 INFO    ] No existing commands found in stream
[2026-10-20 08:29:20,401.401 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:29:20,404.404 INFO    ] Waiting 1.95 seconds before fallback handling...
[2026-10-20 08:29:22,865.865 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:29:22,868.868 INFO    ] Checking for system updates...
[2026-10-20 08:29:22,903.903 INFO    ] 200
[2026-10-20 08:29:22,905.905 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:29:22,957.957 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:29:22,959.959 INFO    ] No update needed
[2026-10-20 08:29:22,962.962 INFO    ] Checking for camera pi updates...
[2026-10-20 08:29:22,995.995 INFO    ] 200
[2026-10-20 08:29:22,998.998 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:29:23,038.038 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:29:23,085.085 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:29:23,087.087 INFO    ] No camera update needed
[2026-10-20 08:29:23,090.090 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:29:23,092.092 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:29:23,097.097 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:29:23,102.102 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:29:25,143.143 INFO    ] ================================================
[2026-10-20 08:29:25,158.158 INFO    ] Launching Daemon at Tue Oct 20 08:29:25 IST 2026
[2026-10-20 08:29:25,168.168 INFO    ] ================================================
[2026-10-20 08:29:25,735.735 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:29:25
[2026-10-20 08:29:26,321.321 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:29:26,590.590 INFO    ] Initializing speech engine...
[2026-10-20 08:29:26,599.599 INFO    ] 2026-10-20 08:29:26
[2026-10-20 08:29:26,856.856 INFO    ] 2026-10-20 08:29:26
[2026-10-20 08:29:26,912.912 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:29:27,137.137 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:29:27,146.146 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:29:27,353.353 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:29:27,406.406 INFO    ] time= 20/10/2026 08:29:27
[2026-10-20 08:29:27,413.413 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:29:27,430.430 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:29:27,559.559 INFO    ] No existing commands found in stream
[2026-10-20 08:29:32,575.575 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:29:32,578.578 INFO    ] Waiting 0.29 seconds before fallback handling...
[2026-10-20 08:29:33,371.371 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 08:29:33,374.374 INFO    ] Checking for system updates...
[2026-10-20 08:29:33,413.413 INFO    ] 200
[2026-10-20 08:29:33,415.415 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:29:33,468.468 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:29:33,471.471 INFO    ] No update needed
[2026-10-20 08:29:33,473.473 INFO    ] Checking for camera pi updates...
[2026-10-20 08:29:33,510.510 INFO    ] 200
[2026-10-20 08:29:33,512.512 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:29:33,557.557 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:29:33,601.601 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:29:33,603.603 INFO    ] No camera update needed
[2026-10-20 08:29:33,605.605 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:29:33,608.608 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:29:33,613.613 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:29:33,618.618 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:29:35,659.659 INFO    ] ================================================
[2026-10-20 08:29:35,674.674 INFO    ] Launching Daemon at Tue Oct 20 08:29:35 IST 2026
[2026-10-20 08:29:35,685.685 INFO    ] ================================================
[2026-10-20 08:29:36,256.256 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:29:36
[2026-10-20 08:29:36,844.844 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:29:37,115.115 INFO    ] Initializing speech engine...
[2026-10-20 08:29:37,124.124 INFO    ] 2026-10-20 08:29:37
[2026-10-20 08:29:37,382.382 INFO    ] 2026-10-20 08:29:37
[2026-10-20 08:29:37,412.412 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:29:37,661.661 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:29:37,666.666 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:29:37,877.877 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:29:37,924.924 INFO    ] time= 20/10/2026 08:29:37
[2026-10-20 08:29:37,930.930 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:29:37,948.948 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:29:38,102.102 INFO    ] No existing commands found in stream
[2026-10-20 08:29:43,132.132 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:29:43,135.135 INFO    ] Waiting 0.80 seconds before fallback handling...
[2026-10-20 08:29:44,441.441 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 08:29:44,443.443 INFO    ] Checking for system updates...
[2026-10-20 08:29:44,478.478 INFO    ] 200
[2026-10-20 08:29:44,481.481 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:29:44,539.539 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:29:44,542.542 INFO    ] No update needed
[2026-10-20 08:29:44,544.544 INFO    ] Checking for camera pi updates...
[2026-10-20 08:29:44,578.578 INFO    ] 200
[2026-10-20 08:29:44,581.581 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:29:44,620.620 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:29:44,667.667 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:29:44,669.669 INFO    ] No camera update needed
[2026-10-20 08:29:44,672.672 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:29:44,674.674 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:29:44,680.680 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:29:44,686.686 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:29:46,726.726 INFO    ] ================================================
[2026-10-20 08:29:46,741.741 INFO    ] Launching Daemon at Tue Oct 20 08:29:46 IST 2026
[2026-10-20 08:29:46,752.752 INFO    ] ================================================
[2026-10-20 08:29:47,409.409 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:29:47
[2026-10-20 08:29:48,086.086 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:29:48,396.396 INFO    ] Initializing speech engine...
[2026-10-20 08:29:48,407.407 INFO    ] 2026-10-20 08:29:48
[2026-10-20 08:29:48,716.716 INFO    ] 2026-10-20 08:29:48
[2026-10-20 08:29:48,804.804 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:29:49,015.015 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:29:49,022.022 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:29:49,218.218 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:29:49,240.240 INFO    ] time= 20/10/2026 08:29:49
[2026-10-20 08:29:49,269.269 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:29:49,275.275 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:29:49,399.399 INFO    ] No existing commands found in stream
[2026-10-20 08:29:54,425.425 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:29:54,428.428 INFO    ] Waiting 3.24 seconds before fallback handling...
[2026-10-20 08:29:58,158.158 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:29:58,161.161 INFO    ] Checking for system updates...
[2026-10-20 08:29:58,201.201 INFO    ] 200
[2026-10-20 08:29:58,203.203 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:29:58,262.262 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:29:58,265.265 INFO    ] No update needed
[2026-10-20 08:29:58,267.267 INFO    ] Checking for camera pi updates...
[2026-10-20 08:29:58,300.300 INFO    ] 200
[2026-10-20 08:29:58,302.302 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:29:58,344.344 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:29:58,402.402 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:29:58,404.404 INFO    ] No camera update needed
[2026-10-20 08:29:58,406.406 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:29:58,409.409 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:29:58,414.414 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:29:58,419.419 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:30:00,460.460 INFO    ] ================================================
[2026-10-20 08:30:00,476.476 INFO    ] Launching Daemon at Tue Oct 20 08:30:00 IST 2026
[2026-10-20 08:30:00,487.487 INFO    ] ================================================
[2026-10-20 08:30:01,053.053 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:30:01
[2026-10-20 08:30:01,639.639 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:30:02,100.100 INFO    ] Initializing speech engine...
[2026-10-20 08:30:02,159.159 INFO    ] 2026-10-20 08:30:02
[2026-10-20 08:30:02,943.943 INFO    ] 2026-10-20 08:30:02
[2026-10-20 08:30:02,994.994 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:30:03,242.242 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:30:03,247.247 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:30:03,418.418 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:30:03,423.423 INFO    ] time= 20/10/2026 08:30:03
[2026-10-20 08:30:03,427.427 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:30:03,446.446 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:30:03,527.527 INFO    ] No existing commands found in stream
[2026-10-20 08:30:08,538.538 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:30:08,541.541 INFO    ] Waiting 0.87 seconds before fallback handling...
[2026-10-20 08:30:09,925.925 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 08:30:09,928.928 INFO    ] Checking for system updates...
[2026-10-20 08:30:09,970.970 INFO    ] 200
[2026-10-20 08:30:09,973.973 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:30:10,026.026 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:30:10,029.029 INFO    ] No update needed
[2026-10-20 08:30:10,032.032 INFO    ] Checking for camera pi updates...
[2026-10-20 08:30:10,066.066 INFO    ] 200
[2026-10-20 08:30:10,069.069 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:30:10,116.116 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:30:10,174.174 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:30:10,177.177 INFO    ] No camera update needed
[2026-10-20 08:30:10,180.180 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:30:10,182.182 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:30:10,189.189 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:30:10,194.194 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:30:12,236.236 INFO    ] ================================================
[2026-10-20 08:30:12,251.251 INFO    ] Launching Daemon at Tue Oct 20 08:30:12 IST 2026
[2026-10-20 08:30:12,263.263 INFO    ] ================================================
[2026-10-20 08:30:12,851.851 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:30:12
[2026-10-20 08:30:13,454.454 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:30:13,733.733 INFO    ] Initializing speech engine...
[2026-10-20 08:30:13,739.739 INFO    ] 2026-10-20 08:30:13
[2026-10-20 08:30:14,000.000 INFO    ] 2026-10-20 08:30:13
[2026-10-20 08:30:14,053.053 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:30:14,300.300 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:30:14,308.308 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:30:14,527.527 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:30:14,546.546 INFO    ] time= 20/10/2026 08:30:14
[2026-10-20 08:30:14,562.562 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:30:14,570.570 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:30:14,699.699 INFO    ] No existing commands found in stream
[2026-10-20 08:30:19,715.715 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:30:19,718.718 INFO    ] Waiting 2.71 seconds before fallback handling...
[2026-10-20 08:30:23,001.001 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 08:30:23,004.004 INFO    ] Checking for system updates...
[2026-10-20 08:30:23,040.040 INFO    ] 200
[2026-10-20 08:30:23,042.042 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:30:23,101.101 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:30:23,103.103 INFO    ] No update needed
[2026-10-20 08:30:23,105.105 INFO    ] Checking for camera pi updates...
[2026-10-20 08:30:23,143.143 INFO    ] 200
[2026-10-20 08:30:23,145.145 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:30:23,191.191 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:30:23,338.338 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:30:23,340.340 INFO    ] No camera update needed
[2026-10-20 08:30:23,343.343 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:30:23,345.345 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:30:23,350.350 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:30:23,355.355 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:30:25,395.395 INFO    ] ================================================
[2026-10-20 08:30:25,411.411 INFO    ] Launching Daemon at Tue Oct 20 08:30:25 IST 2026
[2026-10-20 08:30:25,422.422 INFO    ] ================================================
[2026-10-20 08:30:26,065.065 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:30:26
[2026-10-20 08:30:26,687.687 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:30:26,968.968 INFO    ] Initializing speech engine...
[2026-10-20 08:30:26,975.975 INFO    ] 2026-10-20 08:30:26
[2026-10-20 08:30:27,235.235 INFO    ] 2026-10-20 08:30:27
[2026-10-20 08:30:27,288.288 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:30:27,553.553 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:30:27,573.573 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:30:27,773.773 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:30:27,780.780 INFO    ] time= 20/10/2026 08:30:27
[2026-10-20 08:30:27,797.797 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:30:27,820.820 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:30:27,934.934 INFO    ] No existing commands found in stream
[2026-10-20 08:30:32,951.951 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:30:32,954.954 INFO    ] Waiting 0.91 seconds before fallback handling...
[2026-10-20 08:30:34,387.387 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 08:30:34,390.390 INFO    ] Checking for system updates...
[2026-10-20 08:30:34,426.426 INFO    ] 200
[2026-10-20 08:30:34,428.428 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:30:34,480.480 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:30:34,482.482 INFO    ] No update needed
[2026-10-20 08:30:34,485.485 INFO    ] Checking for camera pi updates...
[2026-10-20 08:30:34,518.518 INFO    ] 200
[2026-10-20 08:30:34,521.521 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:30:34,566.566 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:30:34,612.612 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:30:34,614.614 INFO    ] No camera update needed
[2026-10-20 08:30:34,617.617 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:30:34,619.619 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:30:34,624.624 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:30:34,629.629 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:30:36,670.670 INFO    ] ================================================
[2026-10-20 08:30:36,686.686 INFO    ] Launching Daemon at Tue Oct 20 08:30:36 IST 2026
[2026-10-20 08:30:36,697.697 INFO    ] ================================================
[2026-10-20 08:30:37,263.263 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:30:37
[2026-10-20 08:30:37,844.844 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:30:38,112.112 INFO    ] Initializing speech engine...
[2026-10-20 08:30:38,121.121 INFO    ] 2026-10-20 08:30:38
[2026-10-20 08:30:38,374.374 INFO    ] 2026-10-20 08:30:38
[2026-10-20 08:30:38,410.410 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:30:38,658.658 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:30:38,664.664 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:30:38,870.870 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:30:38,920.920 INFO    ] time= 20/10/2026 08:30:38
[2026-10-20 08:30:38,926.926 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:30:38,944.944 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:30:39,070.070 INFO    ] No existing commands found in stream
[2026-10-20 08:30:44,086.086 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:30:44,089.089 INFO    ] Waiting 0.32 seconds before fallback handling...
[2026-10-20 08:30:44,929.929 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:30:44,932.932 INFO    ] Checking for system updates...
[2026-10-20 08:30:44,970.970 INFO    ] 200
[2026-10-20 08:30:44,973.973 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:30:45,029.029 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:30:45,031.031 INFO    ] No update needed
[2026-10-20 08:30:45,034.034 INFO    ] Checking for camera pi updates...
[2026-10-20 08:30:45,076.076 INFO    ] 200
[2026-10-20 08:30:45,078.078 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:30:45,122.122 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:30:45,168.168 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:30:45,171.171 INFO    ] No camera update needed
[2026-10-20 08:30:45,173.173 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:30:45,176.176 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:30:45,182.182 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:30:45,187.187 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:30:47,229.229 INFO    ] ================================================
[2026-10-20 08:30:47,248.248 INFO    ] Launching Daemon at Tue Oct 20 08:30:47 IST 2026
[2026-10-20 08:30:47,259.259 INFO    ] ================================================
[2026-10-20 08:30:47,826.826 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:30:47
[2026-10-20 08:30:48,410.410 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:30:48,679.679 INFO    ] Initializing speech engine...
[2026-10-20 08:30:48,689.689 INFO    ] 2026-10-20 08:30:48
[2026-10-20 08:30:48,933.933 INFO    ] 2026-10-20 08:30:48
[2026-10-20 08:30:48,967.967 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:30:49,150.150 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:30:49,168.168 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:30:49,304.304 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:30:49,365.365 INFO    ] time= 20/10/2026 08:30:49
[2026-10-20 08:30:49,376.376 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:30:49,441.441 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:30:49,542.542 INFO    ] No existing commands found in stream
[2026-10-20 08:30:54,554.554 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:30:54,557.557 INFO    ] Waiting 2.04 seconds before fallback handling...
[2026-10-20 08:30:57,113.113 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 08:30:57,115.115 INFO    ] Checking for system updates...
[2026-10-20 08:30:57,151.151 INFO    ] 200
[2026-10-20 08:30:57,153.153 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:30:57,206.206 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:30:57,208.208 INFO    ] No update needed
[2026-10-20 08:30:57,211.211 INFO    ] Checking for camera pi updates...
[2026-10-20 08:30:57,245.245 INFO    ] 200
[2026-10-20 08:30:57,247.247 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:30:57,294.294 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:30:57,339.339 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:30:57,342.342 INFO    ] No camera update needed
[2026-10-20 08:30:57,344.344 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:30:57,346.346 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:30:57,352.352 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:30:57,357.357 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:30:59,397.397 INFO    ] ================================================
[2026-10-20 08:30:59,413.413 INFO    ] Launching Daemon at Tue Oct 20 08:30:59 IST 2026
[2026-10-20 08:30:59,425.425 INFO    ] ================================================
[2026-10-20 08:30:59,993.993 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:30:59
[2026-10-20 08:31:00,577.577 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:31:00,847.847 INFO    ] Initializing speech engine...
[2026-10-20 08:31:00,856.856 INFO    ] 2026-10-20 08:31:00
[2026-10-20 08:31:01,101.101 INFO    ] 2026-10-20 08:31:01
[2026-10-20 08:31:01,135.135 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:31:01,333.333 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:31:01,391.391 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:31:01,530.530 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:31:01,587.587 INFO    ] time= 20/10/2026 08:31:01
[2026-10-20 08:31:01,635.635 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:31:01,686.686 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:31:01,802.802 INFO    ] No existing commands found in stream
[2026-10-20 08:31:06,821.821 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:31:06,824.824 INFO    ] Waiting 0.99 seconds before fallback handling...
[2026-10-20 08:31:08,325.325 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:31:08,328.328 INFO    ] Checking for system updates...
[2026-10-20 08:31:08,366.366 INFO    ] 200
[2026-10-20 08:31:08,369.369 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:31:08,427.427 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:31:08,430.430 INFO    ] No update needed
[2026-10-20 08:31:08,433.433 INFO    ] Checking for camera pi updates...
[2026-10-20 08:31:08,470.470 INFO    ] 200
[2026-10-20 08:31:08,473.473 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:31:08,519.519 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:31:08,564.564 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:31:08,567.567 INFO    ] No camera update needed
[2026-10-20 08:31:08,570.570 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:31:08,572.572 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:31:08,579.579 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:31:08,584.584 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:31:10,625.625 INFO    ] ================================================
[2026-10-20 08:31:10,641.641 INFO    ] Launching Daemon at Tue Oct 20 08:31:10 IST 2026
[2026-10-20 08:31:10,651.651 INFO    ] ================================================
[2026-10-20 08:31:11,223.223 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:31:11
[2026-10-20 08:31:11,811.811 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:31:12,079.079 INFO    ] Initializing speech engine...
[2026-10-20 08:31:12,089.089 INFO    ] 2026-10-20 08:31:12
[2026-10-20 08:31:12,335.335 INFO    ] 2026-10-20 08:31:12
[2026-10-20 08:31:12,376.376 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:31:12,621.621 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:31:12,630.630 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:31:12,833.833 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:31:12,883.883 INFO    ] time= 20/10/2026 08:31:12
[2026-10-20 08:31:12,895.895 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:31:12,912.912 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:31:13,044.044 INFO    ] No existing commands found in stream
[2026-10-20 08:31:18,066.066 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:31:18,069.069 INFO    ] Waiting 1.19 seconds before fallback handling...
[2026-10-20 08:31:19,707.707 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 08:31:19,710.710 INFO    ] Checking for system updates...
[2026-10-20 08:31:19,747.747 INFO    ] 200
[2026-10-20 08:31:19,750.750 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:31:19,802.802 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:31:19,805.805 INFO    ] No update needed
[2026-10-20 08:31:19,807.807 INFO    ] Checking for camera pi updates...
[2026-10-20 08:31:19,844.844 INFO    ] 200
[2026-10-20 08:31:19,846.846 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:31:19,890.890 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:31:19,934.934 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:31:19,937.937 INFO    ] No camera update needed
[2026-10-20 08:31:19,939.939 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:31:19,941.941 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:31:19,947.947 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:31:19,952.952 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:31:21,992.992 INFO    ] ================================================
[2026-10-20 08:31:22,071.071 INFO    ] Launching Daemon at Tue Oct 20 08:31:22 IST 2026
[2026-10-20 08:31:22,082.082 INFO    ] ================================================
[2026-10-20 08:31:22,656.656 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:31:22
[2026-10-20 08:31:23,249.249 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:31:23,522.522 INFO    ] Initializing speech engine...
[2026-10-20 08:31:23,531.531 INFO    ] 2026-10-20 08:31:23
[2026-10-20 08:31:23,794.794 INFO    ] 2026-10-20 08:31:23
[2026-10-20 08:31:23,848.848 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:31:24,070.070 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:31:24,080.080 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:31:24,215.215 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:31:24,280.280 INFO    ] time= 20/10/2026 08:31:24
[2026-10-20 08:31:24,334.334 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:31:24,350.350 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:31:24,480.480 INFO    ] No existing commands found in stream
[2026-10-20 08:31:29,505.505 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:31:29,508.508 INFO    ] Waiting 0.54 seconds before fallback handling...
[2026-10-20 08:31:30,525.525 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:31:30,528.528 INFO    ] Checking for system updates...
[2026-10-20 08:31:30,565.565 INFO    ] 200
[2026-10-20 08:31:30,568.568 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:31:30,621.621 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:31:30,623.623 INFO    ] No update needed
[2026-10-20 08:31:30,626.626 INFO    ] Checking for camera pi updates...
[2026-10-20 08:31:30,664.664 INFO    ] 200
[2026-10-20 08:31:30,667.667 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:31:30,707.707 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:31:30,753.753 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:31:30,756.756 INFO    ] No camera update needed
[2026-10-20 08:31:30,759.759 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:31:30,762.762 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:31:30,768.768 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:31:30,774.774 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:31:32,817.817 INFO    ] ================================================
[2026-10-20 08:31:32,832.832 INFO    ] Launching Daemon at Tue Oct 20 08:31:32 IST 2026
[2026-10-20 08:31:32,897.897 INFO    ] ================================================
[2026-10-20 08:31:33,542.542 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:31:33
[2026-10-20 08:31:34,201.201 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:31:34,500.500 INFO    ] Initializing speech engine...
[2026-10-20 08:31:34,514.514 INFO    ] 2026-10-20 08:31:34
[2026-10-20 08:31:34,788.788 INFO    ] 2026-10-20 08:31:34
[2026-10-20 08:31:34,833.833 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:31:35,060.060 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:31:35,083.083 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:31:35,275.275 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:31:35,322.322 INFO    ] time= 20/10/2026 08:31:35
[2026-10-20 08:31:35,340.340 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:31:35,349.349 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:31:35,482.482 INFO    ] No existing commands found in stream
[2026-10-20 08:31:40,508.508 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:31:40,512.512 INFO    ] Waiting 0.53 seconds before fallback handling...
[2026-10-20 08:31:41,565.565 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:31:41,569.569 INFO    ] Checking for system updates...
[2026-10-20 08:31:41,606.606 INFO    ] 200
[2026-10-20 08:31:41,608.608 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:31:41,662.662 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:31:41,665.665 INFO    ] No update needed
[2026-10-20 08:31:41,667.667 INFO    ] Checking for camera pi updates...
[2026-10-20 08:31:41,702.702 INFO    ] 200
[2026-10-20 08:31:41,704.704 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:31:41,750.750 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:31:41,782.782 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:31:41,785.785 INFO    ] No camera update needed
[2026-10-20 08:31:41,787.787 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:31:41,790.790 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:31:41,795.795 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:31:41,800.800 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:31:43,841.841 INFO    ] ================================================
[2026-10-20 08:31:43,855.855 INFO    ] Launching Daemon at Tue Oct 20 08:31:43 IST 2026
[2026-10-20 08:31:43,866.866 INFO    ] ================================================
[2026-10-20 08:31:44,432.432 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:31:44
[2026-10-20 08:31:45,018.018 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:31:45,271.271 INFO    ] Initializing speech engine...
[2026-10-20 08:31:45,280.280 INFO    ] 2026-10-20 08:31:45
[2026-10-20 08:31:45,570.570 INFO    ] 2026-10-20 08:31:45
[2026-10-20 08:31:45,605.605 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:31:45,813.813 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:31:45,830.830 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:31:45,978.978 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:31:45,983.983 INFO    ] time= 20/10/2026 08:31:45
[2026-10-20 08:31:45,989.989 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:31:45,995.995 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:31:46,144.144 INFO    ] No existing commands found in stream
[2026-10-20 08:31:51,169.169 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:31:51,172.172 INFO    ] Waiting 1.49 seconds before fallback handling...
[2026-10-20 08:31:53,171.171 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:31:53,174.174 INFO    ] Checking for system updates...
[2026-10-20 08:31:53,210.210 INFO    ] 200
[2026-10-20 08:31:53,212.212 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:31:53,266.266 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:31:53,269.269 INFO    ] No update needed
[2026-10-20 08:31:53,271.271 INFO    ] Checking for camera pi updates...
[2026-10-20 08:31:53,306.306 INFO    ] 200
[2026-10-20 08:31:53,309.309 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:31:53,354.354 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:31:53,406.406 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:31:53,409.409 INFO    ] No camera update needed
[2026-10-20 08:31:53,411.411 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:31:53,414.414 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:31:53,420.420 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:31:53,426.426 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:31:55,467.467 INFO    ] ================================================
[2026-10-20 08:31:55,482.482 INFO    ] Launching Daemon at Tue Oct 20 08:31:55 IST 2026
[2026-10-20 08:31:55,493.493 INFO    ] ================================================
[2026-10-20 08:31:56,129.129 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:31:56
[2026-10-20 08:31:56,786.786 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:31:57,085.085 INFO    ] Initializing speech engine...
[2026-10-20 08:31:57,092.092 INFO    ] 2026-10-20 08:31:57
[2026-10-20 08:31:57,377.377 INFO    ] 2026-10-20 08:31:57
[2026-10-20 08:31:57,422.422 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:31:57,703.703 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:31:57,712.712 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:31:57,908.908 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:31:57,926.926 INFO    ] time= 20/10/2026 08:31:57
[2026-10-20 08:31:57,935.935 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:31:57,964.964 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:31:58,090.090 INFO    ] No existing commands found in stream
[2026-10-20 08:32:03,112.112 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:32:03,117.117 INFO    ] Waiting 2.57 seconds before fallback handling...
[2026-10-20 08:32:06,247.247 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:32:06,251.251 INFO    ] Checking for system updates...
[2026-10-20 08:32:06,306.306 INFO    ] 200
[2026-10-20 08:32:06,309.309 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 08:32:06,312.312 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-10-20 08:32:06,316.316 INFO    ] Checking for camera pi updates...
[2026-10-20 08:32:06,357.357 INFO    ] 200
[2026-10-20 08:32:06,360.360 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 08:32:06,363.363 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-10-20 08:32:06,366.366 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:32:06,368.368 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:32:06,375.375 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:32:06,381.381 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:32:08,422.422 INFO    ] ================================================
[2026-10-20 08:32:08,438.438 INFO    ] Launching Daemon at Tue Oct 20 08:32:08 IST 2026
[2026-10-20 08:32:08,449.449 INFO    ] ================================================
[2026-10-20 08:32:09,116.116 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:32:09
[2026-10-20 08:32:09,802.802 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:32:10,116.116 INFO    ] Initializing speech engine...
[2026-10-20 08:32:10,127.127 INFO    ] 2026-10-20 08:32:10
[2026-10-20 08:32:10,437.437 INFO    ] 2026-10-20 08:32:10
[2026-10-20 08:32:10,525.525 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:32:10,735.735 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:32:10,744.744 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:32:10,940.940 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:32:10,959.959 INFO    ] time= 20/10/2026 08:32:10
[2026-10-20 08:32:10,977.977 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:32:10,995.995 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:32:11,075.075 INFO    ] No existing commands found in stream
[2026-10-20 08:32:16,086.086 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:32:16,089.089 INFO    ] Waiting 2.20 seconds before fallback handling...
[2026-10-20 08:32:18,824.824 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:32:18,826.826 INFO    ] Checking for system updates...
[2026-10-20 08:32:18,866.866 INFO    ] 200
[2026-10-20 08:32:18,868.868 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:32:18,920.920 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:32:18,923.923 INFO    ] No update needed
[2026-10-20 08:32:18,925.925 INFO    ] Checking for camera pi updates...
[2026-10-20 08:32:18,958.958 INFO    ] 200
[2026-10-20 08:32:18,961.961 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:32:19,002.002 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:32:19,049.049 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:32:19,052.052 INFO    ] No camera update needed
[2026-10-20 08:32:19,054.054 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:32:19,056.056 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:32:19,062.062 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:32:19,067.067 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:32:21,106.106 INFO    ] ================================================
[2026-10-20 08:32:21,121.121 INFO    ] Launching Daemon at Tue Oct 20 08:32:21 IST 2026
[2026-10-20 08:32:21,132.132 INFO    ] ================================================
[2026-10-20 08:32:21,698.698 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:32:21
[2026-10-20 08:32:22,282.282 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:32:22,544.544 INFO    ] Initializing speech engine...
[2026-10-20 08:32:22,559.559 INFO    ] 2026-10-20 08:32:22
[2026-10-20 08:32:22,845.845 INFO    ] 2026-10-20 08:32:22
[2026-10-20 08:32:22,883.883 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:32:23,115.115 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:32:23,124.124 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:32:23,270.270 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:32:23,280.280 INFO    ] time= 20/10/2026 08:32:23
[2026-10-20 08:32:23,286.286 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:32:23,308.308 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:32:23,453.453 INFO    ] No existing commands found in stream
[2026-10-20 08:32:28,478.478 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:32:28,481.481 INFO    ] Waiting 3.97 seconds before fallback handling...
[2026-10-20 08:32:32,936.936 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 08:32:32,939.939 INFO    ] Checking for system updates...
[2026-10-20 08:32:32,981.981 INFO    ] 200
[2026-10-20 08:32:32,984.984 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:32:33,050.050 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:32:33,053.053 INFO    ] No update needed
[2026-10-20 08:32:33,056.056 INFO    ] Checking for camera pi updates...
[2026-10-20 08:32:33,095.095 INFO    ] 200
[2026-10-20 08:32:33,098.098 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:32:33,138.138 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:32:33,168.168 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:32:33,171.171 INFO    ] No camera update needed
[2026-10-20 08:32:33,173.173 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:32:33,175.175 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:32:33,181.181 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:32:33,185.185 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:32:35,225.225 INFO    ] ================================================
[2026-10-20 08:32:35,240.240 INFO    ] Launching Daemon at Tue Oct 20 08:32:35 IST 2026
[2026-10-20 08:32:35,251.251 INFO    ] ================================================
[2026-10-20 08:32:35,843.843 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:32:35
[2026-10-20 08:32:36,465.465 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:32:36,742.742 INFO    ] Initializing speech engine...
[2026-10-20 08:32:36,746.746 INFO    ] 2026-10-20 08:32:36
[2026-10-20 08:32:37,040.040 INFO    ] 2026-10-20 08:32:37
[2026-10-20 08:32:37,074.074 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:32:37,275.275 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:32:37,291.291 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:32:37,454.454 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:32:37,461.461 INFO    ] time= 20/10/2026 08:32:37
[2026-10-20 08:32:37,467.467 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:32:37,473.473 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:32:37,549.549 INFO    ] No existing commands found in stream
[2026-10-20 08:32:42,575.575 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:32:42,577.577 INFO    ] Waiting 2.29 seconds before fallback handling...
[2026-10-20 08:32:45,405.405 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:32:45,408.408 INFO    ] Checking for system updates...
[2026-10-20 08:32:45,444.444 INFO    ] 200
[2026-10-20 08:32:45,446.446 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:32:45,498.498 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:32:45,501.501 INFO    ] No update needed
[2026-10-20 08:32:45,503.503 INFO    ] Checking for camera pi updates...
[2026-10-20 08:32:45,537.537 INFO    ] 200
[2026-10-20 08:32:45,539.539 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:32:45,580.580 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:32:45,625.625 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:32:45,627.627 INFO    ] No camera update needed
[2026-10-20 08:32:45,630.630 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:32:45,632.632 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:32:45,638.638 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:32:45,643.643 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:32:47,683.683 INFO    ] ================================================
[2026-10-20 08:32:47,699.699 INFO    ] Launching Daemon at Tue Oct 20 08:32:47 IST 2026
[2026-10-20 08:32:47,709.709 INFO    ] ================================================
[2026-10-20 08:32:48,361.361 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:32:48
[2026-10-20 08:32:49,031.031 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:32:49,335.335 INFO    ] Initializing speech engine...
[2026-10-20 08:32:49,343.343 INFO    ] 2026-10-20 08:32:49
[2026-10-20 08:32:49,631.631 INFO    ] 2026-10-20 08:32:49
[2026-10-20 08:32:49,677.677 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:32:49,928.928 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:32:49,962.962 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:32:50,162.162 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:32:50,170.170 INFO    ] time= 20/10/2026 08:32:50
[2026-10-20 08:32:50,191.191 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:32:50,217.217 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:32:50,344.344 INFO    ] No existing commands found in stream
[2026-10-20 08:32:55,375.375 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:32:55,378.378 INFO    ] Waiting 2.97 seconds before fallback handling...
[2026-10-20 08:32:58,896.896 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:32:58,900.900 INFO    ] Checking for system updates...
[2026-10-20 08:32:58,936.936 INFO    ] 200
[2026-10-20 08:32:58,939.939 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:32:58,999.999 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:32:59,003.003 INFO    ] No update needed
[2026-10-20 08:32:59,006.006 INFO    ] Checking for camera pi updates...
[2026-10-20 08:32:59,043.043 INFO    ] 200
[2026-10-20 08:32:59,046.046 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:32:59,087.087 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:32:59,141.141 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:32:59,144.144 INFO    ] No camera update needed
[2026-10-20 08:32:59,147.147 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:32:59,149.149 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:32:59,156.156 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:32:59,163.163 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:33:01,204.204 INFO    ] ================================================
[2026-10-20 08:33:01,219.219 INFO    ] Launching Daemon at Tue Oct 20 08:33:01 IST 2026
[2026-10-20 08:33:01,230.230 INFO    ] ================================================
[2026-10-20 08:33:01,805.805 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:33:01
[2026-10-20 08:33:02,654.654 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:33:02,965.965 INFO    ] Initializing speech engine...
[2026-10-20 08:33:02,977.977 INFO    ] 2026-10-20 08:33:02
[2026-10-20 08:33:03,254.254 INFO    ] 2026-10-20 08:33:03
[2026-10-20 08:33:03,323.323 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:33:03,543.543 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:33:03,558.558 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:33:03,714.714 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:33:03,741.741 INFO    ] time= 20/10/2026 08:33:03
[2026-10-20 08:33:03,747.747 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:33:03,754.754 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:33:03,836.836 INFO    ] No existing commands found in stream
[2026-10-20 08:33:08,864.864 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:33:08,866.866 INFO    ] Waiting 3.02 seconds before fallback handling...
[2026-10-20 08:33:12,377.377 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 08:33:12,380.380 INFO    ] Checking for system updates...
[2026-10-20 08:33:12,420.420 INFO    ] 200
[2026-10-20 08:33:12,422.422 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:33:12,474.474 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:33:12,476.476 INFO    ] No update needed
[2026-10-20 08:33:12,479.479 INFO    ] Checking for camera pi updates...
[2026-10-20 08:33:12,512.512 INFO    ] 200
[2026-10-20 08:33:12,514.514 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:33:12,554.554 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:33:12,604.604 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:33:12,607.607 INFO    ] No camera update needed
[2026-10-20 08:33:12,609.609 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:33:12,612.612 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:33:12,617.617 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:33:12,622.622 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:33:14,662.662 INFO    ] ================================================
[2026-10-20 08:33:14,678.678 INFO    ] Launching Daemon at Tue Oct 20 08:33:14 IST 2026
[2026-10-20 08:33:14,689.689 INFO    ] ================================================
[2026-10-20 08:33:15,259.259 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:33:15
[2026-10-20 08:33:15,845.845 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:33:16,115.115 INFO    ] Initializing speech engine...
[2026-10-20 08:33:16,131.131 INFO    ] 2026-10-20 08:33:16
[2026-10-20 08:33:16,400.400 INFO    ] 2026-10-20 08:33:16
[2026-10-20 08:33:16,434.434 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:33:16,644.644 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:33:16,664.664 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:33:16,881.881 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:33:16,888.888 INFO    ] time= 20/10/2026 08:33:16
[2026-10-20 08:33:16,922.922 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:33:16,961.961 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:33:17,160.160 INFO    ] No existing commands found in stream
[2026-10-20 08:33:22,183.183 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:33:22,185.185 INFO    ] Waiting 1.19 seconds before fallback handling...
[2026-10-20 08:33:23,854.854 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:33:23,856.856 INFO    ] Checking for system updates...
[2026-10-20 08:33:23,892.892 INFO    ] 200
[2026-10-20 08:33:23,894.894 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:33:23,947.947 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:33:23,949.949 INFO    ] No update needed
[2026-10-20 08:33:23,951.951 INFO    ] Checking for camera pi updates...
[2026-10-20 08:33:23,985.985 INFO    ] 200
[2026-10-20 08:33:23,987.987 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:33:24,027.027 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:33:24,073.073 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:33:24,075.075 INFO    ] No camera update needed
[2026-10-20 08:33:24,078.078 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:33:24,080.080 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:33:24,085.085 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:33:24,090.090 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:33:26,129.129 INFO    ] ================================================
[2026-10-20 08:33:26,145.145 INFO    ] Launching Daemon at Tue Oct 20 08:33:26 IST 2026
[2026-10-20 08:33:26,157.157 INFO    ] ================================================
[2026-10-20 08:33:26,725.725 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:33:26
[2026-10-20 08:33:27,312.312 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:33:27,569.569 INFO    ] Initializing speech engine...
[2026-10-20 08:33:27,575.575 INFO    ] 2026-10-20 08:33:27
[2026-10-20 08:33:27,865.865 INFO    ] 2026-10-20 08:33:27
[2026-10-20 08:33:27,904.904 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:33:28,124.124 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:33:28,142.142 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:33:28,347.347 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:33:28,373.373 INFO    ] time= 20/10/2026 08:33:28
[2026-10-20 08:33:28,446.446 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:33:28,501.501 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:33:28,650.650 INFO    ] No existing commands found in stream
[2026-10-20 08:33:33,682.682 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:33:33,685.685 INFO    ] Waiting 2.99 seconds before fallback handling...
[2026-10-20 08:33:38,187.187 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:33:38,190.190 INFO    ] Checking for system updates...
[2026-10-20 08:33:38,225.225 INFO    ] 200
[2026-10-20 08:33:38,227.227 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:33:38,286.286 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:33:38,288.288 INFO    ] No update needed
[2026-10-20 08:33:38,291.291 INFO    ] Checking for camera pi updates...
[2026-10-20 08:33:38,324.324 INFO    ] 200
[2026-10-20 08:33:38,326.326 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:33:38,366.366 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:33:38,414.414 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:33:38,417.417 INFO    ] No camera update needed
[2026-10-20 08:33:38,423.423 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:33:38,426.426 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:33:38,431.431 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:33:38,436.436 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:33:40,476.476 INFO    ] ================================================
[2026-10-20 08:33:40,491.491 INFO    ] Launching Daemon at Tue Oct 20 08:33:40 IST 2026
[2026-10-20 08:33:40,502.502 INFO    ] ================================================
[2026-10-20 08:33:41,084.084 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:33:41
[2026-10-20 08:33:41,685.685 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:33:41,962.962 INFO    ] Initializing speech engine...
[2026-10-20 08:33:41,970.970 INFO    ] 2026-10-20 08:33:41
[2026-10-20 08:33:42,229.229 INFO    ] 2026-10-20 08:33:42
[2026-10-20 08:33:42,284.284 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:33:42,533.533 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:33:42,538.538 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:33:42,732.732 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:33:42,770.770 INFO    ] time= 20/10/2026 08:33:42
[2026-10-20 08:33:42,787.787 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:33:42,797.797 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:33:42,926.926 INFO    ] No existing commands found in stream
[2026-10-20 08:33:47,945.945 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:33:47,947.947 INFO    ] Waiting 3.30 seconds before fallback handling...
[2026-10-20 08:33:51,731.731 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:33:51,734.734 INFO    ] Checking for system updates...
[2026-10-20 08:33:51,769.769 INFO    ] 200
[2026-10-20 08:33:51,771.771 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:33:51,823.823 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:33:51,825.825 INFO    ] No update needed
[2026-10-20 08:33:51,828.828 INFO    ] Checking for camera pi updates...
[2026-10-20 08:33:51,861.861 INFO    ] 200
[2026-10-20 08:33:51,864.864 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:33:51,905.905 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:33:51,952.952 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:33:51,954.954 INFO    ] No camera update needed
[2026-10-20 08:33:51,957.957 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:33:51,959.959 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:33:51,964.964 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:33:51,969.969 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:33:54,010.010 INFO    ] ================================================
[2026-10-20 08:33:54,025.025 INFO    ] Launching Daemon at Tue Oct 20 08:33:54 IST 2026
[2026-10-20 08:33:54,036.036 INFO    ] ================================================
[2026-10-20 08:33:54,603.603 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:33:54
[2026-10-20 08:33:55,186.186 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:33:55,454.454 INFO    ] Initializing speech engine...
[2026-10-20 08:33:55,462.462 INFO    ] 2026-10-20 08:33:55
[2026-10-20 08:33:55,709.709 INFO    ] 2026-10-20 08:33:55
[2026-10-20 08:33:55,744.744 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:33:55,978.978 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:33:56,004.004 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:33:56,219.219 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:33:56,264.264 INFO    ] time= 20/10/2026 08:33:56
[2026-10-20 08:33:56,270.270 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:33:56,290.290 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:33:56,414.414 INFO    ] No existing commands found in stream
[2026-10-20 08:34:01,429.429 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:34:01,432.432 INFO    ] Waiting 2.75 seconds before fallback handling...
[2026-10-20 08:34:04,704.704 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:34:04,706.706 INFO    ] Checking for system updates...
[2026-10-20 08:34:04,743.743 INFO    ] 200
[2026-10-20 08:34:04,745.745 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:34:04,806.806 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:34:04,809.809 INFO    ] No update needed
[2026-10-20 08:34:04,811.811 INFO    ] Checking for camera pi updates...
[2026-10-20 08:34:04,844.844 INFO    ] 200
[2026-10-20 08:34:04,846.846 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:34:04,887.887 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:34:04,944.944 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:34:04,946.946 INFO    ] No camera update needed
[2026-10-20 08:34:04,949.949 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:34:04,951.951 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:34:04,956.956 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:34:04,962.962 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:34:07,001.001 INFO    ] ================================================
[2026-10-20 08:34:07,016.016 INFO    ] Launching Daemon at Tue Oct 20 08:34:07 IST 2026
[2026-10-20 08:34:07,027.027 INFO    ] ================================================
[2026-10-20 08:34:07,660.660 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:34:07
[2026-10-20 08:34:08,315.315 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:34:08,620.620 INFO    ] Initializing speech engine...
[2026-10-20 08:34:08,631.631 INFO    ] 2026-10-20 08:34:08
[2026-10-20 08:34:08,905.905 INFO    ] 2026-10-20 08:34:08
[2026-10-20 08:34:08,950.950 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:34:09,231.231 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:34:09,238.238 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:34:09,431.431 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:34:09,438.438 INFO    ] time= 20/10/2026 08:34:09
[2026-10-20 08:34:09,457.457 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:34:09,485.485 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:34:09,592.592 INFO    ] No existing commands found in stream
[2026-10-20 08:34:14,616.616 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:34:14,620.620 INFO    ] Waiting 3.22 seconds before fallback handling...
[2026-10-20 08:34:18,375.375 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:34:18,378.378 INFO    ] Checking for system updates...
[2026-10-20 08:34:18,415.415 INFO    ] 200
[2026-10-20 08:34:18,417.417 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:34:18,470.470 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:34:18,473.473 INFO    ] No update needed
[2026-10-20 08:34:18,475.475 INFO    ] Checking for camera pi updates...
[2026-10-20 08:34:18,509.509 INFO    ] 200
[2026-10-20 08:34:18,512.512 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:34:18,557.557 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:34:18,604.604 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:34:18,608.608 INFO    ] No camera update needed
[2026-10-20 08:34:18,611.611 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:34:18,614.614 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:34:18,620.620 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:34:18,625.625 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:34:20,665.665 INFO    ] ================================================
[2026-10-20 08:34:20,680.680 INFO    ] Launching Daemon at Tue Oct 20 08:34:20 IST 2026
[2026-10-20 08:34:20,690.690 INFO    ] ================================================
[2026-10-20 08:34:21,260.260 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:34:21
[2026-10-20 08:34:21,848.848 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:34:22,120.120 INFO    ] Initializing speech engine...
[2026-10-20 08:34:22,129.129 INFO    ] 2026-10-20 08:34:22
[2026-10-20 08:34:22,393.393 INFO    ] 2026-10-20 08:34:22
[2026-10-20 08:34:22,443.443 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:34:22,674.674 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:34:22,678.678 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:34:22,818.818 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:34:22,873.873 INFO    ] time= 20/10/2026 08:34:22
[2026-10-20 08:34:22,927.927 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:34:22,944.944 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:34:23,089.089 INFO    ] No existing commands found in stream
[2026-10-20 08:34:28,104.104 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:34:28,107.107 INFO    ] Waiting 0.08 seconds before fallback handling...
[2026-10-20 08:34:28,675.675 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:34:28,678.678 INFO    ] Checking for system updates...
[2026-10-20 08:34:28,714.714 INFO    ] 200
[2026-10-20 08:34:28,716.716 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:34:28,769.769 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:34:28,772.772 INFO    ] No update needed
[2026-10-20 08:34:28,774.774 INFO    ] Checking for camera pi updates...
[2026-10-20 08:34:28,809.809 INFO    ] 200
[2026-10-20 08:34:28,811.811 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:34:28,852.852 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:34:28,897.897 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:34:28,899.899 INFO    ] No camera update needed
[2026-10-20 08:34:28,902.902 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:34:28,904.904 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:34:28,909.909 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:34:28,914.914 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:34:30,954.954 INFO    ] ================================================
[2026-10-20 08:34:30,969.969 INFO    ] Launching Daemon at Tue Oct 20 08:34:30 IST 2026
[2026-10-20 08:34:30,980.980 INFO    ] ================================================
[2026-10-20 08:34:31,551.551 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:34:31
[2026-10-20 08:34:32,157.157 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:34:32,430.430 INFO    ] Initializing speech engine...
[2026-10-20 08:34:32,446.446 INFO    ] 2026-10-20 08:34:32
[2026-10-20 08:34:32,751.751 INFO    ] 2026-10-20 08:34:32
[2026-10-20 08:34:32,790.790 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:34:33,008.008 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:34:33,026.026 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:34:33,186.186 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:34:33,197.197 INFO    ] time= 20/10/2026 08:34:33
[2026-10-20 08:34:33,204.204 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:34:33,235.235 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:34:33,374.374 INFO    ] No existing commands found in stream
[2026-10-20 08:34:38,384.384 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:34:38,386.386 INFO    ] Waiting 2.43 seconds before fallback handling...
[2026-10-20 08:34:41,332.332 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:34:41,335.335 INFO    ] Checking for system updates...
[2026-10-20 08:34:41,373.373 INFO    ] 200
[2026-10-20 08:34:41,376.376 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:34:41,428.428 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:34:41,431.431 INFO    ] No update needed
[2026-10-20 08:34:41,433.433 INFO    ] Checking for camera pi updates...
[2026-10-20 08:34:41,470.470 INFO    ] 200
[2026-10-20 08:34:41,472.472 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:34:41,515.515 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:34:41,660.660 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:34:41,663.663 INFO    ] No camera update needed
[2026-10-20 08:34:41,665.665 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:34:41,667.667 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:34:41,673.673 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:34:41,678.678 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:34:43,719.719 INFO    ] ================================================
[2026-10-20 08:34:43,736.736 INFO    ] Launching Daemon at Tue Oct 20 08:34:43 IST 2026
[2026-10-20 08:34:43,747.747 INFO    ] ================================================
[2026-10-20 08:34:44,338.338 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:34:44
[2026-10-20 08:34:44,941.941 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:34:45,221.221 INFO    ] Initializing speech engine...
[2026-10-20 08:34:45,232.232 INFO    ] 2026-10-20 08:34:45
[2026-10-20 08:34:45,480.480 INFO    ] 2026-10-20 08:34:45
[2026-10-20 08:34:45,515.515 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:34:45,719.719 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:34:45,771.771 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:34:45,986.986 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:34:46,035.035 INFO    ] time= 20/10/2026 08:34:45
[2026-10-20 08:34:46,044.044 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:34:46,062.062 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:34:46,191.191 INFO    ] No existing commands found in stream
[2026-10-20 08:34:51,204.204 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:34:51,207.207 INFO    ] Waiting 2.12 seconds before fallback handling...
[2026-10-20 08:34:53,789.789 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:34:53,791.791 INFO    ] Checking for system updates...
[2026-10-20 08:34:53,830.830 INFO    ] 200
[2026-10-20 08:34:53,832.832 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:34:53,884.884 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:34:53,887.887 INFO    ] No update needed
[2026-10-20 08:34:53,889.889 INFO    ] Checking for camera pi updates...
[2026-10-20 08:34:53,922.922 INFO    ] 200
[2026-10-20 08:34:53,925.925 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:34:53,964.964 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:34:54,016.016 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:34:54,018.018 INFO    ] No camera update needed
[2026-10-20 08:34:54,021.021 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:34:54,023.023 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:34:54,028.028 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:34:54,033.033 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:34:56,073.073 INFO    ] ================================================
[2026-10-20 08:34:56,088.088 INFO    ] Launching Daemon at Tue Oct 20 08:34:56 IST 2026
[2026-10-20 08:34:56,098.098 INFO    ] ================================================
[2026-10-20 08:34:56,690.690 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:34:56
[2026-10-20 08:34:57,291.291 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:34:57,550.550 INFO    ] Initializing speech engine...
[2026-10-20 08:34:57,556.556 INFO    ] 2026-10-20 08:34:57
[2026-10-20 08:34:57,846.846 INFO    ] 2026-10-20 08:34:57
[2026-10-20 08:34:57,883.883 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:34:58,103.103 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:34:58,121.121 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:34:58,330.330 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:34:58,337.337 INFO    ] time= 20/10/2026 08:34:58
[2026-10-20 08:34:58,376.376 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:34:58,430.430 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:34:58,535.535 INFO    ] No existing commands found in stream
[2026-10-20 08:35:03,546.546 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:35:03,549.549 INFO    ] Waiting 3.89 seconds before fallback handling...
[2026-10-20 08:35:07,934.934 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:35:07,936.936 INFO    ] Checking for system updates...
[2026-10-20 08:35:07,972.972 INFO    ] 200
[2026-10-20 08:35:07,975.975 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:35:08,027.027 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:35:08,029.029 INFO    ] No update needed
[2026-10-20 08:35:08,032.032 INFO    ] Checking for camera pi updates...
[2026-10-20 08:35:08,068.068 INFO    ] 200
[2026-10-20 08:35:08,071.071 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:35:08,115.115 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:35:08,163.163 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:35:08,165.165 INFO    ] No camera update needed
[2026-10-20 08:35:08,168.168 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:35:08,170.170 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:35:08,175.175 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:35:08,181.181 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:35:10,220.220 INFO    ] ================================================
[2026-10-20 08:35:10,236.236 INFO    ] Launching Daemon at Tue Oct 20 08:35:10 IST 2026
[2026-10-20 08:35:10,247.247 INFO    ] ================================================
[2026-10-20 08:35:10,893.893 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:35:10
[2026-10-20 08:35:11,550.550 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:35:11,848.848 INFO    ] Initializing speech engine...
[2026-10-20 08:35:11,862.862 INFO    ] 2026-10-20 08:35:11
[2026-10-20 08:35:12,167.167 INFO    ] 2026-10-20 08:35:12
[2026-10-20 08:35:12,254.254 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:35:12,433.433 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:35:12,461.461 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:35:12,658.658 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:35:12,673.673 INFO    ] time= 20/10/2026 08:35:12
[2026-10-20 08:35:12,689.689 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:35:12,699.699 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:35:12,826.826 INFO    ] No existing commands found in stream
[2026-10-20 08:35:17,839.839 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:35:17,842.842 INFO    ] Waiting 3.35 seconds before fallback handling...
[2026-10-20 08:35:21,689.689 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:35:21,692.692 INFO    ] Checking for system updates...
[2026-10-20 08:35:21,729.729 INFO    ] 200
[2026-10-20 08:35:21,732.732 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:35:21,790.790 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:35:21,793.793 INFO    ] No update needed
[2026-10-20 08:35:21,795.795 INFO    ] Checking for camera pi updates...
[2026-10-20 08:35:21,832.832 INFO    ] 200
[2026-10-20 08:35:21,835.835 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:35:21,876.876 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:35:21,923.923 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:35:21,925.925 INFO    ] No camera update needed
[2026-10-20 08:35:21,928.928 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:35:21,931.931 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:35:21,937.937 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:35:21,943.943 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:35:23,983.983 INFO    ] ================================================
[2026-10-20 08:35:24,999.999 INFO    ] Launching Daemon at Tue Oct 20 08:35:23 IST 2026
[2026-10-20 08:35:24,011.011 INFO    ] ================================================
[2026-10-20 08:35:24,578.578 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:35:24
[2026-10-20 08:35:25,165.165 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:35:25,446.446 INFO    ] Initializing speech engine...
[2026-10-20 08:35:25,456.456 INFO    ] 2026-10-20 08:35:25
[2026-10-20 08:35:25,720.720 INFO    ] 2026-10-20 08:35:25
[2026-10-20 08:35:25,755.755 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:35:26,040.040 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:35:26,048.048 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:35:26,197.197 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:35:26,209.209 INFO    ] time= 20/10/2026 08:35:26
[2026-10-20 08:35:26,268.268 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:35:26,318.318 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:35:26,406.406 INFO    ] No existing commands found in stream
[2026-10-20 08:35:31,418.418 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:35:31,421.421 INFO    ] Waiting 1.28 seconds before fallback handling...
[2026-10-20 08:35:33,173.173 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 08:35:33,176.176 INFO    ] Checking for system updates...
[2026-10-20 08:35:33,215.215 INFO    ] 200
[2026-10-20 08:35:33,218.218 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:35:33,278.278 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:35:33,281.281 INFO    ] No update needed
[2026-10-20 08:35:33,284.284 INFO    ] Checking for camera pi updates...
[2026-10-20 08:35:33,328.328 INFO    ] 200
[2026-10-20 08:35:33,330.330 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:35:33,373.373 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:35:33,423.423 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:35:33,425.425 INFO    ] No camera update needed
[2026-10-20 08:35:33,428.428 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:35:33,431.431 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:35:33,437.437 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:35:33,443.443 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:35:35,483.483 INFO    ] ================================================
[2026-10-20 08:35:35,499.499 INFO    ] Launching Daemon at Tue Oct 20 08:35:35 IST 2026
[2026-10-20 08:35:35,510.510 INFO    ] ================================================
[2026-10-20 08:35:36,152.152 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:35:36
[2026-10-20 08:35:36,813.813 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:35:37,110.110 INFO    ] Initializing speech engine...
[2026-10-20 08:35:37,123.123 INFO    ] 2026-10-20 08:35:37
[2026-10-20 08:35:37,403.403 INFO    ] 2026-10-20 08:35:37
[2026-10-20 08:35:37,450.450 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:35:37,678.678 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:35:37,699.699 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:35:37,932.932 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:35:37,940.940 INFO    ] time= 20/10/2026 08:35:37
[2026-10-20 08:35:37,962.962 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:35:37,988.988 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:35:38,144.144 INFO    ] No existing commands found in stream
[2026-10-20 08:35:43,170.170 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:35:43,173.173 INFO    ] Waiting 0.50 seconds before fallback handling...
[2026-10-20 08:35:44,204.204 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:35:44,207.207 INFO    ] Checking for system updates...
[2026-10-20 08:35:44,243.243 INFO    ] 200
[2026-10-20 08:35:44,245.245 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:35:44,302.302 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:35:44,305.305 INFO    ] No update needed
[2026-10-20 08:35:44,307.307 INFO    ] Checking for camera pi updates...
[2026-10-20 08:35:44,343.343 INFO    ] 200
[2026-10-20 08:35:44,345.345 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:35:44,386.386 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:35:44,432.432 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:35:44,435.435 INFO    ] No camera update needed
[2026-10-20 08:35:44,437.437 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:35:44,439.439 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:35:44,445.445 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:35:44,450.450 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:35:46,489.489 INFO    ] ================================================
[2026-10-20 08:35:46,505.505 INFO    ] Launching Daemon at Tue Oct 20 08:35:46 IST 2026
[2026-10-20 08:35:46,516.516 INFO    ] ================================================
[2026-10-20 08:35:47,084.084 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:35:47
[2026-10-20 08:35:47,677.677 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:35:47,931.931 INFO    ] Initializing speech engine...
[2026-10-20 08:35:47,937.937 INFO    ] 2026-10-20 08:35:47
[2026-10-20 08:35:48,230.230 INFO    ] 2026-10-20 08:35:48
[2026-10-20 08:35:48,264.264 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:35:48,462.462 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:35:48,474.474 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:35:48,633.633 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:35:48,641.641 INFO    ] time= 20/10/2026 08:35:48
[2026-10-20 08:35:48,649.649 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:35:48,654.654 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:35:48,798.798 INFO    ] No existing commands found in stream
[2026-10-20 08:35:53,823.823 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:35:53,825.825 INFO    ] Waiting 0.95 seconds before fallback handling...
[2026-10-20 08:35:55,228.228 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:35:55,231.231 INFO    ] Checking for system updates...
[2026-10-20 08:35:55,266.266 INFO    ] 200
[2026-10-20 08:35:55,268.268 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:35:55,321.321 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:35:55,323.323 INFO    ] No update needed
[2026-10-20 08:35:55,325.325 INFO    ] Checking for camera pi updates...
[2026-10-20 08:35:55,359.359 INFO    ] 200
[2026-10-20 08:35:55,361.361 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:35:55,401.401 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:35:55,444.444 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:35:55,447.447 INFO    ] No camera update needed
[2026-10-20 08:35:55,450.450 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:35:55,453.453 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:35:55,460.460 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:35:55,465.465 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:35:57,507.507 INFO    ] ================================================
[2026-10-20 08:35:57,525.525 INFO    ] Launching Daemon at Tue Oct 20 08:35:57 IST 2026
[2026-10-20 08:35:57,537.537 INFO    ] ================================================
[2026-10-20 08:35:58,138.138 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:35:58
[2026-10-20 08:35:58,756.756 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:35:59,025.025 INFO    ] Initializing speech engine...
[2026-10-20 08:35:59,034.034 INFO    ] 2026-10-20 08:35:59
[2026-10-20 08:35:59,323.323 INFO    ] 2026-10-20 08:35:59
[2026-10-20 08:35:59,362.362 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:35:59,555.555 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:35:59,568.568 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:35:59,733.733 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:35:59,738.738 INFO    ] time= 20/10/2026 08:35:59
[2026-10-20 08:35:59,745.745 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:35:59,772.772 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:35:59,915.915 INFO    ] No existing commands found in stream
[2026-10-20 08:36:04,940.940 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:36:04,943.943 INFO    ] Waiting 0.15 seconds before fallback handling...
[2026-10-20 08:36:05,559.559 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:36:05,561.561 INFO    ] Checking for system updates...
[2026-10-20 08:36:05,597.597 INFO    ] 200
[2026-10-20 08:36:05,599.599 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:36:05,659.659 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:36:05,661.661 INFO    ] No update needed
[2026-10-20 08:36:05,664.664 INFO    ] Checking for camera pi updates...
[2026-10-20 08:36:05,696.696 INFO    ] 200
[2026-10-20 08:36:05,699.699 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:36:05,743.743 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:36:05,790.790 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:36:05,792.792 INFO    ] No camera update needed
[2026-10-20 08:36:05,794.794 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:36:05,797.797 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:36:05,802.802 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:36:05,807.807 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:36:07,848.848 INFO    ] ================================================
[2026-10-20 08:36:07,863.863 INFO    ] Launching Daemon at Tue Oct 20 08:36:07 IST 2026
[2026-10-20 08:36:07,874.874 INFO    ] ================================================
[2026-10-20 08:36:08,456.456 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:36:08
[2026-10-20 08:36:09,057.057 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:36:09,323.323 INFO    ] Initializing speech engine...
[2026-10-20 08:36:09,347.347 INFO    ] 2026-10-20 08:36:09
[2026-10-20 08:36:09,621.621 INFO    ] 2026-10-20 08:36:09
[2026-10-20 08:36:09,658.658 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:36:09,938.938 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:36:09,953.953 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:36:10,122.122 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:36:10,176.176 INFO    ] time= 20/10/2026 08:36:10
[2026-10-20 08:36:10,215.215 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:36:10,253.253 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:36:10,386.386 INFO    ] No existing commands found in stream
[2026-10-20 08:36:15,422.422 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:36:15,425.425 INFO    ] Waiting 2.25 seconds before fallback handling...
[2026-10-20 08:36:18,199.199 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:36:18,202.202 INFO    ] Checking for system updates...
[2026-10-20 08:36:18,237.237 INFO    ] 200
[2026-10-20 08:36:18,240.240 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:36:18,293.293 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:36:18,295.295 INFO    ] No update needed
[2026-10-20 08:36:18,298.298 INFO    ] Checking for camera pi updates...
[2026-10-20 08:36:18,331.331 INFO    ] 200
[2026-10-20 08:36:18,333.333 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:36:18,373.373 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:36:18,422.422 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:36:18,424.424 INFO    ] No camera update needed
[2026-10-20 08:36:18,427.427 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:36:18,429.429 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:36:18,434.434 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:36:18,440.440 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:36:20,479.479 INFO    ] ================================================
[2026-10-20 08:36:20,495.495 INFO    ] Launching Daemon at Tue Oct 20 08:36:20 IST 2026
[2026-10-20 08:36:20,505.505 INFO    ] ================================================
[2026-10-20 08:36:21,071.071 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:36:21
[2026-10-20 08:36:21,656.656 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:36:21,915.915 INFO    ] Initializing speech engine...
[2026-10-20 08:36:21,939.939 INFO    ] 2026-10-20 08:36:21
[2026-10-20 08:36:22,212.212 INFO    ] 2026-10-20 08:36:22
[2026-10-20 08:36:22,250.250 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:36:22,473.473 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:36:22,480.480 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:36:22,700.700 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:36:22,708.708 INFO    ] time= 20/10/2026 08:36:22
[2026-10-20 08:36:22,737.737 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:36:22,791.791 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:36:22,882.882 INFO    ] No existing commands found in stream
[2026-10-20 08:36:27,898.898 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:36:27,900.900 INFO    ] Waiting 1.89 seconds before fallback handling...
[2026-10-20 08:36:30,338.338 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 08:36:30,341.341 INFO    ] Checking for system updates...
[2026-10-20 08:36:30,378.378 INFO    ] 200
[2026-10-20 08:36:30,381.381 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:36:30,435.435 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:36:30,438.438 INFO    ] No update needed
[2026-10-20 08:36:30,441.441 INFO    ] Checking for camera pi updates...
[2026-10-20 08:36:30,475.475 INFO    ] 200
[2026-10-20 08:36:30,477.477 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:36:30,523.523 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:36:30,574.574 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:36:30,577.577 INFO    ] No camera update needed
[2026-10-20 08:36:30,580.580 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:36:30,583.583 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:36:30,589.589 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:36:30,594.594 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:36:32,637.637 INFO    ] ================================================
[2026-10-20 08:36:32,652.652 INFO    ] Launching Daemon at Tue Oct 20 08:36:32 IST 2026
[2026-10-20 08:36:32,662.662 INFO    ] ================================================
[2026-10-20 08:36:33,248.248 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:36:33
[2026-10-20 08:36:33,840.840 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:36:34,092.092 INFO    ] Initializing speech engine...
[2026-10-20 08:36:34,098.098 INFO    ] 2026-10-20 08:36:34
[2026-10-20 08:36:34,394.394 INFO    ] 2026-10-20 08:36:34
[2026-10-20 08:36:34,431.431 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:36:34,721.721 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:36:34,731.731 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:36:34,882.882 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:36:34,899.899 INFO    ] time= 20/10/2026 08:36:34
[2026-10-20 08:36:34,933.933 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:36:34,976.976 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:36:35,088.088 INFO    ] No existing commands found in stream
[2026-10-20 08:36:40,100.100 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:36:40,102.102 INFO    ] Waiting 0.41 seconds before fallback handling...
[2026-10-20 08:36:41,061.061 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:36:41,064.064 INFO    ] Checking for system updates...
[2026-10-20 08:36:41,104.104 INFO    ] 200
[2026-10-20 08:36:41,107.107 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:36:41,161.161 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:36:41,164.164 INFO    ] No update needed
[2026-10-20 08:36:41,167.167 INFO    ] Checking for camera pi updates...
[2026-10-20 08:36:41,204.204 INFO    ] 200
[2026-10-20 08:36:41,207.207 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:36:41,248.248 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:36:41,303.303 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:36:41,306.306 INFO    ] No camera update needed
[2026-10-20 08:36:41,309.309 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:36:41,312.312 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:36:41,318.318 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:36:41,323.323 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:36:43,366.366 INFO    ] ================================================
[2026-10-20 08:36:43,381.381 INFO    ] Launching Daemon at Tue Oct 20 08:36:43 IST 2026
[2026-10-20 08:36:43,392.392 INFO    ] ================================================
[2026-10-20 08:36:43,973.973 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:36:43
[2026-10-20 08:36:44,586.586 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:36:44,845.845 INFO    ] Initializing speech engine...
[2026-10-20 08:36:44,870.870 INFO    ] 2026-10-20 08:36:44
[2026-10-20 08:36:45,139.139 INFO    ] 2026-10-20 08:36:45
[2026-10-20 08:36:45,176.176 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:36:45,374.374 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:36:45,387.387 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:36:45,550.550 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:36:45,557.557 INFO    ] time= 20/10/2026 08:36:45
[2026-10-20 08:36:45,563.563 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:36:45,569.569 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:36:45,729.729 INFO    ] No existing commands found in stream
[2026-10-20 08:36:50,754.754 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:36:50,757.757 INFO    ] Waiting 3.56 seconds before fallback handling...
[2026-10-20 08:36:54,850.850 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:36:54,852.852 INFO    ] Checking for system updates...
[2026-10-20 08:36:54,888.888 INFO    ] 200
[2026-10-20 08:36:54,891.891 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:36:54,945.945 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:36:54,947.947 INFO    ] No update needed
[2026-10-20 08:36:54,950.950 INFO    ] Checking for camera pi updates...
[2026-10-20 08:36:54,984.984 INFO    ] 200
[2026-10-20 08:36:54,987.987 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:36:55,028.028 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:36:55,171.171 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:36:55,174.174 INFO    ] No camera update needed
[2026-10-20 08:36:55,177.177 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:36:55,179.179 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:36:55,185.185 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:36:55,191.191 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:36:57,232.232 INFO    ] ================================================
[2026-10-20 08:36:57,247.247 INFO    ] Launching Daemon at Tue Oct 20 08:36:57 IST 2026
[2026-10-20 08:36:57,257.257 INFO    ] ================================================
[2026-10-20 08:36:57,916.916 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:36:57
[2026-10-20 08:36:58,585.585 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:36:58,891.891 INFO    ] Initializing speech engine...
[2026-10-20 08:36:58,902.902 INFO    ] 2026-10-20 08:36:58
[2026-10-20 08:36:59,188.188 INFO    ] 2026-10-20 08:36:59
[2026-10-20 08:36:59,282.282 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:36:59,511.511 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:36:59,520.520 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:36:59,712.712 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:36:59,731.731 INFO    ] time= 20/10/2026 08:36:59
[2026-10-20 08:36:59,760.760 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:36:59,769.769 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:36:59,899.899 INFO    ] No existing commands found in stream
[2026-10-20 08:37:04,925.925 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:37:04,928.928 INFO    ] Waiting 1.37 seconds before fallback handling...
[2026-10-20 08:37:06,826.826 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:37:06,829.829 INFO    ] Checking for system updates...
[2026-10-20 08:37:06,865.865 INFO    ] 200
[2026-10-20 08:37:06,868.868 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:37:06,921.921 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:37:06,923.923 INFO    ] No update needed
[2026-10-20 08:37:06,926.926 INFO    ] Checking for camera pi updates...
[2026-10-20 08:37:06,961.961 INFO    ] 200
[2026-10-20 08:37:06,964.964 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:37:07,005.005 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:37:07,054.054 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:37:07,057.057 INFO    ] No camera update needed
[2026-10-20 08:37:07,060.060 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:37:07,063.063 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:37:07,069.069 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:37:07,075.075 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:37:09,115.115 INFO    ] ================================================
[2026-10-20 08:37:09,130.130 INFO    ] Launching Daemon at Tue Oct 20 08:37:09 IST 2026
[2026-10-20 08:37:09,141.141 INFO    ] ================================================
[2026-10-20 08:37:09,796.796 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:37:09
[2026-10-20 08:37:10,464.464 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:37:10,766.766 INFO    ] Initializing speech engine...
[2026-10-20 08:37:10,778.778 INFO    ] 2026-10-20 08:37:10
[2026-10-20 08:37:11,057.057 INFO    ] 2026-10-20 08:37:11
[2026-10-20 08:37:11,113.113 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:37:11,370.370 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:37:11,393.393 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:37:11,592.592 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:37:11,599.599 INFO    ] time= 20/10/2026 08:37:11
[2026-10-20 08:37:11,621.621 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:37:11,649.649 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:37:11,773.773 INFO    ] No existing commands found in stream
[2026-10-20 08:37:16,800.800 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:37:16,803.803 INFO    ] Waiting 1.29 seconds before fallback handling...
[2026-10-20 08:37:18,588.588 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 08:37:18,590.590 INFO    ] Checking for system updates...
[2026-10-20 08:37:18,626.626 INFO    ] 200
[2026-10-20 08:37:18,629.629 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:37:18,680.680 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:37:18,683.683 INFO    ] No update needed
[2026-10-20 08:37:18,685.685 INFO    ] Checking for camera pi updates...
[2026-10-20 08:37:18,718.718 INFO    ] 200
[2026-10-20 08:37:18,721.721 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:37:18,766.766 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:37:18,814.814 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:37:18,816.816 INFO    ] No camera update needed
[2026-10-20 08:37:18,818.818 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:37:18,820.820 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:37:18,826.826 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:37:18,831.831 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:37:20,870.870 INFO    ] ================================================
[2026-10-20 08:37:20,885.885 INFO    ] Launching Daemon at Tue Oct 20 08:37:20 IST 2026
[2026-10-20 08:37:20,896.896 INFO    ] ================================================
[2026-10-20 08:37:21,549.549 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:37:21
[2026-10-20 08:37:22,222.222 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:37:22,529.529 INFO    ] Initializing speech engine...
[2026-10-20 08:37:22,540.540 INFO    ] 2026-10-20 08:37:22
[2026-10-20 08:37:22,820.820 INFO    ] 2026-10-20 08:37:22
[2026-10-20 08:37:22,866.866 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:37:23,151.151 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:37:23,157.157 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:37:23,354.354 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:37:23,371.371 INFO    ] time= 20/10/2026 08:37:23
[2026-10-20 08:37:23,380.380 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:37:23,407.407 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:37:23,533.533 INFO    ] No existing commands found in stream
[2026-10-20 08:37:28,564.564 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:37:28,568.568 INFO    ] Waiting 2.92 seconds before fallback handling...
[2026-10-20 08:37:31,981.981 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:37:31,985.985 INFO    ] Checking for system updates...
[2026-10-20 08:37:32,025.025 INFO    ] 200
[2026-10-20 08:37:32,028.028 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:37:32,085.085 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:37:32,088.088 INFO    ] No update needed
[2026-10-20 08:37:32,091.091 INFO    ] Checking for camera pi updates...
[2026-10-20 08:37:32,128.128 INFO    ] 200
[2026-10-20 08:37:32,131.131 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:37:32,175.175 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:37:32,209.209 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:37:32,212.212 INFO    ] No camera update needed
[2026-10-20 08:37:32,215.215 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:37:32,219.219 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:37:32,226.226 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:37:32,233.233 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:37:34,273.273 INFO    ] ================================================
[2026-10-20 08:37:34,288.288 INFO    ] Launching Daemon at Tue Oct 20 08:37:34 IST 2026
[2026-10-20 08:37:34,299.299 INFO    ] ================================================
[2026-10-20 08:37:34,867.867 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:37:34
[2026-10-20 08:37:35,452.452 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:37:35,724.724 INFO    ] Initializing speech engine...
[2026-10-20 08:37:35,730.730 INFO    ] 2026-10-20 08:37:35
[2026-10-20 08:37:35,981.981 INFO    ] 2026-10-20 08:37:35
[2026-10-20 08:37:36,017.017 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:37:36,265.265 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:37:36,270.270 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:37:36,478.478 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:37:36,529.529 INFO    ] time= 20/10/2026 08:37:36
[2026-10-20 08:37:36,535.535 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:37:36,555.555 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:37:36,683.683 INFO    ] No existing commands found in stream
[2026-10-20 08:37:41,702.702 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:37:41,705.705 INFO    ] Waiting 2.56 seconds before fallback handling...
[2026-10-20 08:37:44,777.777 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:37:44,779.779 INFO    ] Checking for system updates...
[2026-10-20 08:37:44,814.814 INFO    ] 200
[2026-10-20 08:37:44,816.816 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:37:44,870.870 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:37:44,872.872 INFO    ] No update needed
[2026-10-20 08:37:44,875.875 INFO    ] Checking for camera pi updates...
[2026-10-20 08:37:44,907.907 INFO    ] 200
[2026-10-20 08:37:44,910.910 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:37:44,950.950 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:37:44,997.997 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:37:44,999.999 INFO    ] No camera update needed
[2026-10-20 08:37:45,001.001 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:37:45,004.004 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:37:45,009.009 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:37:45,014.014 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:37:47,054.054 INFO    ] ================================================
[2026-10-20 08:37:47,072.072 INFO    ] Launching Daemon at Tue Oct 20 08:37:47 IST 2026
[2026-10-20 08:37:47,083.083 INFO    ] ================================================
[2026-10-20 08:37:47,648.648 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:37:47
[2026-10-20 08:37:48,231.231 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:37:48,479.479 INFO    ] Initializing speech engine...
[2026-10-20 08:37:48,493.493 INFO    ] 2026-10-20 08:37:48
[2026-10-20 08:37:48,755.755 INFO    ] 2026-10-20 08:37:48
[2026-10-20 08:37:48,795.795 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:37:49,040.040 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:37:49,049.049 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:37:49,241.241 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:37:49,291.291 INFO    ] time= 20/10/2026 08:37:49
[2026-10-20 08:37:49,310.310 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:37:49,316.316 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:37:49,459.459 INFO    ] No existing commands found in stream
[2026-10-20 08:37:54,476.476 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:37:54,479.479 INFO    ] Waiting 1.83 seconds before fallback handling...
[2026-10-20 08:37:56,858.858 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 08:37:56,861.861 INFO    ] Checking for system updates...
[2026-10-20 08:37:56,897.897 INFO    ] 200
[2026-10-20 08:37:56,900.900 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:37:56,955.955 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:37:56,957.957 INFO    ] No update needed
[2026-10-20 08:37:56,960.960 INFO    ] Checking for camera pi updates...
[2026-10-20 08:37:56,998.998 INFO    ] 200
[2026-10-20 08:37:57,001.001 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:37:57,043.043 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:37:57,092.092 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:37:57,095.095 INFO    ] No camera update needed
[2026-10-20 08:37:57,097.097 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:37:57,100.100 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:37:57,106.106 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:37:57,112.112 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:37:59,154.154 INFO    ] ================================================
[2026-10-20 08:37:59,169.169 INFO    ] Launching Daemon at Tue Oct 20 08:37:59 IST 2026
[2026-10-20 08:37:59,179.179 INFO    ] ================================================
[2026-10-20 08:37:59,792.792 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:37:59
[2026-10-20 08:38:00,455.455 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:38:00,728.728 INFO    ] Initializing speech engine...
[2026-10-20 08:38:00,738.738 INFO    ] 2026-10-20 08:38:00
[2026-10-20 08:38:00,998.998 INFO    ] 2026-10-20 08:38:00
[2026-10-20 08:38:01,028.028 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:38:01,322.322 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:38:01,374.374 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:38:01,546.546 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:38:01,552.552 INFO    ] time= 20/10/2026 08:38:01
[2026-10-20 08:38:01,556.556 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:38:01,574.574 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:38:01,659.659 INFO    ] No existing commands found in stream
[2026-10-20 08:38:06,670.670 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:38:06,673.673 INFO    ] Waiting 2.85 seconds before fallback handling...
[2026-10-20 08:38:10,055.055 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 08:38:10,058.058 INFO    ] Checking for system updates...
[2026-10-20 08:38:10,095.095 INFO    ] 200
[2026-10-20 08:38:10,097.097 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:38:10,150.150 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:38:10,153.153 INFO    ] No update needed
[2026-10-20 08:38:10,156.156 INFO    ] Checking for camera pi updates...
[2026-10-20 08:38:10,192.192 INFO    ] 200
[2026-10-20 08:38:10,194.194 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:38:10,240.240 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:38:10,285.285 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:38:10,288.288 INFO    ] No camera update needed
[2026-10-20 08:38:10,291.291 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:38:10,294.294 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:38:10,300.300 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:38:10,306.306 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:38:12,346.346 INFO    ] ================================================
[2026-10-20 08:38:12,361.361 INFO    ] Launching Daemon at Tue Oct 20 08:38:12 IST 2026
[2026-10-20 08:38:12,372.372 INFO    ] ================================================
[2026-10-20 08:38:12,937.937 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:38:12
[2026-10-20 08:38:13,522.522 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:38:13,790.790 INFO    ] Initializing speech engine...
[2026-10-20 08:38:13,809.809 INFO    ] 2026-10-20 08:38:13
[2026-10-20 08:38:14,069.069 INFO    ] 2026-10-20 08:38:14
[2026-10-20 08:38:14,107.107 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:38:14,305.305 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:38:14,322.322 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:38:14,469.469 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:38:14,476.476 INFO    ] time= 20/10/2026 08:38:14
[2026-10-20 08:38:14,508.508 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:38:14,548.548 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:38:14,678.678 INFO    ] No existing commands found in stream
[2026-10-20 08:38:19,699.699 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:38:19,702.702 INFO    ] Waiting 2.20 seconds before fallback handling...
[2026-10-20 08:38:22,419.419 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 08:38:22,422.422 INFO    ] Checking for system updates...
[2026-10-20 08:38:22,458.458 INFO    ] 200
[2026-10-20 08:38:22,460.460 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:38:22,517.517 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:38:22,519.519 INFO    ] No update needed
[2026-10-20 08:38:22,522.522 INFO    ] Checking for camera pi updates...
[2026-10-20 08:38:22,556.556 INFO    ] 200
[2026-10-20 08:38:22,558.558 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:38:22,602.602 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:38:22,646.646 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:38:22,649.649 INFO    ] No camera update needed
[2026-10-20 08:38:22,651.651 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:38:22,653.653 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:38:22,659.659 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:38:22,664.664 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:38:24,703.703 INFO    ] ================================================
[2026-10-20 08:38:24,718.718 INFO    ] Launching Daemon at Tue Oct 20 08:38:24 IST 2026
[2026-10-20 08:38:24,728.728 INFO    ] ================================================
[2026-10-20 08:38:25,308.308 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:38:25
[2026-10-20 08:38:25,905.905 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:38:26,177.177 INFO    ] Initializing speech engine...
[2026-10-20 08:38:26,187.187 INFO    ] 2026-10-20 08:38:26
[2026-10-20 08:38:26,439.439 INFO    ] 2026-10-20 08:38:26
[2026-10-20 08:38:26,475.475 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:38:26,732.732 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:38:26,737.737 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:38:26,939.939 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:38:26,992.992 INFO    ] time= 20/10/2026 08:38:26
[2026-10-20 08:38:26,999.999 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:38:27,018.018 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:38:27,149.149 INFO    ] No existing commands found in stream
[2026-10-20 08:38:32,171.171 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:38:32,174.174 INFO    ] Waiting 2.77 seconds before fallback handling...
[2026-10-20 08:38:35,476.476 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 08:38:35,479.479 INFO    ] Checking for system updates...
[2026-10-20 08:38:35,515.515 INFO    ] 200
[2026-10-20 08:38:35,517.517 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:38:35,570.570 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:38:35,573.573 INFO    ] No update needed
[2026-10-20 08:38:35,575.575 INFO    ] Checking for camera pi updates...
[2026-10-20 08:38:35,613.613 INFO    ] 200
[2026-10-20 08:38:35,615.615 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:38:35,655.655 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:38:35,703.703 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:38:35,706.706 INFO    ] No camera update needed
[2026-10-20 08:38:35,708.708 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:38:35,710.710 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:38:35,716.716 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:38:35,721.721 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:38:37,761.761 INFO    ] ================================================
[2026-10-20 08:38:37,776.776 INFO    ] Launching Daemon at Tue Oct 20 08:38:37 IST 2026
[2026-10-20 08:38:37,787.787 INFO    ] ================================================
[2026-10-20 08:38:38,351.351 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:38:38
[2026-10-20 08:38:38,935.935 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:38:39,205.205 INFO    ] Initializing speech engine...
[2026-10-20 08:38:39,213.213 INFO    ] 2026-10-20 08:38:39
[2026-10-20 08:38:39,463.463 INFO    ] 2026-10-20 08:38:39
[2026-10-20 08:38:39,497.497 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:38:39,732.732 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:38:39,735.735 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:38:39,912.912 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:38:39,949.949 INFO    ] time= 20/10/2026 08:38:39
[2026-10-20 08:38:39,988.988 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:38:40,054.054 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:38:40,186.186 INFO    ] No existing commands found in stream
[2026-10-20 08:38:45,216.216 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:38:45,219.219 INFO    ] Waiting 1.57 seconds before fallback handling...
[2026-10-20 08:38:47,331.331 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:38:47,334.334 INFO    ] Checking for system updates...
[2026-10-20 08:38:47,370.370 INFO    ] 200
[2026-10-20 08:38:47,372.372 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:38:47,424.424 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:38:47,426.426 INFO    ] No update needed
[2026-10-20 08:38:47,429.429 INFO    ] Checking for camera pi updates...
[2026-10-20 08:38:47,463.463 INFO    ] 200
[2026-10-20 08:38:47,466.466 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:38:47,510.510 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:38:47,559.559 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:38:47,561.561 INFO    ] No camera update needed
[2026-10-20 08:38:47,563.563 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:38:47,566.566 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:38:47,571.571 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:38:47,576.576 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:38:49,616.616 INFO    ] ================================================
[2026-10-20 08:38:49,636.636 INFO    ] Launching Daemon at Tue Oct 20 08:38:49 IST 2026
[2026-10-20 08:38:49,647.647 INFO    ] ================================================
[2026-10-20 08:38:50,216.216 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:38:50
[2026-10-20 08:38:50,803.803 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:38:51,069.069 INFO    ] Initializing speech engine...
[2026-10-20 08:38:51,078.078 INFO    ] 2026-10-20 08:38:51
[2026-10-20 08:38:51,325.325 INFO    ] 2026-10-20 08:38:51
[2026-10-20 08:38:51,365.365 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:38:51,555.555 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:38:51,613.613 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:38:51,825.825 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:38:51,875.875 INFO    ] time= 20/10/2026 08:38:51
[2026-10-20 08:38:51,882.882 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:38:51,899.899 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:38:52,026.026 INFO    ] No existing commands found in stream
[2026-10-20 08:38:57,041.041 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:38:57,043.043 INFO    ] Waiting 2.49 seconds before fallback handling...
[2026-10-20 08:39:00,036.036 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:39:00,039.039 INFO    ] Checking for system updates...
[2026-10-20 08:39:00,075.075 INFO    ] 200
[2026-10-20 08:39:00,077.077 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:39:00,130.130 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:39:00,132.132 INFO    ] No update needed
[2026-10-20 08:39:00,134.134 INFO    ] Checking for camera pi updates...
[2026-10-20 08:39:00,170.170 INFO    ] 200
[2026-10-20 08:39:00,172.172 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:39:00,212.212 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:39:00,354.354 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:39:00,357.357 INFO    ] No camera update needed
[2026-10-20 08:39:00,359.359 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:39:00,362.362 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:39:00,367.367 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:39:00,372.372 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:39:02,427.427 INFO    ] ================================================
[2026-10-20 08:39:02,454.454 INFO    ] Launching Daemon at Tue Oct 20 08:39:02 IST 2026
[2026-10-20 08:39:02,466.466 INFO    ] ================================================
[2026-10-20 08:39:03,125.125 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:39:03
[2026-10-20 08:39:03,729.729 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:39:03,999.999 INFO    ] Initializing speech engine...
[2026-10-20 08:39:04,008.008 INFO    ] 2026-10-20 08:39:04
[2026-10-20 08:39:04,252.252 INFO    ] 2026-10-20 08:39:04
[2026-10-20 08:39:04,287.287 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:39:04,538.538 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:39:04,547.547 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:39:04,769.769 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:39:04,806.806 INFO    ] time= 20/10/2026 08:39:04
[2026-10-20 08:39:04,812.812 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:39:04,832.832 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:39:04,961.961 INFO    ] No existing commands found in stream
[2026-10-20 08:39:09,980.980 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:39:09,983.983 INFO    ] Waiting 1.90 seconds before fallback handling...
[2026-10-20 08:39:12,354.354 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:39:12,356.356 INFO    ] Checking for system updates...
[2026-10-20 08:39:12,391.391 INFO    ] 200
[2026-10-20 08:39:12,394.394 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:39:12,445.445 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:39:12,448.448 INFO    ] No update needed
[2026-10-20 08:39:12,451.451 INFO    ] Checking for camera pi updates...
[2026-10-20 08:39:12,485.485 INFO    ] 200
[2026-10-20 08:39:12,487.487 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:39:12,530.530 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:39:12,576.576 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:39:12,579.579 INFO    ] No camera update needed
[2026-10-20 08:39:12,581.581 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:39:12,584.584 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:39:12,589.589 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:39:12,594.594 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:39:14,634.634 INFO    ] ================================================
[2026-10-20 08:39:14,650.650 INFO    ] Launching Daemon at Tue Oct 20 08:39:14 IST 2026
[2026-10-20 08:39:14,660.660 INFO    ] ================================================
[2026-10-20 08:39:15,263.263 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:39:15
[2026-10-20 08:39:15,859.859 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:39:16,132.132 INFO    ] Initializing speech engine...
[2026-10-20 08:39:16,139.139 INFO    ] 2026-10-20 08:39:16
[2026-10-20 08:39:16,396.396 INFO    ] 2026-10-20 08:39:16
[2026-10-20 08:39:16,425.425 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:39:16,670.670 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:39:16,679.679 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:39:16,874.874 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:39:16,936.936 INFO    ] time= 20/10/2026 08:39:16
[2026-10-20 08:39:16,942.942 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:39:16,960.960 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:39:17,091.091 INFO    ] No existing commands found in stream
[2026-10-20 08:39:22,110.110 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:39:22,113.113 INFO    ] Waiting 2.70 seconds before fallback handling...
[2026-10-20 08:39:25,351.351 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:39:25,353.353 INFO    ] Checking for system updates...
[2026-10-20 08:39:25,392.392 INFO    ] 200
[2026-10-20 08:39:25,394.394 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:39:25,446.446 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:39:25,448.448 INFO    ] No update needed
[2026-10-20 08:39:25,450.450 INFO    ] Checking for camera pi updates...
[2026-10-20 08:39:25,487.487 INFO    ] 200
[2026-10-20 08:39:25,490.490 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:39:25,534.534 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:39:25,578.578 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:39:25,581.581 INFO    ] No camera update needed
[2026-10-20 08:39:25,583.583 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:39:25,585.585 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:39:25,591.591 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:39:25,595.595 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:39:27,638.638 INFO    ] ================================================
[2026-10-20 08:39:27,653.653 INFO    ] Launching Daemon at Tue Oct 20 08:39:27 IST 2026
[2026-10-20 08:39:27,663.663 INFO    ] ================================================
[2026-10-20 08:39:28,230.230 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:39:28
[2026-10-20 08:39:28,810.810 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:39:29,076.076 INFO    ] Initializing speech engine...
[2026-10-20 08:39:29,085.085 INFO    ] 2026-10-20 08:39:29
[2026-10-20 08:39:29,330.330 INFO    ] 2026-10-20 08:39:29
[2026-10-20 08:39:29,395.395 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:39:29,623.623 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:39:29,629.629 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:39:29,763.763 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:39:29,818.818 INFO    ] time= 20/10/2026 08:39:29
[2026-10-20 08:39:29,867.867 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:39:29,897.897 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:39:30,027.027 INFO    ] No existing commands found in stream
[2026-10-20 08:39:35,052.052 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:39:35,055.055 INFO    ] Waiting 2.23 seconds before fallback handling...
[2026-10-20 08:39:37,761.761 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 08:39:37,764.764 INFO    ] Checking for system updates...
[2026-10-20 08:39:37,800.800 INFO    ] 200
[2026-10-20 08:39:37,803.803 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:39:37,860.860 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:39:37,863.863 INFO    ] No update needed
[2026-10-20 08:39:37,866.866 INFO    ] Checking for camera pi updates...
[2026-10-20 08:39:37,899.899 INFO    ] 200
[2026-10-20 08:39:37,902.902 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:39:37,945.945 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:39:37,999.999 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:39:38,002.002 INFO    ] No camera update needed
[2026-10-20 08:39:38,004.004 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:39:38,006.006 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:39:38,012.012 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:39:38,016.016 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:39:40,057.057 INFO    ] ================================================
[2026-10-20 08:39:40,072.072 INFO    ] Launching Daemon at Tue Oct 20 08:39:40 IST 2026
[2026-10-20 08:39:40,083.083 INFO    ] ================================================
[2026-10-20 08:39:40,650.650 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:39:40
[2026-10-20 08:39:41,236.236 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:39:41,489.489 INFO    ] Initializing speech engine...
[2026-10-20 08:39:41,501.501 INFO    ] 2026-10-20 08:39:41
[2026-10-20 08:39:41,783.783 INFO    ] 2026-10-20 08:39:41
[2026-10-20 08:39:41,820.820 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:39:42,043.043 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:39:42,098.098 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:39:42,263.263 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:39:42,301.301 INFO    ] time= 20/10/2026 08:39:42
[2026-10-20 08:39:42,344.344 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:39:42,394.394 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:39:42,550.550 INFO    ] No existing commands found in stream
[2026-10-20 08:39:47,575.575 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:39:47,578.578 INFO    ] Waiting 0.67 seconds before fallback handling...
[2026-10-20 08:39:48,761.761 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:39:48,764.764 INFO    ] Checking for system updates...
[2026-10-20 08:39:48,804.804 INFO    ] 200
[2026-10-20 08:39:48,807.807 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:39:48,862.862 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:39:48,865.865 INFO    ] No update needed
[2026-10-20 08:39:48,867.867 INFO    ] Checking for camera pi updates...
[2026-10-20 08:39:48,905.905 INFO    ] 200
[2026-10-20 08:39:48,907.907 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:39:48,957.957 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:39:49,010.010 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:39:49,012.012 INFO    ] No camera update needed
[2026-10-20 08:39:49,015.015 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:39:49,018.018 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:39:49,024.024 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:39:49,029.029 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:39:51,069.069 INFO    ] ================================================
[2026-10-20 08:39:51,084.084 INFO    ] Launching Daemon at Tue Oct 20 08:39:51 IST 2026
[2026-10-20 08:39:51,095.095 INFO    ] ================================================
[2026-10-20 08:39:51,661.661 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:39:51
[2026-10-20 08:39:52,245.245 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:39:52,498.498 INFO    ] Initializing speech engine...
[2026-10-20 08:39:52,505.505 INFO    ] 2026-10-20 08:39:52
[2026-10-20 08:39:52,795.795 INFO    ] 2026-10-20 08:39:52
[2026-10-20 08:39:52,832.832 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:39:53,026.026 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:39:53,042.042 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:39:53,200.200 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:39:53,208.208 INFO    ] time= 20/10/2026 08:39:53
[2026-10-20 08:39:53,213.213 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:39:53,219.219 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:39:53,330.330 INFO    ] No existing commands found in stream
[2026-10-20 08:39:58,356.356 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:39:58,359.359 INFO    ] Waiting 0.44 seconds before fallback handling...
[2026-10-20 08:39:59,262.262 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 08:39:59,264.264 INFO    ] Checking for system updates...
[2026-10-20 08:39:59,300.300 INFO    ] 200
[2026-10-20 08:39:59,303.303 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:39:59,360.360 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:39:59,362.362 INFO    ] No update needed
[2026-10-20 08:39:59,364.364 INFO    ] Checking for camera pi updates...
[2026-10-20 08:39:59,398.398 INFO    ] 200
[2026-10-20 08:39:59,401.401 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:39:59,445.445 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:39:59,495.495 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:39:59,497.497 INFO    ] No camera update needed
[2026-10-20 08:39:59,500.500 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:39:59,502.502 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:39:59,507.507 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:39:59,512.512 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:40:01,601.601 INFO    ] ================================================
[2026-10-20 08:40:01,660.660 INFO    ] Launching Daemon at Tue Oct 20 08:40:01 IST 2026
[2026-10-20 08:40:01,706.706 INFO    ] ================================================
[2026-10-20 08:40:02,584.584 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:40:02
[2026-10-20 08:40:03,311.311 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:40:03,635.635 INFO    ] Initializing speech engine...
[2026-10-20 08:40:03,643.643 INFO    ] 2026-10-20 08:40:03
[2026-10-20 08:40:03,940.940 INFO    ] 2026-10-20 08:40:03
[2026-10-20 08:40:03,983.983 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:40:04,203.203 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:40:04,212.212 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:40:04,387.387 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:40:04,441.441 INFO    ] time= 20/10/2026 08:40:04
[2026-10-20 08:40:04,474.474 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:40:04,480.480 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:40:04,626.626 INFO    ] No existing commands found in stream
[2026-10-20 08:40:09,640.640 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:40:09,643.643 INFO    ] Waiting 0.96 seconds before fallback handling...
[2026-10-20 08:40:11,127.127 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 08:40:11,129.129 INFO    ] Checking for system updates...
[2026-10-20 08:40:11,167.167 INFO    ] 200
[2026-10-20 08:40:11,169.169 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:40:11,222.222 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:40:11,224.224 INFO    ] No update needed
[2026-10-20 08:40:11,227.227 INFO    ] Checking for camera pi updates...
[2026-10-20 08:40:11,259.259 INFO    ] 200
[2026-10-20 08:40:11,262.262 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:40:11,301.301 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:40:11,363.363 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:40:11,365.365 INFO    ] No camera update needed
[2026-10-20 08:40:11,368.368 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:40:11,370.370 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:40:11,375.375 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:40:11,380.380 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:40:13,421.421 INFO    ] ================================================
[2026-10-20 08:40:13,437.437 INFO    ] Launching Daemon at Tue Oct 20 08:40:13 IST 2026
[2026-10-20 08:40:13,447.447 INFO    ] ================================================
[2026-10-20 08:40:14,012.012 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:40:14
[2026-10-20 08:40:14,594.594 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:40:14,866.866 INFO    ] Initializing speech engine...
[2026-10-20 08:40:14,873.873 INFO    ] 2026-10-20 08:40:14
[2026-10-20 08:40:15,116.116 INFO    ] 2026-10-20 08:40:15
[2026-10-20 08:40:15,158.158 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:40:15,408.408 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:40:15,414.414 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:40:15,652.652 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:40:15,671.671 INFO    ] time= 20/10/2026 08:40:15
[2026-10-20 08:40:15,677.677 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:40:15,698.698 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:40:15,825.825 INFO    ] No existing commands found in stream
[2026-10-20 08:40:20,838.838 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:40:20,841.841 INFO    ] Waiting 1.15 seconds before fallback handling...
[2026-10-20 08:40:22,509.509 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:40:22,511.511 INFO    ] Checking for system updates...
[2026-10-20 08:40:22,547.547 INFO    ] 200
[2026-10-20 08:40:22,549.549 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:40:22,602.602 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:40:22,604.604 INFO    ] No update needed
[2026-10-20 08:40:22,607.607 INFO    ] Checking for camera pi updates...
[2026-10-20 08:40:22,640.640 INFO    ] 200
[2026-10-20 08:40:22,642.642 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:40:22,685.685 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:40:22,730.730 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:40:22,732.732 INFO    ] No camera update needed
[2026-10-20 08:40:22,734.734 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:40:22,736.736 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:40:22,742.742 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:40:22,747.747 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:40:24,785.785 INFO    ] ================================================
[2026-10-20 08:40:24,801.801 INFO    ] Launching Daemon at Tue Oct 20 08:40:24 IST 2026
[2026-10-20 08:40:24,811.811 INFO    ] ================================================
[2026-10-20 08:40:25,377.377 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:40:25
[2026-10-20 08:40:25,959.959 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:40:26,228.228 INFO    ] Initializing speech engine...
[2026-10-20 08:40:26,238.238 INFO    ] 2026-10-20 08:40:26
[2026-10-20 08:40:26,482.482 INFO    ] 2026-10-20 08:40:26
[2026-10-20 08:40:26,517.517 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:40:26,768.768 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:40:26,778.778 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:40:26,917.917 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:40:26,972.972 INFO    ] time= 20/10/2026 08:40:26
[2026-10-20 08:40:27,021.021 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:40:27,042.042 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:40:27,180.180 INFO    ] No existing commands found in stream
[2026-10-20 08:40:32,201.201 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:40:32,203.203 INFO    ] Waiting 3.60 seconds before fallback handling...
[2026-10-20 08:40:36,248.248 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 08:40:36,251.251 INFO    ] Checking for system updates...
[2026-10-20 08:40:36,290.290 INFO    ] 200
[2026-10-20 08:40:36,293.293 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:40:36,348.348 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:40:36,351.351 INFO    ] No update needed
[2026-10-20 08:40:36,353.353 INFO    ] Checking for camera pi updates...
[2026-10-20 08:40:36,388.388 INFO    ] 200
[2026-10-20 08:40:36,391.391 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:40:36,430.430 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:40:36,478.478 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:40:36,481.481 INFO    ] No camera update needed
[2026-10-20 08:40:36,483.483 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:40:36,485.485 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:40:36,491.491 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:40:36,495.495 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:40:38,537.537 INFO    ] ================================================
[2026-10-20 08:40:38,552.552 INFO    ] Launching Daemon at Tue Oct 20 08:40:38 IST 2026
[2026-10-20 08:40:38,563.563 INFO    ] ================================================
[2026-10-20 08:40:39,132.132 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:40:39
[2026-10-20 08:40:39,715.715 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:40:39,982.982 INFO    ] Initializing speech engine...
[2026-10-20 08:40:39,993.993 INFO    ] 2026-10-20 08:40:39
[2026-10-20 08:40:40,246.246 INFO    ] 2026-10-20 08:40:40
[2026-10-20 08:40:40,281.281 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:40:40,536.536 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:40:40,541.541 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:40:40,747.747 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:40:40,797.797 INFO    ] time= 20/10/2026 08:40:40
[2026-10-20 08:40:40,804.804 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:40:40,822.822 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:40:40,990.990 INFO    ] No existing commands found in stream
[2026-10-20 08:40:46,015.015 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:40:46,017.017 INFO    ] Waiting 0.04 seconds before fallback handling...
[2026-10-20 08:40:46,531.531 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 08:40:46,534.534 INFO    ] Checking for system updates...
[2026-10-20 08:40:46,573.573 INFO    ] 200
[2026-10-20 08:40:46,575.575 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:40:46,636.636 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:40:46,638.638 INFO    ] No update needed
[2026-10-20 08:40:46,641.641 INFO    ] Checking for camera pi updates...
[2026-10-20 08:40:46,676.676 INFO    ] 200
[2026-10-20 08:40:46,679.679 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:40:46,720.720 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:40:46,764.764 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:40:46,767.767 INFO    ] No camera update needed
[2026-10-20 08:40:46,770.770 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:40:46,772.772 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:40:46,778.778 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:40:46,784.784 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:40:48,824.824 INFO    ] ================================================
[2026-10-20 08:40:48,839.839 INFO    ] Launching Daemon at Tue Oct 20 08:40:48 IST 2026
[2026-10-20 08:40:48,850.850 INFO    ] ================================================
[2026-10-20 08:40:49,416.416 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:40:49
[2026-10-20 08:40:50,000.000 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:40:50,268.268 INFO    ] Initializing speech engine...
[2026-10-20 08:40:50,278.278 INFO    ] 2026-10-20 08:40:50
[2026-10-20 08:40:50,523.523 INFO    ] 2026-10-20 08:40:50
[2026-10-20 08:40:50,558.558 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:40:50,811.811 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:40:50,820.820 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:40:50,954.954 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:40:51,014.014 INFO    ] time= 20/10/2026 08:40:50
[2026-10-20 08:40:51,068.068 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:40:51,088.088 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:40:51,232.232 INFO    ] No existing commands found in stream
[2026-10-20 08:40:56,245.245 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:40:56,248.248 INFO    ] Waiting 2.32 seconds before fallback handling...
[2026-10-20 08:40:59,092.092 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:40:59,095.095 INFO    ] Checking for system updates...
[2026-10-20 08:40:59,133.133 INFO    ] 200
[2026-10-20 08:40:59,135.135 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:40:59,191.191 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:40:59,194.194 INFO    ] No update needed
[2026-10-20 08:40:59,196.196 INFO    ] Checking for camera pi updates...
[2026-10-20 08:40:59,229.229 INFO    ] 200
[2026-10-20 08:40:59,232.232 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:40:59,271.271 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:40:59,318.318 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:40:59,320.320 INFO    ] No camera update needed
[2026-10-20 08:40:59,323.323 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:40:59,325.325 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:40:59,330.330 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:40:59,335.335 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:41:01,374.374 INFO    ] ================================================
[2026-10-20 08:41:01,389.389 INFO    ] Launching Daemon at Tue Oct 20 08:41:01 IST 2026
[2026-10-20 08:41:01,400.400 INFO    ] ================================================
[2026-10-20 08:41:02,044.044 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:41:02
[2026-10-20 08:41:02,725.725 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:41:03,038.038 INFO    ] Initializing speech engine...
[2026-10-20 08:41:03,045.045 INFO    ] 2026-10-20 08:41:03
[2026-10-20 08:41:03,337.337 INFO    ] 2026-10-20 08:41:03
[2026-10-20 08:41:03,378.378 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:41:03,580.580 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:41:03,601.601 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:41:03,794.794 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:41:03,809.809 INFO    ] time= 20/10/2026 08:41:03
[2026-10-20 08:41:03,851.851 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:41:03,917.917 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:41:04,004.004 INFO    ] No existing commands found in stream
[2026-10-20 08:41:09,016.016 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:41:09,019.019 INFO    ] Waiting 3.26 seconds before fallback handling...
[2026-10-20 08:41:12,791.791 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:41:12,793.793 INFO    ] Checking for system updates...
[2026-10-20 08:41:12,831.831 INFO    ] 200
[2026-10-20 08:41:12,834.834 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:41:12,889.889 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:41:12,892.892 INFO    ] No update needed
[2026-10-20 08:41:12,894.894 INFO    ] Checking for camera pi updates...
[2026-10-20 08:41:12,930.930 INFO    ] 200
[2026-10-20 08:41:12,932.932 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:41:12,972.972 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:41:13,122.122 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:41:13,125.125 INFO    ] No camera update needed
[2026-10-20 08:41:13,127.127 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:41:13,129.129 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:41:13,135.135 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:41:13,140.140 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:41:15,180.180 INFO    ] ================================================
[2026-10-20 08:41:15,195.195 INFO    ] Launching Daemon at Tue Oct 20 08:41:15 IST 2026
[2026-10-20 08:41:15,206.206 INFO    ] ================================================
[2026-10-20 08:41:15,830.830 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:41:15
[2026-10-20 08:41:16,414.414 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:41:16,682.682 INFO    ] Initializing speech engine...
[2026-10-20 08:41:16,692.692 INFO    ] 2026-10-20 08:41:16
[2026-10-20 08:41:16,950.950 INFO    ] 2026-10-20 08:41:16
[2026-10-20 08:41:16,980.980 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:41:17,229.229 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:41:17,234.234 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:41:17,406.406 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:41:17,461.461 INFO    ] time= 20/10/2026 08:41:17
[2026-10-20 08:41:17,493.493 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:41:17,499.499 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:41:17,645.645 INFO    ] No existing commands found in stream
[2026-10-20 08:41:22,673.673 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:41:22,675.675 INFO    ] Waiting 0.55 seconds before fallback handling...
[2026-10-20 08:41:23,730.730 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 08:41:23,733.733 INFO    ] Checking for system updates...
[2026-10-20 08:41:23,769.769 INFO    ] 200
[2026-10-20 08:41:23,772.772 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:41:23,825.825 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:41:23,827.827 INFO    ] No update needed
[2026-10-20 08:41:23,830.830 INFO    ] Checking for camera pi updates...
[2026-10-20 08:41:23,864.864 INFO    ] 200
[2026-10-20 08:41:23,867.867 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:41:23,916.916 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:41:23,964.964 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:41:23,966.966 INFO    ] No camera update needed
[2026-10-20 08:41:23,969.969 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:41:23,972.972 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:41:23,978.978 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:41:23,983.983 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:41:26,025.025 INFO    ] ================================================
[2026-10-20 08:41:26,040.040 INFO    ] Launching Daemon at Tue Oct 20 08:41:26 IST 2026
[2026-10-20 08:41:26,050.050 INFO    ] ================================================
[2026-10-20 08:41:26,630.630 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:41:26
[2026-10-20 08:41:27,222.222 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:41:27,490.490 INFO    ] Initializing speech engine...
[2026-10-20 08:41:27,499.499 INFO    ] 2026-10-20 08:41:27
[2026-10-20 08:41:27,759.759 INFO    ] 2026-10-20 08:41:27
[2026-10-20 08:41:27,788.788 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:41:28,034.034 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:41:28,043.043 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:41:28,183.183 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:41:28,252.252 INFO    ] time= 20/10/2026 08:41:28
[2026-10-20 08:41:28,304.304 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:41:28,311.311 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:41:28,458.458 INFO    ] No existing commands found in stream
[2026-10-20 08:41:33,480.480 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:41:33,483.483 INFO    ] Waiting 1.60 seconds before fallback handling...
[2026-10-20 08:41:35,561.561 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 08:41:35,563.563 INFO    ] Checking for system updates...
[2026-10-20 08:41:35,601.601 INFO    ] 200
[2026-10-20 08:41:35,603.603 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:41:35,659.659 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:41:35,661.661 INFO    ] No update needed
[2026-10-20 08:41:35,663.663 INFO    ] Checking for camera pi updates...
[2026-10-20 08:41:35,697.697 INFO    ] 200
[2026-10-20 08:41:35,699.699 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:41:35,742.742 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:41:35,791.791 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:41:35,794.794 INFO    ] No camera update needed
[2026-10-20 08:41:35,796.796 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:41:35,798.798 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:41:35,803.803 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:41:35,808.808 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:41:37,849.849 INFO    ] ================================================
[2026-10-20 08:41:37,864.864 INFO    ] Launching Daemon at Tue Oct 20 08:41:37 IST 2026
[2026-10-20 08:41:37,874.874 INFO    ] ================================================
[2026-10-20 08:41:38,444.444 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:41:38
[2026-10-20 08:41:39,025.025 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:41:39,283.283 INFO    ] Initializing speech engine...
[2026-10-20 08:41:39,301.301 INFO    ] 2026-10-20 08:41:39
[2026-10-20 08:41:39,553.553 INFO    ] 2026-10-20 08:41:39
[2026-10-20 08:41:39,589.589 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:41:39,832.832 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:41:39,841.841 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:41:39,975.975 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:41:40,034.034 INFO    ] time= 20/10/2026 08:41:39
[2026-10-20 08:41:40,094.094 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:41:40,106.106 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:41:40,251.251 INFO    ] No existing commands found in stream
[2026-10-20 08:41:45,265.265 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:41:45,268.268 INFO    ] Waiting 2.63 seconds before fallback handling...
[2026-10-20 08:41:48,428.428 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:41:48,431.431 INFO    ] Checking for system updates...
[2026-10-20 08:41:48,471.471 INFO    ] 200
[2026-10-20 08:41:48,474.474 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:41:48,532.532 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:41:48,535.535 INFO    ] No update needed
[2026-10-20 08:41:48,538.538 INFO    ] Checking for camera pi updates...
[2026-10-20 08:41:48,575.575 INFO    ] 200
[2026-10-20 08:41:48,578.578 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:41:48,622.622 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:41:48,669.669 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:41:48,671.671 INFO    ] No camera update needed
[2026-10-20 08:41:48,674.674 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:41:48,676.676 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:41:48,682.682 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:41:48,688.688 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:41:50,728.728 INFO    ] ================================================
[2026-10-20 08:41:51,354.354 INFO    ] Launching Daemon at Tue Oct 20 08:41:51 IST 2026
[2026-10-20 08:41:51,369.369 INFO    ] ================================================
[2026-10-20 08:41:51,934.934 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:41:51
[2026-10-20 08:41:52,521.521 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:41:52,776.776 INFO    ] Initializing speech engine...
[2026-10-20 08:41:52,789.789 INFO    ] 2026-10-20 08:41:52
[2026-10-20 08:41:53,070.070 INFO    ] 2026-10-20 08:41:53
[2026-10-20 08:41:53,108.108 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:41:53,301.301 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:41:53,314.314 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:41:53,472.472 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:41:53,482.482 INFO    ] time= 20/10/2026 08:41:53
[2026-10-20 08:41:53,488.488 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:41:53,530.530 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:41:53,658.658 INFO    ] No existing commands found in stream
[2026-10-20 08:41:58,689.689 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:41:58,692.692 INFO    ] Waiting 1.61 seconds before fallback handling...
[2026-10-20 08:42:00,782.782 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:42:00,785.785 INFO    ] Checking for system updates...
[2026-10-20 08:42:00,820.820 INFO    ] 200
[2026-10-20 08:42:00,823.823 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:42:00,876.876 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:42:00,879.879 INFO    ] No update needed
[2026-10-20 08:42:00,882.882 INFO    ] Checking for camera pi updates...
[2026-10-20 08:42:00,917.917 INFO    ] 200
[2026-10-20 08:42:00,920.920 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:42:00,959.959 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:42:01,004.004 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:42:01,007.007 INFO    ] No camera update needed
[2026-10-20 08:42:01,009.009 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:42:01,012.012 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:42:01,017.017 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:42:01,022.022 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:42:03,086.086 INFO    ] ================================================
[2026-10-20 08:42:03,107.107 INFO    ] Launching Daemon at Tue Oct 20 08:42:03 IST 2026
[2026-10-20 08:42:03,123.123 INFO    ] ================================================
[2026-10-20 08:42:03,795.795 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:42:03
[2026-10-20 08:42:04,402.402 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:42:04,654.654 INFO    ] Initializing speech engine...
[2026-10-20 08:42:04,663.663 INFO    ] 2026-10-20 08:42:04
[2026-10-20 08:42:04,950.950 INFO    ] 2026-10-20 08:42:04
[2026-10-20 08:42:04,987.987 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:42:05,179.179 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:42:05,193.193 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:42:05,351.351 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:42:05,359.359 INFO    ] time= 20/10/2026 08:42:05
[2026-10-20 08:42:05,363.363 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:42:05,369.369 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:42:05,468.468 INFO    ] No existing commands found in stream
[2026-10-20 08:42:10,504.504 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:42:10,507.507 INFO    ] Waiting 1.18 seconds before fallback handling...
[2026-10-20 08:42:12,130.130 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:42:12,133.133 INFO    ] Checking for system updates...
[2026-10-20 08:42:12,168.168 INFO    ] 200
[2026-10-20 08:42:12,171.171 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:42:12,225.225 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:42:12,228.228 INFO    ] No update needed
[2026-10-20 08:42:12,230.230 INFO    ] Checking for camera pi updates...
[2026-10-20 08:42:12,266.266 INFO    ] 200
[2026-10-20 08:42:12,268.268 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:42:12,308.308 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:42:12,360.360 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:42:12,362.362 INFO    ] No camera update needed
[2026-10-20 08:42:12,364.364 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:42:12,367.367 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:42:12,372.372 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:42:12,377.377 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:42:14,416.416 INFO    ] ================================================
[2026-10-20 08:42:14,432.432 INFO    ] Launching Daemon at Tue Oct 20 08:42:14 IST 2026
[2026-10-20 08:42:14,443.443 INFO    ] ================================================
[2026-10-20 08:42:15,008.008 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:42:15
[2026-10-20 08:42:15,590.590 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:42:15,850.850 INFO    ] Initializing speech engine...
[2026-10-20 08:42:15,869.869 INFO    ] 2026-10-20 08:42:15
[2026-10-20 08:42:16,123.123 INFO    ] 2026-10-20 08:42:16
[2026-10-20 08:42:16,158.158 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:42:16,411.411 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:42:16,420.420 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:42:16,575.575 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:42:16,578.578 INFO    ] time= 20/10/2026 08:42:16
[2026-10-20 08:42:16,621.621 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:42:16,670.670 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:42:16,821.821 INFO    ] No existing commands found in stream
[2026-10-20 08:42:21,848.848 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:42:21,851.851 INFO    ] Waiting 3.41 seconds before fallback handling...
[2026-10-20 08:42:25,799.799 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:42:25,802.802 INFO    ] Checking for system updates...
[2026-10-20 08:42:25,839.839 INFO    ] 200
[2026-10-20 08:42:25,842.842 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:42:25,895.895 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:42:25,898.898 INFO    ] No update needed
[2026-10-20 08:42:25,901.901 INFO    ] Checking for camera pi updates...
[2026-10-20 08:42:25,935.935 INFO    ] 200
[2026-10-20 08:42:25,938.938 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:42:25,979.979 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:42:26,022.022 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:42:26,025.025 INFO    ] No camera update needed
[2026-10-20 08:42:26,027.027 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:42:26,030.030 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:42:26,036.036 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:42:26,042.042 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:42:28,082.082 INFO    ] ================================================
[2026-10-20 08:42:28,097.097 INFO    ] Launching Daemon at Tue Oct 20 08:42:28 IST 2026
[2026-10-20 08:42:28,108.108 INFO    ] ================================================
[2026-10-20 08:42:28,738.738 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:42:28
[2026-10-20 08:42:29,387.387 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:42:29,681.681 INFO    ] Initializing speech engine...
[2026-10-20 08:42:29,689.689 INFO    ] 2026-10-20 08:42:29
[2026-10-20 08:42:29,970.970 INFO    ] 2026-10-20 08:42:29
[2026-10-20 08:42:30,014.014 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:42:30,264.264 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:42:30,270.270 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:42:30,480.480 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:42:30,503.503 INFO    ] time= 20/10/2026 08:42:30
[2026-10-20 08:42:30,520.520 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:42:30,530.530 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:42:30,659.659 INFO    ] No existing commands found in stream
[2026-10-20 08:42:35,682.682 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:42:35,685.685 INFO    ] Waiting 0.58 seconds before fallback handling...
[2026-10-20 08:42:36,749.749 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 08:42:36,752.752 INFO    ] Checking for system updates...
[2026-10-20 08:42:36,788.788 INFO    ] 200
[2026-10-20 08:42:36,790.790 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:42:36,843.843 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:42:36,846.846 INFO    ] No update needed
[2026-10-20 08:42:36,848.848 INFO    ] Checking for camera pi updates...
[2026-10-20 08:42:36,884.884 INFO    ] 200
[2026-10-20 08:42:36,886.886 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:42:36,932.932 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:42:36,991.991 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:42:36,993.993 INFO    ] No camera update needed
[2026-10-20 08:42:36,996.996 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:42:36,998.998 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:42:37,003.003 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:42:37,008.008 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:42:39,048.048 INFO    ] ================================================
[2026-10-20 08:42:39,064.064 INFO    ] Launching Daemon at Tue Oct 20 08:42:39 IST 2026
[2026-10-20 08:42:39,074.074 INFO    ] ================================================
[2026-10-20 08:42:39,639.639 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:42:39
[2026-10-20 08:42:40,222.222 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:42:40,468.468 INFO    ] Initializing speech engine...
[2026-10-20 08:42:40,482.482 INFO    ] 2026-10-20 08:42:40
[2026-10-20 08:42:40,743.743 INFO    ] 2026-10-20 08:42:40
[2026-10-20 08:42:40,784.784 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:42:41,033.033 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:42:41,038.038 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:42:41,239.239 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:42:41,294.294 INFO    ] time= 20/10/2026 08:42:41
[2026-10-20 08:42:41,300.300 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:42:41,318.318 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:42:41,452.452 INFO    ] No existing commands found in stream
[2026-10-20 08:42:46,480.480 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:42:46,483.483 INFO    ] Waiting 1.04 seconds before fallback handling...
[2026-10-20 08:42:48,051.051 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 08:42:48,054.054 INFO    ] Checking for system updates...
[2026-10-20 08:42:48,093.093 INFO    ] 200
[2026-10-20 08:42:48,096.096 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:42:48,153.153 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:42:48,155.155 INFO    ] No update needed
[2026-10-20 08:42:48,158.158 INFO    ] Checking for camera pi updates...
[2026-10-20 08:42:48,193.193 INFO    ] 200
[2026-10-20 08:42:48,195.195 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:42:48,240.240 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:42:48,292.292 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:42:48,294.294 INFO    ] No camera update needed
[2026-10-20 08:42:48,297.297 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:42:48,300.300 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:42:48,306.306 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:42:48,312.312 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:42:50,352.352 INFO    ] ================================================
[2026-10-20 08:42:50,367.367 INFO    ] Launching Daemon at Tue Oct 20 08:42:50 IST 2026
[2026-10-20 08:42:50,378.378 INFO    ] ================================================
[2026-10-20 08:42:51,011.011 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:42:51
[2026-10-20 08:42:51,658.658 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:42:51,917.917 INFO    ] Initializing speech engine...
[2026-10-20 08:42:51,932.932 INFO    ] 2026-10-20 08:42:51
[2026-10-20 08:42:52,186.186 INFO    ] 2026-10-20 08:42:52
[2026-10-20 08:42:52,223.223 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:42:52,436.436 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:42:52,443.443 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:42:52,655.655 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:42:52,659.659 INFO    ] time= 20/10/2026 08:42:52
[2026-10-20 08:42:52,696.696 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:42:52,750.750 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:42:52,856.856 INFO    ] No existing commands found in stream
[2026-10-20 08:42:57,868.868 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:42:57,871.871 INFO    ] Waiting 1.85 seconds before fallback handling...
[2026-10-20 08:43:00,214.214 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 08:43:00,216.216 INFO    ] Checking for system updates...
[2026-10-20 08:43:00,252.252 INFO    ] 200
[2026-10-20 08:43:00,255.255 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:43:00,307.307 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:43:00,309.309 INFO    ] No update needed
[2026-10-20 08:43:00,311.311 INFO    ] Checking for camera pi updates...
[2026-10-20 08:43:00,345.345 INFO    ] 200
[2026-10-20 08:43:00,347.347 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:43:00,387.387 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:43:00,431.431 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:43:00,434.434 INFO    ] No camera update needed
[2026-10-20 08:43:00,436.436 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:43:00,438.438 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:43:00,444.444 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:43:00,449.449 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:43:02,490.490 INFO    ] ================================================
[2026-10-20 08:43:02,511.511 INFO    ] Launching Daemon at Tue Oct 20 08:43:02 IST 2026
[2026-10-20 08:43:02,526.526 INFO    ] ================================================
[2026-10-20 08:43:03,150.150 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:43:03
[2026-10-20 08:43:03,846.846 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:43:04,133.133 INFO    ] Initializing speech engine...
[2026-10-20 08:43:04,149.149 INFO    ] 2026-10-20 08:43:04
[2026-10-20 08:43:04,418.418 INFO    ] 2026-10-20 08:43:04
[2026-10-20 08:43:04,455.455 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:43:04,649.649 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:43:04,664.664 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:43:04,827.827 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:43:04,832.832 INFO    ] time= 20/10/2026 08:43:04
[2026-10-20 08:43:04,839.839 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:43:04,861.861 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:43:04,988.988 INFO    ] No existing commands found in stream
[2026-10-20 08:43:10,013.013 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:43:10,016.016 INFO    ] Waiting 1.73 seconds before fallback handling...
[2026-10-20 08:43:12,265.265 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 08:43:12,267.267 INFO    ] Checking for system updates...
[2026-10-20 08:43:12,304.304 INFO    ] 200
[2026-10-20 08:43:12,307.307 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:43:12,365.365 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:43:12,368.368 INFO    ] No update needed
[2026-10-20 08:43:12,371.371 INFO    ] Checking for camera pi updates...
[2026-10-20 08:43:12,409.409 INFO    ] 200
[2026-10-20 08:43:12,411.411 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:43:12,452.452 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:43:12,497.497 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:43:12,500.500 INFO    ] No camera update needed
[2026-10-20 08:43:12,502.502 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:43:12,505.505 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:43:12,511.511 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:43:12,517.517 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:43:14,557.557 INFO    ] ================================================
[2026-10-20 08:43:14,573.573 INFO    ] Launching Daemon at Tue Oct 20 08:43:14 IST 2026
[2026-10-20 08:43:14,584.584 INFO    ] ================================================
[2026-10-20 08:43:15,219.219 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:43:15
[2026-10-20 08:43:15,874.874 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:43:16,172.172 INFO    ] Initializing speech engine...
[2026-10-20 08:43:16,185.185 INFO    ] 2026-10-20 08:43:16
[2026-10-20 08:43:16,467.467 INFO    ] 2026-10-20 08:43:16
[2026-10-20 08:43:16,503.503 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:43:16,754.754 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:43:16,759.759 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:43:16,969.969 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:43:16,996.996 INFO    ] time= 20/10/2026 08:43:16
[2026-10-20 08:43:17,013.013 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:43:17,044.044 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:43:17,195.195 INFO    ] No existing commands found in stream
[2026-10-20 08:43:22,226.226 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:43:22,229.229 INFO    ] Waiting 3.29 seconds before fallback handling...
[2026-10-20 08:43:26,073.073 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 08:43:26,076.076 INFO    ] Checking for system updates...
[2026-10-20 08:43:26,113.113 INFO    ] 200
[2026-10-20 08:43:26,115.115 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:43:26,169.169 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:43:26,172.172 INFO    ] No update needed
[2026-10-20 08:43:26,174.174 INFO    ] Checking for camera pi updates...
[2026-10-20 08:43:26,209.209 INFO    ] 200
[2026-10-20 08:43:26,211.211 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:43:26,252.252 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:43:26,399.399 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:43:26,402.402 INFO    ] No camera update needed
[2026-10-20 08:43:26,404.404 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:43:26,407.407 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:43:26,413.413 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:43:26,419.419 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:43:28,459.459 INFO    ] ================================================
[2026-10-20 08:43:28,475.475 INFO    ] Launching Daemon at Tue Oct 20 08:43:28 IST 2026
[2026-10-20 08:43:28,486.486 INFO    ] ================================================
[2026-10-20 08:43:29,056.056 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:43:29
[2026-10-20 08:43:29,640.640 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:43:29,894.894 INFO    ] Initializing speech engine...
[2026-10-20 08:43:29,910.910 INFO    ] 2026-10-20 08:43:29
[2026-10-20 08:43:30,189.189 INFO    ] 2026-10-20 08:43:30
[2026-10-20 08:43:30,226.226 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:43:30,449.449 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:43:30,494.494 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:43:30,673.673 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:43:30,718.718 INFO    ] time= 20/10/2026 08:43:30
[2026-10-20 08:43:30,777.777 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:43:30,820.820 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:43:30,972.972 INFO    ] No existing commands found in stream
[2026-10-20 08:43:35,993.993 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:43:35,996.996 INFO    ] Waiting 3.65 seconds before fallback handling...
[2026-10-20 08:43:40,154.154 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:43:40,157.157 INFO    ] Checking for system updates...
[2026-10-20 08:43:40,193.193 INFO    ] 200
[2026-10-20 08:43:40,195.195 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:43:40,248.248 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:43:40,250.250 INFO    ] No update needed
[2026-10-20 08:43:40,253.253 INFO    ] Checking for camera pi updates...
[2026-10-20 08:43:40,286.286 INFO    ] 200
[2026-10-20 08:43:40,288.288 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:43:40,329.329 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:43:40,377.377 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:43:40,380.380 INFO    ] No camera update needed
[2026-10-20 08:43:40,382.382 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:43:40,384.384 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:43:40,390.390 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:43:40,395.395 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:43:42,434.434 INFO    ] ================================================
[2026-10-20 08:43:42,449.449 INFO    ] Launching Daemon at Tue Oct 20 08:43:42 IST 2026
[2026-10-20 08:43:42,461.461 INFO    ] ================================================
[2026-10-20 08:43:43,025.025 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:43:43
[2026-10-20 08:43:43,608.608 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:43:43,867.867 INFO    ] Initializing speech engine...
[2026-10-20 08:43:43,890.890 INFO    ] 2026-10-20 08:43:43
[2026-10-20 08:43:44,159.159 INFO    ] 2026-10-20 08:43:44
[2026-10-20 08:43:44,196.196 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:43:44,391.391 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:43:44,403.403 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:43:44,566.566 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:43:44,572.572 INFO    ] time= 20/10/2026 08:43:44
[2026-10-20 08:43:44,578.578 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:43:44,600.600 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:43:44,729.729 INFO    ] No existing commands found in stream
[2026-10-20 08:43:49,753.753 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:43:49,756.756 INFO    ] Waiting 0.60 seconds before fallback handling...
[2026-10-20 08:43:50,854.854 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 08:43:50,856.856 INFO    ] Checking for system updates...
[2026-10-20 08:43:50,891.891 INFO    ] 200
[2026-10-20 08:43:50,893.893 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:43:50,948.948 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:43:50,950.950 INFO    ] No update needed
[2026-10-20 08:43:50,953.953 INFO    ] Checking for camera pi updates...
[2026-10-20 08:43:50,986.986 INFO    ] 200
[2026-10-20 08:43:50,988.988 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:43:51,028.028 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:43:51,077.077 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:43:51,080.080 INFO    ] No camera update needed
[2026-10-20 08:43:51,082.082 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:43:51,085.085 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:43:51,090.090 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:43:51,095.095 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:43:53,135.135 INFO    ] ================================================
[2026-10-20 08:43:53,151.151 INFO    ] Launching Daemon at Tue Oct 20 08:43:53 IST 2026
[2026-10-20 08:43:53,163.163 INFO    ] ================================================
[2026-10-20 08:43:53,731.731 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:43:53
[2026-10-20 08:43:54,314.314 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:43:54,585.585 INFO    ] Initializing speech engine...
[2026-10-20 08:43:54,592.592 INFO    ] 2026-10-20 08:43:54
[2026-10-20 08:43:54,850.850 INFO    ] 2026-10-20 08:43:54
[2026-10-20 08:43:54,880.880 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:43:55,128.128 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:43:55,134.134 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:43:55,352.352 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:43:55,389.389 INFO    ] time= 20/10/2026 08:43:55
[2026-10-20 08:43:55,395.395 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:43:55,413.413 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:43:55,539.539 INFO    ] No existing commands found in stream
[2026-10-20 08:44:00,554.554 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:44:00,557.557 INFO    ] Waiting 1.83 seconds before fallback handling...
[2026-10-20 08:44:02,906.906 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 08:44:02,909.909 INFO    ] Checking for system updates...
[2026-10-20 08:44:02,952.952 INFO    ] 200
[2026-10-20 08:44:02,955.955 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:44:03,016.016 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:44:03,020.020 INFO    ] No update needed
[2026-10-20 08:44:03,023.023 INFO    ] Checking for camera pi updates...
[2026-10-20 08:44:03,061.061 INFO    ] 200
[2026-10-20 08:44:03,065.065 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:44:03,114.114 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:44:03,147.147 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:44:03,151.151 INFO    ] No camera update needed
[2026-10-20 08:44:03,153.153 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:44:03,156.156 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:44:03,163.163 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:44:03,169.169 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:44:05,211.211 INFO    ] ================================================
[2026-10-20 08:44:05,226.226 INFO    ] Launching Daemon at Tue Oct 20 08:44:05 IST 2026
[2026-10-20 08:44:05,236.236 INFO    ] ================================================
[2026-10-20 08:44:05,800.800 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:44:05
[2026-10-20 08:44:06,380.380 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:44:06,649.649 INFO    ] Initializing speech engine...
[2026-10-20 08:44:06,653.653 INFO    ] 2026-10-20 08:44:06
[2026-10-20 08:44:06,898.898 INFO    ] 2026-10-20 08:44:06
[2026-10-20 08:44:06,934.934 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:44:07,130.130 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:44:07,187.187 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:44:07,328.328 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:44:07,389.389 INFO    ] time= 20/10/2026 08:44:07
[2026-10-20 08:44:07,448.448 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:44:07,461.461 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:44:07,607.607 INFO    ] No existing commands found in stream
[2026-10-20 08:44:12,625.625 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:44:12,628.628 INFO    ] Waiting 0.91 seconds before fallback handling...
[2026-10-20 08:44:14,113.113 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 08:44:14,116.116 INFO    ] Checking for system updates...
[2026-10-20 08:44:14,152.152 INFO    ] 200
[2026-10-20 08:44:14,154.154 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:44:14,207.207 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:44:14,209.209 INFO    ] No update needed
[2026-10-20 08:44:14,212.212 INFO    ] Checking for camera pi updates...
[2026-10-20 08:44:14,244.244 INFO    ] 200
[2026-10-20 08:44:14,247.247 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:44:14,287.287 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:44:14,333.333 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:44:14,335.335 INFO    ] No camera update needed
[2026-10-20 08:44:14,338.338 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:44:14,340.340 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:44:14,345.345 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:44:14,350.350 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:44:16,391.391 INFO    ] ================================================
[2026-10-20 08:44:16,409.409 INFO    ] Launching Daemon at Tue Oct 20 08:44:16 IST 2026
[2026-10-20 08:44:16,421.421 INFO    ] ================================================
[2026-10-20 08:44:17,004.004 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:44:17
[2026-10-20 08:44:17,587.587 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:44:17,894.894 INFO    ] Initializing speech engine...
[2026-10-20 08:44:17,899.899 INFO    ] 2026-10-20 08:44:17
[2026-10-20 08:44:18,204.204 INFO    ] 2026-10-20 08:44:18
[2026-10-20 08:44:18,287.287 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:44:18,497.497 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:44:18,506.506 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:44:18,699.699 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:44:18,714.714 INFO    ] time= 20/10/2026 08:44:18
[2026-10-20 08:44:18,723.723 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:44:18,748.748 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:44:18,860.860 INFO    ] No existing commands found in stream
[2026-10-20 08:44:23,884.884 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:44:23,887.887 INFO    ] Waiting 2.30 seconds before fallback handling...
[2026-10-20 08:44:26,664.664 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 08:44:26,667.667 INFO    ] Checking for system updates...
[2026-10-20 08:44:26,702.702 INFO    ] 200
[2026-10-20 08:44:26,705.705 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:44:26,758.758 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:44:26,760.760 INFO    ] No update needed
[2026-10-20 08:44:26,763.763 INFO    ] Checking for camera pi updates...
[2026-10-20 08:44:26,797.797 INFO    ] 200
[2026-10-20 08:44:26,799.799 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:44:26,839.839 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:44:26,887.887 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:44:26,890.890 INFO    ] No camera update needed
[2026-10-20 08:44:26,892.892 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:44:26,894.894 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:44:26,899.899 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:44:26,904.904 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:44:28,944.944 INFO    ] ================================================
[2026-10-20 08:44:28,959.959 INFO    ] Launching Daemon at Tue Oct 20 08:44:28 IST 2026
[2026-10-20 08:44:28,970.970 INFO    ] ================================================
[2026-10-20 08:44:29,554.554 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:44:29
[2026-10-20 08:44:30,150.150 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:44:30,425.425 INFO    ] Initializing speech engine...
[2026-10-20 08:44:30,435.435 INFO    ] 2026-10-20 08:44:30
[2026-10-20 08:44:30,692.692 INFO    ] 2026-10-20 08:44:30
[2026-10-20 08:44:30,746.746 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:44:31,032.032 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:44:31,037.037 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:44:31,230.230 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:44:31,236.236 INFO    ] time= 20/10/2026 08:44:31
[2026-10-20 08:44:31,255.255 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:44:31,283.283 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:44:31,414.414 INFO    ] No existing commands found in stream
[2026-10-20 08:44:36,444.444 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:44:36,446.446 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-10-20 08:44:38,999.999 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 08:44:39,002.002 INFO    ] Checking for system updates...
[2026-10-20 08:44:39,037.037 INFO    ] 200
[2026-10-20 08:44:39,040.040 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:44:39,093.093 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:44:39,095.095 INFO    ] No update needed
[2026-10-20 08:44:39,098.098 INFO    ] Checking for camera pi updates...
[2026-10-20 08:44:39,131.131 INFO    ] 200
[2026-10-20 08:44:39,133.133 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:44:39,173.173 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:44:39,215.215 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:44:39,217.217 INFO    ] No camera update needed
[2026-10-20 08:44:39,220.220 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:44:39,222.222 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:44:39,228.228 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:44:39,233.233 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:44:41,271.271 INFO    ] ================================================
[2026-10-20 08:44:41,286.286 INFO    ] Launching Daemon at Tue Oct 20 08:44:41 IST 2026
[2026-10-20 08:44:41,297.297 INFO    ] ================================================
[2026-10-20 08:44:41,864.864 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:44:41
[2026-10-20 08:44:42,447.447 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:44:42,696.696 INFO    ] Initializing speech engine...
[2026-10-20 08:44:42,708.708 INFO    ] 2026-10-20 08:44:42
[2026-10-20 08:44:42,973.973 INFO    ] 2026-10-20 08:44:42
[2026-10-20 08:44:43,008.008 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:44:43,265.265 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:44:43,274.274 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:44:43,479.479 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:44:43,529.529 INFO    ] time= 20/10/2026 08:44:43
[2026-10-20 08:44:43,544.544 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:44:43,559.559 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:44:43,697.697 INFO    ] No existing commands found in stream
[2026-10-20 08:44:48,719.719 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:44:48,722.722 INFO    ] Waiting 0.30 seconds before fallback handling...
[2026-10-20 08:44:49,468.468 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:44:49,471.471 INFO    ] Checking for system updates...
[2026-10-20 08:44:49,506.506 INFO    ] 200
[2026-10-20 08:44:49,509.509 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:44:49,561.561 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:44:49,564.564 INFO    ] No update needed
[2026-10-20 08:44:49,566.566 INFO    ] Checking for camera pi updates...
[2026-10-20 08:44:49,600.600 INFO    ] 200
[2026-10-20 08:44:49,602.602 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:44:49,641.641 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:44:49,689.689 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:44:49,692.692 INFO    ] No camera update needed
[2026-10-20 08:44:49,694.694 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:44:49,696.696 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:44:49,702.702 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:44:49,706.706 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:44:51,747.747 INFO    ] ================================================
[2026-10-20 08:44:51,762.762 INFO    ] Launching Daemon at Tue Oct 20 08:44:51 IST 2026
[2026-10-20 08:44:51,773.773 INFO    ] ================================================
[2026-10-20 08:44:52,341.341 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:44:52
[2026-10-20 08:44:52,926.926 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:44:53,196.196 INFO    ] Initializing speech engine...
[2026-10-20 08:44:53,205.205 INFO    ] 2026-10-20 08:44:53
[2026-10-20 08:44:53,450.450 INFO    ] 2026-10-20 08:44:53
[2026-10-20 08:44:53,485.485 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:44:53,737.737 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:44:53,746.746 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:44:53,939.939 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:44:53,994.994 INFO    ] time= 20/10/2026 08:44:53
[2026-10-20 08:44:54,011.011 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:44:54,030.030 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:44:54,161.161 INFO    ] No existing commands found in stream
[2026-10-20 08:44:59,184.184 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:44:59,186.186 INFO    ] Waiting 1.89 seconds before fallback handling...
[2026-10-20 08:45:01,606.606 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:45:01,609.609 INFO    ] Checking for system updates...
[2026-10-20 08:45:01,644.644 INFO    ] 200
[2026-10-20 08:45:01,647.647 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:45:01,699.699 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:45:01,702.702 INFO    ] No update needed
[2026-10-20 08:45:01,704.704 INFO    ] Checking for camera pi updates...
[2026-10-20 08:45:01,737.737 INFO    ] 200
[2026-10-20 08:45:01,740.740 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:45:01,780.780 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:45:01,827.827 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:45:01,829.829 INFO    ] No camera update needed
[2026-10-20 08:45:01,832.832 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:45:01,834.834 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:45:01,839.839 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:45:01,844.844 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:45:03,884.884 INFO    ] ================================================
[2026-10-20 08:45:03,899.899 INFO    ] Launching Daemon at Tue Oct 20 08:45:03 IST 2026
[2026-10-20 08:45:03,911.911 INFO    ] ================================================
[2026-10-20 08:45:04,521.521 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:45:04
[2026-10-20 08:45:05,198.198 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:45:05,503.503 INFO    ] Initializing speech engine...
[2026-10-20 08:45:05,514.514 INFO    ] 2026-10-20 08:45:05
[2026-10-20 08:45:05,795.795 INFO    ] 2026-10-20 08:45:05
[2026-10-20 08:45:05,839.839 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:45:06,066.066 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:45:06,072.072 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:45:06,291.291 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:45:06,333.333 INFO    ] time= 20/10/2026 08:45:06
[2026-10-20 08:45:06,350.350 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:45:06,381.381 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:45:06,507.507 INFO    ] No existing commands found in stream
[2026-10-20 08:45:11,534.534 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:45:11,538.538 INFO    ] Waiting 0.66 seconds before fallback handling...
[2026-10-20 08:45:12,709.709 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:45:12,713.713 INFO    ] Checking for system updates...
[2026-10-20 08:45:12,750.750 INFO    ] 200
[2026-10-20 08:45:12,753.753 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:45:12,810.810 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:45:12,813.813 INFO    ] No update needed
[2026-10-20 08:45:12,815.815 INFO    ] Checking for camera pi updates...
[2026-10-20 08:45:12,851.851 INFO    ] 200
[2026-10-20 08:45:12,853.853 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:45:12,897.897 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:45:12,954.954 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:45:12,956.956 INFO    ] No camera update needed
[2026-10-20 08:45:12,959.959 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:45:12,961.961 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:45:12,967.967 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:45:12,972.972 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:45:15,011.011 INFO    ] ================================================
[2026-10-20 08:45:15,027.027 INFO    ] Launching Daemon at Tue Oct 20 08:45:15 IST 2026
[2026-10-20 08:45:15,039.039 INFO    ] ================================================
[2026-10-20 08:45:15,616.616 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:45:15
[2026-10-20 08:45:16,201.201 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:45:16,469.469 INFO    ] Initializing speech engine...
[2026-10-20 08:45:16,479.479 INFO    ] 2026-10-20 08:45:16
[2026-10-20 08:45:16,731.731 INFO    ] 2026-10-20 08:45:16
[2026-10-20 08:45:16,766.766 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:45:17,016.016 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:45:17,021.021 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:45:17,231.231 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:45:17,277.277 INFO    ] time= 20/10/2026 08:45:17
[2026-10-20 08:45:17,296.296 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:45:17,305.305 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:45:17,435.435 INFO    ] No existing commands found in stream
[2026-10-20 08:45:22,453.453 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:45:22,456.456 INFO    ] Waiting 0.90 seconds before fallback handling...
[2026-10-20 08:45:23,831.831 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 08:45:23,833.833 INFO    ] Checking for system updates...
[2026-10-20 08:45:23,871.871 INFO    ] 200
[2026-10-20 08:45:23,873.873 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:45:23,926.926 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:45:23,928.928 INFO    ] No update needed
[2026-10-20 08:45:23,931.931 INFO    ] Checking for camera pi updates...
[2026-10-20 08:45:23,965.965 INFO    ] 200
[2026-10-20 08:45:23,967.967 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:45:24,009.009 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:45:24,057.057 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:45:24,059.059 INFO    ] No camera update needed
[2026-10-20 08:45:24,062.062 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:45:24,064.064 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:45:24,069.069 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:45:24,074.074 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:45:26,115.115 INFO    ] ================================================
[2026-10-20 08:45:26,130.130 INFO    ] Launching Daemon at Tue Oct 20 08:45:26 IST 2026
[2026-10-20 08:45:26,142.142 INFO    ] ================================================
[2026-10-20 08:45:26,751.751 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:45:26
[2026-10-20 08:45:27,432.432 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:45:27,737.737 INFO    ] Initializing speech engine...
[2026-10-20 08:45:27,752.752 INFO    ] 2026-10-20 08:45:27
[2026-10-20 08:45:28,066.066 INFO    ] 2026-10-20 08:45:28
[2026-10-20 08:45:28,150.150 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:45:28,366.366 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:45:28,372.372 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:45:28,564.564 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:45:28,572.572 INFO    ] time= 20/10/2026 08:45:28
[2026-10-20 08:45:28,594.594 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:45:28,623.623 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:45:28,751.751 INFO    ] No existing commands found in stream
[2026-10-20 08:45:33,781.781 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:45:33,785.785 INFO    ] Waiting 3.67 seconds before fallback handling...
[2026-10-20 08:45:37,973.973 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:45:37,976.976 INFO    ] Checking for system updates...
[2026-10-20 08:45:38,012.012 INFO    ] 200
[2026-10-20 08:45:38,014.014 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:45:38,068.068 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:45:38,070.070 INFO    ] No update needed
[2026-10-20 08:45:38,073.073 INFO    ] Checking for camera pi updates...
[2026-10-20 08:45:38,110.110 INFO    ] 200
[2026-10-20 08:45:38,113.113 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:45:38,152.152 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:45:38,196.196 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:45:38,199.199 INFO    ] No camera update needed
[2026-10-20 08:45:38,201.201 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:45:38,203.203 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:45:38,209.209 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:45:38,215.215 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:45:40,254.254 INFO    ] ================================================
[2026-10-20 08:45:40,270.270 INFO    ] Launching Daemon at Tue Oct 20 08:45:40 IST 2026
[2026-10-20 08:45:40,282.282 INFO    ] ================================================
[2026-10-20 08:45:40,847.847 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:45:40
[2026-10-20 08:45:41,430.430 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:45:41,701.701 INFO    ] Initializing speech engine...
[2026-10-20 08:45:41,706.706 INFO    ] 2026-10-20 08:45:41
[2026-10-20 08:45:41,951.951 INFO    ] 2026-10-20 08:45:41
[2026-10-20 08:45:41,986.986 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:45:42,242.242 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:45:42,247.247 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:45:42,386.386 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:45:42,441.441 INFO    ] time= 20/10/2026 08:45:42
[2026-10-20 08:45:42,485.485 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:45:42,514.514 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:45:42,659.659 INFO    ] No existing commands found in stream
[2026-10-20 08:45:47,672.672 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:45:47,674.674 INFO    ] Waiting 1.55 seconds before fallback handling...
[2026-10-20 08:45:49,756.756 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:45:49,760.760 INFO    ] Checking for system updates...
[2026-10-20 08:45:49,800.800 INFO    ] 200
[2026-10-20 08:45:49,803.803 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:45:49,857.857 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:45:49,860.860 INFO    ] No update needed
[2026-10-20 08:45:49,862.862 INFO    ] Checking for camera pi updates...
[2026-10-20 08:45:49,897.897 INFO    ] 200
[2026-10-20 08:45:49,899.899 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:45:49,949.949 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:45:50,003.003 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:45:50,006.006 INFO    ] No camera update needed
[2026-10-20 08:45:50,009.009 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:45:50,012.012 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:45:50,018.018 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:45:50,024.024 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:45:52,067.067 INFO    ] ================================================
[2026-10-20 08:45:52,082.082 INFO    ] Launching Daemon at Tue Oct 20 08:45:52 IST 2026
[2026-10-20 08:45:52,093.093 INFO    ] ================================================
[2026-10-20 08:45:52,661.661 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:45:52
[2026-10-20 08:45:53,243.243 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:45:53,511.511 INFO    ] Initializing speech engine...
[2026-10-20 08:45:53,520.520 INFO    ] 2026-10-20 08:45:53
[2026-10-20 08:45:53,765.765 INFO    ] 2026-10-20 08:45:53
[2026-10-20 08:45:53,800.800 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:45:54,051.051 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:45:54,060.060 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:45:54,194.194 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:45:54,259.259 INFO    ] time= 20/10/2026 08:45:54
[2026-10-20 08:45:54,318.318 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:45:54,328.328 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:45:54,471.471 INFO    ] No existing commands found in stream
[2026-10-20 08:45:59,482.482 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:45:59,485.485 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-10-20 08:46:02,634.634 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 08:46:02,638.638 INFO    ] Checking for system updates...
[2026-10-20 08:46:02,684.684 INFO    ] 200
[2026-10-20 08:46:02,687.687 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:46:02,755.755 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:46:02,759.759 INFO    ] No update needed
[2026-10-20 08:46:02,763.763 INFO    ] Checking for camera pi updates...
[2026-10-20 08:46:02,813.813 INFO    ] 200
[2026-10-20 08:46:02,817.817 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:46:02,862.862 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:46:02,911.911 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:46:02,914.914 INFO    ] No camera update needed
[2026-10-20 08:46:02,917.917 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:46:02,920.920 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:46:02,925.925 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:46:02,930.930 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:46:04,972.972 INFO    ] ================================================
[2026-10-20 08:46:04,989.989 INFO    ] Launching Daemon at Tue Oct 20 08:46:04 IST 2026
[2026-10-20 08:46:05,000.000 INFO    ] ================================================
[2026-10-20 08:46:05,574.574 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:46:05
[2026-10-20 08:46:06,158.158 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:46:06,428.428 INFO    ] Initializing speech engine...
[2026-10-20 08:46:06,437.437 INFO    ] 2026-10-20 08:46:06
[2026-10-20 08:46:06,684.684 INFO    ] 2026-10-20 08:46:06
[2026-10-20 08:46:06,719.719 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:46:06,969.969 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:46:06,977.977 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:46:07,184.184 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:46:07,239.239 INFO    ] time= 20/10/2026 08:46:07
[2026-10-20 08:46:07,245.245 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:46:07,263.263 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:46:07,392.392 INFO    ] No existing commands found in stream
[2026-10-20 08:46:12,406.406 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:46:12,409.409 INFO    ] Waiting 2.69 seconds before fallback handling...
[2026-10-20 08:46:15,603.603 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 08:46:15,606.606 INFO    ] Checking for system updates...
[2026-10-20 08:46:15,642.642 INFO    ] 200
[2026-10-20 08:46:15,644.644 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:46:15,696.696 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:46:15,699.699 INFO    ] No update needed
[2026-10-20 08:46:15,701.701 INFO    ] Checking for camera pi updates...
[2026-10-20 08:46:15,735.735 INFO    ] 200
[2026-10-20 08:46:15,737.737 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:46:15,778.778 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:46:15,829.829 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:46:15,831.831 INFO    ] No camera update needed
[2026-10-20 08:46:15,834.834 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:46:15,836.836 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:46:15,841.841 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:46:15,846.846 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:46:17,885.885 INFO    ] ================================================
[2026-10-20 08:46:17,901.901 INFO    ] Launching Daemon at Tue Oct 20 08:46:17 IST 2026
[2026-10-20 08:46:17,913.913 INFO    ] ================================================
[2026-10-20 08:46:18,483.483 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:46:18
[2026-10-20 08:46:19,066.066 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:46:19,341.341 INFO    ] Initializing speech engine...
[2026-10-20 08:46:19,351.351 INFO    ] 2026-10-20 08:46:19
[2026-10-20 08:46:19,601.601 INFO    ] 2026-10-20 08:46:19
[2026-10-20 08:46:19,636.636 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:46:19,896.896 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:46:19,905.905 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:46:20,049.049 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:46:20,109.109 INFO    ] time= 20/10/2026 08:46:20
[2026-10-20 08:46:20,163.163 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:46:20,179.179 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:46:20,333.333 INFO    ] No existing commands found in stream
[2026-10-20 08:46:25,348.348 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:46:25,351.351 INFO    ] Waiting 3.24 seconds before fallback handling...
[2026-10-20 08:46:29,075.075 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:46:29,078.078 INFO    ] Checking for system updates...
[2026-10-20 08:46:29,113.113 INFO    ] 200
[2026-10-20 08:46:29,116.116 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:46:29,177.177 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:46:29,180.180 INFO    ] No update needed
[2026-10-20 08:46:29,182.182 INFO    ] Checking for camera pi updates...
[2026-10-20 08:46:29,216.216 INFO    ] 200
[2026-10-20 08:46:29,218.218 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:46:29,259.259 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:46:29,314.314 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:46:29,316.316 INFO    ] No camera update needed
[2026-10-20 08:46:29,319.319 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:46:29,321.321 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:46:29,326.326 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:46:29,331.331 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:46:31,372.372 INFO    ] ================================================
[2026-10-20 08:46:31,388.388 INFO    ] Launching Daemon at Tue Oct 20 08:46:31 IST 2026
[2026-10-20 08:46:31,399.399 INFO    ] ================================================
[2026-10-20 08:46:32,108.108 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:46:32
[2026-10-20 08:46:32,807.807 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:46:33,081.081 INFO    ] Initializing speech engine...
[2026-10-20 08:46:33,090.090 INFO    ] 2026-10-20 08:46:33
[2026-10-20 08:46:33,337.337 INFO    ] 2026-10-20 08:46:33
[2026-10-20 08:46:33,372.372 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:46:33,611.611 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:46:33,627.627 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:46:33,767.767 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:46:33,833.833 INFO    ] time= 20/10/2026 08:46:33
[2026-10-20 08:46:33,887.887 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:46:33,900.900 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:46:34,030.030 INFO    ] No existing commands found in stream
[2026-10-20 08:46:39,052.052 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:46:39,055.055 INFO    ] Waiting 0.99 seconds before fallback handling...
[2026-10-20 08:46:40,558.558 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 08:46:40,561.561 INFO    ] Checking for system updates...
[2026-10-20 08:46:40,597.597 INFO    ] 200
[2026-10-20 08:46:40,600.600 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:46:40,654.654 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:46:40,656.656 INFO    ] No update needed
[2026-10-20 08:46:40,659.659 INFO    ] Checking for camera pi updates...
[2026-10-20 08:46:40,692.692 INFO    ] 200
[2026-10-20 08:46:40,695.695 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:46:40,740.740 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:46:40,792.792 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:46:40,794.794 INFO    ] No camera update needed
[2026-10-20 08:46:40,796.796 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:46:40,799.799 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:46:40,804.804 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:46:40,810.810 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:46:42,848.848 INFO    ] ================================================
[2026-10-20 08:46:42,863.863 INFO    ] Launching Daemon at Tue Oct 20 08:46:42 IST 2026
[2026-10-20 08:46:42,874.874 INFO    ] ================================================
[2026-10-20 08:46:43,484.484 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:46:43
[2026-10-20 08:46:44,153.153 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:46:44,460.460 INFO    ] Initializing speech engine...
[2026-10-20 08:46:44,471.471 INFO    ] 2026-10-20 08:46:44
[2026-10-20 08:46:44,777.777 INFO    ] 2026-10-20 08:46:44
[2026-10-20 08:46:44,865.865 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:46:45,078.078 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:46:45,083.083 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:46:45,272.272 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:46:45,285.285 INFO    ] time= 20/10/2026 08:46:45
[2026-10-20 08:46:45,304.304 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:46:45,335.335 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:46:45,441.441 INFO    ] No existing commands found in stream
[2026-10-20 08:46:50,470.470 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:46:50,473.473 INFO    ] Waiting 1.93 seconds before fallback handling...
[2026-10-20 08:46:52,937.937 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:46:52,940.940 INFO    ] Checking for system updates...
[2026-10-20 08:46:52,977.977 INFO    ] 200
[2026-10-20 08:46:52,979.979 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:46:53,032.032 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:46:53,034.034 INFO    ] No update needed
[2026-10-20 08:46:53,036.036 INFO    ] Checking for camera pi updates...
[2026-10-20 08:46:53,071.071 INFO    ] 200
[2026-10-20 08:46:53,073.073 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:46:53,113.113 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:46:53,166.166 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:46:53,169.169 INFO    ] No camera update needed
[2026-10-20 08:46:53,171.171 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:46:53,173.173 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:46:53,179.179 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:46:53,184.184 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:46:55,230.230 INFO    ] ================================================
[2026-10-20 08:46:55,245.245 INFO    ] Launching Daemon at Tue Oct 20 08:46:55 IST 2026
[2026-10-20 08:46:55,257.257 INFO    ] ================================================
[2026-10-20 08:46:55,822.822 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:46:55
[2026-10-20 08:46:56,405.405 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:46:56,687.687 INFO    ] Initializing speech engine...
[2026-10-20 08:46:56,696.696 INFO    ] 2026-10-20 08:46:56
[2026-10-20 08:46:56,963.963 INFO    ] 2026-10-20 08:46:56
[2026-10-20 08:46:56,999.999 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:46:57,194.194 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:46:57,207.207 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:46:57,349.349 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:46:57,372.372 INFO    ] time= 20/10/2026 08:46:57
[2026-10-20 08:46:57,379.379 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:46:57,384.384 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:46:57,473.473 INFO    ] No existing commands found in stream
[2026-10-20 08:47:02,501.501 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:47:02,504.504 INFO    ] Waiting 3.03 seconds before fallback handling...
[2026-10-20 08:47:06,046.046 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 08:47:06,049.049 INFO    ] Checking for system updates...
[2026-10-20 08:47:06,088.088 INFO    ] 200
[2026-10-20 08:47:06,091.091 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:47:06,144.144 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:47:06,146.146 INFO    ] No update needed
[2026-10-20 08:47:06,148.148 INFO    ] Checking for camera pi updates...
[2026-10-20 08:47:06,181.181 INFO    ] 200
[2026-10-20 08:47:06,184.184 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:47:06,224.224 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:47:06,280.280 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:47:06,283.283 INFO    ] No camera update needed
[2026-10-20 08:47:06,285.285 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:47:06,287.287 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:47:06,293.293 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:47:06,298.298 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:47:08,339.339 INFO    ] ================================================
[2026-10-20 08:47:08,354.354 INFO    ] Launching Daemon at Tue Oct 20 08:47:08 IST 2026
[2026-10-20 08:47:08,365.365 INFO    ] ================================================
[2026-10-20 08:47:08,933.933 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:47:08
[2026-10-20 08:47:09,517.517 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:47:09,783.783 INFO    ] Initializing speech engine...
[2026-10-20 08:47:09,801.801 INFO    ] 2026-10-20 08:47:09
[2026-10-20 08:47:10,053.053 INFO    ] 2026-10-20 08:47:10
[2026-10-20 08:47:10,087.087 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:47:10,351.351 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:47:10,366.366 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:47:10,552.552 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:47:10,602.602 INFO    ] time= 20/10/2026 08:47:10
[2026-10-20 08:47:10,645.645 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:47:10,663.663 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:47:10,798.798 INFO    ] No existing commands found in stream
[2026-10-20 08:47:15,813.813 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:47:15,817.817 INFO    ] Waiting 0.56 seconds before fallback handling...
[2026-10-20 08:47:16,875.875 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:47:16,878.878 INFO    ] Checking for system updates...
[2026-10-20 08:47:16,917.917 INFO    ] 200
[2026-10-20 08:47:16,920.920 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:47:16,974.974 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:47:16,977.977 INFO    ] No update needed
[2026-10-20 08:47:16,980.980 INFO    ] Checking for camera pi updates...
[2026-10-20 08:47:17,015.015 INFO    ] 200
[2026-10-20 08:47:17,018.018 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:47:17,060.060 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:47:17,107.107 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:47:17,110.110 INFO    ] No camera update needed
[2026-10-20 08:47:17,113.113 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:47:17,116.116 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:47:17,123.123 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:47:17,129.129 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:47:19,169.169 INFO    ] ================================================
[2026-10-20 08:47:19,184.184 INFO    ] Launching Daemon at Tue Oct 20 08:47:19 IST 2026
[2026-10-20 08:47:19,194.194 INFO    ] ================================================
[2026-10-20 08:47:19,764.764 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:47:19
[2026-10-20 08:47:20,345.345 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:47:20,613.613 INFO    ] Initializing speech engine...
[2026-10-20 08:47:20,622.622 INFO    ] 2026-10-20 08:47:20
[2026-10-20 08:47:20,867.867 INFO    ] 2026-10-20 08:47:20
[2026-10-20 08:47:20,902.902 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:47:21,154.154 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:47:21,164.164 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:47:21,344.344 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:47:21,404.404 INFO    ] time= 20/10/2026 08:47:21
[2026-10-20 08:47:21,427.427 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:47:21,433.433 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:47:21,575.575 INFO    ] No existing commands found in stream
[2026-10-20 08:47:26,589.589 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:47:26,592.592 INFO    ] Waiting 0.34 seconds before fallback handling...
[2026-10-20 08:47:27,428.428 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 08:47:27,431.431 INFO    ] Checking for system updates...
[2026-10-20 08:47:27,467.467 INFO    ] 200
[2026-10-20 08:47:27,470.470 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:47:27,522.522 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:47:27,524.524 INFO    ] No update needed
[2026-10-20 08:47:27,527.527 INFO    ] Checking for camera pi updates...
[2026-10-20 08:47:27,560.560 INFO    ] 200
[2026-10-20 08:47:27,563.563 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:47:27,603.603 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:47:27,638.638 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:47:27,640.640 INFO    ] No camera update needed
[2026-10-20 08:47:27,643.643 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:47:27,645.645 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:47:27,650.650 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:47:27,655.655 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:47:29,695.695 INFO    ] ================================================
[2026-10-20 08:47:29,710.710 INFO    ] Launching Daemon at Tue Oct 20 08:47:29 IST 2026
[2026-10-20 08:47:29,720.720 INFO    ] ================================================
[2026-10-20 08:47:30,296.296 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:47:30
[2026-10-20 08:47:30,881.881 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:47:31,137.137 INFO    ] Initializing speech engine...
[2026-10-20 08:47:31,145.145 INFO    ] 2026-10-20 08:47:31
[2026-10-20 08:47:31,447.447 INFO    ] 2026-10-20 08:47:31
[2026-10-20 08:47:31,496.496 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:47:31,778.778 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:47:31,785.785 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:47:32,019.019 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:47:32,064.064 INFO    ] time= 20/10/2026 08:47:32
[2026-10-20 08:47:32,084.084 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:47:32,111.111 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:47:32,248.248 INFO    ] No existing commands found in stream
[2026-10-20 08:47:37,279.279 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:47:37,282.282 INFO    ] Waiting 0.91 seconds before fallback handling...
[2026-10-20 08:47:38,782.782 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:47:38,785.785 INFO    ] Checking for system updates...
[2026-10-20 08:47:38,823.823 INFO    ] 200
[2026-10-20 08:47:38,826.826 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:47:38,879.879 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:47:38,881.881 INFO    ] No update needed
[2026-10-20 08:47:38,884.884 INFO    ] Checking for camera pi updates...
[2026-10-20 08:47:38,919.919 INFO    ] 200
[2026-10-20 08:47:38,922.922 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:47:38,967.967 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:47:39,114.114 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:47:39,116.116 INFO    ] No camera update needed
[2026-10-20 08:47:39,118.118 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:47:39,121.121 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:47:39,126.126 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:47:39,131.131 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:47:41,171.171 INFO    ] ================================================
[2026-10-20 08:47:41,186.186 INFO    ] Launching Daemon at Tue Oct 20 08:47:41 IST 2026
[2026-10-20 08:47:41,197.197 INFO    ] ================================================
[2026-10-20 08:47:41,859.859 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:47:41
[2026-10-20 08:47:42,541.541 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:47:42,855.855 INFO    ] Initializing speech engine...
[2026-10-20 08:47:42,868.868 INFO    ] 2026-10-20 08:47:42
[2026-10-20 08:47:43,180.180 INFO    ] 2026-10-20 08:47:43
[2026-10-20 08:47:43,247.247 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:47:43,484.484 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:47:43,492.492 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:47:43,691.691 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:47:43,698.698 INFO    ] time= 20/10/2026 08:47:43
[2026-10-20 08:47:43,716.716 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:47:43,723.723 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:47:43,854.854 INFO    ] No existing commands found in stream
[2026-10-20 08:47:48,870.870 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:47:48,872.872 INFO    ] Waiting 3.97 seconds before fallback handling...
[2026-10-20 08:47:53,339.339 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:47:53,342.342 INFO    ] Checking for system updates...
[2026-10-20 08:47:53,378.378 INFO    ] 200
[2026-10-20 08:47:53,381.381 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:47:53,434.434 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:47:53,437.437 INFO    ] No update needed
[2026-10-20 08:47:53,439.439 INFO    ] Checking for camera pi updates...
[2026-10-20 08:47:53,474.474 INFO    ] 200
[2026-10-20 08:47:53,476.476 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:47:53,521.521 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:47:53,566.566 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:47:53,568.568 INFO    ] No camera update needed
[2026-10-20 08:47:53,571.571 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:47:53,573.573 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:47:53,579.579 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:47:53,584.584 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:47:55,624.624 INFO    ] ================================================
[2026-10-20 08:47:55,639.639 INFO    ] Launching Daemon at Tue Oct 20 08:47:55 IST 2026
[2026-10-20 08:47:55,650.650 INFO    ] ================================================
[2026-10-20 08:47:56,237.237 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:47:56
[2026-10-20 08:47:56,823.823 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:47:57,096.096 INFO    ] Initializing speech engine...
[2026-10-20 08:47:57,104.104 INFO    ] 2026-10-20 08:47:57
[2026-10-20 08:47:57,350.350 INFO    ] 2026-10-20 08:47:57
[2026-10-20 08:47:57,385.385 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:47:57,644.644 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:47:57,649.649 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:47:57,886.886 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:47:57,912.912 INFO    ] time= 20/10/2026 08:47:57
[2026-10-20 08:47:57,917.917 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:47:57,933.933 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:47:58,071.071 INFO    ] No existing commands found in stream
[2026-10-20 08:48:03,090.090 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:48:03,092.092 INFO    ] Waiting 3.26 seconds before fallback handling...
[2026-10-20 08:48:06,836.836 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:48:06,839.839 INFO    ] Checking for system updates...
[2026-10-20 08:48:06,874.874 INFO    ] 200
[2026-10-20 08:48:06,877.877 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:48:06,928.928 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:48:06,931.931 INFO    ] No update needed
[2026-10-20 08:48:06,933.933 INFO    ] Checking for camera pi updates...
[2026-10-20 08:48:06,966.966 INFO    ] 200
[2026-10-20 08:48:06,969.969 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:48:07,013.013 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:48:07,064.064 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:48:07,067.067 INFO    ] No camera update needed
[2026-10-20 08:48:07,069.069 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:48:07,071.071 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:48:07,077.077 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:48:07,082.082 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:48:09,122.122 INFO    ] ================================================
[2026-10-20 08:48:09,137.137 INFO    ] Launching Daemon at Tue Oct 20 08:48:09 IST 2026
[2026-10-20 08:48:09,148.148 INFO    ] ================================================
[2026-10-20 08:48:09,733.733 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:48:09
[2026-10-20 08:48:10,350.350 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:48:10,625.625 INFO    ] Initializing speech engine...
[2026-10-20 08:48:10,634.634 INFO    ] 2026-10-20 08:48:10
[2026-10-20 08:48:10,897.897 INFO    ] 2026-10-20 08:48:10
[2026-10-20 08:48:10,927.927 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:48:11,173.173 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:48:11,182.182 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:48:11,364.364 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:48:11,429.429 INFO    ] time= 20/10/2026 08:48:11
[2026-10-20 08:48:11,455.455 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:48:11,461.461 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:48:11,630.630 INFO    ] No existing commands found in stream
[2026-10-20 08:48:16,655.655 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:48:16,658.658 INFO    ] Waiting 1.71 seconds before fallback handling...
[2026-10-20 08:48:18,891.891 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 08:48:18,893.893 INFO    ] Checking for system updates...
[2026-10-20 08:48:18,930.930 INFO    ] 200
[2026-10-20 08:48:18,932.932 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:48:18,984.984 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:48:18,986.986 INFO    ] No update needed
[2026-10-20 08:48:18,989.989 INFO    ] Checking for camera pi updates...
[2026-10-20 08:48:19,023.023 INFO    ] 200
[2026-10-20 08:48:19,025.025 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:48:19,065.065 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:48:19,120.120 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:48:19,122.122 INFO    ] No camera update needed
[2026-10-20 08:48:19,124.124 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:48:19,127.127 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:48:19,132.132 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:48:19,137.137 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:48:21,177.177 INFO    ] ================================================
[2026-10-20 08:48:21,193.193 INFO    ] Launching Daemon at Tue Oct 20 08:48:21 IST 2026
[2026-10-20 08:48:21,204.204 INFO    ] ================================================
[2026-10-20 08:48:21,869.869 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:48:21
[2026-10-20 08:48:22,546.546 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:48:22,851.851 INFO    ] Initializing speech engine...
[2026-10-20 08:48:22,863.863 INFO    ] 2026-10-20 08:48:22
[2026-10-20 08:48:23,144.144 INFO    ] 2026-10-20 08:48:23
[2026-10-20 08:48:23,189.189 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:48:23,416.416 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:48:23,423.423 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:48:23,662.662 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:48:23,684.684 INFO    ] time= 20/10/2026 08:48:23
[2026-10-20 08:48:23,699.699 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:48:23,710.710 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:48:23,846.846 INFO    ] No existing commands found in stream
[2026-10-20 08:48:28,878.878 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:48:28,882.882 INFO    ] Waiting 1.15 seconds before fallback handling...
[2026-10-20 08:48:30,620.620 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 08:48:30,624.624 INFO    ] Checking for system updates...
[2026-10-20 08:48:30,661.661 INFO    ] 200
[2026-10-20 08:48:30,664.664 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:48:30,719.719 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:48:30,722.722 INFO    ] No update needed
[2026-10-20 08:48:30,724.724 INFO    ] Checking for camera pi updates...
[2026-10-20 08:48:30,758.758 INFO    ] 200
[2026-10-20 08:48:30,761.761 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:48:30,806.806 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:48:30,850.850 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:48:30,852.852 INFO    ] No camera update needed
[2026-10-20 08:48:30,855.855 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:48:30,857.857 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:48:30,862.862 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:48:30,868.868 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:48:32,909.909 INFO    ] ================================================
[2026-10-20 08:48:32,924.924 INFO    ] Launching Daemon at Tue Oct 20 08:48:32 IST 2026
[2026-10-20 08:48:32,935.935 INFO    ] ================================================
[2026-10-20 08:48:33,562.562 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:48:33
[2026-10-20 08:48:34,154.154 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:48:34,433.433 INFO    ] Initializing speech engine...
[2026-10-20 08:48:34,446.446 INFO    ] 2026-10-20 08:48:34
[2026-10-20 08:48:34,714.714 INFO    ] 2026-10-20 08:48:34
[2026-10-20 08:48:34,750.750 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:48:34,949.949 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:48:34,963.963 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:48:35,114.114 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:48:35,135.135 INFO    ] time= 20/10/2026 08:48:35
[2026-10-20 08:48:35,140.140 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:48:35,146.146 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:48:35,263.263 INFO    ] No existing commands found in stream
[2026-10-20 08:48:40,299.299 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:48:40,301.301 INFO    ] Waiting 3.71 seconds before fallback handling...
[2026-10-20 08:48:44,512.512 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:48:44,515.515 INFO    ] Checking for system updates...
[2026-10-20 08:48:44,552.552 INFO    ] 200
[2026-10-20 08:48:44,555.555 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:48:44,607.607 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:48:44,610.610 INFO    ] No update needed
[2026-10-20 08:48:44,613.613 INFO    ] Checking for camera pi updates...
[2026-10-20 08:48:44,651.651 INFO    ] 200
[2026-10-20 08:48:44,654.654 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:48:44,705.705 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:48:44,752.752 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:48:44,755.755 INFO    ] No camera update needed
[2026-10-20 08:48:44,758.758 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:48:44,760.760 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:48:44,767.767 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:48:44,773.773 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:48:46,814.814 INFO    ] ================================================
[2026-10-20 08:48:46,829.829 INFO    ] Launching Daemon at Tue Oct 20 08:48:46 IST 2026
[2026-10-20 08:48:46,839.839 INFO    ] ================================================
[2026-10-20 08:48:47,409.409 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:48:47
[2026-10-20 08:48:47,999.999 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:48:48,257.257 INFO    ] Initializing speech engine...
[2026-10-20 08:48:48,264.264 INFO    ] 2026-10-20 08:48:48
[2026-10-20 08:48:48,541.541 INFO    ] 2026-10-20 08:48:48
[2026-10-20 08:48:48,576.576 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:48:48,769.769 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:48:48,808.808 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:48:48,967.967 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:48:49,009.009 INFO    ] time= 20/10/2026 08:48:48
[2026-10-20 08:48:49,058.058 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:48:49,100.100 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:48:49,237.237 INFO    ] No existing commands found in stream
[2026-10-20 08:48:54,257.257 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:48:54,260.260 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-10-20 08:48:56,542.542 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 08:48:56,545.545 INFO    ] Checking for system updates...
[2026-10-20 08:48:56,581.581 INFO    ] 200
[2026-10-20 08:48:56,584.584 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:48:56,641.641 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:48:56,643.643 INFO    ] No update needed
[2026-10-20 08:48:56,646.646 INFO    ] Checking for camera pi updates...
[2026-10-20 08:48:56,691.691 INFO    ] 200
[2026-10-20 08:48:56,693.693 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:48:56,736.736 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:48:56,783.783 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:48:56,786.786 INFO    ] No camera update needed
[2026-10-20 08:48:56,789.789 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:48:56,792.792 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:48:56,798.798 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:48:56,804.804 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:48:58,846.846 INFO    ] ================================================
[2026-10-20 08:48:58,862.862 INFO    ] Launching Daemon at Tue Oct 20 08:48:58 IST 2026
[2026-10-20 08:48:58,874.874 INFO    ] ================================================
[2026-10-20 08:48:59,555.555 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:48:59
[2026-10-20 08:49:00,265.265 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:49:00,588.588 INFO    ] Initializing speech engine...
[2026-10-20 08:49:00,604.604 INFO    ] 2026-10-20 08:49:00
[2026-10-20 08:49:00,886.886 INFO    ] 2026-10-20 08:49:00
[2026-10-20 08:49:00,939.939 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:49:01,171.171 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:49:01,182.182 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:49:01,309.309 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:49:01,323.323 INFO    ] time= 20/10/2026 08:49:01
[2026-10-20 08:49:01,327.327 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:49:01,352.352 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:49:01,443.443 INFO    ] No existing commands found in stream
[2026-10-20 08:49:06,464.464 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:49:06,467.467 INFO    ] Waiting 0.53 seconds before fallback handling...
[2026-10-20 08:49:07,596.596 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:49:07,600.600 INFO    ] Checking for system updates...
[2026-10-20 08:49:07,637.637 INFO    ] 200
[2026-10-20 08:49:07,640.640 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:49:07,694.694 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:49:07,697.697 INFO    ] No update needed
[2026-10-20 08:49:07,700.700 INFO    ] Checking for camera pi updates...
[2026-10-20 08:49:07,734.734 INFO    ] 200
[2026-10-20 08:49:07,737.737 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:49:07,778.778 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:49:07,829.829 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:49:07,832.832 INFO    ] No camera update needed
[2026-10-20 08:49:07,835.835 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:49:07,837.837 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:49:07,844.844 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:49:07,850.850 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:49:09,890.890 INFO    ] ================================================
[2026-10-20 08:49:09,905.905 INFO    ] Launching Daemon at Tue Oct 20 08:49:09 IST 2026
[2026-10-20 08:49:09,916.916 INFO    ] ================================================
[2026-10-20 08:49:10,504.504 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:49:10
[2026-10-20 08:49:11,108.108 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:49:11,371.371 INFO    ] Initializing speech engine...
[2026-10-20 08:49:11,379.379 INFO    ] 2026-10-20 08:49:11
[2026-10-20 08:49:11,680.680 INFO    ] 2026-10-20 08:49:11
[2026-10-20 08:49:11,715.715 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:49:11,919.919 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:49:11,934.934 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:49:12,104.104 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:49:12,110.110 INFO    ] time= 20/10/2026 08:49:12
[2026-10-20 08:49:12,117.117 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:49:12,149.149 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:49:12,282.282 INFO    ] No existing commands found in stream
[2026-10-20 08:49:17,307.307 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:49:17,311.311 INFO    ] Waiting 1.92 seconds before fallback handling...
[2026-10-20 08:49:19,773.773 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:49:19,776.776 INFO    ] Checking for system updates...
[2026-10-20 08:49:19,812.812 INFO    ] 200
[2026-10-20 08:49:19,815.815 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:49:19,872.872 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:49:19,874.874 INFO    ] No update needed
[2026-10-20 08:49:19,876.876 INFO    ] Checking for camera pi updates...
[2026-10-20 08:49:19,910.910 INFO    ] 200
[2026-10-20 08:49:19,913.913 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:49:19,955.955 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:49:20,000.000 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:49:20,003.003 INFO    ] No camera update needed
[2026-10-20 08:49:20,005.005 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:49:20,007.007 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:49:20,012.012 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:49:20,017.017 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:49:22,057.057 INFO    ] ================================================
[2026-10-20 08:49:22,072.072 INFO    ] Launching Daemon at Tue Oct 20 08:49:22 IST 2026
[2026-10-20 08:49:22,083.083 INFO    ] ================================================
[2026-10-20 08:49:22,746.746 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:49:22
[2026-10-20 08:49:23,429.429 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:49:23,740.740 INFO    ] Initializing speech engine...
[2026-10-20 08:49:23,752.752 INFO    ] 2026-10-20 08:49:23
[2026-10-20 08:49:24,061.061 INFO    ] 2026-10-20 08:49:24
[2026-10-20 08:49:24,147.147 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:49:24,368.368 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:49:24,429.429 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:49:24,589.589 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:49:24,612.612 INFO    ] time= 20/10/2026 08:49:24
[2026-10-20 08:49:24,623.623 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:49:24,660.660 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:49:24,823.823 INFO    ] No existing commands found in stream
[2026-10-20 08:49:29,839.839 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:49:29,842.842 INFO    ] Waiting 0.50 seconds before fallback handling...
[2026-10-20 08:49:30,886.886 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:49:30,889.889 INFO    ] Checking for system updates...
[2026-10-20 08:49:30,927.927 INFO    ] 200
[2026-10-20 08:49:30,930.930 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:49:30,983.983 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:49:30,985.985 INFO    ] No update needed
[2026-10-20 08:49:30,988.988 INFO    ] Checking for camera pi updates...
[2026-10-20 08:49:31,023.023 INFO    ] 200
[2026-10-20 08:49:31,025.025 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:49:31,072.072 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:49:31,134.134 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:49:31,136.136 INFO    ] No camera update needed
[2026-10-20 08:49:31,139.139 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:49:31,142.142 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:49:31,148.148 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:49:31,154.154 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:49:33,197.197 INFO    ] ================================================
[2026-10-20 08:49:33,212.212 INFO    ] Launching Daemon at Tue Oct 20 08:49:33 IST 2026
[2026-10-20 08:49:33,223.223 INFO    ] ================================================
[2026-10-20 08:49:33,886.886 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:49:33
[2026-10-20 08:49:34,567.567 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:49:34,886.886 INFO    ] Initializing speech engine...
[2026-10-20 08:49:34,893.893 INFO    ] 2026-10-20 08:49:34
[2026-10-20 08:49:35,209.209 INFO    ] 2026-10-20 08:49:35
[2026-10-20 08:49:35,295.295 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:49:35,479.479 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:49:35,513.513 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:49:35,720.720 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:49:35,728.728 INFO    ] time= 20/10/2026 08:49:35
[2026-10-20 08:49:35,747.747 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:49:35,777.777 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:49:35,906.906 INFO    ] No existing commands found in stream
[2026-10-20 08:49:40,938.938 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:49:40,941.941 INFO    ] Waiting 3.58 seconds before fallback handling...
[2026-10-20 08:49:45,086.086 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 08:49:45,089.089 INFO    ] Checking for system updates...
[2026-10-20 08:49:45,126.126 INFO    ] 200
[2026-10-20 08:49:45,129.129 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:49:45,183.183 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:49:45,186.186 INFO    ] No update needed
[2026-10-20 08:49:45,188.188 INFO    ] Checking for camera pi updates...
[2026-10-20 08:49:45,224.224 INFO    ] 200
[2026-10-20 08:49:45,227.227 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:49:45,268.268 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:49:45,413.413 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:49:45,416.416 INFO    ] No camera update needed
[2026-10-20 08:49:45,419.419 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:49:45,422.422 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:49:45,428.428 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:49:45,434.434 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:49:47,475.475 INFO    ] ================================================
[2026-10-20 08:49:47,490.490 INFO    ] Launching Daemon at Tue Oct 20 08:49:47 IST 2026
[2026-10-20 08:49:47,501.501 INFO    ] ================================================
[2026-10-20 08:49:48,073.073 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:49:48
[2026-10-20 08:49:48,662.662 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:49:48,936.936 INFO    ] Initializing speech engine...
[2026-10-20 08:49:48,945.945 INFO    ] 2026-10-20 08:49:48
[2026-10-20 08:49:49,192.192 INFO    ] 2026-10-20 08:49:49
[2026-10-20 08:49:49,227.227 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:49:49,483.483 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:49:49,487.487 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:49:49,627.627 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:49:49,687.687 INFO    ] time= 20/10/2026 08:49:49
[2026-10-20 08:49:49,746.746 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:49:49,755.755 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:49:49,904.904 INFO    ] No existing commands found in stream
[2026-10-20 08:49:54,931.931 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:49:54,934.934 INFO    ] Waiting 0.97 seconds before fallback handling...
[2026-10-20 08:49:56,434.434 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 08:49:56,437.437 INFO    ] Checking for system updates...
[2026-10-20 08:49:56,474.474 INFO    ] 200
[2026-10-20 08:49:56,477.477 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:49:56,531.531 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:49:56,534.534 INFO    ] No update needed
[2026-10-20 08:49:56,537.537 INFO    ] Checking for camera pi updates...
[2026-10-20 08:49:56,572.572 INFO    ] 200
[2026-10-20 08:49:56,575.575 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:49:56,616.616 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:49:56,672.672 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:49:56,675.675 INFO    ] No camera update needed
[2026-10-20 08:49:56,678.678 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:49:56,681.681 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:49:56,687.687 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:49:56,693.693 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:49:58,736.736 INFO    ] ================================================
[2026-10-20 08:49:58,753.753 INFO    ] Launching Daemon at Tue Oct 20 08:49:58 IST 2026
[2026-10-20 08:49:58,764.764 INFO    ] ================================================
[2026-10-20 08:49:59,331.331 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:49:59
[2026-10-20 08:49:59,915.915 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:50:00,184.184 INFO    ] Initializing speech engine...
[2026-10-20 08:50:00,194.194 INFO    ] 2026-10-20 08:50:00
[2026-10-20 08:50:00,438.438 INFO    ] 2026-10-20 08:50:00
[2026-10-20 08:50:00,477.477 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:50:00,679.679 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:50:00,694.694 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:50:00,866.866 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:50:00,872.872 INFO    ] time= 20/10/2026 08:50:00
[2026-10-20 08:50:00,876.876 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:50:00,892.892 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:50:01,030.030 INFO    ] No existing commands found in stream
[2026-10-20 08:50:06,055.055 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:50:06,057.057 INFO    ] Waiting 2.16 seconds before fallback handling...
[2026-10-20 08:50:08,696.696 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 08:50:08,699.699 INFO    ] Checking for system updates...
[2026-10-20 08:50:08,734.734 INFO    ] 200
[2026-10-20 08:50:08,736.736 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:50:08,791.791 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:50:08,794.794 INFO    ] No update needed
[2026-10-20 08:50:08,796.796 INFO    ] Checking for camera pi updates...
[2026-10-20 08:50:08,840.840 INFO    ] 200
[2026-10-20 08:50:08,842.842 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:50:08,889.889 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:50:08,946.946 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:50:08,948.948 INFO    ] No camera update needed
[2026-10-20 08:50:08,951.951 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:50:08,953.953 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:50:08,958.958 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:50:08,964.964 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:50:11,003.003 INFO    ] ================================================
[2026-10-20 08:50:11,018.018 INFO    ] Launching Daemon at Tue Oct 20 08:50:11 IST 2026
[2026-10-20 08:50:11,029.029 INFO    ] ================================================
[2026-10-20 08:50:11,623.623 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:50:11
[2026-10-20 08:50:12,214.214 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:50:12,487.487 INFO    ] Initializing speech engine...
[2026-10-20 08:50:12,500.500 INFO    ] 2026-10-20 08:50:12
[2026-10-20 08:50:12,751.751 INFO    ] 2026-10-20 08:50:12
[2026-10-20 08:50:12,786.786 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:50:13,043.043 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:50:13,052.052 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:50:13,201.201 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:50:13,256.256 INFO    ] time= 20/10/2026 08:50:13
[2026-10-20 08:50:13,313.313 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:50:13,319.319 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:50:13,464.464 INFO    ] No existing commands found in stream
[2026-10-20 08:50:18,476.476 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:50:18,479.479 INFO    ] Waiting 3.78 seconds before fallback handling...
[2026-10-20 08:50:22,753.753 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:50:22,755.755 INFO    ] Checking for system updates...
[2026-10-20 08:50:22,792.792 INFO    ] 200
[2026-10-20 08:50:22,794.794 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:50:22,846.846 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:50:22,848.848 INFO    ] No update needed
[2026-10-20 08:50:22,851.851 INFO    ] Checking for camera pi updates...
[2026-10-20 08:50:22,885.885 INFO    ] 200
[2026-10-20 08:50:22,887.887 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:50:22,927.927 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:50:22,976.976 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:50:22,979.979 INFO    ] No camera update needed
[2026-10-20 08:50:22,981.981 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:50:22,983.983 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:50:22,989.989 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:50:22,994.994 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:50:25,033.033 INFO    ] ================================================
[2026-10-20 08:50:25,048.048 INFO    ] Launching Daemon at Tue Oct 20 08:50:25 IST 2026
[2026-10-20 08:50:25,060.060 INFO    ] ================================================
[2026-10-20 08:50:25,630.630 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:50:25
[2026-10-20 08:50:26,218.218 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:50:26,488.488 INFO    ] Initializing speech engine...
[2026-10-20 08:50:26,497.497 INFO    ] 2026-10-20 08:50:26
[2026-10-20 08:50:26,743.743 INFO    ] 2026-10-20 08:50:26
[2026-10-20 08:50:26,784.784 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:50:27,030.030 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:50:27,040.040 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:50:27,179.179 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:50:27,244.244 INFO    ] time= 20/10/2026 08:50:27
[2026-10-20 08:50:27,293.293 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:50:27,308.308 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:50:27,454.454 INFO    ] No existing commands found in stream
[2026-10-20 08:50:32,471.471 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:50:32,477.477 INFO    ] Waiting 0.22 seconds before fallback handling...
[2026-10-20 08:50:33,222.222 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 08:50:33,225.225 INFO    ] Checking for system updates...
[2026-10-20 08:50:33,268.268 INFO    ] 200
[2026-10-20 08:50:33,271.271 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:50:33,341.341 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:50:33,344.344 INFO    ] No update needed
[2026-10-20 08:50:33,347.347 INFO    ] Checking for camera pi updates...
[2026-10-20 08:50:33,386.386 INFO    ] 200
[2026-10-20 08:50:33,389.389 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:50:33,443.443 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:50:33,477.477 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:50:33,481.481 INFO    ] No camera update needed
[2026-10-20 08:50:33,484.484 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:50:33,487.487 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:50:33,494.494 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:50:33,501.501 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:50:35,544.544 INFO    ] ================================================
[2026-10-20 08:50:35,559.559 INFO    ] Launching Daemon at Tue Oct 20 08:50:35 IST 2026
[2026-10-20 08:50:35,569.569 INFO    ] ================================================
[2026-10-20 08:50:36,137.137 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:50:36
[2026-10-20 08:50:36,720.720 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:50:36,988.988 INFO    ] Initializing speech engine...
[2026-10-20 08:50:36,997.997 INFO    ] 2026-10-20 08:50:36
[2026-10-20 08:50:37,242.242 INFO    ] 2026-10-20 08:50:37
[2026-10-20 08:50:37,277.277 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:50:37,528.528 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:50:37,537.537 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:50:37,764.764 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:50:37,797.797 INFO    ] time= 20/10/2026 08:50:37
[2026-10-20 08:50:37,803.803 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:50:37,821.821 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:50:37,941.941 INFO    ] No existing commands found in stream
[2026-10-20 08:50:42,962.962 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:50:42,964.964 INFO    ] Waiting 3.40 seconds before fallback handling...
[2026-10-20 08:50:46,910.910 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 08:50:46,912.912 INFO    ] Checking for system updates...
[2026-10-20 08:50:46,952.952 INFO    ] 200
[2026-10-20 08:50:46,954.954 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:50:47,007.007 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:50:47,010.010 INFO    ] No update needed
[2026-10-20 08:50:47,012.012 INFO    ] Checking for camera pi updates...
[2026-10-20 08:50:47,045.045 INFO    ] 200
[2026-10-20 08:50:47,048.048 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:50:47,088.088 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:50:47,140.140 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:50:47,143.143 INFO    ] No camera update needed
[2026-10-20 08:50:47,145.145 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:50:47,147.147 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:50:47,152.152 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:50:47,157.157 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:50:49,196.196 INFO    ] ================================================
[2026-10-20 08:50:49,211.211 INFO    ] Launching Daemon at Tue Oct 20 08:50:49 IST 2026
[2026-10-20 08:50:49,222.222 INFO    ] ================================================
[2026-10-20 08:50:49,805.805 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:50:49
[2026-10-20 08:50:50,392.392 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:50:50,652.652 INFO    ] Initializing speech engine...
[2026-10-20 08:50:50,667.667 INFO    ] 2026-10-20 08:50:50
[2026-10-20 08:50:50,953.953 INFO    ] 2026-10-20 08:50:50
[2026-10-20 08:50:50,992.992 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:50:51,217.217 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:50:51,225.225 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:50:51,384.384 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:50:51,430.430 INFO    ] time= 20/10/2026 08:50:51
[2026-10-20 08:50:51,457.457 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:50:51,469.469 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:50:51,607.607 INFO    ] No existing commands found in stream
[2026-10-20 08:50:56,619.619 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:50:56,622.622 INFO    ] Waiting 0.85 seconds before fallback handling...
[2026-10-20 08:50:57,973.973 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:50:57,975.975 INFO    ] Checking for system updates...
[2026-10-20 08:50:58,015.015 INFO    ] 200
[2026-10-20 08:50:58,018.018 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:50:58,072.072 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:50:58,074.074 INFO    ] No update needed
[2026-10-20 08:50:58,076.076 INFO    ] Checking for camera pi updates...
[2026-10-20 08:50:58,117.117 INFO    ] 200
[2026-10-20 08:50:58,120.120 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:50:58,161.161 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:50:58,220.220 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:50:58,222.222 INFO    ] No camera update needed
[2026-10-20 08:50:58,225.225 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:50:58,227.227 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:50:58,232.232 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:50:58,237.237 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:51:00,278.278 INFO    ] ================================================
[2026-10-20 08:51:00,294.294 INFO    ] Launching Daemon at Tue Oct 20 08:51:00 IST 2026
[2026-10-20 08:51:00,307.307 INFO    ] ================================================
[2026-10-20 08:51:01,007.007 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:51:01
[2026-10-20 08:51:01,722.722 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:51:02,379.379 INFO    ] Initializing speech engine...
[2026-10-20 08:51:02,383.383 INFO    ] 2026-10-20 08:51:02
[2026-10-20 08:51:02,755.755 INFO    ] 2026-10-20 08:51:02
[2026-10-20 08:51:02,795.795 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:51:03,028.028 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:51:03,036.036 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:51:03,220.220 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:51:03,224.224 INFO    ] time= 20/10/2026 08:51:03
[2026-10-20 08:51:03,227.227 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:51:03,298.298 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:51:03,383.383 INFO    ] No existing commands found in stream
[2026-10-20 08:51:08,414.414 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:51:08,417.417 INFO    ] Waiting 3.37 seconds before fallback handling...
[2026-10-20 08:51:12,306.306 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 08:51:12,309.309 INFO    ] Checking for system updates...
[2026-10-20 08:51:12,345.345 INFO    ] 200
[2026-10-20 08:51:12,348.348 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:51:12,404.404 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:51:12,406.406 INFO    ] No update needed
[2026-10-20 08:51:12,409.409 INFO    ] Checking for camera pi updates...
[2026-10-20 08:51:12,442.442 INFO    ] 200
[2026-10-20 08:51:12,445.445 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:51:12,484.484 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:51:12,531.531 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:51:12,533.533 INFO    ] No camera update needed
[2026-10-20 08:51:12,536.536 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:51:12,538.538 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:51:12,543.543 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:51:12,549.549 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:51:14,590.590 INFO    ] ================================================
[2026-10-20 08:51:14,606.606 INFO    ] Launching Daemon at Tue Oct 20 08:51:14 IST 2026
[2026-10-20 08:51:14,617.617 INFO    ] ================================================
[2026-10-20 08:51:15,182.182 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:51:15
[2026-10-20 08:51:15,764.764 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:51:16,034.034 INFO    ] Initializing speech engine...
[2026-10-20 08:51:16,042.042 INFO    ] 2026-10-20 08:51:16
[2026-10-20 08:51:16,297.297 INFO    ] 2026-10-20 08:51:16
[2026-10-20 08:51:16,333.333 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:51:16,585.585 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:51:16,594.594 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:51:16,733.733 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:51:16,798.798 INFO    ] time= 20/10/2026 08:51:16
[2026-10-20 08:51:16,854.854 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:51:16,861.861 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:51:17,004.004 INFO    ] No existing commands found in stream
[2026-10-20 08:51:22,017.017 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:51:22,020.020 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-10-20 08:51:25,688.688 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 08:51:25,691.691 INFO    ] Checking for system updates...
[2026-10-20 08:51:25,728.728 INFO    ] 200
[2026-10-20 08:51:25,731.731 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:51:25,784.784 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:51:25,787.787 INFO    ] No update needed
[2026-10-20 08:51:25,789.789 INFO    ] Checking for camera pi updates...
[2026-10-20 08:51:25,824.824 INFO    ] 200
[2026-10-20 08:51:25,826.826 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:51:25,874.874 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:51:25,923.923 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:51:25,926.926 INFO    ] No camera update needed
[2026-10-20 08:51:25,929.929 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:51:25,932.932 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:51:25,938.938 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:51:25,944.944 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:51:27,984.984 INFO    ] ================================================
[2026-10-20 08:51:28,999.999 INFO    ] Launching Daemon at Tue Oct 20 08:51:27 IST 2026
[2026-10-20 08:51:28,010.010 INFO    ] ================================================
[2026-10-20 08:51:28,667.667 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:51:28
[2026-10-20 08:51:29,329.329 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:51:29,583.583 INFO    ] Initializing speech engine...
[2026-10-20 08:51:29,596.596 INFO    ] 2026-10-20 08:51:29
[2026-10-20 08:51:29,883.883 INFO    ] 2026-10-20 08:51:29
[2026-10-20 08:51:29,920.920 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:51:30,121.121 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:51:30,135.135 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:51:30,302.302 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:51:30,308.308 INFO    ] time= 20/10/2026 08:51:30
[2026-10-20 08:51:30,315.315 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:51:30,320.320 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:51:30,458.458 INFO    ] No existing commands found in stream
[2026-10-20 08:51:35,478.478 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:51:35,481.481 INFO    ] Waiting 0.06 seconds before fallback handling...
[2026-10-20 08:51:36,052.052 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:51:36,055.055 INFO    ] Checking for system updates...
[2026-10-20 08:51:36,090.090 INFO    ] 200
[2026-10-20 08:51:36,092.092 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:51:36,152.152 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:51:36,155.155 INFO    ] No update needed
[2026-10-20 08:51:36,157.157 INFO    ] Checking for camera pi updates...
[2026-10-20 08:51:36,191.191 INFO    ] 200
[2026-10-20 08:51:36,193.193 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:51:36,241.241 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:51:36,291.291 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:51:36,294.294 INFO    ] No camera update needed
[2026-10-20 08:51:36,296.296 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:51:36,299.299 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:51:36,306.306 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:51:36,312.312 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:51:38,352.352 INFO    ] ================================================
[2026-10-20 08:51:38,368.368 INFO    ] Launching Daemon at Tue Oct 20 08:51:38 IST 2026
[2026-10-20 08:51:38,379.379 INFO    ] ================================================
[2026-10-20 08:51:39,053.053 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:51:39
[2026-10-20 08:51:39,744.744 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:51:40,055.055 INFO    ] Initializing speech engine...
[2026-10-20 08:51:40,067.067 INFO    ] 2026-10-20 08:51:40
[2026-10-20 08:51:40,348.348 INFO    ] 2026-10-20 08:51:40
[2026-10-20 08:51:40,395.395 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:51:40,645.645 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:51:40,651.651 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:51:40,856.856 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:51:40,891.891 INFO    ] time= 20/10/2026 08:51:40
[2026-10-20 08:51:40,907.907 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:51:40,916.916 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:51:41,046.046 INFO    ] No existing commands found in stream
[2026-10-20 08:51:46,060.060 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:51:46,064.064 INFO    ] Waiting 3.85 seconds before fallback handling...
[2026-10-20 08:51:50,430.430 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:51:50,432.432 INFO    ] Checking for system updates...
[2026-10-20 08:51:50,469.469 INFO    ] 200
[2026-10-20 08:51:50,472.472 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:51:50,526.526 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:51:50,529.529 INFO    ] No update needed
[2026-10-20 08:51:50,532.532 INFO    ] Checking for camera pi updates...
[2026-10-20 08:51:50,566.566 INFO    ] 200
[2026-10-20 08:51:50,569.569 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:51:50,611.611 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:51:50,760.760 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:51:50,763.763 INFO    ] No camera update needed
[2026-10-20 08:51:50,765.765 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:51:50,768.768 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:51:50,775.775 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:51:50,781.781 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:51:52,823.823 INFO    ] ================================================
[2026-10-20 08:51:52,839.839 INFO    ] Launching Daemon at Tue Oct 20 08:51:52 IST 2026
[2026-10-20 08:51:52,851.851 INFO    ] ================================================
[2026-10-20 08:51:53,524.524 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:51:53
[2026-10-20 08:51:54,216.216 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:51:54,529.529 INFO    ] Initializing speech engine...
[2026-10-20 08:51:54,543.543 INFO    ] 2026-10-20 08:51:54
[2026-10-20 08:51:54,826.826 INFO    ] 2026-10-20 08:51:54
[2026-10-20 08:51:54,873.873 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:51:55,160.160 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:51:55,166.166 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:51:55,359.359 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:51:55,378.378 INFO    ] time= 20/10/2026 08:51:55
[2026-10-20 08:51:55,394.394 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:51:55,419.419 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:51:55,541.541 INFO    ] No existing commands found in stream
[2026-10-20 08:52:00,572.572 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:52:00,576.576 INFO    ] Waiting 2.35 seconds before fallback handling...
[2026-10-20 08:52:03,467.467 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 08:52:03,471.471 INFO    ] Checking for system updates...
[2026-10-20 08:52:03,511.511 INFO    ] 200
[2026-10-20 08:52:03,514.514 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:52:03,581.581 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:52:03,583.583 INFO    ] No update needed
[2026-10-20 08:52:03,586.586 INFO    ] Checking for camera pi updates...
[2026-10-20 08:52:03,630.630 INFO    ] 200
[2026-10-20 08:52:03,632.632 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:52:03,680.680 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:52:03,738.738 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:52:03,741.741 INFO    ] No camera update needed
[2026-10-20 08:52:03,745.745 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:52:03,747.747 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:52:03,754.754 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:52:03,761.761 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:52:05,803.803 INFO    ] ================================================
[2026-10-20 08:52:05,819.819 INFO    ] Launching Daemon at Tue Oct 20 08:52:05 IST 2026
[2026-10-20 08:52:05,831.831 INFO    ] ================================================
[2026-10-20 08:52:06,401.401 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:52:06
[2026-10-20 08:52:06,988.988 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:52:07,260.260 INFO    ] Initializing speech engine...
[2026-10-20 08:52:07,269.269 INFO    ] 2026-10-20 08:52:07
[2026-10-20 08:52:07,519.519 INFO    ] 2026-10-20 08:52:07
[2026-10-20 08:52:07,554.554 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:52:07,812.812 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:52:07,822.822 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:52:07,956.956 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:52:07,993.993 INFO    ] time= 20/10/2026 08:52:07
[2026-10-20 08:52:08,052.052 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:52:08,091.091 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:52:08,240.240 INFO    ] No existing commands found in stream
[2026-10-20 08:52:13,254.254 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:52:13,257.257 INFO    ] Waiting 2.93 seconds before fallback handling...
[2026-10-20 08:52:16,712.712 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 08:52:16,714.714 INFO    ] Checking for system updates...
[2026-10-20 08:52:16,754.754 INFO    ] 200
[2026-10-20 08:52:16,756.756 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:52:16,810.810 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:52:16,812.812 INFO    ] No update needed
[2026-10-20 08:52:16,814.814 INFO    ] Checking for camera pi updates...
[2026-10-20 08:52:16,848.848 INFO    ] 200
[2026-10-20 08:52:16,851.851 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:52:16,891.891 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:52:16,938.938 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:52:16,940.940 INFO    ] No camera update needed
[2026-10-20 08:52:16,942.942 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:52:16,945.945 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:52:16,950.950 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:52:16,955.955 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:52:19,996.996 INFO    ] ================================================
[2026-10-20 08:52:19,011.011 INFO    ] Launching Daemon at Tue Oct 20 08:52:19 IST 2026
[2026-10-20 08:52:19,022.022 INFO    ] ================================================
[2026-10-20 08:52:19,600.600 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:52:19
[2026-10-20 08:52:20,215.215 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:52:20,487.487 INFO    ] Initializing speech engine...
[2026-10-20 08:52:20,497.497 INFO    ] 2026-10-20 08:52:20
[2026-10-20 08:52:20,747.747 INFO    ] 2026-10-20 08:52:20
[2026-10-20 08:52:20,782.782 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:52:21,045.045 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:52:21,051.051 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:52:21,187.187 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:52:21,252.252 INFO    ] time= 20/10/2026 08:52:21
[2026-10-20 08:52:21,311.311 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:52:21,322.322 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:52:21,470.470 INFO    ] No existing commands found in stream
[2026-10-20 08:52:26,485.485 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:52:26,488.488 INFO    ] Waiting 0.05 seconds before fallback handling...
[2026-10-20 08:52:27,068.068 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:52:27,071.071 INFO    ] Checking for system updates...
[2026-10-20 08:52:27,108.108 INFO    ] 200
[2026-10-20 08:52:27,110.110 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:52:27,162.162 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:52:27,165.165 INFO    ] No update needed
[2026-10-20 08:52:27,167.167 INFO    ] Checking for camera pi updates...
[2026-10-20 08:52:27,201.201 INFO    ] 200
[2026-10-20 08:52:27,204.204 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:52:27,243.243 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:52:27,293.293 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:52:27,296.296 INFO    ] No camera update needed
[2026-10-20 08:52:27,298.298 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:52:27,301.301 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:52:27,306.306 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:52:27,311.311 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:52:29,353.353 INFO    ] ================================================
[2026-10-20 08:52:29,368.368 INFO    ] Launching Daemon at Tue Oct 20 08:52:29 IST 2026
[2026-10-20 08:52:29,379.379 INFO    ] ================================================
[2026-10-20 08:52:29,949.949 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:52:29
[2026-10-20 08:52:30,536.536 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:52:30,796.796 INFO    ] Initializing speech engine...
[2026-10-20 08:52:30,815.815 INFO    ] 2026-10-20 08:52:30
[2026-10-20 08:52:31,065.065 INFO    ] 2026-10-20 08:52:31
[2026-10-20 08:52:31,100.100 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:52:31,362.362 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:52:31,367.367 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:52:31,521.521 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:52:31,586.586 INFO    ] time= 20/10/2026 08:52:31
[2026-10-20 08:52:31,635.635 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:52:31,671.671 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:52:31,818.818 INFO    ] No existing commands found in stream
[2026-10-20 08:52:36,843.843 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:52:36,846.846 INFO    ] Waiting 1.81 seconds before fallback handling...
[2026-10-20 08:52:39,207.207 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:52:39,210.210 INFO    ] Checking for system updates...
[2026-10-20 08:52:39,246.246 INFO    ] 200
[2026-10-20 08:52:39,248.248 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:52:39,300.300 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:52:39,303.303 INFO    ] No update needed
[2026-10-20 08:52:39,305.305 INFO    ] Checking for camera pi updates...
[2026-10-20 08:52:39,342.342 INFO    ] 200
[2026-10-20 08:52:39,345.345 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:52:39,390.390 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:52:39,456.456 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:52:39,459.459 INFO    ] No camera update needed
[2026-10-20 08:52:39,461.461 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:52:39,463.463 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:52:39,469.469 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:52:39,474.474 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:52:41,514.514 INFO    ] ================================================
[2026-10-20 08:52:41,529.529 INFO    ] Launching Daemon at Tue Oct 20 08:52:41 IST 2026
[2026-10-20 08:52:41,539.539 INFO    ] ================================================
[2026-10-20 08:52:42,111.111 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:52:42
[2026-10-20 08:52:42,705.705 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:52:42,980.980 INFO    ] Initializing speech engine...
[2026-10-20 08:52:42,995.995 INFO    ] 2026-10-20 08:52:42
[2026-10-20 08:52:43,264.264 INFO    ] 2026-10-20 08:52:43
[2026-10-20 08:52:43,299.299 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:52:43,553.553 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:52:43,563.563 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:52:43,701.701 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:52:43,761.761 INFO    ] time= 20/10/2026 08:52:43
[2026-10-20 08:52:43,776.776 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:52:43,778.778 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:52:43,894.894 INFO    ] No existing commands found in stream
[2026-10-20 08:52:48,906.906 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:52:48,909.909 INFO    ] Waiting 3.37 seconds before fallback handling...
[2026-10-20 08:52:52,770.770 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 08:52:52,773.773 INFO    ] Checking for system updates...
[2026-10-20 08:52:52,808.808 INFO    ] 200
[2026-10-20 08:52:52,810.810 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:52:52,871.871 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:52:52,873.873 INFO    ] No update needed
[2026-10-20 08:52:52,875.875 INFO    ] Checking for camera pi updates...
[2026-10-20 08:52:52,910.910 INFO    ] 200
[2026-10-20 08:52:52,912.912 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:52:52,952.952 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:52:53,003.003 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:52:53,005.005 INFO    ] No camera update needed
[2026-10-20 08:52:53,007.007 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:52:53,010.010 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:52:53,015.015 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:52:53,020.020 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:52:55,059.059 INFO    ] ================================================
[2026-10-20 08:52:55,075.075 INFO    ] Launching Daemon at Tue Oct 20 08:52:55 IST 2026
[2026-10-20 08:52:55,086.086 INFO    ] ================================================
[2026-10-20 08:52:55,655.655 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:52:55
[2026-10-20 08:52:56,237.237 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:52:56,509.509 INFO    ] Initializing speech engine...
[2026-10-20 08:52:56,517.517 INFO    ] 2026-10-20 08:52:56
[2026-10-20 08:52:56,773.773 INFO    ] 2026-10-20 08:52:56
[2026-10-20 08:52:56,802.802 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:52:57,046.046 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:52:57,055.055 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:52:57,276.276 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:52:57,312.312 INFO    ] time= 20/10/2026 08:52:57
[2026-10-20 08:52:57,318.318 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:52:57,335.335 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:52:57,450.450 INFO    ] No existing commands found in stream
[2026-10-20 08:53:02,474.474 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:53:02,478.478 INFO    ] Waiting 2.15 seconds before fallback handling...
[2026-10-20 08:53:05,142.142 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:53:05,144.144 INFO    ] Checking for system updates...
[2026-10-20 08:53:05,180.180 INFO    ] 200
[2026-10-20 08:53:05,183.183 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:53:05,234.234 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:53:05,236.236 INFO    ] No update needed
[2026-10-20 08:53:05,238.238 INFO    ] Checking for camera pi updates...
[2026-10-20 08:53:05,271.271 INFO    ] 200
[2026-10-20 08:53:05,274.274 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:53:05,314.314 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:53:05,357.357 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:53:05,360.360 INFO    ] No camera update needed
[2026-10-20 08:53:05,363.363 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:53:05,365.365 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:53:05,370.370 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:53:05,375.375 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:53:07,416.416 INFO    ] ================================================
[2026-10-20 08:53:07,431.431 INFO    ] Launching Daemon at Tue Oct 20 08:53:07 IST 2026
[2026-10-20 08:53:07,441.441 INFO    ] ================================================
[2026-10-20 08:53:08,026.026 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:53:08
[2026-10-20 08:53:08,616.616 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:53:08,888.888 INFO    ] Initializing speech engine...
[2026-10-20 08:53:08,895.895 INFO    ] 2026-10-20 08:53:08
[2026-10-20 08:53:09,154.154 INFO    ] 2026-10-20 08:53:09
[2026-10-20 08:53:09,207.207 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:53:09,435.435 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:53:09,441.441 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:53:09,669.669 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:53:09,705.705 INFO    ] time= 20/10/2026 08:53:09
[2026-10-20 08:53:09,707.707 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:53:09,725.725 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:53:09,846.846 INFO    ] No existing commands found in stream
[2026-10-20 08:53:14,872.872 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:53:14,874.874 INFO    ] Waiting 2.50 seconds before fallback handling...
[2026-10-20 08:53:17,869.869 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 08:53:17,872.872 INFO    ] Checking for system updates...
[2026-10-20 08:53:17,907.907 INFO    ] 200
[2026-10-20 08:53:17,910.910 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:53:17,967.967 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:53:17,970.970 INFO    ] No update needed
[2026-10-20 08:53:17,972.972 INFO    ] Checking for camera pi updates...
[2026-10-20 08:53:18,006.006 INFO    ] 200
[2026-10-20 08:53:18,009.009 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:53:18,054.054 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:53:18,105.105 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:53:18,108.108 INFO    ] No camera update needed
[2026-10-20 08:53:18,111.111 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:53:18,114.114 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:53:18,120.120 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:53:18,127.127 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:53:20,168.168 INFO    ] ================================================
[2026-10-20 08:53:20,183.183 INFO    ] Launching Daemon at Tue Oct 20 08:53:20 IST 2026
[2026-10-20 08:53:20,193.193 INFO    ] ================================================
[2026-10-20 08:53:20,832.832 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:53:20
[2026-10-20 08:53:21,492.492 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:53:21,791.791 INFO    ] Initializing speech engine...
[2026-10-20 08:53:21,805.805 INFO    ] 2026-10-20 08:53:21
[2026-10-20 08:53:22,090.090 INFO    ] 2026-10-20 08:53:22
[2026-10-20 08:53:22,201.201 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:53:22,413.413 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:53:22,419.419 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:53:22,611.611 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:53:22,618.618 INFO    ] time= 20/10/2026 08:53:22
[2026-10-20 08:53:22,636.636 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:53:22,659.659 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:53:22,771.771 INFO    ] No existing commands found in stream
[2026-10-20 08:53:27,791.791 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:53:27,794.794 INFO    ] Waiting 1.37 seconds before fallback handling...
[2026-10-20 08:53:29,651.651 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:53:29,659.659 INFO    ] Checking for system updates...
[2026-10-20 08:53:29,701.701 INFO    ] 200
[2026-10-20 08:53:29,704.704 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:53:29,764.764 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:53:29,766.766 INFO    ] No update needed
[2026-10-20 08:53:29,769.769 INFO    ] Checking for camera pi updates...
[2026-10-20 08:53:29,803.803 INFO    ] 200
[2026-10-20 08:53:29,806.806 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:53:29,851.851 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:53:29,900.900 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:53:29,902.902 INFO    ] No camera update needed
[2026-10-20 08:53:29,904.904 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:53:29,907.907 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:53:29,912.912 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:53:29,917.917 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:53:31,956.956 INFO    ] ================================================
[2026-10-20 08:53:31,971.971 INFO    ] Launching Daemon at Tue Oct 20 08:53:31 IST 2026
[2026-10-20 08:53:31,981.981 INFO    ] ================================================
[2026-10-20 08:53:32,678.678 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:53:32
[2026-10-20 08:53:33,378.378 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:53:33,677.677 INFO    ] Initializing speech engine...
[2026-10-20 08:53:33,685.685 INFO    ] 2026-10-20 08:53:33
[2026-10-20 08:53:33,969.969 INFO    ] 2026-10-20 08:53:33
[2026-10-20 08:53:34,014.014 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:53:34,297.297 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:53:34,305.305 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:53:34,499.499 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:53:34,517.517 INFO    ] time= 20/10/2026 08:53:34
[2026-10-20 08:53:34,540.540 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:53:34,555.555 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:53:34,671.671 INFO    ] No existing commands found in stream
[2026-10-20 08:53:39,697.697 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:53:39,706.706 INFO    ] Waiting 3.19 seconds before fallback handling...
[2026-10-20 08:53:43,491.491 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 08:53:43,494.494 INFO    ] Checking for system updates...
[2026-10-20 08:53:43,530.530 INFO    ] 200
[2026-10-20 08:53:43,533.533 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:53:43,585.585 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:53:43,587.587 INFO    ] No update needed
[2026-10-20 08:53:43,589.589 INFO    ] Checking for camera pi updates...
[2026-10-20 08:53:43,623.623 INFO    ] 200
[2026-10-20 08:53:43,625.625 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:53:43,665.665 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:53:43,709.709 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:53:43,712.712 INFO    ] No camera update needed
[2026-10-20 08:53:43,714.714 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:53:43,716.716 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:53:43,721.721 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:53:43,726.726 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:53:45,765.765 INFO    ] ================================================
[2026-10-20 08:53:45,780.780 INFO    ] Launching Daemon at Tue Oct 20 08:53:45 IST 2026
[2026-10-20 08:53:45,792.792 INFO    ] ================================================
[2026-10-20 08:53:46,363.363 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:53:46
[2026-10-20 08:53:46,946.946 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:53:47,205.205 INFO    ] Initializing speech engine...
[2026-10-20 08:53:47,223.223 INFO    ] 2026-10-20 08:53:47
[2026-10-20 08:53:47,471.471 INFO    ] 2026-10-20 08:53:47
[2026-10-20 08:53:47,513.513 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:53:47,757.757 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:53:47,766.766 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:53:47,967.967 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:53:48,021.021 INFO    ] time= 20/10/2026 08:53:47
[2026-10-20 08:53:48,030.030 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:53:48,047.047 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:53:48,178.178 INFO    ] No existing commands found in stream
[2026-10-20 08:53:53,190.190 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:53:53,193.193 INFO    ] Waiting 0.03 seconds before fallback handling...
[2026-10-20 08:53:53,710.710 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:53:53,713.713 INFO    ] Checking for system updates...
[2026-10-20 08:53:53,752.752 INFO    ] 200
[2026-10-20 08:53:53,754.754 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:53:53,806.806 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:53:53,809.809 INFO    ] No update needed
[2026-10-20 08:53:53,811.811 INFO    ] Checking for camera pi updates...
[2026-10-20 08:53:53,844.844 INFO    ] 200
[2026-10-20 08:53:53,847.847 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:53:53,891.891 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:53:54,036.036 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:53:54,039.039 INFO    ] No camera update needed
[2026-10-20 08:53:54,041.041 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:53:54,044.044 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:53:54,049.049 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:53:54,054.054 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:53:56,094.094 INFO    ] ================================================
[2026-10-20 08:53:56,109.109 INFO    ] Launching Daemon at Tue Oct 20 08:53:56 IST 2026
[2026-10-20 08:53:56,120.120 INFO    ] ================================================
[2026-10-20 08:53:56,684.684 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:53:56
[2026-10-20 08:53:57,266.266 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:53:57,525.525 INFO    ] Initializing speech engine...
[2026-10-20 08:53:57,549.549 INFO    ] 2026-10-20 08:53:57
[2026-10-20 08:53:57,819.819 INFO    ] 2026-10-20 08:53:57
[2026-10-20 08:53:57,857.857 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:53:58,051.051 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:53:58,065.065 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:53:58,225.225 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:53:58,233.233 INFO    ] time= 20/10/2026 08:53:58
[2026-10-20 08:53:58,238.238 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:53:58,246.246 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:53:58,371.371 INFO    ] No existing commands found in stream
[2026-10-20 08:54:03,401.401 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:54:03,405.405 INFO    ] Waiting 1.58 seconds before fallback handling...
[2026-10-20 08:54:05,474.474 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:54:05,476.476 INFO    ] Checking for system updates...
[2026-10-20 08:54:05,515.515 INFO    ] 200
[2026-10-20 08:54:05,517.517 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:54:05,568.568 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:54:05,571.571 INFO    ] No update needed
[2026-10-20 08:54:05,574.574 INFO    ] Checking for camera pi updates...
[2026-10-20 08:54:05,607.607 INFO    ] 200
[2026-10-20 08:54:05,609.609 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:54:05,650.650 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:54:05,706.706 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:54:05,709.709 INFO    ] No camera update needed
[2026-10-20 08:54:05,711.711 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:54:05,714.714 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:54:05,719.719 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:54:05,724.724 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:54:07,763.763 INFO    ] ================================================
[2026-10-20 08:54:07,777.777 INFO    ] Launching Daemon at Tue Oct 20 08:54:07 IST 2026
[2026-10-20 08:54:07,788.788 INFO    ] ================================================
[2026-10-20 08:54:08,353.353 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:54:08
[2026-10-20 08:54:08,937.937 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:54:09,185.185 INFO    ] Initializing speech engine...
[2026-10-20 08:54:09,192.192 INFO    ] 2026-10-20 08:54:09
[2026-10-20 08:54:09,486.486 INFO    ] 2026-10-20 08:54:09
[2026-10-20 08:54:09,524.524 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:54:09,746.746 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:54:09,810.810 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:54:09,972.972 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:54:09,991.991 INFO    ] time= 20/10/2026 08:54:09
[2026-10-20 08:54:10,045.045 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:54:10,095.095 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:54:10,255.255 INFO    ] No existing commands found in stream
[2026-10-20 08:54:15,280.280 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:54:15,283.283 INFO    ] Waiting 2.37 seconds before fallback handling...
[2026-10-20 08:54:18,160.160 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 08:54:18,163.163 INFO    ] Checking for system updates...
[2026-10-20 08:54:18,201.201 INFO    ] 200
[2026-10-20 08:54:18,204.204 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:54:18,261.261 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:54:18,264.264 INFO    ] No update needed
[2026-10-20 08:54:18,267.267 INFO    ] Checking for camera pi updates...
[2026-10-20 08:54:18,300.300 INFO    ] 200
[2026-10-20 08:54:18,302.302 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:54:18,343.343 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:54:18,378.378 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:54:18,381.381 INFO    ] No camera update needed
[2026-10-20 08:54:18,383.383 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:54:18,385.385 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:54:18,391.391 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:54:18,395.395 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:54:20,434.434 INFO    ] ================================================
[2026-10-20 08:54:20,449.449 INFO    ] Launching Daemon at Tue Oct 20 08:54:20 IST 2026
[2026-10-20 08:54:20,460.460 INFO    ] ================================================
[2026-10-20 08:54:21,071.071 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:54:21
[2026-10-20 08:54:21,670.670 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:54:21,923.923 INFO    ] Initializing speech engine...
[2026-10-20 08:54:21,929.929 INFO    ] 2026-10-20 08:54:21
[2026-10-20 08:54:22,222.222 INFO    ] 2026-10-20 08:54:22
[2026-10-20 08:54:22,257.257 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:54:22,466.466 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:54:22,486.486 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:54:22,632.632 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:54:22,638.638 INFO    ] time= 20/10/2026 08:54:22
[2026-10-20 08:54:22,645.645 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:54:22,692.692 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:54:22,832.832 INFO    ] No existing commands found in stream
[2026-10-20 08:54:27,863.863 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:54:27,865.865 INFO    ] Waiting 0.87 seconds before fallback handling...
[2026-10-20 08:54:29,229.229 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:54:29,232.232 INFO    ] Checking for system updates...
[2026-10-20 08:54:29,273.273 INFO    ] 200
[2026-10-20 08:54:29,275.275 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:54:29,332.332 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:54:29,335.335 INFO    ] No update needed
[2026-10-20 08:54:29,338.338 INFO    ] Checking for camera pi updates...
[2026-10-20 08:54:29,372.372 INFO    ] 200
[2026-10-20 08:54:29,374.374 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:54:29,415.415 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:54:29,473.473 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:54:29,475.475 INFO    ] No camera update needed
[2026-10-20 08:54:29,478.478 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:54:29,480.480 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:54:29,486.486 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:54:29,491.491 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:54:31,530.530 INFO    ] ================================================
[2026-10-20 08:54:31,545.545 INFO    ] Launching Daemon at Tue Oct 20 08:54:31 IST 2026
[2026-10-20 08:54:31,555.555 INFO    ] ================================================
[2026-10-20 08:54:32,217.217 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:54:32
[2026-10-20 08:54:32,948.948 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:54:33,294.294 INFO    ] Initializing speech engine...
[2026-10-20 08:54:33,304.304 INFO    ] 2026-10-20 08:54:33
[2026-10-20 08:54:33,631.631 INFO    ] 2026-10-20 08:54:33
[2026-10-20 08:54:33,675.675 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:54:33,923.923 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:54:33,931.931 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:54:34,171.171 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:54:34,213.213 INFO    ] time= 20/10/2026 08:54:34
[2026-10-20 08:54:34,233.233 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:54:34,246.246 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:54:34,429.429 INFO    ] No existing commands found in stream
[2026-10-20 08:54:39,455.455 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:54:39,458.458 INFO    ] Waiting 0.16 seconds before fallback handling...
[2026-10-20 08:54:40,126.126 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:54:40,129.129 INFO    ] Checking for system updates...
[2026-10-20 08:54:40,169.169 INFO    ] 200
[2026-10-20 08:54:40,172.172 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:54:40,232.232 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:54:40,235.235 INFO    ] No update needed
[2026-10-20 08:54:40,238.238 INFO    ] Checking for camera pi updates...
[2026-10-20 08:54:40,279.279 INFO    ] 200
[2026-10-20 08:54:40,281.281 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:54:40,322.322 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:54:40,376.376 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:54:40,378.378 INFO    ] No camera update needed
[2026-10-20 08:54:40,381.381 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:54:40,383.383 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:54:40,388.388 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:54:40,394.394 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:54:42,433.433 INFO    ] ================================================
[2026-10-20 08:54:42,448.448 INFO    ] Launching Daemon at Tue Oct 20 08:54:42 IST 2026
[2026-10-20 08:54:42,459.459 INFO    ] ================================================
[2026-10-20 08:54:43,024.024 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:54:43
[2026-10-20 08:54:43,641.641 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:54:43,932.932 INFO    ] Initializing speech engine...
[2026-10-20 08:54:43,941.941 INFO    ] 2026-10-20 08:54:43
[2026-10-20 08:54:44,246.246 INFO    ] 2026-10-20 08:54:44
[2026-10-20 08:54:44,282.282 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:54:44,495.495 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:54:44,516.516 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:54:44,681.681 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:54:44,686.686 INFO    ] time= 20/10/2026 08:54:44
[2026-10-20 08:54:44,692.692 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:54:44,729.729 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:54:44,856.856 INFO    ] No existing commands found in stream
[2026-10-20 08:54:49,881.881 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:54:49,884.884 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-10-20 08:54:52,891.891 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 08:54:52,894.894 INFO    ] Checking for system updates...
[2026-10-20 08:54:52,930.930 INFO    ] 200
[2026-10-20 08:54:52,933.933 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:54:52,987.987 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:54:52,990.990 INFO    ] No update needed
[2026-10-20 08:54:52,992.992 INFO    ] Checking for camera pi updates...
[2026-10-20 08:54:53,027.027 INFO    ] 200
[2026-10-20 08:54:53,029.029 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:54:53,071.071 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:54:53,122.122 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:54:53,125.125 INFO    ] No camera update needed
[2026-10-20 08:54:53,127.127 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:54:53,130.130 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:54:53,136.136 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:54:53,142.142 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:54:55,184.184 INFO    ] ================================================
[2026-10-20 08:54:55,200.200 INFO    ] Launching Daemon at Tue Oct 20 08:54:55 IST 2026
[2026-10-20 08:54:55,210.210 INFO    ] ================================================
[2026-10-20 08:54:55,863.863 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:54:55
[2026-10-20 08:54:56,537.537 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:54:56,844.844 INFO    ] Initializing speech engine...
[2026-10-20 08:54:56,855.855 INFO    ] 2026-10-20 08:54:56
[2026-10-20 08:54:57,115.115 INFO    ] 2026-10-20 08:54:57
[2026-10-20 08:54:57,157.157 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:54:57,380.380 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:54:57,385.385 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:54:57,615.615 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:54:57,641.641 INFO    ] time= 20/10/2026 08:54:57
[2026-10-20 08:54:57,647.647 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:54:57,664.664 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:54:57,795.795 INFO    ] No existing commands found in stream
[2026-10-20 08:55:02,807.807 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:55:02,810.810 INFO    ] Waiting 1.43 seconds before fallback handling...
[2026-10-20 08:55:04,739.739 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 08:55:04,741.741 INFO    ] Checking for system updates...
[2026-10-20 08:55:04,778.778 INFO    ] 200
[2026-10-20 08:55:04,781.781 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:55:04,834.834 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:55:04,837.837 INFO    ] No update needed
[2026-10-20 08:55:04,839.839 INFO    ] Checking for camera pi updates...
[2026-10-20 08:55:04,877.877 INFO    ] 200
[2026-10-20 08:55:04,880.880 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:55:04,921.921 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:55:04,955.955 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:55:04,957.957 INFO    ] No camera update needed
[2026-10-20 08:55:04,960.960 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:55:04,963.963 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:55:04,969.969 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:55:04,974.974 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:55:07,015.015 INFO    ] ================================================
[2026-10-20 08:55:07,029.029 INFO    ] Launching Daemon at Tue Oct 20 08:55:07 IST 2026
[2026-10-20 08:55:07,040.040 INFO    ] ================================================
[2026-10-20 08:55:07,614.614 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:55:07
[2026-10-20 08:55:08,198.198 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:55:08,468.468 INFO    ] Initializing speech engine...
[2026-10-20 08:55:08,477.477 INFO    ] 2026-10-20 08:55:08
[2026-10-20 08:55:08,723.723 INFO    ] 2026-10-20 08:55:08
[2026-10-20 08:55:08,759.759 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:55:09,012.012 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:55:09,022.022 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:55:09,227.227 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:55:09,280.280 INFO    ] time= 20/10/2026 08:55:09
[2026-10-20 08:55:09,286.286 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:55:09,302.302 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:55:09,456.456 INFO    ] No existing commands found in stream
[2026-10-20 08:55:14,482.482 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:55:14,484.484 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-10-20 08:55:18,133.133 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 08:55:18,136.136 INFO    ] Checking for system updates...
[2026-10-20 08:55:18,172.172 INFO    ] 200
[2026-10-20 08:55:18,175.175 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:55:18,234.234 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:55:18,237.237 INFO    ] No update needed
[2026-10-20 08:55:18,240.240 INFO    ] Checking for camera pi updates...
[2026-10-20 08:55:18,274.274 INFO    ] 200
[2026-10-20 08:55:18,277.277 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:55:18,319.319 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:55:18,367.367 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:55:18,370.370 INFO    ] No camera update needed
[2026-10-20 08:55:18,373.373 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:55:18,376.376 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:55:18,382.382 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:55:18,387.387 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:55:20,430.430 INFO    ] ================================================
[2026-10-20 08:55:20,444.444 INFO    ] Launching Daemon at Tue Oct 20 08:55:20 IST 2026
[2026-10-20 08:55:20,455.455 INFO    ] ================================================
[2026-10-20 08:55:21,099.099 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:55:21
[2026-10-20 08:55:21,764.764 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:55:22,069.069 INFO    ] Initializing speech engine...
[2026-10-20 08:55:22,082.082 INFO    ] 2026-10-20 08:55:22
[2026-10-20 08:55:22,368.368 INFO    ] 2026-10-20 08:55:22
[2026-10-20 08:55:22,479.479 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:55:22,654.654 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:55:22,663.663 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:55:22,859.859 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:55:22,902.902 INFO    ] time= 20/10/2026 08:55:22
[2026-10-20 08:55:22,920.920 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:55:22,927.927 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:55:23,060.060 INFO    ] No existing commands found in stream
[2026-10-20 08:55:28,084.084 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:55:28,087.087 INFO    ] Waiting 0.97 seconds before fallback handling...
[2026-10-20 08:55:29,539.539 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 08:55:29,542.542 INFO    ] Checking for system updates...
[2026-10-20 08:55:29,578.578 INFO    ] 200
[2026-10-20 08:55:29,580.580 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:55:29,638.638 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:55:29,640.640 INFO    ] No update needed
[2026-10-20 08:55:29,643.643 INFO    ] Checking for camera pi updates...
[2026-10-20 08:55:29,675.675 INFO    ] 200
[2026-10-20 08:55:29,678.678 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:55:29,719.719 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:55:29,774.774 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:55:29,777.777 INFO    ] No camera update needed
[2026-10-20 08:55:29,779.779 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:55:29,781.781 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:55:29,787.787 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:55:29,792.792 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:55:31,831.831 INFO    ] ================================================
[2026-10-20 08:55:31,845.845 INFO    ] Launching Daemon at Tue Oct 20 08:55:31 IST 2026
[2026-10-20 08:55:31,856.856 INFO    ] ================================================
[2026-10-20 08:55:32,487.487 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:55:32
[2026-10-20 08:55:33,136.136 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:55:33,434.434 INFO    ] Initializing speech engine...
[2026-10-20 08:55:33,449.449 INFO    ] 2026-10-20 08:55:33
[2026-10-20 08:55:33,717.717 INFO    ] 2026-10-20 08:55:33
[2026-10-20 08:55:33,762.762 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:55:34,021.021 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:55:34,027.027 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:55:34,168.168 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:55:34,233.233 INFO    ] time= 20/10/2026 08:55:34
[2026-10-20 08:55:34,278.278 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:55:34,305.305 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:55:34,446.446 INFO    ] No existing commands found in stream
[2026-10-20 08:55:39,469.469 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:55:39,472.472 INFO    ] Waiting 2.09 seconds before fallback handling...
[2026-10-20 08:55:42,131.131 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 08:55:42,134.134 INFO    ] Checking for system updates...
[2026-10-20 08:55:42,171.171 INFO    ] 200
[2026-10-20 08:55:42,174.174 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:55:42,226.226 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:55:42,229.229 INFO    ] No update needed
[2026-10-20 08:55:42,232.232 INFO    ] Checking for camera pi updates...
[2026-10-20 08:55:42,265.265 INFO    ] 200
[2026-10-20 08:55:42,268.268 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:55:42,308.308 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:55:42,361.361 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:55:42,363.363 INFO    ] No camera update needed
[2026-10-20 08:55:42,365.365 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:55:42,368.368 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:55:42,373.373 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:55:42,378.378 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:55:44,417.417 INFO    ] ================================================
[2026-10-20 08:55:44,432.432 INFO    ] Launching Daemon at Tue Oct 20 08:55:44 IST 2026
[2026-10-20 08:55:44,443.443 INFO    ] ================================================
[2026-10-20 08:55:45,107.107 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:55:45
[2026-10-20 08:55:45,776.776 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:55:46,051.051 INFO    ] Initializing speech engine...
[2026-10-20 08:55:46,060.060 INFO    ] 2026-10-20 08:55:46
[2026-10-20 08:55:46,310.310 INFO    ] 2026-10-20 08:55:46
[2026-10-20 08:55:46,345.345 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:55:46,543.543 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:55:46,600.600 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:55:46,818.818 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:55:46,869.869 INFO    ] time= 20/10/2026 08:55:46
[2026-10-20 08:55:46,888.888 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:55:46,917.917 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:55:47,047.047 INFO    ] No existing commands found in stream
[2026-10-20 08:55:52,078.078 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:55:52,081.081 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-10-20 08:55:56,138.138 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:55:56,141.141 INFO    ] Checking for system updates...
[2026-10-20 08:55:56,183.183 INFO    ] 200
[2026-10-20 08:55:56,186.186 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:55:56,243.243 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:55:56,246.246 INFO    ] No update needed
[2026-10-20 08:55:56,249.249 INFO    ] Checking for camera pi updates...
[2026-10-20 08:55:56,282.282 INFO    ] 200
[2026-10-20 08:55:56,284.284 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:55:56,324.324 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:55:56,471.471 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:55:56,474.474 INFO    ] No camera update needed
[2026-10-20 08:55:56,476.476 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:55:56,478.478 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:55:56,484.484 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:55:56,489.489 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:55:58,530.530 INFO    ] ================================================
[2026-10-20 08:55:58,545.545 INFO    ] Launching Daemon at Tue Oct 20 08:55:58 IST 2026
[2026-10-20 08:55:58,557.557 INFO    ] ================================================
[2026-10-20 08:55:59,167.167 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:55:59
[2026-10-20 08:55:59,829.829 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:56:00,128.128 INFO    ] Initializing speech engine...
[2026-10-20 08:56:00,135.135 INFO    ] 2026-10-20 08:56:00
[2026-10-20 08:56:00,420.420 INFO    ] 2026-10-20 08:56:00
[2026-10-20 08:56:00,464.464 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:56:00,745.745 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:56:00,753.753 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:56:00,952.952 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:56:00,971.971 INFO    ] time= 20/10/2026 08:56:00
[2026-10-20 08:56:00,999.999 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:56:01,008.008 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:56:01,128.128 INFO    ] No existing commands found in stream
[2026-10-20 08:56:06,159.159 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:56:06,163.163 INFO    ] Waiting 3.46 seconds before fallback handling...
[2026-10-20 08:56:10,132.132 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:56:10,139.139 INFO    ] Checking for system updates...
[2026-10-20 08:56:10,179.179 INFO    ] 200
[2026-10-20 08:56:10,182.182 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:56:10,241.241 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:56:10,244.244 INFO    ] No update needed
[2026-10-20 08:56:10,247.247 INFO    ] Checking for camera pi updates...
[2026-10-20 08:56:10,283.283 INFO    ] 200
[2026-10-20 08:56:10,286.286 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:56:10,331.331 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:56:10,380.380 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:56:10,383.383 INFO    ] No camera update needed
[2026-10-20 08:56:10,386.386 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:56:10,388.388 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:56:10,394.394 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:56:10,400.400 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:56:12,440.440 INFO    ] ================================================
[2026-10-20 08:56:12,456.456 INFO    ] Launching Daemon at Tue Oct 20 08:56:12 IST 2026
[2026-10-20 08:56:12,467.467 INFO    ] ================================================
[2026-10-20 08:56:13,037.037 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:56:13
[2026-10-20 08:56:13,620.620 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:56:13,872.872 INFO    ] Initializing speech engine...
[2026-10-20 08:56:13,895.895 INFO    ] 2026-10-20 08:56:13
[2026-10-20 08:56:14,151.151 INFO    ] 2026-10-20 08:56:14
[2026-10-20 08:56:14,185.185 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:56:14,445.445 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:56:14,455.455 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:56:14,661.661 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:56:14,721.721 INFO    ] time= 20/10/2026 08:56:14
[2026-10-20 08:56:14,728.728 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:56:14,747.747 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:56:14,895.895 INFO    ] No existing commands found in stream
[2026-10-20 08:56:19,926.926 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:56:19,929.929 INFO    ] Waiting 0.39 seconds before fallback handling...
[2026-10-20 08:56:20,867.867 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 08:56:20,869.869 INFO    ] Checking for system updates...
[2026-10-20 08:56:20,904.904 INFO    ] 200
[2026-10-20 08:56:20,907.907 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:56:20,965.965 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:56:20,968.968 INFO    ] No update needed
[2026-10-20 08:56:20,971.971 INFO    ] Checking for camera pi updates...
[2026-10-20 08:56:21,008.008 INFO    ] 200
[2026-10-20 08:56:21,010.010 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:56:21,050.050 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:56:21,094.094 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:56:21,096.096 INFO    ] No camera update needed
[2026-10-20 08:56:21,099.099 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:56:21,101.101 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:56:21,106.106 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:56:21,111.111 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:56:23,150.150 INFO    ] ================================================
[2026-10-20 08:56:23,166.166 INFO    ] Launching Daemon at Tue Oct 20 08:56:23 IST 2026
[2026-10-20 08:56:23,177.177 INFO    ] ================================================
[2026-10-20 08:56:23,751.751 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:56:23
[2026-10-20 08:56:24,350.350 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:56:24,646.646 INFO    ] Initializing speech engine...
[2026-10-20 08:56:24,659.659 INFO    ] 2026-10-20 08:56:24
[2026-10-20 08:56:24,912.912 INFO    ] 2026-10-20 08:56:24
[2026-10-20 08:56:24,965.965 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:56:25,189.189 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:56:25,195.195 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:56:25,409.409 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:56:25,450.450 INFO    ] time= 20/10/2026 08:56:25
[2026-10-20 08:56:25,456.456 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:56:25,474.474 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:56:25,597.597 INFO    ] No existing commands found in stream
[2026-10-20 08:56:30,624.624 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:56:30,627.627 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-10-20 08:56:32,280.280 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:56:32,283.283 INFO    ] Checking for system updates...
[2026-10-20 08:56:32,323.323 INFO    ] 200
[2026-10-20 08:56:32,327.327 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:56:32,384.384 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:56:32,387.387 INFO    ] No update needed
[2026-10-20 08:56:32,390.390 INFO    ] Checking for camera pi updates...
[2026-10-20 08:56:32,428.428 INFO    ] 200
[2026-10-20 08:56:32,431.431 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:56:32,475.475 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:56:32,506.506 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:56:32,508.508 INFO    ] No camera update needed
[2026-10-20 08:56:32,511.511 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:56:32,513.513 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:56:32,519.519 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:56:32,524.524 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:56:34,565.565 INFO    ] ================================================
[2026-10-20 08:56:34,581.581 INFO    ] Launching Daemon at Tue Oct 20 08:56:34 IST 2026
[2026-10-20 08:56:34,592.592 INFO    ] ================================================
[2026-10-20 08:56:35,172.172 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:56:35
[2026-10-20 08:56:35,773.773 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:56:36,043.043 INFO    ] Initializing speech engine...
[2026-10-20 08:56:36,049.049 INFO    ] 2026-10-20 08:56:36
[2026-10-20 08:56:36,294.294 INFO    ] 2026-10-20 08:56:36
[2026-10-20 08:56:36,329.329 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:56:36,525.525 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:56:36,582.582 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:56:36,723.723 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:56:36,783.783 INFO    ] time= 20/10/2026 08:56:36
[2026-10-20 08:56:36,832.832 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:56:36,857.857 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:56:37,007.007 INFO    ] No existing commands found in stream
[2026-10-20 08:56:42,027.027 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:56:42,030.030 INFO    ] Waiting 0.24 seconds before fallback handling...
[2026-10-20 08:56:42,799.799 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 08:56:42,802.802 INFO    ] Checking for system updates...
[2026-10-20 08:56:42,844.844 INFO    ] 200
[2026-10-20 08:56:42,846.846 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:56:42,899.899 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:56:42,902.902 INFO    ] No update needed
[2026-10-20 08:56:42,905.905 INFO    ] Checking for camera pi updates...
[2026-10-20 08:56:42,938.938 INFO    ] 200
[2026-10-20 08:56:42,941.941 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:56:42,981.981 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:56:43,025.025 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:56:43,028.028 INFO    ] No camera update needed
[2026-10-20 08:56:43,030.030 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:56:43,032.032 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:56:43,037.037 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:56:43,042.042 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:56:45,081.081 INFO    ] ================================================
[2026-10-20 08:56:45,097.097 INFO    ] Launching Daemon at Tue Oct 20 08:56:45 IST 2026
[2026-10-20 08:56:45,108.108 INFO    ] ================================================
[2026-10-20 08:56:45,763.763 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:56:45
[2026-10-20 08:56:46,360.360 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:56:46,608.608 INFO    ] Initializing speech engine...
[2026-10-20 08:56:46,623.623 INFO    ] 2026-10-20 08:56:46
[2026-10-20 08:56:46,889.889 INFO    ] 2026-10-20 08:56:46
[2026-10-20 08:56:46,923.923 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:56:47,126.126 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:56:47,185.185 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:56:47,416.416 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:56:47,457.457 INFO    ] time= 20/10/2026 08:56:47
[2026-10-20 08:56:47,463.463 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:56:47,479.479 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:56:47,615.615 INFO    ] No existing commands found in stream
[2026-10-20 08:56:52,627.627 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:56:52,630.630 INFO    ] Waiting 0.52 seconds before fallback handling...
[2026-10-20 08:56:53,666.666 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 08:56:53,669.669 INFO    ] Checking for system updates...
[2026-10-20 08:56:53,705.705 INFO    ] 200
[2026-10-20 08:56:53,707.707 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:56:53,759.759 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:56:53,761.761 INFO    ] No update needed
[2026-10-20 08:56:53,764.764 INFO    ] Checking for camera pi updates...
[2026-10-20 08:56:53,801.801 INFO    ] 200
[2026-10-20 08:56:53,804.804 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:56:53,849.849 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:56:53,903.903 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:56:53,905.905 INFO    ] No camera update needed
[2026-10-20 08:56:53,907.907 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:56:53,910.910 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:56:53,915.915 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:56:53,920.920 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:56:55,960.960 INFO    ] ================================================
[2026-10-20 08:56:55,975.975 INFO    ] Launching Daemon at Tue Oct 20 08:56:55 IST 2026
[2026-10-20 08:56:55,986.986 INFO    ] ================================================
[2026-10-20 08:56:56,554.554 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:56:56
[2026-10-20 08:56:57,139.139 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:56:57,406.406 INFO    ] Initializing speech engine...
[2026-10-20 08:56:57,415.415 INFO    ] 2026-10-20 08:56:57
[2026-10-20 08:56:57,663.663 INFO    ] 2026-10-20 08:56:57
[2026-10-20 08:56:57,705.705 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:56:57,952.952 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:56:57,961.961 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:56:58,101.101 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:56:58,155.155 INFO    ] time= 20/10/2026 08:56:58
[2026-10-20 08:56:58,210.210 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:56:58,227.227 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:56:58,371.371 INFO    ] No existing commands found in stream
[2026-10-20 08:57:03,383.383 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:57:03,386.386 INFO    ] Waiting 2.71 seconds before fallback handling...
[2026-10-20 08:57:06,612.612 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:57:06,614.614 INFO    ] Checking for system updates...
[2026-10-20 08:57:06,650.650 INFO    ] 200
[2026-10-20 08:57:06,652.652 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:57:06,704.704 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:57:06,707.707 INFO    ] No update needed
[2026-10-20 08:57:06,710.710 INFO    ] Checking for camera pi updates...
[2026-10-20 08:57:06,744.744 INFO    ] 200
[2026-10-20 08:57:06,746.746 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:57:06,787.787 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:57:06,833.833 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:57:06,835.835 INFO    ] No camera update needed
[2026-10-20 08:57:06,838.838 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:57:06,840.840 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:57:06,845.845 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:57:06,851.851 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:57:08,890.890 INFO    ] ================================================
[2026-10-20 08:57:08,906.906 INFO    ] Launching Daemon at Tue Oct 20 08:57:08 IST 2026
[2026-10-20 08:57:08,917.917 INFO    ] ================================================
[2026-10-20 08:57:09,483.483 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:57:09
[2026-10-20 08:57:10,065.065 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:57:10,333.333 INFO    ] Initializing speech engine...
[2026-10-20 08:57:10,343.343 INFO    ] 2026-10-20 08:57:10
[2026-10-20 08:57:10,587.587 INFO    ] 2026-10-20 08:57:10
[2026-10-20 08:57:10,628.628 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:57:10,877.877 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:57:10,882.882 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:57:11,016.016 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:57:11,075.075 INFO    ] time= 20/10/2026 08:57:11
[2026-10-20 08:57:11,124.124 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:57:11,147.147 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:57:11,294.294 INFO    ] No existing commands found in stream
[2026-10-20 08:57:16,306.306 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:57:16,309.309 INFO    ] Waiting 1.02 seconds before fallback handling...
[2026-10-20 08:57:17,825.825 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:57:17,828.828 INFO    ] Checking for system updates...
[2026-10-20 08:57:17,863.863 INFO    ] 200
[2026-10-20 08:57:17,865.865 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:57:17,916.916 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:57:17,919.919 INFO    ] No update needed
[2026-10-20 08:57:17,922.922 INFO    ] Checking for camera pi updates...
[2026-10-20 08:57:17,955.955 INFO    ] 200
[2026-10-20 08:57:17,958.958 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:57:18,002.002 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:57:18,046.046 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:57:18,049.049 INFO    ] No camera update needed
[2026-10-20 08:57:18,051.051 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:57:18,053.053 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:57:18,059.059 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:57:18,064.064 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:57:20,103.103 INFO    ] ================================================
[2026-10-20 08:57:20,118.118 INFO    ] Launching Daemon at Tue Oct 20 08:57:20 IST 2026
[2026-10-20 08:57:20,129.129 INFO    ] ================================================
[2026-10-20 08:57:20,777.777 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:57:20
[2026-10-20 08:57:21,382.382 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:57:21,673.673 INFO    ] Initializing speech engine...
[2026-10-20 08:57:21,681.681 INFO    ] 2026-10-20 08:57:21
[2026-10-20 08:57:21,966.966 INFO    ] 2026-10-20 08:57:21
[2026-10-20 08:57:22,010.010 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:57:22,296.296 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:57:22,303.303 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:57:22,497.497 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:57:22,512.512 INFO    ] time= 20/10/2026 08:57:22
[2026-10-20 08:57:22,523.523 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:57:22,551.551 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:57:22,679.679 INFO    ] No existing commands found in stream
[2026-10-20 08:57:27,710.710 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:57:27,713.713 INFO    ] Waiting 3.18 seconds before fallback handling...
[2026-10-20 08:57:31,412.412 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:57:31,414.414 INFO    ] Checking for system updates...
[2026-10-20 08:57:31,457.457 INFO    ] 200
[2026-10-20 08:57:31,460.460 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:57:31,522.522 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:57:31,525.525 INFO    ] No update needed
[2026-10-20 08:57:31,528.528 INFO    ] Checking for camera pi updates...
[2026-10-20 08:57:31,568.568 INFO    ] 200
[2026-10-20 08:57:31,571.571 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:57:31,614.614 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:57:31,646.646 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:57:31,649.649 INFO    ] No camera update needed
[2026-10-20 08:57:31,652.652 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:57:31,655.655 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:57:31,661.661 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:57:31,666.666 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:57:33,707.707 INFO    ] ================================================
[2026-10-20 08:57:33,723.723 INFO    ] Launching Daemon at Tue Oct 20 08:57:33 IST 2026
[2026-10-20 08:57:33,733.733 INFO    ] ================================================
[2026-10-20 08:57:34,299.299 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:57:34
[2026-10-20 08:57:34,882.882 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:57:35,151.151 INFO    ] Initializing speech engine...
[2026-10-20 08:57:35,171.171 INFO    ] 2026-10-20 08:57:35
[2026-10-20 08:57:35,436.436 INFO    ] 2026-10-20 08:57:35
[2026-10-20 08:57:35,477.477 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:57:35,730.730 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:57:35,736.736 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:57:35,964.964 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:57:35,975.975 INFO    ] time= 20/10/2026 08:57:35
[2026-10-20 08:57:35,996.996 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:57:36,025.025 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:57:36,175.175 INFO    ] No existing commands found in stream
[2026-10-20 08:57:41,206.206 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:57:41,209.209 INFO    ] Waiting 1.55 seconds before fallback handling...
[2026-10-20 08:57:43,273.273 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:57:43,276.276 INFO    ] Checking for system updates...
[2026-10-20 08:57:43,312.312 INFO    ] 200
[2026-10-20 08:57:43,315.315 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:57:43,370.370 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:57:43,372.372 INFO    ] No update needed
[2026-10-20 08:57:43,374.374 INFO    ] Checking for camera pi updates...
[2026-10-20 08:57:43,408.408 INFO    ] 200
[2026-10-20 08:57:43,411.411 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:57:43,452.452 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:57:43,497.497 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:57:43,499.499 INFO    ] No camera update needed
[2026-10-20 08:57:43,502.502 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:57:43,504.504 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:57:43,509.509 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:57:43,514.514 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:57:45,553.553 INFO    ] ================================================
[2026-10-20 08:57:45,569.569 INFO    ] Launching Daemon at Tue Oct 20 08:57:45 IST 2026
[2026-10-20 08:57:45,580.580 INFO    ] ================================================
[2026-10-20 08:57:46,193.193 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:57:46
[2026-10-20 08:57:46,778.778 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:57:47,049.049 INFO    ] Initializing speech engine...
[2026-10-20 08:57:47,058.058 INFO    ] 2026-10-20 08:57:47
[2026-10-20 08:57:47,307.307 INFO    ] 2026-10-20 08:57:47
[2026-10-20 08:57:47,340.340 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:57:47,601.601 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:57:47,611.611 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:57:47,823.823 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:57:47,873.873 INFO    ] time= 20/10/2026 08:57:47
[2026-10-20 08:57:47,883.883 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:57:47,901.901 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:57:48,029.029 INFO    ] No existing commands found in stream
[2026-10-20 08:57:53,045.045 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:57:53,048.048 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-10-20 08:57:53,623.623 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:57:53,626.626 INFO    ] Checking for system updates...
[2026-10-20 08:57:53,667.667 INFO    ] 200
[2026-10-20 08:57:53,670.670 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:57:53,722.722 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:57:53,725.725 INFO    ] No update needed
[2026-10-20 08:57:53,727.727 INFO    ] Checking for camera pi updates...
[2026-10-20 08:57:53,761.761 INFO    ] 200
[2026-10-20 08:57:53,763.763 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:57:53,808.808 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:57:53,853.853 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:57:53,855.855 INFO    ] No camera update needed
[2026-10-20 08:57:53,857.857 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:57:53,860.860 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:57:53,865.865 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:57:53,870.870 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:57:55,913.913 INFO    ] ================================================
[2026-10-20 08:57:55,929.929 INFO    ] Launching Daemon at Tue Oct 20 08:57:55 IST 2026
[2026-10-20 08:57:55,941.941 INFO    ] ================================================
[2026-10-20 08:57:56,514.514 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:57:56
[2026-10-20 08:57:57,099.099 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:57:57,354.354 INFO    ] Initializing speech engine...
[2026-10-20 08:57:57,362.362 INFO    ] 2026-10-20 08:57:57
[2026-10-20 08:57:57,656.656 INFO    ] 2026-10-20 08:57:57
[2026-10-20 08:57:57,694.694 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:57:57,914.914 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:57:57,921.921 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:57:58,076.076 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:57:58,079.079 INFO    ] time= 20/10/2026 08:57:58
[2026-10-20 08:57:58,123.123 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:57:58,129.129 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:57:58,259.259 INFO    ] No existing commands found in stream
[2026-10-20 08:58:03,270.270 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:58:03,273.273 INFO    ] Waiting 1.97 seconds before fallback handling...
[2026-10-20 08:58:05,766.766 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:58:05,768.768 INFO    ] Checking for system updates...
[2026-10-20 08:58:05,807.807 INFO    ] 200
[2026-10-20 08:58:05,809.809 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:58:05,867.867 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:58:05,870.870 INFO    ] No update needed
[2026-10-20 08:58:05,872.872 INFO    ] Checking for camera pi updates...
[2026-10-20 08:58:05,905.905 INFO    ] 200
[2026-10-20 08:58:05,907.907 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:58:05,952.952 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:58:06,011.011 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:58:06,013.013 INFO    ] No camera update needed
[2026-10-20 08:58:06,015.015 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:58:06,017.017 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:58:06,023.023 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:58:06,028.028 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:58:08,068.068 INFO    ] ================================================
[2026-10-20 08:58:08,084.084 INFO    ] Launching Daemon at Tue Oct 20 08:58:08 IST 2026
[2026-10-20 08:58:08,095.095 INFO    ] ================================================
[2026-10-20 08:58:08,661.661 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:58:08
[2026-10-20 08:58:09,244.244 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:58:09,515.515 INFO    ] Initializing speech engine...
[2026-10-20 08:58:09,522.522 INFO    ] 2026-10-20 08:58:09
[2026-10-20 08:58:09,779.779 INFO    ] 2026-10-20 08:58:09
[2026-10-20 08:58:09,829.829 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:58:10,058.058 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:58:10,063.063 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:58:10,273.273 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:58:10,318.318 INFO    ] time= 20/10/2026 08:58:10
[2026-10-20 08:58:10,325.325 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:58:10,343.343 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:58:10,497.497 INFO    ] No existing commands found in stream
[2026-10-20 08:58:15,527.527 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:58:15,530.530 INFO    ] Waiting 2.72 seconds before fallback handling...
[2026-10-20 08:58:18,759.759 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:58:18,762.762 INFO    ] Checking for system updates...
[2026-10-20 08:58:18,797.797 INFO    ] 200
[2026-10-20 08:58:18,799.799 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:58:18,852.852 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:58:18,855.855 INFO    ] No update needed
[2026-10-20 08:58:18,857.857 INFO    ] Checking for camera pi updates...
[2026-10-20 08:58:18,892.892 INFO    ] 200
[2026-10-20 08:58:18,894.894 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:58:18,935.935 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:58:18,985.985 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:58:18,987.987 INFO    ] No camera update needed
[2026-10-20 08:58:18,989.989 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:58:18,992.992 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:58:18,997.997 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:58:19,002.002 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:58:21,046.046 INFO    ] ================================================
[2026-10-20 08:58:21,061.061 INFO    ] Launching Daemon at Tue Oct 20 08:58:21 IST 2026
[2026-10-20 08:58:21,071.071 INFO    ] ================================================
[2026-10-20 08:58:21,636.636 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:58:21
[2026-10-20 08:58:22,220.220 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:58:22,476.476 INFO    ] Initializing speech engine...
[2026-10-20 08:58:22,491.491 INFO    ] 2026-10-20 08:58:22
[2026-10-20 08:58:22,771.771 INFO    ] 2026-10-20 08:58:22
[2026-10-20 08:58:22,806.806 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:58:23,013.013 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:58:23,031.031 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:58:23,179.179 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:58:23,184.184 INFO    ] time= 20/10/2026 08:58:23
[2026-10-20 08:58:23,191.191 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:58:23,242.242 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:58:23,376.376 INFO    ] No existing commands found in stream
[2026-10-20 08:58:28,401.401 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:58:28,403.403 INFO    ] Waiting 3.53 seconds before fallback handling...
[2026-10-20 08:58:32,468.468 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 08:58:32,470.470 INFO    ] Checking for system updates...
[2026-10-20 08:58:32,506.506 INFO    ] 200
[2026-10-20 08:58:32,509.509 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:58:32,562.562 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:58:32,565.565 INFO    ] No update needed
[2026-10-20 08:58:32,567.567 INFO    ] Checking for camera pi updates...
[2026-10-20 08:58:32,604.604 INFO    ] 200
[2026-10-20 08:58:32,606.606 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:58:32,651.651 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:58:32,696.696 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:58:32,698.698 INFO    ] No camera update needed
[2026-10-20 08:58:32,701.701 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:58:32,703.703 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:58:32,708.708 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:58:32,713.713 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:58:34,751.751 INFO    ] ================================================
[2026-10-20 08:58:34,766.766 INFO    ] Launching Daemon at Tue Oct 20 08:58:34 IST 2026
[2026-10-20 08:58:34,777.777 INFO    ] ================================================
[2026-10-20 08:58:35,432.432 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:58:35
[2026-10-20 08:58:36,108.108 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:58:36,372.372 INFO    ] Initializing speech engine...
[2026-10-20 08:58:36,381.381 INFO    ] 2026-10-20 08:58:36
[2026-10-20 08:58:36,628.628 INFO    ] 2026-10-20 08:58:36
[2026-10-20 08:58:36,663.663 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:58:36,913.913 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:58:36,922.922 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:58:37,119.119 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:58:37,179.179 INFO    ] time= 20/10/2026 08:58:37
[2026-10-20 08:58:37,187.187 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:58:37,204.204 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:58:37,335.335 INFO    ] No existing commands found in stream
[2026-10-20 08:58:42,350.350 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:58:42,353.353 INFO    ] Waiting 2.59 seconds before fallback handling...
[2026-10-20 08:58:45,460.460 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:58:45,463.463 INFO    ] Checking for system updates...
[2026-10-20 08:58:45,502.502 INFO    ] 200
[2026-10-20 08:58:45,505.505 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:58:45,558.558 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:58:45,561.561 INFO    ] No update needed
[2026-10-20 08:58:45,563.563 INFO    ] Checking for camera pi updates...
[2026-10-20 08:58:45,600.600 INFO    ] 200
[2026-10-20 08:58:45,602.602 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:58:45,642.642 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:58:45,685.685 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:58:45,687.687 INFO    ] No camera update needed
[2026-10-20 08:58:45,690.690 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:58:45,692.692 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:58:45,697.697 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:58:45,702.702 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:58:47,746.746 INFO    ] ================================================
[2026-10-20 08:58:47,761.761 INFO    ] Launching Daemon at Tue Oct 20 08:58:47 IST 2026
[2026-10-20 08:58:47,772.772 INFO    ] ================================================
[2026-10-20 08:58:48,430.430 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:58:48
[2026-10-20 08:58:49,013.013 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:58:49,284.284 INFO    ] Initializing speech engine...
[2026-10-20 08:58:49,290.290 INFO    ] 2026-10-20 08:58:49
[2026-10-20 08:58:49,548.548 INFO    ] 2026-10-20 08:58:49
[2026-10-20 08:58:49,601.601 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:58:49,828.828 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:58:49,833.833 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:58:50,037.037 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:58:50,087.087 INFO    ] time= 20/10/2026 08:58:50
[2026-10-20 08:58:50,093.093 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:58:50,111.111 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:58:50,242.242 INFO    ] No existing commands found in stream
[2026-10-20 08:58:55,264.264 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:58:55,267.267 INFO    ] Waiting 0.06 seconds before fallback handling...
[2026-10-20 08:58:55,808.808 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:58:55,810.810 INFO    ] Checking for system updates...
[2026-10-20 08:58:55,849.849 INFO    ] 200
[2026-10-20 08:58:55,852.852 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:58:55,903.903 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:58:55,905.905 INFO    ] No update needed
[2026-10-20 08:58:55,907.907 INFO    ] Checking for camera pi updates...
[2026-10-20 08:58:55,941.941 INFO    ] 200
[2026-10-20 08:58:55,944.944 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:58:55,984.984 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:58:56,030.030 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:58:56,032.032 INFO    ] No camera update needed
[2026-10-20 08:58:56,034.034 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:58:56,036.036 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:58:56,042.042 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:58:56,047.047 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:58:58,087.087 INFO    ] ================================================
[2026-10-20 08:58:58,102.102 INFO    ] Launching Daemon at Tue Oct 20 08:58:58 IST 2026
[2026-10-20 08:58:58,113.113 INFO    ] ================================================
[2026-10-20 08:58:58,682.682 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:58:58
[2026-10-20 08:58:59,267.267 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:58:59,512.512 INFO    ] Initializing speech engine...
[2026-10-20 08:58:59,520.520 INFO    ] 2026-10-20 08:58:59
[2026-10-20 08:58:59,802.802 INFO    ] 2026-10-20 08:58:59
[2026-10-20 08:58:59,837.837 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:59:00,088.088 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:59:00,097.097 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:59:00,299.299 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:59:00,349.349 INFO    ] time= 20/10/2026 08:59:00
[2026-10-20 08:59:00,360.360 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:59:00,378.378 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:59:00,493.493 INFO    ] No existing commands found in stream
[2026-10-20 08:59:05,519.519 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:59:05,522.522 INFO    ] Waiting 2.44 seconds before fallback handling...
[2026-10-20 08:59:08,475.475 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 08:59:08,478.478 INFO    ] Checking for system updates...
[2026-10-20 08:59:08,514.514 INFO    ] 200
[2026-10-20 08:59:08,516.516 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:59:08,572.572 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:59:08,574.574 INFO    ] No update needed
[2026-10-20 08:59:08,577.577 INFO    ] Checking for camera pi updates...
[2026-10-20 08:59:08,612.612 INFO    ] 200
[2026-10-20 08:59:08,614.614 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:59:08,657.657 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:59:08,706.706 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:59:08,708.708 INFO    ] No camera update needed
[2026-10-20 08:59:08,710.710 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:59:08,713.713 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:59:08,718.718 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:59:08,723.723 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:59:10,765.765 INFO    ] ================================================
[2026-10-20 08:59:10,780.780 INFO    ] Launching Daemon at Tue Oct 20 08:59:10 IST 2026
[2026-10-20 08:59:10,790.790 INFO    ] ================================================
[2026-10-20 08:59:11,357.357 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:59:11
[2026-10-20 08:59:11,941.941 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:59:12,209.209 INFO    ] Initializing speech engine...
[2026-10-20 08:59:12,218.218 INFO    ] 2026-10-20 08:59:12
[2026-10-20 08:59:12,476.476 INFO    ] 2026-10-20 08:59:12
[2026-10-20 08:59:12,505.505 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:59:12,749.749 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:59:12,758.758 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:59:12,954.954 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:59:13,014.014 INFO    ] time= 20/10/2026 08:59:12
[2026-10-20 08:59:13,021.021 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:59:13,036.036 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:59:13,159.159 INFO    ] No existing commands found in stream
[2026-10-20 08:59:18,179.179 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:59:18,182.182 INFO    ] Waiting 0.43 seconds before fallback handling...
[2026-10-20 08:59:19,126.126 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 08:59:19,129.129 INFO    ] Checking for system updates...
[2026-10-20 08:59:19,166.166 INFO    ] 200
[2026-10-20 08:59:19,168.168 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:59:19,225.225 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:59:19,228.228 INFO    ] No update needed
[2026-10-20 08:59:19,230.230 INFO    ] Checking for camera pi updates...
[2026-10-20 08:59:19,264.264 INFO    ] 200
[2026-10-20 08:59:19,267.267 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:59:19,314.314 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:59:19,360.360 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:59:19,363.363 INFO    ] No camera update needed
[2026-10-20 08:59:19,365.365 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:59:19,367.367 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:59:19,373.373 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:59:19,378.378 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:59:21,421.421 INFO    ] ================================================
[2026-10-20 08:59:21,435.435 INFO    ] Launching Daemon at Tue Oct 20 08:59:21 IST 2026
[2026-10-20 08:59:21,446.446 INFO    ] ================================================
[2026-10-20 08:59:22,010.010 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:59:22
[2026-10-20 08:59:22,591.591 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:59:22,846.846 INFO    ] Initializing speech engine...
[2026-10-20 08:59:22,869.869 INFO    ] 2026-10-20 08:59:22
[2026-10-20 08:59:23,142.142 INFO    ] 2026-10-20 08:59:23
[2026-10-20 08:59:23,177.177 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:59:23,433.433 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:59:23,462.462 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:59:23,617.617 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:59:23,682.682 INFO    ] time= 20/10/2026 08:59:23
[2026-10-20 08:59:23,741.741 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:59:23,763.763 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:59:23,922.922 INFO    ] No existing commands found in stream
[2026-10-20 08:59:28,938.938 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:59:28,941.941 INFO    ] Waiting 3.90 seconds before fallback handling...
[2026-10-20 08:59:33,392.392 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 08:59:33,394.394 INFO    ] Checking for system updates...
[2026-10-20 08:59:33,430.430 INFO    ] 200
[2026-10-20 08:59:33,432.432 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:59:33,490.490 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 08:59:33,493.493 INFO    ] No update needed
[2026-10-20 08:59:33,495.495 INFO    ] Checking for camera pi updates...
[2026-10-20 08:59:33,529.529 INFO    ] 200
[2026-10-20 08:59:33,531.531 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:59:33,571.571 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:59:33,619.619 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:59:33,621.621 INFO    ] No camera update needed
[2026-10-20 08:59:33,623.623 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:59:33,626.626 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:59:33,631.631 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:59:33,636.636 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:59:35,675.675 INFO    ] ================================================
[2026-10-20 08:59:35,690.690 INFO    ] Launching Daemon at Tue Oct 20 08:59:35 IST 2026
[2026-10-20 08:59:35,701.701 INFO    ] ================================================
[2026-10-20 08:59:36,334.334 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:59:36
[2026-10-20 08:59:36,934.934 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:59:37,203.203 INFO    ] Initializing speech engine...
[2026-10-20 08:59:37,213.213 INFO    ] 2026-10-20 08:59:37
[2026-10-20 08:59:37,458.458 INFO    ] 2026-10-20 08:59:37
[2026-10-20 08:59:37,493.493 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:59:37,737.737 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:59:37,753.753 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:59:37,889.889 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:59:37,934.934 INFO    ] time= 20/10/2026 08:59:37
[2026-10-20 08:59:37,978.978 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:59:38,020.020 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:59:38,170.170 INFO    ] No existing commands found in stream
[2026-10-20 08:59:43,184.184 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:59:43,187.187 INFO    ] Waiting 1.31 seconds before fallback handling...
[2026-10-20 08:59:44,982.982 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 08:59:44,984.984 INFO    ] Checking for system updates...
[2026-10-20 08:59:45,020.020 INFO    ] 200
[2026-10-20 08:59:45,023.023 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:59:45,082.082 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:59:45,084.084 INFO    ] No update needed
[2026-10-20 08:59:45,090.090 INFO    ] Checking for camera pi updates...
[2026-10-20 08:59:45,127.127 INFO    ] 200
[2026-10-20 08:59:45,129.129 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:59:45,174.174 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:59:45,233.233 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:59:45,236.236 INFO    ] No camera update needed
[2026-10-20 08:59:45,239.239 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:59:45,241.241 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:59:45,247.247 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:59:45,253.253 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:59:47,299.299 INFO    ] ================================================
[2026-10-20 08:59:47,314.314 INFO    ] Launching Daemon at Tue Oct 20 08:59:47 IST 2026
[2026-10-20 08:59:47,325.325 INFO    ] ================================================
[2026-10-20 08:59:47,899.899 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 08:59:47
[2026-10-20 08:59:48,481.481 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 08:59:48,729.729 INFO    ] Initializing speech engine...
[2026-10-20 08:59:48,743.743 INFO    ] 2026-10-20 08:59:48
[2026-10-20 08:59:49,010.010 INFO    ] 2026-10-20 08:59:49
[2026-10-20 08:59:49,045.045 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 08:59:49,259.259 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 08:59:49,267.267 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 08:59:49,457.457 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 08:59:49,485.485 INFO    ] time= 20/10/2026 08:59:49
[2026-10-20 08:59:49,491.491 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 08:59:49,565.565 INFO    ] Checking for existing commands in stream...
[2026-10-20 08:59:49,683.683 INFO    ] No existing commands found in stream
[2026-10-20 08:59:54,696.696 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 08:59:54,699.699 INFO    ] Waiting 2.35 seconds before fallback handling...
[2026-10-20 08:59:57,560.560 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 08:59:57,563.563 INFO    ] Checking for system updates...
[2026-10-20 08:59:57,601.601 INFO    ] 200
[2026-10-20 08:59:57,603.603 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:59:57,660.660 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:59:57,663.663 INFO    ] No update needed
[2026-10-20 08:59:57,665.665 INFO    ] Checking for camera pi updates...
[2026-10-20 08:59:57,701.701 INFO    ] 200
[2026-10-20 08:59:57,703.703 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 08:59:57,747.747 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 08:59:57,796.796 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 08:59:57,798.798 INFO    ] No camera update needed
[2026-10-20 08:59:57,801.801 INFO    ] Script finished. Safe exiting...
[2026-10-20 08:59:57,803.803 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 08:59:57,808.808 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 08:59:57,813.813 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 08:59:59,853.853 INFO    ] ================================================
[2026-10-20 08:59:59,868.868 INFO    ] Launching Daemon at Tue Oct 20 08:59:59 IST 2026
[2026-10-20 08:59:59,879.879 INFO    ] ================================================
[2026-10-20 09:00:00,444.444 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:00:00
[2026-10-20 09:00:01,029.029 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:00:01,296.296 INFO    ] Initializing speech engine...
[2026-10-20 09:00:01,305.305 INFO    ] 2026-10-20 09:00:01
[2026-10-20 09:00:01,556.556 INFO    ] 2026-10-20 09:00:01
[2026-10-20 09:00:01,593.593 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:00:01,837.837 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:00:01,846.846 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:00:02,003.003 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:00:02,007.007 INFO    ] time= 20/10/2026 09:00:02
[2026-10-20 09:00:02,011.011 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:00:02,121.121 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:00:02,249.249 INFO    ] No existing commands found in stream
[2026-10-20 09:00:07,265.265 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:00:07,272.272 INFO    ] Waiting 0.21 seconds before fallback handling...
[2026-10-20 09:00:09,242.242 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 09:00:09,245.245 INFO    ] Checking for system updates...
[2026-10-20 09:00:09,283.283 INFO    ] 200
[2026-10-20 09:00:09,286.286 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:00:09,339.339 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:00:09,341.341 INFO    ] No update needed
[2026-10-20 09:00:09,344.344 INFO    ] Checking for camera pi updates...
[2026-10-20 09:00:09,377.377 INFO    ] 200
[2026-10-20 09:00:09,380.380 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:00:09,423.423 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:00:09,555.555 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:00:09,558.558 INFO    ] No camera update needed
[2026-10-20 09:00:09,560.560 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:00:09,562.562 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:00:09,567.567 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:00:09,573.573 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:00:11,617.617 INFO    ] ================================================
[2026-10-20 09:00:11,632.632 INFO    ] Launching Daemon at Tue Oct 20 09:00:11 IST 2026
[2026-10-20 09:00:11,643.643 INFO    ] ================================================
[2026-10-20 09:00:12,207.207 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:00:12
[2026-10-20 09:00:12,788.788 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:00:13,055.055 INFO    ] Initializing speech engine...
[2026-10-20 09:00:13,070.070 INFO    ] 2026-10-20 09:00:13
[2026-10-20 09:00:13,337.337 INFO    ] 2026-10-20 09:00:13
[2026-10-20 09:00:13,375.375 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:00:13,654.654 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:00:13,665.665 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:00:13,814.814 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:00:13,869.869 INFO    ] time= 20/10/2026 09:00:13
[2026-10-20 09:00:13,907.907 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:00:13,952.952 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:00:14,105.105 INFO    ] No existing commands found in stream
[2026-10-20 09:00:19,121.121 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:00:19,124.124 INFO    ] Waiting 2.09 seconds before fallback handling...
[2026-10-20 09:00:21,756.756 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 09:00:21,759.759 INFO    ] Checking for system updates...
[2026-10-20 09:00:21,794.794 INFO    ] 200
[2026-10-20 09:00:21,797.797 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:00:21,853.853 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:00:21,855.855 INFO    ] No update needed
[2026-10-20 09:00:21,858.858 INFO    ] Checking for camera pi updates...
[2026-10-20 09:00:21,893.893 INFO    ] 200
[2026-10-20 09:00:21,896.896 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:00:21,939.939 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:00:21,990.990 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:00:21,992.992 INFO    ] No camera update needed
[2026-10-20 09:00:21,995.995 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:00:21,997.997 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:00:22,002.002 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:00:22,007.007 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:00:24,047.047 INFO    ] ================================================
[2026-10-20 09:00:24,062.062 INFO    ] Launching Daemon at Tue Oct 20 09:00:24 IST 2026
[2026-10-20 09:00:24,073.073 INFO    ] ================================================
[2026-10-20 09:00:24,637.637 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:00:24
[2026-10-20 09:00:25,219.219 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:00:25,476.476 INFO    ] Initializing speech engine...
[2026-10-20 09:00:25,501.501 INFO    ] 2026-10-20 09:00:25
[2026-10-20 09:00:25,766.766 INFO    ] 2026-10-20 09:00:25
[2026-10-20 09:00:25,805.805 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:00:26,004.004 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:00:26,022.022 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:00:26,171.171 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:00:26,178.178 INFO    ] time= 20/10/2026 09:00:26
[2026-10-20 09:00:26,221.221 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:00:26,252.252 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:00:26,388.388 INFO    ] No existing commands found in stream
[2026-10-20 09:00:31,403.403 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:00:31,406.406 INFO    ] Waiting 2.82 seconds before fallback handling...
[2026-10-20 09:00:34,706.706 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:00:34,709.709 INFO    ] Checking for system updates...
[2026-10-20 09:00:34,747.747 INFO    ] 200
[2026-10-20 09:00:34,749.749 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:00:34,807.807 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:00:34,810.810 INFO    ] No update needed
[2026-10-20 09:00:34,812.812 INFO    ] Checking for camera pi updates...
[2026-10-20 09:00:34,845.845 INFO    ] 200
[2026-10-20 09:00:34,848.848 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:00:34,889.889 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:00:34,926.926 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:00:34,928.928 INFO    ] No camera update needed
[2026-10-20 09:00:34,931.931 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:00:34,933.933 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:00:34,938.938 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:00:34,943.943 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:00:36,982.982 INFO    ] ================================================
[2026-10-20 09:00:37,997.997 INFO    ] Launching Daemon at Tue Oct 20 09:00:36 IST 2026
[2026-10-20 09:00:37,007.007 INFO    ] ================================================
[2026-10-20 09:00:37,577.577 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:00:37
[2026-10-20 09:00:38,162.162 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:00:38,431.431 INFO    ] Initializing speech engine...
[2026-10-20 09:00:38,441.441 INFO    ] 2026-10-20 09:00:38
[2026-10-20 09:00:38,699.699 INFO    ] 2026-10-20 09:00:38
[2026-10-20 09:00:38,728.728 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:00:38,972.972 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:00:38,981.981 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:00:39,212.212 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:00:39,240.240 INFO    ] time= 20/10/2026 09:00:39
[2026-10-20 09:00:39,246.246 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:00:39,263.263 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:00:39,383.383 INFO    ] No existing commands found in stream
[2026-10-20 09:00:44,401.401 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:00:44,404.404 INFO    ] Waiting 2.59 seconds before fallback handling...
[2026-10-20 09:00:47,552.552 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:00:47,554.554 INFO    ] Checking for system updates...
[2026-10-20 09:00:47,593.593 INFO    ] 200
[2026-10-20 09:00:47,595.595 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:00:47,648.648 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:00:47,651.651 INFO    ] No update needed
[2026-10-20 09:00:47,654.654 INFO    ] Checking for camera pi updates...
[2026-10-20 09:00:47,688.688 INFO    ] 200
[2026-10-20 09:00:47,690.690 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:00:47,731.731 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:00:47,780.780 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:00:47,783.783 INFO    ] No camera update needed
[2026-10-20 09:00:47,785.785 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:00:47,788.788 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:00:47,794.794 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:00:47,800.800 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:00:49,841.841 INFO    ] ================================================
[2026-10-20 09:00:49,855.855 INFO    ] Launching Daemon at Tue Oct 20 09:00:49 IST 2026
[2026-10-20 09:00:49,866.866 INFO    ] ================================================
[2026-10-20 09:00:50,461.461 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:00:50
[2026-10-20 09:00:51,114.114 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:00:51,413.413 INFO    ] Initializing speech engine...
[2026-10-20 09:00:51,421.421 INFO    ] 2026-10-20 09:00:51
[2026-10-20 09:00:51,705.705 INFO    ] 2026-10-20 09:00:51
[2026-10-20 09:00:51,749.749 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:00:52,032.032 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:00:52,041.041 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:00:52,236.236 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:00:52,242.242 INFO    ] time= 20/10/2026 09:00:52
[2026-10-20 09:00:52,263.263 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:00:52,290.290 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:00:52,411.411 INFO    ] No existing commands found in stream
[2026-10-20 09:00:57,442.442 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:00:57,445.445 INFO    ] Waiting 3.65 seconds before fallback handling...
[2026-10-20 09:01:01,721.721 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 09:01:01,724.724 INFO    ] Checking for system updates...
[2026-10-20 09:01:01,764.764 INFO    ] 200
[2026-10-20 09:01:01,767.767 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:01:01,850.850 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:01:01,853.853 INFO    ] No update needed
[2026-10-20 09:01:01,856.856 INFO    ] Checking for camera pi updates...
[2026-10-20 09:01:01,903.903 INFO    ] 200
[2026-10-20 09:01:01,906.906 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:01:01,968.968 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:01:02,011.011 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:01:02,015.015 INFO    ] No camera update needed
[2026-10-20 09:01:02,019.019 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:01:02,023.023 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:01:02,031.031 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:01:02,038.038 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:01:04,082.082 INFO    ] ================================================
[2026-10-20 09:01:04,098.098 INFO    ] Launching Daemon at Tue Oct 20 09:01:04 IST 2026
[2026-10-20 09:01:04,109.109 INFO    ] ================================================
[2026-10-20 09:01:04,740.740 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:01:04
[2026-10-20 09:01:05,389.389 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:01:05,684.684 INFO    ] Initializing speech engine...
[2026-10-20 09:01:05,693.693 INFO    ] 2026-10-20 09:01:05
[2026-10-20 09:01:05,960.960 INFO    ] 2026-10-20 09:01:05
[2026-10-20 09:01:06,017.017 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:01:06,247.247 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:01:06,253.253 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:01:06,448.448 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:01:06,514.514 INFO    ] time= 20/10/2026 09:01:06
[2026-10-20 09:01:06,537.537 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:01:06,569.569 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:01:06,686.686 INFO    ] No existing commands found in stream
[2026-10-20 09:01:11,713.713 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:01:11,716.716 INFO    ] Waiting 2.74 seconds before fallback handling...
[2026-10-20 09:01:14,983.983 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:01:14,986.986 INFO    ] Checking for system updates...
[2026-10-20 09:01:15,023.023 INFO    ] 200
[2026-10-20 09:01:15,026.026 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:01:15,079.079 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:01:15,082.082 INFO    ] No update needed
[2026-10-20 09:01:15,084.084 INFO    ] Checking for camera pi updates...
[2026-10-20 09:01:15,121.121 INFO    ] 200
[2026-10-20 09:01:15,124.124 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:01:15,165.165 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:01:15,214.214 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:01:15,216.216 INFO    ] No camera update needed
[2026-10-20 09:01:15,219.219 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:01:15,222.222 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:01:15,227.227 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:01:15,233.233 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:01:17,275.275 INFO    ] ================================================
[2026-10-20 09:01:17,290.290 INFO    ] Launching Daemon at Tue Oct 20 09:01:17 IST 2026
[2026-10-20 09:01:17,301.301 INFO    ] ================================================
[2026-10-20 09:01:17,935.935 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:01:17
[2026-10-20 09:01:18,589.589 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:01:18,890.890 INFO    ] Initializing speech engine...
[2026-10-20 09:01:18,901.901 INFO    ] 2026-10-20 09:01:18
[2026-10-20 09:01:19,177.177 INFO    ] 2026-10-20 09:01:19
[2026-10-20 09:01:19,220.220 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:01:19,502.502 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:01:19,511.511 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:01:19,707.707 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:01:19,714.714 INFO    ] time= 20/10/2026 09:01:19
[2026-10-20 09:01:19,733.733 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:01:19,756.756 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:01:19,894.894 INFO    ] No existing commands found in stream
[2026-10-20 09:01:24,921.921 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:01:24,924.924 INFO    ] Waiting 1.08 seconds before fallback handling...
[2026-10-20 09:01:26,530.530 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:01:26,533.533 INFO    ] Checking for system updates...
[2026-10-20 09:01:26,573.573 INFO    ] 200
[2026-10-20 09:01:26,576.576 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:01:26,639.639 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:01:26,643.643 INFO    ] No update needed
[2026-10-20 09:01:26,646.646 INFO    ] Checking for camera pi updates...
[2026-10-20 09:01:26,686.686 INFO    ] 200
[2026-10-20 09:01:26,694.694 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:01:26,740.740 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:01:26,784.784 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:01:26,787.787 INFO    ] No camera update needed
[2026-10-20 09:01:26,790.790 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:01:26,792.792 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:01:26,799.799 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:01:26,805.805 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:01:28,847.847 INFO    ] ================================================
[2026-10-20 09:01:28,863.863 INFO    ] Launching Daemon at Tue Oct 20 09:01:28 IST 2026
[2026-10-20 09:01:28,874.874 INFO    ] ================================================
[2026-10-20 09:01:29,476.476 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:01:29
[2026-10-20 09:01:30,059.059 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:01:30,314.314 INFO    ] Initializing speech engine...
[2026-10-20 09:01:30,337.337 INFO    ] 2026-10-20 09:01:30
[2026-10-20 09:01:30,596.596 INFO    ] 2026-10-20 09:01:30
[2026-10-20 09:01:30,630.630 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:01:30,853.853 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:01:30,902.902 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:01:31,042.042 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:01:31,079.079 INFO    ] time= 20/10/2026 09:01:31
[2026-10-20 09:01:31,133.133 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:01:31,176.176 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:01:31,307.307 INFO    ] No existing commands found in stream
[2026-10-20 09:01:36,355.355 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:01:36,358.358 INFO    ] Waiting 1.15 seconds before fallback handling...
[2026-10-20 09:01:37,971.971 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:01:37,973.973 INFO    ] Checking for system updates...
[2026-10-20 09:01:38,009.009 INFO    ] 200
[2026-10-20 09:01:38,012.012 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:01:38,068.068 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:01:38,071.071 INFO    ] No update needed
[2026-10-20 09:01:38,074.074 INFO    ] Checking for camera pi updates...
[2026-10-20 09:01:38,107.107 INFO    ] 200
[2026-10-20 09:01:38,110.110 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:01:38,155.155 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:01:38,208.208 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:01:38,211.211 INFO    ] No camera update needed
[2026-10-20 09:01:38,213.213 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:01:38,215.215 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:01:38,220.220 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:01:38,225.225 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:01:40,265.265 INFO    ] ================================================
[2026-10-20 09:01:40,281.281 INFO    ] Launching Daemon at Tue Oct 20 09:01:40 IST 2026
[2026-10-20 09:01:40,293.293 INFO    ] ================================================
[2026-10-20 09:01:40,863.863 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:01:40
[2026-10-20 09:01:41,447.447 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:01:41,715.715 INFO    ] Initializing speech engine...
[2026-10-20 09:01:41,724.724 INFO    ] 2026-10-20 09:01:41
[2026-10-20 09:01:41,977.977 INFO    ] 2026-10-20 09:01:41
[2026-10-20 09:01:42,014.014 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:01:42,264.264 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:01:42,270.270 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:01:42,466.466 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:01:42,521.521 INFO    ] time= 20/10/2026 09:01:42
[2026-10-20 09:01:42,533.533 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:01:42,550.550 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:01:42,683.683 INFO    ] No existing commands found in stream
[2026-10-20 09:01:47,704.704 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:01:47,707.707 INFO    ] Waiting 2.89 seconds before fallback handling...
[2026-10-20 09:01:51,125.125 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:01:51,127.127 INFO    ] Checking for system updates...
[2026-10-20 09:01:51,163.163 INFO    ] 200
[2026-10-20 09:01:51,166.166 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:01:51,217.217 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:01:51,220.220 INFO    ] No update needed
[2026-10-20 09:01:51,223.223 INFO    ] Checking for camera pi updates...
[2026-10-20 09:01:51,255.255 INFO    ] 200
[2026-10-20 09:01:51,258.258 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:01:51,297.297 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:01:51,345.345 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:01:51,347.347 INFO    ] No camera update needed
[2026-10-20 09:01:51,350.350 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:01:51,352.352 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:01:51,358.358 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:01:51,362.362 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:01:53,403.403 INFO    ] ================================================
[2026-10-20 09:01:53,419.419 INFO    ] Launching Daemon at Tue Oct 20 09:01:53 IST 2026
[2026-10-20 09:01:53,429.429 INFO    ] ================================================
[2026-10-20 09:01:54,051.051 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:01:54
[2026-10-20 09:01:54,691.691 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:01:54,988.988 INFO    ] Initializing speech engine...
[2026-10-20 09:01:54,997.997 INFO    ] 2026-10-20 09:01:54
[2026-10-20 09:01:55,262.262 INFO    ] 2026-10-20 09:01:55
[2026-10-20 09:01:55,315.315 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:01:55,566.566 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:01:55,585.585 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:01:55,789.789 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:01:55,808.808 INFO    ] time= 20/10/2026 09:01:55
[2026-10-20 09:01:55,824.824 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:01:55,849.849 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:01:55,963.963 INFO    ] No existing commands found in stream
[2026-10-20 09:02:00,986.986 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:02:00,989.989 INFO    ] Waiting 3.12 seconds before fallback handling...
[2026-10-20 09:02:04,696.696 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:02:04,699.699 INFO    ] Checking for system updates...
[2026-10-20 09:02:04,735.735 INFO    ] 200
[2026-10-20 09:02:04,738.738 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:02:04,791.791 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:02:04,793.793 INFO    ] No update needed
[2026-10-20 09:02:04,796.796 INFO    ] Checking for camera pi updates...
[2026-10-20 09:02:04,831.831 INFO    ] 200
[2026-10-20 09:02:04,834.834 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:02:04,880.880 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:02:04,913.913 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:02:04,916.916 INFO    ] No camera update needed
[2026-10-20 09:02:04,918.918 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:02:04,921.921 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:02:04,927.927 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:02:04,933.933 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:02:06,974.974 INFO    ] ================================================
[2026-10-20 09:02:06,989.989 INFO    ] Launching Daemon at Tue Oct 20 09:02:06 IST 2026
[2026-10-20 09:02:07,000.000 INFO    ] ================================================
[2026-10-20 09:02:07,658.658 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:02:07
[2026-10-20 09:02:08,333.333 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:02:08,639.639 INFO    ] Initializing speech engine...
[2026-10-20 09:02:08,651.651 INFO    ] 2026-10-20 09:02:08
[2026-10-20 09:02:08,935.935 INFO    ] 2026-10-20 09:02:08
[2026-10-20 09:02:08,974.974 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:02:09,253.253 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:02:09,262.262 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:02:09,456.456 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:02:09,463.463 INFO    ] time= 20/10/2026 09:02:09
[2026-10-20 09:02:09,485.485 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:02:09,513.513 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:02:09,652.652 INFO    ] No existing commands found in stream
[2026-10-20 09:02:14,683.683 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:02:14,686.686 INFO    ] Waiting 1.63 seconds before fallback handling...
[2026-10-20 09:02:16,897.897 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:02:16,900.900 INFO    ] Checking for system updates...
[2026-10-20 09:02:16,938.938 INFO    ] 200
[2026-10-20 09:02:16,942.942 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:02:17,018.018 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:02:17,021.021 INFO    ] No update needed
[2026-10-20 09:02:17,024.024 INFO    ] Checking for camera pi updates...
[2026-10-20 09:02:17,060.060 INFO    ] 200
[2026-10-20 09:02:17,063.063 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:02:17,104.104 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:02:17,252.252 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:02:17,255.255 INFO    ] No camera update needed
[2026-10-20 09:02:17,258.258 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:02:17,262.262 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:02:17,268.268 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:02:17,274.274 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:02:19,315.315 INFO    ] ================================================
[2026-10-20 09:02:19,331.331 INFO    ] Launching Daemon at Tue Oct 20 09:02:19 IST 2026
[2026-10-20 09:02:19,342.342 INFO    ] ================================================
[2026-10-20 09:02:20,008.008 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:02:20
[2026-10-20 09:02:20,696.696 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:02:21,013.013 INFO    ] Initializing speech engine...
[2026-10-20 09:02:21,020.020 INFO    ] 2026-10-20 09:02:21
[2026-10-20 09:02:21,306.306 INFO    ] 2026-10-20 09:02:21
[2026-10-20 09:02:21,415.415 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:02:21,593.593 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:02:21,613.613 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:02:21,828.828 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:02:21,836.836 INFO    ] time= 20/10/2026 09:02:21
[2026-10-20 09:02:21,858.858 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:02:21,884.884 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:02:22,020.020 INFO    ] No existing commands found in stream
[2026-10-20 09:02:27,052.052 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:02:27,055.055 INFO    ] Waiting 2.99 seconds before fallback handling...
[2026-10-20 09:02:30,551.551 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:02:30,554.554 INFO    ] Checking for system updates...
[2026-10-20 09:02:30,591.591 INFO    ] 200
[2026-10-20 09:02:30,594.594 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:02:30,652.652 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:02:30,655.655 INFO    ] No update needed
[2026-10-20 09:02:30,658.658 INFO    ] Checking for camera pi updates...
[2026-10-20 09:02:30,693.693 INFO    ] 200
[2026-10-20 09:02:30,696.696 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:02:30,741.741 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:02:30,795.795 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:02:30,798.798 INFO    ] No camera update needed
[2026-10-20 09:02:30,801.801 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:02:30,804.804 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:02:30,810.810 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:02:30,816.816 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:02:32,857.857 INFO    ] ================================================
[2026-10-20 09:02:32,873.873 INFO    ] Launching Daemon at Tue Oct 20 09:02:32 IST 2026
[2026-10-20 09:02:32,884.884 INFO    ] ================================================
[2026-10-20 09:02:33,535.535 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:02:33
[2026-10-20 09:02:34,209.209 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:02:34,522.522 INFO    ] Initializing speech engine...
[2026-10-20 09:02:34,530.530 INFO    ] 2026-10-20 09:02:34
[2026-10-20 09:02:34,792.792 INFO    ] 2026-10-20 09:02:34
[2026-10-20 09:02:34,854.854 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:02:35,033.033 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:02:35,054.054 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:02:35,204.204 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:02:35,208.208 INFO    ] time= 20/10/2026 09:02:35
[2026-10-20 09:02:35,215.215 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:02:35,221.221 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:02:35,381.381 INFO    ] No existing commands found in stream
[2026-10-20 09:02:40,411.411 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:02:40,414.414 INFO    ] Waiting 1.60 seconds before fallback handling...
[2026-10-20 09:02:42,548.548 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:02:42,551.551 INFO    ] Checking for system updates...
[2026-10-20 09:02:42,585.585 INFO    ] 200
[2026-10-20 09:02:42,588.588 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:02:42,639.639 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:02:42,642.642 INFO    ] No update needed
[2026-10-20 09:02:42,644.644 INFO    ] Checking for camera pi updates...
[2026-10-20 09:02:42,678.678 INFO    ] 200
[2026-10-20 09:02:42,680.680 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:02:42,725.725 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:02:42,758.758 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:02:42,761.761 INFO    ] No camera update needed
[2026-10-20 09:02:42,763.763 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:02:42,765.765 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:02:42,771.771 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:02:42,776.776 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:02:44,815.815 INFO    ] ================================================
[2026-10-20 09:02:44,831.831 INFO    ] Launching Daemon at Tue Oct 20 09:02:44 IST 2026
[2026-10-20 09:02:44,842.842 INFO    ] ================================================
[2026-10-20 09:02:45,419.419 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:02:45
[2026-10-20 09:02:46,008.008 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:02:46,263.263 INFO    ] Initializing speech engine...
[2026-10-20 09:02:46,272.272 INFO    ] 2026-10-20 09:02:46
[2026-10-20 09:02:46,566.566 INFO    ] 2026-10-20 09:02:46
[2026-10-20 09:02:46,604.604 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:02:46,805.805 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:02:46,818.818 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:02:46,981.981 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:02:46,989.989 INFO    ] time= 20/10/2026 09:02:46
[2026-10-20 09:02:46,994.994 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:02:47,001.001 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:02:47,136.136 INFO    ] No existing commands found in stream
[2026-10-20 09:02:52,161.161 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:02:52,164.164 INFO    ] Waiting 3.81 seconds before fallback handling...
[2026-10-20 09:02:56,480.480 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 09:02:56,482.482 INFO    ] Checking for system updates...
[2026-10-20 09:02:56,517.517 INFO    ] 200
[2026-10-20 09:02:56,520.520 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:02:56,579.579 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:02:56,581.581 INFO    ] No update needed
[2026-10-20 09:02:56,583.583 INFO    ] Checking for camera pi updates...
[2026-10-20 09:02:56,617.617 INFO    ] 200
[2026-10-20 09:02:56,619.619 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:02:56,659.659 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:02:56,706.706 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:02:56,708.708 INFO    ] No camera update needed
[2026-10-20 09:02:56,711.711 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:02:56,713.713 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:02:56,719.719 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:02:56,724.724 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:02:58,764.764 INFO    ] ================================================
[2026-10-20 09:02:58,779.779 INFO    ] Launching Daemon at Tue Oct 20 09:02:58 IST 2026
[2026-10-20 09:02:58,790.790 INFO    ] ================================================
[2026-10-20 09:02:59,444.444 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:02:59
[2026-10-20 09:03:00,118.118 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:03:00,430.430 INFO    ] Initializing speech engine...
[2026-10-20 09:03:00,436.436 INFO    ] 2026-10-20 09:03:00
[2026-10-20 09:03:00,745.745 INFO    ] 2026-10-20 09:03:00
[2026-10-20 09:03:00,830.830 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:03:01,041.041 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:03:01,048.048 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:03:01,209.209 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:03:01,224.224 INFO    ] time= 20/10/2026 09:03:01
[2026-10-20 09:03:01,229.229 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:03:01,235.235 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:03:01,311.311 INFO    ] No existing commands found in stream
[2026-10-20 09:03:06,322.322 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:03:06,325.325 INFO    ] Waiting 1.14 seconds before fallback handling...
[2026-10-20 09:03:07,993.993 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:03:07,996.996 INFO    ] Checking for system updates...
[2026-10-20 09:03:08,033.033 INFO    ] 200
[2026-10-20 09:03:08,036.036 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:03:08,090.090 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:03:08,092.092 INFO    ] No update needed
[2026-10-20 09:03:08,095.095 INFO    ] Checking for camera pi updates...
[2026-10-20 09:03:08,132.132 INFO    ] 200
[2026-10-20 09:03:08,135.135 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:03:08,175.175 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:03:08,219.219 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:03:08,222.222 INFO    ] No camera update needed
[2026-10-20 09:03:08,224.224 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:03:08,227.227 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:03:08,233.233 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:03:08,239.239 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:03:10,279.279 INFO    ] ================================================
[2026-10-20 09:03:10,295.295 INFO    ] Launching Daemon at Tue Oct 20 09:03:10 IST 2026
[2026-10-20 09:03:10,306.306 INFO    ] ================================================
[2026-10-20 09:03:10,949.949 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:03:10
[2026-10-20 09:03:11,614.614 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:03:11,916.916 INFO    ] Initializing speech engine...
[2026-10-20 09:03:11,925.925 INFO    ] 2026-10-20 09:03:11
[2026-10-20 09:03:12,247.247 INFO    ] 2026-10-20 09:03:12
[2026-10-20 09:03:12,335.335 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:03:12,538.538 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:03:12,542.542 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:03:12,730.730 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:03:12,785.785 INFO    ] time= 20/10/2026 09:03:12
[2026-10-20 09:03:12,814.814 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:03:12,831.831 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:03:12,973.973 INFO    ] No existing commands found in stream
[2026-10-20 09:03:17,992.992 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:03:17,995.995 INFO    ] Waiting 2.05 seconds before fallback handling...
[2026-10-20 09:03:20,521.521 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:03:20,524.524 INFO    ] Checking for system updates...
[2026-10-20 09:03:20,563.563 INFO    ] 200
[2026-10-20 09:03:20,566.566 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:03:20,619.619 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:03:20,622.622 INFO    ] No update needed
[2026-10-20 09:03:20,625.625 INFO    ] Checking for camera pi updates...
[2026-10-20 09:03:20,658.658 INFO    ] 200
[2026-10-20 09:03:20,661.661 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:03:20,705.705 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:03:20,754.754 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:03:20,757.757 INFO    ] No camera update needed
[2026-10-20 09:03:20,759.759 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:03:20,762.762 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:03:20,767.767 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:03:20,772.772 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:03:22,812.812 INFO    ] ================================================
[2026-10-20 09:03:22,829.829 INFO    ] Launching Daemon at Tue Oct 20 09:03:22 IST 2026
[2026-10-20 09:03:22,840.840 INFO    ] ================================================
[2026-10-20 09:03:23,493.493 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:03:23
[2026-10-20 09:03:24,168.168 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:03:24,475.475 INFO    ] Initializing speech engine...
[2026-10-20 09:03:24,482.482 INFO    ] 2026-10-20 09:03:24
[2026-10-20 09:03:24,773.773 INFO    ] 2026-10-20 09:03:24
[2026-10-20 09:03:24,883.883 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:03:25,096.096 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:03:25,105.105 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:03:25,298.298 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:03:25,319.319 INFO    ] time= 20/10/2026 09:03:25
[2026-10-20 09:03:25,346.346 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:03:25,355.355 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:03:25,480.480 INFO    ] No existing commands found in stream
[2026-10-20 09:03:30,511.511 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:03:30,514.514 INFO    ] Waiting 1.20 seconds before fallback handling...
[2026-10-20 09:03:32,256.256 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:03:32,259.259 INFO    ] Checking for system updates...
[2026-10-20 09:03:32,302.302 INFO    ] 200
[2026-10-20 09:03:32,306.306 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:03:32,362.362 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:03:32,365.365 INFO    ] No update needed
[2026-10-20 09:03:32,368.368 INFO    ] Checking for camera pi updates...
[2026-10-20 09:03:32,407.407 INFO    ] 200
[2026-10-20 09:03:32,410.410 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:03:32,453.453 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:03:32,488.488 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:03:32,496.496 INFO    ] No camera update needed
[2026-10-20 09:03:32,499.499 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:03:32,502.502 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:03:32,509.509 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:03:32,515.515 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:03:34,556.556 INFO    ] ================================================
[2026-10-20 09:03:34,572.572 INFO    ] Launching Daemon at Tue Oct 20 09:03:34 IST 2026
[2026-10-20 09:03:34,584.584 INFO    ] ================================================
[2026-10-20 09:03:35,166.166 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:03:35
[2026-10-20 09:03:35,763.763 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:03:36,040.040 INFO    ] Initializing speech engine...
[2026-10-20 09:03:36,047.047 INFO    ] 2026-10-20 09:03:36
[2026-10-20 09:03:36,306.306 INFO    ] 2026-10-20 09:03:36
[2026-10-20 09:03:36,336.336 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:03:36,581.581 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:03:36,592.592 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:03:36,806.806 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:03:36,849.849 INFO    ] time= 20/10/2026 09:03:36
[2026-10-20 09:03:36,855.855 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:03:36,873.873 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:03:37,013.013 INFO    ] No existing commands found in stream
[2026-10-20 09:03:42,044.044 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:03:42,047.047 INFO    ] Waiting 0.90 seconds before fallback handling...
[2026-10-20 09:03:43,420.420 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 09:03:43,423.423 INFO    ] Checking for system updates...
[2026-10-20 09:03:43,458.458 INFO    ] 200
[2026-10-20 09:03:43,461.461 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:03:43,512.512 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:03:43,515.515 INFO    ] No update needed
[2026-10-20 09:03:43,517.517 INFO    ] Checking for camera pi updates...
[2026-10-20 09:03:43,554.554 INFO    ] 200
[2026-10-20 09:03:43,556.556 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:03:43,597.597 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:03:43,645.645 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:03:43,648.648 INFO    ] No camera update needed
[2026-10-20 09:03:43,651.651 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:03:43,654.654 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:03:43,659.659 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:03:43,664.664 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:03:45,708.708 INFO    ] ================================================
[2026-10-20 09:03:45,723.723 INFO    ] Launching Daemon at Tue Oct 20 09:03:45 IST 2026
[2026-10-20 09:03:45,734.734 INFO    ] ================================================
[2026-10-20 09:03:46,300.300 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:03:46
[2026-10-20 09:03:46,887.887 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:03:47,147.147 INFO    ] Initializing speech engine...
[2026-10-20 09:03:47,168.168 INFO    ] 2026-10-20 09:03:47
[2026-10-20 09:03:47,443.443 INFO    ] 2026-10-20 09:03:47
[2026-10-20 09:03:47,477.477 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:03:47,681.681 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:03:47,694.694 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:03:47,860.860 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:03:47,865.865 INFO    ] time= 20/10/2026 09:03:47
[2026-10-20 09:03:47,872.872 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:03:47,898.898 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:03:48,044.044 INFO    ] No existing commands found in stream
[2026-10-20 09:03:53,069.069 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:03:53,072.072 INFO    ] Waiting 1.80 seconds before fallback handling...
[2026-10-20 09:03:55,410.410 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 09:03:55,413.413 INFO    ] Checking for system updates...
[2026-10-20 09:03:55,449.449 INFO    ] 200
[2026-10-20 09:03:55,451.451 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:03:55,507.507 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:03:55,509.509 INFO    ] No update needed
[2026-10-20 09:03:55,512.512 INFO    ] Checking for camera pi updates...
[2026-10-20 09:03:55,549.549 INFO    ] 200
[2026-10-20 09:03:55,551.551 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:03:55,592.592 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:03:55,636.636 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:03:55,639.639 INFO    ] No camera update needed
[2026-10-20 09:03:55,641.641 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:03:55,644.644 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:03:55,649.649 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:03:55,654.654 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:03:57,695.695 INFO    ] ================================================
[2026-10-20 09:03:57,711.711 INFO    ] Launching Daemon at Tue Oct 20 09:03:57 IST 2026
[2026-10-20 09:03:57,721.721 INFO    ] ================================================
[2026-10-20 09:03:58,365.365 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:03:58
[2026-10-20 09:03:59,029.029 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:03:59,329.329 INFO    ] Initializing speech engine...
[2026-10-20 09:03:59,337.337 INFO    ] 2026-10-20 09:03:59
[2026-10-20 09:03:59,620.620 INFO    ] 2026-10-20 09:03:59
[2026-10-20 09:03:59,675.675 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:03:59,950.950 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:03:59,957.957 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:04:00,152.152 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:04:00,171.171 INFO    ] time= 20/10/2026 09:04:00
[2026-10-20 09:04:00,200.200 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:04:00,210.210 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:04:00,345.345 INFO    ] No existing commands found in stream
[2026-10-20 09:04:05,376.376 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:04:05,379.379 INFO    ] Waiting 2.79 seconds before fallback handling...
[2026-10-20 09:04:08,717.717 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 09:04:08,721.721 INFO    ] Checking for system updates...
[2026-10-20 09:04:08,757.757 INFO    ] 200
[2026-10-20 09:04:08,760.760 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:04:08,813.813 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:04:08,816.816 INFO    ] No update needed
[2026-10-20 09:04:08,818.818 INFO    ] Checking for camera pi updates...
[2026-10-20 09:04:08,853.853 INFO    ] 200
[2026-10-20 09:04:08,856.856 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:04:08,896.896 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:04:08,946.946 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:04:08,949.949 INFO    ] No camera update needed
[2026-10-20 09:04:08,952.952 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:04:08,954.954 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:04:08,961.961 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:04:08,966.966 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:04:11,007.007 INFO    ] ================================================
[2026-10-20 09:04:11,023.023 INFO    ] Launching Daemon at Tue Oct 20 09:04:11 IST 2026
[2026-10-20 09:04:11,034.034 INFO    ] ================================================
[2026-10-20 09:04:11,599.599 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:04:11
[2026-10-20 09:04:12,181.181 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:04:12,452.452 INFO    ] Initializing speech engine...
[2026-10-20 09:04:12,461.461 INFO    ] 2026-10-20 09:04:12
[2026-10-20 09:04:12,711.711 INFO    ] 2026-10-20 09:04:12
[2026-10-20 09:04:12,746.746 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:04:12,946.946 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:04:13,005.005 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:04:13,221.221 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:04:13,274.274 INFO    ] time= 20/10/2026 09:04:13
[2026-10-20 09:04:13,280.280 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:04:13,298.298 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:04:13,421.421 INFO    ] No existing commands found in stream
[2026-10-20 09:04:18,443.443 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:04:18,446.446 INFO    ] Waiting 0.19 seconds before fallback handling...
[2026-10-20 09:04:19,126.126 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:04:19,129.129 INFO    ] Checking for system updates...
[2026-10-20 09:04:19,164.164 INFO    ] 200
[2026-10-20 09:04:19,166.166 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:04:19,223.223 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:04:19,226.226 INFO    ] No update needed
[2026-10-20 09:04:19,228.228 INFO    ] Checking for camera pi updates...
[2026-10-20 09:04:19,264.264 INFO    ] 200
[2026-10-20 09:04:19,267.267 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:04:19,310.310 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:04:19,457.457 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:04:19,460.460 INFO    ] No camera update needed
[2026-10-20 09:04:19,462.462 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:04:19,464.464 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:04:19,470.470 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:04:19,475.475 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:04:21,515.515 INFO    ] ================================================
[2026-10-20 09:04:21,530.530 INFO    ] Launching Daemon at Tue Oct 20 09:04:21 IST 2026
[2026-10-20 09:04:21,541.541 INFO    ] ================================================
[2026-10-20 09:04:22,181.181 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:04:22
[2026-10-20 09:04:22,833.833 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:04:23,110.110 INFO    ] Initializing speech engine...
[2026-10-20 09:04:23,118.118 INFO    ] 2026-10-20 09:04:23
[2026-10-20 09:04:23,374.374 INFO    ] 2026-10-20 09:04:23
[2026-10-20 09:04:23,408.408 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:04:23,659.659 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:04:23,668.668 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:04:23,805.805 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:04:23,855.855 INFO    ] time= 20/10/2026 09:04:23
[2026-10-20 09:04:23,904.904 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:04:23,939.939 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:04:24,084.084 INFO    ] No existing commands found in stream
[2026-10-20 09:04:29,101.101 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:04:29,103.103 INFO    ] Waiting 1.79 seconds before fallback handling...
[2026-10-20 09:04:31,460.460 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:04:31,463.463 INFO    ] Checking for system updates...
[2026-10-20 09:04:31,502.502 INFO    ] 200
[2026-10-20 09:04:31,505.505 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:04:31,570.570 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:04:31,573.573 INFO    ] No update needed
[2026-10-20 09:04:31,576.576 INFO    ] Checking for camera pi updates...
[2026-10-20 09:04:31,614.614 INFO    ] 200
[2026-10-20 09:04:31,617.617 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:04:31,661.661 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:04:31,706.706 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:04:31,709.709 INFO    ] No camera update needed
[2026-10-20 09:04:31,713.713 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:04:31,716.716 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:04:31,723.723 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:04:31,729.729 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:04:33,774.774 INFO    ] ================================================
[2026-10-20 09:04:33,789.789 INFO    ] Launching Daemon at Tue Oct 20 09:04:33 IST 2026
[2026-10-20 09:04:33,800.800 INFO    ] ================================================
[2026-10-20 09:04:34,369.369 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:04:34
[2026-10-20 09:04:34,955.955 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:04:35,216.216 INFO    ] Initializing speech engine...
[2026-10-20 09:04:35,222.222 INFO    ] 2026-10-20 09:04:35
[2026-10-20 09:04:35,516.516 INFO    ] 2026-10-20 09:04:35
[2026-10-20 09:04:35,553.553 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:04:35,749.749 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:04:35,763.763 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:04:35,923.923 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:04:35,932.932 INFO    ] time= 20/10/2026 09:04:35
[2026-10-20 09:04:35,936.936 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:04:35,942.942 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:04:36,048.048 INFO    ] No existing commands found in stream
[2026-10-20 09:04:41,079.079 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:04:41,081.081 INFO    ] Waiting 0.99 seconds before fallback handling...
[2026-10-20 09:04:42,574.574 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:04:42,577.577 INFO    ] Checking for system updates...
[2026-10-20 09:04:42,631.631 INFO    ] 200
[2026-10-20 09:04:42,634.634 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:04:42,694.694 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:04:42,697.697 INFO    ] No update needed
[2026-10-20 09:04:42,699.699 INFO    ] Checking for camera pi updates...
[2026-10-20 09:04:42,735.735 INFO    ] 200
[2026-10-20 09:04:42,738.738 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:04:42,783.783 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:04:42,832.832 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:04:42,835.835 INFO    ] No camera update needed
[2026-10-20 09:04:42,837.837 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:04:42,840.840 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:04:42,846.846 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:04:42,852.852 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:04:44,892.892 INFO    ] ================================================
[2026-10-20 09:04:44,907.907 INFO    ] Launching Daemon at Tue Oct 20 09:04:44 IST 2026
[2026-10-20 09:04:44,918.918 INFO    ] ================================================
[2026-10-20 09:04:45,487.487 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:04:45
[2026-10-20 09:04:46,073.073 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:04:46,345.345 INFO    ] Initializing speech engine...
[2026-10-20 09:04:46,357.357 INFO    ] 2026-10-20 09:04:46
[2026-10-20 09:04:46,606.606 INFO    ] 2026-10-20 09:04:46
[2026-10-20 09:04:46,648.648 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:04:46,845.845 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:04:46,860.860 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:04:47,068.068 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:04:47,085.085 INFO    ] time= 20/10/2026 09:04:47
[2026-10-20 09:04:47,144.144 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:04:47,199.199 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:04:47,380.380 INFO    ] No existing commands found in stream
[2026-10-20 09:04:52,395.395 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:04:52,398.398 INFO    ] Waiting 2.65 seconds before fallback handling...
[2026-10-20 09:04:55,521.521 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:04:55,523.523 INFO    ] Checking for system updates...
[2026-10-20 09:04:55,562.562 INFO    ] 200
[2026-10-20 09:04:55,564.564 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:04:55,616.616 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:04:55,618.618 INFO    ] No update needed
[2026-10-20 09:04:55,621.621 INFO    ] Checking for camera pi updates...
[2026-10-20 09:04:55,654.654 INFO    ] 200
[2026-10-20 09:04:55,657.657 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:04:55,696.696 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:04:55,753.753 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:04:55,755.755 INFO    ] No camera update needed
[2026-10-20 09:04:55,758.758 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:04:55,760.760 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:04:55,766.766 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:04:55,771.771 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:04:57,811.811 INFO    ] ================================================
[2026-10-20 09:04:57,825.825 INFO    ] Launching Daemon at Tue Oct 20 09:04:57 IST 2026
[2026-10-20 09:04:57,837.837 INFO    ] ================================================
[2026-10-20 09:04:58,405.405 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:04:58
[2026-10-20 09:04:58,989.989 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:04:59,260.260 INFO    ] Initializing speech engine...
[2026-10-20 09:04:59,266.266 INFO    ] 2026-10-20 09:04:59
[2026-10-20 09:04:59,527.527 INFO    ] 2026-10-20 09:04:59
[2026-10-20 09:04:59,581.581 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:04:59,806.806 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:04:59,812.812 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:04:59,980.980 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:05:00,029.029 INFO    ] time= 20/10/2026 09:04:59
[2026-10-20 09:05:00,071.071 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:05:00,077.077 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:05:00,223.223 INFO    ] No existing commands found in stream
[2026-10-20 09:05:05,237.237 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:05:05,240.240 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-10-20 09:05:07,796.796 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 09:05:07,798.798 INFO    ] Checking for system updates...
[2026-10-20 09:05:07,833.833 INFO    ] 200
[2026-10-20 09:05:07,836.836 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:05:07,903.903 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:05:07,905.905 INFO    ] No update needed
[2026-10-20 09:05:07,908.908 INFO    ] Checking for camera pi updates...
[2026-10-20 09:05:07,952.952 INFO    ] 200
[2026-10-20 09:05:07,954.954 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:05:07,994.994 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:05:08,030.030 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:05:08,033.033 INFO    ] No camera update needed
[2026-10-20 09:05:08,035.035 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:05:08,037.037 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:05:08,043.043 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:05:08,048.048 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:05:10,089.089 INFO    ] ================================================
[2026-10-20 09:05:10,103.103 INFO    ] Launching Daemon at Tue Oct 20 09:05:10 IST 2026
[2026-10-20 09:05:10,114.114 INFO    ] ================================================
[2026-10-20 09:05:10,687.687 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:05:10
[2026-10-20 09:05:11,275.275 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:05:11,545.545 INFO    ] Initializing speech engine...
[2026-10-20 09:05:11,554.554 INFO    ] 2026-10-20 09:05:11
[2026-10-20 09:05:11,801.801 INFO    ] 2026-10-20 09:05:11
[2026-10-20 09:05:11,836.836 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:05:12,089.089 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:05:12,098.098 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:05:12,237.237 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:05:12,312.312 INFO    ] time= 20/10/2026 09:05:12
[2026-10-20 09:05:12,360.360 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:05:12,366.366 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:05:12,509.509 INFO    ] No existing commands found in stream
[2026-10-20 09:05:17,523.523 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:05:17,526.526 INFO    ] Waiting 2.13 seconds before fallback handling...
[2026-10-20 09:05:20,592.592 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:05:20,595.595 INFO    ] Checking for system updates...
[2026-10-20 09:05:20,631.631 INFO    ] 200
[2026-10-20 09:05:20,634.634 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:05:20,693.693 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:05:20,696.696 INFO    ] No update needed
[2026-10-20 09:05:20,698.698 INFO    ] Checking for camera pi updates...
[2026-10-20 09:05:20,736.736 INFO    ] 200
[2026-10-20 09:05:20,739.739 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:05:20,784.784 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:05:20,832.832 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:05:20,835.835 INFO    ] No camera update needed
[2026-10-20 09:05:20,838.838 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:05:20,841.841 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:05:20,847.847 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:05:20,852.852 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:05:22,893.893 INFO    ] ================================================
[2026-10-20 09:05:22,908.908 INFO    ] Launching Daemon at Tue Oct 20 09:05:22 IST 2026
[2026-10-20 09:05:22,919.919 INFO    ] ================================================
[2026-10-20 09:05:23,488.488 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:05:23
[2026-10-20 09:05:24,072.072 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:05:24,332.332 INFO    ] Initializing speech engine...
[2026-10-20 09:05:24,351.351 INFO    ] 2026-10-20 09:05:24
[2026-10-20 09:05:24,604.604 INFO    ] 2026-10-20 09:05:24
[2026-10-20 09:05:24,638.638 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:05:24,877.877 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:05:24,905.905 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:05:25,053.053 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:05:25,118.118 INFO    ] time= 20/10/2026 09:05:25
[2026-10-20 09:05:25,167.167 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:05:25,182.182 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:05:25,317.317 INFO    ] No existing commands found in stream
[2026-10-20 09:05:30,340.340 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:05:30,342.342 INFO    ] Waiting 1.36 seconds before fallback handling...
[2026-10-20 09:05:32,208.208 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:05:32,211.211 INFO    ] Checking for system updates...
[2026-10-20 09:05:32,253.253 INFO    ] 200
[2026-10-20 09:05:32,256.256 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:05:32,312.312 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:05:32,315.315 INFO    ] No update needed
[2026-10-20 09:05:32,317.317 INFO    ] Checking for camera pi updates...
[2026-10-20 09:05:32,352.352 INFO    ] 200
[2026-10-20 09:05:32,355.355 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:05:32,407.407 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:05:32,438.438 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:05:32,441.441 INFO    ] No camera update needed
[2026-10-20 09:05:32,444.444 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:05:32,447.447 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:05:32,454.454 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:05:32,460.460 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:05:34,502.502 INFO    ] ================================================
[2026-10-20 09:05:34,517.517 INFO    ] Launching Daemon at Tue Oct 20 09:05:34 IST 2026
[2026-10-20 09:05:34,527.527 INFO    ] ================================================
[2026-10-20 09:05:35,093.093 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:05:35
[2026-10-20 09:05:35,678.678 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:05:35,930.930 INFO    ] Initializing speech engine...
[2026-10-20 09:05:35,939.939 INFO    ] 2026-10-20 09:05:35
[2026-10-20 09:05:36,229.229 INFO    ] 2026-10-20 09:05:36
[2026-10-20 09:05:36,266.266 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:05:36,486.486 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:05:36,494.494 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:05:36,703.703 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:05:36,718.718 INFO    ] time= 20/10/2026 09:05:36
[2026-10-20 09:05:36,768.768 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:05:36,786.786 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:05:36,886.886 INFO    ] No existing commands found in stream
[2026-10-20 09:05:41,898.898 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:05:41,901.901 INFO    ] Waiting 1.95 seconds before fallback handling...
[2026-10-20 09:05:44,358.358 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:05:44,360.360 INFO    ] Checking for system updates...
[2026-10-20 09:05:44,395.395 INFO    ] 200
[2026-10-20 09:05:44,398.398 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:05:44,451.451 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:05:44,453.453 INFO    ] No update needed
[2026-10-20 09:05:44,455.455 INFO    ] Checking for camera pi updates...
[2026-10-20 09:05:44,489.489 INFO    ] 200
[2026-10-20 09:05:44,491.491 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:05:44,531.531 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:05:44,574.574 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:05:44,576.576 INFO    ] No camera update needed
[2026-10-20 09:05:44,578.578 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:05:44,581.581 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:05:44,586.586 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:05:44,591.591 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:05:46,631.631 INFO    ] ================================================
[2026-10-20 09:05:46,646.646 INFO    ] Launching Daemon at Tue Oct 20 09:05:46 IST 2026
[2026-10-20 09:05:46,657.657 INFO    ] ================================================
[2026-10-20 09:05:47,224.224 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:05:47
[2026-10-20 09:05:47,808.808 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:05:48,076.076 INFO    ] Initializing speech engine...
[2026-10-20 09:05:48,085.085 INFO    ] 2026-10-20 09:05:48
[2026-10-20 09:05:48,331.331 INFO    ] 2026-10-20 09:05:48
[2026-10-20 09:05:48,367.367 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:05:48,579.579 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:05:48,621.621 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:05:48,834.834 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:05:48,884.884 INFO    ] time= 20/10/2026 09:05:48
[2026-10-20 09:05:48,891.891 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:05:48,908.908 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:05:49,040.040 INFO    ] No existing commands found in stream
[2026-10-20 09:05:54,059.059 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:05:54,062.062 INFO    ] Waiting 0.34 seconds before fallback handling...
[2026-10-20 09:05:54,884.884 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:05:54,887.887 INFO    ] Checking for system updates...
[2026-10-20 09:05:54,922.922 INFO    ] 200
[2026-10-20 09:05:54,924.924 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:05:54,976.976 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:05:54,979.979 INFO    ] No update needed
[2026-10-20 09:05:54,981.981 INFO    ] Checking for camera pi updates...
[2026-10-20 09:05:55,015.015 INFO    ] 200
[2026-10-20 09:05:55,017.017 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:05:55,058.058 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:05:55,101.101 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:05:55,103.103 INFO    ] No camera update needed
[2026-10-20 09:05:55,105.105 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:05:55,108.108 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:05:55,113.113 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:05:55,118.118 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:05:57,159.159 INFO    ] ================================================
[2026-10-20 09:05:57,174.174 INFO    ] Launching Daemon at Tue Oct 20 09:05:57 IST 2026
[2026-10-20 09:05:57,189.189 INFO    ] ================================================
[2026-10-20 09:05:57,759.759 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:05:57
[2026-10-20 09:05:58,348.348 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:05:58,617.617 INFO    ] Initializing speech engine...
[2026-10-20 09:05:58,626.626 INFO    ] 2026-10-20 09:05:58
[2026-10-20 09:05:58,872.872 INFO    ] 2026-10-20 09:05:58
[2026-10-20 09:05:58,907.907 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:05:59,163.163 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:05:59,168.168 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:05:59,384.384 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:05:59,425.425 INFO    ] time= 20/10/2026 09:05:59
[2026-10-20 09:05:59,431.431 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:05:59,449.449 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:05:59,582.582 INFO    ] No existing commands found in stream
[2026-10-20 09:06:04,600.600 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:06:04,603.603 INFO    ] Waiting 0.97 seconds before fallback handling...
[2026-10-20 09:06:06,090.090 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:06:06,092.092 INFO    ] Checking for system updates...
[2026-10-20 09:06:06,132.132 INFO    ] 200
[2026-10-20 09:06:06,135.135 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:06:06,193.193 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:06:06,196.196 INFO    ] No update needed
[2026-10-20 09:06:06,198.198 INFO    ] Checking for camera pi updates...
[2026-10-20 09:06:06,232.232 INFO    ] 200
[2026-10-20 09:06:06,235.235 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:06:06,279.279 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:06:06,322.322 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:06:06,325.325 INFO    ] No camera update needed
[2026-10-20 09:06:06,327.327 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:06:06,329.329 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:06:06,335.335 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:06:06,340.340 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:06:08,380.380 INFO    ] ================================================
[2026-10-20 09:06:08,395.395 INFO    ] Launching Daemon at Tue Oct 20 09:06:08 IST 2026
[2026-10-20 09:06:08,406.406 INFO    ] ================================================
[2026-10-20 09:06:08,970.970 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:06:08
[2026-10-20 09:06:09,554.554 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:06:09,812.812 INFO    ] Initializing speech engine...
[2026-10-20 09:06:09,818.818 INFO    ] 2026-10-20 09:06:09
[2026-10-20 09:06:10,107.107 INFO    ] 2026-10-20 09:06:10
[2026-10-20 09:06:10,144.144 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:06:10,339.339 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:06:10,351.351 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:06:10,517.517 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:06:10,522.522 INFO    ] time= 20/10/2026 09:06:10
[2026-10-20 09:06:10,529.529 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:06:10,571.571 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:06:10,713.713 INFO    ] No existing commands found in stream
[2026-10-20 09:06:15,743.743 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:06:15,746.746 INFO    ] Waiting 3.95 seconds before fallback handling...
[2026-10-20 09:06:20,238.238 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:06:20,241.241 INFO    ] Checking for system updates...
[2026-10-20 09:06:20,277.277 INFO    ] 200
[2026-10-20 09:06:20,280.280 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 09:06:20,283.283 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-10-20 09:06:20,285.285 INFO    ] Checking for camera pi updates...
[2026-10-20 09:06:20,323.323 INFO    ] 200
[2026-10-20 09:06:20,325.325 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 09:06:20,328.328 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-10-20 09:06:20,330.330 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:06:20,332.332 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:06:20,338.338 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:06:20,343.343 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:06:22,382.382 INFO    ] ================================================
[2026-10-20 09:06:22,397.397 INFO    ] Launching Daemon at Tue Oct 20 09:06:22 IST 2026
[2026-10-20 09:06:22,408.408 INFO    ] ================================================
[2026-10-20 09:06:22,972.972 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:06:22
[2026-10-20 09:06:23,556.556 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:06:23,809.809 INFO    ] Initializing speech engine...
[2026-10-20 09:06:23,823.823 INFO    ] 2026-10-20 09:06:23
[2026-10-20 09:06:24,086.086 INFO    ] 2026-10-20 09:06:24
[2026-10-20 09:06:24,126.126 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:06:24,377.377 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:06:24,382.382 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:06:24,515.515 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:06:24,575.575 INFO    ] time= 20/10/2026 09:06:24
[2026-10-20 09:06:24,629.629 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:06:24,646.646 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:06:24,768.768 INFO    ] No existing commands found in stream
[2026-10-20 09:06:29,799.799 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:06:29,802.802 INFO    ] Waiting 0.08 seconds before fallback handling...
[2026-10-20 09:06:30,388.388 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:06:30,391.391 INFO    ] Checking for system updates...
[2026-10-20 09:06:30,429.429 INFO    ] 200
[2026-10-20 09:06:30,431.431 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:06:30,494.494 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:06:30,497.497 INFO    ] No update needed
[2026-10-20 09:06:30,500.500 INFO    ] Checking for camera pi updates...
[2026-10-20 09:06:30,542.542 INFO    ] 200
[2026-10-20 09:06:30,545.545 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:06:30,589.589 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:06:30,730.730 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:06:30,733.733 INFO    ] No camera update needed
[2026-10-20 09:06:30,735.735 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:06:30,737.737 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:06:31,435.435 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:06:31,440.440 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:06:33,482.482 INFO    ] ================================================
[2026-10-20 09:06:33,498.498 INFO    ] Launching Daemon at Tue Oct 20 09:06:33 IST 2026
[2026-10-20 09:06:33,509.509 INFO    ] ================================================
[2026-10-20 09:06:34,178.178 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:06:34
[2026-10-20 09:06:34,864.864 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:06:35,173.173 INFO    ] Initializing speech engine...
[2026-10-20 09:06:35,187.187 INFO    ] 2026-10-20 09:06:35
[2026-10-20 09:06:35,499.499 INFO    ] 2026-10-20 09:06:35
[2026-10-20 09:06:35,584.584 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:06:35,863.863 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:06:35,906.906 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:06:36,134.134 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:06:36,190.190 INFO    ] time= 20/10/2026 09:06:36
[2026-10-20 09:06:36,245.245 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:06:36,276.276 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:06:36,425.425 INFO    ] No existing commands found in stream
[2026-10-20 09:06:41,451.451 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:06:41,454.454 INFO    ] Waiting 1.47 seconds before fallback handling...
[2026-10-20 09:06:43,460.460 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:06:43,463.463 INFO    ] Checking for system updates...
[2026-10-20 09:06:43,501.501 INFO    ] 200
[2026-10-20 09:06:43,504.504 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:06:43,566.566 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:06:43,569.569 INFO    ] No update needed
[2026-10-20 09:06:43,572.572 INFO    ] Checking for camera pi updates...
[2026-10-20 09:06:43,606.606 INFO    ] 200
[2026-10-20 09:06:43,609.609 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:06:43,668.668 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:06:43,719.719 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:06:43,722.722 INFO    ] No camera update needed
[2026-10-20 09:06:43,724.724 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:06:43,727.727 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:06:43,734.734 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:06:43,740.740 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:06:45,780.780 INFO    ] ================================================
[2026-10-20 09:06:45,795.795 INFO    ] Launching Daemon at Tue Oct 20 09:06:45 IST 2026
[2026-10-20 09:06:45,806.806 INFO    ] ================================================
[2026-10-20 09:06:46,373.373 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:06:46
[2026-10-20 09:06:46,960.960 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:06:47,229.229 INFO    ] Initializing speech engine...
[2026-10-20 09:06:47,238.238 INFO    ] 2026-10-20 09:06:47
[2026-10-20 09:06:47,483.483 INFO    ] 2026-10-20 09:06:47
[2026-10-20 09:06:47,519.519 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:06:47,717.717 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:06:47,775.775 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:06:47,916.916 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:06:47,975.975 INFO    ] time= 20/10/2026 09:06:47
[2026-10-20 09:06:48,029.029 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:06:48,047.047 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:06:48,175.175 INFO    ] No existing commands found in stream
[2026-10-20 09:06:53,200.200 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:06:53,203.203 INFO    ] Waiting 1.68 seconds before fallback handling...
[2026-10-20 09:06:55,416.416 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:06:55,419.419 INFO    ] Checking for system updates...
[2026-10-20 09:06:55,455.455 INFO    ] 200
[2026-10-20 09:06:55,457.457 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:06:55,518.518 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:06:55,520.520 INFO    ] No update needed
[2026-10-20 09:06:55,523.523 INFO    ] Checking for camera pi updates...
[2026-10-20 09:06:55,561.561 INFO    ] 200
[2026-10-20 09:06:55,563.563 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:06:55,603.603 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:06:55,650.650 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:06:55,653.653 INFO    ] No camera update needed
[2026-10-20 09:06:55,655.655 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:06:55,657.657 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:06:55,662.662 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:06:55,667.667 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:06:57,709.709 INFO    ] ================================================
[2026-10-20 09:06:57,724.724 INFO    ] Launching Daemon at Tue Oct 20 09:06:57 IST 2026
[2026-10-20 09:06:57,735.735 INFO    ] ================================================
[2026-10-20 09:06:58,407.407 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:06:58
[2026-10-20 09:06:59,103.103 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:06:59,419.419 INFO    ] Initializing speech engine...
[2026-10-20 09:06:59,434.434 INFO    ] 2026-10-20 09:06:59
[2026-10-20 09:06:59,731.731 INFO    ] 2026-10-20 09:06:59
[2026-10-20 09:06:59,770.770 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:07:00,057.057 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:07:00,066.066 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:07:00,260.260 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:07:00,277.277 INFO    ] time= 20/10/2026 09:07:00
[2026-10-20 09:07:00,302.302 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:07:00,317.317 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:07:00,439.439 INFO    ] No existing commands found in stream
[2026-10-20 09:07:05,470.470 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:07:05,474.474 INFO    ] Waiting 1.61 seconds before fallback handling...
[2026-10-20 09:07:07,635.635 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:07:07,639.639 INFO    ] Checking for system updates...
[2026-10-20 09:07:07,676.676 INFO    ] 200
[2026-10-20 09:07:07,678.678 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:07:07,740.740 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:07:07,743.743 INFO    ] No update needed
[2026-10-20 09:07:07,748.748 INFO    ] Checking for camera pi updates...
[2026-10-20 09:07:07,783.783 INFO    ] 200
[2026-10-20 09:07:07,786.786 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:07:07,827.827 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:07:07,880.880 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:07:07,883.883 INFO    ] No camera update needed
[2026-10-20 09:07:07,886.886 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:07:07,889.889 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:07:07,895.895 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:07:07,901.901 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:07:09,941.941 INFO    ] ================================================
[2026-10-20 09:07:09,956.956 INFO    ] Launching Daemon at Tue Oct 20 09:07:09 IST 2026
[2026-10-20 09:07:09,967.967 INFO    ] ================================================
[2026-10-20 09:07:10,641.641 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:07:10
[2026-10-20 09:07:11,334.334 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:07:11,651.651 INFO    ] Initializing speech engine...
[2026-10-20 09:07:11,663.663 INFO    ] 2026-10-20 09:07:11
[2026-10-20 09:07:11,974.974 INFO    ] 2026-10-20 09:07:11
[2026-10-20 09:07:12,062.062 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:07:12,283.283 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:07:12,345.345 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:07:12,525.525 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:07:12,534.534 INFO    ] time= 20/10/2026 09:07:12
[2026-10-20 09:07:12,555.555 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:07:12,613.613 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:07:12,772.772 INFO    ] No existing commands found in stream
[2026-10-20 09:07:17,809.809 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:07:17,812.812 INFO    ] Waiting 3.91 seconds before fallback handling...
[2026-10-20 09:07:22,251.251 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:07:22,254.254 INFO    ] Checking for system updates...
[2026-10-20 09:07:22,290.290 INFO    ] 200
[2026-10-20 09:07:22,293.293 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:07:22,348.348 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:07:22,351.351 INFO    ] No update needed
[2026-10-20 09:07:22,354.354 INFO    ] Checking for camera pi updates...
[2026-10-20 09:07:22,388.388 INFO    ] 200
[2026-10-20 09:07:22,391.391 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:07:22,437.437 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:07:22,484.484 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:07:22,486.486 INFO    ] No camera update needed
[2026-10-20 09:07:22,489.489 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:07:22,491.491 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:07:22,497.497 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:07:22,502.502 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:07:24,542.542 INFO    ] ================================================
[2026-10-20 09:07:24,557.557 INFO    ] Launching Daemon at Tue Oct 20 09:07:24 IST 2026
[2026-10-20 09:07:24,568.568 INFO    ] ================================================
[2026-10-20 09:07:25,246.246 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:07:25
[2026-10-20 09:07:25,940.940 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:07:26,257.257 INFO    ] Initializing speech engine...
[2026-10-20 09:07:26,269.269 INFO    ] 2026-10-20 09:07:26
[2026-10-20 09:07:26,550.550 INFO    ] 2026-10-20 09:07:26
[2026-10-20 09:07:26,593.593 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:07:26,861.861 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:07:26,885.885 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:07:27,083.083 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:07:27,090.090 INFO    ] time= 20/10/2026 09:07:27
[2026-10-20 09:07:27,113.113 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:07:27,143.143 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:07:27,290.290 INFO    ] No existing commands found in stream
[2026-10-20 09:07:32,327.327 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:07:32,330.330 INFO    ] Waiting 3.80 seconds before fallback handling...
[2026-10-20 09:07:36,688.688 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:07:36,691.691 INFO    ] Checking for system updates...
[2026-10-20 09:07:36,728.728 INFO    ] 200
[2026-10-20 09:07:36,731.731 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:07:36,784.784 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:07:36,787.787 INFO    ] No update needed
[2026-10-20 09:07:36,790.790 INFO    ] Checking for camera pi updates...
[2026-10-20 09:07:36,826.826 INFO    ] 200
[2026-10-20 09:07:36,829.829 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:07:36,870.870 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:07:36,917.917 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:07:36,920.920 INFO    ] No camera update needed
[2026-10-20 09:07:36,924.924 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:07:36,926.926 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:07:36,933.933 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:07:36,939.939 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:07:38,984.984 INFO    ] ================================================
[2026-10-20 09:07:39,999.999 INFO    ] Launching Daemon at Tue Oct 20 09:07:38 IST 2026
[2026-10-20 09:07:39,010.010 INFO    ] ================================================
[2026-10-20 09:07:39,689.689 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:07:39
[2026-10-20 09:07:40,385.385 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:07:40,697.697 INFO    ] Initializing speech engine...
[2026-10-20 09:07:40,711.711 INFO    ] 2026-10-20 09:07:40
[2026-10-20 09:07:41,024.024 INFO    ] 2026-10-20 09:07:40
[2026-10-20 09:07:41,111.111 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:07:41,328.328 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:07:41,337.337 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:07:41,531.531 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:07:41,554.554 INFO    ] time= 20/10/2026 09:07:41
[2026-10-20 09:07:41,580.580 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:07:41,589.589 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:07:41,731.731 INFO    ] No existing commands found in stream
[2026-10-20 09:07:46,757.757 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:07:46,760.760 INFO    ] Waiting 1.73 seconds before fallback handling...
[2026-10-20 09:07:49,078.078 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 09:07:49,081.081 INFO    ] Checking for system updates...
[2026-10-20 09:07:49,118.118 INFO    ] 200
[2026-10-20 09:07:49,121.121 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:07:49,174.174 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:07:49,177.177 INFO    ] No update needed
[2026-10-20 09:07:49,180.180 INFO    ] Checking for camera pi updates...
[2026-10-20 09:07:49,219.219 INFO    ] 200
[2026-10-20 09:07:49,221.221 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:07:49,267.267 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:07:49,314.314 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:07:49,317.317 INFO    ] No camera update needed
[2026-10-20 09:07:49,320.320 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:07:49,323.323 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:07:49,329.329 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:07:49,335.335 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:07:51,375.375 INFO    ] ================================================
[2026-10-20 09:07:51,390.390 INFO    ] Launching Daemon at Tue Oct 20 09:07:51 IST 2026
[2026-10-20 09:07:51,400.400 INFO    ] ================================================
[2026-10-20 09:07:52,057.057 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:07:52
[2026-10-20 09:07:52,735.735 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:07:53,053.053 INFO    ] Initializing speech engine...
[2026-10-20 09:07:53,061.061 INFO    ] 2026-10-20 09:07:53
[2026-10-20 09:07:53,342.342 INFO    ] 2026-10-20 09:07:53
[2026-10-20 09:07:53,451.451 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:07:53,667.667 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:07:53,677.677 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:07:53,870.870 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:07:53,890.890 INFO    ] time= 20/10/2026 09:07:53
[2026-10-20 09:07:53,912.912 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:07:53,929.929 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:07:54,056.056 INFO    ] No existing commands found in stream
[2026-10-20 09:07:59,092.092 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:07:59,096.096 INFO    ] Waiting 0.66 seconds before fallback handling...
[2026-10-20 09:08:00,307.307 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 09:08:00,311.311 INFO    ] Checking for system updates...
[2026-10-20 09:08:00,351.351 INFO    ] 200
[2026-10-20 09:08:00,354.354 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:08:00,430.430 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:08:00,433.433 INFO    ] No update needed
[2026-10-20 09:08:00,436.436 INFO    ] Checking for camera pi updates...
[2026-10-20 09:08:00,479.479 INFO    ] 200
[2026-10-20 09:08:00,482.482 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:08:00,542.542 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:08:00,588.588 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:08:00,591.591 INFO    ] No camera update needed
[2026-10-20 09:08:00,593.593 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:08:00,596.596 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:08:00,602.602 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:08:00,608.608 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:08:02,662.662 INFO    ] ================================================
[2026-10-20 09:08:02,685.685 INFO    ] Launching Daemon at Tue Oct 20 09:08:02 IST 2026
[2026-10-20 09:08:02,702.702 INFO    ] ================================================
[2026-10-20 09:08:03,463.463 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:08:03
[2026-10-20 09:08:04,153.153 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:08:04,463.463 INFO    ] Initializing speech engine...
[2026-10-20 09:08:04,475.475 INFO    ] 2026-10-20 09:08:04
[2026-10-20 09:08:04,759.759 INFO    ] 2026-10-20 09:08:04
[2026-10-20 09:08:04,806.806 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:08:05,093.093 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:08:05,101.101 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:08:05,292.292 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:08:05,312.312 INFO    ] time= 20/10/2026 09:08:05
[2026-10-20 09:08:05,321.321 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:08:05,349.349 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:08:05,455.455 INFO    ] No existing commands found in stream
[2026-10-20 09:08:10,481.481 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:08:10,484.484 INFO    ] Waiting 3.98 seconds before fallback handling...
[2026-10-20 09:08:15,022.022 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 09:08:15,025.025 INFO    ] Checking for system updates...
[2026-10-20 09:08:15,062.062 INFO    ] 200
[2026-10-20 09:08:15,065.065 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:08:15,128.128 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:08:15,131.131 INFO    ] No update needed
[2026-10-20 09:08:15,134.134 INFO    ] Checking for camera pi updates...
[2026-10-20 09:08:15,169.169 INFO    ] 200
[2026-10-20 09:08:15,172.172 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:08:15,213.213 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:08:15,260.260 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:08:15,263.263 INFO    ] No camera update needed
[2026-10-20 09:08:15,266.266 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:08:15,269.269 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:08:15,275.275 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:08:15,281.281 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:08:17,323.323 INFO    ] ================================================
[2026-10-20 09:08:17,338.338 INFO    ] Launching Daemon at Tue Oct 20 09:08:17 IST 2026
[2026-10-20 09:08:17,348.348 INFO    ] ================================================
[2026-10-20 09:08:17,935.935 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:08:17
[2026-10-20 09:08:18,518.518 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:08:18,777.777 INFO    ] Initializing speech engine...
[2026-10-20 09:08:18,791.791 INFO    ] 2026-10-20 09:08:18
[2026-10-20 09:08:19,083.083 INFO    ] 2026-10-20 09:08:19
[2026-10-20 09:08:19,118.118 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:08:19,352.352 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:08:19,375.375 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:08:19,586.586 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:08:19,593.593 INFO    ] time= 20/10/2026 09:08:19
[2026-10-20 09:08:19,637.637 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:08:19,691.691 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:08:19,799.799 INFO    ] No existing commands found in stream
[2026-10-20 09:08:24,811.811 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:08:24,813.813 INFO    ] Waiting 3.39 seconds before fallback handling...
[2026-10-20 09:08:28,717.717 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 09:08:28,720.720 INFO    ] Checking for system updates...
[2026-10-20 09:08:28,756.756 INFO    ] 200
[2026-10-20 09:08:28,758.758 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:08:28,811.811 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:08:28,813.813 INFO    ] No update needed
[2026-10-20 09:08:28,816.816 INFO    ] Checking for camera pi updates...
[2026-10-20 09:08:28,853.853 INFO    ] 200
[2026-10-20 09:08:28,855.855 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:08:28,895.895 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:08:28,952.952 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:08:28,954.954 INFO    ] No camera update needed
[2026-10-20 09:08:28,956.956 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:08:28,958.958 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:08:28,964.964 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:08:28,969.969 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:08:31,008.008 INFO    ] ================================================
[2026-10-20 09:08:31,023.023 INFO    ] Launching Daemon at Tue Oct 20 09:08:31 IST 2026
[2026-10-20 09:08:31,034.034 INFO    ] ================================================
[2026-10-20 09:08:31,618.618 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:08:31
[2026-10-20 09:08:32,263.263 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:08:32,563.563 INFO    ] Initializing speech engine...
[2026-10-20 09:08:32,576.576 INFO    ] 2026-10-20 09:08:32
[2026-10-20 09:08:32,864.864 INFO    ] 2026-10-20 09:08:32
[2026-10-20 09:08:32,901.901 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:08:33,181.181 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:08:33,192.192 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:08:33,347.347 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:08:33,364.364 INFO    ] time= 20/10/2026 09:08:33
[2026-10-20 09:08:33,418.418 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:08:33,467.467 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:08:33,620.620 INFO    ] No existing commands found in stream
[2026-10-20 09:08:38,651.651 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:08:38,654.654 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-10-20 09:08:41,344.344 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 09:08:41,347.347 INFO    ] Checking for system updates...
[2026-10-20 09:08:41,383.383 INFO    ] 200
[2026-10-20 09:08:41,385.385 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:08:41,437.437 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:08:41,439.439 INFO    ] No update needed
[2026-10-20 09:08:41,442.442 INFO    ] Checking for camera pi updates...
[2026-10-20 09:08:41,475.475 INFO    ] 200
[2026-10-20 09:08:41,477.477 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:08:41,518.518 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:08:41,581.581 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:08:41,583.583 INFO    ] No camera update needed
[2026-10-20 09:08:41,586.586 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:08:41,588.588 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:08:41,594.594 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:08:41,599.599 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:08:43,639.639 INFO    ] ================================================
[2026-10-20 09:08:43,654.654 INFO    ] Launching Daemon at Tue Oct 20 09:08:43 IST 2026
[2026-10-20 09:08:43,665.665 INFO    ] ================================================
[2026-10-20 09:08:44,335.335 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:08:44
[2026-10-20 09:08:45,022.022 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:08:45,330.330 INFO    ] Initializing speech engine...
[2026-10-20 09:08:45,343.343 INFO    ] 2026-10-20 09:08:45
[2026-10-20 09:08:45,626.626 INFO    ] 2026-10-20 09:08:45
[2026-10-20 09:08:45,672.672 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:08:45,955.955 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:08:45,961.961 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:08:46,155.155 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:08:46,163.163 INFO    ] time= 20/10/2026 09:08:46
[2026-10-20 09:08:46,185.185 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:08:46,213.213 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:08:46,331.331 INFO    ] No existing commands found in stream
[2026-10-20 09:08:51,362.362 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:08:51,365.365 INFO    ] Waiting 2.81 seconds before fallback handling...
[2026-10-20 09:08:54,703.703 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:08:54,707.707 INFO    ] Checking for system updates...
[2026-10-20 09:08:54,744.744 INFO    ] 200
[2026-10-20 09:08:54,746.746 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:08:54,802.802 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:08:54,805.805 INFO    ] No update needed
[2026-10-20 09:08:54,808.808 INFO    ] Checking for camera pi updates...
[2026-10-20 09:08:54,843.843 INFO    ] 200
[2026-10-20 09:08:54,846.846 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:08:54,893.893 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:08:54,953.953 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:08:54,956.956 INFO    ] No camera update needed
[2026-10-20 09:08:54,959.959 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:08:54,962.962 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:08:54,968.968 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:08:54,974.974 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:08:57,015.015 INFO    ] ================================================
[2026-10-20 09:08:57,030.030 INFO    ] Launching Daemon at Tue Oct 20 09:08:57 IST 2026
[2026-10-20 09:08:57,041.041 INFO    ] ================================================
[2026-10-20 09:08:57,614.614 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:08:57
[2026-10-20 09:08:58,202.202 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:08:58,460.460 INFO    ] Initializing speech engine...
[2026-10-20 09:08:58,466.466 INFO    ] 2026-10-20 09:08:58
[2026-10-20 09:08:58,765.765 INFO    ] 2026-10-20 09:08:58
[2026-10-20 09:08:58,801.801 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:08:59,005.005 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:08:59,022.022 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:08:59,186.186 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:08:59,197.197 INFO    ] time= 20/10/2026 09:08:59
[2026-10-20 09:08:59,201.201 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:08:59,210.210 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:08:59,338.338 INFO    ] No existing commands found in stream
[2026-10-20 09:09:04,363.363 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:09:04,366.366 INFO    ] Waiting 2.12 seconds before fallback handling...
[2026-10-20 09:09:06,993.993 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 09:09:06,996.996 INFO    ] Checking for system updates...
[2026-10-20 09:09:07,031.031 INFO    ] 200
[2026-10-20 09:09:07,033.033 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:09:07,084.084 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:09:07,086.086 INFO    ] No update needed
[2026-10-20 09:09:07,089.089 INFO    ] Checking for camera pi updates...
[2026-10-20 09:09:07,122.122 INFO    ] 200
[2026-10-20 09:09:07,124.124 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:09:07,165.165 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:09:07,210.210 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:09:07,213.213 INFO    ] No camera update needed
[2026-10-20 09:09:07,215.215 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:09:07,217.217 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:09:07,223.223 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:09:07,227.227 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:09:09,268.268 INFO    ] ================================================
[2026-10-20 09:09:09,283.283 INFO    ] Launching Daemon at Tue Oct 20 09:09:09 IST 2026
[2026-10-20 09:09:09,294.294 INFO    ] ================================================
[2026-10-20 09:09:09,881.881 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:09:09
[2026-10-20 09:09:10,482.482 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:09:10,751.751 INFO    ] Initializing speech engine...
[2026-10-20 09:09:10,759.759 INFO    ] 2026-10-20 09:09:10
[2026-10-20 09:09:11,006.006 INFO    ] 2026-10-20 09:09:11
[2026-10-20 09:09:11,042.042 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:09:11,296.296 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:09:11,300.300 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:09:11,434.434 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:09:11,499.499 INFO    ] time= 20/10/2026 09:09:11
[2026-10-20 09:09:11,548.548 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:09:11,564.564 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:09:11,708.708 INFO    ] No existing commands found in stream
[2026-10-20 09:09:16,722.722 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:09:16,725.725 INFO    ] Waiting 2.44 seconds before fallback handling...
[2026-10-20 09:09:19,730.730 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:09:19,733.733 INFO    ] Checking for system updates...
[2026-10-20 09:09:19,770.770 INFO    ] 200
[2026-10-20 09:09:19,773.773 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:09:19,826.826 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:09:19,829.829 INFO    ] No update needed
[2026-10-20 09:09:19,832.832 INFO    ] Checking for camera pi updates...
[2026-10-20 09:09:19,865.865 INFO    ] 200
[2026-10-20 09:09:19,868.868 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:09:19,908.908 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:09:19,953.953 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:09:19,956.956 INFO    ] No camera update needed
[2026-10-20 09:09:19,958.958 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:09:19,960.960 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:09:19,966.966 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:09:19,971.971 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:09:22,012.012 INFO    ] ================================================
[2026-10-20 09:09:22,027.027 INFO    ] Launching Daemon at Tue Oct 20 09:09:22 IST 2026
[2026-10-20 09:09:22,037.037 INFO    ] ================================================
[2026-10-20 09:09:22,610.610 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:09:22
[2026-10-20 09:09:23,198.198 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:09:23,452.452 INFO    ] Initializing speech engine...
[2026-10-20 09:09:23,459.459 INFO    ] 2026-10-20 09:09:23
[2026-10-20 09:09:23,762.762 INFO    ] 2026-10-20 09:09:23
[2026-10-20 09:09:23,797.797 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:09:24,002.002 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:09:24,016.016 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:09:24,184.184 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:09:24,189.189 INFO    ] time= 20/10/2026 09:09:24
[2026-10-20 09:09:24,196.196 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:09:24,209.209 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:09:24,350.350 INFO    ] No existing commands found in stream
[2026-10-20 09:09:29,375.375 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:09:29,378.378 INFO    ] Waiting 3.24 seconds before fallback handling...
[2026-10-20 09:09:33,102.102 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:09:33,105.105 INFO    ] Checking for system updates...
[2026-10-20 09:09:33,141.141 INFO    ] 200
[2026-10-20 09:09:33,143.143 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:09:33,195.195 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:09:33,197.197 INFO    ] No update needed
[2026-10-20 09:09:33,199.199 INFO    ] Checking for camera pi updates...
[2026-10-20 09:09:33,233.233 INFO    ] 200
[2026-10-20 09:09:33,235.235 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:09:33,275.275 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:09:33,320.320 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:09:33,323.323 INFO    ] No camera update needed
[2026-10-20 09:09:33,325.325 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:09:33,327.327 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:09:33,333.333 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:09:33,338.338 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:09:35,381.381 INFO    ] ================================================
[2026-10-20 09:09:35,396.396 INFO    ] Launching Daemon at Tue Oct 20 09:09:35 IST 2026
[2026-10-20 09:09:35,406.406 INFO    ] ================================================
[2026-10-20 09:09:36,028.028 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:09:36
[2026-10-20 09:09:36,708.708 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:09:37,014.014 INFO    ] Initializing speech engine...
[2026-10-20 09:09:37,025.025 INFO    ] 2026-10-20 09:09:37
[2026-10-20 09:09:37,319.319 INFO    ] 2026-10-20 09:09:37
[2026-10-20 09:09:37,363.363 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:09:37,620.620 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:09:37,630.630 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:09:37,786.786 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:09:37,836.836 INFO    ] time= 20/10/2026 09:09:37
[2026-10-20 09:09:37,885.885 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:09:37,937.937 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:09:38,072.072 INFO    ] No existing commands found in stream
[2026-10-20 09:09:43,095.095 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:09:43,098.098 INFO    ] Waiting 2.54 seconds before fallback handling...
[2026-10-20 09:09:46,188.188 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:09:46,191.191 INFO    ] Checking for system updates...
[2026-10-20 09:09:46,228.228 INFO    ] 200
[2026-10-20 09:09:46,231.231 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:09:46,284.284 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:09:46,286.286 INFO    ] No update needed
[2026-10-20 09:09:46,289.289 INFO    ] Checking for camera pi updates...
[2026-10-20 09:09:46,324.324 INFO    ] 200
[2026-10-20 09:09:46,326.326 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:09:46,373.373 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:09:46,422.422 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:09:46,425.425 INFO    ] No camera update needed
[2026-10-20 09:09:46,428.428 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:09:46,430.430 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:09:46,437.437 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:09:46,443.443 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:09:48,483.483 INFO    ] ================================================
[2026-10-20 09:09:48,497.497 INFO    ] Launching Daemon at Tue Oct 20 09:09:48 IST 2026
[2026-10-20 09:09:48,508.508 INFO    ] ================================================
[2026-10-20 09:09:49,075.075 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:09:49
[2026-10-20 09:09:49,662.662 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:09:49,918.918 INFO    ] Initializing speech engine...
[2026-10-20 09:09:49,924.924 INFO    ] 2026-10-20 09:09:49
[2026-10-20 09:09:50,222.222 INFO    ] 2026-10-20 09:09:50
[2026-10-20 09:09:50,256.256 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:09:50,486.486 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:09:50,494.494 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:09:50,717.717 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:09:50,725.725 INFO    ] time= 20/10/2026 09:09:50
[2026-10-20 09:09:50,764.764 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:09:50,793.793 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:09:50,923.923 INFO    ] No existing commands found in stream
[2026-10-20 09:09:55,937.937 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:09:55,940.940 INFO    ] Waiting 0.45 seconds before fallback handling...
[2026-10-20 09:09:56,906.906 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 09:09:56,909.909 INFO    ] Checking for system updates...
[2026-10-20 09:09:56,944.944 INFO    ] 200
[2026-10-20 09:09:56,946.946 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:09:56,998.998 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:09:57,000.000 INFO    ] No update needed
[2026-10-20 09:09:57,003.003 INFO    ] Checking for camera pi updates...
[2026-10-20 09:09:57,036.036 INFO    ] 200
[2026-10-20 09:09:57,039.039 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:09:57,084.084 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:09:57,131.131 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:09:57,134.134 INFO    ] No camera update needed
[2026-10-20 09:09:57,136.136 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:09:57,138.138 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:09:57,144.144 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:09:57,149.149 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:09:59,189.189 INFO    ] ================================================
[2026-10-20 09:09:59,205.205 INFO    ] Launching Daemon at Tue Oct 20 09:09:59 IST 2026
[2026-10-20 09:09:59,216.216 INFO    ] ================================================
[2026-10-20 09:09:59,854.854 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:09:59
[2026-10-20 09:10:00,535.535 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:10:00,840.840 INFO    ] Initializing speech engine...
[2026-10-20 09:10:00,854.854 INFO    ] 2026-10-20 09:10:00
[2026-10-20 09:10:01,133.133 INFO    ] 2026-10-20 09:10:01
[2026-10-20 09:10:01,179.179 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:10:01,459.459 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:10:01,468.468 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:10:01,616.616 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:10:01,633.633 INFO    ] time= 20/10/2026 09:10:01
[2026-10-20 09:10:01,637.637 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:10:01,691.691 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:10:01,781.781 INFO    ] No existing commands found in stream
[2026-10-20 09:10:06,791.791 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:10:06,794.794 INFO    ] Waiting 1.26 seconds before fallback handling...
[2026-10-20 09:10:08,603.603 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:10:08,606.606 INFO    ] Checking for system updates...
[2026-10-20 09:10:08,641.641 INFO    ] 200
[2026-10-20 09:10:08,644.644 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:10:08,695.695 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:10:08,698.698 INFO    ] No update needed
[2026-10-20 09:10:08,700.700 INFO    ] Checking for camera pi updates...
[2026-10-20 09:10:08,733.733 INFO    ] 200
[2026-10-20 09:10:08,736.736 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:10:08,775.775 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:10:08,837.837 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:10:08,839.839 INFO    ] No camera update needed
[2026-10-20 09:10:08,842.842 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:10:08,844.844 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:10:08,849.849 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:10:08,854.854 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:10:10,893.893 INFO    ] ================================================
[2026-10-20 09:10:10,909.909 INFO    ] Launching Daemon at Tue Oct 20 09:10:10 IST 2026
[2026-10-20 09:10:10,920.920 INFO    ] ================================================
[2026-10-20 09:10:11,518.518 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:10:11
[2026-10-20 09:10:12,130.130 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:10:12,416.416 INFO    ] Initializing speech engine...
[2026-10-20 09:10:12,427.427 INFO    ] 2026-10-20 09:10:12
[2026-10-20 09:10:12,693.693 INFO    ] 2026-10-20 09:10:12
[2026-10-20 09:10:12,736.736 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:10:13,020.020 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:10:13,024.024 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:10:13,217.217 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:10:13,225.225 INFO    ] time= 20/10/2026 09:10:13
[2026-10-20 09:10:13,243.243 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:10:13,272.272 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:10:13,445.445 INFO    ] No existing commands found in stream
[2026-10-20 09:10:18,475.475 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:10:18,478.478 INFO    ] Waiting 0.89 seconds before fallback handling...
[2026-10-20 09:10:19,913.913 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 09:10:19,916.916 INFO    ] Checking for system updates...
[2026-10-20 09:10:19,951.951 INFO    ] 200
[2026-10-20 09:10:19,954.954 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:10:20,006.006 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:10:20,009.009 INFO    ] No update needed
[2026-10-20 09:10:20,011.011 INFO    ] Checking for camera pi updates...
[2026-10-20 09:10:20,045.045 INFO    ] 200
[2026-10-20 09:10:20,048.048 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:10:20,089.089 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:10:20,138.138 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:10:20,141.141 INFO    ] No camera update needed
[2026-10-20 09:10:20,143.143 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:10:20,145.145 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:10:20,150.150 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:10:20,155.155 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:10:22,196.196 INFO    ] ================================================
[2026-10-20 09:10:22,212.212 INFO    ] Launching Daemon at Tue Oct 20 09:10:22 IST 2026
[2026-10-20 09:10:22,223.223 INFO    ] ================================================
[2026-10-20 09:10:22,803.803 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:10:22
[2026-10-20 09:10:23,391.391 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:10:23,660.660 INFO    ] Initializing speech engine...
[2026-10-20 09:10:23,668.668 INFO    ] 2026-10-20 09:10:23
[2026-10-20 09:10:23,914.914 INFO    ] 2026-10-20 09:10:23
[2026-10-20 09:10:23,950.950 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:10:24,202.202 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:10:24,211.211 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:10:24,350.350 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:10:24,415.415 INFO    ] time= 20/10/2026 09:10:24
[2026-10-20 09:10:24,469.469 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:10:24,480.480 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:10:24,605.605 INFO    ] No existing commands found in stream
[2026-10-20 09:10:29,632.632 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:10:29,635.635 INFO    ] Waiting 0.24 seconds before fallback handling...
[2026-10-20 09:10:30,362.362 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:10:30,364.364 INFO    ] Checking for system updates...
[2026-10-20 09:10:30,401.401 INFO    ] 200
[2026-10-20 09:10:30,404.404 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:10:30,464.464 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:10:30,466.466 INFO    ] No update needed
[2026-10-20 09:10:30,470.470 INFO    ] Checking for camera pi updates...
[2026-10-20 09:10:30,508.508 INFO    ] 200
[2026-10-20 09:10:30,511.511 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:10:30,553.553 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:10:30,600.600 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:10:30,603.603 INFO    ] No camera update needed
[2026-10-20 09:10:30,605.605 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:10:30,608.608 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:10:30,614.614 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:10:30,620.620 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:10:32,667.667 INFO    ] ================================================
[2026-10-20 09:10:32,684.684 INFO    ] Launching Daemon at Tue Oct 20 09:10:32 IST 2026
[2026-10-20 09:10:32,696.696 INFO    ] ================================================
[2026-10-20 09:10:33,385.385 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:10:33
[2026-10-20 09:10:34,068.068 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:10:34,381.381 INFO    ] Initializing speech engine...
[2026-10-20 09:10:34,389.389 INFO    ] 2026-10-20 09:10:34
[2026-10-20 09:10:34,699.699 INFO    ] 2026-10-20 09:10:34
[2026-10-20 09:10:34,786.786 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:10:34,999.999 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:10:35,004.004 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:10:35,194.194 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:10:35,206.206 INFO    ] time= 20/10/2026 09:10:35
[2026-10-20 09:10:35,226.226 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:10:35,253.253 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:10:35,370.370 INFO    ] No existing commands found in stream
[2026-10-20 09:10:40,395.395 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:10:40,398.398 INFO    ] Waiting 3.15 seconds before fallback handling...
[2026-10-20 09:10:44,968.968 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:10:44,971.971 INFO    ] Checking for system updates...
[2026-10-20 09:10:45,010.010 INFO    ] 200
[2026-10-20 09:10:45,012.012 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:10:45,070.070 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:10:45,073.073 INFO    ] No update needed
[2026-10-20 09:10:45,075.075 INFO    ] Checking for camera pi updates...
[2026-10-20 09:10:45,108.108 INFO    ] 200
[2026-10-20 09:10:45,111.111 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:10:45,151.151 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:10:45,298.298 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:10:45,300.300 INFO    ] No camera update needed
[2026-10-20 09:10:45,303.303 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:10:45,305.305 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:10:45,311.311 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:10:45,316.316 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:10:47,355.355 INFO    ] ================================================
[2026-10-20 09:10:47,370.370 INFO    ] Launching Daemon at Tue Oct 20 09:10:47 IST 2026
[2026-10-20 09:10:47,381.381 INFO    ] ================================================
[2026-10-20 09:10:47,952.952 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:10:47
[2026-10-20 09:10:48,534.534 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:10:48,801.801 INFO    ] Initializing speech engine...
[2026-10-20 09:10:48,811.811 INFO    ] 2026-10-20 09:10:48
[2026-10-20 09:10:49,060.060 INFO    ] 2026-10-20 09:10:49
[2026-10-20 09:10:49,096.096 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:10:49,343.343 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:10:49,349.349 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:10:49,562.562 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:10:49,606.606 INFO    ] time= 20/10/2026 09:10:49
[2026-10-20 09:10:49,611.611 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:10:49,629.629 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:10:49,761.761 INFO    ] No existing commands found in stream
[2026-10-20 09:10:54,779.779 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:10:54,782.782 INFO    ] Waiting 3.38 seconds before fallback handling...
[2026-10-20 09:10:58,680.680 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:10:58,683.683 INFO    ] Checking for system updates...
[2026-10-20 09:10:58,719.719 INFO    ] 200
[2026-10-20 09:10:58,721.721 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:10:58,774.774 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:10:58,777.777 INFO    ] No update needed
[2026-10-20 09:10:58,779.779 INFO    ] Checking for camera pi updates...
[2026-10-20 09:10:58,813.813 INFO    ] 200
[2026-10-20 09:10:58,815.815 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:10:58,855.855 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:10:58,897.897 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:10:58,900.900 INFO    ] No camera update needed
[2026-10-20 09:10:58,902.902 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:10:58,904.904 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:10:58,910.910 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:10:58,914.914 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:11:00,954.954 INFO    ] ================================================
[2026-10-20 09:11:00,969.969 INFO    ] Launching Daemon at Tue Oct 20 09:11:00 IST 2026
[2026-10-20 09:11:00,980.980 INFO    ] ================================================
[2026-10-20 09:11:01,759.759 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:11:01
[2026-10-20 09:11:02,403.403 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:11:02,717.717 INFO    ] Initializing speech engine...
[2026-10-20 09:11:02,743.743 INFO    ] 2026-10-20 09:11:02
[2026-10-20 09:11:03,021.021 INFO    ] 2026-10-20 09:11:03
[2026-10-20 09:11:03,056.056 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:11:03,273.273 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:11:03,320.320 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:11:03,477.477 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:11:03,522.522 INFO    ] time= 20/10/2026 09:11:03
[2026-10-20 09:11:03,586.586 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:11:03,609.609 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:11:03,745.745 INFO    ] No existing commands found in stream
[2026-10-20 09:11:08,766.766 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:11:08,769.769 INFO    ] Waiting 3.76 seconds before fallback handling...
[2026-10-20 09:11:13,030.030 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:11:13,033.033 INFO    ] Checking for system updates...
[2026-10-20 09:11:13,068.068 INFO    ] 200
[2026-10-20 09:11:13,070.070 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:11:13,122.122 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:11:13,124.124 INFO    ] No update needed
[2026-10-20 09:11:13,126.126 INFO    ] Checking for camera pi updates...
[2026-10-20 09:11:13,170.170 INFO    ] 200
[2026-10-20 09:11:13,172.172 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:11:13,211.211 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:11:13,256.256 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:11:13,259.259 INFO    ] No camera update needed
[2026-10-20 09:11:13,261.261 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:11:13,263.263 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:11:13,269.269 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:11:13,273.273 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:11:15,313.313 INFO    ] ================================================
[2026-10-20 09:11:15,329.329 INFO    ] Launching Daemon at Tue Oct 20 09:11:15 IST 2026
[2026-10-20 09:11:15,339.339 INFO    ] ================================================
[2026-10-20 09:11:15,916.916 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:11:15
[2026-10-20 09:11:16,499.499 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:11:16,755.755 INFO    ] Initializing speech engine...
[2026-10-20 09:11:16,757.757 INFO    ] 2026-10-20 09:11:16
[2026-10-20 09:11:17,025.025 INFO    ] 2026-10-20 09:11:17
[2026-10-20 09:11:17,060.060 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:11:17,254.254 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:11:17,282.282 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:11:17,471.471 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:11:17,531.531 INFO    ] time= 20/10/2026 09:11:17
[2026-10-20 09:11:17,582.582 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:11:17,589.589 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:11:17,735.735 INFO    ] No existing commands found in stream
[2026-10-20 09:11:22,757.757 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:11:22,760.760 INFO    ] Waiting 1.42 seconds before fallback handling...
[2026-10-20 09:11:24,710.710 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:11:24,712.712 INFO    ] Checking for system updates...
[2026-10-20 09:11:24,750.750 INFO    ] 200
[2026-10-20 09:11:24,753.753 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:11:24,804.804 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:11:24,806.806 INFO    ] No update needed
[2026-10-20 09:11:24,809.809 INFO    ] Checking for camera pi updates...
[2026-10-20 09:11:24,842.842 INFO    ] 200
[2026-10-20 09:11:24,845.845 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:11:24,899.899 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:11:24,950.950 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:11:24,953.953 INFO    ] No camera update needed
[2026-10-20 09:11:24,955.955 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:11:24,957.957 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:11:24,963.963 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:11:24,968.968 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:11:27,008.008 INFO    ] ================================================
[2026-10-20 09:11:27,024.024 INFO    ] Launching Daemon at Tue Oct 20 09:11:27 IST 2026
[2026-10-20 09:11:27,035.035 INFO    ] ================================================
[2026-10-20 09:11:27,600.600 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:11:27
[2026-10-20 09:11:28,181.181 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:11:28,431.431 INFO    ] Initializing speech engine...
[2026-10-20 09:11:28,440.440 INFO    ] 2026-10-20 09:11:28
[2026-10-20 09:11:28,727.727 INFO    ] 2026-10-20 09:11:28
[2026-10-20 09:11:28,764.764 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:11:28,990.990 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:11:29,049.049 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:11:29,206.206 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:11:29,245.245 INFO    ] time= 20/10/2026 09:11:29
[2026-10-20 09:11:29,284.284 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:11:29,338.338 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:11:29,486.486 INFO    ] No existing commands found in stream
[2026-10-20 09:11:34,511.511 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:11:34,514.514 INFO    ] Waiting 0.31 seconds before fallback handling...
[2026-10-20 09:11:35,314.314 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:11:35,317.317 INFO    ] Checking for system updates...
[2026-10-20 09:11:35,352.352 INFO    ] 200
[2026-10-20 09:11:35,354.354 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:11:35,407.407 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:11:35,410.410 INFO    ] No update needed
[2026-10-20 09:11:35,412.412 INFO    ] Checking for camera pi updates...
[2026-10-20 09:11:35,445.445 INFO    ] 200
[2026-10-20 09:11:35,447.447 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:11:35,491.491 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:11:35,548.548 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:11:35,551.551 INFO    ] No camera update needed
[2026-10-20 09:11:35,553.553 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:11:35,555.555 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:11:35,561.561 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:11:35,566.566 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:11:37,606.606 INFO    ] ================================================
[2026-10-20 09:11:37,622.622 INFO    ] Launching Daemon at Tue Oct 20 09:11:37 IST 2026
[2026-10-20 09:11:37,632.632 INFO    ] ================================================
[2026-10-20 09:11:38,265.265 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:11:38
[2026-10-20 09:11:38,917.917 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:11:39,211.211 INFO    ] Initializing speech engine...
[2026-10-20 09:11:39,219.219 INFO    ] 2026-10-20 09:11:39
[2026-10-20 09:11:39,501.501 INFO    ] 2026-10-20 09:11:39
[2026-10-20 09:11:39,545.545 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:11:39,826.826 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:11:39,835.835 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:11:40,030.030 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:11:40,037.037 INFO    ] time= 20/10/2026 09:11:40
[2026-10-20 09:11:40,058.058 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:11:40,084.084 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:11:40,202.202 INFO    ] No existing commands found in stream
[2026-10-20 09:11:45,236.236 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:11:45,240.240 INFO    ] Waiting 1.07 seconds before fallback handling...
[2026-10-20 09:11:46,843.843 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:11:46,846.846 INFO    ] Checking for system updates...
[2026-10-20 09:11:46,883.883 INFO    ] 200
[2026-10-20 09:11:46,885.885 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:11:46,938.938 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:11:46,941.941 INFO    ] No update needed
[2026-10-20 09:11:46,943.943 INFO    ] Checking for camera pi updates...
[2026-10-20 09:11:46,977.977 INFO    ] 200
[2026-10-20 09:11:46,980.980 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:11:47,021.021 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:11:47,074.074 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:11:47,077.077 INFO    ] No camera update needed
[2026-10-20 09:11:47,079.079 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:11:47,082.082 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:11:47,088.088 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:11:47,094.094 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:11:49,133.133 INFO    ] ================================================
[2026-10-20 09:11:49,148.148 INFO    ] Launching Daemon at Tue Oct 20 09:11:49 IST 2026
[2026-10-20 09:11:49,159.159 INFO    ] ================================================
[2026-10-20 09:11:49,731.731 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:11:49
[2026-10-20 09:11:50,315.315 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:11:50,573.573 INFO    ] Initializing speech engine...
[2026-10-20 09:11:50,592.592 INFO    ] 2026-10-20 09:11:50
[2026-10-20 09:11:50,842.842 INFO    ] 2026-10-20 09:11:50
[2026-10-20 09:11:50,877.877 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:11:51,098.098 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:11:51,153.153 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:11:51,317.317 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:11:51,339.339 INFO    ] time= 20/10/2026 09:11:51
[2026-10-20 09:11:51,388.388 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:11:51,437.437 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:11:51,611.611 INFO    ] No existing commands found in stream
[2026-10-20 09:11:56,637.637 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:11:56,640.640 INFO    ] Waiting 2.40 seconds before fallback handling...
[2026-10-20 09:11:59,546.546 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:11:59,549.549 INFO    ] Checking for system updates...
[2026-10-20 09:11:59,587.587 INFO    ] 200
[2026-10-20 09:11:59,590.590 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:11:59,647.647 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:11:59,649.649 INFO    ] No update needed
[2026-10-20 09:11:59,652.652 INFO    ] Checking for camera pi updates...
[2026-10-20 09:11:59,687.687 INFO    ] 200
[2026-10-20 09:11:59,690.690 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:11:59,731.731 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:11:59,783.783 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:11:59,785.785 INFO    ] No camera update needed
[2026-10-20 09:11:59,787.787 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:11:59,790.790 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:11:59,795.795 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:11:59,800.800 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:12:01,842.842 INFO    ] ================================================
[2026-10-20 09:12:01,863.863 INFO    ] Launching Daemon at Tue Oct 20 09:12:01 IST 2026
[2026-10-20 09:12:01,878.878 INFO    ] ================================================
[2026-10-20 09:12:02,519.519 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:12:02
[2026-10-20 09:12:03,192.192 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:12:03,464.464 INFO    ] Initializing speech engine...
[2026-10-20 09:12:03,476.476 INFO    ] 2026-10-20 09:12:03
[2026-10-20 09:12:03,753.753 INFO    ] 2026-10-20 09:12:03
[2026-10-20 09:12:03,790.790 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:12:04,012.012 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:12:04,071.071 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:12:04,291.291 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:12:04,341.341 INFO    ] time= 20/10/2026 09:12:04
[2026-10-20 09:12:04,377.377 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:12:04,383.383 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:12:04,509.509 INFO    ] No existing commands found in stream
[2026-10-20 09:12:09,531.531 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:12:09,534.534 INFO    ] Waiting 1.16 seconds before fallback handling...
[2026-10-20 09:12:11,184.184 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:12:11,186.186 INFO    ] Checking for system updates...
[2026-10-20 09:12:11,222.222 INFO    ] 200
[2026-10-20 09:12:11,225.225 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:12:11,286.286 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:12:11,289.289 INFO    ] No update needed
[2026-10-20 09:12:11,292.292 INFO    ] Checking for camera pi updates...
[2026-10-20 09:12:11,325.325 INFO    ] 200
[2026-10-20 09:12:11,327.327 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:12:11,367.367 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:12:11,416.416 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:12:11,418.418 INFO    ] No camera update needed
[2026-10-20 09:12:11,421.421 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:12:11,423.423 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:12:11,429.429 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:12:11,434.434 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:12:13,474.474 INFO    ] ================================================
[2026-10-20 09:12:13,489.489 INFO    ] Launching Daemon at Tue Oct 20 09:12:13 IST 2026
[2026-10-20 09:12:13,500.500 INFO    ] ================================================
[2026-10-20 09:12:14,074.074 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:12:14
[2026-10-20 09:12:14,683.683 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:12:14,983.983 INFO    ] Initializing speech engine...
[2026-10-20 09:12:14,995.995 INFO    ] 2026-10-20 09:12:14
[2026-10-20 09:12:15,299.299 INFO    ] 2026-10-20 09:12:15
[2026-10-20 09:12:15,387.387 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:12:15,662.662 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:12:15,680.680 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:12:15,892.892 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:12:15,949.949 INFO    ] time= 20/10/2026 09:12:15
[2026-10-20 09:12:15,994.994 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:12:16,057.057 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:12:16,208.208 INFO    ] No existing commands found in stream
[2026-10-20 09:12:21,241.241 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:12:21,244.244 INFO    ] Waiting 2.20 seconds before fallback handling...
[2026-10-20 09:12:23,980.980 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:12:23,983.983 INFO    ] Checking for system updates...
[2026-10-20 09:12:24,020.020 INFO    ] 200
[2026-10-20 09:12:24,023.023 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:12:24,075.075 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:12:24,078.078 INFO    ] No update needed
[2026-10-20 09:12:24,081.081 INFO    ] Checking for camera pi updates...
[2026-10-20 09:12:24,119.119 INFO    ] 200
[2026-10-20 09:12:24,121.121 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:12:24,165.165 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:12:24,215.215 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:12:24,217.217 INFO    ] No camera update needed
[2026-10-20 09:12:24,220.220 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:12:24,222.222 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:12:24,227.227 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:12:24,232.232 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:12:26,272.272 INFO    ] ================================================
[2026-10-20 09:12:26,287.287 INFO    ] Launching Daemon at Tue Oct 20 09:12:26 IST 2026
[2026-10-20 09:12:26,298.298 INFO    ] ================================================
[2026-10-20 09:12:26,918.918 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:12:26
[2026-10-20 09:12:27,567.567 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:12:27,862.862 INFO    ] Initializing speech engine...
[2026-10-20 09:12:27,875.875 INFO    ] 2026-10-20 09:12:27
[2026-10-20 09:12:28,151.151 INFO    ] 2026-10-20 09:12:28
[2026-10-20 09:12:28,198.198 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:12:28,481.481 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:12:28,486.486 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:12:28,681.681 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:12:28,698.698 INFO    ] time= 20/10/2026 09:12:28
[2026-10-20 09:12:28,707.707 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:12:28,734.734 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:12:28,895.895 INFO    ] No existing commands found in stream
[2026-10-20 09:12:33,926.926 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:12:33,930.930 INFO    ] Waiting 1.01 seconds before fallback handling...
[2026-10-20 09:12:35,483.483 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:12:35,486.486 INFO    ] Checking for system updates...
[2026-10-20 09:12:35,523.523 INFO    ] 200
[2026-10-20 09:12:35,525.525 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:12:35,583.583 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:12:35,585.585 INFO    ] No update needed
[2026-10-20 09:12:35,588.588 INFO    ] Checking for camera pi updates...
[2026-10-20 09:12:35,623.623 INFO    ] 200
[2026-10-20 09:12:35,625.625 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:12:35,667.667 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:12:35,718.718 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:12:35,721.721 INFO    ] No camera update needed
[2026-10-20 09:12:35,724.724 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:12:35,726.726 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:12:35,732.732 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:12:35,738.738 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:12:37,779.779 INFO    ] ================================================
[2026-10-20 09:12:37,794.794 INFO    ] Launching Daemon at Tue Oct 20 09:12:37 IST 2026
[2026-10-20 09:12:37,804.804 INFO    ] ================================================
[2026-10-20 09:12:38,369.369 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:12:38
[2026-10-20 09:12:38,956.956 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:12:39,215.215 INFO    ] Initializing speech engine...
[2026-10-20 09:12:39,229.229 INFO    ] 2026-10-20 09:12:39
[2026-10-20 09:12:39,506.506 INFO    ] 2026-10-20 09:12:39
[2026-10-20 09:12:39,543.543 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:12:39,757.757 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:12:39,769.769 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:12:39,982.982 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:12:40,014.014 INFO    ] time= 20/10/2026 09:12:39
[2026-10-20 09:12:40,053.053 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:12:40,097.097 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:12:40,278.278 INFO    ] No existing commands found in stream
[2026-10-20 09:12:45,305.305 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:12:45,308.308 INFO    ] Waiting 2.14 seconds before fallback handling...
[2026-10-20 09:12:47,961.961 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:12:47,964.964 INFO    ] Checking for system updates...
[2026-10-20 09:12:47,999.999 INFO    ] 200
[2026-10-20 09:12:48,001.001 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:12:48,053.053 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:12:48,056.056 INFO    ] No update needed
[2026-10-20 09:12:48,058.058 INFO    ] Checking for camera pi updates...
[2026-10-20 09:12:48,094.094 INFO    ] 200
[2026-10-20 09:12:48,096.096 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:12:48,136.136 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:12:48,283.283 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:12:48,286.286 INFO    ] No camera update needed
[2026-10-20 09:12:48,288.288 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:12:48,291.291 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:12:48,296.296 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:12:48,301.301 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:12:50,340.340 INFO    ] ================================================
[2026-10-20 09:12:50,354.354 INFO    ] Launching Daemon at Tue Oct 20 09:12:50 IST 2026
[2026-10-20 09:12:50,365.365 INFO    ] ================================================
[2026-10-20 09:12:50,954.954 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:12:50
[2026-10-20 09:12:51,554.554 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:12:51,834.834 INFO    ] Initializing speech engine...
[2026-10-20 09:12:51,842.842 INFO    ] 2026-10-20 09:12:51
[2026-10-20 09:12:52,102.102 INFO    ] 2026-10-20 09:12:52
[2026-10-20 09:12:52,132.132 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:12:52,384.384 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:12:52,389.389 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:12:52,614.614 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:12:52,645.645 INFO    ] time= 20/10/2026 09:12:52
[2026-10-20 09:12:52,651.651 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:12:52,669.669 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:12:52,822.822 INFO    ] No existing commands found in stream
[2026-10-20 09:12:57,847.847 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:12:57,850.850 INFO    ] Waiting 0.01 seconds before fallback handling...
[2026-10-20 09:12:58,346.346 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:12:58,349.349 INFO    ] Checking for system updates...
[2026-10-20 09:12:58,386.386 INFO    ] 200
[2026-10-20 09:12:58,388.388 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:12:58,442.442 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:12:58,445.445 INFO    ] No update needed
[2026-10-20 09:12:58,447.447 INFO    ] Checking for camera pi updates...
[2026-10-20 09:12:58,481.481 INFO    ] 200
[2026-10-20 09:12:58,484.484 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:12:58,525.525 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:12:58,574.574 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:12:58,577.577 INFO    ] No camera update needed
[2026-10-20 09:12:58,580.580 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:12:58,582.582 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:12:58,588.588 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:12:58,594.594 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:13:00,635.635 INFO    ] ================================================
[2026-10-20 09:13:00,650.650 INFO    ] Launching Daemon at Tue Oct 20 09:13:00 IST 2026
[2026-10-20 09:13:00,660.660 INFO    ] ================================================
[2026-10-20 09:13:01,225.225 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:13:01
[2026-10-20 09:13:01,954.954 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:13:02,275.275 INFO    ] Initializing speech engine...
[2026-10-20 09:13:02,282.282 INFO    ] 2026-10-20 09:13:02
[2026-10-20 09:13:02,572.572 INFO    ] 2026-10-20 09:13:02
[2026-10-20 09:13:02,614.614 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:13:02,912.912 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:13:02,943.943 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:13:03,091.091 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:13:03,139.139 INFO    ] time= 20/10/2026 09:13:03
[2026-10-20 09:13:03,184.184 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:13:03,230.230 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:13:03,360.360 INFO    ] No existing commands found in stream
[2026-10-20 09:13:08,386.386 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:13:08,389.389 INFO    ] Waiting 2.41 seconds before fallback handling...
[2026-10-20 09:13:11,341.341 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 09:13:11,344.344 INFO    ] Checking for system updates...
[2026-10-20 09:13:11,380.380 INFO    ] 200
[2026-10-20 09:13:11,382.382 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:13:11,436.436 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:13:11,439.439 INFO    ] No update needed
[2026-10-20 09:13:11,442.442 INFO    ] Checking for camera pi updates...
[2026-10-20 09:13:11,482.482 INFO    ] 200
[2026-10-20 09:13:11,484.484 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:13:11,525.525 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:13:11,576.576 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:13:11,578.578 INFO    ] No camera update needed
[2026-10-20 09:13:11,581.581 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:13:11,583.583 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:13:11,589.589 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:13:11,595.595 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:13:13,636.636 INFO    ] ================================================
[2026-10-20 09:13:13,651.651 INFO    ] Launching Daemon at Tue Oct 20 09:13:13 IST 2026
[2026-10-20 09:13:13,663.663 INFO    ] ================================================
[2026-10-20 09:13:14,253.253 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:13:14
[2026-10-20 09:13:14,850.850 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:13:15,127.127 INFO    ] Initializing speech engine...
[2026-10-20 09:13:15,137.137 INFO    ] 2026-10-20 09:13:15
[2026-10-20 09:13:15,395.395 INFO    ] 2026-10-20 09:13:15
[2026-10-20 09:13:15,449.449 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:13:15,675.675 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:13:15,679.679 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:13:15,879.879 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:13:15,933.933 INFO    ] time= 20/10/2026 09:13:15
[2026-10-20 09:13:15,944.944 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:13:15,962.962 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:13:16,094.094 INFO    ] No existing commands found in stream
[2026-10-20 09:13:21,116.116 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:13:21,119.119 INFO    ] Waiting 0.58 seconds before fallback handling...
[2026-10-20 09:13:22,211.211 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 09:13:22,213.213 INFO    ] Checking for system updates...
[2026-10-20 09:13:22,250.250 INFO    ] 200
[2026-10-20 09:13:22,253.253 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:13:22,310.310 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:13:22,313.313 INFO    ] No update needed
[2026-10-20 09:13:22,315.315 INFO    ] Checking for camera pi updates...
[2026-10-20 09:13:22,353.353 INFO    ] 200
[2026-10-20 09:13:22,356.356 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:13:22,396.396 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:13:22,451.451 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:13:22,453.453 INFO    ] No camera update needed
[2026-10-20 09:13:22,456.456 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:13:22,459.459 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:13:22,464.464 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:13:22,470.470 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:13:24,510.510 INFO    ] ================================================
[2026-10-20 09:13:24,525.525 INFO    ] Launching Daemon at Tue Oct 20 09:13:24 IST 2026
[2026-10-20 09:13:24,535.535 INFO    ] ================================================
[2026-10-20 09:13:25,154.154 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:13:25
[2026-10-20 09:13:25,796.796 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:13:26,089.089 INFO    ] Initializing speech engine...
[2026-10-20 09:13:26,099.099 INFO    ] 2026-10-20 09:13:26
[2026-10-20 09:13:26,356.356 INFO    ] 2026-10-20 09:13:26
[2026-10-20 09:13:26,399.399 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:13:26,652.652 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:13:26,659.659 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:13:26,884.884 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:13:26,921.921 INFO    ] time= 20/10/2026 09:13:26
[2026-10-20 09:13:26,939.939 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:13:26,968.968 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:13:27,095.095 INFO    ] No existing commands found in stream
[2026-10-20 09:13:32,127.127 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:13:32,131.131 INFO    ] Waiting 1.60 seconds before fallback handling...
[2026-10-20 09:13:34,239.239 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:13:34,241.241 INFO    ] Checking for system updates...
[2026-10-20 09:13:34,285.285 INFO    ] 200
[2026-10-20 09:13:34,287.287 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:13:34,340.340 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:13:34,342.342 INFO    ] No update needed
[2026-10-20 09:13:34,345.345 INFO    ] Checking for camera pi updates...
[2026-10-20 09:13:34,379.379 INFO    ] 200
[2026-10-20 09:13:34,382.382 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:13:34,425.425 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:13:34,473.473 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:13:34,476.476 INFO    ] No camera update needed
[2026-10-20 09:13:34,478.478 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:13:34,480.480 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:13:34,486.486 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:13:34,491.491 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:13:36,529.529 INFO    ] ================================================
[2026-10-20 09:13:36,544.544 INFO    ] Launching Daemon at Tue Oct 20 09:13:36 IST 2026
[2026-10-20 09:13:36,555.555 INFO    ] ================================================
[2026-10-20 09:13:37,174.174 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:13:37
[2026-10-20 09:13:37,811.811 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:13:38,106.106 INFO    ] Initializing speech engine...
[2026-10-20 09:13:38,120.120 INFO    ] 2026-10-20 09:13:38
[2026-10-20 09:13:38,385.385 INFO    ] 2026-10-20 09:13:38
[2026-10-20 09:13:38,442.442 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:13:38,704.704 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:13:38,708.708 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:13:38,922.922 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:13:38,950.950 INFO    ] time= 20/10/2026 09:13:38
[2026-10-20 09:13:38,967.967 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:13:38,976.976 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:13:39,087.087 INFO    ] No existing commands found in stream
[2026-10-20 09:13:44,107.107 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:13:44,111.111 INFO    ] Waiting 0.79 seconds before fallback handling...
[2026-10-20 09:13:45,439.439 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:13:45,442.442 INFO    ] Checking for system updates...
[2026-10-20 09:13:45,492.492 INFO    ] 200
[2026-10-20 09:13:45,495.495 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:13:45,546.546 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:13:45,549.549 INFO    ] No update needed
[2026-10-20 09:13:45,552.552 INFO    ] Checking for camera pi updates...
[2026-10-20 09:13:45,586.586 INFO    ] 200
[2026-10-20 09:13:45,589.589 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:13:45,632.632 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:13:45,679.679 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:13:45,681.681 INFO    ] No camera update needed
[2026-10-20 09:13:45,684.684 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:13:45,686.686 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:13:45,692.692 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:13:45,698.698 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:13:47,737.737 INFO    ] ================================================
[2026-10-20 09:13:47,752.752 INFO    ] Launching Daemon at Tue Oct 20 09:13:47 IST 2026
[2026-10-20 09:13:47,762.762 INFO    ] ================================================
[2026-10-20 09:13:48,328.328 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:13:48
[2026-10-20 09:13:48,911.911 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:13:49,161.161 INFO    ] Initializing speech engine...
[2026-10-20 09:13:49,170.170 INFO    ] 2026-10-20 09:13:49
[2026-10-20 09:13:49,453.453 INFO    ] 2026-10-20 09:13:49
[2026-10-20 09:13:49,490.490 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:13:49,689.689 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:13:49,706.706 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:13:49,851.851 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:13:49,856.856 INFO    ] time= 20/10/2026 09:13:49
[2026-10-20 09:13:49,862.862 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:13:49,867.867 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:13:50,005.005 INFO    ] No existing commands found in stream
[2026-10-20 09:13:55,023.023 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:13:55,025.025 INFO    ] Waiting 1.86 seconds before fallback handling...
[2026-10-20 09:13:57,398.398 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 09:13:57,401.401 INFO    ] Checking for system updates...
[2026-10-20 09:13:57,438.438 INFO    ] 200
[2026-10-20 09:13:57,441.441 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:13:57,494.494 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:13:57,496.496 INFO    ] No update needed
[2026-10-20 09:13:57,499.499 INFO    ] Checking for camera pi updates...
[2026-10-20 09:13:57,533.533 INFO    ] 200
[2026-10-20 09:13:57,535.535 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:13:57,575.575 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:13:57,626.626 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:13:57,629.629 INFO    ] No camera update needed
[2026-10-20 09:13:57,632.632 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:13:57,634.634 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:13:57,640.640 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:13:57,645.645 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:13:59,686.686 INFO    ] ================================================
[2026-10-20 09:13:59,701.701 INFO    ] Launching Daemon at Tue Oct 20 09:13:59 IST 2026
[2026-10-20 09:13:59,712.712 INFO    ] ================================================
[2026-10-20 09:14:00,279.279 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:14:00
[2026-10-20 09:14:00,861.861 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:14:01,127.127 INFO    ] Initializing speech engine...
[2026-10-20 09:14:01,136.136 INFO    ] 2026-10-20 09:14:01
[2026-10-20 09:14:01,381.381 INFO    ] 2026-10-20 09:14:01
[2026-10-20 09:14:01,415.415 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:14:01,645.645 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:14:01,650.650 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:14:01,800.800 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:14:01,804.804 INFO    ] time= 20/10/2026 09:14:01
[2026-10-20 09:14:01,807.807 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:14:01,830.830 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:14:01,902.902 INFO    ] No existing commands found in stream
[2026-10-20 09:14:06,912.912 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:14:06,915.915 INFO    ] Waiting 0.18 seconds before fallback handling...
[2026-10-20 09:14:07,583.583 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:14:07,585.585 INFO    ] Checking for system updates...
[2026-10-20 09:14:07,621.621 INFO    ] 200
[2026-10-20 09:14:07,624.624 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:14:07,677.677 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:14:07,679.679 INFO    ] No update needed
[2026-10-20 09:14:07,682.682 INFO    ] Checking for camera pi updates...
[2026-10-20 09:14:07,718.718 INFO    ] 200
[2026-10-20 09:14:07,721.721 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:14:07,761.761 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:14:07,813.813 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:14:07,816.816 INFO    ] No camera update needed
[2026-10-20 09:14:07,818.818 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:14:07,821.821 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:14:07,827.827 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:14:07,833.833 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:14:09,873.873 INFO    ] ================================================
[2026-10-20 09:14:09,888.888 INFO    ] Launching Daemon at Tue Oct 20 09:14:09 IST 2026
[2026-10-20 09:14:09,899.899 INFO    ] ================================================
[2026-10-20 09:14:10,470.470 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:14:10
[2026-10-20 09:14:11,052.052 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:14:11,306.306 INFO    ] Initializing speech engine...
[2026-10-20 09:14:11,312.312 INFO    ] 2026-10-20 09:14:11
[2026-10-20 09:14:11,599.599 INFO    ] 2026-10-20 09:14:11
[2026-10-20 09:14:11,636.636 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:14:11,851.851 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:14:11,859.859 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:14:12,074.074 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:14:12,101.101 INFO    ] time= 20/10/2026 09:14:12
[2026-10-20 09:14:12,161.161 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:14:12,205.205 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:14:12,363.363 INFO    ] No existing commands found in stream
[2026-10-20 09:14:17,393.393 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:14:17,396.396 INFO    ] Waiting 2.92 seconds before fallback handling...
[2026-10-20 09:14:20,842.842 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:14:20,845.845 INFO    ] Checking for system updates...
[2026-10-20 09:14:20,881.881 INFO    ] 200
[2026-10-20 09:14:20,884.884 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:14:20,937.937 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:14:20,940.940 INFO    ] No update needed
[2026-10-20 09:14:20,942.942 INFO    ] Checking for camera pi updates...
[2026-10-20 09:14:20,977.977 INFO    ] 200
[2026-10-20 09:14:20,980.980 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:14:21,020.020 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:14:21,066.066 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:14:21,069.069 INFO    ] No camera update needed
[2026-10-20 09:14:21,072.072 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:14:21,074.074 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:14:21,080.080 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:14:21,086.086 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:14:23,126.126 INFO    ] ================================================
[2026-10-20 09:14:23,142.142 INFO    ] Launching Daemon at Tue Oct 20 09:14:23 IST 2026
[2026-10-20 09:14:23,152.152 INFO    ] ================================================
[2026-10-20 09:14:23,742.742 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:14:23
[2026-10-20 09:14:24,340.340 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:14:24,618.618 INFO    ] Initializing speech engine...
[2026-10-20 09:14:24,627.627 INFO    ] 2026-10-20 09:14:24
[2026-10-20 09:14:24,885.885 INFO    ] 2026-10-20 09:14:24
[2026-10-20 09:14:24,915.915 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:14:25,166.166 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:14:25,172.172 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:14:25,404.404 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:14:25,428.428 INFO    ] time= 20/10/2026 09:14:25
[2026-10-20 09:14:25,446.446 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:14:25,453.453 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:14:25,585.585 INFO    ] No existing commands found in stream
[2026-10-20 09:14:30,609.609 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:14:30,611.611 INFO    ] Waiting 0.73 seconds before fallback handling...
[2026-10-20 09:14:31,863.863 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:14:31,866.866 INFO    ] Checking for system updates...
[2026-10-20 09:14:31,906.906 INFO    ] 200
[2026-10-20 09:14:31,909.909 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:14:31,965.965 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:14:31,967.967 INFO    ] No update needed
[2026-10-20 09:14:31,970.970 INFO    ] Checking for camera pi updates...
[2026-10-20 09:14:32,006.006 INFO    ] 200
[2026-10-20 09:14:32,009.009 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:14:32,053.053 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:14:32,096.096 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:14:32,099.099 INFO    ] No camera update needed
[2026-10-20 09:14:32,101.101 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:14:32,104.104 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:14:32,111.111 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:14:32,116.116 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:14:34,157.157 INFO    ] ================================================
[2026-10-20 09:14:34,173.173 INFO    ] Launching Daemon at Tue Oct 20 09:14:34 IST 2026
[2026-10-20 09:14:34,184.184 INFO    ] ================================================
[2026-10-20 09:14:34,753.753 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:14:34
[2026-10-20 09:14:35,338.338 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:14:35,609.609 INFO    ] Initializing speech engine...
[2026-10-20 09:14:35,618.618 INFO    ] 2026-10-20 09:14:35
[2026-10-20 09:14:35,869.869 INFO    ] 2026-10-20 09:14:35
[2026-10-20 09:14:35,903.903 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:14:36,125.125 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:14:36,165.165 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:14:36,320.320 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:14:36,380.380 INFO    ] time= 20/10/2026 09:14:36
[2026-10-20 09:14:36,440.440 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:14:36,448.448 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:14:36,576.576 INFO    ] No existing commands found in stream
[2026-10-20 09:14:41,602.602 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:14:41,605.605 INFO    ] Waiting 1.28 seconds before fallback handling...
[2026-10-20 09:14:43,422.422 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:14:43,425.425 INFO    ] Checking for system updates...
[2026-10-20 09:14:43,461.461 INFO    ] 200
[2026-10-20 09:14:43,463.463 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:14:43,514.514 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:14:43,517.517 INFO    ] No update needed
[2026-10-20 09:14:43,519.519 INFO    ] Checking for camera pi updates...
[2026-10-20 09:14:43,556.556 INFO    ] 200
[2026-10-20 09:14:43,558.558 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:14:43,599.599 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:14:43,646.646 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:14:43,649.649 INFO    ] No camera update needed
[2026-10-20 09:14:43,651.651 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:14:43,653.653 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:14:43,659.659 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:14:43,664.664 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:14:45,704.704 INFO    ] ================================================
[2026-10-20 09:14:45,720.720 INFO    ] Launching Daemon at Tue Oct 20 09:14:45 IST 2026
[2026-10-20 09:14:45,735.735 INFO    ] ================================================
[2026-10-20 09:14:46,303.303 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:14:46
[2026-10-20 09:14:46,886.886 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:14:47,157.157 INFO    ] Initializing speech engine...
[2026-10-20 09:14:47,168.168 INFO    ] 2026-10-20 09:14:47
[2026-10-20 09:14:47,415.415 INFO    ] 2026-10-20 09:14:47
[2026-10-20 09:14:47,450.450 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:14:47,711.711 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:14:47,720.720 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:14:47,871.871 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:14:47,905.905 INFO    ] time= 20/10/2026 09:14:47
[2026-10-20 09:14:47,964.964 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:14:48,015.015 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:14:48,145.145 INFO    ] No existing commands found in stream
[2026-10-20 09:14:53,162.162 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:14:53,165.165 INFO    ] Waiting 0.54 seconds before fallback handling...
[2026-10-20 09:14:54,187.187 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:14:54,190.190 INFO    ] Checking for system updates...
[2026-10-20 09:14:54,225.225 INFO    ] 200
[2026-10-20 09:14:54,228.228 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:14:54,280.280 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:14:54,282.282 INFO    ] No update needed
[2026-10-20 09:14:54,285.285 INFO    ] Checking for camera pi updates...
[2026-10-20 09:14:54,317.317 INFO    ] 200
[2026-10-20 09:14:54,320.320 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:14:54,361.361 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:14:54,508.508 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:14:54,510.510 INFO    ] No camera update needed
[2026-10-20 09:14:54,513.513 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:14:54,515.515 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:14:54,520.520 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:14:54,525.525 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:14:56,564.564 INFO    ] ================================================
[2026-10-20 09:14:56,579.579 INFO    ] Launching Daemon at Tue Oct 20 09:14:56 IST 2026
[2026-10-20 09:14:56,589.589 INFO    ] ================================================
[2026-10-20 09:14:57,166.166 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:14:57
[2026-10-20 09:14:57,751.751 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:14:58,018.018 INFO    ] Initializing speech engine...
[2026-10-20 09:14:58,027.027 INFO    ] 2026-10-20 09:14:58
[2026-10-20 09:14:58,274.274 INFO    ] 2026-10-20 09:14:58
[2026-10-20 09:14:58,308.308 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:14:58,559.559 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:14:58,568.568 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:14:58,703.703 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:14:58,773.773 INFO    ] time= 20/10/2026 09:14:58
[2026-10-20 09:14:58,830.830 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:14:58,837.837 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:14:58,982.982 INFO    ] No existing commands found in stream
[2026-10-20 09:15:03,991.991 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:15:03,994.994 INFO    ] Waiting 2.72 seconds before fallback handling...
[2026-10-20 09:15:07,194.194 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:15:07,197.197 INFO    ] Checking for system updates...
[2026-10-20 09:15:07,233.233 INFO    ] 200
[2026-10-20 09:15:07,236.236 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:15:07,288.288 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:15:07,290.290 INFO    ] No update needed
[2026-10-20 09:15:07,293.293 INFO    ] Checking for camera pi updates...
[2026-10-20 09:15:07,330.330 INFO    ] 200
[2026-10-20 09:15:07,332.332 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:15:07,374.374 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:15:07,431.431 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:15:07,433.433 INFO    ] No camera update needed
[2026-10-20 09:15:07,436.436 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:15:07,439.439 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:15:07,445.445 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:15:07,451.451 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:15:09,493.493 INFO    ] ================================================
[2026-10-20 09:15:09,508.508 INFO    ] Launching Daemon at Tue Oct 20 09:15:09 IST 2026
[2026-10-20 09:15:09,519.519 INFO    ] ================================================
[2026-10-20 09:15:10,099.099 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:15:10
[2026-10-20 09:15:10,779.779 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:15:11,081.081 INFO    ] Initializing speech engine...
[2026-10-20 09:15:11,092.092 INFO    ] 2026-10-20 09:15:11
[2026-10-20 09:15:11,370.370 INFO    ] 2026-10-20 09:15:11
[2026-10-20 09:15:11,428.428 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:15:11,714.714 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:15:11,721.721 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:15:11,914.914 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:15:11,921.921 INFO    ] time= 20/10/2026 09:15:11
[2026-10-20 09:15:11,943.943 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:15:11,971.971 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:15:12,076.076 INFO    ] No existing commands found in stream
[2026-10-20 09:15:17,106.106 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:15:17,109.109 INFO    ] Waiting 3.91 seconds before fallback handling...
[2026-10-20 09:15:21,568.568 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:15:21,571.571 INFO    ] Checking for system updates...
[2026-10-20 09:15:21,608.608 INFO    ] 200
[2026-10-20 09:15:21,611.611 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:15:21,664.664 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:15:21,666.666 INFO    ] No update needed
[2026-10-20 09:15:21,669.669 INFO    ] Checking for camera pi updates...
[2026-10-20 09:15:21,707.707 INFO    ] 200
[2026-10-20 09:15:21,709.709 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:15:21,750.750 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:15:21,797.797 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:15:21,800.800 INFO    ] No camera update needed
[2026-10-20 09:15:21,802.802 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:15:21,805.805 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:15:21,810.810 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:15:21,815.815 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:15:23,856.856 INFO    ] ================================================
[2026-10-20 09:15:23,871.871 INFO    ] Launching Daemon at Tue Oct 20 09:15:23 IST 2026
[2026-10-20 09:15:23,882.882 INFO    ] ================================================
[2026-10-20 09:15:24,447.447 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:15:24
[2026-10-20 09:15:25,029.029 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:15:25,297.297 INFO    ] Initializing speech engine...
[2026-10-20 09:15:25,306.306 INFO    ] 2026-10-20 09:15:25
[2026-10-20 09:15:25,558.558 INFO    ] 2026-10-20 09:15:25
[2026-10-20 09:15:25,592.592 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:15:25,836.836 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:15:25,845.845 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:15:26,044.044 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:15:26,104.104 INFO    ] time= 20/10/2026 09:15:26
[2026-10-20 09:15:26,111.111 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:15:26,128.128 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:15:26,272.272 INFO    ] No existing commands found in stream
[2026-10-20 09:15:31,299.299 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:15:31,302.302 INFO    ] Waiting 2.92 seconds before fallback handling...
[2026-10-20 09:15:34,722.722 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:15:34,725.725 INFO    ] Checking for system updates...
[2026-10-20 09:15:34,764.764 INFO    ] 200
[2026-10-20 09:15:34,767.767 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:15:34,818.818 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:15:34,820.820 INFO    ] No update needed
[2026-10-20 09:15:34,823.823 INFO    ] Checking for camera pi updates...
[2026-10-20 09:15:34,855.855 INFO    ] 200
[2026-10-20 09:15:34,858.858 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:15:34,899.899 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:15:34,943.943 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:15:34,946.946 INFO    ] No camera update needed
[2026-10-20 09:15:34,948.948 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:15:34,951.951 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:15:34,956.956 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:15:34,961.961 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:15:37,003.003 INFO    ] ================================================
[2026-10-20 09:15:37,018.018 INFO    ] Launching Daemon at Tue Oct 20 09:15:37 IST 2026
[2026-10-20 09:15:37,028.028 INFO    ] ================================================
[2026-10-20 09:15:37,617.617 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:15:37
[2026-10-20 09:15:38,210.210 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:15:38,479.479 INFO    ] Initializing speech engine...
[2026-10-20 09:15:38,488.488 INFO    ] 2026-10-20 09:15:38
[2026-10-20 09:15:38,734.734 INFO    ] 2026-10-20 09:15:38
[2026-10-20 09:15:38,768.768 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:15:39,020.020 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:15:39,030.030 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:15:39,236.236 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:15:39,287.287 INFO    ] time= 20/10/2026 09:15:39
[2026-10-20 09:15:39,294.294 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:15:39,312.312 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:15:39,466.466 INFO    ] No existing commands found in stream
[2026-10-20 09:15:44,491.491 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:15:44,494.494 INFO    ] Waiting 0.11 seconds before fallback handling...
[2026-10-20 09:15:45,086.086 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:15:45,088.088 INFO    ] Checking for system updates...
[2026-10-20 09:15:45,125.125 INFO    ] 200
[2026-10-20 09:15:45,127.127 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:15:45,180.180 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:15:45,182.182 INFO    ] No update needed
[2026-10-20 09:15:45,185.185 INFO    ] Checking for camera pi updates...
[2026-10-20 09:15:45,218.218 INFO    ] 200
[2026-10-20 09:15:45,220.220 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:15:45,265.265 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:15:45,314.314 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:15:45,316.316 INFO    ] No camera update needed
[2026-10-20 09:15:45,319.319 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:15:45,321.321 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:15:45,326.326 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:15:45,331.331 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:15:47,372.372 INFO    ] ================================================
[2026-10-20 09:15:47,387.387 INFO    ] Launching Daemon at Tue Oct 20 09:15:47 IST 2026
[2026-10-20 09:15:47,399.399 INFO    ] ================================================
[2026-10-20 09:15:48,050.050 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:15:48
[2026-10-20 09:15:48,721.721 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:15:49,022.022 INFO    ] Initializing speech engine...
[2026-10-20 09:15:49,029.029 INFO    ] 2026-10-20 09:15:49
[2026-10-20 09:15:49,303.303 INFO    ] 2026-10-20 09:15:49
[2026-10-20 09:15:49,356.356 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:15:49,641.641 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:15:49,650.650 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:15:49,844.844 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:15:49,851.851 INFO    ] time= 20/10/2026 09:15:49
[2026-10-20 09:15:49,870.870 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:15:49,898.898 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:15:50,010.010 INFO    ] No existing commands found in stream
[2026-10-20 09:15:55,040.040 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:15:55,044.044 INFO    ] Waiting 3.08 seconds before fallback handling...
[2026-10-20 09:15:58,759.759 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:15:58,762.762 INFO    ] Checking for system updates...
[2026-10-20 09:15:58,799.799 INFO    ] 200
[2026-10-20 09:15:58,802.802 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:15:58,862.862 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:15:58,864.864 INFO    ] No update needed
[2026-10-20 09:15:58,868.868 INFO    ] Checking for camera pi updates...
[2026-10-20 09:15:58,906.906 INFO    ] 200
[2026-10-20 09:15:58,908.908 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:15:58,956.956 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:15:59,006.006 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:15:59,008.008 INFO    ] No camera update needed
[2026-10-20 09:15:59,011.011 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:15:59,014.014 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:15:59,020.020 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:15:59,026.026 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:16:01,069.069 INFO    ] ================================================
[2026-10-20 09:16:01,084.084 INFO    ] Launching Daemon at Tue Oct 20 09:16:01 IST 2026
[2026-10-20 09:16:01,095.095 INFO    ] ================================================
[2026-10-20 09:16:01,684.684 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:16:01
[2026-10-20 09:16:02,379.379 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:16:02,718.718 INFO    ] Initializing speech engine...
[2026-10-20 09:16:02,736.736 INFO    ] 2026-10-20 09:16:02
[2026-10-20 09:16:03,050.050 INFO    ] 2026-10-20 09:16:03
[2026-10-20 09:16:03,090.090 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:16:03,361.361 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:16:03,373.373 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:16:03,538.538 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:16:03,602.602 INFO    ] time= 20/10/2026 09:16:03
[2026-10-20 09:16:03,659.659 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:16:03,686.686 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:16:03,828.828 INFO    ] No existing commands found in stream
[2026-10-20 09:16:08,857.857 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:16:08,860.860 INFO    ] Waiting 2.87 seconds before fallback handling...
[2026-10-20 09:16:12,257.257 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:16:12,260.260 INFO    ] Checking for system updates...
[2026-10-20 09:16:12,297.297 INFO    ] 200
[2026-10-20 09:16:12,300.300 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:16:12,359.359 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:16:12,361.361 INFO    ] No update needed
[2026-10-20 09:16:12,363.363 INFO    ] Checking for camera pi updates...
[2026-10-20 09:16:12,397.397 INFO    ] 200
[2026-10-20 09:16:12,400.400 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:16:12,441.441 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:16:12,486.486 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:16:12,489.489 INFO    ] No camera update needed
[2026-10-20 09:16:12,491.491 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:16:12,493.493 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:16:12,499.499 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:16:12,504.504 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:16:14,543.543 INFO    ] ================================================
[2026-10-20 09:16:14,559.559 INFO    ] Launching Daemon at Tue Oct 20 09:16:14 IST 2026
[2026-10-20 09:16:14,570.570 INFO    ] ================================================
[2026-10-20 09:16:15,211.211 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:16:15
[2026-10-20 09:16:15,872.872 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:16:16,182.182 INFO    ] Initializing speech engine...
[2026-10-20 09:16:16,194.194 INFO    ] 2026-10-20 09:16:16
[2026-10-20 09:16:16,504.504 INFO    ] 2026-10-20 09:16:16
[2026-10-20 09:16:16,593.593 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:16:16,812.812 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:16:16,821.821 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:16:17,017.017 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:16:17,035.035 INFO    ] time= 20/10/2026 09:16:17
[2026-10-20 09:16:17,045.045 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:16:17,073.073 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:16:17,182.182 INFO    ] No existing commands found in stream
[2026-10-20 09:16:22,202.202 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:16:22,205.205 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-10-20 09:16:24,723.723 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:16:24,726.726 INFO    ] Checking for system updates...
[2026-10-20 09:16:24,763.763 INFO    ] 200
[2026-10-20 09:16:24,766.766 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:16:24,819.819 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:16:24,822.822 INFO    ] No update needed
[2026-10-20 09:16:24,825.825 INFO    ] Checking for camera pi updates...
[2026-10-20 09:16:24,858.858 INFO    ] 200
[2026-10-20 09:16:24,861.861 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:16:24,901.901 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:16:24,946.946 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:16:24,948.948 INFO    ] No camera update needed
[2026-10-20 09:16:24,951.951 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:16:24,953.953 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:16:24,958.958 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:16:24,964.964 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:16:27,004.004 INFO    ] ================================================
[2026-10-20 09:16:27,020.020 INFO    ] Launching Daemon at Tue Oct 20 09:16:27 IST 2026
[2026-10-20 09:16:27,031.031 INFO    ] ================================================
[2026-10-20 09:16:27,599.599 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:16:27
[2026-10-20 09:16:28,184.184 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:16:28,432.432 INFO    ] Initializing speech engine...
[2026-10-20 09:16:28,439.439 INFO    ] 2026-10-20 09:16:28
[2026-10-20 09:16:28,733.733 INFO    ] 2026-10-20 09:16:28
[2026-10-20 09:16:28,770.770 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:16:28,961.961 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:16:28,967.967 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:16:29,138.138 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:16:29,144.144 INFO    ] time= 20/10/2026 09:16:29
[2026-10-20 09:16:29,150.150 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:16:29,172.172 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:16:29,312.312 INFO    ] No existing commands found in stream
[2026-10-20 09:16:34,337.337 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:16:34,340.340 INFO    ] Waiting 2.53 seconds before fallback handling...
[2026-10-20 09:16:37,394.394 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 09:16:37,396.396 INFO    ] Checking for system updates...
[2026-10-20 09:16:37,432.432 INFO    ] 200
[2026-10-20 09:16:37,435.435 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:16:37,488.488 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:16:37,490.490 INFO    ] No update needed
[2026-10-20 09:16:37,493.493 INFO    ] Checking for camera pi updates...
[2026-10-20 09:16:37,527.527 INFO    ] 200
[2026-10-20 09:16:37,530.530 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:16:37,573.573 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:16:37,618.618 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:16:37,621.621 INFO    ] No camera update needed
[2026-10-20 09:16:37,623.623 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:16:37,625.625 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:16:37,631.631 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:16:37,636.636 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:16:39,676.676 INFO    ] ================================================
[2026-10-20 09:16:39,692.692 INFO    ] Launching Daemon at Tue Oct 20 09:16:39 IST 2026
[2026-10-20 09:16:39,702.702 INFO    ] ================================================
[2026-10-20 09:16:40,271.271 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:16:40
[2026-10-20 09:16:40,860.860 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:16:41,113.113 INFO    ] Initializing speech engine...
[2026-10-20 09:16:41,122.122 INFO    ] 2026-10-20 09:16:41
[2026-10-20 09:16:41,412.412 INFO    ] 2026-10-20 09:16:41
[2026-10-20 09:16:41,448.448 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:16:41,643.643 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:16:41,657.657 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:16:41,822.822 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:16:41,865.865 INFO    ] time= 20/10/2026 09:16:41
[2026-10-20 09:16:41,896.896 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:16:41,917.917 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:16:42,041.041 INFO    ] No existing commands found in stream
[2026-10-20 09:16:47,051.051 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:16:47,054.054 INFO    ] Waiting 2.46 seconds before fallback handling...
[2026-10-20 09:16:51,722.722 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 09:16:51,724.724 INFO    ] Checking for system updates...
[2026-10-20 09:16:51,763.763 INFO    ] 200
[2026-10-20 09:16:51,766.766 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:16:51,826.826 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:16:51,829.829 INFO    ] No update needed
[2026-10-20 09:16:51,832.832 INFO    ] Checking for camera pi updates...
[2026-10-20 09:16:51,869.869 INFO    ] 200
[2026-10-20 09:16:51,871.871 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:16:51,914.914 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:16:51,960.960 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:16:51,962.962 INFO    ] No camera update needed
[2026-10-20 09:16:51,965.965 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:16:51,967.967 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:16:51,973.973 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:16:51,979.979 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:16:54,019.019 INFO    ] ================================================
[2026-10-20 09:16:54,034.034 INFO    ] Launching Daemon at Tue Oct 20 09:16:54 IST 2026
[2026-10-20 09:16:54,045.045 INFO    ] ================================================
[2026-10-20 09:16:54,611.611 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:16:54
[2026-10-20 09:16:55,229.229 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:16:55,484.484 INFO    ] Initializing speech engine...
[2026-10-20 09:16:55,500.500 INFO    ] 2026-10-20 09:16:55
[2026-10-20 09:16:55,778.778 INFO    ] 2026-10-20 09:16:55
[2026-10-20 09:16:55,816.816 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:16:56,009.009 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:16:56,025.025 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:16:56,189.189 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:16:56,198.198 INFO    ] time= 20/10/2026 09:16:56
[2026-10-20 09:16:56,204.204 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:16:56,263.263 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:16:56,395.395 INFO    ] No existing commands found in stream
[2026-10-20 09:17:01,408.408 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:17:01,411.411 INFO    ] Waiting 2.41 seconds before fallback handling...
[2026-10-20 09:17:04,337.337 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:17:04,340.340 INFO    ] Checking for system updates...
[2026-10-20 09:17:04,376.376 INFO    ] 200
[2026-10-20 09:17:04,378.378 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:17:04,439.439 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:17:04,441.441 INFO    ] No update needed
[2026-10-20 09:17:04,443.443 INFO    ] Checking for camera pi updates...
[2026-10-20 09:17:04,477.477 INFO    ] 200
[2026-10-20 09:17:04,479.479 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:17:04,520.520 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:17:04,573.573 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:17:04,576.576 INFO    ] No camera update needed
[2026-10-20 09:17:04,578.578 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:17:04,580.580 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:17:04,586.586 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:17:04,591.591 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:17:06,630.630 INFO    ] ================================================
[2026-10-20 09:17:06,644.644 INFO    ] Launching Daemon at Tue Oct 20 09:17:06 IST 2026
[2026-10-20 09:17:06,655.655 INFO    ] ================================================
[2026-10-20 09:17:07,287.287 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:17:07
[2026-10-20 09:17:07,940.940 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:17:08,237.237 INFO    ] Initializing speech engine...
[2026-10-20 09:17:08,244.244 INFO    ] 2026-10-20 09:17:08
[2026-10-20 09:17:08,515.515 INFO    ] 2026-10-20 09:17:08
[2026-10-20 09:17:08,551.551 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:17:08,803.803 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:17:08,813.813 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:17:09,033.033 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:17:09,081.081 INFO    ] time= 20/10/2026 09:17:09
[2026-10-20 09:17:09,088.088 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:17:09,107.107 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:17:09,244.244 INFO    ] No existing commands found in stream
[2026-10-20 09:17:14,272.272 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:17:14,276.276 INFO    ] Waiting 3.97 seconds before fallback handling...
[2026-10-20 09:17:18,788.788 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:17:18,791.791 INFO    ] Checking for system updates...
[2026-10-20 09:17:18,828.828 INFO    ] 200
[2026-10-20 09:17:18,830.830 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:17:18,882.882 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:17:18,884.884 INFO    ] No update needed
[2026-10-20 09:17:18,887.887 INFO    ] Checking for camera pi updates...
[2026-10-20 09:17:18,926.926 INFO    ] 200
[2026-10-20 09:17:18,928.928 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:17:18,969.969 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:17:19,016.016 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:17:19,018.018 INFO    ] No camera update needed
[2026-10-20 09:17:19,021.021 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:17:19,023.023 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:17:19,029.029 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:17:19,034.034 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:17:21,074.074 INFO    ] ================================================
[2026-10-20 09:17:21,089.089 INFO    ] Launching Daemon at Tue Oct 20 09:17:21 IST 2026
[2026-10-20 09:17:21,100.100 INFO    ] ================================================
[2026-10-20 09:17:21,680.680 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:17:21
[2026-10-20 09:17:22,280.280 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:17:22,536.536 INFO    ] Initializing speech engine...
[2026-10-20 09:17:22,543.543 INFO    ] 2026-10-20 09:17:22
[2026-10-20 09:17:22,830.830 INFO    ] 2026-10-20 09:17:22
[2026-10-20 09:17:22,867.867 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:17:23,145.145 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:17:23,155.155 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:17:23,300.300 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:17:23,338.338 INFO    ] time= 20/10/2026 09:17:23
[2026-10-20 09:17:23,392.392 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:17:23,446.446 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:17:23,610.610 INFO    ] No existing commands found in stream
[2026-10-20 09:17:28,625.625 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:17:28,628.628 INFO    ] Waiting 3.13 seconds before fallback handling...
[2026-10-20 09:17:32,281.281 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:17:32,284.284 INFO    ] Checking for system updates...
[2026-10-20 09:17:32,330.330 INFO    ] 200
[2026-10-20 09:17:32,334.334 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:17:32,395.395 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:17:32,400.400 INFO    ] No update needed
[2026-10-20 09:17:32,403.403 INFO    ] Checking for camera pi updates...
[2026-10-20 09:17:32,439.439 INFO    ] 200
[2026-10-20 09:17:32,442.442 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:17:32,487.487 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:17:32,520.520 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:17:32,522.522 INFO    ] No camera update needed
[2026-10-20 09:17:32,525.525 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:17:32,527.527 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:17:32,533.533 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:17:32,539.539 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:17:34,579.579 INFO    ] ================================================
[2026-10-20 09:17:34,594.594 INFO    ] Launching Daemon at Tue Oct 20 09:17:34 IST 2026
[2026-10-20 09:17:34,605.605 INFO    ] ================================================
[2026-10-20 09:17:35,187.187 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:17:35
[2026-10-20 09:17:35,777.777 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:17:36,047.047 INFO    ] Initializing speech engine...
[2026-10-20 09:17:36,063.063 INFO    ] 2026-10-20 09:17:36
[2026-10-20 09:17:36,324.324 INFO    ] 2026-10-20 09:17:36
[2026-10-20 09:17:36,378.378 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:17:36,616.616 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:17:36,636.636 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:17:36,861.861 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:17:36,882.882 INFO    ] time= 20/10/2026 09:17:36
[2026-10-20 09:17:36,888.888 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:17:36,906.906 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:17:37,036.036 INFO    ] No existing commands found in stream
[2026-10-20 09:17:42,051.051 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:17:42,054.054 INFO    ] Waiting 1.34 seconds before fallback handling...
[2026-10-20 09:17:43,891.891 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:17:43,894.894 INFO    ] Checking for system updates...
[2026-10-20 09:17:43,931.931 INFO    ] 200
[2026-10-20 09:17:43,934.934 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:17:43,986.986 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:17:43,989.989 INFO    ] No update needed
[2026-10-20 09:17:43,991.991 INFO    ] Checking for camera pi updates...
[2026-10-20 09:17:44,024.024 INFO    ] 200
[2026-10-20 09:17:44,026.026 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:17:44,070.070 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:17:44,117.117 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:17:44,120.120 INFO    ] No camera update needed
[2026-10-20 09:17:44,122.122 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:17:44,124.124 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:17:44,129.129 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:17:44,134.134 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:17:46,176.176 INFO    ] ================================================
[2026-10-20 09:17:46,192.192 INFO    ] Launching Daemon at Tue Oct 20 09:17:46 IST 2026
[2026-10-20 09:17:46,203.203 INFO    ] ================================================
[2026-10-20 09:17:46,767.767 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:17:46
[2026-10-20 09:17:47,349.349 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:17:47,602.602 INFO    ] Initializing speech engine...
[2026-10-20 09:17:47,608.608 INFO    ] 2026-10-20 09:17:47
[2026-10-20 09:17:47,891.891 INFO    ] 2026-10-20 09:17:47
[2026-10-20 09:17:47,927.927 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:17:48,140.140 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:17:48,147.147 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:17:48,357.357 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:17:48,364.364 INFO    ] time= 20/10/2026 09:17:48
[2026-10-20 09:17:48,423.423 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:17:48,457.457 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:17:48,557.557 INFO    ] No existing commands found in stream
[2026-10-20 09:17:53,568.568 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:17:53,571.571 INFO    ] Waiting 0.77 seconds before fallback handling...
[2026-10-20 09:17:54,876.876 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:17:54,879.879 INFO    ] Checking for system updates...
[2026-10-20 09:17:54,916.916 INFO    ] 200
[2026-10-20 09:17:54,918.918 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:17:54,975.975 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:17:54,977.977 INFO    ] No update needed
[2026-10-20 09:17:54,980.980 INFO    ] Checking for camera pi updates...
[2026-10-20 09:17:55,013.013 INFO    ] 200
[2026-10-20 09:17:55,015.015 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:17:55,055.055 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:17:55,103.103 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:17:55,105.105 INFO    ] No camera update needed
[2026-10-20 09:17:55,107.107 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:17:55,110.110 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:17:55,115.115 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:17:55,120.120 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:17:57,160.160 INFO    ] ================================================
[2026-10-20 09:17:57,176.176 INFO    ] Launching Daemon at Tue Oct 20 09:17:57 IST 2026
[2026-10-20 09:17:57,186.186 INFO    ] ================================================
[2026-10-20 09:17:57,755.755 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:17:57
[2026-10-20 09:17:58,338.338 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:17:58,610.610 INFO    ] Initializing speech engine...
[2026-10-20 09:17:58,623.623 INFO    ] 2026-10-20 09:17:58
[2026-10-20 09:17:58,868.868 INFO    ] 2026-10-20 09:17:58
[2026-10-20 09:17:58,904.904 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:17:59,106.106 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:17:59,162.162 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:17:59,309.309 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:17:59,369.369 INFO    ] time= 20/10/2026 09:17:59
[2026-10-20 09:17:59,408.408 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:17:59,442.442 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:17:59,594.594 INFO    ] No existing commands found in stream
[2026-10-20 09:18:04,609.609 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:18:04,612.612 INFO    ] Waiting 3.20 seconds before fallback handling...
[2026-10-20 09:18:08,360.360 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 09:18:08,362.362 INFO    ] Checking for system updates...
[2026-10-20 09:18:08,397.397 INFO    ] 200
[2026-10-20 09:18:08,400.400 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:18:08,452.452 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:18:08,454.454 INFO    ] No update needed
[2026-10-20 09:18:08,457.457 INFO    ] Checking for camera pi updates...
[2026-10-20 09:18:08,492.492 INFO    ] 200
[2026-10-20 09:18:08,494.494 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:18:08,534.534 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:18:08,582.582 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:18:08,584.584 INFO    ] No camera update needed
[2026-10-20 09:18:08,587.587 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:18:08,589.589 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:18:08,594.594 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:18:08,599.599 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:18:10,642.642 INFO    ] ================================================
[2026-10-20 09:18:10,658.658 INFO    ] Launching Daemon at Tue Oct 20 09:18:10 IST 2026
[2026-10-20 09:18:10,669.669 INFO    ] ================================================
[2026-10-20 09:18:11,280.280 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:18:11
[2026-10-20 09:18:11,938.938 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:18:12,233.233 INFO    ] Initializing speech engine...
[2026-10-20 09:18:12,245.245 INFO    ] 2026-10-20 09:18:12
[2026-10-20 09:18:12,519.519 INFO    ] 2026-10-20 09:18:12
[2026-10-20 09:18:12,563.563 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:18:12,844.844 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:18:12,852.852 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:18:13,048.048 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:18:13,055.055 INFO    ] time= 20/10/2026 09:18:13
[2026-10-20 09:18:13,073.073 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:18:13,102.102 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:18:13,233.233 INFO    ] No existing commands found in stream
[2026-10-20 09:18:18,259.259 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:18:18,262.262 INFO    ] Waiting 1.03 seconds before fallback handling...
[2026-10-20 09:18:19,878.878 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:18:19,881.881 INFO    ] Checking for system updates...
[2026-10-20 09:18:19,917.917 INFO    ] 200
[2026-10-20 09:18:19,920.920 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:18:19,971.971 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:18:19,974.974 INFO    ] No update needed
[2026-10-20 09:18:19,977.977 INFO    ] Checking for camera pi updates...
[2026-10-20 09:18:20,011.011 INFO    ] 200
[2026-10-20 09:18:20,013.013 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:18:20,057.057 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:18:20,118.118 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:18:20,120.120 INFO    ] No camera update needed
[2026-10-20 09:18:20,123.123 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:18:20,125.125 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:18:20,131.131 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:18:20,137.137 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:18:22,176.176 INFO    ] ================================================
[2026-10-20 09:18:22,191.191 INFO    ] Launching Daemon at Tue Oct 20 09:18:22 IST 2026
[2026-10-20 09:18:22,201.201 INFO    ] ================================================
[2026-10-20 09:18:22,775.775 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:18:22
[2026-10-20 09:18:23,362.362 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:18:23,614.614 INFO    ] Initializing speech engine...
[2026-10-20 09:18:23,621.621 INFO    ] 2026-10-20 09:18:23
[2026-10-20 09:18:23,909.909 INFO    ] 2026-10-20 09:18:23
[2026-10-20 09:18:23,946.946 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:18:24,204.204 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:18:24,227.227 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:18:24,387.387 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:18:24,447.447 INFO    ] time= 20/10/2026 09:18:24
[2026-10-20 09:18:24,496.496 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:18:24,524.524 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:18:24,672.672 INFO    ] No existing commands found in stream
[2026-10-20 09:18:29,695.695 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:18:29,697.697 INFO    ] Waiting 2.63 seconds before fallback handling...
[2026-10-20 09:18:32,803.803 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 09:18:32,805.805 INFO    ] Checking for system updates...
[2026-10-20 09:18:32,841.841 INFO    ] 200
[2026-10-20 09:18:32,843.843 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:18:32,899.899 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:18:32,901.901 INFO    ] No update needed
[2026-10-20 09:18:32,903.903 INFO    ] Checking for camera pi updates...
[2026-10-20 09:18:32,936.936 INFO    ] 200
[2026-10-20 09:18:32,939.939 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:18:32,982.982 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:18:33,012.012 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:18:33,014.014 INFO    ] No camera update needed
[2026-10-20 09:18:33,016.016 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:18:33,019.019 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:18:33,024.024 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:18:33,029.029 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:18:35,067.067 INFO    ] ================================================
[2026-10-20 09:18:35,082.082 INFO    ] Launching Daemon at Tue Oct 20 09:18:35 IST 2026
[2026-10-20 09:18:35,093.093 INFO    ] ================================================
[2026-10-20 09:18:35,657.657 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:18:35
[2026-10-20 09:18:36,241.241 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:18:36,488.488 INFO    ] Initializing speech engine...
[2026-10-20 09:18:36,494.494 INFO    ] 2026-10-20 09:18:36
[2026-10-20 09:18:36,769.769 INFO    ] 2026-10-20 09:18:36
[2026-10-20 09:18:36,804.804 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:18:37,061.061 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:18:37,071.071 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:18:37,207.207 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:18:37,272.272 INFO    ] time= 20/10/2026 09:18:37
[2026-10-20 09:18:37,332.332 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:18:37,343.343 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:18:37,472.472 INFO    ] No existing commands found in stream
[2026-10-20 09:18:42,497.497 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:18:42,500.500 INFO    ] Waiting 3.02 seconds before fallback handling...
[2026-10-20 09:18:46,036.036 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:18:46,039.039 INFO    ] Checking for system updates...
[2026-10-20 09:18:46,077.077 INFO    ] 200
[2026-10-20 09:18:46,080.080 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:18:46,136.136 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:18:46,138.138 INFO    ] No update needed
[2026-10-20 09:18:46,141.141 INFO    ] Checking for camera pi updates...
[2026-10-20 09:18:46,174.174 INFO    ] 200
[2026-10-20 09:18:46,177.177 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:18:46,216.216 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:18:46,260.260 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:18:46,263.263 INFO    ] No camera update needed
[2026-10-20 09:18:46,265.265 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:18:46,267.267 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:18:46,273.273 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:18:46,278.278 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:18:48,318.318 INFO    ] ================================================
[2026-10-20 09:18:48,333.333 INFO    ] Launching Daemon at Tue Oct 20 09:18:48 IST 2026
[2026-10-20 09:18:48,344.344 INFO    ] ================================================
[2026-10-20 09:18:48,910.910 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:18:48
[2026-10-20 09:18:49,494.494 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:18:49,762.762 INFO    ] Initializing speech engine...
[2026-10-20 09:18:49,771.771 INFO    ] 2026-10-20 09:18:49
[2026-10-20 09:18:50,014.014 INFO    ] 2026-10-20 09:18:50
[2026-10-20 09:18:50,049.049 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:18:50,306.306 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:18:50,312.312 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:18:50,446.446 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:18:50,501.501 INFO    ] time= 20/10/2026 09:18:50
[2026-10-20 09:18:50,566.566 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:18:50,582.582 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:18:50,727.727 INFO    ] No existing commands found in stream
[2026-10-20 09:18:55,741.741 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:18:55,744.744 INFO    ] Waiting 2.80 seconds before fallback handling...
[2026-10-20 09:18:59,070.070 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:18:59,072.072 INFO    ] Checking for system updates...
[2026-10-20 09:18:59,108.108 INFO    ] 200
[2026-10-20 09:18:59,111.111 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:18:59,162.162 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:18:59,165.165 INFO    ] No update needed
[2026-10-20 09:18:59,167.167 INFO    ] Checking for camera pi updates...
[2026-10-20 09:18:59,200.200 INFO    ] 200
[2026-10-20 09:18:59,202.202 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:18:59,242.242 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:18:59,292.292 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:18:59,294.294 INFO    ] No camera update needed
[2026-10-20 09:18:59,296.296 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:18:59,299.299 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:18:59,304.304 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:18:59,309.309 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:19:01,362.362 INFO    ] ================================================
[2026-10-20 09:19:01,385.385 INFO    ] Launching Daemon at Tue Oct 20 09:19:01 IST 2026
[2026-10-20 09:19:01,403.403 INFO    ] ================================================
[2026-10-20 09:19:02,059.059 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:19:02
[2026-10-20 09:19:02,731.731 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:19:03,049.049 INFO    ] Initializing speech engine...
[2026-10-20 09:19:03,072.072 INFO    ] 2026-10-20 09:19:03
[2026-10-20 09:19:03,419.419 INFO    ] 2026-10-20 09:19:03
[2026-10-20 09:19:03,508.508 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:19:03,722.722 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:19:03,727.727 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:19:03,922.922 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:19:03,930.930 INFO    ] time= 20/10/2026 09:19:03
[2026-10-20 09:19:03,948.948 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:19:03,960.960 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:19:04,083.083 INFO    ] No existing commands found in stream
[2026-10-20 09:19:09,115.115 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:19:09,118.118 INFO    ] Waiting 2.45 seconds before fallback handling...
[2026-10-20 09:19:12,123.123 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:19:12,126.126 INFO    ] Checking for system updates...
[2026-10-20 09:19:12,162.162 INFO    ] 200
[2026-10-20 09:19:12,165.165 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:19:12,219.219 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:19:12,222.222 INFO    ] No update needed
[2026-10-20 09:19:12,225.225 INFO    ] Checking for camera pi updates...
[2026-10-20 09:19:12,259.259 INFO    ] 200
[2026-10-20 09:19:12,261.261 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:19:12,309.309 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:19:12,459.459 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:19:12,461.461 INFO    ] No camera update needed
[2026-10-20 09:19:12,463.463 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:19:12,466.466 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:19:12,471.471 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:19:12,476.476 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:19:14,515.515 INFO    ] ================================================
[2026-10-20 09:19:14,530.530 INFO    ] Launching Daemon at Tue Oct 20 09:19:14 IST 2026
[2026-10-20 09:19:14,542.542 INFO    ] ================================================
[2026-10-20 09:19:15,115.115 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:19:15
[2026-10-20 09:19:15,703.703 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:19:15,971.971 INFO    ] Initializing speech engine...
[2026-10-20 09:19:15,981.981 INFO    ] 2026-10-20 09:19:15
[2026-10-20 09:19:16,227.227 INFO    ] 2026-10-20 09:19:16
[2026-10-20 09:19:16,261.261 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:19:16,516.516 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:19:16,520.520 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:19:16,727.727 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:19:16,771.771 INFO    ] time= 20/10/2026 09:19:16
[2026-10-20 09:19:16,782.782 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:19:16,788.788 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:19:16,936.936 INFO    ] No existing commands found in stream
[2026-10-20 09:19:21,959.959 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:19:21,961.961 INFO    ] Waiting 0.20 seconds before fallback handling...
[2026-10-20 09:19:22,633.633 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 09:19:22,635.635 INFO    ] Checking for system updates...
[2026-10-20 09:19:22,675.675 INFO    ] 200
[2026-10-20 09:19:22,678.678 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:19:22,738.738 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:19:22,741.741 INFO    ] No update needed
[2026-10-20 09:19:22,744.744 INFO    ] Checking for camera pi updates...
[2026-10-20 09:19:22,778.778 INFO    ] 200
[2026-10-20 09:19:22,781.781 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:19:22,822.822 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:19:22,868.868 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:19:22,871.871 INFO    ] No camera update needed
[2026-10-20 09:19:22,874.874 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:19:22,877.877 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:19:22,883.883 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:19:22,889.889 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:19:24,929.929 INFO    ] ================================================
[2026-10-20 09:19:24,944.944 INFO    ] Launching Daemon at Tue Oct 20 09:19:24 IST 2026
[2026-10-20 09:19:24,955.955 INFO    ] ================================================
[2026-10-20 09:19:25,536.536 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:19:25
[2026-10-20 09:19:26,134.134 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:19:26,408.408 INFO    ] Initializing speech engine...
[2026-10-20 09:19:26,417.417 INFO    ] 2026-10-20 09:19:26
[2026-10-20 09:19:26,665.665 INFO    ] 2026-10-20 09:19:26
[2026-10-20 09:19:26,706.706 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:19:26,952.952 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:19:26,962.962 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:19:27,143.143 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:19:27,202.202 INFO    ] time= 20/10/2026 09:19:27
[2026-10-20 09:19:27,230.230 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:19:27,235.235 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:19:27,378.378 INFO    ] No existing commands found in stream
[2026-10-20 09:19:32,391.391 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:19:32,394.394 INFO    ] Waiting 3.80 seconds before fallback handling...
[2026-10-20 09:19:36,721.721 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:19:36,724.724 INFO    ] Checking for system updates...
[2026-10-20 09:19:36,760.760 INFO    ] 200
[2026-10-20 09:19:36,762.762 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:19:36,822.822 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:19:36,824.824 INFO    ] No update needed
[2026-10-20 09:19:36,827.827 INFO    ] Checking for camera pi updates...
[2026-10-20 09:19:36,860.860 INFO    ] 200
[2026-10-20 09:19:36,862.862 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:19:36,902.902 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:19:36,946.946 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:19:36,949.949 INFO    ] No camera update needed
[2026-10-20 09:19:36,951.951 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:19:36,956.956 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:19:36,962.962 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:19:36,967.967 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:19:39,007.007 INFO    ] ================================================
[2026-10-20 09:19:39,022.022 INFO    ] Launching Daemon at Tue Oct 20 09:19:39 IST 2026
[2026-10-20 09:19:39,032.032 INFO    ] ================================================
[2026-10-20 09:19:39,622.622 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:19:39
[2026-10-20 09:19:40,224.224 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:19:40,498.498 INFO    ] Initializing speech engine...
[2026-10-20 09:19:40,507.507 INFO    ] 2026-10-20 09:19:40
[2026-10-20 09:19:40,767.767 INFO    ] 2026-10-20 09:19:40
[2026-10-20 09:19:40,801.801 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:19:41,047.047 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:19:41,057.057 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:19:41,282.282 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:19:41,316.316 INFO    ] time= 20/10/2026 09:19:41
[2026-10-20 09:19:41,322.322 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:19:41,343.343 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:19:41,472.472 INFO    ] No existing commands found in stream
[2026-10-20 09:19:46,487.487 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:19:46,490.490 INFO    ] Waiting 2.67 seconds before fallback handling...
[2026-10-20 09:19:49,647.647 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:19:49,650.650 INFO    ] Checking for system updates...
[2026-10-20 09:19:49,686.686 INFO    ] 200
[2026-10-20 09:19:49,689.689 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:19:49,741.741 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:19:49,743.743 INFO    ] No update needed
[2026-10-20 09:19:49,746.746 INFO    ] Checking for camera pi updates...
[2026-10-20 09:19:49,784.784 INFO    ] 200
[2026-10-20 09:19:49,786.786 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:19:49,828.828 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:19:49,883.883 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:19:49,886.886 INFO    ] No camera update needed
[2026-10-20 09:19:49,889.889 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:19:49,891.891 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:19:49,898.898 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:19:49,904.904 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:19:51,946.946 INFO    ] ================================================
[2026-10-20 09:19:51,961.961 INFO    ] Launching Daemon at Tue Oct 20 09:19:51 IST 2026
[2026-10-20 09:19:51,972.972 INFO    ] ================================================
[2026-10-20 09:19:52,541.541 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:19:52
[2026-10-20 09:19:53,123.123 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:19:53,392.392 INFO    ] Initializing speech engine...
[2026-10-20 09:19:53,402.402 INFO    ] 2026-10-20 09:19:53
[2026-10-20 09:19:53,659.659 INFO    ] 2026-10-20 09:19:53
[2026-10-20 09:19:53,689.689 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:19:53,938.938 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:19:53,943.943 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:19:54,156.156 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:19:54,197.197 INFO    ] time= 20/10/2026 09:19:54
[2026-10-20 09:19:54,204.204 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:19:54,221.221 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:19:54,341.341 INFO    ] No existing commands found in stream
[2026-10-20 09:19:59,360.360 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:19:59,363.363 INFO    ] Waiting 0.94 seconds before fallback handling...
[2026-10-20 09:20:00,842.842 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:20:00,845.845 INFO    ] Checking for system updates...
[2026-10-20 09:20:00,882.882 INFO    ] 200
[2026-10-20 09:20:00,884.884 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:20:00,945.945 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:20:00,948.948 INFO    ] No update needed
[2026-10-20 09:20:00,950.950 INFO    ] Checking for camera pi updates...
[2026-10-20 09:20:00,984.984 INFO    ] 200
[2026-10-20 09:20:00,987.987 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:20:01,033.033 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:20:01,084.084 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:20:01,086.086 INFO    ] No camera update needed
[2026-10-20 09:20:01,089.089 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:20:01,092.092 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:20:01,099.099 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:20:01,105.105 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:20:03,159.159 INFO    ] ================================================
[2026-10-20 09:20:03,180.180 INFO    ] Launching Daemon at Tue Oct 20 09:20:03 IST 2026
[2026-10-20 09:20:03,192.192 INFO    ] ================================================
[2026-10-20 09:20:03,801.801 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:20:03
[2026-10-20 09:20:04,400.400 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:20:04,678.678 INFO    ] Initializing speech engine...
[2026-10-20 09:20:04,684.684 INFO    ] 2026-10-20 09:20:04
[2026-10-20 09:20:04,935.935 INFO    ] 2026-10-20 09:20:04
[2026-10-20 09:20:04,977.977 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:20:05,223.223 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:20:05,226.226 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:20:05,429.429 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:20:05,483.483 INFO    ] time= 20/10/2026 09:20:05
[2026-10-20 09:20:05,499.499 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:20:05,518.518 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:20:05,653.653 INFO    ] No existing commands found in stream
[2026-10-20 09:20:10,682.682 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:20:10,685.685 INFO    ] Waiting 3.63 seconds before fallback handling...
[2026-10-20 09:20:14,813.813 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:20:14,815.815 INFO    ] Checking for system updates...
[2026-10-20 09:20:14,855.855 INFO    ] 200
[2026-10-20 09:20:14,858.858 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:20:14,914.914 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:20:14,916.916 INFO    ] No update needed
[2026-10-20 09:20:14,919.919 INFO    ] Checking for camera pi updates...
[2026-10-20 09:20:14,953.953 INFO    ] 200
[2026-10-20 09:20:14,956.956 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:20:14,995.995 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:20:15,046.046 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:20:15,048.048 INFO    ] No camera update needed
[2026-10-20 09:20:15,051.051 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:20:15,053.053 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:20:15,058.058 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:20:15,063.063 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:20:17,106.106 INFO    ] ================================================
[2026-10-20 09:20:17,121.121 INFO    ] Launching Daemon at Tue Oct 20 09:20:17 IST 2026
[2026-10-20 09:20:17,131.131 INFO    ] ================================================
[2026-10-20 09:20:17,716.716 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:20:17
[2026-10-20 09:20:18,318.318 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:20:18,586.586 INFO    ] Initializing speech engine...
[2026-10-20 09:20:18,599.599 INFO    ] 2026-10-20 09:20:18
[2026-10-20 09:20:18,880.880 INFO    ] 2026-10-20 09:20:18
[2026-10-20 09:20:18,918.918 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:20:19,137.137 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:20:19,156.156 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:20:19,361.361 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:20:19,369.369 INFO    ] time= 20/10/2026 09:20:19
[2026-10-20 09:20:19,416.416 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:20:19,445.445 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:20:19,536.536 INFO    ] No existing commands found in stream
[2026-10-20 09:20:24,559.559 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:20:24,562.562 INFO    ] Waiting 2.24 seconds before fallback handling...
[2026-10-20 09:20:27,357.357 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:20:27,360.360 INFO    ] Checking for system updates...
[2026-10-20 09:20:27,396.396 INFO    ] 200
[2026-10-20 09:20:27,399.399 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:20:27,453.453 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:20:27,455.455 INFO    ] No update needed
[2026-10-20 09:20:27,458.458 INFO    ] Checking for camera pi updates...
[2026-10-20 09:20:27,492.492 INFO    ] 200
[2026-10-20 09:20:27,494.494 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:20:27,538.538 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:20:27,595.595 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:20:27,597.597 INFO    ] No camera update needed
[2026-10-20 09:20:27,600.600 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:20:27,603.603 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:20:27,609.609 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:20:27,614.614 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:20:29,654.654 INFO    ] ================================================
[2026-10-20 09:20:29,669.669 INFO    ] Launching Daemon at Tue Oct 20 09:20:29 IST 2026
[2026-10-20 09:20:29,680.680 INFO    ] ================================================
[2026-10-20 09:20:30,249.249 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:20:30
[2026-10-20 09:20:30,836.836 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:20:31,094.094 INFO    ] Initializing speech engine...
[2026-10-20 09:20:31,108.108 INFO    ] 2026-10-20 09:20:31
[2026-10-20 09:20:31,391.391 INFO    ] 2026-10-20 09:20:31
[2026-10-20 09:20:31,434.434 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:20:31,735.735 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:20:31,745.745 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:20:31,901.901 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:20:31,942.942 INFO    ] time= 20/10/2026 09:20:31
[2026-10-20 09:20:31,999.999 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:20:32,045.045 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:20:32,194.194 INFO    ] No existing commands found in stream
[2026-10-20 09:20:37,213.213 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:20:37,216.216 INFO    ] Waiting 0.66 seconds before fallback handling...
[2026-10-20 09:20:38,394.394 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:20:38,397.397 INFO    ] Checking for system updates...
[2026-10-20 09:20:38,432.432 INFO    ] 200
[2026-10-20 09:20:38,434.434 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:20:38,486.486 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:20:38,488.488 INFO    ] No update needed
[2026-10-20 09:20:38,490.490 INFO    ] Checking for camera pi updates...
[2026-10-20 09:20:38,529.529 INFO    ] 200
[2026-10-20 09:20:38,531.531 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:20:38,572.572 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:20:38,627.627 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:20:38,629.629 INFO    ] No camera update needed
[2026-10-20 09:20:38,632.632 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:20:38,634.634 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:20:38,639.639 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:20:38,644.644 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:20:40,684.684 INFO    ] ================================================
[2026-10-20 09:20:40,699.699 INFO    ] Launching Daemon at Tue Oct 20 09:20:40 IST 2026
[2026-10-20 09:20:40,709.709 INFO    ] ================================================
[2026-10-20 09:20:41,285.285 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:20:41
[2026-10-20 09:20:41,868.868 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:20:42,122.122 INFO    ] Initializing speech engine...
[2026-10-20 09:20:42,129.129 INFO    ] 2026-10-20 09:20:42
[2026-10-20 09:20:42,417.417 INFO    ] 2026-10-20 09:20:42
[2026-10-20 09:20:42,454.454 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:20:42,665.665 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:20:42,723.723 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:20:42,941.941 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:20:42,988.988 INFO    ] time= 20/10/2026 09:20:42
[2026-10-20 09:20:42,994.994 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:20:43,014.014 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:20:43,143.143 INFO    ] No existing commands found in stream
[2026-10-20 09:20:48,162.162 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:20:48,165.165 INFO    ] Waiting 1.01 seconds before fallback handling...
[2026-10-20 09:20:49,689.689 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:20:49,692.692 INFO    ] Checking for system updates...
[2026-10-20 09:20:49,728.728 INFO    ] 200
[2026-10-20 09:20:49,731.731 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:20:49,790.790 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:20:49,793.793 INFO    ] No update needed
[2026-10-20 09:20:49,795.795 INFO    ] Checking for camera pi updates...
[2026-10-20 09:20:49,830.830 INFO    ] 200
[2026-10-20 09:20:49,833.833 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:20:49,874.874 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:20:49,931.931 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:20:49,933.933 INFO    ] No camera update needed
[2026-10-20 09:20:49,936.936 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:20:49,938.938 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:20:49,945.945 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:20:49,950.950 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:20:51,990.990 INFO    ] ================================================
[2026-10-20 09:20:52,005.005 INFO    ] Launching Daemon at Tue Oct 20 09:20:52 IST 2026
[2026-10-20 09:20:52,016.016 INFO    ] ================================================
[2026-10-20 09:20:52,639.639 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:20:52
[2026-10-20 09:20:53,236.236 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:20:53,491.491 INFO    ] Initializing speech engine...
[2026-10-20 09:20:53,499.499 INFO    ] 2026-10-20 09:20:53
[2026-10-20 09:20:53,786.786 INFO    ] 2026-10-20 09:20:53
[2026-10-20 09:20:53,824.824 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:20:54,043.043 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:20:54,082.082 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:20:54,266.266 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:20:54,315.315 INFO    ] time= 20/10/2026 09:20:54
[2026-10-20 09:20:54,354.354 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:20:54,409.409 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:20:54,567.567 INFO    ] No existing commands found in stream
[2026-10-20 09:20:59,585.585 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:20:59,588.588 INFO    ] Waiting 1.64 seconds before fallback handling...
[2026-10-20 09:21:01,806.806 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:21:01,809.809 INFO    ] Checking for system updates...
[2026-10-20 09:21:01,883.883 INFO    ] 200
[2026-10-20 09:21:01,887.887 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:21:01,959.959 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:21:01,962.962 INFO    ] No update needed
[2026-10-20 09:21:01,965.965 INFO    ] Checking for camera pi updates...
[2026-10-20 09:21:02,004.004 INFO    ] 200
[2026-10-20 09:21:02,007.007 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:21:02,053.053 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:21:02,089.089 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:21:02,092.092 INFO    ] No camera update needed
[2026-10-20 09:21:02,095.095 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:21:02,098.098 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:21:02,105.105 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:21:02,110.110 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:21:04,151.151 INFO    ] ================================================
[2026-10-20 09:21:04,167.167 INFO    ] Launching Daemon at Tue Oct 20 09:21:04 IST 2026
[2026-10-20 09:21:04,178.178 INFO    ] ================================================
[2026-10-20 09:21:04,745.745 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:21:04
[2026-10-20 09:21:05,328.328 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:21:05,593.593 INFO    ] Initializing speech engine...
[2026-10-20 09:21:05,611.611 INFO    ] 2026-10-20 09:21:05
[2026-10-20 09:21:05,876.876 INFO    ] 2026-10-20 09:21:05
[2026-10-20 09:21:05,911.911 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:21:06,130.130 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:21:06,150.150 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:21:06,307.307 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:21:06,313.313 INFO    ] time= 20/10/2026 09:21:06
[2026-10-20 09:21:06,320.320 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:21:06,353.353 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:21:06,495.495 INFO    ] No existing commands found in stream
[2026-10-20 09:21:11,520.520 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:21:11,523.523 INFO    ] Waiting 1.16 seconds before fallback handling...
[2026-10-20 09:21:13,169.169 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:21:13,171.171 INFO    ] Checking for system updates...
[2026-10-20 09:21:13,206.206 INFO    ] 200
[2026-10-20 09:21:13,209.209 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:21:13,261.261 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:21:13,263.263 INFO    ] No update needed
[2026-10-20 09:21:13,266.266 INFO    ] Checking for camera pi updates...
[2026-10-20 09:21:13,299.299 INFO    ] 200
[2026-10-20 09:21:13,301.301 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:21:13,341.341 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:21:13,390.390 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:21:13,393.393 INFO    ] No camera update needed
[2026-10-20 09:21:13,395.395 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:21:13,397.397 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:21:13,402.402 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:21:13,407.407 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:21:15,448.448 INFO    ] ================================================
[2026-10-20 09:21:15,463.463 INFO    ] Launching Daemon at Tue Oct 20 09:21:15 IST 2026
[2026-10-20 09:21:15,473.473 INFO    ] ================================================
[2026-10-20 09:21:16,056.056 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:21:16
[2026-10-20 09:21:16,641.641 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:21:16,913.913 INFO    ] Initializing speech engine...
[2026-10-20 09:21:16,918.918 INFO    ] 2026-10-20 09:21:16
[2026-10-20 09:21:17,163.163 INFO    ] 2026-10-20 09:21:17
[2026-10-20 09:21:17,198.198 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:21:17,454.454 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:21:17,461.461 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:21:17,682.682 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:21:17,718.718 INFO    ] time= 20/10/2026 09:21:17
[2026-10-20 09:21:17,724.724 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:21:17,742.742 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:21:17,872.872 INFO    ] No existing commands found in stream
[2026-10-20 09:21:22,887.887 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:21:22,890.890 INFO    ] Waiting 3.91 seconds before fallback handling...
[2026-10-20 09:21:27,345.345 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:21:27,347.347 INFO    ] Checking for system updates...
[2026-10-20 09:21:27,387.387 INFO    ] 200
[2026-10-20 09:21:27,390.390 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:21:27,442.442 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:21:27,445.445 INFO    ] No update needed
[2026-10-20 09:21:27,447.447 INFO    ] Checking for camera pi updates...
[2026-10-20 09:21:27,480.480 INFO    ] 200
[2026-10-20 09:21:27,483.483 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:21:27,537.537 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:21:27,682.682 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:21:27,684.684 INFO    ] No camera update needed
[2026-10-20 09:21:27,686.686 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:21:27,689.689 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:21:27,694.694 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:21:27,699.699 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:21:29,740.740 INFO    ] ================================================
[2026-10-20 09:21:29,755.755 INFO    ] Launching Daemon at Tue Oct 20 09:21:29 IST 2026
[2026-10-20 09:21:29,765.765 INFO    ] ================================================
[2026-10-20 09:21:30,345.345 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:21:30
[2026-10-20 09:21:30,944.944 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:21:31,221.221 INFO    ] Initializing speech engine...
[2026-10-20 09:21:31,230.230 INFO    ] 2026-10-20 09:21:31
[2026-10-20 09:21:31,488.488 INFO    ] 2026-10-20 09:21:31
[2026-10-20 09:21:31,541.541 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:21:31,776.776 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:21:31,779.779 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:21:32,027.027 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:21:32,065.065 INFO    ] time= 20/10/2026 09:21:32
[2026-10-20 09:21:32,082.082 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:21:32,093.093 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:21:32,228.228 INFO    ] No existing commands found in stream
[2026-10-20 09:21:37,249.249 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:21:37,252.252 INFO    ] Waiting 0.71 seconds before fallback handling...
[2026-10-20 09:21:38,463.463 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 09:21:38,466.466 INFO    ] Checking for system updates...
[2026-10-20 09:21:38,505.505 INFO    ] 200
[2026-10-20 09:21:38,507.507 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:21:38,560.560 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:21:38,562.562 INFO    ] No update needed
[2026-10-20 09:21:38,565.565 INFO    ] Checking for camera pi updates...
[2026-10-20 09:21:38,598.598 INFO    ] 200
[2026-10-20 09:21:38,600.600 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:21:38,641.641 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:21:38,685.685 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:21:38,687.687 INFO    ] No camera update needed
[2026-10-20 09:21:38,690.690 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:21:38,692.692 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:21:38,697.697 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:21:38,702.702 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:21:40,743.743 INFO    ] ================================================
[2026-10-20 09:21:40,757.757 INFO    ] Launching Daemon at Tue Oct 20 09:21:40 IST 2026
[2026-10-20 09:21:40,768.768 INFO    ] ================================================
[2026-10-20 09:21:41,337.337 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:21:41
[2026-10-20 09:21:41,925.925 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:21:42,185.185 INFO    ] Initializing speech engine...
[2026-10-20 09:21:42,209.209 INFO    ] 2026-10-20 09:21:42
[2026-10-20 09:21:42,481.481 INFO    ] 2026-10-20 09:21:42
[2026-10-20 09:21:42,516.516 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:21:42,744.744 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:21:42,783.783 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:21:42,968.968 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:21:43,024.024 INFO    ] time= 20/10/2026 09:21:42
[2026-10-20 09:21:43,068.068 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:21:43,115.115 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:21:43,236.236 INFO    ] No existing commands found in stream
[2026-10-20 09:21:48,256.256 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:21:48,259.259 INFO    ] Waiting 0.74 seconds before fallback handling...
[2026-10-20 09:21:49,518.518 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:21:49,521.521 INFO    ] Checking for system updates...
[2026-10-20 09:21:49,556.556 INFO    ] 200
[2026-10-20 09:21:49,558.558 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:21:49,610.610 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:21:49,613.613 INFO    ] No update needed
[2026-10-20 09:21:49,615.615 INFO    ] Checking for camera pi updates...
[2026-10-20 09:21:49,648.648 INFO    ] 200
[2026-10-20 09:21:49,651.651 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:21:49,692.692 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:21:49,749.749 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:21:49,751.751 INFO    ] No camera update needed
[2026-10-20 09:21:49,754.754 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:21:49,756.756 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:21:49,761.761 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:21:49,766.766 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:21:51,805.805 INFO    ] ================================================
[2026-10-20 09:21:51,820.820 INFO    ] Launching Daemon at Tue Oct 20 09:21:51 IST 2026
[2026-10-20 09:21:51,831.831 INFO    ] ================================================
[2026-10-20 09:21:52,403.403 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:21:52
[2026-10-20 09:21:53,018.018 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:21:53,321.321 INFO    ] Initializing speech engine...
[2026-10-20 09:21:53,335.335 INFO    ] 2026-10-20 09:21:53
[2026-10-20 09:21:53,649.649 INFO    ] 2026-10-20 09:21:53
[2026-10-20 09:21:53,731.731 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:21:53,946.946 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:21:53,955.955 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:21:54,148.148 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:21:54,166.166 INFO    ] time= 20/10/2026 09:21:54
[2026-10-20 09:21:54,175.175 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:21:54,203.203 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:21:54,333.333 INFO    ] No existing commands found in stream
[2026-10-20 09:21:59,369.369 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:21:59,372.372 INFO    ] Waiting 0.55 seconds before fallback handling...
[2026-10-20 09:22:00,461.461 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:22:00,464.464 INFO    ] Checking for system updates...
[2026-10-20 09:22:00,501.501 INFO    ] 200
[2026-10-20 09:22:00,504.504 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:22:00,562.562 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:22:00,565.565 INFO    ] No update needed
[2026-10-20 09:22:00,568.568 INFO    ] Checking for camera pi updates...
[2026-10-20 09:22:00,602.602 INFO    ] 200
[2026-10-20 09:22:00,605.605 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:22:00,645.645 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:22:00,693.693 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:22:00,697.697 INFO    ] No camera update needed
[2026-10-20 09:22:00,700.700 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:22:00,703.703 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:22:00,709.709 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:22:00,715.715 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:22:02,763.763 INFO    ] ================================================
[2026-10-20 09:22:02,785.785 INFO    ] Launching Daemon at Tue Oct 20 09:22:02 IST 2026
[2026-10-20 09:22:02,802.802 INFO    ] ================================================
[2026-10-20 09:22:03,461.461 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:22:03
[2026-10-20 09:22:04,060.060 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:22:04,334.334 INFO    ] Initializing speech engine...
[2026-10-20 09:22:04,345.345 INFO    ] 2026-10-20 09:22:04
[2026-10-20 09:22:04,604.604 INFO    ] 2026-10-20 09:22:04
[2026-10-20 09:22:04,657.657 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:22:04,879.879 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:22:04,888.888 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:22:05,028.028 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:22:05,093.093 INFO    ] time= 20/10/2026 09:22:05
[2026-10-20 09:22:05,150.150 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:22:05,156.156 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:22:05,280.280 INFO    ] No existing commands found in stream
[2026-10-20 09:22:10,307.307 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:22:10,310.310 INFO    ] Waiting 1.23 seconds before fallback handling...
[2026-10-20 09:22:12,042.042 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 09:22:12,045.045 INFO    ] Checking for system updates...
[2026-10-20 09:22:12,081.081 INFO    ] 200
[2026-10-20 09:22:12,083.083 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:22:12,144.144 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:22:12,146.146 INFO    ] No update needed
[2026-10-20 09:22:12,149.149 INFO    ] Checking for camera pi updates...
[2026-10-20 09:22:12,182.182 INFO    ] 200
[2026-10-20 09:22:12,185.185 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:22:12,225.225 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:22:12,281.281 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:22:12,283.283 INFO    ] No camera update needed
[2026-10-20 09:22:12,285.285 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:22:12,288.288 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:22:12,293.293 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:22:12,298.298 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:22:14,338.338 INFO    ] ================================================
[2026-10-20 09:22:14,353.353 INFO    ] Launching Daemon at Tue Oct 20 09:22:14 IST 2026
[2026-10-20 09:22:14,363.363 INFO    ] ================================================
[2026-10-20 09:22:14,926.926 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:22:14
[2026-10-20 09:22:15,509.509 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:22:15,766.766 INFO    ] Initializing speech engine...
[2026-10-20 09:22:15,779.779 INFO    ] 2026-10-20 09:22:15
[2026-10-20 09:22:16,051.051 INFO    ] 2026-10-20 09:22:16
[2026-10-20 09:22:16,085.085 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:22:16,337.337 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:22:16,347.347 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:22:16,485.485 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:22:16,545.545 INFO    ] time= 20/10/2026 09:22:16
[2026-10-20 09:22:16,594.594 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:22:16,610.610 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:22:16,742.742 INFO    ] No existing commands found in stream
[2026-10-20 09:22:21,764.764 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:22:21,766.766 INFO    ] Waiting 1.93 seconds before fallback handling...
[2026-10-20 09:22:24,218.218 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:22:24,221.221 INFO    ] Checking for system updates...
[2026-10-20 09:22:24,257.257 INFO    ] 200
[2026-10-20 09:22:24,260.260 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:22:24,312.312 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:22:24,315.315 INFO    ] No update needed
[2026-10-20 09:22:24,317.317 INFO    ] Checking for camera pi updates...
[2026-10-20 09:22:24,352.352 INFO    ] 200
[2026-10-20 09:22:24,354.354 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:22:24,395.395 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:22:24,442.442 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:22:24,445.445 INFO    ] No camera update needed
[2026-10-20 09:22:24,448.448 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:22:24,451.451 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:22:24,457.457 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:22:24,463.463 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:22:26,508.508 INFO    ] ================================================
[2026-10-20 09:22:26,523.523 INFO    ] Launching Daemon at Tue Oct 20 09:22:26 IST 2026
[2026-10-20 09:22:26,534.534 INFO    ] ================================================
[2026-10-20 09:22:27,101.101 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:22:27
[2026-10-20 09:22:27,685.685 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:22:27,960.960 INFO    ] Initializing speech engine...
[2026-10-20 09:22:27,972.972 INFO    ] 2026-10-20 09:22:27
[2026-10-20 09:22:28,226.226 INFO    ] 2026-10-20 09:22:28
[2026-10-20 09:22:28,256.256 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:22:28,503.503 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:22:28,512.512 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:22:28,645.645 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:22:28,705.705 INFO    ] time= 20/10/2026 09:22:28
[2026-10-20 09:22:28,764.764 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:22:28,778.778 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:22:28,908.908 INFO    ] No existing commands found in stream
[2026-10-20 09:22:33,932.932 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:22:33,935.935 INFO    ] Waiting 1.37 seconds before fallback handling...
[2026-10-20 09:22:35,825.825 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 09:22:35,828.828 INFO    ] Checking for system updates...
[2026-10-20 09:22:35,865.865 INFO    ] 200
[2026-10-20 09:22:35,867.867 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:22:35,923.923 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:22:35,925.925 INFO    ] No update needed
[2026-10-20 09:22:35,928.928 INFO    ] Checking for camera pi updates...
[2026-10-20 09:22:35,961.961 INFO    ] 200
[2026-10-20 09:22:35,963.963 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:22:36,002.002 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:22:36,048.048 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:22:36,051.051 INFO    ] No camera update needed
[2026-10-20 09:22:36,053.053 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:22:36,055.055 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:22:36,060.060 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:22:36,065.065 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:22:38,105.105 INFO    ] ================================================
[2026-10-20 09:22:38,119.119 INFO    ] Launching Daemon at Tue Oct 20 09:22:38 IST 2026
[2026-10-20 09:22:38,130.130 INFO    ] ================================================
[2026-10-20 09:22:38,716.716 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:22:38
[2026-10-20 09:22:39,320.320 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:22:39,600.600 INFO    ] Initializing speech engine...
[2026-10-20 09:22:39,607.607 INFO    ] 2026-10-20 09:22:39
[2026-10-20 09:22:39,866.866 INFO    ] 2026-10-20 09:22:39
[2026-10-20 09:22:39,896.896 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:22:40,146.146 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:22:40,151.151 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:22:40,366.366 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:22:40,408.408 INFO    ] time= 20/10/2026 09:22:40
[2026-10-20 09:22:40,414.414 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:22:40,436.436 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:22:40,586.586 INFO    ] No existing commands found in stream
[2026-10-20 09:22:45,621.621 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:22:45,624.624 INFO    ] Waiting 1.66 seconds before fallback handling...
[2026-10-20 09:22:47,783.783 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 09:22:47,785.785 INFO    ] Checking for system updates...
[2026-10-20 09:22:47,824.824 INFO    ] 200
[2026-10-20 09:22:47,827.827 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:22:47,901.901 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:22:47,904.904 INFO    ] No update needed
[2026-10-20 09:22:47,906.906 INFO    ] Checking for camera pi updates...
[2026-10-20 09:22:47,944.944 INFO    ] 200
[2026-10-20 09:22:47,947.947 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:22:47,993.993 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:22:48,042.042 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:22:48,044.044 INFO    ] No camera update needed
[2026-10-20 09:22:48,046.046 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:22:48,049.049 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:22:48,054.054 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:22:48,059.059 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:22:50,100.100 INFO    ] ================================================
[2026-10-20 09:22:50,114.114 INFO    ] Launching Daemon at Tue Oct 20 09:22:50 IST 2026
[2026-10-20 09:22:50,125.125 INFO    ] ================================================
[2026-10-20 09:22:50,690.690 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:22:50
[2026-10-20 09:22:51,275.275 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:22:51,544.544 INFO    ] Initializing speech engine...
[2026-10-20 09:22:51,554.554 INFO    ] 2026-10-20 09:22:51
[2026-10-20 09:22:51,813.813 INFO    ] 2026-10-20 09:22:51
[2026-10-20 09:22:51,843.843 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:22:52,093.093 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:22:52,098.098 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:22:52,305.305 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:22:52,355.355 INFO    ] time= 20/10/2026 09:22:52
[2026-10-20 09:22:52,361.361 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:22:52,375.375 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:22:52,512.512 INFO    ] No existing commands found in stream
[2026-10-20 09:22:57,540.540 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:22:57,543.543 INFO    ] Waiting 0.57 seconds before fallback handling...
[2026-10-20 09:22:58,799.799 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:22:58,802.802 INFO    ] Checking for system updates...
[2026-10-20 09:22:58,839.839 INFO    ] 200
[2026-10-20 09:22:58,841.841 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:22:58,893.893 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:22:58,895.895 INFO    ] No update needed
[2026-10-20 09:22:58,898.898 INFO    ] Checking for camera pi updates...
[2026-10-20 09:22:58,931.931 INFO    ] 200
[2026-10-20 09:22:58,934.934 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:22:58,974.974 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:22:59,018.018 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:22:59,020.020 INFO    ] No camera update needed
[2026-10-20 09:22:59,023.023 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:22:59,025.025 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:22:59,031.031 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:22:59,036.036 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:23:01,075.075 INFO    ] ================================================
[2026-10-20 09:23:01,090.090 INFO    ] Launching Daemon at Tue Oct 20 09:23:01 IST 2026
[2026-10-20 09:23:01,101.101 INFO    ] ================================================
[2026-10-20 09:23:01,784.784 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:23:01
[2026-10-20 09:23:02,462.462 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:23:02,753.753 INFO    ] Initializing speech engine...
[2026-10-20 09:23:02,765.765 INFO    ] 2026-10-20 09:23:02
[2026-10-20 09:23:03,141.141 INFO    ] 2026-10-20 09:23:03
[2026-10-20 09:23:03,186.186 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:23:03,527.527 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:23:03,536.536 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:23:03,732.732 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:23:03,739.739 INFO    ] time= 20/10/2026 09:23:03
[2026-10-20 09:23:03,760.760 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:23:03,786.786 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:23:03,894.894 INFO    ] No existing commands found in stream
[2026-10-20 09:23:08,924.924 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:23:08,927.927 INFO    ] Waiting 3.12 seconds before fallback handling...
[2026-10-20 09:23:12,536.536 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:23:12,539.539 INFO    ] Checking for system updates...
[2026-10-20 09:23:12,576.576 INFO    ] 200
[2026-10-20 09:23:12,578.578 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:23:12,640.640 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:23:12,642.642 INFO    ] No update needed
[2026-10-20 09:23:12,644.644 INFO    ] Checking for camera pi updates...
[2026-10-20 09:23:12,682.682 INFO    ] 200
[2026-10-20 09:23:12,684.684 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:23:12,725.725 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:23:12,756.756 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:23:12,758.758 INFO    ] No camera update needed
[2026-10-20 09:23:12,761.761 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:23:12,764.764 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:23:12,769.769 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:23:12,774.774 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:23:14,814.814 INFO    ] ================================================
[2026-10-20 09:23:14,829.829 INFO    ] Launching Daemon at Tue Oct 20 09:23:14 IST 2026
[2026-10-20 09:23:14,839.839 INFO    ] ================================================
[2026-10-20 09:23:15,522.522 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:23:15
[2026-10-20 09:23:16,212.212 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:23:16,529.529 INFO    ] Initializing speech engine...
[2026-10-20 09:23:16,543.543 INFO    ] 2026-10-20 09:23:16
[2026-10-20 09:23:16,830.830 INFO    ] 2026-10-20 09:23:16
[2026-10-20 09:23:16,887.887 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:23:17,178.178 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:23:17,187.187 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:23:17,379.379 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:23:17,394.394 INFO    ] time= 20/10/2026 09:23:17
[2026-10-20 09:23:17,416.416 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:23:17,443.443 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:23:17,604.604 INFO    ] No existing commands found in stream
[2026-10-20 09:23:22,641.641 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:23:22,644.644 INFO    ] Waiting 3.21 seconds before fallback handling...
[2026-10-20 09:23:26,387.387 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 09:23:26,390.390 INFO    ] Checking for system updates...
[2026-10-20 09:23:26,432.432 INFO    ] 200
[2026-10-20 09:23:26,435.435 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:23:26,488.488 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:23:26,491.491 INFO    ] No update needed
[2026-10-20 09:23:26,494.494 INFO    ] Checking for camera pi updates...
[2026-10-20 09:23:26,528.528 INFO    ] 200
[2026-10-20 09:23:26,531.531 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:23:26,570.570 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:23:26,613.613 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:23:26,616.616 INFO    ] No camera update needed
[2026-10-20 09:23:26,618.618 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:23:26,620.620 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:23:26,626.626 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:23:26,631.631 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:23:28,671.671 INFO    ] ================================================
[2026-10-20 09:23:28,686.686 INFO    ] Launching Daemon at Tue Oct 20 09:23:28 IST 2026
[2026-10-20 09:23:28,696.696 INFO    ] ================================================
[2026-10-20 09:23:29,279.279 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:23:29
[2026-10-20 09:23:29,880.880 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:23:30,156.156 INFO    ] Initializing speech engine...
[2026-10-20 09:23:30,163.163 INFO    ] 2026-10-20 09:23:30
[2026-10-20 09:23:30,425.425 INFO    ] 2026-10-20 09:23:30
[2026-10-20 09:23:30,455.455 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:23:30,704.704 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:23:30,710.710 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:23:30,854.854 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:23:30,904.904 INFO    ] time= 20/10/2026 09:23:30
[2026-10-20 09:23:30,959.959 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:23:30,978.978 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:23:31,104.104 INFO    ] No existing commands found in stream
[2026-10-20 09:23:36,131.131 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:23:36,134.134 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-10-20 09:23:39,758.758 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:23:39,761.761 INFO    ] Checking for system updates...
[2026-10-20 09:23:39,797.797 INFO    ] 200
[2026-10-20 09:23:39,800.800 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:23:39,860.860 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:23:39,863.863 INFO    ] No update needed
[2026-10-20 09:23:39,865.865 INFO    ] Checking for camera pi updates...
[2026-10-20 09:23:39,903.903 INFO    ] 200
[2026-10-20 09:23:39,906.906 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:23:39,946.946 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:23:39,995.995 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:23:39,997.997 INFO    ] No camera update needed
[2026-10-20 09:23:40,000.000 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:23:40,002.002 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:23:40,008.008 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:23:40,013.013 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:23:42,057.057 INFO    ] ================================================
[2026-10-20 09:23:42,072.072 INFO    ] Launching Daemon at Tue Oct 20 09:23:42 IST 2026
[2026-10-20 09:23:42,083.083 INFO    ] ================================================
[2026-10-20 09:23:42,650.650 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:23:42
[2026-10-20 09:23:43,233.233 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:23:43,509.509 INFO    ] Initializing speech engine...
[2026-10-20 09:23:43,516.516 INFO    ] 2026-10-20 09:23:43
[2026-10-20 09:23:43,774.774 INFO    ] 2026-10-20 09:23:43
[2026-10-20 09:23:43,809.809 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:23:44,064.064 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:23:44,069.069 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:23:44,283.283 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:23:44,333.333 INFO    ] time= 20/10/2026 09:23:44
[2026-10-20 09:23:44,340.340 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:23:44,358.358 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:23:44,517.517 INFO    ] No existing commands found in stream
[2026-10-20 09:23:49,542.542 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:23:49,545.545 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-10-20 09:23:52,218.218 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 09:23:52,221.221 INFO    ] Checking for system updates...
[2026-10-20 09:23:52,261.261 INFO    ] 200
[2026-10-20 09:23:52,264.264 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:23:52,324.324 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:23:52,326.326 INFO    ] No update needed
[2026-10-20 09:23:52,329.329 INFO    ] Checking for camera pi updates...
[2026-10-20 09:23:52,366.366 INFO    ] 200
[2026-10-20 09:23:52,369.369 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:23:52,410.410 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:23:52,462.462 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:23:52,465.465 INFO    ] No camera update needed
[2026-10-20 09:23:52,467.467 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:23:52,470.470 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:23:52,475.475 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:23:52,480.480 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:23:54,520.520 INFO    ] ================================================
[2026-10-20 09:23:54,536.536 INFO    ] Launching Daemon at Tue Oct 20 09:23:54 IST 2026
[2026-10-20 09:23:54,546.546 INFO    ] ================================================
[2026-10-20 09:23:55,115.115 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:23:55
[2026-10-20 09:23:55,697.697 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:23:55,965.965 INFO    ] Initializing speech engine...
[2026-10-20 09:23:55,974.974 INFO    ] 2026-10-20 09:23:55
[2026-10-20 09:23:56,219.219 INFO    ] 2026-10-20 09:23:56
[2026-10-20 09:23:56,254.254 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:23:56,504.504 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:23:56,514.514 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:23:56,712.712 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:23:56,762.762 INFO    ] time= 20/10/2026 09:23:56
[2026-10-20 09:23:56,777.777 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:23:56,795.795 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:23:56,910.910 INFO    ] No existing commands found in stream
[2026-10-20 09:24:01,932.932 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:24:01,936.936 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-10-20 09:24:04,253.253 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:24:04,256.256 INFO    ] Checking for system updates...
[2026-10-20 09:24:04,292.292 INFO    ] 200
[2026-10-20 09:24:04,294.294 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:24:04,356.356 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:24:04,358.358 INFO    ] No update needed
[2026-10-20 09:24:04,361.361 INFO    ] Checking for camera pi updates...
[2026-10-20 09:24:04,397.397 INFO    ] 200
[2026-10-20 09:24:04,400.400 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:24:04,439.439 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:24:04,491.491 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:24:04,493.493 INFO    ] No camera update needed
[2026-10-20 09:24:04,496.496 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:24:04,498.498 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:24:04,503.503 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:24:04,508.508 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:24:06,547.547 INFO    ] ================================================
[2026-10-20 09:24:06,562.562 INFO    ] Launching Daemon at Tue Oct 20 09:24:06 IST 2026
[2026-10-20 09:24:06,573.573 INFO    ] ================================================
[2026-10-20 09:24:07,137.137 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:24:07
[2026-10-20 09:24:07,718.718 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:24:07,989.989 INFO    ] Initializing speech engine...
[2026-10-20 09:24:07,998.998 INFO    ] 2026-10-20 09:24:07
[2026-10-20 09:24:08,245.245 INFO    ] 2026-10-20 09:24:08
[2026-10-20 09:24:08,279.279 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:24:08,530.530 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:24:08,540.540 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:24:08,742.742 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:24:08,796.796 INFO    ] time= 20/10/2026 09:24:08
[2026-10-20 09:24:08,803.803 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:24:08,821.821 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:24:08,965.965 INFO    ] No existing commands found in stream
[2026-10-20 09:24:13,991.991 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:24:13,994.994 INFO    ] Waiting 2.70 seconds before fallback handling...
[2026-10-20 09:24:17,199.199 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 09:24:17,202.202 INFO    ] Checking for system updates...
[2026-10-20 09:24:17,240.240 INFO    ] 200
[2026-10-20 09:24:17,243.243 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:24:17,300.300 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:24:17,303.303 INFO    ] No update needed
[2026-10-20 09:24:17,305.305 INFO    ] Checking for camera pi updates...
[2026-10-20 09:24:17,338.338 INFO    ] 200
[2026-10-20 09:24:17,341.341 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:24:17,384.384 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:24:17,438.438 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:24:17,440.440 INFO    ] No camera update needed
[2026-10-20 09:24:17,443.443 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:24:17,445.445 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:24:17,450.450 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:24:17,455.455 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:24:19,494.494 INFO    ] ================================================
[2026-10-20 09:24:19,510.510 INFO    ] Launching Daemon at Tue Oct 20 09:24:19 IST 2026
[2026-10-20 09:24:19,520.520 INFO    ] ================================================
[2026-10-20 09:24:20,161.161 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:24:20
[2026-10-20 09:24:20,823.823 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:24:21,123.123 INFO    ] Initializing speech engine...
[2026-10-20 09:24:21,131.131 INFO    ] 2026-10-20 09:24:21
[2026-10-20 09:24:21,420.420 INFO    ] 2026-10-20 09:24:21
[2026-10-20 09:24:21,530.530 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:24:21,806.806 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:24:21,833.833 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:24:21,995.995 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:24:22,052.052 INFO    ] time= 20/10/2026 09:24:21
[2026-10-20 09:24:22,095.095 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:24:22,160.160 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:24:22,330.330 INFO    ] No existing commands found in stream
[2026-10-20 09:24:27,355.355 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:24:27,359.359 INFO    ] Waiting 3.66 seconds before fallback handling...
[2026-10-20 09:24:31,554.554 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:24:31,557.557 INFO    ] Checking for system updates...
[2026-10-20 09:24:31,612.612 INFO    ] 200
[2026-10-20 09:24:31,615.615 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:24:31,678.678 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:24:31,681.681 INFO    ] No update needed
[2026-10-20 09:24:31,683.683 INFO    ] Checking for camera pi updates...
[2026-10-20 09:24:31,720.720 INFO    ] 200
[2026-10-20 09:24:31,722.722 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:24:31,770.770 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:24:31,814.814 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:24:31,817.817 INFO    ] No camera update needed
[2026-10-20 09:24:31,819.819 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:24:31,822.822 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:24:31,828.828 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:24:31,834.834 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:24:33,874.874 INFO    ] ================================================
[2026-10-20 09:24:33,889.889 INFO    ] Launching Daemon at Tue Oct 20 09:24:33 IST 2026
[2026-10-20 09:24:33,900.900 INFO    ] ================================================
[2026-10-20 09:24:34,480.480 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:24:34
[2026-10-20 09:24:35,081.081 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:24:35,353.353 INFO    ] Initializing speech engine...
[2026-10-20 09:24:35,362.362 INFO    ] 2026-10-20 09:24:35
[2026-10-20 09:24:35,611.611 INFO    ] 2026-10-20 09:24:35
[2026-10-20 09:24:35,646.646 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:24:35,901.901 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:24:35,907.907 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:24:36,130.130 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:24:36,167.167 INFO    ] time= 20/10/2026 09:24:36
[2026-10-20 09:24:36,184.184 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:24:36,192.192 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:24:36,323.323 INFO    ] No existing commands found in stream
[2026-10-20 09:24:41,345.345 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:24:41,347.347 INFO    ] Waiting 0.39 seconds before fallback handling...
[2026-10-20 09:24:42,237.237 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:24:42,240.240 INFO    ] Checking for system updates...
[2026-10-20 09:24:42,279.279 INFO    ] 200
[2026-10-20 09:24:42,281.281 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:24:42,333.333 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:24:42,335.335 INFO    ] No update needed
[2026-10-20 09:24:42,338.338 INFO    ] Checking for camera pi updates...
[2026-10-20 09:24:42,375.375 INFO    ] 200
[2026-10-20 09:24:42,377.377 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:24:42,422.422 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:24:42,475.475 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:24:42,477.477 INFO    ] No camera update needed
[2026-10-20 09:24:42,480.480 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:24:42,482.482 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:24:42,488.488 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:24:42,493.493 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:24:44,533.533 INFO    ] ================================================
[2026-10-20 09:24:44,548.548 INFO    ] Launching Daemon at Tue Oct 20 09:24:44 IST 2026
[2026-10-20 09:24:44,559.559 INFO    ] ================================================
[2026-10-20 09:24:45,141.141 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:24:45
[2026-10-20 09:24:45,739.739 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:24:46,012.012 INFO    ] Initializing speech engine...
[2026-10-20 09:24:46,020.020 INFO    ] 2026-10-20 09:24:46
[2026-10-20 09:24:46,266.266 INFO    ] 2026-10-20 09:24:46
[2026-10-20 09:24:46,301.301 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:24:46,556.556 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:24:46,562.562 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:24:46,776.776 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:24:46,817.817 INFO    ] time= 20/10/2026 09:24:46
[2026-10-20 09:24:46,823.823 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:24:46,841.841 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:24:46,967.967 INFO    ] No existing commands found in stream
[2026-10-20 09:24:51,982.982 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:24:51,985.985 INFO    ] Waiting 2.04 seconds before fallback handling...
[2026-10-20 09:24:54,537.537 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 09:24:54,540.540 INFO    ] Checking for system updates...
[2026-10-20 09:24:54,579.579 INFO    ] 200
[2026-10-20 09:24:54,581.581 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:24:54,640.640 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:24:54,642.642 INFO    ] No update needed
[2026-10-20 09:24:54,644.644 INFO    ] Checking for camera pi updates...
[2026-10-20 09:24:54,681.681 INFO    ] 200
[2026-10-20 09:24:54,684.684 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:24:54,724.724 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:24:54,774.774 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:24:54,777.777 INFO    ] No camera update needed
[2026-10-20 09:24:54,780.780 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:24:54,782.782 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:24:54,787.787 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:24:54,792.792 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:24:56,835.835 INFO    ] ================================================
[2026-10-20 09:24:56,850.850 INFO    ] Launching Daemon at Tue Oct 20 09:24:56 IST 2026
[2026-10-20 09:24:56,861.861 INFO    ] ================================================
[2026-10-20 09:24:57,442.442 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:24:57
[2026-10-20 09:24:58,041.041 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:24:58,312.312 INFO    ] Initializing speech engine...
[2026-10-20 09:24:58,321.321 INFO    ] 2026-10-20 09:24:58
[2026-10-20 09:24:58,571.571 INFO    ] 2026-10-20 09:24:58
[2026-10-20 09:24:58,606.606 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:24:58,857.857 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:24:58,867.867 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:24:59,062.062 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:24:59,123.123 INFO    ] time= 20/10/2026 09:24:59
[2026-10-20 09:24:59,130.130 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:24:59,147.147 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:24:59,311.311 INFO    ] No existing commands found in stream
[2026-10-20 09:25:04,346.346 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:25:04,350.350 INFO    ] Waiting 0.67 seconds before fallback handling...
[2026-10-20 09:25:05,520.520 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 09:25:05,522.522 INFO    ] Checking for system updates...
[2026-10-20 09:25:05,564.564 INFO    ] 200
[2026-10-20 09:25:05,566.566 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:25:05,618.618 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:25:05,621.621 INFO    ] No update needed
[2026-10-20 09:25:05,623.623 INFO    ] Checking for camera pi updates...
[2026-10-20 09:25:05,660.660 INFO    ] 200
[2026-10-20 09:25:05,662.662 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:25:05,702.702 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:25:05,745.745 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:25:05,747.747 INFO    ] No camera update needed
[2026-10-20 09:25:05,750.750 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:25:05,752.752 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:25:05,757.757 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:25:05,762.762 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:25:07,802.802 INFO    ] ================================================
[2026-10-20 09:25:07,818.818 INFO    ] Launching Daemon at Tue Oct 20 09:25:07 IST 2026
[2026-10-20 09:25:07,829.829 INFO    ] ================================================
[2026-10-20 09:25:08,483.483 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:25:08
[2026-10-20 09:25:09,106.106 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:25:09,383.383 INFO    ] Initializing speech engine...
[2026-10-20 09:25:09,393.393 INFO    ] 2026-10-20 09:25:09
[2026-10-20 09:25:09,665.665 INFO    ] 2026-10-20 09:25:09
[2026-10-20 09:25:09,711.711 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:25:09,935.935 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:25:09,941.941 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:25:10,146.146 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:25:10,197.197 INFO    ] time= 20/10/2026 09:25:10
[2026-10-20 09:25:10,203.203 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:25:10,222.222 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:25:10,349.349 INFO    ] No existing commands found in stream
[2026-10-20 09:25:15,363.363 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:25:15,365.365 INFO    ] Waiting 3.56 seconds before fallback handling...
[2026-10-20 09:25:19,450.450 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:25:19,452.452 INFO    ] Checking for system updates...
[2026-10-20 09:25:19,489.489 INFO    ] 200
[2026-10-20 09:25:19,492.492 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:25:19,545.545 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:25:19,548.548 INFO    ] No update needed
[2026-10-20 09:25:19,550.550 INFO    ] Checking for camera pi updates...
[2026-10-20 09:25:19,588.588 INFO    ] 200
[2026-10-20 09:25:19,591.591 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:25:19,641.641 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:25:19,688.688 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:25:19,690.690 INFO    ] No camera update needed
[2026-10-20 09:25:19,693.693 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:25:19,695.695 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:25:19,700.700 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:25:19,705.705 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:25:21,745.745 INFO    ] ================================================
[2026-10-20 09:25:21,761.761 INFO    ] Launching Daemon at Tue Oct 20 09:25:21 IST 2026
[2026-10-20 09:25:21,771.771 INFO    ] ================================================
[2026-10-20 09:25:22,425.425 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:25:22
[2026-10-20 09:25:23,027.027 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:25:23,305.305 INFO    ] Initializing speech engine...
[2026-10-20 09:25:23,312.312 INFO    ] 2026-10-20 09:25:23
[2026-10-20 09:25:23,571.571 INFO    ] 2026-10-20 09:25:23
[2026-10-20 09:25:23,602.602 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:25:23,847.847 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:25:23,856.856 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:25:24,056.056 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:25:24,114.114 INFO    ] time= 20/10/2026 09:25:24
[2026-10-20 09:25:24,121.121 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:25:24,138.138 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:25:24,271.271 INFO    ] No existing commands found in stream
[2026-10-20 09:25:29,293.293 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:25:29,296.296 INFO    ] Waiting 2.98 seconds before fallback handling...
[2026-10-20 09:25:32,879.879 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:25:32,882.882 INFO    ] Checking for system updates...
[2026-10-20 09:25:32,919.919 INFO    ] 200
[2026-10-20 09:25:32,922.922 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:25:32,982.982 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:25:32,985.985 INFO    ] No update needed
[2026-10-20 09:25:32,988.988 INFO    ] Checking for camera pi updates...
[2026-10-20 09:25:33,026.026 INFO    ] 200
[2026-10-20 09:25:33,029.029 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:25:33,079.079 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:25:33,113.113 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:25:33,116.116 INFO    ] No camera update needed
[2026-10-20 09:25:33,119.119 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:25:33,122.122 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:25:33,128.128 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:25:33,134.134 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:25:35,173.173 INFO    ] ================================================
[2026-10-20 09:25:35,189.189 INFO    ] Launching Daemon at Tue Oct 20 09:25:35 IST 2026
[2026-10-20 09:25:35,199.199 INFO    ] ================================================
[2026-10-20 09:25:35,823.823 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:25:35
[2026-10-20 09:25:36,405.405 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:25:36,675.675 INFO    ] Initializing speech engine...
[2026-10-20 09:25:36,681.681 INFO    ] 2026-10-20 09:25:36
[2026-10-20 09:25:36,941.941 INFO    ] 2026-10-20 09:25:36
[2026-10-20 09:25:36,994.994 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:25:37,245.245 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:25:37,263.263 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:25:37,477.477 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:25:37,484.484 INFO    ] time= 20/10/2026 09:25:37
[2026-10-20 09:25:37,502.502 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:25:37,513.513 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:25:37,642.642 INFO    ] No existing commands found in stream
[2026-10-20 09:25:42,666.666 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:25:42,669.669 INFO    ] Waiting 0.45 seconds before fallback handling...
[2026-10-20 09:25:43,683.683 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:25:43,686.686 INFO    ] Checking for system updates...
[2026-10-20 09:25:43,724.724 INFO    ] 200
[2026-10-20 09:25:43,726.726 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:25:43,797.797 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:25:43,801.801 INFO    ] No update needed
[2026-10-20 09:25:43,803.803 INFO    ] Checking for camera pi updates...
[2026-10-20 09:25:43,837.837 INFO    ] 200
[2026-10-20 09:25:43,839.839 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:25:43,884.884 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:25:44,025.025 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:25:44,028.028 INFO    ] No camera update needed
[2026-10-20 09:25:44,030.030 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:25:44,032.032 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:25:44,038.038 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:25:44,043.043 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:25:46,081.081 INFO    ] ================================================
[2026-10-20 09:25:46,097.097 INFO    ] Launching Daemon at Tue Oct 20 09:25:46 IST 2026
[2026-10-20 09:25:46,107.107 INFO    ] ================================================
[2026-10-20 09:25:46,691.691 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:25:46
[2026-10-20 09:25:47,294.294 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:25:47,573.573 INFO    ] Initializing speech engine...
[2026-10-20 09:25:47,580.580 INFO    ] 2026-10-20 09:25:47
[2026-10-20 09:25:47,842.842 INFO    ] 2026-10-20 09:25:47
[2026-10-20 09:25:47,897.897 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:25:48,124.124 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:25:48,130.130 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:25:48,345.345 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:25:48,385.385 INFO    ] time= 20/10/2026 09:25:48
[2026-10-20 09:25:48,391.391 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:25:48,406.406 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:25:48,529.529 INFO    ] No existing commands found in stream
[2026-10-20 09:25:53,550.550 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:25:53,553.553 INFO    ] Waiting 0.22 seconds before fallback handling...
[2026-10-20 09:25:54,266.266 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:25:54,269.269 INFO    ] Checking for system updates...
[2026-10-20 09:25:54,305.305 INFO    ] 200
[2026-10-20 09:25:54,307.307 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:25:54,366.366 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:25:54,368.368 INFO    ] No update needed
[2026-10-20 09:25:54,371.371 INFO    ] Checking for camera pi updates...
[2026-10-20 09:25:54,407.407 INFO    ] 200
[2026-10-20 09:25:54,410.410 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:25:54,454.454 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:25:54,503.503 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:25:54,506.506 INFO    ] No camera update needed
[2026-10-20 09:25:54,508.508 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:25:54,510.510 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:25:54,516.516 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:25:54,521.521 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:25:56,560.560 INFO    ] ================================================
[2026-10-20 09:25:56,575.575 INFO    ] Launching Daemon at Tue Oct 20 09:25:56 IST 2026
[2026-10-20 09:25:56,586.586 INFO    ] ================================================
[2026-10-20 09:25:57,150.150 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:25:57
[2026-10-20 09:25:57,732.732 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:25:58,002.002 INFO    ] Initializing speech engine...
[2026-10-20 09:25:58,009.009 INFO    ] 2026-10-20 09:25:58
[2026-10-20 09:25:58,252.252 INFO    ] 2026-10-20 09:25:58
[2026-10-20 09:25:58,286.286 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:25:58,541.541 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:25:58,547.547 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:25:58,730.730 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:25:58,789.789 INFO    ] time= 20/10/2026 09:25:58
[2026-10-20 09:25:58,807.807 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:25:58,823.823 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:25:58,971.971 INFO    ] No existing commands found in stream
[2026-10-20 09:26:04,002.002 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:26:04,005.005 INFO    ] Waiting 0.88 seconds before fallback handling...
[2026-10-20 09:26:05,358.358 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:26:05,361.361 INFO    ] Checking for system updates...
[2026-10-20 09:26:05,396.396 INFO    ] 200
[2026-10-20 09:26:05,399.399 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:26:05,451.451 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:26:05,453.453 INFO    ] No update needed
[2026-10-20 09:26:05,455.455 INFO    ] Checking for camera pi updates...
[2026-10-20 09:26:05,489.489 INFO    ] 200
[2026-10-20 09:26:05,491.491 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:26:05,531.531 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:26:05,574.574 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:26:05,577.577 INFO    ] No camera update needed
[2026-10-20 09:26:05,579.579 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:26:05,581.581 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:26:05,586.586 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:26:05,591.591 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:26:07,631.631 INFO    ] ================================================
[2026-10-20 09:26:07,647.647 INFO    ] Launching Daemon at Tue Oct 20 09:26:07 IST 2026
[2026-10-20 09:26:07,657.657 INFO    ] ================================================
[2026-10-20 09:26:08,308.308 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:26:08
[2026-10-20 09:26:08,972.972 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:26:09,248.248 INFO    ] Initializing speech engine...
[2026-10-20 09:26:09,254.254 INFO    ] 2026-10-20 09:26:09
[2026-10-20 09:26:09,515.515 INFO    ] 2026-10-20 09:26:09
[2026-10-20 09:26:09,545.545 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:26:09,795.795 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:26:09,801.801 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:26:10,029.029 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:26:10,055.055 INFO    ] time= 20/10/2026 09:26:10
[2026-10-20 09:26:10,072.072 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:26:10,081.081 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:26:10,209.209 INFO    ] No existing commands found in stream
[2026-10-20 09:26:15,223.223 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:26:15,226.226 INFO    ] Waiting 2.76 seconds before fallback handling...
[2026-10-20 09:26:18,532.532 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:26:18,535.535 INFO    ] Checking for system updates...
[2026-10-20 09:26:18,573.573 INFO    ] 200
[2026-10-20 09:26:18,576.576 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:26:18,634.634 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:26:18,636.636 INFO    ] No update needed
[2026-10-20 09:26:18,638.638 INFO    ] Checking for camera pi updates...
[2026-10-20 09:26:18,676.676 INFO    ] 200
[2026-10-20 09:26:18,678.678 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:26:18,723.723 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:26:18,777.777 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:26:18,779.779 INFO    ] No camera update needed
[2026-10-20 09:26:18,782.782 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:26:18,784.784 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:26:18,790.790 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:26:18,795.795 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:26:20,835.835 INFO    ] ================================================
[2026-10-20 09:26:20,850.850 INFO    ] Launching Daemon at Tue Oct 20 09:26:20 IST 2026
[2026-10-20 09:26:20,861.861 INFO    ] ================================================
[2026-10-20 09:26:21,489.489 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:26:21
[2026-10-20 09:26:22,073.073 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:26:22,336.336 INFO    ] Initializing speech engine...
[2026-10-20 09:26:22,349.349 INFO    ] 2026-10-20 09:26:22
[2026-10-20 09:26:22,596.596 INFO    ] 2026-10-20 09:26:22
[2026-10-20 09:26:22,630.630 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:26:22,882.882 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:26:22,892.892 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:26:23,108.108 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:26:23,151.151 INFO    ] time= 20/10/2026 09:26:23
[2026-10-20 09:26:23,157.157 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:26:23,174.174 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:26:23,306.306 INFO    ] No existing commands found in stream
[2026-10-20 09:26:28,325.325 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:26:28,327.327 INFO    ] Waiting 2.78 seconds before fallback handling...
[2026-10-20 09:26:31,640.640 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:26:31,643.643 INFO    ] Checking for system updates...
[2026-10-20 09:26:31,690.690 INFO    ] 200
[2026-10-20 09:26:31,693.693 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:26:31,767.767 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:26:31,770.770 INFO    ] No update needed
[2026-10-20 09:26:31,773.773 INFO    ] Checking for camera pi updates...
[2026-10-20 09:26:31,813.813 INFO    ] 200
[2026-10-20 09:26:31,816.816 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:26:31,859.859 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:26:31,908.908 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:26:31,911.911 INFO    ] No camera update needed
[2026-10-20 09:26:31,913.913 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:26:31,916.916 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:26:31,923.923 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:26:31,930.930 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:26:33,970.970 INFO    ] ================================================
[2026-10-20 09:26:33,985.985 INFO    ] Launching Daemon at Tue Oct 20 09:26:33 IST 2026
[2026-10-20 09:26:34,996.996 INFO    ] ================================================
[2026-10-20 09:26:34,560.560 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:26:34
[2026-10-20 09:26:35,142.142 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:26:35,408.408 INFO    ] Initializing speech engine...
[2026-10-20 09:26:35,418.418 INFO    ] 2026-10-20 09:26:35
[2026-10-20 09:26:35,663.663 INFO    ] 2026-10-20 09:26:35
[2026-10-20 09:26:35,697.697 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:26:35,948.948 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:26:35,957.957 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:26:36,147.147 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:26:36,197.197 INFO    ] time= 20/10/2026 09:26:36
[2026-10-20 09:26:36,222.222 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:26:36,237.237 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:26:36,360.360 INFO    ] No existing commands found in stream
[2026-10-20 09:26:41,381.381 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:26:41,384.384 INFO    ] Waiting 1.76 seconds before fallback handling...
[2026-10-20 09:26:45,826.826 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:26:45,828.828 INFO    ] Checking for system updates...
[2026-10-20 09:26:45,867.867 INFO    ] 200
[2026-10-20 09:26:45,870.870 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:26:45,922.922 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:26:45,925.925 INFO    ] No update needed
[2026-10-20 09:26:45,927.927 INFO    ] Checking for camera pi updates...
[2026-10-20 09:26:45,961.961 INFO    ] 200
[2026-10-20 09:26:45,963.963 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:26:46,007.007 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:26:46,053.053 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:26:46,056.056 INFO    ] No camera update needed
[2026-10-20 09:26:46,058.058 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:26:46,060.060 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:26:46,066.066 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:26:46,071.071 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:26:48,111.111 INFO    ] ================================================
[2026-10-20 09:26:48,126.126 INFO    ] Launching Daemon at Tue Oct 20 09:26:48 IST 2026
[2026-10-20 09:26:48,137.137 INFO    ] ================================================
[2026-10-20 09:26:48,703.703 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:26:48
[2026-10-20 09:26:49,287.287 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:26:49,558.558 INFO    ] Initializing speech engine...
[2026-10-20 09:26:49,567.567 INFO    ] 2026-10-20 09:26:49
[2026-10-20 09:26:49,816.816 INFO    ] 2026-10-20 09:26:49
[2026-10-20 09:26:49,857.857 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:26:50,108.108 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:26:50,117.117 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:26:50,296.296 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:26:50,345.345 INFO    ] time= 20/10/2026 09:26:50
[2026-10-20 09:26:50,386.386 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:26:50,403.403 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:26:50,538.538 INFO    ] No existing commands found in stream
[2026-10-20 09:26:55,551.551 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:26:55,554.554 INFO    ] Waiting 1.79 seconds before fallback handling...
[2026-10-20 09:26:57,883.883 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 09:26:57,885.885 INFO    ] Checking for system updates...
[2026-10-20 09:26:57,922.922 INFO    ] 200
[2026-10-20 09:26:57,924.924 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:26:57,984.984 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:26:57,987.987 INFO    ] No update needed
[2026-10-20 09:26:57,989.989 INFO    ] Checking for camera pi updates...
[2026-10-20 09:26:58,027.027 INFO    ] 200
[2026-10-20 09:26:58,030.030 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:26:58,081.081 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:26:58,117.117 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:26:58,120.120 INFO    ] No camera update needed
[2026-10-20 09:26:58,123.123 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:26:58,125.125 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:26:58,132.132 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:26:58,137.137 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:27:00,179.179 INFO    ] ================================================
[2026-10-20 09:27:00,194.194 INFO    ] Launching Daemon at Tue Oct 20 09:27:00 IST 2026
[2026-10-20 09:27:00,205.205 INFO    ] ================================================
[2026-10-20 09:27:00,772.772 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:27:00
[2026-10-20 09:27:01,356.356 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:27:01,710.710 INFO    ] Initializing speech engine...
[2026-10-20 09:27:01,722.722 INFO    ] 2026-10-20 09:27:01
[2026-10-20 09:27:02,057.057 INFO    ] 2026-10-20 09:27:02
[2026-10-20 09:27:02,138.138 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:27:02,363.363 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:27:02,368.368 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:27:02,525.525 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:27:02,583.583 INFO    ] time= 20/10/2026 09:27:02
[2026-10-20 09:27:02,613.613 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:27:02,665.665 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:27:02,772.772 INFO    ] No existing commands found in stream
[2026-10-20 09:27:07,784.784 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:27:07,786.786 INFO    ] Waiting 0.17 seconds before fallback handling...
[2026-10-20 09:27:08,403.403 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 09:27:08,405.405 INFO    ] Checking for system updates...
[2026-10-20 09:27:08,444.444 INFO    ] 200
[2026-10-20 09:27:08,446.446 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:27:08,505.505 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:27:08,507.507 INFO    ] No update needed
[2026-10-20 09:27:08,510.510 INFO    ] Checking for camera pi updates...
[2026-10-20 09:27:08,544.544 INFO    ] 200
[2026-10-20 09:27:08,547.547 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:27:08,587.587 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:27:08,629.629 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:27:08,632.632 INFO    ] No camera update needed
[2026-10-20 09:27:08,635.635 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:27:08,637.637 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:27:08,643.643 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:27:08,649.649 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:27:10,691.691 INFO    ] ================================================
[2026-10-20 09:27:10,705.705 INFO    ] Launching Daemon at Tue Oct 20 09:27:10 IST 2026
[2026-10-20 09:27:10,716.716 INFO    ] ================================================
[2026-10-20 09:27:11,279.279 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:27:11
[2026-10-20 09:27:11,859.859 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:27:12,129.129 INFO    ] Initializing speech engine...
[2026-10-20 09:27:12,138.138 INFO    ] 2026-10-20 09:27:12
[2026-10-20 09:27:12,386.386 INFO    ] 2026-10-20 09:27:12
[2026-10-20 09:27:12,420.420 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:27:12,676.676 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:27:12,683.683 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:27:12,825.825 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:27:12,886.886 INFO    ] time= 20/10/2026 09:27:12
[2026-10-20 09:27:12,935.935 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:27:12,959.959 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:27:13,093.093 INFO    ] No existing commands found in stream
[2026-10-20 09:27:18,119.119 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:27:18,122.122 INFO    ] Waiting 0.42 seconds before fallback handling...
[2026-10-20 09:27:19,065.065 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 09:27:19,068.068 INFO    ] Checking for system updates...
[2026-10-20 09:27:19,107.107 INFO    ] 200
[2026-10-20 09:27:19,109.109 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:27:19,163.163 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:27:19,165.165 INFO    ] No update needed
[2026-10-20 09:27:19,168.168 INFO    ] Checking for camera pi updates...
[2026-10-20 09:27:19,201.201 INFO    ] 200
[2026-10-20 09:27:19,203.203 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:27:19,328.328 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:27:19,374.374 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:27:19,377.377 INFO    ] No camera update needed
[2026-10-20 09:27:19,379.379 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:27:19,382.382 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:27:19,387.387 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:27:19,392.392 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:27:21,431.431 INFO    ] ================================================
[2026-10-20 09:27:21,446.446 INFO    ] Launching Daemon at Tue Oct 20 09:27:21 IST 2026
[2026-10-20 09:27:21,457.457 INFO    ] ================================================
[2026-10-20 09:27:22,079.079 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:27:22
[2026-10-20 09:27:22,663.663 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:27:22,959.959 INFO    ] Initializing speech engine...
[2026-10-20 09:27:22,970.970 INFO    ] 2026-10-20 09:27:22
[2026-10-20 09:27:23,257.257 INFO    ] 2026-10-20 09:27:23
[2026-10-20 09:27:23,300.300 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:27:23,547.547 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:27:23,552.552 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:27:23,773.773 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:27:23,785.785 INFO    ] time= 20/10/2026 09:27:23
[2026-10-20 09:27:23,801.801 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:27:23,810.810 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:27:23,937.937 INFO    ] No existing commands found in stream
[2026-10-20 09:27:28,951.951 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:27:28,954.954 INFO    ] Waiting 0.33 seconds before fallback handling...
[2026-10-20 09:27:29,854.854 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:27:29,857.857 INFO    ] Checking for system updates...
[2026-10-20 09:27:29,893.893 INFO    ] 200
[2026-10-20 09:27:29,896.896 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:27:29,955.955 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:27:29,958.958 INFO    ] No update needed
[2026-10-20 09:27:29,961.961 INFO    ] Checking for camera pi updates...
[2026-10-20 09:27:29,995.995 INFO    ] 200
[2026-10-20 09:27:29,998.998 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:27:30,043.043 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:27:30,088.088 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:27:30,091.091 INFO    ] No camera update needed
[2026-10-20 09:27:30,093.093 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:27:30,096.096 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:27:30,102.102 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:27:30,108.108 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:27:32,151.151 INFO    ] ================================================
[2026-10-20 09:27:32,168.168 INFO    ] Launching Daemon at Tue Oct 20 09:27:32 IST 2026
[2026-10-20 09:27:32,180.180 INFO    ] ================================================
[2026-10-20 09:27:32,789.789 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:27:32
[2026-10-20 09:27:33,395.395 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:27:33,666.666 INFO    ] Initializing speech engine...
[2026-10-20 09:27:33,672.672 INFO    ] 2026-10-20 09:27:33
[2026-10-20 09:27:33,916.916 INFO    ] 2026-10-20 09:27:33
[2026-10-20 09:27:33,951.951 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:27:34,153.153 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:27:34,212.212 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:27:34,356.356 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:27:34,415.415 INFO    ] time= 20/10/2026 09:27:34
[2026-10-20 09:27:34,465.465 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:27:34,490.490 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:27:34,621.621 INFO    ] No existing commands found in stream
[2026-10-20 09:27:39,649.649 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:27:39,652.652 INFO    ] Waiting 3.49 seconds before fallback handling...
[2026-10-20 09:27:43,684.684 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 09:27:43,686.686 INFO    ] Checking for system updates...
[2026-10-20 09:27:43,722.722 INFO    ] 200
[2026-10-20 09:27:43,725.725 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:27:43,777.777 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:27:43,780.780 INFO    ] No update needed
[2026-10-20 09:27:43,782.782 INFO    ] Checking for camera pi updates...
[2026-10-20 09:27:43,820.820 INFO    ] 200
[2026-10-20 09:27:43,823.823 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:27:43,863.863 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:27:43,918.918 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:27:43,921.921 INFO    ] No camera update needed
[2026-10-20 09:27:43,924.924 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:27:43,926.926 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:27:43,932.932 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:27:43,938.938 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:27:45,981.981 INFO    ] ================================================
[2026-10-20 09:27:46,996.996 INFO    ] Launching Daemon at Tue Oct 20 09:27:45 IST 2026
[2026-10-20 09:27:46,007.007 INFO    ] ================================================
[2026-10-20 09:27:46,641.641 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:27:46
[2026-10-20 09:27:47,299.299 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:27:47,597.597 INFO    ] Initializing speech engine...
[2026-10-20 09:27:47,610.610 INFO    ] 2026-10-20 09:27:47
[2026-10-20 09:27:47,913.913 INFO    ] 2026-10-20 09:27:47
[2026-10-20 09:27:47,999.999 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:27:48,222.222 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:27:48,227.227 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:27:48,428.428 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:27:48,435.435 INFO    ] time= 20/10/2026 09:27:48
[2026-10-20 09:27:48,455.455 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:27:48,483.483 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:27:48,594.594 INFO    ] No existing commands found in stream
[2026-10-20 09:27:53,619.619 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:27:53,622.622 INFO    ] Waiting 0.29 seconds before fallback handling...
[2026-10-20 09:27:54,437.437 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 09:27:54,440.440 INFO    ] Checking for system updates...
[2026-10-20 09:27:54,480.480 INFO    ] 200
[2026-10-20 09:27:54,482.482 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:27:54,540.540 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:27:54,542.542 INFO    ] No update needed
[2026-10-20 09:27:54,545.545 INFO    ] Checking for camera pi updates...
[2026-10-20 09:27:54,579.579 INFO    ] 200
[2026-10-20 09:27:54,581.581 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:27:54,626.626 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:27:54,768.768 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:27:54,771.771 INFO    ] No camera update needed
[2026-10-20 09:27:54,773.773 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:27:54,775.775 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:27:54,781.781 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:27:54,786.786 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:27:56,826.826 INFO    ] ================================================
[2026-10-20 09:27:56,841.841 INFO    ] Launching Daemon at Tue Oct 20 09:27:56 IST 2026
[2026-10-20 09:27:56,852.852 INFO    ] ================================================
[2026-10-20 09:27:57,416.416 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:27:57
[2026-10-20 09:27:58,006.006 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:27:58,261.261 INFO    ] Initializing speech engine...
[2026-10-20 09:27:58,274.274 INFO    ] 2026-10-20 09:27:58
[2026-10-20 09:27:58,558.558 INFO    ] 2026-10-20 09:27:58
[2026-10-20 09:27:58,593.593 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:27:58,791.791 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:27:58,806.806 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:27:58,969.969 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:27:58,974.974 INFO    ] time= 20/10/2026 09:27:58
[2026-10-20 09:27:58,980.980 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:27:58,986.986 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:27:59,154.154 INFO    ] No existing commands found in stream
[2026-10-20 09:28:04,180.180 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:28:04,182.182 INFO    ] Waiting 1.47 seconds before fallback handling...
[2026-10-20 09:28:06,160.160 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:28:06,163.163 INFO    ] Checking for system updates...
[2026-10-20 09:28:06,199.199 INFO    ] 200
[2026-10-20 09:28:06,201.201 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:28:06,257.257 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:28:06,259.259 INFO    ] No update needed
[2026-10-20 09:28:06,262.262 INFO    ] Checking for camera pi updates...
[2026-10-20 09:28:06,296.296 INFO    ] 200
[2026-10-20 09:28:06,298.298 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:28:06,341.341 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:28:06,389.389 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:28:06,392.392 INFO    ] No camera update needed
[2026-10-20 09:28:06,394.394 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:28:06,397.397 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:28:06,402.402 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:28:06,407.407 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:28:08,450.450 INFO    ] ================================================
[2026-10-20 09:28:08,466.466 INFO    ] Launching Daemon at Tue Oct 20 09:28:08 IST 2026
[2026-10-20 09:28:08,477.477 INFO    ] ================================================
[2026-10-20 09:28:09,046.046 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:28:09
[2026-10-20 09:28:09,633.633 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:28:09,904.904 INFO    ] Initializing speech engine...
[2026-10-20 09:28:09,913.913 INFO    ] 2026-10-20 09:28:09
[2026-10-20 09:28:10,165.165 INFO    ] 2026-10-20 09:28:10
[2026-10-20 09:28:10,208.208 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:28:10,481.481 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:28:10,492.492 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:28:10,642.642 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:28:10,684.684 INFO    ] time= 20/10/2026 09:28:10
[2026-10-20 09:28:10,738.738 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:28:10,782.782 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:28:10,909.909 INFO    ] No existing commands found in stream
[2026-10-20 09:28:15,935.935 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:28:15,938.938 INFO    ] Waiting 3.36 seconds before fallback handling...
[2026-10-20 09:28:19,839.839 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:28:19,842.842 INFO    ] Checking for system updates...
[2026-10-20 09:28:19,878.878 INFO    ] 200
[2026-10-20 09:28:19,881.881 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:28:19,933.933 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:28:19,935.935 INFO    ] No update needed
[2026-10-20 09:28:19,938.938 INFO    ] Checking for camera pi updates...
[2026-10-20 09:28:19,973.973 INFO    ] 200
[2026-10-20 09:28:19,975.975 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:28:20,015.015 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:28:20,063.063 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:28:20,066.066 INFO    ] No camera update needed
[2026-10-20 09:28:20,068.068 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:28:20,071.071 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:28:20,076.076 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:28:20,081.081 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:28:22,124.124 INFO    ] ================================================
[2026-10-20 09:28:22,140.140 INFO    ] Launching Daemon at Tue Oct 20 09:28:22 IST 2026
[2026-10-20 09:28:22,151.151 INFO    ] ================================================
[2026-10-20 09:28:22,722.722 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:28:22
[2026-10-20 09:28:23,311.311 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:28:23,570.570 INFO    ] Initializing speech engine...
[2026-10-20 09:28:23,584.584 INFO    ] 2026-10-20 09:28:23
[2026-10-20 09:28:23,864.864 INFO    ] 2026-10-20 09:28:23
[2026-10-20 09:28:23,902.902 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:28:24,123.123 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:28:24,131.131 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:28:24,344.344 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:28:24,354.354 INFO    ] time= 20/10/2026 09:28:24
[2026-10-20 09:28:24,393.393 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:28:24,443.443 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:28:24,556.556 INFO    ] No existing commands found in stream
[2026-10-20 09:28:29,568.568 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:28:29,571.571 INFO    ] Waiting 2.11 seconds before fallback handling...
[2026-10-20 09:28:32,192.192 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:28:32,195.195 INFO    ] Checking for system updates...
[2026-10-20 09:28:32,239.239 INFO    ] 200
[2026-10-20 09:28:32,243.243 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:28:32,304.304 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:28:32,307.307 INFO    ] No update needed
[2026-10-20 09:28:32,311.311 INFO    ] Checking for camera pi updates...
[2026-10-20 09:28:32,356.356 INFO    ] 200
[2026-10-20 09:28:32,359.359 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:28:32,406.406 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:28:32,439.439 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:28:32,442.442 INFO    ] No camera update needed
[2026-10-20 09:28:32,445.445 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:28:32,449.449 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:28:32,456.456 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:28:32,463.463 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:28:34,502.502 INFO    ] ================================================
[2026-10-20 09:28:34,518.518 INFO    ] Launching Daemon at Tue Oct 20 09:28:34 IST 2026
[2026-10-20 09:28:34,529.529 INFO    ] ================================================
[2026-10-20 09:28:35,100.100 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:28:35
[2026-10-20 09:28:35,687.687 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:28:35,956.956 INFO    ] Initializing speech engine...
[2026-10-20 09:28:35,966.966 INFO    ] 2026-10-20 09:28:35
[2026-10-20 09:28:36,212.212 INFO    ] 2026-10-20 09:28:36
[2026-10-20 09:28:36,247.247 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:28:36,503.503 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:28:36,507.507 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:28:36,724.724 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:28:36,765.765 INFO    ] time= 20/10/2026 09:28:36
[2026-10-20 09:28:36,772.772 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:28:36,789.789 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:28:36,915.915 INFO    ] No existing commands found in stream
[2026-10-20 09:28:41,931.931 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:28:41,934.934 INFO    ] Waiting 1.44 seconds before fallback handling...
[2026-10-20 09:28:43,924.924 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:28:43,927.927 INFO    ] Checking for system updates...
[2026-10-20 09:28:43,963.963 INFO    ] 200
[2026-10-20 09:28:43,965.965 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:28:44,024.024 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:28:44,026.026 INFO    ] No update needed
[2026-10-20 09:28:44,029.029 INFO    ] Checking for camera pi updates...
[2026-10-20 09:28:44,062.062 INFO    ] 200
[2026-10-20 09:28:44,065.065 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:28:44,109.109 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:28:44,159.159 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:28:44,162.162 INFO    ] No camera update needed
[2026-10-20 09:28:44,164.164 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:28:44,166.166 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:28:44,172.172 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:28:44,177.177 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:28:46,218.218 INFO    ] ================================================
[2026-10-20 09:28:46,234.234 INFO    ] Launching Daemon at Tue Oct 20 09:28:46 IST 2026
[2026-10-20 09:28:46,245.245 INFO    ] ================================================
[2026-10-20 09:28:46,883.883 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:28:46
[2026-10-20 09:28:47,542.542 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:28:47,842.842 INFO    ] Initializing speech engine...
[2026-10-20 09:28:47,856.856 INFO    ] 2026-10-20 09:28:47
[2026-10-20 09:28:48,125.125 INFO    ] 2026-10-20 09:28:48
[2026-10-20 09:28:48,182.182 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:28:48,413.413 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:28:48,417.417 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:28:48,607.607 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:28:48,662.662 INFO    ] time= 20/10/2026 09:28:48
[2026-10-20 09:28:48,688.688 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:28:48,705.705 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:28:48,825.825 INFO    ] No existing commands found in stream
[2026-10-20 09:28:53,852.852 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:28:53,855.855 INFO    ] Waiting 0.79 seconds before fallback handling...
[2026-10-20 09:28:55,183.183 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:28:55,186.186 INFO    ] Checking for system updates...
[2026-10-20 09:28:55,223.223 INFO    ] 200
[2026-10-20 09:28:55,225.225 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:28:55,278.278 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:28:55,280.280 INFO    ] No update needed
[2026-10-20 09:28:55,283.283 INFO    ] Checking for camera pi updates...
[2026-10-20 09:28:55,317.317 INFO    ] 200
[2026-10-20 09:28:55,320.320 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:28:55,363.363 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:28:55,414.414 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:28:55,417.417 INFO    ] No camera update needed
[2026-10-20 09:28:55,419.419 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:28:55,421.421 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:28:55,427.427 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:28:55,432.432 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:28:57,471.471 INFO    ] ================================================
[2026-10-20 09:28:57,487.487 INFO    ] Launching Daemon at Tue Oct 20 09:28:57 IST 2026
[2026-10-20 09:28:57,499.499 INFO    ] ================================================
[2026-10-20 09:28:58,138.138 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:28:58
[2026-10-20 09:28:58,795.795 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:28:59,097.097 INFO    ] Initializing speech engine...
[2026-10-20 09:28:59,103.103 INFO    ] 2026-10-20 09:28:59
[2026-10-20 09:28:59,392.392 INFO    ] 2026-10-20 09:28:59
[2026-10-20 09:28:59,437.437 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:28:59,726.726 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:28:59,733.733 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:28:59,937.937 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:28:59,954.954 INFO    ] time= 20/10/2026 09:28:59
[2026-10-20 09:28:59,986.986 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:28:59,993.993 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:29:00,104.104 INFO    ] No existing commands found in stream
[2026-10-20 09:29:05,135.135 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:29:05,138.138 INFO    ] Waiting 2.28 seconds before fallback handling...
[2026-10-20 09:29:07,924.924 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:29:07,927.927 INFO    ] Checking for system updates...
[2026-10-20 09:29:07,964.964 INFO    ] 200
[2026-10-20 09:29:07,966.966 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:29:08,019.019 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:29:08,022.022 INFO    ] No update needed
[2026-10-20 09:29:08,024.024 INFO    ] Checking for camera pi updates...
[2026-10-20 09:29:08,059.059 INFO    ] 200
[2026-10-20 09:29:08,062.062 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:29:08,106.106 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:29:08,156.156 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:29:08,159.159 INFO    ] No camera update needed
[2026-10-20 09:29:08,162.162 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:29:08,165.165 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:29:08,171.171 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:29:08,177.177 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:29:10,216.216 INFO    ] ================================================
[2026-10-20 09:29:10,232.232 INFO    ] Launching Daemon at Tue Oct 20 09:29:10 IST 2026
[2026-10-20 09:29:10,242.242 INFO    ] ================================================
[2026-10-20 09:29:10,822.822 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:29:10
[2026-10-20 09:29:11,420.420 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:29:11,673.673 INFO    ] Initializing speech engine...
[2026-10-20 09:29:11,695.695 INFO    ] 2026-10-20 09:29:11
[2026-10-20 09:29:11,950.950 INFO    ] 2026-10-20 09:29:11
[2026-10-20 09:29:11,985.985 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:29:12,238.238 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:29:12,247.247 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:29:12,462.462 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:29:12,507.507 INFO    ] time= 20/10/2026 09:29:12
[2026-10-20 09:29:12,513.513 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:29:12,530.530 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:29:12,681.681 INFO    ] No existing commands found in stream
[2026-10-20 09:29:17,712.712 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:29:17,714.714 INFO    ] Waiting 2.71 seconds before fallback handling...
[2026-10-20 09:29:20,917.917 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 09:29:20,919.919 INFO    ] Checking for system updates...
[2026-10-20 09:29:20,955.955 INFO    ] 200
[2026-10-20 09:29:20,957.957 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:29:21,011.011 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:29:21,013.013 INFO    ] No update needed
[2026-10-20 09:29:21,016.016 INFO    ] Checking for camera pi updates...
[2026-10-20 09:29:21,052.052 INFO    ] 200
[2026-10-20 09:29:21,054.054 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:29:21,093.093 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:29:21,139.139 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:29:21,142.142 INFO    ] No camera update needed
[2026-10-20 09:29:21,144.144 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:29:21,146.146 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:29:21,151.151 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:29:21,156.156 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:29:23,197.197 INFO    ] ================================================
[2026-10-20 09:29:23,212.212 INFO    ] Launching Daemon at Tue Oct 20 09:29:23 IST 2026
[2026-10-20 09:29:23,222.222 INFO    ] ================================================
[2026-10-20 09:29:23,791.791 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:29:23
[2026-10-20 09:29:24,373.373 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:29:24,623.623 INFO    ] Initializing speech engine...
[2026-10-20 09:29:24,632.632 INFO    ] 2026-10-20 09:29:24
[2026-10-20 09:29:24,923.923 INFO    ] 2026-10-20 09:29:24
[2026-10-20 09:29:24,960.960 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:29:25,176.176 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:29:25,191.191 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:29:25,402.402 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:29:25,419.419 INFO    ] time= 20/10/2026 09:29:25
[2026-10-20 09:29:25,463.463 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:29:25,502.502 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:29:25,599.599 INFO    ] No existing commands found in stream
[2026-10-20 09:29:30,611.611 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:29:30,614.614 INFO    ] Waiting 2.05 seconds before fallback handling...
[2026-10-20 09:29:33,182.182 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:29:33,184.184 INFO    ] Checking for system updates...
[2026-10-20 09:29:33,219.219 INFO    ] 200
[2026-10-20 09:29:33,222.222 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:29:33,274.274 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:29:33,276.276 INFO    ] No update needed
[2026-10-20 09:29:33,278.278 INFO    ] Checking for camera pi updates...
[2026-10-20 09:29:33,311.311 INFO    ] 200
[2026-10-20 09:29:33,314.314 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:29:33,353.353 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:29:33,384.384 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:29:33,387.387 INFO    ] No camera update needed
[2026-10-20 09:29:33,389.389 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:29:33,391.391 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:29:33,397.397 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:29:33,402.402 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:29:35,441.441 INFO    ] ================================================
[2026-10-20 09:29:35,457.457 INFO    ] Launching Daemon at Tue Oct 20 09:29:35 IST 2026
[2026-10-20 09:29:35,467.467 INFO    ] ================================================
[2026-10-20 09:29:36,112.112 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:29:36
[2026-10-20 09:29:36,773.773 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:29:37,069.069 INFO    ] Initializing speech engine...
[2026-10-20 09:29:37,076.076 INFO    ] 2026-10-20 09:29:37
[2026-10-20 09:29:37,351.351 INFO    ] 2026-10-20 09:29:37
[2026-10-20 09:29:37,405.405 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:29:37,658.658 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:29:37,677.677 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:29:37,893.893 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:29:37,900.900 INFO    ] time= 20/10/2026 09:29:37
[2026-10-20 09:29:37,919.919 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:29:37,947.947 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:29:38,056.056 INFO    ] No existing commands found in stream
[2026-10-20 09:29:43,085.085 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:29:43,089.089 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-10-20 09:29:47,076.076 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 09:29:47,078.078 INFO    ] Checking for system updates...
[2026-10-20 09:29:47,115.115 INFO    ] 200
[2026-10-20 09:29:47,118.118 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:29:47,170.170 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:29:47,173.173 INFO    ] No update needed
[2026-10-20 09:29:47,176.176 INFO    ] Checking for camera pi updates...
[2026-10-20 09:29:47,210.210 INFO    ] 200
[2026-10-20 09:29:47,212.212 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:29:47,254.254 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:29:47,303.303 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:29:47,306.306 INFO    ] No camera update needed
[2026-10-20 09:29:47,309.309 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:29:47,312.312 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:29:47,318.318 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:29:47,324.324 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:29:49,364.364 INFO    ] ================================================
[2026-10-20 09:29:49,379.379 INFO    ] Launching Daemon at Tue Oct 20 09:29:49 IST 2026
[2026-10-20 09:29:49,391.391 INFO    ] ================================================
[2026-10-20 09:29:49,962.962 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:29:49
[2026-10-20 09:29:50,544.544 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:29:50,806.806 INFO    ] Initializing speech engine...
[2026-10-20 09:29:50,819.819 INFO    ] 2026-10-20 09:29:50
[2026-10-20 09:29:51,099.099 INFO    ] 2026-10-20 09:29:51
[2026-10-20 09:29:51,136.136 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:29:51,355.355 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:29:51,363.363 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:29:51,572.572 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:29:51,587.587 INFO    ] time= 20/10/2026 09:29:51
[2026-10-20 09:29:51,656.656 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:29:51,706.706 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:29:51,873.873 INFO    ] No existing commands found in stream
[2026-10-20 09:29:56,898.898 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:29:56,901.901 INFO    ] Waiting 0.26 seconds before fallback handling...
[2026-10-20 09:29:57,671.671 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:29:57,674.674 INFO    ] Checking for system updates...
[2026-10-20 09:29:57,709.709 INFO    ] 200
[2026-10-20 09:29:57,711.711 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:29:57,768.768 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:29:57,770.770 INFO    ] No update needed
[2026-10-20 09:29:57,772.772 INFO    ] Checking for camera pi updates...
[2026-10-20 09:29:57,805.805 INFO    ] 200
[2026-10-20 09:29:57,807.807 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:29:57,851.851 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:29:57,999.999 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:29:58,002.002 INFO    ] No camera update needed
[2026-10-20 09:29:58,004.004 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:29:58,006.006 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:29:58,012.012 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:29:58,016.016 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:30:00,055.055 INFO    ] ================================================
[2026-10-20 09:30:00,071.071 INFO    ] Launching Daemon at Tue Oct 20 09:30:00 IST 2026
[2026-10-20 09:30:00,082.082 INFO    ] ================================================
[2026-10-20 09:30:00,721.721 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:30:00
[2026-10-20 09:30:01,381.381 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:30:01,661.661 INFO    ] Initializing speech engine...
[2026-10-20 09:30:01,671.671 INFO    ] 2026-10-20 09:30:01
[2026-10-20 09:30:02,066.066 INFO    ] 2026-10-20 09:30:02
[2026-10-20 09:30:02,200.200 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:30:02,470.470 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:30:02,473.473 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:30:02,661.661 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:30:02,664.664 INFO    ] time= 20/10/2026 09:30:02
[2026-10-20 09:30:02,668.668 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:30:02,680.680 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:30:02,781.781 INFO    ] No existing commands found in stream
[2026-10-20 09:30:07,791.791 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:30:07,794.794 INFO    ] Waiting 0.41 seconds before fallback handling...
[2026-10-20 09:30:08,745.745 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:30:08,748.748 INFO    ] Checking for system updates...
[2026-10-20 09:30:08,783.783 INFO    ] 200
[2026-10-20 09:30:08,785.785 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:30:08,837.837 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:30:08,839.839 INFO    ] No update needed
[2026-10-20 09:30:08,842.842 INFO    ] Checking for camera pi updates...
[2026-10-20 09:30:08,875.875 INFO    ] 200
[2026-10-20 09:30:08,878.878 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:30:08,919.919 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:30:08,969.969 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:30:08,972.972 INFO    ] No camera update needed
[2026-10-20 09:30:08,974.974 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:30:08,976.976 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:30:08,982.982 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:30:08,986.986 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:30:11,027.027 INFO    ] ================================================
[2026-10-20 09:30:11,043.043 INFO    ] Launching Daemon at Tue Oct 20 09:30:11 IST 2026
[2026-10-20 09:30:11,054.054 INFO    ] ================================================
[2026-10-20 09:30:11,694.694 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:30:11
[2026-10-20 09:30:12,352.352 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:30:12,652.652 INFO    ] Initializing speech engine...
[2026-10-20 09:30:12,666.666 INFO    ] 2026-10-20 09:30:12
[2026-10-20 09:30:12,974.974 INFO    ] 2026-10-20 09:30:12
[2026-10-20 09:30:13,056.056 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:30:13,327.327 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:30:13,347.347 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:30:13,603.603 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:30:13,670.670 INFO    ] time= 20/10/2026 09:30:13
[2026-10-20 09:30:13,732.732 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:30:13,761.761 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:30:13,931.931 INFO    ] No existing commands found in stream
[2026-10-20 09:30:18,945.945 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:30:18,948.948 INFO    ] Waiting 2.76 seconds before fallback handling...
[2026-10-20 09:30:22,230.230 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:30:22,232.232 INFO    ] Checking for system updates...
[2026-10-20 09:30:22,269.269 INFO    ] 200
[2026-10-20 09:30:22,272.272 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:30:22,331.331 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:30:22,334.334 INFO    ] No update needed
[2026-10-20 09:30:22,337.337 INFO    ] Checking for camera pi updates...
[2026-10-20 09:30:22,375.375 INFO    ] 200
[2026-10-20 09:30:22,378.378 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:30:22,423.423 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:30:22,475.475 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:30:22,478.478 INFO    ] No camera update needed
[2026-10-20 09:30:22,481.481 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:30:22,484.484 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:30:22,490.490 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:30:22,496.496 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:30:24,537.537 INFO    ] ================================================
[2026-10-20 09:30:24,552.552 INFO    ] Launching Daemon at Tue Oct 20 09:30:24 IST 2026
[2026-10-20 09:30:24,564.564 INFO    ] ================================================
[2026-10-20 09:30:25,157.157 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:30:25
[2026-10-20 09:30:25,759.759 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:30:26,019.019 INFO    ] Initializing speech engine...
[2026-10-20 09:30:26,027.027 INFO    ] 2026-10-20 09:30:26
[2026-10-20 09:30:26,317.317 INFO    ] 2026-10-20 09:30:26
[2026-10-20 09:30:26,355.355 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:30:26,577.577 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:30:26,616.616 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:30:26,801.801 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:30:26,850.850 INFO    ] time= 20/10/2026 09:30:26
[2026-10-20 09:30:26,900.900 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:30:26,946.946 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:30:27,041.041 INFO    ] No existing commands found in stream
[2026-10-20 09:30:32,071.071 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:30:32,074.074 INFO    ] Waiting 3.98 seconds before fallback handling...
[2026-10-20 09:30:36,560.560 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:30:36,563.563 INFO    ] Checking for system updates...
[2026-10-20 09:30:36,598.598 INFO    ] 200
[2026-10-20 09:30:36,600.600 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:30:36,660.660 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:30:36,663.663 INFO    ] No update needed
[2026-10-20 09:30:36,665.665 INFO    ] Checking for camera pi updates...
[2026-10-20 09:30:36,698.698 INFO    ] 200
[2026-10-20 09:30:36,700.700 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:30:36,740.740 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:30:36,791.791 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:30:36,793.793 INFO    ] No camera update needed
[2026-10-20 09:30:36,795.795 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:30:36,797.797 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:30:36,803.803 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:30:36,808.808 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:30:38,848.848 INFO    ] ================================================
[2026-10-20 09:30:38,863.863 INFO    ] Launching Daemon at Tue Oct 20 09:30:38 IST 2026
[2026-10-20 09:30:38,874.874 INFO    ] ================================================
[2026-10-20 09:30:39,440.440 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:30:39
[2026-10-20 09:30:40,022.022 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:30:40,272.272 INFO    ] Initializing speech engine...
[2026-10-20 09:30:40,292.292 INFO    ] 2026-10-20 09:30:40
[2026-10-20 09:30:40,552.552 INFO    ] 2026-10-20 09:30:40
[2026-10-20 09:30:40,585.585 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:30:40,845.845 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:30:40,854.854 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:30:41,042.042 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:30:41,101.101 INFO    ] time= 20/10/2026 09:30:41
[2026-10-20 09:30:41,145.145 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:30:41,152.152 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:30:41,302.302 INFO    ] No existing commands found in stream
[2026-10-20 09:30:46,323.323 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:30:46,325.325 INFO    ] Waiting 2.73 seconds before fallback handling...
[2026-10-20 09:30:49,557.557 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:30:49,559.559 INFO    ] Checking for system updates...
[2026-10-20 09:30:49,595.595 INFO    ] 200
[2026-10-20 09:30:49,597.597 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:30:49,650.650 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:30:49,653.653 INFO    ] No update needed
[2026-10-20 09:30:49,655.655 INFO    ] Checking for camera pi updates...
[2026-10-20 09:30:49,688.688 INFO    ] 200
[2026-10-20 09:30:49,690.690 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:30:49,731.731 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:30:49,781.781 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:30:49,783.783 INFO    ] No camera update needed
[2026-10-20 09:30:49,785.785 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:30:49,787.787 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:30:49,793.793 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:30:49,798.798 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:30:51,839.839 INFO    ] ================================================
[2026-10-20 09:30:51,855.855 INFO    ] Launching Daemon at Tue Oct 20 09:30:51 IST 2026
[2026-10-20 09:30:51,866.866 INFO    ] ================================================
[2026-10-20 09:30:52,434.434 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:30:52
[2026-10-20 09:30:53,020.020 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:30:53,296.296 INFO    ] Initializing speech engine...
[2026-10-20 09:30:53,312.312 INFO    ] 2026-10-20 09:30:53
[2026-10-20 09:30:53,587.587 INFO    ] 2026-10-20 09:30:53
[2026-10-20 09:30:53,625.625 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:30:53,844.844 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:30:53,853.853 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:30:54,071.071 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:30:54,088.088 INFO    ] time= 20/10/2026 09:30:54
[2026-10-20 09:30:54,143.143 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:30:54,202.202 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:30:54,348.348 INFO    ] No existing commands found in stream
[2026-10-20 09:30:59,371.371 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:30:59,374.374 INFO    ] Waiting 2.43 seconds before fallback handling...
[2026-10-20 09:31:02,412.412 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:31:02,416.416 INFO    ] Checking for system updates...
[2026-10-20 09:31:02,461.461 INFO    ] 200
[2026-10-20 09:31:02,464.464 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:31:02,525.525 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:31:02,528.528 INFO    ] No update needed
[2026-10-20 09:31:02,531.531 INFO    ] Checking for camera pi updates...
[2026-10-20 09:31:02,570.570 INFO    ] 200
[2026-10-20 09:31:02,573.573 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:31:02,618.618 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:31:02,659.659 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:31:02,662.662 INFO    ] No camera update needed
[2026-10-20 09:31:02,665.665 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:31:02,668.668 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:31:02,674.674 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:31:02,680.680 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:31:04,720.720 INFO    ] ================================================
[2026-10-20 09:31:04,736.736 INFO    ] Launching Daemon at Tue Oct 20 09:31:04 IST 2026
[2026-10-20 09:31:04,747.747 INFO    ] ================================================
[2026-10-20 09:31:05,404.404 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:31:05
[2026-10-20 09:31:06,082.082 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:31:06,392.392 INFO    ] Initializing speech engine...
[2026-10-20 09:31:06,403.403 INFO    ] 2026-10-20 09:31:06
[2026-10-20 09:31:06,682.682 INFO    ] 2026-10-20 09:31:06
[2026-10-20 09:31:06,728.728 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:31:06,976.976 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:31:06,984.984 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:31:07,214.214 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:31:07,222.222 INFO    ] time= 20/10/2026 09:31:07
[2026-10-20 09:31:07,244.244 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:31:07,274.274 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:31:07,412.412 INFO    ] No existing commands found in stream
[2026-10-20 09:31:12,441.441 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:31:12,444.444 INFO    ] Waiting 3.34 seconds before fallback handling...
[2026-10-20 09:31:16,342.342 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:31:16,345.345 INFO    ] Checking for system updates...
[2026-10-20 09:31:16,382.382 INFO    ] 200
[2026-10-20 09:31:16,385.385 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:31:16,438.438 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:31:16,441.441 INFO    ] No update needed
[2026-10-20 09:31:16,444.444 INFO    ] Checking for camera pi updates...
[2026-10-20 09:31:16,483.483 INFO    ] 200
[2026-10-20 09:31:16,485.485 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:31:16,525.525 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:31:16,579.579 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:31:16,581.581 INFO    ] No camera update needed
[2026-10-20 09:31:16,583.583 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:31:16,586.586 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:31:16,591.591 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:31:16,596.596 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:31:18,636.636 INFO    ] ================================================
[2026-10-20 09:31:18,652.652 INFO    ] Launching Daemon at Tue Oct 20 09:31:18 IST 2026
[2026-10-20 09:31:18,663.663 INFO    ] ================================================
[2026-10-20 09:31:19,324.324 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:31:19
[2026-10-20 09:31:20,006.006 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:31:20,329.329 INFO    ] Initializing speech engine...
[2026-10-20 09:31:20,336.336 INFO    ] 2026-10-20 09:31:20
[2026-10-20 09:31:20,617.617 INFO    ] 2026-10-20 09:31:20
[2026-10-20 09:31:20,665.665 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:31:20,960.960 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:31:20,967.967 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:31:21,165.165 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:31:21,183.183 INFO    ] time= 20/10/2026 09:31:21
[2026-10-20 09:31:21,194.194 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:31:21,224.224 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:31:21,332.332 INFO    ] No existing commands found in stream
[2026-10-20 09:31:26,357.357 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:31:26,360.360 INFO    ] Waiting 2.50 seconds before fallback handling...
[2026-10-20 09:31:29,412.412 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:31:29,415.415 INFO    ] Checking for system updates...
[2026-10-20 09:31:29,453.453 INFO    ] 200
[2026-10-20 09:31:29,456.456 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:31:29,509.509 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:31:29,512.512 INFO    ] No update needed
[2026-10-20 09:31:29,514.514 INFO    ] Checking for camera pi updates...
[2026-10-20 09:31:29,549.549 INFO    ] 200
[2026-10-20 09:31:29,551.551 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:31:29,592.592 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:31:29,642.642 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:31:29,645.645 INFO    ] No camera update needed
[2026-10-20 09:31:29,648.648 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:31:29,651.651 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:31:29,657.657 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:31:29,663.663 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:31:31,714.714 INFO    ] ================================================
[2026-10-20 09:31:31,730.730 INFO    ] Launching Daemon at Tue Oct 20 09:31:31 IST 2026
[2026-10-20 09:31:31,743.743 INFO    ] ================================================
[2026-10-20 09:31:32,346.346 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:31:32
[2026-10-20 09:31:32,966.966 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:31:33,233.233 INFO    ] Initializing speech engine...
[2026-10-20 09:31:33,239.239 INFO    ] 2026-10-20 09:31:33
[2026-10-20 09:31:33,540.540 INFO    ] 2026-10-20 09:31:33
[2026-10-20 09:31:33,579.579 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:31:33,785.785 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:31:33,799.799 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:31:33,968.968 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:31:33,973.973 INFO    ] time= 20/10/2026 09:31:33
[2026-10-20 09:31:33,980.980 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:31:33,986.986 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:31:34,143.143 INFO    ] No existing commands found in stream
[2026-10-20 09:31:39,168.168 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:31:39,171.171 INFO    ] Waiting 2.66 seconds before fallback handling...
[2026-10-20 09:31:42,354.354 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:31:42,357.357 INFO    ] Checking for system updates...
[2026-10-20 09:31:42,393.393 INFO    ] 200
[2026-10-20 09:31:42,396.396 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:31:42,451.451 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:31:42,454.454 INFO    ] No update needed
[2026-10-20 09:31:42,456.456 INFO    ] Checking for camera pi updates...
[2026-10-20 09:31:42,489.489 INFO    ] 200
[2026-10-20 09:31:42,492.492 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:31:42,536.536 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:31:42,581.581 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:31:42,584.584 INFO    ] No camera update needed
[2026-10-20 09:31:42,586.586 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:31:42,588.588 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:31:42,594.594 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:31:42,599.599 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:31:44,639.639 INFO    ] ================================================
[2026-10-20 09:31:44,654.654 INFO    ] Launching Daemon at Tue Oct 20 09:31:44 IST 2026
[2026-10-20 09:31:44,665.665 INFO    ] ================================================
[2026-10-20 09:31:45,333.333 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:31:45
[2026-10-20 09:31:46,017.017 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:31:46,330.330 INFO    ] Initializing speech engine...
[2026-10-20 09:31:46,342.342 INFO    ] 2026-10-20 09:31:46
[2026-10-20 09:31:46,661.661 INFO    ] 2026-10-20 09:31:46
[2026-10-20 09:31:46,753.753 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:31:46,938.938 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:31:46,973.973 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:31:47,180.180 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:31:47,199.199 INFO    ] time= 20/10/2026 09:31:47
[2026-10-20 09:31:47,209.209 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:31:47,239.239 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:31:47,358.358 INFO    ] No existing commands found in stream
[2026-10-20 09:31:52,389.389 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:31:52,392.392 INFO    ] Waiting 0.89 seconds before fallback handling...
[2026-10-20 09:31:53,869.869 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:31:53,872.872 INFO    ] Checking for system updates...
[2026-10-20 09:31:53,910.910 INFO    ] 200
[2026-10-20 09:31:53,913.913 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:31:53,968.968 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:31:53,971.971 INFO    ] No update needed
[2026-10-20 09:31:53,974.974 INFO    ] Checking for camera pi updates...
[2026-10-20 09:31:54,008.008 INFO    ] 200
[2026-10-20 09:31:54,011.011 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:31:54,058.058 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:31:54,105.105 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:31:54,107.107 INFO    ] No camera update needed
[2026-10-20 09:31:54,110.110 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:31:54,113.113 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:31:54,119.119 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:31:54,125.125 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:31:56,168.168 INFO    ] ================================================
[2026-10-20 09:31:56,183.183 INFO    ] Launching Daemon at Tue Oct 20 09:31:56 IST 2026
[2026-10-20 09:31:56,194.194 INFO    ] ================================================
[2026-10-20 09:31:56,863.863 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:31:56
[2026-10-20 09:31:57,555.555 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:31:57,870.870 INFO    ] Initializing speech engine...
[2026-10-20 09:31:57,885.885 INFO    ] 2026-10-20 09:31:57
[2026-10-20 09:31:58,180.180 INFO    ] 2026-10-20 09:31:58
[2026-10-20 09:31:58,221.221 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:31:58,480.480 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:31:58,500.500 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:31:58,724.724 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:31:58,732.732 INFO    ] time= 20/10/2026 09:31:58
[2026-10-20 09:31:58,754.754 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:31:58,784.784 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:31:58,903.903 INFO    ] No existing commands found in stream
[2026-10-20 09:32:03,933.933 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:32:03,936.936 INFO    ] Waiting 1.29 seconds before fallback handling...
[2026-10-20 09:32:07,327.327 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 09:32:07,330.330 INFO    ] Checking for system updates...
[2026-10-20 09:32:07,394.394 INFO    ] 200
[2026-10-20 09:32:07,397.397 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:32:07,449.449 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:32:07,452.452 INFO    ] No update needed
[2026-10-20 09:32:07,454.454 INFO    ] Checking for camera pi updates...
[2026-10-20 09:32:07,489.489 INFO    ] 200
[2026-10-20 09:32:07,491.491 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:32:07,533.533 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:32:07,579.579 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:32:07,582.582 INFO    ] No camera update needed
[2026-10-20 09:32:07,584.584 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:32:07,587.587 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:32:07,593.593 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:32:07,599.599 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:32:09,638.638 INFO    ] ================================================
[2026-10-20 09:32:09,653.653 INFO    ] Launching Daemon at Tue Oct 20 09:32:09 IST 2026
[2026-10-20 09:32:09,664.664 INFO    ] ================================================
[2026-10-20 09:32:10,304.304 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:32:10
[2026-10-20 09:32:10,965.965 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:32:11,264.264 INFO    ] Initializing speech engine...
[2026-10-20 09:32:11,272.272 INFO    ] 2026-10-20 09:32:11
[2026-10-20 09:32:11,544.544 INFO    ] 2026-10-20 09:32:11
[2026-10-20 09:32:11,601.601 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:32:11,851.851 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:32:11,858.858 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:32:12,078.078 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:32:12,097.097 INFO    ] time= 20/10/2026 09:32:12
[2026-10-20 09:32:12,118.118 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:32:12,147.147 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:32:12,282.282 INFO    ] No existing commands found in stream
[2026-10-20 09:32:17,313.313 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:32:17,316.316 INFO    ] Waiting 1.47 seconds before fallback handling...
[2026-10-20 09:32:19,306.306 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:32:19,309.309 INFO    ] Checking for system updates...
[2026-10-20 09:32:19,346.346 INFO    ] 200
[2026-10-20 09:32:19,348.348 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:32:19,407.407 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:32:19,410.410 INFO    ] No update needed
[2026-10-20 09:32:19,413.413 INFO    ] Checking for camera pi updates...
[2026-10-20 09:32:19,448.448 INFO    ] 200
[2026-10-20 09:32:19,451.451 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:32:19,492.492 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:32:19,541.541 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:32:19,543.543 INFO    ] No camera update needed
[2026-10-20 09:32:19,546.546 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:32:19,549.549 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:32:19,555.555 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:32:19,560.560 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:32:21,601.601 INFO    ] ================================================
[2026-10-20 09:32:21,616.616 INFO    ] Launching Daemon at Tue Oct 20 09:32:21 IST 2026
[2026-10-20 09:32:21,626.626 INFO    ] ================================================
[2026-10-20 09:32:22,207.207 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:32:22
[2026-10-20 09:32:22,811.811 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:32:23,086.086 INFO    ] Initializing speech engine...
[2026-10-20 09:32:23,101.101 INFO    ] 2026-10-20 09:32:23
[2026-10-20 09:32:23,374.374 INFO    ] 2026-10-20 09:32:23
[2026-10-20 09:32:23,412.412 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:32:23,698.698 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:32:23,709.709 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:32:23,859.859 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:32:23,907.907 INFO    ] time= 20/10/2026 09:32:23
[2026-10-20 09:32:23,936.936 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:32:23,974.974 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:32:24,108.108 INFO    ] No existing commands found in stream
[2026-10-20 09:32:29,140.140 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:32:29,143.143 INFO    ] Waiting 1.69 seconds before fallback handling...
[2026-10-20 09:32:31,377.377 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:32:31,380.380 INFO    ] Checking for system updates...
[2026-10-20 09:32:31,417.417 INFO    ] 200
[2026-10-20 09:32:31,420.420 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:32:31,484.484 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:32:31,487.487 INFO    ] No update needed
[2026-10-20 09:32:31,489.489 INFO    ] Checking for camera pi updates...
[2026-10-20 09:32:31,522.522 INFO    ] 200
[2026-10-20 09:32:31,525.525 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:32:31,565.565 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:32:31,597.597 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:32:31,600.600 INFO    ] No camera update needed
[2026-10-20 09:32:31,602.602 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:32:31,606.606 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:32:31,613.613 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:32:31,619.619 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:32:33,661.661 INFO    ] ================================================
[2026-10-20 09:32:33,676.676 INFO    ] Launching Daemon at Tue Oct 20 09:32:33 IST 2026
[2026-10-20 09:32:33,688.688 INFO    ] ================================================
[2026-10-20 09:32:34,252.252 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:32:34
[2026-10-20 09:32:34,833.833 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:32:35,107.107 INFO    ] Initializing speech engine...
[2026-10-20 09:32:35,114.114 INFO    ] 2026-10-20 09:32:35
[2026-10-20 09:32:35,375.375 INFO    ] 2026-10-20 09:32:35
[2026-10-20 09:32:35,404.404 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:32:35,659.659 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:32:35,664.664 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:32:35,862.862 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:32:35,912.912 INFO    ] time= 20/10/2026 09:32:35
[2026-10-20 09:32:35,931.931 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:32:35,946.946 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:32:36,087.087 INFO    ] No existing commands found in stream
[2026-10-20 09:32:41,113.113 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:32:41,115.115 INFO    ] Waiting 0.64 seconds before fallback handling...
[2026-10-20 09:32:42,288.288 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 09:32:42,291.291 INFO    ] Checking for system updates...
[2026-10-20 09:32:42,326.326 INFO    ] 200
[2026-10-20 09:32:42,328.328 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:32:42,381.381 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:32:42,383.383 INFO    ] No update needed
[2026-10-20 09:32:42,386.386 INFO    ] Checking for camera pi updates...
[2026-10-20 09:32:42,418.418 INFO    ] 200
[2026-10-20 09:32:42,421.421 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:32:42,461.461 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:32:42,520.520 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:32:42,523.523 INFO    ] No camera update needed
[2026-10-20 09:32:42,525.525 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:32:42,527.527 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:32:42,532.532 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:32:42,537.537 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:32:44,579.579 INFO    ] ================================================
[2026-10-20 09:32:44,594.594 INFO    ] Launching Daemon at Tue Oct 20 09:32:44 IST 2026
[2026-10-20 09:32:44,606.606 INFO    ] ================================================
[2026-10-20 09:32:45,265.265 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:32:45
[2026-10-20 09:32:45,945.945 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:32:46,252.252 INFO    ] Initializing speech engine...
[2026-10-20 09:32:46,267.267 INFO    ] 2026-10-20 09:32:46
[2026-10-20 09:32:46,552.552 INFO    ] 2026-10-20 09:32:46
[2026-10-20 09:32:46,600.600 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:32:46,888.888 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:32:46,897.897 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:32:47,090.090 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:32:47,105.105 INFO    ] time= 20/10/2026 09:32:47
[2026-10-20 09:32:47,124.124 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:32:47,153.153 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:32:47,270.270 INFO    ] No existing commands found in stream
[2026-10-20 09:32:52,301.301 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:32:52,304.304 INFO    ] Waiting 3.63 seconds before fallback handling...
[2026-10-20 09:32:56,486.486 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:32:56,489.489 INFO    ] Checking for system updates...
[2026-10-20 09:32:56,526.526 INFO    ] 200
[2026-10-20 09:32:56,530.530 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:32:56,595.595 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:32:56,598.598 INFO    ] No update needed
[2026-10-20 09:32:56,601.601 INFO    ] Checking for camera pi updates...
[2026-10-20 09:32:56,635.635 INFO    ] 200
[2026-10-20 09:32:56,638.638 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:32:56,680.680 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:32:56,727.727 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:32:56,730.730 INFO    ] No camera update needed
[2026-10-20 09:32:56,732.732 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:32:56,735.735 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:32:56,741.741 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:32:56,747.747 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:32:58,789.789 INFO    ] ================================================
[2026-10-20 09:32:58,805.805 INFO    ] Launching Daemon at Tue Oct 20 09:32:58 IST 2026
[2026-10-20 09:32:58,816.816 INFO    ] ================================================
[2026-10-20 09:32:59,397.397 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:32:59
[2026-10-20 09:32:59,996.996 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:33:00,260.260 INFO    ] Initializing speech engine...
[2026-10-20 09:33:00,284.284 INFO    ] 2026-10-20 09:33:00
[2026-10-20 09:33:00,559.559 INFO    ] 2026-10-20 09:33:00
[2026-10-20 09:33:00,594.594 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:33:00,795.795 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:33:00,809.809 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:33:00,977.977 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:33:00,982.982 INFO    ] time= 20/10/2026 09:33:00
[2026-10-20 09:33:00,990.990 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:33:01,040.040 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:33:01,184.184 INFO    ] No existing commands found in stream
[2026-10-20 09:33:06,210.210 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:33:06,212.212 INFO    ] Waiting 1.13 seconds before fallback handling...
[2026-10-20 09:33:07,844.844 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:33:07,847.847 INFO    ] Checking for system updates...
[2026-10-20 09:33:07,882.882 INFO    ] 200
[2026-10-20 09:33:07,884.884 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:33:07,936.936 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:33:07,939.939 INFO    ] No update needed
[2026-10-20 09:33:07,942.942 INFO    ] Checking for camera pi updates...
[2026-10-20 09:33:07,975.975 INFO    ] 200
[2026-10-20 09:33:07,978.978 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:33:08,018.018 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:33:08,071.071 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:33:08,073.073 INFO    ] No camera update needed
[2026-10-20 09:33:08,076.076 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:33:08,078.078 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:33:08,083.083 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:33:08,088.088 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:33:10,128.128 INFO    ] ================================================
[2026-10-20 09:33:10,143.143 INFO    ] Launching Daemon at Tue Oct 20 09:33:10 IST 2026
[2026-10-20 09:33:10,154.154 INFO    ] ================================================
[2026-10-20 09:33:10,803.803 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:33:10
[2026-10-20 09:33:11,470.470 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:33:11,774.774 INFO    ] Initializing speech engine...
[2026-10-20 09:33:11,788.788 INFO    ] 2026-10-20 09:33:11
[2026-10-20 09:33:12,095.095 INFO    ] 2026-10-20 09:33:12
[2026-10-20 09:33:12,184.184 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:33:12,395.395 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:33:12,401.401 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:33:12,592.592 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:33:12,604.604 INFO    ] time= 20/10/2026 09:33:12
[2026-10-20 09:33:12,625.625 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:33:12,655.655 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:33:12,794.794 INFO    ] No existing commands found in stream
[2026-10-20 09:33:17,825.825 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:33:17,828.828 INFO    ] Waiting 3.86 seconds before fallback handling...
[2026-10-20 09:33:22,259.259 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 09:33:22,262.262 INFO    ] Checking for system updates...
[2026-10-20 09:33:22,299.299 INFO    ] 200
[2026-10-20 09:33:22,301.301 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:33:22,355.355 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:33:22,358.358 INFO    ] No update needed
[2026-10-20 09:33:22,361.361 INFO    ] Checking for camera pi updates...
[2026-10-20 09:33:22,396.396 INFO    ] 200
[2026-10-20 09:33:22,399.399 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:33:22,441.441 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:33:22,494.494 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:33:22,497.497 INFO    ] No camera update needed
[2026-10-20 09:33:22,499.499 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:33:22,502.502 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:33:22,508.508 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:33:22,514.514 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:33:24,556.556 INFO    ] ================================================
[2026-10-20 09:33:24,573.573 INFO    ] Launching Daemon at Tue Oct 20 09:33:24 IST 2026
[2026-10-20 09:33:24,584.584 INFO    ] ================================================
[2026-10-20 09:33:25,156.156 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:33:25
[2026-10-20 09:33:25,746.746 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:33:26,023.023 INFO    ] Initializing speech engine...
[2026-10-20 09:33:26,028.028 INFO    ] 2026-10-20 09:33:26
[2026-10-20 09:33:26,273.273 INFO    ] 2026-10-20 09:33:26
[2026-10-20 09:33:26,309.309 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:33:26,570.570 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:33:26,580.580 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:33:26,788.788 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:33:26,846.846 INFO    ] time= 20/10/2026 09:33:26
[2026-10-20 09:33:26,853.853 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:33:26,871.871 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:33:26,994.994 INFO    ] No existing commands found in stream
[2026-10-20 09:33:32,011.011 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:33:32,014.014 INFO    ] Waiting 2.95 seconds before fallback handling...
[2026-10-20 09:33:35,464.464 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:33:35,466.466 INFO    ] Checking for system updates...
[2026-10-20 09:33:35,502.502 INFO    ] 200
[2026-10-20 09:33:35,504.504 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:33:35,560.560 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:33:35,563.563 INFO    ] No update needed
[2026-10-20 09:33:35,566.566 INFO    ] Checking for camera pi updates...
[2026-10-20 09:33:35,600.600 INFO    ] 200
[2026-10-20 09:33:35,603.603 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:33:35,646.646 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:33:35,696.696 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:33:35,699.699 INFO    ] No camera update needed
[2026-10-20 09:33:35,701.701 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:33:35,703.703 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:33:35,709.709 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:33:35,714.714 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:33:37,754.754 INFO    ] ================================================
[2026-10-20 09:33:37,769.769 INFO    ] Launching Daemon at Tue Oct 20 09:33:37 IST 2026
[2026-10-20 09:33:37,780.780 INFO    ] ================================================
[2026-10-20 09:33:38,352.352 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:33:38
[2026-10-20 09:33:38,943.943 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:33:39,196.196 INFO    ] Initializing speech engine...
[2026-10-20 09:33:39,204.204 INFO    ] 2026-10-20 09:33:39
[2026-10-20 09:33:39,506.506 INFO    ] 2026-10-20 09:33:39
[2026-10-20 09:33:39,544.544 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:33:39,775.775 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:33:39,831.831 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:33:40,005.005 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:33:40,039.039 INFO    ] time= 20/10/2026 09:33:40
[2026-10-20 09:33:40,083.083 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:33:40,132.132 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:33:40,289.289 INFO    ] No existing commands found in stream
[2026-10-20 09:33:45,311.311 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:33:45,314.314 INFO    ] Waiting 1.66 seconds before fallback handling...
[2026-10-20 09:33:47,517.517 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 09:33:47,520.520 INFO    ] Checking for system updates...
[2026-10-20 09:33:47,555.555 INFO    ] 200
[2026-10-20 09:33:47,558.558 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:33:47,610.610 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:33:47,612.612 INFO    ] No update needed
[2026-10-20 09:33:47,614.614 INFO    ] Checking for camera pi updates...
[2026-10-20 09:33:47,649.649 INFO    ] 200
[2026-10-20 09:33:47,652.652 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:33:47,691.691 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:33:47,742.742 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:33:47,744.744 INFO    ] No camera update needed
[2026-10-20 09:33:47,747.747 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:33:47,749.749 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:33:47,754.754 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:33:47,759.759 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:33:49,799.799 INFO    ] ================================================
[2026-10-20 09:33:49,814.814 INFO    ] Launching Daemon at Tue Oct 20 09:33:49 IST 2026
[2026-10-20 09:33:49,826.826 INFO    ] ================================================
[2026-10-20 09:33:50,480.480 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:33:50
[2026-10-20 09:33:51,153.153 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:33:51,457.457 INFO    ] Initializing speech engine...
[2026-10-20 09:33:51,466.466 INFO    ] 2026-10-20 09:33:51
[2026-10-20 09:33:51,786.786 INFO    ] 2026-10-20 09:33:51
[2026-10-20 09:33:51,872.872 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:33:52,087.087 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:33:52,094.094 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:33:52,295.295 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:33:52,302.302 INFO    ] time= 20/10/2026 09:33:52
[2026-10-20 09:33:52,320.320 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:33:52,332.332 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:33:52,466.466 INFO    ] No existing commands found in stream
[2026-10-20 09:33:57,491.491 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:33:57,494.494 INFO    ] Waiting 0.46 seconds before fallback handling...
[2026-10-20 09:33:58,485.485 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:33:58,487.487 INFO    ] Checking for system updates...
[2026-10-20 09:33:58,529.529 INFO    ] 200
[2026-10-20 09:33:58,532.532 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 09:33:58,535.535 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-10-20 09:33:58,537.537 INFO    ] Checking for camera pi updates...
[2026-10-20 09:33:58,577.577 INFO    ] 200
[2026-10-20 09:33:58,580.580 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 09:33:58,582.582 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-10-20 09:33:58,585.585 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:33:58,587.587 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:33:58,593.593 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:33:58,599.599 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:34:00,639.639 INFO    ] ================================================
[2026-10-20 09:34:00,655.655 INFO    ] Launching Daemon at Tue Oct 20 09:34:00 IST 2026
[2026-10-20 09:34:00,665.665 INFO    ] ================================================
[2026-10-20 09:34:01,234.234 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:34:01
[2026-10-20 09:34:01,982.982 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:34:02,288.288 INFO    ] Initializing speech engine...
[2026-10-20 09:34:02,299.299 INFO    ] 2026-10-20 09:34:02
[2026-10-20 09:34:02,610.610 INFO    ] 2026-10-20 09:34:02
[2026-10-20 09:34:02,719.719 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:34:02,956.956 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:34:02,972.972 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:34:03,172.172 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:34:03,212.212 INFO    ] time= 20/10/2026 09:34:03
[2026-10-20 09:34:03,220.220 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:34:03,241.241 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:34:03,372.372 INFO    ] No existing commands found in stream
[2026-10-20 09:34:08,398.398 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:34:08,401.401 INFO    ] Waiting 1.73 seconds before fallback handling...
[2026-10-20 09:34:10,653.653 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:34:10,656.656 INFO    ] Checking for system updates...
[2026-10-20 09:34:10,692.692 INFO    ] 200
[2026-10-20 09:34:10,695.695 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:34:10,753.753 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:34:10,756.756 INFO    ] No update needed
[2026-10-20 09:34:10,759.759 INFO    ] Checking for camera pi updates...
[2026-10-20 09:34:10,800.800 INFO    ] 200
[2026-10-20 09:34:10,803.803 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:34:10,843.843 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:34:10,989.989 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:34:10,992.992 INFO    ] No camera update needed
[2026-10-20 09:34:10,994.994 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:34:10,997.997 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:34:11,003.003 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:34:11,009.009 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:34:13,049.049 INFO    ] ================================================
[2026-10-20 09:34:13,065.065 INFO    ] Launching Daemon at Tue Oct 20 09:34:13 IST 2026
[2026-10-20 09:34:13,076.076 INFO    ] ================================================
[2026-10-20 09:34:13,642.642 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:34:13
[2026-10-20 09:34:14,225.225 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:34:14,484.484 INFO    ] Initializing speech engine...
[2026-10-20 09:34:14,510.510 INFO    ] 2026-10-20 09:34:14
[2026-10-20 09:34:14,779.779 INFO    ] 2026-10-20 09:34:14
[2026-10-20 09:34:14,814.814 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:34:15,032.032 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:34:15,040.040 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:34:15,253.253 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:34:15,263.263 INFO    ] time= 20/10/2026 09:34:15
[2026-10-20 09:34:15,328.328 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:34:15,372.372 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:34:15,530.530 INFO    ] No existing commands found in stream
[2026-10-20 09:34:20,552.552 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:34:20,555.555 INFO    ] Waiting 1.31 seconds before fallback handling...
[2026-10-20 09:34:22,388.388 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 09:34:22,390.390 INFO    ] Checking for system updates...
[2026-10-20 09:34:22,425.425 INFO    ] 200
[2026-10-20 09:34:22,428.428 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:34:22,479.479 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:34:22,481.481 INFO    ] No update needed
[2026-10-20 09:34:22,484.484 INFO    ] Checking for camera pi updates...
[2026-10-20 09:34:22,521.521 INFO    ] 200
[2026-10-20 09:34:22,524.524 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:34:22,563.563 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:34:22,616.616 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:34:22,619.619 INFO    ] No camera update needed
[2026-10-20 09:34:22,621.621 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:34:22,623.623 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:34:22,628.628 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:34:22,633.633 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:34:24,673.673 INFO    ] ================================================
[2026-10-20 09:34:24,689.689 INFO    ] Launching Daemon at Tue Oct 20 09:34:24 IST 2026
[2026-10-20 09:34:24,700.700 INFO    ] ================================================
[2026-10-20 09:34:25,269.269 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:34:25
[2026-10-20 09:34:25,854.854 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:34:26,111.111 INFO    ] Initializing speech engine...
[2026-10-20 09:34:26,117.117 INFO    ] 2026-10-20 09:34:26
[2026-10-20 09:34:26,406.406 INFO    ] 2026-10-20 09:34:26
[2026-10-20 09:34:26,440.440 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:34:26,636.636 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:34:26,652.652 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:34:26,816.816 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:34:26,821.821 INFO    ] time= 20/10/2026 09:34:26
[2026-10-20 09:34:26,827.827 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:34:26,874.874 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:34:27,009.009 INFO    ] No existing commands found in stream
[2026-10-20 09:34:32,039.039 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:34:32,042.042 INFO    ] Waiting 3.92 seconds before fallback handling...
[2026-10-20 09:34:36,443.443 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:34:36,445.445 INFO    ] Checking for system updates...
[2026-10-20 09:34:36,481.481 INFO    ] 200
[2026-10-20 09:34:36,484.484 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:34:36,535.535 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:34:36,537.537 INFO    ] No update needed
[2026-10-20 09:34:36,540.540 INFO    ] Checking for camera pi updates...
[2026-10-20 09:34:36,573.573 INFO    ] 200
[2026-10-20 09:34:36,575.575 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:34:36,615.615 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:34:36,680.680 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:34:36,682.682 INFO    ] No camera update needed
[2026-10-20 09:34:36,684.684 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:34:36,687.687 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:34:36,692.692 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:34:36,697.697 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:34:38,736.736 INFO    ] ================================================
[2026-10-20 09:34:38,751.751 INFO    ] Launching Daemon at Tue Oct 20 09:34:38 IST 2026
[2026-10-20 09:34:38,763.763 INFO    ] ================================================
[2026-10-20 09:34:39,348.348 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:34:39
[2026-10-20 09:34:39,944.944 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:34:40,212.212 INFO    ] Initializing speech engine...
[2026-10-20 09:34:40,221.221 INFO    ] 2026-10-20 09:34:40
[2026-10-20 09:34:40,466.466 INFO    ] 2026-10-20 09:34:40
[2026-10-20 09:34:40,508.508 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:34:40,762.762 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:34:40,767.767 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:34:40,951.951 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:34:41,021.021 INFO    ] time= 20/10/2026 09:34:40
[2026-10-20 09:34:41,032.032 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:34:41,050.050 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:34:41,181.181 INFO    ] No existing commands found in stream
[2026-10-20 09:34:46,195.195 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:34:46,198.198 INFO    ] Waiting 1.21 seconds before fallback handling...
[2026-10-20 09:34:47,866.866 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 09:34:47,869.869 INFO    ] Checking for system updates...
[2026-10-20 09:34:47,904.904 INFO    ] 200
[2026-10-20 09:34:47,906.906 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:34:47,957.957 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:34:47,960.960 INFO    ] No update needed
[2026-10-20 09:34:47,962.962 INFO    ] Checking for camera pi updates...
[2026-10-20 09:34:47,999.999 INFO    ] 200
[2026-10-20 09:34:48,001.001 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:34:48,045.045 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:34:48,092.092 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:34:48,094.094 INFO    ] No camera update needed
[2026-10-20 09:34:48,097.097 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:34:48,099.099 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:34:48,104.104 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:34:48,109.109 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:34:50,150.150 INFO    ] ================================================
[2026-10-20 09:34:50,167.167 INFO    ] Launching Daemon at Tue Oct 20 09:34:50 IST 2026
[2026-10-20 09:34:50,178.178 INFO    ] ================================================
[2026-10-20 09:34:50,758.758 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:34:50
[2026-10-20 09:34:51,355.355 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:34:51,633.633 INFO    ] Initializing speech engine...
[2026-10-20 09:34:51,642.642 INFO    ] 2026-10-20 09:34:51
[2026-10-20 09:34:51,900.900 INFO    ] 2026-10-20 09:34:51
[2026-10-20 09:34:51,931.931 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:34:52,154.154 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:34:52,156.156 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:34:52,384.384 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:34:52,447.447 INFO    ] time= 20/10/2026 09:34:52
[2026-10-20 09:34:52,454.454 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:34:52,469.469 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:34:52,597.597 INFO    ] No existing commands found in stream
[2026-10-20 09:34:57,613.613 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:34:57,616.616 INFO    ] Waiting 0.83 seconds before fallback handling...
[2026-10-20 09:35:00,118.118 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:35:00,121.121 INFO    ] Checking for system updates...
[2026-10-20 09:35:00,158.158 INFO    ] 200
[2026-10-20 09:35:00,161.161 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:35:00,216.216 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:35:00,219.219 INFO    ] No update needed
[2026-10-20 09:35:00,222.222 INFO    ] Checking for camera pi updates...
[2026-10-20 09:35:00,256.256 INFO    ] 200
[2026-10-20 09:35:00,258.258 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:35:00,299.299 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:35:00,348.348 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:35:00,351.351 INFO    ] No camera update needed
[2026-10-20 09:35:00,353.353 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:35:00,356.356 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:35:00,362.362 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:35:00,368.368 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:35:02,415.415 INFO    ] ================================================
[2026-10-20 09:35:02,438.438 INFO    ] Launching Daemon at Tue Oct 20 09:35:02 IST 2026
[2026-10-20 09:35:02,456.456 INFO    ] ================================================
[2026-10-20 09:35:03,227.227 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:35:03
[2026-10-20 09:35:03,878.878 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:35:04,157.157 INFO    ] Initializing speech engine...
[2026-10-20 09:35:04,165.165 INFO    ] 2026-10-20 09:35:04
[2026-10-20 09:35:04,422.422 INFO    ] 2026-10-20 09:35:04
[2026-10-20 09:35:04,452.452 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:35:04,696.696 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:35:04,706.706 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:35:04,905.905 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:35:04,963.963 INFO    ] time= 20/10/2026 09:35:04
[2026-10-20 09:35:04,970.970 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:35:04,991.991 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:35:05,117.117 INFO    ] No existing commands found in stream
[2026-10-20 09:35:10,134.134 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:35:10,137.137 INFO    ] Waiting 2.07 seconds before fallback handling...
[2026-10-20 09:35:12,738.738 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:35:12,741.741 INFO    ] Checking for system updates...
[2026-10-20 09:35:12,776.776 INFO    ] 200
[2026-10-20 09:35:12,778.778 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:35:12,837.837 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:35:12,839.839 INFO    ] No update needed
[2026-10-20 09:35:12,842.842 INFO    ] Checking for camera pi updates...
[2026-10-20 09:35:12,876.876 INFO    ] 200
[2026-10-20 09:35:12,878.878 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:35:12,923.923 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:35:12,992.992 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:35:12,995.995 INFO    ] No camera update needed
[2026-10-20 09:35:12,997.997 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:35:12,999.999 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:35:13,005.005 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:35:13,009.009 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:35:15,051.051 INFO    ] ================================================
[2026-10-20 09:35:15,066.066 INFO    ] Launching Daemon at Tue Oct 20 09:35:15 IST 2026
[2026-10-20 09:35:15,077.077 INFO    ] ================================================
[2026-10-20 09:35:15,642.642 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:35:15
[2026-10-20 09:35:16,225.225 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:35:16,496.496 INFO    ] Initializing speech engine...
[2026-10-20 09:35:16,506.506 INFO    ] 2026-10-20 09:35:16
[2026-10-20 09:35:16,755.755 INFO    ] 2026-10-20 09:35:16
[2026-10-20 09:35:16,790.790 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:35:17,049.049 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:35:17,058.058 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:35:17,196.196 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:35:17,251.251 INFO    ] time= 20/10/2026 09:35:17
[2026-10-20 09:35:17,305.305 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:35:17,331.331 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:35:17,472.472 INFO    ] No existing commands found in stream
[2026-10-20 09:35:22,495.495 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:35:22,497.497 INFO    ] Waiting 2.59 seconds before fallback handling...
[2026-10-20 09:35:25,632.632 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:35:25,635.635 INFO    ] Checking for system updates...
[2026-10-20 09:35:25,673.673 INFO    ] 200
[2026-10-20 09:35:25,676.676 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:35:25,728.728 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:35:25,730.730 INFO    ] No update needed
[2026-10-20 09:35:25,733.733 INFO    ] Checking for camera pi updates...
[2026-10-20 09:35:25,769.769 INFO    ] 200
[2026-10-20 09:35:25,772.772 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:35:25,813.813 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:35:25,858.858 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:35:25,860.860 INFO    ] No camera update needed
[2026-10-20 09:35:25,862.862 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:35:25,865.865 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:35:25,870.870 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:35:25,875.875 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:35:27,916.916 INFO    ] ================================================
[2026-10-20 09:35:27,932.932 INFO    ] Launching Daemon at Tue Oct 20 09:35:27 IST 2026
[2026-10-20 09:35:27,942.942 INFO    ] ================================================
[2026-10-20 09:35:28,508.508 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:35:28
[2026-10-20 09:35:29,093.093 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:35:29,344.344 INFO    ] Initializing speech engine...
[2026-10-20 09:35:29,356.356 INFO    ] 2026-10-20 09:35:29
[2026-10-20 09:35:29,624.624 INFO    ] 2026-10-20 09:35:29
[2026-10-20 09:35:29,658.658 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:35:29,917.917 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:35:29,926.926 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:35:30,130.130 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:35:30,184.184 INFO    ] time= 20/10/2026 09:35:30
[2026-10-20 09:35:30,199.199 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:35:30,217.217 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:35:30,349.349 INFO    ] No existing commands found in stream
[2026-10-20 09:35:35,363.363 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:35:35,366.366 INFO    ] Waiting 1.05 seconds before fallback handling...
[2026-10-20 09:35:36,900.900 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:35:36,902.902 INFO    ] Checking for system updates...
[2026-10-20 09:35:36,937.937 INFO    ] 200
[2026-10-20 09:35:36,940.940 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:35:36,993.993 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:35:36,995.995 INFO    ] No update needed
[2026-10-20 09:35:36,997.997 INFO    ] Checking for camera pi updates...
[2026-10-20 09:35:37,032.032 INFO    ] 200
[2026-10-20 09:35:37,034.034 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:35:37,074.074 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:35:37,123.123 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:35:37,125.125 INFO    ] No camera update needed
[2026-10-20 09:35:37,128.128 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:35:37,130.130 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:35:37,135.135 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:35:37,140.140 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:35:39,180.180 INFO    ] ================================================
[2026-10-20 09:35:39,194.194 INFO    ] Launching Daemon at Tue Oct 20 09:35:39 IST 2026
[2026-10-20 09:35:39,205.205 INFO    ] ================================================
[2026-10-20 09:35:39,787.787 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:35:39
[2026-10-20 09:35:40,386.386 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:35:40,664.664 INFO    ] Initializing speech engine...
[2026-10-20 09:35:40,671.671 INFO    ] 2026-10-20 09:35:40
[2026-10-20 09:35:40,923.923 INFO    ] 2026-10-20 09:35:40
[2026-10-20 09:35:40,966.966 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:35:41,218.218 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:35:41,223.223 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:35:41,457.457 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:35:41,480.480 INFO    ] time= 20/10/2026 09:35:41
[2026-10-20 09:35:41,496.496 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:35:41,505.505 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:35:41,635.635 INFO    ] No existing commands found in stream
[2026-10-20 09:35:46,657.657 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:35:46,660.660 INFO    ] Waiting 1.05 seconds before fallback handling...
[2026-10-20 09:35:48,213.213 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 09:35:48,216.216 INFO    ] Checking for system updates...
[2026-10-20 09:35:48,254.254 INFO    ] 200
[2026-10-20 09:35:48,257.257 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:35:48,331.331 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:35:48,333.333 INFO    ] No update needed
[2026-10-20 09:35:48,336.336 INFO    ] Checking for camera pi updates...
[2026-10-20 09:35:48,376.376 INFO    ] 200
[2026-10-20 09:35:48,379.379 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:35:48,422.422 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:35:48,480.480 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:35:48,483.483 INFO    ] No camera update needed
[2026-10-20 09:35:48,486.486 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:35:48,489.489 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:35:48,495.495 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:35:48,500.500 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:35:50,547.547 INFO    ] ================================================
[2026-10-20 09:35:50,564.564 INFO    ] Launching Daemon at Tue Oct 20 09:35:50 IST 2026
[2026-10-20 09:35:50,575.575 INFO    ] ================================================
[2026-10-20 09:35:51,161.161 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:35:51
[2026-10-20 09:35:51,762.762 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:35:52,062.062 INFO    ] Initializing speech engine...
[2026-10-20 09:35:52,071.071 INFO    ] 2026-10-20 09:35:52
[2026-10-20 09:35:52,334.334 INFO    ] 2026-10-20 09:35:52
[2026-10-20 09:35:52,385.385 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:35:52,632.632 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:35:52,643.643 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:35:52,799.799 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:35:52,847.847 INFO    ] time= 20/10/2026 09:35:52
[2026-10-20 09:35:52,896.896 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:35:52,954.954 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:35:53,025.025 INFO    ] No existing commands found in stream
[2026-10-20 09:35:58,041.041 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:35:58,044.044 INFO    ] Waiting 1.52 seconds before fallback handling...
[2026-10-20 09:36:00,074.074 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 09:36:00,077.077 INFO    ] Checking for system updates...
[2026-10-20 09:36:00,113.113 INFO    ] 200
[2026-10-20 09:36:00,116.116 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:36:00,174.174 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:36:00,176.176 INFO    ] No update needed
[2026-10-20 09:36:00,179.179 INFO    ] Checking for camera pi updates...
[2026-10-20 09:36:00,212.212 INFO    ] 200
[2026-10-20 09:36:00,215.215 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:36:00,260.260 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:36:00,303.303 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:36:00,306.306 INFO    ] No camera update needed
[2026-10-20 09:36:00,308.308 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:36:00,311.311 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:36:00,316.316 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:36:00,321.321 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:36:02,366.366 INFO    ] ================================================
[2026-10-20 09:36:02,383.383 INFO    ] Launching Daemon at Tue Oct 20 09:36:02 IST 2026
[2026-10-20 09:36:02,396.396 INFO    ] ================================================
[2026-10-20 09:36:03,042.042 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:36:03
[2026-10-20 09:36:03,762.762 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:36:04,079.079 INFO    ] Initializing speech engine...
[2026-10-20 09:36:04,090.090 INFO    ] 2026-10-20 09:36:04
[2026-10-20 09:36:04,376.376 INFO    ] 2026-10-20 09:36:04
[2026-10-20 09:36:04,422.422 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:36:04,656.656 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:36:04,663.663 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:36:04,890.890 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:36:04,929.929 INFO    ] time= 20/10/2026 09:36:04
[2026-10-20 09:36:04,947.947 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:36:04,955.955 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:36:05,084.084 INFO    ] No existing commands found in stream
[2026-10-20 09:36:10,101.101 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:36:10,105.105 INFO    ] Waiting 2.87 seconds before fallback handling...
[2026-10-20 09:36:13,490.490 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 09:36:13,493.493 INFO    ] Checking for system updates...
[2026-10-20 09:36:13,530.530 INFO    ] 200
[2026-10-20 09:36:13,533.533 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:36:13,590.590 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:36:13,592.592 INFO    ] No update needed
[2026-10-20 09:36:13,595.595 INFO    ] Checking for camera pi updates...
[2026-10-20 09:36:13,630.630 INFO    ] 200
[2026-10-20 09:36:13,633.633 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:36:13,679.679 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:36:13,834.834 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:36:13,836.836 INFO    ] No camera update needed
[2026-10-20 09:36:13,839.839 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:36:13,841.841 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:36:13,846.846 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:36:13,852.852 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:36:15,893.893 INFO    ] ================================================
[2026-10-20 09:36:15,908.908 INFO    ] Launching Daemon at Tue Oct 20 09:36:15 IST 2026
[2026-10-20 09:36:15,919.919 INFO    ] ================================================
[2026-10-20 09:36:16,503.503 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:36:16
[2026-10-20 09:36:17,103.103 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:36:17,383.383 INFO    ] Initializing speech engine...
[2026-10-20 09:36:17,391.391 INFO    ] 2026-10-20 09:36:17
[2026-10-20 09:36:17,663.663 INFO    ] 2026-10-20 09:36:17
[2026-10-20 09:36:17,708.708 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:36:17,987.987 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:36:17,995.995 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:36:18,193.193 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:36:18,208.208 INFO    ] time= 20/10/2026 09:36:18
[2026-10-20 09:36:18,215.215 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:36:18,244.244 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:36:18,361.361 INFO    ] No existing commands found in stream
[2026-10-20 09:36:23,396.396 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:36:23,400.400 INFO    ] Waiting 3.04 seconds before fallback handling...
[2026-10-20 09:36:27,002.002 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:36:27,005.005 INFO    ] Checking for system updates...
[2026-10-20 09:36:27,047.047 INFO    ] 200
[2026-10-20 09:36:27,050.050 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:36:27,115.115 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:36:27,118.118 INFO    ] No update needed
[2026-10-20 09:36:27,121.121 INFO    ] Checking for camera pi updates...
[2026-10-20 09:36:27,157.157 INFO    ] 200
[2026-10-20 09:36:27,160.160 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:36:27,207.207 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:36:27,260.260 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:36:27,263.263 INFO    ] No camera update needed
[2026-10-20 09:36:27,265.265 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:36:27,268.268 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:36:27,275.275 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:36:27,281.281 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:36:29,323.323 INFO    ] ================================================
[2026-10-20 09:36:29,339.339 INFO    ] Launching Daemon at Tue Oct 20 09:36:29 IST 2026
[2026-10-20 09:36:29,351.351 INFO    ] ================================================
[2026-10-20 09:36:29,917.917 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:36:29
[2026-10-20 09:36:30,523.523 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:36:30,802.802 INFO    ] Initializing speech engine...
[2026-10-20 09:36:30,809.809 INFO    ] 2026-10-20 09:36:30
[2026-10-20 09:36:31,057.057 INFO    ] 2026-10-20 09:36:31
[2026-10-20 09:36:31,093.093 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:36:31,346.346 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:36:31,355.355 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:36:31,489.489 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:36:31,549.549 INFO    ] time= 20/10/2026 09:36:31
[2026-10-20 09:36:31,603.603 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:36:31,622.622 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:36:31,749.749 INFO    ] No existing commands found in stream
[2026-10-20 09:36:36,774.774 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:36:36,777.777 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-10-20 09:36:39,310.310 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:36:39,313.313 INFO    ] Checking for system updates...
[2026-10-20 09:36:39,348.348 INFO    ] 200
[2026-10-20 09:36:39,351.351 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:36:39,404.404 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:36:39,407.407 INFO    ] No update needed
[2026-10-20 09:36:39,409.409 INFO    ] Checking for camera pi updates...
[2026-10-20 09:36:39,451.451 INFO    ] 200
[2026-10-20 09:36:39,454.454 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:36:39,495.495 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:36:39,540.540 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:36:39,543.543 INFO    ] No camera update needed
[2026-10-20 09:36:39,545.545 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:36:39,547.547 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:36:39,553.553 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:36:39,558.558 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:36:41,600.600 INFO    ] ================================================
[2026-10-20 09:36:41,616.616 INFO    ] Launching Daemon at Tue Oct 20 09:36:41 IST 2026
[2026-10-20 09:36:41,628.628 INFO    ] ================================================
[2026-10-20 09:36:42,194.194 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:36:42
[2026-10-20 09:36:42,781.781 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:36:43,029.029 INFO    ] Initializing speech engine...
[2026-10-20 09:36:43,043.043 INFO    ] 2026-10-20 09:36:43
[2026-10-20 09:36:43,305.305 INFO    ] 2026-10-20 09:36:43
[2026-10-20 09:36:43,342.342 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:36:43,561.561 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:36:43,579.579 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:36:43,739.739 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:36:43,748.748 INFO    ] time= 20/10/2026 09:36:43
[2026-10-20 09:36:43,775.775 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:36:43,819.819 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:36:43,963.963 INFO    ] No existing commands found in stream
[2026-10-20 09:36:48,985.985 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:36:48,987.987 INFO    ] Waiting 1.12 seconds before fallback handling...
[2026-10-20 09:36:50,631.631 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:36:50,633.633 INFO    ] Checking for system updates...
[2026-10-20 09:36:50,669.669 INFO    ] 200
[2026-10-20 09:36:50,672.672 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:36:50,727.727 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:36:50,729.729 INFO    ] No update needed
[2026-10-20 09:36:50,732.732 INFO    ] Checking for camera pi updates...
[2026-10-20 09:36:50,767.767 INFO    ] 200
[2026-10-20 09:36:50,769.769 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:36:50,813.813 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:36:50,864.864 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:36:50,866.866 INFO    ] No camera update needed
[2026-10-20 09:36:50,869.869 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:36:50,871.871 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:36:50,877.877 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:36:50,882.882 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:36:52,923.923 INFO    ] ================================================
[2026-10-20 09:36:52,939.939 INFO    ] Launching Daemon at Tue Oct 20 09:36:52 IST 2026
[2026-10-20 09:36:52,950.950 INFO    ] ================================================
[2026-10-20 09:36:53,538.538 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:36:53
[2026-10-20 09:36:54,142.142 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:36:54,420.420 INFO    ] Initializing speech engine...
[2026-10-20 09:36:54,429.429 INFO    ] 2026-10-20 09:36:54
[2026-10-20 09:36:54,687.687 INFO    ] 2026-10-20 09:36:54
[2026-10-20 09:36:54,718.718 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:36:54,966.966 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:36:54,973.973 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:36:55,192.192 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:36:55,226.226 INFO    ] time= 20/10/2026 09:36:55
[2026-10-20 09:36:55,232.232 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:36:55,250.250 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:36:55,381.381 INFO    ] No existing commands found in stream
[2026-10-20 09:37:00,404.404 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:37:00,407.407 INFO    ] Waiting 0.58 seconds before fallback handling...
[2026-10-20 09:37:01,551.551 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:37:01,554.554 INFO    ] Checking for system updates...
[2026-10-20 09:37:01,592.592 INFO    ] 200
[2026-10-20 09:37:01,595.595 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:37:01,657.657 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:37:01,661.661 INFO    ] No update needed
[2026-10-20 09:37:01,664.664 INFO    ] Checking for camera pi updates...
[2026-10-20 09:37:01,706.706 INFO    ] 200
[2026-10-20 09:37:01,709.709 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:37:01,793.793 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:37:01,863.863 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:37:01,869.869 INFO    ] No camera update needed
[2026-10-20 09:37:01,873.873 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:37:01,879.879 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:37:01,891.891 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:37:01,901.901 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:37:03,950.950 INFO    ] ================================================
[2026-10-20 09:37:03,966.966 INFO    ] Launching Daemon at Tue Oct 20 09:37:03 IST 2026
[2026-10-20 09:37:03,978.978 INFO    ] ================================================
[2026-10-20 09:37:04,564.564 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:37:04
[2026-10-20 09:37:05,166.166 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:37:05,442.442 INFO    ] Initializing speech engine...
[2026-10-20 09:37:05,451.451 INFO    ] 2026-10-20 09:37:05
[2026-10-20 09:37:05,701.701 INFO    ] 2026-10-20 09:37:05
[2026-10-20 09:37:05,737.737 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:37:05,989.989 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:37:05,998.998 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:37:06,202.202 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:37:06,258.258 INFO    ] time= 20/10/2026 09:37:06
[2026-10-20 09:37:06,264.264 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:37:06,280.280 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:37:06,437.437 INFO    ] No existing commands found in stream
[2026-10-20 09:37:11,462.462 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:37:11,465.465 INFO    ] Waiting 1.19 seconds before fallback handling...
[2026-10-20 09:37:13,160.160 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:37:13,163.163 INFO    ] Checking for system updates...
[2026-10-20 09:37:13,198.198 INFO    ] 200
[2026-10-20 09:37:13,201.201 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:37:13,252.252 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:37:13,255.255 INFO    ] No update needed
[2026-10-20 09:37:13,257.257 INFO    ] Checking for camera pi updates...
[2026-10-20 09:37:13,291.291 INFO    ] 200
[2026-10-20 09:37:13,294.294 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:37:13,340.340 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:37:13,389.389 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:37:13,392.392 INFO    ] No camera update needed
[2026-10-20 09:37:13,394.394 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:37:13,396.396 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:37:13,402.402 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:37:13,408.408 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:37:15,447.447 INFO    ] ================================================
[2026-10-20 09:37:15,463.463 INFO    ] Launching Daemon at Tue Oct 20 09:37:15 IST 2026
[2026-10-20 09:37:15,473.473 INFO    ] ================================================
[2026-10-20 09:37:16,057.057 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:37:16
[2026-10-20 09:37:16,659.659 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:37:16,932.932 INFO    ] Initializing speech engine...
[2026-10-20 09:37:16,941.941 INFO    ] 2026-10-20 09:37:16
[2026-10-20 09:37:17,191.191 INFO    ] 2026-10-20 09:37:17
[2026-10-20 09:37:17,226.226 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:37:17,481.481 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:37:17,487.487 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:37:17,710.710 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:37:17,745.745 INFO    ] time= 20/10/2026 09:37:17
[2026-10-20 09:37:17,751.751 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:37:17,770.770 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:37:17,903.903 INFO    ] No existing commands found in stream
[2026-10-20 09:37:22,915.915 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:37:22,918.918 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-10-20 09:37:28,509.509 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:37:28,511.511 INFO    ] Checking for system updates...
[2026-10-20 09:37:28,548.548 INFO    ] 200
[2026-10-20 09:37:28,550.550 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:37:28,602.602 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:37:28,605.605 INFO    ] No update needed
[2026-10-20 09:37:28,607.607 INFO    ] Checking for camera pi updates...
[2026-10-20 09:37:28,641.641 INFO    ] 200
[2026-10-20 09:37:28,644.644 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:37:28,684.684 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:37:28,731.731 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:37:28,734.734 INFO    ] No camera update needed
[2026-10-20 09:37:28,736.736 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:37:28,739.739 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:37:28,744.744 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:37:28,749.749 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:37:30,789.789 INFO    ] ================================================
[2026-10-20 09:37:30,803.803 INFO    ] Launching Daemon at Tue Oct 20 09:37:30 IST 2026
[2026-10-20 09:37:30,814.814 INFO    ] ================================================
[2026-10-20 09:37:31,485.485 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:37:31
[2026-10-20 09:37:32,166.166 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:37:32,447.447 INFO    ] Initializing speech engine...
[2026-10-20 09:37:32,462.462 INFO    ] 2026-10-20 09:37:32
[2026-10-20 09:37:32,789.789 INFO    ] 2026-10-20 09:37:32
[2026-10-20 09:37:32,826.826 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:37:33,075.075 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:37:33,085.085 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:37:33,241.241 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:37:33,251.251 INFO    ] time= 20/10/2026 09:37:33
[2026-10-20 09:37:33,258.258 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:37:33,271.271 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:37:33,417.417 INFO    ] No existing commands found in stream
[2026-10-20 09:37:38,437.437 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:37:38,440.440 INFO    ] Waiting 0.42 seconds before fallback handling...
[2026-10-20 09:37:39,370.370 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 09:37:39,373.373 INFO    ] Checking for system updates...
[2026-10-20 09:37:39,408.408 INFO    ] 200
[2026-10-20 09:37:39,411.411 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:37:39,465.465 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:37:39,467.467 INFO    ] No update needed
[2026-10-20 09:37:39,470.470 INFO    ] Checking for camera pi updates...
[2026-10-20 09:37:39,503.503 INFO    ] 200
[2026-10-20 09:37:39,505.505 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:37:39,550.550 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:37:39,606.606 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:37:39,609.609 INFO    ] No camera update needed
[2026-10-20 09:37:39,611.611 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:37:39,613.613 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:37:39,619.619 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:37:39,624.624 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:37:41,664.664 INFO    ] ================================================
[2026-10-20 09:37:41,679.679 INFO    ] Launching Daemon at Tue Oct 20 09:37:41 IST 2026
[2026-10-20 09:37:41,691.691 INFO    ] ================================================
[2026-10-20 09:37:42,358.358 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:37:42
[2026-10-20 09:37:43,045.045 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:37:43,350.350 INFO    ] Initializing speech engine...
[2026-10-20 09:37:43,356.356 INFO    ] 2026-10-20 09:37:43
[2026-10-20 09:37:43,650.650 INFO    ] 2026-10-20 09:37:43
[2026-10-20 09:37:43,697.697 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:37:43,966.966 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:37:43,974.974 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:37:44,178.178 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:37:44,212.212 INFO    ] time= 20/10/2026 09:37:44
[2026-10-20 09:37:44,229.229 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:37:44,240.240 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:37:44,370.370 INFO    ] No existing commands found in stream
[2026-10-20 09:37:49,399.399 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:37:49,403.403 INFO    ] Waiting 0.15 seconds before fallback handling...
[2026-10-20 09:37:50,027.027 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:37:50,031.031 INFO    ] Checking for system updates...
[2026-10-20 09:37:50,067.067 INFO    ] 200
[2026-10-20 09:37:50,070.070 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:37:50,123.123 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:37:50,126.126 INFO    ] No update needed
[2026-10-20 09:37:50,129.129 INFO    ] Checking for camera pi updates...
[2026-10-20 09:37:50,163.163 INFO    ] 200
[2026-10-20 09:37:50,166.166 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:37:50,212.212 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:37:50,259.259 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:37:50,262.262 INFO    ] No camera update needed
[2026-10-20 09:37:50,264.264 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:37:50,266.266 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:37:50,272.272 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:37:50,276.276 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:37:52,316.316 INFO    ] ================================================
[2026-10-20 09:37:52,331.331 INFO    ] Launching Daemon at Tue Oct 20 09:37:52 IST 2026
[2026-10-20 09:37:52,343.343 INFO    ] ================================================
[2026-10-20 09:37:52,909.909 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:37:52
[2026-10-20 09:37:53,514.514 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:37:53,777.777 INFO    ] Initializing speech engine...
[2026-10-20 09:37:53,784.784 INFO    ] 2026-10-20 09:37:53
[2026-10-20 09:37:54,085.085 INFO    ] 2026-10-20 09:37:54
[2026-10-20 09:37:54,124.124 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:37:54,325.325 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:37:54,342.342 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:37:54,510.510 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:37:54,516.516 INFO    ] time= 20/10/2026 09:37:54
[2026-10-20 09:37:54,523.523 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:37:54,571.571 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:37:54,710.710 INFO    ] No existing commands found in stream
[2026-10-20 09:37:59,740.740 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:37:59,743.743 INFO    ] Waiting 1.48 seconds before fallback handling...
[2026-10-20 09:38:01,752.752 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:38:01,756.756 INFO    ] Checking for system updates...
[2026-10-20 09:38:01,823.823 INFO    ] 200
[2026-10-20 09:38:01,827.827 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:38:01,920.920 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:38:01,924.924 INFO    ] No update needed
[2026-10-20 09:38:01,931.931 INFO    ] Checking for camera pi updates...
[2026-10-20 09:38:01,984.984 INFO    ] 200
[2026-10-20 09:38:01,988.988 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:38:02,055.055 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:38:02,098.098 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:38:02,101.101 INFO    ] No camera update needed
[2026-10-20 09:38:02,105.105 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:38:02,109.109 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:38:02,117.117 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:38:02,124.124 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:38:04,166.166 INFO    ] ================================================
[2026-10-20 09:38:04,182.182 INFO    ] Launching Daemon at Tue Oct 20 09:38:04 IST 2026
[2026-10-20 09:38:04,193.193 INFO    ] ================================================
[2026-10-20 09:38:04,764.764 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:38:04
[2026-10-20 09:38:05,351.351 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:38:05,612.612 INFO    ] Initializing speech engine...
[2026-10-20 09:38:05,630.630 INFO    ] 2026-10-20 09:38:05
[2026-10-20 09:38:05,882.882 INFO    ] 2026-10-20 09:38:05
[2026-10-20 09:38:05,917.917 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:38:06,174.174 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:38:06,184.184 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:38:06,393.393 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:38:06,448.448 INFO    ] time= 20/10/2026 09:38:06
[2026-10-20 09:38:06,455.455 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:38:06,473.473 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:38:06,608.608 INFO    ] No existing commands found in stream
[2026-10-20 09:38:11,627.627 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:38:11,630.630 INFO    ] Waiting 1.34 seconds before fallback handling...
[2026-10-20 09:38:13,499.499 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:38:13,502.502 INFO    ] Checking for system updates...
[2026-10-20 09:38:13,543.543 INFO    ] 200
[2026-10-20 09:38:13,545.545 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:38:13,602.602 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:38:13,605.605 INFO    ] No update needed
[2026-10-20 09:38:13,607.607 INFO    ] Checking for camera pi updates...
[2026-10-20 09:38:13,645.645 INFO    ] 200
[2026-10-20 09:38:13,648.648 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:38:13,693.693 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:38:13,744.744 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:38:13,747.747 INFO    ] No camera update needed
[2026-10-20 09:38:13,750.750 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:38:13,752.752 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:38:13,758.758 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:38:13,764.764 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:38:15,806.806 INFO    ] ================================================
[2026-10-20 09:38:15,821.821 INFO    ] Launching Daemon at Tue Oct 20 09:38:15 IST 2026
[2026-10-20 09:38:15,832.832 INFO    ] ================================================
[2026-10-20 09:38:16,413.413 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:38:16
[2026-10-20 09:38:17,012.012 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:38:17,277.277 INFO    ] Initializing speech engine...
[2026-10-20 09:38:17,292.292 INFO    ] 2026-10-20 09:38:17
[2026-10-20 09:38:17,577.577 INFO    ] 2026-10-20 09:38:17
[2026-10-20 09:38:17,615.615 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:38:17,841.841 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:38:17,866.866 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:38:18,067.067 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:38:18,079.079 INFO    ] time= 20/10/2026 09:38:18
[2026-10-20 09:38:18,123.123 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:38:18,167.167 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:38:18,276.276 INFO    ] No existing commands found in stream
[2026-10-20 09:38:23,289.289 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:38:23,292.292 INFO    ] Waiting 3.49 seconds before fallback handling...
[2026-10-20 09:38:27,263.263 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:38:27,271.271 INFO    ] Checking for system updates...
[2026-10-20 09:38:27,306.306 INFO    ] 200
[2026-10-20 09:38:27,309.309 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:38:27,361.361 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:38:27,363.363 INFO    ] No update needed
[2026-10-20 09:38:27,365.365 INFO    ] Checking for camera pi updates...
[2026-10-20 09:38:27,402.402 INFO    ] 200
[2026-10-20 09:38:27,405.405 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:38:27,446.446 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:38:27,602.602 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:38:27,605.605 INFO    ] No camera update needed
[2026-10-20 09:38:27,607.607 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:38:27,609.609 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:38:27,615.615 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:38:27,619.619 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:38:29,659.659 INFO    ] ================================================
[2026-10-20 09:38:29,674.674 INFO    ] Launching Daemon at Tue Oct 20 09:38:29 IST 2026
[2026-10-20 09:38:29,685.685 INFO    ] ================================================
[2026-10-20 09:38:30,250.250 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:38:30
[2026-10-20 09:38:30,850.850 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:38:31,122.122 INFO    ] Initializing speech engine...
[2026-10-20 09:38:31,131.131 INFO    ] 2026-10-20 09:38:31
[2026-10-20 09:38:31,405.405 INFO    ] 2026-10-20 09:38:31
[2026-10-20 09:38:31,461.461 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:38:31,691.691 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:38:31,712.712 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:38:31,916.916 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:38:31,976.976 INFO    ] time= 20/10/2026 09:38:31
[2026-10-20 09:38:32,022.022 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:38:32,041.041 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:38:32,204.204 INFO    ] No existing commands found in stream
[2026-10-20 09:38:37,241.241 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:38:37,244.244 INFO    ] Waiting 2.04 seconds before fallback handling...
[2026-10-20 09:38:39,780.780 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:38:39,783.783 INFO    ] Checking for system updates...
[2026-10-20 09:38:39,823.823 INFO    ] 200
[2026-10-20 09:38:39,826.826 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:38:39,886.886 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:38:39,889.889 INFO    ] No update needed
[2026-10-20 09:38:39,892.892 INFO    ] Checking for camera pi updates...
[2026-10-20 09:38:39,927.927 INFO    ] 200
[2026-10-20 09:38:39,931.931 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:38:39,977.977 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:38:40,014.014 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:38:40,016.016 INFO    ] No camera update needed
[2026-10-20 09:38:40,019.019 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:38:40,022.022 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:38:40,028.028 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:38:40,034.034 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:38:42,073.073 INFO    ] ================================================
[2026-10-20 09:38:42,089.089 INFO    ] Launching Daemon at Tue Oct 20 09:38:42 IST 2026
[2026-10-20 09:38:42,099.099 INFO    ] ================================================
[2026-10-20 09:38:42,754.754 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:38:42
[2026-10-20 09:38:43,429.429 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:38:43,734.734 INFO    ] Initializing speech engine...
[2026-10-20 09:38:43,741.741 INFO    ] 2026-10-20 09:38:43
[2026-10-20 09:38:44,022.022 INFO    ] 2026-10-20 09:38:44
[2026-10-20 09:38:44,063.063 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:38:44,314.314 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:38:44,321.321 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:38:44,523.523 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:38:44,575.575 INFO    ] time= 20/10/2026 09:38:44
[2026-10-20 09:38:44,582.582 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:38:44,601.601 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:38:44,730.730 INFO    ] No existing commands found in stream
[2026-10-20 09:38:49,749.749 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:38:49,753.753 INFO    ] Waiting 3.86 seconds before fallback handling...
[2026-10-20 09:38:54,167.167 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:38:54,170.170 INFO    ] Checking for system updates...
[2026-10-20 09:38:54,206.206 INFO    ] 200
[2026-10-20 09:38:54,209.209 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:38:54,269.269 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:38:54,272.272 INFO    ] No update needed
[2026-10-20 09:38:54,275.275 INFO    ] Checking for camera pi updates...
[2026-10-20 09:38:54,309.309 INFO    ] 200
[2026-10-20 09:38:54,312.312 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:38:54,353.353 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:38:54,404.404 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:38:54,407.407 INFO    ] No camera update needed
[2026-10-20 09:38:54,410.410 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:38:54,412.412 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:38:54,419.419 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:38:54,424.424 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:38:56,464.464 INFO    ] ================================================
[2026-10-20 09:38:56,479.479 INFO    ] Launching Daemon at Tue Oct 20 09:38:56 IST 2026
[2026-10-20 09:38:56,490.490 INFO    ] ================================================
[2026-10-20 09:38:57,152.152 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:38:57
[2026-10-20 09:38:57,833.833 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:38:58,135.135 INFO    ] Initializing speech engine...
[2026-10-20 09:38:58,144.144 INFO    ] 2026-10-20 09:38:58
[2026-10-20 09:38:58,433.433 INFO    ] 2026-10-20 09:38:58
[2026-10-20 09:38:58,471.471 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:38:58,685.685 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:38:58,692.692 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:38:58,910.910 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:38:58,917.917 INFO    ] time= 20/10/2026 09:38:58
[2026-10-20 09:38:58,965.965 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:38:59,019.019 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:38:59,121.121 INFO    ] No existing commands found in stream
[2026-10-20 09:39:04,133.133 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:39:04,136.136 INFO    ] Waiting 4.00 seconds before fallback handling...
[2026-10-20 09:39:08,639.639 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:39:08,642.642 INFO    ] Checking for system updates...
[2026-10-20 09:39:08,677.677 INFO    ] 200
[2026-10-20 09:39:08,680.680 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:39:08,732.732 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:39:08,734.734 INFO    ] No update needed
[2026-10-20 09:39:08,737.737 INFO    ] Checking for camera pi updates...
[2026-10-20 09:39:08,770.770 INFO    ] 200
[2026-10-20 09:39:08,772.772 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:39:08,814.814 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:39:08,860.860 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:39:08,862.862 INFO    ] No camera update needed
[2026-10-20 09:39:08,864.864 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:39:08,867.867 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:39:08,872.872 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:39:08,877.877 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:39:10,917.917 INFO    ] ================================================
[2026-10-20 09:39:10,933.933 INFO    ] Launching Daemon at Tue Oct 20 09:39:10 IST 2026
[2026-10-20 09:39:10,944.944 INFO    ] ================================================
[2026-10-20 09:39:11,523.523 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:39:11
[2026-10-20 09:39:12,124.124 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:39:12,387.387 INFO    ] Initializing speech engine...
[2026-10-20 09:39:12,401.401 INFO    ] 2026-10-20 09:39:12
[2026-10-20 09:39:12,682.682 INFO    ] 2026-10-20 09:39:12
[2026-10-20 09:39:12,720.720 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:39:12,944.944 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:39:13,003.003 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:39:13,168.168 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:39:13,233.233 INFO    ] time= 20/10/2026 09:39:13
[2026-10-20 09:39:13,282.282 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:39:13,315.315 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:39:13,448.448 INFO    ] No existing commands found in stream
[2026-10-20 09:39:18,470.470 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:39:18,473.473 INFO    ] Waiting 0.34 seconds before fallback handling...
[2026-10-20 09:39:19,321.321 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:39:19,324.324 INFO    ] Checking for system updates...
[2026-10-20 09:39:19,359.359 INFO    ] 200
[2026-10-20 09:39:19,361.361 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:39:19,414.414 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:39:19,416.416 INFO    ] No update needed
[2026-10-20 09:39:19,419.419 INFO    ] Checking for camera pi updates...
[2026-10-20 09:39:19,452.452 INFO    ] 200
[2026-10-20 09:39:19,454.454 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:39:19,494.494 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:39:19,542.542 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:39:19,544.544 INFO    ] No camera update needed
[2026-10-20 09:39:19,546.546 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:39:19,549.549 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:39:19,554.554 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:39:19,559.559 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:39:21,598.598 INFO    ] ================================================
[2026-10-20 09:39:21,613.613 INFO    ] Launching Daemon at Tue Oct 20 09:39:21 IST 2026
[2026-10-20 09:39:21,624.624 INFO    ] ================================================
[2026-10-20 09:39:22,204.204 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:39:22
[2026-10-20 09:39:22,802.802 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:39:23,079.079 INFO    ] Initializing speech engine...
[2026-10-20 09:39:23,088.088 INFO    ] 2026-10-20 09:39:23
[2026-10-20 09:39:23,349.349 INFO    ] 2026-10-20 09:39:23
[2026-10-20 09:39:23,379.379 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:39:23,565.565 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:39:23,578.578 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:39:23,741.741 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:39:23,746.746 INFO    ] time= 20/10/2026 09:39:23
[2026-10-20 09:39:23,753.753 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:39:23,796.796 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:39:23,922.922 INFO    ] No existing commands found in stream
[2026-10-20 09:39:28,947.947 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:39:28,950.950 INFO    ] Waiting 2.18 seconds before fallback handling...
[2026-10-20 09:39:31,641.641 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 09:39:31,644.644 INFO    ] Checking for system updates...
[2026-10-20 09:39:31,680.680 INFO    ] 200
[2026-10-20 09:39:31,683.683 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:39:31,734.734 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:39:31,737.737 INFO    ] No update needed
[2026-10-20 09:39:31,739.739 INFO    ] Checking for camera pi updates...
[2026-10-20 09:39:31,774.774 INFO    ] 200
[2026-10-20 09:39:31,776.776 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:39:31,820.820 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:39:31,883.883 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:39:31,886.886 INFO    ] No camera update needed
[2026-10-20 09:39:31,889.889 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:39:31,892.892 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:39:31,899.899 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:39:31,906.906 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:39:33,950.950 INFO    ] ================================================
[2026-10-20 09:39:33,965.965 INFO    ] Launching Daemon at Tue Oct 20 09:39:33 IST 2026
[2026-10-20 09:39:33,976.976 INFO    ] ================================================
[2026-10-20 09:39:34,556.556 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:39:34
[2026-10-20 09:39:35,154.154 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:39:35,410.410 INFO    ] Initializing speech engine...
[2026-10-20 09:39:35,419.419 INFO    ] 2026-10-20 09:39:35
[2026-10-20 09:39:35,711.711 INFO    ] 2026-10-20 09:39:35
[2026-10-20 09:39:35,753.753 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:39:35,989.989 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:39:36,038.038 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:39:36,215.215 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:39:36,244.244 INFO    ] time= 20/10/2026 09:39:36
[2026-10-20 09:39:36,288.288 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:39:36,333.333 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:39:36,425.425 INFO    ] No existing commands found in stream
[2026-10-20 09:39:41,438.438 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:39:41,441.441 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-10-20 09:39:43,029.029 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:39:43,032.032 INFO    ] Checking for system updates...
[2026-10-20 09:39:43,067.067 INFO    ] 200
[2026-10-20 09:39:43,070.070 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:39:43,122.122 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:39:43,125.125 INFO    ] No update needed
[2026-10-20 09:39:43,127.127 INFO    ] Checking for camera pi updates...
[2026-10-20 09:39:43,161.161 INFO    ] 200
[2026-10-20 09:39:43,163.163 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:39:43,203.203 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:39:43,255.255 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:39:43,258.258 INFO    ] No camera update needed
[2026-10-20 09:39:43,260.260 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:39:43,263.263 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:39:43,268.268 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:39:43,273.273 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:39:45,314.314 INFO    ] ================================================
[2026-10-20 09:39:45,329.329 INFO    ] Launching Daemon at Tue Oct 20 09:39:45 IST 2026
[2026-10-20 09:39:45,340.340 INFO    ] ================================================
[2026-10-20 09:39:45,909.909 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:39:45
[2026-10-20 09:39:46,498.498 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:39:46,747.747 INFO    ] Initializing speech engine...
[2026-10-20 09:39:46,756.756 INFO    ] 2026-10-20 09:39:46
[2026-10-20 09:39:47,048.048 INFO    ] 2026-10-20 09:39:47
[2026-10-20 09:39:47,085.085 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:39:47,309.309 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:39:47,374.374 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:39:47,531.531 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:39:47,542.542 INFO    ] time= 20/10/2026 09:39:47
[2026-10-20 09:39:47,592.592 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:39:47,641.641 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:39:47,744.744 INFO    ] No existing commands found in stream
[2026-10-20 09:39:52,756.756 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:39:52,759.759 INFO    ] Waiting 1.77 seconds before fallback handling...
[2026-10-20 09:39:55,048.048 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:39:55,051.051 INFO    ] Checking for system updates...
[2026-10-20 09:39:55,086.086 INFO    ] 200
[2026-10-20 09:39:55,088.088 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:39:55,141.141 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:39:55,144.144 INFO    ] No update needed
[2026-10-20 09:39:55,146.146 INFO    ] Checking for camera pi updates...
[2026-10-20 09:39:55,179.179 INFO    ] 200
[2026-10-20 09:39:55,182.182 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:39:55,221.221 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:39:55,269.269 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:39:55,271.271 INFO    ] No camera update needed
[2026-10-20 09:39:55,273.273 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:39:55,276.276 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:39:55,281.281 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:39:55,286.286 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:39:57,326.326 INFO    ] ================================================
[2026-10-20 09:39:57,340.340 INFO    ] Launching Daemon at Tue Oct 20 09:39:57 IST 2026
[2026-10-20 09:39:57,351.351 INFO    ] ================================================
[2026-10-20 09:39:57,917.917 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:39:57
[2026-10-20 09:39:58,500.500 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:39:58,754.754 INFO    ] Initializing speech engine...
[2026-10-20 09:39:58,767.767 INFO    ] 2026-10-20 09:39:58
[2026-10-20 09:39:59,033.033 INFO    ] 2026-10-20 09:39:59
[2026-10-20 09:39:59,074.074 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:39:59,266.266 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:39:59,274.274 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:39:59,472.472 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:39:59,493.493 INFO    ] time= 20/10/2026 09:39:59
[2026-10-20 09:39:59,558.558 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:39:59,608.608 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:39:59,761.761 INFO    ] No existing commands found in stream
[2026-10-20 09:40:04,774.774 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:40:04,777.777 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-10-20 09:40:07,932.932 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:40:07,934.934 INFO    ] Checking for system updates...
[2026-10-20 09:40:07,971.971 INFO    ] 200
[2026-10-20 09:40:07,973.973 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:40:08,030.030 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:40:08,032.032 INFO    ] No update needed
[2026-10-20 09:40:08,034.034 INFO    ] Checking for camera pi updates...
[2026-10-20 09:40:08,069.069 INFO    ] 200
[2026-10-20 09:40:08,072.072 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:40:08,116.116 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:40:08,160.160 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:40:08,162.162 INFO    ] No camera update needed
[2026-10-20 09:40:08,164.164 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:40:08,167.167 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:40:08,172.172 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:40:08,177.177 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:40:10,216.216 INFO    ] ================================================
[2026-10-20 09:40:10,231.231 INFO    ] Launching Daemon at Tue Oct 20 09:40:10 IST 2026
[2026-10-20 09:40:10,242.242 INFO    ] ================================================
[2026-10-20 09:40:10,881.881 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:40:10
[2026-10-20 09:40:11,541.541 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:40:11,839.839 INFO    ] Initializing speech engine...
[2026-10-20 09:40:11,848.848 INFO    ] 2026-10-20 09:40:11
[2026-10-20 09:40:12,134.134 INFO    ] 2026-10-20 09:40:12
[2026-10-20 09:40:12,180.180 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:40:12,468.468 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:40:12,475.475 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:40:12,673.673 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:40:12,695.695 INFO    ] time= 20/10/2026 09:40:12
[2026-10-20 09:40:12,721.721 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:40:12,729.729 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:40:12,857.857 INFO    ] No existing commands found in stream
[2026-10-20 09:40:17,883.883 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:40:17,886.886 INFO    ] Waiting 3.61 seconds before fallback handling...
[2026-10-20 09:40:22,020.020 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:40:22,023.023 INFO    ] Checking for system updates...
[2026-10-20 09:40:22,060.060 INFO    ] 200
[2026-10-20 09:40:22,063.063 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:40:22,116.116 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:40:22,119.119 INFO    ] No update needed
[2026-10-20 09:40:22,121.121 INFO    ] Checking for camera pi updates...
[2026-10-20 09:40:22,156.156 INFO    ] 200
[2026-10-20 09:40:22,159.159 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:40:22,208.208 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:40:22,257.257 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:40:22,260.260 INFO    ] No camera update needed
[2026-10-20 09:40:22,262.262 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:40:22,264.264 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:40:22,270.270 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:40:22,275.275 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:40:24,314.314 INFO    ] ================================================
[2026-10-20 09:40:24,329.329 INFO    ] Launching Daemon at Tue Oct 20 09:40:24 IST 2026
[2026-10-20 09:40:24,340.340 INFO    ] ================================================
[2026-10-20 09:40:24,925.925 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:40:24
[2026-10-20 09:40:25,527.527 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:40:25,802.802 INFO    ] Initializing speech engine...
[2026-10-20 09:40:25,813.813 INFO    ] 2026-10-20 09:40:25
[2026-10-20 09:40:26,060.060 INFO    ] 2026-10-20 09:40:26
[2026-10-20 09:40:26,126.126 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:40:26,375.375 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:40:26,381.381 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:40:26,577.577 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:40:26,613.613 INFO    ] time= 20/10/2026 09:40:26
[2026-10-20 09:40:26,619.619 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:40:26,637.637 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:40:26,768.768 INFO    ] No existing commands found in stream
[2026-10-20 09:40:31,791.791 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:40:31,794.794 INFO    ] Waiting 2.56 seconds before fallback handling...
[2026-10-20 09:40:34,860.860 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:40:34,862.862 INFO    ] Checking for system updates...
[2026-10-20 09:40:34,898.898 INFO    ] 200
[2026-10-20 09:40:34,901.901 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:40:34,960.960 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:40:34,962.962 INFO    ] No update needed
[2026-10-20 09:40:34,965.965 INFO    ] Checking for camera pi updates...
[2026-10-20 09:40:34,999.999 INFO    ] 200
[2026-10-20 09:40:35,002.002 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:40:35,047.047 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:40:35,077.077 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:40:35,080.080 INFO    ] No camera update needed
[2026-10-20 09:40:35,083.083 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:40:35,086.086 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:40:35,092.092 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:40:35,097.097 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:40:37,138.138 INFO    ] ================================================
[2026-10-20 09:40:37,154.154 INFO    ] Launching Daemon at Tue Oct 20 09:40:37 IST 2026
[2026-10-20 09:40:37,164.164 INFO    ] ================================================
[2026-10-20 09:40:37,802.802 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:40:37
[2026-10-20 09:40:38,461.461 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:40:38,764.764 INFO    ] Initializing speech engine...
[2026-10-20 09:40:38,777.777 INFO    ] 2026-10-20 09:40:38
[2026-10-20 09:40:39,039.039 INFO    ] 2026-10-20 09:40:39
[2026-10-20 09:40:39,082.082 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:40:39,330.330 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:40:39,349.349 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:40:39,565.565 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:40:39,571.571 INFO    ] time= 20/10/2026 09:40:39
[2026-10-20 09:40:39,589.589 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:40:39,611.611 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:40:39,729.729 INFO    ] No existing commands found in stream
[2026-10-20 09:40:44,758.758 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:40:44,761.761 INFO    ] Waiting 3.15 seconds before fallback handling...
[2026-10-20 09:40:48,378.378 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:40:48,381.381 INFO    ] Checking for system updates...
[2026-10-20 09:40:48,417.417 INFO    ] 200
[2026-10-20 09:40:48,419.419 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:40:48,471.471 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:40:48,473.473 INFO    ] No update needed
[2026-10-20 09:40:48,475.475 INFO    ] Checking for camera pi updates...
[2026-10-20 09:40:48,512.512 INFO    ] 200
[2026-10-20 09:40:48,514.514 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:40:48,555.555 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:40:48,594.594 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:40:48,596.596 INFO    ] No camera update needed
[2026-10-20 09:40:48,599.599 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:40:48,601.601 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:40:48,606.606 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:40:48,613.613 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:40:50,653.653 INFO    ] ================================================
[2026-10-20 09:40:50,668.668 INFO    ] Launching Daemon at Tue Oct 20 09:40:50 IST 2026
[2026-10-20 09:40:50,678.678 INFO    ] ================================================
[2026-10-20 09:40:51,256.256 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:40:51
[2026-10-20 09:40:51,859.859 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:40:52,118.118 INFO    ] Initializing speech engine...
[2026-10-20 09:40:52,124.124 INFO    ] 2026-10-20 09:40:52
[2026-10-20 09:40:52,418.418 INFO    ] 2026-10-20 09:40:52
[2026-10-20 09:40:52,457.457 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:40:52,736.736 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:40:52,753.753 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:40:52,906.906 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:40:52,965.965 INFO    ] time= 20/10/2026 09:40:52
[2026-10-20 09:40:53,015.015 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:40:53,053.053 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:40:53,200.200 INFO    ] No existing commands found in stream
[2026-10-20 09:40:58,227.227 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:40:58,230.230 INFO    ] Waiting 0.06 seconds before fallback handling...
[2026-10-20 09:40:58,758.758 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:40:58,760.760 INFO    ] Checking for system updates...
[2026-10-20 09:40:58,796.796 INFO    ] 200
[2026-10-20 09:40:58,798.798 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:40:58,866.866 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:40:58,869.869 INFO    ] No update needed
[2026-10-20 09:40:58,871.871 INFO    ] Checking for camera pi updates...
[2026-10-20 09:40:58,907.907 INFO    ] 200
[2026-10-20 09:40:58,910.910 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:40:58,950.950 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:40:59,007.007 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:40:59,010.010 INFO    ] No camera update needed
[2026-10-20 09:40:59,013.013 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:40:59,015.015 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:40:59,022.022 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:40:59,027.027 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:41:01,068.068 INFO    ] ================================================
[2026-10-20 09:41:01,088.088 INFO    ] Launching Daemon at Tue Oct 20 09:41:01 IST 2026
[2026-10-20 09:41:01,098.098 INFO    ] ================================================
[2026-10-20 09:41:01,682.682 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:41:01
[2026-10-20 09:41:02,401.401 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:41:02,790.790 INFO    ] Initializing speech engine...
[2026-10-20 09:41:02,801.801 INFO    ] 2026-10-20 09:41:02
[2026-10-20 09:41:03,084.084 INFO    ] 2026-10-20 09:41:03
[2026-10-20 09:41:03,121.121 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:41:03,393.393 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:41:03,405.405 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:41:03,583.583 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:41:03,619.619 INFO    ] time= 20/10/2026 09:41:03
[2026-10-20 09:41:03,669.669 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:41:03,719.719 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:41:03,818.818 INFO    ] No existing commands found in stream
[2026-10-20 09:41:08,831.831 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:41:08,834.834 INFO    ] Waiting 3.48 seconds before fallback handling...
[2026-10-20 09:41:12,815.815 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:41:12,817.817 INFO    ] Checking for system updates...
[2026-10-20 09:41:12,857.857 INFO    ] 200
[2026-10-20 09:41:12,859.859 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:41:12,912.912 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:41:12,914.914 INFO    ] No update needed
[2026-10-20 09:41:12,916.916 INFO    ] Checking for camera pi updates...
[2026-10-20 09:41:12,949.949 INFO    ] 200
[2026-10-20 09:41:12,952.952 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:41:12,992.992 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:41:13,040.040 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:41:13,043.043 INFO    ] No camera update needed
[2026-10-20 09:41:13,045.045 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:41:13,047.047 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:41:13,052.052 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:41:13,057.057 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:41:15,097.097 INFO    ] ================================================
[2026-10-20 09:41:15,113.113 INFO    ] Launching Daemon at Tue Oct 20 09:41:15 IST 2026
[2026-10-20 09:41:15,123.123 INFO    ] ================================================
[2026-10-20 09:41:15,789.789 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:41:15
[2026-10-20 09:41:16,465.465 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:41:16,767.767 INFO    ] Initializing speech engine...
[2026-10-20 09:41:16,775.775 INFO    ] 2026-10-20 09:41:16
[2026-10-20 09:41:17,063.063 INFO    ] 2026-10-20 09:41:17
[2026-10-20 09:41:17,108.108 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:41:17,388.388 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:41:17,398.398 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:41:17,586.586 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:41:17,600.600 INFO    ] time= 20/10/2026 09:41:17
[2026-10-20 09:41:17,621.621 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:41:17,650.650 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:41:17,782.782 INFO    ] No existing commands found in stream
[2026-10-20 09:41:22,814.814 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:41:22,817.817 INFO    ] Waiting 0.74 seconds before fallback handling...
[2026-10-20 09:41:24,087.087 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:41:24,090.090 INFO    ] Checking for system updates...
[2026-10-20 09:41:24,126.126 INFO    ] 200
[2026-10-20 09:41:24,129.129 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:41:24,187.187 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:41:24,190.190 INFO    ] No update needed
[2026-10-20 09:41:24,192.192 INFO    ] Checking for camera pi updates...
[2026-10-20 09:41:24,226.226 INFO    ] 200
[2026-10-20 09:41:24,229.229 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:41:24,268.268 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:41:24,318.318 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:41:24,320.320 INFO    ] No camera update needed
[2026-10-20 09:41:24,323.323 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:41:24,325.325 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:41:24,330.330 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:41:24,335.335 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:41:26,375.375 INFO    ] ================================================
[2026-10-20 09:41:26,391.391 INFO    ] Launching Daemon at Tue Oct 20 09:41:26 IST 2026
[2026-10-20 09:41:26,401.401 INFO    ] ================================================
[2026-10-20 09:41:26,986.986 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:41:26
[2026-10-20 09:41:27,588.588 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:41:27,863.863 INFO    ] Initializing speech engine...
[2026-10-20 09:41:27,873.873 INFO    ] 2026-10-20 09:41:27
[2026-10-20 09:41:28,121.121 INFO    ] 2026-10-20 09:41:28
[2026-10-20 09:41:28,163.163 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:41:28,410.410 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:41:28,420.420 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:41:28,559.559 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:41:28,624.624 INFO    ] time= 20/10/2026 09:41:28
[2026-10-20 09:41:28,681.681 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:41:28,688.688 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:41:28,832.832 INFO    ] No existing commands found in stream
[2026-10-20 09:41:33,845.845 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:41:33,848.848 INFO    ] Waiting 2.91 seconds before fallback handling...
[2026-10-20 09:41:37,252.252 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 09:41:37,255.255 INFO    ] Checking for system updates...
[2026-10-20 09:41:37,290.290 INFO    ] 200
[2026-10-20 09:41:37,293.293 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:41:37,351.351 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:41:37,354.354 INFO    ] No update needed
[2026-10-20 09:41:37,356.356 INFO    ] Checking for camera pi updates...
[2026-10-20 09:41:37,389.389 INFO    ] 200
[2026-10-20 09:41:37,392.392 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:41:37,431.431 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:41:37,475.475 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:41:37,478.478 INFO    ] No camera update needed
[2026-10-20 09:41:37,481.481 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:41:37,483.483 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:41:37,488.488 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:41:37,493.493 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:41:39,534.534 INFO    ] ================================================
[2026-10-20 09:41:39,549.549 INFO    ] Launching Daemon at Tue Oct 20 09:41:39 IST 2026
[2026-10-20 09:41:39,560.560 INFO    ] ================================================
[2026-10-20 09:41:40,223.223 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:41:40
[2026-10-20 09:41:40,905.905 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:41:41,213.213 INFO    ] Initializing speech engine...
[2026-10-20 09:41:41,220.220 INFO    ] 2026-10-20 09:41:41
[2026-10-20 09:41:41,499.499 INFO    ] 2026-10-20 09:41:41
[2026-10-20 09:41:41,557.557 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:41:41,816.816 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:41:41,823.823 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:41:42,056.056 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:41:42,116.116 INFO    ] time= 20/10/2026 09:41:42
[2026-10-20 09:41:42,129.129 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:41:42,149.149 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:41:42,265.265 INFO    ] No existing commands found in stream
[2026-10-20 09:41:47,296.296 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:41:47,299.299 INFO    ] Waiting 1.33 seconds before fallback handling...
[2026-10-20 09:41:49,171.171 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:41:49,173.173 INFO    ] Checking for system updates...
[2026-10-20 09:41:49,210.210 INFO    ] 200
[2026-10-20 09:41:49,212.212 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:41:49,272.272 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:41:49,274.274 INFO    ] No update needed
[2026-10-20 09:41:49,276.276 INFO    ] Checking for camera pi updates...
[2026-10-20 09:41:49,310.310 INFO    ] 200
[2026-10-20 09:41:49,313.313 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:41:49,358.358 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:41:49,405.405 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:41:49,407.407 INFO    ] No camera update needed
[2026-10-20 09:41:49,410.410 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:41:49,412.412 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:41:49,417.417 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:41:49,422.422 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:41:51,462.462 INFO    ] ================================================
[2026-10-20 09:41:51,478.478 INFO    ] Launching Daemon at Tue Oct 20 09:41:51 IST 2026
[2026-10-20 09:41:51,488.488 INFO    ] ================================================
[2026-10-20 09:41:52,149.149 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:41:52
[2026-10-20 09:41:52,829.829 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:41:53,142.142 INFO    ] Initializing speech engine...
[2026-10-20 09:41:53,149.149 INFO    ] 2026-10-20 09:41:53
[2026-10-20 09:41:53,434.434 INFO    ] 2026-10-20 09:41:53
[2026-10-20 09:41:53,544.544 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:41:53,821.821 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:41:53,874.874 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:41:54,103.103 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:41:54,171.171 INFO    ] time= 20/10/2026 09:41:54
[2026-10-20 09:41:54,213.213 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:41:54,272.272 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:41:54,411.411 INFO    ] No existing commands found in stream
[2026-10-20 09:41:59,425.425 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:41:59,428.428 INFO    ] Waiting 0.81 seconds before fallback handling...
[2026-10-20 09:42:00,766.766 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 09:42:00,769.769 INFO    ] Checking for system updates...
[2026-10-20 09:42:00,806.806 INFO    ] 200
[2026-10-20 09:42:00,809.809 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:42:00,865.865 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:42:00,868.868 INFO    ] No update needed
[2026-10-20 09:42:00,871.871 INFO    ] Checking for camera pi updates...
[2026-10-20 09:42:00,909.909 INFO    ] 200
[2026-10-20 09:42:00,911.911 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:42:00,952.952 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:42:00,999.999 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:42:01,001.001 INFO    ] No camera update needed
[2026-10-20 09:42:01,004.004 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:42:01,006.006 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:42:01,011.011 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:42:01,016.016 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:42:03,058.058 INFO    ] ================================================
[2026-10-20 09:42:03,073.073 INFO    ] Launching Daemon at Tue Oct 20 09:42:03 IST 2026
[2026-10-20 09:42:03,084.084 INFO    ] ================================================
[2026-10-20 09:42:03,662.662 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:42:03
[2026-10-20 09:42:04,255.255 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:42:04,530.530 INFO    ] Initializing speech engine...
[2026-10-20 09:42:04,540.540 INFO    ] 2026-10-20 09:42:04
[2026-10-20 09:42:04,801.801 INFO    ] 2026-10-20 09:42:04
[2026-10-20 09:42:04,836.836 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:42:05,087.087 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:42:05,097.097 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:42:05,296.296 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:42:05,355.355 INFO    ] time= 20/10/2026 09:42:05
[2026-10-20 09:42:05,368.368 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:42:05,386.386 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:42:05,520.520 INFO    ] No existing commands found in stream
[2026-10-20 09:42:10,533.533 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:42:10,536.536 INFO    ] Waiting 3.98 seconds before fallback handling...
[2026-10-20 09:42:15,034.034 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:42:15,037.037 INFO    ] Checking for system updates...
[2026-10-20 09:42:15,073.073 INFO    ] 200
[2026-10-20 09:42:15,076.076 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:42:15,136.136 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:42:15,138.138 INFO    ] No update needed
[2026-10-20 09:42:15,142.142 INFO    ] Checking for camera pi updates...
[2026-10-20 09:42:15,184.184 INFO    ] 200
[2026-10-20 09:42:15,187.187 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:42:15,227.227 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:42:15,280.280 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:42:15,283.283 INFO    ] No camera update needed
[2026-10-20 09:42:15,286.286 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:42:15,288.288 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:42:15,295.295 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:42:15,301.301 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:42:17,342.342 INFO    ] ================================================
[2026-10-20 09:42:17,357.357 INFO    ] Launching Daemon at Tue Oct 20 09:42:17 IST 2026
[2026-10-20 09:42:17,368.368 INFO    ] ================================================
[2026-10-20 09:42:18,023.023 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:42:18
[2026-10-20 09:42:18,697.697 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:42:19,005.005 INFO    ] Initializing speech engine...
[2026-10-20 09:42:19,016.016 INFO    ] 2026-10-20 09:42:19
[2026-10-20 09:42:19,286.286 INFO    ] 2026-10-20 09:42:19
[2026-10-20 09:42:19,342.342 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:42:19,566.566 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:42:19,570.570 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:42:19,823.823 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:42:19,830.830 INFO    ] time= 20/10/2026 09:42:19
[2026-10-20 09:42:19,848.848 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:42:19,876.876 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:42:19,983.983 INFO    ] No existing commands found in stream
[2026-10-20 09:42:25,003.003 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:42:25,006.006 INFO    ] Waiting 3.50 seconds before fallback handling...
[2026-10-20 09:42:29,027.027 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 09:42:29,031.031 INFO    ] Checking for system updates...
[2026-10-20 09:42:29,072.072 INFO    ] 200
[2026-10-20 09:42:29,075.075 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:42:29,132.132 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:42:29,134.134 INFO    ] No update needed
[2026-10-20 09:42:29,137.137 INFO    ] Checking for camera pi updates...
[2026-10-20 09:42:29,175.175 INFO    ] 200
[2026-10-20 09:42:29,178.178 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:42:29,220.220 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:42:29,267.267 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:42:29,270.270 INFO    ] No camera update needed
[2026-10-20 09:42:29,273.273 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:42:29,275.275 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:42:29,286.286 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:42:29,292.292 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:42:31,335.335 INFO    ] ================================================
[2026-10-20 09:42:31,351.351 INFO    ] Launching Daemon at Tue Oct 20 09:42:31 IST 2026
[2026-10-20 09:42:31,363.363 INFO    ] ================================================
[2026-10-20 09:42:31,957.957 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:42:31
[2026-10-20 09:42:32,568.568 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:42:32,835.835 INFO    ] Initializing speech engine...
[2026-10-20 09:42:32,844.844 INFO    ] 2026-10-20 09:42:32
[2026-10-20 09:42:33,102.102 INFO    ] 2026-10-20 09:42:33
[2026-10-20 09:42:33,153.153 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:42:33,377.377 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:42:33,386.386 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:42:33,525.525 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:42:33,590.590 INFO    ] time= 20/10/2026 09:42:33
[2026-10-20 09:42:33,646.646 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:42:33,653.653 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:42:33,799.799 INFO    ] No existing commands found in stream
[2026-10-20 09:42:38,821.821 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:42:38,823.823 INFO    ] Waiting 1.87 seconds before fallback handling...
[2026-10-20 09:42:41,212.212 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 09:42:41,215.215 INFO    ] Checking for system updates...
[2026-10-20 09:42:41,250.250 INFO    ] 200
[2026-10-20 09:42:41,252.252 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:42:41,311.311 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:42:41,313.313 INFO    ] No update needed
[2026-10-20 09:42:41,316.316 INFO    ] Checking for camera pi updates...
[2026-10-20 09:42:41,349.349 INFO    ] 200
[2026-10-20 09:42:41,352.352 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:42:41,391.391 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:42:41,533.533 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:42:41,535.535 INFO    ] No camera update needed
[2026-10-20 09:42:41,538.538 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:42:41,540.540 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:42:41,545.545 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:42:41,550.550 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:42:43,590.590 INFO    ] ================================================
[2026-10-20 09:42:43,605.605 INFO    ] Launching Daemon at Tue Oct 20 09:42:43 IST 2026
[2026-10-20 09:42:43,616.616 INFO    ] ================================================
[2026-10-20 09:42:44,184.184 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:42:44
[2026-10-20 09:42:44,773.773 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:42:45,021.021 INFO    ] Initializing speech engine...
[2026-10-20 09:42:45,027.027 INFO    ] 2026-10-20 09:42:45
[2026-10-20 09:42:45,302.302 INFO    ] 2026-10-20 09:42:45
[2026-10-20 09:42:45,345.345 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:42:45,546.546 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:42:45,555.555 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:42:45,753.753 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:42:45,774.774 INFO    ] time= 20/10/2026 09:42:45
[2026-10-20 09:42:45,839.839 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:42:45,888.888 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:42:46,009.009 INFO    ] No existing commands found in stream
[2026-10-20 09:42:51,040.040 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:42:51,043.043 INFO    ] Waiting 3.98 seconds before fallback handling...
[2026-10-20 09:42:55,560.560 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:42:55,563.563 INFO    ] Checking for system updates...
[2026-10-20 09:42:55,598.598 INFO    ] 200
[2026-10-20 09:42:55,601.601 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:42:55,653.653 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:42:55,655.655 INFO    ] No update needed
[2026-10-20 09:42:55,658.658 INFO    ] Checking for camera pi updates...
[2026-10-20 09:42:55,691.691 INFO    ] 200
[2026-10-20 09:42:55,693.693 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:42:55,737.737 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:42:55,787.787 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:42:55,789.789 INFO    ] No camera update needed
[2026-10-20 09:42:55,792.792 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:42:55,794.794 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:42:55,799.799 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:42:55,804.804 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:42:57,844.844 INFO    ] ================================================
[2026-10-20 09:42:57,860.860 INFO    ] Launching Daemon at Tue Oct 20 09:42:57 IST 2026
[2026-10-20 09:42:57,871.871 INFO    ] ================================================
[2026-10-20 09:42:58,453.453 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:42:58
[2026-10-20 09:42:59,052.052 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:42:59,324.324 INFO    ] Initializing speech engine...
[2026-10-20 09:42:59,333.333 INFO    ] 2026-10-20 09:42:59
[2026-10-20 09:42:59,584.584 INFO    ] 2026-10-20 09:42:59
[2026-10-20 09:42:59,619.619 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:42:59,870.870 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:42:59,879.879 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:43:00,078.078 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:43:00,128.128 INFO    ] time= 20/10/2026 09:43:00
[2026-10-20 09:43:00,140.140 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:43:00,157.157 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:43:00,292.292 INFO    ] No existing commands found in stream
[2026-10-20 09:43:05,304.304 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:43:05,307.307 INFO    ] Waiting 1.22 seconds before fallback handling...
[2026-10-20 09:43:07,025.025 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:43:07,027.027 INFO    ] Checking for system updates...
[2026-10-20 09:43:07,063.063 INFO    ] 200
[2026-10-20 09:43:07,066.066 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:43:07,117.117 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:43:07,120.120 INFO    ] No update needed
[2026-10-20 09:43:07,122.122 INFO    ] Checking for camera pi updates...
[2026-10-20 09:43:07,155.155 INFO    ] 200
[2026-10-20 09:43:07,158.158 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:43:07,199.199 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:43:07,241.241 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:43:07,243.243 INFO    ] No camera update needed
[2026-10-20 09:43:07,246.246 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:43:07,248.248 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:43:07,253.253 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:43:07,258.258 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:43:09,298.298 INFO    ] ================================================
[2026-10-20 09:43:09,313.313 INFO    ] Launching Daemon at Tue Oct 20 09:43:09 IST 2026
[2026-10-20 09:43:09,324.324 INFO    ] ================================================
[2026-10-20 09:43:09,927.927 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:43:09
[2026-10-20 09:43:10,529.529 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:43:10,813.813 INFO    ] Initializing speech engine...
[2026-10-20 09:43:10,820.820 INFO    ] 2026-10-20 09:43:10
[2026-10-20 09:43:11,073.073 INFO    ] 2026-10-20 09:43:11
[2026-10-20 09:43:11,108.108 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:43:11,365.365 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:43:11,369.369 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:43:11,570.570 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:43:11,628.628 INFO    ] time= 20/10/2026 09:43:11
[2026-10-20 09:43:11,635.635 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:43:11,652.652 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:43:11,791.791 INFO    ] No existing commands found in stream
[2026-10-20 09:43:16,814.814 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:43:16,817.817 INFO    ] Waiting 2.54 seconds before fallback handling...
[2026-10-20 09:43:19,865.865 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:43:19,867.867 INFO    ] Checking for system updates...
[2026-10-20 09:43:19,906.906 INFO    ] 200
[2026-10-20 09:43:19,909.909 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:43:19,961.961 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:43:19,964.964 INFO    ] No update needed
[2026-10-20 09:43:19,966.966 INFO    ] Checking for camera pi updates...
[2026-10-20 09:43:20,006.006 INFO    ] 200
[2026-10-20 09:43:20,009.009 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:43:20,052.052 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:43:20,098.098 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:43:20,100.100 INFO    ] No camera update needed
[2026-10-20 09:43:20,103.103 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:43:20,105.105 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:43:20,111.111 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:43:20,116.116 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:43:22,156.156 INFO    ] ================================================
[2026-10-20 09:43:22,171.171 INFO    ] Launching Daemon at Tue Oct 20 09:43:22 IST 2026
[2026-10-20 09:43:22,181.181 INFO    ] ================================================
[2026-10-20 09:43:22,767.767 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:43:22
[2026-10-20 09:43:23,370.370 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:43:23,642.642 INFO    ] Initializing speech engine...
[2026-10-20 09:43:23,652.652 INFO    ] 2026-10-20 09:43:23
[2026-10-20 09:43:23,913.913 INFO    ] 2026-10-20 09:43:23
[2026-10-20 09:43:23,970.970 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:43:24,211.211 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:43:24,214.214 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:43:24,426.426 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:43:24,459.459 INFO    ] time= 20/10/2026 09:43:24
[2026-10-20 09:43:24,475.475 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:43:24,484.484 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:43:24,637.637 INFO    ] No existing commands found in stream
[2026-10-20 09:43:29,662.662 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:43:29,665.665 INFO    ] Waiting 3.34 seconds before fallback handling...
[2026-10-20 09:43:33,554.554 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 09:43:33,557.557 INFO    ] Checking for system updates...
[2026-10-20 09:43:33,595.595 INFO    ] 200
[2026-10-20 09:43:33,598.598 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:43:33,655.655 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:43:33,657.657 INFO    ] No update needed
[2026-10-20 09:43:33,660.660 INFO    ] Checking for camera pi updates...
[2026-10-20 09:43:33,697.697 INFO    ] 200
[2026-10-20 09:43:33,700.700 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:43:33,740.740 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:43:33,791.791 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:43:33,793.793 INFO    ] No camera update needed
[2026-10-20 09:43:33,795.795 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:43:33,798.798 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:43:33,803.803 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:43:33,808.808 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:43:35,849.849 INFO    ] ================================================
[2026-10-20 09:43:35,864.864 INFO    ] Launching Daemon at Tue Oct 20 09:43:35 IST 2026
[2026-10-20 09:43:35,875.875 INFO    ] ================================================
[2026-10-20 09:43:36,463.463 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:43:36
[2026-10-20 09:43:37,065.065 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:43:37,342.342 INFO    ] Initializing speech engine...
[2026-10-20 09:43:37,351.351 INFO    ] 2026-10-20 09:43:37
[2026-10-20 09:43:37,610.610 INFO    ] 2026-10-20 09:43:37
[2026-10-20 09:43:37,641.641 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:43:37,891.891 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:43:37,897.897 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:43:38,115.115 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:43:38,154.154 INFO    ] time= 20/10/2026 09:43:38
[2026-10-20 09:43:38,160.160 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:43:38,179.179 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:43:38,330.330 INFO    ] No existing commands found in stream
[2026-10-20 09:43:43,360.360 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:43:43,363.363 INFO    ] Waiting 0.93 seconds before fallback handling...
[2026-10-20 09:43:44,783.783 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:43:44,785.785 INFO    ] Checking for system updates...
[2026-10-20 09:43:44,825.825 INFO    ] 200
[2026-10-20 09:43:44,828.828 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:43:44,881.881 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:43:44,884.884 INFO    ] No update needed
[2026-10-20 09:43:44,886.886 INFO    ] Checking for camera pi updates...
[2026-10-20 09:43:44,920.920 INFO    ] 200
[2026-10-20 09:43:44,923.923 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:43:44,963.963 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:43:45,008.008 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:43:45,011.011 INFO    ] No camera update needed
[2026-10-20 09:43:45,014.014 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:43:45,016.016 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:43:45,022.022 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:43:45,028.028 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:43:47,068.068 INFO    ] ================================================
[2026-10-20 09:43:47,083.083 INFO    ] Launching Daemon at Tue Oct 20 09:43:47 IST 2026
[2026-10-20 09:43:47,094.094 INFO    ] ================================================
[2026-10-20 09:43:47,736.736 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:43:47
[2026-10-20 09:43:48,402.402 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:43:48,703.703 INFO    ] Initializing speech engine...
[2026-10-20 09:43:48,717.717 INFO    ] 2026-10-20 09:43:48
[2026-10-20 09:43:48,995.995 INFO    ] 2026-10-20 09:43:48
[2026-10-20 09:43:49,051.051 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:43:49,327.327 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:43:49,333.333 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:43:49,516.516 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:43:49,536.536 INFO    ] time= 20/10/2026 09:43:49
[2026-10-20 09:43:49,554.554 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:43:49,572.572 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:43:49,748.748 INFO    ] No existing commands found in stream
[2026-10-20 09:43:54,779.779 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:43:54,782.782 INFO    ] Waiting 1.99 seconds before fallback handling...
[2026-10-20 09:43:57,322.322 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 09:43:57,325.325 INFO    ] Checking for system updates...
[2026-10-20 09:43:57,361.361 INFO    ] 200
[2026-10-20 09:43:57,364.364 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:43:57,423.423 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:43:57,426.426 INFO    ] No update needed
[2026-10-20 09:43:57,428.428 INFO    ] Checking for camera pi updates...
[2026-10-20 09:43:57,462.462 INFO    ] 200
[2026-10-20 09:43:57,465.465 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:43:57,511.511 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:43:57,563.563 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:43:57,566.566 INFO    ] No camera update needed
[2026-10-20 09:43:57,569.569 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:43:57,571.571 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:43:57,577.577 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:43:57,583.583 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:43:59,624.624 INFO    ] ================================================
[2026-10-20 09:43:59,639.639 INFO    ] Launching Daemon at Tue Oct 20 09:43:59 IST 2026
[2026-10-20 09:43:59,649.649 INFO    ] ================================================
[2026-10-20 09:44:00,222.222 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:44:00
[2026-10-20 09:44:00,806.806 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:44:01,072.072 INFO    ] Initializing speech engine...
[2026-10-20 09:44:01,081.081 INFO    ] 2026-10-20 09:44:01
[2026-10-20 09:44:01,327.327 INFO    ] 2026-10-20 09:44:01
[2026-10-20 09:44:01,369.369 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:44:01,624.624 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:44:01,629.629 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:44:01,767.767 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:44:01,822.822 INFO    ] time= 20/10/2026 09:44:01
[2026-10-20 09:44:01,881.881 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:44:01,901.901 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:44:02,002.002 INFO    ] No existing commands found in stream
[2026-10-20 09:44:07,046.046 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:44:07,049.049 INFO    ] Waiting 3.53 seconds before fallback handling...
[2026-10-20 09:44:11,070.070 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:44:11,073.073 INFO    ] Checking for system updates...
[2026-10-20 09:44:11,111.111 INFO    ] 200
[2026-10-20 09:44:11,113.113 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:44:11,171.171 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:44:11,173.173 INFO    ] No update needed
[2026-10-20 09:44:11,176.176 INFO    ] Checking for camera pi updates...
[2026-10-20 09:44:11,209.209 INFO    ] 200
[2026-10-20 09:44:11,212.212 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:44:11,251.251 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:44:11,302.302 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:44:11,304.304 INFO    ] No camera update needed
[2026-10-20 09:44:11,306.306 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:44:11,309.309 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:44:11,314.314 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:44:11,319.319 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:44:13,360.360 INFO    ] ================================================
[2026-10-20 09:44:13,375.375 INFO    ] Launching Daemon at Tue Oct 20 09:44:13 IST 2026
[2026-10-20 09:44:13,385.385 INFO    ] ================================================
[2026-10-20 09:44:13,968.968 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:44:13
[2026-10-20 09:44:14,567.567 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:44:14,831.831 INFO    ] Initializing speech engine...
[2026-10-20 09:44:14,845.845 INFO    ] 2026-10-20 09:44:14
[2026-10-20 09:44:15,124.124 INFO    ] 2026-10-20 09:44:15
[2026-10-20 09:44:15,163.163 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:44:15,378.378 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:44:15,426.426 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:44:15,604.604 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:44:15,642.642 INFO    ] time= 20/10/2026 09:44:15
[2026-10-20 09:44:15,691.691 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:44:15,750.750 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:44:15,875.875 INFO    ] No existing commands found in stream
[2026-10-20 09:44:20,898.898 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:44:20,901.901 INFO    ] Waiting 3.99 seconds before fallback handling...
[2026-10-20 09:44:25,403.403 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:44:25,405.405 INFO    ] Checking for system updates...
[2026-10-20 09:44:25,441.441 INFO    ] 200
[2026-10-20 09:44:25,443.443 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:44:25,494.494 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:44:25,496.496 INFO    ] No update needed
[2026-10-20 09:44:25,499.499 INFO    ] Checking for camera pi updates...
[2026-10-20 09:44:25,532.532 INFO    ] 200
[2026-10-20 09:44:25,534.534 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:44:25,579.579 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:44:25,626.626 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:44:25,629.629 INFO    ] No camera update needed
[2026-10-20 09:44:25,631.631 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:44:25,634.634 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:44:25,639.639 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:44:25,644.644 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:44:27,683.683 INFO    ] ================================================
[2026-10-20 09:44:27,699.699 INFO    ] Launching Daemon at Tue Oct 20 09:44:27 IST 2026
[2026-10-20 09:44:27,709.709 INFO    ] ================================================
[2026-10-20 09:44:28,274.274 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:44:28
[2026-10-20 09:44:28,857.857 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:44:29,110.110 INFO    ] Initializing speech engine...
[2026-10-20 09:44:29,125.125 INFO    ] 2026-10-20 09:44:29
[2026-10-20 09:44:29,403.403 INFO    ] 2026-10-20 09:44:29
[2026-10-20 09:44:29,439.439 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:44:29,656.656 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:44:29,663.663 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:44:29,879.879 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:44:29,886.886 INFO    ] time= 20/10/2026 09:44:29
[2026-10-20 09:44:29,950.950 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:44:30,010.010 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:44:30,178.178 INFO    ] No existing commands found in stream
[2026-10-20 09:44:35,201.201 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:44:35,203.203 INFO    ] Waiting 2.07 seconds before fallback handling...
[2026-10-20 09:44:37,800.800 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:44:37,803.803 INFO    ] Checking for system updates...
[2026-10-20 09:44:37,838.838 INFO    ] 200
[2026-10-20 09:44:37,841.841 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:44:37,893.893 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:44:37,895.895 INFO    ] No update needed
[2026-10-20 09:44:37,897.897 INFO    ] Checking for camera pi updates...
[2026-10-20 09:44:37,930.930 INFO    ] 200
[2026-10-20 09:44:37,933.933 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:44:37,976.976 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:44:38,025.025 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:44:38,028.028 INFO    ] No camera update needed
[2026-10-20 09:44:38,030.030 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:44:38,032.032 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:44:38,037.037 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:44:38,042.042 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:44:40,082.082 INFO    ] ================================================
[2026-10-20 09:44:40,097.097 INFO    ] Launching Daemon at Tue Oct 20 09:44:40 IST 2026
[2026-10-20 09:44:40,108.108 INFO    ] ================================================
[2026-10-20 09:44:40,672.672 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:44:40
[2026-10-20 09:44:41,256.256 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:44:41,503.503 INFO    ] Initializing speech engine...
[2026-10-20 09:44:41,513.513 INFO    ] 2026-10-20 09:44:41
[2026-10-20 09:44:41,804.804 INFO    ] 2026-10-20 09:44:41
[2026-10-20 09:44:41,840.840 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:44:42,032.032 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:44:42,038.038 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:44:42,207.207 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:44:42,216.216 INFO    ] time= 20/10/2026 09:44:42
[2026-10-20 09:44:42,222.222 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:44:42,265.265 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:44:42,399.399 INFO    ] No existing commands found in stream
[2026-10-20 09:44:47,434.434 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:44:47,437.437 INFO    ] Waiting 0.46 seconds before fallback handling...
[2026-10-20 09:44:48,369.369 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:44:48,372.372 INFO    ] Checking for system updates...
[2026-10-20 09:44:48,410.410 INFO    ] 200
[2026-10-20 09:44:48,413.413 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:44:48,470.470 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:44:48,472.472 INFO    ] No update needed
[2026-10-20 09:44:48,474.474 INFO    ] Checking for camera pi updates...
[2026-10-20 09:44:48,510.510 INFO    ] 200
[2026-10-20 09:44:48,513.513 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:44:48,552.552 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:44:48,695.695 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:44:48,697.697 INFO    ] No camera update needed
[2026-10-20 09:44:48,699.699 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:44:48,702.702 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:44:48,707.707 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:44:48,712.712 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:44:50,751.751 INFO    ] ================================================
[2026-10-20 09:44:50,766.766 INFO    ] Launching Daemon at Tue Oct 20 09:44:50 IST 2026
[2026-10-20 09:44:50,776.776 INFO    ] ================================================
[2026-10-20 09:44:51,351.351 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:44:51
[2026-10-20 09:44:51,943.943 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:44:52,192.192 INFO    ] Initializing speech engine...
[2026-10-20 09:44:52,199.199 INFO    ] 2026-10-20 09:44:52
[2026-10-20 09:44:52,496.496 INFO    ] 2026-10-20 09:44:52
[2026-10-20 09:44:52,531.531 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:44:52,754.754 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:44:52,762.762 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:44:52,981.981 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:44:52,989.989 INFO    ] time= 20/10/2026 09:44:52
[2026-10-20 09:44:53,053.053 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:44:53,097.097 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:44:53,197.197 INFO    ] No existing commands found in stream
[2026-10-20 09:44:58,209.209 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:44:58,212.212 INFO    ] Waiting 1.39 seconds before fallback handling...
[2026-10-20 09:45:00,081.081 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 09:45:00,084.084 INFO    ] Checking for system updates...
[2026-10-20 09:45:00,120.120 INFO    ] 200
[2026-10-20 09:45:00,122.122 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:45:00,173.173 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:45:00,176.176 INFO    ] No update needed
[2026-10-20 09:45:00,178.178 INFO    ] Checking for camera pi updates...
[2026-10-20 09:45:00,211.211 INFO    ] 200
[2026-10-20 09:45:00,213.213 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:45:00,253.253 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:45:00,295.295 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:45:00,298.298 INFO    ] No camera update needed
[2026-10-20 09:45:00,300.300 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:45:00,302.302 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:45:00,307.307 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:45:00,313.313 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:45:02,421.421 INFO    ] ================================================
[2026-10-20 09:45:02,511.511 INFO    ] Launching Daemon at Tue Oct 20 09:45:02 IST 2026
[2026-10-20 09:45:02,589.589 INFO    ] ================================================
[2026-10-20 09:45:03,357.357 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:45:03
[2026-10-20 09:45:04,012.012 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:45:04,306.306 INFO    ] Initializing speech engine...
[2026-10-20 09:45:04,315.315 INFO    ] 2026-10-20 09:45:04
[2026-10-20 09:45:04,599.599 INFO    ] 2026-10-20 09:45:04
[2026-10-20 09:45:04,641.641 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:45:04,863.863 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:45:04,878.878 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:45:05,040.040 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:45:05,049.049 INFO    ] time= 20/10/2026 09:45:05
[2026-10-20 09:45:05,056.056 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:45:05,088.088 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:45:05,236.236 INFO    ] No existing commands found in stream
[2026-10-20 09:45:10,262.262 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:45:10,264.264 INFO    ] Waiting 2.50 seconds before fallback handling...
[2026-10-20 09:45:13,275.275 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:45:13,277.277 INFO    ] Checking for system updates...
[2026-10-20 09:45:13,316.316 INFO    ] 200
[2026-10-20 09:45:13,319.319 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:45:13,373.373 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:45:13,375.375 INFO    ] No update needed
[2026-10-20 09:45:13,380.380 INFO    ] Checking for camera pi updates...
[2026-10-20 09:45:13,420.420 INFO    ] 200
[2026-10-20 09:45:13,422.422 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:45:13,466.466 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:45:13,514.514 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:45:13,517.517 INFO    ] No camera update needed
[2026-10-20 09:45:13,519.519 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:45:13,522.522 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:45:13,527.527 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:45:13,532.532 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:45:15,573.573 INFO    ] ================================================
[2026-10-20 09:45:15,587.587 INFO    ] Launching Daemon at Tue Oct 20 09:45:15 IST 2026
[2026-10-20 09:45:15,598.598 INFO    ] ================================================
[2026-10-20 09:45:16,169.169 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:45:16
[2026-10-20 09:45:16,756.756 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:45:17,026.026 INFO    ] Initializing speech engine...
[2026-10-20 09:45:17,035.035 INFO    ] 2026-10-20 09:45:17
[2026-10-20 09:45:17,295.295 INFO    ] 2026-10-20 09:45:17
[2026-10-20 09:45:17,325.325 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:45:17,574.574 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:45:17,579.579 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:45:17,718.718 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:45:17,777.777 INFO    ] time= 20/10/2026 09:45:17
[2026-10-20 09:45:17,826.826 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:45:17,844.844 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:45:17,994.994 INFO    ] No existing commands found in stream
[2026-10-20 09:45:23,016.016 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:45:23,019.019 INFO    ] Waiting 3.41 seconds before fallback handling...
[2026-10-20 09:45:26,932.932 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:45:26,934.934 INFO    ] Checking for system updates...
[2026-10-20 09:45:26,970.970 INFO    ] 200
[2026-10-20 09:45:26,973.973 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:45:27,026.026 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:45:27,029.029 INFO    ] No update needed
[2026-10-20 09:45:27,031.031 INFO    ] Checking for camera pi updates...
[2026-10-20 09:45:27,072.072 INFO    ] 200
[2026-10-20 09:45:27,075.075 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:45:27,124.124 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:45:27,170.170 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:45:27,173.173 INFO    ] No camera update needed
[2026-10-20 09:45:27,175.175 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:45:27,178.178 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:45:27,184.184 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:45:27,190.190 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:45:29,232.232 INFO    ] ================================================
[2026-10-20 09:45:29,247.247 INFO    ] Launching Daemon at Tue Oct 20 09:45:29 IST 2026
[2026-10-20 09:45:29,257.257 INFO    ] ================================================
[2026-10-20 09:45:29,838.838 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:45:29
[2026-10-20 09:45:30,440.440 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:45:30,704.704 INFO    ] Initializing speech engine...
[2026-10-20 09:45:30,711.711 INFO    ] 2026-10-20 09:45:30
[2026-10-20 09:45:31,002.002 INFO    ] 2026-10-20 09:45:30
[2026-10-20 09:45:31,040.040 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:45:31,264.264 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:45:31,311.311 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:45:31,490.490 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:45:31,537.537 INFO    ] time= 20/10/2026 09:45:31
[2026-10-20 09:45:31,586.586 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:45:31,639.639 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:45:31,773.773 INFO    ] No existing commands found in stream
[2026-10-20 09:45:36,795.795 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:45:36,797.797 INFO    ] Waiting 1.46 seconds before fallback handling...
[2026-10-20 09:45:38,823.823 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:45:38,826.826 INFO    ] Checking for system updates...
[2026-10-20 09:45:38,861.861 INFO    ] 200
[2026-10-20 09:45:38,864.864 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:45:38,917.917 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:45:38,919.919 INFO    ] No update needed
[2026-10-20 09:45:38,922.922 INFO    ] Checking for camera pi updates...
[2026-10-20 09:45:38,956.956 INFO    ] 200
[2026-10-20 09:45:38,958.958 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:45:38,998.998 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:45:39,041.041 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:45:39,043.043 INFO    ] No camera update needed
[2026-10-20 09:45:39,045.045 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:45:39,048.048 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:45:39,053.053 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:45:39,058.058 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:45:41,098.098 INFO    ] ================================================
[2026-10-20 09:45:41,114.114 INFO    ] Launching Daemon at Tue Oct 20 09:45:41 IST 2026
[2026-10-20 09:45:41,125.125 INFO    ] ================================================
[2026-10-20 09:45:41,706.706 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:45:41
[2026-10-20 09:45:42,305.305 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:45:42,589.589 INFO    ] Initializing speech engine...
[2026-10-20 09:45:42,603.603 INFO    ] 2026-10-20 09:45:42
[2026-10-20 09:45:42,871.871 INFO    ] 2026-10-20 09:45:42
[2026-10-20 09:45:42,906.906 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:45:43,102.102 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:45:43,115.115 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:45:43,278.278 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:45:43,284.284 INFO    ] time= 20/10/2026 09:45:43
[2026-10-20 09:45:43,291.291 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:45:43,313.313 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:45:43,463.463 INFO    ] No existing commands found in stream
[2026-10-20 09:45:48,493.493 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:45:48,496.496 INFO    ] Waiting 2.80 seconds before fallback handling...
[2026-10-20 09:45:51,770.770 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:45:51,772.772 INFO    ] Checking for system updates...
[2026-10-20 09:45:51,808.808 INFO    ] 200
[2026-10-20 09:45:51,811.811 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:45:51,869.869 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:45:51,872.872 INFO    ] No update needed
[2026-10-20 09:45:51,874.874 INFO    ] Checking for camera pi updates...
[2026-10-20 09:45:51,910.910 INFO    ] 200
[2026-10-20 09:45:51,913.913 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:45:51,956.956 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:45:52,004.004 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:45:52,007.007 INFO    ] No camera update needed
[2026-10-20 09:45:52,009.009 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:45:52,011.011 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:45:52,017.017 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:45:52,022.022 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:45:54,062.062 INFO    ] ================================================
[2026-10-20 09:45:54,077.077 INFO    ] Launching Daemon at Tue Oct 20 09:45:54 IST 2026
[2026-10-20 09:45:54,088.088 INFO    ] ================================================
[2026-10-20 09:45:54,662.662 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:45:54
[2026-10-20 09:45:55,253.253 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:45:55,519.519 INFO    ] Initializing speech engine...
[2026-10-20 09:45:55,544.544 INFO    ] 2026-10-20 09:45:55
[2026-10-20 09:45:55,817.817 INFO    ] 2026-10-20 09:45:55
[2026-10-20 09:45:55,852.852 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:45:56,072.072 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:45:56,100.100 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:45:56,300.300 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:45:56,320.320 INFO    ] time= 20/10/2026 09:45:56
[2026-10-20 09:45:56,374.374 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:45:56,418.418 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:45:56,589.589 INFO    ] No existing commands found in stream
[2026-10-20 09:46:01,612.612 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:46:01,616.616 INFO    ] Waiting 3.77 seconds before fallback handling...
[2026-10-20 09:46:05,903.903 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:46:05,906.906 INFO    ] Checking for system updates...
[2026-10-20 09:46:05,942.942 INFO    ] 200
[2026-10-20 09:46:05,945.945 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:46:06,002.002 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:46:06,005.005 INFO    ] No update needed
[2026-10-20 09:46:06,007.007 INFO    ] Checking for camera pi updates...
[2026-10-20 09:46:06,044.044 INFO    ] 200
[2026-10-20 09:46:06,047.047 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:46:06,093.093 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:46:06,146.146 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:46:06,148.148 INFO    ] No camera update needed
[2026-10-20 09:46:06,151.151 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:46:06,154.154 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:46:06,160.160 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:46:06,166.166 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:46:08,205.205 INFO    ] ================================================
[2026-10-20 09:46:08,221.221 INFO    ] Launching Daemon at Tue Oct 20 09:46:08 IST 2026
[2026-10-20 09:46:08,231.231 INFO    ] ================================================
[2026-10-20 09:46:08,806.806 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:46:08
[2026-10-20 09:46:09,405.405 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:46:09,681.681 INFO    ] Initializing speech engine...
[2026-10-20 09:46:09,687.687 INFO    ] 2026-10-20 09:46:09
[2026-10-20 09:46:09,951.951 INFO    ] 2026-10-20 09:46:09
[2026-10-20 09:46:09,981.981 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:46:10,230.230 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:46:10,240.240 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:46:10,450.450 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:46:10,498.498 INFO    ] time= 20/10/2026 09:46:10
[2026-10-20 09:46:10,504.504 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:46:10,521.521 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:46:10,671.671 INFO    ] No existing commands found in stream
[2026-10-20 09:46:15,701.701 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:46:15,704.704 INFO    ] Waiting 1.05 seconds before fallback handling...
[2026-10-20 09:46:17,251.251 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:46:17,254.254 INFO    ] Checking for system updates...
[2026-10-20 09:46:17,289.289 INFO    ] 200
[2026-10-20 09:46:17,292.292 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:46:17,344.344 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:46:17,347.347 INFO    ] No update needed
[2026-10-20 09:46:17,350.350 INFO    ] Checking for camera pi updates...
[2026-10-20 09:46:17,383.383 INFO    ] 200
[2026-10-20 09:46:17,385.385 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:46:17,430.430 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:46:17,474.474 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:46:17,477.477 INFO    ] No camera update needed
[2026-10-20 09:46:17,479.479 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:46:17,482.482 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:46:17,487.487 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:46:17,492.492 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:46:19,533.533 INFO    ] ================================================
[2026-10-20 09:46:19,548.548 INFO    ] Launching Daemon at Tue Oct 20 09:46:19 IST 2026
[2026-10-20 09:46:19,559.559 INFO    ] ================================================
[2026-10-20 09:46:20,128.128 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:46:20
[2026-10-20 09:46:20,757.757 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:46:21,058.058 INFO    ] Initializing speech engine...
[2026-10-20 09:46:21,072.072 INFO    ] 2026-10-20 09:46:21
[2026-10-20 09:46:21,382.382 INFO    ] 2026-10-20 09:46:21
[2026-10-20 09:46:21,467.467 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:46:21,682.682 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:46:21,697.697 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:46:21,884.884 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:46:21,901.901 INFO    ] time= 20/10/2026 09:46:21
[2026-10-20 09:46:21,925.925 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:46:21,940.940 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:46:22,076.076 INFO    ] No existing commands found in stream
[2026-10-20 09:46:27,113.113 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:46:27,116.116 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-10-20 09:46:29,641.641 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:46:29,644.644 INFO    ] Checking for system updates...
[2026-10-20 09:46:29,682.682 INFO    ] 200
[2026-10-20 09:46:29,685.685 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:46:29,743.743 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:46:29,746.746 INFO    ] No update needed
[2026-10-20 09:46:29,748.748 INFO    ] Checking for camera pi updates...
[2026-10-20 09:46:29,785.785 INFO    ] 200
[2026-10-20 09:46:29,787.787 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:46:29,826.826 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:46:29,871.871 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:46:29,874.874 INFO    ] No camera update needed
[2026-10-20 09:46:29,876.876 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:46:29,878.878 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:46:29,883.883 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:46:29,888.888 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:46:31,931.931 INFO    ] ================================================
[2026-10-20 09:46:31,947.947 INFO    ] Launching Daemon at Tue Oct 20 09:46:31 IST 2026
[2026-10-20 09:46:31,959.959 INFO    ] ================================================
[2026-10-20 09:46:32,650.650 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:46:32
[2026-10-20 09:46:33,350.350 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:46:33,654.654 INFO    ] Initializing speech engine...
[2026-10-20 09:46:33,669.669 INFO    ] 2026-10-20 09:46:33
[2026-10-20 09:46:33,952.952 INFO    ] 2026-10-20 09:46:33
[2026-10-20 09:46:33,999.999 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:46:34,291.291 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:46:34,298.298 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:46:34,495.495 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:46:34,513.513 INFO    ] time= 20/10/2026 09:46:34
[2026-10-20 09:46:34,524.524 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:46:34,553.553 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:46:34,675.675 INFO    ] No existing commands found in stream
[2026-10-20 09:46:39,706.706 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:46:39,709.709 INFO    ] Waiting 1.15 seconds before fallback handling...
[2026-10-20 09:46:41,364.364 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:46:41,367.367 INFO    ] Checking for system updates...
[2026-10-20 09:46:41,404.404 INFO    ] 200
[2026-10-20 09:46:41,407.407 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:46:41,459.459 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:46:41,462.462 INFO    ] No update needed
[2026-10-20 09:46:41,465.465 INFO    ] Checking for camera pi updates...
[2026-10-20 09:46:41,503.503 INFO    ] 200
[2026-10-20 09:46:41,506.506 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:46:41,548.548 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:46:41,598.598 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:46:41,601.601 INFO    ] No camera update needed
[2026-10-20 09:46:41,604.604 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:46:41,607.607 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:46:41,613.613 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:46:41,619.619 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:46:43,660.660 INFO    ] ================================================
[2026-10-20 09:46:43,676.676 INFO    ] Launching Daemon at Tue Oct 20 09:46:43 IST 2026
[2026-10-20 09:46:43,686.686 INFO    ] ================================================
[2026-10-20 09:46:44,253.253 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:46:44
[2026-10-20 09:46:44,837.837 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:46:45,109.109 INFO    ] Initializing speech engine...
[2026-10-20 09:46:45,118.118 INFO    ] 2026-10-20 09:46:45
[2026-10-20 09:46:45,366.366 INFO    ] 2026-10-20 09:46:45
[2026-10-20 09:46:45,401.401 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:46:45,660.660 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:46:45,670.670 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:46:45,866.866 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:46:45,926.926 INFO    ] time= 20/10/2026 09:46:45
[2026-10-20 09:46:45,939.939 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:46:45,956.956 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:46:46,099.099 INFO    ] No existing commands found in stream
[2026-10-20 09:46:51,125.125 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:46:51,128.128 INFO    ] Waiting 3.78 seconds before fallback handling...
[2026-10-20 09:46:55,453.453 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:46:55,457.457 INFO    ] Checking for system updates...
[2026-10-20 09:46:55,493.493 INFO    ] 200
[2026-10-20 09:46:55,496.496 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:46:55,567.567 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:46:55,571.571 INFO    ] No update needed
[2026-10-20 09:46:55,573.573 INFO    ] Checking for camera pi updates...
[2026-10-20 09:46:55,608.608 INFO    ] 200
[2026-10-20 09:46:55,611.611 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:46:55,652.652 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:46:55,796.796 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:46:55,799.799 INFO    ] No camera update needed
[2026-10-20 09:46:55,802.802 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:46:55,804.804 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:46:55,811.811 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:46:55,817.817 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:46:57,858.858 INFO    ] ================================================
[2026-10-20 09:46:57,873.873 INFO    ] Launching Daemon at Tue Oct 20 09:46:57 IST 2026
[2026-10-20 09:46:57,884.884 INFO    ] ================================================
[2026-10-20 09:46:58,465.465 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:46:58
[2026-10-20 09:46:59,062.062 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:46:59,330.330 INFO    ] Initializing speech engine...
[2026-10-20 09:46:59,339.339 INFO    ] 2026-10-20 09:46:59
[2026-10-20 09:46:59,586.586 INFO    ] 2026-10-20 09:46:59
[2026-10-20 09:46:59,621.621 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:46:59,875.875 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:46:59,881.881 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:47:00,090.090 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:47:00,136.136 INFO    ] time= 20/10/2026 09:47:00
[2026-10-20 09:47:00,143.143 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:47:00,157.157 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:47:00,291.291 INFO    ] No existing commands found in stream
[2026-10-20 09:47:05,310.310 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:47:05,313.313 INFO    ] Waiting 1.12 seconds before fallback handling...
[2026-10-20 09:47:06,976.976 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 09:47:06,979.979 INFO    ] Checking for system updates...
[2026-10-20 09:47:07,018.018 INFO    ] 200
[2026-10-20 09:47:07,021.021 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:47:07,081.081 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:47:07,084.084 INFO    ] No update needed
[2026-10-20 09:47:07,087.087 INFO    ] Checking for camera pi updates...
[2026-10-20 09:47:07,121.121 INFO    ] 200
[2026-10-20 09:47:07,124.124 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:47:07,165.165 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:47:07,212.212 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:47:07,215.215 INFO    ] No camera update needed
[2026-10-20 09:47:07,217.217 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:47:07,221.221 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:47:07,227.227 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:47:07,233.233 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:47:09,274.274 INFO    ] ================================================
[2026-10-20 09:47:09,289.289 INFO    ] Launching Daemon at Tue Oct 20 09:47:09 IST 2026
[2026-10-20 09:47:09,299.299 INFO    ] ================================================
[2026-10-20 09:47:09,864.864 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:47:09
[2026-10-20 09:47:10,470.470 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:47:10,778.778 INFO    ] Initializing speech engine...
[2026-10-20 09:47:10,785.785 INFO    ] 2026-10-20 09:47:10
[2026-10-20 09:47:11,058.058 INFO    ] 2026-10-20 09:47:11
[2026-10-20 09:47:11,118.118 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:47:11,348.348 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:47:11,357.357 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:47:11,563.563 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:47:11,613.613 INFO    ] time= 20/10/2026 09:47:11
[2026-10-20 09:47:11,632.632 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:47:11,651.651 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:47:11,809.809 INFO    ] No existing commands found in stream
[2026-10-20 09:47:16,840.840 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:47:16,844.844 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-10-20 09:47:19,380.380 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:47:19,383.383 INFO    ] Checking for system updates...
[2026-10-20 09:47:19,420.420 INFO    ] 200
[2026-10-20 09:47:19,423.423 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:47:19,477.477 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:47:19,480.480 INFO    ] No update needed
[2026-10-20 09:47:19,483.483 INFO    ] Checking for camera pi updates...
[2026-10-20 09:47:19,517.517 INFO    ] 200
[2026-10-20 09:47:19,520.520 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:47:19,562.562 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:47:19,612.612 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:47:19,615.615 INFO    ] No camera update needed
[2026-10-20 09:47:19,618.618 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:47:19,621.621 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:47:19,627.627 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:47:19,633.633 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:47:21,673.673 INFO    ] ================================================
[2026-10-20 09:47:21,688.688 INFO    ] Launching Daemon at Tue Oct 20 09:47:21 IST 2026
[2026-10-20 09:47:21,699.699 INFO    ] ================================================
[2026-10-20 09:47:22,278.278 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:47:22
[2026-10-20 09:47:22,876.876 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:47:23,154.154 INFO    ] Initializing speech engine...
[2026-10-20 09:47:23,161.161 INFO    ] 2026-10-20 09:47:23
[2026-10-20 09:47:23,427.427 INFO    ] 2026-10-20 09:47:23
[2026-10-20 09:47:23,483.483 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:47:23,715.715 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:47:23,721.721 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:47:23,940.940 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:47:23,986.986 INFO    ] time= 20/10/2026 09:47:23
[2026-10-20 09:47:23,992.992 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:47:24,011.011 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:47:24,140.140 INFO    ] No existing commands found in stream
[2026-10-20 09:47:29,157.157 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:47:29,160.160 INFO    ] Waiting 3.72 seconds before fallback handling...
[2026-10-20 09:47:33,362.362 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 09:47:33,365.365 INFO    ] Checking for system updates...
[2026-10-20 09:47:33,400.400 INFO    ] 200
[2026-10-20 09:47:33,403.403 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:47:33,464.464 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:47:33,467.467 INFO    ] No update needed
[2026-10-20 09:47:33,470.470 INFO    ] Checking for camera pi updates...
[2026-10-20 09:47:33,509.509 INFO    ] 200
[2026-10-20 09:47:33,512.512 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:47:33,554.554 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:47:33,586.586 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:47:33,589.589 INFO    ] No camera update needed
[2026-10-20 09:47:33,592.592 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:47:33,595.595 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:47:33,601.601 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:47:33,607.607 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:47:35,651.651 INFO    ] ================================================
[2026-10-20 09:47:35,669.669 INFO    ] Launching Daemon at Tue Oct 20 09:47:35 IST 2026
[2026-10-20 09:47:35,681.681 INFO    ] ================================================
[2026-10-20 09:47:36,289.289 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:47:36
[2026-10-20 09:47:36,919.919 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:47:37,177.177 INFO    ] Initializing speech engine...
[2026-10-20 09:47:37,192.192 INFO    ] 2026-10-20 09:47:37
[2026-10-20 09:47:37,479.479 INFO    ] 2026-10-20 09:47:37
[2026-10-20 09:47:37,513.513 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:47:37,718.718 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:47:37,732.732 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:47:37,897.897 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:47:37,906.906 INFO    ] time= 20/10/2026 09:47:37
[2026-10-20 09:47:37,914.914 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:47:37,919.919 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:47:38,076.076 INFO    ] No existing commands found in stream
[2026-10-20 09:47:43,101.101 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:47:43,104.104 INFO    ] Waiting 3.95 seconds before fallback handling...
[2026-10-20 09:47:47,573.573 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:47:47,575.575 INFO    ] Checking for system updates...
[2026-10-20 09:47:47,611.611 INFO    ] 200
[2026-10-20 09:47:47,613.613 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:47:47,675.675 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:47:47,677.677 INFO    ] No update needed
[2026-10-20 09:47:47,680.680 INFO    ] Checking for camera pi updates...
[2026-10-20 09:47:47,713.713 INFO    ] 200
[2026-10-20 09:47:47,715.715 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:47:47,761.761 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:47:47,808.808 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:47:47,811.811 INFO    ] No camera update needed
[2026-10-20 09:47:47,814.814 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:47:47,817.817 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:47:47,823.823 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:47:47,829.829 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:47:49,875.875 INFO    ] ================================================
[2026-10-20 09:47:49,891.891 INFO    ] Launching Daemon at Tue Oct 20 09:47:49 IST 2026
[2026-10-20 09:47:49,902.902 INFO    ] ================================================
[2026-10-20 09:47:50,487.487 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:47:50
[2026-10-20 09:47:51,092.092 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:47:51,358.358 INFO    ] Initializing speech engine...
[2026-10-20 09:47:51,365.365 INFO    ] 2026-10-20 09:47:51
[2026-10-20 09:47:51,665.665 INFO    ] 2026-10-20 09:47:51
[2026-10-20 09:47:51,700.700 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:47:51,930.930 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:47:51,939.939 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:47:52,092.092 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:47:52,099.099 INFO    ] time= 20/10/2026 09:47:52
[2026-10-20 09:47:52,126.126 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:47:52,176.176 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:47:52,322.322 INFO    ] No existing commands found in stream
[2026-10-20 09:47:57,335.335 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:47:57,338.338 INFO    ] Waiting 0.38 seconds before fallback handling...
[2026-10-20 09:47:58,216.216 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:47:58,219.219 INFO    ] Checking for system updates...
[2026-10-20 09:47:58,254.254 INFO    ] 200
[2026-10-20 09:47:58,257.257 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:47:58,308.308 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:47:58,311.311 INFO    ] No update needed
[2026-10-20 09:47:58,313.313 INFO    ] Checking for camera pi updates...
[2026-10-20 09:47:58,347.347 INFO    ] 200
[2026-10-20 09:47:58,350.350 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:47:58,390.390 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:47:58,435.435 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:47:58,438.438 INFO    ] No camera update needed
[2026-10-20 09:47:58,441.441 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:47:58,443.443 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:47:58,448.448 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:47:58,454.454 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:48:00,494.494 INFO    ] ================================================
[2026-10-20 09:48:00,509.509 INFO    ] Launching Daemon at Tue Oct 20 09:48:00 IST 2026
[2026-10-20 09:48:00,520.520 INFO    ] ================================================
[2026-10-20 09:48:01,093.093 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:48:01
[2026-10-20 09:48:01,682.682 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:48:02,198.198 INFO    ] Initializing speech engine...
[2026-10-20 09:48:02,204.204 INFO    ] 2026-10-20 09:48:02
[2026-10-20 09:48:02,534.534 INFO    ] 2026-10-20 09:48:02
[2026-10-20 09:48:02,627.627 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:48:02,884.884 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:48:02,905.905 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:48:03,047.047 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:48:03,110.110 INFO    ] time= 20/10/2026 09:48:03
[2026-10-20 09:48:03,159.159 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:48:03,188.188 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:48:03,311.311 INFO    ] No existing commands found in stream
[2026-10-20 09:48:08,332.332 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:48:08,335.335 INFO    ] Waiting 2.33 seconds before fallback handling...
[2026-10-20 09:48:11,260.260 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 09:48:11,263.263 INFO    ] Checking for system updates...
[2026-10-20 09:48:11,301.301 INFO    ] 200
[2026-10-20 09:48:11,304.304 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:48:11,356.356 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:48:11,358.358 INFO    ] No update needed
[2026-10-20 09:48:11,361.361 INFO    ] Checking for camera pi updates...
[2026-10-20 09:48:11,398.398 INFO    ] 200
[2026-10-20 09:48:11,401.401 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:48:11,440.440 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:48:11,493.493 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:48:11,496.496 INFO    ] No camera update needed
[2026-10-20 09:48:11,498.498 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:48:11,500.500 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:48:11,506.506 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:48:11,511.511 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:48:13,550.550 INFO    ] ================================================
[2026-10-20 09:48:13,565.565 INFO    ] Launching Daemon at Tue Oct 20 09:48:13 IST 2026
[2026-10-20 09:48:13,575.575 INFO    ] ================================================
[2026-10-20 09:48:14,221.221 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:48:14
[2026-10-20 09:48:14,898.898 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:48:15,196.196 INFO    ] Initializing speech engine...
[2026-10-20 09:48:15,210.210 INFO    ] 2026-10-20 09:48:15
[2026-10-20 09:48:15,479.479 INFO    ] 2026-10-20 09:48:15
[2026-10-20 09:48:15,514.514 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:48:15,772.772 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:48:15,781.781 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:48:15,918.918 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:48:15,953.953 INFO    ] time= 20/10/2026 09:48:15
[2026-10-20 09:48:16,008.008 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:48:16,054.054 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:48:16,210.210 INFO    ] No existing commands found in stream
[2026-10-20 09:48:21,223.223 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:48:21,226.226 INFO    ] Waiting 3.20 seconds before fallback handling...
[2026-10-20 09:48:24,916.916 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 09:48:24,919.919 INFO    ] Checking for system updates...
[2026-10-20 09:48:24,955.955 INFO    ] 200
[2026-10-20 09:48:24,958.958 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:48:25,018.018 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:48:25,020.020 INFO    ] No update needed
[2026-10-20 09:48:25,023.023 INFO    ] Checking for camera pi updates...
[2026-10-20 09:48:25,056.056 INFO    ] 200
[2026-10-20 09:48:25,058.058 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:48:25,098.098 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:48:25,132.132 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:48:25,135.135 INFO    ] No camera update needed
[2026-10-20 09:48:25,137.137 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:48:25,139.139 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:48:25,145.145 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:48:25,150.150 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:48:27,188.188 INFO    ] ================================================
[2026-10-20 09:48:27,203.203 INFO    ] Launching Daemon at Tue Oct 20 09:48:27 IST 2026
[2026-10-20 09:48:27,214.214 INFO    ] ================================================
[2026-10-20 09:48:27,801.801 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:48:27
[2026-10-20 09:48:28,383.383 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:48:28,633.633 INFO    ] Initializing speech engine...
[2026-10-20 09:48:28,648.648 INFO    ] 2026-10-20 09:48:28
[2026-10-20 09:48:28,914.914 INFO    ] 2026-10-20 09:48:28
[2026-10-20 09:48:28,948.948 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:48:29,160.160 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:48:29,173.173 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:48:29,350.350 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:48:29,395.395 INFO    ] time= 20/10/2026 09:48:29
[2026-10-20 09:48:29,416.416 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:48:29,475.475 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:48:29,654.654 INFO    ] No existing commands found in stream
[2026-10-20 09:48:34,679.679 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:48:34,682.682 INFO    ] Waiting 1.37 seconds before fallback handling...
[2026-10-20 09:48:36,580.580 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:48:36,583.583 INFO    ] Checking for system updates...
[2026-10-20 09:48:36,621.621 INFO    ] 200
[2026-10-20 09:48:36,624.624 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:48:36,681.681 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:48:36,683.683 INFO    ] No update needed
[2026-10-20 09:48:36,686.686 INFO    ] Checking for camera pi updates...
[2026-10-20 09:48:36,721.721 INFO    ] 200
[2026-10-20 09:48:36,724.724 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:48:36,772.772 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:48:36,827.827 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:48:36,830.830 INFO    ] No camera update needed
[2026-10-20 09:48:36,833.833 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:48:36,835.835 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:48:36,842.842 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:48:36,847.847 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:48:38,889.889 INFO    ] ================================================
[2026-10-20 09:48:38,906.906 INFO    ] Launching Daemon at Tue Oct 20 09:48:38 IST 2026
[2026-10-20 09:48:38,918.918 INFO    ] ================================================
[2026-10-20 09:48:39,491.491 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:48:39
[2026-10-20 09:48:40,076.076 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:48:40,351.351 INFO    ] Initializing speech engine...
[2026-10-20 09:48:40,368.368 INFO    ] 2026-10-20 09:48:40
[2026-10-20 09:48:40,675.675 INFO    ] 2026-10-20 09:48:40
[2026-10-20 09:48:40,710.710 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:48:40,917.917 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:48:40,931.931 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:48:41,096.096 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:48:41,108.108 INFO    ] time= 20/10/2026 09:48:41
[2026-10-20 09:48:41,113.113 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:48:41,119.119 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:48:41,238.238 INFO    ] No existing commands found in stream
[2026-10-20 09:48:46,257.257 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:48:46,260.260 INFO    ] Waiting 0.58 seconds before fallback handling...
[2026-10-20 09:48:47,366.366 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:48:47,369.369 INFO    ] Checking for system updates...
[2026-10-20 09:48:47,406.406 INFO    ] 200
[2026-10-20 09:48:47,408.408 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:48:47,469.469 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:48:47,472.472 INFO    ] No update needed
[2026-10-20 09:48:47,474.474 INFO    ] Checking for camera pi updates...
[2026-10-20 09:48:47,507.507 INFO    ] 200
[2026-10-20 09:48:47,510.510 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:48:47,551.551 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:48:47,597.597 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:48:47,600.600 INFO    ] No camera update needed
[2026-10-20 09:48:47,602.602 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:48:47,604.604 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:48:47,610.610 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:48:47,615.615 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:48:49,654.654 INFO    ] ================================================
[2026-10-20 09:48:49,669.669 INFO    ] Launching Daemon at Tue Oct 20 09:48:49 IST 2026
[2026-10-20 09:48:49,680.680 INFO    ] ================================================
[2026-10-20 09:48:50,249.249 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:48:50
[2026-10-20 09:48:50,831.831 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:48:51,080.080 INFO    ] Initializing speech engine...
[2026-10-20 09:48:51,094.094 INFO    ] 2026-10-20 09:48:51
[2026-10-20 09:48:51,362.362 INFO    ] 2026-10-20 09:48:51
[2026-10-20 09:48:51,397.397 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:48:51,600.600 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:48:51,658.658 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:48:51,799.799 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:48:51,846.846 INFO    ] time= 20/10/2026 09:48:51
[2026-10-20 09:48:51,906.906 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:48:51,935.935 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:48:52,066.066 INFO    ] No existing commands found in stream
[2026-10-20 09:48:57,091.091 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:48:57,094.094 INFO    ] Waiting 2.38 seconds before fallback handling...
[2026-10-20 09:48:59,960.960 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 09:48:59,962.962 INFO    ] Checking for system updates...
[2026-10-20 09:48:59,998.998 INFO    ] 200
[2026-10-20 09:49:00,001.001 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:49:00,061.061 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:49:00,063.063 INFO    ] No update needed
[2026-10-20 09:49:00,065.065 INFO    ] Checking for camera pi updates...
[2026-10-20 09:49:00,103.103 INFO    ] 200
[2026-10-20 09:49:00,105.105 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:49:00,145.145 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:49:00,293.293 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:49:00,295.295 INFO    ] No camera update needed
[2026-10-20 09:49:00,297.297 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:49:00,299.299 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:49:00,305.305 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:49:00,310.310 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:49:02,352.352 INFO    ] ================================================
[2026-10-20 09:49:02,372.372 INFO    ] Launching Daemon at Tue Oct 20 09:49:02 IST 2026
[2026-10-20 09:49:02,388.388 INFO    ] ================================================
[2026-10-20 09:49:03,039.039 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:49:03
[2026-10-20 09:49:03,714.714 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:49:04,004.004 INFO    ] Initializing speech engine...
[2026-10-20 09:49:04,013.013 INFO    ] 2026-10-20 09:49:04
[2026-10-20 09:49:04,298.298 INFO    ] 2026-10-20 09:49:04
[2026-10-20 09:49:04,343.343 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:49:04,589.589 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:49:04,597.597 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:49:04,799.799 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:49:04,839.839 INFO    ] time= 20/10/2026 09:49:04
[2026-10-20 09:49:04,860.860 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:49:04,886.886 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:49:05,022.022 INFO    ] No existing commands found in stream
[2026-10-20 09:49:10,058.058 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:49:10,062.062 INFO    ] Waiting 3.04 seconds before fallback handling...
[2026-10-20 09:49:13,612.612 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:49:13,615.615 INFO    ] Checking for system updates...
[2026-10-20 09:49:13,653.653 INFO    ] 200
[2026-10-20 09:49:13,656.656 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:49:13,709.709 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:49:13,711.711 INFO    ] No update needed
[2026-10-20 09:49:13,714.714 INFO    ] Checking for camera pi updates...
[2026-10-20 09:49:13,750.750 INFO    ] 200
[2026-10-20 09:49:13,753.753 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:49:13,794.794 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:49:13,854.854 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:49:13,857.857 INFO    ] No camera update needed
[2026-10-20 09:49:13,859.859 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:49:13,862.862 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:49:13,867.867 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:49:13,872.872 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:49:15,912.912 INFO    ] ================================================
[2026-10-20 09:49:15,927.927 INFO    ] Launching Daemon at Tue Oct 20 09:49:15 IST 2026
[2026-10-20 09:49:15,938.938 INFO    ] ================================================
[2026-10-20 09:49:16,519.519 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:49:16
[2026-10-20 09:49:17,120.120 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:49:17,394.394 INFO    ] Initializing speech engine...
[2026-10-20 09:49:17,403.403 INFO    ] 2026-10-20 09:49:17
[2026-10-20 09:49:17,666.666 INFO    ] 2026-10-20 09:49:17
[2026-10-20 09:49:17,696.696 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:49:17,951.951 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:49:17,971.971 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:49:18,173.173 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:49:18,210.210 INFO    ] time= 20/10/2026 09:49:18
[2026-10-20 09:49:18,228.228 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:49:18,236.236 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:49:18,365.365 INFO    ] No existing commands found in stream
[2026-10-20 09:49:23,377.377 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:49:23,380.380 INFO    ] Waiting 0.04 seconds before fallback handling...
[2026-10-20 09:49:23,880.880 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 09:49:23,883.883 INFO    ] Checking for system updates...
[2026-10-20 09:49:23,920.920 INFO    ] 200
[2026-10-20 09:49:23,923.923 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:49:23,985.985 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:49:23,988.988 INFO    ] No update needed
[2026-10-20 09:49:23,990.990 INFO    ] Checking for camera pi updates...
[2026-10-20 09:49:24,034.034 INFO    ] 200
[2026-10-20 09:49:24,037.037 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:49:24,079.079 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:49:24,125.125 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:49:24,128.128 INFO    ] No camera update needed
[2026-10-20 09:49:24,131.131 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:49:24,135.135 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:49:24,141.141 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:49:24,147.147 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:49:26,189.189 INFO    ] ================================================
[2026-10-20 09:49:26,204.204 INFO    ] Launching Daemon at Tue Oct 20 09:49:26 IST 2026
[2026-10-20 09:49:26,216.216 INFO    ] ================================================
[2026-10-20 09:49:26,802.802 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:49:26
[2026-10-20 09:49:27,401.401 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:49:27,680.680 INFO    ] Initializing speech engine...
[2026-10-20 09:49:27,688.688 INFO    ] 2026-10-20 09:49:27
[2026-10-20 09:49:27,947.947 INFO    ] 2026-10-20 09:49:27
[2026-10-20 09:49:28,001.001 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:49:28,285.285 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:49:28,291.291 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:49:28,486.486 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:49:28,502.502 INFO    ] time= 20/10/2026 09:49:28
[2026-10-20 09:49:28,522.522 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:49:28,540.540 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:49:28,643.643 INFO    ] No existing commands found in stream
[2026-10-20 09:49:33,667.667 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:49:33,670.670 INFO    ] Waiting 2.20 seconds before fallback handling...
[2026-10-20 09:49:36,440.440 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 09:49:36,443.443 INFO    ] Checking for system updates...
[2026-10-20 09:49:36,480.480 INFO    ] 200
[2026-10-20 09:49:36,483.483 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:49:36,544.544 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:49:36,547.547 INFO    ] No update needed
[2026-10-20 09:49:36,550.550 INFO    ] Checking for camera pi updates...
[2026-10-20 09:49:36,585.585 INFO    ] 200
[2026-10-20 09:49:36,588.588 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:49:36,634.634 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:49:36,678.678 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:49:36,680.680 INFO    ] No camera update needed
[2026-10-20 09:49:36,683.683 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:49:36,685.685 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:49:36,690.690 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:49:36,695.695 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:49:38,735.735 INFO    ] ================================================
[2026-10-20 09:49:38,750.750 INFO    ] Launching Daemon at Tue Oct 20 09:49:38 IST 2026
[2026-10-20 09:49:38,760.760 INFO    ] ================================================
[2026-10-20 09:49:39,329.329 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:49:39
[2026-10-20 09:49:39,917.917 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:49:40,174.174 INFO    ] Initializing speech engine...
[2026-10-20 09:49:40,183.183 INFO    ] 2026-10-20 09:49:40
[2026-10-20 09:49:40,462.462 INFO    ] 2026-10-20 09:49:40
[2026-10-20 09:49:40,497.497 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:49:40,753.753 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:49:40,763.763 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:49:40,988.988 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:49:41,024.024 INFO    ] time= 20/10/2026 09:49:41
[2026-10-20 09:49:41,030.030 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:49:41,047.047 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:49:41,180.180 INFO    ] No existing commands found in stream
[2026-10-20 09:49:46,199.199 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:49:46,202.202 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-10-20 09:49:47,766.766 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:49:47,769.769 INFO    ] Checking for system updates...
[2026-10-20 09:49:47,805.805 INFO    ] 200
[2026-10-20 09:49:47,807.807 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:49:47,862.862 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:49:47,865.865 INFO    ] No update needed
[2026-10-20 09:49:47,867.867 INFO    ] Checking for camera pi updates...
[2026-10-20 09:49:47,900.900 INFO    ] 200
[2026-10-20 09:49:47,902.902 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:49:47,948.948 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:49:47,998.998 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:49:48,000.000 INFO    ] No camera update needed
[2026-10-20 09:49:48,002.002 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:49:48,005.005 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:49:48,010.010 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:49:48,015.015 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:49:50,055.055 INFO    ] ================================================
[2026-10-20 09:49:50,071.071 INFO    ] Launching Daemon at Tue Oct 20 09:49:50 IST 2026
[2026-10-20 09:49:50,083.083 INFO    ] ================================================
[2026-10-20 09:49:50,649.649 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:49:50
[2026-10-20 09:49:51,235.235 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:49:51,493.493 INFO    ] Initializing speech engine...
[2026-10-20 09:49:51,507.507 INFO    ] 2026-10-20 09:49:51
[2026-10-20 09:49:51,772.772 INFO    ] 2026-10-20 09:49:51
[2026-10-20 09:49:51,806.806 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:49:52,052.052 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:49:52,070.070 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:49:52,219.219 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:49:52,284.284 INFO    ] time= 20/10/2026 09:49:52
[2026-10-20 09:49:52,333.333 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:49:52,348.348 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:49:52,474.474 INFO    ] No existing commands found in stream
[2026-10-20 09:49:57,499.499 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:49:57,502.502 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-10-20 09:49:59,102.102 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 09:49:59,105.105 INFO    ] Checking for system updates...
[2026-10-20 09:49:59,142.142 INFO    ] 200
[2026-10-20 09:49:59,145.145 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:49:59,205.205 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:49:59,208.208 INFO    ] No update needed
[2026-10-20 09:49:59,211.211 INFO    ] Checking for camera pi updates...
[2026-10-20 09:49:59,246.246 INFO    ] 200
[2026-10-20 09:49:59,249.249 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:49:59,291.291 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:49:59,339.339 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:49:59,342.342 INFO    ] No camera update needed
[2026-10-20 09:49:59,345.345 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:49:59,348.348 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:49:59,354.354 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:49:59,360.360 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:50:01,402.402 INFO    ] ================================================
[2026-10-20 09:50:01,419.419 INFO    ] Launching Daemon at Tue Oct 20 09:50:01 IST 2026
[2026-10-20 09:50:01,430.430 INFO    ] ================================================
[2026-10-20 09:50:02,192.192 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:50:02
[2026-10-20 09:50:02,989.989 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:50:03,381.381 INFO    ] Initializing speech engine...
[2026-10-20 09:50:03,386.386 INFO    ] 2026-10-20 09:50:03
[2026-10-20 09:50:03,842.842 INFO    ] 2026-10-20 09:50:03
[2026-10-20 09:50:03,920.920 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:50:04,137.137 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:50:04,142.142 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:50:04,373.373 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:50:04,403.403 INFO    ] time= 20/10/2026 09:50:04
[2026-10-20 09:50:04,418.418 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:50:04,427.427 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:50:04,557.557 INFO    ] No existing commands found in stream
[2026-10-20 09:50:09,575.575 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:50:09,578.578 INFO    ] Waiting 2.16 seconds before fallback handling...
[2026-10-20 09:50:12,234.234 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 09:50:12,237.237 INFO    ] Checking for system updates...
[2026-10-20 09:50:12,272.272 INFO    ] 200
[2026-10-20 09:50:12,275.275 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:50:12,327.327 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:50:12,330.330 INFO    ] No update needed
[2026-10-20 09:50:12,333.333 INFO    ] Checking for camera pi updates...
[2026-10-20 09:50:12,366.366 INFO    ] 200
[2026-10-20 09:50:12,368.368 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:50:12,409.409 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:50:12,456.456 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:50:12,458.458 INFO    ] No camera update needed
[2026-10-20 09:50:12,461.461 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:50:12,463.463 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:50:12,468.468 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:50:12,474.474 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:50:14,516.516 INFO    ] ================================================
[2026-10-20 09:50:14,532.532 INFO    ] Launching Daemon at Tue Oct 20 09:50:14 IST 2026
[2026-10-20 09:50:14,543.543 INFO    ] ================================================
[2026-10-20 09:50:15,113.113 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:50:15
[2026-10-20 09:50:15,710.710 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:50:15,974.974 INFO    ] Initializing speech engine...
[2026-10-20 09:50:15,980.980 INFO    ] 2026-10-20 09:50:15
[2026-10-20 09:50:16,274.274 INFO    ] 2026-10-20 09:50:16
[2026-10-20 09:50:16,313.313 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:50:16,544.544 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:50:16,552.552 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:50:16,701.701 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:50:16,708.708 INFO    ] time= 20/10/2026 09:50:16
[2026-10-20 09:50:16,761.761 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:50:16,783.783 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:50:16,920.920 INFO    ] No existing commands found in stream
[2026-10-20 09:50:21,940.940 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:50:21,943.943 INFO    ] Waiting 3.69 seconds before fallback handling...
[2026-10-20 09:50:26,201.201 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 09:50:26,204.204 INFO    ] Checking for system updates...
[2026-10-20 09:50:26,241.241 INFO    ] 200
[2026-10-20 09:50:26,243.243 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:50:26,294.294 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:50:26,297.297 INFO    ] No update needed
[2026-10-20 09:50:26,300.300 INFO    ] Checking for camera pi updates...
[2026-10-20 09:50:26,334.334 INFO    ] 200
[2026-10-20 09:50:26,336.336 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:50:26,381.381 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:50:26,433.433 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:50:26,435.435 INFO    ] No camera update needed
[2026-10-20 09:50:26,437.437 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:50:26,440.440 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:50:26,445.445 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:50:26,450.450 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:50:28,490.490 INFO    ] ================================================
[2026-10-20 09:50:28,507.507 INFO    ] Launching Daemon at Tue Oct 20 09:50:28 IST 2026
[2026-10-20 09:50:28,518.518 INFO    ] ================================================
[2026-10-20 09:50:29,101.101 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:50:29
[2026-10-20 09:50:29,688.688 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:50:29,958.958 INFO    ] Initializing speech engine...
[2026-10-20 09:50:29,967.967 INFO    ] 2026-10-20 09:50:29
[2026-10-20 09:50:30,240.240 INFO    ] 2026-10-20 09:50:30
[2026-10-20 09:50:30,283.283 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:50:30,563.563 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:50:30,571.571 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:50:30,760.760 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:50:30,771.771 INFO    ] time= 20/10/2026 09:50:30
[2026-10-20 09:50:30,789.789 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:50:30,806.806 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:50:30,934.934 INFO    ] No existing commands found in stream
[2026-10-20 09:50:35,959.959 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:50:35,961.961 INFO    ] Waiting 2.18 seconds before fallback handling...
[2026-10-20 09:50:38,641.641 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 09:50:38,644.644 INFO    ] Checking for system updates...
[2026-10-20 09:50:38,683.683 INFO    ] 200
[2026-10-20 09:50:38,685.685 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:50:38,737.737 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:50:38,740.740 INFO    ] No update needed
[2026-10-20 09:50:38,742.742 INFO    ] Checking for camera pi updates...
[2026-10-20 09:50:38,776.776 INFO    ] 200
[2026-10-20 09:50:38,778.778 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:50:38,822.822 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:50:38,877.877 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:50:38,880.880 INFO    ] No camera update needed
[2026-10-20 09:50:38,882.882 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:50:38,884.884 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:50:38,890.890 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:50:38,894.894 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:50:40,934.934 INFO    ] ================================================
[2026-10-20 09:50:40,951.951 INFO    ] Launching Daemon at Tue Oct 20 09:50:40 IST 2026
[2026-10-20 09:50:40,962.962 INFO    ] ================================================
[2026-10-20 09:50:41,614.614 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:50:41
[2026-10-20 09:50:42,284.284 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:50:42,587.587 INFO    ] Initializing speech engine...
[2026-10-20 09:50:42,601.601 INFO    ] 2026-10-20 09:50:42
[2026-10-20 09:50:42,882.882 INFO    ] 2026-10-20 09:50:42
[2026-10-20 09:50:42,927.927 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:50:43,208.208 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:50:43,217.217 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:50:43,411.411 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:50:43,417.417 INFO    ] time= 20/10/2026 09:50:43
[2026-10-20 09:50:43,436.436 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:50:43,454.454 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:50:43,573.573 INFO    ] No existing commands found in stream
[2026-10-20 09:50:48,609.609 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:50:48,612.612 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-10-20 09:50:50,900.900 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 09:50:50,903.903 INFO    ] Checking for system updates...
[2026-10-20 09:50:50,941.941 INFO    ] 200
[2026-10-20 09:50:50,943.943 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:50:50,996.996 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:50:50,999.999 INFO    ] No update needed
[2026-10-20 09:50:51,002.002 INFO    ] Checking for camera pi updates...
[2026-10-20 09:50:51,036.036 INFO    ] 200
[2026-10-20 09:50:51,039.039 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:50:51,081.081 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:50:51,135.135 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:50:51,138.138 INFO    ] No camera update needed
[2026-10-20 09:50:51,141.141 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:50:51,144.144 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:50:51,150.150 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:50:51,155.155 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:50:53,195.195 INFO    ] ================================================
[2026-10-20 09:50:53,210.210 INFO    ] Launching Daemon at Tue Oct 20 09:50:53 IST 2026
[2026-10-20 09:50:53,222.222 INFO    ] ================================================
[2026-10-20 09:50:53,802.802 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:50:53
[2026-10-20 09:50:54,385.385 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:50:54,651.651 INFO    ] Initializing speech engine...
[2026-10-20 09:50:54,661.661 INFO    ] 2026-10-20 09:50:54
[2026-10-20 09:50:54,906.906 INFO    ] 2026-10-20 09:50:54
[2026-10-20 09:50:54,941.941 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:50:55,211.211 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:50:55,222.222 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:50:55,386.386 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:50:55,398.398 INFO    ] time= 20/10/2026 09:50:55
[2026-10-20 09:50:55,459.459 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:50:55,493.493 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:50:55,602.602 INFO    ] No existing commands found in stream
[2026-10-20 09:51:00,614.614 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:51:00,617.617 INFO    ] Waiting 2.25 seconds before fallback handling...
[2026-10-20 09:51:03,409.409 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:51:03,411.411 INFO    ] Checking for system updates...
[2026-10-20 09:51:03,450.450 INFO    ] 200
[2026-10-20 09:51:03,453.453 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:51:03,504.504 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:51:03,506.506 INFO    ] No update needed
[2026-10-20 09:51:03,509.509 INFO    ] Checking for camera pi updates...
[2026-10-20 09:51:03,544.544 INFO    ] 200
[2026-10-20 09:51:03,546.546 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:51:03,585.585 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:51:03,640.640 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:51:03,642.642 INFO    ] No camera update needed
[2026-10-20 09:51:03,644.644 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:51:03,646.646 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:51:03,652.652 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:51:03,657.657 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:51:05,697.697 INFO    ] ================================================
[2026-10-20 09:51:05,713.713 INFO    ] Launching Daemon at Tue Oct 20 09:51:05 IST 2026
[2026-10-20 09:51:05,725.725 INFO    ] ================================================
[2026-10-20 09:51:06,293.293 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:51:06
[2026-10-20 09:51:06,884.884 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:51:07,167.167 INFO    ] Initializing speech engine...
[2026-10-20 09:51:07,176.176 INFO    ] 2026-10-20 09:51:07
[2026-10-20 09:51:07,440.440 INFO    ] 2026-10-20 09:51:07
[2026-10-20 09:51:07,494.494 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:51:07,778.778 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:51:07,786.786 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:51:07,978.978 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:51:07,988.988 INFO    ] time= 20/10/2026 09:51:07
[2026-10-20 09:51:08,004.004 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:51:08,023.023 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:51:08,162.162 INFO    ] No existing commands found in stream
[2026-10-20 09:51:13,192.192 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:51:13,195.195 INFO    ] Waiting 1.24 seconds before fallback handling...
[2026-10-20 09:51:14,956.956 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:51:14,959.959 INFO    ] Checking for system updates...
[2026-10-20 09:51:14,995.995 INFO    ] 200
[2026-10-20 09:51:14,997.997 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:51:15,050.050 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:51:15,052.052 INFO    ] No update needed
[2026-10-20 09:51:15,055.055 INFO    ] Checking for camera pi updates...
[2026-10-20 09:51:15,088.088 INFO    ] 200
[2026-10-20 09:51:15,091.091 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:51:15,131.131 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:51:15,177.177 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:51:15,179.179 INFO    ] No camera update needed
[2026-10-20 09:51:15,182.182 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:51:15,184.184 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:51:15,189.189 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:51:15,194.194 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:51:17,234.234 INFO    ] ================================================
[2026-10-20 09:51:17,249.249 INFO    ] Launching Daemon at Tue Oct 20 09:51:17 IST 2026
[2026-10-20 09:51:17,260.260 INFO    ] ================================================
[2026-10-20 09:51:17,830.830 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:51:17
[2026-10-20 09:51:18,418.418 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:51:18,679.679 INFO    ] Initializing speech engine...
[2026-10-20 09:51:18,693.693 INFO    ] 2026-10-20 09:51:18
[2026-10-20 09:51:18,978.978 INFO    ] 2026-10-20 09:51:18
[2026-10-20 09:51:19,016.016 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:51:19,305.305 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:51:19,314.314 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:51:19,467.467 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:51:19,511.511 INFO    ] time= 20/10/2026 09:51:19
[2026-10-20 09:51:19,580.580 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:51:19,620.620 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:51:19,770.770 INFO    ] No existing commands found in stream
[2026-10-20 09:51:24,797.797 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:51:24,799.799 INFO    ] Waiting 3.61 seconds before fallback handling...
[2026-10-20 09:51:28,950.950 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:51:28,953.953 INFO    ] Checking for system updates...
[2026-10-20 09:51:28,989.989 INFO    ] 200
[2026-10-20 09:51:28,992.992 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:51:29,045.045 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:51:29,047.047 INFO    ] No update needed
[2026-10-20 09:51:29,049.049 INFO    ] Checking for camera pi updates...
[2026-10-20 09:51:29,083.083 INFO    ] 200
[2026-10-20 09:51:29,086.086 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:51:29,126.126 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:51:29,176.176 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:51:29,179.179 INFO    ] No camera update needed
[2026-10-20 09:51:29,181.181 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:51:29,184.184 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:51:29,189.189 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:51:29,194.194 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:51:31,232.232 INFO    ] ================================================
[2026-10-20 09:51:31,247.247 INFO    ] Launching Daemon at Tue Oct 20 09:51:31 IST 2026
[2026-10-20 09:51:31,258.258 INFO    ] ================================================
[2026-10-20 09:51:31,859.859 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:51:31
[2026-10-20 09:51:32,483.483 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:51:32,760.760 INFO    ] Initializing speech engine...
[2026-10-20 09:51:32,783.783 INFO    ] 2026-10-20 09:51:32
[2026-10-20 09:51:33,048.048 INFO    ] 2026-10-20 09:51:33
[2026-10-20 09:51:33,084.084 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:51:33,341.341 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:51:33,351.351 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:51:33,512.512 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:51:33,515.515 INFO    ] time= 20/10/2026 09:51:33
[2026-10-20 09:51:33,517.517 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:51:33,561.561 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:51:33,668.668 INFO    ] No existing commands found in stream
[2026-10-20 09:51:38,680.680 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:51:38,683.683 INFO    ] Waiting 2.73 seconds before fallback handling...
[2026-10-20 09:51:41,943.943 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:51:41,945.945 INFO    ] Checking for system updates...
[2026-10-20 09:51:41,981.981 INFO    ] 200
[2026-10-20 09:51:41,983.983 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:51:42,046.046 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:51:42,049.049 INFO    ] No update needed
[2026-10-20 09:51:42,051.051 INFO    ] Checking for camera pi updates...
[2026-10-20 09:51:42,086.086 INFO    ] 200
[2026-10-20 09:51:42,089.089 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:51:42,130.130 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:51:42,174.174 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:51:42,177.177 INFO    ] No camera update needed
[2026-10-20 09:51:42,179.179 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:51:42,182.182 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:51:42,189.189 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:51:42,194.194 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:51:44,234.234 INFO    ] ================================================
[2026-10-20 09:51:44,249.249 INFO    ] Launching Daemon at Tue Oct 20 09:51:44 IST 2026
[2026-10-20 09:51:44,260.260 INFO    ] ================================================
[2026-10-20 09:51:44,832.832 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:51:44
[2026-10-20 09:51:45,421.421 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:51:45,689.689 INFO    ] Initializing speech engine...
[2026-10-20 09:51:45,700.700 INFO    ] 2026-10-20 09:51:45
[2026-10-20 09:51:45,945.945 INFO    ] 2026-10-20 09:51:45
[2026-10-20 09:51:45,980.980 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:51:46,236.236 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:51:46,241.241 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:51:46,447.447 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:51:46,496.496 INFO    ] time= 20/10/2026 09:51:46
[2026-10-20 09:51:46,514.514 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:51:46,522.522 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:51:46,694.694 INFO    ] No existing commands found in stream
[2026-10-20 09:51:51,719.719 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:51:51,722.722 INFO    ] Waiting 2.87 seconds before fallback handling...
[2026-10-20 09:51:55,107.107 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 09:51:55,111.111 INFO    ] Checking for system updates...
[2026-10-20 09:51:55,153.153 INFO    ] 200
[2026-10-20 09:51:55,156.156 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:51:55,215.215 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:51:55,218.218 INFO    ] No update needed
[2026-10-20 09:51:55,221.221 INFO    ] Checking for camera pi updates...
[2026-10-20 09:51:55,256.256 INFO    ] 200
[2026-10-20 09:51:55,259.259 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:51:55,301.301 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:51:55,351.351 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:51:55,354.354 INFO    ] No camera update needed
[2026-10-20 09:51:55,357.357 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:51:55,360.360 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:51:55,366.366 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:51:55,372.372 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:51:57,414.414 INFO    ] ================================================
[2026-10-20 09:51:57,429.429 INFO    ] Launching Daemon at Tue Oct 20 09:51:57 IST 2026
[2026-10-20 09:51:57,441.441 INFO    ] ================================================
[2026-10-20 09:51:58,117.117 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:51:58
[2026-10-20 09:51:58,817.817 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:51:59,139.139 INFO    ] Initializing speech engine...
[2026-10-20 09:51:59,146.146 INFO    ] 2026-10-20 09:51:59
[2026-10-20 09:51:59,435.435 INFO    ] 2026-10-20 09:51:59
[2026-10-20 09:51:59,545.545 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:51:59,760.760 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:51:59,770.770 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:51:59,963.963 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:51:59,982.982 INFO    ] time= 20/10/2026 09:51:59
[2026-10-20 09:51:59,991.991 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:52:00,021.021 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:52:00,151.151 INFO    ] No existing commands found in stream
[2026-10-20 09:52:05,177.177 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:52:05,180.180 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-10-20 09:52:08,820.820 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:52:08,823.823 INFO    ] Checking for system updates...
[2026-10-20 09:52:08,860.860 INFO    ] 200
[2026-10-20 09:52:08,862.862 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:52:08,923.923 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:52:08,926.926 INFO    ] No update needed
[2026-10-20 09:52:08,929.929 INFO    ] Checking for camera pi updates...
[2026-10-20 09:52:08,967.967 INFO    ] 200
[2026-10-20 09:52:08,971.971 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:52:09,026.026 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:52:09,082.082 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:52:09,084.084 INFO    ] No camera update needed
[2026-10-20 09:52:09,087.087 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:52:09,090.090 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:52:09,097.097 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:52:09,103.103 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:52:11,145.145 INFO    ] ================================================
[2026-10-20 09:52:11,160.160 INFO    ] Launching Daemon at Tue Oct 20 09:52:11 IST 2026
[2026-10-20 09:52:11,171.171 INFO    ] ================================================
[2026-10-20 09:52:11,766.766 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:52:11
[2026-10-20 09:52:12,374.374 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:52:12,630.630 INFO    ] Initializing speech engine...
[2026-10-20 09:52:12,638.638 INFO    ] 2026-10-20 09:52:12
[2026-10-20 09:52:12,934.934 INFO    ] 2026-10-20 09:52:12
[2026-10-20 09:52:12,972.972 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:52:13,179.179 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:52:13,193.193 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:52:13,364.364 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:52:13,369.369 INFO    ] time= 20/10/2026 09:52:13
[2026-10-20 09:52:13,375.375 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:52:13,402.402 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:52:13,544.544 INFO    ] No existing commands found in stream
[2026-10-20 09:52:18,570.570 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:52:18,572.572 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-10-20 09:52:22,544.544 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:52:22,547.547 INFO    ] Checking for system updates...
[2026-10-20 09:52:22,589.589 INFO    ] 200
[2026-10-20 09:52:22,592.592 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:52:22,652.652 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:52:22,654.654 INFO    ] No update needed
[2026-10-20 09:52:22,657.657 INFO    ] Checking for camera pi updates...
[2026-10-20 09:52:22,694.694 INFO    ] 200
[2026-10-20 09:52:22,696.696 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:52:22,742.742 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:52:22,772.772 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:52:22,774.774 INFO    ] No camera update needed
[2026-10-20 09:52:22,777.777 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:52:22,779.779 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:52:22,784.784 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:52:22,789.789 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:52:24,830.830 INFO    ] ================================================
[2026-10-20 09:52:24,845.845 INFO    ] Launching Daemon at Tue Oct 20 09:52:24 IST 2026
[2026-10-20 09:52:24,855.855 INFO    ] ================================================
[2026-10-20 09:52:25,523.523 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:52:25
[2026-10-20 09:52:26,211.211 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:52:26,500.500 INFO    ] Initializing speech engine...
[2026-10-20 09:52:26,507.507 INFO    ] 2026-10-20 09:52:26
[2026-10-20 09:52:26,769.769 INFO    ] 2026-10-20 09:52:26
[2026-10-20 09:52:26,799.799 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:52:27,051.051 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:52:27,056.056 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:52:27,205.205 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:52:27,265.265 INFO    ] time= 20/10/2026 09:52:27
[2026-10-20 09:52:27,310.310 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:52:27,323.323 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:52:27,470.470 INFO    ] No existing commands found in stream
[2026-10-20 09:52:32,491.491 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:52:32,494.494 INFO    ] Waiting 0.86 seconds before fallback handling...
[2026-10-20 09:52:33,829.829 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:52:33,832.832 INFO    ] Checking for system updates...
[2026-10-20 09:52:33,868.868 INFO    ] 200
[2026-10-20 09:52:33,871.871 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:52:33,924.924 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:52:33,927.927 INFO    ] No update needed
[2026-10-20 09:52:33,930.930 INFO    ] Checking for camera pi updates...
[2026-10-20 09:52:33,971.971 INFO    ] 200
[2026-10-20 09:52:33,974.974 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:52:34,016.016 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:52:34,066.066 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:52:34,069.069 INFO    ] No camera update needed
[2026-10-20 09:52:34,072.072 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:52:34,074.074 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:52:34,081.081 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:52:34,087.087 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:52:36,128.128 INFO    ] ================================================
[2026-10-20 09:52:36,143.143 INFO    ] Launching Daemon at Tue Oct 20 09:52:36 IST 2026
[2026-10-20 09:52:36,154.154 INFO    ] ================================================
[2026-10-20 09:52:36,819.819 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:52:36
[2026-10-20 09:52:37,507.507 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:52:37,806.806 INFO    ] Initializing speech engine...
[2026-10-20 09:52:37,820.820 INFO    ] 2026-10-20 09:52:37
[2026-10-20 09:52:38,105.105 INFO    ] 2026-10-20 09:52:38
[2026-10-20 09:52:38,159.159 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:52:38,398.398 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:52:38,421.421 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:52:38,662.662 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:52:38,670.670 INFO    ] time= 20/10/2026 09:52:38
[2026-10-20 09:52:38,688.688 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:52:38,712.712 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:52:38,841.841 INFO    ] No existing commands found in stream
[2026-10-20 09:52:43,866.866 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:52:43,870.870 INFO    ] Waiting 3.87 seconds before fallback handling...
[2026-10-20 09:52:48,287.287 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 09:52:48,290.290 INFO    ] Checking for system updates...
[2026-10-20 09:52:48,327.327 INFO    ] 200
[2026-10-20 09:52:48,330.330 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:52:48,386.386 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:52:48,389.389 INFO    ] No update needed
[2026-10-20 09:52:48,392.392 INFO    ] Checking for camera pi updates...
[2026-10-20 09:52:48,426.426 INFO    ] 200
[2026-10-20 09:52:48,429.429 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:52:48,471.471 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:52:48,520.520 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:52:48,523.523 INFO    ] No camera update needed
[2026-10-20 09:52:48,525.525 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:52:48,528.528 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:52:48,534.534 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:52:48,540.540 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:52:50,581.581 INFO    ] ================================================
[2026-10-20 09:52:50,596.596 INFO    ] Launching Daemon at Tue Oct 20 09:52:50 IST 2026
[2026-10-20 09:52:50,607.607 INFO    ] ================================================
[2026-10-20 09:52:51,174.174 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:52:51
[2026-10-20 09:52:51,759.759 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:52:52,015.015 INFO    ] Initializing speech engine...
[2026-10-20 09:52:52,021.021 INFO    ] 2026-10-20 09:52:52
[2026-10-20 09:52:52,323.323 INFO    ] 2026-10-20 09:52:52
[2026-10-20 09:52:52,359.359 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:52:52,562.562 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:52:52,570.570 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:52:52,745.745 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:52:52,753.753 INFO    ] time= 20/10/2026 09:52:52
[2026-10-20 09:52:52,758.758 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:52:52,765.765 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:52:52,907.907 INFO    ] No existing commands found in stream
[2026-10-20 09:52:57,927.927 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:52:57,930.930 INFO    ] Waiting 2.58 seconds before fallback handling...
[2026-10-20 09:53:01,035.035 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:53:01,038.038 INFO    ] Checking for system updates...
[2026-10-20 09:53:01,074.074 INFO    ] 200
[2026-10-20 09:53:01,077.077 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:53:01,138.138 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:53:01,141.141 INFO    ] No update needed
[2026-10-20 09:53:01,145.145 INFO    ] Checking for camera pi updates...
[2026-10-20 09:53:01,184.184 INFO    ] 200
[2026-10-20 09:53:01,187.187 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:53:01,230.230 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:53:01,282.282 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:53:01,286.286 INFO    ] No camera update needed
[2026-10-20 09:53:01,291.291 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:53:01,295.295 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:53:01,304.304 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:53:01,318.318 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:53:03,370.370 INFO    ] ================================================
[2026-10-20 09:53:03,385.385 INFO    ] Launching Daemon at Tue Oct 20 09:53:03 IST 2026
[2026-10-20 09:53:03,396.396 INFO    ] ================================================
[2026-10-20 09:53:04,039.039 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:53:04
[2026-10-20 09:53:04,700.700 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:53:05,000.000 INFO    ] Initializing speech engine...
[2026-10-20 09:53:05,008.008 INFO    ] 2026-10-20 09:53:05
[2026-10-20 09:53:05,291.291 INFO    ] 2026-10-20 09:53:05
[2026-10-20 09:53:05,335.335 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:53:05,586.586 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:53:05,605.605 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:53:05,815.815 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:53:05,828.828 INFO    ] time= 20/10/2026 09:53:05
[2026-10-20 09:53:05,851.851 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:53:05,880.880 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:53:05,984.984 INFO    ] No existing commands found in stream
[2026-10-20 09:53:11,008.008 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:53:11,011.011 INFO    ] Waiting 0.47 seconds before fallback handling...
[2026-10-20 09:53:12,030.030 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:53:12,033.033 INFO    ] Checking for system updates...
[2026-10-20 09:53:12,070.070 INFO    ] 200
[2026-10-20 09:53:12,072.072 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:53:12,127.127 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:53:12,130.130 INFO    ] No update needed
[2026-10-20 09:53:12,132.132 INFO    ] Checking for camera pi updates...
[2026-10-20 09:53:12,166.166 INFO    ] 200
[2026-10-20 09:53:12,168.168 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:53:12,208.208 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:53:12,351.351 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:53:12,354.354 INFO    ] No camera update needed
[2026-10-20 09:53:12,356.356 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:53:12,358.358 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:53:12,364.364 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:53:12,369.369 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:53:14,408.408 INFO    ] ================================================
[2026-10-20 09:53:14,423.423 INFO    ] Launching Daemon at Tue Oct 20 09:53:14 IST 2026
[2026-10-20 09:53:14,434.434 INFO    ] ================================================
[2026-10-20 09:53:15,075.075 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:53:15
[2026-10-20 09:53:15,735.735 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:53:16,032.032 INFO    ] Initializing speech engine...
[2026-10-20 09:53:16,046.046 INFO    ] 2026-10-20 09:53:16
[2026-10-20 09:53:16,351.351 INFO    ] 2026-10-20 09:53:16
[2026-10-20 09:53:16,439.439 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:53:16,652.652 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:53:16,659.659 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:53:16,853.853 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:53:16,870.870 INFO    ] time= 20/10/2026 09:53:16
[2026-10-20 09:53:16,901.901 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:53:16,908.908 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:53:17,016.016 INFO    ] No existing commands found in stream
[2026-10-20 09:53:22,046.046 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:53:22,049.049 INFO    ] Waiting 1.24 seconds before fallback handling...
[2026-10-20 09:53:24,332.332 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:53:24,335.335 INFO    ] Checking for system updates...
[2026-10-20 09:53:24,372.372 INFO    ] 200
[2026-10-20 09:53:24,374.374 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:53:24,433.433 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:53:24,436.436 INFO    ] No update needed
[2026-10-20 09:53:24,438.438 INFO    ] Checking for camera pi updates...
[2026-10-20 09:53:24,472.472 INFO    ] 200
[2026-10-20 09:53:24,475.475 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:53:24,515.515 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:53:24,557.557 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:53:24,560.560 INFO    ] No camera update needed
[2026-10-20 09:53:24,562.562 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:53:24,564.564 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:53:24,570.570 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:53:24,575.575 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:53:26,614.614 INFO    ] ================================================
[2026-10-20 09:53:26,629.629 INFO    ] Launching Daemon at Tue Oct 20 09:53:26 IST 2026
[2026-10-20 09:53:26,640.640 INFO    ] ================================================
[2026-10-20 09:53:27,209.209 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:53:27
[2026-10-20 09:53:27,796.796 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:53:28,068.068 INFO    ] Initializing speech engine...
[2026-10-20 09:53:28,076.076 INFO    ] 2026-10-20 09:53:28
[2026-10-20 09:53:28,334.334 INFO    ] 2026-10-20 09:53:28
[2026-10-20 09:53:28,384.384 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:53:28,613.613 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:53:28,618.618 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:53:28,832.832 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:53:28,875.875 INFO    ] time= 20/10/2026 09:53:28
[2026-10-20 09:53:28,881.881 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:53:28,898.898 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:53:29,042.042 INFO    ] No existing commands found in stream
[2026-10-20 09:53:34,079.079 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:53:34,082.082 INFO    ] Waiting 0.16 seconds before fallback handling...
[2026-10-20 09:53:34,737.737 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:53:34,740.740 INFO    ] Checking for system updates...
[2026-10-20 09:53:34,775.775 INFO    ] 200
[2026-10-20 09:53:34,777.777 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:53:34,834.834 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:53:34,837.837 INFO    ] No update needed
[2026-10-20 09:53:34,839.839 INFO    ] Checking for camera pi updates...
[2026-10-20 09:53:34,872.872 INFO    ] 200
[2026-10-20 09:53:34,875.875 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:53:34,915.915 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:53:34,974.974 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:53:34,977.977 INFO    ] No camera update needed
[2026-10-20 09:53:34,979.979 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:53:34,982.982 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:53:34,987.987 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:53:34,992.992 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:53:37,031.031 INFO    ] ================================================
[2026-10-20 09:53:37,047.047 INFO    ] Launching Daemon at Tue Oct 20 09:53:37 IST 2026
[2026-10-20 09:53:37,057.057 INFO    ] ================================================
[2026-10-20 09:53:37,638.638 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:53:37
[2026-10-20 09:53:38,231.231 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:53:38,502.502 INFO    ] Initializing speech engine...
[2026-10-20 09:53:38,522.522 INFO    ] 2026-10-20 09:53:38
[2026-10-20 09:53:38,786.786 INFO    ] 2026-10-20 09:53:38
[2026-10-20 09:53:38,821.821 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:53:39,048.048 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:53:39,097.097 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:53:39,269.269 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:53:39,276.276 INFO    ] time= 20/10/2026 09:53:39
[2026-10-20 09:53:39,325.325 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:53:39,359.359 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:53:39,478.478 INFO    ] No existing commands found in stream
[2026-10-20 09:53:44,490.490 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:53:44,492.492 INFO    ] Waiting 3.50 seconds before fallback handling...
[2026-10-20 09:53:48,505.505 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 09:53:48,508.508 INFO    ] Checking for system updates...
[2026-10-20 09:53:48,544.544 INFO    ] 200
[2026-10-20 09:53:48,547.547 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:53:48,600.600 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:53:48,602.602 INFO    ] No update needed
[2026-10-20 09:53:48,604.604 INFO    ] Checking for camera pi updates...
[2026-10-20 09:53:48,638.638 INFO    ] 200
[2026-10-20 09:53:48,640.640 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:53:48,680.680 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:53:48,724.724 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:53:48,726.726 INFO    ] No camera update needed
[2026-10-20 09:53:48,728.728 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:53:48,731.731 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:53:48,736.736 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:53:48,741.741 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:53:50,780.780 INFO    ] ================================================
[2026-10-20 09:53:50,795.795 INFO    ] Launching Daemon at Tue Oct 20 09:53:50 IST 2026
[2026-10-20 09:53:50,806.806 INFO    ] ================================================
[2026-10-20 09:53:51,444.444 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:53:51
[2026-10-20 09:53:52,103.103 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:53:52,405.405 INFO    ] Initializing speech engine...
[2026-10-20 09:53:52,420.420 INFO    ] 2026-10-20 09:53:52
[2026-10-20 09:53:52,734.734 INFO    ] 2026-10-20 09:53:52
[2026-10-20 09:53:52,816.816 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:53:53,033.033 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:53:53,043.043 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:53:53,236.236 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:53:53,252.252 INFO    ] time= 20/10/2026 09:53:53
[2026-10-20 09:53:53,261.261 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:53:53,287.287 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:53:53,426.426 INFO    ] No existing commands found in stream
[2026-10-20 09:53:58,451.451 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:53:58,454.454 INFO    ] Waiting 0.50 seconds before fallback handling...
[2026-10-20 09:53:59,466.466 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:53:59,469.469 INFO    ] Checking for system updates...
[2026-10-20 09:53:59,505.505 INFO    ] 200
[2026-10-20 09:53:59,508.508 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:53:59,561.561 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:53:59,564.564 INFO    ] No update needed
[2026-10-20 09:53:59,566.566 INFO    ] Checking for camera pi updates...
[2026-10-20 09:53:59,603.603 INFO    ] 200
[2026-10-20 09:53:59,606.606 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:53:59,654.654 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:53:59,700.700 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:53:59,702.702 INFO    ] No camera update needed
[2026-10-20 09:53:59,705.705 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:53:59,707.707 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:53:59,712.712 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:53:59,717.717 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:54:01,760.760 INFO    ] ================================================
[2026-10-20 09:54:01,782.782 INFO    ] Launching Daemon at Tue Oct 20 09:54:01 IST 2026
[2026-10-20 09:54:01,794.794 INFO    ] ================================================
[2026-10-20 09:54:02,530.530 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:54:02
[2026-10-20 09:54:03,172.172 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:54:03,444.444 INFO    ] Initializing speech engine...
[2026-10-20 09:54:03,451.451 INFO    ] 2026-10-20 09:54:03
[2026-10-20 09:54:03,708.708 INFO    ] 2026-10-20 09:54:03
[2026-10-20 09:54:03,762.762 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:54:03,985.985 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:54:03,991.991 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:54:04,195.195 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:54:04,246.246 INFO    ] time= 20/10/2026 09:54:04
[2026-10-20 09:54:04,252.252 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:54:04,269.269 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:54:04,401.401 INFO    ] No existing commands found in stream
[2026-10-20 09:54:09,423.423 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:54:09,426.426 INFO    ] Waiting 1.98 seconds before fallback handling...
[2026-10-20 09:54:11,937.937 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 09:54:11,940.940 INFO    ] Checking for system updates...
[2026-10-20 09:54:11,975.975 INFO    ] 200
[2026-10-20 09:54:11,977.977 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:54:12,030.030 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:54:12,033.033 INFO    ] No update needed
[2026-10-20 09:54:12,035.035 INFO    ] Checking for camera pi updates...
[2026-10-20 09:54:12,069.069 INFO    ] 200
[2026-10-20 09:54:12,072.072 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:54:12,112.112 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:54:12,154.154 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:54:12,156.156 INFO    ] No camera update needed
[2026-10-20 09:54:12,159.159 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:54:12,161.161 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:54:12,166.166 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:54:12,171.171 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:54:14,212.212 INFO    ] ================================================
[2026-10-20 09:54:14,227.227 INFO    ] Launching Daemon at Tue Oct 20 09:54:14 IST 2026
[2026-10-20 09:54:14,238.238 INFO    ] ================================================
[2026-10-20 09:54:14,887.887 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:54:14
[2026-10-20 09:54:15,556.556 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:54:15,861.861 INFO    ] Initializing speech engine...
[2026-10-20 09:54:15,869.869 INFO    ] 2026-10-20 09:54:15
[2026-10-20 09:54:16,157.157 INFO    ] 2026-10-20 09:54:16
[2026-10-20 09:54:16,203.203 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:54:16,453.453 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:54:16,462.462 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:54:16,615.615 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:54:16,660.660 INFO    ] time= 20/10/2026 09:54:16
[2026-10-20 09:54:16,704.704 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:54:16,753.753 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:54:16,923.923 INFO    ] No existing commands found in stream
[2026-10-20 09:54:21,939.939 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:54:21,942.942 INFO    ] Waiting 3.08 seconds before fallback handling...
[2026-10-20 09:54:25,583.583 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:54:25,586.586 INFO    ] Checking for system updates...
[2026-10-20 09:54:25,622.622 INFO    ] 200
[2026-10-20 09:54:25,625.625 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:54:25,685.685 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:54:25,687.687 INFO    ] No update needed
[2026-10-20 09:54:25,690.690 INFO    ] Checking for camera pi updates...
[2026-10-20 09:54:25,725.725 INFO    ] 200
[2026-10-20 09:54:25,727.727 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:54:25,768.768 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:54:25,822.822 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:54:25,825.825 INFO    ] No camera update needed
[2026-10-20 09:54:25,827.827 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:54:25,830.830 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:54:25,836.836 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:54:25,843.843 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:54:27,883.883 INFO    ] ================================================
[2026-10-20 09:54:27,899.899 INFO    ] Launching Daemon at Tue Oct 20 09:54:27 IST 2026
[2026-10-20 09:54:27,909.909 INFO    ] ================================================
[2026-10-20 09:54:28,515.515 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:54:28
[2026-10-20 09:54:29,100.100 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:54:29,366.366 INFO    ] Initializing speech engine...
[2026-10-20 09:54:29,375.375 INFO    ] 2026-10-20 09:54:29
[2026-10-20 09:54:29,622.622 INFO    ] 2026-10-20 09:54:29
[2026-10-20 09:54:29,657.657 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:54:29,907.907 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:54:29,916.916 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:54:30,113.113 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:54:30,162.162 INFO    ] time= 20/10/2026 09:54:30
[2026-10-20 09:54:30,176.176 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:54:30,182.182 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:54:30,325.325 INFO    ] No existing commands found in stream
[2026-10-20 09:54:35,338.338 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:54:35,341.341 INFO    ] Waiting 0.96 seconds before fallback handling...
[2026-10-20 09:54:36,805.805 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:54:36,807.807 INFO    ] Checking for system updates...
[2026-10-20 09:54:36,842.842 INFO    ] 200
[2026-10-20 09:54:36,845.845 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:54:36,898.898 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:54:36,900.900 INFO    ] No update needed
[2026-10-20 09:54:36,903.903 INFO    ] Checking for camera pi updates...
[2026-10-20 09:54:36,940.940 INFO    ] 200
[2026-10-20 09:54:36,942.942 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:54:36,982.982 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:54:37,025.025 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:54:37,027.027 INFO    ] No camera update needed
[2026-10-20 09:54:37,030.030 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:54:37,032.032 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:54:37,037.037 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:54:37,042.042 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:54:39,083.083 INFO    ] ================================================
[2026-10-20 09:54:39,097.097 INFO    ] Launching Daemon at Tue Oct 20 09:54:39 IST 2026
[2026-10-20 09:54:39,108.108 INFO    ] ================================================
[2026-10-20 09:54:39,673.673 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:54:39
[2026-10-20 09:54:40,257.257 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:54:40,523.523 INFO    ] Initializing speech engine...
[2026-10-20 09:54:40,535.535 INFO    ] 2026-10-20 09:54:40
[2026-10-20 09:54:40,782.782 INFO    ] 2026-10-20 09:54:40
[2026-10-20 09:54:40,817.817 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:54:41,019.019 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:54:41,078.078 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:54:41,296.296 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:54:41,348.348 INFO    ] time= 20/10/2026 09:54:41
[2026-10-20 09:54:41,355.355 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:54:41,372.372 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:54:41,517.517 INFO    ] No existing commands found in stream
[2026-10-20 09:54:46,548.548 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:54:46,551.551 INFO    ] Waiting 2.86 seconds before fallback handling...
[2026-10-20 09:54:49,922.922 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:54:49,925.925 INFO    ] Checking for system updates...
[2026-10-20 09:54:49,964.964 INFO    ] 200
[2026-10-20 09:54:49,966.966 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:54:50,018.018 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:54:50,021.021 INFO    ] No update needed
[2026-10-20 09:54:50,023.023 INFO    ] Checking for camera pi updates...
[2026-10-20 09:54:50,060.060 INFO    ] 200
[2026-10-20 09:54:50,063.063 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:54:50,103.103 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:54:50,143.143 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:54:50,146.146 INFO    ] No camera update needed
[2026-10-20 09:54:50,148.148 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:54:50,151.151 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:54:50,156.156 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:54:50,161.161 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:54:52,200.200 INFO    ] ================================================
[2026-10-20 09:54:52,214.214 INFO    ] Launching Daemon at Tue Oct 20 09:54:52 IST 2026
[2026-10-20 09:54:52,225.225 INFO    ] ================================================
[2026-10-20 09:54:52,807.807 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:54:52
[2026-10-20 09:54:53,403.403 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:54:53,675.675 INFO    ] Initializing speech engine...
[2026-10-20 09:54:53,684.684 INFO    ] 2026-10-20 09:54:53
[2026-10-20 09:54:53,932.932 INFO    ] 2026-10-20 09:54:53
[2026-10-20 09:54:53,972.972 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:54:54,217.217 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:54:54,226.226 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:54:54,447.447 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:54:54,483.483 INFO    ] time= 20/10/2026 09:54:54
[2026-10-20 09:54:54,490.490 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:54:54,510.510 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:54:54,642.642 INFO    ] No existing commands found in stream
[2026-10-20 09:54:59,667.667 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:54:59,670.670 INFO    ] Waiting 0.23 seconds before fallback handling...
[2026-10-20 09:55:00,403.403 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:55:00,406.406 INFO    ] Checking for system updates...
[2026-10-20 09:55:00,442.442 INFO    ] 200
[2026-10-20 09:55:00,444.444 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:55:00,495.495 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:55:00,498.498 INFO    ] No update needed
[2026-10-20 09:55:00,500.500 INFO    ] Checking for camera pi updates...
[2026-10-20 09:55:00,534.534 INFO    ] 200
[2026-10-20 09:55:00,536.536 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:55:00,576.576 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:55:00,623.623 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:55:00,626.626 INFO    ] No camera update needed
[2026-10-20 09:55:00,628.628 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:55:00,630.630 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:55:00,636.636 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:55:00,641.641 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:55:02,694.694 INFO    ] ================================================
[2026-10-20 09:55:02,711.711 INFO    ] Launching Daemon at Tue Oct 20 09:55:02 IST 2026
[2026-10-20 09:55:02,726.726 INFO    ] ================================================
[2026-10-20 09:55:03,376.376 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:55:03
[2026-10-20 09:55:03,974.974 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:55:04,247.247 INFO    ] Initializing speech engine...
[2026-10-20 09:55:04,257.257 INFO    ] 2026-10-20 09:55:04
[2026-10-20 09:55:04,522.522 INFO    ] 2026-10-20 09:55:04
[2026-10-20 09:55:04,552.552 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:55:04,797.797 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:55:04,807.807 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:55:05,015.015 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:55:05,067.067 INFO    ] time= 20/10/2026 09:55:05
[2026-10-20 09:55:05,074.074 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:55:05,092.092 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:55:05,225.225 INFO    ] No existing commands found in stream
[2026-10-20 09:55:10,247.247 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:55:10,250.250 INFO    ] Waiting 0.83 seconds before fallback handling...
[2026-10-20 09:55:11,581.581 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:55:11,584.584 INFO    ] Checking for system updates...
[2026-10-20 09:55:11,620.620 INFO    ] 200
[2026-10-20 09:55:11,622.622 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:55:11,674.674 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:55:11,676.676 INFO    ] No update needed
[2026-10-20 09:55:11,678.678 INFO    ] Checking for camera pi updates...
[2026-10-20 09:55:11,715.715 INFO    ] 200
[2026-10-20 09:55:11,717.717 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:55:11,758.758 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:55:11,804.804 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:55:11,806.806 INFO    ] No camera update needed
[2026-10-20 09:55:11,809.809 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:55:11,811.811 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:55:11,816.816 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:55:11,821.821 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:55:13,860.860 INFO    ] ================================================
[2026-10-20 09:55:13,875.875 INFO    ] Launching Daemon at Tue Oct 20 09:55:13 IST 2026
[2026-10-20 09:55:13,885.885 INFO    ] ================================================
[2026-10-20 09:55:14,470.470 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:55:14
[2026-10-20 09:55:15,070.070 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:55:15,328.328 INFO    ] Initializing speech engine...
[2026-10-20 09:55:15,337.337 INFO    ] 2026-10-20 09:55:15
[2026-10-20 09:55:15,626.626 INFO    ] 2026-10-20 09:55:15
[2026-10-20 09:55:15,662.662 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:55:15,879.879 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:55:15,941.941 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:55:16,093.093 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:55:16,137.137 INFO    ] time= 20/10/2026 09:55:16
[2026-10-20 09:55:16,186.186 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:55:16,238.238 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:55:16,373.373 INFO    ] No existing commands found in stream
[2026-10-20 09:55:21,404.404 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:55:21,406.406 INFO    ] Waiting 1.23 seconds before fallback handling...
[2026-10-20 09:55:23,182.182 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 09:55:23,185.185 INFO    ] Checking for system updates...
[2026-10-20 09:55:23,223.223 INFO    ] 200
[2026-10-20 09:55:23,226.226 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:55:23,279.279 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:55:23,282.282 INFO    ] No update needed
[2026-10-20 09:55:23,284.284 INFO    ] Checking for camera pi updates...
[2026-10-20 09:55:23,320.320 INFO    ] 200
[2026-10-20 09:55:23,323.323 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:55:23,367.367 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:55:23,511.511 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:55:23,514.514 INFO    ] No camera update needed
[2026-10-20 09:55:23,516.516 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:55:23,519.519 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:55:23,525.525 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:55:23,531.531 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:55:25,572.572 INFO    ] ================================================
[2026-10-20 09:55:25,587.587 INFO    ] Launching Daemon at Tue Oct 20 09:55:25 IST 2026
[2026-10-20 09:55:25,598.598 INFO    ] ================================================
[2026-10-20 09:55:26,217.217 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:55:26
[2026-10-20 09:55:26,855.855 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:55:27,147.147 INFO    ] Initializing speech engine...
[2026-10-20 09:55:27,155.155 INFO    ] 2026-10-20 09:55:27
[2026-10-20 09:55:27,424.424 INFO    ] 2026-10-20 09:55:27
[2026-10-20 09:55:27,479.479 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:55:27,706.706 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:55:27,711.711 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:55:27,951.951 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:55:27,974.974 INFO    ] time= 20/10/2026 09:55:27
[2026-10-20 09:55:27,990.990 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:55:28,004.004 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:55:28,129.129 INFO    ] No existing commands found in stream
[2026-10-20 09:55:33,151.151 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:55:33,154.154 INFO    ] Waiting 3.86 seconds before fallback handling...
[2026-10-20 09:55:37,557.557 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:55:37,560.560 INFO    ] Checking for system updates...
[2026-10-20 09:55:37,597.597 INFO    ] 200
[2026-10-20 09:55:37,599.599 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:55:37,652.652 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:55:37,655.655 INFO    ] No update needed
[2026-10-20 09:55:37,658.658 INFO    ] Checking for camera pi updates...
[2026-10-20 09:55:37,692.692 INFO    ] 200
[2026-10-20 09:55:37,695.695 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:55:37,735.735 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:55:37,784.784 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:55:37,787.787 INFO    ] No camera update needed
[2026-10-20 09:55:37,790.790 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:55:37,792.792 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:55:37,798.798 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:55:37,804.804 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:55:39,844.844 INFO    ] ================================================
[2026-10-20 09:55:39,859.859 INFO    ] Launching Daemon at Tue Oct 20 09:55:39 IST 2026
[2026-10-20 09:55:39,869.869 INFO    ] ================================================
[2026-10-20 09:55:40,438.438 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:55:40
[2026-10-20 09:55:41,021.021 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:55:41,288.288 INFO    ] Initializing speech engine...
[2026-10-20 09:55:41,297.297 INFO    ] 2026-10-20 09:55:41
[2026-10-20 09:55:41,544.544 INFO    ] 2026-10-20 09:55:41
[2026-10-20 09:55:41,579.579 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:55:41,801.801 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:55:41,834.834 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:55:42,058.058 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:55:42,097.097 INFO    ] time= 20/10/2026 09:55:42
[2026-10-20 09:55:42,103.103 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:55:42,123.123 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:55:42,251.251 INFO    ] No existing commands found in stream
[2026-10-20 09:55:47,265.265 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:55:47,268.268 INFO    ] Waiting 0.07 seconds before fallback handling...
[2026-10-20 09:55:47,851.851 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:55:47,854.854 INFO    ] Checking for system updates...
[2026-10-20 09:55:47,893.893 INFO    ] 200
[2026-10-20 09:55:47,896.896 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:55:47,956.956 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:55:47,959.959 INFO    ] No update needed
[2026-10-20 09:55:47,963.963 INFO    ] Checking for camera pi updates...
[2026-10-20 09:55:47,998.998 INFO    ] 200
[2026-10-20 09:55:48,001.001 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:55:48,054.054 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:55:48,100.100 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:55:48,102.102 INFO    ] No camera update needed
[2026-10-20 09:55:48,104.104 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:55:48,106.106 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:55:48,112.112 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:55:48,117.117 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:55:50,157.157 INFO    ] ================================================
[2026-10-20 09:55:50,172.172 INFO    ] Launching Daemon at Tue Oct 20 09:55:50 IST 2026
[2026-10-20 09:55:50,182.182 INFO    ] ================================================
[2026-10-20 09:55:50,751.751 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:55:50
[2026-10-20 09:55:51,338.338 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:55:51,605.605 INFO    ] Initializing speech engine...
[2026-10-20 09:55:51,614.614 INFO    ] 2026-10-20 09:55:51
[2026-10-20 09:55:51,860.860 INFO    ] 2026-10-20 09:55:51
[2026-10-20 09:55:51,901.901 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:55:52,145.145 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:55:52,154.154 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:55:52,358.358 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:55:52,408.408 INFO    ] time= 20/10/2026 09:55:52
[2026-10-20 09:55:52,417.417 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:55:52,436.436 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:55:52,575.575 INFO    ] No existing commands found in stream
[2026-10-20 09:55:57,606.606 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:55:57,609.609 INFO    ] Waiting 2.69 seconds before fallback handling...
[2026-10-20 09:56:00,794.794 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:56:00,796.796 INFO    ] Checking for system updates...
[2026-10-20 09:56:00,831.831 INFO    ] 200
[2026-10-20 09:56:00,834.834 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:56:00,891.891 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:56:00,893.893 INFO    ] No update needed
[2026-10-20 09:56:00,895.895 INFO    ] Checking for camera pi updates...
[2026-10-20 09:56:00,933.933 INFO    ] 200
[2026-10-20 09:56:00,936.936 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:56:00,980.980 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:56:01,033.033 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:56:01,036.036 INFO    ] No camera update needed
[2026-10-20 09:56:01,038.038 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:56:01,040.040 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:56:01,046.046 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:56:01,050.050 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:56:03,100.100 INFO    ] ================================================
[2026-10-20 09:56:03,118.118 INFO    ] Launching Daemon at Tue Oct 20 09:56:03 IST 2026
[2026-10-20 09:56:03,130.130 INFO    ] ================================================
[2026-10-20 09:56:03,707.707 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:56:03
[2026-10-20 09:56:04,291.291 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:56:04,560.560 INFO    ] Initializing speech engine...
[2026-10-20 09:56:04,569.569 INFO    ] 2026-10-20 09:56:04
[2026-10-20 09:56:04,829.829 INFO    ] 2026-10-20 09:56:04
[2026-10-20 09:56:04,882.882 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:56:05,103.103 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:56:05,112.112 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:56:05,321.321 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:56:05,368.368 INFO    ] time= 20/10/2026 09:56:05
[2026-10-20 09:56:05,375.375 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:56:05,393.393 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:56:05,524.524 INFO    ] No existing commands found in stream
[2026-10-20 09:56:10,546.546 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:56:10,549.549 INFO    ] Waiting 0.30 seconds before fallback handling...
[2026-10-20 09:56:11,390.390 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:56:11,392.392 INFO    ] Checking for system updates...
[2026-10-20 09:56:11,428.428 INFO    ] 200
[2026-10-20 09:56:11,430.430 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:56:11,487.487 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:56:11,490.490 INFO    ] No update needed
[2026-10-20 09:56:11,492.492 INFO    ] Checking for camera pi updates...
[2026-10-20 09:56:11,526.526 INFO    ] 200
[2026-10-20 09:56:11,528.528 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:56:11,570.570 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:56:11,620.620 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:56:11,622.622 INFO    ] No camera update needed
[2026-10-20 09:56:11,625.625 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:56:11,627.627 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:56:11,632.632 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:56:11,637.637 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:56:13,677.677 INFO    ] ================================================
[2026-10-20 09:56:13,699.699 INFO    ] Launching Daemon at Tue Oct 20 09:56:13 IST 2026
[2026-10-20 09:56:13,710.710 INFO    ] ================================================
[2026-10-20 09:56:14,276.276 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:56:14
[2026-10-20 09:56:14,860.860 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:56:15,110.110 INFO    ] Initializing speech engine...
[2026-10-20 09:56:15,132.132 INFO    ] 2026-10-20 09:56:15
[2026-10-20 09:56:15,384.384 INFO    ] 2026-10-20 09:56:15
[2026-10-20 09:56:15,425.425 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:56:15,673.673 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:56:15,678.678 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:56:15,875.875 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:56:15,930.930 INFO    ] time= 20/10/2026 09:56:15
[2026-10-20 09:56:15,940.940 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:56:15,957.957 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:56:16,101.101 INFO    ] No existing commands found in stream
[2026-10-20 09:56:21,133.133 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:56:21,135.135 INFO    ] Waiting 3.58 seconds before fallback handling...
[2026-10-20 09:56:25,234.234 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 09:56:25,237.237 INFO    ] Checking for system updates...
[2026-10-20 09:56:25,272.272 INFO    ] 200
[2026-10-20 09:56:25,274.274 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:56:25,326.326 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:56:25,328.328 INFO    ] No update needed
[2026-10-20 09:56:25,330.330 INFO    ] Checking for camera pi updates...
[2026-10-20 09:56:25,366.366 INFO    ] 200
[2026-10-20 09:56:25,369.369 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:56:25,409.409 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:56:25,459.459 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:56:25,462.462 INFO    ] No camera update needed
[2026-10-20 09:56:25,464.464 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:56:25,466.466 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:56:25,472.472 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:56:25,477.477 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:56:27,516.516 INFO    ] ================================================
[2026-10-20 09:56:27,531.531 INFO    ] Launching Daemon at Tue Oct 20 09:56:27 IST 2026
[2026-10-20 09:56:27,542.542 INFO    ] ================================================
[2026-10-20 09:56:28,107.107 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:56:28
[2026-10-20 09:56:28,696.696 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:56:28,964.964 INFO    ] Initializing speech engine...
[2026-10-20 09:56:28,974.974 INFO    ] 2026-10-20 09:56:28
[2026-10-20 09:56:29,219.219 INFO    ] 2026-10-20 09:56:29
[2026-10-20 09:56:29,254.254 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:56:29,504.504 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:56:29,513.513 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:56:29,727.727 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:56:29,771.771 INFO    ] time= 20/10/2026 09:56:29
[2026-10-20 09:56:29,776.776 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:56:29,794.794 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:56:29,944.944 INFO    ] No existing commands found in stream
[2026-10-20 09:56:34,974.974 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:56:34,977.977 INFO    ] Waiting 0.41 seconds before fallback handling...
[2026-10-20 09:56:35,883.883 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:56:35,886.886 INFO    ] Checking for system updates...
[2026-10-20 09:56:35,922.922 INFO    ] 200
[2026-10-20 09:56:35,924.924 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:56:35,981.981 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:56:35,983.983 INFO    ] No update needed
[2026-10-20 09:56:35,986.986 INFO    ] Checking for camera pi updates...
[2026-10-20 09:56:36,022.022 INFO    ] 200
[2026-10-20 09:56:36,024.024 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:56:36,065.065 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:56:36,113.113 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:56:36,115.115 INFO    ] No camera update needed
[2026-10-20 09:56:36,118.118 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:56:36,120.120 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:56:36,126.126 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:56:36,132.132 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:56:38,171.171 INFO    ] ================================================
[2026-10-20 09:56:38,187.187 INFO    ] Launching Daemon at Tue Oct 20 09:56:38 IST 2026
[2026-10-20 09:56:38,198.198 INFO    ] ================================================
[2026-10-20 09:56:38,764.764 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:56:38
[2026-10-20 09:56:39,352.352 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:56:39,621.621 INFO    ] Initializing speech engine...
[2026-10-20 09:56:39,630.630 INFO    ] 2026-10-20 09:56:39
[2026-10-20 09:56:39,878.878 INFO    ] 2026-10-20 09:56:39
[2026-10-20 09:56:39,913.913 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:56:40,170.170 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:56:40,181.181 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:56:40,315.315 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:56:40,374.374 INFO    ] time= 20/10/2026 09:56:40
[2026-10-20 09:56:40,423.423 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:56:40,447.447 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:56:40,593.593 INFO    ] No existing commands found in stream
[2026-10-20 09:56:45,608.608 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:56:45,611.611 INFO    ] Waiting 0.89 seconds before fallback handling...
[2026-10-20 09:56:47,036.036 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:56:47,039.039 INFO    ] Checking for system updates...
[2026-10-20 09:56:47,074.074 INFO    ] 200
[2026-10-20 09:56:47,076.076 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:56:47,131.131 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:56:47,133.133 INFO    ] No update needed
[2026-10-20 09:56:47,136.136 INFO    ] Checking for camera pi updates...
[2026-10-20 09:56:47,169.169 INFO    ] 200
[2026-10-20 09:56:47,172.172 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:56:47,217.217 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:56:47,262.262 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:56:47,264.264 INFO    ] No camera update needed
[2026-10-20 09:56:47,267.267 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:56:47,269.269 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:56:47,274.274 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:56:47,280.280 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:56:49,320.320 INFO    ] ================================================
[2026-10-20 09:56:49,335.335 INFO    ] Launching Daemon at Tue Oct 20 09:56:49 IST 2026
[2026-10-20 09:56:49,345.345 INFO    ] ================================================
[2026-10-20 09:56:49,911.911 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:56:49
[2026-10-20 09:56:50,495.495 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:56:50,744.744 INFO    ] Initializing speech engine...
[2026-10-20 09:56:50,753.753 INFO    ] 2026-10-20 09:56:50
[2026-10-20 09:56:51,036.036 INFO    ] 2026-10-20 09:56:51
[2026-10-20 09:56:51,072.072 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:56:51,290.290 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:56:51,352.352 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:56:51,504.504 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:56:51,552.552 INFO    ] time= 20/10/2026 09:56:51
[2026-10-20 09:56:51,596.596 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:56:51,645.645 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:56:51,804.804 INFO    ] No existing commands found in stream
[2026-10-20 09:56:56,823.823 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:56:56,826.826 INFO    ] Waiting 3.68 seconds before fallback handling...
[2026-10-20 09:57:01,022.022 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:57:01,025.025 INFO    ] Checking for system updates...
[2026-10-20 09:57:01,060.060 INFO    ] 200
[2026-10-20 09:57:01,063.063 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:57:01,118.118 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:57:01,121.121 INFO    ] No update needed
[2026-10-20 09:57:01,123.123 INFO    ] Checking for camera pi updates...
[2026-10-20 09:57:01,156.156 INFO    ] 200
[2026-10-20 09:57:01,158.158 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:57:01,227.227 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:57:01,296.296 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:57:01,301.301 INFO    ] No camera update needed
[2026-10-20 09:57:01,306.306 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:57:01,316.316 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:57:01,324.324 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:57:01,334.334 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:57:03,381.381 INFO    ] ================================================
[2026-10-20 09:57:03,396.396 INFO    ] Launching Daemon at Tue Oct 20 09:57:03 IST 2026
[2026-10-20 09:57:03,409.409 INFO    ] ================================================
[2026-10-20 09:57:03,975.975 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:57:03
[2026-10-20 09:57:04,559.559 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:57:04,809.809 INFO    ] Initializing speech engine...
[2026-10-20 09:57:04,828.828 INFO    ] 2026-10-20 09:57:04
[2026-10-20 09:57:05,084.084 INFO    ] 2026-10-20 09:57:05
[2026-10-20 09:57:05,119.119 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:57:05,373.373 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:57:05,382.382 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:57:05,569.569 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:57:05,623.623 INFO    ] time= 20/10/2026 09:57:05
[2026-10-20 09:57:05,649.649 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:57:05,663.663 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:57:05,798.798 INFO    ] No existing commands found in stream
[2026-10-20 09:57:10,814.814 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:57:10,817.817 INFO    ] Waiting 3.36 seconds before fallback handling...
[2026-10-20 09:57:14,695.695 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:57:14,698.698 INFO    ] Checking for system updates...
[2026-10-20 09:57:14,734.734 INFO    ] 200
[2026-10-20 09:57:14,736.736 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:57:14,787.787 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:57:14,790.790 INFO    ] No update needed
[2026-10-20 09:57:14,793.793 INFO    ] Checking for camera pi updates...
[2026-10-20 09:57:14,826.826 INFO    ] 200
[2026-10-20 09:57:14,828.828 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:57:14,868.868 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:57:14,914.914 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:57:14,916.916 INFO    ] No camera update needed
[2026-10-20 09:57:14,919.919 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:57:14,921.921 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:57:14,926.926 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:57:14,931.931 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:57:16,970.970 INFO    ] ================================================
[2026-10-20 09:57:16,984.984 INFO    ] Launching Daemon at Tue Oct 20 09:57:16 IST 2026
[2026-10-20 09:57:17,995.995 INFO    ] ================================================
[2026-10-20 09:57:17,641.641 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:57:17
[2026-10-20 09:57:18,225.225 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:57:18,504.504 INFO    ] Initializing speech engine...
[2026-10-20 09:57:18,514.514 INFO    ] 2026-10-20 09:57:18
[2026-10-20 09:57:18,778.778 INFO    ] 2026-10-20 09:57:18
[2026-10-20 09:57:18,814.814 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:57:19,035.035 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:57:19,043.043 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:57:19,257.257 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:57:19,268.268 INFO    ] time= 20/10/2026 09:57:19
[2026-10-20 09:57:19,312.312 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:57:19,356.356 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:57:19,469.469 INFO    ] No existing commands found in stream
[2026-10-20 09:57:24,481.481 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:57:24,484.484 INFO    ] Waiting 2.53 seconds before fallback handling...
[2026-10-20 09:57:27,480.480 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:57:27,483.483 INFO    ] Checking for system updates...
[2026-10-20 09:57:27,517.517 INFO    ] 200
[2026-10-20 09:57:27,520.520 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:57:27,573.573 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:57:27,575.575 INFO    ] No update needed
[2026-10-20 09:57:27,578.578 INFO    ] Checking for camera pi updates...
[2026-10-20 09:57:27,612.612 INFO    ] 200
[2026-10-20 09:57:27,614.614 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:57:27,655.655 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:57:27,801.801 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:57:27,803.803 INFO    ] No camera update needed
[2026-10-20 09:57:27,805.805 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:57:27,808.808 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:57:27,813.813 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:57:27,818.818 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:57:29,857.857 INFO    ] ================================================
[2026-10-20 09:57:29,878.878 INFO    ] Launching Daemon at Tue Oct 20 09:57:29 IST 2026
[2026-10-20 09:57:29,889.889 INFO    ] ================================================
[2026-10-20 09:57:30,455.455 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:57:30
[2026-10-20 09:57:31,039.039 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:57:31,321.321 INFO    ] Initializing speech engine...
[2026-10-20 09:57:31,338.338 INFO    ] 2026-10-20 09:57:31
[2026-10-20 09:57:31,608.608 INFO    ] 2026-10-20 09:57:31
[2026-10-20 09:57:31,642.642 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:57:31,898.898 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:57:31,908.908 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:57:32,053.053 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:57:32,114.114 INFO    ] time= 20/10/2026 09:57:32
[2026-10-20 09:57:32,185.185 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:57:32,192.192 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:57:32,353.353 INFO    ] No existing commands found in stream
[2026-10-20 09:57:37,379.379 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:57:37,382.382 INFO    ] Waiting 2.82 seconds before fallback handling...
[2026-10-20 09:57:40,726.726 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:57:40,729.729 INFO    ] Checking for system updates...
[2026-10-20 09:57:40,768.768 INFO    ] 200
[2026-10-20 09:57:40,771.771 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:57:40,822.822 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:57:40,825.825 INFO    ] No update needed
[2026-10-20 09:57:40,827.827 INFO    ] Checking for camera pi updates...
[2026-10-20 09:57:40,864.864 INFO    ] 200
[2026-10-20 09:57:40,866.866 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:57:40,911.911 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:57:40,955.955 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:57:40,957.957 INFO    ] No camera update needed
[2026-10-20 09:57:40,960.960 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:57:40,962.962 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:57:40,968.968 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:57:40,973.973 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:57:43,013.013 INFO    ] ================================================
[2026-10-20 09:57:43,028.028 INFO    ] Launching Daemon at Tue Oct 20 09:57:43 IST 2026
[2026-10-20 09:57:43,039.039 INFO    ] ================================================
[2026-10-20 09:57:43,605.605 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:57:43
[2026-10-20 09:57:44,187.187 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:57:44,455.455 INFO    ] Initializing speech engine...
[2026-10-20 09:57:44,464.464 INFO    ] 2026-10-20 09:57:44
[2026-10-20 09:57:44,710.710 INFO    ] 2026-10-20 09:57:44
[2026-10-20 09:57:44,745.745 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:57:44,995.995 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:57:45,004.004 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:57:45,224.224 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:57:45,261.261 INFO    ] time= 20/10/2026 09:57:45
[2026-10-20 09:57:45,267.267 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:57:45,285.285 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:57:45,411.411 INFO    ] No existing commands found in stream
[2026-10-20 09:57:50,425.425 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:57:50,428.428 INFO    ] Waiting 2.63 seconds before fallback handling...
[2026-10-20 09:57:53,585.585 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 09:57:53,588.588 INFO    ] Checking for system updates...
[2026-10-20 09:57:53,624.624 INFO    ] 200
[2026-10-20 09:57:53,626.626 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:57:53,682.682 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:57:53,685.685 INFO    ] No update needed
[2026-10-20 09:57:53,687.687 INFO    ] Checking for camera pi updates...
[2026-10-20 09:57:53,724.724 INFO    ] 200
[2026-10-20 09:57:53,726.726 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:57:53,766.766 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:57:53,812.812 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:57:53,814.814 INFO    ] No camera update needed
[2026-10-20 09:57:53,816.816 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:57:53,819.819 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:57:53,824.824 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:57:53,829.829 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:57:55,870.870 INFO    ] ================================================
[2026-10-20 09:57:55,884.884 INFO    ] Launching Daemon at Tue Oct 20 09:57:55 IST 2026
[2026-10-20 09:57:55,895.895 INFO    ] ================================================
[2026-10-20 09:57:56,533.533 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:57:56
[2026-10-20 09:57:57,188.188 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:57:57,484.484 INFO    ] Initializing speech engine...
[2026-10-20 09:57:57,494.494 INFO    ] 2026-10-20 09:57:57
[2026-10-20 09:57:57,777.777 INFO    ] 2026-10-20 09:57:57
[2026-10-20 09:57:57,821.821 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:57:58,103.103 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:57:58,110.110 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:57:58,289.289 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:57:58,310.310 INFO    ] time= 20/10/2026 09:57:58
[2026-10-20 09:57:58,329.329 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:57:58,358.358 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:57:58,489.489 INFO    ] No existing commands found in stream
[2026-10-20 09:58:03,520.520 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:58:03,523.523 INFO    ] Waiting 1.72 seconds before fallback handling...
[2026-10-20 09:58:05,751.751 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:58:05,754.754 INFO    ] Checking for system updates...
[2026-10-20 09:58:05,792.792 INFO    ] 200
[2026-10-20 09:58:05,795.795 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:58:05,847.847 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:58:05,851.851 INFO    ] No update needed
[2026-10-20 09:58:05,853.853 INFO    ] Checking for camera pi updates...
[2026-10-20 09:58:05,892.892 INFO    ] 200
[2026-10-20 09:58:05,894.894 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:58:05,945.945 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:58:05,992.992 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:58:05,995.995 INFO    ] No camera update needed
[2026-10-20 09:58:05,998.998 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:58:06,001.001 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:58:06,007.007 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:58:06,013.013 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:58:08,054.054 INFO    ] ================================================
[2026-10-20 09:58:08,069.069 INFO    ] Launching Daemon at Tue Oct 20 09:58:08 IST 2026
[2026-10-20 09:58:08,080.080 INFO    ] ================================================
[2026-10-20 09:58:08,734.734 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:58:08
[2026-10-20 09:58:09,405.405 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:58:09,713.713 INFO    ] Initializing speech engine...
[2026-10-20 09:58:09,727.727 INFO    ] 2026-10-20 09:58:09
[2026-10-20 09:58:10,040.040 INFO    ] 2026-10-20 09:58:10
[2026-10-20 09:58:10,130.130 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:58:10,344.344 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:58:10,353.353 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:58:10,543.543 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:58:10,559.559 INFO    ] time= 20/10/2026 09:58:10
[2026-10-20 09:58:10,576.576 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:58:10,610.610 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:58:10,743.743 INFO    ] No existing commands found in stream
[2026-10-20 09:58:15,774.774 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:58:15,777.777 INFO    ] Waiting 2.24 seconds before fallback handling...
[2026-10-20 09:58:18,543.543 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 09:58:18,546.546 INFO    ] Checking for system updates...
[2026-10-20 09:58:18,583.583 INFO    ] 200
[2026-10-20 09:58:18,586.586 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:58:18,652.652 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:58:18,655.655 INFO    ] No update needed
[2026-10-20 09:58:18,658.658 INFO    ] Checking for camera pi updates...
[2026-10-20 09:58:18,699.699 INFO    ] 200
[2026-10-20 09:58:18,701.701 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:58:18,747.747 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:58:18,794.794 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:58:18,796.796 INFO    ] No camera update needed
[2026-10-20 09:58:18,799.799 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:58:18,802.802 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:58:18,808.808 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:58:18,814.814 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:58:20,853.853 INFO    ] ================================================
[2026-10-20 09:58:20,869.869 INFO    ] Launching Daemon at Tue Oct 20 09:58:20 IST 2026
[2026-10-20 09:58:20,879.879 INFO    ] ================================================
[2026-10-20 09:58:21,533.533 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:58:21
[2026-10-20 09:58:22,210.210 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:58:22,519.519 INFO    ] Initializing speech engine...
[2026-10-20 09:58:22,532.532 INFO    ] 2026-10-20 09:58:22
[2026-10-20 09:58:22,851.851 INFO    ] 2026-10-20 09:58:22
[2026-10-20 09:58:22,938.938 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:58:23,099.099 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:58:23,105.105 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:58:23,338.338 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:58:23,373.373 INFO    ] time= 20/10/2026 09:58:23
[2026-10-20 09:58:23,390.390 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:58:23,410.410 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:58:23,537.537 INFO    ] No existing commands found in stream
[2026-10-20 09:58:28,564.564 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:58:28,567.567 INFO    ] Waiting 3.06 seconds before fallback handling...
[2026-10-20 09:58:32,163.163 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 09:58:32,166.166 INFO    ] Checking for system updates...
[2026-10-20 09:58:32,207.207 INFO    ] 200
[2026-10-20 09:58:32,209.209 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:58:32,267.267 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:58:32,270.270 INFO    ] No update needed
[2026-10-20 09:58:32,273.273 INFO    ] Checking for camera pi updates...
[2026-10-20 09:58:32,311.311 INFO    ] 200
[2026-10-20 09:58:32,314.314 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:58:32,361.361 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:58:32,400.400 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:58:32,402.402 INFO    ] No camera update needed
[2026-10-20 09:58:32,404.404 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:58:32,407.407 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:58:32,413.413 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:58:32,419.419 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:58:34,461.461 INFO    ] ================================================
[2026-10-20 09:58:34,476.476 INFO    ] Launching Daemon at Tue Oct 20 09:58:34 IST 2026
[2026-10-20 09:58:34,486.486 INFO    ] ================================================
[2026-10-20 09:58:35,146.146 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:58:35
[2026-10-20 09:58:35,821.821 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:58:36,134.134 INFO    ] Initializing speech engine...
[2026-10-20 09:58:36,145.145 INFO    ] 2026-10-20 09:58:36
[2026-10-20 09:58:36,416.416 INFO    ] 2026-10-20 09:58:36
[2026-10-20 09:58:36,475.475 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:58:36,730.730 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:58:36,751.751 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:58:36,965.965 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:58:36,981.981 INFO    ] time= 20/10/2026 09:58:36
[2026-10-20 09:58:37,001.001 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:58:37,030.030 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:58:37,150.150 INFO    ] No existing commands found in stream
[2026-10-20 09:58:42,181.181 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:58:42,184.184 INFO    ] Waiting 1.58 seconds before fallback handling...
[2026-10-20 09:58:44,285.285 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:58:44,289.289 INFO    ] Checking for system updates...
[2026-10-20 09:58:44,325.325 INFO    ] 200
[2026-10-20 09:58:44,328.328 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:58:44,382.382 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:58:44,385.385 INFO    ] No update needed
[2026-10-20 09:58:44,388.388 INFO    ] Checking for camera pi updates...
[2026-10-20 09:58:44,422.422 INFO    ] 200
[2026-10-20 09:58:44,425.425 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:58:44,472.472 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:58:44,523.523 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:58:44,526.526 INFO    ] No camera update needed
[2026-10-20 09:58:44,529.529 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:58:44,532.532 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:58:44,538.538 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:58:44,544.544 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:58:46,585.585 INFO    ] ================================================
[2026-10-20 09:58:46,600.600 INFO    ] Launching Daemon at Tue Oct 20 09:58:46 IST 2026
[2026-10-20 09:58:46,611.611 INFO    ] ================================================
[2026-10-20 09:58:47,184.184 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:58:47
[2026-10-20 09:58:47,776.776 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:58:48,051.051 INFO    ] Initializing speech engine...
[2026-10-20 09:58:48,060.060 INFO    ] 2026-10-20 09:58:48
[2026-10-20 09:58:48,311.311 INFO    ] 2026-10-20 09:58:48
[2026-10-20 09:58:48,347.347 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:58:48,549.549 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:58:48,608.608 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:58:48,799.799 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:58:48,859.859 INFO    ] time= 20/10/2026 09:58:48
[2026-10-20 09:58:48,888.888 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:58:48,903.903 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:58:49,046.046 INFO    ] No existing commands found in stream
[2026-10-20 09:58:54,072.072 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:58:54,075.075 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-10-20 09:58:54,650.650 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:58:54,653.653 INFO    ] Checking for system updates...
[2026-10-20 09:58:54,689.689 INFO    ] 200
[2026-10-20 09:58:54,692.692 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:58:54,744.744 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:58:54,747.747 INFO    ] No update needed
[2026-10-20 09:58:54,750.750 INFO    ] Checking for camera pi updates...
[2026-10-20 09:58:54,784.784 INFO    ] 200
[2026-10-20 09:58:54,787.787 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:58:54,833.833 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:58:54,888.888 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:58:54,891.891 INFO    ] No camera update needed
[2026-10-20 09:58:54,894.894 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:58:54,897.897 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:58:54,903.903 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:58:54,909.909 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:58:56,950.950 INFO    ] ================================================
[2026-10-20 09:58:56,966.966 INFO    ] Launching Daemon at Tue Oct 20 09:58:56 IST 2026
[2026-10-20 09:58:56,976.976 INFO    ] ================================================
[2026-10-20 09:58:57,543.543 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:58:57
[2026-10-20 09:58:58,131.131 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:58:58,385.385 INFO    ] Initializing speech engine...
[2026-10-20 09:58:58,394.394 INFO    ] 2026-10-20 09:58:58
[2026-10-20 09:58:58,688.688 INFO    ] 2026-10-20 09:58:58
[2026-10-20 09:58:58,725.725 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:58:58,927.927 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:58:58,941.941 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:58:59,107.107 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:58:59,111.111 INFO    ] time= 20/10/2026 09:58:59
[2026-10-20 09:58:59,119.119 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:58:59,132.132 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:58:59,264.264 INFO    ] No existing commands found in stream
[2026-10-20 09:59:04,289.289 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:59:04,292.292 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-10-20 09:59:08,086.086 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 09:59:08,088.088 INFO    ] Checking for system updates...
[2026-10-20 09:59:08,125.125 INFO    ] 200
[2026-10-20 09:59:08,127.127 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:59:08,180.180 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:59:08,183.183 INFO    ] No update needed
[2026-10-20 09:59:08,185.185 INFO    ] Checking for camera pi updates...
[2026-10-20 09:59:08,219.219 INFO    ] 200
[2026-10-20 09:59:08,222.222 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:59:08,262.262 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:59:08,307.307 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:59:08,309.309 INFO    ] No camera update needed
[2026-10-20 09:59:08,312.312 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:59:08,314.314 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:59:08,320.320 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:59:08,325.325 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:59:10,365.365 INFO    ] ================================================
[2026-10-20 09:59:10,380.380 INFO    ] Launching Daemon at Tue Oct 20 09:59:10 IST 2026
[2026-10-20 09:59:10,392.392 INFO    ] ================================================
[2026-10-20 09:59:10,974.974 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:59:10
[2026-10-20 09:59:11,557.557 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:59:11,832.832 INFO    ] Initializing speech engine...
[2026-10-20 09:59:11,841.841 INFO    ] 2026-10-20 09:59:11
[2026-10-20 09:59:12,091.091 INFO    ] 2026-10-20 09:59:12
[2026-10-20 09:59:12,130.130 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:59:12,327.327 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:59:12,367.367 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:59:12,588.588 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:59:12,642.642 INFO    ] time= 20/10/2026 09:59:12
[2026-10-20 09:59:12,667.667 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:59:12,683.683 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:59:12,821.821 INFO    ] No existing commands found in stream
[2026-10-20 09:59:17,836.836 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:59:17,838.838 INFO    ] Waiting 3.59 seconds before fallback handling...
[2026-10-20 09:59:21,924.924 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 09:59:21,926.926 INFO    ] Checking for system updates...
[2026-10-20 09:59:21,962.962 INFO    ] 200
[2026-10-20 09:59:21,964.964 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:59:22,016.016 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:59:22,019.019 INFO    ] No update needed
[2026-10-20 09:59:22,025.025 INFO    ] Checking for camera pi updates...
[2026-10-20 09:59:22,058.058 INFO    ] 200
[2026-10-20 09:59:22,061.061 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:59:22,101.101 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:59:22,144.144 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:59:22,147.147 INFO    ] No camera update needed
[2026-10-20 09:59:22,149.149 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:59:22,151.151 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:59:22,157.157 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:59:22,162.162 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:59:24,203.203 INFO    ] ================================================
[2026-10-20 09:59:24,218.218 INFO    ] Launching Daemon at Tue Oct 20 09:59:24 IST 2026
[2026-10-20 09:59:24,229.229 INFO    ] ================================================
[2026-10-20 09:59:24,796.796 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:59:24
[2026-10-20 09:59:25,388.388 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:59:25,643.643 INFO    ] Initializing speech engine...
[2026-10-20 09:59:25,649.649 INFO    ] 2026-10-20 09:59:25
[2026-10-20 09:59:25,947.947 INFO    ] 2026-10-20 09:59:25
[2026-10-20 09:59:25,982.982 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:59:26,186.186 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:59:26,200.200 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:59:26,366.366 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:59:26,374.374 INFO    ] time= 20/10/2026 09:59:26
[2026-10-20 09:59:26,382.382 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:59:26,387.387 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:59:26,462.462 INFO    ] No existing commands found in stream
[2026-10-20 09:59:31,493.493 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:59:31,495.495 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-10-20 09:59:33,044.044 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 09:59:33,047.047 INFO    ] Checking for system updates...
[2026-10-20 09:59:33,090.090 INFO    ] 200
[2026-10-20 09:59:33,093.093 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:59:33,150.150 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:59:33,153.153 INFO    ] No update needed
[2026-10-20 09:59:33,156.156 INFO    ] Checking for camera pi updates...
[2026-10-20 09:59:33,194.194 INFO    ] 200
[2026-10-20 09:59:33,197.197 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:59:33,244.244 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:59:33,274.274 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 09:59:33,276.276 INFO    ] No camera update needed
[2026-10-20 09:59:33,279.279 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:59:33,284.284 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:59:33,291.291 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:59:33,300.300 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:59:35,344.344 INFO    ] ================================================
[2026-10-20 09:59:35,359.359 INFO    ] Launching Daemon at Tue Oct 20 09:59:35 IST 2026
[2026-10-20 09:59:35,370.370 INFO    ] ================================================
[2026-10-20 09:59:35,943.943 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:59:35
[2026-10-20 09:59:36,542.542 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:59:36,814.814 INFO    ] Initializing speech engine...
[2026-10-20 09:59:36,824.824 INFO    ] 2026-10-20 09:59:36
[2026-10-20 09:59:37,086.086 INFO    ] 2026-10-20 09:59:37
[2026-10-20 09:59:37,140.140 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:59:37,368.368 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:59:37,391.391 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:59:37,585.585 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:59:37,627.627 INFO    ] time= 20/10/2026 09:59:37
[2026-10-20 09:59:37,634.634 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:59:37,651.651 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:59:37,782.782 INFO    ] No existing commands found in stream
[2026-10-20 09:59:42,797.797 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:59:42,800.800 INFO    ] Waiting 2.69 seconds before fallback handling...
[2026-10-20 09:59:46,018.018 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 09:59:46,021.021 INFO    ] Checking for system updates...
[2026-10-20 09:59:46,058.058 INFO    ] 200
[2026-10-20 09:59:46,061.061 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:59:46,114.114 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:59:46,116.116 INFO    ] No update needed
[2026-10-20 09:59:46,119.119 INFO    ] Checking for camera pi updates...
[2026-10-20 09:59:46,162.162 INFO    ] 200
[2026-10-20 09:59:46,164.164 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:59:46,205.205 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:59:46,253.253 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:59:46,255.255 INFO    ] No camera update needed
[2026-10-20 09:59:46,257.257 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:59:46,260.260 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:59:46,265.265 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:59:46,270.270 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:59:48,311.311 INFO    ] ================================================
[2026-10-20 09:59:48,326.326 INFO    ] Launching Daemon at Tue Oct 20 09:59:48 IST 2026
[2026-10-20 09:59:48,336.336 INFO    ] ================================================
[2026-10-20 09:59:48,995.995 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:59:48
[2026-10-20 09:59:49,676.676 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 09:59:49,987.987 INFO    ] Initializing speech engine...
[2026-10-20 09:59:49,999.999 INFO    ] 2026-10-20 09:59:49
[2026-10-20 09:59:50,287.287 INFO    ] 2026-10-20 09:59:50
[2026-10-20 09:59:50,327.327 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 09:59:50,559.559 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 09:59:50,566.566 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 09:59:50,786.786 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 09:59:50,828.828 INFO    ] time= 20/10/2026 09:59:50
[2026-10-20 09:59:50,836.836 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 09:59:50,858.858 INFO    ] Checking for existing commands in stream...
[2026-10-20 09:59:50,991.991 INFO    ] No existing commands found in stream
[2026-10-20 09:59:56,020.020 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 09:59:56,023.023 INFO    ] Waiting 0.04 seconds before fallback handling...
[2026-10-20 09:59:56,591.591 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 09:59:56,594.594 INFO    ] Checking for system updates...
[2026-10-20 09:59:56,635.635 INFO    ] 200
[2026-10-20 09:59:56,638.638 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:59:56,693.693 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:59:56,696.696 INFO    ] No update needed
[2026-10-20 09:59:56,698.698 INFO    ] Checking for camera pi updates...
[2026-10-20 09:59:56,732.732 INFO    ] 200
[2026-10-20 09:59:56,734.734 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 09:59:56,774.774 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 09:59:56,824.824 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 09:59:56,826.826 INFO    ] No camera update needed
[2026-10-20 09:59:56,828.828 INFO    ] Script finished. Safe exiting...
[2026-10-20 09:59:56,830.830 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 09:59:56,836.836 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 09:59:56,841.841 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 09:59:58,879.879 INFO    ] ================================================
[2026-10-20 09:59:58,894.894 INFO    ] Launching Daemon at Tue Oct 20 09:59:58 IST 2026
[2026-10-20 09:59:58,905.905 INFO    ] ================================================
[2026-10-20 09:59:59,503.503 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 09:59:59
[2026-10-20 10:00:00,096.096 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:00:00,362.362 INFO    ] Initializing speech engine...
[2026-10-20 10:00:00,374.374 INFO    ] 2026-10-20 10:00:00
[2026-10-20 10:00:00,624.624 INFO    ] 2026-10-20 10:00:00
[2026-10-20 10:00:00,659.659 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:00:00,917.917 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:00:00,926.926 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:00:01,124.124 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:00:01,163.163 INFO    ] time= 20/10/2026 10:00:01
[2026-10-20 10:00:01,218.218 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:00:01,225.225 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:00:01,359.359 INFO    ] No existing commands found in stream
[2026-10-20 10:00:06,394.394 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:00:06,398.398 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-10-20 10:00:09,389.389 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:00:09,392.392 INFO    ] Checking for system updates...
[2026-10-20 10:00:09,428.428 INFO    ] 200
[2026-10-20 10:00:09,431.431 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:00:09,488.488 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:00:09,490.490 INFO    ] No update needed
[2026-10-20 10:00:09,493.493 INFO    ] Checking for camera pi updates...
[2026-10-20 10:00:09,539.539 INFO    ] 200
[2026-10-20 10:00:09,541.541 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:00:09,589.589 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:00:09,659.659 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:00:09,662.662 INFO    ] No camera update needed
[2026-10-20 10:00:09,665.665 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:00:09,668.668 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:00:09,676.676 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:00:09,682.682 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:00:11,730.730 INFO    ] ================================================
[2026-10-20 10:00:11,746.746 INFO    ] Launching Daemon at Tue Oct 20 10:00:11 IST 2026
[2026-10-20 10:00:11,757.757 INFO    ] ================================================
[2026-10-20 10:00:12,435.435 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:00:12
[2026-10-20 10:00:13,046.046 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:00:13,319.319 INFO    ] Initializing speech engine...
[2026-10-20 10:00:13,326.326 INFO    ] 2026-10-20 10:00:13
[2026-10-20 10:00:13,644.644 INFO    ] 2026-10-20 10:00:13
[2026-10-20 10:00:13,682.682 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:00:13,897.897 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:00:13,913.913 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:00:14,089.089 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:00:14,098.098 INFO    ] time= 20/10/2026 10:00:14
[2026-10-20 10:00:14,103.103 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:00:14,110.110 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:00:14,228.228 INFO    ] No existing commands found in stream
[2026-10-20 10:00:19,237.237 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:00:19,241.241 INFO    ] Waiting 0.34 seconds before fallback handling...
[2026-10-20 10:00:20,093.093 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:00:20,096.096 INFO    ] Checking for system updates...
[2026-10-20 10:00:20,131.131 INFO    ] 200
[2026-10-20 10:00:20,133.133 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:00:20,185.185 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:00:20,187.187 INFO    ] No update needed
[2026-10-20 10:00:20,190.190 INFO    ] Checking for camera pi updates...
[2026-10-20 10:00:20,223.223 INFO    ] 200
[2026-10-20 10:00:20,225.225 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:00:20,266.266 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:00:20,315.315 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:00:20,317.317 INFO    ] No camera update needed
[2026-10-20 10:00:20,320.320 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:00:20,322.322 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:00:20,327.327 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:00:20,332.332 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:00:22,373.373 INFO    ] ================================================
[2026-10-20 10:00:22,389.389 INFO    ] Launching Daemon at Tue Oct 20 10:00:22 IST 2026
[2026-10-20 10:00:22,400.400 INFO    ] ================================================
[2026-10-20 10:00:22,971.971 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:00:22
[2026-10-20 10:00:23,559.559 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:00:23,817.817 INFO    ] Initializing speech engine...
[2026-10-20 10:00:23,823.823 INFO    ] 2026-10-20 10:00:23
[2026-10-20 10:00:24,119.119 INFO    ] 2026-10-20 10:00:24
[2026-10-20 10:00:24,160.160 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:00:24,338.338 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:00:24,362.362 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:00:24,541.541 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:00:24,549.549 INFO    ] time= 20/10/2026 10:00:24
[2026-10-20 10:00:24,554.554 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:00:24,561.561 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:00:24,638.638 INFO    ] No existing commands found in stream
[2026-10-20 10:00:29,659.659 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:00:29,662.662 INFO    ] Waiting 3.73 seconds before fallback handling...
[2026-10-20 10:00:33,889.889 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:00:33,892.892 INFO    ] Checking for system updates...
[2026-10-20 10:00:33,928.928 INFO    ] 200
[2026-10-20 10:00:33,931.931 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:00:33,983.983 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:00:33,985.985 INFO    ] No update needed
[2026-10-20 10:00:33,987.987 INFO    ] Checking for camera pi updates...
[2026-10-20 10:00:34,021.021 INFO    ] 200
[2026-10-20 10:00:34,024.024 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:00:34,065.065 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:00:34,121.121 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:00:34,124.124 INFO    ] No camera update needed
[2026-10-20 10:00:34,126.126 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:00:34,128.128 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:00:34,134.134 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:00:34,139.139 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:00:36,182.182 INFO    ] ================================================
[2026-10-20 10:00:36,197.197 INFO    ] Launching Daemon at Tue Oct 20 10:00:36 IST 2026
[2026-10-20 10:00:36,209.209 INFO    ] ================================================
[2026-10-20 10:00:36,782.782 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:00:36
[2026-10-20 10:00:37,371.371 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:00:37,647.647 INFO    ] Initializing speech engine...
[2026-10-20 10:00:37,654.654 INFO    ] 2026-10-20 10:00:37
[2026-10-20 10:00:37,911.911 INFO    ] 2026-10-20 10:00:37
[2026-10-20 10:00:37,941.941 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:00:38,186.186 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:00:38,195.195 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:00:38,407.407 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:00:38,455.455 INFO    ] time= 20/10/2026 10:00:38
[2026-10-20 10:00:38,461.461 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:00:38,480.480 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:00:38,607.607 INFO    ] No existing commands found in stream
[2026-10-20 10:00:43,622.622 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:00:43,625.625 INFO    ] Waiting 1.44 seconds before fallback handling...
[2026-10-20 10:00:45,581.581 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:00:45,583.583 INFO    ] Checking for system updates...
[2026-10-20 10:00:45,619.619 INFO    ] 200
[2026-10-20 10:00:45,622.622 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:00:45,677.677 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:00:45,680.680 INFO    ] No update needed
[2026-10-20 10:00:45,682.682 INFO    ] Checking for camera pi updates...
[2026-10-20 10:00:45,716.716 INFO    ] 200
[2026-10-20 10:00:45,718.718 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:00:45,759.759 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:00:45,803.803 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:00:45,805.805 INFO    ] No camera update needed
[2026-10-20 10:00:45,807.807 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:00:45,810.810 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:00:45,815.815 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:00:45,820.820 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:00:47,861.861 INFO    ] ================================================
[2026-10-20 10:00:47,875.875 INFO    ] Launching Daemon at Tue Oct 20 10:00:47 IST 2026
[2026-10-20 10:00:47,886.886 INFO    ] ================================================
[2026-10-20 10:00:48,557.557 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:00:48
[2026-10-20 10:00:49,246.246 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:00:49,559.559 INFO    ] Initializing speech engine...
[2026-10-20 10:00:49,566.566 INFO    ] 2026-10-20 10:00:49
[2026-10-20 10:00:49,891.891 INFO    ] 2026-10-20 10:00:49
[2026-10-20 10:00:49,972.972 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:00:50,245.245 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:00:50,264.264 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:00:50,449.449 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:00:50,514.514 INFO    ] time= 20/10/2026 10:00:50
[2026-10-20 10:00:50,566.566 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:00:50,611.611 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:00:50,764.764 INFO    ] No existing commands found in stream
[2026-10-20 10:00:55,795.795 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:00:55,799.799 INFO    ] Waiting 0.26 seconds before fallback handling...
[2026-10-20 10:00:56,565.565 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:00:56,568.568 INFO    ] Checking for system updates...
[2026-10-20 10:00:56,609.609 INFO    ] 200
[2026-10-20 10:00:56,613.613 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:00:56,665.665 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:00:56,668.668 INFO    ] No update needed
[2026-10-20 10:00:56,671.671 INFO    ] Checking for camera pi updates...
[2026-10-20 10:00:56,706.706 INFO    ] 200
[2026-10-20 10:00:56,709.709 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:00:56,751.751 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:00:56,799.799 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:00:56,802.802 INFO    ] No camera update needed
[2026-10-20 10:00:56,805.805 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:00:56,807.807 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:00:56,814.814 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:00:56,820.820 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:00:58,861.861 INFO    ] ================================================
[2026-10-20 10:00:58,876.876 INFO    ] Launching Daemon at Tue Oct 20 10:00:58 IST 2026
[2026-10-20 10:00:58,887.887 INFO    ] ================================================
[2026-10-20 10:00:59,555.555 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:00:59
[2026-10-20 10:01:00,241.241 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:01:00,557.557 INFO    ] Initializing speech engine...
[2026-10-20 10:01:00,570.570 INFO    ] 2026-10-20 10:01:00
[2026-10-20 10:01:00,839.839 INFO    ] 2026-10-20 10:01:00
[2026-10-20 10:01:00,895.895 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:01:01,151.151 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:01:01,159.159 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:01:01,386.386 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:01:01,404.404 INFO    ] time= 20/10/2026 10:01:01
[2026-10-20 10:01:01,433.433 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:01:01,450.450 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:01:01,553.553 INFO    ] No existing commands found in stream
[2026-10-20 10:01:06,566.566 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:01:06,569.569 INFO    ] Waiting 1.82 seconds before fallback handling...
[2026-10-20 10:01:08,906.906 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:01:08,909.909 INFO    ] Checking for system updates...
[2026-10-20 10:01:08,944.944 INFO    ] 200
[2026-10-20 10:01:08,947.947 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:01:08,999.999 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:01:09,002.002 INFO    ] No update needed
[2026-10-20 10:01:09,004.004 INFO    ] Checking for camera pi updates...
[2026-10-20 10:01:09,041.041 INFO    ] 200
[2026-10-20 10:01:09,044.044 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:01:09,088.088 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:01:09,134.134 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:01:09,136.136 INFO    ] No camera update needed
[2026-10-20 10:01:09,139.139 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:01:09,141.141 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:01:09,146.146 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:01:09,152.152 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:01:11,191.191 INFO    ] ================================================
[2026-10-20 10:01:11,213.213 INFO    ] Launching Daemon at Tue Oct 20 10:01:11 IST 2026
[2026-10-20 10:01:11,225.225 INFO    ] ================================================
[2026-10-20 10:01:11,871.871 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:01:11
[2026-10-20 10:01:12,455.455 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:01:12,728.728 INFO    ] Initializing speech engine...
[2026-10-20 10:01:12,736.736 INFO    ] 2026-10-20 10:01:12
[2026-10-20 10:01:12,988.988 INFO    ] 2026-10-20 10:01:12
[2026-10-20 10:01:13,023.023 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:01:13,283.283 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:01:13,291.291 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:01:13,427.427 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:01:13,470.470 INFO    ] time= 20/10/2026 10:01:13
[2026-10-20 10:01:13,534.534 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:01:13,566.566 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:01:13,720.720 INFO    ] No existing commands found in stream
[2026-10-20 10:01:18,739.739 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:01:18,742.742 INFO    ] Waiting 3.19 seconds before fallback handling...
[2026-10-20 10:01:22,412.412 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 10:01:22,415.415 INFO    ] Checking for system updates...
[2026-10-20 10:01:22,451.451 INFO    ] 200
[2026-10-20 10:01:22,454.454 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:01:22,506.506 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:01:22,509.509 INFO    ] No update needed
[2026-10-20 10:01:22,512.512 INFO    ] Checking for camera pi updates...
[2026-10-20 10:01:22,547.547 INFO    ] 200
[2026-10-20 10:01:22,550.550 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:01:22,591.591 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:01:22,636.636 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:01:22,640.640 INFO    ] No camera update needed
[2026-10-20 10:01:22,642.642 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:01:22,645.645 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:01:22,651.651 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:01:22,657.657 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:01:24,697.697 INFO    ] ================================================
[2026-10-20 10:01:24,713.713 INFO    ] Launching Daemon at Tue Oct 20 10:01:24 IST 2026
[2026-10-20 10:01:24,725.725 INFO    ] ================================================
[2026-10-20 10:01:25,292.292 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:01:25
[2026-10-20 10:01:25,875.875 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:01:26,123.123 INFO    ] Initializing speech engine...
[2026-10-20 10:01:26,137.137 INFO    ] 2026-10-20 10:01:26
[2026-10-20 10:01:26,402.402 INFO    ] 2026-10-20 10:01:26
[2026-10-20 10:01:26,437.437 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:01:26,633.633 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:01:26,642.642 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:01:26,836.836 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:01:26,839.839 INFO    ] time= 20/10/2026 10:01:26
[2026-10-20 10:01:26,849.849 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:01:26,919.919 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:01:27,023.023 INFO    ] No existing commands found in stream
[2026-10-20 10:01:32,035.035 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:01:32,038.038 INFO    ] Waiting 0.03 seconds before fallback handling...
[2026-10-20 10:01:32,558.558 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:01:32,561.561 INFO    ] Checking for system updates...
[2026-10-20 10:01:32,599.599 INFO    ] 200
[2026-10-20 10:01:32,602.602 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:01:32,664.664 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:01:32,667.667 INFO    ] No update needed
[2026-10-20 10:01:32,670.670 INFO    ] Checking for camera pi updates...
[2026-10-20 10:01:32,708.708 INFO    ] 200
[2026-10-20 10:01:32,711.711 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:01:32,764.764 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:01:32,795.795 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:01:32,798.798 INFO    ] No camera update needed
[2026-10-20 10:01:32,800.800 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:01:32,803.803 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:01:32,808.808 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:01:32,813.813 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:01:34,855.855 INFO    ] ================================================
[2026-10-20 10:01:34,870.870 INFO    ] Launching Daemon at Tue Oct 20 10:01:34 IST 2026
[2026-10-20 10:01:34,881.881 INFO    ] ================================================
[2026-10-20 10:01:35,520.520 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:01:35
[2026-10-20 10:01:36,177.177 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:01:36,476.476 INFO    ] Initializing speech engine...
[2026-10-20 10:01:36,489.489 INFO    ] 2026-10-20 10:01:36
[2026-10-20 10:01:36,766.766 INFO    ] 2026-10-20 10:01:36
[2026-10-20 10:01:36,809.809 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:01:37,095.095 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:01:37,104.104 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:01:37,296.296 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:01:37,302.302 INFO    ] time= 20/10/2026 10:01:37
[2026-10-20 10:01:37,323.323 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:01:37,350.350 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:01:37,481.481 INFO    ] No existing commands found in stream
[2026-10-20 10:01:42,507.507 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:01:42,511.511 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-10-20 10:01:44,813.813 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:01:44,816.816 INFO    ] Checking for system updates...
[2026-10-20 10:01:44,852.852 INFO    ] 200
[2026-10-20 10:01:44,854.854 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:01:44,914.914 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:01:44,917.917 INFO    ] No update needed
[2026-10-20 10:01:44,919.919 INFO    ] Checking for camera pi updates...
[2026-10-20 10:01:44,953.953 INFO    ] 200
[2026-10-20 10:01:44,955.955 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:01:44,995.995 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:01:45,144.144 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:01:45,147.147 INFO    ] No camera update needed
[2026-10-20 10:01:45,149.149 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:01:45,152.152 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:01:45,157.157 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:01:45,162.162 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:01:47,203.203 INFO    ] ================================================
[2026-10-20 10:01:47,219.219 INFO    ] Launching Daemon at Tue Oct 20 10:01:47 IST 2026
[2026-10-20 10:01:47,230.230 INFO    ] ================================================
[2026-10-20 10:01:47,797.797 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:01:47
[2026-10-20 10:01:48,381.381 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:01:48,654.654 INFO    ] Initializing speech engine...
[2026-10-20 10:01:48,663.663 INFO    ] 2026-10-20 10:01:48
[2026-10-20 10:01:48,922.922 INFO    ] 2026-10-20 10:01:48
[2026-10-20 10:01:48,975.975 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:01:49,197.197 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:01:49,206.206 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:01:49,433.433 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:01:49,465.465 INFO    ] time= 20/10/2026 10:01:49
[2026-10-20 10:01:49,471.471 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:01:49,488.488 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:01:49,631.631 INFO    ] No existing commands found in stream
[2026-10-20 10:01:54,651.651 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:01:54,654.654 INFO    ] Waiting 2.07 seconds before fallback handling...
[2026-10-20 10:01:57,221.221 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:01:57,223.223 INFO    ] Checking for system updates...
[2026-10-20 10:01:57,259.259 INFO    ] 200
[2026-10-20 10:01:57,262.262 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:01:57,314.314 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:01:57,316.316 INFO    ] No update needed
[2026-10-20 10:01:57,319.319 INFO    ] Checking for camera pi updates...
[2026-10-20 10:01:57,352.352 INFO    ] 200
[2026-10-20 10:01:57,354.354 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:01:57,398.398 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:01:57,446.446 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:01:57,449.449 INFO    ] No camera update needed
[2026-10-20 10:01:57,451.451 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:01:57,454.454 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:01:57,459.459 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:01:57,464.464 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:01:59,505.505 INFO    ] ================================================
[2026-10-20 10:01:59,521.521 INFO    ] Launching Daemon at Tue Oct 20 10:01:59 IST 2026
[2026-10-20 10:01:59,532.532 INFO    ] ================================================
[2026-10-20 10:02:00,102.102 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:02:00
[2026-10-20 10:02:00,691.691 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:02:00,972.972 INFO    ] Initializing speech engine...
[2026-10-20 10:02:00,980.980 INFO    ] 2026-10-20 10:02:00
[2026-10-20 10:02:01,244.244 INFO    ] 2026-10-20 10:02:01
[2026-10-20 10:02:01,282.282 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:02:01,477.477 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:02:01,491.491 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:02:01,663.663 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:02:01,668.668 INFO    ] time= 20/10/2026 10:02:01
[2026-10-20 10:02:01,672.672 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:02:01,677.677 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:02:01,764.764 INFO    ] No existing commands found in stream
[2026-10-20 10:02:06,775.775 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:02:06,778.778 INFO    ] Waiting 1.83 seconds before fallback handling...
[2026-10-20 10:02:09,171.171 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:02:09,174.174 INFO    ] Checking for system updates...
[2026-10-20 10:02:09,212.212 INFO    ] 200
[2026-10-20 10:02:09,215.215 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:02:09,269.269 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:02:09,272.272 INFO    ] No update needed
[2026-10-20 10:02:09,275.275 INFO    ] Checking for camera pi updates...
[2026-10-20 10:02:09,315.315 INFO    ] 200
[2026-10-20 10:02:09,317.317 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:02:09,364.364 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:02:09,414.414 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:02:09,417.417 INFO    ] No camera update needed
[2026-10-20 10:02:09,420.420 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:02:09,423.423 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:02:09,429.429 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:02:09,435.435 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:02:11,476.476 INFO    ] ================================================
[2026-10-20 10:02:11,492.492 INFO    ] Launching Daemon at Tue Oct 20 10:02:11 IST 2026
[2026-10-20 10:02:11,504.504 INFO    ] ================================================
[2026-10-20 10:02:12,077.077 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:02:12
[2026-10-20 10:02:12,670.670 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:02:12,924.924 INFO    ] Initializing speech engine...
[2026-10-20 10:02:12,932.932 INFO    ] 2026-10-20 10:02:12
[2026-10-20 10:02:13,236.236 INFO    ] 2026-10-20 10:02:13
[2026-10-20 10:02:13,275.275 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:02:13,481.481 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:02:13,496.496 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:02:13,666.666 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:02:13,672.672 INFO    ] time= 20/10/2026 10:02:13
[2026-10-20 10:02:13,679.679 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:02:13,738.738 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:02:13,871.871 INFO    ] No existing commands found in stream
[2026-10-20 10:02:18,896.896 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:02:18,899.899 INFO    ] Waiting 1.85 seconds before fallback handling...
[2026-10-20 10:02:21,256.256 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:02:21,258.258 INFO    ] Checking for system updates...
[2026-10-20 10:02:21,294.294 INFO    ] 200
[2026-10-20 10:02:21,296.296 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:02:21,350.350 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:02:21,352.352 INFO    ] No update needed
[2026-10-20 10:02:21,354.354 INFO    ] Checking for camera pi updates...
[2026-10-20 10:02:21,388.388 INFO    ] 200
[2026-10-20 10:02:21,390.390 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:02:21,430.430 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:02:21,487.487 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:02:21,489.489 INFO    ] No camera update needed
[2026-10-20 10:02:21,492.492 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:02:21,494.494 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:02:21,499.499 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:02:21,504.504 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:02:23,545.545 INFO    ] ================================================
[2026-10-20 10:02:23,560.560 INFO    ] Launching Daemon at Tue Oct 20 10:02:23 IST 2026
[2026-10-20 10:02:23,571.571 INFO    ] ================================================
[2026-10-20 10:02:24,151.151 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:02:24
[2026-10-20 10:02:24,773.773 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:02:25,030.030 INFO    ] Initializing speech engine...
[2026-10-20 10:02:25,037.037 INFO    ] 2026-10-20 10:02:25
[2026-10-20 10:02:25,334.334 INFO    ] 2026-10-20 10:02:25
[2026-10-20 10:02:25,369.369 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:02:25,570.570 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:02:25,585.585 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:02:25,748.748 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:02:25,758.758 INFO    ] time= 20/10/2026 10:02:25
[2026-10-20 10:02:25,763.763 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:02:25,770.770 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:02:25,883.883 INFO    ] No existing commands found in stream
[2026-10-20 10:02:30,908.908 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:02:30,911.911 INFO    ] Waiting 1.87 seconds before fallback handling...
[2026-10-20 10:02:33,264.264 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:02:33,266.266 INFO    ] Checking for system updates...
[2026-10-20 10:02:33,302.302 INFO    ] 200
[2026-10-20 10:02:33,304.304 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:02:33,356.356 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:02:33,359.359 INFO    ] No update needed
[2026-10-20 10:02:33,361.361 INFO    ] Checking for camera pi updates...
[2026-10-20 10:02:33,398.398 INFO    ] 200
[2026-10-20 10:02:33,401.401 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:02:33,440.440 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:02:33,485.485 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:02:33,488.488 INFO    ] No camera update needed
[2026-10-20 10:02:33,490.490 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:02:33,493.493 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:02:33,498.498 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:02:33,503.503 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:02:35,542.542 INFO    ] ================================================
[2026-10-20 10:02:35,557.557 INFO    ] Launching Daemon at Tue Oct 20 10:02:35 IST 2026
[2026-10-20 10:02:35,568.568 INFO    ] ================================================
[2026-10-20 10:02:36,148.148 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:02:36
[2026-10-20 10:02:36,734.734 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:02:37,006.006 INFO    ] Initializing speech engine...
[2026-10-20 10:02:37,013.013 INFO    ] 2026-10-20 10:02:37
[2026-10-20 10:02:37,271.271 INFO    ] 2026-10-20 10:02:37
[2026-10-20 10:02:37,323.323 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:02:37,550.550 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:02:37,554.554 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:02:37,687.687 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:02:37,742.742 INFO    ] time= 20/10/2026 10:02:37
[2026-10-20 10:02:37,791.791 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:02:37,819.819 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:02:37,964.964 INFO    ] No existing commands found in stream
[2026-10-20 10:02:42,977.977 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:02:42,980.980 INFO    ] Waiting 0.45 seconds before fallback handling...
[2026-10-20 10:02:43,925.925 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:02:43,928.928 INFO    ] Checking for system updates...
[2026-10-20 10:02:43,964.964 INFO    ] 200
[2026-10-20 10:02:43,966.966 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:02:44,020.020 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:02:44,022.022 INFO    ] No update needed
[2026-10-20 10:02:44,024.024 INFO    ] Checking for camera pi updates...
[2026-10-20 10:02:44,058.058 INFO    ] 200
[2026-10-20 10:02:44,061.061 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:02:44,106.106 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:02:44,149.149 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:02:44,151.151 INFO    ] No camera update needed
[2026-10-20 10:02:44,154.154 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:02:44,156.156 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:02:44,161.161 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:02:44,166.166 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:02:46,209.209 INFO    ] ================================================
[2026-10-20 10:02:46,224.224 INFO    ] Launching Daemon at Tue Oct 20 10:02:46 IST 2026
[2026-10-20 10:02:46,235.235 INFO    ] ================================================
[2026-10-20 10:02:46,802.802 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:02:46
[2026-10-20 10:02:47,385.385 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:02:47,644.644 INFO    ] Initializing speech engine...
[2026-10-20 10:02:47,663.663 INFO    ] 2026-10-20 10:02:47
[2026-10-20 10:02:47,917.917 INFO    ] 2026-10-20 10:02:47
[2026-10-20 10:02:47,952.952 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:02:48,200.200 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:02:48,204.204 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:02:48,339.339 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:02:48,405.405 INFO    ] time= 20/10/2026 10:02:48
[2026-10-20 10:02:48,464.464 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:02:48,473.473 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:02:48,614.614 INFO    ] No existing commands found in stream
[2026-10-20 10:02:53,629.629 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:02:53,632.632 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-10-20 10:02:56,657.657 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:02:56,660.660 INFO    ] Checking for system updates...
[2026-10-20 10:02:56,697.697 INFO    ] 200
[2026-10-20 10:02:56,700.700 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:02:56,753.753 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:02:56,756.756 INFO    ] No update needed
[2026-10-20 10:02:56,759.759 INFO    ] Checking for camera pi updates...
[2026-10-20 10:02:56,795.795 INFO    ] 200
[2026-10-20 10:02:56,797.797 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:02:56,839.839 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:02:56,891.891 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:02:56,894.894 INFO    ] No camera update needed
[2026-10-20 10:02:56,897.897 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:02:56,900.900 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:02:56,906.906 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:02:56,912.912 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:02:58,953.953 INFO    ] ================================================
[2026-10-20 10:02:58,969.969 INFO    ] Launching Daemon at Tue Oct 20 10:02:58 IST 2026
[2026-10-20 10:02:58,980.980 INFO    ] ================================================
[2026-10-20 10:02:59,547.547 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:02:59
[2026-10-20 10:03:00,131.131 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:03:00,400.400 INFO    ] Initializing speech engine...
[2026-10-20 10:03:00,409.409 INFO    ] 2026-10-20 10:03:00
[2026-10-20 10:03:00,654.654 INFO    ] 2026-10-20 10:03:00
[2026-10-20 10:03:00,688.688 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:03:00,943.943 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:03:00,953.953 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:03:01,158.158 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:03:01,207.207 INFO    ] time= 20/10/2026 10:03:01
[2026-10-20 10:03:01,218.218 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:03:01,235.235 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:03:01,376.376 INFO    ] No existing commands found in stream
[2026-10-20 10:03:06,407.407 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:03:06,410.410 INFO    ] Waiting 0.51 seconds before fallback handling...
[2026-10-20 10:03:07,435.435 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:03:07,437.437 INFO    ] Checking for system updates...
[2026-10-20 10:03:07,472.472 INFO    ] 200
[2026-10-20 10:03:07,475.475 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:03:07,534.534 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:03:07,536.536 INFO    ] No update needed
[2026-10-20 10:03:07,539.539 INFO    ] Checking for camera pi updates...
[2026-10-20 10:03:07,575.575 INFO    ] 200
[2026-10-20 10:03:07,578.578 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:03:07,623.623 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:03:07,682.682 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:03:07,684.684 INFO    ] No camera update needed
[2026-10-20 10:03:07,687.687 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:03:07,689.689 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:03:07,694.694 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:03:07,699.699 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:03:09,740.740 INFO    ] ================================================
[2026-10-20 10:03:09,755.755 INFO    ] Launching Daemon at Tue Oct 20 10:03:09 IST 2026
[2026-10-20 10:03:09,767.767 INFO    ] ================================================
[2026-10-20 10:03:10,414.414 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:03:10
[2026-10-20 10:03:11,076.076 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:03:11,375.375 INFO    ] Initializing speech engine...
[2026-10-20 10:03:11,383.383 INFO    ] 2026-10-20 10:03:11
[2026-10-20 10:03:11,658.658 INFO    ] 2026-10-20 10:03:11
[2026-10-20 10:03:11,715.715 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:03:11,965.965 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:03:11,989.989 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:03:12,198.198 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:03:12,209.209 INFO    ] time= 20/10/2026 10:03:12
[2026-10-20 10:03:12,227.227 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:03:12,244.244 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:03:12,407.407 INFO    ] No existing commands found in stream
[2026-10-20 10:03:17,438.438 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:03:17,441.441 INFO    ] Waiting 1.83 seconds before fallback handling...
[2026-10-20 10:03:19,776.776 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:03:19,779.779 INFO    ] Checking for system updates...
[2026-10-20 10:03:19,816.816 INFO    ] 200
[2026-10-20 10:03:19,819.819 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:03:19,874.874 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:03:19,877.877 INFO    ] No update needed
[2026-10-20 10:03:19,880.880 INFO    ] Checking for camera pi updates...
[2026-10-20 10:03:19,918.918 INFO    ] 200
[2026-10-20 10:03:19,921.921 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:03:19,962.962 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:03:20,007.007 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:03:20,010.010 INFO    ] No camera update needed
[2026-10-20 10:03:20,014.014 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:03:20,017.017 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:03:20,023.023 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:03:20,029.029 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:03:22,069.069 INFO    ] ================================================
[2026-10-20 10:03:22,084.084 INFO    ] Launching Daemon at Tue Oct 20 10:03:22 IST 2026
[2026-10-20 10:03:22,095.095 INFO    ] ================================================
[2026-10-20 10:03:22,725.725 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:03:22
[2026-10-20 10:03:23,374.374 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:03:23,671.671 INFO    ] Initializing speech engine...
[2026-10-20 10:03:23,677.677 INFO    ] 2026-10-20 10:03:23
[2026-10-20 10:03:23,960.960 INFO    ] 2026-10-20 10:03:23
[2026-10-20 10:03:24,005.005 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:03:24,250.250 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:03:24,258.258 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:03:24,470.470 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:03:24,498.498 INFO    ] time= 20/10/2026 10:03:24
[2026-10-20 10:03:24,517.517 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:03:24,545.545 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:03:24,677.677 INFO    ] No existing commands found in stream
[2026-10-20 10:03:29,708.708 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:03:29,711.711 INFO    ] Waiting 1.89 seconds before fallback handling...
[2026-10-20 10:03:32,112.112 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:03:32,115.115 INFO    ] Checking for system updates...
[2026-10-20 10:03:32,154.154 INFO    ] 200
[2026-10-20 10:03:32,157.157 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:03:32,215.215 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:03:32,218.218 INFO    ] No update needed
[2026-10-20 10:03:32,221.221 INFO    ] Checking for camera pi updates...
[2026-10-20 10:03:32,257.257 INFO    ] 200
[2026-10-20 10:03:32,260.260 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:03:32,306.306 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:03:32,339.339 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:03:32,343.343 INFO    ] No camera update needed
[2026-10-20 10:03:32,346.346 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:03:32,350.350 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:03:32,358.358 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:03:32,365.365 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:03:34,405.405 INFO    ] ================================================
[2026-10-20 10:03:34,420.420 INFO    ] Launching Daemon at Tue Oct 20 10:03:34 IST 2026
[2026-10-20 10:03:34,431.431 INFO    ] ================================================
[2026-10-20 10:03:35,012.012 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:03:35
[2026-10-20 10:03:35,665.665 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:03:35,961.961 INFO    ] Initializing speech engine...
[2026-10-20 10:03:35,966.966 INFO    ] 2026-10-20 10:03:35
[2026-10-20 10:03:36,238.238 INFO    ] 2026-10-20 10:03:36
[2026-10-20 10:03:36,294.294 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:03:36,545.545 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:03:36,551.551 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:03:36,782.782 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:03:36,801.801 INFO    ] time= 20/10/2026 10:03:36
[2026-10-20 10:03:36,810.810 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:03:36,837.837 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:03:36,973.973 INFO    ] No existing commands found in stream
[2026-10-20 10:03:42,004.004 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:03:42,007.007 INFO    ] Waiting 2.74 seconds before fallback handling...
[2026-10-20 10:03:45,292.292 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:03:45,295.295 INFO    ] Checking for system updates...
[2026-10-20 10:03:45,335.335 INFO    ] 200
[2026-10-20 10:03:45,337.337 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:03:45,397.397 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:03:45,400.400 INFO    ] No update needed
[2026-10-20 10:03:45,403.403 INFO    ] Checking for camera pi updates...
[2026-10-20 10:03:45,440.440 INFO    ] 200
[2026-10-20 10:03:45,443.443 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:03:45,488.488 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:03:45,544.544 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:03:45,546.546 INFO    ] No camera update needed
[2026-10-20 10:03:45,548.548 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:03:45,551.551 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:03:45,556.556 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:03:45,562.562 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:03:47,603.603 INFO    ] ================================================
[2026-10-20 10:03:47,618.618 INFO    ] Launching Daemon at Tue Oct 20 10:03:47 IST 2026
[2026-10-20 10:03:47,629.629 INFO    ] ================================================
[2026-10-20 10:03:48,218.218 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:03:48
[2026-10-20 10:03:48,832.832 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:03:49,115.115 INFO    ] Initializing speech engine...
[2026-10-20 10:03:49,124.124 INFO    ] 2026-10-20 10:03:49
[2026-10-20 10:03:49,406.406 INFO    ] 2026-10-20 10:03:49
[2026-10-20 10:03:49,445.445 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:03:49,645.645 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:03:49,652.652 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:03:49,844.844 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:03:49,862.862 INFO    ] time= 20/10/2026 10:03:49
[2026-10-20 10:03:49,926.926 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:03:49,976.976 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:03:50,146.146 INFO    ] No existing commands found in stream
[2026-10-20 10:03:55,189.189 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:03:55,192.192 INFO    ] Waiting 1.27 seconds before fallback handling...
[2026-10-20 10:03:56,963.963 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:03:56,966.966 INFO    ] Checking for system updates...
[2026-10-20 10:03:57,001.001 INFO    ] 200
[2026-10-20 10:03:57,003.003 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:03:57,057.057 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:03:57,060.060 INFO    ] No update needed
[2026-10-20 10:03:57,062.062 INFO    ] Checking for camera pi updates...
[2026-10-20 10:03:57,095.095 INFO    ] 200
[2026-10-20 10:03:57,097.097 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:03:57,139.139 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:03:57,284.284 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:03:57,286.286 INFO    ] No camera update needed
[2026-10-20 10:03:57,288.288 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:03:57,291.291 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:03:57,296.296 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:03:57,301.301 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:03:59,341.341 INFO    ] ================================================
[2026-10-20 10:03:59,355.355 INFO    ] Launching Daemon at Tue Oct 20 10:03:59 IST 2026
[2026-10-20 10:03:59,366.366 INFO    ] ================================================
[2026-10-20 10:03:59,933.933 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:03:59
[2026-10-20 10:04:00,520.520 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:04:00,788.788 INFO    ] Initializing speech engine...
[2026-10-20 10:04:00,799.799 INFO    ] 2026-10-20 10:04:00
[2026-10-20 10:04:01,057.057 INFO    ] 2026-10-20 10:04:01
[2026-10-20 10:04:01,111.111 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:04:01,338.338 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:04:01,342.342 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:04:01,552.552 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:04:01,599.599 INFO    ] time= 20/10/2026 10:04:01
[2026-10-20 10:04:01,605.605 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:04:01,623.623 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:04:01,750.750 INFO    ] No existing commands found in stream
[2026-10-20 10:04:06,767.767 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:04:06,770.770 INFO    ] Waiting 3.63 seconds before fallback handling...
[2026-10-20 10:04:10,958.958 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:04:10,961.961 INFO    ] Checking for system updates...
[2026-10-20 10:04:10,996.996 INFO    ] 200
[2026-10-20 10:04:10,999.999 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:04:11,055.055 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:04:11,058.058 INFO    ] No update needed
[2026-10-20 10:04:11,061.061 INFO    ] Checking for camera pi updates...
[2026-10-20 10:04:11,110.110 INFO    ] 200
[2026-10-20 10:04:11,113.113 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:04:11,181.181 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:04:11,226.226 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:04:11,229.229 INFO    ] No camera update needed
[2026-10-20 10:04:11,232.232 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:04:11,235.235 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:04:11,241.241 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:04:11,247.247 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:04:13,288.288 INFO    ] ================================================
[2026-10-20 10:04:13,303.303 INFO    ] Launching Daemon at Tue Oct 20 10:04:13 IST 2026
[2026-10-20 10:04:13,313.313 INFO    ] ================================================
[2026-10-20 10:04:13,935.935 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:04:13
[2026-10-20 10:04:14,576.576 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:04:14,869.869 INFO    ] Initializing speech engine...
[2026-10-20 10:04:14,876.876 INFO    ] 2026-10-20 10:04:14
[2026-10-20 10:04:15,144.144 INFO    ] 2026-10-20 10:04:15
[2026-10-20 10:04:15,201.201 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:04:15,483.483 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:04:15,491.491 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:04:15,687.687 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:04:15,694.694 INFO    ] time= 20/10/2026 10:04:15
[2026-10-20 10:04:15,713.713 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:04:15,742.742 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:04:15,854.854 INFO    ] No existing commands found in stream
[2026-10-20 10:04:20,884.884 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:04:20,887.887 INFO    ] Waiting 0.98 seconds before fallback handling...
[2026-10-20 10:04:22,405.405 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:04:22,407.407 INFO    ] Checking for system updates...
[2026-10-20 10:04:22,446.446 INFO    ] 200
[2026-10-20 10:04:22,449.449 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:04:22,504.504 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:04:22,506.506 INFO    ] No update needed
[2026-10-20 10:04:22,509.509 INFO    ] Checking for camera pi updates...
[2026-10-20 10:04:22,542.542 INFO    ] 200
[2026-10-20 10:04:22,545.545 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:04:22,587.587 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:04:22,636.636 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:04:22,639.639 INFO    ] No camera update needed
[2026-10-20 10:04:22,641.641 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:04:22,644.644 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:04:22,650.650 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:04:22,655.655 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:04:24,696.696 INFO    ] ================================================
[2026-10-20 10:04:24,711.711 INFO    ] Launching Daemon at Tue Oct 20 10:04:24 IST 2026
[2026-10-20 10:04:24,722.722 INFO    ] ================================================
[2026-10-20 10:04:25,350.350 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:04:25
[2026-10-20 10:04:25,992.992 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:04:26,285.285 INFO    ] Initializing speech engine...
[2026-10-20 10:04:26,293.293 INFO    ] 2026-10-20 10:04:26
[2026-10-20 10:04:26,561.561 INFO    ] 2026-10-20 10:04:26
[2026-10-20 10:04:26,615.615 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:04:26,869.869 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:04:26,889.889 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:04:27,105.105 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:04:27,112.112 INFO    ] time= 20/10/2026 10:04:27
[2026-10-20 10:04:27,133.133 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:04:27,159.159 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:04:27,272.272 INFO    ] No existing commands found in stream
[2026-10-20 10:04:32,297.297 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:04:32,300.300 INFO    ] Waiting 3.74 seconds before fallback handling...
[2026-10-20 10:04:36,614.614 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:04:36,617.617 INFO    ] Checking for system updates...
[2026-10-20 10:04:36,654.654 INFO    ] 200
[2026-10-20 10:04:36,657.657 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:04:36,710.710 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:04:36,712.712 INFO    ] No update needed
[2026-10-20 10:04:36,715.715 INFO    ] Checking for camera pi updates...
[2026-10-20 10:04:36,750.750 INFO    ] 200
[2026-10-20 10:04:36,753.753 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:04:36,797.797 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:04:36,845.845 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:04:36,848.848 INFO    ] No camera update needed
[2026-10-20 10:04:36,851.851 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:04:36,854.854 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:04:36,860.860 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:04:36,865.865 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:04:38,906.906 INFO    ] ================================================
[2026-10-20 10:04:38,922.922 INFO    ] Launching Daemon at Tue Oct 20 10:04:38 IST 2026
[2026-10-20 10:04:38,932.932 INFO    ] ================================================
[2026-10-20 10:04:39,499.499 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:04:39
[2026-10-20 10:04:40,095.095 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:04:40,345.345 INFO    ] Initializing speech engine...
[2026-10-20 10:04:40,354.354 INFO    ] 2026-10-20 10:04:40
[2026-10-20 10:04:40,628.628 INFO    ] 2026-10-20 10:04:40
[2026-10-20 10:04:40,664.664 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:04:40,920.920 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:04:40,926.926 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:04:41,061.061 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:04:41,120.120 INFO    ] time= 20/10/2026 10:04:41
[2026-10-20 10:04:41,174.174 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:04:41,192.192 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:04:41,322.322 INFO    ] No existing commands found in stream
[2026-10-20 10:04:46,350.350 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:04:46,353.353 INFO    ] Waiting 2.93 seconds before fallback handling...
[2026-10-20 10:04:49,810.810 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:04:49,813.813 INFO    ] Checking for system updates...
[2026-10-20 10:04:49,848.848 INFO    ] 200
[2026-10-20 10:04:49,851.851 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:04:49,902.902 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:04:49,904.904 INFO    ] No update needed
[2026-10-20 10:04:49,907.907 INFO    ] Checking for camera pi updates...
[2026-10-20 10:04:49,939.939 INFO    ] 200
[2026-10-20 10:04:49,942.942 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:04:49,981.981 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:04:50,029.029 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:04:50,031.031 INFO    ] No camera update needed
[2026-10-20 10:04:50,034.034 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:04:50,036.036 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:04:50,041.041 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:04:50,046.046 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:04:52,087.087 INFO    ] ================================================
[2026-10-20 10:04:52,102.102 INFO    ] Launching Daemon at Tue Oct 20 10:04:52 IST 2026
[2026-10-20 10:04:52,112.112 INFO    ] ================================================
[2026-10-20 10:04:52,677.677 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:04:52
[2026-10-20 10:04:53,257.257 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:04:53,523.523 INFO    ] Initializing speech engine...
[2026-10-20 10:04:53,542.542 INFO    ] 2026-10-20 10:04:53
[2026-10-20 10:04:53,807.807 INFO    ] 2026-10-20 10:04:53
[2026-10-20 10:04:53,842.842 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:04:54,098.098 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:04:54,107.107 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:04:54,320.320 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:04:54,370.370 INFO    ] time= 20/10/2026 10:04:54
[2026-10-20 10:04:54,377.377 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:04:54,394.394 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:04:54,522.522 INFO    ] No existing commands found in stream
[2026-10-20 10:04:59,539.539 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:04:59,541.541 INFO    ] Waiting 2.53 seconds before fallback handling...
[2026-10-20 10:05:02,614.614 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:05:02,618.618 INFO    ] Checking for system updates...
[2026-10-20 10:05:02,668.668 INFO    ] 200
[2026-10-20 10:05:02,671.671 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:05:02,742.742 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:05:02,745.745 INFO    ] No update needed
[2026-10-20 10:05:02,748.748 INFO    ] Checking for camera pi updates...
[2026-10-20 10:05:02,786.786 INFO    ] 200
[2026-10-20 10:05:02,790.790 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:05:02,842.842 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:05:02,890.890 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:05:02,893.893 INFO    ] No camera update needed
[2026-10-20 10:05:02,896.896 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:05:02,899.899 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:05:02,905.905 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:05:02,912.912 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:05:04,951.951 INFO    ] ================================================
[2026-10-20 10:05:04,966.966 INFO    ] Launching Daemon at Tue Oct 20 10:05:04 IST 2026
[2026-10-20 10:05:04,977.977 INFO    ] ================================================
[2026-10-20 10:05:05,555.555 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:05:05
[2026-10-20 10:05:06,141.141 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:05:06,396.396 INFO    ] Initializing speech engine...
[2026-10-20 10:05:06,402.402 INFO    ] 2026-10-20 10:05:06
[2026-10-20 10:05:06,698.698 INFO    ] 2026-10-20 10:05:06
[2026-10-20 10:05:06,735.735 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:05:06,963.963 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:05:06,993.993 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:05:07,189.189 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:05:07,211.211 INFO    ] time= 20/10/2026 10:05:07
[2026-10-20 10:05:07,275.275 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:05:07,339.339 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:05:07,473.473 INFO    ] No existing commands found in stream
[2026-10-20 10:05:12,490.490 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:05:12,493.493 INFO    ] Waiting 2.68 seconds before fallback handling...
[2026-10-20 10:05:15,671.671 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:05:15,673.673 INFO    ] Checking for system updates...
[2026-10-20 10:05:15,709.709 INFO    ] 200
[2026-10-20 10:05:15,712.712 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:05:15,767.767 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:05:15,770.770 INFO    ] No update needed
[2026-10-20 10:05:15,773.773 INFO    ] Checking for camera pi updates...
[2026-10-20 10:05:15,806.806 INFO    ] 200
[2026-10-20 10:05:15,808.808 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:05:15,850.850 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:05:15,899.899 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:05:15,901.901 INFO    ] No camera update needed
[2026-10-20 10:05:15,904.904 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:05:15,906.906 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:05:15,912.912 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:05:15,917.917 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:05:17,958.958 INFO    ] ================================================
[2026-10-20 10:05:17,973.973 INFO    ] Launching Daemon at Tue Oct 20 10:05:17 IST 2026
[2026-10-20 10:05:17,984.984 INFO    ] ================================================
[2026-10-20 10:05:18,565.565 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:05:18
[2026-10-20 10:05:19,158.158 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:05:19,415.415 INFO    ] Initializing speech engine...
[2026-10-20 10:05:19,430.430 INFO    ] 2026-10-20 10:05:19
[2026-10-20 10:05:19,713.713 INFO    ] 2026-10-20 10:05:19
[2026-10-20 10:05:19,750.750 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:05:19,950.950 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:05:19,964.964 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:05:20,130.130 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:05:20,136.136 INFO    ] time= 20/10/2026 10:05:20
[2026-10-20 10:05:20,142.142 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:05:20,186.186 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:05:20,308.308 INFO    ] No existing commands found in stream
[2026-10-20 10:05:25,328.328 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:05:25,331.331 INFO    ] Waiting 3.89 seconds before fallback handling...
[2026-10-20 10:05:29,784.784 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:05:29,787.787 INFO    ] Checking for system updates...
[2026-10-20 10:05:29,830.830 INFO    ] 200
[2026-10-20 10:05:29,833.833 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:05:29,886.886 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:05:29,889.889 INFO    ] No update needed
[2026-10-20 10:05:29,891.891 INFO    ] Checking for camera pi updates...
[2026-10-20 10:05:29,926.926 INFO    ] 200
[2026-10-20 10:05:29,929.929 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:05:29,969.969 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:05:30,014.014 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:05:30,016.016 INFO    ] No camera update needed
[2026-10-20 10:05:30,019.019 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:05:30,021.021 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:05:30,027.027 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:05:30,032.032 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:05:32,072.072 INFO    ] ================================================
[2026-10-20 10:05:32,088.088 INFO    ] Launching Daemon at Tue Oct 20 10:05:32 IST 2026
[2026-10-20 10:05:32,099.099 INFO    ] ================================================
[2026-10-20 10:05:32,692.692 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:05:32
[2026-10-20 10:05:33,316.316 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:05:33,618.618 INFO    ] Initializing speech engine...
[2026-10-20 10:05:33,633.633 INFO    ] 2026-10-20 10:05:33
[2026-10-20 10:05:33,910.910 INFO    ] 2026-10-20 10:05:33
[2026-10-20 10:05:33,955.955 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:05:34,241.241 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:05:34,246.246 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:05:34,445.445 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:05:34,462.462 INFO    ] time= 20/10/2026 10:05:34
[2026-10-20 10:05:34,487.487 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:05:34,501.501 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:05:34,628.628 INFO    ] No existing commands found in stream
[2026-10-20 10:05:39,649.649 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:05:39,653.653 INFO    ] Waiting 2.12 seconds before fallback handling...
[2026-10-20 10:05:42,309.309 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 10:05:42,312.312 INFO    ] Checking for system updates...
[2026-10-20 10:05:42,348.348 INFO    ] 200
[2026-10-20 10:05:42,351.351 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:05:42,407.407 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:05:42,410.410 INFO    ] No update needed
[2026-10-20 10:05:42,412.412 INFO    ] Checking for camera pi updates...
[2026-10-20 10:05:42,449.449 INFO    ] 200
[2026-10-20 10:05:42,452.452 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:05:42,492.492 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:05:42,542.542 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:05:42,544.544 INFO    ] No camera update needed
[2026-10-20 10:05:42,547.547 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:05:42,549.549 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:05:42,555.555 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:05:42,560.560 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:05:44,600.600 INFO    ] ================================================
[2026-10-20 10:05:44,616.616 INFO    ] Launching Daemon at Tue Oct 20 10:05:44 IST 2026
[2026-10-20 10:05:44,626.626 INFO    ] ================================================
[2026-10-20 10:05:45,192.192 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:05:45
[2026-10-20 10:05:45,776.776 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:05:46,045.045 INFO    ] Initializing speech engine...
[2026-10-20 10:05:46,052.052 INFO    ] 2026-10-20 10:05:46
[2026-10-20 10:05:46,300.300 INFO    ] 2026-10-20 10:05:46
[2026-10-20 10:05:46,335.335 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:05:46,586.586 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:05:46,596.596 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:05:46,730.730 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:05:46,795.795 INFO    ] time= 20/10/2026 10:05:46
[2026-10-20 10:05:46,849.849 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:05:46,863.863 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:05:47,006.006 INFO    ] No existing commands found in stream
[2026-10-20 10:05:52,020.020 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:05:52,023.023 INFO    ] Waiting 3.38 seconds before fallback handling...
[2026-10-20 10:05:55,952.952 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:05:55,955.955 INFO    ] Checking for system updates...
[2026-10-20 10:05:55,991.991 INFO    ] 200
[2026-10-20 10:05:55,994.994 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:05:56,046.046 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:05:56,049.049 INFO    ] No update needed
[2026-10-20 10:05:56,052.052 INFO    ] Checking for camera pi updates...
[2026-10-20 10:05:56,085.085 INFO    ] 200
[2026-10-20 10:05:56,087.087 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:05:56,127.127 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:05:56,171.171 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:05:56,173.173 INFO    ] No camera update needed
[2026-10-20 10:05:56,175.175 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:05:56,177.177 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:05:56,183.183 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:05:56,188.188 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:05:58,227.227 INFO    ] ================================================
[2026-10-20 10:05:58,243.243 INFO    ] Launching Daemon at Tue Oct 20 10:05:58 IST 2026
[2026-10-20 10:05:58,254.254 INFO    ] ================================================
[2026-10-20 10:05:58,827.827 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:05:58
[2026-10-20 10:05:59,413.413 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:05:59,686.686 INFO    ] Initializing speech engine...
[2026-10-20 10:05:59,693.693 INFO    ] 2026-10-20 10:05:59
[2026-10-20 10:05:59,937.937 INFO    ] 2026-10-20 10:05:59
[2026-10-20 10:05:59,972.972 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:06:00,223.223 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:06:00,232.232 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:06:00,433.433 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:06:00,488.488 INFO    ] time= 20/10/2026 10:06:00
[2026-10-20 10:06:00,498.498 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:06:00,517.517 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:06:00,648.648 INFO    ] No existing commands found in stream
[2026-10-20 10:06:05,671.671 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:06:05,673.673 INFO    ] Waiting 1.13 seconds before fallback handling...
[2026-10-20 10:06:07,328.328 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:06:07,331.331 INFO    ] Checking for system updates...
[2026-10-20 10:06:07,365.365 INFO    ] 200
[2026-10-20 10:06:07,368.368 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:06:07,420.420 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:06:07,423.423 INFO    ] No update needed
[2026-10-20 10:06:07,425.425 INFO    ] Checking for camera pi updates...
[2026-10-20 10:06:07,462.462 INFO    ] 200
[2026-10-20 10:06:07,464.464 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:06:07,503.503 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:06:07,546.546 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:06:07,548.548 INFO    ] No camera update needed
[2026-10-20 10:06:07,551.551 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:06:07,553.553 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:06:07,558.558 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:06:07,563.563 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:06:09,604.604 INFO    ] ================================================
[2026-10-20 10:06:09,619.619 INFO    ] Launching Daemon at Tue Oct 20 10:06:09 IST 2026
[2026-10-20 10:06:09,630.630 INFO    ] ================================================
[2026-10-20 10:06:10,212.212 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:06:10
[2026-10-20 10:06:10,860.860 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:06:11,160.160 INFO    ] Initializing speech engine...
[2026-10-20 10:06:11,175.175 INFO    ] 2026-10-20 10:06:11
[2026-10-20 10:06:11,480.480 INFO    ] 2026-10-20 10:06:11
[2026-10-20 10:06:11,569.569 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:06:11,788.788 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:06:11,850.850 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:06:12,015.015 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:06:12,034.034 INFO    ] time= 20/10/2026 10:06:12
[2026-10-20 10:06:12,044.044 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:06:12,070.070 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:06:12,240.240 INFO    ] No existing commands found in stream
[2026-10-20 10:06:17,258.258 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:06:17,261.261 INFO    ] Waiting 1.89 seconds before fallback handling...
[2026-10-20 10:06:19,655.655 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:06:19,657.657 INFO    ] Checking for system updates...
[2026-10-20 10:06:19,694.694 INFO    ] 200
[2026-10-20 10:06:19,697.697 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:06:19,751.751 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:06:19,753.753 INFO    ] No update needed
[2026-10-20 10:06:19,756.756 INFO    ] Checking for camera pi updates...
[2026-10-20 10:06:19,790.790 INFO    ] 200
[2026-10-20 10:06:19,793.793 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:06:19,833.833 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:06:19,883.883 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:06:19,886.886 INFO    ] No camera update needed
[2026-10-20 10:06:19,889.889 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:06:19,892.892 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:06:19,898.898 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:06:19,904.904 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:06:21,944.944 INFO    ] ================================================
[2026-10-20 10:06:21,959.959 INFO    ] Launching Daemon at Tue Oct 20 10:06:21 IST 2026
[2026-10-20 10:06:21,970.970 INFO    ] ================================================
[2026-10-20 10:06:22,541.541 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:06:22
[2026-10-20 10:06:23,129.129 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:06:23,385.385 INFO    ] Initializing speech engine...
[2026-10-20 10:06:23,400.400 INFO    ] 2026-10-20 10:06:23
[2026-10-20 10:06:23,682.682 INFO    ] 2026-10-20 10:06:23
[2026-10-20 10:06:23,719.719 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:06:23,914.914 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:06:23,927.927 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:06:24,089.089 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:06:24,096.096 INFO    ] time= 20/10/2026 10:06:24
[2026-10-20 10:06:24,104.104 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:06:24,145.145 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:06:24,298.298 INFO    ] No existing commands found in stream
[2026-10-20 10:06:29,323.323 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:06:29,326.326 INFO    ] Waiting 2.57 seconds before fallback handling...
[2026-10-20 10:06:32,405.405 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:06:32,408.408 INFO    ] Checking for system updates...
[2026-10-20 10:06:32,446.446 INFO    ] 200
[2026-10-20 10:06:32,448.448 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:06:32,505.505 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:06:32,508.508 INFO    ] No update needed
[2026-10-20 10:06:32,511.511 INFO    ] Checking for camera pi updates...
[2026-10-20 10:06:32,546.546 INFO    ] 200
[2026-10-20 10:06:32,549.549 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:06:32,600.600 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:06:32,647.647 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:06:32,650.650 INFO    ] No camera update needed
[2026-10-20 10:06:32,653.653 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:06:32,655.655 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:06:32,662.662 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:06:32,668.668 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:06:34,708.708 INFO    ] ================================================
[2026-10-20 10:06:34,723.723 INFO    ] Launching Daemon at Tue Oct 20 10:06:34 IST 2026
[2026-10-20 10:06:34,734.734 INFO    ] ================================================
[2026-10-20 10:06:35,302.302 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:06:35
[2026-10-20 10:06:35,889.889 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:06:36,144.144 INFO    ] Initializing speech engine...
[2026-10-20 10:06:36,153.153 INFO    ] 2026-10-20 10:06:36
[2026-10-20 10:06:36,444.444 INFO    ] 2026-10-20 10:06:36
[2026-10-20 10:06:36,478.478 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:06:36,698.698 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:06:36,705.705 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:06:36,851.851 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:06:36,855.855 INFO    ] time= 20/10/2026 10:06:36
[2026-10-20 10:06:36,862.862 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:06:36,903.903 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:06:37,032.032 INFO    ] No existing commands found in stream
[2026-10-20 10:06:42,057.057 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:06:42,060.060 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-10-20 10:06:45,708.708 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:06:45,711.711 INFO    ] Checking for system updates...
[2026-10-20 10:06:45,746.746 INFO    ] 200
[2026-10-20 10:06:45,749.749 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:06:45,806.806 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:06:45,808.808 INFO    ] No update needed
[2026-10-20 10:06:45,811.811 INFO    ] Checking for camera pi updates...
[2026-10-20 10:06:45,844.844 INFO    ] 200
[2026-10-20 10:06:45,846.846 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:06:45,890.890 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:06:45,936.936 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:06:45,938.938 INFO    ] No camera update needed
[2026-10-20 10:06:45,941.941 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:06:45,943.943 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:06:45,948.948 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:06:45,953.953 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:06:47,993.993 INFO    ] ================================================
[2026-10-20 10:06:48,008.008 INFO    ] Launching Daemon at Tue Oct 20 10:06:48 IST 2026
[2026-10-20 10:06:48,021.021 INFO    ] ================================================
[2026-10-20 10:06:48,655.655 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:06:48
[2026-10-20 10:06:49,315.315 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:06:49,618.618 INFO    ] Initializing speech engine...
[2026-10-20 10:06:49,630.630 INFO    ] 2026-10-20 10:06:49
[2026-10-20 10:06:49,908.908 INFO    ] 2026-10-20 10:06:49
[2026-10-20 10:06:49,953.953 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:06:50,235.235 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:06:50,244.244 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:06:50,441.441 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:06:50,460.460 INFO    ] time= 20/10/2026 10:06:50
[2026-10-20 10:06:50,490.490 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:06:50,498.498 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:06:50,625.625 INFO    ] No existing commands found in stream
[2026-10-20 10:06:55,656.656 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:06:55,660.660 INFO    ] Waiting 0.66 seconds before fallback handling...
[2026-10-20 10:06:56,866.866 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:06:56,869.869 INFO    ] Checking for system updates...
[2026-10-20 10:06:56,909.909 INFO    ] 200
[2026-10-20 10:06:56,912.912 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:06:56,970.970 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:06:56,973.973 INFO    ] No update needed
[2026-10-20 10:06:56,976.976 INFO    ] Checking for camera pi updates...
[2026-10-20 10:06:57,010.010 INFO    ] 200
[2026-10-20 10:06:57,013.013 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:06:57,054.054 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:06:57,101.101 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:06:57,104.104 INFO    ] No camera update needed
[2026-10-20 10:06:57,107.107 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:06:57,109.109 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:06:57,115.115 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:06:57,121.121 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:06:59,161.161 INFO    ] ================================================
[2026-10-20 10:06:59,176.176 INFO    ] Launching Daemon at Tue Oct 20 10:06:59 IST 2026
[2026-10-20 10:06:59,187.187 INFO    ] ================================================
[2026-10-20 10:06:59,755.755 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:06:59
[2026-10-20 10:07:00,340.340 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:07:00,607.607 INFO    ] Initializing speech engine...
[2026-10-20 10:07:00,616.616 INFO    ] 2026-10-20 10:07:00
[2026-10-20 10:07:00,863.863 INFO    ] 2026-10-20 10:07:00
[2026-10-20 10:07:00,899.899 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:07:01,149.149 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:07:01,159.159 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:07:01,298.298 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:07:01,358.358 INFO    ] time= 20/10/2026 10:07:01
[2026-10-20 10:07:01,417.417 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:07:01,427.427 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:07:01,556.556 INFO    ] No existing commands found in stream
[2026-10-20 10:07:06,578.578 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:07:06,581.581 INFO    ] Waiting 1.20 seconds before fallback handling...
[2026-10-20 10:07:08,229.229 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:07:08,232.232 INFO    ] Checking for system updates...
[2026-10-20 10:07:08,267.267 INFO    ] 200
[2026-10-20 10:07:08,269.269 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:07:08,321.321 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:07:08,323.323 INFO    ] No update needed
[2026-10-20 10:07:08,326.326 INFO    ] Checking for camera pi updates...
[2026-10-20 10:07:08,363.363 INFO    ] 200
[2026-10-20 10:07:08,366.366 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:07:08,405.405 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:07:08,454.454 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:07:08,456.456 INFO    ] No camera update needed
[2026-10-20 10:07:08,459.459 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:07:08,461.461 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:07:08,467.467 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:07:08,472.472 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:07:10,514.514 INFO    ] ================================================
[2026-10-20 10:07:10,530.530 INFO    ] Launching Daemon at Tue Oct 20 10:07:10 IST 2026
[2026-10-20 10:07:10,542.542 INFO    ] ================================================
[2026-10-20 10:07:11,134.134 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:07:11
[2026-10-20 10:07:11,720.720 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:07:11,988.988 INFO    ] Initializing speech engine...
[2026-10-20 10:07:11,997.997 INFO    ] 2026-10-20 10:07:11
[2026-10-20 10:07:12,244.244 INFO    ] 2026-10-20 10:07:12
[2026-10-20 10:07:12,285.285 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:07:12,534.534 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:07:12,540.540 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:07:12,782.782 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:07:12,798.798 INFO    ] time= 20/10/2026 10:07:12
[2026-10-20 10:07:12,804.804 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:07:12,823.823 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:07:12,953.953 INFO    ] No existing commands found in stream
[2026-10-20 10:07:17,966.966 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:07:17,969.969 INFO    ] Waiting 2.28 seconds before fallback handling...
[2026-10-20 10:07:20,707.707 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:07:20,710.710 INFO    ] Checking for system updates...
[2026-10-20 10:07:20,749.749 INFO    ] 200
[2026-10-20 10:07:20,752.752 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:07:20,803.803 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:07:20,806.806 INFO    ] No update needed
[2026-10-20 10:07:20,809.809 INFO    ] Checking for camera pi updates...
[2026-10-20 10:07:20,845.845 INFO    ] 200
[2026-10-20 10:07:20,848.848 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:07:20,887.887 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:07:20,932.932 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:07:20,935.935 INFO    ] No camera update needed
[2026-10-20 10:07:20,937.937 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:07:20,939.939 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:07:20,945.945 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:07:20,950.950 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:07:22,991.991 INFO    ] ================================================
[2026-10-20 10:07:23,007.007 INFO    ] Launching Daemon at Tue Oct 20 10:07:23 IST 2026
[2026-10-20 10:07:23,019.019 INFO    ] ================================================
[2026-10-20 10:07:23,598.598 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:07:23
[2026-10-20 10:07:24,186.186 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:07:24,435.435 INFO    ] Initializing speech engine...
[2026-10-20 10:07:24,448.448 INFO    ] 2026-10-20 10:07:24
[2026-10-20 10:07:24,710.710 INFO    ] 2026-10-20 10:07:24
[2026-10-20 10:07:24,746.746 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:07:24,943.943 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:07:25,000.000 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:07:25,138.138 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:07:25,185.185 INFO    ] time= 20/10/2026 10:07:25
[2026-10-20 10:07:25,240.240 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:07:25,273.273 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:07:25,396.396 INFO    ] No existing commands found in stream
[2026-10-20 10:07:30,422.422 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:07:30,424.424 INFO    ] Waiting 1.08 seconds before fallback handling...
[2026-10-20 10:07:32,011.011 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:07:32,015.015 INFO    ] Checking for system updates...
[2026-10-20 10:07:32,060.060 INFO    ] 200
[2026-10-20 10:07:32,063.063 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:07:32,123.123 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:07:32,127.127 INFO    ] No update needed
[2026-10-20 10:07:32,130.130 INFO    ] Checking for camera pi updates...
[2026-10-20 10:07:32,166.166 INFO    ] 200
[2026-10-20 10:07:32,169.169 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:07:32,214.214 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:07:32,252.252 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:07:32,255.255 INFO    ] No camera update needed
[2026-10-20 10:07:32,258.258 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:07:32,262.262 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:07:32,269.269 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:07:32,276.276 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:07:34,319.319 INFO    ] ================================================
[2026-10-20 10:07:34,335.335 INFO    ] Launching Daemon at Tue Oct 20 10:07:34 IST 2026
[2026-10-20 10:07:34,346.346 INFO    ] ================================================
[2026-10-20 10:07:34,925.925 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:07:34
[2026-10-20 10:07:35,511.511 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:07:35,781.781 INFO    ] Initializing speech engine...
[2026-10-20 10:07:35,790.790 INFO    ] 2026-10-20 10:07:35
[2026-10-20 10:07:36,050.050 INFO    ] 2026-10-20 10:07:36
[2026-10-20 10:07:36,103.103 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:07:36,331.331 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:07:36,336.336 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:07:36,469.469 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:07:36,529.529 INFO    ] time= 20/10/2026 10:07:36
[2026-10-20 10:07:36,578.578 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:07:36,604.604 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:07:36,754.754 INFO    ] No existing commands found in stream
[2026-10-20 10:07:41,770.770 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:07:41,773.773 INFO    ] Waiting 0.35 seconds before fallback handling...
[2026-10-20 10:07:42,670.670 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:07:42,672.672 INFO    ] Checking for system updates...
[2026-10-20 10:07:42,717.717 INFO    ] 200
[2026-10-20 10:07:42,720.720 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 10:07:42,723.723 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-10-20 10:07:42,726.726 INFO    ] Checking for camera pi updates...
[2026-10-20 10:07:42,767.767 INFO    ] 200
[2026-10-20 10:07:42,770.770 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 10:07:42,773.773 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-10-20 10:07:42,775.775 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:07:42,778.778 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:07:42,784.784 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:07:42,789.789 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:07:44,832.832 INFO    ] ================================================
[2026-10-20 10:07:44,849.849 INFO    ] Launching Daemon at Tue Oct 20 10:07:44 IST 2026
[2026-10-20 10:07:44,860.860 INFO    ] ================================================
[2026-10-20 10:07:45,536.536 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:07:45
[2026-10-20 10:07:46,121.121 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:07:46,388.388 INFO    ] Initializing speech engine...
[2026-10-20 10:07:46,400.400 INFO    ] 2026-10-20 10:07:46
[2026-10-20 10:07:46,661.661 INFO    ] 2026-10-20 10:07:46
[2026-10-20 10:07:46,696.696 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:07:46,923.923 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:07:46,964.964 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:07:47,166.166 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:07:47,226.226 INFO    ] time= 20/10/2026 10:07:47
[2026-10-20 10:07:47,237.237 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:07:47,255.255 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:07:47,372.372 INFO    ] No existing commands found in stream
[2026-10-20 10:07:52,397.397 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:07:52,400.400 INFO    ] Waiting 3.74 seconds before fallback handling...
[2026-10-20 10:07:56,675.675 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:07:56,678.678 INFO    ] Checking for system updates...
[2026-10-20 10:07:56,715.715 INFO    ] 200
[2026-10-20 10:07:56,718.718 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:07:56,778.778 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:07:56,781.781 INFO    ] No update needed
[2026-10-20 10:07:56,783.783 INFO    ] Checking for camera pi updates...
[2026-10-20 10:07:56,818.818 INFO    ] 200
[2026-10-20 10:07:56,821.821 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:07:56,862.862 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:07:56,913.913 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:07:56,916.916 INFO    ] No camera update needed
[2026-10-20 10:07:56,919.919 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:07:56,922.922 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:07:56,928.928 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:07:56,934.934 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:07:58,975.975 INFO    ] ================================================
[2026-10-20 10:07:58,992.992 INFO    ] Launching Daemon at Tue Oct 20 10:07:58 IST 2026
[2026-10-20 10:07:59,003.003 INFO    ] ================================================
[2026-10-20 10:07:59,569.569 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:07:59
[2026-10-20 10:08:00,153.153 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:08:00,396.396 INFO    ] Initializing speech engine...
[2026-10-20 10:08:00,401.401 INFO    ] 2026-10-20 10:08:00
[2026-10-20 10:08:00,681.681 INFO    ] 2026-10-20 10:08:00
[2026-10-20 10:08:00,716.716 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:08:00,973.973 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:08:00,982.982 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:08:01,120.120 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:08:01,174.174 INFO    ] time= 20/10/2026 10:08:01
[2026-10-20 10:08:01,219.219 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:08:01,249.249 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:08:01,399.399 INFO    ] No existing commands found in stream
[2026-10-20 10:08:06,422.422 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:08:06,424.424 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-10-20 10:08:09,105.105 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:08:09,108.108 INFO    ] Checking for system updates...
[2026-10-20 10:08:09,143.143 INFO    ] 200
[2026-10-20 10:08:09,146.146 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:08:09,197.197 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:08:09,200.200 INFO    ] No update needed
[2026-10-20 10:08:09,202.202 INFO    ] Checking for camera pi updates...
[2026-10-20 10:08:09,235.235 INFO    ] 200
[2026-10-20 10:08:09,237.237 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:08:09,282.282 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:08:09,426.426 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:08:09,428.428 INFO    ] No camera update needed
[2026-10-20 10:08:09,431.431 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:08:09,433.433 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:08:09,438.438 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:08:09,443.443 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:08:11,484.484 INFO    ] ================================================
[2026-10-20 10:08:11,500.500 INFO    ] Launching Daemon at Tue Oct 20 10:08:11 IST 2026
[2026-10-20 10:08:11,511.511 INFO    ] ================================================
[2026-10-20 10:08:12,172.172 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:08:12
[2026-10-20 10:08:12,851.851 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:08:13,158.158 INFO    ] Initializing speech engine...
[2026-10-20 10:08:13,172.172 INFO    ] 2026-10-20 10:08:13
[2026-10-20 10:08:13,457.457 INFO    ] 2026-10-20 10:08:13
[2026-10-20 10:08:13,566.566 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:08:13,783.783 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:08:13,803.803 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:08:13,984.984 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:08:14,001.001 INFO    ] time= 20/10/2026 10:08:13
[2026-10-20 10:08:14,032.032 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:08:14,043.043 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:08:14,163.163 INFO    ] No existing commands found in stream
[2026-10-20 10:08:19,199.199 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:08:19,202.202 INFO    ] Waiting 1.76 seconds before fallback handling...
[2026-10-20 10:08:21,485.485 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:08:21,488.488 INFO    ] Checking for system updates...
[2026-10-20 10:08:21,529.529 INFO    ] 200
[2026-10-20 10:08:21,532.532 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:08:21,584.584 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:08:21,587.587 INFO    ] No update needed
[2026-10-20 10:08:21,590.590 INFO    ] Checking for camera pi updates...
[2026-10-20 10:08:21,625.625 INFO    ] 200
[2026-10-20 10:08:21,627.627 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:08:21,669.669 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:08:21,720.720 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:08:21,722.722 INFO    ] No camera update needed
[2026-10-20 10:08:21,725.725 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:08:21,727.727 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:08:21,733.733 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:08:21,738.738 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:08:23,781.781 INFO    ] ================================================
[2026-10-20 10:08:23,795.795 INFO    ] Launching Daemon at Tue Oct 20 10:08:23 IST 2026
[2026-10-20 10:08:23,806.806 INFO    ] ================================================
[2026-10-20 10:08:24,373.373 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:08:24
[2026-10-20 10:08:24,956.956 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:08:25,206.206 INFO    ] Initializing speech engine...
[2026-10-20 10:08:25,219.219 INFO    ] 2026-10-20 10:08:25
[2026-10-20 10:08:25,490.490 INFO    ] 2026-10-20 10:08:25
[2026-10-20 10:08:25,523.523 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:08:25,751.751 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:08:25,759.759 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:08:25,910.910 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:08:25,917.917 INFO    ] time= 20/10/2026 10:08:25
[2026-10-20 10:08:25,923.923 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:08:25,978.978 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:08:26,113.113 INFO    ] No existing commands found in stream
[2026-10-20 10:08:31,138.138 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:08:31,141.141 INFO    ] Waiting 2.81 seconds before fallback handling...
[2026-10-20 10:08:34,429.429 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:08:34,431.431 INFO    ] Checking for system updates...
[2026-10-20 10:08:34,466.466 INFO    ] 200
[2026-10-20 10:08:34,469.469 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:08:34,521.521 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:08:34,523.523 INFO    ] No update needed
[2026-10-20 10:08:34,526.526 INFO    ] Checking for camera pi updates...
[2026-10-20 10:08:34,560.560 INFO    ] 200
[2026-10-20 10:08:34,562.562 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:08:34,602.602 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:08:34,644.644 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:08:34,647.647 INFO    ] No camera update needed
[2026-10-20 10:08:34,649.649 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:08:34,652.652 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:08:34,657.657 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:08:34,662.662 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:08:36,703.703 INFO    ] ================================================
[2026-10-20 10:08:36,718.718 INFO    ] Launching Daemon at Tue Oct 20 10:08:36 IST 2026
[2026-10-20 10:08:36,729.729 INFO    ] ================================================
[2026-10-20 10:08:37,397.397 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:08:37
[2026-10-20 10:08:38,083.083 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:08:38,392.392 INFO    ] Initializing speech engine...
[2026-10-20 10:08:38,399.399 INFO    ] 2026-10-20 10:08:38
[2026-10-20 10:08:38,701.701 INFO    ] 2026-10-20 10:08:38
[2026-10-20 10:08:38,814.814 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:08:39,034.034 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:08:39,042.042 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:08:39,244.244 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:08:39,267.267 INFO    ] time= 20/10/2026 10:08:39
[2026-10-20 10:08:39,296.296 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:08:39,305.305 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:08:39,423.423 INFO    ] No existing commands found in stream
[2026-10-20 10:08:44,459.459 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:08:44,463.463 INFO    ] Waiting 3.24 seconds before fallback handling...
[2026-10-20 10:08:48,271.271 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:08:48,274.274 INFO    ] Checking for system updates...
[2026-10-20 10:08:48,310.310 INFO    ] 200
[2026-10-20 10:08:48,313.313 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:08:48,373.373 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:08:48,375.375 INFO    ] No update needed
[2026-10-20 10:08:48,378.378 INFO    ] Checking for camera pi updates...
[2026-10-20 10:08:48,411.411 INFO    ] 200
[2026-10-20 10:08:48,414.414 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:08:48,455.455 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:08:48,511.511 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:08:48,514.514 INFO    ] No camera update needed
[2026-10-20 10:08:48,516.516 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:08:48,518.518 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:08:48,524.524 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:08:48,529.529 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:08:50,569.569 INFO    ] ================================================
[2026-10-20 10:08:50,585.585 INFO    ] Launching Daemon at Tue Oct 20 10:08:50 IST 2026
[2026-10-20 10:08:50,596.596 INFO    ] ================================================
[2026-10-20 10:08:51,162.162 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:08:51
[2026-10-20 10:08:51,744.744 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:08:51,992.992 INFO    ] Initializing speech engine...
[2026-10-20 10:08:52,001.001 INFO    ] 2026-10-20 10:08:51
[2026-10-20 10:08:52,295.295 INFO    ] 2026-10-20 10:08:52
[2026-10-20 10:08:52,329.329 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:08:52,525.525 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:08:52,535.535 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:08:52,708.708 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:08:52,716.716 INFO    ] time= 20/10/2026 10:08:52
[2026-10-20 10:08:52,722.722 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:08:52,728.728 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:08:52,804.804 INFO    ] No existing commands found in stream
[2026-10-20 10:08:57,839.839 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:08:57,842.842 INFO    ] Waiting 0.03 seconds before fallback handling...
[2026-10-20 10:08:58,321.321 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:08:58,323.323 INFO    ] Checking for system updates...
[2026-10-20 10:08:58,359.359 INFO    ] 200
[2026-10-20 10:08:58,361.361 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:08:58,413.413 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:08:58,415.415 INFO    ] No update needed
[2026-10-20 10:08:58,418.418 INFO    ] Checking for camera pi updates...
[2026-10-20 10:08:58,452.452 INFO    ] 200
[2026-10-20 10:08:58,454.454 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:08:58,497.497 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:08:58,552.552 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:08:58,554.554 INFO    ] No camera update needed
[2026-10-20 10:08:58,556.556 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:08:58,559.559 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:08:58,564.564 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:08:58,569.569 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:09:00,610.610 INFO    ] ================================================
[2026-10-20 10:09:00,625.625 INFO    ] Launching Daemon at Tue Oct 20 10:09:00 IST 2026
[2026-10-20 10:09:00,636.636 INFO    ] ================================================
[2026-10-20 10:09:01,295.295 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:09:01
[2026-10-20 10:09:02,017.017 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:09:02,307.307 INFO    ] Initializing speech engine...
[2026-10-20 10:09:02,314.314 INFO    ] 2026-10-20 10:09:02
[2026-10-20 10:09:02,670.670 INFO    ] 2026-10-20 10:09:02
[2026-10-20 10:09:02,704.704 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:09:02,924.924 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:09:02,940.940 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:09:03,107.107 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:09:03,118.118 INFO    ] time= 20/10/2026 10:09:03
[2026-10-20 10:09:03,123.123 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:09:03,129.129 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:09:03,229.229 INFO    ] No existing commands found in stream
[2026-10-20 10:09:08,260.260 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:09:08,263.263 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-10-20 10:09:10,797.797 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:09:10,800.800 INFO    ] Checking for system updates...
[2026-10-20 10:09:10,835.835 INFO    ] 200
[2026-10-20 10:09:10,838.838 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:09:10,895.895 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:09:10,897.897 INFO    ] No update needed
[2026-10-20 10:09:10,900.900 INFO    ] Checking for camera pi updates...
[2026-10-20 10:09:10,936.936 INFO    ] 200
[2026-10-20 10:09:10,939.939 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:09:10,978.978 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:09:11,026.026 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:09:11,028.028 INFO    ] No camera update needed
[2026-10-20 10:09:11,031.031 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:09:11,033.033 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:09:11,038.038 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:09:11,043.043 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:09:13,083.083 INFO    ] ================================================
[2026-10-20 10:09:13,098.098 INFO    ] Launching Daemon at Tue Oct 20 10:09:13 IST 2026
[2026-10-20 10:09:13,109.109 INFO    ] ================================================
[2026-10-20 10:09:13,739.739 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:09:13
[2026-10-20 10:09:14,383.383 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:09:14,676.676 INFO    ] Initializing speech engine...
[2026-10-20 10:09:14,682.682 INFO    ] 2026-10-20 10:09:14
[2026-10-20 10:09:14,964.964 INFO    ] 2026-10-20 10:09:14
[2026-10-20 10:09:15,008.008 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:09:15,287.287 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:09:15,296.296 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:09:15,494.494 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:09:15,509.509 INFO    ] time= 20/10/2026 10:09:15
[2026-10-20 10:09:15,525.525 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:09:15,548.548 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:09:15,691.691 INFO    ] No existing commands found in stream
[2026-10-20 10:09:20,717.717 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:09:20,720.720 INFO    ] Waiting 1.17 seconds before fallback handling...
[2026-10-20 10:09:22,431.431 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 10:09:22,434.434 INFO    ] Checking for system updates...
[2026-10-20 10:09:22,471.471 INFO    ] 200
[2026-10-20 10:09:22,474.474 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:09:22,526.526 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:09:22,528.528 INFO    ] No update needed
[2026-10-20 10:09:22,531.531 INFO    ] Checking for camera pi updates...
[2026-10-20 10:09:22,565.565 INFO    ] 200
[2026-10-20 10:09:22,567.567 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:09:22,608.608 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:09:22,656.656 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:09:22,659.659 INFO    ] No camera update needed
[2026-10-20 10:09:22,662.662 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:09:22,664.664 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:09:22,670.670 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:09:22,676.676 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:09:24,716.716 INFO    ] ================================================
[2026-10-20 10:09:24,731.731 INFO    ] Launching Daemon at Tue Oct 20 10:09:24 IST 2026
[2026-10-20 10:09:24,742.742 INFO    ] ================================================
[2026-10-20 10:09:25,313.313 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:09:25
[2026-10-20 10:09:25,905.905 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:09:26,172.172 INFO    ] Initializing speech engine...
[2026-10-20 10:09:26,180.180 INFO    ] 2026-10-20 10:09:26
[2026-10-20 10:09:26,425.425 INFO    ] 2026-10-20 10:09:26
[2026-10-20 10:09:26,459.459 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:09:26,709.709 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:09:26,718.718 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:09:26,908.908 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:09:26,963.963 INFO    ] time= 20/10/2026 10:09:26
[2026-10-20 10:09:26,979.979 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:09:26,985.985 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:09:27,132.132 INFO    ] No existing commands found in stream
[2026-10-20 10:09:32,155.155 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:09:32,158.158 INFO    ] Waiting 3.23 seconds before fallback handling...
[2026-10-20 10:09:35,916.916 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 10:09:35,919.919 INFO    ] Checking for system updates...
[2026-10-20 10:09:35,955.955 INFO    ] 200
[2026-10-20 10:09:35,957.957 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:09:36,008.008 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:09:36,011.011 INFO    ] No update needed
[2026-10-20 10:09:36,013.013 INFO    ] Checking for camera pi updates...
[2026-10-20 10:09:36,053.053 INFO    ] 200
[2026-10-20 10:09:36,055.055 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:09:36,100.100 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:09:36,150.150 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:09:36,152.152 INFO    ] No camera update needed
[2026-10-20 10:09:36,154.154 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:09:36,157.157 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:09:36,162.162 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:09:36,167.167 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:09:38,207.207 INFO    ] ================================================
[2026-10-20 10:09:38,222.222 INFO    ] Launching Daemon at Tue Oct 20 10:09:38 IST 2026
[2026-10-20 10:09:38,232.232 INFO    ] ================================================
[2026-10-20 10:09:38,862.862 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:09:38
[2026-10-20 10:09:39,507.507 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:09:39,802.802 INFO    ] Initializing speech engine...
[2026-10-20 10:09:39,810.810 INFO    ] 2026-10-20 10:09:39
[2026-10-20 10:09:40,095.095 INFO    ] 2026-10-20 10:09:40
[2026-10-20 10:09:40,205.205 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:09:40,413.413 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:09:40,421.421 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:09:40,606.606 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:09:40,622.622 INFO    ] time= 20/10/2026 10:09:40
[2026-10-20 10:09:40,640.640 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:09:40,658.658 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:09:40,806.806 INFO    ] No existing commands found in stream
[2026-10-20 10:09:45,836.836 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:09:45,840.840 INFO    ] Waiting 3.96 seconds before fallback handling...
[2026-10-20 10:09:50,314.314 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:09:50,317.317 INFO    ] Checking for system updates...
[2026-10-20 10:09:50,353.353 INFO    ] 200
[2026-10-20 10:09:50,355.355 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:09:50,412.412 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:09:50,414.414 INFO    ] No update needed
[2026-10-20 10:09:50,416.416 INFO    ] Checking for camera pi updates...
[2026-10-20 10:09:50,452.452 INFO    ] 200
[2026-10-20 10:09:50,455.455 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:09:50,496.496 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:09:50,542.542 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:09:50,544.544 INFO    ] No camera update needed
[2026-10-20 10:09:50,546.546 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:09:50,548.548 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:09:50,554.554 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:09:50,559.559 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:09:52,598.598 INFO    ] ================================================
[2026-10-20 10:09:52,614.614 INFO    ] Launching Daemon at Tue Oct 20 10:09:52 IST 2026
[2026-10-20 10:09:52,624.624 INFO    ] ================================================
[2026-10-20 10:09:53,193.193 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:09:53
[2026-10-20 10:09:53,779.779 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:09:54,031.031 INFO    ] Initializing speech engine...
[2026-10-20 10:09:54,037.037 INFO    ] 2026-10-20 10:09:54
[2026-10-20 10:09:54,328.328 INFO    ] 2026-10-20 10:09:54
[2026-10-20 10:09:54,365.365 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:09:54,576.576 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:09:54,591.591 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:09:54,807.807 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:09:54,814.814 INFO    ] time= 20/10/2026 10:09:54
[2026-10-20 10:09:54,848.848 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:09:54,902.902 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:09:55,011.011 INFO    ] No existing commands found in stream
[2026-10-20 10:10:00,022.022 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:10:00,025.025 INFO    ] Waiting 1.90 seconds before fallback handling...
[2026-10-20 10:10:02,440.440 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:10:02,443.443 INFO    ] Checking for system updates...
[2026-10-20 10:10:02,484.484 INFO    ] 200
[2026-10-20 10:10:02,488.488 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:10:02,568.568 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:10:02,571.571 INFO    ] No update needed
[2026-10-20 10:10:02,575.575 INFO    ] Checking for camera pi updates...
[2026-10-20 10:10:02,621.621 INFO    ] 200
[2026-10-20 10:10:02,624.624 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:10:02,686.686 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:10:02,725.725 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:10:02,728.728 INFO    ] No camera update needed
[2026-10-20 10:10:02,731.731 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:10:02,734.734 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:10:02,741.741 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:10:02,747.747 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:10:04,787.787 INFO    ] ================================================
[2026-10-20 10:10:04,802.802 INFO    ] Launching Daemon at Tue Oct 20 10:10:04 IST 2026
[2026-10-20 10:10:04,813.813 INFO    ] ================================================
[2026-10-20 10:10:05,459.459 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:10:05
[2026-10-20 10:10:06,121.121 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:10:06,420.420 INFO    ] Initializing speech engine...
[2026-10-20 10:10:06,429.429 INFO    ] 2026-10-20 10:10:06
[2026-10-20 10:10:06,720.720 INFO    ] 2026-10-20 10:10:06
[2026-10-20 10:10:06,757.757 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:10:07,020.020 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:10:07,026.026 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:10:07,250.250 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:10:07,304.304 INFO    ] time= 20/10/2026 10:10:07
[2026-10-20 10:10:07,312.312 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:10:07,331.331 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:10:07,467.467 INFO    ] No existing commands found in stream
[2026-10-20 10:10:12,482.482 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:10:12,484.484 INFO    ] Waiting 2.27 seconds before fallback handling...
[2026-10-20 10:10:15,252.252 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:10:15,255.255 INFO    ] Checking for system updates...
[2026-10-20 10:10:15,291.291 INFO    ] 200
[2026-10-20 10:10:15,294.294 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:10:15,347.347 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:10:15,350.350 INFO    ] No update needed
[2026-10-20 10:10:15,353.353 INFO    ] Checking for camera pi updates...
[2026-10-20 10:10:15,388.388 INFO    ] 200
[2026-10-20 10:10:15,391.391 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:10:15,432.432 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:10:15,580.580 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:10:15,583.583 INFO    ] No camera update needed
[2026-10-20 10:10:15,586.586 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:10:15,588.588 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:10:15,594.594 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:10:15,600.600 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:10:17,640.640 INFO    ] ================================================
[2026-10-20 10:10:17,655.655 INFO    ] Launching Daemon at Tue Oct 20 10:10:17 IST 2026
[2026-10-20 10:10:17,666.666 INFO    ] ================================================
[2026-10-20 10:10:18,241.241 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:10:18
[2026-10-20 10:10:18,830.830 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:10:19,083.083 INFO    ] Initializing speech engine...
[2026-10-20 10:10:19,092.092 INFO    ] 2026-10-20 10:10:19
[2026-10-20 10:10:19,384.384 INFO    ] 2026-10-20 10:10:19
[2026-10-20 10:10:19,418.418 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:10:19,615.615 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:10:19,631.631 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:10:19,795.795 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:10:19,801.801 INFO    ] time= 20/10/2026 10:10:19
[2026-10-20 10:10:19,807.807 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:10:19,833.833 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:10:19,973.973 INFO    ] No existing commands found in stream
[2026-10-20 10:10:24,992.992 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:10:24,995.995 INFO    ] Waiting 3.39 seconds before fallback handling...
[2026-10-20 10:10:28,860.860 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:10:28,863.863 INFO    ] Checking for system updates...
[2026-10-20 10:10:28,898.898 INFO    ] 200
[2026-10-20 10:10:28,901.901 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:10:28,953.953 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:10:28,956.956 INFO    ] No update needed
[2026-10-20 10:10:28,959.959 INFO    ] Checking for camera pi updates...
[2026-10-20 10:10:28,992.992 INFO    ] 200
[2026-10-20 10:10:28,995.995 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:10:29,038.038 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:10:29,085.085 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:10:29,088.088 INFO    ] No camera update needed
[2026-10-20 10:10:29,090.090 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:10:29,092.092 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:10:29,098.098 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:10:29,103.103 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:10:31,142.142 INFO    ] ================================================
[2026-10-20 10:10:31,157.157 INFO    ] Launching Daemon at Tue Oct 20 10:10:31 IST 2026
[2026-10-20 10:10:31,169.169 INFO    ] ================================================
[2026-10-20 10:10:31,846.846 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:10:31
[2026-10-20 10:10:32,561.561 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:10:32,826.826 INFO    ] Initializing speech engine...
[2026-10-20 10:10:32,842.842 INFO    ] 2026-10-20 10:10:32
[2026-10-20 10:10:33,122.122 INFO    ] 2026-10-20 10:10:33
[2026-10-20 10:10:33,159.159 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:10:33,354.354 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:10:33,368.368 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:10:33,531.531 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:10:33,537.537 INFO    ] time= 20/10/2026 10:10:33
[2026-10-20 10:10:33,545.545 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:10:33,601.601 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:10:33,750.750 INFO    ] No existing commands found in stream
[2026-10-20 10:10:38,769.769 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:10:38,772.772 INFO    ] Waiting 3.80 seconds before fallback handling...
[2026-10-20 10:10:43,098.098 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 10:10:43,101.101 INFO    ] Checking for system updates...
[2026-10-20 10:10:43,136.136 INFO    ] 200
[2026-10-20 10:10:43,139.139 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:10:43,191.191 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:10:43,193.193 INFO    ] No update needed
[2026-10-20 10:10:43,196.196 INFO    ] Checking for camera pi updates...
[2026-10-20 10:10:43,229.229 INFO    ] 200
[2026-10-20 10:10:43,231.231 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:10:43,271.271 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:10:43,317.317 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:10:43,320.320 INFO    ] No camera update needed
[2026-10-20 10:10:43,322.322 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:10:43,325.325 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:10:43,330.330 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:10:43,335.335 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:10:45,376.376 INFO    ] ================================================
[2026-10-20 10:10:45,391.391 INFO    ] Launching Daemon at Tue Oct 20 10:10:45 IST 2026
[2026-10-20 10:10:45,402.402 INFO    ] ================================================
[2026-10-20 10:10:45,976.976 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:10:45
[2026-10-20 10:10:46,565.565 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:10:46,833.833 INFO    ] Initializing speech engine...
[2026-10-20 10:10:46,842.842 INFO    ] 2026-10-20 10:10:46
[2026-10-20 10:10:47,102.102 INFO    ] 2026-10-20 10:10:47
[2026-10-20 10:10:47,131.131 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:10:47,381.381 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:10:47,406.406 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:10:47,619.619 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:10:47,644.644 INFO    ] time= 20/10/2026 10:10:47
[2026-10-20 10:10:47,661.661 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:10:47,670.670 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:10:47,787.787 INFO    ] No existing commands found in stream
[2026-10-20 10:10:52,808.808 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:10:52,811.811 INFO    ] Waiting 3.54 seconds before fallback handling...
[2026-10-20 10:10:56,883.883 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:10:56,886.886 INFO    ] Checking for system updates...
[2026-10-20 10:10:56,924.924 INFO    ] 200
[2026-10-20 10:10:56,926.926 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:10:56,980.980 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:10:56,983.983 INFO    ] No update needed
[2026-10-20 10:10:56,985.985 INFO    ] Checking for camera pi updates...
[2026-10-20 10:10:57,020.020 INFO    ] 200
[2026-10-20 10:10:57,023.023 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:10:57,064.064 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:10:57,116.116 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:10:57,119.119 INFO    ] No camera update needed
[2026-10-20 10:10:57,122.122 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:10:57,124.124 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:10:57,130.130 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:10:57,136.136 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:10:59,177.177 INFO    ] ================================================
[2026-10-20 10:10:59,192.192 INFO    ] Launching Daemon at Tue Oct 20 10:10:59 IST 2026
[2026-10-20 10:10:59,202.202 INFO    ] ================================================
[2026-10-20 10:10:59,775.775 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:10:59
[2026-10-20 10:11:00,364.364 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:11:00,630.630 INFO    ] Initializing speech engine...
[2026-10-20 10:11:00,641.641 INFO    ] 2026-10-20 10:11:00
[2026-10-20 10:11:00,887.887 INFO    ] 2026-10-20 10:11:00
[2026-10-20 10:11:00,922.922 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:11:01,177.177 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:11:01,181.181 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:11:01,392.392 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:11:01,440.440 INFO    ] time= 20/10/2026 10:11:01
[2026-10-20 10:11:01,446.446 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:11:01,461.461 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:11:01,609.609 INFO    ] No existing commands found in stream
[2026-10-20 10:11:06,667.667 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:11:06,670.670 INFO    ] Waiting 3.34 seconds before fallback handling...
[2026-10-20 10:11:10,547.547 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 10:11:10,550.550 INFO    ] Checking for system updates...
[2026-10-20 10:11:10,591.591 INFO    ] 200
[2026-10-20 10:11:10,594.594 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:11:10,653.653 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:11:10,656.656 INFO    ] No update needed
[2026-10-20 10:11:10,659.659 INFO    ] Checking for camera pi updates...
[2026-10-20 10:11:10,692.692 INFO    ] 200
[2026-10-20 10:11:10,695.695 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:11:10,736.736 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:11:10,784.784 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:11:10,786.786 INFO    ] No camera update needed
[2026-10-20 10:11:10,789.789 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:11:10,791.791 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:11:10,796.796 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:11:10,801.801 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:11:12,842.842 INFO    ] ================================================
[2026-10-20 10:11:12,857.857 INFO    ] Launching Daemon at Tue Oct 20 10:11:12 IST 2026
[2026-10-20 10:11:12,868.868 INFO    ] ================================================
[2026-10-20 10:11:13,530.530 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:11:13
[2026-10-20 10:11:14,218.218 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:11:14,532.532 INFO    ] Initializing speech engine...
[2026-10-20 10:11:14,540.540 INFO    ] 2026-10-20 10:11:14
[2026-10-20 10:11:14,834.834 INFO    ] 2026-10-20 10:11:14
[2026-10-20 10:11:14,881.881 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:11:15,114.114 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:11:15,120.120 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:11:15,343.343 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:11:15,382.382 INFO    ] time= 20/10/2026 10:11:15
[2026-10-20 10:11:15,403.403 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:11:15,430.430 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:11:15,561.561 INFO    ] No existing commands found in stream
[2026-10-20 10:11:20,597.597 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:11:20,601.601 INFO    ] Waiting 1.23 seconds before fallback handling...
[2026-10-20 10:11:22,370.370 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:11:22,373.373 INFO    ] Checking for system updates...
[2026-10-20 10:11:22,409.409 INFO    ] 200
[2026-10-20 10:11:22,412.412 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:11:22,464.464 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:11:22,466.466 INFO    ] No update needed
[2026-10-20 10:11:22,468.468 INFO    ] Checking for camera pi updates...
[2026-10-20 10:11:22,501.501 INFO    ] 200
[2026-10-20 10:11:22,504.504 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:11:22,544.544 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:11:22,590.590 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:11:22,592.592 INFO    ] No camera update needed
[2026-10-20 10:11:22,594.594 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:11:22,597.597 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:11:22,602.602 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:11:22,607.607 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:11:24,646.646 INFO    ] ================================================
[2026-10-20 10:11:24,661.661 INFO    ] Launching Daemon at Tue Oct 20 10:11:24 IST 2026
[2026-10-20 10:11:24,671.671 INFO    ] ================================================
[2026-10-20 10:11:25,239.239 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:11:25
[2026-10-20 10:11:25,825.825 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:11:26,083.083 INFO    ] Initializing speech engine...
[2026-10-20 10:11:26,092.092 INFO    ] 2026-10-20 10:11:26
[2026-10-20 10:11:26,390.390 INFO    ] 2026-10-20 10:11:26
[2026-10-20 10:11:26,425.425 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:11:26,633.633 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:11:26,646.646 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:11:26,813.813 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:11:26,823.823 INFO    ] time= 20/10/2026 10:11:26
[2026-10-20 10:11:26,830.830 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:11:26,857.857 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:11:26,977.977 INFO    ] No existing commands found in stream
[2026-10-20 10:11:32,002.002 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:11:32,005.005 INFO    ] Waiting 0.13 seconds before fallback handling...
[2026-10-20 10:11:32,662.662 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:11:32,666.666 INFO    ] Checking for system updates...
[2026-10-20 10:11:32,707.707 INFO    ] 200
[2026-10-20 10:11:32,711.711 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:11:32,771.771 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:11:32,774.774 INFO    ] No update needed
[2026-10-20 10:11:32,778.778 INFO    ] Checking for camera pi updates...
[2026-10-20 10:11:32,818.818 INFO    ] 200
[2026-10-20 10:11:32,821.821 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:11:32,873.873 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:11:32,928.928 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:11:32,931.931 INFO    ] No camera update needed
[2026-10-20 10:11:32,935.935 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:11:32,939.939 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:11:32,947.947 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:11:32,955.955 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:11:35,997.997 INFO    ] ================================================
[2026-10-20 10:11:35,013.013 INFO    ] Launching Daemon at Tue Oct 20 10:11:35 IST 2026
[2026-10-20 10:11:35,024.024 INFO    ] ================================================
[2026-10-20 10:11:35,607.607 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:11:35
[2026-10-20 10:11:36,206.206 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:11:36,484.484 INFO    ] Initializing speech engine...
[2026-10-20 10:11:36,493.493 INFO    ] 2026-10-20 10:11:36
[2026-10-20 10:11:36,750.750 INFO    ] 2026-10-20 10:11:36
[2026-10-20 10:11:36,806.806 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:11:37,031.031 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:11:37,036.036 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:11:37,267.267 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:11:37,290.290 INFO    ] time= 20/10/2026 10:11:37
[2026-10-20 10:11:37,296.296 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:11:37,317.317 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:11:37,444.444 INFO    ] No existing commands found in stream
[2026-10-20 10:11:42,456.456 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:11:42,459.459 INFO    ] Waiting 1.68 seconds before fallback handling...
[2026-10-20 10:11:44,693.693 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:11:44,696.696 INFO    ] Checking for system updates...
[2026-10-20 10:11:44,739.739 INFO    ] 200
[2026-10-20 10:11:44,741.741 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:11:44,802.802 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:11:44,804.804 INFO    ] No update needed
[2026-10-20 10:11:44,807.807 INFO    ] Checking for camera pi updates...
[2026-10-20 10:11:44,841.841 INFO    ] 200
[2026-10-20 10:11:44,843.843 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:11:44,889.889 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:11:44,937.937 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:11:44,939.939 INFO    ] No camera update needed
[2026-10-20 10:11:44,942.942 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:11:44,944.944 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:11:44,949.949 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:11:44,954.954 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:11:47,995.995 INFO    ] ================================================
[2026-10-20 10:11:47,011.011 INFO    ] Launching Daemon at Tue Oct 20 10:11:47 IST 2026
[2026-10-20 10:11:47,022.022 INFO    ] ================================================
[2026-10-20 10:11:47,696.696 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:11:47
[2026-10-20 10:11:48,386.386 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:11:48,696.696 INFO    ] Initializing speech engine...
[2026-10-20 10:11:48,710.710 INFO    ] 2026-10-20 10:11:48
[2026-10-20 10:11:49,023.023 INFO    ] 2026-10-20 10:11:48
[2026-10-20 10:11:49,110.110 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:11:49,324.324 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:11:49,330.330 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:11:49,525.525 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:11:49,543.543 INFO    ] time= 20/10/2026 10:11:49
[2026-10-20 10:11:49,552.552 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:11:49,583.583 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:11:49,711.711 INFO    ] No existing commands found in stream
[2026-10-20 10:11:54,737.737 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:11:54,740.740 INFO    ] Waiting 3.81 seconds before fallback handling...
[2026-10-20 10:11:59,085.085 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:11:59,088.088 INFO    ] Checking for system updates...
[2026-10-20 10:11:59,125.125 INFO    ] 200
[2026-10-20 10:11:59,128.128 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:11:59,188.188 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:11:59,191.191 INFO    ] No update needed
[2026-10-20 10:11:59,194.194 INFO    ] Checking for camera pi updates...
[2026-10-20 10:11:59,229.229 INFO    ] 200
[2026-10-20 10:11:59,231.231 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:11:59,273.273 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:11:59,322.322 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:11:59,325.325 INFO    ] No camera update needed
[2026-10-20 10:11:59,327.327 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:11:59,330.330 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:11:59,337.337 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:11:59,343.343 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:12:01,383.383 INFO    ] ================================================
[2026-10-20 10:12:01,399.399 INFO    ] Launching Daemon at Tue Oct 20 10:12:01 IST 2026
[2026-10-20 10:12:01,410.410 INFO    ] ================================================
[2026-10-20 10:12:02,091.091 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:12:02
[2026-10-20 10:12:02,801.801 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:12:03,172.172 INFO    ] Initializing speech engine...
[2026-10-20 10:12:03,186.186 INFO    ] 2026-10-20 10:12:03
[2026-10-20 10:12:03,498.498 INFO    ] 2026-10-20 10:12:03
[2026-10-20 10:12:03,543.543 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:12:03,813.813 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:12:03,823.823 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:12:03,954.954 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:12:04,007.007 INFO    ] time= 20/10/2026 10:12:03
[2026-10-20 10:12:04,072.072 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:12:04,091.091 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:12:04,217.217 INFO    ] No existing commands found in stream
[2026-10-20 10:12:09,245.245 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:12:09,247.247 INFO    ] Waiting 0.25 seconds before fallback handling...
[2026-10-20 10:12:10,000.000 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:12:10,002.002 INFO    ] Checking for system updates...
[2026-10-20 10:12:10,038.038 INFO    ] 200
[2026-10-20 10:12:10,041.041 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:12:10,096.096 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:12:10,098.098 INFO    ] No update needed
[2026-10-20 10:12:10,101.101 INFO    ] Checking for camera pi updates...
[2026-10-20 10:12:10,134.134 INFO    ] 200
[2026-10-20 10:12:10,137.137 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:12:10,181.181 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:12:10,232.232 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:12:10,234.234 INFO    ] No camera update needed
[2026-10-20 10:12:10,237.237 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:12:10,239.239 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:12:10,245.245 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:12:10,250.250 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:12:12,291.291 INFO    ] ================================================
[2026-10-20 10:12:12,306.306 INFO    ] Launching Daemon at Tue Oct 20 10:12:12 IST 2026
[2026-10-20 10:12:12,318.318 INFO    ] ================================================
[2026-10-20 10:12:12,963.963 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:12:12
[2026-10-20 10:12:13,627.627 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:12:13,926.926 INFO    ] Initializing speech engine...
[2026-10-20 10:12:13,939.939 INFO    ] 2026-10-20 10:12:13
[2026-10-20 10:12:14,220.220 INFO    ] 2026-10-20 10:12:14
[2026-10-20 10:12:14,265.265 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:12:14,551.551 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:12:14,556.556 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:12:14,753.753 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:12:14,771.771 INFO    ] time= 20/10/2026 10:12:14
[2026-10-20 10:12:14,781.781 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:12:14,808.808 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:12:14,941.941 INFO    ] No existing commands found in stream
[2026-10-20 10:12:19,972.972 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:12:19,975.975 INFO    ] Waiting 3.23 seconds before fallback handling...
[2026-10-20 10:12:23,728.728 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:12:23,731.731 INFO    ] Checking for system updates...
[2026-10-20 10:12:23,772.772 INFO    ] 200
[2026-10-20 10:12:23,775.775 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:12:23,829.829 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:12:23,831.831 INFO    ] No update needed
[2026-10-20 10:12:23,834.834 INFO    ] Checking for camera pi updates...
[2026-10-20 10:12:23,872.872 INFO    ] 200
[2026-10-20 10:12:23,875.875 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:12:23,916.916 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:12:24,062.062 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:12:24,065.065 INFO    ] No camera update needed
[2026-10-20 10:12:24,068.068 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:12:24,071.071 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:12:24,077.077 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:12:24,083.083 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:12:26,124.124 INFO    ] ================================================
[2026-10-20 10:12:26,140.140 INFO    ] Launching Daemon at Tue Oct 20 10:12:26 IST 2026
[2026-10-20 10:12:26,151.151 INFO    ] ================================================
[2026-10-20 10:12:26,715.715 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:12:26
[2026-10-20 10:12:27,298.298 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:12:27,571.571 INFO    ] Initializing speech engine...
[2026-10-20 10:12:27,580.580 INFO    ] 2026-10-20 10:12:27
[2026-10-20 10:12:27,831.831 INFO    ] 2026-10-20 10:12:27
[2026-10-20 10:12:27,869.869 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:12:28,131.131 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:12:28,141.141 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:12:28,275.275 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:12:28,334.334 INFO    ] time= 20/10/2026 10:12:28
[2026-10-20 10:12:28,383.383 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:12:28,406.406 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:12:28,523.523 INFO    ] No existing commands found in stream
[2026-10-20 10:12:33,541.541 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:12:33,544.544 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-10-20 10:12:35,553.553 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:12:35,555.555 INFO    ] Checking for system updates...
[2026-10-20 10:12:35,591.591 INFO    ] 200
[2026-10-20 10:12:35,593.593 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:12:35,645.645 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:12:35,648.648 INFO    ] No update needed
[2026-10-20 10:12:35,651.651 INFO    ] Checking for camera pi updates...
[2026-10-20 10:12:35,684.684 INFO    ] 200
[2026-10-20 10:12:35,687.687 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:12:35,727.727 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:12:35,781.781 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:12:35,783.783 INFO    ] No camera update needed
[2026-10-20 10:12:35,785.785 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:12:35,787.787 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:12:35,793.793 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:12:35,798.798 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:12:37,839.839 INFO    ] ================================================
[2026-10-20 10:12:37,854.854 INFO    ] Launching Daemon at Tue Oct 20 10:12:37 IST 2026
[2026-10-20 10:12:37,866.866 INFO    ] ================================================
[2026-10-20 10:12:38,520.520 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:12:38
[2026-10-20 10:12:39,192.192 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:12:39,499.499 INFO    ] Initializing speech engine...
[2026-10-20 10:12:39,507.507 INFO    ] 2026-10-20 10:12:39
[2026-10-20 10:12:39,777.777 INFO    ] 2026-10-20 10:12:39
[2026-10-20 10:12:39,837.837 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:12:40,072.072 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:12:40,078.078 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:12:40,217.217 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:12:40,277.277 INFO    ] time= 20/10/2026 10:12:40
[2026-10-20 10:12:40,332.332 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:12:40,352.352 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:12:40,484.484 INFO    ] No existing commands found in stream
[2026-10-20 10:12:45,510.510 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:12:45,513.513 INFO    ] Waiting 0.83 seconds before fallback handling...
[2026-10-20 10:12:46,900.900 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:12:46,903.903 INFO    ] Checking for system updates...
[2026-10-20 10:12:46,940.940 INFO    ] 200
[2026-10-20 10:12:46,942.942 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:12:46,995.995 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:12:46,998.998 INFO    ] No update needed
[2026-10-20 10:12:47,001.001 INFO    ] Checking for camera pi updates...
[2026-10-20 10:12:47,035.035 INFO    ] 200
[2026-10-20 10:12:47,037.037 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:12:47,083.083 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:12:47,146.146 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:12:47,149.149 INFO    ] No camera update needed
[2026-10-20 10:12:47,151.151 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:12:47,153.153 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:12:47,159.159 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:12:47,164.164 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:12:49,203.203 INFO    ] ================================================
[2026-10-20 10:12:49,218.218 INFO    ] Launching Daemon at Tue Oct 20 10:12:49 IST 2026
[2026-10-20 10:12:49,229.229 INFO    ] ================================================
[2026-10-20 10:12:49,810.810 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:12:49
[2026-10-20 10:12:50,407.407 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:12:50,683.683 INFO    ] Initializing speech engine...
[2026-10-20 10:12:50,692.692 INFO    ] 2026-10-20 10:12:50
[2026-10-20 10:12:50,956.956 INFO    ] 2026-10-20 10:12:50
[2026-10-20 10:12:50,994.994 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:12:51,212.212 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:12:51,268.268 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:12:51,439.439 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:12:51,486.486 INFO    ] time= 20/10/2026 10:12:51
[2026-10-20 10:12:51,540.540 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:12:51,585.585 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:12:51,740.740 INFO    ] No existing commands found in stream
[2026-10-20 10:12:56,767.767 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:12:56,770.770 INFO    ] Waiting 3.08 seconds before fallback handling...
[2026-10-20 10:13:00,391.391 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:13:00,394.394 INFO    ] Checking for system updates...
[2026-10-20 10:13:00,430.430 INFO    ] 200
[2026-10-20 10:13:00,432.432 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:13:00,485.485 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:13:00,487.487 INFO    ] No update needed
[2026-10-20 10:13:00,490.490 INFO    ] Checking for camera pi updates...
[2026-10-20 10:13:00,524.524 INFO    ] 200
[2026-10-20 10:13:00,526.526 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:13:00,567.567 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:13:00,626.626 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:13:00,629.629 INFO    ] No camera update needed
[2026-10-20 10:13:00,631.631 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:13:00,634.634 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:13:00,639.639 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:13:00,644.644 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:13:02,686.686 INFO    ] ================================================
[2026-10-20 10:13:02,705.705 INFO    ] Launching Daemon at Tue Oct 20 10:13:02 IST 2026
[2026-10-20 10:13:02,722.722 INFO    ] ================================================
[2026-10-20 10:13:03,410.410 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:13:03
[2026-10-20 10:13:04,099.099 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:13:04,395.395 INFO    ] Initializing speech engine...
[2026-10-20 10:13:04,405.405 INFO    ] 2026-10-20 10:13:04
[2026-10-20 10:13:04,666.666 INFO    ] 2026-10-20 10:13:04
[2026-10-20 10:13:04,705.705 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:13:04,963.963 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:13:04,972.972 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:13:05,180.180 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:13:05,238.238 INFO    ] time= 20/10/2026 10:13:05
[2026-10-20 10:13:05,245.245 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:13:05,264.264 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:13:05,399.399 INFO    ] No existing commands found in stream
[2026-10-20 10:13:10,420.420 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:13:10,423.423 INFO    ] Waiting 3.01 seconds before fallback handling...
[2026-10-20 10:13:13,943.943 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:13:13,946.946 INFO    ] Checking for system updates...
[2026-10-20 10:13:13,986.986 INFO    ] 200
[2026-10-20 10:13:13,988.988 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:13:14,041.041 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:13:14,043.043 INFO    ] No update needed
[2026-10-20 10:13:14,046.046 INFO    ] Checking for camera pi updates...
[2026-10-20 10:13:14,080.080 INFO    ] 200
[2026-10-20 10:13:14,083.083 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:13:14,123.123 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:13:14,168.168 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:13:14,170.170 INFO    ] No camera update needed
[2026-10-20 10:13:14,173.173 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:13:14,175.175 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:13:14,181.181 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:13:14,186.186 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:13:16,224.224 INFO    ] ================================================
[2026-10-20 10:13:16,239.239 INFO    ] Launching Daemon at Tue Oct 20 10:13:16 IST 2026
[2026-10-20 10:13:16,249.249 INFO    ] ================================================
[2026-10-20 10:13:16,835.835 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:13:16
[2026-10-20 10:13:17,441.441 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:13:17,718.718 INFO    ] Initializing speech engine...
[2026-10-20 10:13:17,727.727 INFO    ] 2026-10-20 10:13:17
[2026-10-20 10:13:18,041.041 INFO    ] 2026-10-20 10:13:18
[2026-10-20 10:13:18,129.129 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:13:18,303.303 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:13:18,311.311 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:13:18,520.520 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:13:18,549.549 INFO    ] time= 20/10/2026 10:13:18
[2026-10-20 10:13:18,568.568 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:13:18,598.598 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:13:18,721.721 INFO    ] No existing commands found in stream
[2026-10-20 10:13:23,746.746 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:13:23,750.750 INFO    ] Waiting 0.36 seconds before fallback handling...
[2026-10-20 10:13:24,672.672 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 10:13:24,675.675 INFO    ] Checking for system updates...
[2026-10-20 10:13:24,711.711 INFO    ] 200
[2026-10-20 10:13:24,713.713 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:13:24,764.764 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:13:24,767.767 INFO    ] No update needed
[2026-10-20 10:13:24,769.769 INFO    ] Checking for camera pi updates...
[2026-10-20 10:13:24,806.806 INFO    ] 200
[2026-10-20 10:13:24,808.808 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:13:24,848.848 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:13:24,880.880 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:13:24,882.882 INFO    ] No camera update needed
[2026-10-20 10:13:24,885.885 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:13:24,887.887 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:13:24,892.892 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:13:24,897.897 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:13:26,936.936 INFO    ] ================================================
[2026-10-20 10:13:26,951.951 INFO    ] Launching Daemon at Tue Oct 20 10:13:26 IST 2026
[2026-10-20 10:13:26,961.961 INFO    ] ================================================
[2026-10-20 10:13:27,529.529 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:13:27
[2026-10-20 10:13:28,113.113 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:13:28,363.363 INFO    ] Initializing speech engine...
[2026-10-20 10:13:28,386.386 INFO    ] 2026-10-20 10:13:28
[2026-10-20 10:13:28,636.636 INFO    ] 2026-10-20 10:13:28
[2026-10-20 10:13:28,672.672 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:13:28,922.922 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:13:28,931.931 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:13:29,150.150 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:13:29,188.188 INFO    ] time= 20/10/2026 10:13:29
[2026-10-20 10:13:29,193.193 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:13:29,211.211 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:13:29,342.342 INFO    ] No existing commands found in stream
[2026-10-20 10:13:34,360.360 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:13:34,363.363 INFO    ] Waiting 2.60 seconds before fallback handling...
[2026-10-20 10:13:37,464.464 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 10:13:37,467.467 INFO    ] Checking for system updates...
[2026-10-20 10:13:37,502.502 INFO    ] 200
[2026-10-20 10:13:37,505.505 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:13:37,558.558 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:13:37,560.560 INFO    ] No update needed
[2026-10-20 10:13:37,563.563 INFO    ] Checking for camera pi updates...
[2026-10-20 10:13:37,596.596 INFO    ] 200
[2026-10-20 10:13:37,598.598 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:13:37,642.642 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:13:37,692.692 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:13:37,695.695 INFO    ] No camera update needed
[2026-10-20 10:13:37,697.697 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:13:37,699.699 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:13:37,705.705 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:13:37,710.710 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:13:39,751.751 INFO    ] ================================================
[2026-10-20 10:13:39,765.765 INFO    ] Launching Daemon at Tue Oct 20 10:13:39 IST 2026
[2026-10-20 10:13:39,776.776 INFO    ] ================================================
[2026-10-20 10:13:40,349.349 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:13:40
[2026-10-20 10:13:40,934.934 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:13:41,201.201 INFO    ] Initializing speech engine...
[2026-10-20 10:13:41,211.211 INFO    ] 2026-10-20 10:13:41
[2026-10-20 10:13:41,456.456 INFO    ] 2026-10-20 10:13:41
[2026-10-20 10:13:41,491.491 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:13:41,741.741 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:13:41,750.750 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:13:41,964.964 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:13:42,010.010 INFO    ] time= 20/10/2026 10:13:41
[2026-10-20 10:13:42,016.016 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:13:42,034.034 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:13:42,164.164 INFO    ] No existing commands found in stream
[2026-10-20 10:13:47,179.179 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:13:47,182.182 INFO    ] Waiting 3.93 seconds before fallback handling...
[2026-10-20 10:13:51,596.596 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:13:51,599.599 INFO    ] Checking for system updates...
[2026-10-20 10:13:51,634.634 INFO    ] 200
[2026-10-20 10:13:51,636.636 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:13:51,694.694 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:13:51,696.696 INFO    ] No update needed
[2026-10-20 10:13:51,698.698 INFO    ] Checking for camera pi updates...
[2026-10-20 10:13:51,734.734 INFO    ] 200
[2026-10-20 10:13:51,737.737 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:13:51,776.776 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:13:51,826.826 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:13:51,828.828 INFO    ] No camera update needed
[2026-10-20 10:13:51,831.831 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:13:51,833.833 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:13:51,838.838 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:13:51,844.844 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:13:53,884.884 INFO    ] ================================================
[2026-10-20 10:13:53,899.899 INFO    ] Launching Daemon at Tue Oct 20 10:13:53 IST 2026
[2026-10-20 10:13:53,909.909 INFO    ] ================================================
[2026-10-20 10:13:54,491.491 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:13:54
[2026-10-20 10:13:55,093.093 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:13:55,367.367 INFO    ] Initializing speech engine...
[2026-10-20 10:13:55,376.376 INFO    ] 2026-10-20 10:13:55
[2026-10-20 10:13:55,635.635 INFO    ] 2026-10-20 10:13:55
[2026-10-20 10:13:55,669.669 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:13:55,915.915 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:13:55,924.924 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:13:56,058.058 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:13:56,113.113 INFO    ] time= 20/10/2026 10:13:56
[2026-10-20 10:13:56,167.167 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:13:56,189.189 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:13:56,323.323 INFO    ] No existing commands found in stream
[2026-10-20 10:14:01,347.347 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:14:01,350.350 INFO    ] Waiting 0.71 seconds before fallback handling...
[2026-10-20 10:14:02,641.641 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:14:02,645.645 INFO    ] Checking for system updates...
[2026-10-20 10:14:02,688.688 INFO    ] 200
[2026-10-20 10:14:02,691.691 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:14:02,762.762 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:14:02,766.766 INFO    ] No update needed
[2026-10-20 10:14:02,769.769 INFO    ] Checking for camera pi updates...
[2026-10-20 10:14:02,813.813 INFO    ] 200
[2026-10-20 10:14:02,816.816 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:14:02,873.873 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:14:02,905.905 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:14:02,908.908 INFO    ] No camera update needed
[2026-10-20 10:14:02,912.912 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:14:02,915.915 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:14:02,923.923 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:14:02,930.930 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:14:04,975.975 INFO    ] ================================================
[2026-10-20 10:14:04,990.990 INFO    ] Launching Daemon at Tue Oct 20 10:14:04 IST 2026
[2026-10-20 10:14:05,000.000 INFO    ] ================================================
[2026-10-20 10:14:05,603.603 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:14:05
[2026-10-20 10:14:06,273.273 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:14:06,573.573 INFO    ] Initializing speech engine...
[2026-10-20 10:14:06,579.579 INFO    ] 2026-10-20 10:14:06
[2026-10-20 10:14:06,866.866 INFO    ] 2026-10-20 10:14:06
[2026-10-20 10:14:06,911.911 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:14:07,192.192 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:14:07,201.201 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:14:07,395.395 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:14:07,402.402 INFO    ] time= 20/10/2026 10:14:07
[2026-10-20 10:14:07,423.423 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:14:07,452.452 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:14:07,566.566 INFO    ] No existing commands found in stream
[2026-10-20 10:14:12,601.601 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:14:12,605.605 INFO    ] Waiting 2.96 seconds before fallback handling...
[2026-10-20 10:14:16,128.128 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 10:14:16,131.131 INFO    ] Checking for system updates...
[2026-10-20 10:14:16,167.167 INFO    ] 200
[2026-10-20 10:14:16,170.170 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:14:16,233.233 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:14:16,235.235 INFO    ] No update needed
[2026-10-20 10:14:16,237.237 INFO    ] Checking for camera pi updates...
[2026-10-20 10:14:16,275.275 INFO    ] 200
[2026-10-20 10:14:16,278.278 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:14:16,321.321 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:14:16,374.374 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:14:16,377.377 INFO    ] No camera update needed
[2026-10-20 10:14:16,380.380 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:14:16,382.382 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:14:16,389.389 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:14:16,395.395 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:14:18,437.437 INFO    ] ================================================
[2026-10-20 10:14:18,453.453 INFO    ] Launching Daemon at Tue Oct 20 10:14:18 IST 2026
[2026-10-20 10:14:18,465.465 INFO    ] ================================================
[2026-10-20 10:14:19,062.062 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:14:19
[2026-10-20 10:14:19,643.643 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:14:19,912.912 INFO    ] Initializing speech engine...
[2026-10-20 10:14:19,921.921 INFO    ] 2026-10-20 10:14:19
[2026-10-20 10:14:20,179.179 INFO    ] 2026-10-20 10:14:20
[2026-10-20 10:14:20,209.209 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:14:20,459.459 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:14:20,465.465 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:14:20,671.671 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:14:20,720.720 INFO    ] time= 20/10/2026 10:14:20
[2026-10-20 10:14:20,727.727 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:14:20,744.744 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:14:20,903.903 INFO    ] No existing commands found in stream
[2026-10-20 10:14:25,929.929 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:14:25,932.932 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-10-20 10:14:29,626.626 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:14:29,628.628 INFO    ] Checking for system updates...
[2026-10-20 10:14:29,665.665 INFO    ] 200
[2026-10-20 10:14:29,667.667 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:14:29,727.727 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:14:29,730.730 INFO    ] No update needed
[2026-10-20 10:14:29,733.733 INFO    ] Checking for camera pi updates...
[2026-10-20 10:14:29,766.766 INFO    ] 200
[2026-10-20 10:14:29,769.769 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:14:29,811.811 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:14:29,955.955 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:14:29,958.958 INFO    ] No camera update needed
[2026-10-20 10:14:29,961.961 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:14:29,963.963 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:14:29,969.969 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:14:29,975.975 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:14:32,016.016 INFO    ] ================================================
[2026-10-20 10:14:32,033.033 INFO    ] Launching Daemon at Tue Oct 20 10:14:32 IST 2026
[2026-10-20 10:14:32,045.045 INFO    ] ================================================
[2026-10-20 10:14:32,695.695 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:14:32
[2026-10-20 10:14:33,310.310 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:14:33,563.563 INFO    ] Initializing speech engine...
[2026-10-20 10:14:33,586.586 INFO    ] 2026-10-20 10:14:33
[2026-10-20 10:14:33,841.841 INFO    ] 2026-10-20 10:14:33
[2026-10-20 10:14:33,884.884 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:14:34,137.137 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:14:34,142.142 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:14:34,284.284 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:14:34,339.339 INFO    ] time= 20/10/2026 10:14:34
[2026-10-20 10:14:34,388.388 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:14:34,412.412 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:14:34,532.532 INFO    ] No existing commands found in stream
[2026-10-20 10:14:39,558.558 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:14:39,561.561 INFO    ] Waiting 2.62 seconds before fallback handling...
[2026-10-20 10:14:42,706.706 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:14:42,709.709 INFO    ] Checking for system updates...
[2026-10-20 10:14:42,749.749 INFO    ] 200
[2026-10-20 10:14:42,752.752 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:14:42,808.808 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:14:42,811.811 INFO    ] No update needed
[2026-10-20 10:14:42,813.813 INFO    ] Checking for camera pi updates...
[2026-10-20 10:14:42,848.848 INFO    ] 200
[2026-10-20 10:14:42,851.851 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:14:42,895.895 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:14:42,946.946 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:14:42,949.949 INFO    ] No camera update needed
[2026-10-20 10:14:42,951.951 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:14:42,954.954 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:14:42,960.960 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:14:42,966.966 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:14:45,007.007 INFO    ] ================================================
[2026-10-20 10:14:45,023.023 INFO    ] Launching Daemon at Tue Oct 20 10:14:45 IST 2026
[2026-10-20 10:14:45,034.034 INFO    ] ================================================
[2026-10-20 10:14:45,623.623 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:14:45
[2026-10-20 10:14:46,219.219 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:14:46,483.483 INFO    ] Initializing speech engine...
[2026-10-20 10:14:46,508.508 INFO    ] 2026-10-20 10:14:46
[2026-10-20 10:14:46,784.784 INFO    ] 2026-10-20 10:14:46
[2026-10-20 10:14:46,820.820 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:14:47,027.027 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:14:47,045.045 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:14:47,196.196 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:14:47,201.201 INFO    ] time= 20/10/2026 10:14:47
[2026-10-20 10:14:47,208.208 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:14:47,255.255 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:14:47,397.397 INFO    ] No existing commands found in stream
[2026-10-20 10:14:52,422.422 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:14:52,425.425 INFO    ] Waiting 1.83 seconds before fallback handling...
[2026-10-20 10:14:54,770.770 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:14:54,772.772 INFO    ] Checking for system updates...
[2026-10-20 10:14:54,812.812 INFO    ] 200
[2026-10-20 10:14:54,815.815 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:14:54,867.867 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:14:54,869.869 INFO    ] No update needed
[2026-10-20 10:14:54,872.872 INFO    ] Checking for camera pi updates...
[2026-10-20 10:14:54,906.906 INFO    ] 200
[2026-10-20 10:14:54,909.909 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:14:54,950.950 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:14:55,017.017 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:14:55,020.020 INFO    ] No camera update needed
[2026-10-20 10:14:55,022.022 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:14:55,025.025 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:14:55,031.031 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:14:55,037.037 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:14:57,076.076 INFO    ] ================================================
[2026-10-20 10:14:57,092.092 INFO    ] Launching Daemon at Tue Oct 20 10:14:57 IST 2026
[2026-10-20 10:14:57,103.103 INFO    ] ================================================
[2026-10-20 10:14:57,742.742 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:14:57
[2026-10-20 10:14:58,401.401 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:14:58,702.702 INFO    ] Initializing speech engine...
[2026-10-20 10:14:58,712.712 INFO    ] 2026-10-20 10:14:58
[2026-10-20 10:14:58,983.983 INFO    ] 2026-10-20 10:14:58
[2026-10-20 10:14:59,042.042 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:14:59,273.273 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:14:59,278.278 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:14:59,497.497 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:14:59,542.542 INFO    ] time= 20/10/2026 10:14:59
[2026-10-20 10:14:59,560.560 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:14:59,570.570 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:14:59,712.712 INFO    ] No existing commands found in stream
[2026-10-20 10:15:04,743.743 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:15:04,746.746 INFO    ] Waiting 3.96 seconds before fallback handling...
[2026-10-20 10:15:09,241.241 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:15:09,244.244 INFO    ] Checking for system updates...
[2026-10-20 10:15:09,280.280 INFO    ] 200
[2026-10-20 10:15:09,283.283 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:15:09,336.336 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:15:09,339.339 INFO    ] No update needed
[2026-10-20 10:15:09,342.342 INFO    ] Checking for camera pi updates...
[2026-10-20 10:15:09,376.376 INFO    ] 200
[2026-10-20 10:15:09,379.379 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:15:09,420.420 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:15:09,467.467 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:15:09,470.470 INFO    ] No camera update needed
[2026-10-20 10:15:09,472.472 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:15:09,475.475 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:15:09,481.481 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:15:09,487.487 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:15:11,527.527 INFO    ] ================================================
[2026-10-20 10:15:11,542.542 INFO    ] Launching Daemon at Tue Oct 20 10:15:11 IST 2026
[2026-10-20 10:15:11,553.553 INFO    ] ================================================
[2026-10-20 10:15:12,122.122 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:15:12
[2026-10-20 10:15:12,706.706 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:15:12,955.955 INFO    ] Initializing speech engine...
[2026-10-20 10:15:12,963.963 INFO    ] 2026-10-20 10:15:12
[2026-10-20 10:15:13,261.261 INFO    ] 2026-10-20 10:15:13
[2026-10-20 10:15:13,298.298 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:15:13,520.520 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:15:13,528.528 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:15:13,740.740 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:15:13,757.757 INFO    ] time= 20/10/2026 10:15:13
[2026-10-20 10:15:13,806.806 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:15:13,850.850 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:15:13,994.994 INFO    ] No existing commands found in stream
[2026-10-20 10:15:19,021.021 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:15:19,024.024 INFO    ] Waiting 3.12 seconds before fallback handling...
[2026-10-20 10:15:22,638.638 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:15:22,641.641 INFO    ] Checking for system updates...
[2026-10-20 10:15:22,676.676 INFO    ] 200
[2026-10-20 10:15:22,679.679 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:15:22,730.730 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:15:22,733.733 INFO    ] No update needed
[2026-10-20 10:15:22,735.735 INFO    ] Checking for camera pi updates...
[2026-10-20 10:15:22,772.772 INFO    ] 200
[2026-10-20 10:15:22,775.775 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:15:22,814.814 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:15:22,864.864 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:15:22,867.867 INFO    ] No camera update needed
[2026-10-20 10:15:22,869.869 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:15:22,872.872 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:15:22,877.877 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:15:22,882.882 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:15:24,921.921 INFO    ] ================================================
[2026-10-20 10:15:24,936.936 INFO    ] Launching Daemon at Tue Oct 20 10:15:24 IST 2026
[2026-10-20 10:15:24,947.947 INFO    ] ================================================
[2026-10-20 10:15:25,554.554 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:15:25
[2026-10-20 10:15:26,214.214 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:15:26,514.514 INFO    ] Initializing speech engine...
[2026-10-20 10:15:26,523.523 INFO    ] 2026-10-20 10:15:26
[2026-10-20 10:15:26,810.810 INFO    ] 2026-10-20 10:15:26
[2026-10-20 10:15:26,855.855 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:15:27,112.112 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:15:27,117.117 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:15:27,333.333 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:15:27,359.359 INFO    ] time= 20/10/2026 10:15:27
[2026-10-20 10:15:27,377.377 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:15:27,409.409 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:15:27,529.529 INFO    ] No existing commands found in stream
[2026-10-20 10:15:32,561.561 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:15:32,564.564 INFO    ] Waiting 3.50 seconds before fallback handling...
[2026-10-20 10:15:36,586.586 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:15:36,589.589 INFO    ] Checking for system updates...
[2026-10-20 10:15:36,626.626 INFO    ] 200
[2026-10-20 10:15:36,629.629 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:15:36,682.682 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:15:36,684.684 INFO    ] No update needed
[2026-10-20 10:15:36,687.687 INFO    ] Checking for camera pi updates...
[2026-10-20 10:15:36,725.725 INFO    ] 200
[2026-10-20 10:15:36,728.728 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:15:36,771.771 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:15:36,821.821 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:15:36,823.823 INFO    ] No camera update needed
[2026-10-20 10:15:36,826.826 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:15:36,829.829 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:15:36,835.835 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:15:36,841.841 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:15:38,882.882 INFO    ] ================================================
[2026-10-20 10:15:38,898.898 INFO    ] Launching Daemon at Tue Oct 20 10:15:38 IST 2026
[2026-10-20 10:15:38,908.908 INFO    ] ================================================
[2026-10-20 10:15:39,565.565 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:15:39
[2026-10-20 10:15:40,254.254 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:15:40,567.567 INFO    ] Initializing speech engine...
[2026-10-20 10:15:40,581.581 INFO    ] 2026-10-20 10:15:40
[2026-10-20 10:15:40,868.868 INFO    ] 2026-10-20 10:15:40
[2026-10-20 10:15:40,913.913 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:15:41,201.201 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:15:41,208.208 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:15:41,402.402 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:15:41,421.421 INFO    ] time= 20/10/2026 10:15:41
[2026-10-20 10:15:41,439.439 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:15:41,458.458 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:15:41,561.561 INFO    ] No existing commands found in stream
[2026-10-20 10:15:46,583.583 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:15:46,586.586 INFO    ] Waiting 3.90 seconds before fallback handling...
[2026-10-20 10:15:51,016.016 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:15:51,019.019 INFO    ] Checking for system updates...
[2026-10-20 10:15:51,055.055 INFO    ] 200
[2026-10-20 10:15:51,058.058 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:15:51,111.111 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:15:51,114.114 INFO    ] No update needed
[2026-10-20 10:15:51,117.117 INFO    ] Checking for camera pi updates...
[2026-10-20 10:15:51,151.151 INFO    ] 200
[2026-10-20 10:15:51,154.154 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:15:51,195.195 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:15:51,244.244 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:15:51,247.247 INFO    ] No camera update needed
[2026-10-20 10:15:51,250.250 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:15:51,252.252 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:15:51,259.259 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:15:51,264.264 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:15:53,305.305 INFO    ] ================================================
[2026-10-20 10:15:53,321.321 INFO    ] Launching Daemon at Tue Oct 20 10:15:53 IST 2026
[2026-10-20 10:15:53,331.331 INFO    ] ================================================
[2026-10-20 10:15:53,902.902 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:15:53
[2026-10-20 10:15:54,490.490 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:15:54,739.739 INFO    ] Initializing speech engine...
[2026-10-20 10:15:54,754.754 INFO    ] 2026-10-20 10:15:54
[2026-10-20 10:15:55,020.020 INFO    ] 2026-10-20 10:15:55
[2026-10-20 10:15:55,055.055 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:15:55,315.315 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:15:55,323.323 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:15:55,458.458 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:15:55,501.501 INFO    ] time= 20/10/2026 10:15:55
[2026-10-20 10:15:55,555.555 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:15:55,596.596 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:15:55,727.727 INFO    ] No existing commands found in stream
[2026-10-20 10:16:00,752.752 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:16:00,754.754 INFO    ] Waiting 3.70 seconds before fallback handling...
[2026-10-20 10:16:04,976.976 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:16:04,979.979 INFO    ] Checking for system updates...
[2026-10-20 10:16:05,014.014 INFO    ] 200
[2026-10-20 10:16:05,017.017 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:16:05,072.072 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:16:05,074.074 INFO    ] No update needed
[2026-10-20 10:16:05,077.077 INFO    ] Checking for camera pi updates...
[2026-10-20 10:16:05,110.110 INFO    ] 200
[2026-10-20 10:16:05,112.112 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:16:05,151.151 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:16:05,204.204 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:16:05,206.206 INFO    ] No camera update needed
[2026-10-20 10:16:05,209.209 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:16:05,211.211 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:16:05,217.217 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:16:05,222.222 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:16:07,263.263 INFO    ] ================================================
[2026-10-20 10:16:07,278.278 INFO    ] Launching Daemon at Tue Oct 20 10:16:07 IST 2026
[2026-10-20 10:16:07,290.290 INFO    ] ================================================
[2026-10-20 10:16:07,929.929 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:16:07
[2026-10-20 10:16:08,590.590 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:16:08,890.890 INFO    ] Initializing speech engine...
[2026-10-20 10:16:08,896.896 INFO    ] 2026-10-20 10:16:08
[2026-10-20 10:16:09,174.174 INFO    ] 2026-10-20 10:16:09
[2026-10-20 10:16:09,233.233 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:16:09,466.466 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:16:09,473.473 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:16:09,682.682 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:16:09,735.735 INFO    ] time= 20/10/2026 10:16:09
[2026-10-20 10:16:09,742.742 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:16:09,765.765 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:16:09,897.897 INFO    ] No existing commands found in stream
[2026-10-20 10:16:14,912.912 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:16:14,915.915 INFO    ] Waiting 0.72 seconds before fallback handling...
[2026-10-20 10:16:16,159.159 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:16:16,162.162 INFO    ] Checking for system updates...
[2026-10-20 10:16:16,199.199 INFO    ] 200
[2026-10-20 10:16:16,202.202 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:16:16,255.255 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:16:16,258.258 INFO    ] No update needed
[2026-10-20 10:16:16,260.260 INFO    ] Checking for camera pi updates...
[2026-10-20 10:16:16,294.294 INFO    ] 200
[2026-10-20 10:16:16,296.296 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:16:16,337.337 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:16:16,387.387 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:16:16,390.390 INFO    ] No camera update needed
[2026-10-20 10:16:16,392.392 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:16:16,394.394 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:16:16,400.400 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:16:16,405.405 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:16:18,444.444 INFO    ] ================================================
[2026-10-20 10:16:18,460.460 INFO    ] Launching Daemon at Tue Oct 20 10:16:18 IST 2026
[2026-10-20 10:16:18,471.471 INFO    ] ================================================
[2026-10-20 10:16:19,048.048 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:16:19
[2026-10-20 10:16:19,636.636 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:16:19,906.906 INFO    ] Initializing speech engine...
[2026-10-20 10:16:19,915.915 INFO    ] 2026-10-20 10:16:19
[2026-10-20 10:16:20,167.167 INFO    ] 2026-10-20 10:16:20
[2026-10-20 10:16:20,198.198 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:16:20,424.424 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:16:20,485.485 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:16:20,651.651 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:16:20,698.698 INFO    ] time= 20/10/2026 10:16:20
[2026-10-20 10:16:20,742.742 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:16:20,791.791 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:16:20,882.882 INFO    ] No existing commands found in stream
[2026-10-20 10:16:25,912.912 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:16:25,915.915 INFO    ] Waiting 0.43 seconds before fallback handling...
[2026-10-20 10:16:26,858.858 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 10:16:26,861.861 INFO    ] Checking for system updates...
[2026-10-20 10:16:26,896.896 INFO    ] 200
[2026-10-20 10:16:26,899.899 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:16:26,955.955 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:16:26,957.957 INFO    ] No update needed
[2026-10-20 10:16:26,960.960 INFO    ] Checking for camera pi updates...
[2026-10-20 10:16:26,993.993 INFO    ] 200
[2026-10-20 10:16:26,995.995 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:16:27,036.036 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:16:27,085.085 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:16:27,087.087 INFO    ] No camera update needed
[2026-10-20 10:16:27,090.090 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:16:27,092.092 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:16:27,097.097 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:16:27,103.103 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:16:29,144.144 INFO    ] ================================================
[2026-10-20 10:16:29,159.159 INFO    ] Launching Daemon at Tue Oct 20 10:16:29 IST 2026
[2026-10-20 10:16:29,170.170 INFO    ] ================================================
[2026-10-20 10:16:29,736.736 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:16:29
[2026-10-20 10:16:30,329.329 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:16:30,593.593 INFO    ] Initializing speech engine...
[2026-10-20 10:16:30,599.599 INFO    ] 2026-10-20 10:16:30
[2026-10-20 10:16:30,896.896 INFO    ] 2026-10-20 10:16:30
[2026-10-20 10:16:30,936.936 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:16:31,160.160 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:16:31,194.194 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:16:31,385.385 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:16:31,410.410 INFO    ] time= 20/10/2026 10:16:31
[2026-10-20 10:16:31,480.480 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:16:31,524.524 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:16:31,656.656 INFO    ] No existing commands found in stream
[2026-10-20 10:16:36,687.687 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:16:36,690.690 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-10-20 10:16:40,332.332 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:16:40,335.335 INFO    ] Checking for system updates...
[2026-10-20 10:16:40,370.370 INFO    ] 200
[2026-10-20 10:16:40,372.372 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:16:40,427.427 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:16:40,430.430 INFO    ] No update needed
[2026-10-20 10:16:40,432.432 INFO    ] Checking for camera pi updates...
[2026-10-20 10:16:40,467.467 INFO    ] 200
[2026-10-20 10:16:40,469.469 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:16:40,514.514 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:16:40,560.560 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:16:40,562.562 INFO    ] No camera update needed
[2026-10-20 10:16:40,564.564 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:16:40,566.566 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:16:40,572.572 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:16:40,577.577 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:16:42,618.618 INFO    ] ================================================
[2026-10-20 10:16:42,633.633 INFO    ] Launching Daemon at Tue Oct 20 10:16:42 IST 2026
[2026-10-20 10:16:42,645.645 INFO    ] ================================================
[2026-10-20 10:16:43,212.212 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:16:43
[2026-10-20 10:16:43,797.797 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:16:44,052.052 INFO    ] Initializing speech engine...
[2026-10-20 10:16:44,059.059 INFO    ] 2026-10-20 10:16:44
[2026-10-20 10:16:44,361.361 INFO    ] 2026-10-20 10:16:44
[2026-10-20 10:16:44,399.399 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:16:44,632.632 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:16:44,683.683 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:16:44,854.854 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:16:44,876.876 INFO    ] time= 20/10/2026 10:16:44
[2026-10-20 10:16:44,925.925 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:16:44,953.953 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:16:45,064.064 INFO    ] No existing commands found in stream
[2026-10-20 10:16:50,076.076 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:16:50,079.079 INFO    ] Waiting 0.15 seconds before fallback handling...
[2026-10-20 10:16:50,692.692 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:16:50,694.694 INFO    ] Checking for system updates...
[2026-10-20 10:16:50,730.730 INFO    ] 200
[2026-10-20 10:16:50,732.732 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:16:50,783.783 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:16:50,785.785 INFO    ] No update needed
[2026-10-20 10:16:50,788.788 INFO    ] Checking for camera pi updates...
[2026-10-20 10:16:50,820.820 INFO    ] 200
[2026-10-20 10:16:50,823.823 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:16:50,863.863 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:16:50,898.898 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:16:50,901.901 INFO    ] No camera update needed
[2026-10-20 10:16:50,903.903 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:16:50,905.905 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:16:50,911.911 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:16:50,915.915 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:16:52,956.956 INFO    ] ================================================
[2026-10-20 10:16:52,972.972 INFO    ] Launching Daemon at Tue Oct 20 10:16:52 IST 2026
[2026-10-20 10:16:52,983.983 INFO    ] ================================================
[2026-10-20 10:16:53,551.551 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:16:53
[2026-10-20 10:16:54,136.136 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:16:54,394.394 INFO    ] Initializing speech engine...
[2026-10-20 10:16:54,400.400 INFO    ] 2026-10-20 10:16:54
[2026-10-20 10:16:54,694.694 INFO    ] 2026-10-20 10:16:54
[2026-10-20 10:16:54,731.731 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:16:54,956.956 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:16:54,963.963 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:16:55,168.168 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:16:55,195.195 INFO    ] time= 20/10/2026 10:16:55
[2026-10-20 10:16:55,240.240 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:16:55,289.289 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:16:55,405.405 INFO    ] No existing commands found in stream
[2026-10-20 10:17:00,417.417 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:17:00,420.420 INFO    ] Waiting 2.06 seconds before fallback handling...
[2026-10-20 10:17:02,990.990 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 10:17:02,994.994 INFO    ] Checking for system updates...
[2026-10-20 10:17:03,035.035 INFO    ] 200
[2026-10-20 10:17:03,038.038 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:17:03,097.097 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:17:03,100.100 INFO    ] No update needed
[2026-10-20 10:17:03,102.102 INFO    ] Checking for camera pi updates...
[2026-10-20 10:17:03,135.135 INFO    ] 200
[2026-10-20 10:17:03,138.138 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:17:03,177.177 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:17:03,222.222 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:17:03,224.224 INFO    ] No camera update needed
[2026-10-20 10:17:03,227.227 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:17:03,229.229 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:17:03,234.234 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:17:03,239.239 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:17:05,279.279 INFO    ] ================================================
[2026-10-20 10:17:05,295.295 INFO    ] Launching Daemon at Tue Oct 20 10:17:05 IST 2026
[2026-10-20 10:17:05,305.305 INFO    ] ================================================
[2026-10-20 10:17:05,889.889 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:17:05
[2026-10-20 10:17:06,547.547 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:17:06,854.854 INFO    ] Initializing speech engine...
[2026-10-20 10:17:06,860.860 INFO    ] 2026-10-20 10:17:06
[2026-10-20 10:17:07,136.136 INFO    ] 2026-10-20 10:17:07
[2026-10-20 10:17:07,181.181 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:17:07,461.461 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:17:07,469.469 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:17:07,641.641 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:17:07,670.670 INFO    ] time= 20/10/2026 10:17:07
[2026-10-20 10:17:07,688.688 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:17:07,713.713 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:17:07,827.827 INFO    ] No existing commands found in stream
[2026-10-20 10:17:12,857.857 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:17:12,860.860 INFO    ] Waiting 1.69 seconds before fallback handling...
[2026-10-20 10:17:15,064.064 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:17:15,067.067 INFO    ] Checking for system updates...
[2026-10-20 10:17:15,104.104 INFO    ] 200
[2026-10-20 10:17:15,106.106 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:17:15,159.159 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:17:15,162.162 INFO    ] No update needed
[2026-10-20 10:17:15,164.164 INFO    ] Checking for camera pi updates...
[2026-10-20 10:17:15,199.199 INFO    ] 200
[2026-10-20 10:17:15,201.201 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:17:15,251.251 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:17:15,301.301 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:17:15,304.304 INFO    ] No camera update needed
[2026-10-20 10:17:15,306.306 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:17:15,309.309 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:17:15,315.315 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:17:15,321.321 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:17:17,361.361 INFO    ] ================================================
[2026-10-20 10:17:17,376.376 INFO    ] Launching Daemon at Tue Oct 20 10:17:17 IST 2026
[2026-10-20 10:17:17,387.387 INFO    ] ================================================
[2026-10-20 10:17:17,976.976 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:17:17
[2026-10-20 10:17:18,584.584 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:17:18,848.848 INFO    ] Initializing speech engine...
[2026-10-20 10:17:18,861.861 INFO    ] 2026-10-20 10:17:18
[2026-10-20 10:17:19,145.145 INFO    ] 2026-10-20 10:17:19
[2026-10-20 10:17:19,183.183 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:17:19,469.469 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:17:19,480.480 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:17:19,632.632 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:17:19,662.662 INFO    ] time= 20/10/2026 10:17:19
[2026-10-20 10:17:19,716.716 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:17:19,770.770 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:17:19,918.918 INFO    ] No existing commands found in stream
[2026-10-20 10:17:24,949.949 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:17:24,951.951 INFO    ] Waiting 3.79 seconds before fallback handling...
[2026-10-20 10:17:29,282.282 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:17:29,285.285 INFO    ] Checking for system updates...
[2026-10-20 10:17:29,320.320 INFO    ] 200
[2026-10-20 10:17:29,323.323 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:17:29,376.376 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:17:29,378.378 INFO    ] No update needed
[2026-10-20 10:17:29,381.381 INFO    ] Checking for camera pi updates...
[2026-10-20 10:17:29,414.414 INFO    ] 200
[2026-10-20 10:17:29,417.417 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:17:29,456.456 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:17:29,502.502 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:17:29,504.504 INFO    ] No camera update needed
[2026-10-20 10:17:29,507.507 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:17:29,509.509 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:17:29,515.515 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:17:29,520.520 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:17:31,565.565 INFO    ] ================================================
[2026-10-20 10:17:31,581.581 INFO    ] Launching Daemon at Tue Oct 20 10:17:31 IST 2026
[2026-10-20 10:17:31,592.592 INFO    ] ================================================
[2026-10-20 10:17:32,276.276 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:17:32
[2026-10-20 10:17:32,910.910 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:17:33,167.167 INFO    ] Initializing speech engine...
[2026-10-20 10:17:33,177.177 INFO    ] 2026-10-20 10:17:33
[2026-10-20 10:17:33,495.495 INFO    ] 2026-10-20 10:17:33
[2026-10-20 10:17:33,532.532 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:17:33,758.758 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:17:33,775.775 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:17:33,921.921 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:17:33,931.931 INFO    ] time= 20/10/2026 10:17:33
[2026-10-20 10:17:33,935.935 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:17:33,942.942 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:17:34,018.018 INFO    ] No existing commands found in stream
[2026-10-20 10:17:39,033.033 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:17:39,036.036 INFO    ] Waiting 3.88 seconds before fallback handling...
[2026-10-20 10:17:43,430.430 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 10:17:43,433.433 INFO    ] Checking for system updates...
[2026-10-20 10:17:43,468.468 INFO    ] 200
[2026-10-20 10:17:43,471.471 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:17:43,523.523 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:17:43,525.525 INFO    ] No update needed
[2026-10-20 10:17:43,528.528 INFO    ] Checking for camera pi updates...
[2026-10-20 10:17:43,565.565 INFO    ] 200
[2026-10-20 10:17:43,567.567 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:17:43,611.611 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:17:43,662.662 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:17:43,665.665 INFO    ] No camera update needed
[2026-10-20 10:17:43,668.668 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:17:43,670.670 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:17:43,677.677 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:17:43,682.682 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:17:45,722.722 INFO    ] ================================================
[2026-10-20 10:17:45,737.737 INFO    ] Launching Daemon at Tue Oct 20 10:17:45 IST 2026
[2026-10-20 10:17:45,748.748 INFO    ] ================================================
[2026-10-20 10:17:46,336.336 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:17:46
[2026-10-20 10:17:46,951.951 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:17:47,236.236 INFO    ] Initializing speech engine...
[2026-10-20 10:17:47,246.246 INFO    ] 2026-10-20 10:17:47
[2026-10-20 10:17:47,530.530 INFO    ] 2026-10-20 10:17:47
[2026-10-20 10:17:47,568.568 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:17:47,790.790 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:17:47,796.796 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:17:47,951.951 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:17:48,002.002 INFO    ] time= 20/10/2026 10:17:47
[2026-10-20 10:17:48,037.037 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:17:48,045.045 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:17:48,191.191 INFO    ] No existing commands found in stream
[2026-10-20 10:17:53,202.202 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:17:53,204.204 INFO    ] Waiting 2.61 seconds before fallback handling...
[2026-10-20 10:17:56,317.317 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:17:56,319.319 INFO    ] Checking for system updates...
[2026-10-20 10:17:56,354.354 INFO    ] 200
[2026-10-20 10:17:56,357.357 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:17:56,409.409 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:17:56,411.411 INFO    ] No update needed
[2026-10-20 10:17:56,414.414 INFO    ] Checking for camera pi updates...
[2026-10-20 10:17:56,451.451 INFO    ] 200
[2026-10-20 10:17:56,453.453 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:17:56,493.493 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:17:56,539.539 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:17:56,542.542 INFO    ] No camera update needed
[2026-10-20 10:17:56,544.544 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:17:56,546.546 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:17:56,552.552 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:17:56,557.557 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:17:58,597.597 INFO    ] ================================================
[2026-10-20 10:17:58,613.613 INFO    ] Launching Daemon at Tue Oct 20 10:17:58 IST 2026
[2026-10-20 10:17:58,624.624 INFO    ] ================================================
[2026-10-20 10:17:59,191.191 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:17:59
[2026-10-20 10:17:59,778.778 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:18:00,034.034 INFO    ] Initializing speech engine...
[2026-10-20 10:18:00,040.040 INFO    ] 2026-10-20 10:18:00
[2026-10-20 10:18:00,329.329 INFO    ] 2026-10-20 10:18:00
[2026-10-20 10:18:00,367.367 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:18:00,586.586 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:18:00,593.593 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:18:00,765.765 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:18:00,815.815 INFO    ] time= 20/10/2026 10:18:00
[2026-10-20 10:18:00,821.821 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:18:00,851.851 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:18:00,968.968 INFO    ] No existing commands found in stream
[2026-10-20 10:18:05,979.979 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:18:05,982.982 INFO    ] Waiting 0.49 seconds before fallback handling...
[2026-10-20 10:18:06,968.968 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 10:18:06,971.971 INFO    ] Checking for system updates...
[2026-10-20 10:18:07,006.006 INFO    ] 200
[2026-10-20 10:18:07,009.009 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:18:07,061.061 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:18:07,063.063 INFO    ] No update needed
[2026-10-20 10:18:07,066.066 INFO    ] Checking for camera pi updates...
[2026-10-20 10:18:07,099.099 INFO    ] 200
[2026-10-20 10:18:07,101.101 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:18:07,141.141 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:18:07,186.186 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:18:07,188.188 INFO    ] No camera update needed
[2026-10-20 10:18:07,191.191 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:18:07,193.193 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:18:07,198.198 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:18:07,203.203 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:18:09,244.244 INFO    ] ================================================
[2026-10-20 10:18:09,260.260 INFO    ] Launching Daemon at Tue Oct 20 10:18:09 IST 2026
[2026-10-20 10:18:09,270.270 INFO    ] ================================================
[2026-10-20 10:18:09,909.909 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:18:09
[2026-10-20 10:18:10,565.565 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:18:10,867.867 INFO    ] Initializing speech engine...
[2026-10-20 10:18:10,881.881 INFO    ] 2026-10-20 10:18:10
[2026-10-20 10:18:11,162.162 INFO    ] 2026-10-20 10:18:11
[2026-10-20 10:18:11,208.208 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:18:11,463.463 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:18:11,469.469 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:18:11,676.676 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:18:11,712.712 INFO    ] time= 20/10/2026 10:18:11
[2026-10-20 10:18:11,719.719 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:18:11,741.741 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:18:11,866.866 INFO    ] No existing commands found in stream
[2026-10-20 10:18:16,885.885 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:18:16,888.888 INFO    ] Waiting 1.75 seconds before fallback handling...
[2026-10-20 10:18:19,169.169 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:18:19,172.172 INFO    ] Checking for system updates...
[2026-10-20 10:18:19,208.208 INFO    ] 200
[2026-10-20 10:18:19,211.211 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:18:19,265.265 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:18:19,267.267 INFO    ] No update needed
[2026-10-20 10:18:19,271.271 INFO    ] Checking for camera pi updates...
[2026-10-20 10:18:19,306.306 INFO    ] 200
[2026-10-20 10:18:19,308.308 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:18:19,350.350 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:18:19,400.400 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:18:19,402.402 INFO    ] No camera update needed
[2026-10-20 10:18:19,405.405 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:18:19,408.408 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:18:19,414.414 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:18:19,420.420 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:18:21,460.460 INFO    ] ================================================
[2026-10-20 10:18:21,475.475 INFO    ] Launching Daemon at Tue Oct 20 10:18:21 IST 2026
[2026-10-20 10:18:21,486.486 INFO    ] ================================================
[2026-10-20 10:18:22,064.064 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:18:22
[2026-10-20 10:18:22,666.666 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:18:22,930.930 INFO    ] Initializing speech engine...
[2026-10-20 10:18:22,944.944 INFO    ] 2026-10-20 10:18:22
[2026-10-20 10:18:23,226.226 INFO    ] 2026-10-20 10:18:23
[2026-10-20 10:18:23,263.263 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:18:23,488.488 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:18:23,553.553 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:18:23,708.708 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:18:23,751.751 INFO    ] time= 20/10/2026 10:18:23
[2026-10-20 10:18:23,810.810 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:18:23,854.854 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:18:24,021.021 INFO    ] No existing commands found in stream
[2026-10-20 10:18:29,035.035 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:18:29,038.038 INFO    ] Waiting 3.07 seconds before fallback handling...
[2026-10-20 10:18:32,610.610 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:18:32,613.613 INFO    ] Checking for system updates...
[2026-10-20 10:18:32,648.648 INFO    ] 200
[2026-10-20 10:18:32,651.651 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:18:32,708.708 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:18:32,711.711 INFO    ] No update needed
[2026-10-20 10:18:32,713.713 INFO    ] Checking for camera pi updates...
[2026-10-20 10:18:32,746.746 INFO    ] 200
[2026-10-20 10:18:32,749.749 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:18:32,790.790 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:18:32,828.828 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:18:32,831.831 INFO    ] No camera update needed
[2026-10-20 10:18:32,834.834 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:18:32,836.836 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:18:32,842.842 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:18:32,848.848 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:18:34,889.889 INFO    ] ================================================
[2026-10-20 10:18:34,904.904 INFO    ] Launching Daemon at Tue Oct 20 10:18:34 IST 2026
[2026-10-20 10:18:34,916.916 INFO    ] ================================================
[2026-10-20 10:18:35,505.505 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:18:35
[2026-10-20 10:18:36,102.102 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:18:36,364.364 INFO    ] Initializing speech engine...
[2026-10-20 10:18:36,388.388 INFO    ] 2026-10-20 10:18:36
[2026-10-20 10:18:36,663.663 INFO    ] 2026-10-20 10:18:36
[2026-10-20 10:18:36,698.698 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:18:36,920.920 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:18:36,928.928 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:18:37,073.073 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:18:37,081.081 INFO    ] time= 20/10/2026 10:18:37
[2026-10-20 10:18:37,089.089 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:18:37,132.132 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:18:37,252.252 INFO    ] No existing commands found in stream
[2026-10-20 10:18:42,287.287 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:18:42,290.290 INFO    ] Waiting 3.76 seconds before fallback handling...
[2026-10-20 10:18:46,576.576 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:18:46,579.579 INFO    ] Checking for system updates...
[2026-10-20 10:18:46,616.616 INFO    ] 200
[2026-10-20 10:18:46,619.619 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:18:46,671.671 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:18:46,674.674 INFO    ] No update needed
[2026-10-20 10:18:46,677.677 INFO    ] Checking for camera pi updates...
[2026-10-20 10:18:46,712.712 INFO    ] 200
[2026-10-20 10:18:46,715.715 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:18:46,755.755 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:18:46,895.895 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:18:46,897.897 INFO    ] No camera update needed
[2026-10-20 10:18:46,900.900 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:18:46,902.902 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:18:46,907.907 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:18:46,913.913 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:18:48,952.952 INFO    ] ================================================
[2026-10-20 10:18:48,967.967 INFO    ] Launching Daemon at Tue Oct 20 10:18:48 IST 2026
[2026-10-20 10:18:48,977.977 INFO    ] ================================================
[2026-10-20 10:18:49,542.542 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:18:49
[2026-10-20 10:18:50,127.127 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:18:50,379.379 INFO    ] Initializing speech engine...
[2026-10-20 10:18:50,391.391 INFO    ] 2026-10-20 10:18:50
[2026-10-20 10:18:50,659.659 INFO    ] 2026-10-20 10:18:50
[2026-10-20 10:18:50,695.695 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:18:50,894.894 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:18:50,952.952 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:18:51,192.192 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:18:51,221.221 INFO    ] time= 20/10/2026 10:18:51
[2026-10-20 10:18:51,236.236 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:18:51,246.246 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:18:51,375.375 INFO    ] No existing commands found in stream
[2026-10-20 10:18:56,394.394 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:18:56,396.396 INFO    ] Waiting 1.79 seconds before fallback handling...
[2026-10-20 10:18:58,727.727 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:18:58,730.730 INFO    ] Checking for system updates...
[2026-10-20 10:18:58,769.769 INFO    ] 200
[2026-10-20 10:18:58,771.771 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:18:58,823.823 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:18:58,825.825 INFO    ] No update needed
[2026-10-20 10:18:58,828.828 INFO    ] Checking for camera pi updates...
[2026-10-20 10:18:58,863.863 INFO    ] 200
[2026-10-20 10:18:58,866.866 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:18:58,905.905 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:18:58,953.953 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:18:58,955.955 INFO    ] No camera update needed
[2026-10-20 10:18:58,957.957 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:18:58,960.960 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:18:58,966.966 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:18:58,971.971 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:19:01,011.011 INFO    ] ================================================
[2026-10-20 10:19:01,026.026 INFO    ] Launching Daemon at Tue Oct 20 10:19:01 IST 2026
[2026-10-20 10:19:01,038.038 INFO    ] ================================================
[2026-10-20 10:19:01,739.739 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:19:01
[2026-10-20 10:19:02,382.382 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:19:02,764.764 INFO    ] Initializing speech engine...
[2026-10-20 10:19:02,775.775 INFO    ] 2026-10-20 10:19:02
[2026-10-20 10:19:03,065.065 INFO    ] 2026-10-20 10:19:03
[2026-10-20 10:19:03,177.177 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:19:03,385.385 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:19:03,395.395 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:19:03,546.546 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:19:03,587.587 INFO    ] time= 20/10/2026 10:19:03
[2026-10-20 10:19:03,646.646 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:19:03,693.693 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:19:03,822.822 INFO    ] No existing commands found in stream
[2026-10-20 10:19:08,837.837 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:19:08,840.840 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-10-20 10:19:11,132.132 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:19:11,134.134 INFO    ] Checking for system updates...
[2026-10-20 10:19:11,171.171 INFO    ] 200
[2026-10-20 10:19:11,173.173 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:19:11,225.225 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:19:11,227.227 INFO    ] No update needed
[2026-10-20 10:19:11,229.229 INFO    ] Checking for camera pi updates...
[2026-10-20 10:19:11,262.262 INFO    ] 200
[2026-10-20 10:19:11,265.265 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:19:11,304.304 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:19:11,351.351 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:19:11,354.354 INFO    ] No camera update needed
[2026-10-20 10:19:11,356.356 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:19:11,358.358 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:19:11,364.364 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:19:11,369.369 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:19:13,409.409 INFO    ] ================================================
[2026-10-20 10:19:13,424.424 INFO    ] Launching Daemon at Tue Oct 20 10:19:13 IST 2026
[2026-10-20 10:19:13,435.435 INFO    ] ================================================
[2026-10-20 10:19:14,075.075 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:19:14
[2026-10-20 10:19:14,739.739 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:19:15,037.037 INFO    ] Initializing speech engine...
[2026-10-20 10:19:15,046.046 INFO    ] 2026-10-20 10:19:15
[2026-10-20 10:19:15,321.321 INFO    ] 2026-10-20 10:19:15
[2026-10-20 10:19:15,356.356 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:19:15,615.615 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:19:15,620.620 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:19:15,831.831 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:19:15,888.888 INFO    ] time= 20/10/2026 10:19:15
[2026-10-20 10:19:15,894.894 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:19:15,911.911 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:19:16,049.049 INFO    ] No existing commands found in stream
[2026-10-20 10:19:21,073.073 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:19:21,076.076 INFO    ] Waiting 1.92 seconds before fallback handling...
[2026-10-20 10:19:23,515.515 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:19:23,518.518 INFO    ] Checking for system updates...
[2026-10-20 10:19:23,555.555 INFO    ] 200
[2026-10-20 10:19:23,557.557 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:19:23,611.611 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:19:23,614.614 INFO    ] No update needed
[2026-10-20 10:19:23,616.616 INFO    ] Checking for camera pi updates...
[2026-10-20 10:19:23,653.653 INFO    ] 200
[2026-10-20 10:19:23,656.656 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:19:23,696.696 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:19:23,744.744 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:19:23,746.746 INFO    ] No camera update needed
[2026-10-20 10:19:23,749.749 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:19:23,751.751 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:19:23,756.756 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:19:23,762.762 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:19:25,802.802 INFO    ] ================================================
[2026-10-20 10:19:25,816.816 INFO    ] Launching Daemon at Tue Oct 20 10:19:25 IST 2026
[2026-10-20 10:19:25,828.828 INFO    ] ================================================
[2026-10-20 10:19:26,392.392 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:19:26
[2026-10-20 10:19:27,022.022 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:19:27,328.328 INFO    ] Initializing speech engine...
[2026-10-20 10:19:27,339.339 INFO    ] 2026-10-20 10:19:27
[2026-10-20 10:19:27,617.617 INFO    ] 2026-10-20 10:19:27
[2026-10-20 10:19:27,663.663 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:19:27,954.954 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:19:27,961.961 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:19:28,159.159 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:19:28,177.177 INFO    ] time= 20/10/2026 10:19:28
[2026-10-20 10:19:28,209.209 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:19:28,216.216 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:19:28,347.347 INFO    ] No existing commands found in stream
[2026-10-20 10:19:33,378.378 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:19:33,381.381 INFO    ] Waiting 1.41 seconds before fallback handling...
[2026-10-20 10:19:35,307.307 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:19:35,310.310 INFO    ] Checking for system updates...
[2026-10-20 10:19:35,345.345 INFO    ] 200
[2026-10-20 10:19:35,348.348 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:19:35,402.402 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:19:35,404.404 INFO    ] No update needed
[2026-10-20 10:19:35,406.406 INFO    ] Checking for camera pi updates...
[2026-10-20 10:19:35,440.440 INFO    ] 200
[2026-10-20 10:19:35,442.442 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:19:35,483.483 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:19:35,527.527 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:19:35,530.530 INFO    ] No camera update needed
[2026-10-20 10:19:35,532.532 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:19:35,534.534 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:19:35,540.540 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:19:35,545.545 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:19:37,584.584 INFO    ] ================================================
[2026-10-20 10:19:37,599.599 INFO    ] Launching Daemon at Tue Oct 20 10:19:37 IST 2026
[2026-10-20 10:19:37,609.609 INFO    ] ================================================
[2026-10-20 10:19:38,187.187 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:19:38
[2026-10-20 10:19:38,786.786 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:19:39,063.063 INFO    ] Initializing speech engine...
[2026-10-20 10:19:39,084.084 INFO    ] 2026-10-20 10:19:39
[2026-10-20 10:19:39,353.353 INFO    ] 2026-10-20 10:19:39
[2026-10-20 10:19:39,390.390 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:19:39,587.587 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:19:39,600.600 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:19:39,765.765 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:19:39,771.771 INFO    ] time= 20/10/2026 10:19:39
[2026-10-20 10:19:39,778.778 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:19:39,818.818 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:19:39,947.947 INFO    ] No existing commands found in stream
[2026-10-20 10:19:44,977.977 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:19:44,980.980 INFO    ] Waiting 3.20 seconds before fallback handling...
[2026-10-20 10:19:48,708.708 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:19:48,711.711 INFO    ] Checking for system updates...
[2026-10-20 10:19:48,748.748 INFO    ] 200
[2026-10-20 10:19:48,751.751 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:19:48,804.804 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:19:48,806.806 INFO    ] No update needed
[2026-10-20 10:19:48,809.809 INFO    ] Checking for camera pi updates...
[2026-10-20 10:19:48,842.842 INFO    ] 200
[2026-10-20 10:19:48,845.845 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:19:48,885.885 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:19:48,930.930 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:19:48,932.932 INFO    ] No camera update needed
[2026-10-20 10:19:48,935.935 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:19:48,937.937 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:19:48,943.943 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:19:48,948.948 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:19:50,987.987 INFO    ] ================================================
[2026-10-20 10:19:51,003.003 INFO    ] Launching Daemon at Tue Oct 20 10:19:50 IST 2026
[2026-10-20 10:19:51,014.014 INFO    ] ================================================
[2026-10-20 10:19:51,585.585 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:19:51
[2026-10-20 10:19:52,211.211 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:19:52,515.515 INFO    ] Initializing speech engine...
[2026-10-20 10:19:52,528.528 INFO    ] 2026-10-20 10:19:52
[2026-10-20 10:19:52,805.805 INFO    ] 2026-10-20 10:19:52
[2026-10-20 10:19:52,852.852 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:19:53,139.139 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:19:53,148.148 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:19:53,343.343 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:19:53,361.361 INFO    ] time= 20/10/2026 10:19:53
[2026-10-20 10:19:53,372.372 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:19:53,401.401 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:19:53,509.509 INFO    ] No existing commands found in stream
[2026-10-20 10:19:58,534.534 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:19:58,537.537 INFO    ] Waiting 0.27 seconds before fallback handling...
[2026-10-20 10:19:59,326.326 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:19:59,328.328 INFO    ] Checking for system updates...
[2026-10-20 10:19:59,364.364 INFO    ] 200
[2026-10-20 10:19:59,366.366 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:19:59,424.424 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:19:59,427.427 INFO    ] No update needed
[2026-10-20 10:19:59,429.429 INFO    ] Checking for camera pi updates...
[2026-10-20 10:19:59,462.462 INFO    ] 200
[2026-10-20 10:19:59,464.464 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:19:59,515.515 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:19:59,564.564 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:19:59,567.567 INFO    ] No camera update needed
[2026-10-20 10:19:59,569.569 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:19:59,572.572 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:19:59,578.578 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:19:59,584.584 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:20:01,647.647 INFO    ] ================================================
[2026-10-20 10:20:01,702.702 INFO    ] Launching Daemon at Tue Oct 20 10:20:01 IST 2026
[2026-10-20 10:20:01,752.752 INFO    ] ================================================
[2026-10-20 10:20:02,561.561 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:20:02
[2026-10-20 10:20:03,269.269 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:20:03,613.613 INFO    ] Initializing speech engine...
[2026-10-20 10:20:03,623.623 INFO    ] 2026-10-20 10:20:03
[2026-10-20 10:20:03,929.929 INFO    ] 2026-10-20 10:20:03
[2026-10-20 10:20:04,020.020 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:20:04,241.241 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:20:04,245.245 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:20:04,447.447 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:20:04,466.466 INFO    ] time= 20/10/2026 10:20:04
[2026-10-20 10:20:04,476.476 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:20:04,505.505 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:20:04,625.625 INFO    ] No existing commands found in stream
[2026-10-20 10:20:09,665.665 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:20:09,669.669 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-10-20 10:20:13,963.963 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:20:13,965.965 INFO    ] Checking for system updates...
[2026-10-20 10:20:14,002.002 INFO    ] 200
[2026-10-20 10:20:14,004.004 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:20:14,063.063 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:20:14,066.066 INFO    ] No update needed
[2026-10-20 10:20:14,069.069 INFO    ] Checking for camera pi updates...
[2026-10-20 10:20:14,103.103 INFO    ] 200
[2026-10-20 10:20:14,106.106 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:20:14,147.147 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:20:14,195.195 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:20:14,198.198 INFO    ] No camera update needed
[2026-10-20 10:20:14,200.200 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:20:14,203.203 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:20:14,209.209 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:20:14,215.215 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:20:16,256.256 INFO    ] ================================================
[2026-10-20 10:20:16,271.271 INFO    ] Launching Daemon at Tue Oct 20 10:20:16 IST 2026
[2026-10-20 10:20:16,281.281 INFO    ] ================================================
[2026-10-20 10:20:16,854.854 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:20:16
[2026-10-20 10:20:17,440.440 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:20:17,714.714 INFO    ] Initializing speech engine...
[2026-10-20 10:20:17,720.720 INFO    ] 2026-10-20 10:20:17
[2026-10-20 10:20:17,976.976 INFO    ] 2026-10-20 10:20:17
[2026-10-20 10:20:18,009.009 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:20:18,254.254 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:20:18,264.264 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:20:18,419.419 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:20:18,473.473 INFO    ] time= 20/10/2026 10:20:18
[2026-10-20 10:20:18,526.526 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:20:18,533.533 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:20:18,677.677 INFO    ] No existing commands found in stream
[2026-10-20 10:20:23,691.691 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:20:23,693.693 INFO    ] Waiting 0.98 seconds before fallback handling...
[2026-10-20 10:20:25,193.193 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:20:25,196.196 INFO    ] Checking for system updates...
[2026-10-20 10:20:25,231.231 INFO    ] 200
[2026-10-20 10:20:25,233.233 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:20:25,290.290 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:20:25,293.293 INFO    ] No update needed
[2026-10-20 10:20:25,295.295 INFO    ] Checking for camera pi updates...
[2026-10-20 10:20:25,328.328 INFO    ] 200
[2026-10-20 10:20:25,331.331 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:20:25,372.372 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:20:25,435.435 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:20:25,444.444 INFO    ] No camera update needed
[2026-10-20 10:20:25,446.446 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:20:25,449.449 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:20:25,455.455 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:20:25,459.459 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:20:27,499.499 INFO    ] ================================================
[2026-10-20 10:20:27,513.513 INFO    ] Launching Daemon at Tue Oct 20 10:20:27 IST 2026
[2026-10-20 10:20:27,524.524 INFO    ] ================================================
[2026-10-20 10:20:28,091.091 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:20:28
[2026-10-20 10:20:28,676.676 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:20:28,930.930 INFO    ] Initializing speech engine...
[2026-10-20 10:20:28,937.937 INFO    ] 2026-10-20 10:20:28
[2026-10-20 10:20:29,226.226 INFO    ] 2026-10-20 10:20:29
[2026-10-20 10:20:29,258.258 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:20:29,476.476 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:20:29,483.483 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:20:29,698.698 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:20:29,704.704 INFO    ] time= 20/10/2026 10:20:29
[2026-10-20 10:20:29,749.749 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:20:29,803.803 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:20:29,905.905 INFO    ] No existing commands found in stream
[2026-10-20 10:20:34,916.916 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:20:34,919.919 INFO    ] Waiting 3.58 seconds before fallback handling...
[2026-10-20 10:20:38,999.999 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:20:39,002.002 INFO    ] Checking for system updates...
[2026-10-20 10:20:39,037.037 INFO    ] 200
[2026-10-20 10:20:39,039.039 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:20:39,095.095 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:20:39,097.097 INFO    ] No update needed
[2026-10-20 10:20:39,100.100 INFO    ] Checking for camera pi updates...
[2026-10-20 10:20:39,133.133 INFO    ] 200
[2026-10-20 10:20:39,135.135 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:20:39,180.180 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:20:39,226.226 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:20:39,228.228 INFO    ] No camera update needed
[2026-10-20 10:20:39,230.230 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:20:39,233.233 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:20:39,238.238 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:20:39,243.243 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:20:41,282.282 INFO    ] ================================================
[2026-10-20 10:20:41,297.297 INFO    ] Launching Daemon at Tue Oct 20 10:20:41 IST 2026
[2026-10-20 10:20:41,307.307 INFO    ] ================================================
[2026-10-20 10:20:41,935.935 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:20:41
[2026-10-20 10:20:42,587.587 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:20:42,886.886 INFO    ] Initializing speech engine...
[2026-10-20 10:20:42,893.893 INFO    ] 2026-10-20 10:20:42
[2026-10-20 10:20:43,176.176 INFO    ] 2026-10-20 10:20:43
[2026-10-20 10:20:43,221.221 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:20:43,506.506 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:20:43,512.512 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:20:43,710.710 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:20:43,725.725 INFO    ] time= 20/10/2026 10:20:43
[2026-10-20 10:20:43,735.735 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:20:43,761.761 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:20:43,893.893 INFO    ] No existing commands found in stream
[2026-10-20 10:20:48,924.924 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:20:48,927.927 INFO    ] Waiting 1.41 seconds before fallback handling...
[2026-10-20 10:20:50,869.869 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:20:50,872.872 INFO    ] Checking for system updates...
[2026-10-20 10:20:50,908.908 INFO    ] 200
[2026-10-20 10:20:50,911.911 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:20:50,963.963 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:20:50,966.966 INFO    ] No update needed
[2026-10-20 10:20:50,969.969 INFO    ] Checking for camera pi updates...
[2026-10-20 10:20:51,005.005 INFO    ] 200
[2026-10-20 10:20:51,008.008 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:20:51,049.049 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:20:51,195.195 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:20:51,197.197 INFO    ] No camera update needed
[2026-10-20 10:20:51,200.200 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:20:51,203.203 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:20:51,209.209 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:20:51,215.215 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:20:53,256.256 INFO    ] ================================================
[2026-10-20 10:20:53,271.271 INFO    ] Launching Daemon at Tue Oct 20 10:20:53 IST 2026
[2026-10-20 10:20:53,283.283 INFO    ] ================================================
[2026-10-20 10:20:53,913.913 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:20:53
[2026-10-20 10:20:54,562.562 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:20:54,856.856 INFO    ] Initializing speech engine...
[2026-10-20 10:20:54,864.864 INFO    ] 2026-10-20 10:20:54
[2026-10-20 10:20:55,131.131 INFO    ] 2026-10-20 10:20:55
[2026-10-20 10:20:55,185.185 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:20:55,412.412 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:20:55,417.417 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:20:55,613.613 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:20:55,673.673 INFO    ] time= 20/10/2026 10:20:55
[2026-10-20 10:20:55,682.682 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:20:55,702.702 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:20:55,827.827 INFO    ] No existing commands found in stream
[2026-10-20 10:21:00,843.843 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:21:00,846.846 INFO    ] Waiting 3.09 seconds before fallback handling...
[2026-10-20 10:21:04,446.446 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:21:04,449.449 INFO    ] Checking for system updates...
[2026-10-20 10:21:04,492.492 INFO    ] 200
[2026-10-20 10:21:04,495.495 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:21:04,547.547 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:21:04,550.550 INFO    ] No update needed
[2026-10-20 10:21:04,553.553 INFO    ] Checking for camera pi updates...
[2026-10-20 10:21:04,586.586 INFO    ] 200
[2026-10-20 10:21:04,589.589 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:21:04,630.630 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:21:04,677.677 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:21:04,679.679 INFO    ] No camera update needed
[2026-10-20 10:21:04,682.682 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:21:04,685.685 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:21:04,691.691 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:21:04,696.696 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:21:06,737.737 INFO    ] ================================================
[2026-10-20 10:21:06,752.752 INFO    ] Launching Daemon at Tue Oct 20 10:21:06 IST 2026
[2026-10-20 10:21:06,763.763 INFO    ] ================================================
[2026-10-20 10:21:07,328.328 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:21:07
[2026-10-20 10:21:07,911.911 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:21:08,161.161 INFO    ] Initializing speech engine...
[2026-10-20 10:21:08,166.166 INFO    ] 2026-10-20 10:21:08
[2026-10-20 10:21:08,458.458 INFO    ] 2026-10-20 10:21:08
[2026-10-20 10:21:08,495.495 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:21:08,716.716 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:21:08,780.780 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:21:08,937.937 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:21:09,002.002 INFO    ] time= 20/10/2026 10:21:08
[2026-10-20 10:21:09,056.056 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:21:09,084.084 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:21:09,239.239 INFO    ] No existing commands found in stream
[2026-10-20 10:21:14,253.253 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:21:14,255.255 INFO    ] Waiting 3.40 seconds before fallback handling...
[2026-10-20 10:21:18,156.156 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:21:18,159.159 INFO    ] Checking for system updates...
[2026-10-20 10:21:18,195.195 INFO    ] 200
[2026-10-20 10:21:18,197.197 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:21:18,249.249 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:21:18,251.251 INFO    ] No update needed
[2026-10-20 10:21:18,254.254 INFO    ] Checking for camera pi updates...
[2026-10-20 10:21:18,287.287 INFO    ] 200
[2026-10-20 10:21:18,290.290 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:21:18,329.329 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:21:18,384.384 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:21:18,386.386 INFO    ] No camera update needed
[2026-10-20 10:21:18,388.388 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:21:18,391.391 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:21:18,396.396 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:21:18,401.401 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:21:20,440.440 INFO    ] ================================================
[2026-10-20 10:21:20,456.456 INFO    ] Launching Daemon at Tue Oct 20 10:21:20 IST 2026
[2026-10-20 10:21:20,467.467 INFO    ] ================================================
[2026-10-20 10:21:21,054.054 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:21:21
[2026-10-20 10:21:21,651.651 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:21:21,904.904 INFO    ] Initializing speech engine...
[2026-10-20 10:21:21,913.913 INFO    ] 2026-10-20 10:21:21
[2026-10-20 10:21:22,202.202 INFO    ] 2026-10-20 10:21:22
[2026-10-20 10:21:22,239.239 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:21:22,441.441 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:21:22,461.461 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:21:22,610.610 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:21:22,632.632 INFO    ] time= 20/10/2026 10:21:22
[2026-10-20 10:21:22,684.684 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:21:22,700.700 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:21:22,829.829 INFO    ] No existing commands found in stream
[2026-10-20 10:21:27,841.841 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:21:27,844.844 INFO    ] Waiting 1.94 seconds before fallback handling...
[2026-10-20 10:21:30,312.312 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:21:30,315.315 INFO    ] Checking for system updates...
[2026-10-20 10:21:30,350.350 INFO    ] 200
[2026-10-20 10:21:30,353.353 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:21:30,405.405 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:21:30,407.407 INFO    ] No update needed
[2026-10-20 10:21:30,410.410 INFO    ] Checking for camera pi updates...
[2026-10-20 10:21:30,446.446 INFO    ] 200
[2026-10-20 10:21:30,448.448 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:21:30,488.488 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:21:30,537.537 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:21:30,540.540 INFO    ] No camera update needed
[2026-10-20 10:21:30,542.542 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:21:30,544.544 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:21:30,550.550 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:21:30,555.555 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:21:32,595.595 INFO    ] ================================================
[2026-10-20 10:21:32,611.611 INFO    ] Launching Daemon at Tue Oct 20 10:21:32 IST 2026
[2026-10-20 10:21:32,623.623 INFO    ] ================================================
[2026-10-20 10:21:33,225.225 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:21:33
[2026-10-20 10:21:33,809.809 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:21:34,076.076 INFO    ] Initializing speech engine...
[2026-10-20 10:21:34,087.087 INFO    ] 2026-10-20 10:21:34
[2026-10-20 10:21:34,351.351 INFO    ] 2026-10-20 10:21:34
[2026-10-20 10:21:34,380.380 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:21:34,625.625 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:21:34,634.634 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:21:34,847.847 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:21:34,894.894 INFO    ] time= 20/10/2026 10:21:34
[2026-10-20 10:21:34,909.909 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:21:34,917.917 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:21:35,025.025 INFO    ] No existing commands found in stream
[2026-10-20 10:21:40,052.052 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:21:40,054.054 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-10-20 10:21:43,766.766 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:21:43,768.768 INFO    ] Checking for system updates...
[2026-10-20 10:21:43,803.803 INFO    ] 200
[2026-10-20 10:21:43,806.806 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:21:43,858.858 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:21:43,861.861 INFO    ] No update needed
[2026-10-20 10:21:43,863.863 INFO    ] Checking for camera pi updates...
[2026-10-20 10:21:43,896.896 INFO    ] 200
[2026-10-20 10:21:43,898.898 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:21:43,941.941 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:21:43,973.973 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:21:43,975.975 INFO    ] No camera update needed
[2026-10-20 10:21:43,977.977 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:21:43,980.980 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:21:43,985.985 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:21:43,990.990 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:21:46,031.031 INFO    ] ================================================
[2026-10-20 10:21:46,046.046 INFO    ] Launching Daemon at Tue Oct 20 10:21:46 IST 2026
[2026-10-20 10:21:46,057.057 INFO    ] ================================================
[2026-10-20 10:21:46,692.692 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:21:46
[2026-10-20 10:21:47,344.344 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:21:47,641.641 INFO    ] Initializing speech engine...
[2026-10-20 10:21:47,649.649 INFO    ] 2026-10-20 10:21:47
[2026-10-20 10:21:47,931.931 INFO    ] 2026-10-20 10:21:47
[2026-10-20 10:21:47,976.976 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:21:48,224.224 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:21:48,243.243 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:21:48,440.440 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:21:48,469.469 INFO    ] time= 20/10/2026 10:21:48
[2026-10-20 10:21:48,483.483 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:21:48,494.494 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:21:48,624.624 INFO    ] No existing commands found in stream
[2026-10-20 10:21:53,647.647 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:21:53,650.650 INFO    ] Waiting 0.83 seconds before fallback handling...
[2026-10-20 10:21:55,026.026 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:21:55,029.029 INFO    ] Checking for system updates...
[2026-10-20 10:21:55,065.065 INFO    ] 200
[2026-10-20 10:21:55,068.068 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:21:55,122.122 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:21:55,124.124 INFO    ] No update needed
[2026-10-20 10:21:55,126.126 INFO    ] Checking for camera pi updates...
[2026-10-20 10:21:55,160.160 INFO    ] 200
[2026-10-20 10:21:55,163.163 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:21:55,202.202 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:21:55,257.257 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:21:55,260.260 INFO    ] No camera update needed
[2026-10-20 10:21:55,262.262 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:21:55,264.264 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:21:55,269.269 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:21:55,274.274 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:21:57,314.314 INFO    ] ================================================
[2026-10-20 10:21:57,330.330 INFO    ] Launching Daemon at Tue Oct 20 10:21:57 IST 2026
[2026-10-20 10:21:57,341.341 INFO    ] ================================================
[2026-10-20 10:21:57,906.906 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:21:57
[2026-10-20 10:21:58,486.486 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:21:58,753.753 INFO    ] Initializing speech engine...
[2026-10-20 10:21:58,762.762 INFO    ] 2026-10-20 10:21:58
[2026-10-20 10:21:59,022.022 INFO    ] 2026-10-20 10:21:59
[2026-10-20 10:21:59,051.051 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:21:59,301.301 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:21:59,321.321 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:21:59,547.547 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:21:59,563.563 INFO    ] time= 20/10/2026 10:21:59
[2026-10-20 10:21:59,581.581 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:21:59,603.603 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:21:59,717.717 INFO    ] No existing commands found in stream
[2026-10-20 10:22:04,745.745 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:22:04,748.748 INFO    ] Waiting 2.79 seconds before fallback handling...
[2026-10-20 10:22:08,005.005 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:22:08,008.008 INFO    ] Checking for system updates...
[2026-10-20 10:22:08,044.044 INFO    ] 200
[2026-10-20 10:22:08,046.046 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:22:08,104.104 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:22:08,106.106 INFO    ] No update needed
[2026-10-20 10:22:08,108.108 INFO    ] Checking for camera pi updates...
[2026-10-20 10:22:08,141.141 INFO    ] 200
[2026-10-20 10:22:08,144.144 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:22:08,187.187 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:22:08,236.236 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:22:08,239.239 INFO    ] No camera update needed
[2026-10-20 10:22:08,241.241 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:22:08,243.243 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:22:08,248.248 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:22:08,253.253 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:22:10,294.294 INFO    ] ================================================
[2026-10-20 10:22:10,309.309 INFO    ] Launching Daemon at Tue Oct 20 10:22:10 IST 2026
[2026-10-20 10:22:10,321.321 INFO    ] ================================================
[2026-10-20 10:22:10,928.928 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:22:10
[2026-10-20 10:22:11,511.511 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:22:11,779.779 INFO    ] Initializing speech engine...
[2026-10-20 10:22:11,788.788 INFO    ] 2026-10-20 10:22:11
[2026-10-20 10:22:12,041.041 INFO    ] 2026-10-20 10:22:12
[2026-10-20 10:22:12,076.076 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:22:12,320.320 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:22:12,330.330 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:22:12,544.544 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:22:12,587.587 INFO    ] time= 20/10/2026 10:22:12
[2026-10-20 10:22:12,594.594 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:22:12,611.611 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:22:12,755.755 INFO    ] No existing commands found in stream
[2026-10-20 10:22:17,782.782 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:22:17,785.785 INFO    ] Waiting 0.64 seconds before fallback handling...
[2026-10-20 10:22:18,963.963 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:22:18,966.966 INFO    ] Checking for system updates...
[2026-10-20 10:22:19,001.001 INFO    ] 200
[2026-10-20 10:22:19,003.003 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:22:19,055.055 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:22:19,058.058 INFO    ] No update needed
[2026-10-20 10:22:19,060.060 INFO    ] Checking for camera pi updates...
[2026-10-20 10:22:19,093.093 INFO    ] 200
[2026-10-20 10:22:19,096.096 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:22:19,136.136 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:22:19,169.169 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:22:19,172.172 INFO    ] No camera update needed
[2026-10-20 10:22:19,174.174 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:22:19,176.176 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:22:19,182.182 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:22:19,187.187 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:22:21,228.228 INFO    ] ================================================
[2026-10-20 10:22:21,243.243 INFO    ] Launching Daemon at Tue Oct 20 10:22:21 IST 2026
[2026-10-20 10:22:21,254.254 INFO    ] ================================================
[2026-10-20 10:22:21,822.822 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:22:21
[2026-10-20 10:22:22,405.405 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:22:22,680.680 INFO    ] Initializing speech engine...
[2026-10-20 10:22:22,686.686 INFO    ] 2026-10-20 10:22:22
[2026-10-20 10:22:22,931.931 INFO    ] 2026-10-20 10:22:22
[2026-10-20 10:22:22,973.973 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:22:23,223.223 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:22:23,227.227 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:22:23,365.365 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:22:23,419.419 INFO    ] time= 20/10/2026 10:22:23
[2026-10-20 10:22:23,474.474 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:22:23,491.491 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:22:23,637.637 INFO    ] No existing commands found in stream
[2026-10-20 10:22:28,651.651 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:22:28,653.653 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-10-20 10:22:31,628.628 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:22:31,632.632 INFO    ] Checking for system updates...
[2026-10-20 10:22:31,674.674 INFO    ] 200
[2026-10-20 10:22:31,677.677 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:22:31,736.736 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:22:31,739.739 INFO    ] No update needed
[2026-10-20 10:22:31,741.741 INFO    ] Checking for camera pi updates...
[2026-10-20 10:22:31,779.779 INFO    ] 200
[2026-10-20 10:22:31,782.782 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:22:31,832.832 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:22:31,878.878 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:22:31,881.881 INFO    ] No camera update needed
[2026-10-20 10:22:31,884.884 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:22:31,887.887 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:22:31,894.894 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:22:31,900.900 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:22:33,939.939 INFO    ] ================================================
[2026-10-20 10:22:33,955.955 INFO    ] Launching Daemon at Tue Oct 20 10:22:33 IST 2026
[2026-10-20 10:22:33,966.966 INFO    ] ================================================
[2026-10-20 10:22:34,534.534 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:22:34
[2026-10-20 10:22:35,121.121 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:22:35,372.372 INFO    ] Initializing speech engine...
[2026-10-20 10:22:35,385.385 INFO    ] 2026-10-20 10:22:35
[2026-10-20 10:22:35,656.656 INFO    ] 2026-10-20 10:22:35
[2026-10-20 10:22:35,691.691 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:22:35,933.933 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:22:35,960.960 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:22:36,168.168 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:22:36,217.217 INFO    ] time= 20/10/2026 10:22:36
[2026-10-20 10:22:36,241.241 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:22:36,248.248 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:22:36,392.392 INFO    ] No existing commands found in stream
[2026-10-20 10:22:41,422.422 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:22:41,425.425 INFO    ] Waiting 0.83 seconds before fallback handling...
[2026-10-20 10:22:42,759.759 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:22:42,762.762 INFO    ] Checking for system updates...
[2026-10-20 10:22:42,801.801 INFO    ] 200
[2026-10-20 10:22:42,804.804 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:22:42,855.855 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:22:42,857.857 INFO    ] No update needed
[2026-10-20 10:22:42,860.860 INFO    ] Checking for camera pi updates...
[2026-10-20 10:22:42,894.894 INFO    ] 200
[2026-10-20 10:22:42,896.896 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:22:42,941.941 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:22:43,000.000 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:22:43,002.002 INFO    ] No camera update needed
[2026-10-20 10:22:43,004.004 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:22:43,006.006 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:22:43,012.012 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:22:43,017.017 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:22:45,056.056 INFO    ] ================================================
[2026-10-20 10:22:45,071.071 INFO    ] Launching Daemon at Tue Oct 20 10:22:45 IST 2026
[2026-10-20 10:22:45,083.083 INFO    ] ================================================
[2026-10-20 10:22:45,650.650 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:22:45
[2026-10-20 10:22:46,232.232 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:22:46,510.510 INFO    ] Initializing speech engine...
[2026-10-20 10:22:46,519.519 INFO    ] 2026-10-20 10:22:46
[2026-10-20 10:22:46,765.765 INFO    ] 2026-10-20 10:22:46
[2026-10-20 10:22:46,800.800 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:22:47,055.055 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:22:47,060.060 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:22:47,292.292 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:22:47,317.317 INFO    ] time= 20/10/2026 10:22:47
[2026-10-20 10:22:47,332.332 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:22:47,341.341 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:22:47,497.497 INFO    ] No existing commands found in stream
[2026-10-20 10:22:52,528.528 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:22:52,531.531 INFO    ] Waiting 1.37 seconds before fallback handling...
[2026-10-20 10:22:54,432.432 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:22:54,435.435 INFO    ] Checking for system updates...
[2026-10-20 10:22:54,471.471 INFO    ] 200
[2026-10-20 10:22:54,474.474 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:22:54,533.533 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:22:54,536.536 INFO    ] No update needed
[2026-10-20 10:22:54,538.538 INFO    ] Checking for camera pi updates...
[2026-10-20 10:22:54,572.572 INFO    ] 200
[2026-10-20 10:22:54,574.574 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:22:54,619.619 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:22:54,765.765 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:22:54,768.768 INFO    ] No camera update needed
[2026-10-20 10:22:54,770.770 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:22:54,773.773 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:22:54,778.778 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:22:54,783.783 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:22:56,824.824 INFO    ] ================================================
[2026-10-20 10:22:56,839.839 INFO    ] Launching Daemon at Tue Oct 20 10:22:56 IST 2026
[2026-10-20 10:22:56,850.850 INFO    ] ================================================
[2026-10-20 10:22:57,512.512 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:22:57
[2026-10-20 10:22:58,193.193 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:22:58,510.510 INFO    ] Initializing speech engine...
[2026-10-20 10:22:58,522.522 INFO    ] 2026-10-20 10:22:58
[2026-10-20 10:22:58,834.834 INFO    ] 2026-10-20 10:22:58
[2026-10-20 10:22:58,920.920 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:22:59,133.133 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:22:59,139.139 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:22:59,334.334 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:22:59,342.342 INFO    ] time= 20/10/2026 10:22:59
[2026-10-20 10:22:59,364.364 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:22:59,392.392 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:22:59,511.511 INFO    ] No existing commands found in stream
[2026-10-20 10:23:04,542.542 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:23:04,545.545 INFO    ] Waiting 2.34 seconds before fallback handling...
[2026-10-20 10:23:07,486.486 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:23:07,489.489 INFO    ] Checking for system updates...
[2026-10-20 10:23:07,531.531 INFO    ] 200
[2026-10-20 10:23:07,534.534 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:23:07,594.594 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:23:07,598.598 INFO    ] No update needed
[2026-10-20 10:23:07,600.600 INFO    ] Checking for camera pi updates...
[2026-10-20 10:23:07,639.639 INFO    ] 200
[2026-10-20 10:23:07,642.642 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:23:07,683.683 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:23:07,720.720 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:23:07,722.722 INFO    ] No camera update needed
[2026-10-20 10:23:07,725.725 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:23:07,728.728 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:23:07,734.734 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:23:07,740.740 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:23:09,780.780 INFO    ] ================================================
[2026-10-20 10:23:09,796.796 INFO    ] Launching Daemon at Tue Oct 20 10:23:09 IST 2026
[2026-10-20 10:23:09,807.807 INFO    ] ================================================
[2026-10-20 10:23:10,370.370 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:23:10
[2026-10-20 10:23:10,954.954 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:23:11,221.221 INFO    ] Initializing speech engine...
[2026-10-20 10:23:11,231.231 INFO    ] 2026-10-20 10:23:11
[2026-10-20 10:23:11,475.475 INFO    ] 2026-10-20 10:23:11
[2026-10-20 10:23:11,509.509 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:23:11,896.896 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:23:11,965.965 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:23:12,167.167 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:23:12,207.207 INFO    ] time= 20/10/2026 10:23:12
[2026-10-20 10:23:12,261.261 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:23:12,277.277 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:23:12,426.426 INFO    ] No existing commands found in stream
[2026-10-20 10:23:17,447.447 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:23:17,450.450 INFO    ] Waiting 3.92 seconds before fallback handling...
[2026-10-20 10:23:21,898.898 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:23:21,901.901 INFO    ] Checking for system updates...
[2026-10-20 10:23:21,940.940 INFO    ] 200
[2026-10-20 10:23:21,942.942 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:23:22,001.001 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:23:22,003.003 INFO    ] No update needed
[2026-10-20 10:23:22,006.006 INFO    ] Checking for camera pi updates...
[2026-10-20 10:23:22,043.043 INFO    ] 200
[2026-10-20 10:23:22,045.045 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:23:22,090.090 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:23:22,143.143 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:23:22,145.145 INFO    ] No camera update needed
[2026-10-20 10:23:22,147.147 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:23:22,150.150 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:23:22,155.155 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:23:22,160.160 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:23:24,200.200 INFO    ] ================================================
[2026-10-20 10:23:24,215.215 INFO    ] Launching Daemon at Tue Oct 20 10:23:24 IST 2026
[2026-10-20 10:23:24,227.227 INFO    ] ================================================
[2026-10-20 10:23:24,792.792 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:23:24
[2026-10-20 10:23:25,378.378 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:23:25,647.647 INFO    ] Initializing speech engine...
[2026-10-20 10:23:25,656.656 INFO    ] 2026-10-20 10:23:25
[2026-10-20 10:23:25,904.904 INFO    ] 2026-10-20 10:23:25
[2026-10-20 10:23:25,940.940 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:23:26,192.192 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:23:26,201.201 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:23:26,335.335 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:23:26,389.389 INFO    ] time= 20/10/2026 10:23:26
[2026-10-20 10:23:26,449.449 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:23:26,466.466 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:23:26,598.598 INFO    ] No existing commands found in stream
[2026-10-20 10:23:31,622.622 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:23:31,626.626 INFO    ] Waiting 3.89 seconds before fallback handling...
[2026-10-20 10:23:36,026.026 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:23:36,028.028 INFO    ] Checking for system updates...
[2026-10-20 10:23:36,065.065 INFO    ] 200
[2026-10-20 10:23:36,068.068 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:23:36,121.121 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:23:36,124.124 INFO    ] No update needed
[2026-10-20 10:23:36,127.127 INFO    ] Checking for camera pi updates...
[2026-10-20 10:23:36,162.162 INFO    ] 200
[2026-10-20 10:23:36,165.165 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:23:36,206.206 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:23:36,258.258 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:23:36,261.261 INFO    ] No camera update needed
[2026-10-20 10:23:36,264.264 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:23:36,266.266 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:23:36,273.273 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:23:36,278.278 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:23:38,320.320 INFO    ] ================================================
[2026-10-20 10:23:38,336.336 INFO    ] Launching Daemon at Tue Oct 20 10:23:38 IST 2026
[2026-10-20 10:23:38,347.347 INFO    ] ================================================
[2026-10-20 10:23:38,936.936 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:23:38
[2026-10-20 10:23:39,522.522 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:23:39,773.773 INFO    ] Initializing speech engine...
[2026-10-20 10:23:39,780.780 INFO    ] 2026-10-20 10:23:39
[2026-10-20 10:23:40,053.053 INFO    ] 2026-10-20 10:23:40
[2026-10-20 10:23:40,087.087 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:23:40,288.288 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:23:40,347.347 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:23:40,498.498 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:23:40,553.553 INFO    ] time= 20/10/2026 10:23:40
[2026-10-20 10:23:40,607.607 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:23:40,648.648 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:23:40,787.787 INFO    ] No existing commands found in stream
[2026-10-20 10:23:45,817.817 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:23:45,820.820 INFO    ] Waiting 3.88 seconds before fallback handling...
[2026-10-20 10:23:50,241.241 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:23:50,244.244 INFO    ] Checking for system updates...
[2026-10-20 10:23:50,284.284 INFO    ] 200
[2026-10-20 10:23:50,287.287 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:23:50,342.342 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:23:50,345.345 INFO    ] No update needed
[2026-10-20 10:23:50,348.348 INFO    ] Checking for camera pi updates...
[2026-10-20 10:23:50,382.382 INFO    ] 200
[2026-10-20 10:23:50,385.385 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:23:50,427.427 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:23:50,477.477 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:23:50,480.480 INFO    ] No camera update needed
[2026-10-20 10:23:50,483.483 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:23:50,485.485 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:23:50,492.492 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:23:50,497.497 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:23:52,539.539 INFO    ] ================================================
[2026-10-20 10:23:52,555.555 INFO    ] Launching Daemon at Tue Oct 20 10:23:52 IST 2026
[2026-10-20 10:23:52,566.566 INFO    ] ================================================
[2026-10-20 10:23:53,147.147 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:23:53
[2026-10-20 10:23:53,746.746 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:23:54,023.023 INFO    ] Initializing speech engine...
[2026-10-20 10:23:54,031.031 INFO    ] 2026-10-20 10:23:54
[2026-10-20 10:23:54,278.278 INFO    ] 2026-10-20 10:23:54
[2026-10-20 10:23:54,341.341 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:23:54,566.566 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:23:54,576.576 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:23:54,710.710 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:23:54,775.775 INFO    ] time= 20/10/2026 10:23:54
[2026-10-20 10:23:54,829.829 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:23:54,844.844 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:23:54,991.991 INFO    ] No existing commands found in stream
[2026-10-20 10:24:00,006.006 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:24:00,009.009 INFO    ] Waiting 1.18 seconds before fallback handling...
[2026-10-20 10:24:01,733.733 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:24:01,736.736 INFO    ] Checking for system updates...
[2026-10-20 10:24:01,810.810 INFO    ] 200
[2026-10-20 10:24:01,813.813 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:24:01,915.915 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:24:01,918.918 INFO    ] No update needed
[2026-10-20 10:24:01,921.921 INFO    ] Checking for camera pi updates...
[2026-10-20 10:24:01,959.959 INFO    ] 200
[2026-10-20 10:24:01,962.962 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:24:02,011.011 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:24:02,052.052 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:24:02,055.055 INFO    ] No camera update needed
[2026-10-20 10:24:02,058.058 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:24:02,061.061 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:24:02,067.067 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:24:02,074.074 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:24:04,117.117 INFO    ] ================================================
[2026-10-20 10:24:04,133.133 INFO    ] Launching Daemon at Tue Oct 20 10:24:04 IST 2026
[2026-10-20 10:24:04,144.144 INFO    ] ================================================
[2026-10-20 10:24:04,709.709 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:24:04
[2026-10-20 10:24:05,292.292 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:24:05,559.559 INFO    ] Initializing speech engine...
[2026-10-20 10:24:05,568.568 INFO    ] 2026-10-20 10:24:05
[2026-10-20 10:24:05,828.828 INFO    ] 2026-10-20 10:24:05
[2026-10-20 10:24:05,862.862 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:24:06,115.115 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:24:06,124.124 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:24:06,341.341 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:24:06,385.385 INFO    ] time= 20/10/2026 10:24:06
[2026-10-20 10:24:06,390.390 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:24:06,407.407 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:24:06,535.535 INFO    ] No existing commands found in stream
[2026-10-20 10:24:11,550.550 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:24:11,553.553 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-10-20 10:24:14,085.085 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:24:14,087.087 INFO    ] Checking for system updates...
[2026-10-20 10:24:14,123.123 INFO    ] 200
[2026-10-20 10:24:14,126.126 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:24:14,180.180 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:24:14,183.183 INFO    ] No update needed
[2026-10-20 10:24:14,186.186 INFO    ] Checking for camera pi updates...
[2026-10-20 10:24:14,220.220 INFO    ] 200
[2026-10-20 10:24:14,223.223 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:24:14,267.267 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:24:14,312.312 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:24:14,315.315 INFO    ] No camera update needed
[2026-10-20 10:24:14,318.318 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:24:14,320.320 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:24:14,326.326 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:24:14,332.332 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:24:16,373.373 INFO    ] ================================================
[2026-10-20 10:24:16,389.389 INFO    ] Launching Daemon at Tue Oct 20 10:24:16 IST 2026
[2026-10-20 10:24:16,399.399 INFO    ] ================================================
[2026-10-20 10:24:16,983.983 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:24:16
[2026-10-20 10:24:17,583.583 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:24:17,861.861 INFO    ] Initializing speech engine...
[2026-10-20 10:24:17,868.868 INFO    ] 2026-10-20 10:24:17
[2026-10-20 10:24:18,129.129 INFO    ] 2026-10-20 10:24:18
[2026-10-20 10:24:18,183.183 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:24:18,469.469 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:24:18,475.475 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:24:18,669.669 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:24:18,676.676 INFO    ] time= 20/10/2026 10:24:18
[2026-10-20 10:24:18,694.694 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:24:18,722.722 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:24:18,839.839 INFO    ] No existing commands found in stream
[2026-10-20 10:24:23,863.863 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:24:23,866.866 INFO    ] Waiting 3.88 seconds before fallback handling...
[2026-10-20 10:24:28,251.251 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 10:24:28,254.254 INFO    ] Checking for system updates...
[2026-10-20 10:24:28,291.291 INFO    ] 200
[2026-10-20 10:24:28,294.294 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:24:28,346.346 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:24:28,349.349 INFO    ] No update needed
[2026-10-20 10:24:28,352.352 INFO    ] Checking for camera pi updates...
[2026-10-20 10:24:28,386.386 INFO    ] 200
[2026-10-20 10:24:28,389.389 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:24:28,430.430 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:24:28,482.482 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:24:28,485.485 INFO    ] No camera update needed
[2026-10-20 10:24:28,487.487 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:24:28,490.490 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:24:28,496.496 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:24:28,502.502 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:24:30,541.541 INFO    ] ================================================
[2026-10-20 10:24:30,557.557 INFO    ] Launching Daemon at Tue Oct 20 10:24:30 IST 2026
[2026-10-20 10:24:30,567.567 INFO    ] ================================================
[2026-10-20 10:24:31,192.192 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:24:31
[2026-10-20 10:24:31,796.796 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:24:32,082.082 INFO    ] Initializing speech engine...
[2026-10-20 10:24:32,092.092 INFO    ] 2026-10-20 10:24:32
[2026-10-20 10:24:32,369.369 INFO    ] 2026-10-20 10:24:32
[2026-10-20 10:24:32,404.404 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:24:32,613.613 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:24:32,628.628 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:24:32,807.807 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:24:32,814.814 INFO    ] time= 20/10/2026 10:24:32
[2026-10-20 10:24:32,837.837 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:24:32,886.886 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:24:33,022.022 INFO    ] No existing commands found in stream
[2026-10-20 10:24:38,032.032 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:24:38,035.035 INFO    ] Waiting 3.70 seconds before fallback handling...
[2026-10-20 10:24:42,325.325 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:24:42,327.327 INFO    ] Checking for system updates...
[2026-10-20 10:24:42,366.366 INFO    ] 200
[2026-10-20 10:24:42,368.368 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:24:42,420.420 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:24:42,422.422 INFO    ] No update needed
[2026-10-20 10:24:42,425.425 INFO    ] Checking for camera pi updates...
[2026-10-20 10:24:42,458.458 INFO    ] 200
[2026-10-20 10:24:42,461.461 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:24:42,501.501 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:24:42,551.551 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:24:42,553.553 INFO    ] No camera update needed
[2026-10-20 10:24:42,556.556 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:24:42,558.558 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:24:42,564.564 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:24:42,569.569 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:24:44,608.608 INFO    ] ================================================
[2026-10-20 10:24:44,626.626 INFO    ] Launching Daemon at Tue Oct 20 10:24:44 IST 2026
[2026-10-20 10:24:44,637.637 INFO    ] ================================================
[2026-10-20 10:24:45,288.288 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:24:45
[2026-10-20 10:24:45,961.961 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:24:46,255.255 INFO    ] Initializing speech engine...
[2026-10-20 10:24:46,262.262 INFO    ] 2026-10-20 10:24:46
[2026-10-20 10:24:46,520.520 INFO    ] 2026-10-20 10:24:46
[2026-10-20 10:24:46,571.571 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:24:46,800.800 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:24:46,809.809 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:24:46,942.942 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:24:47,013.013 INFO    ] time= 20/10/2026 10:24:46
[2026-10-20 10:24:47,069.069 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:24:47,076.076 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:24:47,244.244 INFO    ] No existing commands found in stream
[2026-10-20 10:24:52,275.275 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:24:52,277.277 INFO    ] Waiting 0.02 seconds before fallback handling...
[2026-10-20 10:24:52,851.851 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:24:52,854.854 INFO    ] Checking for system updates...
[2026-10-20 10:24:52,890.890 INFO    ] 200
[2026-10-20 10:24:52,892.892 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:24:52,944.944 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:24:52,946.946 INFO    ] No update needed
[2026-10-20 10:24:52,949.949 INFO    ] Checking for camera pi updates...
[2026-10-20 10:24:52,983.983 INFO    ] 200
[2026-10-20 10:24:52,985.985 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:24:53,025.025 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:24:53,067.067 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:24:53,070.070 INFO    ] No camera update needed
[2026-10-20 10:24:53,072.072 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:24:53,074.074 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:24:53,080.080 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:24:53,084.084 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:24:55,123.123 INFO    ] ================================================
[2026-10-20 10:24:55,138.138 INFO    ] Launching Daemon at Tue Oct 20 10:24:55 IST 2026
[2026-10-20 10:24:55,149.149 INFO    ] ================================================
[2026-10-20 10:24:55,786.786 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:24:55
[2026-10-20 10:24:56,419.419 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:24:56,688.688 INFO    ] Initializing speech engine...
[2026-10-20 10:24:56,697.697 INFO    ] 2026-10-20 10:24:56
[2026-10-20 10:24:56,942.942 INFO    ] 2026-10-20 10:24:56
[2026-10-20 10:24:56,982.982 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:24:57,172.172 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:24:57,229.229 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:24:57,365.365 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:24:57,413.413 INFO    ] time= 20/10/2026 10:24:57
[2026-10-20 10:24:57,467.467 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:24:57,499.499 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:24:57,631.631 INFO    ] No existing commands found in stream
[2026-10-20 10:25:02,651.651 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:25:02,654.654 INFO    ] Waiting 3.65 seconds before fallback handling...
[2026-10-20 10:25:06,843.843 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 10:25:06,845.845 INFO    ] Checking for system updates...
[2026-10-20 10:25:06,883.883 INFO    ] 200
[2026-10-20 10:25:06,886.886 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:25:06,937.937 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:25:06,940.940 INFO    ] No update needed
[2026-10-20 10:25:06,942.942 INFO    ] Checking for camera pi updates...
[2026-10-20 10:25:06,976.976 INFO    ] 200
[2026-10-20 10:25:06,978.978 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:25:07,018.018 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:25:07,054.054 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:25:07,056.056 INFO    ] No camera update needed
[2026-10-20 10:25:07,059.059 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:25:07,062.062 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:25:07,067.067 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:25:07,072.072 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:25:09,113.113 INFO    ] ================================================
[2026-10-20 10:25:09,128.128 INFO    ] Launching Daemon at Tue Oct 20 10:25:09 IST 2026
[2026-10-20 10:25:09,139.139 INFO    ] ================================================
[2026-10-20 10:25:09,785.785 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:25:09
[2026-10-20 10:25:10,448.448 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:25:10,750.750 INFO    ] Initializing speech engine...
[2026-10-20 10:25:10,764.764 INFO    ] 2026-10-20 10:25:10
[2026-10-20 10:25:11,068.068 INFO    ] 2026-10-20 10:25:11
[2026-10-20 10:25:11,157.157 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:25:11,371.371 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:25:11,378.378 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:25:11,569.569 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:25:11,576.576 INFO    ] time= 20/10/2026 10:25:11
[2026-10-20 10:25:11,594.594 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:25:11,622.622 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:25:11,753.753 INFO    ] No existing commands found in stream
[2026-10-20 10:25:16,784.784 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:25:16,787.787 INFO    ] Waiting 0.57 seconds before fallback handling...
[2026-10-20 10:25:17,875.875 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:25:17,877.877 INFO    ] Checking for system updates...
[2026-10-20 10:25:17,915.915 INFO    ] 200
[2026-10-20 10:25:17,918.918 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:25:17,971.971 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:25:17,974.974 INFO    ] No update needed
[2026-10-20 10:25:17,977.977 INFO    ] Checking for camera pi updates...
[2026-10-20 10:25:18,012.012 INFO    ] 200
[2026-10-20 10:25:18,014.014 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:25:18,056.056 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:25:18,099.099 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:25:18,102.102 INFO    ] No camera update needed
[2026-10-20 10:25:18,105.105 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:25:18,107.107 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:25:18,114.114 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:25:18,119.119 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:25:20,159.159 INFO    ] ================================================
[2026-10-20 10:25:20,174.174 INFO    ] Launching Daemon at Tue Oct 20 10:25:20 IST 2026
[2026-10-20 10:25:20,185.185 INFO    ] ================================================
[2026-10-20 10:25:20,758.758 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:25:20
[2026-10-20 10:25:21,347.347 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:25:21,617.617 INFO    ] Initializing speech engine...
[2026-10-20 10:25:21,626.626 INFO    ] 2026-10-20 10:25:21
[2026-10-20 10:25:21,873.873 INFO    ] 2026-10-20 10:25:21
[2026-10-20 10:25:21,908.908 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:25:22,164.164 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:25:22,169.169 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:25:22,368.368 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:25:22,423.423 INFO    ] time= 20/10/2026 10:25:22
[2026-10-20 10:25:22,434.434 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:25:22,452.452 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:25:22,580.580 INFO    ] No existing commands found in stream
[2026-10-20 10:25:27,594.594 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:25:27,596.596 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-10-20 10:25:33,618.618 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:25:33,621.621 INFO    ] Checking for system updates...
[2026-10-20 10:25:33,657.657 INFO    ] 200
[2026-10-20 10:25:33,660.660 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:25:33,712.712 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:25:33,715.715 INFO    ] No update needed
[2026-10-20 10:25:33,717.717 INFO    ] Checking for camera pi updates...
[2026-10-20 10:25:33,751.751 INFO    ] 200
[2026-10-20 10:25:33,753.753 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:25:33,794.794 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:25:33,840.840 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:25:33,843.843 INFO    ] No camera update needed
[2026-10-20 10:25:33,845.845 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:25:33,847.847 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:25:33,853.853 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:25:33,858.858 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:25:35,898.898 INFO    ] ================================================
[2026-10-20 10:25:35,913.913 INFO    ] Launching Daemon at Tue Oct 20 10:25:35 IST 2026
[2026-10-20 10:25:35,923.923 INFO    ] ================================================
[2026-10-20 10:25:36,544.544 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:25:36
[2026-10-20 10:25:37,131.131 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:25:37,399.399 INFO    ] Initializing speech engine...
[2026-10-20 10:25:37,408.408 INFO    ] 2026-10-20 10:25:37
[2026-10-20 10:25:37,654.654 INFO    ] 2026-10-20 10:25:37
[2026-10-20 10:25:37,688.688 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:25:37,943.943 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:25:37,947.947 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:25:38,097.097 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:25:38,162.162 INFO    ] time= 20/10/2026 10:25:38
[2026-10-20 10:25:38,206.206 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:25:38,216.216 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:25:38,341.341 INFO    ] No existing commands found in stream
[2026-10-20 10:25:43,371.371 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:25:43,374.374 INFO    ] Waiting 1.11 seconds before fallback handling...
[2026-10-20 10:25:45,012.012 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:25:45,015.015 INFO    ] Checking for system updates...
[2026-10-20 10:25:45,057.057 INFO    ] 200
[2026-10-20 10:25:45,060.060 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:25:45,119.119 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:25:45,122.122 INFO    ] No update needed
[2026-10-20 10:25:45,125.125 INFO    ] Checking for camera pi updates...
[2026-10-20 10:25:45,159.159 INFO    ] 200
[2026-10-20 10:25:45,162.162 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:25:45,202.202 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:25:45,251.251 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:25:45,253.253 INFO    ] No camera update needed
[2026-10-20 10:25:45,255.255 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:25:45,257.257 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:25:45,263.263 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:25:45,268.268 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:25:47,309.309 INFO    ] ================================================
[2026-10-20 10:25:47,324.324 INFO    ] Launching Daemon at Tue Oct 20 10:25:47 IST 2026
[2026-10-20 10:25:47,334.334 INFO    ] ================================================
[2026-10-20 10:25:47,899.899 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:25:47
[2026-10-20 10:25:48,481.481 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:25:48,747.747 INFO    ] Initializing speech engine...
[2026-10-20 10:25:48,756.756 INFO    ] 2026-10-20 10:25:48
[2026-10-20 10:25:49,014.014 INFO    ] 2026-10-20 10:25:49
[2026-10-20 10:25:49,066.066 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:25:49,292.292 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:25:49,296.296 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:25:49,507.507 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:25:49,553.553 INFO    ] time= 20/10/2026 10:25:49
[2026-10-20 10:25:49,559.559 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:25:49,576.576 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:25:49,704.704 INFO    ] No existing commands found in stream
[2026-10-20 10:25:54,719.719 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:25:54,722.722 INFO    ] Waiting 3.80 seconds before fallback handling...
[2026-10-20 10:25:59,024.024 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:25:59,027.027 INFO    ] Checking for system updates...
[2026-10-20 10:25:59,062.062 INFO    ] 200
[2026-10-20 10:25:59,064.064 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:25:59,117.117 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:25:59,120.120 INFO    ] No update needed
[2026-10-20 10:25:59,122.122 INFO    ] Checking for camera pi updates...
[2026-10-20 10:25:59,155.155 INFO    ] 200
[2026-10-20 10:25:59,157.157 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:25:59,204.204 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:25:59,248.248 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:25:59,251.251 INFO    ] No camera update needed
[2026-10-20 10:25:59,253.253 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:25:59,255.255 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:25:59,260.260 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:25:59,265.265 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:26:01,306.306 INFO    ] ================================================
[2026-10-20 10:26:01,321.321 INFO    ] Launching Daemon at Tue Oct 20 10:26:01 IST 2026
[2026-10-20 10:26:01,332.332 INFO    ] ================================================
[2026-10-20 10:26:02,023.023 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:26:02
[2026-10-20 10:26:02,673.673 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:26:02,990.990 INFO    ] Initializing speech engine...
[2026-10-20 10:26:03,012.012 INFO    ] 2026-10-20 10:26:02
[2026-10-20 10:26:03,337.337 INFO    ] 2026-10-20 10:26:03
[2026-10-20 10:26:03,387.387 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:26:03,595.595 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:26:03,604.604 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:26:03,799.799 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:26:03,854.854 INFO    ] time= 20/10/2026 10:26:03
[2026-10-20 10:26:03,924.924 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:26:03,934.934 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:26:04,081.081 INFO    ] No existing commands found in stream
[2026-10-20 10:26:09,101.101 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:26:09,104.104 INFO    ] Waiting 2.69 seconds before fallback handling...
[2026-10-20 10:26:12,291.291 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:26:12,295.295 INFO    ] Checking for system updates...
[2026-10-20 10:26:12,332.332 INFO    ] 200
[2026-10-20 10:26:12,335.335 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:26:12,386.386 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:26:12,389.389 INFO    ] No update needed
[2026-10-20 10:26:12,391.391 INFO    ] Checking for camera pi updates...
[2026-10-20 10:26:12,432.432 INFO    ] 200
[2026-10-20 10:26:12,434.434 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:26:12,479.479 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:26:12,523.523 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:26:12,525.525 INFO    ] No camera update needed
[2026-10-20 10:26:12,528.528 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:26:12,530.530 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:26:12,535.535 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:26:12,540.540 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:26:14,581.581 INFO    ] ================================================
[2026-10-20 10:26:14,596.596 INFO    ] Launching Daemon at Tue Oct 20 10:26:14 IST 2026
[2026-10-20 10:26:14,607.607 INFO    ] ================================================
[2026-10-20 10:26:15,245.245 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:26:15
[2026-10-20 10:26:15,902.902 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:26:16,201.201 INFO    ] Initializing speech engine...
[2026-10-20 10:26:16,214.214 INFO    ] 2026-10-20 10:26:16
[2026-10-20 10:26:16,524.524 INFO    ] 2026-10-20 10:26:16
[2026-10-20 10:26:16,603.603 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:26:16,759.759 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:26:16,764.764 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:26:16,973.973 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:26:17,019.019 INFO    ] time= 20/10/2026 10:26:16
[2026-10-20 10:26:17,026.026 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:26:17,044.044 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:26:17,153.153 INFO    ] No existing commands found in stream
[2026-10-20 10:26:22,180.180 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:26:22,183.183 INFO    ] Waiting 0.22 seconds before fallback handling...
[2026-10-20 10:26:22,881.881 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:26:22,884.884 INFO    ] Checking for system updates...
[2026-10-20 10:26:22,920.920 INFO    ] 200
[2026-10-20 10:26:22,922.922 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:26:22,980.980 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:26:22,983.983 INFO    ] No update needed
[2026-10-20 10:26:22,985.985 INFO    ] Checking for camera pi updates...
[2026-10-20 10:26:23,019.019 INFO    ] 200
[2026-10-20 10:26:23,021.021 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:26:23,065.065 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:26:23,112.112 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:26:23,114.114 INFO    ] No camera update needed
[2026-10-20 10:26:23,117.117 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:26:23,119.119 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:26:23,125.125 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:26:23,130.130 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:26:25,172.172 INFO    ] ================================================
[2026-10-20 10:26:25,186.186 INFO    ] Launching Daemon at Tue Oct 20 10:26:25 IST 2026
[2026-10-20 10:26:25,197.197 INFO    ] ================================================
[2026-10-20 10:26:25,838.838 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:26:25
[2026-10-20 10:26:26,498.498 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:26:26,781.781 INFO    ] Initializing speech engine...
[2026-10-20 10:26:26,786.786 INFO    ] 2026-10-20 10:26:26
[2026-10-20 10:26:27,053.053 INFO    ] 2026-10-20 10:26:27
[2026-10-20 10:26:27,082.082 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:26:27,333.333 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:26:27,342.342 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:26:27,476.476 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:26:27,519.519 INFO    ] time= 20/10/2026 10:26:27
[2026-10-20 10:26:27,573.573 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:26:27,613.613 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:26:27,765.765 INFO    ] No existing commands found in stream
[2026-10-20 10:26:32,780.780 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:26:32,783.783 INFO    ] Waiting 0.77 seconds before fallback handling...
[2026-10-20 10:26:34,011.011 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:26:34,014.014 INFO    ] Checking for system updates...
[2026-10-20 10:26:34,049.049 INFO    ] 200
[2026-10-20 10:26:34,052.052 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:26:34,104.104 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:26:34,106.106 INFO    ] No update needed
[2026-10-20 10:26:34,109.109 INFO    ] Checking for camera pi updates...
[2026-10-20 10:26:34,143.143 INFO    ] 200
[2026-10-20 10:26:34,145.145 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:26:34,185.185 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:26:34,240.240 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:26:34,243.243 INFO    ] No camera update needed
[2026-10-20 10:26:34,245.245 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:26:34,247.247 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:26:34,252.252 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:26:34,257.257 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:26:36,297.297 INFO    ] ================================================
[2026-10-20 10:26:36,312.312 INFO    ] Launching Daemon at Tue Oct 20 10:26:36 IST 2026
[2026-10-20 10:26:36,323.323 INFO    ] ================================================
[2026-10-20 10:26:36,935.935 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:26:36
[2026-10-20 10:26:37,530.530 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:26:37,788.788 INFO    ] Initializing speech engine...
[2026-10-20 10:26:37,807.807 INFO    ] 2026-10-20 10:26:37
[2026-10-20 10:26:38,058.058 INFO    ] 2026-10-20 10:26:38
[2026-10-20 10:26:38,094.094 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:26:38,342.342 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:26:38,346.346 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:26:38,567.567 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:26:38,604.604 INFO    ] time= 20/10/2026 10:26:38
[2026-10-20 10:26:38,610.610 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:26:38,627.627 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:26:38,758.758 INFO    ] No existing commands found in stream
[2026-10-20 10:26:43,770.770 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:26:43,773.773 INFO    ] Waiting 0.78 seconds before fallback handling...
[2026-10-20 10:26:45,059.059 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:26:45,061.061 INFO    ] Checking for system updates...
[2026-10-20 10:26:45,096.096 INFO    ] 200
[2026-10-20 10:26:45,099.099 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:26:45,151.151 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:26:45,154.154 INFO    ] No update needed
[2026-10-20 10:26:45,156.156 INFO    ] Checking for camera pi updates...
[2026-10-20 10:26:45,190.190 INFO    ] 200
[2026-10-20 10:26:45,192.192 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:26:45,233.233 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:26:45,283.283 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:26:45,286.286 INFO    ] No camera update needed
[2026-10-20 10:26:45,288.288 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:26:45,290.290 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:26:45,295.295 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:26:45,300.300 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:26:47,340.340 INFO    ] ================================================
[2026-10-20 10:26:47,354.354 INFO    ] Launching Daemon at Tue Oct 20 10:26:47 IST 2026
[2026-10-20 10:26:47,365.365 INFO    ] ================================================
[2026-10-20 10:26:47,928.928 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:26:47
[2026-10-20 10:26:48,511.511 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:26:48,779.779 INFO    ] Initializing speech engine...
[2026-10-20 10:26:48,788.788 INFO    ] 2026-10-20 10:26:48
[2026-10-20 10:26:49,032.032 INFO    ] 2026-10-20 10:26:49
[2026-10-20 10:26:49,068.068 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:26:49,319.319 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:26:49,328.328 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:26:49,551.551 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:26:49,588.588 INFO    ] time= 20/10/2026 10:26:49
[2026-10-20 10:26:49,594.594 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:26:49,611.611 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:26:49,745.745 INFO    ] No existing commands found in stream
[2026-10-20 10:26:54,767.767 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:26:54,770.770 INFO    ] Waiting 1.60 seconds before fallback handling...
[2026-10-20 10:26:56,876.876 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 10:26:56,879.879 INFO    ] Checking for system updates...
[2026-10-20 10:26:56,914.914 INFO    ] 200
[2026-10-20 10:26:56,917.917 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:26:56,978.978 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:26:56,980.980 INFO    ] No update needed
[2026-10-20 10:26:56,983.983 INFO    ] Checking for camera pi updates...
[2026-10-20 10:26:57,019.019 INFO    ] 200
[2026-10-20 10:26:57,021.021 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:26:57,061.061 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:26:57,109.109 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:26:57,112.112 INFO    ] No camera update needed
[2026-10-20 10:26:57,114.114 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:26:57,116.116 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:26:57,122.122 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:26:57,127.127 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:26:59,169.169 INFO    ] ================================================
[2026-10-20 10:26:59,183.183 INFO    ] Launching Daemon at Tue Oct 20 10:26:59 IST 2026
[2026-10-20 10:26:59,194.194 INFO    ] ================================================
[2026-10-20 10:26:59,758.758 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:26:59
[2026-10-20 10:27:00,339.339 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:27:00,591.591 INFO    ] Initializing speech engine...
[2026-10-20 10:27:00,607.607 INFO    ] 2026-10-20 10:27:00
[2026-10-20 10:27:00,891.891 INFO    ] 2026-10-20 10:27:00
[2026-10-20 10:27:00,926.926 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:27:01,144.144 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:27:01,151.151 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:27:01,295.295 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:27:01,300.300 INFO    ] time= 20/10/2026 10:27:01
[2026-10-20 10:27:01,307.307 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:27:01,329.329 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:27:01,442.442 INFO    ] No existing commands found in stream
[2026-10-20 10:27:06,462.462 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:27:06,465.465 INFO    ] Waiting 0.45 seconds before fallback handling...
[2026-10-20 10:27:07,394.394 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:27:07,397.397 INFO    ] Checking for system updates...
[2026-10-20 10:27:07,431.431 INFO    ] 200
[2026-10-20 10:27:07,434.434 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:27:07,489.489 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:27:07,491.491 INFO    ] No update needed
[2026-10-20 10:27:07,494.494 INFO    ] Checking for camera pi updates...
[2026-10-20 10:27:07,527.527 INFO    ] 200
[2026-10-20 10:27:07,530.530 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:27:07,571.571 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:27:07,622.622 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:27:07,625.625 INFO    ] No camera update needed
[2026-10-20 10:27:07,628.628 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:27:07,630.630 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:27:07,636.636 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:27:07,642.642 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:27:09,681.681 INFO    ] ================================================
[2026-10-20 10:27:09,696.696 INFO    ] Launching Daemon at Tue Oct 20 10:27:09 IST 2026
[2026-10-20 10:27:09,707.707 INFO    ] ================================================
[2026-10-20 10:27:10,294.294 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:27:10
[2026-10-20 10:27:10,893.893 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:27:11,156.156 INFO    ] Initializing speech engine...
[2026-10-20 10:27:11,170.170 INFO    ] 2026-10-20 10:27:11
[2026-10-20 10:27:11,425.425 INFO    ] 2026-10-20 10:27:11
[2026-10-20 10:27:11,460.460 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:27:11,718.718 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:27:11,724.724 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:27:11,919.919 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:27:11,974.974 INFO    ] time= 20/10/2026 10:27:11
[2026-10-20 10:27:11,989.989 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:27:12,004.004 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:27:12,140.140 INFO    ] No existing commands found in stream
[2026-10-20 10:27:17,173.173 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:27:17,175.175 INFO    ] Waiting 1.03 seconds before fallback handling...
[2026-10-20 10:27:18,690.690 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 10:27:18,692.692 INFO    ] Checking for system updates...
[2026-10-20 10:27:18,731.731 INFO    ] 200
[2026-10-20 10:27:18,733.733 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:27:18,786.786 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:27:18,788.788 INFO    ] No update needed
[2026-10-20 10:27:18,791.791 INFO    ] Checking for camera pi updates...
[2026-10-20 10:27:18,829.829 INFO    ] 200
[2026-10-20 10:27:18,831.831 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:27:18,876.876 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:27:19,021.021 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:27:19,023.023 INFO    ] No camera update needed
[2026-10-20 10:27:19,026.026 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:27:19,028.028 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:27:19,034.034 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:27:19,039.039 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:27:21,079.079 INFO    ] ================================================
[2026-10-20 10:27:21,094.094 INFO    ] Launching Daemon at Tue Oct 20 10:27:21 IST 2026
[2026-10-20 10:27:21,104.104 INFO    ] ================================================
[2026-10-20 10:27:21,723.723 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:27:21
[2026-10-20 10:27:22,322.322 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:27:22,591.591 INFO    ] Initializing speech engine...
[2026-10-20 10:27:22,600.600 INFO    ] 2026-10-20 10:27:22
[2026-10-20 10:27:22,849.849 INFO    ] 2026-10-20 10:27:22
[2026-10-20 10:27:22,884.884 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:27:23,141.141 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:27:23,151.151 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:27:23,289.289 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:27:23,330.330 INFO    ] time= 20/10/2026 10:27:23
[2026-10-20 10:27:23,384.384 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:27:23,426.426 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:27:23,557.557 INFO    ] No existing commands found in stream
[2026-10-20 10:27:28,588.588 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:27:28,591.591 INFO    ] Waiting 0.79 seconds before fallback handling...
[2026-10-20 10:27:29,919.919 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:27:29,922.922 INFO    ] Checking for system updates...
[2026-10-20 10:27:29,958.958 INFO    ] 200
[2026-10-20 10:27:29,961.961 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:27:30,020.020 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:27:30,023.023 INFO    ] No update needed
[2026-10-20 10:27:30,025.025 INFO    ] Checking for camera pi updates...
[2026-10-20 10:27:30,059.059 INFO    ] 200
[2026-10-20 10:27:30,062.062 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:27:30,102.102 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:27:30,148.148 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:27:30,151.151 INFO    ] No camera update needed
[2026-10-20 10:27:30,153.153 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:27:30,156.156 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:27:30,162.162 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:27:30,168.168 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:27:32,211.211 INFO    ] ================================================
[2026-10-20 10:27:32,227.227 INFO    ] Launching Daemon at Tue Oct 20 10:27:32 IST 2026
[2026-10-20 10:27:32,239.239 INFO    ] ================================================
[2026-10-20 10:27:32,936.936 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:27:32
[2026-10-20 10:27:33,602.602 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:27:33,894.894 INFO    ] Initializing speech engine...
[2026-10-20 10:27:33,900.900 INFO    ] 2026-10-20 10:27:33
[2026-10-20 10:27:34,145.145 INFO    ] 2026-10-20 10:27:34
[2026-10-20 10:27:34,181.181 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:27:34,441.441 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:27:34,450.450 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:27:34,668.668 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:27:34,713.713 INFO    ] time= 20/10/2026 10:27:34
[2026-10-20 10:27:34,720.720 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:27:34,737.737 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:27:34,877.877 INFO    ] No existing commands found in stream
[2026-10-20 10:27:39,902.902 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:27:39,905.905 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-10-20 10:27:43,876.876 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:27:43,879.879 INFO    ] Checking for system updates...
[2026-10-20 10:27:43,914.914 INFO    ] 200
[2026-10-20 10:27:43,917.917 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:27:43,968.968 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:27:43,971.971 INFO    ] No update needed
[2026-10-20 10:27:43,974.974 INFO    ] Checking for camera pi updates...
[2026-10-20 10:27:44,007.007 INFO    ] 200
[2026-10-20 10:27:44,009.009 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:27:44,049.049 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:27:44,101.101 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:27:44,104.104 INFO    ] No camera update needed
[2026-10-20 10:27:44,106.106 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:27:44,108.108 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:27:44,113.113 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:27:44,118.118 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:27:46,157.157 INFO    ] ================================================
[2026-10-20 10:27:46,172.172 INFO    ] Launching Daemon at Tue Oct 20 10:27:46 IST 2026
[2026-10-20 10:27:46,182.182 INFO    ] ================================================
[2026-10-20 10:27:46,756.756 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:27:46
[2026-10-20 10:27:47,338.338 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:27:47,609.609 INFO    ] Initializing speech engine...
[2026-10-20 10:27:47,618.618 INFO    ] 2026-10-20 10:27:47
[2026-10-20 10:27:47,865.865 INFO    ] 2026-10-20 10:27:47
[2026-10-20 10:27:47,900.900 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:27:48,101.101 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:27:48,160.160 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:27:48,305.305 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:27:48,359.359 INFO    ] time= 20/10/2026 10:27:48
[2026-10-20 10:27:48,429.429 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:27:48,442.442 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:27:48,589.589 INFO    ] No existing commands found in stream
[2026-10-20 10:27:53,603.603 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:27:53,606.606 INFO    ] Waiting 2.23 seconds before fallback handling...
[2026-10-20 10:27:56,343.343 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:27:56,346.346 INFO    ] Checking for system updates...
[2026-10-20 10:27:56,381.381 INFO    ] 200
[2026-10-20 10:27:56,384.384 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:27:56,441.441 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:27:56,444.444 INFO    ] No update needed
[2026-10-20 10:27:56,446.446 INFO    ] Checking for camera pi updates...
[2026-10-20 10:27:56,479.479 INFO    ] 200
[2026-10-20 10:27:56,482.482 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:27:56,521.521 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:27:56,576.576 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:27:56,578.578 INFO    ] No camera update needed
[2026-10-20 10:27:56,581.581 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:27:56,583.583 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:27:56,588.588 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:27:56,593.593 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:27:58,632.632 INFO    ] ================================================
[2026-10-20 10:27:58,646.646 INFO    ] Launching Daemon at Tue Oct 20 10:27:58 IST 2026
[2026-10-20 10:27:58,657.657 INFO    ] ================================================
[2026-10-20 10:27:59,302.302 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:27:59
[2026-10-20 10:27:59,969.969 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:28:00,270.270 INFO    ] Initializing speech engine...
[2026-10-20 10:28:00,288.288 INFO    ] 2026-10-20 10:28:00
[2026-10-20 10:28:00,572.572 INFO    ] 2026-10-20 10:28:00
[2026-10-20 10:28:00,659.659 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:28:00,866.866 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:28:00,875.875 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:28:01,051.051 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:28:01,075.075 INFO    ] time= 20/10/2026 10:28:01
[2026-10-20 10:28:01,090.090 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:28:01,097.097 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:28:01,227.227 INFO    ] No existing commands found in stream
[2026-10-20 10:28:06,239.239 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:28:06,242.242 INFO    ] Waiting 1.73 seconds before fallback handling...
[2026-10-20 10:28:08,486.486 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:28:08,489.489 INFO    ] Checking for system updates...
[2026-10-20 10:28:08,524.524 INFO    ] 200
[2026-10-20 10:28:08,527.527 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:28:08,579.579 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:28:08,581.581 INFO    ] No update needed
[2026-10-20 10:28:08,584.584 INFO    ] Checking for camera pi updates...
[2026-10-20 10:28:08,618.618 INFO    ] 200
[2026-10-20 10:28:08,620.620 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:28:08,670.670 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:28:08,720.720 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:28:08,722.722 INFO    ] No camera update needed
[2026-10-20 10:28:08,724.724 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:28:08,726.726 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:28:08,732.732 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:28:08,737.737 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:28:10,776.776 INFO    ] ================================================
[2026-10-20 10:28:10,791.791 INFO    ] Launching Daemon at Tue Oct 20 10:28:10 IST 2026
[2026-10-20 10:28:10,801.801 INFO    ] ================================================
[2026-10-20 10:28:11,448.448 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:28:11
[2026-10-20 10:28:12,048.048 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:28:12,320.320 INFO    ] Initializing speech engine...
[2026-10-20 10:28:12,338.338 INFO    ] 2026-10-20 10:28:12
[2026-10-20 10:28:12,615.615 INFO    ] 2026-10-20 10:28:12
[2026-10-20 10:28:12,653.653 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:28:12,855.855 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:28:12,868.868 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:28:13,037.037 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:28:13,043.043 INFO    ] time= 20/10/2026 10:28:13
[2026-10-20 10:28:13,050.050 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:28:13,092.092 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:28:13,242.242 INFO    ] No existing commands found in stream
[2026-10-20 10:28:18,263.263 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:28:18,265.265 INFO    ] Waiting 0.20 seconds before fallback handling...
[2026-10-20 10:28:18,971.971 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:28:18,974.974 INFO    ] Checking for system updates...
[2026-10-20 10:28:19,013.013 INFO    ] 200
[2026-10-20 10:28:19,016.016 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:28:19,067.067 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:28:19,070.070 INFO    ] No update needed
[2026-10-20 10:28:19,072.072 INFO    ] Checking for camera pi updates...
[2026-10-20 10:28:19,106.106 INFO    ] 200
[2026-10-20 10:28:19,109.109 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:28:19,150.150 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:28:19,200.200 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:28:19,203.203 INFO    ] No camera update needed
[2026-10-20 10:28:19,205.205 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:28:19,207.207 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:28:19,213.213 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:28:19,218.218 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:28:21,258.258 INFO    ] ================================================
[2026-10-20 10:28:21,273.273 INFO    ] Launching Daemon at Tue Oct 20 10:28:21 IST 2026
[2026-10-20 10:28:21,284.284 INFO    ] ================================================
[2026-10-20 10:28:21,850.850 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:28:21
[2026-10-20 10:28:22,476.476 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:28:22,781.781 INFO    ] Initializing speech engine...
[2026-10-20 10:28:22,795.795 INFO    ] 2026-10-20 10:28:22
[2026-10-20 10:28:23,080.080 INFO    ] 2026-10-20 10:28:23
[2026-10-20 10:28:23,126.126 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:28:23,360.360 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:28:23,384.384 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:28:23,607.607 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:28:23,632.632 INFO    ] time= 20/10/2026 10:28:23
[2026-10-20 10:28:23,652.652 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:28:23,684.684 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:28:23,804.804 INFO    ] No existing commands found in stream
[2026-10-20 10:28:28,834.834 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:28:28,838.838 INFO    ] Waiting 0.18 seconds before fallback handling...
[2026-10-20 10:28:29,537.537 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 10:28:29,540.540 INFO    ] Checking for system updates...
[2026-10-20 10:28:29,582.582 INFO    ] 200
[2026-10-20 10:28:29,585.585 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:28:29,643.643 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:28:29,646.646 INFO    ] No update needed
[2026-10-20 10:28:29,649.649 INFO    ] Checking for camera pi updates...
[2026-10-20 10:28:29,683.683 INFO    ] 200
[2026-10-20 10:28:29,686.686 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:28:29,732.732 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:28:29,781.781 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:28:29,784.784 INFO    ] No camera update needed
[2026-10-20 10:28:29,786.786 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:28:29,789.789 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:28:29,796.796 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:28:29,801.801 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:28:31,843.843 INFO    ] ================================================
[2026-10-20 10:28:31,859.859 INFO    ] Launching Daemon at Tue Oct 20 10:28:31 IST 2026
[2026-10-20 10:28:31,870.870 INFO    ] ================================================
[2026-10-20 10:28:32,485.485 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:28:32
[2026-10-20 10:28:33,113.113 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:28:33,425.425 INFO    ] Initializing speech engine...
[2026-10-20 10:28:33,434.434 INFO    ] 2026-10-20 10:28:33
[2026-10-20 10:28:33,718.718 INFO    ] 2026-10-20 10:28:33
[2026-10-20 10:28:33,762.762 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:28:34,019.019 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:28:34,055.055 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:28:34,253.253 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:28:34,263.263 INFO    ] time= 20/10/2026 10:28:34
[2026-10-20 10:28:34,281.281 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:28:34,288.288 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:28:34,421.421 INFO    ] No existing commands found in stream
[2026-10-20 10:28:39,445.445 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:28:39,453.453 INFO    ] Waiting 0.39 seconds before fallback handling...
[2026-10-20 10:28:40,395.395 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:28:40,398.398 INFO    ] Checking for system updates...
[2026-10-20 10:28:40,435.435 INFO    ] 200
[2026-10-20 10:28:40,438.438 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:28:40,490.490 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:28:40,492.492 INFO    ] No update needed
[2026-10-20 10:28:40,495.495 INFO    ] Checking for camera pi updates...
[2026-10-20 10:28:40,532.532 INFO    ] 200
[2026-10-20 10:28:40,534.534 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:28:40,574.574 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:28:40,623.623 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:28:40,626.626 INFO    ] No camera update needed
[2026-10-20 10:28:40,628.628 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:28:40,631.631 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:28:40,636.636 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:28:40,641.641 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:28:42,680.680 INFO    ] ================================================
[2026-10-20 10:28:42,696.696 INFO    ] Launching Daemon at Tue Oct 20 10:28:42 IST 2026
[2026-10-20 10:28:42,707.707 INFO    ] ================================================
[2026-10-20 10:28:43,280.280 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:28:43
[2026-10-20 10:28:43,861.861 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:28:44,111.111 INFO    ] Initializing speech engine...
[2026-10-20 10:28:44,124.124 INFO    ] 2026-10-20 10:28:44
[2026-10-20 10:28:44,389.389 INFO    ] 2026-10-20 10:28:44
[2026-10-20 10:28:44,423.423 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:28:44,625.625 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:28:44,684.684 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:28:44,901.901 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:28:44,953.953 INFO    ] time= 20/10/2026 10:28:44
[2026-10-20 10:28:44,960.960 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:28:44,977.977 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:28:45,112.112 INFO    ] No existing commands found in stream
[2026-10-20 10:28:50,126.126 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:28:50,130.130 INFO    ] Waiting 2.39 seconds before fallback handling...
[2026-10-20 10:28:53,021.021 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:28:53,024.024 INFO    ] Checking for system updates...
[2026-10-20 10:28:53,061.061 INFO    ] 200
[2026-10-20 10:28:53,063.063 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:28:53,127.127 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:28:53,129.129 INFO    ] No update needed
[2026-10-20 10:28:53,132.132 INFO    ] Checking for camera pi updates...
[2026-10-20 10:28:53,165.165 INFO    ] 200
[2026-10-20 10:28:53,167.167 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:28:53,213.213 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:28:53,259.259 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:28:53,261.261 INFO    ] No camera update needed
[2026-10-20 10:28:53,264.264 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:28:53,266.266 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:28:53,271.271 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:28:53,276.276 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:28:55,316.316 INFO    ] ================================================
[2026-10-20 10:28:55,336.336 INFO    ] Launching Daemon at Tue Oct 20 10:28:55 IST 2026
[2026-10-20 10:28:55,346.346 INFO    ] ================================================
[2026-10-20 10:28:55,927.927 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:28:55
[2026-10-20 10:28:56,546.546 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:28:56,847.847 INFO    ] Initializing speech engine...
[2026-10-20 10:28:56,856.856 INFO    ] 2026-10-20 10:28:56
[2026-10-20 10:28:57,117.117 INFO    ] 2026-10-20 10:28:57
[2026-10-20 10:28:57,172.172 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:28:57,402.402 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:28:57,407.407 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:28:57,620.620 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:28:57,669.669 INFO    ] time= 20/10/2026 10:28:57
[2026-10-20 10:28:57,676.676 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:28:57,694.694 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:28:57,838.838 INFO    ] No existing commands found in stream
[2026-10-20 10:29:02,870.870 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:29:02,873.873 INFO    ] Waiting 1.30 seconds before fallback handling...
[2026-10-20 10:29:04,660.660 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:29:04,663.663 INFO    ] Checking for system updates...
[2026-10-20 10:29:04,699.699 INFO    ] 200
[2026-10-20 10:29:04,701.701 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:29:04,753.753 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:29:04,755.755 INFO    ] No update needed
[2026-10-20 10:29:04,757.757 INFO    ] Checking for camera pi updates...
[2026-10-20 10:29:04,791.791 INFO    ] 200
[2026-10-20 10:29:04,793.793 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:29:04,833.833 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:29:04,877.877 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:29:04,880.880 INFO    ] No camera update needed
[2026-10-20 10:29:04,882.882 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:29:04,884.884 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:29:04,890.890 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:29:04,895.895 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:29:06,935.935 INFO    ] ================================================
[2026-10-20 10:29:06,955.955 INFO    ] Launching Daemon at Tue Oct 20 10:29:06 IST 2026
[2026-10-20 10:29:06,966.966 INFO    ] ================================================
[2026-10-20 10:29:07,545.545 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:29:07
[2026-10-20 10:29:08,142.142 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:29:08,413.413 INFO    ] Initializing speech engine...
[2026-10-20 10:29:08,423.423 INFO    ] 2026-10-20 10:29:08
[2026-10-20 10:29:08,669.669 INFO    ] 2026-10-20 10:29:08
[2026-10-20 10:29:08,704.704 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:29:08,959.959 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:29:08,964.964 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:29:09,102.102 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:29:09,158.158 INFO    ] time= 20/10/2026 10:29:09
[2026-10-20 10:29:09,222.222 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:29:09,231.231 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:29:09,379.379 INFO    ] No existing commands found in stream
[2026-10-20 10:29:14,401.401 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:29:14,404.404 INFO    ] Waiting 3.97 seconds before fallback handling...
[2026-10-20 10:29:18,873.873 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:29:18,876.876 INFO    ] Checking for system updates...
[2026-10-20 10:29:18,916.916 INFO    ] 200
[2026-10-20 10:29:18,919.919 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:29:18,976.976 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:29:18,978.978 INFO    ] No update needed
[2026-10-20 10:29:18,981.981 INFO    ] Checking for camera pi updates...
[2026-10-20 10:29:19,014.014 INFO    ] 200
[2026-10-20 10:29:19,016.016 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:29:19,060.060 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:29:19,106.106 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:29:19,108.108 INFO    ] No camera update needed
[2026-10-20 10:29:19,111.111 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:29:19,113.113 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:29:19,119.119 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:29:19,124.124 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:29:21,163.163 INFO    ] ================================================
[2026-10-20 10:29:21,179.179 INFO    ] Launching Daemon at Tue Oct 20 10:29:21 IST 2026
[2026-10-20 10:29:21,190.190 INFO    ] ================================================
[2026-10-20 10:29:21,754.754 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:29:21
[2026-10-20 10:29:22,336.336 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:29:22,583.583 INFO    ] Initializing speech engine...
[2026-10-20 10:29:22,591.591 INFO    ] 2026-10-20 10:29:22
[2026-10-20 10:29:22,864.864 INFO    ] 2026-10-20 10:29:22
[2026-10-20 10:29:22,898.898 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:29:23,154.154 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:29:23,164.164 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:29:23,356.356 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:29:23,411.411 INFO    ] time= 20/10/2026 10:29:23
[2026-10-20 10:29:23,430.430 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:29:23,435.435 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:29:23,577.577 INFO    ] No existing commands found in stream
[2026-10-20 10:29:28,594.594 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:29:28,597.597 INFO    ] Waiting 0.53 seconds before fallback handling...
[2026-10-20 10:29:29,607.607 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:29:29,610.610 INFO    ] Checking for system updates...
[2026-10-20 10:29:29,649.649 INFO    ] 200
[2026-10-20 10:29:29,651.651 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:29:29,703.703 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:29:29,706.706 INFO    ] No update needed
[2026-10-20 10:29:29,709.709 INFO    ] Checking for camera pi updates...
[2026-10-20 10:29:29,742.742 INFO    ] 200
[2026-10-20 10:29:29,744.744 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:29:29,784.784 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:29:29,830.830 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:29:29,832.832 INFO    ] No camera update needed
[2026-10-20 10:29:29,835.835 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:29:29,837.837 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:29:29,842.842 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:29:29,847.847 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:29:31,887.887 INFO    ] ================================================
[2026-10-20 10:29:31,902.902 INFO    ] Launching Daemon at Tue Oct 20 10:29:31 IST 2026
[2026-10-20 10:29:31,912.912 INFO    ] ================================================
[2026-10-20 10:29:32,516.516 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:29:32
[2026-10-20 10:29:33,133.133 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:29:33,407.407 INFO    ] Initializing speech engine...
[2026-10-20 10:29:33,420.420 INFO    ] 2026-10-20 10:29:33
[2026-10-20 10:29:33,685.685 INFO    ] 2026-10-20 10:29:33
[2026-10-20 10:29:33,720.720 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:29:33,972.972 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:29:33,981.981 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:29:34,197.197 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:29:34,241.241 INFO    ] time= 20/10/2026 10:29:34
[2026-10-20 10:29:34,247.247 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:29:34,265.265 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:29:34,396.396 INFO    ] No existing commands found in stream
[2026-10-20 10:29:39,420.420 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:29:39,422.422 INFO    ] Waiting 1.39 seconds before fallback handling...
[2026-10-20 10:29:41,323.323 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:29:41,325.325 INFO    ] Checking for system updates...
[2026-10-20 10:29:41,369.369 INFO    ] 200
[2026-10-20 10:29:41,371.371 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:29:41,428.428 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:29:41,431.431 INFO    ] No update needed
[2026-10-20 10:29:41,434.434 INFO    ] Checking for camera pi updates...
[2026-10-20 10:29:41,468.468 INFO    ] 200
[2026-10-20 10:29:41,470.470 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:29:41,511.511 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:29:41,565.565 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:29:41,567.567 INFO    ] No camera update needed
[2026-10-20 10:29:41,569.569 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:29:41,572.572 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:29:41,577.577 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:29:41,582.582 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:29:43,620.620 INFO    ] ================================================
[2026-10-20 10:29:43,635.635 INFO    ] Launching Daemon at Tue Oct 20 10:29:43 IST 2026
[2026-10-20 10:29:43,646.646 INFO    ] ================================================
[2026-10-20 10:29:44,236.236 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:29:44
[2026-10-20 10:29:44,818.818 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:29:45,087.087 INFO    ] Initializing speech engine...
[2026-10-20 10:29:45,096.096 INFO    ] 2026-10-20 10:29:45
[2026-10-20 10:29:45,356.356 INFO    ] 2026-10-20 10:29:45
[2026-10-20 10:29:45,385.385 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:29:45,634.634 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:29:45,639.639 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:29:45,842.842 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:29:45,893.893 INFO    ] time= 20/10/2026 10:29:45
[2026-10-20 10:29:45,899.899 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:29:45,916.916 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:29:46,071.071 INFO    ] No existing commands found in stream
[2026-10-20 10:29:51,101.101 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:29:51,104.104 INFO    ] Waiting 3.91 seconds before fallback handling...
[2026-10-20 10:29:55,518.518 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:29:55,521.521 INFO    ] Checking for system updates...
[2026-10-20 10:29:55,557.557 INFO    ] 200
[2026-10-20 10:29:55,560.560 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:29:55,617.617 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:29:55,620.620 INFO    ] No update needed
[2026-10-20 10:29:55,622.622 INFO    ] Checking for camera pi updates...
[2026-10-20 10:29:55,659.659 INFO    ] 200
[2026-10-20 10:29:55,661.661 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:29:55,701.701 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:29:55,757.757 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:29:55,760.760 INFO    ] No camera update needed
[2026-10-20 10:29:55,763.763 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:29:55,766.766 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:29:55,771.771 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:29:55,776.776 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:29:57,819.819 INFO    ] ================================================
[2026-10-20 10:29:57,834.834 INFO    ] Launching Daemon at Tue Oct 20 10:29:57 IST 2026
[2026-10-20 10:29:57,844.844 INFO    ] ================================================
[2026-10-20 10:29:58,449.449 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:29:58
[2026-10-20 10:29:59,110.110 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:29:59,412.412 INFO    ] Initializing speech engine...
[2026-10-20 10:29:59,420.420 INFO    ] 2026-10-20 10:29:59
[2026-10-20 10:29:59,735.735 INFO    ] 2026-10-20 10:29:59
[2026-10-20 10:29:59,826.826 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:30:00,043.043 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:30:00,052.052 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:30:00,246.246 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:30:00,253.253 INFO    ] time= 20/10/2026 10:30:00
[2026-10-20 10:30:00,275.275 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:30:00,301.301 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:30:00,416.416 INFO    ] No existing commands found in stream
[2026-10-20 10:30:05,441.441 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:30:05,444.444 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-10-20 10:30:09,364.364 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:30:09,368.368 INFO    ] Checking for system updates...
[2026-10-20 10:30:09,417.417 INFO    ] 200
[2026-10-20 10:30:09,419.419 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:30:09,478.478 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:30:09,481.481 INFO    ] No update needed
[2026-10-20 10:30:09,483.483 INFO    ] Checking for camera pi updates...
[2026-10-20 10:30:09,521.521 INFO    ] 200
[2026-10-20 10:30:09,523.523 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:30:09,563.563 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:30:09,617.617 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:30:09,620.620 INFO    ] No camera update needed
[2026-10-20 10:30:09,622.622 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:30:09,625.625 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:30:09,630.630 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:30:09,635.635 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:30:11,674.674 INFO    ] ================================================
[2026-10-20 10:30:11,689.689 INFO    ] Launching Daemon at Tue Oct 20 10:30:11 IST 2026
[2026-10-20 10:30:11,700.700 INFO    ] ================================================
[2026-10-20 10:30:12,360.360 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:30:12
[2026-10-20 10:30:13,041.041 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:30:13,346.346 INFO    ] Initializing speech engine...
[2026-10-20 10:30:13,361.361 INFO    ] 2026-10-20 10:30:13
[2026-10-20 10:30:13,640.640 INFO    ] 2026-10-20 10:30:13
[2026-10-20 10:30:13,686.686 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:30:13,913.913 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:30:13,919.919 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:30:14,149.149 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:30:14,180.180 INFO    ] time= 20/10/2026 10:30:14
[2026-10-20 10:30:14,186.186 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:30:14,207.207 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:30:14,338.338 INFO    ] No existing commands found in stream
[2026-10-20 10:30:19,353.353 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:30:19,356.356 INFO    ] Waiting 0.39 seconds before fallback handling...
[2026-10-20 10:30:20,278.278 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:30:20,281.281 INFO    ] Checking for system updates...
[2026-10-20 10:30:20,318.318 INFO    ] 200
[2026-10-20 10:30:20,321.321 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:30:20,374.374 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:30:20,377.377 INFO    ] No update needed
[2026-10-20 10:30:20,380.380 INFO    ] Checking for camera pi updates...
[2026-10-20 10:30:20,417.417 INFO    ] 200
[2026-10-20 10:30:20,419.419 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:30:20,464.464 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:30:20,511.511 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:30:20,514.514 INFO    ] No camera update needed
[2026-10-20 10:30:20,516.516 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:30:20,518.518 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:30:20,524.524 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:30:20,529.529 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:30:22,568.568 INFO    ] ================================================
[2026-10-20 10:30:22,584.584 INFO    ] Launching Daemon at Tue Oct 20 10:30:22 IST 2026
[2026-10-20 10:30:22,594.594 INFO    ] ================================================
[2026-10-20 10:30:23,184.184 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:30:23
[2026-10-20 10:30:23,783.783 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:30:24,061.061 INFO    ] Initializing speech engine...
[2026-10-20 10:30:24,068.068 INFO    ] 2026-10-20 10:30:24
[2026-10-20 10:30:24,328.328 INFO    ] 2026-10-20 10:30:24
[2026-10-20 10:30:24,358.358 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:30:24,602.602 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:30:24,611.611 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:30:24,746.746 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:30:24,805.805 INFO    ] time= 20/10/2026 10:30:24
[2026-10-20 10:30:24,860.860 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:30:24,876.876 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:30:25,025.025 INFO    ] No existing commands found in stream
[2026-10-20 10:30:30,045.045 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:30:30,048.048 INFO    ] Waiting 0.93 seconds before fallback handling...
[2026-10-20 10:30:31,534.534 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:30:31,537.537 INFO    ] Checking for system updates...
[2026-10-20 10:30:31,583.583 INFO    ] 200
[2026-10-20 10:30:31,585.585 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:30:31,650.650 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:30:31,653.653 INFO    ] No update needed
[2026-10-20 10:30:31,656.656 INFO    ] Checking for camera pi updates...
[2026-10-20 10:30:31,696.696 INFO    ] 200
[2026-10-20 10:30:31,699.699 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:30:31,749.749 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:30:31,805.805 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:30:31,808.808 INFO    ] No camera update needed
[2026-10-20 10:30:31,811.811 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:30:31,814.814 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:30:31,820.820 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:30:31,826.826 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:30:33,868.868 INFO    ] ================================================
[2026-10-20 10:30:33,883.883 INFO    ] Launching Daemon at Tue Oct 20 10:30:33 IST 2026
[2026-10-20 10:30:33,894.894 INFO    ] ================================================
[2026-10-20 10:30:34,458.458 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:30:34
[2026-10-20 10:30:35,041.041 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:30:35,301.301 INFO    ] Initializing speech engine...
[2026-10-20 10:30:35,320.320 INFO    ] 2026-10-20 10:30:35
[2026-10-20 10:30:35,571.571 INFO    ] 2026-10-20 10:30:35
[2026-10-20 10:30:35,606.606 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:30:35,809.809 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:30:35,868.868 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:30:36,013.013 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:30:36,067.067 INFO    ] time= 20/10/2026 10:30:36
[2026-10-20 10:30:36,121.121 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:30:36,148.148 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:30:36,276.276 INFO    ] No existing commands found in stream
[2026-10-20 10:30:41,307.307 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:30:41,310.310 INFO    ] Waiting 1.95 seconds before fallback handling...
[2026-10-20 10:30:43,785.785 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:30:43,788.788 INFO    ] Checking for system updates...
[2026-10-20 10:30:43,836.836 INFO    ] 200
[2026-10-20 10:30:43,839.839 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:30:43,904.904 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:30:43,906.906 INFO    ] No update needed
[2026-10-20 10:30:43,909.909 INFO    ] Checking for camera pi updates...
[2026-10-20 10:30:43,944.944 INFO    ] 200
[2026-10-20 10:30:43,947.947 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:30:43,995.995 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:30:44,042.042 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:30:44,044.044 INFO    ] No camera update needed
[2026-10-20 10:30:44,047.047 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:30:44,050.050 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:30:44,056.056 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:30:44,061.061 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:30:46,102.102 INFO    ] ================================================
[2026-10-20 10:30:46,117.117 INFO    ] Launching Daemon at Tue Oct 20 10:30:46 IST 2026
[2026-10-20 10:30:46,128.128 INFO    ] ================================================
[2026-10-20 10:30:46,721.721 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:30:46
[2026-10-20 10:30:47,312.312 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:30:47,606.606 INFO    ] Initializing speech engine...
[2026-10-20 10:30:47,621.621 INFO    ] 2026-10-20 10:30:47
[2026-10-20 10:30:47,879.879 INFO    ] 2026-10-20 10:30:47
[2026-10-20 10:30:47,923.923 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:30:48,168.168 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:30:48,177.177 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:30:48,313.313 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:30:48,379.379 INFO    ] time= 20/10/2026 10:30:48
[2026-10-20 10:30:48,441.441 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:30:48,448.448 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:30:48,591.591 INFO    ] No existing commands found in stream
[2026-10-20 10:30:53,606.606 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:30:53,609.609 INFO    ] Waiting 0.79 seconds before fallback handling...
[2026-10-20 10:30:54,937.937 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:30:54,940.940 INFO    ] Checking for system updates...
[2026-10-20 10:30:54,977.977 INFO    ] 200
[2026-10-20 10:30:54,980.980 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:30:55,041.041 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:30:55,044.044 INFO    ] No update needed
[2026-10-20 10:30:55,047.047 INFO    ] Checking for camera pi updates...
[2026-10-20 10:30:55,085.085 INFO    ] 200
[2026-10-20 10:30:55,088.088 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:30:55,136.136 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:30:55,195.195 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:30:55,198.198 INFO    ] No camera update needed
[2026-10-20 10:30:55,201.201 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:30:55,204.204 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:30:55,210.210 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:30:55,216.216 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:30:57,257.257 INFO    ] ================================================
[2026-10-20 10:30:57,272.272 INFO    ] Launching Daemon at Tue Oct 20 10:30:57 IST 2026
[2026-10-20 10:30:57,283.283 INFO    ] ================================================
[2026-10-20 10:30:57,946.946 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:30:57
[2026-10-20 10:30:58,626.626 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:30:58,946.946 INFO    ] Initializing speech engine...
[2026-10-20 10:30:58,955.955 INFO    ] 2026-10-20 10:30:58
[2026-10-20 10:30:59,262.262 INFO    ] 2026-10-20 10:30:59
[2026-10-20 10:30:59,350.350 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:30:59,552.552 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:30:59,571.571 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:30:59,769.769 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:30:59,789.789 INFO    ] time= 20/10/2026 10:30:59
[2026-10-20 10:30:59,798.798 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:30:59,826.826 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:30:59,962.962 INFO    ] No existing commands found in stream
[2026-10-20 10:31:04,988.988 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:31:04,992.992 INFO    ] Waiting 2.32 seconds before fallback handling...
[2026-10-20 10:31:07,801.801 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 10:31:07,804.804 INFO    ] Checking for system updates...
[2026-10-20 10:31:07,845.845 INFO    ] 200
[2026-10-20 10:31:07,848.848 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:31:07,916.916 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:31:07,918.918 INFO    ] No update needed
[2026-10-20 10:31:07,921.921 INFO    ] Checking for camera pi updates...
[2026-10-20 10:31:07,955.955 INFO    ] 200
[2026-10-20 10:31:07,957.957 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:31:08,003.003 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:31:08,054.054 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:31:08,057.057 INFO    ] No camera update needed
[2026-10-20 10:31:08,060.060 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:31:08,062.062 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:31:08,067.067 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:31:08,072.072 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:31:10,112.112 INFO    ] ================================================
[2026-10-20 10:31:10,127.127 INFO    ] Launching Daemon at Tue Oct 20 10:31:10 IST 2026
[2026-10-20 10:31:10,137.137 INFO    ] ================================================
[2026-10-20 10:31:10,707.707 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:31:10
[2026-10-20 10:31:11,288.288 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:31:11,556.556 INFO    ] Initializing speech engine...
[2026-10-20 10:31:11,564.564 INFO    ] 2026-10-20 10:31:11
[2026-10-20 10:31:11,835.835 INFO    ] 2026-10-20 10:31:11
[2026-10-20 10:31:11,870.870 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:31:12,065.065 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:31:12,079.079 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:31:12,242.242 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:31:12,248.248 INFO    ] time= 20/10/2026 10:31:12
[2026-10-20 10:31:12,255.255 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:31:12,260.260 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:31:12,386.386 INFO    ] No existing commands found in stream
[2026-10-20 10:31:17,411.411 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:31:17,413.413 INFO    ] Waiting 3.47 seconds before fallback handling...
[2026-10-20 10:31:21,429.429 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:31:21,432.432 INFO    ] Checking for system updates...
[2026-10-20 10:31:21,472.472 INFO    ] 200
[2026-10-20 10:31:21,474.474 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:31:21,526.526 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:31:21,528.528 INFO    ] No update needed
[2026-10-20 10:31:21,531.531 INFO    ] Checking for camera pi updates...
[2026-10-20 10:31:21,567.567 INFO    ] 200
[2026-10-20 10:31:21,569.569 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:31:21,610.610 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:31:21,663.663 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:31:21,666.666 INFO    ] No camera update needed
[2026-10-20 10:31:21,668.668 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:31:21,670.670 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:31:21,676.676 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:31:21,681.681 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:31:23,720.720 INFO    ] ================================================
[2026-10-20 10:31:23,735.735 INFO    ] Launching Daemon at Tue Oct 20 10:31:23 IST 2026
[2026-10-20 10:31:23,746.746 INFO    ] ================================================
[2026-10-20 10:31:24,332.332 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:31:24
[2026-10-20 10:31:24,929.929 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:31:25,199.199 INFO    ] Initializing speech engine...
[2026-10-20 10:31:25,208.208 INFO    ] 2026-10-20 10:31:25
[2026-10-20 10:31:25,467.467 INFO    ] 2026-10-20 10:31:25
[2026-10-20 10:31:25,497.497 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:31:25,742.742 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:31:25,751.751 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:31:25,946.946 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:31:26,001.001 INFO    ] time= 20/10/2026 10:31:25
[2026-10-20 10:31:26,016.016 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:31:26,031.031 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:31:26,183.183 INFO    ] No existing commands found in stream
[2026-10-20 10:31:31,211.211 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:31:31,214.214 INFO    ] Waiting 3.68 seconds before fallback handling...
[2026-10-20 10:31:35,435.435 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:31:35,437.437 INFO    ] Checking for system updates...
[2026-10-20 10:31:35,473.473 INFO    ] 200
[2026-10-20 10:31:35,475.475 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:31:35,534.534 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:31:35,537.537 INFO    ] No update needed
[2026-10-20 10:31:35,539.539 INFO    ] Checking for camera pi updates...
[2026-10-20 10:31:35,573.573 INFO    ] 200
[2026-10-20 10:31:35,575.575 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:31:35,620.620 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:31:35,654.654 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:31:35,657.657 INFO    ] No camera update needed
[2026-10-20 10:31:35,659.659 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:31:35,661.661 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:31:35,667.667 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:31:35,672.672 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:31:37,712.712 INFO    ] ================================================
[2026-10-20 10:31:37,727.727 INFO    ] Launching Daemon at Tue Oct 20 10:31:37 IST 2026
[2026-10-20 10:31:37,738.738 INFO    ] ================================================
[2026-10-20 10:31:38,305.305 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:31:38
[2026-10-20 10:31:38,891.891 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:31:39,146.146 INFO    ] Initializing speech engine...
[2026-10-20 10:31:39,162.162 INFO    ] 2026-10-20 10:31:39
[2026-10-20 10:31:39,444.444 INFO    ] 2026-10-20 10:31:39
[2026-10-20 10:31:39,481.481 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:31:39,701.701 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:31:39,708.708 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:31:39,910.910 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:31:39,927.927 INFO    ] time= 20/10/2026 10:31:39
[2026-10-20 10:31:39,954.954 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:31:40,003.003 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:31:40,127.127 INFO    ] No existing commands found in stream
[2026-10-20 10:31:45,138.138 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:31:45,141.141 INFO    ] Waiting 1.68 seconds before fallback handling...
[2026-10-20 10:31:47,344.344 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:31:47,347.347 INFO    ] Checking for system updates...
[2026-10-20 10:31:47,382.382 INFO    ] 200
[2026-10-20 10:31:47,384.384 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:31:47,436.436 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:31:47,438.438 INFO    ] No update needed
[2026-10-20 10:31:47,441.441 INFO    ] Checking for camera pi updates...
[2026-10-20 10:31:47,477.477 INFO    ] 200
[2026-10-20 10:31:47,480.480 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:31:47,524.524 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:31:47,579.579 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:31:47,581.581 INFO    ] No camera update needed
[2026-10-20 10:31:47,584.584 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:31:47,586.586 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:31:47,591.591 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:31:47,596.596 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:31:49,636.636 INFO    ] ================================================
[2026-10-20 10:31:49,651.651 INFO    ] Launching Daemon at Tue Oct 20 10:31:49 IST 2026
[2026-10-20 10:31:49,661.661 INFO    ] ================================================
[2026-10-20 10:31:50,230.230 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:31:50
[2026-10-20 10:31:50,814.814 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:31:51,084.084 INFO    ] Initializing speech engine...
[2026-10-20 10:31:51,090.090 INFO    ] 2026-10-20 10:31:51
[2026-10-20 10:31:51,334.334 INFO    ] 2026-10-20 10:31:51
[2026-10-20 10:31:51,374.374 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:31:51,619.619 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:31:51,628.628 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:31:51,825.825 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:31:51,886.886 INFO    ] time= 20/10/2026 10:31:51
[2026-10-20 10:31:51,893.893 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:31:51,910.910 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:31:52,061.061 INFO    ] No existing commands found in stream
[2026-10-20 10:31:57,091.091 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:31:57,094.094 INFO    ] Waiting 3.28 seconds before fallback handling...
[2026-10-20 10:32:00,895.895 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:32:00,897.897 INFO    ] Checking for system updates...
[2026-10-20 10:32:00,932.932 INFO    ] 200
[2026-10-20 10:32:00,935.935 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:32:00,987.987 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:32:00,990.990 INFO    ] No update needed
[2026-10-20 10:32:00,992.992 INFO    ] Checking for camera pi updates...
[2026-10-20 10:32:01,026.026 INFO    ] 200
[2026-10-20 10:32:01,028.028 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:32:01,091.091 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:32:01,153.153 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:32:01,158.158 INFO    ] No camera update needed
[2026-10-20 10:32:01,172.172 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:32:01,176.176 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:32:01,187.187 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:32:01,197.197 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:32:03,245.245 INFO    ] ================================================
[2026-10-20 10:32:03,260.260 INFO    ] Launching Daemon at Tue Oct 20 10:32:03 IST 2026
[2026-10-20 10:32:03,271.271 INFO    ] ================================================
[2026-10-20 10:32:03,838.838 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:32:03
[2026-10-20 10:32:04,423.423 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:32:04,701.701 INFO    ] Initializing speech engine...
[2026-10-20 10:32:04,716.716 INFO    ] 2026-10-20 10:32:04
[2026-10-20 10:32:05,006.006 INFO    ] 2026-10-20 10:32:04
[2026-10-20 10:32:05,046.046 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:32:05,311.311 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:32:05,317.317 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:32:05,539.539 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:32:05,581.581 INFO    ] time= 20/10/2026 10:32:05
[2026-10-20 10:32:05,599.599 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:32:05,608.608 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:32:05,755.755 INFO    ] No existing commands found in stream
[2026-10-20 10:32:10,782.782 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:32:10,785.785 INFO    ] Waiting 2.12 seconds before fallback handling...
[2026-10-20 10:32:13,441.441 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:32:13,444.444 INFO    ] Checking for system updates...
[2026-10-20 10:32:13,483.483 INFO    ] 200
[2026-10-20 10:32:13,486.486 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:32:13,543.543 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:32:13,546.546 INFO    ] No update needed
[2026-10-20 10:32:13,548.548 INFO    ] Checking for camera pi updates...
[2026-10-20 10:32:13,582.582 INFO    ] 200
[2026-10-20 10:32:13,585.585 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:32:13,625.625 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:32:13,674.674 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:32:13,677.677 INFO    ] No camera update needed
[2026-10-20 10:32:13,680.680 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:32:13,683.683 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:32:13,688.688 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:32:13,694.694 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:32:15,733.733 INFO    ] ================================================
[2026-10-20 10:32:15,748.748 INFO    ] Launching Daemon at Tue Oct 20 10:32:15 IST 2026
[2026-10-20 10:32:15,758.758 INFO    ] ================================================
[2026-10-20 10:32:16,386.386 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:32:16
[2026-10-20 10:32:17,034.034 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:32:17,330.330 INFO    ] Initializing speech engine...
[2026-10-20 10:32:17,342.342 INFO    ] 2026-10-20 10:32:17
[2026-10-20 10:32:17,624.624 INFO    ] 2026-10-20 10:32:17
[2026-10-20 10:32:17,733.733 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:32:17,946.946 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:32:17,953.953 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:32:18,148.148 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:32:18,164.164 INFO    ] time= 20/10/2026 10:32:18
[2026-10-20 10:32:18,189.189 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:32:18,204.204 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:32:18,325.325 INFO    ] No existing commands found in stream
[2026-10-20 10:32:23,356.356 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:32:23,359.359 INFO    ] Waiting 2.76 seconds before fallback handling...
[2026-10-20 10:32:26,610.610 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 10:32:26,613.613 INFO    ] Checking for system updates...
[2026-10-20 10:32:26,652.652 INFO    ] 200
[2026-10-20 10:32:26,654.654 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:32:26,716.716 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:32:26,719.719 INFO    ] No update needed
[2026-10-20 10:32:26,722.722 INFO    ] Checking for camera pi updates...
[2026-10-20 10:32:26,757.757 INFO    ] 200
[2026-10-20 10:32:26,760.760 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:32:26,801.801 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:32:26,848.848 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:32:26,851.851 INFO    ] No camera update needed
[2026-10-20 10:32:26,853.853 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:32:26,856.856 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:32:26,862.862 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:32:26,867.867 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:32:28,908.908 INFO    ] ================================================
[2026-10-20 10:32:28,923.923 INFO    ] Launching Daemon at Tue Oct 20 10:32:28 IST 2026
[2026-10-20 10:32:28,940.940 INFO    ] ================================================
[2026-10-20 10:32:29,510.510 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:32:29
[2026-10-20 10:32:30,099.099 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:32:30,358.358 INFO    ] Initializing speech engine...
[2026-10-20 10:32:30,383.383 INFO    ] 2026-10-20 10:32:30
[2026-10-20 10:32:30,653.653 INFO    ] 2026-10-20 10:32:30
[2026-10-20 10:32:30,691.691 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:32:30,967.967 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:32:30,982.982 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:32:31,196.196 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:32:31,250.250 INFO    ] time= 20/10/2026 10:32:31
[2026-10-20 10:32:31,286.286 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:32:31,302.302 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:32:31,451.451 INFO    ] No existing commands found in stream
[2026-10-20 10:32:36,465.465 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:32:36,468.468 INFO    ] Waiting 0.34 seconds before fallback handling...
[2026-10-20 10:32:37,307.307 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:32:37,310.310 INFO    ] Checking for system updates...
[2026-10-20 10:32:37,345.345 INFO    ] 200
[2026-10-20 10:32:37,348.348 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:32:37,406.406 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:32:37,409.409 INFO    ] No update needed
[2026-10-20 10:32:37,412.412 INFO    ] Checking for camera pi updates...
[2026-10-20 10:32:37,449.449 INFO    ] 200
[2026-10-20 10:32:37,452.452 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:32:37,493.493 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:32:37,545.545 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:32:37,548.548 INFO    ] No camera update needed
[2026-10-20 10:32:37,551.551 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:32:37,553.553 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:32:37,559.559 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:32:37,565.565 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:32:39,605.605 INFO    ] ================================================
[2026-10-20 10:32:39,620.620 INFO    ] Launching Daemon at Tue Oct 20 10:32:39 IST 2026
[2026-10-20 10:32:39,631.631 INFO    ] ================================================
[2026-10-20 10:32:40,212.212 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:32:40
[2026-10-20 10:32:40,797.797 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:32:41,077.077 INFO    ] Initializing speech engine...
[2026-10-20 10:32:41,088.088 INFO    ] 2026-10-20 10:32:41
[2026-10-20 10:32:41,348.348 INFO    ] 2026-10-20 10:32:41
[2026-10-20 10:32:41,384.384 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:32:41,604.604 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:32:41,668.668 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:32:41,825.825 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:32:41,875.875 INFO    ] time= 20/10/2026 10:32:41
[2026-10-20 10:32:41,924.924 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:32:41,969.969 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:32:42,098.098 INFO    ] No existing commands found in stream
[2026-10-20 10:32:47,115.115 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:32:47,118.118 INFO    ] Waiting 0.63 seconds before fallback handling...
[2026-10-20 10:32:48,274.274 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:32:48,276.276 INFO    ] Checking for system updates...
[2026-10-20 10:32:48,330.330 INFO    ] 200
[2026-10-20 10:32:48,332.332 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:32:48,389.389 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:32:48,391.391 INFO    ] No update needed
[2026-10-20 10:32:48,394.394 INFO    ] Checking for camera pi updates...
[2026-10-20 10:32:48,427.427 INFO    ] 200
[2026-10-20 10:32:48,429.429 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:32:48,476.476 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:32:48,514.514 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:32:48,516.516 INFO    ] No camera update needed
[2026-10-20 10:32:48,519.519 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:32:48,522.522 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:32:48,527.527 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:32:48,532.532 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:32:50,571.571 INFO    ] ================================================
[2026-10-20 10:32:50,586.586 INFO    ] Launching Daemon at Tue Oct 20 10:32:50 IST 2026
[2026-10-20 10:32:50,603.603 INFO    ] ================================================
[2026-10-20 10:32:51,168.168 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:32:51
[2026-10-20 10:32:51,755.755 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:32:52,022.022 INFO    ] Initializing speech engine...
[2026-10-20 10:32:52,043.043 INFO    ] 2026-10-20 10:32:52
[2026-10-20 10:32:52,301.301 INFO    ] 2026-10-20 10:32:52
[2026-10-20 10:32:52,337.337 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:32:52,550.550 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:32:52,557.557 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:32:52,770.770 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:32:52,786.786 INFO    ] time= 20/10/2026 10:32:52
[2026-10-20 10:32:52,846.846 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:32:52,895.895 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:32:53,051.051 INFO    ] No existing commands found in stream
[2026-10-20 10:32:58,076.076 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:32:58,079.079 INFO    ] Waiting 2.86 seconds before fallback handling...
[2026-10-20 10:33:01,453.453 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 10:33:01,455.455 INFO    ] Checking for system updates...
[2026-10-20 10:33:01,491.491 INFO    ] 200
[2026-10-20 10:33:01,494.494 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:33:01,550.550 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:33:01,552.552 INFO    ] No update needed
[2026-10-20 10:33:01,555.555 INFO    ] Checking for camera pi updates...
[2026-10-20 10:33:01,587.587 INFO    ] 200
[2026-10-20 10:33:01,590.590 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:33:01,630.630 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:33:01,663.663 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:33:01,666.666 INFO    ] No camera update needed
[2026-10-20 10:33:01,669.669 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:33:01,671.671 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:33:01,677.677 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:33:01,683.683 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:33:03,726.726 INFO    ] ================================================
[2026-10-20 10:33:03,741.741 INFO    ] Launching Daemon at Tue Oct 20 10:33:03 IST 2026
[2026-10-20 10:33:03,753.753 INFO    ] ================================================
[2026-10-20 10:33:04,363.363 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:33:04
[2026-10-20 10:33:04,965.965 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:33:05,224.224 INFO    ] Initializing speech engine...
[2026-10-20 10:33:05,239.239 INFO    ] 2026-10-20 10:33:05
[2026-10-20 10:33:05,515.515 INFO    ] 2026-10-20 10:33:05
[2026-10-20 10:33:05,550.550 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:33:05,763.763 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:33:05,771.771 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:33:05,977.977 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:33:05,989.989 INFO    ] time= 20/10/2026 10:33:05
[2026-10-20 10:33:06,008.008 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:33:06,057.057 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:33:06,151.151 INFO    ] No existing commands found in stream
[2026-10-20 10:33:11,162.162 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:33:11,165.165 INFO    ] Waiting 3.95 seconds before fallback handling...
[2026-10-20 10:33:15,635.635 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:33:15,638.638 INFO    ] Checking for system updates...
[2026-10-20 10:33:15,673.673 INFO    ] 200
[2026-10-20 10:33:15,676.676 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:33:15,727.727 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:33:15,730.730 INFO    ] No update needed
[2026-10-20 10:33:15,733.733 INFO    ] Checking for camera pi updates...
[2026-10-20 10:33:15,766.766 INFO    ] 200
[2026-10-20 10:33:15,768.768 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:33:15,808.808 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:33:15,843.843 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:33:15,845.845 INFO    ] No camera update needed
[2026-10-20 10:33:15,852.852 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:33:15,855.855 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:33:15,860.860 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:33:15,865.865 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:33:17,904.904 INFO    ] ================================================
[2026-10-20 10:33:17,920.920 INFO    ] Launching Daemon at Tue Oct 20 10:33:17 IST 2026
[2026-10-20 10:33:17,931.931 INFO    ] ================================================
[2026-10-20 10:33:18,511.511 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:33:18
[2026-10-20 10:33:19,150.150 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:33:19,440.440 INFO    ] Initializing speech engine...
[2026-10-20 10:33:19,447.447 INFO    ] 2026-10-20 10:33:19
[2026-10-20 10:33:19,716.716 INFO    ] 2026-10-20 10:33:19
[2026-10-20 10:33:19,771.771 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:33:20,056.056 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:33:20,064.064 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:33:20,258.258 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:33:20,267.267 INFO    ] time= 20/10/2026 10:33:20
[2026-10-20 10:33:20,285.285 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:33:20,314.314 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:33:20,422.422 INFO    ] No existing commands found in stream
[2026-10-20 10:33:25,446.446 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:33:25,449.449 INFO    ] Waiting 3.26 seconds before fallback handling...
[2026-10-20 10:33:29,243.243 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:33:29,245.245 INFO    ] Checking for system updates...
[2026-10-20 10:33:29,285.285 INFO    ] 200
[2026-10-20 10:33:29,288.288 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:33:29,347.347 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:33:29,350.350 INFO    ] No update needed
[2026-10-20 10:33:29,353.353 INFO    ] Checking for camera pi updates...
[2026-10-20 10:33:29,388.388 INFO    ] 200
[2026-10-20 10:33:29,391.391 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:33:29,432.432 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:33:29,469.469 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:33:29,472.472 INFO    ] No camera update needed
[2026-10-20 10:33:29,474.474 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:33:29,477.477 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:33:29,483.483 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:33:29,489.489 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:33:31,530.530 INFO    ] ================================================
[2026-10-20 10:33:31,547.547 INFO    ] Launching Daemon at Tue Oct 20 10:33:31 IST 2026
[2026-10-20 10:33:31,558.558 INFO    ] ================================================
[2026-10-20 10:33:32,143.143 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:33:32
[2026-10-20 10:33:32,761.761 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:33:33,053.053 INFO    ] Initializing speech engine...
[2026-10-20 10:33:33,063.063 INFO    ] 2026-10-20 10:33:33
[2026-10-20 10:33:33,323.323 INFO    ] 2026-10-20 10:33:33
[2026-10-20 10:33:33,359.359 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:33:33,556.556 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:33:33,560.560 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:33:33,721.721 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:33:33,729.729 INFO    ] time= 20/10/2026 10:33:33
[2026-10-20 10:33:33,733.733 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:33:33,740.740 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:33:33,862.862 INFO    ] No existing commands found in stream
[2026-10-20 10:33:38,892.892 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:33:38,895.895 INFO    ] Waiting 1.05 seconds before fallback handling...
[2026-10-20 10:33:40,451.451 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 10:33:40,453.453 INFO    ] Checking for system updates...
[2026-10-20 10:33:40,489.489 INFO    ] 200
[2026-10-20 10:33:40,492.492 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:33:40,543.543 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:33:40,546.546 INFO    ] No update needed
[2026-10-20 10:33:40,548.548 INFO    ] Checking for camera pi updates...
[2026-10-20 10:33:40,581.581 INFO    ] 200
[2026-10-20 10:33:40,584.584 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:33:40,624.624 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:33:40,761.761 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:33:40,764.764 INFO    ] No camera update needed
[2026-10-20 10:33:40,766.766 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:33:40,770.770 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:33:40,776.776 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:33:40,782.782 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:33:42,823.823 INFO    ] ================================================
[2026-10-20 10:33:42,839.839 INFO    ] Launching Daemon at Tue Oct 20 10:33:42 IST 2026
[2026-10-20 10:33:42,850.850 INFO    ] ================================================
[2026-10-20 10:33:43,417.417 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:33:43
[2026-10-20 10:33:44,077.077 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:33:44,384.384 INFO    ] Initializing speech engine...
[2026-10-20 10:33:44,393.393 INFO    ] 2026-10-20 10:33:44
[2026-10-20 10:33:44,664.664 INFO    ] 2026-10-20 10:33:44
[2026-10-20 10:33:44,724.724 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:33:44,950.950 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:33:44,960.960 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:33:45,186.186 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:33:45,224.224 INFO    ] time= 20/10/2026 10:33:45
[2026-10-20 10:33:45,241.241 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:33:45,260.260 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:33:45,447.447 INFO    ] No existing commands found in stream
[2026-10-20 10:33:50,479.479 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:33:50,482.482 INFO    ] Waiting 1.72 seconds before fallback handling...
[2026-10-20 10:33:52,732.732 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:33:52,735.735 INFO    ] Checking for system updates...
[2026-10-20 10:33:52,773.773 INFO    ] 200
[2026-10-20 10:33:52,775.775 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:33:52,835.835 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:33:52,838.838 INFO    ] No update needed
[2026-10-20 10:33:52,841.841 INFO    ] Checking for camera pi updates...
[2026-10-20 10:33:52,875.875 INFO    ] 200
[2026-10-20 10:33:52,878.878 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:33:52,925.925 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:33:52,964.964 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:33:52,967.967 INFO    ] No camera update needed
[2026-10-20 10:33:52,970.970 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:33:52,973.973 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:33:52,979.979 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:33:52,985.985 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:33:55,026.026 INFO    ] ================================================
[2026-10-20 10:33:55,041.041 INFO    ] Launching Daemon at Tue Oct 20 10:33:55 IST 2026
[2026-10-20 10:33:55,052.052 INFO    ] ================================================
[2026-10-20 10:33:55,628.628 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:33:55
[2026-10-20 10:33:56,218.218 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:33:56,496.496 INFO    ] Initializing speech engine...
[2026-10-20 10:33:56,503.503 INFO    ] 2026-10-20 10:33:56
[2026-10-20 10:33:56,764.764 INFO    ] 2026-10-20 10:33:56
[2026-10-20 10:33:56,793.793 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:33:57,039.039 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:33:57,047.047 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:33:57,259.259 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:33:57,308.308 INFO    ] time= 20/10/2026 10:33:57
[2026-10-20 10:33:57,314.314 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:33:57,329.329 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:33:57,464.464 INFO    ] No existing commands found in stream
[2026-10-20 10:34:02,491.491 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:34:02,494.494 INFO    ] Waiting 1.96 seconds before fallback handling...
[2026-10-20 10:34:04,929.929 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:34:04,931.931 INFO    ] Checking for system updates...
[2026-10-20 10:34:04,966.966 INFO    ] 200
[2026-10-20 10:34:04,969.969 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:34:05,025.025 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:34:05,027.027 INFO    ] No update needed
[2026-10-20 10:34:05,030.030 INFO    ] Checking for camera pi updates...
[2026-10-20 10:34:05,063.063 INFO    ] 200
[2026-10-20 10:34:05,065.065 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:34:05,105.105 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:34:05,137.137 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:34:05,139.139 INFO    ] No camera update needed
[2026-10-20 10:34:05,142.142 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:34:05,144.144 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:34:05,149.149 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:34:05,154.154 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:34:07,194.194 INFO    ] ================================================
[2026-10-20 10:34:07,209.209 INFO    ] Launching Daemon at Tue Oct 20 10:34:07 IST 2026
[2026-10-20 10:34:07,220.220 INFO    ] ================================================
[2026-10-20 10:34:07,785.785 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:34:07
[2026-10-20 10:34:08,366.366 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:34:08,624.624 INFO    ] Initializing speech engine...
[2026-10-20 10:34:08,630.630 INFO    ] 2026-10-20 10:34:08
[2026-10-20 10:34:08,930.930 INFO    ] 2026-10-20 10:34:08
[2026-10-20 10:34:08,967.967 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:34:09,249.249 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:34:09,259.259 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:34:09,407.407 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:34:09,439.439 INFO    ] time= 20/10/2026 10:34:09
[2026-10-20 10:34:09,499.499 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:34:09,554.554 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:34:09,685.685 INFO    ] No existing commands found in stream
[2026-10-20 10:34:14,702.702 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:34:14,705.705 INFO    ] Waiting 0.22 seconds before fallback handling...
[2026-10-20 10:34:15,385.385 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:34:15,388.388 INFO    ] Checking for system updates...
[2026-10-20 10:34:15,423.423 INFO    ] 200
[2026-10-20 10:34:15,426.426 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:34:15,477.477 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:34:15,480.480 INFO    ] No update needed
[2026-10-20 10:34:15,482.482 INFO    ] Checking for camera pi updates...
[2026-10-20 10:34:15,515.515 INFO    ] 200
[2026-10-20 10:34:15,518.518 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:34:15,557.557 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:34:15,592.592 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:34:15,595.595 INFO    ] No camera update needed
[2026-10-20 10:34:15,598.598 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:34:15,600.600 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:34:15,606.606 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:34:15,611.611 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:34:17,651.651 INFO    ] ================================================
[2026-10-20 10:34:17,666.666 INFO    ] Launching Daemon at Tue Oct 20 10:34:17 IST 2026
[2026-10-20 10:34:17,676.676 INFO    ] ================================================
[2026-10-20 10:34:18,316.316 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:34:18
[2026-10-20 10:34:19,016.016 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:34:19,351.351 INFO    ] Initializing speech engine...
[2026-10-20 10:34:19,364.364 INFO    ] 2026-10-20 10:34:19
[2026-10-20 10:34:19,640.640 INFO    ] 2026-10-20 10:34:19
[2026-10-20 10:34:19,684.684 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:34:19,931.931 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:34:19,936.936 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:34:20,166.166 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:34:20,172.172 INFO    ] time= 20/10/2026 10:34:20
[2026-10-20 10:34:20,190.190 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:34:20,202.202 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:34:20,327.327 INFO    ] No existing commands found in stream
[2026-10-20 10:34:25,355.355 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:34:25,358.358 INFO    ] Waiting 3.98 seconds before fallback handling...
[2026-10-20 10:34:29,839.839 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:34:29,842.842 INFO    ] Checking for system updates...
[2026-10-20 10:34:29,880.880 INFO    ] 200
[2026-10-20 10:34:29,882.882 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:34:29,943.943 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:34:29,946.946 INFO    ] No update needed
[2026-10-20 10:34:29,949.949 INFO    ] Checking for camera pi updates...
[2026-10-20 10:34:29,984.984 INFO    ] 200
[2026-10-20 10:34:29,987.987 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:34:30,032.032 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:34:30,080.080 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:34:30,083.083 INFO    ] No camera update needed
[2026-10-20 10:34:30,086.086 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:34:30,089.089 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:34:30,096.096 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:34:30,102.102 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:34:32,145.145 INFO    ] ================================================
[2026-10-20 10:34:32,162.162 INFO    ] Launching Daemon at Tue Oct 20 10:34:32 IST 2026
[2026-10-20 10:34:32,173.173 INFO    ] ================================================
[2026-10-20 10:34:32,854.854 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:34:32
[2026-10-20 10:34:33,552.552 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:34:33,853.853 INFO    ] Initializing speech engine...
[2026-10-20 10:34:33,861.861 INFO    ] 2026-10-20 10:34:33
[2026-10-20 10:34:34,145.145 INFO    ] 2026-10-20 10:34:34
[2026-10-20 10:34:34,190.190 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:34:34,470.470 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:34:34,479.479 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:34:34,675.675 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:34:34,693.693 INFO    ] time= 20/10/2026 10:34:34
[2026-10-20 10:34:34,700.700 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:34:34,728.728 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:34:34,855.855 INFO    ] No existing commands found in stream
[2026-10-20 10:34:39,891.891 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:34:39,894.894 INFO    ] Waiting 3.81 seconds before fallback handling...
[2026-10-20 10:34:44,228.228 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:34:44,231.231 INFO    ] Checking for system updates...
[2026-10-20 10:34:44,267.267 INFO    ] 200
[2026-10-20 10:34:44,269.269 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:34:44,328.328 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:34:44,331.331 INFO    ] No update needed
[2026-10-20 10:34:44,334.334 INFO    ] Checking for camera pi updates...
[2026-10-20 10:34:44,368.368 INFO    ] 200
[2026-10-20 10:34:44,370.370 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:34:44,412.412 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:34:44,459.459 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:34:44,462.462 INFO    ] No camera update needed
[2026-10-20 10:34:44,465.465 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:34:44,468.468 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:34:44,475.475 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:34:44,480.480 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:34:46,521.521 INFO    ] ================================================
[2026-10-20 10:34:46,536.536 INFO    ] Launching Daemon at Tue Oct 20 10:34:46 IST 2026
[2026-10-20 10:34:46,547.547 INFO    ] ================================================
[2026-10-20 10:34:47,126.126 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:34:47
[2026-10-20 10:34:47,711.711 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:34:47,958.958 INFO    ] Initializing speech engine...
[2026-10-20 10:34:47,979.979 INFO    ] 2026-10-20 10:34:47
[2026-10-20 10:34:48,238.238 INFO    ] 2026-10-20 10:34:48
[2026-10-20 10:34:48,273.273 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:34:48,476.476 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:34:48,478.478 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:34:48,621.621 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:34:48,627.627 INFO    ] time= 20/10/2026 10:34:48
[2026-10-20 10:34:48,634.634 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:34:48,681.681 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:34:48,821.821 INFO    ] No existing commands found in stream
[2026-10-20 10:34:53,851.851 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:34:53,858.858 INFO    ] Waiting 1.43 seconds before fallback handling...
[2026-10-20 10:34:55,787.787 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 10:34:55,789.789 INFO    ] Checking for system updates...
[2026-10-20 10:34:55,824.824 INFO    ] 200
[2026-10-20 10:34:55,827.827 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:34:55,880.880 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:34:55,882.882 INFO    ] No update needed
[2026-10-20 10:34:55,884.884 INFO    ] Checking for camera pi updates...
[2026-10-20 10:34:55,917.917 INFO    ] 200
[2026-10-20 10:34:55,920.920 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:34:55,960.960 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:34:55,997.997 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:34:55,999.999 INFO    ] No camera update needed
[2026-10-20 10:34:56,001.001 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:34:56,004.004 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:34:56,009.009 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:34:56,014.014 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:34:58,055.055 INFO    ] ================================================
[2026-10-20 10:34:58,070.070 INFO    ] Launching Daemon at Tue Oct 20 10:34:58 IST 2026
[2026-10-20 10:34:58,080.080 INFO    ] ================================================
[2026-10-20 10:34:58,655.655 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:34:58
[2026-10-20 10:34:59,255.255 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:34:59,552.552 INFO    ] Initializing speech engine...
[2026-10-20 10:34:59,558.558 INFO    ] 2026-10-20 10:34:59
[2026-10-20 10:34:59,830.830 INFO    ] 2026-10-20 10:34:59
[2026-10-20 10:34:59,885.885 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:35:00,114.114 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:35:00,136.136 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:35:00,349.349 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:35:00,376.376 INFO    ] time= 20/10/2026 10:35:00
[2026-10-20 10:35:00,383.383 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:35:00,402.402 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:35:00,534.534 INFO    ] No existing commands found in stream
[2026-10-20 10:35:05,557.557 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:35:05,561.561 INFO    ] Waiting 1.29 seconds before fallback handling...
[2026-10-20 10:35:07,337.337 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:35:07,340.340 INFO    ] Checking for system updates...
[2026-10-20 10:35:07,376.376 INFO    ] 200
[2026-10-20 10:35:07,378.378 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:35:07,437.437 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:35:07,439.439 INFO    ] No update needed
[2026-10-20 10:35:07,442.442 INFO    ] Checking for camera pi updates...
[2026-10-20 10:35:07,475.475 INFO    ] 200
[2026-10-20 10:35:07,477.477 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:35:07,520.520 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:35:07,567.567 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:35:07,569.569 INFO    ] No camera update needed
[2026-10-20 10:35:07,571.571 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:35:07,574.574 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:35:07,579.579 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:35:07,584.584 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:35:09,623.623 INFO    ] ================================================
[2026-10-20 10:35:09,637.637 INFO    ] Launching Daemon at Tue Oct 20 10:35:09 IST 2026
[2026-10-20 10:35:09,648.648 INFO    ] ================================================
[2026-10-20 10:35:10,220.220 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:35:10
[2026-10-20 10:35:10,809.809 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:35:11,106.106 INFO    ] Initializing speech engine...
[2026-10-20 10:35:11,117.117 INFO    ] 2026-10-20 10:35:11
[2026-10-20 10:35:11,411.411 INFO    ] 2026-10-20 10:35:11
[2026-10-20 10:35:11,480.480 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:35:11,731.731 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:35:11,742.742 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:35:11,934.934 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:35:11,990.990 INFO    ] time= 20/10/2026 10:35:11
[2026-10-20 10:35:12,027.027 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:35:12,045.045 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:35:12,140.140 INFO    ] No existing commands found in stream
[2026-10-20 10:35:17,151.151 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:35:17,154.154 INFO    ] Waiting 1.38 seconds before fallback handling...
[2026-10-20 10:35:19,100.100 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 10:35:19,103.103 INFO    ] Checking for system updates...
[2026-10-20 10:35:19,139.139 INFO    ] 200
[2026-10-20 10:35:19,141.141 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:35:19,197.197 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:35:19,200.200 INFO    ] No update needed
[2026-10-20 10:35:19,202.202 INFO    ] Checking for camera pi updates...
[2026-10-20 10:35:19,236.236 INFO    ] 200
[2026-10-20 10:35:19,239.239 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:35:19,280.280 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:35:19,314.314 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:35:19,317.317 INFO    ] No camera update needed
[2026-10-20 10:35:19,319.319 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:35:19,321.321 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:35:19,327.327 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:35:19,332.332 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:35:21,370.370 INFO    ] ================================================
[2026-10-20 10:35:21,385.385 INFO    ] Launching Daemon at Tue Oct 20 10:35:21 IST 2026
[2026-10-20 10:35:21,396.396 INFO    ] ================================================
[2026-10-20 10:35:22,027.027 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:35:22
[2026-10-20 10:35:22,679.679 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:35:22,977.977 INFO    ] Initializing speech engine...
[2026-10-20 10:35:22,983.983 INFO    ] 2026-10-20 10:35:22
[2026-10-20 10:35:23,301.301 INFO    ] 2026-10-20 10:35:23
[2026-10-20 10:35:23,391.391 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:35:23,599.599 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:35:23,613.613 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:35:23,791.791 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:35:23,820.820 INFO    ] time= 20/10/2026 10:35:23
[2026-10-20 10:35:23,836.836 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:35:23,846.846 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:35:23,981.981 INFO    ] No existing commands found in stream
[2026-10-20 10:35:29,001.001 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:35:29,005.005 INFO    ] Waiting 2.91 seconds before fallback handling...
[2026-10-20 10:35:32,531.531 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:35:32,534.534 INFO    ] Checking for system updates...
[2026-10-20 10:35:32,580.580 INFO    ] 200
[2026-10-20 10:35:32,583.583 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:35:32,645.645 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:35:32,648.648 INFO    ] No update needed
[2026-10-20 10:35:32,651.651 INFO    ] Checking for camera pi updates...
[2026-10-20 10:35:32,691.691 INFO    ] 200
[2026-10-20 10:35:32,693.693 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:35:32,738.738 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:35:32,783.783 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:35:32,786.786 INFO    ] No camera update needed
[2026-10-20 10:35:32,789.789 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:35:32,792.792 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:35:32,799.799 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:35:32,805.805 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:35:34,844.844 INFO    ] ================================================
[2026-10-20 10:35:34,859.859 INFO    ] Launching Daemon at Tue Oct 20 10:35:34 IST 2026
[2026-10-20 10:35:34,869.869 INFO    ] ================================================
[2026-10-20 10:35:35,437.437 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:35:35
[2026-10-20 10:35:36,020.020 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:35:36,296.296 INFO    ] Initializing speech engine...
[2026-10-20 10:35:36,303.303 INFO    ] 2026-10-20 10:35:36
[2026-10-20 10:35:36,545.545 INFO    ] 2026-10-20 10:35:36
[2026-10-20 10:35:36,580.580 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:35:36,820.820 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:35:36,846.846 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:35:37,046.046 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:35:37,100.100 INFO    ] time= 20/10/2026 10:35:37
[2026-10-20 10:35:37,112.112 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:35:37,130.130 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:35:37,249.249 INFO    ] No existing commands found in stream
[2026-10-20 10:35:42,269.269 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:35:42,271.271 INFO    ] Waiting 3.75 seconds before fallback handling...
[2026-10-20 10:35:46,530.530 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 10:35:46,533.533 INFO    ] Checking for system updates...
[2026-10-20 10:35:46,571.571 INFO    ] 200
[2026-10-20 10:35:46,573.573 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:35:46,625.625 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:35:46,627.627 INFO    ] No update needed
[2026-10-20 10:35:46,629.629 INFO    ] Checking for camera pi updates...
[2026-10-20 10:35:46,663.663 INFO    ] 200
[2026-10-20 10:35:46,666.666 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:35:46,705.705 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:35:46,843.843 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:35:46,846.846 INFO    ] No camera update needed
[2026-10-20 10:35:46,848.848 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:35:46,851.851 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:35:46,856.856 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:35:46,861.861 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:35:48,903.903 INFO    ] ================================================
[2026-10-20 10:35:48,918.918 INFO    ] Launching Daemon at Tue Oct 20 10:35:48 IST 2026
[2026-10-20 10:35:48,928.928 INFO    ] ================================================
[2026-10-20 10:35:49,509.509 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:35:49
[2026-10-20 10:35:50,104.104 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:35:50,376.376 INFO    ] Initializing speech engine...
[2026-10-20 10:35:50,382.382 INFO    ] 2026-10-20 10:35:50
[2026-10-20 10:35:50,632.632 INFO    ] 2026-10-20 10:35:50
[2026-10-20 10:35:50,674.674 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:35:50,922.922 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:35:50,927.927 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:35:51,065.065 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:35:51,130.130 INFO    ] time= 20/10/2026 10:35:51
[2026-10-20 10:35:51,186.186 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:35:51,192.192 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:35:51,339.339 INFO    ] No existing commands found in stream
[2026-10-20 10:35:56,360.360 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:35:56,363.363 INFO    ] Waiting 0.51 seconds before fallback handling...
[2026-10-20 10:35:57,413.413 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:35:57,416.416 INFO    ] Checking for system updates...
[2026-10-20 10:35:57,455.455 INFO    ] 200
[2026-10-20 10:35:57,457.457 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:35:57,515.515 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:35:57,518.518 INFO    ] No update needed
[2026-10-20 10:35:57,521.521 INFO    ] Checking for camera pi updates...
[2026-10-20 10:35:57,555.555 INFO    ] 200
[2026-10-20 10:35:57,558.558 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:35:57,599.599 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:35:57,648.648 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:35:57,651.651 INFO    ] No camera update needed
[2026-10-20 10:35:57,653.653 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:35:57,656.656 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:35:57,662.662 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:35:57,667.667 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:35:59,707.707 INFO    ] ================================================
[2026-10-20 10:35:59,722.722 INFO    ] Launching Daemon at Tue Oct 20 10:35:59 IST 2026
[2026-10-20 10:35:59,732.732 INFO    ] ================================================
[2026-10-20 10:36:00,310.310 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:36:00
[2026-10-20 10:36:00,897.897 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:36:01,153.153 INFO    ] Initializing speech engine...
[2026-10-20 10:36:01,159.159 INFO    ] 2026-10-20 10:36:01
[2026-10-20 10:36:01,565.565 INFO    ] 2026-10-20 10:36:01
[2026-10-20 10:36:01,646.646 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:36:01,949.949 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:36:01,962.962 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:36:02,140.140 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:36:02,190.190 INFO    ] time= 20/10/2026 10:36:02
[2026-10-20 10:36:02,240.240 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:36:02,290.290 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:36:02,445.445 INFO    ] No existing commands found in stream
[2026-10-20 10:36:07,473.473 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:36:07,476.476 INFO    ] Waiting 1.07 seconds before fallback handling...
[2026-10-20 10:36:08,996.996 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 10:36:08,999.999 INFO    ] Checking for system updates...
[2026-10-20 10:36:09,037.037 INFO    ] 200
[2026-10-20 10:36:09,039.039 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:36:09,095.095 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:36:09,098.098 INFO    ] No update needed
[2026-10-20 10:36:09,100.100 INFO    ] Checking for camera pi updates...
[2026-10-20 10:36:09,137.137 INFO    ] 200
[2026-10-20 10:36:09,140.140 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:36:09,201.201 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:36:09,240.240 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:36:09,242.242 INFO    ] No camera update needed
[2026-10-20 10:36:09,245.245 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:36:09,247.247 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:36:09,252.252 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:36:09,257.257 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:36:11,297.297 INFO    ] ================================================
[2026-10-20 10:36:11,312.312 INFO    ] Launching Daemon at Tue Oct 20 10:36:11 IST 2026
[2026-10-20 10:36:11,323.323 INFO    ] ================================================
[2026-10-20 10:36:11,954.954 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:36:11
[2026-10-20 10:36:12,606.606 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:36:12,906.906 INFO    ] Initializing speech engine...
[2026-10-20 10:36:12,914.914 INFO    ] 2026-10-20 10:36:12
[2026-10-20 10:36:13,189.189 INFO    ] 2026-10-20 10:36:13
[2026-10-20 10:36:13,246.246 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:36:13,477.477 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:36:13,482.482 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:36:13,626.626 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:36:13,701.701 INFO    ] time= 20/10/2026 10:36:13
[2026-10-20 10:36:13,754.754 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:36:13,771.771 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:36:13,917.917 INFO    ] No existing commands found in stream
[2026-10-20 10:36:18,951.951 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:36:18,954.954 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-10-20 10:36:21,219.219 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:36:21,221.221 INFO    ] Checking for system updates...
[2026-10-20 10:36:21,257.257 INFO    ] 200
[2026-10-20 10:36:21,260.260 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:36:21,313.313 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:36:21,316.316 INFO    ] No update needed
[2026-10-20 10:36:21,319.319 INFO    ] Checking for camera pi updates...
[2026-10-20 10:36:21,353.353 INFO    ] 200
[2026-10-20 10:36:21,356.356 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:36:21,396.396 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:36:21,431.431 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:36:21,434.434 INFO    ] No camera update needed
[2026-10-20 10:36:21,437.437 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:36:21,439.439 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:36:21,445.445 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:36:21,451.451 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:36:23,491.491 INFO    ] ================================================
[2026-10-20 10:36:23,506.506 INFO    ] Launching Daemon at Tue Oct 20 10:36:23 IST 2026
[2026-10-20 10:36:23,517.517 INFO    ] ================================================
[2026-10-20 10:36:24,108.108 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:36:24
[2026-10-20 10:36:24,757.757 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:36:25,086.086 INFO    ] Initializing speech engine...
[2026-10-20 10:36:25,092.092 INFO    ] 2026-10-20 10:36:25
[2026-10-20 10:36:25,386.386 INFO    ] 2026-10-20 10:36:25
[2026-10-20 10:36:25,426.426 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:36:25,624.624 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:36:25,639.639 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:36:25,809.809 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:36:25,817.817 INFO    ] time= 20/10/2026 10:36:25
[2026-10-20 10:36:25,825.825 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:36:25,865.865 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:36:25,994.994 INFO    ] No existing commands found in stream
[2026-10-20 10:36:31,024.024 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:36:31,027.027 INFO    ] Waiting 3.62 seconds before fallback handling...
[2026-10-20 10:36:35,172.172 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:36:35,175.175 INFO    ] Checking for system updates...
[2026-10-20 10:36:35,211.211 INFO    ] 200
[2026-10-20 10:36:35,213.213 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:36:35,274.274 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:36:35,277.277 INFO    ] No update needed
[2026-10-20 10:36:35,279.279 INFO    ] Checking for camera pi updates...
[2026-10-20 10:36:35,320.320 INFO    ] 200
[2026-10-20 10:36:35,323.323 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:36:35,363.363 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:36:35,404.404 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:36:35,406.406 INFO    ] No camera update needed
[2026-10-20 10:36:35,408.408 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:36:35,411.411 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:36:35,416.416 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:36:35,421.421 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:36:37,460.460 INFO    ] ================================================
[2026-10-20 10:36:37,476.476 INFO    ] Launching Daemon at Tue Oct 20 10:36:37 IST 2026
[2026-10-20 10:36:37,486.486 INFO    ] ================================================
[2026-10-20 10:36:38,060.060 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:36:38
[2026-10-20 10:36:38,645.645 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:36:38,907.907 INFO    ] Initializing speech engine...
[2026-10-20 10:36:38,925.925 INFO    ] 2026-10-20 10:36:38
[2026-10-20 10:36:39,179.179 INFO    ] 2026-10-20 10:36:39
[2026-10-20 10:36:39,214.214 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:36:39,472.472 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:36:39,481.481 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:36:39,704.704 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:36:39,746.746 INFO    ] time= 20/10/2026 10:36:39
[2026-10-20 10:36:39,752.752 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:36:39,770.770 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:36:39,913.913 INFO    ] No existing commands found in stream
[2026-10-20 10:36:44,939.939 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:36:44,942.942 INFO    ] Waiting 2.56 seconds before fallback handling...
[2026-10-20 10:36:48,011.011 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:36:48,014.014 INFO    ] Checking for system updates...
[2026-10-20 10:36:48,054.054 INFO    ] 200
[2026-10-20 10:36:48,056.056 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:36:48,107.107 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:36:48,110.110 INFO    ] No update needed
[2026-10-20 10:36:48,112.112 INFO    ] Checking for camera pi updates...
[2026-10-20 10:36:48,146.146 INFO    ] 200
[2026-10-20 10:36:48,149.149 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:36:48,189.189 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:36:48,224.224 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:36:48,226.226 INFO    ] No camera update needed
[2026-10-20 10:36:48,229.229 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:36:48,231.231 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:36:48,237.237 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:36:48,242.242 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:36:50,282.282 INFO    ] ================================================
[2026-10-20 10:36:50,297.297 INFO    ] Launching Daemon at Tue Oct 20 10:36:50 IST 2026
[2026-10-20 10:36:50,307.307 INFO    ] ================================================
[2026-10-20 10:36:50,891.891 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:36:50
[2026-10-20 10:36:51,493.493 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:36:51,755.755 INFO    ] Initializing speech engine...
[2026-10-20 10:36:51,761.761 INFO    ] 2026-10-20 10:36:51
[2026-10-20 10:36:52,059.059 INFO    ] 2026-10-20 10:36:52
[2026-10-20 10:36:52,094.094 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:36:52,297.297 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:36:52,302.302 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:36:52,460.460 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:36:52,467.467 INFO    ] time= 20/10/2026 10:36:52
[2026-10-20 10:36:52,517.517 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:36:52,537.537 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:36:52,661.661 INFO    ] No existing commands found in stream
[2026-10-20 10:36:57,671.671 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:36:57,674.674 INFO    ] Waiting 2.36 seconds before fallback handling...
[2026-10-20 10:37:00,577.577 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:37:00,580.580 INFO    ] Checking for system updates...
[2026-10-20 10:37:00,617.617 INFO    ] 200
[2026-10-20 10:37:00,620.620 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:37:00,682.682 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:37:00,685.685 INFO    ] No update needed
[2026-10-20 10:37:00,688.688 INFO    ] Checking for camera pi updates...
[2026-10-20 10:37:00,723.723 INFO    ] 200
[2026-10-20 10:37:00,726.726 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:37:00,768.768 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:37:00,805.805 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:37:00,808.808 INFO    ] No camera update needed
[2026-10-20 10:37:00,811.811 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:37:00,814.814 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:37:00,820.820 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:37:00,826.826 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:37:02,870.870 INFO    ] ================================================
[2026-10-20 10:37:02,885.885 INFO    ] Launching Daemon at Tue Oct 20 10:37:02 IST 2026
[2026-10-20 10:37:02,897.897 INFO    ] ================================================
[2026-10-20 10:37:03,509.509 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:37:03
[2026-10-20 10:37:04,108.108 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:37:04,385.385 INFO    ] Initializing speech engine...
[2026-10-20 10:37:04,392.392 INFO    ] 2026-10-20 10:37:04
[2026-10-20 10:37:04,654.654 INFO    ] 2026-10-20 10:37:04
[2026-10-20 10:37:04,708.708 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:37:04,989.989 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:37:04,998.998 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:37:05,190.190 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:37:05,197.197 INFO    ] time= 20/10/2026 10:37:05
[2026-10-20 10:37:05,218.218 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:37:05,244.244 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:37:05,365.365 INFO    ] No existing commands found in stream
[2026-10-20 10:37:10,395.395 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:37:10,398.398 INFO    ] Waiting 1.24 seconds before fallback handling...
[2026-10-20 10:37:12,137.137 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:37:12,140.140 INFO    ] Checking for system updates...
[2026-10-20 10:37:12,177.177 INFO    ] 200
[2026-10-20 10:37:12,180.180 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:37:12,239.239 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:37:12,242.242 INFO    ] No update needed
[2026-10-20 10:37:12,245.245 INFO    ] Checking for camera pi updates...
[2026-10-20 10:37:12,280.280 INFO    ] 200
[2026-10-20 10:37:12,282.282 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:37:12,323.323 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:37:12,356.356 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:37:12,359.359 INFO    ] No camera update needed
[2026-10-20 10:37:12,362.362 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:37:12,365.365 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:37:12,371.371 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:37:12,377.377 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:37:14,418.418 INFO    ] ================================================
[2026-10-20 10:37:14,433.433 INFO    ] Launching Daemon at Tue Oct 20 10:37:14 IST 2026
[2026-10-20 10:37:14,444.444 INFO    ] ================================================
[2026-10-20 10:37:15,029.029 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:37:15
[2026-10-20 10:37:15,621.621 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:37:15,880.880 INFO    ] Initializing speech engine...
[2026-10-20 10:37:15,898.898 INFO    ] 2026-10-20 10:37:15
[2026-10-20 10:37:16,150.150 INFO    ] 2026-10-20 10:37:16
[2026-10-20 10:37:16,192.192 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:37:16,432.432 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:37:16,434.434 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:37:16,599.599 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:37:16,621.621 INFO    ] time= 20/10/2026 10:37:16
[2026-10-20 10:37:16,686.686 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:37:16,735.735 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:37:16,896.896 INFO    ] No existing commands found in stream
[2026-10-20 10:37:21,908.908 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:37:21,911.911 INFO    ] Waiting 2.55 seconds before fallback handling...
[2026-10-20 10:37:24,966.966 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:37:24,969.969 INFO    ] Checking for system updates...
[2026-10-20 10:37:25,004.004 INFO    ] 200
[2026-10-20 10:37:25,007.007 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:37:25,060.060 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:37:25,062.062 INFO    ] No update needed
[2026-10-20 10:37:25,064.064 INFO    ] Checking for camera pi updates...
[2026-10-20 10:37:25,097.097 INFO    ] 200
[2026-10-20 10:37:25,100.100 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:37:25,140.140 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:37:25,180.180 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:37:25,183.183 INFO    ] No camera update needed
[2026-10-20 10:37:25,185.185 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:37:25,187.187 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:37:25,192.192 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:37:25,197.197 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:37:27,239.239 INFO    ] ================================================
[2026-10-20 10:37:27,255.255 INFO    ] Launching Daemon at Tue Oct 20 10:37:27 IST 2026
[2026-10-20 10:37:27,266.266 INFO    ] ================================================
[2026-10-20 10:37:27,918.918 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:37:27
[2026-10-20 10:37:28,591.591 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:37:28,897.897 INFO    ] Initializing speech engine...
[2026-10-20 10:37:28,905.905 INFO    ] 2026-10-20 10:37:28
[2026-10-20 10:37:29,193.193 INFO    ] 2026-10-20 10:37:29
[2026-10-20 10:37:29,239.239 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:37:29,497.497 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:37:29,534.534 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:37:29,739.739 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:37:29,747.747 INFO    ] time= 20/10/2026 10:37:29
[2026-10-20 10:37:29,765.765 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:37:29,783.783 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:37:29,906.906 INFO    ] No existing commands found in stream
[2026-10-20 10:37:34,936.936 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:37:34,939.939 INFO    ] Waiting 2.60 seconds before fallback handling...
[2026-10-20 10:37:38,037.037 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:37:38,040.040 INFO    ] Checking for system updates...
[2026-10-20 10:37:38,078.078 INFO    ] 200
[2026-10-20 10:37:38,081.081 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:37:38,133.133 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:37:38,136.136 INFO    ] No update needed
[2026-10-20 10:37:38,138.138 INFO    ] Checking for camera pi updates...
[2026-10-20 10:37:38,172.172 INFO    ] 200
[2026-10-20 10:37:38,175.175 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:37:38,216.216 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:37:38,252.252 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:37:38,254.254 INFO    ] No camera update needed
[2026-10-20 10:37:38,257.257 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:37:38,259.259 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:37:38,265.265 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:37:38,270.270 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:37:40,308.308 INFO    ] ================================================
[2026-10-20 10:37:40,323.323 INFO    ] Launching Daemon at Tue Oct 20 10:37:40 IST 2026
[2026-10-20 10:37:40,333.333 INFO    ] ================================================
[2026-10-20 10:37:40,995.995 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:37:40
[2026-10-20 10:37:41,623.623 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:37:41,891.891 INFO    ] Initializing speech engine...
[2026-10-20 10:37:41,900.900 INFO    ] 2026-10-20 10:37:41
[2026-10-20 10:37:42,157.157 INFO    ] 2026-10-20 10:37:42
[2026-10-20 10:37:42,187.187 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:37:42,437.437 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:37:42,442.442 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:37:42,658.658 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:37:42,700.700 INFO    ] time= 20/10/2026 10:37:42
[2026-10-20 10:37:42,716.716 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:37:42,726.726 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:37:42,864.864 INFO    ] No existing commands found in stream
[2026-10-20 10:37:47,889.889 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:37:47,892.892 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-10-20 10:37:50,425.425 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:37:50,427.427 INFO    ] Checking for system updates...
[2026-10-20 10:37:50,463.463 INFO    ] 200
[2026-10-20 10:37:50,465.465 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:37:50,524.524 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:37:50,527.527 INFO    ] No update needed
[2026-10-20 10:37:50,529.529 INFO    ] Checking for camera pi updates...
[2026-10-20 10:37:50,567.567 INFO    ] 200
[2026-10-20 10:37:50,569.569 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:37:50,609.609 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:37:50,737.737 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:37:50,740.740 INFO    ] No camera update needed
[2026-10-20 10:37:50,742.742 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:37:50,745.745 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:37:50,750.750 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:37:50,755.755 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:37:52,794.794 INFO    ] ================================================
[2026-10-20 10:37:52,809.809 INFO    ] Launching Daemon at Tue Oct 20 10:37:52 IST 2026
[2026-10-20 10:37:52,820.820 INFO    ] ================================================
[2026-10-20 10:37:53,383.383 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:37:53
[2026-10-20 10:37:53,964.964 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:37:54,238.238 INFO    ] Initializing speech engine...
[2026-10-20 10:37:54,244.244 INFO    ] 2026-10-20 10:37:54
[2026-10-20 10:37:54,492.492 INFO    ] 2026-10-20 10:37:54
[2026-10-20 10:37:54,527.527 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:37:54,762.762 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:37:54,802.802 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:37:54,985.985 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:37:55,028.028 INFO    ] time= 20/10/2026 10:37:54
[2026-10-20 10:37:55,072.072 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:37:55,126.126 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:37:55,293.293 INFO    ] No existing commands found in stream
[2026-10-20 10:38:00,317.317 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:38:00,319.319 INFO    ] Waiting 1.36 seconds before fallback handling...
[2026-10-20 10:38:02,237.237 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:38:02,240.240 INFO    ] Checking for system updates...
[2026-10-20 10:38:02,279.279 INFO    ] 200
[2026-10-20 10:38:02,282.282 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:38:02,344.344 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:38:02,347.347 INFO    ] No update needed
[2026-10-20 10:38:02,360.360 INFO    ] Checking for camera pi updates...
[2026-10-20 10:38:02,400.400 INFO    ] 200
[2026-10-20 10:38:02,403.403 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:38:02,449.449 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:38:02,499.499 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:38:02,503.503 INFO    ] No camera update needed
[2026-10-20 10:38:02,505.505 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:38:02,509.509 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:38:02,516.516 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:38:02,523.523 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:38:04,564.564 INFO    ] ================================================
[2026-10-20 10:38:04,579.579 INFO    ] Launching Daemon at Tue Oct 20 10:38:04 IST 2026
[2026-10-20 10:38:04,589.589 INFO    ] ================================================
[2026-10-20 10:38:05,180.180 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:38:05
[2026-10-20 10:38:05,786.786 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:38:06,065.065 INFO    ] Initializing speech engine...
[2026-10-20 10:38:06,074.074 INFO    ] 2026-10-20 10:38:06
[2026-10-20 10:38:06,333.333 INFO    ] 2026-10-20 10:38:06
[2026-10-20 10:38:06,386.386 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:38:06,669.669 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:38:06,678.678 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:38:06,871.871 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:38:06,877.877 INFO    ] time= 20/10/2026 10:38:06
[2026-10-20 10:38:06,896.896 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:38:06,924.924 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:38:07,054.054 INFO    ] No existing commands found in stream
[2026-10-20 10:38:12,081.081 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:38:12,084.084 INFO    ] Waiting 1.21 seconds before fallback handling...
[2026-10-20 10:38:13,831.831 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:38:13,833.833 INFO    ] Checking for system updates...
[2026-10-20 10:38:13,874.874 INFO    ] 200
[2026-10-20 10:38:13,877.877 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:38:13,930.930 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:38:13,932.932 INFO    ] No update needed
[2026-10-20 10:38:13,934.934 INFO    ] Checking for camera pi updates...
[2026-10-20 10:38:13,968.968 INFO    ] 200
[2026-10-20 10:38:13,971.971 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:38:14,013.013 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:38:14,048.048 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:38:14,051.051 INFO    ] No camera update needed
[2026-10-20 10:38:14,054.054 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:38:14,056.056 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:38:14,063.063 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:38:14,069.069 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:38:16,109.109 INFO    ] ================================================
[2026-10-20 10:38:16,124.124 INFO    ] Launching Daemon at Tue Oct 20 10:38:16 IST 2026
[2026-10-20 10:38:16,135.135 INFO    ] ================================================
[2026-10-20 10:38:16,755.755 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:38:16
[2026-10-20 10:38:17,341.341 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:38:17,592.592 INFO    ] Initializing speech engine...
[2026-10-20 10:38:17,597.597 INFO    ] 2026-10-20 10:38:17
[2026-10-20 10:38:17,906.906 INFO    ] 2026-10-20 10:38:17
[2026-10-20 10:38:17,942.942 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:38:18,173.173 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:38:18,181.181 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:38:18,390.390 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:38:18,410.410 INFO    ] time= 20/10/2026 10:38:18
[2026-10-20 10:38:18,447.447 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:38:18,491.491 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:38:18,635.635 INFO    ] No existing commands found in stream
[2026-10-20 10:38:23,661.661 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:38:23,664.664 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-10-20 10:38:26,227.227 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:38:26,230.230 INFO    ] Checking for system updates...
[2026-10-20 10:38:26,270.270 INFO    ] 200
[2026-10-20 10:38:26,272.272 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:38:26,332.332 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:38:26,335.335 INFO    ] No update needed
[2026-10-20 10:38:26,337.337 INFO    ] Checking for camera pi updates...
[2026-10-20 10:38:26,370.370 INFO    ] 200
[2026-10-20 10:38:26,372.372 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:38:26,413.413 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:38:26,457.457 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:38:26,460.460 INFO    ] No camera update needed
[2026-10-20 10:38:26,462.462 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:38:26,464.464 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:38:26,469.469 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:38:26,474.474 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:38:28,513.513 INFO    ] ================================================
[2026-10-20 10:38:28,529.529 INFO    ] Launching Daemon at Tue Oct 20 10:38:28 IST 2026
[2026-10-20 10:38:28,539.539 INFO    ] ================================================
[2026-10-20 10:38:29,194.194 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:38:29
[2026-10-20 10:38:29,813.813 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:38:30,085.085 INFO    ] Initializing speech engine...
[2026-10-20 10:38:30,091.091 INFO    ] 2026-10-20 10:38:30
[2026-10-20 10:38:30,348.348 INFO    ] 2026-10-20 10:38:30
[2026-10-20 10:38:30,379.379 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:38:30,629.629 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:38:30,635.635 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:38:30,851.851 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:38:30,891.891 INFO    ] time= 20/10/2026 10:38:30
[2026-10-20 10:38:30,896.896 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:38:30,914.914 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:38:31,050.050 INFO    ] No existing commands found in stream
[2026-10-20 10:38:36,080.080 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:38:36,083.083 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-10-20 10:38:38,600.600 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 10:38:38,603.603 INFO    ] Checking for system updates...
[2026-10-20 10:38:38,638.638 INFO    ] 200
[2026-10-20 10:38:38,641.641 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:38:38,692.692 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:38:38,695.695 INFO    ] No update needed
[2026-10-20 10:38:38,697.697 INFO    ] Checking for camera pi updates...
[2026-10-20 10:38:38,730.730 INFO    ] 200
[2026-10-20 10:38:38,733.733 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:38:38,775.775 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:38:38,806.806 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:38:38,809.809 INFO    ] No camera update needed
[2026-10-20 10:38:38,811.811 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:38:38,813.813 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:38:38,819.819 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:38:38,824.824 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:38:40,870.870 INFO    ] ================================================
[2026-10-20 10:38:40,885.885 INFO    ] Launching Daemon at Tue Oct 20 10:38:40 IST 2026
[2026-10-20 10:38:40,896.896 INFO    ] ================================================
[2026-10-20 10:38:41,462.462 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:38:41
[2026-10-20 10:38:42,044.044 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:38:42,315.315 INFO    ] Initializing speech engine...
[2026-10-20 10:38:42,322.322 INFO    ] 2026-10-20 10:38:42
[2026-10-20 10:38:42,571.571 INFO    ] 2026-10-20 10:38:42
[2026-10-20 10:38:42,607.607 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:38:42,857.857 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:38:42,862.862 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:38:43,084.084 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:38:43,117.117 INFO    ] time= 20/10/2026 10:38:43
[2026-10-20 10:38:43,123.123 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:38:43,141.141 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:38:43,268.268 INFO    ] No existing commands found in stream
[2026-10-20 10:38:48,283.283 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:38:48,286.286 INFO    ] Waiting 2.84 seconds before fallback handling...
[2026-10-20 10:38:51,687.687 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:38:51,691.691 INFO    ] Checking for system updates...
[2026-10-20 10:38:51,734.734 INFO    ] 200
[2026-10-20 10:38:51,737.737 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:38:51,791.791 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:38:51,793.793 INFO    ] No update needed
[2026-10-20 10:38:51,796.796 INFO    ] Checking for camera pi updates...
[2026-10-20 10:38:51,830.830 INFO    ] 200
[2026-10-20 10:38:51,832.832 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:38:51,873.873 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:38:51,908.908 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:38:51,911.911 INFO    ] No camera update needed
[2026-10-20 10:38:51,913.913 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:38:51,916.916 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:38:51,921.921 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:38:51,926.926 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:38:53,967.967 INFO    ] ================================================
[2026-10-20 10:38:53,982.982 INFO    ] Launching Daemon at Tue Oct 20 10:38:53 IST 2026
[2026-10-20 10:38:53,993.993 INFO    ] ================================================
[2026-10-20 10:38:54,575.575 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:38:54
[2026-10-20 10:38:55,181.181 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:38:55,449.449 INFO    ] Initializing speech engine...
[2026-10-20 10:38:55,458.458 INFO    ] 2026-10-20 10:38:55
[2026-10-20 10:38:55,704.704 INFO    ] 2026-10-20 10:38:55
[2026-10-20 10:38:55,744.744 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:38:55,993.993 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:38:55,998.998 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:38:56,204.204 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:38:56,255.255 INFO    ] time= 20/10/2026 10:38:56
[2026-10-20 10:38:56,261.261 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:38:56,278.278 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:38:56,410.410 INFO    ] No existing commands found in stream
[2026-10-20 10:39:01,429.429 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:39:01,432.432 INFO    ] Waiting 0.83 seconds before fallback handling...
[2026-10-20 10:39:02,800.800 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:39:02,803.803 INFO    ] Checking for system updates...
[2026-10-20 10:39:02,845.845 INFO    ] 200
[2026-10-20 10:39:02,847.847 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:39:02,898.898 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:39:02,902.902 INFO    ] No update needed
[2026-10-20 10:39:02,905.905 INFO    ] Checking for camera pi updates...
[2026-10-20 10:39:02,953.953 INFO    ] 200
[2026-10-20 10:39:02,956.956 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:39:02,997.997 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:39:03,054.054 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:39:03,058.058 INFO    ] No camera update needed
[2026-10-20 10:39:03,061.061 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:39:03,064.064 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:39:03,071.071 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:39:03,077.077 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:39:05,117.117 INFO    ] ================================================
[2026-10-20 10:39:05,133.133 INFO    ] Launching Daemon at Tue Oct 20 10:39:05 IST 2026
[2026-10-20 10:39:05,143.143 INFO    ] ================================================
[2026-10-20 10:39:05,708.708 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:39:05
[2026-10-20 10:39:06,290.290 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:39:06,560.560 INFO    ] Initializing speech engine...
[2026-10-20 10:39:06,567.567 INFO    ] 2026-10-20 10:39:06
[2026-10-20 10:39:06,818.818 INFO    ] 2026-10-20 10:39:06
[2026-10-20 10:39:06,853.853 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:39:07,101.101 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:39:07,107.107 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:39:07,322.322 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:39:07,363.363 INFO    ] time= 20/10/2026 10:39:07
[2026-10-20 10:39:07,369.369 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:39:07,389.389 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:39:07,526.526 INFO    ] No existing commands found in stream
[2026-10-20 10:39:12,551.551 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:39:12,554.554 INFO    ] Waiting 0.42 seconds before fallback handling...
[2026-10-20 10:39:13,531.531 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:39:13,533.533 INFO    ] Checking for system updates...
[2026-10-20 10:39:13,569.569 INFO    ] 200
[2026-10-20 10:39:13,572.572 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:39:13,635.635 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:39:13,638.638 INFO    ] No update needed
[2026-10-20 10:39:13,640.640 INFO    ] Checking for camera pi updates...
[2026-10-20 10:39:13,674.674 INFO    ] 200
[2026-10-20 10:39:13,676.676 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:39:13,721.721 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:39:13,757.757 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:39:13,759.759 INFO    ] No camera update needed
[2026-10-20 10:39:13,762.762 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:39:13,764.764 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:39:13,770.770 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:39:13,775.775 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:39:15,816.816 INFO    ] ================================================
[2026-10-20 10:39:15,831.831 INFO    ] Launching Daemon at Tue Oct 20 10:39:15 IST 2026
[2026-10-20 10:39:15,841.841 INFO    ] ================================================
[2026-10-20 10:39:16,440.440 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:39:16
[2026-10-20 10:39:17,115.115 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:39:17,419.419 INFO    ] Initializing speech engine...
[2026-10-20 10:39:17,433.433 INFO    ] 2026-10-20 10:39:17
[2026-10-20 10:39:17,739.739 INFO    ] 2026-10-20 10:39:17
[2026-10-20 10:39:17,828.828 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:39:18,104.104 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:39:18,156.156 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:39:18,385.385 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:39:18,454.454 INFO    ] time= 20/10/2026 10:39:18
[2026-10-20 10:39:18,492.492 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:39:18,556.556 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:39:18,691.691 INFO    ] No existing commands found in stream
[2026-10-20 10:39:23,701.701 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:39:23,705.705 INFO    ] Waiting 3.38 seconds before fallback handling...
[2026-10-20 10:39:27,675.675 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:39:27,678.678 INFO    ] Checking for system updates...
[2026-10-20 10:39:27,720.720 INFO    ] 200
[2026-10-20 10:39:27,723.723 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:39:27,784.784 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:39:27,787.787 INFO    ] No update needed
[2026-10-20 10:39:27,790.790 INFO    ] Checking for camera pi updates...
[2026-10-20 10:39:27,825.825 INFO    ] 200
[2026-10-20 10:39:27,827.827 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:39:27,870.870 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:39:27,903.903 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:39:27,906.906 INFO    ] No camera update needed
[2026-10-20 10:39:27,909.909 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:39:27,911.911 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:39:27,918.918 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:39:27,924.924 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:39:29,964.964 INFO    ] ================================================
[2026-10-20 10:39:29,980.980 INFO    ] Launching Daemon at Tue Oct 20 10:39:29 IST 2026
[2026-10-20 10:39:29,990.990 INFO    ] ================================================
[2026-10-20 10:39:30,562.562 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:39:30
[2026-10-20 10:39:31,151.151 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:39:31,435.435 INFO    ] Initializing speech engine...
[2026-10-20 10:39:31,458.458 INFO    ] 2026-10-20 10:39:31
[2026-10-20 10:39:31,723.723 INFO    ] 2026-10-20 10:39:31
[2026-10-20 10:39:31,760.760 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:39:31,961.961 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:39:31,970.970 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:39:32,180.180 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:39:32,214.214 INFO    ] time= 20/10/2026 10:39:32
[2026-10-20 10:39:32,279.279 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:39:32,324.324 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:39:32,415.415 INFO    ] No existing commands found in stream
[2026-10-20 10:39:37,425.425 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:39:37,428.428 INFO    ] Waiting 3.07 seconds before fallback handling...
[2026-10-20 10:39:40,993.993 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:39:40,995.995 INFO    ] Checking for system updates...
[2026-10-20 10:39:41,035.035 INFO    ] 200
[2026-10-20 10:39:41,037.037 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:39:41,097.097 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:39:41,099.099 INFO    ] No update needed
[2026-10-20 10:39:41,102.102 INFO    ] Checking for camera pi updates...
[2026-10-20 10:39:41,135.135 INFO    ] 200
[2026-10-20 10:39:41,137.137 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:39:41,182.182 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:39:41,217.217 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:39:41,220.220 INFO    ] No camera update needed
[2026-10-20 10:39:41,222.222 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:39:41,224.224 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:39:41,230.230 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:39:41,234.234 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:39:43,277.277 INFO    ] ================================================
[2026-10-20 10:39:43,292.292 INFO    ] Launching Daemon at Tue Oct 20 10:39:43 IST 2026
[2026-10-20 10:39:43,303.303 INFO    ] ================================================
[2026-10-20 10:39:43,869.869 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:39:43
[2026-10-20 10:39:44,455.455 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:39:44,722.722 INFO    ] Initializing speech engine...
[2026-10-20 10:39:44,730.730 INFO    ] 2026-10-20 10:39:44
[2026-10-20 10:39:44,978.978 INFO    ] 2026-10-20 10:39:44
[2026-10-20 10:39:45,013.013 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:39:45,269.269 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:39:45,274.274 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:39:45,408.408 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:39:45,468.468 INFO    ] time= 20/10/2026 10:39:45
[2026-10-20 10:39:45,532.532 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:39:45,541.541 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:39:45,686.686 INFO    ] No existing commands found in stream
[2026-10-20 10:39:50,701.701 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:39:50,704.704 INFO    ] Waiting 2.61 seconds before fallback handling...
[2026-10-20 10:39:53,827.827 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 10:39:53,829.829 INFO    ] Checking for system updates...
[2026-10-20 10:39:53,869.869 INFO    ] 200
[2026-10-20 10:39:53,872.872 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:39:53,925.925 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:39:53,928.928 INFO    ] No update needed
[2026-10-20 10:39:53,930.930 INFO    ] Checking for camera pi updates...
[2026-10-20 10:39:53,969.969 INFO    ] 200
[2026-10-20 10:39:53,971.971 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:39:54,011.011 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:39:54,143.143 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:39:54,146.146 INFO    ] No camera update needed
[2026-10-20 10:39:54,148.148 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:39:54,150.150 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:39:54,156.156 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:39:54,161.161 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:39:56,204.204 INFO    ] ================================================
[2026-10-20 10:39:56,219.219 INFO    ] Launching Daemon at Tue Oct 20 10:39:56 IST 2026
[2026-10-20 10:39:56,230.230 INFO    ] ================================================
[2026-10-20 10:39:56,797.797 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:39:56
[2026-10-20 10:39:57,380.380 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:39:57,649.649 INFO    ] Initializing speech engine...
[2026-10-20 10:39:57,658.658 INFO    ] 2026-10-20 10:39:57
[2026-10-20 10:39:57,902.902 INFO    ] 2026-10-20 10:39:57
[2026-10-20 10:39:57,937.937 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:39:58,133.133 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:39:58,190.190 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:39:58,423.423 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:39:58,454.454 INFO    ] time= 20/10/2026 10:39:58
[2026-10-20 10:39:58,460.460 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:39:58,480.480 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:39:58,610.610 INFO    ] No existing commands found in stream
[2026-10-20 10:40:03,632.632 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:40:03,634.634 INFO    ] Waiting 1.55 seconds before fallback handling...
[2026-10-20 10:40:08,816.816 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:40:08,819.819 INFO    ] Checking for system updates...
[2026-10-20 10:40:08,855.855 INFO    ] 200
[2026-10-20 10:40:08,857.857 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:40:08,909.909 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:40:08,912.912 INFO    ] No update needed
[2026-10-20 10:40:08,914.914 INFO    ] Checking for camera pi updates...
[2026-10-20 10:40:08,953.953 INFO    ] 200
[2026-10-20 10:40:08,955.955 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:40:09,000.000 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:40:09,030.030 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:40:09,033.033 INFO    ] No camera update needed
[2026-10-20 10:40:09,035.035 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:40:09,037.037 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:40:09,043.043 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:40:09,048.048 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:40:11,089.089 INFO    ] ================================================
[2026-10-20 10:40:11,104.104 INFO    ] Launching Daemon at Tue Oct 20 10:40:11 IST 2026
[2026-10-20 10:40:11,115.115 INFO    ] ================================================
[2026-10-20 10:40:11,678.678 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:40:11
[2026-10-20 10:40:12,259.259 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:40:12,526.526 INFO    ] Initializing speech engine...
[2026-10-20 10:40:12,533.533 INFO    ] 2026-10-20 10:40:12
[2026-10-20 10:40:12,779.779 INFO    ] 2026-10-20 10:40:12
[2026-10-20 10:40:12,821.821 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:40:13,069.069 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:40:13,075.075 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:40:13,325.325 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:40:13,333.333 INFO    ] time= 20/10/2026 10:40:13
[2026-10-20 10:40:13,350.350 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:40:13,378.378 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:40:13,519.519 INFO    ] No existing commands found in stream
[2026-10-20 10:40:18,544.544 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:40:18,547.547 INFO    ] Waiting 1.56 seconds before fallback handling...
[2026-10-20 10:40:20,656.656 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:40:20,658.658 INFO    ] Checking for system updates...
[2026-10-20 10:40:20,698.698 INFO    ] 200
[2026-10-20 10:40:20,700.700 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:40:20,754.754 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:40:20,756.756 INFO    ] No update needed
[2026-10-20 10:40:20,759.759 INFO    ] Checking for camera pi updates...
[2026-10-20 10:40:20,796.796 INFO    ] 200
[2026-10-20 10:40:20,799.799 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:40:20,839.839 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:40:20,876.876 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:40:20,879.879 INFO    ] No camera update needed
[2026-10-20 10:40:20,881.881 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:40:20,883.883 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:40:20,889.889 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:40:20,893.893 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:40:22,934.934 INFO    ] ================================================
[2026-10-20 10:40:22,950.950 INFO    ] Launching Daemon at Tue Oct 20 10:40:22 IST 2026
[2026-10-20 10:40:22,961.961 INFO    ] ================================================
[2026-10-20 10:40:23,524.524 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:40:23
[2026-10-20 10:40:24,105.105 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:40:24,373.373 INFO    ] Initializing speech engine...
[2026-10-20 10:40:24,381.381 INFO    ] 2026-10-20 10:40:24
[2026-10-20 10:40:24,627.627 INFO    ] 2026-10-20 10:40:24
[2026-10-20 10:40:24,661.661 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:40:24,917.917 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:40:24,921.921 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:40:25,122.122 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:40:25,177.177 INFO    ] time= 20/10/2026 10:40:25
[2026-10-20 10:40:25,184.184 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:40:25,201.201 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:40:25,334.334 INFO    ] No existing commands found in stream
[2026-10-20 10:40:30,353.353 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:40:30,356.356 INFO    ] Waiting 1.42 seconds before fallback handling...
[2026-10-20 10:40:32,335.335 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:40:32,338.338 INFO    ] Checking for system updates...
[2026-10-20 10:40:32,379.379 INFO    ] 200
[2026-10-20 10:40:32,382.382 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:40:32,444.444 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:40:32,447.447 INFO    ] No update needed
[2026-10-20 10:40:32,450.450 INFO    ] Checking for camera pi updates...
[2026-10-20 10:40:32,486.486 INFO    ] 200
[2026-10-20 10:40:32,489.489 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:40:32,533.533 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:40:32,562.562 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:40:32,565.565 INFO    ] No camera update needed
[2026-10-20 10:40:32,568.568 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:40:32,571.571 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:40:32,577.577 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:40:32,584.584 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:40:34,628.628 INFO    ] ================================================
[2026-10-20 10:40:34,643.643 INFO    ] Launching Daemon at Tue Oct 20 10:40:34 IST 2026
[2026-10-20 10:40:34,654.654 INFO    ] ================================================
[2026-10-20 10:40:35,329.329 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:40:35
[2026-10-20 10:40:36,025.025 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:40:36,334.334 INFO    ] Initializing speech engine...
[2026-10-20 10:40:36,348.348 INFO    ] 2026-10-20 10:40:36
[2026-10-20 10:40:36,636.636 INFO    ] 2026-10-20 10:40:36
[2026-10-20 10:40:36,745.745 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:40:37,024.024 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:40:37,072.072 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:40:37,306.306 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:40:37,358.358 INFO    ] time= 20/10/2026 10:40:37
[2026-10-20 10:40:37,416.416 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:40:37,470.470 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:40:37,617.617 INFO    ] No existing commands found in stream
[2026-10-20 10:40:42,628.628 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:40:42,632.632 INFO    ] Waiting 1.72 seconds before fallback handling...
[2026-10-20 10:40:44,903.903 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:40:44,906.906 INFO    ] Checking for system updates...
[2026-10-20 10:40:44,943.943 INFO    ] 200
[2026-10-20 10:40:44,946.946 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:40:45,000.000 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:40:45,003.003 INFO    ] No update needed
[2026-10-20 10:40:45,006.006 INFO    ] Checking for camera pi updates...
[2026-10-20 10:40:45,041.041 INFO    ] 200
[2026-10-20 10:40:45,043.043 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:40:45,090.090 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:40:45,125.125 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:40:45,127.127 INFO    ] No camera update needed
[2026-10-20 10:40:45,130.130 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:40:45,132.132 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:40:45,138.138 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:40:45,143.143 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:40:47,181.181 INFO    ] ================================================
[2026-10-20 10:40:47,197.197 INFO    ] Launching Daemon at Tue Oct 20 10:40:47 IST 2026
[2026-10-20 10:40:47,207.207 INFO    ] ================================================
[2026-10-20 10:40:47,883.883 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:40:47
[2026-10-20 10:40:48,578.578 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:40:48,883.883 INFO    ] Initializing speech engine...
[2026-10-20 10:40:48,898.898 INFO    ] 2026-10-20 10:40:48
[2026-10-20 10:40:49,180.180 INFO    ] 2026-10-20 10:40:49
[2026-10-20 10:40:49,224.224 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:40:49,511.511 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:40:49,516.516 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:40:49,715.715 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:40:49,733.733 INFO    ] time= 20/10/2026 10:40:49
[2026-10-20 10:40:49,751.751 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:40:49,771.771 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:40:49,893.893 INFO    ] No existing commands found in stream
[2026-10-20 10:40:54,930.930 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:40:54,933.933 INFO    ] Waiting 2.56 seconds before fallback handling...
[2026-10-20 10:40:57,983.983 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:40:57,985.985 INFO    ] Checking for system updates...
[2026-10-20 10:40:58,021.021 INFO    ] 200
[2026-10-20 10:40:58,023.023 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:40:58,083.083 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:40:58,085.085 INFO    ] No update needed
[2026-10-20 10:40:58,088.088 INFO    ] Checking for camera pi updates...
[2026-10-20 10:40:58,121.121 INFO    ] 200
[2026-10-20 10:40:58,124.124 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:40:58,169.169 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:40:58,202.202 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:40:58,204.204 INFO    ] No camera update needed
[2026-10-20 10:40:58,206.206 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:40:58,209.209 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:40:58,214.214 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:40:58,219.219 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:41:00,260.260 INFO    ] ================================================
[2026-10-20 10:41:00,275.275 INFO    ] Launching Daemon at Tue Oct 20 10:41:00 IST 2026
[2026-10-20 10:41:00,286.286 INFO    ] ================================================
[2026-10-20 10:41:00,852.852 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:41:00
[2026-10-20 10:41:01,438.438 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:41:02,025.025 INFO    ] Initializing speech engine...
[2026-10-20 10:41:02,035.035 INFO    ] 2026-10-20 10:41:02
[2026-10-20 10:41:02,380.380 INFO    ] 2026-10-20 10:41:02
[2026-10-20 10:41:02,419.419 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:41:02,625.625 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:41:02,634.634 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:41:02,852.852 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:41:02,876.876 INFO    ] time= 20/10/2026 10:41:02
[2026-10-20 10:41:02,896.896 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:41:02,927.927 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:41:03,024.024 INFO    ] No existing commands found in stream
[2026-10-20 10:41:08,054.054 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:41:08,057.057 INFO    ] Waiting 2.61 seconds before fallback handling...
[2026-10-20 10:41:11,192.192 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:41:11,195.195 INFO    ] Checking for system updates...
[2026-10-20 10:41:11,231.231 INFO    ] 200
[2026-10-20 10:41:11,234.234 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:41:11,287.287 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:41:11,290.290 INFO    ] No update needed
[2026-10-20 10:41:11,292.292 INFO    ] Checking for camera pi updates...
[2026-10-20 10:41:11,326.326 INFO    ] 200
[2026-10-20 10:41:11,328.328 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:41:11,369.369 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:41:11,401.401 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:41:11,403.403 INFO    ] No camera update needed
[2026-10-20 10:41:11,406.406 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:41:11,408.408 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:41:11,414.414 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:41:11,420.420 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:41:13,461.461 INFO    ] ================================================
[2026-10-20 10:41:13,475.475 INFO    ] Launching Daemon at Tue Oct 20 10:41:13 IST 2026
[2026-10-20 10:41:13,486.486 INFO    ] ================================================
[2026-10-20 10:41:14,106.106 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:41:14
[2026-10-20 10:41:14,745.745 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:41:15,039.039 INFO    ] Initializing speech engine...
[2026-10-20 10:41:15,053.053 INFO    ] 2026-10-20 10:41:15
[2026-10-20 10:41:15,324.324 INFO    ] 2026-10-20 10:41:15
[2026-10-20 10:41:15,366.366 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:41:15,657.657 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:41:15,705.705 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:41:15,873.873 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:41:15,899.899 INFO    ] time= 20/10/2026 10:41:15
[2026-10-20 10:41:15,907.907 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:41:15,914.914 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:41:16,052.052 INFO    ] No existing commands found in stream
[2026-10-20 10:41:21,083.083 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:41:21,086.086 INFO    ] Waiting 0.96 seconds before fallback handling...
[2026-10-20 10:41:22,578.578 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:41:22,581.581 INFO    ] Checking for system updates...
[2026-10-20 10:41:22,618.618 INFO    ] 200
[2026-10-20 10:41:22,620.620 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:41:22,677.677 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:41:22,680.680 INFO    ] No update needed
[2026-10-20 10:41:22,683.683 INFO    ] Checking for camera pi updates...
[2026-10-20 10:41:22,720.720 INFO    ] 200
[2026-10-20 10:41:22,723.723 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:41:22,767.767 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:41:22,802.802 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:41:22,805.805 INFO    ] No camera update needed
[2026-10-20 10:41:22,808.808 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:41:22,810.810 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:41:22,816.816 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:41:22,822.822 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:41:24,861.861 INFO    ] ================================================
[2026-10-20 10:41:24,876.876 INFO    ] Launching Daemon at Tue Oct 20 10:41:24 IST 2026
[2026-10-20 10:41:24,887.887 INFO    ] ================================================
[2026-10-20 10:41:25,452.452 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:41:25
[2026-10-20 10:41:26,034.034 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:41:26,305.305 INFO    ] Initializing speech engine...
[2026-10-20 10:41:26,310.310 INFO    ] 2026-10-20 10:41:26
[2026-10-20 10:41:26,568.568 INFO    ] 2026-10-20 10:41:26
[2026-10-20 10:41:26,597.597 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:41:26,846.846 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:41:26,852.852 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:41:27,076.076 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:41:27,106.106 INFO    ] time= 20/10/2026 10:41:27
[2026-10-20 10:41:27,112.112 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:41:27,130.130 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:41:27,273.273 INFO    ] No existing commands found in stream
[2026-10-20 10:41:32,305.305 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:41:32,308.308 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-10-20 10:41:37,173.173 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:41:37,175.175 INFO    ] Checking for system updates...
[2026-10-20 10:41:37,213.213 INFO    ] 200
[2026-10-20 10:41:37,215.215 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:41:37,268.268 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:41:37,271.271 INFO    ] No update needed
[2026-10-20 10:41:37,273.273 INFO    ] Checking for camera pi updates...
[2026-10-20 10:41:37,309.309 INFO    ] 200
[2026-10-20 10:41:37,311.311 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:41:37,351.351 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:41:37,397.397 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:41:37,400.400 INFO    ] No camera update needed
[2026-10-20 10:41:37,402.402 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:41:37,404.404 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:41:37,410.410 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:41:37,415.415 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:41:39,454.454 INFO    ] ================================================
[2026-10-20 10:41:39,474.474 INFO    ] Launching Daemon at Tue Oct 20 10:41:39 IST 2026
[2026-10-20 10:41:39,485.485 INFO    ] ================================================
[2026-10-20 10:41:40,054.054 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:41:40
[2026-10-20 10:41:40,648.648 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:41:40,944.944 INFO    ] Initializing speech engine...
[2026-10-20 10:41:40,953.953 INFO    ] 2026-10-20 10:41:40
[2026-10-20 10:41:41,232.232 INFO    ] 2026-10-20 10:41:41
[2026-10-20 10:41:41,274.274 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:41:41,518.518 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:41:41,522.522 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:41:41,759.759 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:41:41,787.787 INFO    ] time= 20/10/2026 10:41:41
[2026-10-20 10:41:41,793.793 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:41:41,812.812 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:41:41,950.950 INFO    ] No existing commands found in stream
[2026-10-20 10:41:46,970.970 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:41:46,973.973 INFO    ] Waiting 3.34 seconds before fallback handling...
[2026-10-20 10:41:50,800.800 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:41:50,802.802 INFO    ] Checking for system updates...
[2026-10-20 10:41:50,838.838 INFO    ] 200
[2026-10-20 10:41:50,841.841 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:41:50,893.893 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:41:50,896.896 INFO    ] No update needed
[2026-10-20 10:41:50,898.898 INFO    ] Checking for camera pi updates...
[2026-10-20 10:41:50,932.932 INFO    ] 200
[2026-10-20 10:41:50,934.934 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:41:50,975.975 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:41:51,014.014 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:41:51,017.017 INFO    ] No camera update needed
[2026-10-20 10:41:51,019.019 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:41:51,021.021 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:41:51,027.027 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:41:51,032.032 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:41:53,071.071 INFO    ] ================================================
[2026-10-20 10:41:53,086.086 INFO    ] Launching Daemon at Tue Oct 20 10:41:53 IST 2026
[2026-10-20 10:41:53,097.097 INFO    ] ================================================
[2026-10-20 10:41:53,667.667 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:41:53
[2026-10-20 10:41:54,249.249 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:41:54,506.506 INFO    ] Initializing speech engine...
[2026-10-20 10:41:54,519.519 INFO    ] 2026-10-20 10:41:54
[2026-10-20 10:41:54,795.795 INFO    ] 2026-10-20 10:41:54
[2026-10-20 10:41:54,832.832 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:41:55,050.050 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:41:55,058.058 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:41:55,275.275 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:41:55,281.281 INFO    ] time= 20/10/2026 10:41:55
[2026-10-20 10:41:55,330.330 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:41:55,380.380 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:41:55,479.479 INFO    ] No existing commands found in stream
[2026-10-20 10:42:00,492.492 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:42:00,494.494 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-10-20 10:42:04,091.091 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:42:04,094.094 INFO    ] Checking for system updates...
[2026-10-20 10:42:04,132.132 INFO    ] 200
[2026-10-20 10:42:04,134.134 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:42:04,186.186 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:42:04,189.189 INFO    ] No update needed
[2026-10-20 10:42:04,191.191 INFO    ] Checking for camera pi updates...
[2026-10-20 10:42:04,227.227 INFO    ] 200
[2026-10-20 10:42:04,229.229 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:42:04,268.268 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:42:04,303.303 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:42:04,305.305 INFO    ] No camera update needed
[2026-10-20 10:42:04,308.308 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:42:04,310.310 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:42:04,315.315 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:42:04,320.320 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:42:06,359.359 INFO    ] ================================================
[2026-10-20 10:42:06,374.374 INFO    ] Launching Daemon at Tue Oct 20 10:42:06 IST 2026
[2026-10-20 10:42:06,385.385 INFO    ] ================================================
[2026-10-20 10:42:06,950.950 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:42:06
[2026-10-20 10:42:07,532.532 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:42:07,790.790 INFO    ] Initializing speech engine...
[2026-10-20 10:42:07,811.811 INFO    ] 2026-10-20 10:42:07
[2026-10-20 10:42:08,084.084 INFO    ] 2026-10-20 10:42:08
[2026-10-20 10:42:08,119.119 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:42:08,335.335 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:42:08,354.354 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:42:08,560.560 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:42:08,582.582 INFO    ] time= 20/10/2026 10:42:08
[2026-10-20 10:42:08,627.627 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:42:08,681.681 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:42:08,838.838 INFO    ] No existing commands found in stream
[2026-10-20 10:42:13,860.860 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:42:13,863.863 INFO    ] Waiting 2.55 seconds before fallback handling...
[2026-10-20 10:42:16,937.937 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:42:16,940.940 INFO    ] Checking for system updates...
[2026-10-20 10:42:16,975.975 INFO    ] 200
[2026-10-20 10:42:16,978.978 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:42:17,030.030 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:42:17,032.032 INFO    ] No update needed
[2026-10-20 10:42:17,034.034 INFO    ] Checking for camera pi updates...
[2026-10-20 10:42:17,068.068 INFO    ] 200
[2026-10-20 10:42:17,071.071 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:42:17,111.111 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:42:17,147.147 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:42:17,150.150 INFO    ] No camera update needed
[2026-10-20 10:42:17,152.152 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:42:17,154.154 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:42:17,160.160 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:42:17,165.165 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:42:19,205.205 INFO    ] ================================================
[2026-10-20 10:42:19,219.219 INFO    ] Launching Daemon at Tue Oct 20 10:42:19 IST 2026
[2026-10-20 10:42:19,230.230 INFO    ] ================================================
[2026-10-20 10:42:19,863.863 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:42:19
[2026-10-20 10:42:20,518.518 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:42:20,817.817 INFO    ] Initializing speech engine...
[2026-10-20 10:42:20,831.831 INFO    ] 2026-10-20 10:42:20
[2026-10-20 10:42:21,117.117 INFO    ] 2026-10-20 10:42:21
[2026-10-20 10:42:21,160.160 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:42:21,445.445 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:42:21,451.451 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:42:21,647.647 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:42:21,654.654 INFO    ] time= 20/10/2026 10:42:21
[2026-10-20 10:42:21,674.674 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:42:21,701.701 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:42:21,838.838 INFO    ] No existing commands found in stream
[2026-10-20 10:42:26,869.869 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:42:26,872.872 INFO    ] Waiting 1.24 seconds before fallback handling...
[2026-10-20 10:42:28,634.634 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:42:28,637.637 INFO    ] Checking for system updates...
[2026-10-20 10:42:28,674.674 INFO    ] 200
[2026-10-20 10:42:28,676.676 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:42:28,734.734 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:42:28,737.737 INFO    ] No update needed
[2026-10-20 10:42:28,740.740 INFO    ] Checking for camera pi updates...
[2026-10-20 10:42:28,777.777 INFO    ] 200
[2026-10-20 10:42:28,780.780 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:42:28,825.825 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:42:28,861.861 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:42:28,863.863 INFO    ] No camera update needed
[2026-10-20 10:42:28,866.866 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:42:28,869.869 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:42:28,875.875 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:42:28,880.880 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:42:30,920.920 INFO    ] ================================================
[2026-10-20 10:42:30,935.935 INFO    ] Launching Daemon at Tue Oct 20 10:42:30 IST 2026
[2026-10-20 10:42:30,945.945 INFO    ] ================================================
[2026-10-20 10:42:31,607.607 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:42:31
[2026-10-20 10:42:32,240.240 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:42:32,525.525 INFO    ] Initializing speech engine...
[2026-10-20 10:42:32,545.545 INFO    ] 2026-10-20 10:42:32
[2026-10-20 10:42:32,824.824 INFO    ] 2026-10-20 10:42:32
[2026-10-20 10:42:32,866.866 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:42:33,084.084 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:42:33,139.139 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:42:33,350.350 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:42:33,405.405 INFO    ] time= 20/10/2026 10:42:33
[2026-10-20 10:42:33,411.411 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:42:33,428.428 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:42:33,578.578 INFO    ] No existing commands found in stream
[2026-10-20 10:42:38,604.604 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:42:38,606.606 INFO    ] Waiting 3.05 seconds before fallback handling...
[2026-10-20 10:42:42,156.156 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:42:42,159.159 INFO    ] Checking for system updates...
[2026-10-20 10:42:42,194.194 INFO    ] 200
[2026-10-20 10:42:42,196.196 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:42:42,254.254 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:42:42,256.256 INFO    ] No update needed
[2026-10-20 10:42:42,258.258 INFO    ] Checking for camera pi updates...
[2026-10-20 10:42:42,292.292 INFO    ] 200
[2026-10-20 10:42:42,294.294 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:42:42,338.338 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:42:42,385.385 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:42:42,388.388 INFO    ] No camera update needed
[2026-10-20 10:42:42,390.390 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:42:42,393.393 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:42:42,398.398 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:42:42,403.403 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:42:44,443.443 INFO    ] ================================================
[2026-10-20 10:42:44,458.458 INFO    ] Launching Daemon at Tue Oct 20 10:42:44 IST 2026
[2026-10-20 10:42:44,469.469 INFO    ] ================================================
[2026-10-20 10:42:45,047.047 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:42:45
[2026-10-20 10:42:45,627.627 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:42:45,879.879 INFO    ] Initializing speech engine...
[2026-10-20 10:42:45,894.894 INFO    ] 2026-10-20 10:42:45
[2026-10-20 10:42:46,167.167 INFO    ] 2026-10-20 10:42:46
[2026-10-20 10:42:46,201.201 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:42:46,458.458 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:42:46,468.468 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:42:46,696.696 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:42:46,731.731 INFO    ] time= 20/10/2026 10:42:46
[2026-10-20 10:42:46,737.737 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:42:46,757.757 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:42:46,898.898 INFO    ] No existing commands found in stream
[2026-10-20 10:42:51,917.917 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:42:51,920.920 INFO    ] Waiting 0.71 seconds before fallback handling...
[2026-10-20 10:42:53,132.132 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:42:53,135.135 INFO    ] Checking for system updates...
[2026-10-20 10:42:53,173.173 INFO    ] 200
[2026-10-20 10:42:53,176.176 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:42:53,227.227 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:42:53,230.230 INFO    ] No update needed
[2026-10-20 10:42:53,236.236 INFO    ] Checking for camera pi updates...
[2026-10-20 10:42:53,273.273 INFO    ] 200
[2026-10-20 10:42:53,276.276 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:42:53,316.316 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:42:53,355.355 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:42:53,357.357 INFO    ] No camera update needed
[2026-10-20 10:42:53,359.359 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:42:53,362.362 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:42:53,367.367 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:42:53,372.372 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:42:55,414.414 INFO    ] ================================================
[2026-10-20 10:42:55,429.429 INFO    ] Launching Daemon at Tue Oct 20 10:42:55 IST 2026
[2026-10-20 10:42:55,439.439 INFO    ] ================================================
[2026-10-20 10:42:56,028.028 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:42:56
[2026-10-20 10:42:56,626.626 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:42:56,894.894 INFO    ] Initializing speech engine...
[2026-10-20 10:42:56,904.904 INFO    ] 2026-10-20 10:42:56
[2026-10-20 10:42:57,149.149 INFO    ] 2026-10-20 10:42:57
[2026-10-20 10:42:57,184.184 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:42:57,435.435 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:42:57,445.445 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:42:57,685.685 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:42:57,703.703 INFO    ] time= 20/10/2026 10:42:57
[2026-10-20 10:42:57,720.720 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:42:57,728.728 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:42:57,857.857 INFO    ] No existing commands found in stream
[2026-10-20 10:43:02,880.880 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:43:02,884.884 INFO    ] Waiting 1.95 seconds before fallback handling...
[2026-10-20 10:43:05,361.361 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:43:05,364.364 INFO    ] Checking for system updates...
[2026-10-20 10:43:05,400.400 INFO    ] 200
[2026-10-20 10:43:05,402.402 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:43:05,464.464 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:43:05,467.467 INFO    ] No update needed
[2026-10-20 10:43:05,469.469 INFO    ] Checking for camera pi updates...
[2026-10-20 10:43:05,502.502 INFO    ] 200
[2026-10-20 10:43:05,505.505 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:43:05,546.546 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:43:05,597.597 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:43:05,600.600 INFO    ] No camera update needed
[2026-10-20 10:43:05,602.602 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:43:05,605.605 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:43:05,610.610 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:43:05,615.615 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:43:07,655.655 INFO    ] ================================================
[2026-10-20 10:43:07,670.670 INFO    ] Launching Daemon at Tue Oct 20 10:43:07 IST 2026
[2026-10-20 10:43:07,681.681 INFO    ] ================================================
[2026-10-20 10:43:08,250.250 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:43:08
[2026-10-20 10:43:08,838.838 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:43:09,090.090 INFO    ] Initializing speech engine...
[2026-10-20 10:43:09,113.113 INFO    ] 2026-10-20 10:43:09
[2026-10-20 10:43:09,367.367 INFO    ] 2026-10-20 10:43:09
[2026-10-20 10:43:09,402.402 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:43:09,664.664 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:43:09,670.670 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:43:09,856.856 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:43:09,859.859 INFO    ] time= 20/10/2026 10:43:09
[2026-10-20 10:43:09,907.907 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:43:09,942.942 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:43:10,089.089 INFO    ] No existing commands found in stream
[2026-10-20 10:43:15,119.119 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:43:15,122.122 INFO    ] Waiting 0.77 seconds before fallback handling...
[2026-10-20 10:43:16,423.423 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:43:16,426.426 INFO    ] Checking for system updates...
[2026-10-20 10:43:16,462.462 INFO    ] 200
[2026-10-20 10:43:16,465.465 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:43:16,519.519 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:43:16,522.522 INFO    ] No update needed
[2026-10-20 10:43:16,524.524 INFO    ] Checking for camera pi updates...
[2026-10-20 10:43:16,562.562 INFO    ] 200
[2026-10-20 10:43:16,565.565 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:43:16,611.611 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:43:16,652.652 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:43:16,655.655 INFO    ] No camera update needed
[2026-10-20 10:43:16,658.658 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:43:16,661.661 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:43:16,667.667 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:43:16,673.673 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:43:18,714.714 INFO    ] ================================================
[2026-10-20 10:43:18,729.729 INFO    ] Launching Daemon at Tue Oct 20 10:43:18 IST 2026
[2026-10-20 10:43:18,740.740 INFO    ] ================================================
[2026-10-20 10:43:19,311.311 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:43:19
[2026-10-20 10:43:19,903.903 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:43:20,158.158 INFO    ] Initializing speech engine...
[2026-10-20 10:43:20,164.164 INFO    ] 2026-10-20 10:43:20
[2026-10-20 10:43:20,460.460 INFO    ] 2026-10-20 10:43:20
[2026-10-20 10:43:20,495.495 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:43:20,721.721 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:43:20,730.730 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:43:20,949.949 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:43:20,957.957 INFO    ] time= 20/10/2026 10:43:20
[2026-10-20 10:43:21,016.016 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:43:21,070.070 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:43:21,253.253 INFO    ] No existing commands found in stream
[2026-10-20 10:43:26,278.278 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:43:26,281.281 INFO    ] Waiting 2.78 seconds before fallback handling...
[2026-10-20 10:43:29,587.587 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:43:29,590.590 INFO    ] Checking for system updates...
[2026-10-20 10:43:29,627.627 INFO    ] 200
[2026-10-20 10:43:29,630.630 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:43:29,688.688 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:43:29,691.691 INFO    ] No update needed
[2026-10-20 10:43:29,693.693 INFO    ] Checking for camera pi updates...
[2026-10-20 10:43:29,727.727 INFO    ] 200
[2026-10-20 10:43:29,729.729 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:43:29,769.769 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:43:29,805.805 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:43:29,808.808 INFO    ] No camera update needed
[2026-10-20 10:43:29,810.810 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:43:29,813.813 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:43:29,818.818 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:43:29,823.823 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:43:31,863.863 INFO    ] ================================================
[2026-10-20 10:43:31,879.879 INFO    ] Launching Daemon at Tue Oct 20 10:43:31 IST 2026
[2026-10-20 10:43:31,891.891 INFO    ] ================================================
[2026-10-20 10:43:32,578.578 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:43:32
[2026-10-20 10:43:33,267.267 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:43:33,570.570 INFO    ] Initializing speech engine...
[2026-10-20 10:43:33,582.582 INFO    ] 2026-10-20 10:43:33
[2026-10-20 10:43:33,852.852 INFO    ] 2026-10-20 10:43:33
[2026-10-20 10:43:33,907.907 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:43:34,197.197 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:43:34,206.206 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:43:34,396.396 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:43:34,414.414 INFO    ] time= 20/10/2026 10:43:34
[2026-10-20 10:43:34,424.424 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:43:34,452.452 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:43:34,581.581 INFO    ] No existing commands found in stream
[2026-10-20 10:43:39,612.612 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:43:39,615.615 INFO    ] Waiting 0.92 seconds before fallback handling...
[2026-10-20 10:43:41,109.109 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:43:41,112.112 INFO    ] Checking for system updates...
[2026-10-20 10:43:41,148.148 INFO    ] 200
[2026-10-20 10:43:41,152.152 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:43:41,218.218 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:43:41,221.221 INFO    ] No update needed
[2026-10-20 10:43:41,223.223 INFO    ] Checking for camera pi updates...
[2026-10-20 10:43:41,259.259 INFO    ] 200
[2026-10-20 10:43:41,262.262 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:43:41,308.308 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:43:41,344.344 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:43:41,346.346 INFO    ] No camera update needed
[2026-10-20 10:43:41,349.349 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:43:41,351.351 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:43:41,356.356 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:43:41,361.361 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:43:43,400.400 INFO    ] ================================================
[2026-10-20 10:43:43,416.416 INFO    ] Launching Daemon at Tue Oct 20 10:43:43 IST 2026
[2026-10-20 10:43:43,426.426 INFO    ] ================================================
[2026-10-20 10:43:44,076.076 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:43:44
[2026-10-20 10:43:44,738.738 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:43:45,042.042 INFO    ] Initializing speech engine...
[2026-10-20 10:43:45,054.054 INFO    ] 2026-10-20 10:43:45
[2026-10-20 10:43:45,357.357 INFO    ] 2026-10-20 10:43:45
[2026-10-20 10:43:45,445.445 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:43:45,704.704 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:43:45,727.727 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:43:45,907.907 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:43:45,915.915 INFO    ] time= 20/10/2026 10:43:45
[2026-10-20 10:43:45,923.923 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:43:45,983.983 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:43:46,121.121 INFO    ] No existing commands found in stream
[2026-10-20 10:43:51,146.146 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:43:51,149.149 INFO    ] Waiting 1.26 seconds before fallback handling...
[2026-10-20 10:43:52,916.916 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:43:52,920.920 INFO    ] Checking for system updates...
[2026-10-20 10:43:52,956.956 INFO    ] 200
[2026-10-20 10:43:52,959.959 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:43:53,013.013 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:43:53,015.015 INFO    ] No update needed
[2026-10-20 10:43:53,018.018 INFO    ] Checking for camera pi updates...
[2026-10-20 10:43:53,054.054 INFO    ] 200
[2026-10-20 10:43:53,056.056 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:43:53,098.098 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:43:53,134.134 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:43:53,137.137 INFO    ] No camera update needed
[2026-10-20 10:43:53,140.140 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:43:53,143.143 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:43:53,149.149 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:43:53,155.155 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:43:55,195.195 INFO    ] ================================================
[2026-10-20 10:43:55,210.210 INFO    ] Launching Daemon at Tue Oct 20 10:43:55 IST 2026
[2026-10-20 10:43:55,220.220 INFO    ] ================================================
[2026-10-20 10:43:55,798.798 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:43:55
[2026-10-20 10:43:56,380.380 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:43:56,626.626 INFO    ] Initializing speech engine...
[2026-10-20 10:43:56,634.634 INFO    ] 2026-10-20 10:43:56
[2026-10-20 10:43:56,911.911 INFO    ] 2026-10-20 10:43:56
[2026-10-20 10:43:56,945.945 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:43:57,210.210 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:43:57,218.218 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:43:57,412.412 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:43:57,462.462 INFO    ] time= 20/10/2026 10:43:57
[2026-10-20 10:43:57,488.488 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:43:57,494.494 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:43:57,642.642 INFO    ] No existing commands found in stream
[2026-10-20 10:44:02,651.651 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:44:02,654.654 INFO    ] Waiting 1.98 seconds before fallback handling...
[2026-10-20 10:44:05,152.152 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:44:05,155.155 INFO    ] Checking for system updates...
[2026-10-20 10:44:05,191.191 INFO    ] 200
[2026-10-20 10:44:05,194.194 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:44:05,247.247 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:44:05,250.250 INFO    ] No update needed
[2026-10-20 10:44:05,253.253 INFO    ] Checking for camera pi updates...
[2026-10-20 10:44:05,291.291 INFO    ] 200
[2026-10-20 10:44:05,294.294 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:44:05,344.344 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:44:05,498.498 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:44:05,501.501 INFO    ] No camera update needed
[2026-10-20 10:44:05,503.503 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:44:05,506.506 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:44:05,512.512 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:44:05,518.518 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:44:07,560.560 INFO    ] ================================================
[2026-10-20 10:44:07,575.575 INFO    ] Launching Daemon at Tue Oct 20 10:44:07 IST 2026
[2026-10-20 10:44:07,585.585 INFO    ] ================================================
[2026-10-20 10:44:08,162.162 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:44:08
[2026-10-20 10:44:08,748.748 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:44:09,016.016 INFO    ] Initializing speech engine...
[2026-10-20 10:44:09,026.026 INFO    ] 2026-10-20 10:44:09
[2026-10-20 10:44:09,279.279 INFO    ] 2026-10-20 10:44:09
[2026-10-20 10:44:09,313.313 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:44:09,562.562 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:44:09,567.567 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:44:09,792.792 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:44:09,823.823 INFO    ] time= 20/10/2026 10:44:09
[2026-10-20 10:44:09,829.829 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:44:09,849.849 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:44:09,973.973 INFO    ] No existing commands found in stream
[2026-10-20 10:44:14,987.987 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:44:14,990.990 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-10-20 10:44:22,872.872 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:44:22,875.875 INFO    ] Checking for system updates...
[2026-10-20 10:44:22,912.912 INFO    ] 200
[2026-10-20 10:44:22,915.915 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:44:22,974.974 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:44:22,978.978 INFO    ] No update needed
[2026-10-20 10:44:22,981.981 INFO    ] Checking for camera pi updates...
[2026-10-20 10:44:23,023.023 INFO    ] 200
[2026-10-20 10:44:23,026.026 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:44:23,068.068 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:44:23,106.106 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:44:23,109.109 INFO    ] No camera update needed
[2026-10-20 10:44:23,112.112 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:44:23,115.115 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:44:23,121.121 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:44:23,126.126 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:44:25,168.168 INFO    ] ================================================
[2026-10-20 10:44:25,183.183 INFO    ] Launching Daemon at Tue Oct 20 10:44:25 IST 2026
[2026-10-20 10:44:25,194.194 INFO    ] ================================================
[2026-10-20 10:44:25,760.760 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:44:25
[2026-10-20 10:44:26,346.346 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:44:26,597.597 INFO    ] Initializing speech engine...
[2026-10-20 10:44:26,604.604 INFO    ] 2026-10-20 10:44:26
[2026-10-20 10:44:26,897.897 INFO    ] 2026-10-20 10:44:26
[2026-10-20 10:44:26,946.946 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:44:27,236.236 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:44:27,247.247 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:44:27,477.477 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:44:27,532.532 INFO    ] time= 20/10/2026 10:44:27
[2026-10-20 10:44:27,547.547 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:44:27,553.553 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:44:27,716.716 INFO    ] No existing commands found in stream
[2026-10-20 10:44:32,732.732 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:44:32,735.735 INFO    ] Waiting 3.87 seconds before fallback handling...
[2026-10-20 10:44:37,094.094 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:44:37,097.097 INFO    ] Checking for system updates...
[2026-10-20 10:44:37,133.133 INFO    ] 200
[2026-10-20 10:44:37,136.136 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:44:37,190.190 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:44:37,193.193 INFO    ] No update needed
[2026-10-20 10:44:37,195.195 INFO    ] Checking for camera pi updates...
[2026-10-20 10:44:37,230.230 INFO    ] 200
[2026-10-20 10:44:37,233.233 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:44:37,274.274 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:44:37,315.315 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:44:37,318.318 INFO    ] No camera update needed
[2026-10-20 10:44:37,321.321 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:44:37,323.323 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:44:37,329.329 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:44:37,335.335 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:44:39,375.375 INFO    ] ================================================
[2026-10-20 10:44:39,390.390 INFO    ] Launching Daemon at Tue Oct 20 10:44:39 IST 2026
[2026-10-20 10:44:39,401.401 INFO    ] ================================================
[2026-10-20 10:44:39,990.990 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:44:39
[2026-10-20 10:44:40,596.596 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:44:40,880.880 INFO    ] Initializing speech engine...
[2026-10-20 10:44:40,893.893 INFO    ] 2026-10-20 10:44:40
[2026-10-20 10:44:41,166.166 INFO    ] 2026-10-20 10:44:41
[2026-10-20 10:44:41,203.203 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:44:41,430.430 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:44:41,449.449 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:44:41,639.639 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:44:41,714.714 INFO    ] time= 20/10/2026 10:44:41
[2026-10-20 10:44:41,762.762 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:44:41,780.780 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:44:41,943.943 INFO    ] No existing commands found in stream
[2026-10-20 10:44:46,979.979 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:44:46,982.982 INFO    ] Waiting 3.03 seconds before fallback handling...
[2026-10-20 10:44:50,623.623 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:44:50,626.626 INFO    ] Checking for system updates...
[2026-10-20 10:44:50,663.663 INFO    ] 200
[2026-10-20 10:44:50,666.666 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:44:50,726.726 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:44:50,728.728 INFO    ] No update needed
[2026-10-20 10:44:50,732.732 INFO    ] Checking for camera pi updates...
[2026-10-20 10:44:50,767.767 INFO    ] 200
[2026-10-20 10:44:50,770.770 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:44:50,811.811 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:44:50,846.846 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:44:50,848.848 INFO    ] No camera update needed
[2026-10-20 10:44:50,851.851 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:44:50,853.853 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:44:50,859.859 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:44:50,864.864 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:44:52,903.903 INFO    ] ================================================
[2026-10-20 10:44:52,918.918 INFO    ] Launching Daemon at Tue Oct 20 10:44:52 IST 2026
[2026-10-20 10:44:52,929.929 INFO    ] ================================================
[2026-10-20 10:44:53,499.499 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:44:53
[2026-10-20 10:44:54,088.088 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:44:54,359.359 INFO    ] Initializing speech engine...
[2026-10-20 10:44:54,376.376 INFO    ] 2026-10-20 10:44:54
[2026-10-20 10:44:54,646.646 INFO    ] 2026-10-20 10:44:54
[2026-10-20 10:44:54,684.684 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:44:54,912.912 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:44:54,977.977 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:44:55,136.136 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:44:55,173.173 INFO    ] time= 20/10/2026 10:44:55
[2026-10-20 10:44:55,227.227 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:44:55,281.281 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:44:55,448.448 INFO    ] No existing commands found in stream
[2026-10-20 10:45:00,469.469 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:45:00,472.472 INFO    ] Waiting 3.92 seconds before fallback handling...
[2026-10-20 10:45:04,853.853 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:45:04,855.855 INFO    ] Checking for system updates...
[2026-10-20 10:45:04,891.891 INFO    ] 200
[2026-10-20 10:45:04,893.893 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:45:04,950.950 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:45:04,952.952 INFO    ] No update needed
[2026-10-20 10:45:04,955.955 INFO    ] Checking for camera pi updates...
[2026-10-20 10:45:04,989.989 INFO    ] 200
[2026-10-20 10:45:04,991.991 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:45:05,032.032 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:45:05,065.065 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:45:05,067.067 INFO    ] No camera update needed
[2026-10-20 10:45:05,070.070 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:45:05,072.072 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:45:05,077.077 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:45:05,082.082 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:45:07,124.124 INFO    ] ================================================
[2026-10-20 10:45:07,139.139 INFO    ] Launching Daemon at Tue Oct 20 10:45:07 IST 2026
[2026-10-20 10:45:07,149.149 INFO    ] ================================================
[2026-10-20 10:45:07,720.720 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:45:07
[2026-10-20 10:45:08,309.309 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:45:08,563.563 INFO    ] Initializing speech engine...
[2026-10-20 10:45:08,575.575 INFO    ] 2026-10-20 10:45:08
[2026-10-20 10:45:08,837.837 INFO    ] 2026-10-20 10:45:08
[2026-10-20 10:45:08,873.873 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:45:09,076.076 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:45:09,121.121 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:45:09,300.300 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:45:09,312.312 INFO    ] time= 20/10/2026 10:45:09
[2026-10-20 10:45:09,366.366 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:45:09,410.410 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:45:09,511.511 INFO    ] No existing commands found in stream
[2026-10-20 10:45:14,523.523 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:45:14,526.526 INFO    ] Waiting 1.44 seconds before fallback handling...
[2026-10-20 10:45:16,506.506 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:45:16,509.509 INFO    ] Checking for system updates...
[2026-10-20 10:45:16,544.544 INFO    ] 200
[2026-10-20 10:45:16,547.547 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:45:16,604.604 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:45:16,606.606 INFO    ] No update needed
[2026-10-20 10:45:16,609.609 INFO    ] Checking for camera pi updates...
[2026-10-20 10:45:16,656.656 INFO    ] 200
[2026-10-20 10:45:16,659.659 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:45:16,698.698 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:45:16,754.754 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:45:16,756.756 INFO    ] No camera update needed
[2026-10-20 10:45:16,759.759 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:45:16,761.761 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:45:16,766.766 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:45:16,771.771 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:45:18,812.812 INFO    ] ================================================
[2026-10-20 10:45:18,827.827 INFO    ] Launching Daemon at Tue Oct 20 10:45:18 IST 2026
[2026-10-20 10:45:18,838.838 INFO    ] ================================================
[2026-10-20 10:45:19,422.422 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:45:19
[2026-10-20 10:45:20,080.080 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:45:20,396.396 INFO    ] Initializing speech engine...
[2026-10-20 10:45:20,402.402 INFO    ] 2026-10-20 10:45:20
[2026-10-20 10:45:20,711.711 INFO    ] 2026-10-20 10:45:20
[2026-10-20 10:45:20,797.797 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:45:21,048.048 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:45:21,094.094 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:45:21,341.341 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:45:21,382.382 INFO    ] time= 20/10/2026 10:45:21
[2026-10-20 10:45:21,432.432 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:45:21,476.476 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:45:21,626.626 INFO    ] No existing commands found in stream
[2026-10-20 10:45:26,650.650 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:45:26,654.654 INFO    ] Waiting 2.29 seconds before fallback handling...
[2026-10-20 10:45:29,476.476 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:45:29,479.479 INFO    ] Checking for system updates...
[2026-10-20 10:45:29,515.515 INFO    ] 200
[2026-10-20 10:45:29,518.518 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:45:29,579.579 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:45:29,582.582 INFO    ] No update needed
[2026-10-20 10:45:29,585.585 INFO    ] Checking for camera pi updates...
[2026-10-20 10:45:29,620.620 INFO    ] 200
[2026-10-20 10:45:29,623.623 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:45:29,674.674 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:45:29,709.709 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:45:29,711.711 INFO    ] No camera update needed
[2026-10-20 10:45:29,714.714 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:45:29,716.716 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:45:29,721.721 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:45:29,726.726 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:45:31,767.767 INFO    ] ================================================
[2026-10-20 10:45:31,783.783 INFO    ] Launching Daemon at Tue Oct 20 10:45:31 IST 2026
[2026-10-20 10:45:31,794.794 INFO    ] ================================================
[2026-10-20 10:45:32,394.394 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:45:32
[2026-10-20 10:45:33,008.008 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:45:33,267.267 INFO    ] Initializing speech engine...
[2026-10-20 10:45:33,275.275 INFO    ] 2026-10-20 10:45:33
[2026-10-20 10:45:33,553.553 INFO    ] 2026-10-20 10:45:33
[2026-10-20 10:45:33,594.594 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:45:33,848.848 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:45:33,857.857 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:45:34,038.038 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:45:34,113.113 INFO    ] time= 20/10/2026 10:45:34
[2026-10-20 10:45:34,131.131 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:45:34,147.147 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:45:34,283.283 INFO    ] No existing commands found in stream
[2026-10-20 10:45:39,318.318 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:45:39,321.321 INFO    ] Waiting 3.56 seconds before fallback handling...
[2026-10-20 10:45:43,432.432 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:45:43,435.435 INFO    ] Checking for system updates...
[2026-10-20 10:45:43,472.472 INFO    ] 200
[2026-10-20 10:45:43,475.475 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:45:43,530.530 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:45:43,533.533 INFO    ] No update needed
[2026-10-20 10:45:43,535.535 INFO    ] Checking for camera pi updates...
[2026-10-20 10:45:43,570.570 INFO    ] 200
[2026-10-20 10:45:43,573.573 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:45:43,614.614 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:45:43,649.649 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:45:43,652.652 INFO    ] No camera update needed
[2026-10-20 10:45:43,655.655 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:45:43,657.657 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:45:43,665.665 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:45:43,671.671 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:45:45,710.710 INFO    ] ================================================
[2026-10-20 10:45:45,725.725 INFO    ] Launching Daemon at Tue Oct 20 10:45:45 IST 2026
[2026-10-20 10:45:45,736.736 INFO    ] ================================================
[2026-10-20 10:45:46,319.319 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:45:46
[2026-10-20 10:45:46,921.921 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:45:47,226.226 INFO    ] Initializing speech engine...
[2026-10-20 10:45:47,240.240 INFO    ] 2026-10-20 10:45:47
[2026-10-20 10:45:47,556.556 INFO    ] 2026-10-20 10:45:47
[2026-10-20 10:45:47,642.642 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:45:47,859.859 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:45:47,865.865 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:45:48,057.057 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:45:48,076.076 INFO    ] time= 20/10/2026 10:45:48
[2026-10-20 10:45:48,086.086 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:45:48,114.114 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:45:48,244.244 INFO    ] No existing commands found in stream
[2026-10-20 10:45:53,275.275 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:45:53,278.278 INFO    ] Waiting 2.23 seconds before fallback handling...
[2026-10-20 10:45:56,050.050 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:45:56,053.053 INFO    ] Checking for system updates...
[2026-10-20 10:45:56,090.090 INFO    ] 200
[2026-10-20 10:45:56,094.094 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:45:56,150.150 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:45:56,153.153 INFO    ] No update needed
[2026-10-20 10:45:56,156.156 INFO    ] Checking for camera pi updates...
[2026-10-20 10:45:56,191.191 INFO    ] 200
[2026-10-20 10:45:56,194.194 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:45:56,234.234 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:45:56,274.274 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:45:56,277.277 INFO    ] No camera update needed
[2026-10-20 10:45:56,279.279 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:45:56,282.282 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:45:56,287.287 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:45:56,292.292 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:45:58,331.331 INFO    ] ================================================
[2026-10-20 10:45:58,346.346 INFO    ] Launching Daemon at Tue Oct 20 10:45:58 IST 2026
[2026-10-20 10:45:58,357.357 INFO    ] ================================================
[2026-10-20 10:45:58,990.990 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:45:58
[2026-10-20 10:45:59,662.662 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:45:59,939.939 INFO    ] Initializing speech engine...
[2026-10-20 10:45:59,945.945 INFO    ] 2026-10-20 10:45:59
[2026-10-20 10:46:00,189.189 INFO    ] 2026-10-20 10:46:00
[2026-10-20 10:46:00,224.224 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:46:00,474.474 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:46:00,483.483 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:46:00,691.691 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:46:00,736.736 INFO    ] time= 20/10/2026 10:46:00
[2026-10-20 10:46:00,746.746 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:46:00,764.764 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:46:00,897.897 INFO    ] No existing commands found in stream
[2026-10-20 10:46:05,920.920 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:46:05,923.923 INFO    ] Waiting 0.65 seconds before fallback handling...
[2026-10-20 10:46:07,093.093 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:46:07,095.095 INFO    ] Checking for system updates...
[2026-10-20 10:46:07,131.131 INFO    ] 200
[2026-10-20 10:46:07,134.134 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:46:07,187.187 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:46:07,190.190 INFO    ] No update needed
[2026-10-20 10:46:07,192.192 INFO    ] Checking for camera pi updates...
[2026-10-20 10:46:07,230.230 INFO    ] 200
[2026-10-20 10:46:07,232.232 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:46:07,272.272 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:46:07,406.406 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:46:07,409.409 INFO    ] No camera update needed
[2026-10-20 10:46:07,411.411 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:46:07,413.413 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:46:07,419.419 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:46:07,424.424 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:46:09,463.463 INFO    ] ================================================
[2026-10-20 10:46:09,478.478 INFO    ] Launching Daemon at Tue Oct 20 10:46:09 IST 2026
[2026-10-20 10:46:09,489.489 INFO    ] ================================================
[2026-10-20 10:46:10,055.055 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:46:10
[2026-10-20 10:46:10,641.641 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:46:10,894.894 INFO    ] Initializing speech engine...
[2026-10-20 10:46:10,917.917 INFO    ] 2026-10-20 10:46:10
[2026-10-20 10:46:11,173.173 INFO    ] 2026-10-20 10:46:11
[2026-10-20 10:46:11,209.209 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:46:11,467.467 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:46:11,476.476 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:46:11,708.708 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:46:11,744.744 INFO    ] time= 20/10/2026 10:46:11
[2026-10-20 10:46:11,750.750 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:46:11,771.771 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:46:11,921.921 INFO    ] No existing commands found in stream
[2026-10-20 10:46:16,958.958 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:46:16,961.961 INFO    ] Waiting 3.04 seconds before fallback handling...
[2026-10-20 10:46:20,513.513 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:46:20,515.515 INFO    ] Checking for system updates...
[2026-10-20 10:46:20,551.551 INFO    ] 200
[2026-10-20 10:46:20,553.553 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:46:20,606.606 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:46:20,609.609 INFO    ] No update needed
[2026-10-20 10:46:20,611.611 INFO    ] Checking for camera pi updates...
[2026-10-20 10:46:20,645.645 INFO    ] 200
[2026-10-20 10:46:20,647.647 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:46:20,688.688 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:46:20,722.722 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:46:20,724.724 INFO    ] No camera update needed
[2026-10-20 10:46:20,727.727 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:46:20,729.729 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:46:20,734.734 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:46:20,739.739 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:46:22,779.779 INFO    ] ================================================
[2026-10-20 10:46:22,794.794 INFO    ] Launching Daemon at Tue Oct 20 10:46:22 IST 2026
[2026-10-20 10:46:22,804.804 INFO    ] ================================================
[2026-10-20 10:46:23,371.371 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:46:23
[2026-10-20 10:46:23,955.955 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:46:24,206.206 INFO    ] Initializing speech engine...
[2026-10-20 10:46:24,229.229 INFO    ] 2026-10-20 10:46:24
[2026-10-20 10:46:24,484.484 INFO    ] 2026-10-20 10:46:24
[2026-10-20 10:46:24,520.520 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:46:24,778.778 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:46:24,787.787 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:46:25,016.016 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:46:25,053.053 INFO    ] time= 20/10/2026 10:46:25
[2026-10-20 10:46:25,059.059 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:46:25,077.077 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:46:25,212.212 INFO    ] No existing commands found in stream
[2026-10-20 10:46:30,240.240 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:46:30,243.243 INFO    ] Waiting 2.34 seconds before fallback handling...
[2026-10-20 10:46:33,077.077 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:46:33,080.080 INFO    ] Checking for system updates...
[2026-10-20 10:46:33,121.121 INFO    ] 200
[2026-10-20 10:46:33,123.123 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:46:33,182.182 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:46:33,185.185 INFO    ] No update needed
[2026-10-20 10:46:33,187.187 INFO    ] Checking for camera pi updates...
[2026-10-20 10:46:33,220.220 INFO    ] 200
[2026-10-20 10:46:33,223.223 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:46:33,263.263 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:46:33,297.297 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:46:33,300.300 INFO    ] No camera update needed
[2026-10-20 10:46:33,302.302 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:46:33,305.305 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:46:33,310.310 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:46:33,315.315 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:46:35,354.354 INFO    ] ================================================
[2026-10-20 10:46:35,369.369 INFO    ] Launching Daemon at Tue Oct 20 10:46:35 IST 2026
[2026-10-20 10:46:35,379.379 INFO    ] ================================================
[2026-10-20 10:46:35,946.946 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:46:35
[2026-10-20 10:46:36,528.528 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:46:36,783.783 INFO    ] Initializing speech engine...
[2026-10-20 10:46:36,789.789 INFO    ] 2026-10-20 10:46:36
[2026-10-20 10:46:37,079.079 INFO    ] 2026-10-20 10:46:37
[2026-10-20 10:46:37,114.114 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:46:37,371.371 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:46:37,374.374 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:46:37,567.567 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:46:37,622.622 INFO    ] time= 20/10/2026 10:46:37
[2026-10-20 10:46:37,637.637 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:46:37,643.643 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:46:37,785.785 INFO    ] No existing commands found in stream
[2026-10-20 10:46:42,801.801 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:46:42,804.804 INFO    ] Waiting 0.94 seconds before fallback handling...
[2026-10-20 10:46:44,249.249 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:46:44,252.252 INFO    ] Checking for system updates...
[2026-10-20 10:46:44,287.287 INFO    ] 200
[2026-10-20 10:46:44,290.290 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:46:44,349.349 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:46:44,351.351 INFO    ] No update needed
[2026-10-20 10:46:44,354.354 INFO    ] Checking for camera pi updates...
[2026-10-20 10:46:44,386.386 INFO    ] 200
[2026-10-20 10:46:44,389.389 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:46:44,430.430 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:46:44,469.469 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:46:44,471.471 INFO    ] No camera update needed
[2026-10-20 10:46:44,474.474 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:46:44,476.476 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:46:44,481.481 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:46:44,486.486 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:46:46,525.525 INFO    ] ================================================
[2026-10-20 10:46:46,540.540 INFO    ] Launching Daemon at Tue Oct 20 10:46:46 IST 2026
[2026-10-20 10:46:46,551.551 INFO    ] ================================================
[2026-10-20 10:46:47,118.118 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:46:47
[2026-10-20 10:46:47,701.701 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:46:47,949.949 INFO    ] Initializing speech engine...
[2026-10-20 10:46:47,961.961 INFO    ] 2026-10-20 10:46:47
[2026-10-20 10:46:48,223.223 INFO    ] 2026-10-20 10:46:48
[2026-10-20 10:46:48,257.257 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:46:48,508.508 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:46:48,517.517 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:46:48,697.697 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:46:48,757.757 INFO    ] time= 20/10/2026 10:46:48
[2026-10-20 10:46:48,778.778 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:46:48,784.784 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:46:48,938.938 INFO    ] No existing commands found in stream
[2026-10-20 10:46:53,969.969 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:46:53,971.971 INFO    ] Waiting 0.79 seconds before fallback handling...
[2026-10-20 10:46:56,846.846 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:46:56,849.849 INFO    ] Checking for system updates...
[2026-10-20 10:46:56,887.887 INFO    ] 200
[2026-10-20 10:46:56,889.889 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:46:56,941.941 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:46:56,943.943 INFO    ] No update needed
[2026-10-20 10:46:56,946.946 INFO    ] Checking for camera pi updates...
[2026-10-20 10:46:56,980.980 INFO    ] 200
[2026-10-20 10:46:56,982.982 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:46:57,024.024 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:46:57,058.058 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:46:57,061.061 INFO    ] No camera update needed
[2026-10-20 10:46:57,067.067 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:46:57,070.070 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:46:57,076.076 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:46:57,081.081 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:46:59,123.123 INFO    ] ================================================
[2026-10-20 10:46:59,138.138 INFO    ] Launching Daemon at Tue Oct 20 10:46:59 IST 2026
[2026-10-20 10:46:59,148.148 INFO    ] ================================================
[2026-10-20 10:46:59,721.721 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:46:59
[2026-10-20 10:47:00,307.307 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:47:00,576.576 INFO    ] Initializing speech engine...
[2026-10-20 10:47:00,585.585 INFO    ] 2026-10-20 10:47:00
[2026-10-20 10:47:00,830.830 INFO    ] 2026-10-20 10:47:00
[2026-10-20 10:47:00,866.866 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:47:01,118.118 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:47:01,127.127 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:47:01,323.323 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:47:01,377.377 INFO    ] time= 20/10/2026 10:47:01
[2026-10-20 10:47:01,389.389 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:47:01,395.395 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:47:01,541.541 INFO    ] No existing commands found in stream
[2026-10-20 10:47:06,559.559 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:47:06,562.562 INFO    ] Waiting 2.39 seconds before fallback handling...
[2026-10-20 10:47:09,483.483 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 10:47:09,486.486 INFO    ] Checking for system updates...
[2026-10-20 10:47:09,526.526 INFO    ] 200
[2026-10-20 10:47:09,528.528 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:47:09,588.588 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:47:09,590.590 INFO    ] No update needed
[2026-10-20 10:47:09,593.593 INFO    ] Checking for camera pi updates...
[2026-10-20 10:47:09,626.626 INFO    ] 200
[2026-10-20 10:47:09,628.628 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:47:09,669.669 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:47:09,720.720 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:47:09,722.722 INFO    ] No camera update needed
[2026-10-20 10:47:09,725.725 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:47:09,727.727 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:47:09,732.732 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:47:09,737.737 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:47:11,776.776 INFO    ] ================================================
[2026-10-20 10:47:11,791.791 INFO    ] Launching Daemon at Tue Oct 20 10:47:11 IST 2026
[2026-10-20 10:47:11,802.802 INFO    ] ================================================
[2026-10-20 10:47:12,370.370 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:47:12
[2026-10-20 10:47:12,954.954 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:47:13,228.228 INFO    ] Initializing speech engine...
[2026-10-20 10:47:13,237.237 INFO    ] 2026-10-20 10:47:13
[2026-10-20 10:47:13,488.488 INFO    ] 2026-10-20 10:47:13
[2026-10-20 10:47:13,523.523 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:47:13,727.727 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:47:13,779.779 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:47:13,993.993 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:47:14,043.043 INFO    ] time= 20/10/2026 10:47:14
[2026-10-20 10:47:14,064.064 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:47:14,070.070 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:47:14,216.216 INFO    ] No existing commands found in stream
[2026-10-20 10:47:19,231.231 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:47:19,233.233 INFO    ] Waiting 2.68 seconds before fallback handling...
[2026-10-20 10:47:22,419.419 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:47:22,422.422 INFO    ] Checking for system updates...
[2026-10-20 10:47:22,462.462 INFO    ] 200
[2026-10-20 10:47:22,465.465 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:47:22,516.516 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:47:22,519.519 INFO    ] No update needed
[2026-10-20 10:47:22,521.521 INFO    ] Checking for camera pi updates...
[2026-10-20 10:47:22,555.555 INFO    ] 200
[2026-10-20 10:47:22,557.557 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:47:22,604.604 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:47:22,639.639 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:47:22,642.642 INFO    ] No camera update needed
[2026-10-20 10:47:22,644.644 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:47:22,647.647 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:47:22,652.652 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:47:22,657.657 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:47:24,696.696 INFO    ] ================================================
[2026-10-20 10:47:24,711.711 INFO    ] Launching Daemon at Tue Oct 20 10:47:24 IST 2026
[2026-10-20 10:47:24,722.722 INFO    ] ================================================
[2026-10-20 10:47:25,303.303 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:47:25
[2026-10-20 10:47:25,902.902 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:47:26,177.177 INFO    ] Initializing speech engine...
[2026-10-20 10:47:26,186.186 INFO    ] 2026-10-20 10:47:26
[2026-10-20 10:47:26,434.434 INFO    ] 2026-10-20 10:47:26
[2026-10-20 10:47:26,476.476 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:47:26,724.724 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:47:26,729.729 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:47:26,939.939 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:47:26,987.987 INFO    ] time= 20/10/2026 10:47:26
[2026-10-20 10:47:26,993.993 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:47:27,015.015 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:47:27,157.157 INFO    ] No existing commands found in stream
[2026-10-20 10:47:32,189.189 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:47:32,192.192 INFO    ] Waiting 3.68 seconds before fallback handling...
[2026-10-20 10:47:36,405.405 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:47:36,408.408 INFO    ] Checking for system updates...
[2026-10-20 10:47:36,449.449 INFO    ] 200
[2026-10-20 10:47:36,451.451 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:47:36,505.505 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:47:36,507.507 INFO    ] No update needed
[2026-10-20 10:47:36,510.510 INFO    ] Checking for camera pi updates...
[2026-10-20 10:47:36,545.545 INFO    ] 200
[2026-10-20 10:47:36,547.547 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:47:36,587.587 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:47:36,626.626 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:47:36,628.628 INFO    ] No camera update needed
[2026-10-20 10:47:36,631.631 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:47:36,633.633 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:47:36,638.638 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:47:36,644.644 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:47:38,682.682 INFO    ] ================================================
[2026-10-20 10:47:38,697.697 INFO    ] Launching Daemon at Tue Oct 20 10:47:38 IST 2026
[2026-10-20 10:47:38,708.708 INFO    ] ================================================
[2026-10-20 10:47:39,281.281 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:47:39
[2026-10-20 10:47:39,873.873 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:47:40,127.127 INFO    ] Initializing speech engine...
[2026-10-20 10:47:40,151.151 INFO    ] 2026-10-20 10:47:40
[2026-10-20 10:47:40,405.405 INFO    ] 2026-10-20 10:47:40
[2026-10-20 10:47:40,440.440 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:47:40,630.630 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:47:40,647.647 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:47:40,847.847 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:47:40,863.863 INFO    ] time= 20/10/2026 10:47:40
[2026-10-20 10:47:40,917.917 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:47:40,977.977 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:47:41,143.143 INFO    ] No existing commands found in stream
[2026-10-20 10:47:46,174.174 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:47:46,177.177 INFO    ] Waiting 3.01 seconds before fallback handling...
[2026-10-20 10:47:49,757.757 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:47:49,760.760 INFO    ] Checking for system updates...
[2026-10-20 10:47:49,801.801 INFO    ] 200
[2026-10-20 10:47:49,803.803 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:47:49,863.863 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:47:49,865.865 INFO    ] No update needed
[2026-10-20 10:47:49,867.867 INFO    ] Checking for camera pi updates...
[2026-10-20 10:47:49,901.901 INFO    ] 200
[2026-10-20 10:47:49,903.903 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:47:49,949.949 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:47:49,985.985 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:47:49,988.988 INFO    ] No camera update needed
[2026-10-20 10:47:49,990.990 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:47:49,993.993 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:47:49,998.998 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:47:50,003.003 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:47:52,043.043 INFO    ] ================================================
[2026-10-20 10:47:52,058.058 INFO    ] Launching Daemon at Tue Oct 20 10:47:52 IST 2026
[2026-10-20 10:47:52,068.068 INFO    ] ================================================
[2026-10-20 10:47:52,640.640 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:47:52
[2026-10-20 10:47:53,231.231 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:47:53,506.506 INFO    ] Initializing speech engine...
[2026-10-20 10:47:53,512.512 INFO    ] 2026-10-20 10:47:53
[2026-10-20 10:47:53,772.772 INFO    ] 2026-10-20 10:47:53
[2026-10-20 10:47:53,825.825 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:47:54,075.075 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:47:54,095.095 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:47:54,309.309 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:47:54,315.315 INFO    ] time= 20/10/2026 10:47:54
[2026-10-20 10:47:54,333.333 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:47:54,350.350 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:47:54,493.493 INFO    ] No existing commands found in stream
[2026-10-20 10:47:59,523.523 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:47:59,526.526 INFO    ] Waiting 1.71 seconds before fallback handling...
[2026-10-20 10:48:01,786.786 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:48:01,789.789 INFO    ] Checking for system updates...
[2026-10-20 10:48:01,826.826 INFO    ] 200
[2026-10-20 10:48:01,829.829 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:48:01,889.889 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:48:01,892.892 INFO    ] No update needed
[2026-10-20 10:48:01,895.895 INFO    ] Checking for camera pi updates...
[2026-10-20 10:48:01,934.934 INFO    ] 200
[2026-10-20 10:48:01,936.936 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:48:02,017.017 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:48:02,091.091 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:48:02,095.095 INFO    ] No camera update needed
[2026-10-20 10:48:02,101.101 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:48:02,105.105 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:48:02,114.114 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:48:02,125.125 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:48:04,169.169 INFO    ] ================================================
[2026-10-20 10:48:04,184.184 INFO    ] Launching Daemon at Tue Oct 20 10:48:04 IST 2026
[2026-10-20 10:48:04,194.194 INFO    ] ================================================
[2026-10-20 10:48:04,778.778 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:48:04
[2026-10-20 10:48:05,382.382 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:48:05,661.661 INFO    ] Initializing speech engine...
[2026-10-20 10:48:05,668.668 INFO    ] 2026-10-20 10:48:05
[2026-10-20 10:48:05,926.926 INFO    ] 2026-10-20 10:48:05
[2026-10-20 10:48:05,957.957 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:48:06,206.206 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:48:06,211.211 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:48:06,344.344 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:48:06,404.404 INFO    ] time= 20/10/2026 10:48:06
[2026-10-20 10:48:06,464.464 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:48:06,477.477 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:48:06,623.623 INFO    ] No existing commands found in stream
[2026-10-20 10:48:11,642.642 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:48:11,645.645 INFO    ] Waiting 3.12 seconds before fallback handling...
[2026-10-20 10:48:15,293.293 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 10:48:15,295.295 INFO    ] Checking for system updates...
[2026-10-20 10:48:15,331.331 INFO    ] 200
[2026-10-20 10:48:15,333.333 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:48:15,391.391 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:48:15,394.394 INFO    ] No update needed
[2026-10-20 10:48:15,396.396 INFO    ] Checking for camera pi updates...
[2026-10-20 10:48:15,434.434 INFO    ] 200
[2026-10-20 10:48:15,436.436 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:48:15,482.482 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:48:15,615.615 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:48:15,618.618 INFO    ] No camera update needed
[2026-10-20 10:48:15,621.621 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:48:15,623.623 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:48:15,637.637 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:48:15,643.643 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:48:17,682.682 INFO    ] ================================================
[2026-10-20 10:48:17,697.697 INFO    ] Launching Daemon at Tue Oct 20 10:48:17 IST 2026
[2026-10-20 10:48:17,708.708 INFO    ] ================================================
[2026-10-20 10:48:18,278.278 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:48:18
[2026-10-20 10:48:18,865.865 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:48:19,139.139 INFO    ] Initializing speech engine...
[2026-10-20 10:48:19,144.144 INFO    ] 2026-10-20 10:48:19
[2026-10-20 10:48:19,405.405 INFO    ] 2026-10-20 10:48:19
[2026-10-20 10:48:19,434.434 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:48:19,685.685 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:48:19,690.690 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:48:19,902.902 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:48:19,945.945 INFO    ] time= 20/10/2026 10:48:19
[2026-10-20 10:48:19,951.951 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:48:19,968.968 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:48:20,100.100 INFO    ] No existing commands found in stream
[2026-10-20 10:48:25,120.120 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:48:25,122.122 INFO    ] Waiting 0.84 seconds before fallback handling...
[2026-10-20 10:48:26,491.491 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:48:26,494.494 INFO    ] Checking for system updates...
[2026-10-20 10:48:26,532.532 INFO    ] 200
[2026-10-20 10:48:26,535.535 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:48:26,592.592 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:48:26,594.594 INFO    ] No update needed
[2026-10-20 10:48:26,597.597 INFO    ] Checking for camera pi updates...
[2026-10-20 10:48:26,629.629 INFO    ] 200
[2026-10-20 10:48:26,632.632 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:48:26,672.672 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:48:26,706.706 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:48:26,708.708 INFO    ] No camera update needed
[2026-10-20 10:48:26,711.711 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:48:26,713.713 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:48:26,718.718 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:48:26,723.723 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:48:28,762.762 INFO    ] ================================================
[2026-10-20 10:48:28,777.777 INFO    ] Launching Daemon at Tue Oct 20 10:48:28 IST 2026
[2026-10-20 10:48:28,787.787 INFO    ] ================================================
[2026-10-20 10:48:29,380.380 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:48:29
[2026-10-20 10:48:29,980.980 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:48:30,251.251 INFO    ] Initializing speech engine...
[2026-10-20 10:48:30,263.263 INFO    ] 2026-10-20 10:48:30
[2026-10-20 10:48:30,514.514 INFO    ] 2026-10-20 10:48:30
[2026-10-20 10:48:30,556.556 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:48:30,801.801 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:48:30,810.810 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:48:30,982.982 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:48:31,036.036 INFO    ] time= 20/10/2026 10:48:30
[2026-10-20 10:48:31,075.075 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:48:31,081.081 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:48:31,228.228 INFO    ] No existing commands found in stream
[2026-10-20 10:48:36,251.251 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:48:36,253.253 INFO    ] Waiting 2.32 seconds before fallback handling...
[2026-10-20 10:48:39,067.067 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:48:39,070.070 INFO    ] Checking for system updates...
[2026-10-20 10:48:39,106.106 INFO    ] 200
[2026-10-20 10:48:39,108.108 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:48:39,160.160 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:48:39,162.162 INFO    ] No update needed
[2026-10-20 10:48:39,165.165 INFO    ] Checking for camera pi updates...
[2026-10-20 10:48:39,199.199 INFO    ] 200
[2026-10-20 10:48:39,202.202 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:48:39,242.242 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:48:39,281.281 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:48:39,283.283 INFO    ] No camera update needed
[2026-10-20 10:48:39,286.286 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:48:39,288.288 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:48:39,295.295 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:48:39,300.300 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:48:41,340.340 INFO    ] ================================================
[2026-10-20 10:48:41,354.354 INFO    ] Launching Daemon at Tue Oct 20 10:48:41 IST 2026
[2026-10-20 10:48:41,365.365 INFO    ] ================================================
[2026-10-20 10:48:41,945.945 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:48:41
[2026-10-20 10:48:42,547.547 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:48:42,820.820 INFO    ] Initializing speech engine...
[2026-10-20 10:48:42,833.833 INFO    ] 2026-10-20 10:48:42
[2026-10-20 10:48:43,083.083 INFO    ] 2026-10-20 10:48:43
[2026-10-20 10:48:43,118.118 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:48:43,376.376 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:48:43,382.382 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:48:43,631.631 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:48:43,642.642 INFO    ] time= 20/10/2026 10:48:43
[2026-10-20 10:48:43,660.660 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:48:43,672.672 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:48:43,839.839 INFO    ] No existing commands found in stream
[2026-10-20 10:48:48,870.870 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:48:48,873.873 INFO    ] Waiting 2.51 seconds before fallback handling...
[2026-10-20 10:48:51,960.960 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:48:51,963.963 INFO    ] Checking for system updates...
[2026-10-20 10:48:52,004.004 INFO    ] 200
[2026-10-20 10:48:52,006.006 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:48:52,064.064 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:48:52,067.067 INFO    ] No update needed
[2026-10-20 10:48:52,070.070 INFO    ] Checking for camera pi updates...
[2026-10-20 10:48:52,104.104 INFO    ] 200
[2026-10-20 10:48:52,107.107 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:48:52,153.153 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:48:52,196.196 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:48:52,199.199 INFO    ] No camera update needed
[2026-10-20 10:48:52,201.201 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:48:52,203.203 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:48:52,208.208 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:48:52,214.214 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:48:54,253.253 INFO    ] ================================================
[2026-10-20 10:48:54,268.268 INFO    ] Launching Daemon at Tue Oct 20 10:48:54 IST 2026
[2026-10-20 10:48:54,280.280 INFO    ] ================================================
[2026-10-20 10:48:54,844.844 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:48:54
[2026-10-20 10:48:55,425.425 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:48:55,693.693 INFO    ] Initializing speech engine...
[2026-10-20 10:48:55,702.702 INFO    ] 2026-10-20 10:48:55
[2026-10-20 10:48:55,946.946 INFO    ] 2026-10-20 10:48:55
[2026-10-20 10:48:55,980.980 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:48:56,235.235 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:48:56,240.240 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:48:56,460.460 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:48:56,502.502 INFO    ] time= 20/10/2026 10:48:56
[2026-10-20 10:48:56,509.509 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:48:56,529.529 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:48:56,665.665 INFO    ] No existing commands found in stream
[2026-10-20 10:49:01,687.687 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:49:01,690.690 INFO    ] Waiting 1.19 seconds before fallback handling...
[2026-10-20 10:49:03,418.418 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:49:03,423.423 INFO    ] Checking for system updates...
[2026-10-20 10:49:03,471.471 INFO    ] 200
[2026-10-20 10:49:03,473.473 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:49:03,544.544 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:49:03,546.546 INFO    ] No update needed
[2026-10-20 10:49:03,549.549 INFO    ] Checking for camera pi updates...
[2026-10-20 10:49:03,591.591 INFO    ] 200
[2026-10-20 10:49:03,594.594 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:49:03,638.638 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:49:03,676.676 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:49:03,680.680 INFO    ] No camera update needed
[2026-10-20 10:49:03,683.683 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:49:03,687.687 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:49:03,695.695 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:49:03,701.701 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:49:05,741.741 INFO    ] ================================================
[2026-10-20 10:49:05,756.756 INFO    ] Launching Daemon at Tue Oct 20 10:49:05 IST 2026
[2026-10-20 10:49:05,767.767 INFO    ] ================================================
[2026-10-20 10:49:06,335.335 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:49:06
[2026-10-20 10:49:06,917.917 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:49:07,185.185 INFO    ] Initializing speech engine...
[2026-10-20 10:49:07,197.197 INFO    ] 2026-10-20 10:49:07
[2026-10-20 10:49:07,448.448 INFO    ] 2026-10-20 10:49:07
[2026-10-20 10:49:07,483.483 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:49:07,742.742 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:49:07,751.751 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:49:07,967.967 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:49:08,014.014 INFO    ] time= 20/10/2026 10:49:07
[2026-10-20 10:49:08,020.020 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:49:08,038.038 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:49:08,171.171 INFO    ] No existing commands found in stream
[2026-10-20 10:49:13,184.184 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:49:13,187.187 INFO    ] Waiting 3.61 seconds before fallback handling...
[2026-10-20 10:49:17,263.263 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:49:17,265.265 INFO    ] Checking for system updates...
[2026-10-20 10:49:17,300.300 INFO    ] 200
[2026-10-20 10:49:17,303.303 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:49:17,362.362 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:49:17,364.364 INFO    ] No update needed
[2026-10-20 10:49:17,367.367 INFO    ] Checking for camera pi updates...
[2026-10-20 10:49:17,401.401 INFO    ] 200
[2026-10-20 10:49:17,404.404 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:49:17,444.444 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:49:17,480.480 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:49:17,483.483 INFO    ] No camera update needed
[2026-10-20 10:49:17,485.485 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:49:17,487.487 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:49:17,492.492 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:49:17,497.497 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:49:19,541.541 INFO    ] ================================================
[2026-10-20 10:49:19,556.556 INFO    ] Launching Daemon at Tue Oct 20 10:49:19 IST 2026
[2026-10-20 10:49:19,566.566 INFO    ] ================================================
[2026-10-20 10:49:20,141.141 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:49:20
[2026-10-20 10:49:20,730.730 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:49:20,997.997 INFO    ] Initializing speech engine...
[2026-10-20 10:49:21,007.007 INFO    ] 2026-10-20 10:49:21
[2026-10-20 10:49:21,252.252 INFO    ] 2026-10-20 10:49:21
[2026-10-20 10:49:21,286.286 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:49:21,539.539 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:49:21,548.548 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:49:21,768.768 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:49:21,806.806 INFO    ] time= 20/10/2026 10:49:21
[2026-10-20 10:49:21,812.812 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:49:21,829.829 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:49:21,957.957 INFO    ] No existing commands found in stream
[2026-10-20 10:49:26,970.970 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:49:26,973.973 INFO    ] Waiting 1.49 seconds before fallback handling...
[2026-10-20 10:49:28,950.950 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:49:28,953.953 INFO    ] Checking for system updates...
[2026-10-20 10:49:28,989.989 INFO    ] 200
[2026-10-20 10:49:28,991.991 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:49:29,045.045 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:49:29,047.047 INFO    ] No update needed
[2026-10-20 10:49:29,050.050 INFO    ] Checking for camera pi updates...
[2026-10-20 10:49:29,087.087 INFO    ] 200
[2026-10-20 10:49:29,090.090 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:49:29,135.135 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:49:29,168.168 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:49:29,171.171 INFO    ] No camera update needed
[2026-10-20 10:49:29,173.173 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:49:29,175.175 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:49:29,181.181 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:49:29,186.186 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:49:31,226.226 INFO    ] ================================================
[2026-10-20 10:49:31,241.241 INFO    ] Launching Daemon at Tue Oct 20 10:49:31 IST 2026
[2026-10-20 10:49:31,251.251 INFO    ] ================================================
[2026-10-20 10:49:31,912.912 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:49:31
[2026-10-20 10:49:32,643.643 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:49:32,952.952 INFO    ] Initializing speech engine...
[2026-10-20 10:49:32,966.966 INFO    ] 2026-10-20 10:49:32
[2026-10-20 10:49:33,283.283 INFO    ] 2026-10-20 10:49:33
[2026-10-20 10:49:33,367.367 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:49:33,593.593 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:49:33,599.599 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:49:33,794.794 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:49:33,801.801 INFO    ] time= 20/10/2026 10:49:33
[2026-10-20 10:49:33,823.823 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:49:33,850.850 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:49:33,986.986 INFO    ] No existing commands found in stream
[2026-10-20 10:49:39,022.022 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:49:39,025.025 INFO    ] Waiting 1.14 seconds before fallback handling...
[2026-10-20 10:49:40,731.731 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:49:40,734.734 INFO    ] Checking for system updates...
[2026-10-20 10:49:40,771.771 INFO    ] 200
[2026-10-20 10:49:40,774.774 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:49:40,826.826 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:49:40,829.829 INFO    ] No update needed
[2026-10-20 10:49:40,831.831 INFO    ] Checking for camera pi updates...
[2026-10-20 10:49:40,868.868 INFO    ] 200
[2026-10-20 10:49:40,871.871 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:49:40,911.911 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:49:40,946.946 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:49:40,949.949 INFO    ] No camera update needed
[2026-10-20 10:49:40,951.951 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:49:40,954.954 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:49:40,959.959 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:49:40,964.964 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:49:43,003.003 INFO    ] ================================================
[2026-10-20 10:49:43,018.018 INFO    ] Launching Daemon at Tue Oct 20 10:49:43 IST 2026
[2026-10-20 10:49:43,028.028 INFO    ] ================================================
[2026-10-20 10:49:43,596.596 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:49:43
[2026-10-20 10:49:44,182.182 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:49:44,436.436 INFO    ] Initializing speech engine...
[2026-10-20 10:49:44,442.442 INFO    ] 2026-10-20 10:49:44
[2026-10-20 10:49:44,743.743 INFO    ] 2026-10-20 10:49:44
[2026-10-20 10:49:44,779.779 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:49:44,992.992 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:49:45,013.013 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:49:45,169.169 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:49:45,221.221 INFO    ] time= 20/10/2026 10:49:45
[2026-10-20 10:49:45,244.244 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:49:45,281.281 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:49:45,447.447 INFO    ] No existing commands found in stream
[2026-10-20 10:49:50,460.460 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:49:50,463.463 INFO    ] Waiting 2.38 seconds before fallback handling...
[2026-10-20 10:49:53,381.381 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:49:53,384.384 INFO    ] Checking for system updates...
[2026-10-20 10:49:53,423.423 INFO    ] 200
[2026-10-20 10:49:53,426.426 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:49:53,477.477 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:49:53,480.480 INFO    ] No update needed
[2026-10-20 10:49:53,482.482 INFO    ] Checking for camera pi updates...
[2026-10-20 10:49:53,520.520 INFO    ] 200
[2026-10-20 10:49:53,522.522 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:49:53,562.562 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:49:53,611.611 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:49:53,614.614 INFO    ] No camera update needed
[2026-10-20 10:49:53,616.616 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:49:53,618.618 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:49:53,624.624 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:49:53,629.629 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:49:55,667.667 INFO    ] ================================================
[2026-10-20 10:49:55,683.683 INFO    ] Launching Daemon at Tue Oct 20 10:49:55 IST 2026
[2026-10-20 10:49:55,693.693 INFO    ] ================================================
[2026-10-20 10:49:56,261.261 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:49:56
[2026-10-20 10:49:56,857.857 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:49:57,107.107 INFO    ] Initializing speech engine...
[2026-10-20 10:49:57,120.120 INFO    ] 2026-10-20 10:49:57
[2026-10-20 10:49:57,386.386 INFO    ] 2026-10-20 10:49:57
[2026-10-20 10:49:57,420.420 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:49:57,706.706 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:49:57,716.716 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:49:57,966.966 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:49:58,016.016 INFO    ] time= 20/10/2026 10:49:57
[2026-10-20 10:49:58,022.022 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:49:58,026.026 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:49:58,180.180 INFO    ] No existing commands found in stream
[2026-10-20 10:50:03,201.201 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:50:03,205.205 INFO    ] Waiting 2.27 seconds before fallback handling...
[2026-10-20 10:50:08,182.182 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:50:08,185.185 INFO    ] Checking for system updates...
[2026-10-20 10:50:08,223.223 INFO    ] 200
[2026-10-20 10:50:08,225.225 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:50:08,282.282 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:50:08,284.284 INFO    ] No update needed
[2026-10-20 10:50:08,286.286 INFO    ] Checking for camera pi updates...
[2026-10-20 10:50:08,326.326 INFO    ] 200
[2026-10-20 10:50:08,328.328 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:50:08,372.372 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:50:08,416.416 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:50:08,418.418 INFO    ] No camera update needed
[2026-10-20 10:50:08,421.421 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:50:08,423.423 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:50:08,428.428 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:50:08,433.433 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:50:10,473.473 INFO    ] ================================================
[2026-10-20 10:50:10,488.488 INFO    ] Launching Daemon at Tue Oct 20 10:50:10 IST 2026
[2026-10-20 10:50:10,498.498 INFO    ] ================================================
[2026-10-20 10:50:11,129.129 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:50:11
[2026-10-20 10:50:11,781.781 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:50:12,079.079 INFO    ] Initializing speech engine...
[2026-10-20 10:50:12,093.093 INFO    ] 2026-10-20 10:50:12
[2026-10-20 10:50:12,361.361 INFO    ] 2026-10-20 10:50:12
[2026-10-20 10:50:12,418.418 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:50:12,706.706 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:50:12,713.713 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:50:12,909.909 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:50:12,917.917 INFO    ] time= 20/10/2026 10:50:12
[2026-10-20 10:50:12,935.935 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:50:12,965.965 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:50:13,075.075 INFO    ] No existing commands found in stream
[2026-10-20 10:50:18,100.100 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:50:18,103.103 INFO    ] Waiting 2.04 seconds before fallback handling...
[2026-10-20 10:50:20,722.722 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:50:20,725.725 INFO    ] Checking for system updates...
[2026-10-20 10:50:20,762.762 INFO    ] 200
[2026-10-20 10:50:20,765.765 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:50:20,817.817 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:50:20,820.820 INFO    ] No update needed
[2026-10-20 10:50:20,823.823 INFO    ] Checking for camera pi updates...
[2026-10-20 10:50:20,860.860 INFO    ] 200
[2026-10-20 10:50:20,863.863 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:50:20,903.903 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:50:21,043.043 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:50:21,046.046 INFO    ] No camera update needed
[2026-10-20 10:50:21,049.049 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:50:21,052.052 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:50:21,058.058 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:50:21,063.063 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:50:23,104.104 INFO    ] ================================================
[2026-10-20 10:50:23,119.119 INFO    ] Launching Daemon at Tue Oct 20 10:50:23 IST 2026
[2026-10-20 10:50:23,130.130 INFO    ] ================================================
[2026-10-20 10:50:23,766.766 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:50:23
[2026-10-20 10:50:24,421.421 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:50:24,719.719 INFO    ] Initializing speech engine...
[2026-10-20 10:50:24,732.732 INFO    ] 2026-10-20 10:50:24
[2026-10-20 10:50:25,013.013 INFO    ] 2026-10-20 10:50:24
[2026-10-20 10:50:25,056.056 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:50:25,349.349 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:50:25,354.354 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:50:25,548.548 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:50:25,561.561 INFO    ] time= 20/10/2026 10:50:25
[2026-10-20 10:50:25,578.578 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:50:25,608.608 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:50:25,730.730 INFO    ] No existing commands found in stream
[2026-10-20 10:50:30,760.760 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:50:30,763.763 INFO    ] Waiting 1.35 seconds before fallback handling...
[2026-10-20 10:50:32,632.632 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:50:32,635.635 INFO    ] Checking for system updates...
[2026-10-20 10:50:32,674.674 INFO    ] 200
[2026-10-20 10:50:32,677.677 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:50:32,746.746 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:50:32,749.749 INFO    ] No update needed
[2026-10-20 10:50:32,752.752 INFO    ] Checking for camera pi updates...
[2026-10-20 10:50:32,788.788 INFO    ] 200
[2026-10-20 10:50:32,791.791 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:50:32,839.839 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:50:32,869.869 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:50:32,872.872 INFO    ] No camera update needed
[2026-10-20 10:50:32,875.875 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:50:32,877.877 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:50:32,883.883 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:50:32,889.889 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:50:34,929.929 INFO    ] ================================================
[2026-10-20 10:50:34,944.944 INFO    ] Launching Daemon at Tue Oct 20 10:50:34 IST 2026
[2026-10-20 10:50:34,955.955 INFO    ] ================================================
[2026-10-20 10:50:35,521.521 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:50:35
[2026-10-20 10:50:36,103.103 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:50:36,349.349 INFO    ] Initializing speech engine...
[2026-10-20 10:50:36,357.357 INFO    ] 2026-10-20 10:50:36
[2026-10-20 10:50:36,630.630 INFO    ] 2026-10-20 10:50:36
[2026-10-20 10:50:36,664.664 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:50:36,922.922 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:50:36,931.931 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:50:37,139.139 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:50:37,198.198 INFO    ] time= 20/10/2026 10:50:37
[2026-10-20 10:50:37,206.206 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:50:37,224.224 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:50:37,369.369 INFO    ] No existing commands found in stream
[2026-10-20 10:50:42,384.384 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:50:42,387.387 INFO    ] Waiting 0.57 seconds before fallback handling...
[2026-10-20 10:50:43,479.479 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:50:43,482.482 INFO    ] Checking for system updates...
[2026-10-20 10:50:43,516.516 INFO    ] 200
[2026-10-20 10:50:43,519.519 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:50:43,574.574 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:50:43,577.577 INFO    ] No update needed
[2026-10-20 10:50:43,579.579 INFO    ] Checking for camera pi updates...
[2026-10-20 10:50:43,614.614 INFO    ] 200
[2026-10-20 10:50:43,616.616 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:50:43,655.655 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:50:43,687.687 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:50:43,690.690 INFO    ] No camera update needed
[2026-10-20 10:50:43,692.692 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:50:43,694.694 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:50:43,700.700 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:50:43,705.705 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:50:45,744.744 INFO    ] ================================================
[2026-10-20 10:50:45,759.759 INFO    ] Launching Daemon at Tue Oct 20 10:50:45 IST 2026
[2026-10-20 10:50:45,770.770 INFO    ] ================================================
[2026-10-20 10:50:46,389.389 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:50:46
[2026-10-20 10:50:47,029.029 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:50:47,322.322 INFO    ] Initializing speech engine...
[2026-10-20 10:50:47,336.336 INFO    ] 2026-10-20 10:50:47
[2026-10-20 10:50:47,617.617 INFO    ] 2026-10-20 10:50:47
[2026-10-20 10:50:47,726.726 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:50:47,939.939 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:50:47,944.944 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:50:48,138.138 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:50:48,144.144 INFO    ] time= 20/10/2026 10:50:48
[2026-10-20 10:50:48,163.163 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:50:48,177.177 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:50:48,301.301 INFO    ] No existing commands found in stream
[2026-10-20 10:50:53,325.325 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:50:53,328.328 INFO    ] Waiting 3.15 seconds before fallback handling...
[2026-10-20 10:50:57,032.032 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:50:57,034.034 INFO    ] Checking for system updates...
[2026-10-20 10:50:57,070.070 INFO    ] 200
[2026-10-20 10:50:57,073.073 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:50:57,129.129 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:50:57,131.131 INFO    ] No update needed
[2026-10-20 10:50:57,134.134 INFO    ] Checking for camera pi updates...
[2026-10-20 10:50:57,167.167 INFO    ] 200
[2026-10-20 10:50:57,170.170 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:50:57,210.210 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:50:57,243.243 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:50:57,245.245 INFO    ] No camera update needed
[2026-10-20 10:50:57,248.248 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:50:57,250.250 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:50:57,255.255 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:50:57,260.260 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:50:59,301.301 INFO    ] ================================================
[2026-10-20 10:50:59,316.316 INFO    ] Launching Daemon at Tue Oct 20 10:50:59 IST 2026
[2026-10-20 10:50:59,327.327 INFO    ] ================================================
[2026-10-20 10:50:59,950.950 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:50:59
[2026-10-20 10:51:00,593.593 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:51:00,884.884 INFO    ] Initializing speech engine...
[2026-10-20 10:51:00,893.893 INFO    ] 2026-10-20 10:51:00
[2026-10-20 10:51:01,164.164 INFO    ] 2026-10-20 10:51:01
[2026-10-20 10:51:01,199.199 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:51:01,483.483 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:51:01,487.487 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:51:01,668.668 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:51:01,673.673 INFO    ] time= 20/10/2026 10:51:01
[2026-10-20 10:51:01,678.678 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:51:01,697.697 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:51:01,783.783 INFO    ] No existing commands found in stream
[2026-10-20 10:51:06,794.794 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:51:06,797.797 INFO    ] Waiting 3.27 seconds before fallback handling...
[2026-10-20 10:51:10,614.614 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:51:10,617.617 INFO    ] Checking for system updates...
[2026-10-20 10:51:10,657.657 INFO    ] 200
[2026-10-20 10:51:10,660.660 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:51:10,713.713 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:51:10,716.716 INFO    ] No update needed
[2026-10-20 10:51:10,718.718 INFO    ] Checking for camera pi updates...
[2026-10-20 10:51:10,756.756 INFO    ] 200
[2026-10-20 10:51:10,759.759 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:51:10,808.808 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:51:10,870.870 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:51:10,873.873 INFO    ] No camera update needed
[2026-10-20 10:51:10,876.876 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:51:10,878.878 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:51:10,885.885 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:51:10,890.890 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:51:12,930.930 INFO    ] ================================================
[2026-10-20 10:51:12,946.946 INFO    ] Launching Daemon at Tue Oct 20 10:51:12 IST 2026
[2026-10-20 10:51:12,957.957 INFO    ] ================================================
[2026-10-20 10:51:13,562.562 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:51:13
[2026-10-20 10:51:14,224.224 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:51:14,523.523 INFO    ] Initializing speech engine...
[2026-10-20 10:51:14,535.535 INFO    ] 2026-10-20 10:51:14
[2026-10-20 10:51:14,813.813 INFO    ] 2026-10-20 10:51:14
[2026-10-20 10:51:14,857.857 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:51:15,172.172 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:51:15,183.183 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:51:15,404.404 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:51:15,411.411 INFO    ] time= 20/10/2026 10:51:15
[2026-10-20 10:51:15,427.427 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:51:15,437.437 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:51:15,567.567 INFO    ] No existing commands found in stream
[2026-10-20 10:51:20,590.590 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:51:20,593.593 INFO    ] Waiting 1.21 seconds before fallback handling...
[2026-10-20 10:51:22,324.324 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:51:22,327.327 INFO    ] Checking for system updates...
[2026-10-20 10:51:22,365.365 INFO    ] 200
[2026-10-20 10:51:22,368.368 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:51:22,419.419 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:51:22,422.422 INFO    ] No update needed
[2026-10-20 10:51:22,425.425 INFO    ] Checking for camera pi updates...
[2026-10-20 10:51:22,457.457 INFO    ] 200
[2026-10-20 10:51:22,460.460 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:51:22,500.500 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:51:22,537.537 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:51:22,539.539 INFO    ] No camera update needed
[2026-10-20 10:51:22,542.542 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:51:22,544.544 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:51:22,549.549 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:51:22,554.554 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:51:24,595.595 INFO    ] ================================================
[2026-10-20 10:51:24,610.610 INFO    ] Launching Daemon at Tue Oct 20 10:51:24 IST 2026
[2026-10-20 10:51:24,621.621 INFO    ] ================================================
[2026-10-20 10:51:25,264.264 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:51:25
[2026-10-20 10:51:25,853.853 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:51:26,102.102 INFO    ] Initializing speech engine...
[2026-10-20 10:51:26,125.125 INFO    ] 2026-10-20 10:51:26
[2026-10-20 10:51:26,381.381 INFO    ] 2026-10-20 10:51:26
[2026-10-20 10:51:26,416.416 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:51:26,677.677 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:51:26,683.683 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:51:26,909.909 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:51:26,943.943 INFO    ] time= 20/10/2026 10:51:26
[2026-10-20 10:51:26,961.961 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:51:26,973.973 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:51:27,164.164 INFO    ] No existing commands found in stream
[2026-10-20 10:51:32,190.190 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:51:32,194.194 INFO    ] Waiting 3.21 seconds before fallback handling...
[2026-10-20 10:51:35,973.973 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:51:35,976.976 INFO    ] Checking for system updates...
[2026-10-20 10:51:36,012.012 INFO    ] 200
[2026-10-20 10:51:36,015.015 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:51:36,067.067 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:51:36,070.070 INFO    ] No update needed
[2026-10-20 10:51:36,073.073 INFO    ] Checking for camera pi updates...
[2026-10-20 10:51:36,108.108 INFO    ] 200
[2026-10-20 10:51:36,111.111 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:51:36,153.153 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:51:36,206.206 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:51:36,209.209 INFO    ] No camera update needed
[2026-10-20 10:51:36,212.212 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:51:36,215.215 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:51:36,221.221 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:51:36,227.227 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:51:38,266.266 INFO    ] ================================================
[2026-10-20 10:51:38,280.280 INFO    ] Launching Daemon at Tue Oct 20 10:51:38 IST 2026
[2026-10-20 10:51:38,291.291 INFO    ] ================================================
[2026-10-20 10:51:38,877.877 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:51:38
[2026-10-20 10:51:39,478.478 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:51:39,756.756 INFO    ] Initializing speech engine...
[2026-10-20 10:51:39,763.763 INFO    ] 2026-10-20 10:51:39
[2026-10-20 10:51:40,023.023 INFO    ] 2026-10-20 10:51:40
[2026-10-20 10:51:40,053.053 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:51:40,303.303 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:51:40,310.310 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:51:40,561.561 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:51:40,568.568 INFO    ] time= 20/10/2026 10:51:40
[2026-10-20 10:51:40,589.589 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:51:40,614.614 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:51:40,734.734 INFO    ] No existing commands found in stream
[2026-10-20 10:51:45,765.765 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:51:45,767.767 INFO    ] Waiting 0.74 seconds before fallback handling...
[2026-10-20 10:51:47,078.078 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:51:47,080.080 INFO    ] Checking for system updates...
[2026-10-20 10:51:47,116.116 INFO    ] 200
[2026-10-20 10:51:47,119.119 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:51:47,172.172 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:51:47,175.175 INFO    ] No update needed
[2026-10-20 10:51:47,177.177 INFO    ] Checking for camera pi updates...
[2026-10-20 10:51:47,210.210 INFO    ] 200
[2026-10-20 10:51:47,212.212 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:51:47,262.262 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:51:47,302.302 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:51:47,305.305 INFO    ] No camera update needed
[2026-10-20 10:51:47,308.308 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:51:47,310.310 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:51:47,316.316 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:51:47,322.322 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:51:49,367.367 INFO    ] ================================================
[2026-10-20 10:51:49,382.382 INFO    ] Launching Daemon at Tue Oct 20 10:51:49 IST 2026
[2026-10-20 10:51:49,393.393 INFO    ] ================================================
[2026-10-20 10:51:50,036.036 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:51:50
[2026-10-20 10:51:50,699.699 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:51:51,001.001 INFO    ] Initializing speech engine...
[2026-10-20 10:51:51,009.009 INFO    ] 2026-10-20 10:51:51
[2026-10-20 10:51:51,291.291 INFO    ] 2026-10-20 10:51:51
[2026-10-20 10:51:51,336.336 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:51:51,620.620 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:51:51,630.630 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:51:51,836.836 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:51:51,857.857 INFO    ] time= 20/10/2026 10:51:51
[2026-10-20 10:51:51,887.887 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:51:51,897.897 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:51:52,036.036 INFO    ] No existing commands found in stream
[2026-10-20 10:51:57,067.067 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:51:57,071.071 INFO    ] Waiting 3.20 seconds before fallback handling...
[2026-10-20 10:52:00,833.833 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 10:52:00,836.836 INFO    ] Checking for system updates...
[2026-10-20 10:52:00,873.873 INFO    ] 200
[2026-10-20 10:52:00,876.876 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:52:00,930.930 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:52:00,932.932 INFO    ] No update needed
[2026-10-20 10:52:00,935.935 INFO    ] Checking for camera pi updates...
[2026-10-20 10:52:00,968.968 INFO    ] 200
[2026-10-20 10:52:00,971.971 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:52:01,011.011 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:52:01,039.039 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:52:01,041.041 INFO    ] No camera update needed
[2026-10-20 10:52:01,043.043 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:52:01,046.046 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:52:01,051.051 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:52:01,056.056 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:52:03,100.100 INFO    ] ================================================
[2026-10-20 10:52:03,117.117 INFO    ] Launching Daemon at Tue Oct 20 10:52:03 IST 2026
[2026-10-20 10:52:03,129.129 INFO    ] ================================================
[2026-10-20 10:52:03,812.812 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:52:03
[2026-10-20 10:52:04,507.507 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:52:04,823.823 INFO    ] Initializing speech engine...
[2026-10-20 10:52:04,836.836 INFO    ] 2026-10-20 10:52:04
[2026-10-20 10:52:05,156.156 INFO    ] 2026-10-20 10:52:05
[2026-10-20 10:52:05,247.247 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:52:05,467.467 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:52:05,471.471 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:52:05,671.671 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:52:05,690.690 INFO    ] time= 20/10/2026 10:52:05
[2026-10-20 10:52:05,700.700 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:52:05,729.729 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:52:05,867.867 INFO    ] No existing commands found in stream
[2026-10-20 10:52:10,899.899 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:52:10,902.902 INFO    ] Waiting 0.42 seconds before fallback handling...
[2026-10-20 10:52:11,893.893 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:52:11,896.896 INFO    ] Checking for system updates...
[2026-10-20 10:52:11,933.933 INFO    ] 200
[2026-10-20 10:52:11,936.936 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:52:11,988.988 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:52:11,991.991 INFO    ] No update needed
[2026-10-20 10:52:11,993.993 INFO    ] Checking for camera pi updates...
[2026-10-20 10:52:12,027.027 INFO    ] 200
[2026-10-20 10:52:12,029.029 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:52:12,075.075 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:52:12,109.109 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:52:12,112.112 INFO    ] No camera update needed
[2026-10-20 10:52:12,114.114 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:52:12,116.116 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:52:12,121.121 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:52:12,126.126 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:52:14,165.165 INFO    ] ================================================
[2026-10-20 10:52:14,181.181 INFO    ] Launching Daemon at Tue Oct 20 10:52:14 IST 2026
[2026-10-20 10:52:14,192.192 INFO    ] ================================================
[2026-10-20 10:52:14,859.859 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:52:14
[2026-10-20 10:52:15,547.547 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:52:15,858.858 INFO    ] Initializing speech engine...
[2026-10-20 10:52:15,866.866 INFO    ] 2026-10-20 10:52:15
[2026-10-20 10:52:16,143.143 INFO    ] 2026-10-20 10:52:16
[2026-10-20 10:52:16,201.201 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:52:16,495.495 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:52:16,501.501 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:52:16,704.704 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:52:16,726.726 INFO    ] time= 20/10/2026 10:52:16
[2026-10-20 10:52:16,753.753 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:52:16,760.760 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:52:16,881.881 INFO    ] No existing commands found in stream
[2026-10-20 10:52:21,907.907 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:52:21,911.911 INFO    ] Waiting 3.28 seconds before fallback handling...
[2026-10-20 10:52:25,797.797 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:52:25,800.800 INFO    ] Checking for system updates...
[2026-10-20 10:52:25,842.842 INFO    ] 200
[2026-10-20 10:52:25,846.846 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:52:25,907.907 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:52:25,910.910 INFO    ] No update needed
[2026-10-20 10:52:25,913.913 INFO    ] Checking for camera pi updates...
[2026-10-20 10:52:25,952.952 INFO    ] 200
[2026-10-20 10:52:25,955.955 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:52:26,001.001 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:52:26,149.149 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:52:26,152.152 INFO    ] No camera update needed
[2026-10-20 10:52:26,155.155 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:52:26,157.157 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:52:26,164.164 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:52:26,170.170 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:52:28,212.212 INFO    ] ================================================
[2026-10-20 10:52:28,227.227 INFO    ] Launching Daemon at Tue Oct 20 10:52:28 IST 2026
[2026-10-20 10:52:28,238.238 INFO    ] ================================================
[2026-10-20 10:52:28,823.823 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:52:28
[2026-10-20 10:52:29,423.423 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:52:29,696.696 INFO    ] Initializing speech engine...
[2026-10-20 10:52:29,706.706 INFO    ] 2026-10-20 10:52:29
[2026-10-20 10:52:29,955.955 INFO    ] 2026-10-20 10:52:29
[2026-10-20 10:52:29,997.997 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:52:30,241.241 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:52:30,252.252 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:52:30,461.461 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:52:30,511.511 INFO    ] time= 20/10/2026 10:52:30
[2026-10-20 10:52:30,517.517 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:52:30,538.538 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:52:30,667.667 INFO    ] No existing commands found in stream
[2026-10-20 10:52:35,687.687 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:52:35,690.690 INFO    ] Waiting 2.33 seconds before fallback handling...
[2026-10-20 10:52:38,572.572 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:52:38,575.575 INFO    ] Checking for system updates...
[2026-10-20 10:52:38,611.611 INFO    ] 200
[2026-10-20 10:52:38,613.613 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:52:38,686.686 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:52:38,688.688 INFO    ] No update needed
[2026-10-20 10:52:38,691.691 INFO    ] Checking for camera pi updates...
[2026-10-20 10:52:38,724.724 INFO    ] 200
[2026-10-20 10:52:38,727.727 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:52:38,773.773 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:52:38,812.812 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:52:38,815.815 INFO    ] No camera update needed
[2026-10-20 10:52:38,817.817 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:52:38,819.819 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:52:38,825.825 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:52:38,830.830 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:52:40,869.869 INFO    ] ================================================
[2026-10-20 10:52:40,885.885 INFO    ] Launching Daemon at Tue Oct 20 10:52:40 IST 2026
[2026-10-20 10:52:40,897.897 INFO    ] ================================================
[2026-10-20 10:52:41,556.556 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:52:41
[2026-10-20 10:52:42,137.137 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:52:42,406.406 INFO    ] Initializing speech engine...
[2026-10-20 10:52:42,415.415 INFO    ] 2026-10-20 10:52:42
[2026-10-20 10:52:42,658.658 INFO    ] 2026-10-20 10:52:42
[2026-10-20 10:52:42,694.694 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:52:42,945.945 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:52:42,954.954 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:52:43,154.154 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:52:43,209.209 INFO    ] time= 20/10/2026 10:52:43
[2026-10-20 10:52:43,218.218 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:52:43,235.235 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:52:43,379.379 INFO    ] No existing commands found in stream
[2026-10-20 10:52:48,406.406 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:52:48,409.409 INFO    ] Waiting 3.05 seconds before fallback handling...
[2026-10-20 10:52:52,015.015 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:52:52,018.018 INFO    ] Checking for system updates...
[2026-10-20 10:52:52,058.058 INFO    ] 200
[2026-10-20 10:52:52,060.060 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:52:52,113.113 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:52:52,116.116 INFO    ] No update needed
[2026-10-20 10:52:52,118.118 INFO    ] Checking for camera pi updates...
[2026-10-20 10:52:52,152.152 INFO    ] 200
[2026-10-20 10:52:52,154.154 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:52:52,194.194 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:52:52,233.233 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:52:52,235.235 INFO    ] No camera update needed
[2026-10-20 10:52:52,238.238 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:52:52,240.240 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:52:52,245.245 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:52:52,250.250 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:52:54,293.293 INFO    ] ================================================
[2026-10-20 10:52:54,309.309 INFO    ] Launching Daemon at Tue Oct 20 10:52:54 IST 2026
[2026-10-20 10:52:54,324.324 INFO    ] ================================================
[2026-10-20 10:52:54,891.891 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:52:54
[2026-10-20 10:52:55,474.474 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:52:55,743.743 INFO    ] Initializing speech engine...
[2026-10-20 10:52:55,752.752 INFO    ] 2026-10-20 10:52:55
[2026-10-20 10:52:55,998.998 INFO    ] 2026-10-20 10:52:55
[2026-10-20 10:52:56,033.033 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:52:56,287.287 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:52:56,292.292 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:52:56,427.427 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:52:56,486.486 INFO    ] time= 20/10/2026 10:52:56
[2026-10-20 10:52:56,545.545 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:52:56,561.561 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:52:56,706.706 INFO    ] No existing commands found in stream
[2026-10-20 10:53:01,721.721 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:53:01,725.725 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-10-20 10:53:04,724.724 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:53:04,727.727 INFO    ] Checking for system updates...
[2026-10-20 10:53:04,762.762 INFO    ] 200
[2026-10-20 10:53:04,765.765 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:53:04,824.824 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:53:04,827.827 INFO    ] No update needed
[2026-10-20 10:53:04,829.829 INFO    ] Checking for camera pi updates...
[2026-10-20 10:53:04,862.862 INFO    ] 200
[2026-10-20 10:53:04,865.865 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:53:04,904.904 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:53:04,939.939 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:53:04,942.942 INFO    ] No camera update needed
[2026-10-20 10:53:04,944.944 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:53:04,946.946 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:53:04,952.952 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:53:04,957.957 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:53:07,998.998 INFO    ] ================================================
[2026-10-20 10:53:07,014.014 INFO    ] Launching Daemon at Tue Oct 20 10:53:07 IST 2026
[2026-10-20 10:53:07,025.025 INFO    ] ================================================
[2026-10-20 10:53:07,596.596 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:53:07
[2026-10-20 10:53:08,186.186 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:53:08,439.439 INFO    ] Initializing speech engine...
[2026-10-20 10:53:08,444.444 INFO    ] 2026-10-20 10:53:08
[2026-10-20 10:53:08,745.745 INFO    ] 2026-10-20 10:53:08
[2026-10-20 10:53:08,796.796 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:53:09,080.080 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:53:09,092.092 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:53:09,247.247 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:53:09,297.297 INFO    ] time= 20/10/2026 10:53:09
[2026-10-20 10:53:09,341.341 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:53:09,390.390 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:53:09,552.552 INFO    ] No existing commands found in stream
[2026-10-20 10:53:14,572.572 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:53:14,575.575 INFO    ] Waiting 1.83 seconds before fallback handling...
[2026-10-20 10:53:16,941.941 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:53:16,944.944 INFO    ] Checking for system updates...
[2026-10-20 10:53:16,984.984 INFO    ] 200
[2026-10-20 10:53:16,987.987 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:53:17,039.039 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:53:17,041.041 INFO    ] No update needed
[2026-10-20 10:53:17,043.043 INFO    ] Checking for camera pi updates...
[2026-10-20 10:53:17,077.077 INFO    ] 200
[2026-10-20 10:53:17,080.080 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:53:17,122.122 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:53:17,171.171 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:53:17,174.174 INFO    ] No camera update needed
[2026-10-20 10:53:17,177.177 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:53:17,180.180 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:53:17,186.186 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:53:17,192.192 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:53:19,231.231 INFO    ] ================================================
[2026-10-20 10:53:19,247.247 INFO    ] Launching Daemon at Tue Oct 20 10:53:19 IST 2026
[2026-10-20 10:53:19,257.257 INFO    ] ================================================
[2026-10-20 10:53:19,837.837 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:53:19
[2026-10-20 10:53:20,438.438 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:53:20,712.712 INFO    ] Initializing speech engine...
[2026-10-20 10:53:20,721.721 INFO    ] 2026-10-20 10:53:20
[2026-10-20 10:53:20,983.983 INFO    ] 2026-10-20 10:53:20
[2026-10-20 10:53:21,036.036 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:53:21,285.285 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:53:21,291.291 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:53:21,501.501 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:53:21,526.526 INFO    ] time= 20/10/2026 10:53:21
[2026-10-20 10:53:21,544.544 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:53:21,553.553 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:53:21,701.701 INFO    ] No existing commands found in stream
[2026-10-20 10:53:26,731.731 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:53:26,739.739 INFO    ] Waiting 0.35 seconds before fallback handling...
[2026-10-20 10:53:27,625.625 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:53:27,628.628 INFO    ] Checking for system updates...
[2026-10-20 10:53:27,666.666 INFO    ] 200
[2026-10-20 10:53:27,669.669 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:53:27,722.722 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:53:27,725.725 INFO    ] No update needed
[2026-10-20 10:53:27,728.728 INFO    ] Checking for camera pi updates...
[2026-10-20 10:53:27,762.762 INFO    ] 200
[2026-10-20 10:53:27,765.765 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:53:27,812.812 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:53:27,846.846 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:53:27,849.849 INFO    ] No camera update needed
[2026-10-20 10:53:27,851.851 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:53:27,854.854 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:53:27,860.860 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:53:27,866.866 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:53:29,908.908 INFO    ] ================================================
[2026-10-20 10:53:29,923.923 INFO    ] Launching Daemon at Tue Oct 20 10:53:29 IST 2026
[2026-10-20 10:53:29,934.934 INFO    ] ================================================
[2026-10-20 10:53:30,501.501 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:53:30
[2026-10-20 10:53:31,084.084 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:53:31,382.382 INFO    ] Initializing speech engine...
[2026-10-20 10:53:31,404.404 INFO    ] 2026-10-20 10:53:31
[2026-10-20 10:53:31,699.699 INFO    ] 2026-10-20 10:53:31
[2026-10-20 10:53:31,737.737 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:53:32,018.018 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:53:32,024.024 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:53:32,167.167 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:53:32,212.212 INFO    ] time= 20/10/2026 10:53:32
[2026-10-20 10:53:32,262.262 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:53:32,306.306 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:53:32,448.448 INFO    ] No existing commands found in stream
[2026-10-20 10:53:37,475.475 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:53:37,478.478 INFO    ] Waiting 0.28 seconds before fallback handling...
[2026-10-20 10:53:38,359.359 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:53:38,362.362 INFO    ] Checking for system updates...
[2026-10-20 10:53:38,401.401 INFO    ] 200
[2026-10-20 10:53:38,403.403 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:53:38,455.455 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:53:38,457.457 INFO    ] No update needed
[2026-10-20 10:53:38,460.460 INFO    ] Checking for camera pi updates...
[2026-10-20 10:53:38,496.496 INFO    ] 200
[2026-10-20 10:53:38,498.498 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:53:38,538.538 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:53:38,584.584 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:53:38,587.587 INFO    ] No camera update needed
[2026-10-20 10:53:38,589.589 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:53:38,591.591 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:53:38,597.597 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:53:38,602.602 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:53:40,642.642 INFO    ] ================================================
[2026-10-20 10:53:40,656.656 INFO    ] Launching Daemon at Tue Oct 20 10:53:40 IST 2026
[2026-10-20 10:53:40,667.667 INFO    ] ================================================
[2026-10-20 10:53:41,242.242 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:53:41
[2026-10-20 10:53:41,918.918 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:53:42,221.221 INFO    ] Initializing speech engine...
[2026-10-20 10:53:42,229.229 INFO    ] 2026-10-20 10:53:42
[2026-10-20 10:53:42,515.515 INFO    ] 2026-10-20 10:53:42
[2026-10-20 10:53:42,560.560 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:53:42,846.846 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:53:42,855.855 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:53:43,046.046 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:53:43,066.066 INFO    ] time= 20/10/2026 10:53:43
[2026-10-20 10:53:43,096.096 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:53:43,107.107 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:53:43,244.244 INFO    ] No existing commands found in stream
[2026-10-20 10:53:48,271.271 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:53:48,275.275 INFO    ] Waiting 1.46 seconds before fallback handling...
[2026-10-20 10:53:50,265.265 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:53:50,268.268 INFO    ] Checking for system updates...
[2026-10-20 10:53:50,305.305 INFO    ] 200
[2026-10-20 10:53:50,307.307 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:53:50,368.368 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:53:50,371.371 INFO    ] No update needed
[2026-10-20 10:53:50,374.374 INFO    ] Checking for camera pi updates...
[2026-10-20 10:53:50,410.410 INFO    ] 200
[2026-10-20 10:53:50,413.413 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:53:50,454.454 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:53:50,488.488 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:53:50,491.491 INFO    ] No camera update needed
[2026-10-20 10:53:50,493.493 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:53:50,496.496 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:53:50,502.502 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:53:50,508.508 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:53:52,549.549 INFO    ] ================================================
[2026-10-20 10:53:52,564.564 INFO    ] Launching Daemon at Tue Oct 20 10:53:52 IST 2026
[2026-10-20 10:53:52,576.576 INFO    ] ================================================
[2026-10-20 10:53:53,141.141 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:53:53
[2026-10-20 10:53:53,723.723 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:53:53,972.972 INFO    ] Initializing speech engine...
[2026-10-20 10:53:53,986.986 INFO    ] 2026-10-20 10:53:53
[2026-10-20 10:53:54,251.251 INFO    ] 2026-10-20 10:53:54
[2026-10-20 10:53:54,286.286 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:53:54,548.548 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:53:54,553.553 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:53:54,754.754 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:53:54,798.798 INFO    ] time= 20/10/2026 10:53:54
[2026-10-20 10:53:54,823.823 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:53:54,829.829 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:53:54,980.980 INFO    ] No existing commands found in stream
[2026-10-20 10:54:00,008.008 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:54:00,011.011 INFO    ] Waiting 1.76 seconds before fallback handling...
[2026-10-20 10:54:02,330.330 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:54:02,334.334 INFO    ] Checking for system updates...
[2026-10-20 10:54:02,377.377 INFO    ] 200
[2026-10-20 10:54:02,380.380 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:54:02,440.440 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:54:02,443.443 INFO    ] No update needed
[2026-10-20 10:54:02,447.447 INFO    ] Checking for camera pi updates...
[2026-10-20 10:54:02,495.495 INFO    ] 200
[2026-10-20 10:54:02,499.499 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:54:02,556.556 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:54:02,593.593 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:54:02,596.596 INFO    ] No camera update needed
[2026-10-20 10:54:02,600.600 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:54:02,604.604 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:54:02,616.616 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:54:02,632.632 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:54:04,676.676 INFO    ] ================================================
[2026-10-20 10:54:04,691.691 INFO    ] Launching Daemon at Tue Oct 20 10:54:04 IST 2026
[2026-10-20 10:54:04,702.702 INFO    ] ================================================
[2026-10-20 10:54:05,268.268 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:54:05
[2026-10-20 10:54:05,853.853 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:54:06,103.103 INFO    ] Initializing speech engine...
[2026-10-20 10:54:06,126.126 INFO    ] 2026-10-20 10:54:06
[2026-10-20 10:54:06,381.381 INFO    ] 2026-10-20 10:54:06
[2026-10-20 10:54:06,416.416 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:54:06,675.675 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:54:06,685.685 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:54:06,917.917 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:54:06,949.949 INFO    ] time= 20/10/2026 10:54:06
[2026-10-20 10:54:06,966.966 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:54:06,975.975 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:54:07,106.106 INFO    ] No existing commands found in stream
[2026-10-20 10:54:12,118.118 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:54:12,121.121 INFO    ] Waiting 1.84 seconds before fallback handling...
[2026-10-20 10:54:14,484.484 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 10:54:14,487.487 INFO    ] Checking for system updates...
[2026-10-20 10:54:14,522.522 INFO    ] 200
[2026-10-20 10:54:14,524.524 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:54:14,577.577 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:54:14,579.579 INFO    ] No update needed
[2026-10-20 10:54:14,582.582 INFO    ] Checking for camera pi updates...
[2026-10-20 10:54:14,619.619 INFO    ] 200
[2026-10-20 10:54:14,621.621 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:54:14,662.662 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:54:14,692.692 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:54:14,694.694 INFO    ] No camera update needed
[2026-10-20 10:54:14,697.697 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:54:14,699.699 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:54:14,705.705 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:54:14,710.710 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:54:16,751.751 INFO    ] ================================================
[2026-10-20 10:54:16,766.766 INFO    ] Launching Daemon at Tue Oct 20 10:54:16 IST 2026
[2026-10-20 10:54:16,777.777 INFO    ] ================================================
[2026-10-20 10:54:17,345.345 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:54:17
[2026-10-20 10:54:17,930.930 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:54:18,181.181 INFO    ] Initializing speech engine...
[2026-10-20 10:54:18,193.193 INFO    ] 2026-10-20 10:54:18
[2026-10-20 10:54:18,458.458 INFO    ] 2026-10-20 10:54:18
[2026-10-20 10:54:18,493.493 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:54:18,697.697 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:54:18,756.756 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:54:18,905.905 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:54:18,966.966 INFO    ] time= 20/10/2026 10:54:18
[2026-10-20 10:54:19,020.020 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:54:19,037.037 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:54:19,187.187 INFO    ] No existing commands found in stream
[2026-10-20 10:54:24,202.202 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:54:24,205.205 INFO    ] Waiting 2.00 seconds before fallback handling...
[2026-10-20 10:54:26,697.697 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 10:54:26,700.700 INFO    ] Checking for system updates...
[2026-10-20 10:54:26,736.736 INFO    ] 200
[2026-10-20 10:54:26,739.739 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:54:26,791.791 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:54:26,794.794 INFO    ] No update needed
[2026-10-20 10:54:26,796.796 INFO    ] Checking for camera pi updates...
[2026-10-20 10:54:26,829.829 INFO    ] 200
[2026-10-20 10:54:26,832.832 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:54:26,871.871 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:54:26,928.928 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:54:26,931.931 INFO    ] No camera update needed
[2026-10-20 10:54:26,933.933 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:54:26,936.936 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:54:26,941.941 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:54:26,946.946 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:54:28,986.986 INFO    ] ================================================
[2026-10-20 10:54:29,002.002 INFO    ] Launching Daemon at Tue Oct 20 10:54:28 IST 2026
[2026-10-20 10:54:29,013.013 INFO    ] ================================================
[2026-10-20 10:54:29,603.603 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:54:29
[2026-10-20 10:54:30,210.210 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:54:30,489.489 INFO    ] Initializing speech engine...
[2026-10-20 10:54:30,494.494 INFO    ] 2026-10-20 10:54:30
[2026-10-20 10:54:30,781.781 INFO    ] 2026-10-20 10:54:30
[2026-10-20 10:54:30,830.830 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:54:31,118.118 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:54:31,124.124 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:54:31,323.323 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:54:31,348.348 INFO    ] time= 20/10/2026 10:54:31
[2026-10-20 10:54:31,389.389 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:54:31,398.398 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:54:31,526.526 INFO    ] No existing commands found in stream
[2026-10-20 10:54:36,562.562 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:54:36,566.566 INFO    ] Waiting 3.86 seconds before fallback handling...
[2026-10-20 10:54:40,948.948 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:54:40,951.951 INFO    ] Checking for system updates...
[2026-10-20 10:54:40,987.987 INFO    ] 200
[2026-10-20 10:54:40,990.990 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:54:41,044.044 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:54:41,046.046 INFO    ] No update needed
[2026-10-20 10:54:41,048.048 INFO    ] Checking for camera pi updates...
[2026-10-20 10:54:41,081.081 INFO    ] 200
[2026-10-20 10:54:41,084.084 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:54:41,129.129 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:54:41,164.164 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:54:41,166.166 INFO    ] No camera update needed
[2026-10-20 10:54:41,169.169 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:54:41,171.171 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:54:41,176.176 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:54:41,181.181 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:54:43,220.220 INFO    ] ================================================
[2026-10-20 10:54:43,235.235 INFO    ] Launching Daemon at Tue Oct 20 10:54:43 IST 2026
[2026-10-20 10:54:43,246.246 INFO    ] ================================================
[2026-10-20 10:54:43,814.814 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:54:43
[2026-10-20 10:54:44,402.402 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:54:44,674.674 INFO    ] Initializing speech engine...
[2026-10-20 10:54:44,683.683 INFO    ] 2026-10-20 10:54:44
[2026-10-20 10:54:44,934.934 INFO    ] 2026-10-20 10:54:44
[2026-10-20 10:54:44,967.967 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:54:45,167.167 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:54:45,190.190 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:54:45,413.413 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:54:45,484.484 INFO    ] time= 20/10/2026 10:54:45
[2026-10-20 10:54:45,510.510 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:54:45,528.528 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:54:45,661.661 INFO    ] No existing commands found in stream
[2026-10-20 10:54:50,681.681 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:54:50,684.684 INFO    ] Waiting 0.06 seconds before fallback handling...
[2026-10-20 10:54:51,273.273 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:54:51,276.276 INFO    ] Checking for system updates...
[2026-10-20 10:54:51,312.312 INFO    ] 200
[2026-10-20 10:54:51,315.315 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:54:51,366.366 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:54:51,369.369 INFO    ] No update needed
[2026-10-20 10:54:51,372.372 INFO    ] Checking for camera pi updates...
[2026-10-20 10:54:51,407.407 INFO    ] 200
[2026-10-20 10:54:51,409.409 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:54:51,455.455 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:54:51,487.487 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:54:51,490.490 INFO    ] No camera update needed
[2026-10-20 10:54:51,492.492 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:54:51,494.494 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:54:51,500.500 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:54:51,505.505 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:54:53,544.544 INFO    ] ================================================
[2026-10-20 10:54:53,560.560 INFO    ] Launching Daemon at Tue Oct 20 10:54:53 IST 2026
[2026-10-20 10:54:53,571.571 INFO    ] ================================================
[2026-10-20 10:54:54,141.141 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:54:54
[2026-10-20 10:54:54,824.824 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:54:55,135.135 INFO    ] Initializing speech engine...
[2026-10-20 10:54:55,149.149 INFO    ] 2026-10-20 10:54:55
[2026-10-20 10:54:55,440.440 INFO    ] 2026-10-20 10:54:55
[2026-10-20 10:54:55,547.547 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:54:55,739.739 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:54:55,744.744 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:54:55,989.989 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:54:55,999.999 INFO    ] time= 20/10/2026 10:54:55
[2026-10-20 10:54:56,018.018 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:54:56,036.036 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:54:56,166.166 INFO    ] No existing commands found in stream
[2026-10-20 10:55:01,186.186 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:55:01,190.190 INFO    ] Waiting 2.60 seconds before fallback handling...
[2026-10-20 10:55:04,330.330 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:55:04,333.333 INFO    ] Checking for system updates...
[2026-10-20 10:55:04,370.370 INFO    ] 200
[2026-10-20 10:55:04,373.373 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:55:04,425.425 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:55:04,428.428 INFO    ] No update needed
[2026-10-20 10:55:04,431.431 INFO    ] Checking for camera pi updates...
[2026-10-20 10:55:04,468.468 INFO    ] 200
[2026-10-20 10:55:04,471.471 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:55:04,513.513 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:55:04,549.549 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:55:04,552.552 INFO    ] No camera update needed
[2026-10-20 10:55:04,554.554 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:55:04,557.557 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:55:04,563.563 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:55:04,569.569 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:55:06,610.610 INFO    ] ================================================
[2026-10-20 10:55:06,625.625 INFO    ] Launching Daemon at Tue Oct 20 10:55:06 IST 2026
[2026-10-20 10:55:06,636.636 INFO    ] ================================================
[2026-10-20 10:55:07,277.277 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:55:07
[2026-10-20 10:55:07,938.938 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:55:08,240.240 INFO    ] Initializing speech engine...
[2026-10-20 10:55:08,254.254 INFO    ] 2026-10-20 10:55:08
[2026-10-20 10:55:08,529.529 INFO    ] 2026-10-20 10:55:08
[2026-10-20 10:55:08,575.575 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:55:08,864.864 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:55:08,872.872 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:55:09,077.077 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:55:09,088.088 INFO    ] time= 20/10/2026 10:55:09
[2026-10-20 10:55:09,114.114 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:55:09,124.124 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:55:09,269.269 INFO    ] No existing commands found in stream
[2026-10-20 10:55:14,300.300 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:55:14,303.303 INFO    ] Waiting 1.43 seconds before fallback handling...
[2026-10-20 10:55:16,257.257 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:55:16,260.260 INFO    ] Checking for system updates...
[2026-10-20 10:55:16,300.300 INFO    ] 200
[2026-10-20 10:55:16,303.303 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:55:16,354.354 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:55:16,356.356 INFO    ] No update needed
[2026-10-20 10:55:16,358.358 INFO    ] Checking for camera pi updates...
[2026-10-20 10:55:16,395.395 INFO    ] 200
[2026-10-20 10:55:16,397.397 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:55:16,441.441 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:55:16,473.473 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:55:16,475.475 INFO    ] No camera update needed
[2026-10-20 10:55:16,477.477 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:55:16,480.480 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:55:16,485.485 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:55:16,490.490 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:55:18,529.529 INFO    ] ================================================
[2026-10-20 10:55:18,544.544 INFO    ] Launching Daemon at Tue Oct 20 10:55:18 IST 2026
[2026-10-20 10:55:18,554.554 INFO    ] ================================================
[2026-10-20 10:55:19,199.199 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:55:19
[2026-10-20 10:55:19,862.862 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:55:20,162.162 INFO    ] Initializing speech engine...
[2026-10-20 10:55:20,175.175 INFO    ] 2026-10-20 10:55:20
[2026-10-20 10:55:20,480.480 INFO    ] 2026-10-20 10:55:20
[2026-10-20 10:55:20,569.569 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:55:20,783.783 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:55:20,791.791 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:55:20,982.982 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:55:21,000.000 INFO    ] time= 20/10/2026 10:55:20
[2026-10-20 10:55:21,018.018 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:55:21,037.037 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:55:21,185.185 INFO    ] No existing commands found in stream
[2026-10-20 10:55:26,221.221 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:55:26,224.224 INFO    ] Waiting 3.23 seconds before fallback handling...
[2026-10-20 10:55:30,032.032 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:55:30,035.035 INFO    ] Checking for system updates...
[2026-10-20 10:55:30,076.076 INFO    ] 200
[2026-10-20 10:55:30,079.079 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:55:30,136.136 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:55:30,139.139 INFO    ] No update needed
[2026-10-20 10:55:30,142.142 INFO    ] Checking for camera pi updates...
[2026-10-20 10:55:30,175.175 INFO    ] 200
[2026-10-20 10:55:30,178.178 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:55:30,220.220 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:55:30,254.254 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:55:30,256.256 INFO    ] No camera update needed
[2026-10-20 10:55:30,259.259 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:55:30,261.261 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:55:30,266.266 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:55:30,271.271 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:55:32,315.315 INFO    ] ================================================
[2026-10-20 10:55:32,331.331 INFO    ] Launching Daemon at Tue Oct 20 10:55:32 IST 2026
[2026-10-20 10:55:32,342.342 INFO    ] ================================================
[2026-10-20 10:55:32,929.929 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:55:32
[2026-10-20 10:55:33,511.511 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:55:33,781.781 INFO    ] Initializing speech engine...
[2026-10-20 10:55:33,786.786 INFO    ] 2026-10-20 10:55:33
[2026-10-20 10:55:34,031.031 INFO    ] 2026-10-20 10:55:34
[2026-10-20 10:55:34,065.065 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:55:34,319.319 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:55:34,343.343 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:55:34,555.555 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:55:34,581.581 INFO    ] time= 20/10/2026 10:55:34
[2026-10-20 10:55:34,587.587 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:55:34,604.604 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:55:34,736.736 INFO    ] No existing commands found in stream
[2026-10-20 10:55:39,759.759 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:55:39,761.761 INFO    ] Waiting 0.57 seconds before fallback handling...
[2026-10-20 10:55:40,877.877 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:55:40,879.879 INFO    ] Checking for system updates...
[2026-10-20 10:55:40,914.914 INFO    ] 200
[2026-10-20 10:55:40,917.917 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:55:40,969.969 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:55:40,972.972 INFO    ] No update needed
[2026-10-20 10:55:40,974.974 INFO    ] Checking for camera pi updates...
[2026-10-20 10:55:41,007.007 INFO    ] 200
[2026-10-20 10:55:41,010.010 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:55:41,049.049 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:55:41,086.086 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:55:41,089.089 INFO    ] No camera update needed
[2026-10-20 10:55:41,091.091 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:55:41,093.093 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:55:41,099.099 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:55:41,103.103 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:55:43,144.144 INFO    ] ================================================
[2026-10-20 10:55:43,159.159 INFO    ] Launching Daemon at Tue Oct 20 10:55:43 IST 2026
[2026-10-20 10:55:43,170.170 INFO    ] ================================================
[2026-10-20 10:55:43,733.733 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:55:43
[2026-10-20 10:55:44,321.321 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:55:44,576.576 INFO    ] Initializing speech engine...
[2026-10-20 10:55:44,594.594 INFO    ] 2026-10-20 10:55:44
[2026-10-20 10:55:44,875.875 INFO    ] 2026-10-20 10:55:44
[2026-10-20 10:55:44,911.911 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:55:45,111.111 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:55:45,126.126 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:55:45,287.287 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:55:45,295.295 INFO    ] time= 20/10/2026 10:55:45
[2026-10-20 10:55:45,303.303 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:55:45,315.315 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:55:45,464.464 INFO    ] No existing commands found in stream
[2026-10-20 10:55:50,494.494 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:55:50,497.497 INFO    ] Waiting 3.63 seconds before fallback handling...
[2026-10-20 10:55:54,654.654 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 10:55:54,657.657 INFO    ] Checking for system updates...
[2026-10-20 10:55:54,697.697 INFO    ] 200
[2026-10-20 10:55:54,700.700 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:55:54,758.758 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:55:54,761.761 INFO    ] No update needed
[2026-10-20 10:55:54,763.763 INFO    ] Checking for camera pi updates...
[2026-10-20 10:55:54,796.796 INFO    ] 200
[2026-10-20 10:55:54,798.798 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:55:54,846.846 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:55:54,882.882 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:55:54,884.884 INFO    ] No camera update needed
[2026-10-20 10:55:54,886.886 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:55:54,889.889 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:55:54,894.894 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:55:54,899.899 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:55:56,938.938 INFO    ] ================================================
[2026-10-20 10:55:56,953.953 INFO    ] Launching Daemon at Tue Oct 20 10:55:56 IST 2026
[2026-10-20 10:55:56,963.963 INFO    ] ================================================
[2026-10-20 10:55:57,536.536 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:55:57
[2026-10-20 10:55:58,123.123 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:55:58,384.384 INFO    ] Initializing speech engine...
[2026-10-20 10:55:58,409.409 INFO    ] 2026-10-20 10:55:58
[2026-10-20 10:55:58,680.680 INFO    ] 2026-10-20 10:55:58
[2026-10-20 10:55:58,715.715 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:55:58,936.936 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:55:58,944.944 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:55:59,161.161 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:55:59,170.170 INFO    ] time= 20/10/2026 10:55:59
[2026-10-20 10:55:59,219.219 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:55:59,268.268 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:55:59,429.429 INFO    ] No existing commands found in stream
[2026-10-20 10:56:04,449.449 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:56:04,452.452 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-10-20 10:56:06,033.033 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:56:06,036.036 INFO    ] Checking for system updates...
[2026-10-20 10:56:06,071.071 INFO    ] 200
[2026-10-20 10:56:06,074.074 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:56:06,131.131 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:56:06,133.133 INFO    ] No update needed
[2026-10-20 10:56:06,135.135 INFO    ] Checking for camera pi updates...
[2026-10-20 10:56:06,168.168 INFO    ] 200
[2026-10-20 10:56:06,171.171 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:56:06,215.215 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:56:06,263.263 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:56:06,266.266 INFO    ] No camera update needed
[2026-10-20 10:56:06,268.268 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:56:06,270.270 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:56:06,276.276 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:56:06,281.281 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:56:08,321.321 INFO    ] ================================================
[2026-10-20 10:56:08,336.336 INFO    ] Launching Daemon at Tue Oct 20 10:56:08 IST 2026
[2026-10-20 10:56:08,346.346 INFO    ] ================================================
[2026-10-20 10:56:08,936.936 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:56:08
[2026-10-20 10:56:09,524.524 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:56:09,783.783 INFO    ] Initializing speech engine...
[2026-10-20 10:56:09,788.788 INFO    ] 2026-10-20 10:56:09
[2026-10-20 10:56:10,079.079 INFO    ] 2026-10-20 10:56:10
[2026-10-20 10:56:10,114.114 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:56:10,311.311 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:56:10,325.325 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:56:10,488.488 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:56:10,493.493 INFO    ] time= 20/10/2026 10:56:10
[2026-10-20 10:56:10,500.500 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:56:10,521.521 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:56:10,674.674 INFO    ] No existing commands found in stream
[2026-10-20 10:56:15,704.704 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:56:15,707.707 INFO    ] Waiting 2.80 seconds before fallback handling...
[2026-10-20 10:56:18,990.990 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:56:18,992.992 INFO    ] Checking for system updates...
[2026-10-20 10:56:19,028.028 INFO    ] 200
[2026-10-20 10:56:19,031.031 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:56:19,083.083 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:56:19,085.085 INFO    ] No update needed
[2026-10-20 10:56:19,087.087 INFO    ] Checking for camera pi updates...
[2026-10-20 10:56:19,121.121 INFO    ] 200
[2026-10-20 10:56:19,124.124 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:56:19,165.165 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:56:19,207.207 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:56:19,210.210 INFO    ] No camera update needed
[2026-10-20 10:56:19,212.212 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:56:19,215.215 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:56:19,221.221 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:56:19,227.227 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:56:21,267.267 INFO    ] ================================================
[2026-10-20 10:56:21,282.282 INFO    ] Launching Daemon at Tue Oct 20 10:56:21 IST 2026
[2026-10-20 10:56:21,292.292 INFO    ] ================================================
[2026-10-20 10:56:21,856.856 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:56:21
[2026-10-20 10:56:22,439.439 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:56:22,698.698 INFO    ] Initializing speech engine...
[2026-10-20 10:56:22,722.722 INFO    ] 2026-10-20 10:56:22
[2026-10-20 10:56:22,992.992 INFO    ] 2026-10-20 10:56:22
[2026-10-20 10:56:23,027.027 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:56:23,251.251 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:56:23,310.310 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:56:23,471.471 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:56:23,482.482 INFO    ] time= 20/10/2026 10:56:23
[2026-10-20 10:56:23,532.532 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:56:23,571.571 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:56:23,675.675 INFO    ] No existing commands found in stream
[2026-10-20 10:56:28,688.688 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:56:28,690.690 INFO    ] Waiting 1.39 seconds before fallback handling...
[2026-10-20 10:56:30,649.649 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:56:30,652.652 INFO    ] Checking for system updates...
[2026-10-20 10:56:30,690.690 INFO    ] 200
[2026-10-20 10:56:30,693.693 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:56:30,743.743 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:56:30,746.746 INFO    ] No update needed
[2026-10-20 10:56:30,748.748 INFO    ] Checking for camera pi updates...
[2026-10-20 10:56:30,784.784 INFO    ] 200
[2026-10-20 10:56:30,787.787 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:56:30,831.831 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:56:30,867.867 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:56:30,869.869 INFO    ] No camera update needed
[2026-10-20 10:56:30,872.872 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:56:30,874.874 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:56:30,879.879 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:56:30,884.884 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:56:32,925.925 INFO    ] ================================================
[2026-10-20 10:56:32,940.940 INFO    ] Launching Daemon at Tue Oct 20 10:56:32 IST 2026
[2026-10-20 10:56:32,951.951 INFO    ] ================================================
[2026-10-20 10:56:33,518.518 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:56:33
[2026-10-20 10:56:34,105.105 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:56:34,364.364 INFO    ] Initializing speech engine...
[2026-10-20 10:56:34,382.382 INFO    ] 2026-10-20 10:56:34
[2026-10-20 10:56:34,662.662 INFO    ] 2026-10-20 10:56:34
[2026-10-20 10:56:34,705.705 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:56:34,988.988 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:56:34,995.995 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:56:35,186.186 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:56:35,203.203 INFO    ] time= 20/10/2026 10:56:35
[2026-10-20 10:56:35,213.213 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:56:35,238.238 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:56:35,358.358 INFO    ] No existing commands found in stream
[2026-10-20 10:56:40,388.388 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:56:40,391.391 INFO    ] Waiting 2.56 seconds before fallback handling...
[2026-10-20 10:56:43,515.515 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:56:43,518.518 INFO    ] Checking for system updates...
[2026-10-20 10:56:43,557.557 INFO    ] 200
[2026-10-20 10:56:43,560.560 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:56:43,613.613 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:56:43,616.616 INFO    ] No update needed
[2026-10-20 10:56:43,619.619 INFO    ] Checking for camera pi updates...
[2026-10-20 10:56:43,656.656 INFO    ] 200
[2026-10-20 10:56:43,659.659 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:56:43,700.700 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:56:43,849.849 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:56:43,852.852 INFO    ] No camera update needed
[2026-10-20 10:56:43,855.855 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:56:43,858.858 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:56:43,864.864 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:56:43,869.869 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:56:45,910.910 INFO    ] ================================================
[2026-10-20 10:56:45,925.925 INFO    ] Launching Daemon at Tue Oct 20 10:56:45 IST 2026
[2026-10-20 10:56:45,936.936 INFO    ] ================================================
[2026-10-20 10:56:46,501.501 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:56:46
[2026-10-20 10:56:47,085.085 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:56:47,344.344 INFO    ] Initializing speech engine...
[2026-10-20 10:56:47,358.358 INFO    ] 2026-10-20 10:56:47
[2026-10-20 10:56:47,639.639 INFO    ] 2026-10-20 10:56:47
[2026-10-20 10:56:47,679.679 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:56:47,901.901 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:56:47,930.930 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:56:48,123.123 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:56:48,161.161 INFO    ] time= 20/10/2026 10:56:48
[2026-10-20 10:56:48,210.210 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:56:48,271.271 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:56:48,403.403 INFO    ] No existing commands found in stream
[2026-10-20 10:56:53,420.420 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:56:53,423.423 INFO    ] Waiting 2.55 seconds before fallback handling...
[2026-10-20 10:56:56,491.491 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:56:56,494.494 INFO    ] Checking for system updates...
[2026-10-20 10:56:56,529.529 INFO    ] 200
[2026-10-20 10:56:56,532.532 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:56:56,587.587 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:56:56,590.590 INFO    ] No update needed
[2026-10-20 10:56:56,592.592 INFO    ] Checking for camera pi updates...
[2026-10-20 10:56:56,625.625 INFO    ] 200
[2026-10-20 10:56:56,627.627 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:56:56,667.667 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:56:56,721.721 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:56:56,723.723 INFO    ] No camera update needed
[2026-10-20 10:56:56,725.725 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:56:56,728.728 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:56:56,733.733 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:56:56,738.738 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:56:58,778.778 INFO    ] ================================================
[2026-10-20 10:56:58,793.793 INFO    ] Launching Daemon at Tue Oct 20 10:56:58 IST 2026
[2026-10-20 10:56:58,803.803 INFO    ] ================================================
[2026-10-20 10:56:59,444.444 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:56:59
[2026-10-20 10:57:00,108.108 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:57:00,410.410 INFO    ] Initializing speech engine...
[2026-10-20 10:57:00,466.466 INFO    ] 2026-10-20 10:57:00
[2026-10-20 10:57:00,815.815 INFO    ] 2026-10-20 10:57:00
[2026-10-20 10:57:00,870.870 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:57:01,101.101 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:57:01,154.154 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:57:01,362.362 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:57:01,399.399 INFO    ] time= 20/10/2026 10:57:01
[2026-10-20 10:57:01,460.460 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:57:01,492.492 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:57:01,620.620 INFO    ] No existing commands found in stream
[2026-10-20 10:57:06,653.653 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:57:06,656.656 INFO    ] Waiting 1.56 seconds before fallback handling...
[2026-10-20 10:57:08,766.766 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:57:08,769.769 INFO    ] Checking for system updates...
[2026-10-20 10:57:08,806.806 INFO    ] 200
[2026-10-20 10:57:08,809.809 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:57:08,869.869 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:57:08,872.872 INFO    ] No update needed
[2026-10-20 10:57:08,875.875 INFO    ] Checking for camera pi updates...
[2026-10-20 10:57:08,913.913 INFO    ] 200
[2026-10-20 10:57:08,916.916 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:57:08,956.956 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:57:09,014.014 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:57:09,016.016 INFO    ] No camera update needed
[2026-10-20 10:57:09,019.019 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:57:09,022.022 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:57:09,028.028 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:57:09,034.034 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:57:11,075.075 INFO    ] ================================================
[2026-10-20 10:57:11,090.090 INFO    ] Launching Daemon at Tue Oct 20 10:57:11 IST 2026
[2026-10-20 10:57:11,101.101 INFO    ] ================================================
[2026-10-20 10:57:11,686.686 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:57:11
[2026-10-20 10:57:12,356.356 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:57:12,662.662 INFO    ] Initializing speech engine...
[2026-10-20 10:57:12,673.673 INFO    ] 2026-10-20 10:57:12
[2026-10-20 10:57:12,954.954 INFO    ] 2026-10-20 10:57:12
[2026-10-20 10:57:13,000.000 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:57:13,349.349 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:57:13,371.371 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:57:13,615.615 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:57:13,647.647 INFO    ] time= 20/10/2026 10:57:13
[2026-10-20 10:57:13,711.711 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:57:13,744.744 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:57:13,891.891 INFO    ] No existing commands found in stream
[2026-10-20 10:57:18,904.904 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:57:18,908.908 INFO    ] Waiting 3.80 seconds before fallback handling...
[2026-10-20 10:57:23,275.275 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:57:23,278.278 INFO    ] Checking for system updates...
[2026-10-20 10:57:23,315.315 INFO    ] 200
[2026-10-20 10:57:23,317.317 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:57:23,376.376 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:57:23,379.379 INFO    ] No update needed
[2026-10-20 10:57:23,382.382 INFO    ] Checking for camera pi updates...
[2026-10-20 10:57:23,417.417 INFO    ] 200
[2026-10-20 10:57:23,419.419 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:57:23,464.464 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:57:23,518.518 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:57:23,521.521 INFO    ] No camera update needed
[2026-10-20 10:57:23,523.523 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:57:23,525.525 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:57:23,531.531 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:57:23,536.536 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:57:25,575.575 INFO    ] ================================================
[2026-10-20 10:57:25,590.590 INFO    ] Launching Daemon at Tue Oct 20 10:57:25 IST 2026
[2026-10-20 10:57:25,601.601 INFO    ] ================================================
[2026-10-20 10:57:26,197.197 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:57:26
[2026-10-20 10:57:26,783.783 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:57:27,036.036 INFO    ] Initializing speech engine...
[2026-10-20 10:57:27,044.044 INFO    ] 2026-10-20 10:57:27
[2026-10-20 10:57:27,334.334 INFO    ] 2026-10-20 10:57:27
[2026-10-20 10:57:27,373.373 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:57:27,652.652 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:57:27,666.666 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:57:27,820.820 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:57:27,890.890 INFO    ] time= 20/10/2026 10:57:27
[2026-10-20 10:57:27,940.940 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:57:27,966.966 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:57:28,113.113 INFO    ] No existing commands found in stream
[2026-10-20 10:57:33,140.140 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:57:33,142.142 INFO    ] Waiting 3.37 seconds before fallback handling...
[2026-10-20 10:57:37,045.045 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 10:57:37,048.048 INFO    ] Checking for system updates...
[2026-10-20 10:57:37,083.083 INFO    ] 200
[2026-10-20 10:57:37,085.085 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:57:37,136.136 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:57:37,139.139 INFO    ] No update needed
[2026-10-20 10:57:37,141.141 INFO    ] Checking for camera pi updates...
[2026-10-20 10:57:37,174.174 INFO    ] 200
[2026-10-20 10:57:37,176.176 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:57:37,217.217 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:57:37,248.248 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:57:37,251.251 INFO    ] No camera update needed
[2026-10-20 10:57:37,253.253 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:57:37,255.255 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:57:37,260.260 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:57:37,265.265 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:57:39,304.304 INFO    ] ================================================
[2026-10-20 10:57:39,319.319 INFO    ] Launching Daemon at Tue Oct 20 10:57:39 IST 2026
[2026-10-20 10:57:39,329.329 INFO    ] ================================================
[2026-10-20 10:57:39,901.901 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:57:39
[2026-10-20 10:57:40,485.485 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:57:40,738.738 INFO    ] Initializing speech engine...
[2026-10-20 10:57:40,745.745 INFO    ] 2026-10-20 10:57:40
[2026-10-20 10:57:41,040.040 INFO    ] 2026-10-20 10:57:41
[2026-10-20 10:57:41,077.077 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:57:41,298.298 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:57:41,306.306 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:57:41,525.525 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:57:41,552.552 INFO    ] time= 20/10/2026 10:57:41
[2026-10-20 10:57:41,616.616 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:57:41,671.671 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:57:41,806.806 INFO    ] No existing commands found in stream
[2026-10-20 10:57:46,834.834 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:57:46,837.837 INFO    ] Waiting 0.26 seconds before fallback handling...
[2026-10-20 10:57:47,621.621 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 10:57:47,624.624 INFO    ] Checking for system updates...
[2026-10-20 10:57:47,659.659 INFO    ] 200
[2026-10-20 10:57:47,662.662 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:57:47,713.713 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:57:47,716.716 INFO    ] No update needed
[2026-10-20 10:57:47,718.718 INFO    ] Checking for camera pi updates...
[2026-10-20 10:57:47,751.751 INFO    ] 200
[2026-10-20 10:57:47,754.754 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:57:47,793.793 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:57:47,840.840 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:57:47,842.842 INFO    ] No camera update needed
[2026-10-20 10:57:47,844.844 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:57:47,846.846 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:57:47,852.852 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:57:47,857.857 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:57:49,896.896 INFO    ] ================================================
[2026-10-20 10:57:49,911.911 INFO    ] Launching Daemon at Tue Oct 20 10:57:49 IST 2026
[2026-10-20 10:57:49,921.921 INFO    ] ================================================
[2026-10-20 10:57:50,509.509 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:57:50
[2026-10-20 10:57:51,107.107 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:57:51,377.377 INFO    ] Initializing speech engine...
[2026-10-20 10:57:51,393.393 INFO    ] 2026-10-20 10:57:51
[2026-10-20 10:57:51,665.665 INFO    ] 2026-10-20 10:57:51
[2026-10-20 10:57:51,701.701 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:57:51,972.972 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:57:51,992.992 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:57:52,148.148 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:57:52,170.170 INFO    ] time= 20/10/2026 10:57:52
[2026-10-20 10:57:52,229.229 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:57:52,278.278 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:57:52,429.429 INFO    ] No existing commands found in stream
[2026-10-20 10:57:57,446.446 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:57:57,449.449 INFO    ] Waiting 0.29 seconds before fallback handling...
[2026-10-20 10:57:58,262.262 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:57:58,265.265 INFO    ] Checking for system updates...
[2026-10-20 10:57:58,302.302 INFO    ] 200
[2026-10-20 10:57:58,305.305 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:57:58,357.357 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:57:58,360.360 INFO    ] No update needed
[2026-10-20 10:57:58,363.363 INFO    ] Checking for camera pi updates...
[2026-10-20 10:57:58,397.397 INFO    ] 200
[2026-10-20 10:57:58,400.400 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:57:58,443.443 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:57:58,477.477 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:57:58,481.481 INFO    ] No camera update needed
[2026-10-20 10:57:58,483.483 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:57:58,486.486 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:57:58,492.492 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:57:58,498.498 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:58:00,539.539 INFO    ] ================================================
[2026-10-20 10:58:00,554.554 INFO    ] Launching Daemon at Tue Oct 20 10:58:00 IST 2026
[2026-10-20 10:58:00,565.565 INFO    ] ================================================
[2026-10-20 10:58:01,131.131 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:58:01
[2026-10-20 10:58:01,861.861 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:58:02,230.230 INFO    ] Initializing speech engine...
[2026-10-20 10:58:02,241.241 INFO    ] 2026-10-20 10:58:02
[2026-10-20 10:58:02,581.581 INFO    ] 2026-10-20 10:58:02
[2026-10-20 10:58:02,668.668 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:58:02,885.885 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:58:02,921.921 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:58:03,143.143 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:58:03,172.172 INFO    ] time= 20/10/2026 10:58:03
[2026-10-20 10:58:03,199.199 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:58:03,236.236 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:58:03,388.388 INFO    ] No existing commands found in stream
[2026-10-20 10:58:08,417.417 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:58:08,420.420 INFO    ] Waiting 0.28 seconds before fallback handling...
[2026-10-20 10:58:09,183.183 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:58:09,186.186 INFO    ] Checking for system updates...
[2026-10-20 10:58:09,221.221 INFO    ] 200
[2026-10-20 10:58:09,223.223 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:58:09,275.275 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:58:09,277.277 INFO    ] No update needed
[2026-10-20 10:58:09,280.280 INFO    ] Checking for camera pi updates...
[2026-10-20 10:58:09,314.314 INFO    ] 200
[2026-10-20 10:58:09,316.316 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:58:09,362.362 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:58:09,399.399 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:58:09,402.402 INFO    ] No camera update needed
[2026-10-20 10:58:09,404.404 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:58:09,406.406 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:58:09,411.411 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:58:09,416.416 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:58:11,455.455 INFO    ] ================================================
[2026-10-20 10:58:11,470.470 INFO    ] Launching Daemon at Tue Oct 20 10:58:11 IST 2026
[2026-10-20 10:58:11,481.481 INFO    ] ================================================
[2026-10-20 10:58:12,147.147 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:58:12
[2026-10-20 10:58:12,832.832 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:58:13,147.147 INFO    ] Initializing speech engine...
[2026-10-20 10:58:13,159.159 INFO    ] 2026-10-20 10:58:13
[2026-10-20 10:58:13,450.450 INFO    ] 2026-10-20 10:58:13
[2026-10-20 10:58:13,564.564 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:58:13,777.777 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:58:13,782.782 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:58:13,979.979 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:58:13,986.986 INFO    ] time= 20/10/2026 10:58:13
[2026-10-20 10:58:14,008.008 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:58:14,035.035 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:58:14,162.162 INFO    ] No existing commands found in stream
[2026-10-20 10:58:19,198.198 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:58:19,202.202 INFO    ] Waiting 0.93 seconds before fallback handling...
[2026-10-20 10:58:20,682.682 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:58:20,685.685 INFO    ] Checking for system updates...
[2026-10-20 10:58:20,723.723 INFO    ] 200
[2026-10-20 10:58:20,726.726 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:58:20,779.779 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:58:20,782.782 INFO    ] No update needed
[2026-10-20 10:58:20,784.784 INFO    ] Checking for camera pi updates...
[2026-10-20 10:58:20,819.819 INFO    ] 200
[2026-10-20 10:58:20,822.822 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:58:20,863.863 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:58:20,902.902 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:58:20,908.908 INFO    ] No camera update needed
[2026-10-20 10:58:20,911.911 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:58:20,914.914 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:58:20,921.921 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:58:20,927.927 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:58:22,968.968 INFO    ] ================================================
[2026-10-20 10:58:22,983.983 INFO    ] Launching Daemon at Tue Oct 20 10:58:22 IST 2026
[2026-10-20 10:58:22,994.994 INFO    ] ================================================
[2026-10-20 10:58:23,655.655 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:58:23
[2026-10-20 10:58:24,339.339 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:58:24,642.642 INFO    ] Initializing speech engine...
[2026-10-20 10:58:24,650.650 INFO    ] 2026-10-20 10:58:24
[2026-10-20 10:58:24,945.945 INFO    ] 2026-10-20 10:58:24
[2026-10-20 10:58:25,055.055 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:58:25,272.272 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:58:25,302.302 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:58:25,490.490 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:58:25,519.519 INFO    ] time= 20/10/2026 10:58:25
[2026-10-20 10:58:25,528.528 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:58:25,540.540 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:58:25,690.690 INFO    ] No existing commands found in stream
[2026-10-20 10:58:30,722.722 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:58:30,725.725 INFO    ] Waiting 3.01 seconds before fallback handling...
[2026-10-20 10:58:34,285.285 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:58:34,288.288 INFO    ] Checking for system updates...
[2026-10-20 10:58:34,326.326 INFO    ] 200
[2026-10-20 10:58:34,329.329 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:58:34,389.389 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:58:34,391.391 INFO    ] No update needed
[2026-10-20 10:58:34,393.393 INFO    ] Checking for camera pi updates...
[2026-10-20 10:58:34,427.427 INFO    ] 200
[2026-10-20 10:58:34,430.430 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:58:34,473.473 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:58:34,541.541 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:58:34,543.543 INFO    ] No camera update needed
[2026-10-20 10:58:34,546.546 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:58:34,549.549 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:58:34,555.555 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:58:34,562.562 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:58:36,602.602 INFO    ] ================================================
[2026-10-20 10:58:36,617.617 INFO    ] Launching Daemon at Tue Oct 20 10:58:36 IST 2026
[2026-10-20 10:58:36,627.627 INFO    ] ================================================
[2026-10-20 10:58:37,290.290 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:58:37
[2026-10-20 10:58:37,974.974 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:58:38,285.285 INFO    ] Initializing speech engine...
[2026-10-20 10:58:38,297.297 INFO    ] 2026-10-20 10:58:38
[2026-10-20 10:58:38,583.583 INFO    ] 2026-10-20 10:58:38
[2026-10-20 10:58:38,693.693 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:58:38,907.907 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:58:38,915.915 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:58:39,111.111 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:58:39,130.130 INFO    ] time= 20/10/2026 10:58:39
[2026-10-20 10:58:39,159.159 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:58:39,169.169 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:58:39,305.305 INFO    ] No existing commands found in stream
[2026-10-20 10:58:44,336.336 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:58:44,339.339 INFO    ] Waiting 1.88 seconds before fallback handling...
[2026-10-20 10:58:46,785.785 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 10:58:46,788.788 INFO    ] Checking for system updates...
[2026-10-20 10:58:46,824.824 INFO    ] 200
[2026-10-20 10:58:46,826.826 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:58:46,879.879 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:58:46,882.882 INFO    ] No update needed
[2026-10-20 10:58:46,884.884 INFO    ] Checking for camera pi updates...
[2026-10-20 10:58:46,921.921 INFO    ] 200
[2026-10-20 10:58:46,924.924 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:58:46,965.965 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:58:47,098.098 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:58:47,100.100 INFO    ] No camera update needed
[2026-10-20 10:58:47,103.103 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:58:47,105.105 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:58:47,110.110 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:58:47,115.115 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:58:49,156.156 INFO    ] ================================================
[2026-10-20 10:58:49,171.171 INFO    ] Launching Daemon at Tue Oct 20 10:58:49 IST 2026
[2026-10-20 10:58:49,186.186 INFO    ] ================================================
[2026-10-20 10:58:49,751.751 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:58:49
[2026-10-20 10:58:50,367.367 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:58:50,675.675 INFO    ] Initializing speech engine...
[2026-10-20 10:58:50,682.682 INFO    ] 2026-10-20 10:58:50
[2026-10-20 10:58:50,958.958 INFO    ] 2026-10-20 10:58:50
[2026-10-20 10:58:51,019.019 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:58:51,269.269 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:58:51,277.277 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:58:51,481.481 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:58:51,518.518 INFO    ] time= 20/10/2026 10:58:51
[2026-10-20 10:58:51,539.539 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:58:51,569.569 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:58:51,683.683 INFO    ] No existing commands found in stream
[2026-10-20 10:58:56,693.693 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:58:56,696.696 INFO    ] Waiting 1.91 seconds before fallback handling...
[2026-10-20 10:58:59,189.189 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:58:59,192.192 INFO    ] Checking for system updates...
[2026-10-20 10:58:59,228.228 INFO    ] 200
[2026-10-20 10:58:59,230.230 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:58:59,282.282 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:58:59,285.285 INFO    ] No update needed
[2026-10-20 10:58:59,287.287 INFO    ] Checking for camera pi updates...
[2026-10-20 10:58:59,320.320 INFO    ] 200
[2026-10-20 10:58:59,323.323 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:58:59,363.363 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:58:59,400.400 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:58:59,402.402 INFO    ] No camera update needed
[2026-10-20 10:58:59,405.405 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:58:59,407.407 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:58:59,413.413 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:58:59,418.418 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:59:01,457.457 INFO    ] ================================================
[2026-10-20 10:59:01,472.472 INFO    ] Launching Daemon at Tue Oct 20 10:59:01 IST 2026
[2026-10-20 10:59:01,482.482 INFO    ] ================================================
[2026-10-20 10:59:02,194.194 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:59:02
[2026-10-20 10:59:02,925.925 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:59:03,270.270 INFO    ] Initializing speech engine...
[2026-10-20 10:59:03,288.288 INFO    ] 2026-10-20 10:59:03
[2026-10-20 10:59:03,593.593 INFO    ] 2026-10-20 10:59:03
[2026-10-20 10:59:03,632.632 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:59:03,853.853 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:59:03,881.881 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:59:04,083.083 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:59:04,100.100 INFO    ] time= 20/10/2026 10:59:04
[2026-10-20 10:59:04,159.159 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:59:04,203.203 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:59:04,299.299 INFO    ] No existing commands found in stream
[2026-10-20 10:59:09,314.314 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:59:09,317.317 INFO    ] Waiting 3.04 seconds before fallback handling...
[2026-10-20 10:59:12,859.859 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 10:59:12,861.861 INFO    ] Checking for system updates...
[2026-10-20 10:59:12,900.900 INFO    ] 200
[2026-10-20 10:59:12,903.903 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:59:12,954.954 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:59:12,956.956 INFO    ] No update needed
[2026-10-20 10:59:12,958.958 INFO    ] Checking for camera pi updates...
[2026-10-20 10:59:12,992.992 INFO    ] 200
[2026-10-20 10:59:12,994.994 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:59:13,038.038 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:59:13,070.070 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 10:59:13,072.072 INFO    ] No camera update needed
[2026-10-20 10:59:13,075.075 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:59:13,077.077 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:59:13,082.082 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:59:13,087.087 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:59:15,127.127 INFO    ] ================================================
[2026-10-20 10:59:15,141.141 INFO    ] Launching Daemon at Tue Oct 20 10:59:15 IST 2026
[2026-10-20 10:59:15,152.152 INFO    ] ================================================
[2026-10-20 10:59:15,764.764 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:59:15
[2026-10-20 10:59:16,349.349 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:59:16,615.615 INFO    ] Initializing speech engine...
[2026-10-20 10:59:16,624.624 INFO    ] 2026-10-20 10:59:16
[2026-10-20 10:59:16,868.868 INFO    ] 2026-10-20 10:59:16
[2026-10-20 10:59:16,903.903 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:59:17,158.158 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:59:17,164.164 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:59:17,386.386 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:59:17,438.438 INFO    ] time= 20/10/2026 10:59:17
[2026-10-20 10:59:17,469.469 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:59:17,478.478 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:59:17,654.654 INFO    ] No existing commands found in stream
[2026-10-20 10:59:22,684.684 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:59:22,687.687 INFO    ] Waiting 1.69 seconds before fallback handling...
[2026-10-20 10:59:24,878.878 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 10:59:24,881.881 INFO    ] Checking for system updates...
[2026-10-20 10:59:24,916.916 INFO    ] 200
[2026-10-20 10:59:24,919.919 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:59:24,970.970 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:59:24,973.973 INFO    ] No update needed
[2026-10-20 10:59:24,975.975 INFO    ] Checking for camera pi updates...
[2026-10-20 10:59:25,008.008 INFO    ] 200
[2026-10-20 10:59:25,011.011 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:59:25,050.050 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:59:25,084.084 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:59:25,087.087 INFO    ] No camera update needed
[2026-10-20 10:59:25,089.089 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:59:25,092.092 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:59:25,097.097 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:59:25,103.103 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:59:27,142.142 INFO    ] ================================================
[2026-10-20 10:59:27,157.157 INFO    ] Launching Daemon at Tue Oct 20 10:59:27 IST 2026
[2026-10-20 10:59:27,167.167 INFO    ] ================================================
[2026-10-20 10:59:27,737.737 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:59:27
[2026-10-20 10:59:28,321.321 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:59:28,592.592 INFO    ] Initializing speech engine...
[2026-10-20 10:59:28,598.598 INFO    ] 2026-10-20 10:59:28
[2026-10-20 10:59:28,858.858 INFO    ] 2026-10-20 10:59:28
[2026-10-20 10:59:28,887.887 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:59:29,137.137 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:59:29,142.142 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:59:29,353.353 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:59:29,399.399 INFO    ] time= 20/10/2026 10:59:29
[2026-10-20 10:59:29,405.405 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:59:29,423.423 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:59:29,553.553 INFO    ] No existing commands found in stream
[2026-10-20 10:59:34,568.568 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:59:34,571.571 INFO    ] Waiting 1.95 seconds before fallback handling...
[2026-10-20 10:59:37,036.036 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 10:59:37,038.038 INFO    ] Checking for system updates...
[2026-10-20 10:59:37,074.074 INFO    ] 200
[2026-10-20 10:59:37,077.077 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:59:37,135.135 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:59:37,137.137 INFO    ] No update needed
[2026-10-20 10:59:37,140.140 INFO    ] Checking for camera pi updates...
[2026-10-20 10:59:37,173.173 INFO    ] 200
[2026-10-20 10:59:37,176.176 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:59:37,215.215 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:59:37,252.252 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:59:37,254.254 INFO    ] No camera update needed
[2026-10-20 10:59:37,257.257 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:59:37,259.259 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:59:37,264.264 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:59:37,269.269 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:59:39,313.313 INFO    ] ================================================
[2026-10-20 10:59:39,328.328 INFO    ] Launching Daemon at Tue Oct 20 10:59:39 IST 2026
[2026-10-20 10:59:39,338.338 INFO    ] ================================================
[2026-10-20 10:59:39,919.919 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:59:39
[2026-10-20 10:59:40,518.518 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:59:40,794.794 INFO    ] Initializing speech engine...
[2026-10-20 10:59:40,802.802 INFO    ] 2026-10-20 10:59:40
[2026-10-20 10:59:41,064.064 INFO    ] 2026-10-20 10:59:41
[2026-10-20 10:59:41,118.118 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:59:41,345.345 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:59:41,349.349 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:59:41,541.541 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:59:41,590.590 INFO    ] time= 20/10/2026 10:59:41
[2026-10-20 10:59:41,611.611 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:59:41,618.618 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:59:41,782.782 INFO    ] No existing commands found in stream
[2026-10-20 10:59:46,812.812 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:59:46,815.815 INFO    ] Waiting 1.82 seconds before fallback handling...
[2026-10-20 10:59:49,161.161 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 10:59:49,164.164 INFO    ] Checking for system updates...
[2026-10-20 10:59:49,199.199 INFO    ] 200
[2026-10-20 10:59:49,202.202 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:59:49,255.255 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:59:49,257.257 INFO    ] No update needed
[2026-10-20 10:59:49,259.259 INFO    ] Checking for camera pi updates...
[2026-10-20 10:59:49,299.299 INFO    ] 200
[2026-10-20 10:59:49,301.301 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 10:59:49,343.343 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 10:59:49,376.376 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 10:59:49,378.378 INFO    ] No camera update needed
[2026-10-20 10:59:49,381.381 INFO    ] Script finished. Safe exiting...
[2026-10-20 10:59:49,383.383 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 10:59:49,389.389 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 10:59:49,394.394 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 10:59:51,432.432 INFO    ] ================================================
[2026-10-20 10:59:51,447.447 INFO    ] Launching Daemon at Tue Oct 20 10:59:51 IST 2026
[2026-10-20 10:59:51,457.457 INFO    ] ================================================
[2026-10-20 10:59:52,039.039 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 10:59:52
[2026-10-20 10:59:52,640.640 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 10:59:52,940.940 INFO    ] Initializing speech engine...
[2026-10-20 10:59:52,949.949 INFO    ] 2026-10-20 10:59:52
[2026-10-20 10:59:53,199.199 INFO    ] 2026-10-20 10:59:53
[2026-10-20 10:59:53,234.234 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 10:59:53,491.491 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 10:59:53,501.501 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 10:59:53,706.706 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 10:59:53,761.761 INFO    ] time= 20/10/2026 10:59:53
[2026-10-20 10:59:53,771.771 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 10:59:53,786.786 INFO    ] Checking for existing commands in stream...
[2026-10-20 10:59:53,925.925 INFO    ] No existing commands found in stream
[2026-10-20 10:59:58,948.948 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 10:59:58,951.951 INFO    ] Waiting 0.67 seconds before fallback handling...
[2026-10-20 11:00:00,152.152 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:00:00,155.155 INFO    ] Checking for system updates...
[2026-10-20 11:00:00,193.193 INFO    ] 200
[2026-10-20 11:00:00,196.196 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:00:00,249.249 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:00:00,252.252 INFO    ] No update needed
[2026-10-20 11:00:00,255.255 INFO    ] Checking for camera pi updates...
[2026-10-20 11:00:00,288.288 INFO    ] 200
[2026-10-20 11:00:00,290.290 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:00:00,335.335 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:00:00,379.379 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:00:00,382.382 INFO    ] No camera update needed
[2026-10-20 11:00:00,384.384 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:00:00,387.387 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:00:00,392.392 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:00:00,397.397 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:00:02,501.501 INFO    ] ================================================
[2026-10-20 11:00:02,623.623 INFO    ] Launching Daemon at Tue Oct 20 11:00:02 IST 2026
[2026-10-20 11:00:02,722.722 INFO    ] ================================================
[2026-10-20 11:00:04,893.893 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:00:04
[2026-10-20 11:00:06,301.301 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:00:06,613.613 INFO    ] Initializing speech engine...
[2026-10-20 11:00:06,619.619 INFO    ] 2026-10-20 11:00:06
[2026-10-20 11:00:06,892.892 INFO    ] 2026-10-20 11:00:06
[2026-10-20 11:00:06,926.926 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:00:07,125.125 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:00:07,143.143 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:00:07,355.355 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:00:07,363.363 INFO    ] time= 20/10/2026 11:00:07
[2026-10-20 11:00:07,366.366 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:00:07,385.385 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:00:07,504.504 INFO    ] No existing commands found in stream
[2026-10-20 11:00:12,515.515 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:00:12,518.518 INFO    ] Waiting 2.61 seconds before fallback handling...
[2026-10-20 11:00:15,610.610 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:00:15,612.612 INFO    ] Checking for system updates...
[2026-10-20 11:00:15,647.647 INFO    ] 200
[2026-10-20 11:00:15,650.650 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:00:15,709.709 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:00:15,712.712 INFO    ] No update needed
[2026-10-20 11:00:15,714.714 INFO    ] Checking for camera pi updates...
[2026-10-20 11:00:15,747.747 INFO    ] 200
[2026-10-20 11:00:15,749.749 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:00:15,793.793 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:00:15,846.846 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:00:15,849.849 INFO    ] No camera update needed
[2026-10-20 11:00:15,851.851 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:00:15,853.853 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:00:15,859.859 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:00:15,864.864 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:00:17,904.904 INFO    ] ================================================
[2026-10-20 11:00:17,920.920 INFO    ] Launching Daemon at Tue Oct 20 11:00:17 IST 2026
[2026-10-20 11:00:17,931.931 INFO    ] ================================================
[2026-10-20 11:00:18,535.535 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:00:18
[2026-10-20 11:00:19,136.136 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:00:19,393.393 INFO    ] Initializing speech engine...
[2026-10-20 11:00:19,408.408 INFO    ] 2026-10-20 11:00:19
[2026-10-20 11:00:19,691.691 INFO    ] 2026-10-20 11:00:19
[2026-10-20 11:00:19,725.725 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:00:19,923.923 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:00:19,935.935 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:00:20,107.107 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:00:20,172.172 INFO    ] time= 20/10/2026 11:00:20
[2026-10-20 11:00:20,187.187 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:00:20,246.246 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:00:20,375.375 INFO    ] No existing commands found in stream
[2026-10-20 11:00:25,385.385 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:00:25,388.388 INFO    ] Waiting 3.93 seconds before fallback handling...
[2026-10-20 11:00:29,851.851 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:00:29,854.854 INFO    ] Checking for system updates...
[2026-10-20 11:00:29,889.889 INFO    ] 200
[2026-10-20 11:00:29,892.892 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:00:29,949.949 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:00:29,951.951 INFO    ] No update needed
[2026-10-20 11:00:29,954.954 INFO    ] Checking for camera pi updates...
[2026-10-20 11:00:29,987.987 INFO    ] 200
[2026-10-20 11:00:29,989.989 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:00:30,030.030 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:00:30,063.063 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:00:30,066.066 INFO    ] No camera update needed
[2026-10-20 11:00:30,068.068 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:00:30,071.071 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:00:30,076.076 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:00:30,081.081 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:00:32,123.123 INFO    ] ================================================
[2026-10-20 11:00:32,140.140 INFO    ] Launching Daemon at Tue Oct 20 11:00:32 IST 2026
[2026-10-20 11:00:32,151.151 INFO    ] ================================================
[2026-10-20 11:00:32,833.833 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:00:32
[2026-10-20 11:00:33,526.526 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:00:33,820.820 INFO    ] Initializing speech engine...
[2026-10-20 11:00:33,827.827 INFO    ] 2026-10-20 11:00:33
[2026-10-20 11:00:34,098.098 INFO    ] 2026-10-20 11:00:34
[2026-10-20 11:00:34,154.154 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:00:34,385.385 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:00:34,407.407 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:00:34,613.613 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:00:34,647.647 INFO    ] time= 20/10/2026 11:00:34
[2026-10-20 11:00:34,654.654 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:00:34,675.675 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:00:34,805.805 INFO    ] No existing commands found in stream
[2026-10-20 11:00:39,834.834 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:00:39,837.837 INFO    ] Waiting 3.06 seconds before fallback handling...
[2026-10-20 11:00:43,437.437 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:00:43,440.440 INFO    ] Checking for system updates...
[2026-10-20 11:00:43,481.481 INFO    ] 200
[2026-10-20 11:00:43,483.483 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:00:43,542.542 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:00:43,544.544 INFO    ] No update needed
[2026-10-20 11:00:43,547.547 INFO    ] Checking for camera pi updates...
[2026-10-20 11:00:43,580.580 INFO    ] 200
[2026-10-20 11:00:43,583.583 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:00:43,627.627 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:00:43,661.661 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:00:43,663.663 INFO    ] No camera update needed
[2026-10-20 11:00:43,665.665 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:00:43,668.668 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:00:43,673.673 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:00:43,678.678 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:00:45,718.718 INFO    ] ================================================
[2026-10-20 11:00:45,733.733 INFO    ] Launching Daemon at Tue Oct 20 11:00:45 IST 2026
[2026-10-20 11:00:45,743.743 INFO    ] ================================================
[2026-10-20 11:00:46,382.382 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:00:46
[2026-10-20 11:00:47,043.043 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:00:47,346.346 INFO    ] Initializing speech engine...
[2026-10-20 11:00:47,356.356 INFO    ] 2026-10-20 11:00:47
[2026-10-20 11:00:47,634.634 INFO    ] 2026-10-20 11:00:47
[2026-10-20 11:00:47,679.679 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:00:47,964.964 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:00:47,973.973 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:00:48,165.165 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:00:48,187.187 INFO    ] time= 20/10/2026 11:00:48
[2026-10-20 11:00:48,213.213 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:00:48,220.220 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:00:48,357.357 INFO    ] No existing commands found in stream
[2026-10-20 11:00:53,383.383 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:00:53,386.386 INFO    ] Waiting 0.65 seconds before fallback handling...
[2026-10-20 11:00:54,520.520 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:00:54,523.523 INFO    ] Checking for system updates...
[2026-10-20 11:00:54,563.563 INFO    ] 200
[2026-10-20 11:00:54,566.566 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:00:54,622.622 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:00:54,625.625 INFO    ] No update needed
[2026-10-20 11:00:54,628.628 INFO    ] Checking for camera pi updates...
[2026-10-20 11:00:54,662.662 INFO    ] 200
[2026-10-20 11:00:54,665.665 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:00:54,707.707 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:00:54,841.841 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:00:54,844.844 INFO    ] No camera update needed
[2026-10-20 11:00:54,847.847 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:00:54,849.849 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:00:54,855.855 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:00:54,861.861 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:00:56,901.901 INFO    ] ================================================
[2026-10-20 11:00:56,916.916 INFO    ] Launching Daemon at Tue Oct 20 11:00:56 IST 2026
[2026-10-20 11:00:56,927.927 INFO    ] ================================================
[2026-10-20 11:00:57,564.564 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:00:57
[2026-10-20 11:00:58,221.221 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:00:58,520.520 INFO    ] Initializing speech engine...
[2026-10-20 11:00:58,527.527 INFO    ] 2026-10-20 11:00:58
[2026-10-20 11:00:58,800.800 INFO    ] 2026-10-20 11:00:58
[2026-10-20 11:00:58,857.857 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:00:59,119.119 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:00:59,126.126 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:00:59,344.344 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:00:59,368.368 INFO    ] time= 20/10/2026 11:00:59
[2026-10-20 11:00:59,386.386 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:00:59,396.396 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:00:59,501.501 INFO    ] No existing commands found in stream
[2026-10-20 11:01:04,532.532 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:01:04,535.535 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-10-20 11:01:06,585.585 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:01:06,588.588 INFO    ] Checking for system updates...
[2026-10-20 11:01:06,629.629 INFO    ] 200
[2026-10-20 11:01:06,632.632 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:01:06,701.701 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:01:06,704.704 INFO    ] No update needed
[2026-10-20 11:01:06,707.707 INFO    ] Checking for camera pi updates...
[2026-10-20 11:01:06,754.754 INFO    ] 200
[2026-10-20 11:01:06,757.757 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:01:06,798.798 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:01:06,833.833 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:01:06,836.836 INFO    ] No camera update needed
[2026-10-20 11:01:06,838.838 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:01:06,841.841 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:01:06,848.848 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:01:06,854.854 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:01:08,894.894 INFO    ] ================================================
[2026-10-20 11:01:08,909.909 INFO    ] Launching Daemon at Tue Oct 20 11:01:08 IST 2026
[2026-10-20 11:01:08,920.920 INFO    ] ================================================
[2026-10-20 11:01:09,496.496 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:01:09
[2026-10-20 11:01:10,081.081 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:01:10,348.348 INFO    ] Initializing speech engine...
[2026-10-20 11:01:10,357.357 INFO    ] 2026-10-20 11:01:10
[2026-10-20 11:01:10,603.603 INFO    ] 2026-10-20 11:01:10
[2026-10-20 11:01:10,638.638 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:01:10,894.894 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:01:10,898.898 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:01:11,118.118 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:01:11,156.156 INFO    ] time= 20/10/2026 11:01:11
[2026-10-20 11:01:11,162.162 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:01:11,180.180 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:01:11,312.312 INFO    ] No existing commands found in stream
[2026-10-20 11:01:16,330.330 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:01:16,333.333 INFO    ] Waiting 0.59 seconds before fallback handling...
[2026-10-20 11:01:17,437.437 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:01:17,440.440 INFO    ] Checking for system updates...
[2026-10-20 11:01:17,476.476 INFO    ] 200
[2026-10-20 11:01:17,479.479 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:01:17,542.542 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:01:17,545.545 INFO    ] No update needed
[2026-10-20 11:01:17,548.548 INFO    ] Checking for camera pi updates...
[2026-10-20 11:01:17,586.586 INFO    ] 200
[2026-10-20 11:01:17,589.589 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:01:17,630.630 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:01:17,665.665 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:01:17,668.668 INFO    ] No camera update needed
[2026-10-20 11:01:17,670.670 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:01:17,673.673 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:01:17,679.679 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:01:17,685.685 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:01:19,727.727 INFO    ] ================================================
[2026-10-20 11:01:19,743.743 INFO    ] Launching Daemon at Tue Oct 20 11:01:19 IST 2026
[2026-10-20 11:01:19,754.754 INFO    ] ================================================
[2026-10-20 11:01:20,322.322 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:01:20
[2026-10-20 11:01:20,914.914 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:01:21,177.177 INFO    ] Initializing speech engine...
[2026-10-20 11:01:21,202.202 INFO    ] 2026-10-20 11:01:21
[2026-10-20 11:01:21,476.476 INFO    ] 2026-10-20 11:01:21
[2026-10-20 11:01:21,511.511 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:01:21,708.708 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:01:21,741.741 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:01:21,945.945 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:01:21,948.948 INFO    ] time= 20/10/2026 11:01:21
[2026-10-20 11:01:21,975.975 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:01:22,030.030 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:01:22,208.208 INFO    ] No existing commands found in stream
[2026-10-20 11:01:27,234.234 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:01:27,236.236 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-10-20 11:01:29,991.991 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:01:29,994.994 INFO    ] Checking for system updates...
[2026-10-20 11:01:30,039.039 INFO    ] 200
[2026-10-20 11:01:30,043.043 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:01:30,100.100 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:01:30,103.103 INFO    ] No update needed
[2026-10-20 11:01:30,106.106 INFO    ] Checking for camera pi updates...
[2026-10-20 11:01:30,142.142 INFO    ] 200
[2026-10-20 11:01:30,144.144 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:01:30,189.189 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:01:30,236.236 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:01:30,239.239 INFO    ] No camera update needed
[2026-10-20 11:01:30,241.241 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:01:30,244.244 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:01:30,251.251 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:01:30,256.256 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:01:32,299.299 INFO    ] ================================================
[2026-10-20 11:01:32,315.315 INFO    ] Launching Daemon at Tue Oct 20 11:01:32 IST 2026
[2026-10-20 11:01:32,327.327 INFO    ] ================================================
[2026-10-20 11:01:32,922.922 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:01:32
[2026-10-20 11:01:33,535.535 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:01:33,815.815 INFO    ] Initializing speech engine...
[2026-10-20 11:01:33,830.830 INFO    ] 2026-10-20 11:01:33
[2026-10-20 11:01:34,100.100 INFO    ] 2026-10-20 11:01:34
[2026-10-20 11:01:34,133.133 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:01:34,348.348 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:01:34,365.365 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:01:34,521.521 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:01:34,528.528 INFO    ] time= 20/10/2026 11:01:34
[2026-10-20 11:01:34,556.556 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:01:34,604.604 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:01:34,736.736 INFO    ] No existing commands found in stream
[2026-10-20 11:01:39,760.760 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:01:39,763.763 INFO    ] Waiting 0.71 seconds before fallback handling...
[2026-10-20 11:01:41,015.015 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:01:41,018.018 INFO    ] Checking for system updates...
[2026-10-20 11:01:41,055.055 INFO    ] 200
[2026-10-20 11:01:41,057.057 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:01:41,111.111 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:01:41,114.114 INFO    ] No update needed
[2026-10-20 11:01:41,116.116 INFO    ] Checking for camera pi updates...
[2026-10-20 11:01:41,152.152 INFO    ] 200
[2026-10-20 11:01:41,155.155 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:01:41,201.201 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:01:41,236.236 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:01:41,239.239 INFO    ] No camera update needed
[2026-10-20 11:01:41,242.242 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:01:41,244.244 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:01:41,251.251 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:01:41,256.256 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:01:43,297.297 INFO    ] ================================================
[2026-10-20 11:01:43,312.312 INFO    ] Launching Daemon at Tue Oct 20 11:01:43 IST 2026
[2026-10-20 11:01:43,323.323 INFO    ] ================================================
[2026-10-20 11:01:43,983.983 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:01:43
[2026-10-20 11:01:44,611.611 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:01:44,888.888 INFO    ] Initializing speech engine...
[2026-10-20 11:01:44,897.897 INFO    ] 2026-10-20 11:01:44
[2026-10-20 11:01:45,144.144 INFO    ] 2026-10-20 11:01:45
[2026-10-20 11:01:45,179.179 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:01:45,436.436 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:01:45,442.442 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:01:45,651.651 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:01:45,701.701 INFO    ] time= 20/10/2026 11:01:45
[2026-10-20 11:01:45,717.717 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:01:45,726.726 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:01:45,851.851 INFO    ] No existing commands found in stream
[2026-10-20 11:01:50,866.866 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:01:50,869.869 INFO    ] Waiting 1.92 seconds before fallback handling...
[2026-10-20 11:01:53,310.310 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:01:53,313.313 INFO    ] Checking for system updates...
[2026-10-20 11:01:53,350.350 INFO    ] 200
[2026-10-20 11:01:53,352.352 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:01:53,405.405 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:01:53,408.408 INFO    ] No update needed
[2026-10-20 11:01:53,411.411 INFO    ] Checking for camera pi updates...
[2026-10-20 11:01:53,446.446 INFO    ] 200
[2026-10-20 11:01:53,448.448 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:01:53,489.489 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:01:53,536.536 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:01:53,539.539 INFO    ] No camera update needed
[2026-10-20 11:01:53,541.541 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:01:53,544.544 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:01:53,550.550 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:01:53,556.556 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:01:55,598.598 INFO    ] ================================================
[2026-10-20 11:01:55,613.613 INFO    ] Launching Daemon at Tue Oct 20 11:01:55 IST 2026
[2026-10-20 11:01:55,623.623 INFO    ] ================================================
[2026-10-20 11:01:56,195.195 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:01:56
[2026-10-20 11:01:56,780.780 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:01:57,038.038 INFO    ] Initializing speech engine...
[2026-10-20 11:01:57,046.046 INFO    ] 2026-10-20 11:01:57
[2026-10-20 11:01:57,329.329 INFO    ] 2026-10-20 11:01:57
[2026-10-20 11:01:57,364.364 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:01:57,627.627 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:01:57,637.637 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:01:57,840.840 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:01:57,900.900 INFO    ] time= 20/10/2026 11:01:57
[2026-10-20 11:01:57,912.912 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:01:57,928.928 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:01:58,040.040 INFO    ] No existing commands found in stream
[2026-10-20 11:02:03,050.050 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:02:03,053.053 INFO    ] Waiting 3.30 seconds before fallback handling...
[2026-10-20 11:02:06,878.878 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:02:06,881.881 INFO    ] Checking for system updates...
[2026-10-20 11:02:06,921.921 INFO    ] 200
[2026-10-20 11:02:06,924.924 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:02:06,991.991 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:02:06,993.993 INFO    ] No update needed
[2026-10-20 11:02:06,996.996 INFO    ] Checking for camera pi updates...
[2026-10-20 11:02:07,030.030 INFO    ] 200
[2026-10-20 11:02:07,032.032 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:02:07,073.073 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:02:07,118.118 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:02:07,120.120 INFO    ] No camera update needed
[2026-10-20 11:02:07,123.123 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:02:07,125.125 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:02:07,130.130 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:02:07,135.135 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:02:09,174.174 INFO    ] ================================================
[2026-10-20 11:02:09,189.189 INFO    ] Launching Daemon at Tue Oct 20 11:02:09 IST 2026
[2026-10-20 11:02:09,200.200 INFO    ] ================================================
[2026-10-20 11:02:09,793.793 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:02:09
[2026-10-20 11:02:10,444.444 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:02:10,755.755 INFO    ] Initializing speech engine...
[2026-10-20 11:02:10,767.767 INFO    ] 2026-10-20 11:02:10
[2026-10-20 11:02:11,074.074 INFO    ] 2026-10-20 11:02:11
[2026-10-20 11:02:11,163.163 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:02:11,377.377 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:02:11,387.387 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:02:11,579.579 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:02:11,601.601 INFO    ] time= 20/10/2026 11:02:11
[2026-10-20 11:02:11,630.630 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:02:11,637.637 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:02:11,778.778 INFO    ] No existing commands found in stream
[2026-10-20 11:02:16,809.809 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:02:16,812.812 INFO    ] Waiting 3.00 seconds before fallback handling...
[2026-10-20 11:02:20,380.380 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:02:20,383.383 INFO    ] Checking for system updates...
[2026-10-20 11:02:20,424.424 INFO    ] 200
[2026-10-20 11:02:20,426.426 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:02:20,487.487 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:02:20,489.489 INFO    ] No update needed
[2026-10-20 11:02:20,492.492 INFO    ] Checking for camera pi updates...
[2026-10-20 11:02:20,526.526 INFO    ] 200
[2026-10-20 11:02:20,528.528 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:02:20,569.569 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:02:20,618.618 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:02:20,620.620 INFO    ] No camera update needed
[2026-10-20 11:02:20,623.623 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:02:20,625.625 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:02:20,630.630 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:02:20,636.636 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:02:22,676.676 INFO    ] ================================================
[2026-10-20 11:02:22,691.691 INFO    ] Launching Daemon at Tue Oct 20 11:02:22 IST 2026
[2026-10-20 11:02:22,702.702 INFO    ] ================================================
[2026-10-20 11:02:23,299.299 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:02:23
[2026-10-20 11:02:23,886.886 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:02:24,155.155 INFO    ] Initializing speech engine...
[2026-10-20 11:02:24,164.164 INFO    ] 2026-10-20 11:02:24
[2026-10-20 11:02:24,410.410 INFO    ] 2026-10-20 11:02:24
[2026-10-20 11:02:24,445.445 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:02:24,723.723 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:02:24,730.730 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:02:24,933.933 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:02:24,965.965 INFO    ] time= 20/10/2026 11:02:24
[2026-10-20 11:02:24,982.982 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:02:24,991.991 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:02:25,131.131 INFO    ] No existing commands found in stream
[2026-10-20 11:02:30,145.145 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:02:30,147.147 INFO    ] Waiting 2.56 seconds before fallback handling...
[2026-10-20 11:02:33,285.285 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:02:33,288.288 INFO    ] Checking for system updates...
[2026-10-20 11:02:33,325.325 INFO    ] 200
[2026-10-20 11:02:33,329.329 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:02:33,383.383 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:02:33,386.386 INFO    ] No update needed
[2026-10-20 11:02:33,389.389 INFO    ] Checking for camera pi updates...
[2026-10-20 11:02:33,423.423 INFO    ] 200
[2026-10-20 11:02:33,426.426 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:02:33,468.468 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:02:33,522.522 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:02:33,525.525 INFO    ] No camera update needed
[2026-10-20 11:02:33,528.528 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:02:33,531.531 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:02:33,537.537 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:02:33,543.543 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:02:35,583.583 INFO    ] ================================================
[2026-10-20 11:02:35,598.598 INFO    ] Launching Daemon at Tue Oct 20 11:02:35 IST 2026
[2026-10-20 11:02:35,609.609 INFO    ] ================================================
[2026-10-20 11:02:36,212.212 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:02:36
[2026-10-20 11:02:36,814.814 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:02:37,094.094 INFO    ] Initializing speech engine...
[2026-10-20 11:02:37,101.101 INFO    ] 2026-10-20 11:02:37
[2026-10-20 11:02:37,350.350 INFO    ] 2026-10-20 11:02:37
[2026-10-20 11:02:37,385.385 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:02:37,636.636 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:02:37,646.646 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:02:37,879.879 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:02:37,906.906 INFO    ] time= 20/10/2026 11:02:37
[2026-10-20 11:02:37,912.912 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:02:37,929.929 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:02:38,059.059 INFO    ] No existing commands found in stream
[2026-10-20 11:02:43,073.073 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:02:43,076.076 INFO    ] Waiting 3.69 seconds before fallback handling...
[2026-10-20 11:02:47,266.266 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:02:47,269.269 INFO    ] Checking for system updates...
[2026-10-20 11:02:47,304.304 INFO    ] 200
[2026-10-20 11:02:47,307.307 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:02:47,367.367 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:02:47,370.370 INFO    ] No update needed
[2026-10-20 11:02:47,372.372 INFO    ] Checking for camera pi updates...
[2026-10-20 11:02:47,406.406 INFO    ] 200
[2026-10-20 11:02:47,408.408 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:02:47,453.453 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:02:47,488.488 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:02:47,491.491 INFO    ] No camera update needed
[2026-10-20 11:02:47,493.493 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:02:47,496.496 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:02:47,501.501 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:02:47,506.506 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:02:49,546.546 INFO    ] ================================================
[2026-10-20 11:02:49,561.561 INFO    ] Launching Daemon at Tue Oct 20 11:02:49 IST 2026
[2026-10-20 11:02:49,571.571 INFO    ] ================================================
[2026-10-20 11:02:50,148.148 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:02:50
[2026-10-20 11:02:50,737.737 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:02:51,009.009 INFO    ] Initializing speech engine...
[2026-10-20 11:02:51,018.018 INFO    ] 2026-10-20 11:02:51
[2026-10-20 11:02:51,265.265 INFO    ] 2026-10-20 11:02:51
[2026-10-20 11:02:51,299.299 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:02:51,556.556 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:02:51,560.560 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:02:51,782.782 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:02:51,818.818 INFO    ] time= 20/10/2026 11:02:51
[2026-10-20 11:02:51,824.824 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:02:51,845.845 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:02:51,997.997 INFO    ] No existing commands found in stream
[2026-10-20 11:02:57,027.027 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:02:57,030.030 INFO    ] Waiting 3.46 seconds before fallback handling...
[2026-10-20 11:03:01,286.286 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 11:03:01,289.289 INFO    ] Checking for system updates...
[2026-10-20 11:03:01,328.328 INFO    ] 200
[2026-10-20 11:03:01,331.331 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:03:01,389.389 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:03:01,391.391 INFO    ] No update needed
[2026-10-20 11:03:01,394.394 INFO    ] Checking for camera pi updates...
[2026-10-20 11:03:01,428.428 INFO    ] 200
[2026-10-20 11:03:01,431.431 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:03:01,476.476 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:03:01,634.634 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:03:01,638.638 INFO    ] No camera update needed
[2026-10-20 11:03:01,642.642 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:03:01,646.646 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:03:01,654.654 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:03:01,661.661 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:03:03,708.708 INFO    ] ================================================
[2026-10-20 11:03:03,726.726 INFO    ] Launching Daemon at Tue Oct 20 11:03:03 IST 2026
[2026-10-20 11:03:03,737.737 INFO    ] ================================================
[2026-10-20 11:03:04,305.305 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:03:04
[2026-10-20 11:03:04,892.892 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:03:05,148.148 INFO    ] Initializing speech engine...
[2026-10-20 11:03:05,157.157 INFO    ] 2026-10-20 11:03:05
[2026-10-20 11:03:05,450.450 INFO    ] 2026-10-20 11:03:05
[2026-10-20 11:03:05,488.488 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:03:05,686.686 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:03:05,704.704 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:03:05,887.887 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:03:05,949.949 INFO    ] time= 20/10/2026 11:03:05
[2026-10-20 11:03:05,956.956 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:03:06,000.000 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:03:06,127.127 INFO    ] No existing commands found in stream
[2026-10-20 11:03:11,142.142 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:03:11,145.145 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-10-20 11:03:14,729.729 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:03:14,731.731 INFO    ] Checking for system updates...
[2026-10-20 11:03:14,767.767 INFO    ] 200
[2026-10-20 11:03:14,770.770 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:03:14,821.821 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:03:14,824.824 INFO    ] No update needed
[2026-10-20 11:03:14,826.826 INFO    ] Checking for camera pi updates...
[2026-10-20 11:03:14,860.860 INFO    ] 200
[2026-10-20 11:03:14,862.862 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:03:14,902.902 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:03:14,949.949 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:03:14,951.951 INFO    ] No camera update needed
[2026-10-20 11:03:14,953.953 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:03:14,955.955 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:03:14,961.961 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:03:14,966.966 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:03:17,005.005 INFO    ] ================================================
[2026-10-20 11:03:17,020.020 INFO    ] Launching Daemon at Tue Oct 20 11:03:17 IST 2026
[2026-10-20 11:03:17,031.031 INFO    ] ================================================
[2026-10-20 11:03:17,693.693 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:03:17
[2026-10-20 11:03:18,375.375 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:03:18,688.688 INFO    ] Initializing speech engine...
[2026-10-20 11:03:18,701.701 INFO    ] 2026-10-20 11:03:18
[2026-10-20 11:03:18,984.984 INFO    ] 2026-10-20 11:03:18
[2026-10-20 11:03:19,072.072 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:03:19,316.316 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:03:19,324.324 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:03:19,555.555 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:03:19,596.596 INFO    ] time= 20/10/2026 11:03:19
[2026-10-20 11:03:19,603.603 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:03:19,618.618 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:03:19,749.749 INFO    ] No existing commands found in stream
[2026-10-20 11:03:24,774.774 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:03:24,777.777 INFO    ] Waiting 2.33 seconds before fallback handling...
[2026-10-20 11:03:27,643.643 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:03:27,646.646 INFO    ] Checking for system updates...
[2026-10-20 11:03:27,687.687 INFO    ] 200
[2026-10-20 11:03:27,690.690 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:03:27,748.748 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:03:27,751.751 INFO    ] No update needed
[2026-10-20 11:03:27,753.753 INFO    ] Checking for camera pi updates...
[2026-10-20 11:03:27,788.788 INFO    ] 200
[2026-10-20 11:03:27,790.790 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:03:27,833.833 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:03:27,888.888 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:03:27,891.891 INFO    ] No camera update needed
[2026-10-20 11:03:27,893.893 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:03:27,896.896 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:03:27,901.901 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:03:27,906.906 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:03:29,945.945 INFO    ] ================================================
[2026-10-20 11:03:29,960.960 INFO    ] Launching Daemon at Tue Oct 20 11:03:29 IST 2026
[2026-10-20 11:03:29,971.971 INFO    ] ================================================
[2026-10-20 11:03:30,641.641 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:03:30
[2026-10-20 11:03:31,324.324 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:03:31,632.632 INFO    ] Initializing speech engine...
[2026-10-20 11:03:31,640.640 INFO    ] 2026-10-20 11:03:31
[2026-10-20 11:03:31,929.929 INFO    ] 2026-10-20 11:03:31
[2026-10-20 11:03:31,968.968 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:03:32,232.232 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:03:32,239.239 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:03:32,464.464 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:03:32,514.514 INFO    ] time= 20/10/2026 11:03:32
[2026-10-20 11:03:32,522.522 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:03:32,540.540 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:03:32,702.702 INFO    ] No existing commands found in stream
[2026-10-20 11:03:37,730.730 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:03:37,732.732 INFO    ] Waiting 3.05 seconds before fallback handling...
[2026-10-20 11:03:41,342.342 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 11:03:41,345.345 INFO    ] Checking for system updates...
[2026-10-20 11:03:41,385.385 INFO    ] 200
[2026-10-20 11:03:41,387.387 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:03:41,439.439 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:03:41,441.441 INFO    ] No update needed
[2026-10-20 11:03:41,443.443 INFO    ] Checking for camera pi updates...
[2026-10-20 11:03:41,477.477 INFO    ] 200
[2026-10-20 11:03:41,479.479 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:03:41,521.521 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:03:41,569.569 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:03:41,571.571 INFO    ] No camera update needed
[2026-10-20 11:03:41,573.573 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:03:41,576.576 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:03:41,581.581 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:03:41,586.586 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:03:43,625.625 INFO    ] ================================================
[2026-10-20 11:03:43,641.641 INFO    ] Launching Daemon at Tue Oct 20 11:03:43 IST 2026
[2026-10-20 11:03:43,652.652 INFO    ] ================================================
[2026-10-20 11:03:44,280.280 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:03:44
[2026-10-20 11:03:44,954.954 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:03:45,260.260 INFO    ] Initializing speech engine...
[2026-10-20 11:03:45,273.273 INFO    ] 2026-10-20 11:03:45
[2026-10-20 11:03:45,581.581 INFO    ] 2026-10-20 11:03:45
[2026-10-20 11:03:45,667.667 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:03:45,944.944 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:03:45,981.981 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:03:46,213.213 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:03:46,249.249 INFO    ] time= 20/10/2026 11:03:46
[2026-10-20 11:03:46,304.304 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:03:46,336.336 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:03:46,487.487 INFO    ] No existing commands found in stream
[2026-10-20 11:03:51,514.514 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:03:51,518.518 INFO    ] Waiting 0.39 seconds before fallback handling...
[2026-10-20 11:03:52,467.467 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 11:03:52,471.471 INFO    ] Checking for system updates...
[2026-10-20 11:03:52,507.507 INFO    ] 200
[2026-10-20 11:03:52,509.509 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:03:52,562.562 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:03:52,565.565 INFO    ] No update needed
[2026-10-20 11:03:52,567.567 INFO    ] Checking for camera pi updates...
[2026-10-20 11:03:52,604.604 INFO    ] 200
[2026-10-20 11:03:52,606.606 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:03:52,647.647 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:03:52,691.691 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:03:52,694.694 INFO    ] No camera update needed
[2026-10-20 11:03:52,696.696 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:03:52,698.698 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:03:52,704.704 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:03:52,709.709 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:03:54,747.747 INFO    ] ================================================
[2026-10-20 11:03:54,763.763 INFO    ] Launching Daemon at Tue Oct 20 11:03:54 IST 2026
[2026-10-20 11:03:54,774.774 INFO    ] ================================================
[2026-10-20 11:03:55,343.343 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:03:55
[2026-10-20 11:03:55,927.927 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:03:56,194.194 INFO    ] Initializing speech engine...
[2026-10-20 11:03:56,203.203 INFO    ] 2026-10-20 11:03:56
[2026-10-20 11:03:56,449.449 INFO    ] 2026-10-20 11:03:56
[2026-10-20 11:03:56,484.484 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:03:56,735.735 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:03:56,744.744 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:03:56,964.964 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:03:57,002.002 INFO    ] time= 20/10/2026 11:03:56
[2026-10-20 11:03:57,007.007 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:03:57,028.028 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:03:57,153.153 INFO    ] No existing commands found in stream
[2026-10-20 11:04:02,168.168 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:04:02,171.171 INFO    ] Waiting 1.15 seconds before fallback handling...
[2026-10-20 11:04:03,845.845 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 11:04:03,848.848 INFO    ] Checking for system updates...
[2026-10-20 11:04:03,883.883 INFO    ] 200
[2026-10-20 11:04:03,886.886 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:04:03,945.945 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:04:03,947.947 INFO    ] No update needed
[2026-10-20 11:04:03,950.950 INFO    ] Checking for camera pi updates...
[2026-10-20 11:04:03,987.987 INFO    ] 200
[2026-10-20 11:04:03,989.989 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:04:04,030.030 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:04:04,061.061 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:04:04,064.064 INFO    ] No camera update needed
[2026-10-20 11:04:04,066.066 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:04:04,068.068 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:04:04,074.074 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:04:04,079.079 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:04:06,120.120 INFO    ] ================================================
[2026-10-20 11:04:06,136.136 INFO    ] Launching Daemon at Tue Oct 20 11:04:06 IST 2026
[2026-10-20 11:04:06,147.147 INFO    ] ================================================
[2026-10-20 11:04:06,712.712 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:04:06
[2026-10-20 11:04:07,296.296 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:04:07,554.554 INFO    ] Initializing speech engine...
[2026-10-20 11:04:07,563.563 INFO    ] 2026-10-20 11:04:07
[2026-10-20 11:04:07,857.857 INFO    ] 2026-10-20 11:04:07
[2026-10-20 11:04:07,892.892 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:04:08,094.094 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:04:08,099.099 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:04:08,278.278 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:04:08,284.284 INFO    ] time= 20/10/2026 11:04:08
[2026-10-20 11:04:08,291.291 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:04:08,319.319 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:04:08,451.451 INFO    ] No existing commands found in stream
[2026-10-20 11:04:13,476.476 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:04:13,479.479 INFO    ] Waiting 2.50 seconds before fallback handling...
[2026-10-20 11:04:16,543.543 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:04:16,545.545 INFO    ] Checking for system updates...
[2026-10-20 11:04:16,581.581 INFO    ] 200
[2026-10-20 11:04:16,583.583 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:04:16,643.643 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:04:16,645.645 INFO    ] No update needed
[2026-10-20 11:04:16,647.647 INFO    ] Checking for camera pi updates...
[2026-10-20 11:04:16,680.680 INFO    ] 200
[2026-10-20 11:04:16,683.683 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:04:16,723.723 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:04:16,799.799 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:04:16,802.802 INFO    ] No camera update needed
[2026-10-20 11:04:16,804.804 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:04:16,807.807 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:04:16,812.812 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:04:16,817.817 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:04:18,857.857 INFO    ] ================================================
[2026-10-20 11:04:18,872.872 INFO    ] Launching Daemon at Tue Oct 20 11:04:18 IST 2026
[2026-10-20 11:04:18,883.883 INFO    ] ================================================
[2026-10-20 11:04:19,451.451 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:04:19
[2026-10-20 11:04:20,036.036 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:04:20,292.292 INFO    ] Initializing speech engine...
[2026-10-20 11:04:20,298.298 INFO    ] 2026-10-20 11:04:20
[2026-10-20 11:04:20,599.599 INFO    ] 2026-10-20 11:04:20
[2026-10-20 11:04:20,638.638 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:04:20,870.870 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:04:20,926.926 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:04:21,113.113 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:04:21,153.153 INFO    ] time= 20/10/2026 11:04:21
[2026-10-20 11:04:21,218.218 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:04:21,255.255 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:04:21,381.381 INFO    ] No existing commands found in stream
[2026-10-20 11:04:26,406.406 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:04:26,409.409 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-10-20 11:04:29,578.578 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:04:29,581.581 INFO    ] Checking for system updates...
[2026-10-20 11:04:29,624.624 INFO    ] 200
[2026-10-20 11:04:29,626.626 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:04:29,679.679 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:04:29,681.681 INFO    ] No update needed
[2026-10-20 11:04:29,684.684 INFO    ] Checking for camera pi updates...
[2026-10-20 11:04:29,718.718 INFO    ] 200
[2026-10-20 11:04:29,721.721 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:04:29,766.766 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:04:29,814.814 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:04:29,817.817 INFO    ] No camera update needed
[2026-10-20 11:04:29,819.819 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:04:29,822.822 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:04:29,827.827 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:04:29,832.832 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:04:31,874.874 INFO    ] ================================================
[2026-10-20 11:04:31,892.892 INFO    ] Launching Daemon at Tue Oct 20 11:04:31 IST 2026
[2026-10-20 11:04:31,904.904 INFO    ] ================================================
[2026-10-20 11:04:32,494.494 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:04:32
[2026-10-20 11:04:33,216.216 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:04:33,524.524 INFO    ] Initializing speech engine...
[2026-10-20 11:04:33,531.531 INFO    ] 2026-10-20 11:04:33
[2026-10-20 11:04:33,808.808 INFO    ] 2026-10-20 11:04:33
[2026-10-20 11:04:33,867.867 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:04:34,121.121 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:04:34,129.129 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:04:34,347.347 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:04:34,372.372 INFO    ] time= 20/10/2026 11:04:34
[2026-10-20 11:04:34,391.391 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:04:34,398.398 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:04:34,541.541 INFO    ] No existing commands found in stream
[2026-10-20 11:04:39,569.569 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:04:39,572.572 INFO    ] Waiting 2.38 seconds before fallback handling...
[2026-10-20 11:04:42,530.530 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:04:42,533.533 INFO    ] Checking for system updates...
[2026-10-20 11:04:42,575.575 INFO    ] 200
[2026-10-20 11:04:42,578.578 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:04:42,649.649 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:04:42,652.652 INFO    ] No update needed
[2026-10-20 11:04:42,655.655 INFO    ] Checking for camera pi updates...
[2026-10-20 11:04:42,690.690 INFO    ] 200
[2026-10-20 11:04:42,693.693 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:04:42,740.740 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:04:42,791.791 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:04:42,794.794 INFO    ] No camera update needed
[2026-10-20 11:04:42,797.797 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:04:42,800.800 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:04:42,806.806 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:04:42,812.812 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:04:44,854.854 INFO    ] ================================================
[2026-10-20 11:04:44,870.870 INFO    ] Launching Daemon at Tue Oct 20 11:04:44 IST 2026
[2026-10-20 11:04:44,881.881 INFO    ] ================================================
[2026-10-20 11:04:45,450.450 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:04:45
[2026-10-20 11:04:46,037.037 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:04:46,308.308 INFO    ] Initializing speech engine...
[2026-10-20 11:04:46,317.317 INFO    ] 2026-10-20 11:04:46
[2026-10-20 11:04:46,571.571 INFO    ] 2026-10-20 11:04:46
[2026-10-20 11:04:46,613.613 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:04:46,856.856 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:04:46,868.868 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:04:47,049.049 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:04:47,099.099 INFO    ] time= 20/10/2026 11:04:47
[2026-10-20 11:04:47,136.136 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:04:47,142.142 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:04:47,300.300 INFO    ] No existing commands found in stream
[2026-10-20 11:04:52,326.326 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:04:52,329.329 INFO    ] Waiting 0.05 seconds before fallback handling...
[2026-10-20 11:04:52,885.885 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:04:52,887.887 INFO    ] Checking for system updates...
[2026-10-20 11:04:52,923.923 INFO    ] 200
[2026-10-20 11:04:52,926.926 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:04:52,987.987 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:04:52,990.990 INFO    ] No update needed
[2026-10-20 11:04:52,993.993 INFO    ] Checking for camera pi updates...
[2026-10-20 11:04:53,027.027 INFO    ] 200
[2026-10-20 11:04:53,030.030 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:04:53,076.076 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:04:53,154.154 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:04:53,156.156 INFO    ] No camera update needed
[2026-10-20 11:04:53,159.159 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:04:53,161.161 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:04:53,167.167 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:04:53,172.172 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:04:55,213.213 INFO    ] ================================================
[2026-10-20 11:04:55,230.230 INFO    ] Launching Daemon at Tue Oct 20 11:04:55 IST 2026
[2026-10-20 11:04:55,240.240 INFO    ] ================================================
[2026-10-20 11:04:55,807.807 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:04:55
[2026-10-20 11:04:56,394.394 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:04:56,660.660 INFO    ] Initializing speech engine...
[2026-10-20 11:04:56,669.669 INFO    ] 2026-10-20 11:04:56
[2026-10-20 11:04:56,914.914 INFO    ] 2026-10-20 11:04:56
[2026-10-20 11:04:56,948.948 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:04:57,200.200 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:04:57,209.209 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:04:57,350.350 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:04:57,414.414 INFO    ] time= 20/10/2026 11:04:57
[2026-10-20 11:04:57,469.469 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:04:57,478.478 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:04:57,624.624 INFO    ] No existing commands found in stream
[2026-10-20 11:05:02,646.646 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:05:02,650.650 INFO    ] Waiting 3.89 seconds before fallback handling...
[2026-10-20 11:05:07,080.080 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 11:05:07,083.083 INFO    ] Checking for system updates...
[2026-10-20 11:05:07,118.118 INFO    ] 200
[2026-10-20 11:05:07,121.121 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:05:07,175.175 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:05:07,177.177 INFO    ] No update needed
[2026-10-20 11:05:07,180.180 INFO    ] Checking for camera pi updates...
[2026-10-20 11:05:07,217.217 INFO    ] 200
[2026-10-20 11:05:07,220.220 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:05:07,262.262 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:05:07,306.306 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:05:07,309.309 INFO    ] No camera update needed
[2026-10-20 11:05:07,312.312 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:05:07,314.314 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:05:07,320.320 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:05:07,326.326 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:05:09,368.368 INFO    ] ================================================
[2026-10-20 11:05:09,383.383 INFO    ] Launching Daemon at Tue Oct 20 11:05:09 IST 2026
[2026-10-20 11:05:09,395.395 INFO    ] ================================================
[2026-10-20 11:05:09,963.963 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:05:09
[2026-10-20 11:05:10,548.548 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:05:10,803.803 INFO    ] Initializing speech engine...
[2026-10-20 11:05:10,812.812 INFO    ] 2026-10-20 11:05:10
[2026-10-20 11:05:11,102.102 INFO    ] 2026-10-20 11:05:11
[2026-10-20 11:05:11,140.140 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:05:11,362.362 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:05:11,428.428 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:05:11,583.583 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:05:11,610.610 INFO    ] time= 20/10/2026 11:05:11
[2026-10-20 11:05:11,675.675 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:05:11,724.724 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:05:11,876.876 INFO    ] No existing commands found in stream
[2026-10-20 11:05:16,901.901 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:05:16,904.904 INFO    ] Waiting 0.83 seconds before fallback handling...
[2026-10-20 11:05:18,274.274 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 11:05:18,277.277 INFO    ] Checking for system updates...
[2026-10-20 11:05:18,312.312 INFO    ] 200
[2026-10-20 11:05:18,314.314 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:05:18,365.365 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:05:18,368.368 INFO    ] No update needed
[2026-10-20 11:05:18,370.370 INFO    ] Checking for camera pi updates...
[2026-10-20 11:05:18,403.403 INFO    ] 200
[2026-10-20 11:05:18,406.406 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:05:18,445.445 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:05:18,501.501 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:05:18,503.503 INFO    ] No camera update needed
[2026-10-20 11:05:18,505.505 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:05:18,508.508 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:05:18,513.513 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:05:18,518.518 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:05:20,558.558 INFO    ] ================================================
[2026-10-20 11:05:20,573.573 INFO    ] Launching Daemon at Tue Oct 20 11:05:20 IST 2026
[2026-10-20 11:05:20,584.584 INFO    ] ================================================
[2026-10-20 11:05:21,151.151 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:05:21
[2026-10-20 11:05:21,741.741 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:05:21,988.988 INFO    ] Initializing speech engine...
[2026-10-20 11:05:21,994.994 INFO    ] 2026-10-20 11:05:21
[2026-10-20 11:05:22,267.267 INFO    ] 2026-10-20 11:05:22
[2026-10-20 11:05:22,302.302 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:05:22,564.564 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:05:22,573.573 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:05:22,781.781 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:05:22,830.830 INFO    ] time= 20/10/2026 11:05:22
[2026-10-20 11:05:22,836.836 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:05:22,854.854 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:05:22,987.987 INFO    ] No existing commands found in stream
[2026-10-20 11:05:28,005.005 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:05:28,008.008 INFO    ] Waiting 0.91 seconds before fallback handling...
[2026-10-20 11:05:29,461.461 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 11:05:29,464.464 INFO    ] Checking for system updates...
[2026-10-20 11:05:29,504.504 INFO    ] 200
[2026-10-20 11:05:29,507.507 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:05:29,563.563 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:05:29,566.566 INFO    ] No update needed
[2026-10-20 11:05:29,568.568 INFO    ] Checking for camera pi updates...
[2026-10-20 11:05:29,603.603 INFO    ] 200
[2026-10-20 11:05:29,606.606 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:05:29,647.647 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:05:29,695.695 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:05:29,697.697 INFO    ] No camera update needed
[2026-10-20 11:05:29,700.700 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:05:29,703.703 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:05:29,709.709 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:05:29,715.715 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:05:31,756.756 INFO    ] ================================================
[2026-10-20 11:05:31,772.772 INFO    ] Launching Daemon at Tue Oct 20 11:05:31 IST 2026
[2026-10-20 11:05:31,783.783 INFO    ] ================================================
[2026-10-20 11:05:32,474.474 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:05:32
[2026-10-20 11:05:33,197.197 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:05:33,501.501 INFO    ] Initializing speech engine...
[2026-10-20 11:05:33,515.515 INFO    ] 2026-10-20 11:05:33
[2026-10-20 11:05:33,825.825 INFO    ] 2026-10-20 11:05:33
[2026-10-20 11:05:33,910.910 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:05:34,181.181 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:05:34,206.206 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:05:34,461.461 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:05:34,488.488 INFO    ] time= 20/10/2026 11:05:34
[2026-10-20 11:05:34,547.547 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:05:34,586.586 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:05:34,759.759 INFO    ] No existing commands found in stream
[2026-10-20 11:05:39,785.785 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:05:39,788.788 INFO    ] Waiting 1.22 seconds before fallback handling...
[2026-10-20 11:05:41,539.539 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:05:41,542.542 INFO    ] Checking for system updates...
[2026-10-20 11:05:41,584.584 INFO    ] 200
[2026-10-20 11:05:41,587.587 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 11:05:41,590.590 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-10-20 11:05:41,593.593 INFO    ] Checking for camera pi updates...
[2026-10-20 11:05:41,637.637 INFO    ] 200
[2026-10-20 11:05:41,640.640 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 11:05:41,643.643 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-10-20 11:05:41,645.645 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:05:41,648.648 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:05:41,654.654 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:05:41,659.659 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:05:43,702.702 INFO    ] ================================================
[2026-10-20 11:05:43,718.718 INFO    ] Launching Daemon at Tue Oct 20 11:05:43 IST 2026
[2026-10-20 11:05:43,730.730 INFO    ] ================================================
[2026-10-20 11:05:44,319.319 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:05:44
[2026-10-20 11:05:44,914.914 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:05:45,168.168 INFO    ] Initializing speech engine...
[2026-10-20 11:05:45,174.174 INFO    ] 2026-10-20 11:05:45
[2026-10-20 11:05:45,468.468 INFO    ] 2026-10-20 11:05:45
[2026-10-20 11:05:45,503.503 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:05:45,702.702 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:05:45,716.716 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:05:45,882.882 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:05:45,889.889 INFO    ] time= 20/10/2026 11:05:45
[2026-10-20 11:05:45,915.915 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:05:45,963.963 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:05:46,087.087 INFO    ] No existing commands found in stream
[2026-10-20 11:05:51,112.112 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:05:51,115.115 INFO    ] Waiting 3.64 seconds before fallback handling...
[2026-10-20 11:05:55,278.278 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:05:55,280.280 INFO    ] Checking for system updates...
[2026-10-20 11:05:55,316.316 INFO    ] 200
[2026-10-20 11:05:55,318.318 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:05:55,370.370 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:05:55,373.373 INFO    ] No update needed
[2026-10-20 11:05:55,375.375 INFO    ] Checking for camera pi updates...
[2026-10-20 11:05:55,414.414 INFO    ] 200
[2026-10-20 11:05:55,417.417 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:05:55,465.465 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:05:55,509.509 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:05:55,512.512 INFO    ] No camera update needed
[2026-10-20 11:05:55,515.515 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:05:55,517.517 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:05:55,523.523 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:05:55,527.527 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:05:57,567.567 INFO    ] ================================================
[2026-10-20 11:05:57,582.582 INFO    ] Launching Daemon at Tue Oct 20 11:05:57 IST 2026
[2026-10-20 11:05:57,593.593 INFO    ] ================================================
[2026-10-20 11:05:58,165.165 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:05:58
[2026-10-20 11:05:58,757.757 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:05:59,029.029 INFO    ] Initializing speech engine...
[2026-10-20 11:05:59,037.037 INFO    ] 2026-10-20 11:05:59
[2026-10-20 11:05:59,293.293 INFO    ] 2026-10-20 11:05:59
[2026-10-20 11:05:59,322.322 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:05:59,591.591 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:05:59,599.599 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:05:59,807.807 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:05:59,832.832 INFO    ] time= 20/10/2026 11:05:59
[2026-10-20 11:05:59,838.838 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:05:59,856.856 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:05:59,986.986 INFO    ] No existing commands found in stream
[2026-10-20 11:06:05,005.005 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:06:05,008.008 INFO    ] Waiting 0.08 seconds before fallback handling...
[2026-10-20 11:06:05,611.611 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:06:05,613.613 INFO    ] Checking for system updates...
[2026-10-20 11:06:05,648.648 INFO    ] 200
[2026-10-20 11:06:05,651.651 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:06:05,704.704 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:06:05,706.706 INFO    ] No update needed
[2026-10-20 11:06:05,708.708 INFO    ] Checking for camera pi updates...
[2026-10-20 11:06:05,741.741 INFO    ] 200
[2026-10-20 11:06:05,743.743 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:06:05,785.785 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:06:05,834.834 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:06:05,837.837 INFO    ] No camera update needed
[2026-10-20 11:06:05,839.839 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:06:05,842.842 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:06:05,848.848 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:06:05,853.853 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:06:07,893.893 INFO    ] ================================================
[2026-10-20 11:06:07,909.909 INFO    ] Launching Daemon at Tue Oct 20 11:06:07 IST 2026
[2026-10-20 11:06:07,921.921 INFO    ] ================================================
[2026-10-20 11:06:08,500.500 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:06:08
[2026-10-20 11:06:09,085.085 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:06:09,353.353 INFO    ] Initializing speech engine...
[2026-10-20 11:06:09,362.362 INFO    ] 2026-10-20 11:06:09
[2026-10-20 11:06:09,607.607 INFO    ] 2026-10-20 11:06:09
[2026-10-20 11:06:09,642.642 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:06:09,896.896 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:06:09,905.905 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:06:10,100.100 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:06:10,160.160 INFO    ] time= 20/10/2026 11:06:10
[2026-10-20 11:06:10,170.170 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:06:10,188.188 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:06:10,318.318 INFO    ] No existing commands found in stream
[2026-10-20 11:06:15,329.329 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:06:15,332.332 INFO    ] Waiting 1.62 seconds before fallback handling...
[2026-10-20 11:06:17,457.457 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 11:06:17,459.459 INFO    ] Checking for system updates...
[2026-10-20 11:06:17,494.494 INFO    ] 200
[2026-10-20 11:06:17,497.497 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:06:17,548.548 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:06:17,551.551 INFO    ] No update needed
[2026-10-20 11:06:17,553.553 INFO    ] Checking for camera pi updates...
[2026-10-20 11:06:17,586.586 INFO    ] 200
[2026-10-20 11:06:17,589.589 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:06:17,628.628 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:06:17,675.675 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:06:17,677.677 INFO    ] No camera update needed
[2026-10-20 11:06:17,680.680 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:06:17,682.682 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:06:17,687.687 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:06:17,692.692 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:06:19,733.733 INFO    ] ================================================
[2026-10-20 11:06:19,748.748 INFO    ] Launching Daemon at Tue Oct 20 11:06:19 IST 2026
[2026-10-20 11:06:19,759.759 INFO    ] ================================================
[2026-10-20 11:06:20,343.343 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:06:20
[2026-10-20 11:06:20,943.943 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:06:21,216.216 INFO    ] Initializing speech engine...
[2026-10-20 11:06:21,227.227 INFO    ] 2026-10-20 11:06:21
[2026-10-20 11:06:21,474.474 INFO    ] 2026-10-20 11:06:21
[2026-10-20 11:06:21,509.509 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:06:21,760.760 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:06:21,769.769 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:06:22,009.009 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:06:22,026.026 INFO    ] time= 20/10/2026 11:06:22
[2026-10-20 11:06:22,043.043 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:06:22,052.052 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:06:22,182.182 INFO    ] No existing commands found in stream
[2026-10-20 11:06:27,201.201 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:06:27,204.204 INFO    ] Waiting 0.57 seconds before fallback handling...
[2026-10-20 11:06:28,313.313 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:06:28,316.316 INFO    ] Checking for system updates...
[2026-10-20 11:06:28,351.351 INFO    ] 200
[2026-10-20 11:06:28,353.353 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:06:28,405.405 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:06:28,407.407 INFO    ] No update needed
[2026-10-20 11:06:28,409.409 INFO    ] Checking for camera pi updates...
[2026-10-20 11:06:28,447.447 INFO    ] 200
[2026-10-20 11:06:28,450.450 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:06:28,491.491 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:06:28,567.567 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:06:28,570.570 INFO    ] No camera update needed
[2026-10-20 11:06:28,572.572 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:06:28,575.575 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:06:28,580.580 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:06:28,585.585 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:06:30,626.626 INFO    ] ================================================
[2026-10-20 11:06:30,642.642 INFO    ] Launching Daemon at Tue Oct 20 11:06:30 IST 2026
[2026-10-20 11:06:30,652.652 INFO    ] ================================================
[2026-10-20 11:06:31,219.219 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:06:31
[2026-10-20 11:06:31,803.803 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:06:32,068.068 INFO    ] Initializing speech engine...
[2026-10-20 11:06:32,079.079 INFO    ] 2026-10-20 11:06:32
[2026-10-20 11:06:32,404.404 INFO    ] 2026-10-20 11:06:32
[2026-10-20 11:06:32,442.442 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:06:32,655.655 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:06:32,662.662 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:06:32,816.816 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:06:32,830.830 INFO    ] time= 20/10/2026 11:06:32
[2026-10-20 11:06:32,838.838 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:06:32,845.845 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:06:32,992.992 INFO    ] No existing commands found in stream
[2026-10-20 11:06:38,017.017 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:06:38,020.020 INFO    ] Waiting 1.79 seconds before fallback handling...
[2026-10-20 11:06:40,341.341 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 11:06:40,343.343 INFO    ] Checking for system updates...
[2026-10-20 11:06:40,379.379 INFO    ] 200
[2026-10-20 11:06:40,382.382 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:06:40,433.433 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:06:40,435.435 INFO    ] No update needed
[2026-10-20 11:06:40,438.438 INFO    ] Checking for camera pi updates...
[2026-10-20 11:06:40,472.472 INFO    ] 200
[2026-10-20 11:06:40,474.474 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:06:40,515.515 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:06:40,577.577 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:06:40,580.580 INFO    ] No camera update needed
[2026-10-20 11:06:40,582.582 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:06:40,584.584 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:06:40,590.590 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:06:40,594.594 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:06:42,634.634 INFO    ] ================================================
[2026-10-20 11:06:42,649.649 INFO    ] Launching Daemon at Tue Oct 20 11:06:42 IST 2026
[2026-10-20 11:06:42,659.659 INFO    ] ================================================
[2026-10-20 11:06:43,259.259 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:06:43
[2026-10-20 11:06:43,854.854 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:06:44,108.108 INFO    ] Initializing speech engine...
[2026-10-20 11:06:44,114.114 INFO    ] 2026-10-20 11:06:44
[2026-10-20 11:06:44,411.411 INFO    ] 2026-10-20 11:06:44
[2026-10-20 11:06:44,449.449 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:06:44,676.676 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:06:44,695.695 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:06:44,903.903 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:06:44,910.910 INFO    ] time= 20/10/2026 11:06:44
[2026-10-20 11:06:44,979.979 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:06:45,028.028 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:06:45,189.189 INFO    ] No existing commands found in stream
[2026-10-20 11:06:50,212.212 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:06:50,214.214 INFO    ] Waiting 2.89 seconds before fallback handling...
[2026-10-20 11:06:53,711.711 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:06:53,713.713 INFO    ] Checking for system updates...
[2026-10-20 11:06:53,749.749 INFO    ] 200
[2026-10-20 11:06:53,752.752 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:06:53,814.814 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:06:53,817.817 INFO    ] No update needed
[2026-10-20 11:06:53,819.819 INFO    ] Checking for camera pi updates...
[2026-10-20 11:06:53,856.856 INFO    ] 200
[2026-10-20 11:06:53,859.859 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:06:53,899.899 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:06:53,937.937 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:06:53,940.940 INFO    ] No camera update needed
[2026-10-20 11:06:53,942.942 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:06:53,945.945 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:06:53,950.950 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:06:53,961.961 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:06:56,001.001 INFO    ] ================================================
[2026-10-20 11:06:56,017.017 INFO    ] Launching Daemon at Tue Oct 20 11:06:56 IST 2026
[2026-10-20 11:06:56,027.027 INFO    ] ================================================
[2026-10-20 11:06:56,604.604 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:06:56
[2026-10-20 11:06:57,203.203 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:06:57,468.468 INFO    ] Initializing speech engine...
[2026-10-20 11:06:57,471.471 INFO    ] 2026-10-20 11:06:57
[2026-10-20 11:06:57,764.764 INFO    ] 2026-10-20 11:06:57
[2026-10-20 11:06:57,810.810 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:06:58,065.065 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:06:58,075.075 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:06:58,289.289 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:06:58,339.339 INFO    ] time= 20/10/2026 11:06:58
[2026-10-20 11:06:58,346.346 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:06:58,367.367 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:06:58,500.500 INFO    ] No existing commands found in stream
[2026-10-20 11:07:03,521.521 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:07:03,525.525 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-10-20 11:07:06,595.595 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 11:07:06,598.598 INFO    ] Checking for system updates...
[2026-10-20 11:07:06,635.635 INFO    ] 200
[2026-10-20 11:07:06,638.638 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:07:06,692.692 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:07:06,695.695 INFO    ] No update needed
[2026-10-20 11:07:06,698.698 INFO    ] Checking for camera pi updates...
[2026-10-20 11:07:06,733.733 INFO    ] 200
[2026-10-20 11:07:06,736.736 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:07:06,778.778 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:07:06,925.925 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:07:06,928.928 INFO    ] No camera update needed
[2026-10-20 11:07:06,930.930 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:07:06,933.933 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:07:06,940.940 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:07:06,946.946 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:07:08,985.985 INFO    ] ================================================
[2026-10-20 11:07:09,000.000 INFO    ] Launching Daemon at Tue Oct 20 11:07:08 IST 2026
[2026-10-20 11:07:09,012.012 INFO    ] ================================================
[2026-10-20 11:07:09,667.667 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:07:09
[2026-10-20 11:07:10,340.340 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:07:10,647.647 INFO    ] Initializing speech engine...
[2026-10-20 11:07:10,659.659 INFO    ] 2026-10-20 11:07:10
[2026-10-20 11:07:10,968.968 INFO    ] 2026-10-20 11:07:10
[2026-10-20 11:07:11,053.053 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:07:11,266.266 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:07:11,274.274 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:07:11,464.464 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:07:11,483.483 INFO    ] time= 20/10/2026 11:07:11
[2026-10-20 11:07:11,493.493 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:07:11,522.522 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:07:11,655.655 INFO    ] No existing commands found in stream
[2026-10-20 11:07:16,686.686 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:07:16,690.690 INFO    ] Waiting 1.29 seconds before fallback handling...
[2026-10-20 11:07:18,475.475 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:07:18,478.478 INFO    ] Checking for system updates...
[2026-10-20 11:07:18,515.515 INFO    ] 200
[2026-10-20 11:07:18,518.518 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:07:18,572.572 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:07:18,575.575 INFO    ] No update needed
[2026-10-20 11:07:18,577.577 INFO    ] Checking for camera pi updates...
[2026-10-20 11:07:18,612.612 INFO    ] 200
[2026-10-20 11:07:18,615.615 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:07:18,661.661 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:07:18,713.713 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:07:18,716.716 INFO    ] No camera update needed
[2026-10-20 11:07:18,718.718 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:07:18,721.721 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:07:18,726.726 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:07:18,731.731 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:07:20,770.770 INFO    ] ================================================
[2026-10-20 11:07:20,785.785 INFO    ] Launching Daemon at Tue Oct 20 11:07:20 IST 2026
[2026-10-20 11:07:20,796.796 INFO    ] ================================================
[2026-10-20 11:07:21,453.453 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:07:21
[2026-10-20 11:07:22,128.128 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:07:22,433.433 INFO    ] Initializing speech engine...
[2026-10-20 11:07:22,440.440 INFO    ] 2026-10-20 11:07:22
[2026-10-20 11:07:22,716.716 INFO    ] 2026-10-20 11:07:22
[2026-10-20 11:07:22,772.772 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:07:23,053.053 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:07:23,066.066 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:07:23,258.258 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:07:23,270.270 INFO    ] time= 20/10/2026 11:07:23
[2026-10-20 11:07:23,291.291 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:07:23,319.319 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:07:23,471.471 INFO    ] No existing commands found in stream
[2026-10-20 11:07:28,502.502 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:07:28,505.505 INFO    ] Waiting 2.27 seconds before fallback handling...
[2026-10-20 11:07:31,315.315 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:07:31,318.318 INFO    ] Checking for system updates...
[2026-10-20 11:07:31,355.355 INFO    ] 200
[2026-10-20 11:07:31,357.357 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:07:31,410.410 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:07:31,413.413 INFO    ] No update needed
[2026-10-20 11:07:31,416.416 INFO    ] Checking for camera pi updates...
[2026-10-20 11:07:31,450.450 INFO    ] 200
[2026-10-20 11:07:31,452.452 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:07:31,494.494 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:07:31,534.534 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:07:31,537.537 INFO    ] No camera update needed
[2026-10-20 11:07:31,540.540 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:07:31,542.542 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:07:31,548.548 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:07:31,554.554 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:07:33,597.597 INFO    ] ================================================
[2026-10-20 11:07:33,612.612 INFO    ] Launching Daemon at Tue Oct 20 11:07:33 IST 2026
[2026-10-20 11:07:33,622.622 INFO    ] ================================================
[2026-10-20 11:07:34,187.187 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:07:34
[2026-10-20 11:07:34,769.769 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:07:35,037.037 INFO    ] Initializing speech engine...
[2026-10-20 11:07:35,046.046 INFO    ] 2026-10-20 11:07:35
[2026-10-20 11:07:35,289.289 INFO    ] 2026-10-20 11:07:35
[2026-10-20 11:07:35,324.324 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:07:35,575.575 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:07:35,584.584 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:07:35,783.783 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:07:35,837.837 INFO    ] time= 20/10/2026 11:07:35
[2026-10-20 11:07:35,849.849 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:07:35,869.869 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:07:36,028.028 INFO    ] No existing commands found in stream
[2026-10-20 11:07:41,058.058 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:07:41,061.061 INFO    ] Waiting 3.64 seconds before fallback handling...
[2026-10-20 11:07:45,259.259 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:07:45,261.261 INFO    ] Checking for system updates...
[2026-10-20 11:07:45,297.297 INFO    ] 200
[2026-10-20 11:07:45,299.299 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:07:45,352.352 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:07:45,354.354 INFO    ] No update needed
[2026-10-20 11:07:45,357.357 INFO    ] Checking for camera pi updates...
[2026-10-20 11:07:45,390.390 INFO    ] 200
[2026-10-20 11:07:45,393.393 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:07:45,433.433 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:07:45,484.484 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:07:45,486.486 INFO    ] No camera update needed
[2026-10-20 11:07:45,489.489 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:07:45,491.491 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:07:45,496.496 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:07:45,501.501 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:07:47,540.540 INFO    ] ================================================
[2026-10-20 11:07:47,555.555 INFO    ] Launching Daemon at Tue Oct 20 11:07:47 IST 2026
[2026-10-20 11:07:47,566.566 INFO    ] ================================================
[2026-10-20 11:07:48,158.158 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:07:48
[2026-10-20 11:07:48,823.823 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:07:49,123.123 INFO    ] Initializing speech engine...
[2026-10-20 11:07:49,136.136 INFO    ] 2026-10-20 11:07:49
[2026-10-20 11:07:49,416.416 INFO    ] 2026-10-20 11:07:49
[2026-10-20 11:07:49,459.459 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:07:49,746.746 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:07:49,750.750 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:07:49,944.944 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:07:49,963.963 INFO    ] time= 20/10/2026 11:07:49
[2026-10-20 11:07:49,973.973 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:07:50,002.002 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:07:50,119.119 INFO    ] No existing commands found in stream
[2026-10-20 11:07:55,155.155 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:07:55,159.159 INFO    ] Waiting 1.81 seconds before fallback handling...
[2026-10-20 11:07:57,512.512 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 11:07:57,515.515 INFO    ] Checking for system updates...
[2026-10-20 11:07:57,551.551 INFO    ] 200
[2026-10-20 11:07:57,553.553 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:07:57,606.606 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:07:57,609.609 INFO    ] No update needed
[2026-10-20 11:07:57,611.611 INFO    ] Checking for camera pi updates...
[2026-10-20 11:07:57,648.648 INFO    ] 200
[2026-10-20 11:07:57,650.650 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:07:57,694.694 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:07:57,746.746 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:07:57,749.749 INFO    ] No camera update needed
[2026-10-20 11:07:57,751.751 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:07:57,753.753 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:07:57,759.759 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:07:57,764.764 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:07:59,803.803 INFO    ] ================================================
[2026-10-20 11:07:59,819.819 INFO    ] Launching Daemon at Tue Oct 20 11:07:59 IST 2026
[2026-10-20 11:07:59,830.830 INFO    ] ================================================
[2026-10-20 11:08:00,415.415 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:08:00
[2026-10-20 11:08:01,070.070 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:08:01,376.376 INFO    ] Initializing speech engine...
[2026-10-20 11:08:01,382.382 INFO    ] 2026-10-20 11:08:01
[2026-10-20 11:08:01,655.655 INFO    ] 2026-10-20 11:08:01
[2026-10-20 11:08:01,712.712 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:08:01,962.962 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:08:01,967.967 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:08:02,184.184 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:08:02,234.234 INFO    ] time= 20/10/2026 11:08:02
[2026-10-20 11:08:02,237.237 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:08:02,241.241 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:08:02,331.331 INFO    ] No existing commands found in stream
[2026-10-20 11:08:07,341.341 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:08:07,344.344 INFO    ] Waiting 0.94 seconds before fallback handling...
[2026-10-20 11:08:08,827.827 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 11:08:08,830.830 INFO    ] Checking for system updates...
[2026-10-20 11:08:08,865.865 INFO    ] 200
[2026-10-20 11:08:08,868.868 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:08:08,919.919 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:08:08,922.922 INFO    ] No update needed
[2026-10-20 11:08:08,924.924 INFO    ] Checking for camera pi updates...
[2026-10-20 11:08:08,959.959 INFO    ] 200
[2026-10-20 11:08:08,962.962 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:08:09,002.002 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:08:09,053.053 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:08:09,056.056 INFO    ] No camera update needed
[2026-10-20 11:08:09,058.058 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:08:09,060.060 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:08:09,066.066 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:08:09,071.071 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:08:11,110.110 INFO    ] ================================================
[2026-10-20 11:08:11,125.125 INFO    ] Launching Daemon at Tue Oct 20 11:08:11 IST 2026
[2026-10-20 11:08:11,136.136 INFO    ] ================================================
[2026-10-20 11:08:11,705.705 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:08:11
[2026-10-20 11:08:12,288.288 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:08:12,549.549 INFO    ] Initializing speech engine...
[2026-10-20 11:08:12,567.567 INFO    ] 2026-10-20 11:08:12
[2026-10-20 11:08:12,819.819 INFO    ] 2026-10-20 11:08:12
[2026-10-20 11:08:12,855.855 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:08:13,122.122 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:08:13,131.131 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:08:13,287.287 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:08:13,337.337 INFO    ] time= 20/10/2026 11:08:13
[2026-10-20 11:08:13,381.381 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:08:13,428.428 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:08:13,561.561 INFO    ] No existing commands found in stream
[2026-10-20 11:08:18,586.586 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:08:18,588.588 INFO    ] Waiting 0.94 seconds before fallback handling...
[2026-10-20 11:08:21,559.559 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:08:21,562.562 INFO    ] Checking for system updates...
[2026-10-20 11:08:21,598.598 INFO    ] 200
[2026-10-20 11:08:21,601.601 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:08:21,654.654 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:08:21,656.656 INFO    ] No update needed
[2026-10-20 11:08:21,659.659 INFO    ] Checking for camera pi updates...
[2026-10-20 11:08:21,696.696 INFO    ] 200
[2026-10-20 11:08:21,699.699 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:08:21,739.739 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:08:21,790.790 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:08:21,792.792 INFO    ] No camera update needed
[2026-10-20 11:08:21,795.795 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:08:21,797.797 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:08:21,802.802 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:08:21,807.807 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:08:23,847.847 INFO    ] ================================================
[2026-10-20 11:08:23,862.862 INFO    ] Launching Daemon at Tue Oct 20 11:08:23 IST 2026
[2026-10-20 11:08:23,872.872 INFO    ] ================================================
[2026-10-20 11:08:24,455.455 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:08:24
[2026-10-20 11:08:25,056.056 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:08:25,329.329 INFO    ] Initializing speech engine...
[2026-10-20 11:08:25,339.339 INFO    ] 2026-10-20 11:08:25
[2026-10-20 11:08:25,603.603 INFO    ] 2026-10-20 11:08:25
[2026-10-20 11:08:25,634.634 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:08:25,879.879 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:08:25,889.889 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:08:26,113.113 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:08:26,147.147 INFO    ] time= 20/10/2026 11:08:26
[2026-10-20 11:08:26,154.154 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:08:26,172.172 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:08:26,304.304 INFO    ] No existing commands found in stream
[2026-10-20 11:08:31,332.332 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:08:31,335.335 INFO    ] Waiting 2.49 seconds before fallback handling...
[2026-10-20 11:08:34,356.356 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 11:08:34,359.359 INFO    ] Checking for system updates...
[2026-10-20 11:08:34,398.398 INFO    ] 200
[2026-10-20 11:08:34,401.401 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:08:34,453.453 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:08:34,455.455 INFO    ] No update needed
[2026-10-20 11:08:34,458.458 INFO    ] Checking for camera pi updates...
[2026-10-20 11:08:34,491.491 INFO    ] 200
[2026-10-20 11:08:34,493.493 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:08:34,534.534 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:08:34,578.578 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:08:34,581.581 INFO    ] No camera update needed
[2026-10-20 11:08:34,584.584 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:08:34,586.586 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:08:34,591.591 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:08:34,596.596 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:08:36,635.635 INFO    ] ================================================
[2026-10-20 11:08:36,651.651 INFO    ] Launching Daemon at Tue Oct 20 11:08:36 IST 2026
[2026-10-20 11:08:36,662.662 INFO    ] ================================================
[2026-10-20 11:08:37,234.234 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:08:37
[2026-10-20 11:08:37,816.816 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:08:38,078.078 INFO    ] Initializing speech engine...
[2026-10-20 11:08:38,099.099 INFO    ] 2026-10-20 11:08:38
[2026-10-20 11:08:38,364.364 INFO    ] 2026-10-20 11:08:38
[2026-10-20 11:08:38,400.400 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:08:38,630.630 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:08:38,695.695 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:08:38,856.856 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:08:38,922.922 INFO    ] time= 20/10/2026 11:08:38
[2026-10-20 11:08:38,966.966 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:08:39,004.004 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:08:39,139.139 INFO    ] No existing commands found in stream
[2026-10-20 11:08:44,156.156 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:08:44,159.159 INFO    ] Waiting 3.89 seconds before fallback handling...
[2026-10-20 11:08:48,522.522 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:08:48,524.524 INFO    ] Checking for system updates...
[2026-10-20 11:08:48,560.560 INFO    ] 200
[2026-10-20 11:08:48,563.563 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:08:48,615.615 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:08:48,618.618 INFO    ] No update needed
[2026-10-20 11:08:48,621.621 INFO    ] Checking for camera pi updates...
[2026-10-20 11:08:48,656.656 INFO    ] 200
[2026-10-20 11:08:48,659.659 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:08:48,700.700 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:08:48,751.751 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:08:48,754.754 INFO    ] No camera update needed
[2026-10-20 11:08:48,756.756 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:08:48,759.759 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:08:48,765.765 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:08:48,770.770 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:08:50,810.810 INFO    ] ================================================
[2026-10-20 11:08:50,826.826 INFO    ] Launching Daemon at Tue Oct 20 11:08:50 IST 2026
[2026-10-20 11:08:50,837.837 INFO    ] ================================================
[2026-10-20 11:08:51,466.466 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:08:51
[2026-10-20 11:08:52,153.153 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:08:52,459.459 INFO    ] Initializing speech engine...
[2026-10-20 11:08:52,468.468 INFO    ] 2026-10-20 11:08:52
[2026-10-20 11:08:52,785.785 INFO    ] 2026-10-20 11:08:52
[2026-10-20 11:08:52,871.871 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:08:53,103.103 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:08:53,153.153 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:08:53,334.334 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:08:53,342.342 INFO    ] time= 20/10/2026 11:08:53
[2026-10-20 11:08:53,403.403 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:08:53,465.465 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:08:53,645.645 INFO    ] No existing commands found in stream
[2026-10-20 11:08:58,682.682 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:08:58,685.685 INFO    ] Waiting 0.65 seconds before fallback handling...
[2026-10-20 11:08:59,918.918 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:08:59,921.921 INFO    ] Checking for system updates...
[2026-10-20 11:08:59,964.964 INFO    ] 200
[2026-10-20 11:08:59,967.967 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:09:00,030.030 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:09:00,033.033 INFO    ] No update needed
[2026-10-20 11:09:00,036.036 INFO    ] Checking for camera pi updates...
[2026-10-20 11:09:00,075.075 INFO    ] 200
[2026-10-20 11:09:00,079.079 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:09:00,126.126 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:09:00,180.180 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:09:00,183.183 INFO    ] No camera update needed
[2026-10-20 11:09:00,185.185 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:09:00,187.187 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:09:00,193.193 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:09:00,198.198 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:09:02,243.243 INFO    ] ================================================
[2026-10-20 11:09:02,270.270 INFO    ] Launching Daemon at Tue Oct 20 11:09:02 IST 2026
[2026-10-20 11:09:02,287.287 INFO    ] ================================================
[2026-10-20 11:09:02,939.939 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:09:02
[2026-10-20 11:09:03,611.611 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:09:03,913.913 INFO    ] Initializing speech engine...
[2026-10-20 11:09:03,930.930 INFO    ] 2026-10-20 11:09:03
[2026-10-20 11:09:04,202.202 INFO    ] 2026-10-20 11:09:04
[2026-10-20 11:09:04,237.237 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:09:04,466.466 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:09:04,526.526 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:09:04,726.726 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:09:04,771.771 INFO    ] time= 20/10/2026 11:09:04
[2026-10-20 11:09:04,825.825 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:09:04,834.834 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:09:04,970.970 INFO    ] No existing commands found in stream
[2026-10-20 11:09:10,000.000 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:09:10,003.003 INFO    ] Waiting 2.43 seconds before fallback handling...
[2026-10-20 11:09:12,970.970 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:09:12,973.973 INFO    ] Checking for system updates...
[2026-10-20 11:09:13,009.009 INFO    ] 200
[2026-10-20 11:09:13,012.012 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:09:13,071.071 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:09:13,073.073 INFO    ] No update needed
[2026-10-20 11:09:13,076.076 INFO    ] Checking for camera pi updates...
[2026-10-20 11:09:13,115.115 INFO    ] 200
[2026-10-20 11:09:13,118.118 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:09:13,158.158 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:09:13,306.306 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:09:13,309.309 INFO    ] No camera update needed
[2026-10-20 11:09:13,311.311 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:09:13,314.314 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:09:13,319.319 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:09:13,324.324 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:09:15,364.364 INFO    ] ================================================
[2026-10-20 11:09:15,379.379 INFO    ] Launching Daemon at Tue Oct 20 11:09:15 IST 2026
[2026-10-20 11:09:15,389.389 INFO    ] ================================================
[2026-10-20 11:09:15,979.979 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:09:15
[2026-10-20 11:09:16,642.642 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:09:16,945.945 INFO    ] Initializing speech engine...
[2026-10-20 11:09:16,959.959 INFO    ] 2026-10-20 11:09:16
[2026-10-20 11:09:17,248.248 INFO    ] 2026-10-20 11:09:17
[2026-10-20 11:09:17,292.292 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:09:17,553.553 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:09:17,556.556 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:09:17,790.790 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:09:17,799.799 INFO    ] time= 20/10/2026 11:09:17
[2026-10-20 11:09:17,818.818 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:09:17,846.846 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:09:17,953.953 INFO    ] No existing commands found in stream
[2026-10-20 11:09:22,977.977 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:09:22,981.981 INFO    ] Waiting 2.70 seconds before fallback handling...
[2026-10-20 11:09:26,239.239 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:09:26,242.242 INFO    ] Checking for system updates...
[2026-10-20 11:09:26,279.279 INFO    ] 200
[2026-10-20 11:09:26,282.282 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:09:26,340.340 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:09:26,343.343 INFO    ] No update needed
[2026-10-20 11:09:26,346.346 INFO    ] Checking for camera pi updates...
[2026-10-20 11:09:26,381.381 INFO    ] 200
[2026-10-20 11:09:26,383.383 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:09:26,424.424 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:09:26,482.482 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:09:26,485.485 INFO    ] No camera update needed
[2026-10-20 11:09:26,488.488 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:09:26,491.491 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:09:26,497.497 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:09:26,503.503 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:09:28,542.542 INFO    ] ================================================
[2026-10-20 11:09:28,557.557 INFO    ] Launching Daemon at Tue Oct 20 11:09:28 IST 2026
[2026-10-20 11:09:28,567.567 INFO    ] ================================================
[2026-10-20 11:09:29,212.212 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:09:29
[2026-10-20 11:09:29,873.873 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:09:30,173.173 INFO    ] Initializing speech engine...
[2026-10-20 11:09:30,187.187 INFO    ] 2026-10-20 11:09:30
[2026-10-20 11:09:30,491.491 INFO    ] 2026-10-20 11:09:30
[2026-10-20 11:09:30,580.580 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:09:30,793.793 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:09:30,799.799 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:09:30,992.992 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:09:31,012.012 INFO    ] time= 20/10/2026 11:09:30
[2026-10-20 11:09:31,020.020 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:09:31,048.048 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:09:31,171.171 INFO    ] No existing commands found in stream
[2026-10-20 11:09:36,207.207 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:09:36,211.211 INFO    ] Waiting 2.33 seconds before fallback handling...
[2026-10-20 11:09:39,120.120 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:09:39,123.123 INFO    ] Checking for system updates...
[2026-10-20 11:09:39,159.159 INFO    ] 200
[2026-10-20 11:09:39,162.162 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:09:39,215.215 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:09:39,217.217 INFO    ] No update needed
[2026-10-20 11:09:39,220.220 INFO    ] Checking for camera pi updates...
[2026-10-20 11:09:39,258.258 INFO    ] 200
[2026-10-20 11:09:39,261.261 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:09:39,311.311 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:09:39,350.350 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:09:39,353.353 INFO    ] No camera update needed
[2026-10-20 11:09:39,355.355 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:09:39,358.358 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:09:39,364.364 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:09:39,370.370 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:09:41,411.411 INFO    ] ================================================
[2026-10-20 11:09:41,426.426 INFO    ] Launching Daemon at Tue Oct 20 11:09:41 IST 2026
[2026-10-20 11:09:41,436.436 INFO    ] ================================================
[2026-10-20 11:09:42,007.007 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:09:41
[2026-10-20 11:09:42,651.651 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:09:42,952.952 INFO    ] Initializing speech engine...
[2026-10-20 11:09:42,962.962 INFO    ] 2026-10-20 11:09:42
[2026-10-20 11:09:43,236.236 INFO    ] 2026-10-20 11:09:43
[2026-10-20 11:09:43,293.293 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:09:43,585.585 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:09:43,592.592 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:09:43,790.790 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:09:43,816.816 INFO    ] time= 20/10/2026 11:09:43
[2026-10-20 11:09:43,823.823 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:09:43,840.840 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:09:43,970.970 INFO    ] No existing commands found in stream
[2026-10-20 11:09:49,011.011 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:09:49,014.014 INFO    ] Waiting 3.82 seconds before fallback handling...
[2026-10-20 11:09:53,374.374 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:09:53,377.377 INFO    ] Checking for system updates...
[2026-10-20 11:09:53,416.416 INFO    ] 200
[2026-10-20 11:09:53,419.419 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:09:53,478.478 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:09:53,482.482 INFO    ] No update needed
[2026-10-20 11:09:53,485.485 INFO    ] Checking for camera pi updates...
[2026-10-20 11:09:53,522.522 INFO    ] 200
[2026-10-20 11:09:53,525.525 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:09:53,566.566 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:09:53,613.613 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:09:53,616.616 INFO    ] No camera update needed
[2026-10-20 11:09:53,618.618 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:09:53,621.621 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:09:53,627.627 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:09:53,633.633 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:09:55,673.673 INFO    ] ================================================
[2026-10-20 11:09:55,688.688 INFO    ] Launching Daemon at Tue Oct 20 11:09:55 IST 2026
[2026-10-20 11:09:55,698.698 INFO    ] ================================================
[2026-10-20 11:09:56,339.339 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:09:56
[2026-10-20 11:09:57,002.002 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:09:57,305.305 INFO    ] Initializing speech engine...
[2026-10-20 11:09:57,313.313 INFO    ] 2026-10-20 11:09:57
[2026-10-20 11:09:57,596.596 INFO    ] 2026-10-20 11:09:57
[2026-10-20 11:09:57,639.639 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:09:57,930.930 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:09:57,993.993 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:09:58,173.173 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:09:58,182.182 INFO    ] time= 20/10/2026 11:09:58
[2026-10-20 11:09:58,194.194 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:09:58,257.257 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:09:58,401.401 INFO    ] No existing commands found in stream
[2026-10-20 11:10:03,432.432 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:10:03,437.437 INFO    ] Waiting 3.12 seconds before fallback handling...
[2026-10-20 11:10:08,514.514 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:10:08,517.517 INFO    ] Checking for system updates...
[2026-10-20 11:10:08,554.554 INFO    ] 200
[2026-10-20 11:10:08,556.556 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:10:08,608.608 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:10:08,610.610 INFO    ] No update needed
[2026-10-20 11:10:08,613.613 INFO    ] Checking for camera pi updates...
[2026-10-20 11:10:08,653.653 INFO    ] 200
[2026-10-20 11:10:08,655.655 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:10:08,695.695 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:10:08,743.743 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:10:08,746.746 INFO    ] No camera update needed
[2026-10-20 11:10:08,748.748 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:10:08,750.750 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:10:08,755.755 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:10:08,761.761 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:10:10,799.799 INFO    ] ================================================
[2026-10-20 11:10:10,814.814 INFO    ] Launching Daemon at Tue Oct 20 11:10:10 IST 2026
[2026-10-20 11:10:10,825.825 INFO    ] ================================================
[2026-10-20 11:10:11,391.391 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:10:11
[2026-10-20 11:10:11,978.978 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:10:12,251.251 INFO    ] Initializing speech engine...
[2026-10-20 11:10:12,261.261 INFO    ] 2026-10-20 11:10:12
[2026-10-20 11:10:12,503.503 INFO    ] 2026-10-20 11:10:12
[2026-10-20 11:10:12,539.539 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:10:12,791.791 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:10:12,801.801 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:10:13,046.046 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:10:13,064.064 INFO    ] time= 20/10/2026 11:10:13
[2026-10-20 11:10:13,078.078 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:10:13,087.087 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:10:13,217.217 INFO    ] No existing commands found in stream
[2026-10-20 11:10:18,233.233 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:10:18,236.236 INFO    ] Waiting 2.78 seconds before fallback handling...
[2026-10-20 11:10:21,524.524 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:10:21,526.526 INFO    ] Checking for system updates...
[2026-10-20 11:10:21,562.562 INFO    ] 200
[2026-10-20 11:10:21,564.564 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:10:21,616.616 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:10:21,619.619 INFO    ] No update needed
[2026-10-20 11:10:21,621.621 INFO    ] Checking for camera pi updates...
[2026-10-20 11:10:21,654.654 INFO    ] 200
[2026-10-20 11:10:21,656.656 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:10:21,696.696 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:10:21,747.747 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:10:21,750.750 INFO    ] No camera update needed
[2026-10-20 11:10:21,752.752 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:10:21,755.755 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:10:21,760.760 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:10:21,765.765 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:10:23,804.804 INFO    ] ================================================
[2026-10-20 11:10:23,819.819 INFO    ] Launching Daemon at Tue Oct 20 11:10:23 IST 2026
[2026-10-20 11:10:23,829.829 INFO    ] ================================================
[2026-10-20 11:10:24,489.489 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:10:24
[2026-10-20 11:10:25,161.161 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:10:25,463.463 INFO    ] Initializing speech engine...
[2026-10-20 11:10:25,476.476 INFO    ] 2026-10-20 11:10:25
[2026-10-20 11:10:25,758.758 INFO    ] 2026-10-20 11:10:25
[2026-10-20 11:10:25,804.804 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:10:26,085.085 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:10:26,094.094 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:10:26,289.289 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:10:26,296.296 INFO    ] time= 20/10/2026 11:10:26
[2026-10-20 11:10:26,323.323 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:10:26,347.347 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:10:26,490.490 INFO    ] No existing commands found in stream
[2026-10-20 11:10:31,521.521 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:10:31,524.524 INFO    ] Waiting 3.66 seconds before fallback handling...
[2026-10-20 11:10:35,764.764 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:10:35,767.767 INFO    ] Checking for system updates...
[2026-10-20 11:10:35,804.804 INFO    ] 200
[2026-10-20 11:10:35,807.807 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:10:35,861.861 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:10:35,864.864 INFO    ] No update needed
[2026-10-20 11:10:35,866.866 INFO    ] Checking for camera pi updates...
[2026-10-20 11:10:35,900.900 INFO    ] 200
[2026-10-20 11:10:35,902.902 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:10:35,943.943 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:10:36,003.003 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:10:36,006.006 INFO    ] No camera update needed
[2026-10-20 11:10:36,008.008 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:10:36,010.010 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:10:36,016.016 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:10:36,021.021 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:10:38,061.061 INFO    ] ================================================
[2026-10-20 11:10:38,076.076 INFO    ] Launching Daemon at Tue Oct 20 11:10:38 IST 2026
[2026-10-20 11:10:38,087.087 INFO    ] ================================================
[2026-10-20 11:10:38,742.742 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:10:38
[2026-10-20 11:10:39,419.419 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:10:39,721.721 INFO    ] Initializing speech engine...
[2026-10-20 11:10:39,731.731 INFO    ] 2026-10-20 11:10:39
[2026-10-20 11:10:40,001.001 INFO    ] 2026-10-20 11:10:39
[2026-10-20 11:10:40,059.059 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:10:40,286.286 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:10:40,293.293 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:10:40,508.508 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:10:40,550.550 INFO    ] time= 20/10/2026 11:10:40
[2026-10-20 11:10:40,556.556 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:10:40,577.577 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:10:40,706.706 INFO    ] No existing commands found in stream
[2026-10-20 11:10:45,726.726 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:10:45,730.730 INFO    ] Waiting 0.35 seconds before fallback handling...
[2026-10-20 11:10:46,658.658 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:10:46,661.661 INFO    ] Checking for system updates...
[2026-10-20 11:10:46,698.698 INFO    ] 200
[2026-10-20 11:10:46,701.701 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:10:46,752.752 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:10:46,755.755 INFO    ] No update needed
[2026-10-20 11:10:46,757.757 INFO    ] Checking for camera pi updates...
[2026-10-20 11:10:46,790.790 INFO    ] 200
[2026-10-20 11:10:46,793.793 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:10:46,839.839 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:10:46,887.887 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:10:46,890.890 INFO    ] No camera update needed
[2026-10-20 11:10:46,892.892 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:10:46,894.894 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:10:46,900.900 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:10:46,905.905 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:10:48,945.945 INFO    ] ================================================
[2026-10-20 11:10:48,960.960 INFO    ] Launching Daemon at Tue Oct 20 11:10:48 IST 2026
[2026-10-20 11:10:48,971.971 INFO    ] ================================================
[2026-10-20 11:10:49,629.629 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:10:49
[2026-10-20 11:10:50,307.307 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:10:50,610.610 INFO    ] Initializing speech engine...
[2026-10-20 11:10:50,619.619 INFO    ] 2026-10-20 11:10:50
[2026-10-20 11:10:50,935.935 INFO    ] 2026-10-20 11:10:50
[2026-10-20 11:10:51,021.021 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:10:51,236.236 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:10:51,244.244 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:10:51,436.436 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:10:51,456.456 INFO    ] time= 20/10/2026 11:10:51
[2026-10-20 11:10:51,464.464 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:10:51,491.491 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:10:51,603.603 INFO    ] No existing commands found in stream
[2026-10-20 11:10:56,631.631 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:10:56,635.635 INFO    ] Waiting 0.36 seconds before fallback handling...
[2026-10-20 11:10:57,596.596 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:10:57,599.599 INFO    ] Checking for system updates...
[2026-10-20 11:10:57,641.641 INFO    ] 200
[2026-10-20 11:10:57,643.643 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:10:57,695.695 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:10:57,697.697 INFO    ] No update needed
[2026-10-20 11:10:57,699.699 INFO    ] Checking for camera pi updates...
[2026-10-20 11:10:57,737.737 INFO    ] 200
[2026-10-20 11:10:57,740.740 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:10:57,779.779 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:10:57,825.825 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:10:57,827.827 INFO    ] No camera update needed
[2026-10-20 11:10:57,830.830 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:10:57,832.832 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:10:57,838.838 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:10:57,843.843 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:10:59,882.882 INFO    ] ================================================
[2026-10-20 11:10:59,897.897 INFO    ] Launching Daemon at Tue Oct 20 11:10:59 IST 2026
[2026-10-20 11:10:59,907.907 INFO    ] ================================================
[2026-10-20 11:11:00,479.479 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:11:00
[2026-10-20 11:11:01,070.070 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:11:01,516.516 INFO    ] Initializing speech engine...
[2026-10-20 11:11:01,520.520 INFO    ] 2026-10-20 11:11:01
[2026-10-20 11:11:01,853.853 INFO    ] 2026-10-20 11:11:01
[2026-10-20 11:11:01,900.900 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:11:02,170.170 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:11:02,184.184 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:11:02,340.340 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:11:02,406.406 INFO    ] time= 20/10/2026 11:11:02
[2026-10-20 11:11:02,462.462 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:11:02,505.505 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:11:02,638.638 INFO    ] No existing commands found in stream
[2026-10-20 11:11:07,658.658 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:11:07,666.666 INFO    ] Waiting 0.02 seconds before fallback handling...
[2026-10-20 11:11:08,224.224 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:11:08,226.226 INFO    ] Checking for system updates...
[2026-10-20 11:11:08,263.263 INFO    ] 200
[2026-10-20 11:11:08,265.265 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:11:08,317.317 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:11:08,320.320 INFO    ] No update needed
[2026-10-20 11:11:08,323.323 INFO    ] Checking for camera pi updates...
[2026-10-20 11:11:08,361.361 INFO    ] 200
[2026-10-20 11:11:08,363.363 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:11:08,403.403 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:11:08,449.449 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:11:08,452.452 INFO    ] No camera update needed
[2026-10-20 11:11:08,454.454 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:11:08,456.456 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:11:08,462.462 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:11:08,467.467 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:11:10,507.507 INFO    ] ================================================
[2026-10-20 11:11:10,521.521 INFO    ] Launching Daemon at Tue Oct 20 11:11:10 IST 2026
[2026-10-20 11:11:10,532.532 INFO    ] ================================================
[2026-10-20 11:11:11,193.193 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:11:11
[2026-10-20 11:11:11,875.875 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:11:12,184.184 INFO    ] Initializing speech engine...
[2026-10-20 11:11:12,198.198 INFO    ] 2026-10-20 11:11:12
[2026-10-20 11:11:12,484.484 INFO    ] 2026-10-20 11:11:12
[2026-10-20 11:11:12,524.524 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:11:12,804.804 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:11:12,820.820 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:11:13,012.012 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:11:13,031.031 INFO    ] time= 20/10/2026 11:11:13
[2026-10-20 11:11:13,060.060 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:11:13,070.070 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:11:13,216.216 INFO    ] No existing commands found in stream
[2026-10-20 11:11:18,242.242 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:11:18,249.249 INFO    ] Waiting 2.85 seconds before fallback handling...
[2026-10-20 11:11:21,631.631 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:11:21,633.633 INFO    ] Checking for system updates...
[2026-10-20 11:11:21,670.670 INFO    ] 200
[2026-10-20 11:11:21,673.673 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:11:21,726.726 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:11:21,729.729 INFO    ] No update needed
[2026-10-20 11:11:21,732.732 INFO    ] Checking for camera pi updates...
[2026-10-20 11:11:21,771.771 INFO    ] 200
[2026-10-20 11:11:21,774.774 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:11:21,825.825 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:11:21,968.968 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:11:21,971.971 INFO    ] No camera update needed
[2026-10-20 11:11:21,974.974 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:11:21,976.976 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:11:21,983.983 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:11:21,989.989 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:11:24,029.029 INFO    ] ================================================
[2026-10-20 11:11:24,044.044 INFO    ] Launching Daemon at Tue Oct 20 11:11:24 IST 2026
[2026-10-20 11:11:24,054.054 INFO    ] ================================================
[2026-10-20 11:11:24,625.625 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:11:24
[2026-10-20 11:11:25,209.209 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:11:25,477.477 INFO    ] Initializing speech engine...
[2026-10-20 11:11:25,486.486 INFO    ] 2026-10-20 11:11:25
[2026-10-20 11:11:25,736.736 INFO    ] 2026-10-20 11:11:25
[2026-10-20 11:11:25,771.771 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:11:25,990.990 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:11:26,024.024 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:11:26,222.222 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:11:26,256.256 INFO    ] time= 20/10/2026 11:11:26
[2026-10-20 11:11:26,310.310 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:11:26,359.359 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:11:26,512.512 INFO    ] No existing commands found in stream
[2026-10-20 11:11:31,540.540 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:11:31,543.543 INFO    ] Waiting 1.85 seconds before fallback handling...
[2026-10-20 11:11:33,876.876 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:11:33,879.879 INFO    ] Checking for system updates...
[2026-10-20 11:11:33,914.914 INFO    ] 200
[2026-10-20 11:11:33,917.917 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:11:33,975.975 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:11:33,978.978 INFO    ] No update needed
[2026-10-20 11:11:33,980.980 INFO    ] Checking for camera pi updates...
[2026-10-20 11:11:34,013.013 INFO    ] 200
[2026-10-20 11:11:34,015.015 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:11:34,060.060 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:11:34,109.109 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:11:34,111.111 INFO    ] No camera update needed
[2026-10-20 11:11:34,113.113 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:11:34,116.116 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:11:34,121.121 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:11:34,126.126 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:11:36,165.165 INFO    ] ================================================
[2026-10-20 11:11:36,179.179 INFO    ] Launching Daemon at Tue Oct 20 11:11:36 IST 2026
[2026-10-20 11:11:36,190.190 INFO    ] ================================================
[2026-10-20 11:11:36,852.852 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:11:36
[2026-10-20 11:11:37,537.537 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:11:37,853.853 INFO    ] Initializing speech engine...
[2026-10-20 11:11:37,862.862 INFO    ] 2026-10-20 11:11:37
[2026-10-20 11:11:38,167.167 INFO    ] 2026-10-20 11:11:38
[2026-10-20 11:11:38,254.254 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:11:38,473.473 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:11:38,507.507 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:11:38,714.714 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:11:38,726.726 INFO    ] time= 20/10/2026 11:11:38
[2026-10-20 11:11:38,782.782 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:11:38,824.824 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:11:38,979.979 INFO    ] No existing commands found in stream
[2026-10-20 11:11:44,010.010 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:11:44,013.013 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-10-20 11:11:45,630.630 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:11:45,633.633 INFO    ] Checking for system updates...
[2026-10-20 11:11:45,674.674 INFO    ] 200
[2026-10-20 11:11:45,678.678 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:11:45,731.731 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:11:45,733.733 INFO    ] No update needed
[2026-10-20 11:11:45,736.736 INFO    ] Checking for camera pi updates...
[2026-10-20 11:11:45,771.771 INFO    ] 200
[2026-10-20 11:11:45,774.774 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:11:45,820.820 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:11:45,871.871 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:11:45,874.874 INFO    ] No camera update needed
[2026-10-20 11:11:45,876.876 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:11:45,879.879 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:11:45,885.885 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:11:45,891.891 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:11:47,931.931 INFO    ] ================================================
[2026-10-20 11:11:47,946.946 INFO    ] Launching Daemon at Tue Oct 20 11:11:47 IST 2026
[2026-10-20 11:11:47,957.957 INFO    ] ================================================
[2026-10-20 11:11:48,550.550 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:11:48
[2026-10-20 11:11:49,218.218 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:11:49,524.524 INFO    ] Initializing speech engine...
[2026-10-20 11:11:49,532.532 INFO    ] 2026-10-20 11:11:49
[2026-10-20 11:11:49,798.798 INFO    ] 2026-10-20 11:11:49
[2026-10-20 11:11:49,842.842 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:11:50,066.066 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:11:50,071.071 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:11:50,288.288 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:11:50,326.326 INFO    ] time= 20/10/2026 11:11:50
[2026-10-20 11:11:50,332.332 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:11:50,350.350 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:11:50,482.482 INFO    ] No existing commands found in stream
[2026-10-20 11:11:55,500.500 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:11:55,503.503 INFO    ] Waiting 0.86 seconds before fallback handling...
[2026-10-20 11:11:56,901.901 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 11:11:56,904.904 INFO    ] Checking for system updates...
[2026-10-20 11:11:56,943.943 INFO    ] 200
[2026-10-20 11:11:56,945.945 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:11:56,997.997 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:11:57,000.000 INFO    ] No update needed
[2026-10-20 11:11:57,002.002 INFO    ] Checking for camera pi updates...
[2026-10-20 11:11:57,035.035 INFO    ] 200
[2026-10-20 11:11:57,038.038 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:11:57,083.083 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:11:57,145.145 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:11:57,147.147 INFO    ] No camera update needed
[2026-10-20 11:11:57,149.149 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:11:57,152.152 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:11:57,157.157 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:11:57,162.162 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:11:59,203.203 INFO    ] ================================================
[2026-10-20 11:11:59,218.218 INFO    ] Launching Daemon at Tue Oct 20 11:11:59 IST 2026
[2026-10-20 11:11:59,229.229 INFO    ] ================================================
[2026-10-20 11:11:59,802.802 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:11:59
[2026-10-20 11:12:00,392.392 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:12:00,660.660 INFO    ] Initializing speech engine...
[2026-10-20 11:12:00,668.668 INFO    ] 2026-10-20 11:12:00
[2026-10-20 11:12:00,916.916 INFO    ] 2026-10-20 11:12:00
[2026-10-20 11:12:00,952.952 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:12:01,207.207 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:12:01,211.211 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:12:01,359.359 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:12:01,377.377 INFO    ] time= 20/10/2026 11:12:01
[2026-10-20 11:12:01,386.386 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:12:01,413.413 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:12:01,500.500 INFO    ] No existing commands found in stream
[2026-10-20 11:12:06,510.510 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:12:06,513.513 INFO    ] Waiting 2.42 seconds before fallback handling...
[2026-10-20 11:12:09,417.417 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 11:12:09,420.420 INFO    ] Checking for system updates...
[2026-10-20 11:12:09,458.458 INFO    ] 200
[2026-10-20 11:12:09,461.461 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:12:09,512.512 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:12:09,514.514 INFO    ] No update needed
[2026-10-20 11:12:09,517.517 INFO    ] Checking for camera pi updates...
[2026-10-20 11:12:09,554.554 INFO    ] 200
[2026-10-20 11:12:09,557.557 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:12:09,607.607 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:12:09,653.653 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:12:09,656.656 INFO    ] No camera update needed
[2026-10-20 11:12:09,658.658 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:12:09,660.660 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:12:09,666.666 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:12:09,671.671 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:12:11,712.712 INFO    ] ================================================
[2026-10-20 11:12:11,728.728 INFO    ] Launching Daemon at Tue Oct 20 11:12:11 IST 2026
[2026-10-20 11:12:11,738.738 INFO    ] ================================================
[2026-10-20 11:12:12,304.304 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:12:12
[2026-10-20 11:12:12,887.887 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:12:13,144.144 INFO    ] Initializing speech engine...
[2026-10-20 11:12:13,163.163 INFO    ] 2026-10-20 11:12:13
[2026-10-20 11:12:13,408.408 INFO    ] 2026-10-20 11:12:13
[2026-10-20 11:12:13,444.444 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:12:13,694.694 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:12:13,703.703 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:12:13,941.941 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:12:13,963.963 INFO    ] time= 20/10/2026 11:12:13
[2026-10-20 11:12:13,977.977 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:12:13,986.986 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:12:14,114.114 INFO    ] No existing commands found in stream
[2026-10-20 11:12:19,133.133 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:12:19,135.135 INFO    ] Waiting 0.70 seconds before fallback handling...
[2026-10-20 11:12:20,381.381 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:12:20,383.383 INFO    ] Checking for system updates...
[2026-10-20 11:12:20,419.419 INFO    ] 200
[2026-10-20 11:12:20,421.421 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:12:20,473.473 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:12:20,475.475 INFO    ] No update needed
[2026-10-20 11:12:20,478.478 INFO    ] Checking for camera pi updates...
[2026-10-20 11:12:20,512.512 INFO    ] 200
[2026-10-20 11:12:20,514.514 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:12:20,554.554 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:12:20,601.601 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:12:20,604.604 INFO    ] No camera update needed
[2026-10-20 11:12:20,606.606 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:12:20,608.608 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:12:20,614.614 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:12:20,619.619 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:12:22,661.661 INFO    ] ================================================
[2026-10-20 11:12:22,677.677 INFO    ] Launching Daemon at Tue Oct 20 11:12:22 IST 2026
[2026-10-20 11:12:22,688.688 INFO    ] ================================================
[2026-10-20 11:12:23,347.347 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:12:23
[2026-10-20 11:12:24,014.014 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:12:24,311.311 INFO    ] Initializing speech engine...
[2026-10-20 11:12:24,320.320 INFO    ] 2026-10-20 11:12:24
[2026-10-20 11:12:24,593.593 INFO    ] 2026-10-20 11:12:24
[2026-10-20 11:12:24,650.650 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:12:24,880.880 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:12:24,886.886 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:12:25,099.099 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:12:25,145.145 INFO    ] time= 20/10/2026 11:12:25
[2026-10-20 11:12:25,163.163 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:12:25,174.174 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:12:25,306.306 INFO    ] No existing commands found in stream
[2026-10-20 11:12:30,340.340 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:12:30,343.343 INFO    ] Waiting 2.09 seconds before fallback handling...
[2026-10-20 11:12:33,000.000 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:12:33,003.003 INFO    ] Checking for system updates...
[2026-10-20 11:12:33,038.038 INFO    ] 200
[2026-10-20 11:12:33,041.041 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:12:33,094.094 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:12:33,096.096 INFO    ] No update needed
[2026-10-20 11:12:33,098.098 INFO    ] Checking for camera pi updates...
[2026-10-20 11:12:33,135.135 INFO    ] 200
[2026-10-20 11:12:33,137.137 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:12:33,178.178 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:12:33,223.223 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:12:33,226.226 INFO    ] No camera update needed
[2026-10-20 11:12:33,229.229 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:12:33,232.232 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:12:33,239.239 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:12:33,245.245 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:12:35,285.285 INFO    ] ================================================
[2026-10-20 11:12:35,300.300 INFO    ] Launching Daemon at Tue Oct 20 11:12:35 IST 2026
[2026-10-20 11:12:35,311.311 INFO    ] ================================================
[2026-10-20 11:12:35,964.964 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:12:35
[2026-10-20 11:12:36,631.631 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:12:36,941.941 INFO    ] Initializing speech engine...
[2026-10-20 11:12:36,956.956 INFO    ] 2026-10-20 11:12:36
[2026-10-20 11:12:37,241.241 INFO    ] 2026-10-20 11:12:37
[2026-10-20 11:12:37,287.287 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:12:37,573.573 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:12:37,580.580 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:12:37,775.775 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:12:37,795.795 INFO    ] time= 20/10/2026 11:12:37
[2026-10-20 11:12:37,824.824 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:12:37,834.834 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:12:37,969.969 INFO    ] No existing commands found in stream
[2026-10-20 11:12:43,000.000 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:12:43,003.003 INFO    ] Waiting 1.85 seconds before fallback handling...
[2026-10-20 11:12:45,375.375 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:12:45,378.378 INFO    ] Checking for system updates...
[2026-10-20 11:12:45,415.415 INFO    ] 200
[2026-10-20 11:12:45,418.418 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:12:45,477.477 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:12:45,481.481 INFO    ] No update needed
[2026-10-20 11:12:45,484.484 INFO    ] Checking for camera pi updates...
[2026-10-20 11:12:45,518.518 INFO    ] 200
[2026-10-20 11:12:45,521.521 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:12:45,567.567 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:12:45,622.622 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:12:45,625.625 INFO    ] No camera update needed
[2026-10-20 11:12:45,627.627 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:12:45,630.630 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:12:45,635.635 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:12:45,640.640 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:12:47,681.681 INFO    ] ================================================
[2026-10-20 11:12:47,695.695 INFO    ] Launching Daemon at Tue Oct 20 11:12:47 IST 2026
[2026-10-20 11:12:47,706.706 INFO    ] ================================================
[2026-10-20 11:12:48,274.274 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:12:48
[2026-10-20 11:12:48,858.858 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:12:49,127.127 INFO    ] Initializing speech engine...
[2026-10-20 11:12:49,137.137 INFO    ] 2026-10-20 11:12:49
[2026-10-20 11:12:49,382.382 INFO    ] 2026-10-20 11:12:49
[2026-10-20 11:12:49,424.424 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:12:49,668.668 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:12:49,677.677 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:12:49,881.881 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:12:49,936.936 INFO    ] time= 20/10/2026 11:12:49
[2026-10-20 11:12:49,943.943 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:12:49,961.961 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:12:50,093.093 INFO    ] No existing commands found in stream
[2026-10-20 11:12:55,112.112 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:12:55,114.114 INFO    ] Waiting 1.13 seconds before fallback handling...
[2026-10-20 11:12:56,791.791 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:12:56,793.793 INFO    ] Checking for system updates...
[2026-10-20 11:12:56,830.830 INFO    ] 200
[2026-10-20 11:12:56,832.832 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:12:56,886.886 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:12:56,889.889 INFO    ] No update needed
[2026-10-20 11:12:56,892.892 INFO    ] Checking for camera pi updates...
[2026-10-20 11:12:56,927.927 INFO    ] 200
[2026-10-20 11:12:56,930.930 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:12:56,971.971 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:12:57,017.017 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:12:57,020.020 INFO    ] No camera update needed
[2026-10-20 11:12:57,023.023 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:12:57,026.026 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:12:57,032.032 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:12:57,037.037 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:12:59,080.080 INFO    ] ================================================
[2026-10-20 11:12:59,095.095 INFO    ] Launching Daemon at Tue Oct 20 11:12:59 IST 2026
[2026-10-20 11:12:59,106.106 INFO    ] ================================================
[2026-10-20 11:12:59,671.671 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:12:59
[2026-10-20 11:13:00,256.256 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:13:00,523.523 INFO    ] Initializing speech engine...
[2026-10-20 11:13:00,532.532 INFO    ] 2026-10-20 11:13:00
[2026-10-20 11:13:00,777.777 INFO    ] 2026-10-20 11:13:00
[2026-10-20 11:13:00,812.812 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:13:01,062.062 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:13:01,071.071 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:13:01,270.270 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:13:01,325.325 INFO    ] time= 20/10/2026 11:13:01
[2026-10-20 11:13:01,335.335 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:13:01,352.352 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:13:01,493.493 INFO    ] No existing commands found in stream
[2026-10-20 11:13:06,509.509 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:13:06,511.511 INFO    ] Waiting 3.37 seconds before fallback handling...
[2026-10-20 11:13:10,914.914 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:13:10,917.917 INFO    ] Checking for system updates...
[2026-10-20 11:13:10,953.953 INFO    ] 200
[2026-10-20 11:13:10,955.955 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:13:11,016.016 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:13:11,019.019 INFO    ] No update needed
[2026-10-20 11:13:11,021.021 INFO    ] Checking for camera pi updates...
[2026-10-20 11:13:11,055.055 INFO    ] 200
[2026-10-20 11:13:11,058.058 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:13:11,102.102 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:13:11,159.159 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:13:11,162.162 INFO    ] No camera update needed
[2026-10-20 11:13:11,164.164 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:13:11,166.166 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:13:11,172.172 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:13:11,177.177 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:13:13,217.217 INFO    ] ================================================
[2026-10-20 11:13:13,233.233 INFO    ] Launching Daemon at Tue Oct 20 11:13:13 IST 2026
[2026-10-20 11:13:13,244.244 INFO    ] ================================================
[2026-10-20 11:13:13,812.812 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:13:13
[2026-10-20 11:13:14,396.396 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:13:14,667.667 INFO    ] Initializing speech engine...
[2026-10-20 11:13:14,673.673 INFO    ] 2026-10-20 11:13:14
[2026-10-20 11:13:14,917.917 INFO    ] 2026-10-20 11:13:14
[2026-10-20 11:13:14,952.952 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:13:15,207.207 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:13:15,213.213 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:13:15,420.420 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:13:15,470.470 INFO    ] time= 20/10/2026 11:13:15
[2026-10-20 11:13:15,477.477 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:13:15,494.494 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:13:15,622.622 INFO    ] No existing commands found in stream
[2026-10-20 11:13:20,637.637 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:13:20,640.640 INFO    ] Waiting 2.21 seconds before fallback handling...
[2026-10-20 11:13:23,372.372 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 11:13:23,375.375 INFO    ] Checking for system updates...
[2026-10-20 11:13:23,410.410 INFO    ] 200
[2026-10-20 11:13:23,412.412 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:13:23,464.464 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:13:23,466.466 INFO    ] No update needed
[2026-10-20 11:13:23,469.469 INFO    ] Checking for camera pi updates...
[2026-10-20 11:13:23,507.507 INFO    ] 200
[2026-10-20 11:13:23,509.509 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:13:23,550.550 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:13:23,694.694 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:13:23,696.696 INFO    ] No camera update needed
[2026-10-20 11:13:23,699.699 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:13:23,701.701 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:13:23,706.706 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:13:23,711.711 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:13:25,752.752 INFO    ] ================================================
[2026-10-20 11:13:25,766.766 INFO    ] Launching Daemon at Tue Oct 20 11:13:25 IST 2026
[2026-10-20 11:13:25,778.778 INFO    ] ================================================
[2026-10-20 11:13:26,364.364 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:13:26
[2026-10-20 11:13:26,969.969 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:13:27,219.219 INFO    ] Initializing speech engine...
[2026-10-20 11:13:27,234.234 INFO    ] 2026-10-20 11:13:27
[2026-10-20 11:13:27,503.503 INFO    ] 2026-10-20 11:13:27
[2026-10-20 11:13:27,538.538 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:13:27,737.737 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:13:27,782.782 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:13:28,023.023 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:13:28,072.072 INFO    ] time= 20/10/2026 11:13:28
[2026-10-20 11:13:28,079.079 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:13:28,094.094 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:13:28,249.249 INFO    ] No existing commands found in stream
[2026-10-20 11:13:33,276.276 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:13:33,279.279 INFO    ] Waiting 1.19 seconds before fallback handling...
[2026-10-20 11:13:34,984.984 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:13:34,989.989 INFO    ] Checking for system updates...
[2026-10-20 11:13:35,027.027 INFO    ] 200
[2026-10-20 11:13:35,029.029 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:13:35,081.081 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:13:35,083.083 INFO    ] No update needed
[2026-10-20 11:13:35,085.085 INFO    ] Checking for camera pi updates...
[2026-10-20 11:13:35,123.123 INFO    ] 200
[2026-10-20 11:13:35,125.125 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:13:35,166.166 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:13:35,214.214 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:13:35,217.217 INFO    ] No camera update needed
[2026-10-20 11:13:35,219.219 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:13:35,222.222 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:13:35,227.227 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:13:35,232.232 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:13:37,272.272 INFO    ] ================================================
[2026-10-20 11:13:37,287.287 INFO    ] Launching Daemon at Tue Oct 20 11:13:37 IST 2026
[2026-10-20 11:13:37,298.298 INFO    ] ================================================
[2026-10-20 11:13:37,865.865 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:13:37
[2026-10-20 11:13:38,450.450 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:13:38,718.718 INFO    ] Initializing speech engine...
[2026-10-20 11:13:38,727.727 INFO    ] 2026-10-20 11:13:38
[2026-10-20 11:13:38,972.972 INFO    ] 2026-10-20 11:13:38
[2026-10-20 11:13:39,012.012 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:13:39,256.256 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:13:39,266.266 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:13:39,465.465 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:13:39,520.520 INFO    ] time= 20/10/2026 11:13:39
[2026-10-20 11:13:39,531.531 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:13:39,549.549 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:13:39,681.681 INFO    ] No existing commands found in stream
[2026-10-20 11:13:44,708.708 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:13:44,711.711 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-10-20 11:13:47,307.307 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:13:47,311.311 INFO    ] Checking for system updates...
[2026-10-20 11:13:47,353.353 INFO    ] 200
[2026-10-20 11:13:47,356.356 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:13:47,417.417 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:13:47,421.421 INFO    ] No update needed
[2026-10-20 11:13:47,424.424 INFO    ] Checking for camera pi updates...
[2026-10-20 11:13:47,458.458 INFO    ] 200
[2026-10-20 11:13:47,461.461 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:13:47,503.503 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:13:47,549.549 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:13:47,552.552 INFO    ] No camera update needed
[2026-10-20 11:13:47,555.555 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:13:47,557.557 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:13:47,564.564 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:13:47,570.570 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:13:49,611.611 INFO    ] ================================================
[2026-10-20 11:13:49,625.625 INFO    ] Launching Daemon at Tue Oct 20 11:13:49 IST 2026
[2026-10-20 11:13:49,636.636 INFO    ] ================================================
[2026-10-20 11:13:50,210.210 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:13:50
[2026-10-20 11:13:50,793.793 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:13:51,054.054 INFO    ] Initializing speech engine...
[2026-10-20 11:13:51,060.060 INFO    ] 2026-10-20 11:13:51
[2026-10-20 11:13:51,359.359 INFO    ] 2026-10-20 11:13:51
[2026-10-20 11:13:51,398.398 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:13:51,601.601 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:13:51,614.614 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:13:51,762.762 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:13:51,786.786 INFO    ] time= 20/10/2026 11:13:51
[2026-10-20 11:13:51,794.794 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:13:51,802.802 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:13:51,948.948 INFO    ] No existing commands found in stream
[2026-10-20 11:13:56,973.973 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:13:56,976.976 INFO    ] Waiting 0.81 seconds before fallback handling...
[2026-10-20 11:13:58,321.321 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 11:13:58,323.323 INFO    ] Checking for system updates...
[2026-10-20 11:13:58,363.363 INFO    ] 200
[2026-10-20 11:13:58,365.365 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:13:58,426.426 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:13:58,428.428 INFO    ] No update needed
[2026-10-20 11:13:58,430.430 INFO    ] Checking for camera pi updates...
[2026-10-20 11:13:58,465.465 INFO    ] 200
[2026-10-20 11:13:58,467.467 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:13:58,513.513 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:13:58,563.563 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:13:58,566.566 INFO    ] No camera update needed
[2026-10-20 11:13:58,568.568 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:13:58,570.570 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:13:58,576.576 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:13:58,581.581 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:14:00,622.622 INFO    ] ================================================
[2026-10-20 11:14:00,637.637 INFO    ] Launching Daemon at Tue Oct 20 11:14:00 IST 2026
[2026-10-20 11:14:00,647.647 INFO    ] ================================================
[2026-10-20 11:14:01,234.234 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:14:01
[2026-10-20 11:14:01,944.944 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:14:02,224.224 INFO    ] Initializing speech engine...
[2026-10-20 11:14:02,229.229 INFO    ] 2026-10-20 11:14:02
[2026-10-20 11:14:02,594.594 INFO    ] 2026-10-20 11:14:02
[2026-10-20 11:14:02,632.632 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:14:02,853.853 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:14:02,856.856 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:14:03,065.065 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:14:03,099.099 INFO    ] time= 20/10/2026 11:14:03
[2026-10-20 11:14:03,156.156 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:14:03,211.211 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:14:03,342.342 INFO    ] No existing commands found in stream
[2026-10-20 11:14:08,367.367 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:14:08,370.370 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-10-20 11:14:08,948.948 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 11:14:08,951.951 INFO    ] Checking for system updates...
[2026-10-20 11:14:08,987.987 INFO    ] 200
[2026-10-20 11:14:08,989.989 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:14:09,049.049 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:14:09,051.051 INFO    ] No update needed
[2026-10-20 11:14:09,054.054 INFO    ] Checking for camera pi updates...
[2026-10-20 11:14:09,088.088 INFO    ] 200
[2026-10-20 11:14:09,091.091 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:14:09,136.136 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:14:09,180.180 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:14:09,183.183 INFO    ] No camera update needed
[2026-10-20 11:14:09,185.185 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:14:09,187.187 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:14:09,192.192 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:14:09,197.197 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:14:11,237.237 INFO    ] ================================================
[2026-10-20 11:14:11,252.252 INFO    ] Launching Daemon at Tue Oct 20 11:14:11 IST 2026
[2026-10-20 11:14:11,262.262 INFO    ] ================================================
[2026-10-20 11:14:11,827.827 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:14:11
[2026-10-20 11:14:12,410.410 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:14:12,678.678 INFO    ] Initializing speech engine...
[2026-10-20 11:14:12,687.687 INFO    ] 2026-10-20 11:14:12
[2026-10-20 11:14:12,932.932 INFO    ] 2026-10-20 11:14:12
[2026-10-20 11:14:12,967.967 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:14:13,219.219 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:14:13,230.230 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:14:13,439.439 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:14:13,487.487 INFO    ] time= 20/10/2026 11:14:13
[2026-10-20 11:14:13,494.494 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:14:13,512.512 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:14:13,640.640 INFO    ] No existing commands found in stream
[2026-10-20 11:14:18,655.655 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:14:18,657.657 INFO    ] Waiting 3.02 seconds before fallback handling...
[2026-10-20 11:14:22,166.166 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:14:22,169.169 INFO    ] Checking for system updates...
[2026-10-20 11:14:22,204.204 INFO    ] 200
[2026-10-20 11:14:22,206.206 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:14:22,258.258 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:14:22,261.261 INFO    ] No update needed
[2026-10-20 11:14:22,263.263 INFO    ] Checking for camera pi updates...
[2026-10-20 11:14:22,296.296 INFO    ] 200
[2026-10-20 11:14:22,298.298 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:14:22,345.345 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:14:22,405.405 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:14:22,408.408 INFO    ] No camera update needed
[2026-10-20 11:14:22,410.410 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:14:22,413.413 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:14:22,418.418 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:14:22,423.423 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:14:24,462.462 INFO    ] ================================================
[2026-10-20 11:14:24,477.477 INFO    ] Launching Daemon at Tue Oct 20 11:14:24 IST 2026
[2026-10-20 11:14:24,488.488 INFO    ] ================================================
[2026-10-20 11:14:25,059.059 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:14:25
[2026-10-20 11:14:25,651.651 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:14:25,924.924 INFO    ] Initializing speech engine...
[2026-10-20 11:14:25,930.930 INFO    ] 2026-10-20 11:14:25
[2026-10-20 11:14:26,180.180 INFO    ] 2026-10-20 11:14:26
[2026-10-20 11:14:26,216.216 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:14:26,520.520 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:14:26,528.528 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:14:26,709.709 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:14:26,726.726 INFO    ] time= 20/10/2026 11:14:26
[2026-10-20 11:14:26,732.732 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:14:26,750.750 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:14:26,859.859 INFO    ] No existing commands found in stream
[2026-10-20 11:14:31,886.886 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:14:31,889.889 INFO    ] Waiting 3.12 seconds before fallback handling...
[2026-10-20 11:14:35,518.518 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:14:35,521.521 INFO    ] Checking for system updates...
[2026-10-20 11:14:35,562.562 INFO    ] 200
[2026-10-20 11:14:35,564.564 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:14:35,617.617 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:14:35,620.620 INFO    ] No update needed
[2026-10-20 11:14:35,623.623 INFO    ] Checking for camera pi updates...
[2026-10-20 11:14:35,661.661 INFO    ] 200
[2026-10-20 11:14:35,663.663 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:14:35,704.704 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:14:35,755.755 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:14:35,757.757 INFO    ] No camera update needed
[2026-10-20 11:14:35,760.760 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:14:35,762.762 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:14:35,768.768 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:14:35,773.773 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:14:37,815.815 INFO    ] ================================================
[2026-10-20 11:14:37,831.831 INFO    ] Launching Daemon at Tue Oct 20 11:14:37 IST 2026
[2026-10-20 11:14:37,841.841 INFO    ] ================================================
[2026-10-20 11:14:38,439.439 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:14:38
[2026-10-20 11:14:39,023.023 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:14:39,279.279 INFO    ] Initializing speech engine...
[2026-10-20 11:14:39,286.286 INFO    ] 2026-10-20 11:14:39
[2026-10-20 11:14:39,588.588 INFO    ] 2026-10-20 11:14:39
[2026-10-20 11:14:39,626.626 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:14:39,830.830 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:14:39,844.844 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:14:40,015.015 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:14:40,020.020 INFO    ] time= 20/10/2026 11:14:40
[2026-10-20 11:14:40,027.027 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:14:40,075.075 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:14:40,205.205 INFO    ] No existing commands found in stream
[2026-10-20 11:14:45,235.235 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:14:45,238.238 INFO    ] Waiting 0.84 seconds before fallback handling...
[2026-10-20 11:14:46,599.599 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:14:46,602.602 INFO    ] Checking for system updates...
[2026-10-20 11:14:46,638.638 INFO    ] 200
[2026-10-20 11:14:46,641.641 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:14:46,694.694 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:14:46,697.697 INFO    ] No update needed
[2026-10-20 11:14:46,699.699 INFO    ] Checking for camera pi updates...
[2026-10-20 11:14:46,739.739 INFO    ] 200
[2026-10-20 11:14:46,741.741 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:14:46,783.783 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:14:46,832.832 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:14:46,834.834 INFO    ] No camera update needed
[2026-10-20 11:14:46,836.836 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:14:46,839.839 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:14:46,844.844 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:14:46,849.849 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:14:48,889.889 INFO    ] ================================================
[2026-10-20 11:14:48,905.905 INFO    ] Launching Daemon at Tue Oct 20 11:14:48 IST 2026
[2026-10-20 11:14:48,916.916 INFO    ] ================================================
[2026-10-20 11:14:49,481.481 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:14:49
[2026-10-20 11:14:50,066.066 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:14:50,334.334 INFO    ] Initializing speech engine...
[2026-10-20 11:14:50,345.345 INFO    ] 2026-10-20 11:14:50
[2026-10-20 11:14:50,600.600 INFO    ] 2026-10-20 11:14:50
[2026-10-20 11:14:50,635.635 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:14:50,895.895 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:14:50,901.901 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:14:51,123.123 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:14:51,156.156 INFO    ] time= 20/10/2026 11:14:51
[2026-10-20 11:14:51,162.162 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:14:51,180.180 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:14:51,310.310 INFO    ] No existing commands found in stream
[2026-10-20 11:14:56,325.325 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:14:56,328.328 INFO    ] Waiting 1.63 seconds before fallback handling...
[2026-10-20 11:14:58,485.485 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:14:58,488.488 INFO    ] Checking for system updates...
[2026-10-20 11:14:58,524.524 INFO    ] 200
[2026-10-20 11:14:58,527.527 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:14:58,580.580 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:14:58,583.583 INFO    ] No update needed
[2026-10-20 11:14:58,585.585 INFO    ] Checking for camera pi updates...
[2026-10-20 11:14:58,619.619 INFO    ] 200
[2026-10-20 11:14:58,621.621 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:14:58,668.668 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:14:58,714.714 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:14:58,716.716 INFO    ] No camera update needed
[2026-10-20 11:14:58,719.719 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:14:58,721.721 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:14:58,726.726 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:14:58,732.732 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:15:00,775.775 INFO    ] ================================================
[2026-10-20 11:15:00,790.790 INFO    ] Launching Daemon at Tue Oct 20 11:15:00 IST 2026
[2026-10-20 11:15:00,801.801 INFO    ] ================================================
[2026-10-20 11:15:01,475.475 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:15:01
[2026-10-20 11:15:02,632.632 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:15:03,006.006 INFO    ] Initializing speech engine...
[2026-10-20 11:15:03,013.013 INFO    ] 2026-10-20 11:15:03
[2026-10-20 11:15:03,323.323 INFO    ] 2026-10-20 11:15:03
[2026-10-20 11:15:03,370.370 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:15:03,615.615 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:15:03,626.626 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:15:03,864.864 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:15:03,901.901 INFO    ] time= 20/10/2026 11:15:03
[2026-10-20 11:15:03,939.939 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:15:03,986.986 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:15:04,083.083 INFO    ] No existing commands found in stream
[2026-10-20 11:15:09,114.114 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:15:09,116.116 INFO    ] Waiting 0.06 seconds before fallback handling...
[2026-10-20 11:15:09,685.685 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 11:15:09,688.688 INFO    ] Checking for system updates...
[2026-10-20 11:15:09,723.723 INFO    ] 200
[2026-10-20 11:15:09,726.726 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:15:09,777.777 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:15:09,780.780 INFO    ] No update needed
[2026-10-20 11:15:09,782.782 INFO    ] Checking for camera pi updates...
[2026-10-20 11:15:09,815.815 INFO    ] 200
[2026-10-20 11:15:09,818.818 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:15:09,857.857 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:15:09,903.903 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:15:09,905.905 INFO    ] No camera update needed
[2026-10-20 11:15:09,908.908 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:15:09,910.910 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:15:09,915.915 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:15:09,920.920 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:15:11,961.961 INFO    ] ================================================
[2026-10-20 11:15:11,977.977 INFO    ] Launching Daemon at Tue Oct 20 11:15:11 IST 2026
[2026-10-20 11:15:11,988.988 INFO    ] ================================================
[2026-10-20 11:15:12,558.558 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:15:12
[2026-10-20 11:15:13,145.145 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:15:13,421.421 INFO    ] Initializing speech engine...
[2026-10-20 11:15:13,426.426 INFO    ] 2026-10-20 11:15:13
[2026-10-20 11:15:13,674.674 INFO    ] 2026-10-20 11:15:13
[2026-10-20 11:15:13,709.709 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:15:13,965.965 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:15:13,971.971 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:15:14,176.176 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:15:14,229.229 INFO    ] time= 20/10/2026 11:15:14
[2026-10-20 11:15:14,235.235 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:15:14,253.253 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:15:14,390.390 INFO    ] No existing commands found in stream
[2026-10-20 11:15:19,415.415 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:15:19,418.418 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-10-20 11:15:23,168.168 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:15:23,170.170 INFO    ] Checking for system updates...
[2026-10-20 11:15:23,206.206 INFO    ] 200
[2026-10-20 11:15:23,209.209 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:15:23,268.268 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:15:23,270.270 INFO    ] No update needed
[2026-10-20 11:15:23,273.273 INFO    ] Checking for camera pi updates...
[2026-10-20 11:15:23,310.310 INFO    ] 200
[2026-10-20 11:15:23,312.312 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:15:23,356.356 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:15:23,412.412 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:15:23,414.414 INFO    ] No camera update needed
[2026-10-20 11:15:23,416.416 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:15:23,419.419 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:15:23,424.424 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:15:23,429.429 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:15:25,470.470 INFO    ] ================================================
[2026-10-20 11:15:25,490.490 INFO    ] Launching Daemon at Tue Oct 20 11:15:25 IST 2026
[2026-10-20 11:15:25,501.501 INFO    ] ================================================
[2026-10-20 11:15:26,083.083 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:15:26
[2026-10-20 11:15:26,668.668 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:15:26,924.924 INFO    ] Initializing speech engine...
[2026-10-20 11:15:26,932.932 INFO    ] 2026-10-20 11:15:26
[2026-10-20 11:15:27,229.229 INFO    ] 2026-10-20 11:15:27
[2026-10-20 11:15:27,263.263 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:15:27,552.552 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:15:27,562.562 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:15:27,715.715 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:15:27,753.753 INFO    ] time= 20/10/2026 11:15:27
[2026-10-20 11:15:27,812.812 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:15:27,867.867 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:15:28,001.001 INFO    ] No existing commands found in stream
[2026-10-20 11:15:33,011.011 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:15:33,013.013 INFO    ] Waiting 3.64 seconds before fallback handling...
[2026-10-20 11:15:37,146.146 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:15:37,148.148 INFO    ] Checking for system updates...
[2026-10-20 11:15:37,187.187 INFO    ] 200
[2026-10-20 11:15:37,190.190 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:15:37,249.249 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:15:37,251.251 INFO    ] No update needed
[2026-10-20 11:15:37,253.253 INFO    ] Checking for camera pi updates...
[2026-10-20 11:15:37,291.291 INFO    ] 200
[2026-10-20 11:15:37,293.293 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:15:37,338.338 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:15:37,385.385 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:15:37,388.388 INFO    ] No camera update needed
[2026-10-20 11:15:37,390.390 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:15:37,392.392 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:15:37,398.398 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:15:37,403.403 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:15:39,442.442 INFO    ] ================================================
[2026-10-20 11:15:39,458.458 INFO    ] Launching Daemon at Tue Oct 20 11:15:39 IST 2026
[2026-10-20 11:15:39,469.469 INFO    ] ================================================
[2026-10-20 11:15:40,034.034 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:15:40
[2026-10-20 11:15:40,679.679 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:15:40,992.992 INFO    ] Initializing speech engine...
[2026-10-20 11:15:41,004.004 INFO    ] 2026-10-20 11:15:40
[2026-10-20 11:15:41,275.275 INFO    ] 2026-10-20 11:15:41
[2026-10-20 11:15:41,304.304 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:15:41,526.526 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:15:41,561.561 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:15:41,773.773 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:15:41,839.839 INFO    ] time= 20/10/2026 11:15:41
[2026-10-20 11:15:41,858.858 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:15:41,876.876 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:15:41,954.954 INFO    ] No existing commands found in stream
[2026-10-20 11:15:46,982.982 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:15:46,984.984 INFO    ] Waiting 2.84 seconds before fallback handling...
[2026-10-20 11:15:50,309.309 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:15:50,312.312 INFO    ] Checking for system updates...
[2026-10-20 11:15:50,347.347 INFO    ] 200
[2026-10-20 11:15:50,350.350 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:15:50,401.401 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:15:50,403.403 INFO    ] No update needed
[2026-10-20 11:15:50,406.406 INFO    ] Checking for camera pi updates...
[2026-10-20 11:15:50,442.442 INFO    ] 200
[2026-10-20 11:15:50,444.444 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:15:50,493.493 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:15:50,539.539 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:15:50,542.542 INFO    ] No camera update needed
[2026-10-20 11:15:50,544.544 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:15:50,547.547 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:15:50,553.553 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:15:50,559.559 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:15:52,602.602 INFO    ] ================================================
[2026-10-20 11:15:52,618.618 INFO    ] Launching Daemon at Tue Oct 20 11:15:52 IST 2026
[2026-10-20 11:15:52,629.629 INFO    ] ================================================
[2026-10-20 11:15:53,286.286 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:15:53
[2026-10-20 11:15:53,959.959 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:15:54,275.275 INFO    ] Initializing speech engine...
[2026-10-20 11:15:54,280.280 INFO    ] 2026-10-20 11:15:54
[2026-10-20 11:15:54,566.566 INFO    ] 2026-10-20 11:15:54
[2026-10-20 11:15:54,675.675 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:15:54,884.884 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:15:54,894.894 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:15:55,087.087 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:15:55,095.095 INFO    ] time= 20/10/2026 11:15:55
[2026-10-20 11:15:55,116.116 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:15:55,142.142 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:15:55,255.255 INFO    ] No existing commands found in stream
[2026-10-20 11:16:00,280.280 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:16:00,283.283 INFO    ] Waiting 0.84 seconds before fallback handling...
[2026-10-20 11:16:01,684.684 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:16:01,687.687 INFO    ] Checking for system updates...
[2026-10-20 11:16:01,739.739 INFO    ] 200
[2026-10-20 11:16:01,742.742 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:16:01,804.804 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:16:01,807.807 INFO    ] No update needed
[2026-10-20 11:16:01,810.810 INFO    ] Checking for camera pi updates...
[2026-10-20 11:16:01,848.848 INFO    ] 200
[2026-10-20 11:16:01,851.851 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:16:01,904.904 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:16:01,950.950 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:16:01,953.953 INFO    ] No camera update needed
[2026-10-20 11:16:01,956.956 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:16:01,959.959 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:16:01,966.966 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:16:01,972.972 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:16:04,015.015 INFO    ] ================================================
[2026-10-20 11:16:04,030.030 INFO    ] Launching Daemon at Tue Oct 20 11:16:04 IST 2026
[2026-10-20 11:16:04,041.041 INFO    ] ================================================
[2026-10-20 11:16:04,710.710 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:16:04
[2026-10-20 11:16:05,401.401 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:16:05,717.717 INFO    ] Initializing speech engine...
[2026-10-20 11:16:05,728.728 INFO    ] 2026-10-20 11:16:05
[2026-10-20 11:16:06,017.017 INFO    ] 2026-10-20 11:16:06
[2026-10-20 11:16:06,128.128 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:16:06,365.365 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:16:06,374.374 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:16:06,567.567 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:16:06,603.603 INFO    ] time= 20/10/2026 11:16:06
[2026-10-20 11:16:06,612.612 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:16:06,631.631 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:16:06,762.762 INFO    ] No existing commands found in stream
[2026-10-20 11:16:11,788.788 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:16:11,791.791 INFO    ] Waiting 2.84 seconds before fallback handling...
[2026-10-20 11:16:15,121.121 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:16:15,124.124 INFO    ] Checking for system updates...
[2026-10-20 11:16:15,163.163 INFO    ] 200
[2026-10-20 11:16:15,166.166 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:16:15,219.219 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:16:15,221.221 INFO    ] No update needed
[2026-10-20 11:16:15,224.224 INFO    ] Checking for camera pi updates...
[2026-10-20 11:16:15,257.257 INFO    ] 200
[2026-10-20 11:16:15,260.260 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:16:15,301.301 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:16:15,354.354 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:16:15,356.356 INFO    ] No camera update needed
[2026-10-20 11:16:15,359.359 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:16:15,361.361 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:16:15,367.367 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:16:15,372.372 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:16:17,411.411 INFO    ] ================================================
[2026-10-20 11:16:17,427.427 INFO    ] Launching Daemon at Tue Oct 20 11:16:17 IST 2026
[2026-10-20 11:16:17,437.437 INFO    ] ================================================
[2026-10-20 11:16:18,007.007 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:16:18
[2026-10-20 11:16:18,595.595 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:16:18,853.853 INFO    ] Initializing speech engine...
[2026-10-20 11:16:18,860.860 INFO    ] 2026-10-20 11:16:18
[2026-10-20 11:16:19,152.152 INFO    ] 2026-10-20 11:16:19
[2026-10-20 11:16:19,199.199 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:16:19,407.407 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:16:19,422.422 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:16:19,554.554 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:16:19,575.575 INFO    ] time= 20/10/2026 11:16:19
[2026-10-20 11:16:19,598.598 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:16:19,606.606 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:16:19,689.689 INFO    ] No existing commands found in stream
[2026-10-20 11:16:24,720.720 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:16:24,723.723 INFO    ] Waiting 1.46 seconds before fallback handling...
[2026-10-20 11:16:26,679.679 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 11:16:26,681.681 INFO    ] Checking for system updates...
[2026-10-20 11:16:26,717.717 INFO    ] 200
[2026-10-20 11:16:26,720.720 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:16:26,771.771 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:16:26,774.774 INFO    ] No update needed
[2026-10-20 11:16:26,776.776 INFO    ] Checking for camera pi updates...
[2026-10-20 11:16:26,814.814 INFO    ] 200
[2026-10-20 11:16:26,817.817 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:16:26,857.857 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:16:26,901.901 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:16:26,903.903 INFO    ] No camera update needed
[2026-10-20 11:16:26,905.905 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:16:26,908.908 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:16:26,913.913 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:16:26,918.918 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:16:28,958.958 INFO    ] ================================================
[2026-10-20 11:16:28,974.974 INFO    ] Launching Daemon at Tue Oct 20 11:16:28 IST 2026
[2026-10-20 11:16:28,988.988 INFO    ] ================================================
[2026-10-20 11:16:29,667.667 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:16:29
[2026-10-20 11:16:30,360.360 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:16:30,674.674 INFO    ] Initializing speech engine...
[2026-10-20 11:16:30,686.686 INFO    ] 2026-10-20 11:16:30
[2026-10-20 11:16:30,977.977 INFO    ] 2026-10-20 11:16:30
[2026-10-20 11:16:31,087.087 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:16:31,301.301 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:16:31,310.310 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:16:31,518.518 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:16:31,540.540 INFO    ] time= 20/10/2026 11:16:31
[2026-10-20 11:16:31,570.570 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:16:31,581.581 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:16:31,750.750 INFO    ] No existing commands found in stream
[2026-10-20 11:16:36,781.781 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:16:36,784.784 INFO    ] Waiting 2.69 seconds before fallback handling...
[2026-10-20 11:16:40,049.049 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 11:16:40,052.052 INFO    ] Checking for system updates...
[2026-10-20 11:16:40,092.092 INFO    ] 200
[2026-10-20 11:16:40,095.095 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:16:40,149.149 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:16:40,152.152 INFO    ] No update needed
[2026-10-20 11:16:40,155.155 INFO    ] Checking for camera pi updates...
[2026-10-20 11:16:40,189.189 INFO    ] 200
[2026-10-20 11:16:40,192.192 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:16:40,234.234 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:16:40,267.267 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:16:40,269.269 INFO    ] No camera update needed
[2026-10-20 11:16:40,272.272 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:16:40,274.274 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:16:40,279.279 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:16:40,284.284 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:16:42,323.323 INFO    ] ================================================
[2026-10-20 11:16:42,338.338 INFO    ] Launching Daemon at Tue Oct 20 11:16:42 IST 2026
[2026-10-20 11:16:42,349.349 INFO    ] ================================================
[2026-10-20 11:16:43,002.002 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:16:42
[2026-10-20 11:16:43,641.641 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:16:43,915.915 INFO    ] Initializing speech engine...
[2026-10-20 11:16:43,921.921 INFO    ] 2026-10-20 11:16:43
[2026-10-20 11:16:44,166.166 INFO    ] 2026-10-20 11:16:44
[2026-10-20 11:16:44,201.201 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:16:44,456.456 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:16:44,462.462 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:16:44,674.674 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:16:44,717.717 INFO    ] time= 20/10/2026 11:16:44
[2026-10-20 11:16:44,723.723 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:16:44,740.740 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:16:44,869.869 INFO    ] No existing commands found in stream
[2026-10-20 11:16:49,882.882 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:16:49,884.884 INFO    ] Waiting 2.14 seconds before fallback handling...
[2026-10-20 11:16:52,534.534 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 11:16:52,536.536 INFO    ] Checking for system updates...
[2026-10-20 11:16:52,572.572 INFO    ] 200
[2026-10-20 11:16:52,575.575 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:16:52,637.637 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:16:52,639.639 INFO    ] No update needed
[2026-10-20 11:16:52,642.642 INFO    ] Checking for camera pi updates...
[2026-10-20 11:16:52,678.678 INFO    ] 200
[2026-10-20 11:16:52,681.681 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:16:52,725.725 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:16:52,779.779 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:16:52,782.782 INFO    ] No camera update needed
[2026-10-20 11:16:52,784.784 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:16:52,787.787 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:16:52,792.792 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:16:52,797.797 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:16:54,836.836 INFO    ] ================================================
[2026-10-20 11:16:54,852.852 INFO    ] Launching Daemon at Tue Oct 20 11:16:54 IST 2026
[2026-10-20 11:16:54,863.863 INFO    ] ================================================
[2026-10-20 11:16:55,443.443 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:16:55
[2026-10-20 11:16:56,041.041 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:16:56,312.312 INFO    ] Initializing speech engine...
[2026-10-20 11:16:56,321.321 INFO    ] 2026-10-20 11:16:56
[2026-10-20 11:16:56,570.570 INFO    ] 2026-10-20 11:16:56
[2026-10-20 11:16:56,605.605 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:16:56,862.862 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:16:56,868.868 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:16:57,018.018 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:16:57,094.094 INFO    ] time= 20/10/2026 11:16:57
[2026-10-20 11:16:57,132.132 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:16:57,150.150 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:16:57,285.285 INFO    ] No existing commands found in stream
[2026-10-20 11:17:02,308.308 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:17:02,312.312 INFO    ] Waiting 3.03 seconds before fallback handling...
[2026-10-20 11:17:05,887.887 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:17:05,890.890 INFO    ] Checking for system updates...
[2026-10-20 11:17:05,931.931 INFO    ] 200
[2026-10-20 11:17:05,934.934 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:17:05,986.986 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:17:05,989.989 INFO    ] No update needed
[2026-10-20 11:17:05,992.992 INFO    ] Checking for camera pi updates...
[2026-10-20 11:17:06,027.027 INFO    ] 200
[2026-10-20 11:17:06,030.030 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:17:06,071.071 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:17:06,117.117 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:17:06,120.120 INFO    ] No camera update needed
[2026-10-20 11:17:06,123.123 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:17:06,125.125 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:17:06,132.132 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:17:06,137.137 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:17:08,178.178 INFO    ] ================================================
[2026-10-20 11:17:08,194.194 INFO    ] Launching Daemon at Tue Oct 20 11:17:08 IST 2026
[2026-10-20 11:17:08,209.209 INFO    ] ================================================
[2026-10-20 11:17:08,813.813 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:17:08
[2026-10-20 11:17:09,485.485 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:17:09,784.784 INFO    ] Initializing speech engine...
[2026-10-20 11:17:09,794.794 INFO    ] 2026-10-20 11:17:09
[2026-10-20 11:17:10,073.073 INFO    ] 2026-10-20 11:17:10
[2026-10-20 11:17:10,108.108 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:17:10,387.387 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:17:10,396.396 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:17:10,626.626 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:17:10,633.633 INFO    ] time= 20/10/2026 11:17:10
[2026-10-20 11:17:10,654.654 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:17:10,681.681 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:17:10,837.837 INFO    ] No existing commands found in stream
[2026-10-20 11:17:15,863.863 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:17:15,866.866 INFO    ] Waiting 0.98 seconds before fallback handling...
[2026-10-20 11:17:17,382.382 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:17:17,386.386 INFO    ] Checking for system updates...
[2026-10-20 11:17:17,423.423 INFO    ] 200
[2026-10-20 11:17:17,426.426 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:17:17,480.480 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:17:17,483.483 INFO    ] No update needed
[2026-10-20 11:17:17,485.485 INFO    ] Checking for camera pi updates...
[2026-10-20 11:17:17,521.521 INFO    ] 200
[2026-10-20 11:17:17,524.524 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:17:17,570.570 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:17:17,615.615 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:17:17,617.617 INFO    ] No camera update needed
[2026-10-20 11:17:17,620.620 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:17:17,623.623 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:17:17,629.629 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:17:17,635.635 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:17:19,674.674 INFO    ] ================================================
[2026-10-20 11:17:19,689.689 INFO    ] Launching Daemon at Tue Oct 20 11:17:19 IST 2026
[2026-10-20 11:17:19,700.700 INFO    ] ================================================
[2026-10-20 11:17:20,356.356 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:17:20
[2026-10-20 11:17:21,033.033 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:17:21,349.349 INFO    ] Initializing speech engine...
[2026-10-20 11:17:21,357.357 INFO    ] 2026-10-20 11:17:21
[2026-10-20 11:17:21,661.661 INFO    ] 2026-10-20 11:17:21
[2026-10-20 11:17:21,748.748 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:17:21,963.963 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:17:22,001.001 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:17:22,166.166 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:17:22,188.188 INFO    ] time= 20/10/2026 11:17:22
[2026-10-20 11:17:22,216.216 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:17:22,228.228 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:17:22,355.355 INFO    ] No existing commands found in stream
[2026-10-20 11:17:27,381.381 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:17:27,384.384 INFO    ] Waiting 3.24 seconds before fallback handling...
[2026-10-20 11:17:31,184.184 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 11:17:31,187.187 INFO    ] Checking for system updates...
[2026-10-20 11:17:31,228.228 INFO    ] 200
[2026-10-20 11:17:31,231.231 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:17:31,295.295 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:17:31,298.298 INFO    ] No update needed
[2026-10-20 11:17:31,301.301 INFO    ] Checking for camera pi updates...
[2026-10-20 11:17:31,339.339 INFO    ] 200
[2026-10-20 11:17:31,343.343 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:17:31,385.385 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:17:31,431.431 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:17:31,434.434 INFO    ] No camera update needed
[2026-10-20 11:17:31,437.437 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:17:31,439.439 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:17:31,446.446 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:17:31,452.452 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:17:33,491.491 INFO    ] ================================================
[2026-10-20 11:17:33,506.506 INFO    ] Launching Daemon at Tue Oct 20 11:17:33 IST 2026
[2026-10-20 11:17:33,517.517 INFO    ] ================================================
[2026-10-20 11:17:34,170.170 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:17:34
[2026-10-20 11:17:34,844.844 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:17:35,145.145 INFO    ] Initializing speech engine...
[2026-10-20 11:17:35,153.153 INFO    ] 2026-10-20 11:17:35
[2026-10-20 11:17:35,437.437 INFO    ] 2026-10-20 11:17:35
[2026-10-20 11:17:35,482.482 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:17:35,765.765 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:17:35,774.774 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:17:35,967.967 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:17:35,975.975 INFO    ] time= 20/10/2026 11:17:35
[2026-10-20 11:17:35,996.996 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:17:36,023.023 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:17:36,159.159 INFO    ] No existing commands found in stream
[2026-10-20 11:17:41,195.195 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:17:41,198.198 INFO    ] Waiting 0.05 seconds before fallback handling...
[2026-10-20 11:17:41,771.771 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:17:41,774.774 INFO    ] Checking for system updates...
[2026-10-20 11:17:41,811.811 INFO    ] 200
[2026-10-20 11:17:41,814.814 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:17:41,867.867 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:17:41,870.870 INFO    ] No update needed
[2026-10-20 11:17:41,873.873 INFO    ] Checking for camera pi updates...
[2026-10-20 11:17:41,907.907 INFO    ] 200
[2026-10-20 11:17:41,910.910 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:17:41,951.951 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:17:42,100.100 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:17:42,102.102 INFO    ] No camera update needed
[2026-10-20 11:17:42,105.105 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:17:42,108.108 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:17:42,114.114 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:17:42,120.120 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:17:44,162.162 INFO    ] ================================================
[2026-10-20 11:17:44,177.177 INFO    ] Launching Daemon at Tue Oct 20 11:17:44 IST 2026
[2026-10-20 11:17:44,188.188 INFO    ] ================================================
[2026-10-20 11:17:44,851.851 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:17:44
[2026-10-20 11:17:45,525.525 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:17:45,835.835 INFO    ] Initializing speech engine...
[2026-10-20 11:17:45,847.847 INFO    ] 2026-10-20 11:17:45
[2026-10-20 11:17:46,135.135 INFO    ] 2026-10-20 11:17:46
[2026-10-20 11:17:46,246.246 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:17:46,462.462 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:17:46,471.471 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:17:46,662.662 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:17:46,681.681 INFO    ] time= 20/10/2026 11:17:46
[2026-10-20 11:17:46,704.704 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:17:46,718.718 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:17:46,846.846 INFO    ] No existing commands found in stream
[2026-10-20 11:17:51,877.877 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:17:51,881.881 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-10-20 11:17:55,593.593 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:17:55,597.597 INFO    ] Checking for system updates...
[2026-10-20 11:17:55,634.634 INFO    ] 200
[2026-10-20 11:17:55,637.637 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:17:55,690.690 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:17:55,693.693 INFO    ] No update needed
[2026-10-20 11:17:55,695.695 INFO    ] Checking for camera pi updates...
[2026-10-20 11:17:55,730.730 INFO    ] 200
[2026-10-20 11:17:55,733.733 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:17:55,779.779 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:17:55,830.830 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:17:55,833.833 INFO    ] No camera update needed
[2026-10-20 11:17:55,836.836 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:17:55,838.838 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:17:55,845.845 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:17:55,851.851 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:17:57,892.892 INFO    ] ================================================
[2026-10-20 11:17:57,908.908 INFO    ] Launching Daemon at Tue Oct 20 11:17:57 IST 2026
[2026-10-20 11:17:57,919.919 INFO    ] ================================================
[2026-10-20 11:17:58,582.582 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:17:58
[2026-10-20 11:17:59,264.264 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:17:59,573.573 INFO    ] Initializing speech engine...
[2026-10-20 11:17:59,585.585 INFO    ] 2026-10-20 11:17:59
[2026-10-20 11:17:59,866.866 INFO    ] 2026-10-20 11:17:59
[2026-10-20 11:17:59,934.934 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:18:00,199.199 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:18:00,205.205 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:18:00,397.397 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:18:00,409.409 INFO    ] time= 20/10/2026 11:18:00
[2026-10-20 11:18:00,431.431 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:18:00,459.459 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:18:00,590.590 INFO    ] No existing commands found in stream
[2026-10-20 11:18:05,621.621 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:18:05,624.624 INFO    ] Waiting 2.19 seconds before fallback handling...
[2026-10-20 11:18:08,338.338 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:18:08,341.341 INFO    ] Checking for system updates...
[2026-10-20 11:18:08,379.379 INFO    ] 200
[2026-10-20 11:18:08,382.382 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:18:08,436.436 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:18:08,439.439 INFO    ] No update needed
[2026-10-20 11:18:08,442.442 INFO    ] Checking for camera pi updates...
[2026-10-20 11:18:08,477.477 INFO    ] 200
[2026-10-20 11:18:08,480.480 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:18:08,523.523 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:18:08,575.575 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:18:08,578.578 INFO    ] No camera update needed
[2026-10-20 11:18:08,581.581 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:18:08,584.584 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:18:08,590.590 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:18:08,596.596 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:18:10,635.635 INFO    ] ================================================
[2026-10-20 11:18:10,650.650 INFO    ] Launching Daemon at Tue Oct 20 11:18:10 IST 2026
[2026-10-20 11:18:10,661.661 INFO    ] ================================================
[2026-10-20 11:18:11,327.327 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:18:11
[2026-10-20 11:18:12,014.014 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:18:12,328.328 INFO    ] Initializing speech engine...
[2026-10-20 11:18:12,340.340 INFO    ] 2026-10-20 11:18:12
[2026-10-20 11:18:12,649.649 INFO    ] 2026-10-20 11:18:12
[2026-10-20 11:18:12,737.737 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:18:13,016.016 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:18:13,059.059 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:18:13,296.296 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:18:13,323.323 INFO    ] time= 20/10/2026 11:18:13
[2026-10-20 11:18:13,378.378 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:18:13,426.426 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:18:13,601.601 INFO    ] No existing commands found in stream
[2026-10-20 11:18:18,612.612 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:18:18,615.615 INFO    ] Waiting 1.91 seconds before fallback handling...
[2026-10-20 11:18:21,084.084 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:18:21,087.087 INFO    ] Checking for system updates...
[2026-10-20 11:18:21,124.124 INFO    ] 200
[2026-10-20 11:18:21,127.127 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:18:21,180.180 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:18:21,183.183 INFO    ] No update needed
[2026-10-20 11:18:21,186.186 INFO    ] Checking for camera pi updates...
[2026-10-20 11:18:21,221.221 INFO    ] 200
[2026-10-20 11:18:21,224.224 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:18:21,265.265 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:18:21,309.309 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:18:21,311.311 INFO    ] No camera update needed
[2026-10-20 11:18:21,314.314 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:18:21,316.316 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:18:21,321.321 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:18:21,326.326 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:18:23,365.365 INFO    ] ================================================
[2026-10-20 11:18:23,381.381 INFO    ] Launching Daemon at Tue Oct 20 11:18:23 IST 2026
[2026-10-20 11:18:23,392.392 INFO    ] ================================================
[2026-10-20 11:18:23,972.972 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:18:23
[2026-10-20 11:18:24,559.559 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:18:24,830.830 INFO    ] Initializing speech engine...
[2026-10-20 11:18:24,837.837 INFO    ] 2026-10-20 11:18:24
[2026-10-20 11:18:25,084.084 INFO    ] 2026-10-20 11:18:25
[2026-10-20 11:18:25,120.120 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:18:25,372.372 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:18:25,381.381 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:18:25,598.598 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:18:25,641.641 INFO    ] time= 20/10/2026 11:18:25
[2026-10-20 11:18:25,647.647 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:18:25,665.665 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:18:25,792.792 INFO    ] No existing commands found in stream
[2026-10-20 11:18:30,808.808 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:18:30,811.811 INFO    ] Waiting 2.93 seconds before fallback handling...
[2026-10-20 11:18:34,215.215 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 11:18:34,218.218 INFO    ] Checking for system updates...
[2026-10-20 11:18:34,253.253 INFO    ] 200
[2026-10-20 11:18:34,256.256 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:18:34,316.316 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:18:34,318.318 INFO    ] No update needed
[2026-10-20 11:18:34,321.321 INFO    ] Checking for camera pi updates...
[2026-10-20 11:18:34,355.355 INFO    ] 200
[2026-10-20 11:18:34,358.358 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:18:34,399.399 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:18:34,445.445 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:18:34,447.447 INFO    ] No camera update needed
[2026-10-20 11:18:34,450.450 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:18:34,452.452 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:18:34,458.458 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:18:34,463.463 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:18:36,505.505 INFO    ] ================================================
[2026-10-20 11:18:36,520.520 INFO    ] Launching Daemon at Tue Oct 20 11:18:36 IST 2026
[2026-10-20 11:18:36,531.531 INFO    ] ================================================
[2026-10-20 11:18:37,195.195 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:18:37
[2026-10-20 11:18:37,883.883 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:18:38,196.196 INFO    ] Initializing speech engine...
[2026-10-20 11:18:38,207.207 INFO    ] 2026-10-20 11:18:38
[2026-10-20 11:18:38,518.518 INFO    ] 2026-10-20 11:18:38
[2026-10-20 11:18:38,604.604 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:18:38,817.817 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:18:38,823.823 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:18:39,017.017 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:18:39,024.024 INFO    ] time= 20/10/2026 11:18:39
[2026-10-20 11:18:39,045.045 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:18:39,073.073 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:18:39,213.213 INFO    ] No existing commands found in stream
[2026-10-20 11:18:44,244.244 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:18:44,247.247 INFO    ] Waiting 0.44 seconds before fallback handling...
[2026-10-20 11:18:45,256.256 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:18:45,259.259 INFO    ] Checking for system updates...
[2026-10-20 11:18:45,300.300 INFO    ] 200
[2026-10-20 11:18:45,303.303 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:18:45,364.364 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:18:45,366.366 INFO    ] No update needed
[2026-10-20 11:18:45,369.369 INFO    ] Checking for camera pi updates...
[2026-10-20 11:18:45,403.403 INFO    ] 200
[2026-10-20 11:18:45,406.406 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:18:45,450.450 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:18:45,495.495 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:18:45,498.498 INFO    ] No camera update needed
[2026-10-20 11:18:45,500.500 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:18:45,503.503 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:18:45,508.508 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:18:45,514.514 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:18:47,558.558 INFO    ] ================================================
[2026-10-20 11:18:47,573.573 INFO    ] Launching Daemon at Tue Oct 20 11:18:47 IST 2026
[2026-10-20 11:18:47,584.584 INFO    ] ================================================
[2026-10-20 11:18:48,178.178 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:18:48
[2026-10-20 11:18:48,790.790 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:18:49,072.072 INFO    ] Initializing speech engine...
[2026-10-20 11:18:49,079.079 INFO    ] 2026-10-20 11:18:49
[2026-10-20 11:18:49,337.337 INFO    ] 2026-10-20 11:18:49
[2026-10-20 11:18:49,391.391 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:18:49,638.638 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:18:49,643.643 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:18:49,824.824 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:18:49,875.875 INFO    ] time= 20/10/2026 11:18:49
[2026-10-20 11:18:49,882.882 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:18:49,900.900 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:18:50,025.025 INFO    ] No existing commands found in stream
[2026-10-20 11:18:55,041.041 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:18:55,044.044 INFO    ] Waiting 3.34 seconds before fallback handling...
[2026-10-20 11:19:00,988.988 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:19:00,991.991 INFO    ] Checking for system updates...
[2026-10-20 11:19:01,026.026 INFO    ] 200
[2026-10-20 11:19:01,028.028 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:19:01,080.080 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:19:01,082.082 INFO    ] No update needed
[2026-10-20 11:19:01,084.084 INFO    ] Checking for camera pi updates...
[2026-10-20 11:19:01,117.117 INFO    ] 200
[2026-10-20 11:19:01,120.120 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:19:01,162.162 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:19:01,206.206 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:19:01,209.209 INFO    ] No camera update needed
[2026-10-20 11:19:01,211.211 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:19:01,213.213 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:19:01,219.219 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:19:01,224.224 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:19:03,267.267 INFO    ] ================================================
[2026-10-20 11:19:03,282.282 INFO    ] Launching Daemon at Tue Oct 20 11:19:03 IST 2026
[2026-10-20 11:19:03,293.293 INFO    ] ================================================
[2026-10-20 11:19:03,881.881 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:19:03
[2026-10-20 11:19:04,485.485 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:19:04,761.761 INFO    ] Initializing speech engine...
[2026-10-20 11:19:04,780.780 INFO    ] 2026-10-20 11:19:04
[2026-10-20 11:19:05,043.043 INFO    ] 2026-10-20 11:19:05
[2026-10-20 11:19:05,082.082 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:19:05,298.298 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:19:05,305.305 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:19:05,476.476 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:19:05,524.524 INFO    ] time= 20/10/2026 11:19:05
[2026-10-20 11:19:05,531.531 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:19:05,570.570 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:19:05,676.676 INFO    ] No existing commands found in stream
[2026-10-20 11:19:10,698.698 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:19:10,701.701 INFO    ] Waiting 3.46 seconds before fallback handling...
[2026-10-20 11:19:14,679.679 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 11:19:14,682.682 INFO    ] Checking for system updates...
[2026-10-20 11:19:14,720.720 INFO    ] 200
[2026-10-20 11:19:14,723.723 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:19:14,774.774 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:19:14,776.776 INFO    ] No update needed
[2026-10-20 11:19:14,779.779 INFO    ] Checking for camera pi updates...
[2026-10-20 11:19:14,815.815 INFO    ] 200
[2026-10-20 11:19:14,817.817 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:19:14,857.857 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:19:14,904.904 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:19:14,907.907 INFO    ] No camera update needed
[2026-10-20 11:19:14,909.909 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:19:14,912.912 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:19:14,918.918 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:19:14,924.924 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:19:16,963.963 INFO    ] ================================================
[2026-10-20 11:19:16,977.977 INFO    ] Launching Daemon at Tue Oct 20 11:19:16 IST 2026
[2026-10-20 11:19:16,988.988 INFO    ] ================================================
[2026-10-20 11:19:17,567.567 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:19:17
[2026-10-20 11:19:18,165.165 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:19:18,444.444 INFO    ] Initializing speech engine...
[2026-10-20 11:19:18,452.452 INFO    ] 2026-10-20 11:19:18
[2026-10-20 11:19:18,711.711 INFO    ] 2026-10-20 11:19:18
[2026-10-20 11:19:18,765.765 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:19:19,015.015 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:19:19,021.021 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:19:19,240.240 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:19:19,257.257 INFO    ] time= 20/10/2026 11:19:19
[2026-10-20 11:19:19,274.274 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:19:19,292.292 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:19:19,458.458 INFO    ] No existing commands found in stream
[2026-10-20 11:19:24,488.488 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:19:24,491.491 INFO    ] Waiting 3.05 seconds before fallback handling...
[2026-10-20 11:19:28,114.114 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:19:28,117.117 INFO    ] Checking for system updates...
[2026-10-20 11:19:28,156.156 INFO    ] 200
[2026-10-20 11:19:28,159.159 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:19:28,243.243 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:19:28,245.245 INFO    ] No update needed
[2026-10-20 11:19:28,247.247 INFO    ] Checking for camera pi updates...
[2026-10-20 11:19:28,281.281 INFO    ] 200
[2026-10-20 11:19:28,283.283 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:19:28,327.327 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:19:28,376.376 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:19:28,379.379 INFO    ] No camera update needed
[2026-10-20 11:19:28,381.381 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:19:28,383.383 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:19:28,389.389 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:19:28,394.394 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:19:30,432.432 INFO    ] ================================================
[2026-10-20 11:19:30,447.447 INFO    ] Launching Daemon at Tue Oct 20 11:19:30 IST 2026
[2026-10-20 11:19:30,458.458 INFO    ] ================================================
[2026-10-20 11:19:31,032.032 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:19:31
[2026-10-20 11:19:31,641.641 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:19:31,908.908 INFO    ] Initializing speech engine...
[2026-10-20 11:19:31,932.932 INFO    ] 2026-10-20 11:19:31
[2026-10-20 11:19:32,215.215 INFO    ] 2026-10-20 11:19:32
[2026-10-20 11:19:32,276.276 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:19:32,555.555 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:19:32,575.575 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:19:32,781.781 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:19:32,788.788 INFO    ] time= 20/10/2026 11:19:32
[2026-10-20 11:19:32,803.803 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:19:32,812.812 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:19:32,949.949 INFO    ] No existing commands found in stream
[2026-10-20 11:19:37,974.974 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:19:37,977.977 INFO    ] Waiting 2.59 seconds before fallback handling...
[2026-10-20 11:19:41,036.036 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:19:41,039.039 INFO    ] Checking for system updates...
[2026-10-20 11:19:41,075.075 INFO    ] 200
[2026-10-20 11:19:41,078.078 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:19:41,135.135 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:19:41,137.137 INFO    ] No update needed
[2026-10-20 11:19:41,140.140 INFO    ] Checking for camera pi updates...
[2026-10-20 11:19:41,174.174 INFO    ] 200
[2026-10-20 11:19:41,176.176 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:19:41,216.216 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:19:41,265.265 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:19:41,268.268 INFO    ] No camera update needed
[2026-10-20 11:19:41,270.270 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:19:41,272.272 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:19:41,278.278 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:19:41,283.283 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:19:43,322.322 INFO    ] ================================================
[2026-10-20 11:19:43,337.337 INFO    ] Launching Daemon at Tue Oct 20 11:19:43 IST 2026
[2026-10-20 11:19:43,348.348 INFO    ] ================================================
[2026-10-20 11:19:43,920.920 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:19:43
[2026-10-20 11:19:44,509.509 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:19:44,777.777 INFO    ] Initializing speech engine...
[2026-10-20 11:19:44,786.786 INFO    ] 2026-10-20 11:19:44
[2026-10-20 11:19:45,032.032 INFO    ] 2026-10-20 11:19:45
[2026-10-20 11:19:45,067.067 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:19:45,299.299 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:19:45,321.321 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:19:45,480.480 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:19:45,536.536 INFO    ] time= 20/10/2026 11:19:45
[2026-10-20 11:19:45,586.586 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:19:45,592.592 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:19:45,736.736 INFO    ] No existing commands found in stream
[2026-10-20 11:19:50,749.749 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:19:50,752.752 INFO    ] Waiting 1.17 seconds before fallback handling...
[2026-10-20 11:19:52,400.400 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 11:19:52,403.403 INFO    ] Checking for system updates...
[2026-10-20 11:19:52,439.439 INFO    ] 200
[2026-10-20 11:19:52,442.442 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:19:52,500.500 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:19:52,502.502 INFO    ] No update needed
[2026-10-20 11:19:52,505.505 INFO    ] Checking for camera pi updates...
[2026-10-20 11:19:52,542.542 INFO    ] 200
[2026-10-20 11:19:52,544.544 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:19:52,586.586 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:19:52,730.730 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:19:52,733.733 INFO    ] No camera update needed
[2026-10-20 11:19:52,735.735 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:19:52,738.738 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:19:52,744.744 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:19:52,750.750 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:19:54,789.789 INFO    ] ================================================
[2026-10-20 11:19:54,804.804 INFO    ] Launching Daemon at Tue Oct 20 11:19:54 IST 2026
[2026-10-20 11:19:54,815.815 INFO    ] ================================================
[2026-10-20 11:19:55,380.380 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:19:55
[2026-10-20 11:19:55,965.965 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:19:56,239.239 INFO    ] Initializing speech engine...
[2026-10-20 11:19:56,253.253 INFO    ] 2026-10-20 11:19:56
[2026-10-20 11:19:56,514.514 INFO    ] 2026-10-20 11:19:56
[2026-10-20 11:19:56,551.551 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:19:56,771.771 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:19:56,835.835 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:19:56,996.996 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:19:57,061.061 INFO    ] time= 20/10/2026 11:19:57
[2026-10-20 11:19:57,120.120 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:19:57,136.136 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:19:57,259.259 INFO    ] No existing commands found in stream
[2026-10-20 11:20:02,282.282 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:20:02,287.287 INFO    ] Waiting 0.49 seconds before fallback handling...
[2026-10-20 11:20:04,028.028 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:20:04,031.031 INFO    ] Checking for system updates...
[2026-10-20 11:20:04,066.066 INFO    ] 200
[2026-10-20 11:20:04,068.068 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:20:04,120.120 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:20:04,122.122 INFO    ] No update needed
[2026-10-20 11:20:04,125.125 INFO    ] Checking for camera pi updates...
[2026-10-20 11:20:04,161.161 INFO    ] 200
[2026-10-20 11:20:04,164.164 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:20:04,203.203 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:20:04,248.248 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:20:04,251.251 INFO    ] No camera update needed
[2026-10-20 11:20:04,253.253 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:20:04,255.255 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:20:04,261.261 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:20:04,266.266 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:20:06,306.306 INFO    ] ================================================
[2026-10-20 11:20:06,322.322 INFO    ] Launching Daemon at Tue Oct 20 11:20:06 IST 2026
[2026-10-20 11:20:06,333.333 INFO    ] ================================================
[2026-10-20 11:20:06,982.982 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:20:06
[2026-10-20 11:20:07,651.651 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:20:07,928.928 INFO    ] Initializing speech engine...
[2026-10-20 11:20:07,942.942 INFO    ] 2026-10-20 11:20:07
[2026-10-20 11:20:08,233.233 INFO    ] 2026-10-20 11:20:08
[2026-10-20 11:20:08,287.287 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:20:08,517.517 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:20:08,523.523 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:20:08,747.747 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:20:08,781.781 INFO    ] time= 20/10/2026 11:20:08
[2026-10-20 11:20:08,799.799 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:20:08,809.809 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:20:08,942.942 INFO    ] No existing commands found in stream
[2026-10-20 11:20:13,973.973 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:20:13,976.976 INFO    ] Waiting 2.68 seconds before fallback handling...
[2026-10-20 11:20:17,163.163 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:20:17,166.166 INFO    ] Checking for system updates...
[2026-10-20 11:20:17,201.201 INFO    ] 200
[2026-10-20 11:20:17,204.204 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:20:17,256.256 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:20:17,258.258 INFO    ] No update needed
[2026-10-20 11:20:17,261.261 INFO    ] Checking for camera pi updates...
[2026-10-20 11:20:17,294.294 INFO    ] 200
[2026-10-20 11:20:17,297.297 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:20:17,337.337 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:20:17,385.385 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:20:17,387.387 INFO    ] No camera update needed
[2026-10-20 11:20:17,390.390 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:20:17,392.392 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:20:17,397.397 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:20:17,402.402 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:20:19,442.442 INFO    ] ================================================
[2026-10-20 11:20:19,457.457 INFO    ] Launching Daemon at Tue Oct 20 11:20:19 IST 2026
[2026-10-20 11:20:19,468.468 INFO    ] ================================================
[2026-10-20 11:20:20,040.040 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:20:20
[2026-10-20 11:20:20,627.627 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:20:20,896.896 INFO    ] Initializing speech engine...
[2026-10-20 11:20:20,905.905 INFO    ] 2026-10-20 11:20:20
[2026-10-20 11:20:21,153.153 INFO    ] 2026-10-20 11:20:21
[2026-10-20 11:20:21,188.188 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:20:21,427.427 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:20:21,449.449 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:20:21,657.657 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:20:21,709.709 INFO    ] time= 20/10/2026 11:20:21
[2026-10-20 11:20:21,716.716 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:20:21,736.736 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:20:21,850.850 INFO    ] No existing commands found in stream
[2026-10-20 11:20:26,874.874 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:20:26,877.877 INFO    ] Waiting 2.42 seconds before fallback handling...
[2026-10-20 11:20:29,766.766 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:20:29,768.768 INFO    ] Checking for system updates...
[2026-10-20 11:20:29,804.804 INFO    ] 200
[2026-10-20 11:20:29,806.806 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:20:29,858.858 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:20:29,860.860 INFO    ] No update needed
[2026-10-20 11:20:29,863.863 INFO    ] Checking for camera pi updates...
[2026-10-20 11:20:29,896.896 INFO    ] 200
[2026-10-20 11:20:29,898.898 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:20:29,939.939 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:20:29,993.993 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:20:29,995.995 INFO    ] No camera update needed
[2026-10-20 11:20:29,998.998 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:20:30,000.000 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:20:30,005.005 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:20:30,011.011 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:20:32,051.051 INFO    ] ================================================
[2026-10-20 11:20:32,072.072 INFO    ] Launching Daemon at Tue Oct 20 11:20:32 IST 2026
[2026-10-20 11:20:32,084.084 INFO    ] ================================================
[2026-10-20 11:20:32,752.752 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:20:32
[2026-10-20 11:20:33,402.402 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:20:33,698.698 INFO    ] Initializing speech engine...
[2026-10-20 11:20:33,707.707 INFO    ] 2026-10-20 11:20:33
[2026-10-20 11:20:34,020.020 INFO    ] 2026-10-20 11:20:33
[2026-10-20 11:20:34,101.101 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:20:34,281.281 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:20:34,289.289 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:20:34,491.491 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:20:34,530.530 INFO    ] time= 20/10/2026 11:20:34
[2026-10-20 11:20:34,547.547 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:20:34,578.578 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:20:34,695.695 INFO    ] No existing commands found in stream
[2026-10-20 11:20:39,720.720 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:20:39,723.723 INFO    ] Waiting 0.23 seconds before fallback handling...
[2026-10-20 11:20:40,461.461 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:20:40,464.464 INFO    ] Checking for system updates...
[2026-10-20 11:20:40,503.503 INFO    ] 200
[2026-10-20 11:20:40,506.506 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:20:40,559.559 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:20:40,562.562 INFO    ] No update needed
[2026-10-20 11:20:40,565.565 INFO    ] Checking for camera pi updates...
[2026-10-20 11:20:40,598.598 INFO    ] 200
[2026-10-20 11:20:40,601.601 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:20:40,645.645 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:20:40,690.690 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:20:40,692.692 INFO    ] No camera update needed
[2026-10-20 11:20:40,695.695 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:20:40,697.697 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:20:40,704.704 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:20:40,710.710 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:20:42,750.750 INFO    ] ================================================
[2026-10-20 11:20:42,765.765 INFO    ] Launching Daemon at Tue Oct 20 11:20:42 IST 2026
[2026-10-20 11:20:42,776.776 INFO    ] ================================================
[2026-10-20 11:20:43,405.405 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:20:43
[2026-10-20 11:20:44,052.052 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:20:44,345.345 INFO    ] Initializing speech engine...
[2026-10-20 11:20:44,351.351 INFO    ] 2026-10-20 11:20:44
[2026-10-20 11:20:44,619.619 INFO    ] 2026-10-20 11:20:44
[2026-10-20 11:20:44,677.677 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:20:44,904.904 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:20:44,909.909 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:20:45,119.119 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:20:45,167.167 INFO    ] time= 20/10/2026 11:20:45
[2026-10-20 11:20:45,185.185 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:20:45,194.194 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:20:45,322.322 INFO    ] No existing commands found in stream
[2026-10-20 11:20:50,335.335 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:20:50,338.338 INFO    ] Waiting 2.19 seconds before fallback handling...
[2026-10-20 11:20:52,996.996 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:20:52,999.999 INFO    ] Checking for system updates...
[2026-10-20 11:20:53,038.038 INFO    ] 200
[2026-10-20 11:20:53,041.041 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:20:53,094.094 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:20:53,097.097 INFO    ] No update needed
[2026-10-20 11:20:53,099.099 INFO    ] Checking for camera pi updates...
[2026-10-20 11:20:53,133.133 INFO    ] 200
[2026-10-20 11:20:53,136.136 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:20:53,178.178 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:20:53,223.223 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:20:53,225.225 INFO    ] No camera update needed
[2026-10-20 11:20:53,228.228 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:20:53,231.231 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:20:53,237.237 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:20:53,242.242 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:20:55,284.284 INFO    ] ================================================
[2026-10-20 11:20:55,299.299 INFO    ] Launching Daemon at Tue Oct 20 11:20:55 IST 2026
[2026-10-20 11:20:55,310.310 INFO    ] ================================================
[2026-10-20 11:20:55,877.877 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:20:55
[2026-10-20 11:20:56,463.463 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:20:56,711.711 INFO    ] Initializing speech engine...
[2026-10-20 11:20:56,718.718 INFO    ] 2026-10-20 11:20:56
[2026-10-20 11:20:57,009.009 INFO    ] 2026-10-20 11:20:56
[2026-10-20 11:20:57,043.043 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:20:57,237.237 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:20:57,252.252 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:20:57,414.414 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:20:57,418.418 INFO    ] time= 20/10/2026 11:20:57
[2026-10-20 11:20:57,425.425 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:20:57,481.481 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:20:57,617.617 INFO    ] No existing commands found in stream
[2026-10-20 11:21:02,641.641 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:21:02,644.644 INFO    ] Waiting 0.67 seconds before fallback handling...
[2026-10-20 11:21:03,815.815 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:21:03,817.817 INFO    ] Checking for system updates...
[2026-10-20 11:21:03,852.852 INFO    ] 200
[2026-10-20 11:21:03,855.855 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:21:03,910.910 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:21:03,913.913 INFO    ] No update needed
[2026-10-20 11:21:03,915.915 INFO    ] Checking for camera pi updates...
[2026-10-20 11:21:03,948.948 INFO    ] 200
[2026-10-20 11:21:03,951.951 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:21:03,990.990 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:21:04,042.042 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:21:04,044.044 INFO    ] No camera update needed
[2026-10-20 11:21:04,047.047 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:21:04,049.049 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:21:04,054.054 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:21:04,060.060 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:21:06,101.101 INFO    ] ================================================
[2026-10-20 11:21:06,116.116 INFO    ] Launching Daemon at Tue Oct 20 11:21:06 IST 2026
[2026-10-20 11:21:06,126.126 INFO    ] ================================================
[2026-10-20 11:21:06,691.691 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:21:06
[2026-10-20 11:21:07,275.275 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:21:07,542.542 INFO    ] Initializing speech engine...
[2026-10-20 11:21:07,561.561 INFO    ] 2026-10-20 11:21:07
[2026-10-20 11:21:07,820.820 INFO    ] 2026-10-20 11:21:07
[2026-10-20 11:21:07,855.855 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:21:08,071.071 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:21:08,118.118 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:21:08,289.289 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:21:08,337.337 INFO    ] time= 20/10/2026 11:21:08
[2026-10-20 11:21:08,391.391 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:21:08,434.434 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:21:08,565.565 INFO    ] No existing commands found in stream
[2026-10-20 11:21:13,595.595 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:21:13,598.598 INFO    ] Waiting 3.14 seconds before fallback handling...
[2026-10-20 11:21:17,197.197 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 11:21:17,200.200 INFO    ] Checking for system updates...
[2026-10-20 11:21:17,235.235 INFO    ] 200
[2026-10-20 11:21:17,238.238 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:21:17,291.291 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:21:17,293.293 INFO    ] No update needed
[2026-10-20 11:21:17,296.296 INFO    ] Checking for camera pi updates...
[2026-10-20 11:21:17,333.333 INFO    ] 200
[2026-10-20 11:21:17,335.335 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:21:17,375.375 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:21:17,422.422 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:21:17,425.425 INFO    ] No camera update needed
[2026-10-20 11:21:17,427.427 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:21:17,429.429 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:21:17,435.435 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:21:17,439.439 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:21:19,478.478 INFO    ] ================================================
[2026-10-20 11:21:19,493.493 INFO    ] Launching Daemon at Tue Oct 20 11:21:19 IST 2026
[2026-10-20 11:21:19,504.504 INFO    ] ================================================
[2026-10-20 11:21:20,068.068 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:21:20
[2026-10-20 11:21:20,653.653 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:21:20,904.904 INFO    ] Initializing speech engine...
[2026-10-20 11:21:20,912.912 INFO    ] 2026-10-20 11:21:20
[2026-10-20 11:21:21,205.205 INFO    ] 2026-10-20 11:21:21
[2026-10-20 11:21:21,248.248 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:21:21,449.449 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:21:21,459.459 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:21:21,611.611 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:21:21,616.616 INFO    ] time= 20/10/2026 11:21:21
[2026-10-20 11:21:21,623.623 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:21:21,654.654 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:21:21,790.790 INFO    ] No existing commands found in stream
[2026-10-20 11:21:26,815.815 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:21:26,817.817 INFO    ] Waiting 2.67 seconds before fallback handling...
[2026-10-20 11:21:29,968.968 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 11:21:29,971.971 INFO    ] Checking for system updates...
[2026-10-20 11:21:30,007.007 INFO    ] 200
[2026-10-20 11:21:30,010.010 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:21:30,063.063 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:21:30,065.065 INFO    ] No update needed
[2026-10-20 11:21:30,068.068 INFO    ] Checking for camera pi updates...
[2026-10-20 11:21:30,102.102 INFO    ] 200
[2026-10-20 11:21:30,105.105 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:21:30,150.150 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:21:30,194.194 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:21:30,197.197 INFO    ] No camera update needed
[2026-10-20 11:21:30,199.199 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:21:30,202.202 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:21:30,208.208 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:21:30,213.213 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:21:32,255.255 INFO    ] ================================================
[2026-10-20 11:21:32,271.271 INFO    ] Launching Daemon at Tue Oct 20 11:21:32 IST 2026
[2026-10-20 11:21:32,282.282 INFO    ] ================================================
[2026-10-20 11:21:32,888.888 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:21:32
[2026-10-20 11:21:33,473.473 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:21:33,741.741 INFO    ] Initializing speech engine...
[2026-10-20 11:21:33,750.750 INFO    ] 2026-10-20 11:21:33
[2026-10-20 11:21:33,994.994 INFO    ] 2026-10-20 11:21:33
[2026-10-20 11:21:34,028.028 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:21:34,224.224 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:21:34,281.281 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:21:34,503.503 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:21:34,545.545 INFO    ] time= 20/10/2026 11:21:34
[2026-10-20 11:21:34,551.551 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:21:34,569.569 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:21:34,683.683 INFO    ] No existing commands found in stream
[2026-10-20 11:21:39,707.707 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:21:39,710.710 INFO    ] Waiting 0.82 seconds before fallback handling...
[2026-10-20 11:21:41,009.009 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:21:41,012.012 INFO    ] Checking for system updates...
[2026-10-20 11:21:41,048.048 INFO    ] 200
[2026-10-20 11:21:41,051.051 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:21:41,104.104 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:21:41,106.106 INFO    ] No update needed
[2026-10-20 11:21:41,109.109 INFO    ] Checking for camera pi updates...
[2026-10-20 11:21:41,145.145 INFO    ] 200
[2026-10-20 11:21:41,147.147 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:21:41,187.187 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:21:41,236.236 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:21:41,239.239 INFO    ] No camera update needed
[2026-10-20 11:21:41,241.241 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:21:41,243.243 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:21:41,249.249 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:21:41,253.253 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:21:43,293.293 INFO    ] ================================================
[2026-10-20 11:21:43,307.307 INFO    ] Launching Daemon at Tue Oct 20 11:21:43 IST 2026
[2026-10-20 11:21:43,318.318 INFO    ] ================================================
[2026-10-20 11:21:43,884.884 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:21:43
[2026-10-20 11:21:44,466.466 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:21:44,733.733 INFO    ] Initializing speech engine...
[2026-10-20 11:21:44,744.744 INFO    ] 2026-10-20 11:21:44
[2026-10-20 11:21:44,988.988 INFO    ] 2026-10-20 11:21:44
[2026-10-20 11:21:45,022.022 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:21:45,273.273 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:21:45,282.282 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:21:45,422.422 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:21:45,477.477 INFO    ] time= 20/10/2026 11:21:45
[2026-10-20 11:21:45,531.531 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:21:45,548.548 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:21:45,680.680 INFO    ] No existing commands found in stream
[2026-10-20 11:21:50,704.704 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:21:50,707.707 INFO    ] Waiting 2.65 seconds before fallback handling...
[2026-10-20 11:21:53,863.863 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:21:53,866.866 INFO    ] Checking for system updates...
[2026-10-20 11:21:53,904.904 INFO    ] 200
[2026-10-20 11:21:53,906.906 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:21:53,962.962 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:21:53,964.964 INFO    ] No update needed
[2026-10-20 11:21:53,967.967 INFO    ] Checking for camera pi updates...
[2026-10-20 11:21:54,002.002 INFO    ] 200
[2026-10-20 11:21:54,005.005 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:21:54,051.051 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:21:54,196.196 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:21:54,199.199 INFO    ] No camera update needed
[2026-10-20 11:21:54,202.202 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:21:54,205.205 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:21:54,211.211 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:21:54,217.217 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:21:56,257.257 INFO    ] ================================================
[2026-10-20 11:21:56,272.272 INFO    ] Launching Daemon at Tue Oct 20 11:21:56 IST 2026
[2026-10-20 11:21:56,283.283 INFO    ] ================================================
[2026-10-20 11:21:56,848.848 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:21:56
[2026-10-20 11:21:57,433.433 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:21:57,702.702 INFO    ] Initializing speech engine...
[2026-10-20 11:21:57,711.711 INFO    ] 2026-10-20 11:21:57
[2026-10-20 11:21:57,957.957 INFO    ] 2026-10-20 11:21:57
[2026-10-20 11:21:57,991.991 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:21:58,190.190 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:21:58,248.248 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:21:58,452.452 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:21:58,507.507 INFO    ] time= 20/10/2026 11:21:58
[2026-10-20 11:21:58,517.517 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:21:58,523.523 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:21:58,668.668 INFO    ] No existing commands found in stream
[2026-10-20 11:22:03,681.681 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:22:03,684.684 INFO    ] Waiting 3.36 seconds before fallback handling...
[2026-10-20 11:22:07,551.551 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 11:22:07,554.554 INFO    ] Checking for system updates...
[2026-10-20 11:22:07,593.593 INFO    ] 200
[2026-10-20 11:22:07,596.596 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:22:07,648.648 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:22:07,650.650 INFO    ] No update needed
[2026-10-20 11:22:07,653.653 INFO    ] Checking for camera pi updates...
[2026-10-20 11:22:07,687.687 INFO    ] 200
[2026-10-20 11:22:07,689.689 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:22:07,730.730 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:22:07,772.772 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:22:07,774.774 INFO    ] No camera update needed
[2026-10-20 11:22:07,777.777 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:22:07,779.779 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:22:07,784.784 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:22:07,789.789 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:22:09,832.832 INFO    ] ================================================
[2026-10-20 11:22:09,849.849 INFO    ] Launching Daemon at Tue Oct 20 11:22:09 IST 2026
[2026-10-20 11:22:09,859.859 INFO    ] ================================================
[2026-10-20 11:22:10,514.514 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:22:10
[2026-10-20 11:22:11,191.191 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:22:11,500.500 INFO    ] Initializing speech engine...
[2026-10-20 11:22:11,512.512 INFO    ] 2026-10-20 11:22:11
[2026-10-20 11:22:11,821.821 INFO    ] 2026-10-20 11:22:11
[2026-10-20 11:22:11,910.910 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:22:12,123.123 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:22:12,129.129 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:22:12,324.324 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:22:12,332.332 INFO    ] time= 20/10/2026 11:22:12
[2026-10-20 11:22:12,350.350 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:22:12,368.368 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:22:12,512.512 INFO    ] No existing commands found in stream
[2026-10-20 11:22:17,538.538 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:22:17,541.541 INFO    ] Waiting 2.76 seconds before fallback handling...
[2026-10-20 11:22:20,776.776 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:22:20,779.779 INFO    ] Checking for system updates...
[2026-10-20 11:22:20,816.816 INFO    ] 200
[2026-10-20 11:22:20,819.819 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:22:20,875.875 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:22:20,879.879 INFO    ] No update needed
[2026-10-20 11:22:20,882.882 INFO    ] Checking for camera pi updates...
[2026-10-20 11:22:20,929.929 INFO    ] 200
[2026-10-20 11:22:20,932.932 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:22:20,979.979 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:22:21,014.014 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:22:21,016.016 INFO    ] No camera update needed
[2026-10-20 11:22:21,019.019 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:22:21,022.022 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:22:21,028.028 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:22:21,034.034 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:22:23,076.076 INFO    ] ================================================
[2026-10-20 11:22:23,091.091 INFO    ] Launching Daemon at Tue Oct 20 11:22:23 IST 2026
[2026-10-20 11:22:23,103.103 INFO    ] ================================================
[2026-10-20 11:22:23,670.670 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:22:23
[2026-10-20 11:22:24,260.260 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:22:24,510.510 INFO    ] Initializing speech engine...
[2026-10-20 11:22:24,524.524 INFO    ] 2026-10-20 11:22:24
[2026-10-20 11:22:24,789.789 INFO    ] 2026-10-20 11:22:24
[2026-10-20 11:22:24,824.824 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:22:25,029.029 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:22:25,036.036 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:22:25,232.232 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:22:25,297.297 INFO    ] time= 20/10/2026 11:22:25
[2026-10-20 11:22:25,359.359 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:22:25,365.365 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:22:25,491.491 INFO    ] No existing commands found in stream
[2026-10-20 11:22:30,518.518 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:22:30,521.521 INFO    ] Waiting 0.80 seconds before fallback handling...
[2026-10-20 11:22:31,833.833 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:22:31,836.836 INFO    ] Checking for system updates...
[2026-10-20 11:22:31,876.876 INFO    ] 200
[2026-10-20 11:22:31,880.880 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:22:31,944.944 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:22:31,947.947 INFO    ] No update needed
[2026-10-20 11:22:31,950.950 INFO    ] Checking for camera pi updates...
[2026-10-20 11:22:31,987.987 INFO    ] 200
[2026-10-20 11:22:31,991.991 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:22:32,063.063 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:22:32,104.104 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:22:32,107.107 INFO    ] No camera update needed
[2026-10-20 11:22:32,111.111 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:22:32,114.114 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:22:32,126.126 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:22:32,134.134 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:22:34,175.175 INFO    ] ================================================
[2026-10-20 11:22:34,191.191 INFO    ] Launching Daemon at Tue Oct 20 11:22:34 IST 2026
[2026-10-20 11:22:34,202.202 INFO    ] ================================================
[2026-10-20 11:22:34,771.771 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:22:34
[2026-10-20 11:22:35,358.358 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:22:35,610.610 INFO    ] Initializing speech engine...
[2026-10-20 11:22:35,615.615 INFO    ] 2026-10-20 11:22:35
[2026-10-20 11:22:35,913.913 INFO    ] 2026-10-20 11:22:35
[2026-10-20 11:22:35,947.947 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:22:36,149.149 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:22:36,163.163 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:22:36,328.328 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:22:36,336.336 INFO    ] time= 20/10/2026 11:22:36
[2026-10-20 11:22:36,341.341 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:22:36,348.348 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:22:36,465.465 INFO    ] No existing commands found in stream
[2026-10-20 11:22:41,500.500 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:22:41,503.503 INFO    ] Waiting 1.28 seconds before fallback handling...
[2026-10-20 11:22:43,225.225 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:22:43,227.227 INFO    ] Checking for system updates...
[2026-10-20 11:22:43,263.263 INFO    ] 200
[2026-10-20 11:22:43,265.265 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:22:43,324.324 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:22:43,327.327 INFO    ] No update needed
[2026-10-20 11:22:43,329.329 INFO    ] Checking for camera pi updates...
[2026-10-20 11:22:43,372.372 INFO    ] 200
[2026-10-20 11:22:43,374.374 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:22:43,415.415 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:22:43,451.451 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:22:43,453.453 INFO    ] No camera update needed
[2026-10-20 11:22:43,456.456 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:22:43,458.458 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:22:43,463.463 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:22:43,468.468 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:22:45,515.515 INFO    ] ================================================
[2026-10-20 11:22:45,531.531 INFO    ] Launching Daemon at Tue Oct 20 11:22:45 IST 2026
[2026-10-20 11:22:45,542.542 INFO    ] ================================================
[2026-10-20 11:22:46,109.109 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:22:46
[2026-10-20 11:22:46,693.693 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:22:46,951.951 INFO    ] Initializing speech engine...
[2026-10-20 11:22:46,960.960 INFO    ] 2026-10-20 11:22:46
[2026-10-20 11:22:47,255.255 INFO    ] 2026-10-20 11:22:47
[2026-10-20 11:22:47,291.291 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:22:47,490.490 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:22:47,495.495 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:22:47,632.632 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:22:47,637.637 INFO    ] time= 20/10/2026 11:22:47
[2026-10-20 11:22:47,658.658 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:22:47,680.680 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:22:47,762.762 INFO    ] No existing commands found in stream
[2026-10-20 11:22:52,774.774 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:22:52,777.777 INFO    ] Waiting 2.25 seconds before fallback handling...
[2026-10-20 11:22:55,503.503 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:22:55,505.505 INFO    ] Checking for system updates...
[2026-10-20 11:22:55,545.545 INFO    ] 200
[2026-10-20 11:22:55,547.547 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:22:55,606.606 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:22:55,608.608 INFO    ] No update needed
[2026-10-20 11:22:55,611.611 INFO    ] Checking for camera pi updates...
[2026-10-20 11:22:55,644.644 INFO    ] 200
[2026-10-20 11:22:55,646.646 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:22:55,686.686 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:22:55,742.742 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:22:55,745.745 INFO    ] No camera update needed
[2026-10-20 11:22:55,747.747 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:22:55,750.750 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:22:55,755.755 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:22:55,760.760 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:22:57,799.799 INFO    ] ================================================
[2026-10-20 11:22:57,814.814 INFO    ] Launching Daemon at Tue Oct 20 11:22:57 IST 2026
[2026-10-20 11:22:57,825.825 INFO    ] ================================================
[2026-10-20 11:22:58,390.390 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:22:58
[2026-10-20 11:22:58,973.973 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:22:59,244.244 INFO    ] Initializing speech engine...
[2026-10-20 11:22:59,250.250 INFO    ] 2026-10-20 11:22:59
[2026-10-20 11:22:59,508.508 INFO    ] 2026-10-20 11:22:59
[2026-10-20 11:22:59,537.537 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:22:59,780.780 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:22:59,790.790 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:22:59,969.969 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:23:00,047.047 INFO    ] time= 20/10/2026 11:22:59
[2026-10-20 11:23:00,053.053 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:23:00,074.074 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:23:00,161.161 INFO    ] No existing commands found in stream
[2026-10-20 11:23:05,171.171 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:23:05,173.173 INFO    ] Waiting 1.64 seconds before fallback handling...
[2026-10-20 11:23:07,349.349 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 11:23:07,351.351 INFO    ] Checking for system updates...
[2026-10-20 11:23:07,387.387 INFO    ] 200
[2026-10-20 11:23:07,390.390 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:23:07,447.447 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:23:07,450.450 INFO    ] No update needed
[2026-10-20 11:23:07,452.452 INFO    ] Checking for camera pi updates...
[2026-10-20 11:23:07,485.485 INFO    ] 200
[2026-10-20 11:23:07,488.488 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:23:07,528.528 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:23:07,570.570 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:23:07,573.573 INFO    ] No camera update needed
[2026-10-20 11:23:07,575.575 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:23:07,577.577 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:23:07,583.583 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:23:07,587.587 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:23:09,629.629 INFO    ] ================================================
[2026-10-20 11:23:09,645.645 INFO    ] Launching Daemon at Tue Oct 20 11:23:09 IST 2026
[2026-10-20 11:23:09,656.656 INFO    ] ================================================
[2026-10-20 11:23:10,225.225 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:23:10
[2026-10-20 11:23:10,808.808 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:23:11,079.079 INFO    ] Initializing speech engine...
[2026-10-20 11:23:11,088.088 INFO    ] 2026-10-20 11:23:11
[2026-10-20 11:23:11,337.337 INFO    ] 2026-10-20 11:23:11
[2026-10-20 11:23:11,372.372 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:23:11,759.759 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:23:11,776.776 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:23:11,945.945 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:23:11,953.953 INFO    ] time= 20/10/2026 11:23:11
[2026-10-20 11:23:11,959.959 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:23:11,994.994 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:23:12,139.139 INFO    ] No existing commands found in stream
[2026-10-20 11:23:17,170.170 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:23:17,172.172 INFO    ] Waiting 3.99 seconds before fallback handling...
[2026-10-20 11:23:21,661.661 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 11:23:21,663.663 INFO    ] Checking for system updates...
[2026-10-20 11:23:21,698.698 INFO    ] 200
[2026-10-20 11:23:21,701.701 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:23:21,756.756 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:23:21,759.759 INFO    ] No update needed
[2026-10-20 11:23:21,762.762 INFO    ] Checking for camera pi updates...
[2026-10-20 11:23:21,795.795 INFO    ] 200
[2026-10-20 11:23:21,797.797 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:23:21,837.837 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:23:21,885.885 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:23:21,887.887 INFO    ] No camera update needed
[2026-10-20 11:23:21,889.889 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:23:21,892.892 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:23:21,897.897 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:23:21,902.902 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:23:23,943.943 INFO    ] ================================================
[2026-10-20 11:23:23,958.958 INFO    ] Launching Daemon at Tue Oct 20 11:23:23 IST 2026
[2026-10-20 11:23:23,969.969 INFO    ] ================================================
[2026-10-20 11:23:24,545.545 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:23:24
[2026-10-20 11:23:25,129.129 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:23:25,403.403 INFO    ] Initializing speech engine...
[2026-10-20 11:23:25,420.420 INFO    ] 2026-10-20 11:23:25
[2026-10-20 11:23:25,670.670 INFO    ] 2026-10-20 11:23:25
[2026-10-20 11:23:25,724.724 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:23:25,942.942 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:23:25,952.952 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:23:26,165.165 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:23:26,210.210 INFO    ] time= 20/10/2026 11:23:26
[2026-10-20 11:23:26,216.216 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:23:26,236.236 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:23:26,360.360 INFO    ] No existing commands found in stream
[2026-10-20 11:23:31,374.374 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:23:31,381.381 INFO    ] Waiting 2.81 seconds before fallback handling...
[2026-10-20 11:23:34,692.692 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:23:34,694.694 INFO    ] Checking for system updates...
[2026-10-20 11:23:34,733.733 INFO    ] 200
[2026-10-20 11:23:34,735.735 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:23:34,788.788 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:23:34,790.790 INFO    ] No update needed
[2026-10-20 11:23:34,793.793 INFO    ] Checking for camera pi updates...
[2026-10-20 11:23:34,837.837 INFO    ] 200
[2026-10-20 11:23:34,840.840 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:23:34,880.880 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:23:34,911.911 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:23:34,913.913 INFO    ] No camera update needed
[2026-10-20 11:23:34,916.916 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:23:34,918.918 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:23:34,923.923 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:23:34,928.928 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:23:36,969.969 INFO    ] ================================================
[2026-10-20 11:23:36,985.985 INFO    ] Launching Daemon at Tue Oct 20 11:23:36 IST 2026
[2026-10-20 11:23:37,996.996 INFO    ] ================================================
[2026-10-20 11:23:37,560.560 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:23:37
[2026-10-20 11:23:38,142.142 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:23:38,410.410 INFO    ] Initializing speech engine...
[2026-10-20 11:23:38,419.419 INFO    ] 2026-10-20 11:23:38
[2026-10-20 11:23:38,664.664 INFO    ] 2026-10-20 11:23:38
[2026-10-20 11:23:38,698.698 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:23:38,950.950 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:23:38,959.959 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:23:39,134.134 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:23:39,194.194 INFO    ] time= 20/10/2026 11:23:39
[2026-10-20 11:23:39,220.220 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:23:39,226.226 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:23:39,350.350 INFO    ] No existing commands found in stream
[2026-10-20 11:23:44,377.377 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:23:44,380.380 INFO    ] Waiting 1.28 seconds before fallback handling...
[2026-10-20 11:23:46,106.106 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:23:46,109.109 INFO    ] Checking for system updates...
[2026-10-20 11:23:46,147.147 INFO    ] 200
[2026-10-20 11:23:46,150.150 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:23:46,202.202 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:23:46,204.204 INFO    ] No update needed
[2026-10-20 11:23:46,207.207 INFO    ] Checking for camera pi updates...
[2026-10-20 11:23:46,240.240 INFO    ] 200
[2026-10-20 11:23:46,242.242 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:23:46,283.283 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:23:46,335.335 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:23:46,338.338 INFO    ] No camera update needed
[2026-10-20 11:23:46,340.340 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:23:46,343.343 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:23:46,348.348 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:23:46,353.353 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:23:48,392.392 INFO    ] ================================================
[2026-10-20 11:23:48,408.408 INFO    ] Launching Daemon at Tue Oct 20 11:23:48 IST 2026
[2026-10-20 11:23:48,419.419 INFO    ] ================================================
[2026-10-20 11:23:49,005.005 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:23:48
[2026-10-20 11:23:49,600.600 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:23:49,872.872 INFO    ] Initializing speech engine...
[2026-10-20 11:23:49,881.881 INFO    ] 2026-10-20 11:23:49
[2026-10-20 11:23:50,139.139 INFO    ] 2026-10-20 11:23:50
[2026-10-20 11:23:50,172.172 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:23:50,416.416 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:23:50,424.424 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:23:50,570.570 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:23:50,629.629 INFO    ] time= 20/10/2026 11:23:50
[2026-10-20 11:23:50,687.687 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:23:50,693.693 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:23:50,837.837 INFO    ] No existing commands found in stream
[2026-10-20 11:23:55,856.856 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:23:55,860.860 INFO    ] Waiting 0.31 seconds before fallback handling...
[2026-10-20 11:23:56,656.656 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 11:23:56,659.659 INFO    ] Checking for system updates...
[2026-10-20 11:23:56,700.700 INFO    ] 200
[2026-10-20 11:23:56,703.703 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:23:56,757.757 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:23:56,760.760 INFO    ] No update needed
[2026-10-20 11:23:56,763.763 INFO    ] Checking for camera pi updates...
[2026-10-20 11:23:56,797.797 INFO    ] 200
[2026-10-20 11:23:56,800.800 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:23:56,840.840 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:23:56,988.988 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:23:56,991.991 INFO    ] No camera update needed
[2026-10-20 11:23:56,994.994 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:23:56,996.996 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:23:57,002.002 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:23:57,008.008 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:23:59,047.047 INFO    ] ================================================
[2026-10-20 11:23:59,063.063 INFO    ] Launching Daemon at Tue Oct 20 11:23:59 IST 2026
[2026-10-20 11:23:59,075.075 INFO    ] ================================================
[2026-10-20 11:23:59,642.642 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:23:59
[2026-10-20 11:24:00,225.225 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:24:00,496.496 INFO    ] Initializing speech engine...
[2026-10-20 11:24:00,505.505 INFO    ] 2026-10-20 11:24:00
[2026-10-20 11:24:00,769.769 INFO    ] 2026-10-20 11:24:00
[2026-10-20 11:24:00,799.799 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:24:01,036.036 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:24:01,058.058 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:24:01,228.228 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:24:01,293.293 INFO    ] time= 20/10/2026 11:24:01
[2026-10-20 11:24:01,328.328 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:24:01,334.334 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:24:01,471.471 INFO    ] No existing commands found in stream
[2026-10-20 11:24:06,486.486 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:24:06,490.490 INFO    ] Waiting 1.42 seconds before fallback handling...
[2026-10-20 11:24:08,369.369 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:24:08,371.371 INFO    ] Checking for system updates...
[2026-10-20 11:24:08,407.407 INFO    ] 200
[2026-10-20 11:24:08,410.410 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:24:08,461.461 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:24:08,464.464 INFO    ] No update needed
[2026-10-20 11:24:08,466.466 INFO    ] Checking for camera pi updates...
[2026-10-20 11:24:08,503.503 INFO    ] 200
[2026-10-20 11:24:08,506.506 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:24:08,552.552 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:24:08,595.595 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:24:08,598.598 INFO    ] No camera update needed
[2026-10-20 11:24:08,600.600 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:24:08,603.603 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:24:08,608.608 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:24:08,613.613 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:24:10,656.656 INFO    ] ================================================
[2026-10-20 11:24:10,673.673 INFO    ] Launching Daemon at Tue Oct 20 11:24:10 IST 2026
[2026-10-20 11:24:10,683.683 INFO    ] ================================================
[2026-10-20 11:24:11,264.264 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:24:11
[2026-10-20 11:24:11,863.863 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:24:12,140.140 INFO    ] Initializing speech engine...
[2026-10-20 11:24:12,148.148 INFO    ] 2026-10-20 11:24:12
[2026-10-20 11:24:12,407.407 INFO    ] 2026-10-20 11:24:12
[2026-10-20 11:24:12,437.437 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:24:12,682.682 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:24:12,692.692 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:24:12,890.890 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:24:12,945.945 INFO    ] time= 20/10/2026 11:24:12
[2026-10-20 11:24:12,956.956 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:24:12,973.973 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:24:13,101.101 INFO    ] No existing commands found in stream
[2026-10-20 11:24:18,116.116 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:24:18,119.119 INFO    ] Waiting 3.24 seconds before fallback handling...
[2026-10-20 11:24:23,203.203 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:24:23,210.210 INFO    ] Checking for system updates...
[2026-10-20 11:24:23,246.246 INFO    ] 200
[2026-10-20 11:24:23,249.249 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:24:23,302.302 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:24:23,304.304 INFO    ] No update needed
[2026-10-20 11:24:23,306.306 INFO    ] Checking for camera pi updates...
[2026-10-20 11:24:23,344.344 INFO    ] 200
[2026-10-20 11:24:23,347.347 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:24:23,389.389 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:24:23,427.427 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:24:23,430.430 INFO    ] No camera update needed
[2026-10-20 11:24:23,433.433 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:24:23,435.435 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:24:23,440.440 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:24:23,445.445 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:24:25,485.485 INFO    ] ================================================
[2026-10-20 11:24:25,501.501 INFO    ] Launching Daemon at Tue Oct 20 11:24:25 IST 2026
[2026-10-20 11:24:25,512.512 INFO    ] ================================================
[2026-10-20 11:24:26,167.167 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:24:26
[2026-10-20 11:24:26,754.754 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:24:27,011.011 INFO    ] Initializing speech engine...
[2026-10-20 11:24:27,024.024 INFO    ] 2026-10-20 11:24:27
[2026-10-20 11:24:27,308.308 INFO    ] 2026-10-20 11:24:27
[2026-10-20 11:24:27,342.342 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:24:27,544.544 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:24:27,556.556 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:24:27,716.716 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:24:27,727.727 INFO    ] time= 20/10/2026 11:24:27
[2026-10-20 11:24:27,731.731 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:24:27,737.737 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:24:27,824.824 INFO    ] No existing commands found in stream
[2026-10-20 11:24:32,854.854 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:24:32,856.856 INFO    ] Waiting 1.72 seconds before fallback handling...
[2026-10-20 11:24:35,053.053 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:24:35,055.055 INFO    ] Checking for system updates...
[2026-10-20 11:24:35,091.091 INFO    ] 200
[2026-10-20 11:24:35,094.094 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:24:35,145.145 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:24:35,147.147 INFO    ] No update needed
[2026-10-20 11:24:35,150.150 INFO    ] Checking for camera pi updates...
[2026-10-20 11:24:35,187.187 INFO    ] 200
[2026-10-20 11:24:35,190.190 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:24:35,234.234 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:24:35,277.277 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:24:35,280.280 INFO    ] No camera update needed
[2026-10-20 11:24:35,282.282 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:24:35,284.284 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:24:35,290.290 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:24:35,295.295 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:24:37,337.337 INFO    ] ================================================
[2026-10-20 11:24:37,352.352 INFO    ] Launching Daemon at Tue Oct 20 11:24:37 IST 2026
[2026-10-20 11:24:37,364.364 INFO    ] ================================================
[2026-10-20 11:24:37,941.941 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:24:37
[2026-10-20 11:24:38,544.544 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:24:38,820.820 INFO    ] Initializing speech engine...
[2026-10-20 11:24:38,830.830 INFO    ] 2026-10-20 11:24:38
[2026-10-20 11:24:39,082.082 INFO    ] 2026-10-20 11:24:39
[2026-10-20 11:24:39,116.116 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:24:39,297.297 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:24:39,309.309 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:24:39,455.455 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:24:39,462.462 INFO    ] time= 20/10/2026 11:24:39
[2026-10-20 11:24:39,496.496 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:24:39,529.529 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:24:39,657.657 INFO    ] No existing commands found in stream
[2026-10-20 11:24:44,668.668 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:24:44,671.671 INFO    ] Waiting 0.77 seconds before fallback handling...
[2026-10-20 11:24:45,927.927 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:24:45,930.930 INFO    ] Checking for system updates...
[2026-10-20 11:24:45,967.967 INFO    ] 200
[2026-10-20 11:24:45,970.970 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:24:46,026.026 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:24:46,029.029 INFO    ] No update needed
[2026-10-20 11:24:46,032.032 INFO    ] Checking for camera pi updates...
[2026-10-20 11:24:46,072.072 INFO    ] 200
[2026-10-20 11:24:46,075.075 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:24:46,121.121 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:24:46,157.157 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:24:46,160.160 INFO    ] No camera update needed
[2026-10-20 11:24:46,163.163 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:24:46,165.165 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:24:46,172.172 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:24:46,177.177 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:24:48,220.220 INFO    ] ================================================
[2026-10-20 11:24:48,235.235 INFO    ] Launching Daemon at Tue Oct 20 11:24:48 IST 2026
[2026-10-20 11:24:48,246.246 INFO    ] ================================================
[2026-10-20 11:24:48,811.811 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:24:48
[2026-10-20 11:24:49,396.396 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:24:49,675.675 INFO    ] Initializing speech engine...
[2026-10-20 11:24:49,689.689 INFO    ] 2026-10-20 11:24:49
[2026-10-20 11:24:49,956.956 INFO    ] 2026-10-20 11:24:49
[2026-10-20 11:24:49,992.992 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:24:50,189.189 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:24:50,202.202 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:24:50,365.365 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:24:50,375.375 INFO    ] time= 20/10/2026 11:24:50
[2026-10-20 11:24:50,380.380 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:24:50,386.386 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:24:50,523.523 INFO    ] No existing commands found in stream
[2026-10-20 11:24:55,542.542 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:24:55,545.545 INFO    ] Waiting 1.02 seconds before fallback handling...
[2026-10-20 11:24:57,090.090 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:24:57,093.093 INFO    ] Checking for system updates...
[2026-10-20 11:24:57,133.133 INFO    ] 200
[2026-10-20 11:24:57,136.136 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:24:57,189.189 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:24:57,192.192 INFO    ] No update needed
[2026-10-20 11:24:57,195.195 INFO    ] Checking for camera pi updates...
[2026-10-20 11:24:57,229.229 INFO    ] 200
[2026-10-20 11:24:57,232.232 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:24:57,277.277 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:24:57,324.324 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:24:57,326.326 INFO    ] No camera update needed
[2026-10-20 11:24:57,329.329 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:24:57,331.331 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:24:57,336.336 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:24:57,341.341 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:24:59,382.382 INFO    ] ================================================
[2026-10-20 11:24:59,397.397 INFO    ] Launching Daemon at Tue Oct 20 11:24:59 IST 2026
[2026-10-20 11:24:59,408.408 INFO    ] ================================================
[2026-10-20 11:25:00,058.058 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:25:00
[2026-10-20 11:25:00,731.731 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:25:01,034.034 INFO    ] Initializing speech engine...
[2026-10-20 11:25:01,041.041 INFO    ] 2026-10-20 11:25:01
[2026-10-20 11:25:01,326.326 INFO    ] 2026-10-20 11:25:01
[2026-10-20 11:25:01,370.370 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:25:01,586.586 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:25:01,601.601 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:25:01,781.781 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:25:01,797.797 INFO    ] time= 20/10/2026 11:25:01
[2026-10-20 11:25:01,801.801 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:25:01,816.816 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:25:01,916.916 INFO    ] No existing commands found in stream
[2026-10-20 11:25:06,929.929 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:25:06,931.931 INFO    ] Waiting 0.54 seconds before fallback handling...
[2026-10-20 11:25:07,917.917 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:25:07,920.920 INFO    ] Checking for system updates...
[2026-10-20 11:25:07,957.957 INFO    ] 200
[2026-10-20 11:25:07,960.960 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:25:08,012.012 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:25:08,015.015 INFO    ] No update needed
[2026-10-20 11:25:08,017.017 INFO    ] Checking for camera pi updates...
[2026-10-20 11:25:08,051.051 INFO    ] 200
[2026-10-20 11:25:08,054.054 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:25:08,094.094 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:25:08,128.128 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:25:08,131.131 INFO    ] No camera update needed
[2026-10-20 11:25:08,133.133 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:25:08,135.135 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:25:08,140.140 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:25:08,145.145 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:25:10,185.185 INFO    ] ================================================
[2026-10-20 11:25:10,201.201 INFO    ] Launching Daemon at Tue Oct 20 11:25:10 IST 2026
[2026-10-20 11:25:10,212.212 INFO    ] ================================================
[2026-10-20 11:25:10,844.844 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:25:10
[2026-10-20 11:25:11,496.496 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:25:11,791.791 INFO    ] Initializing speech engine...
[2026-10-20 11:25:11,800.800 INFO    ] 2026-10-20 11:25:11
[2026-10-20 11:25:12,066.066 INFO    ] 2026-10-20 11:25:12
[2026-10-20 11:25:12,121.121 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:25:12,352.352 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:25:12,373.373 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:25:12,566.566 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:25:12,614.614 INFO    ] time= 20/10/2026 11:25:12
[2026-10-20 11:25:12,633.633 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:25:12,640.640 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:25:12,771.771 INFO    ] No existing commands found in stream
[2026-10-20 11:25:17,784.784 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:25:17,787.787 INFO    ] Waiting 1.75 seconds before fallback handling...
[2026-10-20 11:25:20,079.079 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:25:20,082.082 INFO    ] Checking for system updates...
[2026-10-20 11:25:20,119.119 INFO    ] 200
[2026-10-20 11:25:20,122.122 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:25:20,179.179 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:25:20,182.182 INFO    ] No update needed
[2026-10-20 11:25:20,184.184 INFO    ] Checking for camera pi updates...
[2026-10-20 11:25:20,219.219 INFO    ] 200
[2026-10-20 11:25:20,221.221 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:25:20,262.262 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:25:20,315.315 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:25:20,318.318 INFO    ] No camera update needed
[2026-10-20 11:25:20,320.320 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:25:20,323.323 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:25:20,329.329 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:25:20,334.334 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:25:22,374.374 INFO    ] ================================================
[2026-10-20 11:25:22,390.390 INFO    ] Launching Daemon at Tue Oct 20 11:25:22 IST 2026
[2026-10-20 11:25:22,401.401 INFO    ] ================================================
[2026-10-20 11:25:23,031.031 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:25:23
[2026-10-20 11:25:23,684.684 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:25:23,976.976 INFO    ] Initializing speech engine...
[2026-10-20 11:25:23,983.983 INFO    ] 2026-10-20 11:25:23
[2026-10-20 11:25:24,274.274 INFO    ] 2026-10-20 11:25:24
[2026-10-20 11:25:24,312.312 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:25:24,555.555 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:25:24,562.562 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:25:24,770.770 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:25:24,798.798 INFO    ] time= 20/10/2026 11:25:24
[2026-10-20 11:25:24,816.816 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:25:24,824.824 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:25:24,954.954 INFO    ] No existing commands found in stream
[2026-10-20 11:25:29,977.977 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:25:29,980.980 INFO    ] Waiting 0.79 seconds before fallback handling...
[2026-10-20 11:25:31,239.239 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:25:31,241.241 INFO    ] Checking for system updates...
[2026-10-20 11:25:31,277.277 INFO    ] 200
[2026-10-20 11:25:31,280.280 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:25:31,332.332 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:25:31,334.334 INFO    ] No update needed
[2026-10-20 11:25:31,337.337 INFO    ] Checking for camera pi updates...
[2026-10-20 11:25:31,372.372 INFO    ] 200
[2026-10-20 11:25:31,374.374 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:25:31,420.420 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:25:31,501.501 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:25:31,504.504 INFO    ] No camera update needed
[2026-10-20 11:25:31,506.506 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:25:31,509.509 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:25:31,515.515 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:25:31,520.520 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:25:33,561.561 INFO    ] ================================================
[2026-10-20 11:25:33,576.576 INFO    ] Launching Daemon at Tue Oct 20 11:25:33 IST 2026
[2026-10-20 11:25:33,587.587 INFO    ] ================================================
[2026-10-20 11:25:34,164.164 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:25:34
[2026-10-20 11:25:34,758.758 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:25:35,030.030 INFO    ] Initializing speech engine...
[2026-10-20 11:25:35,038.038 INFO    ] 2026-10-20 11:25:35
[2026-10-20 11:25:35,304.304 INFO    ] 2026-10-20 11:25:35
[2026-10-20 11:25:35,338.338 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:25:35,559.559 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:25:35,594.594 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:25:35,738.738 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:25:35,793.793 INFO    ] time= 20/10/2026 11:25:35
[2026-10-20 11:25:35,858.858 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:25:35,874.874 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:25:36,020.020 INFO    ] No existing commands found in stream
[2026-10-20 11:25:41,034.034 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:25:41,037.037 INFO    ] Waiting 3.79 seconds before fallback handling...
[2026-10-20 11:25:45,301.301 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:25:45,304.304 INFO    ] Checking for system updates...
[2026-10-20 11:25:45,341.341 INFO    ] 200
[2026-10-20 11:25:45,343.343 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:25:45,401.401 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:25:45,404.404 INFO    ] No update needed
[2026-10-20 11:25:45,406.406 INFO    ] Checking for camera pi updates...
[2026-10-20 11:25:45,441.441 INFO    ] 200
[2026-10-20 11:25:45,444.444 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:25:45,485.485 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:25:45,530.530 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:25:45,533.533 INFO    ] No camera update needed
[2026-10-20 11:25:45,536.536 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:25:45,538.538 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:25:45,544.544 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:25:45,550.550 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:25:47,590.590 INFO    ] ================================================
[2026-10-20 11:25:47,605.605 INFO    ] Launching Daemon at Tue Oct 20 11:25:47 IST 2026
[2026-10-20 11:25:47,616.616 INFO    ] ================================================
[2026-10-20 11:25:48,184.184 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:25:48
[2026-10-20 11:25:48,784.784 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:25:49,062.062 INFO    ] Initializing speech engine...
[2026-10-20 11:25:49,070.070 INFO    ] 2026-10-20 11:25:49
[2026-10-20 11:25:49,343.343 INFO    ] 2026-10-20 11:25:49
[2026-10-20 11:25:49,385.385 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:25:49,610.610 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:25:49,616.616 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:25:49,841.841 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:25:49,874.874 INFO    ] time= 20/10/2026 11:25:49
[2026-10-20 11:25:49,890.890 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:25:49,899.899 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:25:50,024.024 INFO    ] No existing commands found in stream
[2026-10-20 11:25:55,039.039 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:25:55,042.042 INFO    ] Waiting 0.46 seconds before fallback handling...
[2026-10-20 11:25:56,011.011 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:25:56,014.014 INFO    ] Checking for system updates...
[2026-10-20 11:25:56,049.049 INFO    ] 200
[2026-10-20 11:25:56,052.052 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:25:56,105.105 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:25:56,108.108 INFO    ] No update needed
[2026-10-20 11:25:56,110.110 INFO    ] Checking for camera pi updates...
[2026-10-20 11:25:56,143.143 INFO    ] 200
[2026-10-20 11:25:56,146.146 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:25:56,186.186 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:25:56,235.235 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:25:56,238.238 INFO    ] No camera update needed
[2026-10-20 11:25:56,240.240 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:25:56,243.243 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:25:56,248.248 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:25:56,253.253 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:25:58,293.293 INFO    ] ================================================
[2026-10-20 11:25:58,309.309 INFO    ] Launching Daemon at Tue Oct 20 11:25:58 IST 2026
[2026-10-20 11:25:58,320.320 INFO    ] ================================================
[2026-10-20 11:25:58,886.886 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:25:58
[2026-10-20 11:25:59,469.469 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:25:59,718.718 INFO    ] Initializing speech engine...
[2026-10-20 11:25:59,731.731 INFO    ] 2026-10-20 11:25:59
[2026-10-20 11:25:59,995.995 INFO    ] 2026-10-20 11:25:59
[2026-10-20 11:26:00,030.030 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:26:00,231.231 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:26:00,289.289 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:26:00,497.497 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:26:00,552.552 INFO    ] time= 20/10/2026 11:26:00
[2026-10-20 11:26:00,566.566 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:26:00,583.583 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:26:00,715.715 INFO    ] No existing commands found in stream
[2026-10-20 11:26:05,730.730 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:26:05,733.733 INFO    ] Waiting 1.08 seconds before fallback handling...
[2026-10-20 11:26:07,301.301 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:26:07,304.304 INFO    ] Checking for system updates...
[2026-10-20 11:26:07,338.338 INFO    ] 200
[2026-10-20 11:26:07,341.341 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:26:07,392.392 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:26:07,395.395 INFO    ] No update needed
[2026-10-20 11:26:07,397.397 INFO    ] Checking for camera pi updates...
[2026-10-20 11:26:07,430.430 INFO    ] 200
[2026-10-20 11:26:07,433.433 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:26:07,472.472 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:26:07,518.518 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:26:07,521.521 INFO    ] No camera update needed
[2026-10-20 11:26:07,523.523 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:26:07,525.525 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:26:07,530.530 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:26:07,535.535 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:26:09,575.575 INFO    ] ================================================
[2026-10-20 11:26:09,591.591 INFO    ] Launching Daemon at Tue Oct 20 11:26:09 IST 2026
[2026-10-20 11:26:09,602.602 INFO    ] ================================================
[2026-10-20 11:26:10,221.221 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:26:10
[2026-10-20 11:26:10,820.820 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:26:11,084.084 INFO    ] Initializing speech engine...
[2026-10-20 11:26:11,100.100 INFO    ] 2026-10-20 11:26:11
[2026-10-20 11:26:11,365.365 INFO    ] 2026-10-20 11:26:11
[2026-10-20 11:26:11,400.400 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:26:11,612.612 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:26:11,620.620 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:26:11,830.830 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:26:11,838.838 INFO    ] time= 20/10/2026 11:26:11
[2026-10-20 11:26:11,902.902 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:26:11,956.956 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:26:12,099.099 INFO    ] No existing commands found in stream
[2026-10-20 11:26:17,121.121 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:26:17,124.124 INFO    ] Waiting 3.92 seconds before fallback handling...
[2026-10-20 11:26:21,532.532 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:26:21,534.534 INFO    ] Checking for system updates...
[2026-10-20 11:26:21,569.569 INFO    ] 200
[2026-10-20 11:26:21,572.572 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:26:21,624.624 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:26:21,626.626 INFO    ] No update needed
[2026-10-20 11:26:21,629.629 INFO    ] Checking for camera pi updates...
[2026-10-20 11:26:21,662.662 INFO    ] 200
[2026-10-20 11:26:21,664.664 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:26:21,704.704 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:26:21,757.757 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:26:21,759.759 INFO    ] No camera update needed
[2026-10-20 11:26:21,762.762 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:26:21,764.764 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:26:21,769.769 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:26:21,774.774 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:26:23,813.813 INFO    ] ================================================
[2026-10-20 11:26:23,828.828 INFO    ] Launching Daemon at Tue Oct 20 11:26:23 IST 2026
[2026-10-20 11:26:23,838.838 INFO    ] ================================================
[2026-10-20 11:26:24,403.403 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:26:24
[2026-10-20 11:26:24,989.989 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:26:25,238.238 INFO    ] Initializing speech engine...
[2026-10-20 11:26:25,259.259 INFO    ] 2026-10-20 11:26:25
[2026-10-20 11:26:25,517.517 INFO    ] 2026-10-20 11:26:25
[2026-10-20 11:26:25,551.551 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:26:25,755.755 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:26:25,815.815 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:26:26,023.023 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:26:26,078.078 INFO    ] time= 20/10/2026 11:26:26
[2026-10-20 11:26:26,094.094 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:26:26,112.112 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:26:26,247.247 INFO    ] No existing commands found in stream
[2026-10-20 11:26:31,262.262 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:26:31,265.265 INFO    ] Waiting 1.88 seconds before fallback handling...
[2026-10-20 11:26:33,619.619 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:26:33,622.622 INFO    ] Checking for system updates...
[2026-10-20 11:26:33,660.660 INFO    ] 200
[2026-10-20 11:26:33,663.663 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:26:33,714.714 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:26:33,716.716 INFO    ] No update needed
[2026-10-20 11:26:33,719.719 INFO    ] Checking for camera pi updates...
[2026-10-20 11:26:33,752.752 INFO    ] 200
[2026-10-20 11:26:33,755.755 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:26:33,795.795 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:26:33,847.847 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:26:33,850.850 INFO    ] No camera update needed
[2026-10-20 11:26:33,853.853 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:26:33,855.855 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:26:33,861.861 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:26:33,867.867 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:26:35,907.907 INFO    ] ================================================
[2026-10-20 11:26:35,922.922 INFO    ] Launching Daemon at Tue Oct 20 11:26:35 IST 2026
[2026-10-20 11:26:35,932.932 INFO    ] ================================================
[2026-10-20 11:26:36,511.511 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:26:36
[2026-10-20 11:26:37,105.105 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:26:37,381.381 INFO    ] Initializing speech engine...
[2026-10-20 11:26:37,389.389 INFO    ] 2026-10-20 11:26:37
[2026-10-20 11:26:37,646.646 INFO    ] 2026-10-20 11:26:37
[2026-10-20 11:26:37,701.701 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:26:37,927.927 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:26:37,932.932 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:26:38,066.066 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:26:38,131.131 INFO    ] time= 20/10/2026 11:26:38
[2026-10-20 11:26:38,180.180 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:26:38,197.197 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:26:38,330.330 INFO    ] No existing commands found in stream
[2026-10-20 11:26:43,352.352 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:26:43,354.354 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-10-20 11:26:46,136.136 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 11:26:46,138.138 INFO    ] Checking for system updates...
[2026-10-20 11:26:46,173.173 INFO    ] 200
[2026-10-20 11:26:46,176.176 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:26:46,227.227 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:26:46,230.230 INFO    ] No update needed
[2026-10-20 11:26:46,232.232 INFO    ] Checking for camera pi updates...
[2026-10-20 11:26:46,265.265 INFO    ] 200
[2026-10-20 11:26:46,267.267 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:26:46,308.308 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:26:46,357.357 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:26:46,359.359 INFO    ] No camera update needed
[2026-10-20 11:26:46,362.362 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:26:46,364.364 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:26:46,369.369 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:26:46,374.374 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:26:48,413.413 INFO    ] ================================================
[2026-10-20 11:26:48,428.428 INFO    ] Launching Daemon at Tue Oct 20 11:26:48 IST 2026
[2026-10-20 11:26:48,438.438 INFO    ] ================================================
[2026-10-20 11:26:49,011.011 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:26:49
[2026-10-20 11:26:49,597.597 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:26:49,868.868 INFO    ] Initializing speech engine...
[2026-10-20 11:26:49,877.877 INFO    ] 2026-10-20 11:26:49
[2026-10-20 11:26:50,127.127 INFO    ] 2026-10-20 11:26:50
[2026-10-20 11:26:50,161.161 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:26:50,347.347 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:26:50,365.365 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:26:50,498.498 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:26:50,505.505 INFO    ] time= 20/10/2026 11:26:50
[2026-10-20 11:26:50,561.561 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:26:50,581.581 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:26:50,705.705 INFO    ] No existing commands found in stream
[2026-10-20 11:26:55,717.717 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:26:55,720.720 INFO    ] Waiting 3.32 seconds before fallback handling...
[2026-10-20 11:26:59,514.514 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 11:26:59,517.517 INFO    ] Checking for system updates...
[2026-10-20 11:26:59,553.553 INFO    ] 200
[2026-10-20 11:26:59,556.556 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:26:59,609.609 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:26:59,612.612 INFO    ] No update needed
[2026-10-20 11:26:59,614.614 INFO    ] Checking for camera pi updates...
[2026-10-20 11:26:59,654.654 INFO    ] 200
[2026-10-20 11:26:59,657.657 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:26:59,707.707 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:26:59,767.767 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:26:59,770.770 INFO    ] No camera update needed
[2026-10-20 11:26:59,773.773 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:26:59,775.775 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:26:59,781.781 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:26:59,787.787 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:27:01,827.827 INFO    ] ================================================
[2026-10-20 11:27:01,851.851 INFO    ] Launching Daemon at Tue Oct 20 11:27:01 IST 2026
[2026-10-20 11:27:01,868.868 INFO    ] ================================================
[2026-10-20 11:27:02,656.656 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:27:02
[2026-10-20 11:27:03,392.392 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:27:03,699.699 INFO    ] Initializing speech engine...
[2026-10-20 11:27:03,712.712 INFO    ] 2026-10-20 11:27:03
[2026-10-20 11:27:03,989.989 INFO    ] 2026-10-20 11:27:03
[2026-10-20 11:27:04,032.032 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:27:04,279.279 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:27:04,289.289 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:27:04,428.428 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:27:04,483.483 INFO    ] time= 20/10/2026 11:27:04
[2026-10-20 11:27:04,533.533 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:27:04,558.558 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:27:04,706.706 INFO    ] No existing commands found in stream
[2026-10-20 11:27:09,721.721 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:27:09,724.724 INFO    ] Waiting 0.40 seconds before fallback handling...
[2026-10-20 11:27:10,671.671 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:27:10,674.674 INFO    ] Checking for system updates...
[2026-10-20 11:27:10,709.709 INFO    ] 200
[2026-10-20 11:27:10,712.712 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:27:10,765.765 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:27:10,767.767 INFO    ] No update needed
[2026-10-20 11:27:10,770.770 INFO    ] Checking for camera pi updates...
[2026-10-20 11:27:10,803.803 INFO    ] 200
[2026-10-20 11:27:10,806.806 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:27:10,845.845 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:27:10,895.895 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:27:10,897.897 INFO    ] No camera update needed
[2026-10-20 11:27:10,900.900 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:27:10,902.902 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:27:10,907.907 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:27:10,912.912 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:27:12,952.952 INFO    ] ================================================
[2026-10-20 11:27:12,967.967 INFO    ] Launching Daemon at Tue Oct 20 11:27:12 IST 2026
[2026-10-20 11:27:12,979.979 INFO    ] ================================================
[2026-10-20 11:27:13,544.544 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:27:13
[2026-10-20 11:27:14,138.138 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:27:14,414.414 INFO    ] Initializing speech engine...
[2026-10-20 11:27:14,421.421 INFO    ] 2026-10-20 11:27:14
[2026-10-20 11:27:14,681.681 INFO    ] 2026-10-20 11:27:14
[2026-10-20 11:27:14,733.733 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:27:14,902.902 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:27:14,960.960 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:27:15,141.141 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:27:15,206.206 INFO    ] time= 20/10/2026 11:27:15
[2026-10-20 11:27:15,229.229 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:27:15,235.235 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:27:15,379.379 INFO    ] No existing commands found in stream
[2026-10-20 11:27:20,393.393 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:27:20,396.396 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-10-20 11:27:24,049.049 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:27:24,052.052 INFO    ] Checking for system updates...
[2026-10-20 11:27:24,087.087 INFO    ] 200
[2026-10-20 11:27:24,089.089 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:27:24,141.141 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:27:24,143.143 INFO    ] No update needed
[2026-10-20 11:27:24,145.145 INFO    ] Checking for camera pi updates...
[2026-10-20 11:27:24,182.182 INFO    ] 200
[2026-10-20 11:27:24,184.184 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:27:24,227.227 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:27:24,275.275 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:27:24,278.278 INFO    ] No camera update needed
[2026-10-20 11:27:24,280.280 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:27:24,283.283 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:27:24,288.288 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:27:24,293.293 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:27:26,333.333 INFO    ] ================================================
[2026-10-20 11:27:26,349.349 INFO    ] Launching Daemon at Tue Oct 20 11:27:26 IST 2026
[2026-10-20 11:27:26,360.360 INFO    ] ================================================
[2026-10-20 11:27:26,938.938 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:27:26
[2026-10-20 11:27:27,536.536 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:27:27,811.811 INFO    ] Initializing speech engine...
[2026-10-20 11:27:27,818.818 INFO    ] 2026-10-20 11:27:27
[2026-10-20 11:27:28,078.078 INFO    ] 2026-10-20 11:27:28
[2026-10-20 11:27:28,131.131 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:27:28,356.356 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:27:28,361.361 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:27:28,579.579 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:27:28,616.616 INFO    ] time= 20/10/2026 11:27:28
[2026-10-20 11:27:28,633.633 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:27:28,642.642 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:27:28,768.768 INFO    ] No existing commands found in stream
[2026-10-20 11:27:33,781.781 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:27:33,784.784 INFO    ] Waiting 0.31 seconds before fallback handling...
[2026-10-20 11:27:34,552.552 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:27:34,554.554 INFO    ] Checking for system updates...
[2026-10-20 11:27:34,591.591 INFO    ] 200
[2026-10-20 11:27:34,595.595 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:27:34,648.648 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:27:34,651.651 INFO    ] No update needed
[2026-10-20 11:27:34,653.653 INFO    ] Checking for camera pi updates...
[2026-10-20 11:27:34,686.686 INFO    ] 200
[2026-10-20 11:27:34,689.689 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:27:34,730.730 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:27:34,779.779 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:27:34,786.786 INFO    ] No camera update needed
[2026-10-20 11:27:34,790.790 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:27:34,792.792 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:27:34,811.811 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:27:34,816.816 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:27:36,856.856 INFO    ] ================================================
[2026-10-20 11:27:36,871.871 INFO    ] Launching Daemon at Tue Oct 20 11:27:36 IST 2026
[2026-10-20 11:27:36,882.882 INFO    ] ================================================
[2026-10-20 11:27:37,464.464 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:27:37
[2026-10-20 11:27:38,060.060 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:27:38,333.333 INFO    ] Initializing speech engine...
[2026-10-20 11:27:38,341.341 INFO    ] 2026-10-20 11:27:38
[2026-10-20 11:27:38,590.590 INFO    ] 2026-10-20 11:27:38
[2026-10-20 11:27:38,632.632 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:27:38,876.876 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:27:38,885.885 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:27:39,065.065 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:27:39,130.130 INFO    ] time= 20/10/2026 11:27:39
[2026-10-20 11:27:39,149.149 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:27:39,164.164 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:27:39,286.286 INFO    ] No existing commands found in stream
[2026-10-20 11:27:44,307.307 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:27:44,310.310 INFO    ] Waiting 0.38 seconds before fallback handling...
[2026-10-20 11:27:45,134.134 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:27:45,137.137 INFO    ] Checking for system updates...
[2026-10-20 11:27:45,175.175 INFO    ] 200
[2026-10-20 11:27:45,177.177 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:27:45,229.229 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:27:45,231.231 INFO    ] No update needed
[2026-10-20 11:27:45,234.234 INFO    ] Checking for camera pi updates...
[2026-10-20 11:27:45,267.267 INFO    ] 200
[2026-10-20 11:27:45,269.269 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:27:45,313.313 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:27:45,359.359 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:27:45,362.362 INFO    ] No camera update needed
[2026-10-20 11:27:45,364.364 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:27:45,366.366 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:27:45,372.372 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:27:45,376.376 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:27:47,415.415 INFO    ] ================================================
[2026-10-20 11:27:47,431.431 INFO    ] Launching Daemon at Tue Oct 20 11:27:47 IST 2026
[2026-10-20 11:27:47,442.442 INFO    ] ================================================
[2026-10-20 11:27:48,007.007 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:27:48
[2026-10-20 11:27:48,590.590 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:27:48,834.834 INFO    ] Initializing speech engine...
[2026-10-20 11:27:48,840.840 INFO    ] 2026-10-20 11:27:48
[2026-10-20 11:27:49,117.117 INFO    ] 2026-10-20 11:27:49
[2026-10-20 11:27:49,153.153 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:27:49,336.336 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:27:49,349.349 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:27:49,508.508 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:27:49,513.513 INFO    ] time= 20/10/2026 11:27:49
[2026-10-20 11:27:49,519.519 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:27:49,572.572 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:27:49,708.708 INFO    ] No existing commands found in stream
[2026-10-20 11:27:54,736.736 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:27:54,739.739 INFO    ] Waiting 0.85 seconds before fallback handling...
[2026-10-20 11:27:56,064.064 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:27:56,067.067 INFO    ] Checking for system updates...
[2026-10-20 11:27:56,107.107 INFO    ] 200
[2026-10-20 11:27:56,110.110 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:27:56,163.163 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:27:56,165.165 INFO    ] No update needed
[2026-10-20 11:27:56,168.168 INFO    ] Checking for camera pi updates...
[2026-10-20 11:27:56,201.201 INFO    ] 200
[2026-10-20 11:27:56,204.204 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:27:56,252.252 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:27:56,303.303 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:27:56,305.305 INFO    ] No camera update needed
[2026-10-20 11:27:56,308.308 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:27:56,310.310 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:27:56,316.316 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:27:56,322.322 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:27:58,364.364 INFO    ] ================================================
[2026-10-20 11:27:58,380.380 INFO    ] Launching Daemon at Tue Oct 20 11:27:58 IST 2026
[2026-10-20 11:27:58,390.390 INFO    ] ================================================
[2026-10-20 11:27:59,013.013 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:27:59
[2026-10-20 11:27:59,656.656 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:27:59,947.947 INFO    ] Initializing speech engine...
[2026-10-20 11:27:59,956.956 INFO    ] 2026-10-20 11:27:59
[2026-10-20 11:28:00,206.206 INFO    ] 2026-10-20 11:28:00
[2026-10-20 11:28:00,241.241 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:28:00,499.499 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:28:00,509.509 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:28:00,647.647 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:28:00,701.701 INFO    ] time= 20/10/2026 11:28:00
[2026-10-20 11:28:00,765.765 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:28:00,783.783 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:28:00,918.918 INFO    ] No existing commands found in stream
[2026-10-20 11:28:05,943.943 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:28:05,946.946 INFO    ] Waiting 3.80 seconds before fallback handling...
[2026-10-20 11:28:10,226.226 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 11:28:10,229.229 INFO    ] Checking for system updates...
[2026-10-20 11:28:10,265.265 INFO    ] 200
[2026-10-20 11:28:10,267.267 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:28:10,327.327 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:28:10,330.330 INFO    ] No update needed
[2026-10-20 11:28:10,332.332 INFO    ] Checking for camera pi updates...
[2026-10-20 11:28:10,366.366 INFO    ] 200
[2026-10-20 11:28:10,369.369 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:28:10,412.412 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:28:10,561.561 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:28:10,563.563 INFO    ] No camera update needed
[2026-10-20 11:28:10,565.565 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:28:10,568.568 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:28:10,573.573 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:28:10,578.578 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:28:12,619.619 INFO    ] ================================================
[2026-10-20 11:28:12,634.634 INFO    ] Launching Daemon at Tue Oct 20 11:28:12 IST 2026
[2026-10-20 11:28:12,645.645 INFO    ] ================================================
[2026-10-20 11:28:13,227.227 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:28:13
[2026-10-20 11:28:13,826.826 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:28:14,090.090 INFO    ] Initializing speech engine...
[2026-10-20 11:28:14,115.115 INFO    ] 2026-10-20 11:28:14
[2026-10-20 11:28:14,389.389 INFO    ] 2026-10-20 11:28:14
[2026-10-20 11:28:14,426.426 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:28:14,621.621 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:28:14,634.634 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:28:14,799.799 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:28:14,804.804 INFO    ] time= 20/10/2026 11:28:14
[2026-10-20 11:28:14,810.810 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:28:14,816.816 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:28:14,957.957 INFO    ] No existing commands found in stream
[2026-10-20 11:28:19,987.987 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:28:19,990.990 INFO    ] Waiting 1.12 seconds before fallback handling...
[2026-10-20 11:28:21,600.600 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 11:28:21,602.602 INFO    ] Checking for system updates...
[2026-10-20 11:28:21,638.638 INFO    ] 200
[2026-10-20 11:28:21,641.641 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:28:21,693.693 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:28:21,695.695 INFO    ] No update needed
[2026-10-20 11:28:21,697.697 INFO    ] Checking for camera pi updates...
[2026-10-20 11:28:21,734.734 INFO    ] 200
[2026-10-20 11:28:21,736.736 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:28:21,781.781 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:28:21,833.833 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:28:21,835.835 INFO    ] No camera update needed
[2026-10-20 11:28:21,838.838 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:28:21,840.840 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:28:21,846.846 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:28:21,851.851 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:28:23,889.889 INFO    ] ================================================
[2026-10-20 11:28:23,904.904 INFO    ] Launching Daemon at Tue Oct 20 11:28:23 IST 2026
[2026-10-20 11:28:23,915.915 INFO    ] ================================================
[2026-10-20 11:28:24,495.495 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:28:24
[2026-10-20 11:28:25,092.092 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:28:25,369.369 INFO    ] Initializing speech engine...
[2026-10-20 11:28:25,374.374 INFO    ] 2026-10-20 11:28:25
[2026-10-20 11:28:25,621.621 INFO    ] 2026-10-20 11:28:25
[2026-10-20 11:28:25,663.663 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:28:25,906.906 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:28:25,915.915 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:28:26,050.050 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:28:26,104.104 INFO    ] time= 20/10/2026 11:28:26
[2026-10-20 11:28:26,159.159 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:28:26,180.180 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:28:26,296.296 INFO    ] No existing commands found in stream
[2026-10-20 11:28:31,318.318 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:28:31,321.321 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-10-20 11:28:35,066.066 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 11:28:35,069.069 INFO    ] Checking for system updates...
[2026-10-20 11:28:35,120.120 INFO    ] 200
[2026-10-20 11:28:35,123.123 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:28:35,175.175 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:28:35,178.178 INFO    ] No update needed
[2026-10-20 11:28:35,180.180 INFO    ] Checking for camera pi updates...
[2026-10-20 11:28:35,215.215 INFO    ] 200
[2026-10-20 11:28:35,217.217 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:28:35,261.261 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:28:35,314.314 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:28:35,316.316 INFO    ] No camera update needed
[2026-10-20 11:28:35,319.319 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:28:35,322.322 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:28:35,327.327 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:28:35,333.333 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:28:37,372.372 INFO    ] ================================================
[2026-10-20 11:28:37,387.387 INFO    ] Launching Daemon at Tue Oct 20 11:28:37 IST 2026
[2026-10-20 11:28:37,397.397 INFO    ] ================================================
[2026-10-20 11:28:38,018.018 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:28:38
[2026-10-20 11:28:38,660.660 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:28:38,951.951 INFO    ] Initializing speech engine...
[2026-10-20 11:28:38,959.959 INFO    ] 2026-10-20 11:28:38
[2026-10-20 11:28:39,227.227 INFO    ] 2026-10-20 11:28:39
[2026-10-20 11:28:39,282.282 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:28:39,507.507 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:28:39,512.512 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:28:39,738.738 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:28:39,773.773 INFO    ] time= 20/10/2026 11:28:39
[2026-10-20 11:28:39,789.789 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:28:39,814.814 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:28:39,925.925 INFO    ] No existing commands found in stream
[2026-10-20 11:28:44,939.939 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:28:44,942.942 INFO    ] Waiting 2.11 seconds before fallback handling...
[2026-10-20 11:28:47,546.546 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 11:28:47,549.549 INFO    ] Checking for system updates...
[2026-10-20 11:28:47,587.587 INFO    ] 200
[2026-10-20 11:28:47,589.589 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:28:47,642.642 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:28:47,644.644 INFO    ] No update needed
[2026-10-20 11:28:47,647.647 INFO    ] Checking for camera pi updates...
[2026-10-20 11:28:47,686.686 INFO    ] 200
[2026-10-20 11:28:47,688.688 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:28:47,731.731 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:28:47,776.776 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:28:47,779.779 INFO    ] No camera update needed
[2026-10-20 11:28:47,781.781 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:28:47,784.784 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:28:47,789.789 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:28:47,794.794 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:28:49,833.833 INFO    ] ================================================
[2026-10-20 11:28:49,847.847 INFO    ] Launching Daemon at Tue Oct 20 11:28:49 IST 2026
[2026-10-20 11:28:49,858.858 INFO    ] ================================================
[2026-10-20 11:28:50,989.989 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:28:50
[2026-10-20 11:28:51,588.588 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:28:51,863.863 INFO    ] Initializing speech engine...
[2026-10-20 11:28:51,869.869 INFO    ] 2026-10-20 11:28:51
[2026-10-20 11:28:52,131.131 INFO    ] 2026-10-20 11:28:52
[2026-10-20 11:28:52,160.160 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:28:52,405.405 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:28:52,414.414 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:28:52,589.589 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:28:52,638.638 INFO    ] time= 20/10/2026 11:28:52
[2026-10-20 11:28:52,675.675 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:28:52,681.681 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:28:52,801.801 INFO    ] No existing commands found in stream
[2026-10-20 11:28:57,831.831 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:28:57,834.834 INFO    ] Waiting 2.22 seconds before fallback handling...
[2026-10-20 11:29:00,544.544 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:29:00,547.547 INFO    ] Checking for system updates...
[2026-10-20 11:29:00,586.586 INFO    ] 200
[2026-10-20 11:29:00,588.588 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:29:00,640.640 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:29:00,642.642 INFO    ] No update needed
[2026-10-20 11:29:00,644.644 INFO    ] Checking for camera pi updates...
[2026-10-20 11:29:00,681.681 INFO    ] 200
[2026-10-20 11:29:00,683.683 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:29:00,726.726 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:29:00,777.777 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:29:00,779.779 INFO    ] No camera update needed
[2026-10-20 11:29:00,782.782 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:29:00,784.784 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:29:00,789.789 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:29:00,794.794 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:29:02,843.843 INFO    ] ================================================
[2026-10-20 11:29:02,862.862 INFO    ] Launching Daemon at Tue Oct 20 11:29:02 IST 2026
[2026-10-20 11:29:02,874.874 INFO    ] ================================================
[2026-10-20 11:29:03,580.580 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:29:03
[2026-10-20 11:29:04,198.198 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:29:04,497.497 INFO    ] Initializing speech engine...
[2026-10-20 11:29:04,504.504 INFO    ] 2026-10-20 11:29:04
[2026-10-20 11:29:04,763.763 INFO    ] 2026-10-20 11:29:04
[2026-10-20 11:29:04,794.794 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:29:05,041.041 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:29:05,052.052 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:29:05,247.247 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:29:05,301.301 INFO    ] time= 20/10/2026 11:29:05
[2026-10-20 11:29:05,315.315 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:29:05,333.333 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:29:05,458.458 INFO    ] No existing commands found in stream
[2026-10-20 11:29:10,474.474 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:29:10,477.477 INFO    ] Waiting 2.03 seconds before fallback handling...
[2026-10-20 11:29:13,008.008 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:29:13,010.010 INFO    ] Checking for system updates...
[2026-10-20 11:29:13,047.047 INFO    ] 200
[2026-10-20 11:29:13,050.050 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:29:13,104.104 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:29:13,107.107 INFO    ] No update needed
[2026-10-20 11:29:13,109.109 INFO    ] Checking for camera pi updates...
[2026-10-20 11:29:13,144.144 INFO    ] 200
[2026-10-20 11:29:13,147.147 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:29:13,192.192 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:29:13,245.245 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:29:13,248.248 INFO    ] No camera update needed
[2026-10-20 11:29:13,250.250 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:29:13,253.253 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:29:13,259.259 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:29:13,265.265 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:29:15,305.305 INFO    ] ================================================
[2026-10-20 11:29:15,321.321 INFO    ] Launching Daemon at Tue Oct 20 11:29:15 IST 2026
[2026-10-20 11:29:15,331.331 INFO    ] ================================================
[2026-10-20 11:29:15,899.899 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:29:15
[2026-10-20 11:29:16,484.484 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:29:16,735.735 INFO    ] Initializing speech engine...
[2026-10-20 11:29:16,757.757 INFO    ] 2026-10-20 11:29:16
[2026-10-20 11:29:17,014.014 INFO    ] 2026-10-20 11:29:17
[2026-10-20 11:29:17,056.056 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:29:17,246.246 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:29:17,274.274 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:29:17,451.451 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:29:17,493.493 INFO    ] time= 20/10/2026 11:29:17
[2026-10-20 11:29:17,542.542 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:29:17,587.587 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:29:17,709.709 INFO    ] No existing commands found in stream
[2026-10-20 11:29:22,739.739 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:29:22,742.742 INFO    ] Waiting 0.03 seconds before fallback handling...
[2026-10-20 11:29:23,253.253 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 11:29:23,256.256 INFO    ] Checking for system updates...
[2026-10-20 11:29:23,292.292 INFO    ] 200
[2026-10-20 11:29:23,295.295 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:29:23,354.354 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:29:23,357.357 INFO    ] No update needed
[2026-10-20 11:29:23,360.360 INFO    ] Checking for camera pi updates...
[2026-10-20 11:29:23,397.397 INFO    ] 200
[2026-10-20 11:29:23,400.400 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:29:23,446.446 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:29:23,497.497 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:29:23,500.500 INFO    ] No camera update needed
[2026-10-20 11:29:23,502.502 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:29:23,505.505 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:29:23,511.511 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:29:23,517.517 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:29:25,557.557 INFO    ] ================================================
[2026-10-20 11:29:25,572.572 INFO    ] Launching Daemon at Tue Oct 20 11:29:25 IST 2026
[2026-10-20 11:29:25,583.583 INFO    ] ================================================
[2026-10-20 11:29:26,161.161 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:29:26
[2026-10-20 11:29:26,758.758 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:29:27,034.034 INFO    ] Initializing speech engine...
[2026-10-20 11:29:27,043.043 INFO    ] 2026-10-20 11:29:27
[2026-10-20 11:29:27,301.301 INFO    ] 2026-10-20 11:29:27
[2026-10-20 11:29:27,338.338 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:29:27,547.547 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:29:27,575.575 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:29:27,772.772 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:29:27,789.789 INFO    ] time= 20/10/2026 11:29:27
[2026-10-20 11:29:27,858.858 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:29:27,908.908 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:29:27,992.992 INFO    ] No existing commands found in stream
[2026-10-20 11:29:33,028.028 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:29:33,031.031 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-10-20 11:29:34,583.583 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:29:34,586.586 INFO    ] Checking for system updates...
[2026-10-20 11:29:34,621.621 INFO    ] 200
[2026-10-20 11:29:34,624.624 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:29:34,679.679 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:29:34,682.682 INFO    ] No update needed
[2026-10-20 11:29:34,684.684 INFO    ] Checking for camera pi updates...
[2026-10-20 11:29:34,720.720 INFO    ] 200
[2026-10-20 11:29:34,723.723 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:29:34,767.767 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:29:34,819.819 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:29:34,821.821 INFO    ] No camera update needed
[2026-10-20 11:29:34,824.824 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:29:34,826.826 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:29:34,831.831 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:29:34,836.836 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:29:36,876.876 INFO    ] ================================================
[2026-10-20 11:29:36,894.894 INFO    ] Launching Daemon at Tue Oct 20 11:29:36 IST 2026
[2026-10-20 11:29:36,904.904 INFO    ] ================================================
[2026-10-20 11:29:37,484.484 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:29:37
[2026-10-20 11:29:38,083.083 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:29:38,358.358 INFO    ] Initializing speech engine...
[2026-10-20 11:29:38,366.366 INFO    ] 2026-10-20 11:29:38
[2026-10-20 11:29:38,625.625 INFO    ] 2026-10-20 11:29:38
[2026-10-20 11:29:38,682.682 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:29:38,905.905 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:29:38,915.915 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:29:39,116.116 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:29:39,171.171 INFO    ] time= 20/10/2026 11:29:39
[2026-10-20 11:29:39,178.178 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:29:39,196.196 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:29:39,294.294 INFO    ] No existing commands found in stream
[2026-10-20 11:29:44,304.304 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:29:44,307.307 INFO    ] Waiting 3.93 seconds before fallback handling...
[2026-10-20 11:29:48,743.743 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:29:48,746.746 INFO    ] Checking for system updates...
[2026-10-20 11:29:48,783.783 INFO    ] 200
[2026-10-20 11:29:48,785.785 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:29:48,842.842 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:29:48,845.845 INFO    ] No update needed
[2026-10-20 11:29:48,847.847 INFO    ] Checking for camera pi updates...
[2026-10-20 11:29:48,880.880 INFO    ] 200
[2026-10-20 11:29:48,883.883 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:29:48,924.924 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:29:48,980.980 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:29:48,983.983 INFO    ] No camera update needed
[2026-10-20 11:29:48,985.985 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:29:48,987.987 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:29:48,993.993 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:29:48,997.997 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:29:51,038.038 INFO    ] ================================================
[2026-10-20 11:29:51,052.052 INFO    ] Launching Daemon at Tue Oct 20 11:29:51 IST 2026
[2026-10-20 11:29:51,063.063 INFO    ] ================================================
[2026-10-20 11:29:51,665.665 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:29:51
[2026-10-20 11:29:52,246.246 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:29:52,511.511 INFO    ] Initializing speech engine...
[2026-10-20 11:29:52,523.523 INFO    ] 2026-10-20 11:29:52
[2026-10-20 11:29:52,772.772 INFO    ] 2026-10-20 11:29:52
[2026-10-20 11:29:52,808.808 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:29:53,010.010 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:29:53,065.065 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:29:53,211.211 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:29:53,266.266 INFO    ] time= 20/10/2026 11:29:53
[2026-10-20 11:29:53,309.309 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:29:53,344.344 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:29:53,480.480 INFO    ] No existing commands found in stream
[2026-10-20 11:29:58,503.503 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:29:58,506.506 INFO    ] Waiting 0.31 seconds before fallback handling...
[2026-10-20 11:29:59,359.359 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:29:59,362.362 INFO    ] Checking for system updates...
[2026-10-20 11:29:59,399.399 INFO    ] 200
[2026-10-20 11:29:59,402.402 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:29:59,453.453 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:29:59,455.455 INFO    ] No update needed
[2026-10-20 11:29:59,458.458 INFO    ] Checking for camera pi updates...
[2026-10-20 11:29:59,491.491 INFO    ] 200
[2026-10-20 11:29:59,494.494 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:29:59,538.538 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:29:59,582.582 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:29:59,584.584 INFO    ] No camera update needed
[2026-10-20 11:29:59,586.586 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:29:59,589.589 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:29:59,594.594 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:29:59,599.599 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:30:01,653.653 INFO    ] ================================================
[2026-10-20 11:30:01,752.752 INFO    ] Launching Daemon at Tue Oct 20 11:30:01 IST 2026
[2026-10-20 11:30:01,845.845 INFO    ] ================================================
[2026-10-20 11:30:02,857.857 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:30:02
[2026-10-20 11:30:03,569.569 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:30:03,928.928 INFO    ] Initializing speech engine...
[2026-10-20 11:30:03,934.934 INFO    ] 2026-10-20 11:30:03
[2026-10-20 11:30:04,200.200 INFO    ] 2026-10-20 11:30:04
[2026-10-20 11:30:04,243.243 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:30:04,468.468 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:30:04,473.473 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:30:04,605.605 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:30:04,665.665 INFO    ] time= 20/10/2026 11:30:04
[2026-10-20 11:30:04,719.719 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:30:04,739.739 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:30:04,880.880 INFO    ] No existing commands found in stream
[2026-10-20 11:30:09,895.895 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:30:09,898.898 INFO    ] Waiting 2.21 seconds before fallback handling...
[2026-10-20 11:30:12,612.612 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:30:12,615.615 INFO    ] Checking for system updates...
[2026-10-20 11:30:12,653.653 INFO    ] 200
[2026-10-20 11:30:12,656.656 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:30:12,707.707 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:30:12,710.710 INFO    ] No update needed
[2026-10-20 11:30:12,712.712 INFO    ] Checking for camera pi updates...
[2026-10-20 11:30:12,747.747 INFO    ] 200
[2026-10-20 11:30:12,749.749 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:30:12,793.793 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:30:12,951.951 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:30:12,954.954 INFO    ] No camera update needed
[2026-10-20 11:30:12,956.956 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:30:12,958.958 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:30:12,963.963 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:30:12,968.968 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:30:15,007.007 INFO    ] ================================================
[2026-10-20 11:30:15,023.023 INFO    ] Launching Daemon at Tue Oct 20 11:30:15 IST 2026
[2026-10-20 11:30:15,033.033 INFO    ] ================================================
[2026-10-20 11:30:15,598.598 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:30:15
[2026-10-20 11:30:16,179.179 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:30:16,430.430 INFO    ] Initializing speech engine...
[2026-10-20 11:30:16,443.443 INFO    ] 2026-10-20 11:30:16
[2026-10-20 11:30:16,708.708 INFO    ] 2026-10-20 11:30:16
[2026-10-20 11:30:16,743.743 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:30:16,941.941 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:30:16,948.948 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:30:17,081.081 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:30:17,087.087 INFO    ] time= 20/10/2026 11:30:17
[2026-10-20 11:30:17,117.117 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:30:17,155.155 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:30:17,285.285 INFO    ] No existing commands found in stream
[2026-10-20 11:30:22,296.296 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:30:22,298.298 INFO    ] Waiting 1.13 seconds before fallback handling...
[2026-10-20 11:30:23,882.882 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:30:23,884.884 INFO    ] Checking for system updates...
[2026-10-20 11:30:23,920.920 INFO    ] 200
[2026-10-20 11:30:23,923.923 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:30:23,975.975 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:30:23,977.977 INFO    ] No update needed
[2026-10-20 11:30:23,980.980 INFO    ] Checking for camera pi updates...
[2026-10-20 11:30:24,018.018 INFO    ] 200
[2026-10-20 11:30:24,020.020 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:30:24,060.060 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:30:24,105.105 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:30:24,107.107 INFO    ] No camera update needed
[2026-10-20 11:30:24,110.110 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:30:24,112.112 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:30:24,117.117 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:30:24,122.122 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:30:26,162.162 INFO    ] ================================================
[2026-10-20 11:30:26,178.178 INFO    ] Launching Daemon at Tue Oct 20 11:30:26 IST 2026
[2026-10-20 11:30:26,189.189 INFO    ] ================================================
[2026-10-20 11:30:26,766.766 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:30:26
[2026-10-20 11:30:27,354.354 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:30:27,631.631 INFO    ] Initializing speech engine...
[2026-10-20 11:30:27,640.640 INFO    ] 2026-10-20 11:30:27
[2026-10-20 11:30:27,886.886 INFO    ] 2026-10-20 11:30:27
[2026-10-20 11:30:27,921.921 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:30:28,123.123 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:30:28,182.182 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:30:28,330.330 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:30:28,400.400 INFO    ] time= 20/10/2026 11:30:28
[2026-10-20 11:30:28,450.450 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:30:28,462.462 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:30:28,595.595 INFO    ] No existing commands found in stream
[2026-10-20 11:30:33,620.620 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:30:33,623.623 INFO    ] Waiting 1.58 seconds before fallback handling...
[2026-10-20 11:30:35,659.659 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:30:35,662.662 INFO    ] Checking for system updates...
[2026-10-20 11:30:35,701.701 INFO    ] 200
[2026-10-20 11:30:35,703.703 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:30:35,755.755 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:30:35,758.758 INFO    ] No update needed
[2026-10-20 11:30:35,761.761 INFO    ] Checking for camera pi updates...
[2026-10-20 11:30:35,799.799 INFO    ] 200
[2026-10-20 11:30:35,802.802 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:30:35,847.847 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:30:35,904.904 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:30:35,906.906 INFO    ] No camera update needed
[2026-10-20 11:30:35,909.909 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:30:35,911.911 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:30:35,917.917 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:30:35,922.922 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:30:37,963.963 INFO    ] ================================================
[2026-10-20 11:30:37,978.978 INFO    ] Launching Daemon at Tue Oct 20 11:30:37 IST 2026
[2026-10-20 11:30:37,989.989 INFO    ] ================================================
[2026-10-20 11:30:38,559.559 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:30:38
[2026-10-20 11:30:39,147.147 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:30:39,422.422 INFO    ] Initializing speech engine...
[2026-10-20 11:30:39,432.432 INFO    ] 2026-10-20 11:30:39
[2026-10-20 11:30:39,683.683 INFO    ] 2026-10-20 11:30:39
[2026-10-20 11:30:39,718.718 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:30:39,963.963 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:30:39,985.985 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:30:40,121.121 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:30:40,164.164 INFO    ] time= 20/10/2026 11:30:40
[2026-10-20 11:30:40,208.208 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:30:40,258.258 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:30:40,390.390 INFO    ] No existing commands found in stream
[2026-10-20 11:30:45,415.415 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:30:45,418.418 INFO    ] Waiting 2.79 seconds before fallback handling...
[2026-10-20 11:30:48,699.699 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:30:48,702.702 INFO    ] Checking for system updates...
[2026-10-20 11:30:48,742.742 INFO    ] 200
[2026-10-20 11:30:48,744.744 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:30:48,804.804 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:30:48,807.807 INFO    ] No update needed
[2026-10-20 11:30:48,810.810 INFO    ] Checking for camera pi updates...
[2026-10-20 11:30:48,848.848 INFO    ] 200
[2026-10-20 11:30:48,851.851 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:30:48,893.893 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:30:48,950.950 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:30:48,953.953 INFO    ] No camera update needed
[2026-10-20 11:30:48,955.955 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:30:48,958.958 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:30:48,964.964 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:30:48,970.970 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:30:51,011.011 INFO    ] ================================================
[2026-10-20 11:30:51,027.027 INFO    ] Launching Daemon at Tue Oct 20 11:30:51 IST 2026
[2026-10-20 11:30:51,038.038 INFO    ] ================================================
[2026-10-20 11:30:51,605.605 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:30:51
[2026-10-20 11:30:52,190.190 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:30:52,445.445 INFO    ] Initializing speech engine...
[2026-10-20 11:30:52,454.454 INFO    ] 2026-10-20 11:30:52
[2026-10-20 11:30:52,751.751 INFO    ] 2026-10-20 11:30:52
[2026-10-20 11:30:52,789.789 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:30:52,997.997 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:30:53,014.014 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:30:53,159.159 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:30:53,165.165 INFO    ] time= 20/10/2026 11:30:53
[2026-10-20 11:30:53,171.171 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:30:53,222.222 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:30:53,363.363 INFO    ] No existing commands found in stream
[2026-10-20 11:30:58,373.373 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:30:58,376.376 INFO    ] Waiting 1.62 seconds before fallback handling...
[2026-10-20 11:31:00,484.484 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:31:00,487.487 INFO    ] Checking for system updates...
[2026-10-20 11:31:00,523.523 INFO    ] 200
[2026-10-20 11:31:00,526.526 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:31:00,579.579 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:31:00,581.581 INFO    ] No update needed
[2026-10-20 11:31:00,584.584 INFO    ] Checking for camera pi updates...
[2026-10-20 11:31:00,617.617 INFO    ] 200
[2026-10-20 11:31:00,619.619 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:31:00,665.665 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:31:00,711.711 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:31:00,714.714 INFO    ] No camera update needed
[2026-10-20 11:31:00,716.716 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:31:00,719.719 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:31:00,724.724 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:31:00,729.729 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:31:02,771.771 INFO    ] ================================================
[2026-10-20 11:31:02,790.790 INFO    ] Launching Daemon at Tue Oct 20 11:31:02 IST 2026
[2026-10-20 11:31:02,805.805 INFO    ] ================================================
[2026-10-20 11:31:03,552.552 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:31:03
[2026-10-20 11:31:04,211.211 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:31:04,489.489 INFO    ] Initializing speech engine...
[2026-10-20 11:31:04,495.495 INFO    ] 2026-10-20 11:31:04
[2026-10-20 11:31:04,755.755 INFO    ] 2026-10-20 11:31:04
[2026-10-20 11:31:04,806.806 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:31:05,034.034 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:31:05,039.039 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:31:05,189.189 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:31:05,254.254 INFO    ] time= 20/10/2026 11:31:05
[2026-10-20 11:31:05,301.301 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:31:05,307.307 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:31:05,442.442 INFO    ] No existing commands found in stream
[2026-10-20 11:31:10,462.462 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:31:10,465.465 INFO    ] Waiting 1.60 seconds before fallback handling...
[2026-10-20 11:31:12,542.542 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:31:12,544.544 INFO    ] Checking for system updates...
[2026-10-20 11:31:12,580.580 INFO    ] 200
[2026-10-20 11:31:12,582.582 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:31:12,634.634 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:31:12,636.636 INFO    ] No update needed
[2026-10-20 11:31:12,639.639 INFO    ] Checking for camera pi updates...
[2026-10-20 11:31:12,673.673 INFO    ] 200
[2026-10-20 11:31:12,675.675 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:31:12,715.715 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:31:12,757.757 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:31:12,760.760 INFO    ] No camera update needed
[2026-10-20 11:31:12,762.762 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:31:12,764.764 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:31:12,770.770 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:31:12,775.775 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:31:14,814.814 INFO    ] ================================================
[2026-10-20 11:31:14,830.830 INFO    ] Launching Daemon at Tue Oct 20 11:31:14 IST 2026
[2026-10-20 11:31:14,841.841 INFO    ] ================================================
[2026-10-20 11:31:15,412.412 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:31:15
[2026-10-20 11:31:16,009.009 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:31:16,262.262 INFO    ] Initializing speech engine...
[2026-10-20 11:31:16,271.271 INFO    ] 2026-10-20 11:31:16
[2026-10-20 11:31:16,561.561 INFO    ] 2026-10-20 11:31:16
[2026-10-20 11:31:16,596.596 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:31:16,793.793 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:31:16,799.799 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:31:16,965.965 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:31:16,975.975 INFO    ] time= 20/10/2026 11:31:16
[2026-10-20 11:31:16,980.980 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:31:16,987.987 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:31:17,058.058 INFO    ] No existing commands found in stream
[2026-10-20 11:31:22,071.071 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:31:22,073.073 INFO    ] Waiting 3.03 seconds before fallback handling...
[2026-10-20 11:31:25,622.622 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:31:25,625.625 INFO    ] Checking for system updates...
[2026-10-20 11:31:25,660.660 INFO    ] 200
[2026-10-20 11:31:25,663.663 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:31:25,715.715 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:31:25,717.717 INFO    ] No update needed
[2026-10-20 11:31:25,719.719 INFO    ] Checking for camera pi updates...
[2026-10-20 11:31:25,753.753 INFO    ] 200
[2026-10-20 11:31:25,756.756 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:31:25,801.801 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:31:25,846.846 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:31:25,848.848 INFO    ] No camera update needed
[2026-10-20 11:31:25,851.851 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:31:25,853.853 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:31:25,858.858 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:31:25,863.863 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:31:27,903.903 INFO    ] ================================================
[2026-10-20 11:31:27,919.919 INFO    ] Launching Daemon at Tue Oct 20 11:31:27 IST 2026
[2026-10-20 11:31:27,929.929 INFO    ] ================================================
[2026-10-20 11:31:28,511.511 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:31:28
[2026-10-20 11:31:29,111.111 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:31:29,367.367 INFO    ] Initializing speech engine...
[2026-10-20 11:31:29,374.374 INFO    ] 2026-10-20 11:31:29
[2026-10-20 11:31:29,677.677 INFO    ] 2026-10-20 11:31:29
[2026-10-20 11:31:29,715.715 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:31:29,913.913 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:31:29,927.927 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:31:30,090.090 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:31:30,099.099 INFO    ] time= 20/10/2026 11:31:30
[2026-10-20 11:31:30,106.106 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:31:30,144.144 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:31:30,286.286 INFO    ] No existing commands found in stream
[2026-10-20 11:31:35,306.306 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:31:35,309.309 INFO    ] Waiting 2.78 seconds before fallback handling...
[2026-10-20 11:31:38,587.587 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:31:38,590.590 INFO    ] Checking for system updates...
[2026-10-20 11:31:38,629.629 INFO    ] 200
[2026-10-20 11:31:38,632.632 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:31:38,683.683 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:31:38,686.686 INFO    ] No update needed
[2026-10-20 11:31:38,688.688 INFO    ] Checking for camera pi updates...
[2026-10-20 11:31:38,725.725 INFO    ] 200
[2026-10-20 11:31:38,727.727 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:31:38,767.767 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:31:38,814.814 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:31:38,817.817 INFO    ] No camera update needed
[2026-10-20 11:31:38,819.819 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:31:38,822.822 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:31:38,827.827 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:31:38,832.832 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:31:40,873.873 INFO    ] ================================================
[2026-10-20 11:31:40,889.889 INFO    ] Launching Daemon at Tue Oct 20 11:31:40 IST 2026
[2026-10-20 11:31:40,901.901 INFO    ] ================================================
[2026-10-20 11:31:41,499.499 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:31:41
[2026-10-20 11:31:42,124.124 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:31:42,411.411 INFO    ] Initializing speech engine...
[2026-10-20 11:31:42,419.419 INFO    ] 2026-10-20 11:31:42
[2026-10-20 11:31:42,675.675 INFO    ] 2026-10-20 11:31:42
[2026-10-20 11:31:42,710.710 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:31:42,912.912 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:31:42,963.963 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:31:43,115.115 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:31:43,160.160 INFO    ] time= 20/10/2026 11:31:43
[2026-10-20 11:31:43,209.209 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:31:43,250.250 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:31:43,385.385 INFO    ] No existing commands found in stream
[2026-10-20 11:31:48,408.408 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:31:48,411.411 INFO    ] Waiting 2.44 seconds before fallback handling...
[2026-10-20 11:31:51,289.289 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:31:51,291.291 INFO    ] Checking for system updates...
[2026-10-20 11:31:51,327.327 INFO    ] 200
[2026-10-20 11:31:51,329.329 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:31:51,382.382 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:31:51,384.384 INFO    ] No update needed
[2026-10-20 11:31:51,386.386 INFO    ] Checking for camera pi updates...
[2026-10-20 11:31:51,419.419 INFO    ] 200
[2026-10-20 11:31:51,422.422 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:31:51,464.464 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:31:51,513.513 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:31:51,515.515 INFO    ] No camera update needed
[2026-10-20 11:31:51,517.517 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:31:51,520.520 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:31:51,525.525 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:31:51,530.530 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:31:53,569.569 INFO    ] ================================================
[2026-10-20 11:31:53,584.584 INFO    ] Launching Daemon at Tue Oct 20 11:31:53 IST 2026
[2026-10-20 11:31:53,595.595 INFO    ] ================================================
[2026-10-20 11:31:54,175.175 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:31:54
[2026-10-20 11:31:54,771.771 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:31:55,046.046 INFO    ] Initializing speech engine...
[2026-10-20 11:31:55,053.053 INFO    ] 2026-10-20 11:31:55
[2026-10-20 11:31:55,313.313 INFO    ] 2026-10-20 11:31:55
[2026-10-20 11:31:55,369.369 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:31:55,595.595 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:31:55,606.606 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:31:55,799.799 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:31:55,844.844 INFO    ] time= 20/10/2026 11:31:55
[2026-10-20 11:31:55,863.863 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:31:55,879.879 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:31:56,010.010 INFO    ] No existing commands found in stream
[2026-10-20 11:32:01,024.024 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:32:01,026.026 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-10-20 11:32:03,042.042 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:32:03,045.045 INFO    ] Checking for system updates...
[2026-10-20 11:32:03,094.094 INFO    ] 200
[2026-10-20 11:32:03,097.097 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:32:03,167.167 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:32:03,171.171 INFO    ] No update needed
[2026-10-20 11:32:03,175.175 INFO    ] Checking for camera pi updates...
[2026-10-20 11:32:03,230.230 INFO    ] 200
[2026-10-20 11:32:03,233.233 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:32:03,279.279 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:32:03,335.335 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:32:03,338.338 INFO    ] No camera update needed
[2026-10-20 11:32:03,341.341 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:32:03,343.343 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:32:03,348.348 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:32:03,354.354 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:32:05,396.396 INFO    ] ================================================
[2026-10-20 11:32:05,413.413 INFO    ] Launching Daemon at Tue Oct 20 11:32:05 IST 2026
[2026-10-20 11:32:05,424.424 INFO    ] ================================================
[2026-10-20 11:32:05,992.992 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:32:05
[2026-10-20 11:32:06,579.579 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:32:06,839.839 INFO    ] Initializing speech engine...
[2026-10-20 11:32:06,843.843 INFO    ] 2026-10-20 11:32:06
[2026-10-20 11:32:07,144.144 INFO    ] 2026-10-20 11:32:07
[2026-10-20 11:32:07,182.182 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:32:07,382.382 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:32:07,396.396 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:32:07,557.557 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:32:07,568.568 INFO    ] time= 20/10/2026 11:32:07
[2026-10-20 11:32:07,573.573 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:32:07,580.580 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:32:07,657.657 INFO    ] No existing commands found in stream
[2026-10-20 11:32:12,677.677 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:32:12,680.680 INFO    ] Waiting 3.93 seconds before fallback handling...
[2026-10-20 11:32:17,086.086 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:32:17,089.089 INFO    ] Checking for system updates...
[2026-10-20 11:32:17,124.124 INFO    ] 200
[2026-10-20 11:32:17,126.126 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:32:17,178.178 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:32:17,180.180 INFO    ] No update needed
[2026-10-20 11:32:17,183.183 INFO    ] Checking for camera pi updates...
[2026-10-20 11:32:17,216.216 INFO    ] 200
[2026-10-20 11:32:17,218.218 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:32:17,258.258 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:32:17,401.401 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:32:17,403.403 INFO    ] No camera update needed
[2026-10-20 11:32:17,406.406 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:32:17,408.408 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:32:17,413.413 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:32:17,418.418 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:32:19,458.458 INFO    ] ================================================
[2026-10-20 11:32:19,473.473 INFO    ] Launching Daemon at Tue Oct 20 11:32:19 IST 2026
[2026-10-20 11:32:19,484.484 INFO    ] ================================================
[2026-10-20 11:32:20,064.064 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:32:20
[2026-10-20 11:32:20,663.663 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:32:20,951.951 INFO    ] Initializing speech engine...
[2026-10-20 11:32:20,958.958 INFO    ] 2026-10-20 11:32:20
[2026-10-20 11:32:21,227.227 INFO    ] 2026-10-20 11:32:21
[2026-10-20 11:32:21,272.272 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:32:21,525.525 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:32:21,535.535 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:32:21,709.709 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:32:21,764.764 INFO    ] time= 20/10/2026 11:32:21
[2026-10-20 11:32:21,807.807 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:32:21,826.826 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:32:21,967.967 INFO    ] No existing commands found in stream
[2026-10-20 11:32:27,007.007 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:32:27,010.010 INFO    ] Waiting 1.15 seconds before fallback handling...
[2026-10-20 11:32:28,653.653 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 11:32:28,657.657 INFO    ] Checking for system updates...
[2026-10-20 11:32:28,693.693 INFO    ] 200
[2026-10-20 11:32:28,695.695 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:32:28,749.749 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:32:28,751.751 INFO    ] No update needed
[2026-10-20 11:32:28,753.753 INFO    ] Checking for camera pi updates...
[2026-10-20 11:32:28,786.786 INFO    ] 200
[2026-10-20 11:32:28,789.789 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:32:28,829.829 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:32:28,881.881 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:32:28,883.883 INFO    ] No camera update needed
[2026-10-20 11:32:28,885.885 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:32:28,887.887 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:32:28,893.893 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:32:28,898.898 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:32:30,937.937 INFO    ] ================================================
[2026-10-20 11:32:30,952.952 INFO    ] Launching Daemon at Tue Oct 20 11:32:30 IST 2026
[2026-10-20 11:32:30,963.963 INFO    ] ================================================
[2026-10-20 11:32:31,542.542 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:32:31
[2026-10-20 11:32:32,166.166 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:32:32,445.445 INFO    ] Initializing speech engine...
[2026-10-20 11:32:32,465.465 INFO    ] 2026-10-20 11:32:32
[2026-10-20 11:32:32,753.753 INFO    ] 2026-10-20 11:32:32
[2026-10-20 11:32:32,794.794 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:32:32,991.991 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:32:32,994.994 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:32:33,131.131 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:32:33,138.138 INFO    ] time= 20/10/2026 11:32:33
[2026-10-20 11:32:33,170.170 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:32:33,180.180 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:32:33,307.307 INFO    ] No existing commands found in stream
[2026-10-20 11:32:38,334.334 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:32:38,337.337 INFO    ] Waiting 3.95 seconds before fallback handling...
[2026-10-20 11:32:42,760.760 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 11:32:42,762.762 INFO    ] Checking for system updates...
[2026-10-20 11:32:42,798.798 INFO    ] 200
[2026-10-20 11:32:42,800.800 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:32:42,859.859 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:32:42,862.862 INFO    ] No update needed
[2026-10-20 11:32:42,864.864 INFO    ] Checking for camera pi updates...
[2026-10-20 11:32:42,897.897 INFO    ] 200
[2026-10-20 11:32:42,899.899 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:32:42,940.940 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:32:42,988.988 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:32:42,991.991 INFO    ] No camera update needed
[2026-10-20 11:32:42,993.993 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:32:42,996.996 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:32:43,001.001 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:32:43,006.006 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:32:45,045.045 INFO    ] ================================================
[2026-10-20 11:32:45,061.061 INFO    ] Launching Daemon at Tue Oct 20 11:32:45 IST 2026
[2026-10-20 11:32:45,072.072 INFO    ] ================================================
[2026-10-20 11:32:45,641.641 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:32:45
[2026-10-20 11:32:46,239.239 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:32:46,543.543 INFO    ] Initializing speech engine...
[2026-10-20 11:32:46,557.557 INFO    ] 2026-10-20 11:32:46
[2026-10-20 11:32:46,841.841 INFO    ] 2026-10-20 11:32:46
[2026-10-20 11:32:46,889.889 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:32:47,116.116 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:32:47,125.125 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:32:47,330.330 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:32:47,375.375 INFO    ] time= 20/10/2026 11:32:47
[2026-10-20 11:32:47,392.392 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:32:47,398.398 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:32:47,525.525 INFO    ] No existing commands found in stream
[2026-10-20 11:32:52,545.545 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:32:52,548.548 INFO    ] Waiting 2.18 seconds before fallback handling...
[2026-10-20 11:32:55,193.193 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:32:55,195.195 INFO    ] Checking for system updates...
[2026-10-20 11:32:55,231.231 INFO    ] 200
[2026-10-20 11:32:55,233.233 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:32:55,286.286 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:32:55,288.288 INFO    ] No update needed
[2026-10-20 11:32:55,290.290 INFO    ] Checking for camera pi updates...
[2026-10-20 11:32:55,324.324 INFO    ] 200
[2026-10-20 11:32:55,326.326 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:32:55,371.371 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:32:55,419.419 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:32:55,422.422 INFO    ] No camera update needed
[2026-10-20 11:32:55,424.424 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:32:55,426.426 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:32:55,432.432 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:32:55,436.436 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:32:57,475.475 INFO    ] ================================================
[2026-10-20 11:32:57,490.490 INFO    ] Launching Daemon at Tue Oct 20 11:32:57 IST 2026
[2026-10-20 11:32:57,501.501 INFO    ] ================================================
[2026-10-20 11:32:58,082.082 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:32:58
[2026-10-20 11:32:58,683.683 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:32:58,946.946 INFO    ] Initializing speech engine...
[2026-10-20 11:32:58,968.968 INFO    ] 2026-10-20 11:32:58
[2026-10-20 11:32:59,251.251 INFO    ] 2026-10-20 11:32:59
[2026-10-20 11:32:59,289.289 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:32:59,497.497 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:32:59,520.520 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:32:59,699.699 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:32:59,759.759 INFO    ] time= 20/10/2026 11:32:59
[2026-10-20 11:32:59,818.818 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:32:59,834.834 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:32:59,953.953 INFO    ] No existing commands found in stream
[2026-10-20 11:33:04,985.985 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:33:04,988.988 INFO    ] Waiting 0.66 seconds before fallback handling...
[2026-10-20 11:33:06,146.146 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 11:33:06,149.149 INFO    ] Checking for system updates...
[2026-10-20 11:33:06,185.185 INFO    ] 200
[2026-10-20 11:33:06,187.187 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:33:06,247.247 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:33:06,250.250 INFO    ] No update needed
[2026-10-20 11:33:06,253.253 INFO    ] Checking for camera pi updates...
[2026-10-20 11:33:06,287.287 INFO    ] 200
[2026-10-20 11:33:06,290.290 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:33:06,336.336 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:33:06,386.386 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:33:06,389.389 INFO    ] No camera update needed
[2026-10-20 11:33:06,392.392 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:33:06,395.395 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:33:06,401.401 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:33:06,407.407 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:33:08,447.447 INFO    ] ================================================
[2026-10-20 11:33:08,462.462 INFO    ] Launching Daemon at Tue Oct 20 11:33:08 IST 2026
[2026-10-20 11:33:08,472.472 INFO    ] ================================================
[2026-10-20 11:33:09,038.038 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:33:09
[2026-10-20 11:33:09,627.627 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:33:09,942.942 INFO    ] Initializing speech engine...
[2026-10-20 11:33:09,951.951 INFO    ] 2026-10-20 11:33:09
[2026-10-20 11:33:10,246.246 INFO    ] 2026-10-20 11:33:10
[2026-10-20 11:33:10,293.293 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:33:10,525.525 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:33:10,531.531 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:33:10,772.772 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:33:10,799.799 INFO    ] time= 20/10/2026 11:33:10
[2026-10-20 11:33:10,816.816 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:33:10,825.825 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:33:10,950.950 INFO    ] No existing commands found in stream
[2026-10-20 11:33:15,969.969 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:33:15,973.973 INFO    ] Waiting 1.16 seconds before fallback handling...
[2026-10-20 11:33:17,633.633 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 11:33:17,636.636 INFO    ] Checking for system updates...
[2026-10-20 11:33:17,676.676 INFO    ] 200
[2026-10-20 11:33:17,679.679 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:33:17,739.739 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:33:17,742.742 INFO    ] No update needed
[2026-10-20 11:33:17,745.745 INFO    ] Checking for camera pi updates...
[2026-10-20 11:33:17,783.783 INFO    ] 200
[2026-10-20 11:33:17,786.786 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:33:17,827.827 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:33:17,875.875 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:33:17,877.877 INFO    ] No camera update needed
[2026-10-20 11:33:17,880.880 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:33:17,883.883 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:33:17,889.889 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:33:17,895.895 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:33:19,936.936 INFO    ] ================================================
[2026-10-20 11:33:19,951.951 INFO    ] Launching Daemon at Tue Oct 20 11:33:19 IST 2026
[2026-10-20 11:33:19,962.962 INFO    ] ================================================
[2026-10-20 11:33:20,609.609 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:33:20
[2026-10-20 11:33:21,278.278 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:33:21,583.583 INFO    ] Initializing speech engine...
[2026-10-20 11:33:21,592.592 INFO    ] 2026-10-20 11:33:21
[2026-10-20 11:33:21,914.914 INFO    ] 2026-10-20 11:33:21
[2026-10-20 11:33:22,002.002 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:33:22,164.164 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:33:22,185.185 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:33:22,412.412 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:33:22,436.436 INFO    ] time= 20/10/2026 11:33:22
[2026-10-20 11:33:22,457.457 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:33:22,485.485 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:33:22,596.596 INFO    ] No existing commands found in stream
[2026-10-20 11:33:27,626.626 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:33:27,629.629 INFO    ] Waiting 0.19 seconds before fallback handling...
[2026-10-20 11:33:28,271.271 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 11:33:28,274.274 INFO    ] Checking for system updates...
[2026-10-20 11:33:28,310.310 INFO    ] 200
[2026-10-20 11:33:28,312.312 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:33:28,370.370 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:33:28,372.372 INFO    ] No update needed
[2026-10-20 11:33:28,375.375 INFO    ] Checking for camera pi updates...
[2026-10-20 11:33:28,409.409 INFO    ] 200
[2026-10-20 11:33:28,412.412 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:33:28,457.457 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:33:28,523.523 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:33:28,526.526 INFO    ] No camera update needed
[2026-10-20 11:33:28,529.529 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:33:28,532.532 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:33:28,538.538 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:33:28,544.544 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:33:30,584.584 INFO    ] ================================================
[2026-10-20 11:33:30,599.599 INFO    ] Launching Daemon at Tue Oct 20 11:33:30 IST 2026
[2026-10-20 11:33:30,609.609 INFO    ] ================================================
[2026-10-20 11:33:31,192.192 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:33:31
[2026-10-20 11:33:31,781.781 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:33:32,061.061 INFO    ] Initializing speech engine...
[2026-10-20 11:33:32,071.071 INFO    ] 2026-10-20 11:33:32
[2026-10-20 11:33:32,378.378 INFO    ] 2026-10-20 11:33:32
[2026-10-20 11:33:32,416.416 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:33:32,627.627 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:33:32,635.635 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:33:32,804.804 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:33:32,817.817 INFO    ] time= 20/10/2026 11:33:32
[2026-10-20 11:33:32,825.825 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:33:32,833.833 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:33:32,952.952 INFO    ] No existing commands found in stream
[2026-10-20 11:33:37,978.978 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:33:37,981.981 INFO    ] Waiting 2.37 seconds before fallback handling...
[2026-10-20 11:33:40,867.867 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 11:33:40,869.869 INFO    ] Checking for system updates...
[2026-10-20 11:33:40,905.905 INFO    ] 200
[2026-10-20 11:33:40,907.907 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:33:40,958.958 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:33:40,961.961 INFO    ] No update needed
[2026-10-20 11:33:40,963.963 INFO    ] Checking for camera pi updates...
[2026-10-20 11:33:41,000.000 INFO    ] 200
[2026-10-20 11:33:41,002.002 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:33:41,041.041 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:33:41,103.103 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:33:41,106.106 INFO    ] No camera update needed
[2026-10-20 11:33:41,108.108 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:33:41,110.110 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:33:41,115.115 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:33:41,120.120 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:33:43,160.160 INFO    ] ================================================
[2026-10-20 11:33:43,174.174 INFO    ] Launching Daemon at Tue Oct 20 11:33:43 IST 2026
[2026-10-20 11:33:43,185.185 INFO    ] ================================================
[2026-10-20 11:33:43,756.756 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:33:43
[2026-10-20 11:33:44,345.345 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:33:44,596.596 INFO    ] Initializing speech engine...
[2026-10-20 11:33:44,602.602 INFO    ] 2026-10-20 11:33:44
[2026-10-20 11:33:44,899.899 INFO    ] 2026-10-20 11:33:44
[2026-10-20 11:33:44,933.933 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:33:45,129.129 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:33:45,144.144 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:33:45,306.306 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:33:45,312.312 INFO    ] time= 20/10/2026 11:33:45
[2026-10-20 11:33:45,318.318 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:33:45,324.324 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:33:45,455.455 INFO    ] No existing commands found in stream
[2026-10-20 11:33:50,480.480 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:33:50,483.483 INFO    ] Waiting 1.79 seconds before fallback handling...
[2026-10-20 11:33:52,765.765 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:33:52,768.768 INFO    ] Checking for system updates...
[2026-10-20 11:33:52,805.805 INFO    ] 200
[2026-10-20 11:33:52,808.808 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:33:52,860.860 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:33:52,863.863 INFO    ] No update needed
[2026-10-20 11:33:52,866.866 INFO    ] Checking for camera pi updates...
[2026-10-20 11:33:52,900.900 INFO    ] 200
[2026-10-20 11:33:52,903.903 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:33:52,948.948 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:33:53,006.006 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:33:53,009.009 INFO    ] No camera update needed
[2026-10-20 11:33:53,011.011 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:33:53,014.014 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:33:53,020.020 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:33:53,026.026 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:33:55,066.066 INFO    ] ================================================
[2026-10-20 11:33:55,082.082 INFO    ] Launching Daemon at Tue Oct 20 11:33:55 IST 2026
[2026-10-20 11:33:55,092.092 INFO    ] ================================================
[2026-10-20 11:33:55,665.665 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:33:55
[2026-10-20 11:33:56,254.254 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:33:56,523.523 INFO    ] Initializing speech engine...
[2026-10-20 11:33:56,532.532 INFO    ] 2026-10-20 11:33:56
[2026-10-20 11:33:56,777.777 INFO    ] 2026-10-20 11:33:56
[2026-10-20 11:33:56,811.811 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:33:57,062.062 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:33:57,072.072 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:33:57,298.298 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:33:57,331.331 INFO    ] time= 20/10/2026 11:33:57
[2026-10-20 11:33:57,338.338 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:33:57,355.355 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:33:57,487.487 INFO    ] No existing commands found in stream
[2026-10-20 11:34:02,501.501 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:34:02,504.504 INFO    ] Waiting 3.01 seconds before fallback handling...
[2026-10-20 11:34:06,012.012 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:34:06,015.015 INFO    ] Checking for system updates...
[2026-10-20 11:34:06,050.050 INFO    ] 200
[2026-10-20 11:34:06,053.053 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:34:06,104.104 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:34:06,106.106 INFO    ] No update needed
[2026-10-20 11:34:06,109.109 INFO    ] Checking for camera pi updates...
[2026-10-20 11:34:06,142.142 INFO    ] 200
[2026-10-20 11:34:06,144.144 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:34:06,185.185 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:34:06,228.228 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:34:06,231.231 INFO    ] No camera update needed
[2026-10-20 11:34:06,233.233 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:34:06,235.235 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:34:06,241.241 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:34:06,246.246 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:34:08,286.286 INFO    ] ================================================
[2026-10-20 11:34:08,302.302 INFO    ] Launching Daemon at Tue Oct 20 11:34:08 IST 2026
[2026-10-20 11:34:08,313.313 INFO    ] ================================================
[2026-10-20 11:34:08,903.903 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:34:08
[2026-10-20 11:34:09,502.502 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:34:09,782.782 INFO    ] Initializing speech engine...
[2026-10-20 11:34:09,788.788 INFO    ] 2026-10-20 11:34:09
[2026-10-20 11:34:10,053.053 INFO    ] 2026-10-20 11:34:10
[2026-10-20 11:34:10,083.083 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:34:10,328.328 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:34:10,338.338 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:34:10,474.474 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:34:10,531.531 INFO    ] time= 20/10/2026 11:34:10
[2026-10-20 11:34:10,591.591 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:34:10,611.611 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:34:10,742.742 INFO    ] No existing commands found in stream
[2026-10-20 11:34:15,767.767 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:34:15,770.770 INFO    ] Waiting 2.16 seconds before fallback handling...
[2026-10-20 11:34:18,402.402 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 11:34:18,405.405 INFO    ] Checking for system updates...
[2026-10-20 11:34:18,441.441 INFO    ] 200
[2026-10-20 11:34:18,443.443 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:34:18,500.500 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:34:18,502.502 INFO    ] No update needed
[2026-10-20 11:34:18,504.504 INFO    ] Checking for camera pi updates...
[2026-10-20 11:34:18,539.539 INFO    ] 200
[2026-10-20 11:34:18,541.541 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:34:18,581.581 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:34:18,628.628 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:34:18,631.631 INFO    ] No camera update needed
[2026-10-20 11:34:18,633.633 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:34:18,635.635 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:34:18,641.641 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:34:18,645.645 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:34:20,686.686 INFO    ] ================================================
[2026-10-20 11:34:20,701.701 INFO    ] Launching Daemon at Tue Oct 20 11:34:20 IST 2026
[2026-10-20 11:34:20,712.712 INFO    ] ================================================
[2026-10-20 11:34:21,299.299 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:34:21
[2026-10-20 11:34:21,902.902 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:34:22,175.175 INFO    ] Initializing speech engine...
[2026-10-20 11:34:22,184.184 INFO    ] 2026-10-20 11:34:22
[2026-10-20 11:34:22,439.439 INFO    ] 2026-10-20 11:34:22
[2026-10-20 11:34:22,474.474 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:34:22,672.672 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:34:22,699.699 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:34:22,877.877 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:34:22,952.952 INFO    ] time= 20/10/2026 11:34:22
[2026-10-20 11:34:23,002.002 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:34:23,014.014 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:34:23,141.141 INFO    ] No existing commands found in stream
[2026-10-20 11:34:28,166.166 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:34:28,169.169 INFO    ] Waiting 1.00 seconds before fallback handling...
[2026-10-20 11:34:29,624.624 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:34:29,627.627 INFO    ] Checking for system updates...
[2026-10-20 11:34:29,662.662 INFO    ] 200
[2026-10-20 11:34:29,664.664 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:34:29,718.718 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:34:29,720.720 INFO    ] No update needed
[2026-10-20 11:34:29,723.723 INFO    ] Checking for camera pi updates...
[2026-10-20 11:34:29,756.756 INFO    ] 200
[2026-10-20 11:34:29,759.759 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:34:29,799.799 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:34:29,946.946 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:34:29,949.949 INFO    ] No camera update needed
[2026-10-20 11:34:29,951.951 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:34:29,954.954 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:34:29,959.959 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:34:29,964.964 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:34:32,008.008 INFO    ] ================================================
[2026-10-20 11:34:32,028.028 INFO    ] Launching Daemon at Tue Oct 20 11:34:32 IST 2026
[2026-10-20 11:34:32,041.041 INFO    ] ================================================
[2026-10-20 11:34:32,640.640 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:34:32
[2026-10-20 11:34:33,262.262 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:34:33,536.536 INFO    ] Initializing speech engine...
[2026-10-20 11:34:33,545.545 INFO    ] 2026-10-20 11:34:33
[2026-10-20 11:34:33,843.843 INFO    ] 2026-10-20 11:34:33
[2026-10-20 11:34:33,879.879 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:34:34,079.079 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:34:34,094.094 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:34:34,256.256 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:34:34,266.266 INFO    ] time= 20/10/2026 11:34:34
[2026-10-20 11:34:34,274.274 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:34:34,315.315 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:34:34,441.441 INFO    ] No existing commands found in stream
[2026-10-20 11:34:39,461.461 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:34:39,464.464 INFO    ] Waiting 3.87 seconds before fallback handling...
[2026-10-20 11:34:43,792.792 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:34:43,794.794 INFO    ] Checking for system updates...
[2026-10-20 11:34:43,830.830 INFO    ] 200
[2026-10-20 11:34:43,832.832 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:34:43,884.884 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:34:43,886.886 INFO    ] No update needed
[2026-10-20 11:34:43,888.888 INFO    ] Checking for camera pi updates...
[2026-10-20 11:34:43,922.922 INFO    ] 200
[2026-10-20 11:34:43,924.924 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:34:43,965.965 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:34:44,014.014 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:34:44,016.016 INFO    ] No camera update needed
[2026-10-20 11:34:44,019.019 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:34:44,021.021 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:34:44,027.027 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:34:44,032.032 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:34:46,071.071 INFO    ] ================================================
[2026-10-20 11:34:46,085.085 INFO    ] Launching Daemon at Tue Oct 20 11:34:46 IST 2026
[2026-10-20 11:34:46,096.096 INFO    ] ================================================
[2026-10-20 11:34:46,665.665 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:34:46
[2026-10-20 11:34:47,250.250 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:34:47,497.497 INFO    ] Initializing speech engine...
[2026-10-20 11:34:47,505.505 INFO    ] 2026-10-20 11:34:47
[2026-10-20 11:34:47,800.800 INFO    ] 2026-10-20 11:34:47
[2026-10-20 11:34:47,839.839 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:34:48,068.068 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:34:48,103.103 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:34:48,298.298 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:34:48,312.312 INFO    ] time= 20/10/2026 11:34:48
[2026-10-20 11:34:48,356.356 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:34:48,405.405 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:34:48,479.479 INFO    ] No existing commands found in stream
[2026-10-20 11:34:53,491.491 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:34:53,494.494 INFO    ] Waiting 3.68 seconds before fallback handling...
[2026-10-20 11:34:57,659.659 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:34:57,661.661 INFO    ] Checking for system updates...
[2026-10-20 11:34:57,701.701 INFO    ] 200
[2026-10-20 11:34:57,704.704 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:34:57,760.760 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:34:57,763.763 INFO    ] No update needed
[2026-10-20 11:34:57,765.765 INFO    ] Checking for camera pi updates...
[2026-10-20 11:34:57,799.799 INFO    ] 200
[2026-10-20 11:34:57,801.801 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:34:57,841.841 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:34:57,891.891 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:34:57,893.893 INFO    ] No camera update needed
[2026-10-20 11:34:57,896.896 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:34:57,898.898 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:34:57,903.903 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:34:57,908.908 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:34:59,947.947 INFO    ] ================================================
[2026-10-20 11:34:59,961.961 INFO    ] Launching Daemon at Tue Oct 20 11:34:59 IST 2026
[2026-10-20 11:34:59,972.972 INFO    ] ================================================
[2026-10-20 11:35:00,538.538 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:35:00
[2026-10-20 11:35:01,120.120 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:35:01,369.369 INFO    ] Initializing speech engine...
[2026-10-20 11:35:01,382.382 INFO    ] 2026-10-20 11:35:01
[2026-10-20 11:35:01,647.647 INFO    ] 2026-10-20 11:35:01
[2026-10-20 11:35:01,683.683 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:35:01,928.928 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:35:01,969.969 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:35:02,216.216 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:35:02,224.224 INFO    ] time= 20/10/2026 11:35:02
[2026-10-20 11:35:02,227.227 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:35:02,231.231 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:35:02,306.306 INFO    ] No existing commands found in stream
[2026-10-20 11:35:07,316.316 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:35:07,319.319 INFO    ] Waiting 0.90 seconds before fallback handling...
[2026-10-20 11:35:08,688.688 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:35:08,691.691 INFO    ] Checking for system updates...
[2026-10-20 11:35:08,728.728 INFO    ] 200
[2026-10-20 11:35:08,731.731 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:35:08,787.787 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:35:08,789.789 INFO    ] No update needed
[2026-10-20 11:35:08,792.792 INFO    ] Checking for camera pi updates...
[2026-10-20 11:35:08,828.828 INFO    ] 200
[2026-10-20 11:35:08,831.831 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:35:08,876.876 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:35:08,937.937 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:35:08,940.940 INFO    ] No camera update needed
[2026-10-20 11:35:08,942.942 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:35:08,945.945 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:35:08,951.951 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:35:08,956.956 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:35:11,998.998 INFO    ] ================================================
[2026-10-20 11:35:11,013.013 INFO    ] Launching Daemon at Tue Oct 20 11:35:11 IST 2026
[2026-10-20 11:35:11,024.024 INFO    ] ================================================
[2026-10-20 11:35:11,594.594 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:35:11
[2026-10-20 11:35:12,180.180 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:35:12,428.428 INFO    ] Initializing speech engine...
[2026-10-20 11:35:12,452.452 INFO    ] 2026-10-20 11:35:12
[2026-10-20 11:35:12,710.710 INFO    ] 2026-10-20 11:35:12
[2026-10-20 11:35:12,745.745 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:35:12,944.944 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:35:13,003.003 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:35:13,188.188 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:35:13,243.243 INFO    ] time= 20/10/2026 11:35:13
[2026-10-20 11:35:13,269.269 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:35:13,275.275 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:35:13,404.404 INFO    ] No existing commands found in stream
[2026-10-20 11:35:18,430.430 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:35:18,432.432 INFO    ] Waiting 0.26 seconds before fallback handling...
[2026-10-20 11:35:19,154.154 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 11:35:19,157.157 INFO    ] Checking for system updates...
[2026-10-20 11:35:19,193.193 INFO    ] 200
[2026-10-20 11:35:19,196.196 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:35:19,254.254 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:35:19,257.257 INFO    ] No update needed
[2026-10-20 11:35:19,260.260 INFO    ] Checking for camera pi updates...
[2026-10-20 11:35:19,294.294 INFO    ] 200
[2026-10-20 11:35:19,297.297 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:35:19,339.339 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:35:19,389.389 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:35:19,392.392 INFO    ] No camera update needed
[2026-10-20 11:35:19,394.394 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:35:19,397.397 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:35:19,402.402 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:35:19,407.407 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:35:21,448.448 INFO    ] ================================================
[2026-10-20 11:35:21,463.463 INFO    ] Launching Daemon at Tue Oct 20 11:35:21 IST 2026
[2026-10-20 11:35:21,474.474 INFO    ] ================================================
[2026-10-20 11:35:22,048.048 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:35:22
[2026-10-20 11:35:22,635.635 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:35:22,917.917 INFO    ] Initializing speech engine...
[2026-10-20 11:35:22,925.925 INFO    ] 2026-10-20 11:35:22
[2026-10-20 11:35:23,180.180 INFO    ] 2026-10-20 11:35:23
[2026-10-20 11:35:23,215.215 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:35:23,410.410 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:35:23,467.467 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:35:23,611.611 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:35:23,648.648 INFO    ] time= 20/10/2026 11:35:23
[2026-10-20 11:35:23,697.697 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:35:23,746.746 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:35:23,881.881 INFO    ] No existing commands found in stream
[2026-10-20 11:35:28,911.911 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:35:28,914.914 INFO    ] Waiting 3.71 seconds before fallback handling...
[2026-10-20 11:35:33,138.138 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 11:35:33,143.143 INFO    ] Checking for system updates...
[2026-10-20 11:35:33,178.178 INFO    ] 200
[2026-10-20 11:35:33,181.181 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:35:33,233.233 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:35:33,235.235 INFO    ] No update needed
[2026-10-20 11:35:33,238.238 INFO    ] Checking for camera pi updates...
[2026-10-20 11:35:33,274.274 INFO    ] 200
[2026-10-20 11:35:33,276.276 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:35:33,322.322 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:35:33,356.356 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:35:33,358.358 INFO    ] No camera update needed
[2026-10-20 11:35:33,361.361 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:35:33,363.363 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:35:33,370.370 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:35:33,375.375 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:35:35,416.416 INFO    ] ================================================
[2026-10-20 11:35:35,432.432 INFO    ] Launching Daemon at Tue Oct 20 11:35:35 IST 2026
[2026-10-20 11:35:35,444.444 INFO    ] ================================================
[2026-10-20 11:35:36,012.012 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:35:36
[2026-10-20 11:35:36,598.598 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:35:36,847.847 INFO    ] Initializing speech engine...
[2026-10-20 11:35:36,868.868 INFO    ] 2026-10-20 11:35:36
[2026-10-20 11:35:37,128.128 INFO    ] 2026-10-20 11:35:37
[2026-10-20 11:35:37,162.162 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:35:37,365.365 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:35:37,425.425 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:35:37,569.569 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:35:37,619.619 INFO    ] time= 20/10/2026 11:35:37
[2026-10-20 11:35:37,673.673 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:35:37,704.704 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:35:37,836.836 INFO    ] No existing commands found in stream
[2026-10-20 11:35:42,861.861 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:35:42,864.864 INFO    ] Waiting 2.15 seconds before fallback handling...
[2026-10-20 11:35:45,503.503 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 11:35:45,506.506 INFO    ] Checking for system updates...
[2026-10-20 11:35:45,543.543 INFO    ] 200
[2026-10-20 11:35:45,546.546 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:35:45,599.599 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:35:45,602.602 INFO    ] No update needed
[2026-10-20 11:35:45,605.605 INFO    ] Checking for camera pi updates...
[2026-10-20 11:35:45,639.639 INFO    ] 200
[2026-10-20 11:35:45,642.642 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:35:45,684.684 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:35:45,731.731 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:35:45,734.734 INFO    ] No camera update needed
[2026-10-20 11:35:45,737.737 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:35:45,739.739 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:35:45,746.746 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:35:45,752.752 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:35:47,791.791 INFO    ] ================================================
[2026-10-20 11:35:47,807.807 INFO    ] Launching Daemon at Tue Oct 20 11:35:47 IST 2026
[2026-10-20 11:35:47,821.821 INFO    ] ================================================
[2026-10-20 11:35:48,387.387 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:35:48
[2026-10-20 11:35:48,971.971 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:35:49,224.224 INFO    ] Initializing speech engine...
[2026-10-20 11:35:49,247.247 INFO    ] 2026-10-20 11:35:49
[2026-10-20 11:35:49,502.502 INFO    ] 2026-10-20 11:35:49
[2026-10-20 11:35:49,545.545 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:35:49,796.796 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:35:49,806.806 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:35:50,009.009 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:35:50,063.063 INFO    ] time= 20/10/2026 11:35:50
[2026-10-20 11:35:50,077.077 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:35:50,095.095 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:35:50,223.223 INFO    ] No existing commands found in stream
[2026-10-20 11:35:55,239.239 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:35:55,242.242 INFO    ] Waiting 2.86 seconds before fallback handling...
[2026-10-20 11:35:58,586.586 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:35:58,588.588 INFO    ] Checking for system updates...
[2026-10-20 11:35:58,624.624 INFO    ] 200
[2026-10-20 11:35:58,626.626 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:35:58,679.679 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:35:58,682.682 INFO    ] No update needed
[2026-10-20 11:35:58,684.684 INFO    ] Checking for camera pi updates...
[2026-10-20 11:35:58,717.717 INFO    ] 200
[2026-10-20 11:35:58,720.720 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:35:58,760.760 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:35:58,808.808 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:35:58,810.810 INFO    ] No camera update needed
[2026-10-20 11:35:58,813.813 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:35:58,815.815 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:35:58,820.820 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:35:58,825.825 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:36:00,870.870 INFO    ] ================================================
[2026-10-20 11:36:00,886.886 INFO    ] Launching Daemon at Tue Oct 20 11:36:00 IST 2026
[2026-10-20 11:36:00,896.896 INFO    ] ================================================
[2026-10-20 11:36:01,571.571 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:36:01
[2026-10-20 11:36:02,318.318 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:36:02,607.607 INFO    ] Initializing speech engine...
[2026-10-20 11:36:02,635.635 INFO    ] 2026-10-20 11:36:02
[2026-10-20 11:36:02,968.968 INFO    ] 2026-10-20 11:36:02
[2026-10-20 11:36:03,019.019 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:36:03,213.213 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:36:03,230.230 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:36:03,436.436 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:36:03,459.459 INFO    ] time= 20/10/2026 11:36:03
[2026-10-20 11:36:03,519.519 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:36:03,569.569 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:36:03,700.700 INFO    ] No existing commands found in stream
[2026-10-20 11:36:08,725.725 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:36:08,728.728 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-10-20 11:36:12,649.649 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:36:12,651.651 INFO    ] Checking for system updates...
[2026-10-20 11:36:12,688.688 INFO    ] 200
[2026-10-20 11:36:12,691.691 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:36:12,743.743 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:36:12,746.746 INFO    ] No update needed
[2026-10-20 11:36:12,748.748 INFO    ] Checking for camera pi updates...
[2026-10-20 11:36:12,786.786 INFO    ] 200
[2026-10-20 11:36:12,788.788 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:36:12,833.833 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:36:12,886.886 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:36:12,889.889 INFO    ] No camera update needed
[2026-10-20 11:36:12,891.891 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:36:12,894.894 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:36:12,899.899 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:36:12,904.904 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:36:14,943.943 INFO    ] ================================================
[2026-10-20 11:36:14,958.958 INFO    ] Launching Daemon at Tue Oct 20 11:36:14 IST 2026
[2026-10-20 11:36:14,969.969 INFO    ] ================================================
[2026-10-20 11:36:15,620.620 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:36:15
[2026-10-20 11:36:16,290.290 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:36:16,596.596 INFO    ] Initializing speech engine...
[2026-10-20 11:36:16,609.609 INFO    ] 2026-10-20 11:36:16
[2026-10-20 11:36:16,881.881 INFO    ] 2026-10-20 11:36:16
[2026-10-20 11:36:17,007.007 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:36:17,167.167 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:36:17,174.174 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:36:17,395.395 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:36:17,436.436 INFO    ] time= 20/10/2026 11:36:17
[2026-10-20 11:36:17,443.443 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:36:17,461.461 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:36:17,579.579 INFO    ] No existing commands found in stream
[2026-10-20 11:36:22,602.602 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:36:22,605.605 INFO    ] Waiting 0.28 seconds before fallback handling...
[2026-10-20 11:36:23,379.379 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:36:23,381.381 INFO    ] Checking for system updates...
[2026-10-20 11:36:23,417.417 INFO    ] 200
[2026-10-20 11:36:23,420.420 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:36:23,476.476 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:36:23,478.478 INFO    ] No update needed
[2026-10-20 11:36:23,481.481 INFO    ] Checking for camera pi updates...
[2026-10-20 11:36:23,515.515 INFO    ] 200
[2026-10-20 11:36:23,517.517 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:36:23,562.562 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:36:23,610.610 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:36:23,612.612 INFO    ] No camera update needed
[2026-10-20 11:36:23,614.614 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:36:23,617.617 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:36:23,622.622 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:36:23,627.627 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:36:25,666.666 INFO    ] ================================================
[2026-10-20 11:36:25,682.682 INFO    ] Launching Daemon at Tue Oct 20 11:36:25 IST 2026
[2026-10-20 11:36:25,693.693 INFO    ] ================================================
[2026-10-20 11:36:26,276.276 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:36:26
[2026-10-20 11:36:26,877.877 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:36:27,156.156 INFO    ] Initializing speech engine...
[2026-10-20 11:36:27,163.163 INFO    ] 2026-10-20 11:36:27
[2026-10-20 11:36:27,424.424 INFO    ] 2026-10-20 11:36:27
[2026-10-20 11:36:27,454.454 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:36:27,700.700 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:36:27,710.710 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:36:27,908.908 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:36:27,967.967 INFO    ] time= 20/10/2026 11:36:27
[2026-10-20 11:36:27,974.974 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:36:27,995.995 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:36:28,108.108 INFO    ] No existing commands found in stream
[2026-10-20 11:36:33,134.134 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:36:33,137.137 INFO    ] Waiting 3.90 seconds before fallback handling...
[2026-10-20 11:36:37,536.536 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:36:37,538.538 INFO    ] Checking for system updates...
[2026-10-20 11:36:37,575.575 INFO    ] 200
[2026-10-20 11:36:37,577.577 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:36:37,633.633 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:36:37,635.635 INFO    ] No update needed
[2026-10-20 11:36:37,638.638 INFO    ] Checking for camera pi updates...
[2026-10-20 11:36:37,671.671 INFO    ] 200
[2026-10-20 11:36:37,674.674 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:36:37,719.719 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:36:37,765.765 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:36:37,768.768 INFO    ] No camera update needed
[2026-10-20 11:36:37,770.770 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:36:37,773.773 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:36:37,778.778 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:36:37,783.783 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:36:39,823.823 INFO    ] ================================================
[2026-10-20 11:36:39,839.839 INFO    ] Launching Daemon at Tue Oct 20 11:36:39 IST 2026
[2026-10-20 11:36:39,851.851 INFO    ] ================================================
[2026-10-20 11:36:40,420.420 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:36:40
[2026-10-20 11:36:41,007.007 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:36:41,279.279 INFO    ] Initializing speech engine...
[2026-10-20 11:36:41,289.289 INFO    ] 2026-10-20 11:36:41
[2026-10-20 11:36:41,538.538 INFO    ] 2026-10-20 11:36:41
[2026-10-20 11:36:41,572.572 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:36:41,773.773 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:36:41,801.801 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:36:41,979.979 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:36:42,021.021 INFO    ] time= 20/10/2026 11:36:41
[2026-10-20 11:36:42,081.081 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:36:42,116.116 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:36:42,242.242 INFO    ] No existing commands found in stream
[2026-10-20 11:36:47,267.267 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:36:47,270.270 INFO    ] Waiting 1.32 seconds before fallback handling...
[2026-10-20 11:36:49,070.070 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:36:49,073.073 INFO    ] Checking for system updates...
[2026-10-20 11:36:49,109.109 INFO    ] 200
[2026-10-20 11:36:49,111.111 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:36:49,169.169 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:36:49,171.171 INFO    ] No update needed
[2026-10-20 11:36:49,174.174 INFO    ] Checking for camera pi updates...
[2026-10-20 11:36:49,207.207 INFO    ] 200
[2026-10-20 11:36:49,210.210 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:36:49,255.255 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:36:49,305.305 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:36:49,308.308 INFO    ] No camera update needed
[2026-10-20 11:36:49,311.311 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:36:49,313.313 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:36:49,319.319 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:36:49,324.324 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:36:51,365.365 INFO    ] ================================================
[2026-10-20 11:36:51,380.380 INFO    ] Launching Daemon at Tue Oct 20 11:36:51 IST 2026
[2026-10-20 11:36:51,390.390 INFO    ] ================================================
[2026-10-20 11:36:52,038.038 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:36:52
[2026-10-20 11:36:52,697.697 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:36:53,012.012 INFO    ] Initializing speech engine...
[2026-10-20 11:36:53,018.018 INFO    ] 2026-10-20 11:36:53
[2026-10-20 11:36:53,277.277 INFO    ] 2026-10-20 11:36:53
[2026-10-20 11:36:53,332.332 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:36:53,555.555 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:36:53,565.565 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:36:53,701.701 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:36:53,741.741 INFO    ] time= 20/10/2026 11:36:53
[2026-10-20 11:36:53,800.800 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:36:53,833.833 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:36:53,956.956 INFO    ] No existing commands found in stream
[2026-10-20 11:36:58,966.966 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:36:58,969.969 INFO    ] Waiting 1.00 seconds before fallback handling...
[2026-10-20 11:37:00,461.461 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:37:00,464.464 INFO    ] Checking for system updates...
[2026-10-20 11:37:00,502.502 INFO    ] 200
[2026-10-20 11:37:00,505.505 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:37:00,562.562 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:37:00,565.565 INFO    ] No update needed
[2026-10-20 11:37:00,567.567 INFO    ] Checking for camera pi updates...
[2026-10-20 11:37:00,600.600 INFO    ] 200
[2026-10-20 11:37:00,603.603 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:37:00,643.643 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:37:00,698.698 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:37:00,700.700 INFO    ] No camera update needed
[2026-10-20 11:37:00,703.703 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:37:00,705.705 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:37:00,711.711 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:37:00,716.716 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:37:02,756.756 INFO    ] ================================================
[2026-10-20 11:37:02,772.772 INFO    ] Launching Daemon at Tue Oct 20 11:37:02 IST 2026
[2026-10-20 11:37:02,783.783 INFO    ] ================================================
[2026-10-20 11:37:03,464.464 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:37:03
[2026-10-20 11:37:04,053.053 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:37:04,306.306 INFO    ] Initializing speech engine...
[2026-10-20 11:37:04,312.312 INFO    ] 2026-10-20 11:37:04
[2026-10-20 11:37:04,613.613 INFO    ] 2026-10-20 11:37:04
[2026-10-20 11:37:04,647.647 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:37:04,847.847 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:37:04,863.863 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:37:05,025.025 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:37:05,034.034 INFO    ] time= 20/10/2026 11:37:05
[2026-10-20 11:37:05,039.039 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:37:05,045.045 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:37:05,181.181 INFO    ] No existing commands found in stream
[2026-10-20 11:37:10,201.201 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:37:10,204.204 INFO    ] Waiting 0.81 seconds before fallback handling...
[2026-10-20 11:37:11,532.532 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 11:37:11,535.535 INFO    ] Checking for system updates...
[2026-10-20 11:37:11,571.571 INFO    ] 200
[2026-10-20 11:37:11,573.573 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:37:11,631.631 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:37:11,633.633 INFO    ] No update needed
[2026-10-20 11:37:11,636.636 INFO    ] Checking for camera pi updates...
[2026-10-20 11:37:11,670.670 INFO    ] 200
[2026-10-20 11:37:11,672.672 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:37:11,717.717 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:37:11,769.769 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:37:11,771.771 INFO    ] No camera update needed
[2026-10-20 11:37:11,774.774 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:37:11,776.776 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:37:11,781.781 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:37:11,786.786 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:37:13,826.826 INFO    ] ================================================
[2026-10-20 11:37:13,841.841 INFO    ] Launching Daemon at Tue Oct 20 11:37:13 IST 2026
[2026-10-20 11:37:13,851.851 INFO    ] ================================================
[2026-10-20 11:37:14,438.438 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:37:14
[2026-10-20 11:37:15,042.042 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:37:15,311.311 INFO    ] Initializing speech engine...
[2026-10-20 11:37:15,335.335 INFO    ] 2026-10-20 11:37:15
[2026-10-20 11:37:15,612.612 INFO    ] 2026-10-20 11:37:15
[2026-10-20 11:37:15,649.649 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:37:15,848.848 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:37:15,861.861 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:37:16,027.027 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:37:16,032.032 INFO    ] time= 20/10/2026 11:37:16
[2026-10-20 11:37:16,041.041 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:37:16,092.092 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:37:16,200.200 INFO    ] No existing commands found in stream
[2026-10-20 11:37:21,225.225 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:37:21,229.229 INFO    ] Waiting 0.27 seconds before fallback handling...
[2026-10-20 11:37:22,027.027 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:37:22,030.030 INFO    ] Checking for system updates...
[2026-10-20 11:37:22,069.069 INFO    ] 200
[2026-10-20 11:37:22,072.072 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:37:22,124.124 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:37:22,126.126 INFO    ] No update needed
[2026-10-20 11:37:22,129.129 INFO    ] Checking for camera pi updates...
[2026-10-20 11:37:22,162.162 INFO    ] 200
[2026-10-20 11:37:22,164.164 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:37:22,205.205 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:37:22,236.236 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:37:22,239.239 INFO    ] No camera update needed
[2026-10-20 11:37:22,241.241 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:37:22,244.244 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:37:22,250.250 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:37:22,255.255 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:37:24,293.293 INFO    ] ================================================
[2026-10-20 11:37:24,308.308 INFO    ] Launching Daemon at Tue Oct 20 11:37:24 IST 2026
[2026-10-20 11:37:24,319.319 INFO    ] ================================================
[2026-10-20 11:37:24,904.904 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:37:24
[2026-10-20 11:37:25,532.532 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:37:25,836.836 INFO    ] Initializing speech engine...
[2026-10-20 11:37:25,847.847 INFO    ] 2026-10-20 11:37:25
[2026-10-20 11:37:26,129.129 INFO    ] 2026-10-20 11:37:26
[2026-10-20 11:37:26,167.167 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:37:26,393.393 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:37:26,398.398 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:37:26,628.628 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:37:26,656.656 INFO    ] time= 20/10/2026 11:37:26
[2026-10-20 11:37:26,674.674 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:37:26,703.703 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:37:26,820.820 INFO    ] No existing commands found in stream
[2026-10-20 11:37:31,851.851 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:37:31,854.854 INFO    ] Waiting 2.23 seconds before fallback handling...
[2026-10-20 11:37:34,611.611 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 11:37:34,614.614 INFO    ] Checking for system updates...
[2026-10-20 11:37:34,651.651 INFO    ] 200
[2026-10-20 11:37:34,653.653 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:37:34,706.706 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:37:34,709.709 INFO    ] No update needed
[2026-10-20 11:37:34,712.712 INFO    ] Checking for camera pi updates...
[2026-10-20 11:37:34,750.750 INFO    ] 200
[2026-10-20 11:37:34,753.753 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:37:34,795.795 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:37:34,851.851 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:37:34,854.854 INFO    ] No camera update needed
[2026-10-20 11:37:34,858.858 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:37:34,861.861 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:37:34,867.867 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:37:34,873.873 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:37:36,913.913 INFO    ] ================================================
[2026-10-20 11:37:36,928.928 INFO    ] Launching Daemon at Tue Oct 20 11:37:36 IST 2026
[2026-10-20 11:37:36,939.939 INFO    ] ================================================
[2026-10-20 11:37:37,521.521 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:37:37
[2026-10-20 11:37:38,118.118 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:37:38,391.391 INFO    ] Initializing speech engine...
[2026-10-20 11:37:38,400.400 INFO    ] 2026-10-20 11:37:38
[2026-10-20 11:37:38,650.650 INFO    ] 2026-10-20 11:37:38
[2026-10-20 11:37:38,685.685 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:37:38,882.882 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:37:38,939.939 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:37:39,149.149 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:37:39,202.202 INFO    ] time= 20/10/2026 11:37:39
[2026-10-20 11:37:39,209.209 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:37:39,227.227 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:37:39,347.347 INFO    ] No existing commands found in stream
[2026-10-20 11:37:44,368.368 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:37:44,371.371 INFO    ] Waiting 1.03 seconds before fallback handling...
[2026-10-20 11:37:45,878.878 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 11:37:45,881.881 INFO    ] Checking for system updates...
[2026-10-20 11:37:45,918.918 INFO    ] 200
[2026-10-20 11:37:45,921.921 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:37:45,974.974 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:37:45,977.977 INFO    ] No update needed
[2026-10-20 11:37:45,980.980 INFO    ] Checking for camera pi updates...
[2026-10-20 11:37:46,018.018 INFO    ] 200
[2026-10-20 11:37:46,020.020 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:37:46,070.070 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:37:46,120.120 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:37:46,122.122 INFO    ] No camera update needed
[2026-10-20 11:37:46,124.124 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:37:46,127.127 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:37:46,132.132 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:37:46,137.137 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:37:48,177.177 INFO    ] ================================================
[2026-10-20 11:37:48,192.192 INFO    ] Launching Daemon at Tue Oct 20 11:37:48 IST 2026
[2026-10-20 11:37:48,203.203 INFO    ] ================================================
[2026-10-20 11:37:48,770.770 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:37:48
[2026-10-20 11:37:49,355.355 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:37:49,621.621 INFO    ] Initializing speech engine...
[2026-10-20 11:37:49,633.633 INFO    ] 2026-10-20 11:37:49
[2026-10-20 11:37:49,881.881 INFO    ] 2026-10-20 11:37:49
[2026-10-20 11:37:49,916.916 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:37:50,119.119 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:37:50,178.178 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:37:50,379.379 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:37:50,428.428 INFO    ] time= 20/10/2026 11:37:50
[2026-10-20 11:37:50,452.452 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:37:50,458.458 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:37:50,586.586 INFO    ] No existing commands found in stream
[2026-10-20 11:37:55,611.611 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:37:55,614.614 INFO    ] Waiting 0.52 seconds before fallback handling...
[2026-10-20 11:37:56,615.615 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 11:37:56,618.618 INFO    ] Checking for system updates...
[2026-10-20 11:37:56,652.652 INFO    ] 200
[2026-10-20 11:37:56,655.655 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:37:56,707.707 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:37:56,710.710 INFO    ] No update needed
[2026-10-20 11:37:56,712.712 INFO    ] Checking for camera pi updates...
[2026-10-20 11:37:56,745.745 INFO    ] 200
[2026-10-20 11:37:56,747.747 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:37:56,792.792 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:37:56,839.839 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:37:56,841.841 INFO    ] No camera update needed
[2026-10-20 11:37:56,844.844 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:37:56,846.846 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:37:56,851.851 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:37:56,856.856 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:37:58,896.896 INFO    ] ================================================
[2026-10-20 11:37:58,917.917 INFO    ] Launching Daemon at Tue Oct 20 11:37:58 IST 2026
[2026-10-20 11:37:58,928.928 INFO    ] ================================================
[2026-10-20 11:37:59,508.508 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:37:59
[2026-10-20 11:38:00,107.107 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:38:00,384.384 INFO    ] Initializing speech engine...
[2026-10-20 11:38:00,405.405 INFO    ] 2026-10-20 11:38:00
[2026-10-20 11:38:00,675.675 INFO    ] 2026-10-20 11:38:00
[2026-10-20 11:38:00,712.712 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:38:00,911.911 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:38:00,936.936 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:38:01,082.082 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:38:01,093.093 INFO    ] time= 20/10/2026 11:38:01
[2026-10-20 11:38:01,098.098 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:38:01,105.105 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:38:01,210.210 INFO    ] No existing commands found in stream
[2026-10-20 11:38:06,241.241 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:38:06,244.244 INFO    ] Waiting 3.50 seconds before fallback handling...
[2026-10-20 11:38:10,204.204 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:38:10,207.207 INFO    ] Checking for system updates...
[2026-10-20 11:38:10,242.242 INFO    ] 200
[2026-10-20 11:38:10,245.245 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:38:10,296.296 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:38:10,298.298 INFO    ] No update needed
[2026-10-20 11:38:10,301.301 INFO    ] Checking for camera pi updates...
[2026-10-20 11:38:10,334.334 INFO    ] 200
[2026-10-20 11:38:10,336.336 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:38:10,376.376 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:38:10,419.419 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:38:10,421.421 INFO    ] No camera update needed
[2026-10-20 11:38:10,424.424 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:38:10,426.426 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:38:10,432.432 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:38:10,436.436 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:38:12,475.475 INFO    ] ================================================
[2026-10-20 11:38:12,491.491 INFO    ] Launching Daemon at Tue Oct 20 11:38:12 IST 2026
[2026-10-20 11:38:12,501.501 INFO    ] ================================================
[2026-10-20 11:38:13,085.085 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:38:13
[2026-10-20 11:38:13,686.686 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:38:13,965.965 INFO    ] Initializing speech engine...
[2026-10-20 11:38:13,973.973 INFO    ] 2026-10-20 11:38:13
[2026-10-20 11:38:14,233.233 INFO    ] 2026-10-20 11:38:14
[2026-10-20 11:38:14,287.287 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:38:14,514.514 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:38:14,520.520 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:38:14,748.748 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:38:14,779.779 INFO    ] time= 20/10/2026 11:38:14
[2026-10-20 11:38:14,796.796 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:38:14,804.804 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:38:14,932.932 INFO    ] No existing commands found in stream
[2026-10-20 11:38:19,944.944 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:38:19,947.947 INFO    ] Waiting 0.33 seconds before fallback handling...
[2026-10-20 11:38:20,771.771 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:38:20,774.774 INFO    ] Checking for system updates...
[2026-10-20 11:38:20,811.811 INFO    ] 200
[2026-10-20 11:38:20,813.813 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:38:20,872.872 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:38:20,875.875 INFO    ] No update needed
[2026-10-20 11:38:20,877.877 INFO    ] Checking for camera pi updates...
[2026-10-20 11:38:20,914.914 INFO    ] 200
[2026-10-20 11:38:20,917.917 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:38:20,961.961 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:38:21,006.006 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:38:21,009.009 INFO    ] No camera update needed
[2026-10-20 11:38:21,011.011 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:38:21,013.013 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:38:21,019.019 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:38:21,024.024 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:38:23,067.067 INFO    ] ================================================
[2026-10-20 11:38:23,081.081 INFO    ] Launching Daemon at Tue Oct 20 11:38:23 IST 2026
[2026-10-20 11:38:23,092.092 INFO    ] ================================================
[2026-10-20 11:38:23,658.658 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:38:23
[2026-10-20 11:38:24,262.262 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:38:24,540.540 INFO    ] Initializing speech engine...
[2026-10-20 11:38:24,546.546 INFO    ] 2026-10-20 11:38:24
[2026-10-20 11:38:24,807.807 INFO    ] 2026-10-20 11:38:24
[2026-10-20 11:38:24,837.837 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:38:25,087.087 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:38:25,093.093 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:38:25,328.328 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:38:25,351.351 INFO    ] time= 20/10/2026 11:38:25
[2026-10-20 11:38:25,370.370 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:38:25,399.399 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:38:25,519.519 INFO    ] No existing commands found in stream
[2026-10-20 11:38:30,549.549 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:38:30,552.552 INFO    ] Waiting 0.28 seconds before fallback handling...
[2026-10-20 11:38:31,311.311 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:38:31,314.314 INFO    ] Checking for system updates...
[2026-10-20 11:38:31,359.359 INFO    ] 200
[2026-10-20 11:38:31,362.362 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:38:31,426.426 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:38:31,429.429 INFO    ] No update needed
[2026-10-20 11:38:31,432.432 INFO    ] Checking for camera pi updates...
[2026-10-20 11:38:31,473.473 INFO    ] 200
[2026-10-20 11:38:31,476.476 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:38:31,526.526 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:38:31,569.569 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:38:31,572.572 INFO    ] No camera update needed
[2026-10-20 11:38:31,575.575 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:38:31,577.577 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:38:31,584.584 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:38:31,590.590 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:38:33,632.632 INFO    ] ================================================
[2026-10-20 11:38:33,647.647 INFO    ] Launching Daemon at Tue Oct 20 11:38:33 IST 2026
[2026-10-20 11:38:33,658.658 INFO    ] ================================================
[2026-10-20 11:38:34,317.317 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:38:34
[2026-10-20 11:38:34,999.999 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:38:35,309.309 INFO    ] Initializing speech engine...
[2026-10-20 11:38:35,320.320 INFO    ] 2026-10-20 11:38:35
[2026-10-20 11:38:35,601.601 INFO    ] 2026-10-20 11:38:35
[2026-10-20 11:38:35,646.646 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:38:35,873.873 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:38:35,885.885 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:38:36,104.104 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:38:36,139.139 INFO    ] time= 20/10/2026 11:38:36
[2026-10-20 11:38:36,157.157 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:38:36,177.177 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:38:36,319.319 INFO    ] No existing commands found in stream
[2026-10-20 11:38:41,345.345 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:38:41,348.348 INFO    ] Waiting 1.93 seconds before fallback handling...
[2026-10-20 11:38:43,793.793 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:38:43,796.796 INFO    ] Checking for system updates...
[2026-10-20 11:38:43,832.832 INFO    ] 200
[2026-10-20 11:38:43,835.835 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:38:43,886.886 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:38:43,889.889 INFO    ] No update needed
[2026-10-20 11:38:43,892.892 INFO    ] Checking for camera pi updates...
[2026-10-20 11:38:43,925.925 INFO    ] 200
[2026-10-20 11:38:43,927.927 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:38:43,970.970 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:38:44,112.112 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:38:44,115.115 INFO    ] No camera update needed
[2026-10-20 11:38:44,117.117 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:38:44,119.119 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:38:44,125.125 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:38:44,130.130 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:38:46,169.169 INFO    ] ================================================
[2026-10-20 11:38:46,184.184 INFO    ] Launching Daemon at Tue Oct 20 11:38:46 IST 2026
[2026-10-20 11:38:46,194.194 INFO    ] ================================================
[2026-10-20 11:38:46,760.760 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:38:46
[2026-10-20 11:38:47,344.344 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:38:47,592.592 INFO    ] Initializing speech engine...
[2026-10-20 11:38:47,606.606 INFO    ] 2026-10-20 11:38:47
[2026-10-20 11:38:47,873.873 INFO    ] 2026-10-20 11:38:47
[2026-10-20 11:38:47,908.908 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:38:48,106.106 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:38:48,119.119 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:38:48,311.311 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:38:48,358.358 INFO    ] time= 20/10/2026 11:38:48
[2026-10-20 11:38:48,407.407 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:38:48,447.447 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:38:48,597.597 INFO    ] No existing commands found in stream
[2026-10-20 11:38:53,611.611 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:38:53,614.614 INFO    ] Waiting 1.24 seconds before fallback handling...
[2026-10-20 11:38:55,351.351 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 11:38:55,354.354 INFO    ] Checking for system updates...
[2026-10-20 11:38:55,394.394 INFO    ] 200
[2026-10-20 11:38:55,396.396 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:38:55,457.457 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:38:55,459.459 INFO    ] No update needed
[2026-10-20 11:38:55,462.462 INFO    ] Checking for camera pi updates...
[2026-10-20 11:38:55,499.499 INFO    ] 200
[2026-10-20 11:38:55,502.502 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:38:55,547.547 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:38:55,604.604 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:38:55,606.606 INFO    ] No camera update needed
[2026-10-20 11:38:55,608.608 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:38:55,611.611 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:38:55,616.616 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:38:55,621.621 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:38:57,661.661 INFO    ] ================================================
[2026-10-20 11:38:57,677.677 INFO    ] Launching Daemon at Tue Oct 20 11:38:57 IST 2026
[2026-10-20 11:38:57,688.688 INFO    ] ================================================
[2026-10-20 11:38:58,348.348 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:38:58
[2026-10-20 11:38:59,033.033 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:38:59,341.341 INFO    ] Initializing speech engine...
[2026-10-20 11:38:59,348.348 INFO    ] 2026-10-20 11:38:59
[2026-10-20 11:38:59,628.628 INFO    ] 2026-10-20 11:38:59
[2026-10-20 11:38:59,684.684 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:38:59,920.920 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:38:59,931.931 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:39:00,152.152 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:39:00,189.189 INFO    ] time= 20/10/2026 11:39:00
[2026-10-20 11:39:00,207.207 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:39:00,217.217 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:39:00,351.351 INFO    ] No existing commands found in stream
[2026-10-20 11:39:05,374.374 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:39:05,378.378 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-10-20 11:39:09,057.057 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:39:09,060.060 INFO    ] Checking for system updates...
[2026-10-20 11:39:09,101.101 INFO    ] 200
[2026-10-20 11:39:09,105.105 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:39:09,159.159 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:39:09,162.162 INFO    ] No update needed
[2026-10-20 11:39:09,165.165 INFO    ] Checking for camera pi updates...
[2026-10-20 11:39:09,203.203 INFO    ] 200
[2026-10-20 11:39:09,206.206 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:39:09,252.252 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:39:09,307.307 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:39:09,310.310 INFO    ] No camera update needed
[2026-10-20 11:39:09,313.313 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:39:09,316.316 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:39:09,322.322 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:39:09,328.328 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:39:11,368.368 INFO    ] ================================================
[2026-10-20 11:39:11,384.384 INFO    ] Launching Daemon at Tue Oct 20 11:39:11 IST 2026
[2026-10-20 11:39:11,395.395 INFO    ] ================================================
[2026-10-20 11:39:11,970.970 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:39:11
[2026-10-20 11:39:12,553.553 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:39:12,814.814 INFO    ] Initializing speech engine...
[2026-10-20 11:39:12,832.832 INFO    ] 2026-10-20 11:39:12
[2026-10-20 11:39:13,083.083 INFO    ] 2026-10-20 11:39:13
[2026-10-20 11:39:13,117.117 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:39:13,317.317 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:39:13,340.340 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:39:13,522.522 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:39:13,564.564 INFO    ] time= 20/10/2026 11:39:13
[2026-10-20 11:39:13,618.618 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:39:13,657.657 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:39:13,719.719 INFO    ] No existing commands found in stream
[2026-10-20 11:39:18,749.749 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:39:18,751.751 INFO    ] Waiting 0.71 seconds before fallback handling...
[2026-10-20 11:39:19,934.934 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 11:39:19,936.936 INFO    ] Checking for system updates...
[2026-10-20 11:39:19,972.972 INFO    ] 200
[2026-10-20 11:39:19,975.975 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:39:20,026.026 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:39:20,028.028 INFO    ] No update needed
[2026-10-20 11:39:20,031.031 INFO    ] Checking for camera pi updates...
[2026-10-20 11:39:20,065.065 INFO    ] 200
[2026-10-20 11:39:20,067.067 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:39:20,112.112 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:39:20,160.160 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:39:20,162.162 INFO    ] No camera update needed
[2026-10-20 11:39:20,165.165 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:39:20,167.167 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:39:20,172.172 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:39:20,177.177 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:39:22,218.218 INFO    ] ================================================
[2026-10-20 11:39:22,233.233 INFO    ] Launching Daemon at Tue Oct 20 11:39:22 IST 2026
[2026-10-20 11:39:22,244.244 INFO    ] ================================================
[2026-10-20 11:39:22,811.811 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:39:22
[2026-10-20 11:39:23,394.394 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:39:23,663.663 INFO    ] Initializing speech engine...
[2026-10-20 11:39:23,672.672 INFO    ] 2026-10-20 11:39:23
[2026-10-20 11:39:23,917.917 INFO    ] 2026-10-20 11:39:23
[2026-10-20 11:39:23,952.952 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:39:24,153.153 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:39:24,210.210 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:39:24,397.397 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:39:24,456.456 INFO    ] time= 20/10/2026 11:39:24
[2026-10-20 11:39:24,478.478 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:39:24,484.484 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:39:24,630.630 INFO    ] No existing commands found in stream
[2026-10-20 11:39:29,649.649 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:39:29,652.652 INFO    ] Waiting 1.72 seconds before fallback handling...
[2026-10-20 11:39:31,880.880 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:39:31,883.883 INFO    ] Checking for system updates...
[2026-10-20 11:39:31,935.935 INFO    ] 200
[2026-10-20 11:39:31,939.939 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:39:32,001.001 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:39:32,004.004 INFO    ] No update needed
[2026-10-20 11:39:32,008.008 INFO    ] Checking for camera pi updates...
[2026-10-20 11:39:32,058.058 INFO    ] 200
[2026-10-20 11:39:32,063.063 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:39:32,115.115 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:39:32,167.167 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:39:32,171.171 INFO    ] No camera update needed
[2026-10-20 11:39:32,175.175 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:39:32,178.178 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:39:32,187.187 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:39:32,194.194 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:39:34,237.237 INFO    ] ================================================
[2026-10-20 11:39:34,252.252 INFO    ] Launching Daemon at Tue Oct 20 11:39:34 IST 2026
[2026-10-20 11:39:34,265.265 INFO    ] ================================================
[2026-10-20 11:39:34,936.936 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:39:34
[2026-10-20 11:39:35,600.600 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:39:35,919.919 INFO    ] Initializing speech engine...
[2026-10-20 11:39:35,931.931 INFO    ] 2026-10-20 11:39:35
[2026-10-20 11:39:36,231.231 INFO    ] 2026-10-20 11:39:36
[2026-10-20 11:39:36,266.266 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:39:36,463.463 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:39:36,466.466 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:39:36,646.646 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:39:36,683.683 INFO    ] time= 20/10/2026 11:39:36
[2026-10-20 11:39:36,738.738 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:39:36,778.778 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:39:36,906.906 INFO    ] No existing commands found in stream
[2026-10-20 11:39:41,933.933 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:39:41,936.936 INFO    ] Waiting 0.97 seconds before fallback handling...
[2026-10-20 11:39:43,377.377 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:39:43,380.380 INFO    ] Checking for system updates...
[2026-10-20 11:39:43,417.417 INFO    ] 200
[2026-10-20 11:39:43,420.420 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:39:43,483.483 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:39:43,486.486 INFO    ] No update needed
[2026-10-20 11:39:43,489.489 INFO    ] Checking for camera pi updates...
[2026-10-20 11:39:43,524.524 INFO    ] 200
[2026-10-20 11:39:43,527.527 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:39:43,569.569 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:39:43,605.605 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:39:43,608.608 INFO    ] No camera update needed
[2026-10-20 11:39:43,611.611 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:39:43,614.614 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:39:43,620.620 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:39:43,626.626 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:39:45,665.665 INFO    ] ================================================
[2026-10-20 11:39:45,680.680 INFO    ] Launching Daemon at Tue Oct 20 11:39:45 IST 2026
[2026-10-20 11:39:45,691.691 INFO    ] ================================================
[2026-10-20 11:39:46,257.257 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:39:46
[2026-10-20 11:39:46,844.844 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:39:47,095.095 INFO    ] Initializing speech engine...
[2026-10-20 11:39:47,108.108 INFO    ] 2026-10-20 11:39:47
[2026-10-20 11:39:47,376.376 INFO    ] 2026-10-20 11:39:47
[2026-10-20 11:39:47,411.411 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:39:47,596.596 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:39:47,613.613 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:39:47,753.753 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:39:47,789.789 INFO    ] time= 20/10/2026 11:39:47
[2026-10-20 11:39:47,821.821 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:39:47,837.837 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:39:47,955.955 INFO    ] No existing commands found in stream
[2026-10-20 11:39:52,967.967 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:39:52,970.970 INFO    ] Waiting 3.89 seconds before fallback handling...
[2026-10-20 11:39:57,323.323 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:39:57,325.325 INFO    ] Checking for system updates...
[2026-10-20 11:39:57,362.362 INFO    ] 200
[2026-10-20 11:39:57,365.365 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:39:57,427.427 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:39:57,431.431 INFO    ] No update needed
[2026-10-20 11:39:57,434.434 INFO    ] Checking for camera pi updates...
[2026-10-20 11:39:57,474.474 INFO    ] 200
[2026-10-20 11:39:57,477.477 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:39:57,530.530 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:39:57,580.580 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:39:57,583.583 INFO    ] No camera update needed
[2026-10-20 11:39:57,586.586 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:39:57,592.592 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:39:57,600.600 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:39:57,606.606 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:39:59,646.646 INFO    ] ================================================
[2026-10-20 11:39:59,661.661 INFO    ] Launching Daemon at Tue Oct 20 11:39:59 IST 2026
[2026-10-20 11:39:59,672.672 INFO    ] ================================================
[2026-10-20 11:40:00,352.352 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:40:00
[2026-10-20 11:40:00,947.947 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:40:01,198.198 INFO    ] Initializing speech engine...
[2026-10-20 11:40:01,211.211 INFO    ] 2026-10-20 11:40:01
[2026-10-20 11:40:01,469.469 INFO    ] 2026-10-20 11:40:01
[2026-10-20 11:40:01,581.581 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:40:01,887.887 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:40:01,915.915 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:40:02,088.088 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:40:02,107.107 INFO    ] time= 20/10/2026 11:40:02
[2026-10-20 11:40:02,128.128 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:40:02,175.175 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:40:02,276.276 INFO    ] No existing commands found in stream
[2026-10-20 11:40:07,287.287 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:40:07,291.291 INFO    ] Waiting 0.38 seconds before fallback handling...
[2026-10-20 11:40:08,172.172 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:40:08,175.175 INFO    ] Checking for system updates...
[2026-10-20 11:40:08,212.212 INFO    ] 200
[2026-10-20 11:40:08,215.215 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:40:08,269.269 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:40:08,272.272 INFO    ] No update needed
[2026-10-20 11:40:08,275.275 INFO    ] Checking for camera pi updates...
[2026-10-20 11:40:08,314.314 INFO    ] 200
[2026-10-20 11:40:08,316.316 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:40:08,357.357 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:40:08,405.405 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:40:08,408.408 INFO    ] No camera update needed
[2026-10-20 11:40:08,410.410 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:40:08,413.413 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:40:08,418.418 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:40:08,424.424 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:40:10,465.465 INFO    ] ================================================
[2026-10-20 11:40:10,480.480 INFO    ] Launching Daemon at Tue Oct 20 11:40:10 IST 2026
[2026-10-20 11:40:10,491.491 INFO    ] ================================================
[2026-10-20 11:40:11,067.067 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:40:11
[2026-10-20 11:40:11,652.652 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:40:11,900.900 INFO    ] Initializing speech engine...
[2026-10-20 11:40:11,915.915 INFO    ] 2026-10-20 11:40:11
[2026-10-20 11:40:12,181.181 INFO    ] 2026-10-20 11:40:12
[2026-10-20 11:40:12,216.216 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:40:12,414.414 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:40:12,432.432 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:40:12,618.618 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:40:12,660.660 INFO    ] time= 20/10/2026 11:40:12
[2026-10-20 11:40:12,714.714 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:40:12,752.752 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:40:12,896.896 INFO    ] No existing commands found in stream
[2026-10-20 11:40:17,912.912 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:40:17,915.915 INFO    ] Waiting 2.03 seconds before fallback handling...
[2026-10-20 11:40:22,280.280 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:40:22,282.282 INFO    ] Checking for system updates...
[2026-10-20 11:40:22,317.317 INFO    ] 200
[2026-10-20 11:40:22,320.320 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:40:22,371.371 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:40:22,374.374 INFO    ] No update needed
[2026-10-20 11:40:22,376.376 INFO    ] Checking for camera pi updates...
[2026-10-20 11:40:22,409.409 INFO    ] 200
[2026-10-20 11:40:22,412.412 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:40:22,457.457 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:40:22,516.516 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:40:22,519.519 INFO    ] No camera update needed
[2026-10-20 11:40:22,521.521 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:40:22,523.523 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:40:22,529.529 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:40:22,534.534 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:40:24,572.572 INFO    ] ================================================
[2026-10-20 11:40:24,587.587 INFO    ] Launching Daemon at Tue Oct 20 11:40:24 IST 2026
[2026-10-20 11:40:24,598.598 INFO    ] ================================================
[2026-10-20 11:40:25,186.186 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:40:25
[2026-10-20 11:40:25,798.798 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:40:26,074.074 INFO    ] Initializing speech engine...
[2026-10-20 11:40:26,084.084 INFO    ] 2026-10-20 11:40:26
[2026-10-20 11:40:26,345.345 INFO    ] 2026-10-20 11:40:26
[2026-10-20 11:40:26,375.375 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:40:26,622.622 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:40:26,631.631 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:40:26,831.831 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:40:26,882.882 INFO    ] time= 20/10/2026 11:40:26
[2026-10-20 11:40:26,896.896 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:40:26,911.911 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:40:27,047.047 INFO    ] No existing commands found in stream
[2026-10-20 11:40:32,070.070 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:40:32,073.073 INFO    ] Waiting 3.21 seconds before fallback handling...
[2026-10-20 11:40:35,754.754 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:40:35,756.756 INFO    ] Checking for system updates...
[2026-10-20 11:40:35,792.792 INFO    ] 200
[2026-10-20 11:40:35,794.794 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:40:35,846.846 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:40:35,848.848 INFO    ] No update needed
[2026-10-20 11:40:35,851.851 INFO    ] Checking for camera pi updates...
[2026-10-20 11:40:35,884.884 INFO    ] 200
[2026-10-20 11:40:35,886.886 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:40:35,932.932 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:40:35,977.977 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:40:35,979.979 INFO    ] No camera update needed
[2026-10-20 11:40:35,982.982 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:40:35,984.984 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:40:35,990.990 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:40:35,995.995 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:40:38,034.034 INFO    ] ================================================
[2026-10-20 11:40:38,049.049 INFO    ] Launching Daemon at Tue Oct 20 11:40:38 IST 2026
[2026-10-20 11:40:38,060.060 INFO    ] ================================================
[2026-10-20 11:40:38,733.733 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:40:38
[2026-10-20 11:40:39,429.429 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:40:39,738.738 INFO    ] Initializing speech engine...
[2026-10-20 11:40:39,751.751 INFO    ] 2026-10-20 11:40:39
[2026-10-20 11:40:40,065.065 INFO    ] 2026-10-20 11:40:40
[2026-10-20 11:40:40,148.148 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:40:40,323.323 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:40:40,330.330 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:40:40,559.559 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:40:40,567.567 INFO    ] time= 20/10/2026 11:40:40
[2026-10-20 11:40:40,588.588 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:40:40,616.616 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:40:40,727.727 INFO    ] No existing commands found in stream
[2026-10-20 11:40:45,762.762 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:40:45,765.765 INFO    ] Waiting 2.87 seconds before fallback handling...
[2026-10-20 11:40:49,151.151 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:40:49,154.154 INFO    ] Checking for system updates...
[2026-10-20 11:40:49,190.190 INFO    ] 200
[2026-10-20 11:40:49,193.193 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:40:49,254.254 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:40:49,257.257 INFO    ] No update needed
[2026-10-20 11:40:49,259.259 INFO    ] Checking for camera pi updates...
[2026-10-20 11:40:49,293.293 INFO    ] 200
[2026-10-20 11:40:49,295.295 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:40:49,340.340 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:40:49,492.492 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:40:49,495.495 INFO    ] No camera update needed
[2026-10-20 11:40:49,497.497 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:40:49,499.499 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:40:49,504.504 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:40:49,509.509 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:40:51,548.548 INFO    ] ================================================
[2026-10-20 11:40:51,564.564 INFO    ] Launching Daemon at Tue Oct 20 11:40:51 IST 2026
[2026-10-20 11:40:51,575.575 INFO    ] ================================================
[2026-10-20 11:40:52,143.143 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:40:52
[2026-10-20 11:40:52,725.725 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:40:52,992.992 INFO    ] Initializing speech engine...
[2026-10-20 11:40:53,000.000 INFO    ] 2026-10-20 11:40:52
[2026-10-20 11:40:53,247.247 INFO    ] 2026-10-20 11:40:53
[2026-10-20 11:40:53,282.282 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:40:53,534.534 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:40:53,543.543 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:40:53,765.765 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:40:53,800.800 INFO    ] time= 20/10/2026 11:40:53
[2026-10-20 11:40:53,805.805 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:40:53,823.823 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:40:53,943.943 INFO    ] No existing commands found in stream
[2026-10-20 11:40:58,961.961 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:40:58,964.964 INFO    ] Waiting 1.00 seconds before fallback handling...
[2026-10-20 11:41:00,448.448 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:41:00,451.451 INFO    ] Checking for system updates...
[2026-10-20 11:41:00,486.486 INFO    ] 200
[2026-10-20 11:41:00,489.489 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:41:00,549.549 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:41:00,552.552 INFO    ] No update needed
[2026-10-20 11:41:00,554.554 INFO    ] Checking for camera pi updates...
[2026-10-20 11:41:00,592.592 INFO    ] 200
[2026-10-20 11:41:00,594.594 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:41:00,634.634 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:41:00,683.683 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:41:00,685.685 INFO    ] No camera update needed
[2026-10-20 11:41:00,687.687 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:41:00,690.690 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:41:00,695.695 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:41:00,700.700 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:41:02,745.745 INFO    ] ================================================
[2026-10-20 11:41:02,761.761 INFO    ] Launching Daemon at Tue Oct 20 11:41:02 IST 2026
[2026-10-20 11:41:02,777.777 INFO    ] ================================================
[2026-10-20 11:41:03,440.440 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:41:03
[2026-10-20 11:41:04,161.161 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:41:04,471.471 INFO    ] Initializing speech engine...
[2026-10-20 11:41:04,479.479 INFO    ] 2026-10-20 11:41:04
[2026-10-20 11:41:04,766.766 INFO    ] 2026-10-20 11:41:04
[2026-10-20 11:41:04,848.848 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:41:05,025.025 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:41:05,032.032 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:41:05,229.229 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:41:05,267.267 INFO    ] time= 20/10/2026 11:41:05
[2026-10-20 11:41:05,273.273 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:41:05,294.294 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:41:05,417.417 INFO    ] No existing commands found in stream
[2026-10-20 11:41:10,432.432 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:41:10,434.434 INFO    ] Waiting 3.64 seconds before fallback handling...
[2026-10-20 11:41:14,546.546 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:41:14,549.549 INFO    ] Checking for system updates...
[2026-10-20 11:41:14,588.588 INFO    ] 200
[2026-10-20 11:41:14,590.590 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:41:14,641.641 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:41:14,644.644 INFO    ] No update needed
[2026-10-20 11:41:14,646.646 INFO    ] Checking for camera pi updates...
[2026-10-20 11:41:14,683.683 INFO    ] 200
[2026-10-20 11:41:14,686.686 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:41:14,726.726 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:41:14,780.780 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:41:14,782.782 INFO    ] No camera update needed
[2026-10-20 11:41:14,784.784 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:41:14,787.787 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:41:14,792.792 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:41:14,797.797 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:41:16,836.836 INFO    ] ================================================
[2026-10-20 11:41:16,851.851 INFO    ] Launching Daemon at Tue Oct 20 11:41:16 IST 2026
[2026-10-20 11:41:16,862.862 INFO    ] ================================================
[2026-10-20 11:41:17,453.453 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:41:17
[2026-10-20 11:41:18,050.050 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:41:18,327.327 INFO    ] Initializing speech engine...
[2026-10-20 11:41:18,333.333 INFO    ] 2026-10-20 11:41:18
[2026-10-20 11:41:18,586.586 INFO    ] 2026-10-20 11:41:18
[2026-10-20 11:41:18,623.623 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:41:18,867.867 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:41:18,877.877 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:41:19,011.011 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:41:19,080.080 INFO    ] time= 20/10/2026 11:41:19
[2026-10-20 11:41:19,138.138 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:41:19,144.144 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:41:19,286.286 INFO    ] No existing commands found in stream
[2026-10-20 11:41:24,301.301 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:41:24,304.304 INFO    ] Waiting 0.23 seconds before fallback handling...
[2026-10-20 11:41:25,029.029 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:41:25,032.032 INFO    ] Checking for system updates...
[2026-10-20 11:41:25,072.072 INFO    ] 200
[2026-10-20 11:41:25,075.075 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:41:25,135.135 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:41:25,137.137 INFO    ] No update needed
[2026-10-20 11:41:25,140.140 INFO    ] Checking for camera pi updates...
[2026-10-20 11:41:25,174.174 INFO    ] 200
[2026-10-20 11:41:25,177.177 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:41:25,218.218 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:41:25,276.276 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:41:25,279.279 INFO    ] No camera update needed
[2026-10-20 11:41:25,282.282 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:41:25,284.284 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:41:25,291.291 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:41:25,296.296 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:41:27,336.336 INFO    ] ================================================
[2026-10-20 11:41:27,351.351 INFO    ] Launching Daemon at Tue Oct 20 11:41:27 IST 2026
[2026-10-20 11:41:27,362.362 INFO    ] ================================================
[2026-10-20 11:41:27,928.928 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:41:27
[2026-10-20 11:41:28,513.513 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:41:28,761.761 INFO    ] Initializing speech engine...
[2026-10-20 11:41:28,775.775 INFO    ] 2026-10-20 11:41:28
[2026-10-20 11:41:29,041.041 INFO    ] 2026-10-20 11:41:29
[2026-10-20 11:41:29,075.075 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:41:29,279.279 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:41:29,321.321 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:41:29,487.487 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:41:29,521.521 INFO    ] time= 20/10/2026 11:41:29
[2026-10-20 11:41:29,575.575 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:41:29,619.619 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:41:29,763.763 INFO    ] No existing commands found in stream
[2026-10-20 11:41:34,779.779 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:41:34,781.781 INFO    ] Waiting 1.32 seconds before fallback handling...
[2026-10-20 11:41:36,561.561 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:41:36,564.564 INFO    ] Checking for system updates...
[2026-10-20 11:41:36,603.603 INFO    ] 200
[2026-10-20 11:41:36,605.605 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:41:36,665.665 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:41:36,667.667 INFO    ] No update needed
[2026-10-20 11:41:36,670.670 INFO    ] Checking for camera pi updates...
[2026-10-20 11:41:36,703.703 INFO    ] 200
[2026-10-20 11:41:36,706.706 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:41:36,754.754 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:41:36,801.801 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:41:36,803.803 INFO    ] No camera update needed
[2026-10-20 11:41:36,805.805 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:41:36,808.808 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:41:36,813.813 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:41:36,818.818 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:41:38,862.862 INFO    ] ================================================
[2026-10-20 11:41:38,877.877 INFO    ] Launching Daemon at Tue Oct 20 11:41:38 IST 2026
[2026-10-20 11:41:38,888.888 INFO    ] ================================================
[2026-10-20 11:41:39,454.454 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:41:39
[2026-10-20 11:41:40,036.036 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:41:40,297.297 INFO    ] Initializing speech engine...
[2026-10-20 11:41:40,314.314 INFO    ] 2026-10-20 11:41:40
[2026-10-20 11:41:40,564.564 INFO    ] 2026-10-20 11:41:40
[2026-10-20 11:41:40,599.599 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:41:40,784.784 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:41:40,803.803 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:41:40,990.990 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:41:41,006.006 INFO    ] time= 20/10/2026 11:41:41
[2026-10-20 11:41:41,066.066 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:41:41,115.115 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:41:41,190.190 INFO    ] No existing commands found in stream
[2026-10-20 11:41:46,202.202 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:41:46,205.205 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-10-20 11:41:46,795.795 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:41:46,799.799 INFO    ] Checking for system updates...
[2026-10-20 11:41:46,835.835 INFO    ] 200
[2026-10-20 11:41:46,838.838 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:41:46,892.892 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:41:46,895.895 INFO    ] No update needed
[2026-10-20 11:41:46,897.897 INFO    ] Checking for camera pi updates...
[2026-10-20 11:41:46,933.933 INFO    ] 200
[2026-10-20 11:41:46,935.935 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:41:46,982.982 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:41:47,036.036 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:41:47,039.039 INFO    ] No camera update needed
[2026-10-20 11:41:47,042.042 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:41:47,044.044 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:41:47,049.049 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:41:47,055.055 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:41:49,097.097 INFO    ] ================================================
[2026-10-20 11:41:49,113.113 INFO    ] Launching Daemon at Tue Oct 20 11:41:49 IST 2026
[2026-10-20 11:41:49,123.123 INFO    ] ================================================
[2026-10-20 11:41:49,694.694 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:41:49
[2026-10-20 11:41:50,278.278 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:41:50,563.563 INFO    ] Initializing speech engine...
[2026-10-20 11:41:50,573.573 INFO    ] 2026-10-20 11:41:50
[2026-10-20 11:41:50,842.842 INFO    ] 2026-10-20 11:41:50
[2026-10-20 11:41:50,876.876 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:41:51,079.079 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:41:51,095.095 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:41:51,260.260 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:41:51,267.267 INFO    ] time= 20/10/2026 11:41:51
[2026-10-20 11:41:51,272.272 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:41:51,279.279 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:41:51,401.401 INFO    ] No existing commands found in stream
[2026-10-20 11:41:56,421.421 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:41:56,424.424 INFO    ] Waiting 0.01 seconds before fallback handling...
[2026-10-20 11:41:57,003.003 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:41:57,005.005 INFO    ] Checking for system updates...
[2026-10-20 11:41:57,042.042 INFO    ] 200
[2026-10-20 11:41:57,045.045 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:41:57,100.100 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:41:57,103.103 INFO    ] No update needed
[2026-10-20 11:41:57,106.106 INFO    ] Checking for camera pi updates...
[2026-10-20 11:41:57,141.141 INFO    ] 200
[2026-10-20 11:41:57,144.144 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:41:57,190.190 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:41:57,235.235 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:41:57,238.238 INFO    ] No camera update needed
[2026-10-20 11:41:57,241.241 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:41:57,244.244 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:41:57,250.250 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:41:57,256.256 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:41:59,298.298 INFO    ] ================================================
[2026-10-20 11:41:59,313.313 INFO    ] Launching Daemon at Tue Oct 20 11:41:59 IST 2026
[2026-10-20 11:41:59,324.324 INFO    ] ================================================
[2026-10-20 11:41:59,898.898 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:41:59
[2026-10-20 11:42:00,502.502 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:42:00,781.781 INFO    ] Initializing speech engine...
[2026-10-20 11:42:00,786.786 INFO    ] 2026-10-20 11:42:00
[2026-10-20 11:42:01,045.045 INFO    ] 2026-10-20 11:42:01
[2026-10-20 11:42:01,075.075 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:42:01,319.319 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:42:01,328.328 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:42:01,502.502 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:42:01,547.547 INFO    ] time= 20/10/2026 11:42:01
[2026-10-20 11:42:01,590.590 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:42:01,595.595 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:42:01,720.720 INFO    ] No existing commands found in stream
[2026-10-20 11:42:06,750.750 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:42:06,753.753 INFO    ] Waiting 2.78 seconds before fallback handling...
[2026-10-20 11:42:10,030.030 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:42:10,033.033 INFO    ] Checking for system updates...
[2026-10-20 11:42:10,072.072 INFO    ] 200
[2026-10-20 11:42:10,074.074 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:42:10,125.125 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:42:10,128.128 INFO    ] No update needed
[2026-10-20 11:42:10,130.130 INFO    ] Checking for camera pi updates...
[2026-10-20 11:42:10,171.171 INFO    ] 200
[2026-10-20 11:42:10,173.173 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:42:10,214.214 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:42:10,263.263 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:42:10,265.265 INFO    ] No camera update needed
[2026-10-20 11:42:10,267.267 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:42:10,270.270 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:42:10,275.275 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:42:10,280.280 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:42:12,322.322 INFO    ] ================================================
[2026-10-20 11:42:12,337.337 INFO    ] Launching Daemon at Tue Oct 20 11:42:12 IST 2026
[2026-10-20 11:42:12,348.348 INFO    ] ================================================
[2026-10-20 11:42:12,980.980 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:42:12
[2026-10-20 11:42:13,635.635 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:42:13,938.938 INFO    ] Initializing speech engine...
[2026-10-20 11:42:13,945.945 INFO    ] 2026-10-20 11:42:13
[2026-10-20 11:42:14,227.227 INFO    ] 2026-10-20 11:42:14
[2026-10-20 11:42:14,275.275 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:42:14,498.498 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:42:14,505.505 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:42:14,640.640 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:42:14,710.710 INFO    ] time= 20/10/2026 11:42:14
[2026-10-20 11:42:14,768.768 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:42:14,775.775 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:42:14,911.911 INFO    ] No existing commands found in stream
[2026-10-20 11:42:19,931.931 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:42:19,934.934 INFO    ] Waiting 1.53 seconds before fallback handling...
[2026-10-20 11:42:21,970.970 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:42:21,973.973 INFO    ] Checking for system updates...
[2026-10-20 11:42:22,009.009 INFO    ] 200
[2026-10-20 11:42:22,011.011 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:42:22,064.064 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:42:22,066.066 INFO    ] No update needed
[2026-10-20 11:42:22,069.069 INFO    ] Checking for camera pi updates...
[2026-10-20 11:42:22,105.105 INFO    ] 200
[2026-10-20 11:42:22,107.107 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:42:22,148.148 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:42:22,194.194 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:42:22,196.196 INFO    ] No camera update needed
[2026-10-20 11:42:22,199.199 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:42:22,201.201 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:42:22,206.206 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:42:22,211.211 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:42:24,250.250 INFO    ] ================================================
[2026-10-20 11:42:24,265.265 INFO    ] Launching Daemon at Tue Oct 20 11:42:24 IST 2026
[2026-10-20 11:42:24,275.275 INFO    ] ================================================
[2026-10-20 11:42:24,844.844 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:42:24
[2026-10-20 11:42:25,449.449 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:42:25,744.744 INFO    ] Initializing speech engine...
[2026-10-20 11:42:25,753.753 INFO    ] 2026-10-20 11:42:25
[2026-10-20 11:42:26,039.039 INFO    ] 2026-10-20 11:42:26
[2026-10-20 11:42:26,084.084 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:42:26,309.309 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:42:26,316.316 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:42:26,533.533 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:42:26,575.575 INFO    ] time= 20/10/2026 11:42:26
[2026-10-20 11:42:26,581.581 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:42:26,600.600 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:42:26,730.730 INFO    ] No existing commands found in stream
[2026-10-20 11:42:31,744.744 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:42:31,747.747 INFO    ] Waiting 0.29 seconds before fallback handling...
[2026-10-20 11:42:32,498.498 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 11:42:32,502.502 INFO    ] Checking for system updates...
[2026-10-20 11:42:32,542.542 INFO    ] 200
[2026-10-20 11:42:32,547.547 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:42:32,607.607 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:42:32,610.610 INFO    ] No update needed
[2026-10-20 11:42:32,612.612 INFO    ] Checking for camera pi updates...
[2026-10-20 11:42:32,648.648 INFO    ] 200
[2026-10-20 11:42:32,651.651 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:42:32,695.695 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:42:32,725.725 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:42:32,728.728 INFO    ] No camera update needed
[2026-10-20 11:42:32,731.731 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:42:32,734.734 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:42:32,740.740 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:42:32,746.746 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:42:34,786.786 INFO    ] ================================================
[2026-10-20 11:42:34,805.805 INFO    ] Launching Daemon at Tue Oct 20 11:42:34 IST 2026
[2026-10-20 11:42:34,818.818 INFO    ] ================================================
[2026-10-20 11:42:35,398.398 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:42:35
[2026-10-20 11:42:36,003.003 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:42:36,258.258 INFO    ] Initializing speech engine...
[2026-10-20 11:42:36,267.267 INFO    ] 2026-10-20 11:42:36
[2026-10-20 11:42:36,560.560 INFO    ] 2026-10-20 11:42:36
[2026-10-20 11:42:36,597.597 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:42:36,746.746 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:42:36,751.751 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:42:36,907.907 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:42:36,913.913 INFO    ] time= 20/10/2026 11:42:36
[2026-10-20 11:42:36,935.935 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:42:36,941.941 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:42:37,061.061 INFO    ] No existing commands found in stream
[2026-10-20 11:42:42,072.072 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:42:42,074.074 INFO    ] Waiting 2.14 seconds before fallback handling...
[2026-10-20 11:42:44,708.708 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 11:42:44,711.711 INFO    ] Checking for system updates...
[2026-10-20 11:42:44,750.750 INFO    ] 200
[2026-10-20 11:42:44,752.752 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:42:44,805.805 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:42:44,808.808 INFO    ] No update needed
[2026-10-20 11:42:44,811.811 INFO    ] Checking for camera pi updates...
[2026-10-20 11:42:44,847.847 INFO    ] 200
[2026-10-20 11:42:44,850.850 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:42:44,900.900 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:42:44,951.951 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:42:44,954.954 INFO    ] No camera update needed
[2026-10-20 11:42:44,956.956 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:42:44,959.959 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:42:44,965.965 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:42:44,971.971 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:42:47,010.010 INFO    ] ================================================
[2026-10-20 11:42:47,026.026 INFO    ] Launching Daemon at Tue Oct 20 11:42:47 IST 2026
[2026-10-20 11:42:47,036.036 INFO    ] ================================================
[2026-10-20 11:42:47,680.680 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:42:47
[2026-10-20 11:42:48,342.342 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:42:48,641.641 INFO    ] Initializing speech engine...
[2026-10-20 11:42:48,654.654 INFO    ] 2026-10-20 11:42:48
[2026-10-20 11:42:48,924.924 INFO    ] 2026-10-20 11:42:48
[2026-10-20 11:42:48,974.974 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:42:49,174.174 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:42:49,231.231 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:42:49,373.373 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:42:49,433.433 INFO    ] time= 20/10/2026 11:42:49
[2026-10-20 11:42:49,492.492 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:42:49,508.508 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:42:49,649.649 INFO    ] No existing commands found in stream
[2026-10-20 11:42:54,667.667 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:42:54,670.670 INFO    ] Waiting 0.33 seconds before fallback handling...
[2026-10-20 11:42:55,513.513 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 11:42:55,516.516 INFO    ] Checking for system updates...
[2026-10-20 11:42:55,552.552 INFO    ] 200
[2026-10-20 11:42:55,555.555 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:42:55,614.614 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:42:55,616.616 INFO    ] No update needed
[2026-10-20 11:42:55,619.619 INFO    ] Checking for camera pi updates...
[2026-10-20 11:42:55,661.661 INFO    ] 200
[2026-10-20 11:42:55,663.663 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:42:55,709.709 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:42:55,854.854 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:42:55,856.856 INFO    ] No camera update needed
[2026-10-20 11:42:55,859.859 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:42:55,861.861 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:42:55,866.866 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:42:55,871.871 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:42:57,911.911 INFO    ] ================================================
[2026-10-20 11:42:57,925.925 INFO    ] Launching Daemon at Tue Oct 20 11:42:57 IST 2026
[2026-10-20 11:42:57,936.936 INFO    ] ================================================
[2026-10-20 11:42:58,503.503 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:42:58
[2026-10-20 11:42:59,084.084 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:42:59,351.351 INFO    ] Initializing speech engine...
[2026-10-20 11:42:59,363.363 INFO    ] 2026-10-20 11:42:59
[2026-10-20 11:42:59,613.613 INFO    ] 2026-10-20 11:42:59
[2026-10-20 11:42:59,649.649 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:42:59,850.850 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:42:59,906.906 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:43:00,052.052 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:43:00,073.073 INFO    ] time= 20/10/2026 11:43:00
[2026-10-20 11:43:00,133.133 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:43:00,182.182 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:43:00,322.322 INFO    ] No existing commands found in stream
[2026-10-20 11:43:05,339.339 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:43:05,342.342 INFO    ] Waiting 2.23 seconds before fallback handling...
[2026-10-20 11:43:08,039.039 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 11:43:08,041.041 INFO    ] Checking for system updates...
[2026-10-20 11:43:08,078.078 INFO    ] 200
[2026-10-20 11:43:08,081.081 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:43:08,133.133 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:43:08,135.135 INFO    ] No update needed
[2026-10-20 11:43:08,138.138 INFO    ] Checking for camera pi updates...
[2026-10-20 11:43:08,171.171 INFO    ] 200
[2026-10-20 11:43:08,173.173 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:43:08,216.216 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:43:08,249.249 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:43:08,251.251 INFO    ] No camera update needed
[2026-10-20 11:43:08,254.254 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:43:08,256.256 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:43:08,262.262 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:43:08,267.267 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:43:10,306.306 INFO    ] ================================================
[2026-10-20 11:43:10,321.321 INFO    ] Launching Daemon at Tue Oct 20 11:43:10 IST 2026
[2026-10-20 11:43:10,332.332 INFO    ] ================================================
[2026-10-20 11:43:10,897.897 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:43:10
[2026-10-20 11:43:11,480.480 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:43:11,734.734 INFO    ] Initializing speech engine...
[2026-10-20 11:43:11,749.749 INFO    ] 2026-10-20 11:43:11
[2026-10-20 11:43:12,025.025 INFO    ] 2026-10-20 11:43:12
[2026-10-20 11:43:12,062.062 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:43:12,278.278 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:43:12,301.301 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:43:12,501.501 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:43:12,545.545 INFO    ] time= 20/10/2026 11:43:12
[2026-10-20 11:43:12,594.594 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:43:12,648.648 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:43:12,778.778 INFO    ] No existing commands found in stream
[2026-10-20 11:43:17,801.801 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:43:17,803.803 INFO    ] Waiting 0.20 seconds before fallback handling...
[2026-10-20 11:43:18,468.468 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:43:18,470.470 INFO    ] Checking for system updates...
[2026-10-20 11:43:18,506.506 INFO    ] 200
[2026-10-20 11:43:18,509.509 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:43:18,561.561 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:43:18,564.564 INFO    ] No update needed
[2026-10-20 11:43:18,566.566 INFO    ] Checking for camera pi updates...
[2026-10-20 11:43:18,599.599 INFO    ] 200
[2026-10-20 11:43:18,601.601 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:43:18,642.642 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:43:18,696.696 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:43:18,699.699 INFO    ] No camera update needed
[2026-10-20 11:43:18,701.701 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:43:18,703.703 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:43:18,709.709 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:43:18,714.714 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:43:20,753.753 INFO    ] ================================================
[2026-10-20 11:43:20,768.768 INFO    ] Launching Daemon at Tue Oct 20 11:43:20 IST 2026
[2026-10-20 11:43:20,778.778 INFO    ] ================================================
[2026-10-20 11:43:21,347.347 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:43:21
[2026-10-20 11:43:21,932.932 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:43:22,179.179 INFO    ] Initializing speech engine...
[2026-10-20 11:43:22,187.187 INFO    ] 2026-10-20 11:43:22
[2026-10-20 11:43:22,461.461 INFO    ] 2026-10-20 11:43:22
[2026-10-20 11:43:22,500.500 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:43:22,701.701 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:43:22,753.753 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:43:22,894.894 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:43:22,953.953 INFO    ] time= 20/10/2026 11:43:22
[2026-10-20 11:43:23,018.018 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:43:23,027.027 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:43:23,156.156 INFO    ] No existing commands found in stream
[2026-10-20 11:43:28,181.181 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:43:28,183.183 INFO    ] Waiting 0.42 seconds before fallback handling...
[2026-10-20 11:43:29,093.093 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:43:29,095.095 INFO    ] Checking for system updates...
[2026-10-20 11:43:29,132.132 INFO    ] 200
[2026-10-20 11:43:29,135.135 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:43:29,193.193 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:43:29,195.195 INFO    ] No update needed
[2026-10-20 11:43:29,198.198 INFO    ] Checking for camera pi updates...
[2026-10-20 11:43:29,232.232 INFO    ] 200
[2026-10-20 11:43:29,235.235 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:43:29,276.276 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:43:29,326.326 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:43:29,328.328 INFO    ] No camera update needed
[2026-10-20 11:43:29,331.331 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:43:29,334.334 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:43:29,340.340 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:43:29,345.345 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:43:31,385.385 INFO    ] ================================================
[2026-10-20 11:43:31,400.400 INFO    ] Launching Daemon at Tue Oct 20 11:43:31 IST 2026
[2026-10-20 11:43:31,411.411 INFO    ] ================================================
[2026-10-20 11:43:31,980.980 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:43:31
[2026-10-20 11:43:32,602.602 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:43:32,869.869 INFO    ] Initializing speech engine...
[2026-10-20 11:43:32,894.894 INFO    ] 2026-10-20 11:43:32
[2026-10-20 11:43:33,161.161 INFO    ] 2026-10-20 11:43:33
[2026-10-20 11:43:33,199.199 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:43:33,387.387 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:43:33,391.391 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:43:33,560.560 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:43:33,568.568 INFO    ] time= 20/10/2026 11:43:33
[2026-10-20 11:43:33,575.575 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:43:33,597.597 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:43:33,746.746 INFO    ] No existing commands found in stream
[2026-10-20 11:43:38,777.777 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:43:38,780.780 INFO    ] Waiting 0.18 seconds before fallback handling...
[2026-10-20 11:43:39,467.467 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:43:39,469.469 INFO    ] Checking for system updates...
[2026-10-20 11:43:39,504.504 INFO    ] 200
[2026-10-20 11:43:39,506.506 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:43:39,560.560 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:43:39,563.563 INFO    ] No update needed
[2026-10-20 11:43:39,565.565 INFO    ] Checking for camera pi updates...
[2026-10-20 11:43:39,598.598 INFO    ] 200
[2026-10-20 11:43:39,601.601 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:43:39,644.644 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:43:39,691.691 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:43:39,693.693 INFO    ] No camera update needed
[2026-10-20 11:43:39,696.696 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:43:39,698.698 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:43:39,703.703 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:43:39,708.708 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:43:41,750.750 INFO    ] ================================================
[2026-10-20 11:43:41,766.766 INFO    ] Launching Daemon at Tue Oct 20 11:43:41 IST 2026
[2026-10-20 11:43:41,776.776 INFO    ] ================================================
[2026-10-20 11:43:42,342.342 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:43:42
[2026-10-20 11:43:42,929.929 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:43:43,184.184 INFO    ] Initializing speech engine...
[2026-10-20 11:43:43,190.190 INFO    ] 2026-10-20 11:43:43
[2026-10-20 11:43:43,477.477 INFO    ] 2026-10-20 11:43:43
[2026-10-20 11:43:43,511.511 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:43:43,707.707 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:43:43,714.714 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:43:43,883.883 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:43:43,893.893 INFO    ] time= 20/10/2026 11:43:43
[2026-10-20 11:43:43,900.900 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:43:43,951.951 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:43:44,086.086 INFO    ] No existing commands found in stream
[2026-10-20 11:43:49,117.117 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:43:49,120.120 INFO    ] Waiting 0.48 seconds before fallback handling...
[2026-10-20 11:43:50,065.065 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:43:50,067.067 INFO    ] Checking for system updates...
[2026-10-20 11:43:50,103.103 INFO    ] 200
[2026-10-20 11:43:50,106.106 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:43:50,173.173 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:43:50,176.176 INFO    ] No update needed
[2026-10-20 11:43:50,178.178 INFO    ] Checking for camera pi updates...
[2026-10-20 11:43:50,212.212 INFO    ] 200
[2026-10-20 11:43:50,214.214 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:43:50,258.258 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:43:50,309.309 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:43:50,311.311 INFO    ] No camera update needed
[2026-10-20 11:43:50,313.313 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:43:50,316.316 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:43:50,321.321 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:43:50,326.326 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:43:52,365.365 INFO    ] ================================================
[2026-10-20 11:43:52,381.381 INFO    ] Launching Daemon at Tue Oct 20 11:43:52 IST 2026
[2026-10-20 11:43:52,392.392 INFO    ] ================================================
[2026-10-20 11:43:53,023.023 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:43:53
[2026-10-20 11:43:53,673.673 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:43:53,974.974 INFO    ] Initializing speech engine...
[2026-10-20 11:43:53,985.985 INFO    ] 2026-10-20 11:43:53
[2026-10-20 11:43:54,287.287 INFO    ] 2026-10-20 11:43:54
[2026-10-20 11:43:54,373.373 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:43:54,552.552 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:43:54,570.570 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:43:54,782.782 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:43:54,793.793 INFO    ] time= 20/10/2026 11:43:54
[2026-10-20 11:43:54,812.812 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:43:54,834.834 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:43:54,947.947 INFO    ] No existing commands found in stream
[2026-10-20 11:43:59,977.977 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:43:59,980.980 INFO    ] Waiting 0.50 seconds before fallback handling...
[2026-10-20 11:44:00,977.977 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:44:00,980.980 INFO    ] Checking for system updates...
[2026-10-20 11:44:01,017.017 INFO    ] 200
[2026-10-20 11:44:01,020.020 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:44:01,074.074 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:44:01,076.076 INFO    ] No update needed
[2026-10-20 11:44:01,079.079 INFO    ] Checking for camera pi updates...
[2026-10-20 11:44:01,113.113 INFO    ] 200
[2026-10-20 11:44:01,116.116 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:44:01,160.160 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:44:01,197.197 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:44:01,200.200 INFO    ] No camera update needed
[2026-10-20 11:44:01,203.203 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:44:01,205.205 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:44:01,211.211 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:44:01,217.217 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:44:03,272.272 INFO    ] ================================================
[2026-10-20 11:44:03,293.293 INFO    ] Launching Daemon at Tue Oct 20 11:44:03 IST 2026
[2026-10-20 11:44:03,305.305 INFO    ] ================================================
[2026-10-20 11:44:03,939.939 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:44:03
[2026-10-20 11:44:04,538.538 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:44:04,795.795 INFO    ] Initializing speech engine...
[2026-10-20 11:44:04,804.804 INFO    ] 2026-10-20 11:44:04
[2026-10-20 11:44:05,093.093 INFO    ] 2026-10-20 11:44:05
[2026-10-20 11:44:05,140.140 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:44:05,349.349 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:44:05,412.412 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:44:05,626.626 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:44:05,675.675 INFO    ] time= 20/10/2026 11:44:05
[2026-10-20 11:44:05,704.704 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:44:05,711.711 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:44:05,851.851 INFO    ] No existing commands found in stream
[2026-10-20 11:44:10,879.879 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:44:10,882.882 INFO    ] Waiting 1.86 seconds before fallback handling...
[2026-10-20 11:44:13,254.254 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 11:44:13,257.257 INFO    ] Checking for system updates...
[2026-10-20 11:44:13,296.296 INFO    ] 200
[2026-10-20 11:44:13,299.299 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:44:13,356.356 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:44:13,359.359 INFO    ] No update needed
[2026-10-20 11:44:13,362.362 INFO    ] Checking for camera pi updates...
[2026-10-20 11:44:13,395.395 INFO    ] 200
[2026-10-20 11:44:13,398.398 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:44:13,441.441 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:44:13,500.500 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:44:13,502.502 INFO    ] No camera update needed
[2026-10-20 11:44:13,505.505 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:44:13,507.507 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:44:13,513.513 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:44:13,519.519 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:44:15,560.560 INFO    ] ================================================
[2026-10-20 11:44:15,575.575 INFO    ] Launching Daemon at Tue Oct 20 11:44:15 IST 2026
[2026-10-20 11:44:15,585.585 INFO    ] ================================================
[2026-10-20 11:44:16,203.203 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:44:16
[2026-10-20 11:44:16,844.844 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:44:17,129.129 INFO    ] Initializing speech engine...
[2026-10-20 11:44:17,140.140 INFO    ] 2026-10-20 11:44:17
[2026-10-20 11:44:17,419.419 INFO    ] 2026-10-20 11:44:17
[2026-10-20 11:44:17,464.464 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:44:17,714.714 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:44:17,718.718 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:44:17,933.933 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:44:17,953.953 INFO    ] time= 20/10/2026 11:44:17
[2026-10-20 11:44:17,971.971 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:44:17,980.980 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:44:18,107.107 INFO    ] No existing commands found in stream
[2026-10-20 11:44:23,121.121 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:44:23,124.124 INFO    ] Waiting 1.64 seconds before fallback handling...
[2026-10-20 11:44:25,262.262 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:44:25,265.265 INFO    ] Checking for system updates...
[2026-10-20 11:44:25,314.314 INFO    ] 200
[2026-10-20 11:44:25,316.316 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:44:25,368.368 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:44:25,371.371 INFO    ] No update needed
[2026-10-20 11:44:25,374.374 INFO    ] Checking for camera pi updates...
[2026-10-20 11:44:25,410.410 INFO    ] 200
[2026-10-20 11:44:25,412.412 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:44:25,457.457 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:44:25,504.504 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:44:25,506.506 INFO    ] No camera update needed
[2026-10-20 11:44:25,509.509 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:44:25,512.512 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:44:25,517.517 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:44:25,523.523 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:44:27,562.562 INFO    ] ================================================
[2026-10-20 11:44:27,577.577 INFO    ] Launching Daemon at Tue Oct 20 11:44:27 IST 2026
[2026-10-20 11:44:27,587.587 INFO    ] ================================================
[2026-10-20 11:44:28,152.152 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:44:28
[2026-10-20 11:44:28,734.734 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:44:28,982.982 INFO    ] Initializing speech engine...
[2026-10-20 11:44:29,005.005 INFO    ] 2026-10-20 11:44:28
[2026-10-20 11:44:29,260.260 INFO    ] 2026-10-20 11:44:29
[2026-10-20 11:44:29,294.294 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:44:29,492.492 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:44:29,542.542 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:44:29,699.699 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:44:29,764.764 INFO    ] time= 20/10/2026 11:44:29
[2026-10-20 11:44:29,813.813 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:44:29,832.832 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:44:29,971.971 INFO    ] Found 1 existing command(s) in stream
[2026-10-20 11:44:30,002.002 INFO    ] Checking historical command: ID=1792476867773-0
[2026-10-20 11:44:30,047.047 INFO    ] process_and_cleanup_command: msg_id=1792476867773-0
[2026-10-20 11:44:30,091.091 INFO    ] is_command_expired: timestamp=2026-10-20T06:23:59.145Z, expiry=30s
[2026-10-20 11:44:30,275.275 INFO    ] Command removed from stream: 1792476867773-0. returning for processing...
[2026-10-20 11:44:30,324.324 INFO    ] ***** get_valid_command
[2026-10-20 11:44:30,327.327 INFO    ] {'command': 'start-order', 'data': '{"request_id":"start-order-1792477439145-72ylrg6i5","orderId":"TM04202203261020114348789","is_vending":false}', 'timeout': '10', 'source': 'webapp', 'timestamp': '2026-10-20T06:23:59.145Z'}
[2026-10-20 11:44:30,337.337 INFO    ] ***** Parsed command data: {'request_id': 'start-order-1792477439145-72ylrg6i5', 'is_vending': False, 'orderId': 'TM04202203261020114348789'}
[2026-10-20 11:44:30,340.340 INFO    ] Handling start order...
[2026-10-20 11:44:30,343.343 INFO    ] handle_start_order_command
[2026-10-20 11:44:30,419.419 INFO    ] _send_start_order_success: request_id=start-order-1792477439145-72ylrg6i5, order_id=TM04202203261020114348789
[2026-10-20 11:44:30,479.479 INFO    ] [_send_start_order_success] Adding message to stream: machine:TM04202203
[2026-10-20 11:44:30,585.585 INFO    ] [_send_start_order_success] Message added to stream with ID: 1792476870525-0
[2026-10-20 11:44:30,589.589 INFO    ] ✅ Start-order command succeeded - order locked, waiting for process-order command
[2026-10-20 11:44:30,594.594 INFO    ] Checking for system updates...
[2026-10-20 11:44:30,700.700 INFO    ] 200
[2026-10-20 11:44:30,752.752 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:44:30,809.809 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:44:30,819.819 INFO    ] No update needed
[2026-10-20 11:44:30,825.825 INFO    ] Checking for camera pi updates...
[2026-10-20 11:44:30,869.869 INFO    ] 200
[2026-10-20 11:44:30,874.874 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:44:30,919.919 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:44:30,985.985 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:44:30,995.995 INFO    ] No camera update needed
[2026-10-20 11:44:31,003.003 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:44:31,014.014 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:44:31,030.030 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:44:31,046.046 INFO    ] Thread: Thread-1, daemon=True, alive=True
[2026-10-20 11:44:31,057.057 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:44:33,110.110 INFO    ] ================================================
[2026-10-20 11:44:33,126.126 INFO    ] Launching Daemon at Tue Oct 20 11:44:33 IST 2026
[2026-10-20 11:44:33,138.138 INFO    ] ================================================
[2026-10-20 11:44:33,723.723 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:44:33
[2026-10-20 11:44:34,327.327 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:44:34,603.603 INFO    ] Initializing speech engine...
[2026-10-20 11:44:34,612.612 INFO    ] 2026-10-20 11:44:34
[2026-10-20 11:44:34,869.869 INFO    ] 2026-10-20 11:44:34
[2026-10-20 11:44:34,899.899 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:44:35,147.147 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:44:35,153.153 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:44:35,349.349 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:44:35,410.410 INFO    ] time= 20/10/2026 11:44:35
[2026-10-20 11:44:35,416.416 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:44:35,434.434 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:44:35,563.563 INFO    ] Found 2 existing command(s) in stream
[2026-10-20 11:44:35,619.619 INFO    ] Checking historical command: ID=1792476870525-0
[2026-10-20 11:44:35,676.676 INFO    ] process_and_cleanup_command: msg_id=1792476870525-0
[2026-10-20 11:44:35,700.700 INFO    ] is_command_expired: timestamp=2026-10-20T06:14:30.425483Z, expiry=30s
[2026-10-20 11:44:35,894.894 INFO    ] Command removed from stream: 1792476870525-0. returning for processing...
[2026-10-20 11:44:35,904.904 INFO    ] ***** get_valid_command
[2026-10-20 11:44:35,907.907 INFO    ] {'status': 'success', 'timestamp': '2026-10-20T06:14:30.425483Z', 'message': 'start-order success', 'metadata_request_id': 'start-order-1792477439145-72ylrg6i5', 'imei': 'TM04202203', 'message_type': 'command_response', 'metadata_order_id': 'TM04202203261020114348789'}
[2026-10-20 11:44:35,910.910 INFO    ] Checking historical command: ID=1792476871753-0
[2026-10-20 11:44:35,913.913 INFO    ] process_and_cleanup_command: msg_id=1792476871753-0
[2026-10-20 11:44:35,957.957 INFO    ] is_command_expired: timestamp=2026-10-20T06:24:03.183Z, expiry=30s
[2026-10-20 11:44:36,093.093 INFO    ] Command removed from stream: 1792476871753-0. returning for processing...
[2026-10-20 11:44:36,096.096 INFO    ] ***** get_valid_command
[2026-10-20 11:44:36,099.099 INFO    ] {'timestamp': '2026-10-20T06:24:03.183Z', 'data': '{"request_id":"process-order-1792477443183-mzkeqew34","orderId":"TM04202203261020114348789","is_vending":false,"accessCode":"82305663"}', 'source': 'webapp', 'command': 'process-order', 'timeout': '60'}
[2026-10-20 11:44:36,149.149 INFO    ] ***** Parsed command data: {'accessCode': '82305663', 'request_id': 'process-order-1792477443183-mzkeqew34', 'orderId': 'TM04202203261020114348789', 'is_vending': False}
[2026-10-20 11:44:36,156.156 INFO    ] Handling process order...
[2026-10-20 11:44:36,161.161 INFO    ] Processing process-order command...
[2026-10-20 11:44:36,166.166 INFO    ] 🔍 Lock file Order ID: TM04202203261020114348789, TS: 2026-10-20 11:44:30
[2026-10-20 11:44:36,182.182 INFO    ] ✅ Order lock valid for TM04202203261020114348789
[2026-10-20 11:44:36,187.187 INFO    ] Received access code in process-order, skipping PHP API call
[2026-10-20 11:44:36,191.191 INFO    ] processing access code 82305663 for order TM04202203261020114348789
[2026-10-20 11:44:36,197.197 INFO    ] 🔍 Lock file Order ID: TM04202203261020114348789, TS: 2026-10-20 11:44:30
[2026-10-20 11:44:36,202.202 INFO    ] ✅ Order lock valid for TM04202203261020114348789
[2026-10-20 11:44:36,207.207 INFO    ] 2026-10-20 11:44:36
[2026-10-20 11:44:36,319.319 INFO    ] 200
[2026-10-20 11:44:36,351.351 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:44:36,358.358 INFO    ] 82305663
[2026-10-20 11:44:36,363.363 INFO    ] 2026-10-20 11:44:36
[2026-10-20 11:44:36,370.370 INFO    ] session id :947927259
[2026-10-20 11:44:36,378.378 INFO    ] http://localhost:5000/v2/getOrderByAccessCode?access_code=82305663&imei=TM04202203&session_id=947927259
[2026-10-20 11:44:37,519.519 INFO    ] 200
[2026-10-20 11:44:37,584.584 INFO    ] {"data": {"access_code": "82305663", "bill_amount": "10", "invoice_bill": "10", "order_id": "TM04202203261020114348789", "mobile": "9686470596", "proposed_sku_json": [{"image_url": "https://images.tinymart.in/product/4500708-7901.webp", "door_id": "1", "mrp": "10", "offer_id": "", "name": "Modern Kitchen Masala Peanut 28gm", "unit_price": 10, "qty": 1, "offer_desc": "", "skuid": "4500708", "sku_total": 10, "tray_id": "20"}]}, "status": true, "msg": "Order Data", "rstatus": true}
[2026-10-20 11:44:37,591.591 INFO    ] 10
[2026-10-20 11:44:37,600.600 INFO    ] TM04202203261020114348789
[2026-10-20 11:44:37,609.609 INFO    ] 9686470596
[2026-10-20 11:44:37,615.615 INFO    ] 2026-10-20 11:44:37
[2026-10-20 11:44:37,625.625 INFO    ] Door Opening for user mobile ending with  zero five nine six 
[2026-10-20 11:44:37,656.656 INFO    ] Door Opening for user mobile ending with  zero five nine six 
[2026-10-20 11:44:37,667.667 INFO    ] d4400e1f5500a4c4ef8395e8b108c4e3
[2026-10-20 11:44:37,693.693 INFO    ] 2026-10-20 11:44:37
[2026-10-20 11:44:37,698.698 INFO    ] playing audio file
[2026-10-20 11:44:37,719.719 INFO    ] 2026-10-20 11:44:37
[2026-10-20 11:44:37,729.729 INFO    ] 2026-10-20 11:44:37
[2026-10-20 11:44:37,737.737 INFO    ] publish_status: order_id=TM04202203261020114348789
[2026-10-20 11:44:37,764.764 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020114348789
[2026-10-20 11:44:37,891.891 INFO    ] [publish_status] Message added to stream with ID: 1792476877822-0
[2026-10-20 11:44:37,921.921 INFO    ] Published to order:TM04202203261020114348789: {'server_status': 'order-started', 'order_id': 'TM04202203261020114348789', 'timestamp': '2026-10-20T06:14:37.730543Z', 'server_response': '{"status": true, "data": {"mobile": "9686470596", "access_code": "82305663", "order_id": "TM04202203261020114348789", "bill_amount": "10", "invoice_bill": "10", "proposed_sku_json": [{"mrp": "10", "offer_desc": "", "door_id": "1", "tray_id": "20", "qty": 1, "image_url": "https://images.tinymart.in/product/4500708-7901.webp", "sku_total": 10, "unit_price": 10, "offer_id": "", "skuid": "4500708", "name": "Modern Kitchen Masala Peanut 28gm"}]}, "rstatus": true, "msg": "Order Data"}'} (ID: 1792476877822-0)
[2026-10-20 11:44:38,527.527 INFO    ] {'server_status': 'order-started', 'order_id': 'TM04202203261020114348789', 'server_response': {'status': True, 'data': {'mobile': '9686470596', 'access_code': '82305663', 'order_id': 'TM04202203261020114348789', 'bill_amount': '10', 'invoice_bill': '10', 'proposed_sku_json': [{'mrp': '10', 'offer_desc': '', 'door_id': '1', 'tray_id': '20', 'qty': 1, 'image_url': 'https://images.tinymart.in/product/4500708-7901.webp', 'sku_total': 10, 'unit_price': 10, 'offer_id': '', 'skuid': '4500708', 'name': 'Modern Kitchen Masala Peanut 28gm'}]}, 'rstatus': True, 'msg': 'Order Data'}}
[2026-10-20 11:44:38,529.529 INFO    ] 200
[2026-10-20 11:44:38,532.532 INFO    ] {"data":{"server_status":"order-started","order_id":"TM04202203261020114348789","server_response":{"status":true,"data":{"mobile":"9686470596","access_code":"82305663","order_id":"TM04202203261020114348789","bill_amount":"10","invoice_bill":"10","proposed_sku_json":[{"mrp":"10","offer_desc":"","door_id":"1","tray_id":"20","qty":1,"image_url":"https:\/\/images.tinymart.in\/product\/4500708-7901.webp","sku_total":10,"unit_price":10,"offer_id":"","skuid":"4500708","name":"Modern Kitchen Masala Peanut 28gm"}]},"rstatus":true,"msg":"Order Data"}},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 11:44:38,534.534 INFO    ] {'data': {'server_status': 'order-started', 'order_id': 'TM04202203261020114348789', 'server_response': {'status': True, 'data': {'mobile': '9686470596', 'access_code': '82305663', 'order_id': 'TM04202203261020114348789', 'bill_amount': '10', 'invoice_bill': '10', 'proposed_sku_json': [{'mrp': '10', 'offer_desc': '', 'door_id': '1', 'qty': 1, 'image_url': 'https://images.tinymart.in/product/4500708-7901.webp', 'tray_id': '20', 'name': 'Modern Kitchen Masala Peanut 28gm', 'unit_price': 10, 'sku_total': 10, 'skuid': '4500708', 'offer_id': ''}]}, 'rstatus': True, 'msg': 'Order Data'}}, 'response': {'status': True, 'data': 'order updated successfully', 'code': 'ORDER_EXISTS', 'msg': 'order updated successfully'}}
[2026-10-20 11:44:38,537.537 INFO    ] 2026-10-20 11:44:38
[2026-10-20 11:44:38,583.583 INFO    ] 200
[2026-10-20 11:44:38,586.586 INFO    ] True
[2026-10-20 11:44:38,723.723 INFO    ] 200
[2026-10-20 11:44:38,726.726 INFO    ] {"SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "rstatus": false, "voiceNote": "Please Wait", "status": "False", "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait while we process your order", "Note": "", "Header": " Your order is under process  "}, "SectionMain": {"Header": "Processing Order"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 11:44:38,730.730 INFO    ] {'rstatus': False, 'voiceNote': 'Please Wait', 'status': 'False', 'SectionStatus': {'Note': '', 'SubHeader': 'Please wait while we process your order', 'UI_Header': '', 'Header': ' Your order is under process  '}, 'SectionMain': {'Header': 'Processing Order'}, 'SectionSKU': {'Header': 'Thank you for bearing with us :)', 'skus': []}, 'error': {'data': {}, 'umessage': 'In Progress', 'tmessage': 'In Progress', 'code': 20001}}
[2026-10-20 11:44:38,734.734 INFO    ] *** process_order ***
[2026-10-20 11:44:39,852.852 INFO    ] 200
[2026-10-20 11:44:39,855.855 INFO    ] {"SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "rstatus": false, "voiceNote": "Please Wait", "status": "False", "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait while we process your order", "Note": "", "Header": " Your order is under process  "}, "SectionMain": {"Header": "Processing Order"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 11:44:39,858.858 INFO    ] {'rstatus': False, 'voiceNote': 'Please Wait', 'status': 'False', 'SectionStatus': {'Note': '', 'SubHeader': 'Please wait while we process your order', 'UI_Header': '', 'Header': ' Your order is under process  '}, 'SectionMain': {'Header': 'Processing Order'}, 'SectionSKU': {'Header': 'Thank you for bearing with us :)', 'skus': []}, 'error': {'data': {}, 'umessage': 'In Progress', 'tmessage': 'In Progress', 'code': 20001}}
[2026-10-20 11:44:39,861.861 INFO    ] *** process_order ***
[2026-10-20 11:44:40,979.979 INFO    ] 200
[2026-10-20 11:44:40,982.982 INFO    ] {"SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "rstatus": false, "voiceNote": "Please Wait", "status": "False", "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait while we process your order", "Note": "", "Header": " Your order is under process  "}, "SectionMain": {"Header": "Processing Order"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 11:44:40,985.985 INFO    ] {'rstatus': False, 'voiceNote': 'Please Wait', 'status': 'False', 'SectionStatus': {'Note': '', 'SubHeader': 'Please wait while we process your order', 'UI_Header': '', 'Header': ' Your order is under process  '}, 'SectionMain': {'Header': 'Processing Order'}, 'SectionSKU': {'Header': 'Thank you for bearing with us :)', 'skus': []}, 'error': {'data': {}, 'umessage': 'In Progress', 'tmessage': 'In Progress', 'code': 20001}}
[2026-10-20 11:44:40,989.989 INFO    ] *** process_order ***
[2026-10-20 11:44:42,442.442 INFO    ] 200
[2026-10-20 11:44:42,444.444 INFO    ] {"SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "rstatus": true, "voiceNote": "Please Wait", "delay": 0, "status": "True", "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait while we process your order", "Note": "", "Header": " Your order is under process  "}, "SectionMain": {"Header": "Processing Order"}}
[2026-10-20 11:44:42,447.447 INFO    ] {'delay': 0, 'rstatus': True, 'voiceNote': 'Please Wait', 'status': 'True', 'SectionStatus': {'Note': '', 'SubHeader': 'Please wait while we process your order', 'UI_Header': '', 'Header': ' Your order is under process  '}, 'SectionMain': {'Header': 'Processing Order'}, 'SectionSKU': {'Header': 'Thank you for bearing with us :)', 'skus': []}}
[2026-10-20 11:44:42,450.450 INFO    ] *** process_order ***
[2026-10-20 11:44:42,453.453 INFO    ] publish_status: order_id=TM04202203261020114348789
[2026-10-20 11:44:42,456.456 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020114348789
[2026-10-20 11:44:42,534.534 INFO    ] [publish_status] Message added to stream with ID: 1792476882504-0
[2026-10-20 11:44:42,537.537 INFO    ] Published to order:TM04202203261020114348789: {'server_status': 'doorOpened', 'order_id': 'TM04202203261020114348789', 'server_response': '{"delay": 0, "rstatus": true, "voiceNote": "Door is open...", "status": "True", "SectionStatus": {"SubHeader": "You can pull the door now.", "Header": " Your order is under process  ", "Note": "", "UI_Header": ""}, "SectionMain": {"Header": "Processing Order"}, "SectionSKU": {"Header": "Thank you for bearing with us :)", "skus": []}}'} (ID: 1792476882504-0)
[2026-10-20 11:44:43,614.614 INFO    ] 2026-10-20 11:44:43
[2026-10-20 11:44:43,618.618 INFO    ] publish_status: order_id=TM04202203261020114348789
[2026-10-20 11:44:43,621.621 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020114348789
[2026-10-20 11:44:43,693.693 INFO    ] [publish_status] Message added to stream with ID: 1792476883664-0
[2026-10-20 11:44:43,696.696 INFO    ] Published to order:TM04202203261020114348789: {'server_status': 'processOrder', 'order_id': 'TM04202203261020114348789', 'timestamp': '2026-10-20T06:14:43.616197Z', 'server_response': '{"delay": 0, "rstatus": true, "voiceNote": "Please Wait", "status": "True", "SectionStatus": {"Note": "", "SubHeader": "Please wait while we process your order", "UI_Header": "", "Header": " Your order is under process  "}, "SectionMain": {"Header": "Processing Order"}, "SectionSKU": {"Header": "Thank you for bearing with us :)", "skus": []}}'} (ID: 1792476883664-0)
[2026-10-20 11:44:44,316.316 INFO    ] {'server_status': 'processOrder', 'order_id': 'TM04202203261020114348789', 'server_response': {'delay': 0, 'rstatus': True, 'voiceNote': 'Please Wait', 'status': 'True', 'SectionStatus': {'Note': '', 'SubHeader': 'Please wait while we process your order', 'UI_Header': '', 'Header': ' Your order is under process  '}, 'SectionMain': {'Header': 'Processing Order'}, 'SectionSKU': {'Header': 'Thank you for bearing with us :)', 'skus': []}}}
[2026-10-20 11:44:44,319.319 INFO    ] 200
[2026-10-20 11:44:44,322.322 INFO    ] {"data":{"server_status":"processOrder","order_id":"TM04202203261020114348789","server_response":{"delay":0,"rstatus":true,"voiceNote":"Please Wait","status":"true","SectionStatus":{"Note":"","SubHeader":"Please wait while we process your order","UI_Header":"","Header":" Your order is under process  "},"SectionMain":{"Header":"Processing Order"},"SectionSKU":{"Header":"Thank you for bearing with us :)","skus":[]}}},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 11:44:44,326.326 INFO    ] {'data': {'server_status': 'processOrder', 'order_id': 'TM04202203261020114348789', 'server_response': {'delay': 0, 'rstatus': True, 'voiceNote': 'Please Wait', 'status': 'true', 'SectionStatus': {'SubHeader': 'Please wait while we process your order', 'Note': '', 'UI_Header': '', 'Header': ' Your order is under process  '}, 'SectionMain': {'Header': 'Processing Order'}, 'SectionSKU': {'Header': 'Thank you for bearing with us :)', 'skus': []}}}, 'response': {'status': True, 'data': 'order updated successfully', 'code': 'ORDER_EXISTS', 'msg': 'order updated successfully'}}
[2026-10-20 11:44:44,329.329 INFO    ] 2026-10-20 11:44:44
[2026-10-20 11:44:44,332.332 INFO    ] None
[2026-10-20 11:44:44,335.335 INFO    ] Opening Door now
[2026-10-20 11:44:44,338.338 INFO    ] Opening Door now
[2026-10-20 11:44:44,342.342 INFO    ] 08e5d1063504bf393c26f0bfa436e9f9
[2026-10-20 11:44:44,345.345 INFO    ] 2026-10-20 11:44:44
[2026-10-20 11:44:44,349.349 INFO    ] playing audio file
[2026-10-20 11:44:44,367.367 INFO    ] 2026-10-20 11:44:44
[2026-10-20 11:44:44,371.371 INFO    ] 2026-10-20 11:44:44
[2026-10-20 11:44:47,466.466 INFO    ] 200
[2026-10-20 11:44:47,469.469 INFO    ] {"SectionSKU": {"skus": [{"name": "Modern Kitchen Masala Peanut 28gm", "qty": 1}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Door 1 is open now", "status": "False", "SectionStatus": {"UI_Header": "DOOR 1\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 1"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 11:44:47,473.473 INFO    ] {'rstatus': False, 'voiceNote': 'Door 1 is open now', 'status': 'False', 'SectionStatus': {'Note': 'Please Close the door after picking up products', 'SubHeader': 'Please Pick the Products and close the door', 'UI_Header': 'DOOR 1\nIS \nOPEN \nNOW', 'Header': 'Please Close Door 1'}, 'SectionMain': {'Header': 'Door Open'}, 'SectionSKU': {'Header': 'Pick the below items from the door', 'skus': [{'qty': 1, 'name': 'Modern Kitchen Masala Peanut 28gm'}]}, 'error': {'data': {}, 'umessage': 'In Progress', 'tmessage': 'In Progress', 'code': 20001}}
[2026-10-20 11:44:50,563.563 INFO    ] 200
[2026-10-20 11:44:50,567.567 INFO    ] {"SectionSKU": {"skus": [{"name": "Modern Kitchen Masala Peanut 28gm", "qty": 1}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Please close door 1", "status": "False", "SectionStatus": {"UI_Header": "DOOR 1\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 1"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 11:44:50,570.570 INFO    ] {'rstatus': False, 'voiceNote': 'Please close door 1', 'status': 'False', 'SectionStatus': {'Note': 'Please Close the door after picking up products', 'SubHeader': 'Please Pick the Products and close the door', 'UI_Header': 'DOOR 1\nIS \nOPEN \nNOW', 'Header': 'Please Close Door 1'}, 'SectionMain': {'Header': 'Door Open'}, 'SectionSKU': {'Header': 'Pick the below items from the door', 'skus': [{'qty': 1, 'name': 'Modern Kitchen Masala Peanut 28gm'}]}, 'error': {'data': {}, 'umessage': 'In Progress', 'tmessage': 'In Progress', 'code': 20001}}
[2026-10-20 11:44:53,638.638 INFO    ] 200
[2026-10-20 11:44:53,642.642 INFO    ] {"SectionSKU": {"skus": [{"name": "Modern Kitchen Masala Peanut 28gm", "qty": 1}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Please close door 1", "status": "False", "SectionStatus": {"UI_Header": "DOOR 1\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 1"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 11:44:53,645.645 INFO    ] Please close door 1
[2026-10-20 11:44:53,649.649 INFO    ] Please close door 1
[2026-10-20 11:44:53,652.652 INFO    ] 787c302d53ab591e55c034b99c7aadd2
[2026-10-20 11:44:53,655.655 INFO    ] 2026-10-20 11:44:53
[2026-10-20 11:44:53,657.657 INFO    ] playing audio file
[2026-10-20 11:44:53,676.676 INFO    ] 2026-10-20 11:44:53
[2026-10-20 11:44:53,681.681 INFO    ] publish_status: order_id=TM04202203261020114348789
[2026-10-20 11:44:53,684.684 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020114348789
[2026-10-20 11:44:53,763.763 INFO    ] [publish_status] Message added to stream with ID: 1792476893736-0
[2026-10-20 11:44:53,767.767 INFO    ] Published to order:TM04202203261020114348789: {'server_status': 'OrderStatus', 'order_id': 'TM04202203261020114348789', 'timestamp': '2026-10-20T06:14:53.678585Z', 'server_response': '{"rstatus": false, "voiceNote": "Please close door 1", "status": "False", "SectionStatus": {"Note": "Please Close the door after picking up products", "SubHeader": "Please Pick the Products and close the door", "UI_Header": "DOOR 1\\nIS \\nOPEN \\nNOW", "Header": "Please Close Door 1"}, "SectionMain": {"Header": "Door Open"}, "SectionSKU": {"Header": "Pick the below items from the door", "skus": [{"qty": 1, "name": "Modern Kitchen Masala Peanut 28gm"}]}, "error": {"data": {}, "umessage": "In Progress", "tmessage": "In Progress", "code": 20001}}'} (ID: 1792476893736-0)
[2026-10-20 11:44:54,391.391 INFO    ] {'server_status': 'OrderStatus', 'order_id': 'TM04202203261020114348789', 'server_response': {'rstatus': False, 'voiceNote': 'Please close door 1', 'status': 'False', 'SectionStatus': {'Note': 'Please Close the door after picking up products', 'SubHeader': 'Please Pick the Products and close the door', 'UI_Header': 'DOOR 1\nIS \nOPEN \nNOW', 'Header': 'Please Close Door 1'}, 'SectionMain': {'Header': 'Door Open'}, 'SectionSKU': {'Header': 'Pick the below items from the door', 'skus': [{'qty': 1, 'name': 'Modern Kitchen Masala Peanut 28gm'}]}, 'error': {'data': {}, 'umessage': 'In Progress', 'tmessage': 'In Progress', 'code': 20001}}}
[2026-10-20 11:44:54,393.393 INFO    ] 200
[2026-10-20 11:44:54,396.396 INFO    ] {"data":{"server_status":"OrderStatus","order_id":"TM04202203261020114348789","server_response":{"rstatus":false,"voiceNote":"Please close door 1","status":"false","SectionStatus":{"Note":"Please Close the door after picking up products","SubHeader":"Please Pick the Products and close the door","UI_Header":"DOOR 1\nIS \nOPEN \nNOW","Header":"Please Close Door 1"},"SectionMain":{"Header":"Door Open"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[{"qty":1,"name":"Modern Kitchen Masala Peanut 28gm"}]},"error":{"data":[],"umessage":"In Progress","tmessage":"In Progress","code":20001}}},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 11:44:54,400.400 INFO    ] {'data': {'server_status': 'OrderStatus', 'order_id': 'TM04202203261020114348789', 'server_response': {'rstatus': False, 'voiceNote': 'Please close door 1', 'status': 'false', 'SectionStatus': {'SubHeader': 'Please Pick the Products and close the door', 'Note': 'Please Close the door after picking up products', 'UI_Header': 'DOOR 1\nIS \nOPEN \nNOW', 'Header': 'Please Close Door 1'}, 'SectionMain': {'Header': 'Door Open'}, 'SectionSKU': {'Header': 'Pick the below items from the door', 'skus': [{'qty': 1, 'name': 'Modern Kitchen Masala Peanut 28gm'}]}, 'error': {'data': [], 'umessage': 'In Progress', 'tmessage': 'In Progress', 'code': 20001}}}, 'response': {'status': True, 'data': 'order updated successfully', 'code': 'ORDER_EXISTS', 'msg': 'order updated successfully'}}
[2026-10-20 11:44:54,403.403 INFO    ] {'rstatus': False, 'voiceNote': 'Please close door 1', 'status': 'False', 'SectionStatus': {'Note': 'Please Close the door after picking up products', 'SubHeader': 'Please Pick the Products and close the door', 'UI_Header': 'DOOR 1\nIS \nOPEN \nNOW', 'Header': 'Please Close Door 1'}, 'SectionMain': {'Header': 'Door Open'}, 'SectionSKU': {'Header': 'Pick the below items from the door', 'skus': [{'qty': 1, 'name': 'Modern Kitchen Masala Peanut 28gm'}]}, 'error': {'data': {}, 'umessage': 'In Progress', 'tmessage': 'In Progress', 'code': 20001}}
[2026-10-20 11:44:57,465.465 INFO    ] 200
[2026-10-20 11:44:57,468.468 INFO    ] {"SectionSKU": {"skus": [], "Header": "If you like us, tell others... else tell us"}, "rstatus": true, "voiceNote": "Transaction Completed", "delay": 100, "status": "True", "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait for invoice to generate", "Note": "If any due amount, clear at https://go.tinymart.in", "Header": " Order is complete "}, "SectionMain": {"Header": "Door Closed"}}
[2026-10-20 11:44:57,472.472 INFO    ] {'delay': 100, 'rstatus': True, 'voiceNote': 'Transaction Completed', 'status': 'True', 'SectionStatus': {'Note': 'If any due amount, clear at https://go.tinymart.in', 'SubHeader': 'Please wait for invoice to generate', 'UI_Header': '', 'Header': ' Order is complete '}, 'SectionMain': {'Header': 'Door Closed'}, 'SectionSKU': {'Header': 'If you like us, tell others... else tell us', 'skus': []}}
[2026-10-20 11:44:57,476.476 INFO    ] 2026-10-20 11:44:57
[2026-10-20 11:44:57,479.479 INFO    ] Order Completed 
[2026-10-20 11:44:57,483.483 INFO    ] Order Completed 
[2026-10-20 11:44:57,486.486 INFO    ] 193c8a8cf3bf490ccfe0b23598544a83
[2026-10-20 11:44:57,489.489 INFO    ] 2026-10-20 11:44:57
[2026-10-20 11:44:57,493.493 INFO    ] playing audio file
[2026-10-20 11:44:57,512.512 INFO    ] 2026-10-20 11:44:57
[2026-10-20 11:44:57,516.516 INFO    ] {'delay': 100, 'rstatus': True, 'voiceNote': 'Transaction Completed', 'status': 'True', 'SectionStatus': {'Note': 'If any due amount, clear at https://go.tinymart.in', 'SubHeader': 'Please wait for invoice to generate', 'UI_Header': '', 'Header': ' Order is complete '}, 'SectionMain': {'Header': 'Door Closed'}, 'SectionSKU': {'Header': 'If you like us, tell others... else tell us', 'skus': []}}
[2026-10-20 11:44:57,521.521 INFO    ] 2026-10-20 11:44:57
[2026-10-20 11:44:58,555.555 INFO    ] 200
[2026-10-20 11:44:58,558.558 INFO    ] {"rstatus": true, "logic": "WBL", "skus": [{"door_id": "", "name": "Modern Kitchen Masala Peanut 28gm per peice", "mrp": "10", "skuid": "4500708", "unit_price": "10", "qty": 1, "tray_id": "20", "sku_total": 10.0, "image_url": "https://images.tinymart.in/product/4500708-7901.webp"}], "orderId": "TM04202203261020114348789", "res": "True", "total_amount": 10.0, "anomaly": 0}
[2026-10-20 11:44:58,562.562 INFO    ] {'res': 'True', 'total_amount': 10.0, 'rstatus': True, 'anomaly': 0, 'logic': 'WBL', 'skus': [{'mrp': '10', 'door_id': '', 'qty': 1, 'image_url': 'https://images.tinymart.in/product/4500708-7901.webp', 'tray_id': '20', 'unit_price': '10', 'sku_total': 10.0, 'skuid': '4500708', 'name': 'Modern Kitchen Masala Peanut 28gm per peice'}], 'orderId': 'TM04202203261020114348789'}
[2026-10-20 11:44:58,566.566 INFO    ] {'res': 'True', 'total_amount': 10.0, 'rstatus': True, 'anomaly': 0, 'logic': 'WBL', 'skus': [{'mrp': '10', 'door_id': '', 'qty': 1, 'image_url': 'https://images.tinymart.in/product/4500708-7901.webp', 'tray_id': '20', 'unit_price': '10', 'sku_total': 10.0, 'skuid': '4500708', 'name': 'Modern Kitchen Masala Peanut 28gm per peice'}], 'orderId': 'TM04202203261020114348789'}
[2026-10-20 11:44:58,569.569 INFO    ] 2026-10-20 11:44:58
[2026-10-20 11:44:58,572.572 INFO    ] 2026-10-20 11:44:58
[2026-10-20 11:44:58,575.575 INFO    ] 10
[2026-10-20 11:44:58,578.578 INFO    ] 2026-10-20 11:44:58
[2026-10-20 11:44:58,581.581 INFO    ] 2026-10-20 11:44:58
[2026-10-20 11:44:58,584.584 INFO    ]  Your Bill Amount is 10
[2026-10-20 11:44:58,586.586 INFO    ]  Your Bill Amount is 10
[2026-10-20 11:44:58,589.589 INFO    ] 85bfbe5b6a8f89327a526d08bc1ad1da
[2026-10-20 11:44:58,593.593 INFO    ] 2026-10-20 11:44:58
[2026-10-20 11:44:58,595.595 INFO    ] playing audio file
[2026-10-20 11:44:58,613.613 INFO    ] 2026-10-20 11:44:58
[2026-10-20 11:44:58,617.617 INFO    ] 2026-10-20 11:44:58
[2026-10-20 11:44:58,621.621 INFO    ] publish_status: order_id=TM04202203261020114348789
[2026-10-20 11:44:58,625.625 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020114348789
[2026-10-20 11:44:58,699.699 INFO    ] [publish_status] Message added to stream with ID: 1792476898673-0
[2026-10-20 11:44:58,702.702 INFO    ] Published to order:TM04202203261020114348789: {'server_status': 'invoiceOrder', 'order_id': 'TM04202203261020114348789', 'timestamp': '2026-10-20T06:14:58.619521Z', 'server_response': '{"res": "True", "total_amount": 10.0, "rstatus": true, "anomaly": 0, "logic": "WBL", "skus": [{"mrp": "10", "door_id": "", "qty": 1, "image_url": "https://images.tinymart.in/product/4500708-7901.webp", "tray_id": "20", "unit_price": "10", "sku_total": 10.0, "skuid": "4500708", "name": "Modern Kitchen Masala Peanut 28gm per peice"}], "orderId": "TM04202203261020114348789"}'} (ID: 1792476898673-0)
[2026-10-20 11:44:58,874.874 INFO    ] {'server_status': 'invoiceOrder', 'order_id': 'TM04202203261020114348789', 'server_response': {'res': 'True', 'total_amount': 10.0, 'rstatus': True, 'anomaly': 0, 'logic': 'WBL', 'skus': [{'mrp': '10', 'door_id': '', 'qty': 1, 'image_url': 'https://images.tinymart.in/product/4500708-7901.webp', 'tray_id': '20', 'unit_price': '10', 'sku_total': 10.0, 'skuid': '4500708', 'name': 'Modern Kitchen Masala Peanut 28gm per peice'}], 'orderId': 'TM04202203261020114348789'}}
[2026-10-20 11:44:58,877.877 INFO    ] 200
[2026-10-20 11:44:58,880.880 INFO    ] {"data":{"server_status":"invoiceOrder","order_id":"TM04202203261020114348789","server_response":{"res":"true","total_amount":10,"rstatus":true,"anomaly":0,"logic":"WBL","skus":[{"mrp":"10","door_id":"","qty":1,"image_url":"https:\/\/images.tinymart.in\/product\/4500708-7901.webp","tray_id":"20","unit_price":"10","sku_total":10,"skuid":"4500708","name":"Modern Kitchen Masala Peanut 28gm per peice"}],"orderId":"TM04202203261020114348789"}},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 11:44:58,884.884 INFO    ] {'data': {'server_status': 'invoiceOrder', 'order_id': 'TM04202203261020114348789', 'server_response': {'res': 'true', 'total_amount': 10, 'rstatus': True, 'orderId': 'TM04202203261020114348789', 'logic': 'WBL', 'skus': [{'mrp': '10', 'door_id': '', 'qty': 1, 'image_url': 'https://images.tinymart.in/product/4500708-7901.webp', 'tray_id': '20', 'unit_price': '10', 'sku_total': 10, 'skuid': '4500708', 'name': 'Modern Kitchen Masala Peanut 28gm per peice'}], 'anomaly': 0}}, 'response': {'status': True, 'data': 'order updated successfully', 'code': 'ORDER_EXISTS', 'msg': 'order updated successfully'}}
[2026-10-20 11:44:58,889.889 INFO    ] {'data': {'server_status': 'invoiceOrder', 'order_id': 'TM04202203261020114348789', 'server_response': {'res': 'true', 'total_amount': 10, 'rstatus': True, 'orderId': 'TM04202203261020114348789', 'logic': 'WBL', 'skus': [{'mrp': '10', 'door_id': '', 'qty': 1, 'image_url': 'https://images.tinymart.in/product/4500708-7901.webp', 'tray_id': '20', 'unit_price': '10', 'sku_total': 10, 'skuid': '4500708', 'name': 'Modern Kitchen Masala Peanut 28gm per peice'}], 'anomaly': 0}}, 'response': {'status': True, 'data': 'order updated successfully', 'code': 'ORDER_EXISTS', 'msg': 'order updated successfully'}}
[2026-10-20 11:44:58,892.892 INFO    ] 2026-10-20 11:44:58
[2026-10-20 11:45:00,824.824 INFO    ] 200
[2026-10-20 11:45:00,827.827 INFO    ] {"orders": [], "order_items_synced": [], "tray_synced": ["TM04202203261020114348789", "TM04202203261020114348789", "TM04202203261020114348789", "TM04202203261020114348789", "TM04202203261020114348789", "TM04202203261020114348789", "TM04202203261020114348789", "TM04202203261020114348789", "TM04202203261020114348789", "TM04202203261020114348789", "TM04202203261020114348789", "TM04202203261020114348789", "TM04202203261020114348789", "TM04202203261020114348789", "TM04202203261020114348789", "TM04202203261020114348789", "TM04202203261020114348789", "TM04202203261020114348789", "TM04202203261020114348789", "TM04202203261020114348789", "TM04202203261020114348789", "TM04202203261020114348789", "TM04202203261020114348789", "TM04202203261020114348789", "TM04202203261020114348789", "TM04202203261020114348789", "TM04202203261020114348789", "TM04202203261020114348789", "TM04202203261020114348789", "TM04202203261020114348789", "TM04202203261020114348789", "TM04202203261020114348789", "TM04202203261020114348789"], "orders_synced": [], "status": true, "tray_sync": [], "order_items": [], "orders_data": [], "orders_data_synced": []}
[2026-10-20 11:45:00,831.831 INFO    ] 2026-10-20 11:45:00
[2026-10-20 11:45:00,956.956 INFO    ] 200
[2026-10-20 11:45:00,959.959 INFO    ] True
[2026-10-20 11:45:00,963.963 INFO    ] cleanup_start_order_file_after_processing: order_id=TM04202203261020114348789
[2026-10-20 11:45:00,967.967 INFO    ] start order file deleted
[2026-10-20 11:45:00,974.974 INFO    ] Checking for system updates...
[2026-10-20 11:45:01,011.011 INFO    ] 200
[2026-10-20 11:45:01,014.014 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:45:01,076.076 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:45:01,078.078 INFO    ] No update needed
[2026-10-20 11:45:01,081.081 INFO    ] Checking for camera pi updates...
[2026-10-20 11:45:01,123.123 INFO    ] 200
[2026-10-20 11:45:01,126.126 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:45:01,170.170 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:45:01,217.217 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:45:01,220.220 INFO    ] No camera update needed
[2026-10-20 11:45:01,222.222 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:45:01,225.225 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:45:01,231.231 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:45:01,236.236 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:45:03,303.303 INFO    ] ================================================
[2026-10-20 11:45:03,324.324 INFO    ] Launching Daemon at Tue Oct 20 11:45:03 IST 2026
[2026-10-20 11:45:03,342.342 INFO    ] ================================================
[2026-10-20 11:45:04,033.033 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:45:04
[2026-10-20 11:45:04,742.742 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:45:05,057.057 INFO    ] Initializing speech engine...
[2026-10-20 11:45:05,071.071 INFO    ] 2026-10-20 11:45:05
[2026-10-20 11:45:05,383.383 INFO    ] 2026-10-20 11:45:05
[2026-10-20 11:45:05,471.471 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:45:05,680.680 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:45:05,689.689 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:45:05,888.888 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:45:05,895.895 INFO    ] time= 20/10/2026 11:45:05
[2026-10-20 11:45:05,916.916 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:45:05,944.944 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:45:06,060.060 INFO    ] No existing commands found in stream
[2026-10-20 11:45:11,101.101 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:45:11,104.104 INFO    ] Waiting 2.59 seconds before fallback handling...
[2026-10-20 11:45:14,171.171 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 11:45:14,173.173 INFO    ] Checking for system updates...
[2026-10-20 11:45:14,213.213 INFO    ] 200
[2026-10-20 11:45:14,215.215 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:45:14,268.268 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:45:14,270.270 INFO    ] No update needed
[2026-10-20 11:45:14,273.273 INFO    ] Checking for camera pi updates...
[2026-10-20 11:45:14,305.305 INFO    ] 200
[2026-10-20 11:45:14,308.308 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:45:14,352.352 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:45:14,387.387 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:45:14,389.389 INFO    ] No camera update needed
[2026-10-20 11:45:14,392.392 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:45:14,394.394 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:45:14,399.399 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:45:14,404.404 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:45:16,445.445 INFO    ] ================================================
[2026-10-20 11:45:16,460.460 INFO    ] Launching Daemon at Tue Oct 20 11:45:16 IST 2026
[2026-10-20 11:45:16,470.470 INFO    ] ================================================
[2026-10-20 11:45:17,044.044 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:45:17
[2026-10-20 11:45:17,635.635 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:45:17,911.911 INFO    ] Initializing speech engine...
[2026-10-20 11:45:17,916.916 INFO    ] 2026-10-20 11:45:17
[2026-10-20 11:45:18,163.163 INFO    ] 2026-10-20 11:45:18
[2026-10-20 11:45:18,198.198 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:45:18,448.448 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:45:18,458.458 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:45:18,661.661 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:45:18,717.717 INFO    ] time= 20/10/2026 11:45:18
[2026-10-20 11:45:18,724.724 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:45:18,741.741 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:45:18,862.862 INFO    ] No existing commands found in stream
[2026-10-20 11:45:23,881.881 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:45:23,884.884 INFO    ] Waiting 1.11 seconds before fallback handling...
[2026-10-20 11:45:25,487.487 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:45:25,489.489 INFO    ] Checking for system updates...
[2026-10-20 11:45:25,526.526 INFO    ] 200
[2026-10-20 11:45:25,529.529 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:45:25,588.588 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:45:25,591.591 INFO    ] No update needed
[2026-10-20 11:45:25,593.593 INFO    ] Checking for camera pi updates...
[2026-10-20 11:45:25,627.627 INFO    ] 200
[2026-10-20 11:45:25,629.629 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:45:25,669.669 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:45:25,720.720 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:45:25,723.723 INFO    ] No camera update needed
[2026-10-20 11:45:25,725.725 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:45:25,728.728 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:45:25,733.733 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:45:25,738.738 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:45:27,778.778 INFO    ] ================================================
[2026-10-20 11:45:27,793.793 INFO    ] Launching Daemon at Tue Oct 20 11:45:27 IST 2026
[2026-10-20 11:45:27,804.804 INFO    ] ================================================
[2026-10-20 11:45:28,369.369 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:45:28
[2026-10-20 11:45:28,952.952 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:45:29,203.203 INFO    ] Initializing speech engine...
[2026-10-20 11:45:29,223.223 INFO    ] 2026-10-20 11:45:29
[2026-10-20 11:45:29,482.482 INFO    ] 2026-10-20 11:45:29
[2026-10-20 11:45:29,517.517 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:45:29,750.750 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:45:29,777.777 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:45:29,928.928 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:45:29,982.982 INFO    ] time= 20/10/2026 11:45:29
[2026-10-20 11:45:30,044.044 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:45:30,051.051 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:45:30,191.191 INFO    ] No existing commands found in stream
[2026-10-20 11:45:35,206.206 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:45:35,209.209 INFO    ] Waiting 1.36 seconds before fallback handling...
[2026-10-20 11:45:37,095.095 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:45:37,098.098 INFO    ] Checking for system updates...
[2026-10-20 11:45:37,133.133 INFO    ] 200
[2026-10-20 11:45:37,135.135 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:45:37,187.187 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:45:37,190.190 INFO    ] No update needed
[2026-10-20 11:45:37,193.193 INFO    ] Checking for camera pi updates...
[2026-10-20 11:45:37,230.230 INFO    ] 200
[2026-10-20 11:45:37,232.232 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:45:37,272.272 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:45:37,320.320 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:45:37,322.322 INFO    ] No camera update needed
[2026-10-20 11:45:37,325.325 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:45:37,327.327 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:45:37,332.332 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:45:37,337.337 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:45:39,377.377 INFO    ] ================================================
[2026-10-20 11:45:39,392.392 INFO    ] Launching Daemon at Tue Oct 20 11:45:39 IST 2026
[2026-10-20 11:45:39,403.403 INFO    ] ================================================
[2026-10-20 11:45:39,974.974 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:45:39
[2026-10-20 11:45:40,556.556 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:45:40,828.828 INFO    ] Initializing speech engine...
[2026-10-20 11:45:40,834.834 INFO    ] 2026-10-20 11:45:40
[2026-10-20 11:45:41,085.085 INFO    ] 2026-10-20 11:45:41
[2026-10-20 11:45:41,121.121 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:45:41,364.364 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:45:41,374.374 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:45:41,507.507 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:45:41,567.567 INFO    ] time= 20/10/2026 11:45:41
[2026-10-20 11:45:41,628.628 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:45:41,638.638 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:45:41,775.775 INFO    ] No existing commands found in stream
[2026-10-20 11:45:46,795.795 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:45:46,798.798 INFO    ] Waiting 1.31 seconds before fallback handling...
[2026-10-20 11:45:48,622.622 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:45:48,625.625 INFO    ] Checking for system updates...
[2026-10-20 11:45:48,662.662 INFO    ] 200
[2026-10-20 11:45:48,665.665 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:45:48,724.724 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:45:48,727.727 INFO    ] No update needed
[2026-10-20 11:45:48,729.729 INFO    ] Checking for camera pi updates...
[2026-10-20 11:45:48,764.764 INFO    ] 200
[2026-10-20 11:45:48,766.766 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:45:48,806.806 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:45:48,857.857 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:45:48,860.860 INFO    ] No camera update needed
[2026-10-20 11:45:48,863.863 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:45:48,865.865 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:45:48,871.871 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:45:48,876.876 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:45:50,918.918 INFO    ] ================================================
[2026-10-20 11:45:50,935.935 INFO    ] Launching Daemon at Tue Oct 20 11:45:50 IST 2026
[2026-10-20 11:45:50,948.948 INFO    ] ================================================
[2026-10-20 11:45:51,525.525 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:45:51
[2026-10-20 11:45:52,111.111 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:45:52,367.367 INFO    ] Initializing speech engine...
[2026-10-20 11:45:52,374.374 INFO    ] 2026-10-20 11:45:52
[2026-10-20 11:45:52,675.675 INFO    ] 2026-10-20 11:45:52
[2026-10-20 11:45:52,713.713 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:45:52,924.924 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:45:52,944.944 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:45:53,096.096 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:45:53,102.102 INFO    ] time= 20/10/2026 11:45:53
[2026-10-20 11:45:53,107.107 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:45:53,114.114 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:45:53,254.254 INFO    ] No existing commands found in stream
[2026-10-20 11:45:58,279.279 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:45:58,282.282 INFO    ] Waiting 3.32 seconds before fallback handling...
[2026-10-20 11:46:02,086.086 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:46:02,090.090 INFO    ] Checking for system updates...
[2026-10-20 11:46:02,134.134 INFO    ] 200
[2026-10-20 11:46:02,137.137 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:46:02,196.196 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:46:02,199.199 INFO    ] No update needed
[2026-10-20 11:46:02,202.202 INFO    ] Checking for camera pi updates...
[2026-10-20 11:46:02,241.241 INFO    ] 200
[2026-10-20 11:46:02,244.244 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:46:02,291.291 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:46:02,332.332 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:46:02,335.335 INFO    ] No camera update needed
[2026-10-20 11:46:02,338.338 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:46:02,341.341 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:46:02,347.347 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:46:02,353.353 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:46:04,393.393 INFO    ] ================================================
[2026-10-20 11:46:04,409.409 INFO    ] Launching Daemon at Tue Oct 20 11:46:04 IST 2026
[2026-10-20 11:46:04,420.420 INFO    ] ================================================
[2026-10-20 11:46:05,063.063 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:46:05
[2026-10-20 11:46:05,724.724 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:46:06,021.021 INFO    ] Initializing speech engine...
[2026-10-20 11:46:06,036.036 INFO    ] 2026-10-20 11:46:06
[2026-10-20 11:46:06,308.308 INFO    ] 2026-10-20 11:46:06
[2026-10-20 11:46:06,365.365 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:46:06,592.592 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:46:06,597.597 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:46:06,732.732 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:46:06,793.793 INFO    ] time= 20/10/2026 11:46:06
[2026-10-20 11:46:06,853.853 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:46:06,866.866 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:46:07,016.016 INFO    ] No existing commands found in stream
[2026-10-20 11:46:12,035.035 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:46:12,039.039 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-10-20 11:46:15,677.677 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:46:15,680.680 INFO    ] Checking for system updates...
[2026-10-20 11:46:15,720.720 INFO    ] 200
[2026-10-20 11:46:15,723.723 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:46:15,776.776 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:46:15,780.780 INFO    ] No update needed
[2026-10-20 11:46:15,782.782 INFO    ] Checking for camera pi updates...
[2026-10-20 11:46:15,816.816 INFO    ] 200
[2026-10-20 11:46:15,819.819 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:46:15,864.864 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:46:15,914.914 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:46:15,917.917 INFO    ] No camera update needed
[2026-10-20 11:46:15,919.919 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:46:15,922.922 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:46:15,928.928 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:46:15,934.934 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:46:17,975.975 INFO    ] ================================================
[2026-10-20 11:46:17,991.991 INFO    ] Launching Daemon at Tue Oct 20 11:46:17 IST 2026
[2026-10-20 11:46:18,002.002 INFO    ] ================================================
[2026-10-20 11:46:18,579.579 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:46:18
[2026-10-20 11:46:19,168.168 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:46:19,424.424 INFO    ] Initializing speech engine...
[2026-10-20 11:46:19,441.441 INFO    ] 2026-10-20 11:46:19
[2026-10-20 11:46:19,693.693 INFO    ] 2026-10-20 11:46:19
[2026-10-20 11:46:19,733.733 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:46:19,960.960 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:46:19,982.982 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:46:20,169.169 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:46:20,219.219 INFO    ] time= 20/10/2026 11:46:20
[2026-10-20 11:46:20,256.256 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:46:20,262.262 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:46:20,404.404 INFO    ] No existing commands found in stream
[2026-10-20 11:46:25,420.420 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:46:25,423.423 INFO    ] Waiting 3.81 seconds before fallback handling...
[2026-10-20 11:46:29,735.735 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:46:29,738.738 INFO    ] Checking for system updates...
[2026-10-20 11:46:29,774.774 INFO    ] 200
[2026-10-20 11:46:29,776.776 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:46:29,830.830 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:46:29,833.833 INFO    ] No update needed
[2026-10-20 11:46:29,835.835 INFO    ] Checking for camera pi updates...
[2026-10-20 11:46:29,869.869 INFO    ] 200
[2026-10-20 11:46:29,871.871 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:46:29,915.915 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:46:29,951.951 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:46:29,954.954 INFO    ] No camera update needed
[2026-10-20 11:46:29,956.956 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:46:29,958.958 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:46:29,964.964 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:46:29,969.969 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:46:32,011.011 INFO    ] ================================================
[2026-10-20 11:46:32,029.029 INFO    ] Launching Daemon at Tue Oct 20 11:46:32 IST 2026
[2026-10-20 11:46:32,040.040 INFO    ] ================================================
[2026-10-20 11:46:32,658.658 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:46:32
[2026-10-20 11:46:33,246.246 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:46:33,501.501 INFO    ] Initializing speech engine...
[2026-10-20 11:46:33,510.510 INFO    ] 2026-10-20 11:46:33
[2026-10-20 11:46:33,799.799 INFO    ] 2026-10-20 11:46:33
[2026-10-20 11:46:33,834.834 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:46:34,031.031 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:46:34,037.037 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:46:34,207.207 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:46:34,216.216 INFO    ] time= 20/10/2026 11:46:34
[2026-10-20 11:46:34,222.222 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:46:34,228.228 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:46:34,300.300 INFO    ] No existing commands found in stream
[2026-10-20 11:46:39,315.315 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:46:39,317.317 INFO    ] Waiting 0.71 seconds before fallback handling...
[2026-10-20 11:46:40,492.492 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:46:40,495.495 INFO    ] Checking for system updates...
[2026-10-20 11:46:40,531.531 INFO    ] 200
[2026-10-20 11:46:40,533.533 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:46:40,596.596 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:46:40,598.598 INFO    ] No update needed
[2026-10-20 11:46:40,601.601 INFO    ] Checking for camera pi updates...
[2026-10-20 11:46:40,636.636 INFO    ] 200
[2026-10-20 11:46:40,638.638 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:46:40,681.681 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:46:40,729.729 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:46:40,731.731 INFO    ] No camera update needed
[2026-10-20 11:46:40,733.733 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:46:40,736.736 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:46:40,741.741 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:46:40,746.746 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:46:42,788.788 INFO    ] ================================================
[2026-10-20 11:46:42,804.804 INFO    ] Launching Daemon at Tue Oct 20 11:46:42 IST 2026
[2026-10-20 11:46:42,816.816 INFO    ] ================================================
[2026-10-20 11:46:43,387.387 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:46:43
[2026-10-20 11:46:43,967.967 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:46:44,235.235 INFO    ] Initializing speech engine...
[2026-10-20 11:46:44,244.244 INFO    ] 2026-10-20 11:46:44
[2026-10-20 11:46:44,495.495 INFO    ] 2026-10-20 11:46:44
[2026-10-20 11:46:44,523.523 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:46:44,775.775 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:46:44,785.785 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:46:44,917.917 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:46:44,982.982 INFO    ] time= 20/10/2026 11:46:44
[2026-10-20 11:46:45,037.037 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:46:45,047.047 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:46:45,169.169 INFO    ] No existing commands found in stream
[2026-10-20 11:46:50,199.199 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:46:50,202.202 INFO    ] Waiting 3.40 seconds before fallback handling...
[2026-10-20 11:46:54,116.116 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:46:54,120.120 INFO    ] Checking for system updates...
[2026-10-20 11:46:54,156.156 INFO    ] 200
[2026-10-20 11:46:54,159.159 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:46:54,217.217 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:46:54,220.220 INFO    ] No update needed
[2026-10-20 11:46:54,223.223 INFO    ] Checking for camera pi updates...
[2026-10-20 11:46:54,258.258 INFO    ] 200
[2026-10-20 11:46:54,261.261 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:46:54,302.302 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:46:54,349.349 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:46:54,352.352 INFO    ] No camera update needed
[2026-10-20 11:46:54,354.354 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:46:54,357.357 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:46:54,363.363 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:46:54,369.369 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:46:56,411.411 INFO    ] ================================================
[2026-10-20 11:46:56,427.427 INFO    ] Launching Daemon at Tue Oct 20 11:46:56 IST 2026
[2026-10-20 11:46:56,438.438 INFO    ] ================================================
[2026-10-20 11:46:57,007.007 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:46:57
[2026-10-20 11:46:57,591.591 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:46:57,844.844 INFO    ] Initializing speech engine...
[2026-10-20 11:46:57,851.851 INFO    ] 2026-10-20 11:46:57
[2026-10-20 11:46:58,145.145 INFO    ] 2026-10-20 11:46:58
[2026-10-20 11:46:58,179.179 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:46:58,375.375 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:46:58,381.381 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:46:58,535.535 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:46:58,557.557 INFO    ] time= 20/10/2026 11:46:58
[2026-10-20 11:46:58,564.564 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:46:58,568.568 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:46:58,647.647 INFO    ] No existing commands found in stream
[2026-10-20 11:47:03,682.682 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:47:03,685.685 INFO    ] Waiting 3.67 seconds before fallback handling...
[2026-10-20 11:47:07,816.816 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:47:07,819.819 INFO    ] Checking for system updates...
[2026-10-20 11:47:07,854.854 INFO    ] 200
[2026-10-20 11:47:07,856.856 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:47:07,908.908 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:47:07,910.910 INFO    ] No update needed
[2026-10-20 11:47:07,913.913 INFO    ] Checking for camera pi updates...
[2026-10-20 11:47:07,950.950 INFO    ] 200
[2026-10-20 11:47:07,952.952 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:47:07,992.992 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:47:08,045.045 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:47:08,047.047 INFO    ] No camera update needed
[2026-10-20 11:47:08,050.050 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:47:08,052.052 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:47:08,058.058 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:47:08,063.063 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:47:10,103.103 INFO    ] ================================================
[2026-10-20 11:47:10,119.119 INFO    ] Launching Daemon at Tue Oct 20 11:47:10 IST 2026
[2026-10-20 11:47:10,130.130 INFO    ] ================================================
[2026-10-20 11:47:10,711.711 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:47:10
[2026-10-20 11:47:11,372.372 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:47:11,673.673 INFO    ] Initializing speech engine...
[2026-10-20 11:47:11,679.679 INFO    ] 2026-10-20 11:47:11
[2026-10-20 11:47:11,955.955 INFO    ] 2026-10-20 11:47:11
[2026-10-20 11:47:12,011.011 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:47:12,244.244 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:47:12,250.250 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:47:12,457.457 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:47:12,514.514 INFO    ] time= 20/10/2026 11:47:12
[2026-10-20 11:47:12,521.521 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:47:12,540.540 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:47:12,672.672 INFO    ] No existing commands found in stream
[2026-10-20 11:47:17,685.685 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:47:17,689.689 INFO    ] Waiting 3.91 seconds before fallback handling...
[2026-10-20 11:47:22,105.105 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:47:22,108.108 INFO    ] Checking for system updates...
[2026-10-20 11:47:22,144.144 INFO    ] 200
[2026-10-20 11:47:22,147.147 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:47:22,206.206 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:47:22,208.208 INFO    ] No update needed
[2026-10-20 11:47:22,212.212 INFO    ] Checking for camera pi updates...
[2026-10-20 11:47:22,246.246 INFO    ] 200
[2026-10-20 11:47:22,249.249 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:47:22,291.291 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:47:22,338.338 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:47:22,341.341 INFO    ] No camera update needed
[2026-10-20 11:47:22,343.343 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:47:22,346.346 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:47:22,352.352 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:47:22,358.358 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:47:24,400.400 INFO    ] ================================================
[2026-10-20 11:47:24,415.415 INFO    ] Launching Daemon at Tue Oct 20 11:47:24 IST 2026
[2026-10-20 11:47:24,425.425 INFO    ] ================================================
[2026-10-20 11:47:25,006.006 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:47:25
[2026-10-20 11:47:25,607.607 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:47:25,879.879 INFO    ] Initializing speech engine...
[2026-10-20 11:47:25,894.894 INFO    ] 2026-10-20 11:47:25
[2026-10-20 11:47:26,167.167 INFO    ] 2026-10-20 11:47:26
[2026-10-20 11:47:26,203.203 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:47:26,402.402 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:47:26,429.429 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:47:26,579.579 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:47:26,583.583 INFO    ] time= 20/10/2026 11:47:26
[2026-10-20 11:47:26,590.590 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:47:26,638.638 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:47:26,780.780 INFO    ] No existing commands found in stream
[2026-10-20 11:47:31,814.814 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:47:31,817.817 INFO    ] Waiting 3.31 seconds before fallback handling...
[2026-10-20 11:47:35,633.633 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:47:35,636.636 INFO    ] Checking for system updates...
[2026-10-20 11:47:35,671.671 INFO    ] 200
[2026-10-20 11:47:35,674.674 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:47:35,728.728 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:47:35,730.730 INFO    ] No update needed
[2026-10-20 11:47:35,733.733 INFO    ] Checking for camera pi updates...
[2026-10-20 11:47:35,766.766 INFO    ] 200
[2026-10-20 11:47:35,768.768 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:47:35,809.809 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:47:35,863.863 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:47:35,865.865 INFO    ] No camera update needed
[2026-10-20 11:47:35,868.868 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:47:35,870.870 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:47:35,875.875 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:47:35,880.880 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:47:37,920.920 INFO    ] ================================================
[2026-10-20 11:47:37,935.935 INFO    ] Launching Daemon at Tue Oct 20 11:47:37 IST 2026
[2026-10-20 11:47:37,946.946 INFO    ] ================================================
[2026-10-20 11:47:38,527.527 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:47:38
[2026-10-20 11:47:39,123.123 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:47:39,395.395 INFO    ] Initializing speech engine...
[2026-10-20 11:47:39,404.404 INFO    ] 2026-10-20 11:47:39
[2026-10-20 11:47:39,666.666 INFO    ] 2026-10-20 11:47:39
[2026-10-20 11:47:39,719.719 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:47:39,946.946 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:47:39,952.952 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:47:40,186.186 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:47:40,208.208 INFO    ] time= 20/10/2026 11:47:40
[2026-10-20 11:47:40,224.224 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:47:40,234.234 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:47:40,351.351 INFO    ] No existing commands found in stream
[2026-10-20 11:47:45,371.371 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:47:45,374.374 INFO    ] Waiting 2.36 seconds before fallback handling...
[2026-10-20 11:47:48,204.204 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:47:48,207.207 INFO    ] Checking for system updates...
[2026-10-20 11:47:48,242.242 INFO    ] 200
[2026-10-20 11:47:48,245.245 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:47:48,302.302 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:47:48,305.305 INFO    ] No update needed
[2026-10-20 11:47:48,307.307 INFO    ] Checking for camera pi updates...
[2026-10-20 11:47:48,347.347 INFO    ] 200
[2026-10-20 11:47:48,350.350 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:47:48,394.394 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:47:48,437.437 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:47:48,440.440 INFO    ] No camera update needed
[2026-10-20 11:47:48,442.442 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:47:48,445.445 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:47:48,450.450 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:47:48,455.455 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:47:50,495.495 INFO    ] ================================================
[2026-10-20 11:47:50,510.510 INFO    ] Launching Daemon at Tue Oct 20 11:47:50 IST 2026
[2026-10-20 11:47:50,521.521 INFO    ] ================================================
[2026-10-20 11:47:51,095.095 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:47:51
[2026-10-20 11:47:51,712.712 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:47:52,017.017 INFO    ] Initializing speech engine...
[2026-10-20 11:47:52,026.026 INFO    ] 2026-10-20 11:47:52
[2026-10-20 11:47:52,303.303 INFO    ] 2026-10-20 11:47:52
[2026-10-20 11:47:52,357.357 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:47:52,590.590 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:47:52,595.595 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:47:52,790.790 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:47:52,845.845 INFO    ] time= 20/10/2026 11:47:52
[2026-10-20 11:47:52,867.867 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:47:52,884.884 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:47:53,020.020 INFO    ] No existing commands found in stream
[2026-10-20 11:47:58,042.042 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:47:58,045.045 INFO    ] Waiting 3.27 seconds before fallback handling...
[2026-10-20 11:48:01,878.878 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 11:48:01,881.881 INFO    ] Checking for system updates...
[2026-10-20 11:48:01,933.933 INFO    ] 200
[2026-10-20 11:48:01,936.936 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:48:02,003.003 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:48:02,007.007 INFO    ] No update needed
[2026-10-20 11:48:02,010.010 INFO    ] Checking for camera pi updates...
[2026-10-20 11:48:02,055.055 INFO    ] 200
[2026-10-20 11:48:02,059.059 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:48:02,107.107 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:48:02,151.151 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:48:02,154.154 INFO    ] No camera update needed
[2026-10-20 11:48:02,158.158 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:48:02,161.161 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:48:02,169.169 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:48:02,177.177 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:48:04,220.220 INFO    ] ================================================
[2026-10-20 11:48:04,234.234 INFO    ] Launching Daemon at Tue Oct 20 11:48:04 IST 2026
[2026-10-20 11:48:04,245.245 INFO    ] ================================================
[2026-10-20 11:48:04,819.819 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:48:04
[2026-10-20 11:48:05,473.473 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:48:05,770.770 INFO    ] Initializing speech engine...
[2026-10-20 11:48:05,779.779 INFO    ] 2026-10-20 11:48:05
[2026-10-20 11:48:06,048.048 INFO    ] 2026-10-20 11:48:06
[2026-10-20 11:48:06,106.106 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:48:06,332.332 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:48:06,338.338 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:48:06,516.516 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:48:06,566.566 INFO    ] time= 20/10/2026 11:48:06
[2026-10-20 11:48:06,607.607 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:48:06,624.624 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:48:06,759.759 INFO    ] No existing commands found in stream
[2026-10-20 11:48:11,780.780 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:48:11,783.783 INFO    ] Waiting 2.40 seconds before fallback handling...
[2026-10-20 11:48:14,697.697 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:48:14,700.700 INFO    ] Checking for system updates...
[2026-10-20 11:48:14,736.736 INFO    ] 200
[2026-10-20 11:48:14,739.739 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:48:14,796.796 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:48:14,799.799 INFO    ] No update needed
[2026-10-20 11:48:14,802.802 INFO    ] Checking for camera pi updates...
[2026-10-20 11:48:14,836.836 INFO    ] 200
[2026-10-20 11:48:14,839.839 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:48:14,884.884 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:48:14,930.930 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:48:14,932.932 INFO    ] No camera update needed
[2026-10-20 11:48:14,935.935 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:48:14,937.937 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:48:14,944.944 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:48:14,950.950 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:48:16,990.990 INFO    ] ================================================
[2026-10-20 11:48:17,005.005 INFO    ] Launching Daemon at Tue Oct 20 11:48:16 IST 2026
[2026-10-20 11:48:17,015.015 INFO    ] ================================================
[2026-10-20 11:48:17,654.654 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:48:17
[2026-10-20 11:48:18,314.314 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:48:18,613.613 INFO    ] Initializing speech engine...
[2026-10-20 11:48:18,622.622 INFO    ] 2026-10-20 11:48:18
[2026-10-20 11:48:18,895.895 INFO    ] 2026-10-20 11:48:18
[2026-10-20 11:48:18,951.951 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:48:19,177.177 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:48:19,185.185 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:48:19,401.401 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:48:19,441.441 INFO    ] time= 20/10/2026 11:48:19
[2026-10-20 11:48:19,460.460 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:48:19,468.468 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:48:19,594.594 INFO    ] No existing commands found in stream
[2026-10-20 11:48:24,610.610 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:48:24,613.613 INFO    ] Waiting 3.02 seconds before fallback handling...
[2026-10-20 11:48:28,173.173 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:48:28,176.176 INFO    ] Checking for system updates...
[2026-10-20 11:48:28,216.216 INFO    ] 200
[2026-10-20 11:48:28,219.219 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:48:28,271.271 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:48:28,274.274 INFO    ] No update needed
[2026-10-20 11:48:28,277.277 INFO    ] Checking for camera pi updates...
[2026-10-20 11:48:28,311.311 INFO    ] 200
[2026-10-20 11:48:28,313.313 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:48:28,355.355 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:48:28,403.403 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:48:28,406.406 INFO    ] No camera update needed
[2026-10-20 11:48:28,409.409 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:48:28,411.411 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:48:28,418.418 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:48:28,424.424 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:48:30,463.463 INFO    ] ================================================
[2026-10-20 11:48:30,477.477 INFO    ] Launching Daemon at Tue Oct 20 11:48:30 IST 2026
[2026-10-20 11:48:30,488.488 INFO    ] ================================================
[2026-10-20 11:48:31,060.060 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:48:31
[2026-10-20 11:48:31,677.677 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:48:31,963.963 INFO    ] Initializing speech engine...
[2026-10-20 11:48:31,979.979 INFO    ] 2026-10-20 11:48:31
[2026-10-20 11:48:32,260.260 INFO    ] 2026-10-20 11:48:32
[2026-10-20 11:48:32,296.296 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:48:32,508.508 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:48:32,570.570 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:48:32,763.763 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:48:32,828.828 INFO    ] time= 20/10/2026 11:48:32
[2026-10-20 11:48:32,848.848 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:48:32,866.866 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:48:33,000.000 INFO    ] No existing commands found in stream
[2026-10-20 11:48:38,020.020 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:48:38,023.023 INFO    ] Waiting 0.01 seconds before fallback handling...
[2026-10-20 11:48:38,536.536 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:48:38,540.540 INFO    ] Checking for system updates...
[2026-10-20 11:48:38,576.576 INFO    ] 200
[2026-10-20 11:48:38,578.578 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:48:38,640.640 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:48:38,642.642 INFO    ] No update needed
[2026-10-20 11:48:38,645.645 INFO    ] Checking for camera pi updates...
[2026-10-20 11:48:38,679.679 INFO    ] 200
[2026-10-20 11:48:38,682.682 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:48:38,728.728 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:48:38,780.780 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:48:38,783.783 INFO    ] No camera update needed
[2026-10-20 11:48:38,785.785 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:48:38,787.787 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:48:38,793.793 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:48:38,798.798 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:48:40,839.839 INFO    ] ================================================
[2026-10-20 11:48:40,854.854 INFO    ] Launching Daemon at Tue Oct 20 11:48:40 IST 2026
[2026-10-20 11:48:40,864.864 INFO    ] ================================================
[2026-10-20 11:48:41,444.444 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:48:41
[2026-10-20 11:48:42,041.041 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:48:42,315.315 INFO    ] Initializing speech engine...
[2026-10-20 11:48:42,324.324 INFO    ] 2026-10-20 11:48:42
[2026-10-20 11:48:42,588.588 INFO    ] 2026-10-20 11:48:42
[2026-10-20 11:48:42,617.617 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:48:42,866.866 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:48:42,872.872 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:48:43,093.093 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:48:43,131.131 INFO    ] time= 20/10/2026 11:48:43
[2026-10-20 11:48:43,137.137 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:48:43,155.155 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:48:43,285.285 INFO    ] No existing commands found in stream
[2026-10-20 11:48:48,299.299 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:48:48,302.302 INFO    ] Waiting 3.54 seconds before fallback handling...
[2026-10-20 11:48:52,341.341 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:48:52,343.343 INFO    ] Checking for system updates...
[2026-10-20 11:48:52,379.379 INFO    ] 200
[2026-10-20 11:48:52,382.382 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:48:52,433.433 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:48:52,435.435 INFO    ] No update needed
[2026-10-20 11:48:52,438.438 INFO    ] Checking for camera pi updates...
[2026-10-20 11:48:52,471.471 INFO    ] 200
[2026-10-20 11:48:52,473.473 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:48:52,513.513 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:48:52,542.542 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:48:52,545.545 INFO    ] No camera update needed
[2026-10-20 11:48:52,547.547 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:48:52,550.550 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:48:52,556.556 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:48:52,561.561 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:48:54,601.601 INFO    ] ================================================
[2026-10-20 11:48:54,616.616 INFO    ] Launching Daemon at Tue Oct 20 11:48:54 IST 2026
[2026-10-20 11:48:54,626.626 INFO    ] ================================================
[2026-10-20 11:48:55,190.190 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:48:55
[2026-10-20 11:48:55,773.773 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:48:56,033.033 INFO    ] Initializing speech engine...
[2026-10-20 11:48:56,055.055 INFO    ] 2026-10-20 11:48:56
[2026-10-20 11:48:56,319.319 INFO    ] 2026-10-20 11:48:56
[2026-10-20 11:48:56,354.354 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:48:56,554.554 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:48:56,557.557 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:48:56,694.694 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:48:56,755.755 INFO    ] time= 20/10/2026 11:48:56
[2026-10-20 11:48:56,767.767 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:48:56,825.825 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:48:56,935.935 INFO    ] No existing commands found in stream
[2026-10-20 11:49:01,945.945 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:49:01,949.949 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-10-20 11:49:04,447.447 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:49:04,450.450 INFO    ] Checking for system updates...
[2026-10-20 11:49:04,485.485 INFO    ] 200
[2026-10-20 11:49:04,488.488 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:49:04,539.539 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:49:04,541.541 INFO    ] No update needed
[2026-10-20 11:49:04,544.544 INFO    ] Checking for camera pi updates...
[2026-10-20 11:49:04,576.576 INFO    ] 200
[2026-10-20 11:49:04,579.579 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:49:04,619.619 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:49:04,774.774 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:49:04,776.776 INFO    ] No camera update needed
[2026-10-20 11:49:04,778.778 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:49:04,781.781 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:49:04,786.786 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:49:04,791.791 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:49:06,833.833 INFO    ] ================================================
[2026-10-20 11:49:06,849.849 INFO    ] Launching Daemon at Tue Oct 20 11:49:06 IST 2026
[2026-10-20 11:49:06,860.860 INFO    ] ================================================
[2026-10-20 11:49:07,427.427 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:49:07
[2026-10-20 11:49:08,016.016 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:49:08,287.287 INFO    ] Initializing speech engine...
[2026-10-20 11:49:08,296.296 INFO    ] 2026-10-20 11:49:08
[2026-10-20 11:49:08,547.547 INFO    ] 2026-10-20 11:49:08
[2026-10-20 11:49:08,581.581 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:49:08,810.810 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:49:08,841.841 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:49:09,061.061 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:49:09,101.101 INFO    ] time= 20/10/2026 11:49:09
[2026-10-20 11:49:09,107.107 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:49:09,125.125 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:49:09,276.276 INFO    ] No existing commands found in stream
[2026-10-20 11:49:14,306.306 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:49:14,309.309 INFO    ] Waiting 3.58 seconds before fallback handling...
[2026-10-20 11:49:18,361.361 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:49:18,364.364 INFO    ] Checking for system updates...
[2026-10-20 11:49:18,399.399 INFO    ] 200
[2026-10-20 11:49:18,402.402 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:49:18,460.460 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:49:18,462.462 INFO    ] No update needed
[2026-10-20 11:49:18,465.465 INFO    ] Checking for camera pi updates...
[2026-10-20 11:49:18,498.498 INFO    ] 200
[2026-10-20 11:49:18,500.500 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:49:18,546.546 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:49:18,599.599 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:49:18,601.601 INFO    ] No camera update needed
[2026-10-20 11:49:18,604.604 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:49:18,606.606 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:49:18,611.611 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:49:18,616.616 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:49:20,656.656 INFO    ] ================================================
[2026-10-20 11:49:20,672.672 INFO    ] Launching Daemon at Tue Oct 20 11:49:20 IST 2026
[2026-10-20 11:49:20,683.683 INFO    ] ================================================
[2026-10-20 11:49:21,312.312 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:49:21
[2026-10-20 11:49:21,981.981 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:49:22,280.280 INFO    ] Initializing speech engine...
[2026-10-20 11:49:22,292.292 INFO    ] 2026-10-20 11:49:22
[2026-10-20 11:49:22,572.572 INFO    ] 2026-10-20 11:49:22
[2026-10-20 11:49:22,629.629 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:49:22,860.860 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:49:22,867.867 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:49:23,110.110 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:49:23,134.134 INFO    ] time= 20/10/2026 11:49:23
[2026-10-20 11:49:23,150.150 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:49:23,165.165 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:49:23,296.296 INFO    ] No existing commands found in stream
[2026-10-20 11:49:28,328.328 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:49:28,331.331 INFO    ] Waiting 1.79 seconds before fallback handling...
[2026-10-20 11:49:30,608.608 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 11:49:30,611.611 INFO    ] Checking for system updates...
[2026-10-20 11:49:30,648.648 INFO    ] 200
[2026-10-20 11:49:30,651.651 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:49:30,710.710 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:49:30,713.713 INFO    ] No update needed
[2026-10-20 11:49:30,716.716 INFO    ] Checking for camera pi updates...
[2026-10-20 11:49:30,750.750 INFO    ] 200
[2026-10-20 11:49:30,753.753 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:49:30,799.799 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:49:30,846.846 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:49:30,849.849 INFO    ] No camera update needed
[2026-10-20 11:49:30,852.852 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:49:30,854.854 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:49:30,861.861 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:49:30,866.866 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:49:32,909.909 INFO    ] ================================================
[2026-10-20 11:49:32,924.924 INFO    ] Launching Daemon at Tue Oct 20 11:49:32 IST 2026
[2026-10-20 11:49:32,935.935 INFO    ] ================================================
[2026-10-20 11:49:33,515.515 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:49:33
[2026-10-20 11:49:34,113.113 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:49:34,388.388 INFO    ] Initializing speech engine...
[2026-10-20 11:49:34,397.397 INFO    ] 2026-10-20 11:49:34
[2026-10-20 11:49:34,659.659 INFO    ] 2026-10-20 11:49:34
[2026-10-20 11:49:34,713.713 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:49:34,939.939 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:49:34,943.943 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:49:35,113.113 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:49:35,167.167 INFO    ] time= 20/10/2026 11:49:35
[2026-10-20 11:49:35,204.204 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:49:35,221.221 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:49:35,356.356 INFO    ] No existing commands found in stream
[2026-10-20 11:49:40,379.379 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:49:40,382.382 INFO    ] Waiting 2.30 seconds before fallback handling...
[2026-10-20 11:49:43,149.149 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 11:49:43,152.152 INFO    ] Checking for system updates...
[2026-10-20 11:49:43,187.187 INFO    ] 200
[2026-10-20 11:49:43,190.190 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:49:43,249.249 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:49:43,252.252 INFO    ] No update needed
[2026-10-20 11:49:43,254.254 INFO    ] Checking for camera pi updates...
[2026-10-20 11:49:43,287.287 INFO    ] 200
[2026-10-20 11:49:43,290.290 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:49:43,332.332 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:49:43,379.379 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:49:43,382.382 INFO    ] No camera update needed
[2026-10-20 11:49:43,384.384 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:49:43,387.387 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:49:43,394.394 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:49:43,404.404 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:49:45,446.446 INFO    ] ================================================
[2026-10-20 11:49:45,461.461 INFO    ] Launching Daemon at Tue Oct 20 11:49:45 IST 2026
[2026-10-20 11:49:45,472.472 INFO    ] ================================================
[2026-10-20 11:49:46,037.037 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:49:46
[2026-10-20 11:49:46,622.622 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:49:46,868.868 INFO    ] Initializing speech engine...
[2026-10-20 11:49:46,892.892 INFO    ] 2026-10-20 11:49:46
[2026-10-20 11:49:47,148.148 INFO    ] 2026-10-20 11:49:47
[2026-10-20 11:49:47,183.183 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:49:47,381.381 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:49:47,440.440 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:49:47,587.587 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:49:47,647.647 INFO    ] time= 20/10/2026 11:49:47
[2026-10-20 11:49:47,709.709 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:49:47,716.716 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:49:47,863.863 INFO    ] No existing commands found in stream
[2026-10-20 11:49:52,883.883 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:49:52,886.886 INFO    ] Waiting 3.58 seconds before fallback handling...
[2026-10-20 11:49:56,963.963 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:49:56,966.966 INFO    ] Checking for system updates...
[2026-10-20 11:49:57,005.005 INFO    ] 200
[2026-10-20 11:49:57,008.008 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:49:57,081.081 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:49:57,083.083 INFO    ] No update needed
[2026-10-20 11:49:57,086.086 INFO    ] Checking for camera pi updates...
[2026-10-20 11:49:57,123.123 INFO    ] 200
[2026-10-20 11:49:57,125.125 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:49:57,165.165 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:49:57,215.215 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:49:57,217.217 INFO    ] No camera update needed
[2026-10-20 11:49:57,220.220 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:49:57,222.222 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:49:57,228.228 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:49:57,233.233 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:49:59,272.272 INFO    ] ================================================
[2026-10-20 11:49:59,287.287 INFO    ] Launching Daemon at Tue Oct 20 11:49:59 IST 2026
[2026-10-20 11:49:59,298.298 INFO    ] ================================================
[2026-10-20 11:49:59,866.866 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:49:59
[2026-10-20 11:50:00,448.448 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:50:00,717.717 INFO    ] Initializing speech engine...
[2026-10-20 11:50:00,726.726 INFO    ] 2026-10-20 11:50:00
[2026-10-20 11:50:00,972.972 INFO    ] 2026-10-20 11:50:00
[2026-10-20 11:50:01,007.007 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:50:01,229.229 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:50:01,341.341 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:50:01,591.591 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:50:01,594.594 INFO    ] time= 20/10/2026 11:50:01
[2026-10-20 11:50:01,686.686 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:50:01,700.700 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:50:01,794.794 INFO    ] No existing commands found in stream
[2026-10-20 11:50:06,804.804 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:50:06,807.807 INFO    ] Waiting 3.48 seconds before fallback handling...
[2026-10-20 11:50:10,803.803 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 11:50:10,806.806 INFO    ] Checking for system updates...
[2026-10-20 11:50:10,842.842 INFO    ] 200
[2026-10-20 11:50:10,845.845 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:50:10,902.902 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:50:10,905.905 INFO    ] No update needed
[2026-10-20 11:50:10,907.907 INFO    ] Checking for camera pi updates...
[2026-10-20 11:50:10,940.940 INFO    ] 200
[2026-10-20 11:50:10,943.943 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:50:10,987.987 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:50:11,033.033 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:50:11,035.035 INFO    ] No camera update needed
[2026-10-20 11:50:11,037.037 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:50:11,040.040 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:50:11,045.045 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:50:11,050.050 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:50:13,090.090 INFO    ] ================================================
[2026-10-20 11:50:13,105.105 INFO    ] Launching Daemon at Tue Oct 20 11:50:13 IST 2026
[2026-10-20 11:50:13,116.116 INFO    ] ================================================
[2026-10-20 11:50:13,683.683 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:50:13
[2026-10-20 11:50:14,265.265 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:50:14,533.533 INFO    ] Initializing speech engine...
[2026-10-20 11:50:14,543.543 INFO    ] 2026-10-20 11:50:14
[2026-10-20 11:50:14,789.789 INFO    ] 2026-10-20 11:50:14
[2026-10-20 11:50:14,830.830 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:50:15,025.025 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:50:15,078.078 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:50:15,218.218 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:50:15,257.257 INFO    ] time= 20/10/2026 11:50:15
[2026-10-20 11:50:15,312.312 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:50:15,348.348 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:50:15,481.481 INFO    ] No existing commands found in stream
[2026-10-20 11:50:20,505.505 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:50:20,507.507 INFO    ] Waiting 2.68 seconds before fallback handling...
[2026-10-20 11:50:23,693.693 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:50:23,696.696 INFO    ] Checking for system updates...
[2026-10-20 11:50:23,732.732 INFO    ] 200
[2026-10-20 11:50:23,734.734 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:50:23,786.786 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:50:23,788.788 INFO    ] No update needed
[2026-10-20 11:50:23,791.791 INFO    ] Checking for camera pi updates...
[2026-10-20 11:50:23,827.827 INFO    ] 200
[2026-10-20 11:50:23,830.830 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:50:23,870.870 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:50:23,919.919 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:50:23,922.922 INFO    ] No camera update needed
[2026-10-20 11:50:23,924.924 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:50:23,926.926 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:50:23,932.932 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:50:23,936.936 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:50:25,977.977 INFO    ] ================================================
[2026-10-20 11:50:25,992.992 INFO    ] Launching Daemon at Tue Oct 20 11:50:25 IST 2026
[2026-10-20 11:50:26,003.003 INFO    ] ================================================
[2026-10-20 11:50:26,568.568 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:50:26
[2026-10-20 11:50:27,155.155 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:50:27,437.437 INFO    ] Initializing speech engine...
[2026-10-20 11:50:27,445.445 INFO    ] 2026-10-20 11:50:27
[2026-10-20 11:50:27,714.714 INFO    ] 2026-10-20 11:50:27
[2026-10-20 11:50:27,756.756 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:50:27,975.975 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:50:27,984.984 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:50:28,118.118 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:50:28,178.178 INFO    ] time= 20/10/2026 11:50:28
[2026-10-20 11:50:28,227.227 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:50:28,250.250 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:50:28,373.373 INFO    ] No existing commands found in stream
[2026-10-20 11:50:33,404.404 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:50:33,406.406 INFO    ] Waiting 3.87 seconds before fallback handling...
[2026-10-20 11:50:37,739.739 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:50:37,742.742 INFO    ] Checking for system updates...
[2026-10-20 11:50:37,777.777 INFO    ] 200
[2026-10-20 11:50:37,779.779 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:50:37,830.830 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:50:37,833.833 INFO    ] No update needed
[2026-10-20 11:50:37,835.835 INFO    ] Checking for camera pi updates...
[2026-10-20 11:50:37,869.869 INFO    ] 200
[2026-10-20 11:50:37,871.871 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:50:37,911.911 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:50:37,944.944 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:50:37,947.947 INFO    ] No camera update needed
[2026-10-20 11:50:37,949.949 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:50:37,951.951 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:50:37,956.956 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:50:37,961.961 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:50:40,002.002 INFO    ] ================================================
[2026-10-20 11:50:40,017.017 INFO    ] Launching Daemon at Tue Oct 20 11:50:40 IST 2026
[2026-10-20 11:50:40,027.027 INFO    ] ================================================
[2026-10-20 11:50:40,593.593 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:50:40
[2026-10-20 11:50:41,177.177 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:50:41,433.433 INFO    ] Initializing speech engine...
[2026-10-20 11:50:41,440.440 INFO    ] 2026-10-20 11:50:41
[2026-10-20 11:50:41,730.730 INFO    ] 2026-10-20 11:50:41
[2026-10-20 11:50:41,765.765 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:50:41,955.955 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:50:41,963.963 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:50:42,130.130 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:50:42,138.138 INFO    ] time= 20/10/2026 11:50:42
[2026-10-20 11:50:42,143.143 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:50:42,151.151 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:50:42,270.270 INFO    ] No existing commands found in stream
[2026-10-20 11:50:47,295.295 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:50:47,298.298 INFO    ] Waiting 3.35 seconds before fallback handling...
[2026-10-20 11:50:51,144.144 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:50:51,147.147 INFO    ] Checking for system updates...
[2026-10-20 11:50:51,186.186 INFO    ] 200
[2026-10-20 11:50:51,189.189 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:50:51,242.242 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:50:51,244.244 INFO    ] No update needed
[2026-10-20 11:50:51,247.247 INFO    ] Checking for camera pi updates...
[2026-10-20 11:50:51,286.286 INFO    ] 200
[2026-10-20 11:50:51,289.289 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:50:51,330.330 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:50:51,360.360 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:50:51,363.363 INFO    ] No camera update needed
[2026-10-20 11:50:51,365.365 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:50:51,368.368 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:50:51,373.373 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:50:51,378.378 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:50:53,418.418 INFO    ] ================================================
[2026-10-20 11:50:53,434.434 INFO    ] Launching Daemon at Tue Oct 20 11:50:53 IST 2026
[2026-10-20 11:50:53,444.444 INFO    ] ================================================
[2026-10-20 11:50:54,010.010 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:50:54
[2026-10-20 11:50:54,592.592 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:50:54,860.860 INFO    ] Initializing speech engine...
[2026-10-20 11:50:54,869.869 INFO    ] 2026-10-20 11:50:54
[2026-10-20 11:50:55,113.113 INFO    ] 2026-10-20 11:50:55
[2026-10-20 11:50:55,154.154 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:50:55,344.344 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:50:55,399.399 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:50:55,542.542 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:50:55,602.602 INFO    ] time= 20/10/2026 11:50:55
[2026-10-20 11:50:55,662.662 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:50:55,674.674 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:50:55,808.808 INFO    ] No existing commands found in stream
[2026-10-20 11:51:00,827.827 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:51:00,830.830 INFO    ] Waiting 2.09 seconds before fallback handling...
[2026-10-20 11:51:03,438.438 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:51:03,442.442 INFO    ] Checking for system updates...
[2026-10-20 11:51:03,484.484 INFO    ] 200
[2026-10-20 11:51:03,486.486 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:51:03,548.548 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:51:03,552.552 INFO    ] No update needed
[2026-10-20 11:51:03,556.556 INFO    ] Checking for camera pi updates...
[2026-10-20 11:51:03,599.599 INFO    ] 200
[2026-10-20 11:51:03,603.603 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:51:03,659.659 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:51:03,709.709 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:51:03,712.712 INFO    ] No camera update needed
[2026-10-20 11:51:03,714.714 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:51:03,717.717 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:51:03,723.723 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:51:03,729.729 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:51:05,770.770 INFO    ] ================================================
[2026-10-20 11:51:05,786.786 INFO    ] Launching Daemon at Tue Oct 20 11:51:05 IST 2026
[2026-10-20 11:51:05,797.797 INFO    ] ================================================
[2026-10-20 11:51:06,365.365 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:51:06
[2026-10-20 11:51:06,951.951 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:51:07,207.207 INFO    ] Initializing speech engine...
[2026-10-20 11:51:07,214.214 INFO    ] 2026-10-20 11:51:07
[2026-10-20 11:51:07,507.507 INFO    ] 2026-10-20 11:51:07
[2026-10-20 11:51:07,546.546 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:51:07,767.767 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:51:07,775.775 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:51:07,992.992 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:51:08,005.005 INFO    ] time= 20/10/2026 11:51:07
[2026-10-20 11:51:08,059.059 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:51:08,103.103 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:51:08,203.203 INFO    ] No existing commands found in stream
[2026-10-20 11:51:13,214.214 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:51:13,217.217 INFO    ] Waiting 3.27 seconds before fallback handling...
[2026-10-20 11:51:16,994.994 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:51:16,997.997 INFO    ] Checking for system updates...
[2026-10-20 11:51:17,031.031 INFO    ] 200
[2026-10-20 11:51:17,034.034 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:51:17,086.086 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:51:17,089.089 INFO    ] No update needed
[2026-10-20 11:51:17,091.091 INFO    ] Checking for camera pi updates...
[2026-10-20 11:51:17,124.124 INFO    ] 200
[2026-10-20 11:51:17,126.126 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:51:17,170.170 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:51:17,315.315 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:51:17,318.318 INFO    ] No camera update needed
[2026-10-20 11:51:17,321.321 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:51:17,323.323 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:51:17,328.328 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:51:17,333.333 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:51:19,372.372 INFO    ] ================================================
[2026-10-20 11:51:19,387.387 INFO    ] Launching Daemon at Tue Oct 20 11:51:19 IST 2026
[2026-10-20 11:51:19,398.398 INFO    ] ================================================
[2026-10-20 11:51:20,042.042 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:51:20
[2026-10-20 11:51:20,704.704 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:51:21,004.004 INFO    ] Initializing speech engine...
[2026-10-20 11:51:21,012.012 INFO    ] 2026-10-20 11:51:21
[2026-10-20 11:51:21,299.299 INFO    ] 2026-10-20 11:51:21
[2026-10-20 11:51:21,338.338 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:51:21,562.562 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:51:21,569.569 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:51:21,786.786 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:51:21,826.826 INFO    ] time= 20/10/2026 11:51:21
[2026-10-20 11:51:21,843.843 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:51:21,852.852 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:51:21,970.970 INFO    ] No existing commands found in stream
[2026-10-20 11:51:26,991.991 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:51:26,994.994 INFO    ] Waiting 3.96 seconds before fallback handling...
[2026-10-20 11:51:31,462.462 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 11:51:31,465.465 INFO    ] Checking for system updates...
[2026-10-20 11:51:31,502.502 INFO    ] 200
[2026-10-20 11:51:31,505.505 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:51:31,565.565 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:51:31,567.567 INFO    ] No update needed
[2026-10-20 11:51:31,570.570 INFO    ] Checking for camera pi updates...
[2026-10-20 11:51:31,605.605 INFO    ] 200
[2026-10-20 11:51:31,608.608 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:51:31,649.649 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:51:31,700.700 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:51:31,702.702 INFO    ] No camera update needed
[2026-10-20 11:51:31,705.705 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:51:31,708.708 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:51:31,714.714 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:51:31,722.722 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:51:33,765.765 INFO    ] ================================================
[2026-10-20 11:51:33,780.780 INFO    ] Launching Daemon at Tue Oct 20 11:51:33 IST 2026
[2026-10-20 11:51:33,790.790 INFO    ] ================================================
[2026-10-20 11:51:34,424.424 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:51:34
[2026-10-20 11:51:35,074.074 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:51:35,370.370 INFO    ] Initializing speech engine...
[2026-10-20 11:51:35,376.376 INFO    ] 2026-10-20 11:51:35
[2026-10-20 11:51:35,633.633 INFO    ] 2026-10-20 11:51:35
[2026-10-20 11:51:35,677.677 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:51:35,924.924 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:51:35,934.934 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:51:36,135.135 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:51:36,190.190 INFO    ] time= 20/10/2026 11:51:36
[2026-10-20 11:51:36,201.201 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:51:36,223.223 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:51:36,353.353 INFO    ] No existing commands found in stream
[2026-10-20 11:51:41,382.382 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:51:41,385.385 INFO    ] Waiting 1.65 seconds before fallback handling...
[2026-10-20 11:51:43,558.558 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:51:43,561.561 INFO    ] Checking for system updates...
[2026-10-20 11:51:43,598.598 INFO    ] 200
[2026-10-20 11:51:43,601.601 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:51:43,654.654 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:51:43,656.656 INFO    ] No update needed
[2026-10-20 11:51:43,659.659 INFO    ] Checking for camera pi updates...
[2026-10-20 11:51:43,694.694 INFO    ] 200
[2026-10-20 11:51:43,697.697 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:51:43,737.737 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:51:43,787.787 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:51:43,790.790 INFO    ] No camera update needed
[2026-10-20 11:51:43,792.792 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:51:43,795.795 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:51:43,800.800 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:51:43,805.805 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:51:45,844.844 INFO    ] ================================================
[2026-10-20 11:51:45,860.860 INFO    ] Launching Daemon at Tue Oct 20 11:51:45 IST 2026
[2026-10-20 11:51:45,870.870 INFO    ] ================================================
[2026-10-20 11:51:46,522.522 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:51:46
[2026-10-20 11:51:47,187.187 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:51:47,498.498 INFO    ] Initializing speech engine...
[2026-10-20 11:51:47,511.511 INFO    ] 2026-10-20 11:51:47
[2026-10-20 11:51:47,788.788 INFO    ] 2026-10-20 11:51:47
[2026-10-20 11:51:47,834.834 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:51:48,063.063 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:51:48,084.084 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:51:48,297.297 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:51:48,326.326 INFO    ] time= 20/10/2026 11:51:48
[2026-10-20 11:51:48,343.343 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:51:48,354.354 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:51:48,480.480 INFO    ] No existing commands found in stream
[2026-10-20 11:51:53,495.495 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:51:53,498.498 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-10-20 11:51:56,635.635 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:51:56,638.638 INFO    ] Checking for system updates...
[2026-10-20 11:51:56,675.675 INFO    ] 200
[2026-10-20 11:51:56,678.678 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:51:56,732.732 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:51:56,735.735 INFO    ] No update needed
[2026-10-20 11:51:56,737.737 INFO    ] Checking for camera pi updates...
[2026-10-20 11:51:56,772.772 INFO    ] 200
[2026-10-20 11:51:56,775.775 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:51:56,820.820 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:51:56,865.865 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:51:56,867.867 INFO    ] No camera update needed
[2026-10-20 11:51:56,870.870 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:51:56,872.872 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:51:56,878.878 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:51:56,883.883 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:51:58,922.922 INFO    ] ================================================
[2026-10-20 11:51:58,937.937 INFO    ] Launching Daemon at Tue Oct 20 11:51:58 IST 2026
[2026-10-20 11:51:58,948.948 INFO    ] ================================================
[2026-10-20 11:51:59,567.567 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:51:59
[2026-10-20 11:52:00,152.152 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:52:00,403.403 INFO    ] Initializing speech engine...
[2026-10-20 11:52:00,425.425 INFO    ] 2026-10-20 11:52:00
[2026-10-20 11:52:00,683.683 INFO    ] 2026-10-20 11:52:00
[2026-10-20 11:52:00,718.718 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:52:00,921.921 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:52:00,975.975 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:52:01,122.122 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:52:01,182.182 INFO    ] time= 20/10/2026 11:52:01
[2026-10-20 11:52:01,246.246 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:52:01,255.255 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:52:01,391.391 INFO    ] No existing commands found in stream
[2026-10-20 11:52:06,410.410 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:52:06,413.413 INFO    ] Waiting 0.82 seconds before fallback handling...
[2026-10-20 11:52:07,721.721 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 11:52:07,723.723 INFO    ] Checking for system updates...
[2026-10-20 11:52:07,760.760 INFO    ] 200
[2026-10-20 11:52:07,762.762 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:52:07,814.814 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:52:07,816.816 INFO    ] No update needed
[2026-10-20 11:52:07,819.819 INFO    ] Checking for camera pi updates...
[2026-10-20 11:52:07,853.853 INFO    ] 200
[2026-10-20 11:52:07,855.855 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:52:07,895.895 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:52:07,941.941 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:52:07,943.943 INFO    ] No camera update needed
[2026-10-20 11:52:07,945.945 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:52:07,948.948 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:52:07,953.953 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:52:07,958.958 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:52:10,998.998 INFO    ] ================================================
[2026-10-20 11:52:10,014.014 INFO    ] Launching Daemon at Tue Oct 20 11:52:10 IST 2026
[2026-10-20 11:52:10,026.026 INFO    ] ================================================
[2026-10-20 11:52:10,595.595 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:52:10
[2026-10-20 11:52:11,179.179 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:52:11,453.453 INFO    ] Initializing speech engine...
[2026-10-20 11:52:11,458.458 INFO    ] 2026-10-20 11:52:11
[2026-10-20 11:52:11,703.703 INFO    ] 2026-10-20 11:52:11
[2026-10-20 11:52:11,739.739 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:52:11,933.933 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:52:11,946.946 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:52:12,134.134 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:52:12,171.171 INFO    ] time= 20/10/2026 11:52:12
[2026-10-20 11:52:12,225.225 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:52:12,268.268 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:52:12,402.402 INFO    ] No existing commands found in stream
[2026-10-20 11:52:17,427.427 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:52:17,430.430 INFO    ] Waiting 3.89 seconds before fallback handling...
[2026-10-20 11:52:21,803.803 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:52:21,805.805 INFO    ] Checking for system updates...
[2026-10-20 11:52:21,841.841 INFO    ] 200
[2026-10-20 11:52:21,843.843 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:52:21,899.899 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:52:21,901.901 INFO    ] No update needed
[2026-10-20 11:52:21,903.903 INFO    ] Checking for camera pi updates...
[2026-10-20 11:52:21,937.937 INFO    ] 200
[2026-10-20 11:52:21,939.939 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:52:21,980.980 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:52:22,024.024 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:52:22,026.026 INFO    ] No camera update needed
[2026-10-20 11:52:22,028.028 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:52:22,031.031 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:52:22,036.036 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:52:22,041.041 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:52:24,080.080 INFO    ] ================================================
[2026-10-20 11:52:24,095.095 INFO    ] Launching Daemon at Tue Oct 20 11:52:24 IST 2026
[2026-10-20 11:52:24,106.106 INFO    ] ================================================
[2026-10-20 11:52:24,694.694 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:52:24
[2026-10-20 11:52:25,300.300 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:52:25,570.570 INFO    ] Initializing speech engine...
[2026-10-20 11:52:25,579.579 INFO    ] 2026-10-20 11:52:25
[2026-10-20 11:52:25,834.834 INFO    ] 2026-10-20 11:52:25
[2026-10-20 11:52:25,872.872 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:52:26,066.066 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:52:26,072.072 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:52:26,228.228 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:52:26,244.244 INFO    ] time= 20/10/2026 11:52:26
[2026-10-20 11:52:26,255.255 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:52:26,263.263 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:52:26,345.345 INFO    ] No existing commands found in stream
[2026-10-20 11:52:31,381.381 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:52:31,384.384 INFO    ] Waiting 3.87 seconds before fallback handling...
[2026-10-20 11:52:35,734.734 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:52:35,736.736 INFO    ] Checking for system updates...
[2026-10-20 11:52:35,773.773 INFO    ] 200
[2026-10-20 11:52:35,776.776 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:52:35,832.832 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:52:35,835.835 INFO    ] No update needed
[2026-10-20 11:52:35,838.838 INFO    ] Checking for camera pi updates...
[2026-10-20 11:52:35,878.878 INFO    ] 200
[2026-10-20 11:52:35,881.881 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:52:35,932.932 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:52:35,984.984 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:52:35,987.987 INFO    ] No camera update needed
[2026-10-20 11:52:35,990.990 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:52:35,993.993 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:52:36,000.000 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:52:36,006.006 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:52:38,047.047 INFO    ] ================================================
[2026-10-20 11:52:38,062.062 INFO    ] Launching Daemon at Tue Oct 20 11:52:38 IST 2026
[2026-10-20 11:52:38,073.073 INFO    ] ================================================
[2026-10-20 11:52:38,750.750 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:52:38
[2026-10-20 11:52:39,345.345 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:52:39,601.601 INFO    ] Initializing speech engine...
[2026-10-20 11:52:39,607.607 INFO    ] 2026-10-20 11:52:39
[2026-10-20 11:52:39,900.900 INFO    ] 2026-10-20 11:52:39
[2026-10-20 11:52:39,941.941 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:52:40,123.123 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:52:40,147.147 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:52:40,288.288 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:52:40,293.293 INFO    ] time= 20/10/2026 11:52:40
[2026-10-20 11:52:40,308.308 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:52:40,335.335 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:52:40,421.421 INFO    ] No existing commands found in stream
[2026-10-20 11:52:45,437.437 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:52:45,440.440 INFO    ] Waiting 1.96 seconds before fallback handling...
[2026-10-20 11:52:47,851.851 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:52:47,854.854 INFO    ] Checking for system updates...
[2026-10-20 11:52:47,893.893 INFO    ] 200
[2026-10-20 11:52:47,896.896 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:52:47,947.947 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:52:47,949.949 INFO    ] No update needed
[2026-10-20 11:52:47,952.952 INFO    ] Checking for camera pi updates...
[2026-10-20 11:52:47,985.985 INFO    ] 200
[2026-10-20 11:52:47,987.987 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:52:48,026.026 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:52:48,061.061 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:52:48,063.063 INFO    ] No camera update needed
[2026-10-20 11:52:48,066.066 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:52:48,068.068 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:52:48,073.073 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:52:48,078.078 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:52:50,118.118 INFO    ] ================================================
[2026-10-20 11:52:50,133.133 INFO    ] Launching Daemon at Tue Oct 20 11:52:50 IST 2026
[2026-10-20 11:52:50,143.143 INFO    ] ================================================
[2026-10-20 11:52:50,710.710 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:52:50
[2026-10-20 11:52:51,295.295 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:52:51,570.570 INFO    ] Initializing speech engine...
[2026-10-20 11:52:51,586.586 INFO    ] 2026-10-20 11:52:51
[2026-10-20 11:52:51,861.861 INFO    ] 2026-10-20 11:52:51
[2026-10-20 11:52:51,896.896 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:52:52,100.100 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:52:52,104.104 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:52:52,264.264 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:52:52,287.287 INFO    ] time= 20/10/2026 11:52:52
[2026-10-20 11:52:52,294.294 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:52:52,300.300 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:52:52,378.378 INFO    ] No existing commands found in stream
[2026-10-20 11:52:57,390.390 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:52:57,393.393 INFO    ] Waiting 0.32 seconds before fallback handling...
[2026-10-20 11:52:58,162.162 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 11:52:58,164.164 INFO    ] Checking for system updates...
[2026-10-20 11:52:58,200.200 INFO    ] 200
[2026-10-20 11:52:58,203.203 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:52:58,262.262 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:52:58,264.264 INFO    ] No update needed
[2026-10-20 11:52:58,267.267 INFO    ] Checking for camera pi updates...
[2026-10-20 11:52:58,301.301 INFO    ] 200
[2026-10-20 11:52:58,304.304 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:52:58,345.345 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:52:58,390.390 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:52:58,393.393 INFO    ] No camera update needed
[2026-10-20 11:52:58,395.395 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:52:58,398.398 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:52:58,405.405 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:52:58,411.411 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:53:00,451.451 INFO    ] ================================================
[2026-10-20 11:53:00,466.466 INFO    ] Launching Daemon at Tue Oct 20 11:53:00 IST 2026
[2026-10-20 11:53:00,478.478 INFO    ] ================================================
[2026-10-20 11:53:01,044.044 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:53:01
[2026-10-20 11:53:01,628.628 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:53:02,142.142 INFO    ] Initializing speech engine...
[2026-10-20 11:53:02,164.164 INFO    ] 2026-10-20 11:53:02
[2026-10-20 11:53:02,542.542 INFO    ] 2026-10-20 11:53:02
[2026-10-20 11:53:02,605.605 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:53:02,792.792 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:53:02,803.803 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:53:03,002.002 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:53:03,026.026 INFO    ] time= 20/10/2026 11:53:03
[2026-10-20 11:53:03,056.056 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:53:03,066.066 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:53:03,189.189 INFO    ] No existing commands found in stream
[2026-10-20 11:53:08,224.224 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:53:08,227.227 INFO    ] Waiting 2.99 seconds before fallback handling...
[2026-10-20 11:53:11,691.691 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:53:11,693.693 INFO    ] Checking for system updates...
[2026-10-20 11:53:11,729.729 INFO    ] 200
[2026-10-20 11:53:11,731.731 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:53:11,787.787 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:53:11,790.790 INFO    ] No update needed
[2026-10-20 11:53:11,792.792 INFO    ] Checking for camera pi updates...
[2026-10-20 11:53:11,830.830 INFO    ] 200
[2026-10-20 11:53:11,833.833 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:53:11,874.874 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:53:11,924.924 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:53:11,927.927 INFO    ] No camera update needed
[2026-10-20 11:53:11,930.930 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:53:11,932.932 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:53:11,939.939 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:53:11,944.944 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:53:13,985.985 INFO    ] ================================================
[2026-10-20 11:53:14,001.001 INFO    ] Launching Daemon at Tue Oct 20 11:53:13 IST 2026
[2026-10-20 11:53:14,011.011 INFO    ] ================================================
[2026-10-20 11:53:14,595.595 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:53:14
[2026-10-20 11:53:15,195.195 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:53:15,469.469 INFO    ] Initializing speech engine...
[2026-10-20 11:53:15,478.478 INFO    ] 2026-10-20 11:53:15
[2026-10-20 11:53:15,742.742 INFO    ] 2026-10-20 11:53:15
[2026-10-20 11:53:15,795.795 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:53:16,024.024 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:53:16,031.031 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:53:16,253.253 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:53:16,288.288 INFO    ] time= 20/10/2026 11:53:16
[2026-10-20 11:53:16,294.294 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:53:16,313.313 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:53:16,441.441 INFO    ] No existing commands found in stream
[2026-10-20 11:53:21,452.452 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:53:21,455.455 INFO    ] Waiting 1.21 seconds before fallback handling...
[2026-10-20 11:53:23,173.173 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 11:53:23,175.175 INFO    ] Checking for system updates...
[2026-10-20 11:53:23,211.211 INFO    ] 200
[2026-10-20 11:53:23,214.214 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:53:23,267.267 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:53:23,270.270 INFO    ] No update needed
[2026-10-20 11:53:23,273.273 INFO    ] Checking for camera pi updates...
[2026-10-20 11:53:23,307.307 INFO    ] 200
[2026-10-20 11:53:23,310.310 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:53:23,355.355 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:53:23,498.498 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:53:23,501.501 INFO    ] No camera update needed
[2026-10-20 11:53:23,504.504 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:53:23,506.506 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:53:23,513.513 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:53:23,518.518 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:53:25,561.561 INFO    ] ================================================
[2026-10-20 11:53:25,576.576 INFO    ] Launching Daemon at Tue Oct 20 11:53:25 IST 2026
[2026-10-20 11:53:25,588.588 INFO    ] ================================================
[2026-10-20 11:53:26,240.240 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:53:26
[2026-10-20 11:53:26,905.905 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:53:27,213.213 INFO    ] Initializing speech engine...
[2026-10-20 11:53:27,224.224 INFO    ] 2026-10-20 11:53:27
[2026-10-20 11:53:27,505.505 INFO    ] 2026-10-20 11:53:27
[2026-10-20 11:53:27,552.552 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:53:27,782.782 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:53:27,788.788 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:53:28,018.018 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:53:28,053.053 INFO    ] time= 20/10/2026 11:53:28
[2026-10-20 11:53:28,071.071 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:53:28,081.081 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:53:28,212.212 INFO    ] No existing commands found in stream
[2026-10-20 11:53:33,241.241 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:53:33,244.244 INFO    ] Waiting 2.46 seconds before fallback handling...
[2026-10-20 11:53:36,216.216 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:53:36,219.219 INFO    ] Checking for system updates...
[2026-10-20 11:53:36,255.255 INFO    ] 200
[2026-10-20 11:53:36,258.258 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:53:36,317.317 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:53:36,321.321 INFO    ] No update needed
[2026-10-20 11:53:36,324.324 INFO    ] Checking for camera pi updates...
[2026-10-20 11:53:36,358.358 INFO    ] 200
[2026-10-20 11:53:36,361.361 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:53:36,402.402 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:53:36,453.453 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:53:36,456.456 INFO    ] No camera update needed
[2026-10-20 11:53:36,459.459 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:53:36,462.462 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:53:36,468.468 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:53:36,473.473 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:53:38,513.513 INFO    ] ================================================
[2026-10-20 11:53:38,529.529 INFO    ] Launching Daemon at Tue Oct 20 11:53:38 IST 2026
[2026-10-20 11:53:38,540.540 INFO    ] ================================================
[2026-10-20 11:53:39,108.108 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:53:39
[2026-10-20 11:53:39,695.695 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:53:39,947.947 INFO    ] Initializing speech engine...
[2026-10-20 11:53:39,953.953 INFO    ] 2026-10-20 11:53:39
[2026-10-20 11:53:40,245.245 INFO    ] 2026-10-20 11:53:40
[2026-10-20 11:53:40,282.282 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:53:40,502.502 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:53:40,510.510 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:53:40,718.718 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:53:40,733.733 INFO    ] time= 20/10/2026 11:53:40
[2026-10-20 11:53:40,767.767 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:53:40,811.811 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:53:40,929.929 INFO    ] No existing commands found in stream
[2026-10-20 11:53:45,940.940 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:53:45,943.943 INFO    ] Waiting 1.77 seconds before fallback handling...
[2026-10-20 11:53:48,211.211 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:53:48,214.214 INFO    ] Checking for system updates...
[2026-10-20 11:53:48,253.253 INFO    ] 200
[2026-10-20 11:53:48,256.256 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:53:48,308.308 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:53:48,311.311 INFO    ] No update needed
[2026-10-20 11:53:48,314.314 INFO    ] Checking for camera pi updates...
[2026-10-20 11:53:48,349.349 INFO    ] 200
[2026-10-20 11:53:48,351.351 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:53:48,393.393 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:53:48,441.441 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:53:48,444.444 INFO    ] No camera update needed
[2026-10-20 11:53:48,446.446 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:53:48,449.449 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:53:48,455.455 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:53:48,461.461 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:53:50,501.501 INFO    ] ================================================
[2026-10-20 11:53:50,516.516 INFO    ] Launching Daemon at Tue Oct 20 11:53:50 IST 2026
[2026-10-20 11:53:50,527.527 INFO    ] ================================================
[2026-10-20 11:53:51,095.095 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:53:51
[2026-10-20 11:53:51,688.688 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:53:51,943.943 INFO    ] Initializing speech engine...
[2026-10-20 11:53:51,958.958 INFO    ] 2026-10-20 11:53:51
[2026-10-20 11:53:52,243.243 INFO    ] 2026-10-20 11:53:52
[2026-10-20 11:53:52,279.279 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:53:52,504.504 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:53:52,549.549 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:53:52,726.726 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:53:52,769.769 INFO    ] time= 20/10/2026 11:53:52
[2026-10-20 11:53:52,818.818 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:53:52,863.863 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:53:52,998.998 INFO    ] No existing commands found in stream
[2026-10-20 11:53:58,020.020 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:53:58,022.022 INFO    ] Waiting 1.35 seconds before fallback handling...
[2026-10-20 11:53:59,866.866 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 11:53:59,869.869 INFO    ] Checking for system updates...
[2026-10-20 11:53:59,904.904 INFO    ] 200
[2026-10-20 11:53:59,906.906 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:53:59,961.961 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:53:59,964.964 INFO    ] No update needed
[2026-10-20 11:53:59,966.966 INFO    ] Checking for camera pi updates...
[2026-10-20 11:54:00,003.003 INFO    ] 200
[2026-10-20 11:54:00,005.005 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:54:00,046.046 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:54:00,101.101 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:54:00,103.103 INFO    ] No camera update needed
[2026-10-20 11:54:00,106.106 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:54:00,108.108 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:54:00,113.113 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:54:00,118.118 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:54:02,175.175 INFO    ] ================================================
[2026-10-20 11:54:02,196.196 INFO    ] Launching Daemon at Tue Oct 20 11:54:02 IST 2026
[2026-10-20 11:54:02,214.214 INFO    ] ================================================
[2026-10-20 11:54:02,892.892 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:54:02
[2026-10-20 11:54:03,492.492 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:54:03,760.760 INFO    ] Initializing speech engine...
[2026-10-20 11:54:03,769.769 INFO    ] 2026-10-20 11:54:03
[2026-10-20 11:54:04,013.013 INFO    ] 2026-10-20 11:54:04
[2026-10-20 11:54:04,048.048 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:54:04,244.244 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:54:04,302.302 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:54:04,510.510 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:54:04,555.555 INFO    ] time= 20/10/2026 11:54:04
[2026-10-20 11:54:04,573.573 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:54:04,587.587 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:54:04,700.700 INFO    ] No existing commands found in stream
[2026-10-20 11:54:09,729.729 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:54:09,732.732 INFO    ] Waiting 0.93 seconds before fallback handling...
[2026-10-20 11:54:11,126.126 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:54:11,129.129 INFO    ] Checking for system updates...
[2026-10-20 11:54:11,167.167 INFO    ] 200
[2026-10-20 11:54:11,170.170 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:54:11,235.235 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:54:11,238.238 INFO    ] No update needed
[2026-10-20 11:54:11,241.241 INFO    ] Checking for camera pi updates...
[2026-10-20 11:54:11,280.280 INFO    ] 200
[2026-10-20 11:54:11,283.283 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:54:11,327.327 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:54:11,375.375 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:54:11,378.378 INFO    ] No camera update needed
[2026-10-20 11:54:11,380.380 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:54:11,383.383 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:54:11,389.389 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:54:11,395.395 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:54:13,438.438 INFO    ] ================================================
[2026-10-20 11:54:13,454.454 INFO    ] Launching Daemon at Tue Oct 20 11:54:13 IST 2026
[2026-10-20 11:54:13,466.466 INFO    ] ================================================
[2026-10-20 11:54:14,077.077 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:54:14
[2026-10-20 11:54:14,695.695 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:54:14,984.984 INFO    ] Initializing speech engine...
[2026-10-20 11:54:14,990.990 INFO    ] 2026-10-20 11:54:14
[2026-10-20 11:54:15,254.254 INFO    ] 2026-10-20 11:54:15
[2026-10-20 11:54:15,285.285 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:54:15,493.493 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:54:15,541.541 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:54:15,706.706 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:54:15,777.777 INFO    ] time= 20/10/2026 11:54:15
[2026-10-20 11:54:15,833.833 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:54:15,841.841 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:54:15,958.958 INFO    ] No existing commands found in stream
[2026-10-20 11:54:20,981.981 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:54:20,985.985 INFO    ] Waiting 0.43 seconds before fallback handling...
[2026-10-20 11:54:21,936.936 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 11:54:21,940.940 INFO    ] Checking for system updates...
[2026-10-20 11:54:21,977.977 INFO    ] 200
[2026-10-20 11:54:21,980.980 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:54:22,034.034 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:54:22,036.036 INFO    ] No update needed
[2026-10-20 11:54:22,039.039 INFO    ] Checking for camera pi updates...
[2026-10-20 11:54:22,074.074 INFO    ] 200
[2026-10-20 11:54:22,077.077 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:54:22,118.118 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:54:22,171.171 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:54:22,174.174 INFO    ] No camera update needed
[2026-10-20 11:54:22,177.177 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:54:22,180.180 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:54:22,186.186 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:54:22,192.192 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:54:24,233.233 INFO    ] ================================================
[2026-10-20 11:54:24,248.248 INFO    ] Launching Daemon at Tue Oct 20 11:54:24 IST 2026
[2026-10-20 11:54:24,260.260 INFO    ] ================================================
[2026-10-20 11:54:24,829.829 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:54:24
[2026-10-20 11:54:25,417.417 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:54:25,685.685 INFO    ] Initializing speech engine...
[2026-10-20 11:54:25,698.698 INFO    ] 2026-10-20 11:54:25
[2026-10-20 11:54:25,947.947 INFO    ] 2026-10-20 11:54:25
[2026-10-20 11:54:25,982.982 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:54:26,169.169 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:54:26,180.180 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:54:26,329.329 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:54:26,375.375 INFO    ] time= 20/10/2026 11:54:26
[2026-10-20 11:54:26,398.398 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:54:26,432.432 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:54:26,547.547 INFO    ] No existing commands found in stream
[2026-10-20 11:54:31,561.561 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:54:31,565.565 INFO    ] Waiting 1.57 seconds before fallback handling...
[2026-10-20 11:54:33,616.616 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:54:33,619.619 INFO    ] Checking for system updates...
[2026-10-20 11:54:33,655.655 INFO    ] 200
[2026-10-20 11:54:33,658.658 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:54:33,712.712 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:54:33,714.714 INFO    ] No update needed
[2026-10-20 11:54:33,717.717 INFO    ] Checking for camera pi updates...
[2026-10-20 11:54:33,750.750 INFO    ] 200
[2026-10-20 11:54:33,752.752 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:54:33,792.792 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:54:33,843.843 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:54:33,845.845 INFO    ] No camera update needed
[2026-10-20 11:54:33,848.848 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:54:33,850.850 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:54:33,855.855 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:54:33,861.861 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:54:35,900.900 INFO    ] ================================================
[2026-10-20 11:54:35,915.915 INFO    ] Launching Daemon at Tue Oct 20 11:54:35 IST 2026
[2026-10-20 11:54:35,927.927 INFO    ] ================================================
[2026-10-20 11:54:36,502.502 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:54:36
[2026-10-20 11:54:37,087.087 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:54:37,334.334 INFO    ] Initializing speech engine...
[2026-10-20 11:54:37,348.348 INFO    ] 2026-10-20 11:54:37
[2026-10-20 11:54:37,612.612 INFO    ] 2026-10-20 11:54:37
[2026-10-20 11:54:37,647.647 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:54:37,851.851 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:54:37,904.904 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:54:38,156.156 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:54:38,171.171 INFO    ] time= 20/10/2026 11:54:38
[2026-10-20 11:54:38,188.188 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:54:38,197.197 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:54:38,327.327 INFO    ] No existing commands found in stream
[2026-10-20 11:54:43,339.339 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:54:43,342.342 INFO    ] Waiting 2.77 seconds before fallback handling...
[2026-10-20 11:54:46,637.637 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 11:54:46,640.640 INFO    ] Checking for system updates...
[2026-10-20 11:54:46,676.676 INFO    ] 200
[2026-10-20 11:54:46,678.678 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:54:46,730.730 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:54:46,732.732 INFO    ] No update needed
[2026-10-20 11:54:46,735.735 INFO    ] Checking for camera pi updates...
[2026-10-20 11:54:46,768.768 INFO    ] 200
[2026-10-20 11:54:46,771.771 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:54:46,811.811 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:54:46,860.860 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:54:46,863.863 INFO    ] No camera update needed
[2026-10-20 11:54:46,865.865 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:54:46,867.867 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:54:46,873.873 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:54:46,877.877 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:54:48,917.917 INFO    ] ================================================
[2026-10-20 11:54:48,934.934 INFO    ] Launching Daemon at Tue Oct 20 11:54:48 IST 2026
[2026-10-20 11:54:48,946.946 INFO    ] ================================================
[2026-10-20 11:54:49,527.527 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:54:49
[2026-10-20 11:54:50,124.124 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:54:50,406.406 INFO    ] Initializing speech engine...
[2026-10-20 11:54:50,412.412 INFO    ] 2026-10-20 11:54:50
[2026-10-20 11:54:50,675.675 INFO    ] 2026-10-20 11:54:50
[2026-10-20 11:54:50,727.727 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:54:50,953.953 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:54:50,963.963 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:54:51,098.098 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:54:51,143.143 INFO    ] time= 20/10/2026 11:54:51
[2026-10-20 11:54:51,192.192 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:54:51,229.229 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:54:51,343.343 INFO    ] No existing commands found in stream
[2026-10-20 11:54:56,360.360 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:54:56,363.363 INFO    ] Waiting 1.45 seconds before fallback handling...
[2026-10-20 11:54:58,304.304 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 11:54:58,307.307 INFO    ] Checking for system updates...
[2026-10-20 11:54:58,348.348 INFO    ] 200
[2026-10-20 11:54:58,356.356 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:54:58,425.425 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:54:58,428.428 INFO    ] No update needed
[2026-10-20 11:54:58,431.431 INFO    ] Checking for camera pi updates...
[2026-10-20 11:54:58,465.465 INFO    ] 200
[2026-10-20 11:54:58,468.468 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:54:58,510.510 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:54:58,560.560 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:54:58,563.563 INFO    ] No camera update needed
[2026-10-20 11:54:58,566.566 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:54:58,569.569 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:54:58,575.575 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:54:58,581.581 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:55:00,623.623 INFO    ] ================================================
[2026-10-20 11:55:00,639.639 INFO    ] Launching Daemon at Tue Oct 20 11:55:00 IST 2026
[2026-10-20 11:55:00,649.649 INFO    ] ================================================
[2026-10-20 11:55:01,460.460 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:55:01
[2026-10-20 11:55:02,180.180 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:55:02,470.470 INFO    ] Initializing speech engine...
[2026-10-20 11:55:02,486.486 INFO    ] 2026-10-20 11:55:02
[2026-10-20 11:55:02,768.768 INFO    ] 2026-10-20 11:55:02
[2026-10-20 11:55:02,828.828 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:55:03,025.025 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:55:03,043.043 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:55:03,204.204 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:55:03,214.214 INFO    ] time= 20/10/2026 11:55:03
[2026-10-20 11:55:03,273.273 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:55:03,290.290 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:55:03,434.434 INFO    ] No existing commands found in stream
[2026-10-20 11:55:08,441.441 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:55:08,453.453 INFO    ] Waiting 3.86 seconds before fallback handling...
[2026-10-20 11:55:12,835.835 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 11:55:12,838.838 INFO    ] Checking for system updates...
[2026-10-20 11:55:12,874.874 INFO    ] 200
[2026-10-20 11:55:12,877.877 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:55:12,929.929 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:55:12,931.931 INFO    ] No update needed
[2026-10-20 11:55:12,933.933 INFO    ] Checking for camera pi updates...
[2026-10-20 11:55:12,966.966 INFO    ] 200
[2026-10-20 11:55:12,969.969 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:55:13,015.015 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:55:13,068.068 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:55:13,071.071 INFO    ] No camera update needed
[2026-10-20 11:55:13,073.073 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:55:13,075.075 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:55:13,080.080 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:55:13,085.085 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:55:15,124.124 INFO    ] ================================================
[2026-10-20 11:55:15,140.140 INFO    ] Launching Daemon at Tue Oct 20 11:55:15 IST 2026
[2026-10-20 11:55:15,151.151 INFO    ] ================================================
[2026-10-20 11:55:15,733.733 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:55:15
[2026-10-20 11:55:16,325.325 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:55:16,583.583 INFO    ] Initializing speech engine...
[2026-10-20 11:55:16,599.599 INFO    ] 2026-10-20 11:55:16
[2026-10-20 11:55:16,867.867 INFO    ] 2026-10-20 11:55:16
[2026-10-20 11:55:16,903.903 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:55:17,123.123 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:55:17,141.141 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:55:17,346.346 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:55:17,352.352 INFO    ] time= 20/10/2026 11:55:17
[2026-10-20 11:55:17,417.417 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:55:17,471.471 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:55:17,554.554 INFO    ] No existing commands found in stream
[2026-10-20 11:55:22,566.566 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:55:22,569.569 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-10-20 11:55:23,143.143 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:55:23,146.146 INFO    ] Checking for system updates...
[2026-10-20 11:55:23,182.182 INFO    ] 200
[2026-10-20 11:55:23,185.185 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:55:23,243.243 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:55:23,245.245 INFO    ] No update needed
[2026-10-20 11:55:23,248.248 INFO    ] Checking for camera pi updates...
[2026-10-20 11:55:23,293.293 INFO    ] 200
[2026-10-20 11:55:23,296.296 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:55:23,337.337 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:55:23,382.382 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:55:23,385.385 INFO    ] No camera update needed
[2026-10-20 11:55:23,387.387 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:55:23,390.390 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:55:23,396.396 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:55:23,402.402 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:55:25,441.441 INFO    ] ================================================
[2026-10-20 11:55:25,457.457 INFO    ] Launching Daemon at Tue Oct 20 11:55:25 IST 2026
[2026-10-20 11:55:25,468.468 INFO    ] ================================================
[2026-10-20 11:55:26,050.050 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:55:26
[2026-10-20 11:55:26,656.656 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:55:26,924.924 INFO    ] Initializing speech engine...
[2026-10-20 11:55:26,933.933 INFO    ] 2026-10-20 11:55:26
[2026-10-20 11:55:27,177.177 INFO    ] 2026-10-20 11:55:27
[2026-10-20 11:55:27,212.212 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:55:27,410.410 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:55:27,468.468 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:55:27,608.608 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:55:27,664.664 INFO    ] time= 20/10/2026 11:55:27
[2026-10-20 11:55:27,723.723 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:55:27,741.741 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:55:27,871.871 INFO    ] No existing commands found in stream
[2026-10-20 11:55:32,891.891 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:55:32,894.894 INFO    ] Waiting 0.34 seconds before fallback handling...
[2026-10-20 11:55:33,690.690 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:55:33,693.693 INFO    ] Checking for system updates...
[2026-10-20 11:55:33,728.728 INFO    ] 200
[2026-10-20 11:55:33,730.730 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:55:33,781.781 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:55:33,784.784 INFO    ] No update needed
[2026-10-20 11:55:33,787.787 INFO    ] Checking for camera pi updates...
[2026-10-20 11:55:33,819.819 INFO    ] 200
[2026-10-20 11:55:33,822.822 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:55:33,863.863 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:55:33,914.914 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:55:33,916.916 INFO    ] No camera update needed
[2026-10-20 11:55:33,919.919 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:55:33,921.921 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:55:33,926.926 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:55:33,931.931 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:55:35,972.972 INFO    ] ================================================
[2026-10-20 11:55:35,987.987 INFO    ] Launching Daemon at Tue Oct 20 11:55:35 IST 2026
[2026-10-20 11:55:36,998.998 INFO    ] ================================================
[2026-10-20 11:55:36,581.581 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:55:36
[2026-10-20 11:55:37,194.194 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:55:37,491.491 INFO    ] Initializing speech engine...
[2026-10-20 11:55:37,496.496 INFO    ] 2026-10-20 11:55:37
[2026-10-20 11:55:37,778.778 INFO    ] 2026-10-20 11:55:37
[2026-10-20 11:55:37,823.823 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:55:38,067.067 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:55:38,075.075 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:55:38,265.265 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:55:38,310.310 INFO    ] time= 20/10/2026 11:55:38
[2026-10-20 11:55:38,315.315 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:55:38,334.334 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:55:38,467.467 INFO    ] No existing commands found in stream
[2026-10-20 11:55:43,495.495 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:55:43,498.498 INFO    ] Waiting 3.58 seconds before fallback handling...
[2026-10-20 11:55:47,619.619 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 11:55:47,622.622 INFO    ] Checking for system updates...
[2026-10-20 11:55:47,658.658 INFO    ] 200
[2026-10-20 11:55:47,661.661 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:55:47,713.713 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:55:47,715.715 INFO    ] No update needed
[2026-10-20 11:55:47,718.718 INFO    ] Checking for camera pi updates...
[2026-10-20 11:55:47,754.754 INFO    ] 200
[2026-10-20 11:55:47,757.757 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:55:47,797.797 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:55:47,855.855 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:55:47,858.858 INFO    ] No camera update needed
[2026-10-20 11:55:47,860.860 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:55:47,863.863 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:55:47,869.869 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:55:47,874.874 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:55:49,921.921 INFO    ] ================================================
[2026-10-20 11:55:49,937.937 INFO    ] Launching Daemon at Tue Oct 20 11:55:49 IST 2026
[2026-10-20 11:55:49,948.948 INFO    ] ================================================
[2026-10-20 11:55:50,546.546 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:55:50
[2026-10-20 11:55:51,128.128 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:55:51,395.395 INFO    ] Initializing speech engine...
[2026-10-20 11:55:51,404.404 INFO    ] 2026-10-20 11:55:51
[2026-10-20 11:55:51,649.649 INFO    ] 2026-10-20 11:55:51
[2026-10-20 11:55:51,685.685 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:55:51,936.936 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:55:51,946.946 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:55:52,140.140 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:55:52,199.199 INFO    ] time= 20/10/2026 11:55:52
[2026-10-20 11:55:52,210.210 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:55:52,227.227 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:55:52,352.352 INFO    ] No existing commands found in stream
[2026-10-20 11:55:57,368.368 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:55:57,371.371 INFO    ] Waiting 2.81 seconds before fallback handling...
[2026-10-20 11:56:00,640.640 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:56:00,643.643 INFO    ] Checking for system updates...
[2026-10-20 11:56:00,679.679 INFO    ] 200
[2026-10-20 11:56:00,681.681 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:56:00,732.732 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:56:00,734.734 INFO    ] No update needed
[2026-10-20 11:56:00,737.737 INFO    ] Checking for camera pi updates...
[2026-10-20 11:56:00,772.772 INFO    ] 200
[2026-10-20 11:56:00,775.775 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:56:00,817.817 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:56:00,863.863 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:56:00,866.866 INFO    ] No camera update needed
[2026-10-20 11:56:00,868.868 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:56:00,870.870 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:56:00,876.876 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:56:00,881.881 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:56:02,926.926 INFO    ] ================================================
[2026-10-20 11:56:02,942.942 INFO    ] Launching Daemon at Tue Oct 20 11:56:02 IST 2026
[2026-10-20 11:56:02,954.954 INFO    ] ================================================
[2026-10-20 11:56:03,663.663 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:56:03
[2026-10-20 11:56:04,264.264 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:56:04,532.532 INFO    ] Initializing speech engine...
[2026-10-20 11:56:04,541.541 INFO    ] 2026-10-20 11:56:04
[2026-10-20 11:56:04,788.788 INFO    ] 2026-10-20 11:56:04
[2026-10-20 11:56:04,822.822 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:56:05,020.020 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:56:05,077.077 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:56:05,218.218 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:56:05,283.283 INFO    ] time= 20/10/2026 11:56:05
[2026-10-20 11:56:05,332.332 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:56:05,349.349 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:56:05,495.495 INFO    ] No existing commands found in stream
[2026-10-20 11:56:10,509.509 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:56:10,511.511 INFO    ] Waiting 2.51 seconds before fallback handling...
[2026-10-20 11:56:13,518.518 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 11:56:13,520.520 INFO    ] Checking for system updates...
[2026-10-20 11:56:13,561.561 INFO    ] 200
[2026-10-20 11:56:13,564.564 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:56:13,615.615 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:56:13,618.618 INFO    ] No update needed
[2026-10-20 11:56:13,620.620 INFO    ] Checking for camera pi updates...
[2026-10-20 11:56:13,657.657 INFO    ] 200
[2026-10-20 11:56:13,660.660 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:56:13,700.700 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:56:13,749.749 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:56:13,752.752 INFO    ] No camera update needed
[2026-10-20 11:56:13,756.756 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:56:13,759.759 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:56:13,765.765 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:56:13,770.770 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:56:15,811.811 INFO    ] ================================================
[2026-10-20 11:56:15,827.827 INFO    ] Launching Daemon at Tue Oct 20 11:56:15 IST 2026
[2026-10-20 11:56:15,838.838 INFO    ] ================================================
[2026-10-20 11:56:16,504.504 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:56:16
[2026-10-20 11:56:17,190.190 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:56:17,493.493 INFO    ] Initializing speech engine...
[2026-10-20 11:56:17,505.505 INFO    ] 2026-10-20 11:56:17
[2026-10-20 11:56:17,782.782 INFO    ] 2026-10-20 11:56:17
[2026-10-20 11:56:17,817.817 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:56:18,072.072 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:56:18,083.083 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:56:18,237.237 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:56:18,307.307 INFO    ] time= 20/10/2026 11:56:18
[2026-10-20 11:56:18,353.353 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:56:18,372.372 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:56:18,507.507 INFO    ] No existing commands found in stream
[2026-10-20 11:56:23,523.523 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:56:23,527.527 INFO    ] Waiting 0.75 seconds before fallback handling...
[2026-10-20 11:56:24,772.772 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:56:24,775.775 INFO    ] Checking for system updates...
[2026-10-20 11:56:24,812.812 INFO    ] 200
[2026-10-20 11:56:24,815.815 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:56:24,869.869 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:56:24,871.871 INFO    ] No update needed
[2026-10-20 11:56:24,874.874 INFO    ] Checking for camera pi updates...
[2026-10-20 11:56:24,907.907 INFO    ] 200
[2026-10-20 11:56:24,910.910 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:56:24,950.950 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:56:24,997.997 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:56:24,999.999 INFO    ] No camera update needed
[2026-10-20 11:56:25,002.002 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:56:25,004.004 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:56:25,010.010 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:56:25,015.015 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:56:27,054.054 INFO    ] ================================================
[2026-10-20 11:56:27,070.070 INFO    ] Launching Daemon at Tue Oct 20 11:56:27 IST 2026
[2026-10-20 11:56:27,082.082 INFO    ] ================================================
[2026-10-20 11:56:27,749.749 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:56:27
[2026-10-20 11:56:28,438.438 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:56:28,747.747 INFO    ] Initializing speech engine...
[2026-10-20 11:56:28,759.759 INFO    ] 2026-10-20 11:56:28
[2026-10-20 11:56:29,064.064 INFO    ] 2026-10-20 11:56:29
[2026-10-20 11:56:29,150.150 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:56:29,322.322 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:56:29,328.328 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:56:29,522.522 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:56:29,564.564 INFO    ] time= 20/10/2026 11:56:29
[2026-10-20 11:56:29,570.570 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:56:29,591.591 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:56:29,717.717 INFO    ] No existing commands found in stream
[2026-10-20 11:56:34,730.730 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:56:34,733.733 INFO    ] Waiting 2.72 seconds before fallback handling...
[2026-10-20 11:56:37,952.952 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:56:37,955.955 INFO    ] Checking for system updates...
[2026-10-20 11:56:37,991.991 INFO    ] 200
[2026-10-20 11:56:37,993.993 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:56:38,053.053 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:56:38,056.056 INFO    ] No update needed
[2026-10-20 11:56:38,058.058 INFO    ] Checking for camera pi updates...
[2026-10-20 11:56:38,096.096 INFO    ] 200
[2026-10-20 11:56:38,098.098 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:56:38,144.144 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:56:38,199.199 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:56:38,201.201 INFO    ] No camera update needed
[2026-10-20 11:56:38,204.204 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:56:38,206.206 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:56:38,212.212 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:56:38,217.217 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:56:40,257.257 INFO    ] ================================================
[2026-10-20 11:56:40,273.273 INFO    ] Launching Daemon at Tue Oct 20 11:56:40 IST 2026
[2026-10-20 11:56:40,284.284 INFO    ] ================================================
[2026-10-20 11:56:40,862.862 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:56:40
[2026-10-20 11:56:41,541.541 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:56:41,851.851 INFO    ] Initializing speech engine...
[2026-10-20 11:56:41,863.863 INFO    ] 2026-10-20 11:56:41
[2026-10-20 11:56:42,138.138 INFO    ] 2026-10-20 11:56:42
[2026-10-20 11:56:42,196.196 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:56:42,429.429 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:56:42,435.435 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:56:42,668.668 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:56:42,699.699 INFO    ] time= 20/10/2026 11:56:42
[2026-10-20 11:56:42,718.718 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:56:42,728.728 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:56:42,860.860 INFO    ] No existing commands found in stream
[2026-10-20 11:56:47,871.871 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:56:47,875.875 INFO    ] Waiting 3.06 seconds before fallback handling...
[2026-10-20 11:56:51,460.460 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:56:51,464.464 INFO    ] Checking for system updates...
[2026-10-20 11:56:51,500.500 INFO    ] 200
[2026-10-20 11:56:51,503.503 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:56:51,564.564 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:56:51,567.567 INFO    ] No update needed
[2026-10-20 11:56:51,570.570 INFO    ] Checking for camera pi updates...
[2026-10-20 11:56:51,612.612 INFO    ] 200
[2026-10-20 11:56:51,615.615 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:56:51,663.663 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:56:51,720.720 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:56:51,723.723 INFO    ] No camera update needed
[2026-10-20 11:56:51,725.725 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:56:51,728.728 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:56:51,735.735 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:56:51,741.741 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:56:53,781.781 INFO    ] ================================================
[2026-10-20 11:56:53,796.796 INFO    ] Launching Daemon at Tue Oct 20 11:56:53 IST 2026
[2026-10-20 11:56:53,807.807 INFO    ] ================================================
[2026-10-20 11:56:54,485.485 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:56:54
[2026-10-20 11:56:55,170.170 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:56:55,435.435 INFO    ] Initializing speech engine...
[2026-10-20 11:56:55,461.461 INFO    ] 2026-10-20 11:56:55
[2026-10-20 11:56:55,739.739 INFO    ] 2026-10-20 11:56:55
[2026-10-20 11:56:55,778.778 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:56:55,977.977 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:56:55,992.992 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:56:56,161.161 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:56:56,166.166 INFO    ] time= 20/10/2026 11:56:56
[2026-10-20 11:56:56,173.173 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:56:56,186.186 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:56:56,323.323 INFO    ] No existing commands found in stream
[2026-10-20 11:57:01,353.353 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:57:01,356.356 INFO    ] Waiting 1.81 seconds before fallback handling...
[2026-10-20 11:57:03,689.689 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:57:03,691.691 INFO    ] Checking for system updates...
[2026-10-20 11:57:03,732.732 INFO    ] 200
[2026-10-20 11:57:03,735.735 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:57:03,788.788 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:57:03,791.791 INFO    ] No update needed
[2026-10-20 11:57:03,794.794 INFO    ] Checking for camera pi updates...
[2026-10-20 11:57:03,828.828 INFO    ] 200
[2026-10-20 11:57:03,831.831 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:57:03,873.873 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:57:03,927.927 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:57:03,930.930 INFO    ] No camera update needed
[2026-10-20 11:57:03,933.933 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:57:03,936.936 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:57:03,942.942 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:57:03,951.951 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:57:05,992.992 INFO    ] ================================================
[2026-10-20 11:57:06,007.007 INFO    ] Launching Daemon at Tue Oct 20 11:57:06 IST 2026
[2026-10-20 11:57:06,018.018 INFO    ] ================================================
[2026-10-20 11:57:06,592.592 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:57:06
[2026-10-20 11:57:07,176.176 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:57:07,444.444 INFO    ] Initializing speech engine...
[2026-10-20 11:57:07,464.464 INFO    ] 2026-10-20 11:57:07
[2026-10-20 11:57:07,735.735 INFO    ] 2026-10-20 11:57:07
[2026-10-20 11:57:07,773.773 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:57:07,973.973 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:57:07,990.990 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:57:08,158.158 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:57:08,163.163 INFO    ] time= 20/10/2026 11:57:08
[2026-10-20 11:57:08,170.170 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:57:08,219.219 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:57:08,337.337 INFO    ] No existing commands found in stream
[2026-10-20 11:57:13,361.361 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:57:13,364.364 INFO    ] Waiting 0.92 seconds before fallback handling...
[2026-10-20 11:57:14,767.767 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:57:14,769.769 INFO    ] Checking for system updates...
[2026-10-20 11:57:14,805.805 INFO    ] 200
[2026-10-20 11:57:14,808.808 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:57:14,869.869 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:57:14,872.872 INFO    ] No update needed
[2026-10-20 11:57:14,875.875 INFO    ] Checking for camera pi updates...
[2026-10-20 11:57:14,915.915 INFO    ] 200
[2026-10-20 11:57:14,918.918 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:57:14,964.964 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:57:15,016.016 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:57:15,019.019 INFO    ] No camera update needed
[2026-10-20 11:57:15,022.022 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:57:15,024.024 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:57:15,031.031 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:57:15,037.037 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:57:17,078.078 INFO    ] ================================================
[2026-10-20 11:57:17,093.093 INFO    ] Launching Daemon at Tue Oct 20 11:57:17 IST 2026
[2026-10-20 11:57:17,104.104 INFO    ] ================================================
[2026-10-20 11:57:17,671.671 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:57:17
[2026-10-20 11:57:18,257.257 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:57:18,528.528 INFO    ] Initializing speech engine...
[2026-10-20 11:57:18,535.535 INFO    ] 2026-10-20 11:57:18
[2026-10-20 11:57:18,788.788 INFO    ] 2026-10-20 11:57:18
[2026-10-20 11:57:18,824.824 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:57:19,011.011 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:57:19,026.026 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:57:19,167.167 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:57:19,213.213 INFO    ] time= 20/10/2026 11:57:19
[2026-10-20 11:57:19,235.235 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:57:19,272.272 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:57:19,374.374 INFO    ] No existing commands found in stream
[2026-10-20 11:57:24,394.394 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:57:24,397.397 INFO    ] Waiting 2.89 seconds before fallback handling...
[2026-10-20 11:57:27,761.761 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 11:57:27,764.764 INFO    ] Checking for system updates...
[2026-10-20 11:57:27,799.799 INFO    ] 200
[2026-10-20 11:57:27,802.802 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:57:27,862.862 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:57:27,864.864 INFO    ] No update needed
[2026-10-20 11:57:27,867.867 INFO    ] Checking for camera pi updates...
[2026-10-20 11:57:27,899.899 INFO    ] 200
[2026-10-20 11:57:27,902.902 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:57:27,947.947 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:57:27,992.992 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:57:27,995.995 INFO    ] No camera update needed
[2026-10-20 11:57:27,997.997 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:57:27,999.999 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:57:28,005.005 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:57:28,010.010 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:57:30,051.051 INFO    ] ================================================
[2026-10-20 11:57:30,066.066 INFO    ] Launching Daemon at Tue Oct 20 11:57:30 IST 2026
[2026-10-20 11:57:30,077.077 INFO    ] ================================================
[2026-10-20 11:57:30,646.646 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:57:30
[2026-10-20 11:57:31,229.229 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:57:31,505.505 INFO    ] Initializing speech engine...
[2026-10-20 11:57:31,516.516 INFO    ] 2026-10-20 11:57:31
[2026-10-20 11:57:31,786.786 INFO    ] 2026-10-20 11:57:31
[2026-10-20 11:57:31,823.823 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:57:32,027.027 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:57:32,086.086 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:57:32,240.240 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:57:32,281.281 INFO    ] time= 20/10/2026 11:57:32
[2026-10-20 11:57:32,346.346 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:57:32,375.375 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:57:32,514.514 INFO    ] No existing commands found in stream
[2026-10-20 11:57:37,539.539 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:57:37,542.542 INFO    ] Waiting 2.60 seconds before fallback handling...
[2026-10-20 11:57:40,618.618 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:57:40,621.621 INFO    ] Checking for system updates...
[2026-10-20 11:57:40,656.656 INFO    ] 200
[2026-10-20 11:57:40,659.659 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:57:40,711.711 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:57:40,713.713 INFO    ] No update needed
[2026-10-20 11:57:40,715.715 INFO    ] Checking for camera pi updates...
[2026-10-20 11:57:40,753.753 INFO    ] 200
[2026-10-20 11:57:40,755.755 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:57:40,795.795 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:57:40,941.941 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:57:40,943.943 INFO    ] No camera update needed
[2026-10-20 11:57:40,946.946 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:57:40,948.948 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:57:40,954.954 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:57:40,959.959 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:57:43,998.998 INFO    ] ================================================
[2026-10-20 11:57:43,013.013 INFO    ] Launching Daemon at Tue Oct 20 11:57:43 IST 2026
[2026-10-20 11:57:43,024.024 INFO    ] ================================================
[2026-10-20 11:57:43,589.589 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:57:43
[2026-10-20 11:57:44,173.173 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:57:44,423.423 INFO    ] Initializing speech engine...
[2026-10-20 11:57:44,436.436 INFO    ] 2026-10-20 11:57:44
[2026-10-20 11:57:44,702.702 INFO    ] 2026-10-20 11:57:44
[2026-10-20 11:57:44,737.737 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:57:44,935.935 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:57:44,969.969 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:57:45,142.142 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:57:45,189.189 INFO    ] time= 20/10/2026 11:57:45
[2026-10-20 11:57:45,254.254 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:57:45,278.278 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:57:45,398.398 INFO    ] No existing commands found in stream
[2026-10-20 11:57:50,423.423 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:57:50,426.426 INFO    ] Waiting 1.92 seconds before fallback handling...
[2026-10-20 11:57:52,854.854 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:57:52,857.857 INFO    ] Checking for system updates...
[2026-10-20 11:57:52,899.899 INFO    ] 200
[2026-10-20 11:57:52,903.903 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:57:52,956.956 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:57:52,959.959 INFO    ] No update needed
[2026-10-20 11:57:52,962.962 INFO    ] Checking for camera pi updates...
[2026-10-20 11:57:52,996.996 INFO    ] 200
[2026-10-20 11:57:52,999.999 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:57:53,044.044 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:57:53,089.089 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:57:53,091.091 INFO    ] No camera update needed
[2026-10-20 11:57:53,093.093 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:57:53,096.096 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:57:53,101.101 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:57:53,106.106 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:57:55,145.145 INFO    ] ================================================
[2026-10-20 11:57:55,161.161 INFO    ] Launching Daemon at Tue Oct 20 11:57:55 IST 2026
[2026-10-20 11:57:55,171.171 INFO    ] ================================================
[2026-10-20 11:57:55,775.775 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:57:55
[2026-10-20 11:57:56,361.361 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:57:56,630.630 INFO    ] Initializing speech engine...
[2026-10-20 11:57:56,639.639 INFO    ] 2026-10-20 11:57:56
[2026-10-20 11:57:56,890.890 INFO    ] 2026-10-20 11:57:56
[2026-10-20 11:57:56,925.925 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:57:57,116.116 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:57:57,173.173 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:57:57,380.380 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:57:57,430.430 INFO    ] time= 20/10/2026 11:57:57
[2026-10-20 11:57:57,441.441 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:57:57,447.447 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:57:57,582.582 INFO    ] No existing commands found in stream
[2026-10-20 11:58:02,601.601 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:58:02,604.604 INFO    ] Waiting 0.78 seconds before fallback handling...
[2026-10-20 11:58:03,898.898 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:58:03,900.900 INFO    ] Checking for system updates...
[2026-10-20 11:58:03,937.937 INFO    ] 200
[2026-10-20 11:58:03,940.940 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:58:03,992.992 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:58:03,995.995 INFO    ] No update needed
[2026-10-20 11:58:03,998.998 INFO    ] Checking for camera pi updates...
[2026-10-20 11:58:04,036.036 INFO    ] 200
[2026-10-20 11:58:04,039.039 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:58:04,081.081 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:58:04,126.126 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:58:04,129.129 INFO    ] No camera update needed
[2026-10-20 11:58:04,132.132 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:58:04,134.134 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:58:04,141.141 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:58:04,147.147 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:58:06,188.188 INFO    ] ================================================
[2026-10-20 11:58:06,203.203 INFO    ] Launching Daemon at Tue Oct 20 11:58:06 IST 2026
[2026-10-20 11:58:06,214.214 INFO    ] ================================================
[2026-10-20 11:58:06,781.781 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:58:06
[2026-10-20 11:58:07,363.363 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:58:07,631.631 INFO    ] Initializing speech engine...
[2026-10-20 11:58:07,640.640 INFO    ] 2026-10-20 11:58:07
[2026-10-20 11:58:07,885.885 INFO    ] 2026-10-20 11:58:07
[2026-10-20 11:58:07,920.920 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:58:08,117.117 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:58:08,167.167 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:58:08,320.320 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:58:08,384.384 INFO    ] time= 20/10/2026 11:58:08
[2026-10-20 11:58:08,428.428 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:58:08,447.447 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:58:08,567.567 INFO    ] No existing commands found in stream
[2026-10-20 11:58:13,592.592 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:58:13,595.595 INFO    ] Waiting 2.96 seconds before fallback handling...
[2026-10-20 11:58:17,025.025 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:58:17,028.028 INFO    ] Checking for system updates...
[2026-10-20 11:58:17,065.065 INFO    ] 200
[2026-10-20 11:58:17,068.068 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:58:17,129.129 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:58:17,132.132 INFO    ] No update needed
[2026-10-20 11:58:17,135.135 INFO    ] Checking for camera pi updates...
[2026-10-20 11:58:17,174.174 INFO    ] 200
[2026-10-20 11:58:17,177.177 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:58:17,227.227 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:58:17,284.284 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:58:17,287.287 INFO    ] No camera update needed
[2026-10-20 11:58:17,290.290 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:58:17,293.293 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:58:17,299.299 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:58:17,305.305 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:58:19,346.346 INFO    ] ================================================
[2026-10-20 11:58:19,361.361 INFO    ] Launching Daemon at Tue Oct 20 11:58:19 IST 2026
[2026-10-20 11:58:19,372.372 INFO    ] ================================================
[2026-10-20 11:58:19,939.939 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:58:19
[2026-10-20 11:58:20,523.523 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:58:20,781.781 INFO    ] Initializing speech engine...
[2026-10-20 11:58:20,795.795 INFO    ] 2026-10-20 11:58:20
[2026-10-20 11:58:21,046.046 INFO    ] 2026-10-20 11:58:21
[2026-10-20 11:58:21,089.089 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:58:21,279.279 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:58:21,337.337 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:58:21,540.540 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:58:21,595.595 INFO    ] time= 20/10/2026 11:58:21
[2026-10-20 11:58:21,607.607 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:58:21,625.625 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:58:21,745.745 INFO    ] No existing commands found in stream
[2026-10-20 11:58:26,764.764 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:58:26,766.766 INFO    ] Waiting 3.97 seconds before fallback handling...
[2026-10-20 11:58:31,235.235 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 11:58:31,239.239 INFO    ] Checking for system updates...
[2026-10-20 11:58:31,275.275 INFO    ] 200
[2026-10-20 11:58:31,278.278 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:58:31,337.337 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:58:31,341.341 INFO    ] No update needed
[2026-10-20 11:58:31,344.344 INFO    ] Checking for camera pi updates...
[2026-10-20 11:58:31,382.382 INFO    ] 200
[2026-10-20 11:58:31,385.385 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:58:31,426.426 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:58:31,489.489 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:58:31,493.493 INFO    ] No camera update needed
[2026-10-20 11:58:31,496.496 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:58:31,500.500 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:58:31,509.509 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:58:31,516.516 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:58:33,559.559 INFO    ] ================================================
[2026-10-20 11:58:33,574.574 INFO    ] Launching Daemon at Tue Oct 20 11:58:33 IST 2026
[2026-10-20 11:58:33,585.585 INFO    ] ================================================
[2026-10-20 11:58:34,204.204 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:58:34
[2026-10-20 11:58:34,805.805 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:58:35,077.077 INFO    ] Initializing speech engine...
[2026-10-20 11:58:35,086.086 INFO    ] 2026-10-20 11:58:35
[2026-10-20 11:58:35,351.351 INFO    ] 2026-10-20 11:58:35
[2026-10-20 11:58:35,380.380 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:58:35,625.625 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:58:35,634.634 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:58:35,773.773 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:58:35,838.838 INFO    ] time= 20/10/2026 11:58:35
[2026-10-20 11:58:35,892.892 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:58:35,902.902 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:58:36,031.031 INFO    ] No existing commands found in stream
[2026-10-20 11:58:41,057.057 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:58:41,060.060 INFO    ] Waiting 0.01 seconds before fallback handling...
[2026-10-20 11:58:41,574.574 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 11:58:41,577.577 INFO    ] Checking for system updates...
[2026-10-20 11:58:41,613.613 INFO    ] 200
[2026-10-20 11:58:41,615.615 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:58:41,667.667 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:58:41,669.669 INFO    ] No update needed
[2026-10-20 11:58:41,672.672 INFO    ] Checking for camera pi updates...
[2026-10-20 11:58:41,708.708 INFO    ] 200
[2026-10-20 11:58:41,711.711 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:58:41,751.751 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:58:41,802.802 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:58:41,804.804 INFO    ] No camera update needed
[2026-10-20 11:58:41,807.807 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:58:41,809.809 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:58:41,814.814 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:58:41,819.819 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:58:43,858.858 INFO    ] ================================================
[2026-10-20 11:58:43,873.873 INFO    ] Launching Daemon at Tue Oct 20 11:58:43 IST 2026
[2026-10-20 11:58:43,884.884 INFO    ] ================================================
[2026-10-20 11:58:44,468.468 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:58:44
[2026-10-20 11:58:45,067.067 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:58:45,341.341 INFO    ] Initializing speech engine...
[2026-10-20 11:58:45,352.352 INFO    ] 2026-10-20 11:58:45
[2026-10-20 11:58:45,613.613 INFO    ] 2026-10-20 11:58:45
[2026-10-20 11:58:45,667.667 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:58:45,888.888 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:58:45,897.897 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:58:46,113.113 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:58:46,156.156 INFO    ] time= 20/10/2026 11:58:46
[2026-10-20 11:58:46,162.162 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:58:46,178.178 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:58:46,311.311 INFO    ] No existing commands found in stream
[2026-10-20 11:58:51,326.326 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:58:51,329.329 INFO    ] Waiting 4.00 seconds before fallback handling...
[2026-10-20 11:58:55,802.802 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 11:58:55,805.805 INFO    ] Checking for system updates...
[2026-10-20 11:58:55,841.841 INFO    ] 200
[2026-10-20 11:58:55,843.843 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:58:55,896.896 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:58:55,899.899 INFO    ] No update needed
[2026-10-20 11:58:55,901.901 INFO    ] Checking for camera pi updates...
[2026-10-20 11:58:55,938.938 INFO    ] 200
[2026-10-20 11:58:55,940.940 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:58:55,981.981 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:58:56,029.029 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:58:56,032.032 INFO    ] No camera update needed
[2026-10-20 11:58:56,034.034 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:58:56,036.036 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:58:56,042.042 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:58:56,047.047 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:58:58,087.087 INFO    ] ================================================
[2026-10-20 11:58:58,102.102 INFO    ] Launching Daemon at Tue Oct 20 11:58:58 IST 2026
[2026-10-20 11:58:58,112.112 INFO    ] ================================================
[2026-10-20 11:58:58,679.679 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:58:58
[2026-10-20 11:58:59,263.263 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:58:59,530.530 INFO    ] Initializing speech engine...
[2026-10-20 11:58:59,543.543 INFO    ] 2026-10-20 11:58:59
[2026-10-20 11:58:59,816.816 INFO    ] 2026-10-20 11:58:59
[2026-10-20 11:58:59,873.873 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:59:00,099.099 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:59:00,105.105 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:59:00,291.291 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:59:00,352.352 INFO    ] time= 20/10/2026 11:59:00
[2026-10-20 11:59:00,369.369 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:59:00,387.387 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:59:00,511.511 INFO    ] No existing commands found in stream
[2026-10-20 11:59:05,533.533 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:59:05,536.536 INFO    ] Waiting 2.15 seconds before fallback handling...
[2026-10-20 11:59:08,195.195 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 11:59:08,198.198 INFO    ] Checking for system updates...
[2026-10-20 11:59:08,241.241 INFO    ] 200
[2026-10-20 11:59:08,243.243 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:59:08,308.308 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:59:08,312.312 INFO    ] No update needed
[2026-10-20 11:59:08,315.315 INFO    ] Checking for camera pi updates...
[2026-10-20 11:59:08,348.348 INFO    ] 200
[2026-10-20 11:59:08,350.350 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:59:08,391.391 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:59:08,440.440 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:59:08,442.442 INFO    ] No camera update needed
[2026-10-20 11:59:08,445.445 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:59:08,447.447 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:59:08,452.452 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:59:08,457.457 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:59:10,497.497 INFO    ] ================================================
[2026-10-20 11:59:10,512.512 INFO    ] Launching Daemon at Tue Oct 20 11:59:10 IST 2026
[2026-10-20 11:59:10,524.524 INFO    ] ================================================
[2026-10-20 11:59:11,090.090 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:59:11
[2026-10-20 11:59:11,692.692 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:59:11,991.991 INFO    ] Initializing speech engine...
[2026-10-20 11:59:11,998.998 INFO    ] 2026-10-20 11:59:11
[2026-10-20 11:59:12,274.274 INFO    ] 2026-10-20 11:59:12
[2026-10-20 11:59:12,329.329 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:59:12,582.582 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:59:12,601.601 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:59:12,816.816 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:59:12,824.824 INFO    ] time= 20/10/2026 11:59:12
[2026-10-20 11:59:12,842.842 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:59:12,865.865 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:59:12,979.979 INFO    ] No existing commands found in stream
[2026-10-20 11:59:18,000.000 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:59:18,003.003 INFO    ] Waiting 0.20 seconds before fallback handling...
[2026-10-20 11:59:18,704.704 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 11:59:18,707.707 INFO    ] Checking for system updates...
[2026-10-20 11:59:18,743.743 INFO    ] 200
[2026-10-20 11:59:18,745.745 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:59:18,797.797 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:59:18,800.800 INFO    ] No update needed
[2026-10-20 11:59:18,802.802 INFO    ] Checking for camera pi updates...
[2026-10-20 11:59:18,839.839 INFO    ] 200
[2026-10-20 11:59:18,842.842 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:59:18,882.882 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:59:18,938.938 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:59:18,941.941 INFO    ] No camera update needed
[2026-10-20 11:59:18,943.943 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:59:18,945.945 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:59:18,951.951 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:59:18,955.955 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:59:21,995.995 INFO    ] ================================================
[2026-10-20 11:59:21,010.010 INFO    ] Launching Daemon at Tue Oct 20 11:59:21 IST 2026
[2026-10-20 11:59:21,022.022 INFO    ] ================================================
[2026-10-20 11:59:21,602.602 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:59:21
[2026-10-20 11:59:22,199.199 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:59:22,470.470 INFO    ] Initializing speech engine...
[2026-10-20 11:59:22,480.480 INFO    ] 2026-10-20 11:59:22
[2026-10-20 11:59:22,734.734 INFO    ] 2026-10-20 11:59:22
[2026-10-20 11:59:22,770.770 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:59:23,014.014 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:59:23,023.023 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:59:23,157.157 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:59:23,217.217 INFO    ] time= 20/10/2026 11:59:23
[2026-10-20 11:59:23,267.267 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:59:23,289.289 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:59:23,420.420 INFO    ] No existing commands found in stream
[2026-10-20 11:59:28,445.445 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:59:28,447.447 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-10-20 11:59:30,019.019 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 11:59:30,022.022 INFO    ] Checking for system updates...
[2026-10-20 11:59:30,061.061 INFO    ] 200
[2026-10-20 11:59:30,064.064 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:59:30,115.115 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:59:30,118.118 INFO    ] No update needed
[2026-10-20 11:59:30,120.120 INFO    ] Checking for camera pi updates...
[2026-10-20 11:59:30,154.154 INFO    ] 200
[2026-10-20 11:59:30,157.157 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:59:30,198.198 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:59:30,246.246 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:59:30,249.249 INFO    ] No camera update needed
[2026-10-20 11:59:30,252.252 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:59:30,254.254 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:59:30,259.259 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:59:30,265.265 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:59:32,306.306 INFO    ] ================================================
[2026-10-20 11:59:32,323.323 INFO    ] Launching Daemon at Tue Oct 20 11:59:32 IST 2026
[2026-10-20 11:59:32,334.334 INFO    ] ================================================
[2026-10-20 11:59:32,947.947 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:59:32
[2026-10-20 11:59:33,549.549 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:59:33,826.826 INFO    ] Initializing speech engine...
[2026-10-20 11:59:33,833.833 INFO    ] 2026-10-20 11:59:33
[2026-10-20 11:59:34,084.084 INFO    ] 2026-10-20 11:59:34
[2026-10-20 11:59:34,120.120 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:59:34,373.373 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:59:34,383.383 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:59:34,519.519 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:59:34,579.579 INFO    ] time= 20/10/2026 11:59:34
[2026-10-20 11:59:34,629.629 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:59:34,650.650 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:59:34,735.735 INFO    ] No existing commands found in stream
[2026-10-20 11:59:39,744.744 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:59:39,747.747 INFO    ] Waiting 1.98 seconds before fallback handling...
[2026-10-20 11:59:42,216.216 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 11:59:42,219.219 INFO    ] Checking for system updates...
[2026-10-20 11:59:42,260.260 INFO    ] 200
[2026-10-20 11:59:42,263.263 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:59:42,323.323 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:59:42,326.326 INFO    ] No update needed
[2026-10-20 11:59:42,329.329 INFO    ] Checking for camera pi updates...
[2026-10-20 11:59:42,368.368 INFO    ] 200
[2026-10-20 11:59:42,371.371 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:59:42,410.410 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:59:42,555.555 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 11:59:42,557.557 INFO    ] No camera update needed
[2026-10-20 11:59:42,560.560 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:59:42,562.562 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:59:42,567.567 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:59:42,573.573 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:59:44,613.613 INFO    ] ================================================
[2026-10-20 11:59:44,629.629 INFO    ] Launching Daemon at Tue Oct 20 11:59:44 IST 2026
[2026-10-20 11:59:44,640.640 INFO    ] ================================================
[2026-10-20 11:59:45,300.300 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:59:45
[2026-10-20 11:59:45,974.974 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 11:59:46,281.281 INFO    ] Initializing speech engine...
[2026-10-20 11:59:46,294.294 INFO    ] 2026-10-20 11:59:46
[2026-10-20 11:59:46,608.608 INFO    ] 2026-10-20 11:59:46
[2026-10-20 11:59:46,690.690 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 11:59:46,904.904 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 11:59:46,909.909 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 11:59:47,104.104 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 11:59:47,111.111 INFO    ] time= 20/10/2026 11:59:47
[2026-10-20 11:59:47,130.130 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 11:59:47,160.160 INFO    ] Checking for existing commands in stream...
[2026-10-20 11:59:47,302.302 INFO    ] No existing commands found in stream
[2026-10-20 11:59:52,328.328 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 11:59:52,331.331 INFO    ] Waiting 3.93 seconds before fallback handling...
[2026-10-20 11:59:56,773.773 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 11:59:56,776.776 INFO    ] Checking for system updates...
[2026-10-20 11:59:56,813.813 INFO    ] 200
[2026-10-20 11:59:56,816.816 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:59:56,870.870 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:59:56,873.873 INFO    ] No update needed
[2026-10-20 11:59:56,875.875 INFO    ] Checking for camera pi updates...
[2026-10-20 11:59:56,911.911 INFO    ] 200
[2026-10-20 11:59:56,913.913 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 11:59:56,959.959 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 11:59:57,019.019 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 11:59:57,021.021 INFO    ] No camera update needed
[2026-10-20 11:59:57,024.024 INFO    ] Script finished. Safe exiting...
[2026-10-20 11:59:57,027.027 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 11:59:57,033.033 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 11:59:57,039.039 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 11:59:59,079.079 INFO    ] ================================================
[2026-10-20 11:59:59,095.095 INFO    ] Launching Daemon at Tue Oct 20 11:59:59 IST 2026
[2026-10-20 11:59:59,106.106 INFO    ] ================================================
[2026-10-20 11:59:59,765.765 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 11:59:59
[2026-10-20 12:00:00,437.437 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:00:00,740.740 INFO    ] Initializing speech engine...
[2026-10-20 12:00:00,753.753 INFO    ] 2026-10-20 12:00:00
[2026-10-20 12:00:01,039.039 INFO    ] 2026-10-20 12:00:01
[2026-10-20 12:00:01,148.148 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:00:01,358.358 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:00:01,367.367 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:00:01,536.536 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:00:01,553.553 INFO    ] time= 20/10/2026 12:00:01
[2026-10-20 12:00:01,583.583 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:00:01,594.594 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:00:01,700.700 INFO    ] No existing commands found in stream
[2026-10-20 12:00:06,727.727 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:00:06,738.738 INFO    ] Waiting 3.36 seconds before fallback handling...
[2026-10-20 12:00:10,610.610 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:00:10,612.612 INFO    ] Checking for system updates...
[2026-10-20 12:00:10,651.651 INFO    ] 200
[2026-10-20 12:00:10,654.654 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:00:10,705.705 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:00:10,708.708 INFO    ] No update needed
[2026-10-20 12:00:10,710.710 INFO    ] Checking for camera pi updates...
[2026-10-20 12:00:10,743.743 INFO    ] 200
[2026-10-20 12:00:10,746.746 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:00:10,787.787 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:00:10,837.837 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:00:10,840.840 INFO    ] No camera update needed
[2026-10-20 12:00:10,842.842 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:00:10,845.845 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:00:10,850.850 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:00:10,855.855 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:00:12,895.895 INFO    ] ================================================
[2026-10-20 12:00:12,911.911 INFO    ] Launching Daemon at Tue Oct 20 12:00:12 IST 2026
[2026-10-20 12:00:12,922.922 INFO    ] ================================================
[2026-10-20 12:00:13,574.574 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:00:13
[2026-10-20 12:00:14,246.246 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:00:14,554.554 INFO    ] Initializing speech engine...
[2026-10-20 12:00:14,566.566 INFO    ] 2026-10-20 12:00:14
[2026-10-20 12:00:14,873.873 INFO    ] 2026-10-20 12:00:14
[2026-10-20 12:00:14,912.912 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:00:15,139.139 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:00:15,144.144 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:00:15,297.297 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:00:15,342.342 INFO    ] time= 20/10/2026 12:00:15
[2026-10-20 12:00:15,386.386 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:00:15,435.435 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:00:15,578.578 INFO    ] No existing commands found in stream
[2026-10-20 12:00:20,596.596 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:00:20,599.599 INFO    ] Waiting 0.02 seconds before fallback handling...
[2026-10-20 12:00:21,111.111 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:00:21,114.114 INFO    ] Checking for system updates...
[2026-10-20 12:00:21,151.151 INFO    ] 200
[2026-10-20 12:00:21,153.153 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:00:21,213.213 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:00:21,216.216 INFO    ] No update needed
[2026-10-20 12:00:21,223.223 INFO    ] Checking for camera pi updates...
[2026-10-20 12:00:21,257.257 INFO    ] 200
[2026-10-20 12:00:21,260.260 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:00:21,310.310 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:00:21,359.359 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:00:21,362.362 INFO    ] No camera update needed
[2026-10-20 12:00:21,365.365 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:00:21,367.367 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:00:21,374.374 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:00:21,379.379 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:00:23,420.420 INFO    ] ================================================
[2026-10-20 12:00:23,436.436 INFO    ] Launching Daemon at Tue Oct 20 12:00:23 IST 2026
[2026-10-20 12:00:23,447.447 INFO    ] ================================================
[2026-10-20 12:00:24,014.014 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:00:24
[2026-10-20 12:00:24,599.599 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:00:24,853.853 INFO    ] Initializing speech engine...
[2026-10-20 12:00:24,862.862 INFO    ] 2026-10-20 12:00:24
[2026-10-20 12:00:25,159.159 INFO    ] 2026-10-20 12:00:25
[2026-10-20 12:00:25,196.196 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:00:25,391.391 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:00:25,404.404 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:00:25,568.568 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:00:25,573.573 INFO    ] time= 20/10/2026 12:00:25
[2026-10-20 12:00:25,582.582 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:00:25,628.628 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:00:25,765.765 INFO    ] No existing commands found in stream
[2026-10-20 12:00:30,790.790 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:00:30,793.793 INFO    ] Waiting 1.18 seconds before fallback handling...
[2026-10-20 12:00:32,491.491 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 12:00:32,494.494 INFO    ] Checking for system updates...
[2026-10-20 12:00:32,533.533 INFO    ] 200
[2026-10-20 12:00:32,536.536 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:00:32,594.594 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:00:32,597.597 INFO    ] No update needed
[2026-10-20 12:00:32,600.600 INFO    ] Checking for camera pi updates...
[2026-10-20 12:00:32,636.636 INFO    ] 200
[2026-10-20 12:00:32,640.640 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:00:32,694.694 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:00:32,732.732 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:00:32,736.736 INFO    ] No camera update needed
[2026-10-20 12:00:32,740.740 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:00:32,743.743 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:00:32,752.752 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:00:32,757.757 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:00:34,798.798 INFO    ] ================================================
[2026-10-20 12:00:34,814.814 INFO    ] Launching Daemon at Tue Oct 20 12:00:34 IST 2026
[2026-10-20 12:00:34,825.825 INFO    ] ================================================
[2026-10-20 12:00:35,406.406 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:00:35
[2026-10-20 12:00:36,015.015 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:00:36,299.299 INFO    ] Initializing speech engine...
[2026-10-20 12:00:36,307.307 INFO    ] 2026-10-20 12:00:36
[2026-10-20 12:00:36,573.573 INFO    ] 2026-10-20 12:00:36
[2026-10-20 12:00:36,611.611 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:00:36,805.805 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:00:36,818.818 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:00:36,981.981 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:00:36,991.991 INFO    ] time= 20/10/2026 12:00:36
[2026-10-20 12:00:37,034.034 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:00:37,066.066 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:00:37,204.204 INFO    ] No existing commands found in stream
[2026-10-20 12:00:42,218.218 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:00:42,221.221 INFO    ] Waiting 1.68 seconds before fallback handling...
[2026-10-20 12:00:44,378.378 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:00:44,380.380 INFO    ] Checking for system updates...
[2026-10-20 12:00:44,416.416 INFO    ] 200
[2026-10-20 12:00:44,418.418 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:00:44,470.470 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:00:44,472.472 INFO    ] No update needed
[2026-10-20 12:00:44,475.475 INFO    ] Checking for camera pi updates...
[2026-10-20 12:00:44,507.507 INFO    ] 200
[2026-10-20 12:00:44,510.510 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:00:44,550.550 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:00:44,606.606 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:00:44,609.609 INFO    ] No camera update needed
[2026-10-20 12:00:44,611.611 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:00:44,614.614 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:00:44,619.619 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:00:44,624.624 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:00:46,663.663 INFO    ] ================================================
[2026-10-20 12:00:46,678.678 INFO    ] Launching Daemon at Tue Oct 20 12:00:46 IST 2026
[2026-10-20 12:00:46,689.689 INFO    ] ================================================
[2026-10-20 12:00:47,344.344 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:00:47
[2026-10-20 12:00:47,941.941 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:00:48,192.192 INFO    ] Initializing speech engine...
[2026-10-20 12:00:48,207.207 INFO    ] 2026-10-20 12:00:48
[2026-10-20 12:00:48,474.474 INFO    ] 2026-10-20 12:00:48
[2026-10-20 12:00:48,510.510 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:00:48,755.755 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:00:48,776.776 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:00:48,981.981 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:00:49,042.042 INFO    ] time= 20/10/2026 12:00:48
[2026-10-20 12:00:49,050.050 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:00:49,066.066 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:00:49,201.201 INFO    ] No existing commands found in stream
[2026-10-20 12:00:54,215.215 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:00:54,217.217 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-10-20 12:00:56,712.712 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:00:56,714.714 INFO    ] Checking for system updates...
[2026-10-20 12:00:56,753.753 INFO    ] 200
[2026-10-20 12:00:56,755.755 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:00:56,807.807 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:00:56,810.810 INFO    ] No update needed
[2026-10-20 12:00:56,813.813 INFO    ] Checking for camera pi updates...
[2026-10-20 12:00:56,848.848 INFO    ] 200
[2026-10-20 12:00:56,851.851 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:00:56,892.892 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:00:56,941.941 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:00:56,944.944 INFO    ] No camera update needed
[2026-10-20 12:00:56,947.947 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:00:56,949.949 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:00:56,955.955 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:00:56,961.961 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:00:59,003.003 INFO    ] ================================================
[2026-10-20 12:00:59,017.017 INFO    ] Launching Daemon at Tue Oct 20 12:00:59 IST 2026
[2026-10-20 12:00:59,028.028 INFO    ] ================================================
[2026-10-20 12:00:59,594.594 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:00:59
[2026-10-20 12:01:00,179.179 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:01:00,441.441 INFO    ] Initializing speech engine...
[2026-10-20 12:01:00,460.460 INFO    ] 2026-10-20 12:01:00
[2026-10-20 12:01:00,711.711 INFO    ] 2026-10-20 12:01:00
[2026-10-20 12:01:00,746.746 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:01:00,944.944 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:01:00,989.989 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:01:01,182.182 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:01:01,248.248 INFO    ] time= 20/10/2026 12:01:01
[2026-10-20 12:01:01,281.281 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:01:01,287.287 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:01:01,432.432 INFO    ] No existing commands found in stream
[2026-10-20 12:01:06,447.447 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:01:06,450.450 INFO    ] Waiting 2.90 seconds before fallback handling...
[2026-10-20 12:01:09,835.835 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:01:09,838.838 INFO    ] Checking for system updates...
[2026-10-20 12:01:09,873.873 INFO    ] 200
[2026-10-20 12:01:09,875.875 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:01:09,933.933 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:01:09,935.935 INFO    ] No update needed
[2026-10-20 12:01:09,938.938 INFO    ] Checking for camera pi updates...
[2026-10-20 12:01:09,970.970 INFO    ] 200
[2026-10-20 12:01:09,973.973 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:01:10,012.012 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:01:10,061.061 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:01:10,063.063 INFO    ] No camera update needed
[2026-10-20 12:01:10,066.066 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:01:10,068.068 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:01:10,073.073 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:01:10,078.078 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:01:12,119.119 INFO    ] ================================================
[2026-10-20 12:01:12,134.134 INFO    ] Launching Daemon at Tue Oct 20 12:01:12 IST 2026
[2026-10-20 12:01:12,145.145 INFO    ] ================================================
[2026-10-20 12:01:12,712.712 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:01:12
[2026-10-20 12:01:13,299.299 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:01:13,574.574 INFO    ] Initializing speech engine...
[2026-10-20 12:01:13,579.579 INFO    ] 2026-10-20 12:01:13
[2026-10-20 12:01:13,828.828 INFO    ] 2026-10-20 12:01:13
[2026-10-20 12:01:13,863.863 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:01:14,061.061 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:01:14,083.083 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:01:14,267.267 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:01:14,307.307 INFO    ] time= 20/10/2026 12:01:14
[2026-10-20 12:01:14,356.356 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:01:14,401.401 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:01:14,522.522 INFO    ] No existing commands found in stream
[2026-10-20 12:01:19,547.547 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:01:19,550.550 INFO    ] Waiting 2.46 seconds before fallback handling...
[2026-10-20 12:01:22,507.507 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 12:01:22,510.510 INFO    ] Checking for system updates...
[2026-10-20 12:01:22,545.545 INFO    ] 200
[2026-10-20 12:01:22,548.548 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:01:22,600.600 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:01:22,603.603 INFO    ] No update needed
[2026-10-20 12:01:22,605.605 INFO    ] Checking for camera pi updates...
[2026-10-20 12:01:22,642.642 INFO    ] 200
[2026-10-20 12:01:22,644.644 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:01:22,684.684 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:01:22,736.736 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:01:22,738.738 INFO    ] No camera update needed
[2026-10-20 12:01:22,741.741 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:01:22,743.743 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:01:22,748.748 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:01:22,753.753 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:01:24,793.793 INFO    ] ================================================
[2026-10-20 12:01:24,808.808 INFO    ] Launching Daemon at Tue Oct 20 12:01:24 IST 2026
[2026-10-20 12:01:24,819.819 INFO    ] ================================================
[2026-10-20 12:01:25,399.399 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:01:25
[2026-10-20 12:01:25,989.989 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:01:26,264.264 INFO    ] Initializing speech engine...
[2026-10-20 12:01:26,273.273 INFO    ] 2026-10-20 12:01:26
[2026-10-20 12:01:26,525.525 INFO    ] 2026-10-20 12:01:26
[2026-10-20 12:01:26,558.558 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:01:26,746.746 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:01:26,764.764 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:01:26,963.963 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:01:26,984.984 INFO    ] time= 20/10/2026 12:01:26
[2026-10-20 12:01:27,039.039 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:01:27,089.089 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:01:27,221.221 INFO    ] No existing commands found in stream
[2026-10-20 12:01:32,242.242 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:01:32,245.245 INFO    ] Waiting 3.72 seconds before fallback handling...
[2026-10-20 12:01:36,494.494 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 12:01:36,496.496 INFO    ] Checking for system updates...
[2026-10-20 12:01:36,532.532 INFO    ] 200
[2026-10-20 12:01:36,534.534 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:01:36,585.585 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:01:36,588.588 INFO    ] No update needed
[2026-10-20 12:01:36,590.590 INFO    ] Checking for camera pi updates...
[2026-10-20 12:01:36,625.625 INFO    ] 200
[2026-10-20 12:01:36,628.628 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:01:36,667.667 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:01:36,721.721 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:01:36,726.726 INFO    ] No camera update needed
[2026-10-20 12:01:36,730.730 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:01:36,732.732 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:01:36,737.737 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:01:36,742.742 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:01:38,783.783 INFO    ] ================================================
[2026-10-20 12:01:38,797.797 INFO    ] Launching Daemon at Tue Oct 20 12:01:38 IST 2026
[2026-10-20 12:01:38,808.808 INFO    ] ================================================
[2026-10-20 12:01:39,411.411 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:01:39
[2026-10-20 12:01:40,074.074 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:01:40,385.385 INFO    ] Initializing speech engine...
[2026-10-20 12:01:40,397.397 INFO    ] 2026-10-20 12:01:40
[2026-10-20 12:01:40,705.705 INFO    ] 2026-10-20 12:01:40
[2026-10-20 12:01:40,740.740 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:01:40,950.950 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:01:40,956.956 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:01:41,176.176 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:01:41,219.219 INFO    ] time= 20/10/2026 12:01:41
[2026-10-20 12:01:41,235.235 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:01:41,255.255 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:01:41,383.383 INFO    ] No existing commands found in stream
[2026-10-20 12:01:46,410.410 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:01:46,413.413 INFO    ] Waiting 2.00 seconds before fallback handling...
[2026-10-20 12:01:48,924.924 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:01:48,927.927 INFO    ] Checking for system updates...
[2026-10-20 12:01:48,967.967 INFO    ] 200
[2026-10-20 12:01:48,970.970 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:01:49,024.024 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:01:49,027.027 INFO    ] No update needed
[2026-10-20 12:01:49,030.030 INFO    ] Checking for camera pi updates...
[2026-10-20 12:01:49,064.064 INFO    ] 200
[2026-10-20 12:01:49,066.066 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:01:49,107.107 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:01:49,254.254 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:01:49,257.257 INFO    ] No camera update needed
[2026-10-20 12:01:49,260.260 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:01:49,262.262 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:01:49,269.269 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:01:49,274.274 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:01:51,315.315 INFO    ] ================================================
[2026-10-20 12:01:51,330.330 INFO    ] Launching Daemon at Tue Oct 20 12:01:51 IST 2026
[2026-10-20 12:01:51,341.341 INFO    ] ================================================
[2026-10-20 12:01:51,959.959 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:01:51
[2026-10-20 12:01:52,599.599 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:01:52,861.861 INFO    ] Initializing speech engine...
[2026-10-20 12:01:52,889.889 INFO    ] 2026-10-20 12:01:52
[2026-10-20 12:01:53,155.155 INFO    ] 2026-10-20 12:01:53
[2026-10-20 12:01:53,200.200 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:01:53,458.458 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:01:53,463.463 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:01:53,669.669 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:01:53,728.728 INFO    ] time= 20/10/2026 12:01:53
[2026-10-20 12:01:53,735.735 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:01:53,754.754 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:01:53,889.889 INFO    ] No existing commands found in stream
[2026-10-20 12:01:58,910.910 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:01:58,913.913 INFO    ] Waiting 2.98 seconds before fallback handling...
[2026-10-20 12:02:02,442.442 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 12:02:02,446.446 INFO    ] Checking for system updates...
[2026-10-20 12:02:02,486.486 INFO    ] 200
[2026-10-20 12:02:02,489.489 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:02:02,549.549 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:02:02,552.552 INFO    ] No update needed
[2026-10-20 12:02:02,555.555 INFO    ] Checking for camera pi updates...
[2026-10-20 12:02:02,594.594 INFO    ] 200
[2026-10-20 12:02:02,597.597 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:02:02,644.644 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:02:02,679.679 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:02:02,682.682 INFO    ] No camera update needed
[2026-10-20 12:02:02,685.685 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:02:02,688.688 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:02:02,695.695 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:02:02,701.701 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:02:04,743.743 INFO    ] ================================================
[2026-10-20 12:02:04,757.757 INFO    ] Launching Daemon at Tue Oct 20 12:02:04 IST 2026
[2026-10-20 12:02:04,768.768 INFO    ] ================================================
[2026-10-20 12:02:05,341.341 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:02:05
[2026-10-20 12:02:05,973.973 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:02:06,272.272 INFO    ] Initializing speech engine...
[2026-10-20 12:02:06,279.279 INFO    ] 2026-10-20 12:02:06
[2026-10-20 12:02:06,570.570 INFO    ] 2026-10-20 12:02:06
[2026-10-20 12:02:06,607.607 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:02:06,840.840 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:02:06,862.862 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:02:07,075.075 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:02:07,109.109 INFO    ] time= 20/10/2026 12:02:07
[2026-10-20 12:02:07,126.126 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:02:07,135.135 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:02:07,262.262 INFO    ] No existing commands found in stream
[2026-10-20 12:02:12,280.280 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:02:12,283.283 INFO    ] Waiting 3.46 seconds before fallback handling...
[2026-10-20 12:02:16,274.274 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:02:16,277.277 INFO    ] Checking for system updates...
[2026-10-20 12:02:16,313.313 INFO    ] 200
[2026-10-20 12:02:16,316.316 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:02:16,368.368 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:02:16,371.371 INFO    ] No update needed
[2026-10-20 12:02:16,373.373 INFO    ] Checking for camera pi updates...
[2026-10-20 12:02:16,406.406 INFO    ] 200
[2026-10-20 12:02:16,409.409 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:02:16,451.451 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:02:16,498.498 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:02:16,501.501 INFO    ] No camera update needed
[2026-10-20 12:02:16,503.503 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:02:16,505.505 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:02:16,510.510 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:02:16,515.515 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:02:18,554.554 INFO    ] ================================================
[2026-10-20 12:02:18,569.569 INFO    ] Launching Daemon at Tue Oct 20 12:02:18 IST 2026
[2026-10-20 12:02:18,580.580 INFO    ] ================================================
[2026-10-20 12:02:19,159.159 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:02:19
[2026-10-20 12:02:19,756.756 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:02:20,032.032 INFO    ] Initializing speech engine...
[2026-10-20 12:02:20,041.041 INFO    ] 2026-10-20 12:02:20
[2026-10-20 12:02:20,299.299 INFO    ] 2026-10-20 12:02:20
[2026-10-20 12:02:20,353.353 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:02:20,579.579 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:02:20,584.584 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:02:20,781.781 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:02:20,841.841 INFO    ] time= 20/10/2026 12:02:20
[2026-10-20 12:02:20,848.848 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:02:20,866.866 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:02:20,995.995 INFO    ] No existing commands found in stream
[2026-10-20 12:02:26,015.015 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:02:26,018.018 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-10-20 12:02:29,641.641 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:02:29,644.644 INFO    ] Checking for system updates...
[2026-10-20 12:02:29,688.688 INFO    ] 200
[2026-10-20 12:02:29,691.691 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:02:29,742.742 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:02:29,745.745 INFO    ] No update needed
[2026-10-20 12:02:29,747.747 INFO    ] Checking for camera pi updates...
[2026-10-20 12:02:29,780.780 INFO    ] 200
[2026-10-20 12:02:29,783.783 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:02:29,827.827 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:02:29,878.878 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:02:29,881.881 INFO    ] No camera update needed
[2026-10-20 12:02:29,883.883 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:02:29,885.885 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:02:29,891.891 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:02:29,896.896 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:02:31,938.938 INFO    ] ================================================
[2026-10-20 12:02:31,955.955 INFO    ] Launching Daemon at Tue Oct 20 12:02:31 IST 2026
[2026-10-20 12:02:31,966.966 INFO    ] ================================================
[2026-10-20 12:02:32,646.646 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:02:32
[2026-10-20 12:02:33,295.295 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:02:33,551.551 INFO    ] Initializing speech engine...
[2026-10-20 12:02:33,556.556 INFO    ] 2026-10-20 12:02:33
[2026-10-20 12:02:33,845.845 INFO    ] 2026-10-20 12:02:33
[2026-10-20 12:02:33,879.879 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:02:34,076.076 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:02:34,089.089 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:02:34,252.252 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:02:34,257.257 INFO    ] time= 20/10/2026 12:02:34
[2026-10-20 12:02:34,264.264 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:02:34,321.321 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:02:34,462.462 INFO    ] No existing commands found in stream
[2026-10-20 12:02:39,487.487 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:02:39,490.490 INFO    ] Waiting 2.62 seconds before fallback handling...
[2026-10-20 12:02:42,584.584 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:02:42,586.586 INFO    ] Checking for system updates...
[2026-10-20 12:02:42,621.621 INFO    ] 200
[2026-10-20 12:02:42,624.624 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:02:42,675.675 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:02:42,678.678 INFO    ] No update needed
[2026-10-20 12:02:42,680.680 INFO    ] Checking for camera pi updates...
[2026-10-20 12:02:42,714.714 INFO    ] 200
[2026-10-20 12:02:42,716.716 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:02:42,757.757 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:02:42,807.807 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:02:42,810.810 INFO    ] No camera update needed
[2026-10-20 12:02:42,812.812 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:02:42,815.815 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:02:42,820.820 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:02:42,825.825 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:02:44,864.864 INFO    ] ================================================
[2026-10-20 12:02:44,879.879 INFO    ] Launching Daemon at Tue Oct 20 12:02:44 IST 2026
[2026-10-20 12:02:44,890.890 INFO    ] ================================================
[2026-10-20 12:02:45,460.460 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:02:45
[2026-10-20 12:02:46,047.047 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:02:46,325.325 INFO    ] Initializing speech engine...
[2026-10-20 12:02:46,335.335 INFO    ] 2026-10-20 12:02:46
[2026-10-20 12:02:46,584.584 INFO    ] 2026-10-20 12:02:46
[2026-10-20 12:02:46,620.620 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:02:46,864.864 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:02:46,890.890 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:02:47,106.106 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:02:47,156.156 INFO    ] time= 20/10/2026 12:02:47
[2026-10-20 12:02:47,170.170 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:02:47,187.187 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:02:47,324.324 INFO    ] No existing commands found in stream
[2026-10-20 12:02:52,346.346 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:02:52,349.349 INFO    ] Waiting 0.22 seconds before fallback handling...
[2026-10-20 12:02:53,031.031 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 12:02:53,033.033 INFO    ] Checking for system updates...
[2026-10-20 12:02:53,072.072 INFO    ] 200
[2026-10-20 12:02:53,074.074 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:02:53,125.125 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:02:53,127.127 INFO    ] No update needed
[2026-10-20 12:02:53,130.130 INFO    ] Checking for camera pi updates...
[2026-10-20 12:02:53,164.164 INFO    ] 200
[2026-10-20 12:02:53,166.166 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:02:53,206.206 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:02:53,257.257 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:02:53,259.259 INFO    ] No camera update needed
[2026-10-20 12:02:53,262.262 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:02:53,264.264 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:02:53,269.269 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:02:53,274.274 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:02:55,314.314 INFO    ] ================================================
[2026-10-20 12:02:55,330.330 INFO    ] Launching Daemon at Tue Oct 20 12:02:55 IST 2026
[2026-10-20 12:02:55,344.344 INFO    ] ================================================
[2026-10-20 12:02:55,911.911 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:02:55
[2026-10-20 12:02:56,495.495 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:02:56,766.766 INFO    ] Initializing speech engine...
[2026-10-20 12:02:56,776.776 INFO    ] 2026-10-20 12:02:56
[2026-10-20 12:02:57,026.026 INFO    ] 2026-10-20 12:02:57
[2026-10-20 12:02:57,061.061 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:02:57,322.322 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:02:57,327.327 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:02:57,521.521 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:02:57,575.575 INFO    ] time= 20/10/2026 12:02:57
[2026-10-20 12:02:57,623.623 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:02:57,630.630 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:02:57,761.761 INFO    ] No existing commands found in stream
[2026-10-20 12:03:02,786.786 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:03:02,790.790 INFO    ] Waiting 0.67 seconds before fallback handling...
[2026-10-20 12:03:03,949.949 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:03:03,952.952 INFO    ] Checking for system updates...
[2026-10-20 12:03:03,987.987 INFO    ] 200
[2026-10-20 12:03:03,990.990 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:03:04,041.041 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:03:04,043.043 INFO    ] No update needed
[2026-10-20 12:03:04,046.046 INFO    ] Checking for camera pi updates...
[2026-10-20 12:03:04,082.082 INFO    ] 200
[2026-10-20 12:03:04,085.085 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:03:04,125.125 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:03:04,172.172 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:03:04,174.174 INFO    ] No camera update needed
[2026-10-20 12:03:04,176.176 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:03:04,179.179 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:03:04,184.184 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:03:04,189.189 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:03:06,229.229 INFO    ] ================================================
[2026-10-20 12:03:06,244.244 INFO    ] Launching Daemon at Tue Oct 20 12:03:06 IST 2026
[2026-10-20 12:03:06,254.254 INFO    ] ================================================
[2026-10-20 12:03:06,834.834 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:03:06
[2026-10-20 12:03:07,440.440 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:03:07,695.695 INFO    ] Initializing speech engine...
[2026-10-20 12:03:07,702.702 INFO    ] 2026-10-20 12:03:07
[2026-10-20 12:03:07,997.997 INFO    ] 2026-10-20 12:03:07
[2026-10-20 12:03:08,032.032 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:03:08,231.231 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:03:08,236.236 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:03:08,407.407 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:03:08,418.418 INFO    ] time= 20/10/2026 12:03:08
[2026-10-20 12:03:08,422.422 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:03:08,429.429 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:03:08,550.550 INFO    ] No existing commands found in stream
[2026-10-20 12:03:13,575.575 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:03:13,578.578 INFO    ] Waiting 0.77 seconds before fallback handling...
[2026-10-20 12:03:14,802.802 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 12:03:14,805.805 INFO    ] Checking for system updates...
[2026-10-20 12:03:14,843.843 INFO    ] 200
[2026-10-20 12:03:14,846.846 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:03:14,898.898 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:03:14,901.901 INFO    ] No update needed
[2026-10-20 12:03:14,903.903 INFO    ] Checking for camera pi updates...
[2026-10-20 12:03:14,937.937 INFO    ] 200
[2026-10-20 12:03:14,939.939 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:03:14,983.983 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:03:15,037.037 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:03:15,040.040 INFO    ] No camera update needed
[2026-10-20 12:03:15,043.043 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:03:15,045.045 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:03:15,050.050 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:03:15,055.055 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:03:17,095.095 INFO    ] ================================================
[2026-10-20 12:03:17,110.110 INFO    ] Launching Daemon at Tue Oct 20 12:03:17 IST 2026
[2026-10-20 12:03:17,121.121 INFO    ] ================================================
[2026-10-20 12:03:17,772.772 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:03:17
[2026-10-20 12:03:18,442.442 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:03:18,748.748 INFO    ] Initializing speech engine...
[2026-10-20 12:03:18,760.760 INFO    ] 2026-10-20 12:03:18
[2026-10-20 12:03:19,069.069 INFO    ] 2026-10-20 12:03:19
[2026-10-20 12:03:19,154.154 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:03:19,365.365 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:03:19,374.374 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:03:19,573.573 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:03:19,595.595 INFO    ] time= 20/10/2026 12:03:19
[2026-10-20 12:03:19,622.622 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:03:19,631.631 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:03:19,758.758 INFO    ] No existing commands found in stream
[2026-10-20 12:03:24,794.794 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:03:24,797.797 INFO    ] Waiting 3.28 seconds before fallback handling...
[2026-10-20 12:03:28,587.587 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:03:28,591.591 INFO    ] Checking for system updates...
[2026-10-20 12:03:28,633.633 INFO    ] 200
[2026-10-20 12:03:28,635.635 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:03:28,688.688 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:03:28,691.691 INFO    ] No update needed
[2026-10-20 12:03:28,694.694 INFO    ] Checking for camera pi updates...
[2026-10-20 12:03:28,731.731 INFO    ] 200
[2026-10-20 12:03:28,733.733 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:03:28,774.774 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:03:28,825.825 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:03:28,828.828 INFO    ] No camera update needed
[2026-10-20 12:03:28,830.830 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:03:28,833.833 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:03:28,838.838 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:03:28,843.843 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:03:30,883.883 INFO    ] ================================================
[2026-10-20 12:03:30,900.900 INFO    ] Launching Daemon at Tue Oct 20 12:03:30 IST 2026
[2026-10-20 12:03:30,911.911 INFO    ] ================================================
[2026-10-20 12:03:31,569.569 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:03:31
[2026-10-20 12:03:32,303.303 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:03:32,646.646 INFO    ] Initializing speech engine...
[2026-10-20 12:03:32,656.656 INFO    ] 2026-10-20 12:03:32
[2026-10-20 12:03:32,984.984 INFO    ] 2026-10-20 12:03:32
[2026-10-20 12:03:33,067.067 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:03:33,255.255 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:03:33,260.260 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:03:33,425.425 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:03:33,428.428 INFO    ] time= 20/10/2026 12:03:33
[2026-10-20 12:03:33,488.488 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:03:33,508.508 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:03:33,650.650 INFO    ] No existing commands found in stream
[2026-10-20 12:03:38,666.666 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:03:38,669.669 INFO    ] Waiting 3.85 seconds before fallback handling...
[2026-10-20 12:03:43,002.002 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:03:43,005.005 INFO    ] Checking for system updates...
[2026-10-20 12:03:43,041.041 INFO    ] 200
[2026-10-20 12:03:43,044.044 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:03:43,104.104 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:03:43,107.107 INFO    ] No update needed
[2026-10-20 12:03:43,109.109 INFO    ] Checking for camera pi updates...
[2026-10-20 12:03:43,144.144 INFO    ] 200
[2026-10-20 12:03:43,147.147 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:03:43,192.192 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:03:43,243.243 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:03:43,246.246 INFO    ] No camera update needed
[2026-10-20 12:03:43,249.249 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:03:43,251.251 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:03:43,258.258 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:03:43,263.263 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:03:45,304.304 INFO    ] ================================================
[2026-10-20 12:03:45,319.319 INFO    ] Launching Daemon at Tue Oct 20 12:03:45 IST 2026
[2026-10-20 12:03:45,330.330 INFO    ] ================================================
[2026-10-20 12:03:45,897.897 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:03:45
[2026-10-20 12:03:46,481.481 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:03:46,728.728 INFO    ] Initializing speech engine...
[2026-10-20 12:03:46,736.736 INFO    ] 2026-10-20 12:03:46
[2026-10-20 12:03:47,011.011 INFO    ] 2026-10-20 12:03:46
[2026-10-20 12:03:47,045.045 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:03:47,268.268 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:03:47,276.276 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:03:47,422.422 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:03:47,426.426 INFO    ] time= 20/10/2026 12:03:47
[2026-10-20 12:03:47,432.432 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:03:47,454.454 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:03:47,601.601 INFO    ] No existing commands found in stream
[2026-10-20 12:03:52,626.626 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:03:52,629.629 INFO    ] Waiting 0.16 seconds before fallback handling...
[2026-10-20 12:03:53,306.306 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:03:53,309.309 INFO    ] Checking for system updates...
[2026-10-20 12:03:53,345.345 INFO    ] 200
[2026-10-20 12:03:53,348.348 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:03:53,401.401 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:03:53,404.404 INFO    ] No update needed
[2026-10-20 12:03:53,407.407 INFO    ] Checking for camera pi updates...
[2026-10-20 12:03:53,444.444 INFO    ] 200
[2026-10-20 12:03:53,447.447 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:03:53,487.487 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:03:53,635.635 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:03:53,637.637 INFO    ] No camera update needed
[2026-10-20 12:03:53,640.640 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:03:53,643.643 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:03:53,649.649 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:03:53,655.655 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:03:55,694.694 INFO    ] ================================================
[2026-10-20 12:03:55,710.710 INFO    ] Launching Daemon at Tue Oct 20 12:03:55 IST 2026
[2026-10-20 12:03:55,720.720 INFO    ] ================================================
[2026-10-20 12:03:56,300.300 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:03:56
[2026-10-20 12:03:56,883.883 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:03:57,155.155 INFO    ] Initializing speech engine...
[2026-10-20 12:03:57,159.159 INFO    ] 2026-10-20 12:03:57
[2026-10-20 12:03:57,403.403 INFO    ] 2026-10-20 12:03:57
[2026-10-20 12:03:57,439.439 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:03:57,691.691 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:03:57,700.700 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:03:57,896.896 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:03:57,946.946 INFO    ] time= 20/10/2026 12:03:57
[2026-10-20 12:03:57,963.963 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:03:57,969.969 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:03:58,111.111 INFO    ] No existing commands found in stream
[2026-10-20 12:04:03,121.121 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:04:03,124.124 INFO    ] Waiting 0.28 seconds before fallback handling...
[2026-10-20 12:04:03,895.895 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 12:04:03,899.899 INFO    ] Checking for system updates...
[2026-10-20 12:04:03,934.934 INFO    ] 200
[2026-10-20 12:04:03,936.936 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:04:03,994.994 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:04:03,996.996 INFO    ] No update needed
[2026-10-20 12:04:03,999.999 INFO    ] Checking for camera pi updates...
[2026-10-20 12:04:04,032.032 INFO    ] 200
[2026-10-20 12:04:04,034.034 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:04:04,074.074 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:04:04,132.132 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:04:04,134.134 INFO    ] No camera update needed
[2026-10-20 12:04:04,136.136 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:04:04,139.139 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:04:04,144.144 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:04:04,149.149 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:04:06,188.188 INFO    ] ================================================
[2026-10-20 12:04:06,202.202 INFO    ] Launching Daemon at Tue Oct 20 12:04:06 IST 2026
[2026-10-20 12:04:06,213.213 INFO    ] ================================================
[2026-10-20 12:04:06,790.790 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:04:06
[2026-10-20 12:04:07,372.372 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:04:07,650.650 INFO    ] Initializing speech engine...
[2026-10-20 12:04:07,659.659 INFO    ] 2026-10-20 12:04:07
[2026-10-20 12:04:07,906.906 INFO    ] 2026-10-20 12:04:07
[2026-10-20 12:04:07,942.942 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:04:08,142.142 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:04:08,201.201 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:04:08,353.353 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:04:08,413.413 INFO    ] time= 20/10/2026 12:04:08
[2026-10-20 12:04:08,462.462 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:04:08,482.482 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:04:08,601.601 INFO    ] No existing commands found in stream
[2026-10-20 12:04:13,626.626 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:04:13,629.629 INFO    ] Waiting 1.43 seconds before fallback handling...
[2026-10-20 12:04:15,537.537 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:04:15,540.540 INFO    ] Checking for system updates...
[2026-10-20 12:04:15,575.575 INFO    ] 200
[2026-10-20 12:04:15,578.578 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:04:15,634.634 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:04:15,636.636 INFO    ] No update needed
[2026-10-20 12:04:15,638.638 INFO    ] Checking for camera pi updates...
[2026-10-20 12:04:15,675.675 INFO    ] 200
[2026-10-20 12:04:15,678.678 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:04:15,722.722 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:04:15,768.768 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:04:15,770.770 INFO    ] No camera update needed
[2026-10-20 12:04:15,773.773 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:04:15,775.775 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:04:15,780.780 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:04:15,785.785 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:04:17,826.826 INFO    ] ================================================
[2026-10-20 12:04:17,841.841 INFO    ] Launching Daemon at Tue Oct 20 12:04:17 IST 2026
[2026-10-20 12:04:17,852.852 INFO    ] ================================================
[2026-10-20 12:04:18,460.460 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:04:18
[2026-10-20 12:04:19,074.074 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:04:19,374.374 INFO    ] Initializing speech engine...
[2026-10-20 12:04:19,391.391 INFO    ] 2026-10-20 12:04:19
[2026-10-20 12:04:19,659.659 INFO    ] 2026-10-20 12:04:19
[2026-10-20 12:04:19,694.694 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:04:19,944.944 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:04:19,952.952 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:04:20,086.086 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:04:20,140.140 INFO    ] time= 20/10/2026 12:04:20
[2026-10-20 12:04:20,190.190 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:04:20,215.215 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:04:20,358.358 INFO    ] No existing commands found in stream
[2026-10-20 12:04:25,374.374 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:04:25,377.377 INFO    ] Waiting 0.28 seconds before fallback handling...
[2026-10-20 12:04:26,160.160 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 12:04:26,163.163 INFO    ] Checking for system updates...
[2026-10-20 12:04:26,199.199 INFO    ] 200
[2026-10-20 12:04:26,201.201 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:04:26,257.257 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:04:26,259.259 INFO    ] No update needed
[2026-10-20 12:04:26,262.262 INFO    ] Checking for camera pi updates...
[2026-10-20 12:04:26,299.299 INFO    ] 200
[2026-10-20 12:04:26,301.301 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:04:26,346.346 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:04:26,391.391 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:04:26,394.394 INFO    ] No camera update needed
[2026-10-20 12:04:26,396.396 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:04:26,398.398 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:04:26,404.404 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:04:26,409.409 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:04:28,447.447 INFO    ] ================================================
[2026-10-20 12:04:28,462.462 INFO    ] Launching Daemon at Tue Oct 20 12:04:28 IST 2026
[2026-10-20 12:04:28,473.473 INFO    ] ================================================
[2026-10-20 12:04:29,036.036 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:04:29
[2026-10-20 12:04:29,620.620 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:04:29,874.874 INFO    ] Initializing speech engine...
[2026-10-20 12:04:29,883.883 INFO    ] 2026-10-20 12:04:29
[2026-10-20 12:04:30,172.172 INFO    ] 2026-10-20 12:04:30
[2026-10-20 12:04:30,207.207 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:04:30,403.403 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:04:30,408.408 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:04:30,580.580 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:04:30,588.588 INFO    ] time= 20/10/2026 12:04:30
[2026-10-20 12:04:30,593.593 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:04:30,600.600 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:04:30,740.740 INFO    ] No existing commands found in stream
[2026-10-20 12:04:35,765.765 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:04:35,767.767 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-10-20 12:04:39,675.675 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:04:39,677.677 INFO    ] Checking for system updates...
[2026-10-20 12:04:39,716.716 INFO    ] 200
[2026-10-20 12:04:39,719.719 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:04:39,770.770 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:04:39,773.773 INFO    ] No update needed
[2026-10-20 12:04:39,775.775 INFO    ] Checking for camera pi updates...
[2026-10-20 12:04:39,809.809 INFO    ] 200
[2026-10-20 12:04:39,812.812 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:04:39,854.854 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:04:39,910.910 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:04:39,913.913 INFO    ] No camera update needed
[2026-10-20 12:04:39,915.915 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:04:39,918.918 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:04:39,924.924 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:04:39,930.930 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:04:41,970.970 INFO    ] ================================================
[2026-10-20 12:04:41,984.984 INFO    ] Launching Daemon at Tue Oct 20 12:04:41 IST 2026
[2026-10-20 12:04:42,996.996 INFO    ] ================================================
[2026-10-20 12:04:42,568.568 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:04:42
[2026-10-20 12:04:43,151.151 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:04:43,400.400 INFO    ] Initializing speech engine...
[2026-10-20 12:04:43,408.408 INFO    ] 2026-10-20 12:04:43
[2026-10-20 12:04:43,679.679 INFO    ] 2026-10-20 12:04:43
[2026-10-20 12:04:43,714.714 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:04:43,966.966 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:04:43,975.975 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:04:44,187.187 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:04:44,233.233 INFO    ] time= 20/10/2026 12:04:44
[2026-10-20 12:04:44,239.239 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:04:44,259.259 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:04:44,382.382 INFO    ] No existing commands found in stream
[2026-10-20 12:04:49,397.397 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:04:49,400.400 INFO    ] Waiting 1.23 seconds before fallback handling...
[2026-10-20 12:04:51,125.125 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 12:04:51,127.127 INFO    ] Checking for system updates...
[2026-10-20 12:04:51,167.167 INFO    ] 200
[2026-10-20 12:04:51,171.171 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:04:51,224.224 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:04:51,227.227 INFO    ] No update needed
[2026-10-20 12:04:51,229.229 INFO    ] Checking for camera pi updates...
[2026-10-20 12:04:51,279.279 INFO    ] 200
[2026-10-20 12:04:51,282.282 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:04:51,327.327 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:04:51,375.375 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:04:51,378.378 INFO    ] No camera update needed
[2026-10-20 12:04:51,381.381 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:04:51,383.383 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:04:51,389.389 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:04:51,395.395 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:04:53,434.434 INFO    ] ================================================
[2026-10-20 12:04:53,449.449 INFO    ] Launching Daemon at Tue Oct 20 12:04:53 IST 2026
[2026-10-20 12:04:53,460.460 INFO    ] ================================================
[2026-10-20 12:04:54,029.029 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:04:54
[2026-10-20 12:04:54,615.615 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:04:54,868.868 INFO    ] Initializing speech engine...
[2026-10-20 12:04:54,876.876 INFO    ] 2026-10-20 12:04:54
[2026-10-20 12:04:55,166.166 INFO    ] 2026-10-20 12:04:55
[2026-10-20 12:04:55,201.201 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:04:55,402.402 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:04:55,428.428 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:04:55,579.579 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:04:55,584.584 INFO    ] time= 20/10/2026 12:04:55
[2026-10-20 12:04:55,590.590 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:04:55,596.596 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:04:55,746.746 INFO    ] No existing commands found in stream
[2026-10-20 12:05:00,771.771 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:05:00,773.773 INFO    ] Waiting 3.72 seconds before fallback handling...
[2026-10-20 12:05:05,015.015 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:05:05,017.017 INFO    ] Checking for system updates...
[2026-10-20 12:05:05,054.054 INFO    ] 200
[2026-10-20 12:05:05,057.057 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:05:05,109.109 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:05:05,112.112 INFO    ] No update needed
[2026-10-20 12:05:05,115.115 INFO    ] Checking for camera pi updates...
[2026-10-20 12:05:05,153.153 INFO    ] 200
[2026-10-20 12:05:05,156.156 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:05:05,197.197 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:05:05,231.231 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:05:05,234.234 INFO    ] No camera update needed
[2026-10-20 12:05:05,237.237 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:05:05,239.239 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:05:05,247.247 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:05:05,253.253 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:05:07,292.292 INFO    ] ================================================
[2026-10-20 12:05:07,307.307 INFO    ] Launching Daemon at Tue Oct 20 12:05:07 IST 2026
[2026-10-20 12:05:07,318.318 INFO    ] ================================================
[2026-10-20 12:05:07,884.884 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:05:07
[2026-10-20 12:05:08,467.467 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:05:08,735.735 INFO    ] Initializing speech engine...
[2026-10-20 12:05:08,742.742 INFO    ] 2026-10-20 12:05:08
[2026-10-20 12:05:08,991.991 INFO    ] 2026-10-20 12:05:08
[2026-10-20 12:05:09,025.025 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:05:09,253.253 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:05:09,280.280 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:05:09,472.472 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:05:09,531.531 INFO    ] time= 20/10/2026 12:05:09
[2026-10-20 12:05:09,550.550 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:05:09,564.564 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:05:09,673.673 INFO    ] No existing commands found in stream
[2026-10-20 12:05:14,703.703 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:05:14,706.706 INFO    ] Waiting 0.01 seconds before fallback handling...
[2026-10-20 12:05:15,157.157 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:05:15,160.160 INFO    ] Checking for system updates...
[2026-10-20 12:05:15,195.195 INFO    ] 200
[2026-10-20 12:05:15,198.198 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:05:15,250.250 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:05:15,253.253 INFO    ] No update needed
[2026-10-20 12:05:15,255.255 INFO    ] Checking for camera pi updates...
[2026-10-20 12:05:15,288.288 INFO    ] 200
[2026-10-20 12:05:15,291.291 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:05:15,330.330 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:05:15,376.376 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:05:15,378.378 INFO    ] No camera update needed
[2026-10-20 12:05:15,381.381 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:05:15,383.383 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:05:15,388.388 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:05:15,393.393 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:05:17,434.434 INFO    ] ================================================
[2026-10-20 12:05:17,451.451 INFO    ] Launching Daemon at Tue Oct 20 12:05:17 IST 2026
[2026-10-20 12:05:17,461.461 INFO    ] ================================================
[2026-10-20 12:05:18,117.117 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:05:18
[2026-10-20 12:05:18,790.790 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:05:19,092.092 INFO    ] Initializing speech engine...
[2026-10-20 12:05:19,102.102 INFO    ] 2026-10-20 12:05:19
[2026-10-20 12:05:19,420.420 INFO    ] 2026-10-20 12:05:19
[2026-10-20 12:05:19,506.506 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:05:19,716.716 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:05:19,725.725 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:05:19,904.904 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:05:19,924.924 INFO    ] time= 20/10/2026 12:05:19
[2026-10-20 12:05:19,944.944 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:05:19,962.962 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:05:20,081.081 INFO    ] No existing commands found in stream
[2026-10-20 12:05:25,102.102 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:05:25,105.105 INFO    ] Waiting 0.54 seconds before fallback handling...
[2026-10-20 12:05:26,150.150 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 12:05:26,153.153 INFO    ] Checking for system updates...
[2026-10-20 12:05:26,190.190 INFO    ] 200
[2026-10-20 12:05:26,193.193 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:05:26,245.245 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:05:26,248.248 INFO    ] No update needed
[2026-10-20 12:05:26,251.251 INFO    ] Checking for camera pi updates...
[2026-10-20 12:05:26,284.284 INFO    ] 200
[2026-10-20 12:05:26,286.286 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:05:26,325.325 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:05:26,365.365 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:05:26,368.368 INFO    ] No camera update needed
[2026-10-20 12:05:26,371.371 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:05:26,374.374 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:05:26,380.380 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:05:26,385.385 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:05:28,424.424 INFO    ] ================================================
[2026-10-20 12:05:28,440.440 INFO    ] Launching Daemon at Tue Oct 20 12:05:28 IST 2026
[2026-10-20 12:05:28,451.451 INFO    ] ================================================
[2026-10-20 12:05:29,109.109 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:05:29
[2026-10-20 12:05:29,790.790 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:05:30,089.089 INFO    ] Initializing speech engine...
[2026-10-20 12:05:30,100.100 INFO    ] 2026-10-20 12:05:30
[2026-10-20 12:05:30,377.377 INFO    ] 2026-10-20 12:05:30
[2026-10-20 12:05:30,434.434 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:05:30,661.661 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:05:30,667.667 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:05:30,881.881 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:05:30,929.929 INFO    ] time= 20/10/2026 12:05:30
[2026-10-20 12:05:30,947.947 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:05:30,954.954 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:05:31,084.084 INFO    ] No existing commands found in stream
[2026-10-20 12:05:36,104.104 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:05:36,107.107 INFO    ] Waiting 1.84 seconds before fallback handling...
[2026-10-20 12:05:38,478.478 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:05:38,481.481 INFO    ] Checking for system updates...
[2026-10-20 12:05:38,517.517 INFO    ] 200
[2026-10-20 12:05:38,520.520 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:05:38,572.572 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:05:38,574.574 INFO    ] No update needed
[2026-10-20 12:05:38,577.577 INFO    ] Checking for camera pi updates...
[2026-10-20 12:05:38,611.611 INFO    ] 200
[2026-10-20 12:05:38,613.613 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:05:38,659.659 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:05:38,709.709 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:05:38,712.712 INFO    ] No camera update needed
[2026-10-20 12:05:38,714.714 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:05:38,716.716 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:05:38,722.722 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:05:38,727.727 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:05:40,765.765 INFO    ] ================================================
[2026-10-20 12:05:40,781.781 INFO    ] Launching Daemon at Tue Oct 20 12:05:40 IST 2026
[2026-10-20 12:05:40,792.792 INFO    ] ================================================
[2026-10-20 12:05:41,359.359 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:05:41
[2026-10-20 12:05:41,945.945 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:05:42,213.213 INFO    ] Initializing speech engine...
[2026-10-20 12:05:42,223.223 INFO    ] 2026-10-20 12:05:42
[2026-10-20 12:05:42,468.468 INFO    ] 2026-10-20 12:05:42
[2026-10-20 12:05:42,532.532 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:05:42,754.754 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:05:42,764.764 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:05:42,957.957 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:05:43,012.012 INFO    ] time= 20/10/2026 12:05:42
[2026-10-20 12:05:43,025.025 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:05:43,031.031 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:05:43,161.161 INFO    ] No existing commands found in stream
[2026-10-20 12:05:48,185.185 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:05:48,187.187 INFO    ] Waiting 2.28 seconds before fallback handling...
[2026-10-20 12:05:50,935.935 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:05:50,937.937 INFO    ] Checking for system updates...
[2026-10-20 12:05:50,981.981 INFO    ] 200
[2026-10-20 12:05:50,983.983 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:05:51,036.036 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:05:51,039.039 INFO    ] No update needed
[2026-10-20 12:05:51,041.041 INFO    ] Checking for camera pi updates...
[2026-10-20 12:05:51,079.079 INFO    ] 200
[2026-10-20 12:05:51,081.081 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:05:51,121.121 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:05:51,174.174 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:05:51,177.177 INFO    ] No camera update needed
[2026-10-20 12:05:51,179.179 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:05:51,182.182 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:05:51,187.187 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:05:51,192.192 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:05:53,233.233 INFO    ] ================================================
[2026-10-20 12:05:53,248.248 INFO    ] Launching Daemon at Tue Oct 20 12:05:53 IST 2026
[2026-10-20 12:05:53,259.259 INFO    ] ================================================
[2026-10-20 12:05:53,831.831 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:05:53
[2026-10-20 12:05:54,418.418 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:05:54,687.687 INFO    ] Initializing speech engine...
[2026-10-20 12:05:54,696.696 INFO    ] 2026-10-20 12:05:54
[2026-10-20 12:05:54,943.943 INFO    ] 2026-10-20 12:05:54
[2026-10-20 12:05:54,978.978 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:05:55,151.151 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:05:55,163.163 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:05:55,310.310 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:05:55,351.351 INFO    ] time= 20/10/2026 12:05:55
[2026-10-20 12:05:55,377.377 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:05:55,408.408 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:05:55,510.510 INFO    ] No existing commands found in stream
[2026-10-20 12:06:00,531.531 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:06:00,534.534 INFO    ] Waiting 0.22 seconds before fallback handling...
[2026-10-20 12:06:01,246.246 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:06:01,249.249 INFO    ] Checking for system updates...
[2026-10-20 12:06:01,291.291 INFO    ] 200
[2026-10-20 12:06:01,294.294 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:06:01,347.347 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:06:01,350.350 INFO    ] No update needed
[2026-10-20 12:06:01,353.353 INFO    ] Checking for camera pi updates...
[2026-10-20 12:06:01,389.389 INFO    ] 200
[2026-10-20 12:06:01,392.392 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:06:01,433.433 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:06:01,568.568 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:06:01,571.571 INFO    ] No camera update needed
[2026-10-20 12:06:01,574.574 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:06:01,576.576 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:06:01,583.583 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:06:01,589.589 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:06:03,639.639 INFO    ] ================================================
[2026-10-20 12:06:03,656.656 INFO    ] Launching Daemon at Tue Oct 20 12:06:03 IST 2026
[2026-10-20 12:06:03,667.667 INFO    ] ================================================
[2026-10-20 12:06:04,278.278 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:06:04
[2026-10-20 12:06:04,912.912 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:06:05,193.193 INFO    ] Initializing speech engine...
[2026-10-20 12:06:05,221.221 INFO    ] 2026-10-20 12:06:05
[2026-10-20 12:06:05,519.519 INFO    ] 2026-10-20 12:06:05
[2026-10-20 12:06:05,557.557 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:06:05,791.791 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:06:05,813.813 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:06:05,953.953 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:06:06,019.019 INFO    ] time= 20/10/2026 12:06:05
[2026-10-20 12:06:06,079.079 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:06:06,087.087 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:06:06,218.218 INFO    ] No existing commands found in stream
[2026-10-20 12:06:11,240.240 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:06:11,244.244 INFO    ] Waiting 2.45 seconds before fallback handling...
[2026-10-20 12:06:14,150.150 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:06:14,153.153 INFO    ] Checking for system updates...
[2026-10-20 12:06:14,192.192 INFO    ] 200
[2026-10-20 12:06:14,194.194 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:06:14,252.252 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:06:14,255.255 INFO    ] No update needed
[2026-10-20 12:06:14,257.257 INFO    ] Checking for camera pi updates...
[2026-10-20 12:06:14,294.294 INFO    ] 200
[2026-10-20 12:06:14,297.297 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:06:14,343.343 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:06:14,392.392 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:06:14,395.395 INFO    ] No camera update needed
[2026-10-20 12:06:14,397.397 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:06:14,400.400 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:06:14,406.406 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:06:14,412.412 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:06:16,451.451 INFO    ] ================================================
[2026-10-20 12:06:16,471.471 INFO    ] Launching Daemon at Tue Oct 20 12:06:16 IST 2026
[2026-10-20 12:06:16,482.482 INFO    ] ================================================
[2026-10-20 12:06:17,124.124 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:06:17
[2026-10-20 12:06:17,782.782 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:06:18,059.059 INFO    ] Initializing speech engine...
[2026-10-20 12:06:18,082.082 INFO    ] 2026-10-20 12:06:18
[2026-10-20 12:06:18,353.353 INFO    ] 2026-10-20 12:06:18
[2026-10-20 12:06:18,397.397 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:06:18,657.657 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:06:18,666.666 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:06:18,820.820 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:06:18,860.860 INFO    ] time= 20/10/2026 12:06:18
[2026-10-20 12:06:18,909.909 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:06:18,958.958 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:06:19,025.025 INFO    ] No existing commands found in stream
[2026-10-20 12:06:24,037.037 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:06:24,040.040 INFO    ] Waiting 1.05 seconds before fallback handling...
[2026-10-20 12:06:25,544.544 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:06:25,546.546 INFO    ] Checking for system updates...
[2026-10-20 12:06:25,583.583 INFO    ] 200
[2026-10-20 12:06:25,585.585 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:06:25,642.642 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:06:25,645.645 INFO    ] No update needed
[2026-10-20 12:06:25,647.647 INFO    ] Checking for camera pi updates...
[2026-10-20 12:06:25,681.681 INFO    ] 200
[2026-10-20 12:06:25,683.683 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:06:25,727.727 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:06:25,771.771 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:06:25,774.774 INFO    ] No camera update needed
[2026-10-20 12:06:25,776.776 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:06:25,779.779 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:06:25,784.784 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:06:25,789.789 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:06:27,829.829 INFO    ] ================================================
[2026-10-20 12:06:27,845.845 INFO    ] Launching Daemon at Tue Oct 20 12:06:27 IST 2026
[2026-10-20 12:06:27,856.856 INFO    ] ================================================
[2026-10-20 12:06:28,497.497 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:06:28
[2026-10-20 12:06:29,148.148 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:06:29,443.443 INFO    ] Initializing speech engine...
[2026-10-20 12:06:29,453.453 INFO    ] 2026-10-20 12:06:29
[2026-10-20 12:06:29,722.722 INFO    ] 2026-10-20 12:06:29
[2026-10-20 12:06:29,777.777 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:06:30,008.008 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:06:30,013.013 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:06:30,168.168 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:06:30,223.223 INFO    ] time= 20/10/2026 12:06:30
[2026-10-20 12:06:30,278.278 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:06:30,292.292 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:06:30,418.418 INFO    ] No existing commands found in stream
[2026-10-20 12:06:35,446.446 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:06:35,449.449 INFO    ] Waiting 0.99 seconds before fallback handling...
[2026-10-20 12:06:36,937.937 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:06:36,940.940 INFO    ] Checking for system updates...
[2026-10-20 12:06:36,976.976 INFO    ] 200
[2026-10-20 12:06:36,979.979 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:06:37,032.032 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:06:37,035.035 INFO    ] No update needed
[2026-10-20 12:06:37,038.038 INFO    ] Checking for camera pi updates...
[2026-10-20 12:06:37,071.071 INFO    ] 200
[2026-10-20 12:06:37,074.074 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:06:37,116.116 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:06:37,183.183 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:06:37,186.186 INFO    ] No camera update needed
[2026-10-20 12:06:37,189.189 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:06:37,191.191 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:06:37,198.198 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:06:37,204.204 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:06:39,243.243 INFO    ] ================================================
[2026-10-20 12:06:39,258.258 INFO    ] Launching Daemon at Tue Oct 20 12:06:39 IST 2026
[2026-10-20 12:06:39,269.269 INFO    ] ================================================
[2026-10-20 12:06:39,838.838 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:06:39
[2026-10-20 12:06:40,422.422 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:06:40,675.675 INFO    ] Initializing speech engine...
[2026-10-20 12:06:40,691.691 INFO    ] 2026-10-20 12:06:40
[2026-10-20 12:06:40,972.972 INFO    ] 2026-10-20 12:06:40
[2026-10-20 12:06:41,009.009 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:06:41,229.229 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:06:41,236.236 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:06:41,383.383 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:06:41,389.389 INFO    ] time= 20/10/2026 12:06:41
[2026-10-20 12:06:41,432.432 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:06:41,464.464 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:06:41,595.595 INFO    ] No existing commands found in stream
[2026-10-20 12:06:46,617.617 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:06:46,620.620 INFO    ] Waiting 1.57 seconds before fallback handling...
[2026-10-20 12:06:48,667.667 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 12:06:48,670.670 INFO    ] Checking for system updates...
[2026-10-20 12:06:48,711.711 INFO    ] 200
[2026-10-20 12:06:48,714.714 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:06:48,772.772 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:06:48,775.775 INFO    ] No update needed
[2026-10-20 12:06:48,778.778 INFO    ] Checking for camera pi updates...
[2026-10-20 12:06:48,813.813 INFO    ] 200
[2026-10-20 12:06:48,816.816 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:06:48,857.857 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:06:48,902.902 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:06:48,905.905 INFO    ] No camera update needed
[2026-10-20 12:06:48,908.908 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:06:48,910.910 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:06:48,916.916 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:06:48,922.922 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:06:50,963.963 INFO    ] ================================================
[2026-10-20 12:06:50,978.978 INFO    ] Launching Daemon at Tue Oct 20 12:06:50 IST 2026
[2026-10-20 12:06:50,989.989 INFO    ] ================================================
[2026-10-20 12:06:51,561.561 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:06:51
[2026-10-20 12:06:52,145.145 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:06:52,416.416 INFO    ] Initializing speech engine...
[2026-10-20 12:06:52,422.422 INFO    ] 2026-10-20 12:06:52
[2026-10-20 12:06:52,666.666 INFO    ] 2026-10-20 12:06:52
[2026-10-20 12:06:52,701.701 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:06:52,897.897 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:06:52,956.956 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:06:53,161.161 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:06:53,218.218 INFO    ] time= 20/10/2026 12:06:53
[2026-10-20 12:06:53,225.225 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:06:53,242.242 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:06:53,369.369 INFO    ] No existing commands found in stream
[2026-10-20 12:06:58,385.385 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:06:58,387.387 INFO    ] Waiting 1.73 seconds before fallback handling...
[2026-10-20 12:07:00,608.608 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:07:00,611.611 INFO    ] Checking for system updates...
[2026-10-20 12:07:00,646.646 INFO    ] 200
[2026-10-20 12:07:00,649.649 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:07:00,701.701 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:07:00,703.703 INFO    ] No update needed
[2026-10-20 12:07:00,706.706 INFO    ] Checking for camera pi updates...
[2026-10-20 12:07:00,743.743 INFO    ] 200
[2026-10-20 12:07:00,746.746 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:07:00,786.786 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:07:00,831.831 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:07:00,833.833 INFO    ] No camera update needed
[2026-10-20 12:07:00,836.836 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:07:00,838.838 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:07:00,843.843 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:07:00,848.848 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:07:02,899.899 INFO    ] ================================================
[2026-10-20 12:07:02,920.920 INFO    ] Launching Daemon at Tue Oct 20 12:07:02 IST 2026
[2026-10-20 12:07:02,936.936 INFO    ] ================================================
[2026-10-20 12:07:03,602.602 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:07:03
[2026-10-20 12:07:04,193.193 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:07:04,460.460 INFO    ] Initializing speech engine...
[2026-10-20 12:07:04,469.469 INFO    ] 2026-10-20 12:07:04
[2026-10-20 12:07:04,715.715 INFO    ] 2026-10-20 12:07:04
[2026-10-20 12:07:04,749.749 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:07:04,942.942 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:07:04,969.969 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:07:05,142.142 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:07:05,187.187 INFO    ] time= 20/10/2026 12:07:05
[2026-10-20 12:07:05,241.241 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:07:05,274.274 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:07:05,410.410 INFO    ] No existing commands found in stream
[2026-10-20 12:07:10,429.429 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:07:10,431.431 INFO    ] Waiting 0.61 seconds before fallback handling...
[2026-10-20 12:07:11,532.532 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 12:07:11,535.535 INFO    ] Checking for system updates...
[2026-10-20 12:07:11,571.571 INFO    ] 200
[2026-10-20 12:07:11,573.573 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:07:11,625.625 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:07:11,627.627 INFO    ] No update needed
[2026-10-20 12:07:11,629.629 INFO    ] Checking for camera pi updates...
[2026-10-20 12:07:11,663.663 INFO    ] 200
[2026-10-20 12:07:11,666.666 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:07:11,710.710 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:07:11,754.754 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:07:11,757.757 INFO    ] No camera update needed
[2026-10-20 12:07:11,759.759 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:07:11,761.761 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:07:11,767.767 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:07:11,772.772 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:07:13,812.812 INFO    ] ================================================
[2026-10-20 12:07:13,827.827 INFO    ] Launching Daemon at Tue Oct 20 12:07:13 IST 2026
[2026-10-20 12:07:13,837.837 INFO    ] ================================================
[2026-10-20 12:07:14,486.486 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:07:14
[2026-10-20 12:07:15,070.070 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:07:15,340.340 INFO    ] Initializing speech engine...
[2026-10-20 12:07:15,349.349 INFO    ] 2026-10-20 12:07:15
[2026-10-20 12:07:15,593.593 INFO    ] 2026-10-20 12:07:15
[2026-10-20 12:07:15,636.636 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:07:15,880.880 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:07:15,889.889 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:07:16,093.093 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:07:16,146.146 INFO    ] time= 20/10/2026 12:07:16
[2026-10-20 12:07:16,152.152 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:07:16,176.176 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:07:16,314.314 INFO    ] No existing commands found in stream
[2026-10-20 12:07:21,339.339 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:07:21,342.342 INFO    ] Waiting 2.34 seconds before fallback handling...
[2026-10-20 12:07:24,146.146 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:07:24,148.148 INFO    ] Checking for system updates...
[2026-10-20 12:07:24,184.184 INFO    ] 200
[2026-10-20 12:07:24,186.186 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:07:24,237.237 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:07:24,239.239 INFO    ] No update needed
[2026-10-20 12:07:24,242.242 INFO    ] Checking for camera pi updates...
[2026-10-20 12:07:24,276.276 INFO    ] 200
[2026-10-20 12:07:24,278.278 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:07:24,319.319 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:07:24,365.365 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:07:24,367.367 INFO    ] No camera update needed
[2026-10-20 12:07:24,369.369 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:07:24,372.372 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:07:24,377.377 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:07:24,383.383 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:07:26,423.423 INFO    ] ================================================
[2026-10-20 12:07:26,439.439 INFO    ] Launching Daemon at Tue Oct 20 12:07:26 IST 2026
[2026-10-20 12:07:26,450.450 INFO    ] ================================================
[2026-10-20 12:07:27,036.036 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:07:27
[2026-10-20 12:07:27,634.634 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:07:27,891.891 INFO    ] Initializing speech engine...
[2026-10-20 12:07:27,896.896 INFO    ] 2026-10-20 12:07:27
[2026-10-20 12:07:28,202.202 INFO    ] 2026-10-20 12:07:28
[2026-10-20 12:07:28,236.236 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:07:28,435.435 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:07:28,442.442 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:07:28,596.596 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:07:28,621.621 INFO    ] time= 20/10/2026 12:07:28
[2026-10-20 12:07:28,627.627 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:07:28,634.634 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:07:28,720.720 INFO    ] No existing commands found in stream
[2026-10-20 12:07:33,750.750 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:07:33,753.753 INFO    ] Waiting 1.59 seconds before fallback handling...
[2026-10-20 12:07:35,814.814 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:07:35,816.816 INFO    ] Checking for system updates...
[2026-10-20 12:07:35,851.851 INFO    ] 200
[2026-10-20 12:07:35,854.854 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:07:35,906.906 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:07:35,908.908 INFO    ] No update needed
[2026-10-20 12:07:35,911.911 INFO    ] Checking for camera pi updates...
[2026-10-20 12:07:35,944.944 INFO    ] 200
[2026-10-20 12:07:35,947.947 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:07:35,986.986 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:07:36,032.032 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:07:36,034.034 INFO    ] No camera update needed
[2026-10-20 12:07:36,036.036 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:07:36,039.039 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:07:36,044.044 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:07:36,049.049 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:07:38,088.088 INFO    ] ================================================
[2026-10-20 12:07:38,102.102 INFO    ] Launching Daemon at Tue Oct 20 12:07:38 IST 2026
[2026-10-20 12:07:38,113.113 INFO    ] ================================================
[2026-10-20 12:07:38,677.677 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:07:38
[2026-10-20 12:07:39,262.262 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:07:39,513.513 INFO    ] Initializing speech engine...
[2026-10-20 12:07:39,521.521 INFO    ] 2026-10-20 12:07:39
[2026-10-20 12:07:39,815.815 INFO    ] 2026-10-20 12:07:39
[2026-10-20 12:07:39,852.852 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:07:40,050.050 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:07:40,065.065 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:07:40,227.227 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:07:40,235.235 INFO    ] time= 20/10/2026 12:07:40
[2026-10-20 12:07:40,240.240 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:07:40,247.247 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:07:40,394.394 INFO    ] No existing commands found in stream
[2026-10-20 12:07:45,429.429 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:07:45,432.432 INFO    ] Waiting 2.10 seconds before fallback handling...
[2026-10-20 12:07:48,008.008 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 12:07:48,010.010 INFO    ] Checking for system updates...
[2026-10-20 12:07:48,050.050 INFO    ] 200
[2026-10-20 12:07:48,052.052 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:07:48,104.104 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:07:48,107.107 INFO    ] No update needed
[2026-10-20 12:07:48,109.109 INFO    ] Checking for camera pi updates...
[2026-10-20 12:07:48,142.142 INFO    ] 200
[2026-10-20 12:07:48,145.145 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:07:48,185.185 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:07:48,248.248 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:07:48,250.250 INFO    ] No camera update needed
[2026-10-20 12:07:48,253.253 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:07:48,255.255 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:07:48,260.260 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:07:48,265.265 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:07:50,303.303 INFO    ] ================================================
[2026-10-20 12:07:50,318.318 INFO    ] Launching Daemon at Tue Oct 20 12:07:50 IST 2026
[2026-10-20 12:07:50,329.329 INFO    ] ================================================
[2026-10-20 12:07:50,983.983 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:07:50
[2026-10-20 12:07:51,655.655 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:07:51,956.956 INFO    ] Initializing speech engine...
[2026-10-20 12:07:51,970.970 INFO    ] 2026-10-20 12:07:51
[2026-10-20 12:07:52,255.255 INFO    ] 2026-10-20 12:07:52
[2026-10-20 12:07:52,359.359 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:07:52,519.519 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:07:52,524.524 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:07:52,766.766 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:07:52,782.782 INFO    ] time= 20/10/2026 12:07:52
[2026-10-20 12:07:52,800.800 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:07:52,812.812 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:07:52,937.937 INFO    ] No existing commands found in stream
[2026-10-20 12:07:57,961.961 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:07:57,964.964 INFO    ] Waiting 1.40 seconds before fallback handling...
[2026-10-20 12:07:59,866.866 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:07:59,869.869 INFO    ] Checking for system updates...
[2026-10-20 12:07:59,906.906 INFO    ] 200
[2026-10-20 12:07:59,908.908 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:07:59,961.961 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:07:59,963.963 INFO    ] No update needed
[2026-10-20 12:07:59,966.966 INFO    ] Checking for camera pi updates...
[2026-10-20 12:08:00,005.005 INFO    ] 200
[2026-10-20 12:08:00,008.008 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:08:00,055.055 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:08:00,099.099 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:08:00,102.102 INFO    ] No camera update needed
[2026-10-20 12:08:00,104.104 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:08:00,106.106 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:08:00,112.112 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:08:00,117.117 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:08:02,157.157 INFO    ] ================================================
[2026-10-20 12:08:02,178.178 INFO    ] Launching Daemon at Tue Oct 20 12:08:02 IST 2026
[2026-10-20 12:08:02,193.193 INFO    ] ================================================
[2026-10-20 12:08:02,832.832 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:08:02
[2026-10-20 12:08:03,520.520 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:08:03,815.815 INFO    ] Initializing speech engine...
[2026-10-20 12:08:03,831.831 INFO    ] 2026-10-20 12:08:03
[2026-10-20 12:08:04,085.085 INFO    ] 2026-10-20 12:08:04
[2026-10-20 12:08:04,116.116 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:08:04,338.338 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:08:04,354.354 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:08:04,522.522 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:08:04,530.530 INFO    ] time= 20/10/2026 12:08:04
[2026-10-20 12:08:04,537.537 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:08:04,543.543 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:08:04,679.679 INFO    ] No existing commands found in stream
[2026-10-20 12:08:09,701.701 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:08:09,704.704 INFO    ] Waiting 0.13 seconds before fallback handling...
[2026-10-20 12:08:10,298.298 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 12:08:10,301.301 INFO    ] Checking for system updates...
[2026-10-20 12:08:10,336.336 INFO    ] 200
[2026-10-20 12:08:10,338.338 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:08:10,391.391 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:08:10,393.393 INFO    ] No update needed
[2026-10-20 12:08:10,396.396 INFO    ] Checking for camera pi updates...
[2026-10-20 12:08:10,429.429 INFO    ] 200
[2026-10-20 12:08:10,431.431 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:08:10,474.474 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:08:10,617.617 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:08:10,620.620 INFO    ] No camera update needed
[2026-10-20 12:08:10,623.623 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:08:10,625.625 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:08:10,630.630 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:08:10,635.635 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:08:12,675.675 INFO    ] ================================================
[2026-10-20 12:08:12,690.690 INFO    ] Launching Daemon at Tue Oct 20 12:08:12 IST 2026
[2026-10-20 12:08:12,700.700 INFO    ] ================================================
[2026-10-20 12:08:13,286.286 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:08:13
[2026-10-20 12:08:13,888.888 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:08:14,163.163 INFO    ] Initializing speech engine...
[2026-10-20 12:08:14,173.173 INFO    ] 2026-10-20 12:08:14
[2026-10-20 12:08:14,434.434 INFO    ] 2026-10-20 12:08:14
[2026-10-20 12:08:14,463.463 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:08:14,708.708 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:08:14,718.718 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:08:14,851.851 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:08:14,921.921 INFO    ] time= 20/10/2026 12:08:14
[2026-10-20 12:08:14,978.978 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:08:14,985.985 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:08:15,132.132 INFO    ] No existing commands found in stream
[2026-10-20 12:08:20,154.154 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:08:20,157.157 INFO    ] Waiting 1.13 seconds before fallback handling...
[2026-10-20 12:08:21,765.765 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:08:21,768.768 INFO    ] Checking for system updates...
[2026-10-20 12:08:21,805.805 INFO    ] 200
[2026-10-20 12:08:21,808.808 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:08:21,862.862 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:08:21,865.865 INFO    ] No update needed
[2026-10-20 12:08:21,868.868 INFO    ] Checking for camera pi updates...
[2026-10-20 12:08:21,903.903 INFO    ] 200
[2026-10-20 12:08:21,905.905 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:08:21,947.947 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:08:21,998.998 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:08:22,001.001 INFO    ] No camera update needed
[2026-10-20 12:08:22,003.003 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:08:22,006.006 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:08:22,012.012 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:08:22,018.018 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:08:24,059.059 INFO    ] ================================================
[2026-10-20 12:08:24,074.074 INFO    ] Launching Daemon at Tue Oct 20 12:08:24 IST 2026
[2026-10-20 12:08:24,084.084 INFO    ] ================================================
[2026-10-20 12:08:24,651.651 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:08:24
[2026-10-20 12:08:25,234.234 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:08:25,502.502 INFO    ] Initializing speech engine...
[2026-10-20 12:08:25,512.512 INFO    ] 2026-10-20 12:08:25
[2026-10-20 12:08:25,756.756 INFO    ] 2026-10-20 12:08:25
[2026-10-20 12:08:25,791.791 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:08:26,042.042 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:08:26,053.053 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:08:26,258.258 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:08:26,314.314 INFO    ] time= 20/10/2026 12:08:26
[2026-10-20 12:08:26,321.321 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:08:26,341.341 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:08:26,473.473 INFO    ] No existing commands found in stream
[2026-10-20 12:08:31,492.492 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:08:31,495.495 INFO    ] Waiting 0.16 seconds before fallback handling...
[2026-10-20 12:08:32,170.170 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:08:32,174.174 INFO    ] Checking for system updates...
[2026-10-20 12:08:32,213.213 INFO    ] 200
[2026-10-20 12:08:32,216.216 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:08:32,292.292 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:08:32,295.295 INFO    ] No update needed
[2026-10-20 12:08:32,299.299 INFO    ] Checking for camera pi updates...
[2026-10-20 12:08:32,344.344 INFO    ] 200
[2026-10-20 12:08:32,348.348 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:08:32,400.400 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:08:32,434.434 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:08:32,438.438 INFO    ] No camera update needed
[2026-10-20 12:08:32,441.441 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:08:32,445.445 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:08:32,452.452 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:08:32,459.459 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:08:34,500.500 INFO    ] ================================================
[2026-10-20 12:08:34,515.515 INFO    ] Launching Daemon at Tue Oct 20 12:08:34 IST 2026
[2026-10-20 12:08:34,526.526 INFO    ] ================================================
[2026-10-20 12:08:35,092.092 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:08:35
[2026-10-20 12:08:35,675.675 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:08:35,947.947 INFO    ] Initializing speech engine...
[2026-10-20 12:08:35,954.954 INFO    ] 2026-10-20 12:08:35
[2026-10-20 12:08:36,211.211 INFO    ] 2026-10-20 12:08:36
[2026-10-20 12:08:36,264.264 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:08:36,490.490 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:08:36,496.496 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:08:36,690.690 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:08:36,745.745 INFO    ] time= 20/10/2026 12:08:36
[2026-10-20 12:08:36,760.760 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:08:36,778.778 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:08:36,910.910 INFO    ] No existing commands found in stream
[2026-10-20 12:08:41,932.932 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:08:41,935.935 INFO    ] Waiting 3.19 seconds before fallback handling...
[2026-10-20 12:08:45,634.634 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:08:45,637.637 INFO    ] Checking for system updates...
[2026-10-20 12:08:45,675.675 INFO    ] 200
[2026-10-20 12:08:45,678.678 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:08:45,731.731 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:08:45,734.734 INFO    ] No update needed
[2026-10-20 12:08:45,737.737 INFO    ] Checking for camera pi updates...
[2026-10-20 12:08:45,775.775 INFO    ] 200
[2026-10-20 12:08:45,778.778 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:08:45,825.825 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:08:45,872.872 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:08:45,874.874 INFO    ] No camera update needed
[2026-10-20 12:08:45,876.876 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:08:45,879.879 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:08:45,884.884 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:08:45,889.889 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:08:47,930.930 INFO    ] ================================================
[2026-10-20 12:08:47,946.946 INFO    ] Launching Daemon at Tue Oct 20 12:08:47 IST 2026
[2026-10-20 12:08:47,956.956 INFO    ] ================================================
[2026-10-20 12:08:48,588.588 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:08:48
[2026-10-20 12:08:49,192.192 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:08:49,463.463 INFO    ] Initializing speech engine...
[2026-10-20 12:08:49,486.486 INFO    ] 2026-10-20 12:08:49
[2026-10-20 12:08:49,765.765 INFO    ] 2026-10-20 12:08:49
[2026-10-20 12:08:49,817.817 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:08:50,024.024 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:08:50,085.085 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:08:50,252.252 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:08:50,320.320 INFO    ] time= 20/10/2026 12:08:50
[2026-10-20 12:08:50,364.364 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:08:50,371.371 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:08:50,520.520 INFO    ] No existing commands found in stream
[2026-10-20 12:08:55,531.531 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:08:55,534.534 INFO    ] Waiting 0.16 seconds before fallback handling...
[2026-10-20 12:08:56,192.192 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:08:56,194.194 INFO    ] Checking for system updates...
[2026-10-20 12:08:56,232.232 INFO    ] 200
[2026-10-20 12:08:56,234.234 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:08:56,289.289 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:08:56,291.291 INFO    ] No update needed
[2026-10-20 12:08:56,294.294 INFO    ] Checking for camera pi updates...
[2026-10-20 12:08:56,328.328 INFO    ] 200
[2026-10-20 12:08:56,331.331 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:08:56,376.376 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:08:56,427.427 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:08:56,430.430 INFO    ] No camera update needed
[2026-10-20 12:08:56,432.432 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:08:56,435.435 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:08:56,440.440 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:08:56,445.445 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:08:58,486.486 INFO    ] ================================================
[2026-10-20 12:08:58,502.502 INFO    ] Launching Daemon at Tue Oct 20 12:08:58 IST 2026
[2026-10-20 12:08:58,513.513 INFO    ] ================================================
[2026-10-20 12:08:59,111.111 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:08:59
[2026-10-20 12:08:59,709.709 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:08:59,988.988 INFO    ] Initializing speech engine...
[2026-10-20 12:08:59,994.994 INFO    ] 2026-10-20 12:08:59
[2026-10-20 12:09:00,256.256 INFO    ] 2026-10-20 12:09:00
[2026-10-20 12:09:00,310.310 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:09:00,536.536 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:09:00,542.542 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:09:00,743.743 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:09:00,799.799 INFO    ] time= 20/10/2026 12:09:00
[2026-10-20 12:09:00,805.805 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:09:00,823.823 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:09:00,953.953 INFO    ] No existing commands found in stream
[2026-10-20 12:09:05,973.973 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:09:05,975.975 INFO    ] Waiting 0.45 seconds before fallback handling...
[2026-10-20 12:09:06,873.873 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:09:06,876.876 INFO    ] Checking for system updates...
[2026-10-20 12:09:06,912.912 INFO    ] 200
[2026-10-20 12:09:06,915.915 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:09:06,968.968 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:09:06,970.970 INFO    ] No update needed
[2026-10-20 12:09:06,973.973 INFO    ] Checking for camera pi updates...
[2026-10-20 12:09:07,007.007 INFO    ] 200
[2026-10-20 12:09:07,009.009 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:09:07,053.053 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:09:07,108.108 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:09:07,110.110 INFO    ] No camera update needed
[2026-10-20 12:09:07,113.113 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:09:07,115.115 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:09:07,120.120 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:09:07,125.125 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:09:09,164.164 INFO    ] ================================================
[2026-10-20 12:09:09,180.180 INFO    ] Launching Daemon at Tue Oct 20 12:09:09 IST 2026
[2026-10-20 12:09:09,192.192 INFO    ] ================================================
[2026-10-20 12:09:09,776.776 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:09:09
[2026-10-20 12:09:10,378.378 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:09:10,656.656 INFO    ] Initializing speech engine...
[2026-10-20 12:09:10,664.664 INFO    ] 2026-10-20 12:09:10
[2026-10-20 12:09:10,924.924 INFO    ] 2026-10-20 12:09:10
[2026-10-20 12:09:10,975.975 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:09:11,199.199 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:09:11,207.207 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:09:11,348.348 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:09:11,413.413 INFO    ] time= 20/10/2026 12:09:11
[2026-10-20 12:09:11,467.467 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:09:11,477.477 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:09:11,607.607 INFO    ] No existing commands found in stream
[2026-10-20 12:09:16,631.631 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:09:16,634.634 INFO    ] Waiting 0.31 seconds before fallback handling...
[2026-10-20 12:09:17,406.406 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:09:17,409.409 INFO    ] Checking for system updates...
[2026-10-20 12:09:17,452.452 INFO    ] 200
[2026-10-20 12:09:17,455.455 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:09:17,515.515 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:09:17,517.517 INFO    ] No update needed
[2026-10-20 12:09:17,520.520 INFO    ] Checking for camera pi updates...
[2026-10-20 12:09:17,553.553 INFO    ] 200
[2026-10-20 12:09:17,555.555 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:09:17,596.596 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:09:17,642.642 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:09:17,644.644 INFO    ] No camera update needed
[2026-10-20 12:09:17,647.647 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:09:17,649.649 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:09:17,654.654 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:09:17,659.659 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:09:19,701.701 INFO    ] ================================================
[2026-10-20 12:09:19,717.717 INFO    ] Launching Daemon at Tue Oct 20 12:09:19 IST 2026
[2026-10-20 12:09:19,729.729 INFO    ] ================================================
[2026-10-20 12:09:20,387.387 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:09:20
[2026-10-20 12:09:21,064.064 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:09:21,370.370 INFO    ] Initializing speech engine...
[2026-10-20 12:09:21,377.377 INFO    ] 2026-10-20 12:09:21
[2026-10-20 12:09:21,650.650 INFO    ] 2026-10-20 12:09:21
[2026-10-20 12:09:21,706.706 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:09:21,930.930 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:09:21,940.940 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:09:22,154.154 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:09:22,200.200 INFO    ] time= 20/10/2026 12:09:22
[2026-10-20 12:09:22,217.217 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:09:22,228.228 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:09:22,372.372 INFO    ] No existing commands found in stream
[2026-10-20 12:09:27,403.403 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:09:27,407.407 INFO    ] Waiting 0.53 seconds before fallback handling...
[2026-10-20 12:09:28,449.449 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:09:28,452.452 INFO    ] Checking for system updates...
[2026-10-20 12:09:28,489.489 INFO    ] 200
[2026-10-20 12:09:28,492.492 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:09:28,544.544 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:09:28,547.547 INFO    ] No update needed
[2026-10-20 12:09:28,550.550 INFO    ] Checking for camera pi updates...
[2026-10-20 12:09:28,588.588 INFO    ] 200
[2026-10-20 12:09:28,591.591 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:09:28,637.637 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:09:28,682.682 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:09:28,685.685 INFO    ] No camera update needed
[2026-10-20 12:09:28,688.688 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:09:28,692.692 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:09:28,698.698 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:09:28,704.704 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:09:30,745.745 INFO    ] ================================================
[2026-10-20 12:09:30,761.761 INFO    ] Launching Daemon at Tue Oct 20 12:09:30 IST 2026
[2026-10-20 12:09:30,772.772 INFO    ] ================================================
[2026-10-20 12:09:31,425.425 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:09:31
[2026-10-20 12:09:32,085.085 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:09:32,366.366 INFO    ] Initializing speech engine...
[2026-10-20 12:09:32,375.375 INFO    ] 2026-10-20 12:09:32
[2026-10-20 12:09:32,659.659 INFO    ] 2026-10-20 12:09:32
[2026-10-20 12:09:32,699.699 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:09:32,866.866 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:09:32,909.909 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:09:33,062.062 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:09:33,074.074 INFO    ] time= 20/10/2026 12:09:33
[2026-10-20 12:09:33,078.078 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:09:33,094.094 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:09:33,193.193 INFO    ] No existing commands found in stream
[2026-10-20 12:09:38,223.223 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:09:38,225.225 INFO    ] Waiting 1.83 seconds before fallback handling...
[2026-10-20 12:09:40,550.550 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:09:40,553.553 INFO    ] Checking for system updates...
[2026-10-20 12:09:40,588.588 INFO    ] 200
[2026-10-20 12:09:40,591.591 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:09:40,650.650 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:09:40,652.652 INFO    ] No update needed
[2026-10-20 12:09:40,655.655 INFO    ] Checking for camera pi updates...
[2026-10-20 12:09:40,687.687 INFO    ] 200
[2026-10-20 12:09:40,690.690 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:09:40,735.735 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:09:40,783.783 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:09:40,785.785 INFO    ] No camera update needed
[2026-10-20 12:09:40,787.787 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:09:40,790.790 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:09:40,795.795 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:09:40,800.800 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:09:42,839.839 INFO    ] ================================================
[2026-10-20 12:09:42,855.855 INFO    ] Launching Daemon at Tue Oct 20 12:09:42 IST 2026
[2026-10-20 12:09:42,866.866 INFO    ] ================================================
[2026-10-20 12:09:43,436.436 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:09:43
[2026-10-20 12:09:44,023.023 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:09:44,299.299 INFO    ] Initializing speech engine...
[2026-10-20 12:09:44,307.307 INFO    ] 2026-10-20 12:09:44
[2026-10-20 12:09:44,565.565 INFO    ] 2026-10-20 12:09:44
[2026-10-20 12:09:44,596.596 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:09:44,839.839 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:09:44,849.849 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:09:45,069.069 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:09:45,104.104 INFO    ] time= 20/10/2026 12:09:45
[2026-10-20 12:09:45,110.110 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:09:45,131.131 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:09:45,258.258 INFO    ] No existing commands found in stream
[2026-10-20 12:09:50,271.271 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:09:50,274.274 INFO    ] Waiting 2.07 seconds before fallback handling...
[2026-10-20 12:09:52,817.817 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:09:52,819.819 INFO    ] Checking for system updates...
[2026-10-20 12:09:52,857.857 INFO    ] 200
[2026-10-20 12:09:52,860.860 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:09:52,920.920 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:09:52,923.923 INFO    ] No update needed
[2026-10-20 12:09:52,926.926 INFO    ] Checking for camera pi updates...
[2026-10-20 12:09:52,961.961 INFO    ] 200
[2026-10-20 12:09:52,964.964 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:09:53,014.014 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:09:53,065.065 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:09:53,068.068 INFO    ] No camera update needed
[2026-10-20 12:09:53,070.070 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:09:53,073.073 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:09:53,079.079 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:09:53,085.085 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:09:55,126.126 INFO    ] ================================================
[2026-10-20 12:09:55,142.142 INFO    ] Launching Daemon at Tue Oct 20 12:09:55 IST 2026
[2026-10-20 12:09:55,154.154 INFO    ] ================================================
[2026-10-20 12:09:55,734.734 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:09:55
[2026-10-20 12:09:56,328.328 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:09:56,606.606 INFO    ] Initializing speech engine...
[2026-10-20 12:09:56,612.612 INFO    ] 2026-10-20 12:09:56
[2026-10-20 12:09:56,869.869 INFO    ] 2026-10-20 12:09:56
[2026-10-20 12:09:56,898.898 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:09:57,142.142 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:09:57,151.151 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:09:57,288.288 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:09:57,322.322 INFO    ] time= 20/10/2026 12:09:57
[2026-10-20 12:09:57,377.377 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:09:57,417.417 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:09:57,546.546 INFO    ] No existing commands found in stream
[2026-10-20 12:10:02,576.576 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:10:02,580.580 INFO    ] Waiting 3.12 seconds before fallback handling...
[2026-10-20 12:10:08,652.652 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 12:10:08,655.655 INFO    ] Checking for system updates...
[2026-10-20 12:10:08,698.698 INFO    ] 200
[2026-10-20 12:10:08,701.701 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:10:08,759.759 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:10:08,761.761 INFO    ] No update needed
[2026-10-20 12:10:08,763.763 INFO    ] Checking for camera pi updates...
[2026-10-20 12:10:08,796.796 INFO    ] 200
[2026-10-20 12:10:08,799.799 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:10:08,844.844 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:10:08,889.889 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:10:08,891.891 INFO    ] No camera update needed
[2026-10-20 12:10:08,893.893 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:10:08,896.896 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:10:08,901.901 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:10:08,906.906 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:10:10,945.945 INFO    ] ================================================
[2026-10-20 12:10:10,961.961 INFO    ] Launching Daemon at Tue Oct 20 12:10:10 IST 2026
[2026-10-20 12:10:10,972.972 INFO    ] ================================================
[2026-10-20 12:10:11,545.545 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:10:11
[2026-10-20 12:10:12,130.130 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:10:12,396.396 INFO    ] Initializing speech engine...
[2026-10-20 12:10:12,406.406 INFO    ] 2026-10-20 12:10:12
[2026-10-20 12:10:12,664.664 INFO    ] 2026-10-20 12:10:12
[2026-10-20 12:10:12,736.736 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:10:12,955.955 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:10:12,961.961 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:10:13,176.176 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:10:13,226.226 INFO    ] time= 20/10/2026 12:10:13
[2026-10-20 12:10:13,233.233 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:10:13,252.252 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:10:13,383.383 INFO    ] No existing commands found in stream
[2026-10-20 12:10:18,407.407 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:10:18,411.411 INFO    ] Waiting 2.86 seconds before fallback handling...
[2026-10-20 12:10:21,768.768 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:10:21,771.771 INFO    ] Checking for system updates...
[2026-10-20 12:10:21,808.808 INFO    ] 200
[2026-10-20 12:10:21,811.811 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:10:21,865.865 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:10:21,867.867 INFO    ] No update needed
[2026-10-20 12:10:21,870.870 INFO    ] Checking for camera pi updates...
[2026-10-20 12:10:21,905.905 INFO    ] 200
[2026-10-20 12:10:21,907.907 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:10:21,952.952 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:10:22,101.101 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:10:22,103.103 INFO    ] No camera update needed
[2026-10-20 12:10:22,106.106 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:10:22,108.108 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:10:22,113.113 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:10:22,118.118 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:10:24,159.159 INFO    ] ================================================
[2026-10-20 12:10:24,174.174 INFO    ] Launching Daemon at Tue Oct 20 12:10:24 IST 2026
[2026-10-20 12:10:24,186.186 INFO    ] ================================================
[2026-10-20 12:10:24,830.830 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:10:24
[2026-10-20 12:10:25,415.415 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:10:25,690.690 INFO    ] Initializing speech engine...
[2026-10-20 12:10:25,697.697 INFO    ] 2026-10-20 12:10:25
[2026-10-20 12:10:25,945.945 INFO    ] 2026-10-20 12:10:25
[2026-10-20 12:10:25,980.980 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:10:26,183.183 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:10:26,234.234 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:10:26,390.390 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:10:26,461.461 INFO    ] time= 20/10/2026 12:10:26
[2026-10-20 12:10:26,515.515 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:10:26,522.522 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:10:26,661.661 INFO    ] No existing commands found in stream
[2026-10-20 12:10:31,681.681 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:10:31,684.684 INFO    ] Waiting 3.67 seconds before fallback handling...
[2026-10-20 12:10:35,813.813 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 12:10:35,815.815 INFO    ] Checking for system updates...
[2026-10-20 12:10:35,851.851 INFO    ] 200
[2026-10-20 12:10:35,854.854 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:10:35,905.905 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:10:35,907.907 INFO    ] No update needed
[2026-10-20 12:10:35,910.910 INFO    ] Checking for camera pi updates...
[2026-10-20 12:10:35,943.943 INFO    ] 200
[2026-10-20 12:10:35,945.945 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:10:35,988.988 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:10:36,040.040 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:10:36,042.042 INFO    ] No camera update needed
[2026-10-20 12:10:36,044.044 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:10:36,047.047 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:10:36,052.052 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:10:36,057.057 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:10:38,102.102 INFO    ] ================================================
[2026-10-20 12:10:38,118.118 INFO    ] Launching Daemon at Tue Oct 20 12:10:38 IST 2026
[2026-10-20 12:10:38,130.130 INFO    ] ================================================
[2026-10-20 12:10:38,791.791 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:10:38
[2026-10-20 12:10:39,472.472 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:10:39,792.792 INFO    ] Initializing speech engine...
[2026-10-20 12:10:39,802.802 INFO    ] 2026-10-20 12:10:39
[2026-10-20 12:10:40,108.108 INFO    ] 2026-10-20 12:10:40
[2026-10-20 12:10:40,193.193 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:10:40,408.408 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:10:40,414.414 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:10:40,611.611 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:10:40,619.619 INFO    ] time= 20/10/2026 12:10:40
[2026-10-20 12:10:40,640.640 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:10:40,667.667 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:10:40,780.780 INFO    ] No existing commands found in stream
[2026-10-20 12:10:45,810.810 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:10:45,814.814 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-10-20 12:10:48,784.784 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:10:48,787.787 INFO    ] Checking for system updates...
[2026-10-20 12:10:48,824.824 INFO    ] 200
[2026-10-20 12:10:48,826.826 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:10:48,880.880 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:10:48,883.883 INFO    ] No update needed
[2026-10-20 12:10:48,885.885 INFO    ] Checking for camera pi updates...
[2026-10-20 12:10:48,924.924 INFO    ] 200
[2026-10-20 12:10:48,926.926 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:10:48,971.971 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:10:49,018.018 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:10:49,021.021 INFO    ] No camera update needed
[2026-10-20 12:10:49,023.023 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:10:49,026.026 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:10:49,031.031 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:10:49,036.036 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:10:51,076.076 INFO    ] ================================================
[2026-10-20 12:10:51,092.092 INFO    ] Launching Daemon at Tue Oct 20 12:10:51 IST 2026
[2026-10-20 12:10:51,104.104 INFO    ] ================================================
[2026-10-20 12:10:51,681.681 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:10:51
[2026-10-20 12:10:52,269.269 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:10:52,545.545 INFO    ] Initializing speech engine...
[2026-10-20 12:10:52,552.552 INFO    ] 2026-10-20 12:10:52
[2026-10-20 12:10:52,809.809 INFO    ] 2026-10-20 12:10:52
[2026-10-20 12:10:52,840.840 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:10:53,061.061 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:10:53,106.106 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:10:53,287.287 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:10:53,320.320 INFO    ] time= 20/10/2026 12:10:53
[2026-10-20 12:10:53,375.375 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:10:53,429.429 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:10:53,558.558 INFO    ] No existing commands found in stream
[2026-10-20 12:10:58,585.585 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:10:58,588.588 INFO    ] Waiting 2.23 seconds before fallback handling...
[2026-10-20 12:11:01,354.354 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:11:01,357.357 INFO    ] Checking for system updates...
[2026-10-20 12:11:01,411.411 INFO    ] 200
[2026-10-20 12:11:01,414.414 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:11:01,515.515 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:11:01,521.521 INFO    ] No update needed
[2026-10-20 12:11:01,525.525 INFO    ] Checking for camera pi updates...
[2026-10-20 12:11:01,579.579 INFO    ] 200
[2026-10-20 12:11:01,582.582 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:11:01,631.631 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:11:01,681.681 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:11:01,684.684 INFO    ] No camera update needed
[2026-10-20 12:11:01,688.688 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:11:01,691.691 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:11:01,699.699 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:11:01,706.706 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:11:03,753.753 INFO    ] ================================================
[2026-10-20 12:11:03,768.768 INFO    ] Launching Daemon at Tue Oct 20 12:11:03 IST 2026
[2026-10-20 12:11:03,780.780 INFO    ] ================================================
[2026-10-20 12:11:04,431.431 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:11:04
[2026-10-20 12:11:05,099.099 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:11:05,401.401 INFO    ] Initializing speech engine...
[2026-10-20 12:11:05,409.409 INFO    ] 2026-10-20 12:11:05
[2026-10-20 12:11:05,698.698 INFO    ] 2026-10-20 12:11:05
[2026-10-20 12:11:05,736.736 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:11:05,988.988 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:11:06,006.006 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:11:06,221.221 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:11:06,229.229 INFO    ] time= 20/10/2026 12:11:06
[2026-10-20 12:11:06,250.250 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:11:06,279.279 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:11:06,399.399 INFO    ] No existing commands found in stream
[2026-10-20 12:11:11,424.424 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:11:11,428.428 INFO    ] Waiting 3.31 seconds before fallback handling...
[2026-10-20 12:11:15,227.227 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:11:15,230.230 INFO    ] Checking for system updates...
[2026-10-20 12:11:15,267.267 INFO    ] 200
[2026-10-20 12:11:15,270.270 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:11:15,329.329 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:11:15,332.332 INFO    ] No update needed
[2026-10-20 12:11:15,335.335 INFO    ] Checking for camera pi updates...
[2026-10-20 12:11:15,375.375 INFO    ] 200
[2026-10-20 12:11:15,378.378 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:11:15,423.423 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:11:15,469.469 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:11:15,472.472 INFO    ] No camera update needed
[2026-10-20 12:11:15,474.474 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:11:15,477.477 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:11:15,483.483 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:11:15,489.489 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:11:17,530.530 INFO    ] ================================================
[2026-10-20 12:11:17,545.545 INFO    ] Launching Daemon at Tue Oct 20 12:11:17 IST 2026
[2026-10-20 12:11:17,556.556 INFO    ] ================================================
[2026-10-20 12:11:18,214.214 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:11:18
[2026-10-20 12:11:18,883.883 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:11:19,157.157 INFO    ] Initializing speech engine...
[2026-10-20 12:11:19,173.173 INFO    ] 2026-10-20 12:11:19
[2026-10-20 12:11:19,454.454 INFO    ] 2026-10-20 12:11:19
[2026-10-20 12:11:19,489.489 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:11:19,687.687 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:11:19,701.701 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:11:19,863.863 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:11:19,872.872 INFO    ] time= 20/10/2026 12:11:19
[2026-10-20 12:11:19,877.877 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:11:19,883.883 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:11:20,011.011 INFO    ] No existing commands found in stream
[2026-10-20 12:11:25,031.031 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:11:25,034.034 INFO    ] Waiting 1.56 seconds before fallback handling...
[2026-10-20 12:11:27,086.086 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:11:27,089.089 INFO    ] Checking for system updates...
[2026-10-20 12:11:27,128.128 INFO    ] 200
[2026-10-20 12:11:27,131.131 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:11:27,190.190 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:11:27,193.193 INFO    ] No update needed
[2026-10-20 12:11:27,196.196 INFO    ] Checking for camera pi updates...
[2026-10-20 12:11:27,234.234 INFO    ] 200
[2026-10-20 12:11:27,237.237 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:11:27,285.285 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:11:27,338.338 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:11:27,340.340 INFO    ] No camera update needed
[2026-10-20 12:11:27,343.343 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:11:27,345.345 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:11:27,350.350 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:11:27,355.355 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:11:29,394.394 INFO    ] ================================================
[2026-10-20 12:11:29,410.410 INFO    ] Launching Daemon at Tue Oct 20 12:11:29 IST 2026
[2026-10-20 12:11:29,421.421 INFO    ] ================================================
[2026-10-20 12:11:30,080.080 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:11:30
[2026-10-20 12:11:30,757.757 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:11:31,061.061 INFO    ] Initializing speech engine...
[2026-10-20 12:11:31,070.070 INFO    ] 2026-10-20 12:11:31
[2026-10-20 12:11:31,365.365 INFO    ] 2026-10-20 12:11:31
[2026-10-20 12:11:31,408.408 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:11:31,617.617 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:11:31,677.677 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:11:31,912.912 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:11:31,964.964 INFO    ] time= 20/10/2026 12:11:31
[2026-10-20 12:11:31,984.984 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:11:31,996.996 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:11:32,128.128 INFO    ] No existing commands found in stream
[2026-10-20 12:11:37,162.162 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:11:37,165.165 INFO    ] Waiting 0.43 seconds before fallback handling...
[2026-10-20 12:11:38,044.044 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:11:38,046.046 INFO    ] Checking for system updates...
[2026-10-20 12:11:38,084.084 INFO    ] 200
[2026-10-20 12:11:38,086.086 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:11:38,145.145 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:11:38,148.148 INFO    ] No update needed
[2026-10-20 12:11:38,150.150 INFO    ] Checking for camera pi updates...
[2026-10-20 12:11:38,184.184 INFO    ] 200
[2026-10-20 12:11:38,186.186 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:11:38,232.232 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:11:38,280.280 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:11:38,282.282 INFO    ] No camera update needed
[2026-10-20 12:11:38,285.285 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:11:38,287.287 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:11:38,292.292 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:11:38,297.297 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:11:40,341.341 INFO    ] ================================================
[2026-10-20 12:11:40,357.357 INFO    ] Launching Daemon at Tue Oct 20 12:11:40 IST 2026
[2026-10-20 12:11:40,370.370 INFO    ] ================================================
[2026-10-20 12:11:40,972.972 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:11:40
[2026-10-20 12:11:41,623.623 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:11:41,896.896 INFO    ] Initializing speech engine...
[2026-10-20 12:11:41,921.921 INFO    ] 2026-10-20 12:11:41
[2026-10-20 12:11:42,195.195 INFO    ] 2026-10-20 12:11:42
[2026-10-20 12:11:42,230.230 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:11:42,452.452 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:11:42,481.481 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:11:42,680.680 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:11:42,712.712 INFO    ] time= 20/10/2026 12:11:42
[2026-10-20 12:11:42,751.751 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:11:42,800.800 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:11:42,897.897 INFO    ] No existing commands found in stream
[2026-10-20 12:11:47,924.924 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:11:47,927.927 INFO    ] Waiting 1.33 seconds before fallback handling...
[2026-10-20 12:11:49,727.727 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:11:49,729.729 INFO    ] Checking for system updates...
[2026-10-20 12:11:49,765.765 INFO    ] 200
[2026-10-20 12:11:49,767.767 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:11:49,818.818 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:11:49,821.821 INFO    ] No update needed
[2026-10-20 12:11:49,823.823 INFO    ] Checking for camera pi updates...
[2026-10-20 12:11:49,863.863 INFO    ] 200
[2026-10-20 12:11:49,866.866 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:11:49,905.905 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:11:49,950.950 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:11:49,952.952 INFO    ] No camera update needed
[2026-10-20 12:11:49,955.955 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:11:49,957.957 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:11:49,962.962 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:11:49,967.967 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:11:52,010.010 INFO    ] ================================================
[2026-10-20 12:11:52,025.025 INFO    ] Launching Daemon at Tue Oct 20 12:11:52 IST 2026
[2026-10-20 12:11:52,036.036 INFO    ] ================================================
[2026-10-20 12:11:52,612.612 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:11:52
[2026-10-20 12:11:53,199.199 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:11:53,448.448 INFO    ] Initializing speech engine...
[2026-10-20 12:11:53,469.469 INFO    ] 2026-10-20 12:11:53
[2026-10-20 12:11:53,729.729 INFO    ] 2026-10-20 12:11:53
[2026-10-20 12:11:53,764.764 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:11:53,998.998 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:11:54,032.032 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:11:54,175.175 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:11:54,235.235 INFO    ] time= 20/10/2026 12:11:54
[2026-10-20 12:11:54,289.289 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:11:54,310.310 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:11:54,432.432 INFO    ] No existing commands found in stream
[2026-10-20 12:11:59,463.463 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:11:59,465.465 INFO    ] Waiting 3.06 seconds before fallback handling...
[2026-10-20 12:12:03,011.011 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:12:03,014.014 INFO    ] Checking for system updates...
[2026-10-20 12:12:03,055.055 INFO    ] 200
[2026-10-20 12:12:03,058.058 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:12:03,123.123 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:12:03,126.126 INFO    ] No update needed
[2026-10-20 12:12:03,129.129 INFO    ] Checking for camera pi updates...
[2026-10-20 12:12:03,167.167 INFO    ] 200
[2026-10-20 12:12:03,169.169 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:12:03,233.233 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:12:03,283.283 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:12:03,286.286 INFO    ] No camera update needed
[2026-10-20 12:12:03,288.288 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:12:03,291.291 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:12:03,296.296 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:12:03,301.301 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:12:05,342.342 INFO    ] ================================================
[2026-10-20 12:12:05,357.357 INFO    ] Launching Daemon at Tue Oct 20 12:12:05 IST 2026
[2026-10-20 12:12:05,368.368 INFO    ] ================================================
[2026-10-20 12:12:05,941.941 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:12:05
[2026-10-20 12:12:06,531.531 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:12:06,792.792 INFO    ] Initializing speech engine...
[2026-10-20 12:12:06,809.809 INFO    ] 2026-10-20 12:12:06
[2026-10-20 12:12:07,095.095 INFO    ] 2026-10-20 12:12:07
[2026-10-20 12:12:07,130.130 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:12:07,331.331 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:12:07,338.338 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:12:07,510.510 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:12:07,522.522 INFO    ] time= 20/10/2026 12:12:07
[2026-10-20 12:12:07,526.526 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:12:07,532.532 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:12:07,676.676 INFO    ] No existing commands found in stream
[2026-10-20 12:12:12,706.706 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:12:12,709.709 INFO    ] Waiting 0.42 seconds before fallback handling...
[2026-10-20 12:12:13,644.644 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 12:12:13,647.647 INFO    ] Checking for system updates...
[2026-10-20 12:12:13,684.684 INFO    ] 200
[2026-10-20 12:12:13,687.687 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:12:13,740.740 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:12:13,742.742 INFO    ] No update needed
[2026-10-20 12:12:13,745.745 INFO    ] Checking for camera pi updates...
[2026-10-20 12:12:13,779.779 INFO    ] 200
[2026-10-20 12:12:13,782.782 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:12:13,823.823 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:12:13,855.855 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:12:13,857.857 INFO    ] No camera update needed
[2026-10-20 12:12:13,860.860 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:12:13,863.863 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:12:13,869.869 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:12:13,875.875 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:12:15,916.916 INFO    ] ================================================
[2026-10-20 12:12:15,932.932 INFO    ] Launching Daemon at Tue Oct 20 12:12:15 IST 2026
[2026-10-20 12:12:15,943.943 INFO    ] ================================================
[2026-10-20 12:12:16,509.509 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:12:16
[2026-10-20 12:12:17,094.094 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:12:17,349.349 INFO    ] Initializing speech engine...
[2026-10-20 12:12:17,358.358 INFO    ] 2026-10-20 12:12:17
[2026-10-20 12:12:17,652.652 INFO    ] 2026-10-20 12:12:17
[2026-10-20 12:12:17,687.687 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:12:17,888.888 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:12:17,894.894 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:12:18,049.049 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:12:18,067.067 INFO    ] time= 20/10/2026 12:12:18
[2026-10-20 12:12:18,078.078 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:12:18,083.083 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:12:18,199.199 INFO    ] No existing commands found in stream
[2026-10-20 12:12:23,224.224 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:12:23,226.226 INFO    ] Waiting 2.46 seconds before fallback handling...
[2026-10-20 12:12:26,193.193 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:12:26,196.196 INFO    ] Checking for system updates...
[2026-10-20 12:12:26,233.233 INFO    ] 200
[2026-10-20 12:12:26,236.236 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:12:26,297.297 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:12:26,300.300 INFO    ] No update needed
[2026-10-20 12:12:26,304.304 INFO    ] Checking for camera pi updates...
[2026-10-20 12:12:26,339.339 INFO    ] 200
[2026-10-20 12:12:26,342.342 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:12:26,383.383 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:12:26,513.513 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:12:26,516.516 INFO    ] No camera update needed
[2026-10-20 12:12:26,519.519 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:12:26,522.522 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:12:26,528.528 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:12:26,534.534 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:12:28,575.575 INFO    ] ================================================
[2026-10-20 12:12:28,591.591 INFO    ] Launching Daemon at Tue Oct 20 12:12:28 IST 2026
[2026-10-20 12:12:28,601.601 INFO    ] ================================================
[2026-10-20 12:12:29,172.172 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:12:29
[2026-10-20 12:12:29,763.763 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:12:30,020.020 INFO    ] Initializing speech engine...
[2026-10-20 12:12:30,027.027 INFO    ] 2026-10-20 12:12:30
[2026-10-20 12:12:30,325.325 INFO    ] 2026-10-20 12:12:30
[2026-10-20 12:12:30,351.351 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:12:30,555.555 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:12:30,574.574 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:12:30,772.772 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:12:30,778.778 INFO    ] time= 20/10/2026 12:12:30
[2026-10-20 12:12:30,823.823 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:12:30,897.897 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:12:30,969.969 INFO    ] No existing commands found in stream
[2026-10-20 12:12:35,981.981 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:12:35,983.983 INFO    ] Waiting 0.59 seconds before fallback handling...
[2026-10-20 12:12:37,089.089 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:12:37,092.092 INFO    ] Checking for system updates...
[2026-10-20 12:12:37,127.127 INFO    ] 200
[2026-10-20 12:12:37,129.129 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:12:37,182.182 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:12:37,185.185 INFO    ] No update needed
[2026-10-20 12:12:37,187.187 INFO    ] Checking for camera pi updates...
[2026-10-20 12:12:37,220.220 INFO    ] 200
[2026-10-20 12:12:37,223.223 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:12:37,263.263 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:12:37,309.309 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:12:37,312.312 INFO    ] No camera update needed
[2026-10-20 12:12:37,314.314 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:12:37,316.316 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:12:37,322.322 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:12:37,327.327 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:12:39,366.366 INFO    ] ================================================
[2026-10-20 12:12:39,382.382 INFO    ] Launching Daemon at Tue Oct 20 12:12:39 IST 2026
[2026-10-20 12:12:39,393.393 INFO    ] ================================================
[2026-10-20 12:12:39,967.967 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:12:39
[2026-10-20 12:12:40,559.559 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:12:40,855.855 INFO    ] Initializing speech engine...
[2026-10-20 12:12:40,863.863 INFO    ] 2026-10-20 12:12:40
[2026-10-20 12:12:41,132.132 INFO    ] 2026-10-20 12:12:41
[2026-10-20 12:12:41,168.168 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:12:41,370.370 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:12:41,426.426 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:12:41,566.566 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:12:41,622.622 INFO    ] time= 20/10/2026 12:12:41
[2026-10-20 12:12:41,676.676 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:12:41,698.698 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:12:41,830.830 INFO    ] No existing commands found in stream
[2026-10-20 12:12:46,854.854 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:12:46,857.857 INFO    ] Waiting 1.89 seconds before fallback handling...
[2026-10-20 12:12:49,196.196 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 12:12:49,199.199 INFO    ] Checking for system updates...
[2026-10-20 12:12:49,235.235 INFO    ] 200
[2026-10-20 12:12:49,237.237 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:12:49,288.288 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:12:49,291.291 INFO    ] No update needed
[2026-10-20 12:12:49,293.293 INFO    ] Checking for camera pi updates...
[2026-10-20 12:12:49,326.326 INFO    ] 200
[2026-10-20 12:12:49,328.328 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:12:49,368.368 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:12:49,421.421 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:12:49,423.423 INFO    ] No camera update needed
[2026-10-20 12:12:49,425.425 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:12:49,428.428 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:12:49,433.433 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:12:49,438.438 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:12:51,479.479 INFO    ] ================================================
[2026-10-20 12:12:51,495.495 INFO    ] Launching Daemon at Tue Oct 20 12:12:51 IST 2026
[2026-10-20 12:12:51,506.506 INFO    ] ================================================
[2026-10-20 12:12:52,076.076 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:12:52
[2026-10-20 12:12:52,657.657 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:12:52,924.924 INFO    ] Initializing speech engine...
[2026-10-20 12:12:52,933.933 INFO    ] 2026-10-20 12:12:52
[2026-10-20 12:12:53,192.192 INFO    ] 2026-10-20 12:12:53
[2026-10-20 12:12:53,245.245 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:12:53,472.472 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:12:53,481.481 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:12:53,616.616 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:12:53,653.653 INFO    ] time= 20/10/2026 12:12:53
[2026-10-20 12:12:53,707.707 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:12:53,753.753 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:12:53,885.885 INFO    ] No existing commands found in stream
[2026-10-20 12:12:58,915.915 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:12:58,918.918 INFO    ] Waiting 0.14 seconds before fallback handling...
[2026-10-20 12:12:59,550.550 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:12:59,553.553 INFO    ] Checking for system updates...
[2026-10-20 12:12:59,587.587 INFO    ] 200
[2026-10-20 12:12:59,590.590 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:12:59,641.641 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:12:59,644.644 INFO    ] No update needed
[2026-10-20 12:12:59,646.646 INFO    ] Checking for camera pi updates...
[2026-10-20 12:12:59,679.679 INFO    ] 200
[2026-10-20 12:12:59,682.682 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:12:59,722.722 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:12:59,768.768 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:12:59,770.770 INFO    ] No camera update needed
[2026-10-20 12:12:59,773.773 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:12:59,775.775 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:12:59,780.780 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:12:59,785.785 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:13:01,826.826 INFO    ] ================================================
[2026-10-20 12:13:01,848.848 INFO    ] Launching Daemon at Tue Oct 20 12:13:01 IST 2026
[2026-10-20 12:13:01,865.865 INFO    ] ================================================
[2026-10-20 12:13:02,505.505 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:13:02
[2026-10-20 12:13:03,251.251 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:13:03,558.558 INFO    ] Initializing speech engine...
[2026-10-20 12:13:03,571.571 INFO    ] 2026-10-20 12:13:03
[2026-10-20 12:13:03,880.880 INFO    ] 2026-10-20 12:13:03
[2026-10-20 12:13:03,966.966 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:13:04,178.178 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:13:04,186.186 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:13:04,379.379 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:13:04,389.389 INFO    ] time= 20/10/2026 12:13:04
[2026-10-20 12:13:04,405.405 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:13:04,415.415 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:13:04,544.544 INFO    ] No existing commands found in stream
[2026-10-20 12:13:09,575.575 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:13:09,578.578 INFO    ] Waiting 4.00 seconds before fallback handling...
[2026-10-20 12:13:14,076.076 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:13:14,079.079 INFO    ] Checking for system updates...
[2026-10-20 12:13:14,115.115 INFO    ] 200
[2026-10-20 12:13:14,118.118 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:13:14,172.172 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:13:14,174.174 INFO    ] No update needed
[2026-10-20 12:13:14,177.177 INFO    ] Checking for camera pi updates...
[2026-10-20 12:13:14,211.211 INFO    ] 200
[2026-10-20 12:13:14,214.214 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:13:14,255.255 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:13:14,306.306 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:13:14,308.308 INFO    ] No camera update needed
[2026-10-20 12:13:14,311.311 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:13:14,314.314 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:13:14,320.320 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:13:14,326.326 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:13:16,368.368 INFO    ] ================================================
[2026-10-20 12:13:16,383.383 INFO    ] Launching Daemon at Tue Oct 20 12:13:16 IST 2026
[2026-10-20 12:13:16,395.395 INFO    ] ================================================
[2026-10-20 12:13:16,966.966 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:13:16
[2026-10-20 12:13:17,555.555 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:13:17,804.804 INFO    ] Initializing speech engine...
[2026-10-20 12:13:17,824.824 INFO    ] 2026-10-20 12:13:17
[2026-10-20 12:13:18,082.082 INFO    ] 2026-10-20 12:13:18
[2026-10-20 12:13:18,117.117 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:13:18,318.318 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:13:18,360.360 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:13:18,519.519 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:13:18,571.571 INFO    ] time= 20/10/2026 12:13:18
[2026-10-20 12:13:18,631.631 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:13:18,655.655 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:13:18,790.790 INFO    ] No existing commands found in stream
[2026-10-20 12:13:23,813.813 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:13:23,816.816 INFO    ] Waiting 1.12 seconds before fallback handling...
[2026-10-20 12:13:25,483.483 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:13:25,486.486 INFO    ] Checking for system updates...
[2026-10-20 12:13:25,521.521 INFO    ] 200
[2026-10-20 12:13:25,523.523 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:13:25,584.584 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:13:25,587.587 INFO    ] No update needed
[2026-10-20 12:13:25,589.589 INFO    ] Checking for camera pi updates...
[2026-10-20 12:13:25,625.625 INFO    ] 200
[2026-10-20 12:13:25,628.628 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:13:25,670.670 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:13:25,713.713 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:13:25,716.716 INFO    ] No camera update needed
[2026-10-20 12:13:25,718.718 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:13:25,720.720 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:13:25,725.725 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:13:25,731.731 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:13:27,772.772 INFO    ] ================================================
[2026-10-20 12:13:27,787.787 INFO    ] Launching Daemon at Tue Oct 20 12:13:27 IST 2026
[2026-10-20 12:13:27,799.799 INFO    ] ================================================
[2026-10-20 12:13:28,379.379 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:13:28
[2026-10-20 12:13:28,980.980 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:13:29,237.237 INFO    ] Initializing speech engine...
[2026-10-20 12:13:29,246.246 INFO    ] 2026-10-20 12:13:29
[2026-10-20 12:13:29,539.539 INFO    ] 2026-10-20 12:13:29
[2026-10-20 12:13:29,577.577 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:13:29,796.796 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:13:29,850.850 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:13:30,021.021 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:13:30,059.059 INFO    ] time= 20/10/2026 12:13:30
[2026-10-20 12:13:30,114.114 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:13:30,163.163 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:13:30,291.291 INFO    ] No existing commands found in stream
[2026-10-20 12:13:35,314.314 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:13:35,317.317 INFO    ] Waiting 0.20 seconds before fallback handling...
[2026-10-20 12:13:35,976.976 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:13:35,979.979 INFO    ] Checking for system updates...
[2026-10-20 12:13:36,015.015 INFO    ] 200
[2026-10-20 12:13:36,017.017 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:13:36,071.071 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:13:36,073.073 INFO    ] No update needed
[2026-10-20 12:13:36,076.076 INFO    ] Checking for camera pi updates...
[2026-10-20 12:13:36,115.115 INFO    ] 200
[2026-10-20 12:13:36,117.117 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:13:36,157.157 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:13:36,202.202 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:13:36,204.204 INFO    ] No camera update needed
[2026-10-20 12:13:36,207.207 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:13:36,209.209 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:13:36,214.214 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:13:36,219.219 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:13:38,259.259 INFO    ] ================================================
[2026-10-20 12:13:38,275.275 INFO    ] Launching Daemon at Tue Oct 20 12:13:38 IST 2026
[2026-10-20 12:13:38,286.286 INFO    ] ================================================
[2026-10-20 12:13:38,869.869 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:13:38
[2026-10-20 12:13:39,468.468 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:13:39,730.730 INFO    ] Initializing speech engine...
[2026-10-20 12:13:39,746.746 INFO    ] 2026-10-20 12:13:39
[2026-10-20 12:13:40,028.028 INFO    ] 2026-10-20 12:13:40
[2026-10-20 12:13:40,067.067 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:13:40,287.287 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:13:40,305.305 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:13:40,505.505 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:13:40,517.517 INFO    ] time= 20/10/2026 12:13:40
[2026-10-20 12:13:40,539.539 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:13:40,593.593 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:13:40,691.691 INFO    ] No existing commands found in stream
[2026-10-20 12:13:45,708.708 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:13:45,711.711 INFO    ] Waiting 2.71 seconds before fallback handling...
[2026-10-20 12:13:48,909.909 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 12:13:48,912.912 INFO    ] Checking for system updates...
[2026-10-20 12:13:48,947.947 INFO    ] 200
[2026-10-20 12:13:48,949.949 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:13:49,000.000 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:13:49,003.003 INFO    ] No update needed
[2026-10-20 12:13:49,005.005 INFO    ] Checking for camera pi updates...
[2026-10-20 12:13:49,040.040 INFO    ] 200
[2026-10-20 12:13:49,043.043 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:13:49,085.085 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:13:49,134.134 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:13:49,137.137 INFO    ] No camera update needed
[2026-10-20 12:13:49,139.139 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:13:49,141.141 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:13:49,147.147 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:13:49,152.152 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:13:51,191.191 INFO    ] ================================================
[2026-10-20 12:13:51,206.206 INFO    ] Launching Daemon at Tue Oct 20 12:13:51 IST 2026
[2026-10-20 12:13:51,216.216 INFO    ] ================================================
[2026-10-20 12:13:51,786.786 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:13:51
[2026-10-20 12:13:52,403.403 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:13:52,704.704 INFO    ] Initializing speech engine...
[2026-10-20 12:13:52,715.715 INFO    ] 2026-10-20 12:13:52
[2026-10-20 12:13:52,996.996 INFO    ] 2026-10-20 12:13:52
[2026-10-20 12:13:53,042.042 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:13:53,273.273 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:13:53,279.279 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:13:53,507.507 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:13:53,543.543 INFO    ] time= 20/10/2026 12:13:53
[2026-10-20 12:13:53,549.549 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:13:53,572.572 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:13:53,709.709 INFO    ] No existing commands found in stream
[2026-10-20 12:13:58,736.736 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:13:58,740.740 INFO    ] Waiting 2.22 seconds before fallback handling...
[2026-10-20 12:14:01,501.501 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:14:01,505.505 INFO    ] Checking for system updates...
[2026-10-20 12:14:01,564.564 INFO    ] 200
[2026-10-20 12:14:01,568.568 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:14:01,657.657 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:14:01,660.660 INFO    ] No update needed
[2026-10-20 12:14:01,663.663 INFO    ] Checking for camera pi updates...
[2026-10-20 12:14:01,701.701 INFO    ] 200
[2026-10-20 12:14:01,705.705 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:14:01,760.760 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:14:01,803.803 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:14:01,806.806 INFO    ] No camera update needed
[2026-10-20 12:14:01,809.809 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:14:01,812.812 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:14:01,820.820 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:14:01,827.827 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:14:03,872.872 INFO    ] ================================================
[2026-10-20 12:14:03,887.887 INFO    ] Launching Daemon at Tue Oct 20 12:14:03 IST 2026
[2026-10-20 12:14:03,898.898 INFO    ] ================================================
[2026-10-20 12:14:04,479.479 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:14:04
[2026-10-20 12:14:05,076.076 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:14:05,352.352 INFO    ] Initializing speech engine...
[2026-10-20 12:14:05,359.359 INFO    ] 2026-10-20 12:14:05
[2026-10-20 12:14:05,619.619 INFO    ] 2026-10-20 12:14:05
[2026-10-20 12:14:05,670.670 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:14:05,894.894 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:14:05,904.904 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:14:06,037.037 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:14:06,102.102 INFO    ] time= 20/10/2026 12:14:06
[2026-10-20 12:14:06,165.165 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:14:06,173.173 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:14:06,316.316 INFO    ] No existing commands found in stream
[2026-10-20 12:14:11,333.333 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:14:11,336.336 INFO    ] Waiting 2.77 seconds before fallback handling...
[2026-10-20 12:14:14,601.601 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:14:14,603.603 INFO    ] Checking for system updates...
[2026-10-20 12:14:14,639.639 INFO    ] 200
[2026-10-20 12:14:14,641.641 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:14:14,699.699 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:14:14,701.701 INFO    ] No update needed
[2026-10-20 12:14:14,704.704 INFO    ] Checking for camera pi updates...
[2026-10-20 12:14:14,737.737 INFO    ] 200
[2026-10-20 12:14:14,739.739 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:14:14,780.780 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:14:14,830.830 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:14:14,832.832 INFO    ] No camera update needed
[2026-10-20 12:14:14,835.835 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:14:14,837.837 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:14:14,842.842 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:14:14,847.847 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:14:16,888.888 INFO    ] ================================================
[2026-10-20 12:14:16,902.902 INFO    ] Launching Daemon at Tue Oct 20 12:14:16 IST 2026
[2026-10-20 12:14:16,913.913 INFO    ] ================================================
[2026-10-20 12:14:17,480.480 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:14:17
[2026-10-20 12:14:18,065.065 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:14:18,326.326 INFO    ] Initializing speech engine...
[2026-10-20 12:14:18,345.345 INFO    ] 2026-10-20 12:14:18
[2026-10-20 12:14:18,594.594 INFO    ] 2026-10-20 12:14:18
[2026-10-20 12:14:18,628.628 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:14:18,848.848 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:14:18,892.892 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:14:19,036.036 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:14:19,070.070 INFO    ] time= 20/10/2026 12:14:19
[2026-10-20 12:14:19,119.119 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:14:19,170.170 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:14:19,289.289 INFO    ] No existing commands found in stream
[2026-10-20 12:14:24,311.311 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:14:24,314.314 INFO    ] Waiting 3.01 seconds before fallback handling...
[2026-10-20 12:14:27,799.799 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 12:14:27,802.802 INFO    ] Checking for system updates...
[2026-10-20 12:14:27,841.841 INFO    ] 200
[2026-10-20 12:14:27,844.844 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:14:27,902.902 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:14:27,904.904 INFO    ] No update needed
[2026-10-20 12:14:27,907.907 INFO    ] Checking for camera pi updates...
[2026-10-20 12:14:27,942.942 INFO    ] 200
[2026-10-20 12:14:27,944.944 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:14:27,985.985 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:14:28,016.016 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:14:28,019.019 INFO    ] No camera update needed
[2026-10-20 12:14:28,022.022 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:14:28,024.024 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:14:28,030.030 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:14:28,036.036 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:14:30,078.078 INFO    ] ================================================
[2026-10-20 12:14:30,093.093 INFO    ] Launching Daemon at Tue Oct 20 12:14:30 IST 2026
[2026-10-20 12:14:30,104.104 INFO    ] ================================================
[2026-10-20 12:14:30,685.685 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:14:30
[2026-10-20 12:14:31,293.293 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:14:31,579.579 INFO    ] Initializing speech engine...
[2026-10-20 12:14:31,596.596 INFO    ] 2026-10-20 12:14:31
[2026-10-20 12:14:31,872.872 INFO    ] 2026-10-20 12:14:31
[2026-10-20 12:14:31,916.916 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:14:32,163.163 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:14:32,186.186 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:14:32,335.335 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:14:32,407.407 INFO    ] time= 20/10/2026 12:14:32
[2026-10-20 12:14:32,422.422 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:14:32,425.425 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:14:32,511.511 INFO    ] No existing commands found in stream
[2026-10-20 12:14:37,522.522 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:14:37,525.525 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-10-20 12:14:38,604.604 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:14:38,607.607 INFO    ] Checking for system updates...
[2026-10-20 12:14:38,647.647 INFO    ] 200
[2026-10-20 12:14:38,650.650 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:14:38,701.701 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:14:38,703.703 INFO    ] No update needed
[2026-10-20 12:14:38,706.706 INFO    ] Checking for camera pi updates...
[2026-10-20 12:14:38,739.739 INFO    ] 200
[2026-10-20 12:14:38,741.741 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:14:38,781.781 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:14:38,837.837 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:14:38,839.839 INFO    ] No camera update needed
[2026-10-20 12:14:38,842.842 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:14:38,844.844 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:14:38,849.849 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:14:38,854.854 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:14:40,896.896 INFO    ] ================================================
[2026-10-20 12:14:40,912.912 INFO    ] Launching Daemon at Tue Oct 20 12:14:40 IST 2026
[2026-10-20 12:14:40,923.923 INFO    ] ================================================
[2026-10-20 12:14:41,569.569 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:14:41
[2026-10-20 12:14:42,199.199 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:14:42,456.456 INFO    ] Initializing speech engine...
[2026-10-20 12:14:42,465.465 INFO    ] 2026-10-20 12:14:42
[2026-10-20 12:14:42,760.760 INFO    ] 2026-10-20 12:14:42
[2026-10-20 12:14:42,794.794 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:14:42,957.957 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:14:42,980.980 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:14:43,143.143 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:14:43,147.147 INFO    ] time= 20/10/2026 12:14:43
[2026-10-20 12:14:43,167.167 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:14:43,190.190 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:14:43,276.276 INFO    ] No existing commands found in stream
[2026-10-20 12:14:48,306.306 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:14:48,309.309 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-10-20 12:14:49,890.890 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:14:49,894.894 INFO    ] Checking for system updates...
[2026-10-20 12:14:49,935.935 INFO    ] 200
[2026-10-20 12:14:49,937.937 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:14:49,990.990 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:14:49,992.992 INFO    ] No update needed
[2026-10-20 12:14:49,994.994 INFO    ] Checking for camera pi updates...
[2026-10-20 12:14:50,032.032 INFO    ] 200
[2026-10-20 12:14:50,034.034 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:14:50,080.080 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:14:50,123.123 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:14:50,126.126 INFO    ] No camera update needed
[2026-10-20 12:14:50,128.128 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:14:50,130.130 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:14:50,135.135 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:14:50,140.140 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:14:52,180.180 INFO    ] ================================================
[2026-10-20 12:14:52,195.195 INFO    ] Launching Daemon at Tue Oct 20 12:14:52 IST 2026
[2026-10-20 12:14:52,206.206 INFO    ] ================================================
[2026-10-20 12:14:52,774.774 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:14:52
[2026-10-20 12:14:53,358.358 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:14:53,607.607 INFO    ] Initializing speech engine...
[2026-10-20 12:14:53,632.632 INFO    ] 2026-10-20 12:14:53
[2026-10-20 12:14:53,888.888 INFO    ] 2026-10-20 12:14:53
[2026-10-20 12:14:53,924.924 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:14:54,126.126 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:14:54,168.168 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:14:54,332.332 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:14:54,402.402 INFO    ] time= 20/10/2026 12:14:54
[2026-10-20 12:14:54,456.456 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:14:54,466.466 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:14:54,603.603 INFO    ] No existing commands found in stream
[2026-10-20 12:14:59,630.630 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:14:59,632.632 INFO    ] Waiting 0.29 seconds before fallback handling...
[2026-10-20 12:15:00,431.431 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 12:15:00,433.433 INFO    ] Checking for system updates...
[2026-10-20 12:15:00,469.469 INFO    ] 200
[2026-10-20 12:15:00,472.472 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:15:00,523.523 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:15:00,526.526 INFO    ] No update needed
[2026-10-20 12:15:00,528.528 INFO    ] Checking for camera pi updates...
[2026-10-20 12:15:00,562.562 INFO    ] 200
[2026-10-20 12:15:00,564.564 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:15:00,609.609 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:15:00,656.656 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:15:00,659.659 INFO    ] No camera update needed
[2026-10-20 12:15:00,661.661 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:15:00,664.664 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:15:00,669.669 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:15:00,674.674 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:15:02,732.732 INFO    ] ================================================
[2026-10-20 12:15:02,753.753 INFO    ] Launching Daemon at Tue Oct 20 12:15:02 IST 2026
[2026-10-20 12:15:02,765.765 INFO    ] ================================================
[2026-10-20 12:15:03,434.434 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:15:03
[2026-10-20 12:15:04,063.063 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:15:04,341.341 INFO    ] Initializing speech engine...
[2026-10-20 12:15:04,346.346 INFO    ] 2026-10-20 12:15:04
[2026-10-20 12:15:04,608.608 INFO    ] 2026-10-20 12:15:04
[2026-10-20 12:15:04,662.662 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:15:04,883.883 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:15:04,893.893 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:15:05,088.088 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:15:05,143.143 INFO    ] time= 20/10/2026 12:15:05
[2026-10-20 12:15:05,157.157 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:15:05,176.176 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:15:05,291.291 INFO    ] No existing commands found in stream
[2026-10-20 12:15:10,315.315 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:15:10,318.318 INFO    ] Waiting 1.60 seconds before fallback handling...
[2026-10-20 12:15:12,409.409 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:15:12,412.412 INFO    ] Checking for system updates...
[2026-10-20 12:15:12,448.448 INFO    ] 200
[2026-10-20 12:15:12,451.451 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:15:12,503.503 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:15:12,505.505 INFO    ] No update needed
[2026-10-20 12:15:12,508.508 INFO    ] Checking for camera pi updates...
[2026-10-20 12:15:12,545.545 INFO    ] 200
[2026-10-20 12:15:12,547.547 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:15:12,588.588 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:15:12,633.633 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:15:12,636.636 INFO    ] No camera update needed
[2026-10-20 12:15:12,638.638 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:15:12,641.641 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:15:12,646.646 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:15:12,651.651 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:15:14,691.691 INFO    ] ================================================
[2026-10-20 12:15:14,707.707 INFO    ] Launching Daemon at Tue Oct 20 12:15:14 IST 2026
[2026-10-20 12:15:14,718.718 INFO    ] ================================================
[2026-10-20 12:15:15,298.298 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:15:15
[2026-10-20 12:15:15,896.896 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:15:16,177.177 INFO    ] Initializing speech engine...
[2026-10-20 12:15:16,183.183 INFO    ] 2026-10-20 12:15:16
[2026-10-20 12:15:16,446.446 INFO    ] 2026-10-20 12:15:16
[2026-10-20 12:15:16,476.476 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:15:16,723.723 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:15:16,733.733 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:15:16,866.866 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:15:16,931.931 INFO    ] time= 20/10/2026 12:15:16
[2026-10-20 12:15:16,991.991 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:15:17,000.000 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:15:17,135.135 INFO    ] No existing commands found in stream
[2026-10-20 12:15:22,157.157 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:15:22,160.160 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-10-20 12:15:24,437.437 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:15:24,440.440 INFO    ] Checking for system updates...
[2026-10-20 12:15:24,481.481 INFO    ] 200
[2026-10-20 12:15:24,484.484 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:15:24,549.549 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:15:24,552.552 INFO    ] No update needed
[2026-10-20 12:15:24,555.555 INFO    ] Checking for camera pi updates...
[2026-10-20 12:15:24,590.590 INFO    ] 200
[2026-10-20 12:15:24,592.592 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:15:24,642.642 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:15:24,689.689 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:15:24,692.692 INFO    ] No camera update needed
[2026-10-20 12:15:24,695.695 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:15:24,697.697 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:15:24,704.704 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:15:24,709.709 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:15:26,753.753 INFO    ] ================================================
[2026-10-20 12:15:26,770.770 INFO    ] Launching Daemon at Tue Oct 20 12:15:26 IST 2026
[2026-10-20 12:15:26,781.781 INFO    ] ================================================
[2026-10-20 12:15:27,356.356 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:15:27
[2026-10-20 12:15:27,958.958 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:15:28,236.236 INFO    ] Initializing speech engine...
[2026-10-20 12:15:28,243.243 INFO    ] 2026-10-20 12:15:28
[2026-10-20 12:15:28,518.518 INFO    ] 2026-10-20 12:15:28
[2026-10-20 12:15:28,561.561 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:15:28,785.785 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:15:28,790.790 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:15:28,993.993 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:15:29,046.046 INFO    ] time= 20/10/2026 12:15:28
[2026-10-20 12:15:29,053.053 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:15:29,070.070 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:15:29,194.194 INFO    ] No existing commands found in stream
[2026-10-20 12:15:34,221.221 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:15:34,224.224 INFO    ] Waiting 0.17 seconds before fallback handling...
[2026-10-20 12:15:34,883.883 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:15:34,886.886 INFO    ] Checking for system updates...
[2026-10-20 12:15:34,922.922 INFO    ] 200
[2026-10-20 12:15:34,925.925 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:15:34,983.983 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:15:34,986.986 INFO    ] No update needed
[2026-10-20 12:15:34,988.988 INFO    ] Checking for camera pi updates...
[2026-10-20 12:15:35,021.021 INFO    ] 200
[2026-10-20 12:15:35,024.024 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:15:35,069.069 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:15:35,117.117 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:15:35,119.119 INFO    ] No camera update needed
[2026-10-20 12:15:35,122.122 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:15:35,124.124 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:15:35,130.130 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:15:35,135.135 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:15:37,175.175 INFO    ] ================================================
[2026-10-20 12:15:37,190.190 INFO    ] Launching Daemon at Tue Oct 20 12:15:37 IST 2026
[2026-10-20 12:15:37,201.201 INFO    ] ================================================
[2026-10-20 12:15:37,857.857 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:15:37
[2026-10-20 12:15:38,534.534 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:15:38,853.853 INFO    ] Initializing speech engine...
[2026-10-20 12:15:38,862.862 INFO    ] 2026-10-20 12:15:38
[2026-10-20 12:15:39,165.165 INFO    ] 2026-10-20 12:15:39
[2026-10-20 12:15:39,254.254 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:15:39,453.453 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:15:39,471.471 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:15:39,659.659 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:15:39,675.675 INFO    ] time= 20/10/2026 12:15:39
[2026-10-20 12:15:39,697.697 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:15:39,727.727 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:15:39,840.840 INFO    ] No existing commands found in stream
[2026-10-20 12:15:44,870.870 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:15:44,873.873 INFO    ] Waiting 3.46 seconds before fallback handling...
[2026-10-20 12:15:48,830.830 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:15:48,833.833 INFO    ] Checking for system updates...
[2026-10-20 12:15:48,869.869 INFO    ] 200
[2026-10-20 12:15:48,872.872 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:15:48,925.925 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:15:48,928.928 INFO    ] No update needed
[2026-10-20 12:15:48,931.931 INFO    ] Checking for camera pi updates...
[2026-10-20 12:15:48,965.965 INFO    ] 200
[2026-10-20 12:15:48,967.967 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:15:49,013.013 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:15:49,059.059 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:15:49,062.062 INFO    ] No camera update needed
[2026-10-20 12:15:49,064.064 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:15:49,066.066 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:15:49,071.071 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:15:49,076.076 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:15:51,116.116 INFO    ] ================================================
[2026-10-20 12:15:51,132.132 INFO    ] Launching Daemon at Tue Oct 20 12:15:51 IST 2026
[2026-10-20 12:15:51,143.143 INFO    ] ================================================
[2026-10-20 12:15:51,730.730 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:15:51
[2026-10-20 12:15:52,323.323 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:15:52,604.604 INFO    ] Initializing speech engine...
[2026-10-20 12:15:52,612.612 INFO    ] 2026-10-20 12:15:52
[2026-10-20 12:15:52,856.856 INFO    ] 2026-10-20 12:15:52
[2026-10-20 12:15:52,892.892 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:15:53,085.085 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:15:53,093.093 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:15:53,286.286 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:15:53,297.297 INFO    ] time= 20/10/2026 12:15:53
[2026-10-20 12:15:53,362.362 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:15:53,416.416 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:15:53,542.542 INFO    ] No existing commands found in stream
[2026-10-20 12:15:58,575.575 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:15:58,578.578 INFO    ] Waiting 0.52 seconds before fallback handling...
[2026-10-20 12:15:59,595.595 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:15:59,598.598 INFO    ] Checking for system updates...
[2026-10-20 12:15:59,634.634 INFO    ] 200
[2026-10-20 12:15:59,636.636 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:15:59,696.696 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:15:59,698.698 INFO    ] No update needed
[2026-10-20 12:15:59,701.701 INFO    ] Checking for camera pi updates...
[2026-10-20 12:15:59,734.734 INFO    ] 200
[2026-10-20 12:15:59,737.737 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:15:59,776.776 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:15:59,808.808 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:15:59,810.810 INFO    ] No camera update needed
[2026-10-20 12:15:59,813.813 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:15:59,815.815 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:15:59,820.820 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:15:59,825.825 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:16:01,881.881 INFO    ] ================================================
[2026-10-20 12:16:01,903.903 INFO    ] Launching Daemon at Tue Oct 20 12:16:01 IST 2026
[2026-10-20 12:16:01,940.940 INFO    ] ================================================
[2026-10-20 12:16:02,611.611 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:16:02
[2026-10-20 12:16:03,267.267 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:16:03,570.570 INFO    ] Initializing speech engine...
[2026-10-20 12:16:03,592.592 INFO    ] 2026-10-20 12:16:03
[2026-10-20 12:16:03,863.863 INFO    ] 2026-10-20 12:16:03
[2026-10-20 12:16:03,898.898 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:16:04,095.095 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:16:04,153.153 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:16:04,293.293 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:16:04,353.353 INFO    ] time= 20/10/2026 12:16:04
[2026-10-20 12:16:04,408.408 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:16:04,428.428 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:16:04,563.563 INFO    ] No existing commands found in stream
[2026-10-20 12:16:09,584.584 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:16:09,587.587 INFO    ] Waiting 1.21 seconds before fallback handling...
[2026-10-20 12:16:11,255.255 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:16:11,259.259 INFO    ] Checking for system updates...
[2026-10-20 12:16:11,297.297 INFO    ] 200
[2026-10-20 12:16:11,299.299 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:16:11,351.351 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:16:11,353.353 INFO    ] No update needed
[2026-10-20 12:16:11,355.355 INFO    ] Checking for camera pi updates...
[2026-10-20 12:16:11,389.389 INFO    ] 200
[2026-10-20 12:16:11,391.391 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:16:11,431.431 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:16:11,477.477 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:16:11,479.479 INFO    ] No camera update needed
[2026-10-20 12:16:11,482.482 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:16:11,484.484 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:16:11,490.490 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:16:11,495.495 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:16:13,535.535 INFO    ] ================================================
[2026-10-20 12:16:13,550.550 INFO    ] Launching Daemon at Tue Oct 20 12:16:13 IST 2026
[2026-10-20 12:16:13,560.560 INFO    ] ================================================
[2026-10-20 12:16:14,124.124 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:16:14
[2026-10-20 12:16:14,705.705 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:16:14,952.952 INFO    ] Initializing speech engine...
[2026-10-20 12:16:14,958.958 INFO    ] 2026-10-20 12:16:14
[2026-10-20 12:16:15,230.230 INFO    ] 2026-10-20 12:16:15
[2026-10-20 12:16:15,263.263 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:16:15,465.465 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:16:15,501.501 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:16:15,667.667 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:16:15,732.732 INFO    ] time= 20/10/2026 12:16:15
[2026-10-20 12:16:15,781.781 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:16:15,803.803 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:16:15,948.948 INFO    ] No existing commands found in stream
[2026-10-20 12:16:20,963.963 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:16:20,965.965 INFO    ] Waiting 0.14 seconds before fallback handling...
[2026-10-20 12:16:21,599.599 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:16:21,602.602 INFO    ] Checking for system updates...
[2026-10-20 12:16:21,637.637 INFO    ] 200
[2026-10-20 12:16:21,640.640 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:16:21,698.698 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:16:21,700.700 INFO    ] No update needed
[2026-10-20 12:16:21,703.703 INFO    ] Checking for camera pi updates...
[2026-10-20 12:16:21,738.738 INFO    ] 200
[2026-10-20 12:16:21,741.741 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:16:21,780.780 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:16:21,826.826 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:16:21,828.828 INFO    ] No camera update needed
[2026-10-20 12:16:21,831.831 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:16:21,833.833 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:16:21,838.838 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:16:21,843.843 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:16:23,884.884 INFO    ] ================================================
[2026-10-20 12:16:23,899.899 INFO    ] Launching Daemon at Tue Oct 20 12:16:23 IST 2026
[2026-10-20 12:16:23,910.910 INFO    ] ================================================
[2026-10-20 12:16:24,478.478 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:16:24
[2026-10-20 12:16:25,062.062 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:16:25,309.309 INFO    ] Initializing speech engine...
[2026-10-20 12:16:25,321.321 INFO    ] 2026-10-20 12:16:25
[2026-10-20 12:16:25,589.589 INFO    ] 2026-10-20 12:16:25
[2026-10-20 12:16:25,623.623 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:16:25,824.824 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:16:25,880.880 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:16:26,109.109 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:16:26,153.153 INFO    ] time= 20/10/2026 12:16:26
[2026-10-20 12:16:26,170.170 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:16:26,180.180 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:16:26,299.299 INFO    ] No existing commands found in stream
[2026-10-20 12:16:31,316.316 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:16:31,319.319 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-10-20 12:16:35,284.284 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 12:16:35,287.287 INFO    ] Checking for system updates...
[2026-10-20 12:16:35,329.329 INFO    ] 200
[2026-10-20 12:16:35,332.332 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:16:35,385.385 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:16:35,387.387 INFO    ] No update needed
[2026-10-20 12:16:35,389.389 INFO    ] Checking for camera pi updates...
[2026-10-20 12:16:35,425.425 INFO    ] 200
[2026-10-20 12:16:35,427.427 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:16:35,470.470 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:16:35,614.614 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:16:35,616.616 INFO    ] No camera update needed
[2026-10-20 12:16:35,619.619 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:16:35,621.621 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:16:35,627.627 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:16:35,632.632 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:16:37,670.670 INFO    ] ================================================
[2026-10-20 12:16:37,685.685 INFO    ] Launching Daemon at Tue Oct 20 12:16:37 IST 2026
[2026-10-20 12:16:37,696.696 INFO    ] ================================================
[2026-10-20 12:16:38,286.286 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:16:38
[2026-10-20 12:16:38,883.883 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:16:39,161.161 INFO    ] Initializing speech engine...
[2026-10-20 12:16:39,171.171 INFO    ] 2026-10-20 12:16:39
[2026-10-20 12:16:39,431.431 INFO    ] 2026-10-20 12:16:39
[2026-10-20 12:16:39,487.487 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:16:39,707.707 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:16:39,716.716 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:16:39,850.850 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:16:39,910.910 INFO    ] time= 20/10/2026 12:16:39
[2026-10-20 12:16:39,965.965 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:16:39,983.983 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:16:40,118.118 INFO    ] No existing commands found in stream
[2026-10-20 12:16:45,137.137 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:16:45,141.141 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-10-20 12:16:49,056.056 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:16:49,058.058 INFO    ] Checking for system updates...
[2026-10-20 12:16:49,096.096 INFO    ] 200
[2026-10-20 12:16:49,099.099 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:16:49,155.155 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:16:49,157.157 INFO    ] No update needed
[2026-10-20 12:16:49,160.160 INFO    ] Checking for camera pi updates...
[2026-10-20 12:16:49,193.193 INFO    ] 200
[2026-10-20 12:16:49,196.196 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:16:49,235.235 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:16:49,284.284 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:16:49,287.287 INFO    ] No camera update needed
[2026-10-20 12:16:49,289.289 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:16:49,292.292 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:16:49,297.297 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:16:49,302.302 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:16:51,341.341 INFO    ] ================================================
[2026-10-20 12:16:51,356.356 INFO    ] Launching Daemon at Tue Oct 20 12:16:51 IST 2026
[2026-10-20 12:16:51,367.367 INFO    ] ================================================
[2026-10-20 12:16:51,931.931 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:16:51
[2026-10-20 12:16:52,515.515 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:16:52,785.785 INFO    ] Initializing speech engine...
[2026-10-20 12:16:52,793.793 INFO    ] 2026-10-20 12:16:52
[2026-10-20 12:16:53,041.041 INFO    ] 2026-10-20 12:16:53
[2026-10-20 12:16:53,076.076 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:16:53,277.277 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:16:53,322.322 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:16:53,541.541 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:16:53,596.596 INFO    ] time= 20/10/2026 12:16:53
[2026-10-20 12:16:53,612.612 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:16:53,630.630 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:16:53,758.758 INFO    ] No existing commands found in stream
[2026-10-20 12:16:58,775.775 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:16:58,778.778 INFO    ] Waiting 3.18 seconds before fallback handling...
[2026-10-20 12:17:02,459.459 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 12:17:02,462.462 INFO    ] Checking for system updates...
[2026-10-20 12:17:02,519.519 INFO    ] 200
[2026-10-20 12:17:02,523.523 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:17:02,600.600 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:17:02,603.603 INFO    ] No update needed
[2026-10-20 12:17:02,606.606 INFO    ] Checking for camera pi updates...
[2026-10-20 12:17:02,645.645 INFO    ] 200
[2026-10-20 12:17:02,648.648 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:17:02,702.702 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:17:02,736.736 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:17:02,739.739 INFO    ] No camera update needed
[2026-10-20 12:17:02,743.743 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:17:02,746.746 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:17:02,752.752 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:17:02,759.759 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:17:04,800.800 INFO    ] ================================================
[2026-10-20 12:17:04,814.814 INFO    ] Launching Daemon at Tue Oct 20 12:17:04 IST 2026
[2026-10-20 12:17:04,825.825 INFO    ] ================================================
[2026-10-20 12:17:05,391.391 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:17:05
[2026-10-20 12:17:05,976.976 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:17:06,244.244 INFO    ] Initializing speech engine...
[2026-10-20 12:17:06,253.253 INFO    ] 2026-10-20 12:17:06
[2026-10-20 12:17:06,499.499 INFO    ] 2026-10-20 12:17:06
[2026-10-20 12:17:06,533.533 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:17:06,784.784 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:17:06,793.793 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:17:06,968.968 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:17:07,018.018 INFO    ] time= 20/10/2026 12:17:06
[2026-10-20 12:17:07,056.056 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:17:07,062.062 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:17:07,206.206 INFO    ] No existing commands found in stream
[2026-10-20 12:17:12,218.218 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:17:12,221.221 INFO    ] Waiting 2.87 seconds before fallback handling...
[2026-10-20 12:17:15,583.583 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:17:15,586.586 INFO    ] Checking for system updates...
[2026-10-20 12:17:15,624.624 INFO    ] 200
[2026-10-20 12:17:15,627.627 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:17:15,679.679 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:17:15,682.682 INFO    ] No update needed
[2026-10-20 12:17:15,684.684 INFO    ] Checking for camera pi updates...
[2026-10-20 12:17:15,725.725 INFO    ] 200
[2026-10-20 12:17:15,727.727 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:17:15,771.771 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:17:15,813.813 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:17:15,815.815 INFO    ] No camera update needed
[2026-10-20 12:17:15,817.817 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:17:15,820.820 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:17:15,825.825 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:17:15,830.830 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:17:17,871.871 INFO    ] ================================================
[2026-10-20 12:17:17,886.886 INFO    ] Launching Daemon at Tue Oct 20 12:17:17 IST 2026
[2026-10-20 12:17:17,896.896 INFO    ] ================================================
[2026-10-20 12:17:18,549.549 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:17:18
[2026-10-20 12:17:19,263.263 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:17:19,591.591 INFO    ] Initializing speech engine...
[2026-10-20 12:17:19,604.604 INFO    ] 2026-10-20 12:17:19
[2026-10-20 12:17:19,927.927 INFO    ] 2026-10-20 12:17:19
[2026-10-20 12:17:19,964.964 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:17:20,199.199 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:17:20,204.204 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:17:20,409.409 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:17:20,465.465 INFO    ] time= 20/10/2026 12:17:20
[2026-10-20 12:17:20,485.485 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:17:20,503.503 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:17:20,631.631 INFO    ] No existing commands found in stream
[2026-10-20 12:17:25,647.647 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:17:25,650.650 INFO    ] Waiting 0.52 seconds before fallback handling...
[2026-10-20 12:17:26,686.686 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:17:26,689.689 INFO    ] Checking for system updates...
[2026-10-20 12:17:26,730.730 INFO    ] 200
[2026-10-20 12:17:26,733.733 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:17:26,793.793 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:17:26,795.795 INFO    ] No update needed
[2026-10-20 12:17:26,798.798 INFO    ] Checking for camera pi updates...
[2026-10-20 12:17:26,836.836 INFO    ] 200
[2026-10-20 12:17:26,839.839 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:17:26,888.888 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:17:26,934.934 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:17:26,937.937 INFO    ] No camera update needed
[2026-10-20 12:17:26,940.940 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:17:26,942.942 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:17:26,949.949 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:17:26,954.954 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:17:29,996.996 INFO    ] ================================================
[2026-10-20 12:17:29,012.012 INFO    ] Launching Daemon at Tue Oct 20 12:17:29 IST 2026
[2026-10-20 12:17:29,023.023 INFO    ] ================================================
[2026-10-20 12:17:29,610.610 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:17:29
[2026-10-20 12:17:30,216.216 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:17:30,480.480 INFO    ] Initializing speech engine...
[2026-10-20 12:17:30,505.505 INFO    ] 2026-10-20 12:17:30
[2026-10-20 12:17:30,778.778 INFO    ] 2026-10-20 12:17:30
[2026-10-20 12:17:30,816.816 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:17:31,013.013 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:17:31,025.025 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:17:31,168.168 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:17:31,194.194 INFO    ] time= 20/10/2026 12:17:31
[2026-10-20 12:17:31,199.199 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:17:31,206.206 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:17:31,312.312 INFO    ] No existing commands found in stream
[2026-10-20 12:17:36,347.347 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:17:36,350.350 INFO    ] Waiting 2.27 seconds before fallback handling...
[2026-10-20 12:17:39,150.150 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 12:17:39,153.153 INFO    ] Checking for system updates...
[2026-10-20 12:17:39,189.189 INFO    ] 200
[2026-10-20 12:17:39,192.192 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:17:39,244.244 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:17:39,247.247 INFO    ] No update needed
[2026-10-20 12:17:39,249.249 INFO    ] Checking for camera pi updates...
[2026-10-20 12:17:39,284.284 INFO    ] 200
[2026-10-20 12:17:39,286.286 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:17:39,328.328 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:17:39,372.372 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:17:39,375.375 INFO    ] No camera update needed
[2026-10-20 12:17:39,377.377 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:17:39,380.380 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:17:39,386.386 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:17:39,392.392 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:17:41,434.434 INFO    ] ================================================
[2026-10-20 12:17:41,450.450 INFO    ] Launching Daemon at Tue Oct 20 12:17:41 IST 2026
[2026-10-20 12:17:41,461.461 INFO    ] ================================================
[2026-10-20 12:17:42,104.104 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:17:42
[2026-10-20 12:17:42,764.764 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:17:43,063.063 INFO    ] Initializing speech engine...
[2026-10-20 12:17:43,077.077 INFO    ] 2026-10-20 12:17:43
[2026-10-20 12:17:43,361.361 INFO    ] 2026-10-20 12:17:43
[2026-10-20 12:17:43,399.399 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:17:43,645.645 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:17:43,652.652 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:17:43,859.859 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:17:43,895.895 INFO    ] time= 20/10/2026 12:17:43
[2026-10-20 12:17:43,913.913 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:17:43,922.922 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:17:44,056.056 INFO    ] No existing commands found in stream
[2026-10-20 12:17:49,087.087 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:17:49,091.091 INFO    ] Waiting 3.95 seconds before fallback handling...
[2026-10-20 12:17:53,587.587 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 12:17:53,590.590 INFO    ] Checking for system updates...
[2026-10-20 12:17:53,627.627 INFO    ] 200
[2026-10-20 12:17:53,630.630 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:17:53,688.688 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:17:53,691.691 INFO    ] No update needed
[2026-10-20 12:17:53,694.694 INFO    ] Checking for camera pi updates...
[2026-10-20 12:17:53,732.732 INFO    ] 200
[2026-10-20 12:17:53,735.735 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:17:53,775.775 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:17:53,828.828 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:17:53,831.831 INFO    ] No camera update needed
[2026-10-20 12:17:53,834.834 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:17:53,836.836 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:17:53,843.843 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:17:53,849.849 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:17:55,889.889 INFO    ] ================================================
[2026-10-20 12:17:55,904.904 INFO    ] Launching Daemon at Tue Oct 20 12:17:55 IST 2026
[2026-10-20 12:17:55,915.915 INFO    ] ================================================
[2026-10-20 12:17:56,560.560 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:17:56
[2026-10-20 12:17:57,221.221 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:17:57,522.522 INFO    ] Initializing speech engine...
[2026-10-20 12:17:57,536.536 INFO    ] 2026-10-20 12:17:57
[2026-10-20 12:17:57,816.816 INFO    ] 2026-10-20 12:17:57
[2026-10-20 12:17:57,862.862 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:17:58,087.087 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:17:58,094.094 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:17:58,307.307 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:17:58,353.353 INFO    ] time= 20/10/2026 12:17:58
[2026-10-20 12:17:58,359.359 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:17:58,380.380 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:17:58,504.504 INFO    ] No existing commands found in stream
[2026-10-20 12:18:03,521.521 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:18:03,525.525 INFO    ] Waiting 3.34 seconds before fallback handling...
[2026-10-20 12:18:07,375.375 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:18:07,377.377 INFO    ] Checking for system updates...
[2026-10-20 12:18:07,413.413 INFO    ] 200
[2026-10-20 12:18:07,416.416 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:18:07,473.473 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:18:07,476.476 INFO    ] No update needed
[2026-10-20 12:18:07,478.478 INFO    ] Checking for camera pi updates...
[2026-10-20 12:18:07,511.511 INFO    ] 200
[2026-10-20 12:18:07,513.513 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:18:07,557.557 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:18:07,603.603 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:18:07,605.605 INFO    ] No camera update needed
[2026-10-20 12:18:07,608.608 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:18:07,610.610 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:18:07,615.615 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:18:07,620.620 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:18:09,661.661 INFO    ] ================================================
[2026-10-20 12:18:09,676.676 INFO    ] Launching Daemon at Tue Oct 20 12:18:09 IST 2026
[2026-10-20 12:18:09,687.687 INFO    ] ================================================
[2026-10-20 12:18:10,271.271 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:18:10
[2026-10-20 12:18:10,878.878 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:18:11,154.154 INFO    ] Initializing speech engine...
[2026-10-20 12:18:11,161.161 INFO    ] 2026-10-20 12:18:11
[2026-10-20 12:18:11,420.420 INFO    ] 2026-10-20 12:18:11
[2026-10-20 12:18:11,450.450 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:18:11,695.695 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:18:11,704.704 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:18:11,911.911 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:18:11,962.962 INFO    ] time= 20/10/2026 12:18:11
[2026-10-20 12:18:11,968.968 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:18:11,987.987 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:18:12,118.118 INFO    ] No existing commands found in stream
[2026-10-20 12:18:17,141.141 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:18:17,143.143 INFO    ] Waiting 0.06 seconds before fallback handling...
[2026-10-20 12:18:17,704.704 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:18:17,706.706 INFO    ] Checking for system updates...
[2026-10-20 12:18:17,742.742 INFO    ] 200
[2026-10-20 12:18:17,744.744 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:18:17,795.795 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:18:17,798.798 INFO    ] No update needed
[2026-10-20 12:18:17,800.800 INFO    ] Checking for camera pi updates...
[2026-10-20 12:18:17,834.834 INFO    ] 200
[2026-10-20 12:18:17,836.836 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:18:17,884.884 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:18:17,935.935 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:18:17,938.938 INFO    ] No camera update needed
[2026-10-20 12:18:17,941.941 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:18:17,943.943 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:18:17,948.948 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:18:17,953.953 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:18:20,000.000 INFO    ] ================================================
[2026-10-20 12:18:20,016.016 INFO    ] Launching Daemon at Tue Oct 20 12:18:20 IST 2026
[2026-10-20 12:18:20,027.027 INFO    ] ================================================
[2026-10-20 12:18:20,600.600 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:18:20
[2026-10-20 12:18:21,215.215 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:18:21,475.475 INFO    ] Initializing speech engine...
[2026-10-20 12:18:21,500.500 INFO    ] 2026-10-20 12:18:21
[2026-10-20 12:18:21,770.770 INFO    ] 2026-10-20 12:18:21
[2026-10-20 12:18:21,805.805 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:18:21,998.998 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:18:22,011.011 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:18:22,170.170 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:18:22,179.179 INFO    ] time= 20/10/2026 12:18:22
[2026-10-20 12:18:22,186.186 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:18:22,228.228 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:18:22,366.366 INFO    ] No existing commands found in stream
[2026-10-20 12:18:27,391.391 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:18:27,394.394 INFO    ] Waiting 1.37 seconds before fallback handling...
[2026-10-20 12:18:29,287.287 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:18:29,290.290 INFO    ] Checking for system updates...
[2026-10-20 12:18:29,326.326 INFO    ] 200
[2026-10-20 12:18:29,329.329 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:18:29,383.383 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:18:29,385.385 INFO    ] No update needed
[2026-10-20 12:18:29,388.388 INFO    ] Checking for camera pi updates...
[2026-10-20 12:18:29,422.422 INFO    ] 200
[2026-10-20 12:18:29,425.425 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:18:29,465.465 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:18:29,511.511 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:18:29,514.514 INFO    ] No camera update needed
[2026-10-20 12:18:29,516.516 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:18:29,519.519 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:18:29,525.525 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:18:29,531.531 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:18:31,572.572 INFO    ] ================================================
[2026-10-20 12:18:31,590.590 INFO    ] Launching Daemon at Tue Oct 20 12:18:31 IST 2026
[2026-10-20 12:18:31,601.601 INFO    ] ================================================
[2026-10-20 12:18:32,262.262 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:18:32
[2026-10-20 12:18:32,880.880 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:18:33,147.147 INFO    ] Initializing speech engine...
[2026-10-20 12:18:33,172.172 INFO    ] 2026-10-20 12:18:33
[2026-10-20 12:18:33,450.450 INFO    ] 2026-10-20 12:18:33
[2026-10-20 12:18:33,485.485 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:18:33,688.688 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:18:33,704.704 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:18:33,852.852 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:18:33,858.858 INFO    ] time= 20/10/2026 12:18:33
[2026-10-20 12:18:33,864.864 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:18:33,891.891 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:18:34,016.016 INFO    ] No existing commands found in stream
[2026-10-20 12:18:39,041.041 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:18:39,044.044 INFO    ] Waiting 3.96 seconds before fallback handling...
[2026-10-20 12:18:43,494.494 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:18:43,497.497 INFO    ] Checking for system updates...
[2026-10-20 12:18:43,533.533 INFO    ] 200
[2026-10-20 12:18:43,535.535 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:18:43,587.587 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:18:43,589.589 INFO    ] No update needed
[2026-10-20 12:18:43,592.592 INFO    ] Checking for camera pi updates...
[2026-10-20 12:18:43,629.629 INFO    ] 200
[2026-10-20 12:18:43,631.631 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:18:43,671.671 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:18:43,815.815 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:18:43,817.817 INFO    ] No camera update needed
[2026-10-20 12:18:43,820.820 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:18:43,822.822 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:18:43,827.827 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:18:43,832.832 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:18:45,871.871 INFO    ] ================================================
[2026-10-20 12:18:45,886.886 INFO    ] Launching Daemon at Tue Oct 20 12:18:45 IST 2026
[2026-10-20 12:18:45,897.897 INFO    ] ================================================
[2026-10-20 12:18:46,465.465 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:18:46
[2026-10-20 12:18:47,050.050 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:18:47,302.302 INFO    ] Initializing speech engine...
[2026-10-20 12:18:47,311.311 INFO    ] 2026-10-20 12:18:47
[2026-10-20 12:18:47,598.598 INFO    ] 2026-10-20 12:18:47
[2026-10-20 12:18:47,635.635 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:18:47,852.852 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:18:47,860.860 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:18:48,074.074 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:18:48,081.081 INFO    ] time= 20/10/2026 12:18:48
[2026-10-20 12:18:48,136.136 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:18:48,190.190 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:18:48,277.277 INFO    ] No existing commands found in stream
[2026-10-20 12:18:53,289.289 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:18:53,292.292 INFO    ] Waiting 3.13 seconds before fallback handling...
[2026-10-20 12:18:56,932.932 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 12:18:56,934.934 INFO    ] Checking for system updates...
[2026-10-20 12:18:56,975.975 INFO    ] 200
[2026-10-20 12:18:56,978.978 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:18:57,035.035 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:18:57,037.037 INFO    ] No update needed
[2026-10-20 12:18:57,040.040 INFO    ] Checking for camera pi updates...
[2026-10-20 12:18:57,073.073 INFO    ] 200
[2026-10-20 12:18:57,076.076 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:18:57,115.115 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:18:57,162.162 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:18:57,165.165 INFO    ] No camera update needed
[2026-10-20 12:18:57,167.167 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:18:57,169.169 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:18:57,175.175 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:18:57,180.180 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:18:59,219.219 INFO    ] ================================================
[2026-10-20 12:18:59,234.234 INFO    ] Launching Daemon at Tue Oct 20 12:18:59 IST 2026
[2026-10-20 12:18:59,244.244 INFO    ] ================================================
[2026-10-20 12:18:59,829.829 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:18:59
[2026-10-20 12:19:00,434.434 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:19:00,711.711 INFO    ] Initializing speech engine...
[2026-10-20 12:19:00,718.718 INFO    ] 2026-10-20 12:19:00
[2026-10-20 12:19:00,979.979 INFO    ] 2026-10-20 12:19:00
[2026-10-20 12:19:01,009.009 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:19:01,253.253 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:19:01,263.263 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:19:01,397.397 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:19:01,452.452 INFO    ] time= 20/10/2026 12:19:01
[2026-10-20 12:19:01,511.511 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:19:01,530.530 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:19:01,645.645 INFO    ] No existing commands found in stream
[2026-10-20 12:19:06,656.656 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:19:06,659.659 INFO    ] Waiting 0.68 seconds before fallback handling...
[2026-10-20 12:19:07,800.800 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 12:19:07,802.802 INFO    ] Checking for system updates...
[2026-10-20 12:19:07,839.839 INFO    ] 200
[2026-10-20 12:19:07,842.842 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:19:07,900.900 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:19:07,903.903 INFO    ] No update needed
[2026-10-20 12:19:07,905.905 INFO    ] Checking for camera pi updates...
[2026-10-20 12:19:07,939.939 INFO    ] 200
[2026-10-20 12:19:07,941.941 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:19:07,981.981 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:19:08,032.032 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:19:08,034.034 INFO    ] No camera update needed
[2026-10-20 12:19:08,037.037 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:19:08,039.039 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:19:08,045.045 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:19:08,050.050 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:19:10,089.089 INFO    ] ================================================
[2026-10-20 12:19:10,103.103 INFO    ] Launching Daemon at Tue Oct 20 12:19:10 IST 2026
[2026-10-20 12:19:10,114.114 INFO    ] ================================================
[2026-10-20 12:19:10,680.680 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:19:10
[2026-10-20 12:19:11,265.265 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:19:11,516.516 INFO    ] Initializing speech engine...
[2026-10-20 12:19:11,523.523 INFO    ] 2026-10-20 12:19:11
[2026-10-20 12:19:11,825.825 INFO    ] 2026-10-20 12:19:11
[2026-10-20 12:19:11,862.862 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:19:12,062.062 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:19:12,067.067 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:19:12,242.242 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:19:12,251.251 INFO    ] time= 20/10/2026 12:19:12
[2026-10-20 12:19:12,256.256 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:19:12,263.263 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:19:12,398.398 INFO    ] No existing commands found in stream
[2026-10-20 12:19:17,423.423 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:19:17,426.426 INFO    ] Waiting 0.77 seconds before fallback handling...
[2026-10-20 12:19:18,655.655 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:19:18,657.657 INFO    ] Checking for system updates...
[2026-10-20 12:19:18,692.692 INFO    ] 200
[2026-10-20 12:19:18,695.695 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:19:18,753.753 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:19:18,756.756 INFO    ] No update needed
[2026-10-20 12:19:18,758.758 INFO    ] Checking for camera pi updates...
[2026-10-20 12:19:18,795.795 INFO    ] 200
[2026-10-20 12:19:18,797.797 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:19:18,838.838 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:19:18,895.895 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:19:18,898.898 INFO    ] No camera update needed
[2026-10-20 12:19:18,900.900 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:19:18,903.903 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:19:18,908.908 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:19:18,913.913 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:19:20,953.953 INFO    ] ================================================
[2026-10-20 12:19:20,969.969 INFO    ] Launching Daemon at Tue Oct 20 12:19:20 IST 2026
[2026-10-20 12:19:20,980.980 INFO    ] ================================================
[2026-10-20 12:19:21,551.551 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:19:21
[2026-10-20 12:19:22,144.144 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:19:22,404.404 INFO    ] Initializing speech engine...
[2026-10-20 12:19:22,427.427 INFO    ] 2026-10-20 12:19:22
[2026-10-20 12:19:22,706.706 INFO    ] 2026-10-20 12:19:22
[2026-10-20 12:19:22,740.740 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:19:22,941.941 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:19:22,947.947 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:19:23,122.122 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:19:23,131.131 INFO    ] time= 20/10/2026 12:19:23
[2026-10-20 12:19:23,139.139 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:19:23,186.186 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:19:23,324.324 INFO    ] No existing commands found in stream
[2026-10-20 12:19:28,349.349 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:19:28,352.352 INFO    ] Waiting 3.23 seconds before fallback handling...
[2026-10-20 12:19:32,112.112 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:19:32,115.115 INFO    ] Checking for system updates...
[2026-10-20 12:19:32,154.154 INFO    ] 200
[2026-10-20 12:19:32,157.157 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:19:32,222.222 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:19:32,225.225 INFO    ] No update needed
[2026-10-20 12:19:32,228.228 INFO    ] Checking for camera pi updates...
[2026-10-20 12:19:32,265.265 INFO    ] 200
[2026-10-20 12:19:32,269.269 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:19:32,314.314 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:19:32,349.349 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:19:32,353.353 INFO    ] No camera update needed
[2026-10-20 12:19:32,357.357 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:19:32,360.360 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:19:32,367.367 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:19:32,373.373 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:19:34,412.412 INFO    ] ================================================
[2026-10-20 12:19:34,427.427 INFO    ] Launching Daemon at Tue Oct 20 12:19:34 IST 2026
[2026-10-20 12:19:34,438.438 INFO    ] ================================================
[2026-10-20 12:19:35,021.021 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:19:35
[2026-10-20 12:19:35,611.611 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:19:35,884.884 INFO    ] Initializing speech engine...
[2026-10-20 12:19:35,890.890 INFO    ] 2026-10-20 12:19:35
[2026-10-20 12:19:36,134.134 INFO    ] 2026-10-20 12:19:36
[2026-10-20 12:19:36,176.176 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:19:36,366.366 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:19:36,424.424 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:19:36,564.564 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:19:36,624.624 INFO    ] time= 20/10/2026 12:19:36
[2026-10-20 12:19:36,678.678 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:19:36,698.698 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:19:36,823.823 INFO    ] No existing commands found in stream
[2026-10-20 12:19:41,850.850 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:19:41,853.853 INFO    ] Waiting 2.51 seconds before fallback handling...
[2026-10-20 12:19:44,837.837 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:19:44,840.840 INFO    ] Checking for system updates...
[2026-10-20 12:19:44,876.876 INFO    ] 200
[2026-10-20 12:19:44,879.879 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:19:44,939.939 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:19:44,941.941 INFO    ] No update needed
[2026-10-20 12:19:44,943.943 INFO    ] Checking for camera pi updates...
[2026-10-20 12:19:44,977.977 INFO    ] 200
[2026-10-20 12:19:44,980.980 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:19:45,021.021 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:19:45,052.052 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:19:45,055.055 INFO    ] No camera update needed
[2026-10-20 12:19:45,058.058 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:19:45,061.061 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:19:45,067.067 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:19:45,073.073 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:19:47,114.114 INFO    ] ================================================
[2026-10-20 12:19:47,129.129 INFO    ] Launching Daemon at Tue Oct 20 12:19:47 IST 2026
[2026-10-20 12:19:47,140.140 INFO    ] ================================================
[2026-10-20 12:19:47,711.711 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:19:47
[2026-10-20 12:19:48,302.302 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:19:48,554.554 INFO    ] Initializing speech engine...
[2026-10-20 12:19:48,562.562 INFO    ] 2026-10-20 12:19:48
[2026-10-20 12:19:48,863.863 INFO    ] 2026-10-20 12:19:48
[2026-10-20 12:19:48,899.899 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:19:49,100.100 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:19:49,106.106 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:19:49,258.258 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:19:49,278.278 INFO    ] time= 20/10/2026 12:19:49
[2026-10-20 12:19:49,294.294 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:19:49,299.299 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:19:49,379.379 INFO    ] No existing commands found in stream
[2026-10-20 12:19:54,394.394 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:19:54,397.397 INFO    ] Waiting 0.48 seconds before fallback handling...
[2026-10-20 12:19:55,412.412 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:19:55,415.415 INFO    ] Checking for system updates...
[2026-10-20 12:19:55,455.455 INFO    ] 200
[2026-10-20 12:19:55,458.458 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:19:55,512.512 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:19:55,515.515 INFO    ] No update needed
[2026-10-20 12:19:55,518.518 INFO    ] Checking for camera pi updates...
[2026-10-20 12:19:55,552.552 INFO    ] 200
[2026-10-20 12:19:55,555.555 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:19:55,596.596 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:19:55,643.643 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:19:55,646.646 INFO    ] No camera update needed
[2026-10-20 12:19:55,649.649 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:19:55,652.652 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:19:55,658.658 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:19:55,664.664 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:19:57,706.706 INFO    ] ================================================
[2026-10-20 12:19:57,722.722 INFO    ] Launching Daemon at Tue Oct 20 12:19:57 IST 2026
[2026-10-20 12:19:57,733.733 INFO    ] ================================================
[2026-10-20 12:19:58,321.321 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:19:58
[2026-10-20 12:19:58,920.920 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:19:59,192.192 INFO    ] Initializing speech engine...
[2026-10-20 12:19:59,201.201 INFO    ] 2026-10-20 12:19:59
[2026-10-20 12:19:59,452.452 INFO    ] 2026-10-20 12:19:59
[2026-10-20 12:19:59,487.487 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:19:59,690.690 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:19:59,749.749 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:19:59,927.927 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:19:59,976.976 INFO    ] time= 20/10/2026 12:19:59
[2026-10-20 12:20:00,021.021 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:20:00,026.026 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:20:00,151.151 INFO    ] No existing commands found in stream
[2026-10-20 12:20:05,180.180 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:20:05,183.183 INFO    ] Waiting 1.52 seconds before fallback handling...
[2026-10-20 12:20:08,040.040 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:20:08,043.043 INFO    ] Checking for system updates...
[2026-10-20 12:20:08,079.079 INFO    ] 200
[2026-10-20 12:20:08,081.081 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:20:08,138.138 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:20:08,141.141 INFO    ] No update needed
[2026-10-20 12:20:08,143.143 INFO    ] Checking for camera pi updates...
[2026-10-20 12:20:08,176.176 INFO    ] 200
[2026-10-20 12:20:08,178.178 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:20:08,218.218 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:20:08,273.273 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:20:08,275.275 INFO    ] No camera update needed
[2026-10-20 12:20:08,277.277 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:20:08,280.280 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:20:08,285.285 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:20:08,290.290 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:20:10,330.330 INFO    ] ================================================
[2026-10-20 12:20:10,346.346 INFO    ] Launching Daemon at Tue Oct 20 12:20:10 IST 2026
[2026-10-20 12:20:10,358.358 INFO    ] ================================================
[2026-10-20 12:20:10,935.935 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:20:10
[2026-10-20 12:20:11,516.516 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:20:11,772.772 INFO    ] Initializing speech engine...
[2026-10-20 12:20:11,778.778 INFO    ] 2026-10-20 12:20:11
[2026-10-20 12:20:12,069.069 INFO    ] 2026-10-20 12:20:12
[2026-10-20 12:20:12,106.106 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:20:12,312.312 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:20:12,329.329 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:20:12,473.473 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:20:12,482.482 INFO    ] time= 20/10/2026 12:20:12
[2026-10-20 12:20:12,489.489 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:20:12,494.494 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:20:12,635.635 INFO    ] No existing commands found in stream
[2026-10-20 12:20:17,665.665 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:20:17,668.668 INFO    ] Waiting 0.74 seconds before fallback handling...
[2026-10-20 12:20:18,891.891 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 12:20:18,893.893 INFO    ] Checking for system updates...
[2026-10-20 12:20:18,928.928 INFO    ] 200
[2026-10-20 12:20:18,931.931 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:20:18,982.982 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:20:18,985.985 INFO    ] No update needed
[2026-10-20 12:20:18,987.987 INFO    ] Checking for camera pi updates...
[2026-10-20 12:20:19,020.020 INFO    ] 200
[2026-10-20 12:20:19,022.022 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:20:19,063.063 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:20:19,109.109 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:20:19,112.112 INFO    ] No camera update needed
[2026-10-20 12:20:19,114.114 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:20:19,116.116 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:20:19,121.121 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:20:19,126.126 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:20:21,167.167 INFO    ] ================================================
[2026-10-20 12:20:21,182.182 INFO    ] Launching Daemon at Tue Oct 20 12:20:21 IST 2026
[2026-10-20 12:20:21,192.192 INFO    ] ================================================
[2026-10-20 12:20:21,765.765 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:20:21
[2026-10-20 12:20:22,351.351 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:20:22,605.605 INFO    ] Initializing speech engine...
[2026-10-20 12:20:22,614.614 INFO    ] 2026-10-20 12:20:22
[2026-10-20 12:20:22,905.905 INFO    ] 2026-10-20 12:20:22
[2026-10-20 12:20:22,940.940 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:20:23,136.136 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:20:23,141.141 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:20:23,311.311 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:20:23,320.320 INFO    ] time= 20/10/2026 12:20:23
[2026-10-20 12:20:23,324.324 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:20:23,330.330 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:20:23,405.405 INFO    ] No existing commands found in stream
[2026-10-20 12:20:28,440.440 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:20:28,443.443 INFO    ] Waiting 1.17 seconds before fallback handling...
[2026-10-20 12:20:30,081.081 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:20:30,084.084 INFO    ] Checking for system updates...
[2026-10-20 12:20:30,119.119 INFO    ] 200
[2026-10-20 12:20:30,121.121 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:20:30,179.179 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:20:30,181.181 INFO    ] No update needed
[2026-10-20 12:20:30,183.183 INFO    ] Checking for camera pi updates...
[2026-10-20 12:20:30,220.220 INFO    ] 200
[2026-10-20 12:20:30,222.222 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:20:30,262.262 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:20:30,319.319 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:20:30,321.321 INFO    ] No camera update needed
[2026-10-20 12:20:30,323.323 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:20:30,325.325 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:20:30,331.331 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:20:30,336.336 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:20:32,379.379 INFO    ] ================================================
[2026-10-20 12:20:32,397.397 INFO    ] Launching Daemon at Tue Oct 20 12:20:32 IST 2026
[2026-10-20 12:20:32,409.409 INFO    ] ================================================
[2026-10-20 12:20:33,014.014 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:20:33
[2026-10-20 12:20:33,632.632 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:20:33,908.908 INFO    ] Initializing speech engine...
[2026-10-20 12:20:33,917.917 INFO    ] 2026-10-20 12:20:33
[2026-10-20 12:20:34,179.179 INFO    ] 2026-10-20 12:20:34
[2026-10-20 12:20:34,210.210 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:20:34,456.456 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:20:34,465.465 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:20:34,616.616 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:20:34,681.681 INFO    ] time= 20/10/2026 12:20:34
[2026-10-20 12:20:34,729.729 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:20:34,735.735 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:20:34,876.876 INFO    ] No existing commands found in stream
[2026-10-20 12:20:39,893.893 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:20:39,896.896 INFO    ] Waiting 3.71 seconds before fallback handling...
[2026-10-20 12:20:44,126.126 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:20:44,129.129 INFO    ] Checking for system updates...
[2026-10-20 12:20:44,166.166 INFO    ] 200
[2026-10-20 12:20:44,169.169 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:20:44,223.223 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:20:44,226.226 INFO    ] No update needed
[2026-10-20 12:20:44,229.229 INFO    ] Checking for camera pi updates...
[2026-10-20 12:20:44,267.267 INFO    ] 200
[2026-10-20 12:20:44,270.270 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:20:44,311.311 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:20:44,367.367 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:20:44,370.370 INFO    ] No camera update needed
[2026-10-20 12:20:44,373.373 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:20:44,375.375 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:20:44,382.382 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:20:44,387.387 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:20:46,429.429 INFO    ] ================================================
[2026-10-20 12:20:46,444.444 INFO    ] Launching Daemon at Tue Oct 20 12:20:46 IST 2026
[2026-10-20 12:20:46,455.455 INFO    ] ================================================
[2026-10-20 12:20:47,024.024 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:20:47
[2026-10-20 12:20:47,612.612 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:20:47,895.895 INFO    ] Initializing speech engine...
[2026-10-20 12:20:47,907.907 INFO    ] 2026-10-20 12:20:47
[2026-10-20 12:20:48,206.206 INFO    ] 2026-10-20 12:20:48
[2026-10-20 12:20:48,256.256 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:20:48,446.446 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:20:48,487.487 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:20:48,643.643 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:20:48,685.685 INFO    ] time= 20/10/2026 12:20:48
[2026-10-20 12:20:48,734.734 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:20:48,777.777 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:20:48,904.904 INFO    ] No existing commands found in stream
[2026-10-20 12:20:53,930.930 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:20:53,932.932 INFO    ] Waiting 1.13 seconds before fallback handling...
[2026-10-20 12:20:55,515.515 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 12:20:55,517.517 INFO    ] Checking for system updates...
[2026-10-20 12:20:55,554.554 INFO    ] 200
[2026-10-20 12:20:55,556.556 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:20:55,618.618 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:20:55,622.622 INFO    ] No update needed
[2026-10-20 12:20:55,625.625 INFO    ] Checking for camera pi updates...
[2026-10-20 12:20:55,671.671 INFO    ] 200
[2026-10-20 12:20:55,674.674 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:20:55,713.713 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:20:55,859.859 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:20:55,862.862 INFO    ] No camera update needed
[2026-10-20 12:20:55,864.864 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:20:55,866.866 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:20:55,872.872 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:20:55,877.877 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:20:57,917.917 INFO    ] ================================================
[2026-10-20 12:20:57,932.932 INFO    ] Launching Daemon at Tue Oct 20 12:20:57 IST 2026
[2026-10-20 12:20:57,943.943 INFO    ] ================================================
[2026-10-20 12:20:58,512.512 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:20:58
[2026-10-20 12:20:59,100.100 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:20:59,359.359 INFO    ] Initializing speech engine...
[2026-10-20 12:20:59,366.366 INFO    ] 2026-10-20 12:20:59
[2026-10-20 12:20:59,662.662 INFO    ] 2026-10-20 12:20:59
[2026-10-20 12:20:59,697.697 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:20:59,897.897 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:20:59,925.925 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:21:00,061.061 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:21:00,067.067 INFO    ] time= 20/10/2026 12:21:00
[2026-10-20 12:21:00,117.117 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:21:00,136.136 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:21:00,261.261 INFO    ] No existing commands found in stream
[2026-10-20 12:21:05,273.273 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:21:05,276.276 INFO    ] Waiting 1.66 seconds before fallback handling...
[2026-10-20 12:21:07,437.437 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:21:07,440.440 INFO    ] Checking for system updates...
[2026-10-20 12:21:07,476.476 INFO    ] 200
[2026-10-20 12:21:07,478.478 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:21:07,530.530 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:21:07,533.533 INFO    ] No update needed
[2026-10-20 12:21:07,535.535 INFO    ] Checking for camera pi updates...
[2026-10-20 12:21:07,569.569 INFO    ] 200
[2026-10-20 12:21:07,572.572 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:21:07,615.615 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:21:07,663.663 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:21:07,666.666 INFO    ] No camera update needed
[2026-10-20 12:21:07,668.668 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:21:07,671.671 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:21:07,676.676 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:21:07,681.681 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:21:09,721.721 INFO    ] ================================================
[2026-10-20 12:21:09,736.736 INFO    ] Launching Daemon at Tue Oct 20 12:21:09 IST 2026
[2026-10-20 12:21:09,747.747 INFO    ] ================================================
[2026-10-20 12:21:10,312.312 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:21:10
[2026-10-20 12:21:10,899.899 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:21:11,149.149 INFO    ] Initializing speech engine...
[2026-10-20 12:21:11,171.171 INFO    ] 2026-10-20 12:21:11
[2026-10-20 12:21:11,425.425 INFO    ] 2026-10-20 12:21:11
[2026-10-20 12:21:11,465.465 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:21:11,710.710 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:21:11,719.719 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:21:11,925.925 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:21:11,976.976 INFO    ] time= 20/10/2026 12:21:11
[2026-10-20 12:21:11,983.983 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:21:12,000.000 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:21:12,116.116 INFO    ] No existing commands found in stream
[2026-10-20 12:21:17,141.141 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:21:17,143.143 INFO    ] Waiting 0.61 seconds before fallback handling...
[2026-10-20 12:21:18,282.282 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:21:18,285.285 INFO    ] Checking for system updates...
[2026-10-20 12:21:18,320.320 INFO    ] 200
[2026-10-20 12:21:18,323.323 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:21:18,374.374 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:21:18,377.377 INFO    ] No update needed
[2026-10-20 12:21:18,379.379 INFO    ] Checking for camera pi updates...
[2026-10-20 12:21:18,415.415 INFO    ] 200
[2026-10-20 12:21:18,417.417 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:21:18,458.458 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:21:18,503.503 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:21:18,506.506 INFO    ] No camera update needed
[2026-10-20 12:21:18,508.508 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:21:18,510.510 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:21:18,516.516 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:21:18,521.521 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:21:20,562.562 INFO    ] ================================================
[2026-10-20 12:21:20,578.578 INFO    ] Launching Daemon at Tue Oct 20 12:21:20 IST 2026
[2026-10-20 12:21:20,589.589 INFO    ] ================================================
[2026-10-20 12:21:21,187.187 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:21:21
[2026-10-20 12:21:21,772.772 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:21:22,041.041 INFO    ] Initializing speech engine...
[2026-10-20 12:21:22,050.050 INFO    ] 2026-10-20 12:21:22
[2026-10-20 12:21:22,295.295 INFO    ] 2026-10-20 12:21:22
[2026-10-20 12:21:22,330.330 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:21:22,580.580 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:21:22,589.589 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:21:22,723.723 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:21:22,773.773 INFO    ] time= 20/10/2026 12:21:22
[2026-10-20 12:21:22,832.832 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:21:22,853.853 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:21:22,990.990 INFO    ] No existing commands found in stream
[2026-10-20 12:21:28,009.009 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:21:28,012.012 INFO    ] Waiting 2.72 seconds before fallback handling...
[2026-10-20 12:21:31,228.228 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 12:21:31,231.231 INFO    ] Checking for system updates...
[2026-10-20 12:21:31,274.274 INFO    ] 200
[2026-10-20 12:21:31,277.277 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:21:31,335.335 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:21:31,338.338 INFO    ] No update needed
[2026-10-20 12:21:31,341.341 INFO    ] Checking for camera pi updates...
[2026-10-20 12:21:31,376.376 INFO    ] 200
[2026-10-20 12:21:31,379.379 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:21:31,423.423 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:21:31,471.471 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:21:31,473.473 INFO    ] No camera update needed
[2026-10-20 12:21:31,476.476 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:21:31,479.479 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:21:31,485.485 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:21:31,490.490 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:21:33,532.532 INFO    ] ================================================
[2026-10-20 12:21:33,548.548 INFO    ] Launching Daemon at Tue Oct 20 12:21:33 IST 2026
[2026-10-20 12:21:33,558.558 INFO    ] ================================================
[2026-10-20 12:21:34,130.130 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:21:34
[2026-10-20 12:21:34,718.718 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:21:34,964.964 INFO    ] Initializing speech engine...
[2026-10-20 12:21:34,973.973 INFO    ] 2026-10-20 12:21:34
[2026-10-20 12:21:35,248.248 INFO    ] 2026-10-20 12:21:35
[2026-10-20 12:21:35,284.284 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:21:35,485.485 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:21:35,535.535 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:21:35,692.692 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:21:35,747.747 INFO    ] time= 20/10/2026 12:21:35
[2026-10-20 12:21:35,796.796 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:21:35,821.821 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:21:35,953.953 INFO    ] No existing commands found in stream
[2026-10-20 12:21:40,981.981 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:21:40,984.984 INFO    ] Waiting 3.97 seconds before fallback handling...
[2026-10-20 12:21:45,475.475 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 12:21:45,478.478 INFO    ] Checking for system updates...
[2026-10-20 12:21:45,515.515 INFO    ] 200
[2026-10-20 12:21:45,518.518 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:21:45,578.578 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:21:45,581.581 INFO    ] No update needed
[2026-10-20 12:21:45,584.584 INFO    ] Checking for camera pi updates...
[2026-10-20 12:21:45,624.624 INFO    ] 200
[2026-10-20 12:21:45,626.626 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:21:45,672.672 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:21:45,720.720 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:21:45,723.723 INFO    ] No camera update needed
[2026-10-20 12:21:45,726.726 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:21:45,729.729 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:21:45,735.735 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:21:45,741.741 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:21:47,784.784 INFO    ] ================================================
[2026-10-20 12:21:47,800.800 INFO    ] Launching Daemon at Tue Oct 20 12:21:47 IST 2026
[2026-10-20 12:21:47,811.811 INFO    ] ================================================
[2026-10-20 12:21:48,475.475 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:21:48
[2026-10-20 12:21:49,151.151 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:21:49,456.456 INFO    ] Initializing speech engine...
[2026-10-20 12:21:49,468.468 INFO    ] 2026-10-20 12:21:49
[2026-10-20 12:21:49,755.755 INFO    ] 2026-10-20 12:21:49
[2026-10-20 12:21:49,864.864 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:21:50,080.080 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:21:50,132.132 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:21:50,323.323 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:21:50,333.333 INFO    ] time= 20/10/2026 12:21:50
[2026-10-20 12:21:50,345.345 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:21:50,397.397 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:21:50,539.539 INFO    ] No existing commands found in stream
[2026-10-20 12:21:55,562.562 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:21:55,566.566 INFO    ] Waiting 2.27 seconds before fallback handling...
[2026-10-20 12:21:58,358.358 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:21:58,361.361 INFO    ] Checking for system updates...
[2026-10-20 12:21:58,402.402 INFO    ] 200
[2026-10-20 12:21:58,405.405 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:21:58,458.458 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:21:58,461.461 INFO    ] No update needed
[2026-10-20 12:21:58,464.464 INFO    ] Checking for camera pi updates...
[2026-10-20 12:21:58,502.502 INFO    ] 200
[2026-10-20 12:21:58,505.505 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:21:58,547.547 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:21:58,591.591 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:21:58,594.594 INFO    ] No camera update needed
[2026-10-20 12:21:58,596.596 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:21:58,599.599 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:21:58,605.605 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:21:58,611.611 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:22:00,652.652 INFO    ] ================================================
[2026-10-20 12:22:00,667.667 INFO    ] Launching Daemon at Tue Oct 20 12:22:00 IST 2026
[2026-10-20 12:22:00,678.678 INFO    ] ================================================
[2026-10-20 12:22:01,331.331 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:22:01
[2026-10-20 12:22:02,058.058 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:22:02,385.385 INFO    ] Initializing speech engine...
[2026-10-20 12:22:02,395.395 INFO    ] 2026-10-20 12:22:02
[2026-10-20 12:22:02,678.678 INFO    ] 2026-10-20 12:22:02
[2026-10-20 12:22:02,733.733 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:22:03,025.025 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:22:03,034.034 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:22:03,173.173 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:22:03,213.213 INFO    ] time= 20/10/2026 12:22:03
[2026-10-20 12:22:03,267.267 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:22:03,318.318 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:22:03,463.463 INFO    ] No existing commands found in stream
[2026-10-20 12:22:08,486.486 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:22:08,489.489 INFO    ] Waiting 2.22 seconds before fallback handling...
[2026-10-20 12:22:11,215.215 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:22:11,218.218 INFO    ] Checking for system updates...
[2026-10-20 12:22:11,253.253 INFO    ] 200
[2026-10-20 12:22:11,256.256 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:22:11,308.308 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:22:11,310.310 INFO    ] No update needed
[2026-10-20 12:22:11,313.313 INFO    ] Checking for camera pi updates...
[2026-10-20 12:22:11,349.349 INFO    ] 200
[2026-10-20 12:22:11,352.352 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:22:11,393.393 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:22:11,446.446 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:22:11,449.449 INFO    ] No camera update needed
[2026-10-20 12:22:11,451.451 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:22:11,454.454 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:22:11,459.459 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:22:11,464.464 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:22:13,503.503 INFO    ] ================================================
[2026-10-20 12:22:13,519.519 INFO    ] Launching Daemon at Tue Oct 20 12:22:13 IST 2026
[2026-10-20 12:22:13,530.530 INFO    ] ================================================
[2026-10-20 12:22:14,117.117 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:22:14
[2026-10-20 12:22:14,721.721 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:22:14,992.992 INFO    ] Initializing speech engine...
[2026-10-20 12:22:15,004.004 INFO    ] 2026-10-20 12:22:14
[2026-10-20 12:22:15,289.289 INFO    ] 2026-10-20 12:22:15
[2026-10-20 12:22:15,327.327 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:22:15,549.549 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:22:15,557.557 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:22:15,775.775 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:22:15,786.786 INFO    ] time= 20/10/2026 12:22:15
[2026-10-20 12:22:15,855.855 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:22:15,910.910 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:22:15,992.992 INFO    ] No existing commands found in stream
[2026-10-20 12:22:21,010.010 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:22:21,013.013 INFO    ] Waiting 1.41 seconds before fallback handling...
[2026-10-20 12:22:22,902.902 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:22:22,904.904 INFO    ] Checking for system updates...
[2026-10-20 12:22:22,940.940 INFO    ] 200
[2026-10-20 12:22:22,942.942 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:22:23,002.002 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:22:23,004.004 INFO    ] No update needed
[2026-10-20 12:22:23,006.006 INFO    ] Checking for camera pi updates...
[2026-10-20 12:22:23,040.040 INFO    ] 200
[2026-10-20 12:22:23,042.042 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:22:23,083.083 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:22:23,125.125 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:22:23,128.128 INFO    ] No camera update needed
[2026-10-20 12:22:23,130.130 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:22:23,133.133 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:22:23,138.138 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:22:23,143.143 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:22:25,183.183 INFO    ] ================================================
[2026-10-20 12:22:25,199.199 INFO    ] Launching Daemon at Tue Oct 20 12:22:25 IST 2026
[2026-10-20 12:22:25,211.211 INFO    ] ================================================
[2026-10-20 12:22:25,789.789 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:22:25
[2026-10-20 12:22:26,372.372 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:22:26,642.642 INFO    ] Initializing speech engine...
[2026-10-20 12:22:26,651.651 INFO    ] 2026-10-20 12:22:26
[2026-10-20 12:22:26,903.903 INFO    ] 2026-10-20 12:22:26
[2026-10-20 12:22:26,938.938 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:22:27,184.184 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:22:27,193.193 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:22:27,327.327 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:22:27,391.391 INFO    ] time= 20/10/2026 12:22:27
[2026-10-20 12:22:27,410.410 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:22:27,413.413 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:22:27,493.493 INFO    ] No existing commands found in stream
[2026-10-20 12:22:32,501.501 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:22:32,504.504 INFO    ] Waiting 2.54 seconds before fallback handling...
[2026-10-20 12:22:35,589.589 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 12:22:35,592.592 INFO    ] Checking for system updates...
[2026-10-20 12:22:35,630.630 INFO    ] 200
[2026-10-20 12:22:35,633.633 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:22:35,687.687 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:22:35,690.690 INFO    ] No update needed
[2026-10-20 12:22:35,692.692 INFO    ] Checking for camera pi updates...
[2026-10-20 12:22:35,728.728 INFO    ] 200
[2026-10-20 12:22:35,731.731 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:22:35,778.778 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:22:35,824.824 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:22:35,827.827 INFO    ] No camera update needed
[2026-10-20 12:22:35,829.829 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:22:35,832.832 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:22:35,837.837 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:22:35,843.843 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:22:37,884.884 INFO    ] ================================================
[2026-10-20 12:22:37,899.899 INFO    ] Launching Daemon at Tue Oct 20 12:22:37 IST 2026
[2026-10-20 12:22:37,911.911 INFO    ] ================================================
[2026-10-20 12:22:38,564.564 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:22:38
[2026-10-20 12:22:39,241.241 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:22:39,546.546 INFO    ] Initializing speech engine...
[2026-10-20 12:22:39,552.552 INFO    ] 2026-10-20 12:22:39
[2026-10-20 12:22:39,868.868 INFO    ] 2026-10-20 12:22:39
[2026-10-20 12:22:39,955.955 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:22:40,136.136 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:22:40,171.171 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:22:40,372.372 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:22:40,379.379 INFO    ] time= 20/10/2026 12:22:40
[2026-10-20 12:22:40,397.397 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:22:40,415.415 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:22:40,548.548 INFO    ] No existing commands found in stream
[2026-10-20 12:22:45,574.574 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:22:45,577.577 INFO    ] Waiting 1.01 seconds before fallback handling...
[2026-10-20 12:22:47,149.149 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 12:22:47,152.152 INFO    ] Checking for system updates...
[2026-10-20 12:22:47,193.193 INFO    ] 200
[2026-10-20 12:22:47,196.196 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:22:47,249.249 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:22:47,252.252 INFO    ] No update needed
[2026-10-20 12:22:47,254.254 INFO    ] Checking for camera pi updates...
[2026-10-20 12:22:47,289.289 INFO    ] 200
[2026-10-20 12:22:47,292.292 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:22:47,338.338 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:22:47,386.386 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:22:47,388.388 INFO    ] No camera update needed
[2026-10-20 12:22:47,391.391 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:22:47,394.394 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:22:47,400.400 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:22:47,406.406 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:22:49,449.449 INFO    ] ================================================
[2026-10-20 12:22:49,467.467 INFO    ] Launching Daemon at Tue Oct 20 12:22:49 IST 2026
[2026-10-20 12:22:49,479.479 INFO    ] ================================================
[2026-10-20 12:22:50,133.133 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:22:50
[2026-10-20 12:22:50,804.804 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:22:51,111.111 INFO    ] Initializing speech engine...
[2026-10-20 12:22:51,123.123 INFO    ] 2026-10-20 12:22:51
[2026-10-20 12:22:51,432.432 INFO    ] 2026-10-20 12:22:51
[2026-10-20 12:22:51,517.517 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:22:51,731.731 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:22:51,736.736 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:22:51,925.925 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:22:51,939.939 INFO    ] time= 20/10/2026 12:22:51
[2026-10-20 12:22:51,956.956 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:22:51,974.974 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:22:52,098.098 INFO    ] No existing commands found in stream
[2026-10-20 12:22:57,129.129 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:22:57,132.132 INFO    ] Waiting 0.88 seconds before fallback handling...
[2026-10-20 12:22:58,592.592 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:22:58,595.595 INFO    ] Checking for system updates...
[2026-10-20 12:22:58,632.632 INFO    ] 200
[2026-10-20 12:22:58,635.635 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:22:58,693.693 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:22:58,696.696 INFO    ] No update needed
[2026-10-20 12:22:58,699.699 INFO    ] Checking for camera pi updates...
[2026-10-20 12:22:58,736.736 INFO    ] 200
[2026-10-20 12:22:58,739.739 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:22:58,784.784 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:22:58,931.931 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:22:58,934.934 INFO    ] No camera update needed
[2026-10-20 12:22:58,936.936 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:22:58,938.938 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:22:58,944.944 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:22:58,949.949 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:23:00,990.990 INFO    ] ================================================
[2026-10-20 12:23:01,006.006 INFO    ] Launching Daemon at Tue Oct 20 12:23:01 IST 2026
[2026-10-20 12:23:01,017.017 INFO    ] ================================================
[2026-10-20 12:23:01,701.701 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:23:01
[2026-10-20 12:23:02,406.406 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:23:02,728.728 INFO    ] Initializing speech engine...
[2026-10-20 12:23:02,748.748 INFO    ] 2026-10-20 12:23:02
[2026-10-20 12:23:03,065.065 INFO    ] 2026-10-20 12:23:03
[2026-10-20 12:23:03,099.099 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:23:03,377.377 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:23:03,386.386 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:23:03,521.521 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:23:03,575.575 INFO    ] time= 20/10/2026 12:23:03
[2026-10-20 12:23:03,619.619 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:23:03,652.652 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:23:03,790.790 INFO    ] No existing commands found in stream
[2026-10-20 12:23:08,811.811 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:23:08,814.814 INFO    ] Waiting 3.20 seconds before fallback handling...
[2026-10-20 12:23:12,726.726 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:23:12,729.729 INFO    ] Checking for system updates...
[2026-10-20 12:23:12,764.764 INFO    ] 200
[2026-10-20 12:23:12,767.767 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:23:12,820.820 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:23:12,822.822 INFO    ] No update needed
[2026-10-20 12:23:12,824.824 INFO    ] Checking for camera pi updates...
[2026-10-20 12:23:12,862.862 INFO    ] 200
[2026-10-20 12:23:12,865.865 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:23:12,904.904 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:23:12,951.951 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:23:12,953.953 INFO    ] No camera update needed
[2026-10-20 12:23:12,955.955 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:23:12,958.958 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:23:12,963.963 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:23:12,968.968 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:23:15,008.008 INFO    ] ================================================
[2026-10-20 12:23:15,023.023 INFO    ] Launching Daemon at Tue Oct 20 12:23:15 IST 2026
[2026-10-20 12:23:15,034.034 INFO    ] ================================================
[2026-10-20 12:23:15,601.601 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:23:15
[2026-10-20 12:23:16,184.184 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:23:16,475.475 INFO    ] Initializing speech engine...
[2026-10-20 12:23:16,485.485 INFO    ] 2026-10-20 12:23:16
[2026-10-20 12:23:16,749.749 INFO    ] 2026-10-20 12:23:16
[2026-10-20 12:23:16,795.795 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:23:17,257.257 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:23:17,296.296 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:23:17,483.483 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:23:17,515.515 INFO    ] time= 20/10/2026 12:23:17
[2026-10-20 12:23:17,572.572 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:23:17,614.614 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:23:17,748.748 INFO    ] No existing commands found in stream
[2026-10-20 12:23:22,761.761 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:23:22,763.763 INFO    ] Waiting 0.13 seconds before fallback handling...
[2026-10-20 12:23:23,379.379 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:23:23,382.382 INFO    ] Checking for system updates...
[2026-10-20 12:23:23,419.419 INFO    ] 200
[2026-10-20 12:23:23,421.421 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:23:23,472.472 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:23:23,475.475 INFO    ] No update needed
[2026-10-20 12:23:23,477.477 INFO    ] Checking for camera pi updates...
[2026-10-20 12:23:23,518.518 INFO    ] 200
[2026-10-20 12:23:23,521.521 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:23:23,571.571 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:23:23,606.606 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:23:23,609.609 INFO    ] No camera update needed
[2026-10-20 12:23:23,613.613 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:23:23,616.616 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:23:23,623.623 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:23:23,629.629 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:23:25,670.670 INFO    ] ================================================
[2026-10-20 12:23:25,686.686 INFO    ] Launching Daemon at Tue Oct 20 12:23:25 IST 2026
[2026-10-20 12:23:25,697.697 INFO    ] ================================================
[2026-10-20 12:23:26,280.280 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:23:26
[2026-10-20 12:23:26,880.880 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:23:27,154.154 INFO    ] Initializing speech engine...
[2026-10-20 12:23:27,163.163 INFO    ] 2026-10-20 12:23:27
[2026-10-20 12:23:27,421.421 INFO    ] 2026-10-20 12:23:27
[2026-10-20 12:23:27,451.451 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:23:27,699.699 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:23:27,703.703 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:23:27,897.897 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:23:27,952.952 INFO    ] time= 20/10/2026 12:23:27
[2026-10-20 12:23:27,969.969 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:23:27,986.986 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:23:28,117.117 INFO    ] No existing commands found in stream
[2026-10-20 12:23:33,129.129 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:23:33,132.132 INFO    ] Waiting 0.81 seconds before fallback handling...
[2026-10-20 12:23:34,484.484 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:23:34,486.486 INFO    ] Checking for system updates...
[2026-10-20 12:23:34,525.525 INFO    ] 200
[2026-10-20 12:23:34,527.527 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:23:34,578.578 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:23:34,581.581 INFO    ] No update needed
[2026-10-20 12:23:34,583.583 INFO    ] Checking for camera pi updates...
[2026-10-20 12:23:34,616.616 INFO    ] 200
[2026-10-20 12:23:34,619.619 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:23:34,658.658 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:23:34,710.710 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:23:34,712.712 INFO    ] No camera update needed
[2026-10-20 12:23:34,715.715 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:23:34,717.717 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:23:34,723.723 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:23:34,728.728 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:23:36,769.769 INFO    ] ================================================
[2026-10-20 12:23:36,784.784 INFO    ] Launching Daemon at Tue Oct 20 12:23:36 IST 2026
[2026-10-20 12:23:36,794.794 INFO    ] ================================================
[2026-10-20 12:23:37,359.359 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:23:37
[2026-10-20 12:23:37,941.941 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:23:38,191.191 INFO    ] Initializing speech engine...
[2026-10-20 12:23:38,200.200 INFO    ] 2026-10-20 12:23:38
[2026-10-20 12:23:38,495.495 INFO    ] 2026-10-20 12:23:38
[2026-10-20 12:23:38,529.529 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:23:38,752.752 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:23:38,760.760 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:23:38,977.977 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:23:38,984.984 INFO    ] time= 20/10/2026 12:23:38
[2026-10-20 12:23:39,038.038 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:23:39,077.077 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:23:39,182.182 INFO    ] No existing commands found in stream
[2026-10-20 12:23:44,194.194 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:23:44,197.197 INFO    ] Waiting 2.98 seconds before fallback handling...
[2026-10-20 12:23:47,701.701 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:23:47,704.704 INFO    ] Checking for system updates...
[2026-10-20 12:23:47,742.742 INFO    ] 200
[2026-10-20 12:23:47,744.744 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:23:47,801.801 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:23:47,804.804 INFO    ] No update needed
[2026-10-20 12:23:47,806.806 INFO    ] Checking for camera pi updates...
[2026-10-20 12:23:47,840.840 INFO    ] 200
[2026-10-20 12:23:47,842.842 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:23:47,883.883 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:23:47,934.934 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:23:47,937.937 INFO    ] No camera update needed
[2026-10-20 12:23:47,939.939 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:23:47,941.941 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:23:47,947.947 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:23:47,952.952 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:23:49,991.991 INFO    ] ================================================
[2026-10-20 12:23:50,007.007 INFO    ] Launching Daemon at Tue Oct 20 12:23:50 IST 2026
[2026-10-20 12:23:50,017.017 INFO    ] ================================================
[2026-10-20 12:23:50,583.583 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:23:50
[2026-10-20 12:23:51,169.169 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:23:51,425.425 INFO    ] Initializing speech engine...
[2026-10-20 12:23:51,433.433 INFO    ] 2026-10-20 12:23:51
[2026-10-20 12:23:51,729.729 INFO    ] 2026-10-20 12:23:51
[2026-10-20 12:23:51,764.764 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:23:51,990.990 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:23:52,031.031 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:23:52,215.215 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:23:52,237.237 INFO    ] time= 20/10/2026 12:23:52
[2026-10-20 12:23:52,302.302 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:23:52,362.362 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:23:52,532.532 INFO    ] No existing commands found in stream
[2026-10-20 12:23:57,548.548 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:23:57,551.551 INFO    ] Waiting 2.90 seconds before fallback handling...
[2026-10-20 12:24:00,981.981 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 12:24:00,984.984 INFO    ] Checking for system updates...
[2026-10-20 12:24:01,021.021 INFO    ] 200
[2026-10-20 12:24:01,024.024 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:24:01,078.078 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:24:01,081.081 INFO    ] No update needed
[2026-10-20 12:24:01,084.084 INFO    ] Checking for camera pi updates...
[2026-10-20 12:24:01,118.118 INFO    ] 200
[2026-10-20 12:24:01,121.121 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:24:01,166.166 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:24:01,217.217 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:24:01,220.220 INFO    ] No camera update needed
[2026-10-20 12:24:01,222.222 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:24:01,225.225 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:24:01,231.231 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:24:01,237.237 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:24:03,281.281 INFO    ] ================================================
[2026-10-20 12:24:03,300.300 INFO    ] Launching Daemon at Tue Oct 20 12:24:03 IST 2026
[2026-10-20 12:24:03,314.314 INFO    ] ================================================
[2026-10-20 12:24:03,883.883 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:24:03
[2026-10-20 12:24:04,545.545 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:24:04,852.852 INFO    ] Initializing speech engine...
[2026-10-20 12:24:04,862.862 INFO    ] 2026-10-20 12:24:04
[2026-10-20 12:24:05,149.149 INFO    ] 2026-10-20 12:24:05
[2026-10-20 12:24:05,193.193 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:24:05,477.477 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:24:05,486.486 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:24:05,680.680 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:24:05,690.690 INFO    ] time= 20/10/2026 12:24:05
[2026-10-20 12:24:05,712.712 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:24:05,740.740 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:24:05,857.857 INFO    ] Found 1 existing command(s) in stream
[2026-10-20 12:24:05,911.911 INFO    ] Checking historical command: ID=1792479239193-0
[2026-10-20 12:24:05,953.953 INFO    ] process_and_cleanup_command: msg_id=1792479239193-0
[2026-10-20 12:24:06,007.007 INFO    ] is_command_expired: timestamp=2026-10-20T06:53:56.956Z, expiry=30s
[2026-10-20 12:24:06,276.276 INFO    ] Command removed from stream: 1792479239193-0. returning for processing...
[2026-10-20 12:24:06,310.310 INFO    ] ***** get_valid_command
[2026-10-20 12:24:06,317.317 INFO    ] {'timeout': '10', 'timestamp': '2026-10-20T06:53:56.956Z', 'source': 'webapp', 'data': '{"request_id":"start-order-1792479236955-vzos770ol","orderId":"TM04202203261020122259705","is_vending":false}', 'command': 'start-order'}
[2026-10-20 12:24:06,368.368 INFO    ] ***** Parsed command data: {'is_vending': False, 'request_id': 'start-order-1792479236955-vzos770ol', 'orderId': 'TM04202203261020122259705'}
[2026-10-20 12:24:06,372.372 INFO    ] Handling start order...
[2026-10-20 12:24:06,423.423 INFO    ] handle_start_order_command
[2026-10-20 12:24:06,437.437 INFO    ] _send_start_order_success: request_id=start-order-1792479236955-vzos770ol, order_id=TM04202203261020122259705
[2026-10-20 12:24:06,443.443 INFO    ] [_send_start_order_success] Adding message to stream: machine:TM04202203
[2026-10-20 12:24:06,581.581 INFO    ] [_send_start_order_success] Message added to stream with ID: 1792479246522-0
[2026-10-20 12:24:06,588.588 INFO    ] ✅ Start-order command succeeded - order locked, waiting for process-order command
[2026-10-20 12:24:06,597.597 INFO    ] Checking for system updates...
[2026-10-20 12:24:06,651.651 INFO    ] 200
[2026-10-20 12:24:06,661.661 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:24:06,722.722 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:24:06,727.727 INFO    ] No update needed
[2026-10-20 12:24:06,734.734 INFO    ] Checking for camera pi updates...
[2026-10-20 12:24:06,775.775 INFO    ] 200
[2026-10-20 12:24:06,781.781 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:24:06,825.825 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:24:06,879.879 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:24:06,890.890 INFO    ] No camera update needed
[2026-10-20 12:24:06,897.897 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:24:06,905.905 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:24:06,926.926 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:24:06,942.942 INFO    ] Thread: Thread-1, daemon=True, alive=True
[2026-10-20 12:24:06,959.959 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:24:09,004.004 INFO    ] ================================================
[2026-10-20 12:24:09,020.020 INFO    ] Launching Daemon at Tue Oct 20 12:24:09 IST 2026
[2026-10-20 12:24:09,030.030 INFO    ] ================================================
[2026-10-20 12:24:09,614.614 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:24:09
[2026-10-20 12:24:10,216.216 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:24:10,482.482 INFO    ] Initializing speech engine...
[2026-10-20 12:24:10,489.489 INFO    ] 2026-10-20 12:24:10
[2026-10-20 12:24:10,790.790 INFO    ] 2026-10-20 12:24:10
[2026-10-20 12:24:10,830.830 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:24:11,060.060 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:24:11,111.111 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:24:11,299.299 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:24:11,337.337 INFO    ] time= 20/10/2026 12:24:11
[2026-10-20 12:24:11,386.386 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:24:11,436.436 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:24:11,612.612 INFO    ] Found 2 existing command(s) in stream
[2026-10-20 12:24:11,646.646 INFO    ] Checking historical command: ID=1792479246522-0
[2026-10-20 12:24:11,696.696 INFO    ] process_and_cleanup_command: msg_id=1792479246522-0
[2026-10-20 12:24:11,745.745 INFO    ] is_command_expired: timestamp=2026-10-20T06:54:06.438906Z, expiry=30s
[2026-10-20 12:24:11,962.962 INFO    ] Command removed from stream: 1792479246522-0. returning for processing...
[2026-10-20 12:24:11,982.982 INFO    ] ***** get_valid_command
[2026-10-20 12:24:12,032.032 INFO    ] {'status': 'success', 'imei': 'TM04202203', 'timestamp': '2026-10-20T06:54:06.438906Z', 'message': 'start-order success', 'metadata_order_id': 'TM04202203261020122259705', 'message_type': 'command_response', 'metadata_request_id': 'start-order-1792479236955-vzos770ol'}
[2026-10-20 12:24:12,043.043 INFO    ] Checking historical command: ID=1792479247491-0
[2026-10-20 12:24:12,046.046 INFO    ] process_and_cleanup_command: msg_id=1792479247491-0
[2026-10-20 12:24:12,049.049 INFO    ] is_command_expired: timestamp=2026-10-20T06:54:05.181Z, expiry=30s
[2026-10-20 12:24:12,189.189 INFO    ] Command removed from stream: 1792479247491-0. returning for processing...
[2026-10-20 12:24:12,203.203 INFO    ] ***** get_valid_command
[2026-10-20 12:24:12,210.210 INFO    ] {'timestamp': '2026-10-20T06:54:05.181Z', 'timeout': '60', 'data': '{"request_id":"process-order-1792479245181-mwpdqizy8","orderId":"TM04202203261020122259705","is_vending":false,"accessCode":"26704576"}', 'command': 'process-order', 'source': 'webapp'}
[2026-10-20 12:24:12,224.224 INFO    ] ***** Parsed command data: {'accessCode': '26704576', 'request_id': 'process-order-1792479245181-mwpdqizy8', 'is_vending': False, 'orderId': 'TM04202203261020122259705'}
[2026-10-20 12:24:12,273.273 INFO    ] Handling process order...
[2026-10-20 12:24:12,276.276 INFO    ] Processing process-order command...
[2026-10-20 12:24:12,280.280 INFO    ] 🔍 Lock file Order ID: TM04202203261020122259705, TS: 2026-10-20 12:24:06
[2026-10-20 12:24:12,340.340 INFO    ] ✅ Order lock valid for TM04202203261020122259705
[2026-10-20 12:24:12,354.354 INFO    ] Received access code in process-order, skipping PHP API call
[2026-10-20 12:24:12,361.361 INFO    ] processing access code 26704576 for order TM04202203261020122259705
[2026-10-20 12:24:12,366.366 INFO    ] 🔍 Lock file Order ID: TM04202203261020122259705, TS: 2026-10-20 12:24:06
[2026-10-20 12:24:12,371.371 INFO    ] ✅ Order lock valid for TM04202203261020122259705
[2026-10-20 12:24:12,376.376 INFO    ] 2026-10-20 12:24:12
[2026-10-20 12:24:12,494.494 INFO    ] 200
[2026-10-20 12:24:12,540.540 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:24:12,547.547 INFO    ] 26704576
[2026-10-20 12:24:12,552.552 INFO    ] 2026-10-20 12:24:12
[2026-10-20 12:24:12,559.559 INFO    ] session id :832986311
[2026-10-20 12:24:12,567.567 INFO    ] http://localhost:5000/v2/getOrderByAccessCode?access_code=26704576&imei=TM04202203&session_id=832986311
[2026-10-20 12:24:13,802.802 INFO    ] 200
[2026-10-20 12:24:13,813.813 INFO    ] {"data": {"access_code": "26704576", "bill_amount": "40", "invoice_bill": "40", "order_id": "TM04202203261020122259705", "mobile": "9980241354", "proposed_sku_json": [{"image_url": "https://images.tinymart.in/product/4500474-4957.jpg", "door_id": "1", "mrp": "20", "offer_id": "", "name": "Bingo Mad Angles Tomato Madess, 60g", "unit_price": 20, "qty": 1, "offer_desc": "", "skuid": "4500474", "sku_total": 20, "tray_id": "17"}, {"image_url": "https://images.tinymart.in/product/4500708-7901.webp", "door_id": "1", "mrp": "10", "offer_id": "", "name": "Modern Kitchen Masala Peanut 28gm", "unit_price": 10, "qty": 2, "offer_desc": "", "skuid": "4500708", "sku_total": 20, "tray_id": "20"}]}, "status": true, "msg": "Order Data", "rstatus": true}
[2026-10-20 12:24:13,835.835 INFO    ] 40
[2026-10-20 12:24:13,845.845 INFO    ] TM04202203261020122259705
[2026-10-20 12:24:13,850.850 INFO    ] 9980241354
[2026-10-20 12:24:13,856.856 INFO    ] 2026-10-20 12:24:13
[2026-10-20 12:24:13,871.871 INFO    ] Door Opening for user mobile ending with  one three five four 
[2026-10-20 12:24:13,896.896 INFO    ] Door Opening for user mobile ending with  one three five four 
[2026-10-20 12:24:13,916.916 INFO    ] 2dd9bd77cbd3f17977e67c2f76732614
[2026-10-20 12:24:13,944.944 INFO    ] 2026-10-20 12:24:13
[2026-10-20 12:24:13,951.951 INFO    ] playing audio file
[2026-10-20 12:24:13,987.987 INFO    ] 2026-10-20 12:24:13
[2026-10-20 12:24:14,013.013 INFO    ] 2026-10-20 12:24:13
[2026-10-20 12:24:14,082.082 INFO    ] publish_status: order_id=TM04202203261020122259705
[2026-10-20 12:24:14,093.093 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020122259705
[2026-10-20 12:24:14,198.198 INFO    ] [publish_status] Message added to stream with ID: 1792479254150-0
[2026-10-20 12:24:14,203.203 INFO    ] Published to order:TM04202203261020122259705: {'order_id': 'TM04202203261020122259705', 'server_response': '{"msg": "Order Data", "status": true, "rstatus": true, "data": {"order_id": "TM04202203261020122259705", "mobile": "9980241354", "invoice_bill": "40", "bill_amount": "40", "proposed_sku_json": [{"unit_price": 20, "sku_total": 20, "mrp": "20", "qty": 1, "tray_id": "17", "name": "Bingo Mad Angles Tomato Madess, 60g", "skuid": "4500474", "image_url": "https://images.tinymart.in/product/4500474-4957.jpg", "offer_id": "", "offer_desc": "", "door_id": "1"}, {"unit_price": 10, "sku_total": 20, "mrp": "10", "qty": 2, "tray_id": "20", "name": "Modern Kitchen Masala Peanut 28gm", "skuid": "4500708", "image_url": "https://images.tinymart.in/product/4500708-7901.webp", "offer_id": "", "offer_desc": "", "door_id": "1"}], "access_code": "26704576"}}', 'server_status': 'order-started', 'timestamp': '2026-10-20T06:54:14.027171Z'} (ID: 1792479254150-0)
[2026-10-20 12:24:14,809.809 INFO    ] {'order_id': 'TM04202203261020122259705', 'server_response': {'msg': 'Order Data', 'status': True, 'rstatus': True, 'data': {'order_id': 'TM04202203261020122259705', 'mobile': '9980241354', 'invoice_bill': '40', 'bill_amount': '40', 'proposed_sku_json': [{'unit_price': 20, 'sku_total': 20, 'mrp': '20', 'qty': 1, 'tray_id': '17', 'name': 'Bingo Mad Angles Tomato Madess, 60g', 'skuid': '4500474', 'image_url': 'https://images.tinymart.in/product/4500474-4957.jpg', 'offer_id': '', 'offer_desc': '', 'door_id': '1'}, {'unit_price': 10, 'sku_total': 20, 'mrp': '10', 'qty': 2, 'tray_id': '20', 'name': 'Modern Kitchen Masala Peanut 28gm', 'skuid': '4500708', 'image_url': 'https://images.tinymart.in/product/4500708-7901.webp', 'offer_id': '', 'offer_desc': '', 'door_id': '1'}], 'access_code': '26704576'}}, 'server_status': 'order-started'}
[2026-10-20 12:24:14,812.812 INFO    ] 200
[2026-10-20 12:24:14,814.814 INFO    ] {"data":{"order_id":"TM04202203261020122259705","server_response":{"msg":"Order Data","status":true,"rstatus":true,"data":{"order_id":"TM04202203261020122259705","mobile":"9980241354","invoice_bill":"40","bill_amount":"40","proposed_sku_json":[{"unit_price":20,"sku_total":20,"mrp":"20","qty":1,"tray_id":"17","name":"Bingo Mad Angles Tomato Madess, 60g","skuid":"4500474","image_url":"https:\/\/images.tinymart.in\/product\/4500474-4957.jpg","offer_id":"","offer_desc":"","door_id":"1"},{"unit_price":10,"sku_total":20,"mrp":"10","qty":2,"tray_id":"20","name":"Modern Kitchen Masala Peanut 28gm","skuid":"4500708","image_url":"https:\/\/images.tinymart.in\/product\/4500708-7901.webp","offer_id":"","offer_desc":"","door_id":"1"}],"access_code":"26704576"}},"server_status":"order-started"},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 12:24:14,817.817 INFO    ] {'response': {'msg': 'order updated successfully', 'code': 'ORDER_EXISTS', 'status': True, 'data': 'order updated successfully'}, 'data': {'order_id': 'TM04202203261020122259705', 'server_response': {'msg': 'Order Data', 'status': True, 'rstatus': True, 'data': {'bill_amount': '40', 'mobile': '9980241354', 'invoice_bill': '40', 'order_id': 'TM04202203261020122259705', 'access_code': '26704576', 'proposed_sku_json': [{'unit_price': 20, 'mrp': '20', 'qty': 1, 'tray_id': '17', 'name': 'Bingo Mad Angles Tomato Madess, 60g', 'skuid': '4500474', 'image_url': 'https://images.tinymart.in/product/4500474-4957.jpg', 'offer_id': '', 'door_id': '1', 'offer_desc': '', 'sku_total': 20}, {'unit_price': 10, 'mrp': '10', 'qty': 2, 'tray_id': '20', 'name': 'Modern Kitchen Masala Peanut 28gm', 'skuid': '4500708', 'image_url': 'https://images.tinymart.in/product/4500708-7901.webp', 'offer_id': '', 'door_id': '1', 'offer_desc': '', 'sku_total': 20}]}}, 'server_status': 'order-started'}}
[2026-10-20 12:24:14,820.820 INFO    ] 2026-10-20 12:24:14
[2026-10-20 12:24:14,866.866 INFO    ] 200
[2026-10-20 12:24:14,869.869 INFO    ] True
[2026-10-20 12:24:15,010.010 INFO    ] 200
[2026-10-20 12:24:15,013.013 INFO    ] {"SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "rstatus": false, "voiceNote": "Please Wait", "status": "False", "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait while we process your order", "Note": "", "Header": " Your order is under process  "}, "SectionMain": {"Header": "Processing Order"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 12:24:15,016.016 INFO    ] {'error': {'umessage': 'In Progress', 'code': 20001, 'data': {}, 'tmessage': 'In Progress'}, 'rstatus': False, 'SectionMain': {'Header': 'Processing Order'}, 'status': 'False', 'voiceNote': 'Please Wait', 'SectionStatus': {'Note': '', 'Header': ' Your order is under process  ', 'UI_Header': '', 'SubHeader': 'Please wait while we process your order'}, 'SectionSKU': {'Header': 'Thank you for bearing with us :)', 'skus': []}}
[2026-10-20 12:24:15,019.019 INFO    ] *** process_order ***
[2026-10-20 12:24:16,206.206 INFO    ] 200
[2026-10-20 12:24:16,209.209 INFO    ] {"SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "rstatus": true, "voiceNote": "Please Wait", "delay": 0, "status": "True", "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait while we process your order", "Note": "", "Header": " Your order is under process  "}, "SectionMain": {"Header": "Processing Order"}}
[2026-10-20 12:24:16,212.212 INFO    ] {'delay': 0, 'rstatus': True, 'SectionMain': {'Header': 'Processing Order'}, 'status': 'True', 'voiceNote': 'Please Wait', 'SectionStatus': {'Note': '', 'Header': ' Your order is under process  ', 'UI_Header': '', 'SubHeader': 'Please wait while we process your order'}, 'SectionSKU': {'Header': 'Thank you for bearing with us :)', 'skus': []}}
[2026-10-20 12:24:16,214.214 INFO    ] *** process_order ***
[2026-10-20 12:24:16,217.217 INFO    ] publish_status: order_id=TM04202203261020122259705
[2026-10-20 12:24:16,219.219 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020122259705
[2026-10-20 12:24:16,301.301 INFO    ] [publish_status] Message added to stream with ID: 1792479256270-0
[2026-10-20 12:24:16,304.304 INFO    ] Published to order:TM04202203261020122259705: {'order_id': 'TM04202203261020122259705', 'server_response': '{"delay": 0, "rstatus": true, "SectionMain": {"Header": "Processing Order"}, "status": "True", "voiceNote": "Door is open...", "SectionStatus": {"Note": "", "UI_Header": "", "Header": " Your order is under process  ", "SubHeader": "You can pull the door now."}, "SectionSKU": {"Header": "Thank you for bearing with us :)", "skus": []}}', 'server_status': 'doorOpened'} (ID: 1792479256270-0)
[2026-10-20 12:24:17,372.372 INFO    ] 2026-10-20 12:24:17
[2026-10-20 12:24:17,375.375 INFO    ] publish_status: order_id=TM04202203261020122259705
[2026-10-20 12:24:17,378.378 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020122259705
[2026-10-20 12:24:17,484.484 INFO    ] [publish_status] Message added to stream with ID: 1792479257451-0
[2026-10-20 12:24:17,487.487 INFO    ] Published to order:TM04202203261020122259705: {'order_id': 'TM04202203261020122259705', 'server_response': '{"delay": 0, "rstatus": true, "SectionMain": {"Header": "Processing Order"}, "status": "True", "voiceNote": "Please Wait", "SectionStatus": {"Note": "", "Header": " Your order is under process  ", "UI_Header": "", "SubHeader": "Please wait while we process your order"}, "SectionSKU": {"Header": "Thank you for bearing with us :)", "skus": []}}', 'server_status': 'processOrder', 'timestamp': '2026-10-20T06:54:17.374168Z'} (ID: 1792479257451-0)
[2026-10-20 12:24:17,633.633 INFO    ] {'order_id': 'TM04202203261020122259705', 'server_response': {'delay': 0, 'rstatus': True, 'SectionMain': {'Header': 'Processing Order'}, 'status': 'True', 'voiceNote': 'Please Wait', 'SectionStatus': {'Note': '', 'Header': ' Your order is under process  ', 'UI_Header': '', 'SubHeader': 'Please wait while we process your order'}, 'SectionSKU': {'Header': 'Thank you for bearing with us :)', 'skus': []}}, 'server_status': 'processOrder'}
[2026-10-20 12:24:17,636.636 INFO    ] 200
[2026-10-20 12:24:17,638.638 INFO    ] {"data":{"order_id":"TM04202203261020122259705","server_response":{"delay":0,"rstatus":true,"SectionMain":{"Header":"Processing Order"},"status":"true","voiceNote":"Please Wait","SectionStatus":{"Note":"","Header":" Your order is under process  ","UI_Header":"","SubHeader":"Please wait while we process your order"},"SectionSKU":{"Header":"Thank you for bearing with us :)","skus":[]}},"server_status":"processOrder"},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 12:24:17,641.641 INFO    ] {'response': {'msg': 'order updated successfully', 'code': 'ORDER_EXISTS', 'status': True, 'data': 'order updated successfully'}, 'data': {'order_id': 'TM04202203261020122259705', 'server_response': {'delay': 0, 'rstatus': True, 'SectionMain': {'Header': 'Processing Order'}, 'status': 'true', 'voiceNote': 'Please Wait', 'SectionStatus': {'Note': '', 'SubHeader': 'Please wait while we process your order', 'Header': ' Your order is under process  ', 'UI_Header': ''}, 'SectionSKU': {'Header': 'Thank you for bearing with us :)', 'skus': []}}, 'server_status': 'processOrder'}}
[2026-10-20 12:24:17,644.644 INFO    ] 2026-10-20 12:24:17
[2026-10-20 12:24:17,646.646 INFO    ] None
[2026-10-20 12:24:17,649.649 INFO    ] Opening Door now
[2026-10-20 12:24:17,651.651 INFO    ] Opening Door now
[2026-10-20 12:24:17,654.654 INFO    ] 08e5d1063504bf393c26f0bfa436e9f9
[2026-10-20 12:24:17,657.657 INFO    ] 2026-10-20 12:24:17
[2026-10-20 12:24:17,660.660 INFO    ] playing audio file
[2026-10-20 12:24:17,678.678 INFO    ] 2026-10-20 12:24:17
[2026-10-20 12:24:17,681.681 INFO    ] 2026-10-20 12:24:17
[2026-10-20 12:24:20,744.744 INFO    ] 200
[2026-10-20 12:24:20,746.746 INFO    ] {"SectionSKU": {"skus": [{"name": "Bingo Mad Angles Tomato Madess, 60g", "qty": 1}, {"name": "Modern Kitchen Masala Peanut 28gm", "qty": 2}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Door 1 is open now", "status": "False", "SectionStatus": {"UI_Header": "DOOR 1\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 1"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 12:24:20,749.749 INFO    ] {'error': {'umessage': 'In Progress', 'code': 20001, 'data': {}, 'tmessage': 'In Progress'}, 'rstatus': False, 'SectionMain': {'Header': 'Door Open'}, 'status': 'False', 'voiceNote': 'Door 1 is open now', 'SectionStatus': {'Note': 'Please Close the door after picking up products', 'Header': 'Please Close Door 1', 'UI_Header': 'DOOR 1\nIS \nOPEN \nNOW', 'SubHeader': 'Please Pick the Products and close the door'}, 'SectionSKU': {'Header': 'Pick the below items from the door', 'skus': [{'name': 'Bingo Mad Angles Tomato Madess, 60g', 'qty': 1}, {'name': 'Modern Kitchen Masala Peanut 28gm', 'qty': 2}]}}
[2026-10-20 12:24:23,844.844 INFO    ] 200
[2026-10-20 12:24:23,846.846 INFO    ] {"SectionSKU": {"skus": [{"name": "Bingo Mad Angles Tomato Madess, 60g", "qty": 1}, {"name": "Modern Kitchen Masala Peanut 28gm", "qty": 2}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Please close door 1", "status": "False", "SectionStatus": {"UI_Header": "DOOR 1\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 1"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 12:24:23,850.850 INFO    ] {'error': {'umessage': 'In Progress', 'code': 20001, 'data': {}, 'tmessage': 'In Progress'}, 'rstatus': False, 'SectionMain': {'Header': 'Door Open'}, 'status': 'False', 'voiceNote': 'Please close door 1', 'SectionStatus': {'Note': 'Please Close the door after picking up products', 'Header': 'Please Close Door 1', 'UI_Header': 'DOOR 1\nIS \nOPEN \nNOW', 'SubHeader': 'Please Pick the Products and close the door'}, 'SectionSKU': {'Header': 'Pick the below items from the door', 'skus': [{'name': 'Bingo Mad Angles Tomato Madess, 60g', 'qty': 1}, {'name': 'Modern Kitchen Masala Peanut 28gm', 'qty': 2}]}}
[2026-10-20 12:24:27,199.199 INFO    ] 200
[2026-10-20 12:24:27,202.202 INFO    ] {"SectionSKU": {"skus": [{"name": "Bingo Mad Angles Tomato Madess, 60g", "qty": 1}, {"name": "Modern Kitchen Masala Peanut 28gm", "qty": 2}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Please close door 1", "status": "False", "SectionStatus": {"UI_Header": "DOOR 1\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 1"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 12:24:27,205.205 INFO    ] Please close door 1
[2026-10-20 12:24:27,207.207 INFO    ] Please close door 1
[2026-10-20 12:24:27,210.210 INFO    ] 787c302d53ab591e55c034b99c7aadd2
[2026-10-20 12:24:27,213.213 INFO    ] 2026-10-20 12:24:27
[2026-10-20 12:24:27,216.216 INFO    ] playing audio file
[2026-10-20 12:24:27,234.234 INFO    ] 2026-10-20 12:24:27
[2026-10-20 12:24:27,238.238 INFO    ] publish_status: order_id=TM04202203261020122259705
[2026-10-20 12:24:27,241.241 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020122259705
[2026-10-20 12:24:27,355.355 INFO    ] [publish_status] Message added to stream with ID: 1792479267323-0
[2026-10-20 12:24:27,357.357 INFO    ] Published to order:TM04202203261020122259705: {'order_id': 'TM04202203261020122259705', 'server_response': '{"error": {"umessage": "In Progress", "code": 20001, "data": {}, "tmessage": "In Progress"}, "rstatus": false, "SectionMain": {"Header": "Door Open"}, "status": "False", "voiceNote": "Please close door 1", "SectionStatus": {"Note": "Please Close the door after picking up products", "Header": "Please Close Door 1", "UI_Header": "DOOR 1\\nIS \\nOPEN \\nNOW", "SubHeader": "Please Pick the Products and close the door"}, "SectionSKU": {"Header": "Pick the below items from the door", "skus": [{"name": "Bingo Mad Angles Tomato Madess, 60g", "qty": 1}, {"name": "Modern Kitchen Masala Peanut 28gm", "qty": 2}]}}', 'server_status': 'OrderStatus', 'timestamp': '2026-10-20T06:54:27.236396Z'} (ID: 1792479267323-0)
[2026-10-20 12:24:27,939.939 INFO    ] {'order_id': 'TM04202203261020122259705', 'server_response': {'error': {'umessage': 'In Progress', 'code': 20001, 'data': {}, 'tmessage': 'In Progress'}, 'rstatus': False, 'SectionMain': {'Header': 'Door Open'}, 'status': 'False', 'voiceNote': 'Please close door 1', 'SectionStatus': {'Note': 'Please Close the door after picking up products', 'Header': 'Please Close Door 1', 'UI_Header': 'DOOR 1\nIS \nOPEN \nNOW', 'SubHeader': 'Please Pick the Products and close the door'}, 'SectionSKU': {'Header': 'Pick the below items from the door', 'skus': [{'name': 'Bingo Mad Angles Tomato Madess, 60g', 'qty': 1}, {'name': 'Modern Kitchen Masala Peanut 28gm', 'qty': 2}]}}, 'server_status': 'OrderStatus'}
[2026-10-20 12:24:27,942.942 INFO    ] 200
[2026-10-20 12:24:27,944.944 INFO    ] {"data":{"order_id":"TM04202203261020122259705","server_response":{"error":{"umessage":"In Progress","code":20001,"data":[],"tmessage":"In Progress"},"rstatus":false,"SectionMain":{"Header":"Door Open"},"status":"false","voiceNote":"Please close door 1","SectionStatus":{"Note":"Please Close the door after picking up products","Header":"Please Close Door 1","UI_Header":"DOOR 1\nIS \nOPEN \nNOW","SubHeader":"Please Pick the Products and close the door"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[{"name":"Bingo Mad Angles Tomato Madess, 60g","qty":1},{"name":"Modern Kitchen Masala Peanut 28gm","qty":2}]}},"server_status":"OrderStatus"},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 12:24:27,947.947 INFO    ] {'response': {'msg': 'order updated successfully', 'code': 'ORDER_EXISTS', 'status': True, 'data': 'order updated successfully'}, 'data': {'order_id': 'TM04202203261020122259705', 'server_response': {'error': {'umessage': 'In Progress', 'tmessage': 'In Progress', 'data': [], 'code': 20001}, 'rstatus': False, 'SectionMain': {'Header': 'Door Open'}, 'status': 'false', 'voiceNote': 'Please close door 1', 'SectionStatus': {'Note': 'Please Close the door after picking up products', 'SubHeader': 'Please Pick the Products and close the door', 'Header': 'Please Close Door 1', 'UI_Header': 'DOOR 1\nIS \nOPEN \nNOW'}, 'SectionSKU': {'Header': 'Pick the below items from the door', 'skus': [{'name': 'Bingo Mad Angles Tomato Madess, 60g', 'qty': 1}, {'name': 'Modern Kitchen Masala Peanut 28gm', 'qty': 2}]}}, 'server_status': 'OrderStatus'}}
[2026-10-20 12:24:27,950.950 INFO    ] {'error': {'umessage': 'In Progress', 'code': 20001, 'data': {}, 'tmessage': 'In Progress'}, 'rstatus': False, 'SectionMain': {'Header': 'Door Open'}, 'status': 'False', 'voiceNote': 'Please close door 1', 'SectionStatus': {'Note': 'Please Close the door after picking up products', 'Header': 'Please Close Door 1', 'UI_Header': 'DOOR 1\nIS \nOPEN \nNOW', 'SubHeader': 'Please Pick the Products and close the door'}, 'SectionSKU': {'Header': 'Pick the below items from the door', 'skus': [{'name': 'Bingo Mad Angles Tomato Madess, 60g', 'qty': 1}, {'name': 'Modern Kitchen Masala Peanut 28gm', 'qty': 2}]}}
[2026-10-20 12:24:31,033.033 INFO    ] 200
[2026-10-20 12:24:31,036.036 INFO    ] {"SectionSKU": {"skus": [{"name": "Bingo Mad Angles Tomato Madess, 60g", "qty": 1}, {"name": "Modern Kitchen Masala Peanut 28gm", "qty": 2}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Please close door 1", "status": "False", "SectionStatus": {"UI_Header": "DOOR 1\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 1"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 12:24:31,039.039 INFO    ] {'error': {'umessage': 'In Progress', 'code': 20001, 'data': {}, 'tmessage': 'In Progress'}, 'rstatus': False, 'SectionMain': {'Header': 'Door Open'}, 'status': 'False', 'voiceNote': 'Please close door 1', 'SectionStatus': {'Note': 'Please Close the door after picking up products', 'Header': 'Please Close Door 1', 'UI_Header': 'DOOR 1\nIS \nOPEN \nNOW', 'SubHeader': 'Please Pick the Products and close the door'}, 'SectionSKU': {'Header': 'Pick the below items from the door', 'skus': [{'name': 'Bingo Mad Angles Tomato Madess, 60g', 'qty': 1}, {'name': 'Modern Kitchen Masala Peanut 28gm', 'qty': 2}]}}
[2026-10-20 12:24:34,115.115 INFO    ] 200
[2026-10-20 12:24:34,119.119 INFO    ] {"SectionSKU": {"skus": [{"name": "Bingo Mad Angles Tomato Madess, 60g", "qty": 1}, {"name": "Modern Kitchen Masala Peanut 28gm", "qty": 2}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Please close door 1", "status": "False", "SectionStatus": {"UI_Header": "DOOR 1\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 1"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 12:24:34,126.126 INFO    ] {'error': {'umessage': 'In Progress', 'code': 20001, 'data': {}, 'tmessage': 'In Progress'}, 'rstatus': False, 'SectionMain': {'Header': 'Door Open'}, 'status': 'False', 'voiceNote': 'Please close door 1', 'SectionStatus': {'Note': 'Please Close the door after picking up products', 'Header': 'Please Close Door 1', 'UI_Header': 'DOOR 1\nIS \nOPEN \nNOW', 'SubHeader': 'Please Pick the Products and close the door'}, 'SectionSKU': {'Header': 'Pick the below items from the door', 'skus': [{'name': 'Bingo Mad Angles Tomato Madess, 60g', 'qty': 1}, {'name': 'Modern Kitchen Masala Peanut 28gm', 'qty': 2}]}}
[2026-10-20 12:24:37,175.175 INFO    ] 200
[2026-10-20 12:24:37,178.178 INFO    ] {"SectionSKU": {"skus": [{"name": "Bingo Mad Angles Tomato Madess, 60g", "qty": 1}, {"name": "Modern Kitchen Masala Peanut 28gm", "qty": 2}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Please close door 1", "status": "False", "SectionStatus": {"UI_Header": "DOOR 1\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 1"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 12:24:37,185.185 INFO    ] Please close door 1
[2026-10-20 12:24:37,187.187 INFO    ] Please close door 1
[2026-10-20 12:24:37,190.190 INFO    ] 787c302d53ab591e55c034b99c7aadd2
[2026-10-20 12:24:37,192.192 INFO    ] 2026-10-20 12:24:37
[2026-10-20 12:24:37,194.194 INFO    ] playing audio file
[2026-10-20 12:24:37,211.211 INFO    ] 2026-10-20 12:24:37
[2026-10-20 12:24:37,215.215 INFO    ] publish_status: order_id=TM04202203261020122259705
[2026-10-20 12:24:37,218.218 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020122259705
[2026-10-20 12:24:37,324.324 INFO    ] [publish_status] Message added to stream with ID: 1792479277291-0
[2026-10-20 12:24:37,327.327 INFO    ] Published to order:TM04202203261020122259705: {'order_id': 'TM04202203261020122259705', 'server_response': '{"error": {"umessage": "In Progress", "code": 20001, "data": {}, "tmessage": "In Progress"}, "rstatus": false, "SectionMain": {"Header": "Door Open"}, "status": "False", "voiceNote": "Please close door 1", "SectionStatus": {"Note": "Please Close the door after picking up products", "Header": "Please Close Door 1", "UI_Header": "DOOR 1\\nIS \\nOPEN \\nNOW", "SubHeader": "Please Pick the Products and close the door"}, "SectionSKU": {"Header": "Pick the below items from the door", "skus": [{"name": "Bingo Mad Angles Tomato Madess, 60g", "qty": 1}, {"name": "Modern Kitchen Masala Peanut 28gm", "qty": 2}]}}', 'server_status': 'OrderStatus', 'timestamp': '2026-10-20T06:54:37.213526Z'} (ID: 1792479277291-0)
[2026-10-20 12:24:37,895.895 INFO    ] {'order_id': 'TM04202203261020122259705', 'server_response': {'error': {'umessage': 'In Progress', 'code': 20001, 'data': {}, 'tmessage': 'In Progress'}, 'rstatus': False, 'SectionMain': {'Header': 'Door Open'}, 'status': 'False', 'voiceNote': 'Please close door 1', 'SectionStatus': {'Note': 'Please Close the door after picking up products', 'Header': 'Please Close Door 1', 'UI_Header': 'DOOR 1\nIS \nOPEN \nNOW', 'SubHeader': 'Please Pick the Products and close the door'}, 'SectionSKU': {'Header': 'Pick the below items from the door', 'skus': [{'name': 'Bingo Mad Angles Tomato Madess, 60g', 'qty': 1}, {'name': 'Modern Kitchen Masala Peanut 28gm', 'qty': 2}]}}, 'server_status': 'OrderStatus'}
[2026-10-20 12:24:37,898.898 INFO    ] 200
[2026-10-20 12:24:37,901.901 INFO    ] {"data":{"order_id":"TM04202203261020122259705","server_response":{"error":{"umessage":"In Progress","code":20001,"data":[],"tmessage":"In Progress"},"rstatus":false,"SectionMain":{"Header":"Door Open"},"status":"false","voiceNote":"Please close door 1","SectionStatus":{"Note":"Please Close the door after picking up products","Header":"Please Close Door 1","UI_Header":"DOOR 1\nIS \nOPEN \nNOW","SubHeader":"Please Pick the Products and close the door"},"SectionSKU":{"Header":"Pick the below items from the door","skus":[{"name":"Bingo Mad Angles Tomato Madess, 60g","qty":1},{"name":"Modern Kitchen Masala Peanut 28gm","qty":2}]}},"server_status":"OrderStatus"},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 12:24:37,904.904 INFO    ] {'response': {'msg': 'order updated successfully', 'code': 'ORDER_EXISTS', 'status': True, 'data': 'order updated successfully'}, 'data': {'order_id': 'TM04202203261020122259705', 'server_response': {'error': {'umessage': 'In Progress', 'tmessage': 'In Progress', 'data': [], 'code': 20001}, 'rstatus': False, 'SectionMain': {'Header': 'Door Open'}, 'status': 'false', 'voiceNote': 'Please close door 1', 'SectionStatus': {'Note': 'Please Close the door after picking up products', 'SubHeader': 'Please Pick the Products and close the door', 'Header': 'Please Close Door 1', 'UI_Header': 'DOOR 1\nIS \nOPEN \nNOW'}, 'SectionSKU': {'Header': 'Pick the below items from the door', 'skus': [{'name': 'Bingo Mad Angles Tomato Madess, 60g', 'qty': 1}, {'name': 'Modern Kitchen Masala Peanut 28gm', 'qty': 2}]}}, 'server_status': 'OrderStatus'}}
[2026-10-20 12:24:37,911.911 INFO    ] {'error': {'umessage': 'In Progress', 'code': 20001, 'data': {}, 'tmessage': 'In Progress'}, 'rstatus': False, 'SectionMain': {'Header': 'Door Open'}, 'status': 'False', 'voiceNote': 'Please close door 1', 'SectionStatus': {'Note': 'Please Close the door after picking up products', 'Header': 'Please Close Door 1', 'UI_Header': 'DOOR 1\nIS \nOPEN \nNOW', 'SubHeader': 'Please Pick the Products and close the door'}, 'SectionSKU': {'Header': 'Pick the below items from the door', 'skus': [{'name': 'Bingo Mad Angles Tomato Madess, 60g', 'qty': 1}, {'name': 'Modern Kitchen Masala Peanut 28gm', 'qty': 2}]}}
[2026-10-20 12:24:40,967.967 INFO    ] 200
[2026-10-20 12:24:40,970.970 INFO    ] {"SectionSKU": {"skus": [], "Header": "If you like us, tell others... else tell us"}, "rstatus": true, "voiceNote": "Transaction Completed", "delay": 100, "status": "True", "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait for invoice to generate", "Note": "If any due amount, clear at https://go.tinymart.in", "Header": " Order is complete "}, "SectionMain": {"Header": "Door Closed"}}
[2026-10-20 12:24:40,973.973 INFO    ] {'delay': 100, 'rstatus': True, 'SectionMain': {'Header': 'Door Closed'}, 'status': 'True', 'voiceNote': 'Transaction Completed', 'SectionStatus': {'Note': 'If any due amount, clear at https://go.tinymart.in', 'Header': ' Order is complete ', 'UI_Header': '', 'SubHeader': 'Please wait for invoice to generate'}, 'SectionSKU': {'Header': 'If you like us, tell others... else tell us', 'skus': []}}
[2026-10-20 12:24:40,976.976 INFO    ] 2026-10-20 12:24:40
[2026-10-20 12:24:40,978.978 INFO    ] Order Completed 
[2026-10-20 12:24:40,981.981 INFO    ] Order Completed 
[2026-10-20 12:24:40,984.984 INFO    ] 193c8a8cf3bf490ccfe0b23598544a83
[2026-10-20 12:24:40,986.986 INFO    ] 2026-10-20 12:24:40
[2026-10-20 12:24:40,989.989 INFO    ] playing audio file
[2026-10-20 12:24:41,008.008 INFO    ] 2026-10-20 12:24:41
[2026-10-20 12:24:41,011.011 INFO    ] {'delay': 100, 'rstatus': True, 'SectionMain': {'Header': 'Door Closed'}, 'status': 'True', 'voiceNote': 'Transaction Completed', 'SectionStatus': {'Note': 'If any due amount, clear at https://go.tinymart.in', 'Header': ' Order is complete ', 'UI_Header': '', 'SubHeader': 'Please wait for invoice to generate'}, 'SectionSKU': {'Header': 'If you like us, tell others... else tell us', 'skus': []}}
[2026-10-20 12:24:41,014.014 INFO    ] 2026-10-20 12:24:41
[2026-10-20 12:24:42,182.182 INFO    ] 200
[2026-10-20 12:24:42,185.185 INFO    ] {"rstatus": true, "logic": "WBL", "skus": [{"door_id": "", "name": "Bingo Mad Angles Tomato Madess, 60g per peice", "mrp": "20", "skuid": "4500474", "unit_price": "20", "qty": 1, "tray_id": "17", "sku_total": 20.0, "image_url": "https://images.tinymart.in/product/4500474-4957.jpg"}, {"door_id": "", "name": "Modern Kitchen Masala Peanut 28gm per peice", "mrp": "10", "skuid": "4500708", "unit_price": "10", "qty": 2, "tray_id": "20", "sku_total": 20.0, "image_url": "https://images.tinymart.in/product/4500708-7901.webp"}], "orderId": "TM04202203261020122259705", "res": "True", "total_amount": 40.0, "anomaly": 0}
[2026-10-20 12:24:42,187.187 INFO    ] {'rstatus': True, 'total_amount': 40.0, 'orderId': 'TM04202203261020122259705', 'logic': 'WBL', 'anomaly': 0, 'res': 'True', 'skus': [{'unit_price': '20', 'sku_total': 20.0, 'qty': 1, 'mrp': '20', 'skuid': '4500474', 'tray_id': '17', 'name': 'Bingo Mad Angles Tomato Madess, 60g per peice', 'image_url': 'https://images.tinymart.in/product/4500474-4957.jpg', 'door_id': ''}, {'unit_price': '10', 'sku_total': 20.0, 'qty': 2, 'mrp': '10', 'skuid': '4500708', 'tray_id': '20', 'name': 'Modern Kitchen Masala Peanut 28gm per peice', 'image_url': 'https://images.tinymart.in/product/4500708-7901.webp', 'door_id': ''}]}
[2026-10-20 12:24:42,190.190 INFO    ] {'rstatus': True, 'total_amount': 40.0, 'orderId': 'TM04202203261020122259705', 'logic': 'WBL', 'anomaly': 0, 'res': 'True', 'skus': [{'unit_price': '20', 'sku_total': 20.0, 'qty': 1, 'mrp': '20', 'skuid': '4500474', 'tray_id': '17', 'name': 'Bingo Mad Angles Tomato Madess, 60g per peice', 'image_url': 'https://images.tinymart.in/product/4500474-4957.jpg', 'door_id': ''}, {'unit_price': '10', 'sku_total': 20.0, 'qty': 2, 'mrp': '10', 'skuid': '4500708', 'tray_id': '20', 'name': 'Modern Kitchen Masala Peanut 28gm per peice', 'image_url': 'https://images.tinymart.in/product/4500708-7901.webp', 'door_id': ''}]}
[2026-10-20 12:24:42,193.193 INFO    ] 2026-10-20 12:24:42
[2026-10-20 12:24:42,195.195 INFO    ] 2026-10-20 12:24:42
[2026-10-20 12:24:42,197.197 INFO    ] 40
[2026-10-20 12:24:42,200.200 INFO    ] 2026-10-20 12:24:42
[2026-10-20 12:24:42,202.202 INFO    ] 2026-10-20 12:24:42
[2026-10-20 12:24:42,204.204 INFO    ]  Your Bill Amount is 40
[2026-10-20 12:24:42,206.206 INFO    ]  Your Bill Amount is 40
[2026-10-20 12:24:42,209.209 INFO    ] 88965e4060b051d18121185ac205626e
[2026-10-20 12:24:42,211.211 INFO    ] 2026-10-20 12:24:42
[2026-10-20 12:24:42,214.214 INFO    ] playing audio file
[2026-10-20 12:24:42,231.231 INFO    ] 2026-10-20 12:24:42
[2026-10-20 12:24:42,234.234 INFO    ] 2026-10-20 12:24:42
[2026-10-20 12:24:42,237.237 INFO    ] publish_status: order_id=TM04202203261020122259705
[2026-10-20 12:24:42,241.241 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020122259705
[2026-10-20 12:24:42,327.327 INFO    ] [publish_status] Message added to stream with ID: 1792479282290-0
[2026-10-20 12:24:42,330.330 INFO    ] Published to order:TM04202203261020122259705: {'order_id': 'TM04202203261020122259705', 'server_response': '{"rstatus": true, "total_amount": 40.0, "orderId": "TM04202203261020122259705", "logic": "WBL", "anomaly": 0, "res": "True", "skus": [{"unit_price": "20", "sku_total": 20.0, "qty": 1, "mrp": "20", "skuid": "4500474", "tray_id": "17", "name": "Bingo Mad Angles Tomato Madess, 60g per peice", "image_url": "https://images.tinymart.in/product/4500474-4957.jpg", "door_id": ""}, {"unit_price": "10", "sku_total": 20.0, "qty": 2, "mrp": "10", "skuid": "4500708", "tray_id": "20", "name": "Modern Kitchen Masala Peanut 28gm per peice", "image_url": "https://images.tinymart.in/product/4500708-7901.webp", "door_id": ""}]}', 'server_status': 'invoiceOrder', 'timestamp': '2026-10-20T06:54:42.236224Z'} (ID: 1792479282290-0)
[2026-10-20 12:24:42,485.485 INFO    ] {'order_id': 'TM04202203261020122259705', 'server_response': {'rstatus': True, 'total_amount': 40.0, 'orderId': 'TM04202203261020122259705', 'logic': 'WBL', 'anomaly': 0, 'res': 'True', 'skus': [{'unit_price': '20', 'sku_total': 20.0, 'qty': 1, 'mrp': '20', 'skuid': '4500474', 'tray_id': '17', 'name': 'Bingo Mad Angles Tomato Madess, 60g per peice', 'image_url': 'https://images.tinymart.in/product/4500474-4957.jpg', 'door_id': ''}, {'unit_price': '10', 'sku_total': 20.0, 'qty': 2, 'mrp': '10', 'skuid': '4500708', 'tray_id': '20', 'name': 'Modern Kitchen Masala Peanut 28gm per peice', 'image_url': 'https://images.tinymart.in/product/4500708-7901.webp', 'door_id': ''}]}, 'server_status': 'invoiceOrder'}
[2026-10-20 12:24:42,488.488 INFO    ] 200
[2026-10-20 12:24:42,490.490 INFO    ] {"data":{"order_id":"TM04202203261020122259705","server_response":{"rstatus":true,"total_amount":40,"orderId":"TM04202203261020122259705","logic":"WBL","anomaly":0,"res":"true","skus":[{"unit_price":"20","sku_total":20,"qty":1,"mrp":"20","skuid":"4500474","tray_id":"17","name":"Bingo Mad Angles Tomato Madess, 60g per peice","image_url":"https:\/\/images.tinymart.in\/product\/4500474-4957.jpg","door_id":""},{"unit_price":"10","sku_total":20,"qty":2,"mrp":"10","skuid":"4500708","tray_id":"20","name":"Modern Kitchen Masala Peanut 28gm per peice","image_url":"https:\/\/images.tinymart.in\/product\/4500708-7901.webp","door_id":""}]},"server_status":"invoiceOrder"},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 12:24:42,494.494 INFO    ] {'response': {'msg': 'order updated successfully', 'code': 'ORDER_EXISTS', 'status': True, 'data': 'order updated successfully'}, 'data': {'order_id': 'TM04202203261020122259705', 'server_response': {'rstatus': True, 'total_amount': 40, 'orderId': 'TM04202203261020122259705', 'logic': 'WBL', 'anomaly': 0, 'res': 'true', 'skus': [{'unit_price': '20', 'mrp': '20', 'qty': 1, 'skuid': '4500474', 'tray_id': '17', 'name': 'Bingo Mad Angles Tomato Madess, 60g per peice', 'image_url': 'https://images.tinymart.in/product/4500474-4957.jpg', 'door_id': '', 'sku_total': 20}, {'unit_price': '10', 'mrp': '10', 'qty': 2, 'skuid': '4500708', 'tray_id': '20', 'name': 'Modern Kitchen Masala Peanut 28gm per peice', 'image_url': 'https://images.tinymart.in/product/4500708-7901.webp', 'door_id': '', 'sku_total': 20}]}, 'server_status': 'invoiceOrder'}}
[2026-10-20 12:24:42,497.497 INFO    ] {'response': {'msg': 'order updated successfully', 'code': 'ORDER_EXISTS', 'status': True, 'data': 'order updated successfully'}, 'data': {'order_id': 'TM04202203261020122259705', 'server_response': {'rstatus': True, 'total_amount': 40, 'orderId': 'TM04202203261020122259705', 'logic': 'WBL', 'anomaly': 0, 'res': 'true', 'skus': [{'unit_price': '20', 'mrp': '20', 'qty': 1, 'skuid': '4500474', 'tray_id': '17', 'name': 'Bingo Mad Angles Tomato Madess, 60g per peice', 'image_url': 'https://images.tinymart.in/product/4500474-4957.jpg', 'door_id': '', 'sku_total': 20}, {'unit_price': '10', 'mrp': '10', 'qty': 2, 'skuid': '4500708', 'tray_id': '20', 'name': 'Modern Kitchen Masala Peanut 28gm per peice', 'image_url': 'https://images.tinymart.in/product/4500708-7901.webp', 'door_id': '', 'sku_total': 20}]}, 'server_status': 'invoiceOrder'}}
[2026-10-20 12:24:42,499.499 INFO    ] 2026-10-20 12:24:42
[2026-10-20 12:24:44,742.742 INFO    ] 200
[2026-10-20 12:24:44,744.744 INFO    ] {"orders": [], "order_items_synced": [], "tray_synced": ["TM04202203261020122259705", "TM04202203261020122259705", "TM04202203261020122259705", "TM04202203261020122259705", "TM04202203261020122259705", "TM04202203261020122259705", "TM04202203261020122259705", "TM04202203261020122259705", "TM04202203261020122259705", "TM04202203261020122259705", "TM04202203261020122259705", "TM04202203261020122259705", "TM04202203261020122259705", "TM04202203261020122259705", "TM04202203261020122259705", "TM04202203261020122259705", "TM04202203261020122259705", "TM04202203261020122259705", "TM04202203261020122259705", "TM04202203261020122259705", "TM04202203261020122259705", "TM04202203261020122259705", "TM04202203261020122259705", "TM04202203261020122259705", "TM04202203261020122259705", "TM04202203261020122259705", "TM04202203261020122259705", "TM04202203261020122259705", "TM04202203261020122259705", "TM04202203261020122259705", "TM04202203261020122259705", "TM04202203261020122259705", "TM04202203261020122259705"], "orders_synced": [], "status": true, "tray_sync": [], "order_items": [], "orders_data": [], "orders_data_synced": []}
[2026-10-20 12:24:44,747.747 INFO    ] 2026-10-20 12:24:44
[2026-10-20 12:24:44,846.846 INFO    ] 200
[2026-10-20 12:24:44,849.849 INFO    ] True
[2026-10-20 12:24:44,852.852 INFO    ] cleanup_start_order_file_after_processing: order_id=TM04202203261020122259705
[2026-10-20 12:24:44,856.856 INFO    ] start order file deleted
[2026-10-20 12:24:44,859.859 INFO    ] Checking for system updates...
[2026-10-20 12:24:44,919.919 INFO    ] 200
[2026-10-20 12:24:44,921.921 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:24:44,981.981 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:24:44,984.984 INFO    ] No update needed
[2026-10-20 12:24:44,987.987 INFO    ] Checking for camera pi updates...
[2026-10-20 12:24:45,034.034 INFO    ] 200
[2026-10-20 12:24:45,037.037 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:24:45,082.082 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:24:45,134.134 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:24:45,137.137 INFO    ] No camera update needed
[2026-10-20 12:24:45,140.140 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:24:45,143.143 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:24:45,149.149 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:24:45,155.155 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:24:47,196.196 INFO    ] ================================================
[2026-10-20 12:24:47,212.212 INFO    ] Launching Daemon at Tue Oct 20 12:24:47 IST 2026
[2026-10-20 12:24:47,223.223 INFO    ] ================================================
[2026-10-20 12:24:47,790.790 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:24:47
[2026-10-20 12:24:48,370.370 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:24:48,640.640 INFO    ] Initializing speech engine...
[2026-10-20 12:24:48,649.649 INFO    ] 2026-10-20 12:24:48
[2026-10-20 12:24:48,893.893 INFO    ] 2026-10-20 12:24:48
[2026-10-20 12:24:48,928.928 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:24:49,240.240 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:24:49,248.248 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:24:49,442.442 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:24:49,449.449 INFO    ] time= 20/10/2026 12:24:49
[2026-10-20 12:24:49,467.467 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:24:49,484.484 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:24:49,616.616 INFO    ] No existing commands found in stream
[2026-10-20 12:24:54,646.646 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:24:54,649.649 INFO    ] Waiting 0.74 seconds before fallback handling...
[2026-10-20 12:24:55,886.886 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:24:55,889.889 INFO    ] Checking for system updates...
[2026-10-20 12:24:55,925.925 INFO    ] 200
[2026-10-20 12:24:55,928.928 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:24:55,981.981 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:24:55,984.984 INFO    ] No update needed
[2026-10-20 12:24:55,986.986 INFO    ] Checking for camera pi updates...
[2026-10-20 12:24:56,024.024 INFO    ] 200
[2026-10-20 12:24:56,026.026 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:24:56,066.066 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:24:56,114.114 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:24:56,117.117 INFO    ] No camera update needed
[2026-10-20 12:24:56,119.119 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:24:56,122.122 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:24:56,127.127 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:24:56,132.132 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:24:58,175.175 INFO    ] ================================================
[2026-10-20 12:24:58,190.190 INFO    ] Launching Daemon at Tue Oct 20 12:24:58 IST 2026
[2026-10-20 12:24:58,201.201 INFO    ] ================================================
[2026-10-20 12:24:58,780.780 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:24:58
[2026-10-20 12:24:59,379.379 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:24:59,651.651 INFO    ] Initializing speech engine...
[2026-10-20 12:24:59,661.661 INFO    ] 2026-10-20 12:24:59
[2026-10-20 12:24:59,923.923 INFO    ] 2026-10-20 12:24:59
[2026-10-20 12:24:59,977.977 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:25:00,200.200 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:25:00,209.209 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:25:00,413.413 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:25:00,468.468 INFO    ] time= 20/10/2026 12:25:00
[2026-10-20 12:25:00,474.474 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:25:00,491.491 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:25:00,628.628 INFO    ] No existing commands found in stream
[2026-10-20 12:25:05,659.659 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:25:05,662.662 INFO    ] Waiting 1.25 seconds before fallback handling...
[2026-10-20 12:25:07,478.478 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 12:25:07,480.480 INFO    ] Checking for system updates...
[2026-10-20 12:25:07,515.515 INFO    ] 200
[2026-10-20 12:25:07,518.518 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:25:07,570.570 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:25:07,572.572 INFO    ] No update needed
[2026-10-20 12:25:07,574.574 INFO    ] Checking for camera pi updates...
[2026-10-20 12:25:07,607.607 INFO    ] 200
[2026-10-20 12:25:07,610.610 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:25:07,654.654 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:25:07,704.704 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:25:07,706.706 INFO    ] No camera update needed
[2026-10-20 12:25:07,711.711 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:25:07,714.714 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:25:07,719.719 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:25:07,724.724 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:25:09,765.765 INFO    ] ================================================
[2026-10-20 12:25:09,780.780 INFO    ] Launching Daemon at Tue Oct 20 12:25:09 IST 2026
[2026-10-20 12:25:09,791.791 INFO    ] ================================================
[2026-10-20 12:25:10,369.369 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:25:10
[2026-10-20 12:25:10,967.967 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:25:11,229.229 INFO    ] Initializing speech engine...
[2026-10-20 12:25:11,244.244 INFO    ] 2026-10-20 12:25:11
[2026-10-20 12:25:11,530.530 INFO    ] 2026-10-20 12:25:11
[2026-10-20 12:25:11,568.568 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:25:11,777.777 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:25:11,795.795 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:25:11,947.947 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:25:11,955.955 INFO    ] time= 20/10/2026 12:25:11
[2026-10-20 12:25:11,998.998 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:25:12,031.031 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:25:12,150.150 INFO    ] No existing commands found in stream
[2026-10-20 12:25:17,180.180 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:25:17,183.183 INFO    ] Waiting 2.84 seconds before fallback handling...
[2026-10-20 12:25:20,547.547 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:25:20,550.550 INFO    ] Checking for system updates...
[2026-10-20 12:25:20,589.589 INFO    ] 200
[2026-10-20 12:25:20,592.592 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:25:20,650.650 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:25:20,653.653 INFO    ] No update needed
[2026-10-20 12:25:20,655.655 INFO    ] Checking for camera pi updates...
[2026-10-20 12:25:20,688.688 INFO    ] 200
[2026-10-20 12:25:20,691.691 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:25:20,731.731 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:25:20,780.780 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:25:20,782.782 INFO    ] No camera update needed
[2026-10-20 12:25:20,785.785 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:25:20,787.787 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:25:20,792.792 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:25:20,797.797 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:25:22,837.837 INFO    ] ================================================
[2026-10-20 12:25:22,853.853 INFO    ] Launching Daemon at Tue Oct 20 12:25:22 IST 2026
[2026-10-20 12:25:22,863.863 INFO    ] ================================================
[2026-10-20 12:25:23,433.433 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:25:23
[2026-10-20 12:25:24,038.038 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:25:24,316.316 INFO    ] Initializing speech engine...
[2026-10-20 12:25:24,322.322 INFO    ] 2026-10-20 12:25:24
[2026-10-20 12:25:24,583.583 INFO    ] 2026-10-20 12:25:24
[2026-10-20 12:25:24,637.637 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:25:24,864.864 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:25:24,869.869 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:25:25,024.024 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:25:25,079.079 INFO    ] time= 20/10/2026 12:25:25
[2026-10-20 12:25:25,131.131 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:25:25,137.137 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:25:25,284.284 INFO    ] No existing commands found in stream
[2026-10-20 12:25:30,302.302 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:25:30,305.305 INFO    ] Waiting 2.36 seconds before fallback handling...
[2026-10-20 12:25:33,164.164 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:25:33,166.166 INFO    ] Checking for system updates...
[2026-10-20 12:25:33,202.202 INFO    ] 200
[2026-10-20 12:25:33,204.204 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:25:33,257.257 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:25:33,260.260 INFO    ] No update needed
[2026-10-20 12:25:33,263.263 INFO    ] Checking for camera pi updates...
[2026-10-20 12:25:33,297.297 INFO    ] 200
[2026-10-20 12:25:33,300.300 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:25:33,345.345 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:25:33,398.398 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:25:33,401.401 INFO    ] No camera update needed
[2026-10-20 12:25:33,403.403 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:25:33,405.405 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:25:33,411.411 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:25:33,416.416 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:25:35,462.462 INFO    ] ================================================
[2026-10-20 12:25:35,477.477 INFO    ] Launching Daemon at Tue Oct 20 12:25:35 IST 2026
[2026-10-20 12:25:35,487.487 INFO    ] ================================================
[2026-10-20 12:25:36,065.065 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:25:36
[2026-10-20 12:25:36,671.671 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:25:36,950.950 INFO    ] Initializing speech engine...
[2026-10-20 12:25:36,955.955 INFO    ] 2026-10-20 12:25:36
[2026-10-20 12:25:37,217.217 INFO    ] 2026-10-20 12:25:37
[2026-10-20 12:25:37,246.246 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:25:37,495.495 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:25:37,500.500 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:25:37,728.728 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:25:37,759.759 INFO    ] time= 20/10/2026 12:25:37
[2026-10-20 12:25:37,774.774 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:25:37,781.781 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:25:37,921.921 INFO    ] No existing commands found in stream
[2026-10-20 12:25:42,939.939 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:25:42,942.942 INFO    ] Waiting 1.80 seconds before fallback handling...
[2026-10-20 12:25:45,237.237 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:25:45,240.240 INFO    ] Checking for system updates...
[2026-10-20 12:25:45,276.276 INFO    ] 200
[2026-10-20 12:25:45,278.278 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:25:45,330.330 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:25:45,332.332 INFO    ] No update needed
[2026-10-20 12:25:45,335.335 INFO    ] Checking for camera pi updates...
[2026-10-20 12:25:45,368.368 INFO    ] 200
[2026-10-20 12:25:45,371.371 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:25:45,410.410 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:25:45,457.457 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:25:45,459.459 INFO    ] No camera update needed
[2026-10-20 12:25:45,462.462 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:25:45,464.464 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:25:45,470.470 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:25:45,476.476 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:25:47,518.518 INFO    ] ================================================
[2026-10-20 12:25:47,534.534 INFO    ] Launching Daemon at Tue Oct 20 12:25:47 IST 2026
[2026-10-20 12:25:47,544.544 INFO    ] ================================================
[2026-10-20 12:25:48,195.195 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:25:48
[2026-10-20 12:25:48,863.863 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:25:49,162.162 INFO    ] Initializing speech engine...
[2026-10-20 12:25:49,173.173 INFO    ] 2026-10-20 12:25:49
[2026-10-20 12:25:49,467.467 INFO    ] 2026-10-20 12:25:49
[2026-10-20 12:25:49,501.501 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:25:49,719.719 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:25:49,772.772 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:25:50,178.178 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:25:50,214.214 INFO    ] time= 20/10/2026 12:25:50
[2026-10-20 12:25:50,272.272 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:25:50,322.322 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:25:50,473.473 INFO    ] No existing commands found in stream
[2026-10-20 12:25:55,492.492 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:25:55,495.495 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-10-20 12:25:59,458.458 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 12:25:59,461.461 INFO    ] Checking for system updates...
[2026-10-20 12:25:59,496.496 INFO    ] 200
[2026-10-20 12:25:59,499.499 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:25:59,558.558 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:25:59,561.561 INFO    ] No update needed
[2026-10-20 12:25:59,563.563 INFO    ] Checking for camera pi updates...
[2026-10-20 12:25:59,597.597 INFO    ] 200
[2026-10-20 12:25:59,600.600 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:25:59,646.646 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:25:59,692.692 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:25:59,695.695 INFO    ] No camera update needed
[2026-10-20 12:25:59,698.698 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:25:59,700.700 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:25:59,707.707 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:25:59,712.712 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:26:01,754.754 INFO    ] ================================================
[2026-10-20 12:26:01,769.769 INFO    ] Launching Daemon at Tue Oct 20 12:26:01 IST 2026
[2026-10-20 12:26:01,779.779 INFO    ] ================================================
[2026-10-20 12:26:02,524.524 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:26:02
[2026-10-20 12:26:03,194.194 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:26:03,554.554 INFO    ] Initializing speech engine...
[2026-10-20 12:26:03,562.562 INFO    ] 2026-10-20 12:26:03
[2026-10-20 12:26:03,846.846 INFO    ] 2026-10-20 12:26:03
[2026-10-20 12:26:03,907.907 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:26:04,129.129 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:26:04,138.138 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:26:04,272.272 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:26:04,338.338 INFO    ] time= 20/10/2026 12:26:04
[2026-10-20 12:26:04,393.393 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:26:04,403.403 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:26:04,545.545 INFO    ] No existing commands found in stream
[2026-10-20 12:26:09,561.561 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:26:09,564.564 INFO    ] Waiting 1.91 seconds before fallback handling...
[2026-10-20 12:26:11,978.978 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 12:26:11,981.981 INFO    ] Checking for system updates...
[2026-10-20 12:26:12,019.019 INFO    ] 200
[2026-10-20 12:26:12,021.021 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:26:12,077.077 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:26:12,080.080 INFO    ] No update needed
[2026-10-20 12:26:12,082.082 INFO    ] Checking for camera pi updates...
[2026-10-20 12:26:12,117.117 INFO    ] 200
[2026-10-20 12:26:12,120.120 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:26:12,159.159 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:26:12,205.205 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:26:12,207.207 INFO    ] No camera update needed
[2026-10-20 12:26:12,210.210 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:26:12,212.212 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:26:12,218.218 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:26:12,224.224 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:26:14,264.264 INFO    ] ================================================
[2026-10-20 12:26:14,278.278 INFO    ] Launching Daemon at Tue Oct 20 12:26:14 IST 2026
[2026-10-20 12:26:14,289.289 INFO    ] ================================================
[2026-10-20 12:26:14,869.869 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:26:14
[2026-10-20 12:26:15,466.466 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:26:15,727.727 INFO    ] Initializing speech engine...
[2026-10-20 12:26:15,742.742 INFO    ] 2026-10-20 12:26:15
[2026-10-20 12:26:16,018.018 INFO    ] 2026-10-20 12:26:15
[2026-10-20 12:26:16,055.055 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:26:16,309.309 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:26:16,338.338 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:26:16,548.548 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:26:16,604.604 INFO    ] time= 20/10/2026 12:26:16
[2026-10-20 12:26:16,611.611 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:26:16,628.628 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:26:16,756.756 INFO    ] No existing commands found in stream
[2026-10-20 12:26:21,772.772 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:26:21,774.774 INFO    ] Waiting 2.62 seconds before fallback handling...
[2026-10-20 12:26:24,920.920 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 12:26:24,923.923 INFO    ] Checking for system updates...
[2026-10-20 12:26:24,959.959 INFO    ] 200
[2026-10-20 12:26:24,961.961 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:26:25,012.012 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:26:25,015.015 INFO    ] No update needed
[2026-10-20 12:26:25,017.017 INFO    ] Checking for camera pi updates...
[2026-10-20 12:26:25,050.050 INFO    ] 200
[2026-10-20 12:26:25,053.053 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:26:25,096.096 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:26:25,140.140 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:26:25,143.143 INFO    ] No camera update needed
[2026-10-20 12:26:25,145.145 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:26:25,147.147 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:26:25,153.153 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:26:25,158.158 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:26:27,197.197 INFO    ] ================================================
[2026-10-20 12:26:27,211.211 INFO    ] Launching Daemon at Tue Oct 20 12:26:27 IST 2026
[2026-10-20 12:26:27,222.222 INFO    ] ================================================
[2026-10-20 12:26:27,805.805 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:26:27
[2026-10-20 12:26:28,400.400 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:26:28,669.669 INFO    ] Initializing speech engine...
[2026-10-20 12:26:28,678.678 INFO    ] 2026-10-20 12:26:28
[2026-10-20 12:26:28,934.934 INFO    ] 2026-10-20 12:26:28
[2026-10-20 12:26:28,968.968 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:26:29,211.211 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:26:29,219.219 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:26:29,416.416 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:26:29,460.460 INFO    ] time= 20/10/2026 12:26:29
[2026-10-20 12:26:29,482.482 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:26:29,488.488 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:26:29,618.618 INFO    ] No existing commands found in stream
[2026-10-20 12:26:34,640.640 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:26:34,643.643 INFO    ] Waiting 1.01 seconds before fallback handling...
[2026-10-20 12:26:36,170.170 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:26:36,173.173 INFO    ] Checking for system updates...
[2026-10-20 12:26:36,211.211 INFO    ] 200
[2026-10-20 12:26:36,213.213 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:26:36,264.264 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:26:36,266.266 INFO    ] No update needed
[2026-10-20 12:26:36,269.269 INFO    ] Checking for camera pi updates...
[2026-10-20 12:26:36,302.302 INFO    ] 200
[2026-10-20 12:26:36,304.304 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:26:36,344.344 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:26:36,396.396 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:26:36,399.399 INFO    ] No camera update needed
[2026-10-20 12:26:36,401.401 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:26:36,404.404 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:26:36,409.409 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:26:36,414.414 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:26:38,452.452 INFO    ] ================================================
[2026-10-20 12:26:38,467.467 INFO    ] Launching Daemon at Tue Oct 20 12:26:38 IST 2026
[2026-10-20 12:26:38,478.478 INFO    ] ================================================
[2026-10-20 12:26:39,056.056 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:26:39
[2026-10-20 12:26:39,653.653 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:26:39,929.929 INFO    ] Initializing speech engine...
[2026-10-20 12:26:39,938.938 INFO    ] 2026-10-20 12:26:39
[2026-10-20 12:26:40,195.195 INFO    ] 2026-10-20 12:26:40
[2026-10-20 12:26:40,225.225 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:26:40,476.476 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:26:40,482.482 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:26:40,708.708 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:26:40,738.738 INFO    ] time= 20/10/2026 12:26:40
[2026-10-20 12:26:40,754.754 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:26:40,763.763 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:26:40,893.893 INFO    ] No existing commands found in stream
[2026-10-20 12:26:45,911.911 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:26:45,914.914 INFO    ] Waiting 0.58 seconds before fallback handling...
[2026-10-20 12:26:46,996.996 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:26:46,999.999 INFO    ] Checking for system updates...
[2026-10-20 12:26:47,034.034 INFO    ] 200
[2026-10-20 12:26:47,036.036 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:26:47,092.092 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:26:47,095.095 INFO    ] No update needed
[2026-10-20 12:26:47,097.097 INFO    ] Checking for camera pi updates...
[2026-10-20 12:26:47,132.132 INFO    ] 200
[2026-10-20 12:26:47,135.135 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:26:47,175.175 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:26:47,224.224 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:26:47,226.226 INFO    ] No camera update needed
[2026-10-20 12:26:47,229.229 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:26:47,231.231 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:26:47,236.236 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:26:47,242.242 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:26:49,282.282 INFO    ] ================================================
[2026-10-20 12:26:49,296.296 INFO    ] Launching Daemon at Tue Oct 20 12:26:49 IST 2026
[2026-10-20 12:26:49,307.307 INFO    ] ================================================
[2026-10-20 12:26:49,872.872 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:26:49
[2026-10-20 12:26:50,455.455 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:26:50,704.704 INFO    ] Initializing speech engine...
[2026-10-20 12:26:50,727.727 INFO    ] 2026-10-20 12:26:50
[2026-10-20 12:26:50,980.980 INFO    ] 2026-10-20 12:26:50
[2026-10-20 12:26:51,014.014 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:26:51,271.271 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:26:51,280.280 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:26:51,417.417 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:26:51,476.476 INFO    ] time= 20/10/2026 12:26:51
[2026-10-20 12:26:51,530.530 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:26:51,553.553 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:26:51,704.704 INFO    ] No existing commands found in stream
[2026-10-20 12:26:56,722.722 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:26:56,725.725 INFO    ] Waiting 0.67 seconds before fallback handling...
[2026-10-20 12:26:57,886.886 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:26:57,889.889 INFO    ] Checking for system updates...
[2026-10-20 12:26:57,925.925 INFO    ] 200
[2026-10-20 12:26:57,927.927 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:26:57,979.979 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:26:57,981.981 INFO    ] No update needed
[2026-10-20 12:26:57,984.984 INFO    ] Checking for camera pi updates...
[2026-10-20 12:26:58,017.017 INFO    ] 200
[2026-10-20 12:26:58,019.019 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:26:58,059.059 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:26:58,107.107 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:26:58,110.110 INFO    ] No camera update needed
[2026-10-20 12:26:58,112.112 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:26:58,115.115 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:26:58,120.120 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:26:58,125.125 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:27:00,167.167 INFO    ] ================================================
[2026-10-20 12:27:00,182.182 INFO    ] Launching Daemon at Tue Oct 20 12:27:00 IST 2026
[2026-10-20 12:27:00,193.193 INFO    ] ================================================
[2026-10-20 12:27:00,758.758 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:27:00
[2026-10-20 12:27:01,341.341 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:27:01,610.610 INFO    ] Initializing speech engine...
[2026-10-20 12:27:01,619.619 INFO    ] 2026-10-20 12:27:01
[2026-10-20 12:27:01,887.887 INFO    ] 2026-10-20 12:27:01
[2026-10-20 12:27:02,030.030 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:27:02,308.308 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:27:02,312.312 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:27:02,464.464 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:27:02,467.467 INFO    ] time= 20/10/2026 12:27:02
[2026-10-20 12:27:02,485.485 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:27:02,488.488 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:27:02,566.566 INFO    ] No existing commands found in stream
[2026-10-20 12:27:07,575.575 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:27:07,578.578 INFO    ] Waiting 1.23 seconds before fallback handling...
[2026-10-20 12:27:09,311.311 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 12:27:09,313.313 INFO    ] Checking for system updates...
[2026-10-20 12:27:09,348.348 INFO    ] 200
[2026-10-20 12:27:09,351.351 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:27:09,403.403 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:27:09,405.405 INFO    ] No update needed
[2026-10-20 12:27:09,407.407 INFO    ] Checking for camera pi updates...
[2026-10-20 12:27:09,440.440 INFO    ] 200
[2026-10-20 12:27:09,443.443 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:27:09,488.488 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:27:09,636.636 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:27:09,639.639 INFO    ] No camera update needed
[2026-10-20 12:27:09,641.641 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:27:09,644.644 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:27:09,649.649 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:27:09,654.654 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:27:11,693.693 INFO    ] ================================================
[2026-10-20 12:27:11,709.709 INFO    ] Launching Daemon at Tue Oct 20 12:27:11 IST 2026
[2026-10-20 12:27:11,720.720 INFO    ] ================================================
[2026-10-20 12:27:12,368.368 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:27:12
[2026-10-20 12:27:13,036.036 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:27:13,347.347 INFO    ] Initializing speech engine...
[2026-10-20 12:27:13,359.359 INFO    ] 2026-10-20 12:27:13
[2026-10-20 12:27:13,665.665 INFO    ] 2026-10-20 12:27:13
[2026-10-20 12:27:13,746.746 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:27:13,966.966 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:27:13,974.974 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:27:14,166.166 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:27:14,183.183 INFO    ] time= 20/10/2026 12:27:14
[2026-10-20 12:27:14,195.195 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:27:14,222.222 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:27:14,348.348 INFO    ] No existing commands found in stream
[2026-10-20 12:27:19,374.374 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:27:19,377.377 INFO    ] Waiting 0.84 seconds before fallback handling...
[2026-10-20 12:27:20,717.717 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:27:20,720.720 INFO    ] Checking for system updates...
[2026-10-20 12:27:20,760.760 INFO    ] 200
[2026-10-20 12:27:20,763.763 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:27:20,822.822 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:27:20,825.825 INFO    ] No update needed
[2026-10-20 12:27:20,828.828 INFO    ] Checking for camera pi updates...
[2026-10-20 12:27:20,862.862 INFO    ] 200
[2026-10-20 12:27:20,865.865 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:27:20,905.905 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:27:20,955.955 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:27:20,957.957 INFO    ] No camera update needed
[2026-10-20 12:27:20,960.960 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:27:20,963.963 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:27:20,969.969 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:27:20,975.975 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:27:23,016.016 INFO    ] ================================================
[2026-10-20 12:27:23,031.031 INFO    ] Launching Daemon at Tue Oct 20 12:27:23 IST 2026
[2026-10-20 12:27:23,042.042 INFO    ] ================================================
[2026-10-20 12:27:23,606.606 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:27:23
[2026-10-20 12:27:24,187.187 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:27:24,453.453 INFO    ] Initializing speech engine...
[2026-10-20 12:27:24,461.461 INFO    ] 2026-10-20 12:27:24
[2026-10-20 12:27:24,707.707 INFO    ] 2026-10-20 12:27:24
[2026-10-20 12:27:24,742.742 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:27:24,998.998 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:27:25,002.002 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:27:25,199.199 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:27:25,253.253 INFO    ] time= 20/10/2026 12:27:25
[2026-10-20 12:27:25,268.268 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:27:25,285.285 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:27:25,415.415 INFO    ] No existing commands found in stream
[2026-10-20 12:27:30,428.428 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:27:30,431.431 INFO    ] Waiting 3.64 seconds before fallback handling...
[2026-10-20 12:27:34,594.594 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:27:34,597.597 INFO    ] Checking for system updates...
[2026-10-20 12:27:34,632.632 INFO    ] 200
[2026-10-20 12:27:34,634.634 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:27:34,686.686 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:27:34,688.688 INFO    ] No update needed
[2026-10-20 12:27:34,690.690 INFO    ] Checking for camera pi updates...
[2026-10-20 12:27:34,723.723 INFO    ] 200
[2026-10-20 12:27:34,725.725 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:27:34,769.769 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:27:34,815.815 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:27:34,818.818 INFO    ] No camera update needed
[2026-10-20 12:27:34,820.820 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:27:34,822.822 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:27:34,828.828 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:27:34,832.832 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:27:36,873.873 INFO    ] ================================================
[2026-10-20 12:27:36,889.889 INFO    ] Launching Daemon at Tue Oct 20 12:27:36 IST 2026
[2026-10-20 12:27:36,901.901 INFO    ] ================================================
[2026-10-20 12:27:37,481.481 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:27:37
[2026-10-20 12:27:38,064.064 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:27:38,334.334 INFO    ] Initializing speech engine...
[2026-10-20 12:27:38,343.343 INFO    ] 2026-10-20 12:27:38
[2026-10-20 12:27:38,610.610 INFO    ] 2026-10-20 12:27:38
[2026-10-20 12:27:38,667.667 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:27:38,952.952 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:27:38,957.957 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:27:39,153.153 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:27:39,160.160 INFO    ] time= 20/10/2026 12:27:39
[2026-10-20 12:27:39,182.182 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:27:39,210.210 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:27:39,385.385 INFO    ] No existing commands found in stream
[2026-10-20 12:27:44,411.411 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:27:44,414.414 INFO    ] Waiting 0.15 seconds before fallback handling...
[2026-10-20 12:27:45,092.092 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:27:45,095.095 INFO    ] Checking for system updates...
[2026-10-20 12:27:45,135.135 INFO    ] 200
[2026-10-20 12:27:45,138.138 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:27:45,198.198 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:27:45,201.201 INFO    ] No update needed
[2026-10-20 12:27:45,204.204 INFO    ] Checking for camera pi updates...
[2026-10-20 12:27:45,240.240 INFO    ] 200
[2026-10-20 12:27:45,242.242 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:27:45,288.288 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:27:45,341.341 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:27:45,343.343 INFO    ] No camera update needed
[2026-10-20 12:27:45,346.346 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:27:45,349.349 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:27:45,355.355 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:27:45,361.361 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:27:47,400.400 INFO    ] ================================================
[2026-10-20 12:27:47,416.416 INFO    ] Launching Daemon at Tue Oct 20 12:27:47 IST 2026
[2026-10-20 12:27:47,428.428 INFO    ] ================================================
[2026-10-20 12:27:48,075.075 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:27:48
[2026-10-20 12:27:48,744.744 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:27:49,044.044 INFO    ] Initializing speech engine...
[2026-10-20 12:27:49,050.050 INFO    ] 2026-10-20 12:27:49
[2026-10-20 12:27:49,308.308 INFO    ] 2026-10-20 12:27:49
[2026-10-20 12:27:49,342.342 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:27:49,600.600 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:27:49,605.605 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:27:49,767.767 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:27:49,822.822 INFO    ] time= 20/10/2026 12:27:49
[2026-10-20 12:27:49,872.872 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:27:49,879.879 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:27:50,024.024 INFO    ] No existing commands found in stream
[2026-10-20 12:27:55,039.039 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:27:55,041.041 INFO    ] Waiting 1.58 seconds before fallback handling...
[2026-10-20 12:27:57,128.128 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:27:57,131.131 INFO    ] Checking for system updates...
[2026-10-20 12:27:57,166.166 INFO    ] 200
[2026-10-20 12:27:57,169.169 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:27:57,226.226 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:27:57,229.229 INFO    ] No update needed
[2026-10-20 12:27:57,231.231 INFO    ] Checking for camera pi updates...
[2026-10-20 12:27:57,265.265 INFO    ] 200
[2026-10-20 12:27:57,267.267 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:27:57,307.307 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:27:57,354.354 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:27:57,356.356 INFO    ] No camera update needed
[2026-10-20 12:27:57,359.359 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:27:57,361.361 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:27:57,366.366 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:27:57,371.371 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:27:59,412.412 INFO    ] ================================================
[2026-10-20 12:27:59,427.427 INFO    ] Launching Daemon at Tue Oct 20 12:27:59 IST 2026
[2026-10-20 12:27:59,438.438 INFO    ] ================================================
[2026-10-20 12:28:00,003.003 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:28:00
[2026-10-20 12:28:00,587.587 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:28:00,845.845 INFO    ] Initializing speech engine...
[2026-10-20 12:28:00,861.861 INFO    ] 2026-10-20 12:28:00
[2026-10-20 12:28:01,119.119 INFO    ] 2026-10-20 12:28:01
[2026-10-20 12:28:01,152.152 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:28:01,420.420 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:28:01,425.425 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:28:01,562.562 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:28:01,606.606 INFO    ] time= 20/10/2026 12:28:01
[2026-10-20 12:28:01,671.671 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:28:01,697.697 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:28:01,848.848 INFO    ] No existing commands found in stream
[2026-10-20 12:28:06,871.871 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:28:06,873.873 INFO    ] Waiting 2.46 seconds before fallback handling...
[2026-10-20 12:28:09,827.827 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 12:28:09,830.830 INFO    ] Checking for system updates...
[2026-10-20 12:28:09,866.866 INFO    ] 200
[2026-10-20 12:28:09,869.869 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:28:09,920.920 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:28:09,923.923 INFO    ] No update needed
[2026-10-20 12:28:09,926.926 INFO    ] Checking for camera pi updates...
[2026-10-20 12:28:09,962.962 INFO    ] 200
[2026-10-20 12:28:09,965.965 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:28:10,009.009 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:28:10,057.057 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:28:10,059.059 INFO    ] No camera update needed
[2026-10-20 12:28:10,062.062 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:28:10,064.064 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:28:10,069.069 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:28:10,074.074 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:28:12,116.116 INFO    ] ================================================
[2026-10-20 12:28:12,130.130 INFO    ] Launching Daemon at Tue Oct 20 12:28:12 IST 2026
[2026-10-20 12:28:12,141.141 INFO    ] ================================================
[2026-10-20 12:28:12,792.792 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:28:12
[2026-10-20 12:28:13,416.416 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:28:13,675.675 INFO    ] Initializing speech engine...
[2026-10-20 12:28:13,684.684 INFO    ] 2026-10-20 12:28:13
[2026-10-20 12:28:13,971.971 INFO    ] 2026-10-20 12:28:13
[2026-10-20 12:28:14,008.008 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:28:14,225.225 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:28:14,243.243 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:28:14,428.428 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:28:14,470.470 INFO    ] time= 20/10/2026 12:28:14
[2026-10-20 12:28:14,540.540 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:28:14,565.565 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:28:14,709.709 INFO    ] No existing commands found in stream
[2026-10-20 12:28:19,723.723 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:28:19,726.726 INFO    ] Waiting 1.10 seconds before fallback handling...
[2026-10-20 12:28:21,399.399 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:28:21,402.402 INFO    ] Checking for system updates...
[2026-10-20 12:28:21,441.441 INFO    ] 200
[2026-10-20 12:28:21,444.444 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:28:21,509.509 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:28:21,512.512 INFO    ] No update needed
[2026-10-20 12:28:21,515.515 INFO    ] Checking for camera pi updates...
[2026-10-20 12:28:21,552.552 INFO    ] 200
[2026-10-20 12:28:21,555.555 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:28:21,599.599 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:28:21,646.646 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:28:21,649.649 INFO    ] No camera update needed
[2026-10-20 12:28:21,652.652 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:28:21,655.655 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:28:21,661.661 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:28:21,666.666 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:28:23,707.707 INFO    ] ================================================
[2026-10-20 12:28:23,723.723 INFO    ] Launching Daemon at Tue Oct 20 12:28:23 IST 2026
[2026-10-20 12:28:23,734.734 INFO    ] ================================================
[2026-10-20 12:28:24,301.301 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:28:24
[2026-10-20 12:28:24,885.885 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:28:25,144.144 INFO    ] Initializing speech engine...
[2026-10-20 12:28:25,169.169 INFO    ] 2026-10-20 12:28:25
[2026-10-20 12:28:25,435.435 INFO    ] 2026-10-20 12:28:25
[2026-10-20 12:28:25,470.470 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:28:25,712.712 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:28:25,734.734 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:28:25,874.874 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:28:25,939.939 INFO    ] time= 20/10/2026 12:28:25
[2026-10-20 12:28:25,988.988 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:28:26,005.005 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:28:26,153.153 INFO    ] No existing commands found in stream
[2026-10-20 12:28:31,165.165 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:28:31,168.168 INFO    ] Waiting 0.13 seconds before fallback handling...
[2026-10-20 12:28:31,809.809 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:28:31,812.812 INFO    ] Checking for system updates...
[2026-10-20 12:28:31,850.850 INFO    ] 200
[2026-10-20 12:28:31,853.853 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:28:31,906.906 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:28:31,908.908 INFO    ] No update needed
[2026-10-20 12:28:31,911.911 INFO    ] Checking for camera pi updates...
[2026-10-20 12:28:31,947.947 INFO    ] 200
[2026-10-20 12:28:31,950.950 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:28:31,996.996 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:28:32,038.038 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:28:32,041.041 INFO    ] No camera update needed
[2026-10-20 12:28:32,044.044 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:28:32,048.048 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:28:32,056.056 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:28:32,063.063 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:28:34,108.108 INFO    ] ================================================
[2026-10-20 12:28:34,124.124 INFO    ] Launching Daemon at Tue Oct 20 12:28:34 IST 2026
[2026-10-20 12:28:34,135.135 INFO    ] ================================================
[2026-10-20 12:28:34,760.760 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:28:34
[2026-10-20 12:28:35,403.403 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:28:35,693.693 INFO    ] Initializing speech engine...
[2026-10-20 12:28:35,702.702 INFO    ] 2026-10-20 12:28:35
[2026-10-20 12:28:36,014.014 INFO    ] 2026-10-20 12:28:35
[2026-10-20 12:28:36,099.099 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:28:36,313.313 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:28:36,317.317 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:28:36,513.513 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:28:36,532.532 INFO    ] time= 20/10/2026 12:28:36
[2026-10-20 12:28:36,538.538 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:28:36,561.561 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:28:36,680.680 INFO    ] No existing commands found in stream
[2026-10-20 12:28:41,710.710 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:28:41,713.713 INFO    ] Waiting 0.39 seconds before fallback handling...
[2026-10-20 12:28:42,615.615 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:28:42,619.619 INFO    ] Checking for system updates...
[2026-10-20 12:28:42,655.655 INFO    ] 200
[2026-10-20 12:28:42,657.657 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:28:42,710.710 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:28:42,713.713 INFO    ] No update needed
[2026-10-20 12:28:42,716.716 INFO    ] Checking for camera pi updates...
[2026-10-20 12:28:42,753.753 INFO    ] 200
[2026-10-20 12:28:42,755.755 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:28:42,797.797 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:28:42,848.848 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:28:42,851.851 INFO    ] No camera update needed
[2026-10-20 12:28:42,854.854 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:28:42,856.856 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:28:42,862.862 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:28:42,868.868 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:28:44,908.908 INFO    ] ================================================
[2026-10-20 12:28:44,923.923 INFO    ] Launching Daemon at Tue Oct 20 12:28:44 IST 2026
[2026-10-20 12:28:44,934.934 INFO    ] ================================================
[2026-10-20 12:28:45,501.501 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:28:45
[2026-10-20 12:28:46,086.086 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:28:46,353.353 INFO    ] Initializing speech engine...
[2026-10-20 12:28:46,363.363 INFO    ] 2026-10-20 12:28:46
[2026-10-20 12:28:46,622.622 INFO    ] 2026-10-20 12:28:46
[2026-10-20 12:28:46,675.675 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:28:46,926.926 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:28:46,945.945 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:28:47,158.158 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:28:47,166.166 INFO    ] time= 20/10/2026 12:28:47
[2026-10-20 12:28:47,183.183 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:28:47,211.211 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:28:47,318.318 INFO    ] No existing commands found in stream
[2026-10-20 12:28:52,338.338 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:28:52,341.341 INFO    ] Waiting 3.19 seconds before fallback handling...
[2026-10-20 12:28:56,119.119 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:28:56,122.122 INFO    ] Checking for system updates...
[2026-10-20 12:28:56,159.159 INFO    ] 200
[2026-10-20 12:28:56,162.162 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:28:56,214.214 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:28:56,216.216 INFO    ] No update needed
[2026-10-20 12:28:56,219.219 INFO    ] Checking for camera pi updates...
[2026-10-20 12:28:56,252.252 INFO    ] 200
[2026-10-20 12:28:56,255.255 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:28:56,295.295 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:28:56,341.341 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:28:56,344.344 INFO    ] No camera update needed
[2026-10-20 12:28:56,346.346 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:28:56,348.348 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:28:56,355.355 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:28:56,360.360 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:28:58,401.401 INFO    ] ================================================
[2026-10-20 12:28:58,417.417 INFO    ] Launching Daemon at Tue Oct 20 12:28:58 IST 2026
[2026-10-20 12:28:58,428.428 INFO    ] ================================================
[2026-10-20 12:28:59,004.004 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:28:59
[2026-10-20 12:28:59,603.603 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:28:59,856.856 INFO    ] Initializing speech engine...
[2026-10-20 12:28:59,879.879 INFO    ] 2026-10-20 12:28:59
[2026-10-20 12:29:00,133.133 INFO    ] 2026-10-20 12:29:00
[2026-10-20 12:29:00,168.168 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:29:00,362.362 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:29:00,391.391 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:29:00,580.580 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:29:00,639.639 INFO    ] time= 20/10/2026 12:29:00
[2026-10-20 12:29:00,690.690 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:29:00,697.697 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:29:00,832.832 INFO    ] No existing commands found in stream
[2026-10-20 12:29:05,848.848 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:29:05,851.851 INFO    ] Waiting 1.32 seconds before fallback handling...
[2026-10-20 12:29:07,700.700 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:29:07,703.703 INFO    ] Checking for system updates...
[2026-10-20 12:29:07,739.739 INFO    ] 200
[2026-10-20 12:29:07,742.742 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:29:07,794.794 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:29:07,797.797 INFO    ] No update needed
[2026-10-20 12:29:07,799.799 INFO    ] Checking for camera pi updates...
[2026-10-20 12:29:07,836.836 INFO    ] 200
[2026-10-20 12:29:07,839.839 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:29:07,881.881 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:29:07,936.936 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:29:07,939.939 INFO    ] No camera update needed
[2026-10-20 12:29:07,942.942 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:29:07,944.944 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:29:07,950.950 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:29:07,956.956 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:29:10,997.997 INFO    ] ================================================
[2026-10-20 12:29:10,013.013 INFO    ] Launching Daemon at Tue Oct 20 12:29:10 IST 2026
[2026-10-20 12:29:10,024.024 INFO    ] ================================================
[2026-10-20 12:29:10,592.592 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:29:10
[2026-10-20 12:29:11,177.177 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:29:11,424.424 INFO    ] Initializing speech engine...
[2026-10-20 12:29:11,433.433 INFO    ] 2026-10-20 12:29:11
[2026-10-20 12:29:11,706.706 INFO    ] 2026-10-20 12:29:11
[2026-10-20 12:29:11,742.742 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:29:11,988.988 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:29:11,997.997 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:29:12,157.157 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:29:12,212.212 INFO    ] time= 20/10/2026 12:29:12
[2026-10-20 12:29:12,262.262 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:29:12,287.287 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:29:12,436.436 INFO    ] No existing commands found in stream
[2026-10-20 12:29:17,454.454 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:29:17,457.457 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-10-20 12:29:21,104.104 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 12:29:21,107.107 INFO    ] Checking for system updates...
[2026-10-20 12:29:21,142.142 INFO    ] 200
[2026-10-20 12:29:21,145.145 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:29:21,196.196 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:29:21,198.198 INFO    ] No update needed
[2026-10-20 12:29:21,201.201 INFO    ] Checking for camera pi updates...
[2026-10-20 12:29:21,233.233 INFO    ] 200
[2026-10-20 12:29:21,236.236 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:29:21,279.279 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:29:21,420.420 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:29:21,423.423 INFO    ] No camera update needed
[2026-10-20 12:29:21,425.425 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:29:21,427.427 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:29:21,432.432 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:29:21,437.437 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:29:23,477.477 INFO    ] ================================================
[2026-10-20 12:29:23,494.494 INFO    ] Launching Daemon at Tue Oct 20 12:29:23 IST 2026
[2026-10-20 12:29:23,504.504 INFO    ] ================================================
[2026-10-20 12:29:24,085.085 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:29:24
[2026-10-20 12:29:24,683.683 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:29:24,958.958 INFO    ] Initializing speech engine...
[2026-10-20 12:29:24,965.965 INFO    ] 2026-10-20 12:29:24
[2026-10-20 12:29:25,226.226 INFO    ] 2026-10-20 12:29:25
[2026-10-20 12:29:25,257.257 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:29:25,503.503 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:29:25,513.513 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:29:25,647.647 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:29:25,696.696 INFO    ] time= 20/10/2026 12:29:25
[2026-10-20 12:29:25,761.761 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:29:25,781.781 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:29:25,931.931 INFO    ] No existing commands found in stream
[2026-10-20 12:29:30,957.957 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:29:30,960.960 INFO    ] Waiting 1.16 seconds before fallback handling...
[2026-10-20 12:29:32,649.649 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 12:29:32,651.651 INFO    ] Checking for system updates...
[2026-10-20 12:29:32,687.687 INFO    ] 200
[2026-10-20 12:29:32,690.690 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:29:32,747.747 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:29:32,749.749 INFO    ] No update needed
[2026-10-20 12:29:32,752.752 INFO    ] Checking for camera pi updates...
[2026-10-20 12:29:32,785.785 INFO    ] 200
[2026-10-20 12:29:32,788.788 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:29:32,827.827 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:29:32,863.863 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:29:32,865.865 INFO    ] No camera update needed
[2026-10-20 12:29:32,868.868 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:29:32,870.870 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:29:32,875.875 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:29:32,881.881 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:29:34,921.921 INFO    ] ================================================
[2026-10-20 12:29:34,937.937 INFO    ] Launching Daemon at Tue Oct 20 12:29:34 IST 2026
[2026-10-20 12:29:34,947.947 INFO    ] ================================================
[2026-10-20 12:29:35,528.528 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:29:35
[2026-10-20 12:29:36,113.113 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:29:36,381.381 INFO    ] Initializing speech engine...
[2026-10-20 12:29:36,390.390 INFO    ] 2026-10-20 12:29:36
[2026-10-20 12:29:36,636.636 INFO    ] 2026-10-20 12:29:36
[2026-10-20 12:29:36,672.672 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:29:36,926.926 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:29:36,930.930 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:29:37,064.064 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:29:37,129.129 INFO    ] time= 20/10/2026 12:29:37
[2026-10-20 12:29:37,189.189 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:29:37,197.197 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:29:37,344.344 INFO    ] No existing commands found in stream
[2026-10-20 12:29:42,362.362 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:29:42,365.365 INFO    ] Waiting 3.75 seconds before fallback handling...
[2026-10-20 12:29:46,595.595 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:29:46,598.598 INFO    ] Checking for system updates...
[2026-10-20 12:29:46,634.634 INFO    ] 200
[2026-10-20 12:29:46,636.636 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:29:46,688.688 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:29:46,690.690 INFO    ] No update needed
[2026-10-20 12:29:46,693.693 INFO    ] Checking for camera pi updates...
[2026-10-20 12:29:46,725.725 INFO    ] 200
[2026-10-20 12:29:46,728.728 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:29:46,768.768 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:29:46,820.820 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:29:46,822.822 INFO    ] No camera update needed
[2026-10-20 12:29:46,824.824 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:29:46,827.827 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:29:46,832.832 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:29:46,837.837 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:29:48,879.879 INFO    ] ================================================
[2026-10-20 12:29:48,894.894 INFO    ] Launching Daemon at Tue Oct 20 12:29:48 IST 2026
[2026-10-20 12:29:48,906.906 INFO    ] ================================================
[2026-10-20 12:29:49,478.478 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:29:49
[2026-10-20 12:29:50,062.062 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:29:50,309.309 INFO    ] Initializing speech engine...
[2026-10-20 12:29:50,316.316 INFO    ] 2026-10-20 12:29:50
[2026-10-20 12:29:50,617.617 INFO    ] 2026-10-20 12:29:50
[2026-10-20 12:29:50,655.655 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:29:50,872.872 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:29:50,880.880 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:29:51,027.027 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:29:51,082.082 INFO    ] time= 20/10/2026 12:29:51
[2026-10-20 12:29:51,123.123 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:29:51,177.177 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:29:51,351.351 INFO    ] No existing commands found in stream
[2026-10-20 12:29:56,376.376 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:29:56,379.379 INFO    ] Waiting 3.63 seconds before fallback handling...
[2026-10-20 12:30:00,523.523 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:30:00,526.526 INFO    ] Checking for system updates...
[2026-10-20 12:30:00,563.563 INFO    ] 200
[2026-10-20 12:30:00,565.565 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:30:00,619.619 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:30:00,622.622 INFO    ] No update needed
[2026-10-20 12:30:00,625.625 INFO    ] Checking for camera pi updates...
[2026-10-20 12:30:00,659.659 INFO    ] 200
[2026-10-20 12:30:00,661.661 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:30:00,706.706 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:30:00,753.753 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:30:00,756.756 INFO    ] No camera update needed
[2026-10-20 12:30:00,759.759 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:30:00,761.761 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:30:00,767.767 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:30:00,773.773 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:30:02,837.837 INFO    ] ================================================
[2026-10-20 12:30:02,859.859 INFO    ] Launching Daemon at Tue Oct 20 12:30:02 IST 2026
[2026-10-20 12:30:02,876.876 INFO    ] ================================================
[2026-10-20 12:30:03,551.551 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:30:03
[2026-10-20 12:30:04,199.199 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:30:04,470.470 INFO    ] Initializing speech engine...
[2026-10-20 12:30:04,476.476 INFO    ] 2026-10-20 12:30:04
[2026-10-20 12:30:04,722.722 INFO    ] 2026-10-20 12:30:04
[2026-10-20 12:30:04,756.756 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:30:05,007.007 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:30:05,016.016 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:30:05,225.225 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:30:05,275.275 INFO    ] time= 20/10/2026 12:30:05
[2026-10-20 12:30:05,281.281 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:30:05,299.299 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:30:05,443.443 INFO    ] No existing commands found in stream
[2026-10-20 12:30:10,475.475 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:30:10,478.478 INFO    ] Waiting 2.84 seconds before fallback handling...
[2026-10-20 12:30:13,825.825 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:30:13,827.827 INFO    ] Checking for system updates...
[2026-10-20 12:30:13,862.862 INFO    ] 200
[2026-10-20 12:30:13,865.865 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:30:13,917.917 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:30:13,920.920 INFO    ] No update needed
[2026-10-20 12:30:13,922.922 INFO    ] Checking for camera pi updates...
[2026-10-20 12:30:13,955.955 INFO    ] 200
[2026-10-20 12:30:13,958.958 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:30:14,001.001 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:30:14,053.053 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:30:14,056.056 INFO    ] No camera update needed
[2026-10-20 12:30:14,060.060 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:30:14,063.063 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:30:14,069.069 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:30:14,074.074 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:30:16,115.115 INFO    ] ================================================
[2026-10-20 12:30:16,131.131 INFO    ] Launching Daemon at Tue Oct 20 12:30:16 IST 2026
[2026-10-20 12:30:16,142.142 INFO    ] ================================================
[2026-10-20 12:30:16,708.708 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:30:16
[2026-10-20 12:30:17,291.291 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:30:17,563.563 INFO    ] Initializing speech engine...
[2026-10-20 12:30:17,568.568 INFO    ] 2026-10-20 12:30:17
[2026-10-20 12:30:17,813.813 INFO    ] 2026-10-20 12:30:17
[2026-10-20 12:30:17,847.847 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:30:18,091.091 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:30:18,108.108 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:30:18,316.316 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:30:18,366.366 INFO    ] time= 20/10/2026 12:30:18
[2026-10-20 12:30:18,376.376 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:30:18,390.390 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:30:18,509.509 INFO    ] No existing commands found in stream
[2026-10-20 12:30:23,533.533 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:30:23,535.535 INFO    ] Waiting 2.32 seconds before fallback handling...
[2026-10-20 12:30:26,327.327 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 12:30:26,329.329 INFO    ] Checking for system updates...
[2026-10-20 12:30:26,368.368 INFO    ] 200
[2026-10-20 12:30:26,370.370 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:30:26,423.423 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:30:26,425.425 INFO    ] No update needed
[2026-10-20 12:30:26,428.428 INFO    ] Checking for camera pi updates...
[2026-10-20 12:30:26,462.462 INFO    ] 200
[2026-10-20 12:30:26,465.465 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:30:26,505.505 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:30:26,554.554 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:30:26,556.556 INFO    ] No camera update needed
[2026-10-20 12:30:26,558.558 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:30:26,561.561 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:30:26,566.566 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:30:26,571.571 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:30:28,613.613 INFO    ] ================================================
[2026-10-20 12:30:28,629.629 INFO    ] Launching Daemon at Tue Oct 20 12:30:28 IST 2026
[2026-10-20 12:30:28,641.641 INFO    ] ================================================
[2026-10-20 12:30:29,226.226 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:30:29
[2026-10-20 12:30:29,825.825 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:30:30,096.096 INFO    ] Initializing speech engine...
[2026-10-20 12:30:30,106.106 INFO    ] 2026-10-20 12:30:30
[2026-10-20 12:30:30,354.354 INFO    ] 2026-10-20 12:30:30
[2026-10-20 12:30:30,389.389 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:30:30,650.650 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:30:30,655.655 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:30:30,852.852 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:30:30,912.912 INFO    ] time= 20/10/2026 12:30:30
[2026-10-20 12:30:30,921.921 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:30:30,938.938 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:30:31,070.070 INFO    ] No existing commands found in stream
[2026-10-20 12:30:36,091.091 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:30:36,094.094 INFO    ] Waiting 2.18 seconds before fallback handling...
[2026-10-20 12:30:38,810.810 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:30:38,813.813 INFO    ] Checking for system updates...
[2026-10-20 12:30:38,851.851 INFO    ] 200
[2026-10-20 12:30:38,853.853 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:30:38,913.913 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:30:38,916.916 INFO    ] No update needed
[2026-10-20 12:30:38,919.919 INFO    ] Checking for camera pi updates...
[2026-10-20 12:30:38,954.954 INFO    ] 200
[2026-10-20 12:30:38,957.957 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:30:39,005.005 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:30:39,054.054 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:30:39,057.057 INFO    ] No camera update needed
[2026-10-20 12:30:39,060.060 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:30:39,062.062 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:30:39,068.068 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:30:39,074.074 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:30:41,116.116 INFO    ] ================================================
[2026-10-20 12:30:41,132.132 INFO    ] Launching Daemon at Tue Oct 20 12:30:41 IST 2026
[2026-10-20 12:30:41,143.143 INFO    ] ================================================
[2026-10-20 12:30:41,774.774 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:30:41
[2026-10-20 12:30:42,377.377 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:30:42,645.645 INFO    ] Initializing speech engine...
[2026-10-20 12:30:42,666.666 INFO    ] 2026-10-20 12:30:42
[2026-10-20 12:30:42,949.949 INFO    ] 2026-10-20 12:30:42
[2026-10-20 12:30:42,988.988 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:30:43,191.191 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:30:43,194.194 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:30:43,354.354 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:30:43,362.362 INFO    ] time= 20/10/2026 12:30:43
[2026-10-20 12:30:43,402.402 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:30:43,429.429 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:30:43,559.559 INFO    ] No existing commands found in stream
[2026-10-20 12:30:48,570.570 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:30:48,572.572 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-10-20 12:30:52,191.191 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:30:52,194.194 INFO    ] Checking for system updates...
[2026-10-20 12:30:52,229.229 INFO    ] 200
[2026-10-20 12:30:52,232.232 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:30:52,295.295 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:30:52,297.297 INFO    ] No update needed
[2026-10-20 12:30:52,300.300 INFO    ] Checking for camera pi updates...
[2026-10-20 12:30:52,334.334 INFO    ] 200
[2026-10-20 12:30:52,337.337 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:30:52,377.377 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:30:52,424.424 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:30:52,427.427 INFO    ] No camera update needed
[2026-10-20 12:30:52,429.429 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:30:52,431.431 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:30:52,437.437 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:30:52,442.442 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:30:54,482.482 INFO    ] ================================================
[2026-10-20 12:30:54,497.497 INFO    ] Launching Daemon at Tue Oct 20 12:30:54 IST 2026
[2026-10-20 12:30:54,508.508 INFO    ] ================================================
[2026-10-20 12:30:55,079.079 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:30:55
[2026-10-20 12:30:55,667.667 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:30:55,941.941 INFO    ] Initializing speech engine...
[2026-10-20 12:30:55,949.949 INFO    ] 2026-10-20 12:30:55
[2026-10-20 12:30:56,200.200 INFO    ] 2026-10-20 12:30:56
[2026-10-20 12:30:56,233.233 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:30:56,436.436 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:30:56,496.496 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:30:56,646.646 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:30:56,722.722 INFO    ] time= 20/10/2026 12:30:56
[2026-10-20 12:30:56,771.771 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:30:56,778.778 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:30:56,901.901 INFO    ] No existing commands found in stream
[2026-10-20 12:31:01,931.931 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:31:01,934.934 INFO    ] Waiting 2.10 seconds before fallback handling...
[2026-10-20 12:31:04,527.527 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 12:31:04,529.529 INFO    ] Checking for system updates...
[2026-10-20 12:31:04,565.565 INFO    ] 200
[2026-10-20 12:31:04,568.568 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:31:04,620.620 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:31:04,622.622 INFO    ] No update needed
[2026-10-20 12:31:04,625.625 INFO    ] Checking for camera pi updates...
[2026-10-20 12:31:04,662.662 INFO    ] 200
[2026-10-20 12:31:04,664.664 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:31:04,705.705 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:31:04,754.754 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:31:04,757.757 INFO    ] No camera update needed
[2026-10-20 12:31:04,759.759 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:31:04,762.762 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:31:04,767.767 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:31:04,772.772 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:31:06,811.811 INFO    ] ================================================
[2026-10-20 12:31:06,826.826 INFO    ] Launching Daemon at Tue Oct 20 12:31:06 IST 2026
[2026-10-20 12:31:06,837.837 INFO    ] ================================================
[2026-10-20 12:31:07,423.423 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:31:07
[2026-10-20 12:31:08,038.038 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:31:08,314.314 INFO    ] Initializing speech engine...
[2026-10-20 12:31:08,330.330 INFO    ] 2026-10-20 12:31:08
[2026-10-20 12:31:08,604.604 INFO    ] 2026-10-20 12:31:08
[2026-10-20 12:31:08,642.642 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:31:08,856.856 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:31:08,909.909 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:31:09,123.123 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:31:09,177.177 INFO    ] time= 20/10/2026 12:31:09
[2026-10-20 12:31:09,184.184 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:31:09,203.203 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:31:09,349.349 INFO    ] No existing commands found in stream
[2026-10-20 12:31:14,381.381 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:31:14,383.383 INFO    ] Waiting 2.21 seconds before fallback handling...
[2026-10-20 12:31:17,103.103 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:31:17,106.106 INFO    ] Checking for system updates...
[2026-10-20 12:31:17,142.142 INFO    ] 200
[2026-10-20 12:31:17,145.145 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:31:17,197.197 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:31:17,199.199 INFO    ] No update needed
[2026-10-20 12:31:17,202.202 INFO    ] Checking for camera pi updates...
[2026-10-20 12:31:17,234.234 INFO    ] 200
[2026-10-20 12:31:17,237.237 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:31:17,281.281 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:31:17,330.330 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:31:17,332.332 INFO    ] No camera update needed
[2026-10-20 12:31:17,335.335 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:31:17,337.337 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:31:17,342.342 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:31:17,347.347 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:31:19,387.387 INFO    ] ================================================
[2026-10-20 12:31:19,402.402 INFO    ] Launching Daemon at Tue Oct 20 12:31:19 IST 2026
[2026-10-20 12:31:19,413.413 INFO    ] ================================================
[2026-10-20 12:31:20,063.063 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:31:20
[2026-10-20 12:31:20,730.730 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:31:21,035.035 INFO    ] Initializing speech engine...
[2026-10-20 12:31:21,047.047 INFO    ] 2026-10-20 12:31:21
[2026-10-20 12:31:21,323.323 INFO    ] 2026-10-20 12:31:21
[2026-10-20 12:31:21,366.366 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:31:21,653.653 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:31:21,660.660 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:31:21,850.850 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:31:21,868.868 INFO    ] time= 20/10/2026 12:31:21
[2026-10-20 12:31:21,877.877 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:31:21,904.904 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:31:22,035.035 INFO    ] No existing commands found in stream
[2026-10-20 12:31:27,071.071 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:31:27,074.074 INFO    ] Waiting 1.35 seconds before fallback handling...
[2026-10-20 12:31:28,946.946 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:31:28,950.950 INFO    ] Checking for system updates...
[2026-10-20 12:31:28,986.986 INFO    ] 200
[2026-10-20 12:31:28,989.989 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:31:29,042.042 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:31:29,045.045 INFO    ] No update needed
[2026-10-20 12:31:29,047.047 INFO    ] Checking for camera pi updates...
[2026-10-20 12:31:29,085.085 INFO    ] 200
[2026-10-20 12:31:29,088.088 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:31:29,135.135 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:31:29,280.280 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:31:29,283.283 INFO    ] No camera update needed
[2026-10-20 12:31:29,286.286 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:31:29,288.288 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:31:29,295.295 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:31:29,300.300 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:31:31,341.341 INFO    ] ================================================
[2026-10-20 12:31:31,356.356 INFO    ] Launching Daemon at Tue Oct 20 12:31:31 IST 2026
[2026-10-20 12:31:31,367.367 INFO    ] ================================================
[2026-10-20 12:31:31,947.947 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:31:31
[2026-10-20 12:31:32,582.582 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:31:32,895.895 INFO    ] Initializing speech engine...
[2026-10-20 12:31:32,902.902 INFO    ] 2026-10-20 12:31:32
[2026-10-20 12:31:33,185.185 INFO    ] 2026-10-20 12:31:33
[2026-10-20 12:31:33,228.228 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:31:33,464.464 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:31:33,471.471 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:31:33,687.687 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:31:33,700.700 INFO    ] time= 20/10/2026 12:31:33
[2026-10-20 12:31:33,759.759 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:31:33,808.808 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:31:33,964.964 INFO    ] No existing commands found in stream
[2026-10-20 12:31:38,987.987 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:31:38,990.990 INFO    ] Waiting 1.92 seconds before fallback handling...
[2026-10-20 12:31:41,417.417 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:31:41,419.419 INFO    ] Checking for system updates...
[2026-10-20 12:31:41,455.455 INFO    ] 200
[2026-10-20 12:31:41,458.458 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:31:41,511.511 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:31:41,513.513 INFO    ] No update needed
[2026-10-20 12:31:41,516.516 INFO    ] Checking for camera pi updates...
[2026-10-20 12:31:41,552.552 INFO    ] 200
[2026-10-20 12:31:41,555.555 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:31:41,595.595 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:31:41,650.650 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:31:41,653.653 INFO    ] No camera update needed
[2026-10-20 12:31:41,655.655 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:31:41,657.657 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:31:41,662.662 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:31:41,667.667 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:31:43,707.707 INFO    ] ================================================
[2026-10-20 12:31:43,722.722 INFO    ] Launching Daemon at Tue Oct 20 12:31:43 IST 2026
[2026-10-20 12:31:43,733.733 INFO    ] ================================================
[2026-10-20 12:31:44,374.374 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:31:44
[2026-10-20 12:31:45,036.036 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:31:45,333.333 INFO    ] Initializing speech engine...
[2026-10-20 12:31:45,344.344 INFO    ] 2026-10-20 12:31:45
[2026-10-20 12:31:45,616.616 INFO    ] 2026-10-20 12:31:45
[2026-10-20 12:31:45,652.652 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:31:45,912.912 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:31:45,917.917 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:31:46,103.103 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:31:46,163.163 INFO    ] time= 20/10/2026 12:31:46
[2026-10-20 12:31:46,194.194 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:31:46,201.201 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:31:46,352.352 INFO    ] No existing commands found in stream
[2026-10-20 12:31:51,371.371 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:31:51,375.375 INFO    ] Waiting 0.85 seconds before fallback handling...
[2026-10-20 12:31:52,708.708 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:31:52,711.711 INFO    ] Checking for system updates...
[2026-10-20 12:31:52,747.747 INFO    ] 200
[2026-10-20 12:31:52,750.750 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:31:52,804.804 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:31:52,807.807 INFO    ] No update needed
[2026-10-20 12:31:52,810.810 INFO    ] Checking for camera pi updates...
[2026-10-20 12:31:52,844.844 INFO    ] 200
[2026-10-20 12:31:52,847.847 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:31:52,887.887 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:31:52,947.947 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:31:52,950.950 INFO    ] No camera update needed
[2026-10-20 12:31:52,952.952 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:31:52,955.955 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:31:52,961.961 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:31:52,967.967 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:31:55,007.007 INFO    ] ================================================
[2026-10-20 12:31:55,022.022 INFO    ] Launching Daemon at Tue Oct 20 12:31:55 IST 2026
[2026-10-20 12:31:55,032.032 INFO    ] ================================================
[2026-10-20 12:31:55,611.611 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:31:55
[2026-10-20 12:31:56,212.212 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:31:56,497.497 INFO    ] Initializing speech engine...
[2026-10-20 12:31:56,506.506 INFO    ] 2026-10-20 12:31:56
[2026-10-20 12:31:56,773.773 INFO    ] 2026-10-20 12:31:56
[2026-10-20 12:31:56,811.811 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:31:57,031.031 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:31:57,095.095 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:31:57,265.265 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:31:57,329.329 INFO    ] time= 20/10/2026 12:31:57
[2026-10-20 12:31:57,369.369 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:31:57,400.400 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:31:57,542.542 INFO    ] No existing commands found in stream
[2026-10-20 12:32:02,571.571 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:32:02,574.574 INFO    ] Waiting 1.34 seconds before fallback handling...
[2026-10-20 12:32:04,399.399 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:32:04,401.401 INFO    ] Checking for system updates...
[2026-10-20 12:32:04,437.437 INFO    ] 200
[2026-10-20 12:32:04,440.440 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:32:04,506.506 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:32:04,510.510 INFO    ] No update needed
[2026-10-20 12:32:04,514.514 INFO    ] Checking for camera pi updates...
[2026-10-20 12:32:04,562.562 INFO    ] 200
[2026-10-20 12:32:04,565.565 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:32:04,610.610 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:32:04,658.658 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:32:04,661.661 INFO    ] No camera update needed
[2026-10-20 12:32:04,663.663 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:32:04,666.666 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:32:04,671.671 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:32:04,676.676 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:32:06,717.717 INFO    ] ================================================
[2026-10-20 12:32:06,732.732 INFO    ] Launching Daemon at Tue Oct 20 12:32:06 IST 2026
[2026-10-20 12:32:06,743.743 INFO    ] ================================================
[2026-10-20 12:32:07,389.389 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:32:07
[2026-10-20 12:32:08,056.056 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:32:08,361.361 INFO    ] Initializing speech engine...
[2026-10-20 12:32:08,370.370 INFO    ] 2026-10-20 12:32:08
[2026-10-20 12:32:08,657.657 INFO    ] 2026-10-20 12:32:08
[2026-10-20 12:32:08,704.704 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:32:08,997.997 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:32:09,006.006 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:32:09,207.207 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:32:09,215.215 INFO    ] time= 20/10/2026 12:32:09
[2026-10-20 12:32:09,237.237 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:32:09,265.265 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:32:09,381.381 INFO    ] No existing commands found in stream
[2026-10-20 12:32:14,417.417 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:32:14,420.420 INFO    ] Waiting 1.14 seconds before fallback handling...
[2026-10-20 12:32:16,083.083 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 12:32:16,085.085 INFO    ] Checking for system updates...
[2026-10-20 12:32:16,122.122 INFO    ] 200
[2026-10-20 12:32:16,125.125 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:32:16,177.177 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:32:16,180.180 INFO    ] No update needed
[2026-10-20 12:32:16,183.183 INFO    ] Checking for camera pi updates...
[2026-10-20 12:32:16,217.217 INFO    ] 200
[2026-10-20 12:32:16,220.220 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:32:16,262.262 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:32:16,308.308 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:32:16,311.311 INFO    ] No camera update needed
[2026-10-20 12:32:16,314.314 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:32:16,316.316 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:32:16,322.322 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:32:16,328.328 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:32:18,368.368 INFO    ] ================================================
[2026-10-20 12:32:18,383.383 INFO    ] Launching Daemon at Tue Oct 20 12:32:18 IST 2026
[2026-10-20 12:32:18,393.393 INFO    ] ================================================
[2026-10-20 12:32:19,026.026 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:32:19
[2026-10-20 12:32:19,679.679 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:32:19,977.977 INFO    ] Initializing speech engine...
[2026-10-20 12:32:19,983.983 INFO    ] 2026-10-20 12:32:19
[2026-10-20 12:32:20,271.271 INFO    ] 2026-10-20 12:32:20
[2026-10-20 12:32:20,317.317 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:32:20,573.573 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:32:20,591.591 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:32:20,793.793 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:32:20,820.820 INFO    ] time= 20/10/2026 12:32:20
[2026-10-20 12:32:20,839.839 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:32:20,869.869 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:32:20,988.988 INFO    ] No existing commands found in stream
[2026-10-20 12:32:26,019.019 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:32:26,022.022 INFO    ] Waiting 3.39 seconds before fallback handling...
[2026-10-20 12:32:29,977.977 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:32:29,980.980 INFO    ] Checking for system updates...
[2026-10-20 12:32:30,017.017 INFO    ] 200
[2026-10-20 12:32:30,020.020 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:32:30,072.072 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:32:30,075.075 INFO    ] No update needed
[2026-10-20 12:32:30,078.078 INFO    ] Checking for camera pi updates...
[2026-10-20 12:32:30,112.112 INFO    ] 200
[2026-10-20 12:32:30,115.115 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:32:30,160.160 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:32:30,204.204 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:32:30,207.207 INFO    ] No camera update needed
[2026-10-20 12:32:30,210.210 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:32:30,212.212 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:32:30,218.218 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:32:30,224.224 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:32:32,267.267 INFO    ] ================================================
[2026-10-20 12:32:32,284.284 INFO    ] Launching Daemon at Tue Oct 20 12:32:32 IST 2026
[2026-10-20 12:32:32,296.296 INFO    ] ================================================
[2026-10-20 12:32:32,882.882 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:32:32
[2026-10-20 12:32:33,563.563 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:32:33,872.872 INFO    ] Initializing speech engine...
[2026-10-20 12:32:33,882.882 INFO    ] 2026-10-20 12:32:33
[2026-10-20 12:32:34,169.169 INFO    ] 2026-10-20 12:32:34
[2026-10-20 12:32:34,203.203 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:32:34,451.451 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:32:34,461.461 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:32:34,670.670 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:32:34,732.732 INFO    ] time= 20/10/2026 12:32:34
[2026-10-20 12:32:34,747.747 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:32:34,756.756 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:32:34,889.889 INFO    ] No existing commands found in stream
[2026-10-20 12:32:39,912.912 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:32:39,915.915 INFO    ] Waiting 0.41 seconds before fallback handling...
[2026-10-20 12:32:40,860.860 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:32:40,863.863 INFO    ] Checking for system updates...
[2026-10-20 12:32:40,902.902 INFO    ] 200
[2026-10-20 12:32:40,904.904 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:32:40,963.963 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:32:40,965.965 INFO    ] No update needed
[2026-10-20 12:32:40,968.968 INFO    ] Checking for camera pi updates...
[2026-10-20 12:32:41,002.002 INFO    ] 200
[2026-10-20 12:32:41,004.004 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:32:41,052.052 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:32:41,096.096 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:32:41,099.099 INFO    ] No camera update needed
[2026-10-20 12:32:41,102.102 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:32:41,104.104 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:32:41,111.111 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:32:41,116.116 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:32:43,157.157 INFO    ] ================================================
[2026-10-20 12:32:43,172.172 INFO    ] Launching Daemon at Tue Oct 20 12:32:43 IST 2026
[2026-10-20 12:32:43,183.183 INFO    ] ================================================
[2026-10-20 12:32:43,814.814 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:32:43
[2026-10-20 12:32:44,434.434 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:32:44,708.708 INFO    ] Initializing speech engine...
[2026-10-20 12:32:44,718.718 INFO    ] 2026-10-20 12:32:44
[2026-10-20 12:32:44,982.982 INFO    ] 2026-10-20 12:32:44
[2026-10-20 12:32:45,011.011 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:32:45,256.256 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:32:45,265.265 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:32:45,465.465 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:32:45,520.520 INFO    ] time= 20/10/2026 12:32:45
[2026-10-20 12:32:45,531.531 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:32:45,547.547 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:32:45,702.702 INFO    ] No existing commands found in stream
[2026-10-20 12:32:50,732.732 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:32:50,735.735 INFO    ] Waiting 1.93 seconds before fallback handling...
[2026-10-20 12:32:53,187.187 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:32:53,190.190 INFO    ] Checking for system updates...
[2026-10-20 12:32:53,225.225 INFO    ] 200
[2026-10-20 12:32:53,227.227 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:32:53,282.282 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:32:53,284.284 INFO    ] No update needed
[2026-10-20 12:32:53,286.286 INFO    ] Checking for camera pi updates...
[2026-10-20 12:32:53,320.320 INFO    ] 200
[2026-10-20 12:32:53,322.322 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:32:53,362.362 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:32:53,409.409 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:32:53,411.411 INFO    ] No camera update needed
[2026-10-20 12:32:53,413.413 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:32:53,415.415 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:32:53,421.421 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:32:53,426.426 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:32:55,465.465 INFO    ] ================================================
[2026-10-20 12:32:55,481.481 INFO    ] Launching Daemon at Tue Oct 20 12:32:55 IST 2026
[2026-10-20 12:32:55,492.492 INFO    ] ================================================
[2026-10-20 12:32:56,081.081 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:32:56
[2026-10-20 12:32:56,690.690 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:32:56,952.952 INFO    ] Initializing speech engine...
[2026-10-20 12:32:56,961.961 INFO    ] 2026-10-20 12:32:56
[2026-10-20 12:32:57,252.252 INFO    ] 2026-10-20 12:32:57
[2026-10-20 12:32:57,289.289 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:32:57,554.554 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:32:57,564.564 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:32:57,744.744 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:32:57,809.809 INFO    ] time= 20/10/2026 12:32:57
[2026-10-20 12:32:57,835.835 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:32:57,841.841 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:32:57,980.980 INFO    ] No existing commands found in stream
[2026-10-20 12:33:03,004.004 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:33:03,007.007 INFO    ] Waiting 0.57 seconds before fallback handling...
[2026-10-20 12:33:04,116.116 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:33:04,119.119 INFO    ] Checking for system updates...
[2026-10-20 12:33:04,160.160 INFO    ] 200
[2026-10-20 12:33:04,163.163 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:33:04,217.217 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:33:04,220.220 INFO    ] No update needed
[2026-10-20 12:33:04,222.222 INFO    ] Checking for camera pi updates...
[2026-10-20 12:33:04,258.258 INFO    ] 200
[2026-10-20 12:33:04,261.261 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:33:04,301.301 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:33:04,350.350 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:33:04,352.352 INFO    ] No camera update needed
[2026-10-20 12:33:04,354.354 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:33:04,357.357 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:33:04,362.362 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:33:04,367.367 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:33:06,407.407 INFO    ] ================================================
[2026-10-20 12:33:06,422.422 INFO    ] Launching Daemon at Tue Oct 20 12:33:06 IST 2026
[2026-10-20 12:33:06,433.433 INFO    ] ================================================
[2026-10-20 12:33:07,025.025 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:33:07
[2026-10-20 12:33:07,606.606 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:33:07,874.874 INFO    ] Initializing speech engine...
[2026-10-20 12:33:07,883.883 INFO    ] 2026-10-20 12:33:07
[2026-10-20 12:33:08,128.128 INFO    ] 2026-10-20 12:33:08
[2026-10-20 12:33:08,169.169 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:33:08,413.413 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:33:08,422.422 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:33:08,631.631 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:33:08,680.680 INFO    ] time= 20/10/2026 12:33:08
[2026-10-20 12:33:08,685.685 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:33:08,701.701 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:33:08,830.830 INFO    ] No existing commands found in stream
[2026-10-20 12:33:13,845.845 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:33:13,848.848 INFO    ] Waiting 3.56 seconds before fallback handling...
[2026-10-20 12:33:17,915.915 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:33:17,918.918 INFO    ] Checking for system updates...
[2026-10-20 12:33:17,955.955 INFO    ] 200
[2026-10-20 12:33:17,957.957 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:33:18,011.011 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:33:18,013.013 INFO    ] No update needed
[2026-10-20 12:33:18,016.016 INFO    ] Checking for camera pi updates...
[2026-10-20 12:33:18,050.050 INFO    ] 200
[2026-10-20 12:33:18,053.053 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:33:18,094.094 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:33:18,146.146 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:33:18,149.149 INFO    ] No camera update needed
[2026-10-20 12:33:18,152.152 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:33:18,154.154 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:33:18,160.160 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:33:18,166.166 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:33:20,207.207 INFO    ] ================================================
[2026-10-20 12:33:20,223.223 INFO    ] Launching Daemon at Tue Oct 20 12:33:20 IST 2026
[2026-10-20 12:33:20,234.234 INFO    ] ================================================
[2026-10-20 12:33:20,813.813 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:33:20
[2026-10-20 12:33:21,412.412 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:33:21,690.690 INFO    ] Initializing speech engine...
[2026-10-20 12:33:21,698.698 INFO    ] 2026-10-20 12:33:21
[2026-10-20 12:33:21,957.957 INFO    ] 2026-10-20 12:33:21
[2026-10-20 12:33:22,012.012 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:33:22,236.236 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:33:22,241.241 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:33:22,373.373 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:33:22,438.438 INFO    ] time= 20/10/2026 12:33:22
[2026-10-20 12:33:22,501.501 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:33:22,507.507 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:33:22,655.655 INFO    ] No existing commands found in stream
[2026-10-20 12:33:27,677.677 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:33:27,680.680 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-10-20 12:33:28,826.826 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:33:28,829.829 INFO    ] Checking for system updates...
[2026-10-20 12:33:28,864.864 INFO    ] 200
[2026-10-20 12:33:28,866.866 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:33:28,918.918 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:33:28,921.921 INFO    ] No update needed
[2026-10-20 12:33:28,923.923 INFO    ] Checking for camera pi updates...
[2026-10-20 12:33:28,957.957 INFO    ] 200
[2026-10-20 12:33:28,959.959 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:33:28,999.999 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:33:29,048.048 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:33:29,051.051 INFO    ] No camera update needed
[2026-10-20 12:33:29,053.053 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:33:29,055.055 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:33:29,061.061 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:33:29,066.066 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:33:31,108.108 INFO    ] ================================================
[2026-10-20 12:33:31,123.123 INFO    ] Launching Daemon at Tue Oct 20 12:33:31 IST 2026
[2026-10-20 12:33:31,134.134 INFO    ] ================================================
[2026-10-20 12:33:31,701.701 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:33:31
[2026-10-20 12:33:32,318.318 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:33:32,585.585 INFO    ] Initializing speech engine...
[2026-10-20 12:33:32,608.608 INFO    ] 2026-10-20 12:33:32
[2026-10-20 12:33:32,888.888 INFO    ] 2026-10-20 12:33:32
[2026-10-20 12:33:32,926.926 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:33:33,128.128 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:33:33,146.146 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:33:33,304.304 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:33:33,313.313 INFO    ] time= 20/10/2026 12:33:33
[2026-10-20 12:33:33,323.323 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:33:33,331.331 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:33:33,421.421 INFO    ] No existing commands found in stream
[2026-10-20 12:33:38,457.457 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:33:38,460.460 INFO    ] Waiting 3.75 seconds before fallback handling...
[2026-10-20 12:33:42,690.690 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:33:42,693.693 INFO    ] Checking for system updates...
[2026-10-20 12:33:42,729.729 INFO    ] 200
[2026-10-20 12:33:42,732.732 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:33:42,793.793 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:33:42,795.795 INFO    ] No update needed
[2026-10-20 12:33:42,798.798 INFO    ] Checking for camera pi updates...
[2026-10-20 12:33:42,831.831 INFO    ] 200
[2026-10-20 12:33:42,834.834 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:33:42,874.874 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:33:42,920.920 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:33:42,923.923 INFO    ] No camera update needed
[2026-10-20 12:33:42,925.925 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:33:42,927.927 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:33:42,933.933 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:33:42,938.938 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:33:44,979.979 INFO    ] ================================================
[2026-10-20 12:33:44,994.994 INFO    ] Launching Daemon at Tue Oct 20 12:33:44 IST 2026
[2026-10-20 12:33:45,006.006 INFO    ] ================================================
[2026-10-20 12:33:45,584.584 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:33:45
[2026-10-20 12:33:46,165.165 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:33:46,418.418 INFO    ] Initializing speech engine...
[2026-10-20 12:33:46,442.442 INFO    ] 2026-10-20 12:33:46
[2026-10-20 12:33:46,712.712 INFO    ] 2026-10-20 12:33:46
[2026-10-20 12:33:46,751.751 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:33:46,945.945 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:33:46,957.957 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:33:47,117.117 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:33:47,126.126 INFO    ] time= 20/10/2026 12:33:47
[2026-10-20 12:33:47,134.134 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:33:47,181.181 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:33:47,332.332 INFO    ] No existing commands found in stream
[2026-10-20 12:33:52,357.357 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:33:52,360.360 INFO    ] Waiting 2.57 seconds before fallback handling...
[2026-10-20 12:33:55,470.470 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 12:33:55,472.472 INFO    ] Checking for system updates...
[2026-10-20 12:33:55,508.508 INFO    ] 200
[2026-10-20 12:33:55,511.511 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:33:55,562.562 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:33:55,565.565 INFO    ] No update needed
[2026-10-20 12:33:55,567.567 INFO    ] Checking for camera pi updates...
[2026-10-20 12:33:55,601.601 INFO    ] 200
[2026-10-20 12:33:55,603.603 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:33:55,644.644 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:33:55,697.697 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:33:55,699.699 INFO    ] No camera update needed
[2026-10-20 12:33:55,702.702 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:33:55,704.704 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:33:55,709.709 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:33:55,714.714 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:33:57,754.754 INFO    ] ================================================
[2026-10-20 12:33:57,770.770 INFO    ] Launching Daemon at Tue Oct 20 12:33:57 IST 2026
[2026-10-20 12:33:57,780.780 INFO    ] ================================================
[2026-10-20 12:33:58,354.354 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:33:58
[2026-10-20 12:33:58,940.940 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:33:59,193.193 INFO    ] Initializing speech engine...
[2026-10-20 12:33:59,199.199 INFO    ] 2026-10-20 12:33:59
[2026-10-20 12:33:59,495.495 INFO    ] 2026-10-20 12:33:59
[2026-10-20 12:33:59,531.531 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:33:59,731.731 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:33:59,737.737 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:33:59,876.876 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:33:59,897.897 INFO    ] time= 20/10/2026 12:33:59
[2026-10-20 12:33:59,919.919 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:33:59,928.928 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:34:00,062.062 INFO    ] No existing commands found in stream
[2026-10-20 12:34:05,092.092 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:34:05,098.098 INFO    ] Waiting 2.79 seconds before fallback handling...
[2026-10-20 12:34:08,419.419 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 12:34:08,421.421 INFO    ] Checking for system updates...
[2026-10-20 12:34:08,457.457 INFO    ] 200
[2026-10-20 12:34:08,459.459 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:34:08,512.512 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:34:08,515.515 INFO    ] No update needed
[2026-10-20 12:34:08,518.518 INFO    ] Checking for camera pi updates...
[2026-10-20 12:34:08,551.551 INFO    ] 200
[2026-10-20 12:34:08,553.553 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:34:08,599.599 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:34:08,630.630 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:34:08,633.633 INFO    ] No camera update needed
[2026-10-20 12:34:08,635.635 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:34:08,637.637 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:34:08,642.642 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:34:08,647.647 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:34:10,687.687 INFO    ] ================================================
[2026-10-20 12:34:10,703.703 INFO    ] Launching Daemon at Tue Oct 20 12:34:10 IST 2026
[2026-10-20 12:34:10,713.713 INFO    ] ================================================
[2026-10-20 12:34:11,300.300 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:34:11
[2026-10-20 12:34:11,900.900 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:34:12,177.177 INFO    ] Initializing speech engine...
[2026-10-20 12:34:12,188.188 INFO    ] 2026-10-20 12:34:12
[2026-10-20 12:34:12,449.449 INFO    ] 2026-10-20 12:34:12
[2026-10-20 12:34:12,506.506 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:34:12,788.788 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:34:12,796.796 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:34:12,987.987 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:34:12,999.999 INFO    ] time= 20/10/2026 12:34:12
[2026-10-20 12:34:13,016.016 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:34:13,034.034 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:34:13,183.183 INFO    ] No existing commands found in stream
[2026-10-20 12:34:18,213.213 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:34:18,216.216 INFO    ] Waiting 1.91 seconds before fallback handling...
[2026-10-20 12:34:20,635.635 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 12:34:20,638.638 INFO    ] Checking for system updates...
[2026-10-20 12:34:20,673.673 INFO    ] 200
[2026-10-20 12:34:20,676.676 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:34:20,727.727 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:34:20,730.730 INFO    ] No update needed
[2026-10-20 12:34:20,732.732 INFO    ] Checking for camera pi updates...
[2026-10-20 12:34:20,766.766 INFO    ] 200
[2026-10-20 12:34:20,769.769 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:34:20,809.809 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:34:20,854.854 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:34:20,857.857 INFO    ] No camera update needed
[2026-10-20 12:34:20,859.859 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:34:20,862.862 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:34:20,867.867 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:34:20,873.873 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:34:22,912.912 INFO    ] ================================================
[2026-10-20 12:34:22,927.927 INFO    ] Launching Daemon at Tue Oct 20 12:34:22 IST 2026
[2026-10-20 12:34:22,937.937 INFO    ] ================================================
[2026-10-20 12:34:23,506.506 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:34:23
[2026-10-20 12:34:24,107.107 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:34:24,385.385 INFO    ] Initializing speech engine...
[2026-10-20 12:34:24,394.394 INFO    ] 2026-10-20 12:34:24
[2026-10-20 12:34:24,639.639 INFO    ] 2026-10-20 12:34:24
[2026-10-20 12:34:24,679.679 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:34:24,925.925 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:34:24,935.935 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:34:25,125.125 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:34:25,185.185 INFO    ] time= 20/10/2026 12:34:25
[2026-10-20 12:34:25,201.201 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:34:25,218.218 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:34:25,347.347 INFO    ] No existing commands found in stream
[2026-10-20 12:34:30,361.361 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:34:30,364.364 INFO    ] Waiting 0.47 seconds before fallback handling...
[2026-10-20 12:34:31,363.363 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 12:34:31,366.366 INFO    ] Checking for system updates...
[2026-10-20 12:34:31,406.406 INFO    ] 200
[2026-10-20 12:34:31,408.408 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:34:31,460.460 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:34:31,462.462 INFO    ] No update needed
[2026-10-20 12:34:31,465.465 INFO    ] Checking for camera pi updates...
[2026-10-20 12:34:31,500.500 INFO    ] 200
[2026-10-20 12:34:31,503.503 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:34:31,543.543 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:34:31,603.603 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:34:31,605.605 INFO    ] No camera update needed
[2026-10-20 12:34:31,607.607 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:34:31,610.610 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:34:31,615.615 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:34:31,620.620 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:34:33,666.666 INFO    ] ================================================
[2026-10-20 12:34:33,681.681 INFO    ] Launching Daemon at Tue Oct 20 12:34:33 IST 2026
[2026-10-20 12:34:33,694.694 INFO    ] ================================================
[2026-10-20 12:34:34,341.341 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:34:34
[2026-10-20 12:34:35,011.011 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:34:35,317.317 INFO    ] Initializing speech engine...
[2026-10-20 12:34:35,331.331 INFO    ] 2026-10-20 12:34:35
[2026-10-20 12:34:35,611.611 INFO    ] 2026-10-20 12:34:35
[2026-10-20 12:34:35,657.657 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:34:35,886.886 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:34:35,891.891 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:34:36,114.114 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:34:36,157.157 INFO    ] time= 20/10/2026 12:34:36
[2026-10-20 12:34:36,175.175 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:34:36,182.182 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:34:36,313.313 INFO    ] No existing commands found in stream
[2026-10-20 12:34:41,326.326 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:34:41,329.329 INFO    ] Waiting 0.55 seconds before fallback handling...
[2026-10-20 12:34:42,416.416 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:34:42,419.419 INFO    ] Checking for system updates...
[2026-10-20 12:34:42,458.458 INFO    ] 200
[2026-10-20 12:34:42,461.461 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:34:42,512.512 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:34:42,515.515 INFO    ] No update needed
[2026-10-20 12:34:42,518.518 INFO    ] Checking for camera pi updates...
[2026-10-20 12:34:42,554.554 INFO    ] 200
[2026-10-20 12:34:42,557.557 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:34:42,597.597 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:34:42,641.641 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:34:42,643.643 INFO    ] No camera update needed
[2026-10-20 12:34:42,646.646 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:34:42,648.648 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:34:42,653.653 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:34:42,658.658 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:34:44,701.701 INFO    ] ================================================
[2026-10-20 12:34:44,715.715 INFO    ] Launching Daemon at Tue Oct 20 12:34:44 IST 2026
[2026-10-20 12:34:44,726.726 INFO    ] ================================================
[2026-10-20 12:34:45,306.306 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:34:45
[2026-10-20 12:34:45,903.903 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:34:46,177.177 INFO    ] Initializing speech engine...
[2026-10-20 12:34:46,187.187 INFO    ] 2026-10-20 12:34:46
[2026-10-20 12:34:46,453.453 INFO    ] 2026-10-20 12:34:46
[2026-10-20 12:34:46,491.491 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:34:46,769.769 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:34:46,778.778 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:34:47,028.028 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:34:47,074.074 INFO    ] time= 20/10/2026 12:34:47
[2026-10-20 12:34:47,080.080 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:34:47,103.103 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:34:47,240.240 INFO    ] No existing commands found in stream
[2026-10-20 12:34:52,259.259 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:34:52,262.262 INFO    ] Waiting 1.62 seconds before fallback handling...
[2026-10-20 12:34:54,403.403 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:34:54,405.405 INFO    ] Checking for system updates...
[2026-10-20 12:34:54,441.441 INFO    ] 200
[2026-10-20 12:34:54,443.443 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:34:54,494.494 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:34:54,497.497 INFO    ] No update needed
[2026-10-20 12:34:54,499.499 INFO    ] Checking for camera pi updates...
[2026-10-20 12:34:54,532.532 INFO    ] 200
[2026-10-20 12:34:54,534.534 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:34:54,579.579 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:34:54,624.624 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:34:54,626.626 INFO    ] No camera update needed
[2026-10-20 12:34:54,629.629 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:34:54,631.631 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:34:54,636.636 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:34:54,641.641 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:34:56,682.682 INFO    ] ================================================
[2026-10-20 12:34:56,697.697 INFO    ] Launching Daemon at Tue Oct 20 12:34:56 IST 2026
[2026-10-20 12:34:56,709.709 INFO    ] ================================================
[2026-10-20 12:34:57,279.279 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:34:57
[2026-10-20 12:34:57,867.867 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:34:58,122.122 INFO    ] Initializing speech engine...
[2026-10-20 12:34:58,130.130 INFO    ] 2026-10-20 12:34:58
[2026-10-20 12:34:58,423.423 INFO    ] 2026-10-20 12:34:58
[2026-10-20 12:34:58,462.462 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:34:58,722.722 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:34:58,727.727 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:34:58,882.882 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:34:58,943.943 INFO    ] time= 20/10/2026 12:34:58
[2026-10-20 12:34:58,989.989 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:34:58,996.996 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:34:59,142.142 INFO    ] No existing commands found in stream
[2026-10-20 12:35:04,161.161 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:35:04,164.164 INFO    ] Waiting 0.43 seconds before fallback handling...
[2026-10-20 12:35:05,142.142 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:35:05,145.145 INFO    ] Checking for system updates...
[2026-10-20 12:35:05,182.182 INFO    ] 200
[2026-10-20 12:35:05,184.184 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:35:05,237.237 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:35:05,240.240 INFO    ] No update needed
[2026-10-20 12:35:05,242.242 INFO    ] Checking for camera pi updates...
[2026-10-20 12:35:05,281.281 INFO    ] 200
[2026-10-20 12:35:05,284.284 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:35:05,325.325 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:35:05,384.384 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:35:05,387.387 INFO    ] No camera update needed
[2026-10-20 12:35:05,389.389 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:35:05,392.392 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:35:05,398.398 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:35:05,404.404 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:35:07,445.445 INFO    ] ================================================
[2026-10-20 12:35:07,460.460 INFO    ] Launching Daemon at Tue Oct 20 12:35:07 IST 2026
[2026-10-20 12:35:07,471.471 INFO    ] ================================================
[2026-10-20 12:35:08,043.043 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:35:08
[2026-10-20 12:35:08,657.657 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:35:08,956.956 INFO    ] Initializing speech engine...
[2026-10-20 12:35:08,964.964 INFO    ] 2026-10-20 12:35:08
[2026-10-20 12:35:09,249.249 INFO    ] 2026-10-20 12:35:09
[2026-10-20 12:35:09,293.293 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:35:09,577.577 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:35:09,583.583 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:35:09,778.778 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:35:09,795.795 INFO    ] time= 20/10/2026 12:35:09
[2026-10-20 12:35:09,803.803 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:35:09,832.832 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:35:09,999.999 INFO    ] No existing commands found in stream
[2026-10-20 12:35:15,030.030 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:35:15,033.033 INFO    ] Waiting 0.76 seconds before fallback handling...
[2026-10-20 12:35:16,344.344 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:35:16,347.347 INFO    ] Checking for system updates...
[2026-10-20 12:35:16,384.384 INFO    ] 200
[2026-10-20 12:35:16,387.387 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:35:16,439.439 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:35:16,442.442 INFO    ] No update needed
[2026-10-20 12:35:16,445.445 INFO    ] Checking for camera pi updates...
[2026-10-20 12:35:16,480.480 INFO    ] 200
[2026-10-20 12:35:16,483.483 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:35:16,524.524 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:35:16,583.583 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:35:16,586.586 INFO    ] No camera update needed
[2026-10-20 12:35:16,589.589 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:35:16,592.592 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:35:16,598.598 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:35:16,603.603 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:35:18,644.644 INFO    ] ================================================
[2026-10-20 12:35:18,659.659 INFO    ] Launching Daemon at Tue Oct 20 12:35:18 IST 2026
[2026-10-20 12:35:18,670.670 INFO    ] ================================================
[2026-10-20 12:35:19,270.270 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:35:19
[2026-10-20 12:35:19,930.930 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:35:20,231.231 INFO    ] Initializing speech engine...
[2026-10-20 12:35:20,237.237 INFO    ] 2026-10-20 12:35:20
[2026-10-20 12:35:20,509.509 INFO    ] 2026-10-20 12:35:20
[2026-10-20 12:35:20,549.549 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:35:20,806.806 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:35:20,812.812 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:35:21,035.035 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:35:21,070.070 INFO    ] time= 20/10/2026 12:35:21
[2026-10-20 12:35:21,087.087 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:35:21,097.097 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:35:21,222.222 INFO    ] No existing commands found in stream
[2026-10-20 12:35:26,238.238 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:35:26,241.241 INFO    ] Waiting 1.27 seconds before fallback handling...
[2026-10-20 12:35:28,054.054 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:35:28,057.057 INFO    ] Checking for system updates...
[2026-10-20 12:35:28,097.097 INFO    ] 200
[2026-10-20 12:35:28,100.100 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:35:28,159.159 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:35:28,162.162 INFO    ] No update needed
[2026-10-20 12:35:28,165.165 INFO    ] Checking for camera pi updates...
[2026-10-20 12:35:28,199.199 INFO    ] 200
[2026-10-20 12:35:28,202.202 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:35:28,243.243 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:35:28,288.288 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:35:28,291.291 INFO    ] No camera update needed
[2026-10-20 12:35:28,294.294 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:35:28,296.296 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:35:28,302.302 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:35:28,308.308 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:35:30,349.349 INFO    ] ================================================
[2026-10-20 12:35:30,365.365 INFO    ] Launching Daemon at Tue Oct 20 12:35:30 IST 2026
[2026-10-20 12:35:30,376.376 INFO    ] ================================================
[2026-10-20 12:35:31,025.025 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:35:31
[2026-10-20 12:35:31,689.689 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:35:31,993.993 INFO    ] Initializing speech engine...
[2026-10-20 12:35:32,007.007 INFO    ] 2026-10-20 12:35:31
[2026-10-20 12:35:32,305.305 INFO    ] 2026-10-20 12:35:32
[2026-10-20 12:35:32,361.361 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:35:32,653.653 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:35:32,662.662 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:35:32,862.862 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:35:32,869.869 INFO    ] time= 20/10/2026 12:35:32
[2026-10-20 12:35:32,885.885 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:35:32,894.894 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:35:33,030.030 INFO    ] No existing commands found in stream
[2026-10-20 12:35:38,070.070 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:35:38,072.072 INFO    ] Waiting 3.09 seconds before fallback handling...
[2026-10-20 12:35:41,737.737 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:35:41,740.740 INFO    ] Checking for system updates...
[2026-10-20 12:35:41,779.779 INFO    ] 200
[2026-10-20 12:35:41,782.782 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:35:41,833.833 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:35:41,836.836 INFO    ] No update needed
[2026-10-20 12:35:41,838.838 INFO    ] Checking for camera pi updates...
[2026-10-20 12:35:41,871.871 INFO    ] 200
[2026-10-20 12:35:41,874.874 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:35:41,914.914 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:35:42,058.058 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:35:42,061.061 INFO    ] No camera update needed
[2026-10-20 12:35:42,063.063 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:35:42,065.065 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:35:42,071.071 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:35:42,076.076 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:35:44,117.117 INFO    ] ================================================
[2026-10-20 12:35:44,133.133 INFO    ] Launching Daemon at Tue Oct 20 12:35:44 IST 2026
[2026-10-20 12:35:44,145.145 INFO    ] ================================================
[2026-10-20 12:35:44,727.727 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:35:44
[2026-10-20 12:35:45,322.322 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:35:45,578.578 INFO    ] Initializing speech engine...
[2026-10-20 12:35:45,600.600 INFO    ] 2026-10-20 12:35:45
[2026-10-20 12:35:45,875.875 INFO    ] 2026-10-20 12:35:45
[2026-10-20 12:35:45,912.912 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:35:46,130.130 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:35:46,149.149 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:35:46,355.355 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:35:46,372.372 INFO    ] time= 20/10/2026 12:35:46
[2026-10-20 12:35:46,432.432 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:35:46,471.471 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:35:46,653.653 INFO    ] No existing commands found in stream
[2026-10-20 12:35:51,679.679 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:35:51,682.682 INFO    ] Waiting 2.75 seconds before fallback handling...
[2026-10-20 12:35:54,939.939 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:35:54,942.942 INFO    ] Checking for system updates...
[2026-10-20 12:35:54,982.982 INFO    ] 200
[2026-10-20 12:35:54,984.984 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:35:55,037.037 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:35:55,040.040 INFO    ] No update needed
[2026-10-20 12:35:55,042.042 INFO    ] Checking for camera pi updates...
[2026-10-20 12:35:55,075.075 INFO    ] 200
[2026-10-20 12:35:55,078.078 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:35:55,118.118 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:35:55,167.167 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:35:55,169.169 INFO    ] No camera update needed
[2026-10-20 12:35:55,172.172 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:35:55,175.175 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:35:55,180.180 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:35:55,185.185 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:35:57,225.225 INFO    ] ================================================
[2026-10-20 12:35:57,240.240 INFO    ] Launching Daemon at Tue Oct 20 12:35:57 IST 2026
[2026-10-20 12:35:57,251.251 INFO    ] ================================================
[2026-10-20 12:35:57,849.849 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:35:57
[2026-10-20 12:35:58,449.449 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:35:58,747.747 INFO    ] Initializing speech engine...
[2026-10-20 12:35:58,758.758 INFO    ] 2026-10-20 12:35:58
[2026-10-20 12:35:59,042.042 INFO    ] 2026-10-20 12:35:59
[2026-10-20 12:35:59,079.079 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:35:59,336.336 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:35:59,365.365 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:35:59,552.552 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:35:59,572.572 INFO    ] time= 20/10/2026 12:35:59
[2026-10-20 12:35:59,590.590 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:35:59,613.613 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:35:59,727.727 INFO    ] No existing commands found in stream
[2026-10-20 12:36:04,756.756 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:36:04,760.760 INFO    ] Waiting 1.08 seconds before fallback handling...
[2026-10-20 12:36:06,382.382 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 12:36:06,385.385 INFO    ] Checking for system updates...
[2026-10-20 12:36:06,425.425 INFO    ] 200
[2026-10-20 12:36:06,428.428 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:36:06,482.482 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:36:06,484.484 INFO    ] No update needed
[2026-10-20 12:36:06,487.487 INFO    ] Checking for camera pi updates...
[2026-10-20 12:36:06,521.521 INFO    ] 200
[2026-10-20 12:36:06,523.523 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:36:06,565.565 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:36:06,616.616 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:36:06,619.619 INFO    ] No camera update needed
[2026-10-20 12:36:06,621.621 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:36:06,624.624 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:36:06,630.630 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:36:06,636.636 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:36:08,676.676 INFO    ] ================================================
[2026-10-20 12:36:08,691.691 INFO    ] Launching Daemon at Tue Oct 20 12:36:08 IST 2026
[2026-10-20 12:36:08,702.702 INFO    ] ================================================
[2026-10-20 12:36:09,286.286 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:36:09
[2026-10-20 12:36:09,901.901 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:36:10,179.179 INFO    ] Initializing speech engine...
[2026-10-20 12:36:10,185.185 INFO    ] 2026-10-20 12:36:10
[2026-10-20 12:36:10,446.446 INFO    ] 2026-10-20 12:36:10
[2026-10-20 12:36:10,476.476 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:36:10,727.727 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:36:10,731.731 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:36:10,963.963 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:36:10,990.990 INFO    ] time= 20/10/2026 12:36:10
[2026-10-20 12:36:10,996.996 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:36:11,015.015 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:36:11,145.145 INFO    ] No existing commands found in stream
[2026-10-20 12:36:16,160.160 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:36:16,163.163 INFO    ] Waiting 1.02 seconds before fallback handling...
[2026-10-20 12:36:17,661.661 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 12:36:17,663.663 INFO    ] Checking for system updates...
[2026-10-20 12:36:17,701.701 INFO    ] 200
[2026-10-20 12:36:17,704.704 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:36:17,755.755 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:36:17,757.757 INFO    ] No update needed
[2026-10-20 12:36:17,760.760 INFO    ] Checking for camera pi updates...
[2026-10-20 12:36:17,793.793 INFO    ] 200
[2026-10-20 12:36:17,795.795 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:36:17,840.840 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:36:17,896.896 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:36:17,899.899 INFO    ] No camera update needed
[2026-10-20 12:36:17,902.902 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:36:17,904.904 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:36:17,909.909 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:36:17,914.914 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:36:19,955.955 INFO    ] ================================================
[2026-10-20 12:36:19,971.971 INFO    ] Launching Daemon at Tue Oct 20 12:36:19 IST 2026
[2026-10-20 12:36:19,982.982 INFO    ] ================================================
[2026-10-20 12:36:20,561.561 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:36:20
[2026-10-20 12:36:21,150.150 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:36:21,407.407 INFO    ] Initializing speech engine...
[2026-10-20 12:36:21,420.420 INFO    ] 2026-10-20 12:36:21
[2026-10-20 12:36:21,696.696 INFO    ] 2026-10-20 12:36:21
[2026-10-20 12:36:21,733.733 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:36:21,952.952 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:36:22,015.015 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:36:22,166.166 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:36:22,214.214 INFO    ] time= 20/10/2026 12:36:22
[2026-10-20 12:36:22,257.257 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:36:22,312.312 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:36:22,434.434 INFO    ] No existing commands found in stream
[2026-10-20 12:36:27,450.450 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:36:27,452.452 INFO    ] Waiting 0.04 seconds before fallback handling...
[2026-10-20 12:36:27,969.969 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 12:36:27,972.972 INFO    ] Checking for system updates...
[2026-10-20 12:36:28,007.007 INFO    ] 200
[2026-10-20 12:36:28,010.010 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:36:28,061.061 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:36:28,064.064 INFO    ] No update needed
[2026-10-20 12:36:28,066.066 INFO    ] Checking for camera pi updates...
[2026-10-20 12:36:28,099.099 INFO    ] 200
[2026-10-20 12:36:28,101.101 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:36:28,141.141 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:36:28,175.175 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:36:28,177.177 INFO    ] No camera update needed
[2026-10-20 12:36:28,179.179 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:36:28,182.182 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:36:28,187.187 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:36:28,192.192 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:36:30,231.231 INFO    ] ================================================
[2026-10-20 12:36:30,247.247 INFO    ] Launching Daemon at Tue Oct 20 12:36:30 IST 2026
[2026-10-20 12:36:30,258.258 INFO    ] ================================================
[2026-10-20 12:36:30,883.883 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:36:30
[2026-10-20 12:36:31,565.565 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:36:31,897.897 INFO    ] Initializing speech engine...
[2026-10-20 12:36:31,910.910 INFO    ] 2026-10-20 12:36:31
[2026-10-20 12:36:32,189.189 INFO    ] 2026-10-20 12:36:32
[2026-10-20 12:36:32,248.248 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:36:32,490.490 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:36:32,494.494 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:36:32,629.629 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:36:32,705.705 INFO    ] time= 20/10/2026 12:36:32
[2026-10-20 12:36:32,758.758 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:36:32,764.764 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:36:32,906.906 INFO    ] No existing commands found in stream
[2026-10-20 12:36:37,921.921 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:36:37,924.924 INFO    ] Waiting 2.58 seconds before fallback handling...
[2026-10-20 12:36:41,056.056 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 12:36:41,059.059 INFO    ] Checking for system updates...
[2026-10-20 12:36:41,103.103 INFO    ] 200
[2026-10-20 12:36:41,105.105 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:36:41,159.159 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:36:41,162.162 INFO    ] No update needed
[2026-10-20 12:36:41,164.164 INFO    ] Checking for camera pi updates...
[2026-10-20 12:36:41,198.198 INFO    ] 200
[2026-10-20 12:36:41,201.201 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:36:41,241.241 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:36:41,274.274 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:36:41,276.276 INFO    ] No camera update needed
[2026-10-20 12:36:41,278.278 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:36:41,281.281 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:36:41,286.286 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:36:41,292.292 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:36:43,331.331 INFO    ] ================================================
[2026-10-20 12:36:43,346.346 INFO    ] Launching Daemon at Tue Oct 20 12:36:43 IST 2026
[2026-10-20 12:36:43,357.357 INFO    ] ================================================
[2026-10-20 12:36:43,925.925 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:36:43
[2026-10-20 12:36:44,511.511 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:36:44,779.779 INFO    ] Initializing speech engine...
[2026-10-20 12:36:44,788.788 INFO    ] 2026-10-20 12:36:44
[2026-10-20 12:36:45,038.038 INFO    ] 2026-10-20 12:36:45
[2026-10-20 12:36:45,097.097 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:36:45,316.316 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:36:45,325.325 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:36:45,529.529 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:36:45,581.581 INFO    ] time= 20/10/2026 12:36:45
[2026-10-20 12:36:45,588.588 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:36:45,606.606 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:36:45,732.732 INFO    ] No existing commands found in stream
[2026-10-20 12:36:50,747.747 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:36:50,750.750 INFO    ] Waiting 2.22 seconds before fallback handling...
[2026-10-20 12:36:53,463.463 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:36:53,466.466 INFO    ] Checking for system updates...
[2026-10-20 12:36:53,502.502 INFO    ] 200
[2026-10-20 12:36:53,505.505 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:36:53,562.562 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:36:53,564.564 INFO    ] No update needed
[2026-10-20 12:36:53,567.567 INFO    ] Checking for camera pi updates...
[2026-10-20 12:36:53,600.600 INFO    ] 200
[2026-10-20 12:36:53,602.602 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:36:53,642.642 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:36:53,689.689 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:36:53,691.691 INFO    ] No camera update needed
[2026-10-20 12:36:53,694.694 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:36:53,696.696 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:36:53,701.701 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:36:53,706.706 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:36:55,749.749 INFO    ] ================================================
[2026-10-20 12:36:55,764.764 INFO    ] Launching Daemon at Tue Oct 20 12:36:55 IST 2026
[2026-10-20 12:36:55,775.775 INFO    ] ================================================
[2026-10-20 12:36:56,356.356 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:36:56
[2026-10-20 12:36:56,941.941 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:36:57,213.213 INFO    ] Initializing speech engine...
[2026-10-20 12:36:57,221.221 INFO    ] 2026-10-20 12:36:57
[2026-10-20 12:36:57,476.476 INFO    ] 2026-10-20 12:36:57
[2026-10-20 12:36:57,530.530 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:36:57,775.775 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:36:57,782.782 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:36:57,996.996 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:36:58,018.018 INFO    ] time= 20/10/2026 12:36:58
[2026-10-20 12:36:58,033.033 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:36:58,042.042 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:36:58,169.169 INFO    ] No existing commands found in stream
[2026-10-20 12:37:03,181.181 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:37:03,184.184 INFO    ] Waiting 2.24 seconds before fallback handling...
[2026-10-20 12:37:05,933.933 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:37:05,936.936 INFO    ] Checking for system updates...
[2026-10-20 12:37:05,976.976 INFO    ] 200
[2026-10-20 12:37:05,978.978 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:37:06,030.030 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:37:06,032.032 INFO    ] No update needed
[2026-10-20 12:37:06,035.035 INFO    ] Checking for camera pi updates...
[2026-10-20 12:37:06,069.069 INFO    ] 200
[2026-10-20 12:37:06,072.072 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:37:06,111.111 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:37:06,159.159 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:37:06,162.162 INFO    ] No camera update needed
[2026-10-20 12:37:06,164.164 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:37:06,166.166 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:37:06,171.171 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:37:06,176.176 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:37:08,217.217 INFO    ] ================================================
[2026-10-20 12:37:08,232.232 INFO    ] Launching Daemon at Tue Oct 20 12:37:08 IST 2026
[2026-10-20 12:37:08,243.243 INFO    ] ================================================
[2026-10-20 12:37:08,886.886 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:37:08
[2026-10-20 12:37:09,546.546 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:37:09,850.850 INFO    ] Initializing speech engine...
[2026-10-20 12:37:09,861.861 INFO    ] 2026-10-20 12:37:09
[2026-10-20 12:37:10,144.144 INFO    ] 2026-10-20 12:37:10
[2026-10-20 12:37:10,255.255 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:37:10,468.468 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:37:10,478.478 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:37:10,670.670 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:37:10,691.691 INFO    ] time= 20/10/2026 12:37:10
[2026-10-20 12:37:10,706.706 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:37:10,724.724 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:37:10,853.853 INFO    ] No existing commands found in stream
[2026-10-20 12:37:15,890.890 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:37:15,893.893 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-10-20 12:37:19,832.832 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:37:19,835.835 INFO    ] Checking for system updates...
[2026-10-20 12:37:19,871.871 INFO    ] 200
[2026-10-20 12:37:19,874.874 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:37:19,926.926 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:37:19,929.929 INFO    ] No update needed
[2026-10-20 12:37:19,932.932 INFO    ] Checking for camera pi updates...
[2026-10-20 12:37:19,965.965 INFO    ] 200
[2026-10-20 12:37:19,968.968 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:37:20,010.010 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:37:20,060.060 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:37:20,063.063 INFO    ] No camera update needed
[2026-10-20 12:37:20,065.065 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:37:20,068.068 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:37:20,074.074 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:37:20,080.080 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:37:22,120.120 INFO    ] ================================================
[2026-10-20 12:37:22,136.136 INFO    ] Launching Daemon at Tue Oct 20 12:37:22 IST 2026
[2026-10-20 12:37:22,146.146 INFO    ] ================================================
[2026-10-20 12:37:22,712.712 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:37:22
[2026-10-20 12:37:23,294.294 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:37:23,562.562 INFO    ] Initializing speech engine...
[2026-10-20 12:37:23,570.570 INFO    ] 2026-10-20 12:37:23
[2026-10-20 12:37:23,816.816 INFO    ] 2026-10-20 12:37:23
[2026-10-20 12:37:23,857.857 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:37:24,105.105 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:37:24,110.110 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:37:24,308.308 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:37:24,358.358 INFO    ] time= 20/10/2026 12:37:24
[2026-10-20 12:37:24,373.373 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:37:24,389.389 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:37:24,520.520 INFO    ] No existing commands found in stream
[2026-10-20 12:37:29,533.533 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:37:29,536.536 INFO    ] Waiting 3.55 seconds before fallback handling...
[2026-10-20 12:37:33,575.575 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:37:33,577.577 INFO    ] Checking for system updates...
[2026-10-20 12:37:33,616.616 INFO    ] 200
[2026-10-20 12:37:33,619.619 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:37:33,672.672 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:37:33,674.674 INFO    ] No update needed
[2026-10-20 12:37:33,676.676 INFO    ] Checking for camera pi updates...
[2026-10-20 12:37:33,709.709 INFO    ] 200
[2026-10-20 12:37:33,711.711 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:37:33,755.755 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:37:33,801.801 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:37:33,804.804 INFO    ] No camera update needed
[2026-10-20 12:37:33,806.806 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:37:33,808.808 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:37:33,814.814 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:37:33,819.819 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:37:35,859.859 INFO    ] ================================================
[2026-10-20 12:37:35,874.874 INFO    ] Launching Daemon at Tue Oct 20 12:37:35 IST 2026
[2026-10-20 12:37:35,885.885 INFO    ] ================================================
[2026-10-20 12:37:36,485.485 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:37:36
[2026-10-20 12:37:37,083.083 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:37:37,362.362 INFO    ] Initializing speech engine...
[2026-10-20 12:37:37,371.371 INFO    ] 2026-10-20 12:37:37
[2026-10-20 12:37:37,634.634 INFO    ] 2026-10-20 12:37:37
[2026-10-20 12:37:37,687.687 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:37:37,934.934 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:37:37,942.942 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:37:38,135.135 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:37:38,176.176 INFO    ] time= 20/10/2026 12:37:38
[2026-10-20 12:37:38,183.183 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:37:38,197.197 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:37:38,327.327 INFO    ] No existing commands found in stream
[2026-10-20 12:37:43,342.342 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:37:43,345.345 INFO    ] Waiting 0.72 seconds before fallback handling...
[2026-10-20 12:37:44,552.552 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 12:37:44,555.555 INFO    ] Checking for system updates...
[2026-10-20 12:37:44,590.590 INFO    ] 200
[2026-10-20 12:37:44,592.592 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:37:44,645.645 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:37:44,647.647 INFO    ] No update needed
[2026-10-20 12:37:44,650.650 INFO    ] Checking for camera pi updates...
[2026-10-20 12:37:44,683.683 INFO    ] 200
[2026-10-20 12:37:44,685.685 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:37:44,725.725 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:37:44,870.870 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:37:44,872.872 INFO    ] No camera update needed
[2026-10-20 12:37:44,874.874 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:37:44,877.877 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:37:44,882.882 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:37:44,887.887 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:37:46,927.927 INFO    ] ================================================
[2026-10-20 12:37:46,942.942 INFO    ] Launching Daemon at Tue Oct 20 12:37:46 IST 2026
[2026-10-20 12:37:46,953.953 INFO    ] ================================================
[2026-10-20 12:37:47,519.519 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:37:47
[2026-10-20 12:37:48,104.104 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:37:48,351.351 INFO    ] Initializing speech engine...
[2026-10-20 12:37:48,365.365 INFO    ] 2026-10-20 12:37:48
[2026-10-20 12:37:48,632.632 INFO    ] 2026-10-20 12:37:48
[2026-10-20 12:37:48,666.666 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:37:48,863.863 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:37:48,908.908 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:37:49,105.105 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:37:49,155.155 INFO    ] time= 20/10/2026 12:37:49
[2026-10-20 12:37:49,200.200 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:37:49,206.206 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:37:49,349.349 INFO    ] No existing commands found in stream
[2026-10-20 12:37:54,366.366 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:37:54,369.369 INFO    ] Waiting 1.43 seconds before fallback handling...
[2026-10-20 12:37:56,306.306 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 12:37:56,309.309 INFO    ] Checking for system updates...
[2026-10-20 12:37:56,345.345 INFO    ] 200
[2026-10-20 12:37:56,347.347 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:37:56,402.402 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:37:56,405.405 INFO    ] No update needed
[2026-10-20 12:37:56,407.407 INFO    ] Checking for camera pi updates...
[2026-10-20 12:37:56,443.443 INFO    ] 200
[2026-10-20 12:37:56,445.445 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:37:56,487.487 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:37:56,533.533 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:37:56,535.535 INFO    ] No camera update needed
[2026-10-20 12:37:56,538.538 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:37:56,540.540 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:37:56,545.545 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:37:56,551.551 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:37:58,591.591 INFO    ] ================================================
[2026-10-20 12:37:58,606.606 INFO    ] Launching Daemon at Tue Oct 20 12:37:58 IST 2026
[2026-10-20 12:37:58,617.617 INFO    ] ================================================
[2026-10-20 12:37:59,197.197 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:37:59
[2026-10-20 12:37:59,792.792 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:38:00,065.065 INFO    ] Initializing speech engine...
[2026-10-20 12:38:00,076.076 INFO    ] 2026-10-20 12:38:00
[2026-10-20 12:38:00,337.337 INFO    ] 2026-10-20 12:38:00
[2026-10-20 12:38:00,375.375 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:38:00,659.659 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:38:00,669.669 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:38:00,819.819 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:38:00,889.889 INFO    ] time= 20/10/2026 12:38:00
[2026-10-20 12:38:00,944.944 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:38:00,964.964 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:38:01,132.132 INFO    ] No existing commands found in stream
[2026-10-20 12:38:06,141.141 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:38:06,144.144 INFO    ] Waiting 0.52 seconds before fallback handling...
[2026-10-20 12:38:07,185.185 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:38:07,188.188 INFO    ] Checking for system updates...
[2026-10-20 12:38:07,224.224 INFO    ] 200
[2026-10-20 12:38:07,226.226 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:38:07,285.285 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:38:07,287.287 INFO    ] No update needed
[2026-10-20 12:38:07,291.291 INFO    ] Checking for camera pi updates...
[2026-10-20 12:38:07,325.325 INFO    ] 200
[2026-10-20 12:38:07,327.327 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:38:07,373.373 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:38:07,424.424 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:38:07,426.426 INFO    ] No camera update needed
[2026-10-20 12:38:07,428.428 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:38:07,431.431 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:38:07,436.436 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:38:07,441.441 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:38:09,481.481 INFO    ] ================================================
[2026-10-20 12:38:09,497.497 INFO    ] Launching Daemon at Tue Oct 20 12:38:09 IST 2026
[2026-10-20 12:38:09,507.507 INFO    ] ================================================
[2026-10-20 12:38:10,071.071 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:38:10
[2026-10-20 12:38:10,653.653 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:38:10,904.904 INFO    ] Initializing speech engine...
[2026-10-20 12:38:10,911.911 INFO    ] 2026-10-20 12:38:10
[2026-10-20 12:38:11,210.210 INFO    ] 2026-10-20 12:38:11
[2026-10-20 12:38:11,247.247 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:38:11,447.447 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:38:11,453.453 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:38:11,607.607 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:38:11,629.629 INFO    ] time= 20/10/2026 12:38:11
[2026-10-20 12:38:11,637.637 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:38:11,644.644 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:38:11,780.780 INFO    ] No existing commands found in stream
[2026-10-20 12:38:16,805.805 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:38:16,807.807 INFO    ] Waiting 1.03 seconds before fallback handling...
[2026-10-20 12:38:18,363.363 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:38:18,366.366 INFO    ] Checking for system updates...
[2026-10-20 12:38:18,401.401 INFO    ] 200
[2026-10-20 12:38:18,403.403 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:38:18,454.454 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:38:18,457.457 INFO    ] No update needed
[2026-10-20 12:38:18,459.459 INFO    ] Checking for camera pi updates...
[2026-10-20 12:38:18,493.493 INFO    ] 200
[2026-10-20 12:38:18,495.495 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:38:18,537.537 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:38:18,585.585 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:38:18,587.587 INFO    ] No camera update needed
[2026-10-20 12:38:18,590.590 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:38:18,592.592 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:38:18,597.597 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:38:18,602.602 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:38:20,641.641 INFO    ] ================================================
[2026-10-20 12:38:20,656.656 INFO    ] Launching Daemon at Tue Oct 20 12:38:20 IST 2026
[2026-10-20 12:38:20,667.667 INFO    ] ================================================
[2026-10-20 12:38:21,323.323 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:38:21
[2026-10-20 12:38:21,997.997 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:38:22,293.293 INFO    ] Initializing speech engine...
[2026-10-20 12:38:22,300.300 INFO    ] 2026-10-20 12:38:22
[2026-10-20 12:38:22,573.573 INFO    ] 2026-10-20 12:38:22
[2026-10-20 12:38:22,615.615 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:38:22,898.898 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:38:22,904.904 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:38:23,100.100 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:38:23,117.117 INFO    ] time= 20/10/2026 12:38:23
[2026-10-20 12:38:23,136.136 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:38:23,152.152 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:38:23,262.262 INFO    ] No existing commands found in stream
[2026-10-20 12:38:28,291.291 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:38:28,294.294 INFO    ] Waiting 2.23 seconds before fallback handling...
[2026-10-20 12:38:31,062.062 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:38:31,065.065 INFO    ] Checking for system updates...
[2026-10-20 12:38:31,100.100 INFO    ] 200
[2026-10-20 12:38:31,103.103 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:38:31,162.162 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:38:31,165.165 INFO    ] No update needed
[2026-10-20 12:38:31,168.168 INFO    ] Checking for camera pi updates...
[2026-10-20 12:38:31,207.207 INFO    ] 200
[2026-10-20 12:38:31,211.211 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:38:31,256.256 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:38:31,316.316 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:38:31,319.319 INFO    ] No camera update needed
[2026-10-20 12:38:31,322.322 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:38:31,325.325 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:38:31,331.331 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:38:31,337.337 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:38:33,378.378 INFO    ] ================================================
[2026-10-20 12:38:33,393.393 INFO    ] Launching Daemon at Tue Oct 20 12:38:33 IST 2026
[2026-10-20 12:38:33,404.404 INFO    ] ================================================
[2026-10-20 12:38:33,973.973 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:38:33
[2026-10-20 12:38:34,557.557 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:38:34,827.827 INFO    ] Initializing speech engine...
[2026-10-20 12:38:34,840.840 INFO    ] 2026-10-20 12:38:34
[2026-10-20 12:38:35,107.107 INFO    ] 2026-10-20 12:38:35
[2026-10-20 12:38:35,144.144 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:38:35,409.409 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:38:35,416.416 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:38:35,635.635 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:38:35,685.685 INFO    ] time= 20/10/2026 12:38:35
[2026-10-20 12:38:35,691.691 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:38:35,709.709 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:38:35,871.871 INFO    ] No existing commands found in stream
[2026-10-20 12:38:40,902.902 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:38:40,905.905 INFO    ] Waiting 0.33 seconds before fallback handling...
[2026-10-20 12:38:41,757.757 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 12:38:41,760.760 INFO    ] Checking for system updates...
[2026-10-20 12:38:41,799.799 INFO    ] 200
[2026-10-20 12:38:41,801.801 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:38:41,853.853 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:38:41,855.855 INFO    ] No update needed
[2026-10-20 12:38:41,857.857 INFO    ] Checking for camera pi updates...
[2026-10-20 12:38:41,894.894 INFO    ] 200
[2026-10-20 12:38:41,896.896 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:38:41,941.941 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:38:41,986.986 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:38:41,989.989 INFO    ] No camera update needed
[2026-10-20 12:38:41,991.991 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:38:41,994.994 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:38:41,999.999 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:38:42,004.004 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:38:44,044.044 INFO    ] ================================================
[2026-10-20 12:38:44,059.059 INFO    ] Launching Daemon at Tue Oct 20 12:38:44 IST 2026
[2026-10-20 12:38:44,071.071 INFO    ] ================================================
[2026-10-20 12:38:44,720.720 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:38:44
[2026-10-20 12:38:45,387.387 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:38:45,686.686 INFO    ] Initializing speech engine...
[2026-10-20 12:38:45,692.692 INFO    ] 2026-10-20 12:38:45
[2026-10-20 12:38:45,979.979 INFO    ] 2026-10-20 12:38:45
[2026-10-20 12:38:46,023.023 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:38:46,307.307 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:38:46,313.313 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:38:46,507.507 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:38:46,526.526 INFO    ] time= 20/10/2026 12:38:46
[2026-10-20 12:38:46,557.557 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:38:46,565.565 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:38:46,668.668 INFO    ] No existing commands found in stream
[2026-10-20 12:38:51,689.689 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:38:51,692.692 INFO    ] Waiting 0.33 seconds before fallback handling...
[2026-10-20 12:38:52,563.563 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:38:52,566.566 INFO    ] Checking for system updates...
[2026-10-20 12:38:52,603.603 INFO    ] 200
[2026-10-20 12:38:52,606.606 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:38:52,658.658 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:38:52,661.661 INFO    ] No update needed
[2026-10-20 12:38:52,664.664 INFO    ] Checking for camera pi updates...
[2026-10-20 12:38:52,702.702 INFO    ] 200
[2026-10-20 12:38:52,705.705 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:38:52,748.748 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:38:52,795.795 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:38:52,798.798 INFO    ] No camera update needed
[2026-10-20 12:38:52,801.801 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:38:52,804.804 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:38:52,810.810 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:38:52,816.816 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:38:54,856.856 INFO    ] ================================================
[2026-10-20 12:38:54,871.871 INFO    ] Launching Daemon at Tue Oct 20 12:38:54 IST 2026
[2026-10-20 12:38:54,882.882 INFO    ] ================================================
[2026-10-20 12:38:55,530.530 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:38:55
[2026-10-20 12:38:56,197.197 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:38:56,502.502 INFO    ] Initializing speech engine...
[2026-10-20 12:38:56,509.509 INFO    ] 2026-10-20 12:38:56
[2026-10-20 12:38:56,801.801 INFO    ] 2026-10-20 12:38:56
[2026-10-20 12:38:56,910.910 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:38:57,122.122 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:38:57,132.132 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:38:57,322.322 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:38:57,347.347 INFO    ] time= 20/10/2026 12:38:57
[2026-10-20 12:38:57,357.357 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:38:57,385.385 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:38:57,515.515 INFO    ] No existing commands found in stream
[2026-10-20 12:39:02,541.541 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:39:02,546.546 INFO    ] Waiting 3.60 seconds before fallback handling...
[2026-10-20 12:39:06,670.670 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:39:06,673.673 INFO    ] Checking for system updates...
[2026-10-20 12:39:06,709.709 INFO    ] 200
[2026-10-20 12:39:06,712.712 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:39:06,766.766 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:39:06,769.769 INFO    ] No update needed
[2026-10-20 12:39:06,772.772 INFO    ] Checking for camera pi updates...
[2026-10-20 12:39:06,810.810 INFO    ] 200
[2026-10-20 12:39:06,813.813 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:39:06,855.855 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:39:06,907.907 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:39:06,910.910 INFO    ] No camera update needed
[2026-10-20 12:39:06,912.912 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:39:06,915.915 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:39:06,921.921 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:39:06,927.927 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:39:08,970.970 INFO    ] ================================================
[2026-10-20 12:39:08,985.985 INFO    ] Launching Daemon at Tue Oct 20 12:39:08 IST 2026
[2026-10-20 12:39:09,996.996 INFO    ] ================================================
[2026-10-20 12:39:09,580.580 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:39:09
[2026-10-20 12:39:10,179.179 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:39:10,457.457 INFO    ] Initializing speech engine...
[2026-10-20 12:39:10,462.462 INFO    ] 2026-10-20 12:39:10
[2026-10-20 12:39:10,709.709 INFO    ] 2026-10-20 12:39:10
[2026-10-20 12:39:10,745.745 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:39:10,997.997 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:39:11,007.007 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:39:11,232.232 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:39:11,266.266 INFO    ] time= 20/10/2026 12:39:11
[2026-10-20 12:39:11,284.284 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:39:11,293.293 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:39:11,441.441 INFO    ] No existing commands found in stream
[2026-10-20 12:39:16,459.459 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:39:16,462.462 INFO    ] Waiting 2.29 seconds before fallback handling...
[2026-10-20 12:39:19,309.309 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:39:19,313.313 INFO    ] Checking for system updates...
[2026-10-20 12:39:19,355.355 INFO    ] 200
[2026-10-20 12:39:19,363.363 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:39:19,416.416 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:39:19,419.419 INFO    ] No update needed
[2026-10-20 12:39:19,422.422 INFO    ] Checking for camera pi updates...
[2026-10-20 12:39:19,456.456 INFO    ] 200
[2026-10-20 12:39:19,458.458 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:39:19,501.501 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:39:19,552.552 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:39:19,555.555 INFO    ] No camera update needed
[2026-10-20 12:39:19,557.557 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:39:19,559.559 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:39:19,565.565 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:39:19,569.569 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:39:21,611.611 INFO    ] ================================================
[2026-10-20 12:39:21,626.626 INFO    ] Launching Daemon at Tue Oct 20 12:39:21 IST 2026
[2026-10-20 12:39:21,636.636 INFO    ] ================================================
[2026-10-20 12:39:22,217.217 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:39:22
[2026-10-20 12:39:22,817.817 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:39:23,085.085 INFO    ] Initializing speech engine...
[2026-10-20 12:39:23,093.093 INFO    ] 2026-10-20 12:39:23
[2026-10-20 12:39:23,347.347 INFO    ] 2026-10-20 12:39:23
[2026-10-20 12:39:23,381.381 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:39:23,577.577 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:39:23,639.639 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:39:23,862.862 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:39:23,905.905 INFO    ] time= 20/10/2026 12:39:23
[2026-10-20 12:39:23,911.911 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:39:23,929.929 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:39:24,062.062 INFO    ] No existing commands found in stream
[2026-10-20 12:39:29,084.084 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:39:29,086.086 INFO    ] Waiting 1.63 seconds before fallback handling...
[2026-10-20 12:39:31,174.174 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:39:31,177.177 INFO    ] Checking for system updates...
[2026-10-20 12:39:31,215.215 INFO    ] 200
[2026-10-20 12:39:31,218.218 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:39:31,275.275 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:39:31,278.278 INFO    ] No update needed
[2026-10-20 12:39:31,281.281 INFO    ] Checking for camera pi updates...
[2026-10-20 12:39:31,317.317 INFO    ] 200
[2026-10-20 12:39:31,320.320 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:39:31,363.363 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:39:31,395.395 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:39:31,398.398 INFO    ] No camera update needed
[2026-10-20 12:39:31,401.401 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:39:31,403.403 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:39:31,410.410 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:39:31,415.415 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:39:33,456.456 INFO    ] ================================================
[2026-10-20 12:39:33,471.471 INFO    ] Launching Daemon at Tue Oct 20 12:39:33 IST 2026
[2026-10-20 12:39:33,482.482 INFO    ] ================================================
[2026-10-20 12:39:34,134.134 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:39:34
[2026-10-20 12:39:34,717.717 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:39:34,988.988 INFO    ] Initializing speech engine...
[2026-10-20 12:39:34,997.997 INFO    ] 2026-10-20 12:39:34
[2026-10-20 12:39:35,254.254 INFO    ] 2026-10-20 12:39:35
[2026-10-20 12:39:35,307.307 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:39:35,532.532 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:39:35,536.536 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:39:35,773.773 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:39:35,794.794 INFO    ] time= 20/10/2026 12:39:35
[2026-10-20 12:39:35,809.809 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:39:35,816.816 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:39:35,944.944 INFO    ] No existing commands found in stream
[2026-10-20 12:39:40,957.957 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:39:40,960.960 INFO    ] Waiting 0.01 seconds before fallback handling...
[2026-10-20 12:39:41,455.455 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:39:41,458.458 INFO    ] Checking for system updates...
[2026-10-20 12:39:41,493.493 INFO    ] 200
[2026-10-20 12:39:41,497.497 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:39:41,570.570 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:39:41,573.573 INFO    ] No update needed
[2026-10-20 12:39:41,575.575 INFO    ] Checking for camera pi updates...
[2026-10-20 12:39:41,612.612 INFO    ] 200
[2026-10-20 12:39:41,614.614 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:39:41,654.654 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:39:41,699.699 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:39:41,702.702 INFO    ] No camera update needed
[2026-10-20 12:39:41,704.704 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:39:41,706.706 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:39:41,712.712 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:39:41,717.717 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:39:43,757.757 INFO    ] ================================================
[2026-10-20 12:39:43,772.772 INFO    ] Launching Daemon at Tue Oct 20 12:39:43 IST 2026
[2026-10-20 12:39:43,783.783 INFO    ] ================================================
[2026-10-20 12:39:44,349.349 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:39:44
[2026-10-20 12:39:44,931.931 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:39:45,203.203 INFO    ] Initializing speech engine...
[2026-10-20 12:39:45,211.211 INFO    ] 2026-10-20 12:39:45
[2026-10-20 12:39:45,462.462 INFO    ] 2026-10-20 12:39:45
[2026-10-20 12:39:45,497.497 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:39:45,695.695 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:39:45,735.735 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:39:45,903.903 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:39:45,963.963 INFO    ] time= 20/10/2026 12:39:45
[2026-10-20 12:39:46,012.012 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:39:46,039.039 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:39:46,168.168 INFO    ] No existing commands found in stream
[2026-10-20 12:39:51,194.194 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:39:51,196.196 INFO    ] Waiting 0.23 seconds before fallback handling...
[2026-10-20 12:39:51,939.939 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 12:39:51,942.942 INFO    ] Checking for system updates...
[2026-10-20 12:39:51,990.990 INFO    ] 200
[2026-10-20 12:39:51,993.993 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:39:52,052.052 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:39:52,054.054 INFO    ] No update needed
[2026-10-20 12:39:52,057.057 INFO    ] Checking for camera pi updates...
[2026-10-20 12:39:52,099.099 INFO    ] 200
[2026-10-20 12:39:52,102.102 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:39:52,143.143 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:39:52,291.291 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:39:52,293.293 INFO    ] No camera update needed
[2026-10-20 12:39:52,296.296 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:39:52,299.299 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:39:52,305.305 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:39:52,311.311 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:39:54,352.352 INFO    ] ================================================
[2026-10-20 12:39:54,371.371 INFO    ] Launching Daemon at Tue Oct 20 12:39:54 IST 2026
[2026-10-20 12:39:54,381.381 INFO    ] ================================================
[2026-10-20 12:39:54,947.947 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:39:54
[2026-10-20 12:39:55,528.528 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:39:55,784.784 INFO    ] Initializing speech engine...
[2026-10-20 12:39:55,803.803 INFO    ] 2026-10-20 12:39:55
[2026-10-20 12:39:56,050.050 INFO    ] 2026-10-20 12:39:56
[2026-10-20 12:39:56,084.084 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:39:56,280.280 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:39:56,335.335 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:39:56,474.474 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:39:56,501.501 INFO    ] time= 20/10/2026 12:39:56
[2026-10-20 12:39:56,555.555 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:39:56,599.599 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:39:56,725.725 INFO    ] No existing commands found in stream
[2026-10-20 12:40:01,755.755 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:40:01,758.758 INFO    ] Waiting 3.06 seconds before fallback handling...
[2026-10-20 12:40:08,599.599 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:40:08,602.602 INFO    ] Checking for system updates...
[2026-10-20 12:40:08,640.640 INFO    ] 200
[2026-10-20 12:40:08,642.642 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:40:08,704.704 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:40:08,707.707 INFO    ] No update needed
[2026-10-20 12:40:08,710.710 INFO    ] Checking for camera pi updates...
[2026-10-20 12:40:08,744.744 INFO    ] 200
[2026-10-20 12:40:08,747.747 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:40:08,795.795 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:40:08,842.842 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:40:08,845.845 INFO    ] No camera update needed
[2026-10-20 12:40:08,848.848 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:40:08,850.850 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:40:08,857.857 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:40:08,863.863 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:40:10,905.905 INFO    ] ================================================
[2026-10-20 12:40:10,921.921 INFO    ] Launching Daemon at Tue Oct 20 12:40:10 IST 2026
[2026-10-20 12:40:10,931.931 INFO    ] ================================================
[2026-10-20 12:40:11,615.615 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:40:11
[2026-10-20 12:40:12,317.317 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:40:12,632.632 INFO    ] Initializing speech engine...
[2026-10-20 12:40:12,646.646 INFO    ] 2026-10-20 12:40:12
[2026-10-20 12:40:12,930.930 INFO    ] 2026-10-20 12:40:12
[2026-10-20 12:40:12,976.976 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:40:13,223.223 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:40:13,231.231 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:40:13,450.450 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:40:13,473.473 INFO    ] time= 20/10/2026 12:40:13
[2026-10-20 12:40:13,495.495 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:40:13,523.523 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:40:13,646.646 INFO    ] No existing commands found in stream
[2026-10-20 12:40:18,679.679 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:40:18,683.683 INFO    ] Waiting 1.55 seconds before fallback handling...
[2026-10-20 12:40:20,722.722 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:40:20,725.725 INFO    ] Checking for system updates...
[2026-10-20 12:40:20,762.762 INFO    ] 200
[2026-10-20 12:40:20,765.765 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:40:20,827.827 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:40:20,830.830 INFO    ] No update needed
[2026-10-20 12:40:20,833.833 INFO    ] Checking for camera pi updates...
[2026-10-20 12:40:20,873.873 INFO    ] 200
[2026-10-20 12:40:20,875.875 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:40:20,920.920 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:40:20,967.967 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:40:20,970.970 INFO    ] No camera update needed
[2026-10-20 12:40:20,973.973 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:40:20,976.976 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:40:20,982.982 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:40:20,988.988 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:40:23,032.032 INFO    ] ================================================
[2026-10-20 12:40:23,047.047 INFO    ] Launching Daemon at Tue Oct 20 12:40:23 IST 2026
[2026-10-20 12:40:23,058.058 INFO    ] ================================================
[2026-10-20 12:40:23,625.625 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:40:23
[2026-10-20 12:40:24,210.210 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:40:24,467.467 INFO    ] Initializing speech engine...
[2026-10-20 12:40:24,476.476 INFO    ] 2026-10-20 12:40:24
[2026-10-20 12:40:24,774.774 INFO    ] 2026-10-20 12:40:24
[2026-10-20 12:40:24,809.809 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:40:25,015.015 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:40:25,031.031 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:40:25,200.200 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:40:25,206.206 INFO    ] time= 20/10/2026 12:40:25
[2026-10-20 12:40:25,212.212 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:40:25,218.218 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:40:25,372.372 INFO    ] No existing commands found in stream
[2026-10-20 12:40:30,398.398 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:40:30,401.401 INFO    ] Waiting 2.27 seconds before fallback handling...
[2026-10-20 12:40:33,135.135 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:40:33,138.138 INFO    ] Checking for system updates...
[2026-10-20 12:40:33,176.176 INFO    ] 200
[2026-10-20 12:40:33,178.178 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:40:33,240.240 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:40:33,242.242 INFO    ] No update needed
[2026-10-20 12:40:33,245.245 INFO    ] Checking for camera pi updates...
[2026-10-20 12:40:33,284.284 INFO    ] 200
[2026-10-20 12:40:33,287.287 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:40:33,333.333 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:40:33,365.365 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:40:33,367.367 INFO    ] No camera update needed
[2026-10-20 12:40:33,370.370 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:40:33,373.373 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:40:33,380.380 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:40:33,386.386 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:40:35,427.427 INFO    ] ================================================
[2026-10-20 12:40:35,444.444 INFO    ] Launching Daemon at Tue Oct 20 12:40:35 IST 2026
[2026-10-20 12:40:35,454.454 INFO    ] ================================================
[2026-10-20 12:40:36,028.028 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:40:36
[2026-10-20 12:40:36,618.618 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:40:36,874.874 INFO    ] Initializing speech engine...
[2026-10-20 12:40:36,896.896 INFO    ] 2026-10-20 12:40:36
[2026-10-20 12:40:37,154.154 INFO    ] 2026-10-20 12:40:37
[2026-10-20 12:40:37,190.190 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:40:37,392.392 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:40:37,422.422 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:40:37,596.596 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:40:37,641.641 INFO    ] time= 20/10/2026 12:40:37
[2026-10-20 12:40:37,700.700 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:40:37,731.731 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:40:37,861.861 INFO    ] No existing commands found in stream
[2026-10-20 12:40:42,889.889 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:40:42,892.892 INFO    ] Waiting 2.06 seconds before fallback handling...
[2026-10-20 12:40:45,437.437 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:40:45,439.439 INFO    ] Checking for system updates...
[2026-10-20 12:40:45,475.475 INFO    ] 200
[2026-10-20 12:40:45,478.478 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:40:45,530.530 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:40:45,533.533 INFO    ] No update needed
[2026-10-20 12:40:45,535.535 INFO    ] Checking for camera pi updates...
[2026-10-20 12:40:45,569.569 INFO    ] 200
[2026-10-20 12:40:45,572.572 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:40:45,612.612 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:40:45,661.661 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:40:45,663.663 INFO    ] No camera update needed
[2026-10-20 12:40:45,666.666 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:40:45,668.668 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:40:45,674.674 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:40:45,679.679 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:40:47,721.721 INFO    ] ================================================
[2026-10-20 12:40:47,737.737 INFO    ] Launching Daemon at Tue Oct 20 12:40:47 IST 2026
[2026-10-20 12:40:47,748.748 INFO    ] ================================================
[2026-10-20 12:40:48,319.319 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:40:48
[2026-10-20 12:40:48,904.904 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:40:49,163.163 INFO    ] Initializing speech engine...
[2026-10-20 12:40:49,169.169 INFO    ] 2026-10-20 12:40:49
[2026-10-20 12:40:49,465.465 INFO    ] 2026-10-20 12:40:49
[2026-10-20 12:40:49,503.503 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:40:49,704.704 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:40:49,712.712 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:40:49,887.887 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:40:49,895.895 INFO    ] time= 20/10/2026 12:40:49
[2026-10-20 12:40:49,900.900 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:40:49,906.906 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:40:49,989.989 INFO    ] No existing commands found in stream
[2026-10-20 12:40:55,024.024 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:40:55,027.027 INFO    ] Waiting 3.06 seconds before fallback handling...
[2026-10-20 12:40:58,564.564 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:40:58,566.566 INFO    ] Checking for system updates...
[2026-10-20 12:40:58,602.602 INFO    ] 200
[2026-10-20 12:40:58,604.604 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:40:58,655.655 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:40:58,658.658 INFO    ] No update needed
[2026-10-20 12:40:58,661.661 INFO    ] Checking for camera pi updates...
[2026-10-20 12:40:58,694.694 INFO    ] 200
[2026-10-20 12:40:58,697.697 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:40:58,736.736 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:40:58,787.787 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:40:58,790.790 INFO    ] No camera update needed
[2026-10-20 12:40:58,792.792 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:40:58,794.794 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:40:58,799.799 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:40:58,804.804 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:41:00,845.845 INFO    ] ================================================
[2026-10-20 12:41:00,862.862 INFO    ] Launching Daemon at Tue Oct 20 12:41:00 IST 2026
[2026-10-20 12:41:00,873.873 INFO    ] ================================================
[2026-10-20 12:41:01,546.546 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:41:01
[2026-10-20 12:41:02,205.205 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:41:02,509.509 INFO    ] Initializing speech engine...
[2026-10-20 12:41:02,518.518 INFO    ] 2026-10-20 12:41:02
[2026-10-20 12:41:02,811.811 INFO    ] 2026-10-20 12:41:02
[2026-10-20 12:41:02,886.886 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:41:03,127.127 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:41:03,144.144 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:41:03,322.322 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:41:03,370.370 INFO    ] time= 20/10/2026 12:41:03
[2026-10-20 12:41:03,434.434 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:41:03,441.441 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:41:03,585.585 INFO    ] No existing commands found in stream
[2026-10-20 12:41:08,602.602 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:41:08,605.605 INFO    ] Waiting 0.67 seconds before fallback handling...
[2026-10-20 12:41:09,797.797 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:41:09,800.800 INFO    ] Checking for system updates...
[2026-10-20 12:41:09,837.837 INFO    ] 200
[2026-10-20 12:41:09,840.840 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:41:09,893.893 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:41:09,896.896 INFO    ] No update needed
[2026-10-20 12:41:09,899.899 INFO    ] Checking for camera pi updates...
[2026-10-20 12:41:09,934.934 INFO    ] 200
[2026-10-20 12:41:09,937.937 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:41:09,978.978 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:41:10,028.028 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:41:10,031.031 INFO    ] No camera update needed
[2026-10-20 12:41:10,034.034 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:41:10,036.036 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:41:10,043.043 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:41:10,049.049 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:41:12,089.089 INFO    ] ================================================
[2026-10-20 12:41:12,105.105 INFO    ] Launching Daemon at Tue Oct 20 12:41:12 IST 2026
[2026-10-20 12:41:12,117.117 INFO    ] ================================================
[2026-10-20 12:41:12,699.699 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:41:12
[2026-10-20 12:41:13,290.290 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:41:13,536.536 INFO    ] Initializing speech engine...
[2026-10-20 12:41:13,544.544 INFO    ] 2026-10-20 12:41:13
[2026-10-20 12:41:13,823.823 INFO    ] 2026-10-20 12:41:13
[2026-10-20 12:41:13,859.859 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:41:14,112.112 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:41:14,121.121 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:41:14,321.321 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:41:14,380.380 INFO    ] time= 20/10/2026 12:41:14
[2026-10-20 12:41:14,389.389 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:41:14,407.407 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:41:14,560.560 INFO    ] No existing commands found in stream
[2026-10-20 12:41:19,590.590 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:41:19,593.593 INFO    ] Waiting 0.51 seconds before fallback handling...
[2026-10-20 12:41:20,617.617 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:41:20,620.620 INFO    ] Checking for system updates...
[2026-10-20 12:41:20,655.655 INFO    ] 200
[2026-10-20 12:41:20,658.658 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:41:20,709.709 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:41:20,712.712 INFO    ] No update needed
[2026-10-20 12:41:20,715.715 INFO    ] Checking for camera pi updates...
[2026-10-20 12:41:20,748.748 INFO    ] 200
[2026-10-20 12:41:20,750.750 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:41:20,790.790 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:41:20,833.833 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:41:20,836.836 INFO    ] No camera update needed
[2026-10-20 12:41:20,838.838 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:41:20,840.840 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:41:20,846.846 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:41:20,851.851 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:41:22,891.891 INFO    ] ================================================
[2026-10-20 12:41:22,907.907 INFO    ] Launching Daemon at Tue Oct 20 12:41:22 IST 2026
[2026-10-20 12:41:22,918.918 INFO    ] ================================================
[2026-10-20 12:41:23,487.487 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:41:23
[2026-10-20 12:41:24,073.073 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:41:24,320.320 INFO    ] Initializing speech engine...
[2026-10-20 12:41:24,339.339 INFO    ] 2026-10-20 12:41:24
[2026-10-20 12:41:24,595.595 INFO    ] 2026-10-20 12:41:24
[2026-10-20 12:41:24,630.630 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:41:24,885.885 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:41:24,890.890 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:41:25,030.030 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:41:25,089.089 INFO    ] time= 20/10/2026 12:41:25
[2026-10-20 12:41:25,149.149 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:41:25,158.158 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:41:25,301.301 INFO    ] No existing commands found in stream
[2026-10-20 12:41:30,315.315 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:41:30,317.317 INFO    ] Waiting 2.88 seconds before fallback handling...
[2026-10-20 12:41:33,730.730 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:41:33,732.732 INFO    ] Checking for system updates...
[2026-10-20 12:41:33,767.767 INFO    ] 200
[2026-10-20 12:41:33,770.770 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:41:33,821.821 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:41:33,823.823 INFO    ] No update needed
[2026-10-20 12:41:33,826.826 INFO    ] Checking for camera pi updates...
[2026-10-20 12:41:33,859.859 INFO    ] 200
[2026-10-20 12:41:33,861.861 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:41:33,902.902 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:41:33,951.951 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:41:33,953.953 INFO    ] No camera update needed
[2026-10-20 12:41:33,956.956 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:41:33,958.958 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:41:33,963.963 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:41:33,968.968 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:41:36,009.009 INFO    ] ================================================
[2026-10-20 12:41:36,025.025 INFO    ] Launching Daemon at Tue Oct 20 12:41:36 IST 2026
[2026-10-20 12:41:36,036.036 INFO    ] ================================================
[2026-10-20 12:41:36,702.702 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:41:36
[2026-10-20 12:41:37,384.384 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:41:37,695.695 INFO    ] Initializing speech engine...
[2026-10-20 12:41:37,707.707 INFO    ] 2026-10-20 12:41:37
[2026-10-20 12:41:38,019.019 INFO    ] 2026-10-20 12:41:37
[2026-10-20 12:41:38,104.104 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:41:38,318.318 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:41:38,328.328 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:41:38,520.520 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:41:38,543.543 INFO    ] time= 20/10/2026 12:41:38
[2026-10-20 12:41:38,571.571 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:41:38,582.582 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:41:38,704.704 INFO    ] No existing commands found in stream
[2026-10-20 12:41:43,735.735 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:41:43,738.738 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-10-20 12:41:46,599.599 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:41:46,602.602 INFO    ] Checking for system updates...
[2026-10-20 12:41:46,640.640 INFO    ] 200
[2026-10-20 12:41:46,643.643 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:41:46,697.697 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:41:46,700.700 INFO    ] No update needed
[2026-10-20 12:41:46,703.703 INFO    ] Checking for camera pi updates...
[2026-10-20 12:41:46,737.737 INFO    ] 200
[2026-10-20 12:41:46,741.741 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:41:46,782.782 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:41:46,829.829 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:41:46,831.831 INFO    ] No camera update needed
[2026-10-20 12:41:46,834.834 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:41:46,836.836 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:41:46,842.842 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:41:46,846.846 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:41:48,886.886 INFO    ] ================================================
[2026-10-20 12:41:48,902.902 INFO    ] Launching Daemon at Tue Oct 20 12:41:48 IST 2026
[2026-10-20 12:41:48,914.914 INFO    ] ================================================
[2026-10-20 12:41:49,480.480 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:41:49
[2026-10-20 12:41:50,064.064 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:41:50,316.316 INFO    ] Initializing speech engine...
[2026-10-20 12:41:50,327.327 INFO    ] 2026-10-20 12:41:50
[2026-10-20 12:41:50,625.625 INFO    ] 2026-10-20 12:41:50
[2026-10-20 12:41:50,664.664 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:41:50,892.892 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:41:50,900.900 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:41:51,127.127 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:41:51,134.134 INFO    ] time= 20/10/2026 12:41:51
[2026-10-20 12:41:51,152.152 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:41:51,217.217 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:41:51,308.308 INFO    ] No existing commands found in stream
[2026-10-20 12:41:56,321.321 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:41:56,324.324 INFO    ] Waiting 1.25 seconds before fallback handling...
[2026-10-20 12:41:58,091.091 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:41:58,094.094 INFO    ] Checking for system updates...
[2026-10-20 12:41:58,130.130 INFO    ] 200
[2026-10-20 12:41:58,132.132 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:41:58,192.192 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:41:58,194.194 INFO    ] No update needed
[2026-10-20 12:41:58,196.196 INFO    ] Checking for camera pi updates...
[2026-10-20 12:41:58,234.234 INFO    ] 200
[2026-10-20 12:41:58,237.237 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:41:58,277.277 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:41:58,421.421 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:41:58,424.424 INFO    ] No camera update needed
[2026-10-20 12:41:58,426.426 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:41:58,428.428 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:41:58,434.434 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:41:58,439.439 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:42:00,482.482 INFO    ] ================================================
[2026-10-20 12:42:00,497.497 INFO    ] Launching Daemon at Tue Oct 20 12:42:00 IST 2026
[2026-10-20 12:42:00,508.508 INFO    ] ================================================
[2026-10-20 12:42:01,173.173 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:42:01
[2026-10-20 12:42:01,932.932 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:42:02,250.250 INFO    ] Initializing speech engine...
[2026-10-20 12:42:02,276.276 INFO    ] 2026-10-20 12:42:02
[2026-10-20 12:42:02,634.634 INFO    ] 2026-10-20 12:42:02
[2026-10-20 12:42:02,726.726 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:42:02,948.948 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:42:02,981.981 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:42:03,188.188 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:42:03,206.206 INFO    ] time= 20/10/2026 12:42:03
[2026-10-20 12:42:03,229.229 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:42:03,258.258 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:42:03,370.370 INFO    ] No existing commands found in stream
[2026-10-20 12:42:08,409.409 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:42:08,412.412 INFO    ] Waiting 2.95 seconds before fallback handling...
[2026-10-20 12:42:11,932.932 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 12:42:11,935.935 INFO    ] Checking for system updates...
[2026-10-20 12:42:11,971.971 INFO    ] 200
[2026-10-20 12:42:11,974.974 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:42:12,025.025 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:42:12,027.027 INFO    ] No update needed
[2026-10-20 12:42:12,030.030 INFO    ] Checking for camera pi updates...
[2026-10-20 12:42:12,064.064 INFO    ] 200
[2026-10-20 12:42:12,067.067 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:42:12,111.111 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:42:12,153.153 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:42:12,155.155 INFO    ] No camera update needed
[2026-10-20 12:42:12,160.160 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:42:12,163.163 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:42:12,168.168 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:42:12,180.180 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:42:14,221.221 INFO    ] ================================================
[2026-10-20 12:42:14,236.236 INFO    ] Launching Daemon at Tue Oct 20 12:42:14 IST 2026
[2026-10-20 12:42:14,248.248 INFO    ] ================================================
[2026-10-20 12:42:14,822.822 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:42:14
[2026-10-20 12:42:15,403.403 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:42:15,674.674 INFO    ] Initializing speech engine...
[2026-10-20 12:42:15,683.683 INFO    ] 2026-10-20 12:42:15
[2026-10-20 12:42:15,932.932 INFO    ] 2026-10-20 12:42:15
[2026-10-20 12:42:15,973.973 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:42:16,227.227 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:42:16,232.232 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:42:16,418.418 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:42:16,472.472 INFO    ] time= 20/10/2026 12:42:16
[2026-10-20 12:42:16,500.500 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:42:16,506.506 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:42:16,679.679 INFO    ] No existing commands found in stream
[2026-10-20 12:42:21,715.715 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:42:21,718.718 INFO    ] Waiting 3.49 seconds before fallback handling...
[2026-10-20 12:42:25,727.727 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:42:25,730.730 INFO    ] Checking for system updates...
[2026-10-20 12:42:25,772.772 INFO    ] 200
[2026-10-20 12:42:25,774.774 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:42:25,836.836 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:42:25,839.839 INFO    ] No update needed
[2026-10-20 12:42:25,841.841 INFO    ] Checking for camera pi updates...
[2026-10-20 12:42:25,875.875 INFO    ] 200
[2026-10-20 12:42:25,878.878 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:42:25,922.922 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:42:25,980.980 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:42:25,983.983 INFO    ] No camera update needed
[2026-10-20 12:42:25,985.985 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:42:25,987.987 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:42:25,992.992 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:42:25,997.997 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:42:28,036.036 INFO    ] ================================================
[2026-10-20 12:42:28,052.052 INFO    ] Launching Daemon at Tue Oct 20 12:42:28 IST 2026
[2026-10-20 12:42:28,063.063 INFO    ] ================================================
[2026-10-20 12:42:28,630.630 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:42:28
[2026-10-20 12:42:29,214.214 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:42:29,480.480 INFO    ] Initializing speech engine...
[2026-10-20 12:42:29,492.492 INFO    ] 2026-10-20 12:42:29
[2026-10-20 12:42:29,757.757 INFO    ] 2026-10-20 12:42:29
[2026-10-20 12:42:29,811.811 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:42:30,057.057 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:42:30,064.064 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:42:30,256.256 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:42:30,299.299 INFO    ] time= 20/10/2026 12:42:30
[2026-10-20 12:42:30,305.305 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:42:30,323.323 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:42:30,476.476 INFO    ] No existing commands found in stream
[2026-10-20 12:42:35,502.502 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:42:35,504.504 INFO    ] Waiting 0.02 seconds before fallback handling...
[2026-10-20 12:42:36,014.014 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:42:36,017.017 INFO    ] Checking for system updates...
[2026-10-20 12:42:36,056.056 INFO    ] 200
[2026-10-20 12:42:36,059.059 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:42:36,119.119 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:42:36,122.122 INFO    ] No update needed
[2026-10-20 12:42:36,124.124 INFO    ] Checking for camera pi updates...
[2026-10-20 12:42:36,161.161 INFO    ] 200
[2026-10-20 12:42:36,163.163 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:42:36,202.202 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:42:36,258.258 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:42:36,261.261 INFO    ] No camera update needed
[2026-10-20 12:42:36,263.263 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:42:36,265.265 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:42:36,271.271 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:42:36,276.276 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:42:38,317.317 INFO    ] ================================================
[2026-10-20 12:42:38,332.332 INFO    ] Launching Daemon at Tue Oct 20 12:42:38 IST 2026
[2026-10-20 12:42:38,343.343 INFO    ] ================================================
[2026-10-20 12:42:38,954.954 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:42:38
[2026-10-20 12:42:39,537.537 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:42:39,806.806 INFO    ] Initializing speech engine...
[2026-10-20 12:42:39,815.815 INFO    ] 2026-10-20 12:42:39
[2026-10-20 12:42:40,066.066 INFO    ] 2026-10-20 12:42:40
[2026-10-20 12:42:40,102.102 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:42:40,350.350 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:42:40,354.354 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:42:40,567.567 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:42:40,611.611 INFO    ] time= 20/10/2026 12:42:40
[2026-10-20 12:42:40,617.617 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:42:40,634.634 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:42:40,764.764 INFO    ] No existing commands found in stream
[2026-10-20 12:42:45,778.778 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:42:45,781.781 INFO    ] Waiting 3.62 seconds before fallback handling...
[2026-10-20 12:42:49,946.946 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:42:49,948.948 INFO    ] Checking for system updates...
[2026-10-20 12:42:49,987.987 INFO    ] 200
[2026-10-20 12:42:49,990.990 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:42:50,043.043 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:42:50,045.045 INFO    ] No update needed
[2026-10-20 12:42:50,047.047 INFO    ] Checking for camera pi updates...
[2026-10-20 12:42:50,084.084 INFO    ] 200
[2026-10-20 12:42:50,086.086 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:42:50,125.125 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:42:50,177.177 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:42:50,180.180 INFO    ] No camera update needed
[2026-10-20 12:42:50,182.182 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:42:50,184.184 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:42:50,190.190 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:42:50,195.195 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:42:52,235.235 INFO    ] ================================================
[2026-10-20 12:42:52,251.251 INFO    ] Launching Daemon at Tue Oct 20 12:42:52 IST 2026
[2026-10-20 12:42:52,262.262 INFO    ] ================================================
[2026-10-20 12:42:52,911.911 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:42:52
[2026-10-20 12:42:53,574.574 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:42:53,869.869 INFO    ] Initializing speech engine...
[2026-10-20 12:42:53,880.880 INFO    ] 2026-10-20 12:42:53
[2026-10-20 12:42:54,153.153 INFO    ] 2026-10-20 12:42:54
[2026-10-20 12:42:54,210.210 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:42:54,459.459 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:42:54,466.466 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:42:54,686.686 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:42:54,704.704 INFO    ] time= 20/10/2026 12:42:54
[2026-10-20 12:42:54,723.723 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:42:54,752.752 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:42:54,874.874 INFO    ] No existing commands found in stream
[2026-10-20 12:42:59,910.910 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:42:59,913.913 INFO    ] Waiting 0.15 seconds before fallback handling...
[2026-10-20 12:43:00,570.570 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:43:00,572.572 INFO    ] Checking for system updates...
[2026-10-20 12:43:00,612.612 INFO    ] 200
[2026-10-20 12:43:00,615.615 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:43:00,667.667 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:43:00,670.670 INFO    ] No update needed
[2026-10-20 12:43:00,673.673 INFO    ] Checking for camera pi updates...
[2026-10-20 12:43:00,710.710 INFO    ] 200
[2026-10-20 12:43:00,713.713 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:43:00,755.755 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:43:00,802.802 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:43:00,804.804 INFO    ] No camera update needed
[2026-10-20 12:43:00,807.807 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:43:00,810.810 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:43:00,817.817 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:43:00,823.823 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:43:02,871.871 INFO    ] ================================================
[2026-10-20 12:43:02,890.890 INFO    ] Launching Daemon at Tue Oct 20 12:43:02 IST 2026
[2026-10-20 12:43:02,903.903 INFO    ] ================================================
[2026-10-20 12:43:03,610.610 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:43:03
[2026-10-20 12:43:04,262.262 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:43:04,560.560 INFO    ] Initializing speech engine...
[2026-10-20 12:43:04,568.568 INFO    ] 2026-10-20 12:43:04
[2026-10-20 12:43:04,883.883 INFO    ] 2026-10-20 12:43:04
[2026-10-20 12:43:04,965.965 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:43:05,174.174 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:43:05,182.182 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:43:05,379.379 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:43:05,386.386 INFO    ] time= 20/10/2026 12:43:05
[2026-10-20 12:43:05,406.406 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:43:05,433.433 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:43:05,580.580 INFO    ] No existing commands found in stream
[2026-10-20 12:43:10,605.605 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:43:10,608.608 INFO    ] Waiting 0.71 seconds before fallback handling...
[2026-10-20 12:43:11,900.900 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:43:11,903.903 INFO    ] Checking for system updates...
[2026-10-20 12:43:11,942.942 INFO    ] 200
[2026-10-20 12:43:11,945.945 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:43:12,002.002 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:43:12,005.005 INFO    ] No update needed
[2026-10-20 12:43:12,007.007 INFO    ] Checking for camera pi updates...
[2026-10-20 12:43:12,045.045 INFO    ] 200
[2026-10-20 12:43:12,048.048 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:43:12,093.093 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:43:12,141.141 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:43:12,144.144 INFO    ] No camera update needed
[2026-10-20 12:43:12,146.146 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:43:12,149.149 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:43:12,155.155 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:43:12,160.160 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:43:14,203.203 INFO    ] ================================================
[2026-10-20 12:43:14,219.219 INFO    ] Launching Daemon at Tue Oct 20 12:43:14 IST 2026
[2026-10-20 12:43:14,229.229 INFO    ] ================================================
[2026-10-20 12:43:14,861.861 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:43:14
[2026-10-20 12:43:15,515.515 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:43:15,811.811 INFO    ] Initializing speech engine...
[2026-10-20 12:43:15,819.819 INFO    ] 2026-10-20 12:43:15
[2026-10-20 12:43:16,086.086 INFO    ] 2026-10-20 12:43:16
[2026-10-20 12:43:16,141.141 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:43:16,396.396 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:43:16,415.415 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:43:16,632.632 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:43:16,640.640 INFO    ] time= 20/10/2026 12:43:16
[2026-10-20 12:43:16,659.659 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:43:16,686.686 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:43:16,795.795 INFO    ] No existing commands found in stream
[2026-10-20 12:43:21,817.817 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:43:21,820.820 INFO    ] Waiting 3.41 seconds before fallback handling...
[2026-10-20 12:43:25,769.769 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:43:25,772.772 INFO    ] Checking for system updates...
[2026-10-20 12:43:25,809.809 INFO    ] 200
[2026-10-20 12:43:25,812.812 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:43:25,869.869 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:43:25,871.871 INFO    ] No update needed
[2026-10-20 12:43:25,874.874 INFO    ] Checking for camera pi updates...
[2026-10-20 12:43:25,910.910 INFO    ] 200
[2026-10-20 12:43:25,912.912 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:43:25,952.952 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:43:25,999.999 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:43:26,002.002 INFO    ] No camera update needed
[2026-10-20 12:43:26,004.004 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:43:26,006.006 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:43:26,012.012 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:43:26,017.017 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:43:28,057.057 INFO    ] ================================================
[2026-10-20 12:43:28,071.071 INFO    ] Launching Daemon at Tue Oct 20 12:43:28 IST 2026
[2026-10-20 12:43:28,082.082 INFO    ] ================================================
[2026-10-20 12:43:28,649.649 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:43:28
[2026-10-20 12:43:29,234.234 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:43:29,510.510 INFO    ] Initializing speech engine...
[2026-10-20 12:43:29,523.523 INFO    ] 2026-10-20 12:43:29
[2026-10-20 12:43:29,786.786 INFO    ] 2026-10-20 12:43:29
[2026-10-20 12:43:29,825.825 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:43:30,038.038 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:43:30,045.045 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:43:30,196.196 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:43:30,263.263 INFO    ] time= 20/10/2026 12:43:30
[2026-10-20 12:43:30,269.269 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:43:30,324.324 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:43:30,413.413 INFO    ] No existing commands found in stream
[2026-10-20 12:43:35,435.435 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:43:35,438.438 INFO    ] Waiting 0.27 seconds before fallback handling...
[2026-10-20 12:43:36,242.242 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:43:36,245.245 INFO    ] Checking for system updates...
[2026-10-20 12:43:36,280.280 INFO    ] 200
[2026-10-20 12:43:36,282.282 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:43:36,333.333 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:43:36,335.335 INFO    ] No update needed
[2026-10-20 12:43:36,338.338 INFO    ] Checking for camera pi updates...
[2026-10-20 12:43:36,371.371 INFO    ] 200
[2026-10-20 12:43:36,373.373 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:43:36,417.417 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:43:36,462.462 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:43:36,464.464 INFO    ] No camera update needed
[2026-10-20 12:43:36,466.466 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:43:36,468.468 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:43:36,474.474 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:43:36,479.479 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:43:38,519.519 INFO    ] ================================================
[2026-10-20 12:43:38,535.535 INFO    ] Launching Daemon at Tue Oct 20 12:43:38 IST 2026
[2026-10-20 12:43:38,546.546 INFO    ] ================================================
[2026-10-20 12:43:39,113.113 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:43:39
[2026-10-20 12:43:39,699.699 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:43:39,972.972 INFO    ] Initializing speech engine...
[2026-10-20 12:43:39,981.981 INFO    ] 2026-10-20 12:43:39
[2026-10-20 12:43:40,230.230 INFO    ] 2026-10-20 12:43:40
[2026-10-20 12:43:40,265.265 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:43:40,523.523 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:43:40,532.532 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:43:40,733.733 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:43:40,797.797 INFO    ] time= 20/10/2026 12:43:40
[2026-10-20 12:43:40,804.804 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:43:40,823.823 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:43:40,951.951 INFO    ] No existing commands found in stream
[2026-10-20 12:43:45,969.969 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:43:45,972.972 INFO    ] Waiting 0.22 seconds before fallback handling...
[2026-10-20 12:43:46,706.706 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 12:43:46,708.708 INFO    ] Checking for system updates...
[2026-10-20 12:43:46,744.744 INFO    ] 200
[2026-10-20 12:43:46,746.746 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:43:46,803.803 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:43:46,805.805 INFO    ] No update needed
[2026-10-20 12:43:46,807.807 INFO    ] Checking for camera pi updates...
[2026-10-20 12:43:46,843.843 INFO    ] 200
[2026-10-20 12:43:46,845.845 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:43:46,885.885 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:43:46,941.941 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:43:46,944.944 INFO    ] No camera update needed
[2026-10-20 12:43:46,946.946 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:43:46,948.948 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:43:46,953.953 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:43:46,958.958 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:43:49,999.999 INFO    ] ================================================
[2026-10-20 12:43:49,014.014 INFO    ] Launching Daemon at Tue Oct 20 12:43:49 IST 2026
[2026-10-20 12:43:49,025.025 INFO    ] ================================================
[2026-10-20 12:43:49,655.655 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:43:49
[2026-10-20 12:43:50,305.305 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:43:50,602.602 INFO    ] Initializing speech engine...
[2026-10-20 12:43:50,615.615 INFO    ] 2026-10-20 12:43:50
[2026-10-20 12:43:50,893.893 INFO    ] 2026-10-20 12:43:50
[2026-10-20 12:43:50,936.936 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:43:51,163.163 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:43:51,185.185 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:43:51,414.414 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:43:51,429.429 INFO    ] time= 20/10/2026 12:43:51
[2026-10-20 12:43:51,450.450 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:43:51,477.477 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:43:51,647.647 INFO    ] No existing commands found in stream
[2026-10-20 12:43:56,673.673 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:43:56,676.676 INFO    ] Waiting 2.86 seconds before fallback handling...
[2026-10-20 12:44:00,086.086 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:44:00,090.090 INFO    ] Checking for system updates...
[2026-10-20 12:44:00,129.129 INFO    ] 200
[2026-10-20 12:44:00,132.132 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:44:00,191.191 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:44:00,194.194 INFO    ] No update needed
[2026-10-20 12:44:00,197.197 INFO    ] Checking for camera pi updates...
[2026-10-20 12:44:00,236.236 INFO    ] 200
[2026-10-20 12:44:00,239.239 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:44:00,286.286 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:44:00,430.430 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:44:00,432.432 INFO    ] No camera update needed
[2026-10-20 12:44:00,435.435 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:44:00,438.438 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:44:00,444.444 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:44:00,450.450 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:44:02,518.518 INFO    ] ================================================
[2026-10-20 12:44:02,535.535 INFO    ] Launching Daemon at Tue Oct 20 12:44:02 IST 2026
[2026-10-20 12:44:02,549.549 INFO    ] ================================================
[2026-10-20 12:44:03,266.266 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:44:03
[2026-10-20 12:44:03,910.910 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:44:04,195.195 INFO    ] Initializing speech engine...
[2026-10-20 12:44:04,206.206 INFO    ] 2026-10-20 12:44:04
[2026-10-20 12:44:04,475.475 INFO    ] 2026-10-20 12:44:04
[2026-10-20 12:44:04,529.529 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:44:04,756.756 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:44:04,762.762 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:44:04,973.973 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:44:05,020.020 INFO    ] time= 20/10/2026 12:44:04
[2026-10-20 12:44:05,026.026 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:44:05,047.047 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:44:05,175.175 INFO    ] No existing commands found in stream
[2026-10-20 12:44:10,190.190 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:44:10,193.193 INFO    ] Waiting 4.00 seconds before fallback handling...
[2026-10-20 12:44:14,709.709 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:44:14,711.711 INFO    ] Checking for system updates...
[2026-10-20 12:44:14,747.747 INFO    ] 200
[2026-10-20 12:44:14,750.750 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:44:14,802.802 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:44:14,805.805 INFO    ] No update needed
[2026-10-20 12:44:14,807.807 INFO    ] Checking for camera pi updates...
[2026-10-20 12:44:14,842.842 INFO    ] 200
[2026-10-20 12:44:14,845.845 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:44:14,884.884 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:44:14,933.933 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:44:14,935.935 INFO    ] No camera update needed
[2026-10-20 12:44:14,937.937 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:44:14,940.940 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:44:14,945.945 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:44:14,950.950 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:44:16,989.989 INFO    ] ================================================
[2026-10-20 12:44:17,006.006 INFO    ] Launching Daemon at Tue Oct 20 12:44:17 IST 2026
[2026-10-20 12:44:17,017.017 INFO    ] ================================================
[2026-10-20 12:44:17,597.597 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:44:17
[2026-10-20 12:44:18,196.196 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:44:18,474.474 INFO    ] Initializing speech engine...
[2026-10-20 12:44:18,480.480 INFO    ] 2026-10-20 12:44:18
[2026-10-20 12:44:18,740.740 INFO    ] 2026-10-20 12:44:18
[2026-10-20 12:44:18,771.771 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:44:19,021.021 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:44:19,028.028 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:44:19,242.242 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:44:19,284.284 INFO    ] time= 20/10/2026 12:44:19
[2026-10-20 12:44:19,290.290 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:44:19,308.308 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:44:19,436.436 INFO    ] No existing commands found in stream
[2026-10-20 12:44:24,451.451 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:44:24,454.454 INFO    ] Waiting 2.21 seconds before fallback handling...
[2026-10-20 12:44:27,718.718 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:44:27,721.721 INFO    ] Checking for system updates...
[2026-10-20 12:44:27,775.775 INFO    ] 200
[2026-10-20 12:44:27,778.778 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:44:27,835.835 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:44:27,838.838 INFO    ] No update needed
[2026-10-20 12:44:27,840.840 INFO    ] Checking for camera pi updates...
[2026-10-20 12:44:27,874.874 INFO    ] 200
[2026-10-20 12:44:27,876.876 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:44:27,917.917 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:44:27,972.972 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:44:27,975.975 INFO    ] No camera update needed
[2026-10-20 12:44:27,977.977 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:44:27,980.980 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:44:27,985.985 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:44:27,990.990 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:44:30,031.031 INFO    ] ================================================
[2026-10-20 12:44:30,046.046 INFO    ] Launching Daemon at Tue Oct 20 12:44:30 IST 2026
[2026-10-20 12:44:30,057.057 INFO    ] ================================================
[2026-10-20 12:44:30,639.639 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:44:30
[2026-10-20 12:44:31,238.238 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:44:31,511.511 INFO    ] Initializing speech engine...
[2026-10-20 12:44:31,528.528 INFO    ] 2026-10-20 12:44:31
[2026-10-20 12:44:31,826.826 INFO    ] 2026-10-20 12:44:31
[2026-10-20 12:44:31,866.866 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:44:32,070.070 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:44:32,085.085 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:44:32,257.257 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:44:32,267.267 INFO    ] time= 20/10/2026 12:44:32
[2026-10-20 12:44:32,275.275 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:44:32,331.331 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:44:32,472.472 INFO    ] No existing commands found in stream
[2026-10-20 12:44:37,492.492 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:44:37,495.495 INFO    ] Waiting 2.90 seconds before fallback handling...
[2026-10-20 12:44:40,902.902 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 12:44:40,904.904 INFO    ] Checking for system updates...
[2026-10-20 12:44:40,940.940 INFO    ] 200
[2026-10-20 12:44:40,942.942 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:44:40,993.993 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:44:40,996.996 INFO    ] No update needed
[2026-10-20 12:44:40,998.998 INFO    ] Checking for camera pi updates...
[2026-10-20 12:44:41,032.032 INFO    ] 200
[2026-10-20 12:44:41,034.034 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:44:41,079.079 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:44:41,135.135 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:44:41,137.137 INFO    ] No camera update needed
[2026-10-20 12:44:41,140.140 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:44:41,142.142 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:44:41,147.147 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:44:41,152.152 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:44:43,192.192 INFO    ] ================================================
[2026-10-20 12:44:43,207.207 INFO    ] Launching Daemon at Tue Oct 20 12:44:43 IST 2026
[2026-10-20 12:44:43,217.217 INFO    ] ================================================
[2026-10-20 12:44:43,797.797 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:44:43
[2026-10-20 12:44:44,399.399 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:44:44,659.659 INFO    ] Initializing speech engine...
[2026-10-20 12:44:44,673.673 INFO    ] 2026-10-20 12:44:44
[2026-10-20 12:44:44,956.956 INFO    ] 2026-10-20 12:44:44
[2026-10-20 12:44:44,994.994 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:44:45,207.207 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:44:45,217.217 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:44:45,356.356 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:44:45,365.365 INFO    ] time= 20/10/2026 12:44:45
[2026-10-20 12:44:45,372.372 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:44:45,420.420 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:44:45,555.555 INFO    ] No existing commands found in stream
[2026-10-20 12:44:50,585.585 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:44:50,588.588 INFO    ] Waiting 3.63 seconds before fallback handling...
[2026-10-20 12:44:54,722.722 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:44:54,725.725 INFO    ] Checking for system updates...
[2026-10-20 12:44:54,760.760 INFO    ] 200
[2026-10-20 12:44:54,762.762 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:44:54,820.820 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:44:54,823.823 INFO    ] No update needed
[2026-10-20 12:44:54,825.825 INFO    ] Checking for camera pi updates...
[2026-10-20 12:44:54,862.862 INFO    ] 200
[2026-10-20 12:44:54,865.865 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:44:54,909.909 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:44:54,963.963 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:44:54,965.965 INFO    ] No camera update needed
[2026-10-20 12:44:54,967.967 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:44:54,970.970 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:44:54,975.975 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:44:54,980.980 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:44:57,019.019 INFO    ] ================================================
[2026-10-20 12:44:57,035.035 INFO    ] Launching Daemon at Tue Oct 20 12:44:57 IST 2026
[2026-10-20 12:44:57,045.045 INFO    ] ================================================
[2026-10-20 12:44:57,612.612 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:44:57
[2026-10-20 12:44:58,209.209 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:44:58,466.466 INFO    ] Initializing speech engine...
[2026-10-20 12:44:58,474.474 INFO    ] 2026-10-20 12:44:58
[2026-10-20 12:44:58,767.767 INFO    ] 2026-10-20 12:44:58
[2026-10-20 12:44:58,803.803 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:44:59,026.026 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:44:59,085.085 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:44:59,246.246 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:44:59,289.289 INFO    ] time= 20/10/2026 12:44:59
[2026-10-20 12:44:59,348.348 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:44:59,394.394 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:44:59,551.551 INFO    ] No existing commands found in stream
[2026-10-20 12:45:04,569.569 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:45:04,572.572 INFO    ] Waiting 3.90 seconds before fallback handling...
[2026-10-20 12:45:09,024.024 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 12:45:09,026.026 INFO    ] Checking for system updates...
[2026-10-20 12:45:09,062.062 INFO    ] 200
[2026-10-20 12:45:09,065.065 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:45:09,116.116 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:45:09,119.119 INFO    ] No update needed
[2026-10-20 12:45:09,122.122 INFO    ] Checking for camera pi updates...
[2026-10-20 12:45:09,155.155 INFO    ] 200
[2026-10-20 12:45:09,158.158 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:45:09,198.198 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:45:09,256.256 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:45:09,259.259 INFO    ] No camera update needed
[2026-10-20 12:45:09,262.262 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:45:09,264.264 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:45:09,269.269 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:45:09,274.274 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:45:11,314.314 INFO    ] ================================================
[2026-10-20 12:45:11,329.329 INFO    ] Launching Daemon at Tue Oct 20 12:45:11 IST 2026
[2026-10-20 12:45:11,340.340 INFO    ] ================================================
[2026-10-20 12:45:11,920.920 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:45:11
[2026-10-20 12:45:12,519.519 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:45:12,792.792 INFO    ] Initializing speech engine...
[2026-10-20 12:45:12,802.802 INFO    ] 2026-10-20 12:45:12
[2026-10-20 12:45:13,055.055 INFO    ] 2026-10-20 12:45:13
[2026-10-20 12:45:13,090.090 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:45:13,304.304 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:45:13,326.326 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:45:13,522.522 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:45:13,555.555 INFO    ] time= 20/10/2026 12:45:13
[2026-10-20 12:45:13,596.596 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:45:13,599.599 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:45:13,721.721 INFO    ] No existing commands found in stream
[2026-10-20 12:45:18,733.733 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:45:18,736.736 INFO    ] Waiting 2.06 seconds before fallback handling...
[2026-10-20 12:45:21,295.295 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:45:21,297.297 INFO    ] Checking for system updates...
[2026-10-20 12:45:21,333.333 INFO    ] 200
[2026-10-20 12:45:21,336.336 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:45:21,394.394 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:45:21,396.396 INFO    ] No update needed
[2026-10-20 12:45:21,398.398 INFO    ] Checking for camera pi updates...
[2026-10-20 12:45:21,432.432 INFO    ] 200
[2026-10-20 12:45:21,435.435 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:45:21,475.475 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:45:21,528.528 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:45:21,531.531 INFO    ] No camera update needed
[2026-10-20 12:45:21,534.534 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:45:21,537.537 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:45:21,543.543 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:45:21,550.550 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:45:23,592.592 INFO    ] ================================================
[2026-10-20 12:45:23,607.607 INFO    ] Launching Daemon at Tue Oct 20 12:45:23 IST 2026
[2026-10-20 12:45:23,618.618 INFO    ] ================================================
[2026-10-20 12:45:24,187.187 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:45:24
[2026-10-20 12:45:24,774.774 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:45:25,047.047 INFO    ] Initializing speech engine...
[2026-10-20 12:45:25,054.054 INFO    ] 2026-10-20 12:45:25
[2026-10-20 12:45:25,311.311 INFO    ] 2026-10-20 12:45:25
[2026-10-20 12:45:25,341.341 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:45:25,586.586 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:45:25,600.600 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:45:25,796.796 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:45:25,855.855 INFO    ] time= 20/10/2026 12:45:25
[2026-10-20 12:45:25,872.872 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:45:25,890.890 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:45:26,025.025 INFO    ] No existing commands found in stream
[2026-10-20 12:45:31,040.040 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:45:31,043.043 INFO    ] Waiting 0.42 seconds before fallback handling...
[2026-10-20 12:45:31,964.964 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:45:31,967.967 INFO    ] Checking for system updates...
[2026-10-20 12:45:32,007.007 INFO    ] 200
[2026-10-20 12:45:32,010.010 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:45:32,079.079 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:45:32,082.082 INFO    ] No update needed
[2026-10-20 12:45:32,085.085 INFO    ] Checking for camera pi updates...
[2026-10-20 12:45:32,133.133 INFO    ] 200
[2026-10-20 12:45:32,136.136 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:45:32,193.193 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:45:32,229.229 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:45:32,232.232 INFO    ] No camera update needed
[2026-10-20 12:45:32,235.235 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:45:32,239.239 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:45:32,246.246 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:45:32,253.253 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:45:34,299.299 INFO    ] ================================================
[2026-10-20 12:45:34,314.314 INFO    ] Launching Daemon at Tue Oct 20 12:45:34 IST 2026
[2026-10-20 12:45:34,326.326 INFO    ] ================================================
[2026-10-20 12:45:34,913.913 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:45:34
[2026-10-20 12:45:35,523.523 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:45:35,802.802 INFO    ] Initializing speech engine...
[2026-10-20 12:45:35,808.808 INFO    ] 2026-10-20 12:45:35
[2026-10-20 12:45:36,071.071 INFO    ] 2026-10-20 12:45:36
[2026-10-20 12:45:36,125.125 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:45:36,357.357 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:45:36,362.362 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:45:36,553.553 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:45:36,613.613 INFO    ] time= 20/10/2026 12:45:36
[2026-10-20 12:45:36,648.648 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:45:36,693.693 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:45:36,838.838 INFO    ] No existing commands found in stream
[2026-10-20 12:45:41,858.858 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:45:41,861.861 INFO    ] Waiting 2.47 seconds before fallback handling...
[2026-10-20 12:45:44,902.902 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:45:44,904.904 INFO    ] Checking for system updates...
[2026-10-20 12:45:44,940.940 INFO    ] 200
[2026-10-20 12:45:44,943.943 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:45:45,000.000 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:45:45,003.003 INFO    ] No update needed
[2026-10-20 12:45:45,005.005 INFO    ] Checking for camera pi updates...
[2026-10-20 12:45:45,038.038 INFO    ] 200
[2026-10-20 12:45:45,041.041 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:45:45,081.081 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:45:45,131.131 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:45:45,134.134 INFO    ] No camera update needed
[2026-10-20 12:45:45,136.136 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:45:45,138.138 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:45:45,143.143 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:45:45,148.148 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:45:47,189.189 INFO    ] ================================================
[2026-10-20 12:45:47,206.206 INFO    ] Launching Daemon at Tue Oct 20 12:45:47 IST 2026
[2026-10-20 12:45:47,218.218 INFO    ] ================================================
[2026-10-20 12:45:47,795.795 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:45:47
[2026-10-20 12:45:48,393.393 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:45:48,654.654 INFO    ] Initializing speech engine...
[2026-10-20 12:45:48,681.681 INFO    ] 2026-10-20 12:45:48
[2026-10-20 12:45:48,951.951 INFO    ] 2026-10-20 12:45:48
[2026-10-20 12:45:48,988.988 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:45:49,208.208 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:45:49,222.222 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:45:49,431.431 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:45:49,439.439 INFO    ] time= 20/10/2026 12:45:49
[2026-10-20 12:45:49,493.493 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:45:49,568.568 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:45:49,711.711 INFO    ] No existing commands found in stream
[2026-10-20 12:45:54,739.739 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:45:54,742.742 INFO    ] Waiting 1.12 seconds before fallback handling...
[2026-10-20 12:45:56,440.440 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:45:56,443.443 INFO    ] Checking for system updates...
[2026-10-20 12:45:56,483.483 INFO    ] 200
[2026-10-20 12:45:56,485.485 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:45:56,541.541 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:45:56,544.544 INFO    ] No update needed
[2026-10-20 12:45:56,546.546 INFO    ] Checking for camera pi updates...
[2026-10-20 12:45:56,581.581 INFO    ] 200
[2026-10-20 12:45:56,583.583 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:45:56,624.624 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:45:56,679.679 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:45:56,681.681 INFO    ] No camera update needed
[2026-10-20 12:45:56,684.684 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:45:56,686.686 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:45:56,692.692 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:45:56,698.698 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:45:58,740.740 INFO    ] ================================================
[2026-10-20 12:45:58,755.755 INFO    ] Launching Daemon at Tue Oct 20 12:45:58 IST 2026
[2026-10-20 12:45:58,766.766 INFO    ] ================================================
[2026-10-20 12:45:59,404.404 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:45:59
[2026-10-20 12:46:00,059.059 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:46:00,366.366 INFO    ] Initializing speech engine...
[2026-10-20 12:46:00,371.371 INFO    ] 2026-10-20 12:46:00
[2026-10-20 12:46:00,654.654 INFO    ] 2026-10-20 12:46:00
[2026-10-20 12:46:00,765.765 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:46:01,027.027 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:46:01,047.047 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:46:01,224.224 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:46:01,233.233 INFO    ] time= 20/10/2026 12:46:01
[2026-10-20 12:46:01,265.265 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:46:01,312.312 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:46:01,437.437 INFO    ] No existing commands found in stream
[2026-10-20 12:46:06,462.462 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:46:06,465.465 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-10-20 12:46:08,519.519 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 12:46:08,522.522 INFO    ] Checking for system updates...
[2026-10-20 12:46:08,558.558 INFO    ] 200
[2026-10-20 12:46:08,561.561 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:46:08,621.621 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:46:08,624.624 INFO    ] No update needed
[2026-10-20 12:46:08,629.629 INFO    ] Checking for camera pi updates...
[2026-10-20 12:46:08,663.663 INFO    ] 200
[2026-10-20 12:46:08,665.665 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:46:08,710.710 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:46:08,863.863 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:46:08,866.866 INFO    ] No camera update needed
[2026-10-20 12:46:08,869.869 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:46:08,871.871 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:46:08,877.877 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:46:08,883.883 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:46:10,924.924 INFO    ] ================================================
[2026-10-20 12:46:10,940.940 INFO    ] Launching Daemon at Tue Oct 20 12:46:10 IST 2026
[2026-10-20 12:46:10,951.951 INFO    ] ================================================
[2026-10-20 12:46:11,599.599 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:46:11
[2026-10-20 12:46:12,274.274 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:46:12,585.585 INFO    ] Initializing speech engine...
[2026-10-20 12:46:12,592.592 INFO    ] 2026-10-20 12:46:12
[2026-10-20 12:46:12,875.875 INFO    ] 2026-10-20 12:46:12
[2026-10-20 12:46:12,985.985 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:46:13,194.194 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:46:13,203.203 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:46:13,402.402 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:46:13,421.421 INFO    ] time= 20/10/2026 12:46:13
[2026-10-20 12:46:13,444.444 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:46:13,459.459 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:46:13,585.585 INFO    ] No existing commands found in stream
[2026-10-20 12:46:18,616.616 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:46:18,619.619 INFO    ] Waiting 2.12 seconds before fallback handling...
[2026-10-20 12:46:21,304.304 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 12:46:21,306.306 INFO    ] Checking for system updates...
[2026-10-20 12:46:21,344.344 INFO    ] 200
[2026-10-20 12:46:21,346.346 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:46:21,399.399 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:46:21,402.402 INFO    ] No update needed
[2026-10-20 12:46:21,405.405 INFO    ] Checking for camera pi updates...
[2026-10-20 12:46:21,442.442 INFO    ] 200
[2026-10-20 12:46:21,444.444 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:46:21,489.489 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:46:21,545.545 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:46:21,547.547 INFO    ] No camera update needed
[2026-10-20 12:46:21,550.550 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:46:21,552.552 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:46:21,557.557 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:46:21,562.562 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:46:23,601.601 INFO    ] ================================================
[2026-10-20 12:46:23,617.617 INFO    ] Launching Daemon at Tue Oct 20 12:46:23 IST 2026
[2026-10-20 12:46:23,629.629 INFO    ] ================================================
[2026-10-20 12:46:24,285.285 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:46:24
[2026-10-20 12:46:24,961.961 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:46:25,264.264 INFO    ] Initializing speech engine...
[2026-10-20 12:46:25,278.278 INFO    ] 2026-10-20 12:46:25
[2026-10-20 12:46:25,566.566 INFO    ] 2026-10-20 12:46:25
[2026-10-20 12:46:25,610.610 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:46:25,886.886 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:46:25,893.893 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:46:26,095.095 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:46:26,149.149 INFO    ] time= 20/10/2026 12:46:26
[2026-10-20 12:46:26,164.164 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:46:26,171.171 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:46:26,317.317 INFO    ] No existing commands found in stream
[2026-10-20 12:46:31,344.344 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:46:31,346.346 INFO    ] Waiting 3.70 seconds before fallback handling...
[2026-10-20 12:46:35,568.568 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:46:35,571.571 INFO    ] Checking for system updates...
[2026-10-20 12:46:35,606.606 INFO    ] 200
[2026-10-20 12:46:35,608.608 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:46:35,661.661 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:46:35,664.664 INFO    ] No update needed
[2026-10-20 12:46:35,666.666 INFO    ] Checking for camera pi updates...
[2026-10-20 12:46:35,703.703 INFO    ] 200
[2026-10-20 12:46:35,705.705 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:46:35,754.754 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:46:35,806.806 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:46:35,809.809 INFO    ] No camera update needed
[2026-10-20 12:46:35,811.811 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:46:35,813.813 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:46:35,819.819 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:46:35,824.824 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:46:37,864.864 INFO    ] ================================================
[2026-10-20 12:46:37,880.880 INFO    ] Launching Daemon at Tue Oct 20 12:46:37 IST 2026
[2026-10-20 12:46:37,891.891 INFO    ] ================================================
[2026-10-20 12:46:38,464.464 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:46:38
[2026-10-20 12:46:39,055.055 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:46:39,311.311 INFO    ] Initializing speech engine...
[2026-10-20 12:46:39,320.320 INFO    ] 2026-10-20 12:46:39
[2026-10-20 12:46:39,615.615 INFO    ] 2026-10-20 12:46:39
[2026-10-20 12:46:39,651.651 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:46:39,878.878 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:46:39,886.886 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:46:40,108.108 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:46:40,115.115 INFO    ] time= 20/10/2026 12:46:40
[2026-10-20 12:46:40,144.144 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:46:40,183.183 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:46:40,320.320 INFO    ] No existing commands found in stream
[2026-10-20 12:46:45,332.332 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:46:45,335.335 INFO    ] Waiting 2.58 seconds before fallback handling...
[2026-10-20 12:46:48,421.421 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:46:48,424.424 INFO    ] Checking for system updates...
[2026-10-20 12:46:48,463.463 INFO    ] 200
[2026-10-20 12:46:48,465.465 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:46:48,519.519 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:46:48,521.521 INFO    ] No update needed
[2026-10-20 12:46:48,524.524 INFO    ] Checking for camera pi updates...
[2026-10-20 12:46:48,561.561 INFO    ] 200
[2026-10-20 12:46:48,563.563 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:46:48,603.603 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:46:48,660.660 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:46:48,662.662 INFO    ] No camera update needed
[2026-10-20 12:46:48,665.665 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:46:48,667.667 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:46:48,672.672 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:46:48,678.678 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:46:50,719.719 INFO    ] ================================================
[2026-10-20 12:46:50,735.735 INFO    ] Launching Daemon at Tue Oct 20 12:46:50 IST 2026
[2026-10-20 12:46:50,746.746 INFO    ] ================================================
[2026-10-20 12:46:51,323.323 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:46:51
[2026-10-20 12:46:51,922.922 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:46:52,183.183 INFO    ] Initializing speech engine...
[2026-10-20 12:46:52,190.190 INFO    ] 2026-10-20 12:46:52
[2026-10-20 12:46:52,486.486 INFO    ] 2026-10-20 12:46:52
[2026-10-20 12:46:52,524.524 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:46:52,748.748 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:46:52,756.756 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:46:52,977.977 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:46:52,984.984 INFO    ] time= 20/10/2026 12:46:52
[2026-10-20 12:46:53,034.034 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:46:53,067.067 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:46:53,193.193 INFO    ] No existing commands found in stream
[2026-10-20 12:46:58,201.201 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:46:58,204.204 INFO    ] Waiting 1.14 seconds before fallback handling...
[2026-10-20 12:46:59,863.863 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:46:59,865.865 INFO    ] Checking for system updates...
[2026-10-20 12:46:59,900.900 INFO    ] 200
[2026-10-20 12:46:59,903.903 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:46:59,958.958 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:46:59,960.960 INFO    ] No update needed
[2026-10-20 12:46:59,963.963 INFO    ] Checking for camera pi updates...
[2026-10-20 12:46:59,996.996 INFO    ] 200
[2026-10-20 12:46:59,999.999 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:47:00,039.039 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:47:00,086.086 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:47:00,089.089 INFO    ] No camera update needed
[2026-10-20 12:47:00,091.091 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:47:00,093.093 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:47:00,099.099 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:47:00,104.104 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:47:02,153.153 INFO    ] ================================================
[2026-10-20 12:47:02,174.174 INFO    ] Launching Daemon at Tue Oct 20 12:47:02 IST 2026
[2026-10-20 12:47:02,190.190 INFO    ] ================================================
[2026-10-20 12:47:02,845.845 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:47:02
[2026-10-20 12:47:03,447.447 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:47:03,702.702 INFO    ] Initializing speech engine...
[2026-10-20 12:47:03,725.725 INFO    ] 2026-10-20 12:47:03
[2026-10-20 12:47:03,982.982 INFO    ] 2026-10-20 12:47:03
[2026-10-20 12:47:04,018.018 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:47:04,248.248 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:47:04,284.284 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:47:04,499.499 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:47:04,553.553 INFO    ] time= 20/10/2026 12:47:04
[2026-10-20 12:47:04,560.560 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:47:04,578.578 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:47:04,706.706 INFO    ] No existing commands found in stream
[2026-10-20 12:47:09,723.723 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:47:09,725.725 INFO    ] Waiting 2.13 seconds before fallback handling...
[2026-10-20 12:47:12,347.347 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 12:47:12,350.350 INFO    ] Checking for system updates...
[2026-10-20 12:47:12,386.386 INFO    ] 200
[2026-10-20 12:47:12,389.389 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:47:12,442.442 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:47:12,445.445 INFO    ] No update needed
[2026-10-20 12:47:12,448.448 INFO    ] Checking for camera pi updates...
[2026-10-20 12:47:12,487.487 INFO    ] 200
[2026-10-20 12:47:12,490.490 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:47:12,531.531 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:47:12,577.577 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:47:12,580.580 INFO    ] No camera update needed
[2026-10-20 12:47:12,583.583 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:47:12,586.586 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:47:12,592.592 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:47:12,598.598 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:47:14,641.641 INFO    ] ================================================
[2026-10-20 12:47:14,657.657 INFO    ] Launching Daemon at Tue Oct 20 12:47:14 IST 2026
[2026-10-20 12:47:14,668.668 INFO    ] ================================================
[2026-10-20 12:47:15,246.246 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:47:15
[2026-10-20 12:47:15,848.848 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:47:16,112.112 INFO    ] Initializing speech engine...
[2026-10-20 12:47:16,127.127 INFO    ] 2026-10-20 12:47:16
[2026-10-20 12:47:16,419.419 INFO    ] 2026-10-20 12:47:16
[2026-10-20 12:47:16,455.455 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:47:16,656.656 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:47:16,679.679 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:47:16,842.842 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:47:16,847.847 INFO    ] time= 20/10/2026 12:47:16
[2026-10-20 12:47:16,854.854 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:47:16,902.902 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:47:17,054.054 INFO    ] No existing commands found in stream
[2026-10-20 12:47:22,080.080 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:47:22,083.083 INFO    ] Waiting 0.49 seconds before fallback handling...
[2026-10-20 12:47:23,107.107 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:47:23,109.109 INFO    ] Checking for system updates...
[2026-10-20 12:47:23,145.145 INFO    ] 200
[2026-10-20 12:47:23,147.147 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:47:23,200.200 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:47:23,202.202 INFO    ] No update needed
[2026-10-20 12:47:23,205.205 INFO    ] Checking for camera pi updates...
[2026-10-20 12:47:23,238.238 INFO    ] 200
[2026-10-20 12:47:23,241.241 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:47:23,281.281 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:47:23,331.331 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:47:23,334.334 INFO    ] No camera update needed
[2026-10-20 12:47:23,336.336 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:47:23,338.338 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:47:23,344.344 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:47:23,348.348 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:47:25,389.389 INFO    ] ================================================
[2026-10-20 12:47:25,404.404 INFO    ] Launching Daemon at Tue Oct 20 12:47:25 IST 2026
[2026-10-20 12:47:25,416.416 INFO    ] ================================================
[2026-10-20 12:47:26,000.000 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:47:25
[2026-10-20 12:47:26,600.600 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:47:26,880.880 INFO    ] Initializing speech engine...
[2026-10-20 12:47:26,886.886 INFO    ] 2026-10-20 12:47:26
[2026-10-20 12:47:27,149.149 INFO    ] 2026-10-20 12:47:27
[2026-10-20 12:47:27,203.203 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:47:27,433.433 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:47:27,437.437 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:47:27,658.658 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:47:27,695.695 INFO    ] time= 20/10/2026 12:47:27
[2026-10-20 12:47:27,701.701 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:47:27,721.721 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:47:27,846.846 INFO    ] No existing commands found in stream
[2026-10-20 12:47:32,862.862 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:47:32,865.865 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-10-20 12:47:33,504.504 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:47:33,506.506 INFO    ] Checking for system updates...
[2026-10-20 12:47:33,542.542 INFO    ] 200
[2026-10-20 12:47:33,544.544 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:47:33,602.602 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:47:33,605.605 INFO    ] No update needed
[2026-10-20 12:47:33,608.608 INFO    ] Checking for camera pi updates...
[2026-10-20 12:47:33,641.641 INFO    ] 200
[2026-10-20 12:47:33,644.644 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:47:33,684.684 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:47:33,719.719 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:47:33,722.722 INFO    ] No camera update needed
[2026-10-20 12:47:33,724.724 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:47:33,726.726 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:47:33,732.732 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:47:33,737.737 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:47:35,778.778 INFO    ] ================================================
[2026-10-20 12:47:35,794.794 INFO    ] Launching Daemon at Tue Oct 20 12:47:35 IST 2026
[2026-10-20 12:47:35,805.805 INFO    ] ================================================
[2026-10-20 12:47:36,374.374 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:47:36
[2026-10-20 12:47:36,993.993 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:47:37,296.296 INFO    ] Initializing speech engine...
[2026-10-20 12:47:37,308.308 INFO    ] 2026-10-20 12:47:37
[2026-10-20 12:47:37,597.597 INFO    ] 2026-10-20 12:47:37
[2026-10-20 12:47:37,644.644 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:47:37,934.934 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:47:37,943.943 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:47:38,145.145 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:47:38,164.164 INFO    ] time= 20/10/2026 12:47:38
[2026-10-20 12:47:38,175.175 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:47:38,204.204 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:47:38,322.322 INFO    ] No existing commands found in stream
[2026-10-20 12:47:43,352.352 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:47:43,356.356 INFO    ] Waiting 3.80 seconds before fallback handling...
[2026-10-20 12:47:47,706.706 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:47:47,709.709 INFO    ] Checking for system updates...
[2026-10-20 12:47:47,745.745 INFO    ] 200
[2026-10-20 12:47:47,748.748 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:47:47,801.801 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:47:47,804.804 INFO    ] No update needed
[2026-10-20 12:47:47,806.806 INFO    ] Checking for camera pi updates...
[2026-10-20 12:47:47,841.841 INFO    ] 200
[2026-10-20 12:47:47,844.844 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:47:47,885.885 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:47:47,934.934 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:47:47,936.936 INFO    ] No camera update needed
[2026-10-20 12:47:47,939.939 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:47:47,942.942 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:47:47,948.948 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:47:47,954.954 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:47:50,994.994 INFO    ] ================================================
[2026-10-20 12:47:50,010.010 INFO    ] Launching Daemon at Tue Oct 20 12:47:50 IST 2026
[2026-10-20 12:47:50,022.022 INFO    ] ================================================
[2026-10-20 12:47:50,604.604 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:47:50
[2026-10-20 12:47:51,206.206 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:47:51,461.461 INFO    ] Initializing speech engine...
[2026-10-20 12:47:51,483.483 INFO    ] 2026-10-20 12:47:51
[2026-10-20 12:47:51,737.737 INFO    ] 2026-10-20 12:47:51
[2026-10-20 12:47:51,772.772 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:47:52,028.028 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:47:52,038.038 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:47:52,253.253 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:47:52,298.298 INFO    ] time= 20/10/2026 12:47:52
[2026-10-20 12:47:52,305.305 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:47:52,322.322 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:47:52,455.455 INFO    ] No existing commands found in stream
[2026-10-20 12:47:57,474.474 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:47:57,476.476 INFO    ] Waiting 2.04 seconds before fallback handling...
[2026-10-20 12:48:00,044.044 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:48:00,047.047 INFO    ] Checking for system updates...
[2026-10-20 12:48:00,082.082 INFO    ] 200
[2026-10-20 12:48:00,085.085 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:48:00,136.136 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:48:00,139.139 INFO    ] No update needed
[2026-10-20 12:48:00,141.141 INFO    ] Checking for camera pi updates...
[2026-10-20 12:48:00,174.174 INFO    ] 200
[2026-10-20 12:48:00,177.177 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:48:00,216.216 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:48:00,272.272 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:48:00,274.274 INFO    ] No camera update needed
[2026-10-20 12:48:00,277.277 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:48:00,279.279 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:48:00,285.285 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:48:00,290.290 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:48:02,340.340 INFO    ] ================================================
[2026-10-20 12:48:02,363.363 INFO    ] Launching Daemon at Tue Oct 20 12:48:02 IST 2026
[2026-10-20 12:48:02,376.376 INFO    ] ================================================
[2026-10-20 12:48:03,026.026 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:48:03
[2026-10-20 12:48:03,620.620 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:48:03,870.870 INFO    ] Initializing speech engine...
[2026-10-20 12:48:03,884.884 INFO    ] 2026-10-20 12:48:03
[2026-10-20 12:48:04,153.153 INFO    ] 2026-10-20 12:48:04
[2026-10-20 12:48:04,189.189 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:48:04,452.452 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:48:04,457.457 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:48:04,651.651 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:48:04,716.716 INFO    ] time= 20/10/2026 12:48:04
[2026-10-20 12:48:04,728.728 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:48:04,746.746 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:48:04,874.874 INFO    ] No existing commands found in stream
[2026-10-20 12:48:09,891.891 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:48:09,894.894 INFO    ] Waiting 1.24 seconds before fallback handling...
[2026-10-20 12:48:11,715.715 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:48:11,718.718 INFO    ] Checking for system updates...
[2026-10-20 12:48:11,755.755 INFO    ] 200
[2026-10-20 12:48:11,758.758 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:48:11,810.810 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:48:11,813.813 INFO    ] No update needed
[2026-10-20 12:48:11,816.816 INFO    ] Checking for camera pi updates...
[2026-10-20 12:48:11,850.850 INFO    ] 200
[2026-10-20 12:48:11,853.853 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:48:11,893.893 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:48:12,047.047 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:48:12,050.050 INFO    ] No camera update needed
[2026-10-20 12:48:12,053.053 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:48:12,055.055 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:48:12,060.060 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:48:12,065.065 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:48:14,106.106 INFO    ] ================================================
[2026-10-20 12:48:14,122.122 INFO    ] Launching Daemon at Tue Oct 20 12:48:14 IST 2026
[2026-10-20 12:48:14,133.133 INFO    ] ================================================
[2026-10-20 12:48:14,698.698 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:48:14
[2026-10-20 12:48:15,280.280 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:48:15,547.547 INFO    ] Initializing speech engine...
[2026-10-20 12:48:15,557.557 INFO    ] 2026-10-20 12:48:15
[2026-10-20 12:48:15,802.802 INFO    ] 2026-10-20 12:48:15
[2026-10-20 12:48:15,842.842 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:48:16,087.087 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:48:16,096.096 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:48:16,317.317 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:48:16,354.354 INFO    ] time= 20/10/2026 12:48:16
[2026-10-20 12:48:16,360.360 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:48:16,377.377 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:48:16,505.505 INFO    ] No existing commands found in stream
[2026-10-20 12:48:21,520.520 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:48:21,523.523 INFO    ] Waiting 2.32 seconds before fallback handling...
[2026-10-20 12:48:24,326.326 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:48:24,328.328 INFO    ] Checking for system updates...
[2026-10-20 12:48:24,364.364 INFO    ] 200
[2026-10-20 12:48:24,366.366 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:48:24,420.420 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:48:24,423.423 INFO    ] No update needed
[2026-10-20 12:48:24,425.425 INFO    ] Checking for camera pi updates...
[2026-10-20 12:48:24,459.459 INFO    ] 200
[2026-10-20 12:48:24,461.461 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:48:24,502.502 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:48:24,560.560 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:48:24,562.562 INFO    ] No camera update needed
[2026-10-20 12:48:24,565.565 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:48:24,567.567 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:48:24,572.572 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:48:24,577.577 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:48:26,620.620 INFO    ] ================================================
[2026-10-20 12:48:26,635.635 INFO    ] Launching Daemon at Tue Oct 20 12:48:26 IST 2026
[2026-10-20 12:48:26,645.645 INFO    ] ================================================
[2026-10-20 12:48:27,213.213 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:48:27
[2026-10-20 12:48:27,799.799 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:48:28,067.067 INFO    ] Initializing speech engine...
[2026-10-20 12:48:28,076.076 INFO    ] 2026-10-20 12:48:28
[2026-10-20 12:48:28,323.323 INFO    ] 2026-10-20 12:48:28
[2026-10-20 12:48:28,358.358 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:48:28,560.560 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:48:28,611.611 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:48:28,763.763 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:48:28,812.812 INFO    ] time= 20/10/2026 12:48:28
[2026-10-20 12:48:28,876.876 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:48:28,897.897 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:48:29,023.023 INFO    ] No existing commands found in stream
[2026-10-20 12:48:34,054.054 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:48:34,056.056 INFO    ] Waiting 0.73 seconds before fallback handling...
[2026-10-20 12:48:35,270.270 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 12:48:35,273.273 INFO    ] Checking for system updates...
[2026-10-20 12:48:35,308.308 INFO    ] 200
[2026-10-20 12:48:35,310.310 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:48:35,363.363 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:48:35,366.366 INFO    ] No update needed
[2026-10-20 12:48:35,368.368 INFO    ] Checking for camera pi updates...
[2026-10-20 12:48:35,401.401 INFO    ] 200
[2026-10-20 12:48:35,403.403 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:48:35,444.444 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:48:35,494.494 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:48:35,496.496 INFO    ] No camera update needed
[2026-10-20 12:48:35,499.499 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:48:35,501.501 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:48:35,506.506 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:48:35,511.511 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:48:37,554.554 INFO    ] ================================================
[2026-10-20 12:48:37,569.569 INFO    ] Launching Daemon at Tue Oct 20 12:48:37 IST 2026
[2026-10-20 12:48:37,580.580 INFO    ] ================================================
[2026-10-20 12:48:38,232.232 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:48:38
[2026-10-20 12:48:38,923.923 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:48:39,226.226 INFO    ] Initializing speech engine...
[2026-10-20 12:48:39,240.240 INFO    ] 2026-10-20 12:48:39
[2026-10-20 12:48:39,525.525 INFO    ] 2026-10-20 12:48:39
[2026-10-20 12:48:39,634.634 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:48:39,848.848 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:48:39,853.853 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:48:40,051.051 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:48:40,069.069 INFO    ] time= 20/10/2026 12:48:40
[2026-10-20 12:48:40,099.099 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:48:40,106.106 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:48:40,224.224 INFO    ] No existing commands found in stream
[2026-10-20 12:48:45,260.260 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:48:45,263.263 INFO    ] Waiting 2.81 seconds before fallback handling...
[2026-10-20 12:48:48,560.560 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 12:48:48,563.563 INFO    ] Checking for system updates...
[2026-10-20 12:48:48,598.598 INFO    ] 200
[2026-10-20 12:48:48,601.601 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:48:48,652.652 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:48:48,655.655 INFO    ] No update needed
[2026-10-20 12:48:48,657.657 INFO    ] Checking for camera pi updates...
[2026-10-20 12:48:48,694.694 INFO    ] 200
[2026-10-20 12:48:48,697.697 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:48:48,737.737 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:48:48,799.799 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:48:48,801.801 INFO    ] No camera update needed
[2026-10-20 12:48:48,804.804 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:48:48,806.806 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:48:48,811.811 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:48:48,816.816 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:48:50,858.858 INFO    ] ================================================
[2026-10-20 12:48:50,873.873 INFO    ] Launching Daemon at Tue Oct 20 12:48:50 IST 2026
[2026-10-20 12:48:50,884.884 INFO    ] ================================================
[2026-10-20 12:48:51,473.473 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:48:51
[2026-10-20 12:48:52,087.087 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:48:52,357.357 INFO    ] Initializing speech engine...
[2026-10-20 12:48:52,365.365 INFO    ] 2026-10-20 12:48:52
[2026-10-20 12:48:52,676.676 INFO    ] 2026-10-20 12:48:52
[2026-10-20 12:48:52,715.715 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:48:52,901.901 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:48:52,904.904 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:48:53,077.077 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:48:53,084.084 INFO    ] time= 20/10/2026 12:48:53
[2026-10-20 12:48:53,088.088 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:48:53,094.094 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:48:53,225.225 INFO    ] No existing commands found in stream
[2026-10-20 12:48:58,245.245 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:48:58,248.248 INFO    ] Waiting 3.83 seconds before fallback handling...
[2026-10-20 12:49:02,669.669 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 12:49:02,672.672 INFO    ] Checking for system updates...
[2026-10-20 12:49:02,716.716 INFO    ] 200
[2026-10-20 12:49:02,720.720 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:49:02,780.780 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:49:02,784.784 INFO    ] No update needed
[2026-10-20 12:49:02,788.788 INFO    ] Checking for camera pi updates...
[2026-10-20 12:49:02,830.830 INFO    ] 200
[2026-10-20 12:49:02,832.832 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:49:02,872.872 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:49:02,911.911 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:49:02,914.914 INFO    ] No camera update needed
[2026-10-20 12:49:02,917.917 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:49:02,920.920 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:49:02,926.926 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:49:02,932.932 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:49:04,972.972 INFO    ] ================================================
[2026-10-20 12:49:04,987.987 INFO    ] Launching Daemon at Tue Oct 20 12:49:04 IST 2026
[2026-10-20 12:49:05,998.998 INFO    ] ================================================
[2026-10-20 12:49:05,607.607 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:49:05
[2026-10-20 12:49:06,192.192 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:49:06,438.438 INFO    ] Initializing speech engine...
[2026-10-20 12:49:06,445.445 INFO    ] 2026-10-20 12:49:06
[2026-10-20 12:49:06,716.716 INFO    ] 2026-10-20 12:49:06
[2026-10-20 12:49:06,757.757 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:49:07,008.008 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:49:07,012.012 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:49:07,219.219 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:49:07,271.271 INFO    ] time= 20/10/2026 12:49:07
[2026-10-20 12:49:07,277.277 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:49:07,296.296 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:49:07,427.427 INFO    ] No existing commands found in stream
[2026-10-20 12:49:12,442.442 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:49:12,444.444 INFO    ] Waiting 1.45 seconds before fallback handling...
[2026-10-20 12:49:14,450.450 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:49:14,452.452 INFO    ] Checking for system updates...
[2026-10-20 12:49:14,488.488 INFO    ] 200
[2026-10-20 12:49:14,491.491 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:49:14,544.544 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:49:14,546.546 INFO    ] No update needed
[2026-10-20 12:49:14,549.549 INFO    ] Checking for camera pi updates...
[2026-10-20 12:49:14,587.587 INFO    ] 200
[2026-10-20 12:49:14,589.589 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:49:14,630.630 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:49:14,680.680 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:49:14,683.683 INFO    ] No camera update needed
[2026-10-20 12:49:14,685.685 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:49:14,687.687 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:49:14,693.693 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:49:14,697.697 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:49:16,737.737 INFO    ] ================================================
[2026-10-20 12:49:16,752.752 INFO    ] Launching Daemon at Tue Oct 20 12:49:16 IST 2026
[2026-10-20 12:49:16,764.764 INFO    ] ================================================
[2026-10-20 12:49:17,334.334 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:49:17
[2026-10-20 12:49:17,920.920 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:49:18,191.191 INFO    ] Initializing speech engine...
[2026-10-20 12:49:18,199.199 INFO    ] 2026-10-20 12:49:18
[2026-10-20 12:49:18,452.452 INFO    ] 2026-10-20 12:49:18
[2026-10-20 12:49:18,487.487 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:49:18,727.727 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:49:18,749.749 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:49:18,925.925 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:49:18,969.969 INFO    ] time= 20/10/2026 12:49:18
[2026-10-20 12:49:19,023.023 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:49:19,033.033 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:49:19,186.186 INFO    ] No existing commands found in stream
[2026-10-20 12:49:24,219.219 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:49:24,222.222 INFO    ] Waiting 1.73 seconds before fallback handling...
[2026-10-20 12:49:26,480.480 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:49:26,482.482 INFO    ] Checking for system updates...
[2026-10-20 12:49:26,522.522 INFO    ] 200
[2026-10-20 12:49:26,524.524 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:49:26,577.577 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:49:26,579.579 INFO    ] No update needed
[2026-10-20 12:49:26,582.582 INFO    ] Checking for camera pi updates...
[2026-10-20 12:49:26,615.615 INFO    ] 200
[2026-10-20 12:49:26,617.617 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:49:26,657.657 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:49:26,706.706 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:49:26,709.709 INFO    ] No camera update needed
[2026-10-20 12:49:26,711.711 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:49:26,713.713 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:49:26,719.719 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:49:26,724.724 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:49:28,767.767 INFO    ] ================================================
[2026-10-20 12:49:28,783.783 INFO    ] Launching Daemon at Tue Oct 20 12:49:28 IST 2026
[2026-10-20 12:49:28,795.795 INFO    ] ================================================
[2026-10-20 12:49:29,407.407 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:49:29
[2026-10-20 12:49:29,991.991 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:49:30,241.241 INFO    ] Initializing speech engine...
[2026-10-20 12:49:30,255.255 INFO    ] 2026-10-20 12:49:30
[2026-10-20 12:49:30,520.520 INFO    ] 2026-10-20 12:49:30
[2026-10-20 12:49:30,557.557 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:49:30,818.818 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:49:30,829.829 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:49:30,992.992 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:49:31,063.063 INFO    ] time= 20/10/2026 12:49:31
[2026-10-20 12:49:31,124.124 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:49:31,132.132 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:49:31,329.329 INFO    ] No existing commands found in stream
[2026-10-20 12:49:36,366.366 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:49:36,369.369 INFO    ] Waiting 0.66 seconds before fallback handling...
[2026-10-20 12:49:37,621.621 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:49:37,625.625 INFO    ] Checking for system updates...
[2026-10-20 12:49:37,662.662 INFO    ] 200
[2026-10-20 12:49:37,665.665 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:49:37,728.728 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:49:37,731.731 INFO    ] No update needed
[2026-10-20 12:49:37,734.734 INFO    ] Checking for camera pi updates...
[2026-10-20 12:49:37,777.777 INFO    ] 200
[2026-10-20 12:49:37,781.781 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:49:37,822.822 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:49:37,878.878 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:49:37,881.881 INFO    ] No camera update needed
[2026-10-20 12:49:37,884.884 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:49:37,887.887 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:49:37,894.894 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:49:37,900.900 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:49:39,942.942 INFO    ] ================================================
[2026-10-20 12:49:39,959.959 INFO    ] Launching Daemon at Tue Oct 20 12:49:39 IST 2026
[2026-10-20 12:49:39,970.970 INFO    ] ================================================
[2026-10-20 12:49:40,651.651 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:49:40
[2026-10-20 12:49:41,343.343 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:49:41,657.657 INFO    ] Initializing speech engine...
[2026-10-20 12:49:41,668.668 INFO    ] 2026-10-20 12:49:41
[2026-10-20 12:49:41,935.935 INFO    ] 2026-10-20 12:49:41
[2026-10-20 12:49:41,989.989 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:49:42,239.239 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:49:42,245.245 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:49:42,448.448 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:49:42,487.487 INFO    ] time= 20/10/2026 12:49:42
[2026-10-20 12:49:42,493.493 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:49:42,511.511 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:49:42,647.647 INFO    ] No existing commands found in stream
[2026-10-20 12:49:47,662.662 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:49:47,665.665 INFO    ] Waiting 3.50 seconds before fallback handling...
[2026-10-20 12:49:51,726.726 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:49:51,729.729 INFO    ] Checking for system updates...
[2026-10-20 12:49:51,764.764 INFO    ] 200
[2026-10-20 12:49:51,767.767 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:49:51,826.826 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:49:51,829.829 INFO    ] No update needed
[2026-10-20 12:49:51,831.831 INFO    ] Checking for camera pi updates...
[2026-10-20 12:49:51,865.865 INFO    ] 200
[2026-10-20 12:49:51,867.867 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:49:51,913.913 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:49:51,969.969 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:49:51,972.972 INFO    ] No camera update needed
[2026-10-20 12:49:51,974.974 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:49:51,976.976 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:49:51,982.982 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:49:51,987.987 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:49:54,028.028 INFO    ] ================================================
[2026-10-20 12:49:54,043.043 INFO    ] Launching Daemon at Tue Oct 20 12:49:54 IST 2026
[2026-10-20 12:49:54,055.055 INFO    ] ================================================
[2026-10-20 12:49:54,704.704 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:49:54
[2026-10-20 12:49:55,302.302 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:49:55,580.580 INFO    ] Initializing speech engine...
[2026-10-20 12:49:55,588.588 INFO    ] 2026-10-20 12:49:55
[2026-10-20 12:49:55,847.847 INFO    ] 2026-10-20 12:49:55
[2026-10-20 12:49:55,901.901 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:49:56,184.184 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:49:56,189.189 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:49:56,384.384 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:49:56,401.401 INFO    ] time= 20/10/2026 12:49:56
[2026-10-20 12:49:56,409.409 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:49:56,435.435 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:49:56,561.561 INFO    ] No existing commands found in stream
[2026-10-20 12:50:01,591.591 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:50:01,596.596 INFO    ] Waiting 3.56 seconds before fallback handling...
[2026-10-20 12:50:07,855.855 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 12:50:07,858.858 INFO    ] Checking for system updates...
[2026-10-20 12:50:07,894.894 INFO    ] 200
[2026-10-20 12:50:07,896.896 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:50:07,949.949 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:50:07,952.952 INFO    ] No update needed
[2026-10-20 12:50:07,954.954 INFO    ] Checking for camera pi updates...
[2026-10-20 12:50:07,988.988 INFO    ] 200
[2026-10-20 12:50:07,991.991 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:50:08,031.031 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:50:08,067.067 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:50:08,069.069 INFO    ] No camera update needed
[2026-10-20 12:50:08,072.072 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:50:08,074.074 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:50:08,080.080 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:50:08,085.085 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:50:10,124.124 INFO    ] ================================================
[2026-10-20 12:50:10,140.140 INFO    ] Launching Daemon at Tue Oct 20 12:50:10 IST 2026
[2026-10-20 12:50:10,151.151 INFO    ] ================================================
[2026-10-20 12:50:10,721.721 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:50:10
[2026-10-20 12:50:11,306.306 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:50:11,564.564 INFO    ] Initializing speech engine...
[2026-10-20 12:50:11,582.582 INFO    ] 2026-10-20 12:50:11
[2026-10-20 12:50:11,835.835 INFO    ] 2026-10-20 12:50:11
[2026-10-20 12:50:11,901.901 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:50:12,151.151 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:50:12,158.158 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:50:12,373.373 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:50:12,395.395 INFO    ] time= 20/10/2026 12:50:12
[2026-10-20 12:50:12,414.414 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:50:12,443.443 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:50:12,579.579 INFO    ] No existing commands found in stream
[2026-10-20 12:50:17,611.611 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:50:17,614.614 INFO    ] Waiting 0.82 seconds before fallback handling...
[2026-10-20 12:50:19,021.021 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:50:19,024.024 INFO    ] Checking for system updates...
[2026-10-20 12:50:19,068.068 INFO    ] 200
[2026-10-20 12:50:19,071.071 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:50:19,136.136 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:50:19,139.139 INFO    ] No update needed
[2026-10-20 12:50:19,142.142 INFO    ] Checking for camera pi updates...
[2026-10-20 12:50:19,181.181 INFO    ] 200
[2026-10-20 12:50:19,184.184 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:50:19,232.232 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:50:19,386.386 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:50:19,389.389 INFO    ] No camera update needed
[2026-10-20 12:50:19,392.392 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:50:19,396.396 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:50:19,404.404 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:50:19,411.411 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:50:21,452.452 INFO    ] ================================================
[2026-10-20 12:50:21,469.469 INFO    ] Launching Daemon at Tue Oct 20 12:50:21 IST 2026
[2026-10-20 12:50:21,480.480 INFO    ] ================================================
[2026-10-20 12:50:22,051.051 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:50:22
[2026-10-20 12:50:22,640.640 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:50:22,891.891 INFO    ] Initializing speech engine...
[2026-10-20 12:50:22,905.905 INFO    ] 2026-10-20 12:50:22
[2026-10-20 12:50:23,170.170 INFO    ] 2026-10-20 12:50:23
[2026-10-20 12:50:23,206.206 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:50:23,463.463 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:50:23,473.473 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:50:23,664.664 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:50:23,713.713 INFO    ] time= 20/10/2026 12:50:23
[2026-10-20 12:50:23,743.743 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:50:23,758.758 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:50:23,892.892 INFO    ] No existing commands found in stream
[2026-10-20 12:50:28,906.906 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:50:28,909.909 INFO    ] Waiting 0.23 seconds before fallback handling...
[2026-10-20 12:50:29,663.663 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:50:29,665.665 INFO    ] Checking for system updates...
[2026-10-20 12:50:29,700.700 INFO    ] 200
[2026-10-20 12:50:29,702.702 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:50:29,762.762 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:50:29,764.764 INFO    ] No update needed
[2026-10-20 12:50:29,767.767 INFO    ] Checking for camera pi updates...
[2026-10-20 12:50:29,804.804 INFO    ] 200
[2026-10-20 12:50:29,806.806 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:50:29,852.852 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:50:29,897.897 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:50:29,900.900 INFO    ] No camera update needed
[2026-10-20 12:50:29,902.902 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:50:29,905.905 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:50:29,910.910 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:50:29,915.915 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:50:31,958.958 INFO    ] ================================================
[2026-10-20 12:50:31,975.975 INFO    ] Launching Daemon at Tue Oct 20 12:50:31 IST 2026
[2026-10-20 12:50:31,988.988 INFO    ] ================================================
[2026-10-20 12:50:32,588.588 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:50:32
[2026-10-20 12:50:33,186.186 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:50:33,449.449 INFO    ] Initializing speech engine...
[2026-10-20 12:50:33,458.458 INFO    ] 2026-10-20 12:50:33
[2026-10-20 12:50:33,762.762 INFO    ] 2026-10-20 12:50:33
[2026-10-20 12:50:33,797.797 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:50:34,002.002 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:50:34,020.020 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:50:34,189.189 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:50:34,196.196 INFO    ] time= 20/10/2026 12:50:34
[2026-10-20 12:50:34,203.203 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:50:34,250.250 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:50:34,386.386 INFO    ] No existing commands found in stream
[2026-10-20 12:50:39,421.421 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:50:39,424.424 INFO    ] Waiting 0.38 seconds before fallback handling...
[2026-10-20 12:50:40,319.319 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:50:40,322.322 INFO    ] Checking for system updates...
[2026-10-20 12:50:40,357.357 INFO    ] 200
[2026-10-20 12:50:40,360.360 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:50:40,412.412 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:50:40,414.414 INFO    ] No update needed
[2026-10-20 12:50:40,417.417 INFO    ] Checking for camera pi updates...
[2026-10-20 12:50:40,451.451 INFO    ] 200
[2026-10-20 12:50:40,453.453 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:50:40,499.499 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:50:40,533.533 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:50:40,535.535 INFO    ] No camera update needed
[2026-10-20 12:50:40,537.537 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:50:40,540.540 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:50:40,545.545 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:50:40,550.550 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:50:42,593.593 INFO    ] ================================================
[2026-10-20 12:50:42,609.609 INFO    ] Launching Daemon at Tue Oct 20 12:50:42 IST 2026
[2026-10-20 12:50:42,620.620 INFO    ] ================================================
[2026-10-20 12:50:43,294.294 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:50:43
[2026-10-20 12:50:43,984.984 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:50:44,295.295 INFO    ] Initializing speech engine...
[2026-10-20 12:50:44,309.309 INFO    ] 2026-10-20 12:50:44
[2026-10-20 12:50:44,597.597 INFO    ] 2026-10-20 12:50:44
[2026-10-20 12:50:44,705.705 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:50:44,916.916 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:50:44,921.921 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:50:45,115.115 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:50:45,140.140 INFO    ] time= 20/10/2026 12:50:45
[2026-10-20 12:50:45,168.168 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:50:45,176.176 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:50:45,293.293 INFO    ] No existing commands found in stream
[2026-10-20 12:50:50,323.323 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:50:50,326.326 INFO    ] Waiting 3.13 seconds before fallback handling...
[2026-10-20 12:50:54,051.051 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:50:54,054.054 INFO    ] Checking for system updates...
[2026-10-20 12:50:54,091.091 INFO    ] 200
[2026-10-20 12:50:54,094.094 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:50:54,147.147 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:50:54,150.150 INFO    ] No update needed
[2026-10-20 12:50:54,153.153 INFO    ] Checking for camera pi updates...
[2026-10-20 12:50:54,187.187 INFO    ] 200
[2026-10-20 12:50:54,190.190 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:50:54,231.231 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:50:54,276.276 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:50:54,279.279 INFO    ] No camera update needed
[2026-10-20 12:50:54,282.282 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:50:54,284.284 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:50:54,291.291 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:50:54,297.297 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:50:56,339.339 INFO    ] ================================================
[2026-10-20 12:50:56,357.357 INFO    ] Launching Daemon at Tue Oct 20 12:50:56 IST 2026
[2026-10-20 12:50:56,369.369 INFO    ] ================================================
[2026-10-20 12:50:57,043.043 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:50:57
[2026-10-20 12:50:57,739.739 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:50:58,056.056 INFO    ] Initializing speech engine...
[2026-10-20 12:50:58,068.068 INFO    ] 2026-10-20 12:50:58
[2026-10-20 12:50:58,387.387 INFO    ] 2026-10-20 12:50:58
[2026-10-20 12:50:58,476.476 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:50:58,656.656 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:50:58,665.665 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:50:58,903.903 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:50:58,911.911 INFO    ] time= 20/10/2026 12:50:58
[2026-10-20 12:50:58,933.933 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:50:58,963.963 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:50:59,130.130 INFO    ] No existing commands found in stream
[2026-10-20 12:51:04,161.161 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:51:04,165.165 INFO    ] Waiting 1.21 seconds before fallback handling...
[2026-10-20 12:51:05,903.903 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 12:51:05,906.906 INFO    ] Checking for system updates...
[2026-10-20 12:51:05,948.948 INFO    ] 200
[2026-10-20 12:51:05,951.951 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:51:06,015.015 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:51:06,018.018 INFO    ] No update needed
[2026-10-20 12:51:06,021.021 INFO    ] Checking for camera pi updates...
[2026-10-20 12:51:06,059.059 INFO    ] 200
[2026-10-20 12:51:06,062.062 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:51:06,107.107 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:51:06,159.159 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:51:06,162.162 INFO    ] No camera update needed
[2026-10-20 12:51:06,165.165 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:51:06,167.167 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:51:06,174.174 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:51:06,179.179 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:51:08,220.220 INFO    ] ================================================
[2026-10-20 12:51:08,236.236 INFO    ] Launching Daemon at Tue Oct 20 12:51:08 IST 2026
[2026-10-20 12:51:08,247.247 INFO    ] ================================================
[2026-10-20 12:51:08,824.824 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:51:08
[2026-10-20 12:51:09,429.429 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:51:09,703.703 INFO    ] Initializing speech engine...
[2026-10-20 12:51:09,717.717 INFO    ] 2026-10-20 12:51:09
[2026-10-20 12:51:09,966.966 INFO    ] 2026-10-20 12:51:09
[2026-10-20 12:51:10,001.001 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:51:10,257.257 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:51:10,262.262 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:51:10,489.489 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:51:10,527.527 INFO    ] time= 20/10/2026 12:51:10
[2026-10-20 12:51:10,545.545 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:51:10,554.554 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:51:10,678.678 INFO    ] No existing commands found in stream
[2026-10-20 12:51:15,693.693 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:51:15,695.695 INFO    ] Waiting 0.60 seconds before fallback handling...
[2026-10-20 12:51:16,816.816 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 12:51:16,819.819 INFO    ] Checking for system updates...
[2026-10-20 12:51:16,854.854 INFO    ] 200
[2026-10-20 12:51:16,856.856 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:51:16,910.910 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:51:16,912.912 INFO    ] No update needed
[2026-10-20 12:51:16,915.915 INFO    ] Checking for camera pi updates...
[2026-10-20 12:51:16,956.956 INFO    ] 200
[2026-10-20 12:51:16,958.958 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:51:16,998.998 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:51:17,047.047 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:51:17,049.049 INFO    ] No camera update needed
[2026-10-20 12:51:17,052.052 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:51:17,054.054 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:51:17,060.060 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:51:17,065.065 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:51:19,106.106 INFO    ] ================================================
[2026-10-20 12:51:19,121.121 INFO    ] Launching Daemon at Tue Oct 20 12:51:19 IST 2026
[2026-10-20 12:51:19,133.133 INFO    ] ================================================
[2026-10-20 12:51:19,701.701 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:51:19
[2026-10-20 12:51:20,285.285 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:51:20,547.547 INFO    ] Initializing speech engine...
[2026-10-20 12:51:20,562.562 INFO    ] 2026-10-20 12:51:20
[2026-10-20 12:51:20,818.818 INFO    ] 2026-10-20 12:51:20
[2026-10-20 12:51:20,853.853 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:51:21,113.113 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:51:21,122.122 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:51:21,340.340 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:51:21,387.387 INFO    ] time= 20/10/2026 12:51:21
[2026-10-20 12:51:21,393.393 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:51:21,414.414 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:51:21,519.519 INFO    ] No existing commands found in stream
[2026-10-20 12:51:26,549.549 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:51:26,552.552 INFO    ] Waiting 1.68 seconds before fallback handling...
[2026-10-20 12:51:28,785.785 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 12:51:28,788.788 INFO    ] Checking for system updates...
[2026-10-20 12:51:28,825.825 INFO    ] 200
[2026-10-20 12:51:28,828.828 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:51:28,881.881 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:51:28,883.883 INFO    ] No update needed
[2026-10-20 12:51:28,886.886 INFO    ] Checking for camera pi updates...
[2026-10-20 12:51:28,920.920 INFO    ] 200
[2026-10-20 12:51:28,923.923 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:51:28,965.965 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:51:29,021.021 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:51:29,024.024 INFO    ] No camera update needed
[2026-10-20 12:51:29,026.026 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:51:29,029.029 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:51:29,035.035 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:51:29,041.041 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:51:31,085.085 INFO    ] ================================================
[2026-10-20 12:51:31,101.101 INFO    ] Launching Daemon at Tue Oct 20 12:51:31 IST 2026
[2026-10-20 12:51:31,113.113 INFO    ] ================================================
[2026-10-20 12:51:31,795.795 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:51:31
[2026-10-20 12:51:32,511.511 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:51:32,837.837 INFO    ] Initializing speech engine...
[2026-10-20 12:51:32,851.851 INFO    ] 2026-10-20 12:51:32
[2026-10-20 12:51:33,127.127 INFO    ] 2026-10-20 12:51:33
[2026-10-20 12:51:33,173.173 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:51:33,401.401 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:51:33,416.416 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:51:33,631.631 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:51:33,665.665 INFO    ] time= 20/10/2026 12:51:33
[2026-10-20 12:51:33,685.685 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:51:33,713.713 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:51:33,873.873 INFO    ] No existing commands found in stream
[2026-10-20 12:51:38,904.904 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:51:38,907.907 INFO    ] Waiting 2.06 seconds before fallback handling...
[2026-10-20 12:51:41,503.503 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:51:41,506.506 INFO    ] Checking for system updates...
[2026-10-20 12:51:41,544.544 INFO    ] 200
[2026-10-20 12:51:41,546.546 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:51:41,600.600 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:51:41,603.603 INFO    ] No update needed
[2026-10-20 12:51:41,605.605 INFO    ] Checking for camera pi updates...
[2026-10-20 12:51:41,639.639 INFO    ] 200
[2026-10-20 12:51:41,642.642 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:51:41,683.683 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:51:41,737.737 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:51:41,740.740 INFO    ] No camera update needed
[2026-10-20 12:51:41,742.742 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:51:41,745.745 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:51:41,750.750 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:51:41,755.755 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:51:43,795.795 INFO    ] ================================================
[2026-10-20 12:51:43,810.810 INFO    ] Launching Daemon at Tue Oct 20 12:51:43 IST 2026
[2026-10-20 12:51:43,821.821 INFO    ] ================================================
[2026-10-20 12:51:44,478.478 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:51:44
[2026-10-20 12:51:45,152.152 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:51:45,464.464 INFO    ] Initializing speech engine...
[2026-10-20 12:51:45,471.471 INFO    ] 2026-10-20 12:51:45
[2026-10-20 12:51:45,749.749 INFO    ] 2026-10-20 12:51:45
[2026-10-20 12:51:45,806.806 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:51:46,035.035 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:51:46,040.040 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:51:46,260.260 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:51:46,298.298 INFO    ] time= 20/10/2026 12:51:46
[2026-10-20 12:51:46,305.305 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:51:46,326.326 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:51:46,457.457 INFO    ] No existing commands found in stream
[2026-10-20 12:51:51,473.473 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:51:51,477.477 INFO    ] Waiting 0.17 seconds before fallback handling...
[2026-10-20 12:51:52,168.168 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:51:52,171.171 INFO    ] Checking for system updates...
[2026-10-20 12:51:52,207.207 INFO    ] 200
[2026-10-20 12:51:52,210.210 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:51:52,261.261 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:51:52,264.264 INFO    ] No update needed
[2026-10-20 12:51:52,266.266 INFO    ] Checking for camera pi updates...
[2026-10-20 12:51:52,300.300 INFO    ] 200
[2026-10-20 12:51:52,302.302 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:51:52,347.347 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:51:52,394.394 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:51:52,397.397 INFO    ] No camera update needed
[2026-10-20 12:51:52,399.399 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:51:52,401.401 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:51:52,407.407 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:51:52,412.412 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:51:54,451.451 INFO    ] ================================================
[2026-10-20 12:51:54,467.467 INFO    ] Launching Daemon at Tue Oct 20 12:51:54 IST 2026
[2026-10-20 12:51:54,478.478 INFO    ] ================================================
[2026-10-20 12:51:55,130.130 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:51:55
[2026-10-20 12:51:55,804.804 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:51:56,112.112 INFO    ] Initializing speech engine...
[2026-10-20 12:51:56,124.124 INFO    ] 2026-10-20 12:51:56
[2026-10-20 12:51:56,401.401 INFO    ] 2026-10-20 12:51:56
[2026-10-20 12:51:56,448.448 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:51:56,733.733 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:51:56,738.738 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:51:56,933.933 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:51:56,952.952 INFO    ] time= 20/10/2026 12:51:56
[2026-10-20 12:51:56,962.962 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:51:56,989.989 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:51:57,115.115 INFO    ] No existing commands found in stream
[2026-10-20 12:52:02,141.141 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:52:02,145.145 INFO    ] Waiting 3.94 seconds before fallback handling...
[2026-10-20 12:52:06,615.615 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 12:52:06,618.618 INFO    ] Checking for system updates...
[2026-10-20 12:52:06,655.655 INFO    ] 200
[2026-10-20 12:52:06,658.658 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:52:06,711.711 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:52:06,713.713 INFO    ] No update needed
[2026-10-20 12:52:06,716.716 INFO    ] Checking for camera pi updates...
[2026-10-20 12:52:06,751.751 INFO    ] 200
[2026-10-20 12:52:06,754.754 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:52:06,795.795 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:52:06,840.840 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:52:06,843.843 INFO    ] No camera update needed
[2026-10-20 12:52:06,846.846 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:52:06,849.849 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:52:06,855.855 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:52:06,861.861 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:52:08,903.903 INFO    ] ================================================
[2026-10-20 12:52:08,918.918 INFO    ] Launching Daemon at Tue Oct 20 12:52:08 IST 2026
[2026-10-20 12:52:08,929.929 INFO    ] ================================================
[2026-10-20 12:52:09,517.517 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:52:09
[2026-10-20 12:52:10,107.107 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:52:10,361.361 INFO    ] Initializing speech engine...
[2026-10-20 12:52:10,367.367 INFO    ] 2026-10-20 12:52:10
[2026-10-20 12:52:10,666.666 INFO    ] 2026-10-20 12:52:10
[2026-10-20 12:52:10,701.701 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:52:10,961.961 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:52:10,969.969 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:52:11,149.149 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:52:11,204.204 INFO    ] time= 20/10/2026 12:52:11
[2026-10-20 12:52:11,240.240 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:52:11,246.246 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:52:11,393.393 INFO    ] No existing commands found in stream
[2026-10-20 12:52:16,407.407 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:52:16,410.410 INFO    ] Waiting 3.37 seconds before fallback handling...
[2026-10-20 12:52:20,301.301 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 12:52:20,303.303 INFO    ] Checking for system updates...
[2026-10-20 12:52:20,339.339 INFO    ] 200
[2026-10-20 12:52:20,341.341 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:52:20,393.393 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:52:20,396.396 INFO    ] No update needed
[2026-10-20 12:52:20,398.398 INFO    ] Checking for camera pi updates...
[2026-10-20 12:52:20,435.435 INFO    ] 200
[2026-10-20 12:52:20,438.438 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:52:20,477.477 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:52:20,525.525 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:52:20,528.528 INFO    ] No camera update needed
[2026-10-20 12:52:20,533.533 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:52:20,536.536 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:52:20,542.542 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:52:20,548.548 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:52:22,589.589 INFO    ] ================================================
[2026-10-20 12:52:22,604.604 INFO    ] Launching Daemon at Tue Oct 20 12:52:22 IST 2026
[2026-10-20 12:52:22,615.615 INFO    ] ================================================
[2026-10-20 12:52:23,180.180 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:52:23
[2026-10-20 12:52:23,766.766 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:52:24,021.021 INFO    ] Initializing speech engine...
[2026-10-20 12:52:24,027.027 INFO    ] 2026-10-20 12:52:24
[2026-10-20 12:52:24,327.327 INFO    ] 2026-10-20 12:52:24
[2026-10-20 12:52:24,363.363 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:52:24,580.580 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:52:24,598.598 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:52:24,753.753 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:52:24,758.758 INFO    ] time= 20/10/2026 12:52:24
[2026-10-20 12:52:24,764.764 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:52:24,770.770 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:52:24,893.893 INFO    ] No existing commands found in stream
[2026-10-20 12:52:29,919.919 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:52:29,921.921 INFO    ] Waiting 3.19 seconds before fallback handling...
[2026-10-20 12:52:33,633.633 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:52:33,635.635 INFO    ] Checking for system updates...
[2026-10-20 12:52:33,675.675 INFO    ] 200
[2026-10-20 12:52:33,677.677 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:52:33,730.730 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:52:33,733.733 INFO    ] No update needed
[2026-10-20 12:52:33,735.735 INFO    ] Checking for camera pi updates...
[2026-10-20 12:52:33,768.768 INFO    ] 200
[2026-10-20 12:52:33,771.771 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:52:33,812.812 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:52:33,865.865 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:52:33,867.867 INFO    ] No camera update needed
[2026-10-20 12:52:33,870.870 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:52:33,872.872 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:52:33,877.877 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:52:33,882.882 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:52:35,923.923 INFO    ] ================================================
[2026-10-20 12:52:35,939.939 INFO    ] Launching Daemon at Tue Oct 20 12:52:35 IST 2026
[2026-10-20 12:52:35,951.951 INFO    ] ================================================
[2026-10-20 12:52:36,628.628 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:52:36
[2026-10-20 12:52:37,323.323 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:52:37,642.642 INFO    ] Initializing speech engine...
[2026-10-20 12:52:37,649.649 INFO    ] 2026-10-20 12:52:37
[2026-10-20 12:52:37,960.960 INFO    ] 2026-10-20 12:52:37
[2026-10-20 12:52:38,047.047 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:52:38,263.263 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:52:38,272.272 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:52:38,464.464 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:52:38,484.484 INFO    ] time= 20/10/2026 12:52:38
[2026-10-20 12:52:38,496.496 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:52:38,519.519 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:52:38,649.649 INFO    ] No existing commands found in stream
[2026-10-20 12:52:43,674.674 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:52:43,678.678 INFO    ] Waiting 1.81 seconds before fallback handling...
[2026-10-20 12:52:46,044.044 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:52:46,047.047 INFO    ] Checking for system updates...
[2026-10-20 12:52:46,084.084 INFO    ] 200
[2026-10-20 12:52:46,087.087 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:52:46,149.149 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:52:46,152.152 INFO    ] No update needed
[2026-10-20 12:52:46,155.155 INFO    ] Checking for camera pi updates...
[2026-10-20 12:52:46,190.190 INFO    ] 200
[2026-10-20 12:52:46,193.193 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:52:46,234.234 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:52:46,282.282 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:52:46,285.285 INFO    ] No camera update needed
[2026-10-20 12:52:46,288.288 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:52:46,290.290 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:52:46,297.297 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:52:46,303.303 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:52:48,345.345 INFO    ] ================================================
[2026-10-20 12:52:48,361.361 INFO    ] Launching Daemon at Tue Oct 20 12:52:48 IST 2026
[2026-10-20 12:52:48,372.372 INFO    ] ================================================
[2026-10-20 12:52:48,939.939 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:52:48
[2026-10-20 12:52:49,523.523 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:52:49,768.768 INFO    ] Initializing speech engine...
[2026-10-20 12:52:49,776.776 INFO    ] 2026-10-20 12:52:49
[2026-10-20 12:52:50,049.049 INFO    ] 2026-10-20 12:52:50
[2026-10-20 12:52:50,084.084 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:52:50,345.345 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:52:50,354.354 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:52:50,555.555 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:52:50,605.605 INFO    ] time= 20/10/2026 12:52:50
[2026-10-20 12:52:50,624.624 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:52:50,639.639 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:52:50,787.787 INFO    ] No existing commands found in stream
[2026-10-20 12:52:55,812.812 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:52:55,815.815 INFO    ] Waiting 3.67 seconds before fallback handling...
[2026-10-20 12:52:59,991.991 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 12:52:59,993.993 INFO    ] Checking for system updates...
[2026-10-20 12:53:00,028.028 INFO    ] 200
[2026-10-20 12:53:00,031.031 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:53:00,091.091 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:53:00,093.093 INFO    ] No update needed
[2026-10-20 12:53:00,095.095 INFO    ] Checking for camera pi updates...
[2026-10-20 12:53:00,128.128 INFO    ] 200
[2026-10-20 12:53:00,131.131 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:53:00,172.172 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:53:00,216.216 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:53:00,219.219 INFO    ] No camera update needed
[2026-10-20 12:53:00,221.221 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:53:00,223.223 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:53:00,229.229 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:53:00,234.234 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:53:02,286.286 INFO    ] ================================================
[2026-10-20 12:53:02,304.304 INFO    ] Launching Daemon at Tue Oct 20 12:53:02 IST 2026
[2026-10-20 12:53:02,316.316 INFO    ] ================================================
[2026-10-20 12:53:03,038.038 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:53:03
[2026-10-20 12:53:03,684.684 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:53:03,975.975 INFO    ] Initializing speech engine...
[2026-10-20 12:53:03,983.983 INFO    ] 2026-10-20 12:53:03
[2026-10-20 12:53:04,241.241 INFO    ] 2026-10-20 12:53:04
[2026-10-20 12:53:04,295.295 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:53:04,574.574 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:53:04,582.582 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:53:04,776.776 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:53:04,782.782 INFO    ] time= 20/10/2026 12:53:04
[2026-10-20 12:53:04,799.799 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:53:04,817.817 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:53:04,935.935 INFO    ] No existing commands found in stream
[2026-10-20 12:53:09,964.964 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:53:09,966.966 INFO    ] Waiting 3.14 seconds before fallback handling...
[2026-10-20 12:53:13,627.627 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:53:13,630.630 INFO    ] Checking for system updates...
[2026-10-20 12:53:13,666.666 INFO    ] 200
[2026-10-20 12:53:13,669.669 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:53:13,730.730 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:53:13,733.733 INFO    ] No update needed
[2026-10-20 12:53:13,736.736 INFO    ] Checking for camera pi updates...
[2026-10-20 12:53:13,775.775 INFO    ] 200
[2026-10-20 12:53:13,778.778 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:53:13,820.820 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:53:13,866.866 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:53:13,869.869 INFO    ] No camera update needed
[2026-10-20 12:53:13,872.872 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:53:13,875.875 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:53:13,881.881 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:53:13,887.887 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:53:15,929.929 INFO    ] ================================================
[2026-10-20 12:53:15,944.944 INFO    ] Launching Daemon at Tue Oct 20 12:53:15 IST 2026
[2026-10-20 12:53:15,955.955 INFO    ] ================================================
[2026-10-20 12:53:16,611.611 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:53:16
[2026-10-20 12:53:17,290.290 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:53:17,595.595 INFO    ] Initializing speech engine...
[2026-10-20 12:53:17,603.603 INFO    ] 2026-10-20 12:53:17
[2026-10-20 12:53:17,919.919 INFO    ] 2026-10-20 12:53:17
[2026-10-20 12:53:18,007.007 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:53:18,183.183 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:53:18,190.190 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:53:18,397.397 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:53:18,429.429 INFO    ] time= 20/10/2026 12:53:18
[2026-10-20 12:53:18,445.445 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:53:18,455.455 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:53:18,590.590 INFO    ] No existing commands found in stream
[2026-10-20 12:53:23,621.621 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:53:23,625.625 INFO    ] Waiting 3.68 seconds before fallback handling...
[2026-10-20 12:53:27,896.896 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:53:27,899.899 INFO    ] Checking for system updates...
[2026-10-20 12:53:27,936.936 INFO    ] 200
[2026-10-20 12:53:27,939.939 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:53:27,992.992 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:53:27,995.995 INFO    ] No update needed
[2026-10-20 12:53:27,998.998 INFO    ] Checking for camera pi updates...
[2026-10-20 12:53:28,032.032 INFO    ] 200
[2026-10-20 12:53:28,035.035 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:53:28,076.076 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:53:28,127.127 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:53:28,130.130 INFO    ] No camera update needed
[2026-10-20 12:53:28,133.133 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:53:28,136.136 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:53:28,142.142 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:53:28,148.148 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:53:30,187.187 INFO    ] ================================================
[2026-10-20 12:53:30,202.202 INFO    ] Launching Daemon at Tue Oct 20 12:53:30 IST 2026
[2026-10-20 12:53:30,213.213 INFO    ] ================================================
[2026-10-20 12:53:30,874.874 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:53:30
[2026-10-20 12:53:31,583.583 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:53:31,924.924 INFO    ] Initializing speech engine...
[2026-10-20 12:53:31,934.934 INFO    ] 2026-10-20 12:53:31
[2026-10-20 12:53:32,239.239 INFO    ] 2026-10-20 12:53:32
[2026-10-20 12:53:32,279.279 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:53:32,585.585 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:53:32,594.594 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:53:32,801.801 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:53:32,809.809 INFO    ] time= 20/10/2026 12:53:32
[2026-10-20 12:53:32,829.829 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:53:32,858.858 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:53:32,993.993 INFO    ] No existing commands found in stream
[2026-10-20 12:53:38,024.024 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:53:38,027.027 INFO    ] Waiting 2.70 seconds before fallback handling...
[2026-10-20 12:53:41,278.278 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:53:41,282.282 INFO    ] Checking for system updates...
[2026-10-20 12:53:41,319.319 INFO    ] 200
[2026-10-20 12:53:41,322.322 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:53:41,383.383 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:53:41,386.386 INFO    ] No update needed
[2026-10-20 12:53:41,389.389 INFO    ] Checking for camera pi updates...
[2026-10-20 12:53:41,423.423 INFO    ] 200
[2026-10-20 12:53:41,426.426 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:53:41,467.467 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:53:41,509.509 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:53:41,512.512 INFO    ] No camera update needed
[2026-10-20 12:53:41,515.515 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:53:41,518.518 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:53:41,524.524 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:53:41,530.530 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:53:43,571.571 INFO    ] ================================================
[2026-10-20 12:53:43,586.586 INFO    ] Launching Daemon at Tue Oct 20 12:53:43 IST 2026
[2026-10-20 12:53:43,597.597 INFO    ] ================================================
[2026-10-20 12:53:44,165.165 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:53:44
[2026-10-20 12:53:44,750.750 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:53:44,997.997 INFO    ] Initializing speech engine...
[2026-10-20 12:53:45,003.003 INFO    ] 2026-10-20 12:53:44
[2026-10-20 12:53:45,277.277 INFO    ] 2026-10-20 12:53:45
[2026-10-20 12:53:45,313.313 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:53:45,571.571 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:53:45,581.581 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:53:45,793.793 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:53:45,849.849 INFO    ] time= 20/10/2026 12:53:45
[2026-10-20 12:53:45,856.856 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:53:45,875.875 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:53:46,013.013 INFO    ] No existing commands found in stream
[2026-10-20 12:53:51,037.037 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:53:51,040.040 INFO    ] Waiting 3.89 seconds before fallback handling...
[2026-10-20 12:53:55,490.490 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:53:55,493.493 INFO    ] Checking for system updates...
[2026-10-20 12:53:55,530.530 INFO    ] 200
[2026-10-20 12:53:55,533.533 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:53:55,588.588 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:53:55,591.591 INFO    ] No update needed
[2026-10-20 12:53:55,594.594 INFO    ] Checking for camera pi updates...
[2026-10-20 12:53:55,630.630 INFO    ] 200
[2026-10-20 12:53:55,633.633 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:53:55,674.674 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:53:55,740.740 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:53:55,743.743 INFO    ] No camera update needed
[2026-10-20 12:53:55,745.745 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:53:55,748.748 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:53:55,754.754 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:53:55,761.761 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:53:57,803.803 INFO    ] ================================================
[2026-10-20 12:53:57,820.820 INFO    ] Launching Daemon at Tue Oct 20 12:53:57 IST 2026
[2026-10-20 12:53:57,830.830 INFO    ] ================================================
[2026-10-20 12:53:58,414.414 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:53:58
[2026-10-20 12:53:59,016.016 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:53:59,278.278 INFO    ] Initializing speech engine...
[2026-10-20 12:53:59,286.286 INFO    ] 2026-10-20 12:53:59
[2026-10-20 12:53:59,586.586 INFO    ] 2026-10-20 12:53:59
[2026-10-20 12:53:59,625.625 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:53:59,851.851 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:53:59,859.859 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:54:00,069.069 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:54:00,090.090 INFO    ] time= 20/10/2026 12:54:00
[2026-10-20 12:54:00,132.132 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:54:00,187.187 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:54:00,370.370 INFO    ] No existing commands found in stream
[2026-10-20 12:54:05,387.387 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:54:05,391.391 INFO    ] Waiting 1.30 seconds before fallback handling...
[2026-10-20 12:54:07,195.195 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:54:07,203.203 INFO    ] Checking for system updates...
[2026-10-20 12:54:07,240.240 INFO    ] 200
[2026-10-20 12:54:07,243.243 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:54:07,306.306 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:54:07,309.309 INFO    ] No update needed
[2026-10-20 12:54:07,311.311 INFO    ] Checking for camera pi updates...
[2026-10-20 12:54:07,349.349 INFO    ] 200
[2026-10-20 12:54:07,351.351 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:54:07,392.392 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:54:07,436.436 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:54:07,438.438 INFO    ] No camera update needed
[2026-10-20 12:54:07,441.441 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:54:07,443.443 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:54:07,449.449 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:54:07,454.454 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:54:09,496.496 INFO    ] ================================================
[2026-10-20 12:54:09,513.513 INFO    ] Launching Daemon at Tue Oct 20 12:54:09 IST 2026
[2026-10-20 12:54:09,524.524 INFO    ] ================================================
[2026-10-20 12:54:10,185.185 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:54:10
[2026-10-20 12:54:10,866.866 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:54:11,174.174 INFO    ] Initializing speech engine...
[2026-10-20 12:54:11,188.188 INFO    ] 2026-10-20 12:54:11
[2026-10-20 12:54:11,497.497 INFO    ] 2026-10-20 12:54:11
[2026-10-20 12:54:11,585.585 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:54:11,801.801 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:54:11,809.809 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:54:12,021.021 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:54:12,050.050 INFO    ] time= 20/10/2026 12:54:12
[2026-10-20 12:54:12,060.060 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:54:12,086.086 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:54:12,233.233 INFO    ] No existing commands found in stream
[2026-10-20 12:54:17,259.259 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:54:17,262.262 INFO    ] Waiting 2.94 seconds before fallback handling...
[2026-10-20 12:54:20,759.759 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 12:54:20,762.762 INFO    ] Checking for system updates...
[2026-10-20 12:54:20,799.799 INFO    ] 200
[2026-10-20 12:54:20,802.802 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:54:20,856.856 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:54:20,858.858 INFO    ] No update needed
[2026-10-20 12:54:20,861.861 INFO    ] Checking for camera pi updates...
[2026-10-20 12:54:20,896.896 INFO    ] 200
[2026-10-20 12:54:20,898.898 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:54:20,940.940 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:54:20,993.993 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:54:20,996.996 INFO    ] No camera update needed
[2026-10-20 12:54:20,999.999 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:54:21,001.001 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:54:21,008.008 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:54:21,015.015 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:54:23,056.056 INFO    ] ================================================
[2026-10-20 12:54:23,072.072 INFO    ] Launching Daemon at Tue Oct 20 12:54:23 IST 2026
[2026-10-20 12:54:23,083.083 INFO    ] ================================================
[2026-10-20 12:54:23,653.653 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:54:23
[2026-10-20 12:54:24,261.261 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:54:24,526.526 INFO    ] Initializing speech engine...
[2026-10-20 12:54:24,535.535 INFO    ] 2026-10-20 12:54:24
[2026-10-20 12:54:24,835.835 INFO    ] 2026-10-20 12:54:24
[2026-10-20 12:54:24,873.873 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:54:25,101.101 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:54:25,125.125 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:54:25,336.336 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:54:25,363.363 INFO    ] time= 20/10/2026 12:54:25
[2026-10-20 12:54:25,409.409 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:54:25,454.454 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:54:25,582.582 INFO    ] No existing commands found in stream
[2026-10-20 12:54:30,594.594 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:54:30,597.597 INFO    ] Waiting 3.65 seconds before fallback handling...
[2026-10-20 12:54:34,774.774 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:54:34,776.776 INFO    ] Checking for system updates...
[2026-10-20 12:54:34,812.812 INFO    ] 200
[2026-10-20 12:54:34,814.814 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:54:34,866.866 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:54:34,869.869 INFO    ] No update needed
[2026-10-20 12:54:34,872.872 INFO    ] Checking for camera pi updates...
[2026-10-20 12:54:34,906.906 INFO    ] 200
[2026-10-20 12:54:34,909.909 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:54:34,954.954 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:54:35,101.101 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:54:35,103.103 INFO    ] No camera update needed
[2026-10-20 12:54:35,106.106 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:54:35,108.108 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:54:35,114.114 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:54:35,119.119 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:54:37,158.158 INFO    ] ================================================
[2026-10-20 12:54:37,174.174 INFO    ] Launching Daemon at Tue Oct 20 12:54:37 IST 2026
[2026-10-20 12:54:37,185.185 INFO    ] ================================================
[2026-10-20 12:54:37,752.752 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:54:37
[2026-10-20 12:54:38,333.333 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:54:38,605.605 INFO    ] Initializing speech engine...
[2026-10-20 12:54:38,611.611 INFO    ] 2026-10-20 12:54:38
[2026-10-20 12:54:38,862.862 INFO    ] 2026-10-20 12:54:38
[2026-10-20 12:54:38,897.897 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:54:39,140.140 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:54:39,149.149 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:54:39,374.374 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:54:39,407.407 INFO    ] time= 20/10/2026 12:54:39
[2026-10-20 12:54:39,412.412 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:54:39,430.430 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:54:39,559.559 INFO    ] No existing commands found in stream
[2026-10-20 12:54:44,572.572 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:54:44,575.575 INFO    ] Waiting 1.14 seconds before fallback handling...
[2026-10-20 12:54:46,184.184 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:54:46,187.187 INFO    ] Checking for system updates...
[2026-10-20 12:54:46,222.222 INFO    ] 200
[2026-10-20 12:54:46,224.224 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:54:46,277.277 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:54:46,280.280 INFO    ] No update needed
[2026-10-20 12:54:46,282.282 INFO    ] Checking for camera pi updates...
[2026-10-20 12:54:46,315.315 INFO    ] 200
[2026-10-20 12:54:46,317.317 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:54:46,357.357 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:54:46,412.412 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:54:46,414.414 INFO    ] No camera update needed
[2026-10-20 12:54:46,416.416 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:54:46,419.419 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:54:46,424.424 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:54:46,429.429 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:54:48,470.470 INFO    ] ================================================
[2026-10-20 12:54:48,486.486 INFO    ] Launching Daemon at Tue Oct 20 12:54:48 IST 2026
[2026-10-20 12:54:48,497.497 INFO    ] ================================================
[2026-10-20 12:54:49,064.064 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:54:49
[2026-10-20 12:54:49,648.648 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:54:49,911.911 INFO    ] Initializing speech engine...
[2026-10-20 12:54:49,932.932 INFO    ] 2026-10-20 12:54:49
[2026-10-20 12:54:50,209.209 INFO    ] 2026-10-20 12:54:50
[2026-10-20 12:54:50,243.243 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:54:50,444.444 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:54:50,460.460 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:54:50,628.628 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:54:50,635.635 INFO    ] time= 20/10/2026 12:54:50
[2026-10-20 12:54:50,642.642 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:54:50,689.689 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:54:50,828.828 INFO    ] No existing commands found in stream
[2026-10-20 12:54:55,859.859 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:54:55,862.862 INFO    ] Waiting 0.37 seconds before fallback handling...
[2026-10-20 12:54:56,770.770 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:54:56,773.773 INFO    ] Checking for system updates...
[2026-10-20 12:54:56,810.810 INFO    ] 200
[2026-10-20 12:54:56,812.812 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:54:56,865.865 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:54:56,868.868 INFO    ] No update needed
[2026-10-20 12:54:56,871.871 INFO    ] Checking for camera pi updates...
[2026-10-20 12:54:56,906.906 INFO    ] 200
[2026-10-20 12:54:56,909.909 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:54:56,958.958 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:54:57,004.004 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:54:57,007.007 INFO    ] No camera update needed
[2026-10-20 12:54:57,010.010 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:54:57,012.012 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:54:57,019.019 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:54:57,025.025 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:54:59,065.065 INFO    ] ================================================
[2026-10-20 12:54:59,081.081 INFO    ] Launching Daemon at Tue Oct 20 12:54:59 IST 2026
[2026-10-20 12:54:59,093.093 INFO    ] ================================================
[2026-10-20 12:54:59,670.670 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:54:59
[2026-10-20 12:55:00,259.259 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:55:00,515.515 INFO    ] Initializing speech engine...
[2026-10-20 12:55:00,523.523 INFO    ] 2026-10-20 12:55:00
[2026-10-20 12:55:00,819.819 INFO    ] 2026-10-20 12:55:00
[2026-10-20 12:55:00,858.858 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:55:01,082.082 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:55:01,091.091 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:55:01,242.242 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:55:01,247.247 INFO    ] time= 20/10/2026 12:55:01
[2026-10-20 12:55:01,253.253 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:55:01,275.275 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:55:01,419.419 INFO    ] No existing commands found in stream
[2026-10-20 12:55:06,435.435 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:55:06,437.437 INFO    ] Waiting 3.49 seconds before fallback handling...
[2026-10-20 12:55:10,903.903 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:55:10,906.906 INFO    ] Checking for system updates...
[2026-10-20 12:55:10,945.945 INFO    ] 200
[2026-10-20 12:55:10,948.948 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:55:11,008.008 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:55:11,011.011 INFO    ] No update needed
[2026-10-20 12:55:11,013.013 INFO    ] Checking for camera pi updates...
[2026-10-20 12:55:11,046.046 INFO    ] 200
[2026-10-20 12:55:11,048.048 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:55:11,089.089 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:55:11,125.125 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:55:11,127.127 INFO    ] No camera update needed
[2026-10-20 12:55:11,130.130 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:55:11,132.132 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:55:11,137.137 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:55:11,142.142 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:55:13,189.189 INFO    ] ================================================
[2026-10-20 12:55:13,204.204 INFO    ] Launching Daemon at Tue Oct 20 12:55:13 IST 2026
[2026-10-20 12:55:13,215.215 INFO    ] ================================================
[2026-10-20 12:55:13,798.798 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:55:13
[2026-10-20 12:55:14,399.399 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:55:14,667.667 INFO    ] Initializing speech engine...
[2026-10-20 12:55:14,682.682 INFO    ] 2026-10-20 12:55:14
[2026-10-20 12:55:14,973.973 INFO    ] 2026-10-20 12:55:14
[2026-10-20 12:55:15,009.009 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:55:15,241.241 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:55:15,249.249 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:55:15,442.442 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:55:15,464.464 INFO    ] time= 20/10/2026 12:55:15
[2026-10-20 12:55:15,518.518 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:55:15,576.576 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:55:15,728.728 INFO    ] No existing commands found in stream
[2026-10-20 12:55:20,747.747 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:55:20,750.750 INFO    ] Waiting 0.78 seconds before fallback handling...
[2026-10-20 12:55:22,073.073 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 12:55:22,076.076 INFO    ] Checking for system updates...
[2026-10-20 12:55:22,112.112 INFO    ] 200
[2026-10-20 12:55:22,114.114 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:55:22,166.166 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:55:22,169.169 INFO    ] No update needed
[2026-10-20 12:55:22,171.171 INFO    ] Checking for camera pi updates...
[2026-10-20 12:55:22,211.211 INFO    ] 200
[2026-10-20 12:55:22,213.213 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:55:22,253.253 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:55:22,299.299 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:55:22,301.301 INFO    ] No camera update needed
[2026-10-20 12:55:22,304.304 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:55:22,306.306 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:55:22,312.312 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:55:22,317.317 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:55:24,357.357 INFO    ] ================================================
[2026-10-20 12:55:24,373.373 INFO    ] Launching Daemon at Tue Oct 20 12:55:24 IST 2026
[2026-10-20 12:55:24,384.384 INFO    ] ================================================
[2026-10-20 12:55:25,050.050 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:55:25
[2026-10-20 12:55:25,738.738 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:55:26,051.051 INFO    ] Initializing speech engine...
[2026-10-20 12:55:26,062.062 INFO    ] 2026-10-20 12:55:26
[2026-10-20 12:55:26,349.349 INFO    ] 2026-10-20 12:55:26
[2026-10-20 12:55:26,396.396 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:55:26,688.688 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:55:26,695.695 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:55:26,894.894 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:55:26,914.914 INFO    ] time= 20/10/2026 12:55:26
[2026-10-20 12:55:26,924.924 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:55:26,954.954 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:55:27,092.092 INFO    ] No existing commands found in stream
[2026-10-20 12:55:32,129.129 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:55:32,133.133 INFO    ] Waiting 1.81 seconds before fallback handling...
[2026-10-20 12:55:34,526.526 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:55:34,529.529 INFO    ] Checking for system updates...
[2026-10-20 12:55:34,567.567 INFO    ] 200
[2026-10-20 12:55:34,570.570 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:55:34,623.623 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:55:34,626.626 INFO    ] No update needed
[2026-10-20 12:55:34,629.629 INFO    ] Checking for camera pi updates...
[2026-10-20 12:55:34,664.664 INFO    ] 200
[2026-10-20 12:55:34,667.667 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:55:34,708.708 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:55:34,761.761 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:55:34,764.764 INFO    ] No camera update needed
[2026-10-20 12:55:34,767.767 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:55:34,770.770 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:55:34,776.776 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:55:34,782.782 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:55:36,823.823 INFO    ] ================================================
[2026-10-20 12:55:36,839.839 INFO    ] Launching Daemon at Tue Oct 20 12:55:36 IST 2026
[2026-10-20 12:55:36,851.851 INFO    ] ================================================
[2026-10-20 12:55:37,428.428 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:55:37
[2026-10-20 12:55:38,031.031 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:55:38,305.305 INFO    ] Initializing speech engine...
[2026-10-20 12:55:38,314.314 INFO    ] 2026-10-20 12:55:38
[2026-10-20 12:55:38,562.562 INFO    ] 2026-10-20 12:55:38
[2026-10-20 12:55:38,603.603 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:55:38,855.855 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:55:38,859.859 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:55:39,081.081 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:55:39,119.119 INFO    ] time= 20/10/2026 12:55:39
[2026-10-20 12:55:39,125.125 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:55:39,145.145 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:55:39,287.287 INFO    ] No existing commands found in stream
[2026-10-20 12:55:44,325.325 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:55:44,328.328 INFO    ] Waiting 2.50 seconds before fallback handling...
[2026-10-20 12:55:47,329.329 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:55:47,332.332 INFO    ] Checking for system updates...
[2026-10-20 12:55:47,368.368 INFO    ] 200
[2026-10-20 12:55:47,371.371 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:55:47,430.430 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:55:47,433.433 INFO    ] No update needed
[2026-10-20 12:55:47,435.435 INFO    ] Checking for camera pi updates...
[2026-10-20 12:55:47,473.473 INFO    ] 200
[2026-10-20 12:55:47,476.476 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:55:47,516.516 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:55:47,569.569 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:55:47,572.572 INFO    ] No camera update needed
[2026-10-20 12:55:47,574.574 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:55:47,576.576 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:55:47,582.582 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:55:47,587.587 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:55:49,630.630 INFO    ] ================================================
[2026-10-20 12:55:49,646.646 INFO    ] Launching Daemon at Tue Oct 20 12:55:49 IST 2026
[2026-10-20 12:55:49,657.657 INFO    ] ================================================
[2026-10-20 12:55:50,241.241 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:55:50
[2026-10-20 12:55:50,840.840 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:55:51,118.118 INFO    ] Initializing speech engine...
[2026-10-20 12:55:51,127.127 INFO    ] 2026-10-20 12:55:51
[2026-10-20 12:55:51,383.383 INFO    ] 2026-10-20 12:55:51
[2026-10-20 12:55:51,414.414 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:55:51,664.664 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:55:51,669.669 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:55:51,896.896 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:55:51,925.925 INFO    ] time= 20/10/2026 12:55:51
[2026-10-20 12:55:51,931.931 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:55:51,949.949 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:55:52,104.104 INFO    ] No existing commands found in stream
[2026-10-20 12:55:57,140.140 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:55:57,142.142 INFO    ] Waiting 0.59 seconds before fallback handling...
[2026-10-20 12:55:58,266.266 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:55:58,269.269 INFO    ] Checking for system updates...
[2026-10-20 12:55:58,305.305 INFO    ] 200
[2026-10-20 12:55:58,307.307 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:55:58,359.359 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:55:58,362.362 INFO    ] No update needed
[2026-10-20 12:55:58,364.364 INFO    ] Checking for camera pi updates...
[2026-10-20 12:55:58,397.397 INFO    ] 200
[2026-10-20 12:55:58,399.399 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:55:58,439.439 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:55:58,485.485 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:55:58,487.487 INFO    ] No camera update needed
[2026-10-20 12:55:58,490.490 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:55:58,492.492 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:55:58,497.497 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:55:58,502.502 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:56:00,544.544 INFO    ] ================================================
[2026-10-20 12:56:00,561.561 INFO    ] Launching Daemon at Tue Oct 20 12:56:00 IST 2026
[2026-10-20 12:56:00,573.573 INFO    ] ================================================
[2026-10-20 12:56:01,163.163 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:56:01
[2026-10-20 12:56:01,861.861 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:56:02,300.300 INFO    ] Initializing speech engine...
[2026-10-20 12:56:02,309.309 INFO    ] 2026-10-20 12:56:02
[2026-10-20 12:56:02,645.645 INFO    ] 2026-10-20 12:56:02
[2026-10-20 12:56:02,736.736 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:56:02,976.976 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:56:02,987.987 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:56:03,232.232 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:56:03,267.267 INFO    ] time= 20/10/2026 12:56:03
[2026-10-20 12:56:03,275.275 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:56:03,287.287 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:56:03,411.411 INFO    ] No existing commands found in stream
[2026-10-20 12:56:08,435.435 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:56:08,438.438 INFO    ] Waiting 0.35 seconds before fallback handling...
[2026-10-20 12:56:09,306.306 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:56:09,309.309 INFO    ] Checking for system updates...
[2026-10-20 12:56:09,345.345 INFO    ] 200
[2026-10-20 12:56:09,348.348 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:56:09,402.402 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:56:09,405.405 INFO    ] No update needed
[2026-10-20 12:56:09,408.408 INFO    ] Checking for camera pi updates...
[2026-10-20 12:56:09,442.442 INFO    ] 200
[2026-10-20 12:56:09,445.445 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:56:09,491.491 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:56:09,536.536 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:56:09,539.539 INFO    ] No camera update needed
[2026-10-20 12:56:09,542.542 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:56:09,544.544 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:56:09,551.551 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:56:09,557.557 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:56:11,597.597 INFO    ] ================================================
[2026-10-20 12:56:11,612.612 INFO    ] Launching Daemon at Tue Oct 20 12:56:11 IST 2026
[2026-10-20 12:56:11,623.623 INFO    ] ================================================
[2026-10-20 12:56:12,207.207 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:56:12
[2026-10-20 12:56:12,806.806 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:56:13,077.077 INFO    ] Initializing speech engine...
[2026-10-20 12:56:13,088.088 INFO    ] 2026-10-20 12:56:13
[2026-10-20 12:56:13,333.333 INFO    ] 2026-10-20 12:56:13
[2026-10-20 12:56:13,375.375 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:56:13,624.624 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:56:13,630.630 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:56:13,782.782 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:56:13,816.816 INFO    ] time= 20/10/2026 12:56:13
[2026-10-20 12:56:13,870.870 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:56:13,907.907 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:56:14,035.035 INFO    ] No existing commands found in stream
[2026-10-20 12:56:19,058.058 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:56:19,061.061 INFO    ] Waiting 2.69 seconds before fallback handling...
[2026-10-20 12:56:22,260.260 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:56:22,262.262 INFO    ] Checking for system updates...
[2026-10-20 12:56:22,301.301 INFO    ] 200
[2026-10-20 12:56:22,303.303 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:56:22,363.363 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:56:22,365.365 INFO    ] No update needed
[2026-10-20 12:56:22,368.368 INFO    ] Checking for camera pi updates...
[2026-10-20 12:56:22,401.401 INFO    ] 200
[2026-10-20 12:56:22,403.403 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:56:22,444.444 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:56:22,494.494 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:56:22,497.497 INFO    ] No camera update needed
[2026-10-20 12:56:22,499.499 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:56:22,501.501 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:56:22,507.507 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:56:22,512.512 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:56:24,556.556 INFO    ] ================================================
[2026-10-20 12:56:24,571.571 INFO    ] Launching Daemon at Tue Oct 20 12:56:24 IST 2026
[2026-10-20 12:56:24,582.582 INFO    ] ================================================
[2026-10-20 12:56:25,236.236 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:56:25
[2026-10-20 12:56:25,910.910 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:56:26,213.213 INFO    ] Initializing speech engine...
[2026-10-20 12:56:26,227.227 INFO    ] 2026-10-20 12:56:26
[2026-10-20 12:56:26,505.505 INFO    ] 2026-10-20 12:56:26
[2026-10-20 12:56:26,551.551 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:56:26,796.796 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:56:26,804.804 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:56:26,960.960 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:56:27,000.000 INFO    ] time= 20/10/2026 12:56:26
[2026-10-20 12:56:27,045.045 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:56:27,089.089 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:56:27,183.183 INFO    ] No existing commands found in stream
[2026-10-20 12:56:31,622.622 INFO    ] Received new command: ID=1792481191571-0
[2026-10-20 12:56:31,625.625 INFO    ] process_and_cleanup_command: msg_id=1792481191571-0
[2026-10-20 12:56:31,627.627 INFO    ] is_command_expired: timestamp=2026-10-20T07:26:31.397Z, expiry=30s
[2026-10-20 12:56:31,730.730 INFO    ] Command removed from stream: 1792481191571-0. returning for processing...
[2026-10-20 12:56:31,732.732 INFO    ] ***** get_valid_command
[2026-10-20 12:56:31,734.734 INFO    ] {'timestamp': '2026-10-20T07:26:31.397Z', 'source': 'webapp', 'command': 'start-order', 'timeout': '10', 'data': '{"request_id":"start-order-1792481191397-1p36c0a2b","orderId":"TM04202203261020125600226","is_vending":false}'}
[2026-10-20 12:56:31,737.737 INFO    ] ***** Parsed command data: {'is_vending': False, 'orderId': 'TM04202203261020125600226', 'request_id': 'start-order-1792481191397-1p36c0a2b'}
[2026-10-20 12:56:31,739.739 INFO    ] Handling start order...
[2026-10-20 12:56:31,742.742 INFO    ] handle_start_order_command
[2026-10-20 12:56:31,747.747 INFO    ] _send_start_order_success: request_id=start-order-1792481191397-1p36c0a2b, order_id=TM04202203261020125600226
[2026-10-20 12:56:31,750.750 INFO    ] [_send_start_order_success] Adding message to stream: machine:TM04202203
[2026-10-20 12:56:31,830.830 INFO    ] [_send_start_order_success] Message added to stream with ID: 1792481191780-0
[2026-10-20 12:56:31,833.833 INFO    ] ✅ Start-order command succeeded - order locked, waiting for process-order command
[2026-10-20 12:56:31,837.837 INFO    ] Checking for system updates...
[2026-10-20 12:56:31,891.891 INFO    ] 200
[2026-10-20 12:56:31,895.895 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:56:31,957.957 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:56:31,960.960 INFO    ] No update needed
[2026-10-20 12:56:31,963.963 INFO    ] Checking for camera pi updates...
[2026-10-20 12:56:32,002.002 INFO    ] 200
[2026-10-20 12:56:32,005.005 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:56:32,048.048 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:56:32,089.089 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:56:32,092.092 INFO    ] No camera update needed
[2026-10-20 12:56:32,095.095 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:56:32,097.097 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:56:32,103.103 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:56:32,109.109 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:56:34,149.149 INFO    ] ================================================
[2026-10-20 12:56:34,164.164 INFO    ] Launching Daemon at Tue Oct 20 12:56:34 IST 2026
[2026-10-20 12:56:34,175.175 INFO    ] ================================================
[2026-10-20 12:56:34,739.739 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:56:34
[2026-10-20 12:56:35,323.323 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:56:35,573.573 INFO    ] Initializing speech engine...
[2026-10-20 12:56:35,587.587 INFO    ] 2026-10-20 12:56:35
[2026-10-20 12:56:35,852.852 INFO    ] 2026-10-20 12:56:35
[2026-10-20 12:56:35,886.886 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:56:36,147.147 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:56:36,157.157 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:56:36,355.355 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:56:36,404.404 INFO    ] time= 20/10/2026 12:56:36
[2026-10-20 12:56:36,424.424 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:56:36,430.430 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:56:36,586.586 INFO    ] Found 2 existing command(s) in stream
[2026-10-20 12:56:36,626.626 INFO    ] Checking historical command: ID=1792481191780-0
[2026-10-20 12:56:36,688.688 INFO    ] process_and_cleanup_command: msg_id=1792481191780-0
[2026-10-20 12:56:36,720.720 INFO    ] is_command_expired: timestamp=2026-10-20T07:26:31.748541Z, expiry=30s
[2026-10-20 12:56:36,990.990 INFO    ] Command removed from stream: 1792481191780-0. returning for processing...
[2026-10-20 12:56:37,039.039 INFO    ] ***** get_valid_command
[2026-10-20 12:56:37,055.055 INFO    ] {'timestamp': '2026-10-20T07:26:31.748541Z', 'message_type': 'command_response', 'imei': 'TM04202203', 'message': 'start-order success', 'status': 'success', 'metadata_request_id': 'start-order-1792481191397-1p36c0a2b', 'metadata_order_id': 'TM04202203261020125600226'}
[2026-10-20 12:56:37,058.058 INFO    ] Checking historical command: ID=1792481193040-0
[2026-10-20 12:56:37,086.086 INFO    ] process_and_cleanup_command: msg_id=1792481193040-0
[2026-10-20 12:56:37,112.112 INFO    ] is_command_expired: timestamp=2026-10-20T07:26:32.794Z, expiry=30s
[2026-10-20 12:56:37,256.256 INFO    ] Command removed from stream: 1792481193040-0. returning for processing...
[2026-10-20 12:56:37,308.308 INFO    ] ***** get_valid_command
[2026-10-20 12:56:37,315.315 INFO    ] {'timeout': '60', 'source': 'webapp', 'timestamp': '2026-10-20T07:26:32.794Z', 'command': 'process-order', 'data': '{"request_id":"process-order-1792481192794-4c5s93wgz","orderId":"TM04202203261020125600226","is_vending":false,"accessCode":"39139806"}'}
[2026-10-20 12:56:37,320.320 INFO    ] ***** Parsed command data: {'request_id': 'process-order-1792481192794-4c5s93wgz', 'orderId': 'TM04202203261020125600226', 'accessCode': '39139806', 'is_vending': False}
[2026-10-20 12:56:37,327.327 INFO    ] Handling process order...
[2026-10-20 12:56:37,333.333 INFO    ] Processing process-order command...
[2026-10-20 12:56:37,340.340 INFO    ] 🔍 Lock file Order ID: TM04202203261020125600226, TS: 2026-10-20 12:56:31
[2026-10-20 12:56:37,355.355 INFO    ] ✅ Order lock valid for TM04202203261020125600226
[2026-10-20 12:56:37,361.361 INFO    ] Received access code in process-order, skipping PHP API call
[2026-10-20 12:56:37,365.365 INFO    ] processing access code 39139806 for order TM04202203261020125600226
[2026-10-20 12:56:37,372.372 INFO    ] 🔍 Lock file Order ID: TM04202203261020125600226, TS: 2026-10-20 12:56:31
[2026-10-20 12:56:37,378.378 INFO    ] ✅ Order lock valid for TM04202203261020125600226
[2026-10-20 12:56:37,384.384 INFO    ] 2026-10-20 12:56:37
[2026-10-20 12:56:37,431.431 INFO    ] 200
[2026-10-20 12:56:37,435.435 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:56:37,441.441 INFO    ] 39139806
[2026-10-20 12:56:37,446.446 INFO    ] 2026-10-20 12:56:37
[2026-10-20 12:56:37,452.452 INFO    ] session id :920895588
[2026-10-20 12:56:37,456.456 INFO    ] http://localhost:5000/v2/getOrderByAccessCode?access_code=39139806&imei=TM04202203&session_id=920895588
[2026-10-20 12:56:38,749.749 INFO    ] 200
[2026-10-20 12:56:38,755.755 INFO    ] {"data": {"access_code": "39139806", "bill_amount": "25", "invoice_bill": "25", "order_id": "TM04202203261020125600226", "mobile": "7395950589", "proposed_sku_json": [{"image_url": "https://images.tinymart.in/product/4500499-5719.webp", "door_id": "2", "mrp": "25", "offer_id": "", "name": "Heritage A1 Spiced Butter Milk180ml", "unit_price": 25, "qty": 1, "offer_desc": "", "skuid": "4500499", "sku_total": 25, "tray_id": "45"}]}, "status": true, "msg": "Order Data", "rstatus": true}
[2026-10-20 12:56:38,766.766 INFO    ] 25
[2026-10-20 12:56:38,774.774 INFO    ] TM04202203261020125600226
[2026-10-20 12:56:38,783.783 INFO    ] 7395950589
[2026-10-20 12:56:38,794.794 INFO    ] 2026-10-20 12:56:38
[2026-10-20 12:56:38,800.800 INFO    ] Door Opening for user mobile ending with  zero five eight nine 
[2026-10-20 12:56:38,833.833 INFO    ] Door Opening for user mobile ending with  zero five eight nine 
[2026-10-20 12:56:38,846.846 INFO    ] c72e4ad2f47ac800eea1f3c0218709dd
[2026-10-20 12:56:38,873.873 INFO    ] 2026-10-20 12:56:38
[2026-10-20 12:56:38,878.878 INFO    ] playing audio file
[2026-10-20 12:56:38,901.901 INFO    ] 2026-10-20 12:56:38
[2026-10-20 12:56:38,908.908 INFO    ] 2026-10-20 12:56:38
[2026-10-20 12:56:38,918.918 INFO    ] publish_status: order_id=TM04202203261020125600226
[2026-10-20 12:56:38,927.927 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020125600226
[2026-10-20 12:56:39,062.062 INFO    ] [publish_status] Message added to stream with ID: 1792481199002-0
[2026-10-20 12:56:39,124.124 INFO    ] Published to order:TM04202203261020125600226: {'order_id': 'TM04202203261020125600226', 'server_status': 'order-started', 'server_response': '{"rstatus": true, "status": true, "msg": "Order Data", "data": {"proposed_sku_json": [{"offer_id": "", "qty": 1, "door_id": "2", "tray_id": "45", "offer_desc": "", "skuid": "4500499", "image_url": "https://images.tinymart.in/product/4500499-5719.webp", "unit_price": 25, "name": "Heritage A1 Spiced Butter Milk180ml", "mrp": "25", "sku_total": 25}], "access_code": "39139806", "mobile": "7395950589", "order_id": "TM04202203261020125600226", "invoice_bill": "25", "bill_amount": "25"}}', 'timestamp': '2026-10-20T07:26:38.909897Z'} (ID: 1792481199002-0)
[2026-10-20 12:56:39,716.716 INFO    ] {'order_id': 'TM04202203261020125600226', 'server_status': 'order-started', 'server_response': {'rstatus': True, 'status': True, 'msg': 'Order Data', 'data': {'proposed_sku_json': [{'offer_id': '', 'qty': 1, 'door_id': '2', 'tray_id': '45', 'offer_desc': '', 'skuid': '4500499', 'image_url': 'https://images.tinymart.in/product/4500499-5719.webp', 'unit_price': 25, 'name': 'Heritage A1 Spiced Butter Milk180ml', 'mrp': '25', 'sku_total': 25}], 'access_code': '39139806', 'mobile': '7395950589', 'order_id': 'TM04202203261020125600226', 'invoice_bill': '25', 'bill_amount': '25'}}}
[2026-10-20 12:56:39,718.718 INFO    ] 200
[2026-10-20 12:56:39,721.721 INFO    ] {"data":{"order_id":"TM04202203261020125600226","server_status":"order-started","server_response":{"rstatus":true,"status":true,"msg":"Order Data","data":{"proposed_sku_json":[{"offer_id":"","qty":1,"door_id":"2","tray_id":"45","offer_desc":"","skuid":"4500499","image_url":"https:\/\/images.tinymart.in\/product\/4500499-5719.webp","unit_price":25,"name":"Heritage A1 Spiced Butter Milk180ml","mrp":"25","sku_total":25}],"access_code":"39139806","mobile":"7395950589","order_id":"TM04202203261020125600226","invoice_bill":"25","bill_amount":"25"}}},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 12:56:39,723.723 INFO    ] {'response': {'status': True, 'code': 'ORDER_EXISTS', 'msg': 'order updated successfully', 'data': 'order updated successfully'}, 'data': {'order_id': 'TM04202203261020125600226', 'server_status': 'order-started', 'server_response': {'rstatus': True, 'status': True, 'msg': 'Order Data', 'data': {'mobile': '7395950589', 'access_code': '39139806', 'proposed_sku_json': [{'offer_id': '', 'qty': 1, 'door_id': '2', 'sku_total': 25, 'offer_desc': '', 'skuid': '4500499', 'image_url': 'https://images.tinymart.in/product/4500499-5719.webp', 'unit_price': 25, 'name': 'Heritage A1 Spiced Butter Milk180ml', 'tray_id': '45', 'mrp': '25'}], 'order_id': 'TM04202203261020125600226', 'invoice_bill': '25', 'bill_amount': '25'}}}}
[2026-10-20 12:56:39,726.726 INFO    ] 2026-10-20 12:56:39
[2026-10-20 12:56:39,767.767 INFO    ] 200
[2026-10-20 12:56:39,770.770 INFO    ] True
[2026-10-20 12:56:39,916.916 INFO    ] 200
[2026-10-20 12:56:39,919.919 INFO    ] {"SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "rstatus": false, "voiceNote": "Please Wait", "status": "False", "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait while we process your order", "Note": "", "Header": " Your order is under process  "}, "SectionMain": {"Header": "Processing Order"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 12:56:39,922.922 INFO    ] {'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'rstatus': False, 'SectionStatus': {'SubHeader': 'Please wait while we process your order', 'UI_Header': '', 'Header': ' Your order is under process  ', 'Note': ''}, 'error': {'umessage': 'In Progress', 'tmessage': 'In Progress', 'code': 20001, 'data': {}}, 'SectionMain': {'Header': 'Processing Order'}, 'status': 'False', 'voiceNote': 'Please Wait'}
[2026-10-20 12:56:39,925.925 INFO    ] *** process_order ***
[2026-10-20 12:56:41,127.127 INFO    ] 200
[2026-10-20 12:56:41,130.130 INFO    ] {"SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "rstatus": true, "voiceNote": "Please Wait", "delay": 0, "status": "True", "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait while we process your order", "Note": "", "Header": " Your order is under process  "}, "SectionMain": {"Header": "Processing Order"}}
[2026-10-20 12:56:41,132.132 INFO    ] {'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'rstatus': True, 'SectionStatus': {'SubHeader': 'Please wait while we process your order', 'UI_Header': '', 'Header': ' Your order is under process  ', 'Note': ''}, 'delay': 0, 'SectionMain': {'Header': 'Processing Order'}, 'status': 'True', 'voiceNote': 'Please Wait'}
[2026-10-20 12:56:41,135.135 INFO    ] *** process_order ***
[2026-10-20 12:56:41,137.137 INFO    ] publish_status: order_id=TM04202203261020125600226
[2026-10-20 12:56:41,140.140 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020125600226
[2026-10-20 12:56:41,249.249 INFO    ] [publish_status] Message added to stream with ID: 1792481201201-0
[2026-10-20 12:56:41,252.252 INFO    ] Published to order:TM04202203261020125600226: {'order_id': 'TM04202203261020125600226', 'server_status': 'doorOpened', 'server_response': '{"SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "rstatus": true, "SectionStatus": {"SubHeader": "You can pull the door now.", "UI_Header": "", "Header": " Your order is under process  ", "Note": ""}, "delay": 0, "SectionMain": {"Header": "Processing Order"}, "status": "True", "voiceNote": "Door is open..."}'} (ID: 1792481201201-0)
[2026-10-20 12:56:42,323.323 INFO    ] 2026-10-20 12:56:42
[2026-10-20 12:56:42,325.325 INFO    ] publish_status: order_id=TM04202203261020125600226
[2026-10-20 12:56:42,328.328 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020125600226
[2026-10-20 12:56:42,438.438 INFO    ] [publish_status] Message added to stream with ID: 1792481202391-0
[2026-10-20 12:56:42,441.441 INFO    ] Published to order:TM04202203261020125600226: {'order_id': 'TM04202203261020125600226', 'server_status': 'processOrder', 'server_response': '{"SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "rstatus": true, "SectionStatus": {"SubHeader": "Please wait while we process your order", "UI_Header": "", "Header": " Your order is under process  ", "Note": ""}, "delay": 0, "SectionMain": {"Header": "Processing Order"}, "status": "True", "voiceNote": "Please Wait"}', 'timestamp': '2026-10-20T07:26:42.324183Z'} (ID: 1792481202391-0)
[2026-10-20 12:56:42,599.599 INFO    ] {'order_id': 'TM04202203261020125600226', 'server_status': 'processOrder', 'server_response': {'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'rstatus': True, 'SectionStatus': {'SubHeader': 'Please wait while we process your order', 'UI_Header': '', 'Header': ' Your order is under process  ', 'Note': ''}, 'delay': 0, 'SectionMain': {'Header': 'Processing Order'}, 'status': 'True', 'voiceNote': 'Please Wait'}}
[2026-10-20 12:56:42,602.602 INFO    ] 200
[2026-10-20 12:56:42,604.604 INFO    ] {"data":{"order_id":"TM04202203261020125600226","server_status":"processOrder","server_response":{"SectionSKU":{"skus":[],"Header":"Thank you for bearing with us :)"},"rstatus":true,"SectionStatus":{"SubHeader":"Please wait while we process your order","UI_Header":"","Header":" Your order is under process  ","Note":""},"delay":0,"SectionMain":{"Header":"Processing Order"},"status":"true","voiceNote":"Please Wait"}},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 12:56:42,607.607 INFO    ] {'response': {'status': True, 'code': 'ORDER_EXISTS', 'msg': 'order updated successfully', 'data': 'order updated successfully'}, 'data': {'order_id': 'TM04202203261020125600226', 'server_status': 'processOrder', 'server_response': {'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'rstatus': True, 'SectionStatus': {'SubHeader': 'Please wait while we process your order', 'UI_Header': '', 'Header': ' Your order is under process  ', 'Note': ''}, 'delay': 0, 'SectionMain': {'Header': 'Processing Order'}, 'status': 'true', 'voiceNote': 'Please Wait'}}}
[2026-10-20 12:56:42,610.610 INFO    ] 2026-10-20 12:56:42
[2026-10-20 12:56:42,612.612 INFO    ] None
[2026-10-20 12:56:42,615.615 INFO    ] Opening Door now
[2026-10-20 12:56:42,617.617 INFO    ] Opening Door now
[2026-10-20 12:56:42,620.620 INFO    ] 08e5d1063504bf393c26f0bfa436e9f9
[2026-10-20 12:56:42,623.623 INFO    ] 2026-10-20 12:56:42
[2026-10-20 12:56:42,626.626 INFO    ] playing audio file
[2026-10-20 12:56:42,643.643 INFO    ] 2026-10-20 12:56:42
[2026-10-20 12:56:42,646.646 INFO    ] 2026-10-20 12:56:42
[2026-10-20 12:56:45,751.751 INFO    ] 200
[2026-10-20 12:56:45,754.754 INFO    ] {"SectionSKU": {"skus": [{"name": "Heritage A1 Spiced Butter Milk180ml", "qty": 1}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Door 2 is open now", "status": "False", "SectionStatus": {"UI_Header": "DOOR 2\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 2"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 12:56:45,757.757 INFO    ] {'SectionSKU': {'skus': [{'qty': 1, 'name': 'Heritage A1 Spiced Butter Milk180ml'}], 'Header': 'Pick the below items from the door'}, 'rstatus': False, 'SectionStatus': {'SubHeader': 'Please Pick the Products and close the door', 'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'Header': 'Please Close Door 2', 'Note': 'Please Close the door after picking up products'}, 'error': {'umessage': 'In Progress', 'tmessage': 'In Progress', 'code': 20001, 'data': {}}, 'SectionMain': {'Header': 'Door Open'}, 'status': 'False', 'voiceNote': 'Door 2 is open now'}
[2026-10-20 12:56:48,825.825 INFO    ] 200
[2026-10-20 12:56:48,828.828 INFO    ] {"SectionSKU": {"skus": [{"name": "Heritage A1 Spiced Butter Milk180ml", "qty": 1}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Please close door 2", "status": "False", "SectionStatus": {"UI_Header": "DOOR 2\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 2"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 12:56:48,832.832 INFO    ] {'SectionSKU': {'skus': [{'qty': 1, 'name': 'Heritage A1 Spiced Butter Milk180ml'}], 'Header': 'Pick the below items from the door'}, 'rstatus': False, 'SectionStatus': {'SubHeader': 'Please Pick the Products and close the door', 'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'Header': 'Please Close Door 2', 'Note': 'Please Close the door after picking up products'}, 'error': {'umessage': 'In Progress', 'tmessage': 'In Progress', 'code': 20001, 'data': {}}, 'SectionMain': {'Header': 'Door Open'}, 'status': 'False', 'voiceNote': 'Please close door 2'}
[2026-10-20 12:56:51,886.886 INFO    ] 200
[2026-10-20 12:56:51,888.888 INFO    ] {"SectionSKU": {"skus": [{"name": "Heritage A1 Spiced Butter Milk180ml", "qty": 1}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Please close door 2", "status": "False", "SectionStatus": {"UI_Header": "DOOR 2\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 2"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 12:56:51,891.891 INFO    ] Please close door 2
[2026-10-20 12:56:51,893.893 INFO    ] Please close door 2
[2026-10-20 12:56:51,895.895 INFO    ] 758e46684c76e887a5f58d4738034bed
[2026-10-20 12:56:51,898.898 INFO    ] 2026-10-20 12:56:51
[2026-10-20 12:56:51,900.900 INFO    ] playing audio file
[2026-10-20 12:56:51,917.917 INFO    ] 2026-10-20 12:56:51
[2026-10-20 12:56:51,920.920 INFO    ] publish_status: order_id=TM04202203261020125600226
[2026-10-20 12:56:51,923.923 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020125600226
[2026-10-20 12:56:52,001.001 INFO    ] [publish_status] Message added to stream with ID: 1792481211953-0
[2026-10-20 12:56:52,004.004 INFO    ] Published to order:TM04202203261020125600226: {'order_id': 'TM04202203261020125600226', 'server_status': 'OrderStatus', 'server_response': '{"SectionSKU": {"skus": [{"qty": 1, "name": "Heritage A1 Spiced Butter Milk180ml"}], "Header": "Pick the below items from the door"}, "rstatus": false, "SectionStatus": {"SubHeader": "Please Pick the Products and close the door", "UI_Header": "DOOR 2\\nIS \\nOPEN \\nNOW", "Header": "Please Close Door 2", "Note": "Please Close the door after picking up products"}, "error": {"umessage": "In Progress", "tmessage": "In Progress", "code": 20001, "data": {}}, "SectionMain": {"Header": "Door Open"}, "status": "False", "voiceNote": "Please close door 2"}', 'timestamp': '2026-10-20T07:26:51.918968Z'} (ID: 1792481211953-0)
[2026-10-20 12:56:52,659.659 INFO    ] {'order_id': 'TM04202203261020125600226', 'server_status': 'OrderStatus', 'server_response': {'SectionSKU': {'skus': [{'qty': 1, 'name': 'Heritage A1 Spiced Butter Milk180ml'}], 'Header': 'Pick the below items from the door'}, 'rstatus': False, 'SectionStatus': {'SubHeader': 'Please Pick the Products and close the door', 'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'Header': 'Please Close Door 2', 'Note': 'Please Close the door after picking up products'}, 'error': {'umessage': 'In Progress', 'tmessage': 'In Progress', 'code': 20001, 'data': {}}, 'SectionMain': {'Header': 'Door Open'}, 'status': 'False', 'voiceNote': 'Please close door 2'}}
[2026-10-20 12:56:52,661.661 INFO    ] 200
[2026-10-20 12:56:52,664.664 INFO    ] {"data":{"order_id":"TM04202203261020125600226","server_status":"OrderStatus","server_response":{"SectionSKU":{"skus":[{"qty":1,"name":"Heritage A1 Spiced Butter Milk180ml"}],"Header":"Pick the below items from the door"},"rstatus":false,"SectionStatus":{"SubHeader":"Please Pick the Products and close the door","UI_Header":"DOOR 2\nIS \nOPEN \nNOW","Header":"Please Close Door 2","Note":"Please Close the door after picking up products"},"error":{"umessage":"In Progress","tmessage":"In Progress","code":20001,"data":[]},"SectionMain":{"Header":"Door Open"},"status":"false","voiceNote":"Please close door 2"}},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 12:56:52,667.667 INFO    ] {'response': {'status': True, 'code': 'ORDER_EXISTS', 'msg': 'order updated successfully', 'data': 'order updated successfully'}, 'data': {'order_id': 'TM04202203261020125600226', 'server_status': 'OrderStatus', 'server_response': {'SectionSKU': {'skus': [{'qty': 1, 'name': 'Heritage A1 Spiced Butter Milk180ml'}], 'Header': 'Pick the below items from the door'}, 'rstatus': False, 'SectionStatus': {'SubHeader': 'Please Pick the Products and close the door', 'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'Header': 'Please Close Door 2', 'Note': 'Please Close the door after picking up products'}, 'error': {'umessage': 'In Progress', 'tmessage': 'In Progress', 'code': 20001, 'data': []}, 'SectionMain': {'Header': 'Door Open'}, 'status': 'false', 'voiceNote': 'Please close door 2'}}}
[2026-10-20 12:56:52,670.670 INFO    ] {'SectionSKU': {'skus': [{'qty': 1, 'name': 'Heritage A1 Spiced Butter Milk180ml'}], 'Header': 'Pick the below items from the door'}, 'rstatus': False, 'SectionStatus': {'SubHeader': 'Please Pick the Products and close the door', 'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'Header': 'Please Close Door 2', 'Note': 'Please Close the door after picking up products'}, 'error': {'umessage': 'In Progress', 'tmessage': 'In Progress', 'code': 20001, 'data': {}}, 'SectionMain': {'Header': 'Door Open'}, 'status': 'False', 'voiceNote': 'Please close door 2'}
[2026-10-20 12:56:55,738.738 INFO    ] 200
[2026-10-20 12:56:55,741.741 INFO    ] {"SectionSKU": {"skus": [], "Header": "If you like us, tell others... else tell us"}, "rstatus": true, "voiceNote": "Transaction Completed", "delay": 100, "status": "True", "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait for invoice to generate", "Note": "If any due amount, clear at https://go.tinymart.in", "Header": " Order is complete "}, "SectionMain": {"Header": "Door Closed"}}
[2026-10-20 12:56:55,743.743 INFO    ] {'SectionSKU': {'skus': [], 'Header': 'If you like us, tell others... else tell us'}, 'rstatus': True, 'SectionStatus': {'SubHeader': 'Please wait for invoice to generate', 'UI_Header': '', 'Header': ' Order is complete ', 'Note': 'If any due amount, clear at https://go.tinymart.in'}, 'delay': 100, 'SectionMain': {'Header': 'Door Closed'}, 'status': 'True', 'voiceNote': 'Transaction Completed'}
[2026-10-20 12:56:55,750.750 INFO    ] 2026-10-20 12:56:55
[2026-10-20 12:56:55,753.753 INFO    ] Order Completed 
[2026-10-20 12:56:55,756.756 INFO    ] Order Completed 
[2026-10-20 12:56:55,759.759 INFO    ] 193c8a8cf3bf490ccfe0b23598544a83
[2026-10-20 12:56:55,762.762 INFO    ] 2026-10-20 12:56:55
[2026-10-20 12:56:55,764.764 INFO    ] playing audio file
[2026-10-20 12:56:55,782.782 INFO    ] 2026-10-20 12:56:55
[2026-10-20 12:56:55,785.785 INFO    ] {'SectionSKU': {'skus': [], 'Header': 'If you like us, tell others... else tell us'}, 'rstatus': True, 'SectionStatus': {'SubHeader': 'Please wait for invoice to generate', 'UI_Header': '', 'Header': ' Order is complete ', 'Note': 'If any due amount, clear at https://go.tinymart.in'}, 'delay': 100, 'SectionMain': {'Header': 'Door Closed'}, 'status': 'True', 'voiceNote': 'Transaction Completed'}
[2026-10-20 12:56:55,788.788 INFO    ] 2026-10-20 12:56:55
[2026-10-20 12:56:57,826.826 INFO    ] 200
[2026-10-20 12:56:57,829.829 INFO    ] {"rstatus": true, "logic": "WBL", "skus": [{"door_id": "", "name": "Heritage A1 Spiced Butter Milk180ml per peice", "mrp": "25", "skuid": "4500499", "unit_price": "25", "qty": 1, "tray_id": "45", "sku_total": 25.0, "image_url": "https://images.tinymart.in/product/4500499-5719.webp"}], "orderId": "TM04202203261020125600226", "res": "True", "total_amount": 25.0, "anomaly": 0}
[2026-10-20 12:56:57,833.833 INFO    ] {'total_amount': 25.0, 'rstatus': True, 'orderId': 'TM04202203261020125600226', 'anomaly': 0, 'skus': [{'qty': 1, 'door_id': '', 'sku_total': 25.0, 'tray_id': '45', 'image_url': 'https://images.tinymart.in/product/4500499-5719.webp', 'unit_price': '25', 'name': 'Heritage A1 Spiced Butter Milk180ml per peice', 'skuid': '4500499', 'mrp': '25'}], 'logic': 'WBL', 'res': 'True'}
[2026-10-20 12:56:57,836.836 INFO    ] {'total_amount': 25.0, 'rstatus': True, 'orderId': 'TM04202203261020125600226', 'anomaly': 0, 'skus': [{'qty': 1, 'door_id': '', 'sku_total': 25.0, 'tray_id': '45', 'image_url': 'https://images.tinymart.in/product/4500499-5719.webp', 'unit_price': '25', 'name': 'Heritage A1 Spiced Butter Milk180ml per peice', 'skuid': '4500499', 'mrp': '25'}], 'logic': 'WBL', 'res': 'True'}
[2026-10-20 12:56:57,839.839 INFO    ] 2026-10-20 12:56:57
[2026-10-20 12:56:57,841.841 INFO    ] 2026-10-20 12:56:57
[2026-10-20 12:56:57,844.844 INFO    ] 25
[2026-10-20 12:56:57,848.848 INFO    ] 2026-10-20 12:56:57
[2026-10-20 12:56:57,859.859 INFO    ] 2026-10-20 12:56:57
[2026-10-20 12:56:57,862.862 INFO    ]  Your Bill Amount is 25
[2026-10-20 12:56:57,865.865 INFO    ]  Your Bill Amount is 25
[2026-10-20 12:56:57,867.867 INFO    ] da20fb15704d31a40267abf7bb69dedc
[2026-10-20 12:56:57,878.878 INFO    ] 2026-10-20 12:56:57
[2026-10-20 12:56:57,881.881 INFO    ] playing audio file
[2026-10-20 12:56:57,899.899 INFO    ] 2026-10-20 12:56:57
[2026-10-20 12:56:57,902.902 INFO    ] 2026-10-20 12:56:57
[2026-10-20 12:56:57,906.906 INFO    ] publish_status: order_id=TM04202203261020125600226
[2026-10-20 12:56:57,909.909 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020125600226
[2026-10-20 12:56:57,999.999 INFO    ] [publish_status] Message added to stream with ID: 1792481217951-0
[2026-10-20 12:56:58,002.002 INFO    ] Published to order:TM04202203261020125600226: {'order_id': 'TM04202203261020125600226', 'server_status': 'invoiceOrder', 'server_response': '{"total_amount": 25.0, "rstatus": true, "orderId": "TM04202203261020125600226", "anomaly": 0, "skus": [{"qty": 1, "door_id": "", "sku_total": 25.0, "tray_id": "45", "image_url": "https://images.tinymart.in/product/4500499-5719.webp", "unit_price": "25", "name": "Heritage A1 Spiced Butter Milk180ml per peice", "skuid": "4500499", "mrp": "25"}], "logic": "WBL", "res": "True"}', 'timestamp': '2026-10-20T07:26:57.903737Z'} (ID: 1792481217951-0)
[2026-10-20 12:56:58,609.609 INFO    ] {'order_id': 'TM04202203261020125600226', 'server_status': 'invoiceOrder', 'server_response': {'total_amount': 25.0, 'rstatus': True, 'orderId': 'TM04202203261020125600226', 'anomaly': 0, 'skus': [{'qty': 1, 'door_id': '', 'sku_total': 25.0, 'tray_id': '45', 'image_url': 'https://images.tinymart.in/product/4500499-5719.webp', 'unit_price': '25', 'name': 'Heritage A1 Spiced Butter Milk180ml per peice', 'skuid': '4500499', 'mrp': '25'}], 'logic': 'WBL', 'res': 'True'}}
[2026-10-20 12:56:58,611.611 INFO    ] 200
[2026-10-20 12:56:58,614.614 INFO    ] {"data":{"order_id":"TM04202203261020125600226","server_status":"invoiceOrder","server_response":{"total_amount":25,"rstatus":true,"orderId":"TM04202203261020125600226","anomaly":0,"skus":[{"qty":1,"door_id":"","sku_total":25,"tray_id":"45","image_url":"https:\/\/images.tinymart.in\/product\/4500499-5719.webp","unit_price":"25","name":"Heritage A1 Spiced Butter Milk180ml per peice","skuid":"4500499","mrp":"25"}],"logic":"WBL","res":"true"}},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 12:56:58,616.616 INFO    ] {'response': {'status': True, 'code': 'ORDER_EXISTS', 'msg': 'order updated successfully', 'data': 'order updated successfully'}, 'data': {'order_id': 'TM04202203261020125600226', 'server_status': 'invoiceOrder', 'server_response': {'total_amount': 25, 'rstatus': True, 'orderId': 'TM04202203261020125600226', 'anomaly': 0, 'skus': [{'mrp': '25', 'qty': 1, 'tray_id': '45', 'skuid': '4500499', 'image_url': 'https://images.tinymart.in/product/4500499-5719.webp', 'unit_price': '25', 'sku_total': 25, 'door_id': '', 'name': 'Heritage A1 Spiced Butter Milk180ml per peice'}], 'logic': 'WBL', 'res': 'true'}}}
[2026-10-20 12:56:58,620.620 INFO    ] {'response': {'status': True, 'code': 'ORDER_EXISTS', 'msg': 'order updated successfully', 'data': 'order updated successfully'}, 'data': {'order_id': 'TM04202203261020125600226', 'server_status': 'invoiceOrder', 'server_response': {'total_amount': 25, 'rstatus': True, 'orderId': 'TM04202203261020125600226', 'anomaly': 0, 'skus': [{'mrp': '25', 'qty': 1, 'tray_id': '45', 'skuid': '4500499', 'image_url': 'https://images.tinymart.in/product/4500499-5719.webp', 'unit_price': '25', 'sku_total': 25, 'door_id': '', 'name': 'Heritage A1 Spiced Butter Milk180ml per peice'}], 'logic': 'WBL', 'res': 'true'}}}
[2026-10-20 12:56:58,623.623 INFO    ] 2026-10-20 12:56:58
[2026-10-20 12:57:00,371.371 INFO    ] 200
[2026-10-20 12:57:00,373.373 INFO    ] {"orders": [], "order_items_synced": [], "tray_synced": ["TM04202203261020125600226", "TM04202203261020125600226", "TM04202203261020125600226", "TM04202203261020125600226", "TM04202203261020125600226", "TM04202203261020125600226", "TM04202203261020125600226", "TM04202203261020125600226", "TM04202203261020125600226", "TM04202203261020125600226", "TM04202203261020125600226", "TM04202203261020125600226", "TM04202203261020125600226", "TM04202203261020125600226", "TM04202203261020125600226", "TM04202203261020125600226", "TM04202203261020125600226", "TM04202203261020125600226", "TM04202203261020125600226", "TM04202203261020125600226", "TM04202203261020125600226", "TM04202203261020125600226", "TM04202203261020125600226", "TM04202203261020125600226", "TM04202203261020125600226", "TM04202203261020125600226", "TM04202203261020125600226", "TM04202203261020125600226", "TM04202203261020125600226", "TM04202203261020125600226", "TM04202203261020125600226", "TM04202203261020125600226", "TM04202203261020125600226"], "orders_synced": [], "status": true, "tray_sync": [], "order_items": [], "orders_data": [], "orders_data_synced": []}
[2026-10-20 12:57:00,376.376 INFO    ] 2026-10-20 12:57:00
[2026-10-20 12:57:00,497.497 INFO    ] 200
[2026-10-20 12:57:00,500.500 INFO    ] True
[2026-10-20 12:57:00,502.502 INFO    ] cleanup_start_order_file_after_processing: order_id=TM04202203261020125600226
[2026-10-20 12:57:00,507.507 INFO    ] start order file deleted
[2026-10-20 12:57:00,510.510 INFO    ] Checking for system updates...
[2026-10-20 12:57:00,560.560 INFO    ] 200
[2026-10-20 12:57:00,563.563 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:57:00,621.621 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:57:00,624.624 INFO    ] No update needed
[2026-10-20 12:57:00,626.626 INFO    ] Checking for camera pi updates...
[2026-10-20 12:57:00,670.670 INFO    ] 200
[2026-10-20 12:57:00,673.673 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:57:00,718.718 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:57:00,781.781 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:57:00,783.783 INFO    ] No camera update needed
[2026-10-20 12:57:00,786.786 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:57:00,789.789 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:57:00,795.795 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:57:00,801.801 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:57:02,864.864 INFO    ] ================================================
[2026-10-20 12:57:02,883.883 INFO    ] Launching Daemon at Tue Oct 20 12:57:02 IST 2026
[2026-10-20 12:57:02,900.900 INFO    ] ================================================
[2026-10-20 12:57:03,581.581 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:57:03
[2026-10-20 12:57:04,202.202 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:57:04,477.477 INFO    ] Initializing speech engine...
[2026-10-20 12:57:04,484.484 INFO    ] 2026-10-20 12:57:04
[2026-10-20 12:57:04,736.736 INFO    ] 2026-10-20 12:57:04
[2026-10-20 12:57:04,772.772 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:57:05,022.022 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:57:05,026.026 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:57:05,242.242 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:57:05,285.285 INFO    ] time= 20/10/2026 12:57:05
[2026-10-20 12:57:05,291.291 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:57:05,309.309 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:57:05,441.441 INFO    ] No existing commands found in stream
[2026-10-20 12:57:10,473.473 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:57:10,476.476 INFO    ] Waiting 1.72 seconds before fallback handling...
[2026-10-20 12:57:12,763.763 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:57:12,766.766 INFO    ] Checking for system updates...
[2026-10-20 12:57:12,801.801 INFO    ] 200
[2026-10-20 12:57:12,804.804 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:57:12,856.856 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:57:12,859.859 INFO    ] No update needed
[2026-10-20 12:57:12,861.861 INFO    ] Checking for camera pi updates...
[2026-10-20 12:57:12,895.895 INFO    ] 200
[2026-10-20 12:57:12,897.897 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:57:12,942.942 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:57:12,993.993 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:57:12,995.995 INFO    ] No camera update needed
[2026-10-20 12:57:12,998.998 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:57:13,000.000 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:57:13,005.005 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:57:13,010.010 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:57:15,051.051 INFO    ] ================================================
[2026-10-20 12:57:15,065.065 INFO    ] Launching Daemon at Tue Oct 20 12:57:15 IST 2026
[2026-10-20 12:57:15,076.076 INFO    ] ================================================
[2026-10-20 12:57:15,732.732 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:57:15
[2026-10-20 12:57:16,406.406 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:57:16,666.666 INFO    ] Initializing speech engine...
[2026-10-20 12:57:16,689.689 INFO    ] 2026-10-20 12:57:16
[2026-10-20 12:57:16,941.941 INFO    ] 2026-10-20 12:57:16
[2026-10-20 12:57:16,974.974 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:57:17,181.181 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:57:17,203.203 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:57:17,393.393 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:57:17,453.453 INFO    ] time= 20/10/2026 12:57:17
[2026-10-20 12:57:17,507.507 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:57:17,522.522 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:57:17,648.648 INFO    ] No existing commands found in stream
[2026-10-20 12:57:22,682.682 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:57:22,685.685 INFO    ] Waiting 1.11 seconds before fallback handling...
[2026-10-20 12:57:24,348.348 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 12:57:24,352.352 INFO    ] Checking for system updates...
[2026-10-20 12:57:24,392.392 INFO    ] 200
[2026-10-20 12:57:24,395.395 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:57:24,454.454 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:57:24,457.457 INFO    ] No update needed
[2026-10-20 12:57:24,460.460 INFO    ] Checking for camera pi updates...
[2026-10-20 12:57:24,496.496 INFO    ] 200
[2026-10-20 12:57:24,499.499 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:57:24,540.540 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:57:24,594.594 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:57:24,597.597 INFO    ] No camera update needed
[2026-10-20 12:57:24,600.600 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:57:24,602.602 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:57:24,608.608 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:57:24,614.614 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:57:26,654.654 INFO    ] ================================================
[2026-10-20 12:57:26,669.669 INFO    ] Launching Daemon at Tue Oct 20 12:57:26 IST 2026
[2026-10-20 12:57:26,680.680 INFO    ] ================================================
[2026-10-20 12:57:27,280.280 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:57:27
[2026-10-20 12:57:27,956.956 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:57:28,242.242 INFO    ] Initializing speech engine...
[2026-10-20 12:57:28,255.255 INFO    ] 2026-10-20 12:57:28
[2026-10-20 12:57:28,515.515 INFO    ] 2026-10-20 12:57:28
[2026-10-20 12:57:28,558.558 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:57:28,786.786 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:57:28,791.791 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:57:29,011.011 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:57:29,047.047 INFO    ] time= 20/10/2026 12:57:29
[2026-10-20 12:57:29,062.062 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:57:29,071.071 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:57:29,200.200 INFO    ] No existing commands found in stream
[2026-10-20 12:57:34,222.222 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:57:34,225.225 INFO    ] Waiting 1.41 seconds before fallback handling...
[2026-10-20 12:57:36,157.157 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:57:36,160.160 INFO    ] Checking for system updates...
[2026-10-20 12:57:36,195.195 INFO    ] 200
[2026-10-20 12:57:36,198.198 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:57:36,256.256 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:57:36,258.258 INFO    ] No update needed
[2026-10-20 12:57:36,261.261 INFO    ] Checking for camera pi updates...
[2026-10-20 12:57:36,297.297 INFO    ] 200
[2026-10-20 12:57:36,300.300 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:57:36,340.340 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:57:36,388.388 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:57:36,390.390 INFO    ] No camera update needed
[2026-10-20 12:57:36,393.393 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:57:36,395.395 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:57:36,400.400 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:57:36,405.405 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:57:38,444.444 INFO    ] ================================================
[2026-10-20 12:57:38,459.459 INFO    ] Launching Daemon at Tue Oct 20 12:57:38 IST 2026
[2026-10-20 12:57:38,469.469 INFO    ] ================================================
[2026-10-20 12:57:39,050.050 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:57:39
[2026-10-20 12:57:39,646.646 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:57:39,921.921 INFO    ] Initializing speech engine...
[2026-10-20 12:57:39,927.927 INFO    ] 2026-10-20 12:57:39
[2026-10-20 12:57:40,194.194 INFO    ] 2026-10-20 12:57:40
[2026-10-20 12:57:40,234.234 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:57:40,449.449 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:57:40,515.515 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:57:40,677.677 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:57:40,697.697 INFO    ] time= 20/10/2026 12:57:40
[2026-10-20 12:57:40,767.767 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:57:40,816.816 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:57:40,970.970 INFO    ] No existing commands found in stream
[2026-10-20 12:57:45,995.995 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:57:45,998.998 INFO    ] Waiting 3.64 seconds before fallback handling...
[2026-10-20 12:57:50,189.189 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:57:50,192.192 INFO    ] Checking for system updates...
[2026-10-20 12:57:50,228.228 INFO    ] 200
[2026-10-20 12:57:50,231.231 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:57:50,289.289 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:57:50,292.292 INFO    ] No update needed
[2026-10-20 12:57:50,294.294 INFO    ] Checking for camera pi updates...
[2026-10-20 12:57:50,328.328 INFO    ] 200
[2026-10-20 12:57:50,330.330 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:57:50,375.375 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:57:50,419.419 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:57:50,422.422 INFO    ] No camera update needed
[2026-10-20 12:57:50,424.424 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:57:50,427.427 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:57:50,432.432 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:57:50,437.437 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:57:52,480.480 INFO    ] ================================================
[2026-10-20 12:57:52,494.494 INFO    ] Launching Daemon at Tue Oct 20 12:57:52 IST 2026
[2026-10-20 12:57:52,505.505 INFO    ] ================================================
[2026-10-20 12:57:53,155.155 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:57:53
[2026-10-20 12:57:53,824.824 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:57:54,131.131 INFO    ] Initializing speech engine...
[2026-10-20 12:57:54,143.143 INFO    ] 2026-10-20 12:57:54
[2026-10-20 12:57:54,425.425 INFO    ] 2026-10-20 12:57:54
[2026-10-20 12:57:54,473.473 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:57:54,761.761 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:57:54,770.770 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:57:54,972.972 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:57:54,978.978 INFO    ] time= 20/10/2026 12:57:54
[2026-10-20 12:57:55,001.001 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:57:55,029.029 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:57:55,162.162 INFO    ] No existing commands found in stream
[2026-10-20 12:58:00,193.193 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:58:00,196.196 INFO    ] Waiting 3.05 seconds before fallback handling...
[2026-10-20 12:58:03,778.778 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 12:58:03,781.781 INFO    ] Checking for system updates...
[2026-10-20 12:58:03,817.817 INFO    ] 200
[2026-10-20 12:58:03,820.820 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:58:03,874.874 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:58:03,877.877 INFO    ] No update needed
[2026-10-20 12:58:03,880.880 INFO    ] Checking for camera pi updates...
[2026-10-20 12:58:03,915.915 INFO    ] 200
[2026-10-20 12:58:03,917.917 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:58:03,959.959 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:58:04,014.014 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:58:04,017.017 INFO    ] No camera update needed
[2026-10-20 12:58:04,020.020 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:58:04,023.023 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:58:04,029.029 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:58:04,034.034 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:58:06,075.075 INFO    ] ================================================
[2026-10-20 12:58:06,090.090 INFO    ] Launching Daemon at Tue Oct 20 12:58:06 IST 2026
[2026-10-20 12:58:06,101.101 INFO    ] ================================================
[2026-10-20 12:58:06,682.682 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:58:06
[2026-10-20 12:58:07,282.282 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:58:07,557.557 INFO    ] Initializing speech engine...
[2026-10-20 12:58:07,566.566 INFO    ] 2026-10-20 12:58:07
[2026-10-20 12:58:07,830.830 INFO    ] 2026-10-20 12:58:07
[2026-10-20 12:58:07,883.883 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:58:08,134.134 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:58:08,139.139 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:58:08,365.365 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:58:08,379.379 INFO    ] time= 20/10/2026 12:58:08
[2026-10-20 12:58:08,396.396 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:58:08,409.409 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:58:08,537.537 INFO    ] No existing commands found in stream
[2026-10-20 12:58:13,562.562 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:58:13,564.564 INFO    ] Waiting 0.38 seconds before fallback handling...
[2026-10-20 12:58:14,467.467 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 12:58:14,470.470 INFO    ] Checking for system updates...
[2026-10-20 12:58:14,509.509 INFO    ] 200
[2026-10-20 12:58:14,511.511 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:58:14,568.568 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:58:14,571.571 INFO    ] No update needed
[2026-10-20 12:58:14,573.573 INFO    ] Checking for camera pi updates...
[2026-10-20 12:58:14,607.607 INFO    ] 200
[2026-10-20 12:58:14,609.609 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:58:14,653.653 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:58:14,700.700 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:58:14,703.703 INFO    ] No camera update needed
[2026-10-20 12:58:14,705.705 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:58:14,707.707 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:58:14,713.713 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:58:14,718.718 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:58:16,759.759 INFO    ] ================================================
[2026-10-20 12:58:16,774.774 INFO    ] Launching Daemon at Tue Oct 20 12:58:16 IST 2026
[2026-10-20 12:58:16,785.785 INFO    ] ================================================
[2026-10-20 12:58:17,426.426 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:58:17
[2026-10-20 12:58:18,088.088 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:58:18,386.386 INFO    ] Initializing speech engine...
[2026-10-20 12:58:18,401.401 INFO    ] 2026-10-20 12:58:18
[2026-10-20 12:58:18,678.678 INFO    ] 2026-10-20 12:58:18
[2026-10-20 12:58:18,722.722 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:58:18,972.972 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:58:18,978.978 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:58:19,208.208 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:58:19,227.227 INFO    ] time= 20/10/2026 12:58:19
[2026-10-20 12:58:19,245.245 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:58:19,269.269 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:58:19,406.406 INFO    ] No existing commands found in stream
[2026-10-20 12:58:24,432.432 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:58:24,435.435 INFO    ] Waiting 2.44 seconds before fallback handling...
[2026-10-20 12:58:27,404.404 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 12:58:27,407.407 INFO    ] Checking for system updates...
[2026-10-20 12:58:27,446.446 INFO    ] 200
[2026-10-20 12:58:27,449.449 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:58:27,500.500 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:58:27,503.503 INFO    ] No update needed
[2026-10-20 12:58:27,505.505 INFO    ] Checking for camera pi updates...
[2026-10-20 12:58:27,541.541 INFO    ] 200
[2026-10-20 12:58:27,544.544 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:58:27,587.587 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:58:27,638.638 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:58:27,640.640 INFO    ] No camera update needed
[2026-10-20 12:58:27,643.643 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:58:27,645.645 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:58:27,650.650 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:58:27,655.655 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:58:29,694.694 INFO    ] ================================================
[2026-10-20 12:58:29,710.710 INFO    ] Launching Daemon at Tue Oct 20 12:58:29 IST 2026
[2026-10-20 12:58:29,720.720 INFO    ] ================================================
[2026-10-20 12:58:30,306.306 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:58:30
[2026-10-20 12:58:30,903.903 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:58:31,175.175 INFO    ] Initializing speech engine...
[2026-10-20 12:58:31,185.185 INFO    ] 2026-10-20 12:58:31
[2026-10-20 12:58:31,436.436 INFO    ] 2026-10-20 12:58:31
[2026-10-20 12:58:31,472.472 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:58:31,724.724 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:58:31,733.733 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:58:31,914.914 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:58:31,917.917 INFO    ] time= 20/10/2026 12:58:31
[2026-10-20 12:58:31,978.978 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:58:32,022.022 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:58:32,162.162 INFO    ] No existing commands found in stream
[2026-10-20 12:58:37,190.190 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:58:37,193.193 INFO    ] Waiting 3.89 seconds before fallback handling...
[2026-10-20 12:58:41,609.609 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 12:58:41,612.612 INFO    ] Checking for system updates...
[2026-10-20 12:58:41,647.647 INFO    ] 200
[2026-10-20 12:58:41,650.650 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:58:41,701.701 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:58:41,703.703 INFO    ] No update needed
[2026-10-20 12:58:41,706.706 INFO    ] Checking for camera pi updates...
[2026-10-20 12:58:41,740.740 INFO    ] 200
[2026-10-20 12:58:41,743.743 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:58:41,788.788 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:58:41,842.842 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:58:41,844.844 INFO    ] No camera update needed
[2026-10-20 12:58:41,847.847 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:58:41,849.849 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:58:41,861.861 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:58:41,867.867 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:58:43,908.908 INFO    ] ================================================
[2026-10-20 12:58:43,923.923 INFO    ] Launching Daemon at Tue Oct 20 12:58:43 IST 2026
[2026-10-20 12:58:43,934.934 INFO    ] ================================================
[2026-10-20 12:58:44,498.498 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:58:44
[2026-10-20 12:58:45,081.081 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:58:45,350.350 INFO    ] Initializing speech engine...
[2026-10-20 12:58:45,366.366 INFO    ] 2026-10-20 12:58:45
[2026-10-20 12:58:45,638.638 INFO    ] 2026-10-20 12:58:45
[2026-10-20 12:58:45,674.674 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:58:45,899.899 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:58:45,954.954 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:58:46,131.131 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:58:46,181.181 INFO    ] time= 20/10/2026 12:58:46
[2026-10-20 12:58:46,215.215 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:58:46,269.269 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:58:46,417.417 INFO    ] No existing commands found in stream
[2026-10-20 12:58:51,442.442 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:58:51,445.445 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-10-20 12:58:55,398.398 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:58:55,400.400 INFO    ] Checking for system updates...
[2026-10-20 12:58:55,435.435 INFO    ] 200
[2026-10-20 12:58:55,438.438 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:58:55,495.495 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:58:55,498.498 INFO    ] No update needed
[2026-10-20 12:58:55,500.500 INFO    ] Checking for camera pi updates...
[2026-10-20 12:58:55,537.537 INFO    ] 200
[2026-10-20 12:58:55,539.539 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:58:55,579.579 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:58:55,725.725 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:58:55,728.728 INFO    ] No camera update needed
[2026-10-20 12:58:55,730.730 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:58:55,733.733 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:58:55,738.738 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:58:55,743.743 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:58:57,783.783 INFO    ] ================================================
[2026-10-20 12:58:57,798.798 INFO    ] Launching Daemon at Tue Oct 20 12:58:57 IST 2026
[2026-10-20 12:58:57,809.809 INFO    ] ================================================
[2026-10-20 12:58:58,395.395 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:58:58
[2026-10-20 12:58:59,005.005 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:58:59,273.273 INFO    ] Initializing speech engine...
[2026-10-20 12:58:59,298.298 INFO    ] 2026-10-20 12:58:59
[2026-10-20 12:58:59,572.572 INFO    ] 2026-10-20 12:58:59
[2026-10-20 12:58:59,611.611 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:58:59,832.832 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:58:59,841.841 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:58:59,990.990 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:58:59,997.997 INFO    ] time= 20/10/2026 12:58:59
[2026-10-20 12:59:00,050.050 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:59:00,073.073 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:59:00,217.217 INFO    ] No existing commands found in stream
[2026-10-20 12:59:05,228.228 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:59:05,231.231 INFO    ] Waiting 1.38 seconds before fallback handling...
[2026-10-20 12:59:07,101.101 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 12:59:07,104.104 INFO    ] Checking for system updates...
[2026-10-20 12:59:07,140.140 INFO    ] 200
[2026-10-20 12:59:07,143.143 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:59:07,201.201 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:59:07,204.204 INFO    ] No update needed
[2026-10-20 12:59:07,206.206 INFO    ] Checking for camera pi updates...
[2026-10-20 12:59:07,242.242 INFO    ] 200
[2026-10-20 12:59:07,245.245 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:59:07,284.284 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:59:07,330.330 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:59:07,333.333 INFO    ] No camera update needed
[2026-10-20 12:59:07,335.335 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:59:07,337.337 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:59:07,343.343 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:59:07,348.348 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:59:09,387.387 INFO    ] ================================================
[2026-10-20 12:59:09,403.403 INFO    ] Launching Daemon at Tue Oct 20 12:59:09 IST 2026
[2026-10-20 12:59:09,413.413 INFO    ] ================================================
[2026-10-20 12:59:09,981.981 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:59:09
[2026-10-20 12:59:10,565.565 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:59:10,835.835 INFO    ] Initializing speech engine...
[2026-10-20 12:59:10,844.844 INFO    ] 2026-10-20 12:59:10
[2026-10-20 12:59:11,094.094 INFO    ] 2026-10-20 12:59:11
[2026-10-20 12:59:11,129.129 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:59:11,386.386 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:59:11,395.395 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:59:11,619.619 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:59:11,660.660 INFO    ] time= 20/10/2026 12:59:11
[2026-10-20 12:59:11,666.666 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:59:11,687.687 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:59:11,812.812 INFO    ] No existing commands found in stream
[2026-10-20 12:59:16,829.829 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:59:16,831.831 INFO    ] Waiting 3.79 seconds before fallback handling...
[2026-10-20 12:59:21,196.196 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:59:21,199.199 INFO    ] Checking for system updates...
[2026-10-20 12:59:21,236.236 INFO    ] 200
[2026-10-20 12:59:21,239.239 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:59:21,292.292 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 12:59:21,295.295 INFO    ] No update needed
[2026-10-20 12:59:21,298.298 INFO    ] Checking for camera pi updates...
[2026-10-20 12:59:21,332.332 INFO    ] 200
[2026-10-20 12:59:21,335.335 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:59:21,376.376 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:59:21,432.432 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:59:21,435.435 INFO    ] No camera update needed
[2026-10-20 12:59:21,437.437 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:59:21,440.440 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:59:21,446.446 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:59:21,452.452 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:59:23,494.494 INFO    ] ================================================
[2026-10-20 12:59:23,509.509 INFO    ] Launching Daemon at Tue Oct 20 12:59:23 IST 2026
[2026-10-20 12:59:23,519.519 INFO    ] ================================================
[2026-10-20 12:59:24,101.101 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:59:24
[2026-10-20 12:59:24,701.701 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:59:24,975.975 INFO    ] Initializing speech engine...
[2026-10-20 12:59:24,984.984 INFO    ] 2026-10-20 12:59:24
[2026-10-20 12:59:25,249.249 INFO    ] 2026-10-20 12:59:25
[2026-10-20 12:59:25,278.278 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:59:25,523.523 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:59:25,533.533 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:59:25,730.730 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:59:25,790.790 INFO    ] time= 20/10/2026 12:59:25
[2026-10-20 12:59:25,797.797 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:59:25,815.815 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:59:25,946.946 INFO    ] No existing commands found in stream
[2026-10-20 12:59:30,969.969 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:59:30,972.972 INFO    ] Waiting 1.26 seconds before fallback handling...
[2026-10-20 12:59:32,717.717 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 12:59:32,720.720 INFO    ] Checking for system updates...
[2026-10-20 12:59:32,762.762 INFO    ] 200
[2026-10-20 12:59:32,765.765 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:59:32,828.828 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:59:32,832.832 INFO    ] No update needed
[2026-10-20 12:59:32,835.835 INFO    ] Checking for camera pi updates...
[2026-10-20 12:59:32,874.874 INFO    ] 200
[2026-10-20 12:59:32,877.877 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:59:32,923.923 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:59:32,980.980 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:59:32,983.983 INFO    ] No camera update needed
[2026-10-20 12:59:32,985.985 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:59:32,988.988 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:59:32,994.994 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:59:33,001.001 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:59:35,041.041 INFO    ] ================================================
[2026-10-20 12:59:35,056.056 INFO    ] Launching Daemon at Tue Oct 20 12:59:35 IST 2026
[2026-10-20 12:59:35,067.067 INFO    ] ================================================
[2026-10-20 12:59:35,723.723 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:59:35
[2026-10-20 12:59:36,392.392 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:59:36,694.694 INFO    ] Initializing speech engine...
[2026-10-20 12:59:36,701.701 INFO    ] 2026-10-20 12:59:36
[2026-10-20 12:59:36,985.985 INFO    ] 2026-10-20 12:59:36
[2026-10-20 12:59:37,031.031 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:59:37,277.277 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:59:37,286.286 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:59:37,516.516 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:59:37,524.524 INFO    ] time= 20/10/2026 12:59:37
[2026-10-20 12:59:37,545.545 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:59:37,575.575 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:59:37,709.709 INFO    ] No existing commands found in stream
[2026-10-20 12:59:42,745.745 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:59:42,748.748 INFO    ] Waiting 1.16 seconds before fallback handling...
[2026-10-20 12:59:44,418.418 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 12:59:44,420.420 INFO    ] Checking for system updates...
[2026-10-20 12:59:44,457.457 INFO    ] 200
[2026-10-20 12:59:44,460.460 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:59:44,513.513 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:59:44,516.516 INFO    ] No update needed
[2026-10-20 12:59:44,519.519 INFO    ] Checking for camera pi updates...
[2026-10-20 12:59:44,557.557 INFO    ] 200
[2026-10-20 12:59:44,559.559 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:59:44,605.605 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:59:44,651.651 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:59:44,654.654 INFO    ] No camera update needed
[2026-10-20 12:59:44,656.656 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:59:44,659.659 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:59:44,665.665 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:59:44,671.671 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:59:46,713.713 INFO    ] ================================================
[2026-10-20 12:59:46,728.728 INFO    ] Launching Daemon at Tue Oct 20 12:59:46 IST 2026
[2026-10-20 12:59:46,739.739 INFO    ] ================================================
[2026-10-20 12:59:47,332.332 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:59:47
[2026-10-20 12:59:47,936.936 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 12:59:48,198.198 INFO    ] Initializing speech engine...
[2026-10-20 12:59:48,205.205 INFO    ] 2026-10-20 12:59:48
[2026-10-20 12:59:48,503.503 INFO    ] 2026-10-20 12:59:48
[2026-10-20 12:59:48,538.538 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 12:59:48,766.766 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 12:59:48,831.831 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 12:59:48,993.993 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 12:59:49,053.053 INFO    ] time= 20/10/2026 12:59:49
[2026-10-20 12:59:49,097.097 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 12:59:49,140.140 INFO    ] Checking for existing commands in stream...
[2026-10-20 12:59:49,297.297 INFO    ] No existing commands found in stream
[2026-10-20 12:59:54,321.321 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 12:59:54,324.324 INFO    ] Waiting 1.88 seconds before fallback handling...
[2026-10-20 12:59:56,749.749 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 12:59:56,751.751 INFO    ] Checking for system updates...
[2026-10-20 12:59:56,787.787 INFO    ] 200
[2026-10-20 12:59:56,789.789 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:59:56,840.840 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:59:56,843.843 INFO    ] No update needed
[2026-10-20 12:59:56,845.845 INFO    ] Checking for camera pi updates...
[2026-10-20 12:59:56,879.879 INFO    ] 200
[2026-10-20 12:59:56,881.881 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 12:59:56,921.921 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 12:59:56,972.972 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 12:59:56,974.974 INFO    ] No camera update needed
[2026-10-20 12:59:56,976.976 INFO    ] Script finished. Safe exiting...
[2026-10-20 12:59:56,978.978 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 12:59:56,984.984 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 12:59:56,989.989 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 12:59:59,028.028 INFO    ] ================================================
[2026-10-20 12:59:59,043.043 INFO    ] Launching Daemon at Tue Oct 20 12:59:59 IST 2026
[2026-10-20 12:59:59,054.054 INFO    ] ================================================
[2026-10-20 12:59:59,621.621 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 12:59:59
[2026-10-20 13:00:00,215.215 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:00:00,485.485 INFO    ] Initializing speech engine...
[2026-10-20 13:00:00,494.494 INFO    ] 2026-10-20 13:00:00
[2026-10-20 13:00:00,745.745 INFO    ] 2026-10-20 13:00:00
[2026-10-20 13:00:00,780.780 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:00:01,039.039 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:00:01,048.048 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:00:01,249.249 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:00:01,299.299 INFO    ] time= 20/10/2026 13:00:01
[2026-10-20 13:00:01,320.320 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:00:01,334.334 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:00:01,471.471 INFO    ] No existing commands found in stream
[2026-10-20 13:00:06,485.485 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:00:06,490.490 INFO    ] Waiting 2.73 seconds before fallback handling...
[2026-10-20 13:00:09,734.734 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:00:09,738.738 INFO    ] Checking for system updates...
[2026-10-20 13:00:09,781.781 INFO    ] 200
[2026-10-20 13:00:09,785.785 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:00:09,843.843 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:00:09,846.846 INFO    ] No update needed
[2026-10-20 13:00:09,849.849 INFO    ] Checking for camera pi updates...
[2026-10-20 13:00:09,885.885 INFO    ] 200
[2026-10-20 13:00:09,888.888 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:00:09,934.934 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:00:09,980.980 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:00:09,983.983 INFO    ] No camera update needed
[2026-10-20 13:00:09,986.986 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:00:09,988.988 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:00:09,995.995 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:00:10,001.001 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:00:12,042.042 INFO    ] ================================================
[2026-10-20 13:00:12,057.057 INFO    ] Launching Daemon at Tue Oct 20 13:00:12 IST 2026
[2026-10-20 13:00:12,067.067 INFO    ] ================================================
[2026-10-20 13:00:12,638.638 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:00:12
[2026-10-20 13:00:13,229.229 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:00:13,483.483 INFO    ] Initializing speech engine...
[2026-10-20 13:00:13,489.489 INFO    ] 2026-10-20 13:00:13
[2026-10-20 13:00:13,782.782 INFO    ] 2026-10-20 13:00:13
[2026-10-20 13:00:13,820.820 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:00:14,013.013 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:00:14,029.029 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:00:14,194.194 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:00:14,199.199 INFO    ] time= 20/10/2026 13:00:14
[2026-10-20 13:00:14,205.205 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:00:14,211.211 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:00:14,359.359 INFO    ] No existing commands found in stream
[2026-10-20 13:00:19,384.384 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:00:19,387.387 INFO    ] Waiting 1.08 seconds before fallback handling...
[2026-10-20 13:00:21,029.029 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 13:00:21,032.032 INFO    ] Checking for system updates...
[2026-10-20 13:00:21,067.067 INFO    ] 200
[2026-10-20 13:00:21,070.070 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:00:21,123.123 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:00:21,125.125 INFO    ] No update needed
[2026-10-20 13:00:21,128.128 INFO    ] Checking for camera pi updates...
[2026-10-20 13:00:21,161.161 INFO    ] 200
[2026-10-20 13:00:21,164.164 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:00:21,204.204 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:00:21,248.248 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:00:21,250.250 INFO    ] No camera update needed
[2026-10-20 13:00:21,253.253 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:00:21,255.255 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:00:21,261.261 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:00:21,266.266 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:00:23,305.305 INFO    ] ================================================
[2026-10-20 13:00:23,320.320 INFO    ] Launching Daemon at Tue Oct 20 13:00:23 IST 2026
[2026-10-20 13:00:23,331.331 INFO    ] ================================================
[2026-10-20 13:00:23,908.908 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:00:23
[2026-10-20 13:00:24,506.506 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:00:24,784.784 INFO    ] Initializing speech engine...
[2026-10-20 13:00:24,793.793 INFO    ] 2026-10-20 13:00:24
[2026-10-20 13:00:25,051.051 INFO    ] 2026-10-20 13:00:25
[2026-10-20 13:00:25,081.081 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:00:25,353.353 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:00:25,360.360 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:00:25,570.570 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:00:25,598.598 INFO    ] time= 20/10/2026 13:00:25
[2026-10-20 13:00:25,614.614 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:00:25,623.623 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:00:25,750.750 INFO    ] No existing commands found in stream
[2026-10-20 13:00:30,764.764 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:00:30,766.766 INFO    ] Waiting 3.96 seconds before fallback handling...
[2026-10-20 13:00:35,240.240 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:00:35,243.243 INFO    ] Checking for system updates...
[2026-10-20 13:00:35,278.278 INFO    ] 200
[2026-10-20 13:00:35,281.281 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:00:35,339.339 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:00:35,342.342 INFO    ] No update needed
[2026-10-20 13:00:35,344.344 INFO    ] Checking for camera pi updates...
[2026-10-20 13:00:35,381.381 INFO    ] 200
[2026-10-20 13:00:35,383.383 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:00:35,423.423 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:00:35,488.488 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:00:35,491.491 INFO    ] No camera update needed
[2026-10-20 13:00:35,493.493 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:00:35,496.496 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:00:35,501.501 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:00:35,506.506 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:00:37,547.547 INFO    ] ================================================
[2026-10-20 13:00:37,563.563 INFO    ] Launching Daemon at Tue Oct 20 13:00:37 IST 2026
[2026-10-20 13:00:37,573.573 INFO    ] ================================================
[2026-10-20 13:00:38,153.153 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:00:38
[2026-10-20 13:00:38,750.750 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:00:39,026.026 INFO    ] Initializing speech engine...
[2026-10-20 13:00:39,036.036 INFO    ] 2026-10-20 13:00:39
[2026-10-20 13:00:39,292.292 INFO    ] 2026-10-20 13:00:39
[2026-10-20 13:00:39,322.322 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:00:39,572.572 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:00:39,577.577 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:00:39,799.799 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:00:39,832.832 INFO    ] time= 20/10/2026 13:00:39
[2026-10-20 13:00:39,838.838 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:00:39,856.856 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:00:40,010.010 INFO    ] No existing commands found in stream
[2026-10-20 13:00:45,040.040 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:00:45,043.043 INFO    ] Waiting 3.53 seconds before fallback handling...
[2026-10-20 13:00:49,087.087 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:00:49,090.090 INFO    ] Checking for system updates...
[2026-10-20 13:00:49,127.127 INFO    ] 200
[2026-10-20 13:00:49,130.130 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:00:49,189.189 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:00:49,192.192 INFO    ] No update needed
[2026-10-20 13:00:49,195.195 INFO    ] Checking for camera pi updates...
[2026-10-20 13:00:49,229.229 INFO    ] 200
[2026-10-20 13:00:49,232.232 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:00:49,273.273 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:00:49,320.320 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:00:49,323.323 INFO    ] No camera update needed
[2026-10-20 13:00:49,325.325 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:00:49,328.328 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:00:49,334.334 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:00:49,340.340 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:00:51,381.381 INFO    ] ================================================
[2026-10-20 13:00:51,396.396 INFO    ] Launching Daemon at Tue Oct 20 13:00:51 IST 2026
[2026-10-20 13:00:51,407.407 INFO    ] ================================================
[2026-10-20 13:00:51,975.975 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:00:51
[2026-10-20 13:00:52,557.557 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:00:52,829.829 INFO    ] Initializing speech engine...
[2026-10-20 13:00:52,838.838 INFO    ] 2026-10-20 13:00:52
[2026-10-20 13:00:53,109.109 INFO    ] 2026-10-20 13:00:53
[2026-10-20 13:00:53,145.145 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:00:53,369.369 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:00:53,394.394 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:00:53,592.592 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:00:53,600.600 INFO    ] time= 20/10/2026 13:00:53
[2026-10-20 13:00:53,633.633 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:00:53,688.688 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:00:53,797.797 INFO    ] No existing commands found in stream
[2026-10-20 13:00:58,808.808 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:00:58,811.811 INFO    ] Waiting 2.11 seconds before fallback handling...
[2026-10-20 13:01:01,468.468 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:01:01,471.471 INFO    ] Checking for system updates...
[2026-10-20 13:01:01,506.506 INFO    ] 200
[2026-10-20 13:01:01,508.508 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:01:01,563.563 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:01:01,565.565 INFO    ] No update needed
[2026-10-20 13:01:01,567.567 INFO    ] Checking for camera pi updates...
[2026-10-20 13:01:01,600.600 INFO    ] 200
[2026-10-20 13:01:01,603.603 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:01:01,647.647 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:01:01,777.777 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:01:01,780.780 INFO    ] No camera update needed
[2026-10-20 13:01:01,782.782 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:01:01,784.784 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:01:01,790.790 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:01:01,795.795 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:01:03,834.834 INFO    ] ================================================
[2026-10-20 13:01:03,849.849 INFO    ] Launching Daemon at Tue Oct 20 13:01:03 IST 2026
[2026-10-20 13:01:03,860.860 INFO    ] ================================================
[2026-10-20 13:01:04,444.444 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:01:04
[2026-10-20 13:01:05,047.047 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:01:05,326.326 INFO    ] Initializing speech engine...
[2026-10-20 13:01:05,335.335 INFO    ] 2026-10-20 13:01:05
[2026-10-20 13:01:05,580.580 INFO    ] 2026-10-20 13:01:05
[2026-10-20 13:01:05,615.615 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:01:05,872.872 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:01:05,878.878 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:01:06,091.091 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:01:06,135.135 INFO    ] time= 20/10/2026 13:01:06
[2026-10-20 13:01:06,152.152 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:01:06,160.160 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:01:06,286.286 INFO    ] No existing commands found in stream
[2026-10-20 13:01:11,301.301 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:01:11,304.304 INFO    ] Waiting 1.61 seconds before fallback handling...
[2026-10-20 13:01:13,428.428 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 13:01:13,431.431 INFO    ] Checking for system updates...
[2026-10-20 13:01:13,470.470 INFO    ] 200
[2026-10-20 13:01:13,473.473 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:01:13,532.532 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:01:13,534.534 INFO    ] No update needed
[2026-10-20 13:01:13,537.537 INFO    ] Checking for camera pi updates...
[2026-10-20 13:01:13,570.570 INFO    ] 200
[2026-10-20 13:01:13,572.572 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:01:13,618.618 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:01:13,670.670 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:01:13,673.673 INFO    ] No camera update needed
[2026-10-20 13:01:13,675.675 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:01:13,677.677 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:01:13,683.683 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:01:13,688.688 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:01:15,729.729 INFO    ] ================================================
[2026-10-20 13:01:15,744.744 INFO    ] Launching Daemon at Tue Oct 20 13:01:15 IST 2026
[2026-10-20 13:01:15,754.754 INFO    ] ================================================
[2026-10-20 13:01:16,415.415 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:01:16
[2026-10-20 13:01:17,097.097 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:01:17,405.405 INFO    ] Initializing speech engine...
[2026-10-20 13:01:17,417.417 INFO    ] 2026-10-20 13:01:17
[2026-10-20 13:01:17,699.699 INFO    ] 2026-10-20 13:01:17
[2026-10-20 13:01:17,746.746 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:01:18,000.000 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:01:18,034.034 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:01:18,237.237 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:01:18,245.245 INFO    ] time= 20/10/2026 13:01:18
[2026-10-20 13:01:18,267.267 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:01:18,296.296 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:01:18,425.425 INFO    ] No existing commands found in stream
[2026-10-20 13:01:23,451.451 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:01:23,455.455 INFO    ] Waiting 3.03 seconds before fallback handling...
[2026-10-20 13:01:27,020.020 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:01:27,023.023 INFO    ] Checking for system updates...
[2026-10-20 13:01:27,061.061 INFO    ] 200
[2026-10-20 13:01:27,063.063 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:01:27,117.117 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:01:27,120.120 INFO    ] No update needed
[2026-10-20 13:01:27,123.123 INFO    ] Checking for camera pi updates...
[2026-10-20 13:01:27,157.157 INFO    ] 200
[2026-10-20 13:01:27,159.159 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:01:27,200.200 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:01:27,244.244 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:01:27,247.247 INFO    ] No camera update needed
[2026-10-20 13:01:27,249.249 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:01:27,251.251 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:01:27,257.257 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:01:27,262.262 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:01:29,301.301 INFO    ] ================================================
[2026-10-20 13:01:29,315.315 INFO    ] Launching Daemon at Tue Oct 20 13:01:29 IST 2026
[2026-10-20 13:01:29,326.326 INFO    ] ================================================
[2026-10-20 13:01:29,910.910 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:01:29
[2026-10-20 13:01:30,593.593 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:01:30,901.901 INFO    ] Initializing speech engine...
[2026-10-20 13:01:30,915.915 INFO    ] 2026-10-20 13:01:30
[2026-10-20 13:01:31,203.203 INFO    ] 2026-10-20 13:01:31
[2026-10-20 13:01:31,254.254 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:01:31,491.491 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:01:31,499.499 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:01:31,731.731 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:01:31,738.738 INFO    ] time= 20/10/2026 13:01:31
[2026-10-20 13:01:31,756.756 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:01:31,784.784 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:01:31,910.910 INFO    ] No existing commands found in stream
[2026-10-20 13:01:36,941.941 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:01:36,943.943 INFO    ] Waiting 1.82 seconds before fallback handling...
[2026-10-20 13:01:39,309.309 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:01:39,312.312 INFO    ] Checking for system updates...
[2026-10-20 13:01:39,348.348 INFO    ] 200
[2026-10-20 13:01:39,351.351 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:01:39,403.403 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:01:39,405.405 INFO    ] No update needed
[2026-10-20 13:01:39,408.408 INFO    ] Checking for camera pi updates...
[2026-10-20 13:01:39,445.445 INFO    ] 200
[2026-10-20 13:01:39,447.447 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:01:39,488.488 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:01:39,535.535 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:01:39,537.537 INFO    ] No camera update needed
[2026-10-20 13:01:39,540.540 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:01:39,542.542 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:01:39,547.547 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:01:39,553.553 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:01:41,592.592 INFO    ] ================================================
[2026-10-20 13:01:41,608.608 INFO    ] Launching Daemon at Tue Oct 20 13:01:41 IST 2026
[2026-10-20 13:01:41,618.618 INFO    ] ================================================
[2026-10-20 13:01:42,188.188 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:01:42
[2026-10-20 13:01:42,776.776 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:01:43,047.047 INFO    ] Initializing speech engine...
[2026-10-20 13:01:43,055.055 INFO    ] 2026-10-20 13:01:43
[2026-10-20 13:01:43,306.306 INFO    ] 2026-10-20 13:01:43
[2026-10-20 13:01:43,342.342 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:01:43,600.600 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:01:43,609.609 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:01:43,743.743 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:01:43,780.780 INFO    ] time= 20/10/2026 13:01:43
[2026-10-20 13:01:43,839.839 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:01:43,880.880 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:01:44,032.032 INFO    ] No existing commands found in stream
[2026-10-20 13:01:49,044.044 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:01:49,047.047 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-10-20 13:01:53,070.070 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:01:53,073.073 INFO    ] Checking for system updates...
[2026-10-20 13:01:53,109.109 INFO    ] 200
[2026-10-20 13:01:53,117.117 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:01:53,192.192 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:01:53,195.195 INFO    ] No update needed
[2026-10-20 13:01:53,198.198 INFO    ] Checking for camera pi updates...
[2026-10-20 13:01:53,236.236 INFO    ] 200
[2026-10-20 13:01:53,239.239 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:01:53,280.280 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:01:53,329.329 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:01:53,332.332 INFO    ] No camera update needed
[2026-10-20 13:01:53,334.334 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:01:53,337.337 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:01:53,343.343 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:01:53,349.349 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:01:55,391.391 INFO    ] ================================================
[2026-10-20 13:01:55,407.407 INFO    ] Launching Daemon at Tue Oct 20 13:01:55 IST 2026
[2026-10-20 13:01:55,418.418 INFO    ] ================================================
[2026-10-20 13:01:56,077.077 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:01:56
[2026-10-20 13:01:56,755.755 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:01:57,060.060 INFO    ] Initializing speech engine...
[2026-10-20 13:01:57,068.068 INFO    ] 2026-10-20 13:01:57
[2026-10-20 13:01:57,384.384 INFO    ] 2026-10-20 13:01:57
[2026-10-20 13:01:57,472.472 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:01:57,688.688 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:01:57,693.693 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:01:57,893.893 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:01:57,915.915 INFO    ] time= 20/10/2026 13:01:57
[2026-10-20 13:01:57,944.944 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:01:57,953.953 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:01:58,098.098 INFO    ] No existing commands found in stream
[2026-10-20 13:02:03,130.130 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:02:03,133.133 INFO    ] Waiting 2.35 seconds before fallback handling...
[2026-10-20 13:02:06,015.015 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:02:06,018.018 INFO    ] Checking for system updates...
[2026-10-20 13:02:06,054.054 INFO    ] 200
[2026-10-20 13:02:06,057.057 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:02:06,109.109 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:02:06,112.112 INFO    ] No update needed
[2026-10-20 13:02:06,115.115 INFO    ] Checking for camera pi updates...
[2026-10-20 13:02:06,150.150 INFO    ] 200
[2026-10-20 13:02:06,153.153 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:02:06,197.197 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:02:06,235.235 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:02:06,237.237 INFO    ] No camera update needed
[2026-10-20 13:02:06,239.239 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:02:06,242.242 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:02:06,247.247 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:02:06,252.252 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:02:08,292.292 INFO    ] ================================================
[2026-10-20 13:02:08,307.307 INFO    ] Launching Daemon at Tue Oct 20 13:02:08 IST 2026
[2026-10-20 13:02:08,317.317 INFO    ] ================================================
[2026-10-20 13:02:08,884.884 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:02:08
[2026-10-20 13:02:09,469.469 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:02:09,725.725 INFO    ] Initializing speech engine...
[2026-10-20 13:02:09,731.731 INFO    ] 2026-10-20 13:02:09
[2026-10-20 13:02:10,021.021 INFO    ] 2026-10-20 13:02:09
[2026-10-20 13:02:10,056.056 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:02:10,278.278 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:02:10,287.287 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:02:10,505.505 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:02:10,518.518 INFO    ] time= 20/10/2026 13:02:10
[2026-10-20 13:02:10,577.577 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:02:10,637.637 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:02:10,787.787 INFO    ] No existing commands found in stream
[2026-10-20 13:02:15,809.809 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:02:15,812.812 INFO    ] Waiting 0.64 seconds before fallback handling...
[2026-10-20 13:02:16,974.974 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 13:02:16,977.977 INFO    ] Checking for system updates...
[2026-10-20 13:02:17,012.012 INFO    ] 200
[2026-10-20 13:02:17,014.014 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:02:17,071.071 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:02:17,074.074 INFO    ] No update needed
[2026-10-20 13:02:17,076.076 INFO    ] Checking for camera pi updates...
[2026-10-20 13:02:17,109.109 INFO    ] 200
[2026-10-20 13:02:17,111.111 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:02:17,155.155 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:02:17,202.202 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:02:17,205.205 INFO    ] No camera update needed
[2026-10-20 13:02:17,207.207 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:02:17,209.209 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:02:17,215.215 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:02:17,220.220 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:02:19,258.258 INFO    ] ================================================
[2026-10-20 13:02:19,273.273 INFO    ] Launching Daemon at Tue Oct 20 13:02:19 IST 2026
[2026-10-20 13:02:19,284.284 INFO    ] ================================================
[2026-10-20 13:02:19,850.850 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:02:19
[2026-10-20 13:02:20,436.436 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:02:20,690.690 INFO    ] Initializing speech engine...
[2026-10-20 13:02:20,698.698 INFO    ] 2026-10-20 13:02:20
[2026-10-20 13:02:20,988.988 INFO    ] 2026-10-20 13:02:20
[2026-10-20 13:02:21,026.026 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:02:21,315.315 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:02:21,319.319 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:02:21,469.469 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:02:21,493.493 INFO    ] time= 20/10/2026 13:02:21
[2026-10-20 13:02:21,557.557 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:02:21,602.602 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:02:21,745.745 INFO    ] No existing commands found in stream
[2026-10-20 13:02:26,773.773 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:02:26,776.776 INFO    ] Waiting 3.63 seconds before fallback handling...
[2026-10-20 13:02:30,932.932 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 13:02:30,935.935 INFO    ] Checking for system updates...
[2026-10-20 13:02:30,972.972 INFO    ] 200
[2026-10-20 13:02:30,974.974 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:02:31,027.027 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:02:31,030.030 INFO    ] No update needed
[2026-10-20 13:02:31,032.032 INFO    ] Checking for camera pi updates...
[2026-10-20 13:02:31,066.066 INFO    ] 200
[2026-10-20 13:02:31,069.069 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:02:31,115.115 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:02:31,162.162 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:02:31,165.165 INFO    ] No camera update needed
[2026-10-20 13:02:31,167.167 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:02:31,169.169 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:02:31,175.175 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:02:31,180.180 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:02:33,222.222 INFO    ] ================================================
[2026-10-20 13:02:33,238.238 INFO    ] Launching Daemon at Tue Oct 20 13:02:33 IST 2026
[2026-10-20 13:02:33,249.249 INFO    ] ================================================
[2026-10-20 13:02:33,932.932 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:02:33
[2026-10-20 13:02:34,552.552 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:02:34,832.832 INFO    ] Initializing speech engine...
[2026-10-20 13:02:34,837.837 INFO    ] 2026-10-20 13:02:34
[2026-10-20 13:02:35,086.086 INFO    ] 2026-10-20 13:02:35
[2026-10-20 13:02:35,122.122 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:02:35,377.377 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:02:35,386.386 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:02:35,607.607 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:02:35,646.646 INFO    ] time= 20/10/2026 13:02:35
[2026-10-20 13:02:35,652.652 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:02:35,671.671 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:02:35,817.817 INFO    ] No existing commands found in stream
[2026-10-20 13:02:40,834.834 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:02:40,837.837 INFO    ] Waiting 0.77 seconds before fallback handling...
[2026-10-20 13:02:42,110.110 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:02:42,113.113 INFO    ] Checking for system updates...
[2026-10-20 13:02:42,153.153 INFO    ] 200
[2026-10-20 13:02:42,156.156 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:02:42,228.228 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:02:42,230.230 INFO    ] No update needed
[2026-10-20 13:02:42,233.233 INFO    ] Checking for camera pi updates...
[2026-10-20 13:02:42,265.265 INFO    ] 200
[2026-10-20 13:02:42,268.268 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:02:42,314.314 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:02:42,370.370 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:02:42,373.373 INFO    ] No camera update needed
[2026-10-20 13:02:42,375.375 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:02:42,377.377 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:02:42,383.383 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:02:42,387.387 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:02:44,428.428 INFO    ] ================================================
[2026-10-20 13:02:44,450.450 INFO    ] Launching Daemon at Tue Oct 20 13:02:44 IST 2026
[2026-10-20 13:02:44,461.461 INFO    ] ================================================
[2026-10-20 13:02:45,116.116 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:02:45
[2026-10-20 13:02:45,787.787 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:02:46,085.085 INFO    ] Initializing speech engine...
[2026-10-20 13:02:46,100.100 INFO    ] 2026-10-20 13:02:46
[2026-10-20 13:02:46,375.375 INFO    ] 2026-10-20 13:02:46
[2026-10-20 13:02:46,420.420 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:02:46,674.674 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:02:46,680.680 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:02:46,829.829 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:02:46,874.874 INFO    ] time= 20/10/2026 13:02:46
[2026-10-20 13:02:46,928.928 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:02:46,972.972 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:02:47,120.120 INFO    ] No existing commands found in stream
[2026-10-20 13:02:52,151.151 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:02:52,154.154 INFO    ] Waiting 2.34 seconds before fallback handling...
[2026-10-20 13:02:55,013.013 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:02:55,015.015 INFO    ] Checking for system updates...
[2026-10-20 13:02:55,051.051 INFO    ] 200
[2026-10-20 13:02:55,053.053 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:02:55,108.108 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:02:55,111.111 INFO    ] No update needed
[2026-10-20 13:02:55,114.114 INFO    ] Checking for camera pi updates...
[2026-10-20 13:02:55,147.147 INFO    ] 200
[2026-10-20 13:02:55,149.149 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:02:55,193.193 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:02:55,243.243 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:02:55,246.246 INFO    ] No camera update needed
[2026-10-20 13:02:55,248.248 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:02:55,250.250 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:02:55,256.256 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:02:55,267.267 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:02:57,307.307 INFO    ] ================================================
[2026-10-20 13:02:57,322.322 INFO    ] Launching Daemon at Tue Oct 20 13:02:57 IST 2026
[2026-10-20 13:02:57,333.333 INFO    ] ================================================
[2026-10-20 13:02:57,913.913 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:02:57
[2026-10-20 13:02:58,515.515 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:02:58,792.792 INFO    ] Initializing speech engine...
[2026-10-20 13:02:58,799.799 INFO    ] 2026-10-20 13:02:58
[2026-10-20 13:02:59,046.046 INFO    ] 2026-10-20 13:02:59
[2026-10-20 13:02:59,082.082 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:02:59,263.263 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:02:59,280.280 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:02:59,476.476 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:02:59,498.498 INFO    ] time= 20/10/2026 13:02:59
[2026-10-20 13:02:59,562.562 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:02:59,609.609 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:02:59,743.743 INFO    ] No existing commands found in stream
[2026-10-20 13:03:04,767.767 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:03:04,770.770 INFO    ] Waiting 1.47 seconds before fallback handling...
[2026-10-20 13:03:06,726.726 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:03:06,729.729 INFO    ] Checking for system updates...
[2026-10-20 13:03:06,775.775 INFO    ] 200
[2026-10-20 13:03:06,779.779 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:03:06,844.844 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:03:06,848.848 INFO    ] No update needed
[2026-10-20 13:03:06,851.851 INFO    ] Checking for camera pi updates...
[2026-10-20 13:03:06,901.901 INFO    ] 200
[2026-10-20 13:03:06,904.904 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:03:06,962.962 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:03:07,119.119 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:03:07,122.122 INFO    ] No camera update needed
[2026-10-20 13:03:07,124.124 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:03:07,128.128 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:03:07,137.137 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:03:07,144.144 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:03:09,189.189 INFO    ] ================================================
[2026-10-20 13:03:09,205.205 INFO    ] Launching Daemon at Tue Oct 20 13:03:09 IST 2026
[2026-10-20 13:03:09,215.215 INFO    ] ================================================
[2026-10-20 13:03:09,799.799 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:03:09
[2026-10-20 13:03:10,399.399 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:03:10,677.677 INFO    ] Initializing speech engine...
[2026-10-20 13:03:10,686.686 INFO    ] 2026-10-20 13:03:10
[2026-10-20 13:03:10,944.944 INFO    ] 2026-10-20 13:03:10
[2026-10-20 13:03:10,981.981 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:03:11,226.226 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:03:11,235.235 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:03:11,441.441 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:03:11,497.497 INFO    ] time= 20/10/2026 13:03:11
[2026-10-20 13:03:11,504.504 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:03:11,522.522 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:03:11,647.647 INFO    ] No existing commands found in stream
[2026-10-20 13:03:16,663.663 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:03:16,665.665 INFO    ] Waiting 1.88 seconds before fallback handling...
[2026-10-20 13:03:19,025.025 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:03:19,028.028 INFO    ] Checking for system updates...
[2026-10-20 13:03:19,063.063 INFO    ] 200
[2026-10-20 13:03:19,065.065 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:03:19,117.117 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:03:19,119.119 INFO    ] No update needed
[2026-10-20 13:03:19,122.122 INFO    ] Checking for camera pi updates...
[2026-10-20 13:03:19,155.155 INFO    ] 200
[2026-10-20 13:03:19,157.157 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:03:19,201.201 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:03:19,256.256 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:03:19,259.259 INFO    ] No camera update needed
[2026-10-20 13:03:19,261.261 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:03:19,264.264 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:03:19,269.269 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:03:19,274.274 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:03:21,316.316 INFO    ] ================================================
[2026-10-20 13:03:21,332.332 INFO    ] Launching Daemon at Tue Oct 20 13:03:21 IST 2026
[2026-10-20 13:03:21,342.342 INFO    ] ================================================
[2026-10-20 13:03:21,912.912 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:03:21
[2026-10-20 13:03:22,499.499 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:03:22,748.748 INFO    ] Initializing speech engine...
[2026-10-20 13:03:22,760.760 INFO    ] 2026-10-20 13:03:22
[2026-10-20 13:03:23,025.025 INFO    ] 2026-10-20 13:03:23
[2026-10-20 13:03:23,061.061 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:03:23,316.316 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:03:23,346.346 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:03:23,544.544 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:03:23,589.589 INFO    ] time= 20/10/2026 13:03:23
[2026-10-20 13:03:23,596.596 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:03:23,615.615 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:03:23,747.747 INFO    ] No existing commands found in stream
[2026-10-20 13:03:28,760.760 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:03:28,762.762 INFO    ] Waiting 2.73 seconds before fallback handling...
[2026-10-20 13:03:31,989.989 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:03:31,992.992 INFO    ] Checking for system updates...
[2026-10-20 13:03:32,041.041 INFO    ] 200
[2026-10-20 13:03:32,044.044 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:03:32,100.100 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:03:32,102.102 INFO    ] No update needed
[2026-10-20 13:03:32,105.105 INFO    ] Checking for camera pi updates...
[2026-10-20 13:03:32,141.141 INFO    ] 200
[2026-10-20 13:03:32,143.143 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:03:32,191.191 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:03:32,223.223 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:03:32,226.226 INFO    ] No camera update needed
[2026-10-20 13:03:32,229.229 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:03:32,232.232 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:03:32,238.238 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:03:32,244.244 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:03:34,284.284 INFO    ] ================================================
[2026-10-20 13:03:34,300.300 INFO    ] Launching Daemon at Tue Oct 20 13:03:34 IST 2026
[2026-10-20 13:03:34,311.311 INFO    ] ================================================
[2026-10-20 13:03:34,884.884 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:03:34
[2026-10-20 13:03:35,474.474 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:03:35,722.722 INFO    ] Initializing speech engine...
[2026-10-20 13:03:35,730.730 INFO    ] 2026-10-20 13:03:35
[2026-10-20 13:03:36,006.006 INFO    ] 2026-10-20 13:03:35
[2026-10-20 13:03:36,043.043 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:03:36,242.242 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:03:36,265.265 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:03:36,446.446 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:03:36,483.483 INFO    ] time= 20/10/2026 13:03:36
[2026-10-20 13:03:36,532.532 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:03:36,584.584 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:03:36,721.721 INFO    ] No existing commands found in stream
[2026-10-20 13:03:41,746.746 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:03:41,749.749 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-10-20 13:03:44,324.324 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:03:44,327.327 INFO    ] Checking for system updates...
[2026-10-20 13:03:44,363.363 INFO    ] 200
[2026-10-20 13:03:44,365.365 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:03:44,421.421 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:03:44,424.424 INFO    ] No update needed
[2026-10-20 13:03:44,426.426 INFO    ] Checking for camera pi updates...
[2026-10-20 13:03:44,460.460 INFO    ] 200
[2026-10-20 13:03:44,462.462 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:03:44,502.502 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:03:44,550.550 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:03:44,552.552 INFO    ] No camera update needed
[2026-10-20 13:03:44,555.555 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:03:44,557.557 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:03:44,562.562 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:03:44,567.567 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:03:46,607.607 INFO    ] ================================================
[2026-10-20 13:03:46,623.623 INFO    ] Launching Daemon at Tue Oct 20 13:03:46 IST 2026
[2026-10-20 13:03:46,634.634 INFO    ] ================================================
[2026-10-20 13:03:47,279.279 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:03:47
[2026-10-20 13:03:47,944.944 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:03:48,247.247 INFO    ] Initializing speech engine...
[2026-10-20 13:03:48,262.262 INFO    ] 2026-10-20 13:03:48
[2026-10-20 13:03:48,528.528 INFO    ] 2026-10-20 13:03:48
[2026-10-20 13:03:48,586.586 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:03:48,841.841 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:03:48,875.875 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:03:49,078.078 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:03:49,085.085 INFO    ] time= 20/10/2026 13:03:49
[2026-10-20 13:03:49,104.104 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:03:49,133.133 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:03:49,256.256 INFO    ] No existing commands found in stream
[2026-10-20 13:03:54,287.287 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:03:54,290.290 INFO    ] Waiting 3.49 seconds before fallback handling...
[2026-10-20 13:03:58,305.305 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 13:03:58,308.308 INFO    ] Checking for system updates...
[2026-10-20 13:03:58,348.348 INFO    ] 200
[2026-10-20 13:03:58,350.350 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:03:58,403.403 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:03:58,405.405 INFO    ] No update needed
[2026-10-20 13:03:58,408.408 INFO    ] Checking for camera pi updates...
[2026-10-20 13:03:58,442.442 INFO    ] 200
[2026-10-20 13:03:58,444.444 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:03:58,484.484 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:03:58,534.534 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:03:58,536.536 INFO    ] No camera update needed
[2026-10-20 13:03:58,539.539 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:03:58,541.541 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:03:58,546.546 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:03:58,551.551 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:04:00,591.591 INFO    ] ================================================
[2026-10-20 13:04:00,606.606 INFO    ] Launching Daemon at Tue Oct 20 13:04:00 IST 2026
[2026-10-20 13:04:00,618.618 INFO    ] ================================================
[2026-10-20 13:04:01,209.209 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:04:01
[2026-10-20 13:04:01,830.830 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:04:02,372.372 INFO    ] Initializing speech engine...
[2026-10-20 13:04:02,379.379 INFO    ] 2026-10-20 13:04:02
[2026-10-20 13:04:02,696.696 INFO    ] 2026-10-20 13:04:02
[2026-10-20 13:04:02,769.769 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:04:02,986.986 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:04:03,000.000 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:04:03,196.196 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:04:03,225.225 INFO    ] time= 20/10/2026 13:04:03
[2026-10-20 13:04:03,242.242 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:04:03,253.253 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:04:03,356.356 INFO    ] No existing commands found in stream
[2026-10-20 13:04:08,365.365 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:04:08,368.368 INFO    ] Waiting 2.58 seconds before fallback handling...
[2026-10-20 13:04:11,455.455 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:04:11,458.458 INFO    ] Checking for system updates...
[2026-10-20 13:04:11,494.494 INFO    ] 200
[2026-10-20 13:04:11,497.497 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:04:11,550.550 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:04:11,553.553 INFO    ] No update needed
[2026-10-20 13:04:11,555.555 INFO    ] Checking for camera pi updates...
[2026-10-20 13:04:11,589.589 INFO    ] 200
[2026-10-20 13:04:11,592.592 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:04:11,633.633 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:04:11,678.678 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:04:11,681.681 INFO    ] No camera update needed
[2026-10-20 13:04:11,683.683 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:04:11,686.686 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:04:11,692.692 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:04:11,698.698 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:04:13,740.740 INFO    ] ================================================
[2026-10-20 13:04:13,756.756 INFO    ] Launching Daemon at Tue Oct 20 13:04:13 IST 2026
[2026-10-20 13:04:13,767.767 INFO    ] ================================================
[2026-10-20 13:04:14,339.339 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:04:14
[2026-10-20 13:04:14,924.924 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:04:15,184.184 INFO    ] Initializing speech engine...
[2026-10-20 13:04:15,198.198 INFO    ] 2026-10-20 13:04:15
[2026-10-20 13:04:15,481.481 INFO    ] 2026-10-20 13:04:15
[2026-10-20 13:04:15,517.517 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:04:15,802.802 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:04:15,812.812 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:04:15,964.964 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:04:16,009.009 INFO    ] time= 20/10/2026 13:04:15
[2026-10-20 13:04:16,058.058 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:04:16,109.109 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:04:16,242.242 INFO    ] No existing commands found in stream
[2026-10-20 13:04:21,267.267 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:04:21,270.270 INFO    ] Waiting 0.41 seconds before fallback handling...
[2026-10-20 13:04:22,169.169 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 13:04:22,172.172 INFO    ] Checking for system updates...
[2026-10-20 13:04:22,206.206 INFO    ] 200
[2026-10-20 13:04:22,209.209 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:04:22,261.261 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:04:22,264.264 INFO    ] No update needed
[2026-10-20 13:04:22,266.266 INFO    ] Checking for camera pi updates...
[2026-10-20 13:04:22,303.303 INFO    ] 200
[2026-10-20 13:04:22,305.305 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:04:22,346.346 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:04:22,394.394 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:04:22,397.397 INFO    ] No camera update needed
[2026-10-20 13:04:22,399.399 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:04:22,401.401 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:04:22,407.407 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:04:22,412.412 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:04:24,452.452 INFO    ] ================================================
[2026-10-20 13:04:24,468.468 INFO    ] Launching Daemon at Tue Oct 20 13:04:24 IST 2026
[2026-10-20 13:04:24,479.479 INFO    ] ================================================
[2026-10-20 13:04:25,061.061 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:04:25
[2026-10-20 13:04:25,659.659 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:04:25,934.934 INFO    ] Initializing speech engine...
[2026-10-20 13:04:25,942.942 INFO    ] 2026-10-20 13:04:25
[2026-10-20 13:04:26,203.203 INFO    ] 2026-10-20 13:04:26
[2026-10-20 13:04:26,254.254 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:04:26,484.484 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:04:26,489.489 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:04:26,680.680 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:04:26,683.683 INFO    ] time= 20/10/2026 13:04:26
[2026-10-20 13:04:26,732.732 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:04:26,752.752 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:04:26,894.894 INFO    ] No existing commands found in stream
[2026-10-20 13:04:31,910.910 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:04:31,913.913 INFO    ] Waiting 2.10 seconds before fallback handling...
[2026-10-20 13:04:34,525.525 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:04:34,527.527 INFO    ] Checking for system updates...
[2026-10-20 13:04:34,564.564 INFO    ] 200
[2026-10-20 13:04:34,566.566 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:04:34,618.618 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:04:34,620.620 INFO    ] No update needed
[2026-10-20 13:04:34,623.623 INFO    ] Checking for camera pi updates...
[2026-10-20 13:04:34,660.660 INFO    ] 200
[2026-10-20 13:04:34,662.662 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:04:34,706.706 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:04:34,766.766 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:04:34,769.769 INFO    ] No camera update needed
[2026-10-20 13:04:34,771.771 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:04:34,773.773 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:04:34,779.779 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:04:34,784.784 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:04:36,824.824 INFO    ] ================================================
[2026-10-20 13:04:36,839.839 INFO    ] Launching Daemon at Tue Oct 20 13:04:36 IST 2026
[2026-10-20 13:04:36,849.849 INFO    ] ================================================
[2026-10-20 13:04:37,503.503 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:04:37
[2026-10-20 13:04:38,177.177 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:04:38,476.476 INFO    ] Initializing speech engine...
[2026-10-20 13:04:38,488.488 INFO    ] 2026-10-20 13:04:38
[2026-10-20 13:04:38,774.774 INFO    ] 2026-10-20 13:04:38
[2026-10-20 13:04:38,817.817 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:04:39,051.051 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:04:39,058.058 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:04:39,274.274 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:04:39,323.323 INFO    ] time= 20/10/2026 13:04:39
[2026-10-20 13:04:39,329.329 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:04:39,349.349 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:04:39,484.484 INFO    ] No existing commands found in stream
[2026-10-20 13:04:44,496.496 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:04:44,499.499 INFO    ] Waiting 2.68 seconds before fallback handling...
[2026-10-20 13:04:47,767.767 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 13:04:47,770.770 INFO    ] Checking for system updates...
[2026-10-20 13:04:47,807.807 INFO    ] 200
[2026-10-20 13:04:47,810.810 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:04:47,864.864 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:04:47,867.867 INFO    ] No update needed
[2026-10-20 13:04:47,869.869 INFO    ] Checking for camera pi updates...
[2026-10-20 13:04:47,904.904 INFO    ] 200
[2026-10-20 13:04:47,907.907 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:04:47,947.947 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:04:48,007.007 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:04:48,010.010 INFO    ] No camera update needed
[2026-10-20 13:04:48,012.012 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:04:48,014.014 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:04:48,020.020 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:04:48,024.024 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:04:50,063.063 INFO    ] ================================================
[2026-10-20 13:04:50,078.078 INFO    ] Launching Daemon at Tue Oct 20 13:04:50 IST 2026
[2026-10-20 13:04:50,089.089 INFO    ] ================================================
[2026-10-20 13:04:50,669.669 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:04:50
[2026-10-20 13:04:51,267.267 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:04:51,541.541 INFO    ] Initializing speech engine...
[2026-10-20 13:04:51,551.551 INFO    ] 2026-10-20 13:04:51
[2026-10-20 13:04:51,797.797 INFO    ] 2026-10-20 13:04:51
[2026-10-20 13:04:51,834.834 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:04:52,085.085 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:04:52,095.095 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:04:52,320.320 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:04:52,356.356 INFO    ] time= 20/10/2026 13:04:52
[2026-10-20 13:04:52,372.372 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:04:52,381.381 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:04:52,504.504 INFO    ] No existing commands found in stream
[2026-10-20 13:04:57,520.520 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:04:57,523.523 INFO    ] Waiting 0.31 seconds before fallback handling...
[2026-10-20 13:04:58,362.362 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:04:58,365.365 INFO    ] Checking for system updates...
[2026-10-20 13:04:58,400.400 INFO    ] 200
[2026-10-20 13:04:58,403.403 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:04:58,456.456 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:04:58,458.458 INFO    ] No update needed
[2026-10-20 13:04:58,461.461 INFO    ] Checking for camera pi updates...
[2026-10-20 13:04:58,494.494 INFO    ] 200
[2026-10-20 13:04:58,497.497 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:04:58,541.541 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:04:58,590.590 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:04:58,592.592 INFO    ] No camera update needed
[2026-10-20 13:04:58,594.594 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:04:58,597.597 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:04:58,602.602 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:04:58,607.607 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:05:00,647.647 INFO    ] ================================================
[2026-10-20 13:05:00,661.661 INFO    ] Launching Daemon at Tue Oct 20 13:05:00 IST 2026
[2026-10-20 13:05:00,672.672 INFO    ] ================================================
[2026-10-20 13:05:01,251.251 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:05:01
[2026-10-20 13:05:01,849.849 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:05:02,496.496 INFO    ] Initializing speech engine...
[2026-10-20 13:05:02,503.503 INFO    ] 2026-10-20 13:05:02
[2026-10-20 13:05:02,924.924 INFO    ] 2026-10-20 13:05:02
[2026-10-20 13:05:02,983.983 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:05:03,246.246 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:05:03,300.300 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:05:03,521.521 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:05:03,555.555 INFO    ] time= 20/10/2026 13:05:03
[2026-10-20 13:05:03,617.617 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:05:03,669.669 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:05:03,815.815 INFO    ] No existing commands found in stream
[2026-10-20 13:05:08,841.841 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:05:08,843.843 INFO    ] Waiting 1.20 seconds before fallback handling...
[2026-10-20 13:05:10,534.534 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:05:10,537.537 INFO    ] Checking for system updates...
[2026-10-20 13:05:10,575.575 INFO    ] 200
[2026-10-20 13:05:10,578.578 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:05:10,630.630 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:05:10,633.633 INFO    ] No update needed
[2026-10-20 13:05:10,635.635 INFO    ] Checking for camera pi updates...
[2026-10-20 13:05:10,669.669 INFO    ] 200
[2026-10-20 13:05:10,671.671 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:05:10,712.712 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:05:10,845.845 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:05:10,847.847 INFO    ] No camera update needed
[2026-10-20 13:05:10,850.850 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:05:10,852.852 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:05:10,857.857 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:05:10,863.863 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:05:12,901.901 INFO    ] ================================================
[2026-10-20 13:05:12,917.917 INFO    ] Launching Daemon at Tue Oct 20 13:05:12 IST 2026
[2026-10-20 13:05:12,927.927 INFO    ] ================================================
[2026-10-20 13:05:13,494.494 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:05:13
[2026-10-20 13:05:14,095.095 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:05:14,401.401 INFO    ] Initializing speech engine...
[2026-10-20 13:05:14,410.410 INFO    ] 2026-10-20 13:05:14
[2026-10-20 13:05:14,701.701 INFO    ] 2026-10-20 13:05:14
[2026-10-20 13:05:14,747.747 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:05:15,002.002 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:05:15,009.009 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:05:15,239.239 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:05:15,255.255 INFO    ] time= 20/10/2026 13:05:15
[2026-10-20 13:05:15,273.273 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:05:15,307.307 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:05:15,459.459 INFO    ] No existing commands found in stream
[2026-10-20 13:05:20,490.490 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:05:20,493.493 INFO    ] Waiting 1.36 seconds before fallback handling...
[2026-10-20 13:05:22,345.345 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:05:22,348.348 INFO    ] Checking for system updates...
[2026-10-20 13:05:22,389.389 INFO    ] 200
[2026-10-20 13:05:22,391.391 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:05:22,444.444 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:05:22,446.446 INFO    ] No update needed
[2026-10-20 13:05:22,448.448 INFO    ] Checking for camera pi updates...
[2026-10-20 13:05:22,481.481 INFO    ] 200
[2026-10-20 13:05:22,484.484 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:05:22,529.529 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:05:22,581.581 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:05:22,583.583 INFO    ] No camera update needed
[2026-10-20 13:05:22,585.585 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:05:22,588.588 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:05:22,593.593 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:05:22,598.598 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:05:24,637.637 INFO    ] ================================================
[2026-10-20 13:05:24,653.653 INFO    ] Launching Daemon at Tue Oct 20 13:05:24 IST 2026
[2026-10-20 13:05:24,664.664 INFO    ] ================================================
[2026-10-20 13:05:25,230.230 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:05:25
[2026-10-20 13:05:25,814.814 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:05:26,063.063 INFO    ] Initializing speech engine...
[2026-10-20 13:05:26,078.078 INFO    ] 2026-10-20 13:05:26
[2026-10-20 13:05:26,341.341 INFO    ] 2026-10-20 13:05:26
[2026-10-20 13:05:26,377.377 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:05:26,633.633 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:05:26,642.642 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:05:26,853.853 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:05:26,905.905 INFO    ] time= 20/10/2026 13:05:26
[2026-10-20 13:05:26,912.912 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:05:26,928.928 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:05:27,078.078 INFO    ] No existing commands found in stream
[2026-10-20 13:05:32,110.110 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:05:32,113.113 INFO    ] Waiting 0.36 seconds before fallback handling...
[2026-10-20 13:05:32,983.983 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:05:32,986.986 INFO    ] Checking for system updates...
[2026-10-20 13:05:33,029.029 INFO    ] 200
[2026-10-20 13:05:33,032.032 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:05:33,090.090 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:05:33,092.092 INFO    ] No update needed
[2026-10-20 13:05:33,095.095 INFO    ] Checking for camera pi updates...
[2026-10-20 13:05:33,131.131 INFO    ] 200
[2026-10-20 13:05:33,134.134 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:05:33,182.182 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:05:33,220.220 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:05:33,223.223 INFO    ] No camera update needed
[2026-10-20 13:05:33,227.227 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:05:33,230.230 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:05:33,237.237 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:05:33,243.243 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:05:35,289.289 INFO    ] ================================================
[2026-10-20 13:05:35,308.308 INFO    ] Launching Daemon at Tue Oct 20 13:05:35 IST 2026
[2026-10-20 13:05:35,323.323 INFO    ] ================================================
[2026-10-20 13:05:35,898.898 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:05:35
[2026-10-20 13:05:36,485.485 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:05:36,760.760 INFO    ] Initializing speech engine...
[2026-10-20 13:05:36,766.766 INFO    ] 2026-10-20 13:05:36
[2026-10-20 13:05:37,015.015 INFO    ] 2026-10-20 13:05:37
[2026-10-20 13:05:37,058.058 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:05:37,308.308 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:05:37,318.318 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:05:37,524.524 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:05:37,574.574 INFO    ] time= 20/10/2026 13:05:37
[2026-10-20 13:05:37,584.584 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:05:37,590.590 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:05:37,737.737 INFO    ] No existing commands found in stream
[2026-10-20 13:05:42,751.751 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:05:42,754.754 INFO    ] Waiting 0.31 seconds before fallback handling...
[2026-10-20 13:05:43,660.660 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 13:05:43,663.663 INFO    ] Checking for system updates...
[2026-10-20 13:05:43,703.703 INFO    ] 200
[2026-10-20 13:05:43,706.706 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:05:43,763.763 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:05:43,766.766 INFO    ] No update needed
[2026-10-20 13:05:43,768.768 INFO    ] Checking for camera pi updates...
[2026-10-20 13:05:43,804.804 INFO    ] 200
[2026-10-20 13:05:43,806.806 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:05:43,846.846 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:05:43,905.905 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:05:43,907.907 INFO    ] No camera update needed
[2026-10-20 13:05:43,909.909 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:05:43,912.912 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:05:43,917.917 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:05:43,922.922 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:05:45,963.963 INFO    ] ================================================
[2026-10-20 13:05:45,979.979 INFO    ] Launching Daemon at Tue Oct 20 13:05:45 IST 2026
[2026-10-20 13:05:45,990.990 INFO    ] ================================================
[2026-10-20 13:05:46,638.638 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:05:46
[2026-10-20 13:05:47,296.296 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:05:47,597.597 INFO    ] Initializing speech engine...
[2026-10-20 13:05:47,610.610 INFO    ] 2026-10-20 13:05:47
[2026-10-20 13:05:47,891.891 INFO    ] 2026-10-20 13:05:47
[2026-10-20 13:05:47,947.947 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:05:48,222.222 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:05:48,231.231 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:05:48,430.430 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:05:48,437.437 INFO    ] time= 20/10/2026 13:05:48
[2026-10-20 13:05:48,459.459 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:05:48,487.487 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:05:48,650.650 INFO    ] No existing commands found in stream
[2026-10-20 13:05:53,681.681 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:05:53,687.687 INFO    ] Waiting 3.83 seconds before fallback handling...
[2026-10-20 13:05:58,118.118 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:05:58,121.121 INFO    ] Checking for system updates...
[2026-10-20 13:05:58,157.157 INFO    ] 200
[2026-10-20 13:05:58,159.159 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:05:58,222.222 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:05:58,224.224 INFO    ] No update needed
[2026-10-20 13:05:58,226.226 INFO    ] Checking for camera pi updates...
[2026-10-20 13:05:58,259.259 INFO    ] 200
[2026-10-20 13:05:58,262.262 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:05:58,306.306 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:05:58,363.363 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:05:58,366.366 INFO    ] No camera update needed
[2026-10-20 13:05:58,368.368 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:05:58,371.371 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:05:58,376.376 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:05:58,381.381 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:06:00,420.420 INFO    ] ================================================
[2026-10-20 13:06:00,436.436 INFO    ] Launching Daemon at Tue Oct 20 13:06:00 IST 2026
[2026-10-20 13:06:00,447.447 INFO    ] ================================================
[2026-10-20 13:06:01,016.016 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:06:01
[2026-10-20 13:06:01,733.733 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:06:02,061.061 INFO    ] Initializing speech engine...
[2026-10-20 13:06:02,070.070 INFO    ] 2026-10-20 13:06:02
[2026-10-20 13:06:02,366.366 INFO    ] 2026-10-20 13:06:02
[2026-10-20 13:06:02,483.483 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:06:02,716.716 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:06:02,723.723 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:06:02,921.921 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:06:02,966.966 INFO    ] time= 20/10/2026 13:06:02
[2026-10-20 13:06:02,984.984 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:06:03,012.012 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:06:03,137.137 INFO    ] No existing commands found in stream
[2026-10-20 13:06:08,151.151 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:06:08,154.154 INFO    ] Waiting 1.14 seconds before fallback handling...
[2026-10-20 13:06:09,823.823 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 13:06:09,825.825 INFO    ] Checking for system updates...
[2026-10-20 13:06:09,861.861 INFO    ] 200
[2026-10-20 13:06:09,863.863 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:06:09,916.916 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:06:09,918.918 INFO    ] No update needed
[2026-10-20 13:06:09,921.921 INFO    ] Checking for camera pi updates...
[2026-10-20 13:06:09,957.957 INFO    ] 200
[2026-10-20 13:06:09,960.960 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:06:10,000.000 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:06:10,044.044 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:06:10,047.047 INFO    ] No camera update needed
[2026-10-20 13:06:10,049.049 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:06:10,051.051 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:06:10,057.057 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:06:10,062.062 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:06:12,103.103 INFO    ] ================================================
[2026-10-20 13:06:12,118.118 INFO    ] Launching Daemon at Tue Oct 20 13:06:12 IST 2026
[2026-10-20 13:06:12,129.129 INFO    ] ================================================
[2026-10-20 13:06:12,700.700 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:06:12
[2026-10-20 13:06:13,289.289 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:06:13,540.540 INFO    ] Initializing speech engine...
[2026-10-20 13:06:13,545.545 INFO    ] 2026-10-20 13:06:13
[2026-10-20 13:06:13,822.822 INFO    ] 2026-10-20 13:06:13
[2026-10-20 13:06:13,857.857 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:06:14,115.115 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:06:14,123.123 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:06:14,268.268 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:06:14,323.323 INFO    ] time= 20/10/2026 13:06:14
[2026-10-20 13:06:14,377.377 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:06:14,394.394 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:06:14,536.536 INFO    ] No existing commands found in stream
[2026-10-20 13:06:19,550.550 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:06:19,553.553 INFO    ] Waiting 3.87 seconds before fallback handling...
[2026-10-20 13:06:23,922.922 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 13:06:23,925.925 INFO    ] Checking for system updates...
[2026-10-20 13:06:23,964.964 INFO    ] 200
[2026-10-20 13:06:23,967.967 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:06:24,026.026 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:06:24,029.029 INFO    ] No update needed
[2026-10-20 13:06:24,033.033 INFO    ] Checking for camera pi updates...
[2026-10-20 13:06:24,067.067 INFO    ] 200
[2026-10-20 13:06:24,070.070 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:06:24,111.111 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:06:24,162.162 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:06:24,165.165 INFO    ] No camera update needed
[2026-10-20 13:06:24,168.168 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:06:24,170.170 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:06:24,177.177 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:06:24,183.183 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:06:26,227.227 INFO    ] ================================================
[2026-10-20 13:06:26,242.242 INFO    ] Launching Daemon at Tue Oct 20 13:06:26 IST 2026
[2026-10-20 13:06:26,254.254 INFO    ] ================================================
[2026-10-20 13:06:26,838.838 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:06:26
[2026-10-20 13:06:27,442.442 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:06:27,719.719 INFO    ] Initializing speech engine...
[2026-10-20 13:06:27,739.739 INFO    ] 2026-10-20 13:06:27
[2026-10-20 13:06:28,013.013 INFO    ] 2026-10-20 13:06:27
[2026-10-20 13:06:28,049.049 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:06:28,249.249 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:06:28,265.265 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:06:28,433.433 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:06:28,438.438 INFO    ] time= 20/10/2026 13:06:28
[2026-10-20 13:06:28,445.445 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:06:28,467.467 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:06:28,608.608 INFO    ] No existing commands found in stream
[2026-10-20 13:06:33,633.633 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:06:33,636.636 INFO    ] Waiting 1.59 seconds before fallback handling...
[2026-10-20 13:06:35,750.750 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:06:35,753.753 INFO    ] Checking for system updates...
[2026-10-20 13:06:35,793.793 INFO    ] 200
[2026-10-20 13:06:35,796.796 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:06:35,847.847 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:06:35,850.850 INFO    ] No update needed
[2026-10-20 13:06:35,852.852 INFO    ] Checking for camera pi updates...
[2026-10-20 13:06:35,890.890 INFO    ] 200
[2026-10-20 13:06:35,892.892 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:06:35,932.932 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:06:35,980.980 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:06:35,983.983 INFO    ] No camera update needed
[2026-10-20 13:06:35,985.985 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:06:35,988.988 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:06:35,993.993 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:06:35,998.998 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:06:38,038.038 INFO    ] ================================================
[2026-10-20 13:06:38,055.055 INFO    ] Launching Daemon at Tue Oct 20 13:06:38 IST 2026
[2026-10-20 13:06:38,066.066 INFO    ] ================================================
[2026-10-20 13:06:38,646.646 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:06:38
[2026-10-20 13:06:39,245.245 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:06:39,553.553 INFO    ] Initializing speech engine...
[2026-10-20 13:06:39,566.566 INFO    ] 2026-10-20 13:06:39
[2026-10-20 13:06:39,880.880 INFO    ] 2026-10-20 13:06:39
[2026-10-20 13:06:39,968.968 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:06:40,187.187 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:06:40,197.197 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:06:40,393.393 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:06:40,412.412 INFO    ] time= 20/10/2026 13:06:40
[2026-10-20 13:06:40,423.423 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:06:40,451.451 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:06:40,574.574 INFO    ] No existing commands found in stream
[2026-10-20 13:06:45,605.605 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:06:45,609.609 INFO    ] Waiting 1.77 seconds before fallback handling...
[2026-10-20 13:06:47,902.902 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:06:47,905.905 INFO    ] Checking for system updates...
[2026-10-20 13:06:47,946.946 INFO    ] 200
[2026-10-20 13:06:47,949.949 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:06:48,003.003 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:06:48,006.006 INFO    ] No update needed
[2026-10-20 13:06:48,009.009 INFO    ] Checking for camera pi updates...
[2026-10-20 13:06:48,044.044 INFO    ] 200
[2026-10-20 13:06:48,047.047 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:06:48,093.093 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:06:48,138.138 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:06:48,141.141 INFO    ] No camera update needed
[2026-10-20 13:06:48,144.144 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:06:48,146.146 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:06:48,153.153 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:06:48,158.158 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:06:50,201.201 INFO    ] ================================================
[2026-10-20 13:06:50,215.215 INFO    ] Launching Daemon at Tue Oct 20 13:06:50 IST 2026
[2026-10-20 13:06:50,227.227 INFO    ] ================================================
[2026-10-20 13:06:50,801.801 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:06:50
[2026-10-20 13:06:51,394.394 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:06:51,645.645 INFO    ] Initializing speech engine...
[2026-10-20 13:06:51,668.668 INFO    ] 2026-10-20 13:06:51
[2026-10-20 13:06:51,920.920 INFO    ] 2026-10-20 13:06:51
[2026-10-20 13:06:51,955.955 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:06:52,210.210 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:06:52,216.216 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:06:52,341.341 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:06:52,343.343 INFO    ] time= 20/10/2026 13:06:52
[2026-10-20 13:06:52,346.346 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:06:52,348.348 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:06:52,491.491 INFO    ] No existing commands found in stream
[2026-10-20 13:06:57,502.502 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:06:57,504.504 INFO    ] Waiting 1.13 seconds before fallback handling...
[2026-10-20 13:06:59,173.173 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:06:59,176.176 INFO    ] Checking for system updates...
[2026-10-20 13:06:59,217.217 INFO    ] 200
[2026-10-20 13:06:59,220.220 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:06:59,281.281 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:06:59,284.284 INFO    ] No update needed
[2026-10-20 13:06:59,287.287 INFO    ] Checking for camera pi updates...
[2026-10-20 13:06:59,321.321 INFO    ] 200
[2026-10-20 13:06:59,324.324 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:06:59,365.365 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:06:59,418.418 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:06:59,421.421 INFO    ] No camera update needed
[2026-10-20 13:06:59,424.424 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:06:59,427.427 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:06:59,433.433 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:06:59,439.439 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:07:01,501.501 INFO    ] ================================================
[2026-10-20 13:07:01,529.529 INFO    ] Launching Daemon at Tue Oct 20 13:07:01 IST 2026
[2026-10-20 13:07:01,550.550 INFO    ] ================================================
[2026-10-20 13:07:02,320.320 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:07:02
[2026-10-20 13:07:02,972.972 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:07:03,301.301 INFO    ] Initializing speech engine...
[2026-10-20 13:07:03,310.310 INFO    ] 2026-10-20 13:07:03
[2026-10-20 13:07:03,567.567 INFO    ] 2026-10-20 13:07:03
[2026-10-20 13:07:03,601.601 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:07:03,816.816 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:07:03,831.831 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:07:03,990.990 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:07:03,995.995 INFO    ] time= 20/10/2026 13:07:03
[2026-10-20 13:07:04,002.002 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:07:04,053.053 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:07:04,184.184 INFO    ] No existing commands found in stream
[2026-10-20 13:07:09,209.209 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:07:09,212.212 INFO    ] Waiting 0.79 seconds before fallback handling...
[2026-10-20 13:07:10,525.525 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 13:07:10,528.528 INFO    ] Checking for system updates...
[2026-10-20 13:07:10,563.563 INFO    ] 200
[2026-10-20 13:07:10,565.565 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:07:10,621.621 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:07:10,624.624 INFO    ] No update needed
[2026-10-20 13:07:10,626.626 INFO    ] Checking for camera pi updates...
[2026-10-20 13:07:10,659.659 INFO    ] 200
[2026-10-20 13:07:10,661.661 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:07:10,708.708 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:07:10,753.753 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:07:10,756.756 INFO    ] No camera update needed
[2026-10-20 13:07:10,758.758 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:07:10,761.761 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:07:10,766.766 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:07:10,771.771 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:07:12,811.811 INFO    ] ================================================
[2026-10-20 13:07:12,827.827 INFO    ] Launching Daemon at Tue Oct 20 13:07:12 IST 2026
[2026-10-20 13:07:12,839.839 INFO    ] ================================================
[2026-10-20 13:07:13,422.422 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:07:13
[2026-10-20 13:07:14,078.078 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:07:14,332.332 INFO    ] Initializing speech engine...
[2026-10-20 13:07:14,338.338 INFO    ] 2026-10-20 13:07:14
[2026-10-20 13:07:14,617.617 INFO    ] 2026-10-20 13:07:14
[2026-10-20 13:07:14,652.652 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:07:14,910.910 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:07:14,919.919 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:07:15,125.125 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:07:15,183.183 INFO    ] time= 20/10/2026 13:07:15
[2026-10-20 13:07:15,189.189 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:07:15,207.207 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:07:15,365.365 INFO    ] No existing commands found in stream
[2026-10-20 13:07:20,395.395 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:07:20,398.398 INFO    ] Waiting 0.26 seconds before fallback handling...
[2026-10-20 13:07:21,169.169 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:07:21,171.171 INFO    ] Checking for system updates...
[2026-10-20 13:07:21,206.206 INFO    ] 200
[2026-10-20 13:07:21,209.209 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:07:21,261.261 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:07:21,263.263 INFO    ] No update needed
[2026-10-20 13:07:21,265.265 INFO    ] Checking for camera pi updates...
[2026-10-20 13:07:21,302.302 INFO    ] 200
[2026-10-20 13:07:21,304.304 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:07:21,344.344 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:07:21,485.485 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:07:21,487.487 INFO    ] No camera update needed
[2026-10-20 13:07:21,490.490 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:07:21,492.492 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:07:21,498.498 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:07:21,504.504 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:07:23,545.545 INFO    ] ================================================
[2026-10-20 13:07:23,560.560 INFO    ] Launching Daemon at Tue Oct 20 13:07:23 IST 2026
[2026-10-20 13:07:23,571.571 INFO    ] ================================================
[2026-10-20 13:07:24,136.136 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:07:24
[2026-10-20 13:07:24,755.755 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:07:25,042.042 INFO    ] Initializing speech engine...
[2026-10-20 13:07:25,054.054 INFO    ] 2026-10-20 13:07:25
[2026-10-20 13:07:25,323.323 INFO    ] 2026-10-20 13:07:25
[2026-10-20 13:07:25,378.378 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:07:25,613.613 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:07:25,617.617 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:07:25,835.835 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:07:25,883.883 INFO    ] time= 20/10/2026 13:07:25
[2026-10-20 13:07:25,890.890 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:07:25,911.911 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:07:26,044.044 INFO    ] No existing commands found in stream
[2026-10-20 13:07:31,068.068 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:07:31,071.071 INFO    ] Waiting 0.28 seconds before fallback handling...
[2026-10-20 13:07:31,888.888 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:07:31,892.892 INFO    ] Checking for system updates...
[2026-10-20 13:07:31,931.931 INFO    ] 200
[2026-10-20 13:07:31,934.934 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:07:31,994.994 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:07:31,997.997 INFO    ] No update needed
[2026-10-20 13:07:31,999.999 INFO    ] Checking for camera pi updates...
[2026-10-20 13:07:32,034.034 INFO    ] 200
[2026-10-20 13:07:32,037.037 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:07:32,088.088 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:07:32,131.131 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:07:32,134.134 INFO    ] No camera update needed
[2026-10-20 13:07:32,137.137 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:07:32,140.140 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:07:32,147.147 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:07:32,153.153 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:07:34,194.194 INFO    ] ================================================
[2026-10-20 13:07:34,210.210 INFO    ] Launching Daemon at Tue Oct 20 13:07:34 IST 2026
[2026-10-20 13:07:34,221.221 INFO    ] ================================================
[2026-10-20 13:07:34,856.856 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:07:34
[2026-10-20 13:07:35,504.504 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:07:35,802.802 INFO    ] Initializing speech engine...
[2026-10-20 13:07:35,816.816 INFO    ] 2026-10-20 13:07:35
[2026-10-20 13:07:36,084.084 INFO    ] 2026-10-20 13:07:36
[2026-10-20 13:07:36,139.139 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:07:36,372.372 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:07:36,378.378 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:07:36,589.589 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:07:36,644.644 INFO    ] time= 20/10/2026 13:07:36
[2026-10-20 13:07:36,663.663 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:07:36,692.692 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:07:36,832.832 INFO    ] No existing commands found in stream
[2026-10-20 13:07:41,857.857 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:07:41,861.861 INFO    ] Waiting 1.67 seconds before fallback handling...
[2026-10-20 13:07:44,061.061 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:07:44,064.064 INFO    ] Checking for system updates...
[2026-10-20 13:07:44,103.103 INFO    ] 200
[2026-10-20 13:07:44,106.106 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:07:44,158.158 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:07:44,161.161 INFO    ] No update needed
[2026-10-20 13:07:44,164.164 INFO    ] Checking for camera pi updates...
[2026-10-20 13:07:44,199.199 INFO    ] 200
[2026-10-20 13:07:44,201.201 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:07:44,242.242 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:07:44,292.292 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:07:44,295.295 INFO    ] No camera update needed
[2026-10-20 13:07:44,298.298 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:07:44,300.300 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:07:44,306.306 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:07:44,312.312 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:07:46,352.352 INFO    ] ================================================
[2026-10-20 13:07:46,367.367 INFO    ] Launching Daemon at Tue Oct 20 13:07:46 IST 2026
[2026-10-20 13:07:46,378.378 INFO    ] ================================================
[2026-10-20 13:07:47,011.011 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:07:47
[2026-10-20 13:07:47,642.642 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:07:47,926.926 INFO    ] Initializing speech engine...
[2026-10-20 13:07:47,935.935 INFO    ] 2026-10-20 13:07:47
[2026-10-20 13:07:48,192.192 INFO    ] 2026-10-20 13:07:48
[2026-10-20 13:07:48,227.227 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:07:48,480.480 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:07:48,489.489 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:07:48,721.721 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:07:48,750.750 INFO    ] time= 20/10/2026 13:07:48
[2026-10-20 13:07:48,771.771 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:07:48,774.774 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:07:48,905.905 INFO    ] No existing commands found in stream
[2026-10-20 13:07:53,920.920 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:07:53,922.922 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-10-20 13:07:57,925.925 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:07:57,928.928 INFO    ] Checking for system updates...
[2026-10-20 13:07:57,971.971 INFO    ] 200
[2026-10-20 13:07:57,974.974 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:07:58,025.025 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:07:58,028.028 INFO    ] No update needed
[2026-10-20 13:07:58,030.030 INFO    ] Checking for camera pi updates...
[2026-10-20 13:07:58,063.063 INFO    ] 200
[2026-10-20 13:07:58,065.065 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:07:58,105.105 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:07:58,153.153 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:07:58,155.155 INFO    ] No camera update needed
[2026-10-20 13:07:58,158.158 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:07:58,160.160 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:07:58,165.165 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:07:58,170.170 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:08:00,210.210 INFO    ] ================================================
[2026-10-20 13:08:00,224.224 INFO    ] Launching Daemon at Tue Oct 20 13:08:00 IST 2026
[2026-10-20 13:08:00,236.236 INFO    ] ================================================
[2026-10-20 13:08:00,806.806 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:08:00
[2026-10-20 13:08:01,392.392 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:08:01,885.885 INFO    ] Initializing speech engine...
[2026-10-20 13:08:01,925.925 INFO    ] 2026-10-20 13:08:01
[2026-10-20 13:08:02,280.280 INFO    ] 2026-10-20 13:08:02
[2026-10-20 13:08:02,335.335 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:08:02,600.600 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:08:02,627.627 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:08:02,799.799 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:08:02,865.865 INFO    ] time= 20/10/2026 13:08:02
[2026-10-20 13:08:02,908.908 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:08:02,965.965 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:08:03,157.157 INFO    ] No existing commands found in stream
[2026-10-20 13:08:08,185.185 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:08:08,188.188 INFO    ] Waiting 1.77 seconds before fallback handling...
[2026-10-20 13:08:10,485.485 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:08:10,488.488 INFO    ] Checking for system updates...
[2026-10-20 13:08:10,527.527 INFO    ] 200
[2026-10-20 13:08:10,530.530 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:08:10,587.587 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:08:10,590.590 INFO    ] No update needed
[2026-10-20 13:08:10,593.593 INFO    ] Checking for camera pi updates...
[2026-10-20 13:08:10,629.629 INFO    ] 200
[2026-10-20 13:08:10,632.632 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:08:10,677.677 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:08:10,724.724 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:08:10,726.726 INFO    ] No camera update needed
[2026-10-20 13:08:10,729.729 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:08:10,731.731 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:08:10,737.737 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:08:10,743.743 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:08:12,782.782 INFO    ] ================================================
[2026-10-20 13:08:12,796.796 INFO    ] Launching Daemon at Tue Oct 20 13:08:12 IST 2026
[2026-10-20 13:08:12,807.807 INFO    ] ================================================
[2026-10-20 13:08:13,385.385 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:08:13
[2026-10-20 13:08:13,980.980 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:08:14,232.232 INFO    ] Initializing speech engine...
[2026-10-20 13:08:14,253.253 INFO    ] 2026-10-20 13:08:14
[2026-10-20 13:08:14,508.508 INFO    ] 2026-10-20 13:08:14
[2026-10-20 13:08:14,544.544 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:08:14,797.797 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:08:15,266.266 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:08:15,459.459 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:08:15,496.496 INFO    ] time= 20/10/2026 13:08:15
[2026-10-20 13:08:15,506.506 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:08:15,509.509 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:08:15,624.624 INFO    ] No existing commands found in stream
[2026-10-20 13:08:20,634.634 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:08:20,637.637 INFO    ] Waiting 0.25 seconds before fallback handling...
[2026-10-20 13:08:21,425.425 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:08:21,428.428 INFO    ] Checking for system updates...
[2026-10-20 13:08:21,463.463 INFO    ] 200
[2026-10-20 13:08:21,466.466 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:08:21,518.518 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:08:21,521.521 INFO    ] No update needed
[2026-10-20 13:08:21,523.523 INFO    ] Checking for camera pi updates...
[2026-10-20 13:08:21,556.556 INFO    ] 200
[2026-10-20 13:08:21,559.559 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:08:21,599.599 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:08:21,644.644 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:08:21,646.646 INFO    ] No camera update needed
[2026-10-20 13:08:21,649.649 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:08:21,651.651 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:08:21,657.657 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:08:21,662.662 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:08:23,702.702 INFO    ] ================================================
[2026-10-20 13:08:23,717.717 INFO    ] Launching Daemon at Tue Oct 20 13:08:23 IST 2026
[2026-10-20 13:08:23,727.727 INFO    ] ================================================
[2026-10-20 13:08:24,295.295 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:08:24
[2026-10-20 13:08:24,879.879 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:08:25,128.128 INFO    ] Initializing speech engine...
[2026-10-20 13:08:25,143.143 INFO    ] 2026-10-20 13:08:25
[2026-10-20 13:08:25,418.418 INFO    ] 2026-10-20 13:08:25
[2026-10-20 13:08:25,454.454 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:08:25,673.673 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:08:25,732.732 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:08:25,889.889 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:08:25,932.932 INFO    ] time= 20/10/2026 13:08:25
[2026-10-20 13:08:25,986.986 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:08:26,025.025 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:08:26,173.173 INFO    ] No existing commands found in stream
[2026-10-20 13:08:31,203.203 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:08:31,206.206 INFO    ] Waiting 2.00 seconds before fallback handling...
[2026-10-20 13:08:33,729.729 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:08:33,732.732 INFO    ] Checking for system updates...
[2026-10-20 13:08:33,768.768 INFO    ] 200
[2026-10-20 13:08:33,770.770 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:08:33,823.823 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:08:33,826.826 INFO    ] No update needed
[2026-10-20 13:08:33,828.828 INFO    ] Checking for camera pi updates...
[2026-10-20 13:08:33,861.861 INFO    ] 200
[2026-10-20 13:08:33,863.863 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:08:33,906.906 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:08:33,954.954 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:08:33,956.956 INFO    ] No camera update needed
[2026-10-20 13:08:33,958.958 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:08:33,961.961 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:08:33,966.966 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:08:33,971.971 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:08:36,011.011 INFO    ] ================================================
[2026-10-20 13:08:36,026.026 INFO    ] Launching Daemon at Tue Oct 20 13:08:36 IST 2026
[2026-10-20 13:08:36,036.036 INFO    ] ================================================
[2026-10-20 13:08:36,610.610 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:08:36
[2026-10-20 13:08:37,198.198 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:08:37,455.455 INFO    ] Initializing speech engine...
[2026-10-20 13:08:37,469.469 INFO    ] 2026-10-20 13:08:37
[2026-10-20 13:08:37,751.751 INFO    ] 2026-10-20 13:08:37
[2026-10-20 13:08:37,786.786 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:08:37,987.987 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:08:38,008.008 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:08:38,151.151 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:08:38,159.159 INFO    ] time= 20/10/2026 13:08:38
[2026-10-20 13:08:38,211.211 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:08:38,232.232 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:08:38,368.368 INFO    ] No existing commands found in stream
[2026-10-20 13:08:43,384.384 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:08:43,387.387 INFO    ] Waiting 0.52 seconds before fallback handling...
[2026-10-20 13:08:44,405.405 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:08:44,407.407 INFO    ] Checking for system updates...
[2026-10-20 13:08:44,443.443 INFO    ] 200
[2026-10-20 13:08:44,445.445 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:08:44,504.504 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:08:44,507.507 INFO    ] No update needed
[2026-10-20 13:08:44,509.509 INFO    ] Checking for camera pi updates...
[2026-10-20 13:08:44,543.543 INFO    ] 200
[2026-10-20 13:08:44,546.546 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:08:44,589.589 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:08:44,641.641 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:08:44,643.643 INFO    ] No camera update needed
[2026-10-20 13:08:44,645.645 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:08:44,648.648 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:08:44,653.653 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:08:44,658.658 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:08:46,697.697 INFO    ] ================================================
[2026-10-20 13:08:46,713.713 INFO    ] Launching Daemon at Tue Oct 20 13:08:46 IST 2026
[2026-10-20 13:08:46,724.724 INFO    ] ================================================
[2026-10-20 13:08:47,289.289 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:08:47
[2026-10-20 13:08:47,873.873 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:08:48,154.154 INFO    ] Initializing speech engine...
[2026-10-20 13:08:48,163.163 INFO    ] 2026-10-20 13:08:48
[2026-10-20 13:08:48,426.426 INFO    ] 2026-10-20 13:08:48
[2026-10-20 13:08:48,461.461 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:08:48,676.676 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:08:48,684.684 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:08:48,827.827 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:08:48,832.832 INFO    ] time= 20/10/2026 13:08:48
[2026-10-20 13:08:48,839.839 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:08:48,844.844 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:08:49,006.006 INFO    ] No existing commands found in stream
[2026-10-20 13:08:54,036.036 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:08:54,039.039 INFO    ] Waiting 2.53 seconds before fallback handling...
[2026-10-20 13:08:57,098.098 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 13:08:57,101.101 INFO    ] Checking for system updates...
[2026-10-20 13:08:57,137.137 INFO    ] 200
[2026-10-20 13:08:57,139.139 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:08:57,192.192 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:08:57,195.195 INFO    ] No update needed
[2026-10-20 13:08:57,197.197 INFO    ] Checking for camera pi updates...
[2026-10-20 13:08:57,231.231 INFO    ] 200
[2026-10-20 13:08:57,233.233 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:08:57,273.273 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:08:57,317.317 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:08:57,320.320 INFO    ] No camera update needed
[2026-10-20 13:08:57,323.323 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:08:57,326.326 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:08:57,332.332 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:08:57,338.338 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:08:59,377.377 INFO    ] ================================================
[2026-10-20 13:08:59,393.393 INFO    ] Launching Daemon at Tue Oct 20 13:08:59 IST 2026
[2026-10-20 13:08:59,403.403 INFO    ] ================================================
[2026-10-20 13:08:59,983.983 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:08:59
[2026-10-20 13:09:00,580.580 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:09:00,836.836 INFO    ] Initializing speech engine...
[2026-10-20 13:09:00,852.852 INFO    ] 2026-10-20 13:09:00
[2026-10-20 13:09:01,130.130 INFO    ] 2026-10-20 13:09:01
[2026-10-20 13:09:01,166.166 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:09:01,441.441 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:09:01,451.451 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:09:01,596.596 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:09:01,605.605 INFO    ] time= 20/10/2026 13:09:01
[2026-10-20 13:09:01,620.620 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:09:01,624.624 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:09:01,720.720 INFO    ] No existing commands found in stream
[2026-10-20 13:09:06,730.730 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:09:06,733.733 INFO    ] Waiting 1.49 seconds before fallback handling...
[2026-10-20 13:09:08,733.733 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:09:08,735.735 INFO    ] Checking for system updates...
[2026-10-20 13:09:08,771.771 INFO    ] 200
[2026-10-20 13:09:08,773.773 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:09:08,827.827 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:09:08,829.829 INFO    ] No update needed
[2026-10-20 13:09:08,832.832 INFO    ] Checking for camera pi updates...
[2026-10-20 13:09:08,865.865 INFO    ] 200
[2026-10-20 13:09:08,868.868 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:09:08,912.912 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:09:08,959.959 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:09:08,962.962 INFO    ] No camera update needed
[2026-10-20 13:09:08,964.964 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:09:08,967.967 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:09:08,972.972 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:09:08,977.977 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:09:11,018.018 INFO    ] ================================================
[2026-10-20 13:09:11,033.033 INFO    ] Launching Daemon at Tue Oct 20 13:09:11 IST 2026
[2026-10-20 13:09:11,043.043 INFO    ] ================================================
[2026-10-20 13:09:11,934.934 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:09:11
[2026-10-20 13:09:12,583.583 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:09:12,913.913 INFO    ] Initializing speech engine...
[2026-10-20 13:09:12,924.924 INFO    ] 2026-10-20 13:09:12
[2026-10-20 13:09:13,215.215 INFO    ] 2026-10-20 13:09:13
[2026-10-20 13:09:13,275.275 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:09:13,517.517 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:09:13,528.528 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:09:13,732.732 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:09:13,772.772 INFO    ] time= 20/10/2026 13:09:13
[2026-10-20 13:09:13,814.814 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:09:13,821.821 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:09:13,953.953 INFO    ] No existing commands found in stream
[2026-10-20 13:09:18,973.973 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:09:18,976.976 INFO    ] Waiting 3.90 seconds before fallback handling...
[2026-10-20 13:09:23,333.333 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:09:23,336.336 INFO    ] Checking for system updates...
[2026-10-20 13:09:23,371.371 INFO    ] 200
[2026-10-20 13:09:23,373.373 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:09:23,425.425 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:09:23,427.427 INFO    ] No update needed
[2026-10-20 13:09:23,429.429 INFO    ] Checking for camera pi updates...
[2026-10-20 13:09:23,462.462 INFO    ] 200
[2026-10-20 13:09:23,465.465 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:09:23,504.504 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:09:23,646.646 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:09:23,649.649 INFO    ] No camera update needed
[2026-10-20 13:09:23,651.651 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:09:23,654.654 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:09:23,659.659 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:09:23,664.664 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:09:25,704.704 INFO    ] ================================================
[2026-10-20 13:09:25,719.719 INFO    ] Launching Daemon at Tue Oct 20 13:09:25 IST 2026
[2026-10-20 13:09:25,729.729 INFO    ] ================================================
[2026-10-20 13:09:26,358.358 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:09:26
[2026-10-20 13:09:26,944.944 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:09:27,188.188 INFO    ] Initializing speech engine...
[2026-10-20 13:09:27,197.197 INFO    ] 2026-10-20 13:09:27
[2026-10-20 13:09:27,470.470 INFO    ] 2026-10-20 13:09:27
[2026-10-20 13:09:27,505.505 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:09:27,765.765 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:09:27,775.775 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:09:27,912.912 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:09:27,977.977 INFO    ] time= 20/10/2026 13:09:27
[2026-10-20 13:09:28,031.031 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:09:28,046.046 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:09:28,199.199 INFO    ] No existing commands found in stream
[2026-10-20 13:09:33,213.213 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:09:33,216.216 INFO    ] Waiting 2.75 seconds before fallback handling...
[2026-10-20 13:09:36,474.474 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:09:36,477.477 INFO    ] Checking for system updates...
[2026-10-20 13:09:36,513.513 INFO    ] 200
[2026-10-20 13:09:36,515.515 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:09:36,569.569 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:09:36,572.572 INFO    ] No update needed
[2026-10-20 13:09:36,574.574 INFO    ] Checking for camera pi updates...
[2026-10-20 13:09:36,607.607 INFO    ] 200
[2026-10-20 13:09:36,610.610 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:09:36,650.650 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:09:36,685.685 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:09:36,687.687 INFO    ] No camera update needed
[2026-10-20 13:09:36,690.690 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:09:36,692.692 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:09:36,698.698 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:09:36,703.703 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:09:38,742.742 INFO    ] ================================================
[2026-10-20 13:09:38,757.757 INFO    ] Launching Daemon at Tue Oct 20 13:09:38 IST 2026
[2026-10-20 13:09:38,768.768 INFO    ] ================================================
[2026-10-20 13:09:39,340.340 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:09:39
[2026-10-20 13:09:39,926.926 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:09:40,205.205 INFO    ] Initializing speech engine...
[2026-10-20 13:09:40,215.215 INFO    ] 2026-10-20 13:09:40
[2026-10-20 13:09:40,480.480 INFO    ] 2026-10-20 13:09:40
[2026-10-20 13:09:40,510.510 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:09:40,759.759 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:09:40,768.768 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:09:40,970.970 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:09:41,025.025 INFO    ] time= 20/10/2026 13:09:40
[2026-10-20 13:09:41,042.042 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:09:41,056.056 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:09:41,192.192 INFO    ] No existing commands found in stream
[2026-10-20 13:09:46,220.220 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:09:46,223.223 INFO    ] Waiting 3.12 seconds before fallback handling...
[2026-10-20 13:09:49,846.846 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:09:49,849.849 INFO    ] Checking for system updates...
[2026-10-20 13:09:49,884.884 INFO    ] 200
[2026-10-20 13:09:49,887.887 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:09:49,939.939 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:09:49,942.942 INFO    ] No update needed
[2026-10-20 13:09:49,944.944 INFO    ] Checking for camera pi updates...
[2026-10-20 13:09:49,977.977 INFO    ] 200
[2026-10-20 13:09:49,980.980 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:09:50,020.020 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:09:50,069.069 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:09:50,071.071 INFO    ] No camera update needed
[2026-10-20 13:09:50,074.074 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:09:50,076.076 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:09:50,082.082 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:09:50,086.086 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:09:52,127.127 INFO    ] ================================================
[2026-10-20 13:09:52,142.142 INFO    ] Launching Daemon at Tue Oct 20 13:09:52 IST 2026
[2026-10-20 13:09:52,153.153 INFO    ] ================================================
[2026-10-20 13:09:52,735.735 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:09:52
[2026-10-20 13:09:53,333.333 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:09:53,605.605 INFO    ] Initializing speech engine...
[2026-10-20 13:09:53,615.615 INFO    ] 2026-10-20 13:09:53
[2026-10-20 13:09:53,876.876 INFO    ] 2026-10-20 13:09:53
[2026-10-20 13:09:53,907.907 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:09:54,156.156 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:09:54,162.162 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:09:54,397.397 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:09:54,420.420 INFO    ] time= 20/10/2026 13:09:54
[2026-10-20 13:09:54,435.435 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:09:54,443.443 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:09:54,582.582 INFO    ] No existing commands found in stream
[2026-10-20 13:09:59,601.601 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:09:59,604.604 INFO    ] Waiting 0.04 seconds before fallback handling...
[2026-10-20 13:10:00,179.179 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 13:10:00,182.182 INFO    ] Checking for system updates...
[2026-10-20 13:10:00,217.217 INFO    ] 200
[2026-10-20 13:10:00,220.220 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:10:00,277.277 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:10:00,280.280 INFO    ] No update needed
[2026-10-20 13:10:00,283.283 INFO    ] Checking for camera pi updates...
[2026-10-20 13:10:00,317.317 INFO    ] 200
[2026-10-20 13:10:00,320.320 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:10:00,360.360 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:10:00,413.413 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:10:00,416.416 INFO    ] No camera update needed
[2026-10-20 13:10:00,418.418 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:10:00,420.420 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:10:00,426.426 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:10:00,431.431 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:10:02,480.480 INFO    ] ================================================
[2026-10-20 13:10:02,505.505 INFO    ] Launching Daemon at Tue Oct 20 13:10:02 IST 2026
[2026-10-20 13:10:02,527.527 INFO    ] ================================================
[2026-10-20 13:10:03,360.360 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:10:03
[2026-10-20 13:10:04,029.029 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:10:04,303.303 INFO    ] Initializing speech engine...
[2026-10-20 13:10:04,312.312 INFO    ] 2026-10-20 13:10:04
[2026-10-20 13:10:04,560.560 INFO    ] 2026-10-20 13:10:04
[2026-10-20 13:10:04,595.595 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:10:04,821.821 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:10:04,829.829 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:10:05,051.051 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:10:05,059.059 INFO    ] time= 20/10/2026 13:10:05
[2026-10-20 13:10:05,123.123 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:10:05,157.157 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:10:05,262.262 INFO    ] No existing commands found in stream
[2026-10-20 13:10:10,274.274 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:10:10,276.276 INFO    ] Waiting 0.09 seconds before fallback handling...
[2026-10-20 13:10:10,885.885 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:10:10,888.888 INFO    ] Checking for system updates...
[2026-10-20 13:10:10,928.928 INFO    ] 200
[2026-10-20 13:10:10,931.931 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:10:10,997.997 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:10:11,000.000 INFO    ] No update needed
[2026-10-20 13:10:11,003.003 INFO    ] Checking for camera pi updates...
[2026-10-20 13:10:11,037.037 INFO    ] 200
[2026-10-20 13:10:11,041.041 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:10:11,086.086 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:10:11,136.136 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:10:11,139.139 INFO    ] No camera update needed
[2026-10-20 13:10:11,142.142 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:10:11,144.144 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:10:11,151.151 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:10:11,157.157 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:10:13,196.196 INFO    ] ================================================
[2026-10-20 13:10:13,211.211 INFO    ] Launching Daemon at Tue Oct 20 13:10:13 IST 2026
[2026-10-20 13:10:13,222.222 INFO    ] ================================================
[2026-10-20 13:10:13,838.838 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:10:13
[2026-10-20 13:10:14,513.513 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:10:14,823.823 INFO    ] Initializing speech engine...
[2026-10-20 13:10:14,831.831 INFO    ] 2026-10-20 13:10:14
[2026-10-20 13:10:15,106.106 INFO    ] 2026-10-20 13:10:15
[2026-10-20 13:10:15,142.142 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:10:15,403.403 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:10:15,409.409 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:10:15,628.628 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:10:15,675.675 INFO    ] time= 20/10/2026 13:10:15
[2026-10-20 13:10:15,682.682 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:10:15,704.704 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:10:15,886.886 INFO    ] No existing commands found in stream
[2026-10-20 13:10:20,912.912 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:10:20,915.915 INFO    ] Waiting 1.84 seconds before fallback handling...
[2026-10-20 13:10:23,268.268 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:10:23,271.271 INFO    ] Checking for system updates...
[2026-10-20 13:10:23,309.309 INFO    ] 200
[2026-10-20 13:10:23,312.312 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:10:23,364.364 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:10:23,366.366 INFO    ] No update needed
[2026-10-20 13:10:23,369.369 INFO    ] Checking for camera pi updates...
[2026-10-20 13:10:23,404.404 INFO    ] 200
[2026-10-20 13:10:23,406.406 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:10:23,451.451 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:10:23,499.499 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:10:23,501.501 INFO    ] No camera update needed
[2026-10-20 13:10:23,504.504 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:10:23,506.506 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:10:23,511.511 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:10:23,516.516 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:10:25,556.556 INFO    ] ================================================
[2026-10-20 13:10:25,571.571 INFO    ] Launching Daemon at Tue Oct 20 13:10:25 IST 2026
[2026-10-20 13:10:25,581.581 INFO    ] ================================================
[2026-10-20 13:10:26,151.151 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:10:26
[2026-10-20 13:10:26,735.735 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:10:27,007.007 INFO    ] Initializing speech engine...
[2026-10-20 13:10:27,017.017 INFO    ] 2026-10-20 13:10:27
[2026-10-20 13:10:27,265.265 INFO    ] 2026-10-20 13:10:27
[2026-10-20 13:10:27,300.300 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:10:27,555.555 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:10:27,568.568 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:10:27,774.774 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:10:27,823.823 INFO    ] time= 20/10/2026 13:10:27
[2026-10-20 13:10:27,839.839 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:10:27,854.854 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:10:27,990.990 INFO    ] No existing commands found in stream
[2026-10-20 13:10:33,001.001 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:10:33,005.005 INFO    ] Waiting 1.01 seconds before fallback handling...
[2026-10-20 13:10:34,498.498 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 13:10:34,501.501 INFO    ] Checking for system updates...
[2026-10-20 13:10:34,537.537 INFO    ] 200
[2026-10-20 13:10:34,539.539 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:10:34,600.600 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:10:34,603.603 INFO    ] No update needed
[2026-10-20 13:10:34,605.605 INFO    ] Checking for camera pi updates...
[2026-10-20 13:10:34,643.643 INFO    ] 200
[2026-10-20 13:10:34,645.645 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:10:34,685.685 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:10:34,733.733 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:10:34,736.736 INFO    ] No camera update needed
[2026-10-20 13:10:34,738.738 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:10:34,741.741 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:10:34,746.746 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:10:34,751.751 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:10:36,792.792 INFO    ] ================================================
[2026-10-20 13:10:36,808.808 INFO    ] Launching Daemon at Tue Oct 20 13:10:36 IST 2026
[2026-10-20 13:10:36,818.818 INFO    ] ================================================
[2026-10-20 13:10:37,421.421 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:10:37
[2026-10-20 13:10:38,107.107 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:10:38,415.415 INFO    ] Initializing speech engine...
[2026-10-20 13:10:38,430.430 INFO    ] 2026-10-20 13:10:38
[2026-10-20 13:10:38,739.739 INFO    ] 2026-10-20 13:10:38
[2026-10-20 13:10:38,826.826 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:10:39,041.041 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:10:39,049.049 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:10:39,239.239 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:10:39,257.257 INFO    ] time= 20/10/2026 13:10:39
[2026-10-20 13:10:39,290.290 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:10:39,300.300 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:10:39,429.429 INFO    ] No existing commands found in stream
[2026-10-20 13:10:44,460.460 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:10:44,464.464 INFO    ] Waiting 1.76 seconds before fallback handling...
[2026-10-20 13:10:46,814.814 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:10:46,817.817 INFO    ] Checking for system updates...
[2026-10-20 13:10:46,854.854 INFO    ] 200
[2026-10-20 13:10:46,857.857 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:10:46,909.909 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:10:46,912.912 INFO    ] No update needed
[2026-10-20 13:10:46,914.914 INFO    ] Checking for camera pi updates...
[2026-10-20 13:10:46,947.947 INFO    ] 200
[2026-10-20 13:10:46,950.950 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:10:46,990.990 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:10:47,040.040 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:10:47,043.043 INFO    ] No camera update needed
[2026-10-20 13:10:47,045.045 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:10:47,047.047 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:10:47,053.053 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:10:47,058.058 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:10:49,097.097 INFO    ] ================================================
[2026-10-20 13:10:49,111.111 INFO    ] Launching Daemon at Tue Oct 20 13:10:49 IST 2026
[2026-10-20 13:10:49,122.122 INFO    ] ================================================
[2026-10-20 13:10:49,694.694 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:10:49
[2026-10-20 13:10:50,284.284 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:10:50,547.547 INFO    ] Initializing speech engine...
[2026-10-20 13:10:50,573.573 INFO    ] 2026-10-20 13:10:50
[2026-10-20 13:10:50,850.850 INFO    ] 2026-10-20 13:10:50
[2026-10-20 13:10:50,886.886 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:10:51,118.118 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:10:51,165.165 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:10:51,348.348 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:10:51,396.396 INFO    ] time= 20/10/2026 13:10:51
[2026-10-20 13:10:51,435.435 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:10:51,499.499 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:10:51,652.652 INFO    ] No existing commands found in stream
[2026-10-20 13:10:56,682.682 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:10:56,685.685 INFO    ] Waiting 0.59 seconds before fallback handling...
[2026-10-20 13:10:57,785.785 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 13:10:57,788.788 INFO    ] Checking for system updates...
[2026-10-20 13:10:57,824.824 INFO    ] 200
[2026-10-20 13:10:57,826.826 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:10:57,879.879 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:10:57,882.882 INFO    ] No update needed
[2026-10-20 13:10:57,884.884 INFO    ] Checking for camera pi updates...
[2026-10-20 13:10:57,917.917 INFO    ] 200
[2026-10-20 13:10:57,919.919 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:10:57,960.960 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:10:58,004.004 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:10:58,006.006 INFO    ] No camera update needed
[2026-10-20 13:10:58,009.009 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:10:58,011.011 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:10:58,017.017 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:10:58,023.023 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:11:00,062.062 INFO    ] ================================================
[2026-10-20 13:11:00,077.077 INFO    ] Launching Daemon at Tue Oct 20 13:11:00 IST 2026
[2026-10-20 13:11:00,089.089 INFO    ] ================================================
[2026-10-20 13:11:00,697.697 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:11:00
[2026-10-20 13:11:01,373.373 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:11:01,636.636 INFO    ] Initializing speech engine...
[2026-10-20 13:11:01,657.657 INFO    ] 2026-10-20 13:11:01
[2026-10-20 13:11:01,942.942 INFO    ] 2026-10-20 13:11:01
[2026-10-20 13:11:02,051.051 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:11:02,298.298 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:11:02,404.404 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:11:02,663.663 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:11:02,712.712 INFO    ] time= 20/10/2026 13:11:02
[2026-10-20 13:11:02,735.735 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:11:02,765.765 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:11:02,898.898 INFO    ] No existing commands found in stream
[2026-10-20 13:11:07,914.914 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:11:07,917.917 INFO    ] Waiting 3.87 seconds before fallback handling...
[2026-10-20 13:11:13,547.547 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:11:13,549.549 INFO    ] Checking for system updates...
[2026-10-20 13:11:13,590.590 INFO    ] 200
[2026-10-20 13:11:13,592.592 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:11:13,652.652 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:11:13,655.655 INFO    ] No update needed
[2026-10-20 13:11:13,658.658 INFO    ] Checking for camera pi updates...
[2026-10-20 13:11:13,693.693 INFO    ] 200
[2026-10-20 13:11:13,695.695 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:11:13,736.736 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:11:13,782.782 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:11:13,785.785 INFO    ] No camera update needed
[2026-10-20 13:11:13,788.788 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:11:13,790.790 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:11:13,797.797 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:11:13,802.802 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:11:15,844.844 INFO    ] ================================================
[2026-10-20 13:11:15,859.859 INFO    ] Launching Daemon at Tue Oct 20 13:11:15 IST 2026
[2026-10-20 13:11:15,870.870 INFO    ] ================================================
[2026-10-20 13:11:16,533.533 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:11:16
[2026-10-20 13:11:17,210.210 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:11:17,523.523 INFO    ] Initializing speech engine...
[2026-10-20 13:11:17,534.534 INFO    ] 2026-10-20 13:11:17
[2026-10-20 13:11:17,806.806 INFO    ] 2026-10-20 13:11:17
[2026-10-20 13:11:17,840.840 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:11:18,080.080 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:11:18,096.096 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:11:18,331.331 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:11:18,361.361 INFO    ] time= 20/10/2026 13:11:18
[2026-10-20 13:11:18,367.367 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:11:18,387.387 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:11:18,518.518 INFO    ] No existing commands found in stream
[2026-10-20 13:11:23,545.545 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:11:23,548.548 INFO    ] Waiting 0.46 seconds before fallback handling...
[2026-10-20 13:11:24,552.552 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:11:24,555.555 INFO    ] Checking for system updates...
[2026-10-20 13:11:24,593.593 INFO    ] 200
[2026-10-20 13:11:24,595.595 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:11:24,648.648 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:11:24,651.651 INFO    ] No update needed
[2026-10-20 13:11:24,654.654 INFO    ] Checking for camera pi updates...
[2026-10-20 13:11:24,689.689 INFO    ] 200
[2026-10-20 13:11:24,691.691 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:11:24,732.732 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:11:24,779.779 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:11:24,782.782 INFO    ] No camera update needed
[2026-10-20 13:11:24,784.784 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:11:24,786.786 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:11:24,792.792 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:11:24,797.797 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:11:26,836.836 INFO    ] ================================================
[2026-10-20 13:11:26,851.851 INFO    ] Launching Daemon at Tue Oct 20 13:11:26 IST 2026
[2026-10-20 13:11:26,862.862 INFO    ] ================================================
[2026-10-20 13:11:27,525.525 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:11:27
[2026-10-20 13:11:28,207.207 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:11:28,514.514 INFO    ] Initializing speech engine...
[2026-10-20 13:11:28,522.522 INFO    ] 2026-10-20 13:11:28
[2026-10-20 13:11:28,813.813 INFO    ] 2026-10-20 13:11:28
[2026-10-20 13:11:28,861.861 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:11:29,152.152 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:11:29,157.157 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:11:29,356.356 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:11:29,364.364 INFO    ] time= 20/10/2026 13:11:29
[2026-10-20 13:11:29,383.383 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:11:29,406.406 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:11:29,537.537 INFO    ] No existing commands found in stream
[2026-10-20 13:11:34,569.569 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:11:34,572.572 INFO    ] Waiting 3.76 seconds before fallback handling...
[2026-10-20 13:11:38,907.907 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:11:38,910.910 INFO    ] Checking for system updates...
[2026-10-20 13:11:38,948.948 INFO    ] 200
[2026-10-20 13:11:38,951.951 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:11:39,011.011 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:11:39,013.013 INFO    ] No update needed
[2026-10-20 13:11:39,015.015 INFO    ] Checking for camera pi updates...
[2026-10-20 13:11:39,049.049 INFO    ] 200
[2026-10-20 13:11:39,052.052 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:11:39,096.096 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:11:39,145.145 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:11:39,148.148 INFO    ] No camera update needed
[2026-10-20 13:11:39,151.151 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:11:39,153.153 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:11:39,158.158 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:11:39,164.164 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:11:41,204.204 INFO    ] ================================================
[2026-10-20 13:11:41,220.220 INFO    ] Launching Daemon at Tue Oct 20 13:11:41 IST 2026
[2026-10-20 13:11:41,231.231 INFO    ] ================================================
[2026-10-20 13:11:41,820.820 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:11:41
[2026-10-20 13:11:42,425.425 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:11:42,705.705 INFO    ] Initializing speech engine...
[2026-10-20 13:11:42,712.712 INFO    ] 2026-10-20 13:11:42
[2026-10-20 13:11:42,971.971 INFO    ] 2026-10-20 13:11:42
[2026-10-20 13:11:43,001.001 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:11:43,246.246 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:11:43,255.255 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:11:43,470.470 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:11:43,514.514 INFO    ] time= 20/10/2026 13:11:43
[2026-10-20 13:11:43,520.520 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:11:43,541.541 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:11:43,683.683 INFO    ] No existing commands found in stream
[2026-10-20 13:11:48,711.711 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:11:48,714.714 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-10-20 13:11:52,463.463 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:11:52,466.466 INFO    ] Checking for system updates...
[2026-10-20 13:11:52,503.503 INFO    ] 200
[2026-10-20 13:11:52,506.506 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:11:52,559.559 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:11:52,562.562 INFO    ] No update needed
[2026-10-20 13:11:52,564.564 INFO    ] Checking for camera pi updates...
[2026-10-20 13:11:52,599.599 INFO    ] 200
[2026-10-20 13:11:52,602.602 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:11:52,642.642 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:11:52,692.692 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:11:52,694.694 INFO    ] No camera update needed
[2026-10-20 13:11:52,697.697 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:11:52,700.700 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:11:52,706.706 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:11:52,712.712 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:11:54,752.752 INFO    ] ================================================
[2026-10-20 13:11:54,767.767 INFO    ] Launching Daemon at Tue Oct 20 13:11:54 IST 2026
[2026-10-20 13:11:54,779.779 INFO    ] ================================================
[2026-10-20 13:11:55,345.345 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:11:55
[2026-10-20 13:11:55,946.946 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:11:56,221.221 INFO    ] Initializing speech engine...
[2026-10-20 13:11:56,231.231 INFO    ] 2026-10-20 13:11:56
[2026-10-20 13:11:56,480.480 INFO    ] 2026-10-20 13:11:56
[2026-10-20 13:11:56,516.516 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:11:56,768.768 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:11:56,777.777 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:11:56,985.985 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:11:57,034.034 INFO    ] time= 20/10/2026 13:11:56
[2026-10-20 13:11:57,041.041 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:11:57,059.059 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:11:57,191.191 INFO    ] No existing commands found in stream
[2026-10-20 13:12:02,213.213 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:12:02,216.216 INFO    ] Waiting 1.26 seconds before fallback handling...
[2026-10-20 13:12:03,988.988 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 13:12:03,991.991 INFO    ] Checking for system updates...
[2026-10-20 13:12:04,028.028 INFO    ] 200
[2026-10-20 13:12:04,030.030 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:12:04,081.081 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:12:04,084.084 INFO    ] No update needed
[2026-10-20 13:12:04,086.086 INFO    ] Checking for camera pi updates...
[2026-10-20 13:12:04,119.119 INFO    ] 200
[2026-10-20 13:12:04,122.122 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:12:04,161.161 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:12:04,204.204 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:12:04,207.207 INFO    ] No camera update needed
[2026-10-20 13:12:04,209.209 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:12:04,211.211 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:12:04,217.217 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:12:04,222.222 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:12:06,262.262 INFO    ] ================================================
[2026-10-20 13:12:06,278.278 INFO    ] Launching Daemon at Tue Oct 20 13:12:06 IST 2026
[2026-10-20 13:12:06,288.288 INFO    ] ================================================
[2026-10-20 13:12:06,925.925 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:12:06
[2026-10-20 13:12:07,580.580 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:12:07,871.871 INFO    ] Initializing speech engine...
[2026-10-20 13:12:07,881.881 INFO    ] 2026-10-20 13:12:07
[2026-10-20 13:12:08,145.145 INFO    ] 2026-10-20 13:12:08
[2026-10-20 13:12:08,203.203 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:12:08,432.432 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:12:08,437.437 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:12:08,628.628 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:12:08,693.693 INFO    ] time= 20/10/2026 13:12:08
[2026-10-20 13:12:08,702.702 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:12:08,718.718 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:12:08,847.847 INFO    ] No existing commands found in stream
[2026-10-20 13:12:13,863.863 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:12:13,866.866 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-10-20 13:12:17,514.514 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:12:17,517.517 INFO    ] Checking for system updates...
[2026-10-20 13:12:17,557.557 INFO    ] 200
[2026-10-20 13:12:17,560.560 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:12:17,614.614 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:12:17,617.617 INFO    ] No update needed
[2026-10-20 13:12:17,619.619 INFO    ] Checking for camera pi updates...
[2026-10-20 13:12:17,654.654 INFO    ] 200
[2026-10-20 13:12:17,656.656 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:12:17,701.701 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:12:17,732.732 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:12:17,735.735 INFO    ] No camera update needed
[2026-10-20 13:12:17,737.737 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:12:17,739.739 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:12:17,745.745 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:12:17,749.749 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:12:19,789.789 INFO    ] ================================================
[2026-10-20 13:12:19,804.804 INFO    ] Launching Daemon at Tue Oct 20 13:12:19 IST 2026
[2026-10-20 13:12:19,816.816 INFO    ] ================================================
[2026-10-20 13:12:20,379.379 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:12:20
[2026-10-20 13:12:20,962.962 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:12:21,208.208 INFO    ] Initializing speech engine...
[2026-10-20 13:12:21,216.216 INFO    ] 2026-10-20 13:12:21
[2026-10-20 13:12:21,490.490 INFO    ] 2026-10-20 13:12:21
[2026-10-20 13:12:21,523.523 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:12:21,743.743 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:12:21,745.745 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:12:21,933.933 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:12:22,003.003 INFO    ] time= 20/10/2026 13:12:21
[2026-10-20 13:12:22,052.052 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:12:22,066.066 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:12:22,208.208 INFO    ] No existing commands found in stream
[2026-10-20 13:12:27,232.232 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:12:27,235.235 INFO    ] Waiting 3.97 seconds before fallback handling...
[2026-10-20 13:12:31,691.691 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:12:31,694.694 INFO    ] Checking for system updates...
[2026-10-20 13:12:31,734.734 INFO    ] 200
[2026-10-20 13:12:31,737.737 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:12:31,795.795 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:12:31,798.798 INFO    ] No update needed
[2026-10-20 13:12:31,800.800 INFO    ] Checking for camera pi updates...
[2026-10-20 13:12:31,843.843 INFO    ] 200
[2026-10-20 13:12:31,846.846 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:12:31,894.894 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:12:31,944.944 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:12:31,946.946 INFO    ] No camera update needed
[2026-10-20 13:12:31,949.949 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:12:31,952.952 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:12:31,958.958 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:12:31,964.964 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:12:34,005.005 INFO    ] ================================================
[2026-10-20 13:12:34,020.020 INFO    ] Launching Daemon at Tue Oct 20 13:12:34 IST 2026
[2026-10-20 13:12:34,031.031 INFO    ] ================================================
[2026-10-20 13:12:34,618.618 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:12:34
[2026-10-20 13:12:35,209.209 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:12:35,487.487 INFO    ] Initializing speech engine...
[2026-10-20 13:12:35,494.494 INFO    ] 2026-10-20 13:12:35
[2026-10-20 13:12:35,768.768 INFO    ] 2026-10-20 13:12:35
[2026-10-20 13:12:35,824.824 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:12:36,108.108 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:12:36,114.114 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:12:36,304.304 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:12:36,315.315 INFO    ] time= 20/10/2026 13:12:36
[2026-10-20 13:12:36,333.333 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:12:36,351.351 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:12:36,504.504 INFO    ] No existing commands found in stream
[2026-10-20 13:12:41,535.535 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:12:41,538.538 INFO    ] Waiting 1.72 seconds before fallback handling...
[2026-10-20 13:12:43,792.792 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:12:43,795.795 INFO    ] Checking for system updates...
[2026-10-20 13:12:43,832.832 INFO    ] 200
[2026-10-20 13:12:43,835.835 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:12:43,890.890 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:12:43,893.893 INFO    ] No update needed
[2026-10-20 13:12:43,895.895 INFO    ] Checking for camera pi updates...
[2026-10-20 13:12:43,929.929 INFO    ] 200
[2026-10-20 13:12:43,932.932 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:12:43,973.973 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:12:44,019.019 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:12:44,022.022 INFO    ] No camera update needed
[2026-10-20 13:12:44,025.025 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:12:44,027.027 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:12:44,033.033 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:12:44,039.039 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:12:46,081.081 INFO    ] ================================================
[2026-10-20 13:12:46,096.096 INFO    ] Launching Daemon at Tue Oct 20 13:12:46 IST 2026
[2026-10-20 13:12:46,107.107 INFO    ] ================================================
[2026-10-20 13:12:46,675.675 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:12:46
[2026-10-20 13:12:47,259.259 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:12:47,506.506 INFO    ] Initializing speech engine...
[2026-10-20 13:12:47,511.511 INFO    ] 2026-10-20 13:12:47
[2026-10-20 13:12:47,787.787 INFO    ] 2026-10-20 13:12:47
[2026-10-20 13:12:47,822.822 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:12:48,082.082 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:12:48,092.092 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:12:48,293.293 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:12:48,357.357 INFO    ] time= 20/10/2026 13:12:48
[2026-10-20 13:12:48,363.363 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:12:48,381.381 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:12:48,521.521 INFO    ] No existing commands found in stream
[2026-10-20 13:12:53,547.547 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:12:53,550.550 INFO    ] Waiting 2.43 seconds before fallback handling...
[2026-10-20 13:12:56,487.487 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:12:56,490.490 INFO    ] Checking for system updates...
[2026-10-20 13:12:56,529.529 INFO    ] 200
[2026-10-20 13:12:56,531.531 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:12:56,582.582 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:12:56,585.585 INFO    ] No update needed
[2026-10-20 13:12:56,587.587 INFO    ] Checking for camera pi updates...
[2026-10-20 13:12:56,621.621 INFO    ] 200
[2026-10-20 13:12:56,623.623 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:12:56,663.663 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:12:56,713.713 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:12:56,716.716 INFO    ] No camera update needed
[2026-10-20 13:12:56,718.718 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:12:56,721.721 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:12:56,726.726 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:12:56,731.731 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:12:58,774.774 INFO    ] ================================================
[2026-10-20 13:12:58,791.791 INFO    ] Launching Daemon at Tue Oct 20 13:12:58 IST 2026
[2026-10-20 13:12:58,802.802 INFO    ] ================================================
[2026-10-20 13:12:59,444.444 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:12:59
[2026-10-20 13:13:00,105.105 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:13:00,406.406 INFO    ] Initializing speech engine...
[2026-10-20 13:13:00,415.415 INFO    ] 2026-10-20 13:13:00
[2026-10-20 13:13:00,689.689 INFO    ] 2026-10-20 13:13:00
[2026-10-20 13:13:00,748.748 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:13:01,023.023 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:13:01,041.041 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:13:01,242.242 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:13:01,249.249 INFO    ] time= 20/10/2026 13:13:01
[2026-10-20 13:13:01,267.267 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:13:01,285.285 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:13:01,421.421 INFO    ] No existing commands found in stream
[2026-10-20 13:13:06,452.452 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:13:06,456.456 INFO    ] Waiting 2.34 seconds before fallback handling...
[2026-10-20 13:13:09,325.325 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:13:09,328.328 INFO    ] Checking for system updates...
[2026-10-20 13:13:09,364.364 INFO    ] 200
[2026-10-20 13:13:09,367.367 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:13:09,420.420 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:13:09,422.422 INFO    ] No update needed
[2026-10-20 13:13:09,424.424 INFO    ] Checking for camera pi updates...
[2026-10-20 13:13:09,461.461 INFO    ] 200
[2026-10-20 13:13:09,463.463 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:13:09,504.504 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:13:09,554.554 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:13:09,557.557 INFO    ] No camera update needed
[2026-10-20 13:13:09,559.559 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:13:09,562.562 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:13:09,567.567 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:13:09,572.572 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:13:11,611.611 INFO    ] ================================================
[2026-10-20 13:13:11,626.626 INFO    ] Launching Daemon at Tue Oct 20 13:13:11 IST 2026
[2026-10-20 13:13:11,637.637 INFO    ] ================================================
[2026-10-20 13:13:12,275.275 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:13:12
[2026-10-20 13:13:12,937.937 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:13:13,237.237 INFO    ] Initializing speech engine...
[2026-10-20 13:13:13,249.249 INFO    ] 2026-10-20 13:13:13
[2026-10-20 13:13:13,533.533 INFO    ] 2026-10-20 13:13:13
[2026-10-20 13:13:13,643.643 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:13:13,857.857 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:13:13,889.889 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:13:14,076.076 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:13:14,103.103 INFO    ] time= 20/10/2026 13:13:14
[2026-10-20 13:13:14,113.113 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:13:14,121.121 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:13:14,264.264 INFO    ] No existing commands found in stream
[2026-10-20 13:13:19,295.295 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:13:19,299.299 INFO    ] Waiting 3.28 seconds before fallback handling...
[2026-10-20 13:13:23,099.099 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:13:23,102.102 INFO    ] Checking for system updates...
[2026-10-20 13:13:23,139.139 INFO    ] 200
[2026-10-20 13:13:23,141.141 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:13:23,194.194 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:13:23,197.197 INFO    ] No update needed
[2026-10-20 13:13:23,199.199 INFO    ] Checking for camera pi updates...
[2026-10-20 13:13:23,233.233 INFO    ] 200
[2026-10-20 13:13:23,235.235 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:13:23,275.275 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:13:23,323.323 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:13:23,325.325 INFO    ] No camera update needed
[2026-10-20 13:13:23,328.328 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:13:23,330.330 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:13:23,336.336 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:13:23,341.341 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:13:25,381.381 INFO    ] ================================================
[2026-10-20 13:13:25,396.396 INFO    ] Launching Daemon at Tue Oct 20 13:13:25 IST 2026
[2026-10-20 13:13:25,407.407 INFO    ] ================================================
[2026-10-20 13:13:25,981.981 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:13:25
[2026-10-20 13:13:26,565.565 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:13:26,815.815 INFO    ] Initializing speech engine...
[2026-10-20 13:13:26,839.839 INFO    ] 2026-10-20 13:13:26
[2026-10-20 13:13:27,095.095 INFO    ] 2026-10-20 13:13:27
[2026-10-20 13:13:27,130.130 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:13:27,326.326 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:13:27,333.333 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:13:27,525.525 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:13:27,572.572 INFO    ] time= 20/10/2026 13:13:27
[2026-10-20 13:13:27,626.626 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:13:27,658.658 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:13:27,811.811 INFO    ] No existing commands found in stream
[2026-10-20 13:13:32,837.837 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:13:32,840.840 INFO    ] Waiting 2.76 seconds before fallback handling...
[2026-10-20 13:13:36,056.056 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:13:36,059.059 INFO    ] Checking for system updates...
[2026-10-20 13:13:36,094.094 INFO    ] 200
[2026-10-20 13:13:36,096.096 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:13:36,149.149 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:13:36,151.151 INFO    ] No update needed
[2026-10-20 13:13:36,154.154 INFO    ] Checking for camera pi updates...
[2026-10-20 13:13:36,187.187 INFO    ] 200
[2026-10-20 13:13:36,189.189 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:13:36,233.233 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:13:36,383.383 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:13:36,385.385 INFO    ] No camera update needed
[2026-10-20 13:13:36,388.388 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:13:36,391.391 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:13:36,397.397 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:13:36,402.402 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:13:38,442.442 INFO    ] ================================================
[2026-10-20 13:13:38,457.457 INFO    ] Launching Daemon at Tue Oct 20 13:13:38 IST 2026
[2026-10-20 13:13:38,468.468 INFO    ] ================================================
[2026-10-20 13:13:39,107.107 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:13:39
[2026-10-20 13:13:39,767.767 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:13:40,077.077 INFO    ] Initializing speech engine...
[2026-10-20 13:13:40,083.083 INFO    ] 2026-10-20 13:13:40
[2026-10-20 13:13:40,365.365 INFO    ] 2026-10-20 13:13:40
[2026-10-20 13:13:40,474.474 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:13:40,687.687 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:13:40,695.695 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:13:40,887.887 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:13:40,895.895 INFO    ] time= 20/10/2026 13:13:40
[2026-10-20 13:13:40,916.916 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:13:40,944.944 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:13:41,078.078 INFO    ] No existing commands found in stream
[2026-10-20 13:13:46,109.109 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:13:46,113.113 INFO    ] Waiting 3.34 seconds before fallback handling...
[2026-10-20 13:13:50,006.006 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:13:50,009.009 INFO    ] Checking for system updates...
[2026-10-20 13:13:50,049.049 INFO    ] 200
[2026-10-20 13:13:50,051.051 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:13:50,108.108 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:13:50,110.110 INFO    ] No update needed
[2026-10-20 13:13:50,113.113 INFO    ] Checking for camera pi updates...
[2026-10-20 13:13:50,146.146 INFO    ] 200
[2026-10-20 13:13:50,149.149 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:13:50,189.189 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:13:50,237.237 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:13:50,240.240 INFO    ] No camera update needed
[2026-10-20 13:13:50,242.242 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:13:50,245.245 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:13:50,251.251 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:13:50,257.257 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:13:52,298.298 INFO    ] ================================================
[2026-10-20 13:13:52,313.313 INFO    ] Launching Daemon at Tue Oct 20 13:13:52 IST 2026
[2026-10-20 13:13:52,324.324 INFO    ] ================================================
[2026-10-20 13:13:52,892.892 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:13:52
[2026-10-20 13:13:53,479.479 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:13:53,782.782 INFO    ] Initializing speech engine...
[2026-10-20 13:13:53,795.795 INFO    ] 2026-10-20 13:13:53
[2026-10-20 13:13:54,070.070 INFO    ] 2026-10-20 13:13:54
[2026-10-20 13:13:54,114.114 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:13:54,398.398 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:13:54,404.404 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:13:54,600.600 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:13:54,607.607 INFO    ] time= 20/10/2026 13:13:54
[2026-10-20 13:13:54,625.625 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:13:54,643.643 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:13:54,786.786 INFO    ] No existing commands found in stream
[2026-10-20 13:13:59,822.822 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:13:59,825.825 INFO    ] Waiting 1.70 seconds before fallback handling...
[2026-10-20 13:14:02,103.103 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 13:14:02,107.107 INFO    ] Checking for system updates...
[2026-10-20 13:14:02,149.149 INFO    ] 200
[2026-10-20 13:14:02,152.152 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:14:02,212.212 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:14:02,215.215 INFO    ] No update needed
[2026-10-20 13:14:02,219.219 INFO    ] Checking for camera pi updates...
[2026-10-20 13:14:02,256.256 INFO    ] 200
[2026-10-20 13:14:02,260.260 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:14:02,309.309 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:14:02,340.340 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:14:02,343.343 INFO    ] No camera update needed
[2026-10-20 13:14:02,346.346 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:14:02,349.349 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:14:02,355.355 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:14:02,362.362 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:14:04,403.403 INFO    ] ================================================
[2026-10-20 13:14:04,419.419 INFO    ] Launching Daemon at Tue Oct 20 13:14:04 IST 2026
[2026-10-20 13:14:04,430.430 INFO    ] ================================================
[2026-10-20 13:14:05,015.015 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:14:05
[2026-10-20 13:14:05,619.619 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:14:05,875.875 INFO    ] Initializing speech engine...
[2026-10-20 13:14:05,897.897 INFO    ] 2026-10-20 13:14:05
[2026-10-20 13:14:06,160.160 INFO    ] 2026-10-20 13:14:06
[2026-10-20 13:14:06,195.195 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:14:06,447.447 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:14:06,451.451 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:14:06,672.672 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:14:06,711.711 INFO    ] time= 20/10/2026 13:14:06
[2026-10-20 13:14:06,717.717 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:14:06,735.735 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:14:06,871.871 INFO    ] No existing commands found in stream
[2026-10-20 13:14:11,897.897 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:14:11,900.900 INFO    ] Waiting 3.22 seconds before fallback handling...
[2026-10-20 13:14:15,627.627 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:14:15,630.630 INFO    ] Checking for system updates...
[2026-10-20 13:14:15,666.666 INFO    ] 200
[2026-10-20 13:14:15,668.668 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:14:15,721.721 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:14:15,724.724 INFO    ] No update needed
[2026-10-20 13:14:15,726.726 INFO    ] Checking for camera pi updates...
[2026-10-20 13:14:15,762.762 INFO    ] 200
[2026-10-20 13:14:15,765.765 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:14:15,804.804 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:14:15,849.849 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:14:15,852.852 INFO    ] No camera update needed
[2026-10-20 13:14:15,854.854 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:14:15,857.857 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:14:15,862.862 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:14:15,867.867 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:14:17,909.909 INFO    ] ================================================
[2026-10-20 13:14:17,924.924 INFO    ] Launching Daemon at Tue Oct 20 13:14:17 IST 2026
[2026-10-20 13:14:17,936.936 INFO    ] ================================================
[2026-10-20 13:14:18,506.506 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:14:18
[2026-10-20 13:14:19,089.089 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:14:19,356.356 INFO    ] Initializing speech engine...
[2026-10-20 13:14:19,365.365 INFO    ] 2026-10-20 13:14:19
[2026-10-20 13:14:19,616.616 INFO    ] 2026-10-20 13:14:19
[2026-10-20 13:14:19,651.651 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:14:19,895.895 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:14:19,904.904 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:14:20,102.102 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:14:20,151.151 INFO    ] time= 20/10/2026 13:14:20
[2026-10-20 13:14:20,167.167 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:14:20,185.185 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:14:20,310.310 INFO    ] No existing commands found in stream
[2026-10-20 13:14:25,325.325 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:14:25,328.328 INFO    ] Waiting 1.00 seconds before fallback handling...
[2026-10-20 13:14:26,826.826 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:14:26,828.828 INFO    ] Checking for system updates...
[2026-10-20 13:14:26,867.867 INFO    ] 200
[2026-10-20 13:14:26,870.870 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:14:26,925.925 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:14:26,927.927 INFO    ] No update needed
[2026-10-20 13:14:26,930.930 INFO    ] Checking for camera pi updates...
[2026-10-20 13:14:26,962.962 INFO    ] 200
[2026-10-20 13:14:26,965.965 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:14:27,005.005 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:14:27,058.058 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:14:27,061.061 INFO    ] No camera update needed
[2026-10-20 13:14:27,065.065 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:14:27,067.067 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:14:27,073.073 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:14:27,079.079 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:14:29,119.119 INFO    ] ================================================
[2026-10-20 13:14:29,134.134 INFO    ] Launching Daemon at Tue Oct 20 13:14:29 IST 2026
[2026-10-20 13:14:29,145.145 INFO    ] ================================================
[2026-10-20 13:14:29,772.772 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:14:29
[2026-10-20 13:14:30,434.434 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:14:30,735.735 INFO    ] Initializing speech engine...
[2026-10-20 13:14:30,746.746 INFO    ] 2026-10-20 13:14:30
[2026-10-20 13:14:31,017.017 INFO    ] 2026-10-20 13:14:31
[2026-10-20 13:14:31,076.076 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:14:31,343.343 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:14:31,352.352 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:14:31,561.561 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:14:31,599.599 INFO    ] time= 20/10/2026 13:14:31
[2026-10-20 13:14:31,616.616 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:14:31,649.649 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:14:31,814.814 INFO    ] No existing commands found in stream
[2026-10-20 13:14:36,858.858 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:14:36,861.861 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-10-20 13:14:40,971.971 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 13:14:40,974.974 INFO    ] Checking for system updates...
[2026-10-20 13:14:41,011.011 INFO    ] 200
[2026-10-20 13:14:41,013.013 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:14:41,066.066 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:14:41,069.069 INFO    ] No update needed
[2026-10-20 13:14:41,072.072 INFO    ] Checking for camera pi updates...
[2026-10-20 13:14:41,106.106 INFO    ] 200
[2026-10-20 13:14:41,109.109 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:14:41,151.151 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:14:41,204.204 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:14:41,207.207 INFO    ] No camera update needed
[2026-10-20 13:14:41,210.210 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:14:41,213.213 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:14:41,219.219 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:14:41,225.225 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:14:43,267.267 INFO    ] ================================================
[2026-10-20 13:14:43,281.281 INFO    ] Launching Daemon at Tue Oct 20 13:14:43 IST 2026
[2026-10-20 13:14:43,292.292 INFO    ] ================================================
[2026-10-20 13:14:43,863.863 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:14:43
[2026-10-20 13:14:44,448.448 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:14:44,716.716 INFO    ] Initializing speech engine...
[2026-10-20 13:14:44,725.725 INFO    ] 2026-10-20 13:14:44
[2026-10-20 13:14:44,991.991 INFO    ] 2026-10-20 13:14:44
[2026-10-20 13:14:45,029.029 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:14:45,244.244 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:14:45,289.289 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:14:45,481.481 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:14:45,520.520 INFO    ] time= 20/10/2026 13:14:45
[2026-10-20 13:14:45,575.575 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:14:45,619.619 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:14:45,766.766 INFO    ] No existing commands found in stream
[2026-10-20 13:14:50,788.788 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:14:50,791.791 INFO    ] Waiting 2.95 seconds before fallback handling...
[2026-10-20 13:14:54,272.272 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 13:14:54,274.274 INFO    ] Checking for system updates...
[2026-10-20 13:14:54,309.309 INFO    ] 200
[2026-10-20 13:14:54,311.311 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:14:54,362.362 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:14:54,365.365 INFO    ] No update needed
[2026-10-20 13:14:54,367.367 INFO    ] Checking for camera pi updates...
[2026-10-20 13:14:54,400.400 INFO    ] 200
[2026-10-20 13:14:54,402.402 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:14:54,447.447 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:14:54,489.489 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:14:54,492.492 INFO    ] No camera update needed
[2026-10-20 13:14:54,494.494 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:14:54,496.496 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:14:54,502.502 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:14:54,506.506 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:14:56,548.548 INFO    ] ================================================
[2026-10-20 13:14:56,563.563 INFO    ] Launching Daemon at Tue Oct 20 13:14:56 IST 2026
[2026-10-20 13:14:56,574.574 INFO    ] ================================================
[2026-10-20 13:14:57,234.234 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:14:57
[2026-10-20 13:14:57,912.912 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:14:58,218.218 INFO    ] Initializing speech engine...
[2026-10-20 13:14:58,231.231 INFO    ] 2026-10-20 13:14:58
[2026-10-20 13:14:58,510.510 INFO    ] 2026-10-20 13:14:58
[2026-10-20 13:14:58,556.556 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:14:58,842.842 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:14:58,849.849 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:14:59,041.041 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:14:59,059.059 INFO    ] time= 20/10/2026 13:14:59
[2026-10-20 13:14:59,070.070 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:14:59,099.099 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:14:59,247.247 INFO    ] No existing commands found in stream
[2026-10-20 13:15:04,279.279 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:15:04,282.282 INFO    ] Waiting 3.05 seconds before fallback handling...
[2026-10-20 13:15:07,873.873 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:15:07,876.876 INFO    ] Checking for system updates...
[2026-10-20 13:15:07,916.916 INFO    ] 200
[2026-10-20 13:15:07,919.919 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:15:07,976.976 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:15:07,979.979 INFO    ] No update needed
[2026-10-20 13:15:07,982.982 INFO    ] Checking for camera pi updates...
[2026-10-20 13:15:08,017.017 INFO    ] 200
[2026-10-20 13:15:08,019.019 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:15:08,067.067 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:15:08,115.115 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:15:08,118.118 INFO    ] No camera update needed
[2026-10-20 13:15:08,121.121 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:15:08,123.123 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:15:08,129.129 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:15:08,135.135 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:15:10,175.175 INFO    ] ================================================
[2026-10-20 13:15:10,190.190 INFO    ] Launching Daemon at Tue Oct 20 13:15:10 IST 2026
[2026-10-20 13:15:10,201.201 INFO    ] ================================================
[2026-10-20 13:15:10,770.770 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:15:10
[2026-10-20 13:15:11,359.359 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:15:11,621.621 INFO    ] Initializing speech engine...
[2026-10-20 13:15:11,635.635 INFO    ] 2026-10-20 13:15:11
[2026-10-20 13:15:11,917.917 INFO    ] 2026-10-20 13:15:11
[2026-10-20 13:15:11,951.951 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:15:12,150.150 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:15:12,163.163 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:15:12,330.330 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:15:12,335.335 INFO    ] time= 20/10/2026 13:15:12
[2026-10-20 13:15:12,342.342 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:15:12,383.383 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:15:12,521.521 INFO    ] No existing commands found in stream
[2026-10-20 13:15:17,541.541 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:15:17,544.544 INFO    ] Waiting 1.25 seconds before fallback handling...
[2026-10-20 13:15:19,278.278 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:15:19,281.281 INFO    ] Checking for system updates...
[2026-10-20 13:15:19,316.316 INFO    ] 200
[2026-10-20 13:15:19,318.318 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:15:19,378.378 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:15:19,380.380 INFO    ] No update needed
[2026-10-20 13:15:19,383.383 INFO    ] Checking for camera pi updates...
[2026-10-20 13:15:19,416.416 INFO    ] 200
[2026-10-20 13:15:19,419.419 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:15:19,460.460 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:15:19,508.508 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:15:19,511.511 INFO    ] No camera update needed
[2026-10-20 13:15:19,514.514 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:15:19,516.516 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:15:19,522.522 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:15:19,528.528 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:15:21,569.569 INFO    ] ================================================
[2026-10-20 13:15:21,584.584 INFO    ] Launching Daemon at Tue Oct 20 13:15:21 IST 2026
[2026-10-20 13:15:21,595.595 INFO    ] ================================================
[2026-10-20 13:15:22,234.234 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:15:22
[2026-10-20 13:15:22,896.896 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:15:23,196.196 INFO    ] Initializing speech engine...
[2026-10-20 13:15:23,210.210 INFO    ] 2026-10-20 13:15:23
[2026-10-20 13:15:23,494.494 INFO    ] 2026-10-20 13:15:23
[2026-10-20 13:15:23,603.603 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:15:23,822.822 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:15:23,885.885 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:15:24,039.039 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:15:24,065.065 INFO    ] time= 20/10/2026 13:15:24
[2026-10-20 13:15:24,074.074 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:15:24,083.083 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:15:24,204.204 INFO    ] No existing commands found in stream
[2026-10-20 13:15:29,240.240 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:15:29,243.243 INFO    ] Waiting 1.61 seconds before fallback handling...
[2026-10-20 13:15:31,387.387 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:15:31,390.390 INFO    ] Checking for system updates...
[2026-10-20 13:15:31,434.434 INFO    ] 200
[2026-10-20 13:15:31,436.436 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:15:31,493.493 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:15:31,496.496 INFO    ] No update needed
[2026-10-20 13:15:31,498.498 INFO    ] Checking for camera pi updates...
[2026-10-20 13:15:31,535.535 INFO    ] 200
[2026-10-20 13:15:31,537.537 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:15:31,585.585 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:15:31,636.636 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:15:31,639.639 INFO    ] No camera update needed
[2026-10-20 13:15:31,642.642 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:15:31,644.644 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:15:31,651.651 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:15:31,657.657 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:15:33,698.698 INFO    ] ================================================
[2026-10-20 13:15:33,713.713 INFO    ] Launching Daemon at Tue Oct 20 13:15:33 IST 2026
[2026-10-20 13:15:33,724.724 INFO    ] ================================================
[2026-10-20 13:15:34,361.361 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:15:34
[2026-10-20 13:15:35,018.018 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:15:35,316.316 INFO    ] Initializing speech engine...
[2026-10-20 13:15:35,324.324 INFO    ] 2026-10-20 13:15:35
[2026-10-20 13:15:35,608.608 INFO    ] 2026-10-20 13:15:35
[2026-10-20 13:15:35,653.653 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:15:35,902.902 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:15:35,909.909 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:15:36,123.123 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:15:36,145.145 INFO    ] time= 20/10/2026 13:15:36
[2026-10-20 13:15:36,163.163 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:15:36,173.173 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:15:36,335.335 INFO    ] No existing commands found in stream
[2026-10-20 13:15:41,366.366 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:15:41,369.369 INFO    ] Waiting 1.37 seconds before fallback handling...
[2026-10-20 13:15:43,308.308 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:15:43,311.311 INFO    ] Checking for system updates...
[2026-10-20 13:15:43,347.347 INFO    ] 200
[2026-10-20 13:15:43,351.351 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:15:43,403.403 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:15:43,406.406 INFO    ] No update needed
[2026-10-20 13:15:43,409.409 INFO    ] Checking for camera pi updates...
[2026-10-20 13:15:43,443.443 INFO    ] 200
[2026-10-20 13:15:43,446.446 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:15:43,486.486 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:15:43,631.631 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:15:43,634.634 INFO    ] No camera update needed
[2026-10-20 13:15:43,637.637 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:15:43,639.639 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:15:43,646.646 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:15:43,651.651 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:15:45,692.692 INFO    ] ================================================
[2026-10-20 13:15:45,707.707 INFO    ] Launching Daemon at Tue Oct 20 13:15:45 IST 2026
[2026-10-20 13:15:45,718.718 INFO    ] ================================================
[2026-10-20 13:15:46,283.283 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:15:46
[2026-10-20 13:15:46,866.866 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:15:47,135.135 INFO    ] Initializing speech engine...
[2026-10-20 13:15:47,144.144 INFO    ] 2026-10-20 13:15:47
[2026-10-20 13:15:47,396.396 INFO    ] 2026-10-20 13:15:47
[2026-10-20 13:15:47,432.432 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:15:47,677.677 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:15:47,687.687 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:15:47,879.879 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:15:47,934.934 INFO    ] time= 20/10/2026 13:15:47
[2026-10-20 13:15:47,949.949 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:15:47,955.955 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:15:48,105.105 INFO    ] No existing commands found in stream
[2026-10-20 13:15:53,130.130 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:15:53,133.133 INFO    ] Waiting 3.21 seconds before fallback handling...
[2026-10-20 13:15:56,895.895 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:15:56,899.899 INFO    ] Checking for system updates...
[2026-10-20 13:15:56,939.939 INFO    ] 200
[2026-10-20 13:15:56,942.942 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:15:56,996.996 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:15:56,999.999 INFO    ] No update needed
[2026-10-20 13:15:57,002.002 INFO    ] Checking for camera pi updates...
[2026-10-20 13:15:57,039.039 INFO    ] 200
[2026-10-20 13:15:57,042.042 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:15:57,083.083 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:15:57,142.142 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:15:57,144.144 INFO    ] No camera update needed
[2026-10-20 13:15:57,147.147 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:15:57,150.150 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:15:57,156.156 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:15:57,162.162 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:15:59,202.202 INFO    ] ================================================
[2026-10-20 13:15:59,218.218 INFO    ] Launching Daemon at Tue Oct 20 13:15:59 IST 2026
[2026-10-20 13:15:59,230.230 INFO    ] ================================================
[2026-10-20 13:15:59,818.818 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:15:59
[2026-10-20 13:16:00,423.423 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:16:00,700.700 INFO    ] Initializing speech engine...
[2026-10-20 13:16:00,710.710 INFO    ] 2026-10-20 13:16:00
[2026-10-20 13:16:00,964.964 INFO    ] 2026-10-20 13:16:00
[2026-10-20 13:16:01,000.000 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:16:01,252.252 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:16:01,256.256 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:16:01,484.484 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:16:01,513.513 INFO    ] time= 20/10/2026 13:16:01
[2026-10-20 13:16:01,531.531 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:16:01,539.539 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:16:01,743.743 INFO    ] No existing commands found in stream
[2026-10-20 13:16:06,754.754 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:16:06,757.757 INFO    ] Waiting 3.92 seconds before fallback handling...
[2026-10-20 13:16:11,239.239 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:16:11,242.242 INFO    ] Checking for system updates...
[2026-10-20 13:16:11,281.281 INFO    ] 200
[2026-10-20 13:16:11,284.284 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:16:11,341.341 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:16:11,344.344 INFO    ] No update needed
[2026-10-20 13:16:11,347.347 INFO    ] Checking for camera pi updates...
[2026-10-20 13:16:11,381.381 INFO    ] 200
[2026-10-20 13:16:11,384.384 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:16:11,425.425 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:16:11,477.477 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:16:11,480.480 INFO    ] No camera update needed
[2026-10-20 13:16:11,483.483 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:16:11,486.486 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:16:11,492.492 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:16:11,497.497 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:16:13,541.541 INFO    ] ================================================
[2026-10-20 13:16:13,557.557 INFO    ] Launching Daemon at Tue Oct 20 13:16:13 IST 2026
[2026-10-20 13:16:13,567.567 INFO    ] ================================================
[2026-10-20 13:16:14,135.135 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:16:14
[2026-10-20 13:16:14,718.718 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:16:14,990.990 INFO    ] Initializing speech engine...
[2026-10-20 13:16:14,999.999 INFO    ] 2026-10-20 13:16:14
[2026-10-20 13:16:15,249.249 INFO    ] 2026-10-20 13:16:15
[2026-10-20 13:16:15,285.285 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:16:15,544.544 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:16:15,554.554 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:16:15,744.744 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:16:15,804.804 INFO    ] time= 20/10/2026 13:16:15
[2026-10-20 13:16:15,824.824 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:16:15,841.841 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:16:15,962.962 INFO    ] No existing commands found in stream
[2026-10-20 13:16:20,985.985 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:16:20,988.988 INFO    ] Waiting 1.32 seconds before fallback handling...
[2026-10-20 13:16:22,834.834 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:16:22,837.837 INFO    ] Checking for system updates...
[2026-10-20 13:16:22,872.872 INFO    ] 200
[2026-10-20 13:16:22,874.874 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:16:22,925.925 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:16:22,928.928 INFO    ] No update needed
[2026-10-20 13:16:22,930.930 INFO    ] Checking for camera pi updates...
[2026-10-20 13:16:22,963.963 INFO    ] 200
[2026-10-20 13:16:22,965.965 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:16:23,006.006 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:16:23,062.062 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:16:23,064.064 INFO    ] No camera update needed
[2026-10-20 13:16:23,067.067 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:16:23,069.069 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:16:23,074.074 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:16:23,079.079 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:16:25,121.121 INFO    ] ================================================
[2026-10-20 13:16:25,136.136 INFO    ] Launching Daemon at Tue Oct 20 13:16:25 IST 2026
[2026-10-20 13:16:25,147.147 INFO    ] ================================================
[2026-10-20 13:16:25,723.723 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:16:25
[2026-10-20 13:16:26,313.313 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:16:26,588.588 INFO    ] Initializing speech engine...
[2026-10-20 13:16:26,608.608 INFO    ] 2026-10-20 13:16:26
[2026-10-20 13:16:26,876.876 INFO    ] 2026-10-20 13:16:26
[2026-10-20 13:16:26,914.914 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:16:27,138.138 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:16:27,156.156 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:16:27,370.370 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:16:27,397.397 INFO    ] time= 20/10/2026 13:16:27
[2026-10-20 13:16:27,451.451 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:16:27,495.495 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:16:27,660.660 INFO    ] No existing commands found in stream
[2026-10-20 13:16:32,690.690 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:16:32,693.693 INFO    ] Waiting 1.56 seconds before fallback handling...
[2026-10-20 13:16:35,733.733 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 13:16:35,736.736 INFO    ] Checking for system updates...
[2026-10-20 13:16:35,771.771 INFO    ] 200
[2026-10-20 13:16:35,773.773 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:16:35,826.826 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:16:35,829.829 INFO    ] No update needed
[2026-10-20 13:16:35,831.831 INFO    ] Checking for camera pi updates...
[2026-10-20 13:16:35,864.864 INFO    ] 200
[2026-10-20 13:16:35,866.866 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:16:35,906.906 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:16:35,958.958 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:16:35,960.960 INFO    ] No camera update needed
[2026-10-20 13:16:35,963.963 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:16:35,965.965 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:16:35,970.970 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:16:35,975.975 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:16:38,015.015 INFO    ] ================================================
[2026-10-20 13:16:38,033.033 INFO    ] Launching Daemon at Tue Oct 20 13:16:38 IST 2026
[2026-10-20 13:16:38,043.043 INFO    ] ================================================
[2026-10-20 13:16:38,625.625 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:16:38
[2026-10-20 13:16:39,223.223 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:16:39,497.497 INFO    ] Initializing speech engine...
[2026-10-20 13:16:39,506.506 INFO    ] 2026-10-20 13:16:39
[2026-10-20 13:16:39,756.756 INFO    ] 2026-10-20 13:16:39
[2026-10-20 13:16:39,792.792 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:16:40,049.049 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:16:40,055.055 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:16:40,280.280 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:16:40,314.314 INFO    ] time= 20/10/2026 13:16:40
[2026-10-20 13:16:40,320.320 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:16:40,340.340 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:16:40,471.471 INFO    ] No existing commands found in stream
[2026-10-20 13:16:45,490.490 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:16:45,493.493 INFO    ] Waiting 1.93 seconds before fallback handling...
[2026-10-20 13:16:47,939.939 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:16:47,942.942 INFO    ] Checking for system updates...
[2026-10-20 13:16:47,978.978 INFO    ] 200
[2026-10-20 13:16:47,980.980 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:16:48,039.039 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:16:48,042.042 INFO    ] No update needed
[2026-10-20 13:16:48,044.044 INFO    ] Checking for camera pi updates...
[2026-10-20 13:16:48,079.079 INFO    ] 200
[2026-10-20 13:16:48,081.081 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:16:48,121.121 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:16:48,172.172 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:16:48,174.174 INFO    ] No camera update needed
[2026-10-20 13:16:48,177.177 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:16:48,179.179 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:16:48,185.185 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:16:48,190.190 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:16:50,231.231 INFO    ] ================================================
[2026-10-20 13:16:50,246.246 INFO    ] Launching Daemon at Tue Oct 20 13:16:50 IST 2026
[2026-10-20 13:16:50,257.257 INFO    ] ================================================
[2026-10-20 13:16:50,921.921 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:16:50
[2026-10-20 13:16:51,604.604 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:16:51,914.914 INFO    ] Initializing speech engine...
[2026-10-20 13:16:51,923.923 INFO    ] 2026-10-20 13:16:51
[2026-10-20 13:16:52,209.209 INFO    ] 2026-10-20 13:16:52
[2026-10-20 13:16:52,255.255 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:16:52,539.539 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:16:52,548.548 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:16:52,742.742 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:16:52,754.754 INFO    ] time= 20/10/2026 13:16:52
[2026-10-20 13:16:52,776.776 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:16:52,803.803 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:16:52,930.930 INFO    ] No existing commands found in stream
[2026-10-20 13:16:57,956.956 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:16:57,960.960 INFO    ] Waiting 1.31 seconds before fallback handling...
[2026-10-20 13:16:59,845.845 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:16:59,848.848 INFO    ] Checking for system updates...
[2026-10-20 13:16:59,890.890 INFO    ] 200
[2026-10-20 13:16:59,893.893 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:16:59,945.945 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:16:59,948.948 INFO    ] No update needed
[2026-10-20 13:16:59,951.951 INFO    ] Checking for camera pi updates...
[2026-10-20 13:16:59,985.985 INFO    ] 200
[2026-10-20 13:16:59,988.988 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:17:00,029.029 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:17:00,083.083 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:17:00,086.086 INFO    ] No camera update needed
[2026-10-20 13:17:00,089.089 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:17:00,092.092 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:17:00,098.098 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:17:00,104.104 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:17:02,150.150 INFO    ] ================================================
[2026-10-20 13:17:02,172.172 INFO    ] Launching Daemon at Tue Oct 20 13:17:02 IST 2026
[2026-10-20 13:17:02,189.189 INFO    ] ================================================
[2026-10-20 13:17:02,816.816 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:17:02
[2026-10-20 13:17:03,506.506 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:17:03,872.872 INFO    ] Initializing speech engine...
[2026-10-20 13:17:03,881.881 INFO    ] 2026-10-20 13:17:03
[2026-10-20 13:17:04,163.163 INFO    ] 2026-10-20 13:17:04
[2026-10-20 13:17:04,276.276 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:17:04,496.496 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:17:04,505.505 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:17:04,702.702 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:17:04,721.721 INFO    ] time= 20/10/2026 13:17:04
[2026-10-20 13:17:04,731.731 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:17:04,760.760 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:17:04,887.887 INFO    ] No existing commands found in stream
[2026-10-20 13:17:09,913.913 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:17:09,916.916 INFO    ] Waiting 2.36 seconds before fallback handling...
[2026-10-20 13:17:12,810.810 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:17:12,813.813 INFO    ] Checking for system updates...
[2026-10-20 13:17:12,850.850 INFO    ] 200
[2026-10-20 13:17:12,853.853 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:17:12,916.916 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:17:12,919.919 INFO    ] No update needed
[2026-10-20 13:17:12,921.921 INFO    ] Checking for camera pi updates...
[2026-10-20 13:17:12,954.954 INFO    ] 200
[2026-10-20 13:17:12,956.956 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:17:13,004.004 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:17:13,062.062 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:17:13,064.064 INFO    ] No camera update needed
[2026-10-20 13:17:13,067.067 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:17:13,069.069 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:17:13,074.074 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:17:13,079.079 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:17:15,119.119 INFO    ] ================================================
[2026-10-20 13:17:15,135.135 INFO    ] Launching Daemon at Tue Oct 20 13:17:15 IST 2026
[2026-10-20 13:17:15,146.146 INFO    ] ================================================
[2026-10-20 13:17:15,714.714 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:17:15
[2026-10-20 13:17:16,302.302 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:17:16,554.554 INFO    ] Initializing speech engine...
[2026-10-20 13:17:16,562.562 INFO    ] 2026-10-20 13:17:16
[2026-10-20 13:17:16,856.856 INFO    ] 2026-10-20 13:17:16
[2026-10-20 13:17:16,899.899 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:17:17,105.105 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:17:17,164.164 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:17:17,382.382 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:17:17,430.430 INFO    ] time= 20/10/2026 13:17:17
[2026-10-20 13:17:17,437.437 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:17:17,455.455 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:17:17,583.583 INFO    ] No existing commands found in stream
[2026-10-20 13:17:22,598.598 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:17:22,601.601 INFO    ] Waiting 3.09 seconds before fallback handling...
[2026-10-20 13:17:26,207.207 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:17:26,210.210 INFO    ] Checking for system updates...
[2026-10-20 13:17:26,245.245 INFO    ] 200
[2026-10-20 13:17:26,248.248 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:17:26,303.303 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:17:26,306.306 INFO    ] No update needed
[2026-10-20 13:17:26,308.308 INFO    ] Checking for camera pi updates...
[2026-10-20 13:17:26,341.341 INFO    ] 200
[2026-10-20 13:17:26,344.344 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:17:26,384.384 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:17:26,429.429 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:17:26,432.432 INFO    ] No camera update needed
[2026-10-20 13:17:26,434.434 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:17:26,437.437 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:17:26,442.442 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:17:26,447.447 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:17:28,488.488 INFO    ] ================================================
[2026-10-20 13:17:28,503.503 INFO    ] Launching Daemon at Tue Oct 20 13:17:28 IST 2026
[2026-10-20 13:17:28,514.514 INFO    ] ================================================
[2026-10-20 13:17:29,085.085 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:17:29
[2026-10-20 13:17:29,674.674 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:17:29,938.938 INFO    ] Initializing speech engine...
[2026-10-20 13:17:29,956.956 INFO    ] 2026-10-20 13:17:29
[2026-10-20 13:17:30,208.208 INFO    ] 2026-10-20 13:17:30
[2026-10-20 13:17:30,244.244 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:17:30,506.506 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:17:30,510.510 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:17:30,732.732 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:17:30,775.775 INFO    ] time= 20/10/2026 13:17:30
[2026-10-20 13:17:30,782.782 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:17:30,800.800 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:17:30,935.935 INFO    ] No existing commands found in stream
[2026-10-20 13:17:35,949.949 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:17:35,952.952 INFO    ] Waiting 3.76 seconds before fallback handling...
[2026-10-20 13:17:40,212.212 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:17:40,215.215 INFO    ] Checking for system updates...
[2026-10-20 13:17:40,251.251 INFO    ] 200
[2026-10-20 13:17:40,253.253 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:17:40,313.313 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:17:40,315.315 INFO    ] No update needed
[2026-10-20 13:17:40,317.317 INFO    ] Checking for camera pi updates...
[2026-10-20 13:17:40,351.351 INFO    ] 200
[2026-10-20 13:17:40,353.353 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:17:40,402.402 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:17:40,455.455 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:17:40,457.457 INFO    ] No camera update needed
[2026-10-20 13:17:40,460.460 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:17:40,462.462 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:17:40,467.467 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:17:40,472.472 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:17:42,514.514 INFO    ] ================================================
[2026-10-20 13:17:42,530.530 INFO    ] Launching Daemon at Tue Oct 20 13:17:42 IST 2026
[2026-10-20 13:17:42,542.542 INFO    ] ================================================
[2026-10-20 13:17:43,125.125 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:17:43
[2026-10-20 13:17:43,725.725 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:17:43,994.994 INFO    ] Initializing speech engine...
[2026-10-20 13:17:44,007.007 INFO    ] 2026-10-20 13:17:43
[2026-10-20 13:17:44,257.257 INFO    ] 2026-10-20 13:17:44
[2026-10-20 13:17:44,292.292 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:17:44,544.544 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:17:44,553.553 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:17:44,688.688 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:17:44,749.749 INFO    ] time= 20/10/2026 13:17:44
[2026-10-20 13:17:44,803.803 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:17:44,822.822 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:17:44,966.966 INFO    ] No existing commands found in stream
[2026-10-20 13:17:48,497.497 INFO    ] Received new command: ID=1792482468411-0
[2026-10-20 13:17:48,500.500 INFO    ] process_and_cleanup_command: msg_id=1792482468411-0
[2026-10-20 13:17:48,502.502 INFO    ] is_command_expired: timestamp=2026-10-20T07:47:48.425Z, expiry=30s
[2026-10-20 13:17:48,609.609 INFO    ] Command removed from stream: 1792482468411-0. returning for processing...
[2026-10-20 13:17:48,612.612 INFO    ] ***** get_valid_command
[2026-10-20 13:17:48,614.614 INFO    ] {'timeout': '10', 'source': 'webapp', 'timestamp': '2026-10-20T07:47:48.425Z', 'data': '{"request_id":"start-order-1792482468419-799vxqqy2","orderId":"TM04202203261020131537081","is_vending":false}', 'command': 'start-order'}
[2026-10-20 13:17:48,617.617 INFO    ] ***** Parsed command data: {'orderId': 'TM04202203261020131537081', 'is_vending': False, 'request_id': 'start-order-1792482468419-799vxqqy2'}
[2026-10-20 13:17:48,619.619 INFO    ] Handling start order...
[2026-10-20 13:17:48,621.621 INFO    ] handle_start_order_command
[2026-10-20 13:17:48,627.627 INFO    ] _send_start_order_success: request_id=start-order-1792482468419-799vxqqy2, order_id=TM04202203261020131537081
[2026-10-20 13:17:48,630.630 INFO    ] [_send_start_order_success] Adding message to stream: machine:TM04202203
[2026-10-20 13:17:48,710.710 INFO    ] [_send_start_order_success] Message added to stream with ID: 1792482468658-0
[2026-10-20 13:17:48,712.712 INFO    ] ✅ Start-order command succeeded - order locked, waiting for process-order command
[2026-10-20 13:17:48,715.715 INFO    ] Checking for system updates...
[2026-10-20 13:17:48,756.756 INFO    ] 200
[2026-10-20 13:17:48,758.758 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:17:48,819.819 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:17:48,821.821 INFO    ] No update needed
[2026-10-20 13:17:48,824.824 INFO    ] Checking for camera pi updates...
[2026-10-20 13:17:48,862.862 INFO    ] 200
[2026-10-20 13:17:48,864.864 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:17:48,904.904 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:17:49,055.055 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:17:49,057.057 INFO    ] No camera update needed
[2026-10-20 13:17:49,060.060 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:17:49,062.062 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:17:49,068.068 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:17:49,073.073 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:17:51,113.113 INFO    ] ================================================
[2026-10-20 13:17:51,128.128 INFO    ] Launching Daemon at Tue Oct 20 13:17:51 IST 2026
[2026-10-20 13:17:51,139.139 INFO    ] ================================================
[2026-10-20 13:17:51,715.715 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:17:51
[2026-10-20 13:17:52,308.308 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:17:52,563.563 INFO    ] Initializing speech engine...
[2026-10-20 13:17:52,572.572 INFO    ] 2026-10-20 13:17:52
[2026-10-20 13:17:52,876.876 INFO    ] 2026-10-20 13:17:52
[2026-10-20 13:17:52,912.912 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:17:53,089.089 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:17:53,132.132 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:17:53,315.315 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:17:53,323.323 INFO    ] time= 20/10/2026 13:17:53
[2026-10-20 13:17:53,332.332 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:17:53,353.353 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:17:53,515.515 INFO    ] Found 2 existing command(s) in stream
[2026-10-20 13:17:53,562.562 INFO    ] Checking historical command: ID=1792482468658-0
[2026-10-20 13:17:53,569.569 INFO    ] process_and_cleanup_command: msg_id=1792482468658-0
[2026-10-20 13:17:53,592.592 INFO    ] is_command_expired: timestamp=2026-10-20T07:47:48.628821Z, expiry=30s
[2026-10-20 13:17:53,785.785 INFO    ] Command removed from stream: 1792482468658-0. returning for processing...
[2026-10-20 13:17:53,835.835 INFO    ] ***** get_valid_command
[2026-10-20 13:17:53,900.900 INFO    ] {'timestamp': '2026-10-20T07:47:48.628821Z', 'metadata_request_id': 'start-order-1792482468419-799vxqqy2', 'imei': 'TM04202203', 'message_type': 'command_response', 'metadata_order_id': 'TM04202203261020131537081', 'message': 'start-order success', 'status': 'success'}
[2026-10-20 13:17:53,933.933 INFO    ] Checking historical command: ID=1792482470237-0
[2026-10-20 13:17:53,982.982 INFO    ] process_and_cleanup_command: msg_id=1792482470237-0
[2026-10-20 13:17:54,031.031 INFO    ] is_command_expired: timestamp=2026-10-20T07:47:50.146Z, expiry=30s
[2026-10-20 13:17:54,236.236 INFO    ] Command removed from stream: 1792482470237-0. returning for processing...
[2026-10-20 13:17:54,290.290 INFO    ] ***** get_valid_command
[2026-10-20 13:17:54,299.299 INFO    ] {'command': 'process-order', 'timestamp': '2026-10-20T07:47:50.146Z', 'data': '{"request_id":"process-order-1792482470145-fumudk2n4","orderId":"TM04202203261020131537081","is_vending":false,"accessCode":"25106924"}', 'source': 'webapp', 'timeout': '60'}
[2026-10-20 13:17:54,306.306 INFO    ] ***** Parsed command data: {'accessCode': '25106924', 'is_vending': False, 'orderId': 'TM04202203261020131537081', 'request_id': 'process-order-1792482470145-fumudk2n4'}
[2026-10-20 13:17:54,309.309 INFO    ] Handling process order...
[2026-10-20 13:17:54,353.353 INFO    ] Processing process-order command...
[2026-10-20 13:17:54,372.372 INFO    ] 🔍 Lock file Order ID: TM04202203261020131537081, TS: 2026-10-20 13:17:48
[2026-10-20 13:17:54,386.386 INFO    ] ✅ Order lock valid for TM04202203261020131537081
[2026-10-20 13:17:54,436.436 INFO    ] Received access code in process-order, skipping PHP API call
[2026-10-20 13:17:54,450.450 INFO    ] processing access code 25106924 for order TM04202203261020131537081
[2026-10-20 13:17:54,458.458 INFO    ] 🔍 Lock file Order ID: TM04202203261020131537081, TS: 2026-10-20 13:17:48
[2026-10-20 13:17:54,464.464 INFO    ] ✅ Order lock valid for TM04202203261020131537081
[2026-10-20 13:17:54,468.468 INFO    ] 2026-10-20 13:17:54
[2026-10-20 13:17:54,515.515 INFO    ] 200
[2026-10-20 13:17:54,521.521 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:17:54,524.524 INFO    ] 25106924
[2026-10-20 13:17:54,527.527 INFO    ] 2026-10-20 13:17:54
[2026-10-20 13:17:54,531.531 INFO    ] session id :373156836
[2026-10-20 13:17:54,533.533 INFO    ] http://localhost:5000/v2/getOrderByAccessCode?access_code=25106924&imei=TM04202203&session_id=373156836
[2026-10-20 13:17:55,065.065 INFO    ] 200
[2026-10-20 13:17:55,068.068 INFO    ] {"data": {"access_code": "25106924", "bill_amount": "20.0", "invoice_bill": "20.0", "order_id": "TM04202203261020131537081", "mobile": "6302955108", "proposed_sku_json": [{"image_url": "https://images.tinymart.in/product/185993-3509.webp", "door_id": "2", "mrp": "20", "offer_id": "", "name": "NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g", "unit_price": 20, "qty": 1, "offer_desc": "", "skuid": "185993", "sku_total": 20, "tray_id": "44"}]}, "status": true, "msg": "Order Data", "rstatus": true}
[2026-10-20 13:17:55,071.071 INFO    ] 20
[2026-10-20 13:17:55,095.095 INFO    ] TM04202203261020131537081
[2026-10-20 13:17:55,125.125 INFO    ] 6302955108
[2026-10-20 13:17:55,130.130 INFO    ] 2026-10-20 13:17:55
[2026-10-20 13:17:55,134.134 INFO    ] Door Opening for user mobile ending with  five one zero eight 
[2026-10-20 13:17:55,139.139 INFO    ] Door Opening for user mobile ending with  five one zero eight 
[2026-10-20 13:17:55,143.143 INFO    ] dbac24a8e75f1c5741eacf2b007f16b9
[2026-10-20 13:17:55,151.151 INFO    ] 2026-10-20 13:17:55
[2026-10-20 13:17:55,156.156 INFO    ] playing audio file
[2026-10-20 13:17:55,176.176 INFO    ] 2026-10-20 13:17:55
[2026-10-20 13:17:55,182.182 INFO    ] 2026-10-20 13:17:55
[2026-10-20 13:17:55,187.187 INFO    ] publish_status: order_id=TM04202203261020131537081
[2026-10-20 13:17:55,192.192 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020131537081
[2026-10-20 13:17:55,313.313 INFO    ] [publish_status] Message added to stream with ID: 1792482475247-0
[2026-10-20 13:17:55,320.320 INFO    ] Published to order:TM04202203261020131537081: {'server_status': 'order-started', 'timestamp': '2026-10-20T07:47:55.184571Z', 'order_id': 'TM04202203261020131537081', 'server_response': '{"msg": "Order Data", "data": {"proposed_sku_json": [{"name": "NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g", "tray_id": "44", "sku_total": 20, "unit_price": 20, "offer_id": "", "skuid": "185993", "image_url": "https://images.tinymart.in/product/185993-3509.webp", "qty": 1, "mrp": "20", "door_id": "2", "offer_desc": ""}], "bill_amount": "20.0", "invoice_bill": "20.0", "access_code": "25106924", "order_id": "TM04202203261020131537081", "mobile": "6302955108"}, "rstatus": true, "status": true}'} (ID: 1792482475247-0)
[2026-10-20 13:17:55,977.977 INFO    ] {'server_status': 'order-started', 'order_id': 'TM04202203261020131537081', 'server_response': {'msg': 'Order Data', 'data': {'proposed_sku_json': [{'name': 'NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g', 'tray_id': '44', 'sku_total': 20, 'unit_price': 20, 'offer_id': '', 'skuid': '185993', 'image_url': 'https://images.tinymart.in/product/185993-3509.webp', 'qty': 1, 'mrp': '20', 'door_id': '2', 'offer_desc': ''}], 'bill_amount': '20.0', 'invoice_bill': '20.0', 'access_code': '25106924', 'order_id': 'TM04202203261020131537081', 'mobile': '6302955108'}, 'rstatus': True, 'status': True}}
[2026-10-20 13:17:55,985.985 INFO    ] 200
[2026-10-20 13:17:55,990.990 INFO    ] {"data":{"server_status":"order-started","order_id":"TM04202203261020131537081","server_response":{"msg":"Order Data","data":{"proposed_sku_json":[{"name":"NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g","tray_id":"44","sku_total":20,"unit_price":20,"offer_id":"","skuid":"185993","image_url":"https:\/\/images.tinymart.in\/product\/185993-3509.webp","qty":1,"mrp":"20","door_id":"2","offer_desc":""}],"bill_amount":"20.0","invoice_bill":"20.0","access_code":"25106924","order_id":"TM04202203261020131537081","mobile":"6302955108"},"rstatus":true,"status":true}},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 13:17:56,001.001 INFO    ] {'response': {'msg': 'order updated successfully', 'code': 'ORDER_EXISTS', 'data': 'order updated successfully', 'status': True}, 'data': {'server_status': 'order-started', 'order_id': 'TM04202203261020131537081', 'server_response': {'msg': 'Order Data', 'data': {'proposed_sku_json': [{'name': 'NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g', 'tray_id': '44', 'mrp': '20', 'sku_total': 20, 'offer_id': '', 'skuid': '185993', 'qty': 1, 'offer_desc': '', 'image_url': 'https://images.tinymart.in/product/185993-3509.webp', 'door_id': '2', 'unit_price': 20}], 'mobile': '6302955108', 'invoice_bill': '20.0', 'bill_amount': '20.0', 'order_id': 'TM04202203261020131537081', 'access_code': '25106924'}, 'status': True, 'rstatus': True}}}
[2026-10-20 13:17:56,034.034 INFO    ] 2026-10-20 13:17:56
[2026-10-20 13:17:56,086.086 INFO    ] 200
[2026-10-20 13:17:56,090.090 INFO    ] True
[2026-10-20 13:17:56,315.315 INFO    ] 200
[2026-10-20 13:17:56,335.335 INFO    ] {"SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "rstatus": false, "voiceNote": "Please Wait", "status": "False", "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait while we process your order", "Note": "", "Header": " Your order is under process  "}, "SectionMain": {"Header": "Processing Order"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 13:17:56,343.343 INFO    ] {'rstatus': False, 'SectionStatus': {'UI_Header': '', 'Header': ' Your order is under process  ', 'Note': '', 'SubHeader': 'Please wait while we process your order'}, 'voiceNote': 'Please Wait', 'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'error': {'tmessage': 'In Progress', 'code': 20001, 'data': {}, 'umessage': 'In Progress'}, 'status': 'False', 'SectionMain': {'Header': 'Processing Order'}}
[2026-10-20 13:17:56,361.361 INFO    ] *** process_order ***
[2026-10-20 13:17:57,559.559 INFO    ] 200
[2026-10-20 13:17:57,562.562 INFO    ] {"SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "rstatus": true, "voiceNote": "Please Wait", "delay": 0, "status": "True", "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait while we process your order", "Note": "", "Header": " Your order is under process  "}, "SectionMain": {"Header": "Processing Order"}}
[2026-10-20 13:17:57,564.564 INFO    ] {'SectionStatus': {'UI_Header': '', 'Header': ' Your order is under process  ', 'Note': '', 'SubHeader': 'Please wait while we process your order'}, 'rstatus': True, 'delay': 0, 'voiceNote': 'Please Wait', 'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'status': 'True', 'SectionMain': {'Header': 'Processing Order'}}
[2026-10-20 13:17:57,566.566 INFO    ] *** process_order ***
[2026-10-20 13:17:57,569.569 INFO    ] publish_status: order_id=TM04202203261020131537081
[2026-10-20 13:17:57,572.572 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020131537081
[2026-10-20 13:17:57,687.687 INFO    ] [publish_status] Message added to stream with ID: 1792482477638-0
[2026-10-20 13:17:57,690.690 INFO    ] Published to order:TM04202203261020131537081: {'server_status': 'doorOpened', 'order_id': 'TM04202203261020131537081', 'server_response': '{"status": "True", "SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "delay": 0, "SectionStatus": {"UI_Header": "", "SubHeader": "You can pull the door now.", "Note": "", "Header": " Your order is under process  "}, "voiceNote": "Door is open...", "rstatus": true, "SectionMain": {"Header": "Processing Order"}}'} (ID: 1792482477638-0)
[2026-10-20 13:17:58,758.758 INFO    ] 2026-10-20 13:17:58
[2026-10-20 13:17:58,761.761 INFO    ] publish_status: order_id=TM04202203261020131537081
[2026-10-20 13:17:58,764.764 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020131537081
[2026-10-20 13:17:58,866.866 INFO    ] [publish_status] Message added to stream with ID: 1792482478817-0
[2026-10-20 13:17:58,869.869 INFO    ] Published to order:TM04202203261020131537081: {'server_status': 'processOrder', 'timestamp': '2026-10-20T07:47:58.760160Z', 'order_id': 'TM04202203261020131537081', 'server_response': '{"SectionStatus": {"UI_Header": "", "Header": " Your order is under process  ", "Note": "", "SubHeader": "Please wait while we process your order"}, "rstatus": true, "delay": 0, "voiceNote": "Please Wait", "SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "status": "True", "SectionMain": {"Header": "Processing Order"}}'} (ID: 1792482478817-0)
[2026-10-20 13:17:59,017.017 INFO    ] {'server_status': 'processOrder', 'order_id': 'TM04202203261020131537081', 'server_response': {'SectionStatus': {'UI_Header': '', 'Header': ' Your order is under process  ', 'Note': '', 'SubHeader': 'Please wait while we process your order'}, 'rstatus': True, 'delay': 0, 'voiceNote': 'Please Wait', 'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'status': 'True', 'SectionMain': {'Header': 'Processing Order'}}}
[2026-10-20 13:17:59,022.022 INFO    ] 200
[2026-10-20 13:17:59,024.024 INFO    ] {"data":{"server_status":"processOrder","order_id":"TM04202203261020131537081","server_response":{"SectionStatus":{"UI_Header":"","Header":" Your order is under process  ","Note":"","SubHeader":"Please wait while we process your order"},"rstatus":true,"delay":0,"voiceNote":"Please Wait","SectionSKU":{"skus":[],"Header":"Thank you for bearing with us :)"},"status":"true","SectionMain":{"Header":"Processing Order"}}},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 13:17:59,027.027 INFO    ] {'response': {'msg': 'order updated successfully', 'code': 'ORDER_EXISTS', 'data': 'order updated successfully', 'status': True}, 'data': {'server_status': 'processOrder', 'order_id': 'TM04202203261020131537081', 'server_response': {'status': 'true', 'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'delay': 0, 'SectionStatus': {'UI_Header': '', 'SubHeader': 'Please wait while we process your order', 'Note': '', 'Header': ' Your order is under process  '}, 'voiceNote': 'Please Wait', 'rstatus': True, 'SectionMain': {'Header': 'Processing Order'}}}}
[2026-10-20 13:17:59,031.031 INFO    ] 2026-10-20 13:17:59
[2026-10-20 13:17:59,033.033 INFO    ] None
[2026-10-20 13:17:59,036.036 INFO    ] Opening Door now
[2026-10-20 13:17:59,038.038 INFO    ] Opening Door now
[2026-10-20 13:17:59,041.041 INFO    ] 08e5d1063504bf393c26f0bfa436e9f9
[2026-10-20 13:17:59,043.043 INFO    ] 2026-10-20 13:17:59
[2026-10-20 13:17:59,046.046 INFO    ] playing audio file
[2026-10-20 13:17:59,064.064 INFO    ] 2026-10-20 13:17:59
[2026-10-20 13:17:59,067.067 INFO    ] 2026-10-20 13:17:59
[2026-10-20 13:18:02,198.198 INFO    ] 200
[2026-10-20 13:18:02,201.201 INFO    ] {"SectionSKU": {"skus": [{"name": "NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g", "qty": 1}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Door 2 is open now", "status": "False", "SectionStatus": {"UI_Header": "DOOR 2\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 2"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 13:18:02,205.205 INFO    ] {'rstatus': False, 'SectionStatus': {'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'Header': 'Please Close Door 2', 'Note': 'Please Close the door after picking up products', 'SubHeader': 'Please Pick the Products and close the door'}, 'voiceNote': 'Door 2 is open now', 'SectionSKU': {'skus': [{'name': 'NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g', 'qty': 1}], 'Header': 'Pick the below items from the door'}, 'error': {'tmessage': 'In Progress', 'code': 20001, 'data': {}, 'umessage': 'In Progress'}, 'status': 'False', 'SectionMain': {'Header': 'Door Open'}}
[2026-10-20 13:18:05,355.355 INFO    ] 200
[2026-10-20 13:18:05,358.358 INFO    ] {"SectionSKU": {"skus": [{"name": "NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g", "qty": 1}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Please close door 2", "status": "False", "SectionStatus": {"UI_Header": "DOOR 2\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 2"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 13:18:05,361.361 INFO    ] {'rstatus': False, 'SectionStatus': {'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'Header': 'Please Close Door 2', 'Note': 'Please Close the door after picking up products', 'SubHeader': 'Please Pick the Products and close the door'}, 'voiceNote': 'Please close door 2', 'SectionSKU': {'skus': [{'name': 'NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g', 'qty': 1}], 'Header': 'Pick the below items from the door'}, 'error': {'tmessage': 'In Progress', 'code': 20001, 'data': {}, 'umessage': 'In Progress'}, 'status': 'False', 'SectionMain': {'Header': 'Door Open'}}
[2026-10-20 13:18:08,417.417 INFO    ] 200
[2026-10-20 13:18:08,420.420 INFO    ] {"SectionSKU": {"skus": [{"name": "NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g", "qty": 1}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Please close door 2", "status": "False", "SectionStatus": {"UI_Header": "DOOR 2\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 2"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 13:18:08,423.423 INFO    ] Please close door 2
[2026-10-20 13:18:08,425.425 INFO    ] Please close door 2
[2026-10-20 13:18:08,428.428 INFO    ] 758e46684c76e887a5f58d4738034bed
[2026-10-20 13:18:08,430.430 INFO    ] 2026-10-20 13:18:08
[2026-10-20 13:18:08,433.433 INFO    ] playing audio file
[2026-10-20 13:18:08,450.450 INFO    ] 2026-10-20 13:18:08
[2026-10-20 13:18:08,453.453 INFO    ] publish_status: order_id=TM04202203261020131537081
[2026-10-20 13:18:08,456.456 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020131537081
[2026-10-20 13:18:08,550.550 INFO    ] [publish_status] Message added to stream with ID: 1792482488500-0
[2026-10-20 13:18:08,553.553 INFO    ] Published to order:TM04202203261020131537081: {'server_status': 'OrderStatus', 'timestamp': '2026-10-20T07:48:08.451912Z', 'order_id': 'TM04202203261020131537081', 'server_response': '{"rstatus": false, "SectionStatus": {"UI_Header": "DOOR 2\\nIS \\nOPEN \\nNOW", "Header": "Please Close Door 2", "Note": "Please Close the door after picking up products", "SubHeader": "Please Pick the Products and close the door"}, "voiceNote": "Please close door 2", "SectionSKU": {"skus": [{"name": "NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g", "qty": 1}], "Header": "Pick the below items from the door"}, "error": {"tmessage": "In Progress", "code": 20001, "data": {}, "umessage": "In Progress"}, "status": "False", "SectionMain": {"Header": "Door Open"}}'} (ID: 1792482488500-0)
[2026-10-20 13:18:09,160.160 INFO    ] {'server_status': 'OrderStatus', 'order_id': 'TM04202203261020131537081', 'server_response': {'rstatus': False, 'SectionStatus': {'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'Header': 'Please Close Door 2', 'Note': 'Please Close the door after picking up products', 'SubHeader': 'Please Pick the Products and close the door'}, 'voiceNote': 'Please close door 2', 'SectionSKU': {'skus': [{'name': 'NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g', 'qty': 1}], 'Header': 'Pick the below items from the door'}, 'error': {'tmessage': 'In Progress', 'code': 20001, 'data': {}, 'umessage': 'In Progress'}, 'status': 'False', 'SectionMain': {'Header': 'Door Open'}}}
[2026-10-20 13:18:09,162.162 INFO    ] 200
[2026-10-20 13:18:09,165.165 INFO    ] {"data":{"server_status":"OrderStatus","order_id":"TM04202203261020131537081","server_response":{"rstatus":false,"SectionStatus":{"UI_Header":"DOOR 2\nIS \nOPEN \nNOW","Header":"Please Close Door 2","Note":"Please Close the door after picking up products","SubHeader":"Please Pick the Products and close the door"},"voiceNote":"Please close door 2","SectionSKU":{"skus":[{"name":"NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g","qty":1}],"Header":"Pick the below items from the door"},"error":{"tmessage":"In Progress","code":20001,"data":[],"umessage":"In Progress"},"status":"false","SectionMain":{"Header":"Door Open"}}},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 13:18:09,168.168 INFO    ] {'response': {'msg': 'order updated successfully', 'code': 'ORDER_EXISTS', 'data': 'order updated successfully', 'status': True}, 'data': {'server_status': 'OrderStatus', 'order_id': 'TM04202203261020131537081', 'server_response': {'status': 'false', 'SectionStatus': {'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'SubHeader': 'Please Pick the Products and close the door', 'Note': 'Please Close the door after picking up products', 'Header': 'Please Close Door 2'}, 'SectionSKU': {'skus': [{'name': 'NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g', 'qty': 1}], 'Header': 'Pick the below items from the door'}, 'voiceNote': 'Please close door 2', 'error': {'tmessage': 'In Progress', 'code': 20001, 'data': [], 'umessage': 'In Progress'}, 'rstatus': False, 'SectionMain': {'Header': 'Door Open'}}}}
[2026-10-20 13:18:09,171.171 INFO    ] {'rstatus': False, 'SectionStatus': {'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'Header': 'Please Close Door 2', 'Note': 'Please Close the door after picking up products', 'SubHeader': 'Please Pick the Products and close the door'}, 'voiceNote': 'Please close door 2', 'SectionSKU': {'skus': [{'name': 'NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g', 'qty': 1}], 'Header': 'Pick the below items from the door'}, 'error': {'tmessage': 'In Progress', 'code': 20001, 'data': {}, 'umessage': 'In Progress'}, 'status': 'False', 'SectionMain': {'Header': 'Door Open'}}
[2026-10-20 13:18:12,240.240 INFO    ] 200
[2026-10-20 13:18:12,243.243 INFO    ] {"SectionSKU": {"skus": [], "Header": "If you like us, tell others... else tell us"}, "rstatus": true, "voiceNote": "Transaction Completed", "delay": 100, "status": "True", "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait for invoice to generate", "Note": "If any due amount, clear at https://go.tinymart.in", "Header": " Order is complete "}, "SectionMain": {"Header": "Door Closed"}}
[2026-10-20 13:18:12,246.246 INFO    ] {'SectionStatus': {'UI_Header': '', 'Header': ' Order is complete ', 'Note': 'If any due amount, clear at https://go.tinymart.in', 'SubHeader': 'Please wait for invoice to generate'}, 'rstatus': True, 'delay': 100, 'voiceNote': 'Transaction Completed', 'SectionSKU': {'skus': [], 'Header': 'If you like us, tell others... else tell us'}, 'status': 'True', 'SectionMain': {'Header': 'Door Closed'}}
[2026-10-20 13:18:12,249.249 INFO    ] 2026-10-20 13:18:12
[2026-10-20 13:18:12,252.252 INFO    ] Order Completed 
[2026-10-20 13:18:12,254.254 INFO    ] Order Completed 
[2026-10-20 13:18:12,257.257 INFO    ] 193c8a8cf3bf490ccfe0b23598544a83
[2026-10-20 13:18:12,260.260 INFO    ] 2026-10-20 13:18:12
[2026-10-20 13:18:12,263.263 INFO    ] playing audio file
[2026-10-20 13:18:12,281.281 INFO    ] 2026-10-20 13:18:12
[2026-10-20 13:18:12,284.284 INFO    ] {'SectionStatus': {'UI_Header': '', 'Header': ' Order is complete ', 'Note': 'If any due amount, clear at https://go.tinymart.in', 'SubHeader': 'Please wait for invoice to generate'}, 'rstatus': True, 'delay': 100, 'voiceNote': 'Transaction Completed', 'SectionSKU': {'skus': [], 'Header': 'If you like us, tell others... else tell us'}, 'status': 'True', 'SectionMain': {'Header': 'Door Closed'}}
[2026-10-20 13:18:12,287.287 INFO    ] 2026-10-20 13:18:12
[2026-10-20 13:18:14,259.259 INFO    ] 200
[2026-10-20 13:18:14,262.262 INFO    ] {"rstatus": true, "logic": "WBL", "skus": [{"door_id": "", "name": "NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g per peice", "mrp": "20", "skuid": "185993", "unit_price": "20", "qty": 1, "tray_id": "44", "sku_total": 20.0, "image_url": "https://images.tinymart.in/product/185993-3509.webp"}], "orderId": "TM04202203261020131537081", "res": "True", "total_amount": 20.0, "anomaly": 0}
[2026-10-20 13:18:14,265.265 INFO    ] {'skus': [{'name': 'NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g per peice', 'tray_id': '44', 'image_url': 'https://images.tinymart.in/product/185993-3509.webp', 'unit_price': '20', 'skuid': '185993', 'qty': 1, 'mrp': '20', 'door_id': '', 'sku_total': 20.0}], 'anomaly': 0, 'total_amount': 20.0, 'res': 'True', 'logic': 'WBL', 'orderId': 'TM04202203261020131537081', 'rstatus': True}
[2026-10-20 13:18:14,268.268 INFO    ] {'skus': [{'name': 'NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g per peice', 'tray_id': '44', 'image_url': 'https://images.tinymart.in/product/185993-3509.webp', 'unit_price': '20', 'skuid': '185993', 'qty': 1, 'mrp': '20', 'door_id': '', 'sku_total': 20.0}], 'anomaly': 0, 'total_amount': 20.0, 'res': 'True', 'logic': 'WBL', 'orderId': 'TM04202203261020131537081', 'rstatus': True}
[2026-10-20 13:18:14,270.270 INFO    ] 2026-10-20 13:18:14
[2026-10-20 13:18:14,273.273 INFO    ] 2026-10-20 13:18:14
[2026-10-20 13:18:14,275.275 INFO    ] 20
[2026-10-20 13:18:14,277.277 INFO    ] 2026-10-20 13:18:14
[2026-10-20 13:18:14,280.280 INFO    ] 2026-10-20 13:18:14
[2026-10-20 13:18:14,282.282 INFO    ]  Your Bill Amount is 20
[2026-10-20 13:18:14,284.284 INFO    ]  Your Bill Amount is 20
[2026-10-20 13:18:14,287.287 INFO    ] 69e7720cf62ffa67ab0522541575e508
[2026-10-20 13:18:14,289.289 INFO    ] 2026-10-20 13:18:14
[2026-10-20 13:18:14,292.292 INFO    ] playing audio file
[2026-10-20 13:18:14,310.310 INFO    ] 2026-10-20 13:18:14
[2026-10-20 13:18:14,313.313 INFO    ] 2026-10-20 13:18:14
[2026-10-20 13:18:14,316.316 INFO    ] publish_status: order_id=TM04202203261020131537081
[2026-10-20 13:18:14,319.319 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020131537081
[2026-10-20 13:18:14,388.388 INFO    ] [publish_status] Message added to stream with ID: 1792482494339-0
[2026-10-20 13:18:14,391.391 INFO    ] Published to order:TM04202203261020131537081: {'server_status': 'invoiceOrder', 'timestamp': '2026-10-20T07:48:14.315008Z', 'order_id': 'TM04202203261020131537081', 'server_response': '{"skus": [{"name": "NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g per peice", "tray_id": "44", "image_url": "https://images.tinymart.in/product/185993-3509.webp", "unit_price": "20", "skuid": "185993", "qty": 1, "mrp": "20", "door_id": "", "sku_total": 20.0}], "anomaly": 0, "total_amount": 20.0, "res": "True", "logic": "WBL", "orderId": "TM04202203261020131537081", "rstatus": true}'} (ID: 1792482494339-0)
[2026-10-20 13:18:14,956.956 INFO    ] {'server_status': 'invoiceOrder', 'order_id': 'TM04202203261020131537081', 'server_response': {'skus': [{'name': 'NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g per peice', 'tray_id': '44', 'image_url': 'https://images.tinymart.in/product/185993-3509.webp', 'unit_price': '20', 'skuid': '185993', 'qty': 1, 'mrp': '20', 'door_id': '', 'sku_total': 20.0}], 'anomaly': 0, 'total_amount': 20.0, 'res': 'True', 'logic': 'WBL', 'orderId': 'TM04202203261020131537081', 'rstatus': True}}
[2026-10-20 13:18:14,958.958 INFO    ] 200
[2026-10-20 13:18:14,961.961 INFO    ] {"data":{"server_status":"invoiceOrder","order_id":"TM04202203261020131537081","server_response":{"skus":[{"name":"NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g per peice","tray_id":"44","image_url":"https:\/\/images.tinymart.in\/product\/185993-3509.webp","unit_price":"20","skuid":"185993","qty":1,"mrp":"20","door_id":"","sku_total":20}],"anomaly":0,"total_amount":20,"res":"true","logic":"WBL","orderId":"TM04202203261020131537081","rstatus":true}},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 13:18:14,963.963 INFO    ] {'response': {'msg': 'order updated successfully', 'code': 'ORDER_EXISTS', 'data': 'order updated successfully', 'status': True}, 'data': {'server_status': 'invoiceOrder', 'order_id': 'TM04202203261020131537081', 'server_response': {'skus': [{'name': 'NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g per peice', 'tray_id': '44', 'mrp': '20', 'unit_price': '20', 'skuid': '185993', 'qty': 1, 'image_url': 'https://images.tinymart.in/product/185993-3509.webp', 'door_id': '', 'sku_total': 20}], 'anomaly': 0, 'total_amount': 20, 'res': 'true', 'logic': 'WBL', 'orderId': 'TM04202203261020131537081', 'rstatus': True}}}
[2026-10-20 13:18:14,966.966 INFO    ] {'response': {'msg': 'order updated successfully', 'code': 'ORDER_EXISTS', 'data': 'order updated successfully', 'status': True}, 'data': {'server_status': 'invoiceOrder', 'order_id': 'TM04202203261020131537081', 'server_response': {'skus': [{'name': 'NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g per peice', 'tray_id': '44', 'mrp': '20', 'unit_price': '20', 'skuid': '185993', 'qty': 1, 'image_url': 'https://images.tinymart.in/product/185993-3509.webp', 'door_id': '', 'sku_total': 20}], 'anomaly': 0, 'total_amount': 20, 'res': 'true', 'logic': 'WBL', 'orderId': 'TM04202203261020131537081', 'rstatus': True}}}
[2026-10-20 13:18:14,969.969 INFO    ] 2026-10-20 13:18:14
[2026-10-20 13:18:16,686.686 INFO    ] 200
[2026-10-20 13:18:16,689.689 INFO    ] {"orders": [], "order_items_synced": [], "tray_synced": ["TM04202203261020131537081", "TM04202203261020131537081", "TM04202203261020131537081", "TM04202203261020131537081", "TM04202203261020131537081", "TM04202203261020131537081", "TM04202203261020131537081", "TM04202203261020131537081", "TM04202203261020131537081", "TM04202203261020131537081", "TM04202203261020131537081", "TM04202203261020131537081", "TM04202203261020131537081", "TM04202203261020131537081", "TM04202203261020131537081", "TM04202203261020131537081", "TM04202203261020131537081", "TM04202203261020131537081", "TM04202203261020131537081", "TM04202203261020131537081", "TM04202203261020131537081", "TM04202203261020131537081", "TM04202203261020131537081", "TM04202203261020131537081", "TM04202203261020131537081", "TM04202203261020131537081", "TM04202203261020131537081", "TM04202203261020131537081", "TM04202203261020131537081", "TM04202203261020131537081", "TM04202203261020131537081", "TM04202203261020131537081", "TM04202203261020131537081"], "orders_synced": [], "status": true, "tray_sync": [], "order_items": [], "orders_data": [], "orders_data_synced": []}
[2026-10-20 13:18:16,693.693 INFO    ] 2026-10-20 13:18:16
[2026-10-20 13:18:16,816.816 INFO    ] 200
[2026-10-20 13:18:16,819.819 INFO    ] True
[2026-10-20 13:18:16,823.823 INFO    ] cleanup_start_order_file_after_processing: order_id=TM04202203261020131537081
[2026-10-20 13:18:16,826.826 INFO    ] start order file deleted
[2026-10-20 13:18:16,830.830 INFO    ] Checking for system updates...
[2026-10-20 13:18:16,869.869 INFO    ] 200
[2026-10-20 13:18:16,872.872 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:18:16,931.931 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:18:16,934.934 INFO    ] No update needed
[2026-10-20 13:18:16,937.937 INFO    ] Checking for camera pi updates...
[2026-10-20 13:18:16,979.979 INFO    ] 200
[2026-10-20 13:18:16,981.981 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:18:17,026.026 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:18:17,072.072 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:18:17,074.074 INFO    ] No camera update needed
[2026-10-20 13:18:17,077.077 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:18:17,080.080 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:18:17,087.087 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:18:17,092.092 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:18:19,133.133 INFO    ] ================================================
[2026-10-20 13:18:19,149.149 INFO    ] Launching Daemon at Tue Oct 20 13:18:19 IST 2026
[2026-10-20 13:18:19,161.161 INFO    ] ================================================
[2026-10-20 13:18:19,729.729 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:18:19
[2026-10-20 13:18:20,318.318 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:18:20,575.575 INFO    ] Initializing speech engine...
[2026-10-20 13:18:20,581.581 INFO    ] 2026-10-20 13:18:20
[2026-10-20 13:18:20,885.885 INFO    ] 2026-10-20 13:18:20
[2026-10-20 13:18:20,923.923 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:18:21,124.124 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:18:21,138.138 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:18:21,264.264 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:18:21,271.271 INFO    ] time= 20/10/2026 13:18:21
[2026-10-20 13:18:21,292.292 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:18:21,319.319 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:18:21,402.402 INFO    ] No existing commands found in stream
[2026-10-20 13:18:26,427.427 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:18:26,430.430 INFO    ] Waiting 1.44 seconds before fallback handling...
[2026-10-20 13:18:28,390.390 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:18:28,392.392 INFO    ] Checking for system updates...
[2026-10-20 13:18:28,433.433 INFO    ] 200
[2026-10-20 13:18:28,435.435 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:18:28,488.488 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:18:28,491.491 INFO    ] No update needed
[2026-10-20 13:18:28,493.493 INFO    ] Checking for camera pi updates...
[2026-10-20 13:18:28,530.530 INFO    ] 200
[2026-10-20 13:18:28,533.533 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:18:28,573.573 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:18:28,624.624 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:18:28,626.626 INFO    ] No camera update needed
[2026-10-20 13:18:28,628.628 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:18:28,631.631 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:18:28,636.636 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:18:28,641.641 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:18:30,680.680 INFO    ] ================================================
[2026-10-20 13:18:30,696.696 INFO    ] Launching Daemon at Tue Oct 20 13:18:30 IST 2026
[2026-10-20 13:18:30,708.708 INFO    ] ================================================
[2026-10-20 13:18:31,291.291 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:18:31
[2026-10-20 13:18:31,888.888 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:18:32,164.164 INFO    ] Initializing speech engine...
[2026-10-20 13:18:32,174.174 INFO    ] 2026-10-20 13:18:32
[2026-10-20 13:18:32,483.483 INFO    ] 2026-10-20 13:18:32
[2026-10-20 13:18:32,529.529 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:18:32,732.732 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:18:32,781.781 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:18:32,933.933 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:18:32,942.942 INFO    ] time= 20/10/2026 13:18:32
[2026-10-20 13:18:32,947.947 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:18:32,957.957 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:18:33,087.087 INFO    ] No existing commands found in stream
[2026-10-20 13:18:38,102.102 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:18:38,106.106 INFO    ] Waiting 0.12 seconds before fallback handling...
[2026-10-20 13:18:38,710.710 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:18:38,713.713 INFO    ] Checking for system updates...
[2026-10-20 13:18:38,756.756 INFO    ] 200
[2026-10-20 13:18:38,759.759 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 13:18:38,762.762 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-10-20 13:18:38,765.765 INFO    ] Checking for camera pi updates...
[2026-10-20 13:18:38,812.812 INFO    ] 200
[2026-10-20 13:18:38,815.815 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 13:18:38,817.817 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-10-20 13:18:38,820.820 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:18:38,822.822 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:18:38,828.828 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:18:38,834.834 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:18:40,877.877 INFO    ] ================================================
[2026-10-20 13:18:40,892.892 INFO    ] Launching Daemon at Tue Oct 20 13:18:40 IST 2026
[2026-10-20 13:18:40,903.903 INFO    ] ================================================
[2026-10-20 13:18:41,473.473 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:18:41
[2026-10-20 13:18:42,080.080 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:18:42,377.377 INFO    ] Initializing speech engine...
[2026-10-20 13:18:42,383.383 INFO    ] 2026-10-20 13:18:42
[2026-10-20 13:18:42,640.640 INFO    ] 2026-10-20 13:18:42
[2026-10-20 13:18:42,670.670 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:18:42,913.913 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:18:42,923.923 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:18:43,056.056 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:18:43,110.110 INFO    ] time= 20/10/2026 13:18:43
[2026-10-20 13:18:43,147.147 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:18:43,412.412 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:18:43,532.532 INFO    ] No existing commands found in stream
[2026-10-20 13:18:48,557.557 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:18:48,560.560 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-10-20 13:18:50,770.770 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 13:18:50,773.773 INFO    ] Checking for system updates...
[2026-10-20 13:18:50,808.808 INFO    ] 200
[2026-10-20 13:18:50,811.811 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:18:50,862.862 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:18:50,865.865 INFO    ] No update needed
[2026-10-20 13:18:50,867.867 INFO    ] Checking for camera pi updates...
[2026-10-20 13:18:50,901.901 INFO    ] 200
[2026-10-20 13:18:50,903.903 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:18:50,948.948 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:18:51,002.002 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:18:51,004.004 INFO    ] No camera update needed
[2026-10-20 13:18:51,007.007 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:18:51,009.009 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:18:51,014.014 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:18:51,019.019 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:18:53,060.060 INFO    ] ================================================
[2026-10-20 13:18:53,076.076 INFO    ] Launching Daemon at Tue Oct 20 13:18:53 IST 2026
[2026-10-20 13:18:53,087.087 INFO    ] ================================================
[2026-10-20 13:18:53,673.673 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:18:53
[2026-10-20 13:18:54,278.278 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:18:54,554.554 INFO    ] Initializing speech engine...
[2026-10-20 13:18:54,563.563 INFO    ] 2026-10-20 13:18:54
[2026-10-20 13:18:54,811.811 INFO    ] 2026-10-20 13:18:54
[2026-10-20 13:18:54,847.847 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:18:55,098.098 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:18:55,107.107 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:18:55,243.243 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:18:55,282.282 INFO    ] time= 20/10/2026 13:18:55
[2026-10-20 13:18:55,331.331 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:18:55,373.373 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:18:55,522.522 INFO    ] No existing commands found in stream
[2026-10-20 13:19:00,536.536 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:19:00,539.539 INFO    ] Waiting 0.39 seconds before fallback handling...
[2026-10-20 13:19:01,516.516 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:19:01,519.519 INFO    ] Checking for system updates...
[2026-10-20 13:19:01,560.560 INFO    ] 200
[2026-10-20 13:19:01,563.563 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:19:01,624.624 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:19:01,627.627 INFO    ] No update needed
[2026-10-20 13:19:01,630.630 INFO    ] Checking for camera pi updates...
[2026-10-20 13:19:01,665.665 INFO    ] 200
[2026-10-20 13:19:01,667.667 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:19:01,714.714 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:19:01,750.750 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:19:01,752.752 INFO    ] No camera update needed
[2026-10-20 13:19:01,754.754 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:19:01,757.757 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:19:01,762.762 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:19:01,767.767 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:19:03,811.811 INFO    ] ================================================
[2026-10-20 13:19:03,830.830 INFO    ] Launching Daemon at Tue Oct 20 13:19:03 IST 2026
[2026-10-20 13:19:03,841.841 INFO    ] ================================================
[2026-10-20 13:19:04,419.419 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:19:04
[2026-10-20 13:19:05,004.004 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:19:05,262.262 INFO    ] Initializing speech engine...
[2026-10-20 13:19:05,271.271 INFO    ] 2026-10-20 13:19:05
[2026-10-20 13:19:05,572.572 INFO    ] 2026-10-20 13:19:05
[2026-10-20 13:19:05,607.607 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:19:05,814.814 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:19:05,829.829 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:19:05,996.996 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:19:06,004.004 INFO    ] time= 20/10/2026 13:19:05
[2026-10-20 13:19:06,009.009 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:19:06,017.017 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:19:06,114.114 INFO    ] No existing commands found in stream
[2026-10-20 13:19:11,144.144 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:19:11,147.147 INFO    ] Waiting 0.61 seconds before fallback handling...
[2026-10-20 13:19:12,240.240 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 13:19:12,243.243 INFO    ] Checking for system updates...
[2026-10-20 13:19:12,283.283 INFO    ] 200
[2026-10-20 13:19:12,285.285 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:19:12,338.338 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:19:12,341.341 INFO    ] No update needed
[2026-10-20 13:19:12,343.343 INFO    ] Checking for camera pi updates...
[2026-10-20 13:19:12,381.381 INFO    ] 200
[2026-10-20 13:19:12,383.383 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:19:12,430.430 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:19:12,487.487 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:19:12,489.489 INFO    ] No camera update needed
[2026-10-20 13:19:12,492.492 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:19:12,494.494 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:19:12,500.500 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:19:12,504.504 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:19:14,545.545 INFO    ] ================================================
[2026-10-20 13:19:14,868.868 INFO    ] Launching Daemon at Tue Oct 20 13:19:14 IST 2026
[2026-10-20 13:19:14,880.880 INFO    ] ================================================
[2026-10-20 13:19:15,453.453 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:19:15
[2026-10-20 13:19:16,043.043 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:19:16,301.301 INFO    ] Initializing speech engine...
[2026-10-20 13:19:16,307.307 INFO    ] 2026-10-20 13:19:16
[2026-10-20 13:19:16,609.609 INFO    ] 2026-10-20 13:19:16
[2026-10-20 13:19:16,647.647 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:19:16,823.823 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:19:16,853.853 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:19:16,995.995 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:19:17,001.001 INFO    ] time= 20/10/2026 13:19:16
[2026-10-20 13:19:17,022.022 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:19:17,045.045 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:19:17,132.132 INFO    ] No existing commands found in stream
[2026-10-20 13:19:22,163.163 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:19:22,165.165 INFO    ] Waiting 2.52 seconds before fallback handling...
[2026-10-20 13:19:25,215.215 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:19:25,218.218 INFO    ] Checking for system updates...
[2026-10-20 13:19:25,259.259 INFO    ] 200
[2026-10-20 13:19:25,261.261 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:19:25,326.326 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:19:25,328.328 INFO    ] No update needed
[2026-10-20 13:19:25,331.331 INFO    ] Checking for camera pi updates...
[2026-10-20 13:19:25,366.366 INFO    ] 200
[2026-10-20 13:19:25,369.369 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:19:25,410.410 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:19:25,456.456 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:19:25,459.459 INFO    ] No camera update needed
[2026-10-20 13:19:25,462.462 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:19:25,465.465 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:19:25,471.471 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:19:25,477.477 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:19:27,520.520 INFO    ] ================================================
[2026-10-20 13:19:27,537.537 INFO    ] Launching Daemon at Tue Oct 20 13:19:27 IST 2026
[2026-10-20 13:19:27,548.548 INFO    ] ================================================
[2026-10-20 13:19:28,222.222 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:19:28
[2026-10-20 13:19:28,910.910 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:19:29,220.220 INFO    ] Initializing speech engine...
[2026-10-20 13:19:29,235.235 INFO    ] 2026-10-20 13:19:29
[2026-10-20 13:19:29,523.523 INFO    ] 2026-10-20 13:19:29
[2026-10-20 13:19:29,570.570 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:19:29,828.828 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:19:29,847.847 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:19:30,072.072 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:19:30,079.079 INFO    ] time= 20/10/2026 13:19:30
[2026-10-20 13:19:30,101.101 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:19:30,128.128 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:19:30,254.254 INFO    ] No existing commands found in stream
[2026-10-20 13:19:35,285.285 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:19:35,288.288 INFO    ] Waiting 0.40 seconds before fallback handling...
[2026-10-20 13:19:36,244.244 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:19:36,247.247 INFO    ] Checking for system updates...
[2026-10-20 13:19:36,284.284 INFO    ] 200
[2026-10-20 13:19:36,287.287 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:19:36,341.341 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:19:36,344.344 INFO    ] No update needed
[2026-10-20 13:19:36,346.346 INFO    ] Checking for camera pi updates...
[2026-10-20 13:19:36,385.385 INFO    ] 200
[2026-10-20 13:19:36,389.389 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:19:36,431.431 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:19:36,478.478 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:19:36,481.481 INFO    ] No camera update needed
[2026-10-20 13:19:36,484.484 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:19:36,486.486 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:19:36,493.493 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:19:36,499.499 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:19:38,542.542 INFO    ] ================================================
[2026-10-20 13:19:38,558.558 INFO    ] Launching Daemon at Tue Oct 20 13:19:38 IST 2026
[2026-10-20 13:19:38,569.569 INFO    ] ================================================
[2026-10-20 13:19:39,239.239 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:19:39
[2026-10-20 13:19:39,929.929 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:19:40,242.242 INFO    ] Initializing speech engine...
[2026-10-20 13:19:40,250.250 INFO    ] 2026-10-20 13:19:40
[2026-10-20 13:19:40,574.574 INFO    ] 2026-10-20 13:19:40
[2026-10-20 13:19:40,665.665 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:19:40,885.885 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:19:40,891.891 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:19:41,091.091 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:19:41,099.099 INFO    ] time= 20/10/2026 13:19:41
[2026-10-20 13:19:41,122.122 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:19:41,150.150 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:19:41,290.290 INFO    ] No existing commands found in stream
[2026-10-20 13:19:46,315.315 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:19:46,319.319 INFO    ] Waiting 0.73 seconds before fallback handling...
[2026-10-20 13:19:47,560.560 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:19:47,563.563 INFO    ] Checking for system updates...
[2026-10-20 13:19:47,600.600 INFO    ] 200
[2026-10-20 13:19:47,603.603 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:19:47,665.665 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:19:47,668.668 INFO    ] No update needed
[2026-10-20 13:19:47,671.671 INFO    ] Checking for camera pi updates...
[2026-10-20 13:19:47,706.706 INFO    ] 200
[2026-10-20 13:19:47,709.709 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:19:47,756.756 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:19:47,803.803 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:19:47,806.806 INFO    ] No camera update needed
[2026-10-20 13:19:47,809.809 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:19:47,812.812 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:19:47,818.818 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:19:47,824.824 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:19:49,865.865 INFO    ] ================================================
[2026-10-20 13:19:49,880.880 INFO    ] Launching Daemon at Tue Oct 20 13:19:49 IST 2026
[2026-10-20 13:19:49,892.892 INFO    ] ================================================
[2026-10-20 13:19:50,473.473 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:19:50
[2026-10-20 13:19:51,074.074 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:19:51,352.352 INFO    ] Initializing speech engine...
[2026-10-20 13:19:51,359.359 INFO    ] 2026-10-20 13:19:51
[2026-10-20 13:19:51,618.618 INFO    ] 2026-10-20 13:19:51
[2026-10-20 13:19:51,648.648 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:19:51,843.843 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:19:51,896.896 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:19:52,105.105 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:19:52,159.159 INFO    ] time= 20/10/2026 13:19:52
[2026-10-20 13:19:52,166.166 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:19:52,184.184 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:19:52,315.315 INFO    ] No existing commands found in stream
[2026-10-20 13:19:57,338.338 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:19:57,341.341 INFO    ] Waiting 3.77 seconds before fallback handling...
[2026-10-20 13:20:01,709.709 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:20:01,711.711 INFO    ] Checking for system updates...
[2026-10-20 13:20:01,747.747 INFO    ] 200
[2026-10-20 13:20:01,750.750 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:20:01,804.804 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:20:01,807.807 INFO    ] No update needed
[2026-10-20 13:20:01,810.810 INFO    ] Checking for camera pi updates...
[2026-10-20 13:20:01,849.849 INFO    ] 200
[2026-10-20 13:20:01,852.852 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:20:01,893.893 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:20:02,098.098 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:20:02,102.102 INFO    ] No camera update needed
[2026-10-20 13:20:02,106.106 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:20:02,128.128 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:20:02,149.149 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:20:02,172.172 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:20:04,241.241 INFO    ] ================================================
[2026-10-20 13:20:04,269.269 INFO    ] Launching Daemon at Tue Oct 20 13:20:04 IST 2026
[2026-10-20 13:20:04,289.289 INFO    ] ================================================
[2026-10-20 13:20:04,885.885 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:20:04
[2026-10-20 13:20:05,555.555 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:20:05,866.866 INFO    ] Initializing speech engine...
[2026-10-20 13:20:05,878.878 INFO    ] 2026-10-20 13:20:05
[2026-10-20 13:20:06,160.160 INFO    ] 2026-10-20 13:20:06
[2026-10-20 13:20:06,207.207 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:20:06,480.480 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:20:06,504.504 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:20:06,699.699 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:20:06,716.716 INFO    ] time= 20/10/2026 13:20:06
[2026-10-20 13:20:06,737.737 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:20:06,764.764 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:20:06,893.893 INFO    ] No existing commands found in stream
[2026-10-20 13:20:11,924.924 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:20:11,927.927 INFO    ] Waiting 0.06 seconds before fallback handling...
[2026-10-20 13:20:12,470.470 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 13:20:12,473.473 INFO    ] Checking for system updates...
[2026-10-20 13:20:12,510.510 INFO    ] 200
[2026-10-20 13:20:12,513.513 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:20:12,566.566 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:20:12,569.569 INFO    ] No update needed
[2026-10-20 13:20:12,572.572 INFO    ] Checking for camera pi updates...
[2026-10-20 13:20:12,607.607 INFO    ] 200
[2026-10-20 13:20:12,609.609 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:20:12,650.650 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:20:12,707.707 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:20:12,710.710 INFO    ] No camera update needed
[2026-10-20 13:20:12,712.712 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:20:12,714.714 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:20:12,720.720 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:20:12,725.725 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:20:14,765.765 INFO    ] ================================================
[2026-10-20 13:20:14,780.780 INFO    ] Launching Daemon at Tue Oct 20 13:20:14 IST 2026
[2026-10-20 13:20:14,790.790 INFO    ] ================================================
[2026-10-20 13:20:15,447.447 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:20:15
[2026-10-20 13:20:16,064.064 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:20:16,314.314 INFO    ] Initializing speech engine...
[2026-10-20 13:20:16,329.329 INFO    ] 2026-10-20 13:20:16
[2026-10-20 13:20:16,595.595 INFO    ] 2026-10-20 13:20:16
[2026-10-20 13:20:16,637.637 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:20:16,889.889 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:20:16,898.898 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:20:17,037.037 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:20:17,101.101 INFO    ] time= 20/10/2026 13:20:17
[2026-10-20 13:20:17,161.161 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:20:17,173.173 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:20:17,302.302 INFO    ] No existing commands found in stream
[2026-10-20 13:20:22,327.327 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:20:22,330.330 INFO    ] Waiting 1.42 seconds before fallback handling...
[2026-10-20 13:20:24,250.250 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:20:24,253.253 INFO    ] Checking for system updates...
[2026-10-20 13:20:24,289.289 INFO    ] 200
[2026-10-20 13:20:24,291.291 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:20:24,350.350 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:20:24,352.352 INFO    ] No update needed
[2026-10-20 13:20:24,355.355 INFO    ] Checking for camera pi updates...
[2026-10-20 13:20:24,390.390 INFO    ] 200
[2026-10-20 13:20:24,393.393 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:20:24,438.438 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:20:24,498.498 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:20:24,501.501 INFO    ] No camera update needed
[2026-10-20 13:20:24,504.504 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:20:24,507.507 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:20:24,513.513 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:20:24,519.519 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:20:26,561.561 INFO    ] ================================================
[2026-10-20 13:20:26,576.576 INFO    ] Launching Daemon at Tue Oct 20 13:20:26 IST 2026
[2026-10-20 13:20:26,589.589 INFO    ] ================================================
[2026-10-20 13:20:27,238.238 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:20:27
[2026-10-20 13:20:27,907.907 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:20:28,213.213 INFO    ] Initializing speech engine...
[2026-10-20 13:20:28,225.225 INFO    ] 2026-10-20 13:20:28
[2026-10-20 13:20:28,506.506 INFO    ] 2026-10-20 13:20:28
[2026-10-20 13:20:28,551.551 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:20:28,832.832 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:20:28,841.841 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:20:29,039.039 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:20:29,061.061 INFO    ] time= 20/10/2026 13:20:29
[2026-10-20 13:20:29,087.087 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:20:29,096.096 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:20:29,216.216 INFO    ] No existing commands found in stream
[2026-10-20 13:20:34,242.242 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:20:34,245.245 INFO    ] Waiting 2.99 seconds before fallback handling...
[2026-10-20 13:20:37,754.754 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:20:37,757.757 INFO    ] Checking for system updates...
[2026-10-20 13:20:37,797.797 INFO    ] 200
[2026-10-20 13:20:37,801.801 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:20:37,864.864 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:20:37,867.867 INFO    ] No update needed
[2026-10-20 13:20:37,870.870 INFO    ] Checking for camera pi updates...
[2026-10-20 13:20:37,928.928 INFO    ] 200
[2026-10-20 13:20:37,932.932 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:20:37,978.978 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:20:38,036.036 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:20:38,039.039 INFO    ] No camera update needed
[2026-10-20 13:20:38,042.042 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:20:38,044.044 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:20:38,051.051 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:20:38,056.056 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:20:40,096.096 INFO    ] ================================================
[2026-10-20 13:20:40,112.112 INFO    ] Launching Daemon at Tue Oct 20 13:20:40 IST 2026
[2026-10-20 13:20:40,122.122 INFO    ] ================================================
[2026-10-20 13:20:40,777.777 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:20:40
[2026-10-20 13:20:41,452.452 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:20:41,758.758 INFO    ] Initializing speech engine...
[2026-10-20 13:20:41,766.766 INFO    ] 2026-10-20 13:20:41
[2026-10-20 13:20:42,080.080 INFO    ] 2026-10-20 13:20:42
[2026-10-20 13:20:42,168.168 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:20:42,382.382 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:20:42,391.391 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:20:42,585.585 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:20:42,604.604 INFO    ] time= 20/10/2026 13:20:42
[2026-10-20 13:20:42,627.627 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:20:42,640.640 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:20:42,755.755 INFO    ] No existing commands found in stream
[2026-10-20 13:20:47,780.780 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:20:47,783.783 INFO    ] Waiting 3.15 seconds before fallback handling...
[2026-10-20 13:20:51,521.521 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:20:51,524.524 INFO    ] Checking for system updates...
[2026-10-20 13:20:51,561.561 INFO    ] 200
[2026-10-20 13:20:51,564.564 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:20:51,623.623 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:20:51,625.625 INFO    ] No update needed
[2026-10-20 13:20:51,628.628 INFO    ] Checking for camera pi updates...
[2026-10-20 13:20:51,665.665 INFO    ] 200
[2026-10-20 13:20:51,668.668 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:20:51,708.708 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:20:51,753.753 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:20:51,756.756 INFO    ] No camera update needed
[2026-10-20 13:20:51,758.758 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:20:51,761.761 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:20:51,766.766 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:20:51,771.771 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:20:53,811.811 INFO    ] ================================================
[2026-10-20 13:20:53,825.825 INFO    ] Launching Daemon at Tue Oct 20 13:20:53 IST 2026
[2026-10-20 13:20:53,836.836 INFO    ] ================================================
[2026-10-20 13:20:54,405.405 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:20:54
[2026-10-20 13:20:54,991.991 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:20:55,248.248 INFO    ] Initializing speech engine...
[2026-10-20 13:20:55,254.254 INFO    ] 2026-10-20 13:20:55
[2026-10-20 13:20:55,553.553 INFO    ] 2026-10-20 13:20:55
[2026-10-20 13:20:55,590.590 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:20:55,819.819 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:20:55,844.844 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:20:56,046.046 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:20:56,089.089 INFO    ] time= 20/10/2026 13:20:56
[2026-10-20 13:20:56,148.148 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:20:56,199.199 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:20:56,356.356 INFO    ] No existing commands found in stream
[2026-10-20 13:21:01,379.379 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:21:01,384.384 INFO    ] Waiting 3.82 seconds before fallback handling...
[2026-10-20 13:21:05,665.665 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:21:05,668.668 INFO    ] Checking for system updates...
[2026-10-20 13:21:05,704.704 INFO    ] 200
[2026-10-20 13:21:05,706.706 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:21:05,757.757 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:21:05,760.760 INFO    ] No update needed
[2026-10-20 13:21:05,762.762 INFO    ] Checking for camera pi updates...
[2026-10-20 13:21:05,800.800 INFO    ] 200
[2026-10-20 13:21:05,802.802 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:21:05,843.843 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:21:05,891.891 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:21:05,893.893 INFO    ] No camera update needed
[2026-10-20 13:21:05,896.896 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:21:05,898.898 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:21:05,903.903 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:21:05,908.908 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:21:07,949.949 INFO    ] ================================================
[2026-10-20 13:21:07,964.964 INFO    ] Launching Daemon at Tue Oct 20 13:21:07 IST 2026
[2026-10-20 13:21:07,975.975 INFO    ] ================================================
[2026-10-20 13:21:08,630.630 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:21:08
[2026-10-20 13:21:09,310.310 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:21:09,608.608 INFO    ] Initializing speech engine...
[2026-10-20 13:21:09,615.615 INFO    ] 2026-10-20 13:21:09
[2026-10-20 13:21:09,875.875 INFO    ] 2026-10-20 13:21:09
[2026-10-20 13:21:09,906.906 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:21:10,153.153 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:21:10,163.163 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:21:10,360.360 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:21:10,426.426 INFO    ] time= 20/10/2026 13:21:10
[2026-10-20 13:21:10,433.433 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:21:10,450.450 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:21:10,607.607 INFO    ] No existing commands found in stream
[2026-10-20 13:21:15,632.632 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:21:15,635.635 INFO    ] Waiting 1.25 seconds before fallback handling...
[2026-10-20 13:21:17,378.378 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:21:17,380.380 INFO    ] Checking for system updates...
[2026-10-20 13:21:17,416.416 INFO    ] 200
[2026-10-20 13:21:17,418.418 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:21:17,471.471 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:21:17,473.473 INFO    ] No update needed
[2026-10-20 13:21:17,476.476 INFO    ] Checking for camera pi updates...
[2026-10-20 13:21:17,510.510 INFO    ] 200
[2026-10-20 13:21:17,512.512 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:21:17,552.552 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:21:17,587.587 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:21:17,590.590 INFO    ] No camera update needed
[2026-10-20 13:21:17,592.592 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:21:17,594.594 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:21:17,600.600 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:21:17,605.605 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:21:19,644.644 INFO    ] ================================================
[2026-10-20 13:21:19,659.659 INFO    ] Launching Daemon at Tue Oct 20 13:21:19 IST 2026
[2026-10-20 13:21:19,670.670 INFO    ] ================================================
[2026-10-20 13:21:20,256.256 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:21:20
[2026-10-20 13:21:20,918.918 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:21:21,223.223 INFO    ] Initializing speech engine...
[2026-10-20 13:21:21,238.238 INFO    ] 2026-10-20 13:21:21
[2026-10-20 13:21:21,520.520 INFO    ] 2026-10-20 13:21:21
[2026-10-20 13:21:21,566.566 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:21:21,858.858 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:21:21,865.865 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:21:22,061.061 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:21:22,068.068 INFO    ] time= 20/10/2026 13:21:22
[2026-10-20 13:21:22,090.090 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:21:22,119.119 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:21:22,241.241 INFO    ] No existing commands found in stream
[2026-10-20 13:21:27,267.267 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:21:27,270.270 INFO    ] Waiting 2.93 seconds before fallback handling...
[2026-10-20 13:21:30,778.778 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:21:30,781.781 INFO    ] Checking for system updates...
[2026-10-20 13:21:30,822.822 INFO    ] 200
[2026-10-20 13:21:30,825.825 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:21:30,885.885 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:21:30,888.888 INFO    ] No update needed
[2026-10-20 13:21:30,891.891 INFO    ] Checking for camera pi updates...
[2026-10-20 13:21:30,927.927 INFO    ] 200
[2026-10-20 13:21:30,930.930 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:21:30,971.971 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:21:31,028.028 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:21:31,031.031 INFO    ] No camera update needed
[2026-10-20 13:21:31,033.033 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:21:31,036.036 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:21:31,042.042 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:21:31,048.048 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:21:33,090.090 INFO    ] ================================================
[2026-10-20 13:21:33,104.104 INFO    ] Launching Daemon at Tue Oct 20 13:21:33 IST 2026
[2026-10-20 13:21:33,115.115 INFO    ] ================================================
[2026-10-20 13:21:33,696.696 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:21:33
[2026-10-20 13:21:34,296.296 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:21:34,555.555 INFO    ] Initializing speech engine...
[2026-10-20 13:21:34,564.564 INFO    ] 2026-10-20 13:21:34
[2026-10-20 13:21:34,857.857 INFO    ] 2026-10-20 13:21:34
[2026-10-20 13:21:34,896.896 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:21:35,114.114 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:21:35,122.122 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:21:35,340.340 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:21:35,357.357 INFO    ] time= 20/10/2026 13:21:35
[2026-10-20 13:21:35,411.411 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:21:35,461.461 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:21:35,624.624 INFO    ] No existing commands found in stream
[2026-10-20 13:21:40,659.659 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:21:40,662.662 INFO    ] Waiting 3.19 seconds before fallback handling...
[2026-10-20 13:21:44,377.377 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:21:44,380.380 INFO    ] Checking for system updates...
[2026-10-20 13:21:44,417.417 INFO    ] 200
[2026-10-20 13:21:44,420.420 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:21:44,473.473 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:21:44,476.476 INFO    ] No update needed
[2026-10-20 13:21:44,479.479 INFO    ] Checking for camera pi updates...
[2026-10-20 13:21:44,513.513 INFO    ] 200
[2026-10-20 13:21:44,515.515 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:21:44,556.556 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:21:44,601.601 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:21:44,604.604 INFO    ] No camera update needed
[2026-10-20 13:21:44,606.606 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:21:44,609.609 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:21:44,615.615 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:21:44,621.621 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:21:46,660.660 INFO    ] ================================================
[2026-10-20 13:21:46,675.675 INFO    ] Launching Daemon at Tue Oct 20 13:21:46 IST 2026
[2026-10-20 13:21:46,686.686 INFO    ] ================================================
[2026-10-20 13:21:47,263.263 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:21:47
[2026-10-20 13:21:47,850.850 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:21:48,109.109 INFO    ] Initializing speech engine...
[2026-10-20 13:21:48,115.115 INFO    ] 2026-10-20 13:21:48
[2026-10-20 13:21:48,405.405 INFO    ] 2026-10-20 13:21:48
[2026-10-20 13:21:48,444.444 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:21:48,662.662 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:21:48,686.686 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:21:48,889.889 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:21:48,916.916 INFO    ] time= 20/10/2026 13:21:48
[2026-10-20 13:21:48,970.970 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:21:49,030.030 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:21:49,172.172 INFO    ] No existing commands found in stream
[2026-10-20 13:21:54,189.189 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:21:54,192.192 INFO    ] Waiting 3.47 seconds before fallback handling...
[2026-10-20 13:21:58,206.206 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:21:58,208.208 INFO    ] Checking for system updates...
[2026-10-20 13:21:58,244.244 INFO    ] 200
[2026-10-20 13:21:58,246.246 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:21:58,298.298 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:21:58,301.301 INFO    ] No update needed
[2026-10-20 13:21:58,303.303 INFO    ] Checking for camera pi updates...
[2026-10-20 13:21:58,336.336 INFO    ] 200
[2026-10-20 13:21:58,339.339 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:21:58,379.379 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:21:58,433.433 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:21:58,436.436 INFO    ] No camera update needed
[2026-10-20 13:21:58,438.438 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:21:58,440.440 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:21:58,446.446 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:21:58,450.450 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:22:00,491.491 INFO    ] ================================================
[2026-10-20 13:22:00,506.506 INFO    ] Launching Daemon at Tue Oct 20 13:22:00 IST 2026
[2026-10-20 13:22:00,517.517 INFO    ] ================================================
[2026-10-20 13:22:01,098.098 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:22:01
[2026-10-20 13:22:01,826.826 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:22:02,143.143 INFO    ] Initializing speech engine...
[2026-10-20 13:22:02,163.163 INFO    ] 2026-10-20 13:22:02
[2026-10-20 13:22:02,487.487 INFO    ] 2026-10-20 13:22:02
[2026-10-20 13:22:02,527.527 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:22:02,712.712 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:22:02,781.781 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:22:02,966.966 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:22:02,974.974 INFO    ] time= 20/10/2026 13:22:02
[2026-10-20 13:22:02,981.981 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:22:03,018.018 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:22:03,163.163 INFO    ] No existing commands found in stream
[2026-10-20 13:22:08,198.198 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:22:08,201.201 INFO    ] Waiting 3.53 seconds before fallback handling...
[2026-10-20 13:22:12,239.239 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 13:22:12,241.241 INFO    ] Checking for system updates...
[2026-10-20 13:22:12,278.278 INFO    ] 200
[2026-10-20 13:22:12,281.281 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:22:12,343.343 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:22:12,346.346 INFO    ] No update needed
[2026-10-20 13:22:12,349.349 INFO    ] Checking for camera pi updates...
[2026-10-20 13:22:12,384.384 INFO    ] 200
[2026-10-20 13:22:12,387.387 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:22:12,431.431 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:22:12,568.568 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:22:12,571.571 INFO    ] No camera update needed
[2026-10-20 13:22:12,573.573 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:22:12,575.575 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:22:12,581.581 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:22:12,586.586 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:22:14,627.627 INFO    ] ================================================
[2026-10-20 13:22:14,642.642 INFO    ] Launching Daemon at Tue Oct 20 13:22:14 IST 2026
[2026-10-20 13:22:14,653.653 INFO    ] ================================================
[2026-10-20 13:22:15,237.237 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:22:15
[2026-10-20 13:22:15,841.841 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:22:16,118.118 INFO    ] Initializing speech engine...
[2026-10-20 13:22:16,128.128 INFO    ] 2026-10-20 13:22:16
[2026-10-20 13:22:16,386.386 INFO    ] 2026-10-20 13:22:16
[2026-10-20 13:22:16,444.444 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:22:16,671.671 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:22:16,677.677 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:22:16,902.902 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:22:16,935.935 INFO    ] time= 20/10/2026 13:22:16
[2026-10-20 13:22:16,952.952 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:22:16,982.982 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:22:17,098.098 INFO    ] No existing commands found in stream
[2026-10-20 13:22:22,123.123 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:22:22,126.126 INFO    ] Waiting 1.88 seconds before fallback handling...
[2026-10-20 13:22:24,486.486 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 13:22:24,489.489 INFO    ] Checking for system updates...
[2026-10-20 13:22:24,525.525 INFO    ] 200
[2026-10-20 13:22:24,527.527 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:22:24,580.580 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:22:24,582.582 INFO    ] No update needed
[2026-10-20 13:22:24,585.585 INFO    ] Checking for camera pi updates...
[2026-10-20 13:22:24,619.619 INFO    ] 200
[2026-10-20 13:22:24,622.622 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:22:24,662.662 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:22:24,705.705 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:22:24,707.707 INFO    ] No camera update needed
[2026-10-20 13:22:24,710.710 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:22:24,712.712 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:22:24,718.718 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:22:24,723.723 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:22:26,764.764 INFO    ] ================================================
[2026-10-20 13:22:26,779.779 INFO    ] Launching Daemon at Tue Oct 20 13:22:26 IST 2026
[2026-10-20 13:22:26,790.790 INFO    ] ================================================
[2026-10-20 13:22:27,358.358 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:22:27
[2026-10-20 13:22:27,950.950 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:22:28,220.220 INFO    ] Initializing speech engine...
[2026-10-20 13:22:28,229.229 INFO    ] 2026-10-20 13:22:28
[2026-10-20 13:22:28,473.473 INFO    ] 2026-10-20 13:22:28
[2026-10-20 13:22:28,510.510 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:22:28,704.704 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:22:28,731.731 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:22:28,903.903 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:22:28,951.951 INFO    ] time= 20/10/2026 13:22:28
[2026-10-20 13:22:29,005.005 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:22:29,036.036 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:22:29,164.164 INFO    ] No existing commands found in stream
[2026-10-20 13:22:34,192.192 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:22:34,195.195 INFO    ] Waiting 1.99 seconds before fallback handling...
[2026-10-20 13:22:36,642.642 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:22:36,644.644 INFO    ] Checking for system updates...
[2026-10-20 13:22:36,687.687 INFO    ] 200
[2026-10-20 13:22:36,690.690 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:22:36,744.744 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:22:36,747.747 INFO    ] No update needed
[2026-10-20 13:22:36,749.749 INFO    ] Checking for camera pi updates...
[2026-10-20 13:22:36,783.783 INFO    ] 200
[2026-10-20 13:22:36,786.786 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:22:36,833.833 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:22:36,880.880 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:22:36,883.883 INFO    ] No camera update needed
[2026-10-20 13:22:36,885.885 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:22:36,887.887 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:22:36,894.894 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:22:36,899.899 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:22:38,939.939 INFO    ] ================================================
[2026-10-20 13:22:38,954.954 INFO    ] Launching Daemon at Tue Oct 20 13:22:38 IST 2026
[2026-10-20 13:22:38,964.964 INFO    ] ================================================
[2026-10-20 13:22:39,533.533 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:22:39
[2026-10-20 13:22:40,118.118 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:22:40,387.387 INFO    ] Initializing speech engine...
[2026-10-20 13:22:40,396.396 INFO    ] 2026-10-20 13:22:40
[2026-10-20 13:22:40,661.661 INFO    ] 2026-10-20 13:22:40
[2026-10-20 13:22:40,716.716 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:22:40,949.949 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:22:40,954.954 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:22:41,180.180 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:22:41,216.216 INFO    ] time= 20/10/2026 13:22:41
[2026-10-20 13:22:41,235.235 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:22:41,247.247 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:22:41,373.373 INFO    ] No existing commands found in stream
[2026-10-20 13:22:46,412.412 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:22:46,416.416 INFO    ] Waiting 0.67 seconds before fallback handling...
[2026-10-20 13:22:47,594.594 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:22:47,597.597 INFO    ] Checking for system updates...
[2026-10-20 13:22:47,635.635 INFO    ] 200
[2026-10-20 13:22:47,637.637 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:22:47,691.691 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:22:47,693.693 INFO    ] No update needed
[2026-10-20 13:22:47,695.695 INFO    ] Checking for camera pi updates...
[2026-10-20 13:22:47,730.730 INFO    ] 200
[2026-10-20 13:22:47,732.732 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:22:47,773.773 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:22:47,829.829 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:22:47,831.831 INFO    ] No camera update needed
[2026-10-20 13:22:47,834.834 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:22:47,836.836 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:22:47,841.841 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:22:47,846.846 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:22:49,886.886 INFO    ] ================================================
[2026-10-20 13:22:49,901.901 INFO    ] Launching Daemon at Tue Oct 20 13:22:49 IST 2026
[2026-10-20 13:22:49,912.912 INFO    ] ================================================
[2026-10-20 13:22:50,494.494 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:22:50
[2026-10-20 13:22:51,093.093 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:22:51,367.367 INFO    ] Initializing speech engine...
[2026-10-20 13:22:51,377.377 INFO    ] 2026-10-20 13:22:51
[2026-10-20 13:22:51,637.637 INFO    ] 2026-10-20 13:22:51
[2026-10-20 13:22:51,668.668 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:22:51,859.859 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:22:51,917.917 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:22:52,054.054 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:22:52,108.108 INFO    ] time= 20/10/2026 13:22:52
[2026-10-20 13:22:52,157.157 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:22:52,189.189 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:22:52,317.317 INFO    ] No existing commands found in stream
[2026-10-20 13:22:57,347.347 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:22:57,350.350 INFO    ] Waiting 3.98 seconds before fallback handling...
[2026-10-20 13:23:01,941.941 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 13:23:01,944.944 INFO    ] Checking for system updates...
[2026-10-20 13:23:01,988.988 INFO    ] 200
[2026-10-20 13:23:01,991.991 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:23:02,051.051 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:23:02,054.054 INFO    ] No update needed
[2026-10-20 13:23:02,057.057 INFO    ] Checking for camera pi updates...
[2026-10-20 13:23:02,094.094 INFO    ] 200
[2026-10-20 13:23:02,097.097 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:23:02,143.143 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:23:02,185.185 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:23:02,188.188 INFO    ] No camera update needed
[2026-10-20 13:23:02,191.191 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:23:02,196.196 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:23:02,204.204 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:23:02,211.211 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:23:04,257.257 INFO    ] ================================================
[2026-10-20 13:23:04,272.272 INFO    ] Launching Daemon at Tue Oct 20 13:23:04 IST 2026
[2026-10-20 13:23:04,283.283 INFO    ] ================================================
[2026-10-20 13:23:04,942.942 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:23:04
[2026-10-20 13:23:05,613.613 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:23:05,920.920 INFO    ] Initializing speech engine...
[2026-10-20 13:23:05,929.929 INFO    ] 2026-10-20 13:23:05
[2026-10-20 13:23:06,218.218 INFO    ] 2026-10-20 13:23:06
[2026-10-20 13:23:06,265.265 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:23:06,522.522 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:23:06,542.542 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:23:06,765.765 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:23:06,773.773 INFO    ] time= 20/10/2026 13:23:06
[2026-10-20 13:23:06,791.791 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:23:06,809.809 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:23:06,952.952 INFO    ] No existing commands found in stream
[2026-10-20 13:23:11,978.978 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:23:11,981.981 INFO    ] Waiting 1.91 seconds before fallback handling...
[2026-10-20 13:23:16,020.020 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 13:23:16,023.023 INFO    ] Checking for system updates...
[2026-10-20 13:23:16,063.063 INFO    ] 200
[2026-10-20 13:23:16,066.066 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:23:16,126.126 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:23:16,128.128 INFO    ] No update needed
[2026-10-20 13:23:16,131.131 INFO    ] Checking for camera pi updates...
[2026-10-20 13:23:16,169.169 INFO    ] 200
[2026-10-20 13:23:16,172.172 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:23:16,215.215 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:23:16,263.263 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:23:16,266.266 INFO    ] No camera update needed
[2026-10-20 13:23:16,268.268 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:23:16,271.271 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:23:16,277.277 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:23:16,283.283 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:23:18,323.323 INFO    ] ================================================
[2026-10-20 13:23:18,338.338 INFO    ] Launching Daemon at Tue Oct 20 13:23:18 IST 2026
[2026-10-20 13:23:18,349.349 INFO    ] ================================================
[2026-10-20 13:23:18,916.916 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:23:18
[2026-10-20 13:23:19,501.501 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:23:19,808.808 INFO    ] Initializing speech engine...
[2026-10-20 13:23:19,822.822 INFO    ] 2026-10-20 13:23:19
[2026-10-20 13:23:20,109.109 INFO    ] 2026-10-20 13:23:20
[2026-10-20 13:23:20,146.146 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:23:20,540.540 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:23:20,554.554 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:23:20,771.771 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:23:20,787.787 INFO    ] time= 20/10/2026 13:23:20
[2026-10-20 13:23:20,806.806 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:23:20,818.818 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:23:20,952.952 INFO    ] No existing commands found in stream
[2026-10-20 13:23:25,983.983 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:23:25,986.986 INFO    ] Waiting 2.40 seconds before fallback handling...
[2026-10-20 13:23:28,861.861 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:23:28,863.863 INFO    ] Checking for system updates...
[2026-10-20 13:23:28,902.902 INFO    ] 200
[2026-10-20 13:23:28,904.904 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:23:28,957.957 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:23:28,960.960 INFO    ] No update needed
[2026-10-20 13:23:28,962.962 INFO    ] Checking for camera pi updates...
[2026-10-20 13:23:28,995.995 INFO    ] 200
[2026-10-20 13:23:28,998.998 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:23:29,039.039 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:23:29,085.085 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:23:29,087.087 INFO    ] No camera update needed
[2026-10-20 13:23:29,089.089 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:23:29,092.092 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:23:29,097.097 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:23:29,102.102 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:23:31,141.141 INFO    ] ================================================
[2026-10-20 13:23:31,157.157 INFO    ] Launching Daemon at Tue Oct 20 13:23:31 IST 2026
[2026-10-20 13:23:31,167.167 INFO    ] ================================================
[2026-10-20 13:23:31,766.766 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:23:31
[2026-10-20 13:23:32,400.400 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:23:32,675.675 INFO    ] Initializing speech engine...
[2026-10-20 13:23:32,684.684 INFO    ] 2026-10-20 13:23:32
[2026-10-20 13:23:32,998.998 INFO    ] 2026-10-20 13:23:32
[2026-10-20 13:23:33,035.035 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:23:33,288.288 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:23:33,298.298 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:23:33,508.508 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:23:33,559.559 INFO    ] time= 20/10/2026 13:23:33
[2026-10-20 13:23:33,576.576 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:23:33,585.585 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:23:33,714.714 INFO    ] No existing commands found in stream
[2026-10-20 13:23:38,729.729 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:23:38,732.732 INFO    ] Waiting 3.34 seconds before fallback handling...
[2026-10-20 13:23:42,605.605 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 13:23:42,608.608 INFO    ] Checking for system updates...
[2026-10-20 13:23:42,643.643 INFO    ] 200
[2026-10-20 13:23:42,646.646 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:23:42,705.705 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:23:42,707.707 INFO    ] No update needed
[2026-10-20 13:23:42,710.710 INFO    ] Checking for camera pi updates...
[2026-10-20 13:23:42,743.743 INFO    ] 200
[2026-10-20 13:23:42,746.746 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:23:42,786.786 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:23:42,832.832 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:23:42,834.834 INFO    ] No camera update needed
[2026-10-20 13:23:42,837.837 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:23:42,839.839 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:23:42,845.845 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:23:42,850.850 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:23:44,890.890 INFO    ] ================================================
[2026-10-20 13:23:44,905.905 INFO    ] Launching Daemon at Tue Oct 20 13:23:44 IST 2026
[2026-10-20 13:23:44,916.916 INFO    ] ================================================
[2026-10-20 13:23:45,570.570 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:23:45
[2026-10-20 13:23:46,239.239 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:23:46,544.544 INFO    ] Initializing speech engine...
[2026-10-20 13:23:46,558.558 INFO    ] 2026-10-20 13:23:46
[2026-10-20 13:23:46,841.841 INFO    ] 2026-10-20 13:23:46
[2026-10-20 13:23:46,887.887 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:23:47,159.159 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:23:47,183.183 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:23:47,385.385 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:23:47,392.392 INFO    ] time= 20/10/2026 13:23:47
[2026-10-20 13:23:47,414.414 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:23:47,442.442 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:23:47,566.566 INFO    ] No existing commands found in stream
[2026-10-20 13:23:52,597.597 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:23:52,600.600 INFO    ] Waiting 2.27 seconds before fallback handling...
[2026-10-20 13:23:55,391.391 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:23:55,394.394 INFO    ] Checking for system updates...
[2026-10-20 13:23:55,431.431 INFO    ] 200
[2026-10-20 13:23:55,434.434 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:23:55,486.486 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:23:55,489.489 INFO    ] No update needed
[2026-10-20 13:23:55,492.492 INFO    ] Checking for camera pi updates...
[2026-10-20 13:23:55,526.526 INFO    ] 200
[2026-10-20 13:23:55,529.529 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:23:55,570.570 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:23:55,623.623 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:23:55,625.625 INFO    ] No camera update needed
[2026-10-20 13:23:55,628.628 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:23:55,631.631 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:23:55,637.637 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:23:55,643.643 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:23:57,683.683 INFO    ] ================================================
[2026-10-20 13:23:57,698.698 INFO    ] Launching Daemon at Tue Oct 20 13:23:57 IST 2026
[2026-10-20 13:23:57,709.709 INFO    ] ================================================
[2026-10-20 13:23:58,357.357 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:23:58
[2026-10-20 13:23:59,024.024 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:23:59,324.324 INFO    ] Initializing speech engine...
[2026-10-20 13:23:59,332.332 INFO    ] 2026-10-20 13:23:59
[2026-10-20 13:23:59,615.615 INFO    ] 2026-10-20 13:23:59
[2026-10-20 13:23:59,662.662 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:23:59,938.938 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:23:59,951.951 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:24:00,147.147 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:24:00,166.166 INFO    ] time= 20/10/2026 13:24:00
[2026-10-20 13:24:00,176.176 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:24:00,205.205 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:24:00,310.310 INFO    ] No existing commands found in stream
[2026-10-20 13:24:05,339.339 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:24:05,342.342 INFO    ] Waiting 0.49 seconds before fallback handling...
[2026-10-20 13:24:06,378.378 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:24:06,382.382 INFO    ] Checking for system updates...
[2026-10-20 13:24:06,425.425 INFO    ] 200
[2026-10-20 13:24:06,428.428 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:24:06,490.490 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:24:06,493.493 INFO    ] No update needed
[2026-10-20 13:24:06,496.496 INFO    ] Checking for camera pi updates...
[2026-10-20 13:24:06,532.532 INFO    ] 200
[2026-10-20 13:24:06,535.535 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:24:06,578.578 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:24:06,638.638 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:24:06,641.641 INFO    ] No camera update needed
[2026-10-20 13:24:06,644.644 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:24:06,647.647 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:24:06,654.654 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:24:06,661.661 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:24:08,703.703 INFO    ] ================================================
[2026-10-20 13:24:08,718.718 INFO    ] Launching Daemon at Tue Oct 20 13:24:08 IST 2026
[2026-10-20 13:24:08,729.729 INFO    ] ================================================
[2026-10-20 13:24:09,369.369 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:24:09
[2026-10-20 13:24:10,027.027 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:24:10,329.329 INFO    ] Initializing speech engine...
[2026-10-20 13:24:10,342.342 INFO    ] 2026-10-20 13:24:10
[2026-10-20 13:24:10,629.629 INFO    ] 2026-10-20 13:24:10
[2026-10-20 13:24:10,742.742 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:24:10,962.962 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:24:10,967.967 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:24:11,165.165 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:24:11,184.184 INFO    ] time= 20/10/2026 13:24:11
[2026-10-20 13:24:11,193.193 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:24:11,223.223 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:24:11,331.331 INFO    ] No existing commands found in stream
[2026-10-20 13:24:16,355.355 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:24:16,373.373 INFO    ] Waiting 3.92 seconds before fallback handling...
[2026-10-20 13:24:20,792.792 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:24:20,795.795 INFO    ] Checking for system updates...
[2026-10-20 13:24:20,832.832 INFO    ] 200
[2026-10-20 13:24:20,834.834 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:24:20,887.887 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:24:20,890.890 INFO    ] No update needed
[2026-10-20 13:24:20,892.892 INFO    ] Checking for camera pi updates...
[2026-10-20 13:24:20,927.927 INFO    ] 200
[2026-10-20 13:24:20,930.930 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:24:20,970.970 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:24:21,019.019 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:24:21,022.022 INFO    ] No camera update needed
[2026-10-20 13:24:21,024.024 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:24:21,027.027 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:24:21,033.033 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:24:21,039.039 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:24:23,079.079 INFO    ] ================================================
[2026-10-20 13:24:23,093.093 INFO    ] Launching Daemon at Tue Oct 20 13:24:23 IST 2026
[2026-10-20 13:24:23,104.104 INFO    ] ================================================
[2026-10-20 13:24:23,682.682 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:24:23
[2026-10-20 13:24:24,278.278 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:24:24,555.555 INFO    ] Initializing speech engine...
[2026-10-20 13:24:24,564.564 INFO    ] 2026-10-20 13:24:24
[2026-10-20 13:24:24,807.807 INFO    ] 2026-10-20 13:24:24
[2026-10-20 13:24:24,849.849 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:24:25,094.094 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:24:25,103.103 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:24:25,321.321 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:24:25,362.362 INFO    ] time= 20/10/2026 13:24:25
[2026-10-20 13:24:25,368.368 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:24:25,385.385 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:24:25,529.529 INFO    ] No existing commands found in stream
[2026-10-20 13:24:30,560.560 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:24:30,563.563 INFO    ] Waiting 2.14 seconds before fallback handling...
[2026-10-20 13:24:33,220.220 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:24:33,223.223 INFO    ] Checking for system updates...
[2026-10-20 13:24:33,260.260 INFO    ] 200
[2026-10-20 13:24:33,263.263 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:24:33,322.322 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:24:33,325.325 INFO    ] No update needed
[2026-10-20 13:24:33,327.327 INFO    ] Checking for camera pi updates...
[2026-10-20 13:24:33,364.364 INFO    ] 200
[2026-10-20 13:24:33,367.367 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:24:33,408.408 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:24:33,442.442 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:24:33,445.445 INFO    ] No camera update needed
[2026-10-20 13:24:33,447.447 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:24:33,450.450 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:24:33,456.456 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:24:33,462.462 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:24:35,502.502 INFO    ] ================================================
[2026-10-20 13:24:35,517.517 INFO    ] Launching Daemon at Tue Oct 20 13:24:35 IST 2026
[2026-10-20 13:24:35,528.528 INFO    ] ================================================
[2026-10-20 13:24:36,103.103 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:24:36
[2026-10-20 13:24:36,689.689 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:24:36,959.959 INFO    ] Initializing speech engine...
[2026-10-20 13:24:36,969.969 INFO    ] 2026-10-20 13:24:36
[2026-10-20 13:24:37,219.219 INFO    ] 2026-10-20 13:24:37
[2026-10-20 13:24:37,253.253 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:24:37,457.457 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:24:37,506.506 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:24:37,683.683 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:24:37,728.728 INFO    ] time= 20/10/2026 13:24:37
[2026-10-20 13:24:37,777.777 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:24:37,816.816 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:24:37,964.964 INFO    ] No existing commands found in stream
[2026-10-20 13:24:42,976.976 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:24:42,979.979 INFO    ] Waiting 2.85 seconds before fallback handling...
[2026-10-20 13:24:46,309.309 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:24:46,312.312 INFO    ] Checking for system updates...
[2026-10-20 13:24:46,347.347 INFO    ] 200
[2026-10-20 13:24:46,350.350 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:24:46,405.405 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:24:46,408.408 INFO    ] No update needed
[2026-10-20 13:24:46,411.411 INFO    ] Checking for camera pi updates...
[2026-10-20 13:24:46,448.448 INFO    ] 200
[2026-10-20 13:24:46,450.450 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:24:46,490.490 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:24:46,537.537 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:24:46,540.540 INFO    ] No camera update needed
[2026-10-20 13:24:46,542.542 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:24:46,544.544 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:24:46,550.550 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:24:46,554.554 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:24:48,594.594 INFO    ] ================================================
[2026-10-20 13:24:48,610.610 INFO    ] Launching Daemon at Tue Oct 20 13:24:48 IST 2026
[2026-10-20 13:24:48,620.620 INFO    ] ================================================
[2026-10-20 13:24:49,266.266 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:24:49
[2026-10-20 13:24:49,847.847 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:24:50,122.122 INFO    ] Initializing speech engine...
[2026-10-20 13:24:50,128.128 INFO    ] 2026-10-20 13:24:50
[2026-10-20 13:24:50,377.377 INFO    ] 2026-10-20 13:24:50
[2026-10-20 13:24:50,417.417 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:24:50,686.686 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:24:50,700.700 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:24:50,893.893 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:24:50,949.949 INFO    ] time= 20/10/2026 13:24:50
[2026-10-20 13:24:50,974.974 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:24:50,997.997 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:24:51,131.131 INFO    ] No existing commands found in stream
[2026-10-20 13:24:56,145.145 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:24:56,149.149 INFO    ] Waiting 0.78 seconds before fallback handling...
[2026-10-20 13:24:57,412.412 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:24:57,415.415 INFO    ] Checking for system updates...
[2026-10-20 13:24:57,452.452 INFO    ] 200
[2026-10-20 13:24:57,454.454 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:24:57,509.509 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:24:57,511.511 INFO    ] No update needed
[2026-10-20 13:24:57,514.514 INFO    ] Checking for camera pi updates...
[2026-10-20 13:24:57,547.547 INFO    ] 200
[2026-10-20 13:24:57,549.549 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:24:57,589.589 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:24:57,636.636 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:24:57,639.639 INFO    ] No camera update needed
[2026-10-20 13:24:57,641.641 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:24:57,644.644 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:24:57,649.649 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:24:57,654.654 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:24:59,695.695 INFO    ] ================================================
[2026-10-20 13:24:59,710.710 INFO    ] Launching Daemon at Tue Oct 20 13:24:59 IST 2026
[2026-10-20 13:24:59,720.720 INFO    ] ================================================
[2026-10-20 13:25:00,285.285 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:25:00
[2026-10-20 13:25:00,869.869 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:25:01,132.132 INFO    ] Initializing speech engine...
[2026-10-20 13:25:01,145.145 INFO    ] 2026-10-20 13:25:01
[2026-10-20 13:25:01,429.429 INFO    ] 2026-10-20 13:25:01
[2026-10-20 13:25:01,465.465 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:25:01,684.684 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:25:01,688.688 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:25:01,988.988 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:25:01,992.992 INFO    ] time= 20/10/2026 13:25:01
[2026-10-20 13:25:01,997.997 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:25:02,001.001 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:25:02,108.108 INFO    ] No existing commands found in stream
[2026-10-20 13:25:07,119.119 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:25:07,123.123 INFO    ] Waiting 3.04 seconds before fallback handling...
[2026-10-20 13:25:10,672.672 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:25:10,675.675 INFO    ] Checking for system updates...
[2026-10-20 13:25:10,712.712 INFO    ] 200
[2026-10-20 13:25:10,715.715 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:25:10,768.768 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:25:10,771.771 INFO    ] No update needed
[2026-10-20 13:25:10,774.774 INFO    ] Checking for camera pi updates...
[2026-10-20 13:25:10,809.809 INFO    ] 200
[2026-10-20 13:25:10,812.812 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:25:10,854.854 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:25:10,906.906 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:25:10,909.909 INFO    ] No camera update needed
[2026-10-20 13:25:10,912.912 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:25:10,914.914 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:25:10,921.921 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:25:10,927.927 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:25:12,968.968 INFO    ] ================================================
[2026-10-20 13:25:12,983.983 INFO    ] Launching Daemon at Tue Oct 20 13:25:12 IST 2026
[2026-10-20 13:25:12,994.994 INFO    ] ================================================
[2026-10-20 13:25:13,667.667 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:25:13
[2026-10-20 13:25:14,359.359 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:25:14,679.679 INFO    ] Initializing speech engine...
[2026-10-20 13:25:14,691.691 INFO    ] 2026-10-20 13:25:14
[2026-10-20 13:25:14,983.983 INFO    ] 2026-10-20 13:25:14
[2026-10-20 13:25:15,094.094 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:25:15,258.258 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:25:15,280.280 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:25:15,510.510 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:25:15,528.528 INFO    ] time= 20/10/2026 13:25:15
[2026-10-20 13:25:15,547.547 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:25:15,556.556 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:25:15,678.678 INFO    ] No existing commands found in stream
[2026-10-20 13:25:20,699.699 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:25:20,703.703 INFO    ] Waiting 2.09 seconds before fallback handling...
[2026-10-20 13:25:23,301.301 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:25:23,304.304 INFO    ] Checking for system updates...
[2026-10-20 13:25:23,341.341 INFO    ] 200
[2026-10-20 13:25:23,344.344 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:25:23,396.396 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:25:23,399.399 INFO    ] No update needed
[2026-10-20 13:25:23,402.402 INFO    ] Checking for camera pi updates...
[2026-10-20 13:25:23,441.441 INFO    ] 200
[2026-10-20 13:25:23,444.444 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:25:23,490.490 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:25:23,545.545 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:25:23,548.548 INFO    ] No camera update needed
[2026-10-20 13:25:23,551.551 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:25:23,554.554 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:25:23,560.560 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:25:23,566.566 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:25:25,605.605 INFO    ] ================================================
[2026-10-20 13:25:25,621.621 INFO    ] Launching Daemon at Tue Oct 20 13:25:25 IST 2026
[2026-10-20 13:25:25,632.632 INFO    ] ================================================
[2026-10-20 13:25:26,265.265 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:25:26
[2026-10-20 13:25:26,850.850 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:25:27,117.117 INFO    ] Initializing speech engine...
[2026-10-20 13:25:27,127.127 INFO    ] 2026-10-20 13:25:27
[2026-10-20 13:25:27,376.376 INFO    ] 2026-10-20 13:25:27
[2026-10-20 13:25:27,417.417 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:25:27,662.662 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:25:27,671.671 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:25:27,807.807 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:25:27,854.854 INFO    ] time= 20/10/2026 13:25:27
[2026-10-20 13:25:27,908.908 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:25:27,941.941 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:25:28,084.084 INFO    ] No existing commands found in stream
[2026-10-20 13:25:33,100.100 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:25:33,102.102 INFO    ] Waiting 3.67 seconds before fallback handling...
[2026-10-20 13:25:37,270.270 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:25:37,272.272 INFO    ] Checking for system updates...
[2026-10-20 13:25:37,308.308 INFO    ] 200
[2026-10-20 13:25:37,310.310 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:25:37,374.374 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:25:37,377.377 INFO    ] No update needed
[2026-10-20 13:25:37,379.379 INFO    ] Checking for camera pi updates...
[2026-10-20 13:25:37,412.412 INFO    ] 200
[2026-10-20 13:25:37,415.415 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:25:37,454.454 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:25:37,511.511 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:25:37,513.513 INFO    ] No camera update needed
[2026-10-20 13:25:37,516.516 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:25:37,518.518 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:25:37,524.524 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:25:37,528.528 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:25:39,569.569 INFO    ] ================================================
[2026-10-20 13:25:39,585.585 INFO    ] Launching Daemon at Tue Oct 20 13:25:39 IST 2026
[2026-10-20 13:25:39,596.596 INFO    ] ================================================
[2026-10-20 13:25:40,236.236 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:25:40
[2026-10-20 13:25:40,921.921 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:25:41,243.243 INFO    ] Initializing speech engine...
[2026-10-20 13:25:41,250.250 INFO    ] 2026-10-20 13:25:41
[2026-10-20 13:25:41,567.567 INFO    ] 2026-10-20 13:25:41
[2026-10-20 13:25:41,610.610 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:25:41,817.817 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:25:41,827.827 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:25:42,018.018 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:25:42,078.078 INFO    ] time= 20/10/2026 13:25:42
[2026-10-20 13:25:42,090.090 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:25:42,108.108 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:25:42,239.239 INFO    ] No existing commands found in stream
[2026-10-20 13:25:47,258.258 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:25:47,261.261 INFO    ] Waiting 2.33 seconds before fallback handling...
[2026-10-20 13:25:50,131.131 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 13:25:50,133.133 INFO    ] Checking for system updates...
[2026-10-20 13:25:50,175.175 INFO    ] 200
[2026-10-20 13:25:50,178.178 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:25:50,233.233 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:25:50,235.235 INFO    ] No update needed
[2026-10-20 13:25:50,238.238 INFO    ] Checking for camera pi updates...
[2026-10-20 13:25:50,271.271 INFO    ] 200
[2026-10-20 13:25:50,273.273 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:25:50,313.313 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:25:50,367.367 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:25:50,369.369 INFO    ] No camera update needed
[2026-10-20 13:25:50,372.372 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:25:50,374.374 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:25:50,379.379 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:25:50,384.384 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:25:52,423.423 INFO    ] ================================================
[2026-10-20 13:25:52,438.438 INFO    ] Launching Daemon at Tue Oct 20 13:25:52 IST 2026
[2026-10-20 13:25:52,449.449 INFO    ] ================================================
[2026-10-20 13:25:53,109.109 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:25:53
[2026-10-20 13:25:53,786.786 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:25:54,095.095 INFO    ] Initializing speech engine...
[2026-10-20 13:25:54,106.106 INFO    ] 2026-10-20 13:25:54
[2026-10-20 13:25:54,360.360 INFO    ] 2026-10-20 13:25:54
[2026-10-20 13:25:54,391.391 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:25:54,642.642 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:25:54,651.651 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:25:54,789.789 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:25:54,853.853 INFO    ] time= 20/10/2026 13:25:54
[2026-10-20 13:25:54,913.913 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:25:54,926.926 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:25:55,073.073 INFO    ] No existing commands found in stream
[2026-10-20 13:26:00,086.086 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:26:00,089.089 INFO    ] Waiting 0.61 seconds before fallback handling...
[2026-10-20 13:26:01,225.225 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:26:01,228.228 INFO    ] Checking for system updates...
[2026-10-20 13:26:01,263.263 INFO    ] 200
[2026-10-20 13:26:01,265.265 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:26:01,317.317 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:26:01,319.319 INFO    ] No update needed
[2026-10-20 13:26:01,322.322 INFO    ] Checking for camera pi updates...
[2026-10-20 13:26:01,354.354 INFO    ] 200
[2026-10-20 13:26:01,357.357 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:26:01,403.403 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:26:01,435.435 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:26:01,437.437 INFO    ] No camera update needed
[2026-10-20 13:26:01,440.440 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:26:01,442.442 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:26:01,448.448 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:26:01,453.453 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:26:03,503.503 INFO    ] ================================================
[2026-10-20 13:26:03,520.520 INFO    ] Launching Daemon at Tue Oct 20 13:26:03 IST 2026
[2026-10-20 13:26:03,550.550 INFO    ] ================================================
[2026-10-20 13:26:04,236.236 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:26:04
[2026-10-20 13:26:04,923.923 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:26:05,236.236 INFO    ] Initializing speech engine...
[2026-10-20 13:26:05,249.249 INFO    ] 2026-10-20 13:26:05
[2026-10-20 13:26:05,567.567 INFO    ] 2026-10-20 13:26:05
[2026-10-20 13:26:05,650.650 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:26:05,834.834 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:26:05,840.840 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:26:06,061.061 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:26:06,079.079 INFO    ] time= 20/10/2026 13:26:06
[2026-10-20 13:26:06,100.100 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:26:06,126.126 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:26:06,215.215 INFO    ] No existing commands found in stream
[2026-10-20 13:26:11,225.225 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:26:11,229.229 INFO    ] Waiting 1.02 seconds before fallback handling...
[2026-10-20 13:26:12,798.798 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:26:12,801.801 INFO    ] Checking for system updates...
[2026-10-20 13:26:12,842.842 INFO    ] 200
[2026-10-20 13:26:12,845.845 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:26:12,898.898 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:26:12,901.901 INFO    ] No update needed
[2026-10-20 13:26:12,903.903 INFO    ] Checking for camera pi updates...
[2026-10-20 13:26:12,942.942 INFO    ] 200
[2026-10-20 13:26:12,944.944 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:26:12,986.986 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:26:13,042.042 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:26:13,044.044 INFO    ] No camera update needed
[2026-10-20 13:26:13,046.046 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:26:13,049.049 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:26:13,054.054 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:26:13,060.060 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:26:15,100.100 INFO    ] ================================================
[2026-10-20 13:26:15,115.115 INFO    ] Launching Daemon at Tue Oct 20 13:26:15 IST 2026
[2026-10-20 13:26:15,126.126 INFO    ] ================================================
[2026-10-20 13:26:15,691.691 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:26:15
[2026-10-20 13:26:16,285.285 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:26:16,536.536 INFO    ] Initializing speech engine...
[2026-10-20 13:26:16,551.551 INFO    ] 2026-10-20 13:26:16
[2026-10-20 13:26:16,820.820 INFO    ] 2026-10-20 13:26:16
[2026-10-20 13:26:16,855.855 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:26:17,057.057 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:26:17,114.114 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:26:17,260.260 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:26:17,310.310 INFO    ] time= 20/10/2026 13:26:17
[2026-10-20 13:26:17,369.369 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:26:17,394.394 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:26:17,547.547 INFO    ] No existing commands found in stream
[2026-10-20 13:26:22,570.570 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:26:22,573.573 INFO    ] Waiting 1.46 seconds before fallback handling...
[2026-10-20 13:26:24,500.500 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 13:26:24,503.503 INFO    ] Checking for system updates...
[2026-10-20 13:26:24,539.539 INFO    ] 200
[2026-10-20 13:26:24,541.541 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:26:24,595.595 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:26:24,597.597 INFO    ] No update needed
[2026-10-20 13:26:24,599.599 INFO    ] Checking for camera pi updates...
[2026-10-20 13:26:24,633.633 INFO    ] 200
[2026-10-20 13:26:24,635.635 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:26:24,680.680 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:26:24,732.732 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:26:24,735.735 INFO    ] No camera update needed
[2026-10-20 13:26:24,737.737 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:26:24,739.739 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:26:24,745.745 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:26:24,750.750 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:26:26,790.790 INFO    ] ================================================
[2026-10-20 13:26:26,805.805 INFO    ] Launching Daemon at Tue Oct 20 13:26:26 IST 2026
[2026-10-20 13:26:26,815.815 INFO    ] ================================================
[2026-10-20 13:26:27,485.485 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:26:27
[2026-10-20 13:26:28,176.176 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:26:28,491.491 INFO    ] Initializing speech engine...
[2026-10-20 13:26:28,503.503 INFO    ] 2026-10-20 13:26:28
[2026-10-20 13:26:28,778.778 INFO    ] 2026-10-20 13:26:28
[2026-10-20 13:26:28,834.834 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:26:29,112.112 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:26:29,136.136 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:26:29,335.335 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:26:29,346.346 INFO    ] time= 20/10/2026 13:26:29
[2026-10-20 13:26:29,374.374 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:26:29,400.400 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:26:29,531.531 INFO    ] No existing commands found in stream
[2026-10-20 13:26:34,567.567 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:26:34,571.571 INFO    ] Waiting 0.05 seconds before fallback handling...
[2026-10-20 13:26:35,133.133 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 13:26:35,136.136 INFO    ] Checking for system updates...
[2026-10-20 13:26:35,172.172 INFO    ] 200
[2026-10-20 13:26:35,175.175 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:26:35,227.227 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:26:35,229.229 INFO    ] No update needed
[2026-10-20 13:26:35,232.232 INFO    ] Checking for camera pi updates...
[2026-10-20 13:26:35,270.270 INFO    ] 200
[2026-10-20 13:26:35,272.272 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:26:35,313.313 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:26:35,465.465 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:26:35,467.467 INFO    ] No camera update needed
[2026-10-20 13:26:35,470.470 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:26:35,472.472 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:26:35,477.477 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:26:35,482.482 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:26:37,523.523 INFO    ] ================================================
[2026-10-20 13:26:37,538.538 INFO    ] Launching Daemon at Tue Oct 20 13:26:37 IST 2026
[2026-10-20 13:26:37,549.549 INFO    ] ================================================
[2026-10-20 13:26:38,120.120 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:26:38
[2026-10-20 13:26:38,710.710 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:26:38,959.959 INFO    ] Initializing speech engine...
[2026-10-20 13:26:38,974.974 INFO    ] 2026-10-20 13:26:38
[2026-10-20 13:26:39,240.240 INFO    ] 2026-10-20 13:26:39
[2026-10-20 13:26:39,276.276 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:26:39,534.534 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:26:39,543.543 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:26:39,686.686 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:26:39,745.745 INFO    ] time= 20/10/2026 13:26:39
[2026-10-20 13:26:39,800.800 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:26:39,815.815 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:26:39,967.967 INFO    ] No existing commands found in stream
[2026-10-20 13:26:44,982.982 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:26:44,984.984 INFO    ] Waiting 1.28 seconds before fallback handling...
[2026-10-20 13:26:46,799.799 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 13:26:46,806.806 INFO    ] Checking for system updates...
[2026-10-20 13:26:46,850.850 INFO    ] 200
[2026-10-20 13:26:46,853.853 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:26:46,914.914 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:26:46,917.917 INFO    ] No update needed
[2026-10-20 13:26:46,920.920 INFO    ] Checking for camera pi updates...
[2026-10-20 13:26:46,962.962 INFO    ] 200
[2026-10-20 13:26:46,965.965 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:26:47,014.014 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:26:47,073.073 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:26:47,076.076 INFO    ] No camera update needed
[2026-10-20 13:26:47,079.079 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:26:47,082.082 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:26:47,088.088 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:26:47,096.096 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:26:49,136.136 INFO    ] ================================================
[2026-10-20 13:26:49,151.151 INFO    ] Launching Daemon at Tue Oct 20 13:26:49 IST 2026
[2026-10-20 13:26:49,162.162 INFO    ] ================================================
[2026-10-20 13:26:49,751.751 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:26:49
[2026-10-20 13:26:50,349.349 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:26:50,621.621 INFO    ] Initializing speech engine...
[2026-10-20 13:26:50,630.630 INFO    ] 2026-10-20 13:26:50
[2026-10-20 13:26:50,877.877 INFO    ] 2026-10-20 13:26:50
[2026-10-20 13:26:50,913.913 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:26:51,164.164 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:26:51,173.173 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:26:51,411.411 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:26:51,432.432 INFO    ] time= 20/10/2026 13:26:51
[2026-10-20 13:26:51,447.447 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:26:51,456.456 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:26:51,586.586 INFO    ] No existing commands found in stream
[2026-10-20 13:26:56,604.604 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:26:56,607.607 INFO    ] Waiting 0.51 seconds before fallback handling...
[2026-10-20 13:26:57,665.665 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 13:26:57,668.668 INFO    ] Checking for system updates...
[2026-10-20 13:26:57,703.703 INFO    ] 200
[2026-10-20 13:26:57,705.705 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:26:57,758.758 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:26:57,761.761 INFO    ] No update needed
[2026-10-20 13:26:57,764.764 INFO    ] Checking for camera pi updates...
[2026-10-20 13:26:57,797.797 INFO    ] 200
[2026-10-20 13:26:57,800.800 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:26:57,840.840 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:26:57,889.889 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:26:57,892.892 INFO    ] No camera update needed
[2026-10-20 13:26:57,894.894 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:26:57,897.897 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:26:57,902.902 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:26:57,907.907 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:26:59,950.950 INFO    ] ================================================
[2026-10-20 13:26:59,965.965 INFO    ] Launching Daemon at Tue Oct 20 13:26:59 IST 2026
[2026-10-20 13:26:59,975.975 INFO    ] ================================================
[2026-10-20 13:27:00,556.556 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:27:00
[2026-10-20 13:27:01,156.156 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:27:01,429.429 INFO    ] Initializing speech engine...
[2026-10-20 13:27:01,439.439 INFO    ] 2026-10-20 13:27:01
[2026-10-20 13:27:01,689.689 INFO    ] 2026-10-20 13:27:01
[2026-10-20 13:27:01,738.738 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:27:02,066.066 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:27:02,120.120 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:27:02,271.271 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:27:02,274.274 INFO    ] time= 20/10/2026 13:27:02
[2026-10-20 13:27:02,277.277 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:27:02,300.300 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:27:02,459.459 INFO    ] No existing commands found in stream
[2026-10-20 13:27:07,493.493 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:27:07,496.496 INFO    ] Waiting 2.16 seconds before fallback handling...
[2026-10-20 13:27:10,161.161 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 13:27:10,164.164 INFO    ] Checking for system updates...
[2026-10-20 13:27:10,199.199 INFO    ] 200
[2026-10-20 13:27:10,201.201 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:27:10,260.260 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:27:10,263.263 INFO    ] No update needed
[2026-10-20 13:27:10,265.265 INFO    ] Checking for camera pi updates...
[2026-10-20 13:27:10,299.299 INFO    ] 200
[2026-10-20 13:27:10,301.301 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:27:10,345.345 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:27:10,402.402 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:27:10,404.404 INFO    ] No camera update needed
[2026-10-20 13:27:10,407.407 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:27:10,409.409 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:27:10,414.414 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:27:10,419.419 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:27:12,460.460 INFO    ] ================================================
[2026-10-20 13:27:12,475.475 INFO    ] Launching Daemon at Tue Oct 20 13:27:12 IST 2026
[2026-10-20 13:27:12,486.486 INFO    ] ================================================
[2026-10-20 13:27:13,066.066 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:27:13
[2026-10-20 13:27:13,666.666 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:27:13,936.936 INFO    ] Initializing speech engine...
[2026-10-20 13:27:13,949.949 INFO    ] 2026-10-20 13:27:13
[2026-10-20 13:27:14,204.204 INFO    ] 2026-10-20 13:27:14
[2026-10-20 13:27:14,240.240 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:27:14,486.486 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:27:14,496.496 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:27:14,635.635 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:27:14,705.705 INFO    ] time= 20/10/2026 13:27:14
[2026-10-20 13:27:14,758.758 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:27:14,764.764 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:27:14,910.910 INFO    ] No existing commands found in stream
[2026-10-20 13:27:19,929.929 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:27:19,932.932 INFO    ] Waiting 0.13 seconds before fallback handling...
[2026-10-20 13:27:20,564.564 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 13:27:20,567.567 INFO    ] Checking for system updates...
[2026-10-20 13:27:20,602.602 INFO    ] 200
[2026-10-20 13:27:20,604.604 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:27:20,664.664 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:27:20,666.666 INFO    ] No update needed
[2026-10-20 13:27:20,669.669 INFO    ] Checking for camera pi updates...
[2026-10-20 13:27:20,702.702 INFO    ] 200
[2026-10-20 13:27:20,705.705 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:27:20,750.750 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:27:20,796.796 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:27:20,798.798 INFO    ] No camera update needed
[2026-10-20 13:27:20,801.801 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:27:20,803.803 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:27:20,808.808 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:27:20,813.813 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:27:22,851.851 INFO    ] ================================================
[2026-10-20 13:27:22,866.866 INFO    ] Launching Daemon at Tue Oct 20 13:27:22 IST 2026
[2026-10-20 13:27:22,877.877 INFO    ] ================================================
[2026-10-20 13:27:23,538.538 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:27:23
[2026-10-20 13:27:24,217.217 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:27:24,513.513 INFO    ] Initializing speech engine...
[2026-10-20 13:27:24,525.525 INFO    ] 2026-10-20 13:27:24
[2026-10-20 13:27:24,778.778 INFO    ] 2026-10-20 13:27:24
[2026-10-20 13:27:24,832.832 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:27:25,057.057 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:27:25,062.062 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:27:25,315.315 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:27:25,321.321 INFO    ] time= 20/10/2026 13:27:25
[2026-10-20 13:27:25,339.339 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:27:25,367.367 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:27:25,475.475 INFO    ] No existing commands found in stream
[2026-10-20 13:27:30,499.499 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:27:30,502.502 INFO    ] Waiting 2.50 seconds before fallback handling...
[2026-10-20 13:27:33,490.490 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 13:27:33,492.492 INFO    ] Checking for system updates...
[2026-10-20 13:27:33,528.528 INFO    ] 200
[2026-10-20 13:27:33,531.531 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:27:33,582.582 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:27:33,585.585 INFO    ] No update needed
[2026-10-20 13:27:33,587.587 INFO    ] Checking for camera pi updates...
[2026-10-20 13:27:33,621.621 INFO    ] 200
[2026-10-20 13:27:33,623.623 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:27:33,664.664 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:27:33,718.718 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:27:33,721.721 INFO    ] No camera update needed
[2026-10-20 13:27:33,723.723 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:27:33,725.725 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:27:33,731.731 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:27:33,736.736 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:27:35,778.778 INFO    ] ================================================
[2026-10-20 13:27:35,793.793 INFO    ] Launching Daemon at Tue Oct 20 13:27:35 IST 2026
[2026-10-20 13:27:35,804.804 INFO    ] ================================================
[2026-10-20 13:27:36,456.456 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:27:36
[2026-10-20 13:27:37,130.130 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:27:37,432.432 INFO    ] Initializing speech engine...
[2026-10-20 13:27:37,444.444 INFO    ] 2026-10-20 13:27:37
[2026-10-20 13:27:37,713.713 INFO    ] 2026-10-20 13:27:37
[2026-10-20 13:27:37,770.770 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:27:37,994.994 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:27:38,001.001 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:27:38,169.169 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:27:38,219.219 INFO    ] time= 20/10/2026 13:27:38
[2026-10-20 13:27:38,261.261 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:27:38,268.268 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:27:38,423.423 INFO    ] No existing commands found in stream
[2026-10-20 13:27:43,450.450 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:27:43,453.453 INFO    ] Waiting 1.76 seconds before fallback handling...
[2026-10-20 13:27:45,746.746 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:27:45,749.749 INFO    ] Checking for system updates...
[2026-10-20 13:27:45,785.785 INFO    ] 200
[2026-10-20 13:27:45,787.787 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:27:45,846.846 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:27:45,848.848 INFO    ] No update needed
[2026-10-20 13:27:45,851.851 INFO    ] Checking for camera pi updates...
[2026-10-20 13:27:45,887.887 INFO    ] 200
[2026-10-20 13:27:45,890.890 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:27:45,931.931 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:27:45,980.980 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:27:45,982.982 INFO    ] No camera update needed
[2026-10-20 13:27:45,984.984 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:27:45,987.987 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:27:45,992.992 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:27:45,997.997 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:27:48,036.036 INFO    ] ================================================
[2026-10-20 13:27:48,052.052 INFO    ] Launching Daemon at Tue Oct 20 13:27:48 IST 2026
[2026-10-20 13:27:48,063.063 INFO    ] ================================================
[2026-10-20 13:27:48,629.629 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:27:48
[2026-10-20 13:27:49,211.211 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:27:49,461.461 INFO    ] Initializing speech engine...
[2026-10-20 13:27:49,473.473 INFO    ] 2026-10-20 13:27:49
[2026-10-20 13:27:49,754.754 INFO    ] 2026-10-20 13:27:49
[2026-10-20 13:27:49,790.790 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:27:50,026.026 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:27:50,081.081 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:27:50,251.251 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:27:50,316.316 INFO    ] time= 20/10/2026 13:27:50
[2026-10-20 13:27:50,360.360 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:27:50,386.386 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:27:50,541.541 INFO    ] No existing commands found in stream
[2026-10-20 13:27:55,565.565 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:27:55,567.567 INFO    ] Waiting 3.52 seconds before fallback handling...
[2026-10-20 13:27:59,604.604 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:27:59,606.606 INFO    ] Checking for system updates...
[2026-10-20 13:27:59,641.641 INFO    ] 200
[2026-10-20 13:27:59,644.644 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:27:59,696.696 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:27:59,699.699 INFO    ] No update needed
[2026-10-20 13:27:59,701.701 INFO    ] Checking for camera pi updates...
[2026-10-20 13:27:59,738.738 INFO    ] 200
[2026-10-20 13:27:59,740.740 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:27:59,788.788 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:27:59,836.836 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:27:59,838.838 INFO    ] No camera update needed
[2026-10-20 13:27:59,841.841 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:27:59,843.843 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:27:59,848.848 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:27:59,853.853 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:28:01,896.896 INFO    ] ================================================
[2026-10-20 13:28:01,930.930 INFO    ] Launching Daemon at Tue Oct 20 13:28:01 IST 2026
[2026-10-20 13:28:01,967.967 INFO    ] ================================================
[2026-10-20 13:28:02,665.665 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:28:02
[2026-10-20 13:28:03,317.317 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:28:03,664.664 INFO    ] Initializing speech engine...
[2026-10-20 13:28:03,673.673 INFO    ] 2026-10-20 13:28:03
[2026-10-20 13:28:03,940.940 INFO    ] 2026-10-20 13:28:03
[2026-10-20 13:28:03,974.974 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:28:04,183.183 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:28:04,195.195 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:28:04,403.403 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:28:04,435.435 INFO    ] time= 20/10/2026 13:28:04
[2026-10-20 13:28:04,495.495 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:28:04,537.537 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:28:04,682.682 INFO    ] No existing commands found in stream
[2026-10-20 13:28:09,698.698 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:28:09,701.701 INFO    ] Waiting 0.18 seconds before fallback handling...
[2026-10-20 13:28:10,359.359 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 13:28:10,362.362 INFO    ] Checking for system updates...
[2026-10-20 13:28:10,402.402 INFO    ] 200
[2026-10-20 13:28:10,405.405 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:28:10,465.465 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:28:10,467.467 INFO    ] No update needed
[2026-10-20 13:28:10,470.470 INFO    ] Checking for camera pi updates...
[2026-10-20 13:28:10,504.504 INFO    ] 200
[2026-10-20 13:28:10,506.506 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:28:10,547.547 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:28:10,592.592 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:28:10,595.595 INFO    ] No camera update needed
[2026-10-20 13:28:10,597.597 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:28:10,600.600 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:28:10,605.605 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:28:10,610.610 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:28:12,650.650 INFO    ] ================================================
[2026-10-20 13:28:12,665.665 INFO    ] Launching Daemon at Tue Oct 20 13:28:12 IST 2026
[2026-10-20 13:28:12,675.675 INFO    ] ================================================
[2026-10-20 13:28:13,259.259 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:28:13
[2026-10-20 13:28:13,860.860 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:28:14,133.133 INFO    ] Initializing speech engine...
[2026-10-20 13:28:14,141.141 INFO    ] 2026-10-20 13:28:14
[2026-10-20 13:28:14,391.391 INFO    ] 2026-10-20 13:28:14
[2026-10-20 13:28:14,427.427 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:28:14,684.684 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:28:14,689.689 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:28:14,877.877 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:28:14,932.932 INFO    ] time= 20/10/2026 13:28:14
[2026-10-20 13:28:14,954.954 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:28:14,968.968 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:28:15,103.103 INFO    ] No existing commands found in stream
[2026-10-20 13:28:20,117.117 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:28:20,120.120 INFO    ] Waiting 3.43 seconds before fallback handling...
[2026-10-20 13:28:24,073.073 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:28:24,075.075 INFO    ] Checking for system updates...
[2026-10-20 13:28:24,115.115 INFO    ] 200
[2026-10-20 13:28:24,118.118 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:28:24,186.186 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:28:24,188.188 INFO    ] No update needed
[2026-10-20 13:28:24,191.191 INFO    ] Checking for camera pi updates...
[2026-10-20 13:28:24,225.225 INFO    ] 200
[2026-10-20 13:28:24,227.227 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:28:24,277.277 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:28:24,330.330 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:28:24,333.333 INFO    ] No camera update needed
[2026-10-20 13:28:24,335.335 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:28:24,337.337 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:28:24,343.343 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:28:24,348.348 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:28:26,388.388 INFO    ] ================================================
[2026-10-20 13:28:26,402.402 INFO    ] Launching Daemon at Tue Oct 20 13:28:26 IST 2026
[2026-10-20 13:28:26,413.413 INFO    ] ================================================
[2026-10-20 13:28:26,981.981 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:28:26
[2026-10-20 13:28:27,567.567 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:28:27,818.818 INFO    ] Initializing speech engine...
[2026-10-20 13:28:27,831.831 INFO    ] 2026-10-20 13:28:27
[2026-10-20 13:28:28,095.095 INFO    ] 2026-10-20 13:28:28
[2026-10-20 13:28:28,131.131 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:28:28,392.392 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:28:28,403.403 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:28:28,616.616 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:28:28,669.669 INFO    ] time= 20/10/2026 13:28:28
[2026-10-20 13:28:28,676.676 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:28:28,697.697 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:28:28,854.854 INFO    ] No existing commands found in stream
[2026-10-20 13:28:33,891.891 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:28:33,894.894 INFO    ] Waiting 3.52 seconds before fallback handling...
[2026-10-20 13:28:37,987.987 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 13:28:37,991.991 INFO    ] Checking for system updates...
[2026-10-20 13:28:38,028.028 INFO    ] 200
[2026-10-20 13:28:38,031.031 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:28:38,091.091 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:28:38,094.094 INFO    ] No update needed
[2026-10-20 13:28:38,096.096 INFO    ] Checking for camera pi updates...
[2026-10-20 13:28:38,134.134 INFO    ] 200
[2026-10-20 13:28:38,136.136 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:28:38,177.177 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:28:38,334.334 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:28:38,337.337 INFO    ] No camera update needed
[2026-10-20 13:28:38,340.340 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:28:38,343.343 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:28:38,350.350 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:28:38,355.355 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:28:40,395.395 INFO    ] ================================================
[2026-10-20 13:28:40,411.411 INFO    ] Launching Daemon at Tue Oct 20 13:28:40 IST 2026
[2026-10-20 13:28:40,421.421 INFO    ] ================================================
[2026-10-20 13:28:41,018.018 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:28:41
[2026-10-20 13:28:41,716.716 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:28:42,031.031 INFO    ] Initializing speech engine...
[2026-10-20 13:28:42,043.043 INFO    ] 2026-10-20 13:28:42
[2026-10-20 13:28:42,342.342 INFO    ] 2026-10-20 13:28:42
[2026-10-20 13:28:42,454.454 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:28:42,670.670 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:28:42,679.679 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:28:42,861.861 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:28:42,882.882 INFO    ] time= 20/10/2026 13:28:42
[2026-10-20 13:28:42,900.900 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:28:42,911.911 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:28:43,061.061 INFO    ] No existing commands found in stream
[2026-10-20 13:28:48,094.094 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:28:48,097.097 INFO    ] Waiting 3.80 seconds before fallback handling...
[2026-10-20 13:28:52,505.505 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 13:28:52,508.508 INFO    ] Checking for system updates...
[2026-10-20 13:28:52,550.550 INFO    ] 200
[2026-10-20 13:28:52,553.553 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:28:52,614.614 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:28:52,617.617 INFO    ] No update needed
[2026-10-20 13:28:52,620.620 INFO    ] Checking for camera pi updates...
[2026-10-20 13:28:52,659.659 INFO    ] 200
[2026-10-20 13:28:52,662.662 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:28:52,710.710 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:28:52,759.759 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:28:52,762.762 INFO    ] No camera update needed
[2026-10-20 13:28:52,764.764 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:28:52,767.767 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:28:52,773.773 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:28:52,779.779 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:28:54,820.820 INFO    ] ================================================
[2026-10-20 13:28:54,834.834 INFO    ] Launching Daemon at Tue Oct 20 13:28:54 IST 2026
[2026-10-20 13:28:54,845.845 INFO    ] ================================================
[2026-10-20 13:28:55,507.507 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:28:55
[2026-10-20 13:28:56,127.127 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:28:56,438.438 INFO    ] Initializing speech engine...
[2026-10-20 13:28:56,449.449 INFO    ] 2026-10-20 13:28:56
[2026-10-20 13:28:56,765.765 INFO    ] 2026-10-20 13:28:56
[2026-10-20 13:28:56,852.852 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:28:57,064.064 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:28:57,074.074 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:28:57,270.270 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:28:57,290.290 INFO    ] time= 20/10/2026 13:28:57
[2026-10-20 13:28:57,307.307 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:28:57,326.326 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:28:57,457.457 INFO    ] No existing commands found in stream
[2026-10-20 13:29:02,482.482 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:29:02,486.486 INFO    ] Waiting 0.53 seconds before fallback handling...
[2026-10-20 13:29:03,576.576 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:29:03,579.579 INFO    ] Checking for system updates...
[2026-10-20 13:29:03,620.620 INFO    ] 200
[2026-10-20 13:29:03,622.622 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:29:03,682.682 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:29:03,684.684 INFO    ] No update needed
[2026-10-20 13:29:03,686.686 INFO    ] Checking for camera pi updates...
[2026-10-20 13:29:03,724.724 INFO    ] 200
[2026-10-20 13:29:03,727.727 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:29:03,767.767 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:29:03,815.815 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:29:03,818.818 INFO    ] No camera update needed
[2026-10-20 13:29:03,820.820 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:29:03,823.823 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:29:03,828.828 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:29:03,835.835 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:29:05,876.876 INFO    ] ================================================
[2026-10-20 13:29:05,893.893 INFO    ] Launching Daemon at Tue Oct 20 13:29:05 IST 2026
[2026-10-20 13:29:05,904.904 INFO    ] ================================================
[2026-10-20 13:29:06,530.530 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:29:06
[2026-10-20 13:29:07,127.127 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:29:07,399.399 INFO    ] Initializing speech engine...
[2026-10-20 13:29:07,409.409 INFO    ] 2026-10-20 13:29:07
[2026-10-20 13:29:07,670.670 INFO    ] 2026-10-20 13:29:07
[2026-10-20 13:29:07,700.700 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:29:07,943.943 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:29:07,952.952 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:29:08,147.147 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:29:08,207.207 INFO    ] time= 20/10/2026 13:29:08
[2026-10-20 13:29:08,215.215 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:29:08,232.232 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:29:08,364.364 INFO    ] No existing commands found in stream
[2026-10-20 13:29:13,386.386 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:29:13,396.396 INFO    ] Waiting 2.83 seconds before fallback handling...
[2026-10-20 13:29:16,745.745 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:29:16,747.747 INFO    ] Checking for system updates...
[2026-10-20 13:29:16,787.787 INFO    ] 200
[2026-10-20 13:29:16,790.790 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:29:16,850.850 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:29:16,852.852 INFO    ] No update needed
[2026-10-20 13:29:16,855.855 INFO    ] Checking for camera pi updates...
[2026-10-20 13:29:16,889.889 INFO    ] 200
[2026-10-20 13:29:16,892.892 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:29:16,933.933 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:29:16,981.981 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:29:16,984.984 INFO    ] No camera update needed
[2026-10-20 13:29:16,987.987 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:29:16,990.990 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:29:16,996.996 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:29:17,002.002 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:29:19,044.044 INFO    ] ================================================
[2026-10-20 13:29:19,060.060 INFO    ] Launching Daemon at Tue Oct 20 13:29:19 IST 2026
[2026-10-20 13:29:19,070.070 INFO    ] ================================================
[2026-10-20 13:29:19,645.645 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:29:19
[2026-10-20 13:29:20,244.244 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:29:20,506.506 INFO    ] Initializing speech engine...
[2026-10-20 13:29:20,520.520 INFO    ] 2026-10-20 13:29:20
[2026-10-20 13:29:20,774.774 INFO    ] 2026-10-20 13:29:20
[2026-10-20 13:29:20,810.810 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:29:21,061.061 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:29:21,070.070 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:29:21,284.284 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:29:21,328.328 INFO    ] time= 20/10/2026 13:29:21
[2026-10-20 13:29:21,344.344 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:29:21,355.355 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:29:21,495.495 INFO    ] No existing commands found in stream
[2026-10-20 13:29:26,527.527 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:29:26,530.530 INFO    ] Waiting 3.39 seconds before fallback handling...
[2026-10-20 13:29:30,470.470 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 13:29:30,473.473 INFO    ] Checking for system updates...
[2026-10-20 13:29:30,510.510 INFO    ] 200
[2026-10-20 13:29:30,513.513 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:29:30,566.566 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:29:30,569.569 INFO    ] No update needed
[2026-10-20 13:29:30,571.571 INFO    ] Checking for camera pi updates...
[2026-10-20 13:29:30,606.606 INFO    ] 200
[2026-10-20 13:29:30,609.609 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:29:30,655.655 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:29:30,712.712 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:29:30,715.715 INFO    ] No camera update needed
[2026-10-20 13:29:30,717.717 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:29:30,720.720 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:29:30,726.726 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:29:30,732.732 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:29:32,777.777 INFO    ] ================================================
[2026-10-20 13:29:32,793.793 INFO    ] Launching Daemon at Tue Oct 20 13:29:32 IST 2026
[2026-10-20 13:29:32,804.804 INFO    ] ================================================
[2026-10-20 13:29:33,464.464 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:29:33
[2026-10-20 13:29:34,145.145 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:29:34,449.449 INFO    ] Initializing speech engine...
[2026-10-20 13:29:34,455.455 INFO    ] 2026-10-20 13:29:34
[2026-10-20 13:29:34,733.733 INFO    ] 2026-10-20 13:29:34
[2026-10-20 13:29:34,789.789 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:29:35,040.040 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:29:35,074.074 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:29:35,274.274 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:29:35,282.282 INFO    ] time= 20/10/2026 13:29:35
[2026-10-20 13:29:35,304.304 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:29:35,331.331 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:29:35,455.455 INFO    ] No existing commands found in stream
[2026-10-20 13:29:40,492.492 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:29:40,495.495 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-10-20 13:29:43,665.665 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 13:29:43,668.668 INFO    ] Checking for system updates...
[2026-10-20 13:29:43,709.709 INFO    ] 200
[2026-10-20 13:29:43,712.712 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:29:43,776.776 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:29:43,779.779 INFO    ] No update needed
[2026-10-20 13:29:43,782.782 INFO    ] Checking for camera pi updates...
[2026-10-20 13:29:43,821.821 INFO    ] 200
[2026-10-20 13:29:43,823.823 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:29:43,876.876 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:29:43,926.926 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:29:43,930.930 INFO    ] No camera update needed
[2026-10-20 13:29:43,932.932 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:29:43,935.935 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:29:43,942.942 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:29:43,947.947 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:29:45,989.989 INFO    ] ================================================
[2026-10-20 13:29:46,003.003 INFO    ] Launching Daemon at Tue Oct 20 13:29:45 IST 2026
[2026-10-20 13:29:46,014.014 INFO    ] ================================================
[2026-10-20 13:29:46,579.579 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:29:46
[2026-10-20 13:29:47,164.164 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:29:47,412.412 INFO    ] Initializing speech engine...
[2026-10-20 13:29:47,426.426 INFO    ] 2026-10-20 13:29:47
[2026-10-20 13:29:47,695.695 INFO    ] 2026-10-20 13:29:47
[2026-10-20 13:29:47,731.731 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:29:47,983.983 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:29:47,992.992 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:29:48,186.186 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:29:48,249.249 INFO    ] time= 20/10/2026 13:29:48
[2026-10-20 13:29:48,255.255 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:29:48,273.273 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:29:48,389.389 INFO    ] No existing commands found in stream
[2026-10-20 13:29:53,417.417 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:29:53,420.420 INFO    ] Waiting 1.68 seconds before fallback handling...
[2026-10-20 13:29:55,628.628 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:29:55,632.632 INFO    ] Checking for system updates...
[2026-10-20 13:29:55,668.668 INFO    ] 200
[2026-10-20 13:29:55,671.671 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:29:55,732.732 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:29:55,735.735 INFO    ] No update needed
[2026-10-20 13:29:55,738.738 INFO    ] Checking for camera pi updates...
[2026-10-20 13:29:55,773.773 INFO    ] 200
[2026-10-20 13:29:55,776.776 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:29:55,817.817 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:29:55,865.865 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:29:55,867.867 INFO    ] No camera update needed
[2026-10-20 13:29:55,870.870 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:29:55,873.873 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:29:55,879.879 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:29:55,885.885 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:29:57,927.927 INFO    ] ================================================
[2026-10-20 13:29:57,942.942 INFO    ] Launching Daemon at Tue Oct 20 13:29:57 IST 2026
[2026-10-20 13:29:57,953.953 INFO    ] ================================================
[2026-10-20 13:29:58,543.543 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:29:58
[2026-10-20 13:29:59,145.145 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:29:59,411.411 INFO    ] Initializing speech engine...
[2026-10-20 13:29:59,428.428 INFO    ] 2026-10-20 13:29:59
[2026-10-20 13:29:59,718.718 INFO    ] 2026-10-20 13:29:59
[2026-10-20 13:29:59,757.757 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:29:59,987.987 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:30:00,043.043 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:30:00,215.215 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:30:00,238.238 INFO    ] time= 20/10/2026 13:30:00
[2026-10-20 13:30:00,283.283 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:30:00,332.332 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:30:00,442.442 INFO    ] No existing commands found in stream
[2026-10-20 13:30:05,469.469 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:30:05,472.472 INFO    ] Waiting 1.92 seconds before fallback handling...
[2026-10-20 13:30:08,204.204 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:30:08,206.206 INFO    ] Checking for system updates...
[2026-10-20 13:30:08,242.242 INFO    ] 200
[2026-10-20 13:30:08,244.244 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:30:08,296.296 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:30:08,299.299 INFO    ] No update needed
[2026-10-20 13:30:08,301.301 INFO    ] Checking for camera pi updates...
[2026-10-20 13:30:08,334.334 INFO    ] 200
[2026-10-20 13:30:08,337.337 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:30:08,377.377 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:30:08,408.408 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:30:08,410.410 INFO    ] No camera update needed
[2026-10-20 13:30:08,413.413 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:30:08,415.415 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:30:08,421.421 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:30:08,426.426 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:30:10,466.466 INFO    ] ================================================
[2026-10-20 13:30:10,481.481 INFO    ] Launching Daemon at Tue Oct 20 13:30:10 IST 2026
[2026-10-20 13:30:10,492.492 INFO    ] ================================================
[2026-10-20 13:30:11,080.080 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:30:11
[2026-10-20 13:30:11,689.689 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:30:11,966.966 INFO    ] Initializing speech engine...
[2026-10-20 13:30:11,974.974 INFO    ] 2026-10-20 13:30:11
[2026-10-20 13:30:12,237.237 INFO    ] 2026-10-20 13:30:12
[2026-10-20 13:30:12,291.291 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:30:12,542.542 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:30:12,550.550 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:30:12,744.744 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:30:12,787.787 INFO    ] time= 20/10/2026 13:30:12
[2026-10-20 13:30:12,794.794 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:30:12,812.812 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:30:12,945.945 INFO    ] No existing commands found in stream
[2026-10-20 13:30:17,968.968 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:30:17,971.971 INFO    ] Waiting 0.13 seconds before fallback handling...
[2026-10-20 13:30:18,561.561 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:30:18,564.564 INFO    ] Checking for system updates...
[2026-10-20 13:30:18,599.599 INFO    ] 200
[2026-10-20 13:30:18,602.602 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:30:18,654.654 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:30:18,656.656 INFO    ] No update needed
[2026-10-20 13:30:18,659.659 INFO    ] Checking for camera pi updates...
[2026-10-20 13:30:18,692.692 INFO    ] 200
[2026-10-20 13:30:18,695.695 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:30:18,735.735 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:30:18,785.785 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:30:18,788.788 INFO    ] No camera update needed
[2026-10-20 13:30:18,791.791 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:30:18,793.793 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:30:18,798.798 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:30:18,804.804 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:30:20,846.846 INFO    ] ================================================
[2026-10-20 13:30:20,862.862 INFO    ] Launching Daemon at Tue Oct 20 13:30:20 IST 2026
[2026-10-20 13:30:20,873.873 INFO    ] ================================================
[2026-10-20 13:30:21,443.443 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:30:21
[2026-10-20 13:30:22,027.027 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:30:22,301.301 INFO    ] Initializing speech engine...
[2026-10-20 13:30:22,310.310 INFO    ] 2026-10-20 13:30:22
[2026-10-20 13:30:22,562.562 INFO    ] 2026-10-20 13:30:22
[2026-10-20 13:30:22,597.597 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:30:22,799.799 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:30:22,844.844 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:30:23,044.044 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:30:23,088.088 INFO    ] time= 20/10/2026 13:30:23
[2026-10-20 13:30:23,139.139 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:30:23,146.146 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:30:23,291.291 INFO    ] No existing commands found in stream
[2026-10-20 13:30:28,308.308 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:30:28,311.311 INFO    ] Waiting 2.41 seconds before fallback handling...
[2026-10-20 13:30:31,286.286 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 13:30:31,290.290 INFO    ] Checking for system updates...
[2026-10-20 13:30:31,331.331 INFO    ] 200
[2026-10-20 13:30:31,334.334 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:30:31,393.393 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:30:31,396.396 INFO    ] No update needed
[2026-10-20 13:30:31,399.399 INFO    ] Checking for camera pi updates...
[2026-10-20 13:30:31,436.436 INFO    ] 200
[2026-10-20 13:30:31,440.440 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:30:31,485.485 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:30:31,533.533 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:30:31,536.536 INFO    ] No camera update needed
[2026-10-20 13:30:31,539.539 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:30:31,542.542 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:30:31,550.550 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:30:31,556.556 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:30:33,600.600 INFO    ] ================================================
[2026-10-20 13:30:33,615.615 INFO    ] Launching Daemon at Tue Oct 20 13:30:33 IST 2026
[2026-10-20 13:30:33,627.627 INFO    ] ================================================
[2026-10-20 13:30:34,192.192 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:30:34
[2026-10-20 13:30:34,776.776 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:30:35,042.042 INFO    ] Initializing speech engine...
[2026-10-20 13:30:35,055.055 INFO    ] 2026-10-20 13:30:35
[2026-10-20 13:30:35,307.307 INFO    ] 2026-10-20 13:30:35
[2026-10-20 13:30:35,343.343 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:30:35,620.620 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:30:35,628.628 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:30:35,822.822 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:30:35,864.864 INFO    ] time= 20/10/2026 13:30:35
[2026-10-20 13:30:35,870.870 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:30:35,890.890 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:30:36,022.022 INFO    ] No existing commands found in stream
[2026-10-20 13:30:41,044.044 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:30:41,047.047 INFO    ] Waiting 3.45 seconds before fallback handling...
[2026-10-20 13:30:45,025.025 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:30:45,028.028 INFO    ] Checking for system updates...
[2026-10-20 13:30:45,065.065 INFO    ] 200
[2026-10-20 13:30:45,068.068 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:30:45,131.131 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:30:45,134.134 INFO    ] No update needed
[2026-10-20 13:30:45,137.137 INFO    ] Checking for camera pi updates...
[2026-10-20 13:30:45,172.172 INFO    ] 200
[2026-10-20 13:30:45,175.175 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:30:45,223.223 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:30:45,380.380 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:30:45,383.383 INFO    ] No camera update needed
[2026-10-20 13:30:45,385.385 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:30:45,388.388 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:30:45,395.395 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:30:45,401.401 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:30:47,444.444 INFO    ] ================================================
[2026-10-20 13:30:47,459.459 INFO    ] Launching Daemon at Tue Oct 20 13:30:47 IST 2026
[2026-10-20 13:30:47,470.470 INFO    ] ================================================
[2026-10-20 13:30:48,158.158 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:30:48
[2026-10-20 13:30:48,858.858 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:30:49,175.175 INFO    ] Initializing speech engine...
[2026-10-20 13:30:49,188.188 INFO    ] 2026-10-20 13:30:49
[2026-10-20 13:30:49,503.503 INFO    ] 2026-10-20 13:30:49
[2026-10-20 13:30:49,590.590 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:30:49,785.785 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:30:49,807.807 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:30:49,996.996 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:30:50,013.013 INFO    ] time= 20/10/2026 13:30:50
[2026-10-20 13:30:50,034.034 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:30:50,061.061 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:30:50,193.193 INFO    ] No existing commands found in stream
[2026-10-20 13:30:55,224.224 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:30:55,227.227 INFO    ] Waiting 0.92 seconds before fallback handling...
[2026-10-20 13:30:56,708.708 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:30:56,711.711 INFO    ] Checking for system updates...
[2026-10-20 13:30:56,753.753 INFO    ] 200
[2026-10-20 13:30:56,756.756 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:30:56,810.810 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:30:56,813.813 INFO    ] No update needed
[2026-10-20 13:30:56,816.816 INFO    ] Checking for camera pi updates...
[2026-10-20 13:30:56,849.849 INFO    ] 200
[2026-10-20 13:30:56,852.852 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:30:56,891.891 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:30:56,949.949 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:30:56,952.952 INFO    ] No camera update needed
[2026-10-20 13:30:56,954.954 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:30:56,957.957 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:30:56,964.964 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:30:56,971.971 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:30:59,014.014 INFO    ] ================================================
[2026-10-20 13:30:59,030.030 INFO    ] Launching Daemon at Tue Oct 20 13:30:59 IST 2026
[2026-10-20 13:30:59,041.041 INFO    ] ================================================
[2026-10-20 13:30:59,619.619 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:30:59
[2026-10-20 13:31:00,211.211 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:31:00,486.486 INFO    ] Initializing speech engine...
[2026-10-20 13:31:00,493.493 INFO    ] 2026-10-20 13:31:00
[2026-10-20 13:31:00,738.738 INFO    ] 2026-10-20 13:31:00
[2026-10-20 13:31:00,773.773 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:31:00,972.972 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:31:01,029.029 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:31:01,170.170 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:31:01,210.210 INFO    ] time= 20/10/2026 13:31:01
[2026-10-20 13:31:01,219.219 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:31:01,228.228 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:31:01,311.311 INFO    ] No existing commands found in stream
[2026-10-20 13:31:06,333.333 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:31:06,336.336 INFO    ] Waiting 1.22 seconds before fallback handling...
[2026-10-20 13:31:08,070.070 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:31:08,072.072 INFO    ] Checking for system updates...
[2026-10-20 13:31:08,108.108 INFO    ] 200
[2026-10-20 13:31:08,111.111 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:31:08,164.164 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:31:08,166.166 INFO    ] No update needed
[2026-10-20 13:31:08,169.169 INFO    ] Checking for camera pi updates...
[2026-10-20 13:31:08,204.204 INFO    ] 200
[2026-10-20 13:31:08,206.206 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:31:08,252.252 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:31:08,296.296 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:31:08,299.299 INFO    ] No camera update needed
[2026-10-20 13:31:08,301.301 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:31:08,303.303 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:31:08,309.309 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:31:08,313.313 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:31:10,355.355 INFO    ] ================================================
[2026-10-20 13:31:10,370.370 INFO    ] Launching Daemon at Tue Oct 20 13:31:10 IST 2026
[2026-10-20 13:31:10,382.382 INFO    ] ================================================
[2026-10-20 13:31:10,957.957 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:31:10
[2026-10-20 13:31:11,595.595 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:31:11,911.911 INFO    ] Initializing speech engine...
[2026-10-20 13:31:11,924.924 INFO    ] 2026-10-20 13:31:11
[2026-10-20 13:31:12,240.240 INFO    ] 2026-10-20 13:31:12
[2026-10-20 13:31:12,327.327 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:31:12,546.546 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:31:12,554.554 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:31:12,750.750 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:31:12,768.768 INFO    ] time= 20/10/2026 13:31:12
[2026-10-20 13:31:12,779.779 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:31:12,810.810 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:31:12,934.934 INFO    ] No existing commands found in stream
[2026-10-20 13:31:17,965.965 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:31:17,969.969 INFO    ] Waiting 2.61 seconds before fallback handling...
[2026-10-20 13:31:21,108.108 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 13:31:21,111.111 INFO    ] Checking for system updates...
[2026-10-20 13:31:21,148.148 INFO    ] 200
[2026-10-20 13:31:21,151.151 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:31:21,205.205 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:31:21,207.207 INFO    ] No update needed
[2026-10-20 13:31:21,210.210 INFO    ] Checking for camera pi updates...
[2026-10-20 13:31:21,250.250 INFO    ] 200
[2026-10-20 13:31:21,253.253 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:31:21,295.295 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:31:21,353.353 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:31:21,356.356 INFO    ] No camera update needed
[2026-10-20 13:31:21,359.359 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:31:21,362.362 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:31:21,369.369 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:31:21,375.375 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:31:23,418.418 INFO    ] ================================================
[2026-10-20 13:31:23,433.433 INFO    ] Launching Daemon at Tue Oct 20 13:31:23 IST 2026
[2026-10-20 13:31:23,445.445 INFO    ] ================================================
[2026-10-20 13:31:24,106.106 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:31:24
[2026-10-20 13:31:24,705.705 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:31:24,970.970 INFO    ] Initializing speech engine...
[2026-10-20 13:31:24,977.977 INFO    ] 2026-10-20 13:31:24
[2026-10-20 13:31:25,279.279 INFO    ] 2026-10-20 13:31:25
[2026-10-20 13:31:25,318.318 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:31:25,546.546 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:31:25,555.555 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:31:25,782.782 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:31:25,790.790 INFO    ] time= 20/10/2026 13:31:25
[2026-10-20 13:31:25,824.824 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:31:25,874.874 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:31:25,997.997 INFO    ] No existing commands found in stream
[2026-10-20 13:31:31,010.010 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:31:31,013.013 INFO    ] Waiting 3.69 seconds before fallback handling...
[2026-10-20 13:31:35,181.181 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 13:31:35,184.184 INFO    ] Checking for system updates...
[2026-10-20 13:31:35,219.219 INFO    ] 200
[2026-10-20 13:31:35,222.222 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:31:35,274.274 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:31:35,276.276 INFO    ] No update needed
[2026-10-20 13:31:35,279.279 INFO    ] Checking for camera pi updates...
[2026-10-20 13:31:35,312.312 INFO    ] 200
[2026-10-20 13:31:35,314.314 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:31:35,354.354 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:31:35,404.404 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:31:35,406.406 INFO    ] No camera update needed
[2026-10-20 13:31:35,409.409 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:31:35,411.411 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:31:35,416.416 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:31:35,421.421 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:31:37,461.461 INFO    ] ================================================
[2026-10-20 13:31:37,476.476 INFO    ] Launching Daemon at Tue Oct 20 13:31:37 IST 2026
[2026-10-20 13:31:37,487.487 INFO    ] ================================================
[2026-10-20 13:31:38,061.061 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:31:38
[2026-10-20 13:31:38,753.753 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:31:39,068.068 INFO    ] Initializing speech engine...
[2026-10-20 13:31:39,082.082 INFO    ] 2026-10-20 13:31:39
[2026-10-20 13:31:39,371.371 INFO    ] 2026-10-20 13:31:39
[2026-10-20 13:31:39,413.413 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:31:39,645.645 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:31:39,656.656 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:31:39,891.891 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:31:39,928.928 INFO    ] time= 20/10/2026 13:31:39
[2026-10-20 13:31:39,947.947 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:31:39,977.977 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:31:40,131.131 INFO    ] No existing commands found in stream
[2026-10-20 13:31:45,161.161 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:31:45,165.165 INFO    ] Waiting 0.97 seconds before fallback handling...
[2026-10-20 13:31:46,718.718 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:31:46,721.721 INFO    ] Checking for system updates...
[2026-10-20 13:31:46,760.760 INFO    ] 200
[2026-10-20 13:31:46,763.763 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:31:46,817.817 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:31:46,820.820 INFO    ] No update needed
[2026-10-20 13:31:46,823.823 INFO    ] Checking for camera pi updates...
[2026-10-20 13:31:46,862.862 INFO    ] 200
[2026-10-20 13:31:46,865.865 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:31:46,907.907 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:31:46,955.955 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:31:46,958.958 INFO    ] No camera update needed
[2026-10-20 13:31:46,961.961 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:31:46,964.964 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:31:46,970.970 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:31:46,976.976 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:31:49,019.019 INFO    ] ================================================
[2026-10-20 13:31:49,035.035 INFO    ] Launching Daemon at Tue Oct 20 13:31:49 IST 2026
[2026-10-20 13:31:49,047.047 INFO    ] ================================================
[2026-10-20 13:31:49,718.718 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:31:49
[2026-10-20 13:31:50,409.409 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:31:50,719.719 INFO    ] Initializing speech engine...
[2026-10-20 13:31:50,733.733 INFO    ] 2026-10-20 13:31:50
[2026-10-20 13:31:51,025.025 INFO    ] 2026-10-20 13:31:51
[2026-10-20 13:31:51,143.143 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:31:51,364.364 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:31:51,374.374 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:31:51,573.573 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:31:51,592.592 INFO    ] time= 20/10/2026 13:31:51
[2026-10-20 13:31:51,602.602 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:31:51,631.631 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:31:51,754.754 INFO    ] No existing commands found in stream
[2026-10-20 13:31:56,790.790 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:31:56,793.793 INFO    ] Waiting 1.92 seconds before fallback handling...
[2026-10-20 13:31:59,281.281 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:31:59,284.284 INFO    ] Checking for system updates...
[2026-10-20 13:31:59,321.321 INFO    ] 200
[2026-10-20 13:31:59,324.324 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:31:59,379.379 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:31:59,382.382 INFO    ] No update needed
[2026-10-20 13:31:59,384.384 INFO    ] Checking for camera pi updates...
[2026-10-20 13:31:59,419.419 INFO    ] 200
[2026-10-20 13:31:59,422.422 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:31:59,465.465 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:31:59,520.520 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:31:59,523.523 INFO    ] No camera update needed
[2026-10-20 13:31:59,526.526 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:31:59,529.529 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:31:59,535.535 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:31:59,541.541 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:32:01,595.595 INFO    ] ================================================
[2026-10-20 13:32:01,623.623 INFO    ] Launching Daemon at Tue Oct 20 13:32:01 IST 2026
[2026-10-20 13:32:01,662.662 INFO    ] ================================================
[2026-10-20 13:32:02,348.348 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:32:02
[2026-10-20 13:32:03,015.015 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:32:03,314.314 INFO    ] Initializing speech engine...
[2026-10-20 13:32:03,322.322 INFO    ] 2026-10-20 13:32:03
[2026-10-20 13:32:03,631.631 INFO    ] 2026-10-20 13:32:03
[2026-10-20 13:32:03,668.668 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:32:03,870.870 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:32:03,922.922 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:32:04,120.120 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:32:04,174.174 INFO    ] time= 20/10/2026 13:32:04
[2026-10-20 13:32:04,206.206 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:32:04,212.212 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:32:04,346.346 INFO    ] No existing commands found in stream
[2026-10-20 13:32:09,371.371 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:32:09,374.374 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-10-20 13:32:12,361.361 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:32:12,364.364 INFO    ] Checking for system updates...
[2026-10-20 13:32:12,400.400 INFO    ] 200
[2026-10-20 13:32:12,403.403 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:32:12,455.455 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:32:12,458.458 INFO    ] No update needed
[2026-10-20 13:32:12,461.461 INFO    ] Checking for camera pi updates...
[2026-10-20 13:32:12,495.495 INFO    ] 200
[2026-10-20 13:32:12,498.498 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:32:12,540.540 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:32:12,595.595 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:32:12,598.598 INFO    ] No camera update needed
[2026-10-20 13:32:12,601.601 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:32:12,604.604 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:32:12,610.610 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:32:12,616.616 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:32:14,658.658 INFO    ] ================================================
[2026-10-20 13:32:14,673.673 INFO    ] Launching Daemon at Tue Oct 20 13:32:14 IST 2026
[2026-10-20 13:32:14,684.684 INFO    ] ================================================
[2026-10-20 13:32:15,249.249 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:32:15
[2026-10-20 13:32:15,833.833 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:32:16,082.082 INFO    ] Initializing speech engine...
[2026-10-20 13:32:16,094.094 INFO    ] 2026-10-20 13:32:16
[2026-10-20 13:32:16,356.356 INFO    ] 2026-10-20 13:32:16
[2026-10-20 13:32:16,391.391 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:32:16,641.641 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:32:16,651.651 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:32:16,785.785 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:32:16,850.850 INFO    ] time= 20/10/2026 13:32:16
[2026-10-20 13:32:16,912.912 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:32:16,919.919 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:32:17,066.066 INFO    ] No existing commands found in stream
[2026-10-20 13:32:22,088.088 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:32:22,091.091 INFO    ] Waiting 2.24 seconds before fallback handling...
[2026-10-20 13:32:24,811.811 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 13:32:24,814.814 INFO    ] Checking for system updates...
[2026-10-20 13:32:24,850.850 INFO    ] 200
[2026-10-20 13:32:24,852.852 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:32:24,905.905 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:32:24,907.907 INFO    ] No update needed
[2026-10-20 13:32:24,910.910 INFO    ] Checking for camera pi updates...
[2026-10-20 13:32:24,943.943 INFO    ] 200
[2026-10-20 13:32:24,946.946 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:32:24,986.986 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:32:25,031.031 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:32:25,033.033 INFO    ] No camera update needed
[2026-10-20 13:32:25,036.036 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:32:25,038.038 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:32:25,043.043 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:32:25,048.048 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:32:27,088.088 INFO    ] ================================================
[2026-10-20 13:32:27,103.103 INFO    ] Launching Daemon at Tue Oct 20 13:32:27 IST 2026
[2026-10-20 13:32:27,115.115 INFO    ] ================================================
[2026-10-20 13:32:27,688.688 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:32:27
[2026-10-20 13:32:28,282.282 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:32:28,541.541 INFO    ] Initializing speech engine...
[2026-10-20 13:32:28,554.554 INFO    ] 2026-10-20 13:32:28
[2026-10-20 13:32:28,843.843 INFO    ] 2026-10-20 13:32:28
[2026-10-20 13:32:28,879.879 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:32:29,086.086 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:32:29,104.104 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:32:29,255.255 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:32:29,261.261 INFO    ] time= 20/10/2026 13:32:29
[2026-10-20 13:32:29,267.267 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:32:29,310.310 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:32:29,465.465 INFO    ] No existing commands found in stream
[2026-10-20 13:32:34,493.493 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:32:34,496.496 INFO    ] Waiting 0.19 seconds before fallback handling...
[2026-10-20 13:32:36,347.347 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:32:36,350.350 INFO    ] Checking for system updates...
[2026-10-20 13:32:36,385.385 INFO    ] 200
[2026-10-20 13:32:36,388.388 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:32:36,440.440 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:32:36,442.442 INFO    ] No update needed
[2026-10-20 13:32:36,445.445 INFO    ] Checking for camera pi updates...
[2026-10-20 13:32:36,479.479 INFO    ] 200
[2026-10-20 13:32:36,481.481 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:32:36,521.521 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:32:36,566.566 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:32:36,569.569 INFO    ] No camera update needed
[2026-10-20 13:32:36,571.571 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:32:36,574.574 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:32:36,579.579 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:32:36,584.584 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:32:38,624.624 INFO    ] ================================================
[2026-10-20 13:32:38,639.639 INFO    ] Launching Daemon at Tue Oct 20 13:32:38 IST 2026
[2026-10-20 13:32:38,651.651 INFO    ] ================================================
[2026-10-20 13:32:39,220.220 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:32:39
[2026-10-20 13:32:39,806.806 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:32:40,062.062 INFO    ] Initializing speech engine...
[2026-10-20 13:32:40,070.070 INFO    ] 2026-10-20 13:32:40
[2026-10-20 13:32:40,363.363 INFO    ] 2026-10-20 13:32:40
[2026-10-20 13:32:40,397.397 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:32:40,598.598 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:32:40,612.612 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:32:40,774.774 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:32:40,782.782 INFO    ] time= 20/10/2026 13:32:40
[2026-10-20 13:32:40,787.787 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:32:40,794.794 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:32:40,869.869 INFO    ] No existing commands found in stream
[2026-10-20 13:32:45,905.905 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:32:45,907.907 INFO    ] Waiting 3.49 seconds before fallback handling...
[2026-10-20 13:32:49,926.926 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:32:49,929.929 INFO    ] Checking for system updates...
[2026-10-20 13:32:49,964.964 INFO    ] 200
[2026-10-20 13:32:49,967.967 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:32:50,026.026 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:32:50,028.028 INFO    ] No update needed
[2026-10-20 13:32:50,030.030 INFO    ] Checking for camera pi updates...
[2026-10-20 13:32:50,064.064 INFO    ] 200
[2026-10-20 13:32:50,067.067 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:32:50,111.111 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:32:50,254.254 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:32:50,256.256 INFO    ] No camera update needed
[2026-10-20 13:32:50,259.259 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:32:50,261.261 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:32:50,266.266 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:32:50,271.271 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:32:52,311.311 INFO    ] ================================================
[2026-10-20 13:32:52,326.326 INFO    ] Launching Daemon at Tue Oct 20 13:32:52 IST 2026
[2026-10-20 13:32:52,337.337 INFO    ] ================================================
[2026-10-20 13:32:52,925.925 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:32:52
[2026-10-20 13:32:53,528.528 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:32:53,795.795 INFO    ] Initializing speech engine...
[2026-10-20 13:32:53,820.820 INFO    ] 2026-10-20 13:32:53
[2026-10-20 13:32:54,095.095 INFO    ] 2026-10-20 13:32:54
[2026-10-20 13:32:54,131.131 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:32:54,343.343 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:32:54,361.361 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:32:54,517.517 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:32:54,524.524 INFO    ] time= 20/10/2026 13:32:54
[2026-10-20 13:32:54,573.573 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:32:54,600.600 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:32:54,708.708 INFO    ] No existing commands found in stream
[2026-10-20 13:32:59,738.738 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:32:59,741.741 INFO    ] Waiting 3.85 seconds before fallback handling...
[2026-10-20 13:33:04,069.069 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:33:04,072.072 INFO    ] Checking for system updates...
[2026-10-20 13:33:04,108.108 INFO    ] 200
[2026-10-20 13:33:04,110.110 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:33:04,168.168 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:33:04,171.171 INFO    ] No update needed
[2026-10-20 13:33:04,173.173 INFO    ] Checking for camera pi updates...
[2026-10-20 13:33:04,207.207 INFO    ] 200
[2026-10-20 13:33:04,209.209 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:33:04,249.249 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:33:04,296.296 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:33:04,299.299 INFO    ] No camera update needed
[2026-10-20 13:33:04,301.301 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:33:04,304.304 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:33:04,309.309 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:33:04,314.314 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:33:06,354.354 INFO    ] ================================================
[2026-10-20 13:33:06,369.369 INFO    ] Launching Daemon at Tue Oct 20 13:33:06 IST 2026
[2026-10-20 13:33:06,380.380 INFO    ] ================================================
[2026-10-20 13:33:07,030.030 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:33:07
[2026-10-20 13:33:07,702.702 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:33:08,007.007 INFO    ] Initializing speech engine...
[2026-10-20 13:33:08,020.020 INFO    ] 2026-10-20 13:33:08
[2026-10-20 13:33:08,305.305 INFO    ] 2026-10-20 13:33:08
[2026-10-20 13:33:08,409.409 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:33:08,627.627 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:33:08,636.636 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:33:08,828.828 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:33:08,839.839 INFO    ] time= 20/10/2026 13:33:08
[2026-10-20 13:33:08,861.861 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:33:08,888.888 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:33:09,028.028 INFO    ] No existing commands found in stream
[2026-10-20 13:33:14,059.059 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:33:14,063.063 INFO    ] Waiting 0.16 seconds before fallback handling...
[2026-10-20 13:33:14,734.734 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:33:14,737.737 INFO    ] Checking for system updates...
[2026-10-20 13:33:14,774.774 INFO    ] 200
[2026-10-20 13:33:14,777.777 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:33:14,829.829 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:33:14,832.832 INFO    ] No update needed
[2026-10-20 13:33:14,834.834 INFO    ] Checking for camera pi updates...
[2026-10-20 13:33:14,870.870 INFO    ] 200
[2026-10-20 13:33:14,873.873 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:33:14,914.914 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:33:14,961.961 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:33:14,964.964 INFO    ] No camera update needed
[2026-10-20 13:33:14,966.966 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:33:14,969.969 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:33:14,975.975 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:33:14,981.981 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:33:17,022.022 INFO    ] ================================================
[2026-10-20 13:33:17,037.037 INFO    ] Launching Daemon at Tue Oct 20 13:33:17 IST 2026
[2026-10-20 13:33:17,047.047 INFO    ] ================================================
[2026-10-20 13:33:17,637.637 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:33:17
[2026-10-20 13:33:18,305.305 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:33:18,614.614 INFO    ] Initializing speech engine...
[2026-10-20 13:33:18,627.627 INFO    ] 2026-10-20 13:33:18
[2026-10-20 13:33:18,909.909 INFO    ] 2026-10-20 13:33:18
[2026-10-20 13:33:18,954.954 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:33:19,234.234 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:33:19,245.245 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:33:19,440.440 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:33:19,447.447 INFO    ] time= 20/10/2026 13:33:19
[2026-10-20 13:33:19,465.465 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:33:19,494.494 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:33:19,602.602 INFO    ] No existing commands found in stream
[2026-10-20 13:33:24,627.627 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:33:24,630.630 INFO    ] Waiting 3.99 seconds before fallback handling...
[2026-10-20 13:33:29,174.174 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 13:33:29,177.177 INFO    ] Checking for system updates...
[2026-10-20 13:33:29,214.214 INFO    ] 200
[2026-10-20 13:33:29,217.217 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:33:29,271.271 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:33:29,273.273 INFO    ] No update needed
[2026-10-20 13:33:29,276.276 INFO    ] Checking for camera pi updates...
[2026-10-20 13:33:29,314.314 INFO    ] 200
[2026-10-20 13:33:29,317.317 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:33:29,358.358 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:33:29,413.413 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:33:29,416.416 INFO    ] No camera update needed
[2026-10-20 13:33:29,419.419 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:33:29,422.422 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:33:29,428.428 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:33:29,433.433 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:33:31,473.473 INFO    ] ================================================
[2026-10-20 13:33:31,488.488 INFO    ] Launching Daemon at Tue Oct 20 13:33:31 IST 2026
[2026-10-20 13:33:31,499.499 INFO    ] ================================================
[2026-10-20 13:33:32,115.115 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:33:32
[2026-10-20 13:33:32,727.727 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:33:33,021.021 INFO    ] Initializing speech engine...
[2026-10-20 13:33:33,029.029 INFO    ] 2026-10-20 13:33:33
[2026-10-20 13:33:33,289.289 INFO    ] 2026-10-20 13:33:33
[2026-10-20 13:33:33,324.324 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:33:33,573.573 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:33:33,585.585 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:33:33,806.806 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:33:33,845.845 INFO    ] time= 20/10/2026 13:33:33
[2026-10-20 13:33:33,851.851 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:33:33,868.868 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:33:34,000.000 INFO    ] No existing commands found in stream
[2026-10-20 13:33:39,022.022 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:33:39,025.025 INFO    ] Waiting 1.81 seconds before fallback handling...
[2026-10-20 13:33:41,375.375 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:33:41,378.378 INFO    ] Checking for system updates...
[2026-10-20 13:33:41,414.414 INFO    ] 200
[2026-10-20 13:33:41,417.417 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:33:41,471.471 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:33:41,474.474 INFO    ] No update needed
[2026-10-20 13:33:41,476.476 INFO    ] Checking for camera pi updates...
[2026-10-20 13:33:41,515.515 INFO    ] 200
[2026-10-20 13:33:41,518.518 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:33:41,560.560 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:33:41,607.607 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:33:41,610.610 INFO    ] No camera update needed
[2026-10-20 13:33:41,612.612 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:33:41,615.615 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:33:41,621.621 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:33:41,627.627 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:33:43,669.669 INFO    ] ================================================
[2026-10-20 13:33:43,684.684 INFO    ] Launching Daemon at Tue Oct 20 13:33:43 IST 2026
[2026-10-20 13:33:43,695.695 INFO    ] ================================================
[2026-10-20 13:33:44,260.260 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:33:44
[2026-10-20 13:33:44,956.956 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:33:45,265.265 INFO    ] Initializing speech engine...
[2026-10-20 13:33:45,274.274 INFO    ] 2026-10-20 13:33:45
[2026-10-20 13:33:45,565.565 INFO    ] 2026-10-20 13:33:45
[2026-10-20 13:33:45,611.611 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:33:45,842.842 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:33:45,845.845 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:33:46,002.002 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:33:46,068.068 INFO    ] time= 20/10/2026 13:33:46
[2026-10-20 13:33:46,118.118 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:33:46,141.141 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:33:46,276.276 INFO    ] No existing commands found in stream
[2026-10-20 13:33:51,303.303 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:33:51,307.307 INFO    ] Waiting 3.37 seconds before fallback handling...
[2026-10-20 13:33:55,201.201 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:33:55,204.204 INFO    ] Checking for system updates...
[2026-10-20 13:33:55,240.240 INFO    ] 200
[2026-10-20 13:33:55,243.243 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:33:55,297.297 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:33:55,300.300 INFO    ] No update needed
[2026-10-20 13:33:55,303.303 INFO    ] Checking for camera pi updates...
[2026-10-20 13:33:55,338.338 INFO    ] 200
[2026-10-20 13:33:55,341.341 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:33:55,383.383 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:33:55,434.434 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:33:55,437.437 INFO    ] No camera update needed
[2026-10-20 13:33:55,439.439 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:33:55,442.442 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:33:55,448.448 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:33:55,454.454 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:33:57,495.495 INFO    ] ================================================
[2026-10-20 13:33:57,511.511 INFO    ] Launching Daemon at Tue Oct 20 13:33:57 IST 2026
[2026-10-20 13:33:57,522.522 INFO    ] ================================================
[2026-10-20 13:33:58,096.096 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:33:58
[2026-10-20 13:33:58,682.682 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:33:58,937.937 INFO    ] Initializing speech engine...
[2026-10-20 13:33:58,950.950 INFO    ] 2026-10-20 13:33:58
[2026-10-20 13:33:59,212.212 INFO    ] 2026-10-20 13:33:59
[2026-10-20 13:33:59,247.247 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:33:59,503.503 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:33:59,509.509 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:33:59,687.687 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:33:59,747.747 INFO    ] time= 20/10/2026 13:33:59
[2026-10-20 13:33:59,769.769 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:33:59,775.775 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:33:59,915.915 INFO    ] No existing commands found in stream
[2026-10-20 13:34:04,931.931 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:34:04,934.934 INFO    ] Waiting 1.00 seconds before fallback handling...
[2026-10-20 13:34:06,461.461 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 13:34:06,464.464 INFO    ] Checking for system updates...
[2026-10-20 13:34:06,503.503 INFO    ] 200
[2026-10-20 13:34:06,506.506 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:34:06,557.557 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:34:06,560.560 INFO    ] No update needed
[2026-10-20 13:34:06,562.562 INFO    ] Checking for camera pi updates...
[2026-10-20 13:34:06,595.595 INFO    ] 200
[2026-10-20 13:34:06,598.598 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:34:06,639.639 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:34:06,698.698 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:34:06,700.700 INFO    ] No camera update needed
[2026-10-20 13:34:06,703.703 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:34:06,705.705 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:34:06,710.710 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:34:06,715.715 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:34:08,757.757 INFO    ] ================================================
[2026-10-20 13:34:08,772.772 INFO    ] Launching Daemon at Tue Oct 20 13:34:08 IST 2026
[2026-10-20 13:34:08,783.783 INFO    ] ================================================
[2026-10-20 13:34:09,347.347 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:34:09
[2026-10-20 13:34:09,931.931 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:34:10,198.198 INFO    ] Initializing speech engine...
[2026-10-20 13:34:10,206.206 INFO    ] 2026-10-20 13:34:10
[2026-10-20 13:34:10,453.453 INFO    ] 2026-10-20 13:34:10
[2026-10-20 13:34:10,488.488 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:34:10,739.739 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:34:10,748.748 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:34:10,956.956 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:34:11,005.005 INFO    ] time= 20/10/2026 13:34:10
[2026-10-20 13:34:11,012.012 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:34:11,030.030 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:34:11,157.157 INFO    ] No existing commands found in stream
[2026-10-20 13:34:16,171.171 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:34:16,174.174 INFO    ] Waiting 1.89 seconds before fallback handling...
[2026-10-20 13:34:18,554.554 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:34:18,556.556 INFO    ] Checking for system updates...
[2026-10-20 13:34:18,593.593 INFO    ] 200
[2026-10-20 13:34:18,595.595 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:34:18,649.649 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:34:18,651.651 INFO    ] No update needed
[2026-10-20 13:34:18,653.653 INFO    ] Checking for camera pi updates...
[2026-10-20 13:34:18,687.687 INFO    ] 200
[2026-10-20 13:34:18,689.689 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:34:18,740.740 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:34:18,792.792 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:34:18,794.794 INFO    ] No camera update needed
[2026-10-20 13:34:18,796.796 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:34:18,799.799 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:34:18,804.804 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:34:18,809.809 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:34:20,850.850 INFO    ] ================================================
[2026-10-20 13:34:20,865.865 INFO    ] Launching Daemon at Tue Oct 20 13:34:20 IST 2026
[2026-10-20 13:34:20,875.875 INFO    ] ================================================
[2026-10-20 13:34:21,466.466 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:34:21
[2026-10-20 13:34:22,067.067 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:34:22,328.328 INFO    ] Initializing speech engine...
[2026-10-20 13:34:22,341.341 INFO    ] 2026-10-20 13:34:22
[2026-10-20 13:34:22,633.633 INFO    ] 2026-10-20 13:34:22
[2026-10-20 13:34:22,671.671 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:34:22,905.905 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:34:22,951.951 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:34:23,138.138 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:34:23,150.150 INFO    ] time= 20/10/2026 13:34:23
[2026-10-20 13:34:23,220.220 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:34:23,264.264 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:34:23,353.353 INFO    ] No existing commands found in stream
[2026-10-20 13:34:28,365.365 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:34:28,368.368 INFO    ] Waiting 2.22 seconds before fallback handling...
[2026-10-20 13:34:31,164.164 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:34:31,167.167 INFO    ] Checking for system updates...
[2026-10-20 13:34:31,205.205 INFO    ] 200
[2026-10-20 13:34:31,208.208 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:34:31,262.262 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:34:31,265.265 INFO    ] No update needed
[2026-10-20 13:34:31,268.268 INFO    ] Checking for camera pi updates...
[2026-10-20 13:34:31,304.304 INFO    ] 200
[2026-10-20 13:34:31,307.307 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:34:31,349.349 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:34:31,397.397 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:34:31,400.400 INFO    ] No camera update needed
[2026-10-20 13:34:31,403.403 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:34:31,406.406 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:34:31,413.413 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:34:31,420.420 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:34:33,462.462 INFO    ] ================================================
[2026-10-20 13:34:33,478.478 INFO    ] Launching Daemon at Tue Oct 20 13:34:33 IST 2026
[2026-10-20 13:34:33,490.490 INFO    ] ================================================
[2026-10-20 13:34:34,056.056 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:34:34
[2026-10-20 13:34:34,640.640 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:34:34,913.913 INFO    ] Initializing speech engine...
[2026-10-20 13:34:34,930.930 INFO    ] 2026-10-20 13:34:34
[2026-10-20 13:34:35,208.208 INFO    ] 2026-10-20 13:34:35
[2026-10-20 13:34:35,244.244 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:34:35,445.445 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:34:35,461.461 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:34:35,631.631 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:34:35,637.637 INFO    ] time= 20/10/2026 13:34:35
[2026-10-20 13:34:35,643.643 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:34:35,649.649 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:34:35,803.803 INFO    ] No existing commands found in stream
[2026-10-20 13:34:40,828.828 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:34:40,831.831 INFO    ] Waiting 0.05 seconds before fallback handling...
[2026-10-20 13:34:41,402.402 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:34:41,405.405 INFO    ] Checking for system updates...
[2026-10-20 13:34:41,443.443 INFO    ] 200
[2026-10-20 13:34:41,446.446 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:34:41,508.508 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:34:41,511.511 INFO    ] No update needed
[2026-10-20 13:34:41,514.514 INFO    ] Checking for camera pi updates...
[2026-10-20 13:34:41,554.554 INFO    ] 200
[2026-10-20 13:34:41,556.556 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:34:41,598.598 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:34:41,646.646 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:34:41,649.649 INFO    ] No camera update needed
[2026-10-20 13:34:41,652.652 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:34:41,655.655 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:34:41,661.661 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:34:41,667.667 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:34:43,709.709 INFO    ] ================================================
[2026-10-20 13:34:43,725.725 INFO    ] Launching Daemon at Tue Oct 20 13:34:43 IST 2026
[2026-10-20 13:34:43,737.737 INFO    ] ================================================
[2026-10-20 13:34:44,407.407 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:34:44
[2026-10-20 13:34:45,094.094 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:34:45,412.412 INFO    ] Initializing speech engine...
[2026-10-20 13:34:45,421.421 INFO    ] 2026-10-20 13:34:45
[2026-10-20 13:34:45,737.737 INFO    ] 2026-10-20 13:34:45
[2026-10-20 13:34:45,824.824 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:34:46,039.039 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:34:46,047.047 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:34:46,239.239 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:34:46,262.262 INFO    ] time= 20/10/2026 13:34:46
[2026-10-20 13:34:46,291.291 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:34:46,301.301 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:34:46,430.430 INFO    ] Found 1 existing command(s) in stream
[2026-10-20 13:34:46,480.480 INFO    ] Checking historical command: ID=1792483484947-0
[2026-10-20 13:34:46,507.507 INFO    ] process_and_cleanup_command: msg_id=1792483484947-0
[2026-10-20 13:34:46,572.572 INFO    ] is_command_expired: timestamp=2026-10-20T08:04:44.665Z, expiry=30s
[2026-10-20 13:34:46,821.821 INFO    ] Command removed from stream: 1792483484947-0. returning for processing...
[2026-10-20 13:34:46,864.864 INFO    ] ***** get_valid_command
[2026-10-20 13:34:46,871.871 INFO    ] {'data': '{"request_id":"start-order-1792483484665-uhum5gake","orderId":"TM04202203261020133437580","is_vending":false}', 'timestamp': '2026-10-20T08:04:44.665Z', 'timeout': '10', 'source': 'webapp', 'command': 'start-order'}
[2026-10-20 13:34:46,921.921 INFO    ] ***** Parsed command data: {'orderId': 'TM04202203261020133437580', 'request_id': 'start-order-1792483484665-uhum5gake', 'is_vending': False}
[2026-10-20 13:34:46,926.926 INFO    ] Handling start order...
[2026-10-20 13:34:46,945.945 INFO    ] handle_start_order_command
[2026-10-20 13:34:46,989.989 INFO    ] _send_start_order_success: request_id=start-order-1792483484665-uhum5gake, order_id=TM04202203261020133437580
[2026-10-20 13:34:46,994.994 INFO    ] [_send_start_order_success] Adding message to stream: machine:TM04202203
[2026-10-20 13:34:47,132.132 INFO    ] [_send_start_order_success] Message added to stream with ID: 1792483487040-0
[2026-10-20 13:34:47,139.139 INFO    ] ✅ Start-order command succeeded - order locked, waiting for process-order command
[2026-10-20 13:34:47,145.145 INFO    ] Checking for system updates...
[2026-10-20 13:34:47,208.208 INFO    ] 200
[2026-10-20 13:34:47,216.216 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:34:47,281.281 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:34:47,287.287 INFO    ] No update needed
[2026-10-20 13:34:47,292.292 INFO    ] Checking for camera pi updates...
[2026-10-20 13:34:47,333.333 INFO    ] 200
[2026-10-20 13:34:47,344.344 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:34:47,402.402 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:34:47,510.510 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:34:47,555.555 INFO    ] No camera update needed
[2026-10-20 13:34:47,561.561 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:34:47,600.600 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:34:47,617.617 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:34:47,672.672 INFO    ] Thread: Thread-1, daemon=True, alive=True
[2026-10-20 13:34:47,681.681 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:34:49,727.727 INFO    ] ================================================
[2026-10-20 13:34:49,742.742 INFO    ] Launching Daemon at Tue Oct 20 13:34:49 IST 2026
[2026-10-20 13:34:49,753.753 INFO    ] ================================================
[2026-10-20 13:34:50,346.346 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:34:50
[2026-10-20 13:34:50,955.955 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:34:51,237.237 INFO    ] Initializing speech engine...
[2026-10-20 13:34:51,245.245 INFO    ] 2026-10-20 13:34:51
[2026-10-20 13:34:51,502.502 INFO    ] 2026-10-20 13:34:51
[2026-10-20 13:34:51,536.536 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:34:51,781.781 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:34:51,792.792 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:34:51,967.967 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:34:52,021.021 INFO    ] time= 20/10/2026 13:34:51
[2026-10-20 13:34:52,055.055 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:34:52,061.061 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:34:52,206.206 INFO    ] Found 2 existing command(s) in stream
[2026-10-20 13:34:52,249.249 INFO    ] Checking historical command: ID=1792483487040-0
[2026-10-20 13:34:52,304.304 INFO    ] process_and_cleanup_command: msg_id=1792483487040-0
[2026-10-20 13:34:52,325.325 INFO    ] is_command_expired: timestamp=2026-10-20T08:04:46.990939Z, expiry=30s
[2026-10-20 13:34:52,520.520 INFO    ] Command removed from stream: 1792483487040-0. returning for processing...
[2026-10-20 13:34:52,540.540 INFO    ] ***** get_valid_command
[2026-10-20 13:34:52,550.550 INFO    ] {'metadata_order_id': 'TM04202203261020133437580', 'message_type': 'command_response', 'status': 'success', 'message': 'start-order success', 'imei': 'TM04202203', 'timestamp': '2026-10-20T08:04:46.990939Z', 'metadata_request_id': 'start-order-1792483484665-uhum5gake'}
[2026-10-20 13:34:52,553.553 INFO    ] Checking historical command: ID=1792483488682-0
[2026-10-20 13:34:52,556.556 INFO    ] process_and_cleanup_command: msg_id=1792483488682-0
[2026-10-20 13:34:52,558.558 INFO    ] is_command_expired: timestamp=2026-10-20T08:04:48.367Z, expiry=30s
[2026-10-20 13:34:52,681.681 INFO    ] Command removed from stream: 1792483488682-0. returning for processing...
[2026-10-20 13:34:52,689.689 INFO    ] ***** get_valid_command
[2026-10-20 13:34:52,695.695 INFO    ] {'source': 'webapp', 'timeout': '60', 'timestamp': '2026-10-20T08:04:48.367Z', 'data': '{"request_id":"process-order-1792483488367-ctg9x5t3o","orderId":"TM04202203261020133437580","is_vending":false,"accessCode":"20246922"}', 'command': 'process-order'}
[2026-10-20 13:34:52,739.739 INFO    ] ***** Parsed command data: {'request_id': 'process-order-1792483488367-ctg9x5t3o', 'is_vending': False, 'accessCode': '20246922', 'orderId': 'TM04202203261020133437580'}
[2026-10-20 13:34:52,749.749 INFO    ] Handling process order...
[2026-10-20 13:34:52,752.752 INFO    ] Processing process-order command...
[2026-10-20 13:34:52,805.805 INFO    ] 🔍 Lock file Order ID: TM04202203261020133437580, TS: 2026-10-20 13:34:46
[2026-10-20 13:34:52,822.822 INFO    ] ✅ Order lock valid for TM04202203261020133437580
[2026-10-20 13:34:52,825.825 INFO    ] Received access code in process-order, skipping PHP API call
[2026-10-20 13:34:52,830.830 INFO    ] processing access code 20246922 for order TM04202203261020133437580
[2026-10-20 13:34:52,834.834 INFO    ] 🔍 Lock file Order ID: TM04202203261020133437580, TS: 2026-10-20 13:34:46
[2026-10-20 13:34:52,839.839 INFO    ] ✅ Order lock valid for TM04202203261020133437580
[2026-10-20 13:34:52,844.844 INFO    ] 2026-10-20 13:34:52
[2026-10-20 13:34:52,942.942 INFO    ] 200
[2026-10-20 13:34:52,997.997 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:34:53,003.003 INFO    ] 20246922
[2026-10-20 13:34:53,009.009 INFO    ] 2026-10-20 13:34:53
[2026-10-20 13:34:53,016.016 INFO    ] session id :954829315
[2026-10-20 13:34:53,023.023 INFO    ] http://localhost:5000/v2/getOrderByAccessCode?access_code=20246922&imei=TM04202203&session_id=954829315
[2026-10-20 13:34:54,224.224 INFO    ] 200
[2026-10-20 13:34:54,246.246 INFO    ] {"data": {"access_code": "20246922", "bill_amount": "20", "invoice_bill": "20", "order_id": "TM04202203261020133437580", "mobile": "9010227713", "proposed_sku_json": [{"image_url": "https://images.tinymart.in/product/112220-2513.jpg", "door_id": "2", "mrp": "20", "offer_id": "", "name": "Snickers Chocolate Bar 22g", "unit_price": 20, "qty": 1, "offer_desc": "", "skuid": "112220", "sku_total": 20, "tray_id": "34"}]}, "status": true, "msg": "Order Data", "rstatus": true}
[2026-10-20 13:34:54,255.255 INFO    ] 20
[2026-10-20 13:34:54,269.269 INFO    ] TM04202203261020133437580
[2026-10-20 13:34:54,279.279 INFO    ] 9010227713
[2026-10-20 13:34:54,286.286 INFO    ] 2026-10-20 13:34:54
[2026-10-20 13:34:54,317.317 INFO    ] Door Opening for user mobile ending with  seven seven one three 
[2026-10-20 13:34:54,325.325 INFO    ] Door Opening for user mobile ending with  seven seven one three 
[2026-10-20 13:34:54,333.333 INFO    ] d932efdfa8fcc2de40aaa12d72c2ac2c
[2026-10-20 13:34:54,356.356 INFO    ] 2026-10-20 13:34:54
[2026-10-20 13:34:54,364.364 INFO    ] playing audio file
[2026-10-20 13:34:54,391.391 INFO    ] 2026-10-20 13:34:54
[2026-10-20 13:34:54,405.405 INFO    ] 2026-10-20 13:34:54
[2026-10-20 13:34:54,428.428 INFO    ] publish_status: order_id=TM04202203261020133437580
[2026-10-20 13:34:54,434.434 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020133437580
[2026-10-20 13:34:54,590.590 INFO    ] [publish_status] Message added to stream with ID: 1792483494490-0
[2026-10-20 13:34:54,608.608 INFO    ] Published to order:TM04202203261020133437580: {'server_status': 'order-started', 'timestamp': '2026-10-20T08:04:54.412242Z', 'order_id': 'TM04202203261020133437580', 'server_response': '{"rstatus": true, "msg": "Order Data", "status": true, "data": {"proposed_sku_json": [{"image_url": "https://images.tinymart.in/product/112220-2513.jpg", "door_id": "2", "tray_id": "34", "unit_price": 20, "mrp": "20", "name": "Snickers Chocolate Bar 22g", "offer_desc": "", "offer_id": "", "sku_total": 20, "skuid": "112220", "qty": 1}], "invoice_bill": "20", "access_code": "20246922", "bill_amount": "20", "order_id": "TM04202203261020133437580", "mobile": "9010227713"}}'} (ID: 1792483494490-0)
[2026-10-20 13:34:55,178.178 INFO    ] {'server_status': 'order-started', 'order_id': 'TM04202203261020133437580', 'server_response': {'rstatus': True, 'msg': 'Order Data', 'status': True, 'data': {'proposed_sku_json': [{'image_url': 'https://images.tinymart.in/product/112220-2513.jpg', 'door_id': '2', 'tray_id': '34', 'unit_price': 20, 'mrp': '20', 'name': 'Snickers Chocolate Bar 22g', 'offer_desc': '', 'offer_id': '', 'sku_total': 20, 'skuid': '112220', 'qty': 1}], 'invoice_bill': '20', 'access_code': '20246922', 'bill_amount': '20', 'order_id': 'TM04202203261020133437580', 'mobile': '9010227713'}}}
[2026-10-20 13:34:55,181.181 INFO    ] 200
[2026-10-20 13:34:55,184.184 INFO    ] {"data":{"server_status":"order-started","order_id":"TM04202203261020133437580","server_response":{"rstatus":true,"msg":"Order Data","status":true,"data":{"proposed_sku_json":[{"image_url":"https:\/\/images.tinymart.in\/product\/112220-2513.jpg","door_id":"2","tray_id":"34","unit_price":20,"mrp":"20","name":"Snickers Chocolate Bar 22g","offer_desc":"","offer_id":"","sku_total":20,"skuid":"112220","qty":1}],"invoice_bill":"20","access_code":"20246922","bill_amount":"20","order_id":"TM04202203261020133437580","mobile":"9010227713"}}},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 13:34:55,186.186 INFO    ] {'data': {'server_status': 'order-started', 'order_id': 'TM04202203261020133437580', 'server_response': {'rstatus': True, 'msg': 'Order Data', 'status': True, 'data': {'invoice_bill': '20', 'bill_amount': '20', 'access_code': '20246922', 'proposed_sku_json': [{'image_url': 'https://images.tinymart.in/product/112220-2513.jpg', 'door_id': '2', 'tray_id': '34', 'unit_price': 20, 'mrp': '20', 'name': 'Snickers Chocolate Bar 22g', 'offer_id': '', 'sku_total': 20, 'qty': 1, 'skuid': '112220', 'offer_desc': ''}], 'order_id': 'TM04202203261020133437580', 'mobile': '9010227713'}}}, 'response': {'code': 'ORDER_EXISTS', 'msg': 'order updated successfully', 'status': True, 'data': 'order updated successfully'}}
[2026-10-20 13:34:55,189.189 INFO    ] 2026-10-20 13:34:55
[2026-10-20 13:34:55,234.234 INFO    ] 200
[2026-10-20 13:34:55,236.236 INFO    ] True
[2026-10-20 13:34:55,373.373 INFO    ] 200
[2026-10-20 13:34:55,375.375 INFO    ] {"SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "rstatus": false, "voiceNote": "Please Wait", "status": "False", "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait while we process your order", "Note": "", "Header": " Your order is under process  "}, "SectionMain": {"Header": "Processing Order"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 13:34:55,378.378 INFO    ] {'rstatus': False, 'SectionMain': {'Header': 'Processing Order'}, 'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'status': 'False', 'SectionStatus': {'UI_Header': '', 'Header': ' Your order is under process  ', 'SubHeader': 'Please wait while we process your order', 'Note': ''}, 'error': {'code': 20001, 'data': {}, 'umessage': 'In Progress', 'tmessage': 'In Progress'}, 'voiceNote': 'Please Wait'}
[2026-10-20 13:34:55,381.381 INFO    ] *** process_order ***
[2026-10-20 13:34:56,565.565 INFO    ] 200
[2026-10-20 13:34:56,567.567 INFO    ] {"SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "rstatus": true, "voiceNote": "Please Wait", "delay": 0, "status": "True", "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait while we process your order", "Note": "", "Header": " Your order is under process  "}, "SectionMain": {"Header": "Processing Order"}}
[2026-10-20 13:34:56,570.570 INFO    ] {'rstatus': True, 'SectionMain': {'Header': 'Processing Order'}, 'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'delay': 0, 'status': 'True', 'SectionStatus': {'UI_Header': '', 'Header': ' Your order is under process  ', 'SubHeader': 'Please wait while we process your order', 'Note': ''}, 'voiceNote': 'Please Wait'}
[2026-10-20 13:34:56,573.573 INFO    ] *** process_order ***
[2026-10-20 13:34:56,575.575 INFO    ] publish_status: order_id=TM04202203261020133437580
[2026-10-20 13:34:56,578.578 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020133437580
[2026-10-20 13:34:56,675.675 INFO    ] [publish_status] Message added to stream with ID: 1792483496619-0
[2026-10-20 13:34:56,677.677 INFO    ] Published to order:TM04202203261020133437580: {'server_status': 'doorOpened', 'order_id': 'TM04202203261020133437580', 'server_response': '{"rstatus": true, "SectionMain": {"Header": "Processing Order"}, "SectionSKU": {"Header": "Thank you for bearing with us :)", "skus": []}, "delay": 0, "status": "True", "SectionStatus": {"SubHeader": "You can pull the door now.", "Header": " Your order is under process  ", "Note": "", "UI_Header": ""}, "voiceNote": "Door is open..."}'} (ID: 1792483496619-0)
[2026-10-20 13:34:57,744.744 INFO    ] 2026-10-20 13:34:57
[2026-10-20 13:34:57,746.746 INFO    ] publish_status: order_id=TM04202203261020133437580
[2026-10-20 13:34:57,749.749 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020133437580
[2026-10-20 13:34:57,833.833 INFO    ] [publish_status] Message added to stream with ID: 1792483497779-0
[2026-10-20 13:34:57,836.836 INFO    ] Published to order:TM04202203261020133437580: {'server_status': 'processOrder', 'timestamp': '2026-10-20T08:04:57.745147Z', 'order_id': 'TM04202203261020133437580', 'server_response': '{"rstatus": true, "SectionMain": {"Header": "Processing Order"}, "SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "delay": 0, "status": "True", "SectionStatus": {"UI_Header": "", "Header": " Your order is under process  ", "SubHeader": "Please wait while we process your order", "Note": ""}, "voiceNote": "Please Wait"}'} (ID: 1792483497779-0)
[2026-10-20 13:34:57,980.980 INFO    ] {'server_status': 'processOrder', 'order_id': 'TM04202203261020133437580', 'server_response': {'rstatus': True, 'SectionMain': {'Header': 'Processing Order'}, 'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'delay': 0, 'status': 'True', 'SectionStatus': {'UI_Header': '', 'Header': ' Your order is under process  ', 'SubHeader': 'Please wait while we process your order', 'Note': ''}, 'voiceNote': 'Please Wait'}}
[2026-10-20 13:34:57,983.983 INFO    ] 200
[2026-10-20 13:34:57,986.986 INFO    ] {"data":{"server_status":"processOrder","order_id":"TM04202203261020133437580","server_response":{"rstatus":true,"SectionMain":{"Header":"Processing Order"},"SectionSKU":{"skus":[],"Header":"Thank you for bearing with us :)"},"delay":0,"status":"true","SectionStatus":{"UI_Header":"","Header":" Your order is under process  ","SubHeader":"Please wait while we process your order","Note":""},"voiceNote":"Please Wait"}},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 13:34:57,988.988 INFO    ] {'data': {'server_status': 'processOrder', 'order_id': 'TM04202203261020133437580', 'server_response': {'rstatus': True, 'SectionMain': {'Header': 'Processing Order'}, 'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'delay': 0, 'status': 'true', 'SectionStatus': {'UI_Header': '', 'Header': ' Your order is under process  ', 'SubHeader': 'Please wait while we process your order', 'Note': ''}, 'voiceNote': 'Please Wait'}}, 'response': {'code': 'ORDER_EXISTS', 'msg': 'order updated successfully', 'status': True, 'data': 'order updated successfully'}}
[2026-10-20 13:34:57,991.991 INFO    ] 2026-10-20 13:34:57
[2026-10-20 13:34:57,994.994 INFO    ] None
[2026-10-20 13:34:57,996.996 INFO    ] Opening Door now
[2026-10-20 13:34:57,998.998 INFO    ] Opening Door now
[2026-10-20 13:34:58,001.001 INFO    ] 08e5d1063504bf393c26f0bfa436e9f9
[2026-10-20 13:34:58,004.004 INFO    ] 2026-10-20 13:34:58
[2026-10-20 13:34:58,006.006 INFO    ] playing audio file
[2026-10-20 13:34:58,023.023 INFO    ] 2026-10-20 13:34:58
[2026-10-20 13:34:58,026.026 INFO    ] 2026-10-20 13:34:58
[2026-10-20 13:35:01,136.136 INFO    ] 200
[2026-10-20 13:35:01,139.139 INFO    ] {"SectionSKU": {"skus": [{"name": "Snickers Chocolate Bar 22g", "qty": 1}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Door 2 is open now", "status": "False", "SectionStatus": {"UI_Header": "DOOR 2\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 2"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 13:35:01,142.142 INFO    ] {'rstatus': False, 'SectionMain': {'Header': 'Door Open'}, 'SectionSKU': {'skus': [{'name': 'Snickers Chocolate Bar 22g', 'qty': 1}], 'Header': 'Pick the below items from the door'}, 'status': 'False', 'SectionStatus': {'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'Header': 'Please Close Door 2', 'SubHeader': 'Please Pick the Products and close the door', 'Note': 'Please Close the door after picking up products'}, 'error': {'code': 20001, 'data': {}, 'umessage': 'In Progress', 'tmessage': 'In Progress'}, 'voiceNote': 'Door 2 is open now'}
[2026-10-20 13:35:04,254.254 INFO    ] 200
[2026-10-20 13:35:04,257.257 INFO    ] {"SectionSKU": {"skus": [{"name": "Snickers Chocolate Bar 22g", "qty": 1}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Please close door 2", "status": "False", "SectionStatus": {"UI_Header": "DOOR 2\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 2"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 13:35:04,260.260 INFO    ] {'rstatus': False, 'SectionMain': {'Header': 'Door Open'}, 'SectionSKU': {'skus': [{'name': 'Snickers Chocolate Bar 22g', 'qty': 1}], 'Header': 'Pick the below items from the door'}, 'status': 'False', 'SectionStatus': {'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'Header': 'Please Close Door 2', 'SubHeader': 'Please Pick the Products and close the door', 'Note': 'Please Close the door after picking up products'}, 'error': {'code': 20001, 'data': {}, 'umessage': 'In Progress', 'tmessage': 'In Progress'}, 'voiceNote': 'Please close door 2'}
[2026-10-20 13:35:07,336.336 INFO    ] 200
[2026-10-20 13:35:07,338.338 INFO    ] {"SectionSKU": {"skus": [{"name": "Snickers Chocolate Bar 22g", "qty": 1}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Please close door 2", "status": "False", "SectionStatus": {"UI_Header": "DOOR 2\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 2"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 13:35:07,341.341 INFO    ] Please close door 2
[2026-10-20 13:35:07,343.343 INFO    ] Please close door 2
[2026-10-20 13:35:07,349.349 INFO    ] 758e46684c76e887a5f58d4738034bed
[2026-10-20 13:35:07,352.352 INFO    ] 2026-10-20 13:35:07
[2026-10-20 13:35:07,355.355 INFO    ] playing audio file
[2026-10-20 13:35:07,374.374 INFO    ] 2026-10-20 13:35:07
[2026-10-20 13:35:07,377.377 INFO    ] publish_status: order_id=TM04202203261020133437580
[2026-10-20 13:35:07,380.380 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020133437580
[2026-10-20 13:35:07,478.478 INFO    ] [publish_status] Message added to stream with ID: 1792483507424-0
[2026-10-20 13:35:07,481.481 INFO    ] Published to order:TM04202203261020133437580: {'server_status': 'OrderStatus', 'timestamp': '2026-10-20T08:05:07.375876Z', 'order_id': 'TM04202203261020133437580', 'server_response': '{"rstatus": false, "SectionMain": {"Header": "Door Open"}, "SectionSKU": {"skus": [{"name": "Snickers Chocolate Bar 22g", "qty": 1}], "Header": "Pick the below items from the door"}, "status": "False", "SectionStatus": {"UI_Header": "DOOR 2\\nIS \\nOPEN \\nNOW", "Header": "Please Close Door 2", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products"}, "error": {"code": 20001, "data": {}, "umessage": "In Progress", "tmessage": "In Progress"}, "voiceNote": "Please close door 2"}'} (ID: 1792483507424-0)
[2026-10-20 13:35:08,052.052 INFO    ] {'server_status': 'OrderStatus', 'order_id': 'TM04202203261020133437580', 'server_response': {'rstatus': False, 'SectionMain': {'Header': 'Door Open'}, 'SectionSKU': {'skus': [{'name': 'Snickers Chocolate Bar 22g', 'qty': 1}], 'Header': 'Pick the below items from the door'}, 'status': 'False', 'SectionStatus': {'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'Header': 'Please Close Door 2', 'SubHeader': 'Please Pick the Products and close the door', 'Note': 'Please Close the door after picking up products'}, 'error': {'code': 20001, 'data': {}, 'umessage': 'In Progress', 'tmessage': 'In Progress'}, 'voiceNote': 'Please close door 2'}}
[2026-10-20 13:35:08,055.055 INFO    ] 200
[2026-10-20 13:35:08,057.057 INFO    ] {"data":{"server_status":"OrderStatus","order_id":"TM04202203261020133437580","server_response":{"rstatus":false,"SectionMain":{"Header":"Door Open"},"SectionSKU":{"skus":[{"name":"Snickers Chocolate Bar 22g","qty":1}],"Header":"Pick the below items from the door"},"status":"false","SectionStatus":{"UI_Header":"DOOR 2\nIS \nOPEN \nNOW","Header":"Please Close Door 2","SubHeader":"Please Pick the Products and close the door","Note":"Please Close the door after picking up products"},"error":{"code":20001,"data":[],"umessage":"In Progress","tmessage":"In Progress"},"voiceNote":"Please close door 2"}},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 13:35:08,060.060 INFO    ] {'data': {'server_status': 'OrderStatus', 'order_id': 'TM04202203261020133437580', 'server_response': {'rstatus': False, 'SectionMain': {'Header': 'Door Open'}, 'SectionSKU': {'skus': [{'name': 'Snickers Chocolate Bar 22g', 'qty': 1}], 'Header': 'Pick the below items from the door'}, 'status': 'false', 'SectionStatus': {'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'Header': 'Please Close Door 2', 'SubHeader': 'Please Pick the Products and close the door', 'Note': 'Please Close the door after picking up products'}, 'voiceNote': 'Please close door 2', 'error': {'code': 20001, 'data': [], 'umessage': 'In Progress', 'tmessage': 'In Progress'}}}, 'response': {'code': 'ORDER_EXISTS', 'msg': 'order updated successfully', 'status': True, 'data': 'order updated successfully'}}
[2026-10-20 13:35:08,063.063 INFO    ] {'rstatus': False, 'SectionMain': {'Header': 'Door Open'}, 'SectionSKU': {'skus': [{'name': 'Snickers Chocolate Bar 22g', 'qty': 1}], 'Header': 'Pick the below items from the door'}, 'status': 'False', 'SectionStatus': {'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'Header': 'Please Close Door 2', 'SubHeader': 'Please Pick the Products and close the door', 'Note': 'Please Close the door after picking up products'}, 'error': {'code': 20001, 'data': {}, 'umessage': 'In Progress', 'tmessage': 'In Progress'}, 'voiceNote': 'Please close door 2'}
[2026-10-20 13:35:11,129.129 INFO    ] 200
[2026-10-20 13:35:11,132.132 INFO    ] {"SectionSKU": {"skus": [], "Header": "If you like us, tell others... else tell us"}, "rstatus": true, "voiceNote": "Transaction Completed", "delay": 100, "status": "True", "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait for invoice to generate", "Note": "If any due amount, clear at https://go.tinymart.in", "Header": " Order is complete "}, "SectionMain": {"Header": "Door Closed"}}
[2026-10-20 13:35:11,135.135 INFO    ] {'rstatus': True, 'SectionMain': {'Header': 'Door Closed'}, 'SectionSKU': {'skus': [], 'Header': 'If you like us, tell others... else tell us'}, 'delay': 100, 'status': 'True', 'SectionStatus': {'UI_Header': '', 'Header': ' Order is complete ', 'SubHeader': 'Please wait for invoice to generate', 'Note': 'If any due amount, clear at https://go.tinymart.in'}, 'voiceNote': 'Transaction Completed'}
[2026-10-20 13:35:11,138.138 INFO    ] 2026-10-20 13:35:11
[2026-10-20 13:35:11,141.141 INFO    ] Order Completed 
[2026-10-20 13:35:11,143.143 INFO    ] Order Completed 
[2026-10-20 13:35:11,146.146 INFO    ] 193c8a8cf3bf490ccfe0b23598544a83
[2026-10-20 13:35:11,149.149 INFO    ] 2026-10-20 13:35:11
[2026-10-20 13:35:11,152.152 INFO    ] playing audio file
[2026-10-20 13:35:11,171.171 INFO    ] 2026-10-20 13:35:11
[2026-10-20 13:35:11,175.175 INFO    ] {'rstatus': True, 'SectionMain': {'Header': 'Door Closed'}, 'SectionSKU': {'skus': [], 'Header': 'If you like us, tell others... else tell us'}, 'delay': 100, 'status': 'True', 'SectionStatus': {'UI_Header': '', 'Header': ' Order is complete ', 'SubHeader': 'Please wait for invoice to generate', 'Note': 'If any due amount, clear at https://go.tinymart.in'}, 'voiceNote': 'Transaction Completed'}
[2026-10-20 13:35:11,178.178 INFO    ] 2026-10-20 13:35:11
[2026-10-20 13:35:12,315.315 INFO    ] 200
[2026-10-20 13:35:12,318.318 INFO    ] {"rstatus": true, "logic": "WBL", "skus": [{"door_id": "", "name": "Snickers Chocolate Bar 22g per peice", "mrp": "20", "skuid": "112220", "unit_price": "20", "qty": 1, "tray_id": "34", "sku_total": 20.0, "image_url": "https://images.tinymart.in/product/112220-2513.jpg"}], "orderId": "TM04202203261020133437580", "res": "True", "total_amount": 20.0, "anomaly": 0}
[2026-10-20 13:35:12,322.322 INFO    ] {'rstatus': True, 'anomaly': 0, 'skus': [{'door_id': '', 'image_url': 'https://images.tinymart.in/product/112220-2513.jpg', 'tray_id': '34', 'unit_price': '20', 'mrp': '20', 'name': 'Snickers Chocolate Bar 22g per peice', 'sku_total': 20.0, 'skuid': '112220', 'qty': 1}], 'res': 'True', 'orderId': 'TM04202203261020133437580', 'logic': 'WBL', 'total_amount': 20.0}
[2026-10-20 13:35:12,325.325 INFO    ] {'rstatus': True, 'anomaly': 0, 'skus': [{'door_id': '', 'image_url': 'https://images.tinymart.in/product/112220-2513.jpg', 'tray_id': '34', 'unit_price': '20', 'mrp': '20', 'name': 'Snickers Chocolate Bar 22g per peice', 'sku_total': 20.0, 'skuid': '112220', 'qty': 1}], 'res': 'True', 'orderId': 'TM04202203261020133437580', 'logic': 'WBL', 'total_amount': 20.0}
[2026-10-20 13:35:12,328.328 INFO    ] 2026-10-20 13:35:12
[2026-10-20 13:35:12,331.331 INFO    ] 2026-10-20 13:35:12
[2026-10-20 13:35:12,334.334 INFO    ] 20
[2026-10-20 13:35:12,337.337 INFO    ] 2026-10-20 13:35:12
[2026-10-20 13:35:12,339.339 INFO    ] 2026-10-20 13:35:12
[2026-10-20 13:35:12,342.342 INFO    ]  Your Bill Amount is 20
[2026-10-20 13:35:12,345.345 INFO    ]  Your Bill Amount is 20
[2026-10-20 13:35:12,348.348 INFO    ] 69e7720cf62ffa67ab0522541575e508
[2026-10-20 13:35:12,351.351 INFO    ] 2026-10-20 13:35:12
[2026-10-20 13:35:12,353.353 INFO    ] playing audio file
[2026-10-20 13:35:12,373.373 INFO    ] 2026-10-20 13:35:12
[2026-10-20 13:35:12,377.377 INFO    ] 2026-10-20 13:35:12
[2026-10-20 13:35:12,381.381 INFO    ] publish_status: order_id=TM04202203261020133437580
[2026-10-20 13:35:12,384.384 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020133437580
[2026-10-20 13:35:12,487.487 INFO    ] [publish_status] Message added to stream with ID: 1792483512432-0
[2026-10-20 13:35:12,490.490 INFO    ] Published to order:TM04202203261020133437580: {'server_status': 'invoiceOrder', 'timestamp': '2026-10-20T08:05:12.378892Z', 'order_id': 'TM04202203261020133437580', 'server_response': '{"rstatus": true, "anomaly": 0, "skus": [{"door_id": "", "image_url": "https://images.tinymart.in/product/112220-2513.jpg", "tray_id": "34", "unit_price": "20", "mrp": "20", "name": "Snickers Chocolate Bar 22g per peice", "sku_total": 20.0, "skuid": "112220", "qty": 1}], "res": "True", "orderId": "TM04202203261020133437580", "logic": "WBL", "total_amount": 20.0}'} (ID: 1792483512432-0)
[2026-10-20 13:35:12,649.649 INFO    ] {'server_status': 'invoiceOrder', 'order_id': 'TM04202203261020133437580', 'server_response': {'rstatus': True, 'anomaly': 0, 'skus': [{'door_id': '', 'image_url': 'https://images.tinymart.in/product/112220-2513.jpg', 'tray_id': '34', 'unit_price': '20', 'mrp': '20', 'name': 'Snickers Chocolate Bar 22g per peice', 'sku_total': 20.0, 'skuid': '112220', 'qty': 1}], 'res': 'True', 'orderId': 'TM04202203261020133437580', 'logic': 'WBL', 'total_amount': 20.0}}
[2026-10-20 13:35:12,651.651 INFO    ] 200
[2026-10-20 13:35:12,654.654 INFO    ] {"data":{"server_status":"invoiceOrder","order_id":"TM04202203261020133437580","server_response":{"rstatus":true,"anomaly":0,"skus":[{"door_id":"","image_url":"https:\/\/images.tinymart.in\/product\/112220-2513.jpg","tray_id":"34","unit_price":"20","mrp":"20","name":"Snickers Chocolate Bar 22g per peice","sku_total":20,"skuid":"112220","qty":1}],"res":"true","orderId":"TM04202203261020133437580","logic":"WBL","total_amount":20}},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 13:35:12,657.657 INFO    ] {'data': {'server_status': 'invoiceOrder', 'order_id': 'TM04202203261020133437580', 'server_response': {'rstatus': True, 'skus': [{'door_id': '', 'image_url': 'https://images.tinymart.in/product/112220-2513.jpg', 'tray_id': '34', 'unit_price': '20', 'mrp': '20', 'name': 'Snickers Chocolate Bar 22g per peice', 'sku_total': 20, 'skuid': '112220', 'qty': 1}], 'res': 'true', 'orderId': 'TM04202203261020133437580', 'logic': 'WBL', 'anomaly': 0, 'total_amount': 20}}, 'response': {'code': 'ORDER_EXISTS', 'msg': 'order updated successfully', 'status': True, 'data': 'order updated successfully'}}
[2026-10-20 13:35:12,659.659 INFO    ] {'data': {'server_status': 'invoiceOrder', 'order_id': 'TM04202203261020133437580', 'server_response': {'rstatus': True, 'skus': [{'door_id': '', 'image_url': 'https://images.tinymart.in/product/112220-2513.jpg', 'tray_id': '34', 'unit_price': '20', 'mrp': '20', 'name': 'Snickers Chocolate Bar 22g per peice', 'sku_total': 20, 'skuid': '112220', 'qty': 1}], 'res': 'true', 'orderId': 'TM04202203261020133437580', 'logic': 'WBL', 'anomaly': 0, 'total_amount': 20}}, 'response': {'code': 'ORDER_EXISTS', 'msg': 'order updated successfully', 'status': True, 'data': 'order updated successfully'}}
[2026-10-20 13:35:12,662.662 INFO    ] 2026-10-20 13:35:12
[2026-10-20 13:35:14,377.377 INFO    ] 200
[2026-10-20 13:35:14,379.379 INFO    ] {"orders": [], "order_items_synced": [], "tray_synced": ["TM04202203261020133437580", "TM04202203261020133437580", "TM04202203261020133437580", "TM04202203261020133437580", "TM04202203261020133437580", "TM04202203261020133437580", "TM04202203261020133437580", "TM04202203261020133437580", "TM04202203261020133437580", "TM04202203261020133437580", "TM04202203261020133437580", "TM04202203261020133437580", "TM04202203261020133437580", "TM04202203261020133437580", "TM04202203261020133437580", "TM04202203261020133437580", "TM04202203261020133437580", "TM04202203261020133437580", "TM04202203261020133437580", "TM04202203261020133437580", "TM04202203261020133437580", "TM04202203261020133437580", "TM04202203261020133437580", "TM04202203261020133437580", "TM04202203261020133437580", "TM04202203261020133437580", "TM04202203261020133437580", "TM04202203261020133437580", "TM04202203261020133437580", "TM04202203261020133437580", "TM04202203261020133437580", "TM04202203261020133437580", "TM04202203261020133437580"], "orders_synced": [], "status": true, "tray_sync": [], "order_items": [], "orders_data": [], "orders_data_synced": []}
[2026-10-20 13:35:14,382.382 INFO    ] 2026-10-20 13:35:14
[2026-10-20 13:35:14,526.526 INFO    ] 200
[2026-10-20 13:35:14,529.529 INFO    ] True
[2026-10-20 13:35:14,532.532 INFO    ] cleanup_start_order_file_after_processing: order_id=TM04202203261020133437580
[2026-10-20 13:35:14,536.536 INFO    ] start order file deleted
[2026-10-20 13:35:14,539.539 INFO    ] Checking for system updates...
[2026-10-20 13:35:14,603.603 INFO    ] 200
[2026-10-20 13:35:14,606.606 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:35:14,797.797 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:35:14,801.801 INFO    ] No update needed
[2026-10-20 13:35:14,804.804 INFO    ] Checking for camera pi updates...
[2026-10-20 13:35:14,850.850 INFO    ] 200
[2026-10-20 13:35:14,853.853 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:35:14,945.945 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:35:14,977.977 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:35:14,980.980 INFO    ] No camera update needed
[2026-10-20 13:35:14,983.983 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:35:14,985.985 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:35:14,991.991 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:35:14,996.996 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:35:17,036.036 INFO    ] ================================================
[2026-10-20 13:35:17,051.051 INFO    ] Launching Daemon at Tue Oct 20 13:35:17 IST 2026
[2026-10-20 13:35:17,062.062 INFO    ] ================================================
[2026-10-20 13:35:17,650.650 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:35:17
[2026-10-20 13:35:18,253.253 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:35:18,535.535 INFO    ] Initializing speech engine...
[2026-10-20 13:35:18,540.540 INFO    ] 2026-10-20 13:35:18
[2026-10-20 13:35:18,790.790 INFO    ] 2026-10-20 13:35:18
[2026-10-20 13:35:18,826.826 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:35:19,085.085 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:35:19,092.092 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:35:19,295.295 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:35:19,349.349 INFO    ] time= 20/10/2026 13:35:19
[2026-10-20 13:35:19,360.360 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:35:19,379.379 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:35:19,535.535 INFO    ] No existing commands found in stream
[2026-10-20 13:35:24,571.571 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:35:24,574.574 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-10-20 13:35:27,098.098 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:35:27,101.101 INFO    ] Checking for system updates...
[2026-10-20 13:35:27,141.141 INFO    ] 200
[2026-10-20 13:35:27,144.144 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:35:27,197.197 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:35:27,200.200 INFO    ] No update needed
[2026-10-20 13:35:27,202.202 INFO    ] Checking for camera pi updates...
[2026-10-20 13:35:27,240.240 INFO    ] 200
[2026-10-20 13:35:27,242.242 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:35:27,283.283 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:35:27,328.328 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:35:27,331.331 INFO    ] No camera update needed
[2026-10-20 13:35:27,333.333 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:35:27,335.335 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:35:27,341.341 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:35:27,346.346 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:35:29,387.387 INFO    ] ================================================
[2026-10-20 13:35:29,403.403 INFO    ] Launching Daemon at Tue Oct 20 13:35:29 IST 2026
[2026-10-20 13:35:29,414.414 INFO    ] ================================================
[2026-10-20 13:35:29,999.999 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:35:29
[2026-10-20 13:35:30,602.602 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:35:30,863.863 INFO    ] Initializing speech engine...
[2026-10-20 13:35:30,872.872 INFO    ] 2026-10-20 13:35:30
[2026-10-20 13:35:31,170.170 INFO    ] 2026-10-20 13:35:31
[2026-10-20 13:35:31,205.205 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:35:31,419.419 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:35:31,439.439 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:35:31,571.571 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:35:31,593.593 INFO    ] time= 20/10/2026 13:35:31
[2026-10-20 13:35:31,598.598 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:35:31,605.605 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:35:31,680.680 INFO    ] No existing commands found in stream
[2026-10-20 13:35:36,696.696 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:35:36,699.699 INFO    ] Waiting 0.87 seconds before fallback handling...
[2026-10-20 13:35:38,046.046 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:35:38,048.048 INFO    ] Checking for system updates...
[2026-10-20 13:35:38,084.084 INFO    ] 200
[2026-10-20 13:35:38,086.086 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:35:38,138.138 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:35:38,140.140 INFO    ] No update needed
[2026-10-20 13:35:38,143.143 INFO    ] Checking for camera pi updates...
[2026-10-20 13:35:38,179.179 INFO    ] 200
[2026-10-20 13:35:38,182.182 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:35:38,230.230 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:35:38,281.281 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:35:38,284.284 INFO    ] No camera update needed
[2026-10-20 13:35:38,286.286 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:35:38,289.289 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:35:38,295.295 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:35:38,301.301 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:35:40,342.342 INFO    ] ================================================
[2026-10-20 13:35:40,357.357 INFO    ] Launching Daemon at Tue Oct 20 13:35:40 IST 2026
[2026-10-20 13:35:40,368.368 INFO    ] ================================================
[2026-10-20 13:35:41,019.019 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:35:41
[2026-10-20 13:35:41,692.692 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:35:41,995.995 INFO    ] Initializing speech engine...
[2026-10-20 13:35:42,008.008 INFO    ] 2026-10-20 13:35:41
[2026-10-20 13:35:42,292.292 INFO    ] 2026-10-20 13:35:42
[2026-10-20 13:35:42,402.402 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:35:42,616.616 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:35:42,622.622 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:35:42,805.805 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:35:42,821.821 INFO    ] time= 20/10/2026 13:35:42
[2026-10-20 13:35:42,840.840 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:35:42,869.869 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:35:42,995.995 INFO    ] No existing commands found in stream
[2026-10-20 13:35:48,025.025 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:35:48,029.029 INFO    ] Waiting 2.36 seconds before fallback handling...
[2026-10-20 13:35:50,882.882 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:35:50,885.885 INFO    ] Checking for system updates...
[2026-10-20 13:35:50,925.925 INFO    ] 200
[2026-10-20 13:35:50,927.927 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:35:50,979.979 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:35:50,982.982 INFO    ] No update needed
[2026-10-20 13:35:50,985.985 INFO    ] Checking for camera pi updates...
[2026-10-20 13:35:51,020.020 INFO    ] 200
[2026-10-20 13:35:51,022.022 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:35:51,063.063 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:35:51,113.113 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:35:51,116.116 INFO    ] No camera update needed
[2026-10-20 13:35:51,118.118 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:35:51,121.121 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:35:51,127.127 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:35:51,133.133 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:35:53,173.173 INFO    ] ================================================
[2026-10-20 13:35:53,188.188 INFO    ] Launching Daemon at Tue Oct 20 13:35:53 IST 2026
[2026-10-20 13:35:53,199.199 INFO    ] ================================================
[2026-10-20 13:35:53,785.785 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:35:53
[2026-10-20 13:35:54,383.383 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:35:54,660.660 INFO    ] Initializing speech engine...
[2026-10-20 13:35:54,665.665 INFO    ] 2026-10-20 13:35:54
[2026-10-20 13:35:54,928.928 INFO    ] 2026-10-20 13:35:54
[2026-10-20 13:35:54,958.958 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:35:55,207.207 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:35:55,213.213 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:35:55,347.347 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:35:55,401.401 INFO    ] time= 20/10/2026 13:35:55
[2026-10-20 13:35:55,466.466 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:35:55,481.481 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:35:55,641.641 INFO    ] No existing commands found in stream
[2026-10-20 13:36:00,671.671 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:36:00,674.674 INFO    ] Waiting 1.70 seconds before fallback handling...
[2026-10-20 13:36:02,912.912 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:36:02,915.915 INFO    ] Checking for system updates...
[2026-10-20 13:36:02,954.954 INFO    ] 200
[2026-10-20 13:36:02,957.957 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:36:03,033.033 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:36:03,035.035 INFO    ] No update needed
[2026-10-20 13:36:03,038.038 INFO    ] Checking for camera pi updates...
[2026-10-20 13:36:03,081.081 INFO    ] 200
[2026-10-20 13:36:03,083.083 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:36:03,137.137 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:36:03,177.177 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:36:03,183.183 INFO    ] No camera update needed
[2026-10-20 13:36:03,186.186 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:36:03,190.190 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:36:03,199.199 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:36:03,205.205 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:36:05,252.252 INFO    ] ================================================
[2026-10-20 13:36:05,267.267 INFO    ] Launching Daemon at Tue Oct 20 13:36:05 IST 2026
[2026-10-20 13:36:05,277.277 INFO    ] ================================================
[2026-10-20 13:36:05,859.859 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:36:05
[2026-10-20 13:36:06,460.460 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:36:06,732.732 INFO    ] Initializing speech engine...
[2026-10-20 13:36:06,743.743 INFO    ] 2026-10-20 13:36:06
[2026-10-20 13:36:07,004.004 INFO    ] 2026-10-20 13:36:06
[2026-10-20 13:36:07,057.057 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:36:07,306.306 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:36:07,314.314 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:36:07,513.513 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:36:07,548.548 INFO    ] time= 20/10/2026 13:36:07
[2026-10-20 13:36:07,554.554 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:36:07,575.575 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:36:07,693.693 INFO    ] No existing commands found in stream
[2026-10-20 13:36:12,714.714 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:36:12,717.717 INFO    ] Waiting 1.81 seconds before fallback handling...
[2026-10-20 13:36:14,998.998 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:36:15,000.000 INFO    ] Checking for system updates...
[2026-10-20 13:36:15,036.036 INFO    ] 200
[2026-10-20 13:36:15,038.038 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:36:15,097.097 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:36:15,100.100 INFO    ] No update needed
[2026-10-20 13:36:15,102.102 INFO    ] Checking for camera pi updates...
[2026-10-20 13:36:15,135.135 INFO    ] 200
[2026-10-20 13:36:15,138.138 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:36:15,181.181 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:36:15,227.227 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:36:15,229.229 INFO    ] No camera update needed
[2026-10-20 13:36:15,232.232 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:36:15,234.234 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:36:15,239.239 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:36:15,244.244 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:36:17,286.286 INFO    ] ================================================
[2026-10-20 13:36:17,302.302 INFO    ] Launching Daemon at Tue Oct 20 13:36:17 IST 2026
[2026-10-20 13:36:17,312.312 INFO    ] ================================================
[2026-10-20 13:36:17,892.892 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:36:17
[2026-10-20 13:36:18,489.489 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:36:18,761.761 INFO    ] Initializing speech engine...
[2026-10-20 13:36:18,770.770 INFO    ] 2026-10-20 13:36:18
[2026-10-20 13:36:19,031.031 INFO    ] 2026-10-20 13:36:19
[2026-10-20 13:36:19,061.061 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:36:19,312.312 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:36:19,318.318 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:36:19,535.535 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:36:19,574.574 INFO    ] time= 20/10/2026 13:36:19
[2026-10-20 13:36:19,580.580 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:36:19,600.600 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:36:19,730.730 INFO    ] No existing commands found in stream
[2026-10-20 13:36:24,749.749 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:36:24,752.752 INFO    ] Waiting 1.57 seconds before fallback handling...
[2026-10-20 13:36:26,825.825 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:36:26,828.828 INFO    ] Checking for system updates...
[2026-10-20 13:36:26,863.863 INFO    ] 200
[2026-10-20 13:36:26,866.866 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:36:26,924.924 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:36:26,927.927 INFO    ] No update needed
[2026-10-20 13:36:26,929.929 INFO    ] Checking for camera pi updates...
[2026-10-20 13:36:26,962.962 INFO    ] 200
[2026-10-20 13:36:26,965.965 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:36:27,008.008 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:36:27,054.054 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:36:27,057.057 INFO    ] No camera update needed
[2026-10-20 13:36:27,059.059 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:36:27,061.061 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:36:27,066.066 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:36:27,071.071 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:36:29,113.113 INFO    ] ================================================
[2026-10-20 13:36:29,128.128 INFO    ] Launching Daemon at Tue Oct 20 13:36:29 IST 2026
[2026-10-20 13:36:29,139.139 INFO    ] ================================================
[2026-10-20 13:36:29,773.773 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:36:29
[2026-10-20 13:36:30,425.425 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:36:30,724.724 INFO    ] Initializing speech engine...
[2026-10-20 13:36:30,731.731 INFO    ] 2026-10-20 13:36:30
[2026-10-20 13:36:31,001.001 INFO    ] 2026-10-20 13:36:30
[2026-10-20 13:36:31,036.036 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:36:31,291.291 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:36:31,301.301 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:36:31,517.517 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:36:31,567.567 INFO    ] time= 20/10/2026 13:36:31
[2026-10-20 13:36:31,574.574 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:36:31,593.593 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:36:31,742.742 INFO    ] No existing commands found in stream
[2026-10-20 13:36:36,770.770 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:36:36,773.773 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-10-20 13:36:38,361.361 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:36:38,364.364 INFO    ] Checking for system updates...
[2026-10-20 13:36:38,404.404 INFO    ] 200
[2026-10-20 13:36:38,406.406 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:36:38,467.467 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:36:38,470.470 INFO    ] No update needed
[2026-10-20 13:36:38,473.473 INFO    ] Checking for camera pi updates...
[2026-10-20 13:36:38,507.507 INFO    ] 200
[2026-10-20 13:36:38,509.509 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:36:38,552.552 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:36:38,600.600 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:36:38,603.603 INFO    ] No camera update needed
[2026-10-20 13:36:38,605.605 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:36:38,608.608 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:36:38,614.614 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:36:38,620.620 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:36:40,659.659 INFO    ] ================================================
[2026-10-20 13:36:40,674.674 INFO    ] Launching Daemon at Tue Oct 20 13:36:40 IST 2026
[2026-10-20 13:36:40,685.685 INFO    ] ================================================
[2026-10-20 13:36:41,266.266 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:36:41
[2026-10-20 13:36:41,864.864 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:36:42,129.129 INFO    ] Initializing speech engine...
[2026-10-20 13:36:42,154.154 INFO    ] 2026-10-20 13:36:42
[2026-10-20 13:36:42,427.427 INFO    ] 2026-10-20 13:36:42
[2026-10-20 13:36:42,462.462 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:36:42,685.685 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:36:42,745.745 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:36:42,908.908 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:36:42,963.963 INFO    ] time= 20/10/2026 13:36:42
[2026-10-20 13:36:43,012.012 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:36:43,054.054 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:36:43,185.185 INFO    ] No existing commands found in stream
[2026-10-20 13:36:48,212.212 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:36:48,215.215 INFO    ] Waiting 2.89 seconds before fallback handling...
[2026-10-20 13:36:51,613.613 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 13:36:51,616.616 INFO    ] Checking for system updates...
[2026-10-20 13:36:51,654.654 INFO    ] 200
[2026-10-20 13:36:51,657.657 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:36:51,714.714 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:36:51,717.717 INFO    ] No update needed
[2026-10-20 13:36:51,719.719 INFO    ] Checking for camera pi updates...
[2026-10-20 13:36:51,763.763 INFO    ] 200
[2026-10-20 13:36:51,765.765 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:36:51,805.805 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:36:51,844.844 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:36:51,847.847 INFO    ] No camera update needed
[2026-10-20 13:36:51,849.849 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:36:51,851.851 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:36:51,857.857 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:36:51,862.862 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:36:53,902.902 INFO    ] ================================================
[2026-10-20 13:36:53,918.918 INFO    ] Launching Daemon at Tue Oct 20 13:36:53 IST 2026
[2026-10-20 13:36:53,929.929 INFO    ] ================================================
[2026-10-20 13:36:54,532.532 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:36:54
[2026-10-20 13:36:55,149.149 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:36:55,411.411 INFO    ] Initializing speech engine...
[2026-10-20 13:36:55,429.429 INFO    ] 2026-10-20 13:36:55
[2026-10-20 13:36:55,696.696 INFO    ] 2026-10-20 13:36:55
[2026-10-20 13:36:55,738.738 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:36:55,992.992 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:36:56,001.001 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:36:56,163.163 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:36:56,222.222 INFO    ] time= 20/10/2026 13:36:56
[2026-10-20 13:36:56,267.267 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:36:56,279.279 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:36:56,429.429 INFO    ] No existing commands found in stream
[2026-10-20 13:37:01,442.442 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:37:01,444.444 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-10-20 13:37:05,092.092 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 13:37:05,095.095 INFO    ] Checking for system updates...
[2026-10-20 13:37:05,130.130 INFO    ] 200
[2026-10-20 13:37:05,132.132 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:37:05,183.183 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:37:05,186.186 INFO    ] No update needed
[2026-10-20 13:37:05,188.188 INFO    ] Checking for camera pi updates...
[2026-10-20 13:37:05,221.221 INFO    ] 200
[2026-10-20 13:37:05,223.223 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:37:05,264.264 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:37:05,314.314 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:37:05,317.317 INFO    ] No camera update needed
[2026-10-20 13:37:05,319.319 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:37:05,322.322 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:37:05,327.327 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:37:05,332.332 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:37:07,372.372 INFO    ] ================================================
[2026-10-20 13:37:07,387.387 INFO    ] Launching Daemon at Tue Oct 20 13:37:07 IST 2026
[2026-10-20 13:37:07,398.398 INFO    ] ================================================
[2026-10-20 13:37:07,963.963 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:37:07
[2026-10-20 13:37:08,546.546 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:37:08,817.817 INFO    ] Initializing speech engine...
[2026-10-20 13:37:08,826.826 INFO    ] 2026-10-20 13:37:08
[2026-10-20 13:37:09,076.076 INFO    ] 2026-10-20 13:37:09
[2026-10-20 13:37:09,111.111 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:37:09,369.369 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:37:09,378.378 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:37:09,579.579 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:37:09,633.633 INFO    ] time= 20/10/2026 13:37:09
[2026-10-20 13:37:09,650.650 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:37:09,667.667 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:37:09,803.803 INFO    ] No existing commands found in stream
[2026-10-20 13:37:14,826.826 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:37:14,829.829 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-10-20 13:37:17,331.331 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:37:17,333.333 INFO    ] Checking for system updates...
[2026-10-20 13:37:17,369.369 INFO    ] 200
[2026-10-20 13:37:17,372.372 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:37:17,431.431 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:37:17,434.434 INFO    ] No update needed
[2026-10-20 13:37:17,436.436 INFO    ] Checking for camera pi updates...
[2026-10-20 13:37:17,476.476 INFO    ] 200
[2026-10-20 13:37:17,479.479 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:37:17,524.524 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:37:17,589.589 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:37:17,592.592 INFO    ] No camera update needed
[2026-10-20 13:37:17,594.594 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:37:17,597.597 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:37:17,603.603 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:37:17,609.609 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:37:19,650.650 INFO    ] ================================================
[2026-10-20 13:37:19,665.665 INFO    ] Launching Daemon at Tue Oct 20 13:37:19 IST 2026
[2026-10-20 13:37:19,675.675 INFO    ] ================================================
[2026-10-20 13:37:20,315.315 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:37:20
[2026-10-20 13:37:20,935.935 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:37:21,203.203 INFO    ] Initializing speech engine...
[2026-10-20 13:37:21,212.212 INFO    ] 2026-10-20 13:37:21
[2026-10-20 13:37:21,457.457 INFO    ] 2026-10-20 13:37:21
[2026-10-20 13:37:21,499.499 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:37:21,748.748 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:37:21,753.753 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:37:21,972.972 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:37:22,008.008 INFO    ] time= 20/10/2026 13:37:21
[2026-10-20 13:37:22,014.014 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:37:22,031.031 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:37:22,163.163 INFO    ] No existing commands found in stream
[2026-10-20 13:37:27,185.185 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:37:27,187.187 INFO    ] Waiting 0.02 seconds before fallback handling...
[2026-10-20 13:37:27,719.719 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:37:27,722.722 INFO    ] Checking for system updates...
[2026-10-20 13:37:27,758.758 INFO    ] 200
[2026-10-20 13:37:27,761.761 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:37:27,819.819 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:37:27,822.822 INFO    ] No update needed
[2026-10-20 13:37:27,825.825 INFO    ] Checking for camera pi updates...
[2026-10-20 13:37:27,866.866 INFO    ] 200
[2026-10-20 13:37:27,868.868 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:37:27,913.913 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:37:27,965.965 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:37:27,968.968 INFO    ] No camera update needed
[2026-10-20 13:37:27,971.971 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:37:27,973.973 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:37:27,979.979 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:37:27,985.985 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:37:30,025.025 INFO    ] ================================================
[2026-10-20 13:37:30,040.040 INFO    ] Launching Daemon at Tue Oct 20 13:37:30 IST 2026
[2026-10-20 13:37:30,051.051 INFO    ] ================================================
[2026-10-20 13:37:30,683.683 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:37:30
[2026-10-20 13:37:31,335.335 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:37:31,631.631 INFO    ] Initializing speech engine...
[2026-10-20 13:37:31,642.642 INFO    ] 2026-10-20 13:37:31
[2026-10-20 13:37:31,913.913 INFO    ] 2026-10-20 13:37:31
[2026-10-20 13:37:31,953.953 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:37:32,210.210 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:37:32,221.221 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:37:32,435.435 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:37:32,486.486 INFO    ] time= 20/10/2026 13:37:32
[2026-10-20 13:37:32,496.496 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:37:32,516.516 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:37:32,656.656 INFO    ] No existing commands found in stream
[2026-10-20 13:37:37,695.695 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:37:37,698.698 INFO    ] Waiting 2.95 seconds before fallback handling...
[2026-10-20 13:37:41,158.158 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:37:41,161.161 INFO    ] Checking for system updates...
[2026-10-20 13:37:41,196.196 INFO    ] 200
[2026-10-20 13:37:41,199.199 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:37:41,250.250 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:37:41,253.253 INFO    ] No update needed
[2026-10-20 13:37:41,255.255 INFO    ] Checking for camera pi updates...
[2026-10-20 13:37:41,289.289 INFO    ] 200
[2026-10-20 13:37:41,292.292 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:37:41,339.339 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:37:41,390.390 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:37:41,393.393 INFO    ] No camera update needed
[2026-10-20 13:37:41,395.395 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:37:41,397.397 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:37:41,403.403 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:37:41,408.408 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:37:43,448.448 INFO    ] ================================================
[2026-10-20 13:37:43,463.463 INFO    ] Launching Daemon at Tue Oct 20 13:37:43 IST 2026
[2026-10-20 13:37:43,474.474 INFO    ] ================================================
[2026-10-20 13:37:44,093.093 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:37:44
[2026-10-20 13:37:44,733.733 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:37:45,024.024 INFO    ] Initializing speech engine...
[2026-10-20 13:37:45,034.034 INFO    ] 2026-10-20 13:37:45
[2026-10-20 13:37:45,303.303 INFO    ] 2026-10-20 13:37:45
[2026-10-20 13:37:45,355.355 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:37:45,583.583 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:37:45,594.594 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:37:45,795.795 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:37:45,850.850 INFO    ] time= 20/10/2026 13:37:45
[2026-10-20 13:37:45,863.863 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:37:45,882.882 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:37:46,020.020 INFO    ] No existing commands found in stream
[2026-10-20 13:37:51,046.046 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:37:51,050.050 INFO    ] Waiting 1.69 seconds before fallback handling...
[2026-10-20 13:37:54,130.130 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:37:54,132.132 INFO    ] Checking for system updates...
[2026-10-20 13:37:54,171.171 INFO    ] 200
[2026-10-20 13:37:54,174.174 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:37:54,230.230 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:37:54,233.233 INFO    ] No update needed
[2026-10-20 13:37:54,235.235 INFO    ] Checking for camera pi updates...
[2026-10-20 13:37:54,269.269 INFO    ] 200
[2026-10-20 13:37:54,271.271 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:37:54,316.316 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:37:54,377.377 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:37:54,379.379 INFO    ] No camera update needed
[2026-10-20 13:37:54,382.382 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:37:54,384.384 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:37:54,389.389 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:37:54,394.394 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:37:56,434.434 INFO    ] ================================================
[2026-10-20 13:37:56,449.449 INFO    ] Launching Daemon at Tue Oct 20 13:37:56 IST 2026
[2026-10-20 13:37:56,459.459 INFO    ] ================================================
[2026-10-20 13:37:57,037.037 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:37:57
[2026-10-20 13:37:57,634.634 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:37:57,907.907 INFO    ] Initializing speech engine...
[2026-10-20 13:37:57,916.916 INFO    ] 2026-10-20 13:37:57
[2026-10-20 13:37:58,177.177 INFO    ] 2026-10-20 13:37:58
[2026-10-20 13:37:58,207.207 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:37:58,453.453 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:37:58,462.462 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:37:58,602.602 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:37:58,667.667 INFO    ] time= 20/10/2026 13:37:58
[2026-10-20 13:37:58,724.724 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:37:58,731.731 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:37:58,877.877 INFO    ] No existing commands found in stream
[2026-10-20 13:38:03,899.899 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:38:03,902.902 INFO    ] Waiting 2.40 seconds before fallback handling...
[2026-10-20 13:38:06,856.856 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:38:06,859.859 INFO    ] Checking for system updates...
[2026-10-20 13:38:06,900.900 INFO    ] 200
[2026-10-20 13:38:06,903.903 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:38:06,954.954 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:38:06,956.956 INFO    ] No update needed
[2026-10-20 13:38:06,959.959 INFO    ] Checking for camera pi updates...
[2026-10-20 13:38:06,997.997 INFO    ] 200
[2026-10-20 13:38:07,000.000 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:38:07,039.039 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:38:07,100.100 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:38:07,102.102 INFO    ] No camera update needed
[2026-10-20 13:38:07,104.104 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:38:07,107.107 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:38:07,112.112 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:38:07,117.117 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:38:09,158.158 INFO    ] ================================================
[2026-10-20 13:38:09,173.173 INFO    ] Launching Daemon at Tue Oct 20 13:38:09 IST 2026
[2026-10-20 13:38:09,184.184 INFO    ] ================================================
[2026-10-20 13:38:09,827.827 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:38:09
[2026-10-20 13:38:10,487.487 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:38:10,786.786 INFO    ] Initializing speech engine...
[2026-10-20 13:38:10,793.793 INFO    ] 2026-10-20 13:38:10
[2026-10-20 13:38:11,064.064 INFO    ] 2026-10-20 13:38:11
[2026-10-20 13:38:11,100.100 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:38:11,359.359 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:38:11,365.365 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:38:11,584.584 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:38:11,631.631 INFO    ] time= 20/10/2026 13:38:11
[2026-10-20 13:38:11,649.649 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:38:11,656.656 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:38:11,805.805 INFO    ] No existing commands found in stream
[2026-10-20 13:38:16,838.838 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:38:16,841.841 INFO    ] Waiting 3.43 seconds before fallback handling...
[2026-10-20 13:38:20,796.796 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:38:20,799.799 INFO    ] Checking for system updates...
[2026-10-20 13:38:20,839.839 INFO    ] 200
[2026-10-20 13:38:20,842.842 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:38:20,894.894 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:38:20,897.897 INFO    ] No update needed
[2026-10-20 13:38:20,900.900 INFO    ] Checking for camera pi updates...
[2026-10-20 13:38:20,934.934 INFO    ] 200
[2026-10-20 13:38:20,936.936 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:38:20,982.982 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:38:21,031.031 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:38:21,034.034 INFO    ] No camera update needed
[2026-10-20 13:38:21,036.036 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:38:21,039.039 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:38:21,045.045 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:38:21,051.051 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:38:23,091.091 INFO    ] ================================================
[2026-10-20 13:38:23,106.106 INFO    ] Launching Daemon at Tue Oct 20 13:38:23 IST 2026
[2026-10-20 13:38:23,116.116 INFO    ] ================================================
[2026-10-20 13:38:23,682.682 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:38:23
[2026-10-20 13:38:24,267.267 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:38:24,526.526 INFO    ] Initializing speech engine...
[2026-10-20 13:38:24,551.551 INFO    ] 2026-10-20 13:38:24
[2026-10-20 13:38:24,824.824 INFO    ] 2026-10-20 13:38:24
[2026-10-20 13:38:24,860.860 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:38:25,080.080 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:38:25,087.087 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:38:25,305.305 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:38:25,312.312 INFO    ] time= 20/10/2026 13:38:25
[2026-10-20 13:38:25,373.373 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:38:25,422.422 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:38:25,513.513 INFO    ] No existing commands found in stream
[2026-10-20 13:38:30,525.525 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:38:30,533.533 INFO    ] Waiting 0.87 seconds before fallback handling...
[2026-10-20 13:38:31,915.915 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:38:31,918.918 INFO    ] Checking for system updates...
[2026-10-20 13:38:31,960.960 INFO    ] 200
[2026-10-20 13:38:31,962.962 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:38:32,027.027 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:38:32,029.029 INFO    ] No update needed
[2026-10-20 13:38:32,032.032 INFO    ] Checking for camera pi updates...
[2026-10-20 13:38:32,067.067 INFO    ] 200
[2026-10-20 13:38:32,070.070 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:38:32,118.118 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:38:32,164.164 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:38:32,167.167 INFO    ] No camera update needed
[2026-10-20 13:38:32,169.169 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:38:32,172.172 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:38:32,178.178 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:38:32,184.184 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:38:34,227.227 INFO    ] ================================================
[2026-10-20 13:38:34,242.242 INFO    ] Launching Daemon at Tue Oct 20 13:38:34 IST 2026
[2026-10-20 13:38:34,252.252 INFO    ] ================================================
[2026-10-20 13:38:34,819.819 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:38:34
[2026-10-20 13:38:35,416.416 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:38:35,694.694 INFO    ] Initializing speech engine...
[2026-10-20 13:38:35,703.703 INFO    ] 2026-10-20 13:38:35
[2026-10-20 13:38:35,947.947 INFO    ] 2026-10-20 13:38:35
[2026-10-20 13:38:35,990.990 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:38:36,260.260 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:38:36,268.268 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:38:36,488.488 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:38:36,505.505 INFO    ] time= 20/10/2026 13:38:36
[2026-10-20 13:38:36,523.523 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:38:36,545.545 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:38:36,669.669 INFO    ] No existing commands found in stream
[2026-10-20 13:38:41,693.693 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:38:41,696.696 INFO    ] Waiting 3.87 seconds before fallback handling...
[2026-10-20 13:38:46,052.052 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:38:46,055.055 INFO    ] Checking for system updates...
[2026-10-20 13:38:46,092.092 INFO    ] 200
[2026-10-20 13:38:46,095.095 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:38:46,147.147 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:38:46,150.150 INFO    ] No update needed
[2026-10-20 13:38:46,153.153 INFO    ] Checking for camera pi updates...
[2026-10-20 13:38:46,190.190 INFO    ] 200
[2026-10-20 13:38:46,193.193 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:38:46,235.235 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:38:46,281.281 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:38:46,284.284 INFO    ] No camera update needed
[2026-10-20 13:38:46,286.286 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:38:46,289.289 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:38:46,295.295 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:38:46,301.301 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:38:48,342.342 INFO    ] ================================================
[2026-10-20 13:38:48,357.357 INFO    ] Launching Daemon at Tue Oct 20 13:38:48 IST 2026
[2026-10-20 13:38:48,368.368 INFO    ] ================================================
[2026-10-20 13:38:48,954.954 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:38:48
[2026-10-20 13:38:49,559.559 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:38:49,836.836 INFO    ] Initializing speech engine...
[2026-10-20 13:38:49,842.842 INFO    ] 2026-10-20 13:38:49
[2026-10-20 13:38:50,100.100 INFO    ] 2026-10-20 13:38:50
[2026-10-20 13:38:50,142.142 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:38:50,388.388 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:38:50,399.399 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:38:50,573.573 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:38:50,628.628 INFO    ] time= 20/10/2026 13:38:50
[2026-10-20 13:38:50,662.662 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:38:50,678.678 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:38:50,807.807 INFO    ] No existing commands found in stream
[2026-10-20 13:38:55,824.824 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:38:55,826.826 INFO    ] Waiting 0.54 seconds before fallback handling...
[2026-10-20 13:38:56,912.912 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:38:56,915.915 INFO    ] Checking for system updates...
[2026-10-20 13:38:56,951.951 INFO    ] 200
[2026-10-20 13:38:56,954.954 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:38:57,006.006 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:38:57,009.009 INFO    ] No update needed
[2026-10-20 13:38:57,012.012 INFO    ] Checking for camera pi updates...
[2026-10-20 13:38:57,046.046 INFO    ] 200
[2026-10-20 13:38:57,049.049 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:38:57,091.091 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:38:57,139.139 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:38:57,141.141 INFO    ] No camera update needed
[2026-10-20 13:38:57,144.144 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:38:57,147.147 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:38:57,153.153 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:38:57,159.159 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:38:59,201.201 INFO    ] ================================================
[2026-10-20 13:38:59,216.216 INFO    ] Launching Daemon at Tue Oct 20 13:38:59 IST 2026
[2026-10-20 13:38:59,228.228 INFO    ] ================================================
[2026-10-20 13:38:59,814.814 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:38:59
[2026-10-20 13:39:00,418.418 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:39:00,698.698 INFO    ] Initializing speech engine...
[2026-10-20 13:39:00,707.707 INFO    ] 2026-10-20 13:39:00
[2026-10-20 13:39:00,966.966 INFO    ] 2026-10-20 13:39:00
[2026-10-20 13:39:00,996.996 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:39:01,240.240 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:39:01,249.249 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:39:01,388.388 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:39:01,448.448 INFO    ] time= 20/10/2026 13:39:01
[2026-10-20 13:39:01,510.510 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:39:01,517.517 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:39:01,661.661 INFO    ] No existing commands found in stream
[2026-10-20 13:39:06,726.726 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:39:06,729.729 INFO    ] Waiting 2.09 seconds before fallback handling...
[2026-10-20 13:39:09,358.358 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:39:09,361.361 INFO    ] Checking for system updates...
[2026-10-20 13:39:09,400.400 INFO    ] 200
[2026-10-20 13:39:09,402.402 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:39:09,454.454 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:39:09,456.456 INFO    ] No update needed
[2026-10-20 13:39:09,459.459 INFO    ] Checking for camera pi updates...
[2026-10-20 13:39:09,493.493 INFO    ] 200
[2026-10-20 13:39:09,495.495 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:39:09,540.540 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:39:09,695.695 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:39:09,698.698 INFO    ] No camera update needed
[2026-10-20 13:39:09,700.700 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:39:09,703.703 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:39:09,708.708 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:39:09,713.713 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:39:11,755.755 INFO    ] ================================================
[2026-10-20 13:39:11,770.770 INFO    ] Launching Daemon at Tue Oct 20 13:39:11 IST 2026
[2026-10-20 13:39:11,781.781 INFO    ] ================================================
[2026-10-20 13:39:12,357.357 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:39:12
[2026-10-20 13:39:12,941.941 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:39:13,211.211 INFO    ] Initializing speech engine...
[2026-10-20 13:39:13,220.220 INFO    ] 2026-10-20 13:39:13
[2026-10-20 13:39:13,471.471 INFO    ] 2026-10-20 13:39:13
[2026-10-20 13:39:13,505.505 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:39:13,760.760 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:39:13,773.773 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:39:13,911.911 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:39:13,976.976 INFO    ] time= 20/10/2026 13:39:13
[2026-10-20 13:39:14,030.030 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:39:14,047.047 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:39:14,172.172 INFO    ] No existing commands found in stream
[2026-10-20 13:39:19,203.203 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:39:19,205.205 INFO    ] Waiting 1.55 seconds before fallback handling...
[2026-10-20 13:39:21,233.233 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:39:21,236.236 INFO    ] Checking for system updates...
[2026-10-20 13:39:21,271.271 INFO    ] 200
[2026-10-20 13:39:21,274.274 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:39:21,332.332 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:39:21,334.334 INFO    ] No update needed
[2026-10-20 13:39:21,337.337 INFO    ] Checking for camera pi updates...
[2026-10-20 13:39:21,371.371 INFO    ] 200
[2026-10-20 13:39:21,373.373 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:39:21,413.413 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:39:21,463.463 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:39:21,465.465 INFO    ] No camera update needed
[2026-10-20 13:39:21,468.468 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:39:21,470.470 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:39:21,476.476 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:39:21,481.481 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:39:23,523.523 INFO    ] ================================================
[2026-10-20 13:39:23,540.540 INFO    ] Launching Daemon at Tue Oct 20 13:39:23 IST 2026
[2026-10-20 13:39:23,552.552 INFO    ] ================================================
[2026-10-20 13:39:24,116.116 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:39:24
[2026-10-20 13:39:24,698.698 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:39:24,966.966 INFO    ] Initializing speech engine...
[2026-10-20 13:39:24,975.975 INFO    ] 2026-10-20 13:39:24
[2026-10-20 13:39:25,240.240 INFO    ] 2026-10-20 13:39:25
[2026-10-20 13:39:25,276.276 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:39:25,471.471 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:39:25,484.484 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:39:25,649.649 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:39:25,654.654 INFO    ] time= 20/10/2026 13:39:25
[2026-10-20 13:39:25,660.660 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:39:25,682.682 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:39:25,822.822 INFO    ] No existing commands found in stream
[2026-10-20 13:39:30,847.847 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:39:30,850.850 INFO    ] Waiting 2.06 seconds before fallback handling...
[2026-10-20 13:39:33,400.400 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:39:33,403.403 INFO    ] Checking for system updates...
[2026-10-20 13:39:33,438.438 INFO    ] 200
[2026-10-20 13:39:33,441.441 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:39:33,492.492 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:39:33,494.494 INFO    ] No update needed
[2026-10-20 13:39:33,496.496 INFO    ] Checking for camera pi updates...
[2026-10-20 13:39:33,530.530 INFO    ] 200
[2026-10-20 13:39:33,532.532 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:39:33,572.572 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:39:33,625.625 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:39:33,628.628 INFO    ] No camera update needed
[2026-10-20 13:39:33,630.630 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:39:33,633.633 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:39:33,638.638 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:39:33,643.643 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:39:35,682.682 INFO    ] ================================================
[2026-10-20 13:39:35,698.698 INFO    ] Launching Daemon at Tue Oct 20 13:39:35 IST 2026
[2026-10-20 13:39:35,708.708 INFO    ] ================================================
[2026-10-20 13:39:36,286.286 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:39:36
[2026-10-20 13:39:36,965.965 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:39:37,245.245 INFO    ] Initializing speech engine...
[2026-10-20 13:39:37,250.250 INFO    ] 2026-10-20 13:39:37
[2026-10-20 13:39:37,511.511 INFO    ] 2026-10-20 13:39:37
[2026-10-20 13:39:37,565.565 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:39:37,811.811 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:39:37,818.818 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:39:38,013.013 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:39:38,053.053 INFO    ] time= 20/10/2026 13:39:38
[2026-10-20 13:39:38,059.059 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:39:38,079.079 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:39:38,198.198 INFO    ] No existing commands found in stream
[2026-10-20 13:39:43,219.219 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:39:43,222.222 INFO    ] Waiting 3.55 seconds before fallback handling...
[2026-10-20 13:39:47,298.298 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:39:47,300.300 INFO    ] Checking for system updates...
[2026-10-20 13:39:47,336.336 INFO    ] 200
[2026-10-20 13:39:47,338.338 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:39:47,402.402 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:39:47,404.404 INFO    ] No update needed
[2026-10-20 13:39:47,406.406 INFO    ] Checking for camera pi updates...
[2026-10-20 13:39:47,440.440 INFO    ] 200
[2026-10-20 13:39:47,442.442 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:39:47,483.483 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:39:47,535.535 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:39:47,537.537 INFO    ] No camera update needed
[2026-10-20 13:39:47,540.540 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:39:47,542.542 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:39:47,547.547 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:39:47,552.552 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:39:49,598.598 INFO    ] ================================================
[2026-10-20 13:39:49,613.613 INFO    ] Launching Daemon at Tue Oct 20 13:39:49 IST 2026
[2026-10-20 13:39:49,624.624 INFO    ] ================================================
[2026-10-20 13:39:50,212.212 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:39:50
[2026-10-20 13:39:50,811.811 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:39:51,085.085 INFO    ] Initializing speech engine...
[2026-10-20 13:39:51,096.096 INFO    ] 2026-10-20 13:39:51
[2026-10-20 13:39:51,343.343 INFO    ] 2026-10-20 13:39:51
[2026-10-20 13:39:51,379.379 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:39:51,630.630 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:39:51,639.639 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:39:51,856.856 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:39:51,897.897 INFO    ] time= 20/10/2026 13:39:51
[2026-10-20 13:39:51,904.904 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:39:51,918.918 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:39:52,054.054 INFO    ] No existing commands found in stream
[2026-10-20 13:39:57,072.072 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:39:57,075.075 INFO    ] Waiting 2.05 seconds before fallback handling...
[2026-10-20 13:39:59,694.694 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:39:59,697.697 INFO    ] Checking for system updates...
[2026-10-20 13:39:59,733.733 INFO    ] 200
[2026-10-20 13:39:59,735.735 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:39:59,792.792 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:39:59,795.795 INFO    ] No update needed
[2026-10-20 13:39:59,798.798 INFO    ] Checking for camera pi updates...
[2026-10-20 13:39:59,832.832 INFO    ] 200
[2026-10-20 13:39:59,834.834 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:39:59,878.878 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:39:59,930.930 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:39:59,932.932 INFO    ] No camera update needed
[2026-10-20 13:39:59,934.934 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:39:59,937.937 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:39:59,942.942 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:39:59,947.947 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:40:02,032.032 INFO    ] ================================================
[2026-10-20 13:40:02,101.101 INFO    ] Launching Daemon at Tue Oct 20 13:40:02 IST 2026
[2026-10-20 13:40:02,123.123 INFO    ] ================================================
[2026-10-20 13:40:03,022.022 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:40:03
[2026-10-20 13:40:03,726.726 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:40:04,099.099 INFO    ] Initializing speech engine...
[2026-10-20 13:40:04,118.118 INFO    ] 2026-10-20 13:40:04
[2026-10-20 13:40:04,422.422 INFO    ] 2026-10-20 13:40:04
[2026-10-20 13:40:04,509.509 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:40:04,696.696 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:40:04,699.699 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:40:04,939.939 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:40:04,968.968 INFO    ] time= 20/10/2026 13:40:04
[2026-10-20 13:40:04,979.979 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:40:05,009.009 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:40:05,124.124 INFO    ] No existing commands found in stream
[2026-10-20 13:40:10,151.151 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:40:10,154.154 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-10-20 13:40:12,894.894 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 13:40:12,898.898 INFO    ] Checking for system updates...
[2026-10-20 13:40:12,941.941 INFO    ] 200
[2026-10-20 13:40:12,944.944 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:40:13,011.011 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:40:13,014.014 INFO    ] No update needed
[2026-10-20 13:40:13,017.017 INFO    ] Checking for camera pi updates...
[2026-10-20 13:40:13,051.051 INFO    ] 200
[2026-10-20 13:40:13,054.054 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:40:13,104.104 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:40:13,149.149 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:40:13,152.152 INFO    ] No camera update needed
[2026-10-20 13:40:13,154.154 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:40:13,156.156 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:40:13,161.161 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:40:13,166.166 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:40:15,206.206 INFO    ] ================================================
[2026-10-20 13:40:15,224.224 INFO    ] Launching Daemon at Tue Oct 20 13:40:15 IST 2026
[2026-10-20 13:40:15,235.235 INFO    ] ================================================
[2026-10-20 13:40:15,819.819 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:40:15
[2026-10-20 13:40:16,419.419 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:40:16,693.693 INFO    ] Initializing speech engine...
[2026-10-20 13:40:16,704.704 INFO    ] 2026-10-20 13:40:16
[2026-10-20 13:40:16,951.951 INFO    ] 2026-10-20 13:40:16
[2026-10-20 13:40:16,987.987 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:40:17,238.238 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:40:17,248.248 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:40:17,387.387 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:40:17,447.447 INFO    ] time= 20/10/2026 13:40:17
[2026-10-20 13:40:17,501.501 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:40:17,515.515 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:40:17,650.650 INFO    ] No existing commands found in stream
[2026-10-20 13:40:22,670.670 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:40:22,673.673 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-10-20 13:40:26,635.635 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 13:40:26,638.638 INFO    ] Checking for system updates...
[2026-10-20 13:40:26,679.679 INFO    ] 200
[2026-10-20 13:40:26,682.682 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:40:26,734.734 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:40:26,736.736 INFO    ] No update needed
[2026-10-20 13:40:26,739.739 INFO    ] Checking for camera pi updates...
[2026-10-20 13:40:26,777.777 INFO    ] 200
[2026-10-20 13:40:26,779.779 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:40:26,820.820 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:40:26,865.865 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:40:26,867.867 INFO    ] No camera update needed
[2026-10-20 13:40:26,870.870 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:40:26,872.872 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:40:26,877.877 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:40:26,883.883 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:40:28,921.921 INFO    ] ================================================
[2026-10-20 13:40:28,937.937 INFO    ] Launching Daemon at Tue Oct 20 13:40:28 IST 2026
[2026-10-20 13:40:28,948.948 INFO    ] ================================================
[2026-10-20 13:40:29,632.632 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:40:29
[2026-10-20 13:40:30,216.216 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:40:30,480.480 INFO    ] Initializing speech engine...
[2026-10-20 13:40:30,498.498 INFO    ] 2026-10-20 13:40:30
[2026-10-20 13:40:30,764.764 INFO    ] 2026-10-20 13:40:30
[2026-10-20 13:40:30,799.799 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:40:31,005.005 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:40:31,021.021 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:40:31,192.192 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:40:31,198.198 INFO    ] time= 20/10/2026 13:40:31
[2026-10-20 13:40:31,204.204 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:40:31,247.247 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:40:31,370.370 INFO    ] No existing commands found in stream
[2026-10-20 13:40:36,395.395 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:40:36,398.398 INFO    ] Waiting 3.97 seconds before fallback handling...
[2026-10-20 13:40:40,874.874 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:40:40,877.877 INFO    ] Checking for system updates...
[2026-10-20 13:40:40,913.913 INFO    ] 200
[2026-10-20 13:40:40,916.916 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:40:40,967.967 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:40:40,970.970 INFO    ] No update needed
[2026-10-20 13:40:40,972.972 INFO    ] Checking for camera pi updates...
[2026-10-20 13:40:41,005.005 INFO    ] 200
[2026-10-20 13:40:41,008.008 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:40:41,051.051 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:40:41,100.100 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:40:41,103.103 INFO    ] No camera update needed
[2026-10-20 13:40:41,105.105 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:40:41,107.107 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:40:41,113.113 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:40:41,118.118 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:40:43,157.157 INFO    ] ================================================
[2026-10-20 13:40:43,173.173 INFO    ] Launching Daemon at Tue Oct 20 13:40:43 IST 2026
[2026-10-20 13:40:43,184.184 INFO    ] ================================================
[2026-10-20 13:40:43,836.836 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:40:43
[2026-10-20 13:40:44,512.512 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:40:44,818.818 INFO    ] Initializing speech engine...
[2026-10-20 13:40:44,830.830 INFO    ] 2026-10-20 13:40:44
[2026-10-20 13:40:45,138.138 INFO    ] 2026-10-20 13:40:45
[2026-10-20 13:40:45,223.223 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:40:45,434.434 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:40:45,454.454 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:40:45,656.656 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:40:45,675.675 INFO    ] time= 20/10/2026 13:40:45
[2026-10-20 13:40:45,684.684 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:40:45,710.710 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:40:45,837.837 INFO    ] No existing commands found in stream
[2026-10-20 13:40:50,873.873 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:40:50,876.876 INFO    ] Waiting 0.46 seconds before fallback handling...
[2026-10-20 13:40:51,849.849 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:40:51,852.852 INFO    ] Checking for system updates...
[2026-10-20 13:40:51,892.892 INFO    ] 200
[2026-10-20 13:40:51,894.894 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:40:51,946.946 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:40:51,948.948 INFO    ] No update needed
[2026-10-20 13:40:51,951.951 INFO    ] Checking for camera pi updates...
[2026-10-20 13:40:51,984.984 INFO    ] 200
[2026-10-20 13:40:51,986.986 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:40:52,031.031 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:40:52,064.064 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:40:52,067.067 INFO    ] No camera update needed
[2026-10-20 13:40:52,069.069 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:40:52,071.071 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:40:52,077.077 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:40:52,082.082 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:40:54,121.121 INFO    ] ================================================
[2026-10-20 13:40:54,137.137 INFO    ] Launching Daemon at Tue Oct 20 13:40:54 IST 2026
[2026-10-20 13:40:54,149.149 INFO    ] ================================================
[2026-10-20 13:40:54,806.806 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:40:54
[2026-10-20 13:40:55,482.482 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:40:55,787.787 INFO    ] Initializing speech engine...
[2026-10-20 13:40:55,801.801 INFO    ] 2026-10-20 13:40:55
[2026-10-20 13:40:56,091.091 INFO    ] 2026-10-20 13:40:56
[2026-10-20 13:40:56,201.201 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:40:56,398.398 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:40:56,420.420 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:40:56,604.604 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:40:56,627.627 INFO    ] time= 20/10/2026 13:40:56
[2026-10-20 13:40:56,644.644 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:40:56,651.651 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:40:56,768.768 INFO    ] No existing commands found in stream
[2026-10-20 13:41:01,791.791 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:41:01,794.794 INFO    ] Waiting 0.84 seconds before fallback handling...
[2026-10-20 13:41:03,162.162 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:41:03,165.165 INFO    ] Checking for system updates...
[2026-10-20 13:41:03,203.203 INFO    ] 200
[2026-10-20 13:41:03,206.206 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:41:03,264.264 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:41:03,266.266 INFO    ] No update needed
[2026-10-20 13:41:03,269.269 INFO    ] Checking for camera pi updates...
[2026-10-20 13:41:03,302.302 INFO    ] 200
[2026-10-20 13:41:03,305.305 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:41:03,349.349 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:41:03,400.400 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:41:03,402.402 INFO    ] No camera update needed
[2026-10-20 13:41:03,404.404 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:41:03,407.407 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:41:03,412.412 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:41:03,417.417 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:41:05,458.458 INFO    ] ================================================
[2026-10-20 13:41:05,473.473 INFO    ] Launching Daemon at Tue Oct 20 13:41:05 IST 2026
[2026-10-20 13:41:05,485.485 INFO    ] ================================================
[2026-10-20 13:41:06,071.071 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:41:06
[2026-10-20 13:41:06,673.673 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:41:06,928.928 INFO    ] Initializing speech engine...
[2026-10-20 13:41:06,952.952 INFO    ] 2026-10-20 13:41:06
[2026-10-20 13:41:07,213.213 INFO    ] 2026-10-20 13:41:07
[2026-10-20 13:41:07,248.248 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:41:07,502.502 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:41:07,511.511 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:41:07,646.646 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:41:07,707.707 INFO    ] time= 20/10/2026 13:41:07
[2026-10-20 13:41:07,756.756 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:41:07,778.778 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:41:07,925.925 INFO    ] No existing commands found in stream
[2026-10-20 13:41:12,939.939 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:41:12,942.942 INFO    ] Waiting 0.88 seconds before fallback handling...
[2026-10-20 13:41:14,340.340 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:41:14,343.343 INFO    ] Checking for system updates...
[2026-10-20 13:41:14,380.380 INFO    ] 200
[2026-10-20 13:41:14,382.382 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:41:14,441.441 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:41:14,443.443 INFO    ] No update needed
[2026-10-20 13:41:14,446.446 INFO    ] Checking for camera pi updates...
[2026-10-20 13:41:14,479.479 INFO    ] 200
[2026-10-20 13:41:14,482.482 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:41:14,526.526 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:41:14,674.674 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:41:14,677.677 INFO    ] No camera update needed
[2026-10-20 13:41:14,680.680 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:41:14,682.682 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:41:14,687.687 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:41:14,692.692 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:41:16,732.732 INFO    ] ================================================
[2026-10-20 13:41:16,748.748 INFO    ] Launching Daemon at Tue Oct 20 13:41:16 IST 2026
[2026-10-20 13:41:16,759.759 INFO    ] ================================================
[2026-10-20 13:41:17,416.416 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:41:17
[2026-10-20 13:41:18,095.095 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:41:18,404.404 INFO    ] Initializing speech engine...
[2026-10-20 13:41:18,417.417 INFO    ] 2026-10-20 13:41:18
[2026-10-20 13:41:18,701.701 INFO    ] 2026-10-20 13:41:18
[2026-10-20 13:41:18,747.747 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:41:19,046.046 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:41:19,055.055 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:41:19,236.236 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:41:19,268.268 INFO    ] time= 20/10/2026 13:41:19
[2026-10-20 13:41:19,286.286 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:41:19,296.296 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:41:19,434.434 INFO    ] No existing commands found in stream
[2026-10-20 13:41:24,471.471 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:41:24,475.475 INFO    ] Waiting 3.52 seconds before fallback handling...
[2026-10-20 13:41:28,569.569 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 13:41:28,572.572 INFO    ] Checking for system updates...
[2026-10-20 13:41:28,613.613 INFO    ] 200
[2026-10-20 13:41:28,616.616 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:41:28,677.677 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:41:28,680.680 INFO    ] No update needed
[2026-10-20 13:41:28,683.683 INFO    ] Checking for camera pi updates...
[2026-10-20 13:41:28,722.722 INFO    ] 200
[2026-10-20 13:41:28,725.725 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:41:28,766.766 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:41:28,816.816 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:41:28,819.819 INFO    ] No camera update needed
[2026-10-20 13:41:28,822.822 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:41:28,825.825 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:41:28,831.831 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:41:28,837.837 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:41:30,880.880 INFO    ] ================================================
[2026-10-20 13:41:30,895.895 INFO    ] Launching Daemon at Tue Oct 20 13:41:30 IST 2026
[2026-10-20 13:41:30,906.906 INFO    ] ================================================
[2026-10-20 13:41:31,502.502 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:41:31
[2026-10-20 13:41:32,136.136 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:41:32,425.425 INFO    ] Initializing speech engine...
[2026-10-20 13:41:32,432.432 INFO    ] 2026-10-20 13:41:32
[2026-10-20 13:41:32,742.742 INFO    ] 2026-10-20 13:41:32
[2026-10-20 13:41:32,782.782 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:41:33,015.015 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:41:33,066.066 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:41:33,245.245 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:41:33,252.252 INFO    ] time= 20/10/2026 13:41:33
[2026-10-20 13:41:33,321.321 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:41:33,381.381 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:41:33,538.538 INFO    ] No existing commands found in stream
[2026-10-20 13:41:38,564.564 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:41:38,566.566 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-10-20 13:41:42,619.619 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:41:42,622.622 INFO    ] Checking for system updates...
[2026-10-20 13:41:42,662.662 INFO    ] 200
[2026-10-20 13:41:42,665.665 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:41:42,718.718 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:41:42,721.721 INFO    ] No update needed
[2026-10-20 13:41:42,723.723 INFO    ] Checking for camera pi updates...
[2026-10-20 13:41:42,765.765 INFO    ] 200
[2026-10-20 13:41:42,767.767 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:41:42,807.807 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:41:42,855.855 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:41:42,858.858 INFO    ] No camera update needed
[2026-10-20 13:41:42,860.860 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:41:42,863.863 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:41:42,868.868 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:41:42,873.873 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:41:44,913.913 INFO    ] ================================================
[2026-10-20 13:41:44,928.928 INFO    ] Launching Daemon at Tue Oct 20 13:41:44 IST 2026
[2026-10-20 13:41:44,939.939 INFO    ] ================================================
[2026-10-20 13:41:45,609.609 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:41:45
[2026-10-20 13:41:46,296.296 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:41:46,608.608 INFO    ] Initializing speech engine...
[2026-10-20 13:41:46,615.615 INFO    ] 2026-10-20 13:41:46
[2026-10-20 13:41:46,919.919 INFO    ] 2026-10-20 13:41:46
[2026-10-20 13:41:47,033.033 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:41:47,255.255 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:41:47,261.261 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:41:47,461.461 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:41:47,480.480 INFO    ] time= 20/10/2026 13:41:47
[2026-10-20 13:41:47,495.495 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:41:47,519.519 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:41:47,652.652 INFO    ] No existing commands found in stream
[2026-10-20 13:41:52,689.689 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:41:52,692.692 INFO    ] Waiting 3.84 seconds before fallback handling...
[2026-10-20 13:41:57,035.035 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:41:57,038.038 INFO    ] Checking for system updates...
[2026-10-20 13:41:57,079.079 INFO    ] 200
[2026-10-20 13:41:57,082.082 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:41:57,137.137 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:41:57,140.140 INFO    ] No update needed
[2026-10-20 13:41:57,143.143 INFO    ] Checking for camera pi updates...
[2026-10-20 13:41:57,177.177 INFO    ] 200
[2026-10-20 13:41:57,180.180 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:41:57,221.221 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:41:57,267.267 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:41:57,270.270 INFO    ] No camera update needed
[2026-10-20 13:41:57,274.274 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:41:57,277.277 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:41:57,283.283 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:41:57,289.289 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:41:59,332.332 INFO    ] ================================================
[2026-10-20 13:41:59,347.347 INFO    ] Launching Daemon at Tue Oct 20 13:41:59 IST 2026
[2026-10-20 13:41:59,358.358 INFO    ] ================================================
[2026-10-20 13:42:00,028.028 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:42:00
[2026-10-20 13:42:00,722.722 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:42:01,036.036 INFO    ] Initializing speech engine...
[2026-10-20 13:42:01,050.050 INFO    ] 2026-10-20 13:42:01
[2026-10-20 13:42:01,442.442 INFO    ] 2026-10-20 13:42:01
[2026-10-20 13:42:01,489.489 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:42:01,757.757 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:42:01,761.761 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:42:01,943.943 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:42:01,966.966 INFO    ] time= 20/10/2026 13:42:01
[2026-10-20 13:42:02,022.022 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:42:02,026.026 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:42:02,151.151 INFO    ] No existing commands found in stream
[2026-10-20 13:42:07,164.164 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:42:07,167.167 INFO    ] Waiting 2.49 seconds before fallback handling...
[2026-10-20 13:42:10,211.211 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:42:10,214.214 INFO    ] Checking for system updates...
[2026-10-20 13:42:10,249.249 INFO    ] 200
[2026-10-20 13:42:10,251.251 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:42:10,303.303 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:42:10,305.305 INFO    ] No update needed
[2026-10-20 13:42:10,308.308 INFO    ] Checking for camera pi updates...
[2026-10-20 13:42:10,341.341 INFO    ] 200
[2026-10-20 13:42:10,343.343 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:42:10,388.388 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:42:10,441.441 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:42:10,443.443 INFO    ] No camera update needed
[2026-10-20 13:42:10,446.446 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:42:10,448.448 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:42:10,453.453 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:42:10,458.458 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:42:12,498.498 INFO    ] ================================================
[2026-10-20 13:42:12,514.514 INFO    ] Launching Daemon at Tue Oct 20 13:42:12 IST 2026
[2026-10-20 13:42:12,525.525 INFO    ] ================================================
[2026-10-20 13:42:13,093.093 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:42:13
[2026-10-20 13:42:13,678.678 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:42:13,948.948 INFO    ] Initializing speech engine...
[2026-10-20 13:42:13,959.959 INFO    ] 2026-10-20 13:42:13
[2026-10-20 13:42:14,210.210 INFO    ] 2026-10-20 13:42:14
[2026-10-20 13:42:14,244.244 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:42:14,505.505 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:42:14,515.515 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:42:14,694.694 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:42:14,749.749 INFO    ] time= 20/10/2026 13:42:14
[2026-10-20 13:42:14,785.785 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:42:14,791.791 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:42:14,939.939 INFO    ] No existing commands found in stream
[2026-10-20 13:42:19,955.955 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:42:19,957.957 INFO    ] Waiting 1.77 seconds before fallback handling...
[2026-10-20 13:42:22,240.240 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 13:42:22,243.243 INFO    ] Checking for system updates...
[2026-10-20 13:42:22,279.279 INFO    ] 200
[2026-10-20 13:42:22,282.282 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:42:22,344.344 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:42:22,347.347 INFO    ] No update needed
[2026-10-20 13:42:22,349.349 INFO    ] Checking for camera pi updates...
[2026-10-20 13:42:22,382.382 INFO    ] 200
[2026-10-20 13:42:22,385.385 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:42:22,425.425 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:42:22,469.469 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:42:22,471.471 INFO    ] No camera update needed
[2026-10-20 13:42:22,473.473 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:42:22,476.476 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:42:22,482.482 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:42:22,487.487 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:42:24,526.526 INFO    ] ================================================
[2026-10-20 13:42:24,541.541 INFO    ] Launching Daemon at Tue Oct 20 13:42:24 IST 2026
[2026-10-20 13:42:24,551.551 INFO    ] ================================================
[2026-10-20 13:42:25,123.123 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:42:25
[2026-10-20 13:42:25,714.714 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:42:25,969.969 INFO    ] Initializing speech engine...
[2026-10-20 13:42:25,977.977 INFO    ] 2026-10-20 13:42:25
[2026-10-20 13:42:26,246.246 INFO    ] 2026-10-20 13:42:26
[2026-10-20 13:42:26,279.279 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:42:26,480.480 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:42:26,493.493 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:42:26,642.642 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:42:26,647.647 INFO    ] time= 20/10/2026 13:42:26
[2026-10-20 13:42:26,653.653 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:42:26,693.693 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:42:26,837.837 INFO    ] No existing commands found in stream
[2026-10-20 13:42:31,858.858 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:42:31,861.861 INFO    ] Waiting 0.50 seconds before fallback handling...
[2026-10-20 13:42:32,892.892 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:42:32,895.895 INFO    ] Checking for system updates...
[2026-10-20 13:42:32,930.930 INFO    ] 200
[2026-10-20 13:42:32,932.932 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:42:32,988.988 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:42:32,991.991 INFO    ] No update needed
[2026-10-20 13:42:32,993.993 INFO    ] Checking for camera pi updates...
[2026-10-20 13:42:33,027.027 INFO    ] 200
[2026-10-20 13:42:33,029.029 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:42:33,069.069 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:42:33,102.102 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:42:33,105.105 INFO    ] No camera update needed
[2026-10-20 13:42:33,107.107 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:42:33,109.109 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:42:33,114.114 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:42:33,119.119 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:42:35,161.161 INFO    ] ================================================
[2026-10-20 13:42:35,177.177 INFO    ] Launching Daemon at Tue Oct 20 13:42:35 IST 2026
[2026-10-20 13:42:35,188.188 INFO    ] ================================================
[2026-10-20 13:42:35,754.754 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:42:35
[2026-10-20 13:42:36,352.352 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:42:36,631.631 INFO    ] Initializing speech engine...
[2026-10-20 13:42:36,642.642 INFO    ] 2026-10-20 13:42:36
[2026-10-20 13:42:36,903.903 INFO    ] 2026-10-20 13:42:36
[2026-10-20 13:42:36,940.940 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:42:37,148.148 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:42:37,207.207 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:42:37,356.356 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:42:37,413.413 INFO    ] time= 20/10/2026 13:42:37
[2026-10-20 13:42:37,472.472 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:42:37,486.486 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:42:37,627.627 INFO    ] No existing commands found in stream
[2026-10-20 13:42:42,647.647 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:42:42,650.650 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-10-20 13:42:45,673.673 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:42:45,676.676 INFO    ] Checking for system updates...
[2026-10-20 13:42:45,713.713 INFO    ] 200
[2026-10-20 13:42:45,716.716 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:42:45,768.768 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:42:45,771.771 INFO    ] No update needed
[2026-10-20 13:42:45,774.774 INFO    ] Checking for camera pi updates...
[2026-10-20 13:42:45,813.813 INFO    ] 200
[2026-10-20 13:42:45,816.816 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:42:45,867.867 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:42:45,918.918 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:42:45,921.921 INFO    ] No camera update needed
[2026-10-20 13:42:45,923.923 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:42:45,926.926 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:42:45,932.932 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:42:45,938.938 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:42:47,978.978 INFO    ] ================================================
[2026-10-20 13:42:47,994.994 INFO    ] Launching Daemon at Tue Oct 20 13:42:47 IST 2026
[2026-10-20 13:42:48,005.005 INFO    ] ================================================
[2026-10-20 13:42:48,587.587 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:42:48
[2026-10-20 13:42:49,186.186 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:42:49,465.465 INFO    ] Initializing speech engine...
[2026-10-20 13:42:49,471.471 INFO    ] 2026-10-20 13:42:49
[2026-10-20 13:42:49,732.732 INFO    ] 2026-10-20 13:42:49
[2026-10-20 13:42:49,786.786 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:42:50,013.013 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:42:50,019.019 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:42:50,233.233 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:42:50,275.275 INFO    ] time= 20/10/2026 13:42:50
[2026-10-20 13:42:50,281.281 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:42:50,298.298 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:42:50,434.434 INFO    ] No existing commands found in stream
[2026-10-20 13:42:55,465.465 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:42:55,467.467 INFO    ] Waiting 1.24 seconds before fallback handling...
[2026-10-20 13:42:57,226.226 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:42:57,228.228 INFO    ] Checking for system updates...
[2026-10-20 13:42:57,268.268 INFO    ] 200
[2026-10-20 13:42:57,270.270 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:42:57,322.322 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:42:57,324.324 INFO    ] No update needed
[2026-10-20 13:42:57,326.326 INFO    ] Checking for camera pi updates...
[2026-10-20 13:42:57,359.359 INFO    ] 200
[2026-10-20 13:42:57,362.362 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:42:57,401.401 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:42:57,451.451 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:42:57,454.454 INFO    ] No camera update needed
[2026-10-20 13:42:57,456.456 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:42:57,458.458 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:42:57,464.464 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:42:57,469.469 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:42:59,511.511 INFO    ] ================================================
[2026-10-20 13:42:59,528.528 INFO    ] Launching Daemon at Tue Oct 20 13:42:59 IST 2026
[2026-10-20 13:42:59,539.539 INFO    ] ================================================
[2026-10-20 13:43:00,156.156 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:43:00
[2026-10-20 13:43:00,793.793 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:43:01,073.073 INFO    ] Initializing speech engine...
[2026-10-20 13:43:01,084.084 INFO    ] 2026-10-20 13:43:01
[2026-10-20 13:43:01,447.447 INFO    ] 2026-10-20 13:43:01
[2026-10-20 13:43:01,487.487 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:43:01,768.768 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:43:01,814.814 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:43:01,993.993 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:43:02,050.050 INFO    ] time= 20/10/2026 13:43:01
[2026-10-20 13:43:02,111.111 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:43:02,140.140 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:43:02,332.332 INFO    ] No existing commands found in stream
[2026-10-20 13:43:07,363.363 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:43:07,366.366 INFO    ] Waiting 3.70 seconds before fallback handling...
[2026-10-20 13:43:11,558.558 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:43:11,561.561 INFO    ] Checking for system updates...
[2026-10-20 13:43:11,596.596 INFO    ] 200
[2026-10-20 13:43:11,598.598 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:43:11,651.651 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:43:11,654.654 INFO    ] No update needed
[2026-10-20 13:43:11,656.656 INFO    ] Checking for camera pi updates...
[2026-10-20 13:43:11,690.690 INFO    ] 200
[2026-10-20 13:43:11,692.692 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:43:11,731.731 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:43:11,782.782 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:43:11,784.784 INFO    ] No camera update needed
[2026-10-20 13:43:11,786.786 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:43:11,788.788 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:43:11,794.794 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:43:11,799.799 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:43:13,839.839 INFO    ] ================================================
[2026-10-20 13:43:13,855.855 INFO    ] Launching Daemon at Tue Oct 20 13:43:13 IST 2026
[2026-10-20 13:43:13,866.866 INFO    ] ================================================
[2026-10-20 13:43:14,438.438 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:43:14
[2026-10-20 13:43:15,024.024 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:43:15,294.294 INFO    ] Initializing speech engine...
[2026-10-20 13:43:15,303.303 INFO    ] 2026-10-20 13:43:15
[2026-10-20 13:43:15,553.553 INFO    ] 2026-10-20 13:43:15
[2026-10-20 13:43:15,588.588 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:43:15,845.845 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:43:15,854.854 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:43:16,073.073 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:43:16,120.120 INFO    ] time= 20/10/2026 13:43:16
[2026-10-20 13:43:16,126.126 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:43:16,144.144 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:43:16,277.277 INFO    ] No existing commands found in stream
[2026-10-20 13:43:21,289.289 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:43:21,292.292 INFO    ] Waiting 0.17 seconds before fallback handling...
[2026-10-20 13:43:21,956.956 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 13:43:21,959.959 INFO    ] Checking for system updates...
[2026-10-20 13:43:21,997.997 INFO    ] 200
[2026-10-20 13:43:22,000.000 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:43:22,051.051 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:43:22,053.053 INFO    ] No update needed
[2026-10-20 13:43:22,056.056 INFO    ] Checking for camera pi updates...
[2026-10-20 13:43:22,089.089 INFO    ] 200
[2026-10-20 13:43:22,091.091 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:43:22,131.131 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:43:22,276.276 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:43:22,279.279 INFO    ] No camera update needed
[2026-10-20 13:43:22,281.281 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:43:22,284.284 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:43:22,289.289 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:43:22,294.294 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:43:24,334.334 INFO    ] ================================================
[2026-10-20 13:43:24,350.350 INFO    ] Launching Daemon at Tue Oct 20 13:43:24 IST 2026
[2026-10-20 13:43:24,361.361 INFO    ] ================================================
[2026-10-20 13:43:25,005.005 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:43:25
[2026-10-20 13:43:25,669.669 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:43:25,977.977 INFO    ] Initializing speech engine...
[2026-10-20 13:43:25,989.989 INFO    ] 2026-10-20 13:43:25
[2026-10-20 13:43:26,300.300 INFO    ] 2026-10-20 13:43:26
[2026-10-20 13:43:26,391.391 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:43:26,550.550 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:43:26,573.573 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:43:26,807.807 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:43:26,824.824 INFO    ] time= 20/10/2026 13:43:26
[2026-10-20 13:43:26,843.843 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:43:26,866.866 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:43:26,987.987 INFO    ] No existing commands found in stream
[2026-10-20 13:43:32,013.013 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:43:32,016.016 INFO    ] Waiting 2.50 seconds before fallback handling...
[2026-10-20 13:43:35,076.076 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 13:43:35,079.079 INFO    ] Checking for system updates...
[2026-10-20 13:43:35,117.117 INFO    ] 200
[2026-10-20 13:43:35,120.120 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:43:35,173.173 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:43:35,175.175 INFO    ] No update needed
[2026-10-20 13:43:35,178.178 INFO    ] Checking for camera pi updates...
[2026-10-20 13:43:35,212.212 INFO    ] 200
[2026-10-20 13:43:35,215.215 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:43:35,256.256 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:43:35,316.316 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:43:35,318.318 INFO    ] No camera update needed
[2026-10-20 13:43:35,321.321 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:43:35,324.324 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:43:35,330.330 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:43:35,336.336 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:43:37,378.378 INFO    ] ================================================
[2026-10-20 13:43:37,393.393 INFO    ] Launching Daemon at Tue Oct 20 13:43:37 IST 2026
[2026-10-20 13:43:37,404.404 INFO    ] ================================================
[2026-10-20 13:43:37,972.972 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:43:37
[2026-10-20 13:43:38,558.558 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:43:38,821.821 INFO    ] Initializing speech engine...
[2026-10-20 13:43:38,839.839 INFO    ] 2026-10-20 13:43:38
[2026-10-20 13:43:39,092.092 INFO    ] 2026-10-20 13:43:39
[2026-10-20 13:43:39,127.127 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:43:39,329.329 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:43:39,385.385 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:43:39,578.578 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:43:39,633.633 INFO    ] time= 20/10/2026 13:43:39
[2026-10-20 13:43:39,666.666 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:43:39,672.672 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:43:39,808.808 INFO    ] No existing commands found in stream
[2026-10-20 13:43:44,829.829 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:43:44,832.832 INFO    ] Waiting 2.91 seconds before fallback handling...
[2026-10-20 13:43:48,230.230 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 13:43:48,233.233 INFO    ] Checking for system updates...
[2026-10-20 13:43:48,268.268 INFO    ] 200
[2026-10-20 13:43:48,271.271 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:43:48,323.323 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:43:48,325.325 INFO    ] No update needed
[2026-10-20 13:43:48,328.328 INFO    ] Checking for camera pi updates...
[2026-10-20 13:43:48,368.368 INFO    ] 200
[2026-10-20 13:43:48,370.370 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:43:48,414.414 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:43:48,462.462 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:43:48,464.464 INFO    ] No camera update needed
[2026-10-20 13:43:48,467.467 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:43:48,469.469 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:43:48,474.474 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:43:48,479.479 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:43:50,520.520 INFO    ] ================================================
[2026-10-20 13:43:50,536.536 INFO    ] Launching Daemon at Tue Oct 20 13:43:50 IST 2026
[2026-10-20 13:43:50,548.548 INFO    ] ================================================
[2026-10-20 13:43:51,122.122 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:43:51
[2026-10-20 13:43:51,717.717 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:43:51,989.989 INFO    ] Initializing speech engine...
[2026-10-20 13:43:51,997.997 INFO    ] 2026-10-20 13:43:51
[2026-10-20 13:43:52,249.249 INFO    ] 2026-10-20 13:43:52
[2026-10-20 13:43:52,284.284 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:43:52,541.541 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:43:52,551.551 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:43:52,779.779 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:43:52,816.816 INFO    ] time= 20/10/2026 13:43:52
[2026-10-20 13:43:52,822.822 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:43:52,841.841 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:43:53,038.038 INFO    ] No existing commands found in stream
[2026-10-20 13:43:58,069.069 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:43:58,071.071 INFO    ] Waiting 3.63 seconds before fallback handling...
[2026-10-20 13:44:02,239.239 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:44:02,242.242 INFO    ] Checking for system updates...
[2026-10-20 13:44:02,290.290 INFO    ] 200
[2026-10-20 13:44:02,293.293 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:44:02,352.352 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:44:02,354.354 INFO    ] No update needed
[2026-10-20 13:44:02,357.357 INFO    ] Checking for camera pi updates...
[2026-10-20 13:44:02,402.402 INFO    ] 200
[2026-10-20 13:44:02,405.405 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:44:02,453.453 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:44:02,499.499 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:44:02,502.502 INFO    ] No camera update needed
[2026-10-20 13:44:02,505.505 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:44:02,508.508 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:44:02,516.516 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:44:02,523.523 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:44:04,566.566 INFO    ] ================================================
[2026-10-20 13:44:04,582.582 INFO    ] Launching Daemon at Tue Oct 20 13:44:04 IST 2026
[2026-10-20 13:44:04,593.593 INFO    ] ================================================
[2026-10-20 13:44:05,163.163 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:44:05
[2026-10-20 13:44:05,746.746 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:44:06,016.016 INFO    ] Initializing speech engine...
[2026-10-20 13:44:06,025.025 INFO    ] 2026-10-20 13:44:06
[2026-10-20 13:44:06,275.275 INFO    ] 2026-10-20 13:44:06
[2026-10-20 13:44:06,311.311 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:44:06,551.551 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:44:06,579.579 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:44:06,820.820 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:44:06,845.845 INFO    ] time= 20/10/2026 13:44:06
[2026-10-20 13:44:06,863.863 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:44:06,872.872 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:44:06,997.997 INFO    ] No existing commands found in stream
[2026-10-20 13:44:12,013.013 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:44:12,016.016 INFO    ] Waiting 3.29 seconds before fallback handling...
[2026-10-20 13:44:15,814.814 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:44:15,817.817 INFO    ] Checking for system updates...
[2026-10-20 13:44:15,852.852 INFO    ] 200
[2026-10-20 13:44:15,854.854 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:44:15,906.906 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:44:15,909.909 INFO    ] No update needed
[2026-10-20 13:44:15,911.911 INFO    ] Checking for camera pi updates...
[2026-10-20 13:44:15,945.945 INFO    ] 200
[2026-10-20 13:44:15,947.947 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:44:15,987.987 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:44:16,040.040 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:44:16,042.042 INFO    ] No camera update needed
[2026-10-20 13:44:16,044.044 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:44:16,047.047 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:44:16,052.052 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:44:16,057.057 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:44:18,097.097 INFO    ] ================================================
[2026-10-20 13:44:18,113.113 INFO    ] Launching Daemon at Tue Oct 20 13:44:18 IST 2026
[2026-10-20 13:44:18,124.124 INFO    ] ================================================
[2026-10-20 13:44:18,700.700 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:44:18
[2026-10-20 13:44:19,281.281 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:44:19,529.529 INFO    ] Initializing speech engine...
[2026-10-20 13:44:19,549.549 INFO    ] 2026-10-20 13:44:19
[2026-10-20 13:44:19,809.809 INFO    ] 2026-10-20 13:44:19
[2026-10-20 13:44:19,841.841 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:44:20,101.101 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:44:20,110.110 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:44:20,313.313 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:44:20,373.373 INFO    ] time= 20/10/2026 13:44:20
[2026-10-20 13:44:20,382.382 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:44:20,400.400 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:44:20,522.522 INFO    ] No existing commands found in stream
[2026-10-20 13:44:25,544.544 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:44:25,546.546 INFO    ] Waiting 3.03 seconds before fallback handling...
[2026-10-20 13:44:29,076.076 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:44:29,079.079 INFO    ] Checking for system updates...
[2026-10-20 13:44:29,118.118 INFO    ] 200
[2026-10-20 13:44:29,121.121 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:44:29,173.173 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:44:29,175.175 INFO    ] No update needed
[2026-10-20 13:44:29,177.177 INFO    ] Checking for camera pi updates...
[2026-10-20 13:44:29,214.214 INFO    ] 200
[2026-10-20 13:44:29,217.217 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:44:29,263.263 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:44:29,312.312 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:44:29,315.315 INFO    ] No camera update needed
[2026-10-20 13:44:29,317.317 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:44:29,319.319 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:44:29,325.325 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:44:29,330.330 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:44:31,375.375 INFO    ] ================================================
[2026-10-20 13:44:31,392.392 INFO    ] Launching Daemon at Tue Oct 20 13:44:31 IST 2026
[2026-10-20 13:44:31,404.404 INFO    ] ================================================
[2026-10-20 13:44:32,014.014 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:44:32
[2026-10-20 13:44:32,645.645 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:44:32,925.925 INFO    ] Initializing speech engine...
[2026-10-20 13:44:32,933.933 INFO    ] 2026-10-20 13:44:32
[2026-10-20 13:44:33,235.235 INFO    ] 2026-10-20 13:44:33
[2026-10-20 13:44:33,274.274 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:44:33,508.508 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:44:33,527.527 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:44:33,741.741 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:44:33,768.768 INFO    ] time= 20/10/2026 13:44:33
[2026-10-20 13:44:33,823.823 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:44:33,867.867 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:44:34,027.027 INFO    ] No existing commands found in stream
[2026-10-20 13:44:39,051.051 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:44:39,054.054 INFO    ] Waiting 2.94 seconds before fallback handling...
[2026-10-20 13:44:42,508.508 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 13:44:42,511.511 INFO    ] Checking for system updates...
[2026-10-20 13:44:42,551.551 INFO    ] 200
[2026-10-20 13:44:42,554.554 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:44:42,614.614 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:44:42,616.616 INFO    ] No update needed
[2026-10-20 13:44:42,619.619 INFO    ] Checking for camera pi updates...
[2026-10-20 13:44:42,652.652 INFO    ] 200
[2026-10-20 13:44:42,654.654 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:44:42,694.694 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:44:42,745.745 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:44:42,747.747 INFO    ] No camera update needed
[2026-10-20 13:44:42,750.750 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:44:42,752.752 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:44:42,757.757 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:44:42,763.763 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:44:44,804.804 INFO    ] ================================================
[2026-10-20 13:44:44,820.820 INFO    ] Launching Daemon at Tue Oct 20 13:44:44 IST 2026
[2026-10-20 13:44:44,832.832 INFO    ] ================================================
[2026-10-20 13:44:45,399.399 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:44:45
[2026-10-20 13:44:45,983.983 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:44:46,230.230 INFO    ] Initializing speech engine...
[2026-10-20 13:44:46,235.235 INFO    ] 2026-10-20 13:44:46
[2026-10-20 13:44:46,505.505 INFO    ] 2026-10-20 13:44:46
[2026-10-20 13:44:46,536.536 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:44:46,756.756 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:44:46,772.772 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:44:46,941.941 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:44:46,949.949 INFO    ] time= 20/10/2026 13:44:46
[2026-10-20 13:44:46,954.954 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:44:46,961.961 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:44:47,103.103 INFO    ] No existing commands found in stream
[2026-10-20 13:44:52,138.138 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:44:52,141.141 INFO    ] Waiting 2.65 seconds before fallback handling...
[2026-10-20 13:44:55,340.340 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:44:55,344.344 INFO    ] Checking for system updates...
[2026-10-20 13:44:55,380.380 INFO    ] 200
[2026-10-20 13:44:55,383.383 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:44:55,436.436 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:44:55,439.439 INFO    ] No update needed
[2026-10-20 13:44:55,442.442 INFO    ] Checking for camera pi updates...
[2026-10-20 13:44:55,476.476 INFO    ] 200
[2026-10-20 13:44:55,479.479 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:44:55,521.521 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:44:55,566.566 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:44:55,569.569 INFO    ] No camera update needed
[2026-10-20 13:44:55,572.572 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:44:55,575.575 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:44:55,581.581 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:44:55,587.587 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:44:57,626.626 INFO    ] ================================================
[2026-10-20 13:44:57,641.641 INFO    ] Launching Daemon at Tue Oct 20 13:44:57 IST 2026
[2026-10-20 13:44:57,652.652 INFO    ] ================================================
[2026-10-20 13:44:58,316.316 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:44:58
[2026-10-20 13:44:59,004.004 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:44:59,310.310 INFO    ] Initializing speech engine...
[2026-10-20 13:44:59,319.319 INFO    ] 2026-10-20 13:44:59
[2026-10-20 13:44:59,601.601 INFO    ] 2026-10-20 13:44:59
[2026-10-20 13:44:59,659.659 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:44:59,894.894 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:44:59,899.899 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:45:00,117.117 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:45:00,163.163 INFO    ] time= 20/10/2026 13:45:00
[2026-10-20 13:45:00,170.170 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:45:00,193.193 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:45:00,349.349 INFO    ] No existing commands found in stream
[2026-10-20 13:45:05,375.375 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:45:05,378.378 INFO    ] Waiting 2.30 seconds before fallback handling...
[2026-10-20 13:45:08,216.216 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:45:08,220.220 INFO    ] Checking for system updates...
[2026-10-20 13:45:08,261.261 INFO    ] 200
[2026-10-20 13:45:08,264.264 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:45:08,324.324 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:45:08,328.328 INFO    ] No update needed
[2026-10-20 13:45:08,331.331 INFO    ] Checking for camera pi updates...
[2026-10-20 13:45:08,365.365 INFO    ] 200
[2026-10-20 13:45:08,368.368 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:45:08,409.409 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:45:08,459.459 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:45:08,462.462 INFO    ] No camera update needed
[2026-10-20 13:45:08,465.465 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:45:08,467.467 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:45:08,474.474 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:45:08,480.480 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:45:10,520.520 INFO    ] ================================================
[2026-10-20 13:45:10,535.535 INFO    ] Launching Daemon at Tue Oct 20 13:45:10 IST 2026
[2026-10-20 13:45:10,546.546 INFO    ] ================================================
[2026-10-20 13:45:11,131.131 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:45:11
[2026-10-20 13:45:11,734.734 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:45:12,050.050 INFO    ] Initializing speech engine...
[2026-10-20 13:45:12,059.059 INFO    ] 2026-10-20 13:45:12
[2026-10-20 13:45:12,370.370 INFO    ] 2026-10-20 13:45:12
[2026-10-20 13:45:12,455.455 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:45:12,672.672 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:45:12,680.680 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:45:12,877.877 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:45:12,895.895 INFO    ] time= 20/10/2026 13:45:12
[2026-10-20 13:45:12,906.906 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:45:12,932.932 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:45:13,089.089 INFO    ] No existing commands found in stream
[2026-10-20 13:45:18,125.125 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:45:18,129.129 INFO    ] Waiting 3.61 seconds before fallback handling...
[2026-10-20 13:45:22,280.280 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:45:22,283.283 INFO    ] Checking for system updates...
[2026-10-20 13:45:22,320.320 INFO    ] 200
[2026-10-20 13:45:22,323.323 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:45:22,377.377 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:45:22,380.380 INFO    ] No update needed
[2026-10-20 13:45:22,383.383 INFO    ] Checking for camera pi updates...
[2026-10-20 13:45:22,417.417 INFO    ] 200
[2026-10-20 13:45:22,420.420 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:45:22,467.467 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:45:22,511.511 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:45:22,514.514 INFO    ] No camera update needed
[2026-10-20 13:45:22,516.516 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:45:22,518.518 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:45:22,524.524 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:45:22,529.529 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:45:24,569.569 INFO    ] ================================================
[2026-10-20 13:45:24,584.584 INFO    ] Launching Daemon at Tue Oct 20 13:45:24 IST 2026
[2026-10-20 13:45:24,595.595 INFO    ] ================================================
[2026-10-20 13:45:25,169.169 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:45:25
[2026-10-20 13:45:25,759.759 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:45:26,012.012 INFO    ] Initializing speech engine...
[2026-10-20 13:45:26,035.035 INFO    ] 2026-10-20 13:45:26
[2026-10-20 13:45:26,290.290 INFO    ] 2026-10-20 13:45:26
[2026-10-20 13:45:26,325.325 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:45:26,585.585 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:45:26,596.596 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:45:26,812.812 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:45:26,861.861 INFO    ] time= 20/10/2026 13:45:26
[2026-10-20 13:45:26,867.867 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:45:26,885.885 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:45:27,019.019 INFO    ] No existing commands found in stream
[2026-10-20 13:45:32,031.031 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:45:32,034.034 INFO    ] Waiting 1.83 seconds before fallback handling...
[2026-10-20 13:45:34,375.375 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:45:34,377.377 INFO    ] Checking for system updates...
[2026-10-20 13:45:34,412.412 INFO    ] 200
[2026-10-20 13:45:34,415.415 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:45:34,475.475 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:45:34,477.477 INFO    ] No update needed
[2026-10-20 13:45:34,479.479 INFO    ] Checking for camera pi updates...
[2026-10-20 13:45:34,513.513 INFO    ] 200
[2026-10-20 13:45:34,515.515 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:45:34,560.560 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:45:34,606.606 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:45:34,609.609 INFO    ] No camera update needed
[2026-10-20 13:45:34,611.611 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:45:34,614.614 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:45:34,619.619 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:45:34,624.624 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:45:36,663.663 INFO    ] ================================================
[2026-10-20 13:45:36,678.678 INFO    ] Launching Daemon at Tue Oct 20 13:45:36 IST 2026
[2026-10-20 13:45:36,689.689 INFO    ] ================================================
[2026-10-20 13:45:37,323.323 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:45:37
[2026-10-20 13:45:38,003.003 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:45:38,311.311 INFO    ] Initializing speech engine...
[2026-10-20 13:45:38,320.320 INFO    ] 2026-10-20 13:45:38
[2026-10-20 13:45:38,611.611 INFO    ] 2026-10-20 13:45:38
[2026-10-20 13:45:38,657.657 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:45:38,914.914 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:45:38,934.934 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:45:39,148.148 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:45:39,165.165 INFO    ] time= 20/10/2026 13:45:39
[2026-10-20 13:45:39,183.183 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:45:39,212.212 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:45:39,348.348 INFO    ] No existing commands found in stream
[2026-10-20 13:45:44,379.379 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:45:44,382.382 INFO    ] Waiting 3.53 seconds before fallback handling...
[2026-10-20 13:45:48,464.464 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:45:48,467.467 INFO    ] Checking for system updates...
[2026-10-20 13:45:48,505.505 INFO    ] 200
[2026-10-20 13:45:48,508.508 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:45:48,561.561 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:45:48,564.564 INFO    ] No update needed
[2026-10-20 13:45:48,566.566 INFO    ] Checking for camera pi updates...
[2026-10-20 13:45:48,601.601 INFO    ] 200
[2026-10-20 13:45:48,604.604 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:45:48,646.646 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:45:48,695.695 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:45:48,698.698 INFO    ] No camera update needed
[2026-10-20 13:45:48,701.701 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:45:48,704.704 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:45:48,710.710 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:45:48,716.716 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:45:50,758.758 INFO    ] ================================================
[2026-10-20 13:45:50,772.772 INFO    ] Launching Daemon at Tue Oct 20 13:45:50 IST 2026
[2026-10-20 13:45:50,783.783 INFO    ] ================================================
[2026-10-20 13:45:51,439.439 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:45:51
[2026-10-20 13:45:52,118.118 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:45:52,427.427 INFO    ] Initializing speech engine...
[2026-10-20 13:45:52,440.440 INFO    ] 2026-10-20 13:45:52
[2026-10-20 13:45:52,754.754 INFO    ] 2026-10-20 13:45:52
[2026-10-20 13:45:52,844.844 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:45:53,049.049 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:45:53,069.069 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:45:53,265.265 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:45:53,277.277 INFO    ] time= 20/10/2026 13:45:53
[2026-10-20 13:45:53,295.295 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:45:53,308.308 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:45:53,435.435 INFO    ] No existing commands found in stream
[2026-10-20 13:45:58,466.466 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:45:58,470.470 INFO    ] Waiting 1.57 seconds before fallback handling...
[2026-10-20 13:46:00,526.526 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:46:00,528.528 INFO    ] Checking for system updates...
[2026-10-20 13:46:00,564.564 INFO    ] 200
[2026-10-20 13:46:00,566.566 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:46:00,618.618 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:46:00,620.620 INFO    ] No update needed
[2026-10-20 13:46:00,623.623 INFO    ] Checking for camera pi updates...
[2026-10-20 13:46:00,656.656 INFO    ] 200
[2026-10-20 13:46:00,658.658 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:46:00,700.700 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:46:00,747.747 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:46:00,749.749 INFO    ] No camera update needed
[2026-10-20 13:46:00,752.752 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:46:00,754.754 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:46:00,759.759 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:46:00,764.764 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:46:02,806.806 INFO    ] ================================================
[2026-10-20 13:46:02,827.827 INFO    ] Launching Daemon at Tue Oct 20 13:46:02 IST 2026
[2026-10-20 13:46:02,842.842 INFO    ] ================================================
[2026-10-20 13:46:03,482.482 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:46:03
[2026-10-20 13:46:04,104.104 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:46:04,361.361 INFO    ] Initializing speech engine...
[2026-10-20 13:46:04,370.370 INFO    ] 2026-10-20 13:46:04
[2026-10-20 13:46:04,662.662 INFO    ] 2026-10-20 13:46:04
[2026-10-20 13:46:04,700.700 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:46:04,899.899 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:46:04,913.913 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:46:05,074.074 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:46:05,081.081 INFO    ] time= 20/10/2026 13:46:05
[2026-10-20 13:46:05,089.089 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:46:05,093.093 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:46:05,174.174 INFO    ] No existing commands found in stream
[2026-10-20 13:46:10,209.209 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:46:10,212.212 INFO    ] Waiting 3.06 seconds before fallback handling...
[2026-10-20 13:46:13,750.750 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:46:13,752.752 INFO    ] Checking for system updates...
[2026-10-20 13:46:13,792.792 INFO    ] 200
[2026-10-20 13:46:13,794.794 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:46:13,847.847 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:46:13,849.849 INFO    ] No update needed
[2026-10-20 13:46:13,852.852 INFO    ] Checking for camera pi updates...
[2026-10-20 13:46:13,889.889 INFO    ] 200
[2026-10-20 13:46:13,891.891 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:46:13,938.938 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:46:13,983.983 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:46:13,985.985 INFO    ] No camera update needed
[2026-10-20 13:46:13,988.988 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:46:13,990.990 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:46:13,995.995 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:46:14,000.000 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:46:16,040.040 INFO    ] ================================================
[2026-10-20 13:46:16,054.054 INFO    ] Launching Daemon at Tue Oct 20 13:46:16 IST 2026
[2026-10-20 13:46:16,065.065 INFO    ] ================================================
[2026-10-20 13:46:16,724.724 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:46:16
[2026-10-20 13:46:17,402.402 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:46:17,710.710 INFO    ] Initializing speech engine...
[2026-10-20 13:46:17,719.719 INFO    ] 2026-10-20 13:46:17
[2026-10-20 13:46:17,991.991 INFO    ] 2026-10-20 13:46:17
[2026-10-20 13:46:18,050.050 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:46:18,343.343 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:46:18,352.352 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:46:18,556.556 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:46:18,575.575 INFO    ] time= 20/10/2026 13:46:18
[2026-10-20 13:46:18,603.603 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:46:18,613.613 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:46:18,719.719 INFO    ] No existing commands found in stream
[2026-10-20 13:46:23,736.736 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:46:23,739.739 INFO    ] Waiting 3.12 seconds before fallback handling...
[2026-10-20 13:46:27,427.427 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:46:27,430.430 INFO    ] Checking for system updates...
[2026-10-20 13:46:27,465.465 INFO    ] 200
[2026-10-20 13:46:27,467.467 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:46:27,521.521 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:46:27,523.523 INFO    ] No update needed
[2026-10-20 13:46:27,526.526 INFO    ] Checking for camera pi updates...
[2026-10-20 13:46:27,560.560 INFO    ] 200
[2026-10-20 13:46:27,562.562 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:46:27,602.602 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:46:27,651.651 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:46:27,653.653 INFO    ] No camera update needed
[2026-10-20 13:46:27,655.655 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:46:27,658.658 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:46:27,663.663 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:46:27,668.668 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:46:29,709.709 INFO    ] ================================================
[2026-10-20 13:46:29,724.724 INFO    ] Launching Daemon at Tue Oct 20 13:46:29 IST 2026
[2026-10-20 13:46:29,734.734 INFO    ] ================================================
[2026-10-20 13:46:30,299.299 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:46:30
[2026-10-20 13:46:30,883.883 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:46:31,128.128 INFO    ] Initializing speech engine...
[2026-10-20 13:46:31,137.137 INFO    ] 2026-10-20 13:46:31
[2026-10-20 13:46:31,408.408 INFO    ] 2026-10-20 13:46:31
[2026-10-20 13:46:31,444.444 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:46:31,701.701 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:46:31,711.711 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:46:31,888.888 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:46:31,928.928 INFO    ] time= 20/10/2026 13:46:31
[2026-10-20 13:46:31,975.975 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:46:31,996.996 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:46:32,142.142 INFO    ] No existing commands found in stream
[2026-10-20 13:46:37,168.168 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:46:37,171.171 INFO    ] Waiting 1.24 seconds before fallback handling...
[2026-10-20 13:46:38,928.928 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:46:38,931.931 INFO    ] Checking for system updates...
[2026-10-20 13:46:38,969.969 INFO    ] 200
[2026-10-20 13:46:38,972.972 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:46:39,025.025 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:46:39,028.028 INFO    ] No update needed
[2026-10-20 13:46:39,031.031 INFO    ] Checking for camera pi updates...
[2026-10-20 13:46:39,065.065 INFO    ] 200
[2026-10-20 13:46:39,068.068 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:46:39,115.115 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:46:39,161.161 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:46:39,165.165 INFO    ] No camera update needed
[2026-10-20 13:46:39,168.168 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:46:39,172.172 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:46:39,178.178 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:46:39,184.184 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:46:41,225.225 INFO    ] ================================================
[2026-10-20 13:46:41,241.241 INFO    ] Launching Daemon at Tue Oct 20 13:46:41 IST 2026
[2026-10-20 13:46:41,252.252 INFO    ] ================================================
[2026-10-20 13:46:41,819.819 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:46:41
[2026-10-20 13:46:42,450.450 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:46:42,756.756 INFO    ] Initializing speech engine...
[2026-10-20 13:46:42,765.765 INFO    ] 2026-10-20 13:46:42
[2026-10-20 13:46:43,062.062 INFO    ] 2026-10-20 13:46:43
[2026-10-20 13:46:43,169.169 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:46:43,389.389 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:46:43,398.398 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:46:43,597.597 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:46:43,604.604 INFO    ] time= 20/10/2026 13:46:43
[2026-10-20 13:46:43,626.626 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:46:43,655.655 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:46:43,762.762 INFO    ] No existing commands found in stream
[2026-10-20 13:46:48,784.784 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:46:48,788.788 INFO    ] Waiting 3.07 seconds before fallback handling...
[2026-10-20 13:46:52,382.382 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 13:46:52,385.385 INFO    ] Checking for system updates...
[2026-10-20 13:46:52,427.427 INFO    ] 200
[2026-10-20 13:46:52,430.430 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:46:52,490.490 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:46:52,493.493 INFO    ] No update needed
[2026-10-20 13:46:52,496.496 INFO    ] Checking for camera pi updates...
[2026-10-20 13:46:52,530.530 INFO    ] 200
[2026-10-20 13:46:52,533.533 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:46:52,579.579 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:46:52,625.625 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:46:52,628.628 INFO    ] No camera update needed
[2026-10-20 13:46:52,631.631 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:46:52,634.634 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:46:52,640.640 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:46:52,646.646 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:46:54,687.687 INFO    ] ================================================
[2026-10-20 13:46:54,703.703 INFO    ] Launching Daemon at Tue Oct 20 13:46:54 IST 2026
[2026-10-20 13:46:54,714.714 INFO    ] ================================================
[2026-10-20 13:46:55,302.302 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:46:55
[2026-10-20 13:46:55,900.900 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:46:56,178.178 INFO    ] Initializing speech engine...
[2026-10-20 13:46:56,185.185 INFO    ] 2026-10-20 13:46:56
[2026-10-20 13:46:56,445.445 INFO    ] 2026-10-20 13:46:56
[2026-10-20 13:46:56,499.499 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:46:56,720.720 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:46:56,729.729 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:46:56,941.941 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:46:56,987.987 INFO    ] time= 20/10/2026 13:46:56
[2026-10-20 13:46:56,993.993 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:46:57,011.011 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:46:57,139.139 INFO    ] No existing commands found in stream
[2026-10-20 13:47:02,151.151 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:47:02,154.154 INFO    ] Waiting 3.09 seconds before fallback handling...
[2026-10-20 13:47:05,719.719 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 13:47:05,721.721 INFO    ] Checking for system updates...
[2026-10-20 13:47:05,757.757 INFO    ] 200
[2026-10-20 13:47:05,759.759 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:47:05,812.812 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:47:05,814.814 INFO    ] No update needed
[2026-10-20 13:47:05,817.817 INFO    ] Checking for camera pi updates...
[2026-10-20 13:47:05,852.852 INFO    ] 200
[2026-10-20 13:47:05,854.854 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:47:05,894.894 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:47:05,937.937 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:47:05,940.940 INFO    ] No camera update needed
[2026-10-20 13:47:05,943.943 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:47:05,945.945 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:47:05,950.950 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:47:05,955.955 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:47:08,996.996 INFO    ] ================================================
[2026-10-20 13:47:08,011.011 INFO    ] Launching Daemon at Tue Oct 20 13:47:08 IST 2026
[2026-10-20 13:47:08,024.024 INFO    ] ================================================
[2026-10-20 13:47:08,615.615 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:47:08
[2026-10-20 13:47:09,222.222 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:47:09,489.489 INFO    ] Initializing speech engine...
[2026-10-20 13:47:09,513.513 INFO    ] 2026-10-20 13:47:09
[2026-10-20 13:47:09,790.790 INFO    ] 2026-10-20 13:47:09
[2026-10-20 13:47:09,828.828 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:47:10,053.053 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:47:10,078.078 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:47:10,276.276 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:47:10,320.320 INFO    ] time= 20/10/2026 13:47:10
[2026-10-20 13:47:10,369.369 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:47:10,424.424 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:47:10,561.561 INFO    ] No existing commands found in stream
[2026-10-20 13:47:15,582.582 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:47:15,584.584 INFO    ] Waiting 0.15 seconds before fallback handling...
[2026-10-20 13:47:16,233.233 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 13:47:16,235.235 INFO    ] Checking for system updates...
[2026-10-20 13:47:16,272.272 INFO    ] 200
[2026-10-20 13:47:16,274.274 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:47:16,330.330 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:47:16,332.332 INFO    ] No update needed
[2026-10-20 13:47:16,335.335 INFO    ] Checking for camera pi updates...
[2026-10-20 13:47:16,368.368 INFO    ] 200
[2026-10-20 13:47:16,371.371 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:47:16,410.410 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:47:16,463.463 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:47:16,466.466 INFO    ] No camera update needed
[2026-10-20 13:47:16,468.468 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:47:16,471.471 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:47:16,476.476 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:47:16,481.481 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:47:18,521.521 INFO    ] ================================================
[2026-10-20 13:47:18,536.536 INFO    ] Launching Daemon at Tue Oct 20 13:47:18 IST 2026
[2026-10-20 13:47:18,547.547 INFO    ] ================================================
[2026-10-20 13:47:19,129.129 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:47:19
[2026-10-20 13:47:19,734.734 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:47:20,002.002 INFO    ] Initializing speech engine...
[2026-10-20 13:47:20,027.027 INFO    ] 2026-10-20 13:47:20
[2026-10-20 13:47:20,301.301 INFO    ] 2026-10-20 13:47:20
[2026-10-20 13:47:20,336.336 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:47:20,561.561 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:47:20,615.615 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:47:20,785.785 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:47:20,825.825 INFO    ] time= 20/10/2026 13:47:20
[2026-10-20 13:47:20,879.879 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:47:20,932.932 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:47:21,080.080 INFO    ] No existing commands found in stream
[2026-10-20 13:47:26,106.106 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:47:26,109.109 INFO    ] Waiting 3.59 seconds before fallback handling...
[2026-10-20 13:47:30,206.206 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:47:30,209.209 INFO    ] Checking for system updates...
[2026-10-20 13:47:30,244.244 INFO    ] 200
[2026-10-20 13:47:30,246.246 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:47:30,297.297 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:47:30,300.300 INFO    ] No update needed
[2026-10-20 13:47:30,302.302 INFO    ] Checking for camera pi updates...
[2026-10-20 13:47:30,336.336 INFO    ] 200
[2026-10-20 13:47:30,339.339 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:47:30,383.383 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:47:30,429.429 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:47:30,431.431 INFO    ] No camera update needed
[2026-10-20 13:47:30,434.434 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:47:30,436.436 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:47:30,441.441 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:47:30,446.446 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:47:32,487.487 INFO    ] ================================================
[2026-10-20 13:47:32,503.503 INFO    ] Launching Daemon at Tue Oct 20 13:47:32 IST 2026
[2026-10-20 13:47:32,515.515 INFO    ] ================================================
[2026-10-20 13:47:33,204.204 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:47:33
[2026-10-20 13:47:33,871.871 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:47:34,173.173 INFO    ] Initializing speech engine...
[2026-10-20 13:47:34,182.182 INFO    ] 2026-10-20 13:47:34
[2026-10-20 13:47:34,472.472 INFO    ] 2026-10-20 13:47:34
[2026-10-20 13:47:34,519.519 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:47:34,812.812 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:47:34,817.817 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:47:35,017.017 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:47:35,036.036 INFO    ] time= 20/10/2026 13:47:35
[2026-10-20 13:47:35,046.046 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:47:35,074.074 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:47:35,219.219 INFO    ] No existing commands found in stream
[2026-10-20 13:47:40,245.245 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:47:40,248.248 INFO    ] Waiting 0.08 seconds before fallback handling...
[2026-10-20 13:47:40,849.849 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 13:47:40,852.852 INFO    ] Checking for system updates...
[2026-10-20 13:47:40,888.888 INFO    ] 200
[2026-10-20 13:47:40,891.891 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:47:40,944.944 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:47:40,946.946 INFO    ] No update needed
[2026-10-20 13:47:40,949.949 INFO    ] Checking for camera pi updates...
[2026-10-20 13:47:40,983.983 INFO    ] 200
[2026-10-20 13:47:40,986.986 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:47:41,027.027 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:47:41,173.173 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:47:41,176.176 INFO    ] No camera update needed
[2026-10-20 13:47:41,178.178 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:47:41,181.181 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:47:41,187.187 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:47:41,193.193 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:47:43,234.234 INFO    ] ================================================
[2026-10-20 13:47:43,249.249 INFO    ] Launching Daemon at Tue Oct 20 13:47:43 IST 2026
[2026-10-20 13:47:43,260.260 INFO    ] ================================================
[2026-10-20 13:47:43,826.826 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:47:43
[2026-10-20 13:47:44,411.411 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:47:44,665.665 INFO    ] Initializing speech engine...
[2026-10-20 13:47:44,674.674 INFO    ] 2026-10-20 13:47:44
[2026-10-20 13:47:44,964.964 INFO    ] 2026-10-20 13:47:44
[2026-10-20 13:47:45,001.001 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:47:45,219.219 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:47:45,227.227 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:47:45,373.373 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:47:45,378.378 INFO    ] time= 20/10/2026 13:47:45
[2026-10-20 13:47:45,385.385 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:47:45,433.433 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:47:45,567.567 INFO    ] No existing commands found in stream
[2026-10-20 13:47:50,602.602 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:47:50,605.605 INFO    ] Waiting 2.81 seconds before fallback handling...
[2026-10-20 13:47:53,921.921 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 13:47:53,924.924 INFO    ] Checking for system updates...
[2026-10-20 13:47:53,961.961 INFO    ] 200
[2026-10-20 13:47:53,963.963 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:47:54,015.015 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:47:54,018.018 INFO    ] No update needed
[2026-10-20 13:47:54,021.021 INFO    ] Checking for camera pi updates...
[2026-10-20 13:47:54,055.055 INFO    ] 200
[2026-10-20 13:47:54,058.058 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:47:54,099.099 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:47:54,151.151 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:47:54,154.154 INFO    ] No camera update needed
[2026-10-20 13:47:54,157.157 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:47:54,159.159 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:47:54,166.166 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:47:54,171.171 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:47:56,212.212 INFO    ] ================================================
[2026-10-20 13:47:56,226.226 INFO    ] Launching Daemon at Tue Oct 20 13:47:56 IST 2026
[2026-10-20 13:47:56,237.237 INFO    ] ================================================
[2026-10-20 13:47:56,821.821 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:47:56
[2026-10-20 13:47:57,431.431 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:47:57,710.710 INFO    ] Initializing speech engine...
[2026-10-20 13:47:57,719.719 INFO    ] 2026-10-20 13:47:57
[2026-10-20 13:47:57,973.973 INFO    ] 2026-10-20 13:47:57
[2026-10-20 13:47:58,010.010 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:47:58,254.254 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:47:58,263.263 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:47:58,464.464 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:47:58,521.521 INFO    ] time= 20/10/2026 13:47:58
[2026-10-20 13:47:58,528.528 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:47:58,542.542 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:47:58,678.678 INFO    ] No existing commands found in stream
[2026-10-20 13:48:03,690.690 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:48:03,694.694 INFO    ] Waiting 0.03 seconds before fallback handling...
[2026-10-20 13:48:04,189.189 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:48:04,192.192 INFO    ] Checking for system updates...
[2026-10-20 13:48:04,227.227 INFO    ] 200
[2026-10-20 13:48:04,230.230 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:48:04,283.283 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:48:04,285.285 INFO    ] No update needed
[2026-10-20 13:48:04,287.287 INFO    ] Checking for camera pi updates...
[2026-10-20 13:48:04,322.322 INFO    ] 200
[2026-10-20 13:48:04,325.325 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:48:04,367.367 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:48:04,414.414 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:48:04,417.417 INFO    ] No camera update needed
[2026-10-20 13:48:04,419.419 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:48:04,422.422 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:48:04,427.427 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:48:04,432.432 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:48:06,472.472 INFO    ] ================================================
[2026-10-20 13:48:06,486.486 INFO    ] Launching Daemon at Tue Oct 20 13:48:06 IST 2026
[2026-10-20 13:48:06,497.497 INFO    ] ================================================
[2026-10-20 13:48:07,071.071 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:48:07
[2026-10-20 13:48:07,669.669 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:48:07,971.971 INFO    ] Initializing speech engine...
[2026-10-20 13:48:07,984.984 INFO    ] 2026-10-20 13:48:07
[2026-10-20 13:48:08,294.294 INFO    ] 2026-10-20 13:48:08
[2026-10-20 13:48:08,380.380 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:48:08,591.591 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:48:08,600.600 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:48:08,796.796 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:48:08,803.803 INFO    ] time= 20/10/2026 13:48:08
[2026-10-20 13:48:08,825.825 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:48:08,853.853 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:48:08,974.974 INFO    ] No existing commands found in stream
[2026-10-20 13:48:14,005.005 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:48:14,008.008 INFO    ] Waiting 3.94 seconds before fallback handling...
[2026-10-20 13:48:18,485.485 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 13:48:18,488.488 INFO    ] Checking for system updates...
[2026-10-20 13:48:18,525.525 INFO    ] 200
[2026-10-20 13:48:18,528.528 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:48:18,581.581 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:48:18,583.583 INFO    ] No update needed
[2026-10-20 13:48:18,586.586 INFO    ] Checking for camera pi updates...
[2026-10-20 13:48:18,622.622 INFO    ] 200
[2026-10-20 13:48:18,625.625 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:48:18,666.666 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:48:18,718.718 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:48:18,721.721 INFO    ] No camera update needed
[2026-10-20 13:48:18,724.724 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:48:18,727.727 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:48:18,733.733 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:48:18,739.739 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:48:20,780.780 INFO    ] ================================================
[2026-10-20 13:48:20,795.795 INFO    ] Launching Daemon at Tue Oct 20 13:48:20 IST 2026
[2026-10-20 13:48:20,805.805 INFO    ] ================================================
[2026-10-20 13:48:21,457.457 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:48:21
[2026-10-20 13:48:22,128.128 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:48:22,426.426 INFO    ] Initializing speech engine...
[2026-10-20 13:48:22,439.439 INFO    ] 2026-10-20 13:48:22
[2026-10-20 13:48:22,711.711 INFO    ] 2026-10-20 13:48:22
[2026-10-20 13:48:22,754.754 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:48:23,001.001 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:48:23,011.011 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:48:23,151.151 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:48:23,221.221 INFO    ] time= 20/10/2026 13:48:23
[2026-10-20 13:48:23,274.274 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:48:23,281.281 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:48:23,441.441 INFO    ] No existing commands found in stream
[2026-10-20 13:48:28,469.469 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:48:28,472.472 INFO    ] Waiting 0.46 seconds before fallback handling...
[2026-10-20 13:48:29,457.457 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:48:29,461.461 INFO    ] Checking for system updates...
[2026-10-20 13:48:29,497.497 INFO    ] 200
[2026-10-20 13:48:29,500.500 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:48:29,561.561 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:48:29,564.564 INFO    ] No update needed
[2026-10-20 13:48:29,566.566 INFO    ] Checking for camera pi updates...
[2026-10-20 13:48:29,600.600 INFO    ] 200
[2026-10-20 13:48:29,602.602 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:48:29,644.644 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:48:29,689.689 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:48:29,692.692 INFO    ] No camera update needed
[2026-10-20 13:48:29,695.695 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:48:29,697.697 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:48:29,704.704 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:48:29,709.709 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:48:31,749.749 INFO    ] ================================================
[2026-10-20 13:48:31,764.764 INFO    ] Launching Daemon at Tue Oct 20 13:48:31 IST 2026
[2026-10-20 13:48:31,774.774 INFO    ] ================================================
[2026-10-20 13:48:32,377.377 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:48:32
[2026-10-20 13:48:33,059.059 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:48:33,346.346 INFO    ] Initializing speech engine...
[2026-10-20 13:48:33,354.354 INFO    ] 2026-10-20 13:48:33
[2026-10-20 13:48:33,629.629 INFO    ] 2026-10-20 13:48:33
[2026-10-20 13:48:33,673.673 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:48:33,924.924 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:48:33,947.947 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:48:34,159.159 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:48:34,166.166 INFO    ] time= 20/10/2026 13:48:34
[2026-10-20 13:48:34,184.184 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:48:34,206.206 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:48:34,321.321 INFO    ] No existing commands found in stream
[2026-10-20 13:48:39,345.345 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:48:39,348.348 INFO    ] Waiting 0.02 seconds before fallback handling...
[2026-10-20 13:48:39,888.888 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 13:48:39,891.891 INFO    ] Checking for system updates...
[2026-10-20 13:48:39,927.927 INFO    ] 200
[2026-10-20 13:48:39,930.930 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:48:39,991.991 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:48:39,994.994 INFO    ] No update needed
[2026-10-20 13:48:39,996.996 INFO    ] Checking for camera pi updates...
[2026-10-20 13:48:40,033.033 INFO    ] 200
[2026-10-20 13:48:40,035.035 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:48:40,075.075 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:48:40,120.120 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:48:40,122.122 INFO    ] No camera update needed
[2026-10-20 13:48:40,124.124 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:48:40,127.127 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:48:40,132.132 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:48:40,137.137 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:48:42,178.178 INFO    ] ================================================
[2026-10-20 13:48:42,193.193 INFO    ] Launching Daemon at Tue Oct 20 13:48:42 IST 2026
[2026-10-20 13:48:42,204.204 INFO    ] ================================================
[2026-10-20 13:48:42,786.786 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:48:42
[2026-10-20 13:48:43,390.390 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:48:43,667.667 INFO    ] Initializing speech engine...
[2026-10-20 13:48:43,674.674 INFO    ] 2026-10-20 13:48:43
[2026-10-20 13:48:43,933.933 INFO    ] 2026-10-20 13:48:43
[2026-10-20 13:48:43,964.964 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:48:44,213.213 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:48:44,219.219 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:48:44,437.437 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:48:44,475.475 INFO    ] time= 20/10/2026 13:48:44
[2026-10-20 13:48:44,481.481 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:48:44,498.498 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:48:44,634.634 INFO    ] No existing commands found in stream
[2026-10-20 13:48:49,664.664 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:48:49,667.667 INFO    ] Waiting 0.90 seconds before fallback handling...
[2026-10-20 13:48:51,094.094 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:48:51,097.097 INFO    ] Checking for system updates...
[2026-10-20 13:48:51,133.133 INFO    ] 200
[2026-10-20 13:48:51,135.135 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:48:51,186.186 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:48:51,189.189 INFO    ] No update needed
[2026-10-20 13:48:51,191.191 INFO    ] Checking for camera pi updates...
[2026-10-20 13:48:51,225.225 INFO    ] 200
[2026-10-20 13:48:51,228.228 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:48:51,268.268 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:48:51,314.314 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:48:51,317.317 INFO    ] No camera update needed
[2026-10-20 13:48:51,320.320 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:48:51,322.322 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:48:51,327.327 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:48:51,333.333 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:48:53,374.374 INFO    ] ================================================
[2026-10-20 13:48:53,389.389 INFO    ] Launching Daemon at Tue Oct 20 13:48:53 IST 2026
[2026-10-20 13:48:53,400.400 INFO    ] ================================================
[2026-10-20 13:48:54,056.056 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:48:54
[2026-10-20 13:48:54,731.731 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:48:55,034.034 INFO    ] Initializing speech engine...
[2026-10-20 13:48:55,042.042 INFO    ] 2026-10-20 13:48:55
[2026-10-20 13:48:55,330.330 INFO    ] 2026-10-20 13:48:55
[2026-10-20 13:48:55,374.374 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:48:55,655.655 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:48:55,663.663 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:48:55,853.853 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:48:55,879.879 INFO    ] time= 20/10/2026 13:48:55
[2026-10-20 13:48:55,900.900 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:48:55,909.909 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:48:56,040.040 INFO    ] No existing commands found in stream
[2026-10-20 13:49:01,057.057 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:49:01,505.505 INFO    ] Waiting 0.19 seconds before fallback handling...
[2026-10-20 13:49:02,262.262 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:49:02,265.265 INFO    ] Checking for system updates...
[2026-10-20 13:49:02,301.301 INFO    ] 200
[2026-10-20 13:49:02,304.304 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:49:02,359.359 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:49:02,361.361 INFO    ] No update needed
[2026-10-20 13:49:02,364.364 INFO    ] Checking for camera pi updates...
[2026-10-20 13:49:02,398.398 INFO    ] 200
[2026-10-20 13:49:02,401.401 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:49:02,448.448 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:49:02,483.483 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:49:02,486.486 INFO    ] No camera update needed
[2026-10-20 13:49:02,489.489 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:49:02,492.492 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:49:02,499.499 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:49:02,505.505 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:49:04,553.553 INFO    ] ================================================
[2026-10-20 13:49:04,569.569 INFO    ] Launching Daemon at Tue Oct 20 13:49:04 IST 2026
[2026-10-20 13:49:04,580.580 INFO    ] ================================================
[2026-10-20 13:49:05,186.186 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:49:05
[2026-10-20 13:49:05,773.773 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:49:06,021.021 INFO    ] Initializing speech engine...
[2026-10-20 13:49:06,029.029 INFO    ] 2026-10-20 13:49:06
[2026-10-20 13:49:06,303.303 INFO    ] 2026-10-20 13:49:06
[2026-10-20 13:49:06,338.338 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:49:06,536.536 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:49:06,576.576 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:49:06,779.779 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:49:06,833.833 INFO    ] time= 20/10/2026 13:49:06
[2026-10-20 13:49:06,873.873 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:49:06,879.879 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:49:07,028.028 INFO    ] No existing commands found in stream
[2026-10-20 13:49:12,039.039 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:49:12,042.042 INFO    ] Waiting 1.55 seconds before fallback handling...
[2026-10-20 13:49:14,105.105 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:49:14,108.108 INFO    ] Checking for system updates...
[2026-10-20 13:49:14,144.144 INFO    ] 200
[2026-10-20 13:49:14,147.147 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:49:14,202.202 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:49:14,204.204 INFO    ] No update needed
[2026-10-20 13:49:14,207.207 INFO    ] Checking for camera pi updates...
[2026-10-20 13:49:14,245.245 INFO    ] 200
[2026-10-20 13:49:14,248.248 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:49:14,292.292 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:49:14,337.337 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:49:14,341.341 INFO    ] No camera update needed
[2026-10-20 13:49:14,343.343 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:49:14,346.346 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:49:14,351.351 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:49:14,356.356 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:49:16,397.397 INFO    ] ================================================
[2026-10-20 13:49:16,413.413 INFO    ] Launching Daemon at Tue Oct 20 13:49:16 IST 2026
[2026-10-20 13:49:16,424.424 INFO    ] ================================================
[2026-10-20 13:49:17,032.032 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:49:17
[2026-10-20 13:49:17,666.666 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:49:17,944.944 INFO    ] Initializing speech engine...
[2026-10-20 13:49:17,956.956 INFO    ] 2026-10-20 13:49:17
[2026-10-20 13:49:18,268.268 INFO    ] 2026-10-20 13:49:18
[2026-10-20 13:49:18,308.308 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:49:18,511.511 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:49:18,519.519 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:49:18,653.653 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:49:18,717.717 INFO    ] time= 20/10/2026 13:49:18
[2026-10-20 13:49:18,724.724 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:49:18,807.807 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:49:18,984.984 INFO    ] No existing commands found in stream
[2026-10-20 13:49:24,003.003 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:49:24,006.006 INFO    ] Waiting 3.18 seconds before fallback handling...
[2026-10-20 13:49:27,753.753 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:49:27,756.756 INFO    ] Checking for system updates...
[2026-10-20 13:49:27,797.797 INFO    ] 200
[2026-10-20 13:49:27,800.800 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:49:27,861.861 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:49:27,864.864 INFO    ] No update needed
[2026-10-20 13:49:27,867.867 INFO    ] Checking for camera pi updates...
[2026-10-20 13:49:27,910.910 INFO    ] 200
[2026-10-20 13:49:27,914.914 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:49:27,955.955 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:49:28,013.013 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:49:28,016.016 INFO    ] No camera update needed
[2026-10-20 13:49:28,018.018 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:49:28,021.021 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:49:28,028.028 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:49:28,034.034 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:49:30,074.074 INFO    ] ================================================
[2026-10-20 13:49:30,089.089 INFO    ] Launching Daemon at Tue Oct 20 13:49:30 IST 2026
[2026-10-20 13:49:30,100.100 INFO    ] ================================================
[2026-10-20 13:49:30,666.666 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:49:30
[2026-10-20 13:49:31,288.288 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:49:31,613.613 INFO    ] Initializing speech engine...
[2026-10-20 13:49:31,625.625 INFO    ] 2026-10-20 13:49:31
[2026-10-20 13:49:31,944.944 INFO    ] 2026-10-20 13:49:31
[2026-10-20 13:49:32,033.033 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:49:32,213.213 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:49:32,221.221 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:49:32,458.458 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:49:32,466.466 INFO    ] time= 20/10/2026 13:49:32
[2026-10-20 13:49:32,489.489 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:49:32,518.518 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:49:32,626.626 INFO    ] No existing commands found in stream
[2026-10-20 13:49:37,652.652 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:49:37,655.655 INFO    ] Waiting 1.65 seconds before fallback handling...
[2026-10-20 13:49:39,853.853 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 13:49:39,856.856 INFO    ] Checking for system updates...
[2026-10-20 13:49:39,894.894 INFO    ] 200
[2026-10-20 13:49:39,896.896 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:49:39,949.949 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:49:39,951.951 INFO    ] No update needed
[2026-10-20 13:49:39,954.954 INFO    ] Checking for camera pi updates...
[2026-10-20 13:49:39,992.992 INFO    ] 200
[2026-10-20 13:49:39,994.994 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:49:40,035.035 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:49:40,086.086 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:49:40,089.089 INFO    ] No camera update needed
[2026-10-20 13:49:40,092.092 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:49:40,095.095 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:49:40,101.101 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:49:40,107.107 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:49:42,149.149 INFO    ] ================================================
[2026-10-20 13:49:42,164.164 INFO    ] Launching Daemon at Tue Oct 20 13:49:42 IST 2026
[2026-10-20 13:49:42,175.175 INFO    ] ================================================
[2026-10-20 13:49:42,851.851 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:49:42
[2026-10-20 13:49:43,520.520 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:49:43,777.777 INFO    ] Initializing speech engine...
[2026-10-20 13:49:43,795.795 INFO    ] 2026-10-20 13:49:43
[2026-10-20 13:49:44,041.041 INFO    ] 2026-10-20 13:49:44
[2026-10-20 13:49:44,076.076 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:49:44,327.327 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:49:44,336.336 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:49:44,532.532 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:49:44,587.587 INFO    ] time= 20/10/2026 13:49:44
[2026-10-20 13:49:44,600.600 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:49:44,617.617 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:49:44,754.754 INFO    ] No existing commands found in stream
[2026-10-20 13:49:49,778.778 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:49:49,781.781 INFO    ] Waiting 2.82 seconds before fallback handling...
[2026-10-20 13:49:53,073.073 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 13:49:53,076.076 INFO    ] Checking for system updates...
[2026-10-20 13:49:53,111.111 INFO    ] 200
[2026-10-20 13:49:53,113.113 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:49:53,176.176 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:49:53,179.179 INFO    ] No update needed
[2026-10-20 13:49:53,181.181 INFO    ] Checking for camera pi updates...
[2026-10-20 13:49:53,214.214 INFO    ] 200
[2026-10-20 13:49:53,217.217 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:49:53,257.257 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:49:53,410.410 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:49:53,413.413 INFO    ] No camera update needed
[2026-10-20 13:49:53,416.416 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:49:53,418.418 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:49:53,425.425 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:49:53,431.431 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:49:55,473.473 INFO    ] ================================================
[2026-10-20 13:49:55,489.489 INFO    ] Launching Daemon at Tue Oct 20 13:49:55 IST 2026
[2026-10-20 13:49:55,499.499 INFO    ] ================================================
[2026-10-20 13:49:56,066.066 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:49:56
[2026-10-20 13:49:56,659.659 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:49:56,971.971 INFO    ] Initializing speech engine...
[2026-10-20 13:49:56,979.979 INFO    ] 2026-10-20 13:49:56
[2026-10-20 13:49:57,272.272 INFO    ] 2026-10-20 13:49:57
[2026-10-20 13:49:57,330.330 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:49:57,611.611 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:49:57,618.618 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:49:57,786.786 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:49:57,826.826 INFO    ] time= 20/10/2026 13:49:57
[2026-10-20 13:49:57,843.843 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:49:57,863.863 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:49:57,986.986 INFO    ] No existing commands found in stream
[2026-10-20 13:50:03,002.002 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:50:03,007.007 INFO    ] Waiting 0.40 seconds before fallback handling...
[2026-10-20 13:50:07,838.838 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:50:07,841.841 INFO    ] Checking for system updates...
[2026-10-20 13:50:07,880.880 INFO    ] 200
[2026-10-20 13:50:07,883.883 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:50:07,934.934 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:50:07,936.936 INFO    ] No update needed
[2026-10-20 13:50:07,939.939 INFO    ] Checking for camera pi updates...
[2026-10-20 13:50:07,972.972 INFO    ] 200
[2026-10-20 13:50:07,974.974 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:50:08,013.013 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:50:08,059.059 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:50:08,061.061 INFO    ] No camera update needed
[2026-10-20 13:50:08,063.063 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:50:08,066.066 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:50:08,071.071 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:50:08,076.076 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:50:10,117.117 INFO    ] ================================================
[2026-10-20 13:50:10,132.132 INFO    ] Launching Daemon at Tue Oct 20 13:50:10 IST 2026
[2026-10-20 13:50:10,143.143 INFO    ] ================================================
[2026-10-20 13:50:10,725.725 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:50:10
[2026-10-20 13:50:11,324.324 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:50:11,599.599 INFO    ] Initializing speech engine...
[2026-10-20 13:50:11,609.609 INFO    ] 2026-10-20 13:50:11
[2026-10-20 13:50:11,857.857 INFO    ] 2026-10-20 13:50:11
[2026-10-20 13:50:11,899.899 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:50:12,163.163 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:50:12,172.172 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:50:12,332.332 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:50:12,357.357 INFO    ] time= 20/10/2026 13:50:12
[2026-10-20 13:50:12,401.401 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:50:12,455.455 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:50:12,555.555 INFO    ] No existing commands found in stream
[2026-10-20 13:50:17,566.566 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:50:17,569.569 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-10-20 13:50:19,896.896 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:50:19,899.899 INFO    ] Checking for system updates...
[2026-10-20 13:50:19,934.934 INFO    ] 200
[2026-10-20 13:50:19,937.937 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:50:19,988.988 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:50:19,991.991 INFO    ] No update needed
[2026-10-20 13:50:19,993.993 INFO    ] Checking for camera pi updates...
[2026-10-20 13:50:20,026.026 INFO    ] 200
[2026-10-20 13:50:20,029.029 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:50:20,075.075 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:50:20,120.120 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:50:20,123.123 INFO    ] No camera update needed
[2026-10-20 13:50:20,125.125 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:50:20,128.128 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:50:20,133.133 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:50:20,138.138 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:50:22,179.179 INFO    ] ================================================
[2026-10-20 13:50:22,195.195 INFO    ] Launching Daemon at Tue Oct 20 13:50:22 IST 2026
[2026-10-20 13:50:22,206.206 INFO    ] ================================================
[2026-10-20 13:50:22,879.879 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:50:22
[2026-10-20 13:50:23,576.576 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:50:23,889.889 INFO    ] Initializing speech engine...
[2026-10-20 13:50:23,903.903 INFO    ] 2026-10-20 13:50:23
[2026-10-20 13:50:24,176.176 INFO    ] 2026-10-20 13:50:24
[2026-10-20 13:50:24,235.235 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:50:24,470.470 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:50:24,476.476 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:50:24,700.700 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:50:24,742.742 INFO    ] time= 20/10/2026 13:50:24
[2026-10-20 13:50:24,749.749 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:50:24,771.771 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:50:24,908.908 INFO    ] No existing commands found in stream
[2026-10-20 13:50:29,935.935 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:50:29,939.939 INFO    ] Waiting 0.92 seconds before fallback handling...
[2026-10-20 13:50:31,434.434 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 13:50:31,437.437 INFO    ] Checking for system updates...
[2026-10-20 13:50:31,475.475 INFO    ] 200
[2026-10-20 13:50:31,478.478 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:50:31,531.531 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:50:31,534.534 INFO    ] No update needed
[2026-10-20 13:50:31,537.537 INFO    ] Checking for camera pi updates...
[2026-10-20 13:50:31,571.571 INFO    ] 200
[2026-10-20 13:50:31,574.574 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:50:31,622.622 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:50:31,653.653 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:50:31,656.656 INFO    ] No camera update needed
[2026-10-20 13:50:31,658.658 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:50:31,660.660 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:50:31,665.665 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:50:31,671.671 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:50:33,712.712 INFO    ] ================================================
[2026-10-20 13:50:33,727.727 INFO    ] Launching Daemon at Tue Oct 20 13:50:33 IST 2026
[2026-10-20 13:50:33,737.737 INFO    ] ================================================
[2026-10-20 13:50:34,304.304 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:50:34
[2026-10-20 13:50:34,889.889 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:50:35,157.157 INFO    ] Initializing speech engine...
[2026-10-20 13:50:35,170.170 INFO    ] 2026-10-20 13:50:35
[2026-10-20 13:50:35,421.421 INFO    ] 2026-10-20 13:50:35
[2026-10-20 13:50:35,456.456 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:50:35,657.657 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:50:35,716.716 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:50:35,933.933 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:50:35,989.989 INFO    ] time= 20/10/2026 13:50:35
[2026-10-20 13:50:36,007.007 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:50:36,016.016 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:50:36,146.146 INFO    ] No existing commands found in stream
[2026-10-20 13:50:41,164.164 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:50:41,167.167 INFO    ] Waiting 1.99 seconds before fallback handling...
[2026-10-20 13:50:43,675.675 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:50:43,679.679 INFO    ] Checking for system updates...
[2026-10-20 13:50:43,716.716 INFO    ] 200
[2026-10-20 13:50:43,719.719 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:50:43,780.780 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:50:43,783.783 INFO    ] No update needed
[2026-10-20 13:50:43,786.786 INFO    ] Checking for camera pi updates...
[2026-10-20 13:50:43,824.824 INFO    ] 200
[2026-10-20 13:50:43,827.827 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:50:43,873.873 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:50:43,919.919 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:50:43,922.922 INFO    ] No camera update needed
[2026-10-20 13:50:43,925.925 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:50:43,927.927 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:50:43,934.934 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:50:43,939.939 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:50:45,979.979 INFO    ] ================================================
[2026-10-20 13:50:45,994.994 INFO    ] Launching Daemon at Tue Oct 20 13:50:45 IST 2026
[2026-10-20 13:50:46,004.004 INFO    ] ================================================
[2026-10-20 13:50:46,586.586 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:50:46
[2026-10-20 13:50:47,184.184 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:50:47,458.458 INFO    ] Initializing speech engine...
[2026-10-20 13:50:47,470.470 INFO    ] 2026-10-20 13:50:47
[2026-10-20 13:50:47,747.747 INFO    ] 2026-10-20 13:50:47
[2026-10-20 13:50:47,788.788 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:50:48,011.011 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:50:48,018.018 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:50:48,164.164 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:50:48,171.171 INFO    ] time= 20/10/2026 13:50:48
[2026-10-20 13:50:48,184.184 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:50:48,240.240 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:50:48,389.389 INFO    ] No existing commands found in stream
[2026-10-20 13:50:53,411.411 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:50:53,413.413 INFO    ] Waiting 3.50 seconds before fallback handling...
[2026-10-20 13:50:57,415.415 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:50:57,417.417 INFO    ] Checking for system updates...
[2026-10-20 13:50:57,453.453 INFO    ] 200
[2026-10-20 13:50:57,455.455 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:50:57,507.507 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:50:57,509.509 INFO    ] No update needed
[2026-10-20 13:50:57,512.512 INFO    ] Checking for camera pi updates...
[2026-10-20 13:50:57,549.549 INFO    ] 200
[2026-10-20 13:50:57,551.551 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:50:57,596.596 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:50:57,651.651 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:50:57,653.653 INFO    ] No camera update needed
[2026-10-20 13:50:57,656.656 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:50:57,658.658 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:50:57,663.663 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:50:57,668.668 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:50:59,709.709 INFO    ] ================================================
[2026-10-20 13:50:59,724.724 INFO    ] Launching Daemon at Tue Oct 20 13:50:59 IST 2026
[2026-10-20 13:50:59,735.735 INFO    ] ================================================
[2026-10-20 13:51:00,367.367 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:51:00
[2026-10-20 13:51:00,952.952 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:51:01,220.220 INFO    ] Initializing speech engine...
[2026-10-20 13:51:01,238.238 INFO    ] 2026-10-20 13:51:01
[2026-10-20 13:51:01,639.639 INFO    ] 2026-10-20 13:51:01
[2026-10-20 13:51:01,688.688 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:51:01,973.973 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:51:01,981.981 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:51:02,171.171 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:51:02,215.215 INFO    ] time= 20/10/2026 13:51:02
[2026-10-20 13:51:02,250.250 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:51:02,295.295 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:51:02,427.427 INFO    ] No existing commands found in stream
[2026-10-20 13:51:07,457.457 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:51:07,460.460 INFO    ] Waiting 1.64 seconds before fallback handling...
[2026-10-20 13:51:09,630.630 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:51:09,633.633 INFO    ] Checking for system updates...
[2026-10-20 13:51:09,669.669 INFO    ] 200
[2026-10-20 13:51:09,671.671 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:51:09,724.724 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:51:09,727.727 INFO    ] No update needed
[2026-10-20 13:51:09,730.730 INFO    ] Checking for camera pi updates...
[2026-10-20 13:51:09,764.764 INFO    ] 200
[2026-10-20 13:51:09,767.767 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:51:09,813.813 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:51:09,859.859 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:51:09,862.862 INFO    ] No camera update needed
[2026-10-20 13:51:09,864.864 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:51:09,867.867 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:51:09,873.873 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:51:09,879.879 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:51:11,920.920 INFO    ] ================================================
[2026-10-20 13:51:11,935.935 INFO    ] Launching Daemon at Tue Oct 20 13:51:11 IST 2026
[2026-10-20 13:51:11,946.946 INFO    ] ================================================
[2026-10-20 13:51:12,528.528 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:51:12
[2026-10-20 13:51:13,128.128 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:51:13,404.404 INFO    ] Initializing speech engine...
[2026-10-20 13:51:13,411.411 INFO    ] 2026-10-20 13:51:13
[2026-10-20 13:51:13,671.671 INFO    ] 2026-10-20 13:51:13
[2026-10-20 13:51:13,702.702 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:51:13,952.952 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:51:13,956.956 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:51:14,090.090 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:51:14,156.156 INFO    ] time= 20/10/2026 13:51:14
[2026-10-20 13:51:14,216.216 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:51:14,223.223 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:51:14,364.364 INFO    ] No existing commands found in stream
[2026-10-20 13:51:19,380.380 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:51:19,383.383 INFO    ] Waiting 3.29 seconds before fallback handling...
[2026-10-20 13:51:23,180.180 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 13:51:23,183.183 INFO    ] Checking for system updates...
[2026-10-20 13:51:23,219.219 INFO    ] 200
[2026-10-20 13:51:23,221.221 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:51:23,281.281 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:51:23,283.283 INFO    ] No update needed
[2026-10-20 13:51:23,285.285 INFO    ] Checking for camera pi updates...
[2026-10-20 13:51:23,323.323 INFO    ] 200
[2026-10-20 13:51:23,325.325 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:51:23,365.365 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:51:23,410.410 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:51:23,412.412 INFO    ] No camera update needed
[2026-10-20 13:51:23,415.415 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:51:23,417.417 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:51:23,422.422 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:51:23,427.427 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:51:25,466.466 INFO    ] ================================================
[2026-10-20 13:51:25,481.481 INFO    ] Launching Daemon at Tue Oct 20 13:51:25 IST 2026
[2026-10-20 13:51:25,492.492 INFO    ] ================================================
[2026-10-20 13:51:26,057.057 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:51:26
[2026-10-20 13:51:26,641.641 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:51:26,952.952 INFO    ] Initializing speech engine...
[2026-10-20 13:51:26,960.960 INFO    ] 2026-10-20 13:51:26
[2026-10-20 13:51:27,250.250 INFO    ] 2026-10-20 13:51:27
[2026-10-20 13:51:27,297.297 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:51:27,552.552 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:51:27,557.557 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:51:27,793.793 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:51:27,800.800 INFO    ] time= 20/10/2026 13:51:27
[2026-10-20 13:51:27,820.820 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:51:27,849.849 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:51:27,974.974 INFO    ] No existing commands found in stream
[2026-10-20 13:51:33,010.010 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:51:33,013.013 INFO    ] Waiting 3.53 seconds before fallback handling...
[2026-10-20 13:51:37,114.114 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 13:51:37,117.117 INFO    ] Checking for system updates...
[2026-10-20 13:51:37,159.159 INFO    ] 200
[2026-10-20 13:51:37,162.162 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:51:37,223.223 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:51:37,226.226 INFO    ] No update needed
[2026-10-20 13:51:37,229.229 INFO    ] Checking for camera pi updates...
[2026-10-20 13:51:37,266.266 INFO    ] 200
[2026-10-20 13:51:37,269.269 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:51:37,310.310 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:51:37,354.354 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:51:37,356.356 INFO    ] No camera update needed
[2026-10-20 13:51:37,359.359 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:51:37,361.361 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:51:37,367.367 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:51:37,372.372 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:51:39,411.411 INFO    ] ================================================
[2026-10-20 13:51:39,426.426 INFO    ] Launching Daemon at Tue Oct 20 13:51:39 IST 2026
[2026-10-20 13:51:39,436.436 INFO    ] ================================================
[2026-10-20 13:51:40,008.008 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:51:40
[2026-10-20 13:51:40,594.594 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:51:40,844.844 INFO    ] Initializing speech engine...
[2026-10-20 13:51:40,867.867 INFO    ] 2026-10-20 13:51:40
[2026-10-20 13:51:41,125.125 INFO    ] 2026-10-20 13:51:41
[2026-10-20 13:51:41,153.153 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:51:41,409.409 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:51:41,415.415 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:51:41,617.617 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:51:41,669.669 INFO    ] time= 20/10/2026 13:51:41
[2026-10-20 13:51:41,676.676 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:51:41,693.693 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:51:41,829.829 INFO    ] No existing commands found in stream
[2026-10-20 13:51:46,861.861 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:51:46,864.864 INFO    ] Waiting 3.07 seconds before fallback handling...
[2026-10-20 13:51:50,430.430 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:51:50,433.433 INFO    ] Checking for system updates...
[2026-10-20 13:51:50,468.468 INFO    ] 200
[2026-10-20 13:51:50,471.471 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:51:50,522.522 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:51:50,525.525 INFO    ] No update needed
[2026-10-20 13:51:50,527.527 INFO    ] Checking for camera pi updates...
[2026-10-20 13:51:50,560.560 INFO    ] 200
[2026-10-20 13:51:50,563.563 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:51:50,603.603 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:51:50,650.650 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:51:50,652.652 INFO    ] No camera update needed
[2026-10-20 13:51:50,654.654 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:51:50,657.657 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:51:50,662.662 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:51:50,667.667 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:51:52,706.706 INFO    ] ================================================
[2026-10-20 13:51:52,721.721 INFO    ] Launching Daemon at Tue Oct 20 13:51:52 IST 2026
[2026-10-20 13:51:52,732.732 INFO    ] ================================================
[2026-10-20 13:51:53,303.303 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:51:53
[2026-10-20 13:51:53,887.887 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:51:54,144.144 INFO    ] Initializing speech engine...
[2026-10-20 13:51:54,167.167 INFO    ] 2026-10-20 13:51:54
[2026-10-20 13:51:54,423.423 INFO    ] 2026-10-20 13:51:54
[2026-10-20 13:51:54,458.458 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:51:54,659.659 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:51:54,717.717 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:51:54,861.861 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:51:54,905.905 INFO    ] time= 20/10/2026 13:51:54
[2026-10-20 13:51:54,965.965 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:51:54,994.994 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:51:55,130.130 INFO    ] No existing commands found in stream
[2026-10-20 13:52:00,157.157 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:52:00,160.160 INFO    ] Waiting 0.57 seconds before fallback handling...
[2026-10-20 13:52:01,250.250 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 13:52:01,254.254 INFO    ] Checking for system updates...
[2026-10-20 13:52:01,365.365 INFO    ] 200
[2026-10-20 13:52:01,370.370 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:52:01,496.496 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:52:01,500.500 INFO    ] No update needed
[2026-10-20 13:52:01,504.504 INFO    ] Checking for camera pi updates...
[2026-10-20 13:52:01,586.586 INFO    ] 200
[2026-10-20 13:52:01,590.590 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:52:01,667.667 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:52:01,806.806 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:52:01,811.811 INFO    ] No camera update needed
[2026-10-20 13:52:01,815.815 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:52:01,819.819 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:52:01,829.829 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:52:01,836.836 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:52:03,879.879 INFO    ] ================================================
[2026-10-20 13:52:03,894.894 INFO    ] Launching Daemon at Tue Oct 20 13:52:03 IST 2026
[2026-10-20 13:52:03,905.905 INFO    ] ================================================
[2026-10-20 13:52:04,488.488 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:52:04
[2026-10-20 13:52:05,088.088 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:52:05,364.364 INFO    ] Initializing speech engine...
[2026-10-20 13:52:05,373.373 INFO    ] 2026-10-20 13:52:05
[2026-10-20 13:52:05,623.623 INFO    ] 2026-10-20 13:52:05
[2026-10-20 13:52:05,659.659 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:52:05,916.916 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:52:05,926.926 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:52:06,131.131 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:52:06,181.181 INFO    ] time= 20/10/2026 13:52:06
[2026-10-20 13:52:06,198.198 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:52:06,215.215 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:52:06,350.350 INFO    ] No existing commands found in stream
[2026-10-20 13:52:11,361.361 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:52:11,364.364 INFO    ] Waiting 1.16 seconds before fallback handling...
[2026-10-20 13:52:13,020.020 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:52:13,022.022 INFO    ] Checking for system updates...
[2026-10-20 13:52:13,058.058 INFO    ] 200
[2026-10-20 13:52:13,060.060 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:52:13,112.112 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:52:13,114.114 INFO    ] No update needed
[2026-10-20 13:52:13,116.116 INFO    ] Checking for camera pi updates...
[2026-10-20 13:52:13,149.149 INFO    ] 200
[2026-10-20 13:52:13,152.152 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:52:13,198.198 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:52:13,244.244 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:52:13,247.247 INFO    ] No camera update needed
[2026-10-20 13:52:13,249.249 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:52:13,251.251 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:52:13,257.257 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:52:13,262.262 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:52:15,301.301 INFO    ] ================================================
[2026-10-20 13:52:15,316.316 INFO    ] Launching Daemon at Tue Oct 20 13:52:15 IST 2026
[2026-10-20 13:52:15,326.326 INFO    ] ================================================
[2026-10-20 13:52:15,967.967 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:52:15
[2026-10-20 13:52:16,626.626 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:52:16,926.926 INFO    ] Initializing speech engine...
[2026-10-20 13:52:16,936.936 INFO    ] 2026-10-20 13:52:16
[2026-10-20 13:52:17,213.213 INFO    ] 2026-10-20 13:52:17
[2026-10-20 13:52:17,269.269 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:52:17,561.561 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:52:17,568.568 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:52:17,766.766 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:52:17,773.773 INFO    ] time= 20/10/2026 13:52:17
[2026-10-20 13:52:17,791.791 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:52:17,821.821 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:52:17,941.941 INFO    ] No existing commands found in stream
[2026-10-20 13:52:22,971.971 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:52:22,974.974 INFO    ] Waiting 3.31 seconds before fallback handling...
[2026-10-20 13:52:26,812.812 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:52:26,815.815 INFO    ] Checking for system updates...
[2026-10-20 13:52:26,853.853 INFO    ] 200
[2026-10-20 13:52:26,855.855 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:52:26,914.914 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:52:26,916.916 INFO    ] No update needed
[2026-10-20 13:52:26,919.919 INFO    ] Checking for camera pi updates...
[2026-10-20 13:52:26,956.956 INFO    ] 200
[2026-10-20 13:52:26,959.959 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:52:27,001.001 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:52:27,048.048 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:52:27,051.051 INFO    ] No camera update needed
[2026-10-20 13:52:27,053.053 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:52:27,056.056 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:52:27,062.062 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:52:27,067.067 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:52:29,109.109 INFO    ] ================================================
[2026-10-20 13:52:29,124.124 INFO    ] Launching Daemon at Tue Oct 20 13:52:29 IST 2026
[2026-10-20 13:52:29,134.134 INFO    ] ================================================
[2026-10-20 13:52:29,713.713 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:52:29
[2026-10-20 13:52:30,311.311 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:52:30,586.586 INFO    ] Initializing speech engine...
[2026-10-20 13:52:30,602.602 INFO    ] 2026-10-20 13:52:30
[2026-10-20 13:52:30,874.874 INFO    ] 2026-10-20 13:52:30
[2026-10-20 13:52:30,913.913 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:52:31,132.132 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:52:31,181.181 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:52:31,366.366 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:52:31,400.400 INFO    ] time= 20/10/2026 13:52:31
[2026-10-20 13:52:31,456.456 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:52:31,521.521 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:52:31,664.664 INFO    ] No existing commands found in stream
[2026-10-20 13:52:36,687.687 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:52:36,691.691 INFO    ] Waiting 2.14 seconds before fallback handling...
[2026-10-20 13:52:39,320.320 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:52:39,323.323 INFO    ] Checking for system updates...
[2026-10-20 13:52:39,358.358 INFO    ] 200
[2026-10-20 13:52:39,361.361 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:52:39,418.418 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:52:39,421.421 INFO    ] No update needed
[2026-10-20 13:52:39,423.423 INFO    ] Checking for camera pi updates...
[2026-10-20 13:52:39,457.457 INFO    ] 200
[2026-10-20 13:52:39,460.460 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:52:39,500.500 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:52:39,544.544 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:52:39,547.547 INFO    ] No camera update needed
[2026-10-20 13:52:39,549.549 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:52:39,552.552 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:52:39,557.557 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:52:39,562.562 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:52:41,601.601 INFO    ] ================================================
[2026-10-20 13:52:41,616.616 INFO    ] Launching Daemon at Tue Oct 20 13:52:41 IST 2026
[2026-10-20 13:52:41,627.627 INFO    ] ================================================
[2026-10-20 13:52:42,290.290 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:52:42
[2026-10-20 13:52:42,969.969 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:52:43,277.277 INFO    ] Initializing speech engine...
[2026-10-20 13:52:43,292.292 INFO    ] 2026-10-20 13:52:43
[2026-10-20 13:52:43,580.580 INFO    ] 2026-10-20 13:52:43
[2026-10-20 13:52:43,625.625 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:52:43,885.885 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:52:43,904.904 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:52:44,110.110 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:52:44,135.135 INFO    ] time= 20/10/2026 13:52:44
[2026-10-20 13:52:44,162.162 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:52:44,170.170 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:52:44,303.303 INFO    ] No existing commands found in stream
[2026-10-20 13:52:49,318.318 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:52:49,321.321 INFO    ] Waiting 0.12 seconds before fallback handling...
[2026-10-20 13:52:49,936.936 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:52:49,938.938 INFO    ] Checking for system updates...
[2026-10-20 13:52:49,977.977 INFO    ] 200
[2026-10-20 13:52:49,980.980 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:52:50,033.033 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:52:50,035.035 INFO    ] No update needed
[2026-10-20 13:52:50,038.038 INFO    ] Checking for camera pi updates...
[2026-10-20 13:52:50,071.071 INFO    ] 200
[2026-10-20 13:52:50,073.073 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:52:50,113.113 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:52:50,156.156 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:52:50,159.159 INFO    ] No camera update needed
[2026-10-20 13:52:50,161.161 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:52:50,163.163 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:52:50,169.169 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:52:50,174.174 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:52:52,213.213 INFO    ] ================================================
[2026-10-20 13:52:52,228.228 INFO    ] Launching Daemon at Tue Oct 20 13:52:52 IST 2026
[2026-10-20 13:52:52,239.239 INFO    ] ================================================
[2026-10-20 13:52:52,805.805 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:52:52
[2026-10-20 13:52:53,401.401 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:52:53,672.672 INFO    ] Initializing speech engine...
[2026-10-20 13:52:53,682.682 INFO    ] 2026-10-20 13:52:53
[2026-10-20 13:52:53,930.930 INFO    ] 2026-10-20 13:52:53
[2026-10-20 13:52:53,964.964 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:52:54,210.210 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:52:54,233.233 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:52:54,371.371 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:52:54,441.441 INFO    ] time= 20/10/2026 13:52:54
[2026-10-20 13:52:54,502.502 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:52:54,508.508 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:52:54,658.658 INFO    ] No existing commands found in stream
[2026-10-20 13:52:59,680.680 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:52:59,683.683 INFO    ] Waiting 2.72 seconds before fallback handling...
[2026-10-20 13:53:02,931.931 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:53:02,934.934 INFO    ] Checking for system updates...
[2026-10-20 13:53:02,970.970 INFO    ] 200
[2026-10-20 13:53:02,973.973 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:53:03,032.032 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:53:03,035.035 INFO    ] No update needed
[2026-10-20 13:53:03,037.037 INFO    ] Checking for camera pi updates...
[2026-10-20 13:53:03,070.070 INFO    ] 200
[2026-10-20 13:53:03,072.072 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:53:03,136.136 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:53:03,187.187 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:53:03,190.190 INFO    ] No camera update needed
[2026-10-20 13:53:03,192.192 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:53:03,194.194 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:53:03,200.200 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:53:03,205.205 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:53:05,245.245 INFO    ] ================================================
[2026-10-20 13:53:05,260.260 INFO    ] Launching Daemon at Tue Oct 20 13:53:05 IST 2026
[2026-10-20 13:53:05,271.271 INFO    ] ================================================
[2026-10-20 13:53:05,840.840 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:53:05
[2026-10-20 13:53:06,426.426 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:53:06,681.681 INFO    ] Initializing speech engine...
[2026-10-20 13:53:06,689.689 INFO    ] 2026-10-20 13:53:06
[2026-10-20 13:53:06,980.980 INFO    ] 2026-10-20 13:53:06
[2026-10-20 13:53:07,017.017 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:53:07,236.236 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:53:07,244.244 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:53:07,388.388 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:53:07,395.395 INFO    ] time= 20/10/2026 13:53:07
[2026-10-20 13:53:07,401.401 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:53:07,423.423 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:53:07,556.556 INFO    ] No existing commands found in stream
[2026-10-20 13:53:12,581.581 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:53:12,584.584 INFO    ] Waiting 3.14 seconds before fallback handling...
[2026-10-20 13:53:16,238.238 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 13:53:16,241.241 INFO    ] Checking for system updates...
[2026-10-20 13:53:16,279.279 INFO    ] 200
[2026-10-20 13:53:16,281.281 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:53:16,333.333 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:53:16,335.335 INFO    ] No update needed
[2026-10-20 13:53:16,338.338 INFO    ] Checking for camera pi updates...
[2026-10-20 13:53:16,371.371 INFO    ] 200
[2026-10-20 13:53:16,373.373 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:53:16,412.412 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:53:16,458.458 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:53:16,460.460 INFO    ] No camera update needed
[2026-10-20 13:53:16,463.463 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:53:16,465.465 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:53:16,470.470 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:53:16,475.475 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:53:18,517.517 INFO    ] ================================================
[2026-10-20 13:53:18,533.533 INFO    ] Launching Daemon at Tue Oct 20 13:53:18 IST 2026
[2026-10-20 13:53:18,550.550 INFO    ] ================================================
[2026-10-20 13:53:19,155.155 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:53:19
[2026-10-20 13:53:19,773.773 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:53:20,074.074 INFO    ] Initializing speech engine...
[2026-10-20 13:53:20,087.087 INFO    ] 2026-10-20 13:53:20
[2026-10-20 13:53:20,369.369 INFO    ] 2026-10-20 13:53:20
[2026-10-20 13:53:20,416.416 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:53:20,684.684 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:53:20,692.692 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:53:20,901.901 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:53:20,931.931 INFO    ] time= 20/10/2026 13:53:20
[2026-10-20 13:53:20,950.950 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:53:20,979.979 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:53:21,095.095 INFO    ] No existing commands found in stream
[2026-10-20 13:53:26,116.116 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:53:26,119.119 INFO    ] Waiting 0.14 seconds before fallback handling...
[2026-10-20 13:53:26,753.753 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 13:53:26,756.756 INFO    ] Checking for system updates...
[2026-10-20 13:53:26,793.793 INFO    ] 200
[2026-10-20 13:53:26,796.796 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:53:26,849.849 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:53:26,852.852 INFO    ] No update needed
[2026-10-20 13:53:26,855.855 INFO    ] Checking for camera pi updates...
[2026-10-20 13:53:26,888.888 INFO    ] 200
[2026-10-20 13:53:26,890.890 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:53:26,938.938 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:53:26,985.985 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:53:26,987.987 INFO    ] No camera update needed
[2026-10-20 13:53:26,990.990 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:53:26,992.992 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:53:26,997.997 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:53:27,002.002 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:53:29,041.041 INFO    ] ================================================
[2026-10-20 13:53:29,057.057 INFO    ] Launching Daemon at Tue Oct 20 13:53:29 IST 2026
[2026-10-20 13:53:29,069.069 INFO    ] ================================================
[2026-10-20 13:53:29,671.671 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:53:29
[2026-10-20 13:53:30,257.257 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:53:30,534.534 INFO    ] Initializing speech engine...
[2026-10-20 13:53:30,539.539 INFO    ] 2026-10-20 13:53:30
[2026-10-20 13:53:30,789.789 INFO    ] 2026-10-20 13:53:30
[2026-10-20 13:53:30,831.831 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:53:31,086.086 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:53:31,091.091 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:53:31,293.293 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:53:31,338.338 INFO    ] time= 20/10/2026 13:53:31
[2026-10-20 13:53:31,374.374 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:53:31,393.393 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:53:31,541.541 INFO    ] No existing commands found in stream
[2026-10-20 13:53:36,572.572 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:53:36,580.580 INFO    ] Waiting 2.97 seconds before fallback handling...
[2026-10-20 13:53:40,091.091 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:53:40,094.094 INFO    ] Checking for system updates...
[2026-10-20 13:53:40,130.130 INFO    ] 200
[2026-10-20 13:53:40,133.133 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:53:40,185.185 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:53:40,188.188 INFO    ] No update needed
[2026-10-20 13:53:40,190.190 INFO    ] Checking for camera pi updates...
[2026-10-20 13:53:40,233.233 INFO    ] 200
[2026-10-20 13:53:40,235.235 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:53:40,277.277 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:53:40,324.324 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:53:40,327.327 INFO    ] No camera update needed
[2026-10-20 13:53:40,330.330 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:53:40,333.333 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:53:40,339.339 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:53:40,345.345 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:53:42,386.386 INFO    ] ================================================
[2026-10-20 13:53:42,407.407 INFO    ] Launching Daemon at Tue Oct 20 13:53:42 IST 2026
[2026-10-20 13:53:42,417.417 INFO    ] ================================================
[2026-10-20 13:53:42,987.987 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:53:42
[2026-10-20 13:53:43,573.573 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:53:43,824.824 INFO    ] Initializing speech engine...
[2026-10-20 13:53:43,836.836 INFO    ] 2026-10-20 13:53:43
[2026-10-20 13:53:44,101.101 INFO    ] 2026-10-20 13:53:44
[2026-10-20 13:53:44,136.136 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:53:44,394.394 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:53:44,403.403 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:53:44,629.629 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:53:44,669.669 INFO    ] time= 20/10/2026 13:53:44
[2026-10-20 13:53:44,675.675 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:53:44,696.696 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:53:44,841.841 INFO    ] No existing commands found in stream
[2026-10-20 13:53:49,873.873 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:53:49,875.875 INFO    ] Waiting 3.93 seconds before fallback handling...
[2026-10-20 13:53:55,368.368 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:53:55,371.371 INFO    ] Checking for system updates...
[2026-10-20 13:53:55,407.407 INFO    ] 200
[2026-10-20 13:53:55,410.410 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:53:55,470.470 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:53:55,473.473 INFO    ] No update needed
[2026-10-20 13:53:55,476.476 INFO    ] Checking for camera pi updates...
[2026-10-20 13:53:55,510.510 INFO    ] 200
[2026-10-20 13:53:55,513.513 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:53:55,554.554 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:53:55,600.600 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:53:55,603.603 INFO    ] No camera update needed
[2026-10-20 13:53:55,605.605 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:53:55,608.608 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:53:55,614.614 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:53:55,619.619 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:53:57,661.661 INFO    ] ================================================
[2026-10-20 13:53:57,675.675 INFO    ] Launching Daemon at Tue Oct 20 13:53:57 IST 2026
[2026-10-20 13:53:57,686.686 INFO    ] ================================================
[2026-10-20 13:53:58,266.266 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:53:58
[2026-10-20 13:53:58,861.861 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:53:59,115.115 INFO    ] Initializing speech engine...
[2026-10-20 13:53:59,137.137 INFO    ] 2026-10-20 13:53:59
[2026-10-20 13:53:59,391.391 INFO    ] 2026-10-20 13:53:59
[2026-10-20 13:53:59,426.426 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:53:59,667.667 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:53:59,689.689 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:53:59,828.828 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:53:59,888.888 INFO    ] time= 20/10/2026 13:53:59
[2026-10-20 13:53:59,943.943 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:53:59,956.956 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:54:00,100.100 INFO    ] No existing commands found in stream
[2026-10-20 13:54:05,113.113 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:54:05,116.116 INFO    ] Waiting 2.62 seconds before fallback handling...
[2026-10-20 13:54:08,224.224 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 13:54:08,227.227 INFO    ] Checking for system updates...
[2026-10-20 13:54:08,262.262 INFO    ] 200
[2026-10-20 13:54:08,265.265 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:54:08,317.317 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:54:08,319.319 INFO    ] No update needed
[2026-10-20 13:54:08,322.322 INFO    ] Checking for camera pi updates...
[2026-10-20 13:54:08,358.358 INFO    ] 200
[2026-10-20 13:54:08,361.361 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:54:08,401.401 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:54:08,544.544 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:54:08,547.547 INFO    ] No camera update needed
[2026-10-20 13:54:08,549.549 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:54:08,551.551 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:54:08,557.557 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:54:08,562.562 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:54:10,602.602 INFO    ] ================================================
[2026-10-20 13:54:10,618.618 INFO    ] Launching Daemon at Tue Oct 20 13:54:10 IST 2026
[2026-10-20 13:54:10,628.628 INFO    ] ================================================
[2026-10-20 13:54:11,268.268 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:54:11
[2026-10-20 13:54:11,930.930 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:54:12,230.230 INFO    ] Initializing speech engine...
[2026-10-20 13:54:12,243.243 INFO    ] 2026-10-20 13:54:12
[2026-10-20 13:54:12,524.524 INFO    ] 2026-10-20 13:54:12
[2026-10-20 13:54:12,570.570 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:54:12,827.827 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:54:12,846.846 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:54:13,066.066 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:54:13,074.074 INFO    ] time= 20/10/2026 13:54:13
[2026-10-20 13:54:13,096.096 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:54:13,123.123 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:54:13,291.291 INFO    ] No existing commands found in stream
[2026-10-20 13:54:18,322.322 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:54:18,325.325 INFO    ] Waiting 2.20 seconds before fallback handling...
[2026-10-20 13:54:21,088.088 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 13:54:21,091.091 INFO    ] Checking for system updates...
[2026-10-20 13:54:21,129.129 INFO    ] 200
[2026-10-20 13:54:21,131.131 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:54:21,190.190 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:54:21,193.193 INFO    ] No update needed
[2026-10-20 13:54:21,196.196 INFO    ] Checking for camera pi updates...
[2026-10-20 13:54:21,231.231 INFO    ] 200
[2026-10-20 13:54:21,234.234 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:54:21,280.280 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:54:21,336.336 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:54:21,338.338 INFO    ] No camera update needed
[2026-10-20 13:54:21,341.341 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:54:21,343.343 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:54:21,348.348 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:54:21,353.353 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:54:23,392.392 INFO    ] ================================================
[2026-10-20 13:54:23,407.407 INFO    ] Launching Daemon at Tue Oct 20 13:54:23 IST 2026
[2026-10-20 13:54:23,418.418 INFO    ] ================================================
[2026-10-20 13:54:24,063.063 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:54:24
[2026-10-20 13:54:24,715.715 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:54:24,986.986 INFO    ] Initializing speech engine...
[2026-10-20 13:54:24,996.996 INFO    ] 2026-10-20 13:54:24
[2026-10-20 13:54:25,245.245 INFO    ] 2026-10-20 13:54:25
[2026-10-20 13:54:25,280.280 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:54:25,543.543 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:54:25,549.549 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:54:25,686.686 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:54:25,751.751 INFO    ] time= 20/10/2026 13:54:25
[2026-10-20 13:54:25,800.800 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:54:25,820.820 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:54:25,956.956 INFO    ] No existing commands found in stream
[2026-10-20 13:54:30,979.979 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:54:30,982.982 INFO    ] Waiting 1.45 seconds before fallback handling...
[2026-10-20 13:54:32,939.939 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:54:32,941.941 INFO    ] Checking for system updates...
[2026-10-20 13:54:32,976.976 INFO    ] 200
[2026-10-20 13:54:32,979.979 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:54:33,031.031 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:54:33,033.033 INFO    ] No update needed
[2026-10-20 13:54:33,036.036 INFO    ] Checking for camera pi updates...
[2026-10-20 13:54:33,069.069 INFO    ] 200
[2026-10-20 13:54:33,071.071 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:54:33,111.111 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:54:33,159.159 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:54:33,162.162 INFO    ] No camera update needed
[2026-10-20 13:54:33,164.164 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:54:33,166.166 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:54:33,172.172 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:54:33,176.176 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:54:35,220.220 INFO    ] ================================================
[2026-10-20 13:54:35,235.235 INFO    ] Launching Daemon at Tue Oct 20 13:54:35 IST 2026
[2026-10-20 13:54:35,246.246 INFO    ] ================================================
[2026-10-20 13:54:35,812.812 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:54:35
[2026-10-20 13:54:36,393.393 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:54:36,662.662 INFO    ] Initializing speech engine...
[2026-10-20 13:54:36,670.670 INFO    ] 2026-10-20 13:54:36
[2026-10-20 13:54:36,920.920 INFO    ] 2026-10-20 13:54:36
[2026-10-20 13:54:36,954.954 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:54:37,211.211 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:54:37,219.219 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:54:37,362.362 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:54:37,412.412 INFO    ] time= 20/10/2026 13:54:37
[2026-10-20 13:54:37,456.456 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:54:37,490.490 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:54:37,626.626 INFO    ] No existing commands found in stream
[2026-10-20 13:54:42,649.649 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:54:42,652.652 INFO    ] Waiting 3.04 seconds before fallback handling...
[2026-10-20 13:54:46,186.186 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 13:54:46,189.189 INFO    ] Checking for system updates...
[2026-10-20 13:54:46,225.225 INFO    ] 200
[2026-10-20 13:54:46,227.227 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:54:46,279.279 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:54:46,281.281 INFO    ] No update needed
[2026-10-20 13:54:46,283.283 INFO    ] Checking for camera pi updates...
[2026-10-20 13:54:46,316.316 INFO    ] 200
[2026-10-20 13:54:46,319.319 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:54:46,365.365 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:54:46,410.410 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:54:46,412.412 INFO    ] No camera update needed
[2026-10-20 13:54:46,414.414 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:54:46,417.417 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:54:46,422.422 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:54:46,427.427 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:54:48,470.470 INFO    ] ================================================
[2026-10-20 13:54:48,485.485 INFO    ] Launching Daemon at Tue Oct 20 13:54:48 IST 2026
[2026-10-20 13:54:48,496.496 INFO    ] ================================================
[2026-10-20 13:54:49,079.079 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:54:49
[2026-10-20 13:54:49,680.680 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:54:49,956.956 INFO    ] Initializing speech engine...
[2026-10-20 13:54:49,966.966 INFO    ] 2026-10-20 13:54:49
[2026-10-20 13:54:50,213.213 INFO    ] 2026-10-20 13:54:50
[2026-10-20 13:54:50,256.256 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:54:50,505.505 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:54:50,511.511 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:54:50,724.724 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:54:50,771.771 INFO    ] time= 20/10/2026 13:54:50
[2026-10-20 13:54:50,778.778 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:54:50,799.799 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:54:50,928.928 INFO    ] No existing commands found in stream
[2026-10-20 13:54:55,958.958 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:54:55,962.962 INFO    ] Waiting 2.45 seconds before fallback handling...
[2026-10-20 13:54:58,941.941 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 13:54:58,944.944 INFO    ] Checking for system updates...
[2026-10-20 13:54:58,981.981 INFO    ] 200
[2026-10-20 13:54:58,983.983 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:54:59,039.039 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:54:59,042.042 INFO    ] No update needed
[2026-10-20 13:54:59,044.044 INFO    ] Checking for camera pi updates...
[2026-10-20 13:54:59,077.077 INFO    ] 200
[2026-10-20 13:54:59,079.079 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:54:59,120.120 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:54:59,151.151 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:54:59,153.153 INFO    ] No camera update needed
[2026-10-20 13:54:59,156.156 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:54:59,158.158 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:54:59,163.163 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:54:59,168.168 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:55:01,212.212 INFO    ] ================================================
[2026-10-20 13:55:01,228.228 INFO    ] Launching Daemon at Tue Oct 20 13:55:01 IST 2026
[2026-10-20 13:55:01,239.239 INFO    ] ================================================
[2026-10-20 13:55:02,081.081 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:55:02
[2026-10-20 13:55:02,723.723 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:55:03,047.047 INFO    ] Initializing speech engine...
[2026-10-20 13:55:03,060.060 INFO    ] 2026-10-20 13:55:03
[2026-10-20 13:55:03,347.347 INFO    ] 2026-10-20 13:55:03
[2026-10-20 13:55:03,386.386 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:55:03,632.632 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:55:03,672.672 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:55:03,823.823 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:55:03,893.893 INFO    ] time= 20/10/2026 13:55:03
[2026-10-20 13:55:03,947.947 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:55:03,961.961 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:55:04,112.112 INFO    ] No existing commands found in stream
[2026-10-20 13:55:09,137.137 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:55:09,141.141 INFO    ] Waiting 0.90 seconds before fallback handling...
[2026-10-20 13:55:10,565.565 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 13:55:10,568.568 INFO    ] Checking for system updates...
[2026-10-20 13:55:10,604.604 INFO    ] 200
[2026-10-20 13:55:10,606.606 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:55:10,668.668 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:55:10,671.671 INFO    ] No update needed
[2026-10-20 13:55:10,673.673 INFO    ] Checking for camera pi updates...
[2026-10-20 13:55:10,707.707 INFO    ] 200
[2026-10-20 13:55:10,709.709 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:55:10,753.753 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:55:10,804.804 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:55:10,806.806 INFO    ] No camera update needed
[2026-10-20 13:55:10,809.809 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:55:10,811.811 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:55:10,816.816 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:55:10,821.821 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:55:12,861.861 INFO    ] ================================================
[2026-10-20 13:55:12,877.877 INFO    ] Launching Daemon at Tue Oct 20 13:55:12 IST 2026
[2026-10-20 13:55:12,888.888 INFO    ] ================================================
[2026-10-20 13:55:13,459.459 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:55:13
[2026-10-20 13:55:14,042.042 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:55:14,313.313 INFO    ] Initializing speech engine...
[2026-10-20 13:55:14,322.322 INFO    ] 2026-10-20 13:55:14
[2026-10-20 13:55:14,569.569 INFO    ] 2026-10-20 13:55:14
[2026-10-20 13:55:14,605.605 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:55:14,863.863 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:55:14,873.873 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:55:15,074.074 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:55:15,138.138 INFO    ] time= 20/10/2026 13:55:15
[2026-10-20 13:55:15,145.145 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:55:15,162.162 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:55:15,294.294 INFO    ] No existing commands found in stream
[2026-10-20 13:55:20,310.310 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:55:20,312.312 INFO    ] Waiting 0.88 seconds before fallback handling...
[2026-10-20 13:55:21,699.699 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:55:21,702.702 INFO    ] Checking for system updates...
[2026-10-20 13:55:21,740.740 INFO    ] 200
[2026-10-20 13:55:21,743.743 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:55:21,800.800 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:55:21,802.802 INFO    ] No update needed
[2026-10-20 13:55:21,805.805 INFO    ] Checking for camera pi updates...
[2026-10-20 13:55:21,838.838 INFO    ] 200
[2026-10-20 13:55:21,840.840 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:55:21,880.880 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:55:21,928.928 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:55:21,930.930 INFO    ] No camera update needed
[2026-10-20 13:55:21,933.933 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:55:21,935.935 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:55:21,940.940 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:55:21,945.945 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:55:23,984.984 INFO    ] ================================================
[2026-10-20 13:55:24,000.000 INFO    ] Launching Daemon at Tue Oct 20 13:55:23 IST 2026
[2026-10-20 13:55:24,010.010 INFO    ] ================================================
[2026-10-20 13:55:24,581.581 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:55:24
[2026-10-20 13:55:25,179.179 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:55:25,452.452 INFO    ] Initializing speech engine...
[2026-10-20 13:55:25,461.461 INFO    ] 2026-10-20 13:55:25
[2026-10-20 13:55:25,724.724 INFO    ] 2026-10-20 13:55:25
[2026-10-20 13:55:25,774.774 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:55:25,999.999 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:55:26,008.008 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:55:26,202.202 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:55:26,257.257 INFO    ] time= 20/10/2026 13:55:26
[2026-10-20 13:55:26,276.276 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:55:26,291.291 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:55:26,424.424 INFO    ] No existing commands found in stream
[2026-10-20 13:55:31,437.437 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:55:31,440.440 INFO    ] Waiting 0.71 seconds before fallback handling...
[2026-10-20 13:55:32,686.686 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 13:55:32,690.690 INFO    ] Checking for system updates...
[2026-10-20 13:55:32,736.736 INFO    ] 200
[2026-10-20 13:55:32,740.740 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:55:32,803.803 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:55:32,806.806 INFO    ] No update needed
[2026-10-20 13:55:32,810.810 INFO    ] Checking for camera pi updates...
[2026-10-20 13:55:32,847.847 INFO    ] 200
[2026-10-20 13:55:32,849.849 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:55:32,895.895 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:55:32,931.931 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:55:32,933.933 INFO    ] No camera update needed
[2026-10-20 13:55:32,936.936 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:55:32,939.939 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:55:32,945.945 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:55:32,950.950 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:55:34,992.992 INFO    ] ================================================
[2026-10-20 13:55:35,007.007 INFO    ] Launching Daemon at Tue Oct 20 13:55:35 IST 2026
[2026-10-20 13:55:35,018.018 INFO    ] ================================================
[2026-10-20 13:55:35,650.650 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:55:35
[2026-10-20 13:55:36,302.302 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:55:36,601.601 INFO    ] Initializing speech engine...
[2026-10-20 13:55:36,609.609 INFO    ] 2026-10-20 13:55:36
[2026-10-20 13:55:36,881.881 INFO    ] 2026-10-20 13:55:36
[2026-10-20 13:55:36,937.937 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:55:37,170.170 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:55:37,177.177 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:55:37,409.409 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:55:37,439.439 INFO    ] time= 20/10/2026 13:55:37
[2026-10-20 13:55:37,457.457 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:55:37,466.466 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:55:37,603.603 INFO    ] No existing commands found in stream
[2026-10-20 13:55:42,630.630 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:55:42,633.633 INFO    ] Waiting 1.65 seconds before fallback handling...
[2026-10-20 13:55:44,808.808 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:55:44,811.811 INFO    ] Checking for system updates...
[2026-10-20 13:55:44,847.847 INFO    ] 200
[2026-10-20 13:55:44,849.849 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:55:44,905.905 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:55:44,908.908 INFO    ] No update needed
[2026-10-20 13:55:44,911.911 INFO    ] Checking for camera pi updates...
[2026-10-20 13:55:44,953.953 INFO    ] 200
[2026-10-20 13:55:44,956.956 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:55:45,004.004 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:55:45,053.053 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:55:45,056.056 INFO    ] No camera update needed
[2026-10-20 13:55:45,058.058 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:55:45,061.061 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:55:45,067.067 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:55:45,072.072 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:55:47,114.114 INFO    ] ================================================
[2026-10-20 13:55:47,129.129 INFO    ] Launching Daemon at Tue Oct 20 13:55:47 IST 2026
[2026-10-20 13:55:47,140.140 INFO    ] ================================================
[2026-10-20 13:55:47,774.774 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:55:47
[2026-10-20 13:55:48,414.414 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:55:48,669.669 INFO    ] Initializing speech engine...
[2026-10-20 13:55:48,685.685 INFO    ] 2026-10-20 13:55:48
[2026-10-20 13:55:48,942.942 INFO    ] 2026-10-20 13:55:48
[2026-10-20 13:55:48,976.976 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:55:49,173.173 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:55:49,230.230 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:55:49,434.434 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:55:49,488.488 INFO    ] time= 20/10/2026 13:55:49
[2026-10-20 13:55:49,500.500 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:55:49,518.518 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:55:49,646.646 INFO    ] No existing commands found in stream
[2026-10-20 13:55:54,660.660 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:55:54,663.663 INFO    ] Waiting 3.02 seconds before fallback handling...
[2026-10-20 13:55:58,287.287 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:55:58,290.290 INFO    ] Checking for system updates...
[2026-10-20 13:55:58,326.326 INFO    ] 200
[2026-10-20 13:55:58,329.329 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:55:58,387.387 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:55:58,390.390 INFO    ] No update needed
[2026-10-20 13:55:58,393.393 INFO    ] Checking for camera pi updates...
[2026-10-20 13:55:58,430.430 INFO    ] 200
[2026-10-20 13:55:58,432.432 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:55:58,473.473 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:55:58,522.522 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:55:58,525.525 INFO    ] No camera update needed
[2026-10-20 13:55:58,527.527 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:55:58,530.530 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:55:58,537.537 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:55:58,542.542 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:56:00,583.583 INFO    ] ================================================
[2026-10-20 13:56:00,599.599 INFO    ] Launching Daemon at Tue Oct 20 13:56:00 IST 2026
[2026-10-20 13:56:00,610.610 INFO    ] ================================================
[2026-10-20 13:56:01,201.201 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:56:01
[2026-10-20 13:56:01,885.885 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:56:02,307.307 INFO    ] Initializing speech engine...
[2026-10-20 13:56:02,314.314 INFO    ] 2026-10-20 13:56:02
[2026-10-20 13:56:02,616.616 INFO    ] 2026-10-20 13:56:02
[2026-10-20 13:56:02,704.704 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:56:02,935.935 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:56:02,944.944 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:56:03,148.148 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:56:03,173.173 INFO    ] time= 20/10/2026 13:56:03
[2026-10-20 13:56:03,231.231 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:56:03,297.297 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:56:03,427.427 INFO    ] No existing commands found in stream
[2026-10-20 13:56:08,448.448 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:56:08,451.451 INFO    ] Waiting 2.14 seconds before fallback handling...
[2026-10-20 13:56:11,096.096 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 13:56:11,099.099 INFO    ] Checking for system updates...
[2026-10-20 13:56:11,134.134 INFO    ] 200
[2026-10-20 13:56:11,137.137 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:56:11,188.188 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:56:11,191.191 INFO    ] No update needed
[2026-10-20 13:56:11,193.193 INFO    ] Checking for camera pi updates...
[2026-10-20 13:56:11,225.225 INFO    ] 200
[2026-10-20 13:56:11,228.228 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:56:11,267.267 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:56:11,409.409 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:56:11,411.411 INFO    ] No camera update needed
[2026-10-20 13:56:11,414.414 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:56:11,416.416 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:56:11,421.421 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:56:11,426.426 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:56:13,465.465 INFO    ] ================================================
[2026-10-20 13:56:13,480.480 INFO    ] Launching Daemon at Tue Oct 20 13:56:13 IST 2026
[2026-10-20 13:56:13,490.490 INFO    ] ================================================
[2026-10-20 13:56:14,069.069 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:56:14
[2026-10-20 13:56:14,665.665 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:56:14,941.941 INFO    ] Initializing speech engine...
[2026-10-20 13:56:14,950.950 INFO    ] 2026-10-20 13:56:14
[2026-10-20 13:56:15,210.210 INFO    ] 2026-10-20 13:56:15
[2026-10-20 13:56:15,239.239 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:56:15,485.485 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:56:15,495.495 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:56:15,719.719 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:56:15,755.755 INFO    ] time= 20/10/2026 13:56:15
[2026-10-20 13:56:15,761.761 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:56:15,779.779 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:56:15,909.909 INFO    ] No existing commands found in stream
[2026-10-20 13:56:20,924.924 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:56:20,927.927 INFO    ] Waiting 0.26 seconds before fallback handling...
[2026-10-20 13:56:21,695.695 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:56:21,698.698 INFO    ] Checking for system updates...
[2026-10-20 13:56:21,733.733 INFO    ] 200
[2026-10-20 13:56:21,735.735 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:56:21,791.791 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:56:21,793.793 INFO    ] No update needed
[2026-10-20 13:56:21,795.795 INFO    ] Checking for camera pi updates...
[2026-10-20 13:56:21,831.831 INFO    ] 200
[2026-10-20 13:56:21,833.833 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:56:21,872.872 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:56:21,923.923 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:56:21,925.925 INFO    ] No camera update needed
[2026-10-20 13:56:21,928.928 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:56:21,930.930 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:56:21,935.935 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:56:21,940.940 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:56:23,980.980 INFO    ] ================================================
[2026-10-20 13:56:24,995.995 INFO    ] Launching Daemon at Tue Oct 20 13:56:23 IST 2026
[2026-10-20 13:56:24,006.006 INFO    ] ================================================
[2026-10-20 13:56:24,583.583 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:56:24
[2026-10-20 13:56:25,179.179 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:56:25,450.450 INFO    ] Initializing speech engine...
[2026-10-20 13:56:25,459.459 INFO    ] 2026-10-20 13:56:25
[2026-10-20 13:56:25,712.712 INFO    ] 2026-10-20 13:56:25
[2026-10-20 13:56:25,770.770 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:56:25,997.997 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:56:26,002.002 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:56:26,234.234 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:56:26,257.257 INFO    ] time= 20/10/2026 13:56:26
[2026-10-20 13:56:26,263.263 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:56:26,281.281 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:56:26,410.410 INFO    ] No existing commands found in stream
[2026-10-20 13:56:31,423.423 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:56:31,426.426 INFO    ] Waiting 1.71 seconds before fallback handling...
[2026-10-20 13:56:33,605.605 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 13:56:33,607.607 INFO    ] Checking for system updates...
[2026-10-20 13:56:33,644.644 INFO    ] 200
[2026-10-20 13:56:33,647.647 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:56:33,699.699 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:56:33,702.702 INFO    ] No update needed
[2026-10-20 13:56:33,705.705 INFO    ] Checking for camera pi updates...
[2026-10-20 13:56:33,741.741 INFO    ] 200
[2026-10-20 13:56:33,744.744 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:56:33,787.787 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:56:33,835.835 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:56:33,837.837 INFO    ] No camera update needed
[2026-10-20 13:56:33,840.840 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:56:33,842.842 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:56:33,848.848 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:56:33,854.854 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:56:35,894.894 INFO    ] ================================================
[2026-10-20 13:56:35,910.910 INFO    ] Launching Daemon at Tue Oct 20 13:56:35 IST 2026
[2026-10-20 13:56:35,921.921 INFO    ] ================================================
[2026-10-20 13:56:36,557.557 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:56:36
[2026-10-20 13:56:37,202.202 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:56:37,496.496 INFO    ] Initializing speech engine...
[2026-10-20 13:56:37,503.503 INFO    ] 2026-10-20 13:56:37
[2026-10-20 13:56:37,792.792 INFO    ] 2026-10-20 13:56:37
[2026-10-20 13:56:37,838.838 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:56:38,094.094 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:56:38,118.118 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:56:38,320.320 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:56:38,340.340 INFO    ] time= 20/10/2026 13:56:38
[2026-10-20 13:56:38,357.357 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:56:38,376.376 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:56:38,509.509 INFO    ] No existing commands found in stream
[2026-10-20 13:56:43,534.534 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:56:43,537.537 INFO    ] Waiting 2.13 seconds before fallback handling...
[2026-10-20 13:56:46,206.206 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:56:46,209.209 INFO    ] Checking for system updates...
[2026-10-20 13:56:46,249.249 INFO    ] 200
[2026-10-20 13:56:46,252.252 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:56:46,307.307 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:56:46,310.310 INFO    ] No update needed
[2026-10-20 13:56:46,312.312 INFO    ] Checking for camera pi updates...
[2026-10-20 13:56:46,348.348 INFO    ] 200
[2026-10-20 13:56:46,350.350 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:56:46,390.390 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:56:46,434.434 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:56:46,436.436 INFO    ] No camera update needed
[2026-10-20 13:56:46,439.439 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:56:46,441.441 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:56:46,446.446 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:56:46,451.451 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:56:48,492.492 INFO    ] ================================================
[2026-10-20 13:56:48,507.507 INFO    ] Launching Daemon at Tue Oct 20 13:56:48 IST 2026
[2026-10-20 13:56:48,517.517 INFO    ] ================================================
[2026-10-20 13:56:49,142.142 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:56:49
[2026-10-20 13:56:49,782.782 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:56:50,073.073 INFO    ] Initializing speech engine...
[2026-10-20 13:56:50,082.082 INFO    ] 2026-10-20 13:56:50
[2026-10-20 13:56:50,349.349 INFO    ] 2026-10-20 13:56:50
[2026-10-20 13:56:50,403.403 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:56:50,653.653 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:56:50,659.659 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:56:50,884.884 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:56:50,899.899 INFO    ] time= 20/10/2026 13:56:50
[2026-10-20 13:56:50,920.920 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:56:50,948.948 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:56:51,078.078 INFO    ] No existing commands found in stream
[2026-10-20 13:56:56,103.103 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:56:56,106.106 INFO    ] Waiting 3.36 seconds before fallback handling...
[2026-10-20 13:56:59,989.989 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 13:56:59,992.992 INFO    ] Checking for system updates...
[2026-10-20 13:57:00,030.030 INFO    ] 200
[2026-10-20 13:57:00,033.033 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:57:00,084.084 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:57:00,087.087 INFO    ] No update needed
[2026-10-20 13:57:00,089.089 INFO    ] Checking for camera pi updates...
[2026-10-20 13:57:00,124.124 INFO    ] 200
[2026-10-20 13:57:00,126.126 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:57:00,169.169 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:57:00,225.225 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:57:00,227.227 INFO    ] No camera update needed
[2026-10-20 13:57:00,229.229 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:57:00,232.232 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:57:00,237.237 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:57:00,242.242 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:57:02,283.283 INFO    ] ================================================
[2026-10-20 13:57:02,303.303 INFO    ] Launching Daemon at Tue Oct 20 13:57:02 IST 2026
[2026-10-20 13:57:02,319.319 INFO    ] ================================================
[2026-10-20 13:57:02,960.960 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:57:02
[2026-10-20 13:57:03,629.629 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:57:03,932.932 INFO    ] Initializing speech engine...
[2026-10-20 13:57:03,946.946 INFO    ] 2026-10-20 13:57:03
[2026-10-20 13:57:04,254.254 INFO    ] 2026-10-20 13:57:04
[2026-10-20 13:57:04,340.340 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:57:04,549.549 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:57:04,558.558 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:57:04,744.744 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:57:04,761.761 INFO    ] time= 20/10/2026 13:57:04
[2026-10-20 13:57:04,776.776 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:57:04,785.785 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:57:04,913.913 INFO    ] No existing commands found in stream
[2026-10-20 13:57:09,927.927 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:57:09,930.930 INFO    ] Waiting 0.90 seconds before fallback handling...
[2026-10-20 13:57:11,384.384 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:57:11,387.387 INFO    ] Checking for system updates...
[2026-10-20 13:57:11,425.425 INFO    ] 200
[2026-10-20 13:57:11,428.428 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:57:11,481.481 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:57:11,484.484 INFO    ] No update needed
[2026-10-20 13:57:11,488.488 INFO    ] Checking for camera pi updates...
[2026-10-20 13:57:11,521.521 INFO    ] 200
[2026-10-20 13:57:11,524.524 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:57:11,568.568 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:57:11,625.625 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:57:11,628.628 INFO    ] No camera update needed
[2026-10-20 13:57:11,630.630 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:57:11,633.633 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:57:11,638.638 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:57:11,643.643 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:57:13,682.682 INFO    ] ================================================
[2026-10-20 13:57:13,697.697 INFO    ] Launching Daemon at Tue Oct 20 13:57:13 IST 2026
[2026-10-20 13:57:13,709.709 INFO    ] ================================================
[2026-10-20 13:57:14,373.373 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:57:14
[2026-10-20 13:57:14,998.998 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:57:15,267.267 INFO    ] Initializing speech engine...
[2026-10-20 13:57:15,275.275 INFO    ] 2026-10-20 13:57:15
[2026-10-20 13:57:15,527.527 INFO    ] 2026-10-20 13:57:15
[2026-10-20 13:57:15,563.563 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:57:15,802.802 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:57:15,824.824 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:57:16,049.049 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:57:16,094.094 INFO    ] time= 20/10/2026 13:57:16
[2026-10-20 13:57:16,101.101 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:57:16,119.119 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:57:16,253.253 INFO    ] No existing commands found in stream
[2026-10-20 13:57:21,268.268 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:57:21,271.271 INFO    ] Waiting 0.42 seconds before fallback handling...
[2026-10-20 13:57:22,203.203 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:57:22,205.205 INFO    ] Checking for system updates...
[2026-10-20 13:57:22,240.240 INFO    ] 200
[2026-10-20 13:57:22,243.243 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:57:22,295.295 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:57:22,298.298 INFO    ] No update needed
[2026-10-20 13:57:22,300.300 INFO    ] Checking for camera pi updates...
[2026-10-20 13:57:22,338.338 INFO    ] 200
[2026-10-20 13:57:22,340.340 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:57:22,385.385 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:57:22,431.431 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:57:22,434.434 INFO    ] No camera update needed
[2026-10-20 13:57:22,436.436 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:57:22,438.438 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:57:22,444.444 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:57:22,449.449 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:57:24,489.489 INFO    ] ================================================
[2026-10-20 13:57:24,504.504 INFO    ] Launching Daemon at Tue Oct 20 13:57:24 IST 2026
[2026-10-20 13:57:24,516.516 INFO    ] ================================================
[2026-10-20 13:57:25,081.081 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:57:25
[2026-10-20 13:57:25,665.665 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:57:25,924.924 INFO    ] Initializing speech engine...
[2026-10-20 13:57:25,927.927 INFO    ] 2026-10-20 13:57:25
[2026-10-20 13:57:26,214.214 INFO    ] 2026-10-20 13:57:26
[2026-10-20 13:57:26,252.252 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:57:26,462.462 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:57:26,479.479 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:57:26,623.623 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:57:26,636.636 INFO    ] time= 20/10/2026 13:57:26
[2026-10-20 13:57:26,643.643 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:57:26,676.676 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:57:26,833.833 INFO    ] No existing commands found in stream
[2026-10-20 13:57:31,858.858 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:57:31,862.862 INFO    ] Waiting 3.53 seconds before fallback handling...
[2026-10-20 13:57:35,903.903 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:57:35,905.905 INFO    ] Checking for system updates...
[2026-10-20 13:57:35,945.945 INFO    ] 200
[2026-10-20 13:57:35,947.947 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:57:36,000.000 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:57:36,002.002 INFO    ] No update needed
[2026-10-20 13:57:36,004.004 INFO    ] Checking for camera pi updates...
[2026-10-20 13:57:36,038.038 INFO    ] 200
[2026-10-20 13:57:36,041.041 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:57:36,081.081 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:57:36,128.128 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:57:36,131.131 INFO    ] No camera update needed
[2026-10-20 13:57:36,133.133 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:57:36,135.135 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:57:36,141.141 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:57:36,145.145 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:57:38,185.185 INFO    ] ================================================
[2026-10-20 13:57:38,200.200 INFO    ] Launching Daemon at Tue Oct 20 13:57:38 IST 2026
[2026-10-20 13:57:38,211.211 INFO    ] ================================================
[2026-10-20 13:57:38,865.865 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:57:38
[2026-10-20 13:57:39,536.536 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:57:39,846.846 INFO    ] Initializing speech engine...
[2026-10-20 13:57:39,857.857 INFO    ] 2026-10-20 13:57:39
[2026-10-20 13:57:40,165.165 INFO    ] 2026-10-20 13:57:40
[2026-10-20 13:57:40,250.250 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:57:40,466.466 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:57:40,475.475 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:57:40,669.669 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:57:40,688.688 INFO    ] time= 20/10/2026 13:57:40
[2026-10-20 13:57:40,721.721 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:57:40,730.730 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:57:40,861.861 INFO    ] No existing commands found in stream
[2026-10-20 13:57:45,892.892 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:57:45,895.895 INFO    ] Waiting 3.36 seconds before fallback handling...
[2026-10-20 13:57:49,777.777 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:57:49,781.781 INFO    ] Checking for system updates...
[2026-10-20 13:57:49,817.817 INFO    ] 200
[2026-10-20 13:57:49,820.820 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:57:49,876.876 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:57:49,878.878 INFO    ] No update needed
[2026-10-20 13:57:49,881.881 INFO    ] Checking for camera pi updates...
[2026-10-20 13:57:49,918.918 INFO    ] 200
[2026-10-20 13:57:49,921.921 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:57:49,961.961 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:57:50,018.018 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:57:50,021.021 INFO    ] No camera update needed
[2026-10-20 13:57:50,023.023 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:57:50,026.026 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:57:50,032.032 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:57:50,038.038 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:57:52,080.080 INFO    ] ================================================
[2026-10-20 13:57:52,096.096 INFO    ] Launching Daemon at Tue Oct 20 13:57:52 IST 2026
[2026-10-20 13:57:52,106.106 INFO    ] ================================================
[2026-10-20 13:57:52,673.673 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:57:52
[2026-10-20 13:57:53,256.256 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:57:53,523.523 INFO    ] Initializing speech engine...
[2026-10-20 13:57:53,534.534 INFO    ] 2026-10-20 13:57:53
[2026-10-20 13:57:53,786.786 INFO    ] 2026-10-20 13:57:53
[2026-10-20 13:57:53,821.821 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:57:54,023.023 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:57:54,079.079 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:57:54,267.267 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:57:54,322.322 INFO    ] time= 20/10/2026 13:57:54
[2026-10-20 13:57:54,357.357 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:57:54,363.363 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:57:54,514.514 INFO    ] No existing commands found in stream
[2026-10-20 13:57:59,532.532 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:57:59,535.535 INFO    ] Waiting 2.03 seconds before fallback handling...
[2026-10-20 13:58:02,154.154 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:58:02,158.158 INFO    ] Checking for system updates...
[2026-10-20 13:58:02,210.210 INFO    ] 200
[2026-10-20 13:58:02,213.213 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:58:02,285.285 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:58:02,288.288 INFO    ] No update needed
[2026-10-20 13:58:02,291.291 INFO    ] Checking for camera pi updates...
[2026-10-20 13:58:02,329.329 INFO    ] 200
[2026-10-20 13:58:02,331.331 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:58:02,375.375 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:58:02,413.413 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:58:02,416.416 INFO    ] No camera update needed
[2026-10-20 13:58:02,419.419 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:58:02,422.422 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:58:02,428.428 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:58:02,435.435 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:58:04,475.475 INFO    ] ================================================
[2026-10-20 13:58:04,492.492 INFO    ] Launching Daemon at Tue Oct 20 13:58:04 IST 2026
[2026-10-20 13:58:04,503.503 INFO    ] ================================================
[2026-10-20 13:58:05,070.070 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:58:05
[2026-10-20 13:58:05,656.656 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:58:05,928.928 INFO    ] Initializing speech engine...
[2026-10-20 13:58:05,935.935 INFO    ] 2026-10-20 13:58:05
[2026-10-20 13:58:06,193.193 INFO    ] 2026-10-20 13:58:06
[2026-10-20 13:58:06,223.223 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:58:06,480.480 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:58:06,492.492 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:58:06,698.698 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:58:06,763.763 INFO    ] time= 20/10/2026 13:58:06
[2026-10-20 13:58:06,777.777 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:58:06,795.795 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:58:06,900.900 INFO    ] No existing commands found in stream
[2026-10-20 13:58:11,930.930 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:58:11,933.933 INFO    ] Waiting 2.67 seconds before fallback handling...
[2026-10-20 13:58:15,105.105 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 13:58:15,108.108 INFO    ] Checking for system updates...
[2026-10-20 13:58:15,143.143 INFO    ] 200
[2026-10-20 13:58:15,146.146 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:58:15,199.199 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:58:15,201.201 INFO    ] No update needed
[2026-10-20 13:58:15,204.204 INFO    ] Checking for camera pi updates...
[2026-10-20 13:58:15,238.238 INFO    ] 200
[2026-10-20 13:58:15,241.241 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:58:15,281.281 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:58:15,441.441 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:58:15,443.443 INFO    ] No camera update needed
[2026-10-20 13:58:15,446.446 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:58:15,448.448 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:58:15,453.453 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:58:15,458.458 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:58:17,498.498 INFO    ] ================================================
[2026-10-20 13:58:17,514.514 INFO    ] Launching Daemon at Tue Oct 20 13:58:17 IST 2026
[2026-10-20 13:58:17,525.525 INFO    ] ================================================
[2026-10-20 13:58:18,092.092 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:58:18
[2026-10-20 13:58:18,676.676 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:58:18,944.944 INFO    ] Initializing speech engine...
[2026-10-20 13:58:18,953.953 INFO    ] 2026-10-20 13:58:18
[2026-10-20 13:58:19,197.197 INFO    ] 2026-10-20 13:58:19
[2026-10-20 13:58:19,233.233 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:58:19,430.430 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:58:19,487.487 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:58:19,628.628 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:58:19,698.698 INFO    ] time= 20/10/2026 13:58:19
[2026-10-20 13:58:19,752.752 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:58:19,762.762 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:58:19,913.913 INFO    ] No existing commands found in stream
[2026-10-20 13:58:24,943.943 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:58:24,946.946 INFO    ] Waiting 0.13 seconds before fallback handling...
[2026-10-20 13:58:25,583.583 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:58:25,586.586 INFO    ] Checking for system updates...
[2026-10-20 13:58:25,623.623 INFO    ] 200
[2026-10-20 13:58:25,626.626 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:58:25,691.691 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:58:25,694.694 INFO    ] No update needed
[2026-10-20 13:58:25,697.697 INFO    ] Checking for camera pi updates...
[2026-10-20 13:58:25,745.745 INFO    ] 200
[2026-10-20 13:58:25,747.747 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:58:25,793.793 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:58:25,840.840 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:58:25,842.842 INFO    ] No camera update needed
[2026-10-20 13:58:25,845.845 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:58:25,847.847 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:58:25,853.853 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:58:25,858.858 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:58:27,898.898 INFO    ] ================================================
[2026-10-20 13:58:27,913.913 INFO    ] Launching Daemon at Tue Oct 20 13:58:27 IST 2026
[2026-10-20 13:58:27,924.924 INFO    ] ================================================
[2026-10-20 13:58:28,490.490 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:58:28
[2026-10-20 13:58:29,071.071 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:58:29,340.340 INFO    ] Initializing speech engine...
[2026-10-20 13:58:29,350.350 INFO    ] 2026-10-20 13:58:29
[2026-10-20 13:58:29,600.600 INFO    ] 2026-10-20 13:58:29
[2026-10-20 13:58:29,634.634 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:58:29,834.834 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:58:29,841.841 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:58:30,037.037 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:58:30,080.080 INFO    ] time= 20/10/2026 13:58:30
[2026-10-20 13:58:30,134.134 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:58:30,174.174 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:58:30,314.314 INFO    ] No existing commands found in stream
[2026-10-20 13:58:35,334.334 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:58:35,336.336 INFO    ] Waiting 1.98 seconds before fallback handling...
[2026-10-20 13:58:37,834.834 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:58:37,836.836 INFO    ] Checking for system updates...
[2026-10-20 13:58:37,872.872 INFO    ] 200
[2026-10-20 13:58:37,874.874 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:58:37,926.926 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:58:37,928.928 INFO    ] No update needed
[2026-10-20 13:58:37,930.930 INFO    ] Checking for camera pi updates...
[2026-10-20 13:58:37,967.967 INFO    ] 200
[2026-10-20 13:58:37,970.970 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:58:38,010.010 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:58:38,061.061 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:58:38,063.063 INFO    ] No camera update needed
[2026-10-20 13:58:38,065.065 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:58:38,068.068 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:58:38,073.073 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:58:38,078.078 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:58:40,118.118 INFO    ] ================================================
[2026-10-20 13:58:40,134.134 INFO    ] Launching Daemon at Tue Oct 20 13:58:40 IST 2026
[2026-10-20 13:58:40,145.145 INFO    ] ================================================
[2026-10-20 13:58:40,724.724 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:58:40
[2026-10-20 13:58:41,322.322 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:58:41,595.595 INFO    ] Initializing speech engine...
[2026-10-20 13:58:41,604.604 INFO    ] 2026-10-20 13:58:41
[2026-10-20 13:58:41,866.866 INFO    ] 2026-10-20 13:58:41
[2026-10-20 13:58:41,896.896 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:58:42,146.146 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:58:42,152.152 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:58:42,335.335 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:58:42,395.395 INFO    ] time= 20/10/2026 13:58:42
[2026-10-20 13:58:42,411.411 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:58:42,429.429 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:58:42,563.563 INFO    ] No existing commands found in stream
[2026-10-20 13:58:47,584.584 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:58:47,587.587 INFO    ] Waiting 3.65 seconds before fallback handling...
[2026-10-20 13:58:51,774.774 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 13:58:51,777.777 INFO    ] Checking for system updates...
[2026-10-20 13:58:51,818.818 INFO    ] 200
[2026-10-20 13:58:51,821.821 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:58:51,882.882 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:58:51,885.885 INFO    ] No update needed
[2026-10-20 13:58:51,888.888 INFO    ] Checking for camera pi updates...
[2026-10-20 13:58:51,923.923 INFO    ] 200
[2026-10-20 13:58:51,926.926 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:58:51,968.968 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:58:52,017.017 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:58:52,020.020 INFO    ] No camera update needed
[2026-10-20 13:58:52,022.022 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:58:52,025.025 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:58:52,031.031 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:58:52,037.037 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:58:54,078.078 INFO    ] ================================================
[2026-10-20 13:58:54,094.094 INFO    ] Launching Daemon at Tue Oct 20 13:58:54 IST 2026
[2026-10-20 13:58:54,105.105 INFO    ] ================================================
[2026-10-20 13:58:54,688.688 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:58:54
[2026-10-20 13:58:55,285.285 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:58:55,546.546 INFO    ] Initializing speech engine...
[2026-10-20 13:58:55,553.553 INFO    ] 2026-10-20 13:58:55
[2026-10-20 13:58:55,852.852 INFO    ] 2026-10-20 13:58:55
[2026-10-20 13:58:55,904.904 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:58:56,125.125 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:58:56,147.147 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:58:56,329.329 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:58:56,371.371 INFO    ] time= 20/10/2026 13:58:56
[2026-10-20 13:58:56,425.425 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:58:56,462.462 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:58:56,591.591 INFO    ] No existing commands found in stream
[2026-10-20 13:59:01,618.618 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:59:01,621.621 INFO    ] Waiting 0.80 seconds before fallback handling...
[2026-10-20 13:59:02,894.894 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 13:59:02,897.897 INFO    ] Checking for system updates...
[2026-10-20 13:59:02,939.939 INFO    ] 200
[2026-10-20 13:59:02,942.942 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:59:03,007.007 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:59:03,012.012 INFO    ] No update needed
[2026-10-20 13:59:03,015.015 INFO    ] Checking for camera pi updates...
[2026-10-20 13:59:03,068.068 INFO    ] 200
[2026-10-20 13:59:03,071.071 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:59:03,130.130 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:59:03,168.168 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:59:03,171.171 INFO    ] No camera update needed
[2026-10-20 13:59:03,173.173 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:59:03,176.176 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:59:03,182.182 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:59:03,188.188 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:59:05,228.228 INFO    ] ================================================
[2026-10-20 13:59:05,244.244 INFO    ] Launching Daemon at Tue Oct 20 13:59:05 IST 2026
[2026-10-20 13:59:05,256.256 INFO    ] ================================================
[2026-10-20 13:59:05,822.822 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:59:05
[2026-10-20 13:59:06,406.406 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:59:06,673.673 INFO    ] Initializing speech engine...
[2026-10-20 13:59:06,681.681 INFO    ] 2026-10-20 13:59:06
[2026-10-20 13:59:06,932.932 INFO    ] 2026-10-20 13:59:06
[2026-10-20 13:59:06,966.966 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:59:07,182.182 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:59:07,204.204 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:59:07,356.356 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:59:07,361.361 INFO    ] time= 20/10/2026 13:59:07
[2026-10-20 13:59:07,369.369 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:59:07,395.395 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:59:07,547.547 INFO    ] No existing commands found in stream
[2026-10-20 13:59:12,574.574 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:59:12,577.577 INFO    ] Waiting 3.29 seconds before fallback handling...
[2026-10-20 13:59:17,055.055 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 13:59:17,057.057 INFO    ] Checking for system updates...
[2026-10-20 13:59:17,093.093 INFO    ] 200
[2026-10-20 13:59:17,095.095 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:59:17,154.154 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:59:17,156.156 INFO    ] No update needed
[2026-10-20 13:59:17,159.159 INFO    ] Checking for camera pi updates...
[2026-10-20 13:59:17,196.196 INFO    ] 200
[2026-10-20 13:59:17,198.198 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:59:17,238.238 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:59:17,283.283 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:59:17,285.285 INFO    ] No camera update needed
[2026-10-20 13:59:17,288.288 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:59:17,290.290 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:59:17,295.295 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:59:17,300.300 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:59:19,341.341 INFO    ] ================================================
[2026-10-20 13:59:19,357.357 INFO    ] Launching Daemon at Tue Oct 20 13:59:19 IST 2026
[2026-10-20 13:59:19,368.368 INFO    ] ================================================
[2026-10-20 13:59:20,034.034 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:59:20
[2026-10-20 13:59:20,722.722 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:59:21,039.039 INFO    ] Initializing speech engine...
[2026-10-20 13:59:21,051.051 INFO    ] 2026-10-20 13:59:21
[2026-10-20 13:59:21,368.368 INFO    ] 2026-10-20 13:59:21
[2026-10-20 13:59:21,456.456 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:59:21,675.675 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:59:21,681.681 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:59:21,855.855 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:59:21,888.888 INFO    ] time= 20/10/2026 13:59:21
[2026-10-20 13:59:21,905.905 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:59:21,925.925 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:59:22,050.050 INFO    ] No existing commands found in stream
[2026-10-20 13:59:27,075.075 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:59:27,078.078 INFO    ] Waiting 2.25 seconds before fallback handling...
[2026-10-20 13:59:29,871.871 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 13:59:29,874.874 INFO    ] Checking for system updates...
[2026-10-20 13:59:29,912.912 INFO    ] 200
[2026-10-20 13:59:29,914.914 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:59:29,968.968 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:59:29,971.971 INFO    ] No update needed
[2026-10-20 13:59:29,974.974 INFO    ] Checking for camera pi updates...
[2026-10-20 13:59:30,010.010 INFO    ] 200
[2026-10-20 13:59:30,013.013 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:59:30,060.060 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:59:30,110.110 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 13:59:30,113.113 INFO    ] No camera update needed
[2026-10-20 13:59:30,115.115 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:59:30,117.117 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:59:30,122.122 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:59:30,127.127 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:59:32,170.170 INFO    ] ================================================
[2026-10-20 13:59:32,187.187 INFO    ] Launching Daemon at Tue Oct 20 13:59:32 IST 2026
[2026-10-20 13:59:32,199.199 INFO    ] ================================================
[2026-10-20 13:59:32,930.930 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:59:32
[2026-10-20 13:59:33,636.636 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:59:33,948.948 INFO    ] Initializing speech engine...
[2026-10-20 13:59:33,957.957 INFO    ] 2026-10-20 13:59:33
[2026-10-20 13:59:34,231.231 INFO    ] 2026-10-20 13:59:34
[2026-10-20 13:59:34,291.291 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:59:34,528.528 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:59:34,534.534 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:59:34,759.759 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:59:34,799.799 INFO    ] time= 20/10/2026 13:59:34
[2026-10-20 13:59:34,819.819 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:59:34,828.828 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:59:34,965.965 INFO    ] No existing commands found in stream
[2026-10-20 13:59:39,991.991 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:59:39,995.995 INFO    ] Waiting 2.13 seconds before fallback handling...
[2026-10-20 13:59:42,644.644 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 13:59:42,647.647 INFO    ] Checking for system updates...
[2026-10-20 13:59:42,685.685 INFO    ] 200
[2026-10-20 13:59:42,688.688 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:59:42,743.743 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:59:42,746.746 INFO    ] No update needed
[2026-10-20 13:59:42,749.749 INFO    ] Checking for camera pi updates...
[2026-10-20 13:59:42,784.784 INFO    ] 200
[2026-10-20 13:59:42,786.786 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:59:42,834.834 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:59:42,882.882 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:59:42,884.884 INFO    ] No camera update needed
[2026-10-20 13:59:42,886.886 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:59:42,888.888 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:59:42,894.894 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:59:42,899.899 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:59:44,938.938 INFO    ] ================================================
[2026-10-20 13:59:44,953.953 INFO    ] Launching Daemon at Tue Oct 20 13:59:44 IST 2026
[2026-10-20 13:59:44,965.965 INFO    ] ================================================
[2026-10-20 13:59:45,642.642 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:59:45
[2026-10-20 13:59:46,342.342 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 13:59:46,652.652 INFO    ] Initializing speech engine...
[2026-10-20 13:59:46,666.666 INFO    ] 2026-10-20 13:59:46
[2026-10-20 13:59:46,956.956 INFO    ] 2026-10-20 13:59:46
[2026-10-20 13:59:47,066.066 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 13:59:47,281.281 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 13:59:47,289.289 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 13:59:47,480.480 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 13:59:47,499.499 INFO    ] time= 20/10/2026 13:59:47
[2026-10-20 13:59:47,509.509 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 13:59:47,534.534 INFO    ] Checking for existing commands in stream...
[2026-10-20 13:59:47,656.656 INFO    ] No existing commands found in stream
[2026-10-20 13:59:52,687.687 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 13:59:52,691.691 INFO    ] Waiting 3.33 seconds before fallback handling...
[2026-10-20 13:59:56,588.588 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 13:59:56,591.591 INFO    ] Checking for system updates...
[2026-10-20 13:59:56,633.633 INFO    ] 200
[2026-10-20 13:59:56,636.636 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:59:56,696.696 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:59:56,699.699 INFO    ] No update needed
[2026-10-20 13:59:56,702.702 INFO    ] Checking for camera pi updates...
[2026-10-20 13:59:56,741.741 INFO    ] 200
[2026-10-20 13:59:56,744.744 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 13:59:56,791.791 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 13:59:56,839.839 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 13:59:56,841.841 INFO    ] No camera update needed
[2026-10-20 13:59:56,845.845 INFO    ] Script finished. Safe exiting...
[2026-10-20 13:59:56,848.848 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 13:59:56,854.854 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 13:59:56,860.860 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 13:59:58,902.902 INFO    ] ================================================
[2026-10-20 13:59:58,918.918 INFO    ] Launching Daemon at Tue Oct 20 13:59:58 IST 2026
[2026-10-20 13:59:58,929.929 INFO    ] ================================================
[2026-10-20 13:59:59,518.518 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 13:59:59
[2026-10-20 14:00:00,124.124 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:00:00,404.404 INFO    ] Initializing speech engine...
[2026-10-20 14:00:00,413.413 INFO    ] 2026-10-20 14:00:00
[2026-10-20 14:00:00,672.672 INFO    ] 2026-10-20 14:00:00
[2026-10-20 14:00:00,726.726 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:00:00,954.954 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:00:00,959.959 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:00:01,166.166 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:00:01,210.210 INFO    ] time= 20/10/2026 14:00:01
[2026-10-20 14:00:01,222.222 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:00:01,240.240 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:00:01,371.371 INFO    ] No existing commands found in stream
[2026-10-20 14:00:06,392.392 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:00:06,395.395 INFO    ] Waiting 3.92 seconds before fallback handling...
[2026-10-20 14:00:10,848.848 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:00:10,850.850 INFO    ] Checking for system updates...
[2026-10-20 14:00:10,887.887 INFO    ] 200
[2026-10-20 14:00:10,890.890 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:00:10,943.943 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:00:10,946.946 INFO    ] No update needed
[2026-10-20 14:00:10,949.949 INFO    ] Checking for camera pi updates...
[2026-10-20 14:00:10,984.984 INFO    ] 200
[2026-10-20 14:00:10,987.987 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:00:11,029.029 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:00:11,080.080 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:00:11,083.083 INFO    ] No camera update needed
[2026-10-20 14:00:11,086.086 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:00:11,088.088 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:00:11,094.094 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:00:11,100.100 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:00:13,143.143 INFO    ] ================================================
[2026-10-20 14:00:13,159.159 INFO    ] Launching Daemon at Tue Oct 20 14:00:13 IST 2026
[2026-10-20 14:00:13,171.171 INFO    ] ================================================
[2026-10-20 14:00:13,772.772 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:00:13
[2026-10-20 14:00:14,446.446 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:00:14,754.754 INFO    ] Initializing speech engine...
[2026-10-20 14:00:14,767.767 INFO    ] 2026-10-20 14:00:14
[2026-10-20 14:00:15,050.050 INFO    ] 2026-10-20 14:00:15
[2026-10-20 14:00:15,096.096 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:00:15,324.324 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:00:15,341.341 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:00:15,581.581 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:00:15,593.593 INFO    ] time= 20/10/2026 14:00:15
[2026-10-20 14:00:15,615.615 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:00:15,643.643 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:00:15,773.773 INFO    ] No existing commands found in stream
[2026-10-20 14:00:20,803.803 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:00:20,807.807 INFO    ] Waiting 3.00 seconds before fallback handling...
[2026-10-20 14:00:24,347.347 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 14:00:24,358.358 INFO    ] Checking for system updates...
[2026-10-20 14:00:24,399.399 INFO    ] 200
[2026-10-20 14:00:24,402.402 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:00:24,457.457 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:00:24,460.460 INFO    ] No update needed
[2026-10-20 14:00:24,462.462 INFO    ] Checking for camera pi updates...
[2026-10-20 14:00:24,497.497 INFO    ] 200
[2026-10-20 14:00:24,499.499 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:00:24,540.540 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:00:24,684.684 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:00:24,687.687 INFO    ] No camera update needed
[2026-10-20 14:00:24,690.690 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:00:24,692.692 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:00:24,698.698 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:00:24,704.704 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:00:26,744.744 INFO    ] ================================================
[2026-10-20 14:00:26,760.760 INFO    ] Launching Daemon at Tue Oct 20 14:00:26 IST 2026
[2026-10-20 14:00:26,776.776 INFO    ] ================================================
[2026-10-20 14:00:27,402.402 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:00:27
[2026-10-20 14:00:28,072.072 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:00:28,374.374 INFO    ] Initializing speech engine...
[2026-10-20 14:00:28,388.388 INFO    ] 2026-10-20 14:00:28
[2026-10-20 14:00:28,705.705 INFO    ] 2026-10-20 14:00:28
[2026-10-20 14:00:28,793.793 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:00:29,008.008 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:00:29,015.015 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:00:29,215.215 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:00:29,233.233 INFO    ] time= 20/10/2026 14:00:29
[2026-10-20 14:00:29,242.242 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:00:29,268.268 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:00:29,380.380 INFO    ] No existing commands found in stream
[2026-10-20 14:00:34,410.410 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:00:34,413.413 INFO    ] Waiting 1.07 seconds before fallback handling...
[2026-10-20 14:00:36,034.034 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:00:36,038.038 INFO    ] Checking for system updates...
[2026-10-20 14:00:36,075.075 INFO    ] 200
[2026-10-20 14:00:36,078.078 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:00:36,132.132 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:00:36,134.134 INFO    ] No update needed
[2026-10-20 14:00:36,137.137 INFO    ] Checking for camera pi updates...
[2026-10-20 14:00:36,174.174 INFO    ] 200
[2026-10-20 14:00:36,176.176 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:00:36,217.217 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:00:36,269.269 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:00:36,272.272 INFO    ] No camera update needed
[2026-10-20 14:00:36,274.274 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:00:36,276.276 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:00:36,281.281 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:00:36,286.286 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:00:38,325.325 INFO    ] ================================================
[2026-10-20 14:00:38,341.341 INFO    ] Launching Daemon at Tue Oct 20 14:00:38 IST 2026
[2026-10-20 14:00:38,352.352 INFO    ] ================================================
[2026-10-20 14:00:38,918.918 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:00:38
[2026-10-20 14:00:39,498.498 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:00:39,767.767 INFO    ] Initializing speech engine...
[2026-10-20 14:00:39,776.776 INFO    ] 2026-10-20 14:00:39
[2026-10-20 14:00:40,036.036 INFO    ] 2026-10-20 14:00:40
[2026-10-20 14:00:40,065.065 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:00:40,283.283 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:00:40,328.328 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:00:40,503.503 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:00:40,520.520 INFO    ] time= 20/10/2026 14:00:40
[2026-10-20 14:00:40,575.575 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:00:40,619.619 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:00:40,782.782 INFO    ] No existing commands found in stream
[2026-10-20 14:00:45,804.804 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:00:45,807.807 INFO    ] Waiting 1.67 seconds before fallback handling...
[2026-10-20 14:00:47,974.974 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 14:00:47,976.976 INFO    ] Checking for system updates...
[2026-10-20 14:00:48,011.011 INFO    ] 200
[2026-10-20 14:00:48,014.014 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:00:48,067.067 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:00:48,070.070 INFO    ] No update needed
[2026-10-20 14:00:48,072.072 INFO    ] Checking for camera pi updates...
[2026-10-20 14:00:48,106.106 INFO    ] 200
[2026-10-20 14:00:48,108.108 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:00:48,148.148 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:00:48,193.193 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:00:48,195.195 INFO    ] No camera update needed
[2026-10-20 14:00:48,197.197 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:00:48,200.200 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:00:48,205.205 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:00:48,210.210 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:00:50,249.249 INFO    ] ================================================
[2026-10-20 14:00:50,265.265 INFO    ] Launching Daemon at Tue Oct 20 14:00:50 IST 2026
[2026-10-20 14:00:50,276.276 INFO    ] ================================================
[2026-10-20 14:00:50,849.849 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:00:50
[2026-10-20 14:00:51,437.437 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:00:51,713.713 INFO    ] Initializing speech engine...
[2026-10-20 14:00:51,719.719 INFO    ] 2026-10-20 14:00:51
[2026-10-20 14:00:51,980.980 INFO    ] 2026-10-20 14:00:51
[2026-10-20 14:00:52,010.010 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:00:52,256.256 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:00:52,265.265 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:00:52,499.499 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:00:52,525.525 INFO    ] time= 20/10/2026 14:00:52
[2026-10-20 14:00:52,531.531 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:00:52,548.548 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:00:52,681.681 INFO    ] No existing commands found in stream
[2026-10-20 14:00:57,709.709 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:00:57,711.711 INFO    ] Waiting 2.41 seconds before fallback handling...
[2026-10-20 14:01:00,647.647 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:01:00,650.650 INFO    ] Checking for system updates...
[2026-10-20 14:01:00,688.688 INFO    ] 200
[2026-10-20 14:01:00,691.691 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:01:00,743.743 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:01:00,745.745 INFO    ] No update needed
[2026-10-20 14:01:00,748.748 INFO    ] Checking for camera pi updates...
[2026-10-20 14:01:00,785.785 INFO    ] 200
[2026-10-20 14:01:00,787.787 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:01:00,830.830 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:01:00,878.878 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:01:00,881.881 INFO    ] No camera update needed
[2026-10-20 14:01:00,883.883 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:01:00,885.885 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:01:00,891.891 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:01:00,896.896 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:01:02,940.940 INFO    ] ================================================
[2026-10-20 14:01:02,956.956 INFO    ] Launching Daemon at Tue Oct 20 14:01:02 IST 2026
[2026-10-20 14:01:02,967.967 INFO    ] ================================================
[2026-10-20 14:01:03,568.568 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:01:03
[2026-10-20 14:01:04,151.151 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:01:04,411.411 INFO    ] Initializing speech engine...
[2026-10-20 14:01:04,430.430 INFO    ] 2026-10-20 14:01:04
[2026-10-20 14:01:04,679.679 INFO    ] 2026-10-20 14:01:04
[2026-10-20 14:01:04,714.714 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:01:04,973.973 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:01:04,982.982 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:01:05,135.135 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:01:05,184.184 INFO    ] time= 20/10/2026 14:01:05
[2026-10-20 14:01:05,228.228 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:01:05,258.258 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:01:05,381.381 INFO    ] No existing commands found in stream
[2026-10-20 14:01:10,411.411 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:01:10,414.414 INFO    ] Waiting 1.99 seconds before fallback handling...
[2026-10-20 14:01:12,937.937 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 14:01:12,939.939 INFO    ] Checking for system updates...
[2026-10-20 14:01:12,975.975 INFO    ] 200
[2026-10-20 14:01:12,977.977 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:01:13,035.035 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:01:13,038.038 INFO    ] No update needed
[2026-10-20 14:01:13,040.040 INFO    ] Checking for camera pi updates...
[2026-10-20 14:01:13,074.074 INFO    ] 200
[2026-10-20 14:01:13,076.076 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:01:13,120.120 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:01:13,168.168 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:01:13,171.171 INFO    ] No camera update needed
[2026-10-20 14:01:13,173.173 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:01:13,176.176 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:01:13,181.181 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:01:13,186.186 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:01:15,227.227 INFO    ] ================================================
[2026-10-20 14:01:15,243.243 INFO    ] Launching Daemon at Tue Oct 20 14:01:15 IST 2026
[2026-10-20 14:01:15,254.254 INFO    ] ================================================
[2026-10-20 14:01:15,821.821 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:01:15
[2026-10-20 14:01:16,403.403 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:01:16,659.659 INFO    ] Initializing speech engine...
[2026-10-20 14:01:16,672.672 INFO    ] 2026-10-20 14:01:16
[2026-10-20 14:01:16,939.939 INFO    ] 2026-10-20 14:01:16
[2026-10-20 14:01:16,974.974 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:01:17,174.174 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:01:17,224.224 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:01:17,378.378 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:01:17,420.420 INFO    ] time= 20/10/2026 14:01:17
[2026-10-20 14:01:17,484.484 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:01:17,514.514 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:01:17,649.649 INFO    ] No existing commands found in stream
[2026-10-20 14:01:22,672.672 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:01:22,675.675 INFO    ] Waiting 3.81 seconds before fallback handling...
[2026-10-20 14:01:27,024.024 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:01:27,027.027 INFO    ] Checking for system updates...
[2026-10-20 14:01:27,063.063 INFO    ] 200
[2026-10-20 14:01:27,065.065 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:01:27,121.121 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:01:27,124.124 INFO    ] No update needed
[2026-10-20 14:01:27,126.126 INFO    ] Checking for camera pi updates...
[2026-10-20 14:01:27,160.160 INFO    ] 200
[2026-10-20 14:01:27,163.163 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:01:27,202.202 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:01:27,252.252 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:01:27,255.255 INFO    ] No camera update needed
[2026-10-20 14:01:27,257.257 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:01:27,259.259 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:01:27,264.264 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:01:27,269.269 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:01:29,310.310 INFO    ] ================================================
[2026-10-20 14:01:29,325.325 INFO    ] Launching Daemon at Tue Oct 20 14:01:29 IST 2026
[2026-10-20 14:01:29,335.335 INFO    ] ================================================
[2026-10-20 14:01:29,906.906 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:01:29
[2026-10-20 14:01:30,487.487 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:01:30,747.747 INFO    ] Initializing speech engine...
[2026-10-20 14:01:30,766.766 INFO    ] 2026-10-20 14:01:30
[2026-10-20 14:01:31,016.016 INFO    ] 2026-10-20 14:01:31
[2026-10-20 14:01:31,050.050 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:01:31,307.307 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:01:31,316.316 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:01:31,471.471 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:01:31,512.512 INFO    ] time= 20/10/2026 14:01:31
[2026-10-20 14:01:31,557.557 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:01:31,610.610 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:01:31,747.747 INFO    ] No existing commands found in stream
[2026-10-20 14:01:36,780.780 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:01:36,783.783 INFO    ] Waiting 2.59 seconds before fallback handling...
[2026-10-20 14:01:39,900.900 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:01:39,902.902 INFO    ] Checking for system updates...
[2026-10-20 14:01:39,938.938 INFO    ] 200
[2026-10-20 14:01:39,940.940 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:01:39,996.996 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:01:39,999.999 INFO    ] No update needed
[2026-10-20 14:01:40,002.002 INFO    ] Checking for camera pi updates...
[2026-10-20 14:01:40,039.039 INFO    ] 200
[2026-10-20 14:01:40,041.041 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:01:40,082.082 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:01:40,133.133 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:01:40,135.135 INFO    ] No camera update needed
[2026-10-20 14:01:40,138.138 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:01:40,140.140 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:01:40,146.146 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:01:40,152.152 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:01:42,193.193 INFO    ] ================================================
[2026-10-20 14:01:42,207.207 INFO    ] Launching Daemon at Tue Oct 20 14:01:42 IST 2026
[2026-10-20 14:01:42,219.219 INFO    ] ================================================
[2026-10-20 14:01:42,786.786 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:01:42
[2026-10-20 14:01:43,371.371 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:01:43,645.645 INFO    ] Initializing speech engine...
[2026-10-20 14:01:43,651.651 INFO    ] 2026-10-20 14:01:43
[2026-10-20 14:01:43,910.910 INFO    ] 2026-10-20 14:01:43
[2026-10-20 14:01:43,940.940 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:01:44,190.190 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:01:44,195.195 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:01:44,412.412 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:01:44,454.454 INFO    ] time= 20/10/2026 14:01:44
[2026-10-20 14:01:44,460.460 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:01:44,480.480 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:01:44,633.633 INFO    ] No existing commands found in stream
[2026-10-20 14:01:49,663.663 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:01:49,666.666 INFO    ] Waiting 1.26 seconds before fallback handling...
[2026-10-20 14:01:51,442.442 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:01:51,445.445 INFO    ] Checking for system updates...
[2026-10-20 14:01:51,486.486 INFO    ] 200
[2026-10-20 14:01:51,489.489 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:01:51,551.551 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:01:51,554.554 INFO    ] No update needed
[2026-10-20 14:01:51,557.557 INFO    ] Checking for camera pi updates...
[2026-10-20 14:01:51,596.596 INFO    ] 200
[2026-10-20 14:01:51,599.599 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:01:51,643.643 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:01:51,687.687 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:01:51,690.690 INFO    ] No camera update needed
[2026-10-20 14:01:51,692.692 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:01:51,695.695 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:01:51,700.700 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:01:51,705.705 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:01:53,745.745 INFO    ] ================================================
[2026-10-20 14:01:53,760.760 INFO    ] Launching Daemon at Tue Oct 20 14:01:53 IST 2026
[2026-10-20 14:01:53,770.770 INFO    ] ================================================
[2026-10-20 14:01:54,336.336 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:01:54
[2026-10-20 14:01:54,922.922 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:01:55,192.192 INFO    ] Initializing speech engine...
[2026-10-20 14:01:55,201.201 INFO    ] 2026-10-20 14:01:55
[2026-10-20 14:01:55,461.461 INFO    ] 2026-10-20 14:01:55
[2026-10-20 14:01:55,500.500 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:01:55,755.755 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:01:55,799.799 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:01:55,959.959 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:01:55,981.981 INFO    ] time= 20/10/2026 14:01:55
[2026-10-20 14:01:56,035.035 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:01:56,084.084 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:01:56,241.241 INFO    ] No existing commands found in stream
[2026-10-20 14:02:01,259.259 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:02:01,263.263 INFO    ] Waiting 2.63 seconds before fallback handling...
[2026-10-20 14:02:04,350.350 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 14:02:04,353.353 INFO    ] Checking for system updates...
[2026-10-20 14:02:04,389.389 INFO    ] 200
[2026-10-20 14:02:04,391.391 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:02:04,444.444 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:02:04,447.447 INFO    ] No update needed
[2026-10-20 14:02:04,449.449 INFO    ] Checking for camera pi updates...
[2026-10-20 14:02:04,483.483 INFO    ] 200
[2026-10-20 14:02:04,485.485 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:02:04,534.534 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:02:04,577.577 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:02:04,580.580 INFO    ] No camera update needed
[2026-10-20 14:02:04,582.582 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:02:04,584.584 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:02:04,590.590 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:02:04,595.595 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:02:06,637.637 INFO    ] ================================================
[2026-10-20 14:02:06,654.654 INFO    ] Launching Daemon at Tue Oct 20 14:02:06 IST 2026
[2026-10-20 14:02:06,667.667 INFO    ] ================================================
[2026-10-20 14:02:07,367.367 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:02:07
[2026-10-20 14:02:08,050.050 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:02:08,321.321 INFO    ] Initializing speech engine...
[2026-10-20 14:02:08,324.324 INFO    ] 2026-10-20 14:02:08
[2026-10-20 14:02:08,638.638 INFO    ] 2026-10-20 14:02:08
[2026-10-20 14:02:08,676.676 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:02:08,901.901 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:02:08,965.965 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:02:09,123.123 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:02:09,166.166 INFO    ] time= 20/10/2026 14:02:09
[2026-10-20 14:02:09,220.220 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:02:09,274.274 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:02:09,438.438 INFO    ] No existing commands found in stream
[2026-10-20 14:02:14,451.451 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:02:14,454.454 INFO    ] Waiting 3.48 seconds before fallback handling...
[2026-10-20 14:02:18,442.442 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:02:18,445.445 INFO    ] Checking for system updates...
[2026-10-20 14:02:18,481.481 INFO    ] 200
[2026-10-20 14:02:18,484.484 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:02:18,535.535 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:02:18,537.537 INFO    ] No update needed
[2026-10-20 14:02:18,540.540 INFO    ] Checking for camera pi updates...
[2026-10-20 14:02:18,574.574 INFO    ] 200
[2026-10-20 14:02:18,577.577 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:02:18,618.618 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:02:18,661.661 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:02:18,663.663 INFO    ] No camera update needed
[2026-10-20 14:02:18,665.665 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:02:18,668.668 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:02:18,673.673 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:02:18,678.678 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:02:20,718.718 INFO    ] ================================================
[2026-10-20 14:02:20,733.733 INFO    ] Launching Daemon at Tue Oct 20 14:02:20 IST 2026
[2026-10-20 14:02:20,744.744 INFO    ] ================================================
[2026-10-20 14:02:21,317.317 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:02:21
[2026-10-20 14:02:21,914.914 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:02:22,183.183 INFO    ] Initializing speech engine...
[2026-10-20 14:02:22,203.203 INFO    ] 2026-10-20 14:02:22
[2026-10-20 14:02:22,467.467 INFO    ] 2026-10-20 14:02:22
[2026-10-20 14:02:22,503.503 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:02:22,724.724 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:02:22,773.773 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:02:22,942.942 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:02:22,949.949 INFO    ] time= 20/10/2026 14:02:22
[2026-10-20 14:02:23,008.008 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:02:23,068.068 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:02:23,220.220 INFO    ] No existing commands found in stream
[2026-10-20 14:02:28,237.237 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:02:28,240.240 INFO    ] Waiting 1.52 seconds before fallback handling...
[2026-10-20 14:02:30,256.256 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:02:30,259.259 INFO    ] Checking for system updates...
[2026-10-20 14:02:30,299.299 INFO    ] 200
[2026-10-20 14:02:30,302.302 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:02:30,354.354 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:02:30,357.357 INFO    ] No update needed
[2026-10-20 14:02:30,360.360 INFO    ] Checking for camera pi updates...
[2026-10-20 14:02:30,395.395 INFO    ] 200
[2026-10-20 14:02:30,397.397 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:02:30,438.438 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:02:30,582.582 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:02:30,584.584 INFO    ] No camera update needed
[2026-10-20 14:02:30,587.587 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:02:30,589.589 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:02:30,595.595 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:02:30,600.600 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:02:32,641.641 INFO    ] ================================================
[2026-10-20 14:02:32,656.656 INFO    ] Launching Daemon at Tue Oct 20 14:02:32 IST 2026
[2026-10-20 14:02:32,667.667 INFO    ] ================================================
[2026-10-20 14:02:33,232.232 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:02:33
[2026-10-20 14:02:33,814.814 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:02:34,085.085 INFO    ] Initializing speech engine...
[2026-10-20 14:02:34,094.094 INFO    ] 2026-10-20 14:02:34
[2026-10-20 14:02:34,344.344 INFO    ] 2026-10-20 14:02:34
[2026-10-20 14:02:34,379.379 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:02:34,636.636 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:02:34,645.645 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:02:34,844.844 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:02:34,893.893 INFO    ] time= 20/10/2026 14:02:34
[2026-10-20 14:02:34,914.914 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:02:34,930.930 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:02:35,050.050 INFO    ] No existing commands found in stream
[2026-10-20 14:02:40,070.070 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:02:40,072.072 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-10-20 14:02:42,588.588 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:02:42,591.591 INFO    ] Checking for system updates...
[2026-10-20 14:02:42,626.626 INFO    ] 200
[2026-10-20 14:02:42,629.629 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:02:42,686.686 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:02:42,689.689 INFO    ] No update needed
[2026-10-20 14:02:42,692.692 INFO    ] Checking for camera pi updates...
[2026-10-20 14:02:42,726.726 INFO    ] 200
[2026-10-20 14:02:42,729.729 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:02:42,769.769 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:02:42,815.815 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:02:42,817.817 INFO    ] No camera update needed
[2026-10-20 14:02:42,819.819 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:02:42,822.822 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:02:42,827.827 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:02:42,832.832 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:02:44,873.873 INFO    ] ================================================
[2026-10-20 14:02:44,888.888 INFO    ] Launching Daemon at Tue Oct 20 14:02:44 IST 2026
[2026-10-20 14:02:44,898.898 INFO    ] ================================================
[2026-10-20 14:02:45,471.471 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:02:45
[2026-10-20 14:02:46,056.056 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:02:46,326.326 INFO    ] Initializing speech engine...
[2026-10-20 14:02:46,335.335 INFO    ] 2026-10-20 14:02:46
[2026-10-20 14:02:46,585.585 INFO    ] 2026-10-20 14:02:46
[2026-10-20 14:02:46,619.619 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:02:46,901.901 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:02:46,907.907 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:02:47,130.130 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:02:47,159.159 INFO    ] time= 20/10/2026 14:02:47
[2026-10-20 14:02:47,165.165 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:02:47,184.184 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:02:47,315.315 INFO    ] No existing commands found in stream
[2026-10-20 14:02:52,331.331 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:02:52,334.334 INFO    ] Waiting 1.02 seconds before fallback handling...
[2026-10-20 14:02:53,943.943 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 14:02:53,946.946 INFO    ] Checking for system updates...
[2026-10-20 14:02:53,981.981 INFO    ] 200
[2026-10-20 14:02:53,983.983 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:02:54,039.039 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:02:54,042.042 INFO    ] No update needed
[2026-10-20 14:02:54,044.044 INFO    ] Checking for camera pi updates...
[2026-10-20 14:02:54,077.077 INFO    ] 200
[2026-10-20 14:02:54,079.079 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:02:54,123.123 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:02:54,174.174 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:02:54,176.176 INFO    ] No camera update needed
[2026-10-20 14:02:54,179.179 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:02:54,181.181 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:02:54,186.186 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:02:54,191.191 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:02:56,234.234 INFO    ] ================================================
[2026-10-20 14:02:56,249.249 INFO    ] Launching Daemon at Tue Oct 20 14:02:56 IST 2026
[2026-10-20 14:02:56,259.259 INFO    ] ================================================
[2026-10-20 14:02:56,830.830 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:02:56
[2026-10-20 14:02:57,430.430 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:02:57,680.680 INFO    ] Initializing speech engine...
[2026-10-20 14:02:57,695.695 INFO    ] 2026-10-20 14:02:57
[2026-10-20 14:02:57,964.964 INFO    ] 2026-10-20 14:02:57
[2026-10-20 14:02:57,999.999 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:02:58,202.202 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:02:58,258.258 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:02:58,490.490 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:02:58,537.537 INFO    ] time= 20/10/2026 14:02:58
[2026-10-20 14:02:58,543.543 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:02:58,561.561 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:02:58,701.701 INFO    ] No existing commands found in stream
[2026-10-20 14:03:03,722.722 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:03:03,724.724 INFO    ] Waiting 2.05 seconds before fallback handling...
[2026-10-20 14:03:06,305.305 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:03:06,308.308 INFO    ] Checking for system updates...
[2026-10-20 14:03:06,343.343 INFO    ] 200
[2026-10-20 14:03:06,352.352 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:03:06,409.409 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:03:06,411.411 INFO    ] No update needed
[2026-10-20 14:03:06,414.414 INFO    ] Checking for camera pi updates...
[2026-10-20 14:03:06,449.449 INFO    ] 200
[2026-10-20 14:03:06,452.452 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:03:06,496.496 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:03:06,542.542 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:03:06,545.545 INFO    ] No camera update needed
[2026-10-20 14:03:06,547.547 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:03:06,550.550 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:03:06,556.556 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:03:06,562.562 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:03:08,602.602 INFO    ] ================================================
[2026-10-20 14:03:08,617.617 INFO    ] Launching Daemon at Tue Oct 20 14:03:08 IST 2026
[2026-10-20 14:03:08,627.627 INFO    ] ================================================
[2026-10-20 14:03:09,207.207 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:03:09
[2026-10-20 14:03:09,803.803 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:03:10,076.076 INFO    ] Initializing speech engine...
[2026-10-20 14:03:10,086.086 INFO    ] 2026-10-20 14:03:10
[2026-10-20 14:03:10,346.346 INFO    ] 2026-10-20 14:03:10
[2026-10-20 14:03:10,400.400 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:03:10,626.626 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:03:10,632.632 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:03:10,850.850 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:03:10,887.887 INFO    ] time= 20/10/2026 14:03:10
[2026-10-20 14:03:10,893.893 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:03:10,913.913 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:03:11,040.040 INFO    ] No existing commands found in stream
[2026-10-20 14:03:16,053.053 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:03:16,056.056 INFO    ] Waiting 3.76 seconds before fallback handling...
[2026-10-20 14:03:20,320.320 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:03:20,323.323 INFO    ] Checking for system updates...
[2026-10-20 14:03:20,361.361 INFO    ] 200
[2026-10-20 14:03:20,363.363 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:03:20,416.416 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:03:20,419.419 INFO    ] No update needed
[2026-10-20 14:03:20,421.421 INFO    ] Checking for camera pi updates...
[2026-10-20 14:03:20,455.455 INFO    ] 200
[2026-10-20 14:03:20,457.457 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:03:20,501.501 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:03:20,558.558 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:03:20,560.560 INFO    ] No camera update needed
[2026-10-20 14:03:20,563.563 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:03:20,565.565 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:03:20,570.570 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:03:20,575.575 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:03:22,616.616 INFO    ] ================================================
[2026-10-20 14:03:22,631.631 INFO    ] Launching Daemon at Tue Oct 20 14:03:22 IST 2026
[2026-10-20 14:03:22,642.642 INFO    ] ================================================
[2026-10-20 14:03:23,269.269 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:03:23
[2026-10-20 14:03:23,916.916 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:03:24,212.212 INFO    ] Initializing speech engine...
[2026-10-20 14:03:24,218.218 INFO    ] 2026-10-20 14:03:24
[2026-10-20 14:03:24,493.493 INFO    ] 2026-10-20 14:03:24
[2026-10-20 14:03:24,548.548 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:03:24,840.840 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:03:24,849.849 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:03:25,049.049 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:03:25,056.056 INFO    ] time= 20/10/2026 14:03:25
[2026-10-20 14:03:25,077.077 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:03:25,105.105 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:03:25,248.248 INFO    ] No existing commands found in stream
[2026-10-20 14:03:30,279.279 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:03:30,282.282 INFO    ] Waiting 3.86 seconds before fallback handling...
[2026-10-20 14:03:34,649.649 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:03:34,652.652 INFO    ] Checking for system updates...
[2026-10-20 14:03:34,691.691 INFO    ] 200
[2026-10-20 14:03:34,694.694 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:03:34,752.752 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:03:34,755.755 INFO    ] No update needed
[2026-10-20 14:03:34,758.758 INFO    ] Checking for camera pi updates...
[2026-10-20 14:03:34,791.791 INFO    ] 200
[2026-10-20 14:03:34,794.794 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:03:34,839.839 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:03:34,888.888 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:03:34,891.891 INFO    ] No camera update needed
[2026-10-20 14:03:34,893.893 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:03:34,896.896 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:03:34,902.902 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:03:34,908.908 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:03:36,949.949 INFO    ] ================================================
[2026-10-20 14:03:36,964.964 INFO    ] Launching Daemon at Tue Oct 20 14:03:36 IST 2026
[2026-10-20 14:03:36,975.975 INFO    ] ================================================
[2026-10-20 14:03:37,611.611 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:03:37
[2026-10-20 14:03:38,262.262 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:03:38,558.558 INFO    ] Initializing speech engine...
[2026-10-20 14:03:38,571.571 INFO    ] 2026-10-20 14:03:38
[2026-10-20 14:03:38,836.836 INFO    ] 2026-10-20 14:03:38
[2026-10-20 14:03:38,871.871 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:03:39,147.147 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:03:39,165.165 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:03:39,330.330 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:03:39,395.395 INFO    ] time= 20/10/2026 14:03:39
[2026-10-20 14:03:39,408.408 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:03:39,430.430 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:03:39,560.560 INFO    ] No existing commands found in stream
[2026-10-20 14:03:44,583.583 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:03:44,586.586 INFO    ] Waiting 3.87 seconds before fallback handling...
[2026-10-20 14:03:49,008.008 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:03:49,011.011 INFO    ] Checking for system updates...
[2026-10-20 14:03:49,048.048 INFO    ] 200
[2026-10-20 14:03:49,051.051 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:03:49,103.103 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:03:49,106.106 INFO    ] No update needed
[2026-10-20 14:03:49,109.109 INFO    ] Checking for camera pi updates...
[2026-10-20 14:03:49,143.143 INFO    ] 200
[2026-10-20 14:03:49,146.146 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:03:49,187.187 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:03:49,233.233 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:03:49,236.236 INFO    ] No camera update needed
[2026-10-20 14:03:49,238.238 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:03:49,241.241 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:03:49,247.247 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:03:49,253.253 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:03:51,294.294 INFO    ] ================================================
[2026-10-20 14:03:51,309.309 INFO    ] Launching Daemon at Tue Oct 20 14:03:51 IST 2026
[2026-10-20 14:03:51,320.320 INFO    ] ================================================
[2026-10-20 14:03:51,900.900 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:03:51
[2026-10-20 14:03:52,502.502 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:03:52,762.762 INFO    ] Initializing speech engine...
[2026-10-20 14:03:52,768.768 INFO    ] 2026-10-20 14:03:52
[2026-10-20 14:03:53,059.059 INFO    ] 2026-10-20 14:03:53
[2026-10-20 14:03:53,096.096 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:03:53,370.370 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:03:53,389.389 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:03:53,538.538 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:03:53,588.588 INFO    ] time= 20/10/2026 14:03:53
[2026-10-20 14:03:53,632.632 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:03:53,680.680 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:03:53,821.821 INFO    ] No existing commands found in stream
[2026-10-20 14:03:58,853.853 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:03:58,856.856 INFO    ] Waiting 2.10 seconds before fallback handling...
[2026-10-20 14:04:02,086.086 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:04:02,090.090 INFO    ] Checking for system updates...
[2026-10-20 14:04:02,134.134 INFO    ] 200
[2026-10-20 14:04:02,137.137 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:04:02,207.207 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:04:02,220.220 INFO    ] No update needed
[2026-10-20 14:04:02,223.223 INFO    ] Checking for camera pi updates...
[2026-10-20 14:04:02,266.266 INFO    ] 200
[2026-10-20 14:04:02,268.268 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:04:02,319.319 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:04:02,353.353 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:04:02,355.355 INFO    ] No camera update needed
[2026-10-20 14:04:02,358.358 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:04:02,361.361 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:04:02,367.367 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:04:02,374.374 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:04:04,417.417 INFO    ] ================================================
[2026-10-20 14:04:04,432.432 INFO    ] Launching Daemon at Tue Oct 20 14:04:04 IST 2026
[2026-10-20 14:04:04,443.443 INFO    ] ================================================
[2026-10-20 14:04:05,085.085 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:04:05
[2026-10-20 14:04:05,749.749 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:04:06,053.053 INFO    ] Initializing speech engine...
[2026-10-20 14:04:06,061.061 INFO    ] 2026-10-20 14:04:06
[2026-10-20 14:04:06,351.351 INFO    ] 2026-10-20 14:04:06
[2026-10-20 14:04:06,399.399 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:04:06,642.642 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:04:06,649.649 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:04:06,870.870 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:04:06,915.915 INFO    ] time= 20/10/2026 14:04:06
[2026-10-20 14:04:06,922.922 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:04:06,939.939 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:04:07,044.044 INFO    ] No existing commands found in stream
[2026-10-20 14:04:12,066.066 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:04:12,069.069 INFO    ] Waiting 0.85 seconds before fallback handling...
[2026-10-20 14:04:13,468.468 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 14:04:13,471.471 INFO    ] Checking for system updates...
[2026-10-20 14:04:13,507.507 INFO    ] 200
[2026-10-20 14:04:13,511.511 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:04:13,571.571 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:04:13,574.574 INFO    ] No update needed
[2026-10-20 14:04:13,577.577 INFO    ] Checking for camera pi updates...
[2026-10-20 14:04:13,614.614 INFO    ] 200
[2026-10-20 14:04:13,617.617 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:04:13,658.658 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:04:13,714.714 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:04:13,717.717 INFO    ] No camera update needed
[2026-10-20 14:04:13,720.720 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:04:13,723.723 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:04:13,729.729 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:04:13,735.735 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:04:15,777.777 INFO    ] ================================================
[2026-10-20 14:04:15,792.792 INFO    ] Launching Daemon at Tue Oct 20 14:04:15 IST 2026
[2026-10-20 14:04:15,802.802 INFO    ] ================================================
[2026-10-20 14:04:16,374.374 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:04:16
[2026-10-20 14:04:16,957.957 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:04:17,219.219 INFO    ] Initializing speech engine...
[2026-10-20 14:04:17,242.242 INFO    ] 2026-10-20 14:04:17
[2026-10-20 14:04:17,517.517 INFO    ] 2026-10-20 14:04:17
[2026-10-20 14:04:17,561.561 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:04:17,843.843 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:04:17,850.850 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:04:18,066.066 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:04:18,092.092 INFO    ] time= 20/10/2026 14:04:18
[2026-10-20 14:04:18,099.099 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:04:18,121.121 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:04:18,254.254 INFO    ] No existing commands found in stream
[2026-10-20 14:04:23,278.278 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:04:23,281.281 INFO    ] Waiting 3.43 seconds before fallback handling...
[2026-10-20 14:04:27,254.254 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:04:27,257.257 INFO    ] Checking for system updates...
[2026-10-20 14:04:27,294.294 INFO    ] 200
[2026-10-20 14:04:27,297.297 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:04:27,370.370 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:04:27,374.374 INFO    ] No update needed
[2026-10-20 14:04:27,376.376 INFO    ] Checking for camera pi updates...
[2026-10-20 14:04:27,411.411 INFO    ] 200
[2026-10-20 14:04:27,414.414 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:04:27,460.460 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:04:27,498.498 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:04:27,500.500 INFO    ] No camera update needed
[2026-10-20 14:04:27,503.503 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:04:27,505.505 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:04:27,510.510 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:04:27,515.515 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:04:29,556.556 INFO    ] ================================================
[2026-10-20 14:04:29,571.571 INFO    ] Launching Daemon at Tue Oct 20 14:04:29 IST 2026
[2026-10-20 14:04:29,581.581 INFO    ] ================================================
[2026-10-20 14:04:30,168.168 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:04:30
[2026-10-20 14:04:30,774.774 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:04:31,050.050 INFO    ] Initializing speech engine...
[2026-10-20 14:04:31,060.060 INFO    ] 2026-10-20 14:04:31
[2026-10-20 14:04:31,327.327 INFO    ] 2026-10-20 14:04:31
[2026-10-20 14:04:31,394.394 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:04:31,630.630 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:04:31,636.636 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:04:31,847.847 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:04:31,910.910 INFO    ] time= 20/10/2026 14:04:31
[2026-10-20 14:04:31,930.930 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:04:31,944.944 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:04:32,083.083 INFO    ] No existing commands found in stream
[2026-10-20 14:04:37,119.119 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:04:37,122.122 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-10-20 14:04:39,413.413 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:04:39,416.416 INFO    ] Checking for system updates...
[2026-10-20 14:04:39,453.453 INFO    ] 200
[2026-10-20 14:04:39,456.456 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:04:39,515.515 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:04:39,518.518 INFO    ] No update needed
[2026-10-20 14:04:39,521.521 INFO    ] Checking for camera pi updates...
[2026-10-20 14:04:39,559.559 INFO    ] 200
[2026-10-20 14:04:39,562.562 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:04:39,609.609 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:04:39,755.755 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:04:39,757.757 INFO    ] No camera update needed
[2026-10-20 14:04:39,760.760 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:04:39,763.763 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:04:39,769.769 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:04:39,775.775 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:04:41,817.817 INFO    ] ================================================
[2026-10-20 14:04:41,832.832 INFO    ] Launching Daemon at Tue Oct 20 14:04:41 IST 2026
[2026-10-20 14:04:41,843.843 INFO    ] ================================================
[2026-10-20 14:04:42,502.502 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:04:42
[2026-10-20 14:04:43,181.181 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:04:43,494.494 INFO    ] Initializing speech engine...
[2026-10-20 14:04:43,504.504 INFO    ] 2026-10-20 14:04:43
[2026-10-20 14:04:43,820.820 INFO    ] 2026-10-20 14:04:43
[2026-10-20 14:04:43,905.905 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:04:44,130.130 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:04:44,135.135 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:04:44,323.323 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:04:44,343.343 INFO    ] time= 20/10/2026 14:04:44
[2026-10-20 14:04:44,362.362 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:04:44,392.392 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:04:44,537.537 INFO    ] No existing commands found in stream
[2026-10-20 14:04:49,573.573 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:04:49,576.576 INFO    ] Waiting 3.89 seconds before fallback handling...
[2026-10-20 14:04:54,038.038 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:04:54,041.041 INFO    ] Checking for system updates...
[2026-10-20 14:04:54,078.078 INFO    ] 200
[2026-10-20 14:04:54,081.081 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:04:54,135.135 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:04:54,138.138 INFO    ] No update needed
[2026-10-20 14:04:54,141.141 INFO    ] Checking for camera pi updates...
[2026-10-20 14:04:54,175.175 INFO    ] 200
[2026-10-20 14:04:54,178.178 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:04:54,224.224 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:04:54,277.277 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:04:54,281.281 INFO    ] No camera update needed
[2026-10-20 14:04:54,284.284 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:04:54,286.286 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:04:54,293.293 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:04:54,298.298 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:04:56,340.340 INFO    ] ================================================
[2026-10-20 14:04:56,355.355 INFO    ] Launching Daemon at Tue Oct 20 14:04:56 IST 2026
[2026-10-20 14:04:56,366.366 INFO    ] ================================================
[2026-10-20 14:04:57,023.023 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:04:57
[2026-10-20 14:04:57,704.704 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:04:58,017.017 INFO    ] Initializing speech engine...
[2026-10-20 14:04:58,028.028 INFO    ] 2026-10-20 14:04:58
[2026-10-20 14:04:58,318.318 INFO    ] 2026-10-20 14:04:58
[2026-10-20 14:04:58,431.431 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:04:58,590.590 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:04:58,596.596 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:04:58,817.817 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:04:58,861.861 INFO    ] time= 20/10/2026 14:04:58
[2026-10-20 14:04:58,881.881 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:04:58,889.889 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:04:59,036.036 INFO    ] No existing commands found in stream
[2026-10-20 14:05:04,074.074 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:05:04,077.077 INFO    ] Waiting 2.19 seconds before fallback handling...
[2026-10-20 14:05:06,794.794 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:05:06,797.797 INFO    ] Checking for system updates...
[2026-10-20 14:05:06,834.834 INFO    ] 200
[2026-10-20 14:05:06,836.836 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:05:06,888.888 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:05:06,891.891 INFO    ] No update needed
[2026-10-20 14:05:06,893.893 INFO    ] Checking for camera pi updates...
[2026-10-20 14:05:06,926.926 INFO    ] 200
[2026-10-20 14:05:06,928.928 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:05:06,968.968 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:05:07,018.018 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:05:07,021.021 INFO    ] No camera update needed
[2026-10-20 14:05:07,023.023 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:05:07,025.025 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:05:07,032.032 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:05:07,037.037 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:05:09,077.077 INFO    ] ================================================
[2026-10-20 14:05:09,092.092 INFO    ] Launching Daemon at Tue Oct 20 14:05:09 IST 2026
[2026-10-20 14:05:09,103.103 INFO    ] ================================================
[2026-10-20 14:05:09,759.759 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:05:09
[2026-10-20 14:05:10,429.429 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:05:10,734.734 INFO    ] Initializing speech engine...
[2026-10-20 14:05:10,741.741 INFO    ] 2026-10-20 14:05:10
[2026-10-20 14:05:11,033.033 INFO    ] 2026-10-20 14:05:11
[2026-10-20 14:05:11,142.142 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:05:11,352.352 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:05:11,361.361 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:05:11,552.552 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:05:11,565.565 INFO    ] time= 20/10/2026 14:05:11
[2026-10-20 14:05:11,583.583 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:05:11,601.601 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:05:11,760.760 INFO    ] No existing commands found in stream
[2026-10-20 14:05:16,786.786 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:05:16,789.789 INFO    ] Waiting 1.65 seconds before fallback handling...
[2026-10-20 14:05:18,972.972 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 14:05:18,975.975 INFO    ] Checking for system updates...
[2026-10-20 14:05:19,011.011 INFO    ] 200
[2026-10-20 14:05:19,014.014 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:05:19,072.072 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:05:19,074.074 INFO    ] No update needed
[2026-10-20 14:05:19,077.077 INFO    ] Checking for camera pi updates...
[2026-10-20 14:05:19,110.110 INFO    ] 200
[2026-10-20 14:05:19,112.112 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:05:19,153.153 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:05:19,199.199 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:05:19,201.201 INFO    ] No camera update needed
[2026-10-20 14:05:19,204.204 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:05:19,206.206 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:05:19,211.211 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:05:19,216.216 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:05:21,256.256 INFO    ] ================================================
[2026-10-20 14:05:21,271.271 INFO    ] Launching Daemon at Tue Oct 20 14:05:21 IST 2026
[2026-10-20 14:05:21,281.281 INFO    ] ================================================
[2026-10-20 14:05:21,868.868 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:05:21
[2026-10-20 14:05:22,468.468 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:05:22,727.727 INFO    ] Initializing speech engine...
[2026-10-20 14:05:22,736.736 INFO    ] 2026-10-20 14:05:22
[2026-10-20 14:05:23,027.027 INFO    ] 2026-10-20 14:05:22
[2026-10-20 14:05:23,062.062 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:05:23,289.289 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:05:23,344.344 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:05:23,513.513 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:05:23,550.550 INFO    ] time= 20/10/2026 14:05:23
[2026-10-20 14:05:23,599.599 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:05:23,653.653 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:05:23,794.794 INFO    ] No existing commands found in stream
[2026-10-20 14:05:28,812.812 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:05:28,814.814 INFO    ] Waiting 2.38 seconds before fallback handling...
[2026-10-20 14:05:31,723.723 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:05:31,725.725 INFO    ] Checking for system updates...
[2026-10-20 14:05:31,763.763 INFO    ] 200
[2026-10-20 14:05:31,765.765 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:05:31,827.827 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:05:31,830.830 INFO    ] No update needed
[2026-10-20 14:05:31,833.833 INFO    ] Checking for camera pi updates...
[2026-10-20 14:05:31,871.871 INFO    ] 200
[2026-10-20 14:05:31,875.875 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:05:31,926.926 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:05:31,965.965 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:05:31,967.967 INFO    ] No camera update needed
[2026-10-20 14:05:31,970.970 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:05:31,973.973 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:05:31,979.979 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:05:31,985.985 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:05:34,025.025 INFO    ] ================================================
[2026-10-20 14:05:34,040.040 INFO    ] Launching Daemon at Tue Oct 20 14:05:34 IST 2026
[2026-10-20 14:05:34,050.050 INFO    ] ================================================
[2026-10-20 14:05:34,631.631 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:05:34
[2026-10-20 14:05:35,231.231 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:05:35,510.510 INFO    ] Initializing speech engine...
[2026-10-20 14:05:35,515.515 INFO    ] 2026-10-20 14:05:35
[2026-10-20 14:05:35,775.775 INFO    ] 2026-10-20 14:05:35
[2026-10-20 14:05:35,805.805 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:05:36,051.051 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:05:36,060.060 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:05:36,276.276 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:05:36,318.318 INFO    ] time= 20/10/2026 14:05:36
[2026-10-20 14:05:36,324.324 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:05:36,342.342 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:05:36,467.467 INFO    ] No existing commands found in stream
[2026-10-20 14:05:41,484.484 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:05:41,487.487 INFO    ] Waiting 3.08 seconds before fallback handling...
[2026-10-20 14:05:45,120.120 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 14:05:45,123.123 INFO    ] Checking for system updates...
[2026-10-20 14:05:45,163.163 INFO    ] 200
[2026-10-20 14:05:45,166.166 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:05:45,224.224 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:05:45,227.227 INFO    ] No update needed
[2026-10-20 14:05:45,229.229 INFO    ] Checking for camera pi updates...
[2026-10-20 14:05:45,263.263 INFO    ] 200
[2026-10-20 14:05:45,265.265 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:05:45,306.306 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:05:45,361.361 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:05:45,363.363 INFO    ] No camera update needed
[2026-10-20 14:05:45,365.365 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:05:45,367.367 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:05:45,373.373 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:05:45,378.378 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:05:47,419.419 INFO    ] ================================================
[2026-10-20 14:05:47,434.434 INFO    ] Launching Daemon at Tue Oct 20 14:05:47 IST 2026
[2026-10-20 14:05:47,445.445 INFO    ] ================================================
[2026-10-20 14:05:48,100.100 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:05:48
[2026-10-20 14:05:48,770.770 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:05:49,079.079 INFO    ] Initializing speech engine...
[2026-10-20 14:05:49,091.091 INFO    ] 2026-10-20 14:05:49
[2026-10-20 14:05:49,381.381 INFO    ] 2026-10-20 14:05:49
[2026-10-20 14:05:49,495.495 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:05:49,714.714 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:05:49,719.719 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:05:49,912.912 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:05:49,929.929 INFO    ] time= 20/10/2026 14:05:49
[2026-10-20 14:05:49,948.948 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:05:49,977.977 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:05:50,088.088 INFO    ] No existing commands found in stream
[2026-10-20 14:05:55,119.119 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:05:55,122.122 INFO    ] Waiting 0.59 seconds before fallback handling...
[2026-10-20 14:05:56,238.238 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:05:56,241.241 INFO    ] Checking for system updates...
[2026-10-20 14:05:56,277.277 INFO    ] 200
[2026-10-20 14:05:56,280.280 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:05:56,335.335 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:05:56,337.337 INFO    ] No update needed
[2026-10-20 14:05:56,340.340 INFO    ] Checking for camera pi updates...
[2026-10-20 14:05:56,379.379 INFO    ] 200
[2026-10-20 14:05:56,382.382 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:05:56,422.422 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:05:56,477.477 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:05:56,479.479 INFO    ] No camera update needed
[2026-10-20 14:05:56,482.482 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:05:56,484.484 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:05:56,490.490 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:05:56,495.495 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:05:58,534.534 INFO    ] ================================================
[2026-10-20 14:05:58,549.549 INFO    ] Launching Daemon at Tue Oct 20 14:05:58 IST 2026
[2026-10-20 14:05:58,559.559 INFO    ] ================================================
[2026-10-20 14:05:59,217.217 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:05:59
[2026-10-20 14:05:59,895.895 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:06:00,200.200 INFO    ] Initializing speech engine...
[2026-10-20 14:06:00,212.212 INFO    ] 2026-10-20 14:06:00
[2026-10-20 14:06:00,496.496 INFO    ] 2026-10-20 14:06:00
[2026-10-20 14:06:00,535.535 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:06:00,820.820 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:06:00,826.826 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:06:01,021.021 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:06:01,028.028 INFO    ] time= 20/10/2026 14:06:01
[2026-10-20 14:06:01,049.049 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:06:01,075.075 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:06:01,223.223 INFO    ] No existing commands found in stream
[2026-10-20 14:06:06,254.254 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:06:06,257.257 INFO    ] Waiting 1.86 seconds before fallback handling...
[2026-10-20 14:06:08,678.678 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 14:06:08,681.681 INFO    ] Checking for system updates...
[2026-10-20 14:06:08,724.724 INFO    ] 200
[2026-10-20 14:06:08,727.727 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:06:08,781.781 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:06:08,784.784 INFO    ] No update needed
[2026-10-20 14:06:08,787.787 INFO    ] Checking for camera pi updates...
[2026-10-20 14:06:08,825.825 INFO    ] 200
[2026-10-20 14:06:08,828.828 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:06:08,874.874 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:06:08,924.924 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:06:08,926.926 INFO    ] No camera update needed
[2026-10-20 14:06:08,929.929 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:06:08,931.931 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:06:08,937.937 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:06:08,942.942 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:06:10,981.981 INFO    ] ================================================
[2026-10-20 14:06:11,997.997 INFO    ] Launching Daemon at Tue Oct 20 14:06:10 IST 2026
[2026-10-20 14:06:11,007.007 INFO    ] ================================================
[2026-10-20 14:06:11,570.570 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:06:11
[2026-10-20 14:06:12,152.152 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:06:12,396.396 INFO    ] Initializing speech engine...
[2026-10-20 14:06:12,411.411 INFO    ] 2026-10-20 14:06:12
[2026-10-20 14:06:12,670.670 INFO    ] 2026-10-20 14:06:12
[2026-10-20 14:06:12,706.706 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:06:12,913.913 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:06:12,916.916 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:06:13,126.126 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:06:13,134.134 INFO    ] time= 20/10/2026 14:06:13
[2026-10-20 14:06:13,156.156 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:06:13,185.185 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:06:13,322.322 INFO    ] No existing commands found in stream
[2026-10-20 14:06:18,334.334 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:06:18,337.337 INFO    ] Waiting 1.68 seconds before fallback handling...
[2026-10-20 14:06:20,566.566 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 14:06:20,569.569 INFO    ] Checking for system updates...
[2026-10-20 14:06:20,609.609 INFO    ] 200
[2026-10-20 14:06:20,612.612 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:06:20,673.673 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:06:20,676.676 INFO    ] No update needed
[2026-10-20 14:06:20,679.679 INFO    ] Checking for camera pi updates...
[2026-10-20 14:06:20,717.717 INFO    ] 200
[2026-10-20 14:06:20,721.721 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:06:20,762.762 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:06:20,819.819 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:06:20,822.822 INFO    ] No camera update needed
[2026-10-20 14:06:20,825.825 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:06:20,827.827 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:06:20,834.834 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:06:20,840.840 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:06:22,881.881 INFO    ] ================================================
[2026-10-20 14:06:22,896.896 INFO    ] Launching Daemon at Tue Oct 20 14:06:22 IST 2026
[2026-10-20 14:06:22,907.907 INFO    ] ================================================
[2026-10-20 14:06:23,476.476 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:06:23
[2026-10-20 14:06:24,061.061 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:06:24,329.329 INFO    ] Initializing speech engine...
[2026-10-20 14:06:24,337.337 INFO    ] 2026-10-20 14:06:24
[2026-10-20 14:06:24,585.585 INFO    ] 2026-10-20 14:06:24
[2026-10-20 14:06:24,626.626 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:06:24,875.875 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:06:24,880.880 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:06:25,110.110 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:06:25,140.140 INFO    ] time= 20/10/2026 14:06:25
[2026-10-20 14:06:25,145.145 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:06:25,166.166 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:06:25,292.292 INFO    ] No existing commands found in stream
[2026-10-20 14:06:30,307.307 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:06:30,310.310 INFO    ] Waiting 2.90 seconds before fallback handling...
[2026-10-20 14:06:33,762.762 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:06:33,764.764 INFO    ] Checking for system updates...
[2026-10-20 14:06:33,800.800 INFO    ] 200
[2026-10-20 14:06:33,802.802 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:06:33,856.856 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:06:33,858.858 INFO    ] No update needed
[2026-10-20 14:06:33,861.861 INFO    ] Checking for camera pi updates...
[2026-10-20 14:06:33,894.894 INFO    ] 200
[2026-10-20 14:06:33,896.896 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:06:33,936.936 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:06:34,002.002 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:06:34,004.004 INFO    ] No camera update needed
[2026-10-20 14:06:34,006.006 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:06:34,009.009 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:06:34,014.014 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:06:34,019.019 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:06:36,062.062 INFO    ] ================================================
[2026-10-20 14:06:36,077.077 INFO    ] Launching Daemon at Tue Oct 20 14:06:36 IST 2026
[2026-10-20 14:06:36,087.087 INFO    ] ================================================
[2026-10-20 14:06:36,677.677 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:06:36
[2026-10-20 14:06:37,289.289 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:06:37,557.557 INFO    ] Initializing speech engine...
[2026-10-20 14:06:37,564.564 INFO    ] 2026-10-20 14:06:37
[2026-10-20 14:06:37,868.868 INFO    ] 2026-10-20 14:06:37
[2026-10-20 14:06:37,921.921 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:06:38,139.139 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:06:38,148.148 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:06:38,375.375 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:06:38,382.382 INFO    ] time= 20/10/2026 14:06:38
[2026-10-20 14:06:38,401.401 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:06:38,461.461 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:06:38,590.590 INFO    ] No existing commands found in stream
[2026-10-20 14:06:43,602.602 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:06:43,605.605 INFO    ] Waiting 1.07 seconds before fallback handling...
[2026-10-20 14:06:45,214.214 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:06:45,217.217 INFO    ] Checking for system updates...
[2026-10-20 14:06:45,254.254 INFO    ] 200
[2026-10-20 14:06:45,258.258 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:06:45,312.312 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:06:45,315.315 INFO    ] No update needed
[2026-10-20 14:06:45,318.318 INFO    ] Checking for camera pi updates...
[2026-10-20 14:06:45,353.353 INFO    ] 200
[2026-10-20 14:06:45,356.356 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:06:45,397.397 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:06:45,542.542 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:06:45,545.545 INFO    ] No camera update needed
[2026-10-20 14:06:45,548.548 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:06:45,551.551 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:06:45,557.557 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:06:45,563.563 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:06:47,605.605 INFO    ] ================================================
[2026-10-20 14:06:47,621.621 INFO    ] Launching Daemon at Tue Oct 20 14:06:47 IST 2026
[2026-10-20 14:06:47,632.632 INFO    ] ================================================
[2026-10-20 14:06:48,212.212 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:06:48
[2026-10-20 14:06:48,813.813 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:06:49,077.077 INFO    ] Initializing speech engine...
[2026-10-20 14:06:49,096.096 INFO    ] 2026-10-20 14:06:49
[2026-10-20 14:06:49,352.352 INFO    ] 2026-10-20 14:06:49
[2026-10-20 14:06:49,394.394 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:06:49,646.646 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:06:49,652.652 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:06:49,885.885 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:06:49,912.912 INFO    ] time= 20/10/2026 14:06:49
[2026-10-20 14:06:49,928.928 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:06:49,936.936 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:06:50,063.063 INFO    ] No existing commands found in stream
[2026-10-20 14:06:55,078.078 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:06:55,081.081 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-10-20 14:06:56,227.227 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 14:06:56,229.229 INFO    ] Checking for system updates...
[2026-10-20 14:06:56,265.265 INFO    ] 200
[2026-10-20 14:06:56,268.268 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:06:56,321.321 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:06:56,323.323 INFO    ] No update needed
[2026-10-20 14:06:56,325.325 INFO    ] Checking for camera pi updates...
[2026-10-20 14:06:56,359.359 INFO    ] 200
[2026-10-20 14:06:56,361.361 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:06:56,401.401 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:06:56,450.450 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:06:56,452.452 INFO    ] No camera update needed
[2026-10-20 14:06:56,454.454 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:06:56,456.456 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:06:56,462.462 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:06:56,467.467 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:06:58,509.509 INFO    ] ================================================
[2026-10-20 14:06:58,524.524 INFO    ] Launching Daemon at Tue Oct 20 14:06:58 IST 2026
[2026-10-20 14:06:58,535.535 INFO    ] ================================================
[2026-10-20 14:06:59,207.207 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:06:59
[2026-10-20 14:06:59,896.896 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:07:00,217.217 INFO    ] Initializing speech engine...
[2026-10-20 14:07:00,226.226 INFO    ] 2026-10-20 14:07:00
[2026-10-20 14:07:00,533.533 INFO    ] 2026-10-20 14:07:00
[2026-10-20 14:07:00,620.620 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:07:00,833.833 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:07:00,839.839 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:07:01,033.033 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:07:01,052.052 INFO    ] time= 20/10/2026 14:07:01
[2026-10-20 14:07:01,062.062 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:07:01,091.091 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:07:01,245.245 INFO    ] No existing commands found in stream
[2026-10-20 14:07:06,281.281 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:07:06,284.284 INFO    ] Waiting 1.76 seconds before fallback handling...
[2026-10-20 14:07:08,580.580 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 14:07:08,583.583 INFO    ] Checking for system updates...
[2026-10-20 14:07:08,624.624 INFO    ] 200
[2026-10-20 14:07:08,627.627 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:07:08,687.687 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:07:08,690.690 INFO    ] No update needed
[2026-10-20 14:07:08,693.693 INFO    ] Checking for camera pi updates...
[2026-10-20 14:07:08,730.730 INFO    ] 200
[2026-10-20 14:07:08,733.733 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:07:08,774.774 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:07:08,832.832 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:07:08,835.835 INFO    ] No camera update needed
[2026-10-20 14:07:08,837.837 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:07:08,840.840 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:07:08,846.846 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:07:08,852.852 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:07:10,895.895 INFO    ] ================================================
[2026-10-20 14:07:10,910.910 INFO    ] Launching Daemon at Tue Oct 20 14:07:10 IST 2026
[2026-10-20 14:07:10,921.921 INFO    ] ================================================
[2026-10-20 14:07:11,508.508 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:07:11
[2026-10-20 14:07:12,115.115 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:07:12,375.375 INFO    ] Initializing speech engine...
[2026-10-20 14:07:12,384.384 INFO    ] 2026-10-20 14:07:12
[2026-10-20 14:07:12,677.677 INFO    ] 2026-10-20 14:07:12
[2026-10-20 14:07:12,715.715 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:07:12,994.994 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:07:13,009.009 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:07:13,245.245 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:07:13,314.314 INFO    ] time= 20/10/2026 14:07:13
[2026-10-20 14:07:13,320.320 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:07:13,344.344 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:07:13,497.497 INFO    ] No existing commands found in stream
[2026-10-20 14:07:18,509.509 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:07:18,512.512 INFO    ] Waiting 1.96 seconds before fallback handling...
[2026-10-20 14:07:21,027.027 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 14:07:21,030.030 INFO    ] Checking for system updates...
[2026-10-20 14:07:21,067.067 INFO    ] 200
[2026-10-20 14:07:21,069.069 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:07:21,124.124 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:07:21,127.127 INFO    ] No update needed
[2026-10-20 14:07:21,130.130 INFO    ] Checking for camera pi updates...
[2026-10-20 14:07:21,164.164 INFO    ] 200
[2026-10-20 14:07:21,167.167 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:07:21,207.207 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:07:21,258.258 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:07:21,261.261 INFO    ] No camera update needed
[2026-10-20 14:07:21,263.263 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:07:21,266.266 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:07:21,272.272 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:07:21,278.278 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:07:23,320.320 INFO    ] ================================================
[2026-10-20 14:07:23,335.335 INFO    ] Launching Daemon at Tue Oct 20 14:07:23 IST 2026
[2026-10-20 14:07:23,345.345 INFO    ] ================================================
[2026-10-20 14:07:23,918.918 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:07:23
[2026-10-20 14:07:24,506.506 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:07:24,763.763 INFO    ] Initializing speech engine...
[2026-10-20 14:07:24,769.769 INFO    ] 2026-10-20 14:07:24
[2026-10-20 14:07:25,063.063 INFO    ] 2026-10-20 14:07:25
[2026-10-20 14:07:25,098.098 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:07:25,297.297 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:07:25,313.313 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:07:25,479.479 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:07:25,484.484 INFO    ] time= 20/10/2026 14:07:25
[2026-10-20 14:07:25,491.491 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:07:25,522.522 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:07:25,678.678 INFO    ] No existing commands found in stream
[2026-10-20 14:07:30,703.703 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:07:30,706.706 INFO    ] Waiting 1.90 seconds before fallback handling...
[2026-10-20 14:07:33,146.146 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:07:33,149.149 INFO    ] Checking for system updates...
[2026-10-20 14:07:33,185.185 INFO    ] 200
[2026-10-20 14:07:33,187.187 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:07:33,240.240 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:07:33,242.242 INFO    ] No update needed
[2026-10-20 14:07:33,245.245 INFO    ] Checking for camera pi updates...
[2026-10-20 14:07:33,278.278 INFO    ] 200
[2026-10-20 14:07:33,281.281 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:07:33,321.321 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:07:33,368.368 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:07:33,371.371 INFO    ] No camera update needed
[2026-10-20 14:07:33,373.373 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:07:33,376.376 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:07:33,381.381 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:07:33,386.386 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:07:35,429.429 INFO    ] ================================================
[2026-10-20 14:07:35,444.444 INFO    ] Launching Daemon at Tue Oct 20 14:07:35 IST 2026
[2026-10-20 14:07:35,455.455 INFO    ] ================================================
[2026-10-20 14:07:36,057.057 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:07:36
[2026-10-20 14:07:36,678.678 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:07:36,972.972 INFO    ] Initializing speech engine...
[2026-10-20 14:07:36,982.982 INFO    ] 2026-10-20 14:07:36
[2026-10-20 14:07:37,250.250 INFO    ] 2026-10-20 14:07:37
[2026-10-20 14:07:37,281.281 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:07:37,533.533 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:07:37,543.543 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:07:37,733.733 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:07:37,793.793 INFO    ] time= 20/10/2026 14:07:37
[2026-10-20 14:07:37,813.813 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:07:37,830.830 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:07:37,957.957 INFO    ] No existing commands found in stream
[2026-10-20 14:07:42,979.979 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:07:42,982.982 INFO    ] Waiting 2.13 seconds before fallback handling...
[2026-10-20 14:07:45,613.613 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:07:45,615.615 INFO    ] Checking for system updates...
[2026-10-20 14:07:45,656.656 INFO    ] 200
[2026-10-20 14:07:45,659.659 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:07:45,717.717 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:07:45,720.720 INFO    ] No update needed
[2026-10-20 14:07:45,723.723 INFO    ] Checking for camera pi updates...
[2026-10-20 14:07:45,759.759 INFO    ] 200
[2026-10-20 14:07:45,762.762 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:07:45,807.807 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:07:45,867.867 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:07:45,870.870 INFO    ] No camera update needed
[2026-10-20 14:07:45,873.873 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:07:45,876.876 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:07:45,882.882 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:07:45,887.887 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:07:47,928.928 INFO    ] ================================================
[2026-10-20 14:07:47,943.943 INFO    ] Launching Daemon at Tue Oct 20 14:07:47 IST 2026
[2026-10-20 14:07:47,954.954 INFO    ] ================================================
[2026-10-20 14:07:48,551.551 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:07:48
[2026-10-20 14:07:49,160.160 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:07:49,421.421 INFO    ] Initializing speech engine...
[2026-10-20 14:07:49,437.437 INFO    ] 2026-10-20 14:07:49
[2026-10-20 14:07:49,696.696 INFO    ] 2026-10-20 14:07:49
[2026-10-20 14:07:49,730.730 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:07:49,935.935 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:07:49,982.982 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:07:50,139.139 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:07:50,186.186 INFO    ] time= 20/10/2026 14:07:50
[2026-10-20 14:07:50,241.241 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:07:50,281.281 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:07:50,416.416 INFO    ] No existing commands found in stream
[2026-10-20 14:07:55,442.442 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:07:55,444.444 INFO    ] Waiting 0.86 seconds before fallback handling...
[2026-10-20 14:07:56,822.822 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:07:56,825.825 INFO    ] Checking for system updates...
[2026-10-20 14:07:56,861.861 INFO    ] 200
[2026-10-20 14:07:56,863.863 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:07:56,914.914 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:07:56,917.917 INFO    ] No update needed
[2026-10-20 14:07:56,919.919 INFO    ] Checking for camera pi updates...
[2026-10-20 14:07:56,952.952 INFO    ] 200
[2026-10-20 14:07:56,955.955 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:07:56,995.995 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:07:57,045.045 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:07:57,047.047 INFO    ] No camera update needed
[2026-10-20 14:07:57,050.050 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:07:57,052.052 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:07:57,057.057 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:07:57,062.062 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:07:59,102.102 INFO    ] ================================================
[2026-10-20 14:07:59,117.117 INFO    ] Launching Daemon at Tue Oct 20 14:07:59 IST 2026
[2026-10-20 14:07:59,128.128 INFO    ] ================================================
[2026-10-20 14:07:59,712.712 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:07:59
[2026-10-20 14:08:00,322.322 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:08:00,571.571 INFO    ] Initializing speech engine...
[2026-10-20 14:08:00,579.579 INFO    ] 2026-10-20 14:08:00
[2026-10-20 14:08:00,876.876 INFO    ] 2026-10-20 14:08:00
[2026-10-20 14:08:00,914.914 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:08:01,155.155 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:08:01,206.206 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:08:01,362.362 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:08:01,373.373 INFO    ] time= 20/10/2026 14:08:01
[2026-10-20 14:08:01,418.418 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:08:01,479.479 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:08:01,575.575 INFO    ] No existing commands found in stream
[2026-10-20 14:08:06,586.586 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:08:06,588.588 INFO    ] Waiting 1.97 seconds before fallback handling...
[2026-10-20 14:08:09,170.170 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 14:08:09,173.173 INFO    ] Checking for system updates...
[2026-10-20 14:08:09,209.209 INFO    ] 200
[2026-10-20 14:08:09,212.212 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:08:09,265.265 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:08:09,267.267 INFO    ] No update needed
[2026-10-20 14:08:09,270.270 INFO    ] Checking for camera pi updates...
[2026-10-20 14:08:09,308.308 INFO    ] 200
[2026-10-20 14:08:09,310.310 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:08:09,351.351 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:08:09,400.400 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:08:09,402.402 INFO    ] No camera update needed
[2026-10-20 14:08:09,404.404 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:08:09,407.407 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:08:09,412.412 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:08:09,417.417 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:08:11,458.458 INFO    ] ================================================
[2026-10-20 14:08:11,473.473 INFO    ] Launching Daemon at Tue Oct 20 14:08:11 IST 2026
[2026-10-20 14:08:11,484.484 INFO    ] ================================================
[2026-10-20 14:08:12,061.061 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:08:12
[2026-10-20 14:08:12,656.656 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:08:12,929.929 INFO    ] Initializing speech engine...
[2026-10-20 14:08:12,938.938 INFO    ] 2026-10-20 14:08:12
[2026-10-20 14:08:13,191.191 INFO    ] 2026-10-20 14:08:13
[2026-10-20 14:08:13,226.226 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:08:13,469.469 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:08:13,477.477 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:08:13,631.631 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:08:13,673.673 INFO    ] time= 20/10/2026 14:08:13
[2026-10-20 14:08:13,728.728 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:08:13,766.766 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:08:13,905.905 INFO    ] No existing commands found in stream
[2026-10-20 14:08:18,926.926 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:08:18,929.929 INFO    ] Waiting 1.26 seconds before fallback handling...
[2026-10-20 14:08:20,710.710 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:08:20,712.712 INFO    ] Checking for system updates...
[2026-10-20 14:08:20,748.748 INFO    ] 200
[2026-10-20 14:08:20,751.751 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:08:20,802.802 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:08:20,805.805 INFO    ] No update needed
[2026-10-20 14:08:20,807.807 INFO    ] Checking for camera pi updates...
[2026-10-20 14:08:20,841.841 INFO    ] 200
[2026-10-20 14:08:20,843.843 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:08:20,883.883 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:08:20,937.937 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:08:20,940.940 INFO    ] No camera update needed
[2026-10-20 14:08:20,942.942 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:08:20,944.944 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:08:20,949.949 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:08:20,954.954 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:08:23,996.996 INFO    ] ================================================
[2026-10-20 14:08:23,011.011 INFO    ] Launching Daemon at Tue Oct 20 14:08:23 IST 2026
[2026-10-20 14:08:23,023.023 INFO    ] ================================================
[2026-10-20 14:08:23,647.647 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:08:23
[2026-10-20 14:08:24,245.245 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:08:24,561.561 INFO    ] Initializing speech engine...
[2026-10-20 14:08:24,572.572 INFO    ] 2026-10-20 14:08:24
[2026-10-20 14:08:24,865.865 INFO    ] 2026-10-20 14:08:24
[2026-10-20 14:08:24,903.903 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:08:25,142.142 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:08:25,164.164 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:08:25,326.326 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:08:25,333.333 INFO    ] time= 20/10/2026 14:08:25
[2026-10-20 14:08:25,340.340 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:08:25,354.354 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:08:25,510.510 INFO    ] No existing commands found in stream
[2026-10-20 14:08:30,540.540 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:08:30,543.543 INFO    ] Waiting 0.53 seconds before fallback handling...
[2026-10-20 14:08:31,586.586 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:08:31,589.589 INFO    ] Checking for system updates...
[2026-10-20 14:08:31,630.630 INFO    ] 200
[2026-10-20 14:08:31,633.633 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:08:31,695.695 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:08:31,698.698 INFO    ] No update needed
[2026-10-20 14:08:31,701.701 INFO    ] Checking for camera pi updates...
[2026-10-20 14:08:31,737.737 INFO    ] 200
[2026-10-20 14:08:31,740.740 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:08:31,785.785 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:08:31,818.818 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:08:31,821.821 INFO    ] No camera update needed
[2026-10-20 14:08:31,823.823 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:08:31,826.826 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:08:31,832.832 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:08:31,838.838 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:08:33,881.881 INFO    ] ================================================
[2026-10-20 14:08:33,896.896 INFO    ] Launching Daemon at Tue Oct 20 14:08:33 IST 2026
[2026-10-20 14:08:33,908.908 INFO    ] ================================================
[2026-10-20 14:08:34,575.575 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:08:34
[2026-10-20 14:08:35,262.262 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:08:35,575.575 INFO    ] Initializing speech engine...
[2026-10-20 14:08:35,590.590 INFO    ] 2026-10-20 14:08:35
[2026-10-20 14:08:35,906.906 INFO    ] 2026-10-20 14:08:35
[2026-10-20 14:08:35,995.995 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:08:36,215.215 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:08:36,222.222 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:08:36,419.419 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:08:36,437.437 INFO    ] time= 20/10/2026 14:08:36
[2026-10-20 14:08:36,448.448 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:08:36,474.474 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:08:36,590.590 INFO    ] No existing commands found in stream
[2026-10-20 14:08:41,611.611 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:08:41,614.614 INFO    ] Waiting 2.73 seconds before fallback handling...
[2026-10-20 14:08:44,892.892 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:08:44,895.895 INFO    ] Checking for system updates...
[2026-10-20 14:08:44,938.938 INFO    ] 200
[2026-10-20 14:08:44,941.941 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:08:45,003.003 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:08:45,006.006 INFO    ] No update needed
[2026-10-20 14:08:45,008.008 INFO    ] Checking for camera pi updates...
[2026-10-20 14:08:45,043.043 INFO    ] 200
[2026-10-20 14:08:45,045.045 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:08:45,085.085 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:08:45,131.131 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:08:45,133.133 INFO    ] No camera update needed
[2026-10-20 14:08:45,136.136 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:08:45,138.138 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:08:45,144.144 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:08:45,149.149 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:08:47,188.188 INFO    ] ================================================
[2026-10-20 14:08:47,203.203 INFO    ] Launching Daemon at Tue Oct 20 14:08:47 IST 2026
[2026-10-20 14:08:47,215.215 INFO    ] ================================================
[2026-10-20 14:08:47,781.781 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:08:47
[2026-10-20 14:08:48,365.365 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:08:48,627.627 INFO    ] Initializing speech engine...
[2026-10-20 14:08:48,645.645 INFO    ] 2026-10-20 14:08:48
[2026-10-20 14:08:48,895.895 INFO    ] 2026-10-20 14:08:48
[2026-10-20 14:08:48,938.938 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:08:49,193.193 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:08:49,197.197 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:08:49,394.394 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:08:49,453.453 INFO    ] time= 20/10/2026 14:08:49
[2026-10-20 14:08:49,464.464 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:08:49,470.470 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:08:49,620.620 INFO    ] No existing commands found in stream
[2026-10-20 14:08:54,632.632 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:08:54,634.634 INFO    ] Waiting 0.18 seconds before fallback handling...
[2026-10-20 14:08:55,325.325 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:08:55,327.327 INFO    ] Checking for system updates...
[2026-10-20 14:08:55,363.363 INFO    ] 200
[2026-10-20 14:08:55,365.365 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:08:55,418.418 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:08:55,421.421 INFO    ] No update needed
[2026-10-20 14:08:55,423.423 INFO    ] Checking for camera pi updates...
[2026-10-20 14:08:55,456.456 INFO    ] 200
[2026-10-20 14:08:55,459.459 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:08:55,499.499 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:08:55,656.656 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:08:55,658.658 INFO    ] No camera update needed
[2026-10-20 14:08:55,661.661 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:08:55,663.663 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:08:55,668.668 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:08:55,673.673 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:08:57,713.713 INFO    ] ================================================
[2026-10-20 14:08:57,729.729 INFO    ] Launching Daemon at Tue Oct 20 14:08:57 IST 2026
[2026-10-20 14:08:57,740.740 INFO    ] ================================================
[2026-10-20 14:08:58,401.401 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:08:58
[2026-10-20 14:08:59,084.084 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:08:59,391.391 INFO    ] Initializing speech engine...
[2026-10-20 14:08:59,405.405 INFO    ] 2026-10-20 14:08:59
[2026-10-20 14:08:59,690.690 INFO    ] 2026-10-20 14:08:59
[2026-10-20 14:08:59,730.730 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:08:59,957.957 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:08:59,962.962 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:09:00,183.183 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:09:00,222.222 INFO    ] time= 20/10/2026 14:09:00
[2026-10-20 14:09:00,241.241 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:09:00,270.270 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:09:00,425.425 INFO    ] No existing commands found in stream
[2026-10-20 14:09:05,451.451 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:09:05,454.454 INFO    ] Waiting 3.85 seconds before fallback handling...
[2026-10-20 14:09:09,875.875 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:09:09,878.878 INFO    ] Checking for system updates...
[2026-10-20 14:09:09,915.915 INFO    ] 200
[2026-10-20 14:09:09,918.918 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:09:09,972.972 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:09:09,975.975 INFO    ] No update needed
[2026-10-20 14:09:09,978.978 INFO    ] Checking for camera pi updates...
[2026-10-20 14:09:10,013.013 INFO    ] 200
[2026-10-20 14:09:10,017.017 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:09:10,058.058 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:09:10,105.105 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:09:10,108.108 INFO    ] No camera update needed
[2026-10-20 14:09:10,111.111 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:09:10,114.114 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:09:10,120.120 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:09:10,126.126 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:09:12,167.167 INFO    ] ================================================
[2026-10-20 14:09:12,183.183 INFO    ] Launching Daemon at Tue Oct 20 14:09:12 IST 2026
[2026-10-20 14:09:12,194.194 INFO    ] ================================================
[2026-10-20 14:09:12,765.765 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:09:12
[2026-10-20 14:09:13,358.358 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:09:13,629.629 INFO    ] Initializing speech engine...
[2026-10-20 14:09:13,636.636 INFO    ] 2026-10-20 14:09:13
[2026-10-20 14:09:13,937.937 INFO    ] 2026-10-20 14:09:13
[2026-10-20 14:09:13,976.976 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:09:14,204.204 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:09:14,243.243 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:09:14,441.441 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:09:14,457.457 INFO    ] time= 20/10/2026 14:09:14
[2026-10-20 14:09:14,527.527 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:09:14,577.577 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:09:14,741.741 INFO    ] No existing commands found in stream
[2026-10-20 14:09:19,766.766 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:09:19,769.769 INFO    ] Waiting 3.73 seconds before fallback handling...
[2026-10-20 14:09:24,060.060 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 14:09:24,063.063 INFO    ] Checking for system updates...
[2026-10-20 14:09:24,098.098 INFO    ] 200
[2026-10-20 14:09:24,100.100 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:09:24,160.160 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:09:24,162.162 INFO    ] No update needed
[2026-10-20 14:09:24,164.164 INFO    ] Checking for camera pi updates...
[2026-10-20 14:09:24,202.202 INFO    ] 200
[2026-10-20 14:09:24,205.205 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:09:24,245.245 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:09:24,293.293 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:09:24,295.295 INFO    ] No camera update needed
[2026-10-20 14:09:24,297.297 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:09:24,300.300 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:09:24,305.305 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:09:24,310.310 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:09:26,350.350 INFO    ] ================================================
[2026-10-20 14:09:26,366.366 INFO    ] Launching Daemon at Tue Oct 20 14:09:26 IST 2026
[2026-10-20 14:09:26,377.377 INFO    ] ================================================
[2026-10-20 14:09:26,948.948 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:09:26
[2026-10-20 14:09:27,533.533 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:09:27,794.794 INFO    ] Initializing speech engine...
[2026-10-20 14:09:27,814.814 INFO    ] 2026-10-20 14:09:27
[2026-10-20 14:09:28,064.064 INFO    ] 2026-10-20 14:09:28
[2026-10-20 14:09:28,099.099 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:09:28,358.358 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:09:28,367.367 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:09:28,563.563 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:09:28,617.617 INFO    ] time= 20/10/2026 14:09:28
[2026-10-20 14:09:28,636.636 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:09:28,658.658 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:09:28,810.810 INFO    ] No existing commands found in stream
[2026-10-20 14:09:33,841.841 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:09:33,844.844 INFO    ] Waiting 1.73 seconds before fallback handling...
[2026-10-20 14:09:36,109.109 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 14:09:36,112.112 INFO    ] Checking for system updates...
[2026-10-20 14:09:36,147.147 INFO    ] 200
[2026-10-20 14:09:36,149.149 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:09:36,202.202 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:09:36,204.204 INFO    ] No update needed
[2026-10-20 14:09:36,207.207 INFO    ] Checking for camera pi updates...
[2026-10-20 14:09:36,240.240 INFO    ] 200
[2026-10-20 14:09:36,243.243 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:09:36,283.283 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:09:36,332.332 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:09:36,335.335 INFO    ] No camera update needed
[2026-10-20 14:09:36,337.337 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:09:36,339.339 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:09:36,345.345 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:09:36,350.350 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:09:38,391.391 INFO    ] ================================================
[2026-10-20 14:09:38,407.407 INFO    ] Launching Daemon at Tue Oct 20 14:09:38 IST 2026
[2026-10-20 14:09:38,419.419 INFO    ] ================================================
[2026-10-20 14:09:38,996.996 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:09:38
[2026-10-20 14:09:39,581.581 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:09:39,853.853 INFO    ] Initializing speech engine...
[2026-10-20 14:09:39,863.863 INFO    ] 2026-10-20 14:09:39
[2026-10-20 14:09:40,114.114 INFO    ] 2026-10-20 14:09:40
[2026-10-20 14:09:40,148.148 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:09:40,352.352 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:09:40,410.410 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:09:40,628.628 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:09:40,683.683 INFO    ] time= 20/10/2026 14:09:40
[2026-10-20 14:09:40,690.690 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:09:40,704.704 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:09:40,848.848 INFO    ] No existing commands found in stream
[2026-10-20 14:09:45,874.874 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:09:45,876.876 INFO    ] Waiting 0.13 seconds before fallback handling...
[2026-10-20 14:09:46,544.544 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:09:46,547.547 INFO    ] Checking for system updates...
[2026-10-20 14:09:46,584.584 INFO    ] 200
[2026-10-20 14:09:46,586.586 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:09:46,638.638 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:09:46,640.640 INFO    ] No update needed
[2026-10-20 14:09:46,643.643 INFO    ] Checking for camera pi updates...
[2026-10-20 14:09:46,676.676 INFO    ] 200
[2026-10-20 14:09:46,679.679 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:09:46,719.719 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:09:46,771.771 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:09:46,774.774 INFO    ] No camera update needed
[2026-10-20 14:09:46,776.776 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:09:46,778.778 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:09:46,784.784 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:09:46,789.789 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:09:48,834.834 INFO    ] ================================================
[2026-10-20 14:09:48,849.849 INFO    ] Launching Daemon at Tue Oct 20 14:09:48 IST 2026
[2026-10-20 14:09:48,860.860 INFO    ] ================================================
[2026-10-20 14:09:49,529.529 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:09:49
[2026-10-20 14:09:50,220.220 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:09:50,531.531 INFO    ] Initializing speech engine...
[2026-10-20 14:09:50,542.542 INFO    ] 2026-10-20 14:09:50
[2026-10-20 14:09:50,852.852 INFO    ] 2026-10-20 14:09:50
[2026-10-20 14:09:50,939.939 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:09:51,154.154 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:09:51,162.162 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:09:51,353.353 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:09:51,360.360 INFO    ] time= 20/10/2026 14:09:51
[2026-10-20 14:09:51,381.381 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:09:51,407.407 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:09:51,550.550 INFO    ] No existing commands found in stream
[2026-10-20 14:09:56,581.581 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:09:56,584.584 INFO    ] Waiting 2.33 seconds before fallback handling...
[2026-10-20 14:09:59,456.456 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:09:59,459.459 INFO    ] Checking for system updates...
[2026-10-20 14:09:59,495.495 INFO    ] 200
[2026-10-20 14:09:59,498.498 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:09:59,558.558 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:09:59,560.560 INFO    ] No update needed
[2026-10-20 14:09:59,563.563 INFO    ] Checking for camera pi updates...
[2026-10-20 14:09:59,601.601 INFO    ] 200
[2026-10-20 14:09:59,603.603 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:09:59,644.644 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:09:59,692.692 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:09:59,694.694 INFO    ] No camera update needed
[2026-10-20 14:09:59,697.697 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:09:59,699.699 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:09:59,704.704 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:09:59,709.709 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:10:01,815.815 INFO    ] ================================================
[2026-10-20 14:10:01,919.919 INFO    ] Launching Daemon at Tue Oct 20 14:10:01 IST 2026
[2026-10-20 14:10:01,955.955 INFO    ] ================================================
[2026-10-20 14:10:02,840.840 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:10:02
[2026-10-20 14:10:03,553.553 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:10:03,868.868 INFO    ] Initializing speech engine...
[2026-10-20 14:10:03,883.883 INFO    ] 2026-10-20 14:10:03
[2026-10-20 14:10:04,178.178 INFO    ] 2026-10-20 14:10:04
[2026-10-20 14:10:04,223.223 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:10:04,469.469 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:10:04,476.476 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:10:04,693.693 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:10:04,714.714 INFO    ] time= 20/10/2026 14:10:04
[2026-10-20 14:10:04,733.733 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:10:04,761.761 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:10:04,872.872 INFO    ] No existing commands found in stream
[2026-10-20 14:10:09,903.903 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:10:09,906.906 INFO    ] Waiting 1.32 seconds before fallback handling...
[2026-10-20 14:10:11,808.808 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 14:10:11,811.811 INFO    ] Checking for system updates...
[2026-10-20 14:10:11,851.851 INFO    ] 200
[2026-10-20 14:10:11,854.854 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:10:11,911.911 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:10:11,914.914 INFO    ] No update needed
[2026-10-20 14:10:11,917.917 INFO    ] Checking for camera pi updates...
[2026-10-20 14:10:11,954.954 INFO    ] 200
[2026-10-20 14:10:11,957.957 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:10:11,997.997 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:10:12,051.051 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:10:12,054.054 INFO    ] No camera update needed
[2026-10-20 14:10:12,056.056 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:10:12,059.059 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:10:12,065.065 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:10:12,071.071 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:10:14,112.112 INFO    ] ================================================
[2026-10-20 14:10:14,127.127 INFO    ] Launching Daemon at Tue Oct 20 14:10:14 IST 2026
[2026-10-20 14:10:14,138.138 INFO    ] ================================================
[2026-10-20 14:10:14,706.706 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:10:14
[2026-10-20 14:10:15,290.290 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:10:15,543.543 INFO    ] Initializing speech engine...
[2026-10-20 14:10:15,552.552 INFO    ] 2026-10-20 14:10:15
[2026-10-20 14:10:15,849.849 INFO    ] 2026-10-20 14:10:15
[2026-10-20 14:10:15,887.887 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:10:16,093.093 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:10:16,110.110 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:10:16,278.278 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:10:16,307.307 INFO    ] time= 20/10/2026 14:10:16
[2026-10-20 14:10:16,326.326 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:10:16,362.362 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:10:16,460.460 INFO    ] No existing commands found in stream
[2026-10-20 14:10:21,481.481 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:10:21,484.484 INFO    ] Waiting 3.53 seconds before fallback handling...
[2026-10-20 14:10:25,566.566 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 14:10:25,568.568 INFO    ] Checking for system updates...
[2026-10-20 14:10:25,607.607 INFO    ] 200
[2026-10-20 14:10:25,610.610 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:10:25,667.667 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:10:25,670.670 INFO    ] No update needed
[2026-10-20 14:10:25,672.672 INFO    ] Checking for camera pi updates...
[2026-10-20 14:10:25,708.708 INFO    ] 200
[2026-10-20 14:10:25,711.711 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:10:25,751.751 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:10:25,820.820 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:10:25,822.822 INFO    ] No camera update needed
[2026-10-20 14:10:25,824.824 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:10:25,827.827 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:10:25,832.832 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:10:25,837.837 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:10:27,876.876 INFO    ] ================================================
[2026-10-20 14:10:27,891.891 INFO    ] Launching Daemon at Tue Oct 20 14:10:27 IST 2026
[2026-10-20 14:10:27,902.902 INFO    ] ================================================
[2026-10-20 14:10:28,466.466 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:10:28
[2026-10-20 14:10:29,066.066 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:10:29,335.335 INFO    ] Initializing speech engine...
[2026-10-20 14:10:29,343.343 INFO    ] 2026-10-20 14:10:29
[2026-10-20 14:10:29,592.592 INFO    ] 2026-10-20 14:10:29
[2026-10-20 14:10:29,626.626 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:10:29,830.830 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:10:29,889.889 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:10:30,103.103 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:10:30,152.152 INFO    ] time= 20/10/2026 14:10:30
[2026-10-20 14:10:30,164.164 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:10:30,182.182 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:10:30,326.326 INFO    ] No existing commands found in stream
[2026-10-20 14:10:35,352.352 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:10:35,355.355 INFO    ] Waiting 0.41 seconds before fallback handling...
[2026-10-20 14:10:36,279.279 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:10:36,281.281 INFO    ] Checking for system updates...
[2026-10-20 14:10:36,317.317 INFO    ] 200
[2026-10-20 14:10:36,319.319 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:10:36,371.371 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:10:36,374.374 INFO    ] No update needed
[2026-10-20 14:10:36,376.376 INFO    ] Checking for camera pi updates...
[2026-10-20 14:10:36,409.409 INFO    ] 200
[2026-10-20 14:10:36,412.412 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:10:36,456.456 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:10:36,502.502 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:10:36,504.504 INFO    ] No camera update needed
[2026-10-20 14:10:36,507.507 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:10:36,509.509 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:10:36,514.514 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:10:36,519.519 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:10:38,560.560 INFO    ] ================================================
[2026-10-20 14:10:38,576.576 INFO    ] Launching Daemon at Tue Oct 20 14:10:38 IST 2026
[2026-10-20 14:10:38,587.587 INFO    ] ================================================
[2026-10-20 14:10:39,174.174 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:10:39
[2026-10-20 14:10:39,775.775 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:10:40,053.053 INFO    ] Initializing speech engine...
[2026-10-20 14:10:40,058.058 INFO    ] 2026-10-20 14:10:40
[2026-10-20 14:10:40,306.306 INFO    ] 2026-10-20 14:10:40
[2026-10-20 14:10:40,341.341 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:10:40,597.597 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:10:40,603.603 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:10:40,844.844 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:10:40,861.861 INFO    ] time= 20/10/2026 14:10:40
[2026-10-20 14:10:40,876.876 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:10:40,886.886 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:10:41,014.014 INFO    ] No existing commands found in stream
[2026-10-20 14:10:46,037.037 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:10:46,041.041 INFO    ] Waiting 3.18 seconds before fallback handling...
[2026-10-20 14:10:49,811.811 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:10:49,814.814 INFO    ] Checking for system updates...
[2026-10-20 14:10:49,853.853 INFO    ] 200
[2026-10-20 14:10:49,855.855 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:10:49,909.909 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:10:49,911.911 INFO    ] No update needed
[2026-10-20 14:10:49,914.914 INFO    ] Checking for camera pi updates...
[2026-10-20 14:10:49,947.947 INFO    ] 200
[2026-10-20 14:10:49,949.949 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:10:49,990.990 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:10:50,036.036 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:10:50,038.038 INFO    ] No camera update needed
[2026-10-20 14:10:50,040.040 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:10:50,043.043 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:10:50,048.048 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:10:50,053.053 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:10:52,092.092 INFO    ] ================================================
[2026-10-20 14:10:52,108.108 INFO    ] Launching Daemon at Tue Oct 20 14:10:52 IST 2026
[2026-10-20 14:10:52,119.119 INFO    ] ================================================
[2026-10-20 14:10:52,690.690 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:10:52
[2026-10-20 14:10:53,277.277 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:10:53,550.550 INFO    ] Initializing speech engine...
[2026-10-20 14:10:53,556.556 INFO    ] 2026-10-20 14:10:53
[2026-10-20 14:10:53,808.808 INFO    ] 2026-10-20 14:10:53
[2026-10-20 14:10:53,843.843 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:10:54,088.088 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:10:54,097.097 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:10:54,317.317 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:10:54,355.355 INFO    ] time= 20/10/2026 14:10:54
[2026-10-20 14:10:54,361.361 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:10:54,378.378 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:10:54,505.505 INFO    ] No existing commands found in stream
[2026-10-20 14:10:59,519.519 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:10:59,522.522 INFO    ] Waiting 0.91 seconds before fallback handling...
[2026-10-20 14:11:00,969.969 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:11:00,972.972 INFO    ] Checking for system updates...
[2026-10-20 14:11:01,010.010 INFO    ] 200
[2026-10-20 14:11:01,013.013 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:11:01,088.088 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:11:01,094.094 INFO    ] No update needed
[2026-10-20 14:11:01,098.098 INFO    ] Checking for camera pi updates...
[2026-10-20 14:11:01,194.194 INFO    ] 200
[2026-10-20 14:11:01,198.198 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:11:01,301.301 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:11:01,494.494 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:11:01,498.498 INFO    ] No camera update needed
[2026-10-20 14:11:01,502.502 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:11:01,506.506 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:11:01,516.516 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:11:01,522.522 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:11:03,567.567 INFO    ] ================================================
[2026-10-20 14:11:03,582.582 INFO    ] Launching Daemon at Tue Oct 20 14:11:03 IST 2026
[2026-10-20 14:11:03,593.593 INFO    ] ================================================
[2026-10-20 14:11:04,230.230 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:11:04
[2026-10-20 14:11:04,882.882 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:11:05,171.171 INFO    ] Initializing speech engine...
[2026-10-20 14:11:05,178.178 INFO    ] 2026-10-20 14:11:05
[2026-10-20 14:11:05,446.446 INFO    ] 2026-10-20 14:11:05
[2026-10-20 14:11:05,488.488 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:11:05,729.729 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:11:05,736.736 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:11:05,961.961 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:11:06,020.020 INFO    ] time= 20/10/2026 14:11:05
[2026-10-20 14:11:06,028.028 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:11:06,050.050 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:11:06,178.178 INFO    ] No existing commands found in stream
[2026-10-20 14:11:11,192.192 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:11:11,195.195 INFO    ] Waiting 3.83 seconds before fallback handling...
[2026-10-20 14:11:15,581.581 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:11:15,584.584 INFO    ] Checking for system updates...
[2026-10-20 14:11:15,620.620 INFO    ] 200
[2026-10-20 14:11:15,622.622 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:11:15,675.675 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:11:15,677.677 INFO    ] No update needed
[2026-10-20 14:11:15,680.680 INFO    ] Checking for camera pi updates...
[2026-10-20 14:11:15,716.716 INFO    ] 200
[2026-10-20 14:11:15,719.719 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:11:15,760.760 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:11:15,807.807 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:11:15,810.810 INFO    ] No camera update needed
[2026-10-20 14:11:15,812.812 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:11:15,815.815 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:11:15,820.820 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:11:15,825.825 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:11:17,865.865 INFO    ] ================================================
[2026-10-20 14:11:17,880.880 INFO    ] Launching Daemon at Tue Oct 20 14:11:17 IST 2026
[2026-10-20 14:11:17,891.891 INFO    ] ================================================
[2026-10-20 14:11:18,459.459 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:11:18
[2026-10-20 14:11:19,042.042 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:11:19,301.301 INFO    ] Initializing speech engine...
[2026-10-20 14:11:19,324.324 INFO    ] 2026-10-20 14:11:19
[2026-10-20 14:11:19,588.588 INFO    ] 2026-10-20 14:11:19
[2026-10-20 14:11:19,625.625 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:11:19,867.867 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:11:19,905.905 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:11:20,118.118 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:11:20,173.173 INFO    ] time= 20/10/2026 14:11:20
[2026-10-20 14:11:20,200.200 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:11:20,203.203 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:11:20,338.338 INFO    ] No existing commands found in stream
[2026-10-20 14:11:25,361.361 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:11:25,363.363 INFO    ] Waiting 2.37 seconds before fallback handling...
[2026-10-20 14:11:28,295.295 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:11:28,297.297 INFO    ] Checking for system updates...
[2026-10-20 14:11:28,333.333 INFO    ] 200
[2026-10-20 14:11:28,335.335 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:11:28,388.388 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:11:28,391.391 INFO    ] No update needed
[2026-10-20 14:11:28,394.394 INFO    ] Checking for camera pi updates...
[2026-10-20 14:11:28,427.427 INFO    ] 200
[2026-10-20 14:11:28,429.429 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:11:28,470.470 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:11:28,523.523 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:11:28,525.525 INFO    ] No camera update needed
[2026-10-20 14:11:28,527.527 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:11:28,530.530 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:11:28,535.535 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:11:28,540.540 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:11:30,585.585 INFO    ] ================================================
[2026-10-20 14:11:30,601.601 INFO    ] Launching Daemon at Tue Oct 20 14:11:30 IST 2026
[2026-10-20 14:11:30,611.611 INFO    ] ================================================
[2026-10-20 14:11:31,243.243 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:11:31
[2026-10-20 14:11:31,928.928 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:11:32,249.249 INFO    ] Initializing speech engine...
[2026-10-20 14:11:32,256.256 INFO    ] 2026-10-20 14:11:32
[2026-10-20 14:11:32,584.584 INFO    ] 2026-10-20 14:11:32
[2026-10-20 14:11:32,664.664 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:11:32,873.873 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:11:32,882.882 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:11:33,077.077 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:11:33,085.085 INFO    ] time= 20/10/2026 14:11:33
[2026-10-20 14:11:33,103.103 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:11:33,110.110 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:11:33,263.263 INFO    ] No existing commands found in stream
[2026-10-20 14:11:38,289.289 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:11:38,292.292 INFO    ] Waiting 2.18 seconds before fallback handling...
[2026-10-20 14:11:41,047.047 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:11:41,050.050 INFO    ] Checking for system updates...
[2026-10-20 14:11:41,088.088 INFO    ] 200
[2026-10-20 14:11:41,091.091 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:11:41,144.144 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:11:41,147.147 INFO    ] No update needed
[2026-10-20 14:11:41,150.150 INFO    ] Checking for camera pi updates...
[2026-10-20 14:11:41,187.187 INFO    ] 200
[2026-10-20 14:11:41,190.190 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:11:41,231.231 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:11:41,279.279 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:11:41,282.282 INFO    ] No camera update needed
[2026-10-20 14:11:41,285.285 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:11:41,287.287 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:11:41,293.293 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:11:41,299.299 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:11:43,338.338 INFO    ] ================================================
[2026-10-20 14:11:43,353.353 INFO    ] Launching Daemon at Tue Oct 20 14:11:43 IST 2026
[2026-10-20 14:11:43,365.365 INFO    ] ================================================
[2026-10-20 14:11:43,932.932 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:11:43
[2026-10-20 14:11:44,557.557 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:11:44,856.856 INFO    ] Initializing speech engine...
[2026-10-20 14:11:44,863.863 INFO    ] 2026-10-20 14:11:44
[2026-10-20 14:11:45,134.134 INFO    ] 2026-10-20 14:11:45
[2026-10-20 14:11:45,170.170 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:11:45,443.443 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:11:45,454.454 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:11:45,669.669 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:11:45,729.729 INFO    ] time= 20/10/2026 14:11:45
[2026-10-20 14:11:45,746.746 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:11:45,753.753 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:11:45,914.914 INFO    ] No existing commands found in stream
[2026-10-20 14:11:50,928.928 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:11:50,931.931 INFO    ] Waiting 3.91 seconds before fallback handling...
[2026-10-20 14:11:55,369.369 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:11:55,372.372 INFO    ] Checking for system updates...
[2026-10-20 14:11:55,409.409 INFO    ] 200
[2026-10-20 14:11:55,411.411 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:11:55,465.465 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:11:55,467.467 INFO    ] No update needed
[2026-10-20 14:11:55,470.470 INFO    ] Checking for camera pi updates...
[2026-10-20 14:11:55,503.503 INFO    ] 200
[2026-10-20 14:11:55,506.506 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:11:55,550.550 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:11:55,592.592 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:11:55,594.594 INFO    ] No camera update needed
[2026-10-20 14:11:55,596.596 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:11:55,599.599 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:11:55,604.604 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:11:55,609.609 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:11:57,648.648 INFO    ] ================================================
[2026-10-20 14:11:57,664.664 INFO    ] Launching Daemon at Tue Oct 20 14:11:57 IST 2026
[2026-10-20 14:11:57,675.675 INFO    ] ================================================
[2026-10-20 14:11:58,244.244 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:11:58
[2026-10-20 14:11:58,825.825 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:11:59,102.102 INFO    ] Initializing speech engine...
[2026-10-20 14:11:59,110.110 INFO    ] 2026-10-20 14:11:59
[2026-10-20 14:11:59,374.374 INFO    ] 2026-10-20 14:11:59
[2026-10-20 14:11:59,411.411 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:11:59,628.628 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:11:59,652.652 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:11:59,854.854 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:11:59,893.893 INFO    ] time= 20/10/2026 14:11:59
[2026-10-20 14:11:59,948.948 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:11:59,997.997 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:12:00,125.125 INFO    ] No existing commands found in stream
[2026-10-20 14:12:05,147.147 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:12:05,150.150 INFO    ] Waiting 0.68 seconds before fallback handling...
[2026-10-20 14:12:06,365.365 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:12:06,367.367 INFO    ] Checking for system updates...
[2026-10-20 14:12:06,403.403 INFO    ] 200
[2026-10-20 14:12:06,405.405 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:12:06,465.465 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:12:06,467.467 INFO    ] No update needed
[2026-10-20 14:12:06,469.469 INFO    ] Checking for camera pi updates...
[2026-10-20 14:12:06,503.503 INFO    ] 200
[2026-10-20 14:12:06,505.505 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:12:06,550.550 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:12:06,594.594 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:12:06,596.596 INFO    ] No camera update needed
[2026-10-20 14:12:06,599.599 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:12:06,601.601 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:12:06,606.606 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:12:06,611.611 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:12:08,650.650 INFO    ] ================================================
[2026-10-20 14:12:08,665.665 INFO    ] Launching Daemon at Tue Oct 20 14:12:08 IST 2026
[2026-10-20 14:12:08,675.675 INFO    ] ================================================
[2026-10-20 14:12:09,246.246 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:12:09
[2026-10-20 14:12:09,827.827 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:12:10,077.077 INFO    ] Initializing speech engine...
[2026-10-20 14:12:10,090.090 INFO    ] 2026-10-20 14:12:10
[2026-10-20 14:12:10,354.354 INFO    ] 2026-10-20 14:12:10
[2026-10-20 14:12:10,389.389 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:12:10,588.588 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:12:10,611.611 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:12:10,791.791 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:12:10,813.813 INFO    ] time= 20/10/2026 14:12:10
[2026-10-20 14:12:10,867.867 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:12:10,921.921 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:12:11,047.047 INFO    ] No existing commands found in stream
[2026-10-20 14:12:16,073.073 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:12:16,075.075 INFO    ] Waiting 0.20 seconds before fallback handling...
[2026-10-20 14:12:16,777.777 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:12:16,780.780 INFO    ] Checking for system updates...
[2026-10-20 14:12:16,815.815 INFO    ] 200
[2026-10-20 14:12:16,818.818 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:12:16,872.872 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:12:16,875.875 INFO    ] No update needed
[2026-10-20 14:12:16,877.877 INFO    ] Checking for camera pi updates...
[2026-10-20 14:12:16,910.910 INFO    ] 200
[2026-10-20 14:12:16,913.913 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:12:16,952.952 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:12:17,001.001 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:12:17,003.003 INFO    ] No camera update needed
[2026-10-20 14:12:17,006.006 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:12:17,008.008 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:12:17,013.013 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:12:17,018.018 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:12:19,060.060 INFO    ] ================================================
[2026-10-20 14:12:19,076.076 INFO    ] Launching Daemon at Tue Oct 20 14:12:19 IST 2026
[2026-10-20 14:12:19,087.087 INFO    ] ================================================
[2026-10-20 14:12:19,731.731 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:12:19
[2026-10-20 14:12:20,390.390 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:12:20,689.689 INFO    ] Initializing speech engine...
[2026-10-20 14:12:20,697.697 INFO    ] 2026-10-20 14:12:20
[2026-10-20 14:12:20,967.967 INFO    ] 2026-10-20 14:12:20
[2026-10-20 14:12:21,021.021 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:12:21,305.305 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:12:21,314.314 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:12:21,509.509 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:12:21,516.516 INFO    ] time= 20/10/2026 14:12:21
[2026-10-20 14:12:21,534.534 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:12:21,556.556 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:12:21,669.669 INFO    ] No existing commands found in stream
[2026-10-20 14:12:26,690.690 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:12:26,693.693 INFO    ] Waiting 2.23 seconds before fallback handling...
[2026-10-20 14:12:29,482.482 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:12:29,485.485 INFO    ] Checking for system updates...
[2026-10-20 14:12:29,521.521 INFO    ] 200
[2026-10-20 14:12:29,524.524 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:12:29,575.575 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:12:29,578.578 INFO    ] No update needed
[2026-10-20 14:12:29,580.580 INFO    ] Checking for camera pi updates...
[2026-10-20 14:12:29,617.617 INFO    ] 200
[2026-10-20 14:12:29,619.619 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:12:29,663.663 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:12:29,716.716 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:12:29,719.719 INFO    ] No camera update needed
[2026-10-20 14:12:29,721.721 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:12:29,723.723 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:12:29,728.728 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:12:29,733.733 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:12:31,776.776 INFO    ] ================================================
[2026-10-20 14:12:31,793.793 INFO    ] Launching Daemon at Tue Oct 20 14:12:31 IST 2026
[2026-10-20 14:12:31,805.805 INFO    ] ================================================
[2026-10-20 14:12:32,412.412 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:12:32
[2026-10-20 14:12:33,004.004 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:12:33,256.256 INFO    ] Initializing speech engine...
[2026-10-20 14:12:33,265.265 INFO    ] 2026-10-20 14:12:33
[2026-10-20 14:12:33,553.553 INFO    ] 2026-10-20 14:12:33
[2026-10-20 14:12:33,591.591 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:12:33,808.808 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:12:33,831.831 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:12:34,031.031 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:12:34,048.048 INFO    ] time= 20/10/2026 14:12:34
[2026-10-20 14:12:34,089.089 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:12:34,134.134 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:12:34,282.282 INFO    ] No existing commands found in stream
[2026-10-20 14:12:39,313.313 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:12:39,316.316 INFO    ] Waiting 0.07 seconds before fallback handling...
[2026-10-20 14:12:39,878.878 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:12:39,880.880 INFO    ] Checking for system updates...
[2026-10-20 14:12:39,916.916 INFO    ] 200
[2026-10-20 14:12:39,918.918 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:12:39,971.971 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:12:39,974.974 INFO    ] No update needed
[2026-10-20 14:12:39,976.976 INFO    ] Checking for camera pi updates...
[2026-10-20 14:12:40,009.009 INFO    ] 200
[2026-10-20 14:12:40,011.011 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:12:40,052.052 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:12:40,093.093 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:12:40,096.096 INFO    ] No camera update needed
[2026-10-20 14:12:40,098.098 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:12:40,100.100 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:12:40,106.106 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:12:40,111.111 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:12:42,150.150 INFO    ] ================================================
[2026-10-20 14:12:42,165.165 INFO    ] Launching Daemon at Tue Oct 20 14:12:42 IST 2026
[2026-10-20 14:12:42,176.176 INFO    ] ================================================
[2026-10-20 14:12:42,752.752 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:12:42
[2026-10-20 14:12:43,336.336 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:12:43,592.592 INFO    ] Initializing speech engine...
[2026-10-20 14:12:43,607.607 INFO    ] 2026-10-20 14:12:43
[2026-10-20 14:12:43,887.887 INFO    ] 2026-10-20 14:12:43
[2026-10-20 14:12:43,925.925 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:12:44,146.146 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:12:44,166.166 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:12:44,369.369 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:12:44,434.434 INFO    ] time= 20/10/2026 14:12:44
[2026-10-20 14:12:44,478.478 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:12:44,510.510 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:12:44,655.655 INFO    ] No existing commands found in stream
[2026-10-20 14:12:49,669.669 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:12:49,672.672 INFO    ] Waiting 2.85 seconds before fallback handling...
[2026-10-20 14:12:53,016.016 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:12:53,019.019 INFO    ] Checking for system updates...
[2026-10-20 14:12:53,054.054 INFO    ] 200
[2026-10-20 14:12:53,057.057 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:12:53,110.110 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:12:53,112.112 INFO    ] No update needed
[2026-10-20 14:12:53,114.114 INFO    ] Checking for camera pi updates...
[2026-10-20 14:12:53,147.147 INFO    ] 200
[2026-10-20 14:12:53,150.150 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:12:53,191.191 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:12:53,240.240 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:12:53,243.243 INFO    ] No camera update needed
[2026-10-20 14:12:53,245.245 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:12:53,247.247 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:12:53,252.252 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:12:53,257.257 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:12:55,297.297 INFO    ] ================================================
[2026-10-20 14:12:55,312.312 INFO    ] Launching Daemon at Tue Oct 20 14:12:55 IST 2026
[2026-10-20 14:12:55,324.324 INFO    ] ================================================
[2026-10-20 14:12:55,887.887 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:12:55
[2026-10-20 14:12:56,470.470 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:12:56,718.718 INFO    ] Initializing speech engine...
[2026-10-20 14:12:56,740.740 INFO    ] 2026-10-20 14:12:56
[2026-10-20 14:12:57,004.004 INFO    ] 2026-10-20 14:12:56
[2026-10-20 14:12:57,040.040 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:12:57,244.244 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:12:57,260.260 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:12:57,412.412 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:12:57,417.417 INFO    ] time= 20/10/2026 14:12:57
[2026-10-20 14:12:57,423.423 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:12:57,471.471 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:12:57,592.592 INFO    ] No existing commands found in stream
[2026-10-20 14:13:02,617.617 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:13:02,620.620 INFO    ] Waiting 2.73 seconds before fallback handling...
[2026-10-20 14:13:05,902.902 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 14:13:05,907.907 INFO    ] Checking for system updates...
[2026-10-20 14:13:05,946.946 INFO    ] 200
[2026-10-20 14:13:05,949.949 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:13:06,007.007 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:13:06,010.010 INFO    ] No update needed
[2026-10-20 14:13:06,013.013 INFO    ] Checking for camera pi updates...
[2026-10-20 14:13:06,050.050 INFO    ] 200
[2026-10-20 14:13:06,053.053 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:13:06,093.093 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:13:06,240.240 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:13:06,243.243 INFO    ] No camera update needed
[2026-10-20 14:13:06,245.245 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:13:06,248.248 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:13:06,253.253 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:13:06,258.258 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:13:08,298.298 INFO    ] ================================================
[2026-10-20 14:13:08,314.314 INFO    ] Launching Daemon at Tue Oct 20 14:13:08 IST 2026
[2026-10-20 14:13:08,325.325 INFO    ] ================================================
[2026-10-20 14:13:08,893.893 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:13:08
[2026-10-20 14:13:09,477.477 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:13:09,758.758 INFO    ] Initializing speech engine...
[2026-10-20 14:13:09,767.767 INFO    ] 2026-10-20 14:13:09
[2026-10-20 14:13:10,031.031 INFO    ] 2026-10-20 14:13:10
[2026-10-20 14:13:10,066.066 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:13:10,258.258 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:13:10,271.271 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:13:10,429.429 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:13:10,437.437 INFO    ] time= 20/10/2026 14:13:10
[2026-10-20 14:13:10,445.445 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:13:10,488.488 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:13:10,632.632 INFO    ] No existing commands found in stream
[2026-10-20 14:13:15,663.663 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:13:15,666.666 INFO    ] Waiting 0.93 seconds before fallback handling...
[2026-10-20 14:13:17,289.289 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 14:13:17,291.291 INFO    ] Checking for system updates...
[2026-10-20 14:13:17,327.327 INFO    ] 200
[2026-10-20 14:13:17,330.330 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:13:17,381.381 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:13:17,384.384 INFO    ] No update needed
[2026-10-20 14:13:17,386.386 INFO    ] Checking for camera pi updates...
[2026-10-20 14:13:17,424.424 INFO    ] 200
[2026-10-20 14:13:17,427.427 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:13:17,466.466 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:13:17,514.514 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:13:17,516.516 INFO    ] No camera update needed
[2026-10-20 14:13:17,518.518 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:13:17,521.521 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:13:17,526.526 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:13:17,531.531 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:13:19,572.572 INFO    ] ================================================
[2026-10-20 14:13:19,587.587 INFO    ] Launching Daemon at Tue Oct 20 14:13:19 IST 2026
[2026-10-20 14:13:19,598.598 INFO    ] ================================================
[2026-10-20 14:13:20,181.181 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:13:20
[2026-10-20 14:13:20,781.781 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:13:21,056.056 INFO    ] Initializing speech engine...
[2026-10-20 14:13:21,065.065 INFO    ] 2026-10-20 14:13:21
[2026-10-20 14:13:21,327.327 INFO    ] 2026-10-20 14:13:21
[2026-10-20 14:13:21,357.357 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:13:21,583.583 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:13:21,586.586 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:13:21,754.754 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:13:21,819.819 INFO    ] time= 20/10/2026 14:13:21
[2026-10-20 14:13:21,873.873 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:13:21,882.882 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:13:22,022.022 INFO    ] No existing commands found in stream
[2026-10-20 14:13:27,038.038 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:13:27,042.042 INFO    ] Waiting 2.38 seconds before fallback handling...
[2026-10-20 14:13:30,002.002 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:13:30,005.005 INFO    ] Checking for system updates...
[2026-10-20 14:13:30,042.042 INFO    ] 200
[2026-10-20 14:13:30,045.045 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:13:30,098.098 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:13:30,101.101 INFO    ] No update needed
[2026-10-20 14:13:30,104.104 INFO    ] Checking for camera pi updates...
[2026-10-20 14:13:30,138.138 INFO    ] 200
[2026-10-20 14:13:30,141.141 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:13:30,185.185 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:13:30,230.230 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:13:30,233.233 INFO    ] No camera update needed
[2026-10-20 14:13:30,235.235 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:13:30,238.238 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:13:30,244.244 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:13:30,250.250 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:13:32,293.293 INFO    ] ================================================
[2026-10-20 14:13:32,313.313 INFO    ] Launching Daemon at Tue Oct 20 14:13:32 IST 2026
[2026-10-20 14:13:32,324.324 INFO    ] ================================================
[2026-10-20 14:13:32,920.920 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:13:32
[2026-10-20 14:13:33,507.507 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:13:33,765.765 INFO    ] Initializing speech engine...
[2026-10-20 14:13:33,788.788 INFO    ] 2026-10-20 14:13:33
[2026-10-20 14:13:34,054.054 INFO    ] 2026-10-20 14:13:34
[2026-10-20 14:13:34,091.091 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:13:34,308.308 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:13:34,317.317 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:13:34,530.530 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:13:34,537.537 INFO    ] time= 20/10/2026 14:13:34
[2026-10-20 14:13:34,596.596 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:13:34,630.630 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:13:34,801.801 INFO    ] No existing commands found in stream
[2026-10-20 14:13:39,819.819 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:13:39,821.821 INFO    ] Waiting 0.51 seconds before fallback handling...
[2026-10-20 14:13:40,900.900 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:13:40,903.903 INFO    ] Checking for system updates...
[2026-10-20 14:13:40,940.940 INFO    ] 200
[2026-10-20 14:13:40,943.943 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:13:40,995.995 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:13:40,998.998 INFO    ] No update needed
[2026-10-20 14:13:41,001.001 INFO    ] Checking for camera pi updates...
[2026-10-20 14:13:41,034.034 INFO    ] 200
[2026-10-20 14:13:41,037.037 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:13:41,078.078 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:13:41,122.122 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:13:41,125.125 INFO    ] No camera update needed
[2026-10-20 14:13:41,128.128 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:13:41,130.130 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:13:41,136.136 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:13:41,142.142 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:13:43,181.181 INFO    ] ================================================
[2026-10-20 14:13:43,196.196 INFO    ] Launching Daemon at Tue Oct 20 14:13:43 IST 2026
[2026-10-20 14:13:43,206.206 INFO    ] ================================================
[2026-10-20 14:13:43,836.836 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:13:43
[2026-10-20 14:13:44,440.440 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:13:44,692.692 INFO    ] Initializing speech engine...
[2026-10-20 14:13:44,700.700 INFO    ] 2026-10-20 14:13:44
[2026-10-20 14:13:44,989.989 INFO    ] 2026-10-20 14:13:44
[2026-10-20 14:13:45,026.026 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:13:45,246.246 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:13:45,290.290 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:13:45,463.463 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:13:45,480.480 INFO    ] time= 20/10/2026 14:13:45
[2026-10-20 14:13:45,534.534 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:13:45,589.589 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:13:45,678.678 INFO    ] No existing commands found in stream
[2026-10-20 14:13:50,704.704 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:13:50,706.706 INFO    ] Waiting 2.96 seconds before fallback handling...
[2026-10-20 14:13:54,177.177 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 14:13:54,180.180 INFO    ] Checking for system updates...
[2026-10-20 14:13:54,216.216 INFO    ] 200
[2026-10-20 14:13:54,219.219 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:13:54,275.275 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:13:54,277.277 INFO    ] No update needed
[2026-10-20 14:13:54,280.280 INFO    ] Checking for camera pi updates...
[2026-10-20 14:13:54,318.318 INFO    ] 200
[2026-10-20 14:13:54,321.321 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:13:54,361.361 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:13:54,411.411 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:13:54,413.413 INFO    ] No camera update needed
[2026-10-20 14:13:54,415.415 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:13:54,418.418 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:13:54,423.423 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:13:54,428.428 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:13:56,468.468 INFO    ] ================================================
[2026-10-20 14:13:56,483.483 INFO    ] Launching Daemon at Tue Oct 20 14:13:56 IST 2026
[2026-10-20 14:13:56,493.493 INFO    ] ================================================
[2026-10-20 14:13:57,060.060 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:13:57
[2026-10-20 14:13:57,647.647 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:13:57,918.918 INFO    ] Initializing speech engine...
[2026-10-20 14:13:57,924.924 INFO    ] 2026-10-20 14:13:57
[2026-10-20 14:13:58,182.182 INFO    ] 2026-10-20 14:13:58
[2026-10-20 14:13:58,212.212 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:13:58,457.457 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:13:58,466.466 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:13:58,657.657 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:13:58,712.712 INFO    ] time= 20/10/2026 14:13:58
[2026-10-20 14:13:58,727.727 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:13:58,733.733 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:13:58,879.879 INFO    ] No existing commands found in stream
[2026-10-20 14:14:03,891.891 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:14:03,894.894 INFO    ] Waiting 0.98 seconds before fallback handling...
[2026-10-20 14:14:05,406.406 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 14:14:05,408.408 INFO    ] Checking for system updates...
[2026-10-20 14:14:05,444.444 INFO    ] 200
[2026-10-20 14:14:05,446.446 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:14:05,499.499 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:14:05,501.501 INFO    ] No update needed
[2026-10-20 14:14:05,504.504 INFO    ] Checking for camera pi updates...
[2026-10-20 14:14:05,538.538 INFO    ] 200
[2026-10-20 14:14:05,541.541 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:14:05,580.580 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:14:05,631.631 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:14:05,633.633 INFO    ] No camera update needed
[2026-10-20 14:14:05,635.635 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:14:05,637.637 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:14:05,643.643 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:14:05,647.647 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:14:07,688.688 INFO    ] ================================================
[2026-10-20 14:14:07,703.703 INFO    ] Launching Daemon at Tue Oct 20 14:14:07 IST 2026
[2026-10-20 14:14:07,713.713 INFO    ] ================================================
[2026-10-20 14:14:08,283.283 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:14:08
[2026-10-20 14:14:08,869.869 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:14:09,124.124 INFO    ] Initializing speech engine...
[2026-10-20 14:14:09,142.142 INFO    ] 2026-10-20 14:14:09
[2026-10-20 14:14:09,421.421 INFO    ] 2026-10-20 14:14:09
[2026-10-20 14:14:09,456.456 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:14:09,675.675 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:14:09,729.729 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:14:09,900.900 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:14:09,960.960 INFO    ] time= 20/10/2026 14:14:09
[2026-10-20 14:14:10,009.009 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:14:10,038.038 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:14:10,173.173 INFO    ] No existing commands found in stream
[2026-10-20 14:14:15,203.203 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:14:15,206.206 INFO    ] Waiting 0.42 seconds before fallback handling...
[2026-10-20 14:14:16,210.210 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:14:16,213.213 INFO    ] Checking for system updates...
[2026-10-20 14:14:16,248.248 INFO    ] 200
[2026-10-20 14:14:16,251.251 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:14:16,304.304 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:14:16,306.306 INFO    ] No update needed
[2026-10-20 14:14:16,309.309 INFO    ] Checking for camera pi updates...
[2026-10-20 14:14:16,342.342 INFO    ] 200
[2026-10-20 14:14:16,345.345 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:14:16,385.385 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:14:16,431.431 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:14:16,433.433 INFO    ] No camera update needed
[2026-10-20 14:14:16,435.435 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:14:16,438.438 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:14:16,443.443 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:14:16,448.448 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:14:18,487.487 INFO    ] ================================================
[2026-10-20 14:14:18,502.502 INFO    ] Launching Daemon at Tue Oct 20 14:14:18 IST 2026
[2026-10-20 14:14:18,513.513 INFO    ] ================================================
[2026-10-20 14:14:19,100.100 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:14:19
[2026-10-20 14:14:19,696.696 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:14:19,958.958 INFO    ] Initializing speech engine...
[2026-10-20 14:14:19,977.977 INFO    ] 2026-10-20 14:14:19
[2026-10-20 14:14:20,226.226 INFO    ] 2026-10-20 14:14:20
[2026-10-20 14:14:20,262.262 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:14:20,513.513 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:14:20,522.522 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:14:20,744.744 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:14:20,779.779 INFO    ] time= 20/10/2026 14:14:20
[2026-10-20 14:14:20,785.785 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:14:20,806.806 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:14:20,933.933 INFO    ] No existing commands found in stream
[2026-10-20 14:14:25,951.951 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:14:25,954.954 INFO    ] Waiting 0.11 seconds before fallback handling...
[2026-10-20 14:14:26,575.575 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:14:26,577.577 INFO    ] Checking for system updates...
[2026-10-20 14:14:26,613.613 INFO    ] 200
[2026-10-20 14:14:26,616.616 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:14:26,667.667 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:14:26,670.670 INFO    ] No update needed
[2026-10-20 14:14:26,672.672 INFO    ] Checking for camera pi updates...
[2026-10-20 14:14:26,705.705 INFO    ] 200
[2026-10-20 14:14:26,707.707 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:14:26,747.747 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:14:26,803.803 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:14:26,805.805 INFO    ] No camera update needed
[2026-10-20 14:14:26,807.807 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:14:26,810.810 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:14:26,815.815 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:14:26,820.820 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:14:28,862.862 INFO    ] ================================================
[2026-10-20 14:14:28,878.878 INFO    ] Launching Daemon at Tue Oct 20 14:14:28 IST 2026
[2026-10-20 14:14:28,888.888 INFO    ] ================================================
[2026-10-20 14:14:29,509.509 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:14:29
[2026-10-20 14:14:30,150.150 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:14:30,442.442 INFO    ] Initializing speech engine...
[2026-10-20 14:14:30,449.449 INFO    ] 2026-10-20 14:14:30
[2026-10-20 14:14:30,729.729 INFO    ] 2026-10-20 14:14:30
[2026-10-20 14:14:30,774.774 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:14:31,058.058 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:14:31,063.063 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:14:31,257.257 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:14:31,265.265 INFO    ] time= 20/10/2026 14:14:31
[2026-10-20 14:14:31,283.283 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:14:31,295.295 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:14:31,424.424 INFO    ] No existing commands found in stream
[2026-10-20 14:14:36,448.448 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:14:36,451.451 INFO    ] Waiting 0.30 seconds before fallback handling...
[2026-10-20 14:14:37,317.317 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:14:37,320.320 INFO    ] Checking for system updates...
[2026-10-20 14:14:37,359.359 INFO    ] 200
[2026-10-20 14:14:37,362.362 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:14:37,414.414 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:14:37,417.417 INFO    ] No update needed
[2026-10-20 14:14:37,424.424 INFO    ] Checking for camera pi updates...
[2026-10-20 14:14:37,458.458 INFO    ] 200
[2026-10-20 14:14:37,460.460 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:14:37,501.501 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:14:37,550.550 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:14:37,553.553 INFO    ] No camera update needed
[2026-10-20 14:14:37,555.555 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:14:37,557.557 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:14:37,563.563 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:14:37,568.568 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:14:39,608.608 INFO    ] ================================================
[2026-10-20 14:14:39,623.623 INFO    ] Launching Daemon at Tue Oct 20 14:14:39 IST 2026
[2026-10-20 14:14:39,634.634 INFO    ] ================================================
[2026-10-20 14:14:40,208.208 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:14:40
[2026-10-20 14:14:40,805.805 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:14:41,076.076 INFO    ] Initializing speech engine...
[2026-10-20 14:14:41,085.085 INFO    ] 2026-10-20 14:14:41
[2026-10-20 14:14:41,340.340 INFO    ] 2026-10-20 14:14:41
[2026-10-20 14:14:41,375.375 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:14:41,618.618 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:14:41,627.627 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:14:41,854.854 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:14:41,886.886 INFO    ] time= 20/10/2026 14:14:41
[2026-10-20 14:14:41,901.901 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:14:41,910.910 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:14:42,039.039 INFO    ] No existing commands found in stream
[2026-10-20 14:14:47,054.054 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:14:47,057.057 INFO    ] Waiting 1.58 seconds before fallback handling...
[2026-10-20 14:14:49,158.158 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:14:49,161.161 INFO    ] Checking for system updates...
[2026-10-20 14:14:49,197.197 INFO    ] 200
[2026-10-20 14:14:49,200.200 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:14:49,263.263 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:14:49,265.265 INFO    ] No update needed
[2026-10-20 14:14:49,268.268 INFO    ] Checking for camera pi updates...
[2026-10-20 14:14:49,301.301 INFO    ] 200
[2026-10-20 14:14:49,303.303 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:14:49,344.344 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:14:49,392.392 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:14:49,395.395 INFO    ] No camera update needed
[2026-10-20 14:14:49,397.397 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:14:49,399.399 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:14:49,404.404 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:14:49,409.409 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:14:51,450.450 INFO    ] ================================================
[2026-10-20 14:14:51,465.465 INFO    ] Launching Daemon at Tue Oct 20 14:14:51 IST 2026
[2026-10-20 14:14:51,475.475 INFO    ] ================================================
[2026-10-20 14:14:52,055.055 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:14:52
[2026-10-20 14:14:52,653.653 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:14:52,910.910 INFO    ] Initializing speech engine...
[2026-10-20 14:14:52,933.933 INFO    ] 2026-10-20 14:14:52
[2026-10-20 14:14:53,206.206 INFO    ] 2026-10-20 14:14:53
[2026-10-20 14:14:53,240.240 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:14:53,461.461 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:14:53,520.520 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:14:53,734.734 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:14:53,773.773 INFO    ] time= 20/10/2026 14:14:53
[2026-10-20 14:14:53,820.820 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:14:53,827.827 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:14:53,979.979 INFO    ] No existing commands found in stream
[2026-10-20 14:14:58,998.998 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:14:59,001.001 INFO    ] Waiting 1.45 seconds before fallback handling...
[2026-10-20 14:15:00,952.952 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:15:00,954.954 INFO    ] Checking for system updates...
[2026-10-20 14:15:00,990.990 INFO    ] 200
[2026-10-20 14:15:00,992.992 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:15:01,053.053 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:15:01,055.055 INFO    ] No update needed
[2026-10-20 14:15:01,057.057 INFO    ] Checking for camera pi updates...
[2026-10-20 14:15:01,091.091 INFO    ] 200
[2026-10-20 14:15:01,093.093 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:15:01,134.134 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:15:01,180.180 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:15:01,183.183 INFO    ] No camera update needed
[2026-10-20 14:15:01,185.185 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:15:01,187.187 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:15:01,193.193 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:15:01,197.197 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:15:03,245.245 INFO    ] ================================================
[2026-10-20 14:15:03,261.261 INFO    ] Launching Daemon at Tue Oct 20 14:15:03 IST 2026
[2026-10-20 14:15:03,278.278 INFO    ] ================================================
[2026-10-20 14:15:03,929.929 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:15:03
[2026-10-20 14:15:04,588.588 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:15:04,885.885 INFO    ] Initializing speech engine...
[2026-10-20 14:15:04,898.898 INFO    ] 2026-10-20 14:15:04
[2026-10-20 14:15:05,153.153 INFO    ] 2026-10-20 14:15:05
[2026-10-20 14:15:05,197.197 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:15:05,456.456 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:15:05,461.461 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:15:05,713.713 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:15:05,727.727 INFO    ] time= 20/10/2026 14:15:05
[2026-10-20 14:15:05,745.745 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:15:05,768.768 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:15:05,943.943 INFO    ] No existing commands found in stream
[2026-10-20 14:15:10,974.974 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:15:10,977.977 INFO    ] Waiting 3.01 seconds before fallback handling...
[2026-10-20 14:15:15,699.699 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:15:15,703.703 INFO    ] Checking for system updates...
[2026-10-20 14:15:15,742.742 INFO    ] 200
[2026-10-20 14:15:15,744.744 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:15:15,796.796 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:15:15,799.799 INFO    ] No update needed
[2026-10-20 14:15:15,801.801 INFO    ] Checking for camera pi updates...
[2026-10-20 14:15:15,835.835 INFO    ] 200
[2026-10-20 14:15:15,837.837 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:15:15,885.885 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:15:16,039.039 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:15:16,041.041 INFO    ] No camera update needed
[2026-10-20 14:15:16,043.043 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:15:16,046.046 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:15:16,051.051 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:15:16,056.056 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:15:18,097.097 INFO    ] ================================================
[2026-10-20 14:15:18,114.114 INFO    ] Launching Daemon at Tue Oct 20 14:15:18 IST 2026
[2026-10-20 14:15:18,125.125 INFO    ] ================================================
[2026-10-20 14:15:18,695.695 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:15:18
[2026-10-20 14:15:19,281.281 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:15:19,553.553 INFO    ] Initializing speech engine...
[2026-10-20 14:15:19,562.562 INFO    ] 2026-10-20 14:15:19
[2026-10-20 14:15:19,813.813 INFO    ] 2026-10-20 14:15:19
[2026-10-20 14:15:19,849.849 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:15:20,116.116 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:15:20,138.138 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:15:20,369.369 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:15:20,384.384 INFO    ] time= 20/10/2026 14:15:20
[2026-10-20 14:15:20,390.390 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:15:20,408.408 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:15:20,541.541 INFO    ] No existing commands found in stream
[2026-10-20 14:15:25,554.554 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:15:25,557.557 INFO    ] Waiting 2.42 seconds before fallback handling...
[2026-10-20 14:15:28,509.509 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:15:28,511.511 INFO    ] Checking for system updates...
[2026-10-20 14:15:28,549.549 INFO    ] 200
[2026-10-20 14:15:28,551.551 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:15:28,609.609 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:15:28,612.612 INFO    ] No update needed
[2026-10-20 14:15:28,614.614 INFO    ] Checking for camera pi updates...
[2026-10-20 14:15:28,647.647 INFO    ] 200
[2026-10-20 14:15:28,650.650 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:15:28,694.694 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:15:28,739.739 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:15:28,741.741 INFO    ] No camera update needed
[2026-10-20 14:15:28,744.744 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:15:28,746.746 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:15:28,752.752 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:15:28,756.756 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:15:30,797.797 INFO    ] ================================================
[2026-10-20 14:15:30,812.812 INFO    ] Launching Daemon at Tue Oct 20 14:15:30 IST 2026
[2026-10-20 14:15:30,822.822 INFO    ] ================================================
[2026-10-20 14:15:31,403.403 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:15:31
[2026-10-20 14:15:32,016.016 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:15:32,359.359 INFO    ] Initializing speech engine...
[2026-10-20 14:15:32,366.366 INFO    ] 2026-10-20 14:15:32
[2026-10-20 14:15:32,665.665 INFO    ] 2026-10-20 14:15:32
[2026-10-20 14:15:32,711.711 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:15:32,942.942 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:15:32,949.949 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:15:33,168.168 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:15:33,222.222 INFO    ] time= 20/10/2026 14:15:33
[2026-10-20 14:15:33,241.241 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:15:33,250.250 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:15:33,377.377 INFO    ] No existing commands found in stream
[2026-10-20 14:15:38,399.399 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:15:38,402.402 INFO    ] Waiting 0.65 seconds before fallback handling...
[2026-10-20 14:15:39,619.619 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:15:39,622.622 INFO    ] Checking for system updates...
[2026-10-20 14:15:39,658.658 INFO    ] 200
[2026-10-20 14:15:39,661.661 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:15:39,719.719 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:15:39,722.722 INFO    ] No update needed
[2026-10-20 14:15:39,725.725 INFO    ] Checking for camera pi updates...
[2026-10-20 14:15:39,763.763 INFO    ] 200
[2026-10-20 14:15:39,766.766 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:15:39,807.807 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:15:39,856.856 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:15:39,858.858 INFO    ] No camera update needed
[2026-10-20 14:15:39,861.861 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:15:39,864.864 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:15:39,870.870 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:15:39,876.876 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:15:41,915.915 INFO    ] ================================================
[2026-10-20 14:15:41,930.930 INFO    ] Launching Daemon at Tue Oct 20 14:15:41 IST 2026
[2026-10-20 14:15:41,941.941 INFO    ] ================================================
[2026-10-20 14:15:42,531.531 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:15:42
[2026-10-20 14:15:43,123.123 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:15:43,400.400 INFO    ] Initializing speech engine...
[2026-10-20 14:15:43,409.409 INFO    ] 2026-10-20 14:15:43
[2026-10-20 14:15:43,669.669 INFO    ] 2026-10-20 14:15:43
[2026-10-20 14:15:43,722.722 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:15:43,971.971 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:15:43,979.979 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:15:44,199.199 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:15:44,217.217 INFO    ] time= 20/10/2026 14:15:44
[2026-10-20 14:15:44,235.235 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:15:44,263.263 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:15:44,370.370 INFO    ] No existing commands found in stream
[2026-10-20 14:15:49,385.385 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:15:49,388.388 INFO    ] Waiting 1.05 seconds before fallback handling...
[2026-10-20 14:15:50,976.976 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:15:50,978.978 INFO    ] Checking for system updates...
[2026-10-20 14:15:51,017.017 INFO    ] 200
[2026-10-20 14:15:51,020.020 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:15:51,071.071 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:15:51,074.074 INFO    ] No update needed
[2026-10-20 14:15:51,076.076 INFO    ] Checking for camera pi updates...
[2026-10-20 14:15:51,110.110 INFO    ] 200
[2026-10-20 14:15:51,112.112 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:15:51,156.156 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:15:51,205.205 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:15:51,207.207 INFO    ] No camera update needed
[2026-10-20 14:15:51,210.210 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:15:51,212.212 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:15:51,218.218 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:15:51,223.223 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:15:53,263.263 INFO    ] ================================================
[2026-10-20 14:15:53,279.279 INFO    ] Launching Daemon at Tue Oct 20 14:15:53 IST 2026
[2026-10-20 14:15:53,290.290 INFO    ] ================================================
[2026-10-20 14:15:53,932.932 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:15:53
[2026-10-20 14:15:54,590.590 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:15:54,889.889 INFO    ] Initializing speech engine...
[2026-10-20 14:15:54,896.896 INFO    ] 2026-10-20 14:15:54
[2026-10-20 14:15:55,166.166 INFO    ] 2026-10-20 14:15:55
[2026-10-20 14:15:55,221.221 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:15:55,508.508 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:15:55,517.517 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:15:55,716.716 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:15:55,723.723 INFO    ] time= 20/10/2026 14:15:55
[2026-10-20 14:15:55,744.744 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:15:55,771.771 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:15:55,897.897 INFO    ] No existing commands found in stream
[2026-10-20 14:16:00,928.928 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:16:00,932.932 INFO    ] Waiting 0.63 seconds before fallback handling...
[2026-10-20 14:16:02,136.136 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 14:16:02,140.140 INFO    ] Checking for system updates...
[2026-10-20 14:16:02,186.186 INFO    ] 200
[2026-10-20 14:16:02,190.190 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:16:02,267.267 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:16:02,271.271 INFO    ] No update needed
[2026-10-20 14:16:02,275.275 INFO    ] Checking for camera pi updates...
[2026-10-20 14:16:02,324.324 INFO    ] 200
[2026-10-20 14:16:02,327.327 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:16:02,374.374 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:16:02,409.409 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:16:02,412.412 INFO    ] No camera update needed
[2026-10-20 14:16:02,415.415 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:16:02,419.419 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:16:02,426.426 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:16:02,434.434 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:16:04,474.474 INFO    ] ================================================
[2026-10-20 14:16:04,490.490 INFO    ] Launching Daemon at Tue Oct 20 14:16:04 IST 2026
[2026-10-20 14:16:04,500.500 INFO    ] ================================================
[2026-10-20 14:16:05,144.144 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:16:05
[2026-10-20 14:16:05,810.810 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:16:06,112.112 INFO    ] Initializing speech engine...
[2026-10-20 14:16:06,126.126 INFO    ] 2026-10-20 14:16:06
[2026-10-20 14:16:06,410.410 INFO    ] 2026-10-20 14:16:06
[2026-10-20 14:16:06,520.520 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:16:06,729.729 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:16:06,737.737 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:16:06,933.933 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:16:06,940.940 INFO    ] time= 20/10/2026 14:16:06
[2026-10-20 14:16:06,958.958 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:16:06,989.989 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:16:07,096.096 INFO    ] No existing commands found in stream
[2026-10-20 14:16:12,116.116 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:16:12,119.119 INFO    ] Waiting 3.38 seconds before fallback handling...
[2026-10-20 14:16:16,049.049 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:16:16,052.052 INFO    ] Checking for system updates...
[2026-10-20 14:16:16,088.088 INFO    ] 200
[2026-10-20 14:16:16,091.091 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:16:16,143.143 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:16:16,146.146 INFO    ] No update needed
[2026-10-20 14:16:16,149.149 INFO    ] Checking for camera pi updates...
[2026-10-20 14:16:16,183.183 INFO    ] 200
[2026-10-20 14:16:16,185.185 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:16:16,231.231 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:16:16,281.281 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:16:16,283.283 INFO    ] No camera update needed
[2026-10-20 14:16:16,286.286 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:16:16,288.288 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:16:16,293.293 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:16:16,298.298 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:16:18,339.339 INFO    ] ================================================
[2026-10-20 14:16:18,354.354 INFO    ] Launching Daemon at Tue Oct 20 14:16:18 IST 2026
[2026-10-20 14:16:18,366.366 INFO    ] ================================================
[2026-10-20 14:16:18,933.933 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:16:18
[2026-10-20 14:16:19,536.536 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:16:19,816.816 INFO    ] Initializing speech engine...
[2026-10-20 14:16:19,823.823 INFO    ] 2026-10-20 14:16:19
[2026-10-20 14:16:20,085.085 INFO    ] 2026-10-20 14:16:20
[2026-10-20 14:16:20,139.139 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:16:20,429.429 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:16:20,434.434 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:16:20,629.629 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:16:20,646.646 INFO    ] time= 20/10/2026 14:16:20
[2026-10-20 14:16:20,656.656 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:16:20,682.682 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:16:20,803.803 INFO    ] No existing commands found in stream
[2026-10-20 14:16:25,833.833 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:16:25,836.836 INFO    ] Waiting 2.69 seconds before fallback handling...
[2026-10-20 14:16:29,070.070 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:16:29,074.074 INFO    ] Checking for system updates...
[2026-10-20 14:16:29,113.113 INFO    ] 200
[2026-10-20 14:16:29,116.116 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:16:29,168.168 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:16:29,171.171 INFO    ] No update needed
[2026-10-20 14:16:29,174.174 INFO    ] Checking for camera pi updates...
[2026-10-20 14:16:29,211.211 INFO    ] 200
[2026-10-20 14:16:29,214.214 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:16:29,256.256 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:16:29,303.303 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:16:29,306.306 INFO    ] No camera update needed
[2026-10-20 14:16:29,308.308 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:16:29,311.311 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:16:29,317.317 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:16:29,323.323 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:16:31,367.367 INFO    ] ================================================
[2026-10-20 14:16:31,384.384 INFO    ] Launching Daemon at Tue Oct 20 14:16:31 IST 2026
[2026-10-20 14:16:31,399.399 INFO    ] ================================================
[2026-10-20 14:16:32,088.088 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:16:32
[2026-10-20 14:16:32,787.787 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:16:33,079.079 INFO    ] Initializing speech engine...
[2026-10-20 14:16:33,091.091 INFO    ] 2026-10-20 14:16:33
[2026-10-20 14:16:33,362.362 INFO    ] 2026-10-20 14:16:33
[2026-10-20 14:16:33,417.417 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:16:33,706.706 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:16:33,716.716 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:16:33,910.910 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:16:33,927.927 INFO    ] time= 20/10/2026 14:16:33
[2026-10-20 14:16:33,951.951 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:16:33,965.965 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:16:34,101.101 INFO    ] No existing commands found in stream
[2026-10-20 14:16:39,132.132 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:16:39,136.136 INFO    ] Waiting 0.53 seconds before fallback handling...
[2026-10-20 14:16:40,200.200 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:16:40,203.203 INFO    ] Checking for system updates...
[2026-10-20 14:16:40,240.240 INFO    ] 200
[2026-10-20 14:16:40,242.242 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:16:40,295.295 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:16:40,297.297 INFO    ] No update needed
[2026-10-20 14:16:40,299.299 INFO    ] Checking for camera pi updates...
[2026-10-20 14:16:40,333.333 INFO    ] 200
[2026-10-20 14:16:40,335.335 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:16:40,375.375 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:16:40,417.417 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:16:40,420.420 INFO    ] No camera update needed
[2026-10-20 14:16:40,423.423 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:16:40,425.425 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:16:40,430.430 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:16:40,435.435 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:16:42,474.474 INFO    ] ================================================
[2026-10-20 14:16:42,490.490 INFO    ] Launching Daemon at Tue Oct 20 14:16:42 IST 2026
[2026-10-20 14:16:42,501.501 INFO    ] ================================================
[2026-10-20 14:16:43,071.071 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:16:43
[2026-10-20 14:16:43,660.660 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:16:43,927.927 INFO    ] Initializing speech engine...
[2026-10-20 14:16:43,936.936 INFO    ] 2026-10-20 14:16:43
[2026-10-20 14:16:44,181.181 INFO    ] 2026-10-20 14:16:44
[2026-10-20 14:16:44,215.215 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:16:44,471.471 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:16:44,476.476 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:16:44,674.674 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:16:44,724.724 INFO    ] time= 20/10/2026 14:16:44
[2026-10-20 14:16:44,738.738 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:16:44,744.744 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:16:44,887.887 INFO    ] No existing commands found in stream
[2026-10-20 14:16:49,900.900 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:16:49,903.903 INFO    ] Waiting 0.33 seconds before fallback handling...
[2026-10-20 14:16:50,780.780 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 14:16:50,783.783 INFO    ] Checking for system updates...
[2026-10-20 14:16:50,819.819 INFO    ] 200
[2026-10-20 14:16:50,821.821 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:16:50,873.873 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:16:50,875.875 INFO    ] No update needed
[2026-10-20 14:16:50,878.878 INFO    ] Checking for camera pi updates...
[2026-10-20 14:16:50,915.915 INFO    ] 200
[2026-10-20 14:16:50,918.918 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:16:50,958.958 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:16:51,007.007 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:16:51,010.010 INFO    ] No camera update needed
[2026-10-20 14:16:51,012.012 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:16:51,014.014 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:16:51,020.020 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:16:51,025.025 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:16:53,065.065 INFO    ] ================================================
[2026-10-20 14:16:53,081.081 INFO    ] Launching Daemon at Tue Oct 20 14:16:53 IST 2026
[2026-10-20 14:16:53,091.091 INFO    ] ================================================
[2026-10-20 14:16:53,746.746 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:16:53
[2026-10-20 14:16:54,373.373 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:16:54,674.674 INFO    ] Initializing speech engine...
[2026-10-20 14:16:54,688.688 INFO    ] 2026-10-20 14:16:54
[2026-10-20 14:16:54,967.967 INFO    ] 2026-10-20 14:16:54
[2026-10-20 14:16:55,012.012 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:16:55,296.296 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:16:55,303.303 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:16:55,495.495 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:16:55,502.502 INFO    ] time= 20/10/2026 14:16:55
[2026-10-20 14:16:55,521.521 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:16:55,553.553 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:16:55,751.751 INFO    ] No existing commands found in stream
[2026-10-20 14:17:00,766.766 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:17:00,769.769 INFO    ] Waiting 0.99 seconds before fallback handling...
[2026-10-20 14:17:02,336.336 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:17:02,339.339 INFO    ] Checking for system updates...
[2026-10-20 14:17:02,383.383 INFO    ] 200
[2026-10-20 14:17:02,385.385 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:17:02,452.452 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:17:02,455.455 INFO    ] No update needed
[2026-10-20 14:17:02,457.457 INFO    ] Checking for camera pi updates...
[2026-10-20 14:17:02,499.499 INFO    ] 200
[2026-10-20 14:17:02,502.502 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:17:02,554.554 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:17:02,585.585 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:17:02,589.589 INFO    ] No camera update needed
[2026-10-20 14:17:02,592.592 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:17:02,595.595 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:17:02,603.603 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:17:02,610.610 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:17:04,651.651 INFO    ] ================================================
[2026-10-20 14:17:04,667.667 INFO    ] Launching Daemon at Tue Oct 20 14:17:04 IST 2026
[2026-10-20 14:17:04,678.678 INFO    ] ================================================
[2026-10-20 14:17:05,274.274 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:17:05
[2026-10-20 14:17:05,890.890 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:17:06,153.153 INFO    ] Initializing speech engine...
[2026-10-20 14:17:06,162.162 INFO    ] 2026-10-20 14:17:06
[2026-10-20 14:17:06,476.476 INFO    ] 2026-10-20 14:17:06
[2026-10-20 14:17:06,513.513 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:17:06,723.723 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:17:06,736.736 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:17:06,909.909 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:17:06,917.917 INFO    ] time= 20/10/2026 14:17:06
[2026-10-20 14:17:06,924.924 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:17:06,986.986 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:17:07,124.124 INFO    ] No existing commands found in stream
[2026-10-20 14:17:12,149.149 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:17:12,152.152 INFO    ] Waiting 2.24 seconds before fallback handling...
[2026-10-20 14:17:14,909.909 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 14:17:14,911.911 INFO    ] Checking for system updates...
[2026-10-20 14:17:14,947.947 INFO    ] 200
[2026-10-20 14:17:14,950.950 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:17:15,006.006 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:17:15,009.009 INFO    ] No update needed
[2026-10-20 14:17:15,011.011 INFO    ] Checking for camera pi updates...
[2026-10-20 14:17:15,044.044 INFO    ] 200
[2026-10-20 14:17:15,047.047 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:17:15,086.086 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:17:15,133.133 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:17:15,136.136 INFO    ] No camera update needed
[2026-10-20 14:17:15,138.138 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:17:15,141.141 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:17:15,146.146 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:17:15,151.151 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:17:17,192.192 INFO    ] ================================================
[2026-10-20 14:17:17,207.207 INFO    ] Launching Daemon at Tue Oct 20 14:17:17 IST 2026
[2026-10-20 14:17:17,218.218 INFO    ] ================================================
[2026-10-20 14:17:17,783.783 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:17:17
[2026-10-20 14:17:18,364.364 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:17:18,610.610 INFO    ] Initializing speech engine...
[2026-10-20 14:17:18,616.616 INFO    ] 2026-10-20 14:17:18
[2026-10-20 14:17:18,886.886 INFO    ] 2026-10-20 14:17:18
[2026-10-20 14:17:18,922.922 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:17:19,176.176 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:17:19,186.186 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:17:19,339.339 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:17:19,399.399 INFO    ] time= 20/10/2026 14:17:19
[2026-10-20 14:17:19,451.451 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:17:19,458.458 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:17:19,584.584 INFO    ] No existing commands found in stream
[2026-10-20 14:17:24,613.613 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:17:24,615.615 INFO    ] Waiting 0.68 seconds before fallback handling...
[2026-10-20 14:17:25,850.850 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:17:25,853.853 INFO    ] Checking for system updates...
[2026-10-20 14:17:25,888.888 INFO    ] 200
[2026-10-20 14:17:25,891.891 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:17:25,946.946 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:17:25,948.948 INFO    ] No update needed
[2026-10-20 14:17:25,951.951 INFO    ] Checking for camera pi updates...
[2026-10-20 14:17:25,983.983 INFO    ] 200
[2026-10-20 14:17:25,986.986 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:17:26,028.028 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:17:26,156.156 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:17:26,158.158 INFO    ] No camera update needed
[2026-10-20 14:17:26,161.161 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:17:26,163.163 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:17:26,168.168 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:17:26,173.173 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:17:28,213.213 INFO    ] ================================================
[2026-10-20 14:17:28,229.229 INFO    ] Launching Daemon at Tue Oct 20 14:17:28 IST 2026
[2026-10-20 14:17:28,240.240 INFO    ] ================================================
[2026-10-20 14:17:28,860.860 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:17:28
[2026-10-20 14:17:29,499.499 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:17:29,792.792 INFO    ] Initializing speech engine...
[2026-10-20 14:17:29,802.802 INFO    ] 2026-10-20 14:17:29
[2026-10-20 14:17:30,068.068 INFO    ] 2026-10-20 14:17:30
[2026-10-20 14:17:30,125.125 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:17:30,385.385 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:17:30,415.415 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:17:30,624.624 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:17:30,632.632 INFO    ] time= 20/10/2026 14:17:30
[2026-10-20 14:17:30,651.651 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:17:30,668.668 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:17:30,811.811 INFO    ] No existing commands found in stream
[2026-10-20 14:17:35,841.841 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:17:35,844.844 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-10-20 14:17:39,008.008 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:17:39,011.011 INFO    ] Checking for system updates...
[2026-10-20 14:17:39,050.050 INFO    ] 200
[2026-10-20 14:17:39,053.053 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:17:39,107.107 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:17:39,109.109 INFO    ] No update needed
[2026-10-20 14:17:39,112.112 INFO    ] Checking for camera pi updates...
[2026-10-20 14:17:39,146.146 INFO    ] 200
[2026-10-20 14:17:39,148.148 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:17:39,189.189 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:17:39,239.239 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:17:39,242.242 INFO    ] No camera update needed
[2026-10-20 14:17:39,245.245 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:17:39,247.247 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:17:39,253.253 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:17:39,259.259 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:17:41,300.300 INFO    ] ================================================
[2026-10-20 14:17:41,315.315 INFO    ] Launching Daemon at Tue Oct 20 14:17:41 IST 2026
[2026-10-20 14:17:41,326.326 INFO    ] ================================================
[2026-10-20 14:17:41,892.892 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:17:41
[2026-10-20 14:17:42,478.478 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:17:42,738.738 INFO    ] Initializing speech engine...
[2026-10-20 14:17:42,766.766 INFO    ] 2026-10-20 14:17:42
[2026-10-20 14:17:43,030.030 INFO    ] 2026-10-20 14:17:43
[2026-10-20 14:17:43,067.067 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:17:43,329.329 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:17:43,355.355 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:17:43,511.511 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:17:43,552.552 INFO    ] time= 20/10/2026 14:17:43
[2026-10-20 14:17:43,606.606 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:17:43,650.650 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:17:43,802.802 INFO    ] No existing commands found in stream
[2026-10-20 14:17:48,832.832 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:17:48,835.835 INFO    ] Waiting 0.91 seconds before fallback handling...
[2026-10-20 14:17:50,249.249 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 14:17:50,252.252 INFO    ] Checking for system updates...
[2026-10-20 14:17:50,290.290 INFO    ] 200
[2026-10-20 14:17:50,292.292 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:17:50,344.344 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:17:50,347.347 INFO    ] No update needed
[2026-10-20 14:17:50,349.349 INFO    ] Checking for camera pi updates...
[2026-10-20 14:17:50,382.382 INFO    ] 200
[2026-10-20 14:17:50,384.384 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:17:50,424.424 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:17:50,482.482 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:17:50,485.485 INFO    ] No camera update needed
[2026-10-20 14:17:50,487.487 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:17:50,489.489 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:17:50,495.495 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:17:50,499.499 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:17:52,539.539 INFO    ] ================================================
[2026-10-20 14:17:52,554.554 INFO    ] Launching Daemon at Tue Oct 20 14:17:52 IST 2026
[2026-10-20 14:17:52,566.566 INFO    ] ================================================
[2026-10-20 14:17:53,149.149 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:17:53
[2026-10-20 14:17:53,749.749 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:17:54,026.026 INFO    ] Initializing speech engine...
[2026-10-20 14:17:54,035.035 INFO    ] 2026-10-20 14:17:54
[2026-10-20 14:17:54,294.294 INFO    ] 2026-10-20 14:17:54
[2026-10-20 14:17:54,346.346 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:17:54,571.571 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:17:54,580.580 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:17:54,789.789 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:17:54,839.839 INFO    ] time= 20/10/2026 14:17:54
[2026-10-20 14:17:54,845.845 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:17:54,862.862 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:17:54,994.994 INFO    ] No existing commands found in stream
[2026-10-20 14:18:00,001.001 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:18:00,004.004 INFO    ] Waiting 3.94 seconds before fallback handling...
[2026-10-20 14:18:04,508.508 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:18:04,511.511 INFO    ] Checking for system updates...
[2026-10-20 14:18:04,548.548 INFO    ] 200
[2026-10-20 14:18:04,551.551 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:18:04,608.608 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:18:04,611.611 INFO    ] No update needed
[2026-10-20 14:18:04,613.613 INFO    ] Checking for camera pi updates...
[2026-10-20 14:18:04,651.651 INFO    ] 200
[2026-10-20 14:18:04,654.654 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:18:04,694.694 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:18:04,744.744 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:18:04,746.746 INFO    ] No camera update needed
[2026-10-20 14:18:04,749.749 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:18:04,752.752 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:18:04,757.757 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:18:04,763.763 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:18:06,804.804 INFO    ] ================================================
[2026-10-20 14:18:06,819.819 INFO    ] Launching Daemon at Tue Oct 20 14:18:06 IST 2026
[2026-10-20 14:18:06,829.829 INFO    ] ================================================
[2026-10-20 14:18:07,410.410 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:18:07
[2026-10-20 14:18:08,002.002 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:18:08,246.246 INFO    ] Initializing speech engine...
[2026-10-20 14:18:08,254.254 INFO    ] 2026-10-20 14:18:08
[2026-10-20 14:18:08,529.529 INFO    ] 2026-10-20 14:18:08
[2026-10-20 14:18:08,563.563 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:18:08,820.820 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:18:08,829.829 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:18:09,042.042 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:18:09,091.091 INFO    ] time= 20/10/2026 14:18:09
[2026-10-20 14:18:09,098.098 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:18:09,116.116 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:18:09,254.254 INFO    ] No existing commands found in stream
[2026-10-20 14:18:14,284.284 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:18:14,287.287 INFO    ] Waiting 0.08 seconds before fallback handling...
[2026-10-20 14:18:14,878.878 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:18:14,880.880 INFO    ] Checking for system updates...
[2026-10-20 14:18:14,918.918 INFO    ] 200
[2026-10-20 14:18:14,922.922 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:18:14,975.975 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:18:14,977.977 INFO    ] No update needed
[2026-10-20 14:18:14,980.980 INFO    ] Checking for camera pi updates...
[2026-10-20 14:18:15,014.014 INFO    ] 200
[2026-10-20 14:18:15,016.016 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:18:15,057.057 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:18:15,107.107 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:18:15,110.110 INFO    ] No camera update needed
[2026-10-20 14:18:15,113.113 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:18:15,115.115 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:18:15,121.121 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:18:15,126.126 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:18:17,168.168 INFO    ] ================================================
[2026-10-20 14:18:17,184.184 INFO    ] Launching Daemon at Tue Oct 20 14:18:17 IST 2026
[2026-10-20 14:18:17,195.195 INFO    ] ================================================
[2026-10-20 14:18:17,762.762 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:18:17
[2026-10-20 14:18:18,346.346 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:18:18,600.600 INFO    ] Initializing speech engine...
[2026-10-20 14:18:18,608.608 INFO    ] 2026-10-20 14:18:18
[2026-10-20 14:18:18,892.892 INFO    ] 2026-10-20 14:18:18
[2026-10-20 14:18:18,929.929 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:18:19,180.180 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:18:19,208.208 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:18:19,362.362 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:18:19,397.397 INFO    ] time= 20/10/2026 14:18:19
[2026-10-20 14:18:19,436.436 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:18:19,485.485 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:18:19,628.628 INFO    ] No existing commands found in stream
[2026-10-20 14:18:24,643.643 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:18:24,646.646 INFO    ] Waiting 3.83 seconds before fallback handling...
[2026-10-20 14:18:29,003.003 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:18:29,006.006 INFO    ] Checking for system updates...
[2026-10-20 14:18:29,042.042 INFO    ] 200
[2026-10-20 14:18:29,044.044 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:18:29,096.096 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:18:29,099.099 INFO    ] No update needed
[2026-10-20 14:18:29,102.102 INFO    ] Checking for camera pi updates...
[2026-10-20 14:18:29,138.138 INFO    ] 200
[2026-10-20 14:18:29,141.141 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:18:29,181.181 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:18:29,233.233 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:18:29,235.235 INFO    ] No camera update needed
[2026-10-20 14:18:29,238.238 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:18:29,240.240 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:18:29,246.246 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:18:29,252.252 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:18:31,292.292 INFO    ] ================================================
[2026-10-20 14:18:31,307.307 INFO    ] Launching Daemon at Tue Oct 20 14:18:31 IST 2026
[2026-10-20 14:18:31,317.317 INFO    ] ================================================
[2026-10-20 14:18:31,940.940 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:18:31
[2026-10-20 14:18:32,576.576 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:18:32,868.868 INFO    ] Initializing speech engine...
[2026-10-20 14:18:32,874.874 INFO    ] 2026-10-20 14:18:32
[2026-10-20 14:18:33,135.135 INFO    ] 2026-10-20 14:18:33
[2026-10-20 14:18:33,165.165 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:18:33,415.415 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:18:33,421.421 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:18:33,633.633 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:18:33,677.677 INFO    ] time= 20/10/2026 14:18:33
[2026-10-20 14:18:33,684.684 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:18:33,704.704 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:18:33,799.799 INFO    ] No existing commands found in stream
[2026-10-20 14:18:38,826.826 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:18:38,829.829 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-10-20 14:18:41,164.164 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:18:41,166.166 INFO    ] Checking for system updates...
[2026-10-20 14:18:41,202.202 INFO    ] 200
[2026-10-20 14:18:41,204.204 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:18:41,257.257 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:18:41,259.259 INFO    ] No update needed
[2026-10-20 14:18:41,262.262 INFO    ] Checking for camera pi updates...
[2026-10-20 14:18:41,295.295 INFO    ] 200
[2026-10-20 14:18:41,298.298 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:18:41,343.343 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:18:41,375.375 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:18:41,377.377 INFO    ] No camera update needed
[2026-10-20 14:18:41,380.380 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:18:41,382.382 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:18:41,388.388 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:18:41,394.394 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:18:43,434.434 INFO    ] ================================================
[2026-10-20 14:18:43,450.450 INFO    ] Launching Daemon at Tue Oct 20 14:18:43 IST 2026
[2026-10-20 14:18:43,460.460 INFO    ] ================================================
[2026-10-20 14:18:44,042.042 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:18:44
[2026-10-20 14:18:44,640.640 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:18:44,912.912 INFO    ] Initializing speech engine...
[2026-10-20 14:18:44,923.923 INFO    ] 2026-10-20 14:18:44
[2026-10-20 14:18:45,183.183 INFO    ] 2026-10-20 14:18:45
[2026-10-20 14:18:45,236.236 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:18:45,463.463 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:18:45,468.468 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:18:45,683.683 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:18:45,723.723 INFO    ] time= 20/10/2026 14:18:45
[2026-10-20 14:18:45,729.729 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:18:45,747.747 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:18:45,882.882 INFO    ] No existing commands found in stream
[2026-10-20 14:18:50,912.912 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:18:50,915.915 INFO    ] Waiting 2.23 seconds before fallback handling...
[2026-10-20 14:18:53,644.644 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 14:18:53,647.647 INFO    ] Checking for system updates...
[2026-10-20 14:18:53,691.691 INFO    ] 200
[2026-10-20 14:18:53,694.694 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:18:53,766.766 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:18:53,768.768 INFO    ] No update needed
[2026-10-20 14:18:53,771.771 INFO    ] Checking for camera pi updates...
[2026-10-20 14:18:53,804.804 INFO    ] 200
[2026-10-20 14:18:53,806.806 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:18:53,846.846 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:18:53,895.895 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:18:53,897.897 INFO    ] No camera update needed
[2026-10-20 14:18:53,900.900 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:18:53,902.902 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:18:53,908.908 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:18:53,913.913 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:18:55,953.953 INFO    ] ================================================
[2026-10-20 14:18:55,967.967 INFO    ] Launching Daemon at Tue Oct 20 14:18:55 IST 2026
[2026-10-20 14:18:55,978.978 INFO    ] ================================================
[2026-10-20 14:18:56,562.562 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:18:56
[2026-10-20 14:18:57,163.163 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:18:57,443.443 INFO    ] Initializing speech engine...
[2026-10-20 14:18:57,458.458 INFO    ] 2026-10-20 14:18:57
[2026-10-20 14:18:57,722.722 INFO    ] 2026-10-20 14:18:57
[2026-10-20 14:18:57,757.757 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:18:57,975.975 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:18:57,983.983 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:18:58,197.197 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:18:58,219.219 INFO    ] time= 20/10/2026 14:18:58
[2026-10-20 14:18:58,269.269 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:18:58,318.318 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:18:58,487.487 INFO    ] No existing commands found in stream
[2026-10-20 14:19:03,512.512 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:19:03,515.515 INFO    ] Waiting 0.61 seconds before fallback handling...
[2026-10-20 14:19:04,668.668 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 14:19:04,671.671 INFO    ] Checking for system updates...
[2026-10-20 14:19:04,707.707 INFO    ] 200
[2026-10-20 14:19:04,710.710 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:19:04,768.768 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:19:04,771.771 INFO    ] No update needed
[2026-10-20 14:19:04,774.774 INFO    ] Checking for camera pi updates...
[2026-10-20 14:19:04,811.811 INFO    ] 200
[2026-10-20 14:19:04,814.814 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:19:04,860.860 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:19:04,910.910 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:19:04,913.913 INFO    ] No camera update needed
[2026-10-20 14:19:04,916.916 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:19:04,918.918 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:19:04,925.925 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:19:04,930.930 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:19:06,970.970 INFO    ] ================================================
[2026-10-20 14:19:06,985.985 INFO    ] Launching Daemon at Tue Oct 20 14:19:06 IST 2026
[2026-10-20 14:19:07,995.995 INFO    ] ================================================
[2026-10-20 14:19:07,568.568 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:19:07
[2026-10-20 14:19:08,161.161 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:19:08,430.430 INFO    ] Initializing speech engine...
[2026-10-20 14:19:08,436.436 INFO    ] 2026-10-20 14:19:08
[2026-10-20 14:19:08,681.681 INFO    ] 2026-10-20 14:19:08
[2026-10-20 14:19:08,715.715 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:19:08,965.965 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:19:08,975.975 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:19:09,196.196 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:19:09,232.232 INFO    ] time= 20/10/2026 14:19:09
[2026-10-20 14:19:09,238.238 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:19:09,259.259 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:19:09,385.385 INFO    ] No existing commands found in stream
[2026-10-20 14:19:14,397.397 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:19:14,400.400 INFO    ] Waiting 0.76 seconds before fallback handling...
[2026-10-20 14:19:15,654.654 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:19:15,657.657 INFO    ] Checking for system updates...
[2026-10-20 14:19:15,695.695 INFO    ] 200
[2026-10-20 14:19:15,698.698 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:19:15,749.749 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:19:15,752.752 INFO    ] No update needed
[2026-10-20 14:19:15,754.754 INFO    ] Checking for camera pi updates...
[2026-10-20 14:19:15,790.790 INFO    ] 200
[2026-10-20 14:19:15,793.793 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:19:15,833.833 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:19:15,900.900 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:19:15,903.903 INFO    ] No camera update needed
[2026-10-20 14:19:15,905.905 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:19:15,907.907 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:19:15,912.912 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:19:15,917.917 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:19:17,957.957 INFO    ] ================================================
[2026-10-20 14:19:17,972.972 INFO    ] Launching Daemon at Tue Oct 20 14:19:17 IST 2026
[2026-10-20 14:19:17,982.982 INFO    ] ================================================
[2026-10-20 14:19:18,624.624 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:19:18
[2026-10-20 14:19:19,288.288 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:19:19,589.589 INFO    ] Initializing speech engine...
[2026-10-20 14:19:19,596.596 INFO    ] 2026-10-20 14:19:19
[2026-10-20 14:19:19,867.867 INFO    ] 2026-10-20 14:19:19
[2026-10-20 14:19:19,925.925 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:19:20,146.146 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:19:20,156.156 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:19:20,348.348 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:19:20,409.409 INFO    ] time= 20/10/2026 14:19:20
[2026-10-20 14:19:20,421.421 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:19:20,442.442 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:19:20,567.567 INFO    ] No existing commands found in stream
[2026-10-20 14:19:25,582.582 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:19:25,585.585 INFO    ] Waiting 2.04 seconds before fallback handling...
[2026-10-20 14:19:28,177.177 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:19:28,180.180 INFO    ] Checking for system updates...
[2026-10-20 14:19:28,216.216 INFO    ] 200
[2026-10-20 14:19:28,219.219 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:19:28,271.271 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:19:28,274.274 INFO    ] No update needed
[2026-10-20 14:19:28,277.277 INFO    ] Checking for camera pi updates...
[2026-10-20 14:19:28,314.314 INFO    ] 200
[2026-10-20 14:19:28,317.317 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:19:28,358.358 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:19:28,507.507 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:19:28,510.510 INFO    ] No camera update needed
[2026-10-20 14:19:28,512.512 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:19:28,515.515 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:19:28,520.520 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:19:28,525.525 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:19:30,564.564 INFO    ] ================================================
[2026-10-20 14:19:30,579.579 INFO    ] Launching Daemon at Tue Oct 20 14:19:30 IST 2026
[2026-10-20 14:19:30,590.590 INFO    ] ================================================
[2026-10-20 14:19:31,174.174 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:19:31
[2026-10-20 14:19:31,811.811 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:19:32,139.139 INFO    ] Initializing speech engine...
[2026-10-20 14:19:32,147.147 INFO    ] 2026-10-20 14:19:32
[2026-10-20 14:19:32,432.432 INFO    ] 2026-10-20 14:19:32
[2026-10-20 14:19:32,500.500 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:19:32,764.764 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:19:32,783.783 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:19:33,001.001 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:19:33,020.020 INFO    ] time= 20/10/2026 14:19:33
[2026-10-20 14:19:33,051.051 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:19:33,059.059 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:19:33,189.189 INFO    ] Found 1 existing command(s) in stream
[2026-10-20 14:19:33,234.234 INFO    ] Checking historical command: ID=1792486168753-0
[2026-10-20 14:19:33,271.271 INFO    ] process_and_cleanup_command: msg_id=1792486168753-0
[2026-10-20 14:19:33,330.330 INFO    ] is_command_expired: timestamp=2026-10-20T08:49:28.377Z, expiry=30s
[2026-10-20 14:19:33,612.612 INFO    ] Command removed from stream: 1792486168753-0. returning for processing...
[2026-10-20 14:19:33,632.632 INFO    ] ***** get_valid_command
[2026-10-20 14:19:33,635.635 INFO    ] {'data': '{"request_id":"start-order-1792486168377-tb12q0sp9","orderId":"TM04202203261020141850682","is_vending":false}', 'command': 'start-order', 'timestamp': '2026-10-20T08:49:28.377Z', 'source': 'webapp', 'timeout': '10'}
[2026-10-20 14:19:33,686.686 INFO    ] ***** Parsed command data: {'is_vending': False, 'orderId': 'TM04202203261020141850682', 'request_id': 'start-order-1792486168377-tb12q0sp9'}
[2026-10-20 14:19:33,690.690 INFO    ] Handling start order...
[2026-10-20 14:19:33,740.740 INFO    ] handle_start_order_command
[2026-10-20 14:19:33,754.754 INFO    ] _send_start_order_success: request_id=start-order-1792486168377-tb12q0sp9, order_id=TM04202203261020141850682
[2026-10-20 14:19:33,759.759 INFO    ] [_send_start_order_success] Adding message to stream: machine:TM04202203
[2026-10-20 14:19:33,896.896 INFO    ] [_send_start_order_success] Message added to stream with ID: 1792486173838-0
[2026-10-20 14:19:33,904.904 INFO    ] ✅ Start-order command succeeded - order locked, waiting for process-order command
[2026-10-20 14:19:33,909.909 INFO    ] Checking for system updates...
[2026-10-20 14:19:33,963.963 INFO    ] 200
[2026-10-20 14:19:33,970.970 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:19:34,029.029 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:19:34,035.035 INFO    ] No update needed
[2026-10-20 14:19:34,041.041 INFO    ] Checking for camera pi updates...
[2026-10-20 14:19:34,080.080 INFO    ] 200
[2026-10-20 14:19:34,086.086 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:19:34,145.145 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:19:34,196.196 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:19:34,207.207 INFO    ] No camera update needed
[2026-10-20 14:19:34,218.218 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:19:34,221.221 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:19:34,228.228 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:19:34,302.302 INFO    ] Thread: Thread-1, daemon=True, alive=True
[2026-10-20 14:19:34,359.359 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:19:36,452.452 INFO    ] ================================================
[2026-10-20 14:19:36,467.467 INFO    ] Launching Daemon at Tue Oct 20 14:19:36 IST 2026
[2026-10-20 14:19:36,477.477 INFO    ] ================================================
[2026-10-20 14:19:37,048.048 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:19:37
[2026-10-20 14:19:37,636.636 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:19:37,907.907 INFO    ] Initializing speech engine...
[2026-10-20 14:19:37,916.916 INFO    ] 2026-10-20 14:19:37
[2026-10-20 14:19:38,164.164 INFO    ] 2026-10-20 14:19:38
[2026-10-20 14:19:38,199.199 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:19:38,459.459 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:19:38,468.468 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:19:38,605.605 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:19:38,665.665 INFO    ] time= 20/10/2026 14:19:38
[2026-10-20 14:19:38,714.714 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:19:38,741.741 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:19:38,896.896 INFO    ] Found 2 existing command(s) in stream
[2026-10-20 14:19:38,946.946 INFO    ] Checking historical command: ID=1792486173838-0
[2026-10-20 14:19:39,005.005 INFO    ] process_and_cleanup_command: msg_id=1792486173838-0
[2026-10-20 14:19:39,034.034 INFO    ] is_command_expired: timestamp=2026-10-20T08:49:33.756331Z, expiry=30s
[2026-10-20 14:19:39,235.235 INFO    ] Command removed from stream: 1792486173838-0. returning for processing...
[2026-10-20 14:19:39,238.238 INFO    ] ***** get_valid_command
[2026-10-20 14:19:39,241.241 INFO    ] {'message_type': 'command_response', 'timestamp': '2026-10-20T08:49:33.756331Z', 'metadata_order_id': 'TM04202203261020141850682', 'imei': 'TM04202203', 'message': 'start-order success', 'metadata_request_id': 'start-order-1792486168377-tb12q0sp9', 'status': 'success'}
[2026-10-20 14:19:39,244.244 INFO    ] Checking historical command: ID=1792486175087-0
[2026-10-20 14:19:39,282.282 INFO    ] process_and_cleanup_command: msg_id=1792486175087-0
[2026-10-20 14:19:39,345.345 INFO    ] is_command_expired: timestamp=2026-10-20T08:49:34.840Z, expiry=30s
[2026-10-20 14:19:39,481.481 INFO    ] Command removed from stream: 1792486175087-0. returning for processing...
[2026-10-20 14:19:39,486.486 INFO    ] ***** get_valid_command
[2026-10-20 14:19:39,491.491 INFO    ] {'command': 'process-order', 'timestamp': '2026-10-20T08:49:34.840Z', 'timeout': '60', 'data': '{"request_id":"process-order-1792486174840-rg5al4w50","orderId":"TM04202203261020141850682","is_vending":false,"accessCode":"96821769"}', 'source': 'webapp'}
[2026-10-20 14:19:39,496.496 INFO    ] ***** Parsed command data: {'accessCode': '96821769', 'orderId': 'TM04202203261020141850682', 'is_vending': False, 'request_id': 'process-order-1792486174840-rg5al4w50'}
[2026-10-20 14:19:39,500.500 INFO    ] Handling process order...
[2026-10-20 14:19:39,504.504 INFO    ] Processing process-order command...
[2026-10-20 14:19:39,509.509 INFO    ] 🔍 Lock file Order ID: TM04202203261020141850682, TS: 2026-10-20 14:19:33
[2026-10-20 14:19:39,525.525 INFO    ] ✅ Order lock valid for TM04202203261020141850682
[2026-10-20 14:19:39,529.529 INFO    ] Received access code in process-order, skipping PHP API call
[2026-10-20 14:19:39,533.533 INFO    ] processing access code 96821769 for order TM04202203261020141850682
[2026-10-20 14:19:39,538.538 INFO    ] 🔍 Lock file Order ID: TM04202203261020141850682, TS: 2026-10-20 14:19:33
[2026-10-20 14:19:39,544.544 INFO    ] ✅ Order lock valid for TM04202203261020141850682
[2026-10-20 14:19:39,548.548 INFO    ] 2026-10-20 14:19:39
[2026-10-20 14:19:39,659.659 INFO    ] 200
[2026-10-20 14:19:39,692.692 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:19:39,698.698 INFO    ] 96821769
[2026-10-20 14:19:39,702.702 INFO    ] 2026-10-20 14:19:39
[2026-10-20 14:19:39,710.710 INFO    ] session id :670983899
[2026-10-20 14:19:39,715.715 INFO    ] http://localhost:5000/v2/getOrderByAccessCode?access_code=96821769&imei=TM04202203&session_id=670983899
[2026-10-20 14:19:40,960.960 INFO    ] 200
[2026-10-20 14:19:40,966.966 INFO    ] {"data": {"access_code": "96821769", "bill_amount": "40", "invoice_bill": "40", "order_id": "TM04202203261020141850682", "mobile": "9148105483", "proposed_sku_json": [{"image_url": "https://images.tinymart.in/product/4500684-1899.avif", "door_id": "2", "mrp": "40", "offer_id": "", "name": "Sun Feast Berry Smoothie with Chia seeds  160ml", "unit_price": 40, "qty": 1, "offer_desc": "", "skuid": "4500684", "sku_total": 40, "tray_id": "39"}]}, "status": true, "msg": "Order Data", "rstatus": true}
[2026-10-20 14:19:40,973.973 INFO    ] 40
[2026-10-20 14:19:40,983.983 INFO    ] TM04202203261020141850682
[2026-10-20 14:19:40,995.995 INFO    ] 9148105483
[2026-10-20 14:19:41,002.002 INFO    ] 2026-10-20 14:19:40
[2026-10-20 14:19:41,035.035 INFO    ] Door Opening for user mobile ending with  five four eight three 
[2026-10-20 14:19:41,044.044 INFO    ] Door Opening for user mobile ending with  five four eight three 
[2026-10-20 14:19:41,067.067 INFO    ] c2bdc46c0fceb92873b21606a168e3be
[2026-10-20 14:19:41,077.077 INFO    ] 2026-10-20 14:19:41
[2026-10-20 14:19:41,084.084 INFO    ] playing audio file
[2026-10-20 14:19:41,106.106 INFO    ] 2026-10-20 14:19:41
[2026-10-20 14:19:41,129.129 INFO    ] 2026-10-20 14:19:41
[2026-10-20 14:19:41,142.142 INFO    ] publish_status: order_id=TM04202203261020141850682
[2026-10-20 14:19:41,148.148 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020141850682
[2026-10-20 14:19:41,303.303 INFO    ] [publish_status] Message added to stream with ID: 1792486181234-0
[2026-10-20 14:19:41,314.314 INFO    ] Published to order:TM04202203261020141850682: {'server_status': 'order-started', 'server_response': '{"rstatus": true, "msg": "Order Data", "data": {"bill_amount": "40", "mobile": "9148105483", "access_code": "96821769", "order_id": "TM04202203261020141850682", "invoice_bill": "40", "proposed_sku_json": [{"name": "Sun Feast Berry Smoothie with Chia seeds  160ml", "image_url": "https://images.tinymart.in/product/4500684-1899.avif", "skuid": "4500684", "mrp": "40", "offer_desc": "", "sku_total": 40, "qty": 1, "unit_price": 40, "door_id": "2", "offer_id": "", "tray_id": "39"}]}, "status": true}', 'timestamp': '2026-10-20T08:49:41.131598Z', 'order_id': 'TM04202203261020141850682'} (ID: 1792486181234-0)
[2026-10-20 14:19:42,774.774 INFO    ] {'server_status': 'order-started', 'server_response': {'rstatus': True, 'msg': 'Order Data', 'data': {'bill_amount': '40', 'mobile': '9148105483', 'access_code': '96821769', 'order_id': 'TM04202203261020141850682', 'invoice_bill': '40', 'proposed_sku_json': [{'name': 'Sun Feast Berry Smoothie with Chia seeds  160ml', 'image_url': 'https://images.tinymart.in/product/4500684-1899.avif', 'skuid': '4500684', 'mrp': '40', 'offer_desc': '', 'sku_total': 40, 'qty': 1, 'unit_price': 40, 'door_id': '2', 'offer_id': '', 'tray_id': '39'}]}, 'status': True}, 'order_id': 'TM04202203261020141850682'}
[2026-10-20 14:19:42,777.777 INFO    ] 200
[2026-10-20 14:19:42,779.779 INFO    ] {"data":{"server_status":"order-started","server_response":{"rstatus":true,"msg":"Order Data","data":{"bill_amount":"40","mobile":"9148105483","access_code":"96821769","order_id":"TM04202203261020141850682","invoice_bill":"40","proposed_sku_json":[{"name":"Sun Feast Berry Smoothie with Chia seeds  160ml","image_url":"https:\/\/images.tinymart.in\/product\/4500684-1899.avif","skuid":"4500684","mrp":"40","offer_desc":"","sku_total":40,"qty":1,"unit_price":40,"door_id":"2","offer_id":"","tray_id":"39"}]},"status":true},"order_id":"TM04202203261020141850682"},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 14:19:42,782.782 INFO    ] {'response': {'code': 'ORDER_EXISTS', 'msg': 'order updated successfully', 'data': 'order updated successfully', 'status': True}, 'data': {'server_status': 'order-started', 'server_response': {'rstatus': True, 'msg': 'Order Data', 'data': {'bill_amount': '40', 'mobile': '9148105483', 'access_code': '96821769', 'order_id': 'TM04202203261020141850682', 'invoice_bill': '40', 'proposed_sku_json': [{'name': 'Sun Feast Berry Smoothie with Chia seeds  160ml', 'image_url': 'https://images.tinymart.in/product/4500684-1899.avif', 'offer_id': '', 'offer_desc': '', 'sku_total': 40, 'door_id': '2', 'qty': 1, 'unit_price': 40, 'skuid': '4500684', 'mrp': '40', 'tray_id': '39'}]}, 'status': True}, 'order_id': 'TM04202203261020141850682'}}
[2026-10-20 14:19:42,785.785 INFO    ] 2026-10-20 14:19:42
[2026-10-20 14:19:42,832.832 INFO    ] 200
[2026-10-20 14:19:42,835.835 INFO    ] True
[2026-10-20 14:19:42,999.999 INFO    ] 200
[2026-10-20 14:19:43,002.002 INFO    ] {"SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "rstatus": false, "voiceNote": "Please Wait", "status": "False", "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait while we process your order", "Note": "", "Header": " Your order is under process  "}, "SectionMain": {"Header": "Processing Order"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 14:19:43,005.005 INFO    ] {'rstatus': False, 'voiceNote': 'Please Wait', 'error': {'tmessage': 'In Progress', 'code': 20001, 'umessage': 'In Progress', 'data': {}}, 'SectionMain': {'Header': 'Processing Order'}, 'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'SectionStatus': {'SubHeader': 'Please wait while we process your order', 'UI_Header': '', 'Note': '', 'Header': ' Your order is under process  '}, 'status': 'False'}
[2026-10-20 14:19:43,007.007 INFO    ] *** process_order ***
[2026-10-20 14:19:44,188.188 INFO    ] 200
[2026-10-20 14:19:44,191.191 INFO    ] {"SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "rstatus": true, "voiceNote": "Please Wait", "delay": 0, "status": "True", "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait while we process your order", "Note": "", "Header": " Your order is under process  "}, "SectionMain": {"Header": "Processing Order"}}
[2026-10-20 14:19:44,193.193 INFO    ] {'rstatus': True, 'voiceNote': 'Please Wait', 'delay': 0, 'SectionMain': {'Header': 'Processing Order'}, 'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'SectionStatus': {'SubHeader': 'Please wait while we process your order', 'UI_Header': '', 'Note': '', 'Header': ' Your order is under process  '}, 'status': 'True'}
[2026-10-20 14:19:44,196.196 INFO    ] *** process_order ***
[2026-10-20 14:19:44,198.198 INFO    ] publish_status: order_id=TM04202203261020141850682
[2026-10-20 14:19:44,201.201 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020141850682
[2026-10-20 14:19:44,304.304 INFO    ] [publish_status] Message added to stream with ID: 1792486184281-0
[2026-10-20 14:19:44,307.307 INFO    ] Published to order:TM04202203261020141850682: {'server_status': 'doorOpened', 'server_response': '{"rstatus": true, "voiceNote": "Door is open...", "delay": 0, "SectionMain": {"Header": "Processing Order"}, "SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "SectionStatus": {"SubHeader": "You can pull the door now.", "UI_Header": "", "Note": "", "Header": " Your order is under process  "}, "status": "True"}', 'order_id': 'TM04202203261020141850682'} (ID: 1792486184281-0)
[2026-10-20 14:19:45,382.382 INFO    ] 2026-10-20 14:19:45
[2026-10-20 14:19:45,385.385 INFO    ] publish_status: order_id=TM04202203261020141850682
[2026-10-20 14:19:45,388.388 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020141850682
[2026-10-20 14:19:45,479.479 INFO    ] [publish_status] Message added to stream with ID: 1792486185456-0
[2026-10-20 14:19:45,482.482 INFO    ] Published to order:TM04202203261020141850682: {'server_status': 'processOrder', 'server_response': '{"rstatus": true, "voiceNote": "Please Wait", "delay": 0, "SectionMain": {"Header": "Processing Order"}, "SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "SectionStatus": {"SubHeader": "Please wait while we process your order", "UI_Header": "", "Note": "", "Header": " Your order is under process  "}, "status": "True"}', 'timestamp': '2026-10-20T08:49:45.384110Z', 'order_id': 'TM04202203261020141850682'} (ID: 1792486185456-0)
[2026-10-20 14:19:45,642.642 INFO    ] {'server_status': 'processOrder', 'server_response': {'rstatus': True, 'voiceNote': 'Please Wait', 'delay': 0, 'SectionMain': {'Header': 'Processing Order'}, 'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'SectionStatus': {'SubHeader': 'Please wait while we process your order', 'UI_Header': '', 'Note': '', 'Header': ' Your order is under process  '}, 'status': 'True'}, 'order_id': 'TM04202203261020141850682'}
[2026-10-20 14:19:45,645.645 INFO    ] 200
[2026-10-20 14:19:45,647.647 INFO    ] {"data":{"server_status":"processOrder","server_response":{"rstatus":true,"voiceNote":"Please Wait","delay":0,"SectionMain":{"Header":"Processing Order"},"SectionSKU":{"skus":[],"Header":"Thank you for bearing with us :)"},"SectionStatus":{"SubHeader":"Please wait while we process your order","UI_Header":"","Note":"","Header":" Your order is under process  "},"status":"true"},"order_id":"TM04202203261020141850682"},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 14:19:45,650.650 INFO    ] {'response': {'code': 'ORDER_EXISTS', 'msg': 'order updated successfully', 'data': 'order updated successfully', 'status': True}, 'data': {'server_status': 'processOrder', 'server_response': {'rstatus': True, 'voiceNote': 'Please Wait', 'delay': 0, 'SectionMain': {'Header': 'Processing Order'}, 'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'SectionStatus': {'SubHeader': 'Please wait while we process your order', 'UI_Header': '', 'Note': '', 'Header': ' Your order is under process  '}, 'status': 'true'}, 'order_id': 'TM04202203261020141850682'}}
[2026-10-20 14:19:45,653.653 INFO    ] 2026-10-20 14:19:45
[2026-10-20 14:19:45,656.656 INFO    ] None
[2026-10-20 14:19:45,658.658 INFO    ] Opening Door now
[2026-10-20 14:19:45,661.661 INFO    ] Opening Door now
[2026-10-20 14:19:45,663.663 INFO    ] 08e5d1063504bf393c26f0bfa436e9f9
[2026-10-20 14:19:45,666.666 INFO    ] 2026-10-20 14:19:45
[2026-10-20 14:19:45,668.668 INFO    ] playing audio file
[2026-10-20 14:19:45,685.685 INFO    ] 2026-10-20 14:19:45
[2026-10-20 14:19:45,688.688 INFO    ] 2026-10-20 14:19:45
[2026-10-20 14:19:48,755.755 INFO    ] 200
[2026-10-20 14:19:48,758.758 INFO    ] {"SectionSKU": {"skus": [{"name": "Sun Feast Berry Smoothie with Chia seeds  160ml", "qty": 1}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Door 2 is open now", "status": "False", "SectionStatus": {"UI_Header": "DOOR 2\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 2"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 14:19:48,761.761 INFO    ] {'rstatus': False, 'voiceNote': 'Door 2 is open now', 'error': {'tmessage': 'In Progress', 'code': 20001, 'umessage': 'In Progress', 'data': {}}, 'SectionMain': {'Header': 'Door Open'}, 'SectionSKU': {'skus': [{'name': 'Sun Feast Berry Smoothie with Chia seeds  160ml', 'qty': 1}], 'Header': 'Pick the below items from the door'}, 'SectionStatus': {'SubHeader': 'Please Pick the Products and close the door', 'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'Note': 'Please Close the door after picking up products', 'Header': 'Please Close Door 2'}, 'status': 'False'}
[2026-10-20 14:19:51,836.836 INFO    ] 200
[2026-10-20 14:19:51,839.839 INFO    ] {"SectionSKU": {"skus": [{"name": "Sun Feast Berry Smoothie with Chia seeds  160ml", "qty": 1}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Please close door 2", "status": "False", "SectionStatus": {"UI_Header": "DOOR 2\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 2"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 14:19:51,843.843 INFO    ] {'rstatus': False, 'voiceNote': 'Please close door 2', 'error': {'tmessage': 'In Progress', 'code': 20001, 'umessage': 'In Progress', 'data': {}}, 'SectionMain': {'Header': 'Door Open'}, 'SectionSKU': {'skus': [{'name': 'Sun Feast Berry Smoothie with Chia seeds  160ml', 'qty': 1}], 'Header': 'Pick the below items from the door'}, 'SectionStatus': {'SubHeader': 'Please Pick the Products and close the door', 'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'Note': 'Please Close the door after picking up products', 'Header': 'Please Close Door 2'}, 'status': 'False'}
[2026-10-20 14:19:54,912.912 INFO    ] 200
[2026-10-20 14:19:54,915.915 INFO    ] {"SectionSKU": {"skus": [{"name": "Sun Feast Berry Smoothie with Chia seeds  160ml", "qty": 1}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Please close door 2", "status": "False", "SectionStatus": {"UI_Header": "DOOR 2\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 2"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 14:19:54,918.918 INFO    ] Please close door 2
[2026-10-20 14:19:54,921.921 INFO    ] Please close door 2
[2026-10-20 14:19:54,923.923 INFO    ] 758e46684c76e887a5f58d4738034bed
[2026-10-20 14:19:54,926.926 INFO    ] 2026-10-20 14:19:54
[2026-10-20 14:19:54,929.929 INFO    ] playing audio file
[2026-10-20 14:19:54,946.946 INFO    ] 2026-10-20 14:19:54
[2026-10-20 14:19:54,949.949 INFO    ] publish_status: order_id=TM04202203261020141850682
[2026-10-20 14:19:54,952.952 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020141850682
[2026-10-20 14:19:55,051.051 INFO    ] [publish_status] Message added to stream with ID: 1792486195027-0
[2026-10-20 14:19:55,054.054 INFO    ] Published to order:TM04202203261020141850682: {'server_status': 'OrderStatus', 'server_response': '{"rstatus": false, "voiceNote": "Please close door 2", "error": {"tmessage": "In Progress", "code": 20001, "umessage": "In Progress", "data": {}}, "SectionMain": {"Header": "Door Open"}, "SectionSKU": {"skus": [{"name": "Sun Feast Berry Smoothie with Chia seeds  160ml", "qty": 1}], "Header": "Pick the below items from the door"}, "SectionStatus": {"SubHeader": "Please Pick the Products and close the door", "UI_Header": "DOOR 2\\nIS \\nOPEN \\nNOW", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 2"}, "status": "False"}', 'timestamp': '2026-10-20T08:49:54.947822Z', 'order_id': 'TM04202203261020141850682'} (ID: 1792486195027-0)
[2026-10-20 14:19:55,703.703 INFO    ] {'server_status': 'OrderStatus', 'server_response': {'rstatus': False, 'voiceNote': 'Please close door 2', 'error': {'tmessage': 'In Progress', 'code': 20001, 'umessage': 'In Progress', 'data': {}}, 'SectionMain': {'Header': 'Door Open'}, 'SectionSKU': {'skus': [{'name': 'Sun Feast Berry Smoothie with Chia seeds  160ml', 'qty': 1}], 'Header': 'Pick the below items from the door'}, 'SectionStatus': {'SubHeader': 'Please Pick the Products and close the door', 'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'Note': 'Please Close the door after picking up products', 'Header': 'Please Close Door 2'}, 'status': 'False'}, 'order_id': 'TM04202203261020141850682'}
[2026-10-20 14:19:55,706.706 INFO    ] 200
[2026-10-20 14:19:55,709.709 INFO    ] {"data":{"server_status":"OrderStatus","server_response":{"rstatus":false,"voiceNote":"Please close door 2","error":{"tmessage":"In Progress","code":20001,"umessage":"In Progress","data":[]},"SectionMain":{"Header":"Door Open"},"SectionSKU":{"skus":[{"name":"Sun Feast Berry Smoothie with Chia seeds  160ml","qty":1}],"Header":"Pick the below items from the door"},"SectionStatus":{"SubHeader":"Please Pick the Products and close the door","UI_Header":"DOOR 2\nIS \nOPEN \nNOW","Note":"Please Close the door after picking up products","Header":"Please Close Door 2"},"status":"false"},"order_id":"TM04202203261020141850682"},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 14:19:55,713.713 INFO    ] {'response': {'code': 'ORDER_EXISTS', 'msg': 'order updated successfully', 'data': 'order updated successfully', 'status': True}, 'data': {'server_status': 'OrderStatus', 'server_response': {'rstatus': False, 'voiceNote': 'Please close door 2', 'error': {'tmessage': 'In Progress', 'code': 20001, 'data': [], 'umessage': 'In Progress'}, 'SectionMain': {'Header': 'Door Open'}, 'SectionSKU': {'skus': [{'name': 'Sun Feast Berry Smoothie with Chia seeds  160ml', 'qty': 1}], 'Header': 'Pick the below items from the door'}, 'SectionStatus': {'SubHeader': 'Please Pick the Products and close the door', 'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'Note': 'Please Close the door after picking up products', 'Header': 'Please Close Door 2'}, 'status': 'false'}, 'order_id': 'TM04202203261020141850682'}}
[2026-10-20 14:19:55,716.716 INFO    ] {'rstatus': False, 'voiceNote': 'Please close door 2', 'error': {'tmessage': 'In Progress', 'code': 20001, 'umessage': 'In Progress', 'data': {}}, 'SectionMain': {'Header': 'Door Open'}, 'SectionSKU': {'skus': [{'name': 'Sun Feast Berry Smoothie with Chia seeds  160ml', 'qty': 1}], 'Header': 'Pick the below items from the door'}, 'SectionStatus': {'SubHeader': 'Please Pick the Products and close the door', 'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'Note': 'Please Close the door after picking up products', 'Header': 'Please Close Door 2'}, 'status': 'False'}
[2026-10-20 14:19:58,782.782 INFO    ] 200
[2026-10-20 14:19:58,785.785 INFO    ] {"SectionSKU": {"skus": [], "Header": "If you like us, tell others... else tell us"}, "rstatus": true, "voiceNote": "Transaction Completed", "delay": 100, "status": "True", "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait for invoice to generate", "Note": "If any due amount, clear at https://go.tinymart.in", "Header": " Order is complete "}, "SectionMain": {"Header": "Door Closed"}}
[2026-10-20 14:19:58,790.790 INFO    ] {'rstatus': True, 'voiceNote': 'Transaction Completed', 'delay': 100, 'SectionMain': {'Header': 'Door Closed'}, 'SectionSKU': {'skus': [], 'Header': 'If you like us, tell others... else tell us'}, 'SectionStatus': {'SubHeader': 'Please wait for invoice to generate', 'UI_Header': '', 'Note': 'If any due amount, clear at https://go.tinymart.in', 'Header': ' Order is complete '}, 'status': 'True'}
[2026-10-20 14:19:58,793.793 INFO    ] 2026-10-20 14:19:58
[2026-10-20 14:19:58,796.796 INFO    ] Order Completed 
[2026-10-20 14:19:58,803.803 INFO    ] Order Completed 
[2026-10-20 14:19:58,806.806 INFO    ] 193c8a8cf3bf490ccfe0b23598544a83
[2026-10-20 14:19:58,809.809 INFO    ] 2026-10-20 14:19:58
[2026-10-20 14:19:58,811.811 INFO    ] playing audio file
[2026-10-20 14:19:58,829.829 INFO    ] 2026-10-20 14:19:58
[2026-10-20 14:19:58,832.832 INFO    ] {'rstatus': True, 'voiceNote': 'Transaction Completed', 'delay': 100, 'SectionMain': {'Header': 'Door Closed'}, 'SectionSKU': {'skus': [], 'Header': 'If you like us, tell others... else tell us'}, 'SectionStatus': {'SubHeader': 'Please wait for invoice to generate', 'UI_Header': '', 'Note': 'If any due amount, clear at https://go.tinymart.in', 'Header': ' Order is complete '}, 'status': 'True'}
[2026-10-20 14:19:58,835.835 INFO    ] 2026-10-20 14:19:58
[2026-10-20 14:20:00,179.179 INFO    ] 200
[2026-10-20 14:20:00,182.182 INFO    ] {"rstatus": true, "logic": "WBL", "skus": [{"door_id": "", "name": "Sun Feast Berry Smoothie with Chia seeds  160ml per peice", "mrp": "40", "skuid": "4500684", "unit_price": "40", "qty": 1, "tray_id": "39", "sku_total": 40.0, "image_url": "https://images.tinymart.in/product/4500684-1899.avif"}], "orderId": "TM04202203261020141850682", "res": "True", "total_amount": 40.0, "anomaly": 0}
[2026-10-20 14:20:00,184.184 INFO    ] {'rstatus': True, 'orderId': 'TM04202203261020141850682', 'skus': [{'name': 'Sun Feast Berry Smoothie with Chia seeds  160ml per peice', 'skuid': '4500684', 'image_url': 'https://images.tinymart.in/product/4500684-1899.avif', 'sku_total': 40.0, 'qty': 1, 'unit_price': '40', 'door_id': '', 'mrp': '40', 'tray_id': '39'}], 'anomaly': 0, 'res': 'True', 'logic': 'WBL', 'total_amount': 40.0}
[2026-10-20 14:20:00,187.187 INFO    ] {'rstatus': True, 'orderId': 'TM04202203261020141850682', 'skus': [{'name': 'Sun Feast Berry Smoothie with Chia seeds  160ml per peice', 'skuid': '4500684', 'image_url': 'https://images.tinymart.in/product/4500684-1899.avif', 'sku_total': 40.0, 'qty': 1, 'unit_price': '40', 'door_id': '', 'mrp': '40', 'tray_id': '39'}], 'anomaly': 0, 'res': 'True', 'logic': 'WBL', 'total_amount': 40.0}
[2026-10-20 14:20:00,189.189 INFO    ] 2026-10-20 14:20:00
[2026-10-20 14:20:00,192.192 INFO    ] 2026-10-20 14:20:00
[2026-10-20 14:20:00,194.194 INFO    ] 40
[2026-10-20 14:20:00,197.197 INFO    ] 2026-10-20 14:20:00
[2026-10-20 14:20:00,200.200 INFO    ] 2026-10-20 14:20:00
[2026-10-20 14:20:00,203.203 INFO    ]  Your Bill Amount is 40
[2026-10-20 14:20:00,205.205 INFO    ]  Your Bill Amount is 40
[2026-10-20 14:20:00,207.207 INFO    ] 88965e4060b051d18121185ac205626e
[2026-10-20 14:20:00,210.210 INFO    ] 2026-10-20 14:20:00
[2026-10-20 14:20:00,212.212 INFO    ] playing audio file
[2026-10-20 14:20:00,228.228 INFO    ] 2026-10-20 14:20:00
[2026-10-20 14:20:00,232.232 INFO    ] 2026-10-20 14:20:00
[2026-10-20 14:20:00,235.235 INFO    ] publish_status: order_id=TM04202203261020141850682
[2026-10-20 14:20:00,237.237 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020141850682
[2026-10-20 14:20:00,310.310 INFO    ] [publish_status] Message added to stream with ID: 1792486200285-0
[2026-10-20 14:20:00,312.312 INFO    ] Published to order:TM04202203261020141850682: {'server_status': 'invoiceOrder', 'server_response': '{"rstatus": true, "orderId": "TM04202203261020141850682", "skus": [{"name": "Sun Feast Berry Smoothie with Chia seeds  160ml per peice", "skuid": "4500684", "image_url": "https://images.tinymart.in/product/4500684-1899.avif", "sku_total": 40.0, "qty": 1, "unit_price": "40", "door_id": "", "mrp": "40", "tray_id": "39"}], "anomaly": 0, "res": "True", "logic": "WBL", "total_amount": 40.0}', 'timestamp': '2026-10-20T08:50:00.233336Z', 'order_id': 'TM04202203261020141850682'} (ID: 1792486200285-0)
[2026-10-20 14:20:00,470.470 INFO    ] {'server_status': 'invoiceOrder', 'server_response': {'rstatus': True, 'orderId': 'TM04202203261020141850682', 'skus': [{'name': 'Sun Feast Berry Smoothie with Chia seeds  160ml per peice', 'skuid': '4500684', 'image_url': 'https://images.tinymart.in/product/4500684-1899.avif', 'sku_total': 40.0, 'qty': 1, 'unit_price': '40', 'door_id': '', 'mrp': '40', 'tray_id': '39'}], 'anomaly': 0, 'res': 'True', 'logic': 'WBL', 'total_amount': 40.0}, 'order_id': 'TM04202203261020141850682'}
[2026-10-20 14:20:00,473.473 INFO    ] 200
[2026-10-20 14:20:00,475.475 INFO    ] {"data":{"server_status":"invoiceOrder","server_response":{"rstatus":true,"orderId":"TM04202203261020141850682","skus":[{"name":"Sun Feast Berry Smoothie with Chia seeds  160ml per peice","skuid":"4500684","image_url":"https:\/\/images.tinymart.in\/product\/4500684-1899.avif","sku_total":40,"qty":1,"unit_price":"40","door_id":"","mrp":"40","tray_id":"39"}],"anomaly":0,"res":"true","logic":"WBL","total_amount":40},"order_id":"TM04202203261020141850682"},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 14:20:00,479.479 INFO    ] {'response': {'code': 'ORDER_EXISTS', 'msg': 'order updated successfully', 'data': 'order updated successfully', 'status': True}, 'data': {'server_status': 'invoiceOrder', 'server_response': {'rstatus': True, 'orderId': 'TM04202203261020141850682', 'skus': [{'name': 'Sun Feast Berry Smoothie with Chia seeds  160ml per peice', 'skuid': '4500684', 'sku_total': 40, 'door_id': '', 'qty': 1, 'unit_price': '40', 'image_url': 'https://images.tinymart.in/product/4500684-1899.avif', 'mrp': '40', 'tray_id': '39'}], 'anomaly': 0, 'res': 'true', 'logic': 'WBL', 'total_amount': 40}, 'order_id': 'TM04202203261020141850682'}}
[2026-10-20 14:20:00,482.482 INFO    ] {'response': {'code': 'ORDER_EXISTS', 'msg': 'order updated successfully', 'data': 'order updated successfully', 'status': True}, 'data': {'server_status': 'invoiceOrder', 'server_response': {'rstatus': True, 'orderId': 'TM04202203261020141850682', 'skus': [{'name': 'Sun Feast Berry Smoothie with Chia seeds  160ml per peice', 'skuid': '4500684', 'sku_total': 40, 'door_id': '', 'qty': 1, 'unit_price': '40', 'image_url': 'https://images.tinymart.in/product/4500684-1899.avif', 'mrp': '40', 'tray_id': '39'}], 'anomaly': 0, 'res': 'true', 'logic': 'WBL', 'total_amount': 40}, 'order_id': 'TM04202203261020141850682'}}
[2026-10-20 14:20:00,485.485 INFO    ] 2026-10-20 14:20:00
[2026-10-20 14:20:03,491.491 INFO    ] 200
[2026-10-20 14:20:03,494.494 INFO    ] {"orders": [], "order_items_synced": [], "tray_synced": ["TM04202203261020141850682", "TM04202203261020141850682", "TM04202203261020141850682", "TM04202203261020141850682", "TM04202203261020141850682", "TM04202203261020141850682", "TM04202203261020141850682", "TM04202203261020141850682", "TM04202203261020141850682", "TM04202203261020141850682", "TM04202203261020141850682", "TM04202203261020141850682", "TM04202203261020141850682", "TM04202203261020141850682", "TM04202203261020141850682", "TM04202203261020141850682", "TM04202203261020141850682", "TM04202203261020141850682", "TM04202203261020141850682", "TM04202203261020141850682", "TM04202203261020141850682", "TM04202203261020141850682", "TM04202203261020141850682", "TM04202203261020141850682", "TM04202203261020141850682", "TM04202203261020141850682", "TM04202203261020141850682", "TM04202203261020141850682", "TM04202203261020141850682", "TM04202203261020141850682", "TM04202203261020141850682", "TM04202203261020141850682", "TM04202203261020141850682"], "orders_synced": [], "status": true, "tray_sync": [], "order_items": [], "orders_data": [], "orders_data_synced": []}
[2026-10-20 14:20:03,497.497 INFO    ] 2026-10-20 14:20:03
[2026-10-20 14:20:03,617.617 INFO    ] 200
[2026-10-20 14:20:03,619.619 INFO    ] True
[2026-10-20 14:20:03,622.622 INFO    ] cleanup_start_order_file_after_processing: order_id=TM04202203261020141850682
[2026-10-20 14:20:03,626.626 INFO    ] start order file deleted
[2026-10-20 14:20:03,629.629 INFO    ] Checking for system updates...
[2026-10-20 14:20:03,665.665 INFO    ] 200
[2026-10-20 14:20:03,668.668 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:20:03,731.731 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:20:03,734.734 INFO    ] No update needed
[2026-10-20 14:20:03,737.737 INFO    ] Checking for camera pi updates...
[2026-10-20 14:20:03,775.775 INFO    ] 200
[2026-10-20 14:20:03,778.778 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:20:03,829.829 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:20:03,888.888 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:20:03,891.891 INFO    ] No camera update needed
[2026-10-20 14:20:03,894.894 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:20:03,897.897 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:20:03,904.904 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:20:03,911.911 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:20:05,954.954 INFO    ] ================================================
[2026-10-20 14:20:05,969.969 INFO    ] Launching Daemon at Tue Oct 20 14:20:05 IST 2026
[2026-10-20 14:20:05,980.980 INFO    ] ================================================
[2026-10-20 14:20:06,564.564 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:20:06
[2026-10-20 14:20:07,172.172 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:20:07,427.427 INFO    ] Initializing speech engine...
[2026-10-20 14:20:07,451.451 INFO    ] 2026-10-20 14:20:07
[2026-10-20 14:20:07,707.707 INFO    ] 2026-10-20 14:20:07
[2026-10-20 14:20:07,749.749 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:20:07,994.994 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:20:07,997.997 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:20:08,215.215 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:20:08,270.270 INFO    ] time= 20/10/2026 14:20:08
[2026-10-20 14:20:08,282.282 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:20:08,299.299 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:20:08,428.428 INFO    ] No existing commands found in stream
[2026-10-20 14:20:13,444.444 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:20:13,447.447 INFO    ] Waiting 0.33 seconds before fallback handling...
[2026-10-20 14:20:14,312.312 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 14:20:14,314.314 INFO    ] Checking for system updates...
[2026-10-20 14:20:14,351.351 INFO    ] 200
[2026-10-20 14:20:14,353.353 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:20:14,404.404 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:20:14,406.406 INFO    ] No update needed
[2026-10-20 14:20:14,409.409 INFO    ] Checking for camera pi updates...
[2026-10-20 14:20:14,446.446 INFO    ] 200
[2026-10-20 14:20:14,449.449 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:20:14,493.493 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:20:14,539.539 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:20:14,542.542 INFO    ] No camera update needed
[2026-10-20 14:20:14,544.544 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:20:14,546.546 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:20:14,552.552 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:20:14,557.557 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:20:16,597.597 INFO    ] ================================================
[2026-10-20 14:20:16,613.613 INFO    ] Launching Daemon at Tue Oct 20 14:20:16 IST 2026
[2026-10-20 14:20:16,624.624 INFO    ] ================================================
[2026-10-20 14:20:17,205.205 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:20:17
[2026-10-20 14:20:17,805.805 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:20:18,084.084 INFO    ] Initializing speech engine...
[2026-10-20 14:20:18,091.091 INFO    ] 2026-10-20 14:20:18
[2026-10-20 14:20:18,363.363 INFO    ] 2026-10-20 14:20:18
[2026-10-20 14:20:18,406.406 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:20:18,691.691 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:20:18,698.698 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:20:18,890.890 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:20:18,896.896 INFO    ] time= 20/10/2026 14:20:18
[2026-10-20 14:20:18,915.915 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:20:18,943.943 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:20:19,069.069 INFO    ] No existing commands found in stream
[2026-10-20 14:20:24,094.094 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:20:24,097.097 INFO    ] Waiting 3.12 seconds before fallback handling...
[2026-10-20 14:20:27,751.751 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:20:27,754.754 INFO    ] Checking for system updates...
[2026-10-20 14:20:27,790.790 INFO    ] 200
[2026-10-20 14:20:27,793.793 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:20:27,848.848 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:20:27,851.851 INFO    ] No update needed
[2026-10-20 14:20:27,853.853 INFO    ] Checking for camera pi updates...
[2026-10-20 14:20:27,886.886 INFO    ] 200
[2026-10-20 14:20:27,888.888 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:20:27,928.928 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:20:27,975.975 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:20:27,977.977 INFO    ] No camera update needed
[2026-10-20 14:20:27,980.980 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:20:27,982.982 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:20:27,988.988 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:20:27,993.993 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:20:30,033.033 INFO    ] ================================================
[2026-10-20 14:20:30,048.048 INFO    ] Launching Daemon at Tue Oct 20 14:20:30 IST 2026
[2026-10-20 14:20:30,059.059 INFO    ] ================================================
[2026-10-20 14:20:30,625.625 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:20:30
[2026-10-20 14:20:31,218.218 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:20:31,501.501 INFO    ] Initializing speech engine...
[2026-10-20 14:20:31,518.518 INFO    ] 2026-10-20 14:20:31
[2026-10-20 14:20:31,835.835 INFO    ] 2026-10-20 14:20:31
[2026-10-20 14:20:31,876.876 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:20:32,085.085 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:20:32,101.101 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:20:32,253.253 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:20:32,289.289 INFO    ] time= 20/10/2026 14:20:32
[2026-10-20 14:20:32,322.322 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:20:32,380.380 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:20:32,483.483 INFO    ] No existing commands found in stream
[2026-10-20 14:20:37,498.498 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:20:37,501.501 INFO    ] Waiting 3.36 seconds before fallback handling...
[2026-10-20 14:20:41,353.353 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 14:20:41,356.356 INFO    ] Checking for system updates...
[2026-10-20 14:20:41,391.391 INFO    ] 200
[2026-10-20 14:20:41,393.393 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:20:41,445.445 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:20:41,447.447 INFO    ] No update needed
[2026-10-20 14:20:41,450.450 INFO    ] Checking for camera pi updates...
[2026-10-20 14:20:41,483.483 INFO    ] 200
[2026-10-20 14:20:41,485.485 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:20:41,527.527 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:20:41,577.577 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:20:41,580.580 INFO    ] No camera update needed
[2026-10-20 14:20:41,582.582 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:20:41,584.584 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:20:41,590.590 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:20:41,595.595 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:20:43,633.633 INFO    ] ================================================
[2026-10-20 14:20:43,649.649 INFO    ] Launching Daemon at Tue Oct 20 14:20:43 IST 2026
[2026-10-20 14:20:43,659.659 INFO    ] ================================================
[2026-10-20 14:20:44,231.231 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:20:44
[2026-10-20 14:20:44,813.813 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:20:45,083.083 INFO    ] Initializing speech engine...
[2026-10-20 14:20:45,092.092 INFO    ] 2026-10-20 14:20:45
[2026-10-20 14:20:45,342.342 INFO    ] 2026-10-20 14:20:45
[2026-10-20 14:20:45,376.376 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:20:45,633.633 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:20:45,642.642 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:20:45,872.872 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:20:45,905.905 INFO    ] time= 20/10/2026 14:20:45
[2026-10-20 14:20:45,911.911 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:20:45,932.932 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:20:46,061.061 INFO    ] No existing commands found in stream
[2026-10-20 14:20:51,075.075 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:20:51,077.077 INFO    ] Waiting 2.25 seconds before fallback handling...
[2026-10-20 14:20:53,815.815 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 14:20:53,818.818 INFO    ] Checking for system updates...
[2026-10-20 14:20:53,856.856 INFO    ] 200
[2026-10-20 14:20:53,859.859 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:20:53,911.911 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:20:53,913.913 INFO    ] No update needed
[2026-10-20 14:20:53,916.916 INFO    ] Checking for camera pi updates...
[2026-10-20 14:20:53,949.949 INFO    ] 200
[2026-10-20 14:20:53,951.951 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:20:53,995.995 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:20:54,043.043 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:20:54,046.046 INFO    ] No camera update needed
[2026-10-20 14:20:54,048.048 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:20:54,050.050 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:20:54,056.056 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:20:54,061.061 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:20:56,100.100 INFO    ] ================================================
[2026-10-20 14:20:56,115.115 INFO    ] Launching Daemon at Tue Oct 20 14:20:56 IST 2026
[2026-10-20 14:20:56,127.127 INFO    ] ================================================
[2026-10-20 14:20:56,741.741 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:20:56
[2026-10-20 14:20:57,332.332 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:20:57,601.601 INFO    ] Initializing speech engine...
[2026-10-20 14:20:57,610.610 INFO    ] 2026-10-20 14:20:57
[2026-10-20 14:20:57,856.856 INFO    ] 2026-10-20 14:20:57
[2026-10-20 14:20:57,891.891 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:20:58,143.143 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:20:58,152.152 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:20:58,363.363 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:20:58,409.409 INFO    ] time= 20/10/2026 14:20:58
[2026-10-20 14:20:58,415.415 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:20:58,434.434 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:20:58,584.584 INFO    ] No existing commands found in stream
[2026-10-20 14:21:03,611.611 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:21:03,614.614 INFO    ] Waiting 2.06 seconds before fallback handling...
[2026-10-20 14:21:06,187.187 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:21:06,189.189 INFO    ] Checking for system updates...
[2026-10-20 14:21:06,226.226 INFO    ] 200
[2026-10-20 14:21:06,228.228 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:21:06,289.289 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:21:06,292.292 INFO    ] No update needed
[2026-10-20 14:21:06,294.294 INFO    ] Checking for camera pi updates...
[2026-10-20 14:21:06,332.332 INFO    ] 200
[2026-10-20 14:21:06,335.335 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:21:06,381.381 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:21:06,426.426 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:21:06,429.429 INFO    ] No camera update needed
[2026-10-20 14:21:06,431.431 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:21:06,433.433 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:21:06,439.439 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:21:06,444.444 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:21:08,483.483 INFO    ] ================================================
[2026-10-20 14:21:08,499.499 INFO    ] Launching Daemon at Tue Oct 20 14:21:08 IST 2026
[2026-10-20 14:21:08,509.509 INFO    ] ================================================
[2026-10-20 14:21:09,078.078 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:21:09
[2026-10-20 14:21:09,666.666 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:21:09,934.934 INFO    ] Initializing speech engine...
[2026-10-20 14:21:09,943.943 INFO    ] 2026-10-20 14:21:09
[2026-10-20 14:21:10,188.188 INFO    ] 2026-10-20 14:21:10
[2026-10-20 14:21:10,252.252 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:21:10,473.473 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:21:10,482.482 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:21:10,687.687 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:21:10,738.738 INFO    ] time= 20/10/2026 14:21:10
[2026-10-20 14:21:10,744.744 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:21:10,761.761 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:21:10,892.892 INFO    ] No existing commands found in stream
[2026-10-20 14:21:15,906.906 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:21:15,909.909 INFO    ] Waiting 1.81 seconds before fallback handling...
[2026-10-20 14:21:18,203.203 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:21:18,206.206 INFO    ] Checking for system updates...
[2026-10-20 14:21:18,245.245 INFO    ] 200
[2026-10-20 14:21:18,248.248 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:21:18,301.301 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:21:18,303.303 INFO    ] No update needed
[2026-10-20 14:21:18,305.305 INFO    ] Checking for camera pi updates...
[2026-10-20 14:21:18,339.339 INFO    ] 200
[2026-10-20 14:21:18,341.341 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:21:18,386.386 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:21:18,432.432 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:21:18,434.434 INFO    ] No camera update needed
[2026-10-20 14:21:18,437.437 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:21:18,439.439 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:21:18,444.444 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:21:18,449.449 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:21:20,489.489 INFO    ] ================================================
[2026-10-20 14:21:20,504.504 INFO    ] Launching Daemon at Tue Oct 20 14:21:20 IST 2026
[2026-10-20 14:21:20,515.515 INFO    ] ================================================
[2026-10-20 14:21:21,188.188 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:21:21
[2026-10-20 14:21:21,808.808 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:21:22,083.083 INFO    ] Initializing speech engine...
[2026-10-20 14:21:22,091.091 INFO    ] 2026-10-20 14:21:22
[2026-10-20 14:21:22,348.348 INFO    ] 2026-10-20 14:21:22
[2026-10-20 14:21:22,401.401 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:21:22,689.689 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:21:22,698.698 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:21:22,892.892 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:21:22,915.915 INFO    ] time= 20/10/2026 14:21:22
[2026-10-20 14:21:22,944.944 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:21:22,954.954 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:21:23,097.097 INFO    ] No existing commands found in stream
[2026-10-20 14:21:28,123.123 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:21:28,126.126 INFO    ] Waiting 0.65 seconds before fallback handling...
[2026-10-20 14:21:29,321.321 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:21:29,324.324 INFO    ] Checking for system updates...
[2026-10-20 14:21:29,366.366 INFO    ] 200
[2026-10-20 14:21:29,369.369 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:21:29,429.429 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:21:29,432.432 INFO    ] No update needed
[2026-10-20 14:21:29,435.435 INFO    ] Checking for camera pi updates...
[2026-10-20 14:21:29,469.469 INFO    ] 200
[2026-10-20 14:21:29,472.472 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:21:29,513.513 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:21:29,658.658 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:21:29,661.661 INFO    ] No camera update needed
[2026-10-20 14:21:29,664.664 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:21:29,667.667 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:21:29,673.673 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:21:29,679.679 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:21:31,723.723 INFO    ] ================================================
[2026-10-20 14:21:31,740.740 INFO    ] Launching Daemon at Tue Oct 20 14:21:31 IST 2026
[2026-10-20 14:21:31,752.752 INFO    ] ================================================
[2026-10-20 14:21:32,394.394 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:21:32
[2026-10-20 14:21:33,033.033 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:21:33,302.302 INFO    ] Initializing speech engine...
[2026-10-20 14:21:33,310.310 INFO    ] 2026-10-20 14:21:33
[2026-10-20 14:21:33,557.557 INFO    ] 2026-10-20 14:21:33
[2026-10-20 14:21:33,593.593 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:21:33,847.847 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:21:33,856.856 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:21:33,990.990 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:21:34,060.060 INFO    ] time= 20/10/2026 14:21:34
[2026-10-20 14:21:34,116.116 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:21:34,123.123 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:21:34,253.253 INFO    ] No existing commands found in stream
[2026-10-20 14:21:39,279.279 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:21:39,281.281 INFO    ] Waiting 1.02 seconds before fallback handling...
[2026-10-20 14:21:40,818.818 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 14:21:40,820.820 INFO    ] Checking for system updates...
[2026-10-20 14:21:40,856.856 INFO    ] 200
[2026-10-20 14:21:40,859.859 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:21:40,918.918 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:21:40,920.920 INFO    ] No update needed
[2026-10-20 14:21:40,923.923 INFO    ] Checking for camera pi updates...
[2026-10-20 14:21:40,960.960 INFO    ] 200
[2026-10-20 14:21:40,962.962 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:21:41,007.007 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:21:41,052.052 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:21:41,055.055 INFO    ] No camera update needed
[2026-10-20 14:21:41,057.057 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:21:41,059.059 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:21:41,065.065 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:21:41,070.070 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:21:43,112.112 INFO    ] ================================================
[2026-10-20 14:21:43,127.127 INFO    ] Launching Daemon at Tue Oct 20 14:21:43 IST 2026
[2026-10-20 14:21:43,137.137 INFO    ] ================================================
[2026-10-20 14:21:43,709.709 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:21:43
[2026-10-20 14:21:44,299.299 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:21:44,554.554 INFO    ] Initializing speech engine...
[2026-10-20 14:21:44,563.563 INFO    ] 2026-10-20 14:21:44
[2026-10-20 14:21:44,857.857 INFO    ] 2026-10-20 14:21:44
[2026-10-20 14:21:44,892.892 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:21:45,093.093 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:21:45,109.109 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:21:45,273.273 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:21:45,280.280 INFO    ] time= 20/10/2026 14:21:45
[2026-10-20 14:21:45,286.286 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:21:45,308.308 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:21:45,448.448 INFO    ] No existing commands found in stream
[2026-10-20 14:21:50,473.473 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:21:50,476.476 INFO    ] Waiting 3.30 seconds before fallback handling...
[2026-10-20 14:21:54,319.319 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:21:54,322.322 INFO    ] Checking for system updates...
[2026-10-20 14:21:54,363.363 INFO    ] 200
[2026-10-20 14:21:54,366.366 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:21:54,425.425 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:21:54,428.428 INFO    ] No update needed
[2026-10-20 14:21:54,431.431 INFO    ] Checking for camera pi updates...
[2026-10-20 14:21:54,466.466 INFO    ] 200
[2026-10-20 14:21:54,469.469 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:21:54,510.510 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:21:54,556.556 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:21:54,559.559 INFO    ] No camera update needed
[2026-10-20 14:21:54,562.562 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:21:54,564.564 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:21:54,571.571 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:21:54,576.576 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:21:56,616.616 INFO    ] ================================================
[2026-10-20 14:21:56,631.631 INFO    ] Launching Daemon at Tue Oct 20 14:21:56 IST 2026
[2026-10-20 14:21:56,643.643 INFO    ] ================================================
[2026-10-20 14:21:57,212.212 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:21:57
[2026-10-20 14:21:57,798.798 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:21:58,068.068 INFO    ] Initializing speech engine...
[2026-10-20 14:21:58,077.077 INFO    ] 2026-10-20 14:21:58
[2026-10-20 14:21:58,326.326 INFO    ] 2026-10-20 14:21:58
[2026-10-20 14:21:58,390.390 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:21:58,619.619 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:21:58,640.640 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:21:58,878.878 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:21:58,884.884 INFO    ] time= 20/10/2026 14:21:58
[2026-10-20 14:21:58,902.902 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:21:58,909.909 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:21:59,037.037 INFO    ] No existing commands found in stream
[2026-10-20 14:22:04,066.066 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:22:04,069.069 INFO    ] Waiting 2.00 seconds before fallback handling...
[2026-10-20 14:22:06,585.585 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:22:06,587.587 INFO    ] Checking for system updates...
[2026-10-20 14:22:06,623.623 INFO    ] 200
[2026-10-20 14:22:06,625.625 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:22:06,677.677 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:22:06,679.679 INFO    ] No update needed
[2026-10-20 14:22:06,682.682 INFO    ] Checking for camera pi updates...
[2026-10-20 14:22:06,715.715 INFO    ] 200
[2026-10-20 14:22:06,718.718 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:22:06,757.757 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:22:06,787.787 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:22:06,789.789 INFO    ] No camera update needed
[2026-10-20 14:22:06,792.792 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:22:06,794.794 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:22:06,799.799 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:22:06,804.804 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:22:08,843.843 INFO    ] ================================================
[2026-10-20 14:22:08,858.858 INFO    ] Launching Daemon at Tue Oct 20 14:22:08 IST 2026
[2026-10-20 14:22:08,869.869 INFO    ] ================================================
[2026-10-20 14:22:09,434.434 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:22:09
[2026-10-20 14:22:10,016.016 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:22:10,266.266 INFO    ] Initializing speech engine...
[2026-10-20 14:22:10,288.288 INFO    ] 2026-10-20 14:22:10
[2026-10-20 14:22:10,542.542 INFO    ] 2026-10-20 14:22:10
[2026-10-20 14:22:10,578.578 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:22:10,835.835 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:22:10,845.845 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:22:11,032.032 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:22:11,081.081 INFO    ] time= 20/10/2026 14:22:11
[2026-10-20 14:22:11,110.110 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:22:11,116.116 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:22:11,263.263 INFO    ] No existing commands found in stream
[2026-10-20 14:22:16,276.276 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:22:16,279.279 INFO    ] Waiting 0.88 seconds before fallback handling...
[2026-10-20 14:22:17,677.677 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:22:17,680.680 INFO    ] Checking for system updates...
[2026-10-20 14:22:17,719.719 INFO    ] 200
[2026-10-20 14:22:17,721.721 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:22:17,779.779 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:22:17,781.781 INFO    ] No update needed
[2026-10-20 14:22:17,783.783 INFO    ] Checking for camera pi updates...
[2026-10-20 14:22:17,820.820 INFO    ] 200
[2026-10-20 14:22:17,822.822 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:22:17,866.866 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:22:17,926.926 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:22:17,928.928 INFO    ] No camera update needed
[2026-10-20 14:22:17,931.931 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:22:17,933.933 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:22:17,938.938 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:22:17,943.943 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:22:19,982.982 INFO    ] ================================================
[2026-10-20 14:22:20,997.997 INFO    ] Launching Daemon at Tue Oct 20 14:22:19 IST 2026
[2026-10-20 14:22:20,007.007 INFO    ] ================================================
[2026-10-20 14:22:20,583.583 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:22:20
[2026-10-20 14:22:21,165.165 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:22:21,423.423 INFO    ] Initializing speech engine...
[2026-10-20 14:22:21,442.442 INFO    ] 2026-10-20 14:22:21
[2026-10-20 14:22:21,695.695 INFO    ] 2026-10-20 14:22:21
[2026-10-20 14:22:21,753.753 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:22:21,980.980 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:22:21,985.985 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:22:22,221.221 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:22:22,247.247 INFO    ] time= 20/10/2026 14:22:22
[2026-10-20 14:22:22,269.269 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:22:22,276.276 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:22:22,363.363 INFO    ] No existing commands found in stream
[2026-10-20 14:22:27,381.381 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:22:27,384.384 INFO    ] Waiting 3.88 seconds before fallback handling...
[2026-10-20 14:22:31,812.812 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:22:31,815.815 INFO    ] Checking for system updates...
[2026-10-20 14:22:31,855.855 INFO    ] 200
[2026-10-20 14:22:31,858.858 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:22:31,919.919 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:22:31,922.922 INFO    ] No update needed
[2026-10-20 14:22:31,925.925 INFO    ] Checking for camera pi updates...
[2026-10-20 14:22:31,963.963 INFO    ] 200
[2026-10-20 14:22:31,966.966 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:22:32,019.019 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:22:32,063.063 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:22:32,066.066 INFO    ] No camera update needed
[2026-10-20 14:22:32,070.070 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:22:32,073.073 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:22:32,080.080 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:22:32,086.086 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:22:34,129.129 INFO    ] ================================================
[2026-10-20 14:22:34,145.145 INFO    ] Launching Daemon at Tue Oct 20 14:22:34 IST 2026
[2026-10-20 14:22:34,155.155 INFO    ] ================================================
[2026-10-20 14:22:34,731.731 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:22:34
[2026-10-20 14:22:35,321.321 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:22:35,587.587 INFO    ] Initializing speech engine...
[2026-10-20 14:22:35,603.603 INFO    ] 2026-10-20 14:22:35
[2026-10-20 14:22:35,891.891 INFO    ] 2026-10-20 14:22:35
[2026-10-20 14:22:35,926.926 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:22:36,134.134 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:22:36,174.174 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:22:36,383.383 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:22:36,438.438 INFO    ] time= 20/10/2026 14:22:36
[2026-10-20 14:22:36,462.462 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:22:36,478.478 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:22:36,617.617 INFO    ] No existing commands found in stream
[2026-10-20 14:22:41,648.648 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:22:41,651.651 INFO    ] Waiting 3.55 seconds before fallback handling...
[2026-10-20 14:22:45,751.751 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:22:45,754.754 INFO    ] Checking for system updates...
[2026-10-20 14:22:45,792.792 INFO    ] 200
[2026-10-20 14:22:45,795.795 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:22:45,853.853 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:22:45,855.855 INFO    ] No update needed
[2026-10-20 14:22:45,857.857 INFO    ] Checking for camera pi updates...
[2026-10-20 14:22:45,894.894 INFO    ] 200
[2026-10-20 14:22:45,896.896 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:22:45,941.941 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:22:45,991.991 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:22:45,993.993 INFO    ] No camera update needed
[2026-10-20 14:22:45,995.995 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:22:45,998.998 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:22:46,003.003 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:22:46,008.008 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:22:48,047.047 INFO    ] ================================================
[2026-10-20 14:22:48,061.061 INFO    ] Launching Daemon at Tue Oct 20 14:22:48 IST 2026
[2026-10-20 14:22:48,072.072 INFO    ] ================================================
[2026-10-20 14:22:48,635.635 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:22:48
[2026-10-20 14:22:49,218.218 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:22:49,485.485 INFO    ] Initializing speech engine...
[2026-10-20 14:22:49,495.495 INFO    ] 2026-10-20 14:22:49
[2026-10-20 14:22:49,738.738 INFO    ] 2026-10-20 14:22:49
[2026-10-20 14:22:49,772.772 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:22:49,975.975 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:22:50,028.028 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:22:50,257.257 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:22:50,290.290 INFO    ] time= 20/10/2026 14:22:50
[2026-10-20 14:22:50,296.296 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:22:50,313.313 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:22:50,449.449 INFO    ] No existing commands found in stream
[2026-10-20 14:22:55,479.479 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:22:55,482.482 INFO    ] Waiting 3.48 seconds before fallback handling...
[2026-10-20 14:22:59,486.486 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 14:22:59,489.489 INFO    ] Checking for system updates...
[2026-10-20 14:22:59,527.527 INFO    ] 200
[2026-10-20 14:22:59,530.530 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:22:59,584.584 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:22:59,586.586 INFO    ] No update needed
[2026-10-20 14:22:59,588.588 INFO    ] Checking for camera pi updates...
[2026-10-20 14:22:59,621.621 INFO    ] 200
[2026-10-20 14:22:59,624.624 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:22:59,667.667 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:22:59,713.713 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:22:59,716.716 INFO    ] No camera update needed
[2026-10-20 14:22:59,718.718 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:22:59,720.720 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:22:59,726.726 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:22:59,731.731 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:23:01,777.777 INFO    ] ================================================
[2026-10-20 14:23:01,814.814 INFO    ] Launching Daemon at Tue Oct 20 14:23:01 IST 2026
[2026-10-20 14:23:01,831.831 INFO    ] ================================================
[2026-10-20 14:23:02,524.524 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:23:02
[2026-10-20 14:23:03,201.201 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:23:03,499.499 INFO    ] Initializing speech engine...
[2026-10-20 14:23:03,508.508 INFO    ] 2026-10-20 14:23:03
[2026-10-20 14:23:03,771.771 INFO    ] 2026-10-20 14:23:03
[2026-10-20 14:23:03,806.806 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:23:04,057.057 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:23:04,066.066 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:23:04,200.200 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:23:04,271.271 INFO    ] time= 20/10/2026 14:23:04
[2026-10-20 14:23:04,325.325 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:23:04,333.333 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:23:04,481.481 INFO    ] No existing commands found in stream
[2026-10-20 14:23:09,502.502 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:23:09,505.505 INFO    ] Waiting 1.36 seconds before fallback handling...
[2026-10-20 14:23:11,370.370 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 14:23:11,372.372 INFO    ] Checking for system updates...
[2026-10-20 14:23:11,408.408 INFO    ] 200
[2026-10-20 14:23:11,410.410 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:23:11,463.463 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:23:11,465.465 INFO    ] No update needed
[2026-10-20 14:23:11,467.467 INFO    ] Checking for camera pi updates...
[2026-10-20 14:23:11,501.501 INFO    ] 200
[2026-10-20 14:23:11,503.503 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:23:11,543.543 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:23:11,586.586 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:23:11,589.589 INFO    ] No camera update needed
[2026-10-20 14:23:11,591.591 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:23:11,593.593 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:23:11,599.599 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:23:11,604.604 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:23:13,643.643 INFO    ] ================================================
[2026-10-20 14:23:13,658.658 INFO    ] Launching Daemon at Tue Oct 20 14:23:13 IST 2026
[2026-10-20 14:23:13,668.668 INFO    ] ================================================
[2026-10-20 14:23:14,290.290 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:23:14
[2026-10-20 14:23:14,876.876 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:23:15,145.145 INFO    ] Initializing speech engine...
[2026-10-20 14:23:15,154.154 INFO    ] 2026-10-20 14:23:15
[2026-10-20 14:23:15,406.406 INFO    ] 2026-10-20 14:23:15
[2026-10-20 14:23:15,441.441 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:23:15,631.631 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:23:15,689.689 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:23:15,835.835 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:23:15,886.886 INFO    ] time= 20/10/2026 14:23:15
[2026-10-20 14:23:15,940.940 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:23:15,961.961 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:23:16,105.105 INFO    ] No existing commands found in stream
[2026-10-20 14:23:21,119.119 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:23:21,122.122 INFO    ] Waiting 1.50 seconds before fallback handling...
[2026-10-20 14:23:23,182.182 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 14:23:23,185.185 INFO    ] Checking for system updates...
[2026-10-20 14:23:23,227.227 INFO    ] 200
[2026-10-20 14:23:23,230.230 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:23:23,296.296 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:23:23,299.299 INFO    ] No update needed
[2026-10-20 14:23:23,302.302 INFO    ] Checking for camera pi updates...
[2026-10-20 14:23:23,341.341 INFO    ] 200
[2026-10-20 14:23:23,344.344 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:23:23,393.393 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:23:23,442.442 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:23:23,444.444 INFO    ] No camera update needed
[2026-10-20 14:23:23,446.446 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:23:23,449.449 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:23:23,454.454 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:23:23,459.459 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:23:25,499.499 INFO    ] ================================================
[2026-10-20 14:23:25,513.513 INFO    ] Launching Daemon at Tue Oct 20 14:23:25 IST 2026
[2026-10-20 14:23:25,524.524 INFO    ] ================================================
[2026-10-20 14:23:26,107.107 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:23:26
[2026-10-20 14:23:26,708.708 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:23:26,985.985 INFO    ] Initializing speech engine...
[2026-10-20 14:23:26,991.991 INFO    ] 2026-10-20 14:23:26
[2026-10-20 14:23:27,251.251 INFO    ] 2026-10-20 14:23:27
[2026-10-20 14:23:27,281.281 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:23:27,661.661 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:23:27,731.731 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:23:27,934.934 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:23:27,993.993 INFO    ] time= 20/10/2026 14:23:27
[2026-10-20 14:23:28,039.039 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:23:28,079.079 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:23:28,232.232 INFO    ] No existing commands found in stream
[2026-10-20 14:23:33,251.251 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:23:33,255.255 INFO    ] Waiting 3.71 seconds before fallback handling...
[2026-10-20 14:23:37,519.519 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 14:23:37,522.522 INFO    ] Checking for system updates...
[2026-10-20 14:23:37,559.559 INFO    ] 200
[2026-10-20 14:23:37,562.562 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:23:37,616.616 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:23:37,619.619 INFO    ] No update needed
[2026-10-20 14:23:37,622.622 INFO    ] Checking for camera pi updates...
[2026-10-20 14:23:37,675.675 INFO    ] 200
[2026-10-20 14:23:37,679.679 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:23:37,720.720 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:23:37,766.766 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:23:37,769.769 INFO    ] No camera update needed
[2026-10-20 14:23:37,772.772 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:23:37,774.774 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:23:37,781.781 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:23:37,786.786 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:23:39,826.826 INFO    ] ================================================
[2026-10-20 14:23:39,842.842 INFO    ] Launching Daemon at Tue Oct 20 14:23:39 IST 2026
[2026-10-20 14:23:39,852.852 INFO    ] ================================================
[2026-10-20 14:23:40,517.517 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:23:40
[2026-10-20 14:23:41,206.206 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:23:41,516.516 INFO    ] Initializing speech engine...
[2026-10-20 14:23:41,528.528 INFO    ] 2026-10-20 14:23:41
[2026-10-20 14:23:41,838.838 INFO    ] 2026-10-20 14:23:41
[2026-10-20 14:23:41,925.925 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:23:42,140.140 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:23:42,145.145 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:23:42,342.342 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:23:42,359.359 INFO    ] time= 20/10/2026 14:23:42
[2026-10-20 14:23:42,370.370 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:23:42,398.398 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:23:42,528.528 INFO    ] No existing commands found in stream
[2026-10-20 14:23:47,559.559 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:23:47,563.563 INFO    ] Waiting 2.43 seconds before fallback handling...
[2026-10-20 14:23:50,569.569 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:23:50,572.572 INFO    ] Checking for system updates...
[2026-10-20 14:23:50,610.610 INFO    ] 200
[2026-10-20 14:23:50,612.612 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:23:50,667.667 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:23:50,670.670 INFO    ] No update needed
[2026-10-20 14:23:50,673.673 INFO    ] Checking for camera pi updates...
[2026-10-20 14:23:50,708.708 INFO    ] 200
[2026-10-20 14:23:50,711.711 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:23:50,753.753 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:23:50,802.802 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:23:50,805.805 INFO    ] No camera update needed
[2026-10-20 14:23:50,808.808 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:23:50,810.810 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:23:50,817.817 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:23:50,823.823 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:23:52,864.864 INFO    ] ================================================
[2026-10-20 14:23:52,879.879 INFO    ] Launching Daemon at Tue Oct 20 14:23:52 IST 2026
[2026-10-20 14:23:52,890.890 INFO    ] ================================================
[2026-10-20 14:23:53,461.461 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:23:53
[2026-10-20 14:23:54,049.049 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:23:54,302.302 INFO    ] Initializing speech engine...
[2026-10-20 14:23:54,308.308 INFO    ] 2026-10-20 14:23:54
[2026-10-20 14:23:54,610.610 INFO    ] 2026-10-20 14:23:54
[2026-10-20 14:23:54,646.646 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:23:54,916.916 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:23:54,926.926 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:23:55,092.092 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:23:55,095.095 INFO    ] time= 20/10/2026 14:23:55
[2026-10-20 14:23:55,097.097 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:23:55,100.100 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:23:55,184.184 INFO    ] No existing commands found in stream
[2026-10-20 14:24:00,191.191 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:24:00,195.195 INFO    ] Waiting 2.63 seconds before fallback handling...
[2026-10-20 14:24:03,396.396 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:24:03,400.400 INFO    ] Checking for system updates...
[2026-10-20 14:24:03,438.438 INFO    ] 200
[2026-10-20 14:24:03,441.441 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:24:03,501.501 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:24:03,504.504 INFO    ] No update needed
[2026-10-20 14:24:03,508.508 INFO    ] Checking for camera pi updates...
[2026-10-20 14:24:03,547.547 INFO    ] 200
[2026-10-20 14:24:03,549.549 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:24:03,589.589 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:24:03,640.640 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:24:03,643.643 INFO    ] No camera update needed
[2026-10-20 14:24:03,646.646 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:24:03,649.649 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:24:03,656.656 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:24:03,662.662 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:24:05,704.704 INFO    ] ================================================
[2026-10-20 14:24:05,719.719 INFO    ] Launching Daemon at Tue Oct 20 14:24:05 IST 2026
[2026-10-20 14:24:05,730.730 INFO    ] ================================================
[2026-10-20 14:24:06,396.396 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:24:06
[2026-10-20 14:24:07,086.086 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:24:07,407.407 INFO    ] Initializing speech engine...
[2026-10-20 14:24:07,416.416 INFO    ] 2026-10-20 14:24:07
[2026-10-20 14:24:07,721.721 INFO    ] 2026-10-20 14:24:07
[2026-10-20 14:24:07,810.810 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:24:08,025.025 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:24:08,032.032 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:24:08,224.224 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:24:08,244.244 INFO    ] time= 20/10/2026 14:24:08
[2026-10-20 14:24:08,259.259 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:24:08,285.285 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:24:08,420.420 INFO    ] No existing commands found in stream
[2026-10-20 14:24:13,452.452 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:24:13,455.455 INFO    ] Waiting 3.86 seconds before fallback handling...
[2026-10-20 14:24:17,846.846 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:24:17,850.850 INFO    ] Checking for system updates...
[2026-10-20 14:24:17,887.887 INFO    ] 200
[2026-10-20 14:24:17,890.890 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:24:17,952.952 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:24:17,955.955 INFO    ] No update needed
[2026-10-20 14:24:17,958.958 INFO    ] Checking for camera pi updates...
[2026-10-20 14:24:17,999.999 INFO    ] 200
[2026-10-20 14:24:18,001.001 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:24:18,042.042 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:24:18,095.095 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:24:18,097.097 INFO    ] No camera update needed
[2026-10-20 14:24:18,100.100 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:24:18,102.102 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:24:18,108.108 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:24:18,113.113 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:24:20,152.152 INFO    ] ================================================
[2026-10-20 14:24:20,167.167 INFO    ] Launching Daemon at Tue Oct 20 14:24:20 IST 2026
[2026-10-20 14:24:20,178.178 INFO    ] ================================================
[2026-10-20 14:24:20,746.746 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:24:20
[2026-10-20 14:24:21,329.329 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:24:21,583.583 INFO    ] Initializing speech engine...
[2026-10-20 14:24:21,589.589 INFO    ] 2026-10-20 14:24:21
[2026-10-20 14:24:21,889.889 INFO    ] 2026-10-20 14:24:21
[2026-10-20 14:24:21,929.929 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:24:22,161.161 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:24:22,189.189 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:24:22,396.396 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:24:22,413.413 INFO    ] time= 20/10/2026 14:24:22
[2026-10-20 14:24:22,458.458 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:24:22,501.501 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:24:22,646.646 INFO    ] No existing commands found in stream
[2026-10-20 14:24:27,671.671 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:24:27,674.674 INFO    ] Waiting 1.49 seconds before fallback handling...
[2026-10-20 14:24:29,695.695 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:24:29,698.698 INFO    ] Checking for system updates...
[2026-10-20 14:24:29,733.733 INFO    ] 200
[2026-10-20 14:24:29,735.735 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:24:29,795.795 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:24:29,797.797 INFO    ] No update needed
[2026-10-20 14:24:29,800.800 INFO    ] Checking for camera pi updates...
[2026-10-20 14:24:29,833.833 INFO    ] 200
[2026-10-20 14:24:29,835.835 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:24:29,881.881 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:24:29,928.928 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:24:29,930.930 INFO    ] No camera update needed
[2026-10-20 14:24:29,933.933 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:24:29,935.935 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:24:29,940.940 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:24:29,945.945 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:24:31,986.986 INFO    ] ================================================
[2026-10-20 14:24:32,002.002 INFO    ] Launching Daemon at Tue Oct 20 14:24:31 IST 2026
[2026-10-20 14:24:32,014.014 INFO    ] ================================================
[2026-10-20 14:24:32,606.606 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:24:32
[2026-10-20 14:24:33,220.220 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:24:33,500.500 INFO    ] Initializing speech engine...
[2026-10-20 14:24:33,506.506 INFO    ] 2026-10-20 14:24:33
[2026-10-20 14:24:33,753.753 INFO    ] 2026-10-20 14:24:33
[2026-10-20 14:24:33,787.787 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:24:34,042.042 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:24:34,048.048 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:24:34,257.257 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:24:34,305.305 INFO    ] time= 20/10/2026 14:24:34
[2026-10-20 14:24:34,311.311 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:24:34,333.333 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:24:34,461.461 INFO    ] No existing commands found in stream
[2026-10-20 14:24:39,480.480 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:24:39,483.483 INFO    ] Waiting 3.74 seconds before fallback handling...
[2026-10-20 14:24:43,718.718 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 14:24:43,721.721 INFO    ] Checking for system updates...
[2026-10-20 14:24:43,756.756 INFO    ] 200
[2026-10-20 14:24:43,759.759 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:24:43,812.812 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:24:43,814.814 INFO    ] No update needed
[2026-10-20 14:24:43,816.816 INFO    ] Checking for camera pi updates...
[2026-10-20 14:24:43,850.850 INFO    ] 200
[2026-10-20 14:24:43,852.852 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:24:43,893.893 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:24:43,940.940 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:24:43,943.943 INFO    ] No camera update needed
[2026-10-20 14:24:43,945.945 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:24:43,947.947 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:24:43,952.952 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:24:43,957.957 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:24:46,998.998 INFO    ] ================================================
[2026-10-20 14:24:46,013.013 INFO    ] Launching Daemon at Tue Oct 20 14:24:46 IST 2026
[2026-10-20 14:24:46,024.024 INFO    ] ================================================
[2026-10-20 14:24:46,630.630 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:24:46
[2026-10-20 14:24:47,252.252 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:24:47,533.533 INFO    ] Initializing speech engine...
[2026-10-20 14:24:47,549.549 INFO    ] 2026-10-20 14:24:47
[2026-10-20 14:24:47,841.841 INFO    ] 2026-10-20 14:24:47
[2026-10-20 14:24:47,881.881 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:24:48,085.085 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:24:48,118.118 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:24:48,312.312 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:24:48,360.360 INFO    ] time= 20/10/2026 14:24:48
[2026-10-20 14:24:48,419.419 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:24:48,450.450 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:24:48,599.599 INFO    ] No existing commands found in stream
[2026-10-20 14:24:53,613.613 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:24:53,616.616 INFO    ] Waiting 3.30 seconds before fallback handling...
[2026-10-20 14:24:57,424.424 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:24:57,426.426 INFO    ] Checking for system updates...
[2026-10-20 14:24:57,462.462 INFO    ] 200
[2026-10-20 14:24:57,464.464 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:24:57,528.528 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:24:57,530.530 INFO    ] No update needed
[2026-10-20 14:24:57,533.533 INFO    ] Checking for camera pi updates...
[2026-10-20 14:24:57,566.566 INFO    ] 200
[2026-10-20 14:24:57,568.568 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:24:57,614.614 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:24:57,664.664 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:24:57,666.666 INFO    ] No camera update needed
[2026-10-20 14:24:57,669.669 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:24:57,671.671 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:24:57,676.676 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:24:57,681.681 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:24:59,720.720 INFO    ] ================================================
[2026-10-20 14:24:59,735.735 INFO    ] Launching Daemon at Tue Oct 20 14:24:59 IST 2026
[2026-10-20 14:24:59,745.745 INFO    ] ================================================
[2026-10-20 14:25:00,311.311 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:25:00
[2026-10-20 14:25:00,892.892 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:25:01,160.160 INFO    ] Initializing speech engine...
[2026-10-20 14:25:01,170.170 INFO    ] 2026-10-20 14:25:01
[2026-10-20 14:25:01,427.427 INFO    ] 2026-10-20 14:25:01
[2026-10-20 14:25:01,480.480 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:25:01,795.795 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:25:01,862.862 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:25:02,099.099 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:25:02,103.103 INFO    ] time= 20/10/2026 14:25:02
[2026-10-20 14:25:02,108.108 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:25:02,115.115 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:25:02,228.228 INFO    ] No existing commands found in stream
[2026-10-20 14:25:07,238.238 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:25:07,241.241 INFO    ] Waiting 3.01 seconds before fallback handling...
[2026-10-20 14:25:10,792.792 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:25:10,795.795 INFO    ] Checking for system updates...
[2026-10-20 14:25:10,831.831 INFO    ] 200
[2026-10-20 14:25:10,833.833 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:25:10,887.887 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:25:10,889.889 INFO    ] No update needed
[2026-10-20 14:25:10,892.892 INFO    ] Checking for camera pi updates...
[2026-10-20 14:25:10,925.925 INFO    ] 200
[2026-10-20 14:25:10,927.927 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:25:10,970.970 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:25:11,030.030 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:25:11,032.032 INFO    ] No camera update needed
[2026-10-20 14:25:11,035.035 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:25:11,037.037 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:25:11,042.042 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:25:11,047.047 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:25:13,090.090 INFO    ] ================================================
[2026-10-20 14:25:13,106.106 INFO    ] Launching Daemon at Tue Oct 20 14:25:13 IST 2026
[2026-10-20 14:25:13,116.116 INFO    ] ================================================
[2026-10-20 14:25:13,782.782 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:25:13
[2026-10-20 14:25:14,467.467 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:25:14,779.779 INFO    ] Initializing speech engine...
[2026-10-20 14:25:14,790.790 INFO    ] 2026-10-20 14:25:14
[2026-10-20 14:25:15,109.109 INFO    ] 2026-10-20 14:25:15
[2026-10-20 14:25:15,195.195 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:25:15,413.413 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:25:15,422.422 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:25:15,620.620 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:25:15,637.637 INFO    ] time= 20/10/2026 14:25:15
[2026-10-20 14:25:15,646.646 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:25:15,675.675 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:25:15,813.813 INFO    ] No existing commands found in stream
[2026-10-20 14:25:20,844.844 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:25:20,848.848 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-10-20 14:25:23,881.881 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:25:23,885.885 INFO    ] Checking for system updates...
[2026-10-20 14:25:23,921.921 INFO    ] 200
[2026-10-20 14:25:23,924.924 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:25:23,988.988 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:25:23,991.991 INFO    ] No update needed
[2026-10-20 14:25:23,993.993 INFO    ] Checking for camera pi updates...
[2026-10-20 14:25:24,027.027 INFO    ] 200
[2026-10-20 14:25:24,030.030 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:25:24,079.079 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:25:24,125.125 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:25:24,128.128 INFO    ] No camera update needed
[2026-10-20 14:25:24,130.130 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:25:24,133.133 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:25:24,138.138 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:25:24,143.143 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:25:26,185.185 INFO    ] ================================================
[2026-10-20 14:25:26,200.200 INFO    ] Launching Daemon at Tue Oct 20 14:25:26 IST 2026
[2026-10-20 14:25:26,210.210 INFO    ] ================================================
[2026-10-20 14:25:26,782.782 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:25:26
[2026-10-20 14:25:27,373.373 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:25:27,635.635 INFO    ] Initializing speech engine...
[2026-10-20 14:25:27,654.654 INFO    ] 2026-10-20 14:25:27
[2026-10-20 14:25:27,904.904 INFO    ] 2026-10-20 14:25:27
[2026-10-20 14:25:27,940.940 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:25:28,202.202 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:25:28,207.207 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:25:28,428.428 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:25:28,465.465 INFO    ] time= 20/10/2026 14:25:28
[2026-10-20 14:25:28,471.471 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:25:28,489.489 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:25:28,630.630 INFO    ] No existing commands found in stream
[2026-10-20 14:25:33,656.656 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:25:33,659.659 INFO    ] Waiting 1.63 seconds before fallback handling...
[2026-10-20 14:25:35,819.819 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:25:35,821.821 INFO    ] Checking for system updates...
[2026-10-20 14:25:35,857.857 INFO    ] 200
[2026-10-20 14:25:35,860.860 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:25:35,921.921 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:25:35,924.924 INFO    ] No update needed
[2026-10-20 14:25:35,927.927 INFO    ] Checking for camera pi updates...
[2026-10-20 14:25:35,965.965 INFO    ] 200
[2026-10-20 14:25:35,968.968 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:25:36,014.014 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:25:36,161.161 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:25:36,164.164 INFO    ] No camera update needed
[2026-10-20 14:25:36,167.167 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:25:36,170.170 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:25:36,176.176 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:25:36,182.182 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:25:38,224.224 INFO    ] ================================================
[2026-10-20 14:25:38,239.239 INFO    ] Launching Daemon at Tue Oct 20 14:25:38 IST 2026
[2026-10-20 14:25:38,250.250 INFO    ] ================================================
[2026-10-20 14:25:38,826.826 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:25:38
[2026-10-20 14:25:39,412.412 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:25:39,681.681 INFO    ] Initializing speech engine...
[2026-10-20 14:25:39,690.690 INFO    ] 2026-10-20 14:25:39
[2026-10-20 14:25:39,935.935 INFO    ] 2026-10-20 14:25:39
[2026-10-20 14:25:39,971.971 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:25:40,223.223 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:25:40,232.232 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:25:40,433.433 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:25:40,483.483 INFO    ] time= 20/10/2026 14:25:40
[2026-10-20 14:25:40,495.495 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:25:40,512.512 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:25:40,652.652 INFO    ] No existing commands found in stream
[2026-10-20 14:25:45,683.683 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:25:45,685.685 INFO    ] Waiting 1.76 seconds before fallback handling...
[2026-10-20 14:25:47,984.984 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:25:47,987.987 INFO    ] Checking for system updates...
[2026-10-20 14:25:48,025.025 INFO    ] 200
[2026-10-20 14:25:48,028.028 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:25:48,088.088 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:25:48,092.092 INFO    ] No update needed
[2026-10-20 14:25:48,095.095 INFO    ] Checking for camera pi updates...
[2026-10-20 14:25:48,130.130 INFO    ] 200
[2026-10-20 14:25:48,132.132 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:25:48,175.175 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:25:48,220.220 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:25:48,223.223 INFO    ] No camera update needed
[2026-10-20 14:25:48,226.226 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:25:48,229.229 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:25:48,235.235 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:25:48,241.241 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:25:50,283.283 INFO    ] ================================================
[2026-10-20 14:25:50,298.298 INFO    ] Launching Daemon at Tue Oct 20 14:25:50 IST 2026
[2026-10-20 14:25:50,308.308 INFO    ] ================================================
[2026-10-20 14:25:50,882.882 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:25:50
[2026-10-20 14:25:51,473.473 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:25:51,747.747 INFO    ] Initializing speech engine...
[2026-10-20 14:25:51,755.755 INFO    ] 2026-10-20 14:25:51
[2026-10-20 14:25:52,008.008 INFO    ] 2026-10-20 14:25:52
[2026-10-20 14:25:52,041.041 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:25:52,249.249 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:25:52,305.305 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:25:52,488.488 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:25:52,548.548 INFO    ] time= 20/10/2026 14:25:52
[2026-10-20 14:25:52,584.584 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:25:52,591.591 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:25:52,738.738 INFO    ] No existing commands found in stream
[2026-10-20 14:25:57,751.751 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:25:57,754.754 INFO    ] Waiting 0.56 seconds before fallback handling...
[2026-10-20 14:25:58,841.841 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 14:25:58,844.844 INFO    ] Checking for system updates...
[2026-10-20 14:25:58,880.880 INFO    ] 200
[2026-10-20 14:25:58,883.883 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:25:58,934.934 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:25:58,936.936 INFO    ] No update needed
[2026-10-20 14:25:58,939.939 INFO    ] Checking for camera pi updates...
[2026-10-20 14:25:58,977.977 INFO    ] 200
[2026-10-20 14:25:58,980.980 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:25:59,021.021 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:25:59,066.066 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:25:59,068.068 INFO    ] No camera update needed
[2026-10-20 14:25:59,071.071 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:25:59,073.073 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:25:59,078.078 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:25:59,083.083 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:26:01,126.126 INFO    ] ================================================
[2026-10-20 14:26:01,141.141 INFO    ] Launching Daemon at Tue Oct 20 14:26:01 IST 2026
[2026-10-20 14:26:01,152.152 INFO    ] ================================================
[2026-10-20 14:26:01,929.929 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:26:01
[2026-10-20 14:26:02,581.581 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:26:02,899.899 INFO    ] Initializing speech engine...
[2026-10-20 14:26:02,907.907 INFO    ] 2026-10-20 14:26:02
[2026-10-20 14:26:03,197.197 INFO    ] 2026-10-20 14:26:03
[2026-10-20 14:26:03,240.240 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:26:03,451.451 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:26:03,506.506 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:26:03,649.649 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:26:03,714.714 INFO    ] time= 20/10/2026 14:26:03
[2026-10-20 14:26:03,768.768 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:26:03,786.786 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:26:03,940.940 INFO    ] No existing commands found in stream
[2026-10-20 14:26:08,965.965 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:26:08,967.967 INFO    ] Waiting 1.40 seconds before fallback handling...
[2026-10-20 14:26:10,884.884 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:26:10,887.887 INFO    ] Checking for system updates...
[2026-10-20 14:26:10,923.923 INFO    ] 200
[2026-10-20 14:26:10,925.925 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:26:10,976.976 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:26:10,978.978 INFO    ] No update needed
[2026-10-20 14:26:10,981.981 INFO    ] Checking for camera pi updates...
[2026-10-20 14:26:11,014.014 INFO    ] 200
[2026-10-20 14:26:11,016.016 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:26:11,060.060 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:26:11,106.106 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:26:11,108.108 INFO    ] No camera update needed
[2026-10-20 14:26:11,111.111 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:26:11,113.113 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:26:11,118.118 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:26:11,123.123 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:26:13,163.163 INFO    ] ================================================
[2026-10-20 14:26:13,178.178 INFO    ] Launching Daemon at Tue Oct 20 14:26:13 IST 2026
[2026-10-20 14:26:13,188.188 INFO    ] ================================================
[2026-10-20 14:26:13,765.765 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:26:13
[2026-10-20 14:26:14,344.344 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:26:14,611.611 INFO    ] Initializing speech engine...
[2026-10-20 14:26:14,620.620 INFO    ] 2026-10-20 14:26:14
[2026-10-20 14:26:14,878.878 INFO    ] 2026-10-20 14:26:14
[2026-10-20 14:26:14,932.932 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:26:15,214.214 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:26:15,219.219 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:26:15,412.412 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:26:15,418.418 INFO    ] time= 20/10/2026 14:26:15
[2026-10-20 14:26:15,436.436 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:26:15,464.464 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:26:15,570.570 INFO    ] No existing commands found in stream
[2026-10-20 14:26:20,599.599 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:26:20,602.602 INFO    ] Waiting 0.84 seconds before fallback handling...
[2026-10-20 14:26:21,964.964 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:26:21,967.967 INFO    ] Checking for system updates...
[2026-10-20 14:26:22,003.003 INFO    ] 200
[2026-10-20 14:26:22,005.005 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:26:22,058.058 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:26:22,061.061 INFO    ] No update needed
[2026-10-20 14:26:22,063.063 INFO    ] Checking for camera pi updates...
[2026-10-20 14:26:22,096.096 INFO    ] 200
[2026-10-20 14:26:22,099.099 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:26:22,149.149 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:26:22,194.194 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:26:22,196.196 INFO    ] No camera update needed
[2026-10-20 14:26:22,199.199 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:26:22,201.201 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:26:22,206.206 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:26:22,211.211 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:26:24,253.253 INFO    ] ================================================
[2026-10-20 14:26:24,267.267 INFO    ] Launching Daemon at Tue Oct 20 14:26:24 IST 2026
[2026-10-20 14:26:24,278.278 INFO    ] ================================================
[2026-10-20 14:26:24,843.843 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:26:24
[2026-10-20 14:26:25,424.424 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:26:25,666.666 INFO    ] Initializing speech engine...
[2026-10-20 14:26:25,674.674 INFO    ] 2026-10-20 14:26:25
[2026-10-20 14:26:25,943.943 INFO    ] 2026-10-20 14:26:25
[2026-10-20 14:26:25,984.984 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:26:26,227.227 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:26:26,237.237 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:26:26,456.456 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:26:26,492.492 INFO    ] time= 20/10/2026 14:26:26
[2026-10-20 14:26:26,498.498 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:26:26,515.515 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:26:26,630.630 INFO    ] No existing commands found in stream
[2026-10-20 14:26:31,652.652 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:26:31,655.655 INFO    ] Waiting 1.79 seconds before fallback handling...
[2026-10-20 14:26:33,942.942 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:26:33,945.945 INFO    ] Checking for system updates...
[2026-10-20 14:26:33,980.980 INFO    ] 200
[2026-10-20 14:26:33,982.982 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:26:34,038.038 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:26:34,041.041 INFO    ] No update needed
[2026-10-20 14:26:34,043.043 INFO    ] Checking for camera pi updates...
[2026-10-20 14:26:34,077.077 INFO    ] 200
[2026-10-20 14:26:34,080.080 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:26:34,123.123 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:26:34,167.167 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:26:34,169.169 INFO    ] No camera update needed
[2026-10-20 14:26:34,172.172 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:26:34,174.174 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:26:34,179.179 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:26:34,184.184 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:26:36,223.223 INFO    ] ================================================
[2026-10-20 14:26:36,238.238 INFO    ] Launching Daemon at Tue Oct 20 14:26:36 IST 2026
[2026-10-20 14:26:36,249.249 INFO    ] ================================================
[2026-10-20 14:26:36,811.811 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:26:36
[2026-10-20 14:26:37,392.392 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:26:37,657.657 INFO    ] Initializing speech engine...
[2026-10-20 14:26:37,667.667 INFO    ] 2026-10-20 14:26:37
[2026-10-20 14:26:37,911.911 INFO    ] 2026-10-20 14:26:37
[2026-10-20 14:26:37,945.945 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:26:38,194.194 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:26:38,204.204 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:26:38,342.342 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:26:38,397.397 INFO    ] time= 20/10/2026 14:26:38
[2026-10-20 14:26:38,436.436 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:26:38,466.466 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:26:38,594.594 INFO    ] No existing commands found in stream
[2026-10-20 14:26:43,621.621 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:26:43,623.623 INFO    ] Waiting 1.49 seconds before fallback handling...
[2026-10-20 14:26:45,633.633 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:26:45,636.636 INFO    ] Checking for system updates...
[2026-10-20 14:26:45,673.673 INFO    ] 200
[2026-10-20 14:26:45,676.676 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:26:45,727.727 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:26:45,730.730 INFO    ] No update needed
[2026-10-20 14:26:45,732.732 INFO    ] Checking for camera pi updates...
[2026-10-20 14:26:45,765.765 INFO    ] 200
[2026-10-20 14:26:45,767.767 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:26:45,818.818 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:26:45,863.863 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:26:45,865.865 INFO    ] No camera update needed
[2026-10-20 14:26:45,867.867 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:26:45,870.870 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:26:45,875.875 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:26:45,880.880 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:26:47,920.920 INFO    ] ================================================
[2026-10-20 14:26:47,934.934 INFO    ] Launching Daemon at Tue Oct 20 14:26:47 IST 2026
[2026-10-20 14:26:47,945.945 INFO    ] ================================================
[2026-10-20 14:26:48,540.540 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:26:48
[2026-10-20 14:26:49,177.177 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:26:49,467.467 INFO    ] Initializing speech engine...
[2026-10-20 14:26:49,474.474 INFO    ] 2026-10-20 14:26:49
[2026-10-20 14:26:49,753.753 INFO    ] 2026-10-20 14:26:49
[2026-10-20 14:26:49,798.798 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:26:49,971.971 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:26:49,979.979 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:26:50,189.189 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:26:50,197.197 INFO    ] time= 20/10/2026 14:26:50
[2026-10-20 14:26:50,220.220 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:26:50,270.270 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:26:50,361.361 INFO    ] No existing commands found in stream
[2026-10-20 14:26:55,372.372 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:26:55,375.375 INFO    ] Waiting 2.00 seconds before fallback handling...
[2026-10-20 14:26:57,946.946 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:26:57,949.949 INFO    ] Checking for system updates...
[2026-10-20 14:26:57,986.986 INFO    ] 200
[2026-10-20 14:26:57,988.988 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:26:58,045.045 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:26:58,048.048 INFO    ] No update needed
[2026-10-20 14:26:58,050.050 INFO    ] Checking for camera pi updates...
[2026-10-20 14:26:58,084.084 INFO    ] 200
[2026-10-20 14:26:58,086.086 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:26:58,130.130 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:26:58,179.179 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:26:58,181.181 INFO    ] No camera update needed
[2026-10-20 14:26:58,184.184 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:26:58,186.186 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:26:58,191.191 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:26:58,196.196 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:27:00,235.235 INFO    ] ================================================
[2026-10-20 14:27:00,250.250 INFO    ] Launching Daemon at Tue Oct 20 14:27:00 IST 2026
[2026-10-20 14:27:00,261.261 INFO    ] ================================================
[2026-10-20 14:27:00,881.881 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:27:00
[2026-10-20 14:27:01,619.619 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:27:01,917.917 INFO    ] Initializing speech engine...
[2026-10-20 14:27:01,927.927 INFO    ] 2026-10-20 14:27:01
[2026-10-20 14:27:02,248.248 INFO    ] 2026-10-20 14:27:02
[2026-10-20 14:27:02,279.279 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:27:02,508.508 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:27:02,515.515 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:27:02,694.694 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:27:02,713.713 INFO    ] time= 20/10/2026 14:27:02
[2026-10-20 14:27:02,749.749 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:27:02,769.769 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:27:02,852.852 INFO    ] No existing commands found in stream
[2026-10-20 14:27:07,877.877 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:27:07,880.880 INFO    ] Waiting 1.85 seconds before fallback handling...
[2026-10-20 14:27:10,248.248 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:27:10,251.251 INFO    ] Checking for system updates...
[2026-10-20 14:27:10,289.289 INFO    ] 200
[2026-10-20 14:27:10,292.292 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:27:10,344.344 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:27:10,346.346 INFO    ] No update needed
[2026-10-20 14:27:10,349.349 INFO    ] Checking for camera pi updates...
[2026-10-20 14:27:10,384.384 INFO    ] 200
[2026-10-20 14:27:10,386.386 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:27:10,425.425 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:27:10,475.475 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:27:10,478.478 INFO    ] No camera update needed
[2026-10-20 14:27:10,480.480 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:27:10,482.482 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:27:10,488.488 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:27:10,493.493 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:27:12,533.533 INFO    ] ================================================
[2026-10-20 14:27:12,547.547 INFO    ] Launching Daemon at Tue Oct 20 14:27:12 IST 2026
[2026-10-20 14:27:12,558.558 INFO    ] ================================================
[2026-10-20 14:27:13,120.120 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:27:13
[2026-10-20 14:27:13,702.702 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:27:13,955.955 INFO    ] Initializing speech engine...
[2026-10-20 14:27:13,971.971 INFO    ] 2026-10-20 14:27:13
[2026-10-20 14:27:14,245.245 INFO    ] 2026-10-20 14:27:14
[2026-10-20 14:27:14,281.281 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:27:14,493.493 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:27:14,521.521 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:27:14,709.709 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:27:14,725.725 INFO    ] time= 20/10/2026 14:27:14
[2026-10-20 14:27:14,779.779 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:27:14,828.828 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:27:14,988.988 INFO    ] No existing commands found in stream
[2026-10-20 14:27:20,003.003 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:27:20,006.006 INFO    ] Waiting 3.73 seconds before fallback handling...
[2026-10-20 14:27:24,225.225 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 14:27:24,228.228 INFO    ] Checking for system updates...
[2026-10-20 14:27:24,263.263 INFO    ] 200
[2026-10-20 14:27:24,265.265 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:27:24,318.318 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:27:24,320.320 INFO    ] No update needed
[2026-10-20 14:27:24,323.323 INFO    ] Checking for camera pi updates...
[2026-10-20 14:27:24,358.358 INFO    ] 200
[2026-10-20 14:27:24,360.360 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:27:24,401.401 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:27:24,446.446 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:27:24,448.448 INFO    ] No camera update needed
[2026-10-20 14:27:24,450.450 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:27:24,453.453 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:27:24,458.458 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:27:24,463.463 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:27:26,502.502 INFO    ] ================================================
[2026-10-20 14:27:26,516.516 INFO    ] Launching Daemon at Tue Oct 20 14:27:26 IST 2026
[2026-10-20 14:27:26,527.527 INFO    ] ================================================
[2026-10-20 14:27:27,111.111 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:27:27
[2026-10-20 14:27:27,693.693 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:27:27,965.965 INFO    ] Initializing speech engine...
[2026-10-20 14:27:27,974.974 INFO    ] 2026-10-20 14:27:27
[2026-10-20 14:27:28,223.223 INFO    ] 2026-10-20 14:27:28
[2026-10-20 14:27:28,257.257 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:27:28,459.459 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:27:28,515.515 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:27:28,672.672 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:27:28,728.728 INFO    ] time= 20/10/2026 14:27:28
[2026-10-20 14:27:28,782.782 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:27:28,805.805 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:27:28,923.923 INFO    ] No existing commands found in stream
[2026-10-20 14:27:33,945.945 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:27:33,948.948 INFO    ] Waiting 1.28 seconds before fallback handling...
[2026-10-20 14:27:35,759.759 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:27:35,761.761 INFO    ] Checking for system updates...
[2026-10-20 14:27:35,799.799 INFO    ] 200
[2026-10-20 14:27:35,801.801 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:27:35,853.853 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:27:35,855.855 INFO    ] No update needed
[2026-10-20 14:27:35,858.858 INFO    ] Checking for camera pi updates...
[2026-10-20 14:27:35,892.892 INFO    ] 200
[2026-10-20 14:27:35,894.894 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:27:35,941.941 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:27:35,995.995 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:27:35,998.998 INFO    ] No camera update needed
[2026-10-20 14:27:36,000.000 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:27:36,003.003 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:27:36,008.008 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:27:36,013.013 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:27:38,051.051 INFO    ] ================================================
[2026-10-20 14:27:38,066.066 INFO    ] Launching Daemon at Tue Oct 20 14:27:38 IST 2026
[2026-10-20 14:27:38,076.076 INFO    ] ================================================
[2026-10-20 14:27:38,641.641 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:27:38
[2026-10-20 14:27:39,224.224 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:27:39,483.483 INFO    ] Initializing speech engine...
[2026-10-20 14:27:39,502.502 INFO    ] 2026-10-20 14:27:39
[2026-10-20 14:27:39,750.750 INFO    ] 2026-10-20 14:27:39
[2026-10-20 14:27:39,784.784 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:27:39,991.991 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:27:40,044.044 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:27:40,251.251 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:27:40,311.311 INFO    ] time= 20/10/2026 14:27:40
[2026-10-20 14:27:40,320.320 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:27:40,341.341 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:27:40,473.473 INFO    ] No existing commands found in stream
[2026-10-20 14:27:45,487.487 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:27:45,490.490 INFO    ] Waiting 0.30 seconds before fallback handling...
[2026-10-20 14:27:46,359.359 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:27:46,362.362 INFO    ] Checking for system updates...
[2026-10-20 14:27:46,397.397 INFO    ] 200
[2026-10-20 14:27:46,400.400 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:27:46,456.456 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:27:46,458.458 INFO    ] No update needed
[2026-10-20 14:27:46,461.461 INFO    ] Checking for camera pi updates...
[2026-10-20 14:27:46,494.494 INFO    ] 200
[2026-10-20 14:27:46,497.497 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:27:46,542.542 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:27:46,688.688 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:27:46,690.690 INFO    ] No camera update needed
[2026-10-20 14:27:46,693.693 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:27:46,695.695 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:27:46,701.701 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:27:46,705.705 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:27:48,746.746 INFO    ] ================================================
[2026-10-20 14:27:48,761.761 INFO    ] Launching Daemon at Tue Oct 20 14:27:48 IST 2026
[2026-10-20 14:27:48,771.771 INFO    ] ================================================
[2026-10-20 14:27:49,335.335 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:27:49
[2026-10-20 14:27:49,915.915 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:27:50,182.182 INFO    ] Initializing speech engine...
[2026-10-20 14:27:50,191.191 INFO    ] 2026-10-20 14:27:50
[2026-10-20 14:27:50,448.448 INFO    ] 2026-10-20 14:27:50
[2026-10-20 14:27:50,501.501 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:27:50,721.721 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:27:50,730.730 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:27:50,970.970 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:27:50,990.990 INFO    ] time= 20/10/2026 14:27:50
[2026-10-20 14:27:51,004.004 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:27:51,013.013 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:27:51,139.139 INFO    ] No existing commands found in stream
[2026-10-20 14:27:56,152.152 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:27:56,155.155 INFO    ] Waiting 0.20 seconds before fallback handling...
[2026-10-20 14:27:56,889.889 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 14:27:56,891.891 INFO    ] Checking for system updates...
[2026-10-20 14:27:56,929.929 INFO    ] 200
[2026-10-20 14:27:56,932.932 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:27:56,984.984 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:27:56,986.986 INFO    ] No update needed
[2026-10-20 14:27:56,989.989 INFO    ] Checking for camera pi updates...
[2026-10-20 14:27:57,024.024 INFO    ] 200
[2026-10-20 14:27:57,026.026 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:27:57,069.069 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:27:57,115.115 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:27:57,118.118 INFO    ] No camera update needed
[2026-10-20 14:27:57,122.122 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:27:57,124.124 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:27:57,146.146 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:27:57,160.160 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:27:59,200.200 INFO    ] ================================================
[2026-10-20 14:27:59,215.215 INFO    ] Launching Daemon at Tue Oct 20 14:27:59 IST 2026
[2026-10-20 14:27:59,225.225 INFO    ] ================================================
[2026-10-20 14:27:59,804.804 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:27:59
[2026-10-20 14:28:00,401.401 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:28:00,677.677 INFO    ] Initializing speech engine...
[2026-10-20 14:28:00,684.684 INFO    ] 2026-10-20 14:28:00
[2026-10-20 14:28:00,943.943 INFO    ] 2026-10-20 14:28:00
[2026-10-20 14:28:00,996.996 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:28:01,277.277 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:28:01,285.285 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:28:01,427.427 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:28:01,432.432 INFO    ] time= 20/10/2026 14:28:01
[2026-10-20 14:28:01,436.436 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:28:01,480.480 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:28:01,572.572 INFO    ] No existing commands found in stream
[2026-10-20 14:28:06,582.582 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:28:06,585.585 INFO    ] Waiting 1.42 seconds before fallback handling...
[2026-10-20 14:28:08,532.532 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:28:08,535.535 INFO    ] Checking for system updates...
[2026-10-20 14:28:08,573.573 INFO    ] 200
[2026-10-20 14:28:08,575.575 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:28:08,626.626 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:28:08,629.629 INFO    ] No update needed
[2026-10-20 14:28:08,631.631 INFO    ] Checking for camera pi updates...
[2026-10-20 14:28:08,667.667 INFO    ] 200
[2026-10-20 14:28:08,669.669 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:28:08,709.709 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:28:08,755.755 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:28:08,757.757 INFO    ] No camera update needed
[2026-10-20 14:28:08,760.760 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:28:08,762.762 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:28:08,767.767 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:28:08,772.772 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:28:10,811.811 INFO    ] ================================================
[2026-10-20 14:28:10,825.825 INFO    ] Launching Daemon at Tue Oct 20 14:28:10 IST 2026
[2026-10-20 14:28:10,836.836 INFO    ] ================================================
[2026-10-20 14:28:11,403.403 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:28:11
[2026-10-20 14:28:11,986.986 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:28:12,256.256 INFO    ] Initializing speech engine...
[2026-10-20 14:28:12,265.265 INFO    ] 2026-10-20 14:28:12
[2026-10-20 14:28:12,517.517 INFO    ] 2026-10-20 14:28:12
[2026-10-20 14:28:12,552.552 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:28:12,810.810 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:28:12,819.819 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:28:12,953.953 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:28:12,990.990 INFO    ] time= 20/10/2026 14:28:12
[2026-10-20 14:28:13,034.034 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:28:13,078.078 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:28:13,240.240 INFO    ] No existing commands found in stream
[2026-10-20 14:28:18,253.253 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:28:18,256.256 INFO    ] Waiting 1.32 seconds before fallback handling...
[2026-10-20 14:28:20,122.122 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:28:20,125.125 INFO    ] Checking for system updates...
[2026-10-20 14:28:20,162.162 INFO    ] 200
[2026-10-20 14:28:20,165.165 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:28:20,216.216 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:28:20,219.219 INFO    ] No update needed
[2026-10-20 14:28:20,221.221 INFO    ] Checking for camera pi updates...
[2026-10-20 14:28:20,257.257 INFO    ] 200
[2026-10-20 14:28:20,259.259 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:28:20,299.299 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:28:20,344.344 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:28:20,347.347 INFO    ] No camera update needed
[2026-10-20 14:28:20,349.349 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:28:20,351.351 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:28:20,357.357 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:28:20,362.362 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:28:22,402.402 INFO    ] ================================================
[2026-10-20 14:28:22,417.417 INFO    ] Launching Daemon at Tue Oct 20 14:28:22 IST 2026
[2026-10-20 14:28:22,431.431 INFO    ] ================================================
[2026-10-20 14:28:23,001.001 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:28:22
[2026-10-20 14:28:23,590.590 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:28:23,845.845 INFO    ] Initializing speech engine...
[2026-10-20 14:28:23,859.859 INFO    ] 2026-10-20 14:28:23
[2026-10-20 14:28:24,139.139 INFO    ] 2026-10-20 14:28:24
[2026-10-20 14:28:24,176.176 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:28:24,401.401 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:28:24,460.460 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:28:24,617.617 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:28:24,662.662 INFO    ] time= 20/10/2026 14:28:24
[2026-10-20 14:28:24,705.705 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:28:24,760.760 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:28:24,918.918 INFO    ] No existing commands found in stream
[2026-10-20 14:28:29,936.936 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:28:29,938.938 INFO    ] Waiting 0.35 seconds before fallback handling...
[2026-10-20 14:28:30,833.833 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:28:30,837.837 INFO    ] Checking for system updates...
[2026-10-20 14:28:30,874.874 INFO    ] 200
[2026-10-20 14:28:30,877.877 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:28:30,934.934 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:28:30,937.937 INFO    ] No update needed
[2026-10-20 14:28:30,940.940 INFO    ] Checking for camera pi updates...
[2026-10-20 14:28:30,977.977 INFO    ] 200
[2026-10-20 14:28:30,980.980 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:28:31,021.021 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:28:31,065.065 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:28:31,067.067 INFO    ] No camera update needed
[2026-10-20 14:28:31,070.070 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:28:31,073.073 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:28:31,079.079 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:28:31,084.084 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:28:33,125.125 INFO    ] ================================================
[2026-10-20 14:28:33,140.140 INFO    ] Launching Daemon at Tue Oct 20 14:28:33 IST 2026
[2026-10-20 14:28:33,151.151 INFO    ] ================================================
[2026-10-20 14:28:33,720.720 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:28:33
[2026-10-20 14:28:34,308.308 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:28:34,580.580 INFO    ] Initializing speech engine...
[2026-10-20 14:28:34,589.589 INFO    ] 2026-10-20 14:28:34
[2026-10-20 14:28:34,851.851 INFO    ] 2026-10-20 14:28:34
[2026-10-20 14:28:34,882.882 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:28:35,156.156 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:28:35,162.162 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:28:35,350.350 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:28:35,403.403 INFO    ] time= 20/10/2026 14:28:35
[2026-10-20 14:28:35,410.410 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:28:35,428.428 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:28:35,564.564 INFO    ] No existing commands found in stream
[2026-10-20 14:28:40,578.578 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:28:40,581.581 INFO    ] Waiting 0.83 seconds before fallback handling...
[2026-10-20 14:28:41,938.938 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:28:41,941.941 INFO    ] Checking for system updates...
[2026-10-20 14:28:41,980.980 INFO    ] 200
[2026-10-20 14:28:41,983.983 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:28:42,045.045 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:28:42,047.047 INFO    ] No update needed
[2026-10-20 14:28:42,050.050 INFO    ] Checking for camera pi updates...
[2026-10-20 14:28:42,084.084 INFO    ] 200
[2026-10-20 14:28:42,087.087 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:28:42,131.131 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:28:42,175.175 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:28:42,178.178 INFO    ] No camera update needed
[2026-10-20 14:28:42,181.181 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:28:42,184.184 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:28:42,190.190 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:28:42,195.195 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:28:44,236.236 INFO    ] ================================================
[2026-10-20 14:28:44,251.251 INFO    ] Launching Daemon at Tue Oct 20 14:28:44 IST 2026
[2026-10-20 14:28:44,262.262 INFO    ] ================================================
[2026-10-20 14:28:44,841.841 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:28:44
[2026-10-20 14:28:45,437.437 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:28:45,708.708 INFO    ] Initializing speech engine...
[2026-10-20 14:28:45,719.719 INFO    ] 2026-10-20 14:28:45
[2026-10-20 14:28:45,971.971 INFO    ] 2026-10-20 14:28:45
[2026-10-20 14:28:46,027.027 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:28:46,249.249 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:28:46,258.258 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:28:46,467.467 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:28:46,515.515 INFO    ] time= 20/10/2026 14:28:46
[2026-10-20 14:28:46,521.521 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:28:46,542.542 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:28:46,671.671 INFO    ] No existing commands found in stream
[2026-10-20 14:28:51,693.693 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:28:51,696.696 INFO    ] Waiting 3.56 seconds before fallback handling...
[2026-10-20 14:28:55,799.799 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 14:28:55,801.801 INFO    ] Checking for system updates...
[2026-10-20 14:28:55,837.837 INFO    ] 200
[2026-10-20 14:28:55,840.840 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:28:55,896.896 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:28:55,899.899 INFO    ] No update needed
[2026-10-20 14:28:55,901.901 INFO    ] Checking for camera pi updates...
[2026-10-20 14:28:55,935.935 INFO    ] 200
[2026-10-20 14:28:55,937.937 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:28:55,980.980 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:28:56,033.033 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:28:56,035.035 INFO    ] No camera update needed
[2026-10-20 14:28:56,037.037 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:28:56,040.040 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:28:56,045.045 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:28:56,050.050 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:28:58,090.090 INFO    ] ================================================
[2026-10-20 14:28:58,107.107 INFO    ] Launching Daemon at Tue Oct 20 14:28:58 IST 2026
[2026-10-20 14:28:58,118.118 INFO    ] ================================================
[2026-10-20 14:28:58,684.684 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:28:58
[2026-10-20 14:28:59,268.268 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:28:59,523.523 INFO    ] Initializing speech engine...
[2026-10-20 14:28:59,536.536 INFO    ] 2026-10-20 14:28:59
[2026-10-20 14:28:59,815.815 INFO    ] 2026-10-20 14:28:59
[2026-10-20 14:28:59,850.850 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:29:00,131.131 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:29:00,141.141 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:29:00,289.289 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:29:00,319.319 INFO    ] time= 20/10/2026 14:29:00
[2026-10-20 14:29:00,373.373 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:29:00,432.432 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:29:00,594.594 INFO    ] No existing commands found in stream
[2026-10-20 14:29:05,610.610 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:29:05,613.613 INFO    ] Waiting 3.50 seconds before fallback handling...
[2026-10-20 14:29:09,632.632 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:29:09,634.634 INFO    ] Checking for system updates...
[2026-10-20 14:29:09,670.670 INFO    ] 200
[2026-10-20 14:29:09,672.672 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:29:09,724.724 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:29:09,726.726 INFO    ] No update needed
[2026-10-20 14:29:09,728.728 INFO    ] Checking for camera pi updates...
[2026-10-20 14:29:09,762.762 INFO    ] 200
[2026-10-20 14:29:09,765.765 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:29:09,809.809 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:29:09,855.855 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:29:09,858.858 INFO    ] No camera update needed
[2026-10-20 14:29:09,860.860 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:29:09,863.863 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:29:09,868.868 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:29:09,873.873 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:29:11,913.913 INFO    ] ================================================
[2026-10-20 14:29:11,929.929 INFO    ] Launching Daemon at Tue Oct 20 14:29:11 IST 2026
[2026-10-20 14:29:11,940.940 INFO    ] ================================================
[2026-10-20 14:29:12,569.569 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:29:12
[2026-10-20 14:29:13,220.220 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:29:13,518.518 INFO    ] Initializing speech engine...
[2026-10-20 14:29:13,524.524 INFO    ] 2026-10-20 14:29:13
[2026-10-20 14:29:13,813.813 INFO    ] 2026-10-20 14:29:13
[2026-10-20 14:29:13,922.922 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:29:14,136.136 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:29:14,144.144 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:29:14,327.327 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:29:14,343.343 INFO    ] time= 20/10/2026 14:29:14
[2026-10-20 14:29:14,363.363 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:29:14,392.392 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:29:14,522.522 INFO    ] No existing commands found in stream
[2026-10-20 14:29:19,552.552 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:29:19,555.555 INFO    ] Waiting 1.47 seconds before fallback handling...
[2026-10-20 14:29:21,576.576 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:29:21,579.579 INFO    ] Checking for system updates...
[2026-10-20 14:29:21,615.615 INFO    ] 200
[2026-10-20 14:29:21,617.617 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:29:21,670.670 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:29:21,673.673 INFO    ] No update needed
[2026-10-20 14:29:21,675.675 INFO    ] Checking for camera pi updates...
[2026-10-20 14:29:21,709.709 INFO    ] 200
[2026-10-20 14:29:21,712.712 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:29:21,756.756 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:29:21,806.806 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:29:21,809.809 INFO    ] No camera update needed
[2026-10-20 14:29:21,812.812 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:29:21,814.814 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:29:21,820.820 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:29:21,826.826 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:29:23,866.866 INFO    ] ================================================
[2026-10-20 14:29:23,882.882 INFO    ] Launching Daemon at Tue Oct 20 14:29:23 IST 2026
[2026-10-20 14:29:23,893.893 INFO    ] ================================================
[2026-10-20 14:29:24,470.470 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:29:24
[2026-10-20 14:29:25,070.070 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:29:25,346.346 INFO    ] Initializing speech engine...
[2026-10-20 14:29:25,353.353 INFO    ] 2026-10-20 14:29:25
[2026-10-20 14:29:25,614.614 INFO    ] 2026-10-20 14:29:25
[2026-10-20 14:29:25,645.645 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:29:25,894.894 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:29:25,899.899 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:29:26,139.139 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:29:26,157.157 INFO    ] time= 20/10/2026 14:29:26
[2026-10-20 14:29:26,175.175 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:29:26,187.187 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:29:26,311.311 INFO    ] No existing commands found in stream
[2026-10-20 14:29:31,340.340 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:29:31,342.342 INFO    ] Waiting 3.56 seconds before fallback handling...
[2026-10-20 14:29:35,406.406 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:29:35,408.408 INFO    ] Checking for system updates...
[2026-10-20 14:29:35,447.447 INFO    ] 200
[2026-10-20 14:29:35,450.450 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:29:35,502.502 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:29:35,505.505 INFO    ] No update needed
[2026-10-20 14:29:35,507.507 INFO    ] Checking for camera pi updates...
[2026-10-20 14:29:35,543.543 INFO    ] 200
[2026-10-20 14:29:35,546.546 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:29:35,585.585 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:29:35,630.630 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:29:35,633.633 INFO    ] No camera update needed
[2026-10-20 14:29:35,635.635 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:29:35,637.637 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:29:35,643.643 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:29:35,648.648 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:29:37,690.690 INFO    ] ================================================
[2026-10-20 14:29:37,705.705 INFO    ] Launching Daemon at Tue Oct 20 14:29:37 IST 2026
[2026-10-20 14:29:37,716.716 INFO    ] ================================================
[2026-10-20 14:29:38,301.301 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:29:38
[2026-10-20 14:29:38,886.886 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:29:39,154.154 INFO    ] Initializing speech engine...
[2026-10-20 14:29:39,162.162 INFO    ] 2026-10-20 14:29:39
[2026-10-20 14:29:39,409.409 INFO    ] 2026-10-20 14:29:39
[2026-10-20 14:29:39,444.444 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:29:39,695.695 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:29:39,704.704 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:29:39,838.838 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:29:39,898.898 INFO    ] time= 20/10/2026 14:29:39
[2026-10-20 14:29:39,957.957 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:29:39,972.972 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:29:40,115.115 INFO    ] No existing commands found in stream
[2026-10-20 14:29:45,129.129 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:29:45,131.131 INFO    ] Waiting 2.05 seconds before fallback handling...
[2026-10-20 14:29:47,702.702 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:29:47,704.704 INFO    ] Checking for system updates...
[2026-10-20 14:29:47,741.741 INFO    ] 200
[2026-10-20 14:29:47,743.743 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:29:47,801.801 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:29:47,803.803 INFO    ] No update needed
[2026-10-20 14:29:47,805.805 INFO    ] Checking for camera pi updates...
[2026-10-20 14:29:47,847.847 INFO    ] 200
[2026-10-20 14:29:47,849.849 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:29:47,890.890 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:29:48,033.033 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:29:48,036.036 INFO    ] No camera update needed
[2026-10-20 14:29:48,038.038 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:29:48,041.041 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:29:48,046.046 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:29:48,052.052 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:29:50,093.093 INFO    ] ================================================
[2026-10-20 14:29:50,109.109 INFO    ] Launching Daemon at Tue Oct 20 14:29:50 IST 2026
[2026-10-20 14:29:50,119.119 INFO    ] ================================================
[2026-10-20 14:29:50,701.701 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:29:50
[2026-10-20 14:29:51,298.298 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:29:51,572.572 INFO    ] Initializing speech engine...
[2026-10-20 14:29:51,581.581 INFO    ] 2026-10-20 14:29:51
[2026-10-20 14:29:51,828.828 INFO    ] 2026-10-20 14:29:51
[2026-10-20 14:29:51,863.863 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:29:52,117.117 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:29:52,122.122 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:29:52,261.261 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:29:52,322.322 INFO    ] time= 20/10/2026 14:29:52
[2026-10-20 14:29:52,381.381 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:29:52,390.390 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:29:52,539.539 INFO    ] No existing commands found in stream
[2026-10-20 14:29:57,565.565 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:29:57,567.567 INFO    ] Waiting 3.00 seconds before fallback handling...
[2026-10-20 14:30:01,103.103 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 14:30:01,106.106 INFO    ] Checking for system updates...
[2026-10-20 14:30:01,141.141 INFO    ] 200
[2026-10-20 14:30:01,144.144 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:30:01,195.195 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:30:01,197.197 INFO    ] No update needed
[2026-10-20 14:30:01,200.200 INFO    ] Checking for camera pi updates...
[2026-10-20 14:30:01,233.233 INFO    ] 200
[2026-10-20 14:30:01,235.235 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:30:01,275.275 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:30:01,324.324 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:30:01,326.326 INFO    ] No camera update needed
[2026-10-20 14:30:01,329.329 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:30:01,332.332 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:30:01,337.337 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:30:01,342.342 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:30:03,398.398 INFO    ] ================================================
[2026-10-20 14:30:03,424.424 INFO    ] Launching Daemon at Tue Oct 20 14:30:03 IST 2026
[2026-10-20 14:30:03,444.444 INFO    ] ================================================
[2026-10-20 14:30:04,117.117 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:30:04
[2026-10-20 14:30:04,791.791 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:30:05,106.106 INFO    ] Initializing speech engine...
[2026-10-20 14:30:05,117.117 INFO    ] 2026-10-20 14:30:05
[2026-10-20 14:30:05,409.409 INFO    ] 2026-10-20 14:30:05
[2026-10-20 14:30:05,523.523 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:30:05,809.809 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:30:05,815.815 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:30:05,998.998 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:30:06,009.009 INFO    ] time= 20/10/2026 14:30:06
[2026-10-20 14:30:06,051.051 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:30:06,103.103 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:30:06,226.226 INFO    ] No existing commands found in stream
[2026-10-20 14:30:11,258.258 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:30:11,261.261 INFO    ] Waiting 1.56 seconds before fallback handling...
[2026-10-20 14:30:13,359.359 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:30:13,363.363 INFO    ] Checking for system updates...
[2026-10-20 14:30:13,399.399 INFO    ] 200
[2026-10-20 14:30:13,402.402 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:30:13,455.455 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:30:13,458.458 INFO    ] No update needed
[2026-10-20 14:30:13,461.461 INFO    ] Checking for camera pi updates...
[2026-10-20 14:30:13,499.499 INFO    ] 200
[2026-10-20 14:30:13,502.502 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:30:13,554.554 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:30:13,595.595 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:30:13,597.597 INFO    ] No camera update needed
[2026-10-20 14:30:13,601.601 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:30:13,604.604 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:30:13,629.629 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:30:13,636.636 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:30:15,678.678 INFO    ] ================================================
[2026-10-20 14:30:15,693.693 INFO    ] Launching Daemon at Tue Oct 20 14:30:15 IST 2026
[2026-10-20 14:30:15,704.704 INFO    ] ================================================
[2026-10-20 14:30:16,273.273 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:30:16
[2026-10-20 14:30:16,864.864 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:30:17,136.136 INFO    ] Initializing speech engine...
[2026-10-20 14:30:17,144.144 INFO    ] 2026-10-20 14:30:17
[2026-10-20 14:30:17,395.395 INFO    ] 2026-10-20 14:30:17
[2026-10-20 14:30:17,429.429 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:30:17,634.634 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:30:17,693.693 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:30:17,899.899 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:30:17,959.959 INFO    ] time= 20/10/2026 14:30:17
[2026-10-20 14:30:17,971.971 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:30:17,989.989 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:30:18,106.106 INFO    ] No existing commands found in stream
[2026-10-20 14:30:23,129.129 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:30:23,132.132 INFO    ] Waiting 3.29 seconds before fallback handling...
[2026-10-20 14:30:26,916.916 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:30:26,918.918 INFO    ] Checking for system updates...
[2026-10-20 14:30:26,958.958 INFO    ] 200
[2026-10-20 14:30:26,960.960 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:30:27,014.014 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:30:27,016.016 INFO    ] No update needed
[2026-10-20 14:30:27,019.019 INFO    ] Checking for camera pi updates...
[2026-10-20 14:30:27,057.057 INFO    ] 200
[2026-10-20 14:30:27,060.060 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:30:27,101.101 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:30:27,160.160 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:30:27,162.162 INFO    ] No camera update needed
[2026-10-20 14:30:27,165.165 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:30:27,168.168 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:30:27,174.174 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:30:27,180.180 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:30:29,221.221 INFO    ] ================================================
[2026-10-20 14:30:29,236.236 INFO    ] Launching Daemon at Tue Oct 20 14:30:29 IST 2026
[2026-10-20 14:30:29,247.247 INFO    ] ================================================
[2026-10-20 14:30:29,824.824 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:30:29
[2026-10-20 14:30:30,410.410 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:30:30,672.672 INFO    ] Initializing speech engine...
[2026-10-20 14:30:30,690.690 INFO    ] 2026-10-20 14:30:30
[2026-10-20 14:30:30,941.941 INFO    ] 2026-10-20 14:30:30
[2026-10-20 14:30:30,974.974 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:30:31,174.174 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:30:31,182.182 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:30:31,379.379 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:30:31,396.396 INFO    ] time= 20/10/2026 14:30:31
[2026-10-20 14:30:31,455.455 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:30:31,515.515 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:30:31,637.637 INFO    ] No existing commands found in stream
[2026-10-20 14:30:36,659.659 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:30:36,662.662 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-10-20 14:30:38,986.986 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:30:38,989.989 INFO    ] Checking for system updates...
[2026-10-20 14:30:39,027.027 INFO    ] 200
[2026-10-20 14:30:39,030.030 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:30:39,083.083 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:30:39,086.086 INFO    ] No update needed
[2026-10-20 14:30:39,089.089 INFO    ] Checking for camera pi updates...
[2026-10-20 14:30:39,122.122 INFO    ] 200
[2026-10-20 14:30:39,125.125 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:30:39,166.166 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:30:39,212.212 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:30:39,214.214 INFO    ] No camera update needed
[2026-10-20 14:30:39,217.217 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:30:39,220.220 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:30:39,226.226 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:30:39,231.231 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:30:41,272.272 INFO    ] ================================================
[2026-10-20 14:30:41,287.287 INFO    ] Launching Daemon at Tue Oct 20 14:30:41 IST 2026
[2026-10-20 14:30:41,298.298 INFO    ] ================================================
[2026-10-20 14:30:41,929.929 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:30:41
[2026-10-20 14:30:42,582.582 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:30:42,874.874 INFO    ] Initializing speech engine...
[2026-10-20 14:30:42,881.881 INFO    ] 2026-10-20 14:30:42
[2026-10-20 14:30:43,152.152 INFO    ] 2026-10-20 14:30:43
[2026-10-20 14:30:43,211.211 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:30:43,491.491 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:30:43,499.499 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:30:43,685.685 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:30:43,699.699 INFO    ] time= 20/10/2026 14:30:43
[2026-10-20 14:30:43,717.717 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:30:43,748.748 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:30:43,863.863 INFO    ] No existing commands found in stream
[2026-10-20 14:30:48,893.893 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:30:48,896.896 INFO    ] Waiting 0.79 seconds before fallback handling...
[2026-10-20 14:30:50,199.199 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 14:30:50,202.202 INFO    ] Checking for system updates...
[2026-10-20 14:30:50,240.240 INFO    ] 200
[2026-10-20 14:30:50,242.242 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:30:50,293.293 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:30:50,296.296 INFO    ] No update needed
[2026-10-20 14:30:50,298.298 INFO    ] Checking for camera pi updates...
[2026-10-20 14:30:50,332.332 INFO    ] 200
[2026-10-20 14:30:50,335.335 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:30:50,382.382 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:30:50,429.429 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:30:50,431.431 INFO    ] No camera update needed
[2026-10-20 14:30:50,433.433 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:30:50,436.436 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:30:50,441.441 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:30:50,446.446 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:30:52,485.485 INFO    ] ================================================
[2026-10-20 14:30:52,500.500 INFO    ] Launching Daemon at Tue Oct 20 14:30:52 IST 2026
[2026-10-20 14:30:52,511.511 INFO    ] ================================================
[2026-10-20 14:30:53,108.108 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:30:53
[2026-10-20 14:30:53,691.691 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:30:53,949.949 INFO    ] Initializing speech engine...
[2026-10-20 14:30:53,967.967 INFO    ] 2026-10-20 14:30:53
[2026-10-20 14:30:54,215.215 INFO    ] 2026-10-20 14:30:54
[2026-10-20 14:30:54,249.249 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:30:54,446.446 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:30:54,504.504 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:30:54,693.693 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:30:54,742.742 INFO    ] time= 20/10/2026 14:30:54
[2026-10-20 14:30:54,776.776 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:30:54,783.783 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:30:54,928.928 INFO    ] No existing commands found in stream
[2026-10-20 14:30:59,940.940 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:30:59,943.943 INFO    ] Waiting 1.73 seconds before fallback handling...
[2026-10-20 14:31:02,210.210 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 14:31:02,213.213 INFO    ] Checking for system updates...
[2026-10-20 14:31:02,255.255 INFO    ] 200
[2026-10-20 14:31:02,259.259 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:31:02,321.321 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:31:02,324.324 INFO    ] No update needed
[2026-10-20 14:31:02,328.328 INFO    ] Checking for camera pi updates...
[2026-10-20 14:31:02,369.369 INFO    ] 200
[2026-10-20 14:31:02,372.372 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:31:02,428.428 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:31:02,463.463 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:31:02,467.467 INFO    ] No camera update needed
[2026-10-20 14:31:02,470.470 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:31:02,474.474 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:31:02,482.482 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:31:02,488.488 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:31:04,531.531 INFO    ] ================================================
[2026-10-20 14:31:04,546.546 INFO    ] Launching Daemon at Tue Oct 20 14:31:04 IST 2026
[2026-10-20 14:31:04,557.557 INFO    ] ================================================
[2026-10-20 14:31:05,130.130 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:31:05
[2026-10-20 14:31:05,721.721 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:31:06,013.013 INFO    ] Initializing speech engine...
[2026-10-20 14:31:06,026.026 INFO    ] 2026-10-20 14:31:06
[2026-10-20 14:31:06,314.314 INFO    ] 2026-10-20 14:31:06
[2026-10-20 14:31:06,349.349 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:31:06,548.548 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:31:06,572.572 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:31:06,777.777 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:31:06,823.823 INFO    ] time= 20/10/2026 14:31:06
[2026-10-20 14:31:06,883.883 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:31:06,919.919 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:31:07,052.052 INFO    ] No existing commands found in stream
[2026-10-20 14:31:12,081.081 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:31:12,084.084 INFO    ] Waiting 0.78 seconds before fallback handling...
[2026-10-20 14:31:14,113.113 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 14:31:14,116.116 INFO    ] Checking for system updates...
[2026-10-20 14:31:14,153.153 INFO    ] 200
[2026-10-20 14:31:14,155.155 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:31:14,214.214 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:31:14,217.217 INFO    ] No update needed
[2026-10-20 14:31:14,219.219 INFO    ] Checking for camera pi updates...
[2026-10-20 14:31:14,260.260 INFO    ] 200
[2026-10-20 14:31:14,264.264 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:31:14,313.313 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:31:14,364.364 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:31:14,367.367 INFO    ] No camera update needed
[2026-10-20 14:31:14,369.369 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:31:14,372.372 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:31:14,378.378 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:31:14,384.384 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:31:16,425.425 INFO    ] ================================================
[2026-10-20 14:31:16,443.443 INFO    ] Launching Daemon at Tue Oct 20 14:31:16 IST 2026
[2026-10-20 14:31:16,454.454 INFO    ] ================================================
[2026-10-20 14:31:17,021.021 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:31:17
[2026-10-20 14:31:17,606.606 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:31:17,860.860 INFO    ] Initializing speech engine...
[2026-10-20 14:31:17,869.869 INFO    ] 2026-10-20 14:31:17
[2026-10-20 14:31:18,165.165 INFO    ] 2026-10-20 14:31:18
[2026-10-20 14:31:18,200.200 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:31:18,398.398 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:31:18,413.413 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:31:18,575.575 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:31:18,583.583 INFO    ] time= 20/10/2026 14:31:18
[2026-10-20 14:31:18,587.587 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:31:18,593.593 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:31:18,669.669 INFO    ] No existing commands found in stream
[2026-10-20 14:31:23,699.699 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:31:23,702.702 INFO    ] Waiting 0.93 seconds before fallback handling...
[2026-10-20 14:31:25,142.142 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:31:25,144.144 INFO    ] Checking for system updates...
[2026-10-20 14:31:25,183.183 INFO    ] 200
[2026-10-20 14:31:25,185.185 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:31:25,237.237 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:31:25,239.239 INFO    ] No update needed
[2026-10-20 14:31:25,242.242 INFO    ] Checking for camera pi updates...
[2026-10-20 14:31:25,285.285 INFO    ] 200
[2026-10-20 14:31:25,287.287 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:31:25,332.332 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:31:25,381.381 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:31:25,384.384 INFO    ] No camera update needed
[2026-10-20 14:31:25,386.386 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:31:25,388.388 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:31:25,394.394 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:31:25,398.398 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:31:27,438.438 INFO    ] ================================================
[2026-10-20 14:31:27,453.453 INFO    ] Launching Daemon at Tue Oct 20 14:31:27 IST 2026
[2026-10-20 14:31:27,464.464 INFO    ] ================================================
[2026-10-20 14:31:28,062.062 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:31:28
[2026-10-20 14:31:28,674.674 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:31:28,972.972 INFO    ] Initializing speech engine...
[2026-10-20 14:31:28,986.986 INFO    ] 2026-10-20 14:31:28
[2026-10-20 14:31:29,268.268 INFO    ] 2026-10-20 14:31:29
[2026-10-20 14:31:29,372.372 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:31:29,586.586 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:31:29,595.595 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:31:29,790.790 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:31:29,809.809 INFO    ] time= 20/10/2026 14:31:29
[2026-10-20 14:31:29,818.818 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:31:29,844.844 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:31:29,951.951 INFO    ] No existing commands found in stream
[2026-10-20 14:31:34,985.985 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:31:34,988.988 INFO    ] Waiting 2.77 seconds before fallback handling...
[2026-10-20 14:31:38,319.319 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:31:38,322.322 INFO    ] Checking for system updates...
[2026-10-20 14:31:38,358.358 INFO    ] 200
[2026-10-20 14:31:38,361.361 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:31:38,413.413 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:31:38,416.416 INFO    ] No update needed
[2026-10-20 14:31:38,419.419 INFO    ] Checking for camera pi updates...
[2026-10-20 14:31:38,452.452 INFO    ] 200
[2026-10-20 14:31:38,455.455 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:31:38,497.497 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:31:38,554.554 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:31:38,557.557 INFO    ] No camera update needed
[2026-10-20 14:31:38,559.559 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:31:38,562.562 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:31:38,568.568 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:31:38,574.574 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:31:40,613.613 INFO    ] ================================================
[2026-10-20 14:31:40,627.627 INFO    ] Launching Daemon at Tue Oct 20 14:31:40 IST 2026
[2026-10-20 14:31:40,638.638 INFO    ] ================================================
[2026-10-20 14:31:41,205.205 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:31:41
[2026-10-20 14:31:41,791.791 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:31:42,042.042 INFO    ] Initializing speech engine...
[2026-10-20 14:31:42,047.047 INFO    ] 2026-10-20 14:31:42
[2026-10-20 14:31:42,340.340 INFO    ] 2026-10-20 14:31:42
[2026-10-20 14:31:42,377.377 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:31:42,568.568 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:31:42,583.583 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:31:42,744.744 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:31:42,750.750 INFO    ] time= 20/10/2026 14:31:42
[2026-10-20 14:31:42,756.756 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:31:42,762.762 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:31:42,926.926 INFO    ] No existing commands found in stream
[2026-10-20 14:31:47,951.951 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:31:47,953.953 INFO    ] Waiting 0.63 seconds before fallback handling...
[2026-10-20 14:31:49,111.111 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 14:31:49,113.113 INFO    ] Checking for system updates...
[2026-10-20 14:31:49,149.149 INFO    ] 200
[2026-10-20 14:31:49,151.151 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:31:49,203.203 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:31:49,206.206 INFO    ] No update needed
[2026-10-20 14:31:49,208.208 INFO    ] Checking for camera pi updates...
[2026-10-20 14:31:49,241.241 INFO    ] 200
[2026-10-20 14:31:49,244.244 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:31:49,284.284 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:31:49,331.331 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:31:49,334.334 INFO    ] No camera update needed
[2026-10-20 14:31:49,336.336 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:31:49,338.338 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:31:49,343.343 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:31:49,348.348 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:31:51,388.388 INFO    ] ================================================
[2026-10-20 14:31:51,402.402 INFO    ] Launching Daemon at Tue Oct 20 14:31:51 IST 2026
[2026-10-20 14:31:51,413.413 INFO    ] ================================================
[2026-10-20 14:31:51,977.977 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:31:51
[2026-10-20 14:31:52,560.560 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:31:52,814.814 INFO    ] Initializing speech engine...
[2026-10-20 14:31:52,830.830 INFO    ] 2026-10-20 14:31:52
[2026-10-20 14:31:53,106.106 INFO    ] 2026-10-20 14:31:53
[2026-10-20 14:31:53,144.144 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:31:53,359.359 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:31:53,382.382 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:31:53,581.581 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:31:53,613.613 INFO    ] time= 20/10/2026 14:31:53
[2026-10-20 14:31:53,662.662 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:31:53,722.722 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:31:53,857.857 INFO    ] No existing commands found in stream
[2026-10-20 14:31:58,875.875 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:31:58,877.877 INFO    ] Waiting 0.50 seconds before fallback handling...
[2026-10-20 14:31:59,863.863 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:31:59,865.865 INFO    ] Checking for system updates...
[2026-10-20 14:31:59,901.901 INFO    ] 200
[2026-10-20 14:31:59,903.903 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:31:59,959.959 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:31:59,962.962 INFO    ] No update needed
[2026-10-20 14:31:59,964.964 INFO    ] Checking for camera pi updates...
[2026-10-20 14:31:59,997.997 INFO    ] 200
[2026-10-20 14:31:59,999.999 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:32:00,043.043 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:32:00,187.187 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:32:00,190.190 INFO    ] No camera update needed
[2026-10-20 14:32:00,192.192 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:32:00,195.195 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:32:00,200.200 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:32:00,205.205 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:32:02,247.247 INFO    ] ================================================
[2026-10-20 14:32:02,265.265 INFO    ] Launching Daemon at Tue Oct 20 14:32:02 IST 2026
[2026-10-20 14:32:02,282.282 INFO    ] ================================================
[2026-10-20 14:32:02,985.985 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:32:02
[2026-10-20 14:32:03,609.609 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:32:03,864.864 INFO    ] Initializing speech engine...
[2026-10-20 14:32:03,872.872 INFO    ] 2026-10-20 14:32:03
[2026-10-20 14:32:04,164.164 INFO    ] 2026-10-20 14:32:04
[2026-10-20 14:32:04,200.200 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:32:04,418.418 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:32:04,447.447 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:32:04,652.652 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:32:04,659.659 INFO    ] time= 20/10/2026 14:32:04
[2026-10-20 14:32:04,703.703 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:32:04,747.747 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:32:04,850.850 INFO    ] No existing commands found in stream
[2026-10-20 14:32:09,863.863 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:32:09,866.866 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-10-20 14:32:12,722.722 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:32:12,725.725 INFO    ] Checking for system updates...
[2026-10-20 14:32:12,762.762 INFO    ] 200
[2026-10-20 14:32:12,765.765 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:32:12,819.819 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:32:12,822.822 INFO    ] No update needed
[2026-10-20 14:32:12,825.825 INFO    ] Checking for camera pi updates...
[2026-10-20 14:32:12,862.862 INFO    ] 200
[2026-10-20 14:32:12,864.864 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:32:12,904.904 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:32:12,954.954 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:32:12,957.957 INFO    ] No camera update needed
[2026-10-20 14:32:12,960.960 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:32:12,963.963 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:32:12,970.970 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:32:12,976.976 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:32:15,019.019 INFO    ] ================================================
[2026-10-20 14:32:15,034.034 INFO    ] Launching Daemon at Tue Oct 20 14:32:15 IST 2026
[2026-10-20 14:32:15,045.045 INFO    ] ================================================
[2026-10-20 14:32:15,610.610 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:32:15
[2026-10-20 14:32:16,192.192 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:32:16,445.445 INFO    ] Initializing speech engine...
[2026-10-20 14:32:16,454.454 INFO    ] 2026-10-20 14:32:16
[2026-10-20 14:32:16,743.743 INFO    ] 2026-10-20 14:32:16
[2026-10-20 14:32:16,782.782 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:32:17,065.065 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:32:17,073.073 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:32:17,223.223 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:32:17,251.251 INFO    ] time= 20/10/2026 14:32:17
[2026-10-20 14:32:17,311.311 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:32:17,371.371 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:32:17,514.514 INFO    ] No existing commands found in stream
[2026-10-20 14:32:22,544.544 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:32:22,547.547 INFO    ] Waiting 3.49 seconds before fallback handling...
[2026-10-20 14:32:26,537.537 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:32:26,540.540 INFO    ] Checking for system updates...
[2026-10-20 14:32:26,576.576 INFO    ] 200
[2026-10-20 14:32:26,578.578 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:32:26,632.632 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:32:26,635.635 INFO    ] No update needed
[2026-10-20 14:32:26,637.637 INFO    ] Checking for camera pi updates...
[2026-10-20 14:32:26,670.670 INFO    ] 200
[2026-10-20 14:32:26,673.673 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:32:26,717.717 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:32:26,772.772 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:32:26,774.774 INFO    ] No camera update needed
[2026-10-20 14:32:26,776.776 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:32:26,779.779 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:32:26,784.784 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:32:26,789.789 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:32:28,829.829 INFO    ] ================================================
[2026-10-20 14:32:28,844.844 INFO    ] Launching Daemon at Tue Oct 20 14:32:28 IST 2026
[2026-10-20 14:32:28,855.855 INFO    ] ================================================
[2026-10-20 14:32:29,434.434 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:32:29
[2026-10-20 14:32:30,036.036 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:32:30,310.310 INFO    ] Initializing speech engine...
[2026-10-20 14:32:30,327.327 INFO    ] 2026-10-20 14:32:30
[2026-10-20 14:32:30,599.599 INFO    ] 2026-10-20 14:32:30
[2026-10-20 14:32:30,635.635 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:32:30,921.921 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:32:30,931.931 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:32:31,085.085 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:32:31,139.139 INFO    ] time= 20/10/2026 14:32:31
[2026-10-20 14:32:31,179.179 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:32:31,228.228 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:32:31,365.365 INFO    ] No existing commands found in stream
[2026-10-20 14:32:36,401.401 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:32:36,404.404 INFO    ] Waiting 1.65 seconds before fallback handling...
[2026-10-20 14:32:38,597.597 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:32:38,600.600 INFO    ] Checking for system updates...
[2026-10-20 14:32:38,640.640 INFO    ] 200
[2026-10-20 14:32:38,642.642 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:32:38,694.694 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:32:38,696.696 INFO    ] No update needed
[2026-10-20 14:32:38,699.699 INFO    ] Checking for camera pi updates...
[2026-10-20 14:32:38,732.732 INFO    ] 200
[2026-10-20 14:32:38,734.734 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:32:38,774.774 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:32:38,822.822 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:32:38,825.825 INFO    ] No camera update needed
[2026-10-20 14:32:38,827.827 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:32:38,829.829 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:32:38,834.834 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:32:38,840.840 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:32:40,879.879 INFO    ] ================================================
[2026-10-20 14:32:40,894.894 INFO    ] Launching Daemon at Tue Oct 20 14:32:40 IST 2026
[2026-10-20 14:32:40,905.905 INFO    ] ================================================
[2026-10-20 14:32:41,478.478 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:32:41
[2026-10-20 14:32:42,068.068 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:32:42,335.335 INFO    ] Initializing speech engine...
[2026-10-20 14:32:42,355.355 INFO    ] 2026-10-20 14:32:42
[2026-10-20 14:32:42,606.606 INFO    ] 2026-10-20 14:32:42
[2026-10-20 14:32:42,649.649 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:32:42,900.900 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:32:42,910.910 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:32:43,048.048 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:32:43,108.108 INFO    ] time= 20/10/2026 14:32:43
[2026-10-20 14:32:43,167.167 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:32:43,185.185 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:32:43,324.324 INFO    ] No existing commands found in stream
[2026-10-20 14:32:48,344.344 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:32:48,347.347 INFO    ] Waiting 1.57 seconds before fallback handling...
[2026-10-20 14:32:50,413.413 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:32:50,416.416 INFO    ] Checking for system updates...
[2026-10-20 14:32:50,452.452 INFO    ] 200
[2026-10-20 14:32:50,454.454 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:32:50,506.506 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:32:50,509.509 INFO    ] No update needed
[2026-10-20 14:32:50,512.512 INFO    ] Checking for camera pi updates...
[2026-10-20 14:32:50,550.550 INFO    ] 200
[2026-10-20 14:32:50,553.553 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:32:50,599.599 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:32:50,649.649 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:32:50,652.652 INFO    ] No camera update needed
[2026-10-20 14:32:50,655.655 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:32:50,658.658 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:32:50,665.665 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:32:50,671.671 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:32:52,712.712 INFO    ] ================================================
[2026-10-20 14:32:52,727.727 INFO    ] Launching Daemon at Tue Oct 20 14:32:52 IST 2026
[2026-10-20 14:32:52,738.738 INFO    ] ================================================
[2026-10-20 14:32:53,304.304 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:32:53
[2026-10-20 14:32:53,891.891 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:32:54,144.144 INFO    ] Initializing speech engine...
[2026-10-20 14:32:54,152.152 INFO    ] 2026-10-20 14:32:54
[2026-10-20 14:32:54,442.442 INFO    ] 2026-10-20 14:32:54
[2026-10-20 14:32:54,480.480 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:32:54,698.698 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:32:54,706.706 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:32:54,923.923 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:32:54,929.929 INFO    ] time= 20/10/2026 14:32:54
[2026-10-20 14:32:54,975.975 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:32:55,024.024 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:32:55,129.129 INFO    ] No existing commands found in stream
[2026-10-20 14:33:00,141.141 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:33:00,144.144 INFO    ] Waiting 2.38 seconds before fallback handling...
[2026-10-20 14:33:03,064.064 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:33:03,068.068 INFO    ] Checking for system updates...
[2026-10-20 14:33:03,114.114 INFO    ] 200
[2026-10-20 14:33:03,116.116 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:33:03,169.169 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:33:03,171.171 INFO    ] No update needed
[2026-10-20 14:33:03,174.174 INFO    ] Checking for camera pi updates...
[2026-10-20 14:33:03,233.233 INFO    ] 200
[2026-10-20 14:33:03,236.236 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:33:03,286.286 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:33:03,335.335 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:33:03,337.337 INFO    ] No camera update needed
[2026-10-20 14:33:03,339.339 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:33:03,342.342 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:33:03,347.347 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:33:03,352.352 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:33:05,392.392 INFO    ] ================================================
[2026-10-20 14:33:05,406.406 INFO    ] Launching Daemon at Tue Oct 20 14:33:05 IST 2026
[2026-10-20 14:33:05,417.417 INFO    ] ================================================
[2026-10-20 14:33:05,992.992 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:33:05
[2026-10-20 14:33:06,577.577 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:33:06,848.848 INFO    ] Initializing speech engine...
[2026-10-20 14:33:06,868.868 INFO    ] 2026-10-20 14:33:06
[2026-10-20 14:33:07,136.136 INFO    ] 2026-10-20 14:33:07
[2026-10-20 14:33:07,171.171 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:33:07,458.458 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:33:07,468.468 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:33:07,619.619 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:33:07,652.652 INFO    ] time= 20/10/2026 14:33:07
[2026-10-20 14:33:07,711.711 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:33:07,760.760 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:33:07,907.907 INFO    ] No existing commands found in stream
[2026-10-20 14:33:12,933.933 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:33:12,935.935 INFO    ] Waiting 0.64 seconds before fallback handling...
[2026-10-20 14:33:14,091.091 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:33:14,093.093 INFO    ] Checking for system updates...
[2026-10-20 14:33:14,128.128 INFO    ] 200
[2026-10-20 14:33:14,131.131 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:33:14,183.183 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:33:14,185.185 INFO    ] No update needed
[2026-10-20 14:33:14,188.188 INFO    ] Checking for camera pi updates...
[2026-10-20 14:33:14,226.226 INFO    ] 200
[2026-10-20 14:33:14,229.229 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:33:14,269.269 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:33:14,320.320 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:33:14,322.322 INFO    ] No camera update needed
[2026-10-20 14:33:14,324.324 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:33:14,326.326 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:33:14,332.332 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:33:14,336.336 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:33:16,376.376 INFO    ] ================================================
[2026-10-20 14:33:16,391.391 INFO    ] Launching Daemon at Tue Oct 20 14:33:16 IST 2026
[2026-10-20 14:33:16,402.402 INFO    ] ================================================
[2026-10-20 14:33:17,041.041 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:33:17
[2026-10-20 14:33:17,698.698 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:33:17,997.997 INFO    ] Initializing speech engine...
[2026-10-20 14:33:18,005.005 INFO    ] 2026-10-20 14:33:17
[2026-10-20 14:33:18,287.287 INFO    ] 2026-10-20 14:33:18
[2026-10-20 14:33:18,332.332 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:33:18,616.616 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:33:18,626.626 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:33:18,819.819 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:33:18,837.837 INFO    ] time= 20/10/2026 14:33:18
[2026-10-20 14:33:18,866.866 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:33:18,873.873 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:33:18,995.995 INFO    ] No existing commands found in stream
[2026-10-20 14:33:24,026.026 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:33:24,029.029 INFO    ] Waiting 2.54 seconds before fallback handling...
[2026-10-20 14:33:27,084.084 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:33:27,088.088 INFO    ] Checking for system updates...
[2026-10-20 14:33:27,127.127 INFO    ] 200
[2026-10-20 14:33:27,130.130 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:33:27,187.187 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:33:27,191.191 INFO    ] No update needed
[2026-10-20 14:33:27,194.194 INFO    ] Checking for camera pi updates...
[2026-10-20 14:33:27,234.234 INFO    ] 200
[2026-10-20 14:33:27,236.236 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:33:27,279.279 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:33:27,331.331 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:33:27,333.333 INFO    ] No camera update needed
[2026-10-20 14:33:27,336.336 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:33:27,339.339 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:33:27,345.345 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:33:27,351.351 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:33:29,392.392 INFO    ] ================================================
[2026-10-20 14:33:29,408.408 INFO    ] Launching Daemon at Tue Oct 20 14:33:29 IST 2026
[2026-10-20 14:33:29,419.419 INFO    ] ================================================
[2026-10-20 14:33:30,012.012 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:33:30
[2026-10-20 14:33:30,606.606 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:33:30,867.867 INFO    ] Initializing speech engine...
[2026-10-20 14:33:30,892.892 INFO    ] 2026-10-20 14:33:30
[2026-10-20 14:33:31,155.155 INFO    ] 2026-10-20 14:33:31
[2026-10-20 14:33:31,191.191 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:33:31,391.391 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:33:31,414.414 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:33:31,618.618 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:33:31,673.673 INFO    ] time= 20/10/2026 14:33:31
[2026-10-20 14:33:31,729.729 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:33:31,755.755 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:33:31,905.905 INFO    ] No existing commands found in stream
[2026-10-20 14:33:36,922.922 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:33:36,925.925 INFO    ] Waiting 3.97 seconds before fallback handling...
[2026-10-20 14:33:41,424.424 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 14:33:41,427.427 INFO    ] Checking for system updates...
[2026-10-20 14:33:41,463.463 INFO    ] 200
[2026-10-20 14:33:41,465.465 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:33:41,518.518 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:33:41,520.520 INFO    ] No update needed
[2026-10-20 14:33:41,523.523 INFO    ] Checking for camera pi updates...
[2026-10-20 14:33:41,556.556 INFO    ] 200
[2026-10-20 14:33:41,559.559 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:33:41,598.598 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:33:41,652.652 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:33:41,655.655 INFO    ] No camera update needed
[2026-10-20 14:33:41,657.657 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:33:41,659.659 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:33:41,664.664 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:33:41,669.669 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:33:43,709.709 INFO    ] ================================================
[2026-10-20 14:33:43,724.724 INFO    ] Launching Daemon at Tue Oct 20 14:33:43 IST 2026
[2026-10-20 14:33:43,735.735 INFO    ] ================================================
[2026-10-20 14:33:44,382.382 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:33:44
[2026-10-20 14:33:45,049.049 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:33:45,351.351 INFO    ] Initializing speech engine...
[2026-10-20 14:33:45,360.360 INFO    ] 2026-10-20 14:33:45
[2026-10-20 14:33:45,629.629 INFO    ] 2026-10-20 14:33:45
[2026-10-20 14:33:45,686.686 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:33:45,934.934 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:33:45,940.940 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:33:46,133.133 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:33:46,172.172 INFO    ] time= 20/10/2026 14:33:46
[2026-10-20 14:33:46,178.178 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:33:46,195.195 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:33:46,320.320 INFO    ] No existing commands found in stream
[2026-10-20 14:33:51,336.336 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:33:51,339.339 INFO    ] Waiting 1.00 seconds before fallback handling...
[2026-10-20 14:33:52,877.877 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:33:52,879.879 INFO    ] Checking for system updates...
[2026-10-20 14:33:52,914.914 INFO    ] 200
[2026-10-20 14:33:52,917.917 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:33:52,975.975 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:33:52,977.977 INFO    ] No update needed
[2026-10-20 14:33:52,980.980 INFO    ] Checking for camera pi updates...
[2026-10-20 14:33:53,014.014 INFO    ] 200
[2026-10-20 14:33:53,016.016 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:33:53,057.057 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:33:53,105.105 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:33:53,108.108 INFO    ] No camera update needed
[2026-10-20 14:33:53,110.110 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:33:53,113.113 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:33:53,118.118 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:33:53,123.123 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:33:55,164.164 INFO    ] ================================================
[2026-10-20 14:33:55,179.179 INFO    ] Launching Daemon at Tue Oct 20 14:33:55 IST 2026
[2026-10-20 14:33:55,190.190 INFO    ] ================================================
[2026-10-20 14:33:55,791.791 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:33:55
[2026-10-20 14:33:56,395.395 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:33:56,679.679 INFO    ] Initializing speech engine...
[2026-10-20 14:33:56,685.685 INFO    ] 2026-10-20 14:33:56
[2026-10-20 14:33:56,957.957 INFO    ] 2026-10-20 14:33:56
[2026-10-20 14:33:57,001.001 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:33:57,281.281 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:33:57,288.288 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:33:57,484.484 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:33:57,501.501 INFO    ] time= 20/10/2026 14:33:57
[2026-10-20 14:33:57,511.511 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:33:57,537.537 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:33:57,650.650 INFO    ] No existing commands found in stream
[2026-10-20 14:34:02,680.680 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:34:02,684.684 INFO    ] Waiting 0.24 seconds before fallback handling...
[2026-10-20 14:34:03,424.424 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:34:03,427.427 INFO    ] Checking for system updates...
[2026-10-20 14:34:03,462.462 INFO    ] 200
[2026-10-20 14:34:03,464.464 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:34:03,517.517 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:34:03,519.519 INFO    ] No update needed
[2026-10-20 14:34:03,522.522 INFO    ] Checking for camera pi updates...
[2026-10-20 14:34:03,554.554 INFO    ] 200
[2026-10-20 14:34:03,557.557 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:34:03,603.603 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:34:03,748.748 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:34:03,751.751 INFO    ] No camera update needed
[2026-10-20 14:34:03,753.753 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:34:03,756.756 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:34:03,762.762 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:34:03,768.768 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:34:05,808.808 INFO    ] ================================================
[2026-10-20 14:34:05,823.823 INFO    ] Launching Daemon at Tue Oct 20 14:34:05 IST 2026
[2026-10-20 14:34:05,833.833 INFO    ] ================================================
[2026-10-20 14:34:06,440.440 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:34:06
[2026-10-20 14:34:07,081.081 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:34:07,372.372 INFO    ] Initializing speech engine...
[2026-10-20 14:34:07,380.380 INFO    ] 2026-10-20 14:34:07
[2026-10-20 14:34:07,641.641 INFO    ] 2026-10-20 14:34:07
[2026-10-20 14:34:07,677.677 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:34:07,927.927 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:34:07,934.934 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:34:08,151.151 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:34:08,189.189 INFO    ] time= 20/10/2026 14:34:08
[2026-10-20 14:34:08,196.196 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:34:08,216.216 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:34:08,345.345 INFO    ] No existing commands found in stream
[2026-10-20 14:34:13,360.360 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:34:13,363.363 INFO    ] Waiting 2.18 seconds before fallback handling...
[2026-10-20 14:34:16,073.073 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:34:16,075.075 INFO    ] Checking for system updates...
[2026-10-20 14:34:16,113.113 INFO    ] 200
[2026-10-20 14:34:16,116.116 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:34:16,172.172 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:34:16,175.175 INFO    ] No update needed
[2026-10-20 14:34:16,178.178 INFO    ] Checking for camera pi updates...
[2026-10-20 14:34:16,211.211 INFO    ] 200
[2026-10-20 14:34:16,214.214 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:34:16,254.254 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:34:16,289.289 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:34:16,291.291 INFO    ] No camera update needed
[2026-10-20 14:34:16,294.294 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:34:16,296.296 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:34:16,302.302 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:34:16,308.308 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:34:18,347.347 INFO    ] ================================================
[2026-10-20 14:34:18,363.363 INFO    ] Launching Daemon at Tue Oct 20 14:34:18 IST 2026
[2026-10-20 14:34:18,373.373 INFO    ] ================================================
[2026-10-20 14:34:18,940.940 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:34:18
[2026-10-20 14:34:19,523.523 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:34:19,790.790 INFO    ] Initializing speech engine...
[2026-10-20 14:34:19,810.810 INFO    ] 2026-10-20 14:34:19
[2026-10-20 14:34:20,068.068 INFO    ] 2026-10-20 14:34:20
[2026-10-20 14:34:20,105.105 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:34:20,318.318 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:34:20,341.341 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:34:20,534.534 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:34:20,576.576 INFO    ] time= 20/10/2026 14:34:20
[2026-10-20 14:34:20,635.635 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:34:20,671.671 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:34:20,790.790 INFO    ] No existing commands found in stream
[2026-10-20 14:34:25,817.817 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:34:25,820.820 INFO    ] Waiting 2.36 seconds before fallback handling...
[2026-10-20 14:34:28,703.703 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:34:28,706.706 INFO    ] Checking for system updates...
[2026-10-20 14:34:28,743.743 INFO    ] 200
[2026-10-20 14:34:28,746.746 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:34:28,798.798 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:34:28,801.801 INFO    ] No update needed
[2026-10-20 14:34:28,803.803 INFO    ] Checking for camera pi updates...
[2026-10-20 14:34:28,836.836 INFO    ] 200
[2026-10-20 14:34:28,838.838 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:34:28,878.878 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:34:28,928.928 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:34:28,930.930 INFO    ] No camera update needed
[2026-10-20 14:34:28,933.933 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:34:28,935.935 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:34:28,941.941 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:34:28,945.945 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:34:30,984.984 INFO    ] ================================================
[2026-10-20 14:34:31,000.000 INFO    ] Launching Daemon at Tue Oct 20 14:34:30 IST 2026
[2026-10-20 14:34:31,010.010 INFO    ] ================================================
[2026-10-20 14:34:31,611.611 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:34:31
[2026-10-20 14:34:32,246.246 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:34:32,537.537 INFO    ] Initializing speech engine...
[2026-10-20 14:34:32,554.554 INFO    ] 2026-10-20 14:34:32
[2026-10-20 14:34:32,849.849 INFO    ] 2026-10-20 14:34:32
[2026-10-20 14:34:32,886.886 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:34:33,112.112 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:34:33,172.172 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:34:33,329.329 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:34:33,358.358 INFO    ] time= 20/10/2026 14:34:33
[2026-10-20 14:34:33,417.417 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:34:33,473.473 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:34:33,605.605 INFO    ] No existing commands found in stream
[2026-10-20 14:34:38,627.627 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:34:38,630.630 INFO    ] Waiting 1.14 seconds before fallback handling...
[2026-10-20 14:34:40,315.315 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:34:40,317.317 INFO    ] Checking for system updates...
[2026-10-20 14:34:40,355.355 INFO    ] 200
[2026-10-20 14:34:40,357.357 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:34:40,410.410 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:34:40,412.412 INFO    ] No update needed
[2026-10-20 14:34:40,415.415 INFO    ] Checking for camera pi updates...
[2026-10-20 14:34:40,460.460 INFO    ] 200
[2026-10-20 14:34:40,463.463 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:34:40,504.504 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:34:40,551.551 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:34:40,554.554 INFO    ] No camera update needed
[2026-10-20 14:34:40,556.556 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:34:40,559.559 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:34:40,565.565 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:34:40,571.571 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:34:42,610.610 INFO    ] ================================================
[2026-10-20 14:34:42,625.625 INFO    ] Launching Daemon at Tue Oct 20 14:34:42 IST 2026
[2026-10-20 14:34:42,636.636 INFO    ] ================================================
[2026-10-20 14:34:43,269.269 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:34:43
[2026-10-20 14:34:43,865.865 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:34:44,124.124 INFO    ] Initializing speech engine...
[2026-10-20 14:34:44,137.137 INFO    ] 2026-10-20 14:34:44
[2026-10-20 14:34:44,415.415 INFO    ] 2026-10-20 14:34:44
[2026-10-20 14:34:44,454.454 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:34:44,660.660 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:34:44,677.677 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:34:44,824.824 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:34:44,829.829 INFO    ] time= 20/10/2026 14:34:44
[2026-10-20 14:34:44,835.835 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:34:44,841.841 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:34:44,936.936 INFO    ] No existing commands found in stream
[2026-10-20 14:34:49,941.941 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:34:49,944.944 INFO    ] Waiting 3.46 seconds before fallback handling...
[2026-10-20 14:34:53,930.930 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:34:53,934.934 INFO    ] Checking for system updates...
[2026-10-20 14:34:53,970.970 INFO    ] 200
[2026-10-20 14:34:53,973.973 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:34:54,026.026 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:34:54,029.029 INFO    ] No update needed
[2026-10-20 14:34:54,032.032 INFO    ] Checking for camera pi updates...
[2026-10-20 14:34:54,070.070 INFO    ] 200
[2026-10-20 14:34:54,073.073 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:34:54,115.115 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:34:54,165.165 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:34:54,168.168 INFO    ] No camera update needed
[2026-10-20 14:34:54,171.171 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:34:54,174.174 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:34:54,180.180 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:34:54,186.186 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:34:56,227.227 INFO    ] ================================================
[2026-10-20 14:34:56,243.243 INFO    ] Launching Daemon at Tue Oct 20 14:34:56 IST 2026
[2026-10-20 14:34:56,253.253 INFO    ] ================================================
[2026-10-20 14:34:56,819.819 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:34:56
[2026-10-20 14:34:57,405.405 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:34:57,677.677 INFO    ] Initializing speech engine...
[2026-10-20 14:34:57,687.687 INFO    ] 2026-10-20 14:34:57
[2026-10-20 14:34:57,939.939 INFO    ] 2026-10-20 14:34:57
[2026-10-20 14:34:57,974.974 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:34:58,236.236 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:34:58,262.262 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:34:58,414.414 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:34:58,474.474 INFO    ] time= 20/10/2026 14:34:58
[2026-10-20 14:34:58,539.539 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:34:58,553.553 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:34:58,683.683 INFO    ] No existing commands found in stream
[2026-10-20 14:35:03,705.705 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:35:03,707.707 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-10-20 14:35:07,408.408 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:35:07,411.411 INFO    ] Checking for system updates...
[2026-10-20 14:35:07,447.447 INFO    ] 200
[2026-10-20 14:35:07,450.450 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:35:07,502.502 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:35:07,504.504 INFO    ] No update needed
[2026-10-20 14:35:07,507.507 INFO    ] Checking for camera pi updates...
[2026-10-20 14:35:07,540.540 INFO    ] 200
[2026-10-20 14:35:07,542.542 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:35:07,586.586 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:35:07,633.633 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:35:07,636.636 INFO    ] No camera update needed
[2026-10-20 14:35:07,638.638 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:35:07,640.640 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:35:07,646.646 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:35:07,651.651 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:35:09,690.690 INFO    ] ================================================
[2026-10-20 14:35:09,705.705 INFO    ] Launching Daemon at Tue Oct 20 14:35:09 IST 2026
[2026-10-20 14:35:09,715.715 INFO    ] ================================================
[2026-10-20 14:35:10,294.294 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:35:10
[2026-10-20 14:35:10,880.880 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:35:11,140.140 INFO    ] Initializing speech engine...
[2026-10-20 14:35:11,153.153 INFO    ] 2026-10-20 14:35:11
[2026-10-20 14:35:11,415.415 INFO    ] 2026-10-20 14:35:11
[2026-10-20 14:35:11,451.451 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:35:11,703.703 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:35:11,713.713 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:35:11,914.914 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:35:11,971.971 INFO    ] time= 20/10/2026 14:35:11
[2026-10-20 14:35:11,978.978 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:35:11,996.996 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:35:12,127.127 INFO    ] No existing commands found in stream
[2026-10-20 14:35:17,142.142 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:35:17,145.145 INFO    ] Waiting 3.71 seconds before fallback handling...
[2026-10-20 14:35:21,341.341 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:35:21,343.343 INFO    ] Checking for system updates...
[2026-10-20 14:35:21,378.378 INFO    ] 200
[2026-10-20 14:35:21,381.381 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:35:21,432.432 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:35:21,434.434 INFO    ] No update needed
[2026-10-20 14:35:21,436.436 INFO    ] Checking for camera pi updates...
[2026-10-20 14:35:21,470.470 INFO    ] 200
[2026-10-20 14:35:21,473.473 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:35:21,513.513 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:35:21,563.563 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:35:21,565.565 INFO    ] No camera update needed
[2026-10-20 14:35:21,568.568 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:35:21,570.570 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:35:21,575.575 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:35:21,580.580 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:35:23,620.620 INFO    ] ================================================
[2026-10-20 14:35:23,635.635 INFO    ] Launching Daemon at Tue Oct 20 14:35:23 IST 2026
[2026-10-20 14:35:23,645.645 INFO    ] ================================================
[2026-10-20 14:35:24,211.211 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:35:24
[2026-10-20 14:35:24,796.796 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:35:25,068.068 INFO    ] Initializing speech engine...
[2026-10-20 14:35:25,077.077 INFO    ] 2026-10-20 14:35:25
[2026-10-20 14:35:25,330.330 INFO    ] 2026-10-20 14:35:25
[2026-10-20 14:35:25,366.366 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:35:25,566.566 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:35:25,593.593 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:35:25,775.775 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:35:25,845.845 INFO    ] time= 20/10/2026 14:35:25
[2026-10-20 14:35:25,906.906 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:35:25,913.913 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:35:26,058.058 INFO    ] No existing commands found in stream
[2026-10-20 14:35:31,073.073 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:35:31,076.076 INFO    ] Waiting 0.06 seconds before fallback handling...
[2026-10-20 14:35:31,668.668 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:35:31,672.672 INFO    ] Checking for system updates...
[2026-10-20 14:35:31,712.712 INFO    ] 200
[2026-10-20 14:35:31,715.715 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:35:31,779.779 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:35:31,782.782 INFO    ] No update needed
[2026-10-20 14:35:31,785.785 INFO    ] Checking for camera pi updates...
[2026-10-20 14:35:31,822.822 INFO    ] 200
[2026-10-20 14:35:31,825.825 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:35:31,874.874 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:35:31,910.910 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:35:31,913.913 INFO    ] No camera update needed
[2026-10-20 14:35:31,916.916 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:35:31,920.920 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:35:31,927.927 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:35:31,933.933 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:35:33,975.975 INFO    ] ================================================
[2026-10-20 14:35:33,990.990 INFO    ] Launching Daemon at Tue Oct 20 14:35:33 IST 2026
[2026-10-20 14:35:34,001.001 INFO    ] ================================================
[2026-10-20 14:35:34,580.580 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:35:34
[2026-10-20 14:35:35,179.179 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:35:35,443.443 INFO    ] Initializing speech engine...
[2026-10-20 14:35:35,469.469 INFO    ] 2026-10-20 14:35:35
[2026-10-20 14:35:35,743.743 INFO    ] 2026-10-20 14:35:35
[2026-10-20 14:35:35,781.781 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:35:36,000.000 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:35:36,009.009 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:35:36,155.155 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:35:36,161.161 INFO    ] time= 20/10/2026 14:35:36
[2026-10-20 14:35:36,168.168 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:35:36,221.221 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:35:36,365.365 INFO    ] No existing commands found in stream
[2026-10-20 14:35:41,385.385 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:35:41,388.388 INFO    ] Waiting 2.33 seconds before fallback handling...
[2026-10-20 14:35:44,290.290 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:35:44,293.293 INFO    ] Checking for system updates...
[2026-10-20 14:35:44,330.330 INFO    ] 200
[2026-10-20 14:35:44,333.333 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:35:44,387.387 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:35:44,389.389 INFO    ] No update needed
[2026-10-20 14:35:44,392.392 INFO    ] Checking for camera pi updates...
[2026-10-20 14:35:44,427.427 INFO    ] 200
[2026-10-20 14:35:44,430.430 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:35:44,472.472 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:35:44,520.520 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:35:44,523.523 INFO    ] No camera update needed
[2026-10-20 14:35:44,526.526 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:35:44,528.528 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:35:44,534.534 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:35:44,540.540 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:35:46,581.581 INFO    ] ================================================
[2026-10-20 14:35:46,596.596 INFO    ] Launching Daemon at Tue Oct 20 14:35:46 IST 2026
[2026-10-20 14:35:46,606.606 INFO    ] ================================================
[2026-10-20 14:35:47,254.254 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:35:47
[2026-10-20 14:35:47,923.923 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:35:48,222.222 INFO    ] Initializing speech engine...
[2026-10-20 14:35:48,232.232 INFO    ] 2026-10-20 14:35:48
[2026-10-20 14:35:48,524.524 INFO    ] 2026-10-20 14:35:48
[2026-10-20 14:35:48,564.564 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:35:48,830.830 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:35:48,853.853 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:35:49,050.050 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:35:49,058.058 INFO    ] time= 20/10/2026 14:35:49
[2026-10-20 14:35:49,076.076 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:35:49,107.107 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:35:49,227.227 INFO    ] No existing commands found in stream
[2026-10-20 14:35:54,263.263 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:35:54,266.266 INFO    ] Waiting 2.10 seconds before fallback handling...
[2026-10-20 14:35:56,930.930 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:35:56,933.933 INFO    ] Checking for system updates...
[2026-10-20 14:35:56,970.970 INFO    ] 200
[2026-10-20 14:35:56,972.972 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:35:57,025.025 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:35:57,028.028 INFO    ] No update needed
[2026-10-20 14:35:57,031.031 INFO    ] Checking for camera pi updates...
[2026-10-20 14:35:57,065.065 INFO    ] 200
[2026-10-20 14:35:57,068.068 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:35:57,109.109 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:35:57,156.156 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:35:57,159.159 INFO    ] No camera update needed
[2026-10-20 14:35:57,162.162 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:35:57,165.165 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:35:57,171.171 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:35:57,177.177 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:35:59,218.218 INFO    ] ================================================
[2026-10-20 14:35:59,233.233 INFO    ] Launching Daemon at Tue Oct 20 14:35:59 IST 2026
[2026-10-20 14:35:59,244.244 INFO    ] ================================================
[2026-10-20 14:35:59,852.852 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:35:59
[2026-10-20 14:36:00,519.519 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:36:00,825.825 INFO    ] Initializing speech engine...
[2026-10-20 14:36:00,833.833 INFO    ] 2026-10-20 14:36:00
[2026-10-20 14:36:01,122.122 INFO    ] 2026-10-20 14:36:01
[2026-10-20 14:36:01,169.169 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:36:01,463.463 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:36:01,486.486 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:36:01,700.700 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:36:01,704.704 INFO    ] time= 20/10/2026 14:36:01
[2026-10-20 14:36:01,708.708 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:36:01,712.712 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:36:01,808.808 INFO    ] No existing commands found in stream
[2026-10-20 14:36:06,831.831 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:36:06,834.834 INFO    ] Waiting 3.90 seconds before fallback handling...
[2026-10-20 14:36:11,302.302 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 14:36:11,305.305 INFO    ] Checking for system updates...
[2026-10-20 14:36:11,341.341 INFO    ] 200
[2026-10-20 14:36:11,343.343 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:36:11,399.399 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:36:11,402.402 INFO    ] No update needed
[2026-10-20 14:36:11,405.405 INFO    ] Checking for camera pi updates...
[2026-10-20 14:36:11,437.437 INFO    ] 200
[2026-10-20 14:36:11,440.440 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:36:11,484.484 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:36:11,636.636 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:36:11,638.638 INFO    ] No camera update needed
[2026-10-20 14:36:11,640.640 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:36:11,643.643 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:36:11,648.648 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:36:11,653.653 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:36:13,692.692 INFO    ] ================================================
[2026-10-20 14:36:13,707.707 INFO    ] Launching Daemon at Tue Oct 20 14:36:13 IST 2026
[2026-10-20 14:36:13,717.717 INFO    ] ================================================
[2026-10-20 14:36:14,336.336 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:36:14
[2026-10-20 14:36:14,974.974 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:36:15,265.265 INFO    ] Initializing speech engine...
[2026-10-20 14:36:15,272.272 INFO    ] 2026-10-20 14:36:15
[2026-10-20 14:36:15,539.539 INFO    ] 2026-10-20 14:36:15
[2026-10-20 14:36:15,574.574 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:36:15,830.830 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:36:15,950.950 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:36:16,144.144 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:36:16,153.153 INFO    ] time= 20/10/2026 14:36:16
[2026-10-20 14:36:16,161.161 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:36:16,206.206 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:36:16,354.354 INFO    ] No existing commands found in stream
[2026-10-20 14:36:21,371.371 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:36:21,374.374 INFO    ] Waiting 2.24 seconds before fallback handling...
[2026-10-20 14:36:24,131.131 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 14:36:24,134.134 INFO    ] Checking for system updates...
[2026-10-20 14:36:24,170.170 INFO    ] 200
[2026-10-20 14:36:24,173.173 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:36:24,228.228 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:36:24,231.231 INFO    ] No update needed
[2026-10-20 14:36:24,233.233 INFO    ] Checking for camera pi updates...
[2026-10-20 14:36:24,266.266 INFO    ] 200
[2026-10-20 14:36:24,268.268 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:36:24,308.308 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:36:24,356.356 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:36:24,358.358 INFO    ] No camera update needed
[2026-10-20 14:36:24,361.361 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:36:24,363.363 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:36:24,369.369 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:36:24,374.374 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:36:26,413.413 INFO    ] ================================================
[2026-10-20 14:36:26,428.428 INFO    ] Launching Daemon at Tue Oct 20 14:36:26 IST 2026
[2026-10-20 14:36:26,438.438 INFO    ] ================================================
[2026-10-20 14:36:27,016.016 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:36:27
[2026-10-20 14:36:27,609.609 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:36:27,883.883 INFO    ] Initializing speech engine...
[2026-10-20 14:36:27,890.890 INFO    ] 2026-10-20 14:36:27
[2026-10-20 14:36:28,150.150 INFO    ] 2026-10-20 14:36:28
[2026-10-20 14:36:28,204.204 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:36:28,489.489 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:36:28,494.494 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:36:28,677.677 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:36:28,693.693 INFO    ] time= 20/10/2026 14:36:28
[2026-10-20 14:36:28,708.708 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:36:28,717.717 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:36:28,844.844 INFO    ] No existing commands found in stream
[2026-10-20 14:36:33,860.860 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:36:33,863.863 INFO    ] Waiting 0.85 seconds before fallback handling...
[2026-10-20 14:36:37,009.009 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:36:37,012.012 INFO    ] Checking for system updates...
[2026-10-20 14:36:37,047.047 INFO    ] 200
[2026-10-20 14:36:37,050.050 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:36:37,103.103 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:36:37,105.105 INFO    ] No update needed
[2026-10-20 14:36:37,107.107 INFO    ] Checking for camera pi updates...
[2026-10-20 14:36:37,143.143 INFO    ] 200
[2026-10-20 14:36:37,145.145 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:36:37,185.185 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:36:37,233.233 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:36:37,235.235 INFO    ] No camera update needed
[2026-10-20 14:36:37,238.238 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:36:37,240.240 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:36:37,245.245 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:36:37,250.250 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:36:39,291.291 INFO    ] ================================================
[2026-10-20 14:36:39,306.306 INFO    ] Launching Daemon at Tue Oct 20 14:36:39 IST 2026
[2026-10-20 14:36:39,316.316 INFO    ] ================================================
[2026-10-20 14:36:39,935.935 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:36:39
[2026-10-20 14:36:40,577.577 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:36:40,873.873 INFO    ] Initializing speech engine...
[2026-10-20 14:36:40,887.887 INFO    ] 2026-10-20 14:36:40
[2026-10-20 14:36:41,162.162 INFO    ] 2026-10-20 14:36:41
[2026-10-20 14:36:41,207.207 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:36:41,439.439 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:36:41,445.445 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:36:41,671.671 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:36:41,710.710 INFO    ] time= 20/10/2026 14:36:41
[2026-10-20 14:36:41,716.716 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:36:41,737.737 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:36:41,870.870 INFO    ] No existing commands found in stream
[2026-10-20 14:36:46,890.890 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:36:46,893.893 INFO    ] Waiting 3.29 seconds before fallback handling...
[2026-10-20 14:36:50,724.724 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:36:50,727.727 INFO    ] Checking for system updates...
[2026-10-20 14:36:50,765.765 INFO    ] 200
[2026-10-20 14:36:50,768.768 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:36:50,819.819 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:36:50,821.821 INFO    ] No update needed
[2026-10-20 14:36:50,824.824 INFO    ] Checking for camera pi updates...
[2026-10-20 14:36:50,863.863 INFO    ] 200
[2026-10-20 14:36:50,865.865 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:36:50,906.906 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:36:50,951.951 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:36:50,953.953 INFO    ] No camera update needed
[2026-10-20 14:36:50,956.956 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:36:50,958.958 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:36:50,963.963 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:36:50,968.968 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:36:53,008.008 INFO    ] ================================================
[2026-10-20 14:36:53,023.023 INFO    ] Launching Daemon at Tue Oct 20 14:36:53 IST 2026
[2026-10-20 14:36:53,033.033 INFO    ] ================================================
[2026-10-20 14:36:53,597.597 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:36:53
[2026-10-20 14:36:54,179.179 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:36:54,428.428 INFO    ] Initializing speech engine...
[2026-10-20 14:36:54,436.436 INFO    ] 2026-10-20 14:36:54
[2026-10-20 14:36:54,720.720 INFO    ] 2026-10-20 14:36:54
[2026-10-20 14:36:54,754.754 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:36:54,947.947 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:36:54,960.960 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:36:55,123.123 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:36:55,165.165 INFO    ] time= 20/10/2026 14:36:55
[2026-10-20 14:36:55,197.197 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:36:55,237.237 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:36:55,370.370 INFO    ] No existing commands found in stream
[2026-10-20 14:37:00,393.393 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:37:00,396.396 INFO    ] Waiting 3.13 seconds before fallback handling...
[2026-10-20 14:37:04,009.009 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:37:04,012.012 INFO    ] Checking for system updates...
[2026-10-20 14:37:04,047.047 INFO    ] 200
[2026-10-20 14:37:04,049.049 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:37:04,107.107 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:37:04,110.110 INFO    ] No update needed
[2026-10-20 14:37:04,113.113 INFO    ] Checking for camera pi updates...
[2026-10-20 14:37:04,150.150 INFO    ] 200
[2026-10-20 14:37:04,152.152 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:37:04,192.192 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:37:04,240.240 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:37:04,243.243 INFO    ] No camera update needed
[2026-10-20 14:37:04,245.245 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:37:04,247.247 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:37:04,253.253 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:37:04,258.258 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:37:06,299.299 INFO    ] ================================================
[2026-10-20 14:37:06,313.313 INFO    ] Launching Daemon at Tue Oct 20 14:37:06 IST 2026
[2026-10-20 14:37:06,324.324 INFO    ] ================================================
[2026-10-20 14:37:06,955.955 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:37:06
[2026-10-20 14:37:07,604.604 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:37:07,899.899 INFO    ] Initializing speech engine...
[2026-10-20 14:37:07,904.904 INFO    ] 2026-10-20 14:37:07
[2026-10-20 14:37:08,194.194 INFO    ] 2026-10-20 14:37:08
[2026-10-20 14:37:08,232.232 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:37:08,516.516 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:37:08,524.524 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:37:08,717.717 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:37:08,736.736 INFO    ] time= 20/10/2026 14:37:08
[2026-10-20 14:37:08,759.759 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:37:08,773.773 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:37:08,906.906 INFO    ] No existing commands found in stream
[2026-10-20 14:37:13,937.937 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:37:13,940.940 INFO    ] Waiting 0.37 seconds before fallback handling...
[2026-10-20 14:37:14,842.842 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:37:14,845.845 INFO    ] Checking for system updates...
[2026-10-20 14:37:14,881.881 INFO    ] 200
[2026-10-20 14:37:14,884.884 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:37:14,937.937 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:37:14,940.940 INFO    ] No update needed
[2026-10-20 14:37:14,942.942 INFO    ] Checking for camera pi updates...
[2026-10-20 14:37:14,976.976 INFO    ] 200
[2026-10-20 14:37:14,978.978 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:37:15,019.019 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:37:15,067.067 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:37:15,070.070 INFO    ] No camera update needed
[2026-10-20 14:37:15,073.073 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:37:15,075.075 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:37:15,081.081 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:37:15,087.087 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:37:17,126.126 INFO    ] ================================================
[2026-10-20 14:37:17,141.141 INFO    ] Launching Daemon at Tue Oct 20 14:37:17 IST 2026
[2026-10-20 14:37:17,152.152 INFO    ] ================================================
[2026-10-20 14:37:17,745.745 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:37:17
[2026-10-20 14:37:18,407.407 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:37:18,712.712 INFO    ] Initializing speech engine...
[2026-10-20 14:37:18,725.725 INFO    ] 2026-10-20 14:37:18
[2026-10-20 14:37:18,997.997 INFO    ] 2026-10-20 14:37:18
[2026-10-20 14:37:19,055.055 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:37:19,348.348 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:37:19,353.353 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:37:19,553.553 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:37:19,561.561 INFO    ] time= 20/10/2026 14:37:19
[2026-10-20 14:37:19,584.584 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:37:19,612.612 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:37:19,786.786 INFO    ] No existing commands found in stream
[2026-10-20 14:37:24,817.817 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:37:24,820.820 INFO    ] Waiting 1.54 seconds before fallback handling...
[2026-10-20 14:37:26,900.900 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 14:37:26,903.903 INFO    ] Checking for system updates...
[2026-10-20 14:37:26,940.940 INFO    ] 200
[2026-10-20 14:37:26,943.943 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:37:26,996.996 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:37:26,999.999 INFO    ] No update needed
[2026-10-20 14:37:27,002.002 INFO    ] Checking for camera pi updates...
[2026-10-20 14:37:27,037.037 INFO    ] 200
[2026-10-20 14:37:27,039.039 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:37:27,080.080 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:37:27,136.136 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:37:27,138.138 INFO    ] No camera update needed
[2026-10-20 14:37:27,141.141 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:37:27,144.144 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:37:27,150.150 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:37:27,156.156 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:37:29,195.195 INFO    ] ================================================
[2026-10-20 14:37:29,210.210 INFO    ] Launching Daemon at Tue Oct 20 14:37:29 IST 2026
[2026-10-20 14:37:29,220.220 INFO    ] ================================================
[2026-10-20 14:37:29,867.867 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:37:29
[2026-10-20 14:37:30,528.528 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:37:30,837.837 INFO    ] Initializing speech engine...
[2026-10-20 14:37:30,844.844 INFO    ] 2026-10-20 14:37:30
[2026-10-20 14:37:31,123.123 INFO    ] 2026-10-20 14:37:31
[2026-10-20 14:37:31,160.160 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:37:31,436.436 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:37:31,449.449 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:37:31,691.691 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:37:31,729.729 INFO    ] time= 20/10/2026 14:37:31
[2026-10-20 14:37:31,736.736 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:37:31,755.755 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:37:31,894.894 INFO    ] No existing commands found in stream
[2026-10-20 14:37:36,917.917 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:37:36,921.921 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-10-20 14:37:39,250.250 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 14:37:39,253.253 INFO    ] Checking for system updates...
[2026-10-20 14:37:39,290.290 INFO    ] 200
[2026-10-20 14:37:39,293.293 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:37:39,345.345 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:37:39,348.348 INFO    ] No update needed
[2026-10-20 14:37:39,350.350 INFO    ] Checking for camera pi updates...
[2026-10-20 14:37:39,389.389 INFO    ] 200
[2026-10-20 14:37:39,392.392 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:37:39,433.433 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:37:39,480.480 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:37:39,483.483 INFO    ] No camera update needed
[2026-10-20 14:37:39,485.485 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:37:39,488.488 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:37:39,494.494 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:37:39,500.500 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:37:41,541.541 INFO    ] ================================================
[2026-10-20 14:37:41,556.556 INFO    ] Launching Daemon at Tue Oct 20 14:37:41 IST 2026
[2026-10-20 14:37:41,567.567 INFO    ] ================================================
[2026-10-20 14:37:42,160.160 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:37:42
[2026-10-20 14:37:42,765.765 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:37:43,023.023 INFO    ] Initializing speech engine...
[2026-10-20 14:37:43,029.029 INFO    ] 2026-10-20 14:37:43
[2026-10-20 14:37:43,322.322 INFO    ] 2026-10-20 14:37:43
[2026-10-20 14:37:43,361.361 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:37:43,633.633 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:37:43,654.654 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:37:43,811.811 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:37:43,854.854 INFO    ] time= 20/10/2026 14:37:43
[2026-10-20 14:37:43,908.908 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:37:43,963.963 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:37:44,091.091 INFO    ] No existing commands found in stream
[2026-10-20 14:37:49,119.119 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:37:49,122.122 INFO    ] Waiting 1.39 seconds before fallback handling...
[2026-10-20 14:37:51,015.015 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:37:51,018.018 INFO    ] Checking for system updates...
[2026-10-20 14:37:51,053.053 INFO    ] 200
[2026-10-20 14:37:51,056.056 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:37:51,107.107 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:37:51,109.109 INFO    ] No update needed
[2026-10-20 14:37:51,112.112 INFO    ] Checking for camera pi updates...
[2026-10-20 14:37:51,144.144 INFO    ] 200
[2026-10-20 14:37:51,147.147 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:37:51,191.191 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:37:51,238.238 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:37:51,240.240 INFO    ] No camera update needed
[2026-10-20 14:37:51,243.243 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:37:51,245.245 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:37:51,250.250 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:37:51,255.255 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:37:53,295.295 INFO    ] ================================================
[2026-10-20 14:37:53,310.310 INFO    ] Launching Daemon at Tue Oct 20 14:37:53 IST 2026
[2026-10-20 14:37:53,321.321 INFO    ] ================================================
[2026-10-20 14:37:53,906.906 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:37:53
[2026-10-20 14:37:54,491.491 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:37:54,741.741 INFO    ] Initializing speech engine...
[2026-10-20 14:37:54,749.749 INFO    ] 2026-10-20 14:37:54
[2026-10-20 14:37:55,024.024 INFO    ] 2026-10-20 14:37:55
[2026-10-20 14:37:55,058.058 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:37:55,262.262 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:37:55,290.290 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:37:55,462.462 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:37:55,494.494 INFO    ] time= 20/10/2026 14:37:55
[2026-10-20 14:37:55,548.548 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:37:55,599.599 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:37:55,726.726 INFO    ] No existing commands found in stream
[2026-10-20 14:38:00,751.751 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:38:00,753.753 INFO    ] Waiting 2.55 seconds before fallback handling...
[2026-10-20 14:38:03,788.788 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:38:03,791.791 INFO    ] Checking for system updates...
[2026-10-20 14:38:03,826.826 INFO    ] 200
[2026-10-20 14:38:03,829.829 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:38:03,881.881 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:38:03,883.883 INFO    ] No update needed
[2026-10-20 14:38:03,886.886 INFO    ] Checking for camera pi updates...
[2026-10-20 14:38:03,919.919 INFO    ] 200
[2026-10-20 14:38:03,922.922 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:38:03,961.961 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:38:04,007.007 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:38:04,009.009 INFO    ] No camera update needed
[2026-10-20 14:38:04,012.012 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:38:04,014.014 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:38:04,020.020 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:38:04,025.025 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:38:06,064.064 INFO    ] ================================================
[2026-10-20 14:38:06,079.079 INFO    ] Launching Daemon at Tue Oct 20 14:38:06 IST 2026
[2026-10-20 14:38:06,089.089 INFO    ] ================================================
[2026-10-20 14:38:06,673.673 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:38:06
[2026-10-20 14:38:07,272.272 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:38:07,548.548 INFO    ] Initializing speech engine...
[2026-10-20 14:38:07,555.555 INFO    ] 2026-10-20 14:38:07
[2026-10-20 14:38:07,816.816 INFO    ] 2026-10-20 14:38:07
[2026-10-20 14:38:07,852.852 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:38:08,096.096 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:38:08,106.106 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:38:08,252.252 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:38:08,255.255 INFO    ] time= 20/10/2026 14:38:08
[2026-10-20 14:38:08,257.257 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:38:08,301.301 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:38:08,418.418 INFO    ] No existing commands found in stream
[2026-10-20 14:38:13,431.431 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:38:13,433.433 INFO    ] Waiting 2.07 seconds before fallback handling...
[2026-10-20 14:38:16,011.011 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 14:38:16,014.014 INFO    ] Checking for system updates...
[2026-10-20 14:38:16,052.052 INFO    ] 200
[2026-10-20 14:38:16,055.055 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:38:16,108.108 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:38:16,111.111 INFO    ] No update needed
[2026-10-20 14:38:16,113.113 INFO    ] Checking for camera pi updates...
[2026-10-20 14:38:16,150.150 INFO    ] 200
[2026-10-20 14:38:16,153.153 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:38:16,192.192 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:38:16,342.342 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:38:16,345.345 INFO    ] No camera update needed
[2026-10-20 14:38:16,347.347 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:38:16,349.349 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:38:16,355.355 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:38:16,360.360 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:38:18,400.400 INFO    ] ================================================
[2026-10-20 14:38:18,414.414 INFO    ] Launching Daemon at Tue Oct 20 14:38:18 IST 2026
[2026-10-20 14:38:18,425.425 INFO    ] ================================================
[2026-10-20 14:38:19,003.003 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:38:19
[2026-10-20 14:38:19,588.588 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:38:19,835.835 INFO    ] Initializing speech engine...
[2026-10-20 14:38:19,841.841 INFO    ] 2026-10-20 14:38:19
[2026-10-20 14:38:20,118.118 INFO    ] 2026-10-20 14:38:20
[2026-10-20 14:38:20,154.154 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:38:20,358.358 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:38:20,418.418 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:38:20,663.663 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:38:20,689.689 INFO    ] time= 20/10/2026 14:38:20
[2026-10-20 14:38:20,695.695 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:38:20,713.713 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:38:20,844.844 INFO    ] No existing commands found in stream
[2026-10-20 14:38:25,858.858 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:38:25,861.861 INFO    ] Waiting 0.78 seconds before fallback handling...
[2026-10-20 14:38:27,168.168 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 14:38:27,171.171 INFO    ] Checking for system updates...
[2026-10-20 14:38:27,210.210 INFO    ] 200
[2026-10-20 14:38:27,213.213 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:38:27,264.264 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:38:27,266.266 INFO    ] No update needed
[2026-10-20 14:38:27,268.268 INFO    ] Checking for camera pi updates...
[2026-10-20 14:38:27,305.305 INFO    ] 200
[2026-10-20 14:38:27,307.307 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:38:27,347.347 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:38:27,398.398 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:38:27,400.400 INFO    ] No camera update needed
[2026-10-20 14:38:27,402.402 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:38:27,405.405 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:38:27,410.410 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:38:27,415.415 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:38:29,454.454 INFO    ] ================================================
[2026-10-20 14:38:29,469.469 INFO    ] Launching Daemon at Tue Oct 20 14:38:29 IST 2026
[2026-10-20 14:38:29,480.480 INFO    ] ================================================
[2026-10-20 14:38:30,046.046 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:38:30
[2026-10-20 14:38:30,630.630 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:38:30,881.881 INFO    ] Initializing speech engine...
[2026-10-20 14:38:30,890.890 INFO    ] 2026-10-20 14:38:30
[2026-10-20 14:38:31,170.170 INFO    ] 2026-10-20 14:38:31
[2026-10-20 14:38:31,205.205 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:38:31,393.393 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:38:31,410.410 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:38:31,633.633 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:38:31,682.682 INFO    ] time= 20/10/2026 14:38:31
[2026-10-20 14:38:31,742.742 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:38:31,779.779 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:38:31,885.885 INFO    ] No existing commands found in stream
[2026-10-20 14:38:36,895.895 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:38:36,897.897 INFO    ] Waiting 3.97 seconds before fallback handling...
[2026-10-20 14:38:41,355.355 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:38:41,357.357 INFO    ] Checking for system updates...
[2026-10-20 14:38:41,392.392 INFO    ] 200
[2026-10-20 14:38:41,394.394 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:38:41,445.445 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:38:41,448.448 INFO    ] No update needed
[2026-10-20 14:38:41,451.451 INFO    ] Checking for camera pi updates...
[2026-10-20 14:38:41,483.483 INFO    ] 200
[2026-10-20 14:38:41,485.485 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:38:41,527.527 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:38:41,571.571 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:38:41,574.574 INFO    ] No camera update needed
[2026-10-20 14:38:41,576.576 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:38:41,578.578 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:38:41,584.584 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:38:41,589.589 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:38:43,629.629 INFO    ] ================================================
[2026-10-20 14:38:43,644.644 INFO    ] Launching Daemon at Tue Oct 20 14:38:43 IST 2026
[2026-10-20 14:38:43,654.654 INFO    ] ================================================
[2026-10-20 14:38:44,294.294 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:38:44
[2026-10-20 14:38:44,954.954 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:38:45,260.260 INFO    ] Initializing speech engine...
[2026-10-20 14:38:45,270.270 INFO    ] 2026-10-20 14:38:45
[2026-10-20 14:38:45,534.534 INFO    ] 2026-10-20 14:38:45
[2026-10-20 14:38:45,590.590 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:38:45,835.835 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:38:45,844.844 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:38:46,075.075 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:38:46,082.082 INFO    ] time= 20/10/2026 14:38:46
[2026-10-20 14:38:46,100.100 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:38:46,131.131 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:38:46,267.267 INFO    ] No existing commands found in stream
[2026-10-20 14:38:51,298.298 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:38:51,302.302 INFO    ] Waiting 1.61 seconds before fallback handling...
[2026-10-20 14:38:53,487.487 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:38:53,490.490 INFO    ] Checking for system updates...
[2026-10-20 14:38:53,526.526 INFO    ] 200
[2026-10-20 14:38:53,529.529 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:38:53,584.584 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:38:53,587.587 INFO    ] No update needed
[2026-10-20 14:38:53,589.589 INFO    ] Checking for camera pi updates...
[2026-10-20 14:38:53,624.624 INFO    ] 200
[2026-10-20 14:38:53,627.627 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:38:53,668.668 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:38:53,719.719 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:38:53,722.722 INFO    ] No camera update needed
[2026-10-20 14:38:53,724.724 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:38:53,727.727 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:38:53,733.733 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:38:53,739.739 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:38:55,778.778 INFO    ] ================================================
[2026-10-20 14:38:55,793.793 INFO    ] Launching Daemon at Tue Oct 20 14:38:55 IST 2026
[2026-10-20 14:38:55,804.804 INFO    ] ================================================
[2026-10-20 14:38:56,458.458 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:38:56
[2026-10-20 14:38:57,117.117 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:38:57,403.403 INFO    ] Initializing speech engine...
[2026-10-20 14:38:57,410.410 INFO    ] 2026-10-20 14:38:57
[2026-10-20 14:38:57,672.672 INFO    ] 2026-10-20 14:38:57
[2026-10-20 14:38:57,725.725 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:38:57,968.968 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:38:57,975.975 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:38:58,156.156 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:38:58,217.217 INFO    ] time= 20/10/2026 14:38:58
[2026-10-20 14:38:58,251.251 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:38:58,273.273 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:38:58,439.439 INFO    ] No existing commands found in stream
[2026-10-20 14:39:03,476.476 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:39:03,479.479 INFO    ] Waiting 2.39 seconds before fallback handling...
[2026-10-20 14:39:06,378.378 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 14:39:06,381.381 INFO    ] Checking for system updates...
[2026-10-20 14:39:06,418.418 INFO    ] 200
[2026-10-20 14:39:06,421.421 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:39:06,473.473 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:39:06,475.475 INFO    ] No update needed
[2026-10-20 14:39:06,478.478 INFO    ] Checking for camera pi updates...
[2026-10-20 14:39:06,511.511 INFO    ] 200
[2026-10-20 14:39:06,514.514 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:39:06,555.555 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:39:06,622.622 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:39:06,625.625 INFO    ] No camera update needed
[2026-10-20 14:39:06,628.628 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:39:06,630.630 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:39:06,636.636 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:39:06,642.642 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:39:08,683.683 INFO    ] ================================================
[2026-10-20 14:39:08,699.699 INFO    ] Launching Daemon at Tue Oct 20 14:39:08 IST 2026
[2026-10-20 14:39:08,710.710 INFO    ] ================================================
[2026-10-20 14:39:09,274.274 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:39:09
[2026-10-20 14:39:09,855.855 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:39:10,098.098 INFO    ] Initializing speech engine...
[2026-10-20 14:39:10,106.106 INFO    ] 2026-10-20 14:39:10
[2026-10-20 14:39:10,376.376 INFO    ] 2026-10-20 14:39:10
[2026-10-20 14:39:10,411.411 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:39:10,661.661 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:39:10,670.670 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:39:10,809.809 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:39:10,879.879 INFO    ] time= 20/10/2026 14:39:10
[2026-10-20 14:39:10,930.930 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:39:10,936.936 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:39:11,092.092 INFO    ] No existing commands found in stream
[2026-10-20 14:39:16,127.127 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:39:16,130.130 INFO    ] Waiting 1.10 seconds before fallback handling...
[2026-10-20 14:39:17,747.747 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:39:17,750.750 INFO    ] Checking for system updates...
[2026-10-20 14:39:17,785.785 INFO    ] 200
[2026-10-20 14:39:17,788.788 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:39:17,841.841 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:39:17,843.843 INFO    ] No update needed
[2026-10-20 14:39:17,845.845 INFO    ] Checking for camera pi updates...
[2026-10-20 14:39:17,879.879 INFO    ] 200
[2026-10-20 14:39:17,881.881 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:39:17,921.921 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:39:17,975.975 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:39:17,978.978 INFO    ] No camera update needed
[2026-10-20 14:39:17,980.980 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:39:17,982.982 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:39:17,988.988 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:39:17,993.993 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:39:20,033.033 INFO    ] ================================================
[2026-10-20 14:39:20,048.048 INFO    ] Launching Daemon at Tue Oct 20 14:39:20 IST 2026
[2026-10-20 14:39:20,059.059 INFO    ] ================================================
[2026-10-20 14:39:20,713.713 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:39:20
[2026-10-20 14:39:21,387.387 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:39:21,695.695 INFO    ] Initializing speech engine...
[2026-10-20 14:39:21,701.701 INFO    ] 2026-10-20 14:39:21
[2026-10-20 14:39:21,974.974 INFO    ] 2026-10-20 14:39:21
[2026-10-20 14:39:22,010.010 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:39:22,264.264 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:39:22,274.274 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:39:22,414.414 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:39:22,484.484 INFO    ] time= 20/10/2026 14:39:22
[2026-10-20 14:39:22,539.539 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:39:22,553.553 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:39:22,705.705 INFO    ] No existing commands found in stream
[2026-10-20 14:39:27,733.733 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:39:27,736.736 INFO    ] Waiting 1.88 seconds before fallback handling...
[2026-10-20 14:39:30,171.171 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:39:30,174.174 INFO    ] Checking for system updates...
[2026-10-20 14:39:30,210.210 INFO    ] 200
[2026-10-20 14:39:30,213.213 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:39:30,272.272 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:39:30,275.275 INFO    ] No update needed
[2026-10-20 14:39:30,278.278 INFO    ] Checking for camera pi updates...
[2026-10-20 14:39:30,320.320 INFO    ] 200
[2026-10-20 14:39:30,323.323 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:39:30,368.368 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:39:30,415.415 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:39:30,418.418 INFO    ] No camera update needed
[2026-10-20 14:39:30,420.420 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:39:30,423.423 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:39:30,429.429 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:39:30,435.435 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:39:32,480.480 INFO    ] ================================================
[2026-10-20 14:39:32,496.496 INFO    ] Launching Daemon at Tue Oct 20 14:39:32 IST 2026
[2026-10-20 14:39:32,508.508 INFO    ] ================================================
[2026-10-20 14:39:33,097.097 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:39:33
[2026-10-20 14:39:33,686.686 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:39:33,941.941 INFO    ] Initializing speech engine...
[2026-10-20 14:39:33,948.948 INFO    ] 2026-10-20 14:39:33
[2026-10-20 14:39:34,251.251 INFO    ] 2026-10-20 14:39:34
[2026-10-20 14:39:34,290.290 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:39:34,552.552 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:39:34,562.562 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:39:34,764.764 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:39:34,814.814 INFO    ] time= 20/10/2026 14:39:34
[2026-10-20 14:39:34,853.853 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:39:34,863.863 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:39:34,997.997 INFO    ] No existing commands found in stream
[2026-10-20 14:39:40,017.017 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:39:40,020.020 INFO    ] Waiting 0.30 seconds before fallback handling...
[2026-10-20 14:39:40,869.869 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:39:40,872.872 INFO    ] Checking for system updates...
[2026-10-20 14:39:40,910.910 INFO    ] 200
[2026-10-20 14:39:40,913.913 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:39:40,964.964 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:39:40,967.967 INFO    ] No update needed
[2026-10-20 14:39:40,969.969 INFO    ] Checking for camera pi updates...
[2026-10-20 14:39:41,005.005 INFO    ] 200
[2026-10-20 14:39:41,008.008 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:39:41,048.048 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:39:41,097.097 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:39:41,100.100 INFO    ] No camera update needed
[2026-10-20 14:39:41,102.102 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:39:41,104.104 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:39:41,110.110 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:39:41,115.115 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:39:43,155.155 INFO    ] ================================================
[2026-10-20 14:39:43,170.170 INFO    ] Launching Daemon at Tue Oct 20 14:39:43 IST 2026
[2026-10-20 14:39:43,181.181 INFO    ] ================================================
[2026-10-20 14:39:43,817.817 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:39:43
[2026-10-20 14:39:44,471.471 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:39:44,770.770 INFO    ] Initializing speech engine...
[2026-10-20 14:39:44,778.778 INFO    ] 2026-10-20 14:39:44
[2026-10-20 14:39:45,052.052 INFO    ] 2026-10-20 14:39:45
[2026-10-20 14:39:45,108.108 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:39:45,361.361 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:39:45,368.368 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:39:45,563.563 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:39:45,611.611 INFO    ] time= 20/10/2026 14:39:45
[2026-10-20 14:39:45,629.629 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:39:45,636.636 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:39:45,776.776 INFO    ] No existing commands found in stream
[2026-10-20 14:39:50,802.802 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:39:50,805.805 INFO    ] Waiting 2.26 seconds before fallback handling...
[2026-10-20 14:39:53,610.610 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:39:53,613.613 INFO    ] Checking for system updates...
[2026-10-20 14:39:53,653.653 INFO    ] 200
[2026-10-20 14:39:53,655.655 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:39:53,718.718 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:39:53,721.721 INFO    ] No update needed
[2026-10-20 14:39:53,724.724 INFO    ] Checking for camera pi updates...
[2026-10-20 14:39:53,757.757 INFO    ] 200
[2026-10-20 14:39:53,760.760 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:39:53,801.801 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:39:53,848.848 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:39:53,851.851 INFO    ] No camera update needed
[2026-10-20 14:39:53,853.853 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:39:53,856.856 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:39:53,862.862 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:39:53,867.867 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:39:55,910.910 INFO    ] ================================================
[2026-10-20 14:39:55,925.925 INFO    ] Launching Daemon at Tue Oct 20 14:39:55 IST 2026
[2026-10-20 14:39:55,937.937 INFO    ] ================================================
[2026-10-20 14:39:56,502.502 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:39:56
[2026-10-20 14:39:57,082.082 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:39:57,334.334 INFO    ] Initializing speech engine...
[2026-10-20 14:39:57,357.357 INFO    ] 2026-10-20 14:39:57
[2026-10-20 14:39:57,611.611 INFO    ] 2026-10-20 14:39:57
[2026-10-20 14:39:57,645.645 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:39:57,861.861 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:39:57,868.868 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:39:58,085.085 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:39:58,107.107 INFO    ] time= 20/10/2026 14:39:58
[2026-10-20 14:39:58,152.152 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:39:58,200.200 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:39:58,293.293 INFO    ] No existing commands found in stream
[2026-10-20 14:40:03,301.301 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:40:03,307.307 INFO    ] Waiting 2.13 seconds before fallback handling...
[2026-10-20 14:40:08,131.131 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 14:40:08,133.133 INFO    ] Checking for system updates...
[2026-10-20 14:40:08,168.168 INFO    ] 200
[2026-10-20 14:40:08,171.171 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:40:08,222.222 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:40:08,224.224 INFO    ] No update needed
[2026-10-20 14:40:08,226.226 INFO    ] Checking for camera pi updates...
[2026-10-20 14:40:08,262.262 INFO    ] 200
[2026-10-20 14:40:08,265.265 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:40:08,304.304 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:40:08,353.353 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:40:08,356.356 INFO    ] No camera update needed
[2026-10-20 14:40:08,358.358 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:40:08,361.361 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:40:08,366.366 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:40:08,371.371 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:40:10,411.411 INFO    ] ================================================
[2026-10-20 14:40:10,427.427 INFO    ] Launching Daemon at Tue Oct 20 14:40:10 IST 2026
[2026-10-20 14:40:10,438.438 INFO    ] ================================================
[2026-10-20 14:40:11,008.008 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:40:11
[2026-10-20 14:40:11,592.592 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:40:11,865.865 INFO    ] Initializing speech engine...
[2026-10-20 14:40:11,874.874 INFO    ] 2026-10-20 14:40:11
[2026-10-20 14:40:12,124.124 INFO    ] 2026-10-20 14:40:12
[2026-10-20 14:40:12,158.158 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:40:12,333.333 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:40:12,356.356 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:40:12,551.551 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:40:12,573.573 INFO    ] time= 20/10/2026 14:40:12
[2026-10-20 14:40:12,632.632 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:40:12,684.684 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:40:12,817.817 INFO    ] No existing commands found in stream
[2026-10-20 14:40:17,843.843 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:40:17,846.846 INFO    ] Waiting 2.69 seconds before fallback handling...
[2026-10-20 14:40:21,063.063 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:40:21,065.065 INFO    ] Checking for system updates...
[2026-10-20 14:40:21,101.101 INFO    ] 200
[2026-10-20 14:40:21,103.103 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:40:21,157.157 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:40:21,159.159 INFO    ] No update needed
[2026-10-20 14:40:21,162.162 INFO    ] Checking for camera pi updates...
[2026-10-20 14:40:21,196.196 INFO    ] 200
[2026-10-20 14:40:21,198.198 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:40:21,239.239 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:40:21,385.385 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:40:21,388.388 INFO    ] No camera update needed
[2026-10-20 14:40:21,391.391 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:40:21,393.393 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:40:21,398.398 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:40:21,403.403 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:40:23,445.445 INFO    ] ================================================
[2026-10-20 14:40:23,460.460 INFO    ] Launching Daemon at Tue Oct 20 14:40:23 IST 2026
[2026-10-20 14:40:23,471.471 INFO    ] ================================================
[2026-10-20 14:40:24,055.055 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:40:24
[2026-10-20 14:40:24,718.718 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:40:25,021.021 INFO    ] Initializing speech engine...
[2026-10-20 14:40:25,026.026 INFO    ] 2026-10-20 14:40:25
[2026-10-20 14:40:25,317.317 INFO    ] 2026-10-20 14:40:25
[2026-10-20 14:40:25,365.365 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:40:25,590.590 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:40:25,601.601 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:40:25,813.813 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:40:25,866.866 INFO    ] time= 20/10/2026 14:40:25
[2026-10-20 14:40:25,873.873 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:40:25,892.892 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:40:26,005.005 INFO    ] No existing commands found in stream
[2026-10-20 14:40:31,031.031 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:40:31,034.034 INFO    ] Waiting 1.64 seconds before fallback handling...
[2026-10-20 14:40:33,183.183 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 14:40:33,186.186 INFO    ] Checking for system updates...
[2026-10-20 14:40:33,223.223 INFO    ] 200
[2026-10-20 14:40:33,225.225 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:40:33,286.286 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:40:33,289.289 INFO    ] No update needed
[2026-10-20 14:40:33,291.291 INFO    ] Checking for camera pi updates...
[2026-10-20 14:40:33,325.325 INFO    ] 200
[2026-10-20 14:40:33,327.327 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:40:33,379.379 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:40:33,429.429 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:40:33,431.431 INFO    ] No camera update needed
[2026-10-20 14:40:33,433.433 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:40:33,435.435 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:40:33,441.441 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:40:33,446.446 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:40:35,485.485 INFO    ] ================================================
[2026-10-20 14:40:35,501.501 INFO    ] Launching Daemon at Tue Oct 20 14:40:35 IST 2026
[2026-10-20 14:40:35,512.512 INFO    ] ================================================
[2026-10-20 14:40:36,077.077 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:40:36
[2026-10-20 14:40:36,662.662 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:40:36,921.921 INFO    ] Initializing speech engine...
[2026-10-20 14:40:36,940.940 INFO    ] 2026-10-20 14:40:36
[2026-10-20 14:40:37,189.189 INFO    ] 2026-10-20 14:40:37
[2026-10-20 14:40:37,224.224 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:40:37,482.482 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:40:37,491.491 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:40:37,669.669 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:40:37,729.729 INFO    ] time= 20/10/2026 14:40:37
[2026-10-20 14:40:37,761.761 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:40:37,776.776 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:40:37,915.915 INFO    ] No existing commands found in stream
[2026-10-20 14:40:42,948.948 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:40:42,951.951 INFO    ] Waiting 0.66 seconds before fallback handling...
[2026-10-20 14:40:44,182.182 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:40:44,184.184 INFO    ] Checking for system updates...
[2026-10-20 14:40:44,227.227 INFO    ] 200
[2026-10-20 14:40:44,230.230 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:40:44,289.289 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:40:44,292.292 INFO    ] No update needed
[2026-10-20 14:40:44,295.295 INFO    ] Checking for camera pi updates...
[2026-10-20 14:40:44,329.329 INFO    ] 200
[2026-10-20 14:40:44,332.332 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:40:44,377.377 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:40:44,428.428 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:40:44,431.431 INFO    ] No camera update needed
[2026-10-20 14:40:44,434.434 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:40:44,436.436 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:40:44,442.442 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:40:44,448.448 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:40:46,489.489 INFO    ] ================================================
[2026-10-20 14:40:46,505.505 INFO    ] Launching Daemon at Tue Oct 20 14:40:46 IST 2026
[2026-10-20 14:40:46,516.516 INFO    ] ================================================
[2026-10-20 14:40:47,083.083 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:40:47
[2026-10-20 14:40:47,717.717 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:40:48,017.017 INFO    ] Initializing speech engine...
[2026-10-20 14:40:48,023.023 INFO    ] 2026-10-20 14:40:48
[2026-10-20 14:40:48,295.295 INFO    ] 2026-10-20 14:40:48
[2026-10-20 14:40:48,352.352 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:40:48,603.603 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:40:48,608.608 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:40:48,837.837 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:40:48,846.846 INFO    ] time= 20/10/2026 14:40:48
[2026-10-20 14:40:48,868.868 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:40:48,895.895 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:40:49,054.054 INFO    ] No existing commands found in stream
[2026-10-20 14:40:54,091.091 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:40:54,094.094 INFO    ] Waiting 1.05 seconds before fallback handling...
[2026-10-20 14:40:55,642.642 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:40:55,645.645 INFO    ] Checking for system updates...
[2026-10-20 14:40:55,682.682 INFO    ] 200
[2026-10-20 14:40:55,685.685 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:40:55,745.745 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:40:55,748.748 INFO    ] No update needed
[2026-10-20 14:40:55,751.751 INFO    ] Checking for camera pi updates...
[2026-10-20 14:40:55,786.786 INFO    ] 200
[2026-10-20 14:40:55,789.789 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:40:55,830.830 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:40:55,879.879 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:40:55,881.881 INFO    ] No camera update needed
[2026-10-20 14:40:55,884.884 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:40:55,887.887 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:40:55,893.893 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:40:55,899.899 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:40:57,939.939 INFO    ] ================================================
[2026-10-20 14:40:57,954.954 INFO    ] Launching Daemon at Tue Oct 20 14:40:57 IST 2026
[2026-10-20 14:40:57,966.966 INFO    ] ================================================
[2026-10-20 14:40:58,545.545 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:40:58
[2026-10-20 14:40:59,144.144 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:40:59,412.412 INFO    ] Initializing speech engine...
[2026-10-20 14:40:59,421.421 INFO    ] 2026-10-20 14:40:59
[2026-10-20 14:40:59,665.665 INFO    ] 2026-10-20 14:40:59
[2026-10-20 14:40:59,701.701 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:40:59,952.952 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:40:59,962.962 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:41:00,157.157 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:41:00,216.216 INFO    ] time= 20/10/2026 14:41:00
[2026-10-20 14:41:00,223.223 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:41:00,239.239 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:41:00,369.369 INFO    ] No existing commands found in stream
[2026-10-20 14:41:05,383.383 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:41:05,386.386 INFO    ] Waiting 0.44 seconds before fallback handling...
[2026-10-20 14:41:06,324.324 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:41:06,327.327 INFO    ] Checking for system updates...
[2026-10-20 14:41:06,366.366 INFO    ] 200
[2026-10-20 14:41:06,368.368 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:41:06,420.420 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:41:06,422.422 INFO    ] No update needed
[2026-10-20 14:41:06,425.425 INFO    ] Checking for camera pi updates...
[2026-10-20 14:41:06,459.459 INFO    ] 200
[2026-10-20 14:41:06,461.461 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:41:06,501.501 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:41:06,545.545 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:41:06,548.548 INFO    ] No camera update needed
[2026-10-20 14:41:06,550.550 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:41:06,553.553 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:41:06,558.558 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:41:06,563.563 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:41:08,602.602 INFO    ] ================================================
[2026-10-20 14:41:08,617.617 INFO    ] Launching Daemon at Tue Oct 20 14:41:08 IST 2026
[2026-10-20 14:41:08,627.627 INFO    ] ================================================
[2026-10-20 14:41:09,193.193 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:41:09
[2026-10-20 14:41:09,792.792 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:41:10,069.069 INFO    ] Initializing speech engine...
[2026-10-20 14:41:10,077.077 INFO    ] 2026-10-20 14:41:10
[2026-10-20 14:41:10,332.332 INFO    ] 2026-10-20 14:41:10
[2026-10-20 14:41:10,367.367 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:41:10,611.611 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:41:10,621.621 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:41:10,833.833 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:41:10,885.885 INFO    ] time= 20/10/2026 14:41:10
[2026-10-20 14:41:10,891.891 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:41:10,909.909 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:41:11,040.040 INFO    ] No existing commands found in stream
[2026-10-20 14:41:16,063.063 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:41:16,066.066 INFO    ] Waiting 3.77 seconds before fallback handling...
[2026-10-20 14:41:20,341.341 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 14:41:20,344.344 INFO    ] Checking for system updates...
[2026-10-20 14:41:20,380.380 INFO    ] 200
[2026-10-20 14:41:20,382.382 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:41:20,434.434 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:41:20,436.436 INFO    ] No update needed
[2026-10-20 14:41:20,439.439 INFO    ] Checking for camera pi updates...
[2026-10-20 14:41:20,472.472 INFO    ] 200
[2026-10-20 14:41:20,474.474 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:41:20,515.515 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:41:20,566.566 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:41:20,568.568 INFO    ] No camera update needed
[2026-10-20 14:41:20,571.571 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:41:20,573.573 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:41:20,579.579 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:41:20,584.584 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:41:22,625.625 INFO    ] ================================================
[2026-10-20 14:41:22,640.640 INFO    ] Launching Daemon at Tue Oct 20 14:41:22 IST 2026
[2026-10-20 14:41:22,651.651 INFO    ] ================================================
[2026-10-20 14:41:23,217.217 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:41:23
[2026-10-20 14:41:23,799.799 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:41:24,063.063 INFO    ] Initializing speech engine...
[2026-10-20 14:41:24,078.078 INFO    ] 2026-10-20 14:41:24
[2026-10-20 14:41:24,354.354 INFO    ] 2026-10-20 14:41:24
[2026-10-20 14:41:24,392.392 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:41:24,685.685 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:41:24,695.695 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:41:24,851.851 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:41:24,906.906 INFO    ] time= 20/10/2026 14:41:24
[2026-10-20 14:41:24,960.960 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:41:25,000.000 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:41:25,160.160 INFO    ] No existing commands found in stream
[2026-10-20 14:41:30,178.178 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:41:30,181.181 INFO    ] Waiting 2.84 seconds before fallback handling...
[2026-10-20 14:41:33,532.532 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:41:33,535.535 INFO    ] Checking for system updates...
[2026-10-20 14:41:33,570.570 INFO    ] 200
[2026-10-20 14:41:33,572.572 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:41:33,625.625 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:41:33,628.628 INFO    ] No update needed
[2026-10-20 14:41:33,630.630 INFO    ] Checking for camera pi updates...
[2026-10-20 14:41:33,663.663 INFO    ] 200
[2026-10-20 14:41:33,665.665 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:41:33,710.710 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:41:33,759.759 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:41:33,761.761 INFO    ] No camera update needed
[2026-10-20 14:41:33,764.764 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:41:33,766.766 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:41:33,771.771 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:41:33,776.776 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:41:35,815.815 INFO    ] ================================================
[2026-10-20 14:41:35,830.830 INFO    ] Launching Daemon at Tue Oct 20 14:41:35 IST 2026
[2026-10-20 14:41:35,840.840 INFO    ] ================================================
[2026-10-20 14:41:36,504.504 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:41:36
[2026-10-20 14:41:37,178.178 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:41:37,445.445 INFO    ] Initializing speech engine...
[2026-10-20 14:41:37,454.454 INFO    ] 2026-10-20 14:41:37
[2026-10-20 14:41:37,723.723 INFO    ] 2026-10-20 14:41:37
[2026-10-20 14:41:37,759.759 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:41:38,038.038 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:41:38,047.047 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:41:38,260.260 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:41:38,291.291 INFO    ] time= 20/10/2026 14:41:38
[2026-10-20 14:41:38,310.310 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:41:38,340.340 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:41:38,485.485 INFO    ] No existing commands found in stream
[2026-10-20 14:41:43,511.511 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:41:43,514.514 INFO    ] Waiting 2.29 seconds before fallback handling...
[2026-10-20 14:41:46,398.398 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:41:46,402.402 INFO    ] Checking for system updates...
[2026-10-20 14:41:46,438.438 INFO    ] 200
[2026-10-20 14:41:46,441.441 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:41:46,500.500 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:41:46,503.503 INFO    ] No update needed
[2026-10-20 14:41:46,505.505 INFO    ] Checking for camera pi updates...
[2026-10-20 14:41:46,542.542 INFO    ] 200
[2026-10-20 14:41:46,545.545 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:41:46,586.586 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:41:46,630.630 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:41:46,633.633 INFO    ] No camera update needed
[2026-10-20 14:41:46,635.635 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:41:46,637.637 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:41:46,643.643 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:41:46,648.648 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:41:48,687.687 INFO    ] ================================================
[2026-10-20 14:41:48,702.702 INFO    ] Launching Daemon at Tue Oct 20 14:41:48 IST 2026
[2026-10-20 14:41:48,713.713 INFO    ] ================================================
[2026-10-20 14:41:49,286.286 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:41:49
[2026-10-20 14:41:49,871.871 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:41:50,121.121 INFO    ] Initializing speech engine...
[2026-10-20 14:41:50,143.143 INFO    ] 2026-10-20 14:41:50
[2026-10-20 14:41:50,395.395 INFO    ] 2026-10-20 14:41:50
[2026-10-20 14:41:50,430.430 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:41:50,685.685 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:41:50,690.690 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:41:50,930.930 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:41:50,953.953 INFO    ] time= 20/10/2026 14:41:50
[2026-10-20 14:41:50,968.968 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:41:50,976.976 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:41:51,104.104 INFO    ] No existing commands found in stream
[2026-10-20 14:41:56,121.121 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:41:56,124.124 INFO    ] Waiting 2.93 seconds before fallback handling...
[2026-10-20 14:41:59,613.613 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:41:59,616.616 INFO    ] Checking for system updates...
[2026-10-20 14:41:59,651.651 INFO    ] 200
[2026-10-20 14:41:59,653.653 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:41:59,705.705 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:41:59,707.707 INFO    ] No update needed
[2026-10-20 14:41:59,710.710 INFO    ] Checking for camera pi updates...
[2026-10-20 14:41:59,743.743 INFO    ] 200
[2026-10-20 14:41:59,746.746 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:41:59,785.785 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:41:59,834.834 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:41:59,836.836 INFO    ] No camera update needed
[2026-10-20 14:41:59,839.839 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:41:59,841.841 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:41:59,847.847 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:41:59,852.852 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:42:01,895.895 INFO    ] ================================================
[2026-10-20 14:42:01,925.925 INFO    ] Launching Daemon at Tue Oct 20 14:42:01 IST 2026
[2026-10-20 14:42:01,939.939 INFO    ] ================================================
[2026-10-20 14:42:02,567.567 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:42:02
[2026-10-20 14:42:03,223.223 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:42:03,489.489 INFO    ] Initializing speech engine...
[2026-10-20 14:42:03,499.499 INFO    ] 2026-10-20 14:42:03
[2026-10-20 14:42:03,815.815 INFO    ] 2026-10-20 14:42:03
[2026-10-20 14:42:03,853.853 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:42:04,063.063 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:42:04,065.065 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:42:04,258.258 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:42:04,273.273 INFO    ] time= 20/10/2026 14:42:04
[2026-10-20 14:42:04,311.311 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:42:04,366.366 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:42:04,533.533 INFO    ] No existing commands found in stream
[2026-10-20 14:42:09,558.558 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:42:09,561.561 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-10-20 14:42:12,726.726 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:42:12,728.728 INFO    ] Checking for system updates...
[2026-10-20 14:42:12,764.764 INFO    ] 200
[2026-10-20 14:42:12,766.766 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:42:12,818.818 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:42:12,820.820 INFO    ] No update needed
[2026-10-20 14:42:12,823.823 INFO    ] Checking for camera pi updates...
[2026-10-20 14:42:12,861.861 INFO    ] 200
[2026-10-20 14:42:12,863.863 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:42:12,902.902 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:42:12,963.963 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:42:12,965.965 INFO    ] No camera update needed
[2026-10-20 14:42:12,968.968 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:42:12,970.970 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:42:12,975.975 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:42:12,980.980 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:42:15,019.019 INFO    ] ================================================
[2026-10-20 14:42:15,034.034 INFO    ] Launching Daemon at Tue Oct 20 14:42:15 IST 2026
[2026-10-20 14:42:15,044.044 INFO    ] ================================================
[2026-10-20 14:42:15,609.609 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:42:15
[2026-10-20 14:42:16,194.194 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:42:16,462.462 INFO    ] Initializing speech engine...
[2026-10-20 14:42:16,471.471 INFO    ] 2026-10-20 14:42:16
[2026-10-20 14:42:16,730.730 INFO    ] 2026-10-20 14:42:16
[2026-10-20 14:42:16,759.759 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:42:17,007.007 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:42:17,012.012 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:42:17,192.192 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:42:17,247.247 INFO    ] time= 20/10/2026 14:42:17
[2026-10-20 14:42:17,275.275 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:42:17,293.293 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:42:17,428.428 INFO    ] No existing commands found in stream
[2026-10-20 14:42:22,450.450 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:42:22,453.453 INFO    ] Waiting 3.28 seconds before fallback handling...
[2026-10-20 14:42:26,259.259 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:42:26,262.262 INFO    ] Checking for system updates...
[2026-10-20 14:42:26,302.302 INFO    ] 200
[2026-10-20 14:42:26,305.305 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:42:26,365.365 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:42:26,367.367 INFO    ] No update needed
[2026-10-20 14:42:26,370.370 INFO    ] Checking for camera pi updates...
[2026-10-20 14:42:26,404.404 INFO    ] 200
[2026-10-20 14:42:26,406.406 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:42:26,446.446 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:42:26,588.588 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:42:26,591.591 INFO    ] No camera update needed
[2026-10-20 14:42:26,593.593 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:42:26,595.595 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:42:26,601.601 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:42:26,606.606 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:42:28,645.645 INFO    ] ================================================
[2026-10-20 14:42:28,660.660 INFO    ] Launching Daemon at Tue Oct 20 14:42:28 IST 2026
[2026-10-20 14:42:28,671.671 INFO    ] ================================================
[2026-10-20 14:42:29,273.273 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:42:29
[2026-10-20 14:42:29,879.879 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:42:30,158.158 INFO    ] Initializing speech engine...
[2026-10-20 14:42:30,167.167 INFO    ] 2026-10-20 14:42:30
[2026-10-20 14:42:30,422.422 INFO    ] 2026-10-20 14:42:30
[2026-10-20 14:42:30,483.483 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:42:30,729.729 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:42:30,736.736 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:42:30,944.944 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:42:30,970.970 INFO    ] time= 20/10/2026 14:42:30
[2026-10-20 14:42:30,987.987 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:42:30,996.996 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:42:31,126.126 INFO    ] No existing commands found in stream
[2026-10-20 14:42:36,154.154 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:42:36,157.157 INFO    ] Waiting 0.60 seconds before fallback handling...
[2026-10-20 14:42:37,254.254 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 14:42:37,257.257 INFO    ] Checking for system updates...
[2026-10-20 14:42:37,294.294 INFO    ] 200
[2026-10-20 14:42:37,296.296 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:42:37,354.354 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:42:37,356.356 INFO    ] No update needed
[2026-10-20 14:42:37,359.359 INFO    ] Checking for camera pi updates...
[2026-10-20 14:42:37,396.396 INFO    ] 200
[2026-10-20 14:42:37,398.398 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:42:37,438.438 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:42:37,484.484 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:42:37,486.486 INFO    ] No camera update needed
[2026-10-20 14:42:37,488.488 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:42:37,491.491 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:42:37,496.496 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:42:37,501.501 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:42:39,542.542 INFO    ] ================================================
[2026-10-20 14:42:39,557.557 INFO    ] Launching Daemon at Tue Oct 20 14:42:39 IST 2026
[2026-10-20 14:42:39,567.567 INFO    ] ================================================
[2026-10-20 14:42:40,142.142 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:42:40
[2026-10-20 14:42:40,730.730 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:42:40,974.974 INFO    ] Initializing speech engine...
[2026-10-20 14:42:40,982.982 INFO    ] 2026-10-20 14:42:40
[2026-10-20 14:42:41,250.250 INFO    ] 2026-10-20 14:42:41
[2026-10-20 14:42:41,286.286 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:42:41,541.541 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:42:41,546.546 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:42:41,746.746 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:42:41,801.801 INFO    ] time= 20/10/2026 14:42:41
[2026-10-20 14:42:41,808.808 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:42:41,825.825 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:42:41,961.961 INFO    ] No existing commands found in stream
[2026-10-20 14:42:46,986.986 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:42:46,989.989 INFO    ] Waiting 0.02 seconds before fallback handling...
[2026-10-20 14:42:47,540.540 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:42:47,543.543 INFO    ] Checking for system updates...
[2026-10-20 14:42:47,580.580 INFO    ] 200
[2026-10-20 14:42:47,582.582 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:42:47,636.636 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:42:47,639.639 INFO    ] No update needed
[2026-10-20 14:42:47,642.642 INFO    ] Checking for camera pi updates...
[2026-10-20 14:42:47,676.676 INFO    ] 200
[2026-10-20 14:42:47,679.679 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:42:47,725.725 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:42:47,772.772 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:42:47,775.775 INFO    ] No camera update needed
[2026-10-20 14:42:47,778.778 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:42:47,781.781 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:42:47,787.787 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:42:47,793.793 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:42:49,832.832 INFO    ] ================================================
[2026-10-20 14:42:49,848.848 INFO    ] Launching Daemon at Tue Oct 20 14:42:49 IST 2026
[2026-10-20 14:42:49,858.858 INFO    ] ================================================
[2026-10-20 14:42:50,429.429 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:42:50
[2026-10-20 14:42:51,017.017 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:42:51,284.284 INFO    ] Initializing speech engine...
[2026-10-20 14:42:51,292.292 INFO    ] 2026-10-20 14:42:51
[2026-10-20 14:42:51,538.538 INFO    ] 2026-10-20 14:42:51
[2026-10-20 14:42:51,574.574 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:42:51,829.829 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:42:51,835.835 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:42:52,059.059 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:42:52,090.090 INFO    ] time= 20/10/2026 14:42:52
[2026-10-20 14:42:52,096.096 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:42:52,114.114 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:42:52,249.249 INFO    ] No existing commands found in stream
[2026-10-20 14:42:57,279.279 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:42:57,282.282 INFO    ] Waiting 1.81 seconds before fallback handling...
[2026-10-20 14:42:59,613.613 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:42:59,616.616 INFO    ] Checking for system updates...
[2026-10-20 14:42:59,657.657 INFO    ] 200
[2026-10-20 14:42:59,660.660 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:42:59,720.720 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:42:59,723.723 INFO    ] No update needed
[2026-10-20 14:42:59,726.726 INFO    ] Checking for camera pi updates...
[2026-10-20 14:42:59,764.764 INFO    ] 200
[2026-10-20 14:42:59,767.767 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:42:59,808.808 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:42:59,870.870 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:42:59,873.873 INFO    ] No camera update needed
[2026-10-20 14:42:59,875.875 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:42:59,878.878 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:42:59,884.884 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:42:59,890.890 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:43:01,937.937 INFO    ] ================================================
[2026-10-20 14:43:01,969.969 INFO    ] Launching Daemon at Tue Oct 20 14:43:01 IST 2026
[2026-10-20 14:43:01,983.983 INFO    ] ================================================
[2026-10-20 14:43:02,607.607 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:43:02
[2026-10-20 14:43:03,299.299 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:43:03,589.589 INFO    ] Initializing speech engine...
[2026-10-20 14:43:03,600.600 INFO    ] 2026-10-20 14:43:03
[2026-10-20 14:43:03,873.873 INFO    ] 2026-10-20 14:43:03
[2026-10-20 14:43:03,926.926 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:43:04,152.152 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:43:04,157.157 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:43:04,376.376 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:43:04,412.412 INFO    ] time= 20/10/2026 14:43:04
[2026-10-20 14:43:04,417.417 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:43:04,435.435 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:43:04,560.560 INFO    ] No existing commands found in stream
[2026-10-20 14:43:09,576.576 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:43:09,579.579 INFO    ] Waiting 2.28 seconds before fallback handling...
[2026-10-20 14:43:12,386.386 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:43:12,388.388 INFO    ] Checking for system updates...
[2026-10-20 14:43:12,425.425 INFO    ] 200
[2026-10-20 14:43:12,428.428 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:43:12,487.487 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:43:12,490.490 INFO    ] No update needed
[2026-10-20 14:43:12,493.493 INFO    ] Checking for camera pi updates...
[2026-10-20 14:43:12,527.527 INFO    ] 200
[2026-10-20 14:43:12,530.530 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:43:12,580.580 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:43:12,628.628 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:43:12,631.631 INFO    ] No camera update needed
[2026-10-20 14:43:12,634.634 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:43:12,637.637 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:43:12,643.643 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:43:12,649.649 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:43:14,691.691 INFO    ] ================================================
[2026-10-20 14:43:14,706.706 INFO    ] Launching Daemon at Tue Oct 20 14:43:14 IST 2026
[2026-10-20 14:43:14,717.717 INFO    ] ================================================
[2026-10-20 14:43:15,288.288 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:43:15
[2026-10-20 14:43:15,878.878 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:43:16,147.147 INFO    ] Initializing speech engine...
[2026-10-20 14:43:16,157.157 INFO    ] 2026-10-20 14:43:16
[2026-10-20 14:43:16,418.418 INFO    ] 2026-10-20 14:43:16
[2026-10-20 14:43:16,447.447 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:43:16,680.680 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:43:16,702.702 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:43:16,900.900 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:43:16,961.961 INFO    ] time= 20/10/2026 14:43:16
[2026-10-20 14:43:16,969.969 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:43:16,987.987 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:43:17,117.117 INFO    ] No existing commands found in stream
[2026-10-20 14:43:22,130.130 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:43:22,132.132 INFO    ] Waiting 2.91 seconds before fallback handling...
[2026-10-20 14:43:25,587.587 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:43:25,590.590 INFO    ] Checking for system updates...
[2026-10-20 14:43:25,627.627 INFO    ] 200
[2026-10-20 14:43:25,631.631 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:43:25,684.684 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:43:25,687.687 INFO    ] No update needed
[2026-10-20 14:43:25,690.690 INFO    ] Checking for camera pi updates...
[2026-10-20 14:43:25,725.725 INFO    ] 200
[2026-10-20 14:43:25,727.727 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:43:25,769.769 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:43:25,815.815 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:43:25,819.819 INFO    ] No camera update needed
[2026-10-20 14:43:25,821.821 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:43:25,824.824 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:43:25,831.831 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:43:25,836.836 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:43:27,879.879 INFO    ] ================================================
[2026-10-20 14:43:27,893.893 INFO    ] Launching Daemon at Tue Oct 20 14:43:27 IST 2026
[2026-10-20 14:43:27,904.904 INFO    ] ================================================
[2026-10-20 14:43:28,493.493 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:43:28
[2026-10-20 14:43:29,095.095 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:43:29,365.365 INFO    ] Initializing speech engine...
[2026-10-20 14:43:29,374.374 INFO    ] 2026-10-20 14:43:29
[2026-10-20 14:43:29,621.621 INFO    ] 2026-10-20 14:43:29
[2026-10-20 14:43:29,656.656 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:43:29,906.906 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:43:29,915.915 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:43:30,049.049 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:43:30,109.109 INFO    ] time= 20/10/2026 14:43:30
[2026-10-20 14:43:30,169.169 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:43:30,182.182 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:43:30,313.313 INFO    ] No existing commands found in stream
[2026-10-20 14:43:35,335.335 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:43:35,337.337 INFO    ] Waiting 0.93 seconds before fallback handling...
[2026-10-20 14:43:36,785.785 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:43:36,788.788 INFO    ] Checking for system updates...
[2026-10-20 14:43:36,824.824 INFO    ] 200
[2026-10-20 14:43:36,826.826 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:43:36,879.879 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:43:36,882.882 INFO    ] No update needed
[2026-10-20 14:43:36,884.884 INFO    ] Checking for camera pi updates...
[2026-10-20 14:43:36,918.918 INFO    ] 200
[2026-10-20 14:43:36,921.921 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:43:36,961.961 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:43:37,006.006 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:43:37,008.008 INFO    ] No camera update needed
[2026-10-20 14:43:37,011.011 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:43:37,013.013 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:43:37,019.019 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:43:37,024.024 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:43:39,066.066 INFO    ] ================================================
[2026-10-20 14:43:39,081.081 INFO    ] Launching Daemon at Tue Oct 20 14:43:39 IST 2026
[2026-10-20 14:43:39,091.091 INFO    ] ================================================
[2026-10-20 14:43:39,758.758 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:43:39
[2026-10-20 14:43:40,446.446 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:43:40,763.763 INFO    ] Initializing speech engine...
[2026-10-20 14:43:40,769.769 INFO    ] 2026-10-20 14:43:40
[2026-10-20 14:43:41,059.059 INFO    ] 2026-10-20 14:43:41
[2026-10-20 14:43:41,169.169 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:43:41,323.323 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:43:41,329.329 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:43:41,500.500 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:43:41,550.550 INFO    ] time= 20/10/2026 14:43:41
[2026-10-20 14:43:41,593.593 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:43:41,612.612 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:43:41,746.746 INFO    ] No existing commands found in stream
[2026-10-20 14:43:46,770.770 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:43:46,773.773 INFO    ] Waiting 0.63 seconds before fallback handling...
[2026-10-20 14:43:47,964.964 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:43:47,968.968 INFO    ] Checking for system updates...
[2026-10-20 14:43:48,009.009 INFO    ] 200
[2026-10-20 14:43:48,012.012 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:43:48,085.085 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:43:48,088.088 INFO    ] No update needed
[2026-10-20 14:43:48,091.091 INFO    ] Checking for camera pi updates...
[2026-10-20 14:43:48,130.130 INFO    ] 200
[2026-10-20 14:43:48,133.133 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:43:48,186.186 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:43:48,232.232 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:43:48,235.235 INFO    ] No camera update needed
[2026-10-20 14:43:48,238.238 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:43:48,241.241 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:43:48,254.254 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:43:48,260.260 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:43:50,300.300 INFO    ] ================================================
[2026-10-20 14:43:50,315.315 INFO    ] Launching Daemon at Tue Oct 20 14:43:50 IST 2026
[2026-10-20 14:43:50,326.326 INFO    ] ================================================
[2026-10-20 14:43:50,917.917 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:43:50
[2026-10-20 14:43:51,526.526 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:43:51,803.803 INFO    ] Initializing speech engine...
[2026-10-20 14:43:51,810.810 INFO    ] 2026-10-20 14:43:51
[2026-10-20 14:43:52,109.109 INFO    ] 2026-10-20 14:43:52
[2026-10-20 14:43:52,219.219 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:43:52,437.437 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:43:52,480.480 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:43:52,664.664 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:43:52,695.695 INFO    ] time= 20/10/2026 14:43:52
[2026-10-20 14:43:52,704.704 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:43:52,713.713 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:43:52,856.856 INFO    ] No existing commands found in stream
[2026-10-20 14:43:57,887.887 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:43:57,890.890 INFO    ] Waiting 0.45 seconds before fallback handling...
[2026-10-20 14:43:58,926.926 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:43:58,929.929 INFO    ] Checking for system updates...
[2026-10-20 14:43:58,966.966 INFO    ] 200
[2026-10-20 14:43:58,969.969 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:43:59,023.023 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:43:59,026.026 INFO    ] No update needed
[2026-10-20 14:43:59,029.029 INFO    ] Checking for camera pi updates...
[2026-10-20 14:43:59,064.064 INFO    ] 200
[2026-10-20 14:43:59,066.066 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:43:59,107.107 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:43:59,154.154 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:43:59,156.156 INFO    ] No camera update needed
[2026-10-20 14:43:59,159.159 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:43:59,161.161 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:43:59,166.166 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:43:59,171.171 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:44:01,211.211 INFO    ] ================================================
[2026-10-20 14:44:01,225.225 INFO    ] Launching Daemon at Tue Oct 20 14:44:01 IST 2026
[2026-10-20 14:44:01,236.236 INFO    ] ================================================
[2026-10-20 14:44:01,900.900 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:44:01
[2026-10-20 14:44:02,589.589 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:44:02,891.891 INFO    ] Initializing speech engine...
[2026-10-20 14:44:02,898.898 INFO    ] 2026-10-20 14:44:02
[2026-10-20 14:44:03,246.246 INFO    ] 2026-10-20 14:44:03
[2026-10-20 14:44:03,325.325 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:44:03,574.574 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:44:03,584.584 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:44:03,815.815 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:44:03,867.867 INFO    ] time= 20/10/2026 14:44:03
[2026-10-20 14:44:03,874.874 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:44:03,893.893 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:44:04,029.029 INFO    ] No existing commands found in stream
[2026-10-20 14:44:09,052.052 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:44:09,054.054 INFO    ] Waiting 1.56 seconds before fallback handling...
[2026-10-20 14:44:11,180.180 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:44:11,183.183 INFO    ] Checking for system updates...
[2026-10-20 14:44:11,219.219 INFO    ] 200
[2026-10-20 14:44:11,222.222 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:44:11,277.277 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:44:11,280.280 INFO    ] No update needed
[2026-10-20 14:44:11,283.283 INFO    ] Checking for camera pi updates...
[2026-10-20 14:44:11,317.317 INFO    ] 200
[2026-10-20 14:44:11,319.319 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:44:11,360.360 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:44:11,416.416 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:44:11,419.419 INFO    ] No camera update needed
[2026-10-20 14:44:11,421.421 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:44:11,424.424 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:44:11,429.429 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:44:11,434.434 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:44:13,473.473 INFO    ] ================================================
[2026-10-20 14:44:13,488.488 INFO    ] Launching Daemon at Tue Oct 20 14:44:13 IST 2026
[2026-10-20 14:44:13,499.499 INFO    ] ================================================
[2026-10-20 14:44:14,063.063 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:44:14
[2026-10-20 14:44:14,644.644 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:44:14,901.901 INFO    ] Initializing speech engine...
[2026-10-20 14:44:14,917.917 INFO    ] 2026-10-20 14:44:14
[2026-10-20 14:44:15,172.172 INFO    ] 2026-10-20 14:44:15
[2026-10-20 14:44:15,207.207 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:44:15,463.463 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:44:15,472.472 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:44:15,609.609 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:44:15,648.648 INFO    ] time= 20/10/2026 14:44:15
[2026-10-20 14:44:15,687.687 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:44:15,731.731 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:44:15,877.877 INFO    ] No existing commands found in stream
[2026-10-20 14:44:20,900.900 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:44:20,902.902 INFO    ] Waiting 1.93 seconds before fallback handling...
[2026-10-20 14:44:23,340.340 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:44:23,342.342 INFO    ] Checking for system updates...
[2026-10-20 14:44:23,378.378 INFO    ] 200
[2026-10-20 14:44:23,380.380 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:44:23,433.433 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:44:23,435.435 INFO    ] No update needed
[2026-10-20 14:44:23,437.437 INFO    ] Checking for camera pi updates...
[2026-10-20 14:44:23,470.470 INFO    ] 200
[2026-10-20 14:44:23,472.472 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:44:23,513.513 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:44:23,560.560 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:44:23,562.562 INFO    ] No camera update needed
[2026-10-20 14:44:23,564.564 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:44:23,567.567 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:44:23,572.572 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:44:23,577.577 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:44:25,618.618 INFO    ] ================================================
[2026-10-20 14:44:25,633.633 INFO    ] Launching Daemon at Tue Oct 20 14:44:25 IST 2026
[2026-10-20 14:44:25,644.644 INFO    ] ================================================
[2026-10-20 14:44:26,296.296 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:44:26
[2026-10-20 14:44:26,966.966 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:44:27,267.267 INFO    ] Initializing speech engine...
[2026-10-20 14:44:27,277.277 INFO    ] 2026-10-20 14:44:27
[2026-10-20 14:44:27,565.565 INFO    ] 2026-10-20 14:44:27
[2026-10-20 14:44:27,611.611 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:44:27,899.899 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:44:27,908.908 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:44:28,106.106 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:44:28,117.117 INFO    ] time= 20/10/2026 14:44:28
[2026-10-20 14:44:28,139.139 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:44:28,165.165 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:44:28,309.309 INFO    ] No existing commands found in stream
[2026-10-20 14:44:33,331.331 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:44:33,357.357 INFO    ] Waiting 0.69 seconds before fallback handling...
[2026-10-20 14:44:34,575.575 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 14:44:34,577.577 INFO    ] Checking for system updates...
[2026-10-20 14:44:34,614.614 INFO    ] 200
[2026-10-20 14:44:34,616.616 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:44:34,671.671 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:44:34,674.674 INFO    ] No update needed
[2026-10-20 14:44:34,676.676 INFO    ] Checking for camera pi updates...
[2026-10-20 14:44:34,713.713 INFO    ] 200
[2026-10-20 14:44:34,716.716 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:44:34,756.756 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:44:34,799.799 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:44:34,802.802 INFO    ] No camera update needed
[2026-10-20 14:44:34,804.804 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:44:34,806.806 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:44:34,812.812 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:44:34,817.817 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:44:36,857.857 INFO    ] ================================================
[2026-10-20 14:44:36,872.872 INFO    ] Launching Daemon at Tue Oct 20 14:44:36 IST 2026
[2026-10-20 14:44:36,883.883 INFO    ] ================================================
[2026-10-20 14:44:37,465.465 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:44:37
[2026-10-20 14:44:38,068.068 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:44:38,334.334 INFO    ] Initializing speech engine...
[2026-10-20 14:44:38,351.351 INFO    ] 2026-10-20 14:44:38
[2026-10-20 14:44:38,618.618 INFO    ] 2026-10-20 14:44:38
[2026-10-20 14:44:38,653.653 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:44:38,907.907 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:44:38,917.917 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:44:39,142.142 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:44:39,176.176 INFO    ] time= 20/10/2026 14:44:39
[2026-10-20 14:44:39,182.182 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:44:39,200.200 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:44:39,333.333 INFO    ] No existing commands found in stream
[2026-10-20 14:44:44,351.351 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:44:44,354.354 INFO    ] Waiting 1.92 seconds before fallback handling...
[2026-10-20 14:44:46,878.878 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:44:46,881.881 INFO    ] Checking for system updates...
[2026-10-20 14:44:46,922.922 INFO    ] 200
[2026-10-20 14:44:46,925.925 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:44:46,981.981 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:44:46,984.984 INFO    ] No update needed
[2026-10-20 14:44:46,987.987 INFO    ] Checking for camera pi updates...
[2026-10-20 14:44:47,022.022 INFO    ] 200
[2026-10-20 14:44:47,024.024 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:44:47,066.066 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:44:47,115.115 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:44:47,118.118 INFO    ] No camera update needed
[2026-10-20 14:44:47,121.121 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:44:47,124.124 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:44:47,130.130 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:44:47,136.136 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:44:49,176.176 INFO    ] ================================================
[2026-10-20 14:44:49,191.191 INFO    ] Launching Daemon at Tue Oct 20 14:44:49 IST 2026
[2026-10-20 14:44:49,202.202 INFO    ] ================================================
[2026-10-20 14:44:49,863.863 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:44:49
[2026-10-20 14:44:50,545.545 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:44:50,859.859 INFO    ] Initializing speech engine...
[2026-10-20 14:44:50,865.865 INFO    ] 2026-10-20 14:44:50
[2026-10-20 14:44:51,170.170 INFO    ] 2026-10-20 14:44:51
[2026-10-20 14:44:51,253.253 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:44:51,483.483 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:44:51,489.489 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:44:51,686.686 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:44:51,693.693 INFO    ] time= 20/10/2026 14:44:51
[2026-10-20 14:44:51,715.715 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:44:51,743.743 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:44:51,871.871 INFO    ] No existing commands found in stream
[2026-10-20 14:44:56,902.902 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:44:56,905.905 INFO    ] Waiting 3.21 seconds before fallback handling...
[2026-10-20 14:45:00,716.716 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 14:45:00,720.720 INFO    ] Checking for system updates...
[2026-10-20 14:45:00,756.756 INFO    ] 200
[2026-10-20 14:45:00,759.759 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:45:00,813.813 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:45:00,816.816 INFO    ] No update needed
[2026-10-20 14:45:00,820.820 INFO    ] Checking for camera pi updates...
[2026-10-20 14:45:00,855.855 INFO    ] 200
[2026-10-20 14:45:00,858.858 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:45:00,899.899 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:45:00,947.947 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:45:00,950.950 INFO    ] No camera update needed
[2026-10-20 14:45:00,953.953 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:45:00,955.955 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:45:00,962.962 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:45:00,968.968 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:45:03,056.056 INFO    ] ================================================
[2026-10-20 14:45:03,073.073 INFO    ] Launching Daemon at Tue Oct 20 14:45:03 IST 2026
[2026-10-20 14:45:03,085.085 INFO    ] ================================================
[2026-10-20 14:45:03,740.740 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:45:03
[2026-10-20 14:45:04,379.379 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:45:04,651.651 INFO    ] Initializing speech engine...
[2026-10-20 14:45:04,661.661 INFO    ] 2026-10-20 14:45:04
[2026-10-20 14:45:04,906.906 INFO    ] 2026-10-20 14:45:04
[2026-10-20 14:45:04,940.940 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:45:05,196.196 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:45:05,201.201 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:45:05,404.404 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:45:05,454.454 INFO    ] time= 20/10/2026 14:45:05
[2026-10-20 14:45:05,464.464 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:45:05,482.482 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:45:05,637.637 INFO    ] No existing commands found in stream
[2026-10-20 14:45:10,662.662 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:45:10,665.665 INFO    ] Waiting 3.48 seconds before fallback handling...
[2026-10-20 14:45:14,633.633 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:45:14,635.635 INFO    ] Checking for system updates...
[2026-10-20 14:45:14,670.670 INFO    ] 200
[2026-10-20 14:45:14,673.673 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:45:14,724.724 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:45:14,727.727 INFO    ] No update needed
[2026-10-20 14:45:14,730.730 INFO    ] Checking for camera pi updates...
[2026-10-20 14:45:14,763.763 INFO    ] 200
[2026-10-20 14:45:14,765.765 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:45:14,805.805 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:45:14,864.864 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:45:14,867.867 INFO    ] No camera update needed
[2026-10-20 14:45:14,869.869 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:45:14,871.871 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:45:14,876.876 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:45:14,881.881 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:45:16,923.923 INFO    ] ================================================
[2026-10-20 14:45:16,938.938 INFO    ] Launching Daemon at Tue Oct 20 14:45:16 IST 2026
[2026-10-20 14:45:16,948.948 INFO    ] ================================================
[2026-10-20 14:45:17,513.513 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:45:17
[2026-10-20 14:45:18,097.097 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:45:18,350.350 INFO    ] Initializing speech engine...
[2026-10-20 14:45:18,359.359 INFO    ] 2026-10-20 14:45:18
[2026-10-20 14:45:18,643.643 INFO    ] 2026-10-20 14:45:18
[2026-10-20 14:45:18,679.679 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:45:18,934.934 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:45:18,939.939 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:45:19,141.141 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:45:19,190.190 INFO    ] time= 20/10/2026 14:45:19
[2026-10-20 14:45:19,201.201 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:45:19,220.220 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:45:19,350.350 INFO    ] No existing commands found in stream
[2026-10-20 14:45:24,374.374 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:45:24,376.376 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-10-20 14:45:28,352.352 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:45:28,355.355 INFO    ] Checking for system updates...
[2026-10-20 14:45:28,391.391 INFO    ] 200
[2026-10-20 14:45:28,393.393 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:45:28,445.445 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:45:28,448.448 INFO    ] No update needed
[2026-10-20 14:45:28,450.450 INFO    ] Checking for camera pi updates...
[2026-10-20 14:45:28,488.488 INFO    ] 200
[2026-10-20 14:45:28,491.491 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:45:28,532.532 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:45:28,570.570 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:45:28,573.573 INFO    ] No camera update needed
[2026-10-20 14:45:28,577.577 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:45:28,579.579 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:45:28,585.585 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:45:28,590.590 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:45:30,628.628 INFO    ] ================================================
[2026-10-20 14:45:30,643.643 INFO    ] Launching Daemon at Tue Oct 20 14:45:30 IST 2026
[2026-10-20 14:45:30,654.654 INFO    ] ================================================
[2026-10-20 14:45:31,242.242 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:45:31
[2026-10-20 14:45:31,843.843 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:45:32,104.104 INFO    ] Initializing speech engine...
[2026-10-20 14:45:32,130.130 INFO    ] 2026-10-20 14:45:32
[2026-10-20 14:45:32,395.395 INFO    ] 2026-10-20 14:45:32
[2026-10-20 14:45:32,442.442 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:45:32,631.631 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:45:32,648.648 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:45:32,800.800 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:45:32,807.807 INFO    ] time= 20/10/2026 14:45:32
[2026-10-20 14:45:32,862.862 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:45:32,878.878 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:45:33,008.008 INFO    ] No existing commands found in stream
[2026-10-20 14:45:38,021.021 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:45:38,024.024 INFO    ] Waiting 3.85 seconds before fallback handling...
[2026-10-20 14:45:42,394.394 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:45:42,396.396 INFO    ] Checking for system updates...
[2026-10-20 14:45:42,432.432 INFO    ] 200
[2026-10-20 14:45:42,434.434 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:45:42,488.488 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:45:42,490.490 INFO    ] No update needed
[2026-10-20 14:45:42,493.493 INFO    ] Checking for camera pi updates...
[2026-10-20 14:45:42,530.530 INFO    ] 200
[2026-10-20 14:45:42,532.532 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:45:42,573.573 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:45:42,622.622 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:45:42,624.624 INFO    ] No camera update needed
[2026-10-20 14:45:42,627.627 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:45:42,629.629 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:45:42,634.634 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:45:42,639.639 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:45:44,679.679 INFO    ] ================================================
[2026-10-20 14:45:44,694.694 INFO    ] Launching Daemon at Tue Oct 20 14:45:44 IST 2026
[2026-10-20 14:45:44,705.705 INFO    ] ================================================
[2026-10-20 14:45:45,280.280 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:45:45
[2026-10-20 14:45:45,863.863 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:45:46,132.132 INFO    ] Initializing speech engine...
[2026-10-20 14:45:46,141.141 INFO    ] 2026-10-20 14:45:46
[2026-10-20 14:45:46,385.385 INFO    ] 2026-10-20 14:45:46
[2026-10-20 14:45:46,420.420 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:45:46,675.675 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:45:46,679.679 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:45:46,890.890 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:45:46,937.937 INFO    ] time= 20/10/2026 14:45:46
[2026-10-20 14:45:46,943.943 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:45:46,960.960 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:45:47,092.092 INFO    ] No existing commands found in stream
[2026-10-20 14:45:52,114.114 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:45:52,117.117 INFO    ] Waiting 3.83 seconds before fallback handling...
[2026-10-20 14:45:56,500.500 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:45:56,502.502 INFO    ] Checking for system updates...
[2026-10-20 14:45:56,538.538 INFO    ] 200
[2026-10-20 14:45:56,540.540 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:45:56,593.593 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:45:56,595.595 INFO    ] No update needed
[2026-10-20 14:45:56,597.597 INFO    ] Checking for camera pi updates...
[2026-10-20 14:45:56,631.631 INFO    ] 200
[2026-10-20 14:45:56,633.633 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:45:56,672.672 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:45:56,725.725 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:45:56,728.728 INFO    ] No camera update needed
[2026-10-20 14:45:56,730.730 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:45:56,732.732 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:45:56,738.738 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:45:56,743.743 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:45:58,783.783 INFO    ] ================================================
[2026-10-20 14:45:58,799.799 INFO    ] Launching Daemon at Tue Oct 20 14:45:58 IST 2026
[2026-10-20 14:45:58,810.810 INFO    ] ================================================
[2026-10-20 14:45:59,379.379 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:45:59
[2026-10-20 14:45:59,965.965 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:46:00,237.237 INFO    ] Initializing speech engine...
[2026-10-20 14:46:00,247.247 INFO    ] 2026-10-20 14:46:00
[2026-10-20 14:46:00,497.497 INFO    ] 2026-10-20 14:46:00
[2026-10-20 14:46:00,533.533 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:46:00,772.772 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:46:00,799.799 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:46:00,988.988 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:46:01,043.043 INFO    ] time= 20/10/2026 14:46:00
[2026-10-20 14:46:01,078.078 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:46:01,085.085 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:46:01,238.238 INFO    ] No existing commands found in stream
[2026-10-20 14:46:06,298.298 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:46:06,301.301 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-10-20 14:46:10,040.040 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:46:10,042.042 INFO    ] Checking for system updates...
[2026-10-20 14:46:10,078.078 INFO    ] 200
[2026-10-20 14:46:10,080.080 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:46:10,142.142 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:46:10,144.144 INFO    ] No update needed
[2026-10-20 14:46:10,147.147 INFO    ] Checking for camera pi updates...
[2026-10-20 14:46:10,179.179 INFO    ] 200
[2026-10-20 14:46:10,182.182 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:46:10,230.230 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:46:10,276.276 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:46:10,278.278 INFO    ] No camera update needed
[2026-10-20 14:46:10,281.281 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:46:10,283.283 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:46:10,288.288 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:46:10,293.293 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:46:12,333.333 INFO    ] ================================================
[2026-10-20 14:46:12,348.348 INFO    ] Launching Daemon at Tue Oct 20 14:46:12 IST 2026
[2026-10-20 14:46:12,359.359 INFO    ] ================================================
[2026-10-20 14:46:12,929.929 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:46:12
[2026-10-20 14:46:13,512.512 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:46:13,781.781 INFO    ] Initializing speech engine...
[2026-10-20 14:46:13,791.791 INFO    ] 2026-10-20 14:46:13
[2026-10-20 14:46:14,055.055 INFO    ] 2026-10-20 14:46:14
[2026-10-20 14:46:14,109.109 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:46:14,355.355 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:46:14,362.362 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:46:14,570.570 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:46:14,596.596 INFO    ] time= 20/10/2026 14:46:14
[2026-10-20 14:46:14,613.613 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:46:14,622.622 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:46:14,751.751 INFO    ] No existing commands found in stream
[2026-10-20 14:46:19,762.762 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:46:19,765.765 INFO    ] Waiting 2.23 seconds before fallback handling...
[2026-10-20 14:46:22,527.527 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:46:22,529.529 INFO    ] Checking for system updates...
[2026-10-20 14:46:22,573.573 INFO    ] 200
[2026-10-20 14:46:22,576.576 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:46:22,636.636 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:46:22,638.638 INFO    ] No update needed
[2026-10-20 14:46:22,640.640 INFO    ] Checking for camera pi updates...
[2026-10-20 14:46:22,674.674 INFO    ] 200
[2026-10-20 14:46:22,676.676 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:46:22,718.718 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:46:22,775.775 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:46:22,777.777 INFO    ] No camera update needed
[2026-10-20 14:46:22,780.780 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:46:22,782.782 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:46:22,788.788 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:46:22,793.793 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:46:24,833.833 INFO    ] ================================================
[2026-10-20 14:46:24,848.848 INFO    ] Launching Daemon at Tue Oct 20 14:46:24 IST 2026
[2026-10-20 14:46:24,859.859 INFO    ] ================================================
[2026-10-20 14:46:25,423.423 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:46:25
[2026-10-20 14:46:26,006.006 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:46:26,274.274 INFO    ] Initializing speech engine...
[2026-10-20 14:46:26,283.283 INFO    ] 2026-10-20 14:46:26
[2026-10-20 14:46:26,533.533 INFO    ] 2026-10-20 14:46:26
[2026-10-20 14:46:26,568.568 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:46:26,810.810 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:46:26,819.819 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:46:27,034.034 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:46:27,076.076 INFO    ] time= 20/10/2026 14:46:27
[2026-10-20 14:46:27,082.082 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:46:27,100.100 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:46:27,228.228 INFO    ] No existing commands found in stream
[2026-10-20 14:46:32,242.242 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:46:32,245.245 INFO    ] Waiting 3.90 seconds before fallback handling...
[2026-10-20 14:46:37,945.945 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 14:46:37,947.947 INFO    ] Checking for system updates...
[2026-10-20 14:46:37,982.982 INFO    ] 200
[2026-10-20 14:46:37,985.985 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:46:38,036.036 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:46:38,039.039 INFO    ] No update needed
[2026-10-20 14:46:38,041.041 INFO    ] Checking for camera pi updates...
[2026-10-20 14:46:38,075.075 INFO    ] 200
[2026-10-20 14:46:38,077.077 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:46:38,121.121 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:46:38,287.287 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:46:38,290.290 INFO    ] No camera update needed
[2026-10-20 14:46:38,292.292 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:46:38,294.294 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:46:38,300.300 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:46:38,305.305 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:46:40,344.344 INFO    ] ================================================
[2026-10-20 14:46:40,359.359 INFO    ] Launching Daemon at Tue Oct 20 14:46:40 IST 2026
[2026-10-20 14:46:40,369.369 INFO    ] ================================================
[2026-10-20 14:46:40,983.983 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:46:40
[2026-10-20 14:46:41,600.600 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:46:41,903.903 INFO    ] Initializing speech engine...
[2026-10-20 14:46:41,912.912 INFO    ] 2026-10-20 14:46:41
[2026-10-20 14:46:42,187.187 INFO    ] 2026-10-20 14:46:42
[2026-10-20 14:46:42,242.242 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:46:42,496.496 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:46:42,502.502 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:46:42,734.734 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:46:42,742.742 INFO    ] time= 20/10/2026 14:46:42
[2026-10-20 14:46:42,763.763 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:46:42,791.791 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:46:42,927.927 INFO    ] No existing commands found in stream
[2026-10-20 14:46:47,963.963 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:46:47,966.966 INFO    ] Waiting 1.14 seconds before fallback handling...
[2026-10-20 14:46:49,626.626 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:46:49,629.629 INFO    ] Checking for system updates...
[2026-10-20 14:46:49,671.671 INFO    ] 200
[2026-10-20 14:46:49,675.675 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:46:49,728.728 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:46:49,731.731 INFO    ] No update needed
[2026-10-20 14:46:49,734.734 INFO    ] Checking for camera pi updates...
[2026-10-20 14:46:49,768.768 INFO    ] 200
[2026-10-20 14:46:49,771.771 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:46:49,817.817 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:46:49,872.872 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:46:49,875.875 INFO    ] No camera update needed
[2026-10-20 14:46:49,877.877 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:46:49,880.880 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:46:49,889.889 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:46:49,895.895 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:46:51,936.936 INFO    ] ================================================
[2026-10-20 14:46:51,951.951 INFO    ] Launching Daemon at Tue Oct 20 14:46:51 IST 2026
[2026-10-20 14:46:51,962.962 INFO    ] ================================================
[2026-10-20 14:46:52,576.576 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:46:52
[2026-10-20 14:46:53,160.160 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:46:53,431.431 INFO    ] Initializing speech engine...
[2026-10-20 14:46:53,440.440 INFO    ] 2026-10-20 14:46:53
[2026-10-20 14:46:53,692.692 INFO    ] 2026-10-20 14:46:53
[2026-10-20 14:46:53,726.726 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:46:53,984.984 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:46:53,994.994 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:46:54,131.131 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:46:54,189.189 INFO    ] time= 20/10/2026 14:46:54
[2026-10-20 14:46:54,243.243 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:46:54,268.268 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:46:54,408.408 INFO    ] No existing commands found in stream
[2026-10-20 14:46:59,428.428 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:46:59,431.431 INFO    ] Waiting 3.15 seconds before fallback handling...
[2026-10-20 14:47:03,148.148 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:47:03,151.151 INFO    ] Checking for system updates...
[2026-10-20 14:47:03,196.196 INFO    ] 200
[2026-10-20 14:47:03,199.199 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:47:03,256.256 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:47:03,258.258 INFO    ] No update needed
[2026-10-20 14:47:03,261.261 INFO    ] Checking for camera pi updates...
[2026-10-20 14:47:03,294.294 INFO    ] 200
[2026-10-20 14:47:03,296.296 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:47:03,336.336 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:47:03,397.397 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:47:03,400.400 INFO    ] No camera update needed
[2026-10-20 14:47:03,402.402 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:47:03,404.404 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:47:03,409.409 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:47:03,414.414 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:47:05,453.453 INFO    ] ================================================
[2026-10-20 14:47:05,469.469 INFO    ] Launching Daemon at Tue Oct 20 14:47:05 IST 2026
[2026-10-20 14:47:05,480.480 INFO    ] ================================================
[2026-10-20 14:47:06,057.057 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:47:06
[2026-10-20 14:47:06,640.640 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:47:06,910.910 INFO    ] Initializing speech engine...
[2026-10-20 14:47:06,919.919 INFO    ] 2026-10-20 14:47:06
[2026-10-20 14:47:07,165.165 INFO    ] 2026-10-20 14:47:07
[2026-10-20 14:47:07,206.206 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:47:07,456.456 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:47:07,461.461 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:47:07,701.701 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:47:07,718.718 INFO    ] time= 20/10/2026 14:47:07
[2026-10-20 14:47:07,734.734 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:47:07,743.743 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:47:07,870.870 INFO    ] No existing commands found in stream
[2026-10-20 14:47:12,883.883 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:47:12,886.886 INFO    ] Waiting 3.20 seconds before fallback handling...
[2026-10-20 14:47:18,275.275 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:47:18,277.277 INFO    ] Checking for system updates...
[2026-10-20 14:47:18,317.317 INFO    ] 200
[2026-10-20 14:47:18,320.320 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:47:18,372.372 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:47:18,375.375 INFO    ] No update needed
[2026-10-20 14:47:18,377.377 INFO    ] Checking for camera pi updates...
[2026-10-20 14:47:18,415.415 INFO    ] 200
[2026-10-20 14:47:18,417.417 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:47:18,462.462 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:47:18,513.513 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:47:18,515.515 INFO    ] No camera update needed
[2026-10-20 14:47:18,517.517 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:47:18,520.520 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:47:18,525.525 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:47:18,530.530 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:47:20,571.571 INFO    ] ================================================
[2026-10-20 14:47:20,586.586 INFO    ] Launching Daemon at Tue Oct 20 14:47:20 IST 2026
[2026-10-20 14:47:20,597.597 INFO    ] ================================================
[2026-10-20 14:47:21,162.162 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:47:21
[2026-10-20 14:47:21,745.745 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:47:22,014.014 INFO    ] Initializing speech engine...
[2026-10-20 14:47:22,023.023 INFO    ] 2026-10-20 14:47:22
[2026-10-20 14:47:22,271.271 INFO    ] 2026-10-20 14:47:22
[2026-10-20 14:47:22,306.306 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:47:22,525.525 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:47:22,533.533 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:47:22,681.681 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:47:22,686.686 INFO    ] time= 20/10/2026 14:47:22
[2026-10-20 14:47:22,693.693 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:47:22,706.706 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:47:22,850.850 INFO    ] No existing commands found in stream
[2026-10-20 14:47:27,870.870 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:47:27,873.873 INFO    ] Waiting 1.14 seconds before fallback handling...
[2026-10-20 14:47:29,527.527 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:47:29,530.530 INFO    ] Checking for system updates...
[2026-10-20 14:47:29,566.566 INFO    ] 200
[2026-10-20 14:47:29,569.569 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:47:29,625.625 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:47:29,627.627 INFO    ] No update needed
[2026-10-20 14:47:29,630.630 INFO    ] Checking for camera pi updates...
[2026-10-20 14:47:29,667.667 INFO    ] 200
[2026-10-20 14:47:29,671.671 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:47:29,716.716 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:47:29,767.767 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:47:29,770.770 INFO    ] No camera update needed
[2026-10-20 14:47:29,772.772 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:47:29,775.775 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:47:29,780.780 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:47:29,785.785 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:47:31,825.825 INFO    ] ================================================
[2026-10-20 14:47:31,841.841 INFO    ] Launching Daemon at Tue Oct 20 14:47:31 IST 2026
[2026-10-20 14:47:31,853.853 INFO    ] ================================================
[2026-10-20 14:47:32,451.451 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:47:32
[2026-10-20 14:47:33,061.061 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:47:33,330.330 INFO    ] Initializing speech engine...
[2026-10-20 14:47:33,339.339 INFO    ] 2026-10-20 14:47:33
[2026-10-20 14:47:33,584.584 INFO    ] 2026-10-20 14:47:33
[2026-10-20 14:47:33,626.626 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:47:33,853.853 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:47:33,880.880 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:47:34,016.016 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:47:34,075.075 INFO    ] time= 20/10/2026 14:47:34
[2026-10-20 14:47:34,130.130 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:47:34,146.146 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:47:34,291.291 INFO    ] No existing commands found in stream
[2026-10-20 14:47:39,311.311 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:47:39,314.314 INFO    ] Waiting 0.98 seconds before fallback handling...
[2026-10-20 14:47:40,795.795 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:47:40,798.798 INFO    ] Checking for system updates...
[2026-10-20 14:47:40,835.835 INFO    ] 200
[2026-10-20 14:47:40,837.837 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:47:40,896.896 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:47:40,898.898 INFO    ] No update needed
[2026-10-20 14:47:40,901.901 INFO    ] Checking for camera pi updates...
[2026-10-20 14:47:40,937.937 INFO    ] 200
[2026-10-20 14:47:40,940.940 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:47:40,984.984 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:47:41,041.041 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:47:41,044.044 INFO    ] No camera update needed
[2026-10-20 14:47:41,046.046 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:47:41,048.048 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:47:41,054.054 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:47:41,059.059 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:47:43,098.098 INFO    ] ================================================
[2026-10-20 14:47:43,114.114 INFO    ] Launching Daemon at Tue Oct 20 14:47:43 IST 2026
[2026-10-20 14:47:43,125.125 INFO    ] ================================================
[2026-10-20 14:47:43,691.691 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:47:43
[2026-10-20 14:47:44,275.275 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:47:44,535.535 INFO    ] Initializing speech engine...
[2026-10-20 14:47:44,548.548 INFO    ] 2026-10-20 14:47:44
[2026-10-20 14:47:44,830.830 INFO    ] 2026-10-20 14:47:44
[2026-10-20 14:47:44,868.868 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:47:45,061.061 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:47:45,078.078 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:47:45,245.245 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:47:45,252.252 INFO    ] time= 20/10/2026 14:47:45
[2026-10-20 14:47:45,299.299 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:47:45,323.323 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:47:45,451.451 INFO    ] No existing commands found in stream
[2026-10-20 14:47:50,463.463 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:47:50,466.466 INFO    ] Waiting 0.97 seconds before fallback handling...
[2026-10-20 14:47:51,922.922 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 14:47:51,924.924 INFO    ] Checking for system updates...
[2026-10-20 14:47:51,963.963 INFO    ] 200
[2026-10-20 14:47:51,965.965 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:47:52,023.023 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:47:52,025.025 INFO    ] No update needed
[2026-10-20 14:47:52,028.028 INFO    ] Checking for camera pi updates...
[2026-10-20 14:47:52,064.064 INFO    ] 200
[2026-10-20 14:47:52,066.066 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:47:52,106.106 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:47:52,155.155 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:47:52,157.157 INFO    ] No camera update needed
[2026-10-20 14:47:52,160.160 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:47:52,162.162 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:47:52,167.167 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:47:52,172.172 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:47:54,211.211 INFO    ] ================================================
[2026-10-20 14:47:54,226.226 INFO    ] Launching Daemon at Tue Oct 20 14:47:54 IST 2026
[2026-10-20 14:47:54,237.237 INFO    ] ================================================
[2026-10-20 14:47:54,827.827 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:47:54
[2026-10-20 14:47:55,415.415 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:47:55,687.687 INFO    ] Initializing speech engine...
[2026-10-20 14:47:55,693.693 INFO    ] 2026-10-20 14:47:55
[2026-10-20 14:47:55,939.939 INFO    ] 2026-10-20 14:47:55
[2026-10-20 14:47:55,974.974 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:47:56,230.230 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:47:56,235.235 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:47:56,415.415 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:47:56,485.485 INFO    ] time= 20/10/2026 14:47:56
[2026-10-20 14:47:56,500.500 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:47:56,517.517 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:47:56,652.652 INFO    ] No existing commands found in stream
[2026-10-20 14:48:01,676.676 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:48:01,680.680 INFO    ] Waiting 1.55 seconds before fallback handling...
[2026-10-20 14:48:03,723.723 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 14:48:03,726.726 INFO    ] Checking for system updates...
[2026-10-20 14:48:03,762.762 INFO    ] 200
[2026-10-20 14:48:03,764.764 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:48:03,817.817 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:48:03,819.819 INFO    ] No update needed
[2026-10-20 14:48:03,822.822 INFO    ] Checking for camera pi updates...
[2026-10-20 14:48:03,858.858 INFO    ] 200
[2026-10-20 14:48:03,860.860 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:48:03,901.901 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:48:03,952.952 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:48:03,954.954 INFO    ] No camera update needed
[2026-10-20 14:48:03,957.957 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:48:03,959.959 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:48:03,965.965 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:48:03,970.970 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:48:06,010.010 INFO    ] ================================================
[2026-10-20 14:48:06,026.026 INFO    ] Launching Daemon at Tue Oct 20 14:48:06 IST 2026
[2026-10-20 14:48:06,037.037 INFO    ] ================================================
[2026-10-20 14:48:06,603.603 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:48:06
[2026-10-20 14:48:07,187.187 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:48:07,456.456 INFO    ] Initializing speech engine...
[2026-10-20 14:48:07,465.465 INFO    ] 2026-10-20 14:48:07
[2026-10-20 14:48:07,710.710 INFO    ] 2026-10-20 14:48:07
[2026-10-20 14:48:07,752.752 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:48:08,003.003 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:48:08,008.008 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:48:08,241.241 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:48:08,265.265 INFO    ] time= 20/10/2026 14:48:08
[2026-10-20 14:48:08,271.271 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:48:08,288.288 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:48:08,418.418 INFO    ] No existing commands found in stream
[2026-10-20 14:48:13,431.431 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:48:13,434.434 INFO    ] Waiting 2.40 seconds before fallback handling...
[2026-10-20 14:48:16,324.324 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:48:16,327.327 INFO    ] Checking for system updates...
[2026-10-20 14:48:16,365.365 INFO    ] 200
[2026-10-20 14:48:16,368.368 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:48:16,425.425 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:48:16,427.427 INFO    ] No update needed
[2026-10-20 14:48:16,430.430 INFO    ] Checking for camera pi updates...
[2026-10-20 14:48:16,466.466 INFO    ] 200
[2026-10-20 14:48:16,469.469 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:48:16,514.514 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:48:16,563.563 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:48:16,566.566 INFO    ] No camera update needed
[2026-10-20 14:48:16,568.568 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:48:16,570.570 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:48:16,575.575 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:48:16,580.580 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:48:18,621.621 INFO    ] ================================================
[2026-10-20 14:48:18,636.636 INFO    ] Launching Daemon at Tue Oct 20 14:48:18 IST 2026
[2026-10-20 14:48:18,647.647 INFO    ] ================================================
[2026-10-20 14:48:19,215.215 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:48:19
[2026-10-20 14:48:19,805.805 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:48:20,077.077 INFO    ] Initializing speech engine...
[2026-10-20 14:48:20,086.086 INFO    ] 2026-10-20 14:48:20
[2026-10-20 14:48:20,335.335 INFO    ] 2026-10-20 14:48:20
[2026-10-20 14:48:20,370.370 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:48:20,639.639 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:48:20,644.644 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:48:20,868.868 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:48:20,910.910 INFO    ] time= 20/10/2026 14:48:20
[2026-10-20 14:48:20,916.916 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:48:20,933.933 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:48:21,067.067 INFO    ] No existing commands found in stream
[2026-10-20 14:48:26,081.081 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:48:26,083.083 INFO    ] Waiting 1.71 seconds before fallback handling...
[2026-10-20 14:48:28,333.333 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:48:28,336.336 INFO    ] Checking for system updates...
[2026-10-20 14:48:28,376.376 INFO    ] 200
[2026-10-20 14:48:28,379.379 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:48:28,439.439 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:48:28,442.442 INFO    ] No update needed
[2026-10-20 14:48:28,445.445 INFO    ] Checking for camera pi updates...
[2026-10-20 14:48:28,483.483 INFO    ] 200
[2026-10-20 14:48:28,486.486 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:48:28,527.527 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:48:28,577.577 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:48:28,580.580 INFO    ] No camera update needed
[2026-10-20 14:48:28,583.583 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:48:28,586.586 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:48:28,592.592 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:48:28,598.598 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:48:30,638.638 INFO    ] ================================================
[2026-10-20 14:48:30,653.653 INFO    ] Launching Daemon at Tue Oct 20 14:48:30 IST 2026
[2026-10-20 14:48:30,664.664 INFO    ] ================================================
[2026-10-20 14:48:31,233.233 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:48:31
[2026-10-20 14:48:31,944.944 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:48:32,243.243 INFO    ] Initializing speech engine...
[2026-10-20 14:48:32,267.267 INFO    ] 2026-10-20 14:48:32
[2026-10-20 14:48:32,612.612 INFO    ] 2026-10-20 14:48:32
[2026-10-20 14:48:32,699.699 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:48:32,902.902 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:48:32,922.922 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:48:33,128.128 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:48:33,135.135 INFO    ] time= 20/10/2026 14:48:33
[2026-10-20 14:48:33,157.157 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:48:33,187.187 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:48:33,303.303 INFO    ] No existing commands found in stream
[2026-10-20 14:48:38,334.334 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:48:38,337.337 INFO    ] Waiting 2.04 seconds before fallback handling...
[2026-10-20 14:48:40,895.895 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:48:40,898.898 INFO    ] Checking for system updates...
[2026-10-20 14:48:40,935.935 INFO    ] 200
[2026-10-20 14:48:40,938.938 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:48:40,999.999 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:48:41,003.003 INFO    ] No update needed
[2026-10-20 14:48:41,006.006 INFO    ] Checking for camera pi updates...
[2026-10-20 14:48:41,040.040 INFO    ] 200
[2026-10-20 14:48:41,043.043 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:48:41,085.085 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:48:41,232.232 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:48:41,235.235 INFO    ] No camera update needed
[2026-10-20 14:48:41,237.237 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:48:41,240.240 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:48:41,247.247 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:48:41,252.252 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:48:43,294.294 INFO    ] ================================================
[2026-10-20 14:48:43,310.310 INFO    ] Launching Daemon at Tue Oct 20 14:48:43 IST 2026
[2026-10-20 14:48:43,321.321 INFO    ] ================================================
[2026-10-20 14:48:43,896.896 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:48:43
[2026-10-20 14:48:44,484.484 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:48:44,742.742 INFO    ] Initializing speech engine...
[2026-10-20 14:48:44,768.768 INFO    ] 2026-10-20 14:48:44
[2026-10-20 14:48:45,039.039 INFO    ] 2026-10-20 14:48:45
[2026-10-20 14:48:45,078.078 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:48:45,304.304 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:48:45,370.370 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:48:45,528.528 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:48:45,550.550 INFO    ] time= 20/10/2026 14:48:45
[2026-10-20 14:48:45,604.604 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:48:45,654.654 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:48:45,802.802 INFO    ] No existing commands found in stream
[2026-10-20 14:48:50,824.824 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:48:50,826.826 INFO    ] Waiting 2.76 seconds before fallback handling...
[2026-10-20 14:48:54,092.092 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 14:48:54,095.095 INFO    ] Checking for system updates...
[2026-10-20 14:48:54,135.135 INFO    ] 200
[2026-10-20 14:48:54,138.138 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:48:54,198.198 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:48:54,201.201 INFO    ] No update needed
[2026-10-20 14:48:54,204.204 INFO    ] Checking for camera pi updates...
[2026-10-20 14:48:54,242.242 INFO    ] 200
[2026-10-20 14:48:54,245.245 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:48:54,290.290 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:48:54,339.339 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:48:54,342.342 INFO    ] No camera update needed
[2026-10-20 14:48:54,344.344 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:48:54,346.346 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:48:54,352.352 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:48:54,357.357 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:48:56,396.396 INFO    ] ================================================
[2026-10-20 14:48:56,412.412 INFO    ] Launching Daemon at Tue Oct 20 14:48:56 IST 2026
[2026-10-20 14:48:56,423.423 INFO    ] ================================================
[2026-10-20 14:48:56,999.999 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:48:56
[2026-10-20 14:48:57,592.592 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:48:57,843.843 INFO    ] Initializing speech engine...
[2026-10-20 14:48:57,850.850 INFO    ] 2026-10-20 14:48:57
[2026-10-20 14:48:58,124.124 INFO    ] 2026-10-20 14:48:58
[2026-10-20 14:48:58,161.161 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:48:58,419.419 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:48:58,428.428 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:48:58,647.647 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:48:58,694.694 INFO    ] time= 20/10/2026 14:48:58
[2026-10-20 14:48:58,700.700 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:48:58,718.718 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:48:58,831.831 INFO    ] No existing commands found in stream
[2026-10-20 14:49:03,861.861 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:49:03,864.864 INFO    ] Waiting 3.61 seconds before fallback handling...
[2026-10-20 14:49:08,002.002 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:49:08,004.004 INFO    ] Checking for system updates...
[2026-10-20 14:49:08,039.039 INFO    ] 200
[2026-10-20 14:49:08,042.042 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:49:08,093.093 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:49:08,096.096 INFO    ] No update needed
[2026-10-20 14:49:08,098.098 INFO    ] Checking for camera pi updates...
[2026-10-20 14:49:08,132.132 INFO    ] 200
[2026-10-20 14:49:08,134.134 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:49:08,175.175 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:49:08,220.220 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:49:08,223.223 INFO    ] No camera update needed
[2026-10-20 14:49:08,226.226 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:49:08,229.229 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:49:08,234.234 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:49:08,239.239 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:49:10,280.280 INFO    ] ================================================
[2026-10-20 14:49:10,295.295 INFO    ] Launching Daemon at Tue Oct 20 14:49:10 IST 2026
[2026-10-20 14:49:10,306.306 INFO    ] ================================================
[2026-10-20 14:49:10,883.883 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:49:10
[2026-10-20 14:49:11,484.484 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:49:11,761.761 INFO    ] Initializing speech engine...
[2026-10-20 14:49:11,769.769 INFO    ] 2026-10-20 14:49:11
[2026-10-20 14:49:12,043.043 INFO    ] 2026-10-20 14:49:12
[2026-10-20 14:49:12,087.087 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:49:12,368.368 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:49:12,376.376 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:49:12,572.572 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:49:12,578.578 INFO    ] time= 20/10/2026 14:49:12
[2026-10-20 14:49:12,599.599 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:49:12,625.625 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:49:12,746.746 INFO    ] No existing commands found in stream
[2026-10-20 14:49:17,776.776 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:49:17,779.779 INFO    ] Waiting 1.66 seconds before fallback handling...
[2026-10-20 14:49:19,953.953 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:49:19,955.955 INFO    ] Checking for system updates...
[2026-10-20 14:49:19,991.991 INFO    ] 200
[2026-10-20 14:49:19,993.993 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:49:20,046.046 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:49:20,048.048 INFO    ] No update needed
[2026-10-20 14:49:20,051.051 INFO    ] Checking for camera pi updates...
[2026-10-20 14:49:20,085.085 INFO    ] 200
[2026-10-20 14:49:20,088.088 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:49:20,133.133 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:49:20,182.182 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:49:20,185.185 INFO    ] No camera update needed
[2026-10-20 14:49:20,187.187 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:49:20,190.190 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:49:20,195.195 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:49:20,200.200 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:49:22,242.242 INFO    ] ================================================
[2026-10-20 14:49:22,257.257 INFO    ] Launching Daemon at Tue Oct 20 14:49:22 IST 2026
[2026-10-20 14:49:22,269.269 INFO    ] ================================================
[2026-10-20 14:49:22,844.844 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:49:22
[2026-10-20 14:49:23,445.445 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:49:23,719.719 INFO    ] Initializing speech engine...
[2026-10-20 14:49:23,728.728 INFO    ] 2026-10-20 14:49:23
[2026-10-20 14:49:23,978.978 INFO    ] 2026-10-20 14:49:23
[2026-10-20 14:49:24,015.015 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:49:24,263.263 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:49:24,266.266 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:49:24,484.484 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:49:24,536.536 INFO    ] time= 20/10/2026 14:49:24
[2026-10-20 14:49:24,543.543 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:49:24,561.561 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:49:24,692.692 INFO    ] No existing commands found in stream
[2026-10-20 14:49:29,706.706 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:49:29,709.709 INFO    ] Waiting 0.79 seconds before fallback handling...
[2026-10-20 14:49:31,068.068 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 14:49:31,071.071 INFO    ] Checking for system updates...
[2026-10-20 14:49:31,114.114 INFO    ] 200
[2026-10-20 14:49:31,117.117 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:49:31,172.172 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:49:31,174.174 INFO    ] No update needed
[2026-10-20 14:49:31,177.177 INFO    ] Checking for camera pi updates...
[2026-10-20 14:49:31,213.213 INFO    ] 200
[2026-10-20 14:49:31,216.216 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:49:31,255.255 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:49:31,287.287 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:49:31,290.290 INFO    ] No camera update needed
[2026-10-20 14:49:31,293.293 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:49:31,296.296 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:49:31,302.302 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:49:31,309.309 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:49:33,350.350 INFO    ] ================================================
[2026-10-20 14:49:33,366.366 INFO    ] Launching Daemon at Tue Oct 20 14:49:33 IST 2026
[2026-10-20 14:49:33,377.377 INFO    ] ================================================
[2026-10-20 14:49:33,959.959 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:49:33
[2026-10-20 14:49:34,556.556 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:49:34,832.832 INFO    ] Initializing speech engine...
[2026-10-20 14:49:34,843.843 INFO    ] 2026-10-20 14:49:34
[2026-10-20 14:49:35,123.123 INFO    ] 2026-10-20 14:49:35
[2026-10-20 14:49:35,160.160 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:49:35,374.374 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:49:35,434.434 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:49:35,596.596 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:49:35,618.618 INFO    ] time= 20/10/2026 14:49:35
[2026-10-20 14:49:35,667.667 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:49:35,722.722 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:49:35,873.873 INFO    ] No existing commands found in stream
[2026-10-20 14:49:40,896.896 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:49:40,898.898 INFO    ] Waiting 3.68 seconds before fallback handling...
[2026-10-20 14:49:45,080.080 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:49:45,083.083 INFO    ] Checking for system updates...
[2026-10-20 14:49:45,120.120 INFO    ] 200
[2026-10-20 14:49:45,122.122 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:49:45,175.175 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:49:45,177.177 INFO    ] No update needed
[2026-10-20 14:49:45,180.180 INFO    ] Checking for camera pi updates...
[2026-10-20 14:49:45,214.214 INFO    ] 200
[2026-10-20 14:49:45,216.216 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:49:45,261.261 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:49:45,308.308 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:49:45,311.311 INFO    ] No camera update needed
[2026-10-20 14:49:45,313.313 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:49:45,315.315 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:49:45,321.321 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:49:45,326.326 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:49:47,365.365 INFO    ] ================================================
[2026-10-20 14:49:47,381.381 INFO    ] Launching Daemon at Tue Oct 20 14:49:47 IST 2026
[2026-10-20 14:49:47,392.392 INFO    ] ================================================
[2026-10-20 14:49:48,017.017 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:49:48
[2026-10-20 14:49:48,599.599 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:49:48,870.870 INFO    ] Initializing speech engine...
[2026-10-20 14:49:48,879.879 INFO    ] 2026-10-20 14:49:48
[2026-10-20 14:49:49,128.128 INFO    ] 2026-10-20 14:49:49
[2026-10-20 14:49:49,163.163 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:49:49,421.421 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:49:49,431.431 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:49:49,634.634 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:49:49,684.684 INFO    ] time= 20/10/2026 14:49:49
[2026-10-20 14:49:49,699.699 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:49:49,705.705 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:49:49,855.855 INFO    ] No existing commands found in stream
[2026-10-20 14:49:54,878.878 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:49:54,881.881 INFO    ] Waiting 2.36 seconds before fallback handling...
[2026-10-20 14:49:57,761.761 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:49:57,763.763 INFO    ] Checking for system updates...
[2026-10-20 14:49:57,798.798 INFO    ] 200
[2026-10-20 14:49:57,801.801 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:49:57,852.852 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:49:57,854.854 INFO    ] No update needed
[2026-10-20 14:49:57,857.857 INFO    ] Checking for camera pi updates...
[2026-10-20 14:49:57,893.893 INFO    ] 200
[2026-10-20 14:49:57,895.895 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:49:57,936.936 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:49:57,985.985 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:49:57,987.987 INFO    ] No camera update needed
[2026-10-20 14:49:57,990.990 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:49:57,992.992 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:49:57,997.997 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:49:58,002.002 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:50:00,045.045 INFO    ] ================================================
[2026-10-20 14:50:00,060.060 INFO    ] Launching Daemon at Tue Oct 20 14:50:00 IST 2026
[2026-10-20 14:50:00,072.072 INFO    ] ================================================
[2026-10-20 14:50:00,677.677 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:50:00
[2026-10-20 14:50:01,473.473 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:50:01,993.993 INFO    ] Initializing speech engine...
[2026-10-20 14:50:01,997.997 INFO    ] 2026-10-20 14:50:01
[2026-10-20 14:50:02,320.320 INFO    ] 2026-10-20 14:50:02
[2026-10-20 14:50:02,360.360 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:50:02,559.559 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:50:02,562.562 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:50:02,712.712 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:50:02,715.715 INFO    ] time= 20/10/2026 14:50:02
[2026-10-20 14:50:02,719.719 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:50:02,722.722 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:50:02,811.811 INFO    ] No existing commands found in stream
[2026-10-20 14:50:07,821.821 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:50:07,823.823 INFO    ] Waiting 2.93 seconds before fallback handling...
[2026-10-20 14:50:11,293.293 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:50:11,296.296 INFO    ] Checking for system updates...
[2026-10-20 14:50:11,331.331 INFO    ] 200
[2026-10-20 14:50:11,334.334 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:50:11,385.385 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:50:11,388.388 INFO    ] No update needed
[2026-10-20 14:50:11,390.390 INFO    ] Checking for camera pi updates...
[2026-10-20 14:50:11,424.424 INFO    ] 200
[2026-10-20 14:50:11,426.426 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:50:11,470.470 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:50:11,526.526 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:50:11,529.529 INFO    ] No camera update needed
[2026-10-20 14:50:11,531.531 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:50:11,533.533 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:50:11,539.539 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:50:11,544.544 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:50:13,583.583 INFO    ] ================================================
[2026-10-20 14:50:13,603.603 INFO    ] Launching Daemon at Tue Oct 20 14:50:13 IST 2026
[2026-10-20 14:50:13,613.613 INFO    ] ================================================
[2026-10-20 14:50:14,254.254 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:50:14
[2026-10-20 14:50:14,902.902 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:50:15,214.214 INFO    ] Initializing speech engine...
[2026-10-20 14:50:15,222.222 INFO    ] 2026-10-20 14:50:15
[2026-10-20 14:50:15,496.496 INFO    ] 2026-10-20 14:50:15
[2026-10-20 14:50:15,605.605 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:50:15,815.815 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:50:15,824.824 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:50:16,009.009 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:50:16,026.026 INFO    ] time= 20/10/2026 14:50:16
[2026-10-20 14:50:16,045.045 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:50:16,062.062 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:50:16,180.180 INFO    ] No existing commands found in stream
[2026-10-20 14:50:21,201.201 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:50:21,204.204 INFO    ] Waiting 1.05 seconds before fallback handling...
[2026-10-20 14:50:22,790.790 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:50:22,793.793 INFO    ] Checking for system updates...
[2026-10-20 14:50:22,834.834 INFO    ] 200
[2026-10-20 14:50:22,836.836 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:50:22,894.894 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:50:22,896.896 INFO    ] No update needed
[2026-10-20 14:50:22,899.899 INFO    ] Checking for camera pi updates...
[2026-10-20 14:50:22,932.932 INFO    ] 200
[2026-10-20 14:50:22,934.934 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:50:22,978.978 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:50:23,023.023 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:50:23,025.025 INFO    ] No camera update needed
[2026-10-20 14:50:23,027.027 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:50:23,030.030 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:50:23,035.035 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:50:23,040.040 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:50:25,079.079 INFO    ] ================================================
[2026-10-20 14:50:25,094.094 INFO    ] Launching Daemon at Tue Oct 20 14:50:25 IST 2026
[2026-10-20 14:50:25,105.105 INFO    ] ================================================
[2026-10-20 14:50:25,726.726 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:50:25
[2026-10-20 14:50:26,306.306 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:50:26,577.577 INFO    ] Initializing speech engine...
[2026-10-20 14:50:26,587.587 INFO    ] 2026-10-20 14:50:26
[2026-10-20 14:50:26,837.837 INFO    ] 2026-10-20 14:50:26
[2026-10-20 14:50:26,872.872 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:50:27,133.133 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:50:27,138.138 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:50:27,339.339 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:50:27,394.394 INFO    ] time= 20/10/2026 14:50:27
[2026-10-20 14:50:27,409.409 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:50:27,427.427 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:50:27,559.559 INFO    ] No existing commands found in stream
[2026-10-20 14:50:32,571.571 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:50:32,574.574 INFO    ] Waiting 3.00 seconds before fallback handling...
[2026-10-20 14:50:36,103.103 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 14:50:36,106.106 INFO    ] Checking for system updates...
[2026-10-20 14:50:36,141.141 INFO    ] 200
[2026-10-20 14:50:36,143.143 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:50:36,205.205 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:50:36,208.208 INFO    ] No update needed
[2026-10-20 14:50:36,210.210 INFO    ] Checking for camera pi updates...
[2026-10-20 14:50:36,247.247 INFO    ] 200
[2026-10-20 14:50:36,250.250 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:50:36,294.294 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:50:36,344.344 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:50:36,346.346 INFO    ] No camera update needed
[2026-10-20 14:50:36,349.349 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:50:36,351.351 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:50:36,356.356 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:50:36,361.361 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:50:38,400.400 INFO    ] ================================================
[2026-10-20 14:50:38,415.415 INFO    ] Launching Daemon at Tue Oct 20 14:50:38 IST 2026
[2026-10-20 14:50:38,426.426 INFO    ] ================================================
[2026-10-20 14:50:38,991.991 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:50:38
[2026-10-20 14:50:39,574.574 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:50:39,844.844 INFO    ] Initializing speech engine...
[2026-10-20 14:50:39,853.853 INFO    ] 2026-10-20 14:50:39
[2026-10-20 14:50:40,124.124 INFO    ] 2026-10-20 14:50:40
[2026-10-20 14:50:40,161.161 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:50:40,392.392 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:50:40,441.441 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:50:40,610.610 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:50:40,664.664 INFO    ] time= 20/10/2026 14:50:40
[2026-10-20 14:50:40,703.703 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:50:40,746.746 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:50:40,909.909 INFO    ] No existing commands found in stream
[2026-10-20 14:50:45,924.924 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:50:45,926.926 INFO    ] Waiting 0.59 seconds before fallback handling...
[2026-10-20 14:50:47,013.013 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 14:50:47,015.015 INFO    ] Checking for system updates...
[2026-10-20 14:50:47,051.051 INFO    ] 200
[2026-10-20 14:50:47,053.053 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:50:47,111.111 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:50:47,113.113 INFO    ] No update needed
[2026-10-20 14:50:47,115.115 INFO    ] Checking for camera pi updates...
[2026-10-20 14:50:47,148.148 INFO    ] 200
[2026-10-20 14:50:47,151.151 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:50:47,195.195 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:50:47,338.338 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:50:47,340.340 INFO    ] No camera update needed
[2026-10-20 14:50:47,343.343 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:50:47,345.345 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:50:47,350.350 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:50:47,355.355 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:50:49,396.396 INFO    ] ================================================
[2026-10-20 14:50:49,412.412 INFO    ] Launching Daemon at Tue Oct 20 14:50:49 IST 2026
[2026-10-20 14:50:49,422.422 INFO    ] ================================================
[2026-10-20 14:50:50,065.065 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:50:50
[2026-10-20 14:50:50,726.726 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:50:51,025.025 INFO    ] Initializing speech engine...
[2026-10-20 14:50:51,033.033 INFO    ] 2026-10-20 14:50:51
[2026-10-20 14:50:51,318.318 INFO    ] 2026-10-20 14:50:51
[2026-10-20 14:50:51,373.373 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:50:51,647.647 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:50:51,652.652 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:50:51,849.849 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:50:51,856.856 INFO    ] time= 20/10/2026 14:50:51
[2026-10-20 14:50:51,878.878 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:50:51,906.906 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:50:52,025.025 INFO    ] No existing commands found in stream
[2026-10-20 14:50:57,061.061 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:50:57,064.064 INFO    ] Waiting 1.49 seconds before fallback handling...
[2026-10-20 14:50:59,129.129 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:50:59,132.132 INFO    ] Checking for system updates...
[2026-10-20 14:50:59,170.170 INFO    ] 200
[2026-10-20 14:50:59,173.173 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:50:59,235.235 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:50:59,238.238 INFO    ] No update needed
[2026-10-20 14:50:59,241.241 INFO    ] Checking for camera pi updates...
[2026-10-20 14:50:59,278.278 INFO    ] 200
[2026-10-20 14:50:59,280.280 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:50:59,324.324 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:50:59,369.369 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:50:59,372.372 INFO    ] No camera update needed
[2026-10-20 14:50:59,375.375 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:50:59,378.378 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:50:59,384.384 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:50:59,389.389 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:51:01,431.431 INFO    ] ================================================
[2026-10-20 14:51:01,446.446 INFO    ] Launching Daemon at Tue Oct 20 14:51:01 IST 2026
[2026-10-20 14:51:01,457.457 INFO    ] ================================================
[2026-10-20 14:51:02,172.172 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:51:02
[2026-10-20 14:51:03,028.028 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:51:03,419.419 INFO    ] Initializing speech engine...
[2026-10-20 14:51:03,426.426 INFO    ] 2026-10-20 14:51:03
[2026-10-20 14:51:03,847.847 INFO    ] 2026-10-20 14:51:03
[2026-10-20 14:51:03,904.904 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:51:04,093.093 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:51:04,098.098 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:51:04,287.287 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:51:04,305.305 INFO    ] time= 20/10/2026 14:51:04
[2026-10-20 14:51:04,327.327 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:51:04,354.354 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:51:04,452.452 INFO    ] No existing commands found in stream
[2026-10-20 14:51:09,489.489 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:51:09,492.492 INFO    ] Waiting 1.52 seconds before fallback handling...
[2026-10-20 14:51:11,557.557 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:51:11,560.560 INFO    ] Checking for system updates...
[2026-10-20 14:51:11,601.601 INFO    ] 200
[2026-10-20 14:51:11,604.604 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:51:11,661.661 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:51:11,664.664 INFO    ] No update needed
[2026-10-20 14:51:11,667.667 INFO    ] Checking for camera pi updates...
[2026-10-20 14:51:11,706.706 INFO    ] 200
[2026-10-20 14:51:11,708.708 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:51:11,760.760 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:51:11,805.805 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:51:11,808.808 INFO    ] No camera update needed
[2026-10-20 14:51:11,811.811 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:51:11,814.814 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:51:11,820.820 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:51:11,826.826 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:51:13,867.867 INFO    ] ================================================
[2026-10-20 14:51:13,883.883 INFO    ] Launching Daemon at Tue Oct 20 14:51:13 IST 2026
[2026-10-20 14:51:13,894.894 INFO    ] ================================================
[2026-10-20 14:51:14,475.475 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:51:14
[2026-10-20 14:51:15,068.068 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:51:15,343.343 INFO    ] Initializing speech engine...
[2026-10-20 14:51:15,352.352 INFO    ] 2026-10-20 14:51:15
[2026-10-20 14:51:15,594.594 INFO    ] 2026-10-20 14:51:15
[2026-10-20 14:51:15,629.629 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:51:15,879.879 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:51:15,888.888 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:51:16,122.122 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:51:16,146.146 INFO    ] time= 20/10/2026 14:51:16
[2026-10-20 14:51:16,163.163 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:51:16,170.170 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:51:16,300.300 INFO    ] No existing commands found in stream
[2026-10-20 14:51:21,323.323 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:51:21,325.325 INFO    ] Waiting 0.77 seconds before fallback handling...
[2026-10-20 14:51:22,643.643 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:51:22,646.646 INFO    ] Checking for system updates...
[2026-10-20 14:51:22,686.686 INFO    ] 200
[2026-10-20 14:51:22,688.688 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:51:22,740.740 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:51:22,742.742 INFO    ] No update needed
[2026-10-20 14:51:22,744.744 INFO    ] Checking for camera pi updates...
[2026-10-20 14:51:22,777.777 INFO    ] 200
[2026-10-20 14:51:22,780.780 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:51:22,825.825 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:51:22,867.867 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:51:22,870.870 INFO    ] No camera update needed
[2026-10-20 14:51:22,872.872 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:51:22,874.874 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:51:22,880.880 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:51:22,885.885 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:51:24,926.926 INFO    ] ================================================
[2026-10-20 14:51:24,942.942 INFO    ] Launching Daemon at Tue Oct 20 14:51:24 IST 2026
[2026-10-20 14:51:24,953.953 INFO    ] ================================================
[2026-10-20 14:51:25,522.522 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:51:25
[2026-10-20 14:51:26,109.109 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:51:26,360.360 INFO    ] Initializing speech engine...
[2026-10-20 14:51:26,373.373 INFO    ] 2026-10-20 14:51:26
[2026-10-20 14:51:26,653.653 INFO    ] 2026-10-20 14:51:26
[2026-10-20 14:51:26,692.692 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:51:26,905.905 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:51:26,927.927 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:51:27,080.080 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:51:27,085.085 INFO    ] time= 20/10/2026 14:51:27
[2026-10-20 14:51:27,092.092 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:51:27,142.142 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:51:27,292.292 INFO    ] No existing commands found in stream
[2026-10-20 14:51:32,328.328 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:51:32,332.332 INFO    ] Waiting 2.62 seconds before fallback handling...
[2026-10-20 14:51:35,427.427 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:51:35,430.430 INFO    ] Checking for system updates...
[2026-10-20 14:51:35,470.470 INFO    ] 200
[2026-10-20 14:51:35,472.472 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:51:35,532.532 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:51:35,534.534 INFO    ] No update needed
[2026-10-20 14:51:35,537.537 INFO    ] Checking for camera pi updates...
[2026-10-20 14:51:35,570.570 INFO    ] 200
[2026-10-20 14:51:35,573.573 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:51:35,619.619 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:51:35,665.665 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:51:35,668.668 INFO    ] No camera update needed
[2026-10-20 14:51:35,670.670 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:51:35,673.673 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:51:35,678.678 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:51:35,683.683 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:51:37,724.724 INFO    ] ================================================
[2026-10-20 14:51:37,739.739 INFO    ] Launching Daemon at Tue Oct 20 14:51:37 IST 2026
[2026-10-20 14:51:37,749.749 INFO    ] ================================================
[2026-10-20 14:51:38,409.409 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:51:38
[2026-10-20 14:51:39,092.092 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:51:39,399.399 INFO    ] Initializing speech engine...
[2026-10-20 14:51:39,413.413 INFO    ] 2026-10-20 14:51:39
[2026-10-20 14:51:39,719.719 INFO    ] 2026-10-20 14:51:39
[2026-10-20 14:51:39,807.807 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:51:40,022.022 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:51:40,032.032 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:51:40,224.224 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:51:40,248.248 INFO    ] time= 20/10/2026 14:51:40
[2026-10-20 14:51:40,276.276 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:51:40,284.284 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:51:40,436.436 INFO    ] No existing commands found in stream
[2026-10-20 14:51:42,388.388 INFO    ] Received new command: ID=1792488102088-0
[2026-10-20 14:51:42,433.433 INFO    ] process_and_cleanup_command: msg_id=1792488102088-0
[2026-10-20 14:51:42,458.458 INFO    ] is_command_expired: timestamp=2026-10-20T09:21:41.613Z, expiry=30s
[2026-10-20 14:51:42,605.605 INFO    ] Command removed from stream: 1792488102088-0. returning for processing...
[2026-10-20 14:51:42,608.608 INFO    ] ***** get_valid_command
[2026-10-20 14:51:42,611.611 INFO    ] {'timestamp': '2026-10-20T09:21:41.613Z', 'command': 'start-order', 'source': 'webapp', 'timeout': '10', 'data': '{"request_id":"start-order-1792488101613-quh5qcb45","orderId":"TM04202203261020145044821","is_vending":false}'}
[2026-10-20 14:51:42,614.614 INFO    ] ***** Parsed command data: {'orderId': 'TM04202203261020145044821', 'is_vending': False, 'request_id': 'start-order-1792488101613-quh5qcb45'}
[2026-10-20 14:51:42,617.617 INFO    ] Handling start order...
[2026-10-20 14:51:42,620.620 INFO    ] handle_start_order_command
[2026-10-20 14:51:42,627.627 INFO    ] _send_start_order_success: request_id=start-order-1792488101613-quh5qcb45, order_id=TM04202203261020145044821
[2026-10-20 14:51:42,630.630 INFO    ] [_send_start_order_success] Adding message to stream: machine:TM04202203
[2026-10-20 14:51:42,706.706 INFO    ] [_send_start_order_success] Message added to stream with ID: 1792488102660-0
[2026-10-20 14:51:42,709.709 INFO    ] ✅ Start-order command succeeded - order locked, waiting for process-order command
[2026-10-20 14:51:42,712.712 INFO    ] Checking for system updates...
[2026-10-20 14:51:42,755.755 INFO    ] 200
[2026-10-20 14:51:42,758.758 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:51:42,820.820 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:51:42,823.823 INFO    ] No update needed
[2026-10-20 14:51:42,826.826 INFO    ] Checking for camera pi updates...
[2026-10-20 14:51:42,861.861 INFO    ] 200
[2026-10-20 14:51:42,863.863 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:51:42,910.910 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:51:42,959.959 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:51:42,961.961 INFO    ] No camera update needed
[2026-10-20 14:51:42,964.964 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:51:42,966.966 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:51:42,972.972 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:51:42,977.977 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:51:45,016.016 INFO    ] ================================================
[2026-10-20 14:51:45,032.032 INFO    ] Launching Daemon at Tue Oct 20 14:51:45 IST 2026
[2026-10-20 14:51:45,043.043 INFO    ] ================================================
[2026-10-20 14:51:45,671.671 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:51:45
[2026-10-20 14:51:46,286.286 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:51:46,561.561 INFO    ] Initializing speech engine...
[2026-10-20 14:51:46,571.571 INFO    ] 2026-10-20 14:51:46
[2026-10-20 14:51:46,819.819 INFO    ] 2026-10-20 14:51:46
[2026-10-20 14:51:46,885.885 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:51:47,112.112 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:51:47,118.118 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:51:47,256.256 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:51:47,315.315 INFO    ] time= 20/10/2026 14:51:47
[2026-10-20 14:51:47,375.375 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:51:47,384.384 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:51:47,518.518 INFO    ] Found 2 existing command(s) in stream
[2026-10-20 14:51:47,554.554 INFO    ] Checking historical command: ID=1792488102660-0
[2026-10-20 14:51:47,629.629 INFO    ] process_and_cleanup_command: msg_id=1792488102660-0
[2026-10-20 14:51:47,646.646 INFO    ] is_command_expired: timestamp=2026-10-20T09:21:42.628136Z, expiry=30s
[2026-10-20 14:51:47,860.860 INFO    ] Command removed from stream: 1792488102660-0. returning for processing...
[2026-10-20 14:51:47,863.863 INFO    ] ***** get_valid_command
[2026-10-20 14:51:47,873.873 INFO    ] {'message_type': 'command_response', 'status': 'success', 'timestamp': '2026-10-20T09:21:42.628136Z', 'metadata_order_id': 'TM04202203261020145044821', 'message': 'start-order success', 'imei': 'TM04202203', 'metadata_request_id': 'start-order-1792488101613-quh5qcb45'}
[2026-10-20 14:51:47,876.876 INFO    ] Checking historical command: ID=1792488104721-0
[2026-10-20 14:51:47,879.879 INFO    ] process_and_cleanup_command: msg_id=1792488104721-0
[2026-10-20 14:51:47,882.882 INFO    ] is_command_expired: timestamp=2026-10-20T09:21:44.221Z, expiry=30s
[2026-10-20 14:51:48,006.006 INFO    ] Command removed from stream: 1792488104721-0. returning for processing...
[2026-10-20 14:51:48,011.011 INFO    ] ***** get_valid_command
[2026-10-20 14:51:48,017.017 INFO    ] {'command': 'process-order', 'timestamp': '2026-10-20T09:21:44.221Z', 'timeout': '60', 'source': 'webapp', 'data': '{"request_id":"process-order-1792488104221-1zpvm2aqr","orderId":"TM04202203261020145044821","is_vending":false,"accessCode":"65866285"}'}
[2026-10-20 14:51:48,021.021 INFO    ] ***** Parsed command data: {'request_id': 'process-order-1792488104221-1zpvm2aqr', 'is_vending': False, 'orderId': 'TM04202203261020145044821', 'accessCode': '65866285'}
[2026-10-20 14:51:48,070.070 INFO    ] Handling process order...
[2026-10-20 14:51:48,074.074 INFO    ] Processing process-order command...
[2026-10-20 14:51:48,093.093 INFO    ] 🔍 Lock file Order ID: TM04202203261020145044821, TS: 2026-10-20 14:51:42
[2026-10-20 14:51:48,139.139 INFO    ] ✅ Order lock valid for TM04202203261020145044821
[2026-10-20 14:51:48,145.145 INFO    ] Received access code in process-order, skipping PHP API call
[2026-10-20 14:51:48,150.150 INFO    ] processing access code 65866285 for order TM04202203261020145044821
[2026-10-20 14:51:48,155.155 INFO    ] 🔍 Lock file Order ID: TM04202203261020145044821, TS: 2026-10-20 14:51:42
[2026-10-20 14:51:48,159.159 INFO    ] ✅ Order lock valid for TM04202203261020145044821
[2026-10-20 14:51:48,163.163 INFO    ] 2026-10-20 14:51:48
[2026-10-20 14:51:48,214.214 INFO    ] 200
[2026-10-20 14:51:48,217.217 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:51:48,220.220 INFO    ] 65866285
[2026-10-20 14:51:48,270.270 INFO    ] 2026-10-20 14:51:48
[2026-10-20 14:51:48,329.329 INFO    ] session id :388838162
[2026-10-20 14:51:48,358.358 INFO    ] http://localhost:5000/v2/getOrderByAccessCode?access_code=65866285&imei=TM04202203&session_id=388838162
[2026-10-20 14:51:52,333.333 INFO    ] 200
[2026-10-20 14:51:52,336.336 INFO    ] {"data": {"access_code": "65866285", "bill_amount": "20", "invoice_bill": "20", "order_id": "TM04202203261020145044821", "mobile": "8017355167", "proposed_sku_json": [{"image_url": "https://images.tinymart.in/product/112220-2513.jpg", "door_id": "2", "mrp": "20", "offer_id": "", "name": "Snickers Chocolate Bar 22g", "unit_price": 20, "qty": 1, "offer_desc": "", "skuid": "112220", "sku_total": 20, "tray_id": "34"}]}, "status": true, "msg": "Order Data", "rstatus": true}
[2026-10-20 14:51:52,339.339 INFO    ] 20
[2026-10-20 14:51:52,341.341 INFO    ] TM04202203261020145044821
[2026-10-20 14:51:52,344.344 INFO    ] 8017355167
[2026-10-20 14:51:52,346.346 INFO    ] 2026-10-20 14:51:52
[2026-10-20 14:51:52,348.348 INFO    ] Door Opening for user mobile ending with  five one six seven 
[2026-10-20 14:51:52,351.351 INFO    ] Door Opening for user mobile ending with  five one six seven 
[2026-10-20 14:51:52,353.353 INFO    ] dfa99f0b9efeea1e68643934fff991dd
[2026-10-20 14:51:52,356.356 INFO    ] 2026-10-20 14:51:52
[2026-10-20 14:51:52,358.358 INFO    ] playing audio file
[2026-10-20 14:51:52,376.376 INFO    ] 2026-10-20 14:51:52
[2026-10-20 14:51:52,379.379 INFO    ] 2026-10-20 14:51:52
[2026-10-20 14:51:52,382.382 INFO    ] publish_status: order_id=TM04202203261020145044821
[2026-10-20 14:51:52,385.385 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020145044821
[2026-10-20 14:51:52,452.452 INFO    ] [publish_status] Message added to stream with ID: 1792488112409-0
[2026-10-20 14:51:52,455.455 INFO    ] Published to order:TM04202203261020145044821: {'timestamp': '2026-10-20T09:21:52.380915Z', 'order_id': 'TM04202203261020145044821', 'server_status': 'order-started', 'server_response': '{"status": true, "msg": "Order Data", "data": {"proposed_sku_json": [{"skuid": "112220", "door_id": "2", "sku_total": 20, "image_url": "https://images.tinymart.in/product/112220-2513.jpg", "name": "Snickers Chocolate Bar 22g", "mrp": "20", "unit_price": 20, "tray_id": "34", "offer_id": "", "qty": 1, "offer_desc": ""}], "mobile": "8017355167", "bill_amount": "20", "invoice_bill": "20", "order_id": "TM04202203261020145044821", "access_code": "65866285"}, "rstatus": true}'} (ID: 1792488112409-0)
[2026-10-20 14:51:53,001.001 INFO    ] {'order_id': 'TM04202203261020145044821', 'server_status': 'order-started', 'server_response': {'status': True, 'msg': 'Order Data', 'data': {'proposed_sku_json': [{'skuid': '112220', 'door_id': '2', 'sku_total': 20, 'image_url': 'https://images.tinymart.in/product/112220-2513.jpg', 'name': 'Snickers Chocolate Bar 22g', 'mrp': '20', 'unit_price': 20, 'tray_id': '34', 'offer_id': '', 'qty': 1, 'offer_desc': ''}], 'mobile': '8017355167', 'bill_amount': '20', 'invoice_bill': '20', 'order_id': 'TM04202203261020145044821', 'access_code': '65866285'}, 'rstatus': True}}
[2026-10-20 14:51:53,003.003 INFO    ] 200
[2026-10-20 14:51:53,005.005 INFO    ] {"data":{"order_id":"TM04202203261020145044821","server_status":"order-started","server_response":{"status":true,"msg":"Order Data","data":{"proposed_sku_json":[{"skuid":"112220","door_id":"2","sku_total":20,"image_url":"https:\/\/images.tinymart.in\/product\/112220-2513.jpg","name":"Snickers Chocolate Bar 22g","mrp":"20","unit_price":20,"tray_id":"34","offer_id":"","qty":1,"offer_desc":""}],"mobile":"8017355167","bill_amount":"20","invoice_bill":"20","order_id":"TM04202203261020145044821","access_code":"65866285"},"rstatus":true}},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 14:51:53,008.008 INFO    ] {'response': {'code': 'ORDER_EXISTS', 'status': True, 'msg': 'order updated successfully', 'data': 'order updated successfully'}, 'data': {'order_id': 'TM04202203261020145044821', 'server_status': 'order-started', 'server_response': {'status': True, 'msg': 'Order Data', 'data': {'proposed_sku_json': [{'skuid': '112220', 'door_id': '2', 'image_url': 'https://images.tinymart.in/product/112220-2513.jpg', 'offer_desc': '', 'name': 'Snickers Chocolate Bar 22g', 'mrp': '20', 'unit_price': 20, 'sku_total': 20, 'qty': 1, 'tray_id': '34', 'offer_id': ''}], 'mobile': '8017355167', 'bill_amount': '20', 'invoice_bill': '20', 'order_id': 'TM04202203261020145044821', 'access_code': '65866285'}, 'rstatus': True}}}
[2026-10-20 14:51:53,011.011 INFO    ] 2026-10-20 14:51:53
[2026-10-20 14:51:53,060.060 INFO    ] 200
[2026-10-20 14:51:53,063.063 INFO    ] True
[2026-10-20 14:51:53,208.208 INFO    ] 200
[2026-10-20 14:51:53,211.211 INFO    ] {"SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "rstatus": false, "voiceNote": "Please Wait", "status": "False", "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait while we process your order", "Note": "", "Header": " Your order is under process  "}, "SectionMain": {"Header": "Processing Order"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 14:51:53,214.214 INFO    ] {'status': 'False', 'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'SectionStatus': {'SubHeader': 'Please wait while we process your order', 'UI_Header': '', 'Note': '', 'Header': ' Your order is under process  '}, 'rstatus': False, 'voiceNote': 'Please Wait', 'error': {'code': 20001, 'umessage': 'In Progress', 'data': {}, 'tmessage': 'In Progress'}, 'SectionMain': {'Header': 'Processing Order'}}
[2026-10-20 14:51:53,217.217 INFO    ] *** process_order ***
[2026-10-20 14:51:54,415.415 INFO    ] 200
[2026-10-20 14:51:54,418.418 INFO    ] {"SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "rstatus": true, "voiceNote": "Please Wait", "delay": 0, "status": "True", "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait while we process your order", "Note": "", "Header": " Your order is under process  "}, "SectionMain": {"Header": "Processing Order"}}
[2026-10-20 14:51:54,421.421 INFO    ] {'status': 'True', 'delay': 0, 'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'SectionStatus': {'SubHeader': 'Please wait while we process your order', 'UI_Header': '', 'Note': '', 'Header': ' Your order is under process  '}, 'rstatus': True, 'voiceNote': 'Please Wait', 'SectionMain': {'Header': 'Processing Order'}}
[2026-10-20 14:51:54,424.424 INFO    ] *** process_order ***
[2026-10-20 14:51:54,427.427 INFO    ] publish_status: order_id=TM04202203261020145044821
[2026-10-20 14:51:54,430.430 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020145044821
[2026-10-20 14:51:54,493.493 INFO    ] [publish_status] Message added to stream with ID: 1792488114449-0
[2026-10-20 14:51:54,496.496 INFO    ] Published to order:TM04202203261020145044821: {'order_id': 'TM04202203261020145044821', 'server_status': 'doorOpened', 'server_response': '{"status": "True", "delay": 0, "SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "SectionStatus": {"SubHeader": "You can pull the door now.", "UI_Header": "", "Note": "", "Header": " Your order is under process  "}, "rstatus": true, "voiceNote": "Door is open...", "SectionMain": {"Header": "Processing Order"}}'} (ID: 1792488114449-0)
[2026-10-20 14:51:55,565.565 INFO    ] 2026-10-20 14:51:55
[2026-10-20 14:51:55,570.570 INFO    ] publish_status: order_id=TM04202203261020145044821
[2026-10-20 14:51:55,574.574 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020145044821
[2026-10-20 14:51:55,673.673 INFO    ] [publish_status] Message added to stream with ID: 1792488115629-0
[2026-10-20 14:51:55,676.676 INFO    ] Published to order:TM04202203261020145044821: {'timestamp': '2026-10-20T09:21:55.567798Z', 'order_id': 'TM04202203261020145044821', 'server_status': 'processOrder', 'server_response': '{"status": "True", "delay": 0, "SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "SectionStatus": {"SubHeader": "Please wait while we process your order", "UI_Header": "", "Note": "", "Header": " Your order is under process  "}, "rstatus": true, "voiceNote": "Please Wait", "SectionMain": {"Header": "Processing Order"}}'} (ID: 1792488115629-0)
[2026-10-20 14:51:55,821.821 INFO    ] {'order_id': 'TM04202203261020145044821', 'server_status': 'processOrder', 'server_response': {'status': 'True', 'delay': 0, 'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'SectionStatus': {'SubHeader': 'Please wait while we process your order', 'UI_Header': '', 'Note': '', 'Header': ' Your order is under process  '}, 'rstatus': True, 'voiceNote': 'Please Wait', 'SectionMain': {'Header': 'Processing Order'}}}
[2026-10-20 14:51:55,824.824 INFO    ] 200
[2026-10-20 14:51:55,828.828 INFO    ] {"data":{"order_id":"TM04202203261020145044821","server_status":"processOrder","server_response":{"status":"true","delay":0,"SectionSKU":{"skus":[],"Header":"Thank you for bearing with us :)"},"SectionStatus":{"SubHeader":"Please wait while we process your order","UI_Header":"","Note":"","Header":" Your order is under process  "},"rstatus":true,"voiceNote":"Please Wait","SectionMain":{"Header":"Processing Order"}}},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 14:51:55,832.832 INFO    ] {'response': {'code': 'ORDER_EXISTS', 'status': True, 'msg': 'order updated successfully', 'data': 'order updated successfully'}, 'data': {'order_id': 'TM04202203261020145044821', 'server_status': 'processOrder', 'server_response': {'status': 'true', 'delay': 0, 'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'SectionStatus': {'SubHeader': 'Please wait while we process your order', 'UI_Header': '', 'Note': '', 'Header': ' Your order is under process  '}, 'rstatus': True, 'voiceNote': 'Please Wait', 'SectionMain': {'Header': 'Processing Order'}}}}
[2026-10-20 14:51:55,835.835 INFO    ] 2026-10-20 14:51:55
[2026-10-20 14:51:55,838.838 INFO    ] None
[2026-10-20 14:51:55,842.842 INFO    ] Opening Door now
[2026-10-20 14:51:55,845.845 INFO    ] Opening Door now
[2026-10-20 14:51:55,848.848 INFO    ] 08e5d1063504bf393c26f0bfa436e9f9
[2026-10-20 14:51:55,851.851 INFO    ] 2026-10-20 14:51:55
[2026-10-20 14:51:55,855.855 INFO    ] playing audio file
[2026-10-20 14:51:55,873.873 INFO    ] 2026-10-20 14:51:55
[2026-10-20 14:51:55,877.877 INFO    ] 2026-10-20 14:51:55
[2026-10-20 14:51:58,948.948 INFO    ] 200
[2026-10-20 14:51:58,951.951 INFO    ] {"SectionSKU": {"skus": [{"name": "Snickers Chocolate Bar 22g", "qty": 1}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Door 2 is open now", "status": "False", "SectionStatus": {"UI_Header": "DOOR 2\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 2"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 14:51:58,955.955 INFO    ] {'status': 'False', 'SectionSKU': {'skus': [{'qty': 1, 'name': 'Snickers Chocolate Bar 22g'}], 'Header': 'Pick the below items from the door'}, 'SectionStatus': {'SubHeader': 'Please Pick the Products and close the door', 'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'Note': 'Please Close the door after picking up products', 'Header': 'Please Close Door 2'}, 'rstatus': False, 'voiceNote': 'Door 2 is open now', 'error': {'code': 20001, 'umessage': 'In Progress', 'data': {}, 'tmessage': 'In Progress'}, 'SectionMain': {'Header': 'Door Open'}}
[2026-10-20 14:52:02,114.114 INFO    ] 200
[2026-10-20 14:52:02,117.117 INFO    ] {"SectionSKU": {"skus": [{"name": "Snickers Chocolate Bar 22g", "qty": 1}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Please close door 2", "status": "False", "SectionStatus": {"UI_Header": "DOOR 2\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 2"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 14:52:02,120.120 INFO    ] {'status': 'False', 'SectionSKU': {'skus': [{'qty': 1, 'name': 'Snickers Chocolate Bar 22g'}], 'Header': 'Pick the below items from the door'}, 'SectionStatus': {'SubHeader': 'Please Pick the Products and close the door', 'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'Note': 'Please Close the door after picking up products', 'Header': 'Please Close Door 2'}, 'rstatus': False, 'voiceNote': 'Please close door 2', 'error': {'code': 20001, 'umessage': 'In Progress', 'data': {}, 'tmessage': 'In Progress'}, 'SectionMain': {'Header': 'Door Open'}}
[2026-10-20 14:52:05,219.219 INFO    ] 200
[2026-10-20 14:52:05,222.222 INFO    ] {"SectionSKU": {"skus": [{"name": "Snickers Chocolate Bar 22g", "qty": 1}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Please close door 2", "status": "False", "SectionStatus": {"UI_Header": "DOOR 2\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 2"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 14:52:05,225.225 INFO    ] Please close door 2
[2026-10-20 14:52:05,227.227 INFO    ] Please close door 2
[2026-10-20 14:52:05,230.230 INFO    ] 758e46684c76e887a5f58d4738034bed
[2026-10-20 14:52:05,233.233 INFO    ] 2026-10-20 14:52:05
[2026-10-20 14:52:05,236.236 INFO    ] playing audio file
[2026-10-20 14:52:05,254.254 INFO    ] 2026-10-20 14:52:05
[2026-10-20 14:52:05,258.258 INFO    ] publish_status: order_id=TM04202203261020145044821
[2026-10-20 14:52:05,261.261 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020145044821
[2026-10-20 14:52:05,352.352 INFO    ] [publish_status] Message added to stream with ID: 1792488125309-0
[2026-10-20 14:52:05,355.355 INFO    ] Published to order:TM04202203261020145044821: {'timestamp': '2026-10-20T09:22:05.256149Z', 'order_id': 'TM04202203261020145044821', 'server_status': 'OrderStatus', 'server_response': '{"status": "False", "SectionSKU": {"skus": [{"qty": 1, "name": "Snickers Chocolate Bar 22g"}], "Header": "Pick the below items from the door"}, "SectionStatus": {"SubHeader": "Please Pick the Products and close the door", "UI_Header": "DOOR 2\\nIS \\nOPEN \\nNOW", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 2"}, "rstatus": false, "voiceNote": "Please close door 2", "error": {"code": 20001, "umessage": "In Progress", "data": {}, "tmessage": "In Progress"}, "SectionMain": {"Header": "Door Open"}}'} (ID: 1792488125309-0)
[2026-10-20 14:52:05,927.927 INFO    ] {'order_id': 'TM04202203261020145044821', 'server_status': 'OrderStatus', 'server_response': {'status': 'False', 'SectionSKU': {'skus': [{'qty': 1, 'name': 'Snickers Chocolate Bar 22g'}], 'Header': 'Pick the below items from the door'}, 'SectionStatus': {'SubHeader': 'Please Pick the Products and close the door', 'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'Note': 'Please Close the door after picking up products', 'Header': 'Please Close Door 2'}, 'rstatus': False, 'voiceNote': 'Please close door 2', 'error': {'code': 20001, 'umessage': 'In Progress', 'data': {}, 'tmessage': 'In Progress'}, 'SectionMain': {'Header': 'Door Open'}}}
[2026-10-20 14:52:05,930.930 INFO    ] 200
[2026-10-20 14:52:05,932.932 INFO    ] {"data":{"order_id":"TM04202203261020145044821","server_status":"OrderStatus","server_response":{"status":"false","SectionSKU":{"skus":[{"qty":1,"name":"Snickers Chocolate Bar 22g"}],"Header":"Pick the below items from the door"},"SectionStatus":{"SubHeader":"Please Pick the Products and close the door","UI_Header":"DOOR 2\nIS \nOPEN \nNOW","Note":"Please Close the door after picking up products","Header":"Please Close Door 2"},"rstatus":false,"voiceNote":"Please close door 2","error":{"code":20001,"umessage":"In Progress","data":[],"tmessage":"In Progress"},"SectionMain":{"Header":"Door Open"}}},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 14:52:05,935.935 INFO    ] {'response': {'code': 'ORDER_EXISTS', 'status': True, 'msg': 'order updated successfully', 'data': 'order updated successfully'}, 'data': {'order_id': 'TM04202203261020145044821', 'server_status': 'OrderStatus', 'server_response': {'status': 'false', 'SectionSKU': {'skus': [{'qty': 1, 'name': 'Snickers Chocolate Bar 22g'}], 'Header': 'Pick the below items from the door'}, 'SectionStatus': {'SubHeader': 'Please Pick the Products and close the door', 'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'Note': 'Please Close the door after picking up products', 'Header': 'Please Close Door 2'}, 'rstatus': False, 'voiceNote': 'Please close door 2', 'error': {'code': 20001, 'umessage': 'In Progress', 'data': [], 'tmessage': 'In Progress'}, 'SectionMain': {'Header': 'Door Open'}}}}
[2026-10-20 14:52:05,938.938 INFO    ] {'status': 'False', 'SectionSKU': {'skus': [{'qty': 1, 'name': 'Snickers Chocolate Bar 22g'}], 'Header': 'Pick the below items from the door'}, 'SectionStatus': {'SubHeader': 'Please Pick the Products and close the door', 'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'Note': 'Please Close the door after picking up products', 'Header': 'Please Close Door 2'}, 'rstatus': False, 'voiceNote': 'Please close door 2', 'error': {'code': 20001, 'umessage': 'In Progress', 'data': {}, 'tmessage': 'In Progress'}, 'SectionMain': {'Header': 'Door Open'}}
[2026-10-20 14:52:09,010.010 INFO    ] 200
[2026-10-20 14:52:09,013.013 INFO    ] {"SectionSKU": {"skus": [], "Header": "If you like us, tell others... else tell us"}, "rstatus": true, "voiceNote": "Transaction Completed", "delay": 100, "status": "True", "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait for invoice to generate", "Note": "If any due amount, clear at https://go.tinymart.in", "Header": " Order is complete "}, "SectionMain": {"Header": "Door Closed"}}
[2026-10-20 14:52:09,016.016 INFO    ] {'status': 'True', 'delay': 100, 'SectionSKU': {'skus': [], 'Header': 'If you like us, tell others... else tell us'}, 'SectionStatus': {'SubHeader': 'Please wait for invoice to generate', 'UI_Header': '', 'Note': 'If any due amount, clear at https://go.tinymart.in', 'Header': ' Order is complete '}, 'rstatus': True, 'voiceNote': 'Transaction Completed', 'SectionMain': {'Header': 'Door Closed'}}
[2026-10-20 14:52:09,019.019 INFO    ] 2026-10-20 14:52:09
[2026-10-20 14:52:09,021.021 INFO    ] Order Completed 
[2026-10-20 14:52:09,024.024 INFO    ] Order Completed 
[2026-10-20 14:52:09,026.026 INFO    ] 193c8a8cf3bf490ccfe0b23598544a83
[2026-10-20 14:52:09,029.029 INFO    ] 2026-10-20 14:52:09
[2026-10-20 14:52:09,032.032 INFO    ] playing audio file
[2026-10-20 14:52:09,051.051 INFO    ] 2026-10-20 14:52:09
[2026-10-20 14:52:09,055.055 INFO    ] {'status': 'True', 'delay': 100, 'SectionSKU': {'skus': [], 'Header': 'If you like us, tell others... else tell us'}, 'SectionStatus': {'SubHeader': 'Please wait for invoice to generate', 'UI_Header': '', 'Note': 'If any due amount, clear at https://go.tinymart.in', 'Header': ' Order is complete '}, 'rstatus': True, 'voiceNote': 'Transaction Completed', 'SectionMain': {'Header': 'Door Closed'}}
[2026-10-20 14:52:09,060.060 INFO    ] 2026-10-20 14:52:09
[2026-10-20 14:52:11,694.694 INFO    ] 200
[2026-10-20 14:52:11,697.697 INFO    ] {"rstatus": true, "logic": "WBL", "skus": [{"door_id": "", "name": "Snickers Chocolate Bar 22g per peice", "mrp": "20", "skuid": "112220", "unit_price": "20", "qty": 1, "tray_id": "34", "sku_total": 20.0, "image_url": "https://images.tinymart.in/product/112220-2513.jpg"}], "orderId": "TM04202203261020145044821", "res": "True", "total_amount": 20.0, "anomaly": 0}
[2026-10-20 14:52:11,699.699 INFO    ] {'logic': 'WBL', 'rstatus': True, 'total_amount': 20.0, 'skus': [{'skuid': '112220', 'door_id': '', 'unit_price': '20', 'name': 'Snickers Chocolate Bar 22g per peice', 'mrp': '20', 'image_url': 'https://images.tinymart.in/product/112220-2513.jpg', 'tray_id': '34', 'qty': 1, 'sku_total': 20.0}], 'anomaly': 0, 'orderId': 'TM04202203261020145044821', 'res': 'True'}
[2026-10-20 14:52:11,702.702 INFO    ] {'logic': 'WBL', 'rstatus': True, 'total_amount': 20.0, 'skus': [{'skuid': '112220', 'door_id': '', 'unit_price': '20', 'name': 'Snickers Chocolate Bar 22g per peice', 'mrp': '20', 'image_url': 'https://images.tinymart.in/product/112220-2513.jpg', 'tray_id': '34', 'qty': 1, 'sku_total': 20.0}], 'anomaly': 0, 'orderId': 'TM04202203261020145044821', 'res': 'True'}
[2026-10-20 14:52:11,704.704 INFO    ] 2026-10-20 14:52:11
[2026-10-20 14:52:11,707.707 INFO    ] 2026-10-20 14:52:11
[2026-10-20 14:52:11,709.709 INFO    ] 20
[2026-10-20 14:52:11,711.711 INFO    ] 2026-10-20 14:52:11
[2026-10-20 14:52:11,714.714 INFO    ] 2026-10-20 14:52:11
[2026-10-20 14:52:11,716.716 INFO    ]  Your Bill Amount is 20
[2026-10-20 14:52:11,718.718 INFO    ]  Your Bill Amount is 20
[2026-10-20 14:52:11,720.720 INFO    ] 69e7720cf62ffa67ab0522541575e508
[2026-10-20 14:52:11,723.723 INFO    ] 2026-10-20 14:52:11
[2026-10-20 14:52:11,725.725 INFO    ] playing audio file
[2026-10-20 14:52:11,742.742 INFO    ] 2026-10-20 14:52:11
[2026-10-20 14:52:11,745.745 INFO    ] 2026-10-20 14:52:11
[2026-10-20 14:52:11,748.748 INFO    ] publish_status: order_id=TM04202203261020145044821
[2026-10-20 14:52:11,751.751 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020145044821
[2026-10-20 14:52:11,823.823 INFO    ] [publish_status] Message added to stream with ID: 1792488131770-0
[2026-10-20 14:52:11,826.826 INFO    ] Published to order:TM04202203261020145044821: {'timestamp': '2026-10-20T09:22:11.746358Z', 'order_id': 'TM04202203261020145044821', 'server_status': 'invoiceOrder', 'server_response': '{"logic": "WBL", "rstatus": true, "total_amount": 20.0, "skus": [{"skuid": "112220", "door_id": "", "unit_price": "20", "name": "Snickers Chocolate Bar 22g per peice", "mrp": "20", "image_url": "https://images.tinymart.in/product/112220-2513.jpg", "tray_id": "34", "qty": 1, "sku_total": 20.0}], "anomaly": 0, "orderId": "TM04202203261020145044821", "res": "True"}'} (ID: 1792488131770-0)
[2026-10-20 14:52:12,380.380 INFO    ] {'order_id': 'TM04202203261020145044821', 'server_status': 'invoiceOrder', 'server_response': {'logic': 'WBL', 'rstatus': True, 'total_amount': 20.0, 'skus': [{'skuid': '112220', 'door_id': '', 'unit_price': '20', 'name': 'Snickers Chocolate Bar 22g per peice', 'mrp': '20', 'image_url': 'https://images.tinymart.in/product/112220-2513.jpg', 'tray_id': '34', 'qty': 1, 'sku_total': 20.0}], 'anomaly': 0, 'orderId': 'TM04202203261020145044821', 'res': 'True'}}
[2026-10-20 14:52:12,383.383 INFO    ] 200
[2026-10-20 14:52:12,385.385 INFO    ] {"data":{"order_id":"TM04202203261020145044821","server_status":"invoiceOrder","server_response":{"logic":"WBL","rstatus":true,"total_amount":20,"skus":[{"skuid":"112220","door_id":"","unit_price":"20","name":"Snickers Chocolate Bar 22g per peice","mrp":"20","image_url":"https:\/\/images.tinymart.in\/product\/112220-2513.jpg","tray_id":"34","qty":1,"sku_total":20}],"anomaly":0,"orderId":"TM04202203261020145044821","res":"true"}},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 14:52:12,388.388 INFO    ] {'response': {'code': 'ORDER_EXISTS', 'status': True, 'msg': 'order updated successfully', 'data': 'order updated successfully'}, 'data': {'order_id': 'TM04202203261020145044821', 'server_status': 'invoiceOrder', 'server_response': {'logic': 'WBL', 'rstatus': True, 'total_amount': 20, 'orderId': 'TM04202203261020145044821', 'res': 'true', 'skus': [{'skuid': '112220', 'door_id': '', 'unit_price': '20', 'name': 'Snickers Chocolate Bar 22g per peice', 'mrp': '20', 'image_url': 'https://images.tinymart.in/product/112220-2513.jpg', 'tray_id': '34', 'qty': 1, 'sku_total': 20}], 'anomaly': 0}}}
[2026-10-20 14:52:12,392.392 INFO    ] {'response': {'code': 'ORDER_EXISTS', 'status': True, 'msg': 'order updated successfully', 'data': 'order updated successfully'}, 'data': {'order_id': 'TM04202203261020145044821', 'server_status': 'invoiceOrder', 'server_response': {'logic': 'WBL', 'rstatus': True, 'total_amount': 20, 'orderId': 'TM04202203261020145044821', 'res': 'true', 'skus': [{'skuid': '112220', 'door_id': '', 'unit_price': '20', 'name': 'Snickers Chocolate Bar 22g per peice', 'mrp': '20', 'image_url': 'https://images.tinymart.in/product/112220-2513.jpg', 'tray_id': '34', 'qty': 1, 'sku_total': 20}], 'anomaly': 0}}}
[2026-10-20 14:52:12,394.394 INFO    ] 2026-10-20 14:52:12
[2026-10-20 14:52:14,499.499 INFO    ] 200
[2026-10-20 14:52:14,501.501 INFO    ] {"orders": [], "order_items_synced": [], "tray_synced": ["TM04202203261020145044821", "TM04202203261020145044821", "TM04202203261020145044821", "TM04202203261020145044821", "TM04202203261020145044821", "TM04202203261020145044821", "TM04202203261020145044821", "TM04202203261020145044821", "TM04202203261020145044821", "TM04202203261020145044821", "TM04202203261020145044821", "TM04202203261020145044821", "TM04202203261020145044821", "TM04202203261020145044821", "TM04202203261020145044821", "TM04202203261020145044821", "TM04202203261020145044821", "TM04202203261020145044821", "TM04202203261020145044821", "TM04202203261020145044821", "TM04202203261020145044821", "TM04202203261020145044821", "TM04202203261020145044821", "TM04202203261020145044821", "TM04202203261020145044821", "TM04202203261020145044821", "TM04202203261020145044821", "TM04202203261020145044821", "TM04202203261020145044821", "TM04202203261020145044821", "TM04202203261020145044821", "TM04202203261020145044821", "TM04202203261020145044821"], "orders_synced": [], "status": true, "tray_sync": [], "order_items": [], "orders_data": [], "orders_data_synced": []}
[2026-10-20 14:52:14,504.504 INFO    ] 2026-10-20 14:52:14
[2026-10-20 14:52:14,622.622 INFO    ] 200
[2026-10-20 14:52:14,625.625 INFO    ] True
[2026-10-20 14:52:14,628.628 INFO    ] cleanup_start_order_file_after_processing: order_id=TM04202203261020145044821
[2026-10-20 14:52:14,631.631 INFO    ] start order file deleted
[2026-10-20 14:52:14,635.635 INFO    ] Checking for system updates...
[2026-10-20 14:52:14,678.678 INFO    ] 200
[2026-10-20 14:52:14,680.680 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:52:14,742.742 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:52:14,745.745 INFO    ] No update needed
[2026-10-20 14:52:14,748.748 INFO    ] Checking for camera pi updates...
[2026-10-20 14:52:14,784.784 INFO    ] 200
[2026-10-20 14:52:14,787.787 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:52:14,833.833 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:52:14,884.884 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:52:14,887.887 INFO    ] No camera update needed
[2026-10-20 14:52:14,890.890 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:52:14,892.892 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:52:14,899.899 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:52:14,904.904 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:52:16,947.947 INFO    ] ================================================
[2026-10-20 14:52:16,962.962 INFO    ] Launching Daemon at Tue Oct 20 14:52:16 IST 2026
[2026-10-20 14:52:16,974.974 INFO    ] ================================================
[2026-10-20 14:52:17,616.616 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:52:17
[2026-10-20 14:52:18,290.290 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:52:18,553.553 INFO    ] Initializing speech engine...
[2026-10-20 14:52:18,578.578 INFO    ] 2026-10-20 14:52:18
[2026-10-20 14:52:18,850.850 INFO    ] 2026-10-20 14:52:18
[2026-10-20 14:52:18,888.888 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:52:19,110.110 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:52:19,118.118 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:52:19,272.272 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:52:19,298.298 INFO    ] time= 20/10/2026 14:52:19
[2026-10-20 14:52:19,347.347 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:52:19,384.384 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:52:19,545.545 INFO    ] No existing commands found in stream
[2026-10-20 14:52:24,556.556 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:52:24,559.559 INFO    ] Waiting 2.80 seconds before fallback handling...
[2026-10-20 14:52:27,889.889 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:52:27,892.892 INFO    ] Checking for system updates...
[2026-10-20 14:52:27,932.932 INFO    ] 200
[2026-10-20 14:52:27,934.934 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:52:27,987.987 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:52:27,989.989 INFO    ] No update needed
[2026-10-20 14:52:27,992.992 INFO    ] Checking for camera pi updates...
[2026-10-20 14:52:28,028.028 INFO    ] 200
[2026-10-20 14:52:28,031.031 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:52:28,070.070 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:52:28,116.116 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:52:28,118.118 INFO    ] No camera update needed
[2026-10-20 14:52:28,121.121 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:52:28,123.123 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:52:28,128.128 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:52:28,133.133 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:52:30,172.172 INFO    ] ================================================
[2026-10-20 14:52:30,188.188 INFO    ] Launching Daemon at Tue Oct 20 14:52:30 IST 2026
[2026-10-20 14:52:30,199.199 INFO    ] ================================================
[2026-10-20 14:52:30,852.852 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:52:30
[2026-10-20 14:52:31,559.559 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:52:31,870.870 INFO    ] Initializing speech engine...
[2026-10-20 14:52:31,883.883 INFO    ] 2026-10-20 14:52:31
[2026-10-20 14:52:32,193.193 INFO    ] 2026-10-20 14:52:32
[2026-10-20 14:52:32,240.240 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:52:32,486.486 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:52:32,514.514 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:52:32,745.745 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:52:32,761.761 INFO    ] time= 20/10/2026 14:52:32
[2026-10-20 14:52:32,782.782 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:52:32,809.809 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:52:32,921.921 INFO    ] No existing commands found in stream
[2026-10-20 14:52:37,947.947 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:52:37,951.951 INFO    ] Waiting 2.94 seconds before fallback handling...
[2026-10-20 14:52:41,478.478 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:52:41,481.481 INFO    ] Checking for system updates...
[2026-10-20 14:52:41,518.518 INFO    ] 200
[2026-10-20 14:52:41,521.521 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:52:41,584.584 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:52:41,587.587 INFO    ] No update needed
[2026-10-20 14:52:41,589.589 INFO    ] Checking for camera pi updates...
[2026-10-20 14:52:41,624.624 INFO    ] 200
[2026-10-20 14:52:41,627.627 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:52:41,668.668 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:52:41,718.718 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:52:41,721.721 INFO    ] No camera update needed
[2026-10-20 14:52:41,726.726 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:52:41,729.729 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:52:41,736.736 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:52:41,742.742 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:52:43,781.781 INFO    ] ================================================
[2026-10-20 14:52:43,796.796 INFO    ] Launching Daemon at Tue Oct 20 14:52:43 IST 2026
[2026-10-20 14:52:43,806.806 INFO    ] ================================================
[2026-10-20 14:52:44,372.372 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:52:44
[2026-10-20 14:52:44,955.955 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:52:45,227.227 INFO    ] Initializing speech engine...
[2026-10-20 14:52:45,234.234 INFO    ] 2026-10-20 14:52:45
[2026-10-20 14:52:45,491.491 INFO    ] 2026-10-20 14:52:45
[2026-10-20 14:52:45,521.521 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:52:45,764.764 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:52:45,774.774 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:52:45,984.984 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:52:46,032.032 INFO    ] time= 20/10/2026 14:52:45
[2026-10-20 14:52:46,038.038 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:52:46,056.056 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:52:46,188.188 INFO    ] No existing commands found in stream
[2026-10-20 14:52:51,215.215 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:52:51,218.218 INFO    ] Waiting 1.54 seconds before fallback handling...
[2026-10-20 14:52:53,300.300 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:52:53,302.302 INFO    ] Checking for system updates...
[2026-10-20 14:52:53,338.338 INFO    ] 200
[2026-10-20 14:52:53,341.341 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:52:53,393.393 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:52:53,395.395 INFO    ] No update needed
[2026-10-20 14:52:53,398.398 INFO    ] Checking for camera pi updates...
[2026-10-20 14:52:53,434.434 INFO    ] 200
[2026-10-20 14:52:53,437.437 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:52:53,476.476 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:52:53,620.620 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:52:53,623.623 INFO    ] No camera update needed
[2026-10-20 14:52:53,625.625 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:52:53,627.627 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:52:53,633.633 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:52:53,637.637 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:52:55,677.677 INFO    ] ================================================
[2026-10-20 14:52:55,693.693 INFO    ] Launching Daemon at Tue Oct 20 14:52:55 IST 2026
[2026-10-20 14:52:55,703.703 INFO    ] ================================================
[2026-10-20 14:52:56,303.303 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:52:56
[2026-10-20 14:52:56,896.896 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:52:57,173.173 INFO    ] Initializing speech engine...
[2026-10-20 14:52:57,180.180 INFO    ] 2026-10-20 14:52:57
[2026-10-20 14:52:57,426.426 INFO    ] 2026-10-20 14:52:57
[2026-10-20 14:52:57,462.462 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:52:57,716.716 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:52:57,722.722 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:52:57,921.921 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:52:57,970.970 INFO    ] time= 20/10/2026 14:52:57
[2026-10-20 14:52:57,987.987 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:52:58,005.005 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:52:58,164.164 INFO    ] No existing commands found in stream
[2026-10-20 14:53:03,193.193 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:53:03,196.196 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-10-20 14:53:05,486.486 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:53:05,489.489 INFO    ] Checking for system updates...
[2026-10-20 14:53:05,525.525 INFO    ] 200
[2026-10-20 14:53:05,527.527 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:53:05,585.585 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:53:05,587.587 INFO    ] No update needed
[2026-10-20 14:53:05,589.589 INFO    ] Checking for camera pi updates...
[2026-10-20 14:53:05,623.623 INFO    ] 200
[2026-10-20 14:53:05,625.625 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:53:05,670.670 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:53:05,713.713 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:53:05,715.715 INFO    ] No camera update needed
[2026-10-20 14:53:05,718.718 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:53:05,720.720 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:53:05,725.725 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:53:05,730.730 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:53:07,770.770 INFO    ] ================================================
[2026-10-20 14:53:07,785.785 INFO    ] Launching Daemon at Tue Oct 20 14:53:07 IST 2026
[2026-10-20 14:53:07,795.795 INFO    ] ================================================
[2026-10-20 14:53:08,363.363 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:53:08
[2026-10-20 14:53:08,947.947 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:53:09,193.193 INFO    ] Initializing speech engine...
[2026-10-20 14:53:09,200.200 INFO    ] 2026-10-20 14:53:09
[2026-10-20 14:53:09,472.472 INFO    ] 2026-10-20 14:53:09
[2026-10-20 14:53:09,507.507 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:53:09,765.765 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:53:09,771.771 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:53:09,974.974 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:53:10,023.023 INFO    ] time= 20/10/2026 14:53:09
[2026-10-20 14:53:10,035.035 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:53:10,053.053 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:53:10,186.186 INFO    ] No existing commands found in stream
[2026-10-20 14:53:15,204.204 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:53:15,206.206 INFO    ] Waiting 0.41 seconds before fallback handling...
[2026-10-20 14:53:16,137.137 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:53:16,140.140 INFO    ] Checking for system updates...
[2026-10-20 14:53:16,175.175 INFO    ] 200
[2026-10-20 14:53:16,177.177 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:53:16,230.230 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:53:16,233.233 INFO    ] No update needed
[2026-10-20 14:53:16,235.235 INFO    ] Checking for camera pi updates...
[2026-10-20 14:53:16,272.272 INFO    ] 200
[2026-10-20 14:53:16,274.274 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:53:16,318.318 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:53:16,371.371 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:53:16,373.373 INFO    ] No camera update needed
[2026-10-20 14:53:16,375.375 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:53:16,377.377 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:53:16,383.383 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:53:16,388.388 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:53:18,433.433 INFO    ] ================================================
[2026-10-20 14:53:18,448.448 INFO    ] Launching Daemon at Tue Oct 20 14:53:18 IST 2026
[2026-10-20 14:53:18,458.458 INFO    ] ================================================
[2026-10-20 14:53:19,040.040 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:53:19
[2026-10-20 14:53:19,638.638 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:53:19,914.914 INFO    ] Initializing speech engine...
[2026-10-20 14:53:19,920.920 INFO    ] 2026-10-20 14:53:19
[2026-10-20 14:53:20,183.183 INFO    ] 2026-10-20 14:53:20
[2026-10-20 14:53:20,236.236 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:53:20,464.464 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:53:20,470.470 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:53:20,710.710 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:53:20,728.728 INFO    ] time= 20/10/2026 14:53:20
[2026-10-20 14:53:20,746.746 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:53:20,774.774 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:53:20,901.901 INFO    ] No existing commands found in stream
[2026-10-20 14:53:25,931.931 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:53:25,934.934 INFO    ] Waiting 2.46 seconds before fallback handling...
[2026-10-20 14:53:28,917.917 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:53:28,920.920 INFO    ] Checking for system updates...
[2026-10-20 14:53:28,957.957 INFO    ] 200
[2026-10-20 14:53:28,959.959 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:53:29,018.018 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:53:29,020.020 INFO    ] No update needed
[2026-10-20 14:53:29,023.023 INFO    ] Checking for camera pi updates...
[2026-10-20 14:53:29,056.056 INFO    ] 200
[2026-10-20 14:53:29,058.058 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:53:29,103.103 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:53:29,150.150 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:53:29,153.153 INFO    ] No camera update needed
[2026-10-20 14:53:29,156.156 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:53:29,158.158 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:53:29,164.164 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:53:29,170.170 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:53:31,209.209 INFO    ] ================================================
[2026-10-20 14:53:31,224.224 INFO    ] Launching Daemon at Tue Oct 20 14:53:31 IST 2026
[2026-10-20 14:53:31,235.235 INFO    ] ================================================
[2026-10-20 14:53:31,836.836 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:53:31
[2026-10-20 14:53:32,452.452 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:53:32,741.741 INFO    ] Initializing speech engine...
[2026-10-20 14:53:32,753.753 INFO    ] 2026-10-20 14:53:32
[2026-10-20 14:53:33,025.025 INFO    ] 2026-10-20 14:53:33
[2026-10-20 14:53:33,055.055 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:53:33,300.300 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:53:33,310.310 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:53:33,516.516 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:53:33,565.565 INFO    ] time= 20/10/2026 14:53:33
[2026-10-20 14:53:33,572.572 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:53:33,590.590 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:53:33,715.715 INFO    ] No existing commands found in stream
[2026-10-20 14:53:38,731.731 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:53:38,734.734 INFO    ] Waiting 3.07 seconds before fallback handling...
[2026-10-20 14:53:42,354.354 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:53:42,357.357 INFO    ] Checking for system updates...
[2026-10-20 14:53:42,392.392 INFO    ] 200
[2026-10-20 14:53:42,395.395 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:53:42,448.448 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:53:42,450.450 INFO    ] No update needed
[2026-10-20 14:53:42,453.453 INFO    ] Checking for camera pi updates...
[2026-10-20 14:53:42,490.490 INFO    ] 200
[2026-10-20 14:53:42,493.493 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:53:42,533.533 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:53:42,583.583 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:53:42,586.586 INFO    ] No camera update needed
[2026-10-20 14:53:42,588.588 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:53:42,590.590 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:53:42,596.596 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:53:42,601.601 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:53:44,641.641 INFO    ] ================================================
[2026-10-20 14:53:44,656.656 INFO    ] Launching Daemon at Tue Oct 20 14:53:44 IST 2026
[2026-10-20 14:53:44,667.667 INFO    ] ================================================
[2026-10-20 14:53:45,264.264 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:53:45
[2026-10-20 14:53:45,846.846 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:53:46,093.093 INFO    ] Initializing speech engine...
[2026-10-20 14:53:46,107.107 INFO    ] 2026-10-20 14:53:46
[2026-10-20 14:53:46,372.372 INFO    ] 2026-10-20 14:53:46
[2026-10-20 14:53:46,407.407 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:53:46,665.665 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:53:46,675.675 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:53:46,881.881 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:53:46,936.936 INFO    ] time= 20/10/2026 14:53:46
[2026-10-20 14:53:46,946.946 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:53:46,961.961 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:53:47,092.092 INFO    ] No existing commands found in stream
[2026-10-20 14:53:52,109.109 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:53:52,112.112 INFO    ] Waiting 2.93 seconds before fallback handling...
[2026-10-20 14:53:55,628.628 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:53:55,632.632 INFO    ] Checking for system updates...
[2026-10-20 14:53:55,672.672 INFO    ] 200
[2026-10-20 14:53:55,675.675 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:53:55,736.736 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:53:55,740.740 INFO    ] No update needed
[2026-10-20 14:53:55,743.743 INFO    ] Checking for camera pi updates...
[2026-10-20 14:53:55,780.780 INFO    ] 200
[2026-10-20 14:53:55,783.783 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:53:55,827.827 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:53:55,881.881 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:53:55,883.883 INFO    ] No camera update needed
[2026-10-20 14:53:55,886.886 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:53:55,889.889 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:53:55,894.894 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:53:55,900.900 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:53:57,940.940 INFO    ] ================================================
[2026-10-20 14:53:57,957.957 INFO    ] Launching Daemon at Tue Oct 20 14:53:57 IST 2026
[2026-10-20 14:53:57,968.968 INFO    ] ================================================
[2026-10-20 14:53:58,571.571 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:53:58
[2026-10-20 14:53:59,188.188 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:53:59,491.491 INFO    ] Initializing speech engine...
[2026-10-20 14:53:59,497.497 INFO    ] 2026-10-20 14:53:59
[2026-10-20 14:53:59,762.762 INFO    ] 2026-10-20 14:53:59
[2026-10-20 14:53:59,796.796 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:54:00,043.043 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:54:00,053.053 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:54:00,288.288 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:54:00,314.314 INFO    ] time= 20/10/2026 14:54:00
[2026-10-20 14:54:00,332.332 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:54:00,339.339 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:54:00,470.470 INFO    ] No existing commands found in stream
[2026-10-20 14:54:05,483.483 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:54:05,486.486 INFO    ] Waiting 0.39 seconds before fallback handling...
[2026-10-20 14:54:06,394.394 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:54:06,396.396 INFO    ] Checking for system updates...
[2026-10-20 14:54:06,432.432 INFO    ] 200
[2026-10-20 14:54:06,434.434 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:54:06,492.492 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:54:06,494.494 INFO    ] No update needed
[2026-10-20 14:54:06,497.497 INFO    ] Checking for camera pi updates...
[2026-10-20 14:54:06,530.530 INFO    ] 200
[2026-10-20 14:54:06,532.532 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:54:06,576.576 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:54:06,626.626 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:54:06,629.629 INFO    ] No camera update needed
[2026-10-20 14:54:06,631.631 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:54:06,634.634 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:54:06,639.639 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:54:06,644.644 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:54:08,683.683 INFO    ] ================================================
[2026-10-20 14:54:08,698.698 INFO    ] Launching Daemon at Tue Oct 20 14:54:08 IST 2026
[2026-10-20 14:54:08,709.709 INFO    ] ================================================
[2026-10-20 14:54:09,293.293 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:54:09
[2026-10-20 14:54:09,892.892 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:54:10,154.154 INFO    ] Initializing speech engine...
[2026-10-20 14:54:10,170.170 INFO    ] 2026-10-20 14:54:10
[2026-10-20 14:54:10,454.454 INFO    ] 2026-10-20 14:54:10
[2026-10-20 14:54:10,489.489 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:54:10,713.713 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:54:10,721.721 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:54:10,874.874 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:54:10,939.939 INFO    ] time= 20/10/2026 14:54:10
[2026-10-20 14:54:10,949.949 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:54:10,988.988 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:54:11,096.096 INFO    ] No existing commands found in stream
[2026-10-20 14:54:16,119.119 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:54:16,122.122 INFO    ] Waiting 1.83 seconds before fallback handling...
[2026-10-20 14:54:18,496.496 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:54:18,499.499 INFO    ] Checking for system updates...
[2026-10-20 14:54:18,535.535 INFO    ] 200
[2026-10-20 14:54:18,537.537 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:54:18,592.592 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:54:18,594.594 INFO    ] No update needed
[2026-10-20 14:54:18,597.597 INFO    ] Checking for camera pi updates...
[2026-10-20 14:54:18,631.631 INFO    ] 200
[2026-10-20 14:54:18,633.633 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:54:18,677.677 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:54:18,729.729 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:54:18,731.731 INFO    ] No camera update needed
[2026-10-20 14:54:18,734.734 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:54:18,736.736 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:54:18,742.742 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:54:18,747.747 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:54:20,788.788 INFO    ] ================================================
[2026-10-20 14:54:20,804.804 INFO    ] Launching Daemon at Tue Oct 20 14:54:20 IST 2026
[2026-10-20 14:54:20,815.815 INFO    ] ================================================
[2026-10-20 14:54:21,397.397 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:54:21
[2026-10-20 14:54:21,998.998 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:54:22,260.260 INFO    ] Initializing speech engine...
[2026-10-20 14:54:22,275.275 INFO    ] 2026-10-20 14:54:22
[2026-10-20 14:54:22,559.559 INFO    ] 2026-10-20 14:54:22
[2026-10-20 14:54:22,597.597 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:54:22,802.802 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:54:22,823.823 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:54:23,038.038 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:54:23,046.046 INFO    ] time= 20/10/2026 14:54:23
[2026-10-20 14:54:23,115.115 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:54:23,170.170 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:54:23,313.313 INFO    ] No existing commands found in stream
[2026-10-20 14:54:28,336.336 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:54:28,339.339 INFO    ] Waiting 2.16 seconds before fallback handling...
[2026-10-20 14:54:31,009.009 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:54:31,012.012 INFO    ] Checking for system updates...
[2026-10-20 14:54:31,047.047 INFO    ] 200
[2026-10-20 14:54:31,050.050 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:54:31,107.107 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:54:31,110.110 INFO    ] No update needed
[2026-10-20 14:54:31,112.112 INFO    ] Checking for camera pi updates...
[2026-10-20 14:54:31,149.149 INFO    ] 200
[2026-10-20 14:54:31,151.151 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:54:31,191.191 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:54:31,240.240 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:54:31,243.243 INFO    ] No camera update needed
[2026-10-20 14:54:31,245.245 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:54:31,247.247 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:54:31,253.253 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:54:31,257.257 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:54:33,297.297 INFO    ] ================================================
[2026-10-20 14:54:33,312.312 INFO    ] Launching Daemon at Tue Oct 20 14:54:33 IST 2026
[2026-10-20 14:54:33,323.323 INFO    ] ================================================
[2026-10-20 14:54:33,904.904 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:54:33
[2026-10-20 14:54:34,502.502 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:54:34,783.783 INFO    ] Initializing speech engine...
[2026-10-20 14:54:34,797.797 INFO    ] 2026-10-20 14:54:34
[2026-10-20 14:54:35,063.063 INFO    ] 2026-10-20 14:54:35
[2026-10-20 14:54:35,099.099 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:54:35,357.357 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:54:35,379.379 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:54:35,606.606 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:54:35,622.622 INFO    ] time= 20/10/2026 14:54:35
[2026-10-20 14:54:35,628.628 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:54:35,649.649 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:54:35,779.779 INFO    ] No existing commands found in stream
[2026-10-20 14:54:40,799.799 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:54:40,802.802 INFO    ] Waiting 1.61 seconds before fallback handling...
[2026-10-20 14:54:42,949.949 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:54:42,952.952 INFO    ] Checking for system updates...
[2026-10-20 14:54:42,987.987 INFO    ] 200
[2026-10-20 14:54:42,989.989 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:54:43,048.048 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:54:43,050.050 INFO    ] No update needed
[2026-10-20 14:54:43,053.053 INFO    ] Checking for camera pi updates...
[2026-10-20 14:54:43,089.089 INFO    ] 200
[2026-10-20 14:54:43,091.091 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:54:43,131.131 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:54:43,180.180 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:54:43,183.183 INFO    ] No camera update needed
[2026-10-20 14:54:43,185.185 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:54:43,187.187 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:54:43,192.192 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:54:43,197.197 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:54:45,237.237 INFO    ] ================================================
[2026-10-20 14:54:45,252.252 INFO    ] Launching Daemon at Tue Oct 20 14:54:45 IST 2026
[2026-10-20 14:54:45,264.264 INFO    ] ================================================
[2026-10-20 14:54:45,841.841 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:54:45
[2026-10-20 14:54:46,439.439 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:54:46,701.701 INFO    ] Initializing speech engine...
[2026-10-20 14:54:46,715.715 INFO    ] 2026-10-20 14:54:46
[2026-10-20 14:54:46,996.996 INFO    ] 2026-10-20 14:54:46
[2026-10-20 14:54:47,034.034 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:54:47,253.253 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:54:47,260.260 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:54:47,479.479 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:54:47,501.501 INFO    ] time= 20/10/2026 14:54:47
[2026-10-20 14:54:47,540.540 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:54:47,589.589 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:54:47,685.685 INFO    ] No existing commands found in stream
[2026-10-20 14:54:52,697.697 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:54:52,700.700 INFO    ] Waiting 3.78 seconds before fallback handling...
[2026-10-20 14:54:56,993.993 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 14:54:56,996.996 INFO    ] Checking for system updates...
[2026-10-20 14:54:57,035.035 INFO    ] 200
[2026-10-20 14:54:57,038.038 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:54:57,097.097 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:54:57,100.100 INFO    ] No update needed
[2026-10-20 14:54:57,103.103 INFO    ] Checking for camera pi updates...
[2026-10-20 14:54:57,141.141 INFO    ] 200
[2026-10-20 14:54:57,144.144 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:54:57,184.184 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:54:57,327.327 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:54:57,334.334 INFO    ] No camera update needed
[2026-10-20 14:54:57,336.336 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:54:57,339.339 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:54:57,344.344 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:54:57,351.351 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:54:59,391.391 INFO    ] ================================================
[2026-10-20 14:54:59,406.406 INFO    ] Launching Daemon at Tue Oct 20 14:54:59 IST 2026
[2026-10-20 14:54:59,417.417 INFO    ] ================================================
[2026-10-20 14:55:00,000.000 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:54:59
[2026-10-20 14:55:00,618.618 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:55:00,891.891 INFO    ] Initializing speech engine...
[2026-10-20 14:55:00,912.912 INFO    ] 2026-10-20 14:55:00
[2026-10-20 14:55:01,219.219 INFO    ] 2026-10-20 14:55:01
[2026-10-20 14:55:01,279.279 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:55:01,508.508 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:55:01,517.517 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:55:01,697.697 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:55:01,787.787 INFO    ] time= 20/10/2026 14:55:01
[2026-10-20 14:55:01,801.801 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:55:01,807.807 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:55:01,927.927 INFO    ] No existing commands found in stream
[2026-10-20 14:55:06,938.938 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:55:06,941.941 INFO    ] Waiting 1.66 seconds before fallback handling...
[2026-10-20 14:55:09,142.142 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 14:55:09,145.145 INFO    ] Checking for system updates...
[2026-10-20 14:55:09,181.181 INFO    ] 200
[2026-10-20 14:55:09,184.184 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:55:09,236.236 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:55:09,239.239 INFO    ] No update needed
[2026-10-20 14:55:09,242.242 INFO    ] Checking for camera pi updates...
[2026-10-20 14:55:09,279.279 INFO    ] 200
[2026-10-20 14:55:09,282.282 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:55:09,323.323 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:55:09,369.369 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:55:09,372.372 INFO    ] No camera update needed
[2026-10-20 14:55:09,375.375 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:55:09,377.377 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:55:09,383.383 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:55:09,389.389 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:55:11,429.429 INFO    ] ================================================
[2026-10-20 14:55:11,443.443 INFO    ] Launching Daemon at Tue Oct 20 14:55:11 IST 2026
[2026-10-20 14:55:11,454.454 INFO    ] ================================================
[2026-10-20 14:55:12,024.024 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:55:12
[2026-10-20 14:55:12,606.606 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:55:12,880.880 INFO    ] Initializing speech engine...
[2026-10-20 14:55:12,886.886 INFO    ] 2026-10-20 14:55:12
[2026-10-20 14:55:13,135.135 INFO    ] 2026-10-20 14:55:13
[2026-10-20 14:55:13,170.170 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:55:13,431.431 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:55:13,437.437 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:55:13,635.635 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:55:13,679.679 INFO    ] time= 20/10/2026 14:55:13
[2026-10-20 14:55:13,702.702 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:55:13,708.708 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:55:13,856.856 INFO    ] No existing commands found in stream
[2026-10-20 14:55:18,871.871 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:55:18,874.874 INFO    ] Waiting 0.12 seconds before fallback handling...
[2026-10-20 14:55:19,509.509 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:55:19,511.511 INFO    ] Checking for system updates...
[2026-10-20 14:55:19,546.546 INFO    ] 200
[2026-10-20 14:55:19,549.549 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:55:19,601.601 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:55:19,603.603 INFO    ] No update needed
[2026-10-20 14:55:19,605.605 INFO    ] Checking for camera pi updates...
[2026-10-20 14:55:19,641.641 INFO    ] 200
[2026-10-20 14:55:19,643.643 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:55:19,684.684 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:55:19,731.731 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:55:19,734.734 INFO    ] No camera update needed
[2026-10-20 14:55:19,736.736 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:55:19,738.738 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:55:19,744.744 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:55:19,749.749 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:55:21,789.789 INFO    ] ================================================
[2026-10-20 14:55:21,804.804 INFO    ] Launching Daemon at Tue Oct 20 14:55:21 IST 2026
[2026-10-20 14:55:21,814.814 INFO    ] ================================================
[2026-10-20 14:55:22,447.447 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:55:22
[2026-10-20 14:55:23,104.104 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:55:23,401.401 INFO    ] Initializing speech engine...
[2026-10-20 14:55:23,414.414 INFO    ] 2026-10-20 14:55:23
[2026-10-20 14:55:23,689.689 INFO    ] 2026-10-20 14:55:23
[2026-10-20 14:55:23,733.733 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:55:24,018.018 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:55:24,023.023 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:55:24,216.216 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:55:24,234.234 INFO    ] time= 20/10/2026 14:55:24
[2026-10-20 14:55:24,263.263 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:55:24,272.272 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:55:24,403.403 INFO    ] No existing commands found in stream
[2026-10-20 14:55:29,439.439 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:55:29,442.442 INFO    ] Waiting 3.80 seconds before fallback handling...
[2026-10-20 14:55:33,778.778 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 14:55:33,781.781 INFO    ] Checking for system updates...
[2026-10-20 14:55:33,818.818 INFO    ] 200
[2026-10-20 14:55:33,821.821 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:55:33,874.874 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:55:33,877.877 INFO    ] No update needed
[2026-10-20 14:55:33,879.879 INFO    ] Checking for camera pi updates...
[2026-10-20 14:55:33,916.916 INFO    ] 200
[2026-10-20 14:55:33,919.919 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:55:33,961.961 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:55:34,005.005 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:55:34,008.008 INFO    ] No camera update needed
[2026-10-20 14:55:34,011.011 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:55:34,014.014 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:55:34,020.020 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:55:34,025.025 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:55:36,066.066 INFO    ] ================================================
[2026-10-20 14:55:36,081.081 INFO    ] Launching Daemon at Tue Oct 20 14:55:36 IST 2026
[2026-10-20 14:55:36,092.092 INFO    ] ================================================
[2026-10-20 14:55:36,665.665 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:55:36
[2026-10-20 14:55:37,253.253 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:55:37,519.519 INFO    ] Initializing speech engine...
[2026-10-20 14:55:37,532.532 INFO    ] 2026-10-20 14:55:37
[2026-10-20 14:55:37,783.783 INFO    ] 2026-10-20 14:55:37
[2026-10-20 14:55:37,817.817 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:55:37,992.992 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:55:38,005.005 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:55:38,154.154 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:55:38,160.160 INFO    ] time= 20/10/2026 14:55:38
[2026-10-20 14:55:38,180.180 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:55:38,228.228 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:55:38,357.357 INFO    ] No existing commands found in stream
[2026-10-20 14:55:43,367.367 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:55:43,370.370 INFO    ] Waiting 1.50 seconds before fallback handling...
[2026-10-20 14:55:45,424.424 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 14:55:45,427.427 INFO    ] Checking for system updates...
[2026-10-20 14:55:45,465.465 INFO    ] 200
[2026-10-20 14:55:45,467.467 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:55:45,520.520 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:55:45,522.522 INFO    ] No update needed
[2026-10-20 14:55:45,525.525 INFO    ] Checking for camera pi updates...
[2026-10-20 14:55:45,558.558 INFO    ] 200
[2026-10-20 14:55:45,560.560 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:55:45,606.606 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:55:45,656.656 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:55:45,659.659 INFO    ] No camera update needed
[2026-10-20 14:55:45,661.661 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:55:45,663.663 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:55:45,669.669 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:55:45,674.674 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:55:47,712.712 INFO    ] ================================================
[2026-10-20 14:55:47,727.727 INFO    ] Launching Daemon at Tue Oct 20 14:55:47 IST 2026
[2026-10-20 14:55:47,738.738 INFO    ] ================================================
[2026-10-20 14:55:48,313.313 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:55:48
[2026-10-20 14:55:48,897.897 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:55:49,167.167 INFO    ] Initializing speech engine...
[2026-10-20 14:55:49,176.176 INFO    ] 2026-10-20 14:55:49
[2026-10-20 14:55:49,426.426 INFO    ] 2026-10-20 14:55:49
[2026-10-20 14:55:49,461.461 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:55:49,722.722 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:55:49,729.729 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:55:49,969.969 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:55:49,989.989 INFO    ] time= 20/10/2026 14:55:49
[2026-10-20 14:55:49,996.996 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:55:50,016.016 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:55:50,145.145 INFO    ] No existing commands found in stream
[2026-10-20 14:55:55,158.158 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:55:55,161.161 INFO    ] Waiting 1.52 seconds before fallback handling...
[2026-10-20 14:55:57,220.220 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:55:57,223.223 INFO    ] Checking for system updates...
[2026-10-20 14:55:57,258.258 INFO    ] 200
[2026-10-20 14:55:57,261.261 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:55:57,318.318 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:55:57,321.321 INFO    ] No update needed
[2026-10-20 14:55:57,323.323 INFO    ] Checking for camera pi updates...
[2026-10-20 14:55:57,357.357 INFO    ] 200
[2026-10-20 14:55:57,360.360 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:55:57,404.404 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:55:57,454.454 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:55:57,456.456 INFO    ] No camera update needed
[2026-10-20 14:55:57,459.459 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:55:57,461.461 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:55:57,466.466 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:55:57,471.471 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:55:59,511.511 INFO    ] ================================================
[2026-10-20 14:55:59,525.525 INFO    ] Launching Daemon at Tue Oct 20 14:55:59 IST 2026
[2026-10-20 14:55:59,536.536 INFO    ] ================================================
[2026-10-20 14:56:00,110.110 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:56:00
[2026-10-20 14:56:00,695.695 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:56:00,967.967 INFO    ] Initializing speech engine...
[2026-10-20 14:56:00,976.976 INFO    ] 2026-10-20 14:56:00
[2026-10-20 14:56:01,225.225 INFO    ] 2026-10-20 14:56:01
[2026-10-20 14:56:01,260.260 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:56:01,466.466 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:56:01,496.496 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:56:01,662.662 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:56:01,734.734 INFO    ] time= 20/10/2026 14:56:01
[2026-10-20 14:56:01,781.781 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:56:01,804.804 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:56:01,915.915 INFO    ] No existing commands found in stream
[2026-10-20 14:56:06,925.925 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:56:06,928.928 INFO    ] Waiting 0.86 seconds before fallback handling...
[2026-10-20 14:56:08,337.337 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 14:56:08,340.340 INFO    ] Checking for system updates...
[2026-10-20 14:56:08,377.377 INFO    ] 200
[2026-10-20 14:56:08,380.380 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:56:08,432.432 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:56:08,435.435 INFO    ] No update needed
[2026-10-20 14:56:08,437.437 INFO    ] Checking for camera pi updates...
[2026-10-20 14:56:08,471.471 INFO    ] 200
[2026-10-20 14:56:08,473.473 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:56:08,513.513 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:56:08,559.559 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:56:08,561.561 INFO    ] No camera update needed
[2026-10-20 14:56:08,563.563 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:56:08,566.566 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:56:08,571.571 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:56:08,576.576 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:56:10,615.615 INFO    ] ================================================
[2026-10-20 14:56:10,630.630 INFO    ] Launching Daemon at Tue Oct 20 14:56:10 IST 2026
[2026-10-20 14:56:10,641.641 INFO    ] ================================================
[2026-10-20 14:56:11,210.210 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:56:11
[2026-10-20 14:56:11,791.791 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:56:12,072.072 INFO    ] Initializing speech engine...
[2026-10-20 14:56:12,082.082 INFO    ] 2026-10-20 14:56:12
[2026-10-20 14:56:12,346.346 INFO    ] 2026-10-20 14:56:12
[2026-10-20 14:56:12,387.387 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:56:12,669.669 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:56:12,675.675 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:56:12,868.868 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:56:12,875.875 INFO    ] time= 20/10/2026 14:56:12
[2026-10-20 14:56:12,895.895 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:56:12,921.921 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:56:13,028.028 INFO    ] No existing commands found in stream
[2026-10-20 14:56:18,056.056 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:56:18,059.059 INFO    ] Waiting 3.08 seconds before fallback handling...
[2026-10-20 14:56:21,689.689 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 14:56:21,691.691 INFO    ] Checking for system updates...
[2026-10-20 14:56:21,727.727 INFO    ] 200
[2026-10-20 14:56:21,730.730 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:56:21,781.781 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:56:21,784.784 INFO    ] No update needed
[2026-10-20 14:56:21,786.786 INFO    ] Checking for camera pi updates...
[2026-10-20 14:56:21,820.820 INFO    ] 200
[2026-10-20 14:56:21,822.822 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:56:21,864.864 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:56:21,915.915 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:56:21,917.917 INFO    ] No camera update needed
[2026-10-20 14:56:21,920.920 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:56:21,922.922 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:56:21,927.927 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:56:21,932.932 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:56:23,973.973 INFO    ] ================================================
[2026-10-20 14:56:23,987.987 INFO    ] Launching Daemon at Tue Oct 20 14:56:23 IST 2026
[2026-10-20 14:56:24,998.998 INFO    ] ================================================
[2026-10-20 14:56:24,566.566 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:56:24
[2026-10-20 14:56:25,150.150 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:56:25,401.401 INFO    ] Initializing speech engine...
[2026-10-20 14:56:25,424.424 INFO    ] 2026-10-20 14:56:25
[2026-10-20 14:56:25,677.677 INFO    ] 2026-10-20 14:56:25
[2026-10-20 14:56:25,712.712 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:56:25,955.955 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:56:25,972.972 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:56:26,183.183 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:56:26,240.240 INFO    ] time= 20/10/2026 14:56:26
[2026-10-20 14:56:26,246.246 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:56:26,263.263 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:56:26,393.393 INFO    ] No existing commands found in stream
[2026-10-20 14:56:31,408.408 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:56:31,411.411 INFO    ] Waiting 3.38 seconds before fallback handling...
[2026-10-20 14:56:35,301.301 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:56:35,304.304 INFO    ] Checking for system updates...
[2026-10-20 14:56:35,341.341 INFO    ] 200
[2026-10-20 14:56:35,344.344 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:56:35,395.395 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:56:35,397.397 INFO    ] No update needed
[2026-10-20 14:56:35,400.400 INFO    ] Checking for camera pi updates...
[2026-10-20 14:56:35,435.435 INFO    ] 200
[2026-10-20 14:56:35,437.437 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:56:35,478.478 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:56:35,528.528 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:56:35,530.530 INFO    ] No camera update needed
[2026-10-20 14:56:35,532.532 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:56:35,535.535 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:56:35,540.540 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:56:35,545.545 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:56:37,584.584 INFO    ] ================================================
[2026-10-20 14:56:37,599.599 INFO    ] Launching Daemon at Tue Oct 20 14:56:37 IST 2026
[2026-10-20 14:56:37,610.610 INFO    ] ================================================
[2026-10-20 14:56:38,186.186 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:56:38
[2026-10-20 14:56:38,775.775 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:56:39,028.028 INFO    ] Initializing speech engine...
[2026-10-20 14:56:39,034.034 INFO    ] 2026-10-20 14:56:39
[2026-10-20 14:56:39,321.321 INFO    ] 2026-10-20 14:56:39
[2026-10-20 14:56:39,359.359 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:56:39,575.575 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:56:39,618.618 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:56:39,791.791 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:56:39,823.823 INFO    ] time= 20/10/2026 14:56:39
[2026-10-20 14:56:39,872.872 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:56:39,927.927 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:56:40,081.081 INFO    ] No existing commands found in stream
[2026-10-20 14:56:45,107.107 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:56:45,110.110 INFO    ] Waiting 3.96 seconds before fallback handling...
[2026-10-20 14:56:49,592.592 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 14:56:49,594.594 INFO    ] Checking for system updates...
[2026-10-20 14:56:49,630.630 INFO    ] 200
[2026-10-20 14:56:49,633.633 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:56:49,694.694 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:56:49,696.696 INFO    ] No update needed
[2026-10-20 14:56:49,699.699 INFO    ] Checking for camera pi updates...
[2026-10-20 14:56:49,732.732 INFO    ] 200
[2026-10-20 14:56:49,734.734 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:56:49,774.774 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:56:49,820.820 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:56:49,823.823 INFO    ] No camera update needed
[2026-10-20 14:56:49,825.825 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:56:49,827.827 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:56:49,833.833 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:56:49,838.838 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:56:51,877.877 INFO    ] ================================================
[2026-10-20 14:56:51,892.892 INFO    ] Launching Daemon at Tue Oct 20 14:56:51 IST 2026
[2026-10-20 14:56:51,903.903 INFO    ] ================================================
[2026-10-20 14:56:52,482.482 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:56:52
[2026-10-20 14:56:53,081.081 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:56:53,366.366 INFO    ] Initializing speech engine...
[2026-10-20 14:56:53,375.375 INFO    ] 2026-10-20 14:56:53
[2026-10-20 14:56:53,642.642 INFO    ] 2026-10-20 14:56:53
[2026-10-20 14:56:53,678.678 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:56:53,872.872 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:56:53,885.885 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:56:54,043.043 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:56:54,052.052 INFO    ] time= 20/10/2026 14:56:54
[2026-10-20 14:56:54,058.058 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:56:54,106.106 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:56:54,245.245 INFO    ] No existing commands found in stream
[2026-10-20 14:56:59,270.270 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:56:59,273.273 INFO    ] Waiting 2.21 seconds before fallback handling...
[2026-10-20 14:57:02,087.087 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:57:02,094.094 INFO    ] Checking for system updates...
[2026-10-20 14:57:02,160.160 INFO    ] 200
[2026-10-20 14:57:02,164.164 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:57:02,230.230 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:57:02,233.233 INFO    ] No update needed
[2026-10-20 14:57:02,236.236 INFO    ] Checking for camera pi updates...
[2026-10-20 14:57:02,278.278 INFO    ] 200
[2026-10-20 14:57:02,281.281 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:57:02,334.334 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:57:02,468.468 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:57:02,472.472 INFO    ] No camera update needed
[2026-10-20 14:57:02,476.476 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:57:02,480.480 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:57:02,489.489 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:57:02,499.499 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:57:04,542.542 INFO    ] ================================================
[2026-10-20 14:57:04,557.557 INFO    ] Launching Daemon at Tue Oct 20 14:57:04 IST 2026
[2026-10-20 14:57:04,569.569 INFO    ] ================================================
[2026-10-20 14:57:05,214.214 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:57:05
[2026-10-20 14:57:05,878.878 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:57:06,178.178 INFO    ] Initializing speech engine...
[2026-10-20 14:57:06,186.186 INFO    ] 2026-10-20 14:57:06
[2026-10-20 14:57:06,468.468 INFO    ] 2026-10-20 14:57:06
[2026-10-20 14:57:06,515.515 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:57:06,800.800 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:57:06,810.810 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:57:07,003.003 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:57:07,022.022 INFO    ] time= 20/10/2026 14:57:07
[2026-10-20 14:57:07,050.050 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:57:07,059.059 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:57:07,180.180 INFO    ] No existing commands found in stream
[2026-10-20 14:57:12,206.206 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:57:12,210.210 INFO    ] Waiting 2.24 seconds before fallback handling...
[2026-10-20 14:57:15,003.003 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 14:57:15,006.006 INFO    ] Checking for system updates...
[2026-10-20 14:57:15,043.043 INFO    ] 200
[2026-10-20 14:57:15,046.046 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:57:15,098.098 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:57:15,101.101 INFO    ] No update needed
[2026-10-20 14:57:15,103.103 INFO    ] Checking for camera pi updates...
[2026-10-20 14:57:15,136.136 INFO    ] 200
[2026-10-20 14:57:15,139.139 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:57:15,179.179 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:57:15,225.225 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:57:15,227.227 INFO    ] No camera update needed
[2026-10-20 14:57:15,230.230 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:57:15,232.232 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:57:15,237.237 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:57:15,242.242 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:57:17,283.283 INFO    ] ================================================
[2026-10-20 14:57:17,299.299 INFO    ] Launching Daemon at Tue Oct 20 14:57:17 IST 2026
[2026-10-20 14:57:17,311.311 INFO    ] ================================================
[2026-10-20 14:57:17,964.964 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:57:17
[2026-10-20 14:57:18,637.637 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:57:18,939.939 INFO    ] Initializing speech engine...
[2026-10-20 14:57:18,946.946 INFO    ] 2026-10-20 14:57:18
[2026-10-20 14:57:19,222.222 INFO    ] 2026-10-20 14:57:19
[2026-10-20 14:57:19,275.275 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:57:19,526.526 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:57:19,533.533 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:57:19,763.763 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:57:19,771.771 INFO    ] time= 20/10/2026 14:57:19
[2026-10-20 14:57:19,792.792 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:57:19,818.818 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:57:19,951.951 INFO    ] No existing commands found in stream
[2026-10-20 14:57:24,977.977 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:57:24,980.980 INFO    ] Waiting 1.02 seconds before fallback handling...
[2026-10-20 14:57:26,560.560 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 14:57:26,563.563 INFO    ] Checking for system updates...
[2026-10-20 14:57:26,598.598 INFO    ] 200
[2026-10-20 14:57:26,601.601 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:57:26,661.661 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:57:26,663.663 INFO    ] No update needed
[2026-10-20 14:57:26,665.665 INFO    ] Checking for camera pi updates...
[2026-10-20 14:57:26,698.698 INFO    ] 200
[2026-10-20 14:57:26,701.701 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:57:26,745.745 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:57:26,803.803 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:57:26,806.806 INFO    ] No camera update needed
[2026-10-20 14:57:26,808.808 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:57:26,810.810 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:57:26,816.816 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:57:26,821.821 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:57:28,861.861 INFO    ] ================================================
[2026-10-20 14:57:28,876.876 INFO    ] Launching Daemon at Tue Oct 20 14:57:28 IST 2026
[2026-10-20 14:57:28,887.887 INFO    ] ================================================
[2026-10-20 14:57:29,539.539 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:57:29
[2026-10-20 14:57:30,214.214 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:57:30,521.521 INFO    ] Initializing speech engine...
[2026-10-20 14:57:30,530.530 INFO    ] 2026-10-20 14:57:30
[2026-10-20 14:57:30,819.819 INFO    ] 2026-10-20 14:57:30
[2026-10-20 14:57:30,865.865 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:57:31,154.154 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:57:31,163.163 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:57:31,363.363 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:57:31,382.382 INFO    ] time= 20/10/2026 14:57:31
[2026-10-20 14:57:31,391.391 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:57:31,419.419 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:57:31,549.549 INFO    ] No existing commands found in stream
[2026-10-20 14:57:36,585.585 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:57:36,588.588 INFO    ] Waiting 3.58 seconds before fallback handling...
[2026-10-20 14:57:40,739.739 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 14:57:40,742.742 INFO    ] Checking for system updates...
[2026-10-20 14:57:40,779.779 INFO    ] 200
[2026-10-20 14:57:40,782.782 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:57:40,841.841 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:57:40,844.844 INFO    ] No update needed
[2026-10-20 14:57:40,847.847 INFO    ] Checking for camera pi updates...
[2026-10-20 14:57:40,882.882 INFO    ] 200
[2026-10-20 14:57:40,885.885 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:57:40,925.925 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:57:40,970.970 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:57:40,973.973 INFO    ] No camera update needed
[2026-10-20 14:57:40,975.975 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:57:40,978.978 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:57:40,984.984 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:57:40,990.990 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:57:43,031.031 INFO    ] ================================================
[2026-10-20 14:57:43,047.047 INFO    ] Launching Daemon at Tue Oct 20 14:57:43 IST 2026
[2026-10-20 14:57:43,058.058 INFO    ] ================================================
[2026-10-20 14:57:43,625.625 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:57:43
[2026-10-20 14:57:44,207.207 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:57:44,478.478 INFO    ] Initializing speech engine...
[2026-10-20 14:57:44,487.487 INFO    ] 2026-10-20 14:57:44
[2026-10-20 14:57:44,739.739 INFO    ] 2026-10-20 14:57:44
[2026-10-20 14:57:44,773.773 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:57:45,035.035 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:57:45,044.044 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:57:45,182.182 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:57:45,211.211 INFO    ] time= 20/10/2026 14:57:45
[2026-10-20 14:57:45,281.281 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:57:45,318.318 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:57:45,471.471 INFO    ] No existing commands found in stream
[2026-10-20 14:57:50,483.483 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:57:50,486.486 INFO    ] Waiting 2.06 seconds before fallback handling...
[2026-10-20 14:57:53,032.032 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:57:53,034.034 INFO    ] Checking for system updates...
[2026-10-20 14:57:53,070.070 INFO    ] 200
[2026-10-20 14:57:53,073.073 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:57:53,146.146 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:57:53,149.149 INFO    ] No update needed
[2026-10-20 14:57:53,152.152 INFO    ] Checking for camera pi updates...
[2026-10-20 14:57:53,194.194 INFO    ] 200
[2026-10-20 14:57:53,196.196 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:57:53,238.238 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:57:53,291.291 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:57:53,294.294 INFO    ] No camera update needed
[2026-10-20 14:57:53,297.297 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:57:53,300.300 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:57:53,306.306 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:57:53,312.312 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:57:55,352.352 INFO    ] ================================================
[2026-10-20 14:57:55,368.368 INFO    ] Launching Daemon at Tue Oct 20 14:57:55 IST 2026
[2026-10-20 14:57:55,378.378 INFO    ] ================================================
[2026-10-20 14:57:56,026.026 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:57:56
[2026-10-20 14:57:56,692.692 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:57:56,992.992 INFO    ] Initializing speech engine...
[2026-10-20 14:57:57,000.000 INFO    ] 2026-10-20 14:57:56
[2026-10-20 14:57:57,314.314 INFO    ] 2026-10-20 14:57:57
[2026-10-20 14:57:57,401.401 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:57:57,613.613 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:57:57,618.618 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:57:57,792.792 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:57:57,821.821 INFO    ] time= 20/10/2026 14:57:57
[2026-10-20 14:57:57,840.840 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:57:57,870.870 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:57:57,996.996 INFO    ] No existing commands found in stream
[2026-10-20 14:58:03,031.031 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:58:03,035.035 INFO    ] Waiting 0.92 seconds before fallback handling...
[2026-10-20 14:58:04,459.459 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 14:58:04,462.462 INFO    ] Checking for system updates...
[2026-10-20 14:58:04,501.501 INFO    ] 200
[2026-10-20 14:58:04,503.503 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:58:04,555.555 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:58:04,557.557 INFO    ] No update needed
[2026-10-20 14:58:04,560.560 INFO    ] Checking for camera pi updates...
[2026-10-20 14:58:04,597.597 INFO    ] 200
[2026-10-20 14:58:04,599.599 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:58:04,640.640 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:58:04,686.686 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:58:04,689.689 INFO    ] No camera update needed
[2026-10-20 14:58:04,691.691 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:58:04,693.693 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:58:04,699.699 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:58:04,704.704 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:58:06,747.747 INFO    ] ================================================
[2026-10-20 14:58:06,762.762 INFO    ] Launching Daemon at Tue Oct 20 14:58:06 IST 2026
[2026-10-20 14:58:06,773.773 INFO    ] ================================================
[2026-10-20 14:58:07,359.359 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:58:07
[2026-10-20 14:58:07,958.958 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:58:08,238.238 INFO    ] Initializing speech engine...
[2026-10-20 14:58:08,247.247 INFO    ] 2026-10-20 14:58:08
[2026-10-20 14:58:08,506.506 INFO    ] 2026-10-20 14:58:08
[2026-10-20 14:58:08,536.536 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:58:08,787.787 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:58:08,798.798 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:58:09,020.020 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:58:09,049.049 INFO    ] time= 20/10/2026 14:58:09
[2026-10-20 14:58:09,065.065 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:58:09,076.076 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:58:09,228.228 INFO    ] No existing commands found in stream
[2026-10-20 14:58:14,258.258 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:58:14,261.261 INFO    ] Waiting 0.42 seconds before fallback handling...
[2026-10-20 14:58:15,217.217 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 14:58:15,219.219 INFO    ] Checking for system updates...
[2026-10-20 14:58:15,255.255 INFO    ] 200
[2026-10-20 14:58:15,258.258 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:58:15,313.313 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:58:15,316.316 INFO    ] No update needed
[2026-10-20 14:58:15,318.318 INFO    ] Checking for camera pi updates...
[2026-10-20 14:58:15,351.351 INFO    ] 200
[2026-10-20 14:58:15,354.354 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:58:15,394.394 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:58:15,443.443 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:58:15,446.446 INFO    ] No camera update needed
[2026-10-20 14:58:15,448.448 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:58:15,450.450 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:58:15,456.456 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:58:15,461.461 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:58:17,501.501 INFO    ] ================================================
[2026-10-20 14:58:17,516.516 INFO    ] Launching Daemon at Tue Oct 20 14:58:17 IST 2026
[2026-10-20 14:58:17,528.528 INFO    ] ================================================
[2026-10-20 14:58:18,101.101 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:58:18
[2026-10-20 14:58:18,704.704 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:58:18,982.982 INFO    ] Initializing speech engine...
[2026-10-20 14:58:18,989.989 INFO    ] 2026-10-20 14:58:18
[2026-10-20 14:58:19,251.251 INFO    ] 2026-10-20 14:58:19
[2026-10-20 14:58:19,304.304 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:58:19,532.532 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:58:19,537.537 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:58:19,750.750 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:58:19,794.794 INFO    ] time= 20/10/2026 14:58:19
[2026-10-20 14:58:19,810.810 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:58:19,821.821 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:58:19,953.953 INFO    ] No existing commands found in stream
[2026-10-20 14:58:24,984.984 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:58:24,986.986 INFO    ] Waiting 3.09 seconds before fallback handling...
[2026-10-20 14:58:28,560.560 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 14:58:28,563.563 INFO    ] Checking for system updates...
[2026-10-20 14:58:28,602.602 INFO    ] 200
[2026-10-20 14:58:28,605.605 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:58:28,656.656 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:58:28,659.659 INFO    ] No update needed
[2026-10-20 14:58:28,661.661 INFO    ] Checking for camera pi updates...
[2026-10-20 14:58:28,695.695 INFO    ] 200
[2026-10-20 14:58:28,698.698 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:58:28,740.740 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:58:28,785.785 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:58:28,787.787 INFO    ] No camera update needed
[2026-10-20 14:58:28,790.790 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:58:28,792.792 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:58:28,798.798 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:58:28,803.803 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:58:30,843.843 INFO    ] ================================================
[2026-10-20 14:58:30,858.858 INFO    ] Launching Daemon at Tue Oct 20 14:58:30 IST 2026
[2026-10-20 14:58:30,869.869 INFO    ] ================================================
[2026-10-20 14:58:31,455.455 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:58:31
[2026-10-20 14:58:32,086.086 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:58:32,375.375 INFO    ] Initializing speech engine...
[2026-10-20 14:58:32,388.388 INFO    ] 2026-10-20 14:58:32
[2026-10-20 14:58:32,674.674 INFO    ] 2026-10-20 14:58:32
[2026-10-20 14:58:32,732.732 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:58:32,991.991 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:58:33,013.013 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:58:33,254.254 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:58:33,263.263 INFO    ] time= 20/10/2026 14:58:33
[2026-10-20 14:58:33,271.271 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:58:33,278.278 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:58:33,421.421 INFO    ] No existing commands found in stream
[2026-10-20 14:58:38,446.446 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:58:38,449.449 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-10-20 14:58:41,622.622 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 14:58:41,624.624 INFO    ] Checking for system updates...
[2026-10-20 14:58:41,660.660 INFO    ] 200
[2026-10-20 14:58:41,662.662 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:58:41,721.721 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:58:41,724.724 INFO    ] No update needed
[2026-10-20 14:58:41,726.726 INFO    ] Checking for camera pi updates...
[2026-10-20 14:58:41,760.760 INFO    ] 200
[2026-10-20 14:58:41,763.763 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:58:41,808.808 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:58:41,857.857 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:58:41,860.860 INFO    ] No camera update needed
[2026-10-20 14:58:41,863.863 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:58:41,865.865 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:58:41,871.871 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:58:41,876.876 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:58:43,916.916 INFO    ] ================================================
[2026-10-20 14:58:43,931.931 INFO    ] Launching Daemon at Tue Oct 20 14:58:43 IST 2026
[2026-10-20 14:58:43,942.942 INFO    ] ================================================
[2026-10-20 14:58:44,522.522 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:58:44
[2026-10-20 14:58:45,120.120 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:58:45,382.382 INFO    ] Initializing speech engine...
[2026-10-20 14:58:45,396.396 INFO    ] 2026-10-20 14:58:45
[2026-10-20 14:58:45,685.685 INFO    ] 2026-10-20 14:58:45
[2026-10-20 14:58:45,724.724 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:58:49,040.040 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:58:49,043.043 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:58:49,202.202 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:58:49,205.205 INFO    ] time= 20/10/2026 14:58:49
[2026-10-20 14:58:49,207.207 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:58:49,210.210 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:58:49,293.293 INFO    ] No existing commands found in stream
[2026-10-20 14:58:54,303.303 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:58:54,305.305 INFO    ] Waiting 2.65 seconds before fallback handling...
[2026-10-20 14:58:57,473.473 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 14:58:57,476.476 INFO    ] Checking for system updates...
[2026-10-20 14:58:57,513.513 INFO    ] 200
[2026-10-20 14:58:57,515.515 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:58:57,574.574 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:58:57,578.578 INFO    ] No update needed
[2026-10-20 14:58:57,581.581 INFO    ] Checking for camera pi updates...
[2026-10-20 14:58:57,615.615 INFO    ] 200
[2026-10-20 14:58:57,617.617 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:58:57,664.664 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:58:57,719.719 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:58:57,722.722 INFO    ] No camera update needed
[2026-10-20 14:58:57,725.725 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:58:57,727.727 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:58:57,734.734 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:58:57,740.740 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:58:59,779.779 INFO    ] ================================================
[2026-10-20 14:58:59,794.794 INFO    ] Launching Daemon at Tue Oct 20 14:58:59 IST 2026
[2026-10-20 14:58:59,805.805 INFO    ] ================================================
[2026-10-20 14:59:00,372.372 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:59:00
[2026-10-20 14:59:00,960.960 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:59:01,215.215 INFO    ] Initializing speech engine...
[2026-10-20 14:59:01,224.224 INFO    ] 2026-10-20 14:59:01
[2026-10-20 14:59:01,518.518 INFO    ] 2026-10-20 14:59:01
[2026-10-20 14:59:01,552.552 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:59:01,793.793 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:59:01,799.799 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:59:01,954.954 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:59:01,958.958 INFO    ] time= 20/10/2026 14:59:01
[2026-10-20 14:59:01,962.962 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:59:01,965.965 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:59:02,049.049 INFO    ] No existing commands found in stream
[2026-10-20 14:59:07,059.059 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:59:07,062.062 INFO    ] Waiting 2.14 seconds before fallback handling...
[2026-10-20 14:59:09,741.741 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 14:59:09,744.744 INFO    ] Checking for system updates...
[2026-10-20 14:59:09,779.779 INFO    ] 200
[2026-10-20 14:59:09,782.782 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:59:09,842.842 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:59:09,845.845 INFO    ] No update needed
[2026-10-20 14:59:09,847.847 INFO    ] Checking for camera pi updates...
[2026-10-20 14:59:09,880.880 INFO    ] 200
[2026-10-20 14:59:09,883.883 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:59:09,923.923 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:59:10,070.070 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:59:10,073.073 INFO    ] No camera update needed
[2026-10-20 14:59:10,075.075 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:59:10,077.077 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:59:10,082.082 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:59:10,087.087 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:59:12,128.128 INFO    ] ================================================
[2026-10-20 14:59:12,143.143 INFO    ] Launching Daemon at Tue Oct 20 14:59:12 IST 2026
[2026-10-20 14:59:12,153.153 INFO    ] ================================================
[2026-10-20 14:59:12,718.718 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:59:12
[2026-10-20 14:59:13,301.301 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:59:13,559.559 INFO    ] Initializing speech engine...
[2026-10-20 14:59:13,576.576 INFO    ] 2026-10-20 14:59:13
[2026-10-20 14:59:13,830.830 INFO    ] 2026-10-20 14:59:13
[2026-10-20 14:59:13,866.866 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:59:14,067.067 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:59:14,123.123 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:59:14,317.317 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:59:14,377.377 INFO    ] time= 20/10/2026 14:59:14
[2026-10-20 14:59:14,404.404 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:59:14,419.419 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:59:14,553.553 INFO    ] No existing commands found in stream
[2026-10-20 14:59:19,569.569 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:59:19,572.572 INFO    ] Waiting 2.72 seconds before fallback handling...
[2026-10-20 14:59:22,824.824 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 14:59:22,826.826 INFO    ] Checking for system updates...
[2026-10-20 14:59:22,866.866 INFO    ] 200
[2026-10-20 14:59:22,868.868 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:59:22,935.935 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:59:22,937.937 INFO    ] No update needed
[2026-10-20 14:59:22,940.940 INFO    ] Checking for camera pi updates...
[2026-10-20 14:59:22,977.977 INFO    ] 200
[2026-10-20 14:59:22,980.980 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:59:23,020.020 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:59:23,067.067 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:59:23,070.070 INFO    ] No camera update needed
[2026-10-20 14:59:23,072.072 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:59:23,075.075 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:59:23,080.080 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:59:23,085.085 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:59:25,127.127 INFO    ] ================================================
[2026-10-20 14:59:25,142.142 INFO    ] Launching Daemon at Tue Oct 20 14:59:25 IST 2026
[2026-10-20 14:59:25,153.153 INFO    ] ================================================
[2026-10-20 14:59:25,822.822 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:59:25
[2026-10-20 14:59:26,419.419 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:59:26,696.696 INFO    ] Initializing speech engine...
[2026-10-20 14:59:26,702.702 INFO    ] 2026-10-20 14:59:26
[2026-10-20 14:59:26,962.962 INFO    ] 2026-10-20 14:59:26
[2026-10-20 14:59:26,992.992 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:59:27,263.263 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:59:27,270.270 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:59:27,499.499 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:59:27,506.506 INFO    ] time= 20/10/2026 14:59:27
[2026-10-20 14:59:27,524.524 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:59:27,551.551 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:59:27,663.663 INFO    ] No existing commands found in stream
[2026-10-20 14:59:32,687.687 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:59:32,690.690 INFO    ] Waiting 1.61 seconds before fallback handling...
[2026-10-20 14:59:34,840.840 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 14:59:34,843.843 INFO    ] Checking for system updates...
[2026-10-20 14:59:34,880.880 INFO    ] 200
[2026-10-20 14:59:34,883.883 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:59:34,943.943 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:59:34,946.946 INFO    ] No update needed
[2026-10-20 14:59:34,948.948 INFO    ] Checking for camera pi updates...
[2026-10-20 14:59:34,981.981 INFO    ] 200
[2026-10-20 14:59:34,984.984 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:59:35,029.029 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:59:35,079.079 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 14:59:35,081.081 INFO    ] No camera update needed
[2026-10-20 14:59:35,084.084 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:59:35,086.086 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:59:35,092.092 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:59:35,097.097 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:59:37,139.139 INFO    ] ================================================
[2026-10-20 14:59:37,153.153 INFO    ] Launching Daemon at Tue Oct 20 14:59:37 IST 2026
[2026-10-20 14:59:37,164.164 INFO    ] ================================================
[2026-10-20 14:59:37,746.746 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:59:37
[2026-10-20 14:59:38,345.345 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:59:38,624.624 INFO    ] Initializing speech engine...
[2026-10-20 14:59:38,639.639 INFO    ] 2026-10-20 14:59:38
[2026-10-20 14:59:38,906.906 INFO    ] 2026-10-20 14:59:38
[2026-10-20 14:59:38,948.948 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:59:39,231.231 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:59:39,235.235 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:59:39,429.429 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:59:39,435.435 INFO    ] time= 20/10/2026 14:59:39
[2026-10-20 14:59:39,456.456 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:59:39,482.482 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:59:39,593.593 INFO    ] No existing commands found in stream
[2026-10-20 14:59:44,622.622 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:59:44,625.625 INFO    ] Waiting 2.61 seconds before fallback handling...
[2026-10-20 14:59:47,790.790 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 14:59:47,793.793 INFO    ] Checking for system updates...
[2026-10-20 14:59:47,834.834 INFO    ] 200
[2026-10-20 14:59:47,836.836 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:59:47,895.895 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:59:47,898.898 INFO    ] No update needed
[2026-10-20 14:59:47,901.901 INFO    ] Checking for camera pi updates...
[2026-10-20 14:59:47,934.934 INFO    ] 200
[2026-10-20 14:59:47,936.936 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 14:59:47,976.976 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 14:59:48,022.022 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 14:59:48,025.025 INFO    ] No camera update needed
[2026-10-20 14:59:48,027.027 INFO    ] Script finished. Safe exiting...
[2026-10-20 14:59:48,029.029 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 14:59:48,035.035 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 14:59:48,040.040 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 14:59:50,078.078 INFO    ] ================================================
[2026-10-20 14:59:50,093.093 INFO    ] Launching Daemon at Tue Oct 20 14:59:50 IST 2026
[2026-10-20 14:59:50,104.104 INFO    ] ================================================
[2026-10-20 14:59:50,764.764 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 14:59:50
[2026-10-20 14:59:51,443.443 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 14:59:51,743.743 INFO    ] Initializing speech engine...
[2026-10-20 14:59:51,755.755 INFO    ] 2026-10-20 14:59:51
[2026-10-20 14:59:52,033.033 INFO    ] 2026-10-20 14:59:52
[2026-10-20 14:59:52,090.090 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 14:59:52,326.326 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 14:59:52,333.333 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 14:59:52,551.551 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 14:59:52,596.596 INFO    ] time= 20/10/2026 14:59:52
[2026-10-20 14:59:52,614.614 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 14:59:52,623.623 INFO    ] Checking for existing commands in stream...
[2026-10-20 14:59:52,752.752 INFO    ] No existing commands found in stream
[2026-10-20 14:59:57,767.767 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 14:59:57,771.771 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-10-20 15:00:01,482.482 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:00:01,485.485 INFO    ] Checking for system updates...
[2026-10-20 15:00:01,526.526 INFO    ] 200
[2026-10-20 15:00:01,528.528 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:00:01,588.588 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:00:01,590.590 INFO    ] No update needed
[2026-10-20 15:00:01,593.593 INFO    ] Checking for camera pi updates...
[2026-10-20 15:00:01,627.627 INFO    ] 200
[2026-10-20 15:00:01,629.629 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:00:01,688.688 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:00:01,841.841 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:00:01,845.845 INFO    ] No camera update needed
[2026-10-20 15:00:01,863.863 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:00:01,879.879 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:00:01,929.929 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:00:01,943.943 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:00:04,070.070 INFO    ] ================================================
[2026-10-20 15:00:04,180.180 INFO    ] Launching Daemon at Tue Oct 20 15:00:04 IST 2026
[2026-10-20 15:00:04,240.240 INFO    ] ================================================
[2026-10-20 15:00:06,122.122 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:00:06
[2026-10-20 15:00:06,814.814 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:00:07,088.088 INFO    ] Initializing speech engine...
[2026-10-20 15:00:07,094.094 INFO    ] 2026-10-20 15:00:07
[2026-10-20 15:00:07,357.357 INFO    ] 2026-10-20 15:00:07
[2026-10-20 15:00:07,387.387 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:00:07,636.636 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:00:07,646.646 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:00:07,856.856 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:00:07,910.910 INFO    ] time= 20/10/2026 15:00:07
[2026-10-20 15:00:07,917.917 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:00:07,932.932 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:00:08,063.063 INFO    ] No existing commands found in stream
[2026-10-20 15:00:13,081.081 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:00:13,083.083 INFO    ] Waiting 0.43 seconds before fallback handling...
[2026-10-20 15:00:14,065.065 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:00:14,068.068 INFO    ] Checking for system updates...
[2026-10-20 15:00:14,107.107 INFO    ] 200
[2026-10-20 15:00:14,110.110 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:00:14,163.163 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:00:14,165.165 INFO    ] No update needed
[2026-10-20 15:00:14,167.167 INFO    ] Checking for camera pi updates...
[2026-10-20 15:00:14,204.204 INFO    ] 200
[2026-10-20 15:00:14,207.207 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:00:14,252.252 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:00:14,305.305 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:00:14,307.307 INFO    ] No camera update needed
[2026-10-20 15:00:14,309.309 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:00:14,312.312 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:00:14,317.317 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:00:14,322.322 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:00:16,361.361 INFO    ] ================================================
[2026-10-20 15:00:16,376.376 INFO    ] Launching Daemon at Tue Oct 20 15:00:16 IST 2026
[2026-10-20 15:00:16,386.386 INFO    ] ================================================
[2026-10-20 15:00:16,966.966 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:00:16
[2026-10-20 15:00:17,566.566 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:00:17,844.844 INFO    ] Initializing speech engine...
[2026-10-20 15:00:17,852.852 INFO    ] 2026-10-20 15:00:17
[2026-10-20 15:00:18,110.110 INFO    ] 2026-10-20 15:00:18
[2026-10-20 15:00:18,165.165 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:00:18,391.391 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:00:18,396.396 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:00:18,625.625 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:00:18,650.650 INFO    ] time= 20/10/2026 15:00:18
[2026-10-20 15:00:18,656.656 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:00:18,674.674 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:00:18,802.802 INFO    ] No existing commands found in stream
[2026-10-20 15:00:23,816.816 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:00:23,819.819 INFO    ] Waiting 1.04 seconds before fallback handling...
[2026-10-20 15:00:25,442.442 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:00:25,445.445 INFO    ] Checking for system updates...
[2026-10-20 15:00:25,481.481 INFO    ] 200
[2026-10-20 15:00:25,484.484 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:00:25,543.543 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:00:25,546.546 INFO    ] No update needed
[2026-10-20 15:00:25,548.548 INFO    ] Checking for camera pi updates...
[2026-10-20 15:00:25,584.584 INFO    ] 200
[2026-10-20 15:00:25,587.587 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:00:25,631.631 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:00:25,663.663 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:00:25,665.665 INFO    ] No camera update needed
[2026-10-20 15:00:25,668.668 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:00:25,670.670 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:00:25,675.675 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:00:25,680.680 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:00:27,720.720 INFO    ] ================================================
[2026-10-20 15:00:27,735.735 INFO    ] Launching Daemon at Tue Oct 20 15:00:27 IST 2026
[2026-10-20 15:00:27,746.746 INFO    ] ================================================
[2026-10-20 15:00:28,395.395 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:00:28
[2026-10-20 15:00:29,048.048 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:00:29,317.317 INFO    ] Initializing speech engine...
[2026-10-20 15:00:29,326.326 INFO    ] 2026-10-20 15:00:29
[2026-10-20 15:00:29,573.573 INFO    ] 2026-10-20 15:00:29
[2026-10-20 15:00:29,608.608 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:00:29,859.859 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:00:29,868.868 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:00:30,007.007 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:00:30,077.077 INFO    ] time= 20/10/2026 15:00:30
[2026-10-20 15:00:30,129.129 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:00:30,135.135 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:00:30,282.282 INFO    ] No existing commands found in stream
[2026-10-20 15:00:35,305.305 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:00:35,307.307 INFO    ] Waiting 1.35 seconds before fallback handling...
[2026-10-20 15:00:37,205.205 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:00:37,207.207 INFO    ] Checking for system updates...
[2026-10-20 15:00:37,248.248 INFO    ] 200
[2026-10-20 15:00:37,251.251 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:00:37,302.302 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:00:37,305.305 INFO    ] No update needed
[2026-10-20 15:00:37,307.307 INFO    ] Checking for camera pi updates...
[2026-10-20 15:00:37,340.340 INFO    ] 200
[2026-10-20 15:00:37,342.342 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:00:37,387.387 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:00:37,434.434 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:00:37,436.436 INFO    ] No camera update needed
[2026-10-20 15:00:37,439.439 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:00:37,441.441 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:00:37,447.447 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:00:37,452.452 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:00:39,492.492 INFO    ] ================================================
[2026-10-20 15:00:39,507.507 INFO    ] Launching Daemon at Tue Oct 20 15:00:39 IST 2026
[2026-10-20 15:00:39,517.517 INFO    ] ================================================
[2026-10-20 15:00:40,107.107 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:00:40
[2026-10-20 15:00:40,713.713 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:00:40,987.987 INFO    ] Initializing speech engine...
[2026-10-20 15:00:40,997.997 INFO    ] 2026-10-20 15:00:40
[2026-10-20 15:00:41,266.266 INFO    ] 2026-10-20 15:00:41
[2026-10-20 15:00:41,323.323 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:00:41,553.553 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:00:41,559.559 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:00:41,791.791 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:00:41,822.822 INFO    ] time= 20/10/2026 15:00:41
[2026-10-20 15:00:41,843.843 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:00:41,871.871 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:00:42,011.011 INFO    ] No existing commands found in stream
[2026-10-20 15:00:47,042.042 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:00:47,045.045 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-10-20 15:00:48,660.660 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:00:48,663.663 INFO    ] Checking for system updates...
[2026-10-20 15:00:48,700.700 INFO    ] 200
[2026-10-20 15:00:48,703.703 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:00:48,763.763 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:00:48,766.766 INFO    ] No update needed
[2026-10-20 15:00:48,769.769 INFO    ] Checking for camera pi updates...
[2026-10-20 15:00:48,805.805 INFO    ] 200
[2026-10-20 15:00:48,807.807 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:00:48,853.853 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:00:48,906.906 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:00:48,909.909 INFO    ] No camera update needed
[2026-10-20 15:00:48,912.912 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:00:48,915.915 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:00:48,921.921 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:00:48,926.926 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:00:50,968.968 INFO    ] ================================================
[2026-10-20 15:00:50,983.983 INFO    ] Launching Daemon at Tue Oct 20 15:00:50 IST 2026
[2026-10-20 15:00:50,994.994 INFO    ] ================================================
[2026-10-20 15:00:51,560.560 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:00:51
[2026-10-20 15:00:52,144.144 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:00:52,392.392 INFO    ] Initializing speech engine...
[2026-10-20 15:00:52,396.396 INFO    ] 2026-10-20 15:00:52
[2026-10-20 15:00:52,700.700 INFO    ] 2026-10-20 15:00:52
[2026-10-20 15:00:52,737.737 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:00:52,960.960 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:00:52,968.968 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:00:53,191.191 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:00:53,208.208 INFO    ] time= 20/10/2026 15:00:53
[2026-10-20 15:00:53,272.272 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:00:53,327.327 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:00:53,488.488 INFO    ] No existing commands found in stream
[2026-10-20 15:00:58,519.519 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:00:58,522.522 INFO    ] Waiting 0.67 seconds before fallback handling...
[2026-10-20 15:00:59,735.735 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 15:00:59,737.737 INFO    ] Checking for system updates...
[2026-10-20 15:00:59,773.773 INFO    ] 200
[2026-10-20 15:00:59,775.775 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:00:59,828.828 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:00:59,831.831 INFO    ] No update needed
[2026-10-20 15:00:59,833.833 INFO    ] Checking for camera pi updates...
[2026-10-20 15:00:59,870.870 INFO    ] 200
[2026-10-20 15:00:59,872.872 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:00:59,916.916 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:00:59,964.964 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:00:59,966.966 INFO    ] No camera update needed
[2026-10-20 15:00:59,969.969 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:00:59,971.971 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:00:59,976.976 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:00:59,981.981 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:01:02,025.025 INFO    ] ================================================
[2026-10-20 15:01:02,043.043 INFO    ] Launching Daemon at Tue Oct 20 15:01:02 IST 2026
[2026-10-20 15:01:02,055.055 INFO    ] ================================================
[2026-10-20 15:01:02,689.689 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:01:02
[2026-10-20 15:01:03,376.376 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:01:03,691.691 INFO    ] Initializing speech engine...
[2026-10-20 15:01:03,699.699 INFO    ] 2026-10-20 15:01:03
[2026-10-20 15:01:03,959.959 INFO    ] 2026-10-20 15:01:03
[2026-10-20 15:01:04,014.014 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:01:04,265.265 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:01:04,273.273 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:01:04,493.493 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:01:04,515.515 INFO    ] time= 20/10/2026 15:01:04
[2026-10-20 15:01:04,530.530 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:01:04,539.539 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:01:04,664.664 INFO    ] No existing commands found in stream
[2026-10-20 15:01:09,681.681 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:01:09,684.684 INFO    ] Waiting 0.23 seconds before fallback handling...
[2026-10-20 15:01:10,470.470 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 15:01:10,473.473 INFO    ] Checking for system updates...
[2026-10-20 15:01:10,514.514 INFO    ] 200
[2026-10-20 15:01:10,517.517 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:01:10,572.572 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:01:10,575.575 INFO    ] No update needed
[2026-10-20 15:01:10,578.578 INFO    ] Checking for camera pi updates...
[2026-10-20 15:01:10,617.617 INFO    ] 200
[2026-10-20 15:01:10,620.620 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:01:10,662.662 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:01:10,716.716 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:01:10,718.718 INFO    ] No camera update needed
[2026-10-20 15:01:10,721.721 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:01:10,724.724 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:01:10,730.730 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:01:10,736.736 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:01:12,780.780 INFO    ] ================================================
[2026-10-20 15:01:12,795.795 INFO    ] Launching Daemon at Tue Oct 20 15:01:12 IST 2026
[2026-10-20 15:01:12,807.807 INFO    ] ================================================
[2026-10-20 15:01:13,379.379 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:01:13
[2026-10-20 15:01:13,966.966 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:01:14,240.240 INFO    ] Initializing speech engine...
[2026-10-20 15:01:14,249.249 INFO    ] 2026-10-20 15:01:14
[2026-10-20 15:01:14,497.497 INFO    ] 2026-10-20 15:01:14
[2026-10-20 15:01:14,532.532 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:01:14,790.790 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:01:14,801.801 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:01:14,980.980 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:01:15,030.030 INFO    ] time= 20/10/2026 15:01:14
[2026-10-20 15:01:15,065.065 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:01:15,071.071 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:01:15,218.218 INFO    ] No existing commands found in stream
[2026-10-20 15:01:20,232.232 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:01:20,235.235 INFO    ] Waiting 3.82 seconds before fallback handling...
[2026-10-20 15:01:24,551.551 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:01:24,553.553 INFO    ] Checking for system updates...
[2026-10-20 15:01:24,589.589 INFO    ] 200
[2026-10-20 15:01:24,592.592 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:01:24,644.644 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:01:24,647.647 INFO    ] No update needed
[2026-10-20 15:01:24,649.649 INFO    ] Checking for camera pi updates...
[2026-10-20 15:01:24,683.683 INFO    ] 200
[2026-10-20 15:01:24,685.685 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:01:24,731.731 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:01:24,878.878 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:01:24,881.881 INFO    ] No camera update needed
[2026-10-20 15:01:24,883.883 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:01:24,885.885 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:01:24,891.891 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:01:24,895.895 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:01:26,937.937 INFO    ] ================================================
[2026-10-20 15:01:26,952.952 INFO    ] Launching Daemon at Tue Oct 20 15:01:26 IST 2026
[2026-10-20 15:01:26,964.964 INFO    ] ================================================
[2026-10-20 15:01:27,555.555 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:01:27
[2026-10-20 15:01:28,168.168 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:01:28,428.428 INFO    ] Initializing speech engine...
[2026-10-20 15:01:28,437.437 INFO    ] 2026-10-20 15:01:28
[2026-10-20 15:01:28,734.734 INFO    ] 2026-10-20 15:01:28
[2026-10-20 15:01:28,772.772 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:01:28,968.968 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:01:28,974.974 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:01:29,145.145 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:01:29,153.153 INFO    ] time= 20/10/2026 15:01:29
[2026-10-20 15:01:29,158.158 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:01:29,165.165 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:01:29,242.242 INFO    ] No existing commands found in stream
[2026-10-20 15:01:34,257.257 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:01:34,260.260 INFO    ] Waiting 3.37 seconds before fallback handling...
[2026-10-20 15:01:38,214.214 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:01:38,217.217 INFO    ] Checking for system updates...
[2026-10-20 15:01:38,253.253 INFO    ] 200
[2026-10-20 15:01:38,255.255 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:01:38,307.307 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:01:38,310.310 INFO    ] No update needed
[2026-10-20 15:01:38,313.313 INFO    ] Checking for camera pi updates...
[2026-10-20 15:01:38,346.346 INFO    ] 200
[2026-10-20 15:01:38,348.348 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:01:38,389.389 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:01:38,435.435 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:01:38,438.438 INFO    ] No camera update needed
[2026-10-20 15:01:38,440.440 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:01:38,443.443 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:01:38,448.448 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:01:38,453.453 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:01:40,493.493 INFO    ] ================================================
[2026-10-20 15:01:40,508.508 INFO    ] Launching Daemon at Tue Oct 20 15:01:40 IST 2026
[2026-10-20 15:01:40,519.519 INFO    ] ================================================
[2026-10-20 15:01:41,087.087 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:01:41
[2026-10-20 15:01:41,675.675 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:01:41,944.944 INFO    ] Initializing speech engine...
[2026-10-20 15:01:41,953.953 INFO    ] 2026-10-20 15:01:41
[2026-10-20 15:01:42,203.203 INFO    ] 2026-10-20 15:01:42
[2026-10-20 15:01:42,238.238 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:01:42,501.501 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:01:42,505.505 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:01:42,725.725 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:01:42,769.769 INFO    ] time= 20/10/2026 15:01:42
[2026-10-20 15:01:42,775.775 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:01:42,794.794 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:01:42,926.926 INFO    ] No existing commands found in stream
[2026-10-20 15:01:47,939.939 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:01:47,942.942 INFO    ] Waiting 0.38 seconds before fallback handling...
[2026-10-20 15:01:48,882.882 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:01:48,885.885 INFO    ] Checking for system updates...
[2026-10-20 15:01:48,921.921 INFO    ] 200
[2026-10-20 15:01:48,924.924 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:01:48,983.983 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:01:48,985.985 INFO    ] No update needed
[2026-10-20 15:01:48,987.987 INFO    ] Checking for camera pi updates...
[2026-10-20 15:01:49,024.024 INFO    ] 200
[2026-10-20 15:01:49,027.027 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:01:49,067.067 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:01:49,122.122 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:01:49,125.125 INFO    ] No camera update needed
[2026-10-20 15:01:49,127.127 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:01:49,130.130 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:01:49,135.135 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:01:49,140.140 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:01:51,181.181 INFO    ] ================================================
[2026-10-20 15:01:51,197.197 INFO    ] Launching Daemon at Tue Oct 20 15:01:51 IST 2026
[2026-10-20 15:01:51,208.208 INFO    ] ================================================
[2026-10-20 15:01:51,790.790 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:01:51
[2026-10-20 15:01:52,390.390 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:01:52,649.649 INFO    ] Initializing speech engine...
[2026-10-20 15:01:52,657.657 INFO    ] 2026-10-20 15:01:52
[2026-10-20 15:01:52,955.955 INFO    ] 2026-10-20 15:01:52
[2026-10-20 15:01:52,995.995 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:01:53,203.203 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:01:53,220.220 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:01:53,374.374 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:01:53,379.379 INFO    ] time= 20/10/2026 15:01:53
[2026-10-20 15:01:53,386.386 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:01:53,440.440 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:01:53,584.584 INFO    ] No existing commands found in stream
[2026-10-20 15:01:58,609.609 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:01:58,612.612 INFO    ] Waiting 1.03 seconds before fallback handling...
[2026-10-20 15:02:00,152.152 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:02:00,155.155 INFO    ] Checking for system updates...
[2026-10-20 15:02:00,191.191 INFO    ] 200
[2026-10-20 15:02:00,193.193 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:02:00,253.253 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:02:00,255.255 INFO    ] No update needed
[2026-10-20 15:02:00,258.258 INFO    ] Checking for camera pi updates...
[2026-10-20 15:02:00,292.292 INFO    ] 200
[2026-10-20 15:02:00,294.294 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:02:00,335.335 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:02:00,384.384 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:02:00,386.386 INFO    ] No camera update needed
[2026-10-20 15:02:00,389.389 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:02:00,391.391 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:02:00,396.396 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:02:00,402.402 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:02:02,448.448 INFO    ] ================================================
[2026-10-20 15:02:02,467.467 INFO    ] Launching Daemon at Tue Oct 20 15:02:02 IST 2026
[2026-10-20 15:02:02,482.482 INFO    ] ================================================
[2026-10-20 15:02:03,165.165 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:02:03
[2026-10-20 15:02:03,812.812 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:02:04,087.087 INFO    ] Initializing speech engine...
[2026-10-20 15:02:04,099.099 INFO    ] 2026-10-20 15:02:04
[2026-10-20 15:02:04,363.363 INFO    ] 2026-10-20 15:02:04
[2026-10-20 15:02:04,394.394 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:02:04,598.598 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:02:04,656.656 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:02:04,860.860 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:02:04,909.909 INFO    ] time= 20/10/2026 15:02:04
[2026-10-20 15:02:04,930.930 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:02:04,945.945 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:02:05,076.076 INFO    ] No existing commands found in stream
[2026-10-20 15:02:10,091.091 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:02:10,094.094 INFO    ] Waiting 3.23 seconds before fallback handling...
[2026-10-20 15:02:14,930.930 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:02:14,933.933 INFO    ] Checking for system updates...
[2026-10-20 15:02:14,968.968 INFO    ] 200
[2026-10-20 15:02:14,971.971 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:02:15,023.023 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:02:15,025.025 INFO    ] No update needed
[2026-10-20 15:02:15,027.027 INFO    ] Checking for camera pi updates...
[2026-10-20 15:02:15,064.064 INFO    ] 200
[2026-10-20 15:02:15,066.066 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:02:15,107.107 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:02:15,156.156 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:02:15,159.159 INFO    ] No camera update needed
[2026-10-20 15:02:15,161.161 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:02:15,164.164 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:02:15,169.169 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:02:15,174.174 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:02:17,213.213 INFO    ] ================================================
[2026-10-20 15:02:17,229.229 INFO    ] Launching Daemon at Tue Oct 20 15:02:17 IST 2026
[2026-10-20 15:02:17,240.240 INFO    ] ================================================
[2026-10-20 15:02:17,819.819 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:02:17
[2026-10-20 15:02:18,400.400 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:02:18,674.674 INFO    ] Initializing speech engine...
[2026-10-20 15:02:18,679.679 INFO    ] 2026-10-20 15:02:18
[2026-10-20 15:02:18,930.930 INFO    ] 2026-10-20 15:02:18
[2026-10-20 15:02:18,964.964 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:02:19,221.221 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:02:19,231.231 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:02:19,459.459 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:02:19,496.496 INFO    ] time= 20/10/2026 15:02:19
[2026-10-20 15:02:19,502.502 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:02:19,518.518 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:02:19,651.651 INFO    ] No existing commands found in stream
[2026-10-20 15:02:24,665.665 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:02:24,668.668 INFO    ] Waiting 1.49 seconds before fallback handling...
[2026-10-20 15:02:26,673.673 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:02:26,676.676 INFO    ] Checking for system updates...
[2026-10-20 15:02:26,713.713 INFO    ] 200
[2026-10-20 15:02:26,716.716 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:02:26,768.768 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:02:26,770.770 INFO    ] No update needed
[2026-10-20 15:02:26,773.773 INFO    ] Checking for camera pi updates...
[2026-10-20 15:02:26,806.806 INFO    ] 200
[2026-10-20 15:02:26,808.808 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:02:26,855.855 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:02:26,900.900 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:02:26,903.903 INFO    ] No camera update needed
[2026-10-20 15:02:26,905.905 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:02:26,907.907 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:02:26,912.912 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:02:26,917.917 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:02:28,960.960 INFO    ] ================================================
[2026-10-20 15:02:28,975.975 INFO    ] Launching Daemon at Tue Oct 20 15:02:28 IST 2026
[2026-10-20 15:02:28,987.987 INFO    ] ================================================
[2026-10-20 15:02:29,570.570 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:02:29
[2026-10-20 15:02:30,167.167 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:02:30,440.440 INFO    ] Initializing speech engine...
[2026-10-20 15:02:30,449.449 INFO    ] 2026-10-20 15:02:30
[2026-10-20 15:02:30,712.712 INFO    ] 2026-10-20 15:02:30
[2026-10-20 15:02:30,765.765 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:02:31,051.051 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:02:31,056.056 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:02:31,250.250 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:02:31,267.267 INFO    ] time= 20/10/2026 15:02:31
[2026-10-20 15:02:31,276.276 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:02:31,302.302 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:02:31,428.428 INFO    ] No existing commands found in stream
[2026-10-20 15:02:36,451.451 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:02:36,454.454 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-10-20 15:02:40,406.406 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:02:40,409.409 INFO    ] Checking for system updates...
[2026-10-20 15:02:40,448.448 INFO    ] 200
[2026-10-20 15:02:40,451.451 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:02:40,503.503 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:02:40,505.505 INFO    ] No update needed
[2026-10-20 15:02:40,507.507 INFO    ] Checking for camera pi updates...
[2026-10-20 15:02:40,541.541 INFO    ] 200
[2026-10-20 15:02:40,543.543 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:02:40,590.590 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:02:40,635.635 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:02:40,638.638 INFO    ] No camera update needed
[2026-10-20 15:02:40,640.640 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:02:40,643.643 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:02:40,648.648 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:02:40,653.653 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:02:42,694.694 INFO    ] ================================================
[2026-10-20 15:02:42,710.710 INFO    ] Launching Daemon at Tue Oct 20 15:02:42 IST 2026
[2026-10-20 15:02:42,722.722 INFO    ] ================================================
[2026-10-20 15:02:43,362.362 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:02:43
[2026-10-20 15:02:44,033.033 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:02:44,332.332 INFO    ] Initializing speech engine...
[2026-10-20 15:02:44,345.345 INFO    ] 2026-10-20 15:02:44
[2026-10-20 15:02:44,624.624 INFO    ] 2026-10-20 15:02:44
[2026-10-20 15:02:44,669.669 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:02:44,907.907 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:02:44,922.922 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:02:45,079.079 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:02:45,150.150 INFO    ] time= 20/10/2026 15:02:45
[2026-10-20 15:02:45,205.205 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:02:45,222.222 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:02:45,369.369 INFO    ] No existing commands found in stream
[2026-10-20 15:02:50,398.398 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:02:50,401.401 INFO    ] Waiting 0.37 seconds before fallback handling...
[2026-10-20 15:02:51,282.282 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:02:51,284.284 INFO    ] Checking for system updates...
[2026-10-20 15:02:51,319.319 INFO    ] 200
[2026-10-20 15:02:51,322.322 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:02:51,380.380 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:02:51,382.382 INFO    ] No update needed
[2026-10-20 15:02:51,384.384 INFO    ] Checking for camera pi updates...
[2026-10-20 15:02:51,422.422 INFO    ] 200
[2026-10-20 15:02:51,424.424 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:02:51,468.468 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:02:51,519.519 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:02:51,521.521 INFO    ] No camera update needed
[2026-10-20 15:02:51,524.524 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:02:51,526.526 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:02:51,531.531 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:02:51,536.536 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:02:53,577.577 INFO    ] ================================================
[2026-10-20 15:02:53,594.594 INFO    ] Launching Daemon at Tue Oct 20 15:02:53 IST 2026
[2026-10-20 15:02:53,606.606 INFO    ] ================================================
[2026-10-20 15:02:54,275.275 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:02:54
[2026-10-20 15:02:54,901.901 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:02:55,167.167 INFO    ] Initializing speech engine...
[2026-10-20 15:02:55,191.191 INFO    ] 2026-10-20 15:02:55
[2026-10-20 15:02:55,451.451 INFO    ] 2026-10-20 15:02:55
[2026-10-20 15:02:55,488.488 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:02:55,707.707 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:02:55,752.752 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:02:55,897.897 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:02:55,940.940 INFO    ] time= 20/10/2026 15:02:55
[2026-10-20 15:02:55,974.974 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:02:56,028.028 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:02:56,200.200 INFO    ] No existing commands found in stream
[2026-10-20 15:03:01,237.237 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:03:01,240.240 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-10-20 15:03:03,827.827 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:03:03,830.830 INFO    ] Checking for system updates...
[2026-10-20 15:03:03,870.870 INFO    ] 200
[2026-10-20 15:03:03,873.873 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:03:03,925.925 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:03:03,928.928 INFO    ] No update needed
[2026-10-20 15:03:03,931.931 INFO    ] Checking for camera pi updates...
[2026-10-20 15:03:03,965.965 INFO    ] 200
[2026-10-20 15:03:03,968.968 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:03:04,010.010 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:03:04,066.066 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:03:04,069.069 INFO    ] No camera update needed
[2026-10-20 15:03:04,072.072 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:03:04,074.074 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:03:04,080.080 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:03:04,086.086 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:03:06,127.127 INFO    ] ================================================
[2026-10-20 15:03:06,142.142 INFO    ] Launching Daemon at Tue Oct 20 15:03:06 IST 2026
[2026-10-20 15:03:06,152.152 INFO    ] ================================================
[2026-10-20 15:03:06,719.719 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:03:06
[2026-10-20 15:03:07,304.304 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:03:07,565.565 INFO    ] Initializing speech engine...
[2026-10-20 15:03:07,589.589 INFO    ] 2026-10-20 15:03:07
[2026-10-20 15:03:07,863.863 INFO    ] 2026-10-20 15:03:07
[2026-10-20 15:03:07,897.897 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:03:08,093.093 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:03:08,106.106 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:03:08,265.265 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:03:08,276.276 INFO    ] time= 20/10/2026 15:03:08
[2026-10-20 15:03:08,281.281 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:03:08,287.287 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:03:08,438.438 INFO    ] No existing commands found in stream
[2026-10-20 15:03:13,463.463 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:03:13,466.466 INFO    ] Waiting 1.10 seconds before fallback handling...
[2026-10-20 15:03:17,330.330 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:03:17,333.333 INFO    ] Checking for system updates...
[2026-10-20 15:03:17,368.368 INFO    ] 200
[2026-10-20 15:03:17,371.371 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:03:17,422.422 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:03:17,425.425 INFO    ] No update needed
[2026-10-20 15:03:17,427.427 INFO    ] Checking for camera pi updates...
[2026-10-20 15:03:17,462.462 INFO    ] 200
[2026-10-20 15:03:17,464.464 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:03:17,509.509 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:03:17,554.554 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:03:17,557.557 INFO    ] No camera update needed
[2026-10-20 15:03:17,559.559 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:03:17,561.561 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:03:17,567.567 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:03:17,572.572 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:03:19,610.610 INFO    ] ================================================
[2026-10-20 15:03:19,625.625 INFO    ] Launching Daemon at Tue Oct 20 15:03:19 IST 2026
[2026-10-20 15:03:19,636.636 INFO    ] ================================================
[2026-10-20 15:03:20,285.285 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:03:20
[2026-10-20 15:03:20,948.948 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:03:21,251.251 INFO    ] Initializing speech engine...
[2026-10-20 15:03:21,263.263 INFO    ] 2026-10-20 15:03:21
[2026-10-20 15:03:21,554.554 INFO    ] 2026-10-20 15:03:21
[2026-10-20 15:03:21,666.666 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:03:21,844.844 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:03:21,853.853 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:03:22,069.069 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:03:22,096.096 INFO    ] time= 20/10/2026 15:03:22
[2026-10-20 15:03:22,115.115 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:03:22,145.145 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:03:22,261.261 INFO    ] Found 1 existing command(s) in stream
[2026-10-20 15:03:22,307.307 INFO    ] Checking historical command: ID=1792488796958-0
[2026-10-20 15:03:22,362.362 INFO    ] process_and_cleanup_command: msg_id=1792488796958-0
[2026-10-20 15:03:22,391.391 INFO    ] is_command_expired: timestamp=2026-10-20T09:33:16.830Z, expiry=30s
[2026-10-20 15:03:22,601.601 INFO    ] Command removed from stream: 1792488796958-0. returning for processing...
[2026-10-20 15:03:22,605.605 INFO    ] ***** get_valid_command
[2026-10-20 15:03:22,608.608 INFO    ] {'timestamp': '2026-10-20T09:33:16.830Z', 'data': '{"request_id":"start-order-1792488796830-4d4fpyw9p","orderId":"TM04202203261020150233872","is_vending":false}', 'command': 'start-order', 'timeout': '10', 'source': 'webapp'}
[2026-10-20 15:03:22,612.612 INFO    ] ***** Parsed command data: {'orderId': 'TM04202203261020150233872', 'request_id': 'start-order-1792488796830-4d4fpyw9p', 'is_vending': False}
[2026-10-20 15:03:22,651.651 INFO    ] Handling start order...
[2026-10-20 15:03:22,699.699 INFO    ] handle_start_order_command
[2026-10-20 15:03:22,755.755 INFO    ] _send_start_order_success: request_id=start-order-1792488796830-4d4fpyw9p, order_id=TM04202203261020150233872
[2026-10-20 15:03:22,759.759 INFO    ] [_send_start_order_success] Adding message to stream: machine:TM04202203
[2026-10-20 15:03:22,861.861 INFO    ] [_send_start_order_success] Message added to stream with ID: 1792488802796-0
[2026-10-20 15:03:22,867.867 INFO    ] ✅ Start-order command succeeded - order locked, waiting for process-order command
[2026-10-20 15:03:22,872.872 INFO    ] Checking for system updates...
[2026-10-20 15:03:22,989.989 INFO    ] 200
[2026-10-20 15:03:23,035.035 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:03:23,105.105 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:03:23,112.112 INFO    ] No update needed
[2026-10-20 15:03:23,118.118 INFO    ] Checking for camera pi updates...
[2026-10-20 15:03:23,159.159 INFO    ] 200
[2026-10-20 15:03:23,165.165 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:03:23,214.214 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:03:23,273.273 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:03:23,281.281 INFO    ] No camera update needed
[2026-10-20 15:03:23,290.290 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:03:23,300.300 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:03:23,322.322 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:03:23,338.338 INFO    ] Thread: Thread-1, daemon=True, alive=True
[2026-10-20 15:03:23,351.351 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:03:25,391.391 INFO    ] ================================================
[2026-10-20 15:03:25,406.406 INFO    ] Launching Daemon at Tue Oct 20 15:03:25 IST 2026
[2026-10-20 15:03:25,417.417 INFO    ] ================================================
[2026-10-20 15:03:25,999.999 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:03:25
[2026-10-20 15:03:26,605.605 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:03:26,878.878 INFO    ] Initializing speech engine...
[2026-10-20 15:03:26,887.887 INFO    ] 2026-10-20 15:03:26
[2026-10-20 15:03:27,142.142 INFO    ] 2026-10-20 15:03:27
[2026-10-20 15:03:27,177.177 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:03:27,429.429 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:03:27,439.439 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:03:27,587.587 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:03:27,642.642 INFO    ] time= 20/10/2026 15:03:27
[2026-10-20 15:03:27,706.706 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:03:27,713.713 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:03:27,907.907 INFO    ] Found 2 existing command(s) in stream
[2026-10-20 15:03:27,963.963 INFO    ] Checking historical command: ID=1792488802796-0
[2026-10-20 15:03:27,980.980 INFO    ] process_and_cleanup_command: msg_id=1792488802796-0
[2026-10-20 15:03:28,051.051 INFO    ] is_command_expired: timestamp=2026-10-20T09:33:22.756627Z, expiry=30s
[2026-10-20 15:03:28,318.318 INFO    ] Command removed from stream: 1792488802796-0. returning for processing...
[2026-10-20 15:03:28,326.326 INFO    ] ***** get_valid_command
[2026-10-20 15:03:28,330.330 INFO    ] {'timestamp': '2026-10-20T09:33:22.756627Z', 'message': 'start-order success', 'status': 'success', 'metadata_request_id': 'start-order-1792488796830-4d4fpyw9p', 'message_type': 'command_response', 'metadata_order_id': 'TM04202203261020150233872', 'imei': 'TM04202203'}
[2026-10-20 15:03:28,381.381 INFO    ] Checking historical command: ID=1792488804912-0
[2026-10-20 15:03:28,385.385 INFO    ] process_and_cleanup_command: msg_id=1792488804912-0
[2026-10-20 15:03:28,394.394 INFO    ] is_command_expired: timestamp=2026-10-20T09:33:24.795Z, expiry=30s
[2026-10-20 15:03:28,578.578 INFO    ] Command removed from stream: 1792488804912-0. returning for processing...
[2026-10-20 15:03:28,590.590 INFO    ] ***** get_valid_command
[2026-10-20 15:03:28,597.597 INFO    ] {'command': 'process-order', 'timestamp': '2026-10-20T09:33:24.795Z', 'timeout': '60', 'data': '{"request_id":"process-order-1792488804795-t86xbnj6a","orderId":"TM04202203261020150233872","is_vending":false,"accessCode":"20002262"}', 'source': 'webapp'}
[2026-10-20 15:03:28,608.608 INFO    ] ***** Parsed command data: {'request_id': 'process-order-1792488804795-t86xbnj6a', 'accessCode': '20002262', 'orderId': 'TM04202203261020150233872', 'is_vending': False}
[2026-10-20 15:03:28,616.616 INFO    ] Handling process order...
[2026-10-20 15:03:28,621.621 INFO    ] Processing process-order command...
[2026-10-20 15:03:28,630.630 INFO    ] 🔍 Lock file Order ID: TM04202203261020150233872, TS: 2026-10-20 15:03:22
[2026-10-20 15:03:28,648.648 INFO    ] ✅ Order lock valid for TM04202203261020150233872
[2026-10-20 15:03:28,655.655 INFO    ] Received access code in process-order, skipping PHP API call
[2026-10-20 15:03:28,661.661 INFO    ] processing access code 20002262 for order TM04202203261020150233872
[2026-10-20 15:03:28,667.667 INFO    ] 🔍 Lock file Order ID: TM04202203261020150233872, TS: 2026-10-20 15:03:22
[2026-10-20 15:03:28,673.673 INFO    ] ✅ Order lock valid for TM04202203261020150233872
[2026-10-20 15:03:28,679.679 INFO    ] 2026-10-20 15:03:28
[2026-10-20 15:03:28,729.729 INFO    ] 200
[2026-10-20 15:03:28,736.736 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:03:28,742.742 INFO    ] 20002262
[2026-10-20 15:03:28,748.748 INFO    ] 2026-10-20 15:03:28
[2026-10-20 15:03:28,753.753 INFO    ] session id :888157923
[2026-10-20 15:03:28,758.758 INFO    ] http://localhost:5000/v2/getOrderByAccessCode?access_code=20002262&imei=TM04202203&session_id=888157923
[2026-10-20 15:03:30,173.173 INFO    ] 200
[2026-10-20 15:03:30,181.181 INFO    ] {"data": {"access_code": "20002262", "bill_amount": "20", "invoice_bill": "20", "order_id": "TM04202203261020150233872", "mobile": "8885539358", "proposed_sku_json": [{"image_url": "https://images.tinymart.in/product/185993-3509.webp", "door_id": "2", "mrp": "20", "offer_id": "", "name": "NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g", "unit_price": 20, "qty": 1, "offer_desc": "", "skuid": "185993", "sku_total": 20, "tray_id": "44"}]}, "status": true, "msg": "Order Data", "rstatus": true}
[2026-10-20 15:03:30,190.190 INFO    ] 20
[2026-10-20 15:03:30,196.196 INFO    ] TM04202203261020150233872
[2026-10-20 15:03:30,206.206 INFO    ] 8885539358
[2026-10-20 15:03:30,219.219 INFO    ] 2026-10-20 15:03:30
[2026-10-20 15:03:30,242.242 INFO    ] Door Opening for user mobile ending with  nine three five eight 
[2026-10-20 15:03:30,264.264 INFO    ] Door Opening for user mobile ending with  nine three five eight 
[2026-10-20 15:03:30,342.342 INFO    ] 4afefe08c0db104b13ece94e178c3ac0
[2026-10-20 15:03:30,385.385 INFO    ] 2026-10-20 15:03:30
[2026-10-20 15:03:30,410.410 INFO    ] playing audio file
[2026-10-20 15:03:30,445.445 INFO    ] 2026-10-20 15:03:30
[2026-10-20 15:03:30,462.462 INFO    ] 2026-10-20 15:03:30
[2026-10-20 15:03:30,475.475 INFO    ] publish_status: order_id=TM04202203261020150233872
[2026-10-20 15:03:30,482.482 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020150233872
[2026-10-20 15:03:30,582.582 INFO    ] [publish_status] Message added to stream with ID: 1792488810535-0
[2026-10-20 15:03:30,585.585 INFO    ] Published to order:TM04202203261020150233872: {'timestamp': '2026-10-20T09:33:30.465453Z', 'order_id': 'TM04202203261020150233872', 'server_status': 'order-started', 'server_response': '{"rstatus": true, "msg": "Order Data", "data": {"invoice_bill": "20", "access_code": "20002262", "mobile": "8885539358", "order_id": "TM04202203261020150233872", "proposed_sku_json": [{"unit_price": 20, "name": "NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g", "image_url": "https://images.tinymart.in/product/185993-3509.webp", "skuid": "185993", "tray_id": "44", "mrp": "20", "offer_id": "", "door_id": "2", "offer_desc": "", "qty": 1, "sku_total": 20}], "bill_amount": "20"}, "status": true}'} (ID: 1792488810535-0)
[2026-10-20 15:03:31,248.248 INFO    ] {'order_id': 'TM04202203261020150233872', 'server_status': 'order-started', 'server_response': {'rstatus': True, 'msg': 'Order Data', 'data': {'invoice_bill': '20', 'access_code': '20002262', 'mobile': '8885539358', 'order_id': 'TM04202203261020150233872', 'proposed_sku_json': [{'unit_price': 20, 'name': 'NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g', 'image_url': 'https://images.tinymart.in/product/185993-3509.webp', 'skuid': '185993', 'tray_id': '44', 'mrp': '20', 'offer_id': '', 'door_id': '2', 'offer_desc': '', 'qty': 1, 'sku_total': 20}], 'bill_amount': '20'}, 'status': True}}
[2026-10-20 15:03:31,251.251 INFO    ] 200
[2026-10-20 15:03:31,254.254 INFO    ] {"data":{"order_id":"TM04202203261020150233872","server_status":"order-started","server_response":{"rstatus":true,"msg":"Order Data","data":{"invoice_bill":"20","access_code":"20002262","mobile":"8885539358","order_id":"TM04202203261020150233872","proposed_sku_json":[{"unit_price":20,"name":"NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g","image_url":"https:\/\/images.tinymart.in\/product\/185993-3509.webp","skuid":"185993","tray_id":"44","mrp":"20","offer_id":"","door_id":"2","offer_desc":"","qty":1,"sku_total":20}],"bill_amount":"20"},"status":true}},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 15:03:31,257.257 INFO    ] {'data': {'order_id': 'TM04202203261020150233872', 'server_status': 'order-started', 'server_response': {'rstatus': True, 'msg': 'Order Data', 'data': {'invoice_bill': '20', 'access_code': '20002262', 'mobile': '8885539358', 'order_id': 'TM04202203261020150233872', 'proposed_sku_json': [{'unit_price': 20, 'name': 'NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g', 'image_url': 'https://images.tinymart.in/product/185993-3509.webp', 'skuid': '185993', 'mrp': '20', 'qty': 1, 'offer_id': '', 'door_id': '2', 'offer_desc': '', 'tray_id': '44', 'sku_total': 20}], 'bill_amount': '20'}, 'status': True}}, 'response': {'msg': 'order updated successfully', 'data': 'order updated successfully', 'code': 'ORDER_EXISTS', 'status': True}}
[2026-10-20 15:03:31,260.260 INFO    ] 2026-10-20 15:03:31
[2026-10-20 15:03:31,307.307 INFO    ] 200
[2026-10-20 15:03:31,317.317 INFO    ] True
[2026-10-20 15:03:31,449.449 INFO    ] 200
[2026-10-20 15:03:31,452.452 INFO    ] {"SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "rstatus": false, "voiceNote": "Please Wait", "status": "False", "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait while we process your order", "Note": "", "Header": " Your order is under process  "}, "SectionMain": {"Header": "Processing Order"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 15:03:31,455.455 INFO    ] {'SectionStatus': {'SubHeader': 'Please wait while we process your order', 'UI_Header': '', 'Note': '', 'Header': ' Your order is under process  '}, 'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'rstatus': False, 'error': {'tmessage': 'In Progress', 'umessage': 'In Progress', 'data': {}, 'code': 20001}, 'voiceNote': 'Please Wait', 'SectionMain': {'Header': 'Processing Order'}, 'status': 'False'}
[2026-10-20 15:03:31,459.459 INFO    ] *** process_order ***
[2026-10-20 15:03:32,654.654 INFO    ] 200
[2026-10-20 15:03:32,657.657 INFO    ] {"SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "rstatus": true, "voiceNote": "Please Wait", "delay": 0, "status": "True", "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait while we process your order", "Note": "", "Header": " Your order is under process  "}, "SectionMain": {"Header": "Processing Order"}}
[2026-10-20 15:03:32,660.660 INFO    ] {'SectionStatus': {'SubHeader': 'Please wait while we process your order', 'UI_Header': '', 'Note': '', 'Header': ' Your order is under process  '}, 'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'voiceNote': 'Please Wait', 'rstatus': True, 'status': 'True', 'SectionMain': {'Header': 'Processing Order'}, 'delay': 0}
[2026-10-20 15:03:32,663.663 INFO    ] *** process_order ***
[2026-10-20 15:03:32,668.668 INFO    ] publish_status: order_id=TM04202203261020150233872
[2026-10-20 15:03:32,671.671 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020150233872
[2026-10-20 15:03:32,756.756 INFO    ] [publish_status] Message added to stream with ID: 1792488812708-0
[2026-10-20 15:03:32,760.760 INFO    ] Published to order:TM04202203261020150233872: {'order_id': 'TM04202203261020150233872', 'server_status': 'doorOpened', 'server_response': '{"SectionStatus": {"SubHeader": "You can pull the door now.", "UI_Header": "", "Note": "", "Header": " Your order is under process  "}, "SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "voiceNote": "Door is open...", "rstatus": true, "delay": 0, "SectionMain": {"Header": "Processing Order"}, "status": "True"}'} (ID: 1792488812708-0)
[2026-10-20 15:03:33,838.838 INFO    ] 2026-10-20 15:03:33
[2026-10-20 15:03:33,842.842 INFO    ] publish_status: order_id=TM04202203261020150233872
[2026-10-20 15:03:33,845.845 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020150233872
[2026-10-20 15:03:33,937.937 INFO    ] [publish_status] Message added to stream with ID: 1792488813889-0
[2026-10-20 15:03:33,941.941 INFO    ] Published to order:TM04202203261020150233872: {'timestamp': '2026-10-20T09:33:33.839778Z', 'order_id': 'TM04202203261020150233872', 'server_status': 'processOrder', 'server_response': '{"SectionStatus": {"SubHeader": "Please wait while we process your order", "UI_Header": "", "Note": "", "Header": " Your order is under process  "}, "SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "voiceNote": "Please Wait", "rstatus": true, "status": "True", "SectionMain": {"Header": "Processing Order"}, "delay": 0}'} (ID: 1792488813889-0)
[2026-10-20 15:03:34,129.129 INFO    ] {'order_id': 'TM04202203261020150233872', 'server_status': 'processOrder', 'server_response': {'SectionStatus': {'SubHeader': 'Please wait while we process your order', 'UI_Header': '', 'Note': '', 'Header': ' Your order is under process  '}, 'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'voiceNote': 'Please Wait', 'rstatus': True, 'status': 'True', 'SectionMain': {'Header': 'Processing Order'}, 'delay': 0}}
[2026-10-20 15:03:34,132.132 INFO    ] 200
[2026-10-20 15:03:34,135.135 INFO    ] {"data":{"order_id":"TM04202203261020150233872","server_status":"processOrder","server_response":{"SectionStatus":{"SubHeader":"Please wait while we process your order","UI_Header":"","Note":"","Header":" Your order is under process  "},"SectionSKU":{"skus":[],"Header":"Thank you for bearing with us :)"},"voiceNote":"Please Wait","rstatus":true,"status":"true","SectionMain":{"Header":"Processing Order"},"delay":0}},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 15:03:34,140.140 INFO    ] {'data': {'order_id': 'TM04202203261020150233872', 'server_status': 'processOrder', 'server_response': {'SectionStatus': {'SubHeader': 'Please wait while we process your order', 'UI_Header': '', 'Note': '', 'Header': ' Your order is under process  '}, 'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'delay': 0, 'rstatus': True, 'voiceNote': 'Please Wait', 'SectionMain': {'Header': 'Processing Order'}, 'status': 'true'}}, 'response': {'msg': 'order updated successfully', 'data': 'order updated successfully', 'code': 'ORDER_EXISTS', 'status': True}}
[2026-10-20 15:03:34,143.143 INFO    ] 2026-10-20 15:03:34
[2026-10-20 15:03:34,146.146 INFO    ] None
[2026-10-20 15:03:34,149.149 INFO    ] Opening Door now
[2026-10-20 15:03:34,151.151 INFO    ] Opening Door now
[2026-10-20 15:03:34,154.154 INFO    ] 08e5d1063504bf393c26f0bfa436e9f9
[2026-10-20 15:03:34,157.157 INFO    ] 2026-10-20 15:03:34
[2026-10-20 15:03:34,160.160 INFO    ] playing audio file
[2026-10-20 15:03:34,180.180 INFO    ] 2026-10-20 15:03:34
[2026-10-20 15:03:34,183.183 INFO    ] 2026-10-20 15:03:34
[2026-10-20 15:03:37,248.248 INFO    ] 200
[2026-10-20 15:03:37,251.251 INFO    ] {"SectionSKU": {"skus": [{"name": "NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g", "qty": 1}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Door 2 is open now", "status": "False", "SectionStatus": {"UI_Header": "DOOR 2\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 2"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 15:03:37,255.255 INFO    ] {'SectionStatus': {'SubHeader': 'Please Pick the Products and close the door', 'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'Note': 'Please Close the door after picking up products', 'Header': 'Please Close Door 2'}, 'SectionSKU': {'skus': [{'name': 'NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g', 'qty': 1}], 'Header': 'Pick the below items from the door'}, 'rstatus': False, 'error': {'tmessage': 'In Progress', 'umessage': 'In Progress', 'data': {}, 'code': 20001}, 'voiceNote': 'Door 2 is open now', 'SectionMain': {'Header': 'Door Open'}, 'status': 'False'}
[2026-10-20 15:03:40,360.360 INFO    ] 200
[2026-10-20 15:03:40,363.363 INFO    ] {"SectionSKU": {"skus": [{"name": "NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g", "qty": 1}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Please close door 2", "status": "False", "SectionStatus": {"UI_Header": "DOOR 2\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 2"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 15:03:40,367.367 INFO    ] {'SectionStatus': {'SubHeader': 'Please Pick the Products and close the door', 'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'Note': 'Please Close the door after picking up products', 'Header': 'Please Close Door 2'}, 'SectionSKU': {'skus': [{'name': 'NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g', 'qty': 1}], 'Header': 'Pick the below items from the door'}, 'rstatus': False, 'error': {'tmessage': 'In Progress', 'umessage': 'In Progress', 'data': {}, 'code': 20001}, 'voiceNote': 'Please close door 2', 'SectionMain': {'Header': 'Door Open'}, 'status': 'False'}
[2026-10-20 15:03:43,444.444 INFO    ] 200
[2026-10-20 15:03:43,447.447 INFO    ] {"SectionSKU": {"skus": [{"name": "NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g", "qty": 1}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Please close door 2", "status": "False", "SectionStatus": {"UI_Header": "DOOR 2\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 2"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 15:03:43,451.451 INFO    ] Please close door 2
[2026-10-20 15:03:43,454.454 INFO    ] Please close door 2
[2026-10-20 15:03:43,457.457 INFO    ] 758e46684c76e887a5f58d4738034bed
[2026-10-20 15:03:43,460.460 INFO    ] 2026-10-20 15:03:43
[2026-10-20 15:03:43,463.463 INFO    ] playing audio file
[2026-10-20 15:03:43,481.481 INFO    ] 2026-10-20 15:03:43
[2026-10-20 15:03:43,485.485 INFO    ] publish_status: order_id=TM04202203261020150233872
[2026-10-20 15:03:43,489.489 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020150233872
[2026-10-20 15:03:43,605.605 INFO    ] [publish_status] Message added to stream with ID: 1792488823557-0
[2026-10-20 15:03:43,609.609 INFO    ] Published to order:TM04202203261020150233872: {'timestamp': '2026-10-20T09:33:43.483296Z', 'order_id': 'TM04202203261020150233872', 'server_status': 'OrderStatus', 'server_response': '{"SectionStatus": {"SubHeader": "Please Pick the Products and close the door", "UI_Header": "DOOR 2\\nIS \\nOPEN \\nNOW", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 2"}, "SectionSKU": {"skus": [{"name": "NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g", "qty": 1}], "Header": "Pick the below items from the door"}, "rstatus": false, "error": {"tmessage": "In Progress", "umessage": "In Progress", "data": {}, "code": 20001}, "voiceNote": "Please close door 2", "SectionMain": {"Header": "Door Open"}, "status": "False"}'} (ID: 1792488823557-0)
[2026-10-20 15:03:44,289.289 INFO    ] {'order_id': 'TM04202203261020150233872', 'server_status': 'OrderStatus', 'server_response': {'SectionStatus': {'SubHeader': 'Please Pick the Products and close the door', 'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'Note': 'Please Close the door after picking up products', 'Header': 'Please Close Door 2'}, 'SectionSKU': {'skus': [{'name': 'NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g', 'qty': 1}], 'Header': 'Pick the below items from the door'}, 'rstatus': False, 'error': {'tmessage': 'In Progress', 'umessage': 'In Progress', 'data': {}, 'code': 20001}, 'voiceNote': 'Please close door 2', 'SectionMain': {'Header': 'Door Open'}, 'status': 'False'}}
[2026-10-20 15:03:44,292.292 INFO    ] 200
[2026-10-20 15:03:44,295.295 INFO    ] {"data":{"order_id":"TM04202203261020150233872","server_status":"OrderStatus","server_response":{"SectionStatus":{"SubHeader":"Please Pick the Products and close the door","UI_Header":"DOOR 2\nIS \nOPEN \nNOW","Note":"Please Close the door after picking up products","Header":"Please Close Door 2"},"SectionSKU":{"skus":[{"name":"NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g","qty":1}],"Header":"Pick the below items from the door"},"rstatus":false,"error":{"tmessage":"In Progress","umessage":"In Progress","data":[],"code":20001},"voiceNote":"Please close door 2","SectionMain":{"Header":"Door Open"},"status":"false"}},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 15:03:44,298.298 INFO    ] {'data': {'order_id': 'TM04202203261020150233872', 'server_status': 'OrderStatus', 'server_response': {'SectionStatus': {'SubHeader': 'Please Pick the Products and close the door', 'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'Note': 'Please Close the door after picking up products', 'Header': 'Please Close Door 2'}, 'SectionSKU': {'skus': [{'name': 'NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g', 'qty': 1}], 'Header': 'Pick the below items from the door'}, 'rstatus': False, 'error': {'tmessage': 'In Progress', 'umessage': 'In Progress', 'data': [], 'code': 20001}, 'status': 'false', 'SectionMain': {'Header': 'Door Open'}, 'voiceNote': 'Please close door 2'}}, 'response': {'msg': 'order updated successfully', 'data': 'order updated successfully', 'code': 'ORDER_EXISTS', 'status': True}}
[2026-10-20 15:03:44,302.302 INFO    ] {'SectionStatus': {'SubHeader': 'Please Pick the Products and close the door', 'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'Note': 'Please Close the door after picking up products', 'Header': 'Please Close Door 2'}, 'SectionSKU': {'skus': [{'name': 'NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g', 'qty': 1}], 'Header': 'Pick the below items from the door'}, 'rstatus': False, 'error': {'tmessage': 'In Progress', 'umessage': 'In Progress', 'data': {}, 'code': 20001}, 'voiceNote': 'Please close door 2', 'SectionMain': {'Header': 'Door Open'}, 'status': 'False'}
[2026-10-20 15:03:47,363.363 INFO    ] 200
[2026-10-20 15:03:47,366.366 INFO    ] {"SectionSKU": {"skus": [], "Header": "If you like us, tell others... else tell us"}, "rstatus": true, "voiceNote": "Transaction Completed", "delay": 100, "status": "True", "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait for invoice to generate", "Note": "If any due amount, clear at https://go.tinymart.in", "Header": " Order is complete "}, "SectionMain": {"Header": "Door Closed"}}
[2026-10-20 15:03:47,370.370 INFO    ] {'SectionStatus': {'SubHeader': 'Please wait for invoice to generate', 'UI_Header': '', 'Note': 'If any due amount, clear at https://go.tinymart.in', 'Header': ' Order is complete '}, 'SectionSKU': {'skus': [], 'Header': 'If you like us, tell others... else tell us'}, 'voiceNote': 'Transaction Completed', 'rstatus': True, 'status': 'True', 'SectionMain': {'Header': 'Door Closed'}, 'delay': 100}
[2026-10-20 15:03:47,373.373 INFO    ] 2026-10-20 15:03:47
[2026-10-20 15:03:47,376.376 INFO    ] Order Completed 
[2026-10-20 15:03:47,379.379 INFO    ] Order Completed 
[2026-10-20 15:03:47,382.382 INFO    ] 193c8a8cf3bf490ccfe0b23598544a83
[2026-10-20 15:03:47,385.385 INFO    ] 2026-10-20 15:03:47
[2026-10-20 15:03:47,388.388 INFO    ] playing audio file
[2026-10-20 15:03:47,407.407 INFO    ] 2026-10-20 15:03:47
[2026-10-20 15:03:47,411.411 INFO    ] {'SectionStatus': {'SubHeader': 'Please wait for invoice to generate', 'UI_Header': '', 'Note': 'If any due amount, clear at https://go.tinymart.in', 'Header': ' Order is complete '}, 'SectionSKU': {'skus': [], 'Header': 'If you like us, tell others... else tell us'}, 'voiceNote': 'Transaction Completed', 'rstatus': True, 'status': 'True', 'SectionMain': {'Header': 'Door Closed'}, 'delay': 100}
[2026-10-20 15:03:47,415.415 INFO    ] 2026-10-20 15:03:47
[2026-10-20 15:03:49,687.687 INFO    ] 200
[2026-10-20 15:03:49,690.690 INFO    ] {"rstatus": true, "logic": "WBL", "skus": [{"door_id": "", "name": "NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g per peice", "mrp": "20", "skuid": "185993", "unit_price": "20", "qty": 1, "tray_id": "44", "sku_total": 20.0, "image_url": "https://images.tinymart.in/product/185993-3509.webp"}], "orderId": "TM04202203261020150233872", "res": "True", "total_amount": 20.0, "anomaly": 0}
[2026-10-20 15:03:49,693.693 INFO    ] {'anomaly': 0, 'total_amount': 20.0, 'logic': 'WBL', 'res': 'True', 'rstatus': True, 'orderId': 'TM04202203261020150233872', 'skus': [{'unit_price': '20', 'name': 'NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g per peice', 'image_url': 'https://images.tinymart.in/product/185993-3509.webp', 'qty': 1, 'tray_id': '44', 'mrp': '20', 'door_id': '', 'skuid': '185993', 'sku_total': 20.0}]}
[2026-10-20 15:03:49,696.696 INFO    ] {'anomaly': 0, 'total_amount': 20.0, 'logic': 'WBL', 'res': 'True', 'rstatus': True, 'orderId': 'TM04202203261020150233872', 'skus': [{'unit_price': '20', 'name': 'NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g per peice', 'image_url': 'https://images.tinymart.in/product/185993-3509.webp', 'qty': 1, 'tray_id': '44', 'mrp': '20', 'door_id': '', 'skuid': '185993', 'sku_total': 20.0}]}
[2026-10-20 15:03:49,699.699 INFO    ] 2026-10-20 15:03:49
[2026-10-20 15:03:49,702.702 INFO    ] 2026-10-20 15:03:49
[2026-10-20 15:03:49,705.705 INFO    ] 20
[2026-10-20 15:03:49,709.709 INFO    ] 2026-10-20 15:03:49
[2026-10-20 15:03:49,712.712 INFO    ] 2026-10-20 15:03:49
[2026-10-20 15:03:49,715.715 INFO    ]  Your Bill Amount is 20
[2026-10-20 15:03:49,717.717 INFO    ]  Your Bill Amount is 20
[2026-10-20 15:03:49,720.720 INFO    ] 69e7720cf62ffa67ab0522541575e508
[2026-10-20 15:03:49,723.723 INFO    ] 2026-10-20 15:03:49
[2026-10-20 15:03:49,726.726 INFO    ] playing audio file
[2026-10-20 15:03:49,744.744 INFO    ] 2026-10-20 15:03:49
[2026-10-20 15:03:49,747.747 INFO    ] 2026-10-20 15:03:49
[2026-10-20 15:03:49,753.753 INFO    ] publish_status: order_id=TM04202203261020150233872
[2026-10-20 15:03:49,756.756 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020150233872
[2026-10-20 15:03:49,847.847 INFO    ] [publish_status] Message added to stream with ID: 1792488829798-0
[2026-10-20 15:03:49,850.850 INFO    ] Published to order:TM04202203261020150233872: {'timestamp': '2026-10-20T09:33:49.751024Z', 'order_id': 'TM04202203261020150233872', 'server_status': 'invoiceOrder', 'server_response': '{"anomaly": 0, "total_amount": 20.0, "logic": "WBL", "res": "True", "rstatus": true, "orderId": "TM04202203261020150233872", "skus": [{"unit_price": "20", "name": "NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g per peice", "image_url": "https://images.tinymart.in/product/185993-3509.webp", "qty": 1, "tray_id": "44", "mrp": "20", "door_id": "", "skuid": "185993", "sku_total": 20.0}]}'} (ID: 1792488829798-0)
[2026-10-20 15:03:50,488.488 INFO    ] {'order_id': 'TM04202203261020150233872', 'server_status': 'invoiceOrder', 'server_response': {'anomaly': 0, 'total_amount': 20.0, 'logic': 'WBL', 'res': 'True', 'rstatus': True, 'orderId': 'TM04202203261020150233872', 'skus': [{'unit_price': '20', 'name': 'NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g per peice', 'image_url': 'https://images.tinymart.in/product/185993-3509.webp', 'qty': 1, 'tray_id': '44', 'mrp': '20', 'door_id': '', 'skuid': '185993', 'sku_total': 20.0}]}}
[2026-10-20 15:03:50,492.492 INFO    ] 200
[2026-10-20 15:03:50,495.495 INFO    ] {"data":{"order_id":"TM04202203261020150233872","server_status":"invoiceOrder","server_response":{"anomaly":0,"total_amount":20,"logic":"WBL","res":"true","rstatus":true,"orderId":"TM04202203261020150233872","skus":[{"unit_price":"20","name":"NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g per peice","image_url":"https:\/\/images.tinymart.in\/product\/185993-3509.webp","qty":1,"tray_id":"44","mrp":"20","door_id":"","skuid":"185993","sku_total":20}]}},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 15:03:50,498.498 INFO    ] {'data': {'order_id': 'TM04202203261020150233872', 'server_status': 'invoiceOrder', 'server_response': {'rstatus': True, 'total_amount': 20, 'logic': 'WBL', 'res': 'true', 'anomaly': 0, 'orderId': 'TM04202203261020150233872', 'skus': [{'unit_price': '20', 'name': 'NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g per peice', 'image_url': 'https://images.tinymart.in/product/185993-3509.webp', 'qty': 1, 'mrp': '20', 'door_id': '', 'skuid': '185993', 'tray_id': '44', 'sku_total': 20}]}}, 'response': {'msg': 'order updated successfully', 'data': 'order updated successfully', 'code': 'ORDER_EXISTS', 'status': True}}
[2026-10-20 15:03:50,502.502 INFO    ] {'data': {'order_id': 'TM04202203261020150233872', 'server_status': 'invoiceOrder', 'server_response': {'rstatus': True, 'total_amount': 20, 'logic': 'WBL', 'res': 'true', 'anomaly': 0, 'orderId': 'TM04202203261020150233872', 'skus': [{'unit_price': '20', 'name': 'NESTLE MUNCH Max Choco Coated Crunchy Wafer 40g per peice', 'image_url': 'https://images.tinymart.in/product/185993-3509.webp', 'qty': 1, 'mrp': '20', 'door_id': '', 'skuid': '185993', 'tray_id': '44', 'sku_total': 20}]}}, 'response': {'msg': 'order updated successfully', 'data': 'order updated successfully', 'code': 'ORDER_EXISTS', 'status': True}}
[2026-10-20 15:03:50,505.505 INFO    ] 2026-10-20 15:03:50
[2026-10-20 15:03:52,543.543 INFO    ] 200
[2026-10-20 15:03:52,546.546 INFO    ] {"orders": [], "order_items_synced": ["TM04202203261020150233872_0"], "tray_synced": ["TM04202203261020150233872", "TM04202203261020150233872", "TM04202203261020150233872", "TM04202203261020150233872", "TM04202203261020150233872", "TM04202203261020150233872", "TM04202203261020150233872", "TM04202203261020150233872", "TM04202203261020150233872", "TM04202203261020150233872", "TM04202203261020150233872", "TM04202203261020150233872", "TM04202203261020150233872", "TM04202203261020150233872", "TM04202203261020150233872", "TM04202203261020150233872", "TM04202203261020150233872", "TM04202203261020150233872", "TM04202203261020150233872", "TM04202203261020150233872", "TM04202203261020150233872", "TM04202203261020150233872", "TM04202203261020150233872", "TM04202203261020150233872", "TM04202203261020150233872", "TM04202203261020150233872", "TM04202203261020150233872", "TM04202203261020150233872", "TM04202203261020150233872", "TM04202203261020150233872", "TM04202203261020150233872", "TM04202203261020150233872", "TM04202203261020150233872"], "orders_synced": [], "status": true, "tray_sync": [], "order_items": [], "orders_data": [], "orders_data_synced": []}
[2026-10-20 15:03:52,550.550 INFO    ] 2026-10-20 15:03:52
[2026-10-20 15:03:52,672.672 INFO    ] 200
[2026-10-20 15:03:52,675.675 INFO    ] True
[2026-10-20 15:03:52,677.677 INFO    ] cleanup_start_order_file_after_processing: order_id=TM04202203261020150233872
[2026-10-20 15:03:52,681.681 INFO    ] start order file deleted
[2026-10-20 15:03:52,684.684 INFO    ] Checking for system updates...
[2026-10-20 15:03:52,722.722 INFO    ] 200
[2026-10-20 15:03:52,725.725 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:03:52,789.789 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:03:52,791.791 INFO    ] No update needed
[2026-10-20 15:03:52,794.794 INFO    ] Checking for camera pi updates...
[2026-10-20 15:03:52,830.830 INFO    ] 200
[2026-10-20 15:03:52,832.832 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:03:52,883.883 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:03:52,931.931 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:03:52,934.934 INFO    ] No camera update needed
[2026-10-20 15:03:52,936.936 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:03:52,939.939 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:03:52,945.945 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:03:52,951.951 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:03:54,992.992 INFO    ] ================================================
[2026-10-20 15:03:55,007.007 INFO    ] Launching Daemon at Tue Oct 20 15:03:55 IST 2026
[2026-10-20 15:03:55,017.017 INFO    ] ================================================
[2026-10-20 15:03:55,593.593 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:03:55
[2026-10-20 15:03:56,242.242 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:03:56,546.546 INFO    ] Initializing speech engine...
[2026-10-20 15:03:56,557.557 INFO    ] 2026-10-20 15:03:56
[2026-10-20 15:03:56,829.829 INFO    ] 2026-10-20 15:03:56
[2026-10-20 15:03:56,884.884 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:03:57,147.147 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:03:57,186.186 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:03:57,395.395 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:03:57,401.401 INFO    ] time= 20/10/2026 15:03:57
[2026-10-20 15:03:57,419.419 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:03:57,431.431 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:03:57,584.584 INFO    ] No existing commands found in stream
[2026-10-20 15:04:02,620.620 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:04:02,623.623 INFO    ] Waiting 2.15 seconds before fallback handling...
[2026-10-20 15:04:05,302.302 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:04:05,305.305 INFO    ] Checking for system updates...
[2026-10-20 15:04:05,340.340 INFO    ] 200
[2026-10-20 15:04:05,343.343 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:04:05,401.401 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:04:05,403.403 INFO    ] No update needed
[2026-10-20 15:04:05,405.405 INFO    ] Checking for camera pi updates...
[2026-10-20 15:04:05,439.439 INFO    ] 200
[2026-10-20 15:04:05,441.441 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:04:05,481.481 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:04:05,525.525 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:04:05,528.528 INFO    ] No camera update needed
[2026-10-20 15:04:05,530.530 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:04:05,533.533 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:04:05,538.538 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:04:05,543.543 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:04:07,584.584 INFO    ] ================================================
[2026-10-20 15:04:07,598.598 INFO    ] Launching Daemon at Tue Oct 20 15:04:07 IST 2026
[2026-10-20 15:04:07,610.610 INFO    ] ================================================
[2026-10-20 15:04:08,181.181 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:04:08
[2026-10-20 15:04:08,772.772 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:04:09,020.020 INFO    ] Initializing speech engine...
[2026-10-20 15:04:09,029.029 INFO    ] 2026-10-20 15:04:09
[2026-10-20 15:04:09,304.304 INFO    ] 2026-10-20 15:04:09
[2026-10-20 15:04:09,340.340 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:04:09,604.604 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:04:09,609.609 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:04:09,744.744 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:04:09,781.781 INFO    ] time= 20/10/2026 15:04:09
[2026-10-20 15:04:09,835.835 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:04:09,881.881 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:04:10,036.036 INFO    ] No existing commands found in stream
[2026-10-20 15:04:15,056.056 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:04:15,058.058 INFO    ] Waiting 3.24 seconds before fallback handling...
[2026-10-20 15:04:18,840.840 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:04:18,842.842 INFO    ] Checking for system updates...
[2026-10-20 15:04:18,877.877 INFO    ] 200
[2026-10-20 15:04:18,880.880 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:04:18,933.933 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:04:18,935.935 INFO    ] No update needed
[2026-10-20 15:04:18,937.937 INFO    ] Checking for camera pi updates...
[2026-10-20 15:04:18,970.970 INFO    ] 200
[2026-10-20 15:04:18,973.973 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:04:19,012.012 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:04:19,063.063 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:04:19,065.065 INFO    ] No camera update needed
[2026-10-20 15:04:19,068.068 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:04:19,070.070 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:04:19,075.075 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:04:19,080.080 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:04:21,121.121 INFO    ] ================================================
[2026-10-20 15:04:21,136.136 INFO    ] Launching Daemon at Tue Oct 20 15:04:21 IST 2026
[2026-10-20 15:04:21,147.147 INFO    ] ================================================
[2026-10-20 15:04:21,720.720 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:04:21
[2026-10-20 15:04:22,302.302 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:04:22,564.564 INFO    ] Initializing speech engine...
[2026-10-20 15:04:22,577.577 INFO    ] 2026-10-20 15:04:22
[2026-10-20 15:04:22,863.863 INFO    ] 2026-10-20 15:04:22
[2026-10-20 15:04:22,901.901 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:04:23,125.125 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:04:23,133.133 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:04:23,353.353 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:04:23,370.370 INFO    ] time= 20/10/2026 15:04:23
[2026-10-20 15:04:23,429.429 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:04:23,473.473 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:04:23,570.570 INFO    ] No existing commands found in stream
[2026-10-20 15:04:28,582.582 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:04:28,585.585 INFO    ] Waiting 0.16 seconds before fallback handling...
[2026-10-20 15:04:29,263.263 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:04:29,265.265 INFO    ] Checking for system updates...
[2026-10-20 15:04:29,304.304 INFO    ] 200
[2026-10-20 15:04:29,307.307 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:04:29,359.359 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:04:29,361.361 INFO    ] No update needed
[2026-10-20 15:04:29,363.363 INFO    ] Checking for camera pi updates...
[2026-10-20 15:04:29,400.400 INFO    ] 200
[2026-10-20 15:04:29,403.403 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:04:29,442.442 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:04:29,488.488 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:04:29,491.491 INFO    ] No camera update needed
[2026-10-20 15:04:29,493.493 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:04:29,495.495 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:04:29,501.501 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:04:29,506.506 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:04:31,546.546 INFO    ] ================================================
[2026-10-20 15:04:31,561.561 INFO    ] Launching Daemon at Tue Oct 20 15:04:31 IST 2026
[2026-10-20 15:04:31,572.572 INFO    ] ================================================
[2026-10-20 15:04:32,172.172 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:04:32
[2026-10-20 15:04:32,789.789 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:04:33,059.059 INFO    ] Initializing speech engine...
[2026-10-20 15:04:33,066.066 INFO    ] 2026-10-20 15:04:33
[2026-10-20 15:04:33,374.374 INFO    ] 2026-10-20 15:04:33
[2026-10-20 15:04:33,411.411 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:04:33,639.639 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:04:33,686.686 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:04:33,865.865 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:04:33,902.902 INFO    ] time= 20/10/2026 15:04:33
[2026-10-20 15:04:33,957.957 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:04:34,002.002 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:04:34,150.150 INFO    ] No existing commands found in stream
[2026-10-20 15:04:39,172.172 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:04:39,175.175 INFO    ] Waiting 0.64 seconds before fallback handling...
[2026-10-20 15:04:40,325.325 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 15:04:40,327.327 INFO    ] Checking for system updates...
[2026-10-20 15:04:40,364.364 INFO    ] 200
[2026-10-20 15:04:40,366.366 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:04:40,418.418 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:04:40,421.421 INFO    ] No update needed
[2026-10-20 15:04:40,423.423 INFO    ] Checking for camera pi updates...
[2026-10-20 15:04:40,460.460 INFO    ] 200
[2026-10-20 15:04:40,463.463 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:04:40,503.503 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:04:40,552.552 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:04:40,555.555 INFO    ] No camera update needed
[2026-10-20 15:04:40,557.557 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:04:40,559.559 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:04:40,564.564 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:04:40,569.569 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:04:42,609.609 INFO    ] ================================================
[2026-10-20 15:04:42,625.625 INFO    ] Launching Daemon at Tue Oct 20 15:04:42 IST 2026
[2026-10-20 15:04:42,636.636 INFO    ] ================================================
[2026-10-20 15:04:43,206.206 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:04:43
[2026-10-20 15:04:43,792.792 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:04:44,049.049 INFO    ] Initializing speech engine...
[2026-10-20 15:04:44,064.064 INFO    ] 2026-10-20 15:04:44
[2026-10-20 15:04:44,349.349 INFO    ] 2026-10-20 15:04:44
[2026-10-20 15:04:44,387.387 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:04:44,614.614 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:04:44,659.659 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:04:44,842.842 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:04:44,907.907 INFO    ] time= 20/10/2026 15:04:44
[2026-10-20 15:04:44,956.956 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:04:44,990.990 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:04:45,137.137 INFO    ] No existing commands found in stream
[2026-10-20 15:04:50,157.157 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:04:50,160.160 INFO    ] Waiting 0.59 seconds before fallback handling...
[2026-10-20 15:04:51,299.299 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:04:51,302.302 INFO    ] Checking for system updates...
[2026-10-20 15:04:51,337.337 INFO    ] 200
[2026-10-20 15:04:51,339.339 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:04:51,398.398 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:04:51,400.400 INFO    ] No update needed
[2026-10-20 15:04:51,403.403 INFO    ] Checking for camera pi updates...
[2026-10-20 15:04:51,437.437 INFO    ] 200
[2026-10-20 15:04:51,439.439 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:04:51,483.483 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:04:51,526.526 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:04:51,528.528 INFO    ] No camera update needed
[2026-10-20 15:04:51,531.531 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:04:51,533.533 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:04:51,538.538 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:04:51,543.543 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:04:53,583.583 INFO    ] ================================================
[2026-10-20 15:04:53,599.599 INFO    ] Launching Daemon at Tue Oct 20 15:04:53 IST 2026
[2026-10-20 15:04:53,611.611 INFO    ] ================================================
[2026-10-20 15:04:54,199.199 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:04:54
[2026-10-20 15:04:54,802.802 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:04:55,078.078 INFO    ] Initializing speech engine...
[2026-10-20 15:04:55,088.088 INFO    ] 2026-10-20 15:04:55
[2026-10-20 15:04:55,350.350 INFO    ] 2026-10-20 15:04:55
[2026-10-20 15:04:55,385.385 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:04:55,613.613 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:04:55,674.674 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:04:55,842.842 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:04:55,912.912 INFO    ] time= 20/10/2026 15:04:55
[2026-10-20 15:04:55,972.972 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:04:55,992.992 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:04:56,138.138 INFO    ] No existing commands found in stream
[2026-10-20 15:05:01,163.163 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:05:01,166.166 INFO    ] Waiting 0.59 seconds before fallback handling...
[2026-10-20 15:05:02,372.372 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:05:02,375.375 INFO    ] Checking for system updates...
[2026-10-20 15:05:02,421.421 INFO    ] 200
[2026-10-20 15:05:02,424.424 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:05:02,486.486 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:05:02,489.489 INFO    ] No update needed
[2026-10-20 15:05:02,492.492 INFO    ] Checking for camera pi updates...
[2026-10-20 15:05:02,534.534 INFO    ] 200
[2026-10-20 15:05:02,537.537 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:05:02,587.587 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:05:02,623.623 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:05:02,626.626 INFO    ] No camera update needed
[2026-10-20 15:05:02,630.630 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:05:02,634.634 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:05:02,641.641 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:05:02,648.648 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:05:04,693.693 INFO    ] ================================================
[2026-10-20 15:05:04,708.708 INFO    ] Launching Daemon at Tue Oct 20 15:05:04 IST 2026
[2026-10-20 15:05:04,719.719 INFO    ] ================================================
[2026-10-20 15:05:05,293.293 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:05:05
[2026-10-20 15:05:05,883.883 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:05:06,157.157 INFO    ] Initializing speech engine...
[2026-10-20 15:05:06,166.166 INFO    ] 2026-10-20 15:05:06
[2026-10-20 15:05:06,431.431 INFO    ] 2026-10-20 15:05:06
[2026-10-20 15:05:06,461.461 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:05:06,712.712 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:05:06,717.717 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:05:06,948.948 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:05:06,978.978 INFO    ] time= 20/10/2026 15:05:06
[2026-10-20 15:05:06,994.994 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:05:07,003.003 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:05:07,160.160 INFO    ] No existing commands found in stream
[2026-10-20 15:05:12,181.181 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:05:12,184.184 INFO    ] Waiting 1.99 seconds before fallback handling...
[2026-10-20 15:05:14,696.696 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:05:14,699.699 INFO    ] Checking for system updates...
[2026-10-20 15:05:14,734.734 INFO    ] 200
[2026-10-20 15:05:14,737.737 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:05:14,789.789 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:05:14,792.792 INFO    ] No update needed
[2026-10-20 15:05:14,794.794 INFO    ] Checking for camera pi updates...
[2026-10-20 15:05:14,827.827 INFO    ] 200
[2026-10-20 15:05:14,830.830 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:05:14,876.876 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:05:14,920.920 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:05:14,922.922 INFO    ] No camera update needed
[2026-10-20 15:05:14,925.925 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:05:14,927.927 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:05:14,932.932 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:05:14,938.938 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:05:16,979.979 INFO    ] ================================================
[2026-10-20 15:05:17,995.995 INFO    ] Launching Daemon at Tue Oct 20 15:05:16 IST 2026
[2026-10-20 15:05:17,006.006 INFO    ] ================================================
[2026-10-20 15:05:17,675.675 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:05:17
[2026-10-20 15:05:18,277.277 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:05:18,527.527 INFO    ] Initializing speech engine...
[2026-10-20 15:05:18,545.545 INFO    ] 2026-10-20 15:05:18
[2026-10-20 15:05:18,805.805 INFO    ] 2026-10-20 15:05:18
[2026-10-20 15:05:18,841.841 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:05:19,102.102 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:05:19,106.106 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:05:19,338.338 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:05:19,371.371 INFO    ] time= 20/10/2026 15:05:19
[2026-10-20 15:05:19,377.377 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:05:19,395.395 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:05:19,578.578 INFO    ] No existing commands found in stream
[2026-10-20 15:05:24,603.603 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:05:24,606.606 INFO    ] Waiting 1.39 seconds before fallback handling...
[2026-10-20 15:05:26,507.507 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:05:26,510.510 INFO    ] Checking for system updates...
[2026-10-20 15:05:26,549.549 INFO    ] 200
[2026-10-20 15:05:26,552.552 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:05:26,612.612 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:05:26,615.615 INFO    ] No update needed
[2026-10-20 15:05:26,618.618 INFO    ] Checking for camera pi updates...
[2026-10-20 15:05:26,655.655 INFO    ] 200
[2026-10-20 15:05:26,658.658 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:05:26,704.704 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:05:26,750.750 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:05:26,753.753 INFO    ] No camera update needed
[2026-10-20 15:05:26,755.755 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:05:26,758.758 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:05:26,764.764 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:05:26,770.770 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:05:28,810.810 INFO    ] ================================================
[2026-10-20 15:05:28,826.826 INFO    ] Launching Daemon at Tue Oct 20 15:05:28 IST 2026
[2026-10-20 15:05:28,837.837 INFO    ] ================================================
[2026-10-20 15:05:29,413.413 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:05:29
[2026-10-20 15:05:29,998.998 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:05:30,270.270 INFO    ] Initializing speech engine...
[2026-10-20 15:05:30,285.285 INFO    ] 2026-10-20 15:05:30
[2026-10-20 15:05:30,556.556 INFO    ] 2026-10-20 15:05:30
[2026-10-20 15:05:30,592.592 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:05:30,812.812 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:05:30,835.835 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:05:31,038.038 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:05:31,046.046 INFO    ] time= 20/10/2026 15:05:31
[2026-10-20 15:05:31,090.090 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:05:31,128.128 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:05:31,216.216 INFO    ] No existing commands found in stream
[2026-10-20 15:05:36,232.232 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:05:36,235.235 INFO    ] Waiting 1.34 seconds before fallback handling...
[2026-10-20 15:05:38,138.138 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:05:38,141.141 INFO    ] Checking for system updates...
[2026-10-20 15:05:38,176.176 INFO    ] 200
[2026-10-20 15:05:38,179.179 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:05:38,233.233 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:05:38,236.236 INFO    ] No update needed
[2026-10-20 15:05:38,238.238 INFO    ] Checking for camera pi updates...
[2026-10-20 15:05:38,272.272 INFO    ] 200
[2026-10-20 15:05:38,275.275 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:05:38,316.316 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:05:38,465.465 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:05:38,467.467 INFO    ] No camera update needed
[2026-10-20 15:05:38,470.470 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:05:38,473.473 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:05:38,479.479 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:05:38,485.485 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:05:40,525.525 INFO    ] ================================================
[2026-10-20 15:05:40,541.541 INFO    ] Launching Daemon at Tue Oct 20 15:05:40 IST 2026
[2026-10-20 15:05:40,553.553 INFO    ] ================================================
[2026-10-20 15:05:41,130.130 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:05:41
[2026-10-20 15:05:41,728.728 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:05:41,983.983 INFO    ] Initializing speech engine...
[2026-10-20 15:05:41,997.997 INFO    ] 2026-10-20 15:05:41
[2026-10-20 15:05:42,263.263 INFO    ] 2026-10-20 15:05:42
[2026-10-20 15:05:42,304.304 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:05:42,550.550 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:05:42,559.559 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:05:42,734.734 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:05:42,788.788 INFO    ] time= 20/10/2026 15:05:42
[2026-10-20 15:05:42,820.820 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:05:42,826.826 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:05:42,991.991 INFO    ] No existing commands found in stream
[2026-10-20 15:05:48,025.025 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:05:48,028.028 INFO    ] Waiting 1.18 seconds before fallback handling...
[2026-10-20 15:05:49,746.746 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:05:49,749.749 INFO    ] Checking for system updates...
[2026-10-20 15:05:49,791.791 INFO    ] 200
[2026-10-20 15:05:49,793.793 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:05:49,850.850 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:05:49,853.853 INFO    ] No update needed
[2026-10-20 15:05:49,855.855 INFO    ] Checking for camera pi updates...
[2026-10-20 15:05:49,893.893 INFO    ] 200
[2026-10-20 15:05:49,896.896 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:05:49,944.944 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:05:49,997.997 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:05:50,000.000 INFO    ] No camera update needed
[2026-10-20 15:05:50,002.002 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:05:50,005.005 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:05:50,011.011 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:05:50,017.017 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:05:52,058.058 INFO    ] ================================================
[2026-10-20 15:05:52,073.073 INFO    ] Launching Daemon at Tue Oct 20 15:05:52 IST 2026
[2026-10-20 15:05:52,084.084 INFO    ] ================================================
[2026-10-20 15:05:52,739.739 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:05:52
[2026-10-20 15:05:53,413.413 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:05:53,714.714 INFO    ] Initializing speech engine...
[2026-10-20 15:05:53,721.721 INFO    ] 2026-10-20 15:05:53
[2026-10-20 15:05:54,010.010 INFO    ] 2026-10-20 15:05:53
[2026-10-20 15:05:54,056.056 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:05:54,341.341 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:05:54,350.350 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:05:54,543.543 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:05:54,563.563 INFO    ] time= 20/10/2026 15:05:54
[2026-10-20 15:05:54,593.593 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:05:54,602.602 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:05:54,731.731 INFO    ] No existing commands found in stream
[2026-10-20 15:05:59,762.762 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:05:59,765.765 INFO    ] Waiting 2.03 seconds before fallback handling...
[2026-10-20 15:06:02,492.492 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:06:02,496.496 INFO    ] Checking for system updates...
[2026-10-20 15:06:02,544.544 INFO    ] 200
[2026-10-20 15:06:02,547.547 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:06:02,630.630 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:06:02,634.634 INFO    ] No update needed
[2026-10-20 15:06:02,637.637 INFO    ] Checking for camera pi updates...
[2026-10-20 15:06:02,684.684 INFO    ] 200
[2026-10-20 15:06:02,687.687 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:06:02,732.732 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:06:02,769.769 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:06:02,772.772 INFO    ] No camera update needed
[2026-10-20 15:06:02,775.775 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:06:02,777.777 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:06:02,784.784 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:06:02,790.790 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:06:04,833.833 INFO    ] ================================================
[2026-10-20 15:06:04,850.850 INFO    ] Launching Daemon at Tue Oct 20 15:06:04 IST 2026
[2026-10-20 15:06:04,860.860 INFO    ] ================================================
[2026-10-20 15:06:05,431.431 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:06:05
[2026-10-20 15:06:06,021.021 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:06:06,309.309 INFO    ] Initializing speech engine...
[2026-10-20 15:06:06,319.319 INFO    ] 2026-10-20 15:06:06
[2026-10-20 15:06:06,586.586 INFO    ] 2026-10-20 15:06:06
[2026-10-20 15:06:06,622.622 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:06:06,850.850 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:06:06,914.914 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:06:07,109.109 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:06:07,164.164 INFO    ] time= 20/10/2026 15:06:07
[2026-10-20 15:06:07,214.214 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:06:07,224.224 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:06:07,370.370 INFO    ] No existing commands found in stream
[2026-10-20 15:06:12,395.395 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:06:12,399.399 INFO    ] Waiting 0.51 seconds before fallback handling...
[2026-10-20 15:06:13,450.450 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:06:13,453.453 INFO    ] Checking for system updates...
[2026-10-20 15:06:13,493.493 INFO    ] 200
[2026-10-20 15:06:13,495.495 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:06:13,548.548 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:06:13,550.550 INFO    ] No update needed
[2026-10-20 15:06:13,553.553 INFO    ] Checking for camera pi updates...
[2026-10-20 15:06:13,589.589 INFO    ] 200
[2026-10-20 15:06:13,592.592 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:06:13,632.632 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:06:13,681.681 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:06:13,684.684 INFO    ] No camera update needed
[2026-10-20 15:06:13,686.686 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:06:13,688.688 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:06:13,694.694 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:06:13,699.699 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:06:15,741.741 INFO    ] ================================================
[2026-10-20 15:06:15,756.756 INFO    ] Launching Daemon at Tue Oct 20 15:06:15 IST 2026
[2026-10-20 15:06:15,766.766 INFO    ] ================================================
[2026-10-20 15:06:16,414.414 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:06:16
[2026-10-20 15:06:17,082.082 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:06:17,385.385 INFO    ] Initializing speech engine...
[2026-10-20 15:06:17,393.393 INFO    ] 2026-10-20 15:06:17
[2026-10-20 15:06:17,685.685 INFO    ] 2026-10-20 15:06:17
[2026-10-20 15:06:17,795.795 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:06:18,012.012 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:06:18,018.018 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:06:18,211.211 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:06:18,230.230 INFO    ] time= 20/10/2026 15:06:18
[2026-10-20 15:06:18,250.250 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:06:18,267.267 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:06:18,433.433 INFO    ] No existing commands found in stream
[2026-10-20 15:06:23,469.469 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:06:23,472.472 INFO    ] Waiting 3.60 seconds before fallback handling...
[2026-10-20 15:06:27,655.655 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:06:27,658.658 INFO    ] Checking for system updates...
[2026-10-20 15:06:27,694.694 INFO    ] 200
[2026-10-20 15:06:27,697.697 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:06:27,754.754 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:06:27,757.757 INFO    ] No update needed
[2026-10-20 15:06:27,759.759 INFO    ] Checking for camera pi updates...
[2026-10-20 15:06:27,793.793 INFO    ] 200
[2026-10-20 15:06:27,795.795 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:06:27,839.839 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:06:27,884.884 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:06:27,887.887 INFO    ] No camera update needed
[2026-10-20 15:06:27,889.889 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:06:27,892.892 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:06:27,897.897 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:06:27,902.902 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:06:29,943.943 INFO    ] ================================================
[2026-10-20 15:06:29,959.959 INFO    ] Launching Daemon at Tue Oct 20 15:06:29 IST 2026
[2026-10-20 15:06:29,971.971 INFO    ] ================================================
[2026-10-20 15:06:30,637.637 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:06:30
[2026-10-20 15:06:31,260.260 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:06:31,539.539 INFO    ] Initializing speech engine...
[2026-10-20 15:06:31,549.549 INFO    ] 2026-10-20 15:06:31
[2026-10-20 15:06:31,852.852 INFO    ] 2026-10-20 15:06:31
[2026-10-20 15:06:31,891.891 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:06:32,093.093 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:06:32,110.110 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:06:32,265.265 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:06:32,276.276 INFO    ] time= 20/10/2026 15:06:32
[2026-10-20 15:06:32,341.341 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:06:32,348.348 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:06:32,479.479 INFO    ] No existing commands found in stream
[2026-10-20 15:06:37,491.491 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:06:37,494.494 INFO    ] Waiting 0.56 seconds before fallback handling...
[2026-10-20 15:06:38,575.575 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:06:38,578.578 INFO    ] Checking for system updates...
[2026-10-20 15:06:38,614.614 INFO    ] 200
[2026-10-20 15:06:38,617.617 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:06:38,669.669 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:06:38,671.671 INFO    ] No update needed
[2026-10-20 15:06:38,674.674 INFO    ] Checking for camera pi updates...
[2026-10-20 15:06:38,707.707 INFO    ] 200
[2026-10-20 15:06:38,709.709 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:06:38,753.753 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:06:38,799.799 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:06:38,801.801 INFO    ] No camera update needed
[2026-10-20 15:06:38,804.804 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:06:38,806.806 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:06:38,813.813 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:06:38,818.818 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:06:40,859.859 INFO    ] ================================================
[2026-10-20 15:06:40,876.876 INFO    ] Launching Daemon at Tue Oct 20 15:06:40 IST 2026
[2026-10-20 15:06:40,887.887 INFO    ] ================================================
[2026-10-20 15:06:41,462.462 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:06:41
[2026-10-20 15:06:42,052.052 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:06:42,320.320 INFO    ] Initializing speech engine...
[2026-10-20 15:06:42,329.329 INFO    ] 2026-10-20 15:06:42
[2026-10-20 15:06:42,575.575 INFO    ] 2026-10-20 15:06:42
[2026-10-20 15:06:42,610.610 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:06:42,860.860 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:06:42,869.869 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:06:43,073.073 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:06:43,126.126 INFO    ] time= 20/10/2026 15:06:43
[2026-10-20 15:06:43,133.133 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:06:43,150.150 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:06:43,285.285 INFO    ] Found 1 existing command(s) in stream
[2026-10-20 15:06:43,343.343 INFO    ] Checking historical command: ID=1792489003072-0
[2026-10-20 15:06:43,388.388 INFO    ] process_and_cleanup_command: msg_id=1792489003072-0
[2026-10-20 15:06:43,412.412 INFO    ] is_command_expired: timestamp=2026-10-20T09:36:42.834Z, expiry=30s
[2026-10-20 15:06:43,708.708 INFO    ] Command removed from stream: 1792489003072-0. returning for processing...
[2026-10-20 15:06:43,740.740 INFO    ] ***** get_valid_command
[2026-10-20 15:06:43,746.746 INFO    ] {'data': '{"request_id":"start-order-1792489002834-rjnqm9tsj","orderId":"TM04202203261020150634759","is_vending":false}', 'timeout': '10', 'source': 'webapp', 'command': 'start-order', 'timestamp': '2026-10-20T09:36:42.834Z'}
[2026-10-20 15:06:43,750.750 INFO    ] ***** Parsed command data: {'orderId': 'TM04202203261020150634759', 'is_vending': False, 'request_id': 'start-order-1792489002834-rjnqm9tsj'}
[2026-10-20 15:06:43,793.793 INFO    ] Handling start order...
[2026-10-20 15:06:43,803.803 INFO    ] handle_start_order_command
[2026-10-20 15:06:43,857.857 INFO    ] _send_start_order_success: request_id=start-order-1792489002834-rjnqm9tsj, order_id=TM04202203261020150634759
[2026-10-20 15:06:43,863.863 INFO    ] [_send_start_order_success] Adding message to stream: machine:TM04202203
[2026-10-20 15:06:44,004.004 INFO    ] [_send_start_order_success] Message added to stream with ID: 1792489003925-0
[2026-10-20 15:06:44,010.010 INFO    ] ✅ Start-order command succeeded - order locked, waiting for process-order command
[2026-10-20 15:06:44,016.016 INFO    ] Checking for system updates...
[2026-10-20 15:06:44,067.067 INFO    ] 200
[2026-10-20 15:06:44,071.071 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:06:44,177.177 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:06:44,181.181 INFO    ] No update needed
[2026-10-20 15:06:44,186.186 INFO    ] Checking for camera pi updates...
[2026-10-20 15:06:44,231.231 INFO    ] 200
[2026-10-20 15:06:44,238.238 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:06:44,284.284 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:06:44,335.335 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:06:44,343.343 INFO    ] No camera update needed
[2026-10-20 15:06:44,351.351 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:06:44,354.354 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:06:44,375.375 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:06:44,388.388 INFO    ] Thread: Thread-1, daemon=True, alive=True
[2026-10-20 15:06:44,393.393 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:06:46,464.464 INFO    ] ================================================
[2026-10-20 15:06:46,479.479 INFO    ] Launching Daemon at Tue Oct 20 15:06:46 IST 2026
[2026-10-20 15:06:46,490.490 INFO    ] ================================================
[2026-10-20 15:06:47,073.073 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:06:47
[2026-10-20 15:06:47,660.660 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:06:47,907.907 INFO    ] Initializing speech engine...
[2026-10-20 15:06:47,931.931 INFO    ] 2026-10-20 15:06:47
[2026-10-20 15:06:48,195.195 INFO    ] 2026-10-20 15:06:48
[2026-10-20 15:06:48,231.231 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:06:48,495.495 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:06:48,499.499 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:06:48,702.702 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:06:48,752.752 INFO    ] time= 20/10/2026 15:06:48
[2026-10-20 15:06:48,771.771 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:06:48,787.787 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:06:48,932.932 INFO    ] Found 2 existing command(s) in stream
[2026-10-20 15:06:48,987.987 INFO    ] Checking historical command: ID=1792489003925-0
[2026-10-20 15:06:49,037.037 INFO    ] process_and_cleanup_command: msg_id=1792489003925-0
[2026-10-20 15:06:49,081.081 INFO    ] is_command_expired: timestamp=2026-10-20T09:36:43.860774Z, expiry=30s
[2026-10-20 15:06:49,353.353 INFO    ] Command removed from stream: 1792489003925-0. returning for processing...
[2026-10-20 15:06:49,397.397 INFO    ] ***** get_valid_command
[2026-10-20 15:06:49,403.403 INFO    ] {'imei': 'TM04202203', 'message': 'start-order success', 'metadata_request_id': 'start-order-1792489002834-rjnqm9tsj', 'metadata_order_id': 'TM04202203261020150634759', 'timestamp': '2026-10-20T09:36:43.860774Z', 'status': 'success', 'message_type': 'command_response'}
[2026-10-20 15:06:49,406.406 INFO    ] Checking historical command: ID=1792489005026-0
[2026-10-20 15:06:49,455.455 INFO    ] process_and_cleanup_command: msg_id=1792489005026-0
[2026-10-20 15:06:49,462.462 INFO    ] is_command_expired: timestamp=2026-10-20T09:36:44.818Z, expiry=30s
[2026-10-20 15:06:49,629.629 INFO    ] Command removed from stream: 1792489005026-0. returning for processing...
[2026-10-20 15:06:49,662.662 INFO    ] ***** get_valid_command
[2026-10-20 15:06:49,669.669 INFO    ] {'timestamp': '2026-10-20T09:36:44.818Z', 'timeout': '60', 'data': '{"request_id":"process-order-1792489004817-4lqu5rmg2","orderId":"TM04202203261020150634759","is_vending":false,"accessCode":"81705842"}', 'source': 'webapp', 'command': 'process-order'}
[2026-10-20 15:06:49,674.674 INFO    ] ***** Parsed command data: {'is_vending': False, 'orderId': 'TM04202203261020150634759', 'accessCode': '81705842', 'request_id': 'process-order-1792489004817-4lqu5rmg2'}
[2026-10-20 15:06:49,681.681 INFO    ] Handling process order...
[2026-10-20 15:06:49,686.686 INFO    ] Processing process-order command...
[2026-10-20 15:06:49,693.693 INFO    ] 🔍 Lock file Order ID: TM04202203261020150634759, TS: 2026-10-20 15:06:43
[2026-10-20 15:06:49,709.709 INFO    ] ✅ Order lock valid for TM04202203261020150634759
[2026-10-20 15:06:49,716.716 INFO    ] Received access code in process-order, skipping PHP API call
[2026-10-20 15:06:49,720.720 INFO    ] processing access code 81705842 for order TM04202203261020150634759
[2026-10-20 15:06:49,726.726 INFO    ] 🔍 Lock file Order ID: TM04202203261020150634759, TS: 2026-10-20 15:06:43
[2026-10-20 15:06:49,733.733 INFO    ] ✅ Order lock valid for TM04202203261020150634759
[2026-10-20 15:06:49,738.738 INFO    ] 2026-10-20 15:06:49
[2026-10-20 15:06:49,787.787 INFO    ] 200
[2026-10-20 15:06:49,793.793 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:06:49,799.799 INFO    ] 81705842
[2026-10-20 15:06:49,806.806 INFO    ] 2026-10-20 15:06:49
[2026-10-20 15:06:49,812.812 INFO    ] session id :206923261
[2026-10-20 15:06:49,816.816 INFO    ] http://localhost:5000/v2/getOrderByAccessCode?access_code=81705842&imei=TM04202203&session_id=206923261
[2026-10-20 15:06:51,078.078 INFO    ] 200
[2026-10-20 15:06:51,086.086 INFO    ] {"data": {"access_code": "81705842", "bill_amount": "60", "invoice_bill": "60", "order_id": "TM04202203261020150634759", "mobile": "8340610746", "proposed_sku_json": [{"image_url": "https://images.tinymart.in/product/185306-7282.png", "door_id": "2", "mrp": "30", "offer_id": "", "name": "Cavins Rose Lassi,180ml", "unit_price": 30, "qty": 2, "offer_desc": "", "skuid": "185306", "sku_total": 60, "tray_id": "31"}]}, "status": true, "msg": "Order Data", "rstatus": true}
[2026-10-20 15:06:51,109.109 INFO    ] 60
[2026-10-20 15:06:51,116.116 INFO    ] TM04202203261020150634759
[2026-10-20 15:06:51,123.123 INFO    ] 8340610746
[2026-10-20 15:06:51,128.128 INFO    ] 2026-10-20 15:06:51
[2026-10-20 15:06:51,134.134 INFO    ] Door Opening for user mobile ending with  zero seven four six 
[2026-10-20 15:06:51,142.142 INFO    ] Door Opening for user mobile ending with  zero seven four six 
[2026-10-20 15:06:51,150.150 INFO    ] 32b59f8547de54ef6488bb4e9ec1644e
[2026-10-20 15:06:51,178.178 INFO    ] 2026-10-20 15:06:51
[2026-10-20 15:06:51,200.200 INFO    ] playing audio file
[2026-10-20 15:06:51,279.279 INFO    ] 2026-10-20 15:06:51
[2026-10-20 15:06:51,317.317 INFO    ] 2026-10-20 15:06:51
[2026-10-20 15:06:51,356.356 INFO    ] publish_status: order_id=TM04202203261020150634759
[2026-10-20 15:06:51,367.367 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020150634759
[2026-10-20 15:06:51,472.472 INFO    ] [publish_status] Message added to stream with ID: 1792489011424-0
[2026-10-20 15:06:51,475.475 INFO    ] Published to order:TM04202203261020150634759: {'timestamp': '2026-10-20T09:36:51.324493Z', 'order_id': 'TM04202203261020150634759', 'server_response': '{"status": true, "data": {"bill_amount": "60", "proposed_sku_json": [{"offer_desc": "", "tray_id": "31", "unit_price": 30, "name": "Cavins Rose Lassi,180ml", "image_url": "https://images.tinymart.in/product/185306-7282.png", "mrp": "30", "skuid": "185306", "sku_total": 60, "offer_id": "", "qty": 2, "door_id": "2"}], "order_id": "TM04202203261020150634759", "access_code": "81705842", "invoice_bill": "60", "mobile": "8340610746"}, "msg": "Order Data", "rstatus": true}', 'server_status': 'order-started'} (ID: 1792489011424-0)
[2026-10-20 15:06:52,007.007 INFO    ] {'order_id': 'TM04202203261020150634759', 'server_response': {'status': True, 'data': {'bill_amount': '60', 'proposed_sku_json': [{'offer_desc': '', 'tray_id': '31', 'unit_price': 30, 'name': 'Cavins Rose Lassi,180ml', 'image_url': 'https://images.tinymart.in/product/185306-7282.png', 'mrp': '30', 'skuid': '185306', 'sku_total': 60, 'offer_id': '', 'qty': 2, 'door_id': '2'}], 'order_id': 'TM04202203261020150634759', 'access_code': '81705842', 'invoice_bill': '60', 'mobile': '8340610746'}, 'msg': 'Order Data', 'rstatus': True}, 'server_status': 'order-started'}
[2026-10-20 15:06:52,010.010 INFO    ] 200
[2026-10-20 15:06:52,012.012 INFO    ] {"data":{"order_id":"TM04202203261020150634759","server_response":{"status":true,"data":{"bill_amount":"60","proposed_sku_json":[{"offer_desc":"","tray_id":"31","unit_price":30,"name":"Cavins Rose Lassi,180ml","image_url":"https:\/\/images.tinymart.in\/product\/185306-7282.png","mrp":"30","skuid":"185306","sku_total":60,"offer_id":"","qty":2,"door_id":"2"}],"order_id":"TM04202203261020150634759","access_code":"81705842","invoice_bill":"60","mobile":"8340610746"},"msg":"Order Data","rstatus":true},"server_status":"order-started"},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 15:06:52,015.015 INFO    ] {'data': {'order_id': 'TM04202203261020150634759', 'server_response': {'status': True, 'data': {'bill_amount': '60', 'proposed_sku_json': [{'offer_desc': '', 'tray_id': '31', 'unit_price': 30, 'name': 'Cavins Rose Lassi,180ml', 'image_url': 'https://images.tinymart.in/product/185306-7282.png', 'mrp': '30', 'sku_total': 60, 'offer_id': '', 'skuid': '185306', 'qty': 2, 'door_id': '2'}], 'order_id': 'TM04202203261020150634759', 'access_code': '81705842', 'invoice_bill': '60', 'mobile': '8340610746'}, 'msg': 'Order Data', 'rstatus': True}, 'server_status': 'order-started'}, 'response': {'status': True, 'data': 'order updated successfully', 'msg': 'order updated successfully', 'code': 'ORDER_EXISTS'}}
[2026-10-20 15:06:52,017.017 INFO    ] 2026-10-20 15:06:52
[2026-10-20 15:06:52,059.059 INFO    ] 200
[2026-10-20 15:06:52,061.061 INFO    ] True
[2026-10-20 15:06:52,210.210 INFO    ] 200
[2026-10-20 15:06:52,213.213 INFO    ] {"SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "rstatus": false, "voiceNote": "Please Wait", "status": "False", "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait while we process your order", "Note": "", "Header": " Your order is under process  "}, "SectionMain": {"Header": "Processing Order"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 15:06:52,217.217 INFO    ] {'rstatus': False, 'voiceNote': 'Please Wait', 'SectionMain': {'Header': 'Processing Order'}, 'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'status': 'False', 'SectionStatus': {'Header': ' Your order is under process  ', 'Note': '', 'UI_Header': '', 'SubHeader': 'Please wait while we process your order'}, 'error': {'umessage': 'In Progress', 'data': {}, 'code': 20001, 'tmessage': 'In Progress'}}
[2026-10-20 15:06:52,220.220 INFO    ] *** process_order ***
[2026-10-20 15:06:53,393.393 INFO    ] 200
[2026-10-20 15:06:53,396.396 INFO    ] {"SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "rstatus": true, "voiceNote": "Please Wait", "delay": 0, "status": "True", "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait while we process your order", "Note": "", "Header": " Your order is under process  "}, "SectionMain": {"Header": "Processing Order"}}
[2026-10-20 15:06:53,398.398 INFO    ] {'rstatus': True, 'delay': 0, 'voiceNote': 'Please Wait', 'SectionMain': {'Header': 'Processing Order'}, 'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'status': 'True', 'SectionStatus': {'Header': ' Your order is under process  ', 'Note': '', 'UI_Header': '', 'SubHeader': 'Please wait while we process your order'}}
[2026-10-20 15:06:53,401.401 INFO    ] *** process_order ***
[2026-10-20 15:06:53,403.403 INFO    ] publish_status: order_id=TM04202203261020150634759
[2026-10-20 15:06:53,405.405 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020150634759
[2026-10-20 15:06:53,512.512 INFO    ] [publish_status] Message added to stream with ID: 1792489013463-0
[2026-10-20 15:06:53,515.515 INFO    ] Published to order:TM04202203261020150634759: {'order_id': 'TM04202203261020150634759', 'server_response': '{"rstatus": true, "delay": 0, "voiceNote": "Door is open...", "SectionMain": {"Header": "Processing Order"}, "SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "status": "True", "SectionStatus": {"SubHeader": "You can pull the door now.", "Note": "", "UI_Header": "", "Header": " Your order is under process  "}}', 'server_status': 'doorOpened'} (ID: 1792489013463-0)
[2026-10-20 15:06:54,590.590 INFO    ] 2026-10-20 15:06:54
[2026-10-20 15:06:54,593.593 INFO    ] publish_status: order_id=TM04202203261020150634759
[2026-10-20 15:06:54,596.596 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020150634759
[2026-10-20 15:06:54,720.720 INFO    ] [publish_status] Message added to stream with ID: 1792489014672-0
[2026-10-20 15:06:54,723.723 INFO    ] Published to order:TM04202203261020150634759: {'timestamp': '2026-10-20T09:36:54.591911Z', 'order_id': 'TM04202203261020150634759', 'server_response': '{"rstatus": true, "delay": 0, "voiceNote": "Please Wait", "SectionMain": {"Header": "Processing Order"}, "SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "status": "True", "SectionStatus": {"Header": " Your order is under process  ", "Note": "", "UI_Header": "", "SubHeader": "Please wait while we process your order"}}', 'server_status': 'processOrder'} (ID: 1792489014672-0)
[2026-10-20 15:06:54,880.880 INFO    ] {'order_id': 'TM04202203261020150634759', 'server_response': {'rstatus': True, 'delay': 0, 'voiceNote': 'Please Wait', 'SectionMain': {'Header': 'Processing Order'}, 'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'status': 'True', 'SectionStatus': {'Header': ' Your order is under process  ', 'Note': '', 'UI_Header': '', 'SubHeader': 'Please wait while we process your order'}}, 'server_status': 'processOrder'}
[2026-10-20 15:06:54,883.883 INFO    ] 200
[2026-10-20 15:06:54,885.885 INFO    ] {"data":{"order_id":"TM04202203261020150634759","server_response":{"rstatus":true,"delay":0,"voiceNote":"Please Wait","SectionMain":{"Header":"Processing Order"},"SectionSKU":{"skus":[],"Header":"Thank you for bearing with us :)"},"status":"true","SectionStatus":{"Header":" Your order is under process  ","Note":"","UI_Header":"","SubHeader":"Please wait while we process your order"}},"server_status":"processOrder"},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 15:06:54,889.889 INFO    ] {'data': {'order_id': 'TM04202203261020150634759', 'server_response': {'rstatus': True, 'delay': 0, 'voiceNote': 'Please Wait', 'SectionMain': {'Header': 'Processing Order'}, 'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'status': 'true', 'SectionStatus': {'SubHeader': 'Please wait while we process your order', 'Note': '', 'UI_Header': '', 'Header': ' Your order is under process  '}}, 'server_status': 'processOrder'}, 'response': {'status': True, 'data': 'order updated successfully', 'msg': 'order updated successfully', 'code': 'ORDER_EXISTS'}}
[2026-10-20 15:06:54,892.892 INFO    ] 2026-10-20 15:06:54
[2026-10-20 15:06:54,894.894 INFO    ] None
[2026-10-20 15:06:54,897.897 INFO    ] Opening Door now
[2026-10-20 15:06:54,900.900 INFO    ] Opening Door now
[2026-10-20 15:06:54,902.902 INFO    ] 08e5d1063504bf393c26f0bfa436e9f9
[2026-10-20 15:06:54,905.905 INFO    ] 2026-10-20 15:06:54
[2026-10-20 15:06:54,908.908 INFO    ] playing audio file
[2026-10-20 15:06:54,924.924 INFO    ] 2026-10-20 15:06:54
[2026-10-20 15:06:54,928.928 INFO    ] 2026-10-20 15:06:54
[2026-10-20 15:06:57,979.979 INFO    ] 200
[2026-10-20 15:06:57,981.981 INFO    ] {"SectionSKU": {"skus": [{"name": "Cavins Rose Lassi,180ml", "qty": 2}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Door 2 is open now", "status": "False", "SectionStatus": {"UI_Header": "DOOR 2\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 2"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 15:06:57,985.985 INFO    ] {'rstatus': False, 'voiceNote': 'Door 2 is open now', 'SectionMain': {'Header': 'Door Open'}, 'SectionSKU': {'skus': [{'qty': 2, 'name': 'Cavins Rose Lassi,180ml'}], 'Header': 'Pick the below items from the door'}, 'status': 'False', 'SectionStatus': {'Header': 'Please Close Door 2', 'Note': 'Please Close the door after picking up products', 'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'SubHeader': 'Please Pick the Products and close the door'}, 'error': {'umessage': 'In Progress', 'data': {}, 'code': 20001, 'tmessage': 'In Progress'}}
[2026-10-20 15:07:01,082.082 INFO    ] 200
[2026-10-20 15:07:01,084.084 INFO    ] {"SectionSKU": {"skus": [{"name": "Cavins Rose Lassi,180ml", "qty": 2}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Please close door 2", "status": "False", "SectionStatus": {"UI_Header": "DOOR 2\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 2"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 15:07:01,088.088 INFO    ] {'rstatus': False, 'voiceNote': 'Please close door 2', 'SectionMain': {'Header': 'Door Open'}, 'SectionSKU': {'skus': [{'qty': 2, 'name': 'Cavins Rose Lassi,180ml'}], 'Header': 'Pick the below items from the door'}, 'status': 'False', 'SectionStatus': {'Header': 'Please Close Door 2', 'Note': 'Please Close the door after picking up products', 'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'SubHeader': 'Please Pick the Products and close the door'}, 'error': {'umessage': 'In Progress', 'data': {}, 'code': 20001, 'tmessage': 'In Progress'}}
[2026-10-20 15:07:04,162.162 INFO    ] 200
[2026-10-20 15:07:04,165.165 INFO    ] {"SectionSKU": {"skus": [{"name": "Cavins Rose Lassi,180ml", "qty": 2}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Please close door 2", "status": "False", "SectionStatus": {"UI_Header": "DOOR 2\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 2"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 15:07:04,169.169 INFO    ] Please close door 2
[2026-10-20 15:07:04,173.173 INFO    ] Please close door 2
[2026-10-20 15:07:04,176.176 INFO    ] 758e46684c76e887a5f58d4738034bed
[2026-10-20 15:07:04,180.180 INFO    ] 2026-10-20 15:07:04
[2026-10-20 15:07:04,183.183 INFO    ] playing audio file
[2026-10-20 15:07:04,201.201 INFO    ] 2026-10-20 15:07:04
[2026-10-20 15:07:04,205.205 INFO    ] publish_status: order_id=TM04202203261020150634759
[2026-10-20 15:07:04,209.209 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020150634759
[2026-10-20 15:07:04,313.313 INFO    ] [publish_status] Message added to stream with ID: 1792489024263-0
[2026-10-20 15:07:04,316.316 INFO    ] Published to order:TM04202203261020150634759: {'timestamp': '2026-10-20T09:37:04.203718Z', 'order_id': 'TM04202203261020150634759', 'server_response': '{"rstatus": false, "voiceNote": "Please close door 2", "SectionMain": {"Header": "Door Open"}, "SectionSKU": {"skus": [{"qty": 2, "name": "Cavins Rose Lassi,180ml"}], "Header": "Pick the below items from the door"}, "status": "False", "SectionStatus": {"Header": "Please Close Door 2", "Note": "Please Close the door after picking up products", "UI_Header": "DOOR 2\\nIS \\nOPEN \\nNOW", "SubHeader": "Please Pick the Products and close the door"}, "error": {"umessage": "In Progress", "data": {}, "code": 20001, "tmessage": "In Progress"}}', 'server_status': 'OrderStatus'} (ID: 1792489024263-0)
[2026-10-20 15:07:04,924.924 INFO    ] {'order_id': 'TM04202203261020150634759', 'server_response': {'rstatus': False, 'voiceNote': 'Please close door 2', 'SectionMain': {'Header': 'Door Open'}, 'SectionSKU': {'skus': [{'qty': 2, 'name': 'Cavins Rose Lassi,180ml'}], 'Header': 'Pick the below items from the door'}, 'status': 'False', 'SectionStatus': {'Header': 'Please Close Door 2', 'Note': 'Please Close the door after picking up products', 'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'SubHeader': 'Please Pick the Products and close the door'}, 'error': {'umessage': 'In Progress', 'data': {}, 'code': 20001, 'tmessage': 'In Progress'}}, 'server_status': 'OrderStatus'}
[2026-10-20 15:07:04,927.927 INFO    ] 200
[2026-10-20 15:07:04,930.930 INFO    ] {"data":{"order_id":"TM04202203261020150634759","server_response":{"rstatus":false,"voiceNote":"Please close door 2","SectionMain":{"Header":"Door Open"},"SectionSKU":{"skus":[{"qty":2,"name":"Cavins Rose Lassi,180ml"}],"Header":"Pick the below items from the door"},"status":"false","SectionStatus":{"Header":"Please Close Door 2","Note":"Please Close the door after picking up products","UI_Header":"DOOR 2\nIS \nOPEN \nNOW","SubHeader":"Please Pick the Products and close the door"},"error":{"umessage":"In Progress","data":[],"code":20001,"tmessage":"In Progress"}},"server_status":"OrderStatus"},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 15:07:04,933.933 INFO    ] {'data': {'order_id': 'TM04202203261020150634759', 'server_response': {'rstatus': False, 'voiceNote': 'Please close door 2', 'SectionMain': {'Header': 'Door Open'}, 'SectionSKU': {'skus': [{'qty': 2, 'name': 'Cavins Rose Lassi,180ml'}], 'Header': 'Pick the below items from the door'}, 'status': 'false', 'SectionStatus': {'SubHeader': 'Please Pick the Products and close the door', 'Note': 'Please Close the door after picking up products', 'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'Header': 'Please Close Door 2'}, 'error': {'data': [], 'tmessage': 'In Progress', 'code': 20001, 'umessage': 'In Progress'}}, 'server_status': 'OrderStatus'}, 'response': {'status': True, 'data': 'order updated successfully', 'msg': 'order updated successfully', 'code': 'ORDER_EXISTS'}}
[2026-10-20 15:07:04,936.936 INFO    ] {'rstatus': False, 'voiceNote': 'Please close door 2', 'SectionMain': {'Header': 'Door Open'}, 'SectionSKU': {'skus': [{'qty': 2, 'name': 'Cavins Rose Lassi,180ml'}], 'Header': 'Pick the below items from the door'}, 'status': 'False', 'SectionStatus': {'Header': 'Please Close Door 2', 'Note': 'Please Close the door after picking up products', 'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'SubHeader': 'Please Pick the Products and close the door'}, 'error': {'umessage': 'In Progress', 'data': {}, 'code': 20001, 'tmessage': 'In Progress'}}
[2026-10-20 15:07:07,998.998 INFO    ] 200
[2026-10-20 15:07:08,001.001 INFO    ] {"SectionSKU": {"skus": [], "Header": "If you like us, tell others... else tell us"}, "rstatus": true, "voiceNote": "Transaction Completed", "delay": 100, "status": "True", "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait for invoice to generate", "Note": "If any due amount, clear at https://go.tinymart.in", "Header": " Order is complete "}, "SectionMain": {"Header": "Door Closed"}}
[2026-10-20 15:07:08,004.004 INFO    ] {'rstatus': True, 'delay': 100, 'voiceNote': 'Transaction Completed', 'SectionMain': {'Header': 'Door Closed'}, 'SectionSKU': {'skus': [], 'Header': 'If you like us, tell others... else tell us'}, 'status': 'True', 'SectionStatus': {'Header': ' Order is complete ', 'Note': 'If any due amount, clear at https://go.tinymart.in', 'UI_Header': '', 'SubHeader': 'Please wait for invoice to generate'}}
[2026-10-20 15:07:08,007.007 INFO    ] 2026-10-20 15:07:08
[2026-10-20 15:07:08,011.011 INFO    ] Order Completed 
[2026-10-20 15:07:08,013.013 INFO    ] Order Completed 
[2026-10-20 15:07:08,016.016 INFO    ] 193c8a8cf3bf490ccfe0b23598544a83
[2026-10-20 15:07:08,019.019 INFO    ] 2026-10-20 15:07:08
[2026-10-20 15:07:08,022.022 INFO    ] playing audio file
[2026-10-20 15:07:08,039.039 INFO    ] 2026-10-20 15:07:08
[2026-10-20 15:07:08,042.042 INFO    ] {'rstatus': True, 'delay': 100, 'voiceNote': 'Transaction Completed', 'SectionMain': {'Header': 'Door Closed'}, 'SectionSKU': {'skus': [], 'Header': 'If you like us, tell others... else tell us'}, 'status': 'True', 'SectionStatus': {'Header': ' Order is complete ', 'Note': 'If any due amount, clear at https://go.tinymart.in', 'UI_Header': '', 'SubHeader': 'Please wait for invoice to generate'}}
[2026-10-20 15:07:08,045.045 INFO    ] 2026-10-20 15:07:08
[2026-10-20 15:07:10,706.706 INFO    ] 200
[2026-10-20 15:07:10,709.709 INFO    ] {"rstatus": true, "logic": "WBL", "skus": [{"door_id": "", "name": "Cavins Rose Lassi,180ml per peice", "mrp": "30", "skuid": "185306", "unit_price": "30", "qty": 2, "tray_id": "31", "sku_total": 60.0, "image_url": "https://images.tinymart.in/product/185306-7282.png"}], "orderId": "TM04202203261020150634759", "res": "True", "total_amount": 60.0, "anomaly": 0}
[2026-10-20 15:07:10,713.713 INFO    ] {'total_amount': 60.0, 'res': 'True', 'rstatus': True, 'orderId': 'TM04202203261020150634759', 'skus': [{'tray_id': '31', 'skuid': '185306', 'name': 'Cavins Rose Lassi,180ml per peice', 'door_id': '', 'mrp': '30', 'sku_total': 60.0, 'unit_price': '30', 'qty': 2, 'image_url': 'https://images.tinymart.in/product/185306-7282.png'}], 'logic': 'WBL', 'anomaly': 0}
[2026-10-20 15:07:10,716.716 INFO    ] {'total_amount': 60.0, 'res': 'True', 'rstatus': True, 'orderId': 'TM04202203261020150634759', 'skus': [{'tray_id': '31', 'skuid': '185306', 'name': 'Cavins Rose Lassi,180ml per peice', 'door_id': '', 'mrp': '30', 'sku_total': 60.0, 'unit_price': '30', 'qty': 2, 'image_url': 'https://images.tinymart.in/product/185306-7282.png'}], 'logic': 'WBL', 'anomaly': 0}
[2026-10-20 15:07:10,718.718 INFO    ] 2026-10-20 15:07:10
[2026-10-20 15:07:10,721.721 INFO    ] 2026-10-20 15:07:10
[2026-10-20 15:07:10,724.724 INFO    ] 60
[2026-10-20 15:07:10,727.727 INFO    ] 2026-10-20 15:07:10
[2026-10-20 15:07:10,730.730 INFO    ] 2026-10-20 15:07:10
[2026-10-20 15:07:10,733.733 INFO    ]  Your Bill Amount is 60
[2026-10-20 15:07:10,735.735 INFO    ]  Your Bill Amount is 60
[2026-10-20 15:07:10,738.738 INFO    ] fd22fee3bf67fc8133a18db187f67cdf
[2026-10-20 15:07:10,745.745 INFO    ] 2026-10-20 15:07:10
[2026-10-20 15:07:10,748.748 INFO    ] playing audio file
[2026-10-20 15:07:10,766.766 INFO    ] 2026-10-20 15:07:10
[2026-10-20 15:07:10,770.770 INFO    ] 2026-10-20 15:07:10
[2026-10-20 15:07:10,773.773 INFO    ] publish_status: order_id=TM04202203261020150634759
[2026-10-20 15:07:10,776.776 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020150634759
[2026-10-20 15:07:10,853.853 INFO    ] [publish_status] Message added to stream with ID: 1792489030806-0
[2026-10-20 15:07:10,856.856 INFO    ] Published to order:TM04202203261020150634759: {'timestamp': '2026-10-20T09:37:10.771549Z', 'order_id': 'TM04202203261020150634759', 'server_response': '{"total_amount": 60.0, "res": "True", "rstatus": true, "orderId": "TM04202203261020150634759", "skus": [{"tray_id": "31", "skuid": "185306", "name": "Cavins Rose Lassi,180ml per peice", "door_id": "", "mrp": "30", "sku_total": 60.0, "unit_price": "30", "qty": 2, "image_url": "https://images.tinymart.in/product/185306-7282.png"}], "logic": "WBL", "anomaly": 0}', 'server_status': 'invoiceOrder'} (ID: 1792489030806-0)
[2026-10-20 15:07:11,455.455 INFO    ] {'order_id': 'TM04202203261020150634759', 'server_response': {'total_amount': 60.0, 'res': 'True', 'rstatus': True, 'orderId': 'TM04202203261020150634759', 'skus': [{'tray_id': '31', 'skuid': '185306', 'name': 'Cavins Rose Lassi,180ml per peice', 'door_id': '', 'mrp': '30', 'sku_total': 60.0, 'unit_price': '30', 'qty': 2, 'image_url': 'https://images.tinymart.in/product/185306-7282.png'}], 'logic': 'WBL', 'anomaly': 0}, 'server_status': 'invoiceOrder'}
[2026-10-20 15:07:11,458.458 INFO    ] 200
[2026-10-20 15:07:11,461.461 INFO    ] {"data":{"order_id":"TM04202203261020150634759","server_response":{"total_amount":60,"res":"true","rstatus":true,"orderId":"TM04202203261020150634759","skus":[{"tray_id":"31","skuid":"185306","name":"Cavins Rose Lassi,180ml per peice","door_id":"","mrp":"30","sku_total":60,"unit_price":"30","qty":2,"image_url":"https:\/\/images.tinymart.in\/product\/185306-7282.png"}],"logic":"WBL","anomaly":0},"server_status":"invoiceOrder"},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 15:07:11,464.464 INFO    ] {'data': {'order_id': 'TM04202203261020150634759', 'server_response': {'total_amount': 60, 'res': 'true', 'rstatus': True, 'orderId': 'TM04202203261020150634759', 'skus': [{'tray_id': '31', 'skuid': '185306', 'name': 'Cavins Rose Lassi,180ml per peice', 'door_id': '', 'mrp': '30', 'sku_total': 60, 'unit_price': '30', 'qty': 2, 'image_url': 'https://images.tinymart.in/product/185306-7282.png'}], 'logic': 'WBL', 'anomaly': 0}, 'server_status': 'invoiceOrder'}, 'response': {'status': True, 'data': 'order updated successfully', 'msg': 'order updated successfully', 'code': 'ORDER_EXISTS'}}
[2026-10-20 15:07:11,467.467 INFO    ] {'data': {'order_id': 'TM04202203261020150634759', 'server_response': {'total_amount': 60, 'res': 'true', 'rstatus': True, 'orderId': 'TM04202203261020150634759', 'skus': [{'tray_id': '31', 'skuid': '185306', 'name': 'Cavins Rose Lassi,180ml per peice', 'door_id': '', 'mrp': '30', 'sku_total': 60, 'unit_price': '30', 'qty': 2, 'image_url': 'https://images.tinymart.in/product/185306-7282.png'}], 'logic': 'WBL', 'anomaly': 0}, 'server_status': 'invoiceOrder'}, 'response': {'status': True, 'data': 'order updated successfully', 'msg': 'order updated successfully', 'code': 'ORDER_EXISTS'}}
[2026-10-20 15:07:11,470.470 INFO    ] 2026-10-20 15:07:11
[2026-10-20 15:07:14,738.738 INFO    ] 200
[2026-10-20 15:07:14,741.741 INFO    ] {"orders": [], "order_items_synced": ["TM04202203261020150634759_0"], "tray_synced": ["TM04202203261020150634759", "TM04202203261020150634759", "TM04202203261020150634759", "TM04202203261020150634759", "TM04202203261020150634759", "TM04202203261020150634759", "TM04202203261020150634759", "TM04202203261020150634759", "TM04202203261020150634759", "TM04202203261020150634759", "TM04202203261020150634759", "TM04202203261020150634759", "TM04202203261020150634759", "TM04202203261020150634759", "TM04202203261020150634759", "TM04202203261020150634759", "TM04202203261020150634759", "TM04202203261020150634759", "TM04202203261020150634759", "TM04202203261020150634759", "TM04202203261020150634759", "TM04202203261020150634759", "TM04202203261020150634759", "TM04202203261020150634759", "TM04202203261020150634759", "TM04202203261020150634759", "TM04202203261020150634759", "TM04202203261020150634759", "TM04202203261020150634759", "TM04202203261020150634759", "TM04202203261020150634759", "TM04202203261020150634759", "TM04202203261020150634759"], "orders_synced": [], "status": true, "tray_sync": [], "order_items": [], "orders_data": [], "orders_data_synced": []}
[2026-10-20 15:07:14,744.744 INFO    ] 2026-10-20 15:07:14
[2026-10-20 15:07:14,849.849 INFO    ] 200
[2026-10-20 15:07:14,852.852 INFO    ] True
[2026-10-20 15:07:14,855.855 INFO    ] cleanup_start_order_file_after_processing: order_id=TM04202203261020150634759
[2026-10-20 15:07:14,858.858 INFO    ] start order file deleted
[2026-10-20 15:07:14,862.862 INFO    ] Checking for system updates...
[2026-10-20 15:07:14,898.898 INFO    ] 200
[2026-10-20 15:07:14,901.901 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:07:14,960.960 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:07:14,963.963 INFO    ] No update needed
[2026-10-20 15:07:14,965.965 INFO    ] Checking for camera pi updates...
[2026-10-20 15:07:14,999.999 INFO    ] 200
[2026-10-20 15:07:15,002.002 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:07:15,049.049 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:07:15,096.096 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:07:15,098.098 INFO    ] No camera update needed
[2026-10-20 15:07:15,101.101 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:07:15,103.103 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:07:15,109.109 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:07:15,114.114 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:07:17,156.156 INFO    ] ================================================
[2026-10-20 15:07:17,172.172 INFO    ] Launching Daemon at Tue Oct 20 15:07:17 IST 2026
[2026-10-20 15:07:17,183.183 INFO    ] ================================================
[2026-10-20 15:07:17,756.756 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:07:17
[2026-10-20 15:07:18,348.348 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:07:18,626.626 INFO    ] Initializing speech engine...
[2026-10-20 15:07:18,632.632 INFO    ] 2026-10-20 15:07:18
[2026-10-20 15:07:18,877.877 INFO    ] 2026-10-20 15:07:18
[2026-10-20 15:07:18,920.920 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:07:19,163.163 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:07:19,172.172 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:07:19,396.396 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:07:19,430.430 INFO    ] time= 20/10/2026 15:07:19
[2026-10-20 15:07:19,436.436 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:07:19,453.453 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:07:19,589.589 INFO    ] No existing commands found in stream
[2026-10-20 15:07:24,614.614 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:07:24,617.617 INFO    ] Waiting 2.04 seconds before fallback handling...
[2026-10-20 15:07:27,128.128 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:07:27,131.131 INFO    ] Checking for system updates...
[2026-10-20 15:07:27,167.167 INFO    ] 200
[2026-10-20 15:07:27,169.169 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:07:27,224.224 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:07:27,226.226 INFO    ] No update needed
[2026-10-20 15:07:27,229.229 INFO    ] Checking for camera pi updates...
[2026-10-20 15:07:27,263.263 INFO    ] 200
[2026-10-20 15:07:27,265.265 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:07:27,312.312 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:07:27,361.361 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:07:27,364.364 INFO    ] No camera update needed
[2026-10-20 15:07:27,366.366 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:07:27,368.368 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:07:27,374.374 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:07:27,379.379 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:07:29,420.420 INFO    ] ================================================
[2026-10-20 15:07:29,435.435 INFO    ] Launching Daemon at Tue Oct 20 15:07:29 IST 2026
[2026-10-20 15:07:29,446.446 INFO    ] ================================================
[2026-10-20 15:07:30,013.013 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:07:30
[2026-10-20 15:07:30,612.612 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:07:30,870.870 INFO    ] Initializing speech engine...
[2026-10-20 15:07:30,879.879 INFO    ] 2026-10-20 15:07:30
[2026-10-20 15:07:31,174.174 INFO    ] 2026-10-20 15:07:31
[2026-10-20 15:07:31,209.209 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:07:31,437.437 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:07:31,476.476 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:07:31,684.684 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:07:31,739.739 INFO    ] time= 20/10/2026 15:07:31
[2026-10-20 15:07:31,779.779 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:07:31,823.823 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:07:31,986.986 INFO    ] No existing commands found in stream
[2026-10-20 15:07:37,011.011 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:07:37,014.014 INFO    ] Waiting 0.75 seconds before fallback handling...
[2026-10-20 15:07:38,300.300 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:07:38,302.302 INFO    ] Checking for system updates...
[2026-10-20 15:07:38,343.343 INFO    ] 200
[2026-10-20 15:07:38,346.346 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:07:38,399.399 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:07:38,402.402 INFO    ] No update needed
[2026-10-20 15:07:38,405.405 INFO    ] Checking for camera pi updates...
[2026-10-20 15:07:38,439.439 INFO    ] 200
[2026-10-20 15:07:38,442.442 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:07:38,483.483 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:07:38,547.547 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:07:38,550.550 INFO    ] No camera update needed
[2026-10-20 15:07:38,553.553 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:07:38,556.556 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:07:38,562.562 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:07:38,568.568 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:07:40,611.611 INFO    ] ================================================
[2026-10-20 15:07:40,625.625 INFO    ] Launching Daemon at Tue Oct 20 15:07:40 IST 2026
[2026-10-20 15:07:40,636.636 INFO    ] ================================================
[2026-10-20 15:07:41,223.223 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:07:41
[2026-10-20 15:07:41,826.826 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:07:42,104.104 INFO    ] Initializing speech engine...
[2026-10-20 15:07:42,111.111 INFO    ] 2026-10-20 15:07:42
[2026-10-20 15:07:42,358.358 INFO    ] 2026-10-20 15:07:42
[2026-10-20 15:07:42,394.394 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:07:42,652.652 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:07:42,658.658 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:07:42,867.867 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:07:42,916.916 INFO    ] time= 20/10/2026 15:07:42
[2026-10-20 15:07:42,923.923 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:07:42,940.940 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:07:43,076.076 INFO    ] No existing commands found in stream
[2026-10-20 15:07:48,102.102 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:07:48,105.105 INFO    ] Waiting 1.75 seconds before fallback handling...
[2026-10-20 15:07:50,376.376 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:07:50,379.379 INFO    ] Checking for system updates...
[2026-10-20 15:07:50,415.415 INFO    ] 200
[2026-10-20 15:07:50,417.417 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:07:50,470.470 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:07:50,472.472 INFO    ] No update needed
[2026-10-20 15:07:50,474.474 INFO    ] Checking for camera pi updates...
[2026-10-20 15:07:50,512.512 INFO    ] 200
[2026-10-20 15:07:50,515.515 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:07:50,556.556 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:07:50,699.699 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:07:50,702.702 INFO    ] No camera update needed
[2026-10-20 15:07:50,704.704 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:07:50,707.707 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:07:50,712.712 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:07:50,717.717 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:07:52,758.758 INFO    ] ================================================
[2026-10-20 15:07:52,773.773 INFO    ] Launching Daemon at Tue Oct 20 15:07:52 IST 2026
[2026-10-20 15:07:52,784.784 INFO    ] ================================================
[2026-10-20 15:07:53,353.353 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:07:53
[2026-10-20 15:07:53,937.937 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:07:54,206.206 INFO    ] Initializing speech engine...
[2026-10-20 15:07:54,215.215 INFO    ] 2026-10-20 15:07:54
[2026-10-20 15:07:54,465.465 INFO    ] 2026-10-20 15:07:54
[2026-10-20 15:07:54,500.500 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:07:54,762.762 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:07:54,772.772 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:07:54,964.964 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:07:55,013.013 INFO    ] time= 20/10/2026 15:07:54
[2026-10-20 15:07:55,043.043 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:07:55,059.059 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:07:55,193.193 INFO    ] No existing commands found in stream
[2026-10-20 15:08:00,209.209 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:08:00,212.212 INFO    ] Waiting 3.97 seconds before fallback handling...
[2026-10-20 15:08:04,657.657 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 15:08:04,660.660 INFO    ] Checking for system updates...
[2026-10-20 15:08:04,696.696 INFO    ] 200
[2026-10-20 15:08:04,698.698 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:08:04,750.750 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:08:04,752.752 INFO    ] No update needed
[2026-10-20 15:08:04,754.754 INFO    ] Checking for camera pi updates...
[2026-10-20 15:08:04,791.791 INFO    ] 200
[2026-10-20 15:08:04,794.794 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:08:04,834.834 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:08:04,883.883 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:08:04,885.885 INFO    ] No camera update needed
[2026-10-20 15:08:04,887.887 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:08:04,889.889 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:08:04,895.895 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:08:04,900.900 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:08:06,941.941 INFO    ] ================================================
[2026-10-20 15:08:06,957.957 INFO    ] Launching Daemon at Tue Oct 20 15:08:06 IST 2026
[2026-10-20 15:08:06,968.968 INFO    ] ================================================
[2026-10-20 15:08:07,548.548 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:08:07
[2026-10-20 15:08:08,147.147 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:08:08,428.428 INFO    ] Initializing speech engine...
[2026-10-20 15:08:08,442.442 INFO    ] 2026-10-20 15:08:08
[2026-10-20 15:08:08,710.710 INFO    ] 2026-10-20 15:08:08
[2026-10-20 15:08:08,745.745 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:08:08,973.973 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:08:09,019.019 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:08:09,206.206 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:08:09,290.290 INFO    ] time= 20/10/2026 15:08:09
[2026-10-20 15:08:09,345.345 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:08:09,358.358 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:08:09,432.432 INFO    ] No existing commands found in stream
[2026-10-20 15:08:14,481.481 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:08:14,484.484 INFO    ] Waiting 2.58 seconds before fallback handling...
[2026-10-20 15:08:17,568.568 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:08:17,571.571 INFO    ] Checking for system updates...
[2026-10-20 15:08:17,606.606 INFO    ] 200
[2026-10-20 15:08:17,608.608 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:08:17,661.661 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:08:17,663.663 INFO    ] No update needed
[2026-10-20 15:08:17,666.666 INFO    ] Checking for camera pi updates...
[2026-10-20 15:08:17,699.699 INFO    ] 200
[2026-10-20 15:08:17,701.701 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:08:17,741.741 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:08:17,777.777 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:08:17,780.780 INFO    ] No camera update needed
[2026-10-20 15:08:17,783.783 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:08:17,785.785 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:08:17,790.790 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:08:17,795.795 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:08:19,835.835 INFO    ] ================================================
[2026-10-20 15:08:19,850.850 INFO    ] Launching Daemon at Tue Oct 20 15:08:19 IST 2026
[2026-10-20 15:08:19,862.862 INFO    ] ================================================
[2026-10-20 15:08:20,427.427 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:08:20
[2026-10-20 15:08:21,037.037 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:08:21,297.297 INFO    ] Initializing speech engine...
[2026-10-20 15:08:21,306.306 INFO    ] 2026-10-20 15:08:21
[2026-10-20 15:08:21,595.595 INFO    ] 2026-10-20 15:08:21
[2026-10-20 15:08:21,633.633 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:08:21,826.826 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:08:21,839.839 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:08:22,001.001 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:08:22,006.006 INFO    ] time= 20/10/2026 15:08:22
[2026-10-20 15:08:22,013.013 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:08:22,055.055 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:08:22,190.190 INFO    ] No existing commands found in stream
[2026-10-20 15:08:27,225.225 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:08:27,228.228 INFO    ] Waiting 1.83 seconds before fallback handling...
[2026-10-20 15:08:29,538.538 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:08:29,541.541 INFO    ] Checking for system updates...
[2026-10-20 15:08:29,576.576 INFO    ] 200
[2026-10-20 15:08:29,579.579 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:08:29,640.640 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:08:29,642.642 INFO    ] No update needed
[2026-10-20 15:08:29,645.645 INFO    ] Checking for camera pi updates...
[2026-10-20 15:08:29,678.678 INFO    ] 200
[2026-10-20 15:08:29,681.681 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:08:29,721.721 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:08:29,765.765 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:08:29,768.768 INFO    ] No camera update needed
[2026-10-20 15:08:29,770.770 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:08:29,773.773 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:08:29,778.778 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:08:29,783.783 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:08:31,826.826 INFO    ] ================================================
[2026-10-20 15:08:31,842.842 INFO    ] Launching Daemon at Tue Oct 20 15:08:31 IST 2026
[2026-10-20 15:08:31,853.853 INFO    ] ================================================
[2026-10-20 15:08:32,452.452 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:08:32
[2026-10-20 15:08:33,091.091 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:08:33,410.410 INFO    ] Initializing speech engine...
[2026-10-20 15:08:33,421.421 INFO    ] 2026-10-20 15:08:33
[2026-10-20 15:08:33,686.686 INFO    ] 2026-10-20 15:08:33
[2026-10-20 15:08:33,731.731 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:08:33,980.980 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:08:33,985.985 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:08:34,212.212 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:08:34,217.217 INFO    ] time= 20/10/2026 15:08:34
[2026-10-20 15:08:34,225.225 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:08:34,232.232 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:08:34,370.370 INFO    ] No existing commands found in stream
[2026-10-20 15:08:39,400.400 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:08:39,403.403 INFO    ] Waiting 1.21 seconds before fallback handling...
[2026-10-20 15:08:41,154.154 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:08:41,156.156 INFO    ] Checking for system updates...
[2026-10-20 15:08:41,206.206 INFO    ] 200
[2026-10-20 15:08:41,209.209 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:08:41,260.260 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:08:41,263.263 INFO    ] No update needed
[2026-10-20 15:08:41,265.265 INFO    ] Checking for camera pi updates...
[2026-10-20 15:08:41,298.298 INFO    ] 200
[2026-10-20 15:08:41,301.301 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:08:41,344.344 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:08:41,391.391 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:08:41,393.393 INFO    ] No camera update needed
[2026-10-20 15:08:41,395.395 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:08:41,398.398 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:08:41,403.403 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:08:41,408.408 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:08:43,451.451 INFO    ] ================================================
[2026-10-20 15:08:43,467.467 INFO    ] Launching Daemon at Tue Oct 20 15:08:43 IST 2026
[2026-10-20 15:08:43,478.478 INFO    ] ================================================
[2026-10-20 15:08:44,066.066 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:08:44
[2026-10-20 15:08:44,676.676 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:08:44,947.947 INFO    ] Initializing speech engine...
[2026-10-20 15:08:44,957.957 INFO    ] 2026-10-20 15:08:44
[2026-10-20 15:08:45,206.206 INFO    ] 2026-10-20 15:08:45
[2026-10-20 15:08:45,242.242 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:08:45,447.447 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:08:45,501.501 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:08:45,724.724 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:08:45,773.773 INFO    ] time= 20/10/2026 15:08:45
[2026-10-20 15:08:45,785.785 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:08:45,803.803 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:08:45,923.923 INFO    ] No existing commands found in stream
[2026-10-20 15:08:50,945.945 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:08:50,947.947 INFO    ] Waiting 2.89 seconds before fallback handling...
[2026-10-20 15:08:54,360.360 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 15:08:54,363.363 INFO    ] Checking for system updates...
[2026-10-20 15:08:54,399.399 INFO    ] 200
[2026-10-20 15:08:54,401.401 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:08:54,452.452 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:08:54,455.455 INFO    ] No update needed
[2026-10-20 15:08:54,457.457 INFO    ] Checking for camera pi updates...
[2026-10-20 15:08:54,490.490 INFO    ] 200
[2026-10-20 15:08:54,493.493 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:08:54,532.532 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:08:54,586.586 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:08:54,589.589 INFO    ] No camera update needed
[2026-10-20 15:08:54,592.592 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:08:54,594.594 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:08:54,599.599 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:08:54,605.605 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:08:56,645.645 INFO    ] ================================================
[2026-10-20 15:08:56,662.662 INFO    ] Launching Daemon at Tue Oct 20 15:08:56 IST 2026
[2026-10-20 15:08:56,674.674 INFO    ] ================================================
[2026-10-20 15:08:57,277.277 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:08:57
[2026-10-20 15:08:57,879.879 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:08:58,143.143 INFO    ] Initializing speech engine...
[2026-10-20 15:08:58,157.157 INFO    ] 2026-10-20 15:08:58
[2026-10-20 15:08:58,447.447 INFO    ] 2026-10-20 15:08:58
[2026-10-20 15:08:58,490.490 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:08:58,709.709 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:08:58,716.716 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:08:58,902.902 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:08:58,908.908 INFO    ] time= 20/10/2026 15:08:58
[2026-10-20 15:08:58,914.914 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:08:58,942.942 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:08:59,095.095 INFO    ] No existing commands found in stream
[2026-10-20 15:09:04,133.133 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:09:04,136.136 INFO    ] Waiting 2.62 seconds before fallback handling...
[2026-10-20 15:09:07,245.245 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:09:07,248.248 INFO    ] Checking for system updates...
[2026-10-20 15:09:07,284.284 INFO    ] 200
[2026-10-20 15:09:07,286.286 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:09:07,337.337 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:09:07,340.340 INFO    ] No update needed
[2026-10-20 15:09:07,342.342 INFO    ] Checking for camera pi updates...
[2026-10-20 15:09:07,375.375 INFO    ] 200
[2026-10-20 15:09:07,378.378 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:09:07,422.422 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:09:07,469.469 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:09:07,471.471 INFO    ] No camera update needed
[2026-10-20 15:09:07,474.474 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:09:07,476.476 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:09:07,481.481 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:09:07,486.486 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:09:09,525.525 INFO    ] ================================================
[2026-10-20 15:09:09,541.541 INFO    ] Launching Daemon at Tue Oct 20 15:09:09 IST 2026
[2026-10-20 15:09:09,554.554 INFO    ] ================================================
[2026-10-20 15:09:10,138.138 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:09:10
[2026-10-20 15:09:10,737.737 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:09:11,015.015 INFO    ] Initializing speech engine...
[2026-10-20 15:09:11,021.021 INFO    ] 2026-10-20 15:09:11
[2026-10-20 15:09:11,281.281 INFO    ] 2026-10-20 15:09:11
[2026-10-20 15:09:11,413.413 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:09:11,619.619 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:09:11,627.627 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:09:11,822.822 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:09:11,829.829 INFO    ] time= 20/10/2026 15:09:11
[2026-10-20 15:09:11,847.847 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:09:11,874.874 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:09:12,000.000 INFO    ] No existing commands found in stream
[2026-10-20 15:09:17,030.030 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:09:17,033.033 INFO    ] Waiting 0.65 seconds before fallback handling...
[2026-10-20 15:09:18,161.161 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 15:09:18,163.163 INFO    ] Checking for system updates...
[2026-10-20 15:09:18,198.198 INFO    ] 200
[2026-10-20 15:09:18,201.201 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:09:18,252.252 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:09:18,254.254 INFO    ] No update needed
[2026-10-20 15:09:18,257.257 INFO    ] Checking for camera pi updates...
[2026-10-20 15:09:18,289.289 INFO    ] 200
[2026-10-20 15:09:18,292.292 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:09:18,338.338 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:09:18,383.383 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:09:18,386.386 INFO    ] No camera update needed
[2026-10-20 15:09:18,388.388 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:09:18,391.391 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:09:18,396.396 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:09:18,401.401 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:09:20,442.442 INFO    ] ================================================
[2026-10-20 15:09:20,457.457 INFO    ] Launching Daemon at Tue Oct 20 15:09:20 IST 2026
[2026-10-20 15:09:20,468.468 INFO    ] ================================================
[2026-10-20 15:09:21,066.066 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:09:21
[2026-10-20 15:09:21,666.666 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:09:21,924.924 INFO    ] Initializing speech engine...
[2026-10-20 15:09:21,939.939 INFO    ] 2026-10-20 15:09:21
[2026-10-20 15:09:22,225.225 INFO    ] 2026-10-20 15:09:22
[2026-10-20 15:09:22,263.263 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:09:22,459.459 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:09:22,465.465 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:09:22,637.637 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:09:22,646.646 INFO    ] time= 20/10/2026 15:09:22
[2026-10-20 15:09:22,653.653 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:09:22,675.675 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:09:22,830.830 INFO    ] No existing commands found in stream
[2026-10-20 15:09:27,855.855 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:09:27,857.857 INFO    ] Waiting 2.65 seconds before fallback handling...
[2026-10-20 15:09:30,996.996 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:09:30,998.998 INFO    ] Checking for system updates...
[2026-10-20 15:09:31,033.033 INFO    ] 200
[2026-10-20 15:09:31,036.036 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:09:31,087.087 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:09:31,089.089 INFO    ] No update needed
[2026-10-20 15:09:31,092.092 INFO    ] Checking for camera pi updates...
[2026-10-20 15:09:31,129.129 INFO    ] 200
[2026-10-20 15:09:31,131.131 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:09:31,170.170 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:09:31,218.218 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:09:31,220.220 INFO    ] No camera update needed
[2026-10-20 15:09:31,223.223 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:09:31,225.225 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:09:31,230.230 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:09:31,235.235 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:09:33,277.277 INFO    ] ================================================
[2026-10-20 15:09:33,293.293 INFO    ] Launching Daemon at Tue Oct 20 15:09:33 IST 2026
[2026-10-20 15:09:33,303.303 INFO    ] ================================================
[2026-10-20 15:09:33,965.965 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:09:33
[2026-10-20 15:09:34,609.609 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:09:35,396.396 INFO    ] Initializing speech engine...
[2026-10-20 15:09:35,433.433 INFO    ] 2026-10-20 15:09:35
[2026-10-20 15:09:35,857.857 INFO    ] 2026-10-20 15:09:35
[2026-10-20 15:09:35,913.913 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:09:36,202.202 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:09:36,232.232 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:09:36,463.463 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:09:36,481.481 INFO    ] time= 20/10/2026 15:09:36
[2026-10-20 15:09:36,487.487 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:09:36,492.492 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:09:36,561.561 INFO    ] No existing commands found in stream
[2026-10-20 15:09:41,573.573 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:09:41,576.576 INFO    ] Waiting 0.29 seconds before fallback handling...
[2026-10-20 15:09:42,400.400 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:09:42,403.403 INFO    ] Checking for system updates...
[2026-10-20 15:09:42,440.440 INFO    ] 200
[2026-10-20 15:09:42,443.443 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:09:42,503.503 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:09:42,506.506 INFO    ] No update needed
[2026-10-20 15:09:42,509.509 INFO    ] Checking for camera pi updates...
[2026-10-20 15:09:42,547.547 INFO    ] 200
[2026-10-20 15:09:42,550.550 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:09:42,602.602 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:09:42,649.649 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:09:42,652.652 INFO    ] No camera update needed
[2026-10-20 15:09:42,655.655 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:09:42,658.658 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:09:42,664.664 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:09:42,670.670 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:09:44,711.711 INFO    ] ================================================
[2026-10-20 15:09:44,726.726 INFO    ] Launching Daemon at Tue Oct 20 15:09:44 IST 2026
[2026-10-20 15:09:44,737.737 INFO    ] ================================================
[2026-10-20 15:09:45,323.323 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:09:45
[2026-10-20 15:09:45,907.907 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:09:46,155.155 INFO    ] Initializing speech engine...
[2026-10-20 15:09:46,160.160 INFO    ] 2026-10-20 15:09:46
[2026-10-20 15:09:46,467.467 INFO    ] 2026-10-20 15:09:46
[2026-10-20 15:09:46,502.502 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:09:46,703.703 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:09:46,708.708 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:09:46,884.884 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:09:46,892.892 INFO    ] time= 20/10/2026 15:09:46
[2026-10-20 15:09:46,899.899 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:09:46,905.905 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:09:47,049.049 INFO    ] No existing commands found in stream
[2026-10-20 15:09:52,074.074 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:09:52,076.076 INFO    ] Waiting 1.19 seconds before fallback handling...
[2026-10-20 15:09:53,733.733 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:09:53,736.736 INFO    ] Checking for system updates...
[2026-10-20 15:09:53,772.772 INFO    ] 200
[2026-10-20 15:09:53,774.774 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:09:53,826.826 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:09:53,828.828 INFO    ] No update needed
[2026-10-20 15:09:53,831.831 INFO    ] Checking for camera pi updates...
[2026-10-20 15:09:53,864.864 INFO    ] 200
[2026-10-20 15:09:53,866.866 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:09:53,915.915 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:09:54,061.061 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:09:54,064.064 INFO    ] No camera update needed
[2026-10-20 15:09:54,066.066 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:09:54,068.068 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:09:54,074.074 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:09:54,078.078 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:09:56,118.118 INFO    ] ================================================
[2026-10-20 15:09:56,134.134 INFO    ] Launching Daemon at Tue Oct 20 15:09:56 IST 2026
[2026-10-20 15:09:56,146.146 INFO    ] ================================================
[2026-10-20 15:09:56,712.712 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:09:56
[2026-10-20 15:09:57,319.319 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:09:57,627.627 INFO    ] Initializing speech engine...
[2026-10-20 15:09:57,642.642 INFO    ] 2026-10-20 15:09:57
[2026-10-20 15:09:57,912.912 INFO    ] 2026-10-20 15:09:57
[2026-10-20 15:09:57,971.971 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:09:58,202.202 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:09:58,208.208 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:09:58,430.430 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:09:58,473.473 INFO    ] time= 20/10/2026 15:09:58
[2026-10-20 15:09:58,480.480 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:09:58,502.502 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:09:58,623.623 INFO    ] No existing commands found in stream
[2026-10-20 15:10:03,641.641 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:10:03,644.644 INFO    ] Waiting 1.46 seconds before fallback handling...
[2026-10-20 15:10:08,699.699 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:10:08,701.701 INFO    ] Checking for system updates...
[2026-10-20 15:10:08,741.741 INFO    ] 200
[2026-10-20 15:10:08,743.743 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:10:08,813.813 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:10:08,815.815 INFO    ] No update needed
[2026-10-20 15:10:08,818.818 INFO    ] Checking for camera pi updates...
[2026-10-20 15:10:08,855.855 INFO    ] 200
[2026-10-20 15:10:08,857.857 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:10:08,897.897 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:10:08,943.943 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:10:08,946.946 INFO    ] No camera update needed
[2026-10-20 15:10:08,948.948 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:10:08,950.950 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:10:08,956.956 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:10:08,961.961 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:10:11,001.001 INFO    ] ================================================
[2026-10-20 15:10:11,016.016 INFO    ] Launching Daemon at Tue Oct 20 15:10:11 IST 2026
[2026-10-20 15:10:11,027.027 INFO    ] ================================================
[2026-10-20 15:10:11,600.600 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:10:11
[2026-10-20 15:10:12,189.189 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:10:12,436.436 INFO    ] Initializing speech engine...
[2026-10-20 15:10:12,444.444 INFO    ] 2026-10-20 15:10:12
[2026-10-20 15:10:12,719.719 INFO    ] 2026-10-20 15:10:12
[2026-10-20 15:10:12,755.755 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:10:12,995.995 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:10:13,017.017 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:10:13,165.165 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:10:13,224.224 INFO    ] time= 20/10/2026 15:10:13
[2026-10-20 15:10:13,279.279 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:10:13,295.295 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:10:13,434.434 INFO    ] No existing commands found in stream
[2026-10-20 15:10:18,455.455 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:10:18,458.458 INFO    ] Waiting 1.08 seconds before fallback handling...
[2026-10-20 15:10:20,014.014 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:10:20,017.017 INFO    ] Checking for system updates...
[2026-10-20 15:10:20,052.052 INFO    ] 200
[2026-10-20 15:10:20,055.055 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:10:20,122.122 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:10:20,124.124 INFO    ] No update needed
[2026-10-20 15:10:20,127.127 INFO    ] Checking for camera pi updates...
[2026-10-20 15:10:20,161.161 INFO    ] 200
[2026-10-20 15:10:20,164.164 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:10:20,205.205 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:10:20,252.252 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:10:20,254.254 INFO    ] No camera update needed
[2026-10-20 15:10:20,257.257 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:10:20,259.259 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:10:20,265.265 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:10:20,270.270 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:10:22,311.311 INFO    ] ================================================
[2026-10-20 15:10:22,326.326 INFO    ] Launching Daemon at Tue Oct 20 15:10:22 IST 2026
[2026-10-20 15:10:22,337.337 INFO    ] ================================================
[2026-10-20 15:10:22,906.906 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:10:22
[2026-10-20 15:10:23,490.490 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:10:23,739.739 INFO    ] Initializing speech engine...
[2026-10-20 15:10:23,744.744 INFO    ] 2026-10-20 15:10:23
[2026-10-20 15:10:24,017.017 INFO    ] 2026-10-20 15:10:24
[2026-10-20 15:10:24,053.053 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:10:24,231.231 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:10:24,244.244 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:10:24,390.390 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:10:24,395.395 INFO    ] time= 20/10/2026 15:10:24
[2026-10-20 15:10:24,401.401 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:10:24,452.452 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:10:24,590.590 INFO    ] No existing commands found in stream
[2026-10-20 15:10:29,606.606 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:10:29,609.609 INFO    ] Waiting 3.33 seconds before fallback handling...
[2026-10-20 15:10:33,449.449 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:10:33,452.452 INFO    ] Checking for system updates...
[2026-10-20 15:10:33,491.491 INFO    ] 200
[2026-10-20 15:10:33,494.494 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:10:33,546.546 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:10:33,549.549 INFO    ] No update needed
[2026-10-20 15:10:33,551.551 INFO    ] Checking for camera pi updates...
[2026-10-20 15:10:33,588.588 INFO    ] 200
[2026-10-20 15:10:33,591.591 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:10:33,635.635 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:10:33,684.684 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:10:33,686.686 INFO    ] No camera update needed
[2026-10-20 15:10:33,688.688 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:10:33,691.691 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:10:33,696.696 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:10:33,701.701 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:10:35,743.743 INFO    ] ================================================
[2026-10-20 15:10:35,758.758 INFO    ] Launching Daemon at Tue Oct 20 15:10:35 IST 2026
[2026-10-20 15:10:35,769.769 INFO    ] ================================================
[2026-10-20 15:10:36,425.425 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:10:36
[2026-10-20 15:10:37,099.099 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:10:37,375.375 INFO    ] Initializing speech engine...
[2026-10-20 15:10:37,386.386 INFO    ] 2026-10-20 15:10:37
[2026-10-20 15:10:37,649.649 INFO    ] 2026-10-20 15:10:37
[2026-10-20 15:10:37,679.679 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:10:37,933.933 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:10:37,938.938 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:10:38,148.148 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:10:38,201.201 INFO    ] time= 20/10/2026 15:10:38
[2026-10-20 15:10:38,208.208 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:10:38,226.226 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:10:38,352.352 INFO    ] No existing commands found in stream
[2026-10-20 15:10:43,370.370 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:10:43,373.373 INFO    ] Waiting 1.84 seconds before fallback handling...
[2026-10-20 15:10:45,693.693 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:10:45,696.696 INFO    ] Checking for system updates...
[2026-10-20 15:10:45,736.736 INFO    ] 200
[2026-10-20 15:10:45,738.738 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:10:45,798.798 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:10:45,801.801 INFO    ] No update needed
[2026-10-20 15:10:45,804.804 INFO    ] Checking for camera pi updates...
[2026-10-20 15:10:45,843.843 INFO    ] 200
[2026-10-20 15:10:45,845.845 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:10:45,886.886 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:10:45,940.940 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:10:45,943.943 INFO    ] No camera update needed
[2026-10-20 15:10:45,945.945 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:10:45,948.948 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:10:45,954.954 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:10:45,960.960 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:10:48,002.002 INFO    ] ================================================
[2026-10-20 15:10:48,018.018 INFO    ] Launching Daemon at Tue Oct 20 15:10:48 IST 2026
[2026-10-20 15:10:48,029.029 INFO    ] ================================================
[2026-10-20 15:10:48,690.690 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:10:48
[2026-10-20 15:10:49,370.370 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:10:49,677.677 INFO    ] Initializing speech engine...
[2026-10-20 15:10:49,686.686 INFO    ] 2026-10-20 15:10:49
[2026-10-20 15:10:49,981.981 INFO    ] 2026-10-20 15:10:49
[2026-10-20 15:10:50,036.036 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:10:50,273.273 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:10:50,286.286 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:10:50,458.458 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:10:50,514.514 INFO    ] time= 20/10/2026 15:10:50
[2026-10-20 15:10:50,566.566 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:10:50,573.573 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:10:50,732.732 INFO    ] No existing commands found in stream
[2026-10-20 15:10:55,764.764 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:10:55,768.768 INFO    ] Waiting 0.38 seconds before fallback handling...
[2026-10-20 15:10:56,664.664 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:10:56,667.667 INFO    ] Checking for system updates...
[2026-10-20 15:10:56,708.708 INFO    ] 200
[2026-10-20 15:10:56,711.711 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:10:56,769.769 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:10:56,772.772 INFO    ] No update needed
[2026-10-20 15:10:56,775.775 INFO    ] Checking for camera pi updates...
[2026-10-20 15:10:56,809.809 INFO    ] 200
[2026-10-20 15:10:56,812.812 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:10:56,853.853 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:10:56,900.900 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:10:56,902.902 INFO    ] No camera update needed
[2026-10-20 15:10:56,905.905 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:10:56,907.907 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:10:56,913.913 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:10:56,918.918 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:10:58,961.961 INFO    ] ================================================
[2026-10-20 15:10:58,976.976 INFO    ] Launching Daemon at Tue Oct 20 15:10:58 IST 2026
[2026-10-20 15:10:58,988.988 INFO    ] ================================================
[2026-10-20 15:10:59,575.575 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:10:59
[2026-10-20 15:11:00,180.180 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:11:00,454.454 INFO    ] Initializing speech engine...
[2026-10-20 15:11:00,465.465 INFO    ] 2026-10-20 15:11:00
[2026-10-20 15:11:00,714.714 INFO    ] 2026-10-20 15:11:00
[2026-10-20 15:11:00,756.756 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:11:01,009.009 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:11:01,014.014 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:11:01,146.146 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:11:01,206.206 INFO    ] time= 20/10/2026 15:11:01
[2026-10-20 15:11:01,260.260 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:11:01,280.280 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:11:01,420.420 INFO    ] No existing commands found in stream
[2026-10-20 15:11:06,437.437 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:11:06,440.440 INFO    ] Waiting 0.92 seconds before fallback handling...
[2026-10-20 15:11:07,846.846 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:11:07,849.849 INFO    ] Checking for system updates...
[2026-10-20 15:11:07,897.897 INFO    ] 200
[2026-10-20 15:11:07,901.901 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:11:07,960.960 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:11:07,963.963 INFO    ] No update needed
[2026-10-20 15:11:07,966.966 INFO    ] Checking for camera pi updates...
[2026-10-20 15:11:08,004.004 INFO    ] 200
[2026-10-20 15:11:08,006.006 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:11:08,047.047 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:11:08,099.099 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:11:08,102.102 INFO    ] No camera update needed
[2026-10-20 15:11:08,104.104 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:11:08,107.107 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:11:08,112.112 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:11:08,118.118 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:11:10,159.159 INFO    ] ================================================
[2026-10-20 15:11:10,175.175 INFO    ] Launching Daemon at Tue Oct 20 15:11:10 IST 2026
[2026-10-20 15:11:10,187.187 INFO    ] ================================================
[2026-10-20 15:11:10,769.769 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:11:10
[2026-10-20 15:11:11,368.368 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:11:11,623.623 INFO    ] Initializing speech engine...
[2026-10-20 15:11:11,645.645 INFO    ] 2026-10-20 15:11:11
[2026-10-20 15:11:11,901.901 INFO    ] 2026-10-20 15:11:11
[2026-10-20 15:11:11,936.936 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:11:12,195.195 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:11:12,200.200 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:11:12,429.429 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:11:12,456.456 INFO    ] time= 20/10/2026 15:11:12
[2026-10-20 15:11:12,472.472 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:11:12,482.482 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:11:12,639.639 INFO    ] No existing commands found in stream
[2026-10-20 15:11:17,670.670 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:11:17,672.672 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-10-20 15:11:21,687.687 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:11:21,690.690 INFO    ] Checking for system updates...
[2026-10-20 15:11:21,725.725 INFO    ] 200
[2026-10-20 15:11:21,728.728 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:11:21,782.782 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:11:21,784.784 INFO    ] No update needed
[2026-10-20 15:11:21,787.787 INFO    ] Checking for camera pi updates...
[2026-10-20 15:11:21,821.821 INFO    ] 200
[2026-10-20 15:11:21,823.823 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:11:21,864.864 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:11:21,914.914 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:11:21,916.916 INFO    ] No camera update needed
[2026-10-20 15:11:21,918.918 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:11:21,921.921 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:11:21,926.926 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:11:21,931.931 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:11:23,971.971 INFO    ] ================================================
[2026-10-20 15:11:23,986.986 INFO    ] Launching Daemon at Tue Oct 20 15:11:23 IST 2026
[2026-10-20 15:11:24,998.998 INFO    ] ================================================
[2026-10-20 15:11:24,582.582 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:11:24
[2026-10-20 15:11:25,181.181 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:11:25,445.445 INFO    ] Initializing speech engine...
[2026-10-20 15:11:25,462.462 INFO    ] 2026-10-20 15:11:25
[2026-10-20 15:11:25,755.755 INFO    ] 2026-10-20 15:11:25
[2026-10-20 15:11:25,794.794 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:11:26,062.062 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:11:26,066.066 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:11:26,260.260 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:11:26,320.320 INFO    ] time= 20/10/2026 15:11:26
[2026-10-20 15:11:26,336.336 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:11:26,352.352 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:11:26,489.489 INFO    ] No existing commands found in stream
[2026-10-20 15:11:31,507.507 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:11:31,510.510 INFO    ] Waiting 3.53 seconds before fallback handling...
[2026-10-20 15:11:35,559.559 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:11:35,561.561 INFO    ] Checking for system updates...
[2026-10-20 15:11:35,598.598 INFO    ] 200
[2026-10-20 15:11:35,600.600 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:11:35,661.661 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:11:35,663.663 INFO    ] No update needed
[2026-10-20 15:11:35,666.666 INFO    ] Checking for camera pi updates...
[2026-10-20 15:11:35,699.699 INFO    ] 200
[2026-10-20 15:11:35,701.701 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:11:35,747.747 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:11:35,798.798 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:11:35,801.801 INFO    ] No camera update needed
[2026-10-20 15:11:35,803.803 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:11:35,805.805 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:11:35,810.810 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:11:35,815.815 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:11:37,854.854 INFO    ] ================================================
[2026-10-20 15:11:37,870.870 INFO    ] Launching Daemon at Tue Oct 20 15:11:37 IST 2026
[2026-10-20 15:11:37,882.882 INFO    ] ================================================
[2026-10-20 15:11:38,467.467 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:11:38
[2026-10-20 15:11:39,067.067 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:11:39,341.341 INFO    ] Initializing speech engine...
[2026-10-20 15:11:39,351.351 INFO    ] 2026-10-20 15:11:39
[2026-10-20 15:11:39,599.599 INFO    ] 2026-10-20 15:11:39
[2026-10-20 15:11:39,641.641 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:11:39,885.885 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:11:39,895.895 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:11:40,099.099 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:11:40,152.152 INFO    ] time= 20/10/2026 15:11:40
[2026-10-20 15:11:40,158.158 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:11:40,176.176 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:11:40,312.312 INFO    ] No existing commands found in stream
[2026-10-20 15:11:45,342.342 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:11:45,345.345 INFO    ] Waiting 0.83 seconds before fallback handling...
[2026-10-20 15:11:46,689.689 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:11:46,692.692 INFO    ] Checking for system updates...
[2026-10-20 15:11:46,733.733 INFO    ] 200
[2026-10-20 15:11:46,735.735 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:11:46,796.796 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:11:46,799.799 INFO    ] No update needed
[2026-10-20 15:11:46,801.801 INFO    ] Checking for camera pi updates...
[2026-10-20 15:11:46,835.835 INFO    ] 200
[2026-10-20 15:11:46,837.837 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:11:46,884.884 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:11:46,933.933 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:11:46,935.935 INFO    ] No camera update needed
[2026-10-20 15:11:46,938.938 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:11:46,940.940 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:11:46,946.946 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:11:46,951.951 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:11:48,993.993 INFO    ] ================================================
[2026-10-20 15:11:49,009.009 INFO    ] Launching Daemon at Tue Oct 20 15:11:49 IST 2026
[2026-10-20 15:11:49,020.020 INFO    ] ================================================
[2026-10-20 15:11:49,704.704 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:11:49
[2026-10-20 15:11:50,412.412 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:11:50,731.731 INFO    ] Initializing speech engine...
[2026-10-20 15:11:50,745.745 INFO    ] 2026-10-20 15:11:50
[2026-10-20 15:11:51,042.042 INFO    ] 2026-10-20 15:11:51
[2026-10-20 15:11:51,155.155 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:11:51,378.378 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:11:51,387.387 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:11:51,597.597 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:11:51,609.609 INFO    ] time= 20/10/2026 15:11:51
[2026-10-20 15:11:51,635.635 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:11:51,644.644 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:11:51,752.752 INFO    ] No existing commands found in stream
[2026-10-20 15:11:56,781.781 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:11:56,785.785 INFO    ] Waiting 0.20 seconds before fallback handling...
[2026-10-20 15:11:57,579.579 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 15:11:57,582.582 INFO    ] Checking for system updates...
[2026-10-20 15:11:57,618.618 INFO    ] 200
[2026-10-20 15:11:57,621.621 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:11:57,673.673 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:11:57,675.675 INFO    ] No update needed
[2026-10-20 15:11:57,678.678 INFO    ] Checking for camera pi updates...
[2026-10-20 15:11:57,711.711 INFO    ] 200
[2026-10-20 15:11:57,713.713 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:11:57,757.757 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:11:57,903.903 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:11:57,906.906 INFO    ] No camera update needed
[2026-10-20 15:11:57,908.908 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:11:57,911.911 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:11:57,916.916 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:11:57,921.921 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:11:59,961.961 INFO    ] ================================================
[2026-10-20 15:11:59,977.977 INFO    ] Launching Daemon at Tue Oct 20 15:11:59 IST 2026
[2026-10-20 15:11:59,989.989 INFO    ] ================================================
[2026-10-20 15:12:00,569.569 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:12:00
[2026-10-20 15:12:01,247.247 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:12:01,696.696 INFO    ] Initializing speech engine...
[2026-10-20 15:12:01,706.706 INFO    ] 2026-10-20 15:12:01
[2026-10-20 15:12:01,992.992 INFO    ] 2026-10-20 15:12:01
[2026-10-20 15:12:02,051.051 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:12:02,291.291 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:12:02,297.297 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:12:02,464.464 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:12:02,519.519 INFO    ] time= 20/10/2026 15:12:02
[2026-10-20 15:12:02,578.578 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:12:02,596.596 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:12:02,713.713 INFO    ] No existing commands found in stream
[2026-10-20 15:12:07,731.731 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:12:07,734.734 INFO    ] Waiting 2.76 seconds before fallback handling...
[2026-10-20 15:12:11,023.023 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:12:11,026.026 INFO    ] Checking for system updates...
[2026-10-20 15:12:11,066.066 INFO    ] 200
[2026-10-20 15:12:11,068.068 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:12:11,126.126 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:12:11,129.129 INFO    ] No update needed
[2026-10-20 15:12:11,131.131 INFO    ] Checking for camera pi updates...
[2026-10-20 15:12:11,168.168 INFO    ] 200
[2026-10-20 15:12:11,170.170 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:12:11,215.215 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:12:11,260.260 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:12:11,262.262 INFO    ] No camera update needed
[2026-10-20 15:12:11,265.265 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:12:11,267.267 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:12:11,272.272 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:12:11,277.277 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:12:13,320.320 INFO    ] ================================================
[2026-10-20 15:12:13,336.336 INFO    ] Launching Daemon at Tue Oct 20 15:12:13 IST 2026
[2026-10-20 15:12:13,347.347 INFO    ] ================================================
[2026-10-20 15:12:13,997.997 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:12:13
[2026-10-20 15:12:14,667.667 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:12:14,980.980 INFO    ] Initializing speech engine...
[2026-10-20 15:12:14,988.988 INFO    ] 2026-10-20 15:12:14
[2026-10-20 15:12:15,271.271 INFO    ] 2026-10-20 15:12:15
[2026-10-20 15:12:15,381.381 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:12:15,597.597 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:12:15,603.603 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:12:15,792.792 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:12:15,802.802 INFO    ] time= 20/10/2026 15:12:15
[2026-10-20 15:12:15,821.821 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:12:15,851.851 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:12:15,987.987 INFO    ] No existing commands found in stream
[2026-10-20 15:12:21,013.013 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:12:21,016.016 INFO    ] Waiting 0.02 seconds before fallback handling...
[2026-10-20 15:12:21,570.570 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 15:12:21,573.573 INFO    ] Checking for system updates...
[2026-10-20 15:12:21,613.613 INFO    ] 200
[2026-10-20 15:12:21,615.615 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:12:21,667.667 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:12:21,669.669 INFO    ] No update needed
[2026-10-20 15:12:21,672.672 INFO    ] Checking for camera pi updates...
[2026-10-20 15:12:21,709.709 INFO    ] 200
[2026-10-20 15:12:21,712.712 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:12:21,751.751 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:12:21,799.799 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:12:21,802.802 INFO    ] No camera update needed
[2026-10-20 15:12:21,804.804 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:12:21,806.806 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:12:21,812.812 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:12:21,816.816 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:12:23,858.858 INFO    ] ================================================
[2026-10-20 15:12:23,874.874 INFO    ] Launching Daemon at Tue Oct 20 15:12:23 IST 2026
[2026-10-20 15:12:23,885.885 INFO    ] ================================================
[2026-10-20 15:12:24,550.550 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:12:24
[2026-10-20 15:12:25,223.223 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:12:25,530.530 INFO    ] Initializing speech engine...
[2026-10-20 15:12:25,538.538 INFO    ] 2026-10-20 15:12:25
[2026-10-20 15:12:25,827.827 INFO    ] 2026-10-20 15:12:25
[2026-10-20 15:12:25,874.874 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:12:26,107.107 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:12:26,112.112 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:12:26,327.327 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:12:26,377.377 INFO    ] time= 20/10/2026 15:12:26
[2026-10-20 15:12:26,384.384 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:12:26,406.406 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:12:26,534.534 INFO    ] No existing commands found in stream
[2026-10-20 15:12:31,550.550 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:12:31,554.554 INFO    ] Waiting 2.99 seconds before fallback handling...
[2026-10-20 15:12:35,090.090 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:12:35,093.093 INFO    ] Checking for system updates...
[2026-10-20 15:12:35,133.133 INFO    ] 200
[2026-10-20 15:12:35,135.135 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:12:35,193.193 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:12:35,196.196 INFO    ] No update needed
[2026-10-20 15:12:35,198.198 INFO    ] Checking for camera pi updates...
[2026-10-20 15:12:35,233.233 INFO    ] 200
[2026-10-20 15:12:35,235.235 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:12:35,280.280 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:12:35,326.326 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:12:35,329.329 INFO    ] No camera update needed
[2026-10-20 15:12:35,332.332 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:12:35,335.335 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:12:35,341.341 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:12:35,347.347 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:12:37,390.390 INFO    ] ================================================
[2026-10-20 15:12:37,405.405 INFO    ] Launching Daemon at Tue Oct 20 15:12:37 IST 2026
[2026-10-20 15:12:37,416.416 INFO    ] ================================================
[2026-10-20 15:12:37,983.983 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:12:37
[2026-10-20 15:12:38,578.578 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:12:38,825.825 INFO    ] Initializing speech engine...
[2026-10-20 15:12:38,833.833 INFO    ] 2026-10-20 15:12:38
[2026-10-20 15:12:39,105.105 INFO    ] 2026-10-20 15:12:39
[2026-10-20 15:12:39,139.139 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:12:39,338.338 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:12:39,345.345 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:12:39,542.542 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:12:39,569.569 INFO    ] time= 20/10/2026 15:12:39
[2026-10-20 15:12:39,633.633 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:12:39,679.679 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:12:39,810.810 INFO    ] No existing commands found in stream
[2026-10-20 15:12:44,841.841 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:12:44,843.843 INFO    ] Waiting 1.08 seconds before fallback handling...
[2026-10-20 15:12:46,452.452 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 15:12:46,454.454 INFO    ] Checking for system updates...
[2026-10-20 15:12:46,490.490 INFO    ] 200
[2026-10-20 15:12:46,492.492 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:12:46,549.549 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:12:46,551.551 INFO    ] No update needed
[2026-10-20 15:12:46,554.554 INFO    ] Checking for camera pi updates...
[2026-10-20 15:12:46,590.590 INFO    ] 200
[2026-10-20 15:12:46,592.592 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:12:46,636.636 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:12:46,685.685 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:12:46,687.687 INFO    ] No camera update needed
[2026-10-20 15:12:46,689.689 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:12:46,692.692 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:12:46,697.697 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:12:46,702.702 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:12:48,742.742 INFO    ] ================================================
[2026-10-20 15:12:48,758.758 INFO    ] Launching Daemon at Tue Oct 20 15:12:48 IST 2026
[2026-10-20 15:12:48,769.769 INFO    ] ================================================
[2026-10-20 15:12:49,339.339 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:12:49
[2026-10-20 15:12:49,924.924 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:12:50,201.201 INFO    ] Initializing speech engine...
[2026-10-20 15:12:50,214.214 INFO    ] 2026-10-20 15:12:50
[2026-10-20 15:12:50,479.479 INFO    ] 2026-10-20 15:12:50
[2026-10-20 15:12:50,515.515 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:12:50,743.743 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:12:50,792.792 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:12:50,959.959 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:12:50,981.981 INFO    ] time= 20/10/2026 15:12:50
[2026-10-20 15:12:51,035.035 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:12:51,084.084 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:12:51,253.253 INFO    ] No existing commands found in stream
[2026-10-20 15:12:56,283.283 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:12:56,286.286 INFO    ] Waiting 2.24 seconds before fallback handling...
[2026-10-20 15:12:59,014.014 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:12:59,017.017 INFO    ] Checking for system updates...
[2026-10-20 15:12:59,053.053 INFO    ] 200
[2026-10-20 15:12:59,056.056 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:12:59,114.114 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:12:59,117.117 INFO    ] No update needed
[2026-10-20 15:12:59,121.121 INFO    ] Checking for camera pi updates...
[2026-10-20 15:12:59,154.154 INFO    ] 200
[2026-10-20 15:12:59,156.156 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:12:59,201.201 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:12:59,248.248 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:12:59,250.250 INFO    ] No camera update needed
[2026-10-20 15:12:59,253.253 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:12:59,255.255 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:12:59,260.260 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:12:59,265.265 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:13:01,319.319 INFO    ] ================================================
[2026-10-20 15:13:01,350.350 INFO    ] Launching Daemon at Tue Oct 20 15:13:01 IST 2026
[2026-10-20 15:13:01,382.382 INFO    ] ================================================
[2026-10-20 15:13:02,066.066 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:13:02
[2026-10-20 15:13:02,729.729 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:13:03,077.077 INFO    ] Initializing speech engine...
[2026-10-20 15:13:03,083.083 INFO    ] 2026-10-20 15:13:03
[2026-10-20 15:13:03,406.406 INFO    ] 2026-10-20 15:13:03
[2026-10-20 15:13:03,494.494 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:13:03,705.705 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:13:03,714.714 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:13:03,911.911 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:13:03,917.917 INFO    ] time= 20/10/2026 15:13:03
[2026-10-20 15:13:03,938.938 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:13:03,964.964 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:13:04,073.073 INFO    ] No existing commands found in stream
[2026-10-20 15:13:09,097.097 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:13:09,101.101 INFO    ] Waiting 0.01 seconds before fallback handling...
[2026-10-20 15:13:09,648.648 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:13:09,651.651 INFO    ] Checking for system updates...
[2026-10-20 15:13:09,688.688 INFO    ] 200
[2026-10-20 15:13:09,691.691 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:13:09,743.743 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:13:09,746.746 INFO    ] No update needed
[2026-10-20 15:13:09,749.749 INFO    ] Checking for camera pi updates...
[2026-10-20 15:13:09,782.782 INFO    ] 200
[2026-10-20 15:13:09,785.785 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:13:09,825.825 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:13:09,870.870 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:13:09,873.873 INFO    ] No camera update needed
[2026-10-20 15:13:09,875.875 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:13:09,877.877 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:13:09,883.883 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:13:09,888.888 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:13:11,928.928 INFO    ] ================================================
[2026-10-20 15:13:11,943.943 INFO    ] Launching Daemon at Tue Oct 20 15:13:11 IST 2026
[2026-10-20 15:13:11,954.954 INFO    ] ================================================
[2026-10-20 15:13:12,519.519 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:13:12
[2026-10-20 15:13:13,102.102 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:13:13,353.353 INFO    ] Initializing speech engine...
[2026-10-20 15:13:13,376.376 INFO    ] 2026-10-20 15:13:13
[2026-10-20 15:13:13,632.632 INFO    ] 2026-10-20 15:13:13
[2026-10-20 15:13:13,667.667 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:13:13,926.926 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:13:13,935.935 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:13:14,165.165 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:13:14,201.201 INFO    ] time= 20/10/2026 15:13:14
[2026-10-20 15:13:14,207.207 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:13:14,225.225 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:13:14,357.357 INFO    ] No existing commands found in stream
[2026-10-20 15:13:19,371.371 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:13:19,373.373 INFO    ] Waiting 2.54 seconds before fallback handling...
[2026-10-20 15:13:22,481.481 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 15:13:22,483.483 INFO    ] Checking for system updates...
[2026-10-20 15:13:22,523.523 INFO    ] 200
[2026-10-20 15:13:22,526.526 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:13:22,584.584 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:13:22,586.586 INFO    ] No update needed
[2026-10-20 15:13:22,588.588 INFO    ] Checking for camera pi updates...
[2026-10-20 15:13:22,625.625 INFO    ] 200
[2026-10-20 15:13:22,627.627 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:13:22,672.672 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:13:22,721.721 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:13:22,723.723 INFO    ] No camera update needed
[2026-10-20 15:13:22,725.725 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:13:22,728.728 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:13:22,734.734 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:13:22,739.739 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:13:24,781.781 INFO    ] ================================================
[2026-10-20 15:13:24,796.796 INFO    ] Launching Daemon at Tue Oct 20 15:13:24 IST 2026
[2026-10-20 15:13:24,807.807 INFO    ] ================================================
[2026-10-20 15:13:25,375.375 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:13:25
[2026-10-20 15:13:25,957.957 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:13:26,225.225 INFO    ] Initializing speech engine...
[2026-10-20 15:13:26,235.235 INFO    ] 2026-10-20 15:13:26
[2026-10-20 15:13:26,493.493 INFO    ] 2026-10-20 15:13:26
[2026-10-20 15:13:26,516.516 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:13:26,799.799 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:13:26,809.809 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:13:26,960.960 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:13:27,015.015 INFO    ] time= 20/10/2026 15:13:26
[2026-10-20 15:13:27,064.064 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:13:27,106.106 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:13:27,236.236 INFO    ] No existing commands found in stream
[2026-10-20 15:13:32,261.261 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:13:32,264.264 INFO    ] Waiting 0.00 seconds before fallback handling...
[2026-10-20 15:13:32,731.731 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:13:32,734.734 INFO    ] Checking for system updates...
[2026-10-20 15:13:32,776.776 INFO    ] 200
[2026-10-20 15:13:32,779.779 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:13:32,833.833 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:13:32,836.836 INFO    ] No update needed
[2026-10-20 15:13:32,838.838 INFO    ] Checking for camera pi updates...
[2026-10-20 15:13:32,875.875 INFO    ] 200
[2026-10-20 15:13:32,877.877 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:13:32,917.917 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:13:32,965.965 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:13:32,968.968 INFO    ] No camera update needed
[2026-10-20 15:13:32,970.970 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:13:32,972.972 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:13:32,978.978 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:13:32,983.983 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:13:35,023.023 INFO    ] ================================================
[2026-10-20 15:13:35,039.039 INFO    ] Launching Daemon at Tue Oct 20 15:13:35 IST 2026
[2026-10-20 15:13:35,049.049 INFO    ] ================================================
[2026-10-20 15:13:35,684.684 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:13:35
[2026-10-20 15:13:36,341.341 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:13:36,639.639 INFO    ] Initializing speech engine...
[2026-10-20 15:13:36,647.647 INFO    ] 2026-10-20 15:13:36
[2026-10-20 15:13:36,960.960 INFO    ] 2026-10-20 15:13:36
[2026-10-20 15:13:37,044.044 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:13:37,259.259 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:13:37,267.267 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:13:37,456.456 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:13:37,474.474 INFO    ] time= 20/10/2026 15:13:37
[2026-10-20 15:13:37,483.483 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:13:37,509.509 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:13:37,630.630 INFO    ] No existing commands found in stream
[2026-10-20 15:13:42,656.656 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:13:42,659.659 INFO    ] Waiting 1.33 seconds before fallback handling...
[2026-10-20 15:13:44,505.505 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:13:44,508.508 INFO    ] Checking for system updates...
[2026-10-20 15:13:44,545.545 INFO    ] 200
[2026-10-20 15:13:44,547.547 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:13:44,601.601 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:13:44,603.603 INFO    ] No update needed
[2026-10-20 15:13:44,606.606 INFO    ] Checking for camera pi updates...
[2026-10-20 15:13:44,640.640 INFO    ] 200
[2026-10-20 15:13:44,643.643 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:13:44,683.683 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:13:44,729.729 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:13:44,732.732 INFO    ] No camera update needed
[2026-10-20 15:13:44,734.734 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:13:44,737.737 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:13:44,743.743 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:13:44,749.749 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:13:46,794.794 INFO    ] ================================================
[2026-10-20 15:13:46,810.810 INFO    ] Launching Daemon at Tue Oct 20 15:13:46 IST 2026
[2026-10-20 15:13:46,820.820 INFO    ] ================================================
[2026-10-20 15:13:47,405.405 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:13:47
[2026-10-20 15:13:48,009.009 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:13:48,270.270 INFO    ] Initializing speech engine...
[2026-10-20 15:13:48,277.277 INFO    ] 2026-10-20 15:13:48
[2026-10-20 15:13:48,570.570 INFO    ] 2026-10-20 15:13:48
[2026-10-20 15:13:48,608.608 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:13:48,828.828 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:13:48,851.851 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:13:49,055.055 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:13:49,120.120 INFO    ] time= 20/10/2026 15:13:49
[2026-10-20 15:13:49,170.170 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:13:49,201.201 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:13:49,339.339 INFO    ] No existing commands found in stream
[2026-10-20 15:13:54,370.370 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:13:54,373.373 INFO    ] Waiting 2.34 seconds before fallback handling...
[2026-10-20 15:13:57,191.191 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:13:57,193.193 INFO    ] Checking for system updates...
[2026-10-20 15:13:57,232.232 INFO    ] 200
[2026-10-20 15:13:57,234.234 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:13:57,291.291 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:13:57,294.294 INFO    ] No update needed
[2026-10-20 15:13:57,296.296 INFO    ] Checking for camera pi updates...
[2026-10-20 15:13:57,332.332 INFO    ] 200
[2026-10-20 15:13:57,335.335 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:13:57,379.379 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:13:57,429.429 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:13:57,431.431 INFO    ] No camera update needed
[2026-10-20 15:13:57,434.434 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:13:57,436.436 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:13:57,441.441 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:13:57,446.446 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:13:59,485.485 INFO    ] ================================================
[2026-10-20 15:13:59,500.500 INFO    ] Launching Daemon at Tue Oct 20 15:13:59 IST 2026
[2026-10-20 15:13:59,511.511 INFO    ] ================================================
[2026-10-20 15:14:00,156.156 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:14:00
[2026-10-20 15:14:00,815.815 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:14:01,115.115 INFO    ] Initializing speech engine...
[2026-10-20 15:14:01,123.123 INFO    ] 2026-10-20 15:14:01
[2026-10-20 15:14:01,479.479 INFO    ] 2026-10-20 15:14:01
[2026-10-20 15:14:01,571.571 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:14:01,817.817 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:14:01,860.860 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:14:02,034.034 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:14:02,101.101 INFO    ] time= 20/10/2026 15:14:02
[2026-10-20 15:14:02,182.182 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:14:02,190.190 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:14:02,393.393 INFO    ] No existing commands found in stream
[2026-10-20 15:14:07,419.419 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:14:07,422.422 INFO    ] Waiting 0.37 seconds before fallback handling...
[2026-10-20 15:14:08,361.361 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:14:08,363.363 INFO    ] Checking for system updates...
[2026-10-20 15:14:08,402.402 INFO    ] 200
[2026-10-20 15:14:08,405.405 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:14:08,463.463 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:14:08,466.466 INFO    ] No update needed
[2026-10-20 15:14:08,468.468 INFO    ] Checking for camera pi updates...
[2026-10-20 15:14:08,505.505 INFO    ] 200
[2026-10-20 15:14:08,508.508 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:14:08,553.553 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:14:08,598.598 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:14:08,601.601 INFO    ] No camera update needed
[2026-10-20 15:14:08,603.603 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:14:08,605.605 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:14:08,611.611 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:14:08,616.616 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:14:10,656.656 INFO    ] ================================================
[2026-10-20 15:14:10,672.672 INFO    ] Launching Daemon at Tue Oct 20 15:14:10 IST 2026
[2026-10-20 15:14:10,683.683 INFO    ] ================================================
[2026-10-20 15:14:11,267.267 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:14:11
[2026-10-20 15:14:11,873.873 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:14:12,135.135 INFO    ] Initializing speech engine...
[2026-10-20 15:14:12,144.144 INFO    ] 2026-10-20 15:14:12
[2026-10-20 15:14:12,443.443 INFO    ] 2026-10-20 15:14:12
[2026-10-20 15:14:12,482.482 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:14:12,693.693 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:14:12,714.714 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:14:12,935.935 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:14:12,947.947 INFO    ] time= 20/10/2026 15:14:12
[2026-10-20 15:14:13,006.006 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:14:13,071.071 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:14:13,233.233 INFO    ] No existing commands found in stream
[2026-10-20 15:14:18,259.259 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:14:18,261.261 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-10-20 15:14:22,253.253 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 15:14:22,256.256 INFO    ] Checking for system updates...
[2026-10-20 15:14:22,291.291 INFO    ] 200
[2026-10-20 15:14:22,294.294 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:14:22,345.345 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:14:22,348.348 INFO    ] No update needed
[2026-10-20 15:14:22,350.350 INFO    ] Checking for camera pi updates...
[2026-10-20 15:14:22,383.383 INFO    ] 200
[2026-10-20 15:14:22,386.386 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:14:22,430.430 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:14:22,478.478 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:14:22,481.481 INFO    ] No camera update needed
[2026-10-20 15:14:22,483.483 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:14:22,485.485 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:14:22,491.491 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:14:22,496.496 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:14:24,535.535 INFO    ] ================================================
[2026-10-20 15:14:24,551.551 INFO    ] Launching Daemon at Tue Oct 20 15:14:24 IST 2026
[2026-10-20 15:14:24,562.562 INFO    ] ================================================
[2026-10-20 15:14:25,127.127 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:14:25
[2026-10-20 15:14:25,710.710 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:14:25,957.957 INFO    ] Initializing speech engine...
[2026-10-20 15:14:25,972.972 INFO    ] 2026-10-20 15:14:25
[2026-10-20 15:14:26,237.237 INFO    ] 2026-10-20 15:14:26
[2026-10-20 15:14:26,273.273 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:14:26,531.531 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:14:26,541.541 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:14:26,742.742 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:14:26,792.792 INFO    ] time= 20/10/2026 15:14:26
[2026-10-20 15:14:26,806.806 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:14:26,824.824 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:14:26,950.950 INFO    ] No existing commands found in stream
[2026-10-20 15:14:31,970.970 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:14:31,973.973 INFO    ] Waiting 0.14 seconds before fallback handling...
[2026-10-20 15:14:32,622.622 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:14:32,624.624 INFO    ] Checking for system updates...
[2026-10-20 15:14:32,663.663 INFO    ] 200
[2026-10-20 15:14:32,666.666 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:14:32,734.734 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:14:32,737.737 INFO    ] No update needed
[2026-10-20 15:14:32,740.740 INFO    ] Checking for camera pi updates...
[2026-10-20 15:14:32,780.780 INFO    ] 200
[2026-10-20 15:14:32,783.783 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:14:32,824.824 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:14:32,869.869 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:14:32,871.871 INFO    ] No camera update needed
[2026-10-20 15:14:32,873.873 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:14:32,876.876 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:14:32,881.881 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:14:32,886.886 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:14:34,927.927 INFO    ] ================================================
[2026-10-20 15:14:34,942.942 INFO    ] Launching Daemon at Tue Oct 20 15:14:34 IST 2026
[2026-10-20 15:14:34,952.952 INFO    ] ================================================
[2026-10-20 15:14:35,533.533 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:14:35
[2026-10-20 15:14:36,134.134 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:14:36,413.413 INFO    ] Initializing speech engine...
[2026-10-20 15:14:36,423.423 INFO    ] 2026-10-20 15:14:36
[2026-10-20 15:14:36,680.680 INFO    ] 2026-10-20 15:14:36
[2026-10-20 15:14:36,734.734 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:14:36,988.988 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:14:37,006.006 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:14:37,229.229 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:14:37,236.236 INFO    ] time= 20/10/2026 15:14:37
[2026-10-20 15:14:37,257.257 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:14:37,283.283 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:14:37,390.390 INFO    ] No existing commands found in stream
[2026-10-20 15:14:42,414.414 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:14:42,421.421 INFO    ] Waiting 1.64 seconds before fallback handling...
[2026-10-20 15:14:44,590.590 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:14:44,592.592 INFO    ] Checking for system updates...
[2026-10-20 15:14:44,631.631 INFO    ] 200
[2026-10-20 15:14:44,634.634 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:14:44,692.692 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:14:44,694.694 INFO    ] No update needed
[2026-10-20 15:14:44,697.697 INFO    ] Checking for camera pi updates...
[2026-10-20 15:14:44,735.735 INFO    ] 200
[2026-10-20 15:14:44,738.738 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:14:44,784.784 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:14:44,833.833 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:14:44,836.836 INFO    ] No camera update needed
[2026-10-20 15:14:44,838.838 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:14:44,841.841 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:14:44,847.847 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:14:44,853.853 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:14:46,896.896 INFO    ] ================================================
[2026-10-20 15:14:46,911.911 INFO    ] Launching Daemon at Tue Oct 20 15:14:46 IST 2026
[2026-10-20 15:14:46,922.922 INFO    ] ================================================
[2026-10-20 15:14:47,503.503 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:14:47
[2026-10-20 15:14:48,109.109 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:14:48,376.376 INFO    ] Initializing speech engine...
[2026-10-20 15:14:48,396.396 INFO    ] 2026-10-20 15:14:48
[2026-10-20 15:14:48,675.675 INFO    ] 2026-10-20 15:14:48
[2026-10-20 15:14:48,709.709 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:14:48,911.911 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:14:48,925.925 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:14:49,100.100 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:14:49,171.171 INFO    ] time= 20/10/2026 15:14:49
[2026-10-20 15:14:49,183.183 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:14:49,237.237 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:14:49,377.377 INFO    ] No existing commands found in stream
[2026-10-20 15:14:54,390.390 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:14:54,393.393 INFO    ] Waiting 1.83 seconds before fallback handling...
[2026-10-20 15:14:56,766.766 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:14:56,769.769 INFO    ] Checking for system updates...
[2026-10-20 15:14:56,808.808 INFO    ] 200
[2026-10-20 15:14:56,810.810 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:14:56,862.862 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:14:56,864.864 INFO    ] No update needed
[2026-10-20 15:14:56,867.867 INFO    ] Checking for camera pi updates...
[2026-10-20 15:14:56,900.900 INFO    ] 200
[2026-10-20 15:14:56,902.902 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:14:56,943.943 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:14:56,996.996 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:14:56,999.999 INFO    ] No camera update needed
[2026-10-20 15:14:57,001.001 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:14:57,003.003 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:14:57,009.009 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:14:57,013.013 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:14:59,052.052 INFO    ] ================================================
[2026-10-20 15:14:59,068.068 INFO    ] Launching Daemon at Tue Oct 20 15:14:59 IST 2026
[2026-10-20 15:14:59,079.079 INFO    ] ================================================
[2026-10-20 15:14:59,734.734 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:14:59
[2026-10-20 15:15:00,409.409 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:15:00,724.724 INFO    ] Initializing speech engine...
[2026-10-20 15:15:00,730.730 INFO    ] 2026-10-20 15:15:00
[2026-10-20 15:15:01,000.000 INFO    ] 2026-10-20 15:15:00
[2026-10-20 15:15:01,060.060 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:15:01,328.328 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:15:01,354.354 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:15:01,535.535 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:15:01,558.558 INFO    ] time= 20/10/2026 15:15:01
[2026-10-20 15:15:01,603.603 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:15:01,636.636 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:15:01,780.780 INFO    ] No existing commands found in stream
[2026-10-20 15:15:06,791.791 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:15:06,794.794 INFO    ] Waiting 2.74 seconds before fallback handling...
[2026-10-20 15:15:10,093.093 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:15:10,096.096 INFO    ] Checking for system updates...
[2026-10-20 15:15:10,134.134 INFO    ] 200
[2026-10-20 15:15:10,137.137 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:15:10,190.190 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:15:10,192.192 INFO    ] No update needed
[2026-10-20 15:15:10,195.195 INFO    ] Checking for camera pi updates...
[2026-10-20 15:15:10,233.233 INFO    ] 200
[2026-10-20 15:15:10,236.236 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:15:10,281.281 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:15:10,332.332 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:15:10,334.334 INFO    ] No camera update needed
[2026-10-20 15:15:10,337.337 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:15:10,339.339 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:15:10,344.344 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:15:10,349.349 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:15:12,390.390 INFO    ] ================================================
[2026-10-20 15:15:12,406.406 INFO    ] Launching Daemon at Tue Oct 20 15:15:12 IST 2026
[2026-10-20 15:15:12,417.417 INFO    ] ================================================
[2026-10-20 15:15:13,071.071 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:15:13
[2026-10-20 15:15:13,748.748 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:15:14,053.053 INFO    ] Initializing speech engine...
[2026-10-20 15:15:14,063.063 INFO    ] 2026-10-20 15:15:14
[2026-10-20 15:15:14,335.335 INFO    ] 2026-10-20 15:15:14
[2026-10-20 15:15:14,371.371 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:15:14,631.631 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:15:14,637.637 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:15:14,852.852 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:15:14,904.904 INFO    ] time= 20/10/2026 15:15:14
[2026-10-20 15:15:14,910.910 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:15:14,925.925 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:15:15,070.070 INFO    ] No existing commands found in stream
[2026-10-20 15:15:20,102.102 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:15:20,105.105 INFO    ] Waiting 1.65 seconds before fallback handling...
[2026-10-20 15:15:22,288.288 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:15:22,292.292 INFO    ] Checking for system updates...
[2026-10-20 15:15:22,329.329 INFO    ] 200
[2026-10-20 15:15:22,332.332 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:15:22,392.392 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:15:22,395.395 INFO    ] No update needed
[2026-10-20 15:15:22,398.398 INFO    ] Checking for camera pi updates...
[2026-10-20 15:15:22,436.436 INFO    ] 200
[2026-10-20 15:15:22,439.439 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:15:22,490.490 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:15:22,537.537 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:15:22,540.540 INFO    ] No camera update needed
[2026-10-20 15:15:22,543.543 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:15:22,546.546 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:15:22,552.552 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:15:22,558.558 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:15:24,600.600 INFO    ] ================================================
[2026-10-20 15:15:24,615.615 INFO    ] Launching Daemon at Tue Oct 20 15:15:24 IST 2026
[2026-10-20 15:15:24,626.626 INFO    ] ================================================
[2026-10-20 15:15:25,200.200 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:15:25
[2026-10-20 15:15:25,798.798 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:15:26,075.075 INFO    ] Initializing speech engine...
[2026-10-20 15:15:26,082.082 INFO    ] 2026-10-20 15:15:26
[2026-10-20 15:15:26,345.345 INFO    ] 2026-10-20 15:15:26
[2026-10-20 15:15:26,399.399 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:15:26,645.645 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:15:26,653.653 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:15:26,869.869 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:15:26,890.890 INFO    ] time= 20/10/2026 15:15:26
[2026-10-20 15:15:26,904.904 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:15:26,914.914 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:15:27,061.061 INFO    ] No existing commands found in stream
[2026-10-20 15:15:32,091.091 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:15:32,094.094 INFO    ] Waiting 3.06 seconds before fallback handling...
[2026-10-20 15:15:35,706.706 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:15:35,709.709 INFO    ] Checking for system updates...
[2026-10-20 15:15:36,870.870 INFO    ] 200
[2026-10-20 15:15:36,873.873 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:15:37,161.161 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:15:37,164.164 INFO    ] No update needed
[2026-10-20 15:15:37,166.166 INFO    ] Checking for camera pi updates...
[2026-10-20 15:15:37,200.200 INFO    ] 200
[2026-10-20 15:15:37,203.203 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:15:37,249.249 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:15:37,294.294 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:15:37,296.296 INFO    ] No camera update needed
[2026-10-20 15:15:37,299.299 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:15:37,301.301 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:15:37,307.307 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:15:37,312.312 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:15:39,352.352 INFO    ] ================================================
[2026-10-20 15:15:39,368.368 INFO    ] Launching Daemon at Tue Oct 20 15:15:39 IST 2026
[2026-10-20 15:15:39,379.379 INFO    ] ================================================
[2026-10-20 15:15:39,953.953 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:15:39
[2026-10-20 15:15:40,546.546 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:15:40,834.834 INFO    ] Initializing speech engine...
[2026-10-20 15:15:40,839.839 INFO    ] 2026-10-20 15:15:40
[2026-10-20 15:15:41,093.093 INFO    ] 2026-10-20 15:15:41
[2026-10-20 15:15:41,132.132 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:15:41,354.354 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:15:41,413.413 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:15:41,623.623 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:15:41,678.678 INFO    ] time= 20/10/2026 15:15:41
[2026-10-20 15:15:41,695.695 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:15:41,713.713 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:15:41,844.844 INFO    ] No existing commands found in stream
[2026-10-20 15:15:46,860.860 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:15:46,863.863 INFO    ] Waiting 0.23 seconds before fallback handling...
[2026-10-20 15:15:47,621.621 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:15:47,624.624 INFO    ] Checking for system updates...
[2026-10-20 15:15:47,663.663 INFO    ] 200
[2026-10-20 15:15:47,666.666 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:15:47,725.725 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:15:47,728.728 INFO    ] No update needed
[2026-10-20 15:15:47,731.731 INFO    ] Checking for camera pi updates...
[2026-10-20 15:15:47,766.766 INFO    ] 200
[2026-10-20 15:15:47,769.769 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:15:47,819.819 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:15:47,873.873 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:15:47,876.876 INFO    ] No camera update needed
[2026-10-20 15:15:47,881.881 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:15:47,884.884 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:15:47,892.892 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:15:47,900.900 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:15:49,944.944 INFO    ] ================================================
[2026-10-20 15:15:49,959.959 INFO    ] Launching Daemon at Tue Oct 20 15:15:49 IST 2026
[2026-10-20 15:15:49,970.970 INFO    ] ================================================
[2026-10-20 15:15:50,615.615 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:15:50
[2026-10-20 15:15:51,279.279 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:15:51,579.579 INFO    ] Initializing speech engine...
[2026-10-20 15:15:51,586.586 INFO    ] 2026-10-20 15:15:51
[2026-10-20 15:15:51,859.859 INFO    ] 2026-10-20 15:15:51
[2026-10-20 15:15:51,914.914 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:15:52,210.210 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:15:52,215.215 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:15:52,413.413 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:15:52,420.420 INFO    ] time= 20/10/2026 15:15:52
[2026-10-20 15:15:52,438.438 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:15:52,461.461 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:15:52,589.589 INFO    ] No existing commands found in stream
[2026-10-20 15:15:57,619.619 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:15:57,622.622 INFO    ] Waiting 0.24 seconds before fallback handling...
[2026-10-20 15:15:58,385.385 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:15:58,388.388 INFO    ] Checking for system updates...
[2026-10-20 15:15:58,429.429 INFO    ] 200
[2026-10-20 15:15:58,431.431 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:15:58,484.484 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:15:58,486.486 INFO    ] No update needed
[2026-10-20 15:15:58,489.489 INFO    ] Checking for camera pi updates...
[2026-10-20 15:15:58,522.522 INFO    ] 200
[2026-10-20 15:15:58,525.525 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:15:58,568.568 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:15:58,630.630 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:15:58,633.633 INFO    ] No camera update needed
[2026-10-20 15:15:58,635.635 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:15:58,637.637 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:15:58,643.643 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:15:58,648.648 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:16:00,688.688 INFO    ] ================================================
[2026-10-20 15:16:00,703.703 INFO    ] Launching Daemon at Tue Oct 20 15:16:00 IST 2026
[2026-10-20 15:16:00,714.714 INFO    ] ================================================
[2026-10-20 15:16:01,289.289 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:16:01
[2026-10-20 15:16:01,881.881 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:16:02,381.381 INFO    ] Initializing speech engine...
[2026-10-20 15:16:02,385.385 INFO    ] 2026-10-20 15:16:02
[2026-10-20 15:16:02,818.818 INFO    ] 2026-10-20 15:16:02
[2026-10-20 15:16:02,891.891 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:16:03,108.108 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:16:03,116.116 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:16:03,315.315 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:16:03,362.362 INFO    ] time= 20/10/2026 15:16:03
[2026-10-20 15:16:03,382.382 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:16:03,411.411 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:16:03,540.540 INFO    ] No existing commands found in stream
[2026-10-20 15:16:08,583.583 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:16:08,586.586 INFO    ] Waiting 1.55 seconds before fallback handling...
[2026-10-20 15:16:10,692.692 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 15:16:10,695.695 INFO    ] Checking for system updates...
[2026-10-20 15:16:10,730.730 INFO    ] 200
[2026-10-20 15:16:10,732.732 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:16:10,791.791 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:16:10,793.793 INFO    ] No update needed
[2026-10-20 15:16:10,796.796 INFO    ] Checking for camera pi updates...
[2026-10-20 15:16:10,829.829 INFO    ] 200
[2026-10-20 15:16:10,831.831 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:16:10,871.871 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:16:11,013.013 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:16:11,015.015 INFO    ] No camera update needed
[2026-10-20 15:16:11,017.017 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:16:11,020.020 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:16:11,025.025 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:16:11,030.030 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:16:13,072.072 INFO    ] ================================================
[2026-10-20 15:16:13,088.088 INFO    ] Launching Daemon at Tue Oct 20 15:16:13 IST 2026
[2026-10-20 15:16:13,099.099 INFO    ] ================================================
[2026-10-20 15:16:13,717.717 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:16:13
[2026-10-20 15:16:14,398.398 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:16:14,707.707 INFO    ] Initializing speech engine...
[2026-10-20 15:16:14,715.715 INFO    ] 2026-10-20 15:16:14
[2026-10-20 15:16:14,989.989 INFO    ] 2026-10-20 15:16:14
[2026-10-20 15:16:15,047.047 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:16:15,307.307 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:16:15,316.316 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:16:15,552.552 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:16:15,573.573 INFO    ] time= 20/10/2026 15:16:15
[2026-10-20 15:16:15,598.598 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:16:15,613.613 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:16:15,770.770 INFO    ] No existing commands found in stream
[2026-10-20 15:16:20,796.796 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:16:20,800.800 INFO    ] Waiting 4.00 seconds before fallback handling...
[2026-10-20 15:16:25,381.381 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 15:16:25,384.384 INFO    ] Checking for system updates...
[2026-10-20 15:16:25,421.421 INFO    ] 200
[2026-10-20 15:16:25,424.424 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:16:25,476.476 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:16:25,479.479 INFO    ] No update needed
[2026-10-20 15:16:25,482.482 INFO    ] Checking for camera pi updates...
[2026-10-20 15:16:25,516.516 INFO    ] 200
[2026-10-20 15:16:25,519.519 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:16:25,560.560 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:16:25,610.610 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:16:25,613.613 INFO    ] No camera update needed
[2026-10-20 15:16:25,616.616 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:16:25,619.619 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:16:25,625.625 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:16:25,631.631 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:16:27,673.673 INFO    ] ================================================
[2026-10-20 15:16:27,689.689 INFO    ] Launching Daemon at Tue Oct 20 15:16:27 IST 2026
[2026-10-20 15:16:27,700.700 INFO    ] ================================================
[2026-10-20 15:16:28,363.363 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:16:28
[2026-10-20 15:16:29,060.060 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:16:29,363.363 INFO    ] Initializing speech engine...
[2026-10-20 15:16:29,372.372 INFO    ] 2026-10-20 15:16:29
[2026-10-20 15:16:29,658.658 INFO    ] 2026-10-20 15:16:29
[2026-10-20 15:16:29,703.703 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:16:29,928.928 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:16:29,951.951 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:16:30,175.175 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:16:30,196.196 INFO    ] time= 20/10/2026 15:16:30
[2026-10-20 15:16:30,214.214 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:16:30,243.243 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:16:30,351.351 INFO    ] No existing commands found in stream
[2026-10-20 15:16:35,381.381 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:16:35,384.384 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-10-20 15:16:37,948.948 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:16:37,951.951 INFO    ] Checking for system updates...
[2026-10-20 15:16:37,992.992 INFO    ] 200
[2026-10-20 15:16:37,995.995 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:16:38,054.054 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:16:38,057.057 INFO    ] No update needed
[2026-10-20 15:16:38,060.060 INFO    ] Checking for camera pi updates...
[2026-10-20 15:16:38,094.094 INFO    ] 200
[2026-10-20 15:16:38,097.097 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:16:38,143.143 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:16:38,191.191 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:16:38,194.194 INFO    ] No camera update needed
[2026-10-20 15:16:38,196.196 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:16:38,199.199 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:16:38,205.205 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:16:38,211.211 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:16:40,253.253 INFO    ] ================================================
[2026-10-20 15:16:40,269.269 INFO    ] Launching Daemon at Tue Oct 20 15:16:40 IST 2026
[2026-10-20 15:16:40,279.279 INFO    ] ================================================
[2026-10-20 15:16:40,948.948 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:16:40
[2026-10-20 15:16:41,621.621 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:16:41,930.930 INFO    ] Initializing speech engine...
[2026-10-20 15:16:41,940.940 INFO    ] 2026-10-20 15:16:41
[2026-10-20 15:16:42,231.231 INFO    ] 2026-10-20 15:16:42
[2026-10-20 15:16:42,277.277 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:16:42,567.567 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:16:42,577.577 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:16:42,772.772 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:16:42,783.783 INFO    ] time= 20/10/2026 15:16:42
[2026-10-20 15:16:42,804.804 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:16:42,835.835 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:16:42,967.967 INFO    ] No existing commands found in stream
[2026-10-20 15:16:48,003.003 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:16:48,006.006 INFO    ] Waiting 0.30 seconds before fallback handling...
[2026-10-20 15:16:48,831.831 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:16:48,834.834 INFO    ] Checking for system updates...
[2026-10-20 15:16:48,875.875 INFO    ] 200
[2026-10-20 15:16:48,878.878 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:16:48,933.933 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:16:48,935.935 INFO    ] No update needed
[2026-10-20 15:16:48,938.938 INFO    ] Checking for camera pi updates...
[2026-10-20 15:16:48,972.972 INFO    ] 200
[2026-10-20 15:16:48,975.975 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:16:49,021.021 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:16:49,080.080 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:16:49,083.083 INFO    ] No camera update needed
[2026-10-20 15:16:49,086.086 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:16:49,089.089 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:16:49,095.095 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:16:49,101.101 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:16:51,142.142 INFO    ] ================================================
[2026-10-20 15:16:51,157.157 INFO    ] Launching Daemon at Tue Oct 20 15:16:51 IST 2026
[2026-10-20 15:16:51,168.168 INFO    ] ================================================
[2026-10-20 15:16:51,821.821 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:16:51
[2026-10-20 15:16:52,505.505 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:16:52,808.808 INFO    ] Initializing speech engine...
[2026-10-20 15:16:52,815.815 INFO    ] 2026-10-20 15:16:52
[2026-10-20 15:16:53,095.095 INFO    ] 2026-10-20 15:16:53
[2026-10-20 15:16:53,154.154 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:16:53,385.385 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:16:53,391.391 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:16:53,532.532 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:16:53,598.598 INFO    ] time= 20/10/2026 15:16:53
[2026-10-20 15:16:53,642.642 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:16:53,669.669 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:16:53,821.821 INFO    ] No existing commands found in stream
[2026-10-20 15:16:58,835.835 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:16:58,838.838 INFO    ] Waiting 0.54 seconds before fallback handling...
[2026-10-20 15:16:59,920.920 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:16:59,923.923 INFO    ] Checking for system updates...
[2026-10-20 15:16:59,959.959 INFO    ] 200
[2026-10-20 15:16:59,962.962 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:17:00,014.014 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:17:00,017.017 INFO    ] No update needed
[2026-10-20 15:17:00,020.020 INFO    ] Checking for camera pi updates...
[2026-10-20 15:17:00,058.058 INFO    ] 200
[2026-10-20 15:17:00,060.060 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:17:00,104.104 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:17:00,159.159 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:17:00,162.162 INFO    ] No camera update needed
[2026-10-20 15:17:00,164.164 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:17:00,166.166 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:17:00,171.171 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:17:00,176.176 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:17:02,230.230 INFO    ] ================================================
[2026-10-20 15:17:02,268.268 INFO    ] Launching Daemon at Tue Oct 20 15:17:02 IST 2026
[2026-10-20 15:17:02,288.288 INFO    ] ================================================
[2026-10-20 15:17:02,984.984 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:17:02
[2026-10-20 15:17:03,734.734 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:17:04,076.076 INFO    ] Initializing speech engine...
[2026-10-20 15:17:04,089.089 INFO    ] 2026-10-20 15:17:04
[2026-10-20 15:17:04,334.334 INFO    ] 2026-10-20 15:17:04
[2026-10-20 15:17:04,369.369 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:17:04,565.565 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:17:04,588.588 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:17:04,767.767 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:17:04,807.807 INFO    ] time= 20/10/2026 15:17:04
[2026-10-20 15:17:04,866.866 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:17:04,898.898 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:17:05,022.022 INFO    ] No existing commands found in stream
[2026-10-20 15:17:10,053.053 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:17:10,055.055 INFO    ] Waiting 1.39 seconds before fallback handling...
[2026-10-20 15:17:12,013.013 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:17:12,016.016 INFO    ] Checking for system updates...
[2026-10-20 15:17:12,052.052 INFO    ] 200
[2026-10-20 15:17:12,054.054 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:17:12,107.107 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:17:12,110.110 INFO    ] No update needed
[2026-10-20 15:17:12,113.113 INFO    ] Checking for camera pi updates...
[2026-10-20 15:17:12,151.151 INFO    ] 200
[2026-10-20 15:17:12,154.154 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:17:12,197.197 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:17:12,242.242 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:17:12,245.245 INFO    ] No camera update needed
[2026-10-20 15:17:12,247.247 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:17:12,251.251 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:17:12,257.257 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:17:12,262.262 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:17:14,303.303 INFO    ] ================================================
[2026-10-20 15:17:14,318.318 INFO    ] Launching Daemon at Tue Oct 20 15:17:14 IST 2026
[2026-10-20 15:17:14,329.329 INFO    ] ================================================
[2026-10-20 15:17:14,909.909 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:17:14
[2026-10-20 15:17:15,508.508 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:17:15,808.808 INFO    ] Initializing speech engine...
[2026-10-20 15:17:15,817.817 INFO    ] 2026-10-20 15:17:15
[2026-10-20 15:17:16,079.079 INFO    ] 2026-10-20 15:17:16
[2026-10-20 15:17:16,116.116 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:17:16,345.345 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:17:16,408.408 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:17:16,626.626 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:17:16,681.681 INFO    ] time= 20/10/2026 15:17:16
[2026-10-20 15:17:16,708.708 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:17:16,714.714 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:17:16,851.851 INFO    ] No existing commands found in stream
[2026-10-20 15:17:21,881.881 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:17:21,884.884 INFO    ] Waiting 3.05 seconds before fallback handling...
[2026-10-20 15:17:25,427.427 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:17:25,429.429 INFO    ] Checking for system updates...
[2026-10-20 15:17:25,465.465 INFO    ] 200
[2026-10-20 15:17:25,468.468 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:17:25,524.524 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:17:25,526.526 INFO    ] No update needed
[2026-10-20 15:17:25,529.529 INFO    ] Checking for camera pi updates...
[2026-10-20 15:17:25,562.562 INFO    ] 200
[2026-10-20 15:17:25,564.564 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:17:25,604.604 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:17:25,658.658 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:17:25,660.660 INFO    ] No camera update needed
[2026-10-20 15:17:25,663.663 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:17:25,665.665 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:17:25,670.670 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:17:25,675.675 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:17:27,716.716 INFO    ] ================================================
[2026-10-20 15:17:27,732.732 INFO    ] Launching Daemon at Tue Oct 20 15:17:27 IST 2026
[2026-10-20 15:17:27,743.743 INFO    ] ================================================
[2026-10-20 15:17:28,337.337 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:17:28
[2026-10-20 15:17:28,936.936 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:17:29,209.209 INFO    ] Initializing speech engine...
[2026-10-20 15:17:29,226.226 INFO    ] 2026-10-20 15:17:29
[2026-10-20 15:17:29,493.493 INFO    ] 2026-10-20 15:17:29
[2026-10-20 15:17:29,530.530 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:17:29,743.743 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:17:29,800.800 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:17:29,961.961 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:17:29,994.994 INFO    ] time= 20/10/2026 15:17:29
[2026-10-20 15:17:30,048.048 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:17:30,102.102 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:17:30,182.182 INFO    ] No existing commands found in stream
[2026-10-20 15:17:35,218.218 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:17:35,221.221 INFO    ] Waiting 2.63 seconds before fallback handling...
[2026-10-20 15:17:38,385.385 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:17:38,388.388 INFO    ] Checking for system updates...
[2026-10-20 15:17:38,424.424 INFO    ] 200
[2026-10-20 15:17:38,426.426 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:17:38,483.483 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:17:38,486.486 INFO    ] No update needed
[2026-10-20 15:17:38,488.488 INFO    ] Checking for camera pi updates...
[2026-10-20 15:17:38,524.524 INFO    ] 200
[2026-10-20 15:17:38,526.526 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:17:38,567.567 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:17:38,600.600 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:17:38,602.602 INFO    ] No camera update needed
[2026-10-20 15:17:38,605.605 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:17:38,607.607 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:17:38,612.612 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:17:38,617.617 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:17:40,658.658 INFO    ] ================================================
[2026-10-20 15:17:40,674.674 INFO    ] Launching Daemon at Tue Oct 20 15:17:40 IST 2026
[2026-10-20 15:17:40,685.685 INFO    ] ================================================
[2026-10-20 15:17:41,320.320 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:17:41
[2026-10-20 15:17:41,967.967 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:17:42,262.262 INFO    ] Initializing speech engine...
[2026-10-20 15:17:42,268.268 INFO    ] 2026-10-20 15:17:42
[2026-10-20 15:17:42,554.554 INFO    ] 2026-10-20 15:17:42
[2026-10-20 15:17:42,599.599 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:17:42,884.884 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:17:42,891.891 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:17:43,083.083 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:17:43,099.099 INFO    ] time= 20/10/2026 15:17:43
[2026-10-20 15:17:43,108.108 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:17:43,136.136 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:17:43,264.264 INFO    ] No existing commands found in stream
[2026-10-20 15:17:48,290.290 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:17:48,293.293 INFO    ] Waiting 1.68 seconds before fallback handling...
[2026-10-20 15:17:50,512.512 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:17:50,515.515 INFO    ] Checking for system updates...
[2026-10-20 15:17:50,551.551 INFO    ] 200
[2026-10-20 15:17:50,554.554 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:17:50,611.611 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:17:50,614.614 INFO    ] No update needed
[2026-10-20 15:17:50,616.616 INFO    ] Checking for camera pi updates...
[2026-10-20 15:17:50,658.658 INFO    ] 200
[2026-10-20 15:17:50,661.661 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:17:50,704.704 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:17:50,749.749 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:17:50,752.752 INFO    ] No camera update needed
[2026-10-20 15:17:50,754.754 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:17:50,756.756 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:17:50,762.762 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:17:50,767.767 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:17:52,806.806 INFO    ] ================================================
[2026-10-20 15:17:52,822.822 INFO    ] Launching Daemon at Tue Oct 20 15:17:52 IST 2026
[2026-10-20 15:17:52,833.833 INFO    ] ================================================
[2026-10-20 15:17:53,403.403 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:17:53
[2026-10-20 15:17:53,993.993 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:17:54,246.246 INFO    ] Initializing speech engine...
[2026-10-20 15:17:54,255.255 INFO    ] 2026-10-20 15:17:54
[2026-10-20 15:17:54,543.543 INFO    ] 2026-10-20 15:17:54
[2026-10-20 15:17:54,580.580 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:17:54,803.803 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:17:54,851.851 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:17:55,082.082 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:17:55,116.116 INFO    ] time= 20/10/2026 15:17:55
[2026-10-20 15:17:55,163.163 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:17:55,170.170 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:17:55,333.333 INFO    ] No existing commands found in stream
[2026-10-20 15:18:00,345.345 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:18:00,348.348 INFO    ] Waiting 3.29 seconds before fallback handling...
[2026-10-20 15:18:04,151.151 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:18:04,154.154 INFO    ] Checking for system updates...
[2026-10-20 15:18:04,189.189 INFO    ] 200
[2026-10-20 15:18:04,192.192 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:18:04,246.246 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:18:04,249.249 INFO    ] No update needed
[2026-10-20 15:18:04,252.252 INFO    ] Checking for camera pi updates...
[2026-10-20 15:18:04,285.285 INFO    ] 200
[2026-10-20 15:18:04,287.287 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:18:04,331.331 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:18:04,383.383 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:18:04,387.387 INFO    ] No camera update needed
[2026-10-20 15:18:04,390.390 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:18:04,392.392 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:18:04,397.397 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:18:04,402.402 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:18:06,442.442 INFO    ] ================================================
[2026-10-20 15:18:06,457.457 INFO    ] Launching Daemon at Tue Oct 20 15:18:06 IST 2026
[2026-10-20 15:18:06,468.468 INFO    ] ================================================
[2026-10-20 15:18:07,047.047 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:18:07
[2026-10-20 15:18:07,642.642 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:18:07,918.918 INFO    ] Initializing speech engine...
[2026-10-20 15:18:07,927.927 INFO    ] 2026-10-20 15:18:07
[2026-10-20 15:18:08,186.186 INFO    ] 2026-10-20 15:18:08
[2026-10-20 15:18:08,216.216 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:18:08,466.466 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:18:08,472.472 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:18:08,687.687 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:18:08,728.728 INFO    ] time= 20/10/2026 15:18:08
[2026-10-20 15:18:08,734.734 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:18:08,752.752 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:18:08,884.884 INFO    ] No existing commands found in stream
[2026-10-20 15:18:13,906.906 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:18:13,909.909 INFO    ] Waiting 0.89 seconds before fallback handling...
[2026-10-20 15:18:15,335.335 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:18:15,338.338 INFO    ] Checking for system updates...
[2026-10-20 15:18:15,373.373 INFO    ] 200
[2026-10-20 15:18:15,376.376 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:18:15,427.427 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:18:15,430.430 INFO    ] No update needed
[2026-10-20 15:18:15,433.433 INFO    ] Checking for camera pi updates...
[2026-10-20 15:18:15,466.466 INFO    ] 200
[2026-10-20 15:18:15,468.468 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:18:15,512.512 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:18:15,661.661 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:18:15,663.663 INFO    ] No camera update needed
[2026-10-20 15:18:15,665.665 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:18:15,668.668 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:18:15,673.673 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:18:15,678.678 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:18:17,718.718 INFO    ] ================================================
[2026-10-20 15:18:17,733.733 INFO    ] Launching Daemon at Tue Oct 20 15:18:17 IST 2026
[2026-10-20 15:18:17,743.743 INFO    ] ================================================
[2026-10-20 15:18:18,307.307 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:18:18
[2026-10-20 15:18:18,909.909 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:18:19,204.204 INFO    ] Initializing speech engine...
[2026-10-20 15:18:19,216.216 INFO    ] 2026-10-20 15:18:19
[2026-10-20 15:18:19,491.491 INFO    ] 2026-10-20 15:18:19
[2026-10-20 15:18:19,535.535 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:18:19,822.822 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:18:19,828.828 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:18:19,997.997 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:18:20,025.025 INFO    ] time= 20/10/2026 15:18:20
[2026-10-20 15:18:20,043.043 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:18:20,052.052 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:18:20,181.181 INFO    ] No existing commands found in stream
[2026-10-20 15:18:25,196.196 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:18:25,199.199 INFO    ] Waiting 1.70 seconds before fallback handling...
[2026-10-20 15:18:27,451.451 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:18:27,454.454 INFO    ] Checking for system updates...
[2026-10-20 15:18:27,492.492 INFO    ] 200
[2026-10-20 15:18:27,494.494 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:18:27,547.547 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:18:27,550.550 INFO    ] No update needed
[2026-10-20 15:18:27,552.552 INFO    ] Checking for camera pi updates...
[2026-10-20 15:18:27,586.586 INFO    ] 200
[2026-10-20 15:18:27,589.589 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:18:27,635.635 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:18:27,687.687 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:18:27,690.690 INFO    ] No camera update needed
[2026-10-20 15:18:27,692.692 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:18:27,695.695 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:18:27,701.701 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:18:27,707.707 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:18:29,747.747 INFO    ] ================================================
[2026-10-20 15:18:29,762.762 INFO    ] Launching Daemon at Tue Oct 20 15:18:29 IST 2026
[2026-10-20 15:18:29,773.773 INFO    ] ================================================
[2026-10-20 15:18:30,338.338 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:18:30
[2026-10-20 15:18:30,940.940 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:18:31,238.238 INFO    ] Initializing speech engine...
[2026-10-20 15:18:31,248.248 INFO    ] 2026-10-20 15:18:31
[2026-10-20 15:18:31,516.516 INFO    ] 2026-10-20 15:18:31
[2026-10-20 15:18:31,551.551 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:18:31,807.807 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:18:31,817.817 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:18:31,978.978 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:18:32,001.001 INFO    ] time= 20/10/2026 15:18:31
[2026-10-20 15:18:32,061.061 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:18:32,111.111 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:18:32,204.204 INFO    ] No existing commands found in stream
[2026-10-20 15:18:37,220.220 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:18:37,223.223 INFO    ] Waiting 1.68 seconds before fallback handling...
[2026-10-20 15:18:39,427.427 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:18:39,429.429 INFO    ] Checking for system updates...
[2026-10-20 15:18:39,468.468 INFO    ] 200
[2026-10-20 15:18:39,470.470 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:18:39,522.522 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:18:39,525.525 INFO    ] No update needed
[2026-10-20 15:18:39,527.527 INFO    ] Checking for camera pi updates...
[2026-10-20 15:18:39,560.560 INFO    ] 200
[2026-10-20 15:18:39,562.562 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:18:39,602.602 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:18:39,656.656 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:18:39,659.659 INFO    ] No camera update needed
[2026-10-20 15:18:39,661.661 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:18:39,663.663 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:18:39,669.669 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:18:39,674.674 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:18:41,713.713 INFO    ] ================================================
[2026-10-20 15:18:41,728.728 INFO    ] Launching Daemon at Tue Oct 20 15:18:41 IST 2026
[2026-10-20 15:18:41,739.739 INFO    ] ================================================
[2026-10-20 15:18:42,388.388 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:18:42
[2026-10-20 15:18:43,060.060 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:18:43,362.362 INFO    ] Initializing speech engine...
[2026-10-20 15:18:43,369.369 INFO    ] 2026-10-20 15:18:43
[2026-10-20 15:18:43,657.657 INFO    ] 2026-10-20 15:18:43
[2026-10-20 15:18:43,705.705 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:18:43,993.993 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:18:44,002.002 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:18:44,204.204 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:18:44,223.223 INFO    ] time= 20/10/2026 15:18:44
[2026-10-20 15:18:44,233.233 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:18:44,260.260 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:18:44,371.371 INFO    ] No existing commands found in stream
[2026-10-20 15:18:49,395.395 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:18:49,398.398 INFO    ] Waiting 1.37 seconds before fallback handling...
[2026-10-20 15:18:51,305.305 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:18:51,308.308 INFO    ] Checking for system updates...
[2026-10-20 15:18:51,348.348 INFO    ] 200
[2026-10-20 15:18:51,350.350 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:18:51,403.403 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:18:51,406.406 INFO    ] No update needed
[2026-10-20 15:18:51,408.408 INFO    ] Checking for camera pi updates...
[2026-10-20 15:18:51,445.445 INFO    ] 200
[2026-10-20 15:18:51,447.447 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:18:51,494.494 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:18:51,546.546 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:18:51,548.548 INFO    ] No camera update needed
[2026-10-20 15:18:51,551.551 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:18:51,553.553 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:18:51,559.559 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:18:51,564.564 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:18:53,602.602 INFO    ] ================================================
[2026-10-20 15:18:53,617.617 INFO    ] Launching Daemon at Tue Oct 20 15:18:53 IST 2026
[2026-10-20 15:18:53,627.627 INFO    ] ================================================
[2026-10-20 15:18:54,280.280 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:18:54
[2026-10-20 15:18:54,943.943 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:18:55,245.245 INFO    ] Initializing speech engine...
[2026-10-20 15:18:55,253.253 INFO    ] 2026-10-20 15:18:55
[2026-10-20 15:18:55,539.539 INFO    ] 2026-10-20 15:18:55
[2026-10-20 15:18:55,587.587 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:18:55,860.860 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:18:55,884.884 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:18:56,087.087 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:18:56,107.107 INFO    ] time= 20/10/2026 15:18:56
[2026-10-20 15:18:56,117.117 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:18:56,147.147 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:18:56,260.260 INFO    ] No existing commands found in stream
[2026-10-20 15:19:01,295.295 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:19:01,298.298 INFO    ] Waiting 0.34 seconds before fallback handling...
[2026-10-20 15:19:02,232.232 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:19:02,235.235 INFO    ] Checking for system updates...
[2026-10-20 15:19:02,291.291 INFO    ] 200
[2026-10-20 15:19:02,294.294 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:19:02,387.387 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:19:02,391.391 INFO    ] No update needed
[2026-10-20 15:19:02,395.395 INFO    ] Checking for camera pi updates...
[2026-10-20 15:19:02,446.446 INFO    ] 200
[2026-10-20 15:19:02,449.449 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:19:02,494.494 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:19:02,525.525 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:19:02,528.528 INFO    ] No camera update needed
[2026-10-20 15:19:02,531.531 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:19:02,534.534 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:19:02,540.540 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:19:02,547.547 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:19:04,591.591 INFO    ] ================================================
[2026-10-20 15:19:04,607.607 INFO    ] Launching Daemon at Tue Oct 20 15:19:04 IST 2026
[2026-10-20 15:19:04,617.617 INFO    ] ================================================
[2026-10-20 15:19:05,191.191 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:19:05
[2026-10-20 15:19:05,776.776 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:19:06,027.027 INFO    ] Initializing speech engine...
[2026-10-20 15:19:06,050.050 INFO    ] 2026-10-20 15:19:06
[2026-10-20 15:19:06,305.305 INFO    ] 2026-10-20 15:19:06
[2026-10-20 15:19:06,342.342 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:19:06,601.601 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:19:06,610.610 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:19:06,747.747 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:19:06,782.782 INFO    ] time= 20/10/2026 15:19:06
[2026-10-20 15:19:06,841.841 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:19:06,882.882 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:19:07,014.014 INFO    ] No existing commands found in stream
[2026-10-20 15:19:12,039.039 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:19:12,042.042 INFO    ] Waiting 3.24 seconds before fallback handling...
[2026-10-20 15:19:15,777.777 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:19:15,780.780 INFO    ] Checking for system updates...
[2026-10-20 15:19:15,815.815 INFO    ] 200
[2026-10-20 15:19:15,817.817 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:19:15,874.874 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:19:15,877.877 INFO    ] No update needed
[2026-10-20 15:19:15,879.879 INFO    ] Checking for camera pi updates...
[2026-10-20 15:19:15,916.916 INFO    ] 200
[2026-10-20 15:19:15,919.919 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:19:15,958.958 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:19:16,006.006 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:19:16,008.008 INFO    ] No camera update needed
[2026-10-20 15:19:16,011.011 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:19:16,013.013 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:19:16,019.019 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:19:16,023.023 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:19:18,062.062 INFO    ] ================================================
[2026-10-20 15:19:18,077.077 INFO    ] Launching Daemon at Tue Oct 20 15:19:18 IST 2026
[2026-10-20 15:19:18,088.088 INFO    ] ================================================
[2026-10-20 15:19:18,723.723 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:19:18
[2026-10-20 15:19:19,375.375 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:19:19,674.674 INFO    ] Initializing speech engine...
[2026-10-20 15:19:19,682.682 INFO    ] 2026-10-20 15:19:19
[2026-10-20 15:19:19,955.955 INFO    ] 2026-10-20 15:19:19
[2026-10-20 15:19:20,013.013 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:19:20,301.301 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:19:20,310.310 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:19:20,510.510 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:19:20,517.517 INFO    ] time= 20/10/2026 15:19:20
[2026-10-20 15:19:20,536.536 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:19:20,564.564 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:19:20,674.674 INFO    ] No existing commands found in stream
[2026-10-20 15:19:25,690.690 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:19:25,693.693 INFO    ] Waiting 0.95 seconds before fallback handling...
[2026-10-20 15:19:27,303.303 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:19:27,306.306 INFO    ] Checking for system updates...
[2026-10-20 15:19:27,342.342 INFO    ] 200
[2026-10-20 15:19:27,345.345 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:19:27,404.404 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:19:27,407.407 INFO    ] No update needed
[2026-10-20 15:19:27,409.409 INFO    ] Checking for camera pi updates...
[2026-10-20 15:19:27,446.446 INFO    ] 200
[2026-10-20 15:19:27,448.448 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:19:27,489.489 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:19:27,544.544 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:19:27,546.546 INFO    ] No camera update needed
[2026-10-20 15:19:27,548.548 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:19:27,551.551 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:19:27,556.556 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:19:27,561.561 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:19:29,604.604 INFO    ] ================================================
[2026-10-20 15:19:29,619.619 INFO    ] Launching Daemon at Tue Oct 20 15:19:29 IST 2026
[2026-10-20 15:19:29,630.630 INFO    ] ================================================
[2026-10-20 15:19:30,310.310 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:19:30
[2026-10-20 15:19:31,018.018 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:19:31,326.326 INFO    ] Initializing speech engine...
[2026-10-20 15:19:31,337.337 INFO    ] 2026-10-20 15:19:31
[2026-10-20 15:19:31,621.621 INFO    ] 2026-10-20 15:19:31
[2026-10-20 15:19:31,680.680 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:19:31,914.914 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:19:31,920.920 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:19:32,141.141 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:19:32,211.211 INFO    ] time= 20/10/2026 15:19:32
[2026-10-20 15:19:32,218.218 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:19:32,222.222 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:19:32,370.370 INFO    ] No existing commands found in stream
[2026-10-20 15:19:37,396.396 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:19:37,399.399 INFO    ] Waiting 1.12 seconds before fallback handling...
[2026-10-20 15:19:39,015.015 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:19:39,018.018 INFO    ] Checking for system updates...
[2026-10-20 15:19:39,056.056 INFO    ] 200
[2026-10-20 15:19:39,058.058 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:19:39,112.112 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:19:39,115.115 INFO    ] No update needed
[2026-10-20 15:19:39,117.117 INFO    ] Checking for camera pi updates...
[2026-10-20 15:19:39,151.151 INFO    ] 200
[2026-10-20 15:19:39,154.154 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:19:39,200.200 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:19:39,250.250 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:19:39,253.253 INFO    ] No camera update needed
[2026-10-20 15:19:39,256.256 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:19:39,258.258 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:19:39,265.265 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:19:39,271.271 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:19:41,311.311 INFO    ] ================================================
[2026-10-20 15:19:41,325.325 INFO    ] Launching Daemon at Tue Oct 20 15:19:41 IST 2026
[2026-10-20 15:19:41,336.336 INFO    ] ================================================
[2026-10-20 15:19:41,918.918 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:19:41
[2026-10-20 15:19:42,515.515 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:19:42,794.794 INFO    ] Initializing speech engine...
[2026-10-20 15:19:42,802.802 INFO    ] 2026-10-20 15:19:42
[2026-10-20 15:19:43,061.061 INFO    ] 2026-10-20 15:19:43
[2026-10-20 15:19:43,091.091 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:19:43,360.360 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:19:43,368.368 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:19:43,596.596 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:19:43,604.604 INFO    ] time= 20/10/2026 15:19:43
[2026-10-20 15:19:43,621.621 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:19:43,650.650 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:19:43,775.775 INFO    ] No existing commands found in stream
[2026-10-20 15:19:48,801.801 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:19:48,804.804 INFO    ] Waiting 0.58 seconds before fallback handling...
[2026-10-20 15:19:49,895.895 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:19:49,898.898 INFO    ] Checking for system updates...
[2026-10-20 15:19:49,933.933 INFO    ] 200
[2026-10-20 15:19:49,936.936 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:19:49,993.993 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:19:49,996.996 INFO    ] No update needed
[2026-10-20 15:19:49,998.998 INFO    ] Checking for camera pi updates...
[2026-10-20 15:19:50,031.031 INFO    ] 200
[2026-10-20 15:19:50,034.034 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:19:50,081.081 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:19:50,130.130 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:19:50,132.132 INFO    ] No camera update needed
[2026-10-20 15:19:50,134.134 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:19:50,136.136 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:19:50,142.142 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:19:50,147.147 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:19:52,186.186 INFO    ] ================================================
[2026-10-20 15:19:52,201.201 INFO    ] Launching Daemon at Tue Oct 20 15:19:52 IST 2026
[2026-10-20 15:19:52,212.212 INFO    ] ================================================
[2026-10-20 15:19:52,856.856 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:19:52
[2026-10-20 15:19:53,520.520 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:19:53,826.826 INFO    ] Initializing speech engine...
[2026-10-20 15:19:53,838.838 INFO    ] 2026-10-20 15:19:53
[2026-10-20 15:19:54,150.150 INFO    ] 2026-10-20 15:19:54
[2026-10-20 15:19:54,240.240 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:19:54,457.457 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:19:54,465.465 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:19:54,666.666 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:19:54,674.674 INFO    ] time= 20/10/2026 15:19:54
[2026-10-20 15:19:54,693.693 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:19:54,716.716 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:19:54,838.838 INFO    ] No existing commands found in stream
[2026-10-20 15:19:59,874.874 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:19:59,877.877 INFO    ] Waiting 3.07 seconds before fallback handling...
[2026-10-20 15:20:06,286.286 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:20:06,290.290 INFO    ] Checking for system updates...
[2026-10-20 15:20:06,326.326 INFO    ] 200
[2026-10-20 15:20:06,329.329 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:20:06,382.382 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:20:06,385.385 INFO    ] No update needed
[2026-10-20 15:20:06,388.388 INFO    ] Checking for camera pi updates...
[2026-10-20 15:20:06,422.422 INFO    ] 200
[2026-10-20 15:20:06,424.424 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:20:06,465.465 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:20:06,496.496 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:20:06,499.499 INFO    ] No camera update needed
[2026-10-20 15:20:06,502.502 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:20:06,505.505 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:20:06,511.511 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:20:06,517.517 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:20:08,556.556 INFO    ] ================================================
[2026-10-20 15:20:08,571.571 INFO    ] Launching Daemon at Tue Oct 20 15:20:08 IST 2026
[2026-10-20 15:20:08,582.582 INFO    ] ================================================
[2026-10-20 15:20:09,153.153 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:20:09
[2026-10-20 15:20:09,755.755 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:20:10,016.016 INFO    ] Initializing speech engine...
[2026-10-20 15:20:10,025.025 INFO    ] 2026-10-20 15:20:10
[2026-10-20 15:20:10,320.320 INFO    ] 2026-10-20 15:20:10
[2026-10-20 15:20:10,359.359 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:20:10,587.587 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:20:10,652.652 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:20:10,812.812 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:20:10,834.834 INFO    ] time= 20/10/2026 15:20:10
[2026-10-20 15:20:10,888.888 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:20:10,917.917 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:20:11,096.096 INFO    ] No existing commands found in stream
[2026-10-20 15:20:16,118.118 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:20:16,121.121 INFO    ] Waiting 0.25 seconds before fallback handling...
[2026-10-20 15:20:16,913.913 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:20:16,916.916 INFO    ] Checking for system updates...
[2026-10-20 15:20:16,952.952 INFO    ] 200
[2026-10-20 15:20:16,955.955 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:20:17,017.017 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:20:17,020.020 INFO    ] No update needed
[2026-10-20 15:20:17,022.022 INFO    ] Checking for camera pi updates...
[2026-10-20 15:20:17,059.059 INFO    ] 200
[2026-10-20 15:20:17,061.061 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:20:17,106.106 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:20:17,259.259 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:20:17,261.261 INFO    ] No camera update needed
[2026-10-20 15:20:17,264.264 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:20:17,266.266 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:20:17,271.271 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:20:17,276.276 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:20:19,316.316 INFO    ] ================================================
[2026-10-20 15:20:19,332.332 INFO    ] Launching Daemon at Tue Oct 20 15:20:19 IST 2026
[2026-10-20 15:20:19,343.343 INFO    ] ================================================
[2026-10-20 15:20:19,926.926 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:20:19
[2026-10-20 15:20:20,525.525 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:20:20,802.802 INFO    ] Initializing speech engine...
[2026-10-20 15:20:20,809.809 INFO    ] 2026-10-20 15:20:20
[2026-10-20 15:20:21,069.069 INFO    ] 2026-10-20 15:20:21
[2026-10-20 15:20:21,100.100 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:20:21,343.343 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:20:21,354.354 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:20:21,569.569 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:20:21,613.613 INFO    ] time= 20/10/2026 15:20:21
[2026-10-20 15:20:21,619.619 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:20:21,640.640 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:20:21,770.770 INFO    ] No existing commands found in stream
[2026-10-20 15:20:26,789.789 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:20:26,793.793 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-10-20 15:20:30,436.436 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:20:30,439.439 INFO    ] Checking for system updates...
[2026-10-20 15:20:30,476.476 INFO    ] 200
[2026-10-20 15:20:30,479.479 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:20:30,532.532 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:20:30,535.535 INFO    ] No update needed
[2026-10-20 15:20:30,538.538 INFO    ] Checking for camera pi updates...
[2026-10-20 15:20:30,576.576 INFO    ] 200
[2026-10-20 15:20:30,580.580 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:20:30,627.627 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:20:30,671.671 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:20:30,674.674 INFO    ] No camera update needed
[2026-10-20 15:20:30,676.676 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:20:30,679.679 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:20:30,686.686 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:20:30,692.692 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:20:32,734.734 INFO    ] ================================================
[2026-10-20 15:20:32,751.751 INFO    ] Launching Daemon at Tue Oct 20 15:20:32 IST 2026
[2026-10-20 15:20:32,762.762 INFO    ] ================================================
[2026-10-20 15:20:33,358.358 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:20:33
[2026-10-20 15:20:33,956.956 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:20:34,213.213 INFO    ] Initializing speech engine...
[2026-10-20 15:20:34,222.222 INFO    ] 2026-10-20 15:20:34
[2026-10-20 15:20:34,520.520 INFO    ] 2026-10-20 15:20:34
[2026-10-20 15:20:34,559.559 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:20:34,787.787 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:20:34,795.795 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:20:34,948.948 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:20:34,997.997 INFO    ] time= 20/10/2026 15:20:34
[2026-10-20 15:20:35,025.025 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:20:35,032.032 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:20:35,175.175 INFO    ] No existing commands found in stream
[2026-10-20 15:20:40,185.185 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:20:40,188.188 INFO    ] Waiting 1.02 seconds before fallback handling...
[2026-10-20 15:20:41,754.754 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:20:41,757.757 INFO    ] Checking for system updates...
[2026-10-20 15:20:41,792.792 INFO    ] 200
[2026-10-20 15:20:41,794.794 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:20:41,846.846 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:20:41,848.848 INFO    ] No update needed
[2026-10-20 15:20:41,851.851 INFO    ] Checking for camera pi updates...
[2026-10-20 15:20:41,889.889 INFO    ] 200
[2026-10-20 15:20:41,891.891 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:20:41,931.931 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:20:41,977.977 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:20:41,980.980 INFO    ] No camera update needed
[2026-10-20 15:20:41,982.982 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:20:41,984.984 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:20:41,989.989 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:20:41,994.994 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:20:44,035.035 INFO    ] ================================================
[2026-10-20 15:20:44,051.051 INFO    ] Launching Daemon at Tue Oct 20 15:20:44 IST 2026
[2026-10-20 15:20:44,062.062 INFO    ] ================================================
[2026-10-20 15:20:44,644.644 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:20:44
[2026-10-20 15:20:45,251.251 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:20:45,515.515 INFO    ] Initializing speech engine...
[2026-10-20 15:20:45,542.542 INFO    ] 2026-10-20 15:20:45
[2026-10-20 15:20:45,822.822 INFO    ] 2026-10-20 15:20:45
[2026-10-20 15:20:45,858.858 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:20:46,083.083 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:20:46,091.091 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:20:46,309.309 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:20:46,321.321 INFO    ] time= 20/10/2026 15:20:46
[2026-10-20 15:20:46,375.375 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:20:46,435.435 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:20:46,605.605 INFO    ] No existing commands found in stream
[2026-10-20 15:20:51,635.635 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:20:51,638.638 INFO    ] Waiting 0.07 seconds before fallback handling...
[2026-10-20 15:20:52,219.219 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 15:20:52,222.222 INFO    ] Checking for system updates...
[2026-10-20 15:20:52,259.259 INFO    ] 200
[2026-10-20 15:20:52,262.262 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:20:52,322.322 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:20:52,325.325 INFO    ] No update needed
[2026-10-20 15:20:52,328.328 INFO    ] Checking for camera pi updates...
[2026-10-20 15:20:52,367.367 INFO    ] 200
[2026-10-20 15:20:52,370.370 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:20:52,411.411 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:20:52,466.466 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:20:52,469.469 INFO    ] No camera update needed
[2026-10-20 15:20:52,472.472 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:20:52,474.474 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:20:52,481.481 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:20:52,487.487 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:20:54,526.526 INFO    ] ================================================
[2026-10-20 15:20:54,541.541 INFO    ] Launching Daemon at Tue Oct 20 15:20:54 IST 2026
[2026-10-20 15:20:54,552.552 INFO    ] ================================================
[2026-10-20 15:20:55,122.122 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:20:55
[2026-10-20 15:20:55,708.708 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:20:55,966.966 INFO    ] Initializing speech engine...
[2026-10-20 15:20:55,983.983 INFO    ] 2026-10-20 15:20:55
[2026-10-20 15:20:56,269.269 INFO    ] 2026-10-20 15:20:56
[2026-10-20 15:20:56,303.303 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:20:56,532.532 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:20:56,540.540 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:20:56,694.694 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:20:56,752.752 INFO    ] time= 20/10/2026 15:20:56
[2026-10-20 15:20:56,773.773 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:20:56,827.827 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:20:56,973.973 INFO    ] No existing commands found in stream
[2026-10-20 15:21:01,981.981 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:21:01,984.984 INFO    ] Waiting 0.65 seconds before fallback handling...
[2026-10-20 15:21:03,164.164 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:21:03,168.168 INFO    ] Checking for system updates...
[2026-10-20 15:21:03,209.209 INFO    ] 200
[2026-10-20 15:21:03,212.212 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:21:03,265.265 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:21:03,268.268 INFO    ] No update needed
[2026-10-20 15:21:03,271.271 INFO    ] Checking for camera pi updates...
[2026-10-20 15:21:03,311.311 INFO    ] 200
[2026-10-20 15:21:03,314.314 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:21:03,367.367 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:21:03,415.415 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:21:03,418.418 INFO    ] No camera update needed
[2026-10-20 15:21:03,420.420 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:21:03,423.423 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:21:03,428.428 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:21:03,433.433 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:21:05,475.475 INFO    ] ================================================
[2026-10-20 15:21:05,490.490 INFO    ] Launching Daemon at Tue Oct 20 15:21:05 IST 2026
[2026-10-20 15:21:05,500.500 INFO    ] ================================================
[2026-10-20 15:21:06,174.174 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:21:06
[2026-10-20 15:21:06,869.869 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:21:07,180.180 INFO    ] Initializing speech engine...
[2026-10-20 15:21:07,190.190 INFO    ] 2026-10-20 15:21:07
[2026-10-20 15:21:07,486.486 INFO    ] 2026-10-20 15:21:07
[2026-10-20 15:21:07,533.533 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:21:07,822.822 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:21:07,831.831 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:21:08,036.036 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:21:08,055.055 INFO    ] time= 20/10/2026 15:21:08
[2026-10-20 15:21:08,085.085 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:21:08,095.095 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:21:08,250.250 INFO    ] No existing commands found in stream
[2026-10-20 15:21:13,281.281 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:21:13,285.285 INFO    ] Waiting 3.55 seconds before fallback handling...
[2026-10-20 15:21:17,415.415 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:21:17,418.418 INFO    ] Checking for system updates...
[2026-10-20 15:21:17,455.455 INFO    ] 200
[2026-10-20 15:21:17,458.458 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:21:17,512.512 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:21:17,515.515 INFO    ] No update needed
[2026-10-20 15:21:17,518.518 INFO    ] Checking for camera pi updates...
[2026-10-20 15:21:17,554.554 INFO    ] 200
[2026-10-20 15:21:17,557.557 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:21:17,598.598 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:21:17,656.656 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:21:17,658.658 INFO    ] No camera update needed
[2026-10-20 15:21:17,661.661 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:21:17,663.663 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:21:17,668.668 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:21:17,673.673 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:21:19,713.713 INFO    ] ================================================
[2026-10-20 15:21:19,728.728 INFO    ] Launching Daemon at Tue Oct 20 15:21:19 IST 2026
[2026-10-20 15:21:19,739.739 INFO    ] ================================================
[2026-10-20 15:21:20,406.406 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:21:20
[2026-10-20 15:21:21,096.096 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:21:21,413.413 INFO    ] Initializing speech engine...
[2026-10-20 15:21:21,424.424 INFO    ] 2026-10-20 15:21:21
[2026-10-20 15:21:21,720.720 INFO    ] 2026-10-20 15:21:21
[2026-10-20 15:21:21,832.832 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:21:22,015.015 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:21:22,022.022 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:21:22,253.253 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:21:22,266.266 INFO    ] time= 20/10/2026 15:21:22
[2026-10-20 15:21:22,285.285 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:21:22,308.308 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:21:22,426.426 INFO    ] No existing commands found in stream
[2026-10-20 15:21:27,448.448 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:21:27,451.451 INFO    ] Waiting 1.00 seconds before fallback handling...
[2026-10-20 15:21:28,993.993 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:21:28,997.997 INFO    ] Checking for system updates...
[2026-10-20 15:21:29,033.033 INFO    ] 200
[2026-10-20 15:21:29,035.035 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:21:29,087.087 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:21:29,090.090 INFO    ] No update needed
[2026-10-20 15:21:29,092.092 INFO    ] Checking for camera pi updates...
[2026-10-20 15:21:29,125.125 INFO    ] 200
[2026-10-20 15:21:29,127.127 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:21:29,169.169 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:21:29,215.215 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:21:29,218.218 INFO    ] No camera update needed
[2026-10-20 15:21:29,220.220 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:21:29,223.223 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:21:29,228.228 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:21:29,233.233 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:21:31,272.272 INFO    ] ================================================
[2026-10-20 15:21:31,287.287 INFO    ] Launching Daemon at Tue Oct 20 15:21:31 IST 2026
[2026-10-20 15:21:31,298.298 INFO    ] ================================================
[2026-10-20 15:21:31,989.989 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:21:31
[2026-10-20 15:21:32,732.732 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:21:33,040.040 INFO    ] Initializing speech engine...
[2026-10-20 15:21:33,054.054 INFO    ] 2026-10-20 15:21:33
[2026-10-20 15:21:33,327.327 INFO    ] 2026-10-20 15:21:33
[2026-10-20 15:21:33,385.385 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:21:33,607.607 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:21:33,615.615 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:21:33,819.819 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:21:33,874.874 INFO    ] time= 20/10/2026 15:21:33
[2026-10-20 15:21:33,887.887 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:21:33,905.905 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:21:34,041.041 INFO    ] No existing commands found in stream
[2026-10-20 15:21:39,064.064 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:21:39,066.066 INFO    ] Waiting 2.12 seconds before fallback handling...
[2026-10-20 15:21:41,712.712 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:21:41,715.715 INFO    ] Checking for system updates...
[2026-10-20 15:21:41,753.753 INFO    ] 200
[2026-10-20 15:21:41,755.755 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:21:41,807.807 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:21:41,810.810 INFO    ] No update needed
[2026-10-20 15:21:41,812.812 INFO    ] Checking for camera pi updates...
[2026-10-20 15:21:41,845.845 INFO    ] 200
[2026-10-20 15:21:41,848.848 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:21:41,894.894 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:21:41,952.952 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:21:41,954.954 INFO    ] No camera update needed
[2026-10-20 15:21:41,957.957 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:21:41,959.959 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:21:41,966.966 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:21:41,971.971 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:21:44,013.013 INFO    ] ================================================
[2026-10-20 15:21:44,029.029 INFO    ] Launching Daemon at Tue Oct 20 15:21:44 IST 2026
[2026-10-20 15:21:44,040.040 INFO    ] ================================================
[2026-10-20 15:21:44,647.647 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:21:44
[2026-10-20 15:21:45,278.278 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:21:45,588.588 INFO    ] Initializing speech engine...
[2026-10-20 15:21:45,596.596 INFO    ] 2026-10-20 15:21:45
[2026-10-20 15:21:45,882.882 INFO    ] 2026-10-20 15:21:45
[2026-10-20 15:21:45,921.921 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:21:46,140.140 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:21:46,158.158 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:21:46,316.316 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:21:46,322.322 INFO    ] time= 20/10/2026 15:21:46
[2026-10-20 15:21:46,327.327 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:21:46,335.335 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:21:46,483.483 INFO    ] No existing commands found in stream
[2026-10-20 15:21:51,514.514 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:21:51,517.517 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-10-20 15:21:53,801.801 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:21:53,804.804 INFO    ] Checking for system updates...
[2026-10-20 15:21:53,839.839 INFO    ] 200
[2026-10-20 15:21:53,842.842 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:21:53,895.895 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:21:53,897.897 INFO    ] No update needed
[2026-10-20 15:21:53,904.904 INFO    ] Checking for camera pi updates...
[2026-10-20 15:21:53,937.937 INFO    ] 200
[2026-10-20 15:21:53,940.940 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:21:53,984.984 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:21:54,033.033 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:21:54,035.035 INFO    ] No camera update needed
[2026-10-20 15:21:54,038.038 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:21:54,040.040 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:21:54,045.045 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:21:54,050.050 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:21:56,090.090 INFO    ] ================================================
[2026-10-20 15:21:56,105.105 INFO    ] Launching Daemon at Tue Oct 20 15:21:56 IST 2026
[2026-10-20 15:21:56,116.116 INFO    ] ================================================
[2026-10-20 15:21:56,761.761 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:21:56
[2026-10-20 15:21:57,419.419 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:21:57,751.751 INFO    ] Initializing speech engine...
[2026-10-20 15:21:57,765.765 INFO    ] 2026-10-20 15:21:57
[2026-10-20 15:21:58,060.060 INFO    ] 2026-10-20 15:21:58
[2026-10-20 15:21:58,104.104 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:21:58,404.404 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:21:58,415.415 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:21:58,614.614 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:21:58,634.634 INFO    ] time= 20/10/2026 15:21:58
[2026-10-20 15:21:58,644.644 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:21:58,679.679 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:21:58,827.827 INFO    ] No existing commands found in stream
[2026-10-20 15:22:03,858.858 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:22:03,862.862 INFO    ] Waiting 2.83 seconds before fallback handling...
[2026-10-20 15:22:07,265.265 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:22:07,268.268 INFO    ] Checking for system updates...
[2026-10-20 15:22:07,305.305 INFO    ] 200
[2026-10-20 15:22:07,308.308 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:22:07,368.368 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:22:07,371.371 INFO    ] No update needed
[2026-10-20 15:22:07,374.374 INFO    ] Checking for camera pi updates...
[2026-10-20 15:22:07,411.411 INFO    ] 200
[2026-10-20 15:22:07,414.414 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:22:07,460.460 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:22:07,503.503 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:22:07,505.505 INFO    ] No camera update needed
[2026-10-20 15:22:07,508.508 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:22:07,511.511 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:22:07,517.517 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:22:07,523.523 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:22:09,563.563 INFO    ] ================================================
[2026-10-20 15:22:09,579.579 INFO    ] Launching Daemon at Tue Oct 20 15:22:09 IST 2026
[2026-10-20 15:22:09,590.590 INFO    ] ================================================
[2026-10-20 15:22:10,166.166 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:22:10
[2026-10-20 15:22:10,753.753 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:22:11,011.011 INFO    ] Initializing speech engine...
[2026-10-20 15:22:11,027.027 INFO    ] 2026-10-20 15:22:11
[2026-10-20 15:22:11,309.309 INFO    ] 2026-10-20 15:22:11
[2026-10-20 15:22:11,344.344 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:22:11,629.629 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:22:11,639.639 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:22:11,793.793 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:22:11,827.827 INFO    ] time= 20/10/2026 15:22:11
[2026-10-20 15:22:11,872.872 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:22:11,922.922 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:22:12,099.099 INFO    ] No existing commands found in stream
[2026-10-20 15:22:17,119.119 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:22:17,122.122 INFO    ] Waiting 0.49 seconds before fallback handling...
[2026-10-20 15:22:18,176.176 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:22:18,179.179 INFO    ] Checking for system updates...
[2026-10-20 15:22:18,214.214 INFO    ] 200
[2026-10-20 15:22:18,217.217 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:22:18,272.272 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:22:18,274.274 INFO    ] No update needed
[2026-10-20 15:22:18,277.277 INFO    ] Checking for camera pi updates...
[2026-10-20 15:22:18,310.310 INFO    ] 200
[2026-10-20 15:22:18,312.312 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:22:18,356.356 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:22:18,405.405 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:22:18,407.407 INFO    ] No camera update needed
[2026-10-20 15:22:18,410.410 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:22:18,412.412 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:22:18,418.418 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:22:18,423.423 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:22:20,463.463 INFO    ] ================================================
[2026-10-20 15:22:20,479.479 INFO    ] Launching Daemon at Tue Oct 20 15:22:20 IST 2026
[2026-10-20 15:22:20,490.490 INFO    ] ================================================
[2026-10-20 15:22:21,138.138 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:22:21
[2026-10-20 15:22:21,729.729 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:22:21,985.985 INFO    ] Initializing speech engine...
[2026-10-20 15:22:21,991.991 INFO    ] 2026-10-20 15:22:21
[2026-10-20 15:22:22,281.281 INFO    ] 2026-10-20 15:22:22
[2026-10-20 15:22:22,316.316 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:22:22,538.538 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:22:22,556.556 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:22:22,764.764 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:22:22,776.776 INFO    ] time= 20/10/2026 15:22:22
[2026-10-20 15:22:22,825.825 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:22:22,869.869 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:22:22,971.971 INFO    ] No existing commands found in stream
[2026-10-20 15:22:27,983.983 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:22:27,985.985 INFO    ] Waiting 0.39 seconds before fallback handling...
[2026-10-20 15:22:28,885.885 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:22:28,888.888 INFO    ] Checking for system updates...
[2026-10-20 15:22:28,924.924 INFO    ] 200
[2026-10-20 15:22:28,926.926 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:22:28,980.980 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:22:28,982.982 INFO    ] No update needed
[2026-10-20 15:22:28,985.985 INFO    ] Checking for camera pi updates...
[2026-10-20 15:22:29,020.020 INFO    ] 200
[2026-10-20 15:22:29,022.022 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:22:29,066.066 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:22:29,215.215 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:22:29,217.217 INFO    ] No camera update needed
[2026-10-20 15:22:29,220.220 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:22:29,222.222 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:22:29,227.227 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:22:29,232.232 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:22:31,273.273 INFO    ] ================================================
[2026-10-20 15:22:31,289.289 INFO    ] Launching Daemon at Tue Oct 20 15:22:31 IST 2026
[2026-10-20 15:22:31,299.299 INFO    ] ================================================
[2026-10-20 15:22:31,922.922 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:22:31
[2026-10-20 15:22:32,539.539 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:22:32,819.819 INFO    ] Initializing speech engine...
[2026-10-20 15:22:32,850.850 INFO    ] 2026-10-20 15:22:32
[2026-10-20 15:22:33,113.113 INFO    ] 2026-10-20 15:22:33
[2026-10-20 15:22:33,148.148 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:22:33,381.381 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:22:33,414.414 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:22:33,649.649 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:22:33,676.676 INFO    ] time= 20/10/2026 15:22:33
[2026-10-20 15:22:33,691.691 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:22:33,700.700 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:22:33,849.849 INFO    ] No existing commands found in stream
[2026-10-20 15:22:38,879.879 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:22:38,882.882 INFO    ] Waiting 2.62 seconds before fallback handling...
[2026-10-20 15:22:42,013.013 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:22:42,016.016 INFO    ] Checking for system updates...
[2026-10-20 15:22:42,057.057 INFO    ] 200
[2026-10-20 15:22:42,060.060 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:22:42,118.118 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:22:42,121.121 INFO    ] No update needed
[2026-10-20 15:22:42,123.123 INFO    ] Checking for camera pi updates...
[2026-10-20 15:22:42,157.157 INFO    ] 200
[2026-10-20 15:22:42,160.160 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:22:42,205.205 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:22:42,258.258 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:22:42,261.261 INFO    ] No camera update needed
[2026-10-20 15:22:42,263.263 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:22:42,265.265 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:22:42,271.271 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:22:42,276.276 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:22:44,315.315 INFO    ] ================================================
[2026-10-20 15:22:44,331.331 INFO    ] Launching Daemon at Tue Oct 20 15:22:44 IST 2026
[2026-10-20 15:22:44,342.342 INFO    ] ================================================
[2026-10-20 15:22:44,925.925 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:22:44
[2026-10-20 15:22:45,528.528 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:22:45,806.806 INFO    ] Initializing speech engine...
[2026-10-20 15:22:45,811.811 INFO    ] 2026-10-20 15:22:45
[2026-10-20 15:22:46,072.072 INFO    ] 2026-10-20 15:22:46
[2026-10-20 15:22:46,102.102 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:22:46,347.347 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:22:46,356.356 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:22:46,496.496 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:22:46,556.556 INFO    ] time= 20/10/2026 15:22:46
[2026-10-20 15:22:46,616.616 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:22:46,623.623 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:22:46,767.767 INFO    ] No existing commands found in stream
[2026-10-20 15:22:51,781.781 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:22:51,784.784 INFO    ] Waiting 3.99 seconds before fallback handling...
[2026-10-20 15:22:56,310.310 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:22:56,313.313 INFO    ] Checking for system updates...
[2026-10-20 15:22:56,349.349 INFO    ] 200
[2026-10-20 15:22:56,351.351 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:22:56,404.404 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:22:56,406.406 INFO    ] No update needed
[2026-10-20 15:22:56,409.409 INFO    ] Checking for camera pi updates...
[2026-10-20 15:22:56,443.443 INFO    ] 200
[2026-10-20 15:22:56,446.446 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:22:56,485.485 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:22:56,532.532 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:22:56,535.535 INFO    ] No camera update needed
[2026-10-20 15:22:56,537.537 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:22:56,539.539 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:22:56,545.545 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:22:56,550.550 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:22:58,594.594 INFO    ] ================================================
[2026-10-20 15:22:58,609.609 INFO    ] Launching Daemon at Tue Oct 20 15:22:58 IST 2026
[2026-10-20 15:22:58,620.620 INFO    ] ================================================
[2026-10-20 15:22:59,283.283 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:22:59
[2026-10-20 15:22:59,966.966 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:23:00,277.277 INFO    ] Initializing speech engine...
[2026-10-20 15:23:00,293.293 INFO    ] 2026-10-20 15:23:00
[2026-10-20 15:23:00,577.577 INFO    ] 2026-10-20 15:23:00
[2026-10-20 15:23:00,625.625 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:23:00,866.866 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:23:00,871.871 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:23:01,077.077 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:23:01,138.138 INFO    ] time= 20/10/2026 15:23:01
[2026-10-20 15:23:01,156.156 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:23:01,167.167 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:23:01,307.307 INFO    ] No existing commands found in stream
[2026-10-20 15:23:06,336.336 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:23:06,339.339 INFO    ] Waiting 3.18 seconds before fallback handling...
[2026-10-20 15:23:10,080.080 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 15:23:10,083.083 INFO    ] Checking for system updates...
[2026-10-20 15:23:10,119.119 INFO    ] 200
[2026-10-20 15:23:10,121.121 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:23:10,175.175 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:23:10,178.178 INFO    ] No update needed
[2026-10-20 15:23:10,180.180 INFO    ] Checking for camera pi updates...
[2026-10-20 15:23:10,218.218 INFO    ] 200
[2026-10-20 15:23:10,220.220 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:23:10,260.260 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:23:10,304.304 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:23:10,307.307 INFO    ] No camera update needed
[2026-10-20 15:23:10,310.310 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:23:10,312.312 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:23:10,318.318 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:23:10,323.323 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:23:12,365.365 INFO    ] ================================================
[2026-10-20 15:23:12,381.381 INFO    ] Launching Daemon at Tue Oct 20 15:23:12 IST 2026
[2026-10-20 15:23:12,392.392 INFO    ] ================================================
[2026-10-20 15:23:12,970.970 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:23:12
[2026-10-20 15:23:13,572.572 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:23:13,833.833 INFO    ] Initializing speech engine...
[2026-10-20 15:23:13,847.847 INFO    ] 2026-10-20 15:23:13
[2026-10-20 15:23:14,141.141 INFO    ] 2026-10-20 15:23:14
[2026-10-20 15:23:14,176.176 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:23:14,375.375 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:23:14,387.387 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:23:14,566.566 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:23:14,574.574 INFO    ] time= 20/10/2026 15:23:14
[2026-10-20 15:23:14,580.580 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:23:14,586.586 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:23:14,695.695 INFO    ] No existing commands found in stream
[2026-10-20 15:23:19,725.725 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:23:19,728.728 INFO    ] Waiting 3.90 seconds before fallback handling...
[2026-10-20 15:23:24,208.208 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:23:24,211.211 INFO    ] Checking for system updates...
[2026-10-20 15:23:24,251.251 INFO    ] 200
[2026-10-20 15:23:24,253.253 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:23:24,305.305 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:23:24,307.307 INFO    ] No update needed
[2026-10-20 15:23:24,310.310 INFO    ] Checking for camera pi updates...
[2026-10-20 15:23:24,346.346 INFO    ] 200
[2026-10-20 15:23:24,349.349 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:23:24,391.391 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:23:24,440.440 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:23:24,443.443 INFO    ] No camera update needed
[2026-10-20 15:23:24,446.446 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:23:24,448.448 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:23:24,455.455 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:23:24,461.461 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:23:26,502.502 INFO    ] ================================================
[2026-10-20 15:23:26,518.518 INFO    ] Launching Daemon at Tue Oct 20 15:23:26 IST 2026
[2026-10-20 15:23:26,529.529 INFO    ] ================================================
[2026-10-20 15:23:27,101.101 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:23:27
[2026-10-20 15:23:27,693.693 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:23:27,961.961 INFO    ] Initializing speech engine...
[2026-10-20 15:23:27,986.986 INFO    ] 2026-10-20 15:23:27
[2026-10-20 15:23:28,263.263 INFO    ] 2026-10-20 15:23:28
[2026-10-20 15:23:28,299.299 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:23:28,663.663 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:23:28,671.671 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:23:28,885.885 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:23:28,902.902 INFO    ] time= 20/10/2026 15:23:28
[2026-10-20 15:23:28,909.909 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:23:28,928.928 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:23:29,056.056 INFO    ] No existing commands found in stream
[2026-10-20 15:23:34,081.081 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:23:34,084.084 INFO    ] Waiting 3.43 seconds before fallback handling...
[2026-10-20 15:23:38,046.046 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:23:38,049.049 INFO    ] Checking for system updates...
[2026-10-20 15:23:38,084.084 INFO    ] 200
[2026-10-20 15:23:38,086.086 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:23:38,146.146 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:23:38,148.148 INFO    ] No update needed
[2026-10-20 15:23:38,151.151 INFO    ] Checking for camera pi updates...
[2026-10-20 15:23:38,186.186 INFO    ] 200
[2026-10-20 15:23:38,189.189 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:23:38,234.234 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:23:38,284.284 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:23:38,286.286 INFO    ] No camera update needed
[2026-10-20 15:23:38,289.289 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:23:38,291.291 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:23:38,297.297 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:23:38,302.302 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:23:40,342.342 INFO    ] ================================================
[2026-10-20 15:23:40,357.357 INFO    ] Launching Daemon at Tue Oct 20 15:23:40 IST 2026
[2026-10-20 15:23:40,368.368 INFO    ] ================================================
[2026-10-20 15:23:40,963.963 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:23:40
[2026-10-20 15:23:41,562.562 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:23:41,835.835 INFO    ] Initializing speech engine...
[2026-10-20 15:23:41,844.844 INFO    ] 2026-10-20 15:23:41
[2026-10-20 15:23:42,107.107 INFO    ] 2026-10-20 15:23:42
[2026-10-20 15:23:42,162.162 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:23:42,394.394 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:23:42,414.414 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:23:42,628.628 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:23:42,653.653 INFO    ] time= 20/10/2026 15:23:42
[2026-10-20 15:23:42,668.668 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:23:42,677.677 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:23:42,805.805 INFO    ] No existing commands found in stream
[2026-10-20 15:23:47,824.824 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:23:47,827.827 INFO    ] Waiting 2.81 seconds before fallback handling...
[2026-10-20 15:23:51,177.177 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 15:23:51,180.180 INFO    ] Checking for system updates...
[2026-10-20 15:23:51,216.216 INFO    ] 200
[2026-10-20 15:23:51,219.219 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:23:51,270.270 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:23:51,273.273 INFO    ] No update needed
[2026-10-20 15:23:51,275.275 INFO    ] Checking for camera pi updates...
[2026-10-20 15:23:51,309.309 INFO    ] 200
[2026-10-20 15:23:51,311.311 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:23:51,357.357 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:23:51,402.402 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:23:51,404.404 INFO    ] No camera update needed
[2026-10-20 15:23:51,406.406 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:23:51,409.409 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:23:51,414.414 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:23:51,419.419 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:23:53,461.461 INFO    ] ================================================
[2026-10-20 15:23:53,477.477 INFO    ] Launching Daemon at Tue Oct 20 15:23:53 IST 2026
[2026-10-20 15:23:53,487.487 INFO    ] ================================================
[2026-10-20 15:23:54,059.059 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:23:54
[2026-10-20 15:23:54,645.645 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:23:54,903.903 INFO    ] Initializing speech engine...
[2026-10-20 15:23:54,920.920 INFO    ] 2026-10-20 15:23:54
[2026-10-20 15:23:55,206.206 INFO    ] 2026-10-20 15:23:55
[2026-10-20 15:23:55,244.244 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:23:55,444.444 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:23:55,458.458 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:23:55,621.621 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:23:55,633.633 INFO    ] time= 20/10/2026 15:23:55
[2026-10-20 15:23:55,637.637 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:23:55,644.644 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:23:55,720.720 INFO    ] No existing commands found in stream
[2026-10-20 15:24:00,731.731 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:24:00,735.735 INFO    ] Waiting 1.03 seconds before fallback handling...
[2026-10-20 15:24:02,333.333 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:24:02,336.336 INFO    ] Checking for system updates...
[2026-10-20 15:24:02,378.378 INFO    ] 200
[2026-10-20 15:24:02,381.381 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:24:02,455.455 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:24:02,457.457 INFO    ] No update needed
[2026-10-20 15:24:02,460.460 INFO    ] Checking for camera pi updates...
[2026-10-20 15:24:02,504.504 INFO    ] 200
[2026-10-20 15:24:02,507.507 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:24:02,560.560 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:24:02,599.599 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:24:02,602.602 INFO    ] No camera update needed
[2026-10-20 15:24:02,605.605 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:24:02,608.608 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:24:02,615.615 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:24:02,621.621 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:24:04,663.663 INFO    ] ================================================
[2026-10-20 15:24:04,678.678 INFO    ] Launching Daemon at Tue Oct 20 15:24:04 IST 2026
[2026-10-20 15:24:04,688.688 INFO    ] ================================================
[2026-10-20 15:24:05,283.283 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:24:05
[2026-10-20 15:24:05,887.887 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:24:06,153.153 INFO    ] Initializing speech engine...
[2026-10-20 15:24:06,171.171 INFO    ] 2026-10-20 15:24:06
[2026-10-20 15:24:06,423.423 INFO    ] 2026-10-20 15:24:06
[2026-10-20 15:24:06,464.464 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:24:06,716.716 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:24:06,726.726 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:24:06,962.962 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:24:06,987.987 INFO    ] time= 20/10/2026 15:24:06
[2026-10-20 15:24:07,005.005 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:24:07,033.033 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:24:07,150.150 INFO    ] No existing commands found in stream
[2026-10-20 15:24:12,174.174 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:24:12,177.177 INFO    ] Waiting 2.38 seconds before fallback handling...
[2026-10-20 15:24:15,119.119 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 15:24:15,121.121 INFO    ] Checking for system updates...
[2026-10-20 15:24:15,161.161 INFO    ] 200
[2026-10-20 15:24:15,163.163 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:24:15,216.216 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:24:15,219.219 INFO    ] No update needed
[2026-10-20 15:24:15,222.222 INFO    ] Checking for camera pi updates...
[2026-10-20 15:24:15,256.256 INFO    ] 200
[2026-10-20 15:24:15,259.259 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:24:15,300.300 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:24:15,356.356 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:24:15,359.359 INFO    ] No camera update needed
[2026-10-20 15:24:15,361.361 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:24:15,363.363 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:24:15,369.369 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:24:15,374.374 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:24:17,417.417 INFO    ] ================================================
[2026-10-20 15:24:17,432.432 INFO    ] Launching Daemon at Tue Oct 20 15:24:17 IST 2026
[2026-10-20 15:24:17,443.443 INFO    ] ================================================
[2026-10-20 15:24:18,077.077 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:24:18
[2026-10-20 15:24:18,734.734 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:24:19,033.033 INFO    ] Initializing speech engine...
[2026-10-20 15:24:19,043.043 INFO    ] 2026-10-20 15:24:19
[2026-10-20 15:24:19,312.312 INFO    ] 2026-10-20 15:24:19
[2026-10-20 15:24:19,347.347 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:24:19,606.606 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:24:19,629.629 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:24:19,852.852 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:24:19,875.875 INFO    ] time= 20/10/2026 15:24:19
[2026-10-20 15:24:19,881.881 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:24:19,903.903 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:24:20,041.041 INFO    ] No existing commands found in stream
[2026-10-20 15:24:25,072.072 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:24:25,075.075 INFO    ] Waiting 3.93 seconds before fallback handling...
[2026-10-20 15:24:29,565.565 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:24:29,568.568 INFO    ] Checking for system updates...
[2026-10-20 15:24:29,605.605 INFO    ] 200
[2026-10-20 15:24:29,607.607 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:24:29,659.659 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:24:29,661.661 INFO    ] No update needed
[2026-10-20 15:24:29,664.664 INFO    ] Checking for camera pi updates...
[2026-10-20 15:24:29,700.700 INFO    ] 200
[2026-10-20 15:24:29,703.703 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:24:29,744.744 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:24:29,893.893 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:24:29,896.896 INFO    ] No camera update needed
[2026-10-20 15:24:29,898.898 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:24:29,900.900 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:24:29,906.906 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:24:29,911.911 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:24:31,950.950 INFO    ] ================================================
[2026-10-20 15:24:31,966.966 INFO    ] Launching Daemon at Tue Oct 20 15:24:31 IST 2026
[2026-10-20 15:24:31,977.977 INFO    ] ================================================
[2026-10-20 15:24:32,592.592 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:24:32
[2026-10-20 15:24:33,230.230 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:24:33,504.504 INFO    ] Initializing speech engine...
[2026-10-20 15:24:33,513.513 INFO    ] 2026-10-20 15:24:33
[2026-10-20 15:24:33,776.776 INFO    ] 2026-10-20 15:24:33
[2026-10-20 15:24:33,830.830 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:24:34,056.056 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:24:34,061.061 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:24:34,268.268 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:24:34,318.318 INFO    ] time= 20/10/2026 15:24:34
[2026-10-20 15:24:34,325.325 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:24:34,343.343 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:24:34,475.475 INFO    ] No existing commands found in stream
[2026-10-20 15:24:39,503.503 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:24:39,506.506 INFO    ] Waiting 3.45 seconds before fallback handling...
[2026-10-20 15:24:44,682.682 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:24:44,685.685 INFO    ] Checking for system updates...
[2026-10-20 15:24:44,721.721 INFO    ] 200
[2026-10-20 15:24:44,724.724 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:24:44,779.779 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:24:44,781.781 INFO    ] No update needed
[2026-10-20 15:24:44,783.783 INFO    ] Checking for camera pi updates...
[2026-10-20 15:24:44,820.820 INFO    ] 200
[2026-10-20 15:24:44,822.822 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:24:44,862.862 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:24:44,914.914 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:24:44,916.916 INFO    ] No camera update needed
[2026-10-20 15:24:44,918.918 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:24:44,921.921 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:24:44,927.927 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:24:44,932.932 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:24:46,970.970 INFO    ] ================================================
[2026-10-20 15:24:46,986.986 INFO    ] Launching Daemon at Tue Oct 20 15:24:46 IST 2026
[2026-10-20 15:24:47,996.996 INFO    ] ================================================
[2026-10-20 15:24:47,660.660 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:24:47
[2026-10-20 15:24:48,366.366 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:24:48,670.670 INFO    ] Initializing speech engine...
[2026-10-20 15:24:48,682.682 INFO    ] 2026-10-20 15:24:48
[2026-10-20 15:24:48,970.970 INFO    ] 2026-10-20 15:24:48
[2026-10-20 15:24:49,008.008 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:24:49,260.260 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:24:49,280.280 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:24:49,496.496 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:24:49,503.503 INFO    ] time= 20/10/2026 15:24:49
[2026-10-20 15:24:49,524.524 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:24:49,555.555 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:24:49,682.682 INFO    ] No existing commands found in stream
[2026-10-20 15:24:54,718.718 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:24:54,721.721 INFO    ] Waiting 3.39 seconds before fallback handling...
[2026-10-20 15:24:58,694.694 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:24:58,697.697 INFO    ] Checking for system updates...
[2026-10-20 15:24:58,734.734 INFO    ] 200
[2026-10-20 15:24:58,737.737 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:24:58,797.797 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:24:58,799.799 INFO    ] No update needed
[2026-10-20 15:24:58,802.802 INFO    ] Checking for camera pi updates...
[2026-10-20 15:24:58,836.836 INFO    ] 200
[2026-10-20 15:24:58,839.839 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:24:58,885.885 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:24:58,937.937 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:24:58,939.939 INFO    ] No camera update needed
[2026-10-20 15:24:58,942.942 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:24:58,945.945 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:24:58,951.951 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:24:58,958.958 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:25:01,999.999 INFO    ] ================================================
[2026-10-20 15:25:01,014.014 INFO    ] Launching Daemon at Tue Oct 20 15:25:01 IST 2026
[2026-10-20 15:25:01,025.025 INFO    ] ================================================
[2026-10-20 15:25:01,909.909 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:25:01
[2026-10-20 15:25:02,649.649 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:25:02,955.955 INFO    ] Initializing speech engine...
[2026-10-20 15:25:02,977.977 INFO    ] 2026-10-20 15:25:02
[2026-10-20 15:25:03,285.285 INFO    ] 2026-10-20 15:25:03
[2026-10-20 15:25:03,320.320 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:25:03,524.524 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:25:03,571.571 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:25:03,745.745 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:25:03,810.810 INFO    ] time= 20/10/2026 15:25:03
[2026-10-20 15:25:03,870.870 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:25:03,882.882 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:25:04,040.040 INFO    ] No existing commands found in stream
[2026-10-20 15:25:09,072.072 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:25:09,075.075 INFO    ] Waiting 2.11 seconds before fallback handling...
[2026-10-20 15:25:11,768.768 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 15:25:11,772.772 INFO    ] Checking for system updates...
[2026-10-20 15:25:11,811.811 INFO    ] 200
[2026-10-20 15:25:11,814.814 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:25:11,867.867 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:25:11,870.870 INFO    ] No update needed
[2026-10-20 15:25:11,872.872 INFO    ] Checking for camera pi updates...
[2026-10-20 15:25:11,906.906 INFO    ] 200
[2026-10-20 15:25:11,909.909 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:25:11,949.949 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:25:11,998.998 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:25:12,000.000 INFO    ] No camera update needed
[2026-10-20 15:25:12,003.003 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:25:12,005.005 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:25:12,010.010 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:25:12,015.015 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:25:14,058.058 INFO    ] ================================================
[2026-10-20 15:25:14,073.073 INFO    ] Launching Daemon at Tue Oct 20 15:25:14 IST 2026
[2026-10-20 15:25:14,083.083 INFO    ] ================================================
[2026-10-20 15:25:14,648.648 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:25:14
[2026-10-20 15:25:15,230.230 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:25:15,479.479 INFO    ] Initializing speech engine...
[2026-10-20 15:25:15,490.490 INFO    ] 2026-10-20 15:25:15
[2026-10-20 15:25:15,755.755 INFO    ] 2026-10-20 15:25:15
[2026-10-20 15:25:15,791.791 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:25:16,054.054 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:25:16,063.063 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:25:16,292.292 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:25:16,330.330 INFO    ] time= 20/10/2026 15:25:16
[2026-10-20 15:25:16,348.348 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:25:16,355.355 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:25:16,490.490 INFO    ] No existing commands found in stream
[2026-10-20 15:25:21,502.502 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:25:21,504.504 INFO    ] Waiting 0.55 seconds before fallback handling...
[2026-10-20 15:25:22,572.572 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:25:22,575.575 INFO    ] Checking for system updates...
[2026-10-20 15:25:22,610.610 INFO    ] 200
[2026-10-20 15:25:22,614.614 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:25:22,682.682 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:25:22,685.685 INFO    ] No update needed
[2026-10-20 15:25:22,688.688 INFO    ] Checking for camera pi updates...
[2026-10-20 15:25:22,723.723 INFO    ] 200
[2026-10-20 15:25:22,725.725 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:25:22,770.770 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:25:22,829.829 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:25:22,831.831 INFO    ] No camera update needed
[2026-10-20 15:25:22,834.834 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:25:22,837.837 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:25:22,843.843 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:25:22,848.848 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:25:24,888.888 INFO    ] ================================================
[2026-10-20 15:25:24,903.903 INFO    ] Launching Daemon at Tue Oct 20 15:25:24 IST 2026
[2026-10-20 15:25:24,913.913 INFO    ] ================================================
[2026-10-20 15:25:25,552.552 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:25:25
[2026-10-20 15:25:26,212.212 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:25:26,510.510 INFO    ] Initializing speech engine...
[2026-10-20 15:25:26,517.517 INFO    ] 2026-10-20 15:25:26
[2026-10-20 15:25:26,806.806 INFO    ] 2026-10-20 15:25:26
[2026-10-20 15:25:26,854.854 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:25:27,143.143 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:25:27,150.150 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:25:27,348.348 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:25:27,356.356 INFO    ] time= 20/10/2026 15:25:27
[2026-10-20 15:25:27,375.375 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:25:27,405.405 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:25:27,538.538 INFO    ] No existing commands found in stream
[2026-10-20 15:25:32,570.570 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:25:32,573.573 INFO    ] Waiting 3.72 seconds before fallback handling...
[2026-10-20 15:25:36,867.867 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:25:36,870.870 INFO    ] Checking for system updates...
[2026-10-20 15:25:36,905.905 INFO    ] 200
[2026-10-20 15:25:36,907.907 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:25:36,960.960 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:25:36,962.962 INFO    ] No update needed
[2026-10-20 15:25:36,964.964 INFO    ] Checking for camera pi updates...
[2026-10-20 15:25:36,998.998 INFO    ] 200
[2026-10-20 15:25:37,000.000 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:25:37,045.045 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:25:37,100.100 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:25:37,102.102 INFO    ] No camera update needed
[2026-10-20 15:25:37,105.105 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:25:37,107.107 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:25:37,112.112 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:25:37,117.117 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:25:39,157.157 INFO    ] ================================================
[2026-10-20 15:25:39,172.172 INFO    ] Launching Daemon at Tue Oct 20 15:25:39 IST 2026
[2026-10-20 15:25:39,182.182 INFO    ] ================================================
[2026-10-20 15:25:39,745.745 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:25:39
[2026-10-20 15:25:40,330.330 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:25:40,584.584 INFO    ] Initializing speech engine...
[2026-10-20 15:25:40,592.592 INFO    ] 2026-10-20 15:25:40
[2026-10-20 15:25:40,883.883 INFO    ] 2026-10-20 15:25:40
[2026-10-20 15:25:40,918.918 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:25:41,154.154 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:25:41,214.214 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:25:41,374.374 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:25:41,418.418 INFO    ] time= 20/10/2026 15:25:41
[2026-10-20 15:25:41,468.468 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:25:41,522.522 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:25:41,654.654 INFO    ] No existing commands found in stream
[2026-10-20 15:25:46,672.672 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:25:46,675.675 INFO    ] Waiting 1.54 seconds before fallback handling...
[2026-10-20 15:25:48,726.726 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:25:48,729.729 INFO    ] Checking for system updates...
[2026-10-20 15:25:48,768.768 INFO    ] 200
[2026-10-20 15:25:48,770.770 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:25:48,822.822 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:25:48,824.824 INFO    ] No update needed
[2026-10-20 15:25:48,827.827 INFO    ] Checking for camera pi updates...
[2026-10-20 15:25:48,860.860 INFO    ] 200
[2026-10-20 15:25:48,862.862 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:25:48,903.903 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:25:48,958.958 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:25:48,960.960 INFO    ] No camera update needed
[2026-10-20 15:25:48,963.963 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:25:48,965.965 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:25:48,970.970 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:25:48,975.975 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:25:51,017.017 INFO    ] ================================================
[2026-10-20 15:25:51,032.032 INFO    ] Launching Daemon at Tue Oct 20 15:25:51 IST 2026
[2026-10-20 15:25:51,043.043 INFO    ] ================================================
[2026-10-20 15:25:51,611.611 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:25:51
[2026-10-20 15:25:52,204.204 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:25:52,468.468 INFO    ] Initializing speech engine...
[2026-10-20 15:25:52,493.493 INFO    ] 2026-10-20 15:25:52
[2026-10-20 15:25:52,768.768 INFO    ] 2026-10-20 15:25:52
[2026-10-20 15:25:52,803.803 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:25:53,036.036 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:25:53,092.092 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:25:53,264.264 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:25:53,271.271 INFO    ] time= 20/10/2026 15:25:53
[2026-10-20 15:25:53,305.305 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:25:53,354.354 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:25:53,445.445 INFO    ] No existing commands found in stream
[2026-10-20 15:25:58,457.457 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:25:58,460.460 INFO    ] Waiting 3.53 seconds before fallback handling...
[2026-10-20 15:26:02,547.547 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:26:02,551.551 INFO    ] Checking for system updates...
[2026-10-20 15:26:02,597.597 INFO    ] 200
[2026-10-20 15:26:02,600.600 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:26:02,663.663 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:26:02,666.666 INFO    ] No update needed
[2026-10-20 15:26:02,669.669 INFO    ] Checking for camera pi updates...
[2026-10-20 15:26:02,715.715 INFO    ] 200
[2026-10-20 15:26:02,718.718 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:26:02,772.772 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:26:02,805.805 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:26:02,808.808 INFO    ] No camera update needed
[2026-10-20 15:26:02,811.811 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:26:02,814.814 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:26:02,821.821 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:26:02,827.827 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:26:04,867.867 INFO    ] ================================================
[2026-10-20 15:26:04,883.883 INFO    ] Launching Daemon at Tue Oct 20 15:26:04 IST 2026
[2026-10-20 15:26:04,894.894 INFO    ] ================================================
[2026-10-20 15:26:05,529.529 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:26:05
[2026-10-20 15:26:06,216.216 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:26:06,527.527 INFO    ] Initializing speech engine...
[2026-10-20 15:26:06,542.542 INFO    ] 2026-10-20 15:26:06
[2026-10-20 15:26:06,830.830 INFO    ] 2026-10-20 15:26:06
[2026-10-20 15:26:06,876.876 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:26:07,110.110 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:26:07,120.120 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:26:07,342.342 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:26:07,379.379 INFO    ] time= 20/10/2026 15:26:07
[2026-10-20 15:26:07,397.397 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:26:07,406.406 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:26:07,559.559 INFO    ] No existing commands found in stream
[2026-10-20 15:26:12,587.587 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:26:12,590.590 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-10-20 15:26:15,650.650 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:26:15,653.653 INFO    ] Checking for system updates...
[2026-10-20 15:26:15,690.690 INFO    ] 200
[2026-10-20 15:26:15,692.692 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:26:15,745.745 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:26:15,748.748 INFO    ] No update needed
[2026-10-20 15:26:15,750.750 INFO    ] Checking for camera pi updates...
[2026-10-20 15:26:15,788.788 INFO    ] 200
[2026-10-20 15:26:15,791.791 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:26:15,831.831 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:26:15,881.881 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:26:15,884.884 INFO    ] No camera update needed
[2026-10-20 15:26:15,886.886 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:26:15,888.888 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:26:15,894.894 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:26:15,899.899 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:26:17,938.938 INFO    ] ================================================
[2026-10-20 15:26:17,954.954 INFO    ] Launching Daemon at Tue Oct 20 15:26:17 IST 2026
[2026-10-20 15:26:17,965.965 INFO    ] ================================================
[2026-10-20 15:26:18,532.532 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:26:18
[2026-10-20 15:26:19,118.118 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:26:19,391.391 INFO    ] Initializing speech engine...
[2026-10-20 15:26:19,397.397 INFO    ] 2026-10-20 15:26:19
[2026-10-20 15:26:19,648.648 INFO    ] 2026-10-20 15:26:19
[2026-10-20 15:26:19,683.683 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:26:19,944.944 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:26:19,954.954 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:26:20,094.094 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:26:20,154.154 INFO    ] time= 20/10/2026 15:26:20
[2026-10-20 15:26:20,203.203 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:26:20,230.230 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:26:20,368.368 INFO    ] No existing commands found in stream
[2026-10-20 15:26:25,391.391 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:26:25,394.394 INFO    ] Waiting 0.84 seconds before fallback handling...
[2026-10-20 15:26:26,776.776 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 15:26:26,779.779 INFO    ] Checking for system updates...
[2026-10-20 15:26:26,815.815 INFO    ] 200
[2026-10-20 15:26:26,817.817 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:26:26,870.870 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:26:26,873.873 INFO    ] No update needed
[2026-10-20 15:26:26,875.875 INFO    ] Checking for camera pi updates...
[2026-10-20 15:26:26,909.909 INFO    ] 200
[2026-10-20 15:26:26,911.911 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:26:26,951.951 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:26:26,999.999 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:26:27,002.002 INFO    ] No camera update needed
[2026-10-20 15:26:27,004.004 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:26:27,006.006 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:26:27,012.012 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:26:27,016.016 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:26:29,060.060 INFO    ] ================================================
[2026-10-20 15:26:29,076.076 INFO    ] Launching Daemon at Tue Oct 20 15:26:29 IST 2026
[2026-10-20 15:26:29,087.087 INFO    ] ================================================
[2026-10-20 15:26:29,760.760 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:26:29
[2026-10-20 15:26:30,447.447 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:26:30,761.761 INFO    ] Initializing speech engine...
[2026-10-20 15:26:30,773.773 INFO    ] 2026-10-20 15:26:30
[2026-10-20 15:26:31,066.066 INFO    ] 2026-10-20 15:26:31
[2026-10-20 15:26:31,179.179 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:26:31,399.399 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:26:31,409.409 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:26:31,607.607 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:26:31,626.626 INFO    ] time= 20/10/2026 15:26:31
[2026-10-20 15:26:31,634.634 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:26:31,663.663 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:26:31,785.785 INFO    ] No existing commands found in stream
[2026-10-20 15:26:36,811.811 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:26:36,814.814 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-10-20 15:26:39,882.882 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 15:26:39,885.885 INFO    ] Checking for system updates...
[2026-10-20 15:26:39,922.922 INFO    ] 200
[2026-10-20 15:26:39,924.924 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:26:39,986.986 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:26:39,988.988 INFO    ] No update needed
[2026-10-20 15:26:39,991.991 INFO    ] Checking for camera pi updates...
[2026-10-20 15:26:40,025.025 INFO    ] 200
[2026-10-20 15:26:40,028.028 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:26:40,068.068 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:26:40,115.115 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:26:40,117.117 INFO    ] No camera update needed
[2026-10-20 15:26:40,119.119 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:26:40,122.122 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:26:40,127.127 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:26:40,132.132 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:26:42,172.172 INFO    ] ================================================
[2026-10-20 15:26:42,193.193 INFO    ] Launching Daemon at Tue Oct 20 15:26:42 IST 2026
[2026-10-20 15:26:42,204.204 INFO    ] ================================================
[2026-10-20 15:26:42,784.784 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:26:42
[2026-10-20 15:26:43,387.387 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:26:43,679.679 INFO    ] Initializing speech engine...
[2026-10-20 15:26:43,689.689 INFO    ] 2026-10-20 15:26:43
[2026-10-20 15:26:43,962.962 INFO    ] 2026-10-20 15:26:43
[2026-10-20 15:26:43,998.998 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:26:44,210.210 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:26:44,224.224 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:26:44,394.394 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:26:44,403.403 INFO    ] time= 20/10/2026 15:26:44
[2026-10-20 15:26:44,430.430 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:26:44,479.479 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:26:44,615.615 INFO    ] No existing commands found in stream
[2026-10-20 15:26:49,637.637 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:26:49,640.640 INFO    ] Waiting 2.57 seconds before fallback handling...
[2026-10-20 15:26:52,747.747 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:26:52,750.750 INFO    ] Checking for system updates...
[2026-10-20 15:26:52,785.785 INFO    ] 200
[2026-10-20 15:26:52,788.788 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:26:52,841.841 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:26:52,844.844 INFO    ] No update needed
[2026-10-20 15:26:52,846.846 INFO    ] Checking for camera pi updates...
[2026-10-20 15:26:52,880.880 INFO    ] 200
[2026-10-20 15:26:52,883.883 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:26:52,929.929 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:26:52,962.962 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:26:52,964.964 INFO    ] No camera update needed
[2026-10-20 15:26:52,966.966 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:26:52,969.969 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:26:52,974.974 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:26:52,980.980 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:26:55,020.020 INFO    ] ================================================
[2026-10-20 15:26:55,036.036 INFO    ] Launching Daemon at Tue Oct 20 15:26:55 IST 2026
[2026-10-20 15:26:55,047.047 INFO    ] ================================================
[2026-10-20 15:26:55,617.617 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:26:55
[2026-10-20 15:26:56,201.201 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:26:56,504.504 INFO    ] Initializing speech engine...
[2026-10-20 15:26:56,518.518 INFO    ] 2026-10-20 15:26:56
[2026-10-20 15:26:56,831.831 INFO    ] 2026-10-20 15:26:56
[2026-10-20 15:26:56,917.917 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:26:57,133.133 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:26:57,141.141 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:26:57,335.335 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:26:57,356.356 INFO    ] time= 20/10/2026 15:26:57
[2026-10-20 15:26:57,382.382 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:26:57,392.392 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:26:57,522.522 INFO    ] No existing commands found in stream
[2026-10-20 15:27:02,552.552 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:27:02,556.556 INFO    ] Waiting 1.64 seconds before fallback handling...
[2026-10-20 15:27:04,706.706 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:27:04,709.709 INFO    ] Checking for system updates...
[2026-10-20 15:27:04,747.747 INFO    ] 200
[2026-10-20 15:27:04,750.750 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:27:04,803.803 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:27:04,806.806 INFO    ] No update needed
[2026-10-20 15:27:04,808.808 INFO    ] Checking for camera pi updates...
[2026-10-20 15:27:04,842.842 INFO    ] 200
[2026-10-20 15:27:04,844.844 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:27:04,890.890 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:27:04,937.937 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:27:04,939.939 INFO    ] No camera update needed
[2026-10-20 15:27:04,942.942 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:27:04,944.944 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:27:04,949.949 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:27:04,955.955 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:27:06,993.993 INFO    ] ================================================
[2026-10-20 15:27:07,009.009 INFO    ] Launching Daemon at Tue Oct 20 15:27:07 IST 2026
[2026-10-20 15:27:07,020.020 INFO    ] ================================================
[2026-10-20 15:27:07,584.584 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:27:07
[2026-10-20 15:27:08,167.167 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:27:08,438.438 INFO    ] Initializing speech engine...
[2026-10-20 15:27:08,448.448 INFO    ] 2026-10-20 15:27:08
[2026-10-20 15:27:08,695.695 INFO    ] 2026-10-20 15:27:08
[2026-10-20 15:27:08,730.730 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:27:08,992.992 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:27:08,998.998 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:27:09,225.225 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:27:09,261.261 INFO    ] time= 20/10/2026 15:27:09
[2026-10-20 15:27:09,267.267 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:27:09,288.288 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:27:09,418.418 INFO    ] No existing commands found in stream
[2026-10-20 15:27:14,431.431 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:27:14,434.434 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-10-20 15:27:17,138.138 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:27:17,141.141 INFO    ] Checking for system updates...
[2026-10-20 15:27:17,181.181 INFO    ] 200
[2026-10-20 15:27:17,184.184 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:27:17,237.237 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:27:17,239.239 INFO    ] No update needed
[2026-10-20 15:27:17,242.242 INFO    ] Checking for camera pi updates...
[2026-10-20 15:27:17,275.275 INFO    ] 200
[2026-10-20 15:27:17,278.278 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:27:17,319.319 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:27:17,362.362 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:27:17,365.365 INFO    ] No camera update needed
[2026-10-20 15:27:17,367.367 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:27:17,369.369 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:27:17,375.375 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:27:17,380.380 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:27:19,422.422 INFO    ] ================================================
[2026-10-20 15:27:19,437.437 INFO    ] Launching Daemon at Tue Oct 20 15:27:19 IST 2026
[2026-10-20 15:27:19,448.448 INFO    ] ================================================
[2026-10-20 15:27:20,014.014 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:27:20
[2026-10-20 15:27:20,597.597 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:27:20,863.863 INFO    ] Initializing speech engine...
[2026-10-20 15:27:20,873.873 INFO    ] 2026-10-20 15:27:20
[2026-10-20 15:27:21,120.120 INFO    ] 2026-10-20 15:27:21
[2026-10-20 15:27:21,155.155 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:27:21,366.366 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:27:21,408.408 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:27:21,578.578 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:27:21,640.640 INFO    ] time= 20/10/2026 15:27:21
[2026-10-20 15:27:21,699.699 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:27:21,717.717 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:27:21,859.859 INFO    ] No existing commands found in stream
[2026-10-20 15:27:26,875.875 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:27:26,878.878 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-10-20 15:27:29,422.422 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:27:29,425.425 INFO    ] Checking for system updates...
[2026-10-20 15:27:29,465.465 INFO    ] 200
[2026-10-20 15:27:29,467.467 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:27:29,527.527 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:27:29,530.530 INFO    ] No update needed
[2026-10-20 15:27:29,532.532 INFO    ] Checking for camera pi updates...
[2026-10-20 15:27:29,570.570 INFO    ] 200
[2026-10-20 15:27:29,572.572 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:27:29,613.613 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:27:29,657.657 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:27:29,659.659 INFO    ] No camera update needed
[2026-10-20 15:27:29,662.662 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:27:29,664.664 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:27:29,669.669 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:27:29,674.674 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:27:31,713.713 INFO    ] ================================================
[2026-10-20 15:27:31,729.729 INFO    ] Launching Daemon at Tue Oct 20 15:27:31 IST 2026
[2026-10-20 15:27:31,743.743 INFO    ] ================================================
[2026-10-20 15:27:32,357.357 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:27:32
[2026-10-20 15:27:32,990.990 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:27:33,301.301 INFO    ] Initializing speech engine...
[2026-10-20 15:27:33,310.310 INFO    ] 2026-10-20 15:27:33
[2026-10-20 15:27:33,650.650 INFO    ] 2026-10-20 15:27:33
[2026-10-20 15:27:33,740.740 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:27:33,904.904 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:27:33,932.932 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:27:34,141.141 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:27:34,177.177 INFO    ] time= 20/10/2026 15:27:34
[2026-10-20 15:27:34,184.184 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:27:34,205.205 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:27:34,337.337 INFO    ] No existing commands found in stream
[2026-10-20 15:27:39,365.365 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:27:39,369.369 INFO    ] Waiting 0.54 seconds before fallback handling...
[2026-10-20 15:27:40,495.495 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 15:27:40,499.499 INFO    ] Checking for system updates...
[2026-10-20 15:27:40,535.535 INFO    ] 200
[2026-10-20 15:27:40,537.537 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:27:40,604.604 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:27:40,607.607 INFO    ] No update needed
[2026-10-20 15:27:40,609.609 INFO    ] Checking for camera pi updates...
[2026-10-20 15:27:40,647.647 INFO    ] 200
[2026-10-20 15:27:40,650.650 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:27:40,689.689 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:27:40,742.742 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:27:40,744.744 INFO    ] No camera update needed
[2026-10-20 15:27:40,747.747 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:27:40,749.749 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:27:40,754.754 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:27:40,759.759 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:27:42,798.798 INFO    ] ================================================
[2026-10-20 15:27:42,814.814 INFO    ] Launching Daemon at Tue Oct 20 15:27:42 IST 2026
[2026-10-20 15:27:42,824.824 INFO    ] ================================================
[2026-10-20 15:27:43,406.406 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:27:43
[2026-10-20 15:27:44,003.003 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:27:44,279.279 INFO    ] Initializing speech engine...
[2026-10-20 15:27:44,286.286 INFO    ] 2026-10-20 15:27:44
[2026-10-20 15:27:44,533.533 INFO    ] 2026-10-20 15:27:44
[2026-10-20 15:27:44,575.575 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:27:44,844.844 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:27:44,852.852 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:27:45,051.051 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:27:45,086.086 INFO    ] time= 20/10/2026 15:27:45
[2026-10-20 15:27:45,092.092 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:27:45,110.110 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:27:45,252.252 INFO    ] No existing commands found in stream
[2026-10-20 15:27:50,274.274 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:27:50,277.277 INFO    ] Waiting 1.00 seconds before fallback handling...
[2026-10-20 15:27:51,798.798 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 15:27:51,801.801 INFO    ] Checking for system updates...
[2026-10-20 15:27:51,841.841 INFO    ] 200
[2026-10-20 15:27:51,844.844 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:27:51,903.903 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:27:51,906.906 INFO    ] No update needed
[2026-10-20 15:27:51,908.908 INFO    ] Checking for camera pi updates...
[2026-10-20 15:27:51,942.942 INFO    ] 200
[2026-10-20 15:27:51,945.945 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:27:51,986.986 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:27:52,034.034 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:27:52,036.036 INFO    ] No camera update needed
[2026-10-20 15:27:52,039.039 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:27:52,041.041 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:27:52,047.047 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:27:52,052.052 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:27:54,092.092 INFO    ] ================================================
[2026-10-20 15:27:54,108.108 INFO    ] Launching Daemon at Tue Oct 20 15:27:54 IST 2026
[2026-10-20 15:27:54,119.119 INFO    ] ================================================
[2026-10-20 15:27:54,684.684 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:27:54
[2026-10-20 15:27:55,267.267 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:27:55,534.534 INFO    ] Initializing speech engine...
[2026-10-20 15:27:55,544.544 INFO    ] 2026-10-20 15:27:55
[2026-10-20 15:27:55,787.787 INFO    ] 2026-10-20 15:27:55
[2026-10-20 15:27:55,821.821 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:27:56,023.023 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:27:56,075.075 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:27:56,284.284 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:27:56,337.337 INFO    ] time= 20/10/2026 15:27:56
[2026-10-20 15:27:56,344.344 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:27:56,362.362 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:27:56,505.505 INFO    ] No existing commands found in stream
[2026-10-20 15:28:01,551.551 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:28:01,553.553 INFO    ] Waiting 2.26 seconds before fallback handling...
[2026-10-20 15:28:04,310.310 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:28:04,313.313 INFO    ] Checking for system updates...
[2026-10-20 15:28:04,352.352 INFO    ] 200
[2026-10-20 15:28:04,355.355 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:28:04,413.413 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:28:04,416.416 INFO    ] No update needed
[2026-10-20 15:28:04,418.418 INFO    ] Checking for camera pi updates...
[2026-10-20 15:28:04,452.452 INFO    ] 200
[2026-10-20 15:28:04,454.454 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:28:04,494.494 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:28:04,561.561 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:28:04,563.563 INFO    ] No camera update needed
[2026-10-20 15:28:04,566.566 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:28:04,568.568 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:28:04,574.574 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:28:04,579.579 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:28:06,619.619 INFO    ] ================================================
[2026-10-20 15:28:06,635.635 INFO    ] Launching Daemon at Tue Oct 20 15:28:06 IST 2026
[2026-10-20 15:28:06,645.645 INFO    ] ================================================
[2026-10-20 15:28:07,227.227 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:28:07
[2026-10-20 15:28:07,827.827 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:28:08,100.100 INFO    ] Initializing speech engine...
[2026-10-20 15:28:08,110.110 INFO    ] 2026-10-20 15:28:08
[2026-10-20 15:28:08,372.372 INFO    ] 2026-10-20 15:28:08
[2026-10-20 15:28:08,423.423 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:28:08,646.646 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:28:08,655.655 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:28:08,875.875 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:28:08,918.918 INFO    ] time= 20/10/2026 15:28:08
[2026-10-20 15:28:08,925.925 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:28:08,944.944 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:28:09,066.066 INFO    ] No existing commands found in stream
[2026-10-20 15:28:14,086.086 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:28:14,089.089 INFO    ] Waiting 2.32 seconds before fallback handling...
[2026-10-20 15:28:16,946.946 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 15:28:16,949.949 INFO    ] Checking for system updates...
[2026-10-20 15:28:16,986.986 INFO    ] 200
[2026-10-20 15:28:16,989.989 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:28:17,049.049 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:28:17,052.052 INFO    ] No update needed
[2026-10-20 15:28:17,055.055 INFO    ] Checking for camera pi updates...
[2026-10-20 15:28:17,089.089 INFO    ] 200
[2026-10-20 15:28:17,092.092 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:28:17,138.138 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:28:17,188.188 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:28:17,191.191 INFO    ] No camera update needed
[2026-10-20 15:28:17,193.193 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:28:17,196.196 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:28:17,202.202 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:28:17,208.208 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:28:19,248.248 INFO    ] ================================================
[2026-10-20 15:28:19,263.263 INFO    ] Launching Daemon at Tue Oct 20 15:28:19 IST 2026
[2026-10-20 15:28:19,274.274 INFO    ] ================================================
[2026-10-20 15:28:19,841.841 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:28:19
[2026-10-20 15:28:20,424.424 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:28:20,692.692 INFO    ] Initializing speech engine...
[2026-10-20 15:28:20,701.701 INFO    ] 2026-10-20 15:28:20
[2026-10-20 15:28:20,963.963 INFO    ] 2026-10-20 15:28:20
[2026-10-20 15:28:21,000.000 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:28:21,250.250 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:28:21,259.259 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:28:21,399.399 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:28:21,475.475 INFO    ] time= 20/10/2026 15:28:21
[2026-10-20 15:28:21,524.524 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:28:21,535.535 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:28:21,671.671 INFO    ] No existing commands found in stream
[2026-10-20 15:28:26,704.704 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:28:26,706.706 INFO    ] Waiting 3.01 seconds before fallback handling...
[2026-10-20 15:28:30,242.242 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 15:28:30,245.245 INFO    ] Checking for system updates...
[2026-10-20 15:28:30,284.284 INFO    ] 200
[2026-10-20 15:28:30,287.287 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:28:30,345.345 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:28:30,348.348 INFO    ] No update needed
[2026-10-20 15:28:30,350.350 INFO    ] Checking for camera pi updates...
[2026-10-20 15:28:30,388.388 INFO    ] 200
[2026-10-20 15:28:30,390.390 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:28:30,430.430 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:28:30,479.479 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:28:30,481.481 INFO    ] No camera update needed
[2026-10-20 15:28:30,484.484 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:28:30,486.486 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:28:30,491.491 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:28:30,496.496 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:28:32,538.538 INFO    ] ================================================
[2026-10-20 15:28:32,553.553 INFO    ] Launching Daemon at Tue Oct 20 15:28:32 IST 2026
[2026-10-20 15:28:32,564.564 INFO    ] ================================================
[2026-10-20 15:28:33,190.190 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:28:33
[2026-10-20 15:28:33,814.814 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:28:34,058.058 INFO    ] Initializing speech engine...
[2026-10-20 15:28:34,066.066 INFO    ] 2026-10-20 15:28:34
[2026-10-20 15:28:34,338.338 INFO    ] 2026-10-20 15:28:34
[2026-10-20 15:28:34,372.372 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:28:34,569.569 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:28:34,625.625 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:28:34,839.839 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:28:34,892.892 INFO    ] time= 20/10/2026 15:28:34
[2026-10-20 15:28:34,899.899 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:28:34,917.917 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:28:35,090.090 INFO    ] No existing commands found in stream
[2026-10-20 15:28:40,115.115 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:28:40,118.118 INFO    ] Waiting 0.06 seconds before fallback handling...
[2026-10-20 15:28:40,702.702 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:28:40,705.705 INFO    ] Checking for system updates...
[2026-10-20 15:28:40,746.746 INFO    ] 200
[2026-10-20 15:28:40,749.749 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:28:40,808.808 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:28:40,811.811 INFO    ] No update needed
[2026-10-20 15:28:40,814.814 INFO    ] Checking for camera pi updates...
[2026-10-20 15:28:40,852.852 INFO    ] 200
[2026-10-20 15:28:40,855.855 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:28:40,897.897 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:28:41,043.043 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:28:41,045.045 INFO    ] No camera update needed
[2026-10-20 15:28:41,048.048 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:28:41,051.051 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:28:41,057.057 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:28:41,063.063 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:28:43,104.104 INFO    ] ================================================
[2026-10-20 15:28:43,120.120 INFO    ] Launching Daemon at Tue Oct 20 15:28:43 IST 2026
[2026-10-20 15:28:43,130.130 INFO    ] ================================================
[2026-10-20 15:28:43,701.701 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:28:43
[2026-10-20 15:28:44,289.289 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:28:44,543.543 INFO    ] Initializing speech engine...
[2026-10-20 15:28:44,552.552 INFO    ] 2026-10-20 15:28:44
[2026-10-20 15:28:44,855.855 INFO    ] 2026-10-20 15:28:44
[2026-10-20 15:28:44,894.894 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:28:45,120.120 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:28:45,138.138 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:28:45,345.345 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:28:45,369.369 INFO    ] time= 20/10/2026 15:28:45
[2026-10-20 15:28:45,411.411 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:28:45,456.456 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:28:45,546.546 INFO    ] No existing commands found in stream
[2026-10-20 15:28:50,562.562 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:28:50,565.565 INFO    ] Waiting 1.70 seconds before fallback handling...
[2026-10-20 15:28:52,802.802 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:28:52,805.805 INFO    ] Checking for system updates...
[2026-10-20 15:28:52,843.843 INFO    ] 200
[2026-10-20 15:28:52,846.846 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:28:52,899.899 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:28:52,901.901 INFO    ] No update needed
[2026-10-20 15:28:52,904.904 INFO    ] Checking for camera pi updates...
[2026-10-20 15:28:52,936.936 INFO    ] 200
[2026-10-20 15:28:52,939.939 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:28:52,979.979 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:28:53,026.026 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:28:53,028.028 INFO    ] No camera update needed
[2026-10-20 15:28:53,031.031 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:28:53,033.033 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:28:53,038.038 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:28:53,043.043 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:28:55,083.083 INFO    ] ================================================
[2026-10-20 15:28:55,098.098 INFO    ] Launching Daemon at Tue Oct 20 15:28:55 IST 2026
[2026-10-20 15:28:55,108.108 INFO    ] ================================================
[2026-10-20 15:28:55,693.693 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:28:55
[2026-10-20 15:28:56,297.297 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:28:56,591.591 INFO    ] Initializing speech engine...
[2026-10-20 15:28:56,596.596 INFO    ] 2026-10-20 15:28:56
[2026-10-20 15:28:56,879.879 INFO    ] 2026-10-20 15:28:56
[2026-10-20 15:28:56,917.917 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:28:57,116.116 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:28:57,130.130 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:28:57,256.256 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:28:57,264.264 INFO    ] time= 20/10/2026 15:28:57
[2026-10-20 15:28:57,284.284 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:28:57,292.292 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:28:57,430.430 INFO    ] No existing commands found in stream
[2026-10-20 15:29:02,451.451 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:29:02,454.454 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-10-20 15:29:05,450.450 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:29:05,453.453 INFO    ] Checking for system updates...
[2026-10-20 15:29:05,491.491 INFO    ] 200
[2026-10-20 15:29:05,494.494 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:29:05,551.551 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:29:05,553.553 INFO    ] No update needed
[2026-10-20 15:29:05,556.556 INFO    ] Checking for camera pi updates...
[2026-10-20 15:29:05,593.593 INFO    ] 200
[2026-10-20 15:29:05,595.595 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:29:05,635.635 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:29:05,681.681 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:29:05,684.684 INFO    ] No camera update needed
[2026-10-20 15:29:05,686.686 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:29:05,688.688 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:29:05,694.694 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:29:05,699.699 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:29:07,740.740 INFO    ] ================================================
[2026-10-20 15:29:07,755.755 INFO    ] Launching Daemon at Tue Oct 20 15:29:07 IST 2026
[2026-10-20 15:29:07,766.766 INFO    ] ================================================
[2026-10-20 15:29:08,404.404 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:29:08
[2026-10-20 15:29:09,076.076 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:29:09,371.371 INFO    ] Initializing speech engine...
[2026-10-20 15:29:09,379.379 INFO    ] 2026-10-20 15:29:09
[2026-10-20 15:29:09,639.639 INFO    ] 2026-10-20 15:29:09
[2026-10-20 15:29:09,673.673 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:29:09,919.919 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:29:09,928.928 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:29:10,068.068 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:29:10,133.133 INFO    ] time= 20/10/2026 15:29:10
[2026-10-20 15:29:10,191.191 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:29:10,197.197 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:29:10,344.344 INFO    ] No existing commands found in stream
[2026-10-20 15:29:15,359.359 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:29:15,362.362 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-10-20 15:29:16,962.962 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:29:16,964.964 INFO    ] Checking for system updates...
[2026-10-20 15:29:17,000.000 INFO    ] 200
[2026-10-20 15:29:17,002.002 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:29:17,054.054 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:29:17,056.056 INFO    ] No update needed
[2026-10-20 15:29:17,063.063 INFO    ] Checking for camera pi updates...
[2026-10-20 15:29:17,096.096 INFO    ] 200
[2026-10-20 15:29:17,099.099 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:29:17,138.138 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:29:17,183.183 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:29:17,186.186 INFO    ] No camera update needed
[2026-10-20 15:29:17,188.188 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:29:17,191.191 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:29:17,196.196 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:29:17,201.201 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:29:19,240.240 INFO    ] ================================================
[2026-10-20 15:29:19,255.255 INFO    ] Launching Daemon at Tue Oct 20 15:29:19 IST 2026
[2026-10-20 15:29:19,266.266 INFO    ] ================================================
[2026-10-20 15:29:19,902.902 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:29:19
[2026-10-20 15:29:20,558.558 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:29:20,851.851 INFO    ] Initializing speech engine...
[2026-10-20 15:29:20,858.858 INFO    ] 2026-10-20 15:29:20
[2026-10-20 15:29:21,108.108 INFO    ] 2026-10-20 15:29:21
[2026-10-20 15:29:21,142.142 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:29:21,340.340 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:29:21,360.360 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:29:21,562.562 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:29:21,609.609 INFO    ] time= 20/10/2026 15:29:21
[2026-10-20 15:29:21,669.669 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:29:21,701.701 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:29:21,834.834 INFO    ] No existing commands found in stream
[2026-10-20 15:29:26,859.859 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:29:26,862.862 INFO    ] Waiting 3.46 seconds before fallback handling...
[2026-10-20 15:29:30,831.831 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:29:30,833.833 INFO    ] Checking for system updates...
[2026-10-20 15:29:30,869.869 INFO    ] 200
[2026-10-20 15:29:30,872.872 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:29:30,925.925 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:29:30,928.928 INFO    ] No update needed
[2026-10-20 15:29:30,930.930 INFO    ] Checking for camera pi updates...
[2026-10-20 15:29:30,964.964 INFO    ] 200
[2026-10-20 15:29:30,966.966 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:29:31,006.006 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:29:31,051.051 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:29:31,054.054 INFO    ] No camera update needed
[2026-10-20 15:29:31,056.056 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:29:31,059.059 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:29:31,064.064 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:29:31,069.069 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:29:33,112.112 INFO    ] ================================================
[2026-10-20 15:29:33,137.137 INFO    ] Launching Daemon at Tue Oct 20 15:29:33 IST 2026
[2026-10-20 15:29:33,152.152 INFO    ] ================================================
[2026-10-20 15:29:33,742.742 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:29:33
[2026-10-20 15:29:34,335.335 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:29:34,581.581 INFO    ] Initializing speech engine...
[2026-10-20 15:29:34,589.589 INFO    ] 2026-10-20 15:29:34
[2026-10-20 15:29:34,862.862 INFO    ] 2026-10-20 15:29:34
[2026-10-20 15:29:34,897.897 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:29:35,155.155 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:29:35,164.164 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:29:35,389.389 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:29:35,428.428 INFO    ] time= 20/10/2026 15:29:35
[2026-10-20 15:29:35,434.434 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:29:35,452.452 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:29:35,591.591 INFO    ] No existing commands found in stream
[2026-10-20 15:29:40,616.616 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:29:40,619.619 INFO    ] Waiting 0.52 seconds before fallback handling...
[2026-10-20 15:29:41,650.650 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:29:41,653.653 INFO    ] Checking for system updates...
[2026-10-20 15:29:41,691.691 INFO    ] 200
[2026-10-20 15:29:41,694.694 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:29:41,751.751 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:29:41,753.753 INFO    ] No update needed
[2026-10-20 15:29:41,756.756 INFO    ] Checking for camera pi updates...
[2026-10-20 15:29:41,791.791 INFO    ] 200
[2026-10-20 15:29:41,794.794 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:29:41,837.837 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:29:41,882.882 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:29:41,884.884 INFO    ] No camera update needed
[2026-10-20 15:29:41,887.887 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:29:41,889.889 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:29:41,894.894 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:29:41,899.899 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:29:43,939.939 INFO    ] ================================================
[2026-10-20 15:29:43,954.954 INFO    ] Launching Daemon at Tue Oct 20 15:29:43 IST 2026
[2026-10-20 15:29:43,964.964 INFO    ] ================================================
[2026-10-20 15:29:44,610.610 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:29:44
[2026-10-20 15:29:45,278.278 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:29:45,575.575 INFO    ] Initializing speech engine...
[2026-10-20 15:29:45,584.584 INFO    ] 2026-10-20 15:29:45
[2026-10-20 15:29:45,868.868 INFO    ] 2026-10-20 15:29:45
[2026-10-20 15:29:45,911.911 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:29:46,197.197 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:29:46,202.202 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:29:46,397.397 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:29:46,404.404 INFO    ] time= 20/10/2026 15:29:46
[2026-10-20 15:29:46,422.422 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:29:46,452.452 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:29:46,570.570 INFO    ] No existing commands found in stream
[2026-10-20 15:29:51,600.600 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:29:51,603.603 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-10-20 15:29:55,305.305 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:29:55,308.308 INFO    ] Checking for system updates...
[2026-10-20 15:29:55,344.344 INFO    ] 200
[2026-10-20 15:29:55,347.347 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:29:55,400.400 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:29:55,402.402 INFO    ] No update needed
[2026-10-20 15:29:55,405.405 INFO    ] Checking for camera pi updates...
[2026-10-20 15:29:55,441.441 INFO    ] 200
[2026-10-20 15:29:55,444.444 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:29:55,485.485 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:29:55,530.530 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:29:55,533.533 INFO    ] No camera update needed
[2026-10-20 15:29:55,535.535 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:29:55,538.538 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:29:55,544.544 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:29:55,550.550 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:29:57,589.589 INFO    ] ================================================
[2026-10-20 15:29:57,604.604 INFO    ] Launching Daemon at Tue Oct 20 15:29:57 IST 2026
[2026-10-20 15:29:57,614.614 INFO    ] ================================================
[2026-10-20 15:29:58,182.182 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:29:58
[2026-10-20 15:29:58,767.767 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:29:59,020.020 INFO    ] Initializing speech engine...
[2026-10-20 15:29:59,028.028 INFO    ] 2026-10-20 15:29:59
[2026-10-20 15:29:59,315.315 INFO    ] 2026-10-20 15:29:59
[2026-10-20 15:29:59,354.354 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:29:59,554.554 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:29:59,570.570 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:29:59,718.718 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:29:59,724.724 INFO    ] time= 20/10/2026 15:29:59
[2026-10-20 15:29:59,730.730 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:29:59,777.777 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:29:59,936.936 INFO    ] No existing commands found in stream
[2026-10-20 15:30:04,950.950 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:30:04,953.953 INFO    ] Waiting 2.42 seconds before fallback handling...
[2026-10-20 15:30:09,830.830 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:30:09,833.833 INFO    ] Checking for system updates...
[2026-10-20 15:30:09,877.877 INFO    ] 200
[2026-10-20 15:30:09,880.880 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:30:09,941.941 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:30:09,944.944 INFO    ] No update needed
[2026-10-20 15:30:09,946.946 INFO    ] Checking for camera pi updates...
[2026-10-20 15:30:09,981.981 INFO    ] 200
[2026-10-20 15:30:09,983.983 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:30:10,028.028 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:30:10,075.075 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:30:10,078.078 INFO    ] No camera update needed
[2026-10-20 15:30:10,081.081 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:30:10,083.083 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:30:10,088.088 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:30:10,093.093 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:30:12,132.132 INFO    ] ================================================
[2026-10-20 15:30:12,148.148 INFO    ] Launching Daemon at Tue Oct 20 15:30:12 IST 2026
[2026-10-20 15:30:12,159.159 INFO    ] ================================================
[2026-10-20 15:30:12,734.734 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:30:12
[2026-10-20 15:30:13,328.328 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:30:13,606.606 INFO    ] Initializing speech engine...
[2026-10-20 15:30:13,611.611 INFO    ] 2026-10-20 15:30:13
[2026-10-20 15:30:13,873.873 INFO    ] 2026-10-20 15:30:13
[2026-10-20 15:30:13,926.926 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:30:14,155.155 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:30:14,161.161 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:30:14,375.375 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:30:14,417.417 INFO    ] time= 20/10/2026 15:30:14
[2026-10-20 15:30:14,424.424 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:30:14,445.445 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:30:14,570.570 INFO    ] No existing commands found in stream
[2026-10-20 15:30:19,584.584 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:30:19,587.587 INFO    ] Waiting 2.56 seconds before fallback handling...
[2026-10-20 15:30:22,625.625 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:30:22,628.628 INFO    ] Checking for system updates...
[2026-10-20 15:30:22,663.663 INFO    ] 200
[2026-10-20 15:30:22,666.666 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:30:22,723.723 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:30:22,725.725 INFO    ] No update needed
[2026-10-20 15:30:22,728.728 INFO    ] Checking for camera pi updates...
[2026-10-20 15:30:22,761.761 INFO    ] 200
[2026-10-20 15:30:22,764.764 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:30:22,804.804 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:30:22,859.859 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:30:22,861.861 INFO    ] No camera update needed
[2026-10-20 15:30:22,864.864 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:30:22,866.866 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:30:22,871.871 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:30:22,876.876 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:30:24,915.915 INFO    ] ================================================
[2026-10-20 15:30:24,931.931 INFO    ] Launching Daemon at Tue Oct 20 15:30:24 IST 2026
[2026-10-20 15:30:24,941.941 INFO    ] ================================================
[2026-10-20 15:30:25,525.525 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:30:25
[2026-10-20 15:30:26,112.112 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:30:26,387.387 INFO    ] Initializing speech engine...
[2026-10-20 15:30:26,394.394 INFO    ] 2026-10-20 15:30:26
[2026-10-20 15:30:26,650.650 INFO    ] 2026-10-20 15:30:26
[2026-10-20 15:30:26,685.685 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:30:26,946.946 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:30:26,956.956 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:30:27,182.182 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:30:27,222.222 INFO    ] time= 20/10/2026 15:30:27
[2026-10-20 15:30:27,228.228 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:30:27,249.249 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:30:27,397.397 INFO    ] No existing commands found in stream
[2026-10-20 15:30:32,429.429 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:30:32,432.432 INFO    ] Waiting 2.05 seconds before fallback handling...
[2026-10-20 15:30:35,029.029 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 15:30:35,031.031 INFO    ] Checking for system updates...
[2026-10-20 15:30:35,067.067 INFO    ] 200
[2026-10-20 15:30:35,070.070 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:30:35,122.122 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:30:35,124.124 INFO    ] No update needed
[2026-10-20 15:30:35,127.127 INFO    ] Checking for camera pi updates...
[2026-10-20 15:30:35,160.160 INFO    ] 200
[2026-10-20 15:30:35,163.163 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:30:35,204.204 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:30:35,252.252 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:30:35,255.255 INFO    ] No camera update needed
[2026-10-20 15:30:35,257.257 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:30:35,260.260 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:30:35,265.265 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:30:35,271.271 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:30:37,310.310 INFO    ] ================================================
[2026-10-20 15:30:37,327.327 INFO    ] Launching Daemon at Tue Oct 20 15:30:37 IST 2026
[2026-10-20 15:30:37,338.338 INFO    ] ================================================
[2026-10-20 15:30:37,907.907 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:30:37
[2026-10-20 15:30:38,490.490 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:30:38,762.762 INFO    ] Initializing speech engine...
[2026-10-20 15:30:38,771.771 INFO    ] 2026-10-20 15:30:38
[2026-10-20 15:30:39,031.031 INFO    ] 2026-10-20 15:30:39
[2026-10-20 15:30:39,066.066 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:30:39,317.317 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:30:39,327.327 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:30:39,561.561 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:30:39,593.593 INFO    ] time= 20/10/2026 15:30:39
[2026-10-20 15:30:39,599.599 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:30:39,616.616 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:30:39,756.756 INFO    ] No existing commands found in stream
[2026-10-20 15:30:44,777.777 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:30:44,780.780 INFO    ] Waiting 3.13 seconds before fallback handling...
[2026-10-20 15:30:48,407.407 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:30:48,410.410 INFO    ] Checking for system updates...
[2026-10-20 15:30:48,450.450 INFO    ] 200
[2026-10-20 15:30:48,453.453 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:30:48,512.512 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:30:48,515.515 INFO    ] No update needed
[2026-10-20 15:30:48,517.517 INFO    ] Checking for camera pi updates...
[2026-10-20 15:30:48,554.554 INFO    ] 200
[2026-10-20 15:30:48,556.556 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:30:48,597.597 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:30:48,743.743 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:30:48,745.745 INFO    ] No camera update needed
[2026-10-20 15:30:48,747.747 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:30:48,750.750 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:30:48,755.755 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:30:48,760.760 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:30:50,801.801 INFO    ] ================================================
[2026-10-20 15:30:50,816.816 INFO    ] Launching Daemon at Tue Oct 20 15:30:50 IST 2026
[2026-10-20 15:30:50,827.827 INFO    ] ================================================
[2026-10-20 15:30:51,391.391 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:30:51
[2026-10-20 15:30:51,974.974 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:30:52,249.249 INFO    ] Initializing speech engine...
[2026-10-20 15:30:52,254.254 INFO    ] 2026-10-20 15:30:52
[2026-10-20 15:30:52,512.512 INFO    ] 2026-10-20 15:30:52
[2026-10-20 15:30:52,547.547 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:30:52,808.808 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:30:52,813.813 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:30:52,950.950 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:30:53,009.009 INFO    ] time= 20/10/2026 15:30:52
[2026-10-20 15:30:53,069.069 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:30:53,084.084 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:30:53,240.240 INFO    ] No existing commands found in stream
[2026-10-20 15:30:58,265.265 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:30:58,268.268 INFO    ] Waiting 2.71 seconds before fallback handling...
[2026-10-20 15:31:01,543.543 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:31:01,547.547 INFO    ] Checking for system updates...
[2026-10-20 15:31:01,607.607 INFO    ] 200
[2026-10-20 15:31:01,611.611 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:31:01,703.703 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:31:01,709.709 INFO    ] No update needed
[2026-10-20 15:31:01,713.713 INFO    ] Checking for camera pi updates...
[2026-10-20 15:31:01,769.769 INFO    ] 200
[2026-10-20 15:31:01,774.774 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:31:01,831.831 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:31:01,892.892 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:31:01,896.896 INFO    ] No camera update needed
[2026-10-20 15:31:01,900.900 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:31:01,904.904 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:31:01,919.919 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:31:01,926.926 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:31:03,971.971 INFO    ] ================================================
[2026-10-20 15:31:03,986.986 INFO    ] Launching Daemon at Tue Oct 20 15:31:03 IST 2026
[2026-10-20 15:31:04,997.997 INFO    ] ================================================
[2026-10-20 15:31:04,562.562 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:31:04
[2026-10-20 15:31:05,146.146 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:31:05,415.415 INFO    ] Initializing speech engine...
[2026-10-20 15:31:05,424.424 INFO    ] 2026-10-20 15:31:05
[2026-10-20 15:31:05,670.670 INFO    ] 2026-10-20 15:31:05
[2026-10-20 15:31:05,706.706 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:31:05,959.959 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:31:05,968.968 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:31:06,167.167 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:31:06,222.222 INFO    ] time= 20/10/2026 15:31:06
[2026-10-20 15:31:06,234.234 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:31:06,252.252 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:31:06,406.406 INFO    ] No existing commands found in stream
[2026-10-20 15:31:11,437.437 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:31:11,440.440 INFO    ] Waiting 2.28 seconds before fallback handling...
[2026-10-20 15:31:14,287.287 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:31:14,289.289 INFO    ] Checking for system updates...
[2026-10-20 15:31:14,330.330 INFO    ] 200
[2026-10-20 15:31:14,332.332 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:31:14,393.393 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:31:14,395.395 INFO    ] No update needed
[2026-10-20 15:31:14,398.398 INFO    ] Checking for camera pi updates...
[2026-10-20 15:31:14,436.436 INFO    ] 200
[2026-10-20 15:31:14,438.438 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:31:14,485.485 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:31:14,530.530 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:31:14,532.532 INFO    ] No camera update needed
[2026-10-20 15:31:14,534.534 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:31:14,536.536 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:31:14,542.542 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:31:14,547.547 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:31:16,591.591 INFO    ] ================================================
[2026-10-20 15:31:16,606.606 INFO    ] Launching Daemon at Tue Oct 20 15:31:16 IST 2026
[2026-10-20 15:31:16,617.617 INFO    ] ================================================
[2026-10-20 15:31:17,292.292 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:31:17
[2026-10-20 15:31:17,989.989 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:31:18,302.302 INFO    ] Initializing speech engine...
[2026-10-20 15:31:18,315.315 INFO    ] 2026-10-20 15:31:18
[2026-10-20 15:31:18,600.600 INFO    ] 2026-10-20 15:31:18
[2026-10-20 15:31:18,645.645 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:31:18,886.886 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:31:18,900.900 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:31:19,116.116 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:31:19,143.143 INFO    ] time= 20/10/2026 15:31:19
[2026-10-20 15:31:19,165.165 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:31:19,195.195 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:31:19,334.334 INFO    ] No existing commands found in stream
[2026-10-20 15:31:24,370.370 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:31:24,373.373 INFO    ] Waiting 3.78 seconds before fallback handling...
[2026-10-20 15:31:28,699.699 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:31:28,702.702 INFO    ] Checking for system updates...
[2026-10-20 15:31:28,739.739 INFO    ] 200
[2026-10-20 15:31:28,742.742 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:31:28,794.794 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:31:28,797.797 INFO    ] No update needed
[2026-10-20 15:31:28,799.799 INFO    ] Checking for camera pi updates...
[2026-10-20 15:31:28,833.833 INFO    ] 200
[2026-10-20 15:31:28,836.836 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:31:28,875.875 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:31:28,934.934 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:31:28,937.937 INFO    ] No camera update needed
[2026-10-20 15:31:28,939.939 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:31:28,941.941 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:31:28,947.947 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:31:28,952.952 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:31:30,991.991 INFO    ] ================================================
[2026-10-20 15:31:31,007.007 INFO    ] Launching Daemon at Tue Oct 20 15:31:31 IST 2026
[2026-10-20 15:31:31,017.017 INFO    ] ================================================
[2026-10-20 15:31:31,595.595 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:31:31
[2026-10-20 15:31:32,236.236 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:31:32,557.557 INFO    ] Initializing speech engine...
[2026-10-20 15:31:32,562.562 INFO    ] 2026-10-20 15:31:32
[2026-10-20 15:31:32,856.856 INFO    ] 2026-10-20 15:31:32
[2026-10-20 15:31:32,893.893 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:31:33,135.135 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:31:33,141.141 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:31:33,351.351 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:31:33,397.397 INFO    ] time= 20/10/2026 15:31:33
[2026-10-20 15:31:33,403.403 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:31:33,421.421 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:31:33,549.549 INFO    ] No existing commands found in stream
[2026-10-20 15:31:38,563.563 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:31:38,566.566 INFO    ] Waiting 1.38 seconds before fallback handling...
[2026-10-20 15:31:40,517.517 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:31:40,520.520 INFO    ] Checking for system updates...
[2026-10-20 15:31:40,560.560 INFO    ] 200
[2026-10-20 15:31:40,563.563 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:31:40,616.616 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:31:40,619.619 INFO    ] No update needed
[2026-10-20 15:31:40,622.622 INFO    ] Checking for camera pi updates...
[2026-10-20 15:31:40,661.661 INFO    ] 200
[2026-10-20 15:31:40,664.664 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:31:40,715.715 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:31:40,761.761 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:31:40,763.763 INFO    ] No camera update needed
[2026-10-20 15:31:40,766.766 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:31:40,768.768 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:31:40,773.773 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:31:40,778.778 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:31:42,817.817 INFO    ] ================================================
[2026-10-20 15:31:42,833.833 INFO    ] Launching Daemon at Tue Oct 20 15:31:42 IST 2026
[2026-10-20 15:31:42,844.844 INFO    ] ================================================
[2026-10-20 15:31:43,466.466 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:31:43
[2026-10-20 15:31:44,164.164 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:31:44,488.488 INFO    ] Initializing speech engine...
[2026-10-20 15:31:44,502.502 INFO    ] 2026-10-20 15:31:44
[2026-10-20 15:31:44,812.812 INFO    ] 2026-10-20 15:31:44
[2026-10-20 15:31:44,896.896 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:31:45,072.072 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:31:45,076.076 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:31:45,304.304 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:31:45,310.310 INFO    ] time= 20/10/2026 15:31:45
[2026-10-20 15:31:45,328.328 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:31:45,351.351 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:31:45,478.478 INFO    ] No existing commands found in stream
[2026-10-20 15:31:50,508.508 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:31:50,511.511 INFO    ] Waiting 3.03 seconds before fallback handling...
[2026-10-20 15:31:54,088.088 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:31:54,090.090 INFO    ] Checking for system updates...
[2026-10-20 15:31:54,126.126 INFO    ] 200
[2026-10-20 15:31:54,128.128 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:31:54,187.187 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:31:54,189.189 INFO    ] No update needed
[2026-10-20 15:31:54,192.192 INFO    ] Checking for camera pi updates...
[2026-10-20 15:31:54,225.225 INFO    ] 200
[2026-10-20 15:31:54,228.228 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:31:54,268.268 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:31:54,313.313 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:31:54,315.315 INFO    ] No camera update needed
[2026-10-20 15:31:54,317.317 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:31:54,320.320 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:31:54,325.325 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:31:54,330.330 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:31:56,371.371 INFO    ] ================================================
[2026-10-20 15:31:56,388.388 INFO    ] Launching Daemon at Tue Oct 20 15:31:56 IST 2026
[2026-10-20 15:31:56,399.399 INFO    ] ================================================
[2026-10-20 15:31:57,061.061 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:31:57
[2026-10-20 15:31:57,732.732 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:31:58,000.000 INFO    ] Initializing speech engine...
[2026-10-20 15:31:58,008.008 INFO    ] 2026-10-20 15:31:58
[2026-10-20 15:31:58,255.255 INFO    ] 2026-10-20 15:31:58
[2026-10-20 15:31:58,289.289 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:31:58,540.540 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:31:58,549.549 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:31:58,688.688 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:31:58,764.764 INFO    ] time= 20/10/2026 15:31:58
[2026-10-20 15:31:58,810.810 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:31:58,816.816 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:31:58,960.960 INFO    ] No existing commands found in stream
[2026-10-20 15:32:03,973.973 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:32:03,975.975 INFO    ] Waiting 1.33 seconds before fallback handling...
[2026-10-20 15:32:05,858.858 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:32:05,861.861 INFO    ] Checking for system updates...
[2026-10-20 15:32:05,896.896 INFO    ] 200
[2026-10-20 15:32:05,899.899 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:32:05,950.950 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:32:05,952.952 INFO    ] No update needed
[2026-10-20 15:32:05,955.955 INFO    ] Checking for camera pi updates...
[2026-10-20 15:32:05,987.987 INFO    ] 200
[2026-10-20 15:32:05,990.990 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:32:06,030.030 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:32:06,075.075 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:32:06,078.078 INFO    ] No camera update needed
[2026-10-20 15:32:06,081.081 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:32:06,083.083 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:32:06,088.088 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:32:06,093.093 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:32:08,134.134 INFO    ] ================================================
[2026-10-20 15:32:08,149.149 INFO    ] Launching Daemon at Tue Oct 20 15:32:08 IST 2026
[2026-10-20 15:32:08,160.160 INFO    ] ================================================
[2026-10-20 15:32:08,759.759 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:32:08
[2026-10-20 15:32:09,343.343 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:32:09,595.595 INFO    ] Initializing speech engine...
[2026-10-20 15:32:09,618.618 INFO    ] 2026-10-20 15:32:09
[2026-10-20 15:32:09,869.869 INFO    ] 2026-10-20 15:32:09
[2026-10-20 15:32:09,905.905 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:32:10,164.164 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:32:10,184.184 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:32:10,418.418 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:32:10,425.425 INFO    ] time= 20/10/2026 15:32:10
[2026-10-20 15:32:10,443.443 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:32:10,455.455 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:32:10,602.602 INFO    ] No existing commands found in stream
[2026-10-20 15:32:15,632.632 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:32:15,635.635 INFO    ] Waiting 2.69 seconds before fallback handling...
[2026-10-20 15:32:18,845.845 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:32:18,847.847 INFO    ] Checking for system updates...
[2026-10-20 15:32:18,882.882 INFO    ] 200
[2026-10-20 15:32:18,884.884 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:32:18,942.942 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:32:18,944.944 INFO    ] No update needed
[2026-10-20 15:32:18,947.947 INFO    ] Checking for camera pi updates...
[2026-10-20 15:32:18,983.983 INFO    ] 200
[2026-10-20 15:32:18,985.985 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:32:19,029.029 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:32:19,065.065 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:32:19,067.067 INFO    ] No camera update needed
[2026-10-20 15:32:19,070.070 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:32:19,072.072 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:32:19,077.077 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:32:19,083.083 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:32:21,125.125 INFO    ] ================================================
[2026-10-20 15:32:21,141.141 INFO    ] Launching Daemon at Tue Oct 20 15:32:21 IST 2026
[2026-10-20 15:32:21,152.152 INFO    ] ================================================
[2026-10-20 15:32:21,722.722 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:32:21
[2026-10-20 15:32:22,304.304 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:32:22,584.584 INFO    ] Initializing speech engine...
[2026-10-20 15:32:22,593.593 INFO    ] 2026-10-20 15:32:22
[2026-10-20 15:32:22,843.843 INFO    ] 2026-10-20 15:32:22
[2026-10-20 15:32:22,866.866 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:32:23,087.087 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:32:23,146.146 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:32:23,295.295 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:32:23,297.297 INFO    ] time= 20/10/2026 15:32:23
[2026-10-20 15:32:23,337.337 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:32:23,391.391 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:32:23,569.569 INFO    ] No existing commands found in stream
[2026-10-20 15:32:28,589.589 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:32:28,592.592 INFO    ] Waiting 2.06 seconds before fallback handling...
[2026-10-20 15:32:31,139.139 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:32:31,142.142 INFO    ] Checking for system updates...
[2026-10-20 15:32:31,178.178 INFO    ] 200
[2026-10-20 15:32:31,181.181 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:32:31,234.234 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:32:31,237.237 INFO    ] No update needed
[2026-10-20 15:32:31,240.240 INFO    ] Checking for camera pi updates...
[2026-10-20 15:32:31,281.281 INFO    ] 200
[2026-10-20 15:32:31,284.284 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:32:31,328.328 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:32:31,366.366 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:32:31,369.369 INFO    ] No camera update needed
[2026-10-20 15:32:31,372.372 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:32:31,375.375 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:32:31,382.382 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:32:31,390.390 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:32:33,434.434 INFO    ] ================================================
[2026-10-20 15:32:33,450.450 INFO    ] Launching Daemon at Tue Oct 20 15:32:33 IST 2026
[2026-10-20 15:32:33,461.461 INFO    ] ================================================
[2026-10-20 15:32:34,040.040 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:32:34
[2026-10-20 15:32:34,633.633 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:32:34,891.891 INFO    ] Initializing speech engine...
[2026-10-20 15:32:34,899.899 INFO    ] 2026-10-20 15:32:34
[2026-10-20 15:32:35,191.191 INFO    ] 2026-10-20 15:32:35
[2026-10-20 15:32:35,221.221 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:32:35,437.437 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:32:35,453.453 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:32:35,618.618 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:32:35,624.624 INFO    ] time= 20/10/2026 15:32:35
[2026-10-20 15:32:35,631.631 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:32:35,636.636 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:32:35,791.791 INFO    ] No existing commands found in stream
[2026-10-20 15:32:40,811.811 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:32:40,814.814 INFO    ] Waiting 0.35 seconds before fallback handling...
[2026-10-20 15:32:41,716.716 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:32:41,719.719 INFO    ] Checking for system updates...
[2026-10-20 15:32:41,754.754 INFO    ] 200
[2026-10-20 15:32:41,756.756 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:32:41,810.810 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:32:41,813.813 INFO    ] No update needed
[2026-10-20 15:32:41,815.815 INFO    ] Checking for camera pi updates...
[2026-10-20 15:32:41,848.848 INFO    ] 200
[2026-10-20 15:32:41,851.851 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:32:41,892.892 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:32:41,924.924 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:32:41,926.926 INFO    ] No camera update needed
[2026-10-20 15:32:41,929.929 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:32:41,931.931 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:32:41,936.936 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:32:41,941.941 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:32:43,980.980 INFO    ] ================================================
[2026-10-20 15:32:44,996.996 INFO    ] Launching Daemon at Tue Oct 20 15:32:43 IST 2026
[2026-10-20 15:32:44,007.007 INFO    ] ================================================
[2026-10-20 15:32:44,601.601 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:32:44
[2026-10-20 15:32:45,204.204 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:32:45,480.480 INFO    ] Initializing speech engine...
[2026-10-20 15:32:45,489.489 INFO    ] 2026-10-20 15:32:45
[2026-10-20 15:32:45,739.739 INFO    ] 2026-10-20 15:32:45
[2026-10-20 15:32:45,775.775 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:32:45,961.961 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:32:45,980.980 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:32:46,151.151 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:32:46,154.154 INFO    ] time= 20/10/2026 15:32:46
[2026-10-20 15:32:46,156.156 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:32:46,180.180 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:32:46,310.310 INFO    ] No existing commands found in stream
[2026-10-20 15:32:51,320.320 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:32:51,323.323 INFO    ] Waiting 0.84 seconds before fallback handling...
[2026-10-20 15:32:52,728.728 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:32:52,730.730 INFO    ] Checking for system updates...
[2026-10-20 15:32:52,768.768 INFO    ] 200
[2026-10-20 15:32:52,771.771 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:32:52,824.824 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:32:52,826.826 INFO    ] No update needed
[2026-10-20 15:32:52,829.829 INFO    ] Checking for camera pi updates...
[2026-10-20 15:32:52,868.868 INFO    ] 200
[2026-10-20 15:32:52,876.876 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:32:52,936.936 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:32:53,090.090 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:32:53,093.093 INFO    ] No camera update needed
[2026-10-20 15:32:53,095.095 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:32:53,098.098 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:32:53,104.104 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:32:53,110.110 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:32:55,152.152 INFO    ] ================================================
[2026-10-20 15:32:55,167.167 INFO    ] Launching Daemon at Tue Oct 20 15:32:55 IST 2026
[2026-10-20 15:32:55,178.178 INFO    ] ================================================
[2026-10-20 15:32:55,766.766 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:32:55
[2026-10-20 15:32:56,385.385 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:32:56,665.665 INFO    ] Initializing speech engine...
[2026-10-20 15:32:56,681.681 INFO    ] 2026-10-20 15:32:56
[2026-10-20 15:32:56,937.937 INFO    ] 2026-10-20 15:32:56
[2026-10-20 15:32:56,973.973 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:32:57,224.224 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:32:57,233.233 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:32:57,443.443 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:32:57,492.492 INFO    ] time= 20/10/2026 15:32:57
[2026-10-20 15:32:57,498.498 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:32:57,516.516 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:32:57,645.645 INFO    ] No existing commands found in stream
[2026-10-20 15:33:02,659.659 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:33:02,663.663 INFO    ] Waiting 3.08 seconds before fallback handling...
[2026-10-20 15:33:06,271.271 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:33:06,274.274 INFO    ] Checking for system updates...
[2026-10-20 15:33:06,310.310 INFO    ] 200
[2026-10-20 15:33:06,312.312 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:33:06,365.365 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:33:06,367.367 INFO    ] No update needed
[2026-10-20 15:33:06,370.370 INFO    ] Checking for camera pi updates...
[2026-10-20 15:33:06,404.404 INFO    ] 200
[2026-10-20 15:33:06,406.406 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:33:06,451.451 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:33:06,496.496 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:33:06,499.499 INFO    ] No camera update needed
[2026-10-20 15:33:06,501.501 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:33:06,503.503 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:33:06,509.509 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:33:06,514.514 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:33:08,553.553 INFO    ] ================================================
[2026-10-20 15:33:08,571.571 INFO    ] Launching Daemon at Tue Oct 20 15:33:08 IST 2026
[2026-10-20 15:33:08,583.583 INFO    ] ================================================
[2026-10-20 15:33:09,242.242 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:33:09
[2026-10-20 15:33:09,918.918 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:33:10,225.225 INFO    ] Initializing speech engine...
[2026-10-20 15:33:10,240.240 INFO    ] 2026-10-20 15:33:10
[2026-10-20 15:33:10,521.521 INFO    ] 2026-10-20 15:33:10
[2026-10-20 15:33:10,568.568 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:33:10,859.859 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:33:10,865.865 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:33:11,067.067 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:33:11,084.084 INFO    ] time= 20/10/2026 15:33:11
[2026-10-20 15:33:11,094.094 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:33:11,122.122 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:33:11,267.267 INFO    ] No existing commands found in stream
[2026-10-20 15:33:16,298.298 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:33:16,301.301 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-10-20 15:33:17,495.495 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:33:17,498.498 INFO    ] Checking for system updates...
[2026-10-20 15:33:17,535.535 INFO    ] 200
[2026-10-20 15:33:17,538.538 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:33:17,592.592 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:33:17,594.594 INFO    ] No update needed
[2026-10-20 15:33:17,597.597 INFO    ] Checking for camera pi updates...
[2026-10-20 15:33:17,632.632 INFO    ] 200
[2026-10-20 15:33:17,635.635 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:33:17,676.676 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:33:17,723.723 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:33:17,725.725 INFO    ] No camera update needed
[2026-10-20 15:33:17,728.728 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:33:17,731.731 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:33:17,737.737 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:33:17,743.743 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:33:19,784.784 INFO    ] ================================================
[2026-10-20 15:33:19,804.804 INFO    ] Launching Daemon at Tue Oct 20 15:33:19 IST 2026
[2026-10-20 15:33:19,815.815 INFO    ] ================================================
[2026-10-20 15:33:20,392.392 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:33:20
[2026-10-20 15:33:21,018.018 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:33:21,327.327 INFO    ] Initializing speech engine...
[2026-10-20 15:33:21,334.334 INFO    ] 2026-10-20 15:33:21
[2026-10-20 15:33:21,614.614 INFO    ] 2026-10-20 15:33:21
[2026-10-20 15:33:21,670.670 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:33:21,905.905 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:33:21,911.911 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:33:22,089.089 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:33:22,139.139 INFO    ] time= 20/10/2026 15:33:22
[2026-10-20 15:33:22,179.179 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:33:22,186.186 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:33:22,337.337 INFO    ] No existing commands found in stream
[2026-10-20 15:33:27,357.357 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:33:27,361.361 INFO    ] Waiting 2.28 seconds before fallback handling...
[2026-10-20 15:33:30,206.206 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:33:30,210.210 INFO    ] Checking for system updates...
[2026-10-20 15:33:30,246.246 INFO    ] 200
[2026-10-20 15:33:30,248.248 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:33:30,303.303 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:33:30,305.305 INFO    ] No update needed
[2026-10-20 15:33:30,307.307 INFO    ] Checking for camera pi updates...
[2026-10-20 15:33:30,341.341 INFO    ] 200
[2026-10-20 15:33:30,343.343 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:33:30,388.388 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:33:30,437.437 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:33:30,439.439 INFO    ] No camera update needed
[2026-10-20 15:33:30,442.442 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:33:30,444.444 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:33:30,449.449 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:33:30,454.454 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:33:32,500.500 INFO    ] ================================================
[2026-10-20 15:33:32,526.526 INFO    ] Launching Daemon at Tue Oct 20 15:33:32 IST 2026
[2026-10-20 15:33:32,541.541 INFO    ] ================================================
[2026-10-20 15:33:33,272.272 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:33:33
[2026-10-20 15:33:33,999.999 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:33:34,326.326 INFO    ] Initializing speech engine...
[2026-10-20 15:33:34,338.338 INFO    ] 2026-10-20 15:33:34
[2026-10-20 15:33:34,625.625 INFO    ] 2026-10-20 15:33:34
[2026-10-20 15:33:34,661.661 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:33:34,940.940 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:33:34,950.950 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:33:35,104.104 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:33:35,141.141 INFO    ] time= 20/10/2026 15:33:35
[2026-10-20 15:33:35,185.185 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:33:35,234.234 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:33:35,401.401 INFO    ] No existing commands found in stream
[2026-10-20 15:33:40,431.431 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:33:40,434.434 INFO    ] Waiting 1.03 seconds before fallback handling...
[2026-10-20 15:33:42,014.014 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:33:42,017.017 INFO    ] Checking for system updates...
[2026-10-20 15:33:42,052.052 INFO    ] 200
[2026-10-20 15:33:42,054.054 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:33:42,107.107 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:33:42,109.109 INFO    ] No update needed
[2026-10-20 15:33:42,111.111 INFO    ] Checking for camera pi updates...
[2026-10-20 15:33:42,145.145 INFO    ] 200
[2026-10-20 15:33:42,147.147 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:33:42,188.188 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:33:42,249.249 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:33:42,251.251 INFO    ] No camera update needed
[2026-10-20 15:33:42,253.253 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:33:42,255.255 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:33:42,261.261 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:33:42,266.266 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:33:44,305.305 INFO    ] ================================================
[2026-10-20 15:33:44,321.321 INFO    ] Launching Daemon at Tue Oct 20 15:33:44 IST 2026
[2026-10-20 15:33:44,333.333 INFO    ] ================================================
[2026-10-20 15:33:44,923.923 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:33:44
[2026-10-20 15:33:45,528.528 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:33:45,807.807 INFO    ] Initializing speech engine...
[2026-10-20 15:33:45,813.813 INFO    ] 2026-10-20 15:33:45
[2026-10-20 15:33:46,078.078 INFO    ] 2026-10-20 15:33:46
[2026-10-20 15:33:46,108.108 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:33:46,358.358 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:33:46,362.362 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:33:46,558.558 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:33:46,621.621 INFO    ] time= 20/10/2026 15:33:46
[2026-10-20 15:33:46,628.628 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:33:46,646.646 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:33:46,776.776 INFO    ] No existing commands found in stream
[2026-10-20 15:33:51,790.790 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:33:51,793.793 INFO    ] Waiting 0.44 seconds before fallback handling...
[2026-10-20 15:33:52,753.753 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 15:33:52,756.756 INFO    ] Checking for system updates...
[2026-10-20 15:33:52,791.791 INFO    ] 200
[2026-10-20 15:33:52,793.793 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:33:52,846.846 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:33:52,848.848 INFO    ] No update needed
[2026-10-20 15:33:52,851.851 INFO    ] Checking for camera pi updates...
[2026-10-20 15:33:52,885.885 INFO    ] 200
[2026-10-20 15:33:52,888.888 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:33:52,928.928 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:33:52,979.979 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:33:52,982.982 INFO    ] No camera update needed
[2026-10-20 15:33:52,984.984 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:33:52,986.986 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:33:52,992.992 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:33:52,997.997 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:33:55,035.035 INFO    ] ================================================
[2026-10-20 15:33:55,051.051 INFO    ] Launching Daemon at Tue Oct 20 15:33:55 IST 2026
[2026-10-20 15:33:55,061.061 INFO    ] ================================================
[2026-10-20 15:33:55,684.684 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:33:55
[2026-10-20 15:33:56,286.286 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:33:56,537.537 INFO    ] Initializing speech engine...
[2026-10-20 15:33:56,541.541 INFO    ] 2026-10-20 15:33:56
[2026-10-20 15:33:56,838.838 INFO    ] 2026-10-20 15:33:56
[2026-10-20 15:33:56,884.884 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:33:57,129.129 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:33:57,145.145 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:33:57,366.366 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:33:57,411.411 INFO    ] time= 20/10/2026 15:33:57
[2026-10-20 15:33:57,417.417 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:33:57,436.436 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:33:57,565.565 INFO    ] No existing commands found in stream
[2026-10-20 15:34:02,580.580 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:34:02,583.583 INFO    ] Waiting 3.67 seconds before fallback handling...
[2026-10-20 15:34:06,767.767 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:34:06,770.770 INFO    ] Checking for system updates...
[2026-10-20 15:34:06,809.809 INFO    ] 200
[2026-10-20 15:34:06,811.811 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:34:06,866.866 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:34:06,869.869 INFO    ] No update needed
[2026-10-20 15:34:06,871.871 INFO    ] Checking for camera pi updates...
[2026-10-20 15:34:06,907.907 INFO    ] 200
[2026-10-20 15:34:06,910.910 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:34:06,951.951 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:34:07,006.006 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:34:07,009.009 INFO    ] No camera update needed
[2026-10-20 15:34:07,012.012 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:34:07,015.015 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:34:07,021.021 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:34:07,026.026 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:34:09,067.067 INFO    ] ================================================
[2026-10-20 15:34:09,082.082 INFO    ] Launching Daemon at Tue Oct 20 15:34:09 IST 2026
[2026-10-20 15:34:09,092.092 INFO    ] ================================================
[2026-10-20 15:34:09,658.658 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:34:09
[2026-10-20 15:34:10,243.243 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:34:10,568.568 INFO    ] Initializing speech engine...
[2026-10-20 15:34:10,574.574 INFO    ] 2026-10-20 15:34:10
[2026-10-20 15:34:10,861.861 INFO    ] 2026-10-20 15:34:10
[2026-10-20 15:34:10,900.900 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:34:11,135.135 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:34:11,142.142 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:34:11,377.377 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:34:11,419.419 INFO    ] time= 20/10/2026 15:34:11
[2026-10-20 15:34:11,435.435 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:34:11,445.445 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:34:11,609.609 INFO    ] No existing commands found in stream
[2026-10-20 15:34:16,645.645 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:34:16,648.648 INFO    ] Waiting 3.13 seconds before fallback handling...
[2026-10-20 15:34:20,310.310 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:34:20,313.313 INFO    ] Checking for system updates...
[2026-10-20 15:34:20,353.353 INFO    ] 200
[2026-10-20 15:34:20,356.356 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:34:20,416.416 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:34:20,419.419 INFO    ] No update needed
[2026-10-20 15:34:20,422.422 INFO    ] Checking for camera pi updates...
[2026-10-20 15:34:20,457.457 INFO    ] 200
[2026-10-20 15:34:20,460.460 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:34:20,506.506 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:34:20,551.551 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:34:20,554.554 INFO    ] No camera update needed
[2026-10-20 15:34:20,556.556 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:34:20,559.559 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:34:20,566.566 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:34:20,572.572 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:34:22,613.613 INFO    ] ================================================
[2026-10-20 15:34:22,628.628 INFO    ] Launching Daemon at Tue Oct 20 15:34:22 IST 2026
[2026-10-20 15:34:22,639.639 INFO    ] ================================================
[2026-10-20 15:34:23,275.275 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:34:23
[2026-10-20 15:34:23,858.858 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:34:24,132.132 INFO    ] Initializing speech engine...
[2026-10-20 15:34:24,138.138 INFO    ] 2026-10-20 15:34:24
[2026-10-20 15:34:24,387.387 INFO    ] 2026-10-20 15:34:24
[2026-10-20 15:34:24,422.422 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:34:24,623.623 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:34:24,682.682 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:34:24,878.878 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:34:24,932.932 INFO    ] time= 20/10/2026 15:34:24
[2026-10-20 15:34:24,959.959 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:34:24,975.975 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:34:25,110.110 INFO    ] No existing commands found in stream
[2026-10-20 15:34:30,125.125 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:34:30,128.128 INFO    ] Waiting 3.23 seconds before fallback handling...
[2026-10-20 15:34:33,866.866 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:34:33,868.868 INFO    ] Checking for system updates...
[2026-10-20 15:34:33,908.908 INFO    ] 200
[2026-10-20 15:34:33,911.911 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:34:33,963.963 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:34:33,966.966 INFO    ] No update needed
[2026-10-20 15:34:33,969.969 INFO    ] Checking for camera pi updates...
[2026-10-20 15:34:34,006.006 INFO    ] 200
[2026-10-20 15:34:34,008.008 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:34:34,054.054 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:34:34,103.103 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:34:34,105.105 INFO    ] No camera update needed
[2026-10-20 15:34:34,108.108 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:34:34,110.110 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:34:34,115.115 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:34:34,120.120 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:34:36,159.159 INFO    ] ================================================
[2026-10-20 15:34:36,175.175 INFO    ] Launching Daemon at Tue Oct 20 15:34:36 IST 2026
[2026-10-20 15:34:36,186.186 INFO    ] ================================================
[2026-10-20 15:34:36,761.761 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:34:36
[2026-10-20 15:34:37,346.346 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:34:37,618.618 INFO    ] Initializing speech engine...
[2026-10-20 15:34:37,623.623 INFO    ] 2026-10-20 15:34:37
[2026-10-20 15:34:37,868.868 INFO    ] 2026-10-20 15:34:37
[2026-10-20 15:34:37,903.903 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:34:38,161.161 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:34:38,165.165 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:34:38,367.367 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:34:38,421.421 INFO    ] time= 20/10/2026 15:34:38
[2026-10-20 15:34:38,428.428 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:34:38,446.446 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:34:38,610.610 INFO    ] No existing commands found in stream
[2026-10-20 15:34:43,640.640 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:34:43,643.643 INFO    ] Waiting 0.35 seconds before fallback handling...
[2026-10-20 15:34:44,501.501 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:34:44,504.504 INFO    ] Checking for system updates...
[2026-10-20 15:34:44,541.541 INFO    ] 200
[2026-10-20 15:34:44,543.543 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:34:44,595.595 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:34:44,598.598 INFO    ] No update needed
[2026-10-20 15:34:44,601.601 INFO    ] Checking for camera pi updates...
[2026-10-20 15:34:44,635.635 INFO    ] 200
[2026-10-20 15:34:44,637.637 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:34:44,683.683 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:34:44,729.729 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:34:44,732.732 INFO    ] No camera update needed
[2026-10-20 15:34:44,734.734 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:34:44,736.736 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:34:44,742.742 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:34:44,747.747 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:34:46,787.787 INFO    ] ================================================
[2026-10-20 15:34:46,802.802 INFO    ] Launching Daemon at Tue Oct 20 15:34:46 IST 2026
[2026-10-20 15:34:46,813.813 INFO    ] ================================================
[2026-10-20 15:34:47,381.381 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:34:47
[2026-10-20 15:34:47,964.964 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:34:48,232.232 INFO    ] Initializing speech engine...
[2026-10-20 15:34:48,241.241 INFO    ] 2026-10-20 15:34:48
[2026-10-20 15:34:48,492.492 INFO    ] 2026-10-20 15:34:48
[2026-10-20 15:34:48,527.527 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:34:48,741.741 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:34:48,804.804 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:34:49,048.048 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:34:49,080.080 INFO    ] time= 20/10/2026 15:34:49
[2026-10-20 15:34:49,095.095 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:34:49,104.104 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:34:49,231.231 INFO    ] No existing commands found in stream
[2026-10-20 15:34:54,252.252 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:34:54,254.254 INFO    ] Waiting 3.48 seconds before fallback handling...
[2026-10-20 15:34:58,300.300 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:34:58,303.303 INFO    ] Checking for system updates...
[2026-10-20 15:34:58,340.340 INFO    ] 200
[2026-10-20 15:34:58,343.343 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:34:58,397.397 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:34:58,400.400 INFO    ] No update needed
[2026-10-20 15:34:58,403.403 INFO    ] Checking for camera pi updates...
[2026-10-20 15:34:58,446.446 INFO    ] 200
[2026-10-20 15:34:58,449.449 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:34:58,489.489 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:34:58,637.637 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:34:58,639.639 INFO    ] No camera update needed
[2026-10-20 15:34:58,642.642 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:34:58,644.644 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:34:58,649.649 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:34:58,654.654 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:35:00,696.696 INFO    ] ================================================
[2026-10-20 15:35:00,711.711 INFO    ] Launching Daemon at Tue Oct 20 15:35:00 IST 2026
[2026-10-20 15:35:00,721.721 INFO    ] ================================================
[2026-10-20 15:35:01,293.293 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:35:01
[2026-10-20 15:35:02,196.196 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:35:02,618.618 INFO    ] Initializing speech engine...
[2026-10-20 15:35:02,626.626 INFO    ] 2026-10-20 15:35:02
[2026-10-20 15:35:02,974.974 INFO    ] 2026-10-20 15:35:02
[2026-10-20 15:35:03,034.034 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:35:03,285.285 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:35:03,293.293 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:35:03,485.485 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:35:03,514.514 INFO    ] time= 20/10/2026 15:35:03
[2026-10-20 15:35:03,540.540 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:35:03,569.569 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:35:03,694.694 INFO    ] No existing commands found in stream
[2026-10-20 15:35:08,725.725 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:35:08,728.728 INFO    ] Waiting 2.98 seconds before fallback handling...
[2026-10-20 15:35:12,253.253 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:35:12,255.255 INFO    ] Checking for system updates...
[2026-10-20 15:35:12,292.292 INFO    ] 200
[2026-10-20 15:35:12,295.295 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:35:12,354.354 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:35:12,357.357 INFO    ] No update needed
[2026-10-20 15:35:12,360.360 INFO    ] Checking for camera pi updates...
[2026-10-20 15:35:12,397.397 INFO    ] 200
[2026-10-20 15:35:12,400.400 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:35:12,445.445 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:35:12,492.492 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:35:12,494.494 INFO    ] No camera update needed
[2026-10-20 15:35:12,497.497 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:35:12,500.500 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:35:12,506.506 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:35:12,512.512 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:35:14,551.551 INFO    ] ================================================
[2026-10-20 15:35:14,567.567 INFO    ] Launching Daemon at Tue Oct 20 15:35:14 IST 2026
[2026-10-20 15:35:14,578.578 INFO    ] ================================================
[2026-10-20 15:35:15,146.146 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:35:15
[2026-10-20 15:35:15,733.733 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:35:15,982.982 INFO    ] Initializing speech engine...
[2026-10-20 15:35:16,004.004 INFO    ] 2026-10-20 15:35:15
[2026-10-20 15:35:16,256.256 INFO    ] 2026-10-20 15:35:16
[2026-10-20 15:35:16,291.291 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:35:16,543.543 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:35:16,552.552 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:35:16,773.773 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:35:16,809.809 INFO    ] time= 20/10/2026 15:35:16
[2026-10-20 15:35:16,815.815 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:35:16,836.836 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:35:16,965.965 INFO    ] No existing commands found in stream
[2026-10-20 15:35:21,988.988 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:35:21,991.991 INFO    ] Waiting 1.35 seconds before fallback handling...
[2026-10-20 15:35:23,873.873 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:35:23,875.875 INFO    ] Checking for system updates...
[2026-10-20 15:35:23,914.914 INFO    ] 200
[2026-10-20 15:35:23,916.916 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:35:23,968.968 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:35:23,971.971 INFO    ] No update needed
[2026-10-20 15:35:23,973.973 INFO    ] Checking for camera pi updates...
[2026-10-20 15:35:24,010.010 INFO    ] 200
[2026-10-20 15:35:24,013.013 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:35:24,052.052 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:35:24,096.096 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:35:24,098.098 INFO    ] No camera update needed
[2026-10-20 15:35:24,101.101 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:35:24,103.103 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:35:24,108.108 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:35:24,113.113 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:35:26,154.154 INFO    ] ================================================
[2026-10-20 15:35:26,170.170 INFO    ] Launching Daemon at Tue Oct 20 15:35:26 IST 2026
[2026-10-20 15:35:26,182.182 INFO    ] ================================================
[2026-10-20 15:35:26,748.748 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:35:26
[2026-10-20 15:35:27,332.332 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:35:27,599.599 INFO    ] Initializing speech engine...
[2026-10-20 15:35:27,608.608 INFO    ] 2026-10-20 15:35:27
[2026-10-20 15:35:27,853.853 INFO    ] 2026-10-20 15:35:27
[2026-10-20 15:35:27,887.887 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:35:28,084.084 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:35:28,142.142 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:35:28,387.387 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:35:28,406.406 INFO    ] time= 20/10/2026 15:35:28
[2026-10-20 15:35:28,421.421 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:35:28,430.430 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:35:28,563.563 INFO    ] No existing commands found in stream
[2026-10-20 15:35:33,586.586 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:35:33,589.589 INFO    ] Waiting 1.42 seconds before fallback handling...
[2026-10-20 15:35:35,548.548 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:35:35,551.551 INFO    ] Checking for system updates...
[2026-10-20 15:35:35,590.590 INFO    ] 200
[2026-10-20 15:35:35,592.592 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:35:35,649.649 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:35:35,651.651 INFO    ] No update needed
[2026-10-20 15:35:35,654.654 INFO    ] Checking for camera pi updates...
[2026-10-20 15:35:35,687.687 INFO    ] 200
[2026-10-20 15:35:35,690.690 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:35:35,735.735 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:35:35,791.791 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:35:35,794.794 INFO    ] No camera update needed
[2026-10-20 15:35:35,796.796 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:35:35,798.798 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:35:35,804.804 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:35:35,809.809 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:35:37,849.849 INFO    ] ================================================
[2026-10-20 15:35:37,864.864 INFO    ] Launching Daemon at Tue Oct 20 15:35:37 IST 2026
[2026-10-20 15:35:37,875.875 INFO    ] ================================================
[2026-10-20 15:35:38,447.447 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:35:38
[2026-10-20 15:35:39,030.030 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:35:39,283.283 INFO    ] Initializing speech engine...
[2026-10-20 15:35:39,290.290 INFO    ] 2026-10-20 15:35:39
[2026-10-20 15:35:39,576.576 INFO    ] 2026-10-20 15:35:39
[2026-10-20 15:35:39,614.614 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:35:39,830.830 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:35:39,858.858 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:35:40,051.051 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:35:40,079.079 INFO    ] time= 20/10/2026 15:35:40
[2026-10-20 15:35:40,138.138 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:35:40,193.193 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:35:40,352.352 INFO    ] No existing commands found in stream
[2026-10-20 15:35:45,377.377 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:35:45,380.380 INFO    ] Waiting 1.17 seconds before fallback handling...
[2026-10-20 15:35:47,072.072 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 15:35:47,074.074 INFO    ] Checking for system updates...
[2026-10-20 15:35:47,110.110 INFO    ] 200
[2026-10-20 15:35:47,112.112 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:35:47,165.165 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:35:47,167.167 INFO    ] No update needed
[2026-10-20 15:35:47,170.170 INFO    ] Checking for camera pi updates...
[2026-10-20 15:35:47,204.204 INFO    ] 200
[2026-10-20 15:35:47,206.206 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:35:47,247.247 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:35:47,290.290 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:35:47,292.292 INFO    ] No camera update needed
[2026-10-20 15:35:47,295.295 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:35:47,297.297 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:35:47,302.302 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:35:47,307.307 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:35:49,346.346 INFO    ] ================================================
[2026-10-20 15:35:49,361.361 INFO    ] Launching Daemon at Tue Oct 20 15:35:49 IST 2026
[2026-10-20 15:35:49,372.372 INFO    ] ================================================
[2026-10-20 15:35:49,979.979 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:35:49
[2026-10-20 15:35:50,564.564 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:35:50,835.835 INFO    ] Initializing speech engine...
[2026-10-20 15:35:50,845.845 INFO    ] 2026-10-20 15:35:50
[2026-10-20 15:35:51,095.095 INFO    ] 2026-10-20 15:35:51
[2026-10-20 15:35:51,130.130 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:35:51,387.387 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:35:51,397.397 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:35:51,621.621 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:35:51,660.660 INFO    ] time= 20/10/2026 15:35:51
[2026-10-20 15:35:51,666.666 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:35:51,681.681 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:35:51,812.812 INFO    ] No existing commands found in stream
[2026-10-20 15:35:56,828.828 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:35:56,831.831 INFO    ] Waiting 1.63 seconds before fallback handling...
[2026-10-20 15:35:59,003.003 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:35:59,005.005 INFO    ] Checking for system updates...
[2026-10-20 15:35:59,041.041 INFO    ] 200
[2026-10-20 15:35:59,044.044 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:35:59,096.096 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:35:59,098.098 INFO    ] No update needed
[2026-10-20 15:35:59,101.101 INFO    ] Checking for camera pi updates...
[2026-10-20 15:35:59,134.134 INFO    ] 200
[2026-10-20 15:35:59,136.136 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:35:59,176.176 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:35:59,221.221 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:35:59,223.223 INFO    ] No camera update needed
[2026-10-20 15:35:59,226.226 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:35:59,228.228 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:35:59,234.234 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:35:59,239.239 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:36:01,278.278 INFO    ] ================================================
[2026-10-20 15:36:01,293.293 INFO    ] Launching Daemon at Tue Oct 20 15:36:01 IST 2026
[2026-10-20 15:36:01,304.304 INFO    ] ================================================
[2026-10-20 15:36:01,872.872 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:36:01
[2026-10-20 15:36:02,668.668 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:36:03,002.002 INFO    ] Initializing speech engine...
[2026-10-20 15:36:03,011.011 INFO    ] 2026-10-20 15:36:03
[2026-10-20 15:36:03,294.294 INFO    ] 2026-10-20 15:36:03
[2026-10-20 15:36:03,331.331 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:36:03,618.618 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:36:03,627.627 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:36:03,779.779 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:36:03,816.816 INFO    ] time= 20/10/2026 15:36:03
[2026-10-20 15:36:03,867.867 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:36:03,921.921 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:36:04,057.057 INFO    ] No existing commands found in stream
[2026-10-20 15:36:09,085.085 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:36:09,087.087 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-10-20 15:36:10,651.651 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 15:36:10,653.653 INFO    ] Checking for system updates...
[2026-10-20 15:36:10,691.691 INFO    ] 200
[2026-10-20 15:36:10,693.693 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:36:10,749.749 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:36:10,751.751 INFO    ] No update needed
[2026-10-20 15:36:10,753.753 INFO    ] Checking for camera pi updates...
[2026-10-20 15:36:10,786.786 INFO    ] 200
[2026-10-20 15:36:10,788.788 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:36:10,829.829 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:36:10,882.882 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:36:10,884.884 INFO    ] No camera update needed
[2026-10-20 15:36:10,886.886 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:36:10,889.889 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:36:10,894.894 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:36:10,899.899 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:36:12,939.939 INFO    ] ================================================
[2026-10-20 15:36:12,955.955 INFO    ] Launching Daemon at Tue Oct 20 15:36:12 IST 2026
[2026-10-20 15:36:12,966.966 INFO    ] ================================================
[2026-10-20 15:36:13,588.588 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:36:13
[2026-10-20 15:36:14,191.191 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:36:14,438.438 INFO    ] Initializing speech engine...
[2026-10-20 15:36:14,444.444 INFO    ] 2026-10-20 15:36:14
[2026-10-20 15:36:14,716.716 INFO    ] 2026-10-20 15:36:14
[2026-10-20 15:36:14,753.753 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:36:14,955.955 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:36:15,011.011 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:36:15,158.158 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:36:15,223.223 INFO    ] time= 20/10/2026 15:36:15
[2026-10-20 15:36:15,277.277 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:36:15,292.292 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:36:15,442.442 INFO    ] No existing commands found in stream
[2026-10-20 15:36:20,459.459 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:36:20,462.462 INFO    ] Waiting 2.88 seconds before fallback handling...
[2026-10-20 15:36:23,891.891 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:36:23,894.894 INFO    ] Checking for system updates...
[2026-10-20 15:36:23,930.930 INFO    ] 200
[2026-10-20 15:36:23,932.932 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:36:23,988.988 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:36:23,990.990 INFO    ] No update needed
[2026-10-20 15:36:23,993.993 INFO    ] Checking for camera pi updates...
[2026-10-20 15:36:24,028.028 INFO    ] 200
[2026-10-20 15:36:24,030.030 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:36:24,070.070 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:36:24,119.119 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:36:24,121.121 INFO    ] No camera update needed
[2026-10-20 15:36:24,124.124 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:36:24,126.126 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:36:24,131.131 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:36:24,136.136 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:36:26,176.176 INFO    ] ================================================
[2026-10-20 15:36:26,192.192 INFO    ] Launching Daemon at Tue Oct 20 15:36:26 IST 2026
[2026-10-20 15:36:26,203.203 INFO    ] ================================================
[2026-10-20 15:36:26,768.768 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:36:26
[2026-10-20 15:36:27,351.351 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:36:27,599.599 INFO    ] Initializing speech engine...
[2026-10-20 15:36:27,614.614 INFO    ] 2026-10-20 15:36:27
[2026-10-20 15:36:27,877.877 INFO    ] 2026-10-20 15:36:27
[2026-10-20 15:36:27,913.913 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:36:28,169.169 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:36:28,178.178 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:36:28,381.381 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:36:28,426.426 INFO    ] time= 20/10/2026 15:36:28
[2026-10-20 15:36:28,447.447 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:36:28,462.462 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:36:28,599.599 INFO    ] No existing commands found in stream
[2026-10-20 15:36:33,611.611 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:36:33,613.613 INFO    ] Waiting 0.18 seconds before fallback handling...
[2026-10-20 15:36:34,303.303 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:36:34,305.305 INFO    ] Checking for system updates...
[2026-10-20 15:36:34,340.340 INFO    ] 200
[2026-10-20 15:36:34,343.343 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:36:34,398.398 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:36:34,401.401 INFO    ] No update needed
[2026-10-20 15:36:34,403.403 INFO    ] Checking for camera pi updates...
[2026-10-20 15:36:34,438.438 INFO    ] 200
[2026-10-20 15:36:34,440.440 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:36:34,481.481 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:36:34,532.532 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:36:34,535.535 INFO    ] No camera update needed
[2026-10-20 15:36:34,537.537 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:36:34,539.539 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:36:34,544.544 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:36:34,549.549 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:36:36,590.590 INFO    ] ================================================
[2026-10-20 15:36:36,605.605 INFO    ] Launching Daemon at Tue Oct 20 15:36:36 IST 2026
[2026-10-20 15:36:36,616.616 INFO    ] ================================================
[2026-10-20 15:36:37,210.210 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:36:37
[2026-10-20 15:36:37,793.793 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:36:38,053.053 INFO    ] Initializing speech engine...
[2026-10-20 15:36:38,073.073 INFO    ] 2026-10-20 15:36:38
[2026-10-20 15:36:38,323.323 INFO    ] 2026-10-20 15:36:38
[2026-10-20 15:36:38,358.358 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:36:38,616.616 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:36:38,625.625 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:36:38,763.763 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:36:38,833.833 INFO    ] time= 20/10/2026 15:36:38
[2026-10-20 15:36:38,887.887 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:36:38,901.901 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:36:39,076.076 INFO    ] No existing commands found in stream
[2026-10-20 15:36:44,101.101 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:36:44,104.104 INFO    ] Waiting 1.14 seconds before fallback handling...
[2026-10-20 15:36:45,778.778 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:36:45,781.781 INFO    ] Checking for system updates...
[2026-10-20 15:36:45,818.818 INFO    ] 200
[2026-10-20 15:36:45,820.820 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:36:45,871.871 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:36:45,874.874 INFO    ] No update needed
[2026-10-20 15:36:45,876.876 INFO    ] Checking for camera pi updates...
[2026-10-20 15:36:45,909.909 INFO    ] 200
[2026-10-20 15:36:45,912.912 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:36:45,952.952 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:36:46,007.007 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:36:46,009.009 INFO    ] No camera update needed
[2026-10-20 15:36:46,012.012 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:36:46,014.014 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:36:46,019.019 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:36:46,024.024 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:36:48,064.064 INFO    ] ================================================
[2026-10-20 15:36:48,079.079 INFO    ] Launching Daemon at Tue Oct 20 15:36:48 IST 2026
[2026-10-20 15:36:48,090.090 INFO    ] ================================================
[2026-10-20 15:36:48,656.656 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:36:48
[2026-10-20 15:36:49,255.255 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:36:49,530.530 INFO    ] Initializing speech engine...
[2026-10-20 15:36:49,536.536 INFO    ] 2026-10-20 15:36:49
[2026-10-20 15:36:49,782.782 INFO    ] 2026-10-20 15:36:49
[2026-10-20 15:36:49,818.818 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:36:50,075.075 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:36:50,085.085 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:36:50,222.222 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:36:50,291.291 INFO    ] time= 20/10/2026 15:36:50
[2026-10-20 15:36:50,349.349 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:36:50,359.359 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:36:50,531.531 INFO    ] No existing commands found in stream
[2026-10-20 15:36:55,561.561 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:36:55,564.564 INFO    ] Waiting 1.12 seconds before fallback handling...
[2026-10-20 15:36:57,230.230 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:36:57,233.233 INFO    ] Checking for system updates...
[2026-10-20 15:36:57,269.269 INFO    ] 200
[2026-10-20 15:36:57,271.271 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:36:57,324.324 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:36:57,326.326 INFO    ] No update needed
[2026-10-20 15:36:57,329.329 INFO    ] Checking for camera pi updates...
[2026-10-20 15:36:57,369.369 INFO    ] 200
[2026-10-20 15:36:57,371.371 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:36:57,415.415 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:36:57,467.467 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:36:57,470.470 INFO    ] No camera update needed
[2026-10-20 15:36:57,472.472 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:36:57,474.474 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:36:57,480.480 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:36:57,485.485 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:36:59,529.529 INFO    ] ================================================
[2026-10-20 15:36:59,545.545 INFO    ] Launching Daemon at Tue Oct 20 15:36:59 IST 2026
[2026-10-20 15:36:59,556.556 INFO    ] ================================================
[2026-10-20 15:37:00,120.120 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:37:00
[2026-10-20 15:37:00,700.700 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:37:00,948.948 INFO    ] Initializing speech engine...
[2026-10-20 15:37:00,970.970 INFO    ] 2026-10-20 15:37:00
[2026-10-20 15:37:01,356.356 INFO    ] 2026-10-20 15:37:01
[2026-10-20 15:37:01,444.444 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:37:01,683.683 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:37:01,686.686 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:37:01,894.894 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:37:01,907.907 INFO    ] time= 20/10/2026 15:37:01
[2026-10-20 15:37:01,926.926 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:37:01,950.950 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:37:02,067.067 INFO    ] No existing commands found in stream
[2026-10-20 15:37:07,094.094 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:37:07,096.096 INFO    ] Waiting 1.86 seconds before fallback handling...
[2026-10-20 15:37:09,528.528 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:37:09,531.531 INFO    ] Checking for system updates...
[2026-10-20 15:37:09,570.570 INFO    ] 200
[2026-10-20 15:37:09,573.573 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:37:09,631.631 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:37:09,634.634 INFO    ] No update needed
[2026-10-20 15:37:09,636.636 INFO    ] Checking for camera pi updates...
[2026-10-20 15:37:09,670.670 INFO    ] 200
[2026-10-20 15:37:09,672.672 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:37:09,716.716 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:37:09,762.762 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:37:09,764.764 INFO    ] No camera update needed
[2026-10-20 15:37:09,767.767 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:37:09,769.769 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:37:09,774.774 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:37:09,779.779 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:37:11,819.819 INFO    ] ================================================
[2026-10-20 15:37:11,835.835 INFO    ] Launching Daemon at Tue Oct 20 15:37:11 IST 2026
[2026-10-20 15:37:11,846.846 INFO    ] ================================================
[2026-10-20 15:37:12,503.503 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:37:12
[2026-10-20 15:37:13,176.176 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:37:13,482.482 INFO    ] Initializing speech engine...
[2026-10-20 15:37:13,489.489 INFO    ] 2026-10-20 15:37:13
[2026-10-20 15:37:13,765.765 INFO    ] 2026-10-20 15:37:13
[2026-10-20 15:37:13,824.824 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:37:14,059.059 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:37:14,066.066 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:37:14,315.315 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:37:14,332.332 INFO    ] time= 20/10/2026 15:37:14
[2026-10-20 15:37:14,351.351 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:37:14,381.381 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:37:14,501.501 INFO    ] No existing commands found in stream
[2026-10-20 15:37:19,531.531 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:37:19,534.534 INFO    ] Waiting 3.08 seconds before fallback handling...
[2026-10-20 15:37:23,170.170 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:37:23,173.173 INFO    ] Checking for system updates...
[2026-10-20 15:37:23,210.210 INFO    ] 200
[2026-10-20 15:37:23,213.213 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:37:23,267.267 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:37:23,270.270 INFO    ] No update needed
[2026-10-20 15:37:23,272.272 INFO    ] Checking for camera pi updates...
[2026-10-20 15:37:23,307.307 INFO    ] 200
[2026-10-20 15:37:23,310.310 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:37:23,352.352 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:37:23,404.404 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:37:23,407.407 INFO    ] No camera update needed
[2026-10-20 15:37:23,410.410 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:37:23,412.412 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:37:23,419.419 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:37:23,425.425 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:37:25,464.464 INFO    ] ================================================
[2026-10-20 15:37:25,480.480 INFO    ] Launching Daemon at Tue Oct 20 15:37:25 IST 2026
[2026-10-20 15:37:25,491.491 INFO    ] ================================================
[2026-10-20 15:37:26,068.068 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:37:26
[2026-10-20 15:37:26,772.772 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:37:27,105.105 INFO    ] Initializing speech engine...
[2026-10-20 15:37:27,114.114 INFO    ] 2026-10-20 15:37:27
[2026-10-20 15:37:27,402.402 INFO    ] 2026-10-20 15:37:27
[2026-10-20 15:37:27,463.463 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:37:27,706.706 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:37:27,717.717 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:37:27,860.860 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:37:27,907.907 INFO    ] time= 20/10/2026 15:37:27
[2026-10-20 15:37:27,973.973 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:37:28,004.004 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:37:28,150.150 INFO    ] No existing commands found in stream
[2026-10-20 15:37:33,172.172 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:37:33,176.176 INFO    ] Waiting 0.91 seconds before fallback handling...
[2026-10-20 15:37:34,607.607 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:37:34,610.610 INFO    ] Checking for system updates...
[2026-10-20 15:37:34,650.650 INFO    ] 200
[2026-10-20 15:37:34,653.653 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:37:34,712.712 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:37:34,714.714 INFO    ] No update needed
[2026-10-20 15:37:34,717.717 INFO    ] Checking for camera pi updates...
[2026-10-20 15:37:34,755.755 INFO    ] 200
[2026-10-20 15:37:34,758.758 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:37:34,800.800 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:37:34,856.856 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:37:34,859.859 INFO    ] No camera update needed
[2026-10-20 15:37:34,861.861 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:37:34,864.864 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:37:34,870.870 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:37:34,876.876 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:37:36,916.916 INFO    ] ================================================
[2026-10-20 15:37:36,931.931 INFO    ] Launching Daemon at Tue Oct 20 15:37:36 IST 2026
[2026-10-20 15:37:36,942.942 INFO    ] ================================================
[2026-10-20 15:37:37,515.515 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:37:37
[2026-10-20 15:37:38,103.103 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:37:38,367.367 INFO    ] Initializing speech engine...
[2026-10-20 15:37:38,380.380 INFO    ] 2026-10-20 15:37:38
[2026-10-20 15:37:38,665.665 INFO    ] 2026-10-20 15:37:38
[2026-10-20 15:37:38,703.703 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:37:38,922.922 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:37:38,970.970 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:37:39,147.147 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:37:39,202.202 INFO    ] time= 20/10/2026 15:37:39
[2026-10-20 15:37:39,257.257 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:37:39,299.299 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:37:39,421.421 INFO    ] No existing commands found in stream
[2026-10-20 15:37:44,441.441 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:37:44,444.444 INFO    ] Waiting 3.33 seconds before fallback handling...
[2026-10-20 15:37:48,291.291 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:37:48,294.294 INFO    ] Checking for system updates...
[2026-10-20 15:37:48,329.329 INFO    ] 200
[2026-10-20 15:37:48,332.332 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:37:48,390.390 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:37:48,392.392 INFO    ] No update needed
[2026-10-20 15:37:48,395.395 INFO    ] Checking for camera pi updates...
[2026-10-20 15:37:48,431.431 INFO    ] 200
[2026-10-20 15:37:48,433.433 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:37:48,474.474 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:37:48,519.519 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:37:48,521.521 INFO    ] No camera update needed
[2026-10-20 15:37:48,524.524 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:37:48,526.526 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:37:48,531.531 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:37:48,536.536 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:37:50,576.576 INFO    ] ================================================
[2026-10-20 15:37:50,591.591 INFO    ] Launching Daemon at Tue Oct 20 15:37:50 IST 2026
[2026-10-20 15:37:50,602.602 INFO    ] ================================================
[2026-10-20 15:37:51,169.169 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:37:51
[2026-10-20 15:37:51,758.758 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:37:52,012.012 INFO    ] Initializing speech engine...
[2026-10-20 15:37:52,021.021 INFO    ] 2026-10-20 15:37:52
[2026-10-20 15:37:52,311.311 INFO    ] 2026-10-20 15:37:52
[2026-10-20 15:37:52,349.349 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:37:52,555.555 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:37:52,575.575 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:37:52,721.721 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:37:52,726.726 INFO    ] time= 20/10/2026 15:37:52
[2026-10-20 15:37:52,732.732 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:37:52,738.738 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:37:52,826.826 INFO    ] No existing commands found in stream
[2026-10-20 15:37:57,862.862 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:37:57,864.864 INFO    ] Waiting 3.03 seconds before fallback handling...
[2026-10-20 15:38:01,496.496 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:38:01,500.500 INFO    ] Checking for system updates...
[2026-10-20 15:38:01,591.591 INFO    ] 200
[2026-10-20 15:38:01,594.594 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:38:01,681.681 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:38:01,684.684 INFO    ] No update needed
[2026-10-20 15:38:01,687.687 INFO    ] Checking for camera pi updates...
[2026-10-20 15:38:01,728.728 INFO    ] 200
[2026-10-20 15:38:01,731.731 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:38:01,780.780 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:38:01,819.819 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:38:01,822.822 INFO    ] No camera update needed
[2026-10-20 15:38:01,825.825 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:38:01,828.828 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:38:01,834.834 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:38:01,841.841 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:38:03,882.882 INFO    ] ================================================
[2026-10-20 15:38:03,897.897 INFO    ] Launching Daemon at Tue Oct 20 15:38:03 IST 2026
[2026-10-20 15:38:03,908.908 INFO    ] ================================================
[2026-10-20 15:38:04,561.561 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:38:04
[2026-10-20 15:38:05,235.235 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:38:05,524.524 INFO    ] Initializing speech engine...
[2026-10-20 15:38:05,536.536 INFO    ] 2026-10-20 15:38:05
[2026-10-20 15:38:05,786.786 INFO    ] 2026-10-20 15:38:05
[2026-10-20 15:38:05,821.821 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:38:06,036.036 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:38:06,097.097 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:38:06,238.238 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:38:06,280.280 INFO    ] time= 20/10/2026 15:38:06
[2026-10-20 15:38:06,340.340 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:38:06,375.375 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:38:06,511.511 INFO    ] No existing commands found in stream
[2026-10-20 15:38:11,536.536 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:38:11,539.539 INFO    ] Waiting 2.84 seconds before fallback handling...
[2026-10-20 15:38:14,916.916 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:38:14,919.919 INFO    ] Checking for system updates...
[2026-10-20 15:38:14,956.956 INFO    ] 200
[2026-10-20 15:38:14,959.959 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:38:15,019.019 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:38:15,022.022 INFO    ] No update needed
[2026-10-20 15:38:15,025.025 INFO    ] Checking for camera pi updates...
[2026-10-20 15:38:15,068.068 INFO    ] 200
[2026-10-20 15:38:15,071.071 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:38:15,112.112 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:38:15,165.165 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:38:15,168.168 INFO    ] No camera update needed
[2026-10-20 15:38:15,171.171 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:38:15,174.174 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:38:15,180.180 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:38:15,186.186 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:38:17,229.229 INFO    ] ================================================
[2026-10-20 15:38:17,250.250 INFO    ] Launching Daemon at Tue Oct 20 15:38:17 IST 2026
[2026-10-20 15:38:17,266.266 INFO    ] ================================================
[2026-10-20 15:38:17,861.861 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:38:17
[2026-10-20 15:38:18,466.466 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:38:18,740.740 INFO    ] Initializing speech engine...
[2026-10-20 15:38:18,749.749 INFO    ] 2026-10-20 15:38:18
[2026-10-20 15:38:19,017.017 INFO    ] 2026-10-20 15:38:19
[2026-10-20 15:38:19,055.055 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:38:19,263.263 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:38:19,278.278 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:38:19,447.447 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:38:19,453.453 INFO    ] time= 20/10/2026 15:38:19
[2026-10-20 15:38:19,460.460 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:38:19,487.487 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:38:19,624.624 INFO    ] No existing commands found in stream
[2026-10-20 15:38:24,650.650 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:38:24,652.652 INFO    ] Waiting 3.81 seconds before fallback handling...
[2026-10-20 15:38:29,006.006 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:38:29,009.009 INFO    ] Checking for system updates...
[2026-10-20 15:38:29,044.044 INFO    ] 200
[2026-10-20 15:38:29,046.046 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:38:29,105.105 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:38:29,107.107 INFO    ] No update needed
[2026-10-20 15:38:29,110.110 INFO    ] Checking for camera pi updates...
[2026-10-20 15:38:29,144.144 INFO    ] 200
[2026-10-20 15:38:29,146.146 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:38:29,187.187 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:38:29,232.232 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:38:29,235.235 INFO    ] No camera update needed
[2026-10-20 15:38:29,237.237 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:38:29,240.240 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:38:29,245.245 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:38:29,250.250 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:38:31,294.294 INFO    ] ================================================
[2026-10-20 15:38:31,310.310 INFO    ] Launching Daemon at Tue Oct 20 15:38:31 IST 2026
[2026-10-20 15:38:31,322.322 INFO    ] ================================================
[2026-10-20 15:38:32,030.030 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:38:32
[2026-10-20 15:38:32,741.741 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:38:33,048.048 INFO    ] Initializing speech engine...
[2026-10-20 15:38:33,062.062 INFO    ] 2026-10-20 15:38:33
[2026-10-20 15:38:33,376.376 INFO    ] 2026-10-20 15:38:33
[2026-10-20 15:38:33,459.459 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:38:33,703.703 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:38:33,741.741 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:38:33,895.895 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:38:33,925.925 INFO    ] time= 20/10/2026 15:38:33
[2026-10-20 15:38:33,936.936 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:38:33,992.992 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:38:34,133.133 INFO    ] No existing commands found in stream
[2026-10-20 15:38:39,150.150 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:38:39,153.153 INFO    ] Waiting 2.61 seconds before fallback handling...
[2026-10-20 15:38:42,352.352 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:38:42,355.355 INFO    ] Checking for system updates...
[2026-10-20 15:38:42,393.393 INFO    ] 200
[2026-10-20 15:38:42,395.395 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:38:42,450.450 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:38:42,453.453 INFO    ] No update needed
[2026-10-20 15:38:42,456.456 INFO    ] Checking for camera pi updates...
[2026-10-20 15:38:42,494.494 INFO    ] 200
[2026-10-20 15:38:42,497.497 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:38:42,538.538 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:38:42,585.585 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:38:42,588.588 INFO    ] No camera update needed
[2026-10-20 15:38:42,591.591 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:38:42,593.593 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:38:42,600.600 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:38:42,605.605 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:38:44,648.648 INFO    ] ================================================
[2026-10-20 15:38:44,663.663 INFO    ] Launching Daemon at Tue Oct 20 15:38:44 IST 2026
[2026-10-20 15:38:44,674.674 INFO    ] ================================================
[2026-10-20 15:38:45,238.238 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:38:45
[2026-10-20 15:38:45,824.824 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:38:46,078.078 INFO    ] Initializing speech engine...
[2026-10-20 15:38:46,087.087 INFO    ] 2026-10-20 15:38:46
[2026-10-20 15:38:46,380.380 INFO    ] 2026-10-20 15:38:46
[2026-10-20 15:38:46,414.414 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:38:46,642.642 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:38:46,650.650 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:38:46,812.812 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:38:46,818.818 INFO    ] time= 20/10/2026 15:38:46
[2026-10-20 15:38:46,825.825 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:38:46,852.852 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:38:47,006.006 INFO    ] No existing commands found in stream
[2026-10-20 15:38:52,032.032 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:38:52,035.035 INFO    ] Waiting 2.26 seconds before fallback handling...
[2026-10-20 15:38:54,838.838 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:38:54,841.841 INFO    ] Checking for system updates...
[2026-10-20 15:38:54,876.876 INFO    ] 200
[2026-10-20 15:38:54,879.879 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:38:54,930.930 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:38:54,932.932 INFO    ] No update needed
[2026-10-20 15:38:54,935.935 INFO    ] Checking for camera pi updates...
[2026-10-20 15:38:54,971.971 INFO    ] 200
[2026-10-20 15:38:54,974.974 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:38:55,019.019 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:38:55,067.067 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:38:55,070.070 INFO    ] No camera update needed
[2026-10-20 15:38:55,072.072 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:38:55,075.075 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:38:55,080.080 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:38:55,085.085 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:38:57,125.125 INFO    ] ================================================
[2026-10-20 15:38:57,139.139 INFO    ] Launching Daemon at Tue Oct 20 15:38:57 IST 2026
[2026-10-20 15:38:57,150.150 INFO    ] ================================================
[2026-10-20 15:38:57,771.771 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:38:57
[2026-10-20 15:38:58,474.474 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:38:58,802.802 INFO    ] Initializing speech engine...
[2026-10-20 15:38:58,816.816 INFO    ] 2026-10-20 15:38:58
[2026-10-20 15:38:59,129.129 INFO    ] 2026-10-20 15:38:59
[2026-10-20 15:38:59,244.244 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:38:59,515.515 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:38:59,560.560 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:38:59,712.712 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:38:59,731.731 INFO    ] time= 20/10/2026 15:38:59
[2026-10-20 15:38:59,759.759 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:38:59,784.784 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:38:59,881.881 INFO    ] No existing commands found in stream
[2026-10-20 15:39:04,891.891 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:39:04,894.894 INFO    ] Waiting 0.72 seconds before fallback handling...
[2026-10-20 15:39:06,085.085 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:39:06,088.088 INFO    ] Checking for system updates...
[2026-10-20 15:39:06,124.124 INFO    ] 200
[2026-10-20 15:39:06,126.126 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:39:06,179.179 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:39:06,181.181 INFO    ] No update needed
[2026-10-20 15:39:06,184.184 INFO    ] Checking for camera pi updates...
[2026-10-20 15:39:06,220.220 INFO    ] 200
[2026-10-20 15:39:06,222.222 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:39:06,262.262 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:39:06,407.407 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:39:06,410.410 INFO    ] No camera update needed
[2026-10-20 15:39:06,412.412 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:39:06,414.414 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:39:06,420.420 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:39:06,425.425 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:39:08,465.465 INFO    ] ================================================
[2026-10-20 15:39:08,480.480 INFO    ] Launching Daemon at Tue Oct 20 15:39:08 IST 2026
[2026-10-20 15:39:08,490.490 INFO    ] ================================================
[2026-10-20 15:39:09,079.079 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:39:09
[2026-10-20 15:39:09,699.699 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:39:10,007.007 INFO    ] Initializing speech engine...
[2026-10-20 15:39:10,020.020 INFO    ] 2026-10-20 15:39:10
[2026-10-20 15:39:10,308.308 INFO    ] 2026-10-20 15:39:10
[2026-10-20 15:39:10,355.355 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:39:10,645.645 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:39:10,654.654 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:39:10,856.856 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:39:10,863.863 INFO    ] time= 20/10/2026 15:39:10
[2026-10-20 15:39:10,885.885 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:39:10,912.912 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:39:11,033.033 INFO    ] No existing commands found in stream
[2026-10-20 15:39:16,059.059 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:39:16,062.062 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-10-20 15:39:20,069.069 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 15:39:20,073.073 INFO    ] Checking for system updates...
[2026-10-20 15:39:20,113.113 INFO    ] 200
[2026-10-20 15:39:20,117.117 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 15:39:20,120.120 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-10-20 15:39:20,123.123 INFO    ] Checking for camera pi updates...
[2026-10-20 15:39:20,177.177 INFO    ] 200
[2026-10-20 15:39:20,180.180 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 15:39:20,183.183 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-10-20 15:39:20,187.187 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:39:20,190.190 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:39:20,197.197 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:39:20,204.204 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:39:22,244.244 INFO    ] ================================================
[2026-10-20 15:39:22,259.259 INFO    ] Launching Daemon at Tue Oct 20 15:39:22 IST 2026
[2026-10-20 15:39:22,269.269 INFO    ] ================================================
[2026-10-20 15:39:22,836.836 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:39:22
[2026-10-20 15:39:23,419.419 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:39:23,669.669 INFO    ] Initializing speech engine...
[2026-10-20 15:39:23,691.691 INFO    ] 2026-10-20 15:39:23
[2026-10-20 15:39:23,948.948 INFO    ] 2026-10-20 15:39:23
[2026-10-20 15:39:23,984.984 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:39:24,240.240 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:39:24,249.249 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:39:24,451.451 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:39:24,506.506 INFO    ] time= 20/10/2026 15:39:24
[2026-10-20 15:39:24,521.521 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:39:24,537.537 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:39:24,694.694 INFO    ] No existing commands found in stream
[2026-10-20 15:39:29,725.725 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:39:29,728.728 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-10-20 15:39:32,590.590 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:39:32,593.593 INFO    ] Checking for system updates...
[2026-10-20 15:39:32,631.631 INFO    ] 200
[2026-10-20 15:39:32,634.634 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:39:32,696.696 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:39:32,700.700 INFO    ] No update needed
[2026-10-20 15:39:32,703.703 INFO    ] Checking for camera pi updates...
[2026-10-20 15:39:32,743.743 INFO    ] 200
[2026-10-20 15:39:32,745.745 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:39:32,785.785 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:39:32,815.815 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:39:32,818.818 INFO    ] No camera update needed
[2026-10-20 15:39:32,820.820 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:39:32,823.823 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:39:32,828.828 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:39:32,833.833 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:39:34,872.872 INFO    ] ================================================
[2026-10-20 15:39:34,887.887 INFO    ] Launching Daemon at Tue Oct 20 15:39:34 IST 2026
[2026-10-20 15:39:34,897.897 INFO    ] ================================================
[2026-10-20 15:39:35,555.555 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:39:35
[2026-10-20 15:39:36,235.235 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:39:36,544.544 INFO    ] Initializing speech engine...
[2026-10-20 15:39:36,551.551 INFO    ] 2026-10-20 15:39:36
[2026-10-20 15:39:36,830.830 INFO    ] 2026-10-20 15:39:36
[2026-10-20 15:39:36,888.888 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:39:37,179.179 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:39:37,187.187 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:39:37,384.384 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:39:37,403.403 INFO    ] time= 20/10/2026 15:39:37
[2026-10-20 15:39:37,414.414 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:39:37,444.444 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:39:37,570.570 INFO    ] No existing commands found in stream
[2026-10-20 15:39:42,607.607 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:39:42,611.611 INFO    ] Waiting 2.20 seconds before fallback handling...
[2026-10-20 15:39:45,337.337 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:39:45,340.340 INFO    ] Checking for system updates...
[2026-10-20 15:39:45,378.378 INFO    ] 200
[2026-10-20 15:39:45,381.381 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:39:45,435.435 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:39:45,438.438 INFO    ] No update needed
[2026-10-20 15:39:45,441.441 INFO    ] Checking for camera pi updates...
[2026-10-20 15:39:45,475.475 INFO    ] 200
[2026-10-20 15:39:45,478.478 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:39:45,520.520 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:39:45,580.580 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:39:45,583.583 INFO    ] No camera update needed
[2026-10-20 15:39:45,585.585 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:39:45,587.587 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:39:45,593.593 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:39:45,597.597 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:39:47,636.636 INFO    ] ================================================
[2026-10-20 15:39:47,651.651 INFO    ] Launching Daemon at Tue Oct 20 15:39:47 IST 2026
[2026-10-20 15:39:47,662.662 INFO    ] ================================================
[2026-10-20 15:39:48,286.286 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:39:48
[2026-10-20 15:39:48,977.977 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:39:49,285.285 INFO    ] Initializing speech engine...
[2026-10-20 15:39:49,293.293 INFO    ] 2026-10-20 15:39:49
[2026-10-20 15:39:49,589.589 INFO    ] 2026-10-20 15:39:49
[2026-10-20 15:39:49,698.698 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:39:49,914.914 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:39:49,924.924 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:39:50,118.118 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:39:50,141.141 INFO    ] time= 20/10/2026 15:39:50
[2026-10-20 15:39:50,168.168 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:39:50,178.178 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:39:50,292.292 INFO    ] No existing commands found in stream
[2026-10-20 15:39:55,323.323 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:39:55,326.326 INFO    ] Waiting 0.64 seconds before fallback handling...
[2026-10-20 15:39:56,553.553 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:39:56,556.556 INFO    ] Checking for system updates...
[2026-10-20 15:39:56,600.600 INFO    ] 200
[2026-10-20 15:39:56,603.603 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:39:56,659.659 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:39:56,662.662 INFO    ] No update needed
[2026-10-20 15:39:56,664.664 INFO    ] Checking for camera pi updates...
[2026-10-20 15:39:56,699.699 INFO    ] 200
[2026-10-20 15:39:56,701.701 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:39:56,748.748 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:39:56,802.802 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:39:56,804.804 INFO    ] No camera update needed
[2026-10-20 15:39:56,806.806 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:39:56,809.809 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:39:56,814.814 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:39:56,819.819 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:39:58,858.858 INFO    ] ================================================
[2026-10-20 15:39:58,873.873 INFO    ] Launching Daemon at Tue Oct 20 15:39:58 IST 2026
[2026-10-20 15:39:58,884.884 INFO    ] ================================================
[2026-10-20 15:39:59,464.464 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:39:59
[2026-10-20 15:40:00,106.106 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:40:00,416.416 INFO    ] Initializing speech engine...
[2026-10-20 15:40:00,428.428 INFO    ] 2026-10-20 15:40:00
[2026-10-20 15:40:00,737.737 INFO    ] 2026-10-20 15:40:00
[2026-10-20 15:40:00,824.824 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:40:01,040.040 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:40:01,091.091 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:40:01,262.262 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:40:01,312.312 INFO    ] time= 20/10/2026 15:40:01
[2026-10-20 15:40:01,330.330 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:40:01,369.369 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:40:01,480.480 INFO    ] No existing commands found in stream
[2026-10-20 15:40:06,507.507 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:40:06,510.510 INFO    ] Waiting 0.95 seconds before fallback handling...
[2026-10-20 15:40:08,018.018 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:40:08,021.021 INFO    ] Checking for system updates...
[2026-10-20 15:40:08,057.057 INFO    ] 200
[2026-10-20 15:40:08,060.060 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:40:08,113.113 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:40:08,115.115 INFO    ] No update needed
[2026-10-20 15:40:08,118.118 INFO    ] Checking for camera pi updates...
[2026-10-20 15:40:08,153.153 INFO    ] 200
[2026-10-20 15:40:08,156.156 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:40:08,197.197 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:40:08,232.232 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:40:08,234.234 INFO    ] No camera update needed
[2026-10-20 15:40:08,236.236 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:40:08,239.239 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:40:08,245.245 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:40:08,250.250 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:40:10,289.289 INFO    ] ================================================
[2026-10-20 15:40:10,304.304 INFO    ] Launching Daemon at Tue Oct 20 15:40:10 IST 2026
[2026-10-20 15:40:10,315.315 INFO    ] ================================================
[2026-10-20 15:40:10,951.951 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:40:10
[2026-10-20 15:40:11,609.609 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:40:11,910.910 INFO    ] Initializing speech engine...
[2026-10-20 15:40:11,918.918 INFO    ] 2026-10-20 15:40:11
[2026-10-20 15:40:12,212.212 INFO    ] 2026-10-20 15:40:12
[2026-10-20 15:40:12,323.323 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:40:12,537.537 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:40:12,546.546 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:40:12,733.733 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:40:12,753.753 INFO    ] time= 20/10/2026 15:40:12
[2026-10-20 15:40:12,772.772 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:40:12,789.789 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:40:12,915.915 INFO    ] No existing commands found in stream
[2026-10-20 15:40:17,946.946 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:40:17,950.950 INFO    ] Waiting 3.68 seconds before fallback handling...
[2026-10-20 15:40:22,226.226 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:40:22,229.229 INFO    ] Checking for system updates...
[2026-10-20 15:40:22,266.266 INFO    ] 200
[2026-10-20 15:40:22,268.268 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:40:22,322.322 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:40:22,325.325 INFO    ] No update needed
[2026-10-20 15:40:22,327.327 INFO    ] Checking for camera pi updates...
[2026-10-20 15:40:22,361.361 INFO    ] 200
[2026-10-20 15:40:22,364.364 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:40:22,404.404 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:40:22,450.450 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:40:22,452.452 INFO    ] No camera update needed
[2026-10-20 15:40:22,455.455 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:40:22,457.457 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:40:22,462.462 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:40:22,467.467 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:40:24,506.506 INFO    ] ================================================
[2026-10-20 15:40:24,521.521 INFO    ] Launching Daemon at Tue Oct 20 15:40:24 IST 2026
[2026-10-20 15:40:24,532.532 INFO    ] ================================================
[2026-10-20 15:40:25,097.097 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:40:25
[2026-10-20 15:40:25,678.678 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:40:25,947.947 INFO    ] Initializing speech engine...
[2026-10-20 15:40:25,956.956 INFO    ] 2026-10-20 15:40:25
[2026-10-20 15:40:26,204.204 INFO    ] 2026-10-20 15:40:26
[2026-10-20 15:40:26,238.238 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:40:26,437.437 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:40:26,486.486 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:40:26,723.723 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:40:26,768.768 INFO    ] time= 20/10/2026 15:40:26
[2026-10-20 15:40:26,774.774 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:40:26,791.791 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:40:26,923.923 INFO    ] No existing commands found in stream
[2026-10-20 15:40:31,936.936 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:40:31,939.939 INFO    ] Waiting 2.39 seconds before fallback handling...
[2026-10-20 15:40:34,888.888 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:40:34,890.890 INFO    ] Checking for system updates...
[2026-10-20 15:40:34,931.931 INFO    ] 200
[2026-10-20 15:40:34,934.934 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:40:34,993.993 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:40:34,995.995 INFO    ] No update needed
[2026-10-20 15:40:34,997.997 INFO    ] Checking for camera pi updates...
[2026-10-20 15:40:35,030.030 INFO    ] 200
[2026-10-20 15:40:35,033.033 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:40:35,072.072 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:40:35,124.124 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:40:35,127.127 INFO    ] No camera update needed
[2026-10-20 15:40:35,129.129 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:40:35,132.132 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:40:35,138.138 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:40:35,143.143 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:40:37,181.181 INFO    ] ================================================
[2026-10-20 15:40:37,197.197 INFO    ] Launching Daemon at Tue Oct 20 15:40:37 IST 2026
[2026-10-20 15:40:37,207.207 INFO    ] ================================================
[2026-10-20 15:40:37,787.787 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:40:37
[2026-10-20 15:40:38,383.383 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:40:38,656.656 INFO    ] Initializing speech engine...
[2026-10-20 15:40:38,665.665 INFO    ] 2026-10-20 15:40:38
[2026-10-20 15:40:38,927.927 INFO    ] 2026-10-20 15:40:38
[2026-10-20 15:40:38,982.982 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:40:39,209.209 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:40:39,213.213 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:40:39,413.413 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:40:39,467.467 INFO    ] time= 20/10/2026 15:40:39
[2026-10-20 15:40:39,474.474 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:40:39,492.492 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:40:39,623.623 INFO    ] No existing commands found in stream
[2026-10-20 15:40:44,642.642 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:40:44,645.645 INFO    ] Waiting 0.52 seconds before fallback handling...
[2026-10-20 15:40:45,690.690 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 15:40:45,693.693 INFO    ] Checking for system updates...
[2026-10-20 15:40:45,732.732 INFO    ] 200
[2026-10-20 15:40:45,734.734 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:40:45,787.787 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:40:45,789.789 INFO    ] No update needed
[2026-10-20 15:40:45,792.792 INFO    ] Checking for camera pi updates...
[2026-10-20 15:40:45,825.825 INFO    ] 200
[2026-10-20 15:40:45,827.827 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:40:45,867.867 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:40:45,913.913 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:40:45,915.915 INFO    ] No camera update needed
[2026-10-20 15:40:45,918.918 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:40:45,920.920 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:40:45,925.925 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:40:45,931.931 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:40:47,970.970 INFO    ] ================================================
[2026-10-20 15:40:47,986.986 INFO    ] Launching Daemon at Tue Oct 20 15:40:47 IST 2026
[2026-10-20 15:40:48,996.996 INFO    ] ================================================
[2026-10-20 15:40:48,563.563 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:40:48
[2026-10-20 15:40:49,147.147 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:40:49,419.419 INFO    ] Initializing speech engine...
[2026-10-20 15:40:49,428.428 INFO    ] 2026-10-20 15:40:49
[2026-10-20 15:40:49,677.677 INFO    ] 2026-10-20 15:40:49
[2026-10-20 15:40:49,711.711 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:40:49,909.909 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:40:49,916.916 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:40:50,114.114 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:40:50,162.162 INFO    ] time= 20/10/2026 15:40:50
[2026-10-20 15:40:50,221.221 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:40:50,253.253 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:40:50,389.389 INFO    ] No existing commands found in stream
[2026-10-20 15:40:55,414.414 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:40:55,417.417 INFO    ] Waiting 2.36 seconds before fallback handling...
[2026-10-20 15:40:58,346.346 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:40:58,349.349 INFO    ] Checking for system updates...
[2026-10-20 15:40:58,387.387 INFO    ] 200
[2026-10-20 15:40:58,390.390 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:40:58,443.443 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:40:58,445.445 INFO    ] No update needed
[2026-10-20 15:40:58,447.447 INFO    ] Checking for camera pi updates...
[2026-10-20 15:40:58,480.480 INFO    ] 200
[2026-10-20 15:40:58,483.483 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:40:58,522.522 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:40:58,569.569 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:40:58,571.571 INFO    ] No camera update needed
[2026-10-20 15:40:58,573.573 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:40:58,576.576 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:40:58,581.581 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:40:58,586.586 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:41:00,626.626 INFO    ] ================================================
[2026-10-20 15:41:00,641.641 INFO    ] Launching Daemon at Tue Oct 20 15:41:00 IST 2026
[2026-10-20 15:41:00,652.652 INFO    ] ================================================
[2026-10-20 15:41:01,219.219 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:41:01
[2026-10-20 15:41:01,913.913 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:41:02,325.325 INFO    ] Initializing speech engine...
[2026-10-20 15:41:02,332.332 INFO    ] 2026-10-20 15:41:02
[2026-10-20 15:41:02,633.633 INFO    ] 2026-10-20 15:41:02
[2026-10-20 15:41:02,681.681 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:41:02,945.945 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:41:02,975.975 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:41:03,164.164 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:41:03,220.220 INFO    ] time= 20/10/2026 15:41:03
[2026-10-20 15:41:03,285.285 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:41:03,311.311 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:41:03,461.461 INFO    ] No existing commands found in stream
[2026-10-20 15:41:08,488.488 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:41:08,491.491 INFO    ] Waiting 1.89 seconds before fallback handling...
[2026-10-20 15:41:10,937.937 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:41:10,940.940 INFO    ] Checking for system updates...
[2026-10-20 15:41:10,975.975 INFO    ] 200
[2026-10-20 15:41:10,978.978 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:41:11,041.041 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:41:11,043.043 INFO    ] No update needed
[2026-10-20 15:41:11,046.046 INFO    ] Checking for camera pi updates...
[2026-10-20 15:41:11,083.083 INFO    ] 200
[2026-10-20 15:41:11,085.085 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:41:11,125.125 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:41:11,278.278 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:41:11,281.281 INFO    ] No camera update needed
[2026-10-20 15:41:11,283.283 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:41:11,286.286 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:41:11,291.291 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:41:11,296.296 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:41:13,338.338 INFO    ] ================================================
[2026-10-20 15:41:13,353.353 INFO    ] Launching Daemon at Tue Oct 20 15:41:13 IST 2026
[2026-10-20 15:41:13,363.363 INFO    ] ================================================
[2026-10-20 15:41:14,013.013 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:41:14
[2026-10-20 15:41:14,685.685 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:41:14,985.985 INFO    ] Initializing speech engine...
[2026-10-20 15:41:14,994.994 INFO    ] 2026-10-20 15:41:14
[2026-10-20 15:41:15,281.281 INFO    ] 2026-10-20 15:41:15
[2026-10-20 15:41:15,326.326 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:41:15,612.612 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:41:15,617.617 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:41:15,815.815 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:41:15,832.832 INFO    ] time= 20/10/2026 15:41:15
[2026-10-20 15:41:15,847.847 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:41:15,871.871 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:41:16,004.004 INFO    ] No existing commands found in stream
[2026-10-20 15:41:21,035.035 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:41:21,038.038 INFO    ] Waiting 3.09 seconds before fallback handling...
[2026-10-20 15:41:24,651.651 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:41:24,654.654 INFO    ] Checking for system updates...
[2026-10-20 15:41:24,690.690 INFO    ] 200
[2026-10-20 15:41:24,693.693 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:41:24,746.746 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:41:24,749.749 INFO    ] No update needed
[2026-10-20 15:41:24,752.752 INFO    ] Checking for camera pi updates...
[2026-10-20 15:41:24,786.786 INFO    ] 200
[2026-10-20 15:41:24,789.789 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:41:24,830.830 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:41:24,874.874 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:41:24,877.877 INFO    ] No camera update needed
[2026-10-20 15:41:24,880.880 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:41:24,883.883 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:41:24,889.889 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:41:24,894.894 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:41:26,935.935 INFO    ] ================================================
[2026-10-20 15:41:26,957.957 INFO    ] Launching Daemon at Tue Oct 20 15:41:26 IST 2026
[2026-10-20 15:41:26,967.967 INFO    ] ================================================
[2026-10-20 15:41:27,538.538 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:41:27
[2026-10-20 15:41:28,133.133 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:41:28,412.412 INFO    ] Initializing speech engine...
[2026-10-20 15:41:28,422.422 INFO    ] 2026-10-20 15:41:28
[2026-10-20 15:41:28,694.694 INFO    ] 2026-10-20 15:41:28
[2026-10-20 15:41:28,727.727 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:41:28,983.983 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:41:28,992.992 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:41:29,202.202 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:41:29,257.257 INFO    ] time= 20/10/2026 15:41:29
[2026-10-20 15:41:29,264.264 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:41:29,284.284 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:41:29,416.416 INFO    ] No existing commands found in stream
[2026-10-20 15:41:34,429.429 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:41:34,432.432 INFO    ] Waiting 3.40 seconds before fallback handling...
[2026-10-20 15:41:38,337.337 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:41:38,339.339 INFO    ] Checking for system updates...
[2026-10-20 15:41:38,375.375 INFO    ] 200
[2026-10-20 15:41:38,378.378 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:41:38,430.430 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:41:38,432.432 INFO    ] No update needed
[2026-10-20 15:41:38,434.434 INFO    ] Checking for camera pi updates...
[2026-10-20 15:41:38,467.467 INFO    ] 200
[2026-10-20 15:41:38,470.470 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:41:38,510.510 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:41:38,566.566 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:41:38,569.569 INFO    ] No camera update needed
[2026-10-20 15:41:38,571.571 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:41:38,573.573 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:41:38,580.580 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:41:38,585.585 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:41:40,624.624 INFO    ] ================================================
[2026-10-20 15:41:40,639.639 INFO    ] Launching Daemon at Tue Oct 20 15:41:40 IST 2026
[2026-10-20 15:41:40,649.649 INFO    ] ================================================
[2026-10-20 15:41:41,217.217 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:41:41
[2026-10-20 15:41:41,800.800 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:41:42,072.072 INFO    ] Initializing speech engine...
[2026-10-20 15:41:42,081.081 INFO    ] 2026-10-20 15:41:42
[2026-10-20 15:41:42,331.331 INFO    ] 2026-10-20 15:41:42
[2026-10-20 15:41:42,372.372 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:41:42,623.623 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:41:42,632.632 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:41:42,858.858 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:41:42,896.896 INFO    ] time= 20/10/2026 15:41:42
[2026-10-20 15:41:42,902.902 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:41:42,919.919 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:41:43,050.050 INFO    ] No existing commands found in stream
[2026-10-20 15:41:48,065.065 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:41:48,068.068 INFO    ] Waiting 0.42 seconds before fallback handling...
[2026-10-20 15:41:49,071.071 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:41:49,073.073 INFO    ] Checking for system updates...
[2026-10-20 15:41:49,113.113 INFO    ] 200
[2026-10-20 15:41:49,116.116 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:41:49,167.167 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:41:49,170.170 INFO    ] No update needed
[2026-10-20 15:41:49,172.172 INFO    ] Checking for camera pi updates...
[2026-10-20 15:41:49,209.209 INFO    ] 200
[2026-10-20 15:41:49,212.212 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:41:49,257.257 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:41:49,301.301 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:41:49,304.304 INFO    ] No camera update needed
[2026-10-20 15:41:49,306.306 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:41:49,308.308 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:41:49,314.314 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:41:49,319.319 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:41:51,357.357 INFO    ] ================================================
[2026-10-20 15:41:51,372.372 INFO    ] Launching Daemon at Tue Oct 20 15:41:51 IST 2026
[2026-10-20 15:41:51,383.383 INFO    ] ================================================
[2026-10-20 15:41:51,951.951 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:41:51
[2026-10-20 15:41:52,551.551 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:41:52,846.846 INFO    ] Initializing speech engine...
[2026-10-20 15:41:52,853.853 INFO    ] 2026-10-20 15:41:52
[2026-10-20 15:41:53,116.116 INFO    ] 2026-10-20 15:41:53
[2026-10-20 15:41:53,146.146 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:41:53,337.337 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:41:53,395.395 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:41:53,605.605 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:41:53,659.659 INFO    ] time= 20/10/2026 15:41:53
[2026-10-20 15:41:53,665.665 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:41:53,683.683 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:41:53,793.793 INFO    ] No existing commands found in stream
[2026-10-20 15:41:58,820.820 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:41:58,823.823 INFO    ] Waiting 0.53 seconds before fallback handling...
[2026-10-20 15:41:59,891.891 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:41:59,893.893 INFO    ] Checking for system updates...
[2026-10-20 15:41:59,933.933 INFO    ] 200
[2026-10-20 15:41:59,936.936 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:41:59,987.987 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:41:59,990.990 INFO    ] No update needed
[2026-10-20 15:41:59,992.992 INFO    ] Checking for camera pi updates...
[2026-10-20 15:42:00,025.025 INFO    ] 200
[2026-10-20 15:42:00,028.028 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:42:00,068.068 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:42:00,113.113 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:42:00,116.116 INFO    ] No camera update needed
[2026-10-20 15:42:00,118.118 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:42:00,121.121 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:42:00,126.126 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:42:00,131.131 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:42:02,176.176 INFO    ] ================================================
[2026-10-20 15:42:02,204.204 INFO    ] Launching Daemon at Tue Oct 20 15:42:02 IST 2026
[2026-10-20 15:42:02,220.220 INFO    ] ================================================
[2026-10-20 15:42:02,854.854 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:42:02
[2026-10-20 15:42:03,499.499 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:42:03,786.786 INFO    ] Initializing speech engine...
[2026-10-20 15:42:03,792.792 INFO    ] 2026-10-20 15:42:03
[2026-10-20 15:42:04,113.113 INFO    ] 2026-10-20 15:42:04
[2026-10-20 15:42:04,153.153 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:42:04,417.417 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:42:04,427.427 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:42:04,565.565 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:42:04,625.625 INFO    ] time= 20/10/2026 15:42:04
[2026-10-20 15:42:04,679.679 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:42:04,703.703 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:42:04,832.832 INFO    ] No existing commands found in stream
[2026-10-20 15:42:09,860.860 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:42:09,863.863 INFO    ] Waiting 3.27 seconds before fallback handling...
[2026-10-20 15:42:13,684.684 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:42:13,686.686 INFO    ] Checking for system updates...
[2026-10-20 15:42:13,721.721 INFO    ] 200
[2026-10-20 15:42:13,723.723 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:42:13,775.775 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:42:13,777.777 INFO    ] No update needed
[2026-10-20 15:42:13,780.780 INFO    ] Checking for camera pi updates...
[2026-10-20 15:42:13,816.816 INFO    ] 200
[2026-10-20 15:42:13,819.819 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:42:13,864.864 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:42:13,907.907 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:42:13,910.910 INFO    ] No camera update needed
[2026-10-20 15:42:13,913.913 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:42:13,915.915 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:42:13,920.920 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:42:13,925.925 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:42:15,965.965 INFO    ] ================================================
[2026-10-20 15:42:15,980.980 INFO    ] Launching Daemon at Tue Oct 20 15:42:15 IST 2026
[2026-10-20 15:42:15,990.990 INFO    ] ================================================
[2026-10-20 15:42:16,578.578 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:42:16
[2026-10-20 15:42:17,181.181 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:42:17,451.451 INFO    ] Initializing speech engine...
[2026-10-20 15:42:17,460.460 INFO    ] 2026-10-20 15:42:17
[2026-10-20 15:42:17,709.709 INFO    ] 2026-10-20 15:42:17
[2026-10-20 15:42:17,744.744 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:42:18,003.003 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:42:18,012.012 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:42:18,202.202 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:42:18,256.256 INFO    ] time= 20/10/2026 15:42:18
[2026-10-20 15:42:18,285.285 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:42:18,300.300 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:42:18,444.444 INFO    ] No existing commands found in stream
[2026-10-20 15:42:23,470.470 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:42:23,473.473 INFO    ] Waiting 0.85 seconds before fallback handling...
[2026-10-20 15:42:24,877.877 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:42:24,880.880 INFO    ] Checking for system updates...
[2026-10-20 15:42:24,915.915 INFO    ] 200
[2026-10-20 15:42:24,917.917 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:42:24,977.977 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:42:24,979.979 INFO    ] No update needed
[2026-10-20 15:42:24,982.982 INFO    ] Checking for camera pi updates...
[2026-10-20 15:42:25,020.020 INFO    ] 200
[2026-10-20 15:42:25,022.022 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:42:25,062.062 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:42:25,112.112 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:42:25,115.115 INFO    ] No camera update needed
[2026-10-20 15:42:25,117.117 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:42:25,119.119 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:42:25,125.125 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:42:25,130.130 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:42:27,170.170 INFO    ] ================================================
[2026-10-20 15:42:27,185.185 INFO    ] Launching Daemon at Tue Oct 20 15:42:27 IST 2026
[2026-10-20 15:42:27,195.195 INFO    ] ================================================
[2026-10-20 15:42:27,779.779 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:42:27
[2026-10-20 15:42:28,392.392 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:42:28,685.685 INFO    ] Initializing speech engine...
[2026-10-20 15:42:28,695.695 INFO    ] 2026-10-20 15:42:28
[2026-10-20 15:42:28,959.959 INFO    ] 2026-10-20 15:42:28
[2026-10-20 15:42:28,988.988 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:42:29,240.240 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:42:29,247.247 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:42:29,468.468 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:42:29,504.504 INFO    ] time= 20/10/2026 15:42:29
[2026-10-20 15:42:29,532.532 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:42:29,561.561 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:42:29,724.724 INFO    ] No existing commands found in stream
[2026-10-20 15:42:34,750.750 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:42:34,753.753 INFO    ] Waiting 3.37 seconds before fallback handling...
[2026-10-20 15:42:38,690.690 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:42:38,692.692 INFO    ] Checking for system updates...
[2026-10-20 15:42:38,730.730 INFO    ] 200
[2026-10-20 15:42:38,732.732 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:42:38,794.794 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:42:38,797.797 INFO    ] No update needed
[2026-10-20 15:42:38,799.799 INFO    ] Checking for camera pi updates...
[2026-10-20 15:42:38,833.833 INFO    ] 200
[2026-10-20 15:42:38,836.836 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:42:38,881.881 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:42:38,937.937 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:42:38,940.940 INFO    ] No camera update needed
[2026-10-20 15:42:38,942.942 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:42:38,945.945 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:42:38,950.950 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:42:38,955.955 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:42:41,999.999 INFO    ] ================================================
[2026-10-20 15:42:41,015.015 INFO    ] Launching Daemon at Tue Oct 20 15:42:41 IST 2026
[2026-10-20 15:42:41,026.026 INFO    ] ================================================
[2026-10-20 15:42:41,691.691 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:42:41
[2026-10-20 15:42:42,379.379 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:42:42,685.685 INFO    ] Initializing speech engine...
[2026-10-20 15:42:42,693.693 INFO    ] 2026-10-20 15:42:42
[2026-10-20 15:42:42,966.966 INFO    ] 2026-10-20 15:42:42
[2026-10-20 15:42:43,022.022 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:42:43,276.276 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:42:43,294.294 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:42:43,513.513 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:42:43,530.530 INFO    ] time= 20/10/2026 15:42:43
[2026-10-20 15:42:43,561.561 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:42:43,570.570 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:42:43,697.697 INFO    ] No existing commands found in stream
[2026-10-20 15:42:48,729.729 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:42:48,732.732 INFO    ] Waiting 0.06 seconds before fallback handling...
[2026-10-20 15:42:49,361.361 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:42:49,364.364 INFO    ] Checking for system updates...
[2026-10-20 15:42:49,407.407 INFO    ] 200
[2026-10-20 15:42:49,410.410 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:42:49,470.470 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:42:49,473.473 INFO    ] No update needed
[2026-10-20 15:42:49,476.476 INFO    ] Checking for camera pi updates...
[2026-10-20 15:42:49,510.510 INFO    ] 200
[2026-10-20 15:42:49,513.513 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:42:49,559.559 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:42:49,613.613 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:42:49,616.616 INFO    ] No camera update needed
[2026-10-20 15:42:49,618.618 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:42:49,621.621 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:42:49,628.628 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:42:49,634.634 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:42:51,673.673 INFO    ] ================================================
[2026-10-20 15:42:51,688.688 INFO    ] Launching Daemon at Tue Oct 20 15:42:51 IST 2026
[2026-10-20 15:42:51,698.698 INFO    ] ================================================
[2026-10-20 15:42:52,394.394 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:42:52
[2026-10-20 15:42:53,096.096 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:42:53,414.414 INFO    ] Initializing speech engine...
[2026-10-20 15:42:53,425.425 INFO    ] 2026-10-20 15:42:53
[2026-10-20 15:42:53,734.734 INFO    ] 2026-10-20 15:42:53
[2026-10-20 15:42:53,819.819 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:42:54,097.097 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:42:54,139.139 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:42:54,361.361 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:42:54,398.398 INFO    ] time= 20/10/2026 15:42:54
[2026-10-20 15:42:54,463.463 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:42:54,515.515 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:42:54,679.679 INFO    ] No existing commands found in stream
[2026-10-20 15:42:59,695.695 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:42:59,698.698 INFO    ] Waiting 1.86 seconds before fallback handling...
[2026-10-20 15:43:02,236.236 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 15:43:02,240.240 INFO    ] Checking for system updates...
[2026-10-20 15:43:02,283.283 INFO    ] 200
[2026-10-20 15:43:02,287.287 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:43:02,359.359 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:43:02,364.364 INFO    ] No update needed
[2026-10-20 15:43:02,368.368 INFO    ] Checking for camera pi updates...
[2026-10-20 15:43:02,419.419 INFO    ] 200
[2026-10-20 15:43:02,422.422 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:43:02,466.466 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:43:02,498.498 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:43:02,502.502 INFO    ] No camera update needed
[2026-10-20 15:43:02,505.505 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:43:02,508.508 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:43:02,517.517 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:43:02,525.525 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:43:04,566.566 INFO    ] ================================================
[2026-10-20 15:43:04,581.581 INFO    ] Launching Daemon at Tue Oct 20 15:43:04 IST 2026
[2026-10-20 15:43:04,591.591 INFO    ] ================================================
[2026-10-20 15:43:05,175.175 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:43:05
[2026-10-20 15:43:05,811.811 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:43:06,117.117 INFO    ] Initializing speech engine...
[2026-10-20 15:43:06,124.124 INFO    ] 2026-10-20 15:43:06
[2026-10-20 15:43:06,395.395 INFO    ] 2026-10-20 15:43:06
[2026-10-20 15:43:06,443.443 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:43:06,712.712 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:43:06,729.729 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:43:06,929.929 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:43:06,945.945 INFO    ] time= 20/10/2026 15:43:06
[2026-10-20 15:43:06,960.960 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:43:06,982.982 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:43:07,111.111 INFO    ] No existing commands found in stream
[2026-10-20 15:43:12,142.142 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:43:12,145.145 INFO    ] Waiting 1.97 seconds before fallback handling...
[2026-10-20 15:43:14,663.663 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:43:14,666.666 INFO    ] Checking for system updates...
[2026-10-20 15:43:14,703.703 INFO    ] 200
[2026-10-20 15:43:14,705.705 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:43:14,759.759 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:43:14,762.762 INFO    ] No update needed
[2026-10-20 15:43:14,764.764 INFO    ] Checking for camera pi updates...
[2026-10-20 15:43:14,801.801 INFO    ] 200
[2026-10-20 15:43:14,804.804 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:43:14,850.850 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:43:15,005.005 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:43:15,008.008 INFO    ] No camera update needed
[2026-10-20 15:43:15,011.011 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:43:15,014.014 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:43:15,020.020 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:43:15,025.025 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:43:17,066.066 INFO    ] ================================================
[2026-10-20 15:43:17,081.081 INFO    ] Launching Daemon at Tue Oct 20 15:43:17 IST 2026
[2026-10-20 15:43:17,092.092 INFO    ] ================================================
[2026-10-20 15:43:17,669.669 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:43:17
[2026-10-20 15:43:18,258.258 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:43:18,540.540 INFO    ] Initializing speech engine...
[2026-10-20 15:43:18,547.547 INFO    ] 2026-10-20 15:43:18
[2026-10-20 15:43:18,815.815 INFO    ] 2026-10-20 15:43:18
[2026-10-20 15:43:18,857.857 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:43:19,140.140 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:43:19,146.146 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:43:19,338.338 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:43:19,359.359 INFO    ] time= 20/10/2026 15:43:19
[2026-10-20 15:43:19,385.385 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:43:19,393.393 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:43:19,517.517 INFO    ] No existing commands found in stream
[2026-10-20 15:43:24,547.547 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:43:24,550.550 INFO    ] Waiting 1.45 seconds before fallback handling...
[2026-10-20 15:43:26,534.534 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 15:43:26,537.537 INFO    ] Checking for system updates...
[2026-10-20 15:43:26,572.572 INFO    ] 200
[2026-10-20 15:43:26,575.575 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:43:26,627.627 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:43:26,629.629 INFO    ] No update needed
[2026-10-20 15:43:26,632.632 INFO    ] Checking for camera pi updates...
[2026-10-20 15:43:26,668.668 INFO    ] 200
[2026-10-20 15:43:26,670.670 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:43:26,714.714 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:43:26,760.760 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:43:26,762.762 INFO    ] No camera update needed
[2026-10-20 15:43:26,765.765 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:43:26,767.767 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:43:26,772.772 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:43:26,777.777 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:43:28,818.818 INFO    ] ================================================
[2026-10-20 15:43:28,833.833 INFO    ] Launching Daemon at Tue Oct 20 15:43:28 IST 2026
[2026-10-20 15:43:28,844.844 INFO    ] ================================================
[2026-10-20 15:43:29,487.487 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:43:29
[2026-10-20 15:43:30,145.145 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:43:30,446.446 INFO    ] Initializing speech engine...
[2026-10-20 15:43:30,455.455 INFO    ] 2026-10-20 15:43:30
[2026-10-20 15:43:30,726.726 INFO    ] 2026-10-20 15:43:30
[2026-10-20 15:43:30,761.761 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:43:31,027.027 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:43:31,037.037 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:43:31,204.204 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:43:31,207.207 INFO    ] time= 20/10/2026 15:43:31
[2026-10-20 15:43:31,267.267 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:43:31,332.332 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:43:31,472.472 INFO    ] No existing commands found in stream
[2026-10-20 15:43:36,495.495 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:43:36,497.497 INFO    ] Waiting 3.57 seconds before fallback handling...
[2026-10-20 15:43:40,620.620 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:43:40,623.623 INFO    ] Checking for system updates...
[2026-10-20 15:43:40,661.661 INFO    ] 200
[2026-10-20 15:43:40,664.664 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:43:40,716.716 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:43:40,719.719 INFO    ] No update needed
[2026-10-20 15:43:40,721.721 INFO    ] Checking for camera pi updates...
[2026-10-20 15:43:40,768.768 INFO    ] 200
[2026-10-20 15:43:40,770.770 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:43:40,810.810 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:43:40,858.858 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:43:40,861.861 INFO    ] No camera update needed
[2026-10-20 15:43:40,863.863 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:43:40,865.865 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:43:40,871.871 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:43:40,876.876 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:43:42,915.915 INFO    ] ================================================
[2026-10-20 15:43:42,930.930 INFO    ] Launching Daemon at Tue Oct 20 15:43:42 IST 2026
[2026-10-20 15:43:42,940.940 INFO    ] ================================================
[2026-10-20 15:43:43,519.519 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:43:43
[2026-10-20 15:43:44,115.115 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:43:44,392.392 INFO    ] Initializing speech engine...
[2026-10-20 15:43:44,401.401 INFO    ] 2026-10-20 15:43:44
[2026-10-20 15:43:44,659.659 INFO    ] 2026-10-20 15:43:44
[2026-10-20 15:43:44,689.689 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:43:44,962.962 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:43:44,967.967 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:43:45,195.195 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:43:45,202.202 INFO    ] time= 20/10/2026 15:43:45
[2026-10-20 15:43:45,220.220 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:43:45,242.242 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:43:45,380.380 INFO    ] No existing commands found in stream
[2026-10-20 15:43:50,416.416 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:43:50,419.419 INFO    ] Waiting 1.21 seconds before fallback handling...
[2026-10-20 15:43:52,190.190 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:43:52,192.192 INFO    ] Checking for system updates...
[2026-10-20 15:43:52,228.228 INFO    ] 200
[2026-10-20 15:43:52,231.231 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:43:52,286.286 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:43:52,288.288 INFO    ] No update needed
[2026-10-20 15:43:52,291.291 INFO    ] Checking for camera pi updates...
[2026-10-20 15:43:52,329.329 INFO    ] 200
[2026-10-20 15:43:52,331.331 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:43:52,372.372 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:43:52,420.420 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:43:52,423.423 INFO    ] No camera update needed
[2026-10-20 15:43:52,425.425 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:43:52,427.427 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:43:52,433.433 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:43:52,438.438 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:43:54,478.478 INFO    ] ================================================
[2026-10-20 15:43:54,493.493 INFO    ] Launching Daemon at Tue Oct 20 15:43:54 IST 2026
[2026-10-20 15:43:54,504.504 INFO    ] ================================================
[2026-10-20 15:43:55,071.071 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:43:55
[2026-10-20 15:43:55,654.654 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:43:55,927.927 INFO    ] Initializing speech engine...
[2026-10-20 15:43:55,935.935 INFO    ] 2026-10-20 15:43:55
[2026-10-20 15:43:56,187.187 INFO    ] 2026-10-20 15:43:56
[2026-10-20 15:43:56,222.222 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:43:56,483.483 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:43:56,488.488 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:43:56,709.709 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:43:56,752.752 INFO    ] time= 20/10/2026 15:43:56
[2026-10-20 15:43:56,758.758 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:43:56,776.776 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:43:56,915.915 INFO    ] No existing commands found in stream
[2026-10-20 15:44:01,946.946 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:44:01,949.949 INFO    ] Waiting 1.14 seconds before fallback handling...
[2026-10-20 15:44:03,647.647 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:44:03,655.655 INFO    ] Checking for system updates...
[2026-10-20 15:44:03,698.698 INFO    ] 200
[2026-10-20 15:44:03,702.702 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:44:03,759.759 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:44:03,762.762 INFO    ] No update needed
[2026-10-20 15:44:03,765.765 INFO    ] Checking for camera pi updates...
[2026-10-20 15:44:03,808.808 INFO    ] 200
[2026-10-20 15:44:03,812.812 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:44:03,864.864 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:44:03,910.910 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:44:03,913.913 INFO    ] No camera update needed
[2026-10-20 15:44:03,916.916 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:44:03,919.919 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:44:03,925.925 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:44:03,934.934 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:44:05,977.977 INFO    ] ================================================
[2026-10-20 15:44:05,992.992 INFO    ] Launching Daemon at Tue Oct 20 15:44:05 IST 2026
[2026-10-20 15:44:06,003.003 INFO    ] ================================================
[2026-10-20 15:44:06,567.567 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:44:06
[2026-10-20 15:44:07,147.147 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:44:07,413.413 INFO    ] Initializing speech engine...
[2026-10-20 15:44:07,423.423 INFO    ] 2026-10-20 15:44:07
[2026-10-20 15:44:07,679.679 INFO    ] 2026-10-20 15:44:07
[2026-10-20 15:44:07,709.709 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:44:07,977.977 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:44:07,982.982 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:44:08,200.200 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:44:08,218.218 INFO    ] time= 20/10/2026 15:44:08
[2026-10-20 15:44:08,224.224 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:44:08,241.241 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:44:08,373.373 INFO    ] No existing commands found in stream
[2026-10-20 15:44:13,395.395 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:44:13,398.398 INFO    ] Waiting 3.18 seconds before fallback handling...
[2026-10-20 15:44:17,068.068 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:44:17,071.071 INFO    ] Checking for system updates...
[2026-10-20 15:44:17,106.106 INFO    ] 200
[2026-10-20 15:44:17,108.108 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:44:17,160.160 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:44:17,162.162 INFO    ] No update needed
[2026-10-20 15:44:17,164.164 INFO    ] Checking for camera pi updates...
[2026-10-20 15:44:17,197.197 INFO    ] 200
[2026-10-20 15:44:17,200.200 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:44:17,240.240 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:44:17,282.282 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:44:17,285.285 INFO    ] No camera update needed
[2026-10-20 15:44:17,287.287 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:44:17,290.290 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:44:17,295.295 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:44:17,300.300 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:44:19,341.341 INFO    ] ================================================
[2026-10-20 15:44:19,356.356 INFO    ] Launching Daemon at Tue Oct 20 15:44:19 IST 2026
[2026-10-20 15:44:19,367.367 INFO    ] ================================================
[2026-10-20 15:44:19,946.946 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:44:19
[2026-10-20 15:44:20,542.542 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:44:20,818.818 INFO    ] Initializing speech engine...
[2026-10-20 15:44:20,825.825 INFO    ] 2026-10-20 15:44:20
[2026-10-20 15:44:21,074.074 INFO    ] 2026-10-20 15:44:21
[2026-10-20 15:44:21,116.116 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:44:21,364.364 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:44:21,371.371 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:44:21,597.597 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:44:21,627.627 INFO    ] time= 20/10/2026 15:44:21
[2026-10-20 15:44:21,633.633 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:44:21,650.650 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:44:21,779.779 INFO    ] No existing commands found in stream
[2026-10-20 15:44:26,792.792 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:44:26,795.795 INFO    ] Waiting 1.10 seconds before fallback handling...
[2026-10-20 15:44:28,413.413 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:44:28,416.416 INFO    ] Checking for system updates...
[2026-10-20 15:44:28,452.452 INFO    ] 200
[2026-10-20 15:44:28,454.454 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:44:28,510.510 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:44:28,513.513 INFO    ] No update needed
[2026-10-20 15:44:28,515.515 INFO    ] Checking for camera pi updates...
[2026-10-20 15:44:28,551.551 INFO    ] 200
[2026-10-20 15:44:28,554.554 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:44:28,595.595 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:44:28,640.640 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:44:28,642.642 INFO    ] No camera update needed
[2026-10-20 15:44:28,645.645 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:44:28,647.647 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:44:28,652.652 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:44:28,657.657 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:44:30,697.697 INFO    ] ================================================
[2026-10-20 15:44:30,712.712 INFO    ] Launching Daemon at Tue Oct 20 15:44:30 IST 2026
[2026-10-20 15:44:30,722.722 INFO    ] ================================================
[2026-10-20 15:44:31,286.286 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:44:31
[2026-10-20 15:44:31,867.867 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:44:32,150.150 INFO    ] Initializing speech engine...
[2026-10-20 15:44:32,166.166 INFO    ] 2026-10-20 15:44:32
[2026-10-20 15:44:32,432.432 INFO    ] 2026-10-20 15:44:32
[2026-10-20 15:44:32,469.469 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:44:32,674.674 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:44:32,740.740 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:44:32,927.927 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:44:32,987.987 INFO    ] time= 20/10/2026 15:44:32
[2026-10-20 15:44:33,016.016 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:44:33,023.023 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:44:33,167.167 INFO    ] No existing commands found in stream
[2026-10-20 15:44:38,185.185 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:44:38,188.188 INFO    ] Waiting 1.86 seconds before fallback handling...
[2026-10-20 15:44:40,567.567 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:44:40,570.570 INFO    ] Checking for system updates...
[2026-10-20 15:44:40,606.606 INFO    ] 200
[2026-10-20 15:44:40,609.609 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:44:40,662.662 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:44:40,665.665 INFO    ] No update needed
[2026-10-20 15:44:40,667.667 INFO    ] Checking for camera pi updates...
[2026-10-20 15:44:40,701.701 INFO    ] 200
[2026-10-20 15:44:40,704.704 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:44:40,749.749 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:44:40,806.806 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:44:40,809.809 INFO    ] No camera update needed
[2026-10-20 15:44:40,811.811 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:44:40,814.814 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:44:40,820.820 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:44:40,825.825 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:44:42,865.865 INFO    ] ================================================
[2026-10-20 15:44:42,881.881 INFO    ] Launching Daemon at Tue Oct 20 15:44:42 IST 2026
[2026-10-20 15:44:42,891.891 INFO    ] ================================================
[2026-10-20 15:44:43,517.517 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:44:43
[2026-10-20 15:44:44,141.141 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:44:44,418.418 INFO    ] Initializing speech engine...
[2026-10-20 15:44:44,425.425 INFO    ] 2026-10-20 15:44:44
[2026-10-20 15:44:44,684.684 INFO    ] 2026-10-20 15:44:44
[2026-10-20 15:44:44,738.738 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:44:44,963.963 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:44:44,970.970 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:44:45,180.180 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:44:45,224.224 INFO    ] time= 20/10/2026 15:44:45
[2026-10-20 15:44:45,231.231 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:44:45,251.251 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:44:45,379.379 INFO    ] No existing commands found in stream
[2026-10-20 15:44:50,401.401 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:44:50,404.404 INFO    ] Waiting 3.21 seconds before fallback handling...
[2026-10-20 15:44:54,130.130 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:44:54,132.132 INFO    ] Checking for system updates...
[2026-10-20 15:44:54,167.167 INFO    ] 200
[2026-10-20 15:44:54,170.170 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:44:54,221.221 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:44:54,224.224 INFO    ] No update needed
[2026-10-20 15:44:54,226.226 INFO    ] Checking for camera pi updates...
[2026-10-20 15:44:54,260.260 INFO    ] 200
[2026-10-20 15:44:54,262.262 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:44:54,305.305 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:44:54,350.350 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:44:54,353.353 INFO    ] No camera update needed
[2026-10-20 15:44:54,355.355 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:44:54,357.357 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:44:54,363.363 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:44:54,367.367 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:44:56,406.406 INFO    ] ================================================
[2026-10-20 15:44:56,421.421 INFO    ] Launching Daemon at Tue Oct 20 15:44:56 IST 2026
[2026-10-20 15:44:56,432.432 INFO    ] ================================================
[2026-10-20 15:44:57,014.014 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:44:57
[2026-10-20 15:44:57,615.615 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:44:57,898.898 INFO    ] Initializing speech engine...
[2026-10-20 15:44:57,909.909 INFO    ] 2026-10-20 15:44:57
[2026-10-20 15:44:58,172.172 INFO    ] 2026-10-20 15:44:58
[2026-10-20 15:44:58,215.215 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:44:58,494.494 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:44:58,503.503 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:44:58,699.699 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:44:58,705.705 INFO    ] time= 20/10/2026 15:44:58
[2026-10-20 15:44:58,721.721 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:44:58,746.746 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:44:58,868.868 INFO    ] No existing commands found in stream
[2026-10-20 15:45:03,897.897 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:45:03,901.901 INFO    ] Waiting 2.41 seconds before fallback handling...
[2026-10-20 15:45:06,860.860 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:45:06,863.863 INFO    ] Checking for system updates...
[2026-10-20 15:45:06,898.898 INFO    ] 200
[2026-10-20 15:45:06,901.901 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:45:06,952.952 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:45:06,955.955 INFO    ] No update needed
[2026-10-20 15:45:06,957.957 INFO    ] Checking for camera pi updates...
[2026-10-20 15:45:06,991.991 INFO    ] 200
[2026-10-20 15:45:06,993.993 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:45:07,033.033 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:45:07,090.090 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:45:07,092.092 INFO    ] No camera update needed
[2026-10-20 15:45:07,094.094 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:45:07,097.097 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:45:07,102.102 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:45:07,107.107 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:45:09,151.151 INFO    ] ================================================
[2026-10-20 15:45:09,166.166 INFO    ] Launching Daemon at Tue Oct 20 15:45:09 IST 2026
[2026-10-20 15:45:09,177.177 INFO    ] ================================================
[2026-10-20 15:45:09,745.745 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:45:09
[2026-10-20 15:45:10,328.328 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:45:10,595.595 INFO    ] Initializing speech engine...
[2026-10-20 15:45:10,604.604 INFO    ] 2026-10-20 15:45:10
[2026-10-20 15:45:10,851.851 INFO    ] 2026-10-20 15:45:10
[2026-10-20 15:45:10,886.886 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:45:11,136.136 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:45:11,145.145 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:45:11,349.349 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:45:11,403.403 INFO    ] time= 20/10/2026 15:45:11
[2026-10-20 15:45:11,409.409 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:45:11,427.427 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:45:11,524.524 INFO    ] No existing commands found in stream
[2026-10-20 15:45:16,534.534 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:45:16,536.536 INFO    ] Waiting 3.78 seconds before fallback handling...
[2026-10-20 15:45:20,814.814 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:45:20,817.817 INFO    ] Checking for system updates...
[2026-10-20 15:45:20,856.856 INFO    ] 200
[2026-10-20 15:45:20,858.858 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:45:20,910.910 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:45:20,912.912 INFO    ] No update needed
[2026-10-20 15:45:20,915.915 INFO    ] Checking for camera pi updates...
[2026-10-20 15:45:20,951.951 INFO    ] 200
[2026-10-20 15:45:20,953.953 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:45:20,994.994 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:45:21,141.141 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:45:21,150.150 INFO    ] No camera update needed
[2026-10-20 15:45:21,153.153 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:45:21,155.155 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:45:21,160.160 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:45:21,165.165 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:45:23,205.205 INFO    ] ================================================
[2026-10-20 15:45:23,220.220 INFO    ] Launching Daemon at Tue Oct 20 15:45:23 IST 2026
[2026-10-20 15:45:23,231.231 INFO    ] ================================================
[2026-10-20 15:45:23,801.801 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:45:23
[2026-10-20 15:45:24,386.386 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:45:24,658.658 INFO    ] Initializing speech engine...
[2026-10-20 15:45:24,664.664 INFO    ] 2026-10-20 15:45:24
[2026-10-20 15:45:24,925.925 INFO    ] 2026-10-20 15:45:24
[2026-10-20 15:45:24,955.955 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:45:25,205.205 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:45:25,209.209 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:45:25,417.417 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:45:25,467.467 INFO    ] time= 20/10/2026 15:45:25
[2026-10-20 15:45:25,473.473 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:45:25,491.491 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:45:25,644.644 INFO    ] No existing commands found in stream
[2026-10-20 15:45:30,674.674 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:45:30,677.677 INFO    ] Waiting 1.79 seconds before fallback handling...
[2026-10-20 15:45:32,977.977 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:45:32,980.980 INFO    ] Checking for system updates...
[2026-10-20 15:45:33,017.017 INFO    ] 200
[2026-10-20 15:45:33,020.020 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:45:33,077.077 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:45:33,079.079 INFO    ] No update needed
[2026-10-20 15:45:33,082.082 INFO    ] Checking for camera pi updates...
[2026-10-20 15:45:33,115.115 INFO    ] 200
[2026-10-20 15:45:33,117.117 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:45:33,158.158 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:45:33,202.202 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:45:33,204.204 INFO    ] No camera update needed
[2026-10-20 15:45:33,207.207 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:45:33,209.209 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:45:33,214.214 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:45:33,219.219 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:45:35,261.261 INFO    ] ================================================
[2026-10-20 15:45:35,276.276 INFO    ] Launching Daemon at Tue Oct 20 15:45:35 IST 2026
[2026-10-20 15:45:35,288.288 INFO    ] ================================================
[2026-10-20 15:45:35,853.853 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:45:35
[2026-10-20 15:45:36,445.445 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:45:36,711.711 INFO    ] Initializing speech engine...
[2026-10-20 15:45:36,724.724 INFO    ] 2026-10-20 15:45:36
[2026-10-20 15:45:37,008.008 INFO    ] 2026-10-20 15:45:36
[2026-10-20 15:45:37,046.046 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:45:37,272.272 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:45:37,337.337 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:45:37,549.549 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:45:37,594.594 INFO    ] time= 20/10/2026 15:45:37
[2026-10-20 15:45:37,642.642 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:45:37,649.649 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:45:37,815.815 INFO    ] No existing commands found in stream
[2026-10-20 15:45:42,828.828 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:45:42,831.831 INFO    ] Waiting 3.29 seconds before fallback handling...
[2026-10-20 15:45:46,622.622 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:45:46,625.625 INFO    ] Checking for system updates...
[2026-10-20 15:45:46,662.662 INFO    ] 200
[2026-10-20 15:45:46,665.665 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:45:46,718.718 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:45:46,721.721 INFO    ] No update needed
[2026-10-20 15:45:46,723.723 INFO    ] Checking for camera pi updates...
[2026-10-20 15:45:46,757.757 INFO    ] 200
[2026-10-20 15:45:46,760.760 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:45:46,801.801 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:45:46,851.851 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:45:46,853.853 INFO    ] No camera update needed
[2026-10-20 15:45:46,856.856 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:45:46,859.859 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:45:46,865.865 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:45:46,871.871 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:45:48,912.912 INFO    ] ================================================
[2026-10-20 15:45:48,928.928 INFO    ] Launching Daemon at Tue Oct 20 15:45:48 IST 2026
[2026-10-20 15:45:48,939.939 INFO    ] ================================================
[2026-10-20 15:45:49,531.531 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:45:49
[2026-10-20 15:45:50,136.136 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:45:50,415.415 INFO    ] Initializing speech engine...
[2026-10-20 15:45:50,423.423 INFO    ] 2026-10-20 15:45:50
[2026-10-20 15:45:50,684.684 INFO    ] 2026-10-20 15:45:50
[2026-10-20 15:45:50,713.713 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:45:50,975.975 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:45:50,982.982 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:45:51,214.214 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:45:51,241.241 INFO    ] time= 20/10/2026 15:45:51
[2026-10-20 15:45:51,247.247 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:45:51,267.267 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:45:51,407.407 INFO    ] No existing commands found in stream
[2026-10-20 15:45:56,425.425 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:45:56,428.428 INFO    ] Waiting 0.81 seconds before fallback handling...
[2026-10-20 15:45:57,747.747 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:45:57,750.750 INFO    ] Checking for system updates...
[2026-10-20 15:45:57,786.786 INFO    ] 200
[2026-10-20 15:45:57,789.789 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:45:57,848.848 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:45:57,851.851 INFO    ] No update needed
[2026-10-20 15:45:57,854.854 INFO    ] Checking for camera pi updates...
[2026-10-20 15:45:57,892.892 INFO    ] 200
[2026-10-20 15:45:57,895.895 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:45:57,940.940 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:45:57,990.990 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:45:57,993.993 INFO    ] No camera update needed
[2026-10-20 15:45:57,995.995 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:45:57,998.998 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:45:58,004.004 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:45:58,010.010 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:46:00,057.057 INFO    ] ================================================
[2026-10-20 15:46:00,073.073 INFO    ] Launching Daemon at Tue Oct 20 15:46:00 IST 2026
[2026-10-20 15:46:00,084.084 INFO    ] ================================================
[2026-10-20 15:46:00,651.651 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:46:00
[2026-10-20 15:46:01,235.235 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:46:01,595.595 INFO    ] Initializing speech engine...
[2026-10-20 15:46:01,599.599 INFO    ] 2026-10-20 15:46:01
[2026-10-20 15:46:02,007.007 INFO    ] 2026-10-20 15:46:02
[2026-10-20 15:46:02,043.043 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:46:02,335.335 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:46:02,384.384 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:46:02,609.609 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:46:02,657.657 INFO    ] time= 20/10/2026 15:46:02
[2026-10-20 15:46:02,722.722 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:46:02,789.789 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:46:03,011.011 INFO    ] No existing commands found in stream
[2026-10-20 15:46:08,035.035 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:46:08,038.038 INFO    ] Waiting 1.70 seconds before fallback handling...
[2026-10-20 15:46:10,285.285 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:46:10,288.288 INFO    ] Checking for system updates...
[2026-10-20 15:46:10,327.327 INFO    ] 200
[2026-10-20 15:46:10,330.330 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:46:10,382.382 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:46:10,384.384 INFO    ] No update needed
[2026-10-20 15:46:10,386.386 INFO    ] Checking for camera pi updates...
[2026-10-20 15:46:10,420.420 INFO    ] 200
[2026-10-20 15:46:10,423.423 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:46:10,466.466 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:46:10,517.517 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:46:10,520.520 INFO    ] No camera update needed
[2026-10-20 15:46:10,522.522 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:46:10,525.525 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:46:10,530.530 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:46:10,535.535 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:46:12,575.575 INFO    ] ================================================
[2026-10-20 15:46:12,590.590 INFO    ] Launching Daemon at Tue Oct 20 15:46:12 IST 2026
[2026-10-20 15:46:12,601.601 INFO    ] ================================================
[2026-10-20 15:46:13,246.246 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:46:13
[2026-10-20 15:46:13,910.910 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:46:14,206.206 INFO    ] Initializing speech engine...
[2026-10-20 15:46:14,218.218 INFO    ] 2026-10-20 15:46:14
[2026-10-20 15:46:14,492.492 INFO    ] 2026-10-20 15:46:14
[2026-10-20 15:46:14,531.531 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:46:14,792.792 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:46:14,798.798 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:46:15,048.048 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:46:15,074.074 INFO    ] time= 20/10/2026 15:46:15
[2026-10-20 15:46:15,081.081 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:46:15,103.103 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:46:15,242.242 INFO    ] No existing commands found in stream
[2026-10-20 15:46:20,268.268 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:46:20,271.271 INFO    ] Waiting 3.98 seconds before fallback handling...
[2026-10-20 15:46:24,821.821 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:46:24,824.824 INFO    ] Checking for system updates...
[2026-10-20 15:46:24,860.860 INFO    ] 200
[2026-10-20 15:46:24,863.863 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:46:24,916.916 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:46:24,918.918 INFO    ] No update needed
[2026-10-20 15:46:24,921.921 INFO    ] Checking for camera pi updates...
[2026-10-20 15:46:24,954.954 INFO    ] 200
[2026-10-20 15:46:24,957.957 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:46:24,997.997 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:46:25,044.044 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:46:25,047.047 INFO    ] No camera update needed
[2026-10-20 15:46:25,049.049 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:46:25,051.051 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:46:25,057.057 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:46:25,062.062 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:46:27,102.102 INFO    ] ================================================
[2026-10-20 15:46:27,122.122 INFO    ] Launching Daemon at Tue Oct 20 15:46:27 IST 2026
[2026-10-20 15:46:27,134.134 INFO    ] ================================================
[2026-10-20 15:46:27,793.793 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:46:27
[2026-10-20 15:46:28,456.456 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:46:28,765.765 INFO    ] Initializing speech engine...
[2026-10-20 15:46:28,777.777 INFO    ] 2026-10-20 15:46:28
[2026-10-20 15:46:29,092.092 INFO    ] 2026-10-20 15:46:29
[2026-10-20 15:46:29,179.179 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:46:29,399.399 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:46:29,406.406 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:46:29,604.604 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:46:29,611.611 INFO    ] time= 20/10/2026 15:46:29
[2026-10-20 15:46:29,633.633 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:46:29,662.662 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:46:29,790.790 INFO    ] No existing commands found in stream
[2026-10-20 15:46:34,821.821 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:46:34,824.824 INFO    ] Waiting 2.16 seconds before fallback handling...
[2026-10-20 15:46:37,525.525 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:46:37,528.528 INFO    ] Checking for system updates...
[2026-10-20 15:46:37,565.565 INFO    ] 200
[2026-10-20 15:46:37,568.568 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:46:37,622.622 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:46:37,625.625 INFO    ] No update needed
[2026-10-20 15:46:37,627.627 INFO    ] Checking for camera pi updates...
[2026-10-20 15:46:37,662.662 INFO    ] 200
[2026-10-20 15:46:37,665.665 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:46:37,706.706 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:46:37,752.752 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:46:37,755.755 INFO    ] No camera update needed
[2026-10-20 15:46:37,757.757 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:46:37,760.760 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:46:37,766.766 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:46:37,772.772 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:46:39,814.814 INFO    ] ================================================
[2026-10-20 15:46:39,830.830 INFO    ] Launching Daemon at Tue Oct 20 15:46:39 IST 2026
[2026-10-20 15:46:39,841.841 INFO    ] ================================================
[2026-10-20 15:46:40,427.427 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:46:40
[2026-10-20 15:46:41,031.031 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:46:41,305.305 INFO    ] Initializing speech engine...
[2026-10-20 15:46:41,315.315 INFO    ] 2026-10-20 15:46:41
[2026-10-20 15:46:41,564.564 INFO    ] 2026-10-20 15:46:41
[2026-10-20 15:46:41,606.606 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:46:41,853.853 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:46:41,862.862 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:46:42,002.002 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:46:42,056.056 INFO    ] time= 20/10/2026 15:46:42
[2026-10-20 15:46:42,105.105 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:46:42,130.130 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:46:42,289.289 INFO    ] No existing commands found in stream
[2026-10-20 15:46:47,315.315 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:46:47,318.318 INFO    ] Waiting 3.77 seconds before fallback handling...
[2026-10-20 15:46:51,569.569 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 15:46:51,578.578 INFO    ] Checking for system updates...
[2026-10-20 15:46:51,622.622 INFO    ] 200
[2026-10-20 15:46:51,625.625 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:46:51,688.688 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:46:51,691.691 INFO    ] No update needed
[2026-10-20 15:46:51,694.694 INFO    ] Checking for camera pi updates...
[2026-10-20 15:46:51,729.729 INFO    ] 200
[2026-10-20 15:46:51,732.732 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:46:51,778.778 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:46:51,833.833 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:46:51,836.836 INFO    ] No camera update needed
[2026-10-20 15:46:51,839.839 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:46:51,842.842 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:46:51,848.848 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:46:51,854.854 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:46:53,895.895 INFO    ] ================================================
[2026-10-20 15:46:53,911.911 INFO    ] Launching Daemon at Tue Oct 20 15:46:53 IST 2026
[2026-10-20 15:46:53,922.922 INFO    ] ================================================
[2026-10-20 15:46:54,571.571 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:46:54
[2026-10-20 15:46:55,241.241 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:46:55,548.548 INFO    ] Initializing speech engine...
[2026-10-20 15:46:55,563.563 INFO    ] 2026-10-20 15:46:55
[2026-10-20 15:46:55,874.874 INFO    ] 2026-10-20 15:46:55
[2026-10-20 15:46:55,963.963 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:46:56,183.183 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:46:56,191.191 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:46:56,391.391 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:46:56,410.410 INFO    ] time= 20/10/2026 15:46:56
[2026-10-20 15:46:56,433.433 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:46:56,446.446 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:46:56,578.578 INFO    ] No existing commands found in stream
[2026-10-20 15:47:01,619.619 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:47:01,622.622 INFO    ] Waiting 1.27 seconds before fallback handling...
[2026-10-20 15:47:03,409.409 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:47:03,412.412 INFO    ] Checking for system updates...
[2026-10-20 15:47:03,455.455 INFO    ] 200
[2026-10-20 15:47:03,459.459 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:47:03,511.511 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:47:03,513.513 INFO    ] No update needed
[2026-10-20 15:47:03,516.516 INFO    ] Checking for camera pi updates...
[2026-10-20 15:47:03,559.559 INFO    ] 200
[2026-10-20 15:47:03,561.561 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:47:03,605.605 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:47:03,655.655 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:47:03,660.660 INFO    ] No camera update needed
[2026-10-20 15:47:03,665.665 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:47:03,668.668 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:47:03,677.677 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:47:03,685.685 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:47:05,730.730 INFO    ] ================================================
[2026-10-20 15:47:05,745.745 INFO    ] Launching Daemon at Tue Oct 20 15:47:05 IST 2026
[2026-10-20 15:47:05,757.757 INFO    ] ================================================
[2026-10-20 15:47:06,341.341 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:47:06
[2026-10-20 15:47:06,940.940 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:47:07,203.203 INFO    ] Initializing speech engine...
[2026-10-20 15:47:07,216.216 INFO    ] 2026-10-20 15:47:07
[2026-10-20 15:47:07,493.493 INFO    ] 2026-10-20 15:47:07
[2026-10-20 15:47:07,530.530 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:47:07,773.773 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:47:07,811.811 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:47:07,964.964 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:47:08,034.034 INFO    ] time= 20/10/2026 15:47:07
[2026-10-20 15:47:08,084.084 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:47:08,107.107 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:47:08,251.251 INFO    ] No existing commands found in stream
[2026-10-20 15:47:13,276.276 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:47:13,279.279 INFO    ] Waiting 0.32 seconds before fallback handling...
[2026-10-20 15:47:14,139.139 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:47:14,142.142 INFO    ] Checking for system updates...
[2026-10-20 15:47:14,178.178 INFO    ] 200
[2026-10-20 15:47:14,180.180 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:47:14,238.238 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:47:14,241.241 INFO    ] No update needed
[2026-10-20 15:47:14,244.244 INFO    ] Checking for camera pi updates...
[2026-10-20 15:47:14,278.278 INFO    ] 200
[2026-10-20 15:47:14,280.280 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:47:14,324.324 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:47:14,374.374 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:47:14,378.378 INFO    ] No camera update needed
[2026-10-20 15:47:14,382.382 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:47:14,386.386 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:47:14,394.394 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:47:14,401.401 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:47:16,446.446 INFO    ] ================================================
[2026-10-20 15:47:16,462.462 INFO    ] Launching Daemon at Tue Oct 20 15:47:16 IST 2026
[2026-10-20 15:47:16,473.473 INFO    ] ================================================
[2026-10-20 15:47:17,060.060 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:47:17
[2026-10-20 15:47:17,668.668 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:47:17,940.940 INFO    ] Initializing speech engine...
[2026-10-20 15:47:17,950.950 INFO    ] 2026-10-20 15:47:17
[2026-10-20 15:47:18,197.197 INFO    ] 2026-10-20 15:47:18
[2026-10-20 15:47:18,238.238 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:47:18,495.495 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:47:18,499.499 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:47:18,733.733 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:47:18,760.760 INFO    ] time= 20/10/2026 15:47:18
[2026-10-20 15:47:18,775.775 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:47:18,784.784 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:47:18,913.913 INFO    ] No existing commands found in stream
[2026-10-20 15:47:23,928.928 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:47:23,931.931 INFO    ] Waiting 3.40 seconds before fallback handling...
[2026-10-20 15:47:27,830.830 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:47:27,833.833 INFO    ] Checking for system updates...
[2026-10-20 15:47:27,878.878 INFO    ] 200
[2026-10-20 15:47:27,881.881 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:47:27,939.939 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:47:27,941.941 INFO    ] No update needed
[2026-10-20 15:47:27,944.944 INFO    ] Checking for camera pi updates...
[2026-10-20 15:47:27,977.977 INFO    ] 200
[2026-10-20 15:47:27,980.980 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:47:28,024.024 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:47:28,172.172 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:47:28,175.175 INFO    ] No camera update needed
[2026-10-20 15:47:28,177.177 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:47:28,180.180 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:47:28,185.185 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:47:28,191.191 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:47:30,231.231 INFO    ] ================================================
[2026-10-20 15:47:30,247.247 INFO    ] Launching Daemon at Tue Oct 20 15:47:30 IST 2026
[2026-10-20 15:47:30,258.258 INFO    ] ================================================
[2026-10-20 15:47:30,896.896 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:47:30
[2026-10-20 15:47:31,554.554 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:47:31,882.882 INFO    ] Initializing speech engine...
[2026-10-20 15:47:31,894.894 INFO    ] 2026-10-20 15:47:31
[2026-10-20 15:47:32,191.191 INFO    ] 2026-10-20 15:47:32
[2026-10-20 15:47:32,239.239 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:47:32,480.480 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:47:32,490.490 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:47:32,711.711 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:47:32,761.761 INFO    ] time= 20/10/2026 15:47:32
[2026-10-20 15:47:32,781.781 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:47:32,802.802 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:47:32,961.961 INFO    ] No existing commands found in stream
[2026-10-20 15:47:37,988.988 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:47:37,991.991 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-10-20 15:47:42,079.079 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:47:42,081.081 INFO    ] Checking for system updates...
[2026-10-20 15:47:42,117.117 INFO    ] 200
[2026-10-20 15:47:42,120.120 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:47:42,174.174 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:47:42,176.176 INFO    ] No update needed
[2026-10-20 15:47:42,179.179 INFO    ] Checking for camera pi updates...
[2026-10-20 15:47:42,213.213 INFO    ] 200
[2026-10-20 15:47:42,216.216 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:47:42,264.264 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:47:42,315.315 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:47:42,318.318 INFO    ] No camera update needed
[2026-10-20 15:47:42,320.320 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:47:42,323.323 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:47:42,328.328 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:47:42,333.333 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:47:44,372.372 INFO    ] ================================================
[2026-10-20 15:47:44,388.388 INFO    ] Launching Daemon at Tue Oct 20 15:47:44 IST 2026
[2026-10-20 15:47:44,399.399 INFO    ] ================================================
[2026-10-20 15:47:44,997.997 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:47:44
[2026-10-20 15:47:45,646.646 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:47:45,944.944 INFO    ] Initializing speech engine...
[2026-10-20 15:47:45,953.953 INFO    ] 2026-10-20 15:47:45
[2026-10-20 15:47:46,224.224 INFO    ] 2026-10-20 15:47:46
[2026-10-20 15:47:46,280.280 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:47:46,513.513 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:47:46,526.526 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:47:46,743.743 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:47:46,783.783 INFO    ] time= 20/10/2026 15:47:46
[2026-10-20 15:47:46,789.789 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:47:46,808.808 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:47:46,888.888 INFO    ] No existing commands found in stream
[2026-10-20 15:47:51,921.921 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:47:51,924.924 INFO    ] Waiting 3.99 seconds before fallback handling...
[2026-10-20 15:47:56,437.437 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:47:56,440.440 INFO    ] Checking for system updates...
[2026-10-20 15:47:56,479.479 INFO    ] 200
[2026-10-20 15:47:56,482.482 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:47:56,539.539 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:47:56,542.542 INFO    ] No update needed
[2026-10-20 15:47:56,545.545 INFO    ] Checking for camera pi updates...
[2026-10-20 15:47:56,579.579 INFO    ] 200
[2026-10-20 15:47:56,582.582 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:47:56,626.626 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:47:56,676.676 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:47:56,679.679 INFO    ] No camera update needed
[2026-10-20 15:47:56,682.682 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:47:56,684.684 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:47:56,690.690 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:47:56,696.696 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:47:58,736.736 INFO    ] ================================================
[2026-10-20 15:47:58,751.751 INFO    ] Launching Daemon at Tue Oct 20 15:47:58 IST 2026
[2026-10-20 15:47:58,761.761 INFO    ] ================================================
[2026-10-20 15:47:59,329.329 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:47:59
[2026-10-20 15:47:59,911.911 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:48:00,163.163 INFO    ] Initializing speech engine...
[2026-10-20 15:48:00,172.172 INFO    ] 2026-10-20 15:48:00
[2026-10-20 15:48:00,460.460 INFO    ] 2026-10-20 15:48:00
[2026-10-20 15:48:00,497.497 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:48:00,698.698 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:48:00,716.716 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:48:00,865.865 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:48:00,871.871 INFO    ] time= 20/10/2026 15:48:00
[2026-10-20 15:48:00,877.877 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:48:00,932.932 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:48:01,055.055 INFO    ] No existing commands found in stream
[2026-10-20 15:48:06,080.080 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:48:06,083.083 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-10-20 15:48:06,685.685 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:48:06,687.687 INFO    ] Checking for system updates...
[2026-10-20 15:48:06,725.725 INFO    ] 200
[2026-10-20 15:48:06,728.728 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:48:06,782.782 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:48:06,785.785 INFO    ] No update needed
[2026-10-20 15:48:06,787.787 INFO    ] Checking for camera pi updates...
[2026-10-20 15:48:06,821.821 INFO    ] 200
[2026-10-20 15:48:06,823.823 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:48:06,862.862 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:48:06,920.920 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:48:06,923.923 INFO    ] No camera update needed
[2026-10-20 15:48:06,928.928 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:48:06,931.931 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:48:06,937.937 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:48:06,942.942 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:48:08,981.981 INFO    ] ================================================
[2026-10-20 15:48:09,996.996 INFO    ] Launching Daemon at Tue Oct 20 15:48:08 IST 2026
[2026-10-20 15:48:09,007.007 INFO    ] ================================================
[2026-10-20 15:48:09,593.593 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:48:09
[2026-10-20 15:48:10,195.195 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:48:10,474.474 INFO    ] Initializing speech engine...
[2026-10-20 15:48:10,481.481 INFO    ] 2026-10-20 15:48:10
[2026-10-20 15:48:10,738.738 INFO    ] 2026-10-20 15:48:10
[2026-10-20 15:48:10,769.769 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:48:11,014.014 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:48:11,024.024 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:48:11,163.163 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:48:11,217.217 INFO    ] time= 20/10/2026 15:48:11
[2026-10-20 15:48:11,277.277 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:48:11,292.292 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:48:11,438.438 INFO    ] No existing commands found in stream
[2026-10-20 15:48:16,456.456 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:48:16,459.459 INFO    ] Waiting 2.78 seconds before fallback handling...
[2026-10-20 15:48:19,752.752 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:48:19,755.755 INFO    ] Checking for system updates...
[2026-10-20 15:48:19,790.790 INFO    ] 200
[2026-10-20 15:48:19,792.792 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:48:19,847.847 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:48:19,849.849 INFO    ] No update needed
[2026-10-20 15:48:19,856.856 INFO    ] Checking for camera pi updates...
[2026-10-20 15:48:19,892.892 INFO    ] 200
[2026-10-20 15:48:19,894.894 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:48:19,936.936 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:48:19,981.981 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:48:19,983.983 INFO    ] No camera update needed
[2026-10-20 15:48:19,985.985 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:48:19,988.988 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:48:19,993.993 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:48:19,998.998 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:48:22,039.039 INFO    ] ================================================
[2026-10-20 15:48:22,055.055 INFO    ] Launching Daemon at Tue Oct 20 15:48:22 IST 2026
[2026-10-20 15:48:22,065.065 INFO    ] ================================================
[2026-10-20 15:48:22,643.643 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:48:22
[2026-10-20 15:48:23,241.241 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:48:23,497.497 INFO    ] Initializing speech engine...
[2026-10-20 15:48:23,505.505 INFO    ] 2026-10-20 15:48:23
[2026-10-20 15:48:23,794.794 INFO    ] 2026-10-20 15:48:23
[2026-10-20 15:48:23,832.832 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:48:24,115.115 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:48:24,125.125 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:48:24,273.273 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:48:24,310.310 INFO    ] time= 20/10/2026 15:48:24
[2026-10-20 15:48:24,374.374 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:48:24,419.419 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:48:24,576.576 INFO    ] No existing commands found in stream
[2026-10-20 15:48:29,597.597 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:48:29,600.600 INFO    ] Waiting 0.31 seconds before fallback handling...
[2026-10-20 15:48:30,393.393 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:48:30,397.397 INFO    ] Checking for system updates...
[2026-10-20 15:48:30,433.433 INFO    ] 200
[2026-10-20 15:48:30,436.436 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:48:30,488.488 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:48:30,490.490 INFO    ] No update needed
[2026-10-20 15:48:30,493.493 INFO    ] Checking for camera pi updates...
[2026-10-20 15:48:30,526.526 INFO    ] 200
[2026-10-20 15:48:30,528.528 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:48:30,575.575 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:48:30,625.625 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:48:30,627.627 INFO    ] No camera update needed
[2026-10-20 15:48:30,630.630 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:48:30,632.632 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:48:30,638.638 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:48:30,643.643 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:48:32,684.684 INFO    ] ================================================
[2026-10-20 15:48:32,701.701 INFO    ] Launching Daemon at Tue Oct 20 15:48:32 IST 2026
[2026-10-20 15:48:32,713.713 INFO    ] ================================================
[2026-10-20 15:48:33,365.365 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:48:33
[2026-10-20 15:48:34,020.020 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:48:34,311.311 INFO    ] Initializing speech engine...
[2026-10-20 15:48:34,325.325 INFO    ] 2026-10-20 15:48:34
[2026-10-20 15:48:34,598.598 INFO    ] 2026-10-20 15:48:34
[2026-10-20 15:48:34,643.643 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:48:34,927.927 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:48:34,935.935 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:48:35,126.126 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:48:35,132.132 INFO    ] time= 20/10/2026 15:48:35
[2026-10-20 15:48:35,151.151 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:48:35,179.179 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:48:35,301.301 INFO    ] No existing commands found in stream
[2026-10-20 15:48:40,330.330 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:48:40,333.333 INFO    ] Waiting 2.28 seconds before fallback handling...
[2026-10-20 15:48:43,151.151 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:48:43,154.154 INFO    ] Checking for system updates...
[2026-10-20 15:48:43,190.190 INFO    ] 200
[2026-10-20 15:48:43,192.192 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:48:43,245.245 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:48:43,247.247 INFO    ] No update needed
[2026-10-20 15:48:43,250.250 INFO    ] Checking for camera pi updates...
[2026-10-20 15:48:43,284.284 INFO    ] 200
[2026-10-20 15:48:43,286.286 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:48:43,327.327 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:48:43,373.373 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:48:43,376.376 INFO    ] No camera update needed
[2026-10-20 15:48:43,378.378 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:48:43,381.381 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:48:43,387.387 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:48:43,392.392 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:48:45,432.432 INFO    ] ================================================
[2026-10-20 15:48:45,447.447 INFO    ] Launching Daemon at Tue Oct 20 15:48:45 IST 2026
[2026-10-20 15:48:45,458.458 INFO    ] ================================================
[2026-10-20 15:48:46,038.038 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:48:46
[2026-10-20 15:48:46,634.634 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:48:46,906.906 INFO    ] Initializing speech engine...
[2026-10-20 15:48:46,927.927 INFO    ] 2026-10-20 15:48:46
[2026-10-20 15:48:47,191.191 INFO    ] 2026-10-20 15:48:47
[2026-10-20 15:48:47,226.226 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:48:47,439.439 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:48:47,446.446 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:48:47,655.655 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:48:47,678.678 INFO    ] time= 20/10/2026 15:48:47
[2026-10-20 15:48:47,738.738 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:48:47,793.793 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:48:47,940.940 INFO    ] No existing commands found in stream
[2026-10-20 15:48:52,970.970 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:48:52,973.973 INFO    ] Waiting 0.72 seconds before fallback handling...
[2026-10-20 15:48:54,205.205 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:48:54,207.207 INFO    ] Checking for system updates...
[2026-10-20 15:48:54,245.245 INFO    ] 200
[2026-10-20 15:48:54,247.247 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:48:54,300.300 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:48:54,303.303 INFO    ] No update needed
[2026-10-20 15:48:54,305.305 INFO    ] Checking for camera pi updates...
[2026-10-20 15:48:54,343.343 INFO    ] 200
[2026-10-20 15:48:54,345.345 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:48:54,384.384 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:48:54,430.430 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:48:54,433.433 INFO    ] No camera update needed
[2026-10-20 15:48:54,436.436 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:48:54,438.438 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:48:54,444.444 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:48:54,450.450 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:48:56,490.490 INFO    ] ================================================
[2026-10-20 15:48:56,506.506 INFO    ] Launching Daemon at Tue Oct 20 15:48:56 IST 2026
[2026-10-20 15:48:56,517.517 INFO    ] ================================================
[2026-10-20 15:48:57,083.083 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:48:57
[2026-10-20 15:48:57,667.667 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:48:57,923.923 INFO    ] Initializing speech engine...
[2026-10-20 15:48:57,944.944 INFO    ] 2026-10-20 15:48:57
[2026-10-20 15:48:58,211.211 INFO    ] 2026-10-20 15:48:58
[2026-10-20 15:48:58,247.247 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:48:58,524.524 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:48:58,534.534 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:48:58,679.679 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:48:58,722.722 INFO    ] time= 20/10/2026 15:48:58
[2026-10-20 15:48:58,766.766 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:48:58,823.823 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:48:58,957.957 INFO    ] No existing commands found in stream
[2026-10-20 15:49:03,988.988 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:49:03,990.990 INFO    ] Waiting 0.75 seconds before fallback handling...
[2026-10-20 15:49:05,233.233 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:49:05,235.235 INFO    ] Checking for system updates...
[2026-10-20 15:49:05,270.270 INFO    ] 200
[2026-10-20 15:49:05,273.273 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:49:05,330.330 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:49:05,333.333 INFO    ] No update needed
[2026-10-20 15:49:05,335.335 INFO    ] Checking for camera pi updates...
[2026-10-20 15:49:05,374.374 INFO    ] 200
[2026-10-20 15:49:05,376.376 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:49:05,417.417 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:49:05,461.461 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:49:05,464.464 INFO    ] No camera update needed
[2026-10-20 15:49:05,466.466 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:49:05,469.469 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:49:05,474.474 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:49:05,480.480 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:49:07,521.521 INFO    ] ================================================
[2026-10-20 15:49:07,539.539 INFO    ] Launching Daemon at Tue Oct 20 15:49:07 IST 2026
[2026-10-20 15:49:07,553.553 INFO    ] ================================================
[2026-10-20 15:49:08,125.125 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:49:08
[2026-10-20 15:49:08,705.705 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:49:08,976.976 INFO    ] Initializing speech engine...
[2026-10-20 15:49:08,984.984 INFO    ] 2026-10-20 15:49:08
[2026-10-20 15:49:09,233.233 INFO    ] 2026-10-20 15:49:09
[2026-10-20 15:49:09,269.269 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:49:09,524.524 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:49:09,533.533 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:49:09,670.670 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:49:09,730.730 INFO    ] time= 20/10/2026 15:49:09
[2026-10-20 15:49:09,779.779 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:49:09,804.804 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:49:09,940.940 INFO    ] No existing commands found in stream
[2026-10-20 15:49:14,967.967 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:49:14,970.970 INFO    ] Waiting 2.66 seconds before fallback handling...
[2026-10-20 15:49:18,136.136 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:49:18,139.139 INFO    ] Checking for system updates...
[2026-10-20 15:49:18,174.174 INFO    ] 200
[2026-10-20 15:49:18,177.177 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:49:18,233.233 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:49:18,235.235 INFO    ] No update needed
[2026-10-20 15:49:18,238.238 INFO    ] Checking for camera pi updates...
[2026-10-20 15:49:18,273.273 INFO    ] 200
[2026-10-20 15:49:18,276.276 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:49:18,316.316 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:49:18,378.378 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:49:18,381.381 INFO    ] No camera update needed
[2026-10-20 15:49:18,383.383 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:49:18,385.385 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:49:18,391.391 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:49:18,395.395 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:49:20,436.436 INFO    ] ================================================
[2026-10-20 15:49:20,452.452 INFO    ] Launching Daemon at Tue Oct 20 15:49:20 IST 2026
[2026-10-20 15:49:20,463.463 INFO    ] ================================================
[2026-10-20 15:49:21,045.045 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:49:21
[2026-10-20 15:49:21,640.640 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:49:21,914.914 INFO    ] Initializing speech engine...
[2026-10-20 15:49:21,923.923 INFO    ] 2026-10-20 15:49:21
[2026-10-20 15:49:22,184.184 INFO    ] 2026-10-20 15:49:22
[2026-10-20 15:49:22,214.214 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:49:22,467.467 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:49:22,472.472 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:49:22,657.657 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:49:22,711.711 INFO    ] time= 20/10/2026 15:49:22
[2026-10-20 15:49:22,734.734 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:49:22,751.751 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:49:22,887.887 INFO    ] No existing commands found in stream
[2026-10-20 15:49:27,915.915 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:49:27,918.918 INFO    ] Waiting 0.73 seconds before fallback handling...
[2026-10-20 15:49:29,179.179 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:49:29,182.182 INFO    ] Checking for system updates...
[2026-10-20 15:49:29,217.217 INFO    ] 200
[2026-10-20 15:49:29,220.220 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:49:29,273.273 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:49:29,275.275 INFO    ] No update needed
[2026-10-20 15:49:29,278.278 INFO    ] Checking for camera pi updates...
[2026-10-20 15:49:29,314.314 INFO    ] 200
[2026-10-20 15:49:29,317.317 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:49:29,365.365 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:49:29,422.422 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:49:29,425.425 INFO    ] No camera update needed
[2026-10-20 15:49:29,427.427 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:49:29,430.430 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:49:29,435.435 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:49:29,440.440 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:49:31,480.480 INFO    ] ================================================
[2026-10-20 15:49:31,497.497 INFO    ] Launching Daemon at Tue Oct 20 15:49:31 IST 2026
[2026-10-20 15:49:31,508.508 INFO    ] ================================================
[2026-10-20 15:49:32,157.157 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:49:32
[2026-10-20 15:49:32,805.805 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:49:33,076.076 INFO    ] Initializing speech engine...
[2026-10-20 15:49:33,085.085 INFO    ] 2026-10-20 15:49:33
[2026-10-20 15:49:33,335.335 INFO    ] 2026-10-20 15:49:33
[2026-10-20 15:49:33,369.369 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:49:33,627.627 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:49:33,636.636 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:49:33,774.774 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:49:33,818.818 INFO    ] time= 20/10/2026 15:49:33
[2026-10-20 15:49:33,878.878 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:49:33,909.909 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:49:34,060.060 INFO    ] No existing commands found in stream
[2026-10-20 15:49:39,073.073 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:49:39,075.075 INFO    ] Waiting 3.56 seconds before fallback handling...
[2026-10-20 15:49:43,156.156 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:49:43,159.159 INFO    ] Checking for system updates...
[2026-10-20 15:49:43,198.198 INFO    ] 200
[2026-10-20 15:49:43,201.201 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:49:43,253.253 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:49:43,256.256 INFO    ] No update needed
[2026-10-20 15:49:43,258.258 INFO    ] Checking for camera pi updates...
[2026-10-20 15:49:43,291.291 INFO    ] 200
[2026-10-20 15:49:43,294.294 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:49:43,334.334 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:49:43,383.383 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:49:43,386.386 INFO    ] No camera update needed
[2026-10-20 15:49:43,388.388 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:49:43,391.391 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:49:43,396.396 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:49:43,401.401 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:49:45,443.443 INFO    ] ================================================
[2026-10-20 15:49:45,459.459 INFO    ] Launching Daemon at Tue Oct 20 15:49:45 IST 2026
[2026-10-20 15:49:45,469.469 INFO    ] ================================================
[2026-10-20 15:49:46,076.076 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:49:46
[2026-10-20 15:49:46,746.746 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:49:47,049.049 INFO    ] Initializing speech engine...
[2026-10-20 15:49:47,063.063 INFO    ] 2026-10-20 15:49:47
[2026-10-20 15:49:47,369.369 INFO    ] 2026-10-20 15:49:47
[2026-10-20 15:49:47,459.459 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:49:47,673.673 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:49:47,681.681 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:49:47,876.876 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:49:47,895.895 INFO    ] time= 20/10/2026 15:49:47
[2026-10-20 15:49:47,924.924 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:49:47,934.934 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:49:48,046.046 INFO    ] No existing commands found in stream
[2026-10-20 15:49:53,072.072 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:49:53,075.075 INFO    ] Waiting 2.74 seconds before fallback handling...
[2026-10-20 15:49:56,375.375 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 15:49:56,378.378 INFO    ] Checking for system updates...
[2026-10-20 15:49:56,420.420 INFO    ] 200
[2026-10-20 15:49:56,423.423 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:49:56,479.479 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:49:56,481.481 INFO    ] No update needed
[2026-10-20 15:49:56,484.484 INFO    ] Checking for camera pi updates...
[2026-10-20 15:49:56,521.521 INFO    ] 200
[2026-10-20 15:49:56,523.523 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:49:56,568.568 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:49:56,615.615 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:49:56,617.617 INFO    ] No camera update needed
[2026-10-20 15:49:56,620.620 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:49:56,622.622 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:49:56,627.627 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:49:56,633.633 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:49:58,672.672 INFO    ] ================================================
[2026-10-20 15:49:58,687.687 INFO    ] Launching Daemon at Tue Oct 20 15:49:58 IST 2026
[2026-10-20 15:49:58,699.699 INFO    ] ================================================
[2026-10-20 15:49:59,311.311 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:49:59
[2026-10-20 15:50:00,005.005 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:50:00,342.342 INFO    ] Initializing speech engine...
[2026-10-20 15:50:00,348.348 INFO    ] 2026-10-20 15:50:00
[2026-10-20 15:50:00,614.614 INFO    ] 2026-10-20 15:50:00
[2026-10-20 15:50:00,657.657 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:50:00,907.907 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:50:00,925.925 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:50:01,120.120 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:50:01,137.137 INFO    ] time= 20/10/2026 15:50:01
[2026-10-20 15:50:01,140.140 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:50:01,157.157 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:50:01,261.261 INFO    ] No existing commands found in stream
[2026-10-20 15:50:06,272.272 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:50:06,275.275 INFO    ] Waiting 3.68 seconds before fallback handling...
[2026-10-20 15:50:10,519.519 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:50:10,522.522 INFO    ] Checking for system updates...
[2026-10-20 15:50:10,562.562 INFO    ] 200
[2026-10-20 15:50:10,564.564 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:50:10,615.615 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:50:10,618.618 INFO    ] No update needed
[2026-10-20 15:50:10,621.621 INFO    ] Checking for camera pi updates...
[2026-10-20 15:50:10,657.657 INFO    ] 200
[2026-10-20 15:50:10,660.660 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:50:10,700.700 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:50:10,744.744 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:50:10,747.747 INFO    ] No camera update needed
[2026-10-20 15:50:10,749.749 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:50:10,752.752 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:50:10,757.757 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:50:10,762.762 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:50:12,802.802 INFO    ] ================================================
[2026-10-20 15:50:12,818.818 INFO    ] Launching Daemon at Tue Oct 20 15:50:12 IST 2026
[2026-10-20 15:50:12,829.829 INFO    ] ================================================
[2026-10-20 15:50:13,486.486 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:50:13
[2026-10-20 15:50:14,160.160 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:50:14,463.463 INFO    ] Initializing speech engine...
[2026-10-20 15:50:14,471.471 INFO    ] 2026-10-20 15:50:14
[2026-10-20 15:50:14,763.763 INFO    ] 2026-10-20 15:50:14
[2026-10-20 15:50:14,872.872 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:50:15,149.149 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:50:15,156.156 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:50:15,400.400 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:50:15,438.438 INFO    ] time= 20/10/2026 15:50:15
[2026-10-20 15:50:15,487.487 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:50:15,544.544 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:50:15,696.696 INFO    ] No existing commands found in stream
[2026-10-20 15:50:20,718.718 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:50:20,721.721 INFO    ] Waiting 0.15 seconds before fallback handling...
[2026-10-20 15:50:21,442.442 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:50:21,445.445 INFO    ] Checking for system updates...
[2026-10-20 15:50:21,485.485 INFO    ] 200
[2026-10-20 15:50:21,488.488 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:50:21,543.543 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:50:21,546.546 INFO    ] No update needed
[2026-10-20 15:50:21,549.549 INFO    ] Checking for camera pi updates...
[2026-10-20 15:50:21,586.586 INFO    ] 200
[2026-10-20 15:50:21,589.589 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:50:21,635.635 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:50:21,680.680 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:50:21,683.683 INFO    ] No camera update needed
[2026-10-20 15:50:21,685.685 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:50:21,688.688 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:50:21,694.694 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:50:21,700.700 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:50:23,741.741 INFO    ] ================================================
[2026-10-20 15:50:23,757.757 INFO    ] Launching Daemon at Tue Oct 20 15:50:23 IST 2026
[2026-10-20 15:50:23,771.771 INFO    ] ================================================
[2026-10-20 15:50:24,366.366 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:50:24
[2026-10-20 15:50:25,002.002 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:50:25,312.312 INFO    ] Initializing speech engine...
[2026-10-20 15:50:25,317.317 INFO    ] 2026-10-20 15:50:25
[2026-10-20 15:50:25,606.606 INFO    ] 2026-10-20 15:50:25
[2026-10-20 15:50:25,645.645 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:50:25,893.893 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:50:25,911.911 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:50:26,071.071 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:50:26,079.079 INFO    ] time= 20/10/2026 15:50:26
[2026-10-20 15:50:26,102.102 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:50:26,156.156 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:50:26,291.291 INFO    ] No existing commands found in stream
[2026-10-20 15:50:31,311.311 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:50:31,314.314 INFO    ] Waiting 2.10 seconds before fallback handling...
[2026-10-20 15:50:33,909.909 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:50:33,912.912 INFO    ] Checking for system updates...
[2026-10-20 15:50:33,948.948 INFO    ] 200
[2026-10-20 15:50:33,951.951 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:50:34,011.011 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:50:34,013.013 INFO    ] No update needed
[2026-10-20 15:50:34,016.016 INFO    ] Checking for camera pi updates...
[2026-10-20 15:50:34,058.058 INFO    ] 200
[2026-10-20 15:50:34,061.061 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:50:34,111.111 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:50:34,166.166 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:50:34,168.168 INFO    ] No camera update needed
[2026-10-20 15:50:34,171.171 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:50:34,173.173 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:50:34,178.178 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:50:34,184.184 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:50:36,222.222 INFO    ] ================================================
[2026-10-20 15:50:36,238.238 INFO    ] Launching Daemon at Tue Oct 20 15:50:36 IST 2026
[2026-10-20 15:50:36,249.249 INFO    ] ================================================
[2026-10-20 15:50:36,868.868 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:50:36
[2026-10-20 15:50:37,453.453 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:50:37,704.704 INFO    ] Initializing speech engine...
[2026-10-20 15:50:37,711.711 INFO    ] 2026-10-20 15:50:37
[2026-10-20 15:50:38,015.015 INFO    ] 2026-10-20 15:50:37
[2026-10-20 15:50:38,051.051 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:50:38,286.286 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:50:38,319.319 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:50:38,513.513 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:50:38,519.519 INFO    ] time= 20/10/2026 15:50:38
[2026-10-20 15:50:38,589.589 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:50:38,638.638 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:50:38,734.734 INFO    ] No existing commands found in stream
[2026-10-20 15:50:43,744.744 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:50:43,747.747 INFO    ] Waiting 1.26 seconds before fallback handling...
[2026-10-20 15:50:45,540.540 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:50:45,543.543 INFO    ] Checking for system updates...
[2026-10-20 15:50:45,583.583 INFO    ] 200
[2026-10-20 15:50:45,585.585 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:50:45,645.645 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:50:45,647.647 INFO    ] No update needed
[2026-10-20 15:50:45,650.650 INFO    ] Checking for camera pi updates...
[2026-10-20 15:50:45,683.683 INFO    ] 200
[2026-10-20 15:50:45,685.685 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:50:45,726.726 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:50:45,771.771 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:50:45,774.774 INFO    ] No camera update needed
[2026-10-20 15:50:45,776.776 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:50:45,778.778 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:50:45,784.784 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:50:45,789.789 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:50:47,828.828 INFO    ] ================================================
[2026-10-20 15:50:47,844.844 INFO    ] Launching Daemon at Tue Oct 20 15:50:47 IST 2026
[2026-10-20 15:50:47,855.855 INFO    ] ================================================
[2026-10-20 15:50:48,440.440 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:50:48
[2026-10-20 15:50:49,041.041 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:50:49,321.321 INFO    ] Initializing speech engine...
[2026-10-20 15:50:49,327.327 INFO    ] 2026-10-20 15:50:49
[2026-10-20 15:50:49,588.588 INFO    ] 2026-10-20 15:50:49
[2026-10-20 15:50:49,643.643 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:50:49,873.873 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:50:49,879.879 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:50:50,091.091 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:50:50,139.139 INFO    ] time= 20/10/2026 15:50:50
[2026-10-20 15:50:50,145.145 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:50:50,165.165 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:50:50,295.295 INFO    ] No existing commands found in stream
[2026-10-20 15:50:55,315.315 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:50:55,317.317 INFO    ] Waiting 0.45 seconds before fallback handling...
[2026-10-20 15:50:56,266.266 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:50:56,268.268 INFO    ] Checking for system updates...
[2026-10-20 15:50:56,304.304 INFO    ] 200
[2026-10-20 15:50:56,306.306 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:50:56,358.358 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:50:56,360.360 INFO    ] No update needed
[2026-10-20 15:50:56,363.363 INFO    ] Checking for camera pi updates...
[2026-10-20 15:50:56,397.397 INFO    ] 200
[2026-10-20 15:50:56,400.400 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:50:56,441.441 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:50:56,498.498 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:50:56,501.501 INFO    ] No camera update needed
[2026-10-20 15:50:56,503.503 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:50:56,505.505 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:50:56,511.511 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:50:56,516.516 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:50:58,558.558 INFO    ] ================================================
[2026-10-20 15:50:58,574.574 INFO    ] Launching Daemon at Tue Oct 20 15:50:58 IST 2026
[2026-10-20 15:50:58,586.586 INFO    ] ================================================
[2026-10-20 15:50:59,171.171 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:50:59
[2026-10-20 15:50:59,763.763 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:51:00,011.011 INFO    ] Initializing speech engine...
[2026-10-20 15:51:00,019.019 INFO    ] 2026-10-20 15:51:00
[2026-10-20 15:51:00,298.298 INFO    ] 2026-10-20 15:51:00
[2026-10-20 15:51:00,334.334 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:51:00,533.533 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:51:00,540.540 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:51:00,739.739 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:51:00,782.782 INFO    ] time= 20/10/2026 15:51:00
[2026-10-20 15:51:00,836.836 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:51:00,878.878 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:51:01,014.014 INFO    ] No existing commands found in stream
[2026-10-20 15:51:06,037.037 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:51:06,040.040 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-10-20 15:51:08,294.294 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:51:08,297.297 INFO    ] Checking for system updates...
[2026-10-20 15:51:08,335.335 INFO    ] 200
[2026-10-20 15:51:08,338.338 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:51:08,404.404 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:51:08,406.406 INFO    ] No update needed
[2026-10-20 15:51:08,409.409 INFO    ] Checking for camera pi updates...
[2026-10-20 15:51:08,450.450 INFO    ] 200
[2026-10-20 15:51:08,453.453 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:51:08,495.495 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:51:08,538.538 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:51:08,541.541 INFO    ] No camera update needed
[2026-10-20 15:51:08,544.544 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:51:08,547.547 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:51:08,552.552 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:51:08,558.558 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:51:10,600.600 INFO    ] ================================================
[2026-10-20 15:51:10,615.615 INFO    ] Launching Daemon at Tue Oct 20 15:51:10 IST 2026
[2026-10-20 15:51:10,626.626 INFO    ] ================================================
[2026-10-20 15:51:11,222.222 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:51:11
[2026-10-20 15:51:11,824.824 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:51:12,103.103 INFO    ] Initializing speech engine...
[2026-10-20 15:51:12,107.107 INFO    ] 2026-10-20 15:51:12
[2026-10-20 15:51:12,373.373 INFO    ] 2026-10-20 15:51:12
[2026-10-20 15:51:12,432.432 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:51:12,661.661 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:51:12,666.666 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:51:12,819.819 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:51:12,885.885 INFO    ] time= 20/10/2026 15:51:12
[2026-10-20 15:51:12,932.932 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:51:12,939.939 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:51:13,080.080 INFO    ] No existing commands found in stream
[2026-10-20 15:51:18,099.099 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:51:18,102.102 INFO    ] Waiting 2.41 seconds before fallback handling...
[2026-10-20 15:51:21,034.034 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:51:21,037.037 INFO    ] Checking for system updates...
[2026-10-20 15:51:21,075.075 INFO    ] 200
[2026-10-20 15:51:21,078.078 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:51:21,131.131 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:51:21,134.134 INFO    ] No update needed
[2026-10-20 15:51:21,137.137 INFO    ] Checking for camera pi updates...
[2026-10-20 15:51:21,171.171 INFO    ] 200
[2026-10-20 15:51:21,174.174 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:51:21,216.216 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:51:21,264.264 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:51:21,267.267 INFO    ] No camera update needed
[2026-10-20 15:51:21,270.270 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:51:21,273.273 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:51:21,280.280 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:51:21,286.286 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:51:23,328.328 INFO    ] ================================================
[2026-10-20 15:51:23,344.344 INFO    ] Launching Daemon at Tue Oct 20 15:51:23 IST 2026
[2026-10-20 15:51:23,356.356 INFO    ] ================================================
[2026-10-20 15:51:24,021.021 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:51:24
[2026-10-20 15:51:24,700.700 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:51:25,012.012 INFO    ] Initializing speech engine...
[2026-10-20 15:51:25,024.024 INFO    ] 2026-10-20 15:51:25
[2026-10-20 15:51:25,334.334 INFO    ] 2026-10-20 15:51:25
[2026-10-20 15:51:25,420.420 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:51:25,633.633 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:51:25,639.639 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:51:25,833.833 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:51:25,841.841 INFO    ] time= 20/10/2026 15:51:25
[2026-10-20 15:51:25,859.859 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:51:25,891.891 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:51:25,997.997 INFO    ] No existing commands found in stream
[2026-10-20 15:51:31,032.032 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:51:31,035.035 INFO    ] Waiting 2.76 seconds before fallback handling...
[2026-10-20 15:51:34,354.354 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:51:34,357.357 INFO    ] Checking for system updates...
[2026-10-20 15:51:34,394.394 INFO    ] 200
[2026-10-20 15:51:34,397.397 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:51:34,451.451 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:51:34,453.453 INFO    ] No update needed
[2026-10-20 15:51:34,456.456 INFO    ] Checking for camera pi updates...
[2026-10-20 15:51:34,492.492 INFO    ] 200
[2026-10-20 15:51:34,494.494 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:51:34,548.548 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:51:34,698.698 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:51:34,701.701 INFO    ] No camera update needed
[2026-10-20 15:51:34,704.704 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:51:34,707.707 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:51:34,713.713 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:51:34,719.719 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:51:36,763.763 INFO    ] ================================================
[2026-10-20 15:51:36,779.779 INFO    ] Launching Daemon at Tue Oct 20 15:51:36 IST 2026
[2026-10-20 15:51:36,791.791 INFO    ] ================================================
[2026-10-20 15:51:37,385.385 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:51:37
[2026-10-20 15:51:37,988.988 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:51:38,255.255 INFO    ] Initializing speech engine...
[2026-10-20 15:51:38,280.280 INFO    ] 2026-10-20 15:51:38
[2026-10-20 15:51:38,558.558 INFO    ] 2026-10-20 15:51:38
[2026-10-20 15:51:38,597.597 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:51:38,808.808 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:51:38,826.826 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:51:38,981.981 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:51:38,989.989 INFO    ] time= 20/10/2026 15:51:38
[2026-10-20 15:51:39,002.002 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:51:39,060.060 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:51:39,171.171 INFO    ] No existing commands found in stream
[2026-10-20 15:51:44,207.207 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:51:44,210.210 INFO    ] Waiting 1.61 seconds before fallback handling...
[2026-10-20 15:51:46,314.314 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:51:46,319.319 INFO    ] Checking for system updates...
[2026-10-20 15:51:46,363.363 INFO    ] 200
[2026-10-20 15:51:46,366.366 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:51:46,424.424 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:51:46,427.427 INFO    ] No update needed
[2026-10-20 15:51:46,429.429 INFO    ] Checking for camera pi updates...
[2026-10-20 15:51:46,463.463 INFO    ] 200
[2026-10-20 15:51:46,466.466 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:51:46,506.506 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:51:46,555.555 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:51:46,557.557 INFO    ] No camera update needed
[2026-10-20 15:51:46,560.560 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:51:46,562.562 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:51:46,568.568 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:51:46,573.573 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:51:48,613.613 INFO    ] ================================================
[2026-10-20 15:51:48,628.628 INFO    ] Launching Daemon at Tue Oct 20 15:51:48 IST 2026
[2026-10-20 15:51:48,640.640 INFO    ] ================================================
[2026-10-20 15:51:49,297.297 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:51:49
[2026-10-20 15:51:49,975.975 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:51:50,285.285 INFO    ] Initializing speech engine...
[2026-10-20 15:51:50,300.300 INFO    ] 2026-10-20 15:51:50
[2026-10-20 15:51:50,613.613 INFO    ] 2026-10-20 15:51:50
[2026-10-20 15:51:50,700.700 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:51:50,914.914 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:51:50,922.922 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:51:51,115.115 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:51:51,126.126 INFO    ] time= 20/10/2026 15:51:51
[2026-10-20 15:51:51,145.145 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:51:51,173.173 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:51:51,282.282 INFO    ] No existing commands found in stream
[2026-10-20 15:51:56,317.317 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:51:56,321.321 INFO    ] Waiting 2.32 seconds before fallback handling...
[2026-10-20 15:51:59,167.167 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 15:51:59,171.171 INFO    ] Checking for system updates...
[2026-10-20 15:51:59,208.208 INFO    ] 200
[2026-10-20 15:51:59,212.212 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:51:59,265.265 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:51:59,269.269 INFO    ] No update needed
[2026-10-20 15:51:59,272.272 INFO    ] Checking for camera pi updates...
[2026-10-20 15:51:59,314.314 INFO    ] 200
[2026-10-20 15:51:59,316.316 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:51:59,358.358 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:51:59,410.410 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:51:59,413.413 INFO    ] No camera update needed
[2026-10-20 15:51:59,415.415 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:51:59,418.418 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:51:59,423.423 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:51:59,428.428 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:52:01,468.468 INFO    ] ================================================
[2026-10-20 15:52:01,483.483 INFO    ] Launching Daemon at Tue Oct 20 15:52:01 IST 2026
[2026-10-20 15:52:01,494.494 INFO    ] ================================================
[2026-10-20 15:52:02,256.256 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:52:02
[2026-10-20 15:52:02,955.955 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:52:03,351.351 INFO    ] Initializing speech engine...
[2026-10-20 15:52:03,354.354 INFO    ] 2026-10-20 15:52:03
[2026-10-20 15:52:03,659.659 INFO    ] 2026-10-20 15:52:03
[2026-10-20 15:52:03,695.695 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:52:03,902.902 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:52:03,916.916 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:52:04,066.066 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:52:04,089.089 INFO    ] time= 20/10/2026 15:52:04
[2026-10-20 15:52:04,097.097 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:52:04,101.101 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:52:04,241.241 INFO    ] No existing commands found in stream
[2026-10-20 15:52:09,261.261 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:52:09,264.264 INFO    ] Waiting 2.10 seconds before fallback handling...
[2026-10-20 15:52:11,822.822 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:52:11,825.825 INFO    ] Checking for system updates...
[2026-10-20 15:52:11,860.860 INFO    ] 200
[2026-10-20 15:52:11,863.863 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:52:11,923.923 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:52:11,925.925 INFO    ] No update needed
[2026-10-20 15:52:11,927.927 INFO    ] Checking for camera pi updates...
[2026-10-20 15:52:11,961.961 INFO    ] 200
[2026-10-20 15:52:11,964.964 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:52:12,004.004 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:52:12,049.049 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:52:12,051.051 INFO    ] No camera update needed
[2026-10-20 15:52:12,053.053 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:52:12,056.056 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:52:12,061.061 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:52:12,066.066 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:52:14,107.107 INFO    ] ================================================
[2026-10-20 15:52:14,122.122 INFO    ] Launching Daemon at Tue Oct 20 15:52:14 IST 2026
[2026-10-20 15:52:14,134.134 INFO    ] ================================================
[2026-10-20 15:52:14,714.714 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:52:14
[2026-10-20 15:52:15,312.312 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:52:15,592.592 INFO    ] Initializing speech engine...
[2026-10-20 15:52:15,607.607 INFO    ] 2026-10-20 15:52:15
[2026-10-20 15:52:15,889.889 INFO    ] 2026-10-20 15:52:15
[2026-10-20 15:52:15,924.924 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:52:16,132.132 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:52:16,147.147 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:52:16,314.314 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:52:16,324.324 INFO    ] time= 20/10/2026 15:52:16
[2026-10-20 15:52:16,332.332 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:52:16,338.338 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:52:16,497.497 INFO    ] No existing commands found in stream
[2026-10-20 15:52:21,517.517 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:52:21,520.520 INFO    ] Waiting 3.40 seconds before fallback handling...
[2026-10-20 15:52:25,420.420 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:52:25,423.423 INFO    ] Checking for system updates...
[2026-10-20 15:52:25,459.459 INFO    ] 200
[2026-10-20 15:52:25,461.461 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:52:25,522.522 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:52:25,524.524 INFO    ] No update needed
[2026-10-20 15:52:25,527.527 INFO    ] Checking for camera pi updates...
[2026-10-20 15:52:25,560.560 INFO    ] 200
[2026-10-20 15:52:25,562.562 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:52:25,602.602 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:52:25,650.650 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:52:25,652.652 INFO    ] No camera update needed
[2026-10-20 15:52:25,654.654 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:52:25,657.657 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:52:25,662.662 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:52:25,667.667 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:52:27,709.709 INFO    ] ================================================
[2026-10-20 15:52:27,725.725 INFO    ] Launching Daemon at Tue Oct 20 15:52:27 IST 2026
[2026-10-20 15:52:27,736.736 INFO    ] ================================================
[2026-10-20 15:52:28,337.337 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:52:28
[2026-10-20 15:52:29,014.014 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:52:29,322.322 INFO    ] Initializing speech engine...
[2026-10-20 15:52:29,330.330 INFO    ] 2026-10-20 15:52:29
[2026-10-20 15:52:29,622.622 INFO    ] 2026-10-20 15:52:29
[2026-10-20 15:52:29,668.668 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:52:29,962.962 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:52:29,968.968 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:52:30,166.166 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:52:30,176.176 INFO    ] time= 20/10/2026 15:52:30
[2026-10-20 15:52:30,197.197 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:52:30,226.226 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:52:30,379.379 INFO    ] No existing commands found in stream
[2026-10-20 15:52:35,411.411 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:52:35,414.414 INFO    ] Waiting 0.15 seconds before fallback handling...
[2026-10-20 15:52:36,097.097 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:52:36,100.100 INFO    ] Checking for system updates...
[2026-10-20 15:52:36,141.141 INFO    ] 200
[2026-10-20 15:52:36,143.143 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:52:36,196.196 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:52:36,199.199 INFO    ] No update needed
[2026-10-20 15:52:36,201.201 INFO    ] Checking for camera pi updates...
[2026-10-20 15:52:36,235.235 INFO    ] 200
[2026-10-20 15:52:36,237.237 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:52:36,278.278 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:52:36,319.319 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:52:36,321.321 INFO    ] No camera update needed
[2026-10-20 15:52:36,324.324 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:52:36,326.326 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:52:36,331.331 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:52:36,336.336 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:52:38,376.376 INFO    ] ================================================
[2026-10-20 15:52:38,391.391 INFO    ] Launching Daemon at Tue Oct 20 15:52:38 IST 2026
[2026-10-20 15:52:38,402.402 INFO    ] ================================================
[2026-10-20 15:52:38,974.974 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:52:38
[2026-10-20 15:52:39,565.565 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:52:39,821.821 INFO    ] Initializing speech engine...
[2026-10-20 15:52:39,827.827 INFO    ] 2026-10-20 15:52:39
[2026-10-20 15:52:40,125.125 INFO    ] 2026-10-20 15:52:40
[2026-10-20 15:52:40,160.160 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:52:40,361.361 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:52:40,379.379 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:52:40,553.553 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:52:40,592.592 INFO    ] time= 20/10/2026 15:52:40
[2026-10-20 15:52:40,626.626 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:52:40,633.633 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:52:40,760.760 INFO    ] No existing commands found in stream
[2026-10-20 15:52:45,785.785 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:52:45,788.788 INFO    ] Waiting 0.74 seconds before fallback handling...
[2026-10-20 15:52:46,984.984 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:52:46,987.987 INFO    ] Checking for system updates...
[2026-10-20 15:52:47,022.022 INFO    ] 200
[2026-10-20 15:52:47,025.025 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:52:47,077.077 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:52:47,080.080 INFO    ] No update needed
[2026-10-20 15:52:47,082.082 INFO    ] Checking for camera pi updates...
[2026-10-20 15:52:47,116.116 INFO    ] 200
[2026-10-20 15:52:47,118.118 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:52:47,164.164 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:52:47,209.209 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:52:47,211.211 INFO    ] No camera update needed
[2026-10-20 15:52:47,213.213 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:52:47,216.216 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:52:47,221.221 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:52:47,226.226 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:52:49,266.266 INFO    ] ================================================
[2026-10-20 15:52:49,281.281 INFO    ] Launching Daemon at Tue Oct 20 15:52:49 IST 2026
[2026-10-20 15:52:49,293.293 INFO    ] ================================================
[2026-10-20 15:52:49,859.859 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:52:49
[2026-10-20 15:52:50,444.444 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:52:50,698.698 INFO    ] Initializing speech engine...
[2026-10-20 15:52:50,703.703 INFO    ] 2026-10-20 15:52:50
[2026-10-20 15:52:51,005.005 INFO    ] 2026-10-20 15:52:50
[2026-10-20 15:52:51,040.040 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:52:51,244.244 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:52:51,258.258 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:52:51,424.424 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:52:51,431.431 INFO    ] time= 20/10/2026 15:52:51
[2026-10-20 15:52:51,436.436 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:52:51,443.443 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:52:51,571.571 INFO    ] No existing commands found in stream
[2026-10-20 15:52:56,591.591 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:52:56,594.594 INFO    ] Waiting 3.49 seconds before fallback handling...
[2026-10-20 15:53:00,555.555 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 15:53:00,558.558 INFO    ] Checking for system updates...
[2026-10-20 15:53:00,597.597 INFO    ] 200
[2026-10-20 15:53:00,600.600 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:53:00,660.660 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:53:00,663.663 INFO    ] No update needed
[2026-10-20 15:53:00,666.666 INFO    ] Checking for camera pi updates...
[2026-10-20 15:53:00,703.703 INFO    ] 200
[2026-10-20 15:53:00,705.705 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:53:00,755.755 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:53:00,804.804 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:53:00,807.807 INFO    ] No camera update needed
[2026-10-20 15:53:00,809.809 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:53:00,812.812 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:53:00,818.818 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:53:00,824.824 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:53:02,880.880 INFO    ] ================================================
[2026-10-20 15:53:02,901.901 INFO    ] Launching Daemon at Tue Oct 20 15:53:02 IST 2026
[2026-10-20 15:53:02,917.917 INFO    ] ================================================
[2026-10-20 15:53:03,688.688 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:53:03
[2026-10-20 15:53:04,363.363 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:53:04,673.673 INFO    ] Initializing speech engine...
[2026-10-20 15:53:04,684.684 INFO    ] 2026-10-20 15:53:04
[2026-10-20 15:53:04,957.957 INFO    ] 2026-10-20 15:53:04
[2026-10-20 15:53:05,000.000 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:53:05,258.258 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:53:05,269.269 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:53:05,427.427 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:53:05,482.482 INFO    ] time= 20/10/2026 15:53:05
[2026-10-20 15:53:05,526.526 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:53:05,572.572 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:53:05,725.725 INFO    ] No existing commands found in stream
[2026-10-20 15:53:10,749.749 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:53:10,752.752 INFO    ] Waiting 2.56 seconds before fallback handling...
[2026-10-20 15:53:13,827.827 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:53:13,830.830 INFO    ] Checking for system updates...
[2026-10-20 15:53:13,865.865 INFO    ] 200
[2026-10-20 15:53:13,874.874 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:53:13,926.926 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:53:13,929.929 INFO    ] No update needed
[2026-10-20 15:53:13,931.931 INFO    ] Checking for camera pi updates...
[2026-10-20 15:53:13,967.967 INFO    ] 200
[2026-10-20 15:53:13,970.970 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:53:14,011.011 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:53:14,056.056 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:53:14,059.059 INFO    ] No camera update needed
[2026-10-20 15:53:14,062.062 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:53:14,064.064 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:53:14,069.069 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:53:14,075.075 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:53:16,116.116 INFO    ] ================================================
[2026-10-20 15:53:16,131.131 INFO    ] Launching Daemon at Tue Oct 20 15:53:16 IST 2026
[2026-10-20 15:53:16,142.142 INFO    ] ================================================
[2026-10-20 15:53:16,711.711 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:53:16
[2026-10-20 15:53:17,297.297 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:53:17,568.568 INFO    ] Initializing speech engine...
[2026-10-20 15:53:17,578.578 INFO    ] 2026-10-20 15:53:17
[2026-10-20 15:53:17,828.828 INFO    ] 2026-10-20 15:53:17
[2026-10-20 15:53:17,863.863 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:53:18,122.122 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:53:18,132.132 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:53:18,276.276 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:53:18,342.342 INFO    ] time= 20/10/2026 15:53:18
[2026-10-20 15:53:18,406.406 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:53:18,416.416 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:53:18,586.586 INFO    ] No existing commands found in stream
[2026-10-20 15:53:23,616.616 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:53:23,619.619 INFO    ] Waiting 2.32 seconds before fallback handling...
[2026-10-20 15:53:26,434.434 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:53:26,436.436 INFO    ] Checking for system updates...
[2026-10-20 15:53:26,474.474 INFO    ] 200
[2026-10-20 15:53:26,477.477 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:53:26,529.529 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:53:26,532.532 INFO    ] No update needed
[2026-10-20 15:53:26,534.534 INFO    ] Checking for camera pi updates...
[2026-10-20 15:53:26,570.570 INFO    ] 200
[2026-10-20 15:53:26,573.573 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:53:26,613.613 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:53:26,667.667 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:53:26,670.670 INFO    ] No camera update needed
[2026-10-20 15:53:26,672.672 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:53:26,674.674 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:53:26,680.680 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:53:26,685.685 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:53:28,725.725 INFO    ] ================================================
[2026-10-20 15:53:28,739.739 INFO    ] Launching Daemon at Tue Oct 20 15:53:28 IST 2026
[2026-10-20 15:53:28,749.749 INFO    ] ================================================
[2026-10-20 15:53:29,333.333 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:53:29
[2026-10-20 15:53:29,934.934 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:53:30,211.211 INFO    ] Initializing speech engine...
[2026-10-20 15:53:30,216.216 INFO    ] 2026-10-20 15:53:30
[2026-10-20 15:53:30,465.465 INFO    ] 2026-10-20 15:53:30
[2026-10-20 15:53:30,501.501 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:53:30,753.753 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:53:30,763.763 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:53:31,003.003 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:53:31,025.025 INFO    ] time= 20/10/2026 15:53:31
[2026-10-20 15:53:31,040.040 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:53:31,049.049 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:53:31,176.176 INFO    ] No existing commands found in stream
[2026-10-20 15:53:36,189.189 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:53:36,192.192 INFO    ] Waiting 3.15 seconds before fallback handling...
[2026-10-20 15:53:39,890.890 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:53:39,892.892 INFO    ] Checking for system updates...
[2026-10-20 15:53:39,932.932 INFO    ] 200
[2026-10-20 15:53:39,935.935 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:53:39,992.992 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:53:39,995.995 INFO    ] No update needed
[2026-10-20 15:53:39,997.997 INFO    ] Checking for camera pi updates...
[2026-10-20 15:53:40,031.031 INFO    ] 200
[2026-10-20 15:53:40,033.033 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:53:40,077.077 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:53:40,221.221 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:53:40,223.223 INFO    ] No camera update needed
[2026-10-20 15:53:40,225.225 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:53:40,228.228 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:53:40,233.233 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:53:40,238.238 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:53:42,278.278 INFO    ] ================================================
[2026-10-20 15:53:42,293.293 INFO    ] Launching Daemon at Tue Oct 20 15:53:42 IST 2026
[2026-10-20 15:53:42,304.304 INFO    ] ================================================
[2026-10-20 15:53:42,869.869 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:53:42
[2026-10-20 15:53:43,455.455 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:53:43,724.724 INFO    ] Initializing speech engine...
[2026-10-20 15:53:43,732.732 INFO    ] 2026-10-20 15:53:43
[2026-10-20 15:53:43,983.983 INFO    ] 2026-10-20 15:53:43
[2026-10-20 15:53:44,018.018 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:53:44,276.276 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:53:44,286.286 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:53:44,423.423 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:53:44,483.483 INFO    ] time= 20/10/2026 15:53:44
[2026-10-20 15:53:44,532.532 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:53:44,557.557 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:53:44,688.688 INFO    ] No existing commands found in stream
[2026-10-20 15:53:49,716.716 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:53:49,718.718 INFO    ] Waiting 1.67 seconds before fallback handling...
[2026-10-20 15:53:51,946.946 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:53:51,949.949 INFO    ] Checking for system updates...
[2026-10-20 15:53:51,986.986 INFO    ] 200
[2026-10-20 15:53:51,989.989 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:53:52,047.047 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:53:52,050.050 INFO    ] No update needed
[2026-10-20 15:53:52,053.053 INFO    ] Checking for camera pi updates...
[2026-10-20 15:53:52,087.087 INFO    ] 200
[2026-10-20 15:53:52,090.090 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:53:52,130.130 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:53:52,185.185 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:53:52,187.187 INFO    ] No camera update needed
[2026-10-20 15:53:52,190.190 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:53:52,193.193 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:53:52,199.199 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:53:52,205.205 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:53:54,246.246 INFO    ] ================================================
[2026-10-20 15:53:54,261.261 INFO    ] Launching Daemon at Tue Oct 20 15:53:54 IST 2026
[2026-10-20 15:53:54,271.271 INFO    ] ================================================
[2026-10-20 15:53:54,847.847 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:53:54
[2026-10-20 15:53:55,447.447 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:53:55,719.719 INFO    ] Initializing speech engine...
[2026-10-20 15:53:55,729.729 INFO    ] 2026-10-20 15:53:55
[2026-10-20 15:53:55,990.990 INFO    ] 2026-10-20 15:53:55
[2026-10-20 15:53:56,044.044 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:53:56,270.270 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:53:56,275.275 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:53:56,409.409 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:53:56,465.465 INFO    ] time= 20/10/2026 15:53:56
[2026-10-20 15:53:56,520.520 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:53:56,542.542 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:53:56,690.690 INFO    ] No existing commands found in stream
[2026-10-20 15:54:01,709.709 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:54:01,712.712 INFO    ] Waiting 1.08 seconds before fallback handling...
[2026-10-20 15:54:03,341.341 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:54:03,344.344 INFO    ] Checking for system updates...
[2026-10-20 15:54:03,381.381 INFO    ] 200
[2026-10-20 15:54:03,383.383 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:54:03,445.445 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:54:03,448.448 INFO    ] No update needed
[2026-10-20 15:54:03,450.450 INFO    ] Checking for camera pi updates...
[2026-10-20 15:54:03,492.492 INFO    ] 200
[2026-10-20 15:54:03,500.500 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:54:03,554.554 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:54:03,590.590 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:54:03,594.594 INFO    ] No camera update needed
[2026-10-20 15:54:03,597.597 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:54:03,601.601 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:54:03,609.609 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:54:03,616.616 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:54:05,659.659 INFO    ] ================================================
[2026-10-20 15:54:05,673.673 INFO    ] Launching Daemon at Tue Oct 20 15:54:05 IST 2026
[2026-10-20 15:54:05,684.684 INFO    ] ================================================
[2026-10-20 15:54:06,314.314 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:54:06
[2026-10-20 15:54:06,963.963 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:54:07,263.263 INFO    ] Initializing speech engine...
[2026-10-20 15:54:07,271.271 INFO    ] 2026-10-20 15:54:07
[2026-10-20 15:54:07,547.547 INFO    ] 2026-10-20 15:54:07
[2026-10-20 15:54:07,604.604 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:54:07,893.893 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:54:07,901.901 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:54:08,104.104 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:54:08,121.121 INFO    ] time= 20/10/2026 15:54:08
[2026-10-20 15:54:08,129.129 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:54:08,156.156 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:54:08,267.267 INFO    ] No existing commands found in stream
[2026-10-20 15:54:13,297.297 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:54:13,300.300 INFO    ] Waiting 3.87 seconds before fallback handling...
[2026-10-20 15:54:17,709.709 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:54:17,712.712 INFO    ] Checking for system updates...
[2026-10-20 15:54:17,752.752 INFO    ] 200
[2026-10-20 15:54:17,755.755 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:54:17,809.809 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:54:17,811.811 INFO    ] No update needed
[2026-10-20 15:54:17,814.814 INFO    ] Checking for camera pi updates...
[2026-10-20 15:54:17,848.848 INFO    ] 200
[2026-10-20 15:54:17,851.851 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:54:17,892.892 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:54:17,939.939 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:54:17,942.942 INFO    ] No camera update needed
[2026-10-20 15:54:17,944.944 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:54:17,947.947 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:54:17,953.953 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:54:17,958.958 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:54:20,998.998 INFO    ] ================================================
[2026-10-20 15:54:20,013.013 INFO    ] Launching Daemon at Tue Oct 20 15:54:20 IST 2026
[2026-10-20 15:54:20,025.025 INFO    ] ================================================
[2026-10-20 15:54:20,656.656 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:54:20
[2026-10-20 15:54:21,325.325 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:54:21,619.619 INFO    ] Initializing speech engine...
[2026-10-20 15:54:21,623.623 INFO    ] 2026-10-20 15:54:21
[2026-10-20 15:54:21,906.906 INFO    ] 2026-10-20 15:54:21
[2026-10-20 15:54:21,943.943 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:54:22,203.203 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:54:22,213.213 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:54:22,410.410 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:54:22,476.476 INFO    ] time= 20/10/2026 15:54:22
[2026-10-20 15:54:22,487.487 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:54:22,508.508 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:54:22,642.642 INFO    ] No existing commands found in stream
[2026-10-20 15:54:27,665.665 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:54:27,669.669 INFO    ] Waiting 2.21 seconds before fallback handling...
[2026-10-20 15:54:30,385.385 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 15:54:30,388.388 INFO    ] Checking for system updates...
[2026-10-20 15:54:30,424.424 INFO    ] 200
[2026-10-20 15:54:30,426.426 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:54:30,482.482 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:54:30,484.484 INFO    ] No update needed
[2026-10-20 15:54:30,486.486 INFO    ] Checking for camera pi updates...
[2026-10-20 15:54:30,519.519 INFO    ] 200
[2026-10-20 15:54:30,522.522 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:54:30,569.569 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:54:30,611.611 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:54:30,613.613 INFO    ] No camera update needed
[2026-10-20 15:54:30,616.616 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:54:30,618.618 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:54:30,623.623 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:54:30,628.628 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:54:32,670.670 INFO    ] ================================================
[2026-10-20 15:54:32,689.689 INFO    ] Launching Daemon at Tue Oct 20 15:54:32 IST 2026
[2026-10-20 15:54:32,724.724 INFO    ] ================================================
[2026-10-20 15:54:33,391.391 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:54:33
[2026-10-20 15:54:33,995.995 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:54:34,283.283 INFO    ] Initializing speech engine...
[2026-10-20 15:54:34,293.293 INFO    ] 2026-10-20 15:54:34
[2026-10-20 15:54:34,564.564 INFO    ] 2026-10-20 15:54:34
[2026-10-20 15:54:34,601.601 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:54:34,826.826 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:54:34,839.839 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:54:35,054.054 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:54:35,062.062 INFO    ] time= 20/10/2026 15:54:35
[2026-10-20 15:54:35,101.101 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:54:35,150.150 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:54:35,262.262 INFO    ] No existing commands found in stream
[2026-10-20 15:54:40,274.274 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:54:40,277.277 INFO    ] Waiting 1.48 seconds before fallback handling...
[2026-10-20 15:54:42,332.332 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:54:42,334.334 INFO    ] Checking for system updates...
[2026-10-20 15:54:42,372.372 INFO    ] 200
[2026-10-20 15:54:42,375.375 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:54:42,434.434 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:54:42,437.437 INFO    ] No update needed
[2026-10-20 15:54:42,439.439 INFO    ] Checking for camera pi updates...
[2026-10-20 15:54:42,477.477 INFO    ] 200
[2026-10-20 15:54:42,480.480 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:54:42,525.525 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:54:42,575.575 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:54:42,578.578 INFO    ] No camera update needed
[2026-10-20 15:54:42,581.581 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:54:42,583.583 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:54:42,589.589 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:54:42,595.595 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:54:44,637.637 INFO    ] ================================================
[2026-10-20 15:54:44,653.653 INFO    ] Launching Daemon at Tue Oct 20 15:54:44 IST 2026
[2026-10-20 15:54:44,664.664 INFO    ] ================================================
[2026-10-20 15:54:45,263.263 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:54:45
[2026-10-20 15:54:45,864.864 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:54:46,138.138 INFO    ] Initializing speech engine...
[2026-10-20 15:54:46,143.143 INFO    ] 2026-10-20 15:54:46
[2026-10-20 15:54:46,416.416 INFO    ] 2026-10-20 15:54:46
[2026-10-20 15:54:46,462.462 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:54:46,744.744 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:54:46,748.748 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:54:46,943.943 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:54:46,949.949 INFO    ] time= 20/10/2026 15:54:46
[2026-10-20 15:54:46,967.967 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:54:46,995.995 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:54:47,112.112 INFO    ] No existing commands found in stream
[2026-10-20 15:54:52,136.136 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:54:52,139.139 INFO    ] Waiting 0.71 seconds before fallback handling...
[2026-10-20 15:54:53,371.371 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:54:53,374.374 INFO    ] Checking for system updates...
[2026-10-20 15:54:53,410.410 INFO    ] 200
[2026-10-20 15:54:53,412.412 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:54:53,464.464 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:54:53,466.466 INFO    ] No update needed
[2026-10-20 15:54:53,469.469 INFO    ] Checking for camera pi updates...
[2026-10-20 15:54:53,503.503 INFO    ] 200
[2026-10-20 15:54:53,506.506 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:54:53,545.545 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:54:53,594.594 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:54:53,597.597 INFO    ] No camera update needed
[2026-10-20 15:54:53,599.599 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:54:53,602.602 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:54:53,607.607 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:54:53,612.612 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:54:55,652.652 INFO    ] ================================================
[2026-10-20 15:54:55,667.667 INFO    ] Launching Daemon at Tue Oct 20 15:54:55 IST 2026
[2026-10-20 15:54:55,677.677 INFO    ] ================================================
[2026-10-20 15:54:56,244.244 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:54:56
[2026-10-20 15:54:56,846.846 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:54:57,149.149 INFO    ] Initializing speech engine...
[2026-10-20 15:54:57,160.160 INFO    ] 2026-10-20 15:54:57
[2026-10-20 15:54:57,435.435 INFO    ] 2026-10-20 15:54:57
[2026-10-20 15:54:57,490.490 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:54:57,720.720 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:54:57,725.725 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:54:57,864.864 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:54:57,905.905 INFO    ] time= 20/10/2026 15:54:57
[2026-10-20 15:54:57,970.970 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:54:58,007.007 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:54:58,135.135 INFO    ] No existing commands found in stream
[2026-10-20 15:55:03,164.164 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:55:03,168.168 INFO    ] Waiting 2.80 seconds before fallback handling...
[2026-10-20 15:55:06,498.498 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:55:06,501.501 INFO    ] Checking for system updates...
[2026-10-20 15:55:06,540.540 INFO    ] 200
[2026-10-20 15:55:06,543.543 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:55:06,597.597 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:55:06,600.600 INFO    ] No update needed
[2026-10-20 15:55:06,603.603 INFO    ] Checking for camera pi updates...
[2026-10-20 15:55:06,637.637 INFO    ] 200
[2026-10-20 15:55:06,640.640 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:55:06,682.682 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:55:06,735.735 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:55:06,738.738 INFO    ] No camera update needed
[2026-10-20 15:55:06,741.741 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:55:06,743.743 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:55:06,749.749 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:55:06,755.755 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:55:08,794.794 INFO    ] ================================================
[2026-10-20 15:55:08,809.809 INFO    ] Launching Daemon at Tue Oct 20 15:55:08 IST 2026
[2026-10-20 15:55:08,820.820 INFO    ] ================================================
[2026-10-20 15:55:09,470.470 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:55:09
[2026-10-20 15:55:10,127.127 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:55:10,422.422 INFO    ] Initializing speech engine...
[2026-10-20 15:55:10,429.429 INFO    ] 2026-10-20 15:55:10
[2026-10-20 15:55:10,699.699 INFO    ] 2026-10-20 15:55:10
[2026-10-20 15:55:10,754.754 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:55:10,978.978 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:55:10,987.987 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:55:11,217.217 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:55:11,250.250 INFO    ] time= 20/10/2026 15:55:11
[2026-10-20 15:55:11,267.267 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:55:11,277.277 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:55:11,411.411 INFO    ] No existing commands found in stream
[2026-10-20 15:55:16,437.437 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:55:16,440.440 INFO    ] Waiting 0.36 seconds before fallback handling...
[2026-10-20 15:55:17,306.306 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:55:17,309.309 INFO    ] Checking for system updates...
[2026-10-20 15:55:17,346.346 INFO    ] 200
[2026-10-20 15:55:17,348.348 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:55:17,401.401 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:55:17,404.404 INFO    ] No update needed
[2026-10-20 15:55:17,407.407 INFO    ] Checking for camera pi updates...
[2026-10-20 15:55:17,442.442 INFO    ] 200
[2026-10-20 15:55:17,445.445 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:55:17,485.485 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:55:17,542.542 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:55:17,544.544 INFO    ] No camera update needed
[2026-10-20 15:55:17,547.547 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:55:17,549.549 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:55:17,555.555 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:55:17,561.561 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:55:19,603.603 INFO    ] ================================================
[2026-10-20 15:55:19,620.620 INFO    ] Launching Daemon at Tue Oct 20 15:55:19 IST 2026
[2026-10-20 15:55:19,633.633 INFO    ] ================================================
[2026-10-20 15:55:20,276.276 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:55:20
[2026-10-20 15:55:20,928.928 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:55:21,225.225 INFO    ] Initializing speech engine...
[2026-10-20 15:55:21,238.238 INFO    ] 2026-10-20 15:55:21
[2026-10-20 15:55:21,524.524 INFO    ] 2026-10-20 15:55:21
[2026-10-20 15:55:21,562.562 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:55:21,847.847 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:55:21,855.855 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:55:22,062.062 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:55:22,091.091 INFO    ] time= 20/10/2026 15:55:22
[2026-10-20 15:55:22,099.099 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:55:22,106.106 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:55:22,243.243 INFO    ] No existing commands found in stream
[2026-10-20 15:55:27,273.273 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:55:27,276.276 INFO    ] Waiting 2.22 seconds before fallback handling...
[2026-10-20 15:55:29,988.988 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:55:29,990.990 INFO    ] Checking for system updates...
[2026-10-20 15:55:30,025.025 INFO    ] 200
[2026-10-20 15:55:30,028.028 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:55:30,080.080 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:55:30,083.083 INFO    ] No update needed
[2026-10-20 15:55:30,085.085 INFO    ] Checking for camera pi updates...
[2026-10-20 15:55:30,119.119 INFO    ] 200
[2026-10-20 15:55:30,121.121 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:55:30,161.161 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:55:30,204.204 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:55:30,206.206 INFO    ] No camera update needed
[2026-10-20 15:55:30,208.208 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:55:30,211.211 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:55:30,216.216 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:55:30,221.221 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:55:32,261.261 INFO    ] ================================================
[2026-10-20 15:55:32,276.276 INFO    ] Launching Daemon at Tue Oct 20 15:55:32 IST 2026
[2026-10-20 15:55:32,302.302 INFO    ] ================================================
[2026-10-20 15:55:32,908.908 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:55:32
[2026-10-20 15:55:33,517.517 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:55:33,786.786 INFO    ] Initializing speech engine...
[2026-10-20 15:55:33,808.808 INFO    ] 2026-10-20 15:55:33
[2026-10-20 15:55:34,078.078 INFO    ] 2026-10-20 15:55:34
[2026-10-20 15:55:34,114.114 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:55:34,336.336 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:55:34,390.390 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:55:34,554.554 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:55:34,566.566 INFO    ] time= 20/10/2026 15:55:34
[2026-10-20 15:55:34,620.620 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:55:34,664.664 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:55:34,826.826 INFO    ] No existing commands found in stream
[2026-10-20 15:55:39,849.849 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:55:39,852.852 INFO    ] Waiting 1.08 seconds before fallback handling...
[2026-10-20 15:55:41,462.462 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:55:41,465.465 INFO    ] Checking for system updates...
[2026-10-20 15:55:41,502.502 INFO    ] 200
[2026-10-20 15:55:41,505.505 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:55:41,557.557 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:55:41,560.560 INFO    ] No update needed
[2026-10-20 15:55:41,563.563 INFO    ] Checking for camera pi updates...
[2026-10-20 15:55:41,597.597 INFO    ] 200
[2026-10-20 15:55:41,600.600 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:55:41,641.641 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:55:41,688.688 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:55:41,691.691 INFO    ] No camera update needed
[2026-10-20 15:55:41,693.693 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:55:41,696.696 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:55:41,702.702 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:55:41,708.708 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:55:43,749.749 INFO    ] ================================================
[2026-10-20 15:55:43,763.763 INFO    ] Launching Daemon at Tue Oct 20 15:55:43 IST 2026
[2026-10-20 15:55:43,774.774 INFO    ] ================================================
[2026-10-20 15:55:44,353.353 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:55:44
[2026-10-20 15:55:44,936.936 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:55:45,201.201 INFO    ] Initializing speech engine...
[2026-10-20 15:55:45,209.209 INFO    ] 2026-10-20 15:55:45
[2026-10-20 15:55:45,455.455 INFO    ] 2026-10-20 15:55:45
[2026-10-20 15:55:45,491.491 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:55:45,740.740 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:55:45,749.749 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:55:45,889.889 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:55:45,948.948 INFO    ] time= 20/10/2026 15:55:45
[2026-10-20 15:55:46,002.002 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:55:46,016.016 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:55:46,144.144 INFO    ] No existing commands found in stream
[2026-10-20 15:55:51,168.168 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:55:51,171.171 INFO    ] Waiting 0.20 seconds before fallback handling...
[2026-10-20 15:55:51,934.934 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:55:51,936.936 INFO    ] Checking for system updates...
[2026-10-20 15:55:51,972.972 INFO    ] 200
[2026-10-20 15:55:51,975.975 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:55:52,027.027 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:55:52,030.030 INFO    ] No update needed
[2026-10-20 15:55:52,033.033 INFO    ] Checking for camera pi updates...
[2026-10-20 15:55:52,066.066 INFO    ] 200
[2026-10-20 15:55:52,069.069 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:55:52,110.110 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:55:52,261.261 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:55:52,264.264 INFO    ] No camera update needed
[2026-10-20 15:55:52,266.266 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:55:52,268.268 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:55:52,274.274 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:55:52,279.279 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:55:54,318.318 INFO    ] ================================================
[2026-10-20 15:55:54,332.332 INFO    ] Launching Daemon at Tue Oct 20 15:55:54 IST 2026
[2026-10-20 15:55:54,343.343 INFO    ] ================================================
[2026-10-20 15:55:54,933.933 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:55:54
[2026-10-20 15:55:55,549.549 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:55:55,823.823 INFO    ] Initializing speech engine...
[2026-10-20 15:55:55,833.833 INFO    ] 2026-10-20 15:55:55
[2026-10-20 15:55:56,079.079 INFO    ] 2026-10-20 15:55:56
[2026-10-20 15:55:56,116.116 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:55:56,350.350 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:55:56,376.376 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:55:56,511.511 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:55:56,559.559 INFO    ] time= 20/10/2026 15:55:56
[2026-10-20 15:55:56,614.614 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:55:56,646.646 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:55:56,779.779 INFO    ] No existing commands found in stream
[2026-10-20 15:56:01,802.802 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:56:01,804.804 INFO    ] Waiting 2.39 seconds before fallback handling...
[2026-10-20 15:56:04,689.689 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:56:04,692.692 INFO    ] Checking for system updates...
[2026-10-20 15:56:04,727.727 INFO    ] 200
[2026-10-20 15:56:04,730.730 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:56:04,783.783 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:56:04,785.785 INFO    ] No update needed
[2026-10-20 15:56:04,788.788 INFO    ] Checking for camera pi updates...
[2026-10-20 15:56:04,821.821 INFO    ] 200
[2026-10-20 15:56:04,823.823 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:56:04,867.867 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:56:04,915.915 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:56:04,917.917 INFO    ] No camera update needed
[2026-10-20 15:56:04,920.920 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:56:04,922.922 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:56:04,928.928 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:56:04,933.933 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:56:06,973.973 INFO    ] ================================================
[2026-10-20 15:56:06,987.987 INFO    ] Launching Daemon at Tue Oct 20 15:56:06 IST 2026
[2026-10-20 15:56:07,998.998 INFO    ] ================================================
[2026-10-20 15:56:07,594.594 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:56:07
[2026-10-20 15:56:08,189.189 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:56:08,464.464 INFO    ] Initializing speech engine...
[2026-10-20 15:56:08,473.473 INFO    ] 2026-10-20 15:56:08
[2026-10-20 15:56:08,734.734 INFO    ] 2026-10-20 15:56:08
[2026-10-20 15:56:08,787.787 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:56:09,067.067 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:56:09,076.076 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:56:09,212.212 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:56:09,214.214 INFO    ] time= 20/10/2026 15:56:09
[2026-10-20 15:56:09,217.217 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:56:09,287.287 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:56:09,419.419 INFO    ] No existing commands found in stream
[2026-10-20 15:56:14,445.445 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:56:14,447.447 INFO    ] Waiting 1.00 seconds before fallback handling...
[2026-10-20 15:56:15,980.980 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 15:56:15,982.982 INFO    ] Checking for system updates...
[2026-10-20 15:56:16,018.018 INFO    ] 200
[2026-10-20 15:56:16,020.020 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:56:16,073.073 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:56:16,075.075 INFO    ] No update needed
[2026-10-20 15:56:16,078.078 INFO    ] Checking for camera pi updates...
[2026-10-20 15:56:16,112.112 INFO    ] 200
[2026-10-20 15:56:16,114.114 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:56:16,156.156 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:56:16,201.201 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:56:16,203.203 INFO    ] No camera update needed
[2026-10-20 15:56:16,206.206 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:56:16,208.208 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:56:16,214.214 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:56:16,219.219 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:56:18,262.262 INFO    ] ================================================
[2026-10-20 15:56:18,277.277 INFO    ] Launching Daemon at Tue Oct 20 15:56:18 IST 2026
[2026-10-20 15:56:18,287.287 INFO    ] ================================================
[2026-10-20 15:56:18,873.873 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:56:18
[2026-10-20 15:56:19,479.479 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:56:19,779.779 INFO    ] Initializing speech engine...
[2026-10-20 15:56:19,790.790 INFO    ] 2026-10-20 15:56:19
[2026-10-20 15:56:20,059.059 INFO    ] 2026-10-20 15:56:20
[2026-10-20 15:56:20,121.121 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:56:20,349.349 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:56:20,362.362 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:56:20,599.599 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:56:20,622.622 INFO    ] time= 20/10/2026 15:56:20
[2026-10-20 15:56:20,639.639 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:56:20,649.649 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:56:20,811.811 INFO    ] No existing commands found in stream
[2026-10-20 15:56:25,836.836 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:56:25,840.840 INFO    ] Waiting 1.42 seconds before fallback handling...
[2026-10-20 15:56:27,804.804 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:56:27,807.807 INFO    ] Checking for system updates...
[2026-10-20 15:56:27,846.846 INFO    ] 200
[2026-10-20 15:56:27,849.849 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:56:27,901.901 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:56:27,903.903 INFO    ] No update needed
[2026-10-20 15:56:27,905.905 INFO    ] Checking for camera pi updates...
[2026-10-20 15:56:27,939.939 INFO    ] 200
[2026-10-20 15:56:27,942.942 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:56:27,986.986 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:56:28,035.035 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:56:28,037.037 INFO    ] No camera update needed
[2026-10-20 15:56:28,040.040 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:56:28,042.042 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:56:28,047.047 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:56:28,052.052 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:56:30,091.091 INFO    ] ================================================
[2026-10-20 15:56:30,109.109 INFO    ] Launching Daemon at Tue Oct 20 15:56:30 IST 2026
[2026-10-20 15:56:30,120.120 INFO    ] ================================================
[2026-10-20 15:56:30,811.811 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:56:30
[2026-10-20 15:56:31,493.493 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:56:31,800.800 INFO    ] Initializing speech engine...
[2026-10-20 15:56:31,810.810 INFO    ] 2026-10-20 15:56:31
[2026-10-20 15:56:32,096.096 INFO    ] 2026-10-20 15:56:32
[2026-10-20 15:56:32,131.131 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:56:32,391.391 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:56:32,397.397 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:56:32,633.633 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:56:32,668.668 INFO    ] time= 20/10/2026 15:56:32
[2026-10-20 15:56:32,689.689 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:56:32,721.721 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:56:32,852.852 INFO    ] No existing commands found in stream
[2026-10-20 15:56:37,889.889 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:56:37,892.892 INFO    ] Waiting 1.94 seconds before fallback handling...
[2026-10-20 15:56:40,397.397 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:56:40,400.400 INFO    ] Checking for system updates...
[2026-10-20 15:56:40,442.442 INFO    ] 200
[2026-10-20 15:56:40,444.444 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:56:40,495.495 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:56:40,498.498 INFO    ] No update needed
[2026-10-20 15:56:40,500.500 INFO    ] Checking for camera pi updates...
[2026-10-20 15:56:40,538.538 INFO    ] 200
[2026-10-20 15:56:40,541.541 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:56:40,580.580 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:56:40,637.637 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:56:40,639.639 INFO    ] No camera update needed
[2026-10-20 15:56:40,641.641 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:56:40,644.644 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:56:40,649.649 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:56:40,654.654 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:56:42,697.697 INFO    ] ================================================
[2026-10-20 15:56:42,714.714 INFO    ] Launching Daemon at Tue Oct 20 15:56:42 IST 2026
[2026-10-20 15:56:42,725.725 INFO    ] ================================================
[2026-10-20 15:56:43,309.309 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:56:43
[2026-10-20 15:56:43,912.912 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:56:44,188.188 INFO    ] Initializing speech engine...
[2026-10-20 15:56:44,195.195 INFO    ] 2026-10-20 15:56:44
[2026-10-20 15:56:44,457.457 INFO    ] 2026-10-20 15:56:44
[2026-10-20 15:56:44,487.487 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:56:44,732.732 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:56:44,741.741 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:56:44,937.937 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:56:44,986.986 INFO    ] time= 20/10/2026 15:56:44
[2026-10-20 15:56:45,003.003 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:56:45,020.020 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:56:45,154.154 INFO    ] No existing commands found in stream
[2026-10-20 15:56:50,176.176 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:56:50,180.180 INFO    ] Waiting 2.58 seconds before fallback handling...
[2026-10-20 15:56:53,309.309 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:56:53,312.312 INFO    ] Checking for system updates...
[2026-10-20 15:56:53,348.348 INFO    ] 200
[2026-10-20 15:56:53,351.351 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:56:53,402.402 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:56:53,405.405 INFO    ] No update needed
[2026-10-20 15:56:53,407.407 INFO    ] Checking for camera pi updates...
[2026-10-20 15:56:53,441.441 INFO    ] 200
[2026-10-20 15:56:53,443.443 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:56:53,483.483 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:56:53,531.531 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:56:53,534.534 INFO    ] No camera update needed
[2026-10-20 15:56:53,536.536 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:56:53,539.539 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:56:53,544.544 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:56:53,549.549 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:56:55,593.593 INFO    ] ================================================
[2026-10-20 15:56:55,608.608 INFO    ] Launching Daemon at Tue Oct 20 15:56:55 IST 2026
[2026-10-20 15:56:55,621.621 INFO    ] ================================================
[2026-10-20 15:56:56,189.189 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:56:56
[2026-10-20 15:56:56,775.775 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:56:57,046.046 INFO    ] Initializing speech engine...
[2026-10-20 15:56:57,056.056 INFO    ] 2026-10-20 15:56:57
[2026-10-20 15:56:57,305.305 INFO    ] 2026-10-20 15:56:57
[2026-10-20 15:56:57,341.341 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:56:57,603.603 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:56:57,608.608 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:56:57,820.820 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:56:57,870.870 INFO    ] time= 20/10/2026 15:56:57
[2026-10-20 15:56:57,882.882 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:56:57,897.897 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:56:58,037.037 INFO    ] No existing commands found in stream
[2026-10-20 15:57:03,049.049 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:57:03,053.053 INFO    ] Waiting 0.39 seconds before fallback handling...
[2026-10-20 15:57:03,970.970 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:57:03,972.972 INFO    ] Checking for system updates...
[2026-10-20 15:57:04,008.008 INFO    ] 200
[2026-10-20 15:57:04,010.010 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:57:04,064.064 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:57:04,067.067 INFO    ] No update needed
[2026-10-20 15:57:04,069.069 INFO    ] Checking for camera pi updates...
[2026-10-20 15:57:04,107.107 INFO    ] 200
[2026-10-20 15:57:04,110.110 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:57:04,155.155 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:57:04,216.216 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:57:04,219.219 INFO    ] No camera update needed
[2026-10-20 15:57:04,221.221 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:57:04,223.223 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:57:04,228.228 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:57:04,233.233 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:57:06,273.273 INFO    ] ================================================
[2026-10-20 15:57:06,290.290 INFO    ] Launching Daemon at Tue Oct 20 15:57:06 IST 2026
[2026-10-20 15:57:06,301.301 INFO    ] ================================================
[2026-10-20 15:57:06,901.901 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:57:06
[2026-10-20 15:57:07,507.507 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:57:07,769.769 INFO    ] Initializing speech engine...
[2026-10-20 15:57:07,785.785 INFO    ] 2026-10-20 15:57:07
[2026-10-20 15:57:08,039.039 INFO    ] 2026-10-20 15:57:08
[2026-10-20 15:57:08,075.075 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:57:08,309.309 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:57:08,331.331 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:57:08,475.475 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:57:08,541.541 INFO    ] time= 20/10/2026 15:57:08
[2026-10-20 15:57:08,590.590 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:57:08,610.610 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:57:08,765.765 INFO    ] No existing commands found in stream
[2026-10-20 15:57:13,796.796 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:57:13,799.799 INFO    ] Waiting 1.58 seconds before fallback handling...
[2026-10-20 15:57:15,893.893 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:57:15,896.896 INFO    ] Checking for system updates...
[2026-10-20 15:57:15,932.932 INFO    ] 200
[2026-10-20 15:57:15,935.935 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:57:15,995.995 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:57:15,998.998 INFO    ] No update needed
[2026-10-20 15:57:16,001.001 INFO    ] Checking for camera pi updates...
[2026-10-20 15:57:16,035.035 INFO    ] 200
[2026-10-20 15:57:16,038.038 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:57:16,093.093 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:57:16,141.141 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:57:16,143.143 INFO    ] No camera update needed
[2026-10-20 15:57:16,146.146 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:57:16,148.148 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:57:16,153.153 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:57:16,158.158 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:57:18,204.204 INFO    ] ================================================
[2026-10-20 15:57:18,219.219 INFO    ] Launching Daemon at Tue Oct 20 15:57:18 IST 2026
[2026-10-20 15:57:18,230.230 INFO    ] ================================================
[2026-10-20 15:57:18,834.834 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:57:18
[2026-10-20 15:57:19,416.416 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:57:19,689.689 INFO    ] Initializing speech engine...
[2026-10-20 15:57:19,705.705 INFO    ] 2026-10-20 15:57:19
[2026-10-20 15:57:19,999.999 INFO    ] 2026-10-20 15:57:19
[2026-10-20 15:57:20,108.108 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:57:20,323.323 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:57:20,331.331 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:57:20,525.525 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:57:20,546.546 INFO    ] time= 20/10/2026 15:57:20
[2026-10-20 15:57:20,574.574 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:57:20,582.582 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:57:20,693.693 INFO    ] No existing commands found in stream
[2026-10-20 15:57:25,723.723 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:57:25,726.726 INFO    ] Waiting 0.20 seconds before fallback handling...
[2026-10-20 15:57:26,469.469 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:57:26,472.472 INFO    ] Checking for system updates...
[2026-10-20 15:57:26,510.510 INFO    ] 200
[2026-10-20 15:57:26,513.513 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:57:26,566.566 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:57:26,569.569 INFO    ] No update needed
[2026-10-20 15:57:26,572.572 INFO    ] Checking for camera pi updates...
[2026-10-20 15:57:26,606.606 INFO    ] 200
[2026-10-20 15:57:26,609.609 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:57:26,654.654 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:57:26,699.699 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:57:26,702.702 INFO    ] No camera update needed
[2026-10-20 15:57:26,704.704 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:57:26,707.707 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:57:26,712.712 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:57:26,717.717 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:57:28,755.755 INFO    ] ================================================
[2026-10-20 15:57:28,771.771 INFO    ] Launching Daemon at Tue Oct 20 15:57:28 IST 2026
[2026-10-20 15:57:28,782.782 INFO    ] ================================================
[2026-10-20 15:57:29,365.365 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:57:29
[2026-10-20 15:57:29,968.968 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:57:30,240.240 INFO    ] Initializing speech engine...
[2026-10-20 15:57:30,249.249 INFO    ] 2026-10-20 15:57:30
[2026-10-20 15:57:30,526.526 INFO    ] 2026-10-20 15:57:30
[2026-10-20 15:57:30,571.571 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:57:30,827.827 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:57:30,837.837 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:57:31,002.002 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:57:31,063.063 INFO    ] time= 20/10/2026 15:57:31
[2026-10-20 15:57:31,111.111 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:57:31,117.117 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:57:31,261.261 INFO    ] No existing commands found in stream
[2026-10-20 15:57:36,279.279 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:57:36,282.282 INFO    ] Waiting 0.70 seconds before fallback handling...
[2026-10-20 15:57:37,496.496 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:57:37,500.500 INFO    ] Checking for system updates...
[2026-10-20 15:57:37,542.542 INFO    ] 200
[2026-10-20 15:57:37,545.545 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:57:37,604.604 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:57:37,607.607 INFO    ] No update needed
[2026-10-20 15:57:37,609.609 INFO    ] Checking for camera pi updates...
[2026-10-20 15:57:37,643.643 INFO    ] 200
[2026-10-20 15:57:37,646.646 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:57:37,692.692 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:57:37,743.743 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:57:37,746.746 INFO    ] No camera update needed
[2026-10-20 15:57:37,748.748 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:57:37,750.750 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:57:37,756.756 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:57:37,761.761 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:57:39,800.800 INFO    ] ================================================
[2026-10-20 15:57:39,815.815 INFO    ] Launching Daemon at Tue Oct 20 15:57:39 IST 2026
[2026-10-20 15:57:39,827.827 INFO    ] ================================================
[2026-10-20 15:57:40,435.435 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:57:40
[2026-10-20 15:57:41,114.114 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:57:41,427.427 INFO    ] Initializing speech engine...
[2026-10-20 15:57:41,438.438 INFO    ] 2026-10-20 15:57:41
[2026-10-20 15:57:41,702.702 INFO    ] 2026-10-20 15:57:41
[2026-10-20 15:57:41,737.737 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:57:41,988.988 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:57:41,997.997 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:57:42,231.231 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:57:42,275.275 INFO    ] time= 20/10/2026 15:57:42
[2026-10-20 15:57:42,281.281 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:57:42,299.299 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:57:42,422.422 INFO    ] No existing commands found in stream
[2026-10-20 15:57:47,442.442 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:57:47,445.445 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-10-20 15:57:50,374.374 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 15:57:50,377.377 INFO    ] Checking for system updates...
[2026-10-20 15:57:50,416.416 INFO    ] 200
[2026-10-20 15:57:50,419.419 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:57:50,470.470 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:57:50,472.472 INFO    ] No update needed
[2026-10-20 15:57:50,475.475 INFO    ] Checking for camera pi updates...
[2026-10-20 15:57:50,508.508 INFO    ] 200
[2026-10-20 15:57:50,510.510 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:57:50,550.550 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:57:50,596.596 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:57:50,598.598 INFO    ] No camera update needed
[2026-10-20 15:57:50,601.601 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:57:50,603.603 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:57:50,608.608 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:57:50,613.613 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:57:52,652.652 INFO    ] ================================================
[2026-10-20 15:57:52,667.667 INFO    ] Launching Daemon at Tue Oct 20 15:57:52 IST 2026
[2026-10-20 15:57:52,679.679 INFO    ] ================================================
[2026-10-20 15:57:53,344.344 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:57:53
[2026-10-20 15:57:54,042.042 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:57:54,359.359 INFO    ] Initializing speech engine...
[2026-10-20 15:57:54,374.374 INFO    ] 2026-10-20 15:57:54
[2026-10-20 15:57:54,657.657 INFO    ] 2026-10-20 15:57:54
[2026-10-20 15:57:54,697.697 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:57:54,943.943 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:57:54,952.952 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:57:55,092.092 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:57:55,162.162 INFO    ] time= 20/10/2026 15:57:55
[2026-10-20 15:57:55,215.215 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:57:55,222.222 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:57:55,356.356 INFO    ] No existing commands found in stream
[2026-10-20 15:58:00,374.374 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:58:00,377.377 INFO    ] Waiting 2.59 seconds before fallback handling...
[2026-10-20 15:58:03,524.524 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 15:58:03,527.527 INFO    ] Checking for system updates...
[2026-10-20 15:58:03,570.570 INFO    ] 200
[2026-10-20 15:58:03,573.573 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:58:03,651.651 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:58:03,654.654 INFO    ] No update needed
[2026-10-20 15:58:03,659.659 INFO    ] Checking for camera pi updates...
[2026-10-20 15:58:03,697.697 INFO    ] 200
[2026-10-20 15:58:03,700.700 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:58:03,746.746 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:58:03,795.795 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:58:03,797.797 INFO    ] No camera update needed
[2026-10-20 15:58:03,800.800 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:58:03,802.802 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:58:03,807.807 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:58:03,813.813 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:58:05,852.852 INFO    ] ================================================
[2026-10-20 15:58:05,869.869 INFO    ] Launching Daemon at Tue Oct 20 15:58:05 IST 2026
[2026-10-20 15:58:05,880.880 INFO    ] ================================================
[2026-10-20 15:58:06,581.581 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:58:06
[2026-10-20 15:58:07,283.283 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:58:07,598.598 INFO    ] Initializing speech engine...
[2026-10-20 15:58:07,612.612 INFO    ] 2026-10-20 15:58:07
[2026-10-20 15:58:07,926.926 INFO    ] 2026-10-20 15:58:07
[2026-10-20 15:58:08,015.015 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:58:08,237.237 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:58:08,243.243 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:58:08,433.433 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:58:08,452.452 INFO    ] time= 20/10/2026 15:58:08
[2026-10-20 15:58:08,471.471 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:58:08,501.501 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:58:08,667.667 INFO    ] No existing commands found in stream
[2026-10-20 15:58:13,693.693 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:58:13,696.696 INFO    ] Waiting 3.06 seconds before fallback handling...
[2026-10-20 15:58:17,291.291 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:58:17,294.294 INFO    ] Checking for system updates...
[2026-10-20 15:58:17,331.331 INFO    ] 200
[2026-10-20 15:58:17,334.334 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:58:17,394.394 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:58:17,397.397 INFO    ] No update needed
[2026-10-20 15:58:17,400.400 INFO    ] Checking for camera pi updates...
[2026-10-20 15:58:17,440.440 INFO    ] 200
[2026-10-20 15:58:17,443.443 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:58:17,490.490 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:58:17,540.540 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:58:17,543.543 INFO    ] No camera update needed
[2026-10-20 15:58:17,545.545 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:58:17,548.548 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:58:17,555.555 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:58:17,561.561 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:58:19,601.601 INFO    ] ================================================
[2026-10-20 15:58:19,617.617 INFO    ] Launching Daemon at Tue Oct 20 15:58:19 IST 2026
[2026-10-20 15:58:19,629.629 INFO    ] ================================================
[2026-10-20 15:58:20,222.222 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:58:20
[2026-10-20 15:58:20,832.832 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:58:21,086.086 INFO    ] Initializing speech engine...
[2026-10-20 15:58:21,092.092 INFO    ] 2026-10-20 15:58:21
[2026-10-20 15:58:21,368.368 INFO    ] 2026-10-20 15:58:21
[2026-10-20 15:58:21,404.404 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:58:21,658.658 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:58:21,667.667 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:58:21,808.808 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:58:21,878.878 INFO    ] time= 20/10/2026 15:58:21
[2026-10-20 15:58:21,933.933 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:58:21,939.939 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:58:22,074.074 INFO    ] No existing commands found in stream
[2026-10-20 15:58:27,093.093 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:58:27,096.096 INFO    ] Waiting 0.28 seconds before fallback handling...
[2026-10-20 15:58:27,857.857 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:58:27,860.860 INFO    ] Checking for system updates...
[2026-10-20 15:58:27,895.895 INFO    ] 200
[2026-10-20 15:58:27,897.897 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:58:27,951.951 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:58:27,953.953 INFO    ] No update needed
[2026-10-20 15:58:27,955.955 INFO    ] Checking for camera pi updates...
[2026-10-20 15:58:27,989.989 INFO    ] 200
[2026-10-20 15:58:27,991.991 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:58:28,037.037 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:58:28,086.086 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:58:28,089.089 INFO    ] No camera update needed
[2026-10-20 15:58:28,091.091 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:58:28,093.093 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:58:28,099.099 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:58:28,104.104 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:58:30,146.146 INFO    ] ================================================
[2026-10-20 15:58:30,162.162 INFO    ] Launching Daemon at Tue Oct 20 15:58:30 IST 2026
[2026-10-20 15:58:30,173.173 INFO    ] ================================================
[2026-10-20 15:58:30,752.752 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:58:30
[2026-10-20 15:58:31,356.356 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:58:31,630.630 INFO    ] Initializing speech engine...
[2026-10-20 15:58:31,636.636 INFO    ] 2026-10-20 15:58:31
[2026-10-20 15:58:31,901.901 INFO    ] 2026-10-20 15:58:31
[2026-10-20 15:58:31,937.937 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:58:32,139.139 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:58:32,184.184 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:58:32,358.358 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:58:32,393.393 INFO    ] time= 20/10/2026 15:58:32
[2026-10-20 15:58:32,427.427 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:58:32,502.502 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:58:32,643.643 INFO    ] No existing commands found in stream
[2026-10-20 15:58:37,672.672 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:58:37,674.674 INFO    ] Waiting 3.75 seconds before fallback handling...
[2026-10-20 15:58:41,929.929 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:58:41,931.931 INFO    ] Checking for system updates...
[2026-10-20 15:58:41,966.966 INFO    ] 200
[2026-10-20 15:58:41,969.969 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:58:42,028.028 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:58:42,031.031 INFO    ] No update needed
[2026-10-20 15:58:42,033.033 INFO    ] Checking for camera pi updates...
[2026-10-20 15:58:42,070.070 INFO    ] 200
[2026-10-20 15:58:42,073.073 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:58:42,119.119 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:58:42,167.167 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:58:42,170.170 INFO    ] No camera update needed
[2026-10-20 15:58:42,172.172 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:58:42,175.175 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:58:42,180.180 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:58:42,185.185 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:58:44,224.224 INFO    ] ================================================
[2026-10-20 15:58:44,240.240 INFO    ] Launching Daemon at Tue Oct 20 15:58:44 IST 2026
[2026-10-20 15:58:44,251.251 INFO    ] ================================================
[2026-10-20 15:58:44,826.826 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:58:44
[2026-10-20 15:58:45,422.422 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:58:45,696.696 INFO    ] Initializing speech engine...
[2026-10-20 15:58:45,705.705 INFO    ] 2026-10-20 15:58:45
[2026-10-20 15:58:45,953.953 INFO    ] 2026-10-20 15:58:45
[2026-10-20 15:58:45,988.988 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:58:46,239.239 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:58:46,249.249 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:58:46,389.389 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:58:46,444.444 INFO    ] time= 20/10/2026 15:58:46
[2026-10-20 15:58:46,493.493 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:58:46,517.517 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:58:46,662.662 INFO    ] No existing commands found in stream
[2026-10-20 15:58:51,681.681 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:58:51,684.684 INFO    ] Waiting 1.39 seconds before fallback handling...
[2026-10-20 15:58:53,574.574 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 15:58:53,577.577 INFO    ] Checking for system updates...
[2026-10-20 15:58:53,612.612 INFO    ] 200
[2026-10-20 15:58:53,614.614 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:58:53,666.666 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:58:53,669.669 INFO    ] No update needed
[2026-10-20 15:58:53,671.671 INFO    ] Checking for camera pi updates...
[2026-10-20 15:58:53,704.704 INFO    ] 200
[2026-10-20 15:58:53,707.707 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:58:53,747.747 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:58:53,798.798 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:58:53,801.801 INFO    ] No camera update needed
[2026-10-20 15:58:53,804.804 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:58:53,807.807 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:58:53,813.813 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:58:53,819.819 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:58:55,861.861 INFO    ] ================================================
[2026-10-20 15:58:55,877.877 INFO    ] Launching Daemon at Tue Oct 20 15:58:55 IST 2026
[2026-10-20 15:58:55,888.888 INFO    ] ================================================
[2026-10-20 15:58:56,547.547 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:58:56
[2026-10-20 15:58:57,163.163 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:58:57,414.414 INFO    ] Initializing speech engine...
[2026-10-20 15:58:57,437.437 INFO    ] 2026-10-20 15:58:57
[2026-10-20 15:58:57,692.692 INFO    ] 2026-10-20 15:58:57
[2026-10-20 15:58:57,726.726 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:58:57,927.927 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:58:57,983.983 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:58:58,146.146 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:58:58,201.201 INFO    ] time= 20/10/2026 15:58:58
[2026-10-20 15:58:58,256.256 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:58:58,274.274 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:58:58,448.448 INFO    ] No existing commands found in stream
[2026-10-20 15:59:03,471.471 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:59:03,474.474 INFO    ] Waiting 2.43 seconds before fallback handling...
[2026-10-20 15:59:06,418.418 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:59:06,421.421 INFO    ] Checking for system updates...
[2026-10-20 15:59:06,457.457 INFO    ] 200
[2026-10-20 15:59:06,460.460 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:59:06,512.512 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:59:06,515.515 INFO    ] No update needed
[2026-10-20 15:59:06,517.517 INFO    ] Checking for camera pi updates...
[2026-10-20 15:59:06,554.554 INFO    ] 200
[2026-10-20 15:59:06,556.556 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:59:06,604.604 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:59:06,651.651 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:59:06,654.654 INFO    ] No camera update needed
[2026-10-20 15:59:06,656.656 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:59:06,658.658 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:59:06,663.663 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:59:06,669.669 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:59:08,709.709 INFO    ] ================================================
[2026-10-20 15:59:08,724.724 INFO    ] Launching Daemon at Tue Oct 20 15:59:08 IST 2026
[2026-10-20 15:59:08,734.734 INFO    ] ================================================
[2026-10-20 15:59:09,303.303 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:59:09
[2026-10-20 15:59:09,883.883 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:59:10,131.131 INFO    ] Initializing speech engine...
[2026-10-20 15:59:10,136.136 INFO    ] 2026-10-20 15:59:10
[2026-10-20 15:59:10,407.407 INFO    ] 2026-10-20 15:59:10
[2026-10-20 15:59:10,442.442 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:59:10,645.645 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:59:10,701.701 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:59:10,846.846 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:59:10,903.903 INFO    ] time= 20/10/2026 15:59:10
[2026-10-20 15:59:10,962.962 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:59:10,983.983 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:59:11,113.113 INFO    ] No existing commands found in stream
[2026-10-20 15:59:16,141.141 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:59:16,144.144 INFO    ] Waiting 1.37 seconds before fallback handling...
[2026-10-20 15:59:17,999.999 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 15:59:18,002.002 INFO    ] Checking for system updates...
[2026-10-20 15:59:18,041.041 INFO    ] 200
[2026-10-20 15:59:18,044.044 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:59:18,108.108 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:59:18,112.112 INFO    ] No update needed
[2026-10-20 15:59:18,115.115 INFO    ] Checking for camera pi updates...
[2026-10-20 15:59:18,157.157 INFO    ] 200
[2026-10-20 15:59:18,160.160 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:59:18,211.211 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:59:18,259.259 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:59:18,261.261 INFO    ] No camera update needed
[2026-10-20 15:59:18,264.264 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:59:18,266.266 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:59:18,271.271 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:59:18,276.276 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:59:20,315.315 INFO    ] ================================================
[2026-10-20 15:59:20,331.331 INFO    ] Launching Daemon at Tue Oct 20 15:59:20 IST 2026
[2026-10-20 15:59:20,341.341 INFO    ] ================================================
[2026-10-20 15:59:20,953.953 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:59:20
[2026-10-20 15:59:21,536.536 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:59:21,793.793 INFO    ] Initializing speech engine...
[2026-10-20 15:59:21,806.806 INFO    ] 2026-10-20 15:59:21
[2026-10-20 15:59:22,091.091 INFO    ] 2026-10-20 15:59:22
[2026-10-20 15:59:22,128.128 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:59:22,344.344 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:59:22,378.378 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:59:22,550.550 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:59:22,602.602 INFO    ] time= 20/10/2026 15:59:22
[2026-10-20 15:59:22,661.661 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:59:22,682.682 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:59:22,825.825 INFO    ] No existing commands found in stream
[2026-10-20 15:59:27,839.839 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:59:27,841.841 INFO    ] Waiting 0.66 seconds before fallback handling...
[2026-10-20 15:59:28,992.992 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:59:28,995.995 INFO    ] Checking for system updates...
[2026-10-20 15:59:29,030.030 INFO    ] 200
[2026-10-20 15:59:29,032.032 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:59:29,083.083 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:59:29,086.086 INFO    ] No update needed
[2026-10-20 15:59:29,088.088 INFO    ] Checking for camera pi updates...
[2026-10-20 15:59:29,121.121 INFO    ] 200
[2026-10-20 15:59:29,123.123 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:59:29,162.162 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:59:29,210.210 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:59:29,212.212 INFO    ] No camera update needed
[2026-10-20 15:59:29,215.215 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:59:29,217.217 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:59:29,222.222 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:59:29,227.227 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:59:31,267.267 INFO    ] ================================================
[2026-10-20 15:59:31,282.282 INFO    ] Launching Daemon at Tue Oct 20 15:59:31 IST 2026
[2026-10-20 15:59:31,294.294 INFO    ] ================================================
[2026-10-20 15:59:31,966.966 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:59:31
[2026-10-20 15:59:32,593.593 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:59:32,864.864 INFO    ] Initializing speech engine...
[2026-10-20 15:59:32,886.886 INFO    ] 2026-10-20 15:59:32
[2026-10-20 15:59:33,148.148 INFO    ] 2026-10-20 15:59:33
[2026-10-20 15:59:33,186.186 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:59:33,439.439 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:59:33,450.450 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:59:33,587.587 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:59:33,647.647 INFO    ] time= 20/10/2026 15:59:33
[2026-10-20 15:59:33,696.696 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:59:33,715.715 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:59:33,853.853 INFO    ] No existing commands found in stream
[2026-10-20 15:59:38,870.870 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:59:38,872.872 INFO    ] Waiting 0.02 seconds before fallback handling...
[2026-10-20 15:59:39,408.408 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:59:39,411.411 INFO    ] Checking for system updates...
[2026-10-20 15:59:39,446.446 INFO    ] 200
[2026-10-20 15:59:39,448.448 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:59:39,500.500 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:59:39,502.502 INFO    ] No update needed
[2026-10-20 15:59:39,504.504 INFO    ] Checking for camera pi updates...
[2026-10-20 15:59:39,537.537 INFO    ] 200
[2026-10-20 15:59:39,540.540 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:59:39,583.583 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:59:39,629.629 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 15:59:39,631.631 INFO    ] No camera update needed
[2026-10-20 15:59:39,634.634 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:59:39,636.636 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:59:39,641.641 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:59:39,646.646 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:59:41,686.686 INFO    ] ================================================
[2026-10-20 15:59:41,702.702 INFO    ] Launching Daemon at Tue Oct 20 15:59:41 IST 2026
[2026-10-20 15:59:41,712.712 INFO    ] ================================================
[2026-10-20 15:59:42,307.307 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:59:42
[2026-10-20 15:59:42,921.921 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:59:43,612.612 INFO    ] Initializing speech engine...
[2026-10-20 15:59:43,619.619 INFO    ] 2026-10-20 15:59:43
[2026-10-20 15:59:43,959.959 INFO    ] 2026-10-20 15:59:43
[2026-10-20 15:59:44,008.008 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:59:44,307.307 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:59:44,367.367 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:59:44,539.539 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:59:44,546.546 INFO    ] time= 20/10/2026 15:59:44
[2026-10-20 15:59:44,595.595 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:59:44,598.598 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:59:44,755.755 INFO    ] No existing commands found in stream
[2026-10-20 15:59:49,785.785 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 15:59:49,788.788 INFO    ] Waiting 2.04 seconds before fallback handling...
[2026-10-20 15:59:52,330.330 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 15:59:52,332.332 INFO    ] Checking for system updates...
[2026-10-20 15:59:52,367.367 INFO    ] 200
[2026-10-20 15:59:52,370.370 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:59:52,423.423 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:59:52,425.425 INFO    ] No update needed
[2026-10-20 15:59:52,428.428 INFO    ] Checking for camera pi updates...
[2026-10-20 15:59:52,462.462 INFO    ] 200
[2026-10-20 15:59:52,464.464 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 15:59:52,508.508 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 15:59:52,562.562 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 15:59:52,564.564 INFO    ] No camera update needed
[2026-10-20 15:59:52,566.566 INFO    ] Script finished. Safe exiting...
[2026-10-20 15:59:52,569.569 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 15:59:52,574.574 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 15:59:52,579.579 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 15:59:54,618.618 INFO    ] ================================================
[2026-10-20 15:59:54,634.634 INFO    ] Launching Daemon at Tue Oct 20 15:59:54 IST 2026
[2026-10-20 15:59:54,644.644 INFO    ] ================================================
[2026-10-20 15:59:55,217.217 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 15:59:55
[2026-10-20 15:59:55,801.801 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 15:59:56,073.073 INFO    ] Initializing speech engine...
[2026-10-20 15:59:56,082.082 INFO    ] 2026-10-20 15:59:56
[2026-10-20 15:59:56,330.330 INFO    ] 2026-10-20 15:59:56
[2026-10-20 15:59:56,364.364 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 15:59:56,566.566 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 15:59:56,617.617 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 15:59:56,830.830 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 15:59:56,890.890 INFO    ] time= 20/10/2026 15:59:56
[2026-10-20 15:59:56,902.902 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 15:59:56,917.917 INFO    ] Checking for existing commands in stream...
[2026-10-20 15:59:57,083.083 INFO    ] No existing commands found in stream
[2026-10-20 16:00:02,112.112 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:00:02,116.116 INFO    ] Waiting 0.49 seconds before fallback handling...
[2026-10-20 16:00:03,857.857 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:00:03,891.891 INFO    ] Checking for system updates...
[2026-10-20 16:00:03,980.980 INFO    ] 200
[2026-10-20 16:00:03,983.983 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:00:04,094.094 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:00:04,098.098 INFO    ] No update needed
[2026-10-20 16:00:04,111.111 INFO    ] Checking for camera pi updates...
[2026-10-20 16:00:04,211.211 INFO    ] 200
[2026-10-20 16:00:04,215.215 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:00:04,358.358 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:00:04,489.489 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:00:04,492.492 INFO    ] No camera update needed
[2026-10-20 16:00:04,496.496 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:00:04,529.529 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:00:04,537.537 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:00:04,544.544 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:00:06,620.620 INFO    ] ================================================
[2026-10-20 16:00:06,635.635 INFO    ] Launching Daemon at Tue Oct 20 16:00:06 IST 2026
[2026-10-20 16:00:06,646.646 INFO    ] ================================================
[2026-10-20 16:00:07,271.271 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:00:07
[2026-10-20 16:00:07,891.891 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:00:08,147.147 INFO    ] Initializing speech engine...
[2026-10-20 16:00:08,161.161 INFO    ] 2026-10-20 16:00:08
[2026-10-20 16:00:08,447.447 INFO    ] 2026-10-20 16:00:08
[2026-10-20 16:00:08,507.507 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:00:08,759.759 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:00:08,763.763 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:00:08,907.907 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:00:08,926.926 INFO    ] time= 20/10/2026 16:00:08
[2026-10-20 16:00:08,928.928 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:00:08,982.982 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:00:09,092.092 INFO    ] No existing commands found in stream
[2026-10-20 16:00:14,104.104 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:00:14,108.108 INFO    ] Waiting 1.02 seconds before fallback handling...
[2026-10-20 16:00:15,644.644 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:00:15,647.647 INFO    ] Checking for system updates...
[2026-10-20 16:00:15,683.683 INFO    ] 200
[2026-10-20 16:00:15,686.686 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:00:15,742.742 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:00:15,745.745 INFO    ] No update needed
[2026-10-20 16:00:15,747.747 INFO    ] Checking for camera pi updates...
[2026-10-20 16:00:15,781.781 INFO    ] 200
[2026-10-20 16:00:15,784.784 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:00:15,824.824 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:00:15,873.873 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:00:15,884.884 INFO    ] No camera update needed
[2026-10-20 16:00:15,887.887 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:00:15,890.890 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:00:15,896.896 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:00:15,901.901 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:00:17,942.942 INFO    ] ================================================
[2026-10-20 16:00:17,958.958 INFO    ] Launching Daemon at Tue Oct 20 16:00:17 IST 2026
[2026-10-20 16:00:17,969.969 INFO    ] ================================================
[2026-10-20 16:00:18,547.547 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:00:18
[2026-10-20 16:00:19,143.143 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:00:19,421.421 INFO    ] Initializing speech engine...
[2026-10-20 16:00:19,427.427 INFO    ] 2026-10-20 16:00:19
[2026-10-20 16:00:19,688.688 INFO    ] 2026-10-20 16:00:19
[2026-10-20 16:00:19,742.742 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:00:20,041.041 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:00:20,046.046 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:00:20,229.229 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:00:20,248.248 INFO    ] time= 20/10/2026 16:00:20
[2026-10-20 16:00:20,254.254 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:00:20,276.276 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:00:20,416.416 INFO    ] No existing commands found in stream
[2026-10-20 16:00:25,440.440 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:00:25,443.443 INFO    ] Waiting 0.25 seconds before fallback handling...
[2026-10-20 16:00:26,190.190 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:00:26,193.193 INFO    ] Checking for system updates...
[2026-10-20 16:00:26,229.229 INFO    ] 200
[2026-10-20 16:00:26,232.232 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:00:26,288.288 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:00:26,291.291 INFO    ] No update needed
[2026-10-20 16:00:26,294.294 INFO    ] Checking for camera pi updates...
[2026-10-20 16:00:26,328.328 INFO    ] 200
[2026-10-20 16:00:26,331.331 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:00:26,374.374 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:00:26,420.420 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:00:26,422.422 INFO    ] No camera update needed
[2026-10-20 16:00:26,424.424 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:00:26,427.427 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:00:26,432.432 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:00:26,437.437 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:00:28,478.478 INFO    ] ================================================
[2026-10-20 16:00:28,495.495 INFO    ] Launching Daemon at Tue Oct 20 16:00:28 IST 2026
[2026-10-20 16:00:28,507.507 INFO    ] ================================================
[2026-10-20 16:00:29,186.186 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:00:29
[2026-10-20 16:00:29,857.857 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:00:30,134.134 INFO    ] Initializing speech engine...
[2026-10-20 16:00:30,143.143 INFO    ] 2026-10-20 16:00:30
[2026-10-20 16:00:30,403.403 INFO    ] 2026-10-20 16:00:30
[2026-10-20 16:00:30,453.453 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:00:30,682.682 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:00:30,688.688 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:00:30,917.917 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:00:30,948.948 INFO    ] time= 20/10/2026 16:00:30
[2026-10-20 16:00:30,955.955 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:00:30,976.976 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:00:31,110.110 INFO    ] No existing commands found in stream
[2026-10-20 16:00:36,141.141 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:00:36,143.143 INFO    ] Waiting 1.42 seconds before fallback handling...
[2026-10-20 16:00:38,088.088 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 16:00:38,091.091 INFO    ] Checking for system updates...
[2026-10-20 16:00:38,126.126 INFO    ] 200
[2026-10-20 16:00:38,129.129 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:00:38,185.185 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:00:38,187.187 INFO    ] No update needed
[2026-10-20 16:00:38,190.190 INFO    ] Checking for camera pi updates...
[2026-10-20 16:00:38,223.223 INFO    ] 200
[2026-10-20 16:00:38,226.226 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:00:38,265.265 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:00:38,316.316 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:00:38,318.318 INFO    ] No camera update needed
[2026-10-20 16:00:38,321.321 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:00:38,323.323 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:00:38,328.328 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:00:38,333.333 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:00:40,373.373 INFO    ] ================================================
[2026-10-20 16:00:40,389.389 INFO    ] Launching Daemon at Tue Oct 20 16:00:40 IST 2026
[2026-10-20 16:00:40,400.400 INFO    ] ================================================
[2026-10-20 16:00:40,974.974 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:00:40
[2026-10-20 16:00:41,575.575 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:00:41,853.853 INFO    ] Initializing speech engine...
[2026-10-20 16:00:41,860.860 INFO    ] 2026-10-20 16:00:41
[2026-10-20 16:00:42,120.120 INFO    ] 2026-10-20 16:00:42
[2026-10-20 16:00:42,149.149 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:00:42,393.393 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:00:42,403.403 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:00:42,633.633 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:00:42,662.662 INFO    ] time= 20/10/2026 16:00:42
[2026-10-20 16:00:42,677.677 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:00:42,686.686 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:00:42,810.810 INFO    ] No existing commands found in stream
[2026-10-20 16:00:47,825.825 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:00:47,827.827 INFO    ] Waiting 3.87 seconds before fallback handling...
[2026-10-20 16:00:52,214.214 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:00:52,217.217 INFO    ] Checking for system updates...
[2026-10-20 16:00:52,252.252 INFO    ] 200
[2026-10-20 16:00:52,255.255 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:00:52,306.306 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:00:52,309.309 INFO    ] No update needed
[2026-10-20 16:00:52,311.311 INFO    ] Checking for camera pi updates...
[2026-10-20 16:00:52,344.344 INFO    ] 200
[2026-10-20 16:00:52,346.346 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:00:52,387.387 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:00:52,432.432 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:00:52,435.435 INFO    ] No camera update needed
[2026-10-20 16:00:52,437.437 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:00:52,439.439 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:00:52,445.445 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:00:52,450.450 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:00:54,490.490 INFO    ] ================================================
[2026-10-20 16:00:54,505.505 INFO    ] Launching Daemon at Tue Oct 20 16:00:54 IST 2026
[2026-10-20 16:00:54,516.516 INFO    ] ================================================
[2026-10-20 16:00:55,084.084 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:00:55
[2026-10-20 16:00:55,679.679 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:00:55,956.956 INFO    ] Initializing speech engine...
[2026-10-20 16:00:55,963.963 INFO    ] 2026-10-20 16:00:55
[2026-10-20 16:00:56,233.233 INFO    ] 2026-10-20 16:00:56
[2026-10-20 16:00:56,277.277 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:00:56,533.533 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:00:56,537.537 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:00:56,675.675 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:00:56,724.724 INFO    ] time= 20/10/2026 16:00:56
[2026-10-20 16:00:56,784.784 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:00:56,810.810 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:00:56,956.956 INFO    ] No existing commands found in stream
[2026-10-20 16:01:01,972.972 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:01:01,976.976 INFO    ] Waiting 0.53 seconds before fallback handling...
[2026-10-20 16:01:03,038.038 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 16:01:03,041.041 INFO    ] Checking for system updates...
[2026-10-20 16:01:03,086.086 INFO    ] 200
[2026-10-20 16:01:03,089.089 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:01:03,169.169 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:01:03,172.172 INFO    ] No update needed
[2026-10-20 16:01:03,174.174 INFO    ] Checking for camera pi updates...
[2026-10-20 16:01:03,207.207 INFO    ] 200
[2026-10-20 16:01:03,210.210 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:01:03,264.264 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:01:03,313.313 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:01:03,316.316 INFO    ] No camera update needed
[2026-10-20 16:01:03,319.319 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:01:03,322.322 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:01:03,328.328 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:01:03,334.334 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:01:05,374.374 INFO    ] ================================================
[2026-10-20 16:01:05,389.389 INFO    ] Launching Daemon at Tue Oct 20 16:01:05 IST 2026
[2026-10-20 16:01:05,400.400 INFO    ] ================================================
[2026-10-20 16:01:06,072.072 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:01:06
[2026-10-20 16:01:06,765.765 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:01:07,080.080 INFO    ] Initializing speech engine...
[2026-10-20 16:01:07,092.092 INFO    ] 2026-10-20 16:01:07
[2026-10-20 16:01:07,372.372 INFO    ] 2026-10-20 16:01:07
[2026-10-20 16:01:07,428.428 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:01:07,657.657 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:01:07,662.662 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:01:07,876.876 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:01:07,914.914 INFO    ] time= 20/10/2026 16:01:07
[2026-10-20 16:01:07,938.938 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:01:07,945.945 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:01:08,081.081 INFO    ] No existing commands found in stream
[2026-10-20 16:01:13,106.106 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:01:13,109.109 INFO    ] Waiting 4.00 seconds before fallback handling...
[2026-10-20 16:01:17,637.637 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:01:17,639.639 INFO    ] Checking for system updates...
[2026-10-20 16:01:17,675.675 INFO    ] 200
[2026-10-20 16:01:17,677.677 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:01:17,729.729 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:01:17,732.732 INFO    ] No update needed
[2026-10-20 16:01:17,734.734 INFO    ] Checking for camera pi updates...
[2026-10-20 16:01:17,767.767 INFO    ] 200
[2026-10-20 16:01:17,770.770 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:01:17,810.810 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:01:17,861.861 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:01:17,864.864 INFO    ] No camera update needed
[2026-10-20 16:01:17,867.867 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:01:17,870.870 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:01:17,875.875 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:01:17,880.880 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:01:19,926.926 INFO    ] ================================================
[2026-10-20 16:01:19,942.942 INFO    ] Launching Daemon at Tue Oct 20 16:01:19 IST 2026
[2026-10-20 16:01:19,953.953 INFO    ] ================================================
[2026-10-20 16:01:20,523.523 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:01:20
[2026-10-20 16:01:21,114.114 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:01:21,425.425 INFO    ] Initializing speech engine...
[2026-10-20 16:01:21,438.438 INFO    ] 2026-10-20 16:01:21
[2026-10-20 16:01:21,725.725 INFO    ] 2026-10-20 16:01:21
[2026-10-20 16:01:21,806.806 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:01:22,063.063 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:01:22,072.072 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:01:22,267.267 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:01:22,285.285 INFO    ] time= 20/10/2026 16:01:22
[2026-10-20 16:01:22,305.305 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:01:22,325.325 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:01:22,449.449 INFO    ] No existing commands found in stream
[2026-10-20 16:01:27,480.480 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:01:27,483.483 INFO    ] Waiting 3.46 seconds before fallback handling...
[2026-10-20 16:01:31,458.458 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:01:31,460.460 INFO    ] Checking for system updates...
[2026-10-20 16:01:31,496.496 INFO    ] 200
[2026-10-20 16:01:31,499.499 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:01:31,551.551 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:01:31,553.553 INFO    ] No update needed
[2026-10-20 16:01:31,555.555 INFO    ] Checking for camera pi updates...
[2026-10-20 16:01:31,588.588 INFO    ] 200
[2026-10-20 16:01:31,591.591 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:01:31,631.631 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:01:31,667.667 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:01:31,669.669 INFO    ] No camera update needed
[2026-10-20 16:01:31,672.672 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:01:31,674.674 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:01:31,679.679 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:01:31,684.684 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:01:33,724.724 INFO    ] ================================================
[2026-10-20 16:01:33,740.740 INFO    ] Launching Daemon at Tue Oct 20 16:01:33 IST 2026
[2026-10-20 16:01:33,753.753 INFO    ] ================================================
[2026-10-20 16:01:34,320.320 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:01:34
[2026-10-20 16:01:34,905.905 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:01:35,176.176 INFO    ] Initializing speech engine...
[2026-10-20 16:01:35,185.185 INFO    ] 2026-10-20 16:01:35
[2026-10-20 16:01:35,436.436 INFO    ] 2026-10-20 16:01:35
[2026-10-20 16:01:35,470.470 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:01:35,670.670 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:01:35,677.677 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:01:35,874.874 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:01:35,916.916 INFO    ] time= 20/10/2026 16:01:35
[2026-10-20 16:01:35,981.981 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:01:36,012.012 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:01:36,157.157 INFO    ] No existing commands found in stream
[2026-10-20 16:01:41,174.174 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:01:41,177.177 INFO    ] Waiting 1.43 seconds before fallback handling...
[2026-10-20 16:01:43,105.105 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:01:43,107.107 INFO    ] Checking for system updates...
[2026-10-20 16:01:43,145.145 INFO    ] 200
[2026-10-20 16:01:43,148.148 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:01:43,200.200 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:01:43,203.203 INFO    ] No update needed
[2026-10-20 16:01:43,205.205 INFO    ] Checking for camera pi updates...
[2026-10-20 16:01:43,238.238 INFO    ] 200
[2026-10-20 16:01:43,241.241 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:01:43,281.281 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:01:43,324.324 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:01:43,326.326 INFO    ] No camera update needed
[2026-10-20 16:01:43,329.329 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:01:43,331.331 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:01:43,337.337 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:01:43,342.342 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:01:45,382.382 INFO    ] ================================================
[2026-10-20 16:01:45,398.398 INFO    ] Launching Daemon at Tue Oct 20 16:01:45 IST 2026
[2026-10-20 16:01:45,409.409 INFO    ] ================================================
[2026-10-20 16:01:46,088.088 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:01:46
[2026-10-20 16:01:46,731.731 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:01:46,993.993 INFO    ] Initializing speech engine...
[2026-10-20 16:01:47,001.001 INFO    ] 2026-10-20 16:01:46
[2026-10-20 16:01:47,309.309 INFO    ] 2026-10-20 16:01:47
[2026-10-20 16:01:47,345.345 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:01:47,547.547 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:01:47,550.550 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:01:47,736.736 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:01:47,744.744 INFO    ] time= 20/10/2026 16:01:47
[2026-10-20 16:01:47,752.752 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:01:47,779.779 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:01:47,917.917 INFO    ] No existing commands found in stream
[2026-10-20 16:01:52,938.938 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:01:52,941.941 INFO    ] Waiting 1.43 seconds before fallback handling...
[2026-10-20 16:01:54,841.841 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:01:54,843.843 INFO    ] Checking for system updates...
[2026-10-20 16:01:54,879.879 INFO    ] 200
[2026-10-20 16:01:54,881.881 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:01:54,946.946 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:01:54,948.948 INFO    ] No update needed
[2026-10-20 16:01:54,951.951 INFO    ] Checking for camera pi updates...
[2026-10-20 16:01:54,990.990 INFO    ] 200
[2026-10-20 16:01:54,992.992 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:01:55,036.036 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:01:55,083.083 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:01:55,085.085 INFO    ] No camera update needed
[2026-10-20 16:01:55,087.087 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:01:55,090.090 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:01:55,096.096 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:01:55,101.101 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:01:57,141.141 INFO    ] ================================================
[2026-10-20 16:01:57,158.158 INFO    ] Launching Daemon at Tue Oct 20 16:01:57 IST 2026
[2026-10-20 16:01:57,171.171 INFO    ] ================================================
[2026-10-20 16:01:57,754.754 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:01:57
[2026-10-20 16:01:58,350.350 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:01:58,626.626 INFO    ] Initializing speech engine...
[2026-10-20 16:01:58,634.634 INFO    ] 2026-10-20 16:01:58
[2026-10-20 16:01:58,894.894 INFO    ] 2026-10-20 16:01:58
[2026-10-20 16:01:58,923.923 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:01:59,197.197 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:01:59,216.216 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:01:59,431.431 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:01:59,438.438 INFO    ] time= 20/10/2026 16:01:59
[2026-10-20 16:01:59,456.456 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:01:59,467.467 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:01:59,616.616 INFO    ] No existing commands found in stream
[2026-10-20 16:02:04,646.646 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:02:04,649.649 INFO    ] Waiting 3.24 seconds before fallback handling...
[2026-10-20 16:02:10,322.322 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:02:10,325.325 INFO    ] Checking for system updates...
[2026-10-20 16:02:10,365.365 INFO    ] 200
[2026-10-20 16:02:10,367.367 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:02:10,429.429 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:02:10,431.431 INFO    ] No update needed
[2026-10-20 16:02:10,434.434 INFO    ] Checking for camera pi updates...
[2026-10-20 16:02:10,472.472 INFO    ] 200
[2026-10-20 16:02:10,474.474 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:02:10,516.516 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:02:10,658.658 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:02:10,661.661 INFO    ] No camera update needed
[2026-10-20 16:02:10,663.663 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:02:10,665.665 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:02:10,671.671 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:02:10,676.676 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:02:12,718.718 INFO    ] ================================================
[2026-10-20 16:02:12,734.734 INFO    ] Launching Daemon at Tue Oct 20 16:02:12 IST 2026
[2026-10-20 16:02:12,745.745 INFO    ] ================================================
[2026-10-20 16:02:13,421.421 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:02:13
[2026-10-20 16:02:14,117.117 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:02:14,445.445 INFO    ] Initializing speech engine...
[2026-10-20 16:02:14,454.454 INFO    ] 2026-10-20 16:02:14
[2026-10-20 16:02:14,744.744 INFO    ] 2026-10-20 16:02:14
[2026-10-20 16:02:14,859.859 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:02:15,076.076 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:02:15,086.086 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:02:15,288.288 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:02:15,295.295 INFO    ] time= 20/10/2026 16:02:15
[2026-10-20 16:02:15,323.323 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:02:15,350.350 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:02:15,471.471 INFO    ] No existing commands found in stream
[2026-10-20 16:02:20,502.502 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:02:20,505.505 INFO    ] Waiting 2.35 seconds before fallback handling...
[2026-10-20 16:02:23,423.423 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:02:23,427.427 INFO    ] Checking for system updates...
[2026-10-20 16:02:23,464.464 INFO    ] 200
[2026-10-20 16:02:23,467.467 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:02:23,531.531 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:02:23,534.534 INFO    ] No update needed
[2026-10-20 16:02:23,537.537 INFO    ] Checking for camera pi updates...
[2026-10-20 16:02:23,578.578 INFO    ] 200
[2026-10-20 16:02:23,581.581 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:02:23,634.634 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:02:23,685.685 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:02:23,687.687 INFO    ] No camera update needed
[2026-10-20 16:02:23,690.690 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:02:23,693.693 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:02:23,700.700 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:02:23,706.706 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:02:25,748.748 INFO    ] ================================================
[2026-10-20 16:02:25,764.764 INFO    ] Launching Daemon at Tue Oct 20 16:02:25 IST 2026
[2026-10-20 16:02:25,775.775 INFO    ] ================================================
[2026-10-20 16:02:26,344.344 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:02:26
[2026-10-20 16:02:26,948.948 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:02:27,220.220 INFO    ] Initializing speech engine...
[2026-10-20 16:02:27,229.229 INFO    ] 2026-10-20 16:02:27
[2026-10-20 16:02:27,492.492 INFO    ] 2026-10-20 16:02:27
[2026-10-20 16:02:27,545.545 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:02:27,829.829 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:02:27,836.836 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:02:28,005.005 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:02:28,036.036 INFO    ] time= 20/10/2026 16:02:28
[2026-10-20 16:02:28,042.042 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:02:28,063.063 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:02:28,195.195 INFO    ] No existing commands found in stream
[2026-10-20 16:02:33,218.218 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:02:33,221.221 INFO    ] Waiting 2.53 seconds before fallback handling...
[2026-10-20 16:02:36,288.288 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:02:36,290.290 INFO    ] Checking for system updates...
[2026-10-20 16:02:36,332.332 INFO    ] 200
[2026-10-20 16:02:36,335.335 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:02:36,396.396 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:02:36,399.399 INFO    ] No update needed
[2026-10-20 16:02:36,403.403 INFO    ] Checking for camera pi updates...
[2026-10-20 16:02:36,437.437 INFO    ] 200
[2026-10-20 16:02:36,442.442 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:02:36,497.497 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:02:36,553.553 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:02:36,556.556 INFO    ] No camera update needed
[2026-10-20 16:02:36,559.559 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:02:36,562.562 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:02:36,568.568 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:02:36,574.574 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:02:38,616.616 INFO    ] ================================================
[2026-10-20 16:02:38,631.631 INFO    ] Launching Daemon at Tue Oct 20 16:02:38 IST 2026
[2026-10-20 16:02:38,641.641 INFO    ] ================================================
[2026-10-20 16:02:39,209.209 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:02:39
[2026-10-20 16:02:39,795.795 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:02:40,063.063 INFO    ] Initializing speech engine...
[2026-10-20 16:02:40,072.072 INFO    ] 2026-10-20 16:02:40
[2026-10-20 16:02:40,317.317 INFO    ] 2026-10-20 16:02:40
[2026-10-20 16:02:40,352.352 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:02:40,604.604 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:02:40,613.613 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:02:40,805.805 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:02:40,860.860 INFO    ] time= 20/10/2026 16:02:40
[2026-10-20 16:02:40,880.880 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:02:40,895.895 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:02:41,053.053 INFO    ] No existing commands found in stream
[2026-10-20 16:02:46,071.071 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:02:46,074.074 INFO    ] Waiting 3.73 seconds before fallback handling...
[2026-10-20 16:02:50,334.334 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:02:50,337.337 INFO    ] Checking for system updates...
[2026-10-20 16:02:50,372.372 INFO    ] 200
[2026-10-20 16:02:50,374.374 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:02:50,435.435 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:02:50,437.437 INFO    ] No update needed
[2026-10-20 16:02:50,440.440 INFO    ] Checking for camera pi updates...
[2026-10-20 16:02:50,477.477 INFO    ] 200
[2026-10-20 16:02:50,480.480 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:02:50,523.523 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:02:50,565.565 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:02:50,567.567 INFO    ] No camera update needed
[2026-10-20 16:02:50,570.570 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:02:50,572.572 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:02:50,577.577 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:02:50,582.582 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:02:52,622.622 INFO    ] ================================================
[2026-10-20 16:02:52,638.638 INFO    ] Launching Daemon at Tue Oct 20 16:02:52 IST 2026
[2026-10-20 16:02:52,648.648 INFO    ] ================================================
[2026-10-20 16:02:53,230.230 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:02:53
[2026-10-20 16:02:53,829.829 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:02:54,106.106 INFO    ] Initializing speech engine...
[2026-10-20 16:02:54,112.112 INFO    ] 2026-10-20 16:02:54
[2026-10-20 16:02:54,358.358 INFO    ] 2026-10-20 16:02:54
[2026-10-20 16:02:54,394.394 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:02:54,658.658 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:02:54,669.669 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:02:54,892.892 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:02:54,927.927 INFO    ] time= 20/10/2026 16:02:54
[2026-10-20 16:02:54,934.934 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:02:54,951.951 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:02:55,093.093 INFO    ] No existing commands found in stream
[2026-10-20 16:03:00,109.109 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:03:00,112.112 INFO    ] Waiting 2.07 seconds before fallback handling...
[2026-10-20 16:03:02,712.712 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:03:02,716.716 INFO    ] Checking for system updates...
[2026-10-20 16:03:02,757.757 INFO    ] 200
[2026-10-20 16:03:02,760.760 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:03:02,829.829 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:03:02,832.832 INFO    ] No update needed
[2026-10-20 16:03:02,835.835 INFO    ] Checking for camera pi updates...
[2026-10-20 16:03:02,871.871 INFO    ] 200
[2026-10-20 16:03:02,874.874 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:03:02,921.921 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:03:02,965.965 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:03:02,968.968 INFO    ] No camera update needed
[2026-10-20 16:03:02,971.971 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:03:02,974.974 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:03:02,980.980 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:03:02,986.986 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:03:05,029.029 INFO    ] ================================================
[2026-10-20 16:03:05,044.044 INFO    ] Launching Daemon at Tue Oct 20 16:03:05 IST 2026
[2026-10-20 16:03:05,055.055 INFO    ] ================================================
[2026-10-20 16:03:05,712.712 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:03:05
[2026-10-20 16:03:06,406.406 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:03:06,724.724 INFO    ] Initializing speech engine...
[2026-10-20 16:03:06,731.731 INFO    ] 2026-10-20 16:03:06
[2026-10-20 16:03:06,995.995 INFO    ] 2026-10-20 16:03:06
[2026-10-20 16:03:07,031.031 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:03:07,233.233 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:03:07,292.292 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:03:07,529.529 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:03:07,564.564 INFO    ] time= 20/10/2026 16:03:07
[2026-10-20 16:03:07,570.570 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:03:07,588.588 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:03:07,718.718 INFO    ] No existing commands found in stream
[2026-10-20 16:03:12,733.733 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:03:12,736.736 INFO    ] Waiting 0.23 seconds before fallback handling...
[2026-10-20 16:03:13,442.442 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:03:13,444.444 INFO    ] Checking for system updates...
[2026-10-20 16:03:13,480.480 INFO    ] 200
[2026-10-20 16:03:13,482.482 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:03:13,534.534 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:03:13,536.536 INFO    ] No update needed
[2026-10-20 16:03:13,538.538 INFO    ] Checking for camera pi updates...
[2026-10-20 16:03:13,576.576 INFO    ] 200
[2026-10-20 16:03:13,578.578 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:03:13,624.624 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:03:13,671.671 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:03:13,673.673 INFO    ] No camera update needed
[2026-10-20 16:03:13,676.676 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:03:13,678.678 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:03:13,683.683 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:03:13,688.688 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:03:15,729.729 INFO    ] ================================================
[2026-10-20 16:03:15,744.744 INFO    ] Launching Daemon at Tue Oct 20 16:03:15 IST 2026
[2026-10-20 16:03:15,762.762 INFO    ] ================================================
[2026-10-20 16:03:16,325.325 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:03:16
[2026-10-20 16:03:16,909.909 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:03:17,164.164 INFO    ] Initializing speech engine...
[2026-10-20 16:03:17,172.172 INFO    ] 2026-10-20 16:03:17
[2026-10-20 16:03:17,467.467 INFO    ] 2026-10-20 16:03:17
[2026-10-20 16:03:17,501.501 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:03:17,714.714 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:03:17,731.731 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:03:17,886.886 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:03:17,895.895 INFO    ] time= 20/10/2026 16:03:17
[2026-10-20 16:03:17,956.956 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:03:17,963.963 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:03:18,080.080 INFO    ] No existing commands found in stream
[2026-10-20 16:03:23,100.100 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:03:23,103.103 INFO    ] Waiting 3.18 seconds before fallback handling...
[2026-10-20 16:03:26,804.804 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:03:26,806.806 INFO    ] Checking for system updates...
[2026-10-20 16:03:26,842.842 INFO    ] 200
[2026-10-20 16:03:26,844.844 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:03:26,903.903 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:03:26,906.906 INFO    ] No update needed
[2026-10-20 16:03:26,908.908 INFO    ] Checking for camera pi updates...
[2026-10-20 16:03:26,941.941 INFO    ] 200
[2026-10-20 16:03:26,944.944 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:03:26,984.984 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:03:27,027.027 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:03:27,030.030 INFO    ] No camera update needed
[2026-10-20 16:03:27,032.032 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:03:27,034.034 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:03:27,040.040 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:03:27,045.045 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:03:29,085.085 INFO    ] ================================================
[2026-10-20 16:03:29,100.100 INFO    ] Launching Daemon at Tue Oct 20 16:03:29 IST 2026
[2026-10-20 16:03:29,110.110 INFO    ] ================================================
[2026-10-20 16:03:29,704.704 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:03:29
[2026-10-20 16:03:30,325.325 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:03:30,602.602 INFO    ] Initializing speech engine...
[2026-10-20 16:03:30,611.611 INFO    ] 2026-10-20 16:03:30
[2026-10-20 16:03:30,876.876 INFO    ] 2026-10-20 16:03:30
[2026-10-20 16:03:30,905.905 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:03:31,146.146 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:03:31,167.167 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:03:31,403.403 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:03:31,434.434 INFO    ] time= 20/10/2026 16:03:31
[2026-10-20 16:03:31,449.449 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:03:31,457.457 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:03:31,591.591 INFO    ] No existing commands found in stream
[2026-10-20 16:03:36,610.610 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:03:36,613.613 INFO    ] Waiting 1.92 seconds before fallback handling...
[2026-10-20 16:03:39,040.040 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 16:03:39,043.043 INFO    ] Checking for system updates...
[2026-10-20 16:03:39,078.078 INFO    ] 200
[2026-10-20 16:03:39,081.081 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:03:39,134.134 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:03:39,136.136 INFO    ] No update needed
[2026-10-20 16:03:39,139.139 INFO    ] Checking for camera pi updates...
[2026-10-20 16:03:39,173.173 INFO    ] 200
[2026-10-20 16:03:39,175.175 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:03:39,222.222 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:03:39,268.268 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:03:39,271.271 INFO    ] No camera update needed
[2026-10-20 16:03:39,273.273 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:03:39,275.275 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:03:39,281.281 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:03:39,286.286 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:03:41,325.325 INFO    ] ================================================
[2026-10-20 16:03:41,340.340 INFO    ] Launching Daemon at Tue Oct 20 16:03:41 IST 2026
[2026-10-20 16:03:41,351.351 INFO    ] ================================================
[2026-10-20 16:03:41,933.933 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:03:41
[2026-10-20 16:03:42,535.535 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:03:42,804.804 INFO    ] Initializing speech engine...
[2026-10-20 16:03:42,813.813 INFO    ] 2026-10-20 16:03:42
[2026-10-20 16:03:43,066.066 INFO    ] 2026-10-20 16:03:43
[2026-10-20 16:03:43,101.101 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:03:43,286.286 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:03:43,289.289 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:03:43,437.437 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:03:43,458.458 INFO    ] time= 20/10/2026 16:03:43
[2026-10-20 16:03:43,468.468 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:03:43,472.472 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:03:43,554.554 INFO    ] No existing commands found in stream
[2026-10-20 16:03:48,579.579 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:03:48,582.582 INFO    ] Waiting 1.98 seconds before fallback handling...
[2026-10-20 16:03:51,082.082 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 16:03:51,085.085 INFO    ] Checking for system updates...
[2026-10-20 16:03:51,121.121 INFO    ] 200
[2026-10-20 16:03:51,123.123 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:03:51,175.175 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:03:51,177.177 INFO    ] No update needed
[2026-10-20 16:03:51,179.179 INFO    ] Checking for camera pi updates...
[2026-10-20 16:03:51,212.212 INFO    ] 200
[2026-10-20 16:03:51,215.215 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:03:51,254.254 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:03:51,305.305 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:03:51,308.308 INFO    ] No camera update needed
[2026-10-20 16:03:51,311.311 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:03:51,314.314 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:03:51,320.320 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:03:51,326.326 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:03:53,370.370 INFO    ] ================================================
[2026-10-20 16:03:53,386.386 INFO    ] Launching Daemon at Tue Oct 20 16:03:53 IST 2026
[2026-10-20 16:03:53,397.397 INFO    ] ================================================
[2026-10-20 16:03:53,990.990 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:03:53
[2026-10-20 16:03:54,579.579 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:03:54,847.847 INFO    ] Initializing speech engine...
[2026-10-20 16:03:54,857.857 INFO    ] 2026-10-20 16:03:54
[2026-10-20 16:03:55,105.105 INFO    ] 2026-10-20 16:03:55
[2026-10-20 16:03:55,143.143 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:03:55,347.347 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:03:55,351.351 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:03:55,524.524 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:03:55,532.532 INFO    ] time= 20/10/2026 16:03:55
[2026-10-20 16:03:55,537.537 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:03:55,543.543 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:03:55,620.620 INFO    ] No existing commands found in stream
[2026-10-20 16:04:00,631.631 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:04:00,633.633 INFO    ] Waiting 3.40 seconds before fallback handling...
[2026-10-20 16:04:04,519.519 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:04:04,522.522 INFO    ] Checking for system updates...
[2026-10-20 16:04:04,558.558 INFO    ] 200
[2026-10-20 16:04:04,561.561 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:04:04,613.613 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:04:04,616.616 INFO    ] No update needed
[2026-10-20 16:04:04,618.618 INFO    ] Checking for camera pi updates...
[2026-10-20 16:04:04,652.652 INFO    ] 200
[2026-10-20 16:04:04,655.655 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:04:04,700.700 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:04:04,743.743 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:04:04,745.745 INFO    ] No camera update needed
[2026-10-20 16:04:04,748.748 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:04:04,750.750 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:04:04,755.755 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:04:04,760.760 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:04:06,803.803 INFO    ] ================================================
[2026-10-20 16:04:06,819.819 INFO    ] Launching Daemon at Tue Oct 20 16:04:06 IST 2026
[2026-10-20 16:04:06,830.830 INFO    ] ================================================
[2026-10-20 16:04:07,415.415 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:04:07
[2026-10-20 16:04:08,011.011 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:04:08,275.275 INFO    ] Initializing speech engine...
[2026-10-20 16:04:08,294.294 INFO    ] 2026-10-20 16:04:08
[2026-10-20 16:04:08,556.556 INFO    ] 2026-10-20 16:04:08
[2026-10-20 16:04:08,586.586 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:04:08,832.832 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:04:08,842.842 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:04:08,975.975 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:04:09,036.036 INFO    ] time= 20/10/2026 16:04:08
[2026-10-20 16:04:09,101.101 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:04:09,108.108 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:04:09,254.254 INFO    ] No existing commands found in stream
[2026-10-20 16:04:14,272.272 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:04:14,275.275 INFO    ] Waiting 2.78 seconds before fallback handling...
[2026-10-20 16:04:17,560.560 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:04:17,563.563 INFO    ] Checking for system updates...
[2026-10-20 16:04:17,604.604 INFO    ] 200
[2026-10-20 16:04:17,607.607 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:04:17,667.667 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:04:17,670.670 INFO    ] No update needed
[2026-10-20 16:04:17,674.674 INFO    ] Checking for camera pi updates...
[2026-10-20 16:04:17,712.712 INFO    ] 200
[2026-10-20 16:04:17,715.715 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:04:17,755.755 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:04:17,898.898 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:04:17,901.901 INFO    ] No camera update needed
[2026-10-20 16:04:17,903.903 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:04:17,906.906 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:04:17,911.911 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:04:17,916.916 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:04:19,957.957 INFO    ] ================================================
[2026-10-20 16:04:19,972.972 INFO    ] Launching Daemon at Tue Oct 20 16:04:19 IST 2026
[2026-10-20 16:04:19,983.983 INFO    ] ================================================
[2026-10-20 16:04:20,563.563 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:04:20
[2026-10-20 16:04:21,163.163 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:04:21,422.422 INFO    ] Initializing speech engine...
[2026-10-20 16:04:21,429.429 INFO    ] 2026-10-20 16:04:21
[2026-10-20 16:04:21,724.724 INFO    ] 2026-10-20 16:04:21
[2026-10-20 16:04:21,763.763 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:04:21,987.987 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:04:22,042.042 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:04:22,226.226 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:04:22,281.281 INFO    ] time= 20/10/2026 16:04:22
[2026-10-20 16:04:22,325.325 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:04:22,370.370 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:04:22,504.504 INFO    ] No existing commands found in stream
[2026-10-20 16:04:27,527.527 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:04:27,530.530 INFO    ] Waiting 2.96 seconds before fallback handling...
[2026-10-20 16:04:30,967.967 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:04:30,970.970 INFO    ] Checking for system updates...
[2026-10-20 16:04:31,009.009 INFO    ] 200
[2026-10-20 16:04:31,012.012 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:04:31,064.064 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:04:31,067.067 INFO    ] No update needed
[2026-10-20 16:04:31,069.069 INFO    ] Checking for camera pi updates...
[2026-10-20 16:04:31,103.103 INFO    ] 200
[2026-10-20 16:04:31,105.105 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:04:31,146.146 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:04:31,196.196 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:04:31,198.198 INFO    ] No camera update needed
[2026-10-20 16:04:31,201.201 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:04:31,203.203 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:04:31,209.209 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:04:31,214.214 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:04:33,255.255 INFO    ] ================================================
[2026-10-20 16:04:33,271.271 INFO    ] Launching Daemon at Tue Oct 20 16:04:33 IST 2026
[2026-10-20 16:04:33,282.282 INFO    ] ================================================
[2026-10-20 16:04:33,879.879 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:04:33
[2026-10-20 16:04:34,483.483 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:04:34,764.764 INFO    ] Initializing speech engine...
[2026-10-20 16:04:34,780.780 INFO    ] 2026-10-20 16:04:34
[2026-10-20 16:04:35,059.059 INFO    ] 2026-10-20 16:04:35
[2026-10-20 16:04:35,095.095 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:04:35,300.300 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:04:35,314.314 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:04:35,443.443 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:04:35,448.448 INFO    ] time= 20/10/2026 16:04:35
[2026-10-20 16:04:35,469.469 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:04:35,492.492 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:04:35,580.580 INFO    ] No existing commands found in stream
[2026-10-20 16:04:40,595.595 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:04:40,598.598 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-10-20 16:04:42,805.805 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:04:42,807.807 INFO    ] Checking for system updates...
[2026-10-20 16:04:42,844.844 INFO    ] 200
[2026-10-20 16:04:42,847.847 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:04:42,909.909 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:04:42,912.912 INFO    ] No update needed
[2026-10-20 16:04:42,915.915 INFO    ] Checking for camera pi updates...
[2026-10-20 16:04:42,954.954 INFO    ] 200
[2026-10-20 16:04:42,957.957 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:04:43,004.004 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:04:43,053.053 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:04:43,056.056 INFO    ] No camera update needed
[2026-10-20 16:04:43,059.059 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:04:43,061.061 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:04:43,068.068 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:04:43,074.074 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:04:45,114.114 INFO    ] ================================================
[2026-10-20 16:04:45,130.130 INFO    ] Launching Daemon at Tue Oct 20 16:04:45 IST 2026
[2026-10-20 16:04:45,141.141 INFO    ] ================================================
[2026-10-20 16:04:45,712.712 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:04:45
[2026-10-20 16:04:46,296.296 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:04:46,567.567 INFO    ] Initializing speech engine...
[2026-10-20 16:04:46,576.576 INFO    ] 2026-10-20 16:04:46
[2026-10-20 16:04:46,825.825 INFO    ] 2026-10-20 16:04:46
[2026-10-20 16:04:46,860.860 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:04:47,119.119 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:04:47,129.129 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:04:47,343.343 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:04:47,387.387 INFO    ] time= 20/10/2026 16:04:47
[2026-10-20 16:04:47,398.398 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:04:47,404.404 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:04:47,554.554 INFO    ] No existing commands found in stream
[2026-10-20 16:04:52,571.571 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:04:52,574.574 INFO    ] Waiting 1.35 seconds before fallback handling...
[2026-10-20 16:04:54,386.386 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:04:54,389.389 INFO    ] Checking for system updates...
[2026-10-20 16:04:54,424.424 INFO    ] 200
[2026-10-20 16:04:54,427.427 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:04:54,478.478 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:04:54,481.481 INFO    ] No update needed
[2026-10-20 16:04:54,484.484 INFO    ] Checking for camera pi updates...
[2026-10-20 16:04:54,516.516 INFO    ] 200
[2026-10-20 16:04:54,519.519 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:04:54,559.559 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:04:54,613.613 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:04:54,616.616 INFO    ] No camera update needed
[2026-10-20 16:04:54,618.618 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:04:54,621.621 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:04:54,626.626 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:04:54,631.631 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:04:56,670.670 INFO    ] ================================================
[2026-10-20 16:04:56,685.685 INFO    ] Launching Daemon at Tue Oct 20 16:04:56 IST 2026
[2026-10-20 16:04:56,697.697 INFO    ] ================================================
[2026-10-20 16:04:57,347.347 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:04:57
[2026-10-20 16:04:58,026.026 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:04:58,335.335 INFO    ] Initializing speech engine...
[2026-10-20 16:04:58,344.344 INFO    ] 2026-10-20 16:04:58
[2026-10-20 16:04:58,638.638 INFO    ] 2026-10-20 16:04:58
[2026-10-20 16:04:58,747.747 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:04:58,960.960 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:04:58,969.969 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:04:59,165.165 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:04:59,172.172 INFO    ] time= 20/10/2026 16:04:59
[2026-10-20 16:04:59,194.194 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:04:59,222.222 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:04:59,330.330 INFO    ] No existing commands found in stream
[2026-10-20 16:05:04,361.361 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:05:04,365.365 INFO    ] Waiting 1.25 seconds before fallback handling...
[2026-10-20 16:05:06,146.146 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:05:06,149.149 INFO    ] Checking for system updates...
[2026-10-20 16:05:06,185.185 INFO    ] 200
[2026-10-20 16:05:06,188.188 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:05:06,241.241 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:05:06,243.243 INFO    ] No update needed
[2026-10-20 16:05:06,246.246 INFO    ] Checking for camera pi updates...
[2026-10-20 16:05:06,280.280 INFO    ] 200
[2026-10-20 16:05:06,283.283 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:05:06,324.324 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:05:06,383.383 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:05:06,386.386 INFO    ] No camera update needed
[2026-10-20 16:05:06,388.388 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:05:06,391.391 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:05:06,397.397 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:05:06,403.403 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:05:08,444.444 INFO    ] ================================================
[2026-10-20 16:05:08,464.464 INFO    ] Launching Daemon at Tue Oct 20 16:05:08 IST 2026
[2026-10-20 16:05:08,475.475 INFO    ] ================================================
[2026-10-20 16:05:09,117.117 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:05:09
[2026-10-20 16:05:09,776.776 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:05:10,077.077 INFO    ] Initializing speech engine...
[2026-10-20 16:05:10,090.090 INFO    ] 2026-10-20 16:05:10
[2026-10-20 16:05:10,368.368 INFO    ] 2026-10-20 16:05:10
[2026-10-20 16:05:10,412.412 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:05:10,691.691 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:05:10,700.700 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:05:10,895.895 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:05:10,902.902 INFO    ] time= 20/10/2026 16:05:10
[2026-10-20 16:05:10,920.920 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:05:10,949.949 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:05:11,074.074 INFO    ] No existing commands found in stream
[2026-10-20 16:05:16,100.100 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:05:16,103.103 INFO    ] Waiting 0.73 seconds before fallback handling...
[2026-10-20 16:05:17,345.345 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:05:17,347.347 INFO    ] Checking for system updates...
[2026-10-20 16:05:17,388.388 INFO    ] 200
[2026-10-20 16:05:17,390.390 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:05:17,441.441 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:05:17,444.444 INFO    ] No update needed
[2026-10-20 16:05:17,446.446 INFO    ] Checking for camera pi updates...
[2026-10-20 16:05:17,480.480 INFO    ] 200
[2026-10-20 16:05:17,482.482 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:05:17,526.526 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:05:17,581.581 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:05:17,584.584 INFO    ] No camera update needed
[2026-10-20 16:05:17,586.586 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:05:17,588.588 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:05:17,594.594 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:05:17,599.599 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:05:19,639.639 INFO    ] ================================================
[2026-10-20 16:05:19,657.657 INFO    ] Launching Daemon at Tue Oct 20 16:05:19 IST 2026
[2026-10-20 16:05:19,667.667 INFO    ] ================================================
[2026-10-20 16:05:20,309.309 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:05:20
[2026-10-20 16:05:20,970.970 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:05:21,262.262 INFO    ] Initializing speech engine...
[2026-10-20 16:05:21,272.272 INFO    ] 2026-10-20 16:05:21
[2026-10-20 16:05:21,545.545 INFO    ] 2026-10-20 16:05:21
[2026-10-20 16:05:21,600.600 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:05:21,884.884 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:05:21,894.894 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:05:22,082.082 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:05:22,095.095 INFO    ] time= 20/10/2026 16:05:22
[2026-10-20 16:05:22,113.113 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:05:22,142.142 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:05:22,264.264 INFO    ] No existing commands found in stream
[2026-10-20 16:05:27,295.295 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:05:27,298.298 INFO    ] Waiting 0.66 seconds before fallback handling...
[2026-10-20 16:05:28,501.501 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:05:28,504.504 INFO    ] Checking for system updates...
[2026-10-20 16:05:28,544.544 INFO    ] 200
[2026-10-20 16:05:28,547.547 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:05:28,606.606 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:05:28,609.609 INFO    ] No update needed
[2026-10-20 16:05:28,611.611 INFO    ] Checking for camera pi updates...
[2026-10-20 16:05:28,649.649 INFO    ] 200
[2026-10-20 16:05:28,651.651 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:05:28,695.695 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:05:28,741.741 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:05:28,744.744 INFO    ] No camera update needed
[2026-10-20 16:05:28,747.747 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:05:28,749.749 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:05:28,755.755 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:05:28,761.761 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:05:30,801.801 INFO    ] ================================================
[2026-10-20 16:05:30,816.816 INFO    ] Launching Daemon at Tue Oct 20 16:05:30 IST 2026
[2026-10-20 16:05:30,827.827 INFO    ] ================================================
[2026-10-20 16:05:31,394.394 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:05:31
[2026-10-20 16:05:32,008.008 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:05:32,304.304 INFO    ] Initializing speech engine...
[2026-10-20 16:05:32,310.310 INFO    ] 2026-10-20 16:05:32
[2026-10-20 16:05:32,583.583 INFO    ] 2026-10-20 16:05:32
[2026-10-20 16:05:32,621.621 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:05:32,883.883 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:05:32,894.894 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:05:33,054.054 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:05:33,118.118 INFO    ] time= 20/10/2026 16:05:33
[2026-10-20 16:05:33,126.126 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:05:33,150.150 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:05:33,254.254 INFO    ] No existing commands found in stream
[2026-10-20 16:05:38,267.267 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:05:38,270.270 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-10-20 16:05:41,876.876 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:05:41,879.879 INFO    ] Checking for system updates...
[2026-10-20 16:05:41,917.917 INFO    ] 200
[2026-10-20 16:05:41,920.920 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:05:41,972.972 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:05:41,975.975 INFO    ] No update needed
[2026-10-20 16:05:41,977.977 INFO    ] Checking for camera pi updates...
[2026-10-20 16:05:42,010.010 INFO    ] 200
[2026-10-20 16:05:42,013.013 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:05:42,052.052 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:05:42,101.101 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:05:42,103.103 INFO    ] No camera update needed
[2026-10-20 16:05:42,106.106 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:05:42,108.108 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:05:42,113.113 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:05:42,118.118 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:05:44,157.157 INFO    ] ================================================
[2026-10-20 16:05:44,172.172 INFO    ] Launching Daemon at Tue Oct 20 16:05:44 IST 2026
[2026-10-20 16:05:44,183.183 INFO    ] ================================================
[2026-10-20 16:05:44,822.822 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:05:44
[2026-10-20 16:05:45,482.482 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:05:45,780.780 INFO    ] Initializing speech engine...
[2026-10-20 16:05:45,788.788 INFO    ] 2026-10-20 16:05:45
[2026-10-20 16:05:46,070.070 INFO    ] 2026-10-20 16:05:46
[2026-10-20 16:05:46,115.115 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:05:46,396.396 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:05:46,404.404 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:05:46,599.599 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:05:46,606.606 INFO    ] time= 20/10/2026 16:05:46
[2026-10-20 16:05:46,625.625 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:05:46,653.653 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:05:46,774.774 INFO    ] No existing commands found in stream
[2026-10-20 16:05:51,801.801 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:05:51,805.805 INFO    ] Waiting 0.77 seconds before fallback handling...
[2026-10-20 16:05:53,082.082 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 16:05:53,085.085 INFO    ] Checking for system updates...
[2026-10-20 16:05:53,125.125 INFO    ] 200
[2026-10-20 16:05:53,128.128 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:05:53,190.190 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:05:53,193.193 INFO    ] No update needed
[2026-10-20 16:05:53,196.196 INFO    ] Checking for camera pi updates...
[2026-10-20 16:05:53,230.230 INFO    ] 200
[2026-10-20 16:05:53,233.233 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:05:53,282.282 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:05:53,339.339 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:05:53,342.342 INFO    ] No camera update needed
[2026-10-20 16:05:53,344.344 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:05:53,347.347 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:05:53,353.353 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:05:53,359.359 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:05:55,399.399 INFO    ] ================================================
[2026-10-20 16:05:55,414.414 INFO    ] Launching Daemon at Tue Oct 20 16:05:55 IST 2026
[2026-10-20 16:05:55,425.425 INFO    ] ================================================
[2026-10-20 16:05:56,063.063 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:05:56
[2026-10-20 16:05:56,723.723 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:05:57,025.025 INFO    ] Initializing speech engine...
[2026-10-20 16:05:57,033.033 INFO    ] 2026-10-20 16:05:57
[2026-10-20 16:05:57,318.318 INFO    ] 2026-10-20 16:05:57
[2026-10-20 16:05:57,366.366 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:05:57,656.656 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:05:57,666.666 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:05:57,861.861 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:05:57,877.877 INFO    ] time= 20/10/2026 16:05:57
[2026-10-20 16:05:57,885.885 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:05:57,914.914 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:05:58,043.043 INFO    ] No existing commands found in stream
[2026-10-20 16:06:03,072.072 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:06:03,076.076 INFO    ] Waiting 2.38 seconds before fallback handling...
[2026-10-20 16:06:06,032.032 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 16:06:06,035.035 INFO    ] Checking for system updates...
[2026-10-20 16:06:06,072.072 INFO    ] 200
[2026-10-20 16:06:06,074.074 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:06:06,128.128 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:06:06,131.131 INFO    ] No update needed
[2026-10-20 16:06:06,134.134 INFO    ] Checking for camera pi updates...
[2026-10-20 16:06:06,172.172 INFO    ] 200
[2026-10-20 16:06:06,175.175 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:06:06,215.215 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:06:06,266.266 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:06:06,269.269 INFO    ] No camera update needed
[2026-10-20 16:06:06,272.272 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:06:06,274.274 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:06:06,281.281 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:06:06,286.286 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:06:08,327.327 INFO    ] ================================================
[2026-10-20 16:06:08,342.342 INFO    ] Launching Daemon at Tue Oct 20 16:06:08 IST 2026
[2026-10-20 16:06:08,353.353 INFO    ] ================================================
[2026-10-20 16:06:08,936.936 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:06:08
[2026-10-20 16:06:09,536.536 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:06:09,814.814 INFO    ] Initializing speech engine...
[2026-10-20 16:06:09,821.821 INFO    ] 2026-10-20 16:06:09
[2026-10-20 16:06:10,079.079 INFO    ] 2026-10-20 16:06:10
[2026-10-20 16:06:10,109.109 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:06:10,358.358 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:06:10,364.364 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:06:10,496.496 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:06:10,550.550 INFO    ] time= 20/10/2026 16:06:10
[2026-10-20 16:06:10,604.604 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:06:10,628.628 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:06:10,767.767 INFO    ] No existing commands found in stream
[2026-10-20 16:06:15,782.782 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:06:15,785.785 INFO    ] Waiting 1.05 seconds before fallback handling...
[2026-10-20 16:06:17,354.354 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:06:17,357.357 INFO    ] Checking for system updates...
[2026-10-20 16:06:17,393.393 INFO    ] 200
[2026-10-20 16:06:17,397.397 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:06:17,464.464 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:06:17,466.466 INFO    ] No update needed
[2026-10-20 16:06:17,469.469 INFO    ] Checking for camera pi updates...
[2026-10-20 16:06:17,502.502 INFO    ] 200
[2026-10-20 16:06:17,504.504 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:06:17,544.544 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:06:17,594.594 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:06:17,596.596 INFO    ] No camera update needed
[2026-10-20 16:06:17,599.599 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:06:17,601.601 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:06:17,606.606 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:06:17,611.611 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:06:19,654.654 INFO    ] ================================================
[2026-10-20 16:06:19,669.669 INFO    ] Launching Daemon at Tue Oct 20 16:06:19 IST 2026
[2026-10-20 16:06:19,679.679 INFO    ] ================================================
[2026-10-20 16:06:20,245.245 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:06:20
[2026-10-20 16:06:20,830.830 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:06:21,102.102 INFO    ] Initializing speech engine...
[2026-10-20 16:06:21,111.111 INFO    ] 2026-10-20 16:06:21
[2026-10-20 16:06:21,359.359 INFO    ] 2026-10-20 16:06:21
[2026-10-20 16:06:21,394.394 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:06:21,653.653 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:06:21,663.663 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:06:21,853.853 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:06:21,907.907 INFO    ] time= 20/10/2026 16:06:21
[2026-10-20 16:06:21,933.933 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:06:21,939.939 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:06:22,084.084 INFO    ] No existing commands found in stream
[2026-10-20 16:06:27,099.099 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:06:27,102.102 INFO    ] Waiting 3.12 seconds before fallback handling...
[2026-10-20 16:06:30,722.722 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:06:30,724.724 INFO    ] Checking for system updates...
[2026-10-20 16:06:30,763.763 INFO    ] 200
[2026-10-20 16:06:30,765.765 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:06:30,818.818 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:06:30,821.821 INFO    ] No update needed
[2026-10-20 16:06:30,823.823 INFO    ] Checking for camera pi updates...
[2026-10-20 16:06:30,858.858 INFO    ] 200
[2026-10-20 16:06:30,860.860 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:06:30,902.902 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:06:31,053.053 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:06:31,055.055 INFO    ] No camera update needed
[2026-10-20 16:06:31,057.057 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:06:31,060.060 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:06:31,065.065 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:06:31,071.071 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:06:33,112.112 INFO    ] ================================================
[2026-10-20 16:06:33,130.130 INFO    ] Launching Daemon at Tue Oct 20 16:06:33 IST 2026
[2026-10-20 16:06:33,141.141 INFO    ] ================================================
[2026-10-20 16:06:33,788.788 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:06:33
[2026-10-20 16:06:34,378.378 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:06:34,649.649 INFO    ] Initializing speech engine...
[2026-10-20 16:06:34,658.658 INFO    ] 2026-10-20 16:06:34
[2026-10-20 16:06:34,908.908 INFO    ] 2026-10-20 16:06:34
[2026-10-20 16:06:34,943.943 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:06:35,145.145 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:06:35,204.204 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:06:35,443.443 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:06:35,478.478 INFO    ] time= 20/10/2026 16:06:35
[2026-10-20 16:06:35,484.484 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:06:35,501.501 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:06:35,655.655 INFO    ] No existing commands found in stream
[2026-10-20 16:06:40,687.687 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:06:40,690.690 INFO    ] Waiting 3.71 seconds before fallback handling...
[2026-10-20 16:06:44,905.905 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:06:44,907.907 INFO    ] Checking for system updates...
[2026-10-20 16:06:44,943.943 INFO    ] 200
[2026-10-20 16:06:44,945.945 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:06:44,998.998 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:06:45,000.000 INFO    ] No update needed
[2026-10-20 16:06:45,003.003 INFO    ] Checking for camera pi updates...
[2026-10-20 16:06:45,036.036 INFO    ] 200
[2026-10-20 16:06:45,038.038 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:06:45,083.083 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:06:45,136.136 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:06:45,138.138 INFO    ] No camera update needed
[2026-10-20 16:06:45,140.140 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:06:45,143.143 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:06:45,148.148 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:06:45,153.153 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:06:47,192.192 INFO    ] ================================================
[2026-10-20 16:06:47,207.207 INFO    ] Launching Daemon at Tue Oct 20 16:06:47 IST 2026
[2026-10-20 16:06:47,217.217 INFO    ] ================================================
[2026-10-20 16:06:47,800.800 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:06:47
[2026-10-20 16:06:48,399.399 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:06:48,677.677 INFO    ] Initializing speech engine...
[2026-10-20 16:06:48,682.682 INFO    ] 2026-10-20 16:06:48
[2026-10-20 16:06:48,950.950 INFO    ] 2026-10-20 16:06:48
[2026-10-20 16:06:48,991.991 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:06:49,217.217 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:06:49,279.279 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:06:49,490.490 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:06:49,556.556 INFO    ] time= 20/10/2026 16:06:49
[2026-10-20 16:06:49,599.599 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:06:49,606.606 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:06:49,754.754 INFO    ] No existing commands found in stream
[2026-10-20 16:06:54,801.801 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:06:54,804.804 INFO    ] Waiting 2.74 seconds before fallback handling...
[2026-10-20 16:06:58,051.051 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:06:58,054.054 INFO    ] Checking for system updates...
[2026-10-20 16:06:58,091.091 INFO    ] 200
[2026-10-20 16:06:58,094.094 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:06:58,157.157 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:06:58,160.160 INFO    ] No update needed
[2026-10-20 16:06:58,162.162 INFO    ] Checking for camera pi updates...
[2026-10-20 16:06:58,196.196 INFO    ] 200
[2026-10-20 16:06:58,200.200 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:06:58,240.240 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:06:58,284.284 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:06:58,287.287 INFO    ] No camera update needed
[2026-10-20 16:06:58,289.289 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:06:58,292.292 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:06:58,297.297 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:06:58,302.302 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:07:00,341.341 INFO    ] ================================================
[2026-10-20 16:07:00,356.356 INFO    ] Launching Daemon at Tue Oct 20 16:07:00 IST 2026
[2026-10-20 16:07:00,366.366 INFO    ] ================================================
[2026-10-20 16:07:00,951.951 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:07:00
[2026-10-20 16:07:01,557.557 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:07:01,818.818 INFO    ] Initializing speech engine...
[2026-10-20 16:07:01,826.826 INFO    ] 2026-10-20 16:07:01
[2026-10-20 16:07:02,356.356 INFO    ] 2026-10-20 16:07:02
[2026-10-20 16:07:02,407.407 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:07:02,634.634 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:07:02,661.661 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:07:02,820.820 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:07:02,892.892 INFO    ] time= 20/10/2026 16:07:02
[2026-10-20 16:07:02,935.935 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:07:02,992.992 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:07:03,182.182 INFO    ] No existing commands found in stream
[2026-10-20 16:07:08,206.206 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:07:08,209.209 INFO    ] Waiting 0.57 seconds before fallback handling...
[2026-10-20 16:07:09,428.428 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:07:09,431.431 INFO    ] Checking for system updates...
[2026-10-20 16:07:09,470.470 INFO    ] 200
[2026-10-20 16:07:09,473.473 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:07:09,530.530 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:07:09,532.532 INFO    ] No update needed
[2026-10-20 16:07:09,535.535 INFO    ] Checking for camera pi updates...
[2026-10-20 16:07:09,568.568 INFO    ] 200
[2026-10-20 16:07:09,570.570 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:07:09,614.614 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:07:09,661.661 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:07:09,663.663 INFO    ] No camera update needed
[2026-10-20 16:07:09,666.666 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:07:09,668.668 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:07:09,674.674 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:07:09,679.679 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:07:11,719.719 INFO    ] ================================================
[2026-10-20 16:07:11,734.734 INFO    ] Launching Daemon at Tue Oct 20 16:07:11 IST 2026
[2026-10-20 16:07:11,745.745 INFO    ] ================================================
[2026-10-20 16:07:12,387.387 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:07:12
[2026-10-20 16:07:13,048.048 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:07:13,344.344 INFO    ] Initializing speech engine...
[2026-10-20 16:07:13,352.352 INFO    ] 2026-10-20 16:07:13
[2026-10-20 16:07:13,614.614 INFO    ] 2026-10-20 16:07:13
[2026-10-20 16:07:13,649.649 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:07:13,852.852 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:07:13,910.910 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:07:14,147.147 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:07:14,185.185 INFO    ] time= 20/10/2026 16:07:14
[2026-10-20 16:07:14,191.191 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:07:14,211.211 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:07:14,340.340 INFO    ] No existing commands found in stream
[2026-10-20 16:07:19,355.355 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:07:19,359.359 INFO    ] Waiting 2.05 seconds before fallback handling...
[2026-10-20 16:07:21,953.953 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:07:21,955.955 INFO    ] Checking for system updates...
[2026-10-20 16:07:21,991.991 INFO    ] 200
[2026-10-20 16:07:21,994.994 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:07:22,045.045 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:07:22,047.047 INFO    ] No update needed
[2026-10-20 16:07:22,050.050 INFO    ] Checking for camera pi updates...
[2026-10-20 16:07:22,083.083 INFO    ] 200
[2026-10-20 16:07:22,086.086 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:07:22,129.129 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:07:22,178.178 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:07:22,180.180 INFO    ] No camera update needed
[2026-10-20 16:07:22,182.182 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:07:22,185.185 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:07:22,190.190 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:07:22,195.195 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:07:24,233.233 INFO    ] ================================================
[2026-10-20 16:07:24,248.248 INFO    ] Launching Daemon at Tue Oct 20 16:07:24 IST 2026
[2026-10-20 16:07:24,259.259 INFO    ] ================================================
[2026-10-20 16:07:24,887.887 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:07:24
[2026-10-20 16:07:25,484.484 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:07:25,754.754 INFO    ] Initializing speech engine...
[2026-10-20 16:07:25,763.763 INFO    ] 2026-10-20 16:07:25
[2026-10-20 16:07:26,060.060 INFO    ] 2026-10-20 16:07:26
[2026-10-20 16:07:26,104.104 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:07:26,349.349 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:07:26,354.354 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:07:26,570.570 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:07:26,592.592 INFO    ] time= 20/10/2026 16:07:26
[2026-10-20 16:07:26,598.598 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:07:26,616.616 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:07:26,746.746 INFO    ] No existing commands found in stream
[2026-10-20 16:07:31,758.758 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:07:31,761.761 INFO    ] Waiting 3.94 seconds before fallback handling...
[2026-10-20 16:07:37,046.046 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:07:37,048.048 INFO    ] Checking for system updates...
[2026-10-20 16:07:37,087.087 INFO    ] 200
[2026-10-20 16:07:37,089.089 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:07:37,146.146 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:07:37,148.148 INFO    ] No update needed
[2026-10-20 16:07:37,151.151 INFO    ] Checking for camera pi updates...
[2026-10-20 16:07:37,184.184 INFO    ] 200
[2026-10-20 16:07:37,186.186 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:07:37,229.229 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:07:37,281.281 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:07:37,283.283 INFO    ] No camera update needed
[2026-10-20 16:07:37,285.285 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:07:37,288.288 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:07:37,293.293 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:07:37,298.298 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:07:39,338.338 INFO    ] ================================================
[2026-10-20 16:07:39,354.354 INFO    ] Launching Daemon at Tue Oct 20 16:07:39 IST 2026
[2026-10-20 16:07:39,365.365 INFO    ] ================================================
[2026-10-20 16:07:39,963.963 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:07:39
[2026-10-20 16:07:40,598.598 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:07:40,888.888 INFO    ] Initializing speech engine...
[2026-10-20 16:07:40,895.895 INFO    ] 2026-10-20 16:07:40
[2026-10-20 16:07:41,164.164 INFO    ] 2026-10-20 16:07:41
[2026-10-20 16:07:41,188.188 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:07:41,447.447 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:07:41,456.456 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:07:41,650.650 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:07:41,695.695 INFO    ] time= 20/10/2026 16:07:41
[2026-10-20 16:07:41,727.727 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:07:41,733.733 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:07:41,894.894 INFO    ] No existing commands found in stream
[2026-10-20 16:07:46,915.915 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:07:46,918.918 INFO    ] Waiting 0.11 seconds before fallback handling...
[2026-10-20 16:07:47,528.528 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:07:47,531.531 INFO    ] Checking for system updates...
[2026-10-20 16:07:47,572.572 INFO    ] 200
[2026-10-20 16:07:47,574.574 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:07:47,627.627 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:07:47,630.630 INFO    ] No update needed
[2026-10-20 16:07:47,633.633 INFO    ] Checking for camera pi updates...
[2026-10-20 16:07:47,670.670 INFO    ] 200
[2026-10-20 16:07:47,672.672 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:07:47,713.713 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:07:47,759.759 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:07:47,761.761 INFO    ] No camera update needed
[2026-10-20 16:07:47,763.763 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:07:47,766.766 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:07:47,771.771 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:07:47,776.776 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:07:49,815.815 INFO    ] ================================================
[2026-10-20 16:07:49,830.830 INFO    ] Launching Daemon at Tue Oct 20 16:07:49 IST 2026
[2026-10-20 16:07:49,841.841 INFO    ] ================================================
[2026-10-20 16:07:50,527.527 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:07:50
[2026-10-20 16:07:51,216.216 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:07:51,524.524 INFO    ] Initializing speech engine...
[2026-10-20 16:07:51,531.531 INFO    ] 2026-10-20 16:07:51
[2026-10-20 16:07:51,806.806 INFO    ] 2026-10-20 16:07:51
[2026-10-20 16:07:51,862.862 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:07:52,151.151 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:07:52,160.160 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:07:52,346.346 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:07:52,364.364 INFO    ] time= 20/10/2026 16:07:52
[2026-10-20 16:07:52,385.385 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:07:52,414.414 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:07:52,544.544 INFO    ] No existing commands found in stream
[2026-10-20 16:07:57,575.575 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:07:57,579.579 INFO    ] Waiting 2.41 seconds before fallback handling...
[2026-10-20 16:08:00,589.589 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:08:00,592.592 INFO    ] Checking for system updates...
[2026-10-20 16:08:00,633.633 INFO    ] 200
[2026-10-20 16:08:00,635.635 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:08:00,689.689 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:08:00,691.691 INFO    ] No update needed
[2026-10-20 16:08:00,693.693 INFO    ] Checking for camera pi updates...
[2026-10-20 16:08:00,726.726 INFO    ] 200
[2026-10-20 16:08:00,729.729 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:08:00,769.769 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:08:00,819.819 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:08:00,822.822 INFO    ] No camera update needed
[2026-10-20 16:08:00,824.824 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:08:00,826.826 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:08:00,832.832 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:08:00,836.836 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:08:02,883.883 INFO    ] ================================================
[2026-10-20 16:08:02,903.903 INFO    ] Launching Daemon at Tue Oct 20 16:08:02 IST 2026
[2026-10-20 16:08:02,924.924 INFO    ] ================================================
[2026-10-20 16:08:03,665.665 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:08:03
[2026-10-20 16:08:04,300.300 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:08:04,579.579 INFO    ] Initializing speech engine...
[2026-10-20 16:08:04,588.588 INFO    ] 2026-10-20 16:08:04
[2026-10-20 16:08:04,839.839 INFO    ] 2026-10-20 16:08:04
[2026-10-20 16:08:04,874.874 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:08:05,127.127 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:08:05,136.136 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:08:05,277.277 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:08:05,347.347 INFO    ] time= 20/10/2026 16:08:05
[2026-10-20 16:08:05,400.400 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:08:05,406.406 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:08:05,550.550 INFO    ] No existing commands found in stream
[2026-10-20 16:08:10,563.563 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:08:10,565.565 INFO    ] Waiting 2.62 seconds before fallback handling...
[2026-10-20 16:08:13,699.699 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:08:13,703.703 INFO    ] Checking for system updates...
[2026-10-20 16:08:13,747.747 INFO    ] 200
[2026-10-20 16:08:13,749.749 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:08:13,802.802 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:08:13,805.805 INFO    ] No update needed
[2026-10-20 16:08:13,807.807 INFO    ] Checking for camera pi updates...
[2026-10-20 16:08:13,844.844 INFO    ] 200
[2026-10-20 16:08:13,847.847 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:08:13,893.893 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:08:13,938.938 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:08:13,940.940 INFO    ] No camera update needed
[2026-10-20 16:08:13,943.943 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:08:13,945.945 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:08:13,951.951 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:08:13,956.956 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:08:16,998.998 INFO    ] ================================================
[2026-10-20 16:08:16,013.013 INFO    ] Launching Daemon at Tue Oct 20 16:08:16 IST 2026
[2026-10-20 16:08:16,024.024 INFO    ] ================================================
[2026-10-20 16:08:16,605.605 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:08:16
[2026-10-20 16:08:17,202.202 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:08:17,477.477 INFO    ] Initializing speech engine...
[2026-10-20 16:08:17,483.483 INFO    ] 2026-10-20 16:08:17
[2026-10-20 16:08:17,733.733 INFO    ] 2026-10-20 16:08:17
[2026-10-20 16:08:17,769.769 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:08:18,027.027 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:08:18,037.037 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:08:18,179.179 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:08:18,244.244 INFO    ] time= 20/10/2026 16:08:18
[2026-10-20 16:08:18,293.293 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:08:18,310.310 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:08:18,469.469 INFO    ] No existing commands found in stream
[2026-10-20 16:08:23,500.500 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:08:23,503.503 INFO    ] Waiting 3.88 seconds before fallback handling...
[2026-10-20 16:08:27,947.947 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:08:27,950.950 INFO    ] Checking for system updates...
[2026-10-20 16:08:27,990.990 INFO    ] 200
[2026-10-20 16:08:27,992.992 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:08:28,063.063 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:08:28,065.065 INFO    ] No update needed
[2026-10-20 16:08:28,068.068 INFO    ] Checking for camera pi updates...
[2026-10-20 16:08:28,101.101 INFO    ] 200
[2026-10-20 16:08:28,110.110 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:08:28,155.155 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:08:28,203.203 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:08:28,206.206 INFO    ] No camera update needed
[2026-10-20 16:08:28,208.208 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:08:28,210.210 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:08:28,216.216 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:08:28,220.220 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:08:30,261.261 INFO    ] ================================================
[2026-10-20 16:08:30,277.277 INFO    ] Launching Daemon at Tue Oct 20 16:08:30 IST 2026
[2026-10-20 16:08:30,287.287 INFO    ] ================================================
[2026-10-20 16:08:30,872.872 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:08:30
[2026-10-20 16:08:31,472.472 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:08:31,746.746 INFO    ] Initializing speech engine...
[2026-10-20 16:08:31,755.755 INFO    ] 2026-10-20 16:08:31
[2026-10-20 16:08:32,005.005 INFO    ] 2026-10-20 16:08:32
[2026-10-20 16:08:32,049.049 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:08:32,276.276 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:08:32,295.295 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:08:32,480.480 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:08:32,550.550 INFO    ] time= 20/10/2026 16:08:32
[2026-10-20 16:08:32,615.615 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:08:32,622.622 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:08:32,759.759 INFO    ] No existing commands found in stream
[2026-10-20 16:08:37,794.794 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:08:37,796.796 INFO    ] Waiting 2.49 seconds before fallback handling...
[2026-10-20 16:08:40,815.815 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 16:08:40,817.817 INFO    ] Checking for system updates...
[2026-10-20 16:08:40,854.854 INFO    ] 200
[2026-10-20 16:08:40,856.856 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:08:40,914.914 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:08:40,917.917 INFO    ] No update needed
[2026-10-20 16:08:40,919.919 INFO    ] Checking for camera pi updates...
[2026-10-20 16:08:40,957.957 INFO    ] 200
[2026-10-20 16:08:40,960.960 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:08:41,004.004 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:08:41,049.049 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:08:41,051.051 INFO    ] No camera update needed
[2026-10-20 16:08:41,054.054 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:08:41,056.056 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:08:41,062.062 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:08:41,066.066 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:08:43,108.108 INFO    ] ================================================
[2026-10-20 16:08:43,125.125 INFO    ] Launching Daemon at Tue Oct 20 16:08:43 IST 2026
[2026-10-20 16:08:43,136.136 INFO    ] ================================================
[2026-10-20 16:08:43,708.708 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:08:43
[2026-10-20 16:08:44,298.298 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:08:44,548.548 INFO    ] Initializing speech engine...
[2026-10-20 16:08:44,562.562 INFO    ] 2026-10-20 16:08:44
[2026-10-20 16:08:44,828.828 INFO    ] 2026-10-20 16:08:44
[2026-10-20 16:08:44,864.864 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:08:45,125.125 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:08:45,134.134 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:08:45,383.383 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:08:45,402.402 INFO    ] time= 20/10/2026 16:08:45
[2026-10-20 16:08:45,418.418 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:08:45,427.427 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:08:45,573.573 INFO    ] No existing commands found in stream
[2026-10-20 16:08:50,604.604 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:08:50,607.607 INFO    ] Waiting 1.67 seconds before fallback handling...
[2026-10-20 16:08:52,810.810 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:08:52,813.813 INFO    ] Checking for system updates...
[2026-10-20 16:08:52,848.848 INFO    ] 200
[2026-10-20 16:08:52,851.851 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:08:52,910.910 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:08:52,912.912 INFO    ] No update needed
[2026-10-20 16:08:52,914.914 INFO    ] Checking for camera pi updates...
[2026-10-20 16:08:52,948.948 INFO    ] 200
[2026-10-20 16:08:52,951.951 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:08:52,996.996 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:08:53,046.046 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:08:53,049.049 INFO    ] No camera update needed
[2026-10-20 16:08:53,051.051 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:08:53,053.053 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:08:53,059.059 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:08:53,064.064 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:08:55,105.105 INFO    ] ================================================
[2026-10-20 16:08:55,121.121 INFO    ] Launching Daemon at Tue Oct 20 16:08:55 IST 2026
[2026-10-20 16:08:55,132.132 INFO    ] ================================================
[2026-10-20 16:08:55,714.714 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:08:55
[2026-10-20 16:08:56,311.311 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:08:56,590.590 INFO    ] Initializing speech engine...
[2026-10-20 16:08:56,599.599 INFO    ] 2026-10-20 16:08:56
[2026-10-20 16:08:56,856.856 INFO    ] 2026-10-20 16:08:56
[2026-10-20 16:08:56,886.886 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:08:57,137.137 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:08:57,141.141 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:08:57,347.347 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:08:57,401.401 INFO    ] time= 20/10/2026 16:08:57
[2026-10-20 16:08:57,407.407 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:08:57,425.425 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:08:57,576.576 INFO    ] No existing commands found in stream
[2026-10-20 16:09:02,606.606 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:09:02,609.609 INFO    ] Waiting 0.94 seconds before fallback handling...
[2026-10-20 16:09:04,043.043 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:09:04,046.046 INFO    ] Checking for system updates...
[2026-10-20 16:09:04,081.081 INFO    ] 200
[2026-10-20 16:09:04,084.084 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:09:04,137.137 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:09:04,140.140 INFO    ] No update needed
[2026-10-20 16:09:04,142.142 INFO    ] Checking for camera pi updates...
[2026-10-20 16:09:04,181.181 INFO    ] 200
[2026-10-20 16:09:04,183.183 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:09:04,232.232 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:09:04,271.271 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:09:04,273.273 INFO    ] No camera update needed
[2026-10-20 16:09:04,276.276 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:09:04,278.278 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:09:04,283.283 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:09:04,288.288 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:09:06,329.329 INFO    ] ================================================
[2026-10-20 16:09:06,345.345 INFO    ] Launching Daemon at Tue Oct 20 16:09:06 IST 2026
[2026-10-20 16:09:06,356.356 INFO    ] ================================================
[2026-10-20 16:09:06,984.984 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:09:06
[2026-10-20 16:09:07,672.672 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:09:07,994.994 INFO    ] Initializing speech engine...
[2026-10-20 16:09:08,001.001 INFO    ] 2026-10-20 16:09:07
[2026-10-20 16:09:08,288.288 INFO    ] 2026-10-20 16:09:08
[2026-10-20 16:09:08,332.332 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:09:08,562.562 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:09:08,573.573 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:09:08,817.817 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:09:08,835.835 INFO    ] time= 20/10/2026 16:09:08
[2026-10-20 16:09:08,852.852 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:09:08,882.882 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:09:08,989.989 INFO    ] No existing commands found in stream
[2026-10-20 16:09:14,011.011 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:09:14,014.014 INFO    ] Waiting 0.34 seconds before fallback handling...
[2026-10-20 16:09:14,899.899 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:09:14,903.903 INFO    ] Checking for system updates...
[2026-10-20 16:09:14,944.944 INFO    ] 200
[2026-10-20 16:09:14,947.947 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:09:15,008.008 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:09:15,011.011 INFO    ] No update needed
[2026-10-20 16:09:15,014.014 INFO    ] Checking for camera pi updates...
[2026-10-20 16:09:15,054.054 INFO    ] 200
[2026-10-20 16:09:15,057.057 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:09:15,104.104 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:09:15,150.150 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:09:15,153.153 INFO    ] No camera update needed
[2026-10-20 16:09:15,155.155 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:09:15,158.158 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:09:15,165.165 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:09:15,171.171 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:09:17,213.213 INFO    ] ================================================
[2026-10-20 16:09:17,229.229 INFO    ] Launching Daemon at Tue Oct 20 16:09:17 IST 2026
[2026-10-20 16:09:17,241.241 INFO    ] ================================================
[2026-10-20 16:09:17,825.825 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:09:17
[2026-10-20 16:09:18,427.427 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:09:18,707.707 INFO    ] Initializing speech engine...
[2026-10-20 16:09:18,714.714 INFO    ] 2026-10-20 16:09:18
[2026-10-20 16:09:18,973.973 INFO    ] 2026-10-20 16:09:18
[2026-10-20 16:09:19,003.003 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:09:19,254.254 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:09:19,263.263 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:09:19,398.398 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:09:19,430.430 INFO    ] time= 20/10/2026 16:09:19
[2026-10-20 16:09:19,489.489 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:09:19,535.535 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:09:19,688.688 INFO    ] No existing commands found in stream
[2026-10-20 16:09:24,708.708 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:09:24,711.711 INFO    ] Waiting 0.74 seconds before fallback handling...
[2026-10-20 16:09:25,912.912 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:09:25,915.915 INFO    ] Checking for system updates...
[2026-10-20 16:09:25,954.954 INFO    ] 200
[2026-10-20 16:09:25,957.957 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:09:26,016.016 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:09:26,019.019 INFO    ] No update needed
[2026-10-20 16:09:26,021.021 INFO    ] Checking for camera pi updates...
[2026-10-20 16:09:26,054.054 INFO    ] 200
[2026-10-20 16:09:26,057.057 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:09:26,103.103 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:09:26,145.145 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:09:26,147.147 INFO    ] No camera update needed
[2026-10-20 16:09:26,150.150 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:09:26,152.152 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:09:26,157.157 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:09:26,162.162 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:09:28,204.204 INFO    ] ================================================
[2026-10-20 16:09:28,221.221 INFO    ] Launching Daemon at Tue Oct 20 16:09:28 IST 2026
[2026-10-20 16:09:28,232.232 INFO    ] ================================================
[2026-10-20 16:09:28,908.908 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:09:28
[2026-10-20 16:09:29,603.603 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:09:29,918.918 INFO    ] Initializing speech engine...
[2026-10-20 16:09:29,929.929 INFO    ] 2026-10-20 16:09:29
[2026-10-20 16:09:30,211.211 INFO    ] 2026-10-20 16:09:30
[2026-10-20 16:09:30,254.254 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:09:30,542.542 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:09:30,549.549 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:09:30,736.736 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:09:30,758.758 INFO    ] time= 20/10/2026 16:09:30
[2026-10-20 16:09:30,777.777 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:09:30,808.808 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:09:30,921.921 INFO    ] No existing commands found in stream
[2026-10-20 16:09:35,941.941 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:09:35,944.944 INFO    ] Waiting 1.72 seconds before fallback handling...
[2026-10-20 16:09:38,257.257 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:09:38,261.261 INFO    ] Checking for system updates...
[2026-10-20 16:09:38,303.303 INFO    ] 200
[2026-10-20 16:09:38,306.306 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:09:38,367.367 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:09:38,371.371 INFO    ] No update needed
[2026-10-20 16:09:38,376.376 INFO    ] Checking for camera pi updates...
[2026-10-20 16:09:38,417.417 INFO    ] 200
[2026-10-20 16:09:38,420.420 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:09:38,461.461 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:09:38,510.510 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:09:38,513.513 INFO    ] No camera update needed
[2026-10-20 16:09:38,516.516 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:09:38,518.518 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:09:38,525.525 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:09:38,531.531 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:09:40,572.572 INFO    ] ================================================
[2026-10-20 16:09:40,587.587 INFO    ] Launching Daemon at Tue Oct 20 16:09:40 IST 2026
[2026-10-20 16:09:40,598.598 INFO    ] ================================================
[2026-10-20 16:09:41,254.254 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:09:41
[2026-10-20 16:09:41,943.943 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:09:42,252.252 INFO    ] Initializing speech engine...
[2026-10-20 16:09:42,260.260 INFO    ] 2026-10-20 16:09:42
[2026-10-20 16:09:42,534.534 INFO    ] 2026-10-20 16:09:42
[2026-10-20 16:09:42,570.570 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:09:42,853.853 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:09:42,859.859 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:09:43,068.068 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:09:43,102.102 INFO    ] time= 20/10/2026 16:09:43
[2026-10-20 16:09:43,122.122 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:09:43,151.151 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:09:43,300.300 INFO    ] No existing commands found in stream
[2026-10-20 16:09:48,331.331 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:09:48,335.335 INFO    ] Waiting 0.97 seconds before fallback handling...
[2026-10-20 16:09:49,831.831 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:09:49,834.834 INFO    ] Checking for system updates...
[2026-10-20 16:09:49,871.871 INFO    ] 200
[2026-10-20 16:09:49,874.874 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:09:49,936.936 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:09:49,939.939 INFO    ] No update needed
[2026-10-20 16:09:49,943.943 INFO    ] Checking for camera pi updates...
[2026-10-20 16:09:49,982.982 INFO    ] 200
[2026-10-20 16:09:49,985.985 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:09:50,032.032 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:09:50,076.076 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:09:50,079.079 INFO    ] No camera update needed
[2026-10-20 16:09:50,082.082 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:09:50,085.085 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:09:50,091.091 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:09:50,097.097 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:09:52,140.140 INFO    ] ================================================
[2026-10-20 16:09:52,155.155 INFO    ] Launching Daemon at Tue Oct 20 16:09:52 IST 2026
[2026-10-20 16:09:52,166.166 INFO    ] ================================================
[2026-10-20 16:09:52,832.832 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:09:52
[2026-10-20 16:09:53,526.526 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:09:53,839.839 INFO    ] Initializing speech engine...
[2026-10-20 16:09:53,853.853 INFO    ] 2026-10-20 16:09:53
[2026-10-20 16:09:54,166.166 INFO    ] 2026-10-20 16:09:54
[2026-10-20 16:09:54,250.250 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:09:54,463.463 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:09:54,472.472 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:09:54,667.667 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:09:54,675.675 INFO    ] time= 20/10/2026 16:09:54
[2026-10-20 16:09:54,696.696 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:09:54,723.723 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:09:54,836.836 INFO    ] No existing commands found in stream
[2026-10-20 16:09:59,871.871 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:09:59,875.875 INFO    ] Waiting 1.10 seconds before fallback handling...
[2026-10-20 16:10:01,497.497 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:10:01,500.500 INFO    ] Checking for system updates...
[2026-10-20 16:10:01,543.543 INFO    ] 200
[2026-10-20 16:10:01,546.546 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:10:01,600.600 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:10:01,603.603 INFO    ] No update needed
[2026-10-20 16:10:01,606.606 INFO    ] Checking for camera pi updates...
[2026-10-20 16:10:01,644.644 INFO    ] 200
[2026-10-20 16:10:01,646.646 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:10:01,692.692 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:10:01,762.762 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:10:01,764.764 INFO    ] No camera update needed
[2026-10-20 16:10:01,766.766 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:10:01,769.769 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:10:01,774.774 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:10:01,779.779 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:10:03,823.823 INFO    ] ================================================
[2026-10-20 16:10:03,843.843 INFO    ] Launching Daemon at Tue Oct 20 16:10:03 IST 2026
[2026-10-20 16:10:03,853.853 INFO    ] ================================================
[2026-10-20 16:10:04,494.494 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:10:04
[2026-10-20 16:10:05,123.123 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:10:05,416.416 INFO    ] Initializing speech engine...
[2026-10-20 16:10:05,426.426 INFO    ] 2026-10-20 16:10:05
[2026-10-20 16:10:05,697.697 INFO    ] 2026-10-20 16:10:05
[2026-10-20 16:10:05,738.738 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:10:05,956.956 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:10:05,985.985 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:10:06,164.164 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:10:06,229.229 INFO    ] time= 20/10/2026 16:10:06
[2026-10-20 16:10:06,294.294 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:10:06,301.301 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:10:06,451.451 INFO    ] No existing commands found in stream
[2026-10-20 16:10:11,474.474 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:10:11,477.477 INFO    ] Waiting 1.98 seconds before fallback handling...
[2026-10-20 16:10:13,992.992 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:10:13,994.994 INFO    ] Checking for system updates...
[2026-10-20 16:10:14,029.029 INFO    ] 200
[2026-10-20 16:10:14,032.032 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:10:14,083.083 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:10:14,085.085 INFO    ] No update needed
[2026-10-20 16:10:14,088.088 INFO    ] Checking for camera pi updates...
[2026-10-20 16:10:14,124.124 INFO    ] 200
[2026-10-20 16:10:14,127.127 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:10:14,167.167 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:10:14,215.215 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:10:14,217.217 INFO    ] No camera update needed
[2026-10-20 16:10:14,220.220 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:10:14,222.222 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:10:14,227.227 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:10:14,232.232 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:10:16,272.272 INFO    ] ================================================
[2026-10-20 16:10:16,287.287 INFO    ] Launching Daemon at Tue Oct 20 16:10:16 IST 2026
[2026-10-20 16:10:16,298.298 INFO    ] ================================================
[2026-10-20 16:10:16,866.866 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:10:16
[2026-10-20 16:10:17,452.452 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:10:17,712.712 INFO    ] Initializing speech engine...
[2026-10-20 16:10:17,718.718 INFO    ] 2026-10-20 16:10:17
[2026-10-20 16:10:18,013.013 INFO    ] 2026-10-20 16:10:17
[2026-10-20 16:10:18,048.048 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:10:18,261.261 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:10:18,279.279 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:10:18,427.427 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:10:18,436.436 INFO    ] time= 20/10/2026 16:10:18
[2026-10-20 16:10:18,443.443 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:10:18,495.495 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:10:18,647.647 INFO    ] No existing commands found in stream
[2026-10-20 16:10:23,662.662 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:10:23,665.665 INFO    ] Waiting 1.28 seconds before fallback handling...
[2026-10-20 16:10:25,439.439 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 16:10:25,441.441 INFO    ] Checking for system updates...
[2026-10-20 16:10:25,480.480 INFO    ] 200
[2026-10-20 16:10:25,483.483 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:10:25,541.541 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:10:25,544.544 INFO    ] No update needed
[2026-10-20 16:10:25,546.546 INFO    ] Checking for camera pi updates...
[2026-10-20 16:10:25,579.579 INFO    ] 200
[2026-10-20 16:10:25,582.582 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:10:25,627.627 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:10:25,677.677 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:10:25,679.679 INFO    ] No camera update needed
[2026-10-20 16:10:25,682.682 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:10:25,685.685 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:10:25,691.691 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:10:25,697.697 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:10:27,737.737 INFO    ] ================================================
[2026-10-20 16:10:27,753.753 INFO    ] Launching Daemon at Tue Oct 20 16:10:27 IST 2026
[2026-10-20 16:10:27,764.764 INFO    ] ================================================
[2026-10-20 16:10:28,329.329 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:10:28
[2026-10-20 16:10:28,914.914 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:10:29,177.177 INFO    ] Initializing speech engine...
[2026-10-20 16:10:29,190.190 INFO    ] 2026-10-20 16:10:29
[2026-10-20 16:10:29,441.441 INFO    ] 2026-10-20 16:10:29
[2026-10-20 16:10:29,477.477 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:10:29,746.746 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:10:29,754.754 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:10:29,962.962 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:10:29,987.987 INFO    ] time= 20/10/2026 16:10:29
[2026-10-20 16:10:30,005.005 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:10:30,014.014 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:10:30,141.141 INFO    ] No existing commands found in stream
[2026-10-20 16:10:35,152.152 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:10:35,156.156 INFO    ] Waiting 3.08 seconds before fallback handling...
[2026-10-20 16:10:38,757.757 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:10:38,760.760 INFO    ] Checking for system updates...
[2026-10-20 16:10:38,795.795 INFO    ] 200
[2026-10-20 16:10:38,797.797 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:10:38,851.851 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:10:38,853.853 INFO    ] No update needed
[2026-10-20 16:10:38,855.855 INFO    ] Checking for camera pi updates...
[2026-10-20 16:10:38,888.888 INFO    ] 200
[2026-10-20 16:10:38,891.891 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:10:38,930.930 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:10:39,074.074 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:10:39,077.077 INFO    ] No camera update needed
[2026-10-20 16:10:39,079.079 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:10:39,082.082 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:10:39,087.087 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:10:39,092.092 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:10:41,132.132 INFO    ] ================================================
[2026-10-20 16:10:41,148.148 INFO    ] Launching Daemon at Tue Oct 20 16:10:41 IST 2026
[2026-10-20 16:10:41,159.159 INFO    ] ================================================
[2026-10-20 16:10:41,813.813 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:10:41
[2026-10-20 16:10:42,488.488 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:10:42,792.792 INFO    ] Initializing speech engine...
[2026-10-20 16:10:42,801.801 INFO    ] 2026-10-20 16:10:42
[2026-10-20 16:10:43,073.073 INFO    ] 2026-10-20 16:10:43
[2026-10-20 16:10:43,108.108 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:10:43,365.365 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:10:43,372.372 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:10:43,522.522 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:10:43,576.576 INFO    ] time= 20/10/2026 16:10:43
[2026-10-20 16:10:43,626.626 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:10:43,642.642 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:10:43,783.783 INFO    ] No existing commands found in stream
[2026-10-20 16:10:48,800.800 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:10:48,803.803 INFO    ] Waiting 1.07 seconds before fallback handling...
[2026-10-20 16:10:50,417.417 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:10:50,421.421 INFO    ] Checking for system updates...
[2026-10-20 16:10:50,458.458 INFO    ] 200
[2026-10-20 16:10:50,461.461 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:10:50,521.521 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:10:50,524.524 INFO    ] No update needed
[2026-10-20 16:10:50,527.527 INFO    ] Checking for camera pi updates...
[2026-10-20 16:10:50,568.568 INFO    ] 200
[2026-10-20 16:10:50,571.571 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:10:50,621.621 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:10:50,667.667 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:10:50,669.669 INFO    ] No camera update needed
[2026-10-20 16:10:50,672.672 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:10:50,674.674 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:10:50,679.679 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:10:50,684.684 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:10:52,723.723 INFO    ] ================================================
[2026-10-20 16:10:52,740.740 INFO    ] Launching Daemon at Tue Oct 20 16:10:52 IST 2026
[2026-10-20 16:10:52,751.751 INFO    ] ================================================
[2026-10-20 16:10:53,405.405 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:10:53
[2026-10-20 16:10:54,043.043 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:10:54,303.303 INFO    ] Initializing speech engine...
[2026-10-20 16:10:54,317.317 INFO    ] 2026-10-20 16:10:54
[2026-10-20 16:10:54,601.601 INFO    ] 2026-10-20 16:10:54
[2026-10-20 16:10:54,636.636 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:10:54,860.860 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:10:54,883.883 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:10:55,088.088 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:10:55,095.095 INFO    ] time= 20/10/2026 16:10:55
[2026-10-20 16:10:55,154.154 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:10:55,203.203 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:10:55,367.367 INFO    ] No existing commands found in stream
[2026-10-20 16:11:00,385.385 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:11:00,388.388 INFO    ] Waiting 1.10 seconds before fallback handling...
[2026-10-20 16:11:02,094.094 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 16:11:02,098.098 INFO    ] Checking for system updates...
[2026-10-20 16:11:02,146.146 INFO    ] 200
[2026-10-20 16:11:02,149.149 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:11:02,209.209 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:11:02,212.212 INFO    ] No update needed
[2026-10-20 16:11:02,215.215 INFO    ] Checking for camera pi updates...
[2026-10-20 16:11:02,267.267 INFO    ] 200
[2026-10-20 16:11:02,270.270 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:11:02,326.326 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:11:02,359.359 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:11:02,362.362 INFO    ] No camera update needed
[2026-10-20 16:11:02,365.365 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:11:02,367.367 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:11:02,374.374 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:11:02,381.381 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:11:04,422.422 INFO    ] ================================================
[2026-10-20 16:11:04,438.438 INFO    ] Launching Daemon at Tue Oct 20 16:11:04 IST 2026
[2026-10-20 16:11:04,449.449 INFO    ] ================================================
[2026-10-20 16:11:05,019.019 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:11:05
[2026-10-20 16:11:05,607.607 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:11:05,925.925 INFO    ] Initializing speech engine...
[2026-10-20 16:11:05,933.933 INFO    ] 2026-10-20 16:11:05
[2026-10-20 16:11:06,242.242 INFO    ] 2026-10-20 16:11:06
[2026-10-20 16:11:06,328.328 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:11:06,546.546 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:11:06,573.573 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:11:06,748.748 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:11:06,768.768 INFO    ] time= 20/10/2026 16:11:06
[2026-10-20 16:11:06,796.796 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:11:06,805.805 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:11:06,939.939 INFO    ] No existing commands found in stream
[2026-10-20 16:11:11,965.965 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:11:11,968.968 INFO    ] Waiting 0.80 seconds before fallback handling...
[2026-10-20 16:11:13,293.293 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:11:13,296.296 INFO    ] Checking for system updates...
[2026-10-20 16:11:13,334.334 INFO    ] 200
[2026-10-20 16:11:13,336.336 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:11:13,389.389 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:11:13,392.392 INFO    ] No update needed
[2026-10-20 16:11:13,395.395 INFO    ] Checking for camera pi updates...
[2026-10-20 16:11:13,428.428 INFO    ] 200
[2026-10-20 16:11:13,430.430 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:11:13,471.471 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:11:13,515.515 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:11:13,517.517 INFO    ] No camera update needed
[2026-10-20 16:11:13,520.520 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:11:13,522.522 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:11:13,528.528 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:11:13,533.533 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:11:15,573.573 INFO    ] ================================================
[2026-10-20 16:11:15,588.588 INFO    ] Launching Daemon at Tue Oct 20 16:11:15 IST 2026
[2026-10-20 16:11:15,600.600 INFO    ] ================================================
[2026-10-20 16:11:16,188.188 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:11:16
[2026-10-20 16:11:16,769.769 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:11:17,017.017 INFO    ] Initializing speech engine...
[2026-10-20 16:11:17,032.032 INFO    ] 2026-10-20 16:11:17
[2026-10-20 16:11:17,295.295 INFO    ] 2026-10-20 16:11:17
[2026-10-20 16:11:17,330.330 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:11:17,534.534 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:11:17,593.593 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:11:17,840.840 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:11:17,866.866 INFO    ] time= 20/10/2026 16:11:17
[2026-10-20 16:11:17,881.881 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:11:17,890.890 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:11:18,019.019 INFO    ] No existing commands found in stream
[2026-10-20 16:11:23,032.032 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:11:23,035.035 INFO    ] Waiting 3.03 seconds before fallback handling...
[2026-10-20 16:11:26,571.571 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:11:26,574.574 INFO    ] Checking for system updates...
[2026-10-20 16:11:26,613.613 INFO    ] 200
[2026-10-20 16:11:26,615.615 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:11:26,667.667 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:11:26,669.669 INFO    ] No update needed
[2026-10-20 16:11:26,672.672 INFO    ] Checking for camera pi updates...
[2026-10-20 16:11:26,705.705 INFO    ] 200
[2026-10-20 16:11:26,707.707 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:11:26,749.749 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:11:26,795.795 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:11:26,798.798 INFO    ] No camera update needed
[2026-10-20 16:11:26,800.800 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:11:26,803.803 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:11:26,808.808 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:11:26,813.813 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:11:28,853.853 INFO    ] ================================================
[2026-10-20 16:11:28,868.868 INFO    ] Launching Daemon at Tue Oct 20 16:11:28 IST 2026
[2026-10-20 16:11:28,879.879 INFO    ] ================================================
[2026-10-20 16:11:29,466.466 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:11:29
[2026-10-20 16:11:30,059.059 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:11:30,319.319 INFO    ] Initializing speech engine...
[2026-10-20 16:11:30,335.335 INFO    ] 2026-10-20 16:11:30
[2026-10-20 16:11:30,622.622 INFO    ] 2026-10-20 16:11:30
[2026-10-20 16:11:30,657.657 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:11:30,887.887 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:11:30,894.894 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:11:31,044.044 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:11:31,049.049 INFO    ] time= 20/10/2026 16:11:31
[2026-10-20 16:11:31,056.056 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:11:31,082.082 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:11:31,222.222 INFO    ] No existing commands found in stream
[2026-10-20 16:11:36,247.247 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:11:36,250.250 INFO    ] Waiting 0.72 seconds before fallback handling...
[2026-10-20 16:11:37,490.490 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 16:11:37,493.493 INFO    ] Checking for system updates...
[2026-10-20 16:11:37,529.529 INFO    ] 200
[2026-10-20 16:11:37,531.531 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:11:37,583.583 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:11:37,585.585 INFO    ] No update needed
[2026-10-20 16:11:37,588.588 INFO    ] Checking for camera pi updates...
[2026-10-20 16:11:37,622.622 INFO    ] 200
[2026-10-20 16:11:37,625.625 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:11:37,666.666 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:11:37,717.717 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:11:37,720.720 INFO    ] No camera update needed
[2026-10-20 16:11:37,723.723 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:11:37,726.726 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:11:37,732.732 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:11:37,738.738 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:11:39,780.780 INFO    ] ================================================
[2026-10-20 16:11:39,795.795 INFO    ] Launching Daemon at Tue Oct 20 16:11:39 IST 2026
[2026-10-20 16:11:39,806.806 INFO    ] ================================================
[2026-10-20 16:11:40,469.469 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:11:40
[2026-10-20 16:11:41,153.153 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:11:41,464.464 INFO    ] Initializing speech engine...
[2026-10-20 16:11:41,478.478 INFO    ] 2026-10-20 16:11:41
[2026-10-20 16:11:41,763.763 INFO    ] 2026-10-20 16:11:41
[2026-10-20 16:11:41,809.809 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:11:42,106.106 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:11:42,115.115 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:11:42,315.315 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:11:42,335.335 INFO    ] time= 20/10/2026 16:11:42
[2026-10-20 16:11:42,342.342 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:11:42,370.370 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:11:42,508.508 INFO    ] No existing commands found in stream
[2026-10-20 16:11:47,539.539 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:11:47,543.543 INFO    ] Waiting 0.11 seconds before fallback handling...
[2026-10-20 16:11:48,261.261 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:11:48,264.264 INFO    ] Checking for system updates...
[2026-10-20 16:11:48,300.300 INFO    ] 200
[2026-10-20 16:11:48,303.303 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:11:48,357.357 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:11:48,360.360 INFO    ] No update needed
[2026-10-20 16:11:48,362.362 INFO    ] Checking for camera pi updates...
[2026-10-20 16:11:48,397.397 INFO    ] 200
[2026-10-20 16:11:48,400.400 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:11:48,441.441 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:11:48,505.505 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:11:48,507.507 INFO    ] No camera update needed
[2026-10-20 16:11:48,510.510 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:11:48,513.513 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:11:48,519.519 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:11:48,525.525 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:11:50,566.566 INFO    ] ================================================
[2026-10-20 16:11:50,581.581 INFO    ] Launching Daemon at Tue Oct 20 16:11:50 IST 2026
[2026-10-20 16:11:50,592.592 INFO    ] ================================================
[2026-10-20 16:11:51,171.171 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:11:51
[2026-10-20 16:11:51,762.762 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:11:52,025.025 INFO    ] Initializing speech engine...
[2026-10-20 16:11:52,044.044 INFO    ] 2026-10-20 16:11:52
[2026-10-20 16:11:52,296.296 INFO    ] 2026-10-20 16:11:52
[2026-10-20 16:11:52,331.331 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:11:52,534.534 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:11:52,593.593 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:11:52,780.780 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:11:52,824.824 INFO    ] time= 20/10/2026 16:11:52
[2026-10-20 16:11:52,870.870 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:11:52,877.877 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:11:53,029.029 INFO    ] No existing commands found in stream
[2026-10-20 16:11:58,051.051 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:11:58,054.054 INFO    ] Waiting 0.08 seconds before fallback handling...
[2026-10-20 16:11:58,661.661 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:11:58,663.663 INFO    ] Checking for system updates...
[2026-10-20 16:11:58,703.703 INFO    ] 200
[2026-10-20 16:11:58,706.706 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:11:58,766.766 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:11:58,769.769 INFO    ] No update needed
[2026-10-20 16:11:58,771.771 INFO    ] Checking for camera pi updates...
[2026-10-20 16:11:58,804.804 INFO    ] 200
[2026-10-20 16:11:58,806.806 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:11:58,851.851 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:11:58,899.899 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:11:58,901.901 INFO    ] No camera update needed
[2026-10-20 16:11:58,903.903 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:11:58,906.906 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:11:58,911.911 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:11:58,916.916 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:12:00,955.955 INFO    ] ================================================
[2026-10-20 16:12:00,970.970 INFO    ] Launching Daemon at Tue Oct 20 16:12:00 IST 2026
[2026-10-20 16:12:00,982.982 INFO    ] ================================================
[2026-10-20 16:12:01,631.631 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:12:01
[2026-10-20 16:12:02,287.287 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:12:02,584.584 INFO    ] Initializing speech engine...
[2026-10-20 16:12:02,592.592 INFO    ] 2026-10-20 16:12:02
[2026-10-20 16:12:02,890.890 INFO    ] 2026-10-20 16:12:02
[2026-10-20 16:12:02,942.942 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:12:03,157.157 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:12:03,174.174 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:12:03,387.387 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:12:03,399.399 INFO    ] time= 20/10/2026 16:12:03
[2026-10-20 16:12:03,463.463 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:12:03,512.512 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:12:03,648.648 INFO    ] No existing commands found in stream
[2026-10-20 16:12:08,675.675 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:12:08,679.679 INFO    ] Waiting 3.77 seconds before fallback handling...
[2026-10-20 16:12:12,956.956 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:12:12,958.958 INFO    ] Checking for system updates...
[2026-10-20 16:12:12,993.993 INFO    ] 200
[2026-10-20 16:12:12,996.996 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:12:13,047.047 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:12:13,050.050 INFO    ] No update needed
[2026-10-20 16:12:13,052.052 INFO    ] Checking for camera pi updates...
[2026-10-20 16:12:13,090.090 INFO    ] 200
[2026-10-20 16:12:13,093.093 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:12:13,132.132 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:12:13,178.178 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:12:13,180.180 INFO    ] No camera update needed
[2026-10-20 16:12:13,183.183 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:12:13,185.185 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:12:13,190.190 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:12:13,195.195 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:12:15,236.236 INFO    ] ================================================
[2026-10-20 16:12:15,251.251 INFO    ] Launching Daemon at Tue Oct 20 16:12:15 IST 2026
[2026-10-20 16:12:15,262.262 INFO    ] ================================================
[2026-10-20 16:12:15,854.854 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:12:15
[2026-10-20 16:12:16,466.466 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:12:16,737.737 INFO    ] Initializing speech engine...
[2026-10-20 16:12:16,762.762 INFO    ] 2026-10-20 16:12:16
[2026-10-20 16:12:17,034.034 INFO    ] 2026-10-20 16:12:17
[2026-10-20 16:12:17,073.073 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:12:17,296.296 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:12:17,329.329 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:12:17,525.525 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:12:17,537.537 INFO    ] time= 20/10/2026 16:12:17
[2026-10-20 16:12:17,607.607 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:12:17,661.661 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:12:17,813.813 INFO    ] No existing commands found in stream
[2026-10-20 16:12:22,843.843 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:12:22,846.846 INFO    ] Waiting 2.05 seconds before fallback handling...
[2026-10-20 16:12:25,408.408 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:12:25,411.411 INFO    ] Checking for system updates...
[2026-10-20 16:12:25,445.445 INFO    ] 200
[2026-10-20 16:12:25,448.448 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:12:25,500.500 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:12:25,503.503 INFO    ] No update needed
[2026-10-20 16:12:25,505.505 INFO    ] Checking for camera pi updates...
[2026-10-20 16:12:25,538.538 INFO    ] 200
[2026-10-20 16:12:25,541.541 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:12:25,583.583 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:12:25,626.626 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:12:25,629.629 INFO    ] No camera update needed
[2026-10-20 16:12:25,631.631 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:12:25,633.633 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:12:25,639.639 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:12:25,644.644 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:12:27,684.684 INFO    ] ================================================
[2026-10-20 16:12:27,699.699 INFO    ] Launching Daemon at Tue Oct 20 16:12:27 IST 2026
[2026-10-20 16:12:27,710.710 INFO    ] ================================================
[2026-10-20 16:12:28,279.279 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:12:28
[2026-10-20 16:12:28,868.868 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:12:29,123.123 INFO    ] Initializing speech engine...
[2026-10-20 16:12:29,132.132 INFO    ] 2026-10-20 16:12:29
[2026-10-20 16:12:29,422.422 INFO    ] 2026-10-20 16:12:29
[2026-10-20 16:12:29,456.456 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:12:29,652.652 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:12:29,664.664 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:12:29,806.806 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:12:29,830.830 INFO    ] time= 20/10/2026 16:12:29
[2026-10-20 16:12:29,837.837 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:12:29,843.843 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:12:29,975.975 INFO    ] No existing commands found in stream
[2026-10-20 16:12:35,000.000 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:12:35,003.003 INFO    ] Waiting 3.50 seconds before fallback handling...
[2026-10-20 16:12:39,051.051 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:12:39,054.054 INFO    ] Checking for system updates...
[2026-10-20 16:12:39,092.092 INFO    ] 200
[2026-10-20 16:12:39,094.094 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:12:39,146.146 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:12:39,149.149 INFO    ] No update needed
[2026-10-20 16:12:39,151.151 INFO    ] Checking for camera pi updates...
[2026-10-20 16:12:39,188.188 INFO    ] 200
[2026-10-20 16:12:39,190.190 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:12:39,264.264 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:12:39,313.313 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:12:39,316.316 INFO    ] No camera update needed
[2026-10-20 16:12:39,318.318 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:12:39,320.320 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:12:39,325.325 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:12:39,331.331 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:12:41,371.371 INFO    ] ================================================
[2026-10-20 16:12:41,386.386 INFO    ] Launching Daemon at Tue Oct 20 16:12:41 IST 2026
[2026-10-20 16:12:41,397.397 INFO    ] ================================================
[2026-10-20 16:12:41,974.974 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:12:41
[2026-10-20 16:12:42,562.562 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:12:42,831.831 INFO    ] Initializing speech engine...
[2026-10-20 16:12:42,840.840 INFO    ] 2026-10-20 16:12:42
[2026-10-20 16:12:43,085.085 INFO    ] 2026-10-20 16:12:43
[2026-10-20 16:12:43,127.127 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:12:43,375.375 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:12:43,379.379 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:12:43,604.604 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:12:43,636.636 INFO    ] time= 20/10/2026 16:12:43
[2026-10-20 16:12:43,642.642 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:12:43,659.659 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:12:43,791.791 INFO    ] No existing commands found in stream
[2026-10-20 16:12:48,811.811 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:12:48,813.813 INFO    ] Waiting 1.69 seconds before fallback handling...
[2026-10-20 16:12:51,106.106 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:12:51,109.109 INFO    ] Checking for system updates...
[2026-10-20 16:12:51,144.144 INFO    ] 200
[2026-10-20 16:12:51,146.146 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:12:51,202.202 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:12:51,204.204 INFO    ] No update needed
[2026-10-20 16:12:51,206.206 INFO    ] Checking for camera pi updates...
[2026-10-20 16:12:51,240.240 INFO    ] 200
[2026-10-20 16:12:51,242.242 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:12:51,286.286 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:12:51,430.430 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:12:51,432.432 INFO    ] No camera update needed
[2026-10-20 16:12:51,435.435 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:12:51,437.437 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:12:51,442.442 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:12:51,447.447 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:12:53,489.489 INFO    ] ================================================
[2026-10-20 16:12:53,504.504 INFO    ] Launching Daemon at Tue Oct 20 16:12:53 IST 2026
[2026-10-20 16:12:53,516.516 INFO    ] ================================================
[2026-10-20 16:12:54,093.093 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:12:54
[2026-10-20 16:12:54,684.684 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:12:54,951.951 INFO    ] Initializing speech engine...
[2026-10-20 16:12:54,961.961 INFO    ] 2026-10-20 16:12:54
[2026-10-20 16:12:55,251.251 INFO    ] 2026-10-20 16:12:55
[2026-10-20 16:12:55,296.296 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:12:55,580.580 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:12:55,589.589 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:12:55,785.785 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:12:55,793.793 INFO    ] time= 20/10/2026 16:12:55
[2026-10-20 16:12:55,815.815 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:12:55,842.842 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:12:55,979.979 INFO    ] No existing commands found in stream
[2026-10-20 16:13:01,010.010 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:13:01,013.013 INFO    ] Waiting 1.36 seconds before fallback handling...
[2026-10-20 16:13:03,029.029 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:13:03,033.033 INFO    ] Checking for system updates...
[2026-10-20 16:13:03,076.076 INFO    ] 200
[2026-10-20 16:13:03,080.080 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:13:03,143.143 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:13:03,145.145 INFO    ] No update needed
[2026-10-20 16:13:03,148.148 INFO    ] Checking for camera pi updates...
[2026-10-20 16:13:03,181.181 INFO    ] 200
[2026-10-20 16:13:03,184.184 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:13:03,242.242 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:13:03,303.303 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:13:03,306.306 INFO    ] No camera update needed
[2026-10-20 16:13:03,309.309 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:13:03,312.312 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:13:03,319.319 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:13:03,326.326 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:13:05,367.367 INFO    ] ================================================
[2026-10-20 16:13:05,382.382 INFO    ] Launching Daemon at Tue Oct 20 16:13:05 IST 2026
[2026-10-20 16:13:05,392.392 INFO    ] ================================================
[2026-10-20 16:13:05,984.984 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:13:05
[2026-10-20 16:13:06,582.582 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:13:06,834.834 INFO    ] Initializing speech engine...
[2026-10-20 16:13:06,851.851 INFO    ] 2026-10-20 16:13:06
[2026-10-20 16:13:07,136.136 INFO    ] 2026-10-20 16:13:07
[2026-10-20 16:13:07,171.171 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:13:07,402.402 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:13:07,415.415 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:13:07,634.634 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:13:07,641.641 INFO    ] time= 20/10/2026 16:13:07
[2026-10-20 16:13:07,706.706 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:13:07,755.755 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:13:07,916.916 INFO    ] No existing commands found in stream
[2026-10-20 16:13:12,944.944 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:13:12,947.947 INFO    ] Waiting 0.24 seconds before fallback handling...
[2026-10-20 16:13:13,738.738 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:13:13,741.741 INFO    ] Checking for system updates...
[2026-10-20 16:13:13,776.776 INFO    ] 200
[2026-10-20 16:13:13,779.779 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:13:13,839.839 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:13:13,841.841 INFO    ] No update needed
[2026-10-20 16:13:13,844.844 INFO    ] Checking for camera pi updates...
[2026-10-20 16:13:13,877.877 INFO    ] 200
[2026-10-20 16:13:13,880.880 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:13:13,920.920 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:13:13,973.973 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:13:13,975.975 INFO    ] No camera update needed
[2026-10-20 16:13:13,978.978 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:13:13,980.980 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:13:13,985.985 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:13:13,990.990 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:13:16,031.031 INFO    ] ================================================
[2026-10-20 16:13:16,046.046 INFO    ] Launching Daemon at Tue Oct 20 16:13:16 IST 2026
[2026-10-20 16:13:16,057.057 INFO    ] ================================================
[2026-10-20 16:13:16,623.623 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:13:16
[2026-10-20 16:13:17,221.221 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:13:17,496.496 INFO    ] Initializing speech engine...
[2026-10-20 16:13:17,502.502 INFO    ] 2026-10-20 16:13:17
[2026-10-20 16:13:17,749.749 INFO    ] 2026-10-20 16:13:17
[2026-10-20 16:13:17,785.785 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:13:18,041.041 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:13:18,051.051 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:13:18,189.189 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:13:18,254.254 INFO    ] time= 20/10/2026 16:13:18
[2026-10-20 16:13:18,309.309 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:13:18,317.317 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:13:18,465.465 INFO    ] No existing commands found in stream
[2026-10-20 16:13:23,484.484 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:13:23,492.492 INFO    ] Waiting 3.90 seconds before fallback handling...
[2026-10-20 16:13:27,939.939 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:13:27,942.942 INFO    ] Checking for system updates...
[2026-10-20 16:13:27,977.977 INFO    ] 200
[2026-10-20 16:13:27,980.980 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:13:28,032.032 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:13:28,035.035 INFO    ] No update needed
[2026-10-20 16:13:28,038.038 INFO    ] Checking for camera pi updates...
[2026-10-20 16:13:28,072.072 INFO    ] 200
[2026-10-20 16:13:28,075.075 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:13:28,115.115 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:13:28,162.162 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:13:28,164.164 INFO    ] No camera update needed
[2026-10-20 16:13:28,167.167 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:13:28,169.169 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:13:28,175.175 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:13:28,180.180 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:13:30,223.223 INFO    ] ================================================
[2026-10-20 16:13:30,238.238 INFO    ] Launching Daemon at Tue Oct 20 16:13:30 IST 2026
[2026-10-20 16:13:30,249.249 INFO    ] ================================================
[2026-10-20 16:13:30,820.820 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:13:30
[2026-10-20 16:13:31,405.405 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:13:31,709.709 INFO    ] Initializing speech engine...
[2026-10-20 16:13:31,719.719 INFO    ] 2026-10-20 16:13:31
[2026-10-20 16:13:31,981.981 INFO    ] 2026-10-20 16:13:31
[2026-10-20 16:13:32,018.018 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:13:32,304.304 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:13:32,315.315 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:13:32,469.469 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:13:32,540.540 INFO    ] time= 20/10/2026 16:13:32
[2026-10-20 16:13:32,598.598 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:13:32,619.619 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:13:32,693.693 INFO    ] No existing commands found in stream
[2026-10-20 16:13:37,701.701 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:13:37,704.704 INFO    ] Waiting 0.27 seconds before fallback handling...
[2026-10-20 16:13:38,492.492 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:13:38,494.494 INFO    ] Checking for system updates...
[2026-10-20 16:13:38,529.529 INFO    ] 200
[2026-10-20 16:13:38,532.532 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:13:38,590.590 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:13:38,592.592 INFO    ] No update needed
[2026-10-20 16:13:38,595.595 INFO    ] Checking for camera pi updates...
[2026-10-20 16:13:38,627.627 INFO    ] 200
[2026-10-20 16:13:38,630.630 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:13:38,670.670 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:13:38,715.715 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:13:38,717.717 INFO    ] No camera update needed
[2026-10-20 16:13:38,719.719 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:13:38,722.722 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:13:38,727.727 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:13:38,732.732 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:13:40,771.771 INFO    ] ================================================
[2026-10-20 16:13:40,786.786 INFO    ] Launching Daemon at Tue Oct 20 16:13:40 IST 2026
[2026-10-20 16:13:40,797.797 INFO    ] ================================================
[2026-10-20 16:13:41,455.455 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:13:41
[2026-10-20 16:13:42,121.121 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:13:42,392.392 INFO    ] Initializing speech engine...
[2026-10-20 16:13:42,401.401 INFO    ] 2026-10-20 16:13:42
[2026-10-20 16:13:42,648.648 INFO    ] 2026-10-20 16:13:42
[2026-10-20 16:13:42,689.689 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:13:42,937.937 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:13:42,942.942 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:13:43,158.158 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:13:43,198.198 INFO    ] time= 20/10/2026 16:13:43
[2026-10-20 16:13:43,204.204 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:13:43,225.225 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:13:43,343.343 INFO    ] No existing commands found in stream
[2026-10-20 16:13:48,362.362 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:13:48,365.365 INFO    ] Waiting 2.09 seconds before fallback handling...
[2026-10-20 16:13:50,993.993 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 16:13:50,995.995 INFO    ] Checking for system updates...
[2026-10-20 16:13:51,034.034 INFO    ] 200
[2026-10-20 16:13:51,037.037 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:13:51,088.088 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:13:51,091.091 INFO    ] No update needed
[2026-10-20 16:13:51,093.093 INFO    ] Checking for camera pi updates...
[2026-10-20 16:13:51,127.127 INFO    ] 200
[2026-10-20 16:13:51,129.129 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:13:51,169.169 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:13:51,214.214 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:13:51,217.217 INFO    ] No camera update needed
[2026-10-20 16:13:51,219.219 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:13:51,222.222 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:13:51,227.227 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:13:51,232.232 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:13:53,271.271 INFO    ] ================================================
[2026-10-20 16:13:53,286.286 INFO    ] Launching Daemon at Tue Oct 20 16:13:53 IST 2026
[2026-10-20 16:13:53,297.297 INFO    ] ================================================
[2026-10-20 16:13:53,874.874 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:13:53
[2026-10-20 16:13:54,462.462 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:13:54,717.717 INFO    ] Initializing speech engine...
[2026-10-20 16:13:54,730.730 INFO    ] 2026-10-20 16:13:54
[2026-10-20 16:13:54,996.996 INFO    ] 2026-10-20 16:13:54
[2026-10-20 16:13:55,032.032 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:13:55,290.290 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:13:55,300.300 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:13:55,481.481 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:13:55,547.547 INFO    ] time= 20/10/2026 16:13:55
[2026-10-20 16:13:55,579.579 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:13:55,596.596 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:13:55,740.740 INFO    ] No existing commands found in stream
[2026-10-20 16:14:00,760.760 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:14:00,763.763 INFO    ] Waiting 3.67 seconds before fallback handling...
[2026-10-20 16:14:04,965.965 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:14:04,967.967 INFO    ] Checking for system updates...
[2026-10-20 16:14:05,002.002 INFO    ] 200
[2026-10-20 16:14:05,005.005 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:14:05,060.060 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:14:05,063.063 INFO    ] No update needed
[2026-10-20 16:14:05,065.065 INFO    ] Checking for camera pi updates...
[2026-10-20 16:14:05,098.098 INFO    ] 200
[2026-10-20 16:14:05,100.100 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:14:05,140.140 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:14:05,193.193 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:14:05,195.195 INFO    ] No camera update needed
[2026-10-20 16:14:05,197.197 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:14:05,200.200 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:14:05,205.205 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:14:05,210.210 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:14:07,250.250 INFO    ] ================================================
[2026-10-20 16:14:07,265.265 INFO    ] Launching Daemon at Tue Oct 20 16:14:07 IST 2026
[2026-10-20 16:14:07,279.279 INFO    ] ================================================
[2026-10-20 16:14:07,934.934 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:14:07
[2026-10-20 16:14:08,603.603 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:14:08,908.908 INFO    ] Initializing speech engine...
[2026-10-20 16:14:08,914.914 INFO    ] 2026-10-20 16:14:08
[2026-10-20 16:14:09,205.205 INFO    ] 2026-10-20 16:14:09
[2026-10-20 16:14:09,252.252 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:14:09,539.539 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:14:09,545.545 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:14:09,740.740 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:14:09,762.762 INFO    ] time= 20/10/2026 16:14:09
[2026-10-20 16:14:09,775.775 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:14:09,798.798 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:14:09,932.932 INFO    ] No existing commands found in stream
[2026-10-20 16:14:14,963.963 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:14:14,967.967 INFO    ] Waiting 1.44 seconds before fallback handling...
[2026-10-20 16:14:16,918.918 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:14:16,921.921 INFO    ] Checking for system updates...
[2026-10-20 16:14:16,961.961 INFO    ] 200
[2026-10-20 16:14:16,964.964 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:14:17,022.022 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:14:17,025.025 INFO    ] No update needed
[2026-10-20 16:14:17,027.027 INFO    ] Checking for camera pi updates...
[2026-10-20 16:14:17,061.061 INFO    ] 200
[2026-10-20 16:14:17,064.064 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:14:17,108.108 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:14:17,159.159 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:14:17,162.162 INFO    ] No camera update needed
[2026-10-20 16:14:17,164.164 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:14:17,167.167 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:14:17,173.173 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:14:17,179.179 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:14:19,218.218 INFO    ] ================================================
[2026-10-20 16:14:19,233.233 INFO    ] Launching Daemon at Tue Oct 20 16:14:19 IST 2026
[2026-10-20 16:14:19,245.245 INFO    ] ================================================
[2026-10-20 16:14:19,824.824 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:14:19
[2026-10-20 16:14:20,407.407 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:14:20,662.662 INFO    ] Initializing speech engine...
[2026-10-20 16:14:20,674.674 INFO    ] 2026-10-20 16:14:20
[2026-10-20 16:14:20,940.940 INFO    ] 2026-10-20 16:14:20
[2026-10-20 16:14:20,976.976 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:14:21,233.233 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:14:21,243.243 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:14:21,380.380 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:14:21,440.440 INFO    ] time= 20/10/2026 16:14:21
[2026-10-20 16:14:21,504.504 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:14:21,517.517 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:14:21,666.666 INFO    ] No existing commands found in stream
[2026-10-20 16:14:26,678.678 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:14:26,681.681 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-10-20 16:14:29,522.522 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:14:29,525.525 INFO    ] Checking for system updates...
[2026-10-20 16:14:29,560.560 INFO    ] 200
[2026-10-20 16:14:29,562.562 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:14:29,614.614 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:14:29,617.617 INFO    ] No update needed
[2026-10-20 16:14:29,619.619 INFO    ] Checking for camera pi updates...
[2026-10-20 16:14:29,652.652 INFO    ] 200
[2026-10-20 16:14:29,656.656 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:14:29,711.711 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:14:29,765.765 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:14:29,768.768 INFO    ] No camera update needed
[2026-10-20 16:14:29,770.770 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:14:29,773.773 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:14:29,778.778 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:14:29,783.783 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:14:31,824.824 INFO    ] ================================================
[2026-10-20 16:14:31,840.840 INFO    ] Launching Daemon at Tue Oct 20 16:14:31 IST 2026
[2026-10-20 16:14:31,877.877 INFO    ] ================================================
[2026-10-20 16:14:32,491.491 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:14:32
[2026-10-20 16:14:33,112.112 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:14:33,367.367 INFO    ] Initializing speech engine...
[2026-10-20 16:14:33,380.380 INFO    ] 2026-10-20 16:14:33
[2026-10-20 16:14:33,644.644 INFO    ] 2026-10-20 16:14:33
[2026-10-20 16:14:33,680.680 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:14:33,937.937 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:14:33,946.946 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:14:34,149.149 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:14:34,204.204 INFO    ] time= 20/10/2026 16:14:34
[2026-10-20 16:14:34,206.206 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:14:34,215.215 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:14:34,365.365 INFO    ] No existing commands found in stream
[2026-10-20 16:14:39,380.380 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:14:39,383.383 INFO    ] Waiting 0.75 seconds before fallback handling...
[2026-10-20 16:14:40,693.693 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:14:40,696.696 INFO    ] Checking for system updates...
[2026-10-20 16:14:40,731.731 INFO    ] 200
[2026-10-20 16:14:40,734.734 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:14:40,785.785 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:14:40,787.787 INFO    ] No update needed
[2026-10-20 16:14:40,790.790 INFO    ] Checking for camera pi updates...
[2026-10-20 16:14:40,824.824 INFO    ] 200
[2026-10-20 16:14:40,826.826 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:14:40,869.869 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:14:40,915.915 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:14:40,918.918 INFO    ] No camera update needed
[2026-10-20 16:14:40,920.920 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:14:40,922.922 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:14:40,928.928 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:14:40,933.933 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:14:42,975.975 INFO    ] ================================================
[2026-10-20 16:14:42,991.991 INFO    ] Launching Daemon at Tue Oct 20 16:14:42 IST 2026
[2026-10-20 16:14:43,002.002 INFO    ] ================================================
[2026-10-20 16:14:43,593.593 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:14:43
[2026-10-20 16:14:44,242.242 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:14:44,542.542 INFO    ] Initializing speech engine...
[2026-10-20 16:14:44,548.548 INFO    ] 2026-10-20 16:14:44
[2026-10-20 16:14:44,817.817 INFO    ] 2026-10-20 16:14:44
[2026-10-20 16:14:44,848.848 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:14:45,102.102 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:14:45,111.111 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:14:45,345.345 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:14:45,375.375 INFO    ] time= 20/10/2026 16:14:45
[2026-10-20 16:14:45,389.389 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:14:45,398.398 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:14:45,511.511 INFO    ] No existing commands found in stream
[2026-10-20 16:14:50,535.535 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:14:50,538.538 INFO    ] Waiting 3.40 seconds before fallback handling...
[2026-10-20 16:14:54,431.431 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:14:54,434.434 INFO    ] Checking for system updates...
[2026-10-20 16:14:54,472.472 INFO    ] 200
[2026-10-20 16:14:54,475.475 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:14:54,526.526 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:14:54,528.528 INFO    ] No update needed
[2026-10-20 16:14:54,531.531 INFO    ] Checking for camera pi updates...
[2026-10-20 16:14:54,564.564 INFO    ] 200
[2026-10-20 16:14:54,567.567 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:14:54,606.606 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:14:54,749.749 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:14:54,751.751 INFO    ] No camera update needed
[2026-10-20 16:14:54,754.754 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:14:54,756.756 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:14:54,761.761 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:14:54,766.766 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:14:56,811.811 INFO    ] ================================================
[2026-10-20 16:14:56,827.827 INFO    ] Launching Daemon at Tue Oct 20 16:14:56 IST 2026
[2026-10-20 16:14:56,837.837 INFO    ] ================================================
[2026-10-20 16:14:57,475.475 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:14:57
[2026-10-20 16:14:58,131.131 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:14:58,430.430 INFO    ] Initializing speech engine...
[2026-10-20 16:14:58,438.438 INFO    ] 2026-10-20 16:14:58
[2026-10-20 16:14:58,720.720 INFO    ] 2026-10-20 16:14:58
[2026-10-20 16:14:58,766.766 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:14:59,047.047 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:14:59,055.055 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:14:59,254.254 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:14:59,270.270 INFO    ] time= 20/10/2026 16:14:59
[2026-10-20 16:14:59,279.279 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:14:59,306.306 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:14:59,427.427 INFO    ] No existing commands found in stream
[2026-10-20 16:15:04,459.459 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:15:04,462.462 INFO    ] Waiting 0.59 seconds before fallback handling...
[2026-10-20 16:15:05,578.578 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:15:05,581.581 INFO    ] Checking for system updates...
[2026-10-20 16:15:05,618.618 INFO    ] 200
[2026-10-20 16:15:05,621.621 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:15:05,680.680 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:15:05,683.683 INFO    ] No update needed
[2026-10-20 16:15:05,686.686 INFO    ] Checking for camera pi updates...
[2026-10-20 16:15:05,720.720 INFO    ] 200
[2026-10-20 16:15:05,722.722 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:15:05,767.767 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:15:05,799.799 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:15:05,801.801 INFO    ] No camera update needed
[2026-10-20 16:15:05,804.804 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:15:05,807.807 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:15:05,813.813 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:15:05,819.819 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:15:07,862.862 INFO    ] ================================================
[2026-10-20 16:15:07,878.878 INFO    ] Launching Daemon at Tue Oct 20 16:15:07 IST 2026
[2026-10-20 16:15:07,891.891 INFO    ] ================================================
[2026-10-20 16:15:08,461.461 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:15:08
[2026-10-20 16:15:09,049.049 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:15:09,318.318 INFO    ] Initializing speech engine...
[2026-10-20 16:15:09,328.328 INFO    ] 2026-10-20 16:15:09
[2026-10-20 16:15:09,573.573 INFO    ] 2026-10-20 16:15:09
[2026-10-20 16:15:09,608.608 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:15:09,859.859 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:15:09,868.868 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:15:10,009.009 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:15:10,069.069 INFO    ] time= 20/10/2026 16:15:10
[2026-10-20 16:15:10,130.130 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:15:10,137.137 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:15:10,284.284 INFO    ] No existing commands found in stream
[2026-10-20 16:15:15,302.302 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:15:15,305.305 INFO    ] Waiting 3.52 seconds before fallback handling...
[2026-10-20 16:15:19,330.330 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:15:19,333.333 INFO    ] Checking for system updates...
[2026-10-20 16:15:19,372.372 INFO    ] 200
[2026-10-20 16:15:19,374.374 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:15:19,426.426 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:15:19,428.428 INFO    ] No update needed
[2026-10-20 16:15:19,431.431 INFO    ] Checking for camera pi updates...
[2026-10-20 16:15:19,472.472 INFO    ] 200
[2026-10-20 16:15:19,474.474 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:15:19,521.521 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:15:19,573.573 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:15:19,576.576 INFO    ] No camera update needed
[2026-10-20 16:15:19,579.579 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:15:19,582.582 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:15:19,588.588 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:15:19,593.593 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:15:21,636.636 INFO    ] ================================================
[2026-10-20 16:15:21,651.651 INFO    ] Launching Daemon at Tue Oct 20 16:15:21 IST 2026
[2026-10-20 16:15:21,661.661 INFO    ] ================================================
[2026-10-20 16:15:22,230.230 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:15:22
[2026-10-20 16:15:22,814.814 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:15:23,086.086 INFO    ] Initializing speech engine...
[2026-10-20 16:15:23,092.092 INFO    ] 2026-10-20 16:15:23
[2026-10-20 16:15:23,339.339 INFO    ] 2026-10-20 16:15:23
[2026-10-20 16:15:23,374.374 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:15:23,630.630 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:15:23,634.634 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:15:23,769.769 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:15:23,834.834 INFO    ] time= 20/10/2026 16:15:23
[2026-10-20 16:15:23,888.888 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:15:23,904.904 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:15:24,055.055 INFO    ] No existing commands found in stream
[2026-10-20 16:15:29,079.079 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:15:29,082.082 INFO    ] Waiting 1.32 seconds before fallback handling...
[2026-10-20 16:15:30,903.903 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:15:30,906.906 INFO    ] Checking for system updates...
[2026-10-20 16:15:30,946.946 INFO    ] 200
[2026-10-20 16:15:30,949.949 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:15:31,002.002 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:15:31,005.005 INFO    ] No update needed
[2026-10-20 16:15:31,007.007 INFO    ] Checking for camera pi updates...
[2026-10-20 16:15:31,044.044 INFO    ] 200
[2026-10-20 16:15:31,047.047 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:15:31,088.088 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:15:31,143.143 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:15:31,147.147 INFO    ] No camera update needed
[2026-10-20 16:15:31,150.150 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:15:31,154.154 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:15:31,163.163 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:15:31,170.170 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:15:33,213.213 INFO    ] ================================================
[2026-10-20 16:15:33,228.228 INFO    ] Launching Daemon at Tue Oct 20 16:15:33 IST 2026
[2026-10-20 16:15:33,239.239 INFO    ] ================================================
[2026-10-20 16:15:33,809.809 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:15:33
[2026-10-20 16:15:34,399.399 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:15:34,656.656 INFO    ] Initializing speech engine...
[2026-10-20 16:15:34,672.672 INFO    ] 2026-10-20 16:15:34
[2026-10-20 16:15:34,954.954 INFO    ] 2026-10-20 16:15:34
[2026-10-20 16:15:34,992.992 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:15:35,163.163 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:15:35,166.166 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:15:35,331.331 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:15:35,338.338 INFO    ] time= 20/10/2026 16:15:35
[2026-10-20 16:15:35,384.384 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:15:35,407.407 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:15:35,531.531 INFO    ] No existing commands found in stream
[2026-10-20 16:15:40,542.542 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:15:40,544.544 INFO    ] Waiting 1.72 seconds before fallback handling...
[2026-10-20 16:15:42,803.803 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:15:42,805.805 INFO    ] Checking for system updates...
[2026-10-20 16:15:42,843.843 INFO    ] 200
[2026-10-20 16:15:42,845.845 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:15:42,902.902 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:15:42,904.904 INFO    ] No update needed
[2026-10-20 16:15:42,906.906 INFO    ] Checking for camera pi updates...
[2026-10-20 16:15:42,946.946 INFO    ] 200
[2026-10-20 16:15:42,949.949 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:15:42,996.996 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:15:43,041.041 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:15:43,044.044 INFO    ] No camera update needed
[2026-10-20 16:15:43,048.048 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:15:43,051.051 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:15:43,058.058 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:15:43,064.064 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:15:45,107.107 INFO    ] ================================================
[2026-10-20 16:15:45,121.121 INFO    ] Launching Daemon at Tue Oct 20 16:15:45 IST 2026
[2026-10-20 16:15:45,132.132 INFO    ] ================================================
[2026-10-20 16:15:45,705.705 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:15:45
[2026-10-20 16:15:46,292.292 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:15:46,545.545 INFO    ] Initializing speech engine...
[2026-10-20 16:15:46,552.552 INFO    ] 2026-10-20 16:15:46
[2026-10-20 16:15:46,843.843 INFO    ] 2026-10-20 16:15:46
[2026-10-20 16:15:46,882.882 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:15:47,084.084 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:15:47,102.102 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:15:47,251.251 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:15:47,256.256 INFO    ] time= 20/10/2026 16:15:47
[2026-10-20 16:15:47,262.262 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:15:47,289.289 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:15:47,424.424 INFO    ] No existing commands found in stream
[2026-10-20 16:15:52,454.454 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:15:52,457.457 INFO    ] Waiting 0.94 seconds before fallback handling...
[2026-10-20 16:15:53,926.926 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:15:53,928.928 INFO    ] Checking for system updates...
[2026-10-20 16:15:53,967.967 INFO    ] 200
[2026-10-20 16:15:53,969.969 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:15:54,027.027 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:15:54,030.030 INFO    ] No update needed
[2026-10-20 16:15:54,033.033 INFO    ] Checking for camera pi updates...
[2026-10-20 16:15:54,068.068 INFO    ] 200
[2026-10-20 16:15:54,071.071 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:15:54,124.124 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:15:54,168.168 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:15:54,171.171 INFO    ] No camera update needed
[2026-10-20 16:15:54,173.173 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:15:54,176.176 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:15:54,181.181 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:15:54,186.186 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:15:56,225.225 INFO    ] ================================================
[2026-10-20 16:15:56,240.240 INFO    ] Launching Daemon at Tue Oct 20 16:15:56 IST 2026
[2026-10-20 16:15:56,251.251 INFO    ] ================================================
[2026-10-20 16:15:56,818.818 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:15:56
[2026-10-20 16:15:57,400.400 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:15:57,665.665 INFO    ] Initializing speech engine...
[2026-10-20 16:15:57,672.672 INFO    ] 2026-10-20 16:15:57
[2026-10-20 16:15:57,917.917 INFO    ] 2026-10-20 16:15:57
[2026-10-20 16:15:57,952.952 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:15:58,194.194 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:15:58,211.211 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:15:58,421.421 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:15:58,469.469 INFO    ] time= 20/10/2026 16:15:58
[2026-10-20 16:15:58,475.475 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:15:58,493.493 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:15:58,603.603 INFO    ] No existing commands found in stream
[2026-10-20 16:16:03,631.631 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:16:03,634.634 INFO    ] Waiting 0.01 seconds before fallback handling...
[2026-10-20 16:16:04,200.200 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:16:04,202.202 INFO    ] Checking for system updates...
[2026-10-20 16:16:04,238.238 INFO    ] 200
[2026-10-20 16:16:04,241.241 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:16:04,299.299 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:16:04,301.301 INFO    ] No update needed
[2026-10-20 16:16:04,304.304 INFO    ] Checking for camera pi updates...
[2026-10-20 16:16:04,340.340 INFO    ] 200
[2026-10-20 16:16:04,342.342 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:16:04,383.383 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:16:04,434.434 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:16:04,436.436 INFO    ] No camera update needed
[2026-10-20 16:16:04,438.438 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:16:04,441.441 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:16:04,446.446 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:16:04,451.451 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:16:06,493.493 INFO    ] ================================================
[2026-10-20 16:16:06,509.509 INFO    ] Launching Daemon at Tue Oct 20 16:16:06 IST 2026
[2026-10-20 16:16:06,520.520 INFO    ] ================================================
[2026-10-20 16:16:07,144.144 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:16:07
[2026-10-20 16:16:07,730.730 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:16:07,983.983 INFO    ] Initializing speech engine...
[2026-10-20 16:16:07,992.992 INFO    ] 2026-10-20 16:16:07
[2026-10-20 16:16:08,287.287 INFO    ] 2026-10-20 16:16:08
[2026-10-20 16:16:08,322.322 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:16:08,519.519 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:16:08,526.526 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:16:08,696.696 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:16:08,703.703 INFO    ] time= 20/10/2026 16:16:08
[2026-10-20 16:16:08,710.710 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:16:08,715.715 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:16:08,868.868 INFO    ] No existing commands found in stream
[2026-10-20 16:16:13,893.893 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:16:13,896.896 INFO    ] Waiting 2.44 seconds before fallback handling...
[2026-10-20 16:16:16,804.804 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:16:16,807.807 INFO    ] Checking for system updates...
[2026-10-20 16:16:16,842.842 INFO    ] 200
[2026-10-20 16:16:16,844.844 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:16:16,902.902 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:16:16,904.904 INFO    ] No update needed
[2026-10-20 16:16:16,907.907 INFO    ] Checking for camera pi updates...
[2026-10-20 16:16:16,940.940 INFO    ] 200
[2026-10-20 16:16:16,942.942 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:16:16,983.983 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:16:17,012.012 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:16:17,014.014 INFO    ] No camera update needed
[2026-10-20 16:16:17,016.016 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:16:17,019.019 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:16:17,024.024 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:16:17,029.029 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:16:19,070.070 INFO    ] ================================================
[2026-10-20 16:16:19,085.085 INFO    ] Launching Daemon at Tue Oct 20 16:16:19 IST 2026
[2026-10-20 16:16:19,097.097 INFO    ] ================================================
[2026-10-20 16:16:19,734.734 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:16:19
[2026-10-20 16:16:20,396.396 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:16:20,694.694 INFO    ] Initializing speech engine...
[2026-10-20 16:16:20,701.701 INFO    ] 2026-10-20 16:16:20
[2026-10-20 16:16:20,974.974 INFO    ] 2026-10-20 16:16:20
[2026-10-20 16:16:21,032.032 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:16:21,320.320 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:16:21,326.326 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:16:21,509.509 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:16:21,527.527 INFO    ] time= 20/10/2026 16:16:21
[2026-10-20 16:16:21,543.543 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:16:21,553.553 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:16:21,668.668 INFO    ] No existing commands found in stream
[2026-10-20 16:16:26,694.694 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:16:26,697.697 INFO    ] Waiting 0.24 seconds before fallback handling...
[2026-10-20 16:16:27,478.478 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 16:16:27,481.481 INFO    ] Checking for system updates...
[2026-10-20 16:16:27,517.517 INFO    ] 200
[2026-10-20 16:16:27,520.520 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:16:27,574.574 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:16:27,576.576 INFO    ] No update needed
[2026-10-20 16:16:27,579.579 INFO    ] Checking for camera pi updates...
[2026-10-20 16:16:27,613.613 INFO    ] 200
[2026-10-20 16:16:27,616.616 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:16:27,657.657 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:16:27,715.715 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:16:27,718.718 INFO    ] No camera update needed
[2026-10-20 16:16:27,721.721 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:16:27,723.723 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:16:27,729.729 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:16:27,735.735 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:16:29,776.776 INFO    ] ================================================
[2026-10-20 16:16:29,791.791 INFO    ] Launching Daemon at Tue Oct 20 16:16:29 IST 2026
[2026-10-20 16:16:29,801.801 INFO    ] ================================================
[2026-10-20 16:16:30,447.447 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:16:30
[2026-10-20 16:16:31,044.044 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:16:31,313.313 INFO    ] Initializing speech engine...
[2026-10-20 16:16:31,323.323 INFO    ] 2026-10-20 16:16:31
[2026-10-20 16:16:31,569.569 INFO    ] 2026-10-20 16:16:31
[2026-10-20 16:16:31,605.605 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:16:31,804.804 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:16:31,834.834 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:16:32,019.019 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:16:32,069.069 INFO    ] time= 20/10/2026 16:16:32
[2026-10-20 16:16:32,131.131 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:16:32,158.158 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:16:32,290.290 INFO    ] No existing commands found in stream
[2026-10-20 16:16:37,321.321 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:16:37,324.324 INFO    ] Waiting 3.69 seconds before fallback handling...
[2026-10-20 16:16:41,533.533 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:16:41,537.537 INFO    ] Checking for system updates...
[2026-10-20 16:16:41,586.586 INFO    ] 200
[2026-10-20 16:16:41,589.589 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:16:41,644.644 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:16:41,646.646 INFO    ] No update needed
[2026-10-20 16:16:41,649.649 INFO    ] Checking for camera pi updates...
[2026-10-20 16:16:41,689.689 INFO    ] 200
[2026-10-20 16:16:41,691.691 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:16:41,739.739 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:16:41,784.784 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:16:41,786.786 INFO    ] No camera update needed
[2026-10-20 16:16:41,788.788 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:16:41,791.791 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:16:41,796.796 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:16:41,801.801 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:16:43,844.844 INFO    ] ================================================
[2026-10-20 16:16:43,859.859 INFO    ] Launching Daemon at Tue Oct 20 16:16:43 IST 2026
[2026-10-20 16:16:43,870.870 INFO    ] ================================================
[2026-10-20 16:16:44,506.506 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:16:44
[2026-10-20 16:16:45,160.160 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:16:45,464.464 INFO    ] Initializing speech engine...
[2026-10-20 16:16:45,475.475 INFO    ] 2026-10-20 16:16:45
[2026-10-20 16:16:45,781.781 INFO    ] 2026-10-20 16:16:45
[2026-10-20 16:16:45,866.866 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:16:46,080.080 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:16:46,089.089 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:16:46,279.279 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:16:46,286.286 INFO    ] time= 20/10/2026 16:16:46
[2026-10-20 16:16:46,307.307 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:16:46,336.336 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:16:46,450.450 INFO    ] No existing commands found in stream
[2026-10-20 16:16:51,475.475 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:16:51,478.478 INFO    ] Waiting 3.63 seconds before fallback handling...
[2026-10-20 16:16:55,619.619 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:16:55,622.622 INFO    ] Checking for system updates...
[2026-10-20 16:16:55,662.662 INFO    ] 200
[2026-10-20 16:16:55,665.665 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:16:55,718.718 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:16:55,721.721 INFO    ] No update needed
[2026-10-20 16:16:55,724.724 INFO    ] Checking for camera pi updates...
[2026-10-20 16:16:55,763.763 INFO    ] 200
[2026-10-20 16:16:55,766.766 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:16:55,811.811 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:16:55,862.862 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:16:55,864.864 INFO    ] No camera update needed
[2026-10-20 16:16:55,867.867 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:16:55,869.869 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:16:55,875.875 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:16:55,880.880 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:16:57,922.922 INFO    ] ================================================
[2026-10-20 16:16:57,937.937 INFO    ] Launching Daemon at Tue Oct 20 16:16:57 IST 2026
[2026-10-20 16:16:57,948.948 INFO    ] ================================================
[2026-10-20 16:16:58,556.556 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:16:58
[2026-10-20 16:16:59,173.173 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:16:59,467.467 INFO    ] Initializing speech engine...
[2026-10-20 16:16:59,474.474 INFO    ] 2026-10-20 16:16:59
[2026-10-20 16:16:59,722.722 INFO    ] 2026-10-20 16:16:59
[2026-10-20 16:16:59,757.757 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:17:00,016.016 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:17:00,025.025 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:17:00,250.250 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:17:00,291.291 INFO    ] time= 20/10/2026 16:17:00
[2026-10-20 16:17:00,297.297 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:17:00,318.318 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:17:00,449.449 INFO    ] No existing commands found in stream
[2026-10-20 16:17:05,462.462 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:17:05,465.465 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-10-20 16:17:09,396.396 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:17:09,399.399 INFO    ] Checking for system updates...
[2026-10-20 16:17:09,435.435 INFO    ] 200
[2026-10-20 16:17:09,437.437 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:17:09,489.489 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:17:09,492.492 INFO    ] No update needed
[2026-10-20 16:17:09,494.494 INFO    ] Checking for camera pi updates...
[2026-10-20 16:17:09,528.528 INFO    ] 200
[2026-10-20 16:17:09,530.530 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:17:09,572.572 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:17:09,622.622 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:17:09,624.624 INFO    ] No camera update needed
[2026-10-20 16:17:09,626.626 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:17:09,629.629 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:17:09,634.634 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:17:09,639.639 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:17:11,678.678 INFO    ] ================================================
[2026-10-20 16:17:11,693.693 INFO    ] Launching Daemon at Tue Oct 20 16:17:11 IST 2026
[2026-10-20 16:17:11,704.704 INFO    ] ================================================
[2026-10-20 16:17:12,273.273 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:17:12
[2026-10-20 16:17:12,857.857 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:17:13,129.129 INFO    ] Initializing speech engine...
[2026-10-20 16:17:13,139.139 INFO    ] 2026-10-20 16:17:13
[2026-10-20 16:17:13,388.388 INFO    ] 2026-10-20 16:17:13
[2026-10-20 16:17:13,423.423 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:17:13,682.682 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:17:13,692.692 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:17:13,830.830 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:17:13,884.884 INFO    ] time= 20/10/2026 16:17:13
[2026-10-20 16:17:13,944.944 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:17:13,964.964 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:17:14,107.107 INFO    ] No existing commands found in stream
[2026-10-20 16:17:19,137.137 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:17:19,140.140 INFO    ] Waiting 2.49 seconds before fallback handling...
[2026-10-20 16:17:22,117.117 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:17:22,120.120 INFO    ] Checking for system updates...
[2026-10-20 16:17:22,156.156 INFO    ] 200
[2026-10-20 16:17:22,158.158 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:17:22,221.221 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:17:22,224.224 INFO    ] No update needed
[2026-10-20 16:17:22,226.226 INFO    ] Checking for camera pi updates...
[2026-10-20 16:17:22,261.261 INFO    ] 200
[2026-10-20 16:17:22,263.263 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:17:22,305.305 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:17:22,359.359 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:17:22,362.362 INFO    ] No camera update needed
[2026-10-20 16:17:22,365.365 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:17:22,367.367 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:17:22,374.374 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:17:22,380.380 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:17:24,420.420 INFO    ] ================================================
[2026-10-20 16:17:24,435.435 INFO    ] Launching Daemon at Tue Oct 20 16:17:24 IST 2026
[2026-10-20 16:17:24,446.446 INFO    ] ================================================
[2026-10-20 16:17:25,105.105 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:17:25
[2026-10-20 16:17:25,746.746 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:17:26,005.005 INFO    ] Initializing speech engine...
[2026-10-20 16:17:26,020.020 INFO    ] 2026-10-20 16:17:26
[2026-10-20 16:17:26,275.275 INFO    ] 2026-10-20 16:17:26
[2026-10-20 16:17:26,310.310 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:17:26,517.517 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:17:26,571.571 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:17:26,711.711 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:17:26,753.753 INFO    ] time= 20/10/2026 16:17:26
[2026-10-20 16:17:26,807.807 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:17:26,847.847 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:17:26,982.982 INFO    ] No existing commands found in stream
[2026-10-20 16:17:32,007.007 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:17:32,011.011 INFO    ] Waiting 1.13 seconds before fallback handling...
[2026-10-20 16:17:33,645.645 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:17:33,648.648 INFO    ] Checking for system updates...
[2026-10-20 16:17:33,683.683 INFO    ] 200
[2026-10-20 16:17:33,685.685 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:17:33,739.739 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:17:33,741.741 INFO    ] No update needed
[2026-10-20 16:17:33,744.744 INFO    ] Checking for camera pi updates...
[2026-10-20 16:17:33,782.782 INFO    ] 200
[2026-10-20 16:17:33,784.784 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:17:33,826.826 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:17:33,873.873 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:17:33,875.875 INFO    ] No camera update needed
[2026-10-20 16:17:33,877.877 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:17:33,880.880 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:17:33,885.885 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:17:33,891.891 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:17:35,933.933 INFO    ] ================================================
[2026-10-20 16:17:35,948.948 INFO    ] Launching Daemon at Tue Oct 20 16:17:35 IST 2026
[2026-10-20 16:17:35,959.959 INFO    ] ================================================
[2026-10-20 16:17:36,545.545 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:17:36
[2026-10-20 16:17:37,151.151 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:17:37,414.414 INFO    ] Initializing speech engine...
[2026-10-20 16:17:37,423.423 INFO    ] 2026-10-20 16:17:37
[2026-10-20 16:17:37,721.721 INFO    ] 2026-10-20 16:17:37
[2026-10-20 16:17:37,760.760 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:17:37,958.958 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:17:37,964.964 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:17:38,138.138 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:17:38,146.146 INFO    ] time= 20/10/2026 16:17:38
[2026-10-20 16:17:38,153.153 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:17:38,160.160 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:17:38,316.316 INFO    ] No existing commands found in stream
[2026-10-20 16:17:43,341.341 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:17:43,345.345 INFO    ] Waiting 2.54 seconds before fallback handling...
[2026-10-20 16:17:46,439.439 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:17:46,442.442 INFO    ] Checking for system updates...
[2026-10-20 16:17:46,478.478 INFO    ] 200
[2026-10-20 16:17:46,480.480 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:17:46,535.535 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:17:46,537.537 INFO    ] No update needed
[2026-10-20 16:17:46,541.541 INFO    ] Checking for camera pi updates...
[2026-10-20 16:17:46,578.578 INFO    ] 200
[2026-10-20 16:17:46,581.581 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:17:46,626.626 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:17:46,673.673 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:17:46,676.676 INFO    ] No camera update needed
[2026-10-20 16:17:46,678.678 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:17:46,681.681 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:17:46,686.686 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:17:46,692.692 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:17:48,731.731 INFO    ] ================================================
[2026-10-20 16:17:48,747.747 INFO    ] Launching Daemon at Tue Oct 20 16:17:48 IST 2026
[2026-10-20 16:17:48,758.758 INFO    ] ================================================
[2026-10-20 16:17:49,337.337 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:17:49
[2026-10-20 16:17:49,924.924 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:17:50,212.212 INFO    ] Initializing speech engine...
[2026-10-20 16:17:50,217.217 INFO    ] 2026-10-20 16:17:50
[2026-10-20 16:17:50,484.484 INFO    ] 2026-10-20 16:17:50
[2026-10-20 16:17:50,519.519 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:17:50,710.710 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:17:50,723.723 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:17:50,875.875 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:17:50,881.881 INFO    ] time= 20/10/2026 16:17:50
[2026-10-20 16:17:50,922.922 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:17:50,950.950 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:17:51,083.083 INFO    ] No existing commands found in stream
[2026-10-20 16:17:56,093.093 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:17:56,096.096 INFO    ] Waiting 2.45 seconds before fallback handling...
[2026-10-20 16:17:59,037.037 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:17:59,040.040 INFO    ] Checking for system updates...
[2026-10-20 16:17:59,080.080 INFO    ] 200
[2026-10-20 16:17:59,082.082 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:17:59,141.141 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:17:59,143.143 INFO    ] No update needed
[2026-10-20 16:17:59,146.146 INFO    ] Checking for camera pi updates...
[2026-10-20 16:17:59,182.182 INFO    ] 200
[2026-10-20 16:17:59,185.185 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:17:59,225.225 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:17:59,271.271 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:17:59,274.274 INFO    ] No camera update needed
[2026-10-20 16:17:59,276.276 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:17:59,278.278 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:17:59,284.284 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:17:59,289.289 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:18:01,328.328 INFO    ] ================================================
[2026-10-20 16:18:01,343.343 INFO    ] Launching Daemon at Tue Oct 20 16:18:01 IST 2026
[2026-10-20 16:18:01,354.354 INFO    ] ================================================
[2026-10-20 16:18:02,021.021 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:18:02
[2026-10-20 16:18:02,768.768 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:18:03,062.062 INFO    ] Initializing speech engine...
[2026-10-20 16:18:03,084.084 INFO    ] 2026-10-20 16:18:03
[2026-10-20 16:18:03,390.390 INFO    ] 2026-10-20 16:18:03
[2026-10-20 16:18:03,442.442 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:18:03,723.723 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:18:03,734.734 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:18:03,888.888 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:18:03,931.931 INFO    ] time= 20/10/2026 16:18:03
[2026-10-20 16:18:03,991.991 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:18:04,026.026 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:18:04,132.132 INFO    ] No existing commands found in stream
[2026-10-20 16:18:09,142.142 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:18:09,146.146 INFO    ] Waiting 0.98 seconds before fallback handling...
[2026-10-20 16:18:10,635.635 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:18:10,638.638 INFO    ] Checking for system updates...
[2026-10-20 16:18:10,676.676 INFO    ] 200
[2026-10-20 16:18:10,678.678 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:18:10,753.753 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:18:10,755.755 INFO    ] No update needed
[2026-10-20 16:18:10,757.757 INFO    ] Checking for camera pi updates...
[2026-10-20 16:18:10,791.791 INFO    ] 200
[2026-10-20 16:18:10,793.793 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:18:10,834.834 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:18:10,881.881 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:18:10,883.883 INFO    ] No camera update needed
[2026-10-20 16:18:10,886.886 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:18:10,888.888 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:18:10,894.894 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:18:10,899.899 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:18:12,940.940 INFO    ] ================================================
[2026-10-20 16:18:12,955.955 INFO    ] Launching Daemon at Tue Oct 20 16:18:12 IST 2026
[2026-10-20 16:18:12,966.966 INFO    ] ================================================
[2026-10-20 16:18:13,532.532 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:18:13
[2026-10-20 16:18:14,116.116 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:18:14,372.372 INFO    ] Initializing speech engine...
[2026-10-20 16:18:14,380.380 INFO    ] 2026-10-20 16:18:14
[2026-10-20 16:18:14,675.675 INFO    ] 2026-10-20 16:18:14
[2026-10-20 16:18:14,709.709 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:18:14,937.937 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:18:14,965.965 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:18:15,171.171 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:18:15,178.178 INFO    ] time= 20/10/2026 16:18:15
[2026-10-20 16:18:15,243.243 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:18:15,292.292 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:18:15,471.471 INFO    ] No existing commands found in stream
[2026-10-20 16:18:20,502.502 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:18:20,505.505 INFO    ] Waiting 1.80 seconds before fallback handling...
[2026-10-20 16:18:22,805.805 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 16:18:22,807.807 INFO    ] Checking for system updates...
[2026-10-20 16:18:22,846.846 INFO    ] 200
[2026-10-20 16:18:22,849.849 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:18:22,901.901 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:18:22,903.903 INFO    ] No update needed
[2026-10-20 16:18:22,906.906 INFO    ] Checking for camera pi updates...
[2026-10-20 16:18:22,942.942 INFO    ] 200
[2026-10-20 16:18:22,944.944 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:18:22,988.988 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:18:23,042.042 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:18:23,045.045 INFO    ] No camera update needed
[2026-10-20 16:18:23,047.047 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:18:23,049.049 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:18:23,055.055 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:18:23,060.060 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:18:25,099.099 INFO    ] ================================================
[2026-10-20 16:18:25,115.115 INFO    ] Launching Daemon at Tue Oct 20 16:18:25 IST 2026
[2026-10-20 16:18:25,125.125 INFO    ] ================================================
[2026-10-20 16:18:25,762.762 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:18:25
[2026-10-20 16:18:26,421.421 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:18:26,719.719 INFO    ] Initializing speech engine...
[2026-10-20 16:18:26,726.726 INFO    ] 2026-10-20 16:18:26
[2026-10-20 16:18:26,987.987 INFO    ] 2026-10-20 16:18:26
[2026-10-20 16:18:27,031.031 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:18:27,283.283 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:18:27,294.294 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:18:27,530.530 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:18:27,561.561 INFO    ] time= 20/10/2026 16:18:27
[2026-10-20 16:18:27,581.581 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:18:27,610.610 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:18:27,743.743 INFO    ] No existing commands found in stream
[2026-10-20 16:18:32,779.779 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:18:32,783.783 INFO    ] Waiting 0.11 seconds before fallback handling...
[2026-10-20 16:18:33,386.386 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 16:18:33,389.389 INFO    ] Checking for system updates...
[2026-10-20 16:18:33,425.425 INFO    ] 200
[2026-10-20 16:18:33,428.428 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:18:33,482.482 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:18:33,485.485 INFO    ] No update needed
[2026-10-20 16:18:33,488.488 INFO    ] Checking for camera pi updates...
[2026-10-20 16:18:33,522.522 INFO    ] 200
[2026-10-20 16:18:33,524.524 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:18:33,569.569 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:18:33,610.610 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:18:33,613.613 INFO    ] No camera update needed
[2026-10-20 16:18:33,615.615 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:18:33,618.618 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:18:33,624.624 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:18:33,630.630 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:18:35,670.670 INFO    ] ================================================
[2026-10-20 16:18:35,685.685 INFO    ] Launching Daemon at Tue Oct 20 16:18:35 IST 2026
[2026-10-20 16:18:35,696.696 INFO    ] ================================================
[2026-10-20 16:18:36,267.267 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:18:36
[2026-10-20 16:18:36,850.850 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:18:37,120.120 INFO    ] Initializing speech engine...
[2026-10-20 16:18:37,129.129 INFO    ] 2026-10-20 16:18:37
[2026-10-20 16:18:37,378.378 INFO    ] 2026-10-20 16:18:37
[2026-10-20 16:18:37,413.413 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:18:37,615.615 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:18:37,674.674 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:18:37,886.886 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:18:37,936.936 INFO    ] time= 20/10/2026 16:18:37
[2026-10-20 16:18:37,949.949 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:18:37,967.967 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:18:38,094.094 INFO    ] No existing commands found in stream
[2026-10-20 16:18:43,111.111 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:18:43,113.113 INFO    ] Waiting 2.38 seconds before fallback handling...
[2026-10-20 16:18:46,056.056 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:18:46,059.059 INFO    ] Checking for system updates...
[2026-10-20 16:18:46,098.098 INFO    ] 200
[2026-10-20 16:18:46,101.101 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:18:46,152.152 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:18:46,154.154 INFO    ] No update needed
[2026-10-20 16:18:46,156.156 INFO    ] Checking for camera pi updates...
[2026-10-20 16:18:46,193.193 INFO    ] 200
[2026-10-20 16:18:46,195.195 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:18:46,235.235 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:18:46,284.284 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:18:46,286.286 INFO    ] No camera update needed
[2026-10-20 16:18:46,289.289 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:18:46,291.291 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:18:46,296.296 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:18:46,301.301 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:18:48,341.341 INFO    ] ================================================
[2026-10-20 16:18:48,356.356 INFO    ] Launching Daemon at Tue Oct 20 16:18:48 IST 2026
[2026-10-20 16:18:48,367.367 INFO    ] ================================================
[2026-10-20 16:18:49,005.005 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:18:49
[2026-10-20 16:18:49,663.663 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:18:49,960.960 INFO    ] Initializing speech engine...
[2026-10-20 16:18:49,965.965 INFO    ] 2026-10-20 16:18:49
[2026-10-20 16:18:50,239.239 INFO    ] 2026-10-20 16:18:50
[2026-10-20 16:18:50,296.296 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:18:50,521.521 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:18:50,531.531 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:18:50,735.735 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:18:50,788.788 INFO    ] time= 20/10/2026 16:18:50
[2026-10-20 16:18:50,795.795 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:18:50,815.815 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:18:50,976.976 INFO    ] No existing commands found in stream
[2026-10-20 16:18:56,002.002 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:18:56,005.005 INFO    ] Waiting 1.62 seconds before fallback handling...
[2026-10-20 16:18:58,117.117 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 16:18:58,121.121 INFO    ] Checking for system updates...
[2026-10-20 16:18:58,160.160 INFO    ] 200
[2026-10-20 16:18:58,163.163 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:18:58,225.225 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:18:58,228.228 INFO    ] No update needed
[2026-10-20 16:18:58,231.231 INFO    ] Checking for camera pi updates...
[2026-10-20 16:18:58,271.271 INFO    ] 200
[2026-10-20 16:18:58,274.274 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:18:58,319.319 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:18:58,365.365 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:18:58,368.368 INFO    ] No camera update needed
[2026-10-20 16:18:58,371.371 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:18:58,373.373 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:18:58,379.379 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:18:58,385.385 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:19:00,424.424 INFO    ] ================================================
[2026-10-20 16:19:00,439.439 INFO    ] Launching Daemon at Tue Oct 20 16:19:00 IST 2026
[2026-10-20 16:19:00,450.450 INFO    ] ================================================
[2026-10-20 16:19:01,095.095 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:19:01
[2026-10-20 16:19:01,760.760 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:19:02,243.243 INFO    ] Initializing speech engine...
[2026-10-20 16:19:02,247.247 INFO    ] 2026-10-20 16:19:02
[2026-10-20 16:19:02,663.663 INFO    ] 2026-10-20 16:19:02
[2026-10-20 16:19:02,735.735 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:19:02,989.989 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:19:03,042.042 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:19:03,261.261 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:19:03,327.327 INFO    ] time= 20/10/2026 16:19:03
[2026-10-20 16:19:03,401.401 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:19:03,440.440 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:19:03,597.597 INFO    ] No existing commands found in stream
[2026-10-20 16:19:08,610.610 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:19:08,613.613 INFO    ] Waiting 2.98 seconds before fallback handling...
[2026-10-20 16:19:12,091.091 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:19:12,094.094 INFO    ] Checking for system updates...
[2026-10-20 16:19:12,130.130 INFO    ] 200
[2026-10-20 16:19:12,133.133 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:19:12,191.191 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:19:12,193.193 INFO    ] No update needed
[2026-10-20 16:19:12,196.196 INFO    ] Checking for camera pi updates...
[2026-10-20 16:19:12,237.237 INFO    ] 200
[2026-10-20 16:19:12,241.241 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:19:12,289.289 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:19:12,447.447 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:19:12,451.451 INFO    ] No camera update needed
[2026-10-20 16:19:12,454.454 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:19:12,457.457 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:19:12,465.465 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:19:12,471.471 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:19:14,512.512 INFO    ] ================================================
[2026-10-20 16:19:14,527.527 INFO    ] Launching Daemon at Tue Oct 20 16:19:14 IST 2026
[2026-10-20 16:19:14,538.538 INFO    ] ================================================
[2026-10-20 16:19:15,169.169 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:19:15
[2026-10-20 16:19:15,820.820 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:19:16,119.119 INFO    ] Initializing speech engine...
[2026-10-20 16:19:16,133.133 INFO    ] 2026-10-20 16:19:16
[2026-10-20 16:19:16,408.408 INFO    ] 2026-10-20 16:19:16
[2026-10-20 16:19:16,453.453 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:19:16,745.745 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:19:16,754.754 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:19:16,952.952 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:19:16,975.975 INFO    ] time= 20/10/2026 16:19:16
[2026-10-20 16:19:17,000.000 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:19:17,008.008 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:19:17,141.141 INFO    ] No existing commands found in stream
[2026-10-20 16:19:22,172.172 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:19:22,175.175 INFO    ] Waiting 2.87 seconds before fallback handling...
[2026-10-20 16:19:25,588.588 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:19:25,591.591 INFO    ] Checking for system updates...
[2026-10-20 16:19:25,628.628 INFO    ] 200
[2026-10-20 16:19:25,631.631 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:19:25,684.684 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:19:25,686.686 INFO    ] No update needed
[2026-10-20 16:19:25,689.689 INFO    ] Checking for camera pi updates...
[2026-10-20 16:19:25,727.727 INFO    ] 200
[2026-10-20 16:19:25,730.730 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:19:25,772.772 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:19:25,816.816 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:19:25,819.819 INFO    ] No camera update needed
[2026-10-20 16:19:25,822.822 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:19:25,824.824 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:19:25,831.831 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:19:25,836.836 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:19:27,878.878 INFO    ] ================================================
[2026-10-20 16:19:27,893.893 INFO    ] Launching Daemon at Tue Oct 20 16:19:27 IST 2026
[2026-10-20 16:19:27,904.904 INFO    ] ================================================
[2026-10-20 16:19:28,476.476 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:19:28
[2026-10-20 16:19:29,081.081 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:19:29,351.351 INFO    ] Initializing speech engine...
[2026-10-20 16:19:29,363.363 INFO    ] 2026-10-20 16:19:29
[2026-10-20 16:19:29,613.613 INFO    ] 2026-10-20 16:19:29
[2026-10-20 16:19:29,647.647 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:19:29,905.905 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:19:29,915.915 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:19:30,082.082 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:19:30,149.149 INFO    ] time= 20/10/2026 16:19:30
[2026-10-20 16:19:30,183.183 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:19:30,189.189 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:19:30,340.340 INFO    ] No existing commands found in stream
[2026-10-20 16:19:35,351.351 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:19:35,354.354 INFO    ] Waiting 2.95 seconds before fallback handling...
[2026-10-20 16:19:38,808.808 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:19:38,811.811 INFO    ] Checking for system updates...
[2026-10-20 16:19:38,846.846 INFO    ] 200
[2026-10-20 16:19:38,848.848 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:19:38,906.906 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:19:38,909.909 INFO    ] No update needed
[2026-10-20 16:19:38,911.911 INFO    ] Checking for camera pi updates...
[2026-10-20 16:19:38,944.944 INFO    ] 200
[2026-10-20 16:19:38,947.947 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:19:38,991.991 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:19:39,041.041 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:19:39,043.043 INFO    ] No camera update needed
[2026-10-20 16:19:39,046.046 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:19:39,048.048 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:19:39,054.054 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:19:39,059.059 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:19:41,099.099 INFO    ] ================================================
[2026-10-20 16:19:41,114.114 INFO    ] Launching Daemon at Tue Oct 20 16:19:41 IST 2026
[2026-10-20 16:19:41,127.127 INFO    ] ================================================
[2026-10-20 16:19:41,779.779 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:19:41
[2026-10-20 16:19:42,444.444 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:19:42,743.743 INFO    ] Initializing speech engine...
[2026-10-20 16:19:42,750.750 INFO    ] 2026-10-20 16:19:42
[2026-10-20 16:19:43,034.034 INFO    ] 2026-10-20 16:19:43
[2026-10-20 16:19:43,079.079 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:19:43,306.306 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:19:43,311.311 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:19:43,529.529 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:19:43,571.571 INFO    ] time= 20/10/2026 16:19:43
[2026-10-20 16:19:43,589.589 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:19:43,599.599 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:19:43,791.791 INFO    ] No existing commands found in stream
[2026-10-20 16:19:48,822.822 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:19:48,825.825 INFO    ] Waiting 1.40 seconds before fallback handling...
[2026-10-20 16:19:50,726.726 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:19:50,729.729 INFO    ] Checking for system updates...
[2026-10-20 16:19:50,765.765 INFO    ] 200
[2026-10-20 16:19:50,768.768 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:19:50,820.820 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:19:50,823.823 INFO    ] No update needed
[2026-10-20 16:19:50,825.825 INFO    ] Checking for camera pi updates...
[2026-10-20 16:19:50,862.862 INFO    ] 200
[2026-10-20 16:19:50,864.864 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:19:50,904.904 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:19:50,947.947 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:19:50,950.950 INFO    ] No camera update needed
[2026-10-20 16:19:50,952.952 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:19:50,954.954 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:19:50,960.960 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:19:50,965.965 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:19:53,005.005 INFO    ] ================================================
[2026-10-20 16:19:53,021.021 INFO    ] Launching Daemon at Tue Oct 20 16:19:53 IST 2026
[2026-10-20 16:19:53,031.031 INFO    ] ================================================
[2026-10-20 16:19:53,676.676 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:19:53
[2026-10-20 16:19:54,341.341 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:19:54,647.647 INFO    ] Initializing speech engine...
[2026-10-20 16:19:54,659.659 INFO    ] 2026-10-20 16:19:54
[2026-10-20 16:19:54,927.927 INFO    ] 2026-10-20 16:19:54
[2026-10-20 16:19:54,993.993 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:19:55,233.233 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:19:55,243.243 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:19:55,474.474 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:19:55,523.523 INFO    ] time= 20/10/2026 16:19:55
[2026-10-20 16:19:55,544.544 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:19:55,555.555 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:19:55,696.696 INFO    ] No existing commands found in stream
[2026-10-20 16:20:00,720.720 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:20:00,723.723 INFO    ] Waiting 1.73 seconds before fallback handling...
[2026-10-20 16:20:04,307.307 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:20:04,310.310 INFO    ] Checking for system updates...
[2026-10-20 16:20:04,358.358 INFO    ] 200
[2026-10-20 16:20:04,363.363 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:20:04,434.434 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:20:04,436.436 INFO    ] No update needed
[2026-10-20 16:20:04,439.439 INFO    ] Checking for camera pi updates...
[2026-10-20 16:20:04,472.472 INFO    ] 200
[2026-10-20 16:20:04,475.475 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:20:04,515.515 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:20:04,545.545 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:20:04,548.548 INFO    ] No camera update needed
[2026-10-20 16:20:04,550.550 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:20:04,553.553 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:20:04,558.558 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:20:04,563.563 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:20:06,604.604 INFO    ] ================================================
[2026-10-20 16:20:06,619.619 INFO    ] Launching Daemon at Tue Oct 20 16:20:06 IST 2026
[2026-10-20 16:20:06,630.630 INFO    ] ================================================
[2026-10-20 16:20:07,211.211 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:20:07
[2026-10-20 16:20:07,802.802 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:20:08,082.082 INFO    ] Initializing speech engine...
[2026-10-20 16:20:08,086.086 INFO    ] 2026-10-20 16:20:08
[2026-10-20 16:20:08,360.360 INFO    ] 2026-10-20 16:20:08
[2026-10-20 16:20:08,396.396 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:20:08,601.601 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:20:08,662.662 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:20:08,861.861 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:20:08,921.921 INFO    ] time= 20/10/2026 16:20:08
[2026-10-20 16:20:08,938.938 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:20:08,956.956 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:20:09,084.084 INFO    ] No existing commands found in stream
[2026-10-20 16:20:14,099.099 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:20:14,101.101 INFO    ] Waiting 0.27 seconds before fallback handling...
[2026-10-20 16:20:14,865.865 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:20:14,868.868 INFO    ] Checking for system updates...
[2026-10-20 16:20:14,903.903 INFO    ] 200
[2026-10-20 16:20:14,906.906 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:20:14,957.957 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:20:14,959.959 INFO    ] No update needed
[2026-10-20 16:20:14,962.962 INFO    ] Checking for camera pi updates...
[2026-10-20 16:20:14,999.999 INFO    ] 200
[2026-10-20 16:20:15,002.002 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:20:15,041.041 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:20:15,090.090 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:20:15,092.092 INFO    ] No camera update needed
[2026-10-20 16:20:15,095.095 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:20:15,097.097 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:20:15,102.102 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:20:15,107.107 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:20:17,148.148 INFO    ] ================================================
[2026-10-20 16:20:17,164.164 INFO    ] Launching Daemon at Tue Oct 20 16:20:17 IST 2026
[2026-10-20 16:20:17,175.175 INFO    ] ================================================
[2026-10-20 16:20:17,743.743 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:20:17
[2026-10-20 16:20:18,325.325 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:20:18,595.595 INFO    ] Initializing speech engine...
[2026-10-20 16:20:18,604.604 INFO    ] 2026-10-20 16:20:18
[2026-10-20 16:20:18,854.854 INFO    ] 2026-10-20 16:20:18
[2026-10-20 16:20:18,889.889 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:20:19,127.127 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:20:19,150.150 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:20:19,293.293 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:20:19,358.358 INFO    ] time= 20/10/2026 16:20:19
[2026-10-20 16:20:19,420.420 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:20:19,427.427 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:20:19,553.553 INFO    ] No existing commands found in stream
[2026-10-20 16:20:24,579.579 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:20:24,581.581 INFO    ] Waiting 0.07 seconds before fallback handling...
[2026-10-20 16:20:25,144.144 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 16:20:25,146.146 INFO    ] Checking for system updates...
[2026-10-20 16:20:25,185.185 INFO    ] 200
[2026-10-20 16:20:25,188.188 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:20:25,239.239 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:20:25,242.242 INFO    ] No update needed
[2026-10-20 16:20:25,244.244 INFO    ] Checking for camera pi updates...
[2026-10-20 16:20:25,277.277 INFO    ] 200
[2026-10-20 16:20:25,280.280 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:20:25,324.324 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:20:25,374.374 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:20:25,376.376 INFO    ] No camera update needed
[2026-10-20 16:20:25,379.379 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:20:25,381.381 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:20:25,386.386 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:20:25,391.391 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:20:27,431.431 INFO    ] ================================================
[2026-10-20 16:20:27,446.446 INFO    ] Launching Daemon at Tue Oct 20 16:20:27 IST 2026
[2026-10-20 16:20:27,457.457 INFO    ] ================================================
[2026-10-20 16:20:28,079.079 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:20:28
[2026-10-20 16:20:28,698.698 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:20:28,973.973 INFO    ] Initializing speech engine...
[2026-10-20 16:20:28,981.981 INFO    ] 2026-10-20 16:20:28
[2026-10-20 16:20:29,232.232 INFO    ] 2026-10-20 16:20:29
[2026-10-20 16:20:29,268.268 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:20:29,518.518 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:20:29,527.527 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:20:29,721.721 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:20:29,775.775 INFO    ] time= 20/10/2026 16:20:29
[2026-10-20 16:20:29,791.791 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:20:29,806.806 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:20:29,936.936 INFO    ] No existing commands found in stream
[2026-10-20 16:20:34,951.951 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:20:34,954.954 INFO    ] Waiting 3.06 seconds before fallback handling...
[2026-10-20 16:20:38,518.518 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:20:38,521.521 INFO    ] Checking for system updates...
[2026-10-20 16:20:38,560.560 INFO    ] 200
[2026-10-20 16:20:38,563.563 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:20:38,636.636 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:20:38,638.638 INFO    ] No update needed
[2026-10-20 16:20:38,641.641 INFO    ] Checking for camera pi updates...
[2026-10-20 16:20:38,686.686 INFO    ] 200
[2026-10-20 16:20:38,689.689 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:20:38,771.771 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:20:38,830.830 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:20:38,833.833 INFO    ] No camera update needed
[2026-10-20 16:20:38,835.835 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:20:38,838.838 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:20:38,845.845 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:20:38,850.850 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:20:40,893.893 INFO    ] ================================================
[2026-10-20 16:20:40,908.908 INFO    ] Launching Daemon at Tue Oct 20 16:20:40 IST 2026
[2026-10-20 16:20:40,920.920 INFO    ] ================================================
[2026-10-20 16:20:41,523.523 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:20:41
[2026-10-20 16:20:42,121.121 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:20:42,397.397 INFO    ] Initializing speech engine...
[2026-10-20 16:20:42,406.406 INFO    ] 2026-10-20 16:20:42
[2026-10-20 16:20:42,665.665 INFO    ] 2026-10-20 16:20:42
[2026-10-20 16:20:42,721.721 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:20:43,005.005 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:20:43,010.010 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:20:43,204.204 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:20:43,211.211 INFO    ] time= 20/10/2026 16:20:43
[2026-10-20 16:20:43,228.228 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:20:43,246.246 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:20:43,369.369 INFO    ] No existing commands found in stream
[2026-10-20 16:20:48,398.398 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:20:48,401.401 INFO    ] Waiting 0.35 seconds before fallback handling...
[2026-10-20 16:20:49,219.219 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:20:49,221.221 INFO    ] Checking for system updates...
[2026-10-20 16:20:49,257.257 INFO    ] 200
[2026-10-20 16:20:49,260.260 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:20:49,314.314 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:20:49,317.317 INFO    ] No update needed
[2026-10-20 16:20:49,319.319 INFO    ] Checking for camera pi updates...
[2026-10-20 16:20:49,356.356 INFO    ] 200
[2026-10-20 16:20:49,359.359 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:20:49,404.404 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:20:49,451.451 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:20:49,454.454 INFO    ] No camera update needed
[2026-10-20 16:20:49,456.456 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:20:49,459.459 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:20:49,465.465 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:20:49,471.471 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:20:51,517.517 INFO    ] ================================================
[2026-10-20 16:20:51,533.533 INFO    ] Launching Daemon at Tue Oct 20 16:20:51 IST 2026
[2026-10-20 16:20:51,544.544 INFO    ] ================================================
[2026-10-20 16:20:52,176.176 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:20:52
[2026-10-20 16:20:52,829.829 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:20:53,130.130 INFO    ] Initializing speech engine...
[2026-10-20 16:20:53,138.138 INFO    ] 2026-10-20 16:20:53
[2026-10-20 16:20:53,413.413 INFO    ] 2026-10-20 16:20:53
[2026-10-20 16:20:53,467.467 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:20:53,702.702 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:20:53,709.709 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:20:53,861.861 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:20:53,926.926 INFO    ] time= 20/10/2026 16:20:53
[2026-10-20 16:20:53,976.976 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:20:53,983.983 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:20:54,122.122 INFO    ] No existing commands found in stream
[2026-10-20 16:20:59,142.142 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:20:59,145.145 INFO    ] Waiting 0.76 seconds before fallback handling...
[2026-10-20 16:21:00,394.394 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:21:00,397.397 INFO    ] Checking for system updates...
[2026-10-20 16:21:00,434.434 INFO    ] 200
[2026-10-20 16:21:00,436.436 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:21:00,490.490 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:21:00,493.493 INFO    ] No update needed
[2026-10-20 16:21:00,495.495 INFO    ] Checking for camera pi updates...
[2026-10-20 16:21:00,529.529 INFO    ] 200
[2026-10-20 16:21:00,532.532 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:21:00,576.576 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:21:00,621.621 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:21:00,623.623 INFO    ] No camera update needed
[2026-10-20 16:21:00,626.626 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:21:00,628.628 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:21:00,634.634 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:21:00,639.639 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:21:02,692.692 INFO    ] ================================================
[2026-10-20 16:21:02,711.711 INFO    ] Launching Daemon at Tue Oct 20 16:21:02 IST 2026
[2026-10-20 16:21:02,724.724 INFO    ] ================================================
[2026-10-20 16:21:03,360.360 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:21:03
[2026-10-20 16:21:03,958.958 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:21:04,230.230 INFO    ] Initializing speech engine...
[2026-10-20 16:21:04,239.239 INFO    ] 2026-10-20 16:21:04
[2026-10-20 16:21:04,485.485 INFO    ] 2026-10-20 16:21:04
[2026-10-20 16:21:04,521.521 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:21:04,717.717 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:21:04,774.774 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:21:04,927.927 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:21:04,987.987 INFO    ] time= 20/10/2026 16:21:04
[2026-10-20 16:21:05,051.051 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:21:05,059.059 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:21:05,187.187 INFO    ] No existing commands found in stream
[2026-10-20 16:21:10,216.216 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:21:10,219.219 INFO    ] Waiting 1.49 seconds before fallback handling...
[2026-10-20 16:21:12,215.215 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:21:12,218.218 INFO    ] Checking for system updates...
[2026-10-20 16:21:12,256.256 INFO    ] 200
[2026-10-20 16:21:12,259.259 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:21:12,310.310 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:21:12,313.313 INFO    ] No update needed
[2026-10-20 16:21:12,315.315 INFO    ] Checking for camera pi updates...
[2026-10-20 16:21:12,349.349 INFO    ] 200
[2026-10-20 16:21:12,351.351 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:21:12,396.396 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:21:12,453.453 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:21:12,455.455 INFO    ] No camera update needed
[2026-10-20 16:21:12,457.457 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:21:12,460.460 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:21:12,465.465 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:21:12,470.470 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:21:14,512.512 INFO    ] ================================================
[2026-10-20 16:21:14,527.527 INFO    ] Launching Daemon at Tue Oct 20 16:21:14 IST 2026
[2026-10-20 16:21:14,538.538 INFO    ] ================================================
[2026-10-20 16:21:15,179.179 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:21:15
[2026-10-20 16:21:15,846.846 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:21:16,146.146 INFO    ] Initializing speech engine...
[2026-10-20 16:21:16,154.154 INFO    ] 2026-10-20 16:21:16
[2026-10-20 16:21:16,410.410 INFO    ] 2026-10-20 16:21:16
[2026-10-20 16:21:16,449.449 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:21:16,664.664 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:21:16,706.706 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:21:16,882.882 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:21:16,933.933 INFO    ] time= 20/10/2026 16:21:16
[2026-10-20 16:21:17,009.009 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:21:17,019.019 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:21:17,147.147 INFO    ] No existing commands found in stream
[2026-10-20 16:21:22,171.171 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:21:22,174.174 INFO    ] Waiting 3.33 seconds before fallback handling...
[2026-10-20 16:21:26,037.037 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:21:26,040.040 INFO    ] Checking for system updates...
[2026-10-20 16:21:26,084.084 INFO    ] 200
[2026-10-20 16:21:26,087.087 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 16:21:26,090.090 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-10-20 16:21:26,093.093 INFO    ] Checking for camera pi updates...
[2026-10-20 16:21:26,154.154 INFO    ] 200
[2026-10-20 16:21:26,157.157 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 16:21:26,161.161 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-10-20 16:21:26,164.164 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:21:26,167.167 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:21:26,174.174 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:21:26,180.180 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:21:28,221.221 INFO    ] ================================================
[2026-10-20 16:21:28,236.236 INFO    ] Launching Daemon at Tue Oct 20 16:21:28 IST 2026
[2026-10-20 16:21:28,247.247 INFO    ] ================================================
[2026-10-20 16:21:28,819.819 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:21:28
[2026-10-20 16:21:29,412.412 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:21:29,685.685 INFO    ] Initializing speech engine...
[2026-10-20 16:21:29,694.694 INFO    ] 2026-10-20 16:21:29
[2026-10-20 16:21:29,946.946 INFO    ] 2026-10-20 16:21:29
[2026-10-20 16:21:29,981.981 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:21:30,239.239 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:21:30,249.249 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:21:30,455.455 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:21:30,505.505 INFO    ] time= 20/10/2026 16:21:30
[2026-10-20 16:21:30,521.521 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:21:30,536.536 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:21:30,675.675 INFO    ] No existing commands found in stream
[2026-10-20 16:21:35,690.690 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:21:35,693.693 INFO    ] Waiting 0.03 seconds before fallback handling...
[2026-10-20 16:21:36,179.179 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:21:36,182.182 INFO    ] Checking for system updates...
[2026-10-20 16:21:36,218.218 INFO    ] 200
[2026-10-20 16:21:36,220.220 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:21:36,273.273 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:21:36,275.275 INFO    ] No update needed
[2026-10-20 16:21:36,277.277 INFO    ] Checking for camera pi updates...
[2026-10-20 16:21:36,310.310 INFO    ] 200
[2026-10-20 16:21:36,313.313 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:21:36,353.353 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:21:36,402.402 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:21:36,404.404 INFO    ] No camera update needed
[2026-10-20 16:21:36,407.407 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:21:36,409.409 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:21:36,414.414 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:21:36,420.420 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:21:38,460.460 INFO    ] ================================================
[2026-10-20 16:21:38,476.476 INFO    ] Launching Daemon at Tue Oct 20 16:21:38 IST 2026
[2026-10-20 16:21:38,488.488 INFO    ] ================================================
[2026-10-20 16:21:39,063.063 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:21:39
[2026-10-20 16:21:39,648.648 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:21:39,904.904 INFO    ] Initializing speech engine...
[2026-10-20 16:21:39,913.913 INFO    ] 2026-10-20 16:21:39
[2026-10-20 16:21:40,213.213 INFO    ] 2026-10-20 16:21:40
[2026-10-20 16:21:40,248.248 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:21:40,451.451 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:21:40,466.466 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:21:40,631.631 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:21:40,639.639 INFO    ] time= 20/10/2026 16:21:40
[2026-10-20 16:21:40,644.644 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:21:40,651.651 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:21:40,759.759 INFO    ] No existing commands found in stream
[2026-10-20 16:21:45,784.784 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:21:45,787.787 INFO    ] Waiting 3.54 seconds before fallback handling...
[2026-10-20 16:21:49,849.849 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:21:49,851.851 INFO    ] Checking for system updates...
[2026-10-20 16:21:49,887.887 INFO    ] 200
[2026-10-20 16:21:49,890.890 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:21:49,949.949 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:21:49,952.952 INFO    ] No update needed
[2026-10-20 16:21:49,954.954 INFO    ] Checking for camera pi updates...
[2026-10-20 16:21:49,987.987 INFO    ] 200
[2026-10-20 16:21:49,990.990 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:21:50,031.031 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:21:50,076.076 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:21:50,079.079 INFO    ] No camera update needed
[2026-10-20 16:21:50,081.081 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:21:50,084.084 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:21:50,089.089 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:21:50,094.094 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:21:52,135.135 INFO    ] ================================================
[2026-10-20 16:21:52,150.150 INFO    ] Launching Daemon at Tue Oct 20 16:21:52 IST 2026
[2026-10-20 16:21:52,162.162 INFO    ] ================================================
[2026-10-20 16:21:52,745.745 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:21:52
[2026-10-20 16:21:53,415.415 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:21:53,733.733 INFO    ] Initializing speech engine...
[2026-10-20 16:21:53,740.740 INFO    ] 2026-10-20 16:21:53
[2026-10-20 16:21:54,026.026 INFO    ] 2026-10-20 16:21:54
[2026-10-20 16:21:54,138.138 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:21:54,356.356 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:21:54,370.370 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:21:54,561.561 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:21:54,568.568 INFO    ] time= 20/10/2026 16:21:54
[2026-10-20 16:21:54,591.591 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:21:54,620.620 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:21:54,737.737 INFO    ] No existing commands found in stream
[2026-10-20 16:21:59,772.772 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:21:59,775.775 INFO    ] Waiting 0.97 seconds before fallback handling...
[2026-10-20 16:22:01,241.241 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:22:01,244.244 INFO    ] Checking for system updates...
[2026-10-20 16:22:01,286.286 INFO    ] 200
[2026-10-20 16:22:01,290.290 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:22:01,343.343 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:22:01,346.346 INFO    ] No update needed
[2026-10-20 16:22:01,349.349 INFO    ] Checking for camera pi updates...
[2026-10-20 16:22:01,384.384 INFO    ] 200
[2026-10-20 16:22:01,387.387 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:22:01,427.427 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:22:01,493.493 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:22:01,500.500 INFO    ] No camera update needed
[2026-10-20 16:22:01,513.513 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:22:01,519.519 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:22:01,533.533 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:22:01,543.543 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:22:03,594.594 INFO    ] ================================================
[2026-10-20 16:22:03,610.610 INFO    ] Launching Daemon at Tue Oct 20 16:22:03 IST 2026
[2026-10-20 16:22:03,620.620 INFO    ] ================================================
[2026-10-20 16:22:04,193.193 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:22:04
[2026-10-20 16:22:04,792.792 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:22:05,070.070 INFO    ] Initializing speech engine...
[2026-10-20 16:22:05,079.079 INFO    ] 2026-10-20 16:22:05
[2026-10-20 16:22:05,330.330 INFO    ] 2026-10-20 16:22:05
[2026-10-20 16:22:05,371.371 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:22:05,618.618 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:22:05,628.628 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:22:05,839.839 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:22:05,887.887 INFO    ] time= 20/10/2026 16:22:05
[2026-10-20 16:22:05,893.893 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:22:05,912.912 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:22:06,062.062 INFO    ] No existing commands found in stream
[2026-10-20 16:22:11,100.100 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:22:11,102.102 INFO    ] Waiting 3.18 seconds before fallback handling...
[2026-10-20 16:22:14,757.757 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:22:14,759.759 INFO    ] Checking for system updates...
[2026-10-20 16:22:14,795.795 INFO    ] 200
[2026-10-20 16:22:14,797.797 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:22:14,856.856 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:22:14,859.859 INFO    ] No update needed
[2026-10-20 16:22:14,861.861 INFO    ] Checking for camera pi updates...
[2026-10-20 16:22:14,895.895 INFO    ] 200
[2026-10-20 16:22:14,897.897 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:22:14,944.944 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:22:14,997.997 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:22:14,999.999 INFO    ] No camera update needed
[2026-10-20 16:22:15,001.001 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:22:15,004.004 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:22:15,009.009 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:22:15,014.014 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:22:17,054.054 INFO    ] ================================================
[2026-10-20 16:22:17,070.070 INFO    ] Launching Daemon at Tue Oct 20 16:22:17 IST 2026
[2026-10-20 16:22:17,082.082 INFO    ] ================================================
[2026-10-20 16:22:17,665.665 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:22:17
[2026-10-20 16:22:18,255.255 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:22:18,524.524 INFO    ] Initializing speech engine...
[2026-10-20 16:22:18,533.533 INFO    ] 2026-10-20 16:22:18
[2026-10-20 16:22:18,783.783 INFO    ] 2026-10-20 16:22:18
[2026-10-20 16:22:18,818.818 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:22:19,019.019 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:22:19,043.043 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:22:19,250.250 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:22:19,272.272 INFO    ] time= 20/10/2026 16:22:19
[2026-10-20 16:22:19,317.317 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:22:19,367.367 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:22:19,457.457 INFO    ] No existing commands found in stream
[2026-10-20 16:22:24,469.469 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:22:24,472.472 INFO    ] Waiting 2.47 seconds before fallback handling...
[2026-10-20 16:22:27,437.437 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 16:22:27,440.440 INFO    ] Checking for system updates...
[2026-10-20 16:22:27,479.479 INFO    ] 200
[2026-10-20 16:22:27,481.481 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:22:27,538.538 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:22:27,541.541 INFO    ] No update needed
[2026-10-20 16:22:27,543.543 INFO    ] Checking for camera pi updates...
[2026-10-20 16:22:27,576.576 INFO    ] 200
[2026-10-20 16:22:27,579.579 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:22:27,621.621 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:22:27,667.667 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:22:27,670.670 INFO    ] No camera update needed
[2026-10-20 16:22:27,672.672 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:22:27,675.675 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:22:27,680.680 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:22:27,685.685 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:22:29,725.725 INFO    ] ================================================
[2026-10-20 16:22:29,741.741 INFO    ] Launching Daemon at Tue Oct 20 16:22:29 IST 2026
[2026-10-20 16:22:29,752.752 INFO    ] ================================================
[2026-10-20 16:22:30,320.320 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:22:30
[2026-10-20 16:22:30,902.902 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:22:31,169.169 INFO    ] Initializing speech engine...
[2026-10-20 16:22:31,176.176 INFO    ] 2026-10-20 16:22:31
[2026-10-20 16:22:31,471.471 INFO    ] 2026-10-20 16:22:31
[2026-10-20 16:22:31,509.509 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:22:31,678.678 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:22:31,699.699 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:22:31,889.889 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:22:31,896.896 INFO    ] time= 20/10/2026 16:22:31
[2026-10-20 16:22:31,916.916 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:22:31,939.939 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:22:32,029.029 INFO    ] No existing commands found in stream
[2026-10-20 16:22:37,051.051 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:22:37,053.053 INFO    ] Waiting 1.97 seconds before fallback handling...
[2026-10-20 16:22:39,540.540 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:22:39,543.543 INFO    ] Checking for system updates...
[2026-10-20 16:22:39,578.578 INFO    ] 200
[2026-10-20 16:22:39,581.581 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:22:39,633.633 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:22:39,636.636 INFO    ] No update needed
[2026-10-20 16:22:39,638.638 INFO    ] Checking for camera pi updates...
[2026-10-20 16:22:39,671.671 INFO    ] 200
[2026-10-20 16:22:39,673.673 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:22:39,717.717 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:22:39,776.776 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:22:39,779.779 INFO    ] No camera update needed
[2026-10-20 16:22:39,781.781 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:22:39,783.783 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:22:39,789.789 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:22:39,793.793 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:22:41,833.833 INFO    ] ================================================
[2026-10-20 16:22:41,848.848 INFO    ] Launching Daemon at Tue Oct 20 16:22:41 IST 2026
[2026-10-20 16:22:41,859.859 INFO    ] ================================================
[2026-10-20 16:22:42,501.501 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:22:42
[2026-10-20 16:22:43,175.175 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:22:43,466.466 INFO    ] Initializing speech engine...
[2026-10-20 16:22:43,474.474 INFO    ] 2026-10-20 16:22:43
[2026-10-20 16:22:43,729.729 INFO    ] 2026-10-20 16:22:43
[2026-10-20 16:22:43,764.764 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:22:43,962.962 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:22:44,012.012 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:22:44,167.167 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:22:44,204.204 INFO    ] time= 20/10/2026 16:22:44
[2026-10-20 16:22:44,258.258 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:22:44,303.303 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:22:44,440.440 INFO    ] No existing commands found in stream
[2026-10-20 16:22:49,461.461 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:22:49,464.464 INFO    ] Waiting 3.87 seconds before fallback handling...
[2026-10-20 16:22:53,864.864 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:22:53,867.867 INFO    ] Checking for system updates...
[2026-10-20 16:22:53,903.903 INFO    ] 200
[2026-10-20 16:22:53,905.905 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:22:53,958.958 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:22:53,961.961 INFO    ] No update needed
[2026-10-20 16:22:53,964.964 INFO    ] Checking for camera pi updates...
[2026-10-20 16:22:54,001.001 INFO    ] 200
[2026-10-20 16:22:54,004.004 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:22:54,050.050 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:22:54,105.105 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:22:54,107.107 INFO    ] No camera update needed
[2026-10-20 16:22:54,110.110 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:22:54,113.113 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:22:54,119.119 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:22:54,125.125 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:22:56,165.165 INFO    ] ================================================
[2026-10-20 16:22:56,181.181 INFO    ] Launching Daemon at Tue Oct 20 16:22:56 IST 2026
[2026-10-20 16:22:56,192.192 INFO    ] ================================================
[2026-10-20 16:22:56,762.762 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:22:56
[2026-10-20 16:22:57,349.349 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:22:57,620.620 INFO    ] Initializing speech engine...
[2026-10-20 16:22:57,628.628 INFO    ] 2026-10-20 16:22:57
[2026-10-20 16:22:57,879.879 INFO    ] 2026-10-20 16:22:57
[2026-10-20 16:22:57,914.914 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:22:58,173.173 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:22:58,182.182 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:22:58,379.379 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:22:58,434.434 INFO    ] time= 20/10/2026 16:22:58
[2026-10-20 16:22:58,451.451 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:22:58,457.457 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:22:58,611.611 INFO    ] No existing commands found in stream
[2026-10-20 16:23:03,642.642 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:23:03,645.645 INFO    ] Waiting 3.93 seconds before fallback handling...
[2026-10-20 16:23:08,093.093 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:23:08,095.095 INFO    ] Checking for system updates...
[2026-10-20 16:23:08,131.131 INFO    ] 200
[2026-10-20 16:23:08,134.134 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:23:08,191.191 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:23:08,194.194 INFO    ] No update needed
[2026-10-20 16:23:08,196.196 INFO    ] Checking for camera pi updates...
[2026-10-20 16:23:08,233.233 INFO    ] 200
[2026-10-20 16:23:08,235.235 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:23:08,280.280 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:23:08,329.329 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:23:08,332.332 INFO    ] No camera update needed
[2026-10-20 16:23:08,334.334 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:23:08,336.336 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:23:08,342.342 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:23:08,347.347 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:23:10,389.389 INFO    ] ================================================
[2026-10-20 16:23:10,405.405 INFO    ] Launching Daemon at Tue Oct 20 16:23:10 IST 2026
[2026-10-20 16:23:10,415.415 INFO    ] ================================================
[2026-10-20 16:23:10,991.991 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:23:10
[2026-10-20 16:23:11,583.583 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:23:11,830.830 INFO    ] Initializing speech engine...
[2026-10-20 16:23:11,839.839 INFO    ] 2026-10-20 16:23:11
[2026-10-20 16:23:12,115.115 INFO    ] 2026-10-20 16:23:12
[2026-10-20 16:23:12,148.148 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:23:12,409.409 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:23:12,418.418 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:23:12,559.559 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:23:12,624.624 INFO    ] time= 20/10/2026 16:23:12
[2026-10-20 16:23:12,679.679 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:23:12,689.689 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:23:12,837.837 INFO    ] No existing commands found in stream
[2026-10-20 16:23:17,860.860 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:23:17,862.862 INFO    ] Waiting 2.42 seconds before fallback handling...
[2026-10-20 16:23:20,815.815 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:23:20,817.817 INFO    ] Checking for system updates...
[2026-10-20 16:23:20,857.857 INFO    ] 200
[2026-10-20 16:23:20,860.860 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:23:20,912.912 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:23:20,914.914 INFO    ] No update needed
[2026-10-20 16:23:20,916.916 INFO    ] Checking for camera pi updates...
[2026-10-20 16:23:20,949.949 INFO    ] 200
[2026-10-20 16:23:20,952.952 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:23:20,992.992 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:23:21,046.046 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:23:21,048.048 INFO    ] No camera update needed
[2026-10-20 16:23:21,051.051 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:23:21,053.053 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:23:21,058.058 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:23:21,063.063 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:23:23,104.104 INFO    ] ================================================
[2026-10-20 16:23:23,119.119 INFO    ] Launching Daemon at Tue Oct 20 16:23:23 IST 2026
[2026-10-20 16:23:23,130.130 INFO    ] ================================================
[2026-10-20 16:23:23,710.710 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:23:23
[2026-10-20 16:23:24,296.296 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:23:24,570.570 INFO    ] Initializing speech engine...
[2026-10-20 16:23:24,576.576 INFO    ] 2026-10-20 16:23:24
[2026-10-20 16:23:24,834.834 INFO    ] 2026-10-20 16:23:24
[2026-10-20 16:23:24,864.864 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:23:25,107.107 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:23:25,116.116 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:23:25,323.323 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:23:25,372.372 INFO    ] time= 20/10/2026 16:23:25
[2026-10-20 16:23:25,379.379 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:23:25,397.397 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:23:25,529.529 INFO    ] No existing commands found in stream
[2026-10-20 16:23:30,547.547 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:23:30,551.551 INFO    ] Waiting 3.27 seconds before fallback handling...
[2026-10-20 16:23:36,597.597 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:23:36,600.600 INFO    ] Checking for system updates...
[2026-10-20 16:23:36,636.636 INFO    ] 200
[2026-10-20 16:23:36,638.638 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:23:36,697.697 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:23:36,699.699 INFO    ] No update needed
[2026-10-20 16:23:36,702.702 INFO    ] Checking for camera pi updates...
[2026-10-20 16:23:36,739.739 INFO    ] 200
[2026-10-20 16:23:36,741.741 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:23:36,781.781 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:23:36,836.836 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:23:36,838.838 INFO    ] No camera update needed
[2026-10-20 16:23:36,841.841 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:23:36,843.843 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:23:36,848.848 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:23:36,853.853 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:23:38,894.894 INFO    ] ================================================
[2026-10-20 16:23:38,909.909 INFO    ] Launching Daemon at Tue Oct 20 16:23:38 IST 2026
[2026-10-20 16:23:38,919.919 INFO    ] ================================================
[2026-10-20 16:23:39,503.503 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:23:39
[2026-10-20 16:23:40,105.105 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:23:40,383.383 INFO    ] Initializing speech engine...
[2026-10-20 16:23:40,389.389 INFO    ] 2026-10-20 16:23:40
[2026-10-20 16:23:40,642.642 INFO    ] 2026-10-20 16:23:40
[2026-10-20 16:23:40,699.699 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:23:40,986.986 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:23:40,990.990 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:23:41,182.182 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:23:41,190.190 INFO    ] time= 20/10/2026 16:23:41
[2026-10-20 16:23:41,207.207 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:23:41,236.236 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:23:41,342.342 INFO    ] No existing commands found in stream
[2026-10-20 16:23:46,363.363 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:23:46,365.365 INFO    ] Waiting 0.83 seconds before fallback handling...
[2026-10-20 16:23:47,722.722 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:23:47,725.725 INFO    ] Checking for system updates...
[2026-10-20 16:23:47,760.760 INFO    ] 200
[2026-10-20 16:23:47,762.762 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:23:47,814.814 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:23:47,817.817 INFO    ] No update needed
[2026-10-20 16:23:47,819.819 INFO    ] Checking for camera pi updates...
[2026-10-20 16:23:47,857.857 INFO    ] 200
[2026-10-20 16:23:47,859.859 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:23:47,899.899 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:23:47,949.949 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:23:47,952.952 INFO    ] No camera update needed
[2026-10-20 16:23:47,954.954 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:23:47,956.956 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:23:47,962.962 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:23:47,966.966 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:23:50,006.006 INFO    ] ================================================
[2026-10-20 16:23:50,022.022 INFO    ] Launching Daemon at Tue Oct 20 16:23:50 IST 2026
[2026-10-20 16:23:50,032.032 INFO    ] ================================================
[2026-10-20 16:23:50,598.598 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:23:50
[2026-10-20 16:23:51,184.184 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:23:51,435.435 INFO    ] Initializing speech engine...
[2026-10-20 16:23:51,459.459 INFO    ] 2026-10-20 16:23:51
[2026-10-20 16:23:51,715.715 INFO    ] 2026-10-20 16:23:51
[2026-10-20 16:23:51,750.750 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:23:52,015.015 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:23:52,020.020 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:23:52,158.158 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:23:52,223.223 INFO    ] time= 20/10/2026 16:23:52
[2026-10-20 16:23:52,287.287 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:23:52,295.295 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:23:52,446.446 INFO    ] No existing commands found in stream
[2026-10-20 16:23:57,461.461 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:23:57,464.464 INFO    ] Waiting 1.48 seconds before fallback handling...
[2026-10-20 16:23:59,450.450 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:23:59,453.453 INFO    ] Checking for system updates...
[2026-10-20 16:23:59,489.489 INFO    ] 200
[2026-10-20 16:23:59,491.491 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:23:59,548.548 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:23:59,550.550 INFO    ] No update needed
[2026-10-20 16:23:59,553.553 INFO    ] Checking for camera pi updates...
[2026-10-20 16:23:59,587.587 INFO    ] 200
[2026-10-20 16:23:59,589.589 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:23:59,630.630 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:23:59,675.675 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:23:59,677.677 INFO    ] No camera update needed
[2026-10-20 16:23:59,680.680 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:23:59,682.682 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:23:59,687.687 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:23:59,693.693 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:24:01,736.736 INFO    ] ================================================
[2026-10-20 16:24:01,755.755 INFO    ] Launching Daemon at Tue Oct 20 16:24:01 IST 2026
[2026-10-20 16:24:01,767.767 INFO    ] ================================================
[2026-10-20 16:24:02,485.485 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:24:02
[2026-10-20 16:24:03,226.226 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:24:03,495.495 INFO    ] Initializing speech engine...
[2026-10-20 16:24:03,510.510 INFO    ] 2026-10-20 16:24:03
[2026-10-20 16:24:03,772.772 INFO    ] 2026-10-20 16:24:03
[2026-10-20 16:24:03,807.807 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:24:04,004.004 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:24:04,054.054 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:24:04,263.263 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:24:04,318.318 INFO    ] time= 20/10/2026 16:24:04
[2026-10-20 16:24:04,331.331 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:24:04,351.351 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:24:04,476.476 INFO    ] No existing commands found in stream
[2026-10-20 16:24:09,490.490 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:24:09,493.493 INFO    ] Waiting 2.84 seconds before fallback handling...
[2026-10-20 16:24:12,834.834 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:24:12,836.836 INFO    ] Checking for system updates...
[2026-10-20 16:24:12,874.874 INFO    ] 200
[2026-10-20 16:24:12,877.877 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:24:12,928.928 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:24:12,931.931 INFO    ] No update needed
[2026-10-20 16:24:12,933.933 INFO    ] Checking for camera pi updates...
[2026-10-20 16:24:12,966.966 INFO    ] 200
[2026-10-20 16:24:12,969.969 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:24:13,009.009 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:24:13,066.066 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:24:13,069.069 INFO    ] No camera update needed
[2026-10-20 16:24:13,071.071 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:24:13,073.073 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:24:13,079.079 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:24:13,083.083 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:24:15,125.125 INFO    ] ================================================
[2026-10-20 16:24:15,140.140 INFO    ] Launching Daemon at Tue Oct 20 16:24:15 IST 2026
[2026-10-20 16:24:15,150.150 INFO    ] ================================================
[2026-10-20 16:24:15,719.719 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:24:15
[2026-10-20 16:24:16,306.306 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:24:16,577.577 INFO    ] Initializing speech engine...
[2026-10-20 16:24:16,585.585 INFO    ] 2026-10-20 16:24:16
[2026-10-20 16:24:16,834.834 INFO    ] 2026-10-20 16:24:16
[2026-10-20 16:24:16,868.868 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:24:17,066.066 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:24:17,073.073 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:24:17,269.269 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:24:17,306.306 INFO    ] time= 20/10/2026 16:24:17
[2026-10-20 16:24:17,365.365 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:24:17,404.404 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:24:17,546.546 INFO    ] No existing commands found in stream
[2026-10-20 16:24:22,566.566 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:24:22,569.569 INFO    ] Waiting 2.63 seconds before fallback handling...
[2026-10-20 16:24:25,740.740 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:24:25,743.743 INFO    ] Checking for system updates...
[2026-10-20 16:24:25,778.778 INFO    ] 200
[2026-10-20 16:24:25,781.781 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:24:25,842.842 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:24:25,845.845 INFO    ] No update needed
[2026-10-20 16:24:25,847.847 INFO    ] Checking for camera pi updates...
[2026-10-20 16:24:25,883.883 INFO    ] 200
[2026-10-20 16:24:25,886.886 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:24:25,929.929 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:24:25,974.974 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:24:25,976.976 INFO    ] No camera update needed
[2026-10-20 16:24:25,979.979 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:24:25,981.981 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:24:25,987.987 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:24:25,992.992 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:24:28,033.033 INFO    ] ================================================
[2026-10-20 16:24:28,049.049 INFO    ] Launching Daemon at Tue Oct 20 16:24:28 IST 2026
[2026-10-20 16:24:28,060.060 INFO    ] ================================================
[2026-10-20 16:24:28,678.678 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:24:28
[2026-10-20 16:24:29,318.318 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:24:29,614.614 INFO    ] Initializing speech engine...
[2026-10-20 16:24:29,626.626 INFO    ] 2026-10-20 16:24:29
[2026-10-20 16:24:29,984.984 INFO    ] 2026-10-20 16:24:29
[2026-10-20 16:24:30,026.026 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:24:30,218.218 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:24:30,241.241 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:24:30,428.428 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:24:30,445.445 INFO    ] time= 20/10/2026 16:24:30
[2026-10-20 16:24:30,461.461 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:24:30,481.481 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:24:30,600.600 INFO    ] No existing commands found in stream
[2026-10-20 16:24:35,634.634 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:24:35,637.637 INFO    ] Waiting 0.99 seconds before fallback handling...
[2026-10-20 16:24:37,148.148 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:24:37,151.151 INFO    ] Checking for system updates...
[2026-10-20 16:24:37,190.190 INFO    ] 200
[2026-10-20 16:24:37,192.192 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:24:37,244.244 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:24:37,246.246 INFO    ] No update needed
[2026-10-20 16:24:37,249.249 INFO    ] Checking for camera pi updates...
[2026-10-20 16:24:37,282.282 INFO    ] 200
[2026-10-20 16:24:37,284.284 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:24:37,325.325 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:24:37,366.366 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:24:37,369.369 INFO    ] No camera update needed
[2026-10-20 16:24:37,371.371 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:24:37,373.373 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:24:37,379.379 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:24:37,384.384 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:24:39,423.423 INFO    ] ================================================
[2026-10-20 16:24:39,438.438 INFO    ] Launching Daemon at Tue Oct 20 16:24:39 IST 2026
[2026-10-20 16:24:39,448.448 INFO    ] ================================================
[2026-10-20 16:24:40,068.068 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:24:40
[2026-10-20 16:24:40,708.708 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:24:40,997.997 INFO    ] Initializing speech engine...
[2026-10-20 16:24:41,006.006 INFO    ] 2026-10-20 16:24:40
[2026-10-20 16:24:41,285.285 INFO    ] 2026-10-20 16:24:41
[2026-10-20 16:24:41,329.329 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:24:41,612.612 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:24:41,626.626 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:24:41,821.821 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:24:41,832.832 INFO    ] time= 20/10/2026 16:24:41
[2026-10-20 16:24:41,851.851 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:24:41,880.880 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:24:41,987.987 INFO    ] No existing commands found in stream
[2026-10-20 16:24:47,002.002 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:24:47,005.005 INFO    ] Waiting 3.80 seconds before fallback handling...
[2026-10-20 16:24:51,294.294 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:24:51,297.297 INFO    ] Checking for system updates...
[2026-10-20 16:24:51,333.333 INFO    ] 200
[2026-10-20 16:24:51,335.335 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:24:51,392.392 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:24:51,395.395 INFO    ] No update needed
[2026-10-20 16:24:51,397.397 INFO    ] Checking for camera pi updates...
[2026-10-20 16:24:51,430.430 INFO    ] 200
[2026-10-20 16:24:51,433.433 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:24:51,476.476 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:24:51,530.530 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:24:51,532.532 INFO    ] No camera update needed
[2026-10-20 16:24:51,534.534 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:24:51,537.537 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:24:51,542.542 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:24:51,547.547 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:24:53,587.587 INFO    ] ================================================
[2026-10-20 16:24:53,601.601 INFO    ] Launching Daemon at Tue Oct 20 16:24:53 IST 2026
[2026-10-20 16:24:53,612.612 INFO    ] ================================================
[2026-10-20 16:24:54,192.192 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:24:54
[2026-10-20 16:24:54,785.785 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:24:55,067.067 INFO    ] Initializing speech engine...
[2026-10-20 16:24:55,081.081 INFO    ] 2026-10-20 16:24:55
[2026-10-20 16:24:55,343.343 INFO    ] 2026-10-20 16:24:55
[2026-10-20 16:24:55,377.377 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:24:55,636.636 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:24:55,660.660 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:24:55,814.814 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:24:55,854.854 INFO    ] time= 20/10/2026 16:24:55
[2026-10-20 16:24:55,914.914 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:24:55,957.957 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:24:56,085.085 INFO    ] No existing commands found in stream
[2026-10-20 16:25:01,103.103 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:25:01,105.105 INFO    ] Waiting 2.28 seconds before fallback handling...
[2026-10-20 16:25:03,862.862 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:25:03,865.865 INFO    ] Checking for system updates...
[2026-10-20 16:25:03,904.904 INFO    ] 200
[2026-10-20 16:25:03,906.906 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:25:03,959.959 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:25:03,962.962 INFO    ] No update needed
[2026-10-20 16:25:03,964.964 INFO    ] Checking for camera pi updates...
[2026-10-20 16:25:04,001.001 INFO    ] 200
[2026-10-20 16:25:04,003.003 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:25:04,043.043 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:25:04,093.093 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:25:04,096.096 INFO    ] No camera update needed
[2026-10-20 16:25:04,098.098 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:25:04,100.100 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:25:04,106.106 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:25:04,111.111 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:25:06,151.151 INFO    ] ================================================
[2026-10-20 16:25:06,166.166 INFO    ] Launching Daemon at Tue Oct 20 16:25:06 IST 2026
[2026-10-20 16:25:06,177.177 INFO    ] ================================================
[2026-10-20 16:25:06,743.743 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:25:06
[2026-10-20 16:25:07,332.332 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:25:07,588.588 INFO    ] Initializing speech engine...
[2026-10-20 16:25:07,594.594 INFO    ] 2026-10-20 16:25:07
[2026-10-20 16:25:07,886.886 INFO    ] 2026-10-20 16:25:07
[2026-10-20 16:25:07,924.924 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:25:08,144.144 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:25:08,151.151 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:25:08,369.369 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:25:08,377.377 INFO    ] time= 20/10/2026 16:25:08
[2026-10-20 16:25:08,426.426 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:25:08,475.475 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:25:08,576.576 INFO    ] No existing commands found in stream
[2026-10-20 16:25:13,587.587 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:25:13,590.590 INFO    ] Waiting 3.29 seconds before fallback handling...
[2026-10-20 16:25:17,395.395 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 16:25:17,398.398 INFO    ] Checking for system updates...
[2026-10-20 16:25:17,433.433 INFO    ] 200
[2026-10-20 16:25:17,436.436 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:25:17,511.511 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:25:17,514.514 INFO    ] No update needed
[2026-10-20 16:25:17,516.516 INFO    ] Checking for camera pi updates...
[2026-10-20 16:25:17,552.552 INFO    ] 200
[2026-10-20 16:25:17,554.554 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:25:17,600.600 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:25:17,646.646 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:25:17,649.649 INFO    ] No camera update needed
[2026-10-20 16:25:17,652.652 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:25:17,655.655 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:25:17,661.661 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:25:17,666.666 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:25:19,706.706 INFO    ] ================================================
[2026-10-20 16:25:19,721.721 INFO    ] Launching Daemon at Tue Oct 20 16:25:19 IST 2026
[2026-10-20 16:25:19,731.731 INFO    ] ================================================
[2026-10-20 16:25:20,385.385 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:25:20
[2026-10-20 16:25:21,040.040 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:25:21,342.342 INFO    ] Initializing speech engine...
[2026-10-20 16:25:21,352.352 INFO    ] 2026-10-20 16:25:21
[2026-10-20 16:25:21,623.623 INFO    ] 2026-10-20 16:25:21
[2026-10-20 16:25:21,685.685 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:25:21,974.974 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:25:21,984.984 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:25:22,176.176 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:25:22,191.191 INFO    ] time= 20/10/2026 16:25:22
[2026-10-20 16:25:22,210.210 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:25:22,239.239 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:25:22,359.359 INFO    ] No existing commands found in stream
[2026-10-20 16:25:27,390.390 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:25:27,393.393 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-10-20 16:25:30,420.420 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:25:30,423.423 INFO    ] Checking for system updates...
[2026-10-20 16:25:30,464.464 INFO    ] 200
[2026-10-20 16:25:30,466.466 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:25:30,531.531 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:25:30,534.534 INFO    ] No update needed
[2026-10-20 16:25:30,536.536 INFO    ] Checking for camera pi updates...
[2026-10-20 16:25:30,579.579 INFO    ] 200
[2026-10-20 16:25:30,582.582 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:25:30,628.628 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:25:30,678.678 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:25:30,681.681 INFO    ] No camera update needed
[2026-10-20 16:25:30,683.683 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:25:30,686.686 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:25:30,692.692 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:25:30,698.698 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:25:32,738.738 INFO    ] ================================================
[2026-10-20 16:25:32,753.753 INFO    ] Launching Daemon at Tue Oct 20 16:25:32 IST 2026
[2026-10-20 16:25:32,764.764 INFO    ] ================================================
[2026-10-20 16:25:33,354.354 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:25:33
[2026-10-20 16:25:33,952.952 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:25:34,226.226 INFO    ] Initializing speech engine...
[2026-10-20 16:25:34,236.236 INFO    ] 2026-10-20 16:25:34
[2026-10-20 16:25:34,484.484 INFO    ] 2026-10-20 16:25:34
[2026-10-20 16:25:34,526.526 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:25:34,778.778 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:25:34,782.782 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:25:34,922.922 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:25:34,997.997 INFO    ] time= 20/10/2026 16:25:34
[2026-10-20 16:25:35,045.045 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:25:35,051.051 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:25:35,198.198 INFO    ] No existing commands found in stream
[2026-10-20 16:25:40,226.226 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:25:40,229.229 INFO    ] Waiting 1.77 seconds before fallback handling...
[2026-10-20 16:25:42,472.472 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:25:42,475.475 INFO    ] Checking for system updates...
[2026-10-20 16:25:42,514.514 INFO    ] 200
[2026-10-20 16:25:42,516.516 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:25:42,574.574 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:25:42,576.576 INFO    ] No update needed
[2026-10-20 16:25:42,579.579 INFO    ] Checking for camera pi updates...
[2026-10-20 16:25:42,612.612 INFO    ] 200
[2026-10-20 16:25:42,615.615 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:25:42,655.655 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:25:42,712.712 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:25:42,714.714 INFO    ] No camera update needed
[2026-10-20 16:25:42,717.717 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:25:42,719.719 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:25:42,725.725 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:25:42,730.730 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:25:44,770.770 INFO    ] ================================================
[2026-10-20 16:25:44,785.785 INFO    ] Launching Daemon at Tue Oct 20 16:25:44 IST 2026
[2026-10-20 16:25:44,795.795 INFO    ] ================================================
[2026-10-20 16:25:45,377.377 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:25:45
[2026-10-20 16:25:45,981.981 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:25:46,257.257 INFO    ] Initializing speech engine...
[2026-10-20 16:25:46,263.263 INFO    ] 2026-10-20 16:25:46
[2026-10-20 16:25:46,524.524 INFO    ] 2026-10-20 16:25:46
[2026-10-20 16:25:46,554.554 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:25:46,814.814 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:25:46,824.824 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:25:46,977.977 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:25:47,032.032 INFO    ] time= 20/10/2026 16:25:46
[2026-10-20 16:25:47,066.066 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:25:47,124.124 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:25:47,256.256 INFO    ] No existing commands found in stream
[2026-10-20 16:25:52,281.281 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:25:52,284.284 INFO    ] Waiting 1.87 seconds before fallback handling...
[2026-10-20 16:25:54,669.669 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:25:54,672.672 INFO    ] Checking for system updates...
[2026-10-20 16:25:54,708.708 INFO    ] 200
[2026-10-20 16:25:54,711.711 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:25:54,764.764 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:25:54,767.767 INFO    ] No update needed
[2026-10-20 16:25:54,769.769 INFO    ] Checking for camera pi updates...
[2026-10-20 16:25:54,807.807 INFO    ] 200
[2026-10-20 16:25:54,810.810 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:25:54,851.851 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:25:54,896.896 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:25:54,899.899 INFO    ] No camera update needed
[2026-10-20 16:25:54,901.901 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:25:54,904.904 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:25:54,909.909 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:25:54,914.914 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:25:56,956.956 INFO    ] ================================================
[2026-10-20 16:25:56,971.971 INFO    ] Launching Daemon at Tue Oct 20 16:25:56 IST 2026
[2026-10-20 16:25:56,982.982 INFO    ] ================================================
[2026-10-20 16:25:57,559.559 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:25:57
[2026-10-20 16:25:58,147.147 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:25:58,425.425 INFO    ] Initializing speech engine...
[2026-10-20 16:25:58,433.433 INFO    ] 2026-10-20 16:25:58
[2026-10-20 16:25:58,705.705 INFO    ] 2026-10-20 16:25:58
[2026-10-20 16:25:58,750.750 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:25:59,039.039 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:25:59,048.048 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:25:59,247.247 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:25:59,254.254 INFO    ] time= 20/10/2026 16:25:59
[2026-10-20 16:25:59,270.270 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:25:59,279.279 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:25:59,411.411 INFO    ] No existing commands found in stream
[2026-10-20 16:26:04,422.422 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:26:04,425.425 INFO    ] Waiting 0.94 seconds before fallback handling...
[2026-10-20 16:26:05,831.831 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:26:05,833.833 INFO    ] Checking for system updates...
[2026-10-20 16:26:05,868.868 INFO    ] 200
[2026-10-20 16:26:05,871.871 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:26:05,931.931 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:26:05,934.934 INFO    ] No update needed
[2026-10-20 16:26:05,936.936 INFO    ] Checking for camera pi updates...
[2026-10-20 16:26:05,969.969 INFO    ] 200
[2026-10-20 16:26:05,971.971 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:26:06,014.014 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:26:06,069.069 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:26:06,072.072 INFO    ] No camera update needed
[2026-10-20 16:26:06,075.075 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:26:06,077.077 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:26:06,084.084 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:26:06,089.089 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:26:08,131.131 INFO    ] ================================================
[2026-10-20 16:26:08,146.146 INFO    ] Launching Daemon at Tue Oct 20 16:26:08 IST 2026
[2026-10-20 16:26:08,157.157 INFO    ] ================================================
[2026-10-20 16:26:08,721.721 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:26:08
[2026-10-20 16:26:09,302.302 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:26:09,570.570 INFO    ] Initializing speech engine...
[2026-10-20 16:26:09,579.579 INFO    ] 2026-10-20 16:26:09
[2026-10-20 16:26:09,846.846 INFO    ] 2026-10-20 16:26:09
[2026-10-20 16:26:09,902.902 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:26:10,150.150 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:26:10,158.158 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:26:10,390.390 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:26:10,397.397 INFO    ] time= 20/10/2026 16:26:10
[2026-10-20 16:26:10,414.414 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:26:10,444.444 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:26:10,552.552 INFO    ] No existing commands found in stream
[2026-10-20 16:26:15,576.576 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:26:15,580.580 INFO    ] Waiting 1.10 seconds before fallback handling...
[2026-10-20 16:26:17,178.178 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:26:17,181.181 INFO    ] Checking for system updates...
[2026-10-20 16:26:17,221.221 INFO    ] 200
[2026-10-20 16:26:17,224.224 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:26:17,281.281 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:26:17,284.284 INFO    ] No update needed
[2026-10-20 16:26:17,287.287 INFO    ] Checking for camera pi updates...
[2026-10-20 16:26:17,321.321 INFO    ] 200
[2026-10-20 16:26:17,323.323 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:26:17,363.363 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:26:17,406.406 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:26:17,409.409 INFO    ] No camera update needed
[2026-10-20 16:26:17,412.412 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:26:17,415.415 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:26:17,421.421 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:26:17,427.427 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:26:19,469.469 INFO    ] ================================================
[2026-10-20 16:26:19,484.484 INFO    ] Launching Daemon at Tue Oct 20 16:26:19 IST 2026
[2026-10-20 16:26:19,496.496 INFO    ] ================================================
[2026-10-20 16:26:20,078.078 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:26:20
[2026-10-20 16:26:20,675.675 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:26:20,952.952 INFO    ] Initializing speech engine...
[2026-10-20 16:26:20,956.956 INFO    ] 2026-10-20 16:26:20
[2026-10-20 16:26:21,219.219 INFO    ] 2026-10-20 16:26:21
[2026-10-20 16:26:21,283.283 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:26:21,521.521 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:26:21,541.541 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:26:21,741.741 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:26:21,785.785 INFO    ] time= 20/10/2026 16:26:21
[2026-10-20 16:26:21,792.792 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:26:21,837.837 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:26:21,944.944 INFO    ] No existing commands found in stream
[2026-10-20 16:26:26,967.967 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:26:26,970.970 INFO    ] Waiting 0.52 seconds before fallback handling...
[2026-10-20 16:26:28,007.007 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:26:28,015.015 INFO    ] Checking for system updates...
[2026-10-20 16:26:28,066.066 INFO    ] 200
[2026-10-20 16:26:28,069.069 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:26:28,122.122 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:26:28,125.125 INFO    ] No update needed
[2026-10-20 16:26:28,127.127 INFO    ] Checking for camera pi updates...
[2026-10-20 16:26:28,161.161 INFO    ] 200
[2026-10-20 16:26:28,163.163 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:26:28,203.203 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:26:28,260.260 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:26:28,263.263 INFO    ] No camera update needed
[2026-10-20 16:26:28,266.266 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:26:28,269.269 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:26:28,275.275 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:26:28,281.281 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:26:30,324.324 INFO    ] ================================================
[2026-10-20 16:26:30,339.339 INFO    ] Launching Daemon at Tue Oct 20 16:26:30 IST 2026
[2026-10-20 16:26:30,350.350 INFO    ] ================================================
[2026-10-20 16:26:30,975.975 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:26:30
[2026-10-20 16:26:31,561.561 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:26:31,857.857 INFO    ] Initializing speech engine...
[2026-10-20 16:26:31,868.868 INFO    ] 2026-10-20 16:26:31
[2026-10-20 16:26:32,143.143 INFO    ] 2026-10-20 16:26:32
[2026-10-20 16:26:32,185.185 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:26:32,384.384 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:26:32,444.444 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:26:32,589.589 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:26:32,660.660 INFO    ] time= 20/10/2026 16:26:32
[2026-10-20 16:26:32,722.722 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:26:32,729.729 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:26:32,877.877 INFO    ] No existing commands found in stream
[2026-10-20 16:26:37,894.894 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:26:37,897.897 INFO    ] Waiting 3.03 seconds before fallback handling...
[2026-10-20 16:26:41,397.397 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:26:41,400.400 INFO    ] Checking for system updates...
[2026-10-20 16:26:41,439.439 INFO    ] 200
[2026-10-20 16:26:41,442.442 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:26:41,494.494 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:26:41,496.496 INFO    ] No update needed
[2026-10-20 16:26:41,498.498 INFO    ] Checking for camera pi updates...
[2026-10-20 16:26:41,531.531 INFO    ] 200
[2026-10-20 16:26:41,533.533 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:26:41,580.580 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:26:41,632.632 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:26:41,635.635 INFO    ] No camera update needed
[2026-10-20 16:26:41,637.637 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:26:41,639.639 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:26:41,644.644 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:26:41,649.649 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:26:43,690.690 INFO    ] ================================================
[2026-10-20 16:26:43,705.705 INFO    ] Launching Daemon at Tue Oct 20 16:26:43 IST 2026
[2026-10-20 16:26:43,716.716 INFO    ] ================================================
[2026-10-20 16:26:44,332.332 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:26:44
[2026-10-20 16:26:44,962.962 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:26:45,272.272 INFO    ] Initializing speech engine...
[2026-10-20 16:26:45,285.285 INFO    ] 2026-10-20 16:26:45
[2026-10-20 16:26:45,582.582 INFO    ] 2026-10-20 16:26:45
[2026-10-20 16:26:45,620.620 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:26:45,921.921 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:26:45,984.984 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:26:46,124.124 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:26:46,143.143 INFO    ] time= 20/10/2026 16:26:46
[2026-10-20 16:26:46,172.172 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:26:46,182.182 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:26:46,321.321 INFO    ] No existing commands found in stream
[2026-10-20 16:26:51,347.347 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:26:51,351.351 INFO    ] Waiting 3.07 seconds before fallback handling...
[2026-10-20 16:26:54,981.981 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:26:54,984.984 INFO    ] Checking for system updates...
[2026-10-20 16:26:55,021.021 INFO    ] 200
[2026-10-20 16:26:55,024.024 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:26:55,084.084 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:26:55,087.087 INFO    ] No update needed
[2026-10-20 16:26:55,089.089 INFO    ] Checking for camera pi updates...
[2026-10-20 16:26:55,123.123 INFO    ] 200
[2026-10-20 16:26:55,125.125 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:26:55,171.171 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:26:55,226.226 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:26:55,229.229 INFO    ] No camera update needed
[2026-10-20 16:26:55,231.231 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:26:55,233.233 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:26:55,239.239 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:26:55,244.244 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:26:57,282.282 INFO    ] ================================================
[2026-10-20 16:26:57,298.298 INFO    ] Launching Daemon at Tue Oct 20 16:26:57 IST 2026
[2026-10-20 16:26:57,309.309 INFO    ] ================================================
[2026-10-20 16:26:57,971.971 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:26:57
[2026-10-20 16:26:58,654.654 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:26:58,940.940 INFO    ] Initializing speech engine...
[2026-10-20 16:26:58,948.948 INFO    ] 2026-10-20 16:26:58
[2026-10-20 16:26:59,204.204 INFO    ] 2026-10-20 16:26:59
[2026-10-20 16:26:59,259.259 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:26:59,482.482 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:26:59,487.487 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:26:59,635.635 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:26:59,700.700 INFO    ] time= 20/10/2026 16:26:59
[2026-10-20 16:26:59,729.729 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:26:59,756.756 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:26:59,890.890 INFO    ] No existing commands found in stream
[2026-10-20 16:27:04,908.908 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:27:04,910.910 INFO    ] Waiting 2.37 seconds before fallback handling...
[2026-10-20 16:27:07,810.810 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:27:07,812.812 INFO    ] Checking for system updates...
[2026-10-20 16:27:07,847.847 INFO    ] 200
[2026-10-20 16:27:07,850.850 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:27:07,901.901 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:27:07,903.903 INFO    ] No update needed
[2026-10-20 16:27:07,906.906 INFO    ] Checking for camera pi updates...
[2026-10-20 16:27:07,941.941 INFO    ] 200
[2026-10-20 16:27:07,944.944 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:27:07,988.988 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:27:08,039.039 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:27:08,042.042 INFO    ] No camera update needed
[2026-10-20 16:27:08,044.044 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:27:08,046.046 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:27:08,052.052 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:27:08,057.057 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:27:10,098.098 INFO    ] ================================================
[2026-10-20 16:27:10,113.113 INFO    ] Launching Daemon at Tue Oct 20 16:27:10 IST 2026
[2026-10-20 16:27:10,124.124 INFO    ] ================================================
[2026-10-20 16:27:10,690.690 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:27:10
[2026-10-20 16:27:11,272.272 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:27:11,539.539 INFO    ] Initializing speech engine...
[2026-10-20 16:27:11,554.554 INFO    ] 2026-10-20 16:27:11
[2026-10-20 16:27:11,823.823 INFO    ] 2026-10-20 16:27:11
[2026-10-20 16:27:11,858.858 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:27:12,063.063 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:27:12,081.081 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:27:12,224.224 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:27:12,231.231 INFO    ] time= 20/10/2026 16:27:12
[2026-10-20 16:27:12,236.236 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:27:12,244.244 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:27:12,317.317 INFO    ] No existing commands found in stream
[2026-10-20 16:27:17,332.332 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:27:17,334.334 INFO    ] Waiting 2.85 seconds before fallback handling...
[2026-10-20 16:27:20,699.699 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:27:20,701.701 INFO    ] Checking for system updates...
[2026-10-20 16:27:20,736.736 INFO    ] 200
[2026-10-20 16:27:20,739.739 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:27:20,790.790 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:27:20,792.792 INFO    ] No update needed
[2026-10-20 16:27:20,795.795 INFO    ] Checking for camera pi updates...
[2026-10-20 16:27:20,827.827 INFO    ] 200
[2026-10-20 16:27:20,830.830 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:27:20,874.874 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:27:20,929.929 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:27:20,931.931 INFO    ] No camera update needed
[2026-10-20 16:27:20,933.933 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:27:20,935.935 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:27:20,941.941 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:27:20,946.946 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:27:22,985.985 INFO    ] ================================================
[2026-10-20 16:27:23,000.000 INFO    ] Launching Daemon at Tue Oct 20 16:27:22 IST 2026
[2026-10-20 16:27:23,011.011 INFO    ] ================================================
[2026-10-20 16:27:23,576.576 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:27:23
[2026-10-20 16:27:24,156.156 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:27:24,423.423 INFO    ] Initializing speech engine...
[2026-10-20 16:27:24,433.433 INFO    ] 2026-10-20 16:27:24
[2026-10-20 16:27:24,692.692 INFO    ] 2026-10-20 16:27:24
[2026-10-20 16:27:24,721.721 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:27:24,996.996 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:27:25,006.006 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:27:25,153.153 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:27:25,175.175 INFO    ] time= 20/10/2026 16:27:25
[2026-10-20 16:27:25,224.224 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:27:25,273.273 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:27:25,367.367 INFO    ] No existing commands found in stream
[2026-10-20 16:27:30,379.379 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:27:30,382.382 INFO    ] Waiting 1.12 seconds before fallback handling...
[2026-10-20 16:27:31,999.999 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:27:32,002.002 INFO    ] Checking for system updates...
[2026-10-20 16:27:32,043.043 INFO    ] 200
[2026-10-20 16:27:32,045.045 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:27:32,114.114 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:27:32,116.116 INFO    ] No update needed
[2026-10-20 16:27:32,119.119 INFO    ] Checking for camera pi updates...
[2026-10-20 16:27:32,158.158 INFO    ] 200
[2026-10-20 16:27:32,161.161 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:27:32,212.212 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:27:32,248.248 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:27:32,252.252 INFO    ] No camera update needed
[2026-10-20 16:27:32,255.255 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:27:32,258.258 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:27:32,264.264 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:27:32,270.270 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:27:34,311.311 INFO    ] ================================================
[2026-10-20 16:27:34,326.326 INFO    ] Launching Daemon at Tue Oct 20 16:27:34 IST 2026
[2026-10-20 16:27:34,336.336 INFO    ] ================================================
[2026-10-20 16:27:34,904.904 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:27:34
[2026-10-20 16:27:35,485.485 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:27:35,735.735 INFO    ] Initializing speech engine...
[2026-10-20 16:27:35,747.747 INFO    ] 2026-10-20 16:27:35
[2026-10-20 16:27:36,012.012 INFO    ] 2026-10-20 16:27:35
[2026-10-20 16:27:36,048.048 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:27:36,248.248 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:27:36,305.305 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:27:36,511.511 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:27:36,560.560 INFO    ] time= 20/10/2026 16:27:36
[2026-10-20 16:27:36,574.574 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:27:36,590.590 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:27:36,722.722 INFO    ] No existing commands found in stream
[2026-10-20 16:27:41,741.741 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:27:41,744.744 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-10-20 16:27:42,315.315 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 16:27:42,318.318 INFO    ] Checking for system updates...
[2026-10-20 16:27:42,353.353 INFO    ] 200
[2026-10-20 16:27:42,355.355 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:27:42,414.414 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:27:42,417.417 INFO    ] No update needed
[2026-10-20 16:27:42,419.419 INFO    ] Checking for camera pi updates...
[2026-10-20 16:27:42,452.452 INFO    ] 200
[2026-10-20 16:27:42,455.455 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:27:42,495.495 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:27:42,539.539 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:27:42,542.542 INFO    ] No camera update needed
[2026-10-20 16:27:42,544.544 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:27:42,546.546 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:27:42,552.552 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:27:42,557.557 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:27:44,597.597 INFO    ] ================================================
[2026-10-20 16:27:44,612.612 INFO    ] Launching Daemon at Tue Oct 20 16:27:44 IST 2026
[2026-10-20 16:27:44,623.623 INFO    ] ================================================
[2026-10-20 16:27:45,276.276 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:27:45
[2026-10-20 16:27:45,948.948 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:27:46,251.251 INFO    ] Initializing speech engine...
[2026-10-20 16:27:46,264.264 INFO    ] 2026-10-20 16:27:46
[2026-10-20 16:27:46,574.574 INFO    ] 2026-10-20 16:27:46
[2026-10-20 16:27:46,661.661 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:27:46,874.874 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:27:46,879.879 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:27:47,076.076 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:27:47,095.095 INFO    ] time= 20/10/2026 16:27:47
[2026-10-20 16:27:47,126.126 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:27:47,135.135 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:27:47,302.302 INFO    ] No existing commands found in stream
[2026-10-20 16:27:52,329.329 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:27:52,333.333 INFO    ] Waiting 0.80 seconds before fallback handling...
[2026-10-20 16:27:53,656.656 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:27:53,659.659 INFO    ] Checking for system updates...
[2026-10-20 16:27:53,700.700 INFO    ] 200
[2026-10-20 16:27:53,703.703 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:27:53,757.757 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:27:53,760.760 INFO    ] No update needed
[2026-10-20 16:27:53,763.763 INFO    ] Checking for camera pi updates...
[2026-10-20 16:27:53,797.797 INFO    ] 200
[2026-10-20 16:27:53,800.800 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:27:53,840.840 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:27:53,990.990 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:27:53,993.993 INFO    ] No camera update needed
[2026-10-20 16:27:53,995.995 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:27:53,998.998 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:27:54,004.004 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:27:54,010.010 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:27:56,049.049 INFO    ] ================================================
[2026-10-20 16:27:56,064.064 INFO    ] Launching Daemon at Tue Oct 20 16:27:56 IST 2026
[2026-10-20 16:27:56,075.075 INFO    ] ================================================
[2026-10-20 16:27:56,641.641 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:27:56
[2026-10-20 16:27:57,221.221 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:27:57,467.467 INFO    ] Initializing speech engine...
[2026-10-20 16:27:57,481.481 INFO    ] 2026-10-20 16:27:57
[2026-10-20 16:27:57,740.740 INFO    ] 2026-10-20 16:27:57
[2026-10-20 16:27:57,775.775 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:27:57,972.972 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:27:58,029.029 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:27:58,242.242 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:27:58,292.292 INFO    ] time= 20/10/2026 16:27:58
[2026-10-20 16:27:58,299.299 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:27:58,316.316 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:27:58,449.449 INFO    ] No existing commands found in stream
[2026-10-20 16:28:03,461.461 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:28:03,464.464 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-10-20 16:28:04,020.020 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:28:04,022.022 INFO    ] Checking for system updates...
[2026-10-20 16:28:04,062.062 INFO    ] 200
[2026-10-20 16:28:04,064.064 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:28:04,123.123 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:28:04,126.126 INFO    ] No update needed
[2026-10-20 16:28:04,128.128 INFO    ] Checking for camera pi updates...
[2026-10-20 16:28:04,166.166 INFO    ] 200
[2026-10-20 16:28:04,168.168 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:28:04,209.209 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:28:04,269.269 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:28:04,271.271 INFO    ] No camera update needed
[2026-10-20 16:28:04,274.274 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:28:04,276.276 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:28:04,281.281 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:28:04,286.286 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:28:06,328.328 INFO    ] ================================================
[2026-10-20 16:28:06,343.343 INFO    ] Launching Daemon at Tue Oct 20 16:28:06 IST 2026
[2026-10-20 16:28:06,354.354 INFO    ] ================================================
[2026-10-20 16:28:06,934.934 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:28:06
[2026-10-20 16:28:07,544.544 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:28:07,821.821 INFO    ] Initializing speech engine...
[2026-10-20 16:28:07,828.828 INFO    ] 2026-10-20 16:28:07
[2026-10-20 16:28:08,086.086 INFO    ] 2026-10-20 16:28:08
[2026-10-20 16:28:08,116.116 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:28:08,366.366 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:28:08,372.372 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:28:08,510.510 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:28:08,584.584 INFO    ] time= 20/10/2026 16:28:08
[2026-10-20 16:28:08,634.634 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:28:08,640.640 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:28:08,781.781 INFO    ] No existing commands found in stream
[2026-10-20 16:28:13,796.796 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:28:13,799.799 INFO    ] Waiting 0.48 seconds before fallback handling...
[2026-10-20 16:28:14,778.778 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:28:14,780.780 INFO    ] Checking for system updates...
[2026-10-20 16:28:14,821.821 INFO    ] 200
[2026-10-20 16:28:14,823.823 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:28:14,876.876 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:28:14,879.879 INFO    ] No update needed
[2026-10-20 16:28:14,881.881 INFO    ] Checking for camera pi updates...
[2026-10-20 16:28:14,919.919 INFO    ] 200
[2026-10-20 16:28:14,921.921 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:28:14,967.967 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:28:15,025.025 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:28:15,028.028 INFO    ] No camera update needed
[2026-10-20 16:28:15,030.030 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:28:15,033.033 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:28:15,038.038 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:28:15,043.043 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:28:17,084.084 INFO    ] ================================================
[2026-10-20 16:28:17,100.100 INFO    ] Launching Daemon at Tue Oct 20 16:28:17 IST 2026
[2026-10-20 16:28:17,110.110 INFO    ] ================================================
[2026-10-20 16:28:17,772.772 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:28:17
[2026-10-20 16:28:18,363.363 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:28:18,624.624 INFO    ] Initializing speech engine...
[2026-10-20 16:28:18,644.644 INFO    ] 2026-10-20 16:28:18
[2026-10-20 16:28:18,892.892 INFO    ] 2026-10-20 16:28:18
[2026-10-20 16:28:18,926.926 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:28:19,129.129 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:28:19,185.185 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:28:19,333.333 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:28:19,399.399 INFO    ] time= 20/10/2026 16:28:19
[2026-10-20 16:28:19,459.459 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:28:19,471.471 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:28:19,622.622 INFO    ] No existing commands found in stream
[2026-10-20 16:28:24,640.640 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:28:24,643.643 INFO    ] Waiting 1.77 seconds before fallback handling...
[2026-10-20 16:28:26,887.887 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:28:26,889.889 INFO    ] Checking for system updates...
[2026-10-20 16:28:26,924.924 INFO    ] 200
[2026-10-20 16:28:26,927.927 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:28:26,978.978 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:28:26,981.981 INFO    ] No update needed
[2026-10-20 16:28:26,983.983 INFO    ] Checking for camera pi updates...
[2026-10-20 16:28:27,017.017 INFO    ] 200
[2026-10-20 16:28:27,020.020 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:28:27,064.064 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:28:27,111.111 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:28:27,113.113 INFO    ] No camera update needed
[2026-10-20 16:28:27,115.115 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:28:27,117.117 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:28:27,123.123 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:28:27,128.128 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:28:29,168.168 INFO    ] ================================================
[2026-10-20 16:28:29,183.183 INFO    ] Launching Daemon at Tue Oct 20 16:28:29 IST 2026
[2026-10-20 16:28:29,194.194 INFO    ] ================================================
[2026-10-20 16:28:29,757.757 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:28:29
[2026-10-20 16:28:30,366.366 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:28:30,674.674 INFO    ] Initializing speech engine...
[2026-10-20 16:28:30,686.686 INFO    ] 2026-10-20 16:28:30
[2026-10-20 16:28:30,997.997 INFO    ] 2026-10-20 16:28:30
[2026-10-20 16:28:31,084.084 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:28:31,299.299 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:28:31,304.304 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:28:31,501.501 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:28:31,520.520 INFO    ] time= 20/10/2026 16:28:31
[2026-10-20 16:28:31,548.548 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:28:31,556.556 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:28:31,688.688 INFO    ] No existing commands found in stream
[2026-10-20 16:28:36,721.721 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:28:36,724.724 INFO    ] Waiting 3.94 seconds before fallback handling...
[2026-10-20 16:28:41,217.217 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:28:41,220.220 INFO    ] Checking for system updates...
[2026-10-20 16:28:41,262.262 INFO    ] 200
[2026-10-20 16:28:41,265.265 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:28:41,326.326 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:28:41,329.329 INFO    ] No update needed
[2026-10-20 16:28:41,332.332 INFO    ] Checking for camera pi updates...
[2026-10-20 16:28:41,371.371 INFO    ] 200
[2026-10-20 16:28:41,374.374 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:28:41,425.425 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:28:41,470.470 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:28:41,473.473 INFO    ] No camera update needed
[2026-10-20 16:28:41,476.476 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:28:41,479.479 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:28:41,485.485 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:28:41,491.491 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:28:43,531.531 INFO    ] ================================================
[2026-10-20 16:28:43,546.546 INFO    ] Launching Daemon at Tue Oct 20 16:28:43 IST 2026
[2026-10-20 16:28:43,557.557 INFO    ] ================================================
[2026-10-20 16:28:44,139.139 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:28:44
[2026-10-20 16:28:44,738.738 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:28:45,006.006 INFO    ] Initializing speech engine...
[2026-10-20 16:28:45,020.020 INFO    ] 2026-10-20 16:28:45
[2026-10-20 16:28:45,309.309 INFO    ] 2026-10-20 16:28:45
[2026-10-20 16:28:45,344.344 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:28:45,550.550 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:28:45,563.563 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:28:45,736.736 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:28:45,763.763 INFO    ] time= 20/10/2026 16:28:45
[2026-10-20 16:28:45,813.813 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:28:45,829.829 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:28:45,964.964 INFO    ] No existing commands found in stream
[2026-10-20 16:28:50,975.975 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:28:50,978.978 INFO    ] Waiting 1.58 seconds before fallback handling...
[2026-10-20 16:28:53,911.911 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:28:53,914.914 INFO    ] Checking for system updates...
[2026-10-20 16:28:53,953.953 INFO    ] 200
[2026-10-20 16:28:53,956.956 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:28:54,014.014 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:28:54,017.017 INFO    ] No update needed
[2026-10-20 16:28:54,019.019 INFO    ] Checking for camera pi updates...
[2026-10-20 16:28:54,056.056 INFO    ] 200
[2026-10-20 16:28:54,059.059 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:28:54,105.105 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:28:54,159.159 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:28:54,161.161 INFO    ] No camera update needed
[2026-10-20 16:28:54,164.164 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:28:54,166.166 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:28:54,171.171 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:28:54,176.176 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:28:56,216.216 INFO    ] ================================================
[2026-10-20 16:28:56,232.232 INFO    ] Launching Daemon at Tue Oct 20 16:28:56 IST 2026
[2026-10-20 16:28:56,243.243 INFO    ] ================================================
[2026-10-20 16:28:56,814.814 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:28:56
[2026-10-20 16:28:57,402.402 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:28:57,675.675 INFO    ] Initializing speech engine...
[2026-10-20 16:28:57,680.680 INFO    ] 2026-10-20 16:28:57
[2026-10-20 16:28:57,926.926 INFO    ] 2026-10-20 16:28:57
[2026-10-20 16:28:57,962.962 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:28:58,219.219 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:28:58,224.224 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:28:58,357.357 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:28:58,427.427 INFO    ] time= 20/10/2026 16:28:58
[2026-10-20 16:28:58,476.476 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:28:58,492.492 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:28:58,631.631 INFO    ] No existing commands found in stream
[2026-10-20 16:29:03,647.647 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:29:03,650.650 INFO    ] Waiting 1.88 seconds before fallback handling...
[2026-10-20 16:29:06,057.057 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:29:06,059.059 INFO    ] Checking for system updates...
[2026-10-20 16:29:06,096.096 INFO    ] 200
[2026-10-20 16:29:06,099.099 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:29:06,160.160 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:29:06,163.163 INFO    ] No update needed
[2026-10-20 16:29:06,166.166 INFO    ] Checking for camera pi updates...
[2026-10-20 16:29:06,204.204 INFO    ] 200
[2026-10-20 16:29:06,207.207 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:29:06,249.249 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:29:06,299.299 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:29:06,302.302 INFO    ] No camera update needed
[2026-10-20 16:29:06,305.305 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:29:06,307.307 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:29:06,314.314 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:29:06,324.324 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:29:08,365.365 INFO    ] ================================================
[2026-10-20 16:29:08,381.381 INFO    ] Launching Daemon at Tue Oct 20 16:29:08 IST 2026
[2026-10-20 16:29:08,393.393 INFO    ] ================================================
[2026-10-20 16:29:08,959.959 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:29:08
[2026-10-20 16:29:09,545.545 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:29:09,815.815 INFO    ] Initializing speech engine...
[2026-10-20 16:29:09,824.824 INFO    ] 2026-10-20 16:29:09
[2026-10-20 16:29:10,106.106 INFO    ] 2026-10-20 16:29:10
[2026-10-20 16:29:10,141.141 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:29:10,401.401 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:29:10,406.406 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:29:10,555.555 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:29:10,616.616 INFO    ] time= 20/10/2026 16:29:10
[2026-10-20 16:29:10,677.677 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:29:10,683.683 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:29:10,833.833 INFO    ] No existing commands found in stream
[2026-10-20 16:29:15,848.848 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:29:15,851.851 INFO    ] Waiting 2.68 seconds before fallback handling...
[2026-10-20 16:29:19,138.138 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:29:19,141.141 INFO    ] Checking for system updates...
[2026-10-20 16:29:19,188.188 INFO    ] 200
[2026-10-20 16:29:19,190.190 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:29:19,250.250 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:29:19,253.253 INFO    ] No update needed
[2026-10-20 16:29:19,255.255 INFO    ] Checking for camera pi updates...
[2026-10-20 16:29:19,288.288 INFO    ] 200
[2026-10-20 16:29:19,291.291 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:29:19,337.337 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:29:19,388.388 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:29:19,391.391 INFO    ] No camera update needed
[2026-10-20 16:29:19,394.394 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:29:19,397.397 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:29:19,403.403 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:29:19,409.409 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:29:21,449.449 INFO    ] ================================================
[2026-10-20 16:29:21,465.465 INFO    ] Launching Daemon at Tue Oct 20 16:29:21 IST 2026
[2026-10-20 16:29:21,476.476 INFO    ] ================================================
[2026-10-20 16:29:22,044.044 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:29:22
[2026-10-20 16:29:22,628.628 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:29:22,879.879 INFO    ] Initializing speech engine...
[2026-10-20 16:29:22,901.901 INFO    ] 2026-10-20 16:29:22
[2026-10-20 16:29:23,158.158 INFO    ] 2026-10-20 16:29:23
[2026-10-20 16:29:23,197.197 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:29:23,410.410 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:29:23,428.428 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:29:23,585.585 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:29:23,590.590 INFO    ] time= 20/10/2026 16:29:23
[2026-10-20 16:29:23,597.597 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:29:23,611.611 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:29:23,758.758 INFO    ] No existing commands found in stream
[2026-10-20 16:29:28,793.793 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:29:28,804.804 INFO    ] Waiting 3.34 seconds before fallback handling...
[2026-10-20 16:29:32,684.684 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:29:32,687.687 INFO    ] Checking for system updates...
[2026-10-20 16:29:32,729.729 INFO    ] 200
[2026-10-20 16:29:32,732.732 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:29:32,802.802 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:29:32,805.805 INFO    ] No update needed
[2026-10-20 16:29:32,807.807 INFO    ] Checking for camera pi updates...
[2026-10-20 16:29:32,852.852 INFO    ] 200
[2026-10-20 16:29:32,855.855 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:29:32,910.910 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:29:32,944.944 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:29:32,947.947 INFO    ] No camera update needed
[2026-10-20 16:29:32,949.949 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:29:32,952.952 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:29:32,957.957 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:29:32,962.962 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:29:35,002.002 INFO    ] ================================================
[2026-10-20 16:29:35,018.018 INFO    ] Launching Daemon at Tue Oct 20 16:29:35 IST 2026
[2026-10-20 16:29:35,029.029 INFO    ] ================================================
[2026-10-20 16:29:35,592.592 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:29:35
[2026-10-20 16:29:36,175.175 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:29:36,447.447 INFO    ] Initializing speech engine...
[2026-10-20 16:29:36,456.456 INFO    ] 2026-10-20 16:29:36
[2026-10-20 16:29:36,703.703 INFO    ] 2026-10-20 16:29:36
[2026-10-20 16:29:36,751.751 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:29:37,018.018 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:29:37,027.027 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:29:37,190.190 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:29:37,250.250 INFO    ] time= 20/10/2026 16:29:37
[2026-10-20 16:29:37,309.309 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:29:37,325.325 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:29:37,415.415 INFO    ] No existing commands found in stream
[2026-10-20 16:29:42,425.425 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:29:42,429.429 INFO    ] Waiting 1.58 seconds before fallback handling...
[2026-10-20 16:29:44,588.588 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 16:29:44,591.591 INFO    ] Checking for system updates...
[2026-10-20 16:29:44,633.633 INFO    ] 200
[2026-10-20 16:29:44,636.636 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:29:44,687.687 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:29:44,690.690 INFO    ] No update needed
[2026-10-20 16:29:44,692.692 INFO    ] Checking for camera pi updates...
[2026-10-20 16:29:44,725.725 INFO    ] 200
[2026-10-20 16:29:44,728.728 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:29:44,768.768 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:29:44,823.823 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:29:44,825.825 INFO    ] No camera update needed
[2026-10-20 16:29:44,827.827 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:29:44,830.830 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:29:44,835.835 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:29:44,840.840 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:29:46,882.882 INFO    ] ================================================
[2026-10-20 16:29:46,897.897 INFO    ] Launching Daemon at Tue Oct 20 16:29:46 IST 2026
[2026-10-20 16:29:46,908.908 INFO    ] ================================================
[2026-10-20 16:29:47,483.483 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:29:47
[2026-10-20 16:29:48,068.068 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:29:48,321.321 INFO    ] Initializing speech engine...
[2026-10-20 16:29:48,344.344 INFO    ] 2026-10-20 16:29:48
[2026-10-20 16:29:48,600.600 INFO    ] 2026-10-20 16:29:48
[2026-10-20 16:29:48,635.635 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:29:48,839.839 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:29:48,908.908 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:29:49,057.057 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:29:49,107.107 INFO    ] time= 20/10/2026 16:29:49
[2026-10-20 16:29:49,172.172 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:29:49,196.196 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:29:49,333.333 INFO    ] No existing commands found in stream
[2026-10-20 16:29:54,357.357 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:29:54,360.360 INFO    ] Waiting 3.40 seconds before fallback handling...
[2026-10-20 16:29:58,274.274 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:29:58,277.277 INFO    ] Checking for system updates...
[2026-10-20 16:29:58,317.317 INFO    ] 200
[2026-10-20 16:29:58,319.319 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:29:58,379.379 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:29:58,382.382 INFO    ] No update needed
[2026-10-20 16:29:58,384.384 INFO    ] Checking for camera pi updates...
[2026-10-20 16:29:58,422.422 INFO    ] 200
[2026-10-20 16:29:58,424.424 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:29:58,464.464 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:29:58,610.610 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:29:58,613.613 INFO    ] No camera update needed
[2026-10-20 16:29:58,616.616 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:29:58,619.619 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:29:58,625.625 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:29:58,631.631 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:30:00,672.672 INFO    ] ================================================
[2026-10-20 16:30:00,687.687 INFO    ] Launching Daemon at Tue Oct 20 16:30:00 IST 2026
[2026-10-20 16:30:00,698.698 INFO    ] ================================================
[2026-10-20 16:30:01,296.296 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:30:01
[2026-10-20 16:30:02,463.463 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:30:03,216.216 INFO    ] Initializing speech engine...
[2026-10-20 16:30:03,262.262 INFO    ] 2026-10-20 16:30:03
[2026-10-20 16:30:03,609.609 INFO    ] 2026-10-20 16:30:03
[2026-10-20 16:30:03,647.647 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:30:03,829.829 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:30:03,853.853 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:30:04,078.078 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:30:04,097.097 INFO    ] time= 20/10/2026 16:30:04
[2026-10-20 16:30:04,118.118 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:30:04,136.136 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:30:04,313.313 INFO    ] No existing commands found in stream
[2026-10-20 16:30:09,332.332 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:30:09,335.335 INFO    ] Waiting 3.77 seconds before fallback handling...
[2026-10-20 16:30:13,575.575 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:30:13,577.577 INFO    ] Checking for system updates...
[2026-10-20 16:30:13,615.615 INFO    ] 200
[2026-10-20 16:30:13,618.618 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:30:13,676.676 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:30:13,679.679 INFO    ] No update needed
[2026-10-20 16:30:13,682.682 INFO    ] Checking for camera pi updates...
[2026-10-20 16:30:13,718.718 INFO    ] 200
[2026-10-20 16:30:13,721.721 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:30:13,764.764 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:30:13,812.812 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:30:13,815.815 INFO    ] No camera update needed
[2026-10-20 16:30:13,817.817 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:30:13,820.820 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:30:13,825.825 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:30:13,830.830 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:30:15,869.869 INFO    ] ================================================
[2026-10-20 16:30:15,884.884 INFO    ] Launching Daemon at Tue Oct 20 16:30:15 IST 2026
[2026-10-20 16:30:15,895.895 INFO    ] ================================================
[2026-10-20 16:30:16,459.459 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:30:16
[2026-10-20 16:30:17,041.041 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:30:17,292.292 INFO    ] Initializing speech engine...
[2026-10-20 16:30:17,305.305 INFO    ] 2026-10-20 16:30:17
[2026-10-20 16:30:17,570.570 INFO    ] 2026-10-20 16:30:17
[2026-10-20 16:30:17,605.605 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:30:17,866.866 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:30:17,875.875 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:30:18,012.012 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:30:18,072.072 INFO    ] time= 20/10/2026 16:30:18
[2026-10-20 16:30:18,142.142 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:30:18,149.149 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:30:18,300.300 INFO    ] No existing commands found in stream
[2026-10-20 16:30:23,314.314 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:30:23,316.316 INFO    ] Waiting 1.27 seconds before fallback handling...
[2026-10-20 16:30:25,061.061 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:30:25,064.064 INFO    ] Checking for system updates...
[2026-10-20 16:30:25,101.101 INFO    ] 200
[2026-10-20 16:30:25,104.104 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:30:25,161.161 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:30:25,163.163 INFO    ] No update needed
[2026-10-20 16:30:25,165.165 INFO    ] Checking for camera pi updates...
[2026-10-20 16:30:25,202.202 INFO    ] 200
[2026-10-20 16:30:25,204.204 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:30:25,244.244 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:30:25,298.298 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:30:25,301.301 INFO    ] No camera update needed
[2026-10-20 16:30:25,305.305 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:30:25,308.308 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:30:25,316.316 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:30:25,322.322 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:30:27,363.363 INFO    ] ================================================
[2026-10-20 16:30:27,378.378 INFO    ] Launching Daemon at Tue Oct 20 16:30:27 IST 2026
[2026-10-20 16:30:27,389.389 INFO    ] ================================================
[2026-10-20 16:30:27,957.957 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:30:27
[2026-10-20 16:30:28,543.543 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:30:28,790.790 INFO    ] Initializing speech engine...
[2026-10-20 16:30:28,796.796 INFO    ] 2026-10-20 16:30:28
[2026-10-20 16:30:29,069.069 INFO    ] 2026-10-20 16:30:29
[2026-10-20 16:30:29,105.105 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:30:29,306.306 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:30:29,334.334 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:30:29,513.513 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:30:29,563.563 INFO    ] time= 20/10/2026 16:30:29
[2026-10-20 16:30:29,622.622 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:30:29,647.647 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:30:29,797.797 INFO    ] No existing commands found in stream
[2026-10-20 16:30:34,810.810 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:30:34,813.813 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-10-20 16:30:37,774.774 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 16:30:37,777.777 INFO    ] Checking for system updates...
[2026-10-20 16:30:37,815.815 INFO    ] 200
[2026-10-20 16:30:37,817.817 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:30:37,879.879 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:30:37,882.882 INFO    ] No update needed
[2026-10-20 16:30:37,884.884 INFO    ] Checking for camera pi updates...
[2026-10-20 16:30:37,921.921 INFO    ] 200
[2026-10-20 16:30:37,923.923 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:30:37,967.967 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:30:38,013.013 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:30:38,015.015 INFO    ] No camera update needed
[2026-10-20 16:30:38,017.017 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:30:38,020.020 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:30:38,025.025 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:30:38,030.030 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:30:40,070.070 INFO    ] ================================================
[2026-10-20 16:30:40,085.085 INFO    ] Launching Daemon at Tue Oct 20 16:30:40 IST 2026
[2026-10-20 16:30:40,096.096 INFO    ] ================================================
[2026-10-20 16:30:40,662.662 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:30:40
[2026-10-20 16:30:41,244.244 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:30:41,515.515 INFO    ] Initializing speech engine...
[2026-10-20 16:30:41,523.523 INFO    ] 2026-10-20 16:30:41
[2026-10-20 16:30:41,774.774 INFO    ] 2026-10-20 16:30:41
[2026-10-20 16:30:41,810.810 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:30:42,008.008 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:30:42,036.036 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:30:42,213.213 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:30:42,235.235 INFO    ] time= 20/10/2026 16:30:42
[2026-10-20 16:30:42,299.299 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:30:42,349.349 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:30:42,481.481 INFO    ] No existing commands found in stream
[2026-10-20 16:30:47,510.510 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:30:47,512.512 INFO    ] Waiting 0.19 seconds before fallback handling...
[2026-10-20 16:30:48,160.160 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 16:30:48,163.163 INFO    ] Checking for system updates...
[2026-10-20 16:30:48,202.202 INFO    ] 200
[2026-10-20 16:30:48,204.204 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:30:48,261.261 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:30:48,263.263 INFO    ] No update needed
[2026-10-20 16:30:48,266.266 INFO    ] Checking for camera pi updates...
[2026-10-20 16:30:48,302.302 INFO    ] 200
[2026-10-20 16:30:48,304.304 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:30:48,350.350 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:30:48,406.406 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:30:48,410.410 INFO    ] No camera update needed
[2026-10-20 16:30:48,413.413 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:30:48,417.417 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:30:48,423.423 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:30:48,429.429 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:30:50,470.470 INFO    ] ================================================
[2026-10-20 16:30:50,485.485 INFO    ] Launching Daemon at Tue Oct 20 16:30:50 IST 2026
[2026-10-20 16:30:50,496.496 INFO    ] ================================================
[2026-10-20 16:30:51,080.080 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:30:51
[2026-10-20 16:30:51,682.682 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:30:51,957.957 INFO    ] Initializing speech engine...
[2026-10-20 16:30:51,966.966 INFO    ] 2026-10-20 16:30:51
[2026-10-20 16:30:52,214.214 INFO    ] 2026-10-20 16:30:52
[2026-10-20 16:30:52,249.249 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:30:52,503.503 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:30:52,509.509 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:30:52,717.717 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:30:52,766.766 INFO    ] time= 20/10/2026 16:30:52
[2026-10-20 16:30:52,773.773 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:30:52,793.793 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:30:52,922.922 INFO    ] No existing commands found in stream
[2026-10-20 16:30:57,936.936 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:30:57,939.939 INFO    ] Waiting 1.28 seconds before fallback handling...
[2026-10-20 16:30:59,690.690 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:30:59,692.692 INFO    ] Checking for system updates...
[2026-10-20 16:30:59,729.729 INFO    ] 200
[2026-10-20 16:30:59,732.732 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:30:59,789.789 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:30:59,793.793 INFO    ] No update needed
[2026-10-20 16:30:59,795.795 INFO    ] Checking for camera pi updates...
[2026-10-20 16:30:59,829.829 INFO    ] 200
[2026-10-20 16:30:59,832.832 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:30:59,874.874 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:30:59,915.915 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:30:59,918.918 INFO    ] No camera update needed
[2026-10-20 16:30:59,921.921 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:30:59,923.923 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:30:59,929.929 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:30:59,935.935 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:31:01,979.979 INFO    ] ================================================
[2026-10-20 16:31:02,995.995 INFO    ] Launching Daemon at Tue Oct 20 16:31:01 IST 2026
[2026-10-20 16:31:02,011.011 INFO    ] ================================================
[2026-10-20 16:31:02,647.647 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:31:02
[2026-10-20 16:31:03,316.316 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:31:03,605.605 INFO    ] Initializing speech engine...
[2026-10-20 16:31:03,623.623 INFO    ] 2026-10-20 16:31:03
[2026-10-20 16:31:03,891.891 INFO    ] 2026-10-20 16:31:03
[2026-10-20 16:31:03,955.955 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:31:04,189.189 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:31:04,219.219 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:31:04,421.421 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:31:04,481.481 INFO    ] time= 20/10/2026 16:31:04
[2026-10-20 16:31:04,495.495 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:31:04,513.513 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:31:04,634.634 INFO    ] No existing commands found in stream
[2026-10-20 16:31:09,660.660 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:31:09,663.663 INFO    ] Waiting 1.96 seconds before fallback handling...
[2026-10-20 16:31:12,186.186 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:31:12,188.188 INFO    ] Checking for system updates...
[2026-10-20 16:31:12,230.230 INFO    ] 200
[2026-10-20 16:31:12,233.233 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:31:12,293.293 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:31:12,295.295 INFO    ] No update needed
[2026-10-20 16:31:12,297.297 INFO    ] Checking for camera pi updates...
[2026-10-20 16:31:12,336.336 INFO    ] 200
[2026-10-20 16:31:12,339.339 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:31:12,384.384 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:31:12,429.429 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:31:12,433.433 INFO    ] No camera update needed
[2026-10-20 16:31:12,436.436 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:31:12,438.438 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:31:12,444.444 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:31:12,449.449 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:31:14,490.490 INFO    ] ================================================
[2026-10-20 16:31:14,505.505 INFO    ] Launching Daemon at Tue Oct 20 16:31:14 IST 2026
[2026-10-20 16:31:14,516.516 INFO    ] ================================================
[2026-10-20 16:31:15,081.081 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:31:15
[2026-10-20 16:31:15,663.663 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:31:15,912.912 INFO    ] Initializing speech engine...
[2026-10-20 16:31:15,927.927 INFO    ] 2026-10-20 16:31:15
[2026-10-20 16:31:16,192.192 INFO    ] 2026-10-20 16:31:16
[2026-10-20 16:31:16,227.227 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:31:16,489.489 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:31:16,496.496 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:31:16,715.715 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:31:16,757.757 INFO    ] time= 20/10/2026 16:31:16
[2026-10-20 16:31:16,763.763 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:31:16,781.781 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:31:16,917.917 INFO    ] No existing commands found in stream
[2026-10-20 16:31:21,945.945 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:31:21,948.948 INFO    ] Waiting 2.56 seconds before fallback handling...
[2026-10-20 16:31:24,985.985 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:31:24,988.988 INFO    ] Checking for system updates...
[2026-10-20 16:31:25,023.023 INFO    ] 200
[2026-10-20 16:31:25,026.026 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:31:25,092.092 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:31:25,095.095 INFO    ] No update needed
[2026-10-20 16:31:25,097.097 INFO    ] Checking for camera pi updates...
[2026-10-20 16:31:25,131.131 INFO    ] 200
[2026-10-20 16:31:25,133.133 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:31:25,172.172 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:31:25,220.220 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:31:25,222.222 INFO    ] No camera update needed
[2026-10-20 16:31:25,225.225 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:31:25,227.227 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:31:25,232.232 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:31:25,237.237 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:31:27,278.278 INFO    ] ================================================
[2026-10-20 16:31:27,293.293 INFO    ] Launching Daemon at Tue Oct 20 16:31:27 IST 2026
[2026-10-20 16:31:27,304.304 INFO    ] ================================================
[2026-10-20 16:31:27,946.946 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:31:27
[2026-10-20 16:31:28,608.608 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:31:28,900.900 INFO    ] Initializing speech engine...
[2026-10-20 16:31:28,912.912 INFO    ] 2026-10-20 16:31:28
[2026-10-20 16:31:29,185.185 INFO    ] 2026-10-20 16:31:29
[2026-10-20 16:31:29,242.242 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:31:29,531.531 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:31:29,540.540 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:31:29,720.720 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:31:29,747.747 INFO    ] time= 20/10/2026 16:31:29
[2026-10-20 16:31:29,766.766 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:31:29,784.784 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:31:29,950.950 INFO    ] No existing commands found in stream
[2026-10-20 16:31:34,981.981 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:31:34,984.984 INFO    ] Waiting 0.23 seconds before fallback handling...
[2026-10-20 16:31:35,747.747 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:31:35,751.751 INFO    ] Checking for system updates...
[2026-10-20 16:31:35,787.787 INFO    ] 200
[2026-10-20 16:31:35,790.790 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:31:35,843.843 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:31:35,846.846 INFO    ] No update needed
[2026-10-20 16:31:35,849.849 INFO    ] Checking for camera pi updates...
[2026-10-20 16:31:35,887.887 INFO    ] 200
[2026-10-20 16:31:35,889.889 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:31:35,935.935 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:31:35,988.988 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:31:35,991.991 INFO    ] No camera update needed
[2026-10-20 16:31:35,993.993 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:31:35,996.996 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:31:36,002.002 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:31:36,008.008 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:31:38,048.048 INFO    ] ================================================
[2026-10-20 16:31:38,063.063 INFO    ] Launching Daemon at Tue Oct 20 16:31:38 IST 2026
[2026-10-20 16:31:38,073.073 INFO    ] ================================================
[2026-10-20 16:31:38,654.654 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:31:38
[2026-10-20 16:31:39,254.254 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:31:39,519.519 INFO    ] Initializing speech engine...
[2026-10-20 16:31:39,533.533 INFO    ] 2026-10-20 16:31:39
[2026-10-20 16:31:39,817.817 INFO    ] 2026-10-20 16:31:39
[2026-10-20 16:31:39,856.856 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:31:40,069.069 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:31:40,087.087 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:31:40,242.242 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:31:40,250.250 INFO    ] time= 20/10/2026 16:31:40
[2026-10-20 16:31:40,289.289 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:31:40,327.327 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:31:40,453.453 INFO    ] No existing commands found in stream
[2026-10-20 16:31:45,464.464 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:31:45,467.467 INFO    ] Waiting 3.38 seconds before fallback handling...
[2026-10-20 16:31:49,361.361 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:31:49,364.364 INFO    ] Checking for system updates...
[2026-10-20 16:31:49,411.411 INFO    ] 200
[2026-10-20 16:31:49,414.414 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:31:49,474.474 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:31:49,476.476 INFO    ] No update needed
[2026-10-20 16:31:49,479.479 INFO    ] Checking for camera pi updates...
[2026-10-20 16:31:49,518.518 INFO    ] 200
[2026-10-20 16:31:49,520.520 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:31:49,566.566 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:31:49,620.620 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:31:49,623.623 INFO    ] No camera update needed
[2026-10-20 16:31:49,625.625 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:31:49,628.628 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:31:49,633.633 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:31:49,639.639 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:31:51,679.679 INFO    ] ================================================
[2026-10-20 16:31:51,695.695 INFO    ] Launching Daemon at Tue Oct 20 16:31:51 IST 2026
[2026-10-20 16:31:51,706.706 INFO    ] ================================================
[2026-10-20 16:31:52,273.273 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:31:52
[2026-10-20 16:31:52,855.855 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:31:53,111.111 INFO    ] Initializing speech engine...
[2026-10-20 16:31:53,114.114 INFO    ] 2026-10-20 16:31:53
[2026-10-20 16:31:53,374.374 INFO    ] 2026-10-20 16:31:53
[2026-10-20 16:31:53,409.409 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:31:53,614.614 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:31:53,674.674 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:31:53,816.816 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:31:53,848.848 INFO    ] time= 20/10/2026 16:31:53
[2026-10-20 16:31:53,887.887 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:31:53,936.936 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:31:54,083.083 INFO    ] No existing commands found in stream
[2026-10-20 16:31:59,104.104 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:31:59,106.106 INFO    ] Waiting 3.95 seconds before fallback handling...
[2026-10-20 16:32:03,570.570 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:32:03,573.573 INFO    ] Checking for system updates...
[2026-10-20 16:32:03,610.610 INFO    ] 200
[2026-10-20 16:32:03,613.613 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:32:03,678.678 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:32:03,681.681 INFO    ] No update needed
[2026-10-20 16:32:03,685.685 INFO    ] Checking for camera pi updates...
[2026-10-20 16:32:03,726.726 INFO    ] 200
[2026-10-20 16:32:03,728.728 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:32:03,774.774 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:32:03,831.831 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:32:03,833.833 INFO    ] No camera update needed
[2026-10-20 16:32:03,836.836 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:32:03,839.839 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:32:03,845.845 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:32:03,851.851 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:32:05,893.893 INFO    ] ================================================
[2026-10-20 16:32:05,910.910 INFO    ] Launching Daemon at Tue Oct 20 16:32:05 IST 2026
[2026-10-20 16:32:05,920.920 INFO    ] ================================================
[2026-10-20 16:32:06,501.501 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:32:06
[2026-10-20 16:32:07,099.099 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:32:07,387.387 INFO    ] Initializing speech engine...
[2026-10-20 16:32:07,397.397 INFO    ] 2026-10-20 16:32:07
[2026-10-20 16:32:07,666.666 INFO    ] 2026-10-20 16:32:07
[2026-10-20 16:32:07,704.704 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:32:07,903.903 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:32:07,917.917 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:32:08,082.082 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:32:08,091.091 INFO    ] time= 20/10/2026 16:32:08
[2026-10-20 16:32:08,123.123 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:32:08,166.166 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:32:08,290.290 INFO    ] No existing commands found in stream
[2026-10-20 16:32:13,321.321 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:32:13,324.324 INFO    ] Waiting 1.79 seconds before fallback handling...
[2026-10-20 16:32:15,591.591 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:32:15,594.594 INFO    ] Checking for system updates...
[2026-10-20 16:32:15,629.629 INFO    ] 200
[2026-10-20 16:32:15,632.632 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:32:15,691.691 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:32:15,693.693 INFO    ] No update needed
[2026-10-20 16:32:15,695.695 INFO    ] Checking for camera pi updates...
[2026-10-20 16:32:15,733.733 INFO    ] 200
[2026-10-20 16:32:15,735.735 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:32:15,780.780 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:32:15,830.830 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:32:15,832.832 INFO    ] No camera update needed
[2026-10-20 16:32:15,835.835 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:32:15,837.837 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:32:15,843.843 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:32:15,848.848 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:32:17,887.887 INFO    ] ================================================
[2026-10-20 16:32:17,903.903 INFO    ] Launching Daemon at Tue Oct 20 16:32:17 IST 2026
[2026-10-20 16:32:17,913.913 INFO    ] ================================================
[2026-10-20 16:32:18,482.482 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:32:18
[2026-10-20 16:32:19,066.066 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:32:19,336.336 INFO    ] Initializing speech engine...
[2026-10-20 16:32:19,345.345 INFO    ] 2026-10-20 16:32:19
[2026-10-20 16:32:19,605.605 INFO    ] 2026-10-20 16:32:19
[2026-10-20 16:32:19,638.638 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:32:19,889.889 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:32:19,898.898 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:32:20,095.095 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:32:20,150.150 INFO    ] time= 20/10/2026 16:32:20
[2026-10-20 16:32:20,171.171 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:32:20,189.189 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:32:20,323.323 INFO    ] No existing commands found in stream
[2026-10-20 16:32:25,335.335 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:32:25,342.342 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-10-20 16:32:28,969.969 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:32:28,972.972 INFO    ] Checking for system updates...
[2026-10-20 16:32:29,008.008 INFO    ] 200
[2026-10-20 16:32:29,011.011 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:32:29,069.069 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:32:29,072.072 INFO    ] No update needed
[2026-10-20 16:32:29,075.075 INFO    ] Checking for camera pi updates...
[2026-10-20 16:32:29,109.109 INFO    ] 200
[2026-10-20 16:32:29,112.112 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:32:29,161.161 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:32:29,214.214 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:32:29,217.217 INFO    ] No camera update needed
[2026-10-20 16:32:29,219.219 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:32:29,222.222 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:32:29,228.228 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:32:29,234.234 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:32:31,275.275 INFO    ] ================================================
[2026-10-20 16:32:31,290.290 INFO    ] Launching Daemon at Tue Oct 20 16:32:31 IST 2026
[2026-10-20 16:32:31,301.301 INFO    ] ================================================
[2026-10-20 16:32:31,972.972 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:32:31
[2026-10-20 16:32:32,687.687 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:32:33,029.029 INFO    ] Initializing speech engine...
[2026-10-20 16:32:33,039.039 INFO    ] 2026-10-20 16:32:33
[2026-10-20 16:32:33,360.360 INFO    ] 2026-10-20 16:32:33
[2026-10-20 16:32:33,446.446 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:32:33,603.603 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:32:33,609.609 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:32:33,745.745 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:32:33,815.815 INFO    ] time= 20/10/2026 16:32:33
[2026-10-20 16:32:33,870.870 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:32:33,883.883 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:32:34,020.020 INFO    ] No existing commands found in stream
[2026-10-20 16:32:39,041.041 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:32:39,044.044 INFO    ] Waiting 1.04 seconds before fallback handling...
[2026-10-20 16:32:40,554.554 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:32:40,556.556 INFO    ] Checking for system updates...
[2026-10-20 16:32:40,593.593 INFO    ] 200
[2026-10-20 16:32:40,595.595 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:32:40,647.647 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:32:40,650.650 INFO    ] No update needed
[2026-10-20 16:32:40,652.652 INFO    ] Checking for camera pi updates...
[2026-10-20 16:32:40,685.685 INFO    ] 200
[2026-10-20 16:32:40,688.688 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:32:40,727.727 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:32:40,777.777 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:32:40,780.780 INFO    ] No camera update needed
[2026-10-20 16:32:40,783.783 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:32:40,785.785 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:32:40,790.790 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:32:40,795.795 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:32:42,835.835 INFO    ] ================================================
[2026-10-20 16:32:42,852.852 INFO    ] Launching Daemon at Tue Oct 20 16:32:42 IST 2026
[2026-10-20 16:32:42,863.863 INFO    ] ================================================
[2026-10-20 16:32:43,445.445 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:32:43
[2026-10-20 16:32:44,045.045 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:32:44,323.323 INFO    ] Initializing speech engine...
[2026-10-20 16:32:44,330.330 INFO    ] 2026-10-20 16:32:44
[2026-10-20 16:32:44,591.591 INFO    ] 2026-10-20 16:32:44
[2026-10-20 16:32:44,643.643 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:32:44,873.873 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:32:44,877.877 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:32:45,106.106 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:32:45,140.140 INFO    ] time= 20/10/2026 16:32:45
[2026-10-20 16:32:45,146.146 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:32:45,164.164 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:32:45,297.297 INFO    ] No existing commands found in stream
[2026-10-20 16:32:50,320.320 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:32:50,322.322 INFO    ] Waiting 3.61 seconds before fallback handling...
[2026-10-20 16:32:54,426.426 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:32:54,429.429 INFO    ] Checking for system updates...
[2026-10-20 16:32:54,471.471 INFO    ] 200
[2026-10-20 16:32:54,474.474 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:32:54,526.526 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:32:54,528.528 INFO    ] No update needed
[2026-10-20 16:32:54,531.531 INFO    ] Checking for camera pi updates...
[2026-10-20 16:32:54,568.568 INFO    ] 200
[2026-10-20 16:32:54,570.570 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:32:54,614.614 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:32:54,662.662 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:32:54,673.673 INFO    ] No camera update needed
[2026-10-20 16:32:54,676.676 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:32:54,680.680 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:32:54,686.686 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:32:54,692.692 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:32:56,736.736 INFO    ] ================================================
[2026-10-20 16:32:56,751.751 INFO    ] Launching Daemon at Tue Oct 20 16:32:56 IST 2026
[2026-10-20 16:32:56,762.762 INFO    ] ================================================
[2026-10-20 16:32:57,411.411 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:32:57
[2026-10-20 16:32:58,092.092 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:32:58,399.399 INFO    ] Initializing speech engine...
[2026-10-20 16:32:58,409.409 INFO    ] 2026-10-20 16:32:58
[2026-10-20 16:32:58,678.678 INFO    ] 2026-10-20 16:32:58
[2026-10-20 16:32:58,713.713 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:32:58,964.964 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:32:58,973.973 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:32:59,107.107 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:32:59,154.154 INFO    ] time= 20/10/2026 16:32:59
[2026-10-20 16:32:59,214.214 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:32:59,244.244 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:32:59,386.386 INFO    ] No existing commands found in stream
[2026-10-20 16:33:04,408.408 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:33:04,411.411 INFO    ] Waiting 3.08 seconds before fallback handling...
[2026-10-20 16:33:07,972.972 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 16:33:07,975.975 INFO    ] Checking for system updates...
[2026-10-20 16:33:08,010.010 INFO    ] 200
[2026-10-20 16:33:08,012.012 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:33:08,064.064 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:33:08,067.067 INFO    ] No update needed
[2026-10-20 16:33:08,069.069 INFO    ] Checking for camera pi updates...
[2026-10-20 16:33:08,112.112 INFO    ] 200
[2026-10-20 16:33:08,115.115 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:33:08,154.154 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:33:08,208.208 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:33:08,211.211 INFO    ] No camera update needed
[2026-10-20 16:33:08,213.213 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:33:08,215.215 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:33:08,221.221 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:33:08,225.225 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:33:10,264.264 INFO    ] ================================================
[2026-10-20 16:33:10,280.280 INFO    ] Launching Daemon at Tue Oct 20 16:33:10 IST 2026
[2026-10-20 16:33:10,291.291 INFO    ] ================================================
[2026-10-20 16:33:10,893.893 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:33:10
[2026-10-20 16:33:11,479.479 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:33:11,747.747 INFO    ] Initializing speech engine...
[2026-10-20 16:33:11,756.756 INFO    ] 2026-10-20 16:33:11
[2026-10-20 16:33:12,001.001 INFO    ] 2026-10-20 16:33:11
[2026-10-20 16:33:12,035.035 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:33:12,285.285 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:33:12,293.293 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:33:12,496.496 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:33:12,552.552 INFO    ] time= 20/10/2026 16:33:12
[2026-10-20 16:33:12,559.559 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:33:12,577.577 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:33:12,707.707 INFO    ] No existing commands found in stream
[2026-10-20 16:33:17,721.721 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:33:17,725.725 INFO    ] Waiting 0.16 seconds before fallback handling...
[2026-10-20 16:33:18,345.345 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:33:18,347.347 INFO    ] Checking for system updates...
[2026-10-20 16:33:18,382.382 INFO    ] 200
[2026-10-20 16:33:18,384.384 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:33:18,435.435 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:33:18,438.438 INFO    ] No update needed
[2026-10-20 16:33:18,440.440 INFO    ] Checking for camera pi updates...
[2026-10-20 16:33:18,474.474 INFO    ] 200
[2026-10-20 16:33:18,476.476 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:33:18,515.515 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:33:18,560.560 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:33:18,562.562 INFO    ] No camera update needed
[2026-10-20 16:33:18,565.565 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:33:18,567.567 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:33:18,572.572 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:33:18,577.577 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:33:20,619.619 INFO    ] ================================================
[2026-10-20 16:33:20,634.634 INFO    ] Launching Daemon at Tue Oct 20 16:33:20 IST 2026
[2026-10-20 16:33:20,645.645 INFO    ] ================================================
[2026-10-20 16:33:21,234.234 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:33:21
[2026-10-20 16:33:21,857.857 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:33:22,131.131 INFO    ] Initializing speech engine...
[2026-10-20 16:33:22,146.146 INFO    ] 2026-10-20 16:33:22
[2026-10-20 16:33:22,467.467 INFO    ] 2026-10-20 16:33:22
[2026-10-20 16:33:22,553.553 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:33:22,738.738 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:33:22,745.745 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:33:22,949.949 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:33:22,982.982 INFO    ] time= 20/10/2026 16:33:22
[2026-10-20 16:33:22,988.988 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:33:23,010.010 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:33:23,143.143 INFO    ] No existing commands found in stream
[2026-10-20 16:33:28,161.161 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:33:28,164.164 INFO    ] Waiting 1.99 seconds before fallback handling...
[2026-10-20 16:33:30,627.627 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:33:30,630.630 INFO    ] Checking for system updates...
[2026-10-20 16:33:30,667.667 INFO    ] 200
[2026-10-20 16:33:30,670.670 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:33:30,731.731 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:33:30,734.734 INFO    ] No update needed
[2026-10-20 16:33:30,737.737 INFO    ] Checking for camera pi updates...
[2026-10-20 16:33:30,777.777 INFO    ] 200
[2026-10-20 16:33:30,780.780 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:33:30,821.821 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:33:30,870.870 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:33:30,873.873 INFO    ] No camera update needed
[2026-10-20 16:33:30,875.875 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:33:30,878.878 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:33:30,884.884 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:33:30,890.890 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:33:32,934.934 INFO    ] ================================================
[2026-10-20 16:33:32,950.950 INFO    ] Launching Daemon at Tue Oct 20 16:33:32 IST 2026
[2026-10-20 16:33:32,968.968 INFO    ] ================================================
[2026-10-20 16:33:33,568.568 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:33:33
[2026-10-20 16:33:34,174.174 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:33:34,449.449 INFO    ] Initializing speech engine...
[2026-10-20 16:33:34,469.469 INFO    ] 2026-10-20 16:33:34
[2026-10-20 16:33:34,740.740 INFO    ] 2026-10-20 16:33:34
[2026-10-20 16:33:34,777.777 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:33:35,001.001 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:33:35,058.058 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:33:35,202.202 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:33:35,247.247 INFO    ] time= 20/10/2026 16:33:35
[2026-10-20 16:33:35,296.296 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:33:35,336.336 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:33:35,482.482 INFO    ] No existing commands found in stream
[2026-10-20 16:33:40,497.497 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:33:40,501.501 INFO    ] Waiting 2.63 seconds before fallback handling...
[2026-10-20 16:33:43,667.667 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:33:43,670.670 INFO    ] Checking for system updates...
[2026-10-20 16:33:43,711.711 INFO    ] 200
[2026-10-20 16:33:43,713.713 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:33:43,765.765 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:33:43,767.767 INFO    ] No update needed
[2026-10-20 16:33:43,770.770 INFO    ] Checking for camera pi updates...
[2026-10-20 16:33:43,808.808 INFO    ] 200
[2026-10-20 16:33:43,811.811 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:33:43,851.851 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:33:43,898.898 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:33:43,901.901 INFO    ] No camera update needed
[2026-10-20 16:33:43,904.904 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:33:43,906.906 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:33:43,912.912 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:33:43,918.918 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:33:45,961.961 INFO    ] ================================================
[2026-10-20 16:33:45,980.980 INFO    ] Launching Daemon at Tue Oct 20 16:33:45 IST 2026
[2026-10-20 16:33:45,991.991 INFO    ] ================================================
[2026-10-20 16:33:46,560.560 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:33:46
[2026-10-20 16:33:47,146.146 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:33:47,419.419 INFO    ] Initializing speech engine...
[2026-10-20 16:33:47,435.435 INFO    ] 2026-10-20 16:33:47
[2026-10-20 16:33:47,713.713 INFO    ] 2026-10-20 16:33:47
[2026-10-20 16:33:47,748.748 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:33:47,952.952 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:33:47,966.966 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:33:48,128.128 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:33:48,139.139 INFO    ] time= 20/10/2026 16:33:48
[2026-10-20 16:33:48,143.143 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:33:48,149.149 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:33:48,226.226 INFO    ] No existing commands found in stream
[2026-10-20 16:33:53,241.241 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:33:53,244.244 INFO    ] Waiting 2.98 seconds before fallback handling...
[2026-10-20 16:33:56,714.714 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:33:56,717.717 INFO    ] Checking for system updates...
[2026-10-20 16:33:56,753.753 INFO    ] 200
[2026-10-20 16:33:56,755.755 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:33:56,813.813 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:33:56,816.816 INFO    ] No update needed
[2026-10-20 16:33:56,818.818 INFO    ] Checking for camera pi updates...
[2026-10-20 16:33:56,852.852 INFO    ] 200
[2026-10-20 16:33:56,855.855 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:33:56,896.896 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:33:56,939.939 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:33:56,947.947 INFO    ] No camera update needed
[2026-10-20 16:33:56,949.949 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:33:56,952.952 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:33:56,957.957 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:33:56,962.962 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:33:59,004.004 INFO    ] ================================================
[2026-10-20 16:33:59,019.019 INFO    ] Launching Daemon at Tue Oct 20 16:33:59 IST 2026
[2026-10-20 16:33:59,030.030 INFO    ] ================================================
[2026-10-20 16:33:59,602.602 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:33:59
[2026-10-20 16:34:00,203.203 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:34:00,482.482 INFO    ] Initializing speech engine...
[2026-10-20 16:34:00,491.491 INFO    ] 2026-10-20 16:34:00
[2026-10-20 16:34:00,753.753 INFO    ] 2026-10-20 16:34:00
[2026-10-20 16:34:00,807.807 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:34:01,031.031 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:34:01,033.033 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:34:01,178.178 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:34:01,232.232 INFO    ] time= 20/10/2026 16:34:01
[2026-10-20 16:34:01,287.287 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:34:01,312.312 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:34:01,453.453 INFO    ] No existing commands found in stream
[2026-10-20 16:34:06,470.470 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:34:06,473.473 INFO    ] Waiting 2.47 seconds before fallback handling...
[2026-10-20 16:34:09,455.455 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:34:09,458.458 INFO    ] Checking for system updates...
[2026-10-20 16:34:09,498.498 INFO    ] 200
[2026-10-20 16:34:09,502.502 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:34:09,554.554 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:34:09,557.557 INFO    ] No update needed
[2026-10-20 16:34:09,559.559 INFO    ] Checking for camera pi updates...
[2026-10-20 16:34:09,593.593 INFO    ] 200
[2026-10-20 16:34:09,595.595 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:34:09,640.640 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:34:09,795.795 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:34:09,797.797 INFO    ] No camera update needed
[2026-10-20 16:34:09,800.800 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:34:09,802.802 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:34:09,808.808 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:34:09,813.813 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:34:11,858.858 INFO    ] ================================================
[2026-10-20 16:34:11,872.872 INFO    ] Launching Daemon at Tue Oct 20 16:34:11 IST 2026
[2026-10-20 16:34:11,883.883 INFO    ] ================================================
[2026-10-20 16:34:12,446.446 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:34:12
[2026-10-20 16:34:13,028.028 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:34:13,278.278 INFO    ] Initializing speech engine...
[2026-10-20 16:34:13,291.291 INFO    ] 2026-10-20 16:34:13
[2026-10-20 16:34:13,558.558 INFO    ] 2026-10-20 16:34:13
[2026-10-20 16:34:13,593.593 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:34:13,849.849 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:34:13,859.859 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:34:14,057.057 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:34:14,116.116 INFO    ] time= 20/10/2026 16:34:14
[2026-10-20 16:34:14,127.127 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:34:14,145.145 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:34:14,284.284 INFO    ] No existing commands found in stream
[2026-10-20 16:34:19,307.307 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:34:19,310.310 INFO    ] Waiting 0.88 seconds before fallback handling...
[2026-10-20 16:34:20,698.698 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:34:20,701.701 INFO    ] Checking for system updates...
[2026-10-20 16:34:20,735.735 INFO    ] 200
[2026-10-20 16:34:20,738.738 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:34:20,797.797 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:34:20,800.800 INFO    ] No update needed
[2026-10-20 16:34:20,802.802 INFO    ] Checking for camera pi updates...
[2026-10-20 16:34:20,835.835 INFO    ] 200
[2026-10-20 16:34:20,838.838 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:34:20,878.878 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:34:20,926.926 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:34:20,929.929 INFO    ] No camera update needed
[2026-10-20 16:34:20,931.931 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:34:20,934.934 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:34:20,939.939 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:34:20,944.944 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:34:22,986.986 INFO    ] ================================================
[2026-10-20 16:34:23,001.001 INFO    ] Launching Daemon at Tue Oct 20 16:34:22 IST 2026
[2026-10-20 16:34:23,011.011 INFO    ] ================================================
[2026-10-20 16:34:23,579.579 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:34:23
[2026-10-20 16:34:24,166.166 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:34:24,469.469 INFO    ] Initializing speech engine...
[2026-10-20 16:34:24,481.481 INFO    ] 2026-10-20 16:34:24
[2026-10-20 16:34:24,740.740 INFO    ] 2026-10-20 16:34:24
[2026-10-20 16:34:24,774.774 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:34:24,972.972 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:34:24,985.985 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:34:25,153.153 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:34:25,158.158 INFO    ] time= 20/10/2026 16:34:25
[2026-10-20 16:34:25,165.165 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:34:25,186.186 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:34:25,330.330 INFO    ] No existing commands found in stream
[2026-10-20 16:34:30,351.351 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:34:30,355.355 INFO    ] Waiting 1.04 seconds before fallback handling...
[2026-10-20 16:34:31,949.949 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:34:31,952.952 INFO    ] Checking for system updates...
[2026-10-20 16:34:31,991.991 INFO    ] 200
[2026-10-20 16:34:31,994.994 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:34:32,051.051 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:34:32,054.054 INFO    ] No update needed
[2026-10-20 16:34:32,057.057 INFO    ] Checking for camera pi updates...
[2026-10-20 16:34:32,092.092 INFO    ] 200
[2026-10-20 16:34:32,095.095 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:34:32,143.143 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:34:32,178.178 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:34:32,181.181 INFO    ] No camera update needed
[2026-10-20 16:34:32,183.183 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:34:32,186.186 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:34:32,203.203 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:34:32,208.208 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:34:34,251.251 INFO    ] ================================================
[2026-10-20 16:34:34,266.266 INFO    ] Launching Daemon at Tue Oct 20 16:34:34 IST 2026
[2026-10-20 16:34:34,277.277 INFO    ] ================================================
[2026-10-20 16:34:34,844.844 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:34:34
[2026-10-20 16:34:35,433.433 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:34:35,684.684 INFO    ] Initializing speech engine...
[2026-10-20 16:34:35,707.707 INFO    ] 2026-10-20 16:34:35
[2026-10-20 16:34:35,963.963 INFO    ] 2026-10-20 16:34:35
[2026-10-20 16:34:35,998.998 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:34:36,255.255 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:34:36,265.265 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:34:36,403.403 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:34:36,457.457 INFO    ] time= 20/10/2026 16:34:36
[2026-10-20 16:34:36,511.511 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:34:36,537.537 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:34:36,682.682 INFO    ] No existing commands found in stream
[2026-10-20 16:34:41,700.700 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:34:41,702.702 INFO    ] Waiting 0.64 seconds before fallback handling...
[2026-10-20 16:34:42,862.862 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:34:42,865.865 INFO    ] Checking for system updates...
[2026-10-20 16:34:42,901.901 INFO    ] 200
[2026-10-20 16:34:42,903.903 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:34:42,962.962 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:34:42,964.964 INFO    ] No update needed
[2026-10-20 16:34:42,967.967 INFO    ] Checking for camera pi updates...
[2026-10-20 16:34:43,003.003 INFO    ] 200
[2026-10-20 16:34:43,006.006 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:34:43,055.055 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:34:43,098.098 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:34:43,101.101 INFO    ] No camera update needed
[2026-10-20 16:34:43,104.104 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:34:43,106.106 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:34:43,112.112 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:34:43,118.118 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:34:45,159.159 INFO    ] ================================================
[2026-10-20 16:34:45,173.173 INFO    ] Launching Daemon at Tue Oct 20 16:34:45 IST 2026
[2026-10-20 16:34:45,184.184 INFO    ] ================================================
[2026-10-20 16:34:45,758.758 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:34:45
[2026-10-20 16:34:46,361.361 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:34:46,622.622 INFO    ] Initializing speech engine...
[2026-10-20 16:34:46,628.628 INFO    ] 2026-10-20 16:34:46
[2026-10-20 16:34:46,921.921 INFO    ] 2026-10-20 16:34:46
[2026-10-20 16:34:46,958.958 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:34:47,182.182 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:34:47,247.247 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:34:47,406.406 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:34:47,466.466 INFO    ] time= 20/10/2026 16:34:47
[2026-10-20 16:34:47,516.516 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:34:47,553.553 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:34:47,701.701 INFO    ] No existing commands found in stream
[2026-10-20 16:34:52,727.727 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:34:52,730.730 INFO    ] Waiting 3.01 seconds before fallback handling...
[2026-10-20 16:34:56,255.255 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:34:56,258.258 INFO    ] Checking for system updates...
[2026-10-20 16:34:56,294.294 INFO    ] 200
[2026-10-20 16:34:56,297.297 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:34:56,349.349 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:34:56,351.351 INFO    ] No update needed
[2026-10-20 16:34:56,354.354 INFO    ] Checking for camera pi updates...
[2026-10-20 16:34:56,394.394 INFO    ] 200
[2026-10-20 16:34:56,397.397 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:34:56,438.438 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:34:56,488.488 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:34:56,490.490 INFO    ] No camera update needed
[2026-10-20 16:34:56,493.493 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:34:56,495.495 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:34:56,500.500 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:34:56,505.505 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:34:58,545.545 INFO    ] ================================================
[2026-10-20 16:34:58,560.560 INFO    ] Launching Daemon at Tue Oct 20 16:34:58 IST 2026
[2026-10-20 16:34:58,570.570 INFO    ] ================================================
[2026-10-20 16:34:59,153.153 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:34:59
[2026-10-20 16:34:59,753.753 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:35:00,031.031 INFO    ] Initializing speech engine...
[2026-10-20 16:35:00,040.040 INFO    ] 2026-10-20 16:35:00
[2026-10-20 16:35:00,299.299 INFO    ] 2026-10-20 16:35:00
[2026-10-20 16:35:00,331.331 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:35:00,575.575 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:35:00,584.584 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:35:00,723.723 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:35:00,768.768 INFO    ] time= 20/10/2026 16:35:00
[2026-10-20 16:35:00,771.771 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:35:00,825.825 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:35:00,973.973 INFO    ] No existing commands found in stream
[2026-10-20 16:35:06,003.003 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:35:06,006.006 INFO    ] Waiting 2.95 seconds before fallback handling...
[2026-10-20 16:35:09,467.467 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 16:35:09,470.470 INFO    ] Checking for system updates...
[2026-10-20 16:35:09,510.510 INFO    ] 200
[2026-10-20 16:35:09,512.512 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:35:09,571.571 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:35:09,574.574 INFO    ] No update needed
[2026-10-20 16:35:09,576.576 INFO    ] Checking for camera pi updates...
[2026-10-20 16:35:09,616.616 INFO    ] 200
[2026-10-20 16:35:09,621.621 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:35:09,668.668 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:35:09,711.711 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:35:09,714.714 INFO    ] No camera update needed
[2026-10-20 16:35:09,716.716 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:35:09,719.719 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:35:09,724.724 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:35:09,729.729 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:35:11,769.769 INFO    ] ================================================
[2026-10-20 16:35:11,784.784 INFO    ] Launching Daemon at Tue Oct 20 16:35:11 IST 2026
[2026-10-20 16:35:11,795.795 INFO    ] ================================================
[2026-10-20 16:35:12,464.464 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:35:12
[2026-10-20 16:35:13,145.145 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:35:13,445.445 INFO    ] Initializing speech engine...
[2026-10-20 16:35:13,456.456 INFO    ] 2026-10-20 16:35:13
[2026-10-20 16:35:13,732.732 INFO    ] 2026-10-20 16:35:13
[2026-10-20 16:35:13,794.794 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:35:14,050.050 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:35:14,057.057 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:35:14,295.295 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:35:14,302.302 INFO    ] time= 20/10/2026 16:35:14
[2026-10-20 16:35:14,324.324 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:35:14,351.351 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:35:14,496.496 INFO    ] No existing commands found in stream
[2026-10-20 16:35:19,521.521 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:35:19,524.524 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-10-20 16:35:23,517.517 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:35:23,520.520 INFO    ] Checking for system updates...
[2026-10-20 16:35:23,557.557 INFO    ] 200
[2026-10-20 16:35:23,560.560 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:35:23,612.612 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:35:23,615.615 INFO    ] No update needed
[2026-10-20 16:35:23,618.618 INFO    ] Checking for camera pi updates...
[2026-10-20 16:35:23,655.655 INFO    ] 200
[2026-10-20 16:35:23,657.657 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:35:23,699.699 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:35:23,749.749 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:35:23,751.751 INFO    ] No camera update needed
[2026-10-20 16:35:23,754.754 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:35:23,756.756 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:35:23,762.762 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:35:23,767.767 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:35:25,806.806 INFO    ] ================================================
[2026-10-20 16:35:25,822.822 INFO    ] Launching Daemon at Tue Oct 20 16:35:25 IST 2026
[2026-10-20 16:35:25,832.832 INFO    ] ================================================
[2026-10-20 16:35:26,410.410 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:35:26
[2026-10-20 16:35:27,007.007 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:35:27,282.282 INFO    ] Initializing speech engine...
[2026-10-20 16:35:27,292.292 INFO    ] 2026-10-20 16:35:27
[2026-10-20 16:35:27,539.539 INFO    ] 2026-10-20 16:35:27
[2026-10-20 16:35:27,575.575 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:35:27,831.831 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:35:27,836.836 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:35:28,043.043 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:35:28,094.094 INFO    ] time= 20/10/2026 16:35:28
[2026-10-20 16:35:28,101.101 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:35:28,118.118 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:35:28,270.270 INFO    ] No existing commands found in stream
[2026-10-20 16:35:33,291.291 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:35:33,294.294 INFO    ] Waiting 1.92 seconds before fallback handling...
[2026-10-20 16:35:35,712.712 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:35:35,715.715 INFO    ] Checking for system updates...
[2026-10-20 16:35:35,751.751 INFO    ] 200
[2026-10-20 16:35:35,754.754 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:35:35,806.806 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:35:35,809.809 INFO    ] No update needed
[2026-10-20 16:35:35,811.811 INFO    ] Checking for camera pi updates...
[2026-10-20 16:35:35,846.846 INFO    ] 200
[2026-10-20 16:35:35,848.848 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:35:35,889.889 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:35:35,937.937 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:35:35,940.940 INFO    ] No camera update needed
[2026-10-20 16:35:35,942.942 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:35:35,945.945 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:35:35,950.950 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:35:35,955.955 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:35:38,997.997 INFO    ] ================================================
[2026-10-20 16:35:38,013.013 INFO    ] Launching Daemon at Tue Oct 20 16:35:38 IST 2026
[2026-10-20 16:35:38,024.024 INFO    ] ================================================
[2026-10-20 16:35:38,588.588 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:35:38
[2026-10-20 16:35:39,170.170 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:35:39,426.426 INFO    ] Initializing speech engine...
[2026-10-20 16:35:39,449.449 INFO    ] 2026-10-20 16:35:39
[2026-10-20 16:35:39,704.704 INFO    ] 2026-10-20 16:35:39
[2026-10-20 16:35:39,739.739 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:35:39,989.989 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:35:39,998.998 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:35:40,200.200 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:35:40,255.255 INFO    ] time= 20/10/2026 16:35:40
[2026-10-20 16:35:40,272.272 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:35:40,281.281 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:35:40,378.378 INFO    ] No existing commands found in stream
[2026-10-20 16:35:45,405.405 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:35:45,408.408 INFO    ] Waiting 2.80 seconds before fallback handling...
[2026-10-20 16:35:48,692.692 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:35:48,695.695 INFO    ] Checking for system updates...
[2026-10-20 16:35:48,736.736 INFO    ] 200
[2026-10-20 16:35:48,738.738 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:35:48,800.800 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:35:48,803.803 INFO    ] No update needed
[2026-10-20 16:35:48,806.806 INFO    ] Checking for camera pi updates...
[2026-10-20 16:35:48,847.847 INFO    ] 200
[2026-10-20 16:35:48,849.849 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:35:48,897.897 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:35:48,947.947 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:35:48,950.950 INFO    ] No camera update needed
[2026-10-20 16:35:48,952.952 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:35:48,955.955 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:35:48,962.962 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:35:48,968.968 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:35:51,010.010 INFO    ] ================================================
[2026-10-20 16:35:51,024.024 INFO    ] Launching Daemon at Tue Oct 20 16:35:51 IST 2026
[2026-10-20 16:35:51,035.035 INFO    ] ================================================
[2026-10-20 16:35:51,602.602 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:35:51
[2026-10-20 16:35:52,186.186 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:35:52,457.457 INFO    ] Initializing speech engine...
[2026-10-20 16:35:52,463.463 INFO    ] 2026-10-20 16:35:52
[2026-10-20 16:35:52,718.718 INFO    ] 2026-10-20 16:35:52
[2026-10-20 16:35:52,753.753 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:35:53,021.021 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:35:53,030.030 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:35:53,187.187 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:35:53,204.204 INFO    ] time= 20/10/2026 16:35:53
[2026-10-20 16:35:53,254.254 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:35:53,308.308 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:35:53,474.474 INFO    ] No existing commands found in stream
[2026-10-20 16:35:58,494.494 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:35:58,496.496 INFO    ] Waiting 4.00 seconds before fallback handling...
[2026-10-20 16:36:02,996.996 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:36:02,999.999 INFO    ] Checking for system updates...
[2026-10-20 16:36:03,035.035 INFO    ] 200
[2026-10-20 16:36:03,037.037 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:36:03,089.089 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:36:03,092.092 INFO    ] No update needed
[2026-10-20 16:36:03,094.094 INFO    ] Checking for camera pi updates...
[2026-10-20 16:36:03,127.127 INFO    ] 200
[2026-10-20 16:36:03,129.129 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:36:03,170.170 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:36:03,199.199 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:36:03,201.201 INFO    ] No camera update needed
[2026-10-20 16:36:03,204.204 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:36:03,206.206 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:36:03,211.211 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:36:03,216.216 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:36:05,256.256 INFO    ] ================================================
[2026-10-20 16:36:05,271.271 INFO    ] Launching Daemon at Tue Oct 20 16:36:05 IST 2026
[2026-10-20 16:36:05,282.282 INFO    ] ================================================
[2026-10-20 16:36:05,868.868 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:36:05
[2026-10-20 16:36:06,471.471 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:36:06,745.745 INFO    ] Initializing speech engine...
[2026-10-20 16:36:06,756.756 INFO    ] 2026-10-20 16:36:06
[2026-10-20 16:36:07,005.005 INFO    ] 2026-10-20 16:36:06
[2026-10-20 16:36:07,047.047 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:36:07,297.297 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:36:07,302.302 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:36:07,530.530 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:36:07,568.568 INFO    ] time= 20/10/2026 16:36:07
[2026-10-20 16:36:07,574.574 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:36:07,595.595 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:36:07,721.721 INFO    ] No existing commands found in stream
[2026-10-20 16:36:12,736.736 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:36:12,739.739 INFO    ] Waiting 2.39 seconds before fallback handling...
[2026-10-20 16:36:15,664.664 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:36:15,667.667 INFO    ] Checking for system updates...
[2026-10-20 16:36:15,702.702 INFO    ] 200
[2026-10-20 16:36:15,705.705 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:36:15,764.764 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:36:15,767.767 INFO    ] No update needed
[2026-10-20 16:36:15,769.769 INFO    ] Checking for camera pi updates...
[2026-10-20 16:36:15,803.803 INFO    ] 200
[2026-10-20 16:36:15,805.805 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:36:15,851.851 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:36:15,995.995 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:36:15,997.997 INFO    ] No camera update needed
[2026-10-20 16:36:16,000.000 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:36:16,003.003 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:36:16,008.008 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:36:16,013.013 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:36:18,053.053 INFO    ] ================================================
[2026-10-20 16:36:18,069.069 INFO    ] Launching Daemon at Tue Oct 20 16:36:18 IST 2026
[2026-10-20 16:36:18,081.081 INFO    ] ================================================
[2026-10-20 16:36:18,668.668 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:36:18
[2026-10-20 16:36:19,272.272 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:36:19,562.562 INFO    ] Initializing speech engine...
[2026-10-20 16:36:19,572.572 INFO    ] 2026-10-20 16:36:19
[2026-10-20 16:36:19,819.819 INFO    ] 2026-10-20 16:36:19
[2026-10-20 16:36:19,861.861 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:36:20,127.127 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:36:20,132.132 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:36:20,268.268 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:36:20,333.333 INFO    ] time= 20/10/2026 16:36:20
[2026-10-20 16:36:20,396.396 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:36:20,403.403 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:36:20,548.548 INFO    ] No existing commands found in stream
[2026-10-20 16:36:25,563.563 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:36:25,566.566 INFO    ] Waiting 3.26 seconds before fallback handling...
[2026-10-20 16:36:29,349.349 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:36:29,352.352 INFO    ] Checking for system updates...
[2026-10-20 16:36:29,388.388 INFO    ] 200
[2026-10-20 16:36:29,391.391 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:36:29,451.451 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:36:29,453.453 INFO    ] No update needed
[2026-10-20 16:36:29,456.456 INFO    ] Checking for camera pi updates...
[2026-10-20 16:36:29,489.489 INFO    ] 200
[2026-10-20 16:36:29,492.492 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:36:29,533.533 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:36:29,578.578 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:36:29,581.581 INFO    ] No camera update needed
[2026-10-20 16:36:29,584.584 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:36:29,587.587 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:36:29,593.593 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:36:29,599.599 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:36:31,642.642 INFO    ] ================================================
[2026-10-20 16:36:31,664.664 INFO    ] Launching Daemon at Tue Oct 20 16:36:31 IST 2026
[2026-10-20 16:36:31,679.679 INFO    ] ================================================
[2026-10-20 16:36:32,301.301 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:36:32
[2026-10-20 16:36:32,925.925 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:36:33,202.202 INFO    ] Initializing speech engine...
[2026-10-20 16:36:33,210.210 INFO    ] 2026-10-20 16:36:33
[2026-10-20 16:36:33,470.470 INFO    ] 2026-10-20 16:36:33
[2026-10-20 16:36:33,526.526 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:36:33,752.752 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:36:33,756.756 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:36:33,980.980 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:36:34,014.014 INFO    ] time= 20/10/2026 16:36:33
[2026-10-20 16:36:34,020.020 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:36:34,041.041 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:36:34,168.168 INFO    ] No existing commands found in stream
[2026-10-20 16:36:39,183.183 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:36:39,186.186 INFO    ] Waiting 3.74 seconds before fallback handling...
[2026-10-20 16:36:43,408.408 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:36:43,411.411 INFO    ] Checking for system updates...
[2026-10-20 16:36:43,451.451 INFO    ] 200
[2026-10-20 16:36:43,453.453 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:36:43,525.525 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:36:43,528.528 INFO    ] No update needed
[2026-10-20 16:36:43,530.530 INFO    ] Checking for camera pi updates...
[2026-10-20 16:36:43,564.564 INFO    ] 200
[2026-10-20 16:36:43,566.566 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:36:43,606.606 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:36:43,648.648 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:36:43,650.650 INFO    ] No camera update needed
[2026-10-20 16:36:43,653.653 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:36:43,655.655 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:36:43,660.660 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:36:43,665.665 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:36:45,705.705 INFO    ] ================================================
[2026-10-20 16:36:45,721.721 INFO    ] Launching Daemon at Tue Oct 20 16:36:45 IST 2026
[2026-10-20 16:36:45,733.733 INFO    ] ================================================
[2026-10-20 16:36:46,315.315 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:36:46
[2026-10-20 16:36:46,912.912 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:36:47,190.190 INFO    ] Initializing speech engine...
[2026-10-20 16:36:47,199.199 INFO    ] 2026-10-20 16:36:47
[2026-10-20 16:36:47,457.457 INFO    ] 2026-10-20 16:36:47
[2026-10-20 16:36:47,487.487 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:36:47,732.732 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:36:47,742.742 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:36:47,881.881 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:36:47,942.942 INFO    ] time= 20/10/2026 16:36:47
[2026-10-20 16:36:47,991.991 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:36:48,010.010 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:36:48,139.139 INFO    ] No existing commands found in stream
[2026-10-20 16:36:53,164.164 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:36:53,166.166 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-10-20 16:36:56,897.897 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:36:56,899.899 INFO    ] Checking for system updates...
[2026-10-20 16:36:56,939.939 INFO    ] 200
[2026-10-20 16:36:56,942.942 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:36:56,993.993 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:36:56,996.996 INFO    ] No update needed
[2026-10-20 16:36:56,998.998 INFO    ] Checking for camera pi updates...
[2026-10-20 16:36:57,036.036 INFO    ] 200
[2026-10-20 16:36:57,039.039 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:36:57,079.079 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:36:57,128.128 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:36:57,131.131 INFO    ] No camera update needed
[2026-10-20 16:36:57,133.133 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:36:57,135.135 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:36:57,141.141 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:36:57,146.146 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:36:59,190.190 INFO    ] ================================================
[2026-10-20 16:36:59,204.204 INFO    ] Launching Daemon at Tue Oct 20 16:36:59 IST 2026
[2026-10-20 16:36:59,215.215 INFO    ] ================================================
[2026-10-20 16:36:59,781.781 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:36:59
[2026-10-20 16:37:00,370.370 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:37:00,626.626 INFO    ] Initializing speech engine...
[2026-10-20 16:37:00,637.637 INFO    ] 2026-10-20 16:37:00
[2026-10-20 16:37:00,935.935 INFO    ] 2026-10-20 16:37:00
[2026-10-20 16:37:00,972.972 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:37:01,197.197 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:37:01,207.207 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:37:01,423.423 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:37:01,440.440 INFO    ] time= 20/10/2026 16:37:01
[2026-10-20 16:37:01,453.453 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:37:01,513.513 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:37:01,645.645 INFO    ] No existing commands found in stream
[2026-10-20 16:37:06,657.657 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:37:06,660.660 INFO    ] Waiting 3.54 seconds before fallback handling...
[2026-10-20 16:37:10,746.746 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:37:10,749.749 INFO    ] Checking for system updates...
[2026-10-20 16:37:10,794.794 INFO    ] 200
[2026-10-20 16:37:10,796.796 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 16:37:10,799.799 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-10-20 16:37:10,802.802 INFO    ] Checking for camera pi updates...
[2026-10-20 16:37:10,849.849 INFO    ] 200
[2026-10-20 16:37:10,852.852 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 16:37:10,854.854 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-10-20 16:37:10,857.857 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:37:10,859.859 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:37:10,865.865 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:37:10,871.871 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:37:12,913.913 INFO    ] ================================================
[2026-10-20 16:37:12,928.928 INFO    ] Launching Daemon at Tue Oct 20 16:37:12 IST 2026
[2026-10-20 16:37:12,940.940 INFO    ] ================================================
[2026-10-20 16:37:13,526.526 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:37:13
[2026-10-20 16:37:14,109.109 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:37:14,378.378 INFO    ] Initializing speech engine...
[2026-10-20 16:37:14,388.388 INFO    ] 2026-10-20 16:37:14
[2026-10-20 16:37:14,643.643 INFO    ] 2026-10-20 16:37:14
[2026-10-20 16:37:14,679.679 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:37:14,879.879 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:37:14,940.940 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:37:15,067.067 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:37:15,087.087 INFO    ] time= 20/10/2026 16:37:15
[2026-10-20 16:37:15,129.129 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:37:15,183.183 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:37:15,300.300 INFO    ] No existing commands found in stream
[2026-10-20 16:37:20,316.316 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:37:20,319.319 INFO    ] Waiting 0.15 seconds before fallback handling...
[2026-10-20 16:37:21,020.020 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:37:21,022.022 INFO    ] Checking for system updates...
[2026-10-20 16:37:21,063.063 INFO    ] 200
[2026-10-20 16:37:21,065.065 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:37:21,116.116 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:37:21,119.119 INFO    ] No update needed
[2026-10-20 16:37:21,122.122 INFO    ] Checking for camera pi updates...
[2026-10-20 16:37:21,158.158 INFO    ] 200
[2026-10-20 16:37:21,161.161 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:37:21,201.201 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:37:21,251.251 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:37:21,254.254 INFO    ] No camera update needed
[2026-10-20 16:37:21,256.256 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:37:21,259.259 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:37:21,264.264 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:37:21,269.269 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:37:23,313.313 INFO    ] ================================================
[2026-10-20 16:37:23,328.328 INFO    ] Launching Daemon at Tue Oct 20 16:37:23 IST 2026
[2026-10-20 16:37:23,339.339 INFO    ] ================================================
[2026-10-20 16:37:23,994.994 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:37:23
[2026-10-20 16:37:24,576.576 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:37:24,843.843 INFO    ] Initializing speech engine...
[2026-10-20 16:37:24,852.852 INFO    ] 2026-10-20 16:37:24
[2026-10-20 16:37:25,097.097 INFO    ] 2026-10-20 16:37:25
[2026-10-20 16:37:25,131.131 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:37:25,358.358 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:37:25,367.367 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:37:25,592.592 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:37:25,605.605 INFO    ] time= 20/10/2026 16:37:25
[2026-10-20 16:37:25,649.649 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:37:25,698.698 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:37:25,812.812 INFO    ] No existing commands found in stream
[2026-10-20 16:37:30,821.821 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:37:30,827.827 INFO    ] Waiting 2.90 seconds before fallback handling...
[2026-10-20 16:37:34,222.222 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:37:34,224.224 INFO    ] Checking for system updates...
[2026-10-20 16:37:34,260.260 INFO    ] 200
[2026-10-20 16:37:34,262.262 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:37:34,322.322 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:37:34,325.325 INFO    ] No update needed
[2026-10-20 16:37:34,327.327 INFO    ] Checking for camera pi updates...
[2026-10-20 16:37:34,365.365 INFO    ] 200
[2026-10-20 16:37:34,367.367 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:37:34,407.407 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:37:34,452.452 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:37:34,454.454 INFO    ] No camera update needed
[2026-10-20 16:37:34,457.457 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:37:34,459.459 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:37:34,464.464 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:37:34,469.469 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:37:36,509.509 INFO    ] ================================================
[2026-10-20 16:37:36,524.524 INFO    ] Launching Daemon at Tue Oct 20 16:37:36 IST 2026
[2026-10-20 16:37:36,535.535 INFO    ] ================================================
[2026-10-20 16:37:37,099.099 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:37:37
[2026-10-20 16:37:37,682.682 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:37:37,955.955 INFO    ] Initializing speech engine...
[2026-10-20 16:37:37,961.961 INFO    ] 2026-10-20 16:37:37
[2026-10-20 16:37:38,210.210 INFO    ] 2026-10-20 16:37:38
[2026-10-20 16:37:38,245.245 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:37:38,503.503 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:37:38,512.512 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:37:38,649.649 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:37:38,719.719 INFO    ] time= 20/10/2026 16:37:38
[2026-10-20 16:37:38,769.769 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:37:38,786.786 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:37:38,936.936 INFO    ] No existing commands found in stream
[2026-10-20 16:37:43,964.964 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:37:43,967.967 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-10-20 16:37:48,016.016 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:37:48,018.018 INFO    ] Checking for system updates...
[2026-10-20 16:37:48,054.054 INFO    ] 200
[2026-10-20 16:37:48,056.056 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:37:48,107.107 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:37:48,110.110 INFO    ] No update needed
[2026-10-20 16:37:48,112.112 INFO    ] Checking for camera pi updates...
[2026-10-20 16:37:48,146.146 INFO    ] 200
[2026-10-20 16:37:48,149.149 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:37:48,190.190 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:37:48,235.235 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:37:48,237.237 INFO    ] No camera update needed
[2026-10-20 16:37:48,239.239 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:37:48,242.242 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:37:48,247.247 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:37:48,252.252 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:37:50,291.291 INFO    ] ================================================
[2026-10-20 16:37:50,307.307 INFO    ] Launching Daemon at Tue Oct 20 16:37:50 IST 2026
[2026-10-20 16:37:50,319.319 INFO    ] ================================================
[2026-10-20 16:37:50,938.938 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:37:50
[2026-10-20 16:37:51,635.635 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:37:51,916.916 INFO    ] Initializing speech engine...
[2026-10-20 16:37:51,930.930 INFO    ] 2026-10-20 16:37:51
[2026-10-20 16:37:52,197.197 INFO    ] 2026-10-20 16:37:52
[2026-10-20 16:37:52,235.235 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:37:52,451.451 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:37:52,471.471 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:37:52,627.627 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:37:52,637.637 INFO    ] time= 20/10/2026 16:37:52
[2026-10-20 16:37:52,646.646 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:37:52,696.696 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:37:52,835.835 INFO    ] No existing commands found in stream
[2026-10-20 16:37:57,861.861 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:37:57,864.864 INFO    ] Waiting 0.33 seconds before fallback handling...
[2026-10-20 16:37:58,659.659 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 16:37:58,662.662 INFO    ] Checking for system updates...
[2026-10-20 16:37:58,698.698 INFO    ] 200
[2026-10-20 16:37:58,701.701 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:37:58,761.761 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:37:58,764.764 INFO    ] No update needed
[2026-10-20 16:37:58,766.766 INFO    ] Checking for camera pi updates...
[2026-10-20 16:37:58,800.800 INFO    ] 200
[2026-10-20 16:37:58,803.803 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:37:58,859.859 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:37:58,910.910 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:37:58,913.913 INFO    ] No camera update needed
[2026-10-20 16:37:58,916.916 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:37:58,919.919 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:37:58,925.925 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:37:58,932.932 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:38:00,976.976 INFO    ] ================================================
[2026-10-20 16:38:00,992.992 INFO    ] Launching Daemon at Tue Oct 20 16:38:00 IST 2026
[2026-10-20 16:38:01,003.003 INFO    ] ================================================
[2026-10-20 16:38:01,819.819 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:38:01
[2026-10-20 16:38:02,496.496 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:38:02,814.814 INFO    ] Initializing speech engine...
[2026-10-20 16:38:02,833.833 INFO    ] 2026-10-20 16:38:02
[2026-10-20 16:38:03,129.129 INFO    ] 2026-10-20 16:38:03
[2026-10-20 16:38:03,166.166 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:38:03,380.380 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:38:03,420.420 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:38:03,609.609 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:38:03,675.675 INFO    ] time= 20/10/2026 16:38:03
[2026-10-20 16:38:03,721.721 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:38:03,727.727 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:38:03,878.878 INFO    ] No existing commands found in stream
[2026-10-20 16:38:08,897.897 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:38:08,901.901 INFO    ] Waiting 3.20 seconds before fallback handling...
[2026-10-20 16:38:12,596.596 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:38:12,600.600 INFO    ] Checking for system updates...
[2026-10-20 16:38:12,640.640 INFO    ] 200
[2026-10-20 16:38:12,643.643 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:38:12,701.701 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:38:12,704.704 INFO    ] No update needed
[2026-10-20 16:38:12,707.707 INFO    ] Checking for camera pi updates...
[2026-10-20 16:38:12,741.741 INFO    ] 200
[2026-10-20 16:38:12,744.744 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:38:12,791.791 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:38:12,838.838 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:38:12,841.841 INFO    ] No camera update needed
[2026-10-20 16:38:12,843.843 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:38:12,845.845 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:38:12,851.851 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:38:12,856.856 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:38:14,895.895 INFO    ] ================================================
[2026-10-20 16:38:14,911.911 INFO    ] Launching Daemon at Tue Oct 20 16:38:14 IST 2026
[2026-10-20 16:38:14,923.923 INFO    ] ================================================
[2026-10-20 16:38:15,493.493 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:38:15
[2026-10-20 16:38:16,081.081 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:38:16,354.354 INFO    ] Initializing speech engine...
[2026-10-20 16:38:16,364.364 INFO    ] 2026-10-20 16:38:16
[2026-10-20 16:38:16,612.612 INFO    ] 2026-10-20 16:38:16
[2026-10-20 16:38:16,647.647 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:38:16,851.851 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:38:16,909.909 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:38:17,052.052 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:38:17,068.068 INFO    ] time= 20/10/2026 16:38:17
[2026-10-20 16:38:17,123.123 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:38:17,172.172 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:38:17,336.336 INFO    ] No existing commands found in stream
[2026-10-20 16:38:22,353.353 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:38:22,356.356 INFO    ] Waiting 3.00 seconds before fallback handling...
[2026-10-20 16:38:25,863.863 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:38:25,865.865 INFO    ] Checking for system updates...
[2026-10-20 16:38:25,901.901 INFO    ] 200
[2026-10-20 16:38:25,904.904 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:38:25,962.962 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:38:25,965.965 INFO    ] No update needed
[2026-10-20 16:38:25,967.967 INFO    ] Checking for camera pi updates...
[2026-10-20 16:38:26,006.006 INFO    ] 200
[2026-10-20 16:38:26,008.008 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:38:26,057.057 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:38:26,204.204 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:38:26,206.206 INFO    ] No camera update needed
[2026-10-20 16:38:26,209.209 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:38:26,211.211 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:38:26,216.216 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:38:26,221.221 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:38:28,262.262 INFO    ] ================================================
[2026-10-20 16:38:28,279.279 INFO    ] Launching Daemon at Tue Oct 20 16:38:28 IST 2026
[2026-10-20 16:38:28,290.290 INFO    ] ================================================
[2026-10-20 16:38:28,944.944 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:38:28
[2026-10-20 16:38:29,619.619 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:38:29,941.941 INFO    ] Initializing speech engine...
[2026-10-20 16:38:29,955.955 INFO    ] 2026-10-20 16:38:29
[2026-10-20 16:38:30,277.277 INFO    ] 2026-10-20 16:38:30
[2026-10-20 16:38:30,354.354 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:38:30,547.547 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:38:30,558.558 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:38:30,745.745 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:38:30,805.805 INFO    ] time= 20/10/2026 16:38:30
[2026-10-20 16:38:30,855.855 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:38:30,866.866 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:38:30,996.996 INFO    ] No existing commands found in stream
[2026-10-20 16:38:36,024.024 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:38:36,027.027 INFO    ] Waiting 1.59 seconds before fallback handling...
[2026-10-20 16:38:38,091.091 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 16:38:38,093.093 INFO    ] Checking for system updates...
[2026-10-20 16:38:38,133.133 INFO    ] 200
[2026-10-20 16:38:38,135.135 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:38:38,186.186 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:38:38,189.189 INFO    ] No update needed
[2026-10-20 16:38:38,192.192 INFO    ] Checking for camera pi updates...
[2026-10-20 16:38:38,225.225 INFO    ] 200
[2026-10-20 16:38:38,227.227 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:38:38,272.272 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:38:38,316.316 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:38:38,319.319 INFO    ] No camera update needed
[2026-10-20 16:38:38,321.321 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:38:38,323.323 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:38:38,329.329 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:38:38,334.334 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:38:40,383.383 INFO    ] ================================================
[2026-10-20 16:38:40,401.401 INFO    ] Launching Daemon at Tue Oct 20 16:38:40 IST 2026
[2026-10-20 16:38:40,412.412 INFO    ] ================================================
[2026-10-20 16:38:41,028.028 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:38:41
[2026-10-20 16:38:41,650.650 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:38:41,918.918 INFO    ] Initializing speech engine...
[2026-10-20 16:38:41,941.941 INFO    ] 2026-10-20 16:38:41
[2026-10-20 16:38:42,197.197 INFO    ] 2026-10-20 16:38:42
[2026-10-20 16:38:42,237.237 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:38:42,465.465 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:38:42,467.467 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:38:42,621.621 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:38:42,624.624 INFO    ] time= 20/10/2026 16:38:42
[2026-10-20 16:38:42,626.626 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:38:42,680.680 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:38:42,809.809 INFO    ] No existing commands found in stream
[2026-10-20 16:38:47,820.820 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:38:47,823.823 INFO    ] Waiting 0.22 seconds before fallback handling...
[2026-10-20 16:38:48,563.563 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:38:48,566.566 INFO    ] Checking for system updates...
[2026-10-20 16:38:48,602.602 INFO    ] 200
[2026-10-20 16:38:48,605.605 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:38:48,665.665 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:38:48,668.668 INFO    ] No update needed
[2026-10-20 16:38:48,671.671 INFO    ] Checking for camera pi updates...
[2026-10-20 16:38:48,705.705 INFO    ] 200
[2026-10-20 16:38:48,708.708 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:38:48,754.754 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:38:48,802.802 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:38:48,805.805 INFO    ] No camera update needed
[2026-10-20 16:38:48,807.807 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:38:48,810.810 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:38:48,816.816 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:38:48,822.822 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:38:50,864.864 INFO    ] ================================================
[2026-10-20 16:38:50,880.880 INFO    ] Launching Daemon at Tue Oct 20 16:38:50 IST 2026
[2026-10-20 16:38:50,891.891 INFO    ] ================================================
[2026-10-20 16:38:51,474.474 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:38:51
[2026-10-20 16:38:52,075.075 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:38:52,330.330 INFO    ] Initializing speech engine...
[2026-10-20 16:38:52,338.338 INFO    ] 2026-10-20 16:38:52
[2026-10-20 16:38:52,642.642 INFO    ] 2026-10-20 16:38:52
[2026-10-20 16:38:52,677.677 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:38:52,880.880 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:38:52,893.893 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:38:53,058.058 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:38:53,067.067 INFO    ] time= 20/10/2026 16:38:53
[2026-10-20 16:38:53,075.075 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:38:53,098.098 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:38:53,228.228 INFO    ] No existing commands found in stream
[2026-10-20 16:38:58,253.253 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:38:58,256.256 INFO    ] Waiting 2.60 seconds before fallback handling...
[2026-10-20 16:39:01,378.378 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:39:01,385.385 INFO    ] Checking for system updates...
[2026-10-20 16:39:01,449.449 INFO    ] 200
[2026-10-20 16:39:01,453.453 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:39:01,540.540 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:39:01,545.545 INFO    ] No update needed
[2026-10-20 16:39:01,549.549 INFO    ] Checking for camera pi updates...
[2026-10-20 16:39:01,593.593 INFO    ] 200
[2026-10-20 16:39:01,597.597 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:39:01,700.700 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:39:01,752.752 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:39:01,759.759 INFO    ] No camera update needed
[2026-10-20 16:39:01,766.766 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:39:01,769.769 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:39:01,777.777 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:39:01,786.786 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:39:03,830.830 INFO    ] ================================================
[2026-10-20 16:39:03,846.846 INFO    ] Launching Daemon at Tue Oct 20 16:39:03 IST 2026
[2026-10-20 16:39:03,857.857 INFO    ] ================================================
[2026-10-20 16:39:04,427.427 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:39:04
[2026-10-20 16:39:05,019.019 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:39:05,286.286 INFO    ] Initializing speech engine...
[2026-10-20 16:39:05,296.296 INFO    ] 2026-10-20 16:39:05
[2026-10-20 16:39:05,599.599 INFO    ] 2026-10-20 16:39:05
[2026-10-20 16:39:05,635.635 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:39:05,853.853 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:39:05,884.884 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:39:06,038.038 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:39:06,046.046 INFO    ] time= 20/10/2026 16:39:06
[2026-10-20 16:39:06,052.052 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:39:06,101.101 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:39:06,215.215 INFO    ] No existing commands found in stream
[2026-10-20 16:39:11,224.224 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:39:11,227.227 INFO    ] Waiting 1.04 seconds before fallback handling...
[2026-10-20 16:39:12,802.802 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:39:12,805.805 INFO    ] Checking for system updates...
[2026-10-20 16:39:12,840.840 INFO    ] 200
[2026-10-20 16:39:12,843.843 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:39:12,901.901 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:39:12,903.903 INFO    ] No update needed
[2026-10-20 16:39:12,905.905 INFO    ] Checking for camera pi updates...
[2026-10-20 16:39:12,939.939 INFO    ] 200
[2026-10-20 16:39:12,941.941 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:39:12,982.982 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:39:13,029.029 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:39:13,031.031 INFO    ] No camera update needed
[2026-10-20 16:39:13,034.034 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:39:13,036.036 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:39:13,041.041 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:39:13,046.046 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:39:15,088.088 INFO    ] ================================================
[2026-10-20 16:39:15,104.104 INFO    ] Launching Daemon at Tue Oct 20 16:39:15 IST 2026
[2026-10-20 16:39:15,115.115 INFO    ] ================================================
[2026-10-20 16:39:15,767.767 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:39:15
[2026-10-20 16:39:16,416.416 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:39:16,683.683 INFO    ] Initializing speech engine...
[2026-10-20 16:39:16,692.692 INFO    ] 2026-10-20 16:39:16
[2026-10-20 16:39:16,956.956 INFO    ] 2026-10-20 16:39:16
[2026-10-20 16:39:17,016.016 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:39:17,245.245 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:39:17,269.269 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:39:17,486.486 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:39:17,516.516 INFO    ] time= 20/10/2026 16:39:17
[2026-10-20 16:39:17,522.522 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:39:17,543.543 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:39:17,665.665 INFO    ] No existing commands found in stream
[2026-10-20 16:39:22,688.688 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:39:22,691.691 INFO    ] Waiting 2.00 seconds before fallback handling...
[2026-10-20 16:39:25,200.200 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:39:25,203.203 INFO    ] Checking for system updates...
[2026-10-20 16:39:25,239.239 INFO    ] 200
[2026-10-20 16:39:25,242.242 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:39:25,300.300 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:39:25,302.302 INFO    ] No update needed
[2026-10-20 16:39:25,305.305 INFO    ] Checking for camera pi updates...
[2026-10-20 16:39:25,338.338 INFO    ] 200
[2026-10-20 16:39:25,340.340 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:39:25,380.380 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:39:25,412.412 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:39:25,415.415 INFO    ] No camera update needed
[2026-10-20 16:39:25,417.417 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:39:25,419.419 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:39:25,425.425 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:39:25,430.430 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:39:27,472.472 INFO    ] ================================================
[2026-10-20 16:39:27,487.487 INFO    ] Launching Daemon at Tue Oct 20 16:39:27 IST 2026
[2026-10-20 16:39:27,498.498 INFO    ] ================================================
[2026-10-20 16:39:28,075.075 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:39:28
[2026-10-20 16:39:28,673.673 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:39:28,934.934 INFO    ] Initializing speech engine...
[2026-10-20 16:39:28,939.939 INFO    ] 2026-10-20 16:39:28
[2026-10-20 16:39:29,248.248 INFO    ] 2026-10-20 16:39:29
[2026-10-20 16:39:29,283.283 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:39:29,495.495 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:39:29,505.505 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:39:29,679.679 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:39:29,687.687 INFO    ] time= 20/10/2026 16:39:29
[2026-10-20 16:39:29,692.692 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:39:29,698.698 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:39:29,774.774 INFO    ] No existing commands found in stream
[2026-10-20 16:39:34,790.790 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:39:34,792.792 INFO    ] Waiting 0.28 seconds before fallback handling...
[2026-10-20 16:39:37,102.102 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:39:37,105.105 INFO    ] Checking for system updates...
[2026-10-20 16:39:37,140.140 INFO    ] 200
[2026-10-20 16:39:37,142.142 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:39:37,195.195 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:39:37,197.197 INFO    ] No update needed
[2026-10-20 16:39:37,200.200 INFO    ] Checking for camera pi updates...
[2026-10-20 16:39:37,233.233 INFO    ] 200
[2026-10-20 16:39:37,235.235 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:39:37,275.275 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:39:37,324.324 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:39:37,326.326 INFO    ] No camera update needed
[2026-10-20 16:39:37,329.329 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:39:37,331.331 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:39:37,336.336 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:39:37,341.341 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:39:39,384.384 INFO    ] ================================================
[2026-10-20 16:39:39,400.400 INFO    ] Launching Daemon at Tue Oct 20 16:39:39 IST 2026
[2026-10-20 16:39:39,411.411 INFO    ] ================================================
[2026-10-20 16:39:39,985.985 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:39:39
[2026-10-20 16:39:40,583.583 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:39:40,836.836 INFO    ] Initializing speech engine...
[2026-10-20 16:39:40,844.844 INFO    ] 2026-10-20 16:39:40
[2026-10-20 16:39:41,147.147 INFO    ] 2026-10-20 16:39:41
[2026-10-20 16:39:41,191.191 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:39:41,445.445 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:39:41,451.451 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:39:41,687.687 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:39:41,710.710 INFO    ] time= 20/10/2026 16:39:41
[2026-10-20 16:39:41,731.731 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:39:41,759.759 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:39:41,866.866 INFO    ] No existing commands found in stream
[2026-10-20 16:39:46,900.900 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:39:46,904.904 INFO    ] Waiting 0.45 seconds before fallback handling...
[2026-10-20 16:39:47,950.950 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 16:39:47,953.953 INFO    ] Checking for system updates...
[2026-10-20 16:39:47,994.994 INFO    ] 200
[2026-10-20 16:39:47,996.996 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:39:48,050.050 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:39:48,052.052 INFO    ] No update needed
[2026-10-20 16:39:48,055.055 INFO    ] Checking for camera pi updates...
[2026-10-20 16:39:48,093.093 INFO    ] 200
[2026-10-20 16:39:48,096.096 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:39:48,137.137 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:39:48,195.195 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:39:48,197.197 INFO    ] No camera update needed
[2026-10-20 16:39:48,200.200 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:39:48,203.203 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:39:48,209.209 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:39:48,215.215 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:39:50,255.255 INFO    ] ================================================
[2026-10-20 16:39:50,271.271 INFO    ] Launching Daemon at Tue Oct 20 16:39:50 IST 2026
[2026-10-20 16:39:50,282.282 INFO    ] ================================================
[2026-10-20 16:39:50,931.931 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:39:50
[2026-10-20 16:39:51,580.580 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:39:51,855.855 INFO    ] Initializing speech engine...
[2026-10-20 16:39:51,858.858 INFO    ] 2026-10-20 16:39:51
[2026-10-20 16:39:52,107.107 INFO    ] 2026-10-20 16:39:52
[2026-10-20 16:39:52,142.142 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:39:52,373.373 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:39:52,416.416 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:39:52,637.637 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:39:52,699.699 INFO    ] time= 20/10/2026 16:39:52
[2026-10-20 16:39:52,734.734 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:39:52,743.743 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:39:52,853.853 INFO    ] No existing commands found in stream
[2026-10-20 16:39:57,869.869 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:39:57,872.872 INFO    ] Waiting 2.11 seconds before fallback handling...
[2026-10-20 16:40:00,462.462 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 16:40:00,465.465 INFO    ] Checking for system updates...
[2026-10-20 16:40:00,501.501 INFO    ] 200
[2026-10-20 16:40:00,503.503 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:40:00,556.556 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:40:00,559.559 INFO    ] No update needed
[2026-10-20 16:40:00,562.562 INFO    ] Checking for camera pi updates...
[2026-10-20 16:40:00,600.600 INFO    ] 200
[2026-10-20 16:40:00,603.603 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:40:00,644.644 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:40:00,695.695 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:40:00,698.698 INFO    ] No camera update needed
[2026-10-20 16:40:00,701.701 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:40:00,704.704 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:40:00,710.710 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:40:00,716.716 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:40:02,780.780 INFO    ] ================================================
[2026-10-20 16:40:02,803.803 INFO    ] Launching Daemon at Tue Oct 20 16:40:02 IST 2026
[2026-10-20 16:40:02,821.821 INFO    ] ================================================
[2026-10-20 16:40:03,510.510 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:40:03
[2026-10-20 16:40:04,127.127 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:40:04,386.386 INFO    ] Initializing speech engine...
[2026-10-20 16:40:04,399.399 INFO    ] 2026-10-20 16:40:04
[2026-10-20 16:40:04,676.676 INFO    ] 2026-10-20 16:40:04
[2026-10-20 16:40:04,713.713 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:40:04,935.935 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:40:04,955.955 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:40:05,158.158 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:40:05,174.174 INFO    ] time= 20/10/2026 16:40:05
[2026-10-20 16:40:05,244.244 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:40:05,299.299 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:40:05,449.449 INFO    ] No existing commands found in stream
[2026-10-20 16:40:10,478.478 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:40:10,481.481 INFO    ] Waiting 2.46 seconds before fallback handling...
[2026-10-20 16:40:13,472.472 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:40:13,474.474 INFO    ] Checking for system updates...
[2026-10-20 16:40:13,510.510 INFO    ] 200
[2026-10-20 16:40:13,513.513 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:40:13,570.570 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:40:13,573.573 INFO    ] No update needed
[2026-10-20 16:40:13,575.575 INFO    ] Checking for camera pi updates...
[2026-10-20 16:40:13,608.608 INFO    ] 200
[2026-10-20 16:40:13,610.610 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:40:13,652.652 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:40:13,690.690 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:40:13,692.692 INFO    ] No camera update needed
[2026-10-20 16:40:13,694.694 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:40:13,696.696 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:40:13,702.702 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:40:13,707.707 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:40:15,747.747 INFO    ] ================================================
[2026-10-20 16:40:15,763.763 INFO    ] Launching Daemon at Tue Oct 20 16:40:15 IST 2026
[2026-10-20 16:40:15,774.774 INFO    ] ================================================
[2026-10-20 16:40:16,350.350 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:40:16
[2026-10-20 16:40:16,955.955 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:40:17,257.257 INFO    ] Initializing speech engine...
[2026-10-20 16:40:17,266.266 INFO    ] 2026-10-20 16:40:17
[2026-10-20 16:40:17,514.514 INFO    ] 2026-10-20 16:40:17
[2026-10-20 16:40:17,539.539 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:40:17,735.735 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:40:17,748.748 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:40:17,895.895 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:40:17,905.905 INFO    ] time= 20/10/2026 16:40:17
[2026-10-20 16:40:17,949.949 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:40:17,971.971 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:40:18,102.102 INFO    ] No existing commands found in stream
[2026-10-20 16:40:23,114.114 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:40:23,117.117 INFO    ] Waiting 1.81 seconds before fallback handling...
[2026-10-20 16:40:25,452.452 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:40:25,454.454 INFO    ] Checking for system updates...
[2026-10-20 16:40:25,489.489 INFO    ] 200
[2026-10-20 16:40:25,492.492 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:40:25,547.547 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:40:25,549.549 INFO    ] No update needed
[2026-10-20 16:40:25,552.552 INFO    ] Checking for camera pi updates...
[2026-10-20 16:40:25,585.585 INFO    ] 200
[2026-10-20 16:40:25,588.588 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:40:25,627.627 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:40:25,680.680 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:40:25,682.682 INFO    ] No camera update needed
[2026-10-20 16:40:25,684.684 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:40:25,686.686 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:40:25,692.692 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:40:25,697.697 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:40:27,737.737 INFO    ] ================================================
[2026-10-20 16:40:27,752.752 INFO    ] Launching Daemon at Tue Oct 20 16:40:27 IST 2026
[2026-10-20 16:40:27,763.763 INFO    ] ================================================
[2026-10-20 16:40:28,379.379 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:40:28
[2026-10-20 16:40:29,002.002 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:40:29,292.292 INFO    ] Initializing speech engine...
[2026-10-20 16:40:29,300.300 INFO    ] 2026-10-20 16:40:29
[2026-10-20 16:40:29,571.571 INFO    ] 2026-10-20 16:40:29
[2026-10-20 16:40:29,607.607 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:40:29,858.858 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:40:29,868.868 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:40:30,070.070 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:40:30,125.125 INFO    ] time= 20/10/2026 16:40:30
[2026-10-20 16:40:30,137.137 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:40:30,151.151 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:40:30,299.299 INFO    ] No existing commands found in stream
[2026-10-20 16:40:35,330.330 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:40:35,333.333 INFO    ] Waiting 2.09 seconds before fallback handling...
[2026-10-20 16:40:37,943.943 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:40:37,945.945 INFO    ] Checking for system updates...
[2026-10-20 16:40:37,984.984 INFO    ] 200
[2026-10-20 16:40:37,986.986 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:40:38,040.040 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:40:38,043.043 INFO    ] No update needed
[2026-10-20 16:40:38,045.045 INFO    ] Checking for camera pi updates...
[2026-10-20 16:40:38,080.080 INFO    ] 200
[2026-10-20 16:40:38,082.082 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:40:38,126.126 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:40:38,170.170 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:40:38,173.173 INFO    ] No camera update needed
[2026-10-20 16:40:38,175.175 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:40:38,177.177 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:40:38,183.183 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:40:38,188.188 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:40:40,228.228 INFO    ] ================================================
[2026-10-20 16:40:40,243.243 INFO    ] Launching Daemon at Tue Oct 20 16:40:40 IST 2026
[2026-10-20 16:40:40,254.254 INFO    ] ================================================
[2026-10-20 16:40:40,839.839 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:40:40
[2026-10-20 16:40:41,425.425 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:40:41,711.711 INFO    ] Initializing speech engine...
[2026-10-20 16:40:41,719.719 INFO    ] 2026-10-20 16:40:41
[2026-10-20 16:40:41,965.965 INFO    ] 2026-10-20 16:40:41
[2026-10-20 16:40:41,999.999 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:40:42,234.234 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:40:42,262.262 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:40:42,475.475 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:40:42,530.530 INFO    ] time= 20/10/2026 16:40:42
[2026-10-20 16:40:42,541.541 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:40:42,559.559 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:40:42,691.691 INFO    ] No existing commands found in stream
[2026-10-20 16:40:47,714.714 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:40:47,716.716 INFO    ] Waiting 3.57 seconds before fallback handling...
[2026-10-20 16:40:51,775.775 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:40:51,778.778 INFO    ] Checking for system updates...
[2026-10-20 16:40:51,815.815 INFO    ] 200
[2026-10-20 16:40:51,818.818 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:40:51,875.875 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:40:51,878.878 INFO    ] No update needed
[2026-10-20 16:40:51,880.880 INFO    ] Checking for camera pi updates...
[2026-10-20 16:40:51,918.918 INFO    ] 200
[2026-10-20 16:40:51,920.920 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:40:51,961.961 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:40:52,013.013 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:40:52,015.015 INFO    ] No camera update needed
[2026-10-20 16:40:52,017.017 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:40:52,020.020 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:40:52,025.025 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:40:52,030.030 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:40:54,070.070 INFO    ] ================================================
[2026-10-20 16:40:54,086.086 INFO    ] Launching Daemon at Tue Oct 20 16:40:54 IST 2026
[2026-10-20 16:40:54,096.096 INFO    ] ================================================
[2026-10-20 16:40:54,661.661 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:40:54
[2026-10-20 16:40:55,246.246 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:40:55,515.515 INFO    ] Initializing speech engine...
[2026-10-20 16:40:55,524.524 INFO    ] 2026-10-20 16:40:55
[2026-10-20 16:40:55,775.775 INFO    ] 2026-10-20 16:40:55
[2026-10-20 16:40:55,810.810 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:40:56,069.069 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:40:56,078.078 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:40:56,288.288 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:40:56,335.335 INFO    ] time= 20/10/2026 16:40:56
[2026-10-20 16:40:56,342.342 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:40:56,359.359 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:40:56,510.510 INFO    ] No existing commands found in stream
[2026-10-20 16:41:01,541.541 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:41:01,543.543 INFO    ] Waiting 2.72 seconds before fallback handling...
[2026-10-20 16:41:04,723.723 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:41:04,726.726 INFO    ] Checking for system updates...
[2026-10-20 16:41:04,761.761 INFO    ] 200
[2026-10-20 16:41:04,764.764 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:41:04,820.820 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:41:04,823.823 INFO    ] No update needed
[2026-10-20 16:41:04,825.825 INFO    ] Checking for camera pi updates...
[2026-10-20 16:41:04,859.859 INFO    ] 200
[2026-10-20 16:41:04,862.862 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:41:04,901.901 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:41:04,954.954 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:41:04,956.956 INFO    ] No camera update needed
[2026-10-20 16:41:04,959.959 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:41:04,961.961 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:41:04,966.966 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:41:04,971.971 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:41:07,013.013 INFO    ] ================================================
[2026-10-20 16:41:07,029.029 INFO    ] Launching Daemon at Tue Oct 20 16:41:07 IST 2026
[2026-10-20 16:41:07,040.040 INFO    ] ================================================
[2026-10-20 16:41:07,707.707 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:41:07
[2026-10-20 16:41:08,395.395 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:41:08,703.703 INFO    ] Initializing speech engine...
[2026-10-20 16:41:08,717.717 INFO    ] 2026-10-20 16:41:08
[2026-10-20 16:41:09,026.026 INFO    ] 2026-10-20 16:41:08
[2026-10-20 16:41:09,114.114 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:41:09,329.329 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:41:09,334.334 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:41:09,523.523 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:41:09,536.536 INFO    ] time= 20/10/2026 16:41:09
[2026-10-20 16:41:09,554.554 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:41:09,584.584 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:41:09,705.705 INFO    ] No existing commands found in stream
[2026-10-20 16:41:14,731.731 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:41:14,734.734 INFO    ] Waiting 3.98 seconds before fallback handling...
[2026-10-20 16:41:19,268.268 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:41:19,271.271 INFO    ] Checking for system updates...
[2026-10-20 16:41:19,308.308 INFO    ] 200
[2026-10-20 16:41:19,311.311 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:41:19,365.365 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:41:19,368.368 INFO    ] No update needed
[2026-10-20 16:41:19,371.371 INFO    ] Checking for camera pi updates...
[2026-10-20 16:41:19,406.406 INFO    ] 200
[2026-10-20 16:41:19,409.409 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:41:19,450.450 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:41:19,496.496 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:41:19,498.498 INFO    ] No camera update needed
[2026-10-20 16:41:19,501.501 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:41:19,503.503 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:41:19,509.509 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:41:19,514.514 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:41:21,553.553 INFO    ] ================================================
[2026-10-20 16:41:21,568.568 INFO    ] Launching Daemon at Tue Oct 20 16:41:21 IST 2026
[2026-10-20 16:41:21,580.580 INFO    ] ================================================
[2026-10-20 16:41:22,239.239 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:41:22
[2026-10-20 16:41:22,869.869 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:41:23,120.120 INFO    ] Initializing speech engine...
[2026-10-20 16:41:23,127.127 INFO    ] 2026-10-20 16:41:23
[2026-10-20 16:41:23,432.432 INFO    ] 2026-10-20 16:41:23
[2026-10-20 16:41:23,467.467 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:41:23,671.671 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:41:23,676.676 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:41:23,816.816 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:41:23,831.831 INFO    ] time= 20/10/2026 16:41:23
[2026-10-20 16:41:23,860.860 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:41:23,867.867 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:41:23,950.950 INFO    ] No existing commands found in stream
[2026-10-20 16:41:28,975.975 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:41:28,977.977 INFO    ] Waiting 2.14 seconds before fallback handling...
[2026-10-20 16:41:31,611.611 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 16:41:31,614.614 INFO    ] Checking for system updates...
[2026-10-20 16:41:31,654.654 INFO    ] 200
[2026-10-20 16:41:31,657.657 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:41:31,727.727 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:41:31,731.731 INFO    ] No update needed
[2026-10-20 16:41:31,734.734 INFO    ] Checking for camera pi updates...
[2026-10-20 16:41:31,776.776 INFO    ] 200
[2026-10-20 16:41:31,780.780 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:41:31,827.827 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:41:31,878.878 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:41:31,882.882 INFO    ] No camera update needed
[2026-10-20 16:41:31,885.885 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:41:31,889.889 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:41:31,896.896 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:41:31,903.903 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:41:33,945.945 INFO    ] ================================================
[2026-10-20 16:41:33,961.961 INFO    ] Launching Daemon at Tue Oct 20 16:41:33 IST 2026
[2026-10-20 16:41:33,971.971 INFO    ] ================================================
[2026-10-20 16:41:34,544.544 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:41:34
[2026-10-20 16:41:35,135.135 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:41:35,394.394 INFO    ] Initializing speech engine...
[2026-10-20 16:41:35,400.400 INFO    ] 2026-10-20 16:41:35
[2026-10-20 16:41:35,700.700 INFO    ] 2026-10-20 16:41:35
[2026-10-20 16:41:35,739.739 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:41:35,940.940 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:41:35,953.953 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:41:36,104.104 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:41:36,122.122 INFO    ] time= 20/10/2026 16:41:36
[2026-10-20 16:41:36,131.131 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:41:36,138.138 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:41:36,251.251 INFO    ] No existing commands found in stream
[2026-10-20 16:41:41,271.271 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:41:41,274.274 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-10-20 16:41:43,928.928 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:41:43,931.931 INFO    ] Checking for system updates...
[2026-10-20 16:41:43,966.966 INFO    ] 200
[2026-10-20 16:41:43,969.969 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:41:44,021.021 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:41:44,023.023 INFO    ] No update needed
[2026-10-20 16:41:44,026.026 INFO    ] Checking for camera pi updates...
[2026-10-20 16:41:44,059.059 INFO    ] 200
[2026-10-20 16:41:44,062.062 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:41:44,102.102 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:41:44,151.151 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:41:44,153.153 INFO    ] No camera update needed
[2026-10-20 16:41:44,156.156 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:41:44,158.158 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:41:44,163.163 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:41:44,168.168 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:41:46,209.209 INFO    ] ================================================
[2026-10-20 16:41:46,225.225 INFO    ] Launching Daemon at Tue Oct 20 16:41:46 IST 2026
[2026-10-20 16:41:46,236.236 INFO    ] ================================================
[2026-10-20 16:41:46,802.802 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:41:46
[2026-10-20 16:41:47,389.389 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:41:47,661.661 INFO    ] Initializing speech engine...
[2026-10-20 16:41:47,670.670 INFO    ] 2026-10-20 16:41:47
[2026-10-20 16:41:47,926.926 INFO    ] 2026-10-20 16:41:47
[2026-10-20 16:41:47,956.956 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:41:48,201.201 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:41:48,211.211 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:41:48,344.344 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:41:48,399.399 INFO    ] time= 20/10/2026 16:41:48
[2026-10-20 16:41:48,448.448 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:41:48,476.476 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:41:48,614.614 INFO    ] No existing commands found in stream
[2026-10-20 16:41:53,633.633 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:41:53,636.636 INFO    ] Waiting 2.76 seconds before fallback handling...
[2026-10-20 16:41:56,901.901 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:41:56,903.903 INFO    ] Checking for system updates...
[2026-10-20 16:41:56,938.938 INFO    ] 200
[2026-10-20 16:41:56,941.941 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:41:57,011.011 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:41:57,013.013 INFO    ] No update needed
[2026-10-20 16:41:57,015.015 INFO    ] Checking for camera pi updates...
[2026-10-20 16:41:57,049.049 INFO    ] 200
[2026-10-20 16:41:57,052.052 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:41:57,092.092 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:41:57,146.146 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:41:57,149.149 INFO    ] No camera update needed
[2026-10-20 16:41:57,151.151 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:41:57,153.153 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:41:57,159.159 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:41:57,164.164 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:41:59,206.206 INFO    ] ================================================
[2026-10-20 16:41:59,222.222 INFO    ] Launching Daemon at Tue Oct 20 16:41:59 IST 2026
[2026-10-20 16:41:59,233.233 INFO    ] ================================================
[2026-10-20 16:41:59,905.905 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:41:59
[2026-10-20 16:42:00,595.595 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:42:00,906.906 INFO    ] Initializing speech engine...
[2026-10-20 16:42:00,920.920 INFO    ] 2026-10-20 16:42:00
[2026-10-20 16:42:01,234.234 INFO    ] 2026-10-20 16:42:01
[2026-10-20 16:42:01,319.319 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:42:01,539.539 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:42:01,542.542 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:42:01,717.717 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:42:01,722.722 INFO    ] time= 20/10/2026 16:42:01
[2026-10-20 16:42:01,730.730 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:42:01,733.733 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:42:01,812.812 INFO    ] No existing commands found in stream
[2026-10-20 16:42:06,821.821 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:42:06,824.824 INFO    ] Waiting 0.45 seconds before fallback handling...
[2026-10-20 16:42:07,783.783 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:42:07,785.785 INFO    ] Checking for system updates...
[2026-10-20 16:42:07,823.823 INFO    ] 200
[2026-10-20 16:42:07,826.826 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:42:07,879.879 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:42:07,882.882 INFO    ] No update needed
[2026-10-20 16:42:07,885.885 INFO    ] Checking for camera pi updates...
[2026-10-20 16:42:07,920.920 INFO    ] 200
[2026-10-20 16:42:07,923.923 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:42:07,965.965 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:42:08,017.017 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:42:08,020.020 INFO    ] No camera update needed
[2026-10-20 16:42:08,023.023 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:42:08,026.026 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:42:08,032.032 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:42:08,038.038 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:42:10,079.079 INFO    ] ================================================
[2026-10-20 16:42:10,094.094 INFO    ] Launching Daemon at Tue Oct 20 16:42:10 IST 2026
[2026-10-20 16:42:10,105.105 INFO    ] ================================================
[2026-10-20 16:42:10,764.764 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:42:10
[2026-10-20 16:42:11,450.450 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:42:11,768.768 INFO    ] Initializing speech engine...
[2026-10-20 16:42:11,776.776 INFO    ] 2026-10-20 16:42:11
[2026-10-20 16:42:12,060.060 INFO    ] 2026-10-20 16:42:12
[2026-10-20 16:42:12,101.101 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:42:12,359.359 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:42:12,378.378 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:42:12,594.594 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:42:12,602.602 INFO    ] time= 20/10/2026 16:42:12
[2026-10-20 16:42:12,621.621 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:42:12,650.650 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:42:12,772.772 INFO    ] No existing commands found in stream
[2026-10-20 16:42:17,803.803 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:42:17,806.806 INFO    ] Waiting 0.66 seconds before fallback handling...
[2026-10-20 16:42:18,982.982 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 16:42:18,986.986 INFO    ] Checking for system updates...
[2026-10-20 16:42:19,033.033 INFO    ] 200
[2026-10-20 16:42:19,036.036 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:42:19,098.098 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:42:19,101.101 INFO    ] No update needed
[2026-10-20 16:42:19,104.104 INFO    ] Checking for camera pi updates...
[2026-10-20 16:42:19,139.139 INFO    ] 200
[2026-10-20 16:42:19,142.142 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:42:19,183.183 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:42:19,229.229 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:42:19,232.232 INFO    ] No camera update needed
[2026-10-20 16:42:19,235.235 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:42:19,238.238 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:42:19,244.244 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:42:19,250.250 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:42:21,292.292 INFO    ] ================================================
[2026-10-20 16:42:21,307.307 INFO    ] Launching Daemon at Tue Oct 20 16:42:21 IST 2026
[2026-10-20 16:42:21,317.317 INFO    ] ================================================
[2026-10-20 16:42:21,983.983 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:42:21
[2026-10-20 16:42:22,673.673 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:42:22,989.989 INFO    ] Initializing speech engine...
[2026-10-20 16:42:23,001.001 INFO    ] 2026-10-20 16:42:22
[2026-10-20 16:42:23,310.310 INFO    ] 2026-10-20 16:42:23
[2026-10-20 16:42:23,399.399 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:42:23,613.613 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:42:23,619.619 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:42:23,811.811 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:42:23,824.824 INFO    ] time= 20/10/2026 16:42:23
[2026-10-20 16:42:23,846.846 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:42:23,876.876 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:42:24,015.015 INFO    ] No existing commands found in stream
[2026-10-20 16:42:29,046.046 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:42:29,050.050 INFO    ] Waiting 1.28 seconds before fallback handling...
[2026-10-20 16:42:30,890.890 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:42:30,893.893 INFO    ] Checking for system updates...
[2026-10-20 16:42:30,930.930 INFO    ] 200
[2026-10-20 16:42:30,933.933 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:42:30,994.994 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:42:30,997.997 INFO    ] No update needed
[2026-10-20 16:42:31,000.000 INFO    ] Checking for camera pi updates...
[2026-10-20 16:42:31,035.035 INFO    ] 200
[2026-10-20 16:42:31,038.038 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:42:31,081.081 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:42:31,137.137 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:42:31,140.140 INFO    ] No camera update needed
[2026-10-20 16:42:31,143.143 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:42:31,145.145 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:42:31,152.152 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:42:31,158.158 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:42:33,200.200 INFO    ] ================================================
[2026-10-20 16:42:33,215.215 INFO    ] Launching Daemon at Tue Oct 20 16:42:33 IST 2026
[2026-10-20 16:42:33,226.226 INFO    ] ================================================
[2026-10-20 16:42:33,880.880 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:42:33
[2026-10-20 16:42:34,556.556 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:42:34,860.860 INFO    ] Initializing speech engine...
[2026-10-20 16:42:34,868.868 INFO    ] 2026-10-20 16:42:34
[2026-10-20 16:42:35,154.154 INFO    ] 2026-10-20 16:42:35
[2026-10-20 16:42:35,200.200 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:42:35,449.449 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:42:35,468.468 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:42:35,668.668 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:42:35,691.691 INFO    ] time= 20/10/2026 16:42:35
[2026-10-20 16:42:35,713.713 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:42:35,743.743 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:42:35,864.864 INFO    ] No existing commands found in stream
[2026-10-20 16:42:40,885.885 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:42:40,888.888 INFO    ] Waiting 2.98 seconds before fallback handling...
[2026-10-20 16:42:44,399.399 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:42:44,402.402 INFO    ] Checking for system updates...
[2026-10-20 16:42:44,438.438 INFO    ] 200
[2026-10-20 16:42:44,441.441 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:42:44,493.493 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:42:44,495.495 INFO    ] No update needed
[2026-10-20 16:42:44,498.498 INFO    ] Checking for camera pi updates...
[2026-10-20 16:42:44,531.531 INFO    ] 200
[2026-10-20 16:42:44,533.533 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:42:44,573.573 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:42:44,720.720 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:42:44,722.722 INFO    ] No camera update needed
[2026-10-20 16:42:44,724.724 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:42:44,727.727 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:42:44,732.732 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:42:44,737.737 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:42:46,776.776 INFO    ] ================================================
[2026-10-20 16:42:46,791.791 INFO    ] Launching Daemon at Tue Oct 20 16:42:46 IST 2026
[2026-10-20 16:42:46,801.801 INFO    ] ================================================
[2026-10-20 16:42:47,452.452 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:42:47
[2026-10-20 16:42:48,123.123 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:42:48,435.435 INFO    ] Initializing speech engine...
[2026-10-20 16:42:48,441.441 INFO    ] 2026-10-20 16:42:48
[2026-10-20 16:42:48,751.751 INFO    ] 2026-10-20 16:42:48
[2026-10-20 16:42:48,834.834 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:42:49,042.042 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:42:49,051.051 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:42:49,233.233 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:42:49,252.252 INFO    ] time= 20/10/2026 16:42:49
[2026-10-20 16:42:49,274.274 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:42:49,300.300 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:42:49,417.417 INFO    ] No existing commands found in stream
[2026-10-20 16:42:54,448.448 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:42:54,451.451 INFO    ] Waiting 0.89 seconds before fallback handling...
[2026-10-20 16:42:55,825.825 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:42:55,828.828 INFO    ] Checking for system updates...
[2026-10-20 16:42:55,864.864 INFO    ] 200
[2026-10-20 16:42:55,867.867 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:42:55,924.924 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:42:55,927.927 INFO    ] No update needed
[2026-10-20 16:42:55,929.929 INFO    ] Checking for camera pi updates...
[2026-10-20 16:42:55,962.962 INFO    ] 200
[2026-10-20 16:42:55,965.965 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:42:56,006.006 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:42:56,071.071 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:42:56,074.074 INFO    ] No camera update needed
[2026-10-20 16:42:56,076.076 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:42:56,078.078 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:42:56,084.084 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:42:56,089.089 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:42:58,128.128 INFO    ] ================================================
[2026-10-20 16:42:58,143.143 INFO    ] Launching Daemon at Tue Oct 20 16:42:58 IST 2026
[2026-10-20 16:42:58,154.154 INFO    ] ================================================
[2026-10-20 16:42:58,720.720 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:42:58
[2026-10-20 16:42:59,305.305 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:42:59,577.577 INFO    ] Initializing speech engine...
[2026-10-20 16:42:59,587.587 INFO    ] 2026-10-20 16:42:59
[2026-10-20 16:42:59,836.836 INFO    ] 2026-10-20 16:42:59
[2026-10-20 16:42:59,871.871 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:43:00,130.130 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:43:00,136.136 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:43:00,334.334 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:43:00,389.389 INFO    ] time= 20/10/2026 16:43:00
[2026-10-20 16:43:00,403.403 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:43:00,424.424 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:43:00,553.553 INFO    ] No existing commands found in stream
[2026-10-20 16:43:05,565.565 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:43:05,568.568 INFO    ] Waiting 1.92 seconds before fallback handling...
[2026-10-20 16:43:07,997.997 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:43:08,000.000 INFO    ] Checking for system updates...
[2026-10-20 16:43:08,035.035 INFO    ] 200
[2026-10-20 16:43:08,037.037 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:43:08,090.090 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:43:08,092.092 INFO    ] No update needed
[2026-10-20 16:43:08,095.095 INFO    ] Checking for camera pi updates...
[2026-10-20 16:43:08,127.127 INFO    ] 200
[2026-10-20 16:43:08,130.130 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:43:08,170.170 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:43:08,225.225 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:43:08,228.228 INFO    ] No camera update needed
[2026-10-20 16:43:08,230.230 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:43:08,232.232 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:43:08,238.238 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:43:08,243.243 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:43:10,283.283 INFO    ] ================================================
[2026-10-20 16:43:10,298.298 INFO    ] Launching Daemon at Tue Oct 20 16:43:10 IST 2026
[2026-10-20 16:43:10,309.309 INFO    ] ================================================
[2026-10-20 16:43:10,878.878 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:43:10
[2026-10-20 16:43:11,464.464 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:43:11,737.737 INFO    ] Initializing speech engine...
[2026-10-20 16:43:11,743.743 INFO    ] 2026-10-20 16:43:11
[2026-10-20 16:43:11,987.987 INFO    ] 2026-10-20 16:43:11
[2026-10-20 16:43:12,022.022 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:43:12,272.272 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:43:12,281.281 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:43:12,418.418 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:43:12,425.425 INFO    ] time= 20/10/2026 16:43:12
[2026-10-20 16:43:12,500.500 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:43:12,544.544 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:43:12,710.710 INFO    ] No existing commands found in stream
[2026-10-20 16:43:17,735.735 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:43:17,738.738 INFO    ] Waiting 0.65 seconds before fallback handling...
[2026-10-20 16:43:18,899.899 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:43:18,902.902 INFO    ] Checking for system updates...
[2026-10-20 16:43:18,937.937 INFO    ] 200
[2026-10-20 16:43:18,940.940 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:43:18,991.991 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:43:18,994.994 INFO    ] No update needed
[2026-10-20 16:43:18,996.996 INFO    ] Checking for camera pi updates...
[2026-10-20 16:43:19,030.030 INFO    ] 200
[2026-10-20 16:43:19,033.033 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:43:19,073.073 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:43:19,122.122 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:43:19,124.124 INFO    ] No camera update needed
[2026-10-20 16:43:19,127.127 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:43:19,129.129 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:43:19,134.134 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:43:19,139.139 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:43:21,179.179 INFO    ] ================================================
[2026-10-20 16:43:21,194.194 INFO    ] Launching Daemon at Tue Oct 20 16:43:21 IST 2026
[2026-10-20 16:43:21,205.205 INFO    ] ================================================
[2026-10-20 16:43:21,842.842 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:43:21
[2026-10-20 16:43:22,504.504 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:43:22,799.799 INFO    ] Initializing speech engine...
[2026-10-20 16:43:22,806.806 INFO    ] 2026-10-20 16:43:22
[2026-10-20 16:43:23,077.077 INFO    ] 2026-10-20 16:43:23
[2026-10-20 16:43:23,133.133 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:43:23,385.385 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:43:23,390.390 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:43:23,621.621 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:43:23,629.629 INFO    ] time= 20/10/2026 16:43:23
[2026-10-20 16:43:23,647.647 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:43:23,676.676 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:43:23,808.808 INFO    ] No existing commands found in stream
[2026-10-20 16:43:28,839.839 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:43:28,842.842 INFO    ] Waiting 1.37 seconds before fallback handling...
[2026-10-20 16:43:30,810.810 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:43:30,813.813 INFO    ] Checking for system updates...
[2026-10-20 16:43:30,849.849 INFO    ] 200
[2026-10-20 16:43:30,851.851 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:43:30,904.904 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:43:30,906.906 INFO    ] No update needed
[2026-10-20 16:43:30,909.909 INFO    ] Checking for camera pi updates...
[2026-10-20 16:43:30,943.943 INFO    ] 200
[2026-10-20 16:43:30,945.945 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:43:30,985.985 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:43:31,032.032 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:43:31,035.035 INFO    ] No camera update needed
[2026-10-20 16:43:31,037.037 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:43:31,039.039 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:43:31,045.045 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:43:31,050.050 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:43:33,089.089 INFO    ] ================================================
[2026-10-20 16:43:33,104.104 INFO    ] Launching Daemon at Tue Oct 20 16:43:33 IST 2026
[2026-10-20 16:43:33,115.115 INFO    ] ================================================
[2026-10-20 16:43:33,772.772 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:43:33
[2026-10-20 16:43:34,449.449 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:43:34,699.699 INFO    ] Initializing speech engine...
[2026-10-20 16:43:34,713.713 INFO    ] 2026-10-20 16:43:34
[2026-10-20 16:43:34,977.977 INFO    ] 2026-10-20 16:43:34
[2026-10-20 16:43:35,018.018 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:43:35,269.269 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:43:35,273.273 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:43:35,408.408 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:43:35,462.462 INFO    ] time= 20/10/2026 16:43:35
[2026-10-20 16:43:35,516.516 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:43:35,539.539 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:43:35,683.683 INFO    ] No existing commands found in stream
[2026-10-20 16:43:40,699.699 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:43:40,701.701 INFO    ] Waiting 3.37 seconds before fallback handling...
[2026-10-20 16:43:44,601.601 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:43:44,603.603 INFO    ] Checking for system updates...
[2026-10-20 16:43:44,638.638 INFO    ] 200
[2026-10-20 16:43:44,641.641 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:43:44,693.693 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:43:44,695.695 INFO    ] No update needed
[2026-10-20 16:43:44,697.697 INFO    ] Checking for camera pi updates...
[2026-10-20 16:43:44,731.731 INFO    ] 200
[2026-10-20 16:43:44,733.733 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:43:44,778.778 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:43:44,826.826 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:43:44,829.829 INFO    ] No camera update needed
[2026-10-20 16:43:44,831.831 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:43:44,833.833 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:43:44,839.839 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:43:44,844.844 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:43:46,884.884 INFO    ] ================================================
[2026-10-20 16:43:46,900.900 INFO    ] Launching Daemon at Tue Oct 20 16:43:46 IST 2026
[2026-10-20 16:43:46,910.910 INFO    ] ================================================
[2026-10-20 16:43:47,565.565 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:43:47
[2026-10-20 16:43:48,181.181 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:43:48,438.438 INFO    ] Initializing speech engine...
[2026-10-20 16:43:48,444.444 INFO    ] 2026-10-20 16:43:48
[2026-10-20 16:43:48,750.750 INFO    ] 2026-10-20 16:43:48
[2026-10-20 16:43:48,788.788 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:43:48,986.986 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:43:49,003.003 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:43:49,165.165 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:43:49,175.175 INFO    ] time= 20/10/2026 16:43:49
[2026-10-20 16:43:49,182.182 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:43:49,235.235 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:43:49,378.378 INFO    ] No existing commands found in stream
[2026-10-20 16:43:54,404.404 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:43:54,407.407 INFO    ] Waiting 1.18 seconds before fallback handling...
[2026-10-20 16:43:56,099.099 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:43:56,102.102 INFO    ] Checking for system updates...
[2026-10-20 16:43:56,137.137 INFO    ] 200
[2026-10-20 16:43:56,140.140 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:43:56,192.192 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:43:56,195.195 INFO    ] No update needed
[2026-10-20 16:43:56,197.197 INFO    ] Checking for camera pi updates...
[2026-10-20 16:43:56,230.230 INFO    ] 200
[2026-10-20 16:43:56,233.233 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:43:56,273.273 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:43:56,321.321 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:43:56,323.323 INFO    ] No camera update needed
[2026-10-20 16:43:56,326.326 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:43:56,328.328 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:43:56,334.334 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:43:56,339.339 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:43:58,379.379 INFO    ] ================================================
[2026-10-20 16:43:58,394.394 INFO    ] Launching Daemon at Tue Oct 20 16:43:58 IST 2026
[2026-10-20 16:43:58,404.404 INFO    ] ================================================
[2026-10-20 16:43:59,051.051 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:43:59
[2026-10-20 16:43:59,718.718 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:44:00,019.019 INFO    ] Initializing speech engine...
[2026-10-20 16:44:00,032.032 INFO    ] 2026-10-20 16:44:00
[2026-10-20 16:44:00,319.319 INFO    ] 2026-10-20 16:44:00
[2026-10-20 16:44:00,429.429 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:44:00,654.654 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:44:00,659.659 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:44:00,856.856 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:44:00,864.864 INFO    ] time= 20/10/2026 16:44:00
[2026-10-20 16:44:00,886.886 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:44:00,914.914 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:44:01,020.020 INFO    ] No existing commands found in stream
[2026-10-20 16:44:06,037.037 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:44:06,040.040 INFO    ] Waiting 3.37 seconds before fallback handling...
[2026-10-20 16:44:09,958.958 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:44:09,961.961 INFO    ] Checking for system updates...
[2026-10-20 16:44:09,997.997 INFO    ] 200
[2026-10-20 16:44:10,000.000 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:44:10,058.058 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:44:10,061.061 INFO    ] No update needed
[2026-10-20 16:44:10,064.064 INFO    ] Checking for camera pi updates...
[2026-10-20 16:44:10,098.098 INFO    ] 200
[2026-10-20 16:44:10,100.100 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:44:10,141.141 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:44:10,186.186 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:44:10,189.189 INFO    ] No camera update needed
[2026-10-20 16:44:10,192.192 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:44:10,194.194 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:44:10,200.200 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:44:10,205.205 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:44:12,245.245 INFO    ] ================================================
[2026-10-20 16:44:12,260.260 INFO    ] Launching Daemon at Tue Oct 20 16:44:12 IST 2026
[2026-10-20 16:44:12,274.274 INFO    ] ================================================
[2026-10-20 16:44:12,879.879 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:44:12
[2026-10-20 16:44:13,476.476 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:44:13,750.750 INFO    ] Initializing speech engine...
[2026-10-20 16:44:13,759.759 INFO    ] 2026-10-20 16:44:13
[2026-10-20 16:44:14,013.013 INFO    ] 2026-10-20 16:44:14
[2026-10-20 16:44:14,047.047 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:44:14,280.280 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:44:14,301.301 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:44:14,528.528 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:44:14,564.564 INFO    ] time= 20/10/2026 16:44:14
[2026-10-20 16:44:14,580.580 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:44:14,589.589 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:44:14,712.712 INFO    ] No existing commands found in stream
[2026-10-20 16:44:19,728.728 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:44:19,731.731 INFO    ] Waiting 0.14 seconds before fallback handling...
[2026-10-20 16:44:20,412.412 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:44:20,415.415 INFO    ] Checking for system updates...
[2026-10-20 16:44:20,452.452 INFO    ] 200
[2026-10-20 16:44:20,455.455 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:44:20,506.506 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:44:20,508.508 INFO    ] No update needed
[2026-10-20 16:44:20,511.511 INFO    ] Checking for camera pi updates...
[2026-10-20 16:44:20,545.545 INFO    ] 200
[2026-10-20 16:44:20,547.547 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:44:20,587.587 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:44:20,636.636 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:44:20,639.639 INFO    ] No camera update needed
[2026-10-20 16:44:20,641.641 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:44:20,643.643 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:44:20,649.649 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:44:20,654.654 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:44:22,693.693 INFO    ] ================================================
[2026-10-20 16:44:22,707.707 INFO    ] Launching Daemon at Tue Oct 20 16:44:22 IST 2026
[2026-10-20 16:44:22,718.718 INFO    ] ================================================
[2026-10-20 16:44:23,286.286 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:44:23
[2026-10-20 16:44:23,871.871 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:44:24,159.159 INFO    ] Initializing speech engine...
[2026-10-20 16:44:24,165.165 INFO    ] 2026-10-20 16:44:24
[2026-10-20 16:44:24,432.432 INFO    ] 2026-10-20 16:44:24
[2026-10-20 16:44:24,468.468 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:44:24,675.675 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:44:24,683.683 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:44:24,855.855 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:44:24,863.863 INFO    ] time= 20/10/2026 16:44:24
[2026-10-20 16:44:24,906.906 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:44:24,938.938 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:44:25,076.076 INFO    ] No existing commands found in stream
[2026-10-20 16:44:30,090.090 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:44:30,093.093 INFO    ] Waiting 0.60 seconds before fallback handling...
[2026-10-20 16:44:31,165.165 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:44:31,167.167 INFO    ] Checking for system updates...
[2026-10-20 16:44:31,203.203 INFO    ] 200
[2026-10-20 16:44:31,206.206 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:44:31,258.258 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:44:31,261.261 INFO    ] No update needed
[2026-10-20 16:44:31,263.263 INFO    ] Checking for camera pi updates...
[2026-10-20 16:44:31,296.296 INFO    ] 200
[2026-10-20 16:44:31,299.299 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:44:31,338.338 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:44:31,391.391 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:44:31,393.393 INFO    ] No camera update needed
[2026-10-20 16:44:31,396.396 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:44:31,398.398 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:44:31,404.404 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:44:31,409.409 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:44:33,448.448 INFO    ] ================================================
[2026-10-20 16:44:33,463.463 INFO    ] Launching Daemon at Tue Oct 20 16:44:33 IST 2026
[2026-10-20 16:44:33,473.473 INFO    ] ================================================
[2026-10-20 16:44:34,045.045 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:44:34
[2026-10-20 16:44:34,628.628 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:44:34,894.894 INFO    ] Initializing speech engine...
[2026-10-20 16:44:34,907.907 INFO    ] 2026-10-20 16:44:34
[2026-10-20 16:44:35,157.157 INFO    ] 2026-10-20 16:44:35
[2026-10-20 16:44:35,191.191 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:44:35,394.394 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:44:35,452.452 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:44:35,707.707 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:44:35,726.726 INFO    ] time= 20/10/2026 16:44:35
[2026-10-20 16:44:35,741.741 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:44:35,750.750 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:44:35,855.855 INFO    ] No existing commands found in stream
[2026-10-20 16:44:40,885.885 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:44:40,888.888 INFO    ] Waiting 0.58 seconds before fallback handling...
[2026-10-20 16:44:41,992.992 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:44:41,994.994 INFO    ] Checking for system updates...
[2026-10-20 16:44:42,029.029 INFO    ] 200
[2026-10-20 16:44:42,032.032 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:44:42,083.083 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:44:42,085.085 INFO    ] No update needed
[2026-10-20 16:44:42,088.088 INFO    ] Checking for camera pi updates...
[2026-10-20 16:44:42,121.121 INFO    ] 200
[2026-10-20 16:44:42,123.123 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:44:42,163.163 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:44:42,205.205 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:44:42,208.208 INFO    ] No camera update needed
[2026-10-20 16:44:42,210.210 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:44:42,212.212 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:44:42,218.218 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:44:42,223.223 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:44:44,261.261 INFO    ] ================================================
[2026-10-20 16:44:44,276.276 INFO    ] Launching Daemon at Tue Oct 20 16:44:44 IST 2026
[2026-10-20 16:44:44,287.287 INFO    ] ================================================
[2026-10-20 16:44:44,901.901 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:44:44
[2026-10-20 16:44:45,500.500 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:44:45,778.778 INFO    ] Initializing speech engine...
[2026-10-20 16:44:45,784.784 INFO    ] 2026-10-20 16:44:45
[2026-10-20 16:44:46,046.046 INFO    ] 2026-10-20 16:44:46
[2026-10-20 16:44:46,100.100 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:44:46,327.327 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:44:46,332.332 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:44:46,559.559 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:44:46,589.589 INFO    ] time= 20/10/2026 16:44:46
[2026-10-20 16:44:46,607.607 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:44:46,617.617 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:44:46,789.789 INFO    ] No existing commands found in stream
[2026-10-20 16:44:51,814.814 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:44:51,817.817 INFO    ] Waiting 1.64 seconds before fallback handling...
[2026-10-20 16:44:54,184.184 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:44:54,187.187 INFO    ] Checking for system updates...
[2026-10-20 16:44:54,224.224 INFO    ] 200
[2026-10-20 16:44:54,226.226 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:44:54,284.284 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:44:54,286.286 INFO    ] No update needed
[2026-10-20 16:44:54,288.288 INFO    ] Checking for camera pi updates...
[2026-10-20 16:44:54,321.321 INFO    ] 200
[2026-10-20 16:44:54,324.324 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:44:54,363.363 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:44:54,506.506 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:44:54,508.508 INFO    ] No camera update needed
[2026-10-20 16:44:54,511.511 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:44:54,513.513 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:44:54,518.518 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:44:54,523.523 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:44:56,564.564 INFO    ] ================================================
[2026-10-20 16:44:56,579.579 INFO    ] Launching Daemon at Tue Oct 20 16:44:56 IST 2026
[2026-10-20 16:44:56,589.589 INFO    ] ================================================
[2026-10-20 16:44:57,154.154 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:44:57
[2026-10-20 16:44:57,734.734 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:44:57,983.983 INFO    ] Initializing speech engine...
[2026-10-20 16:44:57,990.990 INFO    ] 2026-10-20 16:44:57
[2026-10-20 16:44:58,262.262 INFO    ] 2026-10-20 16:44:58
[2026-10-20 16:44:58,298.298 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:44:58,536.536 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:44:58,558.558 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:44:58,702.702 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:44:58,763.763 INFO    ] time= 20/10/2026 16:44:58
[2026-10-20 16:44:58,812.812 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:44:58,837.837 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:44:58,987.987 INFO    ] No existing commands found in stream
[2026-10-20 16:45:04,000.000 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:45:04,003.003 INFO    ] Waiting 0.31 seconds before fallback handling...
[2026-10-20 16:45:04,845.845 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:45:04,848.848 INFO    ] Checking for system updates...
[2026-10-20 16:45:04,883.883 INFO    ] 200
[2026-10-20 16:45:04,885.885 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:45:04,941.941 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:45:04,943.943 INFO    ] No update needed
[2026-10-20 16:45:04,946.946 INFO    ] Checking for camera pi updates...
[2026-10-20 16:45:04,979.979 INFO    ] 200
[2026-10-20 16:45:04,981.981 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:45:05,025.025 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:45:05,069.069 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:45:05,072.072 INFO    ] No camera update needed
[2026-10-20 16:45:05,075.075 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:45:05,078.078 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:45:05,084.084 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:45:05,090.090 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:45:07,132.132 INFO    ] ================================================
[2026-10-20 16:45:07,147.147 INFO    ] Launching Daemon at Tue Oct 20 16:45:07 IST 2026
[2026-10-20 16:45:07,158.158 INFO    ] ================================================
[2026-10-20 16:45:07,731.731 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:45:07
[2026-10-20 16:45:08,320.320 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:45:08,567.567 INFO    ] Initializing speech engine...
[2026-10-20 16:45:08,575.575 INFO    ] 2026-10-20 16:45:08
[2026-10-20 16:45:08,849.849 INFO    ] 2026-10-20 16:45:08
[2026-10-20 16:45:08,886.886 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:45:09,088.088 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:45:09,140.140 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:45:09,347.347 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:45:09,396.396 INFO    ] time= 20/10/2026 16:45:09
[2026-10-20 16:45:09,422.422 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:45:09,428.428 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:45:09,578.578 INFO    ] No existing commands found in stream
[2026-10-20 16:45:14,590.590 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:45:14,593.593 INFO    ] Waiting 1.40 seconds before fallback handling...
[2026-10-20 16:45:16,506.506 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:45:16,509.509 INFO    ] Checking for system updates...
[2026-10-20 16:45:16,544.544 INFO    ] 200
[2026-10-20 16:45:16,546.546 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:45:16,602.602 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:45:16,605.605 INFO    ] No update needed
[2026-10-20 16:45:16,608.608 INFO    ] Checking for camera pi updates...
[2026-10-20 16:45:16,646.646 INFO    ] 200
[2026-10-20 16:45:16,649.649 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:45:16,701.701 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:45:16,745.745 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:45:16,747.747 INFO    ] No camera update needed
[2026-10-20 16:45:16,750.750 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:45:16,753.753 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:45:16,759.759 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:45:16,765.765 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:45:18,807.807 INFO    ] ================================================
[2026-10-20 16:45:18,822.822 INFO    ] Launching Daemon at Tue Oct 20 16:45:18 IST 2026
[2026-10-20 16:45:18,833.833 INFO    ] ================================================
[2026-10-20 16:45:19,411.411 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:45:19
[2026-10-20 16:45:20,006.006 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:45:20,278.278 INFO    ] Initializing speech engine...
[2026-10-20 16:45:20,287.287 INFO    ] 2026-10-20 16:45:20
[2026-10-20 16:45:20,548.548 INFO    ] 2026-10-20 16:45:20
[2026-10-20 16:45:20,578.578 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:45:20,830.830 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:45:20,851.851 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:45:21,071.071 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:45:21,089.089 INFO    ] time= 20/10/2026 16:45:21
[2026-10-20 16:45:21,095.095 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:45:21,113.113 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:45:21,243.243 INFO    ] No existing commands found in stream
[2026-10-20 16:45:26,262.262 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:45:26,265.265 INFO    ] Waiting 0.05 seconds before fallback handling...
[2026-10-20 16:45:26,785.785 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:45:26,788.788 INFO    ] Checking for system updates...
[2026-10-20 16:45:26,825.825 INFO    ] 200
[2026-10-20 16:45:26,827.827 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:45:26,881.881 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:45:26,884.884 INFO    ] No update needed
[2026-10-20 16:45:26,887.887 INFO    ] Checking for camera pi updates...
[2026-10-20 16:45:26,924.924 INFO    ] 200
[2026-10-20 16:45:26,926.926 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:45:26,971.971 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:45:27,006.006 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:45:27,009.009 INFO    ] No camera update needed
[2026-10-20 16:45:27,012.012 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:45:27,014.014 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:45:27,020.020 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:45:27,026.026 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:45:29,068.068 INFO    ] ================================================
[2026-10-20 16:45:29,084.084 INFO    ] Launching Daemon at Tue Oct 20 16:45:29 IST 2026
[2026-10-20 16:45:29,096.096 INFO    ] ================================================
[2026-10-20 16:45:29,742.742 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:45:29
[2026-10-20 16:45:30,434.434 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:45:30,748.748 INFO    ] Initializing speech engine...
[2026-10-20 16:45:30,761.761 INFO    ] 2026-10-20 16:45:30
[2026-10-20 16:45:31,060.060 INFO    ] 2026-10-20 16:45:31
[2026-10-20 16:45:31,123.123 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:45:31,380.380 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:45:31,389.389 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:45:31,599.599 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:45:31,642.642 INFO    ] time= 20/10/2026 16:45:31
[2026-10-20 16:45:31,662.662 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:45:31,677.677 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:45:31,805.805 INFO    ] No existing commands found in stream
[2026-10-20 16:45:36,841.841 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:45:36,844.844 INFO    ] Waiting 1.58 seconds before fallback handling...
[2026-10-20 16:45:38,936.936 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:45:38,939.939 INFO    ] Checking for system updates...
[2026-10-20 16:45:38,975.975 INFO    ] 200
[2026-10-20 16:45:38,979.979 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:45:39,031.031 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:45:39,034.034 INFO    ] No update needed
[2026-10-20 16:45:39,037.037 INFO    ] Checking for camera pi updates...
[2026-10-20 16:45:39,071.071 INFO    ] 200
[2026-10-20 16:45:39,074.074 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:45:39,116.116 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:45:39,174.174 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:45:39,176.176 INFO    ] No camera update needed
[2026-10-20 16:45:39,179.179 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:45:39,182.182 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:45:39,188.188 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:45:39,194.194 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:45:41,236.236 INFO    ] ================================================
[2026-10-20 16:45:41,251.251 INFO    ] Launching Daemon at Tue Oct 20 16:45:41 IST 2026
[2026-10-20 16:45:41,262.262 INFO    ] ================================================
[2026-10-20 16:45:41,846.846 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:45:41
[2026-10-20 16:45:42,446.446 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:45:42,724.724 INFO    ] Initializing speech engine...
[2026-10-20 16:45:42,734.734 INFO    ] 2026-10-20 16:45:42
[2026-10-20 16:45:42,996.996 INFO    ] 2026-10-20 16:45:42
[2026-10-20 16:45:43,050.050 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:45:43,300.300 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:45:43,333.333 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:45:43,534.534 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:45:43,552.552 INFO    ] time= 20/10/2026 16:45:43
[2026-10-20 16:45:43,558.558 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:45:43,587.587 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:45:43,694.694 INFO    ] No existing commands found in stream
[2026-10-20 16:45:48,723.723 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:45:48,726.726 INFO    ] Waiting 0.37 seconds before fallback handling...
[2026-10-20 16:45:49,663.663 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:45:49,665.665 INFO    ] Checking for system updates...
[2026-10-20 16:45:49,701.701 INFO    ] 200
[2026-10-20 16:45:49,704.704 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:45:49,763.763 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:45:49,765.765 INFO    ] No update needed
[2026-10-20 16:45:49,767.767 INFO    ] Checking for camera pi updates...
[2026-10-20 16:45:49,801.801 INFO    ] 200
[2026-10-20 16:45:49,803.803 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:45:49,848.848 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:45:49,907.907 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:45:49,909.909 INFO    ] No camera update needed
[2026-10-20 16:45:49,912.912 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:45:49,914.914 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:45:49,920.920 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:45:49,925.925 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:45:51,968.968 INFO    ] ================================================
[2026-10-20 16:45:51,983.983 INFO    ] Launching Daemon at Tue Oct 20 16:45:51 IST 2026
[2026-10-20 16:45:52,994.994 INFO    ] ================================================
[2026-10-20 16:45:52,574.574 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:45:52
[2026-10-20 16:45:53,174.174 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:45:53,450.450 INFO    ] Initializing speech engine...
[2026-10-20 16:45:53,459.459 INFO    ] 2026-10-20 16:45:53
[2026-10-20 16:45:53,716.716 INFO    ] 2026-10-20 16:45:53
[2026-10-20 16:45:53,746.746 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:45:53,995.995 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:45:54,000.000 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:45:54,213.213 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:45:54,256.256 INFO    ] time= 20/10/2026 16:45:54
[2026-10-20 16:45:54,263.263 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:45:54,278.278 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:45:54,413.413 INFO    ] No existing commands found in stream
[2026-10-20 16:45:59,437.437 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:45:59,441.441 INFO    ] Waiting 0.12 seconds before fallback handling...
[2026-10-20 16:46:00,017.017 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:46:00,020.020 INFO    ] Checking for system updates...
[2026-10-20 16:46:00,056.056 INFO    ] 200
[2026-10-20 16:46:00,058.058 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:46:00,112.112 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:46:00,115.115 INFO    ] No update needed
[2026-10-20 16:46:00,117.117 INFO    ] Checking for camera pi updates...
[2026-10-20 16:46:00,151.151 INFO    ] 200
[2026-10-20 16:46:00,154.154 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:46:00,194.194 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:46:00,241.241 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:46:00,244.244 INFO    ] No camera update needed
[2026-10-20 16:46:00,246.246 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:46:00,249.249 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:46:00,254.254 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:46:00,259.259 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:46:02,314.314 INFO    ] ================================================
[2026-10-20 16:46:02,336.336 INFO    ] Launching Daemon at Tue Oct 20 16:46:02 IST 2026
[2026-10-20 16:46:02,352.352 INFO    ] ================================================
[2026-10-20 16:46:03,034.034 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:46:03
[2026-10-20 16:46:03,642.642 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:46:03,893.893 INFO    ] Initializing speech engine...
[2026-10-20 16:46:03,905.905 INFO    ] 2026-10-20 16:46:03
[2026-10-20 16:46:04,184.184 INFO    ] 2026-10-20 16:46:04
[2026-10-20 16:46:04,250.250 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:46:04,486.486 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:46:04,493.493 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:46:04,690.690 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:46:04,745.745 INFO    ] time= 20/10/2026 16:46:04
[2026-10-20 16:46:04,766.766 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:46:04,785.785 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:46:04,915.915 INFO    ] No existing commands found in stream
[2026-10-20 16:46:09,933.933 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:46:09,936.936 INFO    ] Waiting 1.81 seconds before fallback handling...
[2026-10-20 16:46:12,305.305 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:46:12,308.308 INFO    ] Checking for system updates...
[2026-10-20 16:46:12,345.345 INFO    ] 200
[2026-10-20 16:46:12,348.348 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:46:12,402.402 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:46:12,405.405 INFO    ] No update needed
[2026-10-20 16:46:12,407.407 INFO    ] Checking for camera pi updates...
[2026-10-20 16:46:12,441.441 INFO    ] 200
[2026-10-20 16:46:12,443.443 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:46:12,483.483 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:46:12,530.530 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:46:12,533.533 INFO    ] No camera update needed
[2026-10-20 16:46:12,535.535 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:46:12,537.537 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:46:12,542.542 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:46:12,547.547 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:46:14,588.588 INFO    ] ================================================
[2026-10-20 16:46:14,603.603 INFO    ] Launching Daemon at Tue Oct 20 16:46:14 IST 2026
[2026-10-20 16:46:14,615.615 INFO    ] ================================================
[2026-10-20 16:46:15,184.184 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:46:15
[2026-10-20 16:46:15,769.769 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:46:16,041.041 INFO    ] Initializing speech engine...
[2026-10-20 16:46:16,049.049 INFO    ] 2026-10-20 16:46:16
[2026-10-20 16:46:16,299.299 INFO    ] 2026-10-20 16:46:16
[2026-10-20 16:46:16,333.333 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:46:16,537.537 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:46:16,596.596 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:46:16,737.737 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:46:16,785.785 INFO    ] time= 20/10/2026 16:46:16
[2026-10-20 16:46:16,855.855 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:46:16,875.875 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:46:17,027.027 INFO    ] No existing commands found in stream
[2026-10-20 16:46:22,039.039 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:46:22,042.042 INFO    ] Waiting 2.11 seconds before fallback handling...
[2026-10-20 16:46:24,625.625 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:46:24,627.627 INFO    ] Checking for system updates...
[2026-10-20 16:46:24,666.666 INFO    ] 200
[2026-10-20 16:46:24,669.669 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:46:24,721.721 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:46:24,723.723 INFO    ] No update needed
[2026-10-20 16:46:24,725.725 INFO    ] Checking for camera pi updates...
[2026-10-20 16:46:24,762.762 INFO    ] 200
[2026-10-20 16:46:24,765.765 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:46:24,806.806 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:46:24,856.856 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:46:24,859.859 INFO    ] No camera update needed
[2026-10-20 16:46:24,861.861 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:46:24,863.863 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:46:24,869.869 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:46:24,874.874 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:46:26,916.916 INFO    ] ================================================
[2026-10-20 16:46:26,932.932 INFO    ] Launching Daemon at Tue Oct 20 16:46:26 IST 2026
[2026-10-20 16:46:26,943.943 INFO    ] ================================================
[2026-10-20 16:46:27,597.597 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:46:27
[2026-10-20 16:46:28,268.268 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:46:28,541.541 INFO    ] Initializing speech engine...
[2026-10-20 16:46:28,552.552 INFO    ] 2026-10-20 16:46:28
[2026-10-20 16:46:28,812.812 INFO    ] 2026-10-20 16:46:28
[2026-10-20 16:46:28,869.869 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:46:29,099.099 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:46:29,104.104 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:46:29,299.299 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:46:29,354.354 INFO    ] time= 20/10/2026 16:46:29
[2026-10-20 16:46:29,373.373 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:46:29,388.388 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:46:29,514.514 INFO    ] No existing commands found in stream
[2026-10-20 16:46:34,536.536 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:46:34,539.539 INFO    ] Waiting 0.80 seconds before fallback handling...
[2026-10-20 16:46:35,813.813 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:46:35,816.816 INFO    ] Checking for system updates...
[2026-10-20 16:46:35,855.855 INFO    ] 200
[2026-10-20 16:46:35,858.858 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:46:35,913.913 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:46:35,916.916 INFO    ] No update needed
[2026-10-20 16:46:35,918.918 INFO    ] Checking for camera pi updates...
[2026-10-20 16:46:35,957.957 INFO    ] 200
[2026-10-20 16:46:35,960.960 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:46:36,000.000 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:46:36,050.050 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:46:36,052.052 INFO    ] No camera update needed
[2026-10-20 16:46:36,054.054 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:46:36,060.060 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:46:36,066.066 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:46:36,071.071 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:46:38,113.113 INFO    ] ================================================
[2026-10-20 16:46:38,129.129 INFO    ] Launching Daemon at Tue Oct 20 16:46:38 IST 2026
[2026-10-20 16:46:38,140.140 INFO    ] ================================================
[2026-10-20 16:46:38,733.733 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:46:38
[2026-10-20 16:46:39,346.346 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:46:39,626.626 INFO    ] Initializing speech engine...
[2026-10-20 16:46:39,633.633 INFO    ] 2026-10-20 16:46:39
[2026-10-20 16:46:39,888.888 INFO    ] 2026-10-20 16:46:39
[2026-10-20 16:46:39,930.930 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:46:40,175.175 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:46:40,185.185 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:46:40,389.389 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:46:40,444.444 INFO    ] time= 20/10/2026 16:46:40
[2026-10-20 16:46:40,451.451 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:46:40,470.470 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:46:40,624.624 INFO    ] No existing commands found in stream
[2026-10-20 16:46:45,655.655 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:46:45,657.657 INFO    ] Waiting 2.69 seconds before fallback handling...
[2026-10-20 16:46:48,859.859 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 16:46:48,862.862 INFO    ] Checking for system updates...
[2026-10-20 16:46:48,899.899 INFO    ] 200
[2026-10-20 16:46:48,901.901 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:46:48,954.954 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:46:48,957.957 INFO    ] No update needed
[2026-10-20 16:46:48,960.960 INFO    ] Checking for camera pi updates...
[2026-10-20 16:46:48,994.994 INFO    ] 200
[2026-10-20 16:46:48,996.996 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:46:49,036.036 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:46:49,067.067 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:46:49,070.070 INFO    ] No camera update needed
[2026-10-20 16:46:49,072.072 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:46:49,074.074 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:46:49,080.080 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:46:49,085.085 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:46:51,125.125 INFO    ] ================================================
[2026-10-20 16:46:51,140.140 INFO    ] Launching Daemon at Tue Oct 20 16:46:51 IST 2026
[2026-10-20 16:46:51,151.151 INFO    ] ================================================
[2026-10-20 16:46:51,805.805 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:46:51
[2026-10-20 16:46:52,479.479 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:46:52,785.785 INFO    ] Initializing speech engine...
[2026-10-20 16:46:52,793.793 INFO    ] 2026-10-20 16:46:52
[2026-10-20 16:46:53,083.083 INFO    ] 2026-10-20 16:46:53
[2026-10-20 16:46:53,141.141 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:46:53,427.427 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:46:53,432.432 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:46:53,633.633 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:46:53,650.650 INFO    ] time= 20/10/2026 16:46:53
[2026-10-20 16:46:53,660.660 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:46:53,689.689 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:46:53,821.821 INFO    ] No existing commands found in stream
[2026-10-20 16:46:58,852.852 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:46:58,855.855 INFO    ] Waiting 1.14 seconds before fallback handling...
[2026-10-20 16:47:00,531.531 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:47:00,534.534 INFO    ] Checking for system updates...
[2026-10-20 16:47:00,572.572 INFO    ] 200
[2026-10-20 16:47:00,575.575 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:47:00,627.627 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:47:00,630.630 INFO    ] No update needed
[2026-10-20 16:47:00,632.632 INFO    ] Checking for camera pi updates...
[2026-10-20 16:47:00,670.670 INFO    ] 200
[2026-10-20 16:47:00,672.672 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:47:00,713.713 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:47:00,858.858 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:47:00,861.861 INFO    ] No camera update needed
[2026-10-20 16:47:00,863.863 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:47:00,866.866 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:47:00,871.871 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:47:00,876.876 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:47:02,919.919 INFO    ] ================================================
[2026-10-20 16:47:02,936.936 INFO    ] Launching Daemon at Tue Oct 20 16:47:02 IST 2026
[2026-10-20 16:47:02,949.949 INFO    ] ================================================
[2026-10-20 16:47:03,543.543 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:47:03
[2026-10-20 16:47:04,140.140 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:47:04,423.423 INFO    ] Initializing speech engine...
[2026-10-20 16:47:04,432.432 INFO    ] 2026-10-20 16:47:04
[2026-10-20 16:47:04,693.693 INFO    ] 2026-10-20 16:47:04
[2026-10-20 16:47:04,727.727 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:47:04,945.945 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:47:04,989.989 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:47:05,210.210 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:47:05,259.259 INFO    ] time= 20/10/2026 16:47:05
[2026-10-20 16:47:05,302.302 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:47:05,308.308 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:47:05,454.454 INFO    ] No existing commands found in stream
[2026-10-20 16:47:10,479.479 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:47:10,482.482 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-10-20 16:47:12,770.770 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:47:12,773.773 INFO    ] Checking for system updates...
[2026-10-20 16:47:12,808.808 INFO    ] 200
[2026-10-20 16:47:12,811.811 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:47:12,862.862 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:47:12,865.865 INFO    ] No update needed
[2026-10-20 16:47:12,867.867 INFO    ] Checking for camera pi updates...
[2026-10-20 16:47:12,900.900 INFO    ] 200
[2026-10-20 16:47:12,903.903 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:47:12,943.943 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:47:12,988.988 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:47:12,991.991 INFO    ] No camera update needed
[2026-10-20 16:47:12,993.993 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:47:12,995.995 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:47:13,001.001 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:47:13,006.006 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:47:15,047.047 INFO    ] ================================================
[2026-10-20 16:47:15,062.062 INFO    ] Launching Daemon at Tue Oct 20 16:47:15 IST 2026
[2026-10-20 16:47:15,073.073 INFO    ] ================================================
[2026-10-20 16:47:15,639.639 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:47:15
[2026-10-20 16:47:16,235.235 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:47:16,496.496 INFO    ] Initializing speech engine...
[2026-10-20 16:47:16,521.521 INFO    ] 2026-10-20 16:47:16
[2026-10-20 16:47:16,789.789 INFO    ] 2026-10-20 16:47:16
[2026-10-20 16:47:16,824.824 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:47:17,101.101 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:47:17,111.111 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:47:17,258.258 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:47:17,317.317 INFO    ] time= 20/10/2026 16:47:17
[2026-10-20 16:47:17,372.372 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:47:17,401.401 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:47:17,550.550 INFO    ] No existing commands found in stream
[2026-10-20 16:47:22,573.573 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:47:22,576.576 INFO    ] Waiting 3.37 seconds before fallback handling...
[2026-10-20 16:47:26,459.459 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:47:26,462.462 INFO    ] Checking for system updates...
[2026-10-20 16:47:26,497.497 INFO    ] 200
[2026-10-20 16:47:26,500.500 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:47:26,556.556 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:47:26,558.558 INFO    ] No update needed
[2026-10-20 16:47:26,561.561 INFO    ] Checking for camera pi updates...
[2026-10-20 16:47:26,597.597 INFO    ] 200
[2026-10-20 16:47:26,599.599 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:47:26,643.643 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:47:26,692.692 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:47:26,695.695 INFO    ] No camera update needed
[2026-10-20 16:47:26,697.697 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:47:26,699.699 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:47:26,705.705 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:47:26,710.710 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:47:28,750.750 INFO    ] ================================================
[2026-10-20 16:47:28,766.766 INFO    ] Launching Daemon at Tue Oct 20 16:47:28 IST 2026
[2026-10-20 16:47:28,776.776 INFO    ] ================================================
[2026-10-20 16:47:29,397.397 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:47:29
[2026-10-20 16:47:30,033.033 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:47:30,326.326 INFO    ] Initializing speech engine...
[2026-10-20 16:47:30,335.335 INFO    ] 2026-10-20 16:47:30
[2026-10-20 16:47:30,600.600 INFO    ] 2026-10-20 16:47:30
[2026-10-20 16:47:30,635.635 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:47:30,894.894 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:47:30,900.900 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:47:31,124.124 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:47:31,163.163 INFO    ] time= 20/10/2026 16:47:31
[2026-10-20 16:47:31,181.181 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:47:31,191.191 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:47:31,334.334 INFO    ] No existing commands found in stream
[2026-10-20 16:47:36,363.363 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:47:36,366.366 INFO    ] Waiting 1.64 seconds before fallback handling...
[2026-10-20 16:47:38,519.519 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:47:38,522.522 INFO    ] Checking for system updates...
[2026-10-20 16:47:38,622.622 INFO    ] 200
[2026-10-20 16:47:38,625.625 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:47:38,682.682 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:47:38,685.685 INFO    ] No update needed
[2026-10-20 16:47:38,688.688 INFO    ] Checking for camera pi updates...
[2026-10-20 16:47:38,721.721 INFO    ] 200
[2026-10-20 16:47:38,724.724 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:47:38,767.767 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:47:38,812.812 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:47:38,814.814 INFO    ] No camera update needed
[2026-10-20 16:47:38,817.817 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:47:38,819.819 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:47:38,825.825 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:47:38,831.831 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:47:40,870.870 INFO    ] ================================================
[2026-10-20 16:47:40,886.886 INFO    ] Launching Daemon at Tue Oct 20 16:47:40 IST 2026
[2026-10-20 16:47:40,897.897 INFO    ] ================================================
[2026-10-20 16:47:41,476.476 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:47:41
[2026-10-20 16:47:42,072.072 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:47:42,331.331 INFO    ] Initializing speech engine...
[2026-10-20 16:47:42,347.347 INFO    ] 2026-10-20 16:47:42
[2026-10-20 16:47:42,625.625 INFO    ] 2026-10-20 16:47:42
[2026-10-20 16:47:42,663.663 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:47:42,881.881 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:47:42,924.924 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:47:43,098.098 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:47:43,158.158 INFO    ] time= 20/10/2026 16:47:43
[2026-10-20 16:47:43,202.202 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:47:43,240.240 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:47:43,405.405 INFO    ] No existing commands found in stream
[2026-10-20 16:47:48,424.424 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:47:48,427.427 INFO    ] Waiting 3.77 seconds before fallback handling...
[2026-10-20 16:47:52,732.732 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:47:52,735.735 INFO    ] Checking for system updates...
[2026-10-20 16:47:52,770.770 INFO    ] 200
[2026-10-20 16:47:52,772.772 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:47:52,824.824 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:47:52,826.826 INFO    ] No update needed
[2026-10-20 16:47:52,829.829 INFO    ] Checking for camera pi updates...
[2026-10-20 16:47:52,862.862 INFO    ] 200
[2026-10-20 16:47:52,864.864 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:47:52,907.907 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:47:52,952.952 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:47:52,955.955 INFO    ] No camera update needed
[2026-10-20 16:47:52,957.957 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:47:52,959.959 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:47:52,965.965 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:47:52,969.969 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:47:55,009.009 INFO    ] ================================================
[2026-10-20 16:47:55,024.024 INFO    ] Launching Daemon at Tue Oct 20 16:47:55 IST 2026
[2026-10-20 16:47:55,035.035 INFO    ] ================================================
[2026-10-20 16:47:55,601.601 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:47:55
[2026-10-20 16:47:56,187.187 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:47:56,463.463 INFO    ] Initializing speech engine...
[2026-10-20 16:47:56,473.473 INFO    ] 2026-10-20 16:47:56
[2026-10-20 16:47:56,734.734 INFO    ] 2026-10-20 16:47:56
[2026-10-20 16:47:56,770.770 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:47:56,973.973 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:47:57,034.034 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:47:57,192.192 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:47:57,194.194 INFO    ] time= 20/10/2026 16:47:57
[2026-10-20 16:47:57,197.197 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:47:57,204.204 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:47:57,332.332 INFO    ] No existing commands found in stream
[2026-10-20 16:48:02,341.341 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:48:02,344.344 INFO    ] Waiting 2.61 seconds before fallback handling...
[2026-10-20 16:48:05,445.445 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:48:05,448.448 INFO    ] Checking for system updates...
[2026-10-20 16:48:05,489.489 INFO    ] 200
[2026-10-20 16:48:05,491.491 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:48:05,544.544 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:48:05,547.547 INFO    ] No update needed
[2026-10-20 16:48:05,549.549 INFO    ] Checking for camera pi updates...
[2026-10-20 16:48:05,583.583 INFO    ] 200
[2026-10-20 16:48:05,586.586 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:48:05,625.625 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:48:05,687.687 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:48:05,690.690 INFO    ] No camera update needed
[2026-10-20 16:48:05,693.693 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:48:05,696.696 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:48:05,702.702 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:48:05,708.708 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:48:07,751.751 INFO    ] ================================================
[2026-10-20 16:48:07,766.766 INFO    ] Launching Daemon at Tue Oct 20 16:48:07 IST 2026
[2026-10-20 16:48:07,777.777 INFO    ] ================================================
[2026-10-20 16:48:08,349.349 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:48:08
[2026-10-20 16:48:08,978.978 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:48:09,285.285 INFO    ] Initializing speech engine...
[2026-10-20 16:48:09,296.296 INFO    ] 2026-10-20 16:48:09
[2026-10-20 16:48:09,573.573 INFO    ] 2026-10-20 16:48:09
[2026-10-20 16:48:09,631.631 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:48:09,871.871 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:48:09,878.878 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:48:10,089.089 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:48:10,135.135 INFO    ] time= 20/10/2026 16:48:10
[2026-10-20 16:48:10,153.153 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:48:10,176.176 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:48:10,308.308 INFO    ] No existing commands found in stream
[2026-10-20 16:48:15,324.324 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:48:15,327.327 INFO    ] Waiting 1.46 seconds before fallback handling...
[2026-10-20 16:48:17,326.326 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:48:17,329.329 INFO    ] Checking for system updates...
[2026-10-20 16:48:17,365.365 INFO    ] 200
[2026-10-20 16:48:17,367.367 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:48:17,422.422 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:48:17,425.425 INFO    ] No update needed
[2026-10-20 16:48:17,427.427 INFO    ] Checking for camera pi updates...
[2026-10-20 16:48:17,464.464 INFO    ] 200
[2026-10-20 16:48:17,466.466 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:48:17,513.513 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:48:17,552.552 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:48:17,555.555 INFO    ] No camera update needed
[2026-10-20 16:48:17,557.557 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:48:17,559.559 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:48:17,565.565 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:48:17,569.569 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:48:19,609.609 INFO    ] ================================================
[2026-10-20 16:48:19,625.625 INFO    ] Launching Daemon at Tue Oct 20 16:48:19 IST 2026
[2026-10-20 16:48:19,637.637 INFO    ] ================================================
[2026-10-20 16:48:20,230.230 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:48:20
[2026-10-20 16:48:20,853.853 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:48:21,117.117 INFO    ] Initializing speech engine...
[2026-10-20 16:48:21,127.127 INFO    ] 2026-10-20 16:48:21
[2026-10-20 16:48:21,428.428 INFO    ] 2026-10-20 16:48:21
[2026-10-20 16:48:21,466.466 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:48:21,669.669 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:48:21,676.676 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:48:21,855.855 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:48:21,864.864 INFO    ] time= 20/10/2026 16:48:21
[2026-10-20 16:48:21,868.868 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:48:21,875.875 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:48:21,952.952 INFO    ] No existing commands found in stream
[2026-10-20 16:48:26,967.967 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:48:26,970.970 INFO    ] Waiting 0.26 seconds before fallback handling...
[2026-10-20 16:48:27,697.697 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:48:27,699.699 INFO    ] Checking for system updates...
[2026-10-20 16:48:27,735.735 INFO    ] 200
[2026-10-20 16:48:27,738.738 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:48:27,790.790 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:48:27,792.792 INFO    ] No update needed
[2026-10-20 16:48:27,795.795 INFO    ] Checking for camera pi updates...
[2026-10-20 16:48:27,828.828 INFO    ] 200
[2026-10-20 16:48:27,831.831 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:48:27,871.871 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:48:27,917.917 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:48:27,920.920 INFO    ] No camera update needed
[2026-10-20 16:48:27,923.923 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:48:27,925.925 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:48:27,931.931 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:48:27,936.936 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:48:29,978.978 INFO    ] ================================================
[2026-10-20 16:48:29,993.993 INFO    ] Launching Daemon at Tue Oct 20 16:48:29 IST 2026
[2026-10-20 16:48:30,004.004 INFO    ] ================================================
[2026-10-20 16:48:30,578.578 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:48:30
[2026-10-20 16:48:31,183.183 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:48:31,482.482 INFO    ] Initializing speech engine...
[2026-10-20 16:48:31,492.492 INFO    ] 2026-10-20 16:48:31
[2026-10-20 16:48:31,754.754 INFO    ] 2026-10-20 16:48:31
[2026-10-20 16:48:31,800.800 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:48:32,015.015 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:48:32,043.043 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:48:32,230.230 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:48:32,283.283 INFO    ] time= 20/10/2026 16:48:32
[2026-10-20 16:48:32,333.333 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:48:32,369.369 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:48:32,519.519 INFO    ] No existing commands found in stream
[2026-10-20 16:48:37,555.555 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:48:37,558.558 INFO    ] Waiting 2.54 seconds before fallback handling...
[2026-10-20 16:48:40,615.615 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:48:40,617.617 INFO    ] Checking for system updates...
[2026-10-20 16:48:40,652.652 INFO    ] 200
[2026-10-20 16:48:40,655.655 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:48:40,714.714 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:48:40,717.717 INFO    ] No update needed
[2026-10-20 16:48:40,720.720 INFO    ] Checking for camera pi updates...
[2026-10-20 16:48:40,754.754 INFO    ] 200
[2026-10-20 16:48:40,756.756 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:48:40,797.797 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:48:40,843.843 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:48:40,845.845 INFO    ] No camera update needed
[2026-10-20 16:48:40,847.847 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:48:40,850.850 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:48:40,855.855 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:48:40,860.860 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:48:42,902.902 INFO    ] ================================================
[2026-10-20 16:48:42,917.917 INFO    ] Launching Daemon at Tue Oct 20 16:48:42 IST 2026
[2026-10-20 16:48:42,929.929 INFO    ] ================================================
[2026-10-20 16:48:43,590.590 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:48:43
[2026-10-20 16:48:44,219.219 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:48:44,550.550 INFO    ] Initializing speech engine...
[2026-10-20 16:48:44,561.561 INFO    ] 2026-10-20 16:48:44
[2026-10-20 16:48:44,832.832 INFO    ] 2026-10-20 16:48:44
[2026-10-20 16:48:44,876.876 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:48:45,097.097 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:48:45,106.106 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:48:45,317.317 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:48:45,365.365 INFO    ] time= 20/10/2026 16:48:45
[2026-10-20 16:48:45,372.372 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:48:45,386.386 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:48:45,515.515 INFO    ] No existing commands found in stream
[2026-10-20 16:48:50,531.531 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:48:50,534.534 INFO    ] Waiting 2.29 seconds before fallback handling...
[2026-10-20 16:48:53,350.350 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:48:53,352.352 INFO    ] Checking for system updates...
[2026-10-20 16:48:53,388.388 INFO    ] 200
[2026-10-20 16:48:53,390.390 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:48:53,450.450 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:48:53,453.453 INFO    ] No update needed
[2026-10-20 16:48:53,455.455 INFO    ] Checking for camera pi updates...
[2026-10-20 16:48:53,490.490 INFO    ] 200
[2026-10-20 16:48:53,493.493 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:48:53,535.535 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:48:53,582.582 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:48:53,585.585 INFO    ] No camera update needed
[2026-10-20 16:48:53,588.588 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:48:53,591.591 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:48:53,597.597 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:48:53,603.603 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:48:55,646.646 INFO    ] ================================================
[2026-10-20 16:48:55,662.662 INFO    ] Launching Daemon at Tue Oct 20 16:48:55 IST 2026
[2026-10-20 16:48:55,674.674 INFO    ] ================================================
[2026-10-20 16:48:56,256.256 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:48:56
[2026-10-20 16:48:56,856.856 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:48:57,111.111 INFO    ] Initializing speech engine...
[2026-10-20 16:48:57,119.119 INFO    ] 2026-10-20 16:48:57
[2026-10-20 16:48:57,414.414 INFO    ] 2026-10-20 16:48:57
[2026-10-20 16:48:57,448.448 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:48:57,653.653 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:48:57,667.667 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:48:57,834.834 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:48:57,839.839 INFO    ] time= 20/10/2026 16:48:57
[2026-10-20 16:48:57,848.848 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:48:57,873.873 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:48:58,013.013 INFO    ] No existing commands found in stream
[2026-10-20 16:49:03,038.038 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:49:03,041.041 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-10-20 16:49:06,710.710 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:49:06,712.712 INFO    ] Checking for system updates...
[2026-10-20 16:49:06,748.748 INFO    ] 200
[2026-10-20 16:49:06,751.751 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:49:06,805.805 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:49:06,807.807 INFO    ] No update needed
[2026-10-20 16:49:06,811.811 INFO    ] Checking for camera pi updates...
[2026-10-20 16:49:06,853.853 INFO    ] 200
[2026-10-20 16:49:06,856.856 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:49:06,898.898 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:49:07,047.047 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:49:07,050.050 INFO    ] No camera update needed
[2026-10-20 16:49:07,053.053 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:49:07,055.055 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:49:07,062.062 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:49:07,067.067 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:49:09,110.110 INFO    ] ================================================
[2026-10-20 16:49:09,142.142 INFO    ] Launching Daemon at Tue Oct 20 16:49:09 IST 2026
[2026-10-20 16:49:09,152.152 INFO    ] ================================================
[2026-10-20 16:49:09,736.736 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:49:09
[2026-10-20 16:49:10,335.335 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:49:10,603.603 INFO    ] Initializing speech engine...
[2026-10-20 16:49:10,616.616 INFO    ] 2026-10-20 16:49:10
[2026-10-20 16:49:10,904.904 INFO    ] 2026-10-20 16:49:10
[2026-10-20 16:49:10,940.940 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:49:11,142.142 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:49:11,156.156 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:49:11,324.324 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:49:11,330.330 INFO    ] time= 20/10/2026 16:49:11
[2026-10-20 16:49:11,336.336 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:49:11,342.342 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:49:11,483.483 INFO    ] No existing commands found in stream
[2026-10-20 16:49:16,508.508 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:49:16,511.511 INFO    ] Waiting 0.95 seconds before fallback handling...
[2026-10-20 16:49:17,948.948 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:49:17,951.951 INFO    ] Checking for system updates...
[2026-10-20 16:49:17,990.990 INFO    ] 200
[2026-10-20 16:49:17,993.993 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:49:18,046.046 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:49:18,048.048 INFO    ] No update needed
[2026-10-20 16:49:18,051.051 INFO    ] Checking for camera pi updates...
[2026-10-20 16:49:18,085.085 INFO    ] 200
[2026-10-20 16:49:18,088.088 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:49:18,129.129 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:49:18,179.179 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:49:18,181.181 INFO    ] No camera update needed
[2026-10-20 16:49:18,183.183 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:49:18,186.186 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:49:18,191.191 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:49:18,196.196 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:49:20,235.235 INFO    ] ================================================
[2026-10-20 16:49:20,250.250 INFO    ] Launching Daemon at Tue Oct 20 16:49:20 IST 2026
[2026-10-20 16:49:20,261.261 INFO    ] ================================================
[2026-10-20 16:49:20,832.832 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:49:20
[2026-10-20 16:49:21,428.428 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:49:21,687.687 INFO    ] Initializing speech engine...
[2026-10-20 16:49:21,701.701 INFO    ] 2026-10-20 16:49:21
[2026-10-20 16:49:21,984.984 INFO    ] 2026-10-20 16:49:21
[2026-10-20 16:49:22,022.022 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:49:22,282.282 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:49:22,292.292 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:49:22,525.525 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:49:22,550.550 INFO    ] time= 20/10/2026 16:49:22
[2026-10-20 16:49:22,568.568 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:49:22,576.576 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:49:22,703.703 INFO    ] No existing commands found in stream
[2026-10-20 16:49:27,719.719 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:49:27,722.722 INFO    ] Waiting 0.51 seconds before fallback handling...
[2026-10-20 16:49:28,761.761 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 16:49:28,764.764 INFO    ] Checking for system updates...
[2026-10-20 16:49:28,807.807 INFO    ] 200
[2026-10-20 16:49:28,810.810 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:49:28,863.863 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:49:28,866.866 INFO    ] No update needed
[2026-10-20 16:49:28,869.869 INFO    ] Checking for camera pi updates...
[2026-10-20 16:49:28,903.903 INFO    ] 200
[2026-10-20 16:49:28,905.905 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:49:28,949.949 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:49:29,002.002 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:49:29,005.005 INFO    ] No camera update needed
[2026-10-20 16:49:29,007.007 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:49:29,010.010 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:49:29,015.015 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:49:29,021.021 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:49:31,060.060 INFO    ] ================================================
[2026-10-20 16:49:31,075.075 INFO    ] Launching Daemon at Tue Oct 20 16:49:31 IST 2026
[2026-10-20 16:49:31,086.086 INFO    ] ================================================
[2026-10-20 16:49:31,720.720 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:49:31
[2026-10-20 16:49:32,388.388 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:49:32,692.692 INFO    ] Initializing speech engine...
[2026-10-20 16:49:32,698.698 INFO    ] 2026-10-20 16:49:32
[2026-10-20 16:49:32,945.945 INFO    ] 2026-10-20 16:49:32
[2026-10-20 16:49:32,979.979 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:49:33,179.179 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:49:33,224.224 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:49:33,386.386 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:49:33,413.413 INFO    ] time= 20/10/2026 16:49:33
[2026-10-20 16:49:33,468.468 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:49:33,517.517 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:49:33,667.667 INFO    ] No existing commands found in stream
[2026-10-20 16:49:38,687.687 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:49:38,690.690 INFO    ] Waiting 1.61 seconds before fallback handling...
[2026-10-20 16:49:40,809.809 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:49:40,811.811 INFO    ] Checking for system updates...
[2026-10-20 16:49:40,847.847 INFO    ] 200
[2026-10-20 16:49:40,850.850 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:49:40,913.913 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:49:40,915.915 INFO    ] No update needed
[2026-10-20 16:49:40,918.918 INFO    ] Checking for camera pi updates...
[2026-10-20 16:49:40,951.951 INFO    ] 200
[2026-10-20 16:49:40,953.953 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:49:40,998.998 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:49:41,054.054 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:49:41,057.057 INFO    ] No camera update needed
[2026-10-20 16:49:41,059.059 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:49:41,063.063 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:49:41,068.068 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:49:41,073.073 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:49:43,114.114 INFO    ] ================================================
[2026-10-20 16:49:43,129.129 INFO    ] Launching Daemon at Tue Oct 20 16:49:43 IST 2026
[2026-10-20 16:49:43,140.140 INFO    ] ================================================
[2026-10-20 16:49:43,716.716 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:49:43
[2026-10-20 16:49:44,336.336 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:49:44,612.612 INFO    ] Initializing speech engine...
[2026-10-20 16:49:44,621.621 INFO    ] 2026-10-20 16:49:44
[2026-10-20 16:49:44,884.884 INFO    ] 2026-10-20 16:49:44
[2026-10-20 16:49:44,917.917 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:49:45,171.171 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:49:45,180.180 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:49:45,327.327 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:49:45,382.382 INFO    ] time= 20/10/2026 16:49:45
[2026-10-20 16:49:45,415.415 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:49:45,456.456 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:49:45,594.594 INFO    ] No existing commands found in stream
[2026-10-20 16:49:50,621.621 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:49:50,624.624 INFO    ] Waiting 3.63 seconds before fallback handling...
[2026-10-20 16:49:54,778.778 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:49:54,780.780 INFO    ] Checking for system updates...
[2026-10-20 16:49:54,817.817 INFO    ] 200
[2026-10-20 16:49:54,820.820 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:49:54,875.875 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:49:54,878.878 INFO    ] No update needed
[2026-10-20 16:49:54,880.880 INFO    ] Checking for camera pi updates...
[2026-10-20 16:49:54,914.914 INFO    ] 200
[2026-10-20 16:49:54,917.917 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:49:54,964.964 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:49:54,996.996 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:49:54,999.999 INFO    ] No camera update needed
[2026-10-20 16:49:55,002.002 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:49:55,004.004 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:49:55,009.009 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:49:55,014.014 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:49:57,054.054 INFO    ] ================================================
[2026-10-20 16:49:57,070.070 INFO    ] Launching Daemon at Tue Oct 20 16:49:57 IST 2026
[2026-10-20 16:49:57,080.080 INFO    ] ================================================
[2026-10-20 16:49:57,648.648 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:49:57
[2026-10-20 16:49:58,232.232 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:49:58,493.493 INFO    ] Initializing speech engine...
[2026-10-20 16:49:58,512.512 INFO    ] 2026-10-20 16:49:58
[2026-10-20 16:49:58,763.763 INFO    ] 2026-10-20 16:49:58
[2026-10-20 16:49:58,798.798 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:49:59,055.055 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:49:59,064.064 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:49:59,293.293 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:49:59,329.329 INFO    ] time= 20/10/2026 16:49:59
[2026-10-20 16:49:59,352.352 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:49:59,380.380 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:49:59,500.500 INFO    ] No existing commands found in stream
[2026-10-20 16:50:04,526.526 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:50:04,529.529 INFO    ] Waiting 3.08 seconds before fallback handling...
[2026-10-20 16:50:08,849.849 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:50:08,852.852 INFO    ] Checking for system updates...
[2026-10-20 16:50:08,891.891 INFO    ] 200
[2026-10-20 16:50:08,894.894 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:50:08,961.961 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:50:08,964.964 INFO    ] No update needed
[2026-10-20 16:50:08,966.966 INFO    ] Checking for camera pi updates...
[2026-10-20 16:50:09,000.000 INFO    ] 200
[2026-10-20 16:50:09,002.002 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:50:09,047.047 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:50:09,092.092 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:50:09,094.094 INFO    ] No camera update needed
[2026-10-20 16:50:09,097.097 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:50:09,099.099 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:50:09,104.104 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:50:09,110.110 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:50:11,150.150 INFO    ] ================================================
[2026-10-20 16:50:11,165.165 INFO    ] Launching Daemon at Tue Oct 20 16:50:11 IST 2026
[2026-10-20 16:50:11,176.176 INFO    ] ================================================
[2026-10-20 16:50:11,756.756 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:50:11
[2026-10-20 16:50:12,354.354 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:50:12,625.625 INFO    ] Initializing speech engine...
[2026-10-20 16:50:12,634.634 INFO    ] 2026-10-20 16:50:12
[2026-10-20 16:50:12,881.881 INFO    ] 2026-10-20 16:50:12
[2026-10-20 16:50:12,917.917 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:50:13,133.133 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:50:13,141.141 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:50:13,316.316 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:50:13,353.353 INFO    ] time= 20/10/2026 16:50:13
[2026-10-20 16:50:13,412.412 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:50:13,449.449 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:50:13,597.597 INFO    ] No existing commands found in stream
[2026-10-20 16:50:18,609.609 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:50:18,612.612 INFO    ] Waiting 2.14 seconds before fallback handling...
[2026-10-20 16:50:22,927.927 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:50:22,930.930 INFO    ] Checking for system updates...
[2026-10-20 16:50:22,968.968 INFO    ] 200
[2026-10-20 16:50:22,971.971 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:50:23,022.022 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:50:23,025.025 INFO    ] No update needed
[2026-10-20 16:50:23,027.027 INFO    ] Checking for camera pi updates...
[2026-10-20 16:50:23,060.060 INFO    ] 200
[2026-10-20 16:50:23,063.063 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:50:23,103.103 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:50:23,154.154 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:50:23,156.156 INFO    ] No camera update needed
[2026-10-20 16:50:23,158.158 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:50:23,161.161 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:50:23,166.166 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:50:23,171.171 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:50:25,211.211 INFO    ] ================================================
[2026-10-20 16:50:25,226.226 INFO    ] Launching Daemon at Tue Oct 20 16:50:25 IST 2026
[2026-10-20 16:50:25,236.236 INFO    ] ================================================
[2026-10-20 16:50:25,868.868 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:50:25
[2026-10-20 16:50:26,522.522 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:50:26,817.817 INFO    ] Initializing speech engine...
[2026-10-20 16:50:26,825.825 INFO    ] 2026-10-20 16:50:26
[2026-10-20 16:50:27,095.095 INFO    ] 2026-10-20 16:50:27
[2026-10-20 16:50:27,152.152 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:50:27,438.438 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:50:27,444.444 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:50:27,624.624 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:50:27,644.644 INFO    ] time= 20/10/2026 16:50:27
[2026-10-20 16:50:27,664.664 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:50:27,693.693 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:50:27,822.822 INFO    ] No existing commands found in stream
[2026-10-20 16:50:32,848.848 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:50:32,852.852 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-10-20 16:50:35,108.108 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:50:35,112.112 INFO    ] Checking for system updates...
[2026-10-20 16:50:35,149.149 INFO    ] 200
[2026-10-20 16:50:35,151.151 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:50:35,204.204 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:50:35,207.207 INFO    ] No update needed
[2026-10-20 16:50:35,210.210 INFO    ] Checking for camera pi updates...
[2026-10-20 16:50:35,247.247 INFO    ] 200
[2026-10-20 16:50:35,250.250 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:50:35,300.300 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:50:35,345.345 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:50:35,348.348 INFO    ] No camera update needed
[2026-10-20 16:50:35,351.351 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:50:35,353.353 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:50:35,359.359 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:50:35,365.365 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:50:37,406.406 INFO    ] ================================================
[2026-10-20 16:50:37,422.422 INFO    ] Launching Daemon at Tue Oct 20 16:50:37 IST 2026
[2026-10-20 16:50:37,433.433 INFO    ] ================================================
[2026-10-20 16:50:38,040.040 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:50:38
[2026-10-20 16:50:38,620.620 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:50:38,887.887 INFO    ] Initializing speech engine...
[2026-10-20 16:50:38,896.896 INFO    ] 2026-10-20 16:50:38
[2026-10-20 16:50:39,149.149 INFO    ] 2026-10-20 16:50:39
[2026-10-20 16:50:39,183.183 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:50:39,427.427 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:50:39,436.436 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:50:39,662.662 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:50:39,694.694 INFO    ] time= 20/10/2026 16:50:39
[2026-10-20 16:50:39,700.700 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:50:39,717.717 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:50:39,837.837 INFO    ] No existing commands found in stream
[2026-10-20 16:50:44,858.858 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:50:44,861.861 INFO    ] Waiting 3.66 seconds before fallback handling...
[2026-10-20 16:50:49,030.030 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:50:49,033.033 INFO    ] Checking for system updates...
[2026-10-20 16:50:49,069.069 INFO    ] 200
[2026-10-20 16:50:49,072.072 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:50:49,124.124 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:50:49,126.126 INFO    ] No update needed
[2026-10-20 16:50:49,129.129 INFO    ] Checking for camera pi updates...
[2026-10-20 16:50:49,164.164 INFO    ] 200
[2026-10-20 16:50:49,167.167 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:50:49,206.206 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:50:49,252.252 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:50:49,254.254 INFO    ] No camera update needed
[2026-10-20 16:50:49,256.256 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:50:49,258.258 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:50:49,264.264 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:50:49,269.269 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:50:51,310.310 INFO    ] ================================================
[2026-10-20 16:50:51,325.325 INFO    ] Launching Daemon at Tue Oct 20 16:50:51 IST 2026
[2026-10-20 16:50:51,336.336 INFO    ] ================================================
[2026-10-20 16:50:51,901.901 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:50:51
[2026-10-20 16:50:52,483.483 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:50:52,740.740 INFO    ] Initializing speech engine...
[2026-10-20 16:50:52,759.759 INFO    ] 2026-10-20 16:50:52
[2026-10-20 16:50:53,005.005 INFO    ] 2026-10-20 16:50:52
[2026-10-20 16:50:53,039.039 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:50:53,290.290 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:50:53,299.299 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:50:53,519.519 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:50:53,558.558 INFO    ] time= 20/10/2026 16:50:53
[2026-10-20 16:50:53,564.564 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:50:53,581.581 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:50:53,714.714 INFO    ] No existing commands found in stream
[2026-10-20 16:50:58,746.746 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:50:58,749.749 INFO    ] Waiting 2.33 seconds before fallback handling...
[2026-10-20 16:51:01,708.708 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:51:01,712.712 INFO    ] Checking for system updates...
[2026-10-20 16:51:01,751.751 INFO    ] 200
[2026-10-20 16:51:01,754.754 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:51:01,816.816 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:51:01,820.820 INFO    ] No update needed
[2026-10-20 16:51:01,823.823 INFO    ] Checking for camera pi updates...
[2026-10-20 16:51:01,862.862 INFO    ] 200
[2026-10-20 16:51:01,866.866 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:51:01,914.914 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:51:01,953.953 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:51:01,957.957 INFO    ] No camera update needed
[2026-10-20 16:51:01,960.960 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:51:01,964.964 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:51:01,973.973 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:51:01,981.981 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:51:04,023.023 INFO    ] ================================================
[2026-10-20 16:51:04,039.039 INFO    ] Launching Daemon at Tue Oct 20 16:51:04 IST 2026
[2026-10-20 16:51:04,050.050 INFO    ] ================================================
[2026-10-20 16:51:04,623.623 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:51:04
[2026-10-20 16:51:05,231.231 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:51:05,494.494 INFO    ] Initializing speech engine...
[2026-10-20 16:51:05,500.500 INFO    ] 2026-10-20 16:51:05
[2026-10-20 16:51:05,792.792 INFO    ] 2026-10-20 16:51:05
[2026-10-20 16:51:05,827.827 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:51:06,042.042 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:51:06,100.100 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:51:06,326.326 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:51:06,386.386 INFO    ] time= 20/10/2026 16:51:06
[2026-10-20 16:51:06,394.394 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:51:06,412.412 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:51:06,552.552 INFO    ] No existing commands found in stream
[2026-10-20 16:51:11,565.565 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:51:11,568.568 INFO    ] Waiting 1.90 seconds before fallback handling...
[2026-10-20 16:51:13,974.974 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:51:13,977.977 INFO    ] Checking for system updates...
[2026-10-20 16:51:14,013.013 INFO    ] 200
[2026-10-20 16:51:14,015.015 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:51:14,069.069 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:51:14,072.072 INFO    ] No update needed
[2026-10-20 16:51:14,074.074 INFO    ] Checking for camera pi updates...
[2026-10-20 16:51:14,107.107 INFO    ] 200
[2026-10-20 16:51:14,110.110 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:51:14,150.150 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:51:14,293.293 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:51:14,295.295 INFO    ] No camera update needed
[2026-10-20 16:51:14,297.297 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:51:14,300.300 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:51:14,305.305 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:51:14,310.310 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:51:16,352.352 INFO    ] ================================================
[2026-10-20 16:51:16,368.368 INFO    ] Launching Daemon at Tue Oct 20 16:51:16 IST 2026
[2026-10-20 16:51:16,380.380 INFO    ] ================================================
[2026-10-20 16:51:16,949.949 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:51:16
[2026-10-20 16:51:17,533.533 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:51:17,808.808 INFO    ] Initializing speech engine...
[2026-10-20 16:51:17,814.814 INFO    ] 2026-10-20 16:51:17
[2026-10-20 16:51:18,063.063 INFO    ] 2026-10-20 16:51:18
[2026-10-20 16:51:18,097.097 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:51:18,333.333 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:51:18,361.361 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:51:18,509.509 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:51:18,569.569 INFO    ] time= 20/10/2026 16:51:18
[2026-10-20 16:51:18,628.628 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:51:18,639.639 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:51:18,789.789 INFO    ] No existing commands found in stream
[2026-10-20 16:51:23,803.803 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:51:23,806.806 INFO    ] Waiting 1.29 seconds before fallback handling...
[2026-10-20 16:51:25,556.556 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:51:25,558.558 INFO    ] Checking for system updates...
[2026-10-20 16:51:25,598.598 INFO    ] 200
[2026-10-20 16:51:25,601.601 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:51:25,652.652 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:51:25,655.655 INFO    ] No update needed
[2026-10-20 16:51:25,658.658 INFO    ] Checking for camera pi updates...
[2026-10-20 16:51:25,691.691 INFO    ] 200
[2026-10-20 16:51:25,693.693 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:51:25,738.738 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:51:25,783.783 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:51:25,785.785 INFO    ] No camera update needed
[2026-10-20 16:51:25,787.787 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:51:25,790.790 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:51:25,795.795 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:51:25,800.800 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:51:27,841.841 INFO    ] ================================================
[2026-10-20 16:51:27,856.856 INFO    ] Launching Daemon at Tue Oct 20 16:51:27 IST 2026
[2026-10-20 16:51:27,868.868 INFO    ] ================================================
[2026-10-20 16:51:28,446.446 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:51:28
[2026-10-20 16:51:29,043.043 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:51:29,320.320 INFO    ] Initializing speech engine...
[2026-10-20 16:51:29,324.324 INFO    ] 2026-10-20 16:51:29
[2026-10-20 16:51:29,585.585 INFO    ] 2026-10-20 16:51:29
[2026-10-20 16:51:29,615.615 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:51:29,866.866 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:51:29,871.871 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:51:30,113.113 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:51:30,129.129 INFO    ] time= 20/10/2026 16:51:30
[2026-10-20 16:51:30,147.147 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:51:30,170.170 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:51:30,292.292 INFO    ] No existing commands found in stream
[2026-10-20 16:51:35,321.321 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:51:35,324.324 INFO    ] Waiting 1.70 seconds before fallback handling...
[2026-10-20 16:51:37,589.589 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:51:37,592.592 INFO    ] Checking for system updates...
[2026-10-20 16:51:37,627.627 INFO    ] 200
[2026-10-20 16:51:37,630.630 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:51:37,681.681 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:51:37,684.684 INFO    ] No update needed
[2026-10-20 16:51:37,686.686 INFO    ] Checking for camera pi updates...
[2026-10-20 16:51:37,720.720 INFO    ] 200
[2026-10-20 16:51:37,722.722 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:51:37,767.767 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:51:37,813.813 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:51:37,815.815 INFO    ] No camera update needed
[2026-10-20 16:51:37,818.818 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:51:37,820.820 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:51:37,825.825 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:51:37,830.830 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:51:39,872.872 INFO    ] ================================================
[2026-10-20 16:51:39,888.888 INFO    ] Launching Daemon at Tue Oct 20 16:51:39 IST 2026
[2026-10-20 16:51:39,900.900 INFO    ] ================================================
[2026-10-20 16:51:40,480.480 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:51:40
[2026-10-20 16:51:41,078.078 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:51:41,347.347 INFO    ] Initializing speech engine...
[2026-10-20 16:51:41,359.359 INFO    ] 2026-10-20 16:51:41
[2026-10-20 16:51:41,609.609 INFO    ] 2026-10-20 16:51:41
[2026-10-20 16:51:41,650.650 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:51:41,894.894 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:51:41,903.903 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:51:42,111.111 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:51:42,160.160 INFO    ] time= 20/10/2026 16:51:42
[2026-10-20 16:51:42,167.167 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:51:42,186.186 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:51:42,315.315 INFO    ] No existing commands found in stream
[2026-10-20 16:51:47,335.335 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:51:47,338.338 INFO    ] Waiting 3.73 seconds before fallback handling...
[2026-10-20 16:51:51,599.599 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:51:51,601.601 INFO    ] Checking for system updates...
[2026-10-20 16:51:51,639.639 INFO    ] 200
[2026-10-20 16:51:51,641.641 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:51:51,694.694 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:51:51,697.697 INFO    ] No update needed
[2026-10-20 16:51:51,700.700 INFO    ] Checking for camera pi updates...
[2026-10-20 16:51:51,734.734 INFO    ] 200
[2026-10-20 16:51:51,737.737 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:51:51,779.779 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:51:51,826.826 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:51:51,829.829 INFO    ] No camera update needed
[2026-10-20 16:51:51,832.832 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:51:51,834.834 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:51:51,841.841 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:51:51,847.847 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:51:53,888.888 INFO    ] ================================================
[2026-10-20 16:51:53,904.904 INFO    ] Launching Daemon at Tue Oct 20 16:51:53 IST 2026
[2026-10-20 16:51:53,914.914 INFO    ] ================================================
[2026-10-20 16:51:54,481.481 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:51:54
[2026-10-20 16:51:55,071.071 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:51:55,345.345 INFO    ] Initializing speech engine...
[2026-10-20 16:51:55,355.355 INFO    ] 2026-10-20 16:51:55
[2026-10-20 16:51:55,617.617 INFO    ] 2026-10-20 16:51:55
[2026-10-20 16:51:55,671.671 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:51:55,897.897 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:51:55,903.903 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:51:56,109.109 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:51:56,160.160 INFO    ] time= 20/10/2026 16:51:56
[2026-10-20 16:51:56,166.166 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:51:56,184.184 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:51:56,313.313 INFO    ] No existing commands found in stream
[2026-10-20 16:52:01,328.328 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:52:01,333.333 INFO    ] Waiting 0.06 seconds before fallback handling...
[2026-10-20 16:52:01,948.948 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:52:01,951.951 INFO    ] Checking for system updates...
[2026-10-20 16:52:01,996.996 INFO    ] 200
[2026-10-20 16:52:01,999.999 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:52:02,073.073 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:52:02,076.076 INFO    ] No update needed
[2026-10-20 16:52:02,080.080 INFO    ] Checking for camera pi updates...
[2026-10-20 16:52:02,128.128 INFO    ] 200
[2026-10-20 16:52:02,132.132 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:52:02,178.178 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:52:02,210.210 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:52:02,213.213 INFO    ] No camera update needed
[2026-10-20 16:52:02,216.216 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:52:02,219.219 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:52:02,226.226 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:52:02,232.232 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:52:04,278.278 INFO    ] ================================================
[2026-10-20 16:52:04,293.293 INFO    ] Launching Daemon at Tue Oct 20 16:52:04 IST 2026
[2026-10-20 16:52:04,304.304 INFO    ] ================================================
[2026-10-20 16:52:04,939.939 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:52:04
[2026-10-20 16:52:05,524.524 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:52:05,794.794 INFO    ] Initializing speech engine...
[2026-10-20 16:52:05,803.803 INFO    ] 2026-10-20 16:52:05
[2026-10-20 16:52:06,062.062 INFO    ] 2026-10-20 16:52:06
[2026-10-20 16:52:06,095.095 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:52:06,282.282 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:52:06,295.295 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:52:06,453.453 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:52:06,461.461 INFO    ] time= 20/10/2026 16:52:06
[2026-10-20 16:52:06,466.466 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:52:06,474.474 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:52:06,589.589 INFO    ] No existing commands found in stream
[2026-10-20 16:52:11,614.614 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:52:11,617.617 INFO    ] Waiting 2.43 seconds before fallback handling...
[2026-10-20 16:52:14,576.576 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:52:14,579.579 INFO    ] Checking for system updates...
[2026-10-20 16:52:14,615.615 INFO    ] 200
[2026-10-20 16:52:14,618.618 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:52:14,677.677 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:52:14,679.679 INFO    ] No update needed
[2026-10-20 16:52:14,683.683 INFO    ] Checking for camera pi updates...
[2026-10-20 16:52:14,720.720 INFO    ] 200
[2026-10-20 16:52:14,723.723 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:52:14,765.765 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:52:14,798.798 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:52:14,801.801 INFO    ] No camera update needed
[2026-10-20 16:52:14,803.803 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:52:14,806.806 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:52:14,812.812 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:52:14,818.818 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:52:16,860.860 INFO    ] ================================================
[2026-10-20 16:52:16,875.875 INFO    ] Launching Daemon at Tue Oct 20 16:52:16 IST 2026
[2026-10-20 16:52:16,885.885 INFO    ] ================================================
[2026-10-20 16:52:17,469.469 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:52:17
[2026-10-20 16:52:18,067.067 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:52:18,327.327 INFO    ] Initializing speech engine...
[2026-10-20 16:52:18,334.334 INFO    ] 2026-10-20 16:52:18
[2026-10-20 16:52:18,627.627 INFO    ] 2026-10-20 16:52:18
[2026-10-20 16:52:18,662.662 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:52:18,860.860 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:52:18,874.874 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:52:19,026.026 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:52:19,031.031 INFO    ] time= 20/10/2026 16:52:19
[2026-10-20 16:52:19,037.037 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:52:19,087.087 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:52:19,224.224 INFO    ] No existing commands found in stream
[2026-10-20 16:52:24,238.238 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:52:24,241.241 INFO    ] Waiting 1.91 seconds before fallback handling...
[2026-10-20 16:52:26,647.647 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:52:26,650.650 INFO    ] Checking for system updates...
[2026-10-20 16:52:26,685.685 INFO    ] 200
[2026-10-20 16:52:26,687.687 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:52:26,739.739 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:52:26,741.741 INFO    ] No update needed
[2026-10-20 16:52:26,744.744 INFO    ] Checking for camera pi updates...
[2026-10-20 16:52:26,777.777 INFO    ] 200
[2026-10-20 16:52:26,780.780 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:52:26,821.821 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:52:26,871.871 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:52:26,873.873 INFO    ] No camera update needed
[2026-10-20 16:52:26,876.876 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:52:26,878.878 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:52:26,883.883 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:52:26,888.888 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:52:28,929.929 INFO    ] ================================================
[2026-10-20 16:52:28,944.944 INFO    ] Launching Daemon at Tue Oct 20 16:52:28 IST 2026
[2026-10-20 16:52:28,955.955 INFO    ] ================================================
[2026-10-20 16:52:29,537.537 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:52:29
[2026-10-20 16:52:30,141.141 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:52:30,416.416 INFO    ] Initializing speech engine...
[2026-10-20 16:52:30,424.424 INFO    ] 2026-10-20 16:52:30
[2026-10-20 16:52:30,685.685 INFO    ] 2026-10-20 16:52:30
[2026-10-20 16:52:30,741.741 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:52:30,971.971 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:52:30,975.975 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:52:31,194.194 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:52:31,232.232 INFO    ] time= 20/10/2026 16:52:31
[2026-10-20 16:52:31,238.238 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:52:31,255.255 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:52:31,407.407 INFO    ] No existing commands found in stream
[2026-10-20 16:52:36,441.441 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:52:36,443.443 INFO    ] Waiting 1.23 seconds before fallback handling...
[2026-10-20 16:52:38,166.166 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:52:38,169.169 INFO    ] Checking for system updates...
[2026-10-20 16:52:38,204.204 INFO    ] 200
[2026-10-20 16:52:38,207.207 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:52:38,265.265 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:52:38,267.267 INFO    ] No update needed
[2026-10-20 16:52:38,270.270 INFO    ] Checking for camera pi updates...
[2026-10-20 16:52:38,303.303 INFO    ] 200
[2026-10-20 16:52:38,305.305 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:52:38,345.345 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:52:38,386.386 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:52:38,389.389 INFO    ] No camera update needed
[2026-10-20 16:52:38,391.391 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:52:38,393.393 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:52:38,399.399 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:52:38,405.405 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:52:40,444.444 INFO    ] ================================================
[2026-10-20 16:52:40,459.459 INFO    ] Launching Daemon at Tue Oct 20 16:52:40 IST 2026
[2026-10-20 16:52:40,470.470 INFO    ] ================================================
[2026-10-20 16:52:41,054.054 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:52:41
[2026-10-20 16:52:41,652.652 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:52:41,928.928 INFO    ] Initializing speech engine...
[2026-10-20 16:52:41,934.934 INFO    ] 2026-10-20 16:52:41
[2026-10-20 16:52:42,195.195 INFO    ] 2026-10-20 16:52:42
[2026-10-20 16:52:42,249.249 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:52:42,496.496 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:52:42,504.504 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:52:42,729.729 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:52:42,740.740 INFO    ] time= 20/10/2026 16:52:42
[2026-10-20 16:52:42,758.758 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:52:42,780.780 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:52:42,912.912 INFO    ] No existing commands found in stream
[2026-10-20 16:52:47,938.938 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:52:47,941.941 INFO    ] Waiting 1.23 seconds before fallback handling...
[2026-10-20 16:52:49,666.666 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:52:49,669.669 INFO    ] Checking for system updates...
[2026-10-20 16:52:49,706.706 INFO    ] 200
[2026-10-20 16:52:49,708.708 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:52:49,761.761 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:52:49,764.764 INFO    ] No update needed
[2026-10-20 16:52:49,766.766 INFO    ] Checking for camera pi updates...
[2026-10-20 16:52:49,799.799 INFO    ] 200
[2026-10-20 16:52:49,802.802 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:52:49,842.842 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:52:49,883.883 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:52:49,886.886 INFO    ] No camera update needed
[2026-10-20 16:52:49,888.888 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:52:49,890.890 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:52:49,896.896 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:52:49,901.901 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:52:51,944.944 INFO    ] ================================================
[2026-10-20 16:52:51,959.959 INFO    ] Launching Daemon at Tue Oct 20 16:52:51 IST 2026
[2026-10-20 16:52:51,969.969 INFO    ] ================================================
[2026-10-20 16:52:52,555.555 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:52:52
[2026-10-20 16:52:53,158.158 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:52:53,434.434 INFO    ] Initializing speech engine...
[2026-10-20 16:52:53,442.442 INFO    ] 2026-10-20 16:52:53
[2026-10-20 16:52:53,703.703 INFO    ] 2026-10-20 16:52:53
[2026-10-20 16:52:53,756.756 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:52:54,007.007 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:52:54,011.011 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:52:54,219.219 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:52:54,246.246 INFO    ] time= 20/10/2026 16:52:54
[2026-10-20 16:52:54,265.265 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:52:54,273.273 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:52:54,400.400 INFO    ] No existing commands found in stream
[2026-10-20 16:52:59,413.413 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:52:59,416.416 INFO    ] Waiting 3.87 seconds before fallback handling...
[2026-10-20 16:53:03,811.811 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:53:03,814.814 INFO    ] Checking for system updates...
[2026-10-20 16:53:03,851.851 INFO    ] 200
[2026-10-20 16:53:03,854.854 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:53:03,909.909 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:53:03,912.912 INFO    ] No update needed
[2026-10-20 16:53:03,914.914 INFO    ] Checking for camera pi updates...
[2026-10-20 16:53:03,947.947 INFO    ] 200
[2026-10-20 16:53:03,950.950 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:53:03,993.993 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:53:04,041.041 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:53:04,043.043 INFO    ] No camera update needed
[2026-10-20 16:53:04,046.046 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:53:04,048.048 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:53:04,054.054 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:53:04,059.059 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:53:06,098.098 INFO    ] ================================================
[2026-10-20 16:53:06,113.113 INFO    ] Launching Daemon at Tue Oct 20 16:53:06 IST 2026
[2026-10-20 16:53:06,124.124 INFO    ] ================================================
[2026-10-20 16:53:06,709.709 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:53:06
[2026-10-20 16:53:07,304.304 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:53:07,566.566 INFO    ] Initializing speech engine...
[2026-10-20 16:53:07,591.591 INFO    ] 2026-10-20 16:53:07
[2026-10-20 16:53:07,858.858 INFO    ] 2026-10-20 16:53:07
[2026-10-20 16:53:07,895.895 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:53:08,112.112 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:53:08,175.175 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:53:08,337.337 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:53:08,375.375 INFO    ] time= 20/10/2026 16:53:08
[2026-10-20 16:53:08,425.425 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:53:08,469.469 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:53:08,638.638 INFO    ] No existing commands found in stream
[2026-10-20 16:53:13,659.659 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:53:13,661.661 INFO    ] Waiting 2.34 seconds before fallback handling...
[2026-10-20 16:53:16,510.510 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:53:16,513.513 INFO    ] Checking for system updates...
[2026-10-20 16:53:16,553.553 INFO    ] 200
[2026-10-20 16:53:16,555.555 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:53:16,619.619 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:53:16,622.622 INFO    ] No update needed
[2026-10-20 16:53:16,625.625 INFO    ] Checking for camera pi updates...
[2026-10-20 16:53:16,664.664 INFO    ] 200
[2026-10-20 16:53:16,667.667 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:53:16,711.711 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:53:16,856.856 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:53:16,859.859 INFO    ] No camera update needed
[2026-10-20 16:53:16,862.862 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:53:16,865.865 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:53:16,871.871 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:53:16,876.876 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:53:18,919.919 INFO    ] ================================================
[2026-10-20 16:53:18,934.934 INFO    ] Launching Daemon at Tue Oct 20 16:53:18 IST 2026
[2026-10-20 16:53:18,945.945 INFO    ] ================================================
[2026-10-20 16:53:19,632.632 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:53:19
[2026-10-20 16:53:20,342.342 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:53:20,671.671 INFO    ] Initializing speech engine...
[2026-10-20 16:53:20,680.680 INFO    ] 2026-10-20 16:53:20
[2026-10-20 16:53:20,952.952 INFO    ] 2026-10-20 16:53:20
[2026-10-20 16:53:21,012.012 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:53:21,243.243 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:53:21,253.253 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:53:21,392.392 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:53:21,459.459 INFO    ] time= 20/10/2026 16:53:21
[2026-10-20 16:53:21,514.514 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:53:21,532.532 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:53:21,684.684 INFO    ] No existing commands found in stream
[2026-10-20 16:53:26,719.719 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:53:26,723.723 INFO    ] Waiting 2.30 seconds before fallback handling...
[2026-10-20 16:53:29,553.553 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:53:29,556.556 INFO    ] Checking for system updates...
[2026-10-20 16:53:29,593.593 INFO    ] 200
[2026-10-20 16:53:29,596.596 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:53:29,656.656 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:53:29,659.659 INFO    ] No update needed
[2026-10-20 16:53:29,662.662 INFO    ] Checking for camera pi updates...
[2026-10-20 16:53:29,701.701 INFO    ] 200
[2026-10-20 16:53:29,703.703 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:53:29,748.748 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:53:29,795.795 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:53:29,797.797 INFO    ] No camera update needed
[2026-10-20 16:53:29,800.800 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:53:29,803.803 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:53:29,809.809 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:53:29,815.815 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:53:31,856.856 INFO    ] ================================================
[2026-10-20 16:53:31,872.872 INFO    ] Launching Daemon at Tue Oct 20 16:53:31 IST 2026
[2026-10-20 16:53:31,883.883 INFO    ] ================================================
[2026-10-20 16:53:32,497.497 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:53:32
[2026-10-20 16:53:33,104.104 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:53:33,364.364 INFO    ] Initializing speech engine...
[2026-10-20 16:53:33,384.384 INFO    ] 2026-10-20 16:53:33
[2026-10-20 16:53:33,638.638 INFO    ] 2026-10-20 16:53:33
[2026-10-20 16:53:33,673.673 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:53:33,876.876 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:53:33,935.935 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:53:34,079.079 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:53:34,139.139 INFO    ] time= 20/10/2026 16:53:34
[2026-10-20 16:53:34,189.189 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:53:34,212.212 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:53:34,365.365 INFO    ] No existing commands found in stream
[2026-10-20 16:53:39,377.377 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:53:39,380.380 INFO    ] Waiting 1.41 seconds before fallback handling...
[2026-10-20 16:53:41,282.282 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 16:53:41,285.285 INFO    ] Checking for system updates...
[2026-10-20 16:53:41,324.324 INFO    ] 200
[2026-10-20 16:53:41,326.326 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:53:41,377.377 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:53:41,380.380 INFO    ] No update needed
[2026-10-20 16:53:41,383.383 INFO    ] Checking for camera pi updates...
[2026-10-20 16:53:41,420.420 INFO    ] 200
[2026-10-20 16:53:41,422.422 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:53:41,462.462 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:53:41,519.519 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:53:41,522.522 INFO    ] No camera update needed
[2026-10-20 16:53:41,524.524 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:53:41,526.526 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:53:41,532.532 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:53:41,537.537 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:53:43,579.579 INFO    ] ================================================
[2026-10-20 16:53:43,595.595 INFO    ] Launching Daemon at Tue Oct 20 16:53:43 IST 2026
[2026-10-20 16:53:43,608.608 INFO    ] ================================================
[2026-10-20 16:53:44,302.302 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:53:44
[2026-10-20 16:53:44,992.992 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:53:45,313.313 INFO    ] Initializing speech engine...
[2026-10-20 16:53:45,321.321 INFO    ] 2026-10-20 16:53:45
[2026-10-20 16:53:45,625.625 INFO    ] 2026-10-20 16:53:45
[2026-10-20 16:53:45,712.712 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:53:45,925.925 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:53:45,930.930 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:53:46,132.132 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:53:46,138.138 INFO    ] time= 20/10/2026 16:53:46
[2026-10-20 16:53:46,157.157 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:53:46,185.185 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:53:46,270.270 INFO    ] No existing commands found in stream
[2026-10-20 16:53:51,280.280 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:53:51,283.283 INFO    ] Waiting 0.28 seconds before fallback handling...
[2026-10-20 16:53:52,136.136 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:53:52,139.139 INFO    ] Checking for system updates...
[2026-10-20 16:53:52,177.177 INFO    ] 200
[2026-10-20 16:53:52,179.179 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:53:52,240.240 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:53:52,243.243 INFO    ] No update needed
[2026-10-20 16:53:52,246.246 INFO    ] Checking for camera pi updates...
[2026-10-20 16:53:52,284.284 INFO    ] 200
[2026-10-20 16:53:52,286.286 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:53:52,326.326 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:53:52,371.371 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:53:52,374.374 INFO    ] No camera update needed
[2026-10-20 16:53:52,376.376 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:53:52,379.379 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:53:52,384.384 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:53:52,389.389 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:53:54,429.429 INFO    ] ================================================
[2026-10-20 16:53:54,445.445 INFO    ] Launching Daemon at Tue Oct 20 16:53:54 IST 2026
[2026-10-20 16:53:54,456.456 INFO    ] ================================================
[2026-10-20 16:53:55,110.110 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:53:55
[2026-10-20 16:53:55,778.778 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:53:56,052.052 INFO    ] Initializing speech engine...
[2026-10-20 16:53:56,058.058 INFO    ] 2026-10-20 16:53:56
[2026-10-20 16:53:56,338.338 INFO    ] 2026-10-20 16:53:56
[2026-10-20 16:53:56,374.374 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:53:56,628.628 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:53:56,638.638 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:53:56,845.845 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:53:56,900.900 INFO    ] time= 20/10/2026 16:53:56
[2026-10-20 16:53:56,907.907 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:53:56,925.925 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:53:57,057.057 INFO    ] No existing commands found in stream
[2026-10-20 16:54:02,080.080 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:54:02,083.083 INFO    ] Waiting 1.61 seconds before fallback handling...
[2026-10-20 16:54:04,218.218 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:54:04,221.221 INFO    ] Checking for system updates...
[2026-10-20 16:54:04,257.257 INFO    ] 200
[2026-10-20 16:54:04,259.259 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:54:04,311.311 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:54:04,314.314 INFO    ] No update needed
[2026-10-20 16:54:04,316.316 INFO    ] Checking for camera pi updates...
[2026-10-20 16:54:04,349.349 INFO    ] 200
[2026-10-20 16:54:04,351.351 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:54:04,396.396 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:54:04,446.446 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:54:04,449.449 INFO    ] No camera update needed
[2026-10-20 16:54:04,451.451 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:54:04,454.454 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:54:04,459.459 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:54:04,464.464 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:54:06,505.505 INFO    ] ================================================
[2026-10-20 16:54:06,520.520 INFO    ] Launching Daemon at Tue Oct 20 16:54:06 IST 2026
[2026-10-20 16:54:06,531.531 INFO    ] ================================================
[2026-10-20 16:54:07,102.102 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:54:07
[2026-10-20 16:54:07,710.710 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:54:08,000.000 INFO    ] Initializing speech engine...
[2026-10-20 16:54:08,020.020 INFO    ] 2026-10-20 16:54:08
[2026-10-20 16:54:08,271.271 INFO    ] 2026-10-20 16:54:08
[2026-10-20 16:54:08,306.306 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:54:08,566.566 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:54:08,572.572 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:54:08,784.784 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:54:08,830.830 INFO    ] time= 20/10/2026 16:54:08
[2026-10-20 16:54:08,836.836 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:54:08,854.854 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:54:08,987.987 INFO    ] No existing commands found in stream
[2026-10-20 16:54:14,001.001 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:54:14,004.004 INFO    ] Waiting 1.12 seconds before fallback handling...
[2026-10-20 16:54:15,642.642 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:54:15,645.645 INFO    ] Checking for system updates...
[2026-10-20 16:54:15,680.680 INFO    ] 200
[2026-10-20 16:54:15,683.683 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:54:15,741.741 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:54:15,744.744 INFO    ] No update needed
[2026-10-20 16:54:15,746.746 INFO    ] Checking for camera pi updates...
[2026-10-20 16:54:15,779.779 INFO    ] 200
[2026-10-20 16:54:15,782.782 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:54:15,822.822 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:54:15,873.873 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:54:15,875.875 INFO    ] No camera update needed
[2026-10-20 16:54:15,877.877 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:54:15,880.880 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:54:15,886.886 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:54:15,891.891 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:54:17,932.932 INFO    ] ================================================
[2026-10-20 16:54:17,947.947 INFO    ] Launching Daemon at Tue Oct 20 16:54:17 IST 2026
[2026-10-20 16:54:17,957.957 INFO    ] ================================================
[2026-10-20 16:54:18,537.537 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:54:18
[2026-10-20 16:54:19,145.145 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:54:19,433.433 INFO    ] Initializing speech engine...
[2026-10-20 16:54:19,440.440 INFO    ] 2026-10-20 16:54:19
[2026-10-20 16:54:19,723.723 INFO    ] 2026-10-20 16:54:19
[2026-10-20 16:54:19,764.764 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:54:19,965.965 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:54:20,009.009 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:54:20,172.172 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:54:20,232.232 INFO    ] time= 20/10/2026 16:54:20
[2026-10-20 16:54:20,287.287 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:54:20,297.297 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:54:20,421.421 INFO    ] No existing commands found in stream
[2026-10-20 16:54:25,446.446 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:54:25,449.449 INFO    ] Waiting 3.84 seconds before fallback handling...
[2026-10-20 16:54:29,777.777 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:54:29,779.779 INFO    ] Checking for system updates...
[2026-10-20 16:54:29,815.815 INFO    ] 200
[2026-10-20 16:54:29,817.817 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:54:29,876.876 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:54:29,879.879 INFO    ] No update needed
[2026-10-20 16:54:29,882.882 INFO    ] Checking for camera pi updates...
[2026-10-20 16:54:29,915.915 INFO    ] 200
[2026-10-20 16:54:29,917.917 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:54:29,958.958 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:54:30,008.008 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:54:30,010.010 INFO    ] No camera update needed
[2026-10-20 16:54:30,013.013 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:54:30,015.015 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:54:30,021.021 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:54:30,026.026 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:54:32,083.083 INFO    ] ================================================
[2026-10-20 16:54:32,099.099 INFO    ] Launching Daemon at Tue Oct 20 16:54:32 IST 2026
[2026-10-20 16:54:32,111.111 INFO    ] ================================================
[2026-10-20 16:54:32,703.703 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:54:32
[2026-10-20 16:54:33,285.285 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:54:33,555.555 INFO    ] Initializing speech engine...
[2026-10-20 16:54:33,561.561 INFO    ] 2026-10-20 16:54:33
[2026-10-20 16:54:33,818.818 INFO    ] 2026-10-20 16:54:33
[2026-10-20 16:54:33,847.847 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:54:34,095.095 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:54:34,099.099 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:54:34,232.232 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:54:34,292.292 INFO    ] time= 20/10/2026 16:54:34
[2026-10-20 16:54:34,346.346 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:54:34,365.365 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:54:34,511.511 INFO    ] No existing commands found in stream
[2026-10-20 16:54:39,526.526 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:54:39,528.528 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-10-20 16:54:40,653.653 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:54:40,656.656 INFO    ] Checking for system updates...
[2026-10-20 16:54:40,703.703 INFO    ] 200
[2026-10-20 16:54:40,706.706 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:54:40,758.758 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:54:40,761.761 INFO    ] No update needed
[2026-10-20 16:54:40,764.764 INFO    ] Checking for camera pi updates...
[2026-10-20 16:54:40,797.797 INFO    ] 200
[2026-10-20 16:54:40,799.799 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:54:40,843.843 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:54:40,886.886 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:54:40,889.889 INFO    ] No camera update needed
[2026-10-20 16:54:40,891.891 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:54:40,893.893 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:54:40,898.898 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:54:40,903.903 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:54:42,943.943 INFO    ] ================================================
[2026-10-20 16:54:42,958.958 INFO    ] Launching Daemon at Tue Oct 20 16:54:42 IST 2026
[2026-10-20 16:54:42,969.969 INFO    ] ================================================
[2026-10-20 16:54:43,560.560 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:54:43
[2026-10-20 16:54:44,151.151 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:54:44,421.421 INFO    ] Initializing speech engine...
[2026-10-20 16:54:44,431.431 INFO    ] 2026-10-20 16:54:44
[2026-10-20 16:54:44,691.691 INFO    ] 2026-10-20 16:54:44
[2026-10-20 16:54:44,721.721 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:54:44,976.976 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:54:44,985.985 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:54:45,209.209 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:54:45,244.244 INFO    ] time= 20/10/2026 16:54:45
[2026-10-20 16:54:45,250.250 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:54:45,268.268 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:54:45,399.399 INFO    ] No existing commands found in stream
[2026-10-20 16:54:50,413.413 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:54:50,416.416 INFO    ] Waiting 0.89 seconds before fallback handling...
[2026-10-20 16:54:51,795.795 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 16:54:51,797.797 INFO    ] Checking for system updates...
[2026-10-20 16:54:51,836.836 INFO    ] 200
[2026-10-20 16:54:51,839.839 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:54:51,890.890 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:54:51,893.893 INFO    ] No update needed
[2026-10-20 16:54:51,896.896 INFO    ] Checking for camera pi updates...
[2026-10-20 16:54:51,932.932 INFO    ] 200
[2026-10-20 16:54:51,934.934 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:54:51,974.974 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:54:52,032.032 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:54:52,034.034 INFO    ] No camera update needed
[2026-10-20 16:54:52,037.037 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:54:52,039.039 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:54:52,044.044 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:54:52,049.049 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:54:54,089.089 INFO    ] ================================================
[2026-10-20 16:54:54,105.105 INFO    ] Launching Daemon at Tue Oct 20 16:54:54 IST 2026
[2026-10-20 16:54:54,115.115 INFO    ] ================================================
[2026-10-20 16:54:54,682.682 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:54:54
[2026-10-20 16:54:55,281.281 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:54:55,586.586 INFO    ] Initializing speech engine...
[2026-10-20 16:54:55,598.598 INFO    ] 2026-10-20 16:54:55
[2026-10-20 16:54:55,866.866 INFO    ] 2026-10-20 16:54:55
[2026-10-20 16:54:55,924.924 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:54:56,155.155 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:54:56,161.161 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:54:56,379.379 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:54:56,422.422 INFO    ] time= 20/10/2026 16:54:56
[2026-10-20 16:54:56,428.428 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:54:56,450.450 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:54:56,592.592 INFO    ] No existing commands found in stream
[2026-10-20 16:55:01,622.622 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:55:01,626.626 INFO    ] Waiting 2.49 seconds before fallback handling...
[2026-10-20 16:55:04,603.603 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:55:04,606.606 INFO    ] Checking for system updates...
[2026-10-20 16:55:04,643.643 INFO    ] 200
[2026-10-20 16:55:04,646.646 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:55:04,698.698 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:55:04,700.700 INFO    ] No update needed
[2026-10-20 16:55:04,703.703 INFO    ] Checking for camera pi updates...
[2026-10-20 16:55:04,736.736 INFO    ] 200
[2026-10-20 16:55:04,739.739 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:55:04,779.779 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:55:04,835.835 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:55:04,838.838 INFO    ] No camera update needed
[2026-10-20 16:55:04,840.840 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:55:04,842.842 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:55:04,848.848 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:55:04,853.853 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:55:06,892.892 INFO    ] ================================================
[2026-10-20 16:55:06,907.907 INFO    ] Launching Daemon at Tue Oct 20 16:55:06 IST 2026
[2026-10-20 16:55:06,917.917 INFO    ] ================================================
[2026-10-20 16:55:07,537.537 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:55:07
[2026-10-20 16:55:08,198.198 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:55:08,502.502 INFO    ] Initializing speech engine...
[2026-10-20 16:55:08,510.510 INFO    ] 2026-10-20 16:55:08
[2026-10-20 16:55:08,799.799 INFO    ] 2026-10-20 16:55:08
[2026-10-20 16:55:08,909.909 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:55:09,184.184 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:55:09,232.232 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:55:09,465.465 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:55:09,507.507 INFO    ] time= 20/10/2026 16:55:09
[2026-10-20 16:55:09,562.562 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:55:09,605.605 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:55:09,757.757 INFO    ] No existing commands found in stream
[2026-10-20 16:55:14,782.782 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:55:14,785.785 INFO    ] Waiting 2.91 seconds before fallback handling...
[2026-10-20 16:55:18,234.234 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:55:18,237.237 INFO    ] Checking for system updates...
[2026-10-20 16:55:18,273.273 INFO    ] 200
[2026-10-20 16:55:18,275.275 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:55:18,342.342 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:55:18,344.344 INFO    ] No update needed
[2026-10-20 16:55:18,347.347 INFO    ] Checking for camera pi updates...
[2026-10-20 16:55:18,387.387 INFO    ] 200
[2026-10-20 16:55:18,390.390 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:55:18,435.435 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:55:18,481.481 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:55:18,484.484 INFO    ] No camera update needed
[2026-10-20 16:55:18,487.487 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:55:18,489.489 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:55:18,495.495 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:55:18,500.500 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:55:20,540.540 INFO    ] ================================================
[2026-10-20 16:55:20,555.555 INFO    ] Launching Daemon at Tue Oct 20 16:55:20 IST 2026
[2026-10-20 16:55:20,566.566 INFO    ] ================================================
[2026-10-20 16:55:21,132.132 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:55:21
[2026-10-20 16:55:21,715.715 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:55:21,956.956 INFO    ] Initializing speech engine...
[2026-10-20 16:55:21,963.963 INFO    ] 2026-10-20 16:55:21
[2026-10-20 16:55:22,240.240 INFO    ] 2026-10-20 16:55:22
[2026-10-20 16:55:22,276.276 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:55:22,529.529 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:55:22,538.538 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:55:22,760.760 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:55:22,795.795 INFO    ] time= 20/10/2026 16:55:22
[2026-10-20 16:55:22,801.801 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:55:22,818.818 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:55:22,957.957 INFO    ] No existing commands found in stream
[2026-10-20 16:55:27,980.980 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:55:27,983.983 INFO    ] Waiting 3.33 seconds before fallback handling...
[2026-10-20 16:55:31,825.825 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:55:31,828.828 INFO    ] Checking for system updates...
[2026-10-20 16:55:31,874.874 INFO    ] 200
[2026-10-20 16:55:31,877.877 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:55:31,937.937 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:55:31,940.940 INFO    ] No update needed
[2026-10-20 16:55:31,943.943 INFO    ] Checking for camera pi updates...
[2026-10-20 16:55:31,978.978 INFO    ] 200
[2026-10-20 16:55:31,981.981 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:55:32,030.030 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:55:32,163.163 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:55:32,165.165 INFO    ] No camera update needed
[2026-10-20 16:55:32,168.168 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:55:32,170.170 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:55:32,177.177 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:55:32,182.182 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:55:34,223.223 INFO    ] ================================================
[2026-10-20 16:55:34,237.237 INFO    ] Launching Daemon at Tue Oct 20 16:55:34 IST 2026
[2026-10-20 16:55:34,248.248 INFO    ] ================================================
[2026-10-20 16:55:34,900.900 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:55:34
[2026-10-20 16:55:35,564.564 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:55:35,862.862 INFO    ] Initializing speech engine...
[2026-10-20 16:55:35,871.871 INFO    ] 2026-10-20 16:55:35
[2026-10-20 16:55:36,162.162 INFO    ] 2026-10-20 16:55:36
[2026-10-20 16:55:36,273.273 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:55:36,482.482 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:55:36,491.491 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:55:36,676.676 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:55:36,693.693 INFO    ] time= 20/10/2026 16:55:36
[2026-10-20 16:55:36,709.709 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:55:36,734.734 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:55:36,863.863 INFO    ] No existing commands found in stream
[2026-10-20 16:55:41,894.894 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:55:41,897.897 INFO    ] Waiting 2.05 seconds before fallback handling...
[2026-10-20 16:55:44,530.530 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:55:44,533.533 INFO    ] Checking for system updates...
[2026-10-20 16:55:44,569.569 INFO    ] 200
[2026-10-20 16:55:44,572.572 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:55:44,625.625 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:55:44,627.627 INFO    ] No update needed
[2026-10-20 16:55:44,630.630 INFO    ] Checking for camera pi updates...
[2026-10-20 16:55:44,663.663 INFO    ] 200
[2026-10-20 16:55:44,666.666 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:55:44,711.711 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:55:44,762.762 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:55:44,765.765 INFO    ] No camera update needed
[2026-10-20 16:55:44,767.767 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:55:44,770.770 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:55:44,775.775 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:55:44,780.780 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:55:46,819.819 INFO    ] ================================================
[2026-10-20 16:55:46,834.834 INFO    ] Launching Daemon at Tue Oct 20 16:55:46 IST 2026
[2026-10-20 16:55:46,845.845 INFO    ] ================================================
[2026-10-20 16:55:47,411.411 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:55:47
[2026-10-20 16:55:47,993.993 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:55:48,263.263 INFO    ] Initializing speech engine...
[2026-10-20 16:55:48,273.273 INFO    ] 2026-10-20 16:55:48
[2026-10-20 16:55:48,522.522 INFO    ] 2026-10-20 16:55:48
[2026-10-20 16:55:48,557.557 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:55:48,796.796 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:55:48,818.818 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:55:48,959.959 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:55:49,001.001 INFO    ] time= 20/10/2026 16:55:48
[2026-10-20 16:55:49,040.040 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:55:49,089.089 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:55:49,236.236 INFO    ] No existing commands found in stream
[2026-10-20 16:55:54,256.256 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:55:54,259.259 INFO    ] Waiting 2.57 seconds before fallback handling...
[2026-10-20 16:55:57,333.333 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 16:55:57,336.336 INFO    ] Checking for system updates...
[2026-10-20 16:55:57,375.375 INFO    ] 200
[2026-10-20 16:55:57,377.377 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:55:57,434.434 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:55:57,437.437 INFO    ] No update needed
[2026-10-20 16:55:57,439.439 INFO    ] Checking for camera pi updates...
[2026-10-20 16:55:57,475.475 INFO    ] 200
[2026-10-20 16:55:57,478.478 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:55:57,522.522 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:55:57,567.567 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:55:57,570.570 INFO    ] No camera update needed
[2026-10-20 16:55:57,572.572 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:55:57,574.574 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:55:57,580.580 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:55:57,584.584 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:55:59,626.626 INFO    ] ================================================
[2026-10-20 16:55:59,641.641 INFO    ] Launching Daemon at Tue Oct 20 16:55:59 IST 2026
[2026-10-20 16:55:59,652.652 INFO    ] ================================================
[2026-10-20 16:56:00,221.221 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:56:00
[2026-10-20 16:56:00,831.831 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:56:01,133.133 INFO    ] Initializing speech engine...
[2026-10-20 16:56:01,140.140 INFO    ] 2026-10-20 16:56:01
[2026-10-20 16:56:01,536.536 INFO    ] 2026-10-20 16:56:01
[2026-10-20 16:56:01,652.652 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:56:01,883.883 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:56:01,892.892 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:56:02,049.049 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:56:02,116.116 INFO    ] time= 20/10/2026 16:56:02
[2026-10-20 16:56:02,124.124 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:56:02,139.139 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:56:02,261.261 INFO    ] No existing commands found in stream
[2026-10-20 16:56:07,275.275 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:56:07,277.277 INFO    ] Waiting 1.81 seconds before fallback handling...
[2026-10-20 16:56:09,619.619 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:56:09,621.621 INFO    ] Checking for system updates...
[2026-10-20 16:56:09,657.657 INFO    ] 200
[2026-10-20 16:56:09,660.660 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:56:09,711.711 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:56:09,714.714 INFO    ] No update needed
[2026-10-20 16:56:09,716.716 INFO    ] Checking for camera pi updates...
[2026-10-20 16:56:09,753.753 INFO    ] 200
[2026-10-20 16:56:09,755.755 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:56:09,796.796 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:56:09,842.842 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:56:09,844.844 INFO    ] No camera update needed
[2026-10-20 16:56:09,847.847 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:56:09,849.849 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:56:09,855.855 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:56:09,860.860 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:56:11,900.900 INFO    ] ================================================
[2026-10-20 16:56:11,915.915 INFO    ] Launching Daemon at Tue Oct 20 16:56:11 IST 2026
[2026-10-20 16:56:11,925.925 INFO    ] ================================================
[2026-10-20 16:56:12,504.504 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:56:12
[2026-10-20 16:56:13,102.102 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:56:13,362.362 INFO    ] Initializing speech engine...
[2026-10-20 16:56:13,368.368 INFO    ] 2026-10-20 16:56:13
[2026-10-20 16:56:13,665.665 INFO    ] 2026-10-20 16:56:13
[2026-10-20 16:56:13,702.702 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:56:13,924.924 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:56:13,942.942 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:56:14,130.130 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:56:14,164.164 INFO    ] time= 20/10/2026 16:56:14
[2026-10-20 16:56:14,218.218 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:56:14,262.262 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:56:14,391.391 INFO    ] No existing commands found in stream
[2026-10-20 16:56:19,418.418 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:56:19,421.421 INFO    ] Waiting 2.78 seconds before fallback handling...
[2026-10-20 16:56:22,744.744 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:56:22,746.746 INFO    ] Checking for system updates...
[2026-10-20 16:56:22,786.786 INFO    ] 200
[2026-10-20 16:56:22,788.788 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:56:22,840.840 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:56:22,842.842 INFO    ] No update needed
[2026-10-20 16:56:22,845.845 INFO    ] Checking for camera pi updates...
[2026-10-20 16:56:22,881.881 INFO    ] 200
[2026-10-20 16:56:22,884.884 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:56:22,928.928 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:56:22,974.974 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:56:22,977.977 INFO    ] No camera update needed
[2026-10-20 16:56:22,979.979 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:56:22,981.981 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:56:22,987.987 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:56:22,992.992 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:56:25,031.031 INFO    ] ================================================
[2026-10-20 16:56:25,047.047 INFO    ] Launching Daemon at Tue Oct 20 16:56:25 IST 2026
[2026-10-20 16:56:25,058.058 INFO    ] ================================================
[2026-10-20 16:56:25,623.623 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:56:25
[2026-10-20 16:56:26,208.208 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:56:26,465.465 INFO    ] Initializing speech engine...
[2026-10-20 16:56:26,472.472 INFO    ] 2026-10-20 16:56:26
[2026-10-20 16:56:26,762.762 INFO    ] 2026-10-20 16:56:26
[2026-10-20 16:56:26,797.797 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:56:27,020.020 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:56:27,028.028 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:56:27,243.243 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:56:27,253.253 INFO    ] time= 20/10/2026 16:56:27
[2026-10-20 16:56:27,298.298 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:56:27,337.337 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:56:27,523.523 INFO    ] No existing commands found in stream
[2026-10-20 16:56:32,540.540 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:56:32,543.543 INFO    ] Waiting 2.11 seconds before fallback handling...
[2026-10-20 16:56:35,144.144 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 16:56:35,147.147 INFO    ] Checking for system updates...
[2026-10-20 16:56:35,185.185 INFO    ] 200
[2026-10-20 16:56:35,187.187 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:56:35,245.245 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:56:35,247.247 INFO    ] No update needed
[2026-10-20 16:56:35,250.250 INFO    ] Checking for camera pi updates...
[2026-10-20 16:56:35,286.286 INFO    ] 200
[2026-10-20 16:56:35,288.288 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:56:35,328.328 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:56:35,373.373 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:56:35,375.375 INFO    ] No camera update needed
[2026-10-20 16:56:35,378.378 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:56:35,380.380 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:56:35,385.385 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:56:35,390.390 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:56:37,430.430 INFO    ] ================================================
[2026-10-20 16:56:37,445.445 INFO    ] Launching Daemon at Tue Oct 20 16:56:37 IST 2026
[2026-10-20 16:56:37,455.455 INFO    ] ================================================
[2026-10-20 16:56:38,095.095 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:56:38
[2026-10-20 16:56:38,754.754 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:56:39,055.055 INFO    ] Initializing speech engine...
[2026-10-20 16:56:39,063.063 INFO    ] 2026-10-20 16:56:39
[2026-10-20 16:56:39,333.333 INFO    ] 2026-10-20 16:56:39
[2026-10-20 16:56:39,368.368 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:56:39,626.626 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:56:39,631.631 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:56:39,860.860 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:56:39,900.900 INFO    ] time= 20/10/2026 16:56:39
[2026-10-20 16:56:39,907.907 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:56:39,929.929 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:56:40,061.061 INFO    ] No existing commands found in stream
[2026-10-20 16:56:45,073.073 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:56:45,076.076 INFO    ] Waiting 1.83 seconds before fallback handling...
[2026-10-20 16:56:47,392.392 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 16:56:47,395.395 INFO    ] Checking for system updates...
[2026-10-20 16:56:47,431.431 INFO    ] 200
[2026-10-20 16:56:47,434.434 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:56:47,488.488 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:56:47,491.491 INFO    ] No update needed
[2026-10-20 16:56:47,494.494 INFO    ] Checking for camera pi updates...
[2026-10-20 16:56:47,528.528 INFO    ] 200
[2026-10-20 16:56:47,531.531 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:56:47,576.576 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:56:47,625.625 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:56:47,628.628 INFO    ] No camera update needed
[2026-10-20 16:56:47,631.631 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:56:47,634.634 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:56:47,640.640 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:56:47,645.645 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:56:49,685.685 INFO    ] ================================================
[2026-10-20 16:56:49,700.700 INFO    ] Launching Daemon at Tue Oct 20 16:56:49 IST 2026
[2026-10-20 16:56:49,711.711 INFO    ] ================================================
[2026-10-20 16:56:50,282.282 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:56:50
[2026-10-20 16:56:50,871.871 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:56:51,127.127 INFO    ] Initializing speech engine...
[2026-10-20 16:56:51,133.133 INFO    ] 2026-10-20 16:56:51
[2026-10-20 16:56:51,428.428 INFO    ] 2026-10-20 16:56:51
[2026-10-20 16:56:51,462.462 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:56:51,687.687 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:56:51,751.751 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:56:51,907.907 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:56:51,923.923 INFO    ] time= 20/10/2026 16:56:51
[2026-10-20 16:56:51,983.983 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:56:52,032.032 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:56:52,187.187 INFO    ] No existing commands found in stream
[2026-10-20 16:56:57,199.199 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:56:57,202.202 INFO    ] Waiting 0.31 seconds before fallback handling...
[2026-10-20 16:56:58,060.060 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 16:56:58,063.063 INFO    ] Checking for system updates...
[2026-10-20 16:56:58,099.099 INFO    ] 200
[2026-10-20 16:56:58,101.101 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:56:58,158.158 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:56:58,161.161 INFO    ] No update needed
[2026-10-20 16:56:58,164.164 INFO    ] Checking for camera pi updates...
[2026-10-20 16:56:58,205.205 INFO    ] 200
[2026-10-20 16:56:58,208.208 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:56:58,272.272 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:56:58,321.321 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:56:58,324.324 INFO    ] No camera update needed
[2026-10-20 16:56:58,327.327 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:56:58,330.330 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:56:58,336.336 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:56:58,342.342 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:57:00,382.382 INFO    ] ================================================
[2026-10-20 16:57:00,397.397 INFO    ] Launching Daemon at Tue Oct 20 16:57:00 IST 2026
[2026-10-20 16:57:00,408.408 INFO    ] ================================================
[2026-10-20 16:57:01,047.047 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:57:01
[2026-10-20 16:57:01,843.843 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:57:02,133.133 INFO    ] Initializing speech engine...
[2026-10-20 16:57:02,157.157 INFO    ] 2026-10-20 16:57:02
[2026-10-20 16:57:02,477.477 INFO    ] 2026-10-20 16:57:02
[2026-10-20 16:57:02,539.539 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:57:02,819.819 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:57:02,846.846 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:57:03,067.067 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:57:03,109.109 INFO    ] time= 20/10/2026 16:57:03
[2026-10-20 16:57:03,115.115 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:57:03,134.134 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:57:03,253.253 INFO    ] No existing commands found in stream
[2026-10-20 16:57:08,281.281 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:57:08,283.283 INFO    ] Waiting 3.34 seconds before fallback handling...
[2026-10-20 16:57:12,184.184 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:57:12,187.187 INFO    ] Checking for system updates...
[2026-10-20 16:57:12,222.222 INFO    ] 200
[2026-10-20 16:57:12,224.224 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:57:12,276.276 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:57:12,278.278 INFO    ] No update needed
[2026-10-20 16:57:12,281.281 INFO    ] Checking for camera pi updates...
[2026-10-20 16:57:12,314.314 INFO    ] 200
[2026-10-20 16:57:12,316.316 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:57:12,357.357 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:57:12,405.405 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:57:12,407.407 INFO    ] No camera update needed
[2026-10-20 16:57:12,410.410 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:57:12,412.412 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:57:12,418.418 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:57:12,423.423 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:57:14,463.463 INFO    ] ================================================
[2026-10-20 16:57:14,478.478 INFO    ] Launching Daemon at Tue Oct 20 16:57:14 IST 2026
[2026-10-20 16:57:14,489.489 INFO    ] ================================================
[2026-10-20 16:57:15,148.148 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:57:15
[2026-10-20 16:57:15,823.823 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:57:16,133.133 INFO    ] Initializing speech engine...
[2026-10-20 16:57:16,145.145 INFO    ] 2026-10-20 16:57:16
[2026-10-20 16:57:16,432.432 INFO    ] 2026-10-20 16:57:16
[2026-10-20 16:57:16,477.477 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:57:16,734.734 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:57:16,740.740 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:57:16,934.934 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:57:16,981.981 INFO    ] time= 20/10/2026 16:57:16
[2026-10-20 16:57:16,988.988 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:57:17,010.010 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:57:17,193.193 INFO    ] No existing commands found in stream
[2026-10-20 16:57:22,214.214 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:57:22,217.217 INFO    ] Waiting 0.99 seconds before fallback handling...
[2026-10-20 16:57:23,756.756 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:57:23,759.759 INFO    ] Checking for system updates...
[2026-10-20 16:57:23,796.796 INFO    ] 200
[2026-10-20 16:57:23,798.798 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:57:23,851.851 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:57:23,854.854 INFO    ] No update needed
[2026-10-20 16:57:23,857.857 INFO    ] Checking for camera pi updates...
[2026-10-20 16:57:23,898.898 INFO    ] 200
[2026-10-20 16:57:23,900.900 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:57:23,942.942 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:57:23,998.998 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:57:24,001.001 INFO    ] No camera update needed
[2026-10-20 16:57:24,004.004 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:57:24,007.007 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:57:24,013.013 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:57:24,019.019 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:57:26,059.059 INFO    ] ================================================
[2026-10-20 16:57:26,074.074 INFO    ] Launching Daemon at Tue Oct 20 16:57:26 IST 2026
[2026-10-20 16:57:26,085.085 INFO    ] ================================================
[2026-10-20 16:57:26,672.672 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:57:26
[2026-10-20 16:57:27,274.274 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:57:27,539.539 INFO    ] Initializing speech engine...
[2026-10-20 16:57:27,562.562 INFO    ] 2026-10-20 16:57:27
[2026-10-20 16:57:27,847.847 INFO    ] 2026-10-20 16:57:27
[2026-10-20 16:57:27,883.883 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:57:28,095.095 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:57:28,116.116 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:57:28,266.266 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:57:28,271.271 INFO    ] time= 20/10/2026 16:57:28
[2026-10-20 16:57:28,278.278 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:57:28,321.321 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:57:28,449.449 INFO    ] No existing commands found in stream
[2026-10-20 16:57:33,474.474 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:57:33,476.476 INFO    ] Waiting 1.08 seconds before fallback handling...
[2026-10-20 16:57:35,043.043 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:57:35,046.046 INFO    ] Checking for system updates...
[2026-10-20 16:57:35,082.082 INFO    ] 200
[2026-10-20 16:57:35,084.084 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:57:35,143.143 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:57:35,145.145 INFO    ] No update needed
[2026-10-20 16:57:35,148.148 INFO    ] Checking for camera pi updates...
[2026-10-20 16:57:35,185.185 INFO    ] 200
[2026-10-20 16:57:35,187.187 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:57:35,232.232 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:57:35,367.367 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:57:35,370.370 INFO    ] No camera update needed
[2026-10-20 16:57:35,372.372 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:57:35,374.374 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:57:35,380.380 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:57:35,385.385 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:57:37,424.424 INFO    ] ================================================
[2026-10-20 16:57:37,440.440 INFO    ] Launching Daemon at Tue Oct 20 16:57:37 IST 2026
[2026-10-20 16:57:37,451.451 INFO    ] ================================================
[2026-10-20 16:57:38,116.116 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:57:38
[2026-10-20 16:57:38,792.792 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:57:39,099.099 INFO    ] Initializing speech engine...
[2026-10-20 16:57:39,111.111 INFO    ] 2026-10-20 16:57:39
[2026-10-20 16:57:39,423.423 INFO    ] 2026-10-20 16:57:39
[2026-10-20 16:57:39,506.506 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:57:39,719.719 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:57:39,725.725 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:57:39,908.908 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:57:39,925.925 INFO    ] time= 20/10/2026 16:57:39
[2026-10-20 16:57:39,944.944 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:57:39,961.961 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:57:40,134.134 INFO    ] No existing commands found in stream
[2026-10-20 16:57:45,165.165 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:57:45,168.168 INFO    ] Waiting 1.15 seconds before fallback handling...
[2026-10-20 16:57:46,867.867 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 16:57:46,870.870 INFO    ] Checking for system updates...
[2026-10-20 16:57:46,911.911 INFO    ] 200
[2026-10-20 16:57:46,914.914 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:57:46,967.967 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:57:46,970.970 INFO    ] No update needed
[2026-10-20 16:57:46,973.973 INFO    ] Checking for camera pi updates...
[2026-10-20 16:57:47,007.007 INFO    ] 200
[2026-10-20 16:57:47,010.010 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:57:47,051.051 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:57:47,098.098 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:57:47,101.101 INFO    ] No camera update needed
[2026-10-20 16:57:47,104.104 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:57:47,106.106 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:57:47,113.113 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:57:47,119.119 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:57:49,161.161 INFO    ] ================================================
[2026-10-20 16:57:49,176.176 INFO    ] Launching Daemon at Tue Oct 20 16:57:49 IST 2026
[2026-10-20 16:57:49,187.187 INFO    ] ================================================
[2026-10-20 16:57:49,761.761 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:57:49
[2026-10-20 16:57:50,346.346 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:57:50,592.592 INFO    ] Initializing speech engine...
[2026-10-20 16:57:50,600.600 INFO    ] 2026-10-20 16:57:50
[2026-10-20 16:57:50,874.874 INFO    ] 2026-10-20 16:57:50
[2026-10-20 16:57:50,909.909 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:57:51,109.109 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:57:51,149.149 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:57:51,352.352 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:57:51,412.412 INFO    ] time= 20/10/2026 16:57:51
[2026-10-20 16:57:51,447.447 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:57:51,453.453 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:57:51,613.613 INFO    ] No existing commands found in stream
[2026-10-20 16:57:56,639.639 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:57:56,642.642 INFO    ] Waiting 1.95 seconds before fallback handling...
[2026-10-20 16:57:59,112.112 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:57:59,115.115 INFO    ] Checking for system updates...
[2026-10-20 16:57:59,151.151 INFO    ] 200
[2026-10-20 16:57:59,154.154 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:57:59,207.207 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:57:59,210.210 INFO    ] No update needed
[2026-10-20 16:57:59,212.212 INFO    ] Checking for camera pi updates...
[2026-10-20 16:57:59,247.247 INFO    ] 200
[2026-10-20 16:57:59,250.250 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:57:59,296.296 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:57:59,341.341 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:57:59,344.344 INFO    ] No camera update needed
[2026-10-20 16:57:59,347.347 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:57:59,350.350 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:57:59,356.356 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:57:59,362.362 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:58:01,411.411 INFO    ] ================================================
[2026-10-20 16:58:01,437.437 INFO    ] Launching Daemon at Tue Oct 20 16:58:01 IST 2026
[2026-10-20 16:58:01,492.492 INFO    ] ================================================
[2026-10-20 16:58:02,187.187 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:58:02
[2026-10-20 16:58:02,840.840 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:58:03,188.188 INFO    ] Initializing speech engine...
[2026-10-20 16:58:03,193.193 INFO    ] 2026-10-20 16:58:03
[2026-10-20 16:58:03,470.470 INFO    ] 2026-10-20 16:58:03
[2026-10-20 16:58:03,505.505 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:58:03,763.763 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:58:03,771.771 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:58:03,907.907 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:58:03,950.950 INFO    ] time= 20/10/2026 16:58:03
[2026-10-20 16:58:04,004.004 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:58:04,044.044 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:58:04,176.176 INFO    ] No existing commands found in stream
[2026-10-20 16:58:09,207.207 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:58:09,210.210 INFO    ] Waiting 0.89 seconds before fallback handling...
[2026-10-20 16:58:10,583.583 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 16:58:10,585.585 INFO    ] Checking for system updates...
[2026-10-20 16:58:10,622.622 INFO    ] 200
[2026-10-20 16:58:10,625.625 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:58:10,685.685 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:58:10,688.688 INFO    ] No update needed
[2026-10-20 16:58:10,691.691 INFO    ] Checking for camera pi updates...
[2026-10-20 16:58:10,729.729 INFO    ] 200
[2026-10-20 16:58:10,732.732 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:58:10,774.774 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:58:10,826.826 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:58:10,829.829 INFO    ] No camera update needed
[2026-10-20 16:58:10,831.831 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:58:10,834.834 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:58:10,841.841 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:58:10,847.847 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:58:12,889.889 INFO    ] ================================================
[2026-10-20 16:58:12,904.904 INFO    ] Launching Daemon at Tue Oct 20 16:58:12 IST 2026
[2026-10-20 16:58:12,914.914 INFO    ] ================================================
[2026-10-20 16:58:13,502.502 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:58:13
[2026-10-20 16:58:14,100.100 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:58:14,372.372 INFO    ] Initializing speech engine...
[2026-10-20 16:58:14,382.382 INFO    ] 2026-10-20 16:58:14
[2026-10-20 16:58:14,629.629 INFO    ] 2026-10-20 16:58:14
[2026-10-20 16:58:14,664.664 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:58:14,920.920 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:58:14,926.926 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:58:15,134.134 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:58:15,181.181 INFO    ] time= 20/10/2026 16:58:15
[2026-10-20 16:58:15,187.187 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:58:15,205.205 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:58:15,338.338 INFO    ] No existing commands found in stream
[2026-10-20 16:58:20,366.366 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:58:20,369.369 INFO    ] Waiting 2.24 seconds before fallback handling...
[2026-10-20 16:58:23,160.160 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 16:58:23,163.163 INFO    ] Checking for system updates...
[2026-10-20 16:58:23,198.198 INFO    ] 200
[2026-10-20 16:58:23,200.200 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:58:23,252.252 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:58:23,254.254 INFO    ] No update needed
[2026-10-20 16:58:23,257.257 INFO    ] Checking for camera pi updates...
[2026-10-20 16:58:23,290.290 INFO    ] 200
[2026-10-20 16:58:23,293.293 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:58:23,333.333 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:58:23,377.377 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:58:23,380.380 INFO    ] No camera update needed
[2026-10-20 16:58:23,383.383 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:58:23,385.385 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:58:23,390.390 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:58:23,395.395 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:58:25,436.436 INFO    ] ================================================
[2026-10-20 16:58:25,451.451 INFO    ] Launching Daemon at Tue Oct 20 16:58:25 IST 2026
[2026-10-20 16:58:25,462.462 INFO    ] ================================================
[2026-10-20 16:58:26,038.038 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:58:26
[2026-10-20 16:58:26,638.638 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:58:26,942.942 INFO    ] Initializing speech engine...
[2026-10-20 16:58:26,954.954 INFO    ] 2026-10-20 16:58:26
[2026-10-20 16:58:27,237.237 INFO    ] 2026-10-20 16:58:27
[2026-10-20 16:58:27,282.282 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:58:27,511.511 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:58:27,517.517 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:58:27,742.742 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:58:27,780.780 INFO    ] time= 20/10/2026 16:58:27
[2026-10-20 16:58:27,798.798 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:58:27,830.830 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:58:27,984.984 INFO    ] No existing commands found in stream
[2026-10-20 16:58:33,015.015 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:58:33,018.018 INFO    ] Waiting 1.93 seconds before fallback handling...
[2026-10-20 16:58:35,511.511 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:58:35,514.514 INFO    ] Checking for system updates...
[2026-10-20 16:58:35,551.551 INFO    ] 200
[2026-10-20 16:58:35,554.554 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:58:35,606.606 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:58:35,609.609 INFO    ] No update needed
[2026-10-20 16:58:35,612.612 INFO    ] Checking for camera pi updates...
[2026-10-20 16:58:35,649.649 INFO    ] 200
[2026-10-20 16:58:35,652.652 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:58:35,693.693 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:58:35,735.735 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:58:35,738.738 INFO    ] No camera update needed
[2026-10-20 16:58:35,740.740 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:58:35,743.743 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:58:35,748.748 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:58:35,753.753 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:58:37,792.792 INFO    ] ================================================
[2026-10-20 16:58:37,807.807 INFO    ] Launching Daemon at Tue Oct 20 16:58:37 IST 2026
[2026-10-20 16:58:37,818.818 INFO    ] ================================================
[2026-10-20 16:58:38,481.481 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:58:38
[2026-10-20 16:58:39,165.165 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:58:39,472.472 INFO    ] Initializing speech engine...
[2026-10-20 16:58:39,480.480 INFO    ] 2026-10-20 16:58:39
[2026-10-20 16:58:39,769.769 INFO    ] 2026-10-20 16:58:39
[2026-10-20 16:58:39,812.812 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:58:40,101.101 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:58:40,141.141 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:58:40,327.327 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:58:40,354.354 INFO    ] time= 20/10/2026 16:58:40
[2026-10-20 16:58:40,363.363 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:58:40,371.371 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:58:40,504.504 INFO    ] No existing commands found in stream
[2026-10-20 16:58:45,535.535 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:58:45,538.538 INFO    ] Waiting 1.76 seconds before fallback handling...
[2026-10-20 16:58:47,844.844 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 16:58:47,846.846 INFO    ] Checking for system updates...
[2026-10-20 16:58:47,883.883 INFO    ] 200
[2026-10-20 16:58:47,885.885 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:58:47,937.937 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:58:47,940.940 INFO    ] No update needed
[2026-10-20 16:58:47,942.942 INFO    ] Checking for camera pi updates...
[2026-10-20 16:58:47,975.975 INFO    ] 200
[2026-10-20 16:58:47,978.978 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:58:48,018.018 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:58:48,064.064 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:58:48,066.066 INFO    ] No camera update needed
[2026-10-20 16:58:48,068.068 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:58:48,071.071 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:58:48,076.076 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:58:48,081.081 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:58:50,121.121 INFO    ] ================================================
[2026-10-20 16:58:50,136.136 INFO    ] Launching Daemon at Tue Oct 20 16:58:50 IST 2026
[2026-10-20 16:58:50,146.146 INFO    ] ================================================
[2026-10-20 16:58:50,815.815 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:58:50
[2026-10-20 16:58:51,411.411 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:58:51,663.663 INFO    ] Initializing speech engine...
[2026-10-20 16:58:51,669.669 INFO    ] 2026-10-20 16:58:51
[2026-10-20 16:58:51,960.960 INFO    ] 2026-10-20 16:58:51
[2026-10-20 16:58:51,996.996 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:58:52,201.201 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:58:52,261.261 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:58:52,505.505 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:58:52,549.549 INFO    ] time= 20/10/2026 16:58:52
[2026-10-20 16:58:52,555.555 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:58:52,578.578 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:58:52,712.712 INFO    ] No existing commands found in stream
[2026-10-20 16:58:57,727.727 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:58:57,731.731 INFO    ] Waiting 2.12 seconds before fallback handling...
[2026-10-20 16:59:00,425.425 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:59:00,428.428 INFO    ] Checking for system updates...
[2026-10-20 16:59:00,464.464 INFO    ] 200
[2026-10-20 16:59:00,467.467 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:59:00,518.518 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:59:00,521.521 INFO    ] No update needed
[2026-10-20 16:59:00,523.523 INFO    ] Checking for camera pi updates...
[2026-10-20 16:59:00,556.556 INFO    ] 200
[2026-10-20 16:59:00,559.559 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:59:00,599.599 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:59:00,654.654 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:59:00,657.657 INFO    ] No camera update needed
[2026-10-20 16:59:00,659.659 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:59:00,661.661 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:59:00,667.667 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:59:00,672.672 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:59:02,721.721 INFO    ] ================================================
[2026-10-20 16:59:02,744.744 INFO    ] Launching Daemon at Tue Oct 20 16:59:02 IST 2026
[2026-10-20 16:59:02,770.770 INFO    ] ================================================
[2026-10-20 16:59:03,422.422 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:59:03
[2026-10-20 16:59:04,037.037 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:59:04,311.311 INFO    ] Initializing speech engine...
[2026-10-20 16:59:04,318.318 INFO    ] 2026-10-20 16:59:04
[2026-10-20 16:59:04,613.613 INFO    ] 2026-10-20 16:59:04
[2026-10-20 16:59:04,650.650 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:59:04,859.859 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:59:04,911.911 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:59:05,055.055 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:59:05,120.120 INFO    ] time= 20/10/2026 16:59:05
[2026-10-20 16:59:05,178.178 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:59:05,184.184 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:59:05,309.309 INFO    ] No existing commands found in stream
[2026-10-20 16:59:10,336.336 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:59:10,339.339 INFO    ] Waiting 1.31 seconds before fallback handling...
[2026-10-20 16:59:12,151.151 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:59:12,154.154 INFO    ] Checking for system updates...
[2026-10-20 16:59:12,193.193 INFO    ] 200
[2026-10-20 16:59:12,196.196 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:59:12,254.254 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:59:12,257.257 INFO    ] No update needed
[2026-10-20 16:59:12,259.259 INFO    ] Checking for camera pi updates...
[2026-10-20 16:59:12,293.293 INFO    ] 200
[2026-10-20 16:59:12,295.295 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:59:12,336.336 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:59:12,392.392 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:59:12,394.394 INFO    ] No camera update needed
[2026-10-20 16:59:12,396.396 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:59:12,399.399 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:59:12,404.404 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:59:12,409.409 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:59:14,449.449 INFO    ] ================================================
[2026-10-20 16:59:14,464.464 INFO    ] Launching Daemon at Tue Oct 20 16:59:14 IST 2026
[2026-10-20 16:59:14,475.475 INFO    ] ================================================
[2026-10-20 16:59:15,127.127 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:59:15
[2026-10-20 16:59:15,836.836 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:59:16,147.147 INFO    ] Initializing speech engine...
[2026-10-20 16:59:16,158.158 INFO    ] 2026-10-20 16:59:16
[2026-10-20 16:59:16,440.440 INFO    ] 2026-10-20 16:59:16
[2026-10-20 16:59:16,484.484 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:59:16,712.712 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:59:16,719.719 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:59:16,935.935 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:59:16,976.976 INFO    ] time= 20/10/2026 16:59:16
[2026-10-20 16:59:16,994.994 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:59:17,004.004 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:59:17,094.094 INFO    ] No existing commands found in stream
[2026-10-20 16:59:22,104.104 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:59:22,107.107 INFO    ] Waiting 3.99 seconds before fallback handling...
[2026-10-20 16:59:26,639.639 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:59:26,643.643 INFO    ] Checking for system updates...
[2026-10-20 16:59:26,679.679 INFO    ] 200
[2026-10-20 16:59:26,681.681 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:59:26,734.734 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:59:26,736.736 INFO    ] No update needed
[2026-10-20 16:59:26,739.739 INFO    ] Checking for camera pi updates...
[2026-10-20 16:59:26,771.771 INFO    ] 200
[2026-10-20 16:59:26,774.774 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:59:26,814.814 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:59:26,867.867 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:59:26,874.874 INFO    ] No camera update needed
[2026-10-20 16:59:26,876.876 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:59:26,879.879 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:59:26,885.885 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:59:26,890.890 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:59:28,929.929 INFO    ] ================================================
[2026-10-20 16:59:28,944.944 INFO    ] Launching Daemon at Tue Oct 20 16:59:28 IST 2026
[2026-10-20 16:59:28,955.955 INFO    ] ================================================
[2026-10-20 16:59:29,521.521 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:59:29
[2026-10-20 16:59:30,117.117 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:59:30,390.390 INFO    ] Initializing speech engine...
[2026-10-20 16:59:30,399.399 INFO    ] 2026-10-20 16:59:30
[2026-10-20 16:59:30,654.654 INFO    ] 2026-10-20 16:59:30
[2026-10-20 16:59:30,690.690 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:59:30,940.940 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:59:30,945.945 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:59:31,146.146 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:59:31,202.202 INFO    ] time= 20/10/2026 16:59:31
[2026-10-20 16:59:31,208.208 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:59:31,226.226 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:59:31,358.358 INFO    ] No existing commands found in stream
[2026-10-20 16:59:36,377.377 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:59:36,380.380 INFO    ] Waiting 3.06 seconds before fallback handling...
[2026-10-20 16:59:39,931.931 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 16:59:39,934.934 INFO    ] Checking for system updates...
[2026-10-20 16:59:39,969.969 INFO    ] 200
[2026-10-20 16:59:39,971.971 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:59:40,023.023 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:59:40,025.025 INFO    ] No update needed
[2026-10-20 16:59:40,028.028 INFO    ] Checking for camera pi updates...
[2026-10-20 16:59:40,061.061 INFO    ] 200
[2026-10-20 16:59:40,063.063 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:59:40,103.103 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:59:40,246.246 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 16:59:40,249.249 INFO    ] No camera update needed
[2026-10-20 16:59:40,251.251 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:59:40,253.253 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:59:40,259.259 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:59:40,264.264 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:59:42,304.304 INFO    ] ================================================
[2026-10-20 16:59:42,319.319 INFO    ] Launching Daemon at Tue Oct 20 16:59:42 IST 2026
[2026-10-20 16:59:42,330.330 INFO    ] ================================================
[2026-10-20 16:59:42,905.905 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:59:42
[2026-10-20 16:59:43,497.497 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:59:43,751.751 INFO    ] Initializing speech engine...
[2026-10-20 16:59:43,759.759 INFO    ] 2026-10-20 16:59:43
[2026-10-20 16:59:44,055.055 INFO    ] 2026-10-20 16:59:44
[2026-10-20 16:59:44,090.090 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:59:44,303.303 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:59:44,321.321 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:59:44,474.474 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:59:44,479.479 INFO    ] time= 20/10/2026 16:59:44
[2026-10-20 16:59:44,485.485 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:59:44,491.491 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:59:44,617.617 INFO    ] No existing commands found in stream
[2026-10-20 16:59:49,642.642 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 16:59:49,645.645 INFO    ] Waiting 2.83 seconds before fallback handling...
[2026-10-20 16:59:52,985.985 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 16:59:52,988.988 INFO    ] Checking for system updates...
[2026-10-20 16:59:53,024.024 INFO    ] 200
[2026-10-20 16:59:53,026.026 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:59:53,089.089 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:59:53,092.092 INFO    ] No update needed
[2026-10-20 16:59:53,094.094 INFO    ] Checking for camera pi updates...
[2026-10-20 16:59:53,128.128 INFO    ] 200
[2026-10-20 16:59:53,131.131 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 16:59:53,173.173 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 16:59:53,221.221 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 16:59:53,224.224 INFO    ] No camera update needed
[2026-10-20 16:59:53,226.226 INFO    ] Script finished. Safe exiting...
[2026-10-20 16:59:53,229.229 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 16:59:53,236.236 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 16:59:53,242.242 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 16:59:55,281.281 INFO    ] ================================================
[2026-10-20 16:59:55,297.297 INFO    ] Launching Daemon at Tue Oct 20 16:59:55 IST 2026
[2026-10-20 16:59:55,307.307 INFO    ] ================================================
[2026-10-20 16:59:55,879.879 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 16:59:55
[2026-10-20 16:59:56,476.476 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 16:59:56,733.733 INFO    ] Initializing speech engine...
[2026-10-20 16:59:56,739.739 INFO    ] 2026-10-20 16:59:56
[2026-10-20 16:59:57,034.034 INFO    ] 2026-10-20 16:59:57
[2026-10-20 16:59:57,074.074 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 16:59:57,280.280 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 16:59:57,333.333 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 16:59:57,492.492 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 16:59:57,557.557 INFO    ] time= 20/10/2026 16:59:57
[2026-10-20 16:59:57,617.617 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 16:59:57,625.625 INFO    ] Checking for existing commands in stream...
[2026-10-20 16:59:57,776.776 INFO    ] No existing commands found in stream
[2026-10-20 17:00:02,798.798 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:00:02,803.803 INFO    ] Waiting 3.79 seconds before fallback handling...
[2026-10-20 17:00:09,727.727 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 17:00:09,730.730 INFO    ] Checking for system updates...
[2026-10-20 17:00:09,767.767 INFO    ] 200
[2026-10-20 17:00:09,770.770 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:00:09,829.829 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:00:09,832.832 INFO    ] No update needed
[2026-10-20 17:00:09,835.835 INFO    ] Checking for camera pi updates...
[2026-10-20 17:00:09,869.869 INFO    ] 200
[2026-10-20 17:00:09,871.871 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:00:09,912.912 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:00:09,949.949 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:00:09,952.952 INFO    ] No camera update needed
[2026-10-20 17:00:09,955.955 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:00:09,957.957 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:00:09,964.964 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:00:09,969.969 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:00:12,010.010 INFO    ] ================================================
[2026-10-20 17:00:12,026.026 INFO    ] Launching Daemon at Tue Oct 20 17:00:12 IST 2026
[2026-10-20 17:00:12,037.037 INFO    ] ================================================
[2026-10-20 17:00:12,709.709 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:00:12
[2026-10-20 17:00:13,371.371 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:00:13,672.672 INFO    ] Initializing speech engine...
[2026-10-20 17:00:13,681.681 INFO    ] 2026-10-20 17:00:13
[2026-10-20 17:00:13,950.950 INFO    ] 2026-10-20 17:00:13
[2026-10-20 17:00:13,985.985 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:00:14,243.243 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:00:14,249.249 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:00:14,454.454 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:00:14,515.515 INFO    ] time= 20/10/2026 17:00:14
[2026-10-20 17:00:14,522.522 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:00:14,541.541 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:00:14,700.700 INFO    ] No existing commands found in stream
[2026-10-20 17:00:19,731.731 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:00:19,734.734 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-10-20 17:00:23,683.683 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:00:23,686.686 INFO    ] Checking for system updates...
[2026-10-20 17:00:23,722.722 INFO    ] 200
[2026-10-20 17:00:23,725.725 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:00:23,784.784 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:00:23,786.786 INFO    ] No update needed
[2026-10-20 17:00:23,789.789 INFO    ] Checking for camera pi updates...
[2026-10-20 17:00:23,824.824 INFO    ] 200
[2026-10-20 17:00:23,826.826 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:00:23,871.871 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:00:23,930.930 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:00:23,932.932 INFO    ] No camera update needed
[2026-10-20 17:00:23,934.934 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:00:23,937.937 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:00:23,942.942 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:00:23,947.947 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:00:25,986.986 INFO    ] ================================================
[2026-10-20 17:00:26,001.001 INFO    ] Launching Daemon at Tue Oct 20 17:00:25 IST 2026
[2026-10-20 17:00:26,012.012 INFO    ] ================================================
[2026-10-20 17:00:26,589.589 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:00:26
[2026-10-20 17:00:27,172.172 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:00:27,427.427 INFO    ] Initializing speech engine...
[2026-10-20 17:00:27,436.436 INFO    ] 2026-10-20 17:00:27
[2026-10-20 17:00:27,726.726 INFO    ] 2026-10-20 17:00:27
[2026-10-20 17:00:27,760.760 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:00:27,961.961 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:00:27,974.974 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:00:28,137.137 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:00:28,142.142 INFO    ] time= 20/10/2026 17:00:28
[2026-10-20 17:00:28,149.149 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:00:28,175.175 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:00:28,308.308 INFO    ] No existing commands found in stream
[2026-10-20 17:00:33,333.333 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:00:33,336.336 INFO    ] Waiting 3.40 seconds before fallback handling...
[2026-10-20 17:00:37,210.210 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:00:37,212.212 INFO    ] Checking for system updates...
[2026-10-20 17:00:37,252.252 INFO    ] 200
[2026-10-20 17:00:37,254.254 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:00:37,312.312 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:00:37,314.314 INFO    ] No update needed
[2026-10-20 17:00:37,317.317 INFO    ] Checking for camera pi updates...
[2026-10-20 17:00:37,353.353 INFO    ] 200
[2026-10-20 17:00:37,355.355 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:00:37,400.400 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:00:37,451.451 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:00:37,454.454 INFO    ] No camera update needed
[2026-10-20 17:00:37,457.457 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:00:37,459.459 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:00:37,465.465 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:00:37,471.471 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:00:39,511.511 INFO    ] ================================================
[2026-10-20 17:00:39,526.526 INFO    ] Launching Daemon at Tue Oct 20 17:00:39 IST 2026
[2026-10-20 17:00:39,537.537 INFO    ] ================================================
[2026-10-20 17:00:40,174.174 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:00:40
[2026-10-20 17:00:40,863.863 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:00:41,147.147 INFO    ] Initializing speech engine...
[2026-10-20 17:00:41,158.158 INFO    ] 2026-10-20 17:00:41
[2026-10-20 17:00:41,420.420 INFO    ] 2026-10-20 17:00:41
[2026-10-20 17:00:41,475.475 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:00:41,695.695 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:00:41,697.697 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:00:41,841.841 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:00:41,886.886 INFO    ] time= 20/10/2026 17:00:41
[2026-10-20 17:00:41,946.946 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:00:41,976.976 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:00:42,077.077 INFO    ] No existing commands found in stream
[2026-10-20 17:00:47,101.101 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:00:47,104.104 INFO    ] Waiting 1.23 seconds before fallback handling...
[2026-10-20 17:00:48,868.868 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:00:48,871.871 INFO    ] Checking for system updates...
[2026-10-20 17:00:48,911.911 INFO    ] 200
[2026-10-20 17:00:48,913.913 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:00:48,975.975 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:00:48,977.977 INFO    ] No update needed
[2026-10-20 17:00:48,980.980 INFO    ] Checking for camera pi updates...
[2026-10-20 17:00:49,015.015 INFO    ] 200
[2026-10-20 17:00:49,018.018 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:00:49,061.061 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:00:49,092.092 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:00:49,095.095 INFO    ] No camera update needed
[2026-10-20 17:00:49,098.098 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:00:49,101.101 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:00:49,107.107 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:00:49,112.112 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:00:51,155.155 INFO    ] ================================================
[2026-10-20 17:00:51,172.172 INFO    ] Launching Daemon at Tue Oct 20 17:00:51 IST 2026
[2026-10-20 17:00:51,183.183 INFO    ] ================================================
[2026-10-20 17:00:51,769.769 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:00:51
[2026-10-20 17:00:52,401.401 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:00:52,686.686 INFO    ] Initializing speech engine...
[2026-10-20 17:00:52,693.693 INFO    ] 2026-10-20 17:00:52
[2026-10-20 17:00:52,997.997 INFO    ] 2026-10-20 17:00:52
[2026-10-20 17:00:53,034.034 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:00:53,239.239 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:00:53,269.269 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:00:53,492.492 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:00:53,541.541 INFO    ] time= 20/10/2026 17:00:53
[2026-10-20 17:00:53,602.602 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:00:53,640.640 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:00:53,800.800 INFO    ] No existing commands found in stream
[2026-10-20 17:00:58,827.827 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:00:58,830.830 INFO    ] Waiting 3.89 seconds before fallback handling...
[2026-10-20 17:01:05,122.122 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 17:01:05,126.126 INFO    ] Checking for system updates...
[2026-10-20 17:01:05,168.168 INFO    ] 200
[2026-10-20 17:01:05,172.172 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:01:05,229.229 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:01:05,232.232 INFO    ] No update needed
[2026-10-20 17:01:05,234.234 INFO    ] Checking for camera pi updates...
[2026-10-20 17:01:05,273.273 INFO    ] 200
[2026-10-20 17:01:05,276.276 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:01:05,317.317 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:01:05,362.362 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:01:05,365.365 INFO    ] No camera update needed
[2026-10-20 17:01:05,368.368 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:01:05,370.370 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:01:05,377.377 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:01:05,382.382 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:01:07,425.425 INFO    ] ================================================
[2026-10-20 17:01:07,441.441 INFO    ] Launching Daemon at Tue Oct 20 17:01:07 IST 2026
[2026-10-20 17:01:07,452.452 INFO    ] ================================================
[2026-10-20 17:01:08,018.018 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:01:08
[2026-10-20 17:01:08,601.601 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:01:08,854.854 INFO    ] Initializing speech engine...
[2026-10-20 17:01:08,863.863 INFO    ] 2026-10-20 17:01:08
[2026-10-20 17:01:09,154.154 INFO    ] 2026-10-20 17:01:09
[2026-10-20 17:01:09,191.191 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:01:09,415.415 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:01:09,459.459 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:01:09,644.644 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:01:09,697.697 INFO    ] time= 20/10/2026 17:01:09
[2026-10-20 17:01:09,736.736 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:01:09,791.791 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:01:09,927.927 INFO    ] No existing commands found in stream
[2026-10-20 17:01:14,950.950 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:01:14,952.952 INFO    ] Waiting 3.63 seconds before fallback handling...
[2026-10-20 17:01:19,101.101 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 17:01:19,104.104 INFO    ] Checking for system updates...
[2026-10-20 17:01:19,140.140 INFO    ] 200
[2026-10-20 17:01:19,142.142 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:01:19,194.194 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:01:19,196.196 INFO    ] No update needed
[2026-10-20 17:01:19,198.198 INFO    ] Checking for camera pi updates...
[2026-10-20 17:01:19,232.232 INFO    ] 200
[2026-10-20 17:01:19,234.234 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:01:19,273.273 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:01:19,318.318 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:01:19,321.321 INFO    ] No camera update needed
[2026-10-20 17:01:19,323.323 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:01:19,325.325 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:01:19,331.331 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:01:19,336.336 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:01:21,377.377 INFO    ] ================================================
[2026-10-20 17:01:21,393.393 INFO    ] Launching Daemon at Tue Oct 20 17:01:21 IST 2026
[2026-10-20 17:01:21,404.404 INFO    ] ================================================
[2026-10-20 17:01:21,969.969 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:01:21
[2026-10-20 17:01:22,554.554 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:01:22,821.821 INFO    ] Initializing speech engine...
[2026-10-20 17:01:22,829.829 INFO    ] 2026-10-20 17:01:22
[2026-10-20 17:01:23,075.075 INFO    ] 2026-10-20 17:01:23
[2026-10-20 17:01:23,117.117 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:01:23,360.360 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:01:23,369.369 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:01:23,597.597 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:01:23,629.629 INFO    ] time= 20/10/2026 17:01:23
[2026-10-20 17:01:23,643.643 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:01:23,652.652 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:01:23,780.780 INFO    ] No existing commands found in stream
[2026-10-20 17:01:28,793.793 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:01:28,796.796 INFO    ] Waiting 3.75 seconds before fallback handling...
[2026-10-20 17:01:33,066.066 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:01:33,069.069 INFO    ] Checking for system updates...
[2026-10-20 17:01:33,104.104 INFO    ] 200
[2026-10-20 17:01:33,106.106 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:01:33,161.161 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:01:33,164.164 INFO    ] No update needed
[2026-10-20 17:01:33,166.166 INFO    ] Checking for camera pi updates...
[2026-10-20 17:01:33,202.202 INFO    ] 200
[2026-10-20 17:01:33,205.205 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:01:33,245.245 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:01:33,292.292 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:01:33,295.295 INFO    ] No camera update needed
[2026-10-20 17:01:33,297.297 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:01:33,299.299 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:01:33,304.304 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:01:33,309.309 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:01:35,352.352 INFO    ] ================================================
[2026-10-20 17:01:35,368.368 INFO    ] Launching Daemon at Tue Oct 20 17:01:35 IST 2026
[2026-10-20 17:01:35,378.378 INFO    ] ================================================
[2026-10-20 17:01:35,951.951 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:01:35
[2026-10-20 17:01:36,543.543 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:01:36,814.814 INFO    ] Initializing speech engine...
[2026-10-20 17:01:36,822.822 INFO    ] 2026-10-20 17:01:36
[2026-10-20 17:01:37,071.071 INFO    ] 2026-10-20 17:01:37
[2026-10-20 17:01:37,106.106 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:01:37,359.359 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:01:37,368.368 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:01:37,581.581 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:01:37,629.629 INFO    ] time= 20/10/2026 17:01:37
[2026-10-20 17:01:37,636.636 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:01:37,654.654 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:01:37,787.787 INFO    ] No existing commands found in stream
[2026-10-20 17:01:42,805.805 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:01:42,808.808 INFO    ] Waiting 1.81 seconds before fallback handling...
[2026-10-20 17:01:45,120.120 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 17:01:45,122.122 INFO    ] Checking for system updates...
[2026-10-20 17:01:45,158.158 INFO    ] 200
[2026-10-20 17:01:45,161.161 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:01:45,212.212 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:01:45,215.215 INFO    ] No update needed
[2026-10-20 17:01:45,217.217 INFO    ] Checking for camera pi updates...
[2026-10-20 17:01:45,252.252 INFO    ] 200
[2026-10-20 17:01:45,255.255 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:01:45,298.298 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:01:45,441.441 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:01:45,443.443 INFO    ] No camera update needed
[2026-10-20 17:01:45,446.446 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:01:45,448.448 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:01:45,454.454 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:01:45,459.459 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:01:47,500.500 INFO    ] ================================================
[2026-10-20 17:01:47,515.515 INFO    ] Launching Daemon at Tue Oct 20 17:01:47 IST 2026
[2026-10-20 17:01:47,527.527 INFO    ] ================================================
[2026-10-20 17:01:48,172.172 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:01:48
[2026-10-20 17:01:48,834.834 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:01:49,137.137 INFO    ] Initializing speech engine...
[2026-10-20 17:01:49,144.144 INFO    ] 2026-10-20 17:01:49
[2026-10-20 17:01:49,429.429 INFO    ] 2026-10-20 17:01:49
[2026-10-20 17:01:49,474.474 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:01:49,794.794 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:01:49,828.828 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:01:50,007.007 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:01:50,017.017 INFO    ] time= 20/10/2026 17:01:50
[2026-10-20 17:01:50,054.054 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:01:50,116.116 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:01:50,266.266 INFO    ] No existing commands found in stream
[2026-10-20 17:01:55,292.292 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:01:55,295.295 INFO    ] Waiting 2.09 seconds before fallback handling...
[2026-10-20 17:01:57,894.894 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:01:57,897.897 INFO    ] Checking for system updates...
[2026-10-20 17:01:57,934.934 INFO    ] 200
[2026-10-20 17:01:57,937.937 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:01:57,990.990 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:01:57,993.993 INFO    ] No update needed
[2026-10-20 17:01:57,995.995 INFO    ] Checking for camera pi updates...
[2026-10-20 17:01:58,029.029 INFO    ] 200
[2026-10-20 17:01:58,032.032 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:01:58,073.073 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:01:58,107.107 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:01:58,110.110 INFO    ] No camera update needed
[2026-10-20 17:01:58,112.112 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:01:58,115.115 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:01:58,121.121 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:01:58,127.127 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:02:00,169.169 INFO    ] ================================================
[2026-10-20 17:02:00,184.184 INFO    ] Launching Daemon at Tue Oct 20 17:02:00 IST 2026
[2026-10-20 17:02:00,195.195 INFO    ] ================================================
[2026-10-20 17:02:00,761.761 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:02:00
[2026-10-20 17:02:01,451.451 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:02:01,743.743 INFO    ] Initializing speech engine...
[2026-10-20 17:02:01,752.752 INFO    ] 2026-10-20 17:02:01
[2026-10-20 17:02:02,075.075 INFO    ] 2026-10-20 17:02:02
[2026-10-20 17:02:02,118.118 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:02:02,338.338 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:02:02,346.346 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:02:02,533.533 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:02:02,578.578 INFO    ] time= 20/10/2026 17:02:02
[2026-10-20 17:02:02,590.590 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:02:02,650.650 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:02:02,759.759 INFO    ] No existing commands found in stream
[2026-10-20 17:02:07,788.788 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:02:07,791.791 INFO    ] Waiting 0.96 seconds before fallback handling...
[2026-10-20 17:02:09,281.281 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:02:09,284.284 INFO    ] Checking for system updates...
[2026-10-20 17:02:09,319.319 INFO    ] 200
[2026-10-20 17:02:09,322.322 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:02:09,383.383 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:02:09,386.386 INFO    ] No update needed
[2026-10-20 17:02:09,388.388 INFO    ] Checking for camera pi updates...
[2026-10-20 17:02:09,421.421 INFO    ] 200
[2026-10-20 17:02:09,424.424 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:02:09,469.469 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:02:09,517.517 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:02:09,519.519 INFO    ] No camera update needed
[2026-10-20 17:02:09,522.522 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:02:09,524.524 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:02:09,529.529 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:02:09,534.534 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:02:11,575.575 INFO    ] ================================================
[2026-10-20 17:02:11,591.591 INFO    ] Launching Daemon at Tue Oct 20 17:02:11 IST 2026
[2026-10-20 17:02:11,602.602 INFO    ] ================================================
[2026-10-20 17:02:12,242.242 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:02:12
[2026-10-20 17:02:12,905.905 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:02:13,204.204 INFO    ] Initializing speech engine...
[2026-10-20 17:02:13,219.219 INFO    ] 2026-10-20 17:02:13
[2026-10-20 17:02:13,495.495 INFO    ] 2026-10-20 17:02:13
[2026-10-20 17:02:13,541.541 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:02:13,766.766 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:02:13,787.787 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:02:14,006.006 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:02:14,031.031 INFO    ] time= 20/10/2026 17:02:14
[2026-10-20 17:02:14,047.047 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:02:14,056.056 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:02:14,183.183 INFO    ] No existing commands found in stream
[2026-10-20 17:02:19,201.201 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:02:19,204.204 INFO    ] Waiting 2.29 seconds before fallback handling...
[2026-10-20 17:02:22,082.082 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:02:22,084.084 INFO    ] Checking for system updates...
[2026-10-20 17:02:22,124.124 INFO    ] 200
[2026-10-20 17:02:22,127.127 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:02:22,185.185 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:02:22,188.188 INFO    ] No update needed
[2026-10-20 17:02:22,191.191 INFO    ] Checking for camera pi updates...
[2026-10-20 17:02:22,226.226 INFO    ] 200
[2026-10-20 17:02:22,229.229 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:02:22,270.270 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:02:22,326.326 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:02:22,329.329 INFO    ] No camera update needed
[2026-10-20 17:02:22,331.331 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:02:22,334.334 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:02:22,340.340 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:02:22,346.346 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:02:24,386.386 INFO    ] ================================================
[2026-10-20 17:02:24,402.402 INFO    ] Launching Daemon at Tue Oct 20 17:02:24 IST 2026
[2026-10-20 17:02:24,413.413 INFO    ] ================================================
[2026-10-20 17:02:24,978.978 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:02:24
[2026-10-20 17:02:25,564.564 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:02:25,821.821 INFO    ] Initializing speech engine...
[2026-10-20 17:02:25,826.826 INFO    ] 2026-10-20 17:02:25
[2026-10-20 17:02:26,116.116 INFO    ] 2026-10-20 17:02:26
[2026-10-20 17:02:26,154.154 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:02:26,379.379 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:02:26,433.433 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:02:26,602.602 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:02:26,623.623 INFO    ] time= 20/10/2026 17:02:26
[2026-10-20 17:02:26,678.678 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:02:26,727.727 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:02:26,879.879 INFO    ] No existing commands found in stream
[2026-10-20 17:02:31,897.897 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:02:31,900.900 INFO    ] Waiting 2.92 seconds before fallback handling...
[2026-10-20 17:02:35,322.322 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:02:35,325.325 INFO    ] Checking for system updates...
[2026-10-20 17:02:35,360.360 INFO    ] 200
[2026-10-20 17:02:35,362.362 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:02:35,419.419 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:02:35,422.422 INFO    ] No update needed
[2026-10-20 17:02:35,424.424 INFO    ] Checking for camera pi updates...
[2026-10-20 17:02:35,457.457 INFO    ] 200
[2026-10-20 17:02:35,459.459 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:02:35,500.500 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:02:35,545.545 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:02:35,547.547 INFO    ] No camera update needed
[2026-10-20 17:02:35,550.550 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:02:35,552.552 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:02:35,557.557 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:02:35,562.562 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:02:37,602.602 INFO    ] ================================================
[2026-10-20 17:02:37,618.618 INFO    ] Launching Daemon at Tue Oct 20 17:02:37 IST 2026
[2026-10-20 17:02:37,629.629 INFO    ] ================================================
[2026-10-20 17:02:38,212.212 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:02:38
[2026-10-20 17:02:38,824.824 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:02:39,123.123 INFO    ] Initializing speech engine...
[2026-10-20 17:02:39,130.130 INFO    ] 2026-10-20 17:02:39
[2026-10-20 17:02:39,400.400 INFO    ] 2026-10-20 17:02:39
[2026-10-20 17:02:39,437.437 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:02:39,654.654 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:02:39,679.679 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:02:39,878.878 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:02:39,925.925 INFO    ] time= 20/10/2026 17:02:39
[2026-10-20 17:02:39,980.980 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:02:40,014.014 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:02:40,153.153 INFO    ] No existing commands found in stream
[2026-10-20 17:02:45,174.174 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:02:45,177.177 INFO    ] Waiting 2.39 seconds before fallback handling...
[2026-10-20 17:02:48,079.079 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 17:02:48,081.081 INFO    ] Checking for system updates...
[2026-10-20 17:02:48,118.118 INFO    ] 200
[2026-10-20 17:02:48,120.120 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:02:48,177.177 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:02:48,180.180 INFO    ] No update needed
[2026-10-20 17:02:48,182.182 INFO    ] Checking for camera pi updates...
[2026-10-20 17:02:48,216.216 INFO    ] 200
[2026-10-20 17:02:48,219.219 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:02:48,261.261 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:02:48,307.307 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:02:48,309.309 INFO    ] No camera update needed
[2026-10-20 17:02:48,312.312 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:02:48,315.315 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:02:48,321.321 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:02:48,326.326 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:02:50,367.367 INFO    ] ================================================
[2026-10-20 17:02:50,383.383 INFO    ] Launching Daemon at Tue Oct 20 17:02:50 IST 2026
[2026-10-20 17:02:50,395.395 INFO    ] ================================================
[2026-10-20 17:02:50,972.972 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:02:50
[2026-10-20 17:02:51,571.571 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:02:51,819.819 INFO    ] Initializing speech engine...
[2026-10-20 17:02:51,843.843 INFO    ] 2026-10-20 17:02:51
[2026-10-20 17:02:52,100.100 INFO    ] 2026-10-20 17:02:52
[2026-10-20 17:02:52,135.135 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:02:52,333.333 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:02:52,374.374 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:02:52,569.569 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:02:52,633.633 INFO    ] time= 20/10/2026 17:02:52
[2026-10-20 17:02:52,661.661 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:02:52,667.667 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:02:52,795.795 INFO    ] No existing commands found in stream
[2026-10-20 17:02:57,805.805 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:02:57,807.807 INFO    ] Waiting 1.99 seconds before fallback handling...
[2026-10-20 17:03:00,278.278 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:03:00,281.281 INFO    ] Checking for system updates...
[2026-10-20 17:03:00,316.316 INFO    ] 200
[2026-10-20 17:03:00,318.318 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:03:00,372.372 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:03:00,374.374 INFO    ] No update needed
[2026-10-20 17:03:00,376.376 INFO    ] Checking for camera pi updates...
[2026-10-20 17:03:00,409.409 INFO    ] 200
[2026-10-20 17:03:00,412.412 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:03:00,453.453 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:03:00,497.497 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:03:00,500.500 INFO    ] No camera update needed
[2026-10-20 17:03:00,502.502 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:03:00,505.505 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:03:00,510.510 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:03:00,515.515 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:03:02,564.564 INFO    ] ================================================
[2026-10-20 17:03:02,580.580 INFO    ] Launching Daemon at Tue Oct 20 17:03:02 IST 2026
[2026-10-20 17:03:02,594.594 INFO    ] ================================================
[2026-10-20 17:03:03,221.221 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:03:03
[2026-10-20 17:03:03,825.825 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:03:04,103.103 INFO    ] Initializing speech engine...
[2026-10-20 17:03:04,108.108 INFO    ] 2026-10-20 17:03:04
[2026-10-20 17:03:04,358.358 INFO    ] 2026-10-20 17:03:04
[2026-10-20 17:03:04,392.392 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:03:04,592.592 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:03:04,614.614 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:03:04,799.799 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:03:04,849.849 INFO    ] time= 20/10/2026 17:03:04
[2026-10-20 17:03:04,904.904 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:03:04,934.934 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:03:05,064.064 INFO    ] No existing commands found in stream
[2026-10-20 17:03:10,092.092 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:03:10,094.094 INFO    ] Waiting 0.55 seconds before fallback handling...
[2026-10-20 17:03:11,152.152 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:03:11,155.155 INFO    ] Checking for system updates...
[2026-10-20 17:03:11,191.191 INFO    ] 200
[2026-10-20 17:03:11,193.193 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:03:11,249.249 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:03:11,251.251 INFO    ] No update needed
[2026-10-20 17:03:11,253.253 INFO    ] Checking for camera pi updates...
[2026-10-20 17:03:11,287.287 INFO    ] 200
[2026-10-20 17:03:11,289.289 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:03:11,329.329 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:03:11,373.373 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:03:11,375.375 INFO    ] No camera update needed
[2026-10-20 17:03:11,378.378 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:03:11,380.380 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:03:11,385.385 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:03:11,390.390 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:03:13,432.432 INFO    ] ================================================
[2026-10-20 17:03:13,448.448 INFO    ] Launching Daemon at Tue Oct 20 17:03:13 IST 2026
[2026-10-20 17:03:13,461.461 INFO    ] ================================================
[2026-10-20 17:03:14,074.074 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:03:14
[2026-10-20 17:03:14,686.686 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:03:15,008.008 INFO    ] Initializing speech engine...
[2026-10-20 17:03:15,014.014 INFO    ] 2026-10-20 17:03:15
[2026-10-20 17:03:15,299.299 INFO    ] 2026-10-20 17:03:15
[2026-10-20 17:03:15,336.336 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:03:15,551.551 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:03:15,558.558 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:03:15,756.756 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:03:15,773.773 INFO    ] time= 20/10/2026 17:03:15
[2026-10-20 17:03:15,785.785 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:03:15,788.788 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:03:15,938.938 INFO    ] No existing commands found in stream
[2026-10-20 17:03:20,958.958 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:03:20,961.961 INFO    ] Waiting 2.87 seconds before fallback handling...
[2026-10-20 17:03:24,360.360 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 17:03:24,363.363 INFO    ] Checking for system updates...
[2026-10-20 17:03:24,399.399 INFO    ] 200
[2026-10-20 17:03:24,401.401 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:03:24,453.453 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:03:24,455.455 INFO    ] No update needed
[2026-10-20 17:03:24,458.458 INFO    ] Checking for camera pi updates...
[2026-10-20 17:03:24,495.495 INFO    ] 200
[2026-10-20 17:03:24,498.498 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:03:24,537.537 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:03:24,583.583 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:03:24,586.586 INFO    ] No camera update needed
[2026-10-20 17:03:24,588.588 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:03:24,590.590 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:03:24,596.596 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:03:24,601.601 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:03:26,641.641 INFO    ] ================================================
[2026-10-20 17:03:26,656.656 INFO    ] Launching Daemon at Tue Oct 20 17:03:26 IST 2026
[2026-10-20 17:03:26,668.668 INFO    ] ================================================
[2026-10-20 17:03:27,338.338 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:03:27
[2026-10-20 17:03:28,052.052 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:03:28,366.366 INFO    ] Initializing speech engine...
[2026-10-20 17:03:28,378.378 INFO    ] 2026-10-20 17:03:28
[2026-10-20 17:03:28,663.663 INFO    ] 2026-10-20 17:03:28
[2026-10-20 17:03:28,710.710 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:03:28,946.946 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:03:28,953.953 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:03:29,184.184 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:03:29,224.224 INFO    ] time= 20/10/2026 17:03:29
[2026-10-20 17:03:29,243.243 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:03:29,275.275 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:03:29,454.454 INFO    ] No existing commands found in stream
[2026-10-20 17:03:34,481.481 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:03:34,485.485 INFO    ] Waiting 2.47 seconds before fallback handling...
[2026-10-20 17:03:37,545.545 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:03:37,548.548 INFO    ] Checking for system updates...
[2026-10-20 17:03:37,585.585 INFO    ] 200
[2026-10-20 17:03:37,588.588 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:03:37,640.640 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:03:37,642.642 INFO    ] No update needed
[2026-10-20 17:03:37,645.645 INFO    ] Checking for camera pi updates...
[2026-10-20 17:03:37,678.678 INFO    ] 200
[2026-10-20 17:03:37,680.680 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:03:37,722.722 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:03:37,771.771 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:03:37,774.774 INFO    ] No camera update needed
[2026-10-20 17:03:37,776.776 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:03:37,779.779 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:03:37,784.784 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:03:37,789.789 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:03:39,829.829 INFO    ] ================================================
[2026-10-20 17:03:39,845.845 INFO    ] Launching Daemon at Tue Oct 20 17:03:39 IST 2026
[2026-10-20 17:03:39,857.857 INFO    ] ================================================
[2026-10-20 17:03:40,442.442 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:03:40
[2026-10-20 17:03:41,046.046 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:03:41,324.324 INFO    ] Initializing speech engine...
[2026-10-20 17:03:41,332.332 INFO    ] 2026-10-20 17:03:41
[2026-10-20 17:03:41,590.590 INFO    ] 2026-10-20 17:03:41
[2026-10-20 17:03:41,642.642 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:03:41,870.870 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:03:41,875.875 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:03:42,009.009 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:03:42,069.069 INFO    ] time= 20/10/2026 17:03:42
[2026-10-20 17:03:42,123.123 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:03:42,143.143 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:03:42,290.290 INFO    ] No existing commands found in stream
[2026-10-20 17:03:47,312.312 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:03:47,315.315 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-10-20 17:03:51,286.286 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:03:51,289.289 INFO    ] Checking for system updates...
[2026-10-20 17:03:51,330.330 INFO    ] 200
[2026-10-20 17:03:51,332.332 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:03:51,386.386 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:03:51,388.388 INFO    ] No update needed
[2026-10-20 17:03:51,391.391 INFO    ] Checking for camera pi updates...
[2026-10-20 17:03:51,429.429 INFO    ] 200
[2026-10-20 17:03:51,432.432 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:03:51,472.472 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:03:51,620.620 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:03:51,622.622 INFO    ] No camera update needed
[2026-10-20 17:03:51,625.625 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:03:51,627.627 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:03:51,632.632 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:03:51,641.641 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:03:53,684.684 INFO    ] ================================================
[2026-10-20 17:03:53,700.700 INFO    ] Launching Daemon at Tue Oct 20 17:03:53 IST 2026
[2026-10-20 17:03:53,711.711 INFO    ] ================================================
[2026-10-20 17:03:54,293.293 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:03:54
[2026-10-20 17:03:54,893.893 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:03:55,170.170 INFO    ] Initializing speech engine...
[2026-10-20 17:03:55,175.175 INFO    ] 2026-10-20 17:03:55
[2026-10-20 17:03:55,436.436 INFO    ] 2026-10-20 17:03:55
[2026-10-20 17:03:55,467.467 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:03:55,711.711 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:03:55,721.721 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:03:55,860.860 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:03:55,920.920 INFO    ] time= 20/10/2026 17:03:55
[2026-10-20 17:03:55,969.969 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:03:55,986.986 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:03:56,131.131 INFO    ] No existing commands found in stream
[2026-10-20 17:04:01,144.144 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:04:01,152.152 INFO    ] Waiting 2.22 seconds before fallback handling...
[2026-10-20 17:04:03,846.846 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 17:04:03,848.848 INFO    ] Checking for system updates...
[2026-10-20 17:04:03,884.884 INFO    ] 200
[2026-10-20 17:04:03,887.887 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:04:03,940.940 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:04:03,942.942 INFO    ] No update needed
[2026-10-20 17:04:03,945.945 INFO    ] Checking for camera pi updates...
[2026-10-20 17:04:03,979.979 INFO    ] 200
[2026-10-20 17:04:03,982.982 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:04:04,022.022 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:04:04,066.066 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:04:04,069.069 INFO    ] No camera update needed
[2026-10-20 17:04:04,071.071 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:04:04,074.074 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:04:04,079.079 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:04:04,084.084 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:04:06,125.125 INFO    ] ================================================
[2026-10-20 17:04:06,140.140 INFO    ] Launching Daemon at Tue Oct 20 17:04:06 IST 2026
[2026-10-20 17:04:06,150.150 INFO    ] ================================================
[2026-10-20 17:04:06,759.759 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:04:06
[2026-10-20 17:04:07,443.443 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:04:07,761.761 INFO    ] Initializing speech engine...
[2026-10-20 17:04:07,769.769 INFO    ] 2026-10-20 17:04:07
[2026-10-20 17:04:08,053.053 INFO    ] 2026-10-20 17:04:08
[2026-10-20 17:04:08,163.163 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:04:08,441.441 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:04:08,463.463 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:04:08,628.628 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:04:08,636.636 INFO    ] time= 20/10/2026 17:04:08
[2026-10-20 17:04:08,666.666 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:04:08,729.729 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:04:08,843.843 INFO    ] No existing commands found in stream
[2026-10-20 17:04:13,874.874 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:04:13,877.877 INFO    ] Waiting 3.30 seconds before fallback handling...
[2026-10-20 17:04:17,712.712 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:04:17,715.715 INFO    ] Checking for system updates...
[2026-10-20 17:04:17,752.752 INFO    ] 200
[2026-10-20 17:04:17,754.754 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:04:17,806.806 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:04:17,809.809 INFO    ] No update needed
[2026-10-20 17:04:17,811.811 INFO    ] Checking for camera pi updates...
[2026-10-20 17:04:17,844.844 INFO    ] 200
[2026-10-20 17:04:17,847.847 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:04:17,887.887 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:04:17,933.933 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:04:17,935.935 INFO    ] No camera update needed
[2026-10-20 17:04:17,937.937 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:04:17,940.940 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:04:17,945.945 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:04:17,950.950 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:04:19,989.989 INFO    ] ================================================
[2026-10-20 17:04:20,004.004 INFO    ] Launching Daemon at Tue Oct 20 17:04:19 IST 2026
[2026-10-20 17:04:20,015.015 INFO    ] ================================================
[2026-10-20 17:04:20,583.583 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:04:20
[2026-10-20 17:04:21,180.180 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:04:21,432.432 INFO    ] Initializing speech engine...
[2026-10-20 17:04:21,444.444 INFO    ] 2026-10-20 17:04:21
[2026-10-20 17:04:21,712.712 INFO    ] 2026-10-20 17:04:21
[2026-10-20 17:04:21,747.747 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:04:22,006.006 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:04:22,014.014 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:04:22,251.251 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:04:22,281.281 INFO    ] time= 20/10/2026 17:04:22
[2026-10-20 17:04:22,287.287 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:04:22,303.303 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:04:22,436.436 INFO    ] No existing commands found in stream
[2026-10-20 17:04:27,451.451 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:04:27,454.454 INFO    ] Waiting 2.73 seconds before fallback handling...
[2026-10-20 17:04:30,690.690 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:04:30,692.692 INFO    ] Checking for system updates...
[2026-10-20 17:04:30,728.728 INFO    ] 200
[2026-10-20 17:04:30,731.731 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:04:30,784.784 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:04:30,786.786 INFO    ] No update needed
[2026-10-20 17:04:30,789.789 INFO    ] Checking for camera pi updates...
[2026-10-20 17:04:30,823.823 INFO    ] 200
[2026-10-20 17:04:30,825.825 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:04:30,866.866 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:04:30,912.912 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:04:30,915.915 INFO    ] No camera update needed
[2026-10-20 17:04:30,917.917 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:04:30,919.919 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:04:30,925.925 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:04:30,930.930 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:04:32,969.969 INFO    ] ================================================
[2026-10-20 17:04:32,984.984 INFO    ] Launching Daemon at Tue Oct 20 17:04:32 IST 2026
[2026-10-20 17:04:33,995.995 INFO    ] ================================================
[2026-10-20 17:04:33,656.656 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:04:33
[2026-10-20 17:04:34,338.338 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:04:34,645.645 INFO    ] Initializing speech engine...
[2026-10-20 17:04:34,653.653 INFO    ] 2026-10-20 17:04:34
[2026-10-20 17:04:34,941.941 INFO    ] 2026-10-20 17:04:34
[2026-10-20 17:04:34,988.988 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:04:35,245.245 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:04:35,251.251 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:04:35,488.488 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:04:35,495.495 INFO    ] time= 20/10/2026 17:04:35
[2026-10-20 17:04:35,515.515 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:04:35,542.542 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:04:35,660.660 INFO    ] No existing commands found in stream
[2026-10-20 17:04:40,690.690 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:04:40,693.693 INFO    ] Waiting 3.01 seconds before fallback handling...
[2026-10-20 17:04:44,232.232 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 17:04:44,235.235 INFO    ] Checking for system updates...
[2026-10-20 17:04:44,276.276 INFO    ] 200
[2026-10-20 17:04:44,279.279 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:04:44,340.340 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:04:44,344.344 INFO    ] No update needed
[2026-10-20 17:04:44,346.346 INFO    ] Checking for camera pi updates...
[2026-10-20 17:04:44,381.381 INFO    ] 200
[2026-10-20 17:04:44,383.383 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:04:44,425.425 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:04:44,474.474 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:04:44,477.477 INFO    ] No camera update needed
[2026-10-20 17:04:44,480.480 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:04:44,482.482 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:04:44,489.489 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:04:44,495.495 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:04:46,534.534 INFO    ] ================================================
[2026-10-20 17:04:46,549.549 INFO    ] Launching Daemon at Tue Oct 20 17:04:46 IST 2026
[2026-10-20 17:04:46,559.559 INFO    ] ================================================
[2026-10-20 17:04:47,211.211 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:04:47
[2026-10-20 17:04:47,885.885 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:04:48,186.186 INFO    ] Initializing speech engine...
[2026-10-20 17:04:48,201.201 INFO    ] 2026-10-20 17:04:48
[2026-10-20 17:04:48,481.481 INFO    ] 2026-10-20 17:04:48
[2026-10-20 17:04:48,526.526 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:04:48,810.810 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:04:48,820.820 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:04:49,010.010 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:04:49,027.027 INFO    ] time= 20/10/2026 17:04:49
[2026-10-20 17:04:49,036.036 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:04:49,062.062 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:04:49,189.189 INFO    ] No existing commands found in stream
[2026-10-20 17:04:54,214.214 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:04:54,217.217 INFO    ] Waiting 3.60 seconds before fallback handling...
[2026-10-20 17:04:58,356.356 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:04:58,359.359 INFO    ] Checking for system updates...
[2026-10-20 17:04:58,396.396 INFO    ] 200
[2026-10-20 17:04:58,398.398 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:04:58,463.463 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:04:58,466.466 INFO    ] No update needed
[2026-10-20 17:04:58,468.468 INFO    ] Checking for camera pi updates...
[2026-10-20 17:04:58,502.502 INFO    ] 200
[2026-10-20 17:04:58,505.505 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:04:58,549.549 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:04:58,596.596 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:04:58,598.598 INFO    ] No camera update needed
[2026-10-20 17:04:58,601.601 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:04:58,603.603 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:04:58,609.609 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:04:58,614.614 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:05:00,653.653 INFO    ] ================================================
[2026-10-20 17:05:00,668.668 INFO    ] Launching Daemon at Tue Oct 20 17:05:00 IST 2026
[2026-10-20 17:05:00,678.678 INFO    ] ================================================
[2026-10-20 17:05:01,496.496 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:05:01
[2026-10-20 17:05:02,269.269 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:05:02,610.610 INFO    ] Initializing speech engine...
[2026-10-20 17:05:02,617.617 INFO    ] 2026-10-20 17:05:02
[2026-10-20 17:05:02,975.975 INFO    ] 2026-10-20 17:05:02
[2026-10-20 17:05:03,023.023 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:05:03,249.249 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:05:03,297.297 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:05:03,470.470 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:05:03,525.525 INFO    ] time= 20/10/2026 17:05:03
[2026-10-20 17:05:03,569.569 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:05:03,592.592 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:05:03,723.723 INFO    ] No existing commands found in stream
[2026-10-20 17:05:08,748.748 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:05:08,751.751 INFO    ] Waiting 3.49 seconds before fallback handling...
[2026-10-20 17:05:12,778.778 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:05:12,780.780 INFO    ] Checking for system updates...
[2026-10-20 17:05:12,816.816 INFO    ] 200
[2026-10-20 17:05:12,818.818 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:05:12,871.871 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:05:12,873.873 INFO    ] No update needed
[2026-10-20 17:05:12,876.876 INFO    ] Checking for camera pi updates...
[2026-10-20 17:05:12,909.909 INFO    ] 200
[2026-10-20 17:05:12,911.911 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:05:12,951.951 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:05:13,002.002 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:05:13,005.005 INFO    ] No camera update needed
[2026-10-20 17:05:13,007.007 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:05:13,009.009 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:05:13,014.014 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:05:13,019.019 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:05:15,060.060 INFO    ] ================================================
[2026-10-20 17:05:15,075.075 INFO    ] Launching Daemon at Tue Oct 20 17:05:15 IST 2026
[2026-10-20 17:05:15,086.086 INFO    ] ================================================
[2026-10-20 17:05:15,723.723 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:05:15
[2026-10-20 17:05:16,380.380 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:05:16,675.675 INFO    ] Initializing speech engine...
[2026-10-20 17:05:16,685.685 INFO    ] 2026-10-20 17:05:16
[2026-10-20 17:05:16,956.956 INFO    ] 2026-10-20 17:05:16
[2026-10-20 17:05:17,014.014 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:05:17,295.295 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:05:17,304.304 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:05:17,500.500 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:05:17,507.507 INFO    ] time= 20/10/2026 17:05:17
[2026-10-20 17:05:17,529.529 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:05:17,557.557 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:05:17,682.682 INFO    ] No existing commands found in stream
[2026-10-20 17:05:22,713.713 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:05:22,716.716 INFO    ] Waiting 2.85 seconds before fallback handling...
[2026-10-20 17:05:26,051.051 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 17:05:26,054.054 INFO    ] Checking for system updates...
[2026-10-20 17:05:26,090.090 INFO    ] 200
[2026-10-20 17:05:26,093.093 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:05:26,146.146 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:05:26,149.149 INFO    ] No update needed
[2026-10-20 17:05:26,151.151 INFO    ] Checking for camera pi updates...
[2026-10-20 17:05:26,189.189 INFO    ] 200
[2026-10-20 17:05:26,192.192 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:05:26,232.232 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:05:26,295.295 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:05:26,297.297 INFO    ] No camera update needed
[2026-10-20 17:05:26,300.300 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:05:26,303.303 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:05:26,309.309 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:05:26,315.315 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:05:28,355.355 INFO    ] ================================================
[2026-10-20 17:05:28,371.371 INFO    ] Launching Daemon at Tue Oct 20 17:05:28 IST 2026
[2026-10-20 17:05:28,381.381 INFO    ] ================================================
[2026-10-20 17:05:29,005.005 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:05:29
[2026-10-20 17:05:29,670.670 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:05:29,970.970 INFO    ] Initializing speech engine...
[2026-10-20 17:05:29,978.978 INFO    ] 2026-10-20 17:05:29
[2026-10-20 17:05:30,261.261 INFO    ] 2026-10-20 17:05:30
[2026-10-20 17:05:30,306.306 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:05:30,590.590 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:05:30,597.597 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:05:30,790.790 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:05:30,797.797 INFO    ] time= 20/10/2026 17:05:30
[2026-10-20 17:05:30,816.816 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:05:30,844.844 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:05:30,952.952 INFO    ] No existing commands found in stream
[2026-10-20 17:05:35,987.987 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:05:35,990.990 INFO    ] Waiting 3.06 seconds before fallback handling...
[2026-10-20 17:05:39,588.588 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:05:39,591.591 INFO    ] Checking for system updates...
[2026-10-20 17:05:39,632.632 INFO    ] 200
[2026-10-20 17:05:39,635.635 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:05:39,689.689 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:05:39,692.692 INFO    ] No update needed
[2026-10-20 17:05:39,695.695 INFO    ] Checking for camera pi updates...
[2026-10-20 17:05:39,729.729 INFO    ] 200
[2026-10-20 17:05:39,732.732 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:05:39,774.774 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:05:39,820.820 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:05:39,823.823 INFO    ] No camera update needed
[2026-10-20 17:05:39,826.826 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:05:39,828.828 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:05:39,835.835 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:05:39,840.840 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:05:41,882.882 INFO    ] ================================================
[2026-10-20 17:05:41,897.897 INFO    ] Launching Daemon at Tue Oct 20 17:05:41 IST 2026
[2026-10-20 17:05:41,907.907 INFO    ] ================================================
[2026-10-20 17:05:42,474.474 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:05:42
[2026-10-20 17:05:43,058.058 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:05:43,313.313 INFO    ] Initializing speech engine...
[2026-10-20 17:05:43,322.322 INFO    ] 2026-10-20 17:05:43
[2026-10-20 17:05:43,615.615 INFO    ] 2026-10-20 17:05:43
[2026-10-20 17:05:43,667.667 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:05:43,946.946 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:05:43,955.955 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:05:44,107.107 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:05:44,129.129 INFO    ] time= 20/10/2026 17:05:44
[2026-10-20 17:05:44,183.183 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:05:44,222.222 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:05:44,391.391 INFO    ] No existing commands found in stream
[2026-10-20 17:05:49,413.413 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:05:49,416.416 INFO    ] Waiting 3.39 seconds before fallback handling...
[2026-10-20 17:05:53,328.328 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:05:53,331.331 INFO    ] Checking for system updates...
[2026-10-20 17:05:53,370.370 INFO    ] 200
[2026-10-20 17:05:53,372.372 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:05:53,423.423 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:05:53,426.426 INFO    ] No update needed
[2026-10-20 17:05:53,428.428 INFO    ] Checking for camera pi updates...
[2026-10-20 17:05:53,461.461 INFO    ] 200
[2026-10-20 17:05:53,463.463 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:05:53,502.502 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:05:53,541.541 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:05:53,544.544 INFO    ] No camera update needed
[2026-10-20 17:05:53,546.546 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:05:53,548.548 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:05:53,554.554 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:05:53,559.559 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:05:55,599.599 INFO    ] ================================================
[2026-10-20 17:05:55,614.614 INFO    ] Launching Daemon at Tue Oct 20 17:05:55 IST 2026
[2026-10-20 17:05:55,624.624 INFO    ] ================================================
[2026-10-20 17:05:56,274.274 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:05:56
[2026-10-20 17:05:56,945.945 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:05:57,259.259 INFO    ] Initializing speech engine...
[2026-10-20 17:05:57,264.264 INFO    ] 2026-10-20 17:05:57
[2026-10-20 17:05:57,541.541 INFO    ] 2026-10-20 17:05:57
[2026-10-20 17:05:57,587.587 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:05:57,813.813 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:05:57,819.819 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:05:58,048.048 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:05:58,076.076 INFO    ] time= 20/10/2026 17:05:58
[2026-10-20 17:05:58,098.098 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:05:58,127.127 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:05:58,248.248 INFO    ] No existing commands found in stream
[2026-10-20 17:06:03,280.280 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:06:03,284.284 INFO    ] Waiting 1.36 seconds before fallback handling...
[2026-10-20 17:06:05,178.178 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:06:05,181.181 INFO    ] Checking for system updates...
[2026-10-20 17:06:05,217.217 INFO    ] 200
[2026-10-20 17:06:05,220.220 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:06:05,273.273 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:06:05,276.276 INFO    ] No update needed
[2026-10-20 17:06:05,279.279 INFO    ] Checking for camera pi updates...
[2026-10-20 17:06:05,313.313 INFO    ] 200
[2026-10-20 17:06:05,316.316 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:06:05,357.357 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:06:05,410.410 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:06:05,413.413 INFO    ] No camera update needed
[2026-10-20 17:06:05,415.415 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:06:05,418.418 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:06:05,424.424 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:06:05,430.430 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:06:07,471.471 INFO    ] ================================================
[2026-10-20 17:06:07,486.486 INFO    ] Launching Daemon at Tue Oct 20 17:06:07 IST 2026
[2026-10-20 17:06:07,497.497 INFO    ] ================================================
[2026-10-20 17:06:08,068.068 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:06:08
[2026-10-20 17:06:08,657.657 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:06:08,927.927 INFO    ] Initializing speech engine...
[2026-10-20 17:06:08,944.944 INFO    ] 2026-10-20 17:06:08
[2026-10-20 17:06:09,210.210 INFO    ] 2026-10-20 17:06:09
[2026-10-20 17:06:09,247.247 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:06:09,465.465 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:06:09,473.473 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:06:09,686.686 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:06:09,694.694 INFO    ] time= 20/10/2026 17:06:09
[2026-10-20 17:06:09,733.733 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:06:09,782.782 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:06:09,891.891 INFO    ] No existing commands found in stream
[2026-10-20 17:06:14,904.904 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:06:14,906.906 INFO    ] Waiting 0.63 seconds before fallback handling...
[2026-10-20 17:06:16,024.024 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:06:16,026.026 INFO    ] Checking for system updates...
[2026-10-20 17:06:16,062.062 INFO    ] 200
[2026-10-20 17:06:16,065.065 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:06:16,118.118 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:06:16,121.121 INFO    ] No update needed
[2026-10-20 17:06:16,123.123 INFO    ] Checking for camera pi updates...
[2026-10-20 17:06:16,157.157 INFO    ] 200
[2026-10-20 17:06:16,159.159 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:06:16,200.200 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:06:16,257.257 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:06:16,260.260 INFO    ] No camera update needed
[2026-10-20 17:06:16,262.262 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:06:16,264.264 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:06:16,270.270 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:06:16,275.275 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:06:18,321.321 INFO    ] ================================================
[2026-10-20 17:06:18,337.337 INFO    ] Launching Daemon at Tue Oct 20 17:06:18 IST 2026
[2026-10-20 17:06:18,348.348 INFO    ] ================================================
[2026-10-20 17:06:18,917.917 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:06:18
[2026-10-20 17:06:19,503.503 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:06:19,762.762 INFO    ] Initializing speech engine...
[2026-10-20 17:06:19,783.783 INFO    ] 2026-10-20 17:06:19
[2026-10-20 17:06:20,054.054 INFO    ] 2026-10-20 17:06:20
[2026-10-20 17:06:20,088.088 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:06:20,283.283 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:06:20,298.298 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:06:20,456.456 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:06:20,464.464 INFO    ] time= 20/10/2026 17:06:20
[2026-10-20 17:06:20,471.471 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:06:20,477.477 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:06:20,625.625 INFO    ] No existing commands found in stream
[2026-10-20 17:06:25,655.655 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:06:25,658.658 INFO    ] Waiting 3.35 seconds before fallback handling...
[2026-10-20 17:06:29,894.894 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:06:29,896.896 INFO    ] Checking for system updates...
[2026-10-20 17:06:29,932.932 INFO    ] 200
[2026-10-20 17:06:29,934.934 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:06:29,988.988 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:06:29,991.991 INFO    ] No update needed
[2026-10-20 17:06:29,993.993 INFO    ] Checking for camera pi updates...
[2026-10-20 17:06:30,026.026 INFO    ] 200
[2026-10-20 17:06:30,029.029 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:06:30,069.069 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:06:30,119.119 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:06:30,122.122 INFO    ] No camera update needed
[2026-10-20 17:06:30,124.124 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:06:30,126.126 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:06:30,132.132 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:06:30,136.136 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:06:32,178.178 INFO    ] ================================================
[2026-10-20 17:06:32,195.195 INFO    ] Launching Daemon at Tue Oct 20 17:06:32 IST 2026
[2026-10-20 17:06:32,208.208 INFO    ] ================================================
[2026-10-20 17:06:32,825.825 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:06:32
[2026-10-20 17:06:33,455.455 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:06:33,716.716 INFO    ] Initializing speech engine...
[2026-10-20 17:06:33,741.741 INFO    ] 2026-10-20 17:06:33
[2026-10-20 17:06:34,014.014 INFO    ] 2026-10-20 17:06:33
[2026-10-20 17:06:34,051.051 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:06:34,246.246 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:06:34,260.260 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:06:34,487.487 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:06:34,503.503 INFO    ] time= 20/10/2026 17:06:34
[2026-10-20 17:06:34,568.568 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:06:34,622.622 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:06:34,779.779 INFO    ] No existing commands found in stream
[2026-10-20 17:06:39,806.806 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:06:39,809.809 INFO    ] Waiting 2.14 seconds before fallback handling...
[2026-10-20 17:06:42,465.465 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 17:06:42,468.468 INFO    ] Checking for system updates...
[2026-10-20 17:06:42,504.504 INFO    ] 200
[2026-10-20 17:06:42,506.506 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:06:42,562.562 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:06:42,564.564 INFO    ] No update needed
[2026-10-20 17:06:42,567.567 INFO    ] Checking for camera pi updates...
[2026-10-20 17:06:42,600.600 INFO    ] 200
[2026-10-20 17:06:42,603.603 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:06:42,646.646 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:06:42,700.700 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:06:42,702.702 INFO    ] No camera update needed
[2026-10-20 17:06:42,705.705 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:06:42,707.707 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:06:42,712.712 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:06:42,717.717 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:06:44,758.758 INFO    ] ================================================
[2026-10-20 17:06:44,773.773 INFO    ] Launching Daemon at Tue Oct 20 17:06:44 IST 2026
[2026-10-20 17:06:44,783.783 INFO    ] ================================================
[2026-10-20 17:06:45,377.377 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:06:45
[2026-10-20 17:06:45,968.968 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:06:46,228.228 INFO    ] Initializing speech engine...
[2026-10-20 17:06:46,253.253 INFO    ] 2026-10-20 17:06:46
[2026-10-20 17:06:46,520.520 INFO    ] 2026-10-20 17:06:46
[2026-10-20 17:06:46,557.557 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:06:46,774.774 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:06:46,802.802 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:06:46,998.998 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:06:47,020.020 INFO    ] time= 20/10/2026 17:06:46
[2026-10-20 17:06:47,069.069 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:06:47,113.113 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:06:47,271.271 INFO    ] No existing commands found in stream
[2026-10-20 17:06:52,299.299 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:06:52,302.302 INFO    ] Waiting 1.14 seconds before fallback handling...
[2026-10-20 17:06:53,910.910 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:06:53,913.913 INFO    ] Checking for system updates...
[2026-10-20 17:06:53,962.962 INFO    ] 200
[2026-10-20 17:06:53,965.965 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:06:54,021.021 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:06:54,023.023 INFO    ] No update needed
[2026-10-20 17:06:54,026.026 INFO    ] Checking for camera pi updates...
[2026-10-20 17:06:54,059.059 INFO    ] 200
[2026-10-20 17:06:54,062.062 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:06:54,109.109 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:06:54,154.154 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:06:54,156.156 INFO    ] No camera update needed
[2026-10-20 17:06:54,159.159 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:06:54,161.161 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:06:54,166.166 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:06:54,171.171 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:06:56,211.211 INFO    ] ================================================
[2026-10-20 17:06:56,226.226 INFO    ] Launching Daemon at Tue Oct 20 17:06:56 IST 2026
[2026-10-20 17:06:56,237.237 INFO    ] ================================================
[2026-10-20 17:06:56,801.801 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:06:56
[2026-10-20 17:06:57,383.383 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:06:57,641.641 INFO    ] Initializing speech engine...
[2026-10-20 17:06:57,655.655 INFO    ] 2026-10-20 17:06:57
[2026-10-20 17:06:57,932.932 INFO    ] 2026-10-20 17:06:57
[2026-10-20 17:06:57,967.967 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:06:58,183.183 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:06:58,242.242 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:06:58,405.405 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:06:58,422.422 INFO    ] time= 20/10/2026 17:06:58
[2026-10-20 17:06:58,476.476 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:06:58,531.531 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:06:58,683.683 INFO    ] No existing commands found in stream
[2026-10-20 17:07:03,708.708 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:07:03,711.711 INFO    ] Waiting 2.51 seconds before fallback handling...
[2026-10-20 17:07:06,784.784 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:07:06,787.787 INFO    ] Checking for system updates...
[2026-10-20 17:07:06,822.822 INFO    ] 200
[2026-10-20 17:07:06,824.824 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:07:06,876.876 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:07:06,878.878 INFO    ] No update needed
[2026-10-20 17:07:06,881.881 INFO    ] Checking for camera pi updates...
[2026-10-20 17:07:06,914.914 INFO    ] 200
[2026-10-20 17:07:06,916.916 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:07:06,956.956 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:07:07,002.002 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:07:07,005.005 INFO    ] No camera update needed
[2026-10-20 17:07:07,007.007 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:07:07,010.010 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:07:07,016.016 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:07:07,021.021 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:07:09,062.062 INFO    ] ================================================
[2026-10-20 17:07:09,077.077 INFO    ] Launching Daemon at Tue Oct 20 17:07:09 IST 2026
[2026-10-20 17:07:09,088.088 INFO    ] ================================================
[2026-10-20 17:07:09,726.726 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:07:09
[2026-10-20 17:07:10,385.385 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:07:10,689.689 INFO    ] Initializing speech engine...
[2026-10-20 17:07:10,700.700 INFO    ] 2026-10-20 17:07:10
[2026-10-20 17:07:11,008.008 INFO    ] 2026-10-20 17:07:10
[2026-10-20 17:07:11,091.091 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:07:11,304.304 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:07:11,314.314 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:07:11,511.511 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:07:11,518.518 INFO    ] time= 20/10/2026 17:07:11
[2026-10-20 17:07:11,537.537 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:07:11,604.604 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:07:11,743.743 INFO    ] No existing commands found in stream
[2026-10-20 17:07:16,781.781 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:07:16,784.784 INFO    ] Waiting 0.56 seconds before fallback handling...
[2026-10-20 17:07:17,881.881 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:07:17,884.884 INFO    ] Checking for system updates...
[2026-10-20 17:07:17,921.921 INFO    ] 200
[2026-10-20 17:07:17,924.924 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:07:17,978.978 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:07:17,980.980 INFO    ] No update needed
[2026-10-20 17:07:17,983.983 INFO    ] Checking for camera pi updates...
[2026-10-20 17:07:18,017.017 INFO    ] 200
[2026-10-20 17:07:18,019.019 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:07:18,067.067 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:07:18,112.112 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:07:18,114.114 INFO    ] No camera update needed
[2026-10-20 17:07:18,116.116 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:07:18,119.119 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:07:18,124.124 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:07:18,129.129 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:07:20,168.168 INFO    ] ================================================
[2026-10-20 17:07:20,184.184 INFO    ] Launching Daemon at Tue Oct 20 17:07:20 IST 2026
[2026-10-20 17:07:20,194.194 INFO    ] ================================================
[2026-10-20 17:07:20,776.776 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:07:20
[2026-10-20 17:07:21,375.375 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:07:21,653.653 INFO    ] Initializing speech engine...
[2026-10-20 17:07:21,659.659 INFO    ] 2026-10-20 17:07:21
[2026-10-20 17:07:21,919.919 INFO    ] 2026-10-20 17:07:21
[2026-10-20 17:07:21,949.949 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:07:22,193.193 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:07:22,202.202 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:07:22,406.406 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:07:22,461.461 INFO    ] time= 20/10/2026 17:07:22
[2026-10-20 17:07:22,467.467 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:07:22,485.485 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:07:22,617.617 INFO    ] No existing commands found in stream
[2026-10-20 17:07:27,636.636 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:07:27,639.639 INFO    ] Waiting 2.89 seconds before fallback handling...
[2026-10-20 17:07:31,047.047 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:07:31,049.049 INFO    ] Checking for system updates...
[2026-10-20 17:07:31,087.087 INFO    ] 200
[2026-10-20 17:07:31,090.090 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:07:31,142.142 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:07:31,144.144 INFO    ] No update needed
[2026-10-20 17:07:31,147.147 INFO    ] Checking for camera pi updates...
[2026-10-20 17:07:31,184.184 INFO    ] 200
[2026-10-20 17:07:31,186.186 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:07:31,226.226 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:07:31,281.281 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:07:31,283.283 INFO    ] No camera update needed
[2026-10-20 17:07:31,286.286 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:07:31,288.288 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:07:31,293.293 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:07:31,299.299 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:07:33,341.341 INFO    ] ================================================
[2026-10-20 17:07:33,356.356 INFO    ] Launching Daemon at Tue Oct 20 17:07:33 IST 2026
[2026-10-20 17:07:33,367.367 INFO    ] ================================================
[2026-10-20 17:07:33,949.949 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:07:33
[2026-10-20 17:07:34,548.548 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:07:34,808.808 INFO    ] Initializing speech engine...
[2026-10-20 17:07:34,817.817 INFO    ] 2026-10-20 17:07:34
[2026-10-20 17:07:35,109.109 INFO    ] 2026-10-20 17:07:35
[2026-10-20 17:07:35,146.146 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:07:35,345.345 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:07:35,403.403 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:07:35,565.565 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:07:35,631.631 INFO    ] time= 20/10/2026 17:07:35
[2026-10-20 17:07:35,681.681 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:07:35,693.693 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:07:35,839.839 INFO    ] No existing commands found in stream
[2026-10-20 17:07:40,851.851 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:07:40,854.854 INFO    ] Waiting 0.17 seconds before fallback handling...
[2026-10-20 17:07:41,513.513 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 17:07:41,516.516 INFO    ] Checking for system updates...
[2026-10-20 17:07:41,551.551 INFO    ] 200
[2026-10-20 17:07:41,554.554 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:07:41,605.605 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:07:41,608.608 INFO    ] No update needed
[2026-10-20 17:07:41,610.610 INFO    ] Checking for camera pi updates...
[2026-10-20 17:07:41,644.644 INFO    ] 200
[2026-10-20 17:07:41,646.646 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:07:41,686.686 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:07:41,729.729 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:07:41,731.731 INFO    ] No camera update needed
[2026-10-20 17:07:41,734.734 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:07:41,736.736 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:07:41,741.741 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:07:41,746.746 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:07:43,785.785 INFO    ] ================================================
[2026-10-20 17:07:43,801.801 INFO    ] Launching Daemon at Tue Oct 20 17:07:43 IST 2026
[2026-10-20 17:07:43,811.811 INFO    ] ================================================
[2026-10-20 17:07:44,407.407 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:07:44
[2026-10-20 17:07:44,990.990 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:07:45,242.242 INFO    ] Initializing speech engine...
[2026-10-20 17:07:45,264.264 INFO    ] 2026-10-20 17:07:45
[2026-10-20 17:07:45,520.520 INFO    ] 2026-10-20 17:07:45
[2026-10-20 17:07:45,555.555 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:07:45,812.812 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:07:45,822.822 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:07:45,956.956 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:07:45,993.993 INFO    ] time= 20/10/2026 17:07:45
[2026-10-20 17:07:46,042.042 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:07:46,092.092 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:07:46,229.229 INFO    ] No existing commands found in stream
[2026-10-20 17:07:51,253.253 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:07:51,256.256 INFO    ] Waiting 0.02 seconds before fallback handling...
[2026-10-20 17:07:51,787.787 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 17:07:51,790.790 INFO    ] Checking for system updates...
[2026-10-20 17:07:51,826.826 INFO    ] 200
[2026-10-20 17:07:51,828.828 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:07:51,880.880 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:07:51,882.882 INFO    ] No update needed
[2026-10-20 17:07:51,885.885 INFO    ] Checking for camera pi updates...
[2026-10-20 17:07:51,923.923 INFO    ] 200
[2026-10-20 17:07:51,925.925 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:07:51,965.965 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:07:52,016.016 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:07:52,018.018 INFO    ] No camera update needed
[2026-10-20 17:07:52,021.021 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:07:52,023.023 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:07:52,028.028 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:07:52,033.033 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:07:54,076.076 INFO    ] ================================================
[2026-10-20 17:07:54,091.091 INFO    ] Launching Daemon at Tue Oct 20 17:07:54 IST 2026
[2026-10-20 17:07:54,102.102 INFO    ] ================================================
[2026-10-20 17:07:54,668.668 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:07:54
[2026-10-20 17:07:55,250.250 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:07:55,509.509 INFO    ] Initializing speech engine...
[2026-10-20 17:07:55,526.526 INFO    ] 2026-10-20 17:07:55
[2026-10-20 17:07:55,771.771 INFO    ] 2026-10-20 17:07:55
[2026-10-20 17:07:55,806.806 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:07:56,062.062 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:07:56,068.068 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:07:56,205.205 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:07:56,265.265 INFO    ] time= 20/10/2026 17:07:56
[2026-10-20 17:07:56,314.314 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:07:56,333.333 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:07:56,479.479 INFO    ] No existing commands found in stream
[2026-10-20 17:08:01,491.491 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:08:01,495.495 INFO    ] Waiting 3.41 seconds before fallback handling...
[2026-10-20 17:08:05,383.383 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:08:05,385.385 INFO    ] Checking for system updates...
[2026-10-20 17:08:05,421.421 INFO    ] 200
[2026-10-20 17:08:05,423.423 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:08:05,482.482 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:08:05,485.485 INFO    ] No update needed
[2026-10-20 17:08:05,487.487 INFO    ] Checking for camera pi updates...
[2026-10-20 17:08:05,520.520 INFO    ] 200
[2026-10-20 17:08:05,523.523 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:08:05,564.564 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:08:05,711.711 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:08:05,714.714 INFO    ] No camera update needed
[2026-10-20 17:08:05,716.716 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:08:05,718.718 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:08:05,724.724 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:08:05,729.729 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:08:07,770.770 INFO    ] ================================================
[2026-10-20 17:08:07,787.787 INFO    ] Launching Daemon at Tue Oct 20 17:08:07 IST 2026
[2026-10-20 17:08:07,798.798 INFO    ] ================================================
[2026-10-20 17:08:08,391.391 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:08:08
[2026-10-20 17:08:08,989.989 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:08:09,267.267 INFO    ] Initializing speech engine...
[2026-10-20 17:08:09,275.275 INFO    ] 2026-10-20 17:08:09
[2026-10-20 17:08:09,535.535 INFO    ] 2026-10-20 17:08:09
[2026-10-20 17:08:09,569.569 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:08:09,813.813 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:08:09,823.823 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:08:09,961.961 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:08:10,020.020 INFO    ] time= 20/10/2026 17:08:09
[2026-10-20 17:08:10,075.075 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:08:10,089.089 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:08:10,223.223 INFO    ] No existing commands found in stream
[2026-10-20 17:08:15,251.251 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:08:15,253.253 INFO    ] Waiting 0.71 seconds before fallback handling...
[2026-10-20 17:08:16,480.480 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:08:16,483.483 INFO    ] Checking for system updates...
[2026-10-20 17:08:16,518.518 INFO    ] 200
[2026-10-20 17:08:16,521.521 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:08:16,573.573 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:08:16,575.575 INFO    ] No update needed
[2026-10-20 17:08:16,578.578 INFO    ] Checking for camera pi updates...
[2026-10-20 17:08:16,611.611 INFO    ] 200
[2026-10-20 17:08:16,614.614 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:08:16,659.659 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:08:16,714.714 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:08:16,716.716 INFO    ] No camera update needed
[2026-10-20 17:08:16,719.719 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:08:16,721.721 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:08:16,727.727 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:08:16,732.732 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:08:18,773.773 INFO    ] ================================================
[2026-10-20 17:08:18,792.792 INFO    ] Launching Daemon at Tue Oct 20 17:08:18 IST 2026
[2026-10-20 17:08:18,803.803 INFO    ] ================================================
[2026-10-20 17:08:19,397.397 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:08:19
[2026-10-20 17:08:20,075.075 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:08:20,379.379 INFO    ] Initializing speech engine...
[2026-10-20 17:08:20,395.395 INFO    ] 2026-10-20 17:08:20
[2026-10-20 17:08:20,680.680 INFO    ] 2026-10-20 17:08:20
[2026-10-20 17:08:20,727.727 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:08:21,026.026 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:08:21,089.089 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:08:21,229.229 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:08:21,252.252 INFO    ] time= 20/10/2026 17:08:21
[2026-10-20 17:08:21,280.280 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:08:21,290.290 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:08:21,422.422 INFO    ] No existing commands found in stream
[2026-10-20 17:08:26,453.453 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:08:26,456.456 INFO    ] Waiting 1.44 seconds before fallback handling...
[2026-10-20 17:08:28,477.477 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:08:28,480.480 INFO    ] Checking for system updates...
[2026-10-20 17:08:28,521.521 INFO    ] 200
[2026-10-20 17:08:28,523.523 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:08:28,588.588 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:08:28,591.591 INFO    ] No update needed
[2026-10-20 17:08:28,594.594 INFO    ] Checking for camera pi updates...
[2026-10-20 17:08:28,629.629 INFO    ] 200
[2026-10-20 17:08:28,632.632 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:08:28,678.678 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:08:28,728.728 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:08:28,731.731 INFO    ] No camera update needed
[2026-10-20 17:08:28,734.734 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:08:28,736.736 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:08:28,743.743 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:08:28,748.748 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:08:30,790.790 INFO    ] ================================================
[2026-10-20 17:08:30,805.805 INFO    ] Launching Daemon at Tue Oct 20 17:08:30 IST 2026
[2026-10-20 17:08:30,816.816 INFO    ] ================================================
[2026-10-20 17:08:31,388.388 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:08:31
[2026-10-20 17:08:32,066.066 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:08:32,407.407 INFO    ] Initializing speech engine...
[2026-10-20 17:08:32,416.416 INFO    ] 2026-10-20 17:08:32
[2026-10-20 17:08:32,709.709 INFO    ] 2026-10-20 17:08:32
[2026-10-20 17:08:32,767.767 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:08:33,056.056 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:08:33,065.065 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:08:33,267.267 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:08:33,274.274 INFO    ] time= 20/10/2026 17:08:33
[2026-10-20 17:08:33,293.293 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:08:33,323.323 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:08:33,452.452 INFO    ] No existing commands found in stream
[2026-10-20 17:08:38,489.489 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:08:38,492.492 INFO    ] Waiting 2.92 seconds before fallback handling...
[2026-10-20 17:08:41,963.963 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 17:08:41,965.965 INFO    ] Checking for system updates...
[2026-10-20 17:08:42,001.001 INFO    ] 200
[2026-10-20 17:08:42,004.004 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:08:42,059.059 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:08:42,062.062 INFO    ] No update needed
[2026-10-20 17:08:42,064.064 INFO    ] Checking for camera pi updates...
[2026-10-20 17:08:42,100.100 INFO    ] 200
[2026-10-20 17:08:42,103.103 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:08:42,144.144 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:08:42,199.199 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:08:42,201.201 INFO    ] No camera update needed
[2026-10-20 17:08:42,204.204 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:08:42,207.207 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:08:42,213.213 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:08:42,219.219 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:08:44,260.260 INFO    ] ================================================
[2026-10-20 17:08:44,276.276 INFO    ] Launching Daemon at Tue Oct 20 17:08:44 IST 2026
[2026-10-20 17:08:44,287.287 INFO    ] ================================================
[2026-10-20 17:08:44,861.861 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:08:44
[2026-10-20 17:08:45,452.452 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:08:45,726.726 INFO    ] Initializing speech engine...
[2026-10-20 17:08:45,733.733 INFO    ] 2026-10-20 17:08:45
[2026-10-20 17:08:45,983.983 INFO    ] 2026-10-20 17:08:45
[2026-10-20 17:08:46,019.019 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:08:46,223.223 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:08:46,281.281 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:08:46,422.422 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:08:46,499.499 INFO    ] time= 20/10/2026 17:08:46
[2026-10-20 17:08:46,551.551 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:08:46,572.572 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:08:46,716.716 INFO    ] No existing commands found in stream
[2026-10-20 17:08:51,733.733 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:08:51,735.735 INFO    ] Waiting 1.79 seconds before fallback handling...
[2026-10-20 17:08:54,083.083 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:08:54,086.086 INFO    ] Checking for system updates...
[2026-10-20 17:08:54,122.122 INFO    ] 200
[2026-10-20 17:08:54,124.124 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:08:54,183.183 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:08:54,186.186 INFO    ] No update needed
[2026-10-20 17:08:54,188.188 INFO    ] Checking for camera pi updates...
[2026-10-20 17:08:54,226.226 INFO    ] 200
[2026-10-20 17:08:54,228.228 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:08:54,274.274 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:08:54,323.323 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:08:54,325.325 INFO    ] No camera update needed
[2026-10-20 17:08:54,327.327 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:08:54,330.330 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:08:54,335.335 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:08:54,340.340 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:08:56,384.384 INFO    ] ================================================
[2026-10-20 17:08:56,399.399 INFO    ] Launching Daemon at Tue Oct 20 17:08:56 IST 2026
[2026-10-20 17:08:56,410.410 INFO    ] ================================================
[2026-10-20 17:08:56,981.981 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:08:56
[2026-10-20 17:08:57,571.571 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:08:57,845.845 INFO    ] Initializing speech engine...
[2026-10-20 17:08:57,861.861 INFO    ] 2026-10-20 17:08:57
[2026-10-20 17:08:58,130.130 INFO    ] 2026-10-20 17:08:58
[2026-10-20 17:08:58,166.166 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:08:58,427.427 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:08:58,458.458 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:08:58,691.691 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:08:58,705.705 INFO    ] time= 20/10/2026 17:08:58
[2026-10-20 17:08:58,721.721 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:08:58,752.752 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:08:58,861.861 INFO    ] No existing commands found in stream
[2026-10-20 17:09:03,901.901 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:09:03,904.904 INFO    ] Waiting 1.60 seconds before fallback handling...
[2026-10-20 17:09:06,002.002 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:09:06,005.005 INFO    ] Checking for system updates...
[2026-10-20 17:09:06,042.042 INFO    ] 200
[2026-10-20 17:09:06,044.044 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:09:06,105.105 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:09:06,108.108 INFO    ] No update needed
[2026-10-20 17:09:06,110.110 INFO    ] Checking for camera pi updates...
[2026-10-20 17:09:06,145.145 INFO    ] 200
[2026-10-20 17:09:06,148.148 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:09:06,190.190 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:09:06,239.239 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:09:06,242.242 INFO    ] No camera update needed
[2026-10-20 17:09:06,245.245 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:09:06,247.247 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:09:06,253.253 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:09:06,259.259 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:09:08,300.300 INFO    ] ================================================
[2026-10-20 17:09:08,316.316 INFO    ] Launching Daemon at Tue Oct 20 17:09:08 IST 2026
[2026-10-20 17:09:08,327.327 INFO    ] ================================================
[2026-10-20 17:09:08,975.975 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:09:08
[2026-10-20 17:09:09,647.647 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:09:09,903.903 INFO    ] Initializing speech engine...
[2026-10-20 17:09:09,926.926 INFO    ] 2026-10-20 17:09:09
[2026-10-20 17:09:10,194.194 INFO    ] 2026-10-20 17:09:10
[2026-10-20 17:09:10,230.230 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:09:10,425.425 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:09:10,469.469 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:09:10,626.626 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:09:10,674.674 INFO    ] time= 20/10/2026 17:09:10
[2026-10-20 17:09:10,728.728 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:09:10,761.761 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:09:10,893.893 INFO    ] No existing commands found in stream
[2026-10-20 17:09:15,916.916 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:09:15,919.919 INFO    ] Waiting 3.59 seconds before fallback handling...
[2026-10-20 17:09:21,072.072 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:09:21,074.074 INFO    ] Checking for system updates...
[2026-10-20 17:09:21,110.110 INFO    ] 200
[2026-10-20 17:09:21,112.112 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:09:21,171.171 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:09:21,173.173 INFO    ] No update needed
[2026-10-20 17:09:21,175.175 INFO    ] Checking for camera pi updates...
[2026-10-20 17:09:21,221.221 INFO    ] 200
[2026-10-20 17:09:21,224.224 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:09:21,275.275 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:09:21,320.320 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:09:21,322.322 INFO    ] No camera update needed
[2026-10-20 17:09:21,325.325 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:09:21,327.327 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:09:21,332.332 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:09:21,337.337 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:09:23,382.382 INFO    ] ================================================
[2026-10-20 17:09:23,399.399 INFO    ] Launching Daemon at Tue Oct 20 17:09:23 IST 2026
[2026-10-20 17:09:23,412.412 INFO    ] ================================================
[2026-10-20 17:09:24,016.016 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:09:24
[2026-10-20 17:09:24,675.675 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:09:26,255.255 INFO    ] Initializing speech engine...
[2026-10-20 17:09:26,259.259 INFO    ] 2026-10-20 17:09:26
[2026-10-20 17:09:26,521.521 INFO    ] 2026-10-20 17:09:26
[2026-10-20 17:09:26,545.545 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:09:26,741.741 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:09:26,749.749 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:09:26,935.935 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:09:26,939.939 INFO    ] time= 20/10/2026 17:09:26
[2026-10-20 17:09:26,991.991 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:09:26,996.996 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:09:27,130.130 INFO    ] No existing commands found in stream
[2026-10-20 17:09:32,157.157 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:09:32,160.160 INFO    ] Waiting 1.69 seconds before fallback handling...
[2026-10-20 17:09:34,331.331 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:09:34,333.333 INFO    ] Checking for system updates...
[2026-10-20 17:09:34,371.371 INFO    ] 200
[2026-10-20 17:09:34,373.373 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:09:34,436.436 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:09:34,440.440 INFO    ] No update needed
[2026-10-20 17:09:34,443.443 INFO    ] Checking for camera pi updates...
[2026-10-20 17:09:34,482.482 INFO    ] 200
[2026-10-20 17:09:34,485.485 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:09:34,537.537 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:09:34,590.590 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:09:34,593.593 INFO    ] No camera update needed
[2026-10-20 17:09:34,597.597 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:09:34,599.599 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:09:34,606.606 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:09:34,612.612 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:09:36,655.655 INFO    ] ================================================
[2026-10-20 17:09:36,672.672 INFO    ] Launching Daemon at Tue Oct 20 17:09:36 IST 2026
[2026-10-20 17:09:36,683.683 INFO    ] ================================================
[2026-10-20 17:09:37,342.342 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:09:37
[2026-10-20 17:09:38,028.028 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:09:38,338.338 INFO    ] Initializing speech engine...
[2026-10-20 17:09:38,352.352 INFO    ] 2026-10-20 17:09:38
[2026-10-20 17:09:38,644.644 INFO    ] 2026-10-20 17:09:38
[2026-10-20 17:09:38,756.756 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:09:38,971.971 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:09:38,981.981 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:09:39,179.179 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:09:39,187.187 INFO    ] time= 20/10/2026 17:09:39
[2026-10-20 17:09:39,206.206 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:09:39,237.237 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:09:39,426.426 INFO    ] No existing commands found in stream
[2026-10-20 17:09:44,457.457 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:09:44,460.460 INFO    ] Waiting 1.10 seconds before fallback handling...
[2026-10-20 17:09:46,065.065 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:09:46,069.069 INFO    ] Checking for system updates...
[2026-10-20 17:09:46,105.105 INFO    ] 200
[2026-10-20 17:09:46,108.108 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:09:46,162.162 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:09:46,164.164 INFO    ] No update needed
[2026-10-20 17:09:46,167.167 INFO    ] Checking for camera pi updates...
[2026-10-20 17:09:46,205.205 INFO    ] 200
[2026-10-20 17:09:46,208.208 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:09:46,256.256 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:09:46,304.304 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:09:46,307.307 INFO    ] No camera update needed
[2026-10-20 17:09:46,310.310 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:09:46,312.312 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:09:46,319.319 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:09:46,324.324 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:09:48,369.369 INFO    ] ================================================
[2026-10-20 17:09:48,385.385 INFO    ] Launching Daemon at Tue Oct 20 17:09:48 IST 2026
[2026-10-20 17:09:48,396.396 INFO    ] ================================================
[2026-10-20 17:09:48,995.995 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:09:48
[2026-10-20 17:09:49,633.633 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:09:49,894.894 INFO    ] Initializing speech engine...
[2026-10-20 17:09:49,902.902 INFO    ] 2026-10-20 17:09:49
[2026-10-20 17:09:50,206.206 INFO    ] 2026-10-20 17:09:50
[2026-10-20 17:09:50,253.253 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:09:50,460.460 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:09:50,473.473 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:09:50,603.603 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:09:50,625.625 INFO    ] time= 20/10/2026 17:09:50
[2026-10-20 17:09:50,648.648 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:09:50,657.657 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:09:50,792.792 INFO    ] No existing commands found in stream
[2026-10-20 17:09:55,812.812 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:09:55,815.815 INFO    ] Waiting 3.87 seconds before fallback handling...
[2026-10-20 17:10:00,161.161 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:10:00,163.163 INFO    ] Checking for system updates...
[2026-10-20 17:10:00,203.203 INFO    ] 200
[2026-10-20 17:10:00,206.206 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:10:00,259.259 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:10:00,261.261 INFO    ] No update needed
[2026-10-20 17:10:00,264.264 INFO    ] Checking for camera pi updates...
[2026-10-20 17:10:00,298.298 INFO    ] 200
[2026-10-20 17:10:00,300.300 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:10:00,341.341 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:10:00,385.385 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:10:00,387.387 INFO    ] No camera update needed
[2026-10-20 17:10:00,390.390 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:10:00,392.392 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:10:00,398.398 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:10:00,403.403 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:10:02,461.461 INFO    ] ================================================
[2026-10-20 17:10:02,487.487 INFO    ] Launching Daemon at Tue Oct 20 17:10:02 IST 2026
[2026-10-20 17:10:02,512.512 INFO    ] ================================================
[2026-10-20 17:10:03,286.286 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:10:03
[2026-10-20 17:10:03,915.915 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:10:04,195.195 INFO    ] Initializing speech engine...
[2026-10-20 17:10:04,202.202 INFO    ] 2026-10-20 17:10:04
[2026-10-20 17:10:04,465.465 INFO    ] 2026-10-20 17:10:04
[2026-10-20 17:10:04,495.495 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:10:04,743.743 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:10:04,752.752 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:10:04,982.982 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:10:05,014.014 INFO    ] time= 20/10/2026 17:10:04
[2026-10-20 17:10:05,020.020 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:10:05,042.042 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:10:05,172.172 INFO    ] No existing commands found in stream
[2026-10-20 17:10:10,191.191 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:10:10,194.194 INFO    ] Waiting 1.42 seconds before fallback handling...
[2026-10-20 17:10:12,151.151 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:10:12,154.154 INFO    ] Checking for system updates...
[2026-10-20 17:10:12,190.190 INFO    ] 200
[2026-10-20 17:10:12,192.192 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:10:12,245.245 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:10:12,248.248 INFO    ] No update needed
[2026-10-20 17:10:12,251.251 INFO    ] Checking for camera pi updates...
[2026-10-20 17:10:12,286.286 INFO    ] 200
[2026-10-20 17:10:12,288.288 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:10:12,335.335 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:10:12,479.479 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:10:12,481.481 INFO    ] No camera update needed
[2026-10-20 17:10:12,484.484 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:10:12,486.486 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:10:12,492.492 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:10:12,497.497 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:10:14,538.538 INFO    ] ================================================
[2026-10-20 17:10:14,554.554 INFO    ] Launching Daemon at Tue Oct 20 17:10:14 IST 2026
[2026-10-20 17:10:14,564.564 INFO    ] ================================================
[2026-10-20 17:10:15,146.146 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:10:15
[2026-10-20 17:10:15,745.745 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:10:16,027.027 INFO    ] Initializing speech engine...
[2026-10-20 17:10:16,035.035 INFO    ] 2026-10-20 17:10:16
[2026-10-20 17:10:16,289.289 INFO    ] 2026-10-20 17:10:16
[2026-10-20 17:10:16,319.319 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:10:16,568.568 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:10:16,573.573 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:10:16,707.707 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:10:16,752.752 INFO    ] time= 20/10/2026 17:10:16
[2026-10-20 17:10:16,820.820 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:10:16,844.844 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:10:16,975.975 INFO    ] No existing commands found in stream
[2026-10-20 17:10:22,001.001 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:10:22,004.004 INFO    ] Waiting 1.73 seconds before fallback handling...
[2026-10-20 17:10:24,253.253 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:10:24,256.256 INFO    ] Checking for system updates...
[2026-10-20 17:10:24,307.307 INFO    ] 200
[2026-10-20 17:10:24,310.310 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:10:24,378.378 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:10:24,381.381 INFO    ] No update needed
[2026-10-20 17:10:24,384.384 INFO    ] Checking for camera pi updates...
[2026-10-20 17:10:24,424.424 INFO    ] 200
[2026-10-20 17:10:24,427.427 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:10:24,473.473 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:10:24,520.520 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:10:24,523.523 INFO    ] No camera update needed
[2026-10-20 17:10:24,526.526 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:10:24,529.529 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:10:24,535.535 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:10:24,541.541 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:10:26,589.589 INFO    ] ================================================
[2026-10-20 17:10:26,606.606 INFO    ] Launching Daemon at Tue Oct 20 17:10:26 IST 2026
[2026-10-20 17:10:26,618.618 INFO    ] ================================================
[2026-10-20 17:10:27,267.267 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:10:27
[2026-10-20 17:10:27,855.855 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:10:28,109.109 INFO    ] Initializing speech engine...
[2026-10-20 17:10:28,118.118 INFO    ] 2026-10-20 17:10:28
[2026-10-20 17:10:28,388.388 INFO    ] 2026-10-20 17:10:28
[2026-10-20 17:10:28,424.424 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:10:28,676.676 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:10:28,685.685 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:10:28,886.886 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:10:28,944.944 INFO    ] time= 20/10/2026 17:10:28
[2026-10-20 17:10:28,951.951 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:10:28,968.968 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:10:29,099.099 INFO    ] No existing commands found in stream
[2026-10-20 17:10:34,114.114 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:10:34,117.117 INFO    ] Waiting 1.92 seconds before fallback handling...
[2026-10-20 17:10:36,564.564 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:10:36,567.567 INFO    ] Checking for system updates...
[2026-10-20 17:10:36,602.602 INFO    ] 200
[2026-10-20 17:10:36,605.605 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:10:36,657.657 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:10:36,660.660 INFO    ] No update needed
[2026-10-20 17:10:36,662.662 INFO    ] Checking for camera pi updates...
[2026-10-20 17:10:36,696.696 INFO    ] 200
[2026-10-20 17:10:36,698.698 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:10:36,743.743 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:10:36,785.785 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:10:36,788.788 INFO    ] No camera update needed
[2026-10-20 17:10:36,790.790 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:10:36,793.793 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:10:36,798.798 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:10:36,804.804 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:10:38,844.844 INFO    ] ================================================
[2026-10-20 17:10:38,860.860 INFO    ] Launching Daemon at Tue Oct 20 17:10:38 IST 2026
[2026-10-20 17:10:38,871.871 INFO    ] ================================================
[2026-10-20 17:10:39,459.459 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:10:39
[2026-10-20 17:10:40,073.073 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:10:40,353.353 INFO    ] Initializing speech engine...
[2026-10-20 17:10:40,360.360 INFO    ] 2026-10-20 17:10:40
[2026-10-20 17:10:40,624.624 INFO    ] 2026-10-20 17:10:40
[2026-10-20 17:10:40,678.678 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:10:40,943.943 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:10:40,965.965 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:10:41,163.163 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:10:41,182.182 INFO    ] time= 20/10/2026 17:10:41
[2026-10-20 17:10:41,210.210 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:10:41,219.219 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:10:41,333.333 INFO    ] No existing commands found in stream
[2026-10-20 17:10:46,364.364 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:10:46,367.367 INFO    ] Waiting 0.80 seconds before fallback handling...
[2026-10-20 17:10:47,703.703 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:10:47,706.706 INFO    ] Checking for system updates...
[2026-10-20 17:10:47,743.743 INFO    ] 200
[2026-10-20 17:10:47,746.746 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:10:47,800.800 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:10:47,803.803 INFO    ] No update needed
[2026-10-20 17:10:47,805.805 INFO    ] Checking for camera pi updates...
[2026-10-20 17:10:47,845.845 INFO    ] 200
[2026-10-20 17:10:47,848.848 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:10:47,889.889 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:10:47,935.935 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:10:47,937.937 INFO    ] No camera update needed
[2026-10-20 17:10:47,940.940 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:10:47,943.943 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:10:47,953.953 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:10:47,958.958 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:10:50,000.000 INFO    ] ================================================
[2026-10-20 17:10:50,015.015 INFO    ] Launching Daemon at Tue Oct 20 17:10:50 IST 2026
[2026-10-20 17:10:50,026.026 INFO    ] ================================================
[2026-10-20 17:10:50,608.608 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:10:50
[2026-10-20 17:10:51,211.211 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:10:51,458.458 INFO    ] Initializing speech engine...
[2026-10-20 17:10:51,471.471 INFO    ] 2026-10-20 17:10:51
[2026-10-20 17:10:51,736.736 INFO    ] 2026-10-20 17:10:51
[2026-10-20 17:10:51,779.779 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:10:52,025.025 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:10:52,035.035 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:10:52,255.255 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:10:52,294.294 INFO    ] time= 20/10/2026 17:10:52
[2026-10-20 17:10:52,300.300 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:10:52,321.321 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:10:52,448.448 INFO    ] No existing commands found in stream
[2026-10-20 17:10:57,461.461 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:10:57,463.463 INFO    ] Waiting 2.49 seconds before fallback handling...
[2026-10-20 17:11:00,448.448 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:11:00,451.451 INFO    ] Checking for system updates...
[2026-10-20 17:11:00,486.486 INFO    ] 200
[2026-10-20 17:11:00,489.489 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:11:00,550.550 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:11:00,552.552 INFO    ] No update needed
[2026-10-20 17:11:00,555.555 INFO    ] Checking for camera pi updates...
[2026-10-20 17:11:00,588.588 INFO    ] 200
[2026-10-20 17:11:00,590.590 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:11:00,632.632 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:11:00,680.680 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:11:00,683.683 INFO    ] No camera update needed
[2026-10-20 17:11:00,685.685 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:11:00,687.687 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:11:00,693.693 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:11:00,698.698 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:11:02,750.750 INFO    ] ================================================
[2026-10-20 17:11:02,772.772 INFO    ] Launching Daemon at Tue Oct 20 17:11:02 IST 2026
[2026-10-20 17:11:02,791.791 INFO    ] ================================================
[2026-10-20 17:11:03,513.513 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:11:03
[2026-10-20 17:11:04,185.185 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:11:04,459.459 INFO    ] Initializing speech engine...
[2026-10-20 17:11:04,468.468 INFO    ] 2026-10-20 17:11:04
[2026-10-20 17:11:04,715.715 INFO    ] 2026-10-20 17:11:04
[2026-10-20 17:11:04,751.751 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:11:05,003.003 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:11:05,012.012 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:11:05,230.230 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:11:05,270.270 INFO    ] time= 20/10/2026 17:11:05
[2026-10-20 17:11:05,275.275 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:11:05,297.297 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:11:05,426.426 INFO    ] No existing commands found in stream
[2026-10-20 17:11:10,451.451 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:11:10,454.454 INFO    ] Waiting 3.34 seconds before fallback handling...
[2026-10-20 17:11:14,305.305 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 17:11:14,307.307 INFO    ] Checking for system updates...
[2026-10-20 17:11:14,343.343 INFO    ] 200
[2026-10-20 17:11:14,346.346 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:11:14,401.401 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:11:14,404.404 INFO    ] No update needed
[2026-10-20 17:11:14,406.406 INFO    ] Checking for camera pi updates...
[2026-10-20 17:11:14,441.441 INFO    ] 200
[2026-10-20 17:11:14,443.443 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:11:14,483.483 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:11:14,525.525 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:11:14,527.527 INFO    ] No camera update needed
[2026-10-20 17:11:14,530.530 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:11:14,532.532 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:11:14,538.538 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:11:14,543.543 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:11:16,584.584 INFO    ] ================================================
[2026-10-20 17:11:16,600.600 INFO    ] Launching Daemon at Tue Oct 20 17:11:16 IST 2026
[2026-10-20 17:11:16,611.611 INFO    ] ================================================
[2026-10-20 17:11:17,199.199 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:11:17
[2026-10-20 17:11:17,806.806 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:11:18,084.084 INFO    ] Initializing speech engine...
[2026-10-20 17:11:18,092.092 INFO    ] 2026-10-20 17:11:18
[2026-10-20 17:11:18,370.370 INFO    ] 2026-10-20 17:11:18
[2026-10-20 17:11:18,407.407 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:11:18,691.691 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:11:18,695.695 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:11:18,878.878 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:11:18,895.895 INFO    ] time= 20/10/2026 17:11:18
[2026-10-20 17:11:18,910.910 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:11:18,919.919 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:11:19,049.049 INFO    ] No existing commands found in stream
[2026-10-20 17:11:24,078.078 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:11:24,081.081 INFO    ] Waiting 0.12 seconds before fallback handling...
[2026-10-20 17:11:24,696.696 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:11:24,698.698 INFO    ] Checking for system updates...
[2026-10-20 17:11:24,734.734 INFO    ] 200
[2026-10-20 17:11:24,736.736 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:11:24,789.789 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:11:24,792.792 INFO    ] No update needed
[2026-10-20 17:11:24,794.794 INFO    ] Checking for camera pi updates...
[2026-10-20 17:11:24,828.828 INFO    ] 200
[2026-10-20 17:11:24,831.831 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:11:24,877.877 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:11:24,924.924 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:11:24,926.926 INFO    ] No camera update needed
[2026-10-20 17:11:24,929.929 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:11:24,931.931 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:11:24,937.937 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:11:24,942.942 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:11:26,985.985 INFO    ] ================================================
[2026-10-20 17:11:27,001.001 INFO    ] Launching Daemon at Tue Oct 20 17:11:26 IST 2026
[2026-10-20 17:11:27,012.012 INFO    ] ================================================
[2026-10-20 17:11:27,595.595 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:11:27
[2026-10-20 17:11:28,199.199 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:11:28,473.473 INFO    ] Initializing speech engine...
[2026-10-20 17:11:28,483.483 INFO    ] 2026-10-20 17:11:28
[2026-10-20 17:11:28,745.745 INFO    ] 2026-10-20 17:11:28
[2026-10-20 17:11:28,774.774 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:11:29,026.026 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:11:29,031.031 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:11:29,169.169 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:11:29,234.234 INFO    ] time= 20/10/2026 17:11:29
[2026-10-20 17:11:29,292.292 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:11:29,299.299 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:11:29,441.441 INFO    ] No existing commands found in stream
[2026-10-20 17:11:34,451.451 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:11:34,454.454 INFO    ] Waiting 2.63 seconds before fallback handling...
[2026-10-20 17:11:37,588.588 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 17:11:37,591.591 INFO    ] Checking for system updates...
[2026-10-20 17:11:37,631.631 INFO    ] 200
[2026-10-20 17:11:37,633.633 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:11:37,686.686 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:11:37,688.688 INFO    ] No update needed
[2026-10-20 17:11:37,691.691 INFO    ] Checking for camera pi updates...
[2026-10-20 17:11:37,725.725 INFO    ] 200
[2026-10-20 17:11:37,727.727 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:11:37,771.771 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:11:37,816.816 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:11:37,819.819 INFO    ] No camera update needed
[2026-10-20 17:11:37,822.822 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:11:37,825.825 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:11:37,831.831 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:11:37,837.837 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:11:39,876.876 INFO    ] ================================================
[2026-10-20 17:11:39,891.891 INFO    ] Launching Daemon at Tue Oct 20 17:11:39 IST 2026
[2026-10-20 17:11:39,901.901 INFO    ] ================================================
[2026-10-20 17:11:40,488.488 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:11:40
[2026-10-20 17:11:41,088.088 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:11:41,365.365 INFO    ] Initializing speech engine...
[2026-10-20 17:11:41,370.370 INFO    ] 2026-10-20 17:11:41
[2026-10-20 17:11:41,616.616 INFO    ] 2026-10-20 17:11:41
[2026-10-20 17:11:41,650.650 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:11:41,854.854 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:11:41,913.913 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:11:42,139.139 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:11:42,178.178 INFO    ] time= 20/10/2026 17:11:42
[2026-10-20 17:11:42,184.184 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:11:42,202.202 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:11:42,333.333 INFO    ] No existing commands found in stream
[2026-10-20 17:11:47,348.348 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:11:47,351.351 INFO    ] Waiting 1.30 seconds before fallback handling...
[2026-10-20 17:11:50,514.514 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:11:50,517.517 INFO    ] Checking for system updates...
[2026-10-20 17:11:50,552.552 INFO    ] 200
[2026-10-20 17:11:50,555.555 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:11:50,607.607 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:11:50,609.609 INFO    ] No update needed
[2026-10-20 17:11:50,612.612 INFO    ] Checking for camera pi updates...
[2026-10-20 17:11:50,645.645 INFO    ] 200
[2026-10-20 17:11:50,648.648 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:11:50,687.687 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:11:50,734.734 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:11:50,736.736 INFO    ] No camera update needed
[2026-10-20 17:11:50,738.738 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:11:50,741.741 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:11:50,746.746 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:11:50,751.751 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:11:52,792.792 INFO    ] ================================================
[2026-10-20 17:11:52,809.809 INFO    ] Launching Daemon at Tue Oct 20 17:11:52 IST 2026
[2026-10-20 17:11:52,821.821 INFO    ] ================================================
[2026-10-20 17:11:53,462.462 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:11:53
[2026-10-20 17:11:54,047.047 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:11:54,299.299 INFO    ] Initializing speech engine...
[2026-10-20 17:11:54,313.313 INFO    ] 2026-10-20 17:11:54
[2026-10-20 17:11:54,591.591 INFO    ] 2026-10-20 17:11:54
[2026-10-20 17:11:54,630.630 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:11:54,833.833 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:11:54,848.848 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:11:55,015.015 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:11:55,024.024 INFO    ] time= 20/10/2026 17:11:55
[2026-10-20 17:11:55,028.028 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:11:55,034.034 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:11:55,112.112 INFO    ] No existing commands found in stream
[2026-10-20 17:12:00,127.127 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:12:00,131.131 INFO    ] Waiting 3.21 seconds before fallback handling...
[2026-10-20 17:12:03,800.800 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:12:03,803.803 INFO    ] Checking for system updates...
[2026-10-20 17:12:03,839.839 INFO    ] 200
[2026-10-20 17:12:03,842.842 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:12:03,902.902 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:12:03,905.905 INFO    ] No update needed
[2026-10-20 17:12:03,907.907 INFO    ] Checking for camera pi updates...
[2026-10-20 17:12:03,945.945 INFO    ] 200
[2026-10-20 17:12:03,948.948 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:12:03,995.995 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:12:04,046.046 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:12:04,049.049 INFO    ] No camera update needed
[2026-10-20 17:12:04,052.052 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:12:04,054.054 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:12:04,061.061 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:12:04,066.066 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:12:06,107.107 INFO    ] ================================================
[2026-10-20 17:12:06,122.122 INFO    ] Launching Daemon at Tue Oct 20 17:12:06 IST 2026
[2026-10-20 17:12:06,133.133 INFO    ] ================================================
[2026-10-20 17:12:06,705.705 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:12:06
[2026-10-20 17:12:07,292.292 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:12:07,544.544 INFO    ] Initializing speech engine...
[2026-10-20 17:12:07,567.567 INFO    ] 2026-10-20 17:12:07
[2026-10-20 17:12:07,821.821 INFO    ] 2026-10-20 17:12:07
[2026-10-20 17:12:07,855.855 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:12:08,053.053 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:12:08,110.110 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:12:08,255.255 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:12:08,310.310 INFO    ] time= 20/10/2026 17:12:08
[2026-10-20 17:12:08,370.370 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:12:08,383.383 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:12:08,530.530 INFO    ] No existing commands found in stream
[2026-10-20 17:12:13,565.565 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:12:13,569.569 INFO    ] Waiting 2.12 seconds before fallback handling...
[2026-10-20 17:12:16,207.207 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:12:16,210.210 INFO    ] Checking for system updates...
[2026-10-20 17:12:16,246.246 INFO    ] 200
[2026-10-20 17:12:16,248.248 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:12:16,300.300 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:12:16,302.302 INFO    ] No update needed
[2026-10-20 17:12:16,305.305 INFO    ] Checking for camera pi updates...
[2026-10-20 17:12:16,339.339 INFO    ] 200
[2026-10-20 17:12:16,341.341 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:12:16,386.386 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:12:16,539.539 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:12:16,542.542 INFO    ] No camera update needed
[2026-10-20 17:12:16,544.544 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:12:16,546.546 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:12:16,552.552 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:12:16,557.557 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:12:18,600.600 INFO    ] ================================================
[2026-10-20 17:12:18,615.615 INFO    ] Launching Daemon at Tue Oct 20 17:12:18 IST 2026
[2026-10-20 17:12:18,626.626 INFO    ] ================================================
[2026-10-20 17:12:19,292.292 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:12:19
[2026-10-20 17:12:19,966.966 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:12:20,272.272 INFO    ] Initializing speech engine...
[2026-10-20 17:12:20,286.286 INFO    ] 2026-10-20 17:12:20
[2026-10-20 17:12:20,572.572 INFO    ] 2026-10-20 17:12:20
[2026-10-20 17:12:20,683.683 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:12:20,892.892 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:12:20,901.901 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:12:21,099.099 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:12:21,117.117 INFO    ] time= 20/10/2026 17:12:21
[2026-10-20 17:12:21,141.141 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:12:21,153.153 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:12:21,268.268 INFO    ] No existing commands found in stream
[2026-10-20 17:12:26,293.293 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:12:26,296.296 INFO    ] Waiting 2.24 seconds before fallback handling...
[2026-10-20 17:12:29,091.091 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:12:29,094.094 INFO    ] Checking for system updates...
[2026-10-20 17:12:29,131.131 INFO    ] 200
[2026-10-20 17:12:29,134.134 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:12:29,186.186 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:12:29,189.189 INFO    ] No update needed
[2026-10-20 17:12:29,192.192 INFO    ] Checking for camera pi updates...
[2026-10-20 17:12:29,226.226 INFO    ] 200
[2026-10-20 17:12:29,229.229 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:12:29,270.270 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:12:29,322.322 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:12:29,324.324 INFO    ] No camera update needed
[2026-10-20 17:12:29,327.327 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:12:29,330.330 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:12:29,336.336 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:12:29,342.342 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:12:31,383.383 INFO    ] ================================================
[2026-10-20 17:12:31,399.399 INFO    ] Launching Daemon at Tue Oct 20 17:12:31 IST 2026
[2026-10-20 17:12:31,412.412 INFO    ] ================================================
[2026-10-20 17:12:32,018.018 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:12:32
[2026-10-20 17:12:32,635.635 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:12:32,938.938 INFO    ] Initializing speech engine...
[2026-10-20 17:12:32,952.952 INFO    ] 2026-10-20 17:12:32
[2026-10-20 17:12:33,226.226 INFO    ] 2026-10-20 17:12:33
[2026-10-20 17:12:33,261.261 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:12:33,456.456 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:12:33,470.470 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:12:33,630.630 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:12:33,639.639 INFO    ] time= 20/10/2026 17:12:33
[2026-10-20 17:12:33,646.646 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:12:33,699.699 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:12:33,841.841 INFO    ] No existing commands found in stream
[2026-10-20 17:12:38,866.866 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:12:38,869.869 INFO    ] Waiting 2.04 seconds before fallback handling...
[2026-10-20 17:12:41,451.451 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:12:41,454.454 INFO    ] Checking for system updates...
[2026-10-20 17:12:41,489.489 INFO    ] 200
[2026-10-20 17:12:41,492.492 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:12:41,543.543 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:12:41,546.546 INFO    ] No update needed
[2026-10-20 17:12:41,549.549 INFO    ] Checking for camera pi updates...
[2026-10-20 17:12:41,592.592 INFO    ] 200
[2026-10-20 17:12:41,595.595 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:12:41,636.636 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:12:41,684.684 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:12:41,686.686 INFO    ] No camera update needed
[2026-10-20 17:12:41,688.688 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:12:41,691.691 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:12:41,696.696 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:12:41,701.701 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:12:43,740.740 INFO    ] ================================================
[2026-10-20 17:12:43,755.755 INFO    ] Launching Daemon at Tue Oct 20 17:12:43 IST 2026
[2026-10-20 17:12:43,767.767 INFO    ] ================================================
[2026-10-20 17:12:44,343.343 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:12:44
[2026-10-20 17:12:44,929.929 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:12:45,203.203 INFO    ] Initializing speech engine...
[2026-10-20 17:12:45,209.209 INFO    ] 2026-10-20 17:12:45
[2026-10-20 17:12:45,468.468 INFO    ] 2026-10-20 17:12:45
[2026-10-20 17:12:45,497.497 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:12:45,747.747 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:12:45,751.751 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:12:45,883.883 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:12:45,925.925 INFO    ] time= 20/10/2026 17:12:45
[2026-10-20 17:12:45,979.979 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:12:46,016.016 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:12:46,150.150 INFO    ] No existing commands found in stream
[2026-10-20 17:12:51,172.172 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:12:51,175.175 INFO    ] Waiting 1.56 seconds before fallback handling...
[2026-10-20 17:12:53,251.251 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:12:53,254.254 INFO    ] Checking for system updates...
[2026-10-20 17:12:53,296.296 INFO    ] 200
[2026-10-20 17:12:53,299.299 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:12:53,356.356 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:12:53,359.359 INFO    ] No update needed
[2026-10-20 17:12:53,362.362 INFO    ] Checking for camera pi updates...
[2026-10-20 17:12:53,395.395 INFO    ] 200
[2026-10-20 17:12:53,398.398 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:12:53,440.440 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:12:53,485.485 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:12:53,487.487 INFO    ] No camera update needed
[2026-10-20 17:12:53,490.490 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:12:53,492.492 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:12:53,497.497 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:12:53,502.502 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:12:55,545.545 INFO    ] ================================================
[2026-10-20 17:12:55,560.560 INFO    ] Launching Daemon at Tue Oct 20 17:12:55 IST 2026
[2026-10-20 17:12:55,571.571 INFO    ] ================================================
[2026-10-20 17:12:56,171.171 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:12:56
[2026-10-20 17:12:56,755.755 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:12:57,045.045 INFO    ] Initializing speech engine...
[2026-10-20 17:12:57,053.053 INFO    ] 2026-10-20 17:12:57
[2026-10-20 17:12:57,325.325 INFO    ] 2026-10-20 17:12:57
[2026-10-20 17:12:57,382.382 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:12:57,630.630 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:12:57,637.637 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:12:57,828.828 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:12:57,875.875 INFO    ] time= 20/10/2026 17:12:57
[2026-10-20 17:12:57,881.881 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:12:57,903.903 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:12:58,055.055 INFO    ] No existing commands found in stream
[2026-10-20 17:13:03,091.091 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:13:03,095.095 INFO    ] Waiting 3.60 seconds before fallback handling...
[2026-10-20 17:13:07,222.222 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 17:13:07,225.225 INFO    ] Checking for system updates...
[2026-10-20 17:13:07,261.261 INFO    ] 200
[2026-10-20 17:13:07,263.263 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:13:07,319.319 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:13:07,321.321 INFO    ] No update needed
[2026-10-20 17:13:07,324.324 INFO    ] Checking for camera pi updates...
[2026-10-20 17:13:07,357.357 INFO    ] 200
[2026-10-20 17:13:07,360.360 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:13:07,400.400 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:13:07,444.444 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:13:07,446.446 INFO    ] No camera update needed
[2026-10-20 17:13:07,449.449 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:13:07,451.451 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:13:07,456.456 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:13:07,462.462 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:13:09,501.501 INFO    ] ================================================
[2026-10-20 17:13:09,517.517 INFO    ] Launching Daemon at Tue Oct 20 17:13:09 IST 2026
[2026-10-20 17:13:09,527.527 INFO    ] ================================================
[2026-10-20 17:13:10,166.166 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:13:10
[2026-10-20 17:13:10,821.821 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:13:11,119.119 INFO    ] Initializing speech engine...
[2026-10-20 17:13:11,128.128 INFO    ] 2026-10-20 17:13:11
[2026-10-20 17:13:11,404.404 INFO    ] 2026-10-20 17:13:11
[2026-10-20 17:13:11,460.460 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:13:11,695.695 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:13:11,700.700 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:13:11,853.853 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:13:11,925.925 INFO    ] time= 20/10/2026 17:13:11
[2026-10-20 17:13:11,975.975 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:13:11,982.982 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:13:12,151.151 INFO    ] No existing commands found in stream
[2026-10-20 17:13:17,184.184 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:13:17,187.187 INFO    ] Waiting 3.95 seconds before fallback handling...
[2026-10-20 17:13:21,632.632 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 17:13:21,634.634 INFO    ] Checking for system updates...
[2026-10-20 17:13:21,671.671 INFO    ] 200
[2026-10-20 17:13:21,674.674 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:13:21,727.727 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:13:21,730.730 INFO    ] No update needed
[2026-10-20 17:13:21,735.735 INFO    ] Checking for camera pi updates...
[2026-10-20 17:13:21,782.782 INFO    ] 200
[2026-10-20 17:13:21,785.785 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:13:21,825.825 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:13:21,873.873 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:13:21,875.875 INFO    ] No camera update needed
[2026-10-20 17:13:21,877.877 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:13:21,880.880 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:13:21,885.885 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:13:21,892.892 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:13:23,931.931 INFO    ] ================================================
[2026-10-20 17:13:23,947.947 INFO    ] Launching Daemon at Tue Oct 20 17:13:23 IST 2026
[2026-10-20 17:13:23,957.957 INFO    ] ================================================
[2026-10-20 17:13:24,534.534 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:13:24
[2026-10-20 17:13:25,124.124 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:13:25,392.392 INFO    ] Initializing speech engine...
[2026-10-20 17:13:25,399.399 INFO    ] 2026-10-20 17:13:25
[2026-10-20 17:13:25,649.649 INFO    ] 2026-10-20 17:13:25
[2026-10-20 17:13:25,685.685 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:13:25,938.938 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:13:25,947.947 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:13:26,152.152 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:13:26,202.202 INFO    ] time= 20/10/2026 17:13:26
[2026-10-20 17:13:26,213.213 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:13:26,228.228 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:13:26,364.364 INFO    ] No existing commands found in stream
[2026-10-20 17:13:31,391.391 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:13:31,393.393 INFO    ] Waiting 3.94 seconds before fallback handling...
[2026-10-20 17:13:35,915.915 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:13:35,917.917 INFO    ] Checking for system updates...
[2026-10-20 17:13:35,953.953 INFO    ] 200
[2026-10-20 17:13:35,956.956 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:13:36,007.007 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:13:36,010.010 INFO    ] No update needed
[2026-10-20 17:13:36,012.012 INFO    ] Checking for camera pi updates...
[2026-10-20 17:13:36,045.045 INFO    ] 200
[2026-10-20 17:13:36,048.048 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:13:36,094.094 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:13:36,151.151 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:13:36,153.153 INFO    ] No camera update needed
[2026-10-20 17:13:36,156.156 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:13:36,158.158 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:13:36,163.163 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:13:36,168.168 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:13:38,209.209 INFO    ] ================================================
[2026-10-20 17:13:38,224.224 INFO    ] Launching Daemon at Tue Oct 20 17:13:38 IST 2026
[2026-10-20 17:13:38,235.235 INFO    ] ================================================
[2026-10-20 17:13:38,805.805 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:13:38
[2026-10-20 17:13:39,389.389 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:13:39,656.656 INFO    ] Initializing speech engine...
[2026-10-20 17:13:39,669.669 INFO    ] 2026-10-20 17:13:39
[2026-10-20 17:13:39,920.920 INFO    ] 2026-10-20 17:13:39
[2026-10-20 17:13:39,955.955 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:13:40,154.154 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:13:40,198.198 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:13:40,361.361 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:13:40,406.406 INFO    ] time= 20/10/2026 17:13:40
[2026-10-20 17:13:40,476.476 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:13:40,495.495 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:13:40,621.621 INFO    ] No existing commands found in stream
[2026-10-20 17:13:45,646.646 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:13:45,649.649 INFO    ] Waiting 1.32 seconds before fallback handling...
[2026-10-20 17:13:47,439.439 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:13:47,442.442 INFO    ] Checking for system updates...
[2026-10-20 17:13:47,476.476 INFO    ] 200
[2026-10-20 17:13:47,479.479 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:13:47,531.531 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:13:47,533.533 INFO    ] No update needed
[2026-10-20 17:13:47,535.535 INFO    ] Checking for camera pi updates...
[2026-10-20 17:13:47,573.573 INFO    ] 200
[2026-10-20 17:13:47,575.575 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:13:47,616.616 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:13:47,670.670 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:13:47,673.673 INFO    ] No camera update needed
[2026-10-20 17:13:47,675.675 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:13:47,677.677 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:13:47,683.683 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:13:47,687.687 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:13:49,728.728 INFO    ] ================================================
[2026-10-20 17:13:49,744.744 INFO    ] Launching Daemon at Tue Oct 20 17:13:49 IST 2026
[2026-10-20 17:13:49,756.756 INFO    ] ================================================
[2026-10-20 17:13:50,326.326 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:13:50
[2026-10-20 17:13:50,911.911 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:13:51,155.155 INFO    ] Initializing speech engine...
[2026-10-20 17:13:51,164.164 INFO    ] 2026-10-20 17:13:51
[2026-10-20 17:13:51,438.438 INFO    ] 2026-10-20 17:13:51
[2026-10-20 17:13:51,472.472 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:13:51,674.674 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:13:51,714.714 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:13:51,876.876 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:13:51,941.941 INFO    ] time= 20/10/2026 17:13:51
[2026-10-20 17:13:52,006.006 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:13:52,013.013 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:13:52,135.135 INFO    ] No existing commands found in stream
[2026-10-20 17:13:57,168.168 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:13:57,171.171 INFO    ] Waiting 0.52 seconds before fallback handling...
[2026-10-20 17:13:58,224.224 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:13:58,227.227 INFO    ] Checking for system updates...
[2026-10-20 17:13:58,264.264 INFO    ] 200
[2026-10-20 17:13:58,267.267 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:13:58,320.320 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:13:58,323.323 INFO    ] No update needed
[2026-10-20 17:13:58,325.325 INFO    ] Checking for camera pi updates...
[2026-10-20 17:13:58,360.360 INFO    ] 200
[2026-10-20 17:13:58,363.363 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:13:58,404.404 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:13:58,452.452 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:13:58,455.455 INFO    ] No camera update needed
[2026-10-20 17:13:58,458.458 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:13:58,460.460 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:13:58,467.467 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:13:58,473.473 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:14:00,513.513 INFO    ] ================================================
[2026-10-20 17:14:00,530.530 INFO    ] Launching Daemon at Tue Oct 20 17:14:00 IST 2026
[2026-10-20 17:14:00,541.541 INFO    ] ================================================
[2026-10-20 17:14:01,208.208 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:14:01
[2026-10-20 17:14:02,039.039 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:14:02,376.376 INFO    ] Initializing speech engine...
[2026-10-20 17:14:02,389.389 INFO    ] 2026-10-20 17:14:02
[2026-10-20 17:14:02,666.666 INFO    ] 2026-10-20 17:14:02
[2026-10-20 17:14:02,704.704 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:14:02,878.878 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:14:02,912.912 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:14:03,084.084 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:14:03,102.102 INFO    ] time= 20/10/2026 17:14:03
[2026-10-20 17:14:03,107.107 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:14:03,114.114 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:14:03,189.189 INFO    ] No existing commands found in stream
[2026-10-20 17:14:08,214.214 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:14:08,217.217 INFO    ] Waiting 0.20 seconds before fallback handling...
[2026-10-20 17:14:08,868.868 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:14:08,871.871 INFO    ] Checking for system updates...
[2026-10-20 17:14:08,906.906 INFO    ] 200
[2026-10-20 17:14:08,909.909 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:14:08,970.970 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:14:08,972.972 INFO    ] No update needed
[2026-10-20 17:14:08,975.975 INFO    ] Checking for camera pi updates...
[2026-10-20 17:14:09,011.011 INFO    ] 200
[2026-10-20 17:14:09,013.013 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:14:09,053.053 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:14:09,098.098 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:14:09,100.100 INFO    ] No camera update needed
[2026-10-20 17:14:09,103.103 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:14:09,105.105 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:14:09,110.110 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:14:09,115.115 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:14:11,155.155 INFO    ] ================================================
[2026-10-20 17:14:11,170.170 INFO    ] Launching Daemon at Tue Oct 20 17:14:11 IST 2026
[2026-10-20 17:14:11,181.181 INFO    ] ================================================
[2026-10-20 17:14:11,752.752 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:14:11
[2026-10-20 17:14:12,337.337 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:14:12,609.609 INFO    ] Initializing speech engine...
[2026-10-20 17:14:12,619.619 INFO    ] 2026-10-20 17:14:12
[2026-10-20 17:14:12,868.868 INFO    ] 2026-10-20 17:14:12
[2026-10-20 17:14:12,901.901 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:14:13,159.159 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:14:13,168.168 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:14:13,302.302 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:14:13,339.339 INFO    ] time= 20/10/2026 17:14:13
[2026-10-20 17:14:13,393.393 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:14:13,437.437 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:14:13,567.567 INFO    ] No existing commands found in stream
[2026-10-20 17:14:18,594.594 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:14:18,597.597 INFO    ] Waiting 2.33 seconds before fallback handling...
[2026-10-20 17:14:21,448.448 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 17:14:21,451.451 INFO    ] Checking for system updates...
[2026-10-20 17:14:21,486.486 INFO    ] 200
[2026-10-20 17:14:21,489.489 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:14:21,545.545 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:14:21,548.548 INFO    ] No update needed
[2026-10-20 17:14:21,550.550 INFO    ] Checking for camera pi updates...
[2026-10-20 17:14:21,586.586 INFO    ] 200
[2026-10-20 17:14:21,589.589 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:14:21,629.629 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:14:21,775.775 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:14:21,777.777 INFO    ] No camera update needed
[2026-10-20 17:14:21,780.780 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:14:21,782.782 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:14:21,787.787 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:14:21,792.792 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:14:23,833.833 INFO    ] ================================================
[2026-10-20 17:14:23,849.849 INFO    ] Launching Daemon at Tue Oct 20 17:14:23 IST 2026
[2026-10-20 17:14:23,860.860 INFO    ] ================================================
[2026-10-20 17:14:24,515.515 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:14:24
[2026-10-20 17:14:25,186.186 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:14:25,488.488 INFO    ] Initializing speech engine...
[2026-10-20 17:14:25,501.501 INFO    ] 2026-10-20 17:14:25
[2026-10-20 17:14:25,781.781 INFO    ] 2026-10-20 17:14:25
[2026-10-20 17:14:25,827.827 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:14:26,109.109 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:14:26,118.118 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:14:26,316.316 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:14:26,334.334 INFO    ] time= 20/10/2026 17:14:26
[2026-10-20 17:14:26,353.353 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:14:26,372.372 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:14:26,495.495 INFO    ] No existing commands found in stream
[2026-10-20 17:14:31,522.522 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:14:31,526.526 INFO    ] Waiting 0.84 seconds before fallback handling...
[2026-10-20 17:14:32,898.898 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:14:32,901.901 INFO    ] Checking for system updates...
[2026-10-20 17:14:32,936.936 INFO    ] 200
[2026-10-20 17:14:32,939.939 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:14:32,993.993 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:14:32,995.995 INFO    ] No update needed
[2026-10-20 17:14:32,997.997 INFO    ] Checking for camera pi updates...
[2026-10-20 17:14:33,030.030 INFO    ] 200
[2026-10-20 17:14:33,033.033 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:14:33,072.072 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:14:33,106.106 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:14:33,108.108 INFO    ] No camera update needed
[2026-10-20 17:14:33,111.111 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:14:33,113.113 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:14:33,118.118 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:14:33,123.123 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:14:35,163.163 INFO    ] ================================================
[2026-10-20 17:14:35,179.179 INFO    ] Launching Daemon at Tue Oct 20 17:14:35 IST 2026
[2026-10-20 17:14:35,189.189 INFO    ] ================================================
[2026-10-20 17:14:35,845.845 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:14:35
[2026-10-20 17:14:36,519.519 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:14:36,820.820 INFO    ] Initializing speech engine...
[2026-10-20 17:14:36,826.826 INFO    ] 2026-10-20 17:14:36
[2026-10-20 17:14:37,145.145 INFO    ] 2026-10-20 17:14:37
[2026-10-20 17:14:37,232.232 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:14:37,446.446 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:14:37,488.488 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:14:37,657.657 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:14:37,668.668 INFO    ] time= 20/10/2026 17:14:37
[2026-10-20 17:14:37,695.695 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:14:37,705.705 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:14:37,829.829 INFO    ] No existing commands found in stream
[2026-10-20 17:14:42,860.860 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:14:42,864.864 INFO    ] Waiting 1.72 seconds before fallback handling...
[2026-10-20 17:14:45,093.093 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:14:45,096.096 INFO    ] Checking for system updates...
[2026-10-20 17:14:45,137.137 INFO    ] 200
[2026-10-20 17:14:45,140.140 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:14:45,193.193 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:14:45,195.195 INFO    ] No update needed
[2026-10-20 17:14:45,198.198 INFO    ] Checking for camera pi updates...
[2026-10-20 17:14:45,236.236 INFO    ] 200
[2026-10-20 17:14:45,239.239 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:14:45,285.285 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:14:45,335.335 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:14:45,337.337 INFO    ] No camera update needed
[2026-10-20 17:14:45,340.340 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:14:45,343.343 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:14:45,349.349 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:14:45,355.355 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:14:47,396.396 INFO    ] ================================================
[2026-10-20 17:14:47,412.412 INFO    ] Launching Daemon at Tue Oct 20 17:14:47 IST 2026
[2026-10-20 17:14:47,422.422 INFO    ] ================================================
[2026-10-20 17:14:48,007.007 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:14:48
[2026-10-20 17:14:48,606.606 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:14:48,877.877 INFO    ] Initializing speech engine...
[2026-10-20 17:14:48,886.886 INFO    ] 2026-10-20 17:14:48
[2026-10-20 17:14:49,136.136 INFO    ] 2026-10-20 17:14:49
[2026-10-20 17:14:49,177.177 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:14:49,426.426 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:14:49,431.431 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:14:49,571.571 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:14:49,636.636 INFO    ] time= 20/10/2026 17:14:49
[2026-10-20 17:14:49,691.691 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:14:49,699.699 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:14:49,846.846 INFO    ] No existing commands found in stream
[2026-10-20 17:14:54,857.857 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:14:54,860.860 INFO    ] Waiting 1.57 seconds before fallback handling...
[2026-10-20 17:14:56,900.900 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 17:14:56,903.903 INFO    ] Checking for system updates...
[2026-10-20 17:14:56,938.938 INFO    ] 200
[2026-10-20 17:14:56,940.940 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:14:56,994.994 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:14:56,996.996 INFO    ] No update needed
[2026-10-20 17:14:56,999.999 INFO    ] Checking for camera pi updates...
[2026-10-20 17:14:57,036.036 INFO    ] 200
[2026-10-20 17:14:57,038.038 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:14:57,084.084 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:14:57,137.137 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:14:57,140.140 INFO    ] No camera update needed
[2026-10-20 17:14:57,142.142 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:14:57,145.145 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:14:57,150.150 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:14:57,155.155 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:14:59,195.195 INFO    ] ================================================
[2026-10-20 17:14:59,210.210 INFO    ] Launching Daemon at Tue Oct 20 17:14:59 IST 2026
[2026-10-20 17:14:59,220.220 INFO    ] ================================================
[2026-10-20 17:14:59,805.805 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:14:59
[2026-10-20 17:15:00,404.404 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:15:00,676.676 INFO    ] Initializing speech engine...
[2026-10-20 17:15:00,695.695 INFO    ] 2026-10-20 17:15:00
[2026-10-20 17:15:00,970.970 INFO    ] 2026-10-20 17:15:00
[2026-10-20 17:15:01,007.007 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:15:01,269.269 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:15:01,306.306 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:15:01,487.487 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:15:01,524.524 INFO    ] time= 20/10/2026 17:15:01
[2026-10-20 17:15:01,569.569 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:15:01,573.573 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:15:01,709.709 INFO    ] No existing commands found in stream
[2026-10-20 17:15:06,720.720 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:15:06,723.723 INFO    ] Waiting 3.08 seconds before fallback handling...
[2026-10-20 17:15:10,299.299 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:15:10,302.302 INFO    ] Checking for system updates...
[2026-10-20 17:15:10,337.337 INFO    ] 200
[2026-10-20 17:15:10,340.340 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:15:10,403.403 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:15:10,405.405 INFO    ] No update needed
[2026-10-20 17:15:10,408.408 INFO    ] Checking for camera pi updates...
[2026-10-20 17:15:10,442.442 INFO    ] 200
[2026-10-20 17:15:10,444.444 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:15:10,485.485 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:15:10,535.535 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:15:10,538.538 INFO    ] No camera update needed
[2026-10-20 17:15:10,540.540 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:15:10,543.543 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:15:10,548.548 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:15:10,553.553 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:15:12,593.593 INFO    ] ================================================
[2026-10-20 17:15:12,608.608 INFO    ] Launching Daemon at Tue Oct 20 17:15:12 IST 2026
[2026-10-20 17:15:12,618.618 INFO    ] ================================================
[2026-10-20 17:15:13,194.194 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:15:13
[2026-10-20 17:15:13,791.791 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:15:14,084.084 INFO    ] Initializing speech engine...
[2026-10-20 17:15:14,091.091 INFO    ] 2026-10-20 17:15:14
[2026-10-20 17:15:14,400.400 INFO    ] 2026-10-20 17:15:14
[2026-10-20 17:15:14,485.485 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:15:14,692.692 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:15:14,699.699 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:15:14,893.893 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:15:14,901.901 INFO    ] time= 20/10/2026 17:15:14
[2026-10-20 17:15:14,919.919 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:15:14,930.930 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:15:15,065.065 INFO    ] No existing commands found in stream
[2026-10-20 17:15:20,094.094 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:15:20,097.097 INFO    ] Waiting 2.34 seconds before fallback handling...
[2026-10-20 17:15:22,964.964 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 17:15:22,967.967 INFO    ] Checking for system updates...
[2026-10-20 17:15:23,003.003 INFO    ] 200
[2026-10-20 17:15:23,005.005 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:15:23,059.059 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:15:23,061.061 INFO    ] No update needed
[2026-10-20 17:15:23,064.064 INFO    ] Checking for camera pi updates...
[2026-10-20 17:15:23,104.104 INFO    ] 200
[2026-10-20 17:15:23,106.106 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:15:23,152.152 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:15:23,207.207 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:15:23,210.210 INFO    ] No camera update needed
[2026-10-20 17:15:23,213.213 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:15:23,215.215 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:15:23,220.220 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:15:23,225.225 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:15:25,267.267 INFO    ] ================================================
[2026-10-20 17:15:25,283.283 INFO    ] Launching Daemon at Tue Oct 20 17:15:25 IST 2026
[2026-10-20 17:15:25,293.293 INFO    ] ================================================
[2026-10-20 17:15:25,865.865 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:15:25
[2026-10-20 17:15:26,457.457 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:15:26,732.732 INFO    ] Initializing speech engine...
[2026-10-20 17:15:26,739.739 INFO    ] 2026-10-20 17:15:26
[2026-10-20 17:15:26,985.985 INFO    ] 2026-10-20 17:15:26
[2026-10-20 17:15:27,017.017 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:15:27,258.258 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:15:27,278.278 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:15:27,417.417 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:15:27,440.440 INFO    ] time= 20/10/2026 17:15:27
[2026-10-20 17:15:27,495.495 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:15:27,539.539 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:15:27,687.687 INFO    ] No existing commands found in stream
[2026-10-20 17:15:32,711.711 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:15:32,714.714 INFO    ] Waiting 3.97 seconds before fallback handling...
[2026-10-20 17:15:37,206.206 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:15:37,208.208 INFO    ] Checking for system updates...
[2026-10-20 17:15:37,244.244 INFO    ] 200
[2026-10-20 17:15:37,247.247 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:15:37,300.300 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:15:37,303.303 INFO    ] No update needed
[2026-10-20 17:15:37,306.306 INFO    ] Checking for camera pi updates...
[2026-10-20 17:15:37,339.339 INFO    ] 200
[2026-10-20 17:15:37,341.341 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:15:37,381.381 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:15:37,428.428 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:15:37,431.431 INFO    ] No camera update needed
[2026-10-20 17:15:37,433.433 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:15:37,436.436 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:15:37,442.442 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:15:37,447.447 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:15:39,487.487 INFO    ] ================================================
[2026-10-20 17:15:39,502.502 INFO    ] Launching Daemon at Tue Oct 20 17:15:39 IST 2026
[2026-10-20 17:15:39,512.512 INFO    ] ================================================
[2026-10-20 17:15:40,077.077 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:15:40
[2026-10-20 17:15:40,663.663 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:15:40,916.916 INFO    ] Initializing speech engine...
[2026-10-20 17:15:40,939.939 INFO    ] 2026-10-20 17:15:40
[2026-10-20 17:15:41,195.195 INFO    ] 2026-10-20 17:15:41
[2026-10-20 17:15:41,229.229 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:15:41,491.491 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:15:41,500.500 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:15:41,638.638 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:15:41,667.667 INFO    ] time= 20/10/2026 17:15:41
[2026-10-20 17:15:41,726.726 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:15:41,772.772 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:15:41,903.903 INFO    ] No existing commands found in stream
[2026-10-20 17:15:46,923.923 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:15:46,926.926 INFO    ] Waiting 1.25 seconds before fallback handling...
[2026-10-20 17:15:48,732.732 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:15:48,735.735 INFO    ] Checking for system updates...
[2026-10-20 17:15:48,778.778 INFO    ] 200
[2026-10-20 17:15:48,780.780 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:15:48,837.837 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:15:48,839.839 INFO    ] No update needed
[2026-10-20 17:15:48,842.842 INFO    ] Checking for camera pi updates...
[2026-10-20 17:15:48,877.877 INFO    ] 200
[2026-10-20 17:15:48,879.879 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:15:48,923.923 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:15:48,971.971 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:15:48,973.973 INFO    ] No camera update needed
[2026-10-20 17:15:48,976.976 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:15:48,979.979 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:15:48,985.985 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:15:48,991.991 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:15:51,031.031 INFO    ] ================================================
[2026-10-20 17:15:51,046.046 INFO    ] Launching Daemon at Tue Oct 20 17:15:51 IST 2026
[2026-10-20 17:15:51,057.057 INFO    ] ================================================
[2026-10-20 17:15:51,628.628 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:15:51
[2026-10-20 17:15:52,217.217 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:15:52,491.491 INFO    ] Initializing speech engine...
[2026-10-20 17:15:52,500.500 INFO    ] 2026-10-20 17:15:52
[2026-10-20 17:15:52,751.751 INFO    ] 2026-10-20 17:15:52
[2026-10-20 17:15:52,793.793 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:15:53,048.048 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:15:53,053.053 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:15:53,195.195 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:15:53,256.256 INFO    ] time= 20/10/2026 17:15:53
[2026-10-20 17:15:53,310.310 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:15:53,325.325 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:15:53,481.481 INFO    ] Found 1 existing command(s) in stream
[2026-10-20 17:15:53,534.534 INFO    ] Checking historical command: ID=1792496749850-0
[2026-10-20 17:15:53,589.589 INFO    ] process_and_cleanup_command: msg_id=1792496749850-0
[2026-10-20 17:15:53,607.607 INFO    ] is_command_expired: timestamp=2026-10-20T11:55:18.505Z, expiry=30s
[2026-10-20 17:15:53,812.812 INFO    ] Command removed from stream: 1792496749850-0. returning for processing...
[2026-10-20 17:15:53,822.822 INFO    ] ***** get_valid_command
[2026-10-20 17:15:53,825.825 INFO    ] {'data': '{"request_id":"start-order-1792497318505-qcatgesu1","orderId":"TM04202203261020171516139","is_vending":false}', 'command': 'start-order', 'timeout': '10', 'source': 'webapp', 'timestamp': '2026-10-20T11:55:18.505Z'}
[2026-10-20 17:15:53,829.829 INFO    ] ***** Parsed command data: {'orderId': 'TM04202203261020171516139', 'is_vending': False, 'request_id': 'start-order-1792497318505-qcatgesu1'}
[2026-10-20 17:15:53,832.832 INFO    ] Handling start order...
[2026-10-20 17:15:53,904.904 INFO    ] handle_start_order_command
[2026-10-20 17:15:53,967.967 INFO    ] _send_start_order_success: request_id=start-order-1792497318505-qcatgesu1, order_id=TM04202203261020171516139
[2026-10-20 17:15:53,974.974 INFO    ] [_send_start_order_success] Adding message to stream: machine:TM04202203
[2026-10-20 17:15:54,085.085 INFO    ] [_send_start_order_success] Message added to stream with ID: 1792496754092-0
[2026-10-20 17:15:54,090.090 INFO    ] ✅ Start-order command succeeded - order locked, waiting for process-order command
[2026-10-20 17:15:54,093.093 INFO    ] Checking for system updates...
[2026-10-20 17:15:54,226.226 INFO    ] 200
[2026-10-20 17:15:54,247.247 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:15:54,319.319 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:15:54,324.324 INFO    ] No update needed
[2026-10-20 17:15:54,328.328 INFO    ] Checking for camera pi updates...
[2026-10-20 17:15:54,371.371 INFO    ] 200
[2026-10-20 17:15:54,377.377 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:15:54,423.423 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:15:54,477.477 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:15:54,484.484 INFO    ] No camera update needed
[2026-10-20 17:15:54,491.491 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:15:54,498.498 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:15:54,511.511 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:15:54,523.523 INFO    ] Thread: Thread-1, daemon=True, alive=True
[2026-10-20 17:15:54,536.536 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:15:56,587.587 INFO    ] ================================================
[2026-10-20 17:15:56,602.602 INFO    ] Launching Daemon at Tue Oct 20 17:15:56 IST 2026
[2026-10-20 17:15:56,614.614 INFO    ] ================================================
[2026-10-20 17:15:57,270.270 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:15:57
[2026-10-20 17:15:57,946.946 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:15:58,250.250 INFO    ] Initializing speech engine...
[2026-10-20 17:15:58,256.256 INFO    ] 2026-10-20 17:15:58
[2026-10-20 17:15:58,532.532 INFO    ] 2026-10-20 17:15:58
[2026-10-20 17:15:58,568.568 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:15:58,822.822 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:15:58,832.832 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:15:58,992.992 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:15:59,057.057 INFO    ] time= 20/10/2026 17:15:59
[2026-10-20 17:15:59,104.104 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:15:59,111.111 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:15:59,263.263 INFO    ] Found 2 existing command(s) in stream
[2026-10-20 17:15:59,309.309 INFO    ] Checking historical command: ID=1792496754092-0
[2026-10-20 17:15:59,364.364 INFO    ] process_and_cleanup_command: msg_id=1792496754092-0
[2026-10-20 17:15:59,415.415 INFO    ] is_command_expired: timestamp=2026-10-20T11:45:53.971928Z, expiry=30s
[2026-10-20 17:15:59,682.682 INFO    ] Command removed from stream: 1792496754092-0. returning for processing...
[2026-10-20 17:15:59,727.727 INFO    ] ***** get_valid_command
[2026-10-20 17:15:59,744.744 INFO    ] {'metadata_request_id': 'start-order-1792497318505-qcatgesu1', 'status': 'success', 'timestamp': '2026-10-20T11:45:53.971928Z', 'imei': 'TM04202203', 'message': 'start-order success', 'message_type': 'command_response', 'metadata_order_id': 'TM04202203261020171516139'}
[2026-10-20 17:15:59,752.752 INFO    ] Checking historical command: ID=1792496755727-0
[2026-10-20 17:15:59,803.803 INFO    ] process_and_cleanup_command: msg_id=1792496755727-0
[2026-10-20 17:15:59,806.806 INFO    ] is_command_expired: timestamp=2026-10-20T11:55:24.446Z, expiry=30s
[2026-10-20 17:15:59,958.958 INFO    ] Command removed from stream: 1792496755727-0. returning for processing...
[2026-10-20 17:16:00,004.004 INFO    ] ***** get_valid_command
[2026-10-20 17:16:00,011.011 INFO    ] {'source': 'webapp', 'command': 'process-order', 'timeout': '60', 'timestamp': '2026-10-20T11:55:24.446Z', 'data': '{"request_id":"process-order-1792497324446-rfplkzq47","orderId":"TM04202203261020171516139","is_vending":false,"accessCode":"53581285"}'}
[2026-10-20 17:16:00,017.017 INFO    ] ***** Parsed command data: {'accessCode': '53581285', 'orderId': 'TM04202203261020171516139', 'is_vending': False, 'request_id': 'process-order-1792497324446-rfplkzq47'}
[2026-10-20 17:16:00,026.026 INFO    ] Handling process order...
[2026-10-20 17:16:00,032.032 INFO    ] Processing process-order command...
[2026-10-20 17:16:00,041.041 INFO    ] 🔍 Lock file Order ID: TM04202203261020171516139, TS: 2026-10-20 17:15:53
[2026-10-20 17:16:00,061.061 INFO    ] ✅ Order lock valid for TM04202203261020171516139
[2026-10-20 17:16:00,066.066 INFO    ] Received access code in process-order, skipping PHP API call
[2026-10-20 17:16:00,073.073 INFO    ] processing access code 53581285 for order TM04202203261020171516139
[2026-10-20 17:16:00,081.081 INFO    ] 🔍 Lock file Order ID: TM04202203261020171516139, TS: 2026-10-20 17:15:53
[2026-10-20 17:16:00,088.088 INFO    ] ✅ Order lock valid for TM04202203261020171516139
[2026-10-20 17:16:00,094.094 INFO    ] 2026-10-20 17:16:00
[2026-10-20 17:16:00,145.145 INFO    ] 200
[2026-10-20 17:16:00,152.152 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:16:00,159.159 INFO    ] 53581285
[2026-10-20 17:16:00,164.164 INFO    ] 2026-10-20 17:16:00
[2026-10-20 17:16:00,169.169 INFO    ] session id :291943324
[2026-10-20 17:16:00,175.175 INFO    ] http://localhost:5000/v2/getOrderByAccessCode?access_code=53581285&imei=TM04202203&session_id=291943324
[2026-10-20 17:16:01,347.347 INFO    ] 200
[2026-10-20 17:16:01,354.354 INFO    ] {"data": {"access_code": "53581285", "bill_amount": "20", "invoice_bill": "20", "order_id": "TM04202203261020171516139", "mobile": "9686470596", "proposed_sku_json": [{"image_url": "https://images.tinymart.in/product/8639-1552.png", "door_id": "2", "mrp": "20", "offer_id": "", "name": "Sprite, 250ml", "unit_price": 20, "qty": 1, "offer_desc": "", "skuid": "8639", "sku_total": 20, "tray_id": "43"}]}, "status": true, "msg": "Order Data", "rstatus": true}
[2026-10-20 17:16:01,364.364 INFO    ] 20
[2026-10-20 17:16:01,375.375 INFO    ] TM04202203261020171516139
[2026-10-20 17:16:01,385.385 INFO    ] 9686470596
[2026-10-20 17:16:01,405.405 INFO    ] 2026-10-20 17:16:01
[2026-10-20 17:16:01,427.427 INFO    ] Door Opening for user mobile ending with  zero five nine six 
[2026-10-20 17:16:01,436.436 INFO    ] Door Opening for user mobile ending with  zero five nine six 
[2026-10-20 17:16:01,461.461 INFO    ] d4400e1f5500a4c4ef8395e8b108c4e3
[2026-10-20 17:16:01,468.468 INFO    ] 2026-10-20 17:16:01
[2026-10-20 17:16:01,476.476 INFO    ] playing audio file
[2026-10-20 17:16:01,504.504 INFO    ] 2026-10-20 17:16:01
[2026-10-20 17:16:01,525.525 INFO    ] 2026-10-20 17:16:01
[2026-10-20 17:16:01,556.556 INFO    ] publish_status: order_id=TM04202203261020171516139
[2026-10-20 17:16:01,597.597 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020171516139
[2026-10-20 17:16:01,724.724 INFO    ] [publish_status] Message added to stream with ID: 1792496761729-0
[2026-10-20 17:16:01,740.740 INFO    ] Published to order:TM04202203261020171516139: {'server_response': '{"msg": "Order Data", "rstatus": true, "status": true, "data": {"proposed_sku_json": [{"tray_id": "43", "sku_total": 20, "offer_id": "", "unit_price": 20, "mrp": "20", "offer_desc": "", "qty": 1, "image_url": "https://images.tinymart.in/product/8639-1552.png", "door_id": "2", "skuid": "8639", "name": "Sprite, 250ml"}], "invoice_bill": "20", "mobile": "9686470596", "order_id": "TM04202203261020171516139", "access_code": "53581285", "bill_amount": "20"}}', 'order_id': 'TM04202203261020171516139', 'timestamp': '2026-10-20T11:46:01.535321Z', 'server_status': 'order-started'} (ID: 1792496761729-0)
[2026-10-20 17:16:02,397.397 INFO    ] {'server_response': {'msg': 'Order Data', 'rstatus': True, 'status': True, 'data': {'proposed_sku_json': [{'tray_id': '43', 'sku_total': 20, 'offer_id': '', 'unit_price': 20, 'mrp': '20', 'offer_desc': '', 'qty': 1, 'image_url': 'https://images.tinymart.in/product/8639-1552.png', 'door_id': '2', 'skuid': '8639', 'name': 'Sprite, 250ml'}], 'invoice_bill': '20', 'mobile': '9686470596', 'order_id': 'TM04202203261020171516139', 'access_code': '53581285', 'bill_amount': '20'}}, 'order_id': 'TM04202203261020171516139', 'server_status': 'order-started'}
[2026-10-20 17:16:02,401.401 INFO    ] 200
[2026-10-20 17:16:02,405.405 INFO    ] {"data":{"server_response":{"msg":"Order Data","rstatus":true,"status":true,"data":{"proposed_sku_json":[{"tray_id":"43","sku_total":20,"offer_id":"","unit_price":20,"mrp":"20","offer_desc":"","qty":1,"image_url":"https:\/\/images.tinymart.in\/product\/8639-1552.png","door_id":"2","skuid":"8639","name":"Sprite, 250ml"}],"invoice_bill":"20","mobile":"9686470596","order_id":"TM04202203261020171516139","access_code":"53581285","bill_amount":"20"}},"order_id":"TM04202203261020171516139","server_status":"order-started"},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 17:16:02,410.410 INFO    ] {'response': {'code': 'ORDER_EXISTS', 'msg': 'order updated successfully', 'status': True, 'data': 'order updated successfully'}, 'data': {'server_response': {'data': {'proposed_sku_json': [{'offer_desc': '', 'image_url': 'https://images.tinymart.in/product/8639-1552.png', 'offer_id': '', 'name': 'Sprite, 250ml', 'mrp': '20', 'tray_id': '43', 'qty': 1, 'sku_total': 20, 'door_id': '2', 'skuid': '8639', 'unit_price': 20}], 'invoice_bill': '20', 'mobile': '9686470596', 'order_id': 'TM04202203261020171516139', 'access_code': '53581285', 'bill_amount': '20'}, 'status': True, 'msg': 'Order Data', 'rstatus': True}, 'order_id': 'TM04202203261020171516139', 'server_status': 'order-started'}}
[2026-10-20 17:16:02,414.414 INFO    ] 2026-10-20 17:16:02
[2026-10-20 17:16:02,473.473 INFO    ] 200
[2026-10-20 17:16:02,476.476 INFO    ] True
[2026-10-20 17:16:02,683.683 INFO    ] 200
[2026-10-20 17:16:02,687.687 INFO    ] {"SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "rstatus": false, "voiceNote": "Please Wait", "status": "False", "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait while we process your order", "Note": "", "Header": " Your order is under process  "}, "SectionMain": {"Header": "Processing Order"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 17:16:02,692.692 INFO    ] {'SectionMain': {'Header': 'Processing Order'}, 'rstatus': False, 'error': {'code': 20001, 'umessage': 'In Progress', 'tmessage': 'In Progress', 'data': {}}, 'SectionStatus': {'UI_Header': '', 'SubHeader': 'Please wait while we process your order', 'Note': '', 'Header': ' Your order is under process  '}, 'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'voiceNote': 'Please Wait', 'status': 'False'}
[2026-10-20 17:16:02,696.696 INFO    ] *** process_order ***
[2026-10-20 17:16:03,897.897 INFO    ] 200
[2026-10-20 17:16:03,900.900 INFO    ] {"SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "rstatus": true, "voiceNote": "Please Wait", "delay": 0, "status": "True", "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait while we process your order", "Note": "", "Header": " Your order is under process  "}, "SectionMain": {"Header": "Processing Order"}}
[2026-10-20 17:16:03,903.903 INFO    ] {'delay': 0, 'SectionMain': {'Header': 'Processing Order'}, 'rstatus': True, 'SectionStatus': {'UI_Header': '', 'SubHeader': 'Please wait while we process your order', 'Note': '', 'Header': ' Your order is under process  '}, 'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'voiceNote': 'Please Wait', 'status': 'True'}
[2026-10-20 17:16:03,906.906 INFO    ] *** process_order ***
[2026-10-20 17:16:03,909.909 INFO    ] publish_status: order_id=TM04202203261020171516139
[2026-10-20 17:16:03,912.912 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020171516139
[2026-10-20 17:16:03,982.982 INFO    ] [publish_status] Message added to stream with ID: 1792496764000-0
[2026-10-20 17:16:03,987.987 INFO    ] Published to order:TM04202203261020171516139: {'server_response': '{"delay": 0, "rstatus": true, "SectionMain": {"Header": "Processing Order"}, "SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "SectionStatus": {"UI_Header": "", "SubHeader": "You can pull the door now.", "Note": "", "Header": " Your order is under process  "}, "voiceNote": "Door is open...", "status": "True"}', 'order_id': 'TM04202203261020171516139', 'server_status': 'doorOpened'} (ID: 1792496764000-0)
[2026-10-20 17:16:05,054.054 INFO    ] 2026-10-20 17:16:05
[2026-10-20 17:16:05,058.058 INFO    ] publish_status: order_id=TM04202203261020171516139
[2026-10-20 17:16:05,062.062 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020171516139
[2026-10-20 17:16:05,173.173 INFO    ] [publish_status] Message added to stream with ID: 1792496765190-0
[2026-10-20 17:16:05,176.176 INFO    ] Published to order:TM04202203261020171516139: {'server_response': '{"delay": 0, "SectionMain": {"Header": "Processing Order"}, "rstatus": true, "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait while we process your order", "Note": "", "Header": " Your order is under process  "}, "SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "voiceNote": "Please Wait", "status": "True"}', 'order_id': 'TM04202203261020171516139', 'timestamp': '2026-10-20T11:46:05.056054Z', 'server_status': 'processOrder'} (ID: 1792496765190-0)
[2026-10-20 17:16:05,325.325 INFO    ] {'server_response': {'delay': 0, 'SectionMain': {'Header': 'Processing Order'}, 'rstatus': True, 'SectionStatus': {'UI_Header': '', 'SubHeader': 'Please wait while we process your order', 'Note': '', 'Header': ' Your order is under process  '}, 'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'voiceNote': 'Please Wait', 'status': 'True'}, 'order_id': 'TM04202203261020171516139', 'server_status': 'processOrder'}
[2026-10-20 17:16:05,328.328 INFO    ] 200
[2026-10-20 17:16:05,331.331 INFO    ] {"data":{"server_response":{"delay":0,"SectionMain":{"Header":"Processing Order"},"rstatus":true,"SectionStatus":{"UI_Header":"","SubHeader":"Please wait while we process your order","Note":"","Header":" Your order is under process  "},"SectionSKU":{"skus":[],"Header":"Thank you for bearing with us :)"},"voiceNote":"Please Wait","status":"true"},"order_id":"TM04202203261020171516139","server_status":"processOrder"},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 17:16:05,334.334 INFO    ] {'response': {'code': 'ORDER_EXISTS', 'msg': 'order updated successfully', 'status': True, 'data': 'order updated successfully'}, 'data': {'server_response': {'delay': 0, 'SectionMain': {'Header': 'Processing Order'}, 'rstatus': True, 'SectionStatus': {'UI_Header': '', 'SubHeader': 'Please wait while we process your order', 'Note': '', 'Header': ' Your order is under process  '}, 'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'voiceNote': 'Please Wait', 'status': 'true'}, 'order_id': 'TM04202203261020171516139', 'server_status': 'processOrder'}}
[2026-10-20 17:16:05,337.337 INFO    ] 2026-10-20 17:16:05
[2026-10-20 17:16:05,340.340 INFO    ] None
[2026-10-20 17:16:05,343.343 INFO    ] Opening Door now
[2026-10-20 17:16:05,346.346 INFO    ] Opening Door now
[2026-10-20 17:16:05,349.349 INFO    ] 08e5d1063504bf393c26f0bfa436e9f9
[2026-10-20 17:16:05,353.353 INFO    ] 2026-10-20 17:16:05
[2026-10-20 17:16:05,356.356 INFO    ] playing audio file
[2026-10-20 17:16:05,374.374 INFO    ] 2026-10-20 17:16:05
[2026-10-20 17:16:05,378.378 INFO    ] 2026-10-20 17:16:05
[2026-10-20 17:16:08,449.449 INFO    ] 200
[2026-10-20 17:16:08,452.452 INFO    ] {"SectionSKU": {"skus": [{"name": "Sprite, 250ml", "qty": 1}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Door 2 is open now", "status": "False", "SectionStatus": {"UI_Header": "DOOR 2\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 2"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 17:16:08,455.455 INFO    ] {'SectionMain': {'Header': 'Door Open'}, 'rstatus': False, 'error': {'code': 20001, 'umessage': 'In Progress', 'tmessage': 'In Progress', 'data': {}}, 'SectionStatus': {'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'SubHeader': 'Please Pick the Products and close the door', 'Note': 'Please Close the door after picking up products', 'Header': 'Please Close Door 2'}, 'SectionSKU': {'skus': [{'qty': 1, 'name': 'Sprite, 250ml'}], 'Header': 'Pick the below items from the door'}, 'voiceNote': 'Door 2 is open now', 'status': 'False'}
[2026-10-20 17:16:11,532.532 INFO    ] 200
[2026-10-20 17:16:11,535.535 INFO    ] {"SectionSKU": {"skus": [{"name": "Sprite, 250ml", "qty": 1}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Please close door 2", "status": "False", "SectionStatus": {"UI_Header": "DOOR 2\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 2"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 17:16:11,539.539 INFO    ] {'SectionMain': {'Header': 'Door Open'}, 'rstatus': False, 'error': {'code': 20001, 'umessage': 'In Progress', 'tmessage': 'In Progress', 'data': {}}, 'SectionStatus': {'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'SubHeader': 'Please Pick the Products and close the door', 'Note': 'Please Close the door after picking up products', 'Header': 'Please Close Door 2'}, 'SectionSKU': {'skus': [{'qty': 1, 'name': 'Sprite, 250ml'}], 'Header': 'Pick the below items from the door'}, 'voiceNote': 'Please close door 2', 'status': 'False'}
[2026-10-20 17:16:14,617.617 INFO    ] 200
[2026-10-20 17:16:14,621.621 INFO    ] {"SectionSKU": {"skus": [{"name": "Sprite, 250ml", "qty": 1}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Please close door 2", "status": "False", "SectionStatus": {"UI_Header": "DOOR 2\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 2"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 17:16:14,625.625 INFO    ] Please close door 2
[2026-10-20 17:16:14,628.628 INFO    ] Please close door 2
[2026-10-20 17:16:14,631.631 INFO    ] 758e46684c76e887a5f58d4738034bed
[2026-10-20 17:16:14,635.635 INFO    ] 2026-10-20 17:16:14
[2026-10-20 17:16:14,637.637 INFO    ] playing audio file
[2026-10-20 17:16:14,655.655 INFO    ] 2026-10-20 17:16:14
[2026-10-20 17:16:14,660.660 INFO    ] publish_status: order_id=TM04202203261020171516139
[2026-10-20 17:16:14,663.663 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020171516139
[2026-10-20 17:16:14,762.762 INFO    ] [publish_status] Message added to stream with ID: 1792496774780-0
[2026-10-20 17:16:14,765.765 INFO    ] Published to order:TM04202203261020171516139: {'server_response': '{"SectionMain": {"Header": "Door Open"}, "rstatus": false, "error": {"code": 20001, "umessage": "In Progress", "tmessage": "In Progress", "data": {}}, "SectionStatus": {"UI_Header": "DOOR 2\\nIS \\nOPEN \\nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 2"}, "SectionSKU": {"skus": [{"qty": 1, "name": "Sprite, 250ml"}], "Header": "Pick the below items from the door"}, "voiceNote": "Please close door 2", "status": "False"}', 'order_id': 'TM04202203261020171516139', 'timestamp': '2026-10-20T11:46:14.657553Z', 'server_status': 'OrderStatus'} (ID: 1792496774780-0)
[2026-10-20 17:16:15,383.383 INFO    ] {'server_response': {'SectionMain': {'Header': 'Door Open'}, 'rstatus': False, 'error': {'code': 20001, 'umessage': 'In Progress', 'tmessage': 'In Progress', 'data': {}}, 'SectionStatus': {'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'SubHeader': 'Please Pick the Products and close the door', 'Note': 'Please Close the door after picking up products', 'Header': 'Please Close Door 2'}, 'SectionSKU': {'skus': [{'qty': 1, 'name': 'Sprite, 250ml'}], 'Header': 'Pick the below items from the door'}, 'voiceNote': 'Please close door 2', 'status': 'False'}, 'order_id': 'TM04202203261020171516139', 'server_status': 'OrderStatus'}
[2026-10-20 17:16:15,386.386 INFO    ] 200
[2026-10-20 17:16:15,388.388 INFO    ] {"data":{"server_response":{"SectionMain":{"Header":"Door Open"},"rstatus":false,"error":{"code":20001,"umessage":"In Progress","tmessage":"In Progress","data":[]},"SectionStatus":{"UI_Header":"DOOR 2\nIS \nOPEN \nNOW","SubHeader":"Please Pick the Products and close the door","Note":"Please Close the door after picking up products","Header":"Please Close Door 2"},"SectionSKU":{"skus":[{"qty":1,"name":"Sprite, 250ml"}],"Header":"Pick the below items from the door"},"voiceNote":"Please close door 2","status":"false"},"order_id":"TM04202203261020171516139","server_status":"OrderStatus"},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 17:16:15,392.392 INFO    ] {'response': {'code': 'ORDER_EXISTS', 'msg': 'order updated successfully', 'status': True, 'data': 'order updated successfully'}, 'data': {'server_response': {'rstatus': False, 'error': {'code': 20001, 'umessage': 'In Progress', 'tmessage': 'In Progress', 'data': []}, 'SectionSKU': {'skus': [{'qty': 1, 'name': 'Sprite, 250ml'}], 'Header': 'Pick the below items from the door'}, 'SectionMain': {'Header': 'Door Open'}, 'SectionStatus': {'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'SubHeader': 'Please Pick the Products and close the door', 'Note': 'Please Close the door after picking up products', 'Header': 'Please Close Door 2'}, 'voiceNote': 'Please close door 2', 'status': 'false'}, 'order_id': 'TM04202203261020171516139', 'server_status': 'OrderStatus'}}
[2026-10-20 17:16:15,395.395 INFO    ] {'SectionMain': {'Header': 'Door Open'}, 'rstatus': False, 'error': {'code': 20001, 'umessage': 'In Progress', 'tmessage': 'In Progress', 'data': {}}, 'SectionStatus': {'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'SubHeader': 'Please Pick the Products and close the door', 'Note': 'Please Close the door after picking up products', 'Header': 'Please Close Door 2'}, 'SectionSKU': {'skus': [{'qty': 1, 'name': 'Sprite, 250ml'}], 'Header': 'Pick the below items from the door'}, 'voiceNote': 'Please close door 2', 'status': 'False'}
[2026-10-20 17:16:18,465.465 INFO    ] 200
[2026-10-20 17:16:18,468.468 INFO    ] {"SectionSKU": {"skus": [{"name": "Sprite, 250ml", "qty": 1}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Door 2 is closed now", "delay": 1000, "status": "False", "SectionStatus": {"UI_Header": "DOOR 2\nIS \nCLOSED \nNOW", "SubHeader": "Please wait for invoice to generate", "Note": "If any due amount, clear at https://go.tinymart.in", "Header": "Door 2 is closed now"}, "SectionMain": {"Header": "Door Close"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 17:16:18,471.471 INFO    ] {'delay': 1000, 'SectionMain': {'Header': 'Door Close'}, 'rstatus': False, 'error': {'code': 20001, 'umessage': 'In Progress', 'tmessage': 'In Progress', 'data': {}}, 'SectionStatus': {'UI_Header': 'DOOR 2\nIS \nCLOSED \nNOW', 'SubHeader': 'Please wait for invoice to generate', 'Note': 'If any due amount, clear at https://go.tinymart.in', 'Header': 'Door 2 is closed now'}, 'SectionSKU': {'skus': [{'qty': 1, 'name': 'Sprite, 250ml'}], 'Header': 'Pick the below items from the door'}, 'voiceNote': 'Door 2 is closed now', 'status': 'False'}
[2026-10-20 17:16:21,534.534 INFO    ] 200
[2026-10-20 17:16:21,537.537 INFO    ] {"SectionSKU": {"skus": [], "Header": "If you like us, tell others... else tell us"}, "rstatus": true, "voiceNote": "Transaction Completed", "delay": 100, "status": "True", "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait for invoice to generate", "Note": "If any due amount, clear at https://go.tinymart.in", "Header": " Order is complete "}, "SectionMain": {"Header": "Door Closed"}}
[2026-10-20 17:16:21,540.540 INFO    ] {'delay': 100, 'SectionMain': {'Header': 'Door Closed'}, 'rstatus': True, 'SectionStatus': {'UI_Header': '', 'SubHeader': 'Please wait for invoice to generate', 'Note': 'If any due amount, clear at https://go.tinymart.in', 'Header': ' Order is complete '}, 'SectionSKU': {'skus': [], 'Header': 'If you like us, tell others... else tell us'}, 'voiceNote': 'Transaction Completed', 'status': 'True'}
[2026-10-20 17:16:21,543.543 INFO    ] 2026-10-20 17:16:21
[2026-10-20 17:16:21,545.545 INFO    ] Order Completed 
[2026-10-20 17:16:21,548.548 INFO    ] Order Completed 
[2026-10-20 17:16:21,555.555 INFO    ] 193c8a8cf3bf490ccfe0b23598544a83
[2026-10-20 17:16:21,559.559 INFO    ] 2026-10-20 17:16:21
[2026-10-20 17:16:21,562.562 INFO    ] playing audio file
[2026-10-20 17:16:21,581.581 INFO    ] 2026-10-20 17:16:21
[2026-10-20 17:16:21,585.585 INFO    ] {'delay': 100, 'SectionMain': {'Header': 'Door Closed'}, 'rstatus': True, 'SectionStatus': {'UI_Header': '', 'SubHeader': 'Please wait for invoice to generate', 'Note': 'If any due amount, clear at https://go.tinymart.in', 'Header': ' Order is complete '}, 'SectionSKU': {'skus': [], 'Header': 'If you like us, tell others... else tell us'}, 'voiceNote': 'Transaction Completed', 'status': 'True'}
[2026-10-20 17:16:21,589.589 INFO    ] 2026-10-20 17:16:21
[2026-10-20 17:16:23,852.852 INFO    ] 200
[2026-10-20 17:16:23,855.855 INFO    ] {"rstatus": true, "logic": "WBL", "skus": [{"door_id": "", "name": "Sprite, 250ml per peice", "mrp": "20", "skuid": "8639", "unit_price": "20", "qty": 1, "tray_id": "43", "sku_total": 20.0, "image_url": "https://images.tinymart.in/product/8639-1552.png"}], "orderId": "TM04202203261020171516139", "res": "True", "total_amount": 20.0, "anomaly": 0}
[2026-10-20 17:16:23,858.858 INFO    ] {'skus': [{'image_url': 'https://images.tinymart.in/product/8639-1552.png', 'tray_id': '43', 'name': 'Sprite, 250ml per peice', 'mrp': '20', 'sku_total': 20.0, 'qty': 1, 'skuid': '8639', 'door_id': '', 'unit_price': '20'}], 'logic': 'WBL', 'rstatus': True, 'anomaly': 0, 'res': 'True', 'total_amount': 20.0, 'orderId': 'TM04202203261020171516139'}
[2026-10-20 17:16:23,861.861 INFO    ] {'skus': [{'image_url': 'https://images.tinymart.in/product/8639-1552.png', 'tray_id': '43', 'name': 'Sprite, 250ml per peice', 'mrp': '20', 'sku_total': 20.0, 'qty': 1, 'skuid': '8639', 'door_id': '', 'unit_price': '20'}], 'logic': 'WBL', 'rstatus': True, 'anomaly': 0, 'res': 'True', 'total_amount': 20.0, 'orderId': 'TM04202203261020171516139'}
[2026-10-20 17:16:23,864.864 INFO    ] 2026-10-20 17:16:23
[2026-10-20 17:16:23,867.867 INFO    ] 2026-10-20 17:16:23
[2026-10-20 17:16:23,870.870 INFO    ] 20
[2026-10-20 17:16:23,873.873 INFO    ] 2026-10-20 17:16:23
[2026-10-20 17:16:23,875.875 INFO    ] 2026-10-20 17:16:23
[2026-10-20 17:16:23,878.878 INFO    ]  Your Bill Amount is 20
[2026-10-20 17:16:23,881.881 INFO    ]  Your Bill Amount is 20
[2026-10-20 17:16:23,883.883 INFO    ] 69e7720cf62ffa67ab0522541575e508
[2026-10-20 17:16:23,886.886 INFO    ] 2026-10-20 17:16:23
[2026-10-20 17:16:23,889.889 INFO    ] playing audio file
[2026-10-20 17:16:23,907.907 INFO    ] 2026-10-20 17:16:23
[2026-10-20 17:16:23,910.910 INFO    ] 2026-10-20 17:16:23
[2026-10-20 17:16:23,913.913 INFO    ] publish_status: order_id=TM04202203261020171516139
[2026-10-20 17:16:23,917.917 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020171516139
[2026-10-20 17:16:24,013.013 INFO    ] [publish_status] Message added to stream with ID: 1792496784030-0
[2026-10-20 17:16:24,016.016 INFO    ] Published to order:TM04202203261020171516139: {'server_response': '{"skus": [{"image_url": "https://images.tinymart.in/product/8639-1552.png", "tray_id": "43", "name": "Sprite, 250ml per peice", "mrp": "20", "sku_total": 20.0, "qty": 1, "skuid": "8639", "door_id": "", "unit_price": "20"}], "logic": "WBL", "rstatus": true, "anomaly": 0, "res": "True", "total_amount": 20.0, "orderId": "TM04202203261020171516139"}', 'order_id': 'TM04202203261020171516139', 'timestamp': '2026-10-20T11:46:23.912040Z', 'server_status': 'invoiceOrder'} (ID: 1792496784030-0)
[2026-10-20 17:16:24,571.571 INFO    ] {'server_response': {'skus': [{'image_url': 'https://images.tinymart.in/product/8639-1552.png', 'tray_id': '43', 'name': 'Sprite, 250ml per peice', 'mrp': '20', 'sku_total': 20.0, 'qty': 1, 'skuid': '8639', 'door_id': '', 'unit_price': '20'}], 'logic': 'WBL', 'rstatus': True, 'anomaly': 0, 'res': 'True', 'total_amount': 20.0, 'orderId': 'TM04202203261020171516139'}, 'order_id': 'TM04202203261020171516139', 'server_status': 'invoiceOrder'}
[2026-10-20 17:16:24,574.574 INFO    ] 200
[2026-10-20 17:16:24,576.576 INFO    ] {"data":{"server_response":{"skus":[{"image_url":"https:\/\/images.tinymart.in\/product\/8639-1552.png","tray_id":"43","name":"Sprite, 250ml per peice","mrp":"20","sku_total":20,"qty":1,"skuid":"8639","door_id":"","unit_price":"20"}],"logic":"WBL","rstatus":true,"anomaly":0,"res":"true","total_amount":20,"orderId":"TM04202203261020171516139"},"order_id":"TM04202203261020171516139","server_status":"invoiceOrder"},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 17:16:24,579.579 INFO    ] {'response': {'code': 'ORDER_EXISTS', 'msg': 'order updated successfully', 'status': True, 'data': 'order updated successfully'}, 'data': {'server_response': {'skus': [{'tray_id': '43', 'unit_price': '20', 'mrp': '20', 'sku_total': 20, 'qty': 1, 'image_url': 'https://images.tinymart.in/product/8639-1552.png', 'door_id': '', 'skuid': '8639', 'name': 'Sprite, 250ml per peice'}], 'logic': 'WBL', 'rstatus': True, 'anomaly': 0, 'res': 'true', 'total_amount': 20, 'orderId': 'TM04202203261020171516139'}, 'order_id': 'TM04202203261020171516139', 'server_status': 'invoiceOrder'}}
[2026-10-20 17:16:24,582.582 INFO    ] {'response': {'code': 'ORDER_EXISTS', 'msg': 'order updated successfully', 'status': True, 'data': 'order updated successfully'}, 'data': {'server_response': {'skus': [{'tray_id': '43', 'unit_price': '20', 'mrp': '20', 'sku_total': 20, 'qty': 1, 'image_url': 'https://images.tinymart.in/product/8639-1552.png', 'door_id': '', 'skuid': '8639', 'name': 'Sprite, 250ml per peice'}], 'logic': 'WBL', 'rstatus': True, 'anomaly': 0, 'res': 'true', 'total_amount': 20, 'orderId': 'TM04202203261020171516139'}, 'order_id': 'TM04202203261020171516139', 'server_status': 'invoiceOrder'}}
[2026-10-20 17:16:24,585.585 INFO    ] 2026-10-20 17:16:24
[2026-10-20 17:16:26,703.703 INFO    ] 200
[2026-10-20 17:16:26,706.706 INFO    ] {"orders": [], "order_items_synced": [], "tray_synced": ["TM04202203261020171516139", "TM04202203261020171516139", "TM04202203261020171516139", "TM04202203261020171516139", "TM04202203261020171516139", "TM04202203261020171516139", "TM04202203261020171516139", "TM04202203261020171516139", "TM04202203261020171516139", "TM04202203261020171516139", "TM04202203261020171516139", "TM04202203261020171516139", "TM04202203261020171516139", "TM04202203261020171516139", "TM04202203261020171516139", "TM04202203261020171516139", "TM04202203261020171516139", "TM04202203261020171516139", "TM04202203261020171516139", "TM04202203261020171516139", "TM04202203261020171516139", "TM04202203261020171516139", "TM04202203261020171516139", "TM04202203261020171516139", "TM04202203261020171516139", "TM04202203261020171516139", "TM04202203261020171516139", "TM04202203261020171516139", "TM04202203261020171516139", "TM04202203261020171516139", "TM04202203261020171516139", "TM04202203261020171516139", "TM04202203261020171516139"], "orders_synced": [], "status": true, "tray_sync": [], "order_items": [], "orders_data": [], "orders_data_synced": []}
[2026-10-20 17:16:26,709.709 INFO    ] 2026-10-20 17:16:26
[2026-10-20 17:16:26,837.837 INFO    ] 200
[2026-10-20 17:16:26,840.840 INFO    ] True
[2026-10-20 17:16:26,843.843 INFO    ] cleanup_start_order_file_after_processing: order_id=TM04202203261020171516139
[2026-10-20 17:16:26,846.846 INFO    ] start order file deleted
[2026-10-20 17:16:26,850.850 INFO    ] Checking for system updates...
[2026-10-20 17:16:26,894.894 INFO    ] 200
[2026-10-20 17:16:26,896.896 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:16:26,955.955 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:16:26,958.958 INFO    ] No update needed
[2026-10-20 17:16:26,961.961 INFO    ] Checking for camera pi updates...
[2026-10-20 17:16:26,997.997 INFO    ] 200
[2026-10-20 17:16:27,000.000 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:16:27,046.046 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:16:27,085.085 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:16:27,088.088 INFO    ] No camera update needed
[2026-10-20 17:16:27,091.091 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:16:27,094.094 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:16:27,101.101 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:16:27,107.107 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:16:29,147.147 INFO    ] ================================================
[2026-10-20 17:16:29,163.163 INFO    ] Launching Daemon at Tue Oct 20 17:16:29 IST 2026
[2026-10-20 17:16:29,175.175 INFO    ] ================================================
[2026-10-20 17:16:29,779.779 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:16:29
[2026-10-20 17:16:30,472.472 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:16:30,787.787 INFO    ] Initializing speech engine...
[2026-10-20 17:16:30,800.800 INFO    ] 2026-10-20 17:16:30
[2026-10-20 17:16:31,095.095 INFO    ] 2026-10-20 17:16:31
[2026-10-20 17:16:31,209.209 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:16:31,426.426 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:16:31,435.435 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:16:31,636.636 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:16:31,655.655 INFO    ] time= 20/10/2026 17:16:31
[2026-10-20 17:16:31,665.665 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:16:31,694.694 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:16:31,795.795 INFO    ] No existing commands found in stream
[2026-10-20 17:16:36,806.806 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:16:36,809.809 INFO    ] Waiting 2.70 seconds before fallback handling...
[2026-10-20 17:16:40,018.018 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 17:16:40,021.021 INFO    ] Checking for system updates...
[2026-10-20 17:16:40,063.063 INFO    ] 200
[2026-10-20 17:16:40,066.066 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:16:40,120.120 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:16:40,122.122 INFO    ] No update needed
[2026-10-20 17:16:40,125.125 INFO    ] Checking for camera pi updates...
[2026-10-20 17:16:40,165.165 INFO    ] 200
[2026-10-20 17:16:40,167.167 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:16:40,209.209 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:16:40,259.259 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:16:40,261.261 INFO    ] No camera update needed
[2026-10-20 17:16:40,264.264 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:16:40,267.267 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:16:40,274.274 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:16:40,280.280 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:16:42,322.322 INFO    ] ================================================
[2026-10-20 17:16:42,337.337 INFO    ] Launching Daemon at Tue Oct 20 17:16:42 IST 2026
[2026-10-20 17:16:42,349.349 INFO    ] ================================================
[2026-10-20 17:16:43,022.022 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:16:43
[2026-10-20 17:16:43,717.717 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:16:44,029.029 INFO    ] Initializing speech engine...
[2026-10-20 17:16:44,038.038 INFO    ] 2026-10-20 17:16:44
[2026-10-20 17:16:44,363.363 INFO    ] 2026-10-20 17:16:44
[2026-10-20 17:16:44,452.452 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:16:44,664.664 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:16:44,670.670 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:16:44,857.857 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:16:44,872.872 INFO    ] time= 20/10/2026 17:16:44
[2026-10-20 17:16:44,894.894 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:16:44,924.924 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:16:45,083.083 INFO    ] No existing commands found in stream
[2026-10-20 17:16:50,114.114 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:16:50,117.117 INFO    ] Waiting 2.25 seconds before fallback handling...
[2026-10-20 17:16:52,928.928 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:16:52,931.931 INFO    ] Checking for system updates...
[2026-10-20 17:16:52,967.967 INFO    ] 200
[2026-10-20 17:16:52,970.970 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:16:53,034.034 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:16:53,036.036 INFO    ] No update needed
[2026-10-20 17:16:53,039.039 INFO    ] Checking for camera pi updates...
[2026-10-20 17:16:53,073.073 INFO    ] 200
[2026-10-20 17:16:53,075.075 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:16:53,121.121 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:16:53,171.171 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:16:53,173.173 INFO    ] No camera update needed
[2026-10-20 17:16:53,176.176 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:16:53,178.178 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:16:53,183.183 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:16:53,188.188 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:16:55,228.228 INFO    ] ================================================
[2026-10-20 17:16:55,245.245 INFO    ] Launching Daemon at Tue Oct 20 17:16:55 IST 2026
[2026-10-20 17:16:55,257.257 INFO    ] ================================================
[2026-10-20 17:16:55,841.841 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:16:55
[2026-10-20 17:16:56,445.445 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:16:56,725.725 INFO    ] Initializing speech engine...
[2026-10-20 17:16:56,732.732 INFO    ] 2026-10-20 17:16:56
[2026-10-20 17:16:56,993.993 INFO    ] 2026-10-20 17:16:56
[2026-10-20 17:16:57,046.046 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:16:57,331.331 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:16:57,340.340 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:16:57,533.533 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:16:57,545.545 INFO    ] time= 20/10/2026 17:16:57
[2026-10-20 17:16:57,563.563 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:16:57,580.580 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:16:57,711.711 INFO    ] No existing commands found in stream
[2026-10-20 17:17:02,740.740 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:17:02,743.743 INFO    ] Waiting 1.15 seconds before fallback handling...
[2026-10-20 17:17:05,091.091 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:17:05,093.093 INFO    ] Checking for system updates...
[2026-10-20 17:17:05,129.129 INFO    ] 200
[2026-10-20 17:17:05,131.131 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:17:05,184.184 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:17:05,187.187 INFO    ] No update needed
[2026-10-20 17:17:05,189.189 INFO    ] Checking for camera pi updates...
[2026-10-20 17:17:05,225.225 INFO    ] 200
[2026-10-20 17:17:05,227.227 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:17:05,271.271 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:17:05,318.318 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:17:05,320.320 INFO    ] No camera update needed
[2026-10-20 17:17:05,323.323 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:17:05,325.325 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:17:05,330.330 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:17:05,335.335 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:17:07,376.376 INFO    ] ================================================
[2026-10-20 17:17:07,391.391 INFO    ] Launching Daemon at Tue Oct 20 17:17:07 IST 2026
[2026-10-20 17:17:07,402.402 INFO    ] ================================================
[2026-10-20 17:17:07,983.983 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:17:07
[2026-10-20 17:17:08,580.580 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:17:08,852.852 INFO    ] Initializing speech engine...
[2026-10-20 17:17:08,861.861 INFO    ] 2026-10-20 17:17:08
[2026-10-20 17:17:09,110.110 INFO    ] 2026-10-20 17:17:09
[2026-10-20 17:17:09,150.150 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:17:09,395.395 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:17:09,404.404 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:17:09,618.618 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:17:09,661.661 INFO    ] time= 20/10/2026 17:17:09
[2026-10-20 17:17:09,668.668 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:17:09,686.686 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:17:09,817.817 INFO    ] No existing commands found in stream
[2026-10-20 17:17:14,831.831 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:17:14,834.834 INFO    ] Waiting 0.79 seconds before fallback handling...
[2026-10-20 17:17:16,171.171 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 17:17:16,174.174 INFO    ] Checking for system updates...
[2026-10-20 17:17:16,209.209 INFO    ] 200
[2026-10-20 17:17:16,212.212 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:17:16,263.263 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:17:16,266.266 INFO    ] No update needed
[2026-10-20 17:17:16,268.268 INFO    ] Checking for camera pi updates...
[2026-10-20 17:17:16,302.302 INFO    ] 200
[2026-10-20 17:17:16,304.304 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:17:16,349.349 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:17:16,398.398 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:17:16,401.401 INFO    ] No camera update needed
[2026-10-20 17:17:16,403.403 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:17:16,405.405 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:17:16,411.411 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:17:16,416.416 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:17:18,460.460 INFO    ] ================================================
[2026-10-20 17:17:18,475.475 INFO    ] Launching Daemon at Tue Oct 20 17:17:18 IST 2026
[2026-10-20 17:17:18,485.485 INFO    ] ================================================
[2026-10-20 17:17:19,067.067 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:17:19
[2026-10-20 17:17:19,665.665 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:17:19,944.944 INFO    ] Initializing speech engine...
[2026-10-20 17:17:19,949.949 INFO    ] 2026-10-20 17:17:19
[2026-10-20 17:17:20,212.212 INFO    ] 2026-10-20 17:17:20
[2026-10-20 17:17:20,241.241 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:17:20,492.492 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:17:20,496.496 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:17:20,636.636 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:17:20,711.711 INFO    ] time= 20/10/2026 17:17:20
[2026-10-20 17:17:20,757.757 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:17:20,764.764 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:17:20,909.909 INFO    ] No existing commands found in stream
[2026-10-20 17:17:25,929.929 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:17:25,932.932 INFO    ] Waiting 3.94 seconds before fallback handling...
[2026-10-20 17:17:30,379.379 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 17:17:30,382.382 INFO    ] Checking for system updates...
[2026-10-20 17:17:30,423.423 INFO    ] 200
[2026-10-20 17:17:30,426.426 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:17:30,484.484 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:17:30,487.487 INFO    ] No update needed
[2026-10-20 17:17:30,490.490 INFO    ] Checking for camera pi updates...
[2026-10-20 17:17:30,528.528 INFO    ] 200
[2026-10-20 17:17:30,531.531 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:17:30,576.576 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:17:30,622.622 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:17:30,625.625 INFO    ] No camera update needed
[2026-10-20 17:17:30,628.628 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:17:30,630.630 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:17:30,636.636 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:17:30,642.642 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:17:32,682.682 INFO    ] ================================================
[2026-10-20 17:17:32,697.697 INFO    ] Launching Daemon at Tue Oct 20 17:17:32 IST 2026
[2026-10-20 17:17:32,709.709 INFO    ] ================================================
[2026-10-20 17:17:33,357.357 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:17:33
[2026-10-20 17:17:33,997.997 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:17:34,260.260 INFO    ] Initializing speech engine...
[2026-10-20 17:17:34,267.267 INFO    ] 2026-10-20 17:17:34
[2026-10-20 17:17:34,553.553 INFO    ] 2026-10-20 17:17:34
[2026-10-20 17:17:34,589.589 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:17:34,791.791 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:17:34,837.837 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:17:34,993.993 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:17:35,015.015 INFO    ] time= 20/10/2026 17:17:34
[2026-10-20 17:17:35,074.074 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:17:35,130.130 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:17:35,189.189 INFO    ] No existing commands found in stream
[2026-10-20 17:17:40,201.201 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:17:40,204.204 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-10-20 17:17:41,744.744 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 17:17:41,746.746 INFO    ] Checking for system updates...
[2026-10-20 17:17:41,786.786 INFO    ] 200
[2026-10-20 17:17:41,788.788 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:17:41,846.846 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:17:41,848.848 INFO    ] No update needed
[2026-10-20 17:17:41,851.851 INFO    ] Checking for camera pi updates...
[2026-10-20 17:17:41,885.885 INFO    ] 200
[2026-10-20 17:17:41,887.887 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:17:41,928.928 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:17:41,975.975 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:17:41,978.978 INFO    ] No camera update needed
[2026-10-20 17:17:41,980.980 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:17:41,982.982 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:17:41,988.988 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:17:41,993.993 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:17:44,032.032 INFO    ] ================================================
[2026-10-20 17:17:44,048.048 INFO    ] Launching Daemon at Tue Oct 20 17:17:44 IST 2026
[2026-10-20 17:17:44,059.059 INFO    ] ================================================
[2026-10-20 17:17:44,702.702 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:17:44
[2026-10-20 17:17:45,365.365 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:17:45,664.664 INFO    ] Initializing speech engine...
[2026-10-20 17:17:45,677.677 INFO    ] 2026-10-20 17:17:45
[2026-10-20 17:17:45,954.954 INFO    ] 2026-10-20 17:17:45
[2026-10-20 17:17:46,001.001 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:17:46,245.245 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:17:46,252.252 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:17:46,476.476 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:17:46,491.491 INFO    ] time= 20/10/2026 17:17:46
[2026-10-20 17:17:46,511.511 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:17:46,538.538 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:17:46,655.655 INFO    ] No existing commands found in stream
[2026-10-20 17:17:51,685.685 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:17:51,689.689 INFO    ] Waiting 1.57 seconds before fallback handling...
[2026-10-20 17:17:53,772.772 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:17:53,775.775 INFO    ] Checking for system updates...
[2026-10-20 17:17:53,815.815 INFO    ] 200
[2026-10-20 17:17:53,817.817 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:17:53,875.875 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:17:53,877.877 INFO    ] No update needed
[2026-10-20 17:17:53,880.880 INFO    ] Checking for camera pi updates...
[2026-10-20 17:17:53,916.916 INFO    ] 200
[2026-10-20 17:17:53,919.919 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:17:53,960.960 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:17:54,009.009 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:17:54,012.012 INFO    ] No camera update needed
[2026-10-20 17:17:54,014.014 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:17:54,016.016 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:17:54,022.022 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:17:54,026.026 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:17:56,068.068 INFO    ] ================================================
[2026-10-20 17:17:56,084.084 INFO    ] Launching Daemon at Tue Oct 20 17:17:56 IST 2026
[2026-10-20 17:17:56,095.095 INFO    ] ================================================
[2026-10-20 17:17:56,679.679 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:17:56
[2026-10-20 17:17:57,324.324 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:17:57,657.657 INFO    ] Initializing speech engine...
[2026-10-20 17:17:57,669.669 INFO    ] 2026-10-20 17:17:57
[2026-10-20 17:17:57,960.960 INFO    ] 2026-10-20 17:17:57
[2026-10-20 17:17:58,004.004 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:17:58,233.233 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:17:58,244.244 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:17:58,459.459 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:17:58,509.509 INFO    ] time= 20/10/2026 17:17:58
[2026-10-20 17:17:58,524.524 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:17:58,542.542 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:17:58,626.626 INFO    ] No existing commands found in stream
[2026-10-20 17:18:03,636.636 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:18:03,639.639 INFO    ] Waiting 1.31 seconds before fallback handling...
[2026-10-20 17:18:05,457.457 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:18:05,460.460 INFO    ] Checking for system updates...
[2026-10-20 17:18:05,498.498 INFO    ] 200
[2026-10-20 17:18:05,501.501 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:18:05,563.563 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:18:05,566.566 INFO    ] No update needed
[2026-10-20 17:18:05,568.568 INFO    ] Checking for camera pi updates...
[2026-10-20 17:18:05,604.604 INFO    ] 200
[2026-10-20 17:18:05,607.607 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:18:05,654.654 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:18:05,699.699 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:18:05,701.701 INFO    ] No camera update needed
[2026-10-20 17:18:05,703.703 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:18:05,705.705 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:18:05,711.711 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:18:05,716.716 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:18:07,755.755 INFO    ] ================================================
[2026-10-20 17:18:07,771.771 INFO    ] Launching Daemon at Tue Oct 20 17:18:07 IST 2026
[2026-10-20 17:18:07,782.782 INFO    ] ================================================
[2026-10-20 17:18:08,350.350 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:18:08
[2026-10-20 17:18:08,941.941 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:18:09,231.231 INFO    ] Initializing speech engine...
[2026-10-20 17:18:09,240.240 INFO    ] 2026-10-20 17:18:09
[2026-10-20 17:18:09,489.489 INFO    ] 2026-10-20 17:18:09
[2026-10-20 17:18:09,524.524 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:18:09,721.721 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:18:09,744.744 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:18:09,925.925 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:18:09,947.947 INFO    ] time= 20/10/2026 17:18:09
[2026-10-20 17:18:10,001.001 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:18:10,055.055 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:18:10,120.120 INFO    ] No existing commands found in stream
[2026-10-20 17:18:15,132.132 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:18:15,134.134 INFO    ] Waiting 2.58 seconds before fallback handling...
[2026-10-20 17:18:18,215.215 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 17:18:18,218.218 INFO    ] Checking for system updates...
[2026-10-20 17:18:18,255.255 INFO    ] 200
[2026-10-20 17:18:18,258.258 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:18:18,310.310 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:18:18,313.313 INFO    ] No update needed
[2026-10-20 17:18:18,315.315 INFO    ] Checking for camera pi updates...
[2026-10-20 17:18:18,351.351 INFO    ] 200
[2026-10-20 17:18:18,354.354 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:18:18,398.398 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:18:18,447.447 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:18:18,450.450 INFO    ] No camera update needed
[2026-10-20 17:18:18,452.452 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:18:18,455.455 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:18:18,461.461 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:18:18,466.466 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:18:20,506.506 INFO    ] ================================================
[2026-10-20 17:18:20,522.522 INFO    ] Launching Daemon at Tue Oct 20 17:18:20 IST 2026
[2026-10-20 17:18:20,532.532 INFO    ] ================================================
[2026-10-20 17:18:21,153.153 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:18:21
[2026-10-20 17:18:21,792.792 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:18:22,086.086 INFO    ] Initializing speech engine...
[2026-10-20 17:18:22,093.093 INFO    ] 2026-10-20 17:18:22
[2026-10-20 17:18:22,372.372 INFO    ] 2026-10-20 17:18:22
[2026-10-20 17:18:22,417.417 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:18:22,698.698 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:18:22,707.707 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:18:22,902.902 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:18:22,920.920 INFO    ] time= 20/10/2026 17:18:22
[2026-10-20 17:18:22,929.929 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:18:22,956.956 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:18:23,083.083 INFO    ] No existing commands found in stream
[2026-10-20 17:18:28,119.119 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:18:28,122.122 INFO    ] Waiting 3.23 seconds before fallback handling...
[2026-10-20 17:18:31,901.901 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:18:31,904.904 INFO    ] Checking for system updates...
[2026-10-20 17:18:31,941.941 INFO    ] 200
[2026-10-20 17:18:31,944.944 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:18:32,010.010 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:18:32,013.013 INFO    ] No update needed
[2026-10-20 17:18:32,016.016 INFO    ] Checking for camera pi updates...
[2026-10-20 17:18:32,057.057 INFO    ] 200
[2026-10-20 17:18:32,060.060 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:18:32,107.107 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:18:32,242.242 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:18:32,244.244 INFO    ] No camera update needed
[2026-10-20 17:18:32,247.247 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:18:32,250.250 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:18:32,256.256 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:18:32,262.262 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:18:34,302.302 INFO    ] ================================================
[2026-10-20 17:18:34,317.317 INFO    ] Launching Daemon at Tue Oct 20 17:18:34 IST 2026
[2026-10-20 17:18:34,329.329 INFO    ] ================================================
[2026-10-20 17:18:34,896.896 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:18:34
[2026-10-20 17:18:35,491.491 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:18:35,745.745 INFO    ] Initializing speech engine...
[2026-10-20 17:18:35,751.751 INFO    ] 2026-10-20 17:18:35
[2026-10-20 17:18:36,040.040 INFO    ] 2026-10-20 17:18:36
[2026-10-20 17:18:36,075.075 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:18:36,305.305 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:18:36,308.308 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:18:36,489.489 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:18:36,536.536 INFO    ] time= 20/10/2026 17:18:36
[2026-10-20 17:18:36,601.601 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:18:36,621.621 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:18:36,766.766 INFO    ] No existing commands found in stream
[2026-10-20 17:18:41,779.779 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:18:41,782.782 INFO    ] Waiting 2.98 seconds before fallback handling...
[2026-10-20 17:18:45,337.337 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:18:45,340.340 INFO    ] Checking for system updates...
[2026-10-20 17:18:45,378.378 INFO    ] 200
[2026-10-20 17:18:45,381.381 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:18:45,432.432 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:18:45,434.434 INFO    ] No update needed
[2026-10-20 17:18:45,437.437 INFO    ] Checking for camera pi updates...
[2026-10-20 17:18:45,472.472 INFO    ] 200
[2026-10-20 17:18:45,475.475 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:18:45,515.515 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:18:45,560.560 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:18:45,563.563 INFO    ] No camera update needed
[2026-10-20 17:18:45,565.565 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:18:45,567.567 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:18:45,572.572 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:18:45,577.577 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:18:47,618.618 INFO    ] ================================================
[2026-10-20 17:18:47,634.634 INFO    ] Launching Daemon at Tue Oct 20 17:18:47 IST 2026
[2026-10-20 17:18:47,645.645 INFO    ] ================================================
[2026-10-20 17:18:48,229.229 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:18:48
[2026-10-20 17:18:48,824.824 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:18:49,100.100 INFO    ] Initializing speech engine...
[2026-10-20 17:18:49,105.105 INFO    ] 2026-10-20 17:18:49
[2026-10-20 17:18:49,359.359 INFO    ] 2026-10-20 17:18:49
[2026-10-20 17:18:49,415.415 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:18:49,635.635 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:18:49,651.651 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:18:49,869.869 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:18:49,910.910 INFO    ] time= 20/10/2026 17:18:49
[2026-10-20 17:18:49,916.916 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:18:49,934.934 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:18:50,068.068 INFO    ] No existing commands found in stream
[2026-10-20 17:18:55,099.099 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:18:55,102.102 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-10-20 17:18:58,881.881 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:18:58,883.883 INFO    ] Checking for system updates...
[2026-10-20 17:18:58,919.919 INFO    ] 200
[2026-10-20 17:18:58,921.921 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:18:58,973.973 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:18:58,976.976 INFO    ] No update needed
[2026-10-20 17:18:58,978.978 INFO    ] Checking for camera pi updates...
[2026-10-20 17:18:59,012.012 INFO    ] 200
[2026-10-20 17:18:59,015.015 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:18:59,059.059 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:18:59,112.112 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:18:59,114.114 INFO    ] No camera update needed
[2026-10-20 17:18:59,116.116 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:18:59,119.119 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:18:59,124.124 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:18:59,129.129 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:19:01,170.170 INFO    ] ================================================
[2026-10-20 17:19:01,186.186 INFO    ] Launching Daemon at Tue Oct 20 17:19:01 IST 2026
[2026-10-20 17:19:01,197.197 INFO    ] ================================================
[2026-10-20 17:19:01,983.983 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:19:01
[2026-10-20 17:19:02,733.733 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:19:03,046.046 INFO    ] Initializing speech engine...
[2026-10-20 17:19:03,059.059 INFO    ] 2026-10-20 17:19:03
[2026-10-20 17:19:03,368.368 INFO    ] 2026-10-20 17:19:03
[2026-10-20 17:19:03,411.411 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:19:03,619.619 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:19:03,674.674 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:19:03,889.889 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:19:03,944.944 INFO    ] time= 20/10/2026 17:19:03
[2026-10-20 17:19:03,966.966 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:19:03,975.975 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:19:04,121.121 INFO    ] No existing commands found in stream
[2026-10-20 17:19:09,152.152 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:19:09,155.155 INFO    ] Waiting 3.69 seconds before fallback handling...
[2026-10-20 17:19:13,349.349 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:19:13,352.352 INFO    ] Checking for system updates...
[2026-10-20 17:19:13,393.393 INFO    ] 200
[2026-10-20 17:19:13,396.396 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:19:13,466.466 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:19:13,468.468 INFO    ] No update needed
[2026-10-20 17:19:13,471.471 INFO    ] Checking for camera pi updates...
[2026-10-20 17:19:13,509.509 INFO    ] 200
[2026-10-20 17:19:13,511.511 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:19:13,551.551 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:19:13,600.600 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:19:13,603.603 INFO    ] No camera update needed
[2026-10-20 17:19:13,605.605 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:19:13,607.607 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:19:13,613.613 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:19:13,618.618 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:19:15,660.660 INFO    ] ================================================
[2026-10-20 17:19:15,676.676 INFO    ] Launching Daemon at Tue Oct 20 17:19:15 IST 2026
[2026-10-20 17:19:15,687.687 INFO    ] ================================================
[2026-10-20 17:19:16,267.267 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:19:16
[2026-10-20 17:19:16,870.870 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:19:17,125.125 INFO    ] Initializing speech engine...
[2026-10-20 17:19:17,148.148 INFO    ] 2026-10-20 17:19:17
[2026-10-20 17:19:17,404.404 INFO    ] 2026-10-20 17:19:17
[2026-10-20 17:19:17,440.440 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:19:17,638.638 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:19:17,696.696 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:19:17,837.837 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:19:17,902.902 INFO    ] time= 20/10/2026 17:19:17
[2026-10-20 17:19:17,967.967 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:19:17,973.973 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:19:18,121.121 INFO    ] No existing commands found in stream
[2026-10-20 17:19:23,139.139 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:19:23,142.142 INFO    ] Waiting 2.75 seconds before fallback handling...
[2026-10-20 17:19:26,410.410 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:19:26,412.412 INFO    ] Checking for system updates...
[2026-10-20 17:19:26,448.448 INFO    ] 200
[2026-10-20 17:19:26,450.450 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:19:26,511.511 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:19:26,513.513 INFO    ] No update needed
[2026-10-20 17:19:26,515.515 INFO    ] Checking for camera pi updates...
[2026-10-20 17:19:26,548.548 INFO    ] 200
[2026-10-20 17:19:26,551.551 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:19:26,590.590 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:19:26,641.641 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:19:26,644.644 INFO    ] No camera update needed
[2026-10-20 17:19:26,646.646 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:19:26,648.648 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:19:26,653.653 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:19:26,658.658 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:19:28,700.700 INFO    ] ================================================
[2026-10-20 17:19:28,716.716 INFO    ] Launching Daemon at Tue Oct 20 17:19:28 IST 2026
[2026-10-20 17:19:28,727.727 INFO    ] ================================================
[2026-10-20 17:19:29,295.295 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:19:29
[2026-10-20 17:19:29,877.877 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:19:30,148.148 INFO    ] Initializing speech engine...
[2026-10-20 17:19:30,156.156 INFO    ] 2026-10-20 17:19:30
[2026-10-20 17:19:30,407.407 INFO    ] 2026-10-20 17:19:30
[2026-10-20 17:19:30,443.443 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:19:30,702.702 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:19:30,712.712 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:19:30,950.950 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:19:30,977.977 INFO    ] time= 20/10/2026 17:19:30
[2026-10-20 17:19:30,994.994 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:19:31,004.004 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:19:31,137.137 INFO    ] No existing commands found in stream
[2026-10-20 17:19:36,170.170 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:19:36,173.173 INFO    ] Waiting 0.06 seconds before fallback handling...
[2026-10-20 17:19:36,724.724 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 17:19:36,726.726 INFO    ] Checking for system updates...
[2026-10-20 17:19:36,762.762 INFO    ] 200
[2026-10-20 17:19:36,764.764 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:19:36,824.824 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:19:36,826.826 INFO    ] No update needed
[2026-10-20 17:19:36,828.828 INFO    ] Checking for camera pi updates...
[2026-10-20 17:19:36,866.866 INFO    ] 200
[2026-10-20 17:19:36,868.868 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:19:36,909.909 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:19:36,963.963 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:19:36,965.965 INFO    ] No camera update needed
[2026-10-20 17:19:36,967.967 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:19:36,970.970 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:19:36,975.975 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:19:36,980.980 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:19:39,020.020 INFO    ] ================================================
[2026-10-20 17:19:39,035.035 INFO    ] Launching Daemon at Tue Oct 20 17:19:39 IST 2026
[2026-10-20 17:19:39,046.046 INFO    ] ================================================
[2026-10-20 17:19:39,611.611 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:19:39
[2026-10-20 17:19:40,195.195 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:19:40,452.452 INFO    ] Initializing speech engine...
[2026-10-20 17:19:40,471.471 INFO    ] 2026-10-20 17:19:40
[2026-10-20 17:19:40,717.717 INFO    ] 2026-10-20 17:19:40
[2026-10-20 17:19:40,751.751 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:19:41,002.002 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:19:41,011.011 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:19:41,150.150 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:19:41,215.215 INFO    ] time= 20/10/2026 17:19:41
[2026-10-20 17:19:41,272.272 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:19:41,278.278 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:19:41,428.428 INFO    ] No existing commands found in stream
[2026-10-20 17:19:46,459.459 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:19:46,461.461 INFO    ] Waiting 2.33 seconds before fallback handling...
[2026-10-20 17:19:49,344.344 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:19:49,347.347 INFO    ] Checking for system updates...
[2026-10-20 17:19:49,387.387 INFO    ] 200
[2026-10-20 17:19:49,390.390 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:19:49,452.452 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:19:49,455.455 INFO    ] No update needed
[2026-10-20 17:19:49,458.458 INFO    ] Checking for camera pi updates...
[2026-10-20 17:19:49,496.496 INFO    ] 200
[2026-10-20 17:19:49,499.499 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:19:49,545.545 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:19:49,594.594 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:19:49,596.596 INFO    ] No camera update needed
[2026-10-20 17:19:49,599.599 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:19:49,601.601 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:19:49,607.607 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:19:49,612.612 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:19:51,655.655 INFO    ] ================================================
[2026-10-20 17:19:51,670.670 INFO    ] Launching Daemon at Tue Oct 20 17:19:51 IST 2026
[2026-10-20 17:19:51,686.686 INFO    ] ================================================
[2026-10-20 17:19:52,269.269 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:19:52
[2026-10-20 17:19:52,965.965 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:19:53,277.277 INFO    ] Initializing speech engine...
[2026-10-20 17:19:53,289.289 INFO    ] 2026-10-20 17:19:53
[2026-10-20 17:19:53,573.573 INFO    ] 2026-10-20 17:19:53
[2026-10-20 17:19:53,626.626 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:19:53,887.887 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:19:53,909.909 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:19:54,099.099 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:19:54,112.112 INFO    ] time= 20/10/2026 17:19:54
[2026-10-20 17:19:54,130.130 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:19:54,157.157 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:19:54,266.266 INFO    ] No existing commands found in stream
[2026-10-20 17:19:59,290.290 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:19:59,293.293 INFO    ] Waiting 2.61 seconds before fallback handling...
[2026-10-20 17:20:02,575.575 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:20:02,579.579 INFO    ] Checking for system updates...
[2026-10-20 17:20:02,626.626 INFO    ] 200
[2026-10-20 17:20:02,630.630 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:20:02,696.696 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:20:02,699.699 INFO    ] No update needed
[2026-10-20 17:20:02,703.703 INFO    ] Checking for camera pi updates...
[2026-10-20 17:20:02,759.759 INFO    ] 200
[2026-10-20 17:20:02,763.763 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:20:02,814.814 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:20:02,848.848 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:20:02,852.852 INFO    ] No camera update needed
[2026-10-20 17:20:02,856.856 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:20:02,860.860 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:20:02,868.868 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:20:02,876.876 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:20:04,919.919 INFO    ] ================================================
[2026-10-20 17:20:04,934.934 INFO    ] Launching Daemon at Tue Oct 20 17:20:04 IST 2026
[2026-10-20 17:20:04,944.944 INFO    ] ================================================
[2026-10-20 17:20:05,511.511 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:20:05
[2026-10-20 17:20:06,094.094 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:20:06,342.342 INFO    ] Initializing speech engine...
[2026-10-20 17:20:06,350.350 INFO    ] 2026-10-20 17:20:06
[2026-10-20 17:20:06,626.626 INFO    ] 2026-10-20 17:20:06
[2026-10-20 17:20:06,661.661 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:20:06,919.919 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:20:06,928.928 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:20:07,122.122 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:20:07,176.176 INFO    ] time= 20/10/2026 17:20:07
[2026-10-20 17:20:07,200.200 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:20:07,218.218 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:20:07,354.354 INFO    ] No existing commands found in stream
[2026-10-20 17:20:12,365.365 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:20:12,368.368 INFO    ] Waiting 0.18 seconds before fallback handling...
[2026-10-20 17:20:13,045.045 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:20:13,048.048 INFO    ] Checking for system updates...
[2026-10-20 17:20:13,083.083 INFO    ] 200
[2026-10-20 17:20:13,085.085 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:20:13,145.145 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:20:13,147.147 INFO    ] No update needed
[2026-10-20 17:20:13,150.150 INFO    ] Checking for camera pi updates...
[2026-10-20 17:20:13,183.183 INFO    ] 200
[2026-10-20 17:20:13,186.186 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:20:13,226.226 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:20:13,273.273 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:20:13,275.275 INFO    ] No camera update needed
[2026-10-20 17:20:13,278.278 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:20:13,280.280 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:20:13,285.285 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:20:13,290.290 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:20:15,330.330 INFO    ] ================================================
[2026-10-20 17:20:15,345.345 INFO    ] Launching Daemon at Tue Oct 20 17:20:15 IST 2026
[2026-10-20 17:20:15,355.355 INFO    ] ================================================
[2026-10-20 17:20:15,957.957 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:20:15
[2026-10-20 17:20:16,634.634 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:20:16,943.943 INFO    ] Initializing speech engine...
[2026-10-20 17:20:16,952.952 INFO    ] 2026-10-20 17:20:16
[2026-10-20 17:20:17,227.227 INFO    ] 2026-10-20 17:20:17
[2026-10-20 17:20:17,287.287 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:20:17,586.586 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:20:17,593.593 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:20:17,791.791 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:20:17,811.811 INFO    ] time= 20/10/2026 17:20:17
[2026-10-20 17:20:17,845.845 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:20:17,856.856 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:20:17,981.981 INFO    ] No existing commands found in stream
[2026-10-20 17:20:23,008.008 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:20:23,011.011 INFO    ] Waiting 3.91 seconds before fallback handling...
[2026-10-20 17:20:27,483.483 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:20:27,486.486 INFO    ] Checking for system updates...
[2026-10-20 17:20:27,528.528 INFO    ] 200
[2026-10-20 17:20:27,531.531 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:20:27,593.593 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:20:27,596.596 INFO    ] No update needed
[2026-10-20 17:20:27,599.599 INFO    ] Checking for camera pi updates...
[2026-10-20 17:20:27,634.634 INFO    ] 200
[2026-10-20 17:20:27,637.637 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:20:27,678.678 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:20:27,723.723 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:20:27,726.726 INFO    ] No camera update needed
[2026-10-20 17:20:27,729.729 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:20:27,732.732 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:20:27,738.738 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:20:27,744.744 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:20:29,789.789 INFO    ] ================================================
[2026-10-20 17:20:29,805.805 INFO    ] Launching Daemon at Tue Oct 20 17:20:29 IST 2026
[2026-10-20 17:20:29,816.816 INFO    ] ================================================
[2026-10-20 17:20:30,489.489 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:20:30
[2026-10-20 17:20:31,184.184 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:20:31,500.500 INFO    ] Initializing speech engine...
[2026-10-20 17:20:31,518.518 INFO    ] 2026-10-20 17:20:31
[2026-10-20 17:20:31,829.829 INFO    ] 2026-10-20 17:20:31
[2026-10-20 17:20:31,886.886 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:20:32,142.142 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:20:32,162.162 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:20:32,387.387 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:20:32,408.408 INFO    ] time= 20/10/2026 17:20:32
[2026-10-20 17:20:32,441.441 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:20:32,450.450 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:20:32,563.563 INFO    ] No existing commands found in stream
[2026-10-20 17:20:37,574.574 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:20:37,577.577 INFO    ] Waiting 1.89 seconds before fallback handling...
[2026-10-20 17:20:40,027.027 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:20:40,031.031 INFO    ] Checking for system updates...
[2026-10-20 17:20:40,067.067 INFO    ] 200
[2026-10-20 17:20:40,070.070 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:20:40,121.121 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:20:40,124.124 INFO    ] No update needed
[2026-10-20 17:20:40,126.126 INFO    ] Checking for camera pi updates...
[2026-10-20 17:20:40,160.160 INFO    ] 200
[2026-10-20 17:20:40,162.162 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:20:40,209.209 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:20:40,339.339 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:20:40,342.342 INFO    ] No camera update needed
[2026-10-20 17:20:40,344.344 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:20:40,346.346 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:20:40,352.352 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:20:40,357.357 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:20:42,396.396 INFO    ] ================================================
[2026-10-20 17:20:42,411.411 INFO    ] Launching Daemon at Tue Oct 20 17:20:42 IST 2026
[2026-10-20 17:20:42,422.422 INFO    ] ================================================
[2026-10-20 17:20:43,078.078 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:20:43
[2026-10-20 17:20:43,753.753 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:20:44,032.032 INFO    ] Initializing speech engine...
[2026-10-20 17:20:44,040.040 INFO    ] 2026-10-20 17:20:44
[2026-10-20 17:20:44,283.283 INFO    ] 2026-10-20 17:20:44
[2026-10-20 17:20:44,319.319 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:20:44,570.570 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:20:44,579.579 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:20:44,719.719 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:20:44,778.778 INFO    ] time= 20/10/2026 17:20:44
[2026-10-20 17:20:44,833.833 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:20:44,848.848 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:20:44,999.999 INFO    ] No existing commands found in stream
[2026-10-20 17:20:50,028.028 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:20:50,031.031 INFO    ] Waiting 2.21 seconds before fallback handling...
[2026-10-20 17:20:52,797.797 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 17:20:52,799.799 INFO    ] Checking for system updates...
[2026-10-20 17:20:52,839.839 INFO    ] 200
[2026-10-20 17:20:52,841.841 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:20:52,894.894 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:20:52,897.897 INFO    ] No update needed
[2026-10-20 17:20:52,899.899 INFO    ] Checking for camera pi updates...
[2026-10-20 17:20:52,936.936 INFO    ] 200
[2026-10-20 17:20:52,939.939 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:20:52,979.979 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:20:53,034.034 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:20:53,037.037 INFO    ] No camera update needed
[2026-10-20 17:20:53,039.039 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:20:53,042.042 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:20:53,047.047 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:20:53,052.052 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:20:55,091.091 INFO    ] ================================================
[2026-10-20 17:20:55,106.106 INFO    ] Launching Daemon at Tue Oct 20 17:20:55 IST 2026
[2026-10-20 17:20:55,117.117 INFO    ] ================================================
[2026-10-20 17:20:55,683.683 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:20:55
[2026-10-20 17:20:56,270.270 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:20:56,518.518 INFO    ] Initializing speech engine...
[2026-10-20 17:20:56,541.541 INFO    ] 2026-10-20 17:20:56
[2026-10-20 17:20:56,792.792 INFO    ] 2026-10-20 17:20:56
[2026-10-20 17:20:56,826.826 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:20:57,081.081 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:20:57,090.090 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:20:57,229.229 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:20:57,288.288 INFO    ] time= 20/10/2026 17:20:57
[2026-10-20 17:20:57,343.343 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:20:57,366.366 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:20:57,517.517 INFO    ] No existing commands found in stream
[2026-10-20 17:21:02,530.530 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:21:02,533.533 INFO    ] Waiting 3.29 seconds before fallback handling...
[2026-10-20 17:21:06,300.300 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 17:21:06,303.303 INFO    ] Checking for system updates...
[2026-10-20 17:21:06,338.338 INFO    ] 200
[2026-10-20 17:21:06,341.341 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:21:06,393.393 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:21:06,395.395 INFO    ] No update needed
[2026-10-20 17:21:06,398.398 INFO    ] Checking for camera pi updates...
[2026-10-20 17:21:06,431.431 INFO    ] 200
[2026-10-20 17:21:06,434.434 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:21:06,479.479 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:21:06,534.534 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:21:06,536.536 INFO    ] No camera update needed
[2026-10-20 17:21:06,539.539 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:21:06,541.541 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:21:06,546.546 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:21:06,551.551 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:21:08,592.592 INFO    ] ================================================
[2026-10-20 17:21:08,608.608 INFO    ] Launching Daemon at Tue Oct 20 17:21:08 IST 2026
[2026-10-20 17:21:08,618.618 INFO    ] ================================================
[2026-10-20 17:21:09,207.207 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:21:09
[2026-10-20 17:21:09,810.810 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:21:10,089.089 INFO    ] Initializing speech engine...
[2026-10-20 17:21:10,095.095 INFO    ] 2026-10-20 17:21:10
[2026-10-20 17:21:10,358.358 INFO    ] 2026-10-20 17:21:10
[2026-10-20 17:21:10,412.412 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:21:10,639.639 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:21:10,644.644 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:21:10,866.866 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:21:10,900.900 INFO    ] time= 20/10/2026 17:21:10
[2026-10-20 17:21:10,906.906 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:21:10,924.924 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:21:11,052.052 INFO    ] No existing commands found in stream
[2026-10-20 17:21:16,069.069 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:21:16,071.071 INFO    ] Waiting 3.87 seconds before fallback handling...
[2026-10-20 17:21:20,414.414 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 17:21:20,417.417 INFO    ] Checking for system updates...
[2026-10-20 17:21:20,452.452 INFO    ] 200
[2026-10-20 17:21:20,455.455 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:21:20,508.508 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:21:20,510.510 INFO    ] No update needed
[2026-10-20 17:21:20,513.513 INFO    ] Checking for camera pi updates...
[2026-10-20 17:21:20,550.550 INFO    ] 200
[2026-10-20 17:21:20,553.553 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:21:20,592.592 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:21:20,641.641 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:21:20,643.643 INFO    ] No camera update needed
[2026-10-20 17:21:20,645.645 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:21:20,648.648 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:21:20,653.653 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:21:20,659.659 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:21:22,699.699 INFO    ] ================================================
[2026-10-20 17:21:22,714.714 INFO    ] Launching Daemon at Tue Oct 20 17:21:22 IST 2026
[2026-10-20 17:21:22,725.725 INFO    ] ================================================
[2026-10-20 17:21:23,385.385 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:21:23
[2026-10-20 17:21:24,064.064 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:21:24,373.373 INFO    ] Initializing speech engine...
[2026-10-20 17:21:24,386.386 INFO    ] 2026-10-20 17:21:24
[2026-10-20 17:21:24,671.671 INFO    ] 2026-10-20 17:21:24
[2026-10-20 17:21:24,715.715 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:21:25,069.069 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:21:25,080.080 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:21:25,229.229 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:21:25,242.242 INFO    ] time= 20/10/2026 17:21:25
[2026-10-20 17:21:25,265.265 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:21:25,274.274 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:21:25,399.399 INFO    ] No existing commands found in stream
[2026-10-20 17:21:30,424.424 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:21:30,427.427 INFO    ] Waiting 2.45 seconds before fallback handling...
[2026-10-20 17:21:33,378.378 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 17:21:33,381.381 INFO    ] Checking for system updates...
[2026-10-20 17:21:33,421.421 INFO    ] 200
[2026-10-20 17:21:33,423.423 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:21:33,475.475 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:21:33,478.478 INFO    ] No update needed
[2026-10-20 17:21:33,480.480 INFO    ] Checking for camera pi updates...
[2026-10-20 17:21:33,514.514 INFO    ] 200
[2026-10-20 17:21:33,517.517 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:21:33,560.560 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:21:33,606.606 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:21:33,609.609 INFO    ] No camera update needed
[2026-10-20 17:21:33,611.611 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:21:33,613.613 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:21:33,618.618 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:21:33,623.623 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:21:35,662.662 INFO    ] ================================================
[2026-10-20 17:21:35,677.677 INFO    ] Launching Daemon at Tue Oct 20 17:21:35 IST 2026
[2026-10-20 17:21:35,688.688 INFO    ] ================================================
[2026-10-20 17:21:36,267.267 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:21:36
[2026-10-20 17:21:36,868.868 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:21:37,131.131 INFO    ] Initializing speech engine...
[2026-10-20 17:21:37,137.137 INFO    ] 2026-10-20 17:21:37
[2026-10-20 17:21:37,434.434 INFO    ] 2026-10-20 17:21:37
[2026-10-20 17:21:37,469.469 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:21:37,696.696 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:21:37,705.705 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:21:37,917.917 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:21:37,932.932 INFO    ] time= 20/10/2026 17:21:37
[2026-10-20 17:21:37,943.943 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:21:38,007.007 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:21:38,108.108 INFO    ] No existing commands found in stream
[2026-10-20 17:21:43,119.119 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:21:43,122.122 INFO    ] Waiting 3.07 seconds before fallback handling...
[2026-10-20 17:21:46,692.692 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:21:46,695.695 INFO    ] Checking for system updates...
[2026-10-20 17:21:46,734.734 INFO    ] 200
[2026-10-20 17:21:46,737.737 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:21:46,789.789 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:21:46,791.791 INFO    ] No update needed
[2026-10-20 17:21:46,794.794 INFO    ] Checking for camera pi updates...
[2026-10-20 17:21:46,827.827 INFO    ] 200
[2026-10-20 17:21:46,830.830 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:21:46,870.870 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:21:46,915.915 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:21:46,917.917 INFO    ] No camera update needed
[2026-10-20 17:21:46,920.920 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:21:46,922.922 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:21:46,927.927 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:21:46,933.933 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:21:48,972.972 INFO    ] ================================================
[2026-10-20 17:21:48,987.987 INFO    ] Launching Daemon at Tue Oct 20 17:21:48 IST 2026
[2026-10-20 17:21:49,998.998 INFO    ] ================================================
[2026-10-20 17:21:49,586.586 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:21:49
[2026-10-20 17:21:50,195.195 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:21:50,469.469 INFO    ] Initializing speech engine...
[2026-10-20 17:21:50,478.478 INFO    ] 2026-10-20 17:21:50
[2026-10-20 17:21:50,729.729 INFO    ] 2026-10-20 17:21:50
[2026-10-20 17:21:50,766.766 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:21:51,019.019 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:21:51,029.029 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:21:51,229.229 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:21:51,283.283 INFO    ] time= 20/10/2026 17:21:51
[2026-10-20 17:21:51,297.297 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:21:51,315.315 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:21:51,462.462 INFO    ] No existing commands found in stream
[2026-10-20 17:21:56,492.492 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:21:56,495.495 INFO    ] Waiting 0.54 seconds before fallback handling...
[2026-10-20 17:21:57,574.574 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:21:57,576.576 INFO    ] Checking for system updates...
[2026-10-20 17:21:57,612.612 INFO    ] 200
[2026-10-20 17:21:57,615.615 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:21:57,673.673 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:21:57,676.676 INFO    ] No update needed
[2026-10-20 17:21:57,678.678 INFO    ] Checking for camera pi updates...
[2026-10-20 17:21:57,712.712 INFO    ] 200
[2026-10-20 17:21:57,714.714 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:21:57,759.759 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:21:57,804.804 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:21:57,807.807 INFO    ] No camera update needed
[2026-10-20 17:21:57,809.809 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:21:57,812.812 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:21:57,817.817 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:21:57,822.822 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:21:59,862.862 INFO    ] ================================================
[2026-10-20 17:21:59,877.877 INFO    ] Launching Daemon at Tue Oct 20 17:21:59 IST 2026
[2026-10-20 17:21:59,888.888 INFO    ] ================================================
[2026-10-20 17:22:00,474.474 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:22:00
[2026-10-20 17:22:01,076.076 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:22:01,354.354 INFO    ] Initializing speech engine...
[2026-10-20 17:22:01,361.361 INFO    ] 2026-10-20 17:22:01
[2026-10-20 17:22:01,622.622 INFO    ] 2026-10-20 17:22:01
[2026-10-20 17:22:01,687.687 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:22:01,922.922 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:22:01,927.927 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:22:02,135.135 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:22:02,141.141 INFO    ] time= 20/10/2026 17:22:02
[2026-10-20 17:22:02,160.160 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:22:02,163.163 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:22:02,247.247 INFO    ] No existing commands found in stream
[2026-10-20 17:22:07,260.260 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:22:07,262.262 INFO    ] Waiting 3.04 seconds before fallback handling...
[2026-10-20 17:22:10,823.823 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:22:10,825.825 INFO    ] Checking for system updates...
[2026-10-20 17:22:10,861.861 INFO    ] 200
[2026-10-20 17:22:10,863.863 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:22:10,915.915 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:22:10,917.917 INFO    ] No update needed
[2026-10-20 17:22:10,919.919 INFO    ] Checking for camera pi updates...
[2026-10-20 17:22:10,952.952 INFO    ] 200
[2026-10-20 17:22:10,955.955 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:22:10,998.998 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:22:11,056.056 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:22:11,058.058 INFO    ] No camera update needed
[2026-10-20 17:22:11,061.061 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:22:11,063.063 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:22:11,068.068 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:22:11,073.073 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:22:13,113.113 INFO    ] ================================================
[2026-10-20 17:22:13,128.128 INFO    ] Launching Daemon at Tue Oct 20 17:22:13 IST 2026
[2026-10-20 17:22:13,139.139 INFO    ] ================================================
[2026-10-20 17:22:13,768.768 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:22:13
[2026-10-20 17:22:14,372.372 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:22:14,676.676 INFO    ] Initializing speech engine...
[2026-10-20 17:22:14,686.686 INFO    ] 2026-10-20 17:22:14
[2026-10-20 17:22:14,972.972 INFO    ] 2026-10-20 17:22:14
[2026-10-20 17:22:15,015.015 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:22:15,246.246 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:22:15,251.251 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:22:15,470.470 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:22:15,514.514 INFO    ] time= 20/10/2026 17:22:15
[2026-10-20 17:22:15,519.519 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:22:15,535.535 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:22:15,670.670 INFO    ] No existing commands found in stream
[2026-10-20 17:22:20,683.683 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:22:20,685.685 INFO    ] Waiting 0.61 seconds before fallback handling...
[2026-10-20 17:22:21,780.780 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:22:21,783.783 INFO    ] Checking for system updates...
[2026-10-20 17:22:21,818.818 INFO    ] 200
[2026-10-20 17:22:21,821.821 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:22:21,872.872 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:22:21,875.875 INFO    ] No update needed
[2026-10-20 17:22:21,877.877 INFO    ] Checking for camera pi updates...
[2026-10-20 17:22:21,910.910 INFO    ] 200
[2026-10-20 17:22:21,913.913 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:22:21,957.957 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:22:22,015.015 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:22:22,017.017 INFO    ] No camera update needed
[2026-10-20 17:22:22,020.020 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:22:22,022.022 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:22:22,030.030 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:22:22,036.036 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:22:24,075.075 INFO    ] ================================================
[2026-10-20 17:22:24,091.091 INFO    ] Launching Daemon at Tue Oct 20 17:22:24 IST 2026
[2026-10-20 17:22:24,102.102 INFO    ] ================================================
[2026-10-20 17:22:24,675.675 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:22:24
[2026-10-20 17:22:25,265.265 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:22:25,532.532 INFO    ] Initializing speech engine...
[2026-10-20 17:22:25,546.546 INFO    ] 2026-10-20 17:22:25
[2026-10-20 17:22:25,833.833 INFO    ] 2026-10-20 17:22:25
[2026-10-20 17:22:25,872.872 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:22:26,099.099 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:22:26,128.128 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:22:26,325.325 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:22:26,352.352 INFO    ] time= 20/10/2026 17:22:26
[2026-10-20 17:22:26,406.406 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:22:26,466.466 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:22:26,623.623 INFO    ] No existing commands found in stream
[2026-10-20 17:22:31,654.654 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:22:31,657.657 INFO    ] Waiting 1.41 seconds before fallback handling...
[2026-10-20 17:22:33,612.612 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:22:33,615.615 INFO    ] Checking for system updates...
[2026-10-20 17:22:33,655.655 INFO    ] 200
[2026-10-20 17:22:33,658.658 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:22:33,714.714 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:22:33,717.717 INFO    ] No update needed
[2026-10-20 17:22:33,719.719 INFO    ] Checking for camera pi updates...
[2026-10-20 17:22:33,757.757 INFO    ] 200
[2026-10-20 17:22:33,760.760 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:22:33,807.807 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:22:33,842.842 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:22:33,845.845 INFO    ] No camera update needed
[2026-10-20 17:22:33,848.848 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:22:33,850.850 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:22:33,857.857 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:22:33,863.863 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:22:35,904.904 INFO    ] ================================================
[2026-10-20 17:22:35,920.920 INFO    ] Launching Daemon at Tue Oct 20 17:22:35 IST 2026
[2026-10-20 17:22:35,931.931 INFO    ] ================================================
[2026-10-20 17:22:36,581.581 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:22:36
[2026-10-20 17:22:37,251.251 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:22:37,556.556 INFO    ] Initializing speech engine...
[2026-10-20 17:22:37,565.565 INFO    ] 2026-10-20 17:22:37
[2026-10-20 17:22:37,855.855 INFO    ] 2026-10-20 17:22:37
[2026-10-20 17:22:37,900.900 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:22:38,190.190 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:22:38,199.199 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:22:38,394.394 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:22:38,407.407 INFO    ] time= 20/10/2026 17:22:38
[2026-10-20 17:22:38,426.426 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:22:38,456.456 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:22:38,586.586 INFO    ] No existing commands found in stream
[2026-10-20 17:22:43,617.617 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:22:43,620.620 INFO    ] Waiting 2.57 seconds before fallback handling...
[2026-10-20 17:22:46,750.750 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:22:46,753.753 INFO    ] Checking for system updates...
[2026-10-20 17:22:46,794.794 INFO    ] 200
[2026-10-20 17:22:46,796.796 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:22:46,854.854 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:22:46,857.857 INFO    ] No update needed
[2026-10-20 17:22:46,860.860 INFO    ] Checking for camera pi updates...
[2026-10-20 17:22:46,894.894 INFO    ] 200
[2026-10-20 17:22:46,897.897 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:22:46,943.943 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:22:47,098.098 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:22:47,101.101 INFO    ] No camera update needed
[2026-10-20 17:22:47,103.103 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:22:47,105.105 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:22:47,111.111 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:22:47,116.116 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:22:49,156.156 INFO    ] ================================================
[2026-10-20 17:22:49,177.177 INFO    ] Launching Daemon at Tue Oct 20 17:22:49 IST 2026
[2026-10-20 17:22:49,188.188 INFO    ] ================================================
[2026-10-20 17:22:49,843.843 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:22:49
[2026-10-20 17:22:50,519.519 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:22:50,817.817 INFO    ] Initializing speech engine...
[2026-10-20 17:22:50,829.829 INFO    ] 2026-10-20 17:22:50
[2026-10-20 17:22:51,108.108 INFO    ] 2026-10-20 17:22:51
[2026-10-20 17:22:51,164.164 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:22:51,402.402 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:22:51,422.422 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:22:51,652.652 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:22:51,671.671 INFO    ] time= 20/10/2026 17:22:51
[2026-10-20 17:22:51,690.690 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:22:51,718.718 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:22:51,870.870 INFO    ] No existing commands found in stream
[2026-10-20 17:22:56,900.900 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:22:56,903.903 INFO    ] Waiting 0.46 seconds before fallback handling...
[2026-10-20 17:22:57,914.914 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:22:57,917.917 INFO    ] Checking for system updates...
[2026-10-20 17:22:57,955.955 INFO    ] 200
[2026-10-20 17:22:57,958.958 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:22:58,011.011 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:22:58,013.013 INFO    ] No update needed
[2026-10-20 17:22:58,016.016 INFO    ] Checking for camera pi updates...
[2026-10-20 17:22:58,050.050 INFO    ] 200
[2026-10-20 17:22:58,053.053 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:22:58,094.094 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:22:58,144.144 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:22:58,147.147 INFO    ] No camera update needed
[2026-10-20 17:22:58,150.150 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:22:58,153.153 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:22:58,159.159 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:22:58,165.165 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:23:00,205.205 INFO    ] ================================================
[2026-10-20 17:23:00,221.221 INFO    ] Launching Daemon at Tue Oct 20 17:23:00 IST 2026
[2026-10-20 17:23:00,232.232 INFO    ] ================================================
[2026-10-20 17:23:00,888.888 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:23:00
[2026-10-20 17:23:01,563.563 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:23:02,038.038 INFO    ] Initializing speech engine...
[2026-10-20 17:23:02,042.042 INFO    ] 2026-10-20 17:23:02
[2026-10-20 17:23:02,358.358 INFO    ] 2026-10-20 17:23:02
[2026-10-20 17:23:02,411.411 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:23:02,637.637 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:23:02,679.679 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:23:02,879.879 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:23:02,923.923 INFO    ] time= 20/10/2026 17:23:02
[2026-10-20 17:23:02,997.997 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:23:03,041.041 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:23:03,182.182 INFO    ] No existing commands found in stream
[2026-10-20 17:23:08,213.213 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:23:08,216.216 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-10-20 17:23:10,735.735 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 17:23:10,738.738 INFO    ] Checking for system updates...
[2026-10-20 17:23:10,774.774 INFO    ] 200
[2026-10-20 17:23:10,777.777 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:23:10,839.839 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:23:10,841.841 INFO    ] No update needed
[2026-10-20 17:23:10,844.844 INFO    ] Checking for camera pi updates...
[2026-10-20 17:23:10,881.881 INFO    ] 200
[2026-10-20 17:23:10,883.883 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:23:10,924.924 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:23:10,965.965 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:23:10,967.967 INFO    ] No camera update needed
[2026-10-20 17:23:10,970.970 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:23:10,972.972 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:23:10,977.977 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:23:10,982.982 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:23:13,022.022 INFO    ] ================================================
[2026-10-20 17:23:13,038.038 INFO    ] Launching Daemon at Tue Oct 20 17:23:13 IST 2026
[2026-10-20 17:23:13,048.048 INFO    ] ================================================
[2026-10-20 17:23:13,692.692 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:23:13
[2026-10-20 17:23:14,356.356 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:23:14,660.660 INFO    ] Initializing speech engine...
[2026-10-20 17:23:14,669.669 INFO    ] 2026-10-20 17:23:14
[2026-10-20 17:23:14,939.939 INFO    ] 2026-10-20 17:23:14
[2026-10-20 17:23:14,975.975 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:23:15,229.229 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:23:15,240.240 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:23:15,378.378 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:23:15,448.448 INFO    ] time= 20/10/2026 17:23:15
[2026-10-20 17:23:15,504.504 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:23:15,516.516 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:23:15,669.669 INFO    ] No existing commands found in stream
[2026-10-20 17:23:20,692.692 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:23:20,695.695 INFO    ] Waiting 2.34 seconds before fallback handling...
[2026-10-20 17:23:23,571.571 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:23:23,574.574 INFO    ] Checking for system updates...
[2026-10-20 17:23:23,611.611 INFO    ] 200
[2026-10-20 17:23:23,614.614 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:23:23,666.666 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:23:23,669.669 INFO    ] No update needed
[2026-10-20 17:23:23,672.672 INFO    ] Checking for camera pi updates...
[2026-10-20 17:23:23,706.706 INFO    ] 200
[2026-10-20 17:23:23,709.709 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:23:23,750.750 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:23:23,798.798 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:23:23,801.801 INFO    ] No camera update needed
[2026-10-20 17:23:23,803.803 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:23:23,806.806 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:23:23,812.812 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:23:23,818.818 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:23:25,859.859 INFO    ] ================================================
[2026-10-20 17:23:25,875.875 INFO    ] Launching Daemon at Tue Oct 20 17:23:25 IST 2026
[2026-10-20 17:23:25,886.886 INFO    ] ================================================
[2026-10-20 17:23:26,453.453 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:23:26
[2026-10-20 17:23:27,036.036 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:23:27,305.305 INFO    ] Initializing speech engine...
[2026-10-20 17:23:27,313.313 INFO    ] 2026-10-20 17:23:27
[2026-10-20 17:23:27,565.565 INFO    ] 2026-10-20 17:23:27
[2026-10-20 17:23:27,599.599 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:23:27,857.857 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:23:27,866.866 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:23:28,003.003 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:23:28,063.063 INFO    ] time= 20/10/2026 17:23:28
[2026-10-20 17:23:28,112.112 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:23:28,136.136 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:23:28,267.267 INFO    ] No existing commands found in stream
[2026-10-20 17:23:33,297.297 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:23:33,300.300 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-10-20 17:23:35,406.406 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 17:23:35,409.409 INFO    ] Checking for system updates...
[2026-10-20 17:23:35,443.443 INFO    ] 200
[2026-10-20 17:23:35,446.446 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:23:35,504.504 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:23:35,506.506 INFO    ] No update needed
[2026-10-20 17:23:35,508.508 INFO    ] Checking for camera pi updates...
[2026-10-20 17:23:35,542.542 INFO    ] 200
[2026-10-20 17:23:35,544.544 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:23:35,588.588 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:23:35,647.647 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:23:35,649.649 INFO    ] No camera update needed
[2026-10-20 17:23:35,652.652 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:23:35,654.654 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:23:35,659.659 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:23:35,664.664 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:23:37,704.704 INFO    ] ================================================
[2026-10-20 17:23:37,720.720 INFO    ] Launching Daemon at Tue Oct 20 17:23:37 IST 2026
[2026-10-20 17:23:37,731.731 INFO    ] ================================================
[2026-10-20 17:23:38,371.371 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:23:38
[2026-10-20 17:23:39,029.029 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:23:39,328.328 INFO    ] Initializing speech engine...
[2026-10-20 17:23:39,342.342 INFO    ] 2026-10-20 17:23:39
[2026-10-20 17:23:39,622.622 INFO    ] 2026-10-20 17:23:39
[2026-10-20 17:23:39,668.668 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:23:39,957.957 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:23:39,966.966 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:23:40,149.149 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:23:40,173.173 INFO    ] time= 20/10/2026 17:23:40
[2026-10-20 17:23:40,192.192 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:23:40,205.205 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:23:40,333.333 INFO    ] No existing commands found in stream
[2026-10-20 17:23:45,352.352 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:23:45,355.355 INFO    ] Waiting 3.75 seconds before fallback handling...
[2026-10-20 17:23:49,647.647 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:23:49,650.650 INFO    ] Checking for system updates...
[2026-10-20 17:23:49,690.690 INFO    ] 200
[2026-10-20 17:23:49,693.693 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:23:49,756.756 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:23:49,759.759 INFO    ] No update needed
[2026-10-20 17:23:49,762.762 INFO    ] Checking for camera pi updates...
[2026-10-20 17:23:49,796.796 INFO    ] 200
[2026-10-20 17:23:49,799.799 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:23:49,846.846 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:23:49,900.900 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:23:49,903.903 INFO    ] No camera update needed
[2026-10-20 17:23:49,905.905 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:23:49,907.907 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:23:49,913.913 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:23:49,917.917 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:23:51,957.957 INFO    ] ================================================
[2026-10-20 17:23:51,972.972 INFO    ] Launching Daemon at Tue Oct 20 17:23:51 IST 2026
[2026-10-20 17:23:51,982.982 INFO    ] ================================================
[2026-10-20 17:23:52,557.557 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:23:52
[2026-10-20 17:23:53,154.154 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:23:53,431.431 INFO    ] Initializing speech engine...
[2026-10-20 17:23:53,436.436 INFO    ] 2026-10-20 17:23:53
[2026-10-20 17:23:53,690.690 INFO    ] 2026-10-20 17:23:53
[2026-10-20 17:23:53,725.725 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:23:54,098.098 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:23:54,103.103 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:23:54,255.255 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:23:54,283.283 INFO    ] time= 20/10/2026 17:23:54
[2026-10-20 17:23:54,290.290 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:23:54,297.297 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:23:54,412.412 INFO    ] No existing commands found in stream
[2026-10-20 17:23:59,442.442 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:23:59,445.445 INFO    ] Waiting 2.13 seconds before fallback handling...
[2026-10-20 17:24:02,156.156 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 17:24:02,169.169 INFO    ] Checking for system updates...
[2026-10-20 17:24:02,215.215 INFO    ] 200
[2026-10-20 17:24:02,219.219 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:24:02,289.289 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:24:02,292.292 INFO    ] No update needed
[2026-10-20 17:24:02,295.295 INFO    ] Checking for camera pi updates...
[2026-10-20 17:24:02,331.331 INFO    ] 200
[2026-10-20 17:24:02,334.334 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:24:02,380.380 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:24:02,422.422 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:24:02,425.425 INFO    ] No camera update needed
[2026-10-20 17:24:02,427.427 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:24:02,430.430 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:24:02,437.437 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:24:02,443.443 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:24:04,487.487 INFO    ] ================================================
[2026-10-20 17:24:04,503.503 INFO    ] Launching Daemon at Tue Oct 20 17:24:04 IST 2026
[2026-10-20 17:24:04,513.513 INFO    ] ================================================
[2026-10-20 17:24:05,155.155 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:24:05
[2026-10-20 17:24:05,815.815 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:24:06,074.074 INFO    ] Initializing speech engine...
[2026-10-20 17:24:06,081.081 INFO    ] 2026-10-20 17:24:06
[2026-10-20 17:24:06,371.371 INFO    ] 2026-10-20 17:24:06
[2026-10-20 17:24:06,408.408 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:24:06,684.684 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:24:06,699.699 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:24:06,855.855 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:24:06,872.872 INFO    ] time= 20/10/2026 17:24:06
[2026-10-20 17:24:06,932.932 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:24:06,986.986 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:24:07,104.104 INFO    ] No existing commands found in stream
[2026-10-20 17:24:12,137.137 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:24:12,140.140 INFO    ] Waiting 1.15 seconds before fallback handling...
[2026-10-20 17:24:13,824.824 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:24:13,826.826 INFO    ] Checking for system updates...
[2026-10-20 17:24:13,862.862 INFO    ] 200
[2026-10-20 17:24:13,865.865 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:24:13,920.920 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:24:13,923.923 INFO    ] No update needed
[2026-10-20 17:24:13,926.926 INFO    ] Checking for camera pi updates...
[2026-10-20 17:24:13,963.963 INFO    ] 200
[2026-10-20 17:24:13,966.966 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:24:14,011.011 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:24:14,056.056 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:24:14,059.059 INFO    ] No camera update needed
[2026-10-20 17:24:14,062.062 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:24:14,064.064 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:24:14,071.071 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:24:14,076.076 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:24:16,118.118 INFO    ] ================================================
[2026-10-20 17:24:16,133.133 INFO    ] Launching Daemon at Tue Oct 20 17:24:16 IST 2026
[2026-10-20 17:24:16,143.143 INFO    ] ================================================
[2026-10-20 17:24:16,786.786 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:24:16
[2026-10-20 17:24:17,447.447 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:24:17,751.751 INFO    ] Initializing speech engine...
[2026-10-20 17:24:17,765.765 INFO    ] 2026-10-20 17:24:17
[2026-10-20 17:24:18,031.031 INFO    ] 2026-10-20 17:24:18
[2026-10-20 17:24:18,088.088 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:24:18,374.374 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:24:18,382.382 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:24:18,571.571 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:24:18,588.588 INFO    ] time= 20/10/2026 17:24:18
[2026-10-20 17:24:18,600.600 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:24:18,627.627 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:24:18,745.745 INFO    ] No existing commands found in stream
[2026-10-20 17:24:23,770.770 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:24:23,774.774 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-10-20 17:24:27,464.464 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:24:27,467.467 INFO    ] Checking for system updates...
[2026-10-20 17:24:27,503.503 INFO    ] 200
[2026-10-20 17:24:27,506.506 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:24:27,561.561 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:24:27,563.563 INFO    ] No update needed
[2026-10-20 17:24:27,566.566 INFO    ] Checking for camera pi updates...
[2026-10-20 17:24:27,603.603 INFO    ] 200
[2026-10-20 17:24:27,606.606 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:24:27,651.651 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:24:27,698.698 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:24:27,700.700 INFO    ] No camera update needed
[2026-10-20 17:24:27,703.703 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:24:27,705.705 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:24:27,710.710 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:24:27,715.715 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:24:29,755.755 INFO    ] ================================================
[2026-10-20 17:24:29,770.770 INFO    ] Launching Daemon at Tue Oct 20 17:24:29 IST 2026
[2026-10-20 17:24:29,785.785 INFO    ] ================================================
[2026-10-20 17:24:30,363.363 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:24:30
[2026-10-20 17:24:30,959.959 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:24:31,232.232 INFO    ] Initializing speech engine...
[2026-10-20 17:24:31,241.241 INFO    ] 2026-10-20 17:24:31
[2026-10-20 17:24:31,494.494 INFO    ] 2026-10-20 17:24:31
[2026-10-20 17:24:31,551.551 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:24:31,776.776 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:24:31,785.785 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:24:31,938.938 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:24:32,021.021 INFO    ] time= 20/10/2026 17:24:31
[2026-10-20 17:24:32,070.070 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:24:32,089.089 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:24:32,231.231 INFO    ] No existing commands found in stream
[2026-10-20 17:24:37,251.251 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:24:37,254.254 INFO    ] Waiting 2.45 seconds before fallback handling...
[2026-10-20 17:24:40,222.222 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:24:40,225.225 INFO    ] Checking for system updates...
[2026-10-20 17:24:40,262.262 INFO    ] 200
[2026-10-20 17:24:40,264.264 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:24:40,323.323 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:24:40,326.326 INFO    ] No update needed
[2026-10-20 17:24:40,329.329 INFO    ] Checking for camera pi updates...
[2026-10-20 17:24:40,364.364 INFO    ] 200
[2026-10-20 17:24:40,367.367 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:24:40,408.408 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:24:40,456.456 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:24:40,458.458 INFO    ] No camera update needed
[2026-10-20 17:24:40,461.461 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:24:40,464.464 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:24:40,470.470 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:24:40,476.476 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:24:42,517.517 INFO    ] ================================================
[2026-10-20 17:24:42,532.532 INFO    ] Launching Daemon at Tue Oct 20 17:24:42 IST 2026
[2026-10-20 17:24:42,543.543 INFO    ] ================================================
[2026-10-20 17:24:43,217.217 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:24:43
[2026-10-20 17:24:43,876.876 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:24:44,177.177 INFO    ] Initializing speech engine...
[2026-10-20 17:24:44,190.190 INFO    ] 2026-10-20 17:24:44
[2026-10-20 17:24:44,497.497 INFO    ] 2026-10-20 17:24:44
[2026-10-20 17:24:44,583.583 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:24:44,793.793 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:24:44,801.801 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:24:45,003.003 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:24:45,019.019 INFO    ] time= 20/10/2026 17:24:45
[2026-10-20 17:24:45,029.029 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:24:45,056.056 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:24:45,177.177 INFO    ] No existing commands found in stream
[2026-10-20 17:24:50,207.207 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:24:50,211.211 INFO    ] Waiting 3.30 seconds before fallback handling...
[2026-10-20 17:24:54,041.041 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:24:54,044.044 INFO    ] Checking for system updates...
[2026-10-20 17:24:54,084.084 INFO    ] 200
[2026-10-20 17:24:54,087.087 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:24:54,142.142 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:24:54,145.145 INFO    ] No update needed
[2026-10-20 17:24:54,147.147 INFO    ] Checking for camera pi updates...
[2026-10-20 17:24:54,182.182 INFO    ] 200
[2026-10-20 17:24:54,184.184 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:24:54,225.225 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:24:54,371.371 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:24:54,373.373 INFO    ] No camera update needed
[2026-10-20 17:24:54,376.376 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:24:54,379.379 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:24:54,385.385 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:24:54,391.391 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:24:56,431.431 INFO    ] ================================================
[2026-10-20 17:24:56,446.446 INFO    ] Launching Daemon at Tue Oct 20 17:24:56 IST 2026
[2026-10-20 17:24:56,457.457 INFO    ] ================================================
[2026-10-20 17:24:57,024.024 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:24:57
[2026-10-20 17:24:57,615.615 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:24:57,867.867 INFO    ] Initializing speech engine...
[2026-10-20 17:24:57,873.873 INFO    ] 2026-10-20 17:24:57
[2026-10-20 17:24:58,167.167 INFO    ] 2026-10-20 17:24:58
[2026-10-20 17:24:58,202.202 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:24:58,402.402 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:24:58,415.415 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:24:58,575.575 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:24:58,585.585 INFO    ] time= 20/10/2026 17:24:58
[2026-10-20 17:24:58,591.591 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:24:58,638.638 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:24:58,777.777 INFO    ] No existing commands found in stream
[2026-10-20 17:25:03,810.810 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:25:03,813.813 INFO    ] Waiting 3.45 seconds before fallback handling...
[2026-10-20 17:25:07,768.768 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:25:07,771.771 INFO    ] Checking for system updates...
[2026-10-20 17:25:07,809.809 INFO    ] 200
[2026-10-20 17:25:07,812.812 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:25:07,863.863 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:25:07,865.865 INFO    ] No update needed
[2026-10-20 17:25:07,868.868 INFO    ] Checking for camera pi updates...
[2026-10-20 17:25:07,902.902 INFO    ] 200
[2026-10-20 17:25:07,904.904 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:25:07,949.949 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:25:07,997.997 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:25:08,000.000 INFO    ] No camera update needed
[2026-10-20 17:25:08,002.002 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:25:08,004.004 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:25:08,010.010 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:25:08,015.015 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:25:10,057.057 INFO    ] ================================================
[2026-10-20 17:25:10,073.073 INFO    ] Launching Daemon at Tue Oct 20 17:25:10 IST 2026
[2026-10-20 17:25:10,085.085 INFO    ] ================================================
[2026-10-20 17:25:10,651.651 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:25:10
[2026-10-20 17:25:11,233.233 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:25:11,499.499 INFO    ] Initializing speech engine...
[2026-10-20 17:25:11,511.511 INFO    ] 2026-10-20 17:25:11
[2026-10-20 17:25:11,761.761 INFO    ] 2026-10-20 17:25:11
[2026-10-20 17:25:11,797.797 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:25:11,995.995 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:25:12,023.023 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:25:12,200.200 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:25:12,243.243 INFO    ] time= 20/10/2026 17:25:12
[2026-10-20 17:25:12,286.286 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:25:12,337.337 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:25:12,474.474 INFO    ] No existing commands found in stream
[2026-10-20 17:25:17,497.497 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:25:17,500.500 INFO    ] Waiting 2.73 seconds before fallback handling...
[2026-10-20 17:25:20,705.705 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 17:25:20,708.708 INFO    ] Checking for system updates...
[2026-10-20 17:25:20,744.744 INFO    ] 200
[2026-10-20 17:25:20,746.746 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:25:20,797.797 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:25:20,800.800 INFO    ] No update needed
[2026-10-20 17:25:20,802.802 INFO    ] Checking for camera pi updates...
[2026-10-20 17:25:20,835.835 INFO    ] 200
[2026-10-20 17:25:20,837.837 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:25:20,882.882 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:25:20,941.941 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:25:20,943.943 INFO    ] No camera update needed
[2026-10-20 17:25:20,945.945 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:25:20,948.948 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:25:20,953.953 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:25:20,958.958 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:25:23,999.999 INFO    ] ================================================
[2026-10-20 17:25:23,015.015 INFO    ] Launching Daemon at Tue Oct 20 17:25:23 IST 2026
[2026-10-20 17:25:23,026.026 INFO    ] ================================================
[2026-10-20 17:25:23,608.608 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:25:23
[2026-10-20 17:25:24,210.210 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:25:24,484.484 INFO    ] Initializing speech engine...
[2026-10-20 17:25:24,493.493 INFO    ] 2026-10-20 17:25:24
[2026-10-20 17:25:24,741.741 INFO    ] 2026-10-20 17:25:24
[2026-10-20 17:25:24,776.776 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:25:25,034.034 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:25:25,043.043 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:25:25,178.178 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:25:25,233.233 INFO    ] time= 20/10/2026 17:25:25
[2026-10-20 17:25:25,270.270 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:25:25,272.272 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:25:25,362.362 INFO    ] No existing commands found in stream
[2026-10-20 17:25:30,374.374 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:25:30,377.377 INFO    ] Waiting 2.21 seconds before fallback handling...
[2026-10-20 17:25:33,114.114 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:25:33,119.119 INFO    ] Checking for system updates...
[2026-10-20 17:25:33,155.155 INFO    ] 200
[2026-10-20 17:25:33,157.157 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:25:33,215.215 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:25:33,218.218 INFO    ] No update needed
[2026-10-20 17:25:33,220.220 INFO    ] Checking for camera pi updates...
[2026-10-20 17:25:33,257.257 INFO    ] 200
[2026-10-20 17:25:33,259.259 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:25:33,303.303 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:25:33,357.357 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:25:33,360.360 INFO    ] No camera update needed
[2026-10-20 17:25:33,362.362 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:25:33,364.364 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:25:33,370.370 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:25:33,375.375 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:25:35,415.415 INFO    ] ================================================
[2026-10-20 17:25:35,431.431 INFO    ] Launching Daemon at Tue Oct 20 17:25:35 IST 2026
[2026-10-20 17:25:35,442.442 INFO    ] ================================================
[2026-10-20 17:25:36,028.028 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:25:36
[2026-10-20 17:25:36,636.636 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:25:36,933.933 INFO    ] Initializing speech engine...
[2026-10-20 17:25:36,942.942 INFO    ] 2026-10-20 17:25:36
[2026-10-20 17:25:37,208.208 INFO    ] 2026-10-20 17:25:37
[2026-10-20 17:25:37,246.246 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:25:37,523.523 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:25:37,532.532 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:25:37,684.684 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:25:37,739.739 INFO    ] time= 20/10/2026 17:25:37
[2026-10-20 17:25:37,793.793 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:25:37,831.831 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:25:37,988.988 INFO    ] No existing commands found in stream
[2026-10-20 17:25:43,004.004 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:25:43,007.007 INFO    ] Waiting 1.72 seconds before fallback handling...
[2026-10-20 17:25:46,037.037 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 17:25:46,040.040 INFO    ] Checking for system updates...
[2026-10-20 17:25:46,079.079 INFO    ] 200
[2026-10-20 17:25:46,082.082 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:25:46,140.140 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:25:46,142.142 INFO    ] No update needed
[2026-10-20 17:25:46,145.145 INFO    ] Checking for camera pi updates...
[2026-10-20 17:25:46,178.178 INFO    ] 200
[2026-10-20 17:25:46,181.181 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:25:46,220.220 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:25:46,271.271 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:25:46,273.273 INFO    ] No camera update needed
[2026-10-20 17:25:46,276.276 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:25:46,278.278 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:25:46,283.283 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:25:46,289.289 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:25:48,330.330 INFO    ] ================================================
[2026-10-20 17:25:48,345.345 INFO    ] Launching Daemon at Tue Oct 20 17:25:48 IST 2026
[2026-10-20 17:25:48,355.355 INFO    ] ================================================
[2026-10-20 17:25:48,921.921 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:25:48
[2026-10-20 17:25:49,503.503 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:25:49,750.750 INFO    ] Initializing speech engine...
[2026-10-20 17:25:49,765.765 INFO    ] 2026-10-20 17:25:49
[2026-10-20 17:25:50,032.032 INFO    ] 2026-10-20 17:25:50
[2026-10-20 17:25:50,067.067 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:25:50,262.262 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:25:50,275.275 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:25:50,435.435 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:25:50,440.440 INFO    ] time= 20/10/2026 17:25:50
[2026-10-20 17:25:50,447.447 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:25:50,452.452 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:25:50,531.531 INFO    ] No existing commands found in stream
[2026-10-20 17:25:55,567.567 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:25:55,570.570 INFO    ] Waiting 3.50 seconds before fallback handling...
[2026-10-20 17:25:59,624.624 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 17:25:59,627.627 INFO    ] Checking for system updates...
[2026-10-20 17:25:59,662.662 INFO    ] 200
[2026-10-20 17:25:59,664.664 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:25:59,717.717 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:25:59,720.720 INFO    ] No update needed
[2026-10-20 17:25:59,722.722 INFO    ] Checking for camera pi updates...
[2026-10-20 17:25:59,756.756 INFO    ] 200
[2026-10-20 17:25:59,759.759 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:25:59,804.804 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:25:59,850.850 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:25:59,852.852 INFO    ] No camera update needed
[2026-10-20 17:25:59,855.855 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:25:59,857.857 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:25:59,862.862 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:25:59,867.867 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:26:01,935.935 INFO    ] ================================================
[2026-10-20 17:26:01,977.977 INFO    ] Launching Daemon at Tue Oct 20 17:26:01 IST 2026
[2026-10-20 17:26:02,001.001 INFO    ] ================================================
[2026-10-20 17:26:02,693.693 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:26:02
[2026-10-20 17:26:03,364.364 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:26:03,680.680 INFO    ] Initializing speech engine...
[2026-10-20 17:26:03,695.695 INFO    ] 2026-10-20 17:26:03
[2026-10-20 17:26:03,976.976 INFO    ] 2026-10-20 17:26:03
[2026-10-20 17:26:04,012.012 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:26:04,263.263 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:26:04,273.273 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:26:04,466.466 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:26:04,530.530 INFO    ] time= 20/10/2026 17:26:04
[2026-10-20 17:26:04,537.537 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:26:04,551.551 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:26:04,685.685 INFO    ] No existing commands found in stream
[2026-10-20 17:26:09,697.697 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:26:09,700.700 INFO    ] Waiting 0.69 seconds before fallback handling...
[2026-10-20 17:26:10,940.940 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:26:10,943.943 INFO    ] Checking for system updates...
[2026-10-20 17:26:10,980.980 INFO    ] 200
[2026-10-20 17:26:10,983.983 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:26:11,040.040 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:26:11,043.043 INFO    ] No update needed
[2026-10-20 17:26:11,045.045 INFO    ] Checking for camera pi updates...
[2026-10-20 17:26:11,079.079 INFO    ] 200
[2026-10-20 17:26:11,081.081 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:26:11,121.121 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:26:11,164.164 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:26:11,166.166 INFO    ] No camera update needed
[2026-10-20 17:26:11,168.168 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:26:11,171.171 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:26:11,176.176 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:26:11,181.181 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:26:13,221.221 INFO    ] ================================================
[2026-10-20 17:26:13,236.236 INFO    ] Launching Daemon at Tue Oct 20 17:26:13 IST 2026
[2026-10-20 17:26:13,246.246 INFO    ] ================================================
[2026-10-20 17:26:13,825.825 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:26:13
[2026-10-20 17:26:14,424.424 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:26:14,699.699 INFO    ] Initializing speech engine...
[2026-10-20 17:26:14,707.707 INFO    ] 2026-10-20 17:26:14
[2026-10-20 17:26:14,957.957 INFO    ] 2026-10-20 17:26:14
[2026-10-20 17:26:14,992.992 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:26:15,251.251 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:26:15,260.260 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:26:15,397.397 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:26:15,457.457 INFO    ] time= 20/10/2026 17:26:15
[2026-10-20 17:26:15,511.511 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:26:15,534.534 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:26:15,656.656 INFO    ] No existing commands found in stream
[2026-10-20 17:26:20,681.681 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:26:20,684.684 INFO    ] Waiting 1.68 seconds before fallback handling...
[2026-10-20 17:26:22,864.864 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 17:26:22,866.866 INFO    ] Checking for system updates...
[2026-10-20 17:26:22,905.905 INFO    ] 200
[2026-10-20 17:26:22,907.907 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:26:22,958.958 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:26:22,961.961 INFO    ] No update needed
[2026-10-20 17:26:22,963.963 INFO    ] Checking for camera pi updates...
[2026-10-20 17:26:22,997.997 INFO    ] 200
[2026-10-20 17:26:23,000.000 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:26:23,043.043 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:26:23,110.110 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:26:23,112.112 INFO    ] No camera update needed
[2026-10-20 17:26:23,115.115 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:26:23,117.117 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:26:23,122.122 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:26:23,127.127 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:26:25,168.168 INFO    ] ================================================
[2026-10-20 17:26:25,182.182 INFO    ] Launching Daemon at Tue Oct 20 17:26:25 IST 2026
[2026-10-20 17:26:25,193.193 INFO    ] ================================================
[2026-10-20 17:26:25,773.773 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:26:25
[2026-10-20 17:26:26,370.370 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:26:26,648.648 INFO    ] Initializing speech engine...
[2026-10-20 17:26:26,655.655 INFO    ] 2026-10-20 17:26:26
[2026-10-20 17:26:26,914.914 INFO    ] 2026-10-20 17:26:26
[2026-10-20 17:26:26,965.965 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:26:27,194.194 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:26:27,199.199 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:26:27,423.423 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:26:27,459.459 INFO    ] time= 20/10/2026 17:26:27
[2026-10-20 17:26:27,475.475 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:26:27,485.485 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:26:27,614.614 INFO    ] No existing commands found in stream
[2026-10-20 17:26:32,636.636 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:26:32,640.640 INFO    ] Waiting 0.08 seconds before fallback handling...
[2026-10-20 17:26:33,199.199 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:26:33,202.202 INFO    ] Checking for system updates...
[2026-10-20 17:26:33,240.240 INFO    ] 200
[2026-10-20 17:26:33,243.243 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:26:33,295.295 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:26:33,297.297 INFO    ] No update needed
[2026-10-20 17:26:33,300.300 INFO    ] Checking for camera pi updates...
[2026-10-20 17:26:33,337.337 INFO    ] 200
[2026-10-20 17:26:33,340.340 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:26:33,385.385 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:26:33,436.436 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:26:33,439.439 INFO    ] No camera update needed
[2026-10-20 17:26:33,442.442 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:26:33,444.444 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:26:33,450.450 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:26:33,455.455 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:26:35,495.495 INFO    ] ================================================
[2026-10-20 17:26:35,510.510 INFO    ] Launching Daemon at Tue Oct 20 17:26:35 IST 2026
[2026-10-20 17:26:35,521.521 INFO    ] ================================================
[2026-10-20 17:26:36,093.093 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:26:36
[2026-10-20 17:26:36,681.681 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:26:36,930.930 INFO    ] Initializing speech engine...
[2026-10-20 17:26:36,942.942 INFO    ] 2026-10-20 17:26:36
[2026-10-20 17:26:37,205.205 INFO    ] 2026-10-20 17:26:37
[2026-10-20 17:26:37,241.241 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:26:37,472.472 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:26:37,474.474 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:26:37,639.639 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:26:37,699.699 INFO    ] time= 20/10/2026 17:26:37
[2026-10-20 17:26:37,763.763 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:26:37,774.774 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:26:37,915.915 INFO    ] No existing commands found in stream
[2026-10-20 17:26:42,938.938 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:26:42,941.941 INFO    ] Waiting 0.80 seconds before fallback handling...
[2026-10-20 17:26:44,270.270 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 17:26:44,273.273 INFO    ] Checking for system updates...
[2026-10-20 17:26:44,310.310 INFO    ] 200
[2026-10-20 17:26:44,313.313 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:26:44,365.365 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:26:44,368.368 INFO    ] No update needed
[2026-10-20 17:26:44,371.371 INFO    ] Checking for camera pi updates...
[2026-10-20 17:26:44,410.410 INFO    ] 200
[2026-10-20 17:26:44,413.413 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:26:44,455.455 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:26:44,506.506 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:26:44,509.509 INFO    ] No camera update needed
[2026-10-20 17:26:44,512.512 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:26:44,515.515 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:26:44,521.521 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:26:44,527.527 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:26:46,568.568 INFO    ] ================================================
[2026-10-20 17:26:46,583.583 INFO    ] Launching Daemon at Tue Oct 20 17:26:46 IST 2026
[2026-10-20 17:26:46,594.594 INFO    ] ================================================
[2026-10-20 17:26:47,168.168 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:26:47
[2026-10-20 17:26:47,753.753 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:26:48,013.013 INFO    ] Initializing speech engine...
[2026-10-20 17:26:48,029.029 INFO    ] 2026-10-20 17:26:48
[2026-10-20 17:26:48,315.315 INFO    ] 2026-10-20 17:26:48
[2026-10-20 17:26:48,350.350 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:26:48,579.579 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:26:48,588.588 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:26:48,736.736 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:26:48,741.741 INFO    ] time= 20/10/2026 17:26:48
[2026-10-20 17:26:48,749.749 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:26:48,775.775 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:26:48,918.918 INFO    ] No existing commands found in stream
[2026-10-20 17:26:53,943.943 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:26:53,946.946 INFO    ] Waiting 2.53 seconds before fallback handling...
[2026-10-20 17:26:56,962.962 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 17:26:56,964.964 INFO    ] Checking for system updates...
[2026-10-20 17:26:57,000.000 INFO    ] 200
[2026-10-20 17:26:57,002.002 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:26:57,061.061 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:26:57,063.063 INFO    ] No update needed
[2026-10-20 17:26:57,066.066 INFO    ] Checking for camera pi updates...
[2026-10-20 17:26:57,099.099 INFO    ] 200
[2026-10-20 17:26:57,101.101 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:26:57,146.146 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:26:57,296.296 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:26:57,298.298 INFO    ] No camera update needed
[2026-10-20 17:26:57,301.301 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:26:57,303.303 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:26:57,308.308 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:26:57,313.313 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:26:59,353.353 INFO    ] ================================================
[2026-10-20 17:26:59,368.368 INFO    ] Launching Daemon at Tue Oct 20 17:26:59 IST 2026
[2026-10-20 17:26:59,379.379 INFO    ] ================================================
[2026-10-20 17:26:59,955.955 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:26:59
[2026-10-20 17:27:00,553.553 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:27:00,814.814 INFO    ] Initializing speech engine...
[2026-10-20 17:27:00,830.830 INFO    ] 2026-10-20 17:27:00
[2026-10-20 17:27:01,115.115 INFO    ] 2026-10-20 17:27:01
[2026-10-20 17:27:01,150.150 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:27:01,361.361 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:27:01,378.378 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:27:01,530.530 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:27:01,535.535 INFO    ] time= 20/10/2026 17:27:01
[2026-10-20 17:27:01,542.542 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:27:01,573.573 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:27:01,727.727 INFO    ] No existing commands found in stream
[2026-10-20 17:27:06,752.752 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:27:06,754.754 INFO    ] Waiting 0.96 seconds before fallback handling...
[2026-10-20 17:27:08,229.229 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:27:08,232.232 INFO    ] Checking for system updates...
[2026-10-20 17:27:08,267.267 INFO    ] 200
[2026-10-20 17:27:08,270.270 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:27:08,330.330 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:27:08,332.332 INFO    ] No update needed
[2026-10-20 17:27:08,334.334 INFO    ] Checking for camera pi updates...
[2026-10-20 17:27:08,371.371 INFO    ] 200
[2026-10-20 17:27:08,373.373 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:27:08,413.413 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:27:08,463.463 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:27:08,465.465 INFO    ] No camera update needed
[2026-10-20 17:27:08,467.467 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:27:08,470.470 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:27:08,475.475 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:27:08,480.480 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:27:10,520.520 INFO    ] ================================================
[2026-10-20 17:27:10,534.534 INFO    ] Launching Daemon at Tue Oct 20 17:27:10 IST 2026
[2026-10-20 17:27:10,545.545 INFO    ] ================================================
[2026-10-20 17:27:11,193.193 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:27:11
[2026-10-20 17:27:11,859.859 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:27:12,161.161 INFO    ] Initializing speech engine...
[2026-10-20 17:27:12,175.175 INFO    ] 2026-10-20 17:27:12
[2026-10-20 17:27:12,485.485 INFO    ] 2026-10-20 17:27:12
[2026-10-20 17:27:12,572.572 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:27:12,787.787 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:27:12,795.795 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:27:12,986.986 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:27:12,993.993 INFO    ] time= 20/10/2026 17:27:12
[2026-10-20 17:27:13,015.015 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:27:13,043.043 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:27:13,157.157 INFO    ] No existing commands found in stream
[2026-10-20 17:27:18,179.179 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:27:18,182.182 INFO    ] Waiting 1.72 seconds before fallback handling...
[2026-10-20 17:27:20,452.452 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:27:20,455.455 INFO    ] Checking for system updates...
[2026-10-20 17:27:20,500.500 INFO    ] 200
[2026-10-20 17:27:20,502.502 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:27:20,558.558 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:27:20,561.561 INFO    ] No update needed
[2026-10-20 17:27:20,563.563 INFO    ] Checking for camera pi updates...
[2026-10-20 17:27:20,596.596 INFO    ] 200
[2026-10-20 17:27:20,598.598 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:27:20,641.641 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:27:20,691.691 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:27:20,693.693 INFO    ] No camera update needed
[2026-10-20 17:27:20,695.695 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:27:20,698.698 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:27:20,703.703 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:27:20,708.708 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:27:22,749.749 INFO    ] ================================================
[2026-10-20 17:27:22,764.764 INFO    ] Launching Daemon at Tue Oct 20 17:27:22 IST 2026
[2026-10-20 17:27:22,774.774 INFO    ] ================================================
[2026-10-20 17:27:23,426.426 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:27:23
[2026-10-20 17:27:24,101.101 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:27:24,410.410 INFO    ] Initializing speech engine...
[2026-10-20 17:27:24,417.417 INFO    ] 2026-10-20 17:27:24
[2026-10-20 17:27:24,706.706 INFO    ] 2026-10-20 17:27:24
[2026-10-20 17:27:24,753.753 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:27:24,984.984 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:27:24,990.990 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:27:25,218.218 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:27:25,253.253 INFO    ] time= 20/10/2026 17:27:25
[2026-10-20 17:27:25,273.273 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:27:25,293.293 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:27:25,416.416 INFO    ] No existing commands found in stream
[2026-10-20 17:27:30,441.441 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:27:30,444.444 INFO    ] Waiting 3.13 seconds before fallback handling...
[2026-10-20 17:27:34,114.114 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:27:34,117.117 INFO    ] Checking for system updates...
[2026-10-20 17:27:34,158.158 INFO    ] 200
[2026-10-20 17:27:34,161.161 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:27:34,214.214 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:27:34,216.216 INFO    ] No update needed
[2026-10-20 17:27:34,219.219 INFO    ] Checking for camera pi updates...
[2026-10-20 17:27:34,261.261 INFO    ] 200
[2026-10-20 17:27:34,264.264 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:27:34,305.305 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:27:34,350.350 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:27:34,353.353 INFO    ] No camera update needed
[2026-10-20 17:27:34,356.356 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:27:34,358.358 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:27:34,365.365 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:27:34,370.370 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:27:36,410.410 INFO    ] ================================================
[2026-10-20 17:27:36,425.425 INFO    ] Launching Daemon at Tue Oct 20 17:27:36 IST 2026
[2026-10-20 17:27:36,436.436 INFO    ] ================================================
[2026-10-20 17:27:37,001.001 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:27:36
[2026-10-20 17:27:37,585.585 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:27:37,854.854 INFO    ] Initializing speech engine...
[2026-10-20 17:27:37,864.864 INFO    ] 2026-10-20 17:27:37
[2026-10-20 17:27:38,112.112 INFO    ] 2026-10-20 17:27:38
[2026-10-20 17:27:38,147.147 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:27:38,405.405 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:27:38,414.414 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:27:38,613.613 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:27:38,677.677 INFO    ] time= 20/10/2026 17:27:38
[2026-10-20 17:27:38,684.684 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:27:38,702.702 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:27:38,836.836 INFO    ] No existing commands found in stream
[2026-10-20 17:27:43,848.848 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:27:43,851.851 INFO    ] Waiting 2.67 seconds before fallback handling...
[2026-10-20 17:27:47,932.932 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:27:47,935.935 INFO    ] Checking for system updates...
[2026-10-20 17:27:47,970.970 INFO    ] 200
[2026-10-20 17:27:47,972.972 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:27:48,025.025 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:27:48,028.028 INFO    ] No update needed
[2026-10-20 17:27:48,030.030 INFO    ] Checking for camera pi updates...
[2026-10-20 17:27:48,067.067 INFO    ] 200
[2026-10-20 17:27:48,070.070 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:27:48,114.114 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:27:48,164.164 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:27:48,166.166 INFO    ] No camera update needed
[2026-10-20 17:27:48,169.169 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:27:48,171.171 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:27:48,177.177 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:27:48,182.182 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:27:50,224.224 INFO    ] ================================================
[2026-10-20 17:27:50,239.239 INFO    ] Launching Daemon at Tue Oct 20 17:27:50 IST 2026
[2026-10-20 17:27:50,250.250 INFO    ] ================================================
[2026-10-20 17:27:51,609.609 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:27:50
[2026-10-20 17:27:52,198.198 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:27:52,467.467 INFO    ] Initializing speech engine...
[2026-10-20 17:27:52,476.476 INFO    ] 2026-10-20 17:27:52
[2026-10-20 17:27:52,730.730 INFO    ] 2026-10-20 17:27:52
[2026-10-20 17:27:52,765.765 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:27:53,012.012 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:27:53,021.021 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:27:53,212.212 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:27:53,261.261 INFO    ] time= 20/10/2026 17:27:53
[2026-10-20 17:27:53,282.282 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:27:53,288.288 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:27:53,432.432 INFO    ] No existing commands found in stream
[2026-10-20 17:27:58,445.445 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:27:58,448.448 INFO    ] Waiting 1.45 seconds before fallback handling...
[2026-10-20 17:28:00,413.413 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:28:00,416.416 INFO    ] Checking for system updates...
[2026-10-20 17:28:00,452.452 INFO    ] 200
[2026-10-20 17:28:00,455.455 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:28:00,513.513 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:28:00,516.516 INFO    ] No update needed
[2026-10-20 17:28:00,518.518 INFO    ] Checking for camera pi updates...
[2026-10-20 17:28:00,551.551 INFO    ] 200
[2026-10-20 17:28:00,554.554 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:28:00,599.599 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:28:00,648.648 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:28:00,651.651 INFO    ] No camera update needed
[2026-10-20 17:28:00,653.653 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:28:00,655.655 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:28:00,661.661 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:28:00,665.665 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:28:02,711.711 INFO    ] ================================================
[2026-10-20 17:28:02,729.729 INFO    ] Launching Daemon at Tue Oct 20 17:28:02 IST 2026
[2026-10-20 17:28:02,743.743 INFO    ] ================================================
[2026-10-20 17:28:03,392.392 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:28:03
[2026-10-20 17:28:04,033.033 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:28:04,293.293 INFO    ] Initializing speech engine...
[2026-10-20 17:28:04,312.312 INFO    ] 2026-10-20 17:28:04
[2026-10-20 17:28:04,560.560 INFO    ] 2026-10-20 17:28:04
[2026-10-20 17:28:04,595.595 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:28:04,847.847 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:28:04,856.856 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:28:04,990.990 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:28:05,045.045 INFO    ] time= 20/10/2026 17:28:04
[2026-10-20 17:28:05,100.100 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:28:05,122.122 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:28:05,268.268 INFO    ] No existing commands found in stream
[2026-10-20 17:28:10,281.281 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:28:10,283.283 INFO    ] Waiting 0.46 seconds before fallback handling...
[2026-10-20 17:28:11,232.232 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 17:28:11,235.235 INFO    ] Checking for system updates...
[2026-10-20 17:28:11,271.271 INFO    ] 200
[2026-10-20 17:28:11,273.273 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:28:11,332.332 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:28:11,335.335 INFO    ] No update needed
[2026-10-20 17:28:11,337.337 INFO    ] Checking for camera pi updates...
[2026-10-20 17:28:11,370.370 INFO    ] 200
[2026-10-20 17:28:11,372.372 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:28:11,412.412 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:28:11,476.476 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:28:11,478.478 INFO    ] No camera update needed
[2026-10-20 17:28:11,481.481 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:28:11,483.483 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:28:11,489.489 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:28:11,494.494 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:28:13,535.535 INFO    ] ================================================
[2026-10-20 17:28:13,550.550 INFO    ] Launching Daemon at Tue Oct 20 17:28:13 IST 2026
[2026-10-20 17:28:13,561.561 INFO    ] ================================================
[2026-10-20 17:28:14,131.131 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:28:14
[2026-10-20 17:28:14,719.719 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:28:14,989.989 INFO    ] Initializing speech engine...
[2026-10-20 17:28:14,996.996 INFO    ] 2026-10-20 17:28:14
[2026-10-20 17:28:15,244.244 INFO    ] 2026-10-20 17:28:15
[2026-10-20 17:28:15,279.279 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:28:15,529.529 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:28:15,537.537 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:28:15,672.672 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:28:15,742.742 INFO    ] time= 20/10/2026 17:28:15
[2026-10-20 17:28:15,797.797 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:28:15,804.804 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:28:15,968.968 INFO    ] No existing commands found in stream
[2026-10-20 17:28:20,998.998 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:28:21,001.001 INFO    ] Waiting 3.13 seconds before fallback handling...
[2026-10-20 17:28:24,625.625 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:28:24,628.628 INFO    ] Checking for system updates...
[2026-10-20 17:28:24,663.663 INFO    ] 200
[2026-10-20 17:28:24,666.666 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:28:24,724.724 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:28:24,727.727 INFO    ] No update needed
[2026-10-20 17:28:24,729.729 INFO    ] Checking for camera pi updates...
[2026-10-20 17:28:24,766.766 INFO    ] 200
[2026-10-20 17:28:24,768.768 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:28:24,808.808 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:28:24,853.853 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:28:24,856.856 INFO    ] No camera update needed
[2026-10-20 17:28:24,858.858 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:28:24,860.860 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:28:24,866.866 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:28:24,871.871 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:28:26,913.913 INFO    ] ================================================
[2026-10-20 17:28:26,928.928 INFO    ] Launching Daemon at Tue Oct 20 17:28:26 IST 2026
[2026-10-20 17:28:26,938.938 INFO    ] ================================================
[2026-10-20 17:28:27,510.510 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:28:27
[2026-10-20 17:28:28,106.106 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:28:28,379.379 INFO    ] Initializing speech engine...
[2026-10-20 17:28:28,388.388 INFO    ] 2026-10-20 17:28:28
[2026-10-20 17:28:28,638.638 INFO    ] 2026-10-20 17:28:28
[2026-10-20 17:28:28,673.673 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:28:28,875.875 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:28:28,935.935 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:28:29,091.091 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:28:29,156.156 INFO    ] time= 20/10/2026 17:28:29
[2026-10-20 17:28:29,213.213 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:28:29,219.219 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:28:29,343.343 INFO    ] No existing commands found in stream
[2026-10-20 17:28:34,374.374 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:28:34,376.376 INFO    ] Waiting 3.24 seconds before fallback handling...
[2026-10-20 17:28:38,834.834 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:28:38,836.836 INFO    ] Checking for system updates...
[2026-10-20 17:28:38,876.876 INFO    ] 200
[2026-10-20 17:28:38,879.879 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:28:38,933.933 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:28:38,936.936 INFO    ] No update needed
[2026-10-20 17:28:38,938.938 INFO    ] Checking for camera pi updates...
[2026-10-20 17:28:38,977.977 INFO    ] 200
[2026-10-20 17:28:38,979.979 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:28:39,025.025 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:28:39,074.074 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:28:39,076.076 INFO    ] No camera update needed
[2026-10-20 17:28:39,079.079 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:28:39,081.081 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:28:39,087.087 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:28:39,092.092 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:28:41,134.134 INFO    ] ================================================
[2026-10-20 17:28:41,149.149 INFO    ] Launching Daemon at Tue Oct 20 17:28:41 IST 2026
[2026-10-20 17:28:41,159.159 INFO    ] ================================================
[2026-10-20 17:28:41,823.823 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:28:41
[2026-10-20 17:28:42,503.503 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:28:42,811.811 INFO    ] Initializing speech engine...
[2026-10-20 17:28:42,820.820 INFO    ] 2026-10-20 17:28:42
[2026-10-20 17:28:43,139.139 INFO    ] 2026-10-20 17:28:43
[2026-10-20 17:28:43,223.223 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:28:43,633.633 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:28:43,653.653 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:28:43,827.827 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:28:43,903.903 INFO    ] time= 20/10/2026 17:28:43
[2026-10-20 17:28:43,963.963 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:28:44,019.019 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:28:44,217.217 INFO    ] No existing commands found in stream
[2026-10-20 17:28:49,248.248 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:28:49,252.252 INFO    ] Waiting 3.69 seconds before fallback handling...
[2026-10-20 17:28:53,493.493 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:28:53,496.496 INFO    ] Checking for system updates...
[2026-10-20 17:28:53,534.534 INFO    ] 200
[2026-10-20 17:28:53,537.537 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:28:53,589.589 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:28:53,591.591 INFO    ] No update needed
[2026-10-20 17:28:53,594.594 INFO    ] Checking for camera pi updates...
[2026-10-20 17:28:53,632.632 INFO    ] 200
[2026-10-20 17:28:53,634.634 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:28:53,674.674 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:28:53,726.726 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:28:53,728.728 INFO    ] No camera update needed
[2026-10-20 17:28:53,731.731 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:28:53,733.733 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:28:53,739.739 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:28:53,744.744 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:28:55,783.783 INFO    ] ================================================
[2026-10-20 17:28:55,798.798 INFO    ] Launching Daemon at Tue Oct 20 17:28:55 IST 2026
[2026-10-20 17:28:55,809.809 INFO    ] ================================================
[2026-10-20 17:28:56,374.374 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:28:56
[2026-10-20 17:28:56,961.961 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:28:57,209.209 INFO    ] Initializing speech engine...
[2026-10-20 17:28:57,224.224 INFO    ] 2026-10-20 17:28:57
[2026-10-20 17:28:57,490.490 INFO    ] 2026-10-20 17:28:57
[2026-10-20 17:28:57,525.525 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:28:57,727.727 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:28:57,786.786 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:28:57,936.936 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:28:57,990.990 INFO    ] time= 20/10/2026 17:28:57
[2026-10-20 17:28:58,045.045 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:28:58,066.066 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:28:58,207.207 INFO    ] No existing commands found in stream
[2026-10-20 17:29:03,229.229 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:29:03,232.232 INFO    ] Waiting 1.13 seconds before fallback handling...
[2026-10-20 17:29:04,870.870 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 17:29:04,873.873 INFO    ] Checking for system updates...
[2026-10-20 17:29:04,912.912 INFO    ] 200
[2026-10-20 17:29:04,915.915 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:29:04,976.976 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:29:04,979.979 INFO    ] No update needed
[2026-10-20 17:29:04,981.981 INFO    ] Checking for camera pi updates...
[2026-10-20 17:29:05,015.015 INFO    ] 200
[2026-10-20 17:29:05,018.018 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:29:05,058.058 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:29:05,109.109 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:29:05,112.112 INFO    ] No camera update needed
[2026-10-20 17:29:05,114.114 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:29:05,116.116 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:29:05,122.122 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:29:05,127.127 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:29:07,170.170 INFO    ] ================================================
[2026-10-20 17:29:07,185.185 INFO    ] Launching Daemon at Tue Oct 20 17:29:07 IST 2026
[2026-10-20 17:29:07,195.195 INFO    ] ================================================
[2026-10-20 17:29:07,779.779 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:29:07
[2026-10-20 17:29:08,378.378 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:29:08,690.690 INFO    ] Initializing speech engine...
[2026-10-20 17:29:08,699.699 INFO    ] 2026-10-20 17:29:08
[2026-10-20 17:29:09,041.041 INFO    ] 2026-10-20 17:29:09
[2026-10-20 17:29:09,124.124 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:29:09,365.365 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:29:09,370.370 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:29:09,553.553 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:29:09,577.577 INFO    ] time= 20/10/2026 17:29:09
[2026-10-20 17:29:09,593.593 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:29:09,603.603 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:29:09,737.737 INFO    ] No existing commands found in stream
[2026-10-20 17:29:14,757.757 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:29:14,760.760 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-10-20 17:29:17,253.253 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:29:17,256.256 INFO    ] Checking for system updates...
[2026-10-20 17:29:17,296.296 INFO    ] 200
[2026-10-20 17:29:17,298.298 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:29:17,352.352 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:29:17,354.354 INFO    ] No update needed
[2026-10-20 17:29:17,357.357 INFO    ] Checking for camera pi updates...
[2026-10-20 17:29:17,395.395 INFO    ] 200
[2026-10-20 17:29:17,397.397 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:29:17,447.447 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:29:17,492.492 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:29:17,495.495 INFO    ] No camera update needed
[2026-10-20 17:29:17,497.497 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:29:17,499.499 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:29:17,505.505 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:29:17,510.510 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:29:19,550.550 INFO    ] ================================================
[2026-10-20 17:29:19,565.565 INFO    ] Launching Daemon at Tue Oct 20 17:29:19 IST 2026
[2026-10-20 17:29:19,576.576 INFO    ] ================================================
[2026-10-20 17:29:20,202.202 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:29:20
[2026-10-20 17:29:20,889.889 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:29:21,197.197 INFO    ] Initializing speech engine...
[2026-10-20 17:29:21,211.211 INFO    ] 2026-10-20 17:29:21
[2026-10-20 17:29:21,502.502 INFO    ] 2026-10-20 17:29:21
[2026-10-20 17:29:21,612.612 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:29:21,832.832 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:29:21,882.882 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:29:22,033.033 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:29:22,055.055 INFO    ] time= 20/10/2026 17:29:22
[2026-10-20 17:29:22,084.084 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:29:22,094.094 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:29:22,221.221 INFO    ] No existing commands found in stream
[2026-10-20 17:29:27,252.252 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:29:27,255.255 INFO    ] Waiting 2.56 seconds before fallback handling...
[2026-10-20 17:29:30,347.347 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:29:30,350.350 INFO    ] Checking for system updates...
[2026-10-20 17:29:30,392.392 INFO    ] 200
[2026-10-20 17:29:30,395.395 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:29:30,447.447 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:29:30,449.449 INFO    ] No update needed
[2026-10-20 17:29:30,452.452 INFO    ] Checking for camera pi updates...
[2026-10-20 17:29:30,489.489 INFO    ] 200
[2026-10-20 17:29:30,492.492 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:29:30,537.537 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:29:30,587.587 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:29:30,590.590 INFO    ] No camera update needed
[2026-10-20 17:29:30,592.592 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:29:30,595.595 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:29:30,600.600 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:29:30,605.605 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:29:32,645.645 INFO    ] ================================================
[2026-10-20 17:29:32,665.665 INFO    ] Launching Daemon at Tue Oct 20 17:29:32 IST 2026
[2026-10-20 17:29:32,676.676 INFO    ] ================================================
[2026-10-20 17:29:33,267.267 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:29:33
[2026-10-20 17:29:33,891.891 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:29:34,149.149 INFO    ] Initializing speech engine...
[2026-10-20 17:29:34,156.156 INFO    ] 2026-10-20 17:29:34
[2026-10-20 17:29:34,451.451 INFO    ] 2026-10-20 17:29:34
[2026-10-20 17:29:34,486.486 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:29:34,715.715 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:29:34,723.723 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:29:34,879.879 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:29:34,948.948 INFO    ] time= 20/10/2026 17:29:34
[2026-10-20 17:29:34,955.955 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:29:35,010.010 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:29:35,155.155 INFO    ] No existing commands found in stream
[2026-10-20 17:29:40,167.167 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:29:40,170.170 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-10-20 17:29:42,823.823 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:29:42,825.825 INFO    ] Checking for system updates...
[2026-10-20 17:29:42,861.861 INFO    ] 200
[2026-10-20 17:29:42,863.863 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:29:42,922.922 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:29:42,924.924 INFO    ] No update needed
[2026-10-20 17:29:42,927.927 INFO    ] Checking for camera pi updates...
[2026-10-20 17:29:42,964.964 INFO    ] 200
[2026-10-20 17:29:42,966.966 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:29:43,011.011 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:29:43,076.076 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:29:43,079.079 INFO    ] No camera update needed
[2026-10-20 17:29:43,081.081 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:29:43,084.084 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:29:43,089.089 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:29:43,094.094 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:29:45,134.134 INFO    ] ================================================
[2026-10-20 17:29:45,149.149 INFO    ] Launching Daemon at Tue Oct 20 17:29:45 IST 2026
[2026-10-20 17:29:45,159.159 INFO    ] ================================================
[2026-10-20 17:29:45,731.731 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:29:45
[2026-10-20 17:29:46,327.327 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:29:46,603.603 INFO    ] Initializing speech engine...
[2026-10-20 17:29:46,611.611 INFO    ] 2026-10-20 17:29:46
[2026-10-20 17:29:46,888.888 INFO    ] 2026-10-20 17:29:46
[2026-10-20 17:29:46,944.944 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:29:47,206.206 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:29:47,240.240 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:29:47,425.425 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:29:47,453.453 INFO    ] time= 20/10/2026 17:29:47
[2026-10-20 17:29:47,470.470 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:29:47,480.480 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:29:47,613.613 INFO    ] No existing commands found in stream
[2026-10-20 17:29:52,629.629 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:29:52,632.632 INFO    ] Waiting 0.48 seconds before fallback handling...
[2026-10-20 17:29:53,580.580 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:29:53,583.583 INFO    ] Checking for system updates...
[2026-10-20 17:29:53,618.618 INFO    ] 200
[2026-10-20 17:29:53,620.620 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:29:53,680.680 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:29:53,682.682 INFO    ] No update needed
[2026-10-20 17:29:53,685.685 INFO    ] Checking for camera pi updates...
[2026-10-20 17:29:53,718.718 INFO    ] 200
[2026-10-20 17:29:53,720.720 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:29:53,761.761 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:29:53,811.811 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:29:53,814.814 INFO    ] No camera update needed
[2026-10-20 17:29:53,817.817 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:29:53,820.820 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:29:53,826.826 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:29:53,832.832 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:29:55,872.872 INFO    ] ================================================
[2026-10-20 17:29:55,887.887 INFO    ] Launching Daemon at Tue Oct 20 17:29:55 IST 2026
[2026-10-20 17:29:55,899.899 INFO    ] ================================================
[2026-10-20 17:29:56,564.564 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:29:56
[2026-10-20 17:29:57,256.256 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:29:57,564.564 INFO    ] Initializing speech engine...
[2026-10-20 17:29:57,573.573 INFO    ] 2026-10-20 17:29:57
[2026-10-20 17:29:57,860.860 INFO    ] 2026-10-20 17:29:57
[2026-10-20 17:29:57,907.907 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:29:58,195.195 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:29:58,203.203 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:29:58,394.394 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:29:58,412.412 INFO    ] time= 20/10/2026 17:29:58
[2026-10-20 17:29:58,422.422 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:29:58,451.451 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:29:58,574.574 INFO    ] No existing commands found in stream
[2026-10-20 17:30:03,601.601 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:30:03,606.606 INFO    ] Waiting 0.80 seconds before fallback handling...
[2026-10-20 17:30:06,828.828 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:30:06,831.831 INFO    ] Checking for system updates...
[2026-10-20 17:30:06,871.871 INFO    ] 200
[2026-10-20 17:30:06,873.873 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:30:06,924.924 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:30:06,927.927 INFO    ] No update needed
[2026-10-20 17:30:06,929.929 INFO    ] Checking for camera pi updates...
[2026-10-20 17:30:06,963.963 INFO    ] 200
[2026-10-20 17:30:06,965.965 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:30:07,010.010 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:30:07,058.058 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:30:07,060.060 INFO    ] No camera update needed
[2026-10-20 17:30:07,063.063 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:30:07,065.065 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:30:07,071.071 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:30:07,076.076 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:30:09,115.115 INFO    ] ================================================
[2026-10-20 17:30:09,131.131 INFO    ] Launching Daemon at Tue Oct 20 17:30:09 IST 2026
[2026-10-20 17:30:09,148.148 INFO    ] ================================================
[2026-10-20 17:30:09,728.728 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:30:09
[2026-10-20 17:30:10,327.327 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:30:10,602.602 INFO    ] Initializing speech engine...
[2026-10-20 17:30:10,613.613 INFO    ] 2026-10-20 17:30:10
[2026-10-20 17:30:10,872.872 INFO    ] 2026-10-20 17:30:10
[2026-10-20 17:30:10,929.929 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:30:11,185.185 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:30:11,202.202 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:30:11,414.414 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:30:11,425.425 INFO    ] time= 20/10/2026 17:30:11
[2026-10-20 17:30:11,443.443 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:30:11,471.471 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:30:11,595.595 INFO    ] No existing commands found in stream
[2026-10-20 17:30:16,620.620 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:30:16,623.623 INFO    ] Waiting 3.43 seconds before fallback handling...
[2026-10-20 17:30:20,571.571 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 17:30:20,574.574 INFO    ] Checking for system updates...
[2026-10-20 17:30:20,613.613 INFO    ] 200
[2026-10-20 17:30:20,615.615 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:30:20,667.667 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:30:20,669.669 INFO    ] No update needed
[2026-10-20 17:30:20,672.672 INFO    ] Checking for camera pi updates...
[2026-10-20 17:30:20,705.705 INFO    ] 200
[2026-10-20 17:30:20,708.708 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:30:20,753.753 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:30:20,803.803 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:30:20,806.806 INFO    ] No camera update needed
[2026-10-20 17:30:20,808.808 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:30:20,811.811 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:30:20,816.816 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:30:20,821.821 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:30:22,862.862 INFO    ] ================================================
[2026-10-20 17:30:22,877.877 INFO    ] Launching Daemon at Tue Oct 20 17:30:22 IST 2026
[2026-10-20 17:30:22,887.887 INFO    ] ================================================
[2026-10-20 17:30:23,470.470 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:30:23
[2026-10-20 17:30:24,069.069 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:30:24,347.347 INFO    ] Initializing speech engine...
[2026-10-20 17:30:24,354.354 INFO    ] 2026-10-20 17:30:24
[2026-10-20 17:30:24,615.615 INFO    ] 2026-10-20 17:30:24
[2026-10-20 17:30:24,667.667 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:30:24,891.891 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:30:24,900.900 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:30:25,032.032 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:30:25,074.074 INFO    ] time= 20/10/2026 17:30:25
[2026-10-20 17:30:25,133.133 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:30:25,166.166 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:30:25,316.316 INFO    ] No existing commands found in stream
[2026-10-20 17:30:30,338.338 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:30:30,341.341 INFO    ] Waiting 3.79 seconds before fallback handling...
[2026-10-20 17:30:34,691.691 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 17:30:34,694.694 INFO    ] Checking for system updates...
[2026-10-20 17:30:34,730.730 INFO    ] 200
[2026-10-20 17:30:34,732.732 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:30:34,791.791 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:30:34,794.794 INFO    ] No update needed
[2026-10-20 17:30:34,796.796 INFO    ] Checking for camera pi updates...
[2026-10-20 17:30:34,830.830 INFO    ] 200
[2026-10-20 17:30:34,832.832 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:30:34,877.877 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:30:34,933.933 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:30:34,935.935 INFO    ] No camera update needed
[2026-10-20 17:30:34,938.938 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:30:34,940.940 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:30:34,946.946 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:30:34,951.951 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:30:36,991.991 INFO    ] ================================================
[2026-10-20 17:30:37,007.007 INFO    ] Launching Daemon at Tue Oct 20 17:30:37 IST 2026
[2026-10-20 17:30:37,018.018 INFO    ] ================================================
[2026-10-20 17:30:37,676.676 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:30:37
[2026-10-20 17:30:38,355.355 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:30:38,666.666 INFO    ] Initializing speech engine...
[2026-10-20 17:30:38,678.678 INFO    ] 2026-10-20 17:30:38
[2026-10-20 17:30:38,990.990 INFO    ] 2026-10-20 17:30:38
[2026-10-20 17:30:39,040.040 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:30:39,256.256 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:30:39,274.274 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:30:39,492.492 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:30:39,503.503 INFO    ] time= 20/10/2026 17:30:39
[2026-10-20 17:30:39,521.521 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:30:39,533.533 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:30:39,662.662 INFO    ] No existing commands found in stream
[2026-10-20 17:30:44,691.691 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:30:44,693.693 INFO    ] Waiting 0.27 seconds before fallback handling...
[2026-10-20 17:30:45,453.453 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:30:45,455.455 INFO    ] Checking for system updates...
[2026-10-20 17:30:45,494.494 INFO    ] 200
[2026-10-20 17:30:45,496.496 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:30:45,556.556 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:30:45,558.558 INFO    ] No update needed
[2026-10-20 17:30:45,562.562 INFO    ] Checking for camera pi updates...
[2026-10-20 17:30:45,596.596 INFO    ] 200
[2026-10-20 17:30:45,599.599 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:30:45,639.639 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:30:45,684.684 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:30:45,686.686 INFO    ] No camera update needed
[2026-10-20 17:30:45,689.689 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:30:45,691.691 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:30:45,696.696 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:30:45,702.702 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:30:47,743.743 INFO    ] ================================================
[2026-10-20 17:30:47,759.759 INFO    ] Launching Daemon at Tue Oct 20 17:30:47 IST 2026
[2026-10-20 17:30:47,770.770 INFO    ] ================================================
[2026-10-20 17:30:48,339.339 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:30:48
[2026-10-20 17:30:48,926.926 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:30:49,197.197 INFO    ] Initializing speech engine...
[2026-10-20 17:30:49,204.204 INFO    ] 2026-10-20 17:30:49
[2026-10-20 17:30:49,455.455 INFO    ] 2026-10-20 17:30:49
[2026-10-20 17:30:49,490.490 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:30:49,691.691 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:30:49,750.750 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:30:49,960.960 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:30:50,010.010 INFO    ] time= 20/10/2026 17:30:49
[2026-10-20 17:30:50,024.024 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:30:50,030.030 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:30:50,158.158 INFO    ] No existing commands found in stream
[2026-10-20 17:30:55,186.186 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:30:55,189.189 INFO    ] Waiting 3.20 seconds before fallback handling...
[2026-10-20 17:30:58,866.866 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:30:58,869.869 INFO    ] Checking for system updates...
[2026-10-20 17:30:58,908.908 INFO    ] 200
[2026-10-20 17:30:58,911.911 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:30:58,968.968 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:30:58,971.971 INFO    ] No update needed
[2026-10-20 17:30:58,973.973 INFO    ] Checking for camera pi updates...
[2026-10-20 17:30:59,006.006 INFO    ] 200
[2026-10-20 17:30:59,009.009 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:30:59,049.049 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:30:59,103.103 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:30:59,105.105 INFO    ] No camera update needed
[2026-10-20 17:30:59,108.108 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:30:59,110.110 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:30:59,116.116 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:30:59,121.121 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:31:01,162.162 INFO    ] ================================================
[2026-10-20 17:31:01,177.177 INFO    ] Launching Daemon at Tue Oct 20 17:31:01 IST 2026
[2026-10-20 17:31:01,189.189 INFO    ] ================================================
[2026-10-20 17:31:01,836.836 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:31:01
[2026-10-20 17:31:02,535.535 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:31:02,852.852 INFO    ] Initializing speech engine...
[2026-10-20 17:31:02,861.861 INFO    ] 2026-10-20 17:31:02
[2026-10-20 17:31:03,191.191 INFO    ] 2026-10-20 17:31:03
[2026-10-20 17:31:03,269.269 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:31:03,521.521 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:31:03,531.531 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:31:03,724.724 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:31:03,771.771 INFO    ] time= 20/10/2026 17:31:03
[2026-10-20 17:31:03,803.803 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:31:03,810.810 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:31:03,955.955 INFO    ] No existing commands found in stream
[2026-10-20 17:31:08,972.972 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:31:08,974.974 INFO    ] Waiting 1.50 seconds before fallback handling...
[2026-10-20 17:31:10,983.983 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:31:10,986.986 INFO    ] Checking for system updates...
[2026-10-20 17:31:11,023.023 INFO    ] 200
[2026-10-20 17:31:11,026.026 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:31:11,079.079 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:31:11,082.082 INFO    ] No update needed
[2026-10-20 17:31:11,084.084 INFO    ] Checking for camera pi updates...
[2026-10-20 17:31:11,123.123 INFO    ] 200
[2026-10-20 17:31:11,126.126 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:31:11,167.167 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:31:11,315.315 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:31:11,318.318 INFO    ] No camera update needed
[2026-10-20 17:31:11,321.321 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:31:11,324.324 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:31:11,330.330 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:31:11,336.336 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:31:13,378.378 INFO    ] ================================================
[2026-10-20 17:31:13,394.394 INFO    ] Launching Daemon at Tue Oct 20 17:31:13 IST 2026
[2026-10-20 17:31:13,405.405 INFO    ] ================================================
[2026-10-20 17:31:13,990.990 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:31:13
[2026-10-20 17:31:14,594.594 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:31:14,853.853 INFO    ] Initializing speech engine...
[2026-10-20 17:31:14,859.859 INFO    ] 2026-10-20 17:31:14
[2026-10-20 17:31:15,167.167 INFO    ] 2026-10-20 17:31:15
[2026-10-20 17:31:15,207.207 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:31:15,474.474 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:31:15,484.484 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:31:15,716.716 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:31:15,748.748 INFO    ] time= 20/10/2026 17:31:15
[2026-10-20 17:31:15,763.763 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:31:15,772.772 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:31:15,921.921 INFO    ] No existing commands found in stream
[2026-10-20 17:31:20,951.951 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:31:20,954.954 INFO    ] Waiting 1.45 seconds before fallback handling...
[2026-10-20 17:31:22,939.939 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 17:31:22,941.941 INFO    ] Checking for system updates...
[2026-10-20 17:31:22,977.977 INFO    ] 200
[2026-10-20 17:31:22,980.980 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:31:23,036.036 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:31:23,038.038 INFO    ] No update needed
[2026-10-20 17:31:23,041.041 INFO    ] Checking for camera pi updates...
[2026-10-20 17:31:23,074.074 INFO    ] 200
[2026-10-20 17:31:23,076.076 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:31:23,121.121 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:31:23,174.174 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:31:23,177.177 INFO    ] No camera update needed
[2026-10-20 17:31:23,180.180 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:31:23,182.182 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:31:23,187.187 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:31:23,192.192 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:31:25,232.232 INFO    ] ================================================
[2026-10-20 17:31:25,248.248 INFO    ] Launching Daemon at Tue Oct 20 17:31:25 IST 2026
[2026-10-20 17:31:25,259.259 INFO    ] ================================================
[2026-10-20 17:31:25,890.890 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:31:25
[2026-10-20 17:31:26,471.471 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:31:26,719.719 INFO    ] Initializing speech engine...
[2026-10-20 17:31:26,731.731 INFO    ] 2026-10-20 17:31:26
[2026-10-20 17:31:26,997.997 INFO    ] 2026-10-20 17:31:26
[2026-10-20 17:31:27,066.066 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:31:27,311.311 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:31:27,319.319 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:31:27,526.526 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:31:27,554.554 INFO    ] time= 20/10/2026 17:31:27
[2026-10-20 17:31:27,571.571 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:31:27,577.577 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:31:27,706.706 INFO    ] No existing commands found in stream
[2026-10-20 17:31:32,718.718 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:31:32,722.722 INFO    ] Waiting 2.05 seconds before fallback handling...
[2026-10-20 17:31:35,328.328 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:31:35,331.331 INFO    ] Checking for system updates...
[2026-10-20 17:31:35,367.367 INFO    ] 200
[2026-10-20 17:31:35,369.369 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:31:35,428.428 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:31:35,430.430 INFO    ] No update needed
[2026-10-20 17:31:35,433.433 INFO    ] Checking for camera pi updates...
[2026-10-20 17:31:35,468.468 INFO    ] 200
[2026-10-20 17:31:35,471.471 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:31:35,519.519 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:31:35,571.571 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:31:35,574.574 INFO    ] No camera update needed
[2026-10-20 17:31:35,577.577 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:31:35,580.580 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:31:35,587.587 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:31:35,593.593 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:31:37,634.634 INFO    ] ================================================
[2026-10-20 17:31:37,650.650 INFO    ] Launching Daemon at Tue Oct 20 17:31:37 IST 2026
[2026-10-20 17:31:37,661.661 INFO    ] ================================================
[2026-10-20 17:31:38,245.245 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:31:38
[2026-10-20 17:31:38,831.831 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:31:39,104.104 INFO    ] Initializing speech engine...
[2026-10-20 17:31:39,114.114 INFO    ] 2026-10-20 17:31:39
[2026-10-20 17:31:39,364.364 INFO    ] 2026-10-20 17:31:39
[2026-10-20 17:31:39,400.400 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:31:39,659.659 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:31:39,668.668 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:31:39,806.806 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:31:39,862.862 INFO    ] time= 20/10/2026 17:31:39
[2026-10-20 17:31:39,911.911 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:31:39,943.943 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:31:40,095.095 INFO    ] No existing commands found in stream
[2026-10-20 17:31:45,117.117 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:31:45,120.120 INFO    ] Waiting 0.37 seconds before fallback handling...
[2026-10-20 17:31:46,028.028 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:31:46,031.031 INFO    ] Checking for system updates...
[2026-10-20 17:31:46,066.066 INFO    ] 200
[2026-10-20 17:31:46,069.069 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:31:46,122.122 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:31:46,124.124 INFO    ] No update needed
[2026-10-20 17:31:46,127.127 INFO    ] Checking for camera pi updates...
[2026-10-20 17:31:46,160.160 INFO    ] 200
[2026-10-20 17:31:46,162.162 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:31:46,206.206 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:31:46,252.252 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:31:46,254.254 INFO    ] No camera update needed
[2026-10-20 17:31:46,257.257 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:31:46,259.259 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:31:46,264.264 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:31:46,269.269 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:31:48,310.310 INFO    ] ================================================
[2026-10-20 17:31:48,325.325 INFO    ] Launching Daemon at Tue Oct 20 17:31:48 IST 2026
[2026-10-20 17:31:48,336.336 INFO    ] ================================================
[2026-10-20 17:31:48,918.918 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:31:48
[2026-10-20 17:31:49,518.518 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:31:49,789.789 INFO    ] Initializing speech engine...
[2026-10-20 17:31:49,802.802 INFO    ] 2026-10-20 17:31:49
[2026-10-20 17:31:50,069.069 INFO    ] 2026-10-20 17:31:50
[2026-10-20 17:31:50,105.105 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:31:50,358.358 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:31:50,368.368 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:31:50,579.579 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:31:50,625.625 INFO    ] time= 20/10/2026 17:31:50
[2026-10-20 17:31:50,631.631 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:31:50,649.649 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:31:50,780.780 INFO    ] No existing commands found in stream
[2026-10-20 17:31:55,792.792 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:31:55,794.794 INFO    ] Waiting 1.24 seconds before fallback handling...
[2026-10-20 17:31:57,562.562 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 17:31:57,565.565 INFO    ] Checking for system updates...
[2026-10-20 17:31:57,600.600 INFO    ] 200
[2026-10-20 17:31:57,603.603 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:31:57,655.655 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:31:57,658.658 INFO    ] No update needed
[2026-10-20 17:31:57,660.660 INFO    ] Checking for camera pi updates...
[2026-10-20 17:31:57,696.696 INFO    ] 200
[2026-10-20 17:31:57,699.699 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:31:57,744.744 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:31:57,802.802 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:31:57,804.804 INFO    ] No camera update needed
[2026-10-20 17:31:57,807.807 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:31:57,809.809 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:31:57,814.814 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:31:57,819.819 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:31:59,859.859 INFO    ] ================================================
[2026-10-20 17:31:59,874.874 INFO    ] Launching Daemon at Tue Oct 20 17:31:59 IST 2026
[2026-10-20 17:31:59,885.885 INFO    ] ================================================
[2026-10-20 17:32:00,455.455 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:32:00
[2026-10-20 17:32:01,042.042 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:32:01,313.313 INFO    ] Initializing speech engine...
[2026-10-20 17:32:01,322.322 INFO    ] 2026-10-20 17:32:01
[2026-10-20 17:32:01,573.573 INFO    ] 2026-10-20 17:32:01
[2026-10-20 17:32:01,609.609 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:32:01,815.815 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:32:01,874.874 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:32:02,042.042 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:32:02,090.090 INFO    ] time= 20/10/2026 17:32:02
[2026-10-20 17:32:02,093.093 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:32:02,109.109 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:32:02,179.179 INFO    ] No existing commands found in stream
[2026-10-20 17:32:07,189.189 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:32:07,192.192 INFO    ] Waiting 0.68 seconds before fallback handling...
[2026-10-20 17:32:08,390.390 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:32:08,392.392 INFO    ] Checking for system updates...
[2026-10-20 17:32:08,428.428 INFO    ] 200
[2026-10-20 17:32:08,431.431 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:32:08,483.483 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:32:08,485.485 INFO    ] No update needed
[2026-10-20 17:32:08,488.488 INFO    ] Checking for camera pi updates...
[2026-10-20 17:32:08,521.521 INFO    ] 200
[2026-10-20 17:32:08,523.523 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:32:08,563.563 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:32:08,597.597 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:32:08,600.600 INFO    ] No camera update needed
[2026-10-20 17:32:08,602.602 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:32:08,604.604 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:32:08,610.610 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:32:08,614.614 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:32:10,655.655 INFO    ] ================================================
[2026-10-20 17:32:10,670.670 INFO    ] Launching Daemon at Tue Oct 20 17:32:10 IST 2026
[2026-10-20 17:32:10,681.681 INFO    ] ================================================
[2026-10-20 17:32:11,306.306 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:32:11
[2026-10-20 17:32:11,916.916 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:32:12,183.183 INFO    ] Initializing speech engine...
[2026-10-20 17:32:12,198.198 INFO    ] 2026-10-20 17:32:12
[2026-10-20 17:32:12,469.469 INFO    ] 2026-10-20 17:32:12
[2026-10-20 17:32:12,504.504 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:32:12,722.722 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:32:12,750.750 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:32:12,943.943 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:32:12,951.951 INFO    ] time= 20/10/2026 17:32:12
[2026-10-20 17:32:12,995.995 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:32:13,059.059 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:32:13,215.215 INFO    ] No existing commands found in stream
[2026-10-20 17:32:18,233.233 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:32:18,235.235 INFO    ] Waiting 1.62 seconds before fallback handling...
[2026-10-20 17:32:20,368.368 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:32:20,370.370 INFO    ] Checking for system updates...
[2026-10-20 17:32:20,405.405 INFO    ] 200
[2026-10-20 17:32:20,408.408 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:32:20,465.465 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:32:20,467.467 INFO    ] No update needed
[2026-10-20 17:32:20,470.470 INFO    ] Checking for camera pi updates...
[2026-10-20 17:32:20,503.503 INFO    ] 200
[2026-10-20 17:32:20,505.505 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:32:20,552.552 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:32:20,605.605 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:32:20,608.608 INFO    ] No camera update needed
[2026-10-20 17:32:20,610.610 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:32:20,613.613 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:32:20,618.618 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:32:20,623.623 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:32:22,662.662 INFO    ] ================================================
[2026-10-20 17:32:22,679.679 INFO    ] Launching Daemon at Tue Oct 20 17:32:22 IST 2026
[2026-10-20 17:32:22,690.690 INFO    ] ================================================
[2026-10-20 17:32:23,335.335 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:32:23
[2026-10-20 17:32:23,987.987 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:32:24,287.287 INFO    ] Initializing speech engine...
[2026-10-20 17:32:24,293.293 INFO    ] 2026-10-20 17:32:24
[2026-10-20 17:32:24,564.564 INFO    ] 2026-10-20 17:32:24
[2026-10-20 17:32:24,599.599 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:32:24,858.858 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:32:24,863.863 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:32:25,079.079 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:32:25,129.129 INFO    ] time= 20/10/2026 17:32:25
[2026-10-20 17:32:25,135.135 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:32:25,155.155 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:32:25,294.294 INFO    ] No existing commands found in stream
[2026-10-20 17:32:30,320.320 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:32:30,323.323 INFO    ] Waiting 2.39 seconds before fallback handling...
[2026-10-20 17:32:33,216.216 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:32:33,219.219 INFO    ] Checking for system updates...
[2026-10-20 17:32:33,257.257 INFO    ] 200
[2026-10-20 17:32:33,260.260 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:32:33,317.317 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:32:33,319.319 INFO    ] No update needed
[2026-10-20 17:32:33,322.322 INFO    ] Checking for camera pi updates...
[2026-10-20 17:32:33,354.354 INFO    ] 200
[2026-10-20 17:32:33,357.357 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:32:33,404.404 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:32:33,448.448 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:32:33,451.451 INFO    ] No camera update needed
[2026-10-20 17:32:33,453.453 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:32:33,455.455 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:32:33,461.461 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:32:33,466.466 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:32:35,505.505 INFO    ] ================================================
[2026-10-20 17:32:35,521.521 INFO    ] Launching Daemon at Tue Oct 20 17:32:35 IST 2026
[2026-10-20 17:32:35,532.532 INFO    ] ================================================
[2026-10-20 17:32:36,184.184 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:32:36
[2026-10-20 17:32:36,836.836 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:32:37,132.132 INFO    ] Initializing speech engine...
[2026-10-20 17:32:37,140.140 INFO    ] 2026-10-20 17:32:37
[2026-10-20 17:32:37,424.424 INFO    ] 2026-10-20 17:32:37
[2026-10-20 17:32:37,469.469 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:32:37,753.753 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:32:37,761.761 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:32:37,956.956 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:32:37,975.975 INFO    ] time= 20/10/2026 17:32:37
[2026-10-20 17:32:37,997.997 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:32:38,010.010 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:32:38,113.113 INFO    ] No existing commands found in stream
[2026-10-20 17:32:43,125.125 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:32:43,129.129 INFO    ] Waiting 2.00 seconds before fallback handling...
[2026-10-20 17:32:45,700.700 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:32:45,703.703 INFO    ] Checking for system updates...
[2026-10-20 17:32:45,740.740 INFO    ] 200
[2026-10-20 17:32:45,742.742 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:32:45,795.795 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:32:45,798.798 INFO    ] No update needed
[2026-10-20 17:32:45,801.801 INFO    ] Checking for camera pi updates...
[2026-10-20 17:32:45,835.835 INFO    ] 200
[2026-10-20 17:32:45,838.838 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:32:45,879.879 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:32:45,928.928 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:32:45,931.931 INFO    ] No camera update needed
[2026-10-20 17:32:45,934.934 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:32:45,936.936 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:32:45,942.942 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:32:45,948.948 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:32:47,989.989 INFO    ] ================================================
[2026-10-20 17:32:48,005.005 INFO    ] Launching Daemon at Tue Oct 20 17:32:48 IST 2026
[2026-10-20 17:32:48,016.016 INFO    ] ================================================
[2026-10-20 17:32:48,583.583 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:32:48
[2026-10-20 17:32:49,169.169 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:32:49,436.436 INFO    ] Initializing speech engine...
[2026-10-20 17:32:49,445.445 INFO    ] 2026-10-20 17:32:49
[2026-10-20 17:32:49,690.690 INFO    ] 2026-10-20 17:32:49
[2026-10-20 17:32:49,725.725 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:32:49,977.977 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:32:49,986.986 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:32:50,120.120 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:32:50,189.189 INFO    ] time= 20/10/2026 17:32:50
[2026-10-20 17:32:50,246.246 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:32:50,253.253 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:32:50,412.412 INFO    ] No existing commands found in stream
[2026-10-20 17:32:55,449.449 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:32:55,452.452 INFO    ] Waiting 3.38 seconds before fallback handling...
[2026-10-20 17:32:59,336.336 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:32:59,339.339 INFO    ] Checking for system updates...
[2026-10-20 17:32:59,379.379 INFO    ] 200
[2026-10-20 17:32:59,381.381 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:32:59,438.438 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:32:59,441.441 INFO    ] No update needed
[2026-10-20 17:32:59,444.444 INFO    ] Checking for camera pi updates...
[2026-10-20 17:32:59,481.481 INFO    ] 200
[2026-10-20 17:32:59,484.484 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:32:59,529.529 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:32:59,576.576 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:32:59,579.579 INFO    ] No camera update needed
[2026-10-20 17:32:59,582.582 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:32:59,584.584 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:32:59,590.590 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:32:59,596.596 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:33:01,638.638 INFO    ] ================================================
[2026-10-20 17:33:01,657.657 INFO    ] Launching Daemon at Tue Oct 20 17:33:01 IST 2026
[2026-10-20 17:33:01,668.668 INFO    ] ================================================
[2026-10-20 17:33:02,405.405 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:33:02
[2026-10-20 17:33:03,069.069 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:33:03,441.441 INFO    ] Initializing speech engine...
[2026-10-20 17:33:03,447.447 INFO    ] 2026-10-20 17:33:03
[2026-10-20 17:33:03,735.735 INFO    ] 2026-10-20 17:33:03
[2026-10-20 17:33:03,770.770 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:33:03,984.984 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:33:04,030.030 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:33:04,261.261 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:33:04,309.309 INFO    ] time= 20/10/2026 17:33:04
[2026-10-20 17:33:04,316.316 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:33:04,334.334 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:33:04,466.466 INFO    ] No existing commands found in stream
[2026-10-20 17:33:09,480.480 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:33:09,483.483 INFO    ] Waiting 0.11 seconds before fallback handling...
[2026-10-20 17:33:12,099.099 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:33:12,102.102 INFO    ] Checking for system updates...
[2026-10-20 17:33:12,141.141 INFO    ] 200
[2026-10-20 17:33:12,143.143 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:33:12,194.194 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:33:12,197.197 INFO    ] No update needed
[2026-10-20 17:33:12,199.199 INFO    ] Checking for camera pi updates...
[2026-10-20 17:33:12,236.236 INFO    ] 200
[2026-10-20 17:33:12,239.239 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:33:12,279.279 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:33:12,430.430 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:33:12,432.432 INFO    ] No camera update needed
[2026-10-20 17:33:12,436.436 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:33:12,439.439 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:33:12,444.444 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:33:12,450.450 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:33:14,489.489 INFO    ] ================================================
[2026-10-20 17:33:14,504.504 INFO    ] Launching Daemon at Tue Oct 20 17:33:14 IST 2026
[2026-10-20 17:33:14,515.515 INFO    ] ================================================
[2026-10-20 17:33:15,096.096 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:33:15
[2026-10-20 17:33:15,695.695 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:33:15,970.970 INFO    ] Initializing speech engine...
[2026-10-20 17:33:15,980.980 INFO    ] 2026-10-20 17:33:15
[2026-10-20 17:33:16,237.237 INFO    ] 2026-10-20 17:33:16
[2026-10-20 17:33:16,267.267 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:33:16,518.518 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:33:16,523.523 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:33:16,728.728 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:33:16,778.778 INFO    ] time= 20/10/2026 17:33:16
[2026-10-20 17:33:16,785.785 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:33:16,804.804 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:33:16,934.934 INFO    ] No existing commands found in stream
[2026-10-20 17:33:21,946.946 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:33:21,949.949 INFO    ] Waiting 2.60 seconds before fallback handling...
[2026-10-20 17:33:25,066.066 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:33:25,069.069 INFO    ] Checking for system updates...
[2026-10-20 17:33:25,105.105 INFO    ] 200
[2026-10-20 17:33:25,108.108 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:33:25,161.161 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:33:25,163.163 INFO    ] No update needed
[2026-10-20 17:33:25,166.166 INFO    ] Checking for camera pi updates...
[2026-10-20 17:33:25,200.200 INFO    ] 200
[2026-10-20 17:33:25,203.203 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:33:25,248.248 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:33:25,296.296 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:33:25,299.299 INFO    ] No camera update needed
[2026-10-20 17:33:25,302.302 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:33:25,304.304 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:33:25,310.310 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:33:25,316.316 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:33:27,357.357 INFO    ] ================================================
[2026-10-20 17:33:27,373.373 INFO    ] Launching Daemon at Tue Oct 20 17:33:27 IST 2026
[2026-10-20 17:33:27,384.384 INFO    ] ================================================
[2026-10-20 17:33:27,950.950 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:33:27
[2026-10-20 17:33:28,534.534 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:33:28,786.786 INFO    ] Initializing speech engine...
[2026-10-20 17:33:28,795.795 INFO    ] 2026-10-20 17:33:28
[2026-10-20 17:33:29,083.083 INFO    ] 2026-10-20 17:33:29
[2026-10-20 17:33:29,121.121 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:33:29,389.389 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:33:29,408.408 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:33:29,563.563 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:33:29,585.585 INFO    ] time= 20/10/2026 17:33:29
[2026-10-20 17:33:29,649.649 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:33:29,698.698 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:33:29,864.864 INFO    ] No existing commands found in stream
[2026-10-20 17:33:34,885.885 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:33:34,888.888 INFO    ] Waiting 3.39 seconds before fallback handling...
[2026-10-20 17:33:38,802.802 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:33:38,805.805 INFO    ] Checking for system updates...
[2026-10-20 17:33:38,840.840 INFO    ] 200
[2026-10-20 17:33:38,842.842 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:33:38,903.903 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:33:38,906.906 INFO    ] No update needed
[2026-10-20 17:33:38,908.908 INFO    ] Checking for camera pi updates...
[2026-10-20 17:33:38,941.941 INFO    ] 200
[2026-10-20 17:33:38,943.943 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:33:38,987.987 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:33:39,040.040 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:33:39,042.042 INFO    ] No camera update needed
[2026-10-20 17:33:39,044.044 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:33:39,046.046 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:33:39,052.052 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:33:39,057.057 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:33:41,096.096 INFO    ] ================================================
[2026-10-20 17:33:41,111.111 INFO    ] Launching Daemon at Tue Oct 20 17:33:41 IST 2026
[2026-10-20 17:33:41,123.123 INFO    ] ================================================
[2026-10-20 17:33:41,689.689 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:33:41
[2026-10-20 17:33:42,271.271 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:33:42,519.519 INFO    ] Initializing speech engine...
[2026-10-20 17:33:42,534.534 INFO    ] 2026-10-20 17:33:42
[2026-10-20 17:33:42,800.800 INFO    ] 2026-10-20 17:33:42
[2026-10-20 17:33:42,834.834 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:33:43,091.091 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:33:43,101.101 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:33:43,350.350 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:33:43,367.367 INFO    ] time= 20/10/2026 17:33:43
[2026-10-20 17:33:43,383.383 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:33:43,393.393 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:33:43,518.518 INFO    ] No existing commands found in stream
[2026-10-20 17:33:48,535.535 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:33:48,538.538 INFO    ] Waiting 3.43 seconds before fallback handling...
[2026-10-20 17:33:52,508.508 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 17:33:52,511.511 INFO    ] Checking for system updates...
[2026-10-20 17:33:52,551.551 INFO    ] 200
[2026-10-20 17:33:52,554.554 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:33:52,620.620 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:33:52,623.623 INFO    ] No update needed
[2026-10-20 17:33:52,626.626 INFO    ] Checking for camera pi updates...
[2026-10-20 17:33:52,661.661 INFO    ] 200
[2026-10-20 17:33:52,663.663 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:33:52,708.708 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:33:52,764.764 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:33:52,767.767 INFO    ] No camera update needed
[2026-10-20 17:33:52,770.770 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:33:52,773.773 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:33:52,779.779 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:33:52,784.784 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:33:54,824.824 INFO    ] ================================================
[2026-10-20 17:33:54,840.840 INFO    ] Launching Daemon at Tue Oct 20 17:33:54 IST 2026
[2026-10-20 17:33:54,850.850 INFO    ] ================================================
[2026-10-20 17:33:55,489.489 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:33:55
[2026-10-20 17:33:56,142.142 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:33:56,439.439 INFO    ] Initializing speech engine...
[2026-10-20 17:33:56,447.447 INFO    ] 2026-10-20 17:33:56
[2026-10-20 17:33:56,717.717 INFO    ] 2026-10-20 17:33:56
[2026-10-20 17:33:56,752.752 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:33:57,009.009 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:33:57,014.014 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:33:57,188.188 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:33:57,243.243 INFO    ] time= 20/10/2026 17:33:57
[2026-10-20 17:33:57,285.285 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:33:57,304.304 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:33:57,447.447 INFO    ] No existing commands found in stream
[2026-10-20 17:34:02,479.479 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:34:02,483.483 INFO    ] Waiting 0.94 seconds before fallback handling...
[2026-10-20 17:34:03,966.966 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:34:03,969.969 INFO    ] Checking for system updates...
[2026-10-20 17:34:04,006.006 INFO    ] 200
[2026-10-20 17:34:04,008.008 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:34:04,061.061 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:34:04,063.063 INFO    ] No update needed
[2026-10-20 17:34:04,066.066 INFO    ] Checking for camera pi updates...
[2026-10-20 17:34:04,101.101 INFO    ] 200
[2026-10-20 17:34:04,104.104 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:34:04,149.149 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:34:04,199.199 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:34:04,202.202 INFO    ] No camera update needed
[2026-10-20 17:34:04,205.205 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:34:04,208.208 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:34:04,214.214 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:34:04,220.220 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:34:06,261.261 INFO    ] ================================================
[2026-10-20 17:34:06,276.276 INFO    ] Launching Daemon at Tue Oct 20 17:34:06 IST 2026
[2026-10-20 17:34:06,287.287 INFO    ] ================================================
[2026-10-20 17:34:06,857.857 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:34:06
[2026-10-20 17:34:07,440.440 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:34:07,689.689 INFO    ] Initializing speech engine...
[2026-10-20 17:34:07,696.696 INFO    ] 2026-10-20 17:34:07
[2026-10-20 17:34:07,992.992 INFO    ] 2026-10-20 17:34:07
[2026-10-20 17:34:08,025.025 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:34:08,227.227 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:34:08,241.241 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:34:08,451.451 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:34:08,479.479 INFO    ] time= 20/10/2026 17:34:08
[2026-10-20 17:34:08,521.521 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:34:08,576.576 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:34:08,687.687 INFO    ] No existing commands found in stream
[2026-10-20 17:34:13,700.700 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:34:13,702.702 INFO    ] Waiting 3.78 seconds before fallback handling...
[2026-10-20 17:34:17,987.987 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:34:17,990.990 INFO    ] Checking for system updates...
[2026-10-20 17:34:18,029.029 INFO    ] 200
[2026-10-20 17:34:18,031.031 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:34:18,083.083 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:34:18,085.085 INFO    ] No update needed
[2026-10-20 17:34:18,087.087 INFO    ] Checking for camera pi updates...
[2026-10-20 17:34:18,123.123 INFO    ] 200
[2026-10-20 17:34:18,126.126 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:34:18,166.166 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:34:18,210.210 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:34:18,212.212 INFO    ] No camera update needed
[2026-10-20 17:34:18,214.214 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:34:18,216.216 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:34:18,222.222 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:34:18,226.226 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:34:20,267.267 INFO    ] ================================================
[2026-10-20 17:34:20,283.283 INFO    ] Launching Daemon at Tue Oct 20 17:34:20 IST 2026
[2026-10-20 17:34:20,294.294 INFO    ] ================================================
[2026-10-20 17:34:20,858.858 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:34:20
[2026-10-20 17:34:21,441.441 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:34:21,694.694 INFO    ] Initializing speech engine...
[2026-10-20 17:34:21,702.702 INFO    ] 2026-10-20 17:34:21
[2026-10-20 17:34:21,993.993 INFO    ] 2026-10-20 17:34:21
[2026-10-20 17:34:22,031.031 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:34:22,249.249 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:34:22,258.258 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:34:22,477.477 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:34:22,499.499 INFO    ] time= 20/10/2026 17:34:22
[2026-10-20 17:34:22,553.553 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:34:22,587.587 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:34:22,753.753 INFO    ] No existing commands found in stream
[2026-10-20 17:34:27,788.788 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:34:27,791.791 INFO    ] Waiting 0.27 seconds before fallback handling...
[2026-10-20 17:34:28,570.570 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:34:28,573.573 INFO    ] Checking for system updates...
[2026-10-20 17:34:28,610.610 INFO    ] 200
[2026-10-20 17:34:28,612.612 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:34:28,665.665 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:34:28,668.668 INFO    ] No update needed
[2026-10-20 17:34:28,671.671 INFO    ] Checking for camera pi updates...
[2026-10-20 17:34:28,704.704 INFO    ] 200
[2026-10-20 17:34:28,707.707 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:34:28,748.748 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:34:28,794.794 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:34:28,797.797 INFO    ] No camera update needed
[2026-10-20 17:34:28,800.800 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:34:28,803.803 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:34:28,809.809 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:34:28,815.815 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:34:30,854.854 INFO    ] ================================================
[2026-10-20 17:34:30,869.869 INFO    ] Launching Daemon at Tue Oct 20 17:34:30 IST 2026
[2026-10-20 17:34:30,880.880 INFO    ] ================================================
[2026-10-20 17:34:31,526.526 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:34:31
[2026-10-20 17:34:32,203.203 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:34:32,506.506 INFO    ] Initializing speech engine...
[2026-10-20 17:34:32,514.514 INFO    ] 2026-10-20 17:34:32
[2026-10-20 17:34:32,792.792 INFO    ] 2026-10-20 17:34:32
[2026-10-20 17:34:32,830.830 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:34:33,064.064 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:34:33,104.104 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:34:33,266.266 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:34:33,349.349 INFO    ] time= 20/10/2026 17:34:33
[2026-10-20 17:34:33,409.409 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:34:33,432.432 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:34:33,554.554 INFO    ] No existing commands found in stream
[2026-10-20 17:34:38,584.584 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:34:38,587.587 INFO    ] Waiting 0.48 seconds before fallback handling...
[2026-10-20 17:34:39,562.562 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:34:39,565.565 INFO    ] Checking for system updates...
[2026-10-20 17:34:39,602.602 INFO    ] 200
[2026-10-20 17:34:39,605.605 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:34:39,661.661 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:34:39,664.664 INFO    ] No update needed
[2026-10-20 17:34:39,666.666 INFO    ] Checking for camera pi updates...
[2026-10-20 17:34:39,702.702 INFO    ] 200
[2026-10-20 17:34:39,705.705 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:34:39,749.749 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:34:39,794.794 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:34:39,797.797 INFO    ] No camera update needed
[2026-10-20 17:34:39,801.801 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:34:39,803.803 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:34:39,809.809 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:34:39,815.815 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:34:41,856.856 INFO    ] ================================================
[2026-10-20 17:34:41,871.871 INFO    ] Launching Daemon at Tue Oct 20 17:34:41 IST 2026
[2026-10-20 17:34:41,882.882 INFO    ] ================================================
[2026-10-20 17:34:42,455.455 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:34:42
[2026-10-20 17:34:43,046.046 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:34:43,306.306 INFO    ] Initializing speech engine...
[2026-10-20 17:34:43,322.322 INFO    ] 2026-10-20 17:34:43
[2026-10-20 17:34:43,604.604 INFO    ] 2026-10-20 17:34:43
[2026-10-20 17:34:43,641.641 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:34:43,899.899 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:34:43,909.909 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:34:44,115.115 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:34:44,164.164 INFO    ] time= 20/10/2026 17:34:44
[2026-10-20 17:34:44,180.180 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:34:44,195.195 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:34:44,330.330 INFO    ] No existing commands found in stream
[2026-10-20 17:34:49,355.355 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:34:49,358.358 INFO    ] Waiting 3.90 seconds before fallback handling...
[2026-10-20 17:34:53,787.787 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:34:53,790.790 INFO    ] Checking for system updates...
[2026-10-20 17:34:53,827.827 INFO    ] 200
[2026-10-20 17:34:53,830.830 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:34:53,895.895 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:34:53,898.898 INFO    ] No update needed
[2026-10-20 17:34:53,901.901 INFO    ] Checking for camera pi updates...
[2026-10-20 17:34:53,936.936 INFO    ] 200
[2026-10-20 17:34:53,938.938 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:34:53,980.980 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:34:54,034.034 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:34:54,036.036 INFO    ] No camera update needed
[2026-10-20 17:34:54,039.039 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:34:54,042.042 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:34:54,048.048 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:34:54,054.054 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:34:56,095.095 INFO    ] ================================================
[2026-10-20 17:34:56,111.111 INFO    ] Launching Daemon at Tue Oct 20 17:34:56 IST 2026
[2026-10-20 17:34:56,122.122 INFO    ] ================================================
[2026-10-20 17:34:56,709.709 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:34:56
[2026-10-20 17:34:57,291.291 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:34:57,563.563 INFO    ] Initializing speech engine...
[2026-10-20 17:34:57,573.573 INFO    ] 2026-10-20 17:34:57
[2026-10-20 17:34:57,821.821 INFO    ] 2026-10-20 17:34:57
[2026-10-20 17:34:57,856.856 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:34:58,120.120 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:34:58,127.127 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:34:58,355.355 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:34:58,389.389 INFO    ] time= 20/10/2026 17:34:58
[2026-10-20 17:34:58,407.407 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:34:58,438.438 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:34:58,625.625 INFO    ] No existing commands found in stream
[2026-10-20 17:35:03,651.651 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:35:03,655.655 INFO    ] Waiting 0.60 seconds before fallback handling...
[2026-10-20 17:35:04,759.759 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:35:04,762.762 INFO    ] Checking for system updates...
[2026-10-20 17:35:04,799.799 INFO    ] 200
[2026-10-20 17:35:04,802.802 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:35:04,856.856 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:35:04,859.859 INFO    ] No update needed
[2026-10-20 17:35:04,862.862 INFO    ] Checking for camera pi updates...
[2026-10-20 17:35:04,895.895 INFO    ] 200
[2026-10-20 17:35:04,898.898 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:35:04,938.938 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:35:04,989.989 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:35:04,991.991 INFO    ] No camera update needed
[2026-10-20 17:35:04,994.994 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:35:04,996.996 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:35:05,001.001 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:35:05,006.006 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:35:07,046.046 INFO    ] ================================================
[2026-10-20 17:35:07,061.061 INFO    ] Launching Daemon at Tue Oct 20 17:35:07 IST 2026
[2026-10-20 17:35:07,072.072 INFO    ] ================================================
[2026-10-20 17:35:07,640.640 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:35:07
[2026-10-20 17:35:08,226.226 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:35:08,498.498 INFO    ] Initializing speech engine...
[2026-10-20 17:35:08,513.513 INFO    ] 2026-10-20 17:35:08
[2026-10-20 17:35:08,789.789 INFO    ] 2026-10-20 17:35:08
[2026-10-20 17:35:08,827.827 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:35:09,025.025 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:35:09,042.042 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:35:09,203.203 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:35:09,212.212 INFO    ] time= 20/10/2026 17:35:09
[2026-10-20 17:35:09,217.217 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:35:09,223.223 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:35:09,305.305 INFO    ] No existing commands found in stream
[2026-10-20 17:35:14,335.335 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:35:14,337.337 INFO    ] Waiting 0.71 seconds before fallback handling...
[2026-10-20 17:35:15,515.515 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:35:15,518.518 INFO    ] Checking for system updates...
[2026-10-20 17:35:15,554.554 INFO    ] 200
[2026-10-20 17:35:15,556.556 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:35:15,609.609 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:35:15,611.611 INFO    ] No update needed
[2026-10-20 17:35:15,614.614 INFO    ] Checking for camera pi updates...
[2026-10-20 17:35:15,647.647 INFO    ] 200
[2026-10-20 17:35:15,649.649 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:35:15,694.694 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:35:15,840.840 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:35:15,843.843 INFO    ] No camera update needed
[2026-10-20 17:35:15,845.845 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:35:15,847.847 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:35:15,853.853 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:35:15,858.858 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:35:17,899.899 INFO    ] ================================================
[2026-10-20 17:35:17,914.914 INFO    ] Launching Daemon at Tue Oct 20 17:35:17 IST 2026
[2026-10-20 17:35:17,925.925 INFO    ] ================================================
[2026-10-20 17:35:18,582.582 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:35:18
[2026-10-20 17:35:19,256.256 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:35:19,565.565 INFO    ] Initializing speech engine...
[2026-10-20 17:35:19,578.578 INFO    ] 2026-10-20 17:35:19
[2026-10-20 17:35:19,870.870 INFO    ] 2026-10-20 17:35:19
[2026-10-20 17:35:19,982.982 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:35:20,200.200 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:35:20,206.206 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:35:20,408.408 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:35:20,415.415 INFO    ] time= 20/10/2026 17:35:20
[2026-10-20 17:35:20,436.436 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:35:20,463.463 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:35:20,573.573 INFO    ] No existing commands found in stream
[2026-10-20 17:35:25,590.590 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:35:25,594.594 INFO    ] Waiting 4.00 seconds before fallback handling...
[2026-10-20 17:35:30,168.168 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 17:35:30,171.171 INFO    ] Checking for system updates...
[2026-10-20 17:35:30,207.207 INFO    ] 200
[2026-10-20 17:35:30,209.209 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:35:30,261.261 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:35:30,264.264 INFO    ] No update needed
[2026-10-20 17:35:30,266.266 INFO    ] Checking for camera pi updates...
[2026-10-20 17:35:30,299.299 INFO    ] 200
[2026-10-20 17:35:30,302.302 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:35:30,344.344 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:35:30,390.390 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:35:30,392.392 INFO    ] No camera update needed
[2026-10-20 17:35:30,394.394 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:35:30,397.397 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:35:30,402.402 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:35:30,407.407 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:35:32,449.449 INFO    ] ================================================
[2026-10-20 17:35:32,464.464 INFO    ] Launching Daemon at Tue Oct 20 17:35:32 IST 2026
[2026-10-20 17:35:32,476.476 INFO    ] ================================================
[2026-10-20 17:35:33,083.083 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:35:33
[2026-10-20 17:35:33,700.700 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:35:33,954.954 INFO    ] Initializing speech engine...
[2026-10-20 17:35:33,973.973 INFO    ] 2026-10-20 17:35:33
[2026-10-20 17:35:34,233.233 INFO    ] 2026-10-20 17:35:34
[2026-10-20 17:35:34,274.274 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:35:34,528.528 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:35:34,537.537 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:35:34,675.675 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:35:34,735.735 INFO    ] time= 20/10/2026 17:35:34
[2026-10-20 17:35:34,789.789 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:35:34,811.811 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:35:34,963.963 INFO    ] No existing commands found in stream
[2026-10-20 17:35:39,976.976 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:35:39,979.979 INFO    ] Waiting 1.59 seconds before fallback handling...
[2026-10-20 17:35:42,066.066 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:35:42,069.069 INFO    ] Checking for system updates...
[2026-10-20 17:35:42,104.104 INFO    ] 200
[2026-10-20 17:35:42,107.107 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:35:42,158.158 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:35:42,161.161 INFO    ] No update needed
[2026-10-20 17:35:42,163.163 INFO    ] Checking for camera pi updates...
[2026-10-20 17:35:42,197.197 INFO    ] 200
[2026-10-20 17:35:42,200.200 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:35:42,245.245 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:35:42,290.290 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:35:42,292.292 INFO    ] No camera update needed
[2026-10-20 17:35:42,295.295 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:35:42,297.297 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:35:42,302.302 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:35:42,307.307 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:35:44,348.348 INFO    ] ================================================
[2026-10-20 17:35:44,364.364 INFO    ] Launching Daemon at Tue Oct 20 17:35:44 IST 2026
[2026-10-20 17:35:44,374.374 INFO    ] ================================================
[2026-10-20 17:35:45,016.016 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:35:45
[2026-10-20 17:35:45,677.677 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:35:45,954.954 INFO    ] Initializing speech engine...
[2026-10-20 17:35:45,977.977 INFO    ] 2026-10-20 17:35:45
[2026-10-20 17:35:46,248.248 INFO    ] 2026-10-20 17:35:46
[2026-10-20 17:35:46,316.316 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:35:46,545.545 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:35:46,555.555 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:35:46,699.699 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:35:46,764.764 INFO    ] time= 20/10/2026 17:35:46
[2026-10-20 17:35:46,825.825 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:35:46,834.834 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:35:46,986.986 INFO    ] No existing commands found in stream
[2026-10-20 17:35:52,010.010 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:35:52,013.013 INFO    ] Waiting 1.76 seconds before fallback handling...
[2026-10-20 17:35:54,291.291 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:35:54,294.294 INFO    ] Checking for system updates...
[2026-10-20 17:35:54,331.331 INFO    ] 200
[2026-10-20 17:35:54,333.333 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:35:54,387.387 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:35:54,390.390 INFO    ] No update needed
[2026-10-20 17:35:54,392.392 INFO    ] Checking for camera pi updates...
[2026-10-20 17:35:54,426.426 INFO    ] 200
[2026-10-20 17:35:54,429.429 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:35:54,470.470 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:35:54,516.516 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:35:54,519.519 INFO    ] No camera update needed
[2026-10-20 17:35:54,521.521 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:35:54,524.524 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:35:54,529.529 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:35:54,534.534 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:35:56,573.573 INFO    ] ================================================
[2026-10-20 17:35:56,588.588 INFO    ] Launching Daemon at Tue Oct 20 17:35:56 IST 2026
[2026-10-20 17:35:56,599.599 INFO    ] ================================================
[2026-10-20 17:35:57,166.166 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:35:57
[2026-10-20 17:35:57,750.750 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:35:58,025.025 INFO    ] Initializing speech engine...
[2026-10-20 17:35:58,032.032 INFO    ] 2026-10-20 17:35:58
[2026-10-20 17:35:58,280.280 INFO    ] 2026-10-20 17:35:58
[2026-10-20 17:35:58,315.315 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:35:58,577.577 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:35:58,583.583 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:35:58,798.798 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:35:58,844.844 INFO    ] time= 20/10/2026 17:35:58
[2026-10-20 17:35:58,850.850 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:35:58,869.869 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:35:58,995.995 INFO    ] No existing commands found in stream
[2026-10-20 17:36:04,012.012 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:36:04,015.015 INFO    ] Waiting 1.04 seconds before fallback handling...
[2026-10-20 17:36:05,562.562 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:36:05,565.565 INFO    ] Checking for system updates...
[2026-10-20 17:36:05,601.601 INFO    ] 200
[2026-10-20 17:36:05,603.603 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:36:05,655.655 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:36:05,657.657 INFO    ] No update needed
[2026-10-20 17:36:05,659.659 INFO    ] Checking for camera pi updates...
[2026-10-20 17:36:05,693.693 INFO    ] 200
[2026-10-20 17:36:05,696.696 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:36:05,735.735 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:36:05,781.781 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:36:05,784.784 INFO    ] No camera update needed
[2026-10-20 17:36:05,786.786 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:36:05,788.788 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:36:05,794.794 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:36:05,798.798 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:36:07,838.838 INFO    ] ================================================
[2026-10-20 17:36:07,853.853 INFO    ] Launching Daemon at Tue Oct 20 17:36:07 IST 2026
[2026-10-20 17:36:07,864.864 INFO    ] ================================================
[2026-10-20 17:36:08,476.476 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:36:08
[2026-10-20 17:36:09,073.073 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:36:09,328.328 INFO    ] Initializing speech engine...
[2026-10-20 17:36:09,336.336 INFO    ] 2026-10-20 17:36:09
[2026-10-20 17:36:09,635.635 INFO    ] 2026-10-20 17:36:09
[2026-10-20 17:36:09,670.670 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:36:09,868.868 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:36:09,884.884 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:36:10,043.043 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:36:10,053.053 INFO    ] time= 20/10/2026 17:36:10
[2026-10-20 17:36:10,059.059 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:36:10,065.065 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:36:10,139.139 INFO    ] No existing commands found in stream
[2026-10-20 17:36:15,169.169 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:36:15,172.172 INFO    ] Waiting 2.73 seconds before fallback handling...
[2026-10-20 17:36:18,409.409 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 17:36:18,412.412 INFO    ] Checking for system updates...
[2026-10-20 17:36:18,454.454 INFO    ] 200
[2026-10-20 17:36:18,457.457 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:36:18,509.509 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:36:18,511.511 INFO    ] No update needed
[2026-10-20 17:36:18,514.514 INFO    ] Checking for camera pi updates...
[2026-10-20 17:36:18,551.551 INFO    ] 200
[2026-10-20 17:36:18,553.553 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:36:18,593.593 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:36:18,647.647 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:36:18,650.650 INFO    ] No camera update needed
[2026-10-20 17:36:18,652.652 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:36:18,654.654 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:36:18,660.660 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:36:18,665.665 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:36:20,704.704 INFO    ] ================================================
[2026-10-20 17:36:20,720.720 INFO    ] Launching Daemon at Tue Oct 20 17:36:20 IST 2026
[2026-10-20 17:36:20,730.730 INFO    ] ================================================
[2026-10-20 17:36:21,301.301 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:36:21
[2026-10-20 17:36:21,890.890 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:36:22,147.147 INFO    ] Initializing speech engine...
[2026-10-20 17:36:22,154.154 INFO    ] 2026-10-20 17:36:22
[2026-10-20 17:36:22,447.447 INFO    ] 2026-10-20 17:36:22
[2026-10-20 17:36:22,486.486 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:36:22,706.706 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:36:22,735.735 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:36:22,933.933 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:36:22,940.940 INFO    ] time= 20/10/2026 17:36:22
[2026-10-20 17:36:22,989.989 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:36:23,048.048 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:36:23,146.146 INFO    ] No existing commands found in stream
[2026-10-20 17:36:28,158.158 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:36:28,161.161 INFO    ] Waiting 0.31 seconds before fallback handling...
[2026-10-20 17:36:28,981.981 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 17:36:28,984.984 INFO    ] Checking for system updates...
[2026-10-20 17:36:29,020.020 INFO    ] 200
[2026-10-20 17:36:29,022.022 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:36:29,093.093 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:36:29,096.096 INFO    ] No update needed
[2026-10-20 17:36:29,098.098 INFO    ] Checking for camera pi updates...
[2026-10-20 17:36:29,135.135 INFO    ] 200
[2026-10-20 17:36:29,138.138 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:36:29,186.186 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:36:29,236.236 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:36:29,239.239 INFO    ] No camera update needed
[2026-10-20 17:36:29,242.242 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:36:29,244.244 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:36:29,254.254 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:36:29,261.261 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:36:31,304.304 INFO    ] ================================================
[2026-10-20 17:36:31,321.321 INFO    ] Launching Daemon at Tue Oct 20 17:36:31 IST 2026
[2026-10-20 17:36:31,333.333 INFO    ] ================================================
[2026-10-20 17:36:31,944.944 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:36:31
[2026-10-20 17:36:32,568.568 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:36:32,830.830 INFO    ] Initializing speech engine...
[2026-10-20 17:36:32,836.836 INFO    ] 2026-10-20 17:36:32
[2026-10-20 17:36:33,130.130 INFO    ] 2026-10-20 17:36:33
[2026-10-20 17:36:33,166.166 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:36:33,367.367 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:36:33,381.381 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:36:33,541.541 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:36:33,549.549 INFO    ] time= 20/10/2026 17:36:33
[2026-10-20 17:36:33,554.554 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:36:33,561.561 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:36:33,636.636 INFO    ] No existing commands found in stream
[2026-10-20 17:36:38,651.651 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:36:38,654.654 INFO    ] Waiting 2.99 seconds before fallback handling...
[2026-10-20 17:36:42,220.220 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 17:36:42,223.223 INFO    ] Checking for system updates...
[2026-10-20 17:36:42,257.257 INFO    ] 200
[2026-10-20 17:36:42,260.260 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:36:42,313.313 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:36:42,315.315 INFO    ] No update needed
[2026-10-20 17:36:42,317.317 INFO    ] Checking for camera pi updates...
[2026-10-20 17:36:42,350.350 INFO    ] 200
[2026-10-20 17:36:42,353.353 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:36:42,393.393 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:36:42,440.440 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:36:42,442.442 INFO    ] No camera update needed
[2026-10-20 17:36:42,445.445 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:36:42,447.447 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:36:42,452.452 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:36:42,457.457 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:36:44,498.498 INFO    ] ================================================
[2026-10-20 17:36:44,517.517 INFO    ] Launching Daemon at Tue Oct 20 17:36:44 IST 2026
[2026-10-20 17:36:44,528.528 INFO    ] ================================================
[2026-10-20 17:36:45,178.178 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:36:45
[2026-10-20 17:36:45,846.846 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:36:46,154.154 INFO    ] Initializing speech engine...
[2026-10-20 17:36:46,167.167 INFO    ] 2026-10-20 17:36:46
[2026-10-20 17:36:46,449.449 INFO    ] 2026-10-20 17:36:46
[2026-10-20 17:36:46,494.494 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:36:46,745.745 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:36:46,754.754 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:36:46,953.953 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:36:46,996.996 INFO    ] time= 20/10/2026 17:36:46
[2026-10-20 17:36:47,003.003 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:36:47,025.025 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:36:47,159.159 INFO    ] No existing commands found in stream
[2026-10-20 17:36:52,183.183 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:36:52,186.186 INFO    ] Waiting 1.94 seconds before fallback handling...
[2026-10-20 17:36:54,626.626 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:36:54,628.628 INFO    ] Checking for system updates...
[2026-10-20 17:36:54,664.664 INFO    ] 200
[2026-10-20 17:36:54,666.666 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:36:54,717.717 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:36:54,719.719 INFO    ] No update needed
[2026-10-20 17:36:54,722.722 INFO    ] Checking for camera pi updates...
[2026-10-20 17:36:54,755.755 INFO    ] 200
[2026-10-20 17:36:54,757.757 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:36:54,797.797 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:36:54,850.850 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:36:54,853.853 INFO    ] No camera update needed
[2026-10-20 17:36:54,855.855 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:36:54,857.857 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:36:54,863.863 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:36:54,867.867 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:36:56,909.909 INFO    ] ================================================
[2026-10-20 17:36:56,924.924 INFO    ] Launching Daemon at Tue Oct 20 17:36:56 IST 2026
[2026-10-20 17:36:56,939.939 INFO    ] ================================================
[2026-10-20 17:36:57,509.509 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:36:57
[2026-10-20 17:36:58,097.097 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:36:58,357.357 INFO    ] Initializing speech engine...
[2026-10-20 17:36:58,382.382 INFO    ] 2026-10-20 17:36:58
[2026-10-20 17:36:58,657.657 INFO    ] 2026-10-20 17:36:58
[2026-10-20 17:36:58,692.692 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:36:58,891.891 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:36:58,896.896 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:36:59,034.034 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:36:59,044.044 INFO    ] time= 20/10/2026 17:36:59
[2026-10-20 17:36:59,074.074 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:36:59,085.085 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:36:59,162.162 INFO    ] No existing commands found in stream
[2026-10-20 17:37:04,174.174 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:37:04,177.177 INFO    ] Waiting 2.75 seconds before fallback handling...
[2026-10-20 17:37:07,408.408 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:37:07,411.411 INFO    ] Checking for system updates...
[2026-10-20 17:37:07,447.447 INFO    ] 200
[2026-10-20 17:37:07,450.450 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:37:07,502.502 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:37:07,504.504 INFO    ] No update needed
[2026-10-20 17:37:07,507.507 INFO    ] Checking for camera pi updates...
[2026-10-20 17:37:07,540.540 INFO    ] 200
[2026-10-20 17:37:07,542.542 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:37:07,583.583 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:37:07,631.631 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:37:07,633.633 INFO    ] No camera update needed
[2026-10-20 17:37:07,636.636 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:37:07,638.638 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:37:07,644.644 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:37:07,649.649 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:37:09,689.689 INFO    ] ================================================
[2026-10-20 17:37:09,705.705 INFO    ] Launching Daemon at Tue Oct 20 17:37:09 IST 2026
[2026-10-20 17:37:09,716.716 INFO    ] ================================================
[2026-10-20 17:37:10,283.283 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:37:10
[2026-10-20 17:37:10,865.865 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:37:11,115.115 INFO    ] Initializing speech engine...
[2026-10-20 17:37:11,137.137 INFO    ] 2026-10-20 17:37:11
[2026-10-20 17:37:11,391.391 INFO    ] 2026-10-20 17:37:11
[2026-10-20 17:37:11,426.426 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:37:11,682.682 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:37:11,691.691 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:37:11,880.880 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:37:11,940.940 INFO    ] time= 20/10/2026 17:37:11
[2026-10-20 17:37:11,958.958 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:37:11,964.964 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:37:12,113.113 INFO    ] No existing commands found in stream
[2026-10-20 17:37:17,128.128 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:37:17,131.131 INFO    ] Waiting 3.07 seconds before fallback handling...
[2026-10-20 17:37:20,668.668 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:37:20,671.671 INFO    ] Checking for system updates...
[2026-10-20 17:37:20,706.706 INFO    ] 200
[2026-10-20 17:37:20,709.709 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:37:20,767.767 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:37:20,769.769 INFO    ] No update needed
[2026-10-20 17:37:20,771.771 INFO    ] Checking for camera pi updates...
[2026-10-20 17:37:20,804.804 INFO    ] 200
[2026-10-20 17:37:20,807.807 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:37:20,846.846 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:37:20,996.996 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:37:20,999.999 INFO    ] No camera update needed
[2026-10-20 17:37:21,001.001 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:37:21,003.003 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:37:21,009.009 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:37:21,014.014 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:37:23,053.053 INFO    ] ================================================
[2026-10-20 17:37:23,069.069 INFO    ] Launching Daemon at Tue Oct 20 17:37:23 IST 2026
[2026-10-20 17:37:23,080.080 INFO    ] ================================================
[2026-10-20 17:37:23,688.688 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:37:23
[2026-10-20 17:37:24,349.349 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:37:24,650.650 INFO    ] Initializing speech engine...
[2026-10-20 17:37:24,659.659 INFO    ] 2026-10-20 17:37:24
[2026-10-20 17:37:24,945.945 INFO    ] 2026-10-20 17:37:24
[2026-10-20 17:37:24,993.993 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:37:25,284.284 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:37:25,293.293 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:37:25,490.490 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:37:25,509.509 INFO    ] time= 20/10/2026 17:37:25
[2026-10-20 17:37:25,538.538 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:37:25,545.545 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:37:25,675.675 INFO    ] No existing commands found in stream
[2026-10-20 17:37:30,706.706 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:37:30,709.709 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-10-20 17:37:34,463.463 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:37:34,465.465 INFO    ] Checking for system updates...
[2026-10-20 17:37:34,503.503 INFO    ] 200
[2026-10-20 17:37:34,505.505 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:37:34,562.562 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:37:34,564.564 INFO    ] No update needed
[2026-10-20 17:37:34,567.567 INFO    ] Checking for camera pi updates...
[2026-10-20 17:37:34,600.600 INFO    ] 200
[2026-10-20 17:37:34,602.602 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:37:34,643.643 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:37:34,673.673 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:37:34,675.675 INFO    ] No camera update needed
[2026-10-20 17:37:34,678.678 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:37:34,680.680 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:37:34,686.686 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:37:34,691.691 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:37:36,731.731 INFO    ] ================================================
[2026-10-20 17:37:36,746.746 INFO    ] Launching Daemon at Tue Oct 20 17:37:36 IST 2026
[2026-10-20 17:37:36,757.757 INFO    ] ================================================
[2026-10-20 17:37:37,335.335 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:37:37
[2026-10-20 17:37:37,932.932 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:37:38,194.194 INFO    ] Initializing speech engine...
[2026-10-20 17:37:38,210.210 INFO    ] 2026-10-20 17:37:38
[2026-10-20 17:37:38,493.493 INFO    ] 2026-10-20 17:37:38
[2026-10-20 17:37:38,528.528 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:37:38,790.790 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:37:38,800.800 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:37:39,002.002 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:37:39,027.027 INFO    ] time= 20/10/2026 17:37:39
[2026-10-20 17:37:39,045.045 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:37:39,069.069 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:37:39,219.219 INFO    ] No existing commands found in stream
[2026-10-20 17:37:44,241.241 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:37:44,244.244 INFO    ] Waiting 1.19 seconds before fallback handling...
[2026-10-20 17:37:45,955.955 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:37:45,957.957 INFO    ] Checking for system updates...
[2026-10-20 17:37:45,993.993 INFO    ] 200
[2026-10-20 17:37:45,996.996 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:37:46,047.047 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:37:46,050.050 INFO    ] No update needed
[2026-10-20 17:37:46,052.052 INFO    ] Checking for camera pi updates...
[2026-10-20 17:37:46,088.088 INFO    ] 200
[2026-10-20 17:37:46,091.091 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:37:46,131.131 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:37:46,182.182 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:37:46,185.185 INFO    ] No camera update needed
[2026-10-20 17:37:46,187.187 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:37:46,189.189 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:37:46,195.195 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:37:46,200.200 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:37:48,240.240 INFO    ] ================================================
[2026-10-20 17:37:48,257.257 INFO    ] Launching Daemon at Tue Oct 20 17:37:48 IST 2026
[2026-10-20 17:37:48,268.268 INFO    ] ================================================
[2026-10-20 17:37:48,850.850 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:37:48
[2026-10-20 17:37:49,436.436 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:37:49,736.736 INFO    ] Initializing speech engine...
[2026-10-20 17:37:49,745.745 INFO    ] 2026-10-20 17:37:49
[2026-10-20 17:37:50,026.026 INFO    ] 2026-10-20 17:37:50
[2026-10-20 17:37:50,072.072 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:37:50,357.357 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:37:50,362.362 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:37:50,558.558 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:37:50,565.565 INFO    ] time= 20/10/2026 17:37:50
[2026-10-20 17:37:50,586.586 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:37:50,613.613 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:37:50,692.692 INFO    ] No existing commands found in stream
[2026-10-20 17:37:55,701.701 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:37:55,704.704 INFO    ] Waiting 2.05 seconds before fallback handling...
[2026-10-20 17:37:58,307.307 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:37:58,311.311 INFO    ] Checking for system updates...
[2026-10-20 17:37:58,353.353 INFO    ] 200
[2026-10-20 17:37:58,356.356 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:37:58,420.420 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:37:58,423.423 INFO    ] No update needed
[2026-10-20 17:37:58,425.425 INFO    ] Checking for camera pi updates...
[2026-10-20 17:37:58,466.466 INFO    ] 200
[2026-10-20 17:37:58,469.469 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:37:58,512.512 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:37:58,573.573 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:37:58,576.576 INFO    ] No camera update needed
[2026-10-20 17:37:58,578.578 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:37:58,581.581 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:37:58,587.587 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:37:58,592.592 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:38:00,633.633 INFO    ] ================================================
[2026-10-20 17:38:00,648.648 INFO    ] Launching Daemon at Tue Oct 20 17:38:00 IST 2026
[2026-10-20 17:38:00,659.659 INFO    ] ================================================
[2026-10-20 17:38:01,376.376 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:38:01
[2026-10-20 17:38:02,107.107 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:38:02,493.493 INFO    ] Initializing speech engine...
[2026-10-20 17:38:02,496.496 INFO    ] 2026-10-20 17:38:02
[2026-10-20 17:38:02,889.889 INFO    ] 2026-10-20 17:38:02
[2026-10-20 17:38:02,962.962 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:38:03,167.167 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:38:03,177.177 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:38:03,391.391 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:38:03,415.415 INFO    ] time= 20/10/2026 17:38:03
[2026-10-20 17:38:03,449.449 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:38:03,461.461 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:38:03,576.576 INFO    ] No existing commands found in stream
[2026-10-20 17:38:08,610.610 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:38:08,613.613 INFO    ] Waiting 1.64 seconds before fallback handling...
[2026-10-20 17:38:10,738.738 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:38:10,741.741 INFO    ] Checking for system updates...
[2026-10-20 17:38:10,776.776 INFO    ] 200
[2026-10-20 17:38:10,779.779 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:38:10,831.831 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:38:10,833.833 INFO    ] No update needed
[2026-10-20 17:38:10,836.836 INFO    ] Checking for camera pi updates...
[2026-10-20 17:38:10,873.873 INFO    ] 200
[2026-10-20 17:38:10,875.875 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:38:10,920.920 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:38:10,970.970 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:38:10,972.972 INFO    ] No camera update needed
[2026-10-20 17:38:10,975.975 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:38:10,977.977 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:38:10,982.982 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:38:10,987.987 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:38:13,027.027 INFO    ] ================================================
[2026-10-20 17:38:13,042.042 INFO    ] Launching Daemon at Tue Oct 20 17:38:13 IST 2026
[2026-10-20 17:38:13,055.055 INFO    ] ================================================
[2026-10-20 17:38:13,639.639 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:38:13
[2026-10-20 17:38:14,241.241 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:38:14,515.515 INFO    ] Initializing speech engine...
[2026-10-20 17:38:14,524.524 INFO    ] 2026-10-20 17:38:14
[2026-10-20 17:38:14,783.783 INFO    ] 2026-10-20 17:38:14
[2026-10-20 17:38:14,822.822 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:38:15,022.022 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:38:15,036.036 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:38:15,200.200 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:38:15,211.211 INFO    ] time= 20/10/2026 17:38:15
[2026-10-20 17:38:15,219.219 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:38:15,262.262 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:38:15,400.400 INFO    ] No existing commands found in stream
[2026-10-20 17:38:20,425.425 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:38:20,429.429 INFO    ] Waiting 1.94 seconds before fallback handling...
[2026-10-20 17:38:22,855.855 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:38:22,857.857 INFO    ] Checking for system updates...
[2026-10-20 17:38:22,893.893 INFO    ] 200
[2026-10-20 17:38:22,895.895 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:38:22,955.955 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:38:22,957.957 INFO    ] No update needed
[2026-10-20 17:38:22,960.960 INFO    ] Checking for camera pi updates...
[2026-10-20 17:38:22,993.993 INFO    ] 200
[2026-10-20 17:38:22,995.995 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:38:23,036.036 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:38:23,086.086 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:38:23,089.089 INFO    ] No camera update needed
[2026-10-20 17:38:23,091.091 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:38:23,093.093 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:38:23,099.099 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:38:23,104.104 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:38:25,145.145 INFO    ] ================================================
[2026-10-20 17:38:25,160.160 INFO    ] Launching Daemon at Tue Oct 20 17:38:25 IST 2026
[2026-10-20 17:38:25,171.171 INFO    ] ================================================
[2026-10-20 17:38:25,773.773 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:38:25
[2026-10-20 17:38:26,449.449 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:38:26,755.755 INFO    ] Initializing speech engine...
[2026-10-20 17:38:26,769.769 INFO    ] 2026-10-20 17:38:26
[2026-10-20 17:38:27,054.054 INFO    ] 2026-10-20 17:38:27
[2026-10-20 17:38:27,099.099 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:38:27,327.327 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:38:27,337.337 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:38:27,486.486 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:38:27,546.546 INFO    ] time= 20/10/2026 17:38:27
[2026-10-20 17:38:27,607.607 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:38:27,614.614 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:38:27,752.752 INFO    ] No existing commands found in stream
[2026-10-20 17:38:32,773.773 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:38:32,776.776 INFO    ] Waiting 1.47 seconds before fallback handling...
[2026-10-20 17:38:34,779.779 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:38:34,781.781 INFO    ] Checking for system updates...
[2026-10-20 17:38:34,816.816 INFO    ] 200
[2026-10-20 17:38:34,819.819 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:38:34,871.871 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:38:34,874.874 INFO    ] No update needed
[2026-10-20 17:38:34,876.876 INFO    ] Checking for camera pi updates...
[2026-10-20 17:38:34,913.913 INFO    ] 200
[2026-10-20 17:38:34,916.916 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:38:34,958.958 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:38:35,010.010 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:38:35,013.013 INFO    ] No camera update needed
[2026-10-20 17:38:35,015.015 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:38:35,018.018 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:38:35,024.024 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:38:35,030.030 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:38:37,071.071 INFO    ] ================================================
[2026-10-20 17:38:37,086.086 INFO    ] Launching Daemon at Tue Oct 20 17:38:37 IST 2026
[2026-10-20 17:38:37,097.097 INFO    ] ================================================
[2026-10-20 17:38:37,686.686 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:38:37
[2026-10-20 17:38:38,292.292 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:38:38,572.572 INFO    ] Initializing speech engine...
[2026-10-20 17:38:38,579.579 INFO    ] 2026-10-20 17:38:38
[2026-10-20 17:38:38,839.839 INFO    ] 2026-10-20 17:38:38
[2026-10-20 17:38:38,869.869 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:38:39,097.097 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:38:39,147.147 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:38:39,325.325 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:38:39,347.347 INFO    ] time= 20/10/2026 17:38:39
[2026-10-20 17:38:39,402.402 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:38:39,451.451 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:38:39,626.626 INFO    ] No existing commands found in stream
[2026-10-20 17:38:44,656.656 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:38:44,659.659 INFO    ] Waiting 1.76 seconds before fallback handling...
[2026-10-20 17:38:46,917.917 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 17:38:46,920.920 INFO    ] Checking for system updates...
[2026-10-20 17:38:46,957.957 INFO    ] 200
[2026-10-20 17:38:46,960.960 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:38:47,013.013 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:38:47,016.016 INFO    ] No update needed
[2026-10-20 17:38:47,018.018 INFO    ] Checking for camera pi updates...
[2026-10-20 17:38:47,057.057 INFO    ] 200
[2026-10-20 17:38:47,060.060 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:38:47,102.102 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:38:47,146.146 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:38:47,149.149 INFO    ] No camera update needed
[2026-10-20 17:38:47,152.152 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:38:47,154.154 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:38:47,161.161 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:38:47,166.166 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:38:49,207.207 INFO    ] ================================================
[2026-10-20 17:38:49,222.222 INFO    ] Launching Daemon at Tue Oct 20 17:38:49 IST 2026
[2026-10-20 17:38:49,233.233 INFO    ] ================================================
[2026-10-20 17:38:49,809.809 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:38:49
[2026-10-20 17:38:50,413.413 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:38:50,691.691 INFO    ] Initializing speech engine...
[2026-10-20 17:38:50,697.697 INFO    ] 2026-10-20 17:38:50
[2026-10-20 17:38:50,945.945 INFO    ] 2026-10-20 17:38:50
[2026-10-20 17:38:50,980.980 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:38:51,235.235 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:38:51,244.244 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:38:51,448.448 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:38:51,498.498 INFO    ] time= 20/10/2026 17:38:51
[2026-10-20 17:38:51,509.509 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:38:51,527.527 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:38:51,662.662 INFO    ] No existing commands found in stream
[2026-10-20 17:38:56,681.681 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:38:56,684.684 INFO    ] Waiting 2.61 seconds before fallback handling...
[2026-10-20 17:38:59,802.802 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:38:59,804.804 INFO    ] Checking for system updates...
[2026-10-20 17:38:59,840.840 INFO    ] 200
[2026-10-20 17:38:59,842.842 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:38:59,896.896 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:38:59,899.899 INFO    ] No update needed
[2026-10-20 17:38:59,902.902 INFO    ] Checking for camera pi updates...
[2026-10-20 17:38:59,936.936 INFO    ] 200
[2026-10-20 17:38:59,939.939 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:38:59,980.980 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:39:00,035.035 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:39:00,038.038 INFO    ] No camera update needed
[2026-10-20 17:39:00,041.041 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:39:00,044.044 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:39:00,050.050 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:39:00,056.056 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:39:02,100.100 INFO    ] ================================================
[2026-10-20 17:39:02,121.121 INFO    ] Launching Daemon at Tue Oct 20 17:39:02 IST 2026
[2026-10-20 17:39:02,133.133 INFO    ] ================================================
[2026-10-20 17:39:02,761.761 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:39:02
[2026-10-20 17:39:03,452.452 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:39:03,739.739 INFO    ] Initializing speech engine...
[2026-10-20 17:39:03,763.763 INFO    ] 2026-10-20 17:39:03
[2026-10-20 17:39:04,036.036 INFO    ] 2026-10-20 17:39:04
[2026-10-20 17:39:04,071.071 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:39:04,287.287 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:39:04,296.296 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:39:04,511.511 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:39:04,518.518 INFO    ] time= 20/10/2026 17:39:04
[2026-10-20 17:39:04,562.562 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:39:04,616.616 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:39:04,713.713 INFO    ] No existing commands found in stream
[2026-10-20 17:39:09,725.725 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:39:09,727.727 INFO    ] Waiting 3.34 seconds before fallback handling...
[2026-10-20 17:39:13,592.592 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:39:13,595.595 INFO    ] Checking for system updates...
[2026-10-20 17:39:13,631.631 INFO    ] 200
[2026-10-20 17:39:13,633.633 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:39:13,686.686 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:39:13,688.688 INFO    ] No update needed
[2026-10-20 17:39:13,691.691 INFO    ] Checking for camera pi updates...
[2026-10-20 17:39:13,724.724 INFO    ] 200
[2026-10-20 17:39:13,727.727 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:39:13,770.770 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:39:13,826.826 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:39:13,829.829 INFO    ] No camera update needed
[2026-10-20 17:39:13,831.831 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:39:13,833.833 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:39:13,839.839 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:39:13,844.844 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:39:15,885.885 INFO    ] ================================================
[2026-10-20 17:39:15,900.900 INFO    ] Launching Daemon at Tue Oct 20 17:39:15 IST 2026
[2026-10-20 17:39:15,910.910 INFO    ] ================================================
[2026-10-20 17:39:16,483.483 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:39:16
[2026-10-20 17:39:17,069.069 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:39:17,323.323 INFO    ] Initializing speech engine...
[2026-10-20 17:39:17,332.332 INFO    ] 2026-10-20 17:39:17
[2026-10-20 17:39:17,620.620 INFO    ] 2026-10-20 17:39:17
[2026-10-20 17:39:17,658.658 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:39:17,874.874 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:39:17,882.882 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:39:18,097.097 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:39:18,104.104 INFO    ] time= 20/10/2026 17:39:18
[2026-10-20 17:39:18,150.150 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:39:18,189.189 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:39:18,331.331 INFO    ] No existing commands found in stream
[2026-10-20 17:39:23,356.356 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:39:23,359.359 INFO    ] Waiting 2.54 seconds before fallback handling...
[2026-10-20 17:39:26,364.364 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:39:26,367.367 INFO    ] Checking for system updates...
[2026-10-20 17:39:26,402.402 INFO    ] 200
[2026-10-20 17:39:26,405.405 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:39:26,456.456 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:39:26,459.459 INFO    ] No update needed
[2026-10-20 17:39:26,461.461 INFO    ] Checking for camera pi updates...
[2026-10-20 17:39:26,495.495 INFO    ] 200
[2026-10-20 17:39:26,497.497 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:39:26,540.540 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:39:26,688.688 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:39:26,690.690 INFO    ] No camera update needed
[2026-10-20 17:39:26,693.693 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:39:26,695.695 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:39:26,700.700 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:39:26,705.705 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:39:28,746.746 INFO    ] ================================================
[2026-10-20 17:39:28,761.761 INFO    ] Launching Daemon at Tue Oct 20 17:39:28 IST 2026
[2026-10-20 17:39:28,771.771 INFO    ] ================================================
[2026-10-20 17:39:29,346.346 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:39:29
[2026-10-20 17:39:29,947.947 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:39:30,225.225 INFO    ] Initializing speech engine...
[2026-10-20 17:39:30,232.232 INFO    ] 2026-10-20 17:39:30
[2026-10-20 17:39:30,494.494 INFO    ] 2026-10-20 17:39:30
[2026-10-20 17:39:30,524.524 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:39:30,769.769 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:39:30,779.779 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:39:30,929.929 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:39:30,989.989 INFO    ] time= 20/10/2026 17:39:30
[2026-10-20 17:39:31,042.042 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:39:31,049.049 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:39:31,197.197 INFO    ] No existing commands found in stream
[2026-10-20 17:39:36,219.219 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:39:36,222.222 INFO    ] Waiting 3.82 seconds before fallback handling...
[2026-10-20 17:39:40,548.548 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:39:40,551.551 INFO    ] Checking for system updates...
[2026-10-20 17:39:40,587.587 INFO    ] 200
[2026-10-20 17:39:40,589.589 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:39:40,647.647 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:39:40,649.649 INFO    ] No update needed
[2026-10-20 17:39:40,652.652 INFO    ] Checking for camera pi updates...
[2026-10-20 17:39:40,685.685 INFO    ] 200
[2026-10-20 17:39:40,688.688 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:39:40,732.732 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:39:40,786.786 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:39:40,789.789 INFO    ] No camera update needed
[2026-10-20 17:39:40,792.792 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:39:40,794.794 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:39:40,799.799 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:39:40,804.804 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:39:42,844.844 INFO    ] ================================================
[2026-10-20 17:39:42,859.859 INFO    ] Launching Daemon at Tue Oct 20 17:39:42 IST 2026
[2026-10-20 17:39:42,869.869 INFO    ] ================================================
[2026-10-20 17:39:43,450.450 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:39:43
[2026-10-20 17:39:44,046.046 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:39:44,323.323 INFO    ] Initializing speech engine...
[2026-10-20 17:39:44,333.333 INFO    ] 2026-10-20 17:39:44
[2026-10-20 17:39:44,583.583 INFO    ] 2026-10-20 17:39:44
[2026-10-20 17:39:44,618.618 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:39:44,877.877 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:39:44,886.886 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:39:45,025.025 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:39:45,085.085 INFO    ] time= 20/10/2026 17:39:45
[2026-10-20 17:39:45,129.129 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:39:45,162.162 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:39:45,313.313 INFO    ] No existing commands found in stream
[2026-10-20 17:39:50,328.328 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:39:50,330.330 INFO    ] Waiting 0.75 seconds before fallback handling...
[2026-10-20 17:39:51,639.639 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:39:51,642.642 INFO    ] Checking for system updates...
[2026-10-20 17:39:51,678.678 INFO    ] 200
[2026-10-20 17:39:51,681.681 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:39:51,733.733 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:39:51,736.736 INFO    ] No update needed
[2026-10-20 17:39:51,739.739 INFO    ] Checking for camera pi updates...
[2026-10-20 17:39:51,773.773 INFO    ] 200
[2026-10-20 17:39:51,776.776 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:39:51,817.817 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:39:51,873.873 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:39:51,875.875 INFO    ] No camera update needed
[2026-10-20 17:39:51,878.878 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:39:51,881.881 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:39:51,887.887 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:39:51,893.893 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:39:53,933.933 INFO    ] ================================================
[2026-10-20 17:39:53,949.949 INFO    ] Launching Daemon at Tue Oct 20 17:39:53 IST 2026
[2026-10-20 17:39:53,959.959 INFO    ] ================================================
[2026-10-20 17:39:54,546.546 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:39:54
[2026-10-20 17:39:55,169.169 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:39:55,470.470 INFO    ] Initializing speech engine...
[2026-10-20 17:39:55,481.481 INFO    ] 2026-10-20 17:39:55
[2026-10-20 17:39:55,757.757 INFO    ] 2026-10-20 17:39:55
[2026-10-20 17:39:55,812.812 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:39:56,082.082 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:39:56,091.091 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:39:56,285.285 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:39:56,292.292 INFO    ] time= 20/10/2026 17:39:56
[2026-10-20 17:39:56,314.314 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:39:56,342.342 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:39:56,456.456 INFO    ] No existing commands found in stream
[2026-10-20 17:40:01,486.486 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:40:01,489.489 INFO    ] Waiting 2.71 seconds before fallback handling...
[2026-10-20 17:40:08,114.114 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 17:40:08,117.117 INFO    ] Checking for system updates...
[2026-10-20 17:40:08,155.155 INFO    ] 200
[2026-10-20 17:40:08,158.158 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:40:08,211.211 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:40:08,214.214 INFO    ] No update needed
[2026-10-20 17:40:08,216.216 INFO    ] Checking for camera pi updates...
[2026-10-20 17:40:08,253.253 INFO    ] 200
[2026-10-20 17:40:08,255.255 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:40:08,300.300 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:40:08,346.346 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:40:08,349.349 INFO    ] No camera update needed
[2026-10-20 17:40:08,351.351 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:40:08,353.353 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:40:08,359.359 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:40:08,364.364 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:40:10,404.404 INFO    ] ================================================
[2026-10-20 17:40:10,419.419 INFO    ] Launching Daemon at Tue Oct 20 17:40:10 IST 2026
[2026-10-20 17:40:10,430.430 INFO    ] ================================================
[2026-10-20 17:40:11,018.018 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:40:11
[2026-10-20 17:40:11,626.626 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:40:11,888.888 INFO    ] Initializing speech engine...
[2026-10-20 17:40:11,896.896 INFO    ] 2026-10-20 17:40:11
[2026-10-20 17:40:12,195.195 INFO    ] 2026-10-20 17:40:12
[2026-10-20 17:40:12,233.233 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:40:12,460.460 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:40:12,521.521 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:40:12,685.685 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:40:12,723.723 INFO    ] time= 20/10/2026 17:40:12
[2026-10-20 17:40:12,772.772 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:40:12,822.822 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:40:12,973.973 INFO    ] No existing commands found in stream
[2026-10-20 17:40:17,998.998 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:40:18,001.001 INFO    ] Waiting 1.52 seconds before fallback handling...
[2026-10-20 17:40:20,591.591 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:40:20,593.593 INFO    ] Checking for system updates...
[2026-10-20 17:40:20,629.629 INFO    ] 200
[2026-10-20 17:40:20,632.632 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:40:20,684.684 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:40:20,687.687 INFO    ] No update needed
[2026-10-20 17:40:20,689.689 INFO    ] Checking for camera pi updates...
[2026-10-20 17:40:20,723.723 INFO    ] 200
[2026-10-20 17:40:20,725.725 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:40:20,766.766 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:40:20,810.810 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:40:20,813.813 INFO    ] No camera update needed
[2026-10-20 17:40:20,815.815 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:40:20,817.817 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:40:20,823.823 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:40:20,828.828 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:40:22,868.868 INFO    ] ================================================
[2026-10-20 17:40:22,883.883 INFO    ] Launching Daemon at Tue Oct 20 17:40:22 IST 2026
[2026-10-20 17:40:22,894.894 INFO    ] ================================================
[2026-10-20 17:40:23,461.461 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:40:23
[2026-10-20 17:40:24,047.047 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:40:24,331.331 INFO    ] Initializing speech engine...
[2026-10-20 17:40:24,340.340 INFO    ] 2026-10-20 17:40:24
[2026-10-20 17:40:24,605.605 INFO    ] 2026-10-20 17:40:24
[2026-10-20 17:40:24,644.644 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:40:24,841.841 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:40:24,855.855 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:40:25,018.018 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:40:25,028.028 INFO    ] time= 20/10/2026 17:40:25
[2026-10-20 17:40:25,032.032 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:40:25,039.039 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:40:25,114.114 INFO    ] No existing commands found in stream
[2026-10-20 17:40:30,130.130 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:40:30,133.133 INFO    ] Waiting 2.39 seconds before fallback handling...
[2026-10-20 17:40:33,013.013 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 17:40:33,016.016 INFO    ] Checking for system updates...
[2026-10-20 17:40:33,060.060 INFO    ] 200
[2026-10-20 17:40:33,062.062 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:40:33,120.120 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:40:33,123.123 INFO    ] No update needed
[2026-10-20 17:40:33,125.125 INFO    ] Checking for camera pi updates...
[2026-10-20 17:40:33,158.158 INFO    ] 200
[2026-10-20 17:40:33,161.161 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:40:33,202.202 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:40:33,251.251 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:40:33,253.253 INFO    ] No camera update needed
[2026-10-20 17:40:33,255.255 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:40:33,258.258 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:40:33,263.263 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:40:33,268.268 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:40:35,311.311 INFO    ] ================================================
[2026-10-20 17:40:35,325.325 INFO    ] Launching Daemon at Tue Oct 20 17:40:35 IST 2026
[2026-10-20 17:40:35,337.337 INFO    ] ================================================
[2026-10-20 17:40:35,906.906 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:40:35
[2026-10-20 17:40:36,488.488 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:40:36,746.746 INFO    ] Initializing speech engine...
[2026-10-20 17:40:36,762.762 INFO    ] 2026-10-20 17:40:36
[2026-10-20 17:40:37,011.011 INFO    ] 2026-10-20 17:40:37
[2026-10-20 17:40:37,047.047 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:40:37,297.297 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:40:37,306.306 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:40:37,450.450 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:40:37,510.510 INFO    ] time= 20/10/2026 17:40:37
[2026-10-20 17:40:37,566.566 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:40:37,572.572 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:40:37,715.715 INFO    ] No existing commands found in stream
[2026-10-20 17:40:42,729.729 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:40:42,732.732 INFO    ] Waiting 0.39 seconds before fallback handling...
[2026-10-20 17:40:43,642.642 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:40:43,645.645 INFO    ] Checking for system updates...
[2026-10-20 17:40:43,682.682 INFO    ] 200
[2026-10-20 17:40:43,685.685 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:40:43,739.739 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:40:43,742.742 INFO    ] No update needed
[2026-10-20 17:40:43,744.744 INFO    ] Checking for camera pi updates...
[2026-10-20 17:40:43,782.782 INFO    ] 200
[2026-10-20 17:40:43,785.785 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:40:43,830.830 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:40:43,884.884 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:40:43,886.886 INFO    ] No camera update needed
[2026-10-20 17:40:43,889.889 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:40:43,891.891 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:40:43,897.897 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:40:43,902.902 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:40:45,942.942 INFO    ] ================================================
[2026-10-20 17:40:45,957.957 INFO    ] Launching Daemon at Tue Oct 20 17:40:45 IST 2026
[2026-10-20 17:40:45,968.968 INFO    ] ================================================
[2026-10-20 17:40:46,632.632 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:40:46
[2026-10-20 17:40:47,329.329 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:40:47,638.638 INFO    ] Initializing speech engine...
[2026-10-20 17:40:47,647.647 INFO    ] 2026-10-20 17:40:47
[2026-10-20 17:40:47,933.933 INFO    ] 2026-10-20 17:40:47
[2026-10-20 17:40:47,991.991 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:40:48,222.222 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:40:48,228.228 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:40:48,461.461 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:40:48,489.489 INFO    ] time= 20/10/2026 17:40:48
[2026-10-20 17:40:48,510.510 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:40:48,538.538 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:40:48,653.653 INFO    ] No existing commands found in stream
[2026-10-20 17:40:53,684.684 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:40:53,687.687 INFO    ] Waiting 1.39 seconds before fallback handling...
[2026-10-20 17:40:55,598.598 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:40:55,601.601 INFO    ] Checking for system updates...
[2026-10-20 17:40:55,638.638 INFO    ] 200
[2026-10-20 17:40:55,641.641 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:40:55,693.693 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:40:55,696.696 INFO    ] No update needed
[2026-10-20 17:40:55,699.699 INFO    ] Checking for camera pi updates...
[2026-10-20 17:40:55,733.733 INFO    ] 200
[2026-10-20 17:40:55,735.735 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:40:55,777.777 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:40:55,826.826 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:40:55,829.829 INFO    ] No camera update needed
[2026-10-20 17:40:55,832.832 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:40:55,835.835 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:40:55,841.841 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:40:55,847.847 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:40:57,886.886 INFO    ] ================================================
[2026-10-20 17:40:57,901.901 INFO    ] Launching Daemon at Tue Oct 20 17:40:57 IST 2026
[2026-10-20 17:40:57,912.912 INFO    ] ================================================
[2026-10-20 17:40:58,477.477 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:40:58
[2026-10-20 17:40:59,062.062 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:40:59,310.310 INFO    ] Initializing speech engine...
[2026-10-20 17:40:59,331.331 INFO    ] 2026-10-20 17:40:59
[2026-10-20 17:40:59,596.596 INFO    ] 2026-10-20 17:40:59
[2026-10-20 17:40:59,632.632 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:40:59,834.834 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:40:59,895.895 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:41:00,039.039 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:41:00,086.086 INFO    ] time= 20/10/2026 17:41:00
[2026-10-20 17:41:00,135.135 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:41:00,176.176 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:41:00,307.307 INFO    ] No existing commands found in stream
[2026-10-20 17:41:05,335.335 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:41:05,338.338 INFO    ] Waiting 2.53 seconds before fallback handling...
[2026-10-20 17:41:08,372.372 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:41:08,375.375 INFO    ] Checking for system updates...
[2026-10-20 17:41:08,410.410 INFO    ] 200
[2026-10-20 17:41:08,413.413 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:41:08,465.465 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:41:08,467.467 INFO    ] No update needed
[2026-10-20 17:41:08,470.470 INFO    ] Checking for camera pi updates...
[2026-10-20 17:41:08,503.503 INFO    ] 200
[2026-10-20 17:41:08,505.505 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:41:08,546.546 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:41:08,600.600 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:41:08,602.602 INFO    ] No camera update needed
[2026-10-20 17:41:08,605.605 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:41:08,607.607 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:41:08,612.612 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:41:08,617.617 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:41:10,660.660 INFO    ] ================================================
[2026-10-20 17:41:10,674.674 INFO    ] Launching Daemon at Tue Oct 20 17:41:10 IST 2026
[2026-10-20 17:41:10,685.685 INFO    ] ================================================
[2026-10-20 17:41:11,308.308 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:41:11
[2026-10-20 17:41:11,949.949 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:41:12,243.243 INFO    ] Initializing speech engine...
[2026-10-20 17:41:12,252.252 INFO    ] 2026-10-20 17:41:12
[2026-10-20 17:41:12,518.518 INFO    ] 2026-10-20 17:41:12
[2026-10-20 17:41:12,576.576 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:41:12,803.803 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:41:12,809.809 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:41:13,039.039 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:41:13,064.064 INFO    ] time= 20/10/2026 17:41:13
[2026-10-20 17:41:13,071.071 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:41:13,093.093 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:41:13,222.222 INFO    ] No existing commands found in stream
[2026-10-20 17:41:18,252.252 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:41:18,254.254 INFO    ] Waiting 2.97 seconds before fallback handling...
[2026-10-20 17:41:21,752.752 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:41:21,755.755 INFO    ] Checking for system updates...
[2026-10-20 17:41:21,795.795 INFO    ] 200
[2026-10-20 17:41:21,797.797 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:41:21,860.860 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:41:21,863.863 INFO    ] No update needed
[2026-10-20 17:41:21,865.865 INFO    ] Checking for camera pi updates...
[2026-10-20 17:41:21,900.900 INFO    ] 200
[2026-10-20 17:41:21,902.902 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:41:21,945.945 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:41:21,996.996 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:41:21,999.999 INFO    ] No camera update needed
[2026-10-20 17:41:22,001.001 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:41:22,004.004 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:41:22,009.009 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:41:22,014.014 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:41:24,053.053 INFO    ] ================================================
[2026-10-20 17:41:24,068.068 INFO    ] Launching Daemon at Tue Oct 20 17:41:24 IST 2026
[2026-10-20 17:41:24,078.078 INFO    ] ================================================
[2026-10-20 17:41:24,699.699 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:41:24
[2026-10-20 17:41:25,340.340 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:41:25,632.632 INFO    ] Initializing speech engine...
[2026-10-20 17:41:25,645.645 INFO    ] 2026-10-20 17:41:25
[2026-10-20 17:41:25,906.906 INFO    ] 2026-10-20 17:41:25
[2026-10-20 17:41:25,961.961 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:41:26,246.246 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:41:26,254.254 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:41:26,447.447 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:41:26,468.468 INFO    ] time= 20/10/2026 17:41:26
[2026-10-20 17:41:26,495.495 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:41:26,503.503 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:41:26,605.605 INFO    ] No existing commands found in stream
[2026-10-20 17:41:31,634.634 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:41:31,637.637 INFO    ] Waiting 1.03 seconds before fallback handling...
[2026-10-20 17:41:33,162.162 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:41:33,165.165 INFO    ] Checking for system updates...
[2026-10-20 17:41:33,205.205 INFO    ] 200
[2026-10-20 17:41:33,208.208 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:41:33,261.261 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:41:33,264.264 INFO    ] No update needed
[2026-10-20 17:41:33,267.267 INFO    ] Checking for camera pi updates...
[2026-10-20 17:41:33,308.308 INFO    ] 200
[2026-10-20 17:41:33,310.310 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:41:33,362.362 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:41:33,406.406 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:41:33,409.409 INFO    ] No camera update needed
[2026-10-20 17:41:33,412.412 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:41:33,415.415 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:41:33,421.421 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:41:33,426.426 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:41:35,468.468 INFO    ] ================================================
[2026-10-20 17:41:35,483.483 INFO    ] Launching Daemon at Tue Oct 20 17:41:35 IST 2026
[2026-10-20 17:41:35,494.494 INFO    ] ================================================
[2026-10-20 17:41:36,061.061 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:41:36
[2026-10-20 17:41:36,642.642 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:41:36,911.911 INFO    ] Initializing speech engine...
[2026-10-20 17:41:36,920.920 INFO    ] 2026-10-20 17:41:36
[2026-10-20 17:41:37,167.167 INFO    ] 2026-10-20 17:41:37
[2026-10-20 17:41:37,203.203 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:41:37,487.487 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:41:37,497.497 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:41:37,644.644 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:41:37,671.671 INFO    ] time= 20/10/2026 17:41:37
[2026-10-20 17:41:37,730.730 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:41:37,779.779 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:41:37,942.942 INFO    ] No existing commands found in stream
[2026-10-20 17:41:42,965.965 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:41:42,967.967 INFO    ] Waiting 3.21 seconds before fallback handling...
[2026-10-20 17:41:46,652.652 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:41:46,654.654 INFO    ] Checking for system updates...
[2026-10-20 17:41:46,689.689 INFO    ] 200
[2026-10-20 17:41:46,692.692 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:41:46,744.744 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:41:46,747.747 INFO    ] No update needed
[2026-10-20 17:41:46,749.749 INFO    ] Checking for camera pi updates...
[2026-10-20 17:41:46,783.783 INFO    ] 200
[2026-10-20 17:41:46,785.785 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:41:46,832.832 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:41:46,876.876 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:41:46,878.878 INFO    ] No camera update needed
[2026-10-20 17:41:46,881.881 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:41:46,883.883 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:41:46,888.888 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:41:46,893.893 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:41:48,932.932 INFO    ] ================================================
[2026-10-20 17:41:48,948.948 INFO    ] Launching Daemon at Tue Oct 20 17:41:48 IST 2026
[2026-10-20 17:41:48,959.959 INFO    ] ================================================
[2026-10-20 17:41:49,595.595 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:41:49
[2026-10-20 17:41:50,191.191 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:41:50,458.458 INFO    ] Initializing speech engine...
[2026-10-20 17:41:50,468.468 INFO    ] 2026-10-20 17:41:50
[2026-10-20 17:41:50,713.713 INFO    ] 2026-10-20 17:41:50
[2026-10-20 17:41:50,747.747 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:41:51,002.002 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:41:51,007.007 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:41:51,185.185 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:41:51,245.245 INFO    ] time= 20/10/2026 17:41:51
[2026-10-20 17:41:51,269.269 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:41:51,283.283 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:41:51,419.419 INFO    ] No existing commands found in stream
[2026-10-20 17:41:56,446.446 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:41:56,449.449 INFO    ] Waiting 2.53 seconds before fallback handling...
[2026-10-20 17:41:59,481.481 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 17:41:59,484.484 INFO    ] Checking for system updates...
[2026-10-20 17:41:59,525.525 INFO    ] 200
[2026-10-20 17:41:59,528.528 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:41:59,587.587 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:41:59,590.590 INFO    ] No update needed
[2026-10-20 17:41:59,593.593 INFO    ] Checking for camera pi updates...
[2026-10-20 17:41:59,627.627 INFO    ] 200
[2026-10-20 17:41:59,630.630 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:41:59,674.674 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:41:59,720.720 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:41:59,723.723 INFO    ] No camera update needed
[2026-10-20 17:41:59,725.725 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:41:59,727.727 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:41:59,733.733 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:41:59,738.738 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:42:01,781.781 INFO    ] ================================================
[2026-10-20 17:42:01,796.796 INFO    ] Launching Daemon at Tue Oct 20 17:42:01 IST 2026
[2026-10-20 17:42:01,807.807 INFO    ] ================================================
[2026-10-20 17:42:02,571.571 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:42:02
[2026-10-20 17:42:03,306.306 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:42:03,675.675 INFO    ] Initializing speech engine...
[2026-10-20 17:42:03,690.690 INFO    ] 2026-10-20 17:42:03
[2026-10-20 17:42:03,961.961 INFO    ] 2026-10-20 17:42:03
[2026-10-20 17:42:03,993.993 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:42:04,185.185 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:42:04,197.197 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:42:04,407.407 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:42:04,414.414 INFO    ] time= 20/10/2026 17:42:04
[2026-10-20 17:42:04,490.490 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:42:04,544.544 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:42:04,683.683 INFO    ] No existing commands found in stream
[2026-10-20 17:42:09,707.707 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:42:09,710.710 INFO    ] Waiting 0.50 seconds before fallback handling...
[2026-10-20 17:42:10,703.703 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:42:10,706.706 INFO    ] Checking for system updates...
[2026-10-20 17:42:10,741.741 INFO    ] 200
[2026-10-20 17:42:10,744.744 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:42:10,801.801 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:42:10,803.803 INFO    ] No update needed
[2026-10-20 17:42:10,805.805 INFO    ] Checking for camera pi updates...
[2026-10-20 17:42:10,839.839 INFO    ] 200
[2026-10-20 17:42:10,841.841 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:42:10,885.885 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:42:10,930.930 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:42:10,933.933 INFO    ] No camera update needed
[2026-10-20 17:42:10,935.935 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:42:10,937.937 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:42:10,942.942 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:42:10,947.947 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:42:12,986.986 INFO    ] ================================================
[2026-10-20 17:42:13,002.002 INFO    ] Launching Daemon at Tue Oct 20 17:42:12 IST 2026
[2026-10-20 17:42:13,013.013 INFO    ] ================================================
[2026-10-20 17:42:13,636.636 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:42:13
[2026-10-20 17:42:14,278.278 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:42:14,574.574 INFO    ] Initializing speech engine...
[2026-10-20 17:42:14,587.587 INFO    ] 2026-10-20 17:42:14
[2026-10-20 17:42:14,851.851 INFO    ] 2026-10-20 17:42:14
[2026-10-20 17:42:14,893.893 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:42:15,200.200 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:42:15,207.207 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:42:15,402.402 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:42:15,411.411 INFO    ] time= 20/10/2026 17:42:15
[2026-10-20 17:42:15,432.432 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:42:15,459.459 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:42:15,583.583 INFO    ] No existing commands found in stream
[2026-10-20 17:42:20,614.614 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:42:20,617.617 INFO    ] Waiting 3.04 seconds before fallback handling...
[2026-10-20 17:42:24,175.175 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:42:24,177.177 INFO    ] Checking for system updates...
[2026-10-20 17:42:24,214.214 INFO    ] 200
[2026-10-20 17:42:24,217.217 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:42:24,273.273 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:42:24,276.276 INFO    ] No update needed
[2026-10-20 17:42:24,278.278 INFO    ] Checking for camera pi updates...
[2026-10-20 17:42:24,314.314 INFO    ] 200
[2026-10-20 17:42:24,316.316 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:42:24,359.359 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:42:24,410.410 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:42:24,412.412 INFO    ] No camera update needed
[2026-10-20 17:42:24,415.415 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:42:24,417.417 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:42:24,422.422 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:42:24,427.427 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:42:26,467.467 INFO    ] ================================================
[2026-10-20 17:42:26,482.482 INFO    ] Launching Daemon at Tue Oct 20 17:42:26 IST 2026
[2026-10-20 17:42:26,493.493 INFO    ] ================================================
[2026-10-20 17:42:27,056.056 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:42:27
[2026-10-20 17:42:27,637.637 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:42:27,903.903 INFO    ] Initializing speech engine...
[2026-10-20 17:42:27,911.911 INFO    ] 2026-10-20 17:42:27
[2026-10-20 17:42:28,163.163 INFO    ] 2026-10-20 17:42:28
[2026-10-20 17:42:28,198.198 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:42:28,441.441 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:42:28,450.450 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:42:28,660.660 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:42:28,705.705 INFO    ] time= 20/10/2026 17:42:28
[2026-10-20 17:42:28,714.714 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:42:28,731.731 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:42:28,885.885 INFO    ] No existing commands found in stream
[2026-10-20 17:42:33,910.910 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:42:33,913.913 INFO    ] Waiting 2.32 seconds before fallback handling...
[2026-10-20 17:42:36,777.777 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 17:42:36,779.779 INFO    ] Checking for system updates...
[2026-10-20 17:42:36,815.815 INFO    ] 200
[2026-10-20 17:42:36,817.817 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:42:36,869.869 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:42:36,871.871 INFO    ] No update needed
[2026-10-20 17:42:36,874.874 INFO    ] Checking for camera pi updates...
[2026-10-20 17:42:36,910.910 INFO    ] 200
[2026-10-20 17:42:36,912.912 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:42:36,956.956 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:42:36,999.999 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:42:37,001.001 INFO    ] No camera update needed
[2026-10-20 17:42:37,003.003 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:42:37,005.005 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:42:37,011.011 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:42:37,016.016 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:42:39,056.056 INFO    ] ================================================
[2026-10-20 17:42:39,071.071 INFO    ] Launching Daemon at Tue Oct 20 17:42:39 IST 2026
[2026-10-20 17:42:39,082.082 INFO    ] ================================================
[2026-10-20 17:42:39,647.647 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:42:39
[2026-10-20 17:42:40,250.250 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:42:40,518.518 INFO    ] Initializing speech engine...
[2026-10-20 17:42:40,527.527 INFO    ] 2026-10-20 17:42:40
[2026-10-20 17:42:40,786.786 INFO    ] 2026-10-20 17:42:40
[2026-10-20 17:42:40,839.839 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:42:41,060.060 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:42:41,068.068 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:42:41,269.269 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:42:41,324.324 INFO    ] time= 20/10/2026 17:42:41
[2026-10-20 17:42:41,331.331 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:42:41,349.349 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:42:41,476.476 INFO    ] No existing commands found in stream
[2026-10-20 17:42:46,491.491 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:42:46,494.494 INFO    ] Waiting 2.97 seconds before fallback handling...
[2026-10-20 17:42:49,949.949 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 17:42:49,952.952 INFO    ] Checking for system updates...
[2026-10-20 17:42:49,987.987 INFO    ] 200
[2026-10-20 17:42:49,990.990 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:42:50,046.046 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:42:50,048.048 INFO    ] No update needed
[2026-10-20 17:42:50,051.051 INFO    ] Checking for camera pi updates...
[2026-10-20 17:42:50,086.086 INFO    ] 200
[2026-10-20 17:42:50,089.089 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:42:50,129.129 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:42:50,168.168 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:42:50,171.171 INFO    ] No camera update needed
[2026-10-20 17:42:50,173.173 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:42:50,175.175 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:42:50,181.181 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:42:50,186.186 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:42:52,226.226 INFO    ] ================================================
[2026-10-20 17:42:52,241.241 INFO    ] Launching Daemon at Tue Oct 20 17:42:52 IST 2026
[2026-10-20 17:42:52,251.251 INFO    ] ================================================
[2026-10-20 17:42:52,829.829 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:42:52
[2026-10-20 17:42:53,413.413 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:42:53,692.692 INFO    ] Initializing speech engine...
[2026-10-20 17:42:53,701.701 INFO    ] 2026-10-20 17:42:53
[2026-10-20 17:42:53,960.960 INFO    ] 2026-10-20 17:42:53
[2026-10-20 17:42:53,995.995 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:42:54,209.209 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:42:54,217.217 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:42:54,427.427 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:42:54,434.434 INFO    ] time= 20/10/2026 17:42:54
[2026-10-20 17:42:54,499.499 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:42:54,532.532 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:42:54,629.629 INFO    ] No existing commands found in stream
[2026-10-20 17:42:59,641.641 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:42:59,644.644 INFO    ] Waiting 0.46 seconds before fallback handling...
[2026-10-20 17:43:00,622.622 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 17:43:00,624.624 INFO    ] Checking for system updates...
[2026-10-20 17:43:00,660.660 INFO    ] 200
[2026-10-20 17:43:00,662.662 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:43:00,715.715 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:43:00,717.717 INFO    ] No update needed
[2026-10-20 17:43:00,720.720 INFO    ] Checking for camera pi updates...
[2026-10-20 17:43:00,752.752 INFO    ] 200
[2026-10-20 17:43:00,755.755 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:43:00,797.797 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:43:00,847.847 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:43:00,849.849 INFO    ] No camera update needed
[2026-10-20 17:43:00,852.852 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:43:00,854.854 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:43:00,859.859 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:43:00,864.864 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:43:02,906.906 INFO    ] ================================================
[2026-10-20 17:43:02,923.923 INFO    ] Launching Daemon at Tue Oct 20 17:43:02 IST 2026
[2026-10-20 17:43:02,938.938 INFO    ] ================================================
[2026-10-20 17:43:03,577.577 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:43:03
[2026-10-20 17:43:04,214.214 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:43:04,474.474 INFO    ] Initializing speech engine...
[2026-10-20 17:43:04,487.487 INFO    ] 2026-10-20 17:43:04
[2026-10-20 17:43:04,766.766 INFO    ] 2026-10-20 17:43:04
[2026-10-20 17:43:04,804.804 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:43:05,001.001 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:43:05,014.014 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:43:05,176.176 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:43:05,181.181 INFO    ] time= 20/10/2026 17:43:05
[2026-10-20 17:43:05,187.187 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:43:05,246.246 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:43:05,369.369 INFO    ] No existing commands found in stream
[2026-10-20 17:43:10,399.399 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:43:10,402.402 INFO    ] Waiting 1.90 seconds before fallback handling...
[2026-10-20 17:43:12,784.784 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 17:43:12,787.787 INFO    ] Checking for system updates...
[2026-10-20 17:43:12,823.823 INFO    ] 200
[2026-10-20 17:43:12,825.825 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:43:12,883.883 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:43:12,886.886 INFO    ] No update needed
[2026-10-20 17:43:12,889.889 INFO    ] Checking for camera pi updates...
[2026-10-20 17:43:12,926.926 INFO    ] 200
[2026-10-20 17:43:12,929.929 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:43:12,974.974 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:43:13,026.026 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:43:13,028.028 INFO    ] No camera update needed
[2026-10-20 17:43:13,031.031 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:43:13,034.034 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:43:13,040.040 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:43:13,045.045 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:43:15,086.086 INFO    ] ================================================
[2026-10-20 17:43:15,101.101 INFO    ] Launching Daemon at Tue Oct 20 17:43:15 IST 2026
[2026-10-20 17:43:15,112.112 INFO    ] ================================================
[2026-10-20 17:43:15,686.686 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:43:15
[2026-10-20 17:43:16,274.274 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:43:16,543.543 INFO    ] Initializing speech engine...
[2026-10-20 17:43:16,552.552 INFO    ] 2026-10-20 17:43:16
[2026-10-20 17:43:16,799.799 INFO    ] 2026-10-20 17:43:16
[2026-10-20 17:43:16,834.834 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:43:17,086.086 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:43:17,096.096 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:43:17,235.235 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:43:17,305.305 INFO    ] time= 20/10/2026 17:43:17
[2026-10-20 17:43:17,357.357 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:43:17,364.364 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:43:17,510.510 INFO    ] No existing commands found in stream
[2026-10-20 17:43:22,529.529 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:43:22,532.532 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-10-20 17:43:26,569.569 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:43:26,571.571 INFO    ] Checking for system updates...
[2026-10-20 17:43:26,609.609 INFO    ] 200
[2026-10-20 17:43:26,612.612 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:43:26,670.670 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:43:26,672.672 INFO    ] No update needed
[2026-10-20 17:43:26,675.675 INFO    ] Checking for camera pi updates...
[2026-10-20 17:43:26,708.708 INFO    ] 200
[2026-10-20 17:43:26,711.711 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:43:26,754.754 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:43:26,786.786 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:43:26,789.789 INFO    ] No camera update needed
[2026-10-20 17:43:26,791.791 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:43:26,793.793 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:43:26,799.799 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:43:26,804.804 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:43:28,844.844 INFO    ] ================================================
[2026-10-20 17:43:28,859.859 INFO    ] Launching Daemon at Tue Oct 20 17:43:28 IST 2026
[2026-10-20 17:43:28,870.870 INFO    ] ================================================
[2026-10-20 17:43:29,505.505 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:43:29
[2026-10-20 17:43:30,159.159 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:43:30,414.414 INFO    ] Initializing speech engine...
[2026-10-20 17:43:30,420.420 INFO    ] 2026-10-20 17:43:30
[2026-10-20 17:43:30,709.709 INFO    ] 2026-10-20 17:43:30
[2026-10-20 17:43:30,742.742 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:43:30,967.967 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:43:31,008.008 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:43:31,191.191 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:43:31,236.236 INFO    ] time= 20/10/2026 17:43:31
[2026-10-20 17:43:31,295.295 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:43:31,337.337 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:43:31,469.469 INFO    ] No existing commands found in stream
[2026-10-20 17:43:36,491.491 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:43:36,494.494 INFO    ] Waiting 3.34 seconds before fallback handling...
[2026-10-20 17:43:40,320.320 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:43:40,323.323 INFO    ] Checking for system updates...
[2026-10-20 17:43:40,358.358 INFO    ] 200
[2026-10-20 17:43:40,361.361 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:43:40,412.412 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:43:40,415.415 INFO    ] No update needed
[2026-10-20 17:43:40,417.417 INFO    ] Checking for camera pi updates...
[2026-10-20 17:43:40,453.453 INFO    ] 200
[2026-10-20 17:43:40,455.455 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:43:40,500.500 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:43:40,652.652 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:43:40,655.655 INFO    ] No camera update needed
[2026-10-20 17:43:40,657.657 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:43:40,659.659 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:43:40,664.664 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:43:40,669.669 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:43:42,709.709 INFO    ] ================================================
[2026-10-20 17:43:42,724.724 INFO    ] Launching Daemon at Tue Oct 20 17:43:42 IST 2026
[2026-10-20 17:43:42,735.735 INFO    ] ================================================
[2026-10-20 17:43:43,377.377 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:43:43
[2026-10-20 17:43:44,022.022 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:43:44,322.322 INFO    ] Initializing speech engine...
[2026-10-20 17:43:44,335.335 INFO    ] 2026-10-20 17:43:44
[2026-10-20 17:43:44,639.639 INFO    ] 2026-10-20 17:43:44
[2026-10-20 17:43:44,727.727 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:43:44,935.935 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:43:44,943.943 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:43:45,137.137 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:43:45,156.156 INFO    ] time= 20/10/2026 17:43:45
[2026-10-20 17:43:45,166.166 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:43:45,194.194 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:43:45,350.350 INFO    ] No existing commands found in stream
[2026-10-20 17:43:50,376.376 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:43:50,379.379 INFO    ] Waiting 0.82 seconds before fallback handling...
[2026-10-20 17:43:53,680.680 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:43:53,682.682 INFO    ] Checking for system updates...
[2026-10-20 17:43:53,718.718 INFO    ] 200
[2026-10-20 17:43:53,720.720 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:43:53,771.771 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:43:53,774.774 INFO    ] No update needed
[2026-10-20 17:43:53,776.776 INFO    ] Checking for camera pi updates...
[2026-10-20 17:43:53,809.809 INFO    ] 200
[2026-10-20 17:43:53,812.812 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:43:53,851.851 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:43:53,902.902 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:43:53,904.904 INFO    ] No camera update needed
[2026-10-20 17:43:53,906.906 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:43:53,909.909 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:43:53,915.915 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:43:53,920.920 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:43:55,961.961 INFO    ] ================================================
[2026-10-20 17:43:55,975.975 INFO    ] Launching Daemon at Tue Oct 20 17:43:55 IST 2026
[2026-10-20 17:43:55,986.986 INFO    ] ================================================
[2026-10-20 17:43:56,553.553 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:43:56
[2026-10-20 17:43:57,136.136 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:43:57,403.403 INFO    ] Initializing speech engine...
[2026-10-20 17:43:57,412.412 INFO    ] 2026-10-20 17:43:57
[2026-10-20 17:43:57,659.659 INFO    ] 2026-10-20 17:43:57
[2026-10-20 17:43:57,693.693 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:43:57,946.946 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:43:57,955.955 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:43:58,157.157 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:43:58,221.221 INFO    ] time= 20/10/2026 17:43:58
[2026-10-20 17:43:58,228.228 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:43:58,246.246 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:43:58,381.381 INFO    ] No existing commands found in stream
[2026-10-20 17:44:03,393.393 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:44:03,396.396 INFO    ] Waiting 3.04 seconds before fallback handling...
[2026-10-20 17:44:06,936.936 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 17:44:06,939.939 INFO    ] Checking for system updates...
[2026-10-20 17:44:06,977.977 INFO    ] 200
[2026-10-20 17:44:06,980.980 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:44:07,032.032 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:44:07,035.035 INFO    ] No update needed
[2026-10-20 17:44:07,037.037 INFO    ] Checking for camera pi updates...
[2026-10-20 17:44:07,074.074 INFO    ] 200
[2026-10-20 17:44:07,076.076 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:44:07,116.116 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:44:07,164.164 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:44:07,166.166 INFO    ] No camera update needed
[2026-10-20 17:44:07,168.168 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:44:07,171.171 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:44:07,176.176 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:44:07,181.181 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:44:09,223.223 INFO    ] ================================================
[2026-10-20 17:44:09,238.238 INFO    ] Launching Daemon at Tue Oct 20 17:44:09 IST 2026
[2026-10-20 17:44:09,249.249 INFO    ] ================================================
[2026-10-20 17:44:09,830.830 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:44:09
[2026-10-20 17:44:10,433.433 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:44:10,694.694 INFO    ] Initializing speech engine...
[2026-10-20 17:44:10,719.719 INFO    ] 2026-10-20 17:44:10
[2026-10-20 17:44:10,990.990 INFO    ] 2026-10-20 17:44:10
[2026-10-20 17:44:11,027.027 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:44:11,259.259 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:44:11,314.314 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:44:11,478.478 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:44:11,521.521 INFO    ] time= 20/10/2026 17:44:11
[2026-10-20 17:44:11,581.581 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:44:11,628.628 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:44:11,756.756 INFO    ] No existing commands found in stream
[2026-10-20 17:44:16,771.771 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:44:16,774.774 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-10-20 17:44:17,353.353 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:44:17,356.356 INFO    ] Checking for system updates...
[2026-10-20 17:44:17,391.391 INFO    ] 200
[2026-10-20 17:44:17,393.393 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:44:17,451.451 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:44:17,453.453 INFO    ] No update needed
[2026-10-20 17:44:17,456.456 INFO    ] Checking for camera pi updates...
[2026-10-20 17:44:17,492.492 INFO    ] 200
[2026-10-20 17:44:17,494.494 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:44:17,534.534 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:44:17,577.577 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:44:17,580.580 INFO    ] No camera update needed
[2026-10-20 17:44:17,582.582 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:44:17,584.584 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:44:17,590.590 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:44:17,595.595 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:44:19,634.634 INFO    ] ================================================
[2026-10-20 17:44:19,649.649 INFO    ] Launching Daemon at Tue Oct 20 17:44:19 IST 2026
[2026-10-20 17:44:19,660.660 INFO    ] ================================================
[2026-10-20 17:44:20,240.240 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:44:20
[2026-10-20 17:44:20,898.898 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:44:21,198.198 INFO    ] Initializing speech engine...
[2026-10-20 17:44:21,206.206 INFO    ] 2026-10-20 17:44:21
[2026-10-20 17:44:21,474.474 INFO    ] 2026-10-20 17:44:21
[2026-10-20 17:44:21,509.509 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:44:21,767.767 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:44:21,772.772 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:44:21,964.964 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:44:22,034.034 INFO    ] time= 20/10/2026 17:44:21
[2026-10-20 17:44:22,046.046 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:44:22,068.068 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:44:22,233.233 INFO    ] No existing commands found in stream
[2026-10-20 17:44:27,264.264 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:44:27,267.267 INFO    ] Waiting 3.82 seconds before fallback handling...
[2026-10-20 17:44:31,670.670 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:44:31,673.673 INFO    ] Checking for system updates...
[2026-10-20 17:44:31,711.711 INFO    ] 200
[2026-10-20 17:44:31,715.715 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:44:31,777.777 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:44:31,780.780 INFO    ] No update needed
[2026-10-20 17:44:31,783.783 INFO    ] Checking for camera pi updates...
[2026-10-20 17:44:31,825.825 INFO    ] 200
[2026-10-20 17:44:31,829.829 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:44:31,873.873 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:44:31,912.912 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:44:31,916.916 INFO    ] No camera update needed
[2026-10-20 17:44:31,919.919 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:44:31,922.922 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:44:31,929.929 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:44:31,936.936 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:44:33,977.977 INFO    ] ================================================
[2026-10-20 17:44:33,992.992 INFO    ] Launching Daemon at Tue Oct 20 17:44:33 IST 2026
[2026-10-20 17:44:34,003.003 INFO    ] ================================================
[2026-10-20 17:44:34,571.571 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:44:34
[2026-10-20 17:44:35,158.158 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:44:35,421.421 INFO    ] Initializing speech engine...
[2026-10-20 17:44:35,433.433 INFO    ] 2026-10-20 17:44:35
[2026-10-20 17:44:35,700.700 INFO    ] 2026-10-20 17:44:35
[2026-10-20 17:44:35,735.735 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:44:35,936.936 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:44:35,992.992 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:44:36,144.144 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:44:36,209.209 INFO    ] time= 20/10/2026 17:44:36
[2026-10-20 17:44:36,269.269 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:44:36,274.274 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:44:36,419.419 INFO    ] No existing commands found in stream
[2026-10-20 17:44:41,433.433 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:44:41,436.436 INFO    ] Waiting 1.60 seconds before fallback handling...
[2026-10-20 17:44:43,544.544 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:44:43,547.547 INFO    ] Checking for system updates...
[2026-10-20 17:44:43,587.587 INFO    ] 200
[2026-10-20 17:44:43,590.590 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:44:43,650.650 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:44:43,653.653 INFO    ] No update needed
[2026-10-20 17:44:43,655.655 INFO    ] Checking for camera pi updates...
[2026-10-20 17:44:43,690.690 INFO    ] 200
[2026-10-20 17:44:43,692.692 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:44:43,738.738 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:44:43,793.793 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:44:43,796.796 INFO    ] No camera update needed
[2026-10-20 17:44:43,798.798 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:44:43,801.801 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:44:43,807.807 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:44:43,812.812 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:44:45,857.857 INFO    ] ================================================
[2026-10-20 17:44:45,872.872 INFO    ] Launching Daemon at Tue Oct 20 17:44:45 IST 2026
[2026-10-20 17:44:45,883.883 INFO    ] ================================================
[2026-10-20 17:44:46,450.450 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:44:46
[2026-10-20 17:44:47,036.036 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:44:47,306.306 INFO    ] Initializing speech engine...
[2026-10-20 17:44:47,322.322 INFO    ] 2026-10-20 17:44:47
[2026-10-20 17:44:47,593.593 INFO    ] 2026-10-20 17:44:47
[2026-10-20 17:44:47,630.630 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:44:47,824.824 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:44:47,837.837 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:44:47,997.997 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:44:48,006.006 INFO    ] time= 20/10/2026 17:44:48
[2026-10-20 17:44:48,013.013 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:44:48,034.034 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:44:48,170.170 INFO    ] No existing commands found in stream
[2026-10-20 17:44:53,194.194 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:44:53,197.197 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-10-20 17:44:56,789.789 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:44:56,792.792 INFO    ] Checking for system updates...
[2026-10-20 17:44:56,828.828 INFO    ] 200
[2026-10-20 17:44:56,831.831 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:44:56,890.890 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:44:56,892.892 INFO    ] No update needed
[2026-10-20 17:44:56,895.895 INFO    ] Checking for camera pi updates...
[2026-10-20 17:44:56,931.931 INFO    ] 200
[2026-10-20 17:44:56,934.934 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:44:56,978.978 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:44:57,026.026 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:44:57,029.029 INFO    ] No camera update needed
[2026-10-20 17:44:57,031.031 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:44:57,033.033 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:44:57,039.039 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:44:57,044.044 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:44:59,084.084 INFO    ] ================================================
[2026-10-20 17:44:59,099.099 INFO    ] Launching Daemon at Tue Oct 20 17:44:59 IST 2026
[2026-10-20 17:44:59,110.110 INFO    ] ================================================
[2026-10-20 17:44:59,683.683 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:44:59
[2026-10-20 17:45:00,275.275 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:45:00,535.535 INFO    ] Initializing speech engine...
[2026-10-20 17:45:00,547.547 INFO    ] 2026-10-20 17:45:00
[2026-10-20 17:45:00,816.816 INFO    ] 2026-10-20 17:45:00
[2026-10-20 17:45:00,851.851 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:45:01,110.110 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:45:01,114.114 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:45:01,284.284 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:45:01,288.288 INFO    ] time= 20/10/2026 17:45:01
[2026-10-20 17:45:01,337.337 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:45:01,342.342 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:45:01,468.468 INFO    ] No existing commands found in stream
[2026-10-20 17:45:06,483.483 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:45:06,485.485 INFO    ] Waiting 2.04 seconds before fallback handling...
[2026-10-20 17:45:09,086.086 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:45:09,089.089 INFO    ] Checking for system updates...
[2026-10-20 17:45:09,125.125 INFO    ] 200
[2026-10-20 17:45:09,128.128 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:45:09,181.181 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:45:09,184.184 INFO    ] No update needed
[2026-10-20 17:45:09,187.187 INFO    ] Checking for camera pi updates...
[2026-10-20 17:45:09,221.221 INFO    ] 200
[2026-10-20 17:45:09,224.224 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:45:09,264.264 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:45:09,310.310 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:45:09,313.313 INFO    ] No camera update needed
[2026-10-20 17:45:09,315.315 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:45:09,317.317 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:45:09,323.323 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:45:09,327.327 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:45:11,367.367 INFO    ] ================================================
[2026-10-20 17:45:11,382.382 INFO    ] Launching Daemon at Tue Oct 20 17:45:11 IST 2026
[2026-10-20 17:45:11,393.393 INFO    ] ================================================
[2026-10-20 17:45:11,961.961 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:45:11
[2026-10-20 17:45:12,559.559 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:45:12,812.812 INFO    ] Initializing speech engine...
[2026-10-20 17:45:12,820.820 INFO    ] 2026-10-20 17:45:12
[2026-10-20 17:45:13,114.114 INFO    ] 2026-10-20 17:45:13
[2026-10-20 17:45:13,149.149 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:45:13,354.354 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:45:13,370.370 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:45:13,521.521 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:45:13,527.527 INFO    ] time= 20/10/2026 17:45:13
[2026-10-20 17:45:13,534.534 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:45:13,555.555 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:45:13,687.687 INFO    ] No existing commands found in stream
[2026-10-20 17:45:18,716.716 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:45:18,719.719 INFO    ] Waiting 0.48 seconds before fallback handling...
[2026-10-20 17:45:19,731.731 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:45:19,734.734 INFO    ] Checking for system updates...
[2026-10-20 17:45:19,769.769 INFO    ] 200
[2026-10-20 17:45:19,771.771 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:45:19,823.823 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:45:19,826.826 INFO    ] No update needed
[2026-10-20 17:45:19,828.828 INFO    ] Checking for camera pi updates...
[2026-10-20 17:45:19,862.862 INFO    ] 200
[2026-10-20 17:45:19,864.864 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:45:19,904.904 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:45:19,950.950 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:45:19,953.953 INFO    ] No camera update needed
[2026-10-20 17:45:19,955.955 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:45:19,957.957 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:45:19,963.963 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:45:19,968.968 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:45:22,007.007 INFO    ] ================================================
[2026-10-20 17:45:22,022.022 INFO    ] Launching Daemon at Tue Oct 20 17:45:22 IST 2026
[2026-10-20 17:45:22,034.034 INFO    ] ================================================
[2026-10-20 17:45:22,600.600 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:45:22
[2026-10-20 17:45:23,183.183 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:45:23,453.453 INFO    ] Initializing speech engine...
[2026-10-20 17:45:23,473.473 INFO    ] 2026-10-20 17:45:23
[2026-10-20 17:45:23,739.739 INFO    ] 2026-10-20 17:45:23
[2026-10-20 17:45:23,775.775 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:45:23,995.995 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:45:24,010.010 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:45:24,216.216 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:45:24,233.233 INFO    ] time= 20/10/2026 17:45:24
[2026-10-20 17:45:24,293.293 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:45:24,357.357 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:45:24,496.496 INFO    ] No existing commands found in stream
[2026-10-20 17:45:29,523.523 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:45:29,526.526 INFO    ] Waiting 2.14 seconds before fallback handling...
[2026-10-20 17:45:32,166.166 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 17:45:32,169.169 INFO    ] Checking for system updates...
[2026-10-20 17:45:32,210.210 INFO    ] 200
[2026-10-20 17:45:32,212.212 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:45:32,269.269 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:45:32,271.271 INFO    ] No update needed
[2026-10-20 17:45:32,274.274 INFO    ] Checking for camera pi updates...
[2026-10-20 17:45:32,310.310 INFO    ] 200
[2026-10-20 17:45:32,313.313 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:45:32,364.364 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:45:32,398.398 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:45:32,400.400 INFO    ] No camera update needed
[2026-10-20 17:45:32,403.403 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:45:32,405.405 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:45:32,410.410 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:45:32,415.415 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:45:34,456.456 INFO    ] ================================================
[2026-10-20 17:45:34,471.471 INFO    ] Launching Daemon at Tue Oct 20 17:45:34 IST 2026
[2026-10-20 17:45:34,482.482 INFO    ] ================================================
[2026-10-20 17:45:35,062.062 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:45:35
[2026-10-20 17:45:35,662.662 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:45:35,936.936 INFO    ] Initializing speech engine...
[2026-10-20 17:45:35,945.945 INFO    ] 2026-10-20 17:45:35
[2026-10-20 17:45:36,207.207 INFO    ] 2026-10-20 17:45:36
[2026-10-20 17:45:36,242.242 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:45:36,489.489 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:45:36,499.499 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:45:36,637.637 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:45:36,701.701 INFO    ] time= 20/10/2026 17:45:36
[2026-10-20 17:45:36,756.756 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:45:36,771.771 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:45:36,907.907 INFO    ] No existing commands found in stream
[2026-10-20 17:45:41,930.930 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:45:41,932.932 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-10-20 17:45:44,183.183 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:45:44,185.185 INFO    ] Checking for system updates...
[2026-10-20 17:45:44,220.220 INFO    ] 200
[2026-10-20 17:45:44,223.223 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:45:44,278.278 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:45:44,281.281 INFO    ] No update needed
[2026-10-20 17:45:44,284.284 INFO    ] Checking for camera pi updates...
[2026-10-20 17:45:44,317.317 INFO    ] 200
[2026-10-20 17:45:44,320.320 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:45:44,360.360 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:45:44,508.508 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:45:44,510.510 INFO    ] No camera update needed
[2026-10-20 17:45:44,513.513 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:45:44,515.515 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:45:44,520.520 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:45:44,525.525 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:45:46,565.565 INFO    ] ================================================
[2026-10-20 17:45:46,580.580 INFO    ] Launching Daemon at Tue Oct 20 17:45:46 IST 2026
[2026-10-20 17:45:46,590.590 INFO    ] ================================================
[2026-10-20 17:45:47,171.171 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:45:47
[2026-10-20 17:45:47,769.769 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:45:48,041.041 INFO    ] Initializing speech engine...
[2026-10-20 17:45:48,050.050 INFO    ] 2026-10-20 17:45:48
[2026-10-20 17:45:48,312.312 INFO    ] 2026-10-20 17:45:48
[2026-10-20 17:45:48,343.343 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:45:48,588.588 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:45:48,598.598 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:45:48,816.816 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:45:48,854.854 INFO    ] time= 20/10/2026 17:45:48
[2026-10-20 17:45:48,860.860 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:45:48,881.881 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:45:49,009.009 INFO    ] No existing commands found in stream
[2026-10-20 17:45:54,032.032 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:45:54,035.035 INFO    ] Waiting 3.97 seconds before fallback handling...
[2026-10-20 17:45:58,552.552 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:45:58,555.555 INFO    ] Checking for system updates...
[2026-10-20 17:45:58,592.592 INFO    ] 200
[2026-10-20 17:45:58,595.595 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:45:58,646.646 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:45:58,649.649 INFO    ] No update needed
[2026-10-20 17:45:58,651.651 INFO    ] Checking for camera pi updates...
[2026-10-20 17:45:58,685.685 INFO    ] 200
[2026-10-20 17:45:58,687.687 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:45:58,728.728 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:45:58,782.782 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:45:58,784.784 INFO    ] No camera update needed
[2026-10-20 17:45:58,787.787 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:45:58,789.789 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:45:58,794.794 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:45:58,799.799 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:46:00,840.840 INFO    ] ================================================
[2026-10-20 17:46:00,855.855 INFO    ] Launching Daemon at Tue Oct 20 17:46:00 IST 2026
[2026-10-20 17:46:00,866.866 INFO    ] ================================================
[2026-10-20 17:46:01,437.437 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:46:01
[2026-10-20 17:46:02,166.166 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:46:02,471.471 INFO    ] Initializing speech engine...
[2026-10-20 17:46:02,498.498 INFO    ] 2026-10-20 17:46:02
[2026-10-20 17:46:02,808.808 INFO    ] 2026-10-20 17:46:02
[2026-10-20 17:46:02,852.852 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:46:03,058.058 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:46:03,062.062 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:46:03,203.203 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:46:03,206.206 INFO    ] time= 20/10/2026 17:46:03
[2026-10-20 17:46:03,208.208 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:46:03,243.243 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:46:03,400.400 INFO    ] No existing commands found in stream
[2026-10-20 17:46:08,426.426 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:46:08,429.429 INFO    ] Waiting 2.21 seconds before fallback handling...
[2026-10-20 17:46:11,144.144 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:46:11,146.146 INFO    ] Checking for system updates...
[2026-10-20 17:46:11,182.182 INFO    ] 200
[2026-10-20 17:46:11,184.184 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:46:11,236.236 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:46:11,238.238 INFO    ] No update needed
[2026-10-20 17:46:11,241.241 INFO    ] Checking for camera pi updates...
[2026-10-20 17:46:11,274.274 INFO    ] 200
[2026-10-20 17:46:11,277.277 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:46:11,317.317 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:46:11,350.350 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:46:11,353.353 INFO    ] No camera update needed
[2026-10-20 17:46:11,355.355 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:46:11,357.357 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:46:11,363.363 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:46:11,368.368 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:46:13,407.407 INFO    ] ================================================
[2026-10-20 17:46:13,422.422 INFO    ] Launching Daemon at Tue Oct 20 17:46:13 IST 2026
[2026-10-20 17:46:13,432.432 INFO    ] ================================================
[2026-10-20 17:46:14,016.016 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:46:14
[2026-10-20 17:46:14,603.603 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:46:14,859.859 INFO    ] Initializing speech engine...
[2026-10-20 17:46:14,867.867 INFO    ] 2026-10-20 17:46:14
[2026-10-20 17:46:15,155.155 INFO    ] 2026-10-20 17:46:15
[2026-10-20 17:46:15,192.192 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:46:15,384.384 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:46:15,397.397 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:46:15,554.554 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:46:15,563.563 INFO    ] time= 20/10/2026 17:46:15
[2026-10-20 17:46:15,572.572 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:46:15,607.607 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:46:15,749.749 INFO    ] No existing commands found in stream
[2026-10-20 17:46:20,774.774 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:46:20,776.776 INFO    ] Waiting 3.24 seconds before fallback handling...
[2026-10-20 17:46:24,499.499 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:46:24,502.502 INFO    ] Checking for system updates...
[2026-10-20 17:46:24,537.537 INFO    ] 200
[2026-10-20 17:46:24,539.539 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:46:24,592.592 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:46:24,595.595 INFO    ] No update needed
[2026-10-20 17:46:24,597.597 INFO    ] Checking for camera pi updates...
[2026-10-20 17:46:24,632.632 INFO    ] 200
[2026-10-20 17:46:24,635.635 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:46:24,678.678 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:46:24,727.727 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:46:24,730.730 INFO    ] No camera update needed
[2026-10-20 17:46:24,732.732 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:46:24,734.734 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:46:24,740.740 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:46:24,745.745 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:46:26,784.784 INFO    ] ================================================
[2026-10-20 17:46:26,799.799 INFO    ] Launching Daemon at Tue Oct 20 17:46:26 IST 2026
[2026-10-20 17:46:26,809.809 INFO    ] ================================================
[2026-10-20 17:46:27,389.389 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:46:27
[2026-10-20 17:46:27,988.988 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:46:28,261.261 INFO    ] Initializing speech engine...
[2026-10-20 17:46:28,277.277 INFO    ] 2026-10-20 17:46:28
[2026-10-20 17:46:28,548.548 INFO    ] 2026-10-20 17:46:28
[2026-10-20 17:46:28,587.587 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:46:28,813.813 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:46:28,873.873 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:46:29,027.027 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:46:29,070.070 INFO    ] time= 20/10/2026 17:46:29
[2026-10-20 17:46:29,134.134 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:46:29,176.176 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:46:29,307.307 INFO    ] No existing commands found in stream
[2026-10-20 17:46:34,338.338 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:46:34,341.341 INFO    ] Waiting 3.37 seconds before fallback handling...
[2026-10-20 17:46:38,233.233 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 17:46:38,236.236 INFO    ] Checking for system updates...
[2026-10-20 17:46:38,272.272 INFO    ] 200
[2026-10-20 17:46:38,274.274 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:46:38,326.326 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:46:38,328.328 INFO    ] No update needed
[2026-10-20 17:46:38,331.331 INFO    ] Checking for camera pi updates...
[2026-10-20 17:46:38,364.364 INFO    ] 200
[2026-10-20 17:46:38,367.367 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:46:38,414.414 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:46:38,460.460 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:46:38,462.462 INFO    ] No camera update needed
[2026-10-20 17:46:38,464.464 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:46:38,467.467 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:46:38,472.472 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:46:38,477.477 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:46:40,517.517 INFO    ] ================================================
[2026-10-20 17:46:40,533.533 INFO    ] Launching Daemon at Tue Oct 20 17:46:40 IST 2026
[2026-10-20 17:46:40,543.543 INFO    ] ================================================
[2026-10-20 17:46:41,196.196 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:46:41
[2026-10-20 17:46:41,863.863 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:46:42,157.157 INFO    ] Initializing speech engine...
[2026-10-20 17:46:42,168.168 INFO    ] 2026-10-20 17:46:42
[2026-10-20 17:46:42,444.444 INFO    ] 2026-10-20 17:46:42
[2026-10-20 17:46:42,503.503 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:46:42,737.737 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:46:42,742.742 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:46:42,962.962 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:46:43,006.006 INFO    ] time= 20/10/2026 17:46:42
[2026-10-20 17:46:43,012.012 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:46:43,034.034 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:46:43,167.167 INFO    ] No existing commands found in stream
[2026-10-20 17:46:48,196.196 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:46:48,199.199 INFO    ] Waiting 0.42 seconds before fallback handling...
[2026-10-20 17:46:49,141.141 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:46:49,143.143 INFO    ] Checking for system updates...
[2026-10-20 17:46:49,180.180 INFO    ] 200
[2026-10-20 17:46:49,182.182 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:46:49,235.235 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:46:49,238.238 INFO    ] No update needed
[2026-10-20 17:46:49,241.241 INFO    ] Checking for camera pi updates...
[2026-10-20 17:46:49,274.274 INFO    ] 200
[2026-10-20 17:46:49,277.277 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:46:49,317.317 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:46:49,374.374 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:46:49,377.377 INFO    ] No camera update needed
[2026-10-20 17:46:49,379.379 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:46:49,382.382 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:46:49,388.388 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:46:49,393.393 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:46:51,433.433 INFO    ] ================================================
[2026-10-20 17:46:51,448.448 INFO    ] Launching Daemon at Tue Oct 20 17:46:51 IST 2026
[2026-10-20 17:46:51,459.459 INFO    ] ================================================
[2026-10-20 17:46:52,038.038 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:46:52
[2026-10-20 17:46:52,634.634 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:46:52,893.893 INFO    ] Initializing speech engine...
[2026-10-20 17:46:52,909.909 INFO    ] 2026-10-20 17:46:52
[2026-10-20 17:46:53,190.190 INFO    ] 2026-10-20 17:46:53
[2026-10-20 17:46:53,227.227 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:46:53,444.444 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:46:53,451.451 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:46:53,667.667 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:46:53,679.679 INFO    ] time= 20/10/2026 17:46:53
[2026-10-20 17:46:53,749.749 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:46:53,803.803 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:46:53,962.962 INFO    ] No existing commands found in stream
[2026-10-20 17:46:58,987.987 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:46:58,990.990 INFO    ] Waiting 0.64 seconds before fallback handling...
[2026-10-20 17:47:00,160.160 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 17:47:00,163.163 INFO    ] Checking for system updates...
[2026-10-20 17:47:00,199.199 INFO    ] 200
[2026-10-20 17:47:00,201.201 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:47:00,253.253 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:47:00,256.256 INFO    ] No update needed
[2026-10-20 17:47:00,258.258 INFO    ] Checking for camera pi updates...
[2026-10-20 17:47:00,291.291 INFO    ] 200
[2026-10-20 17:47:00,294.294 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:47:00,338.338 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:47:00,390.390 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:47:00,392.392 INFO    ] No camera update needed
[2026-10-20 17:47:00,394.394 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:47:00,397.397 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:47:00,402.402 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:47:00,407.407 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:47:02,450.450 INFO    ] ================================================
[2026-10-20 17:47:02,468.468 INFO    ] Launching Daemon at Tue Oct 20 17:47:02 IST 2026
[2026-10-20 17:47:02,480.480 INFO    ] ================================================
[2026-10-20 17:47:03,117.117 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:47:03
[2026-10-20 17:47:03,831.831 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:47:04,115.115 INFO    ] Initializing speech engine...
[2026-10-20 17:47:04,124.124 INFO    ] 2026-10-20 17:47:04
[2026-10-20 17:47:04,386.386 INFO    ] 2026-10-20 17:47:04
[2026-10-20 17:47:04,420.420 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:47:04,671.671 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:47:04,676.676 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:47:04,876.876 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:47:04,934.934 INFO    ] time= 20/10/2026 17:47:04
[2026-10-20 17:47:04,940.940 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:47:04,955.955 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:47:05,091.091 INFO    ] No existing commands found in stream
[2026-10-20 17:47:10,113.113 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:47:10,115.115 INFO    ] Waiting 3.81 seconds before fallback handling...
[2026-10-20 17:47:14,430.430 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:47:14,433.433 INFO    ] Checking for system updates...
[2026-10-20 17:47:14,469.469 INFO    ] 200
[2026-10-20 17:47:14,472.472 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:47:14,523.523 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:47:14,526.526 INFO    ] No update needed
[2026-10-20 17:47:14,528.528 INFO    ] Checking for camera pi updates...
[2026-10-20 17:47:14,564.564 INFO    ] 200
[2026-10-20 17:47:14,567.567 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:47:14,606.606 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:47:14,666.666 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:47:14,669.669 INFO    ] No camera update needed
[2026-10-20 17:47:14,671.671 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:47:14,673.673 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:47:14,679.679 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:47:14,684.684 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:47:16,722.722 INFO    ] ================================================
[2026-10-20 17:47:16,737.737 INFO    ] Launching Daemon at Tue Oct 20 17:47:16 IST 2026
[2026-10-20 17:47:16,747.747 INFO    ] ================================================
[2026-10-20 17:47:17,399.399 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:47:17
[2026-10-20 17:47:18,043.043 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:47:18,294.294 INFO    ] Initializing speech engine...
[2026-10-20 17:47:18,309.309 INFO    ] 2026-10-20 17:47:18
[2026-10-20 17:47:18,592.592 INFO    ] 2026-10-20 17:47:18
[2026-10-20 17:47:18,636.636 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:47:18,891.891 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:47:18,902.902 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:47:19,132.132 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:47:19,169.169 INFO    ] time= 20/10/2026 17:47:19
[2026-10-20 17:47:19,175.175 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:47:19,195.195 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:47:19,332.332 INFO    ] No existing commands found in stream
[2026-10-20 17:47:24,360.360 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:47:24,364.364 INFO    ] Waiting 1.69 seconds before fallback handling...
[2026-10-20 17:47:26,570.570 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:47:26,573.573 INFO    ] Checking for system updates...
[2026-10-20 17:47:26,615.615 INFO    ] 200
[2026-10-20 17:47:26,618.618 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:47:26,697.697 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:47:26,701.701 INFO    ] No update needed
[2026-10-20 17:47:26,704.704 INFO    ] Checking for camera pi updates...
[2026-10-20 17:47:26,761.761 INFO    ] 200
[2026-10-20 17:47:26,764.764 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:47:26,804.804 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:47:26,857.857 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:47:26,860.860 INFO    ] No camera update needed
[2026-10-20 17:47:26,863.863 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:47:26,866.866 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:47:26,872.872 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:47:26,878.878 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:47:28,918.918 INFO    ] ================================================
[2026-10-20 17:47:28,933.933 INFO    ] Launching Daemon at Tue Oct 20 17:47:28 IST 2026
[2026-10-20 17:47:28,944.944 INFO    ] ================================================
[2026-10-20 17:47:29,511.511 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:47:29
[2026-10-20 17:47:30,093.093 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:47:30,350.350 INFO    ] Initializing speech engine...
[2026-10-20 17:47:30,369.369 INFO    ] 2026-10-20 17:47:30
[2026-10-20 17:47:30,616.616 INFO    ] 2026-10-20 17:47:30
[2026-10-20 17:47:30,652.652 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:47:30,921.921 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:47:30,931.931 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:47:31,082.082 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:47:31,127.127 INFO    ] time= 20/10/2026 17:47:31
[2026-10-20 17:47:31,182.182 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:47:31,230.230 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:47:31,361.361 INFO    ] No existing commands found in stream
[2026-10-20 17:47:36,378.378 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:47:36,381.381 INFO    ] Waiting 1.57 seconds before fallback handling...
[2026-10-20 17:47:38,448.448 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:47:38,451.451 INFO    ] Checking for system updates...
[2026-10-20 17:47:38,490.490 INFO    ] 200
[2026-10-20 17:47:38,492.492 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:47:38,545.545 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:47:38,548.548 INFO    ] No update needed
[2026-10-20 17:47:38,550.550 INFO    ] Checking for camera pi updates...
[2026-10-20 17:47:38,586.586 INFO    ] 200
[2026-10-20 17:47:38,589.589 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:47:38,628.628 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:47:38,662.662 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:47:38,664.664 INFO    ] No camera update needed
[2026-10-20 17:47:38,667.667 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:47:38,669.669 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:47:38,674.674 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:47:38,679.679 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:47:40,719.719 INFO    ] ================================================
[2026-10-20 17:47:40,734.734 INFO    ] Launching Daemon at Tue Oct 20 17:47:40 IST 2026
[2026-10-20 17:47:40,745.745 INFO    ] ================================================
[2026-10-20 17:47:41,389.389 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:47:41
[2026-10-20 17:47:42,049.049 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:47:42,353.353 INFO    ] Initializing speech engine...
[2026-10-20 17:47:42,367.367 INFO    ] 2026-10-20 17:47:42
[2026-10-20 17:47:42,649.649 INFO    ] 2026-10-20 17:47:42
[2026-10-20 17:47:42,694.694 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:47:42,947.947 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:47:42,954.954 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:47:43,191.191 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:47:43,199.199 INFO    ] time= 20/10/2026 17:47:43
[2026-10-20 17:47:43,215.215 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:47:43,247.247 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:47:43,371.371 INFO    ] No existing commands found in stream
[2026-10-20 17:47:48,402.402 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:47:48,405.405 INFO    ] Waiting 2.99 seconds before fallback handling...
[2026-10-20 17:47:51,911.911 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:47:51,914.914 INFO    ] Checking for system updates...
[2026-10-20 17:47:51,951.951 INFO    ] 200
[2026-10-20 17:47:51,954.954 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:47:52,007.007 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:47:52,010.010 INFO    ] No update needed
[2026-10-20 17:47:52,012.012 INFO    ] Checking for camera pi updates...
[2026-10-20 17:47:52,050.050 INFO    ] 200
[2026-10-20 17:47:52,053.053 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:47:52,095.095 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:47:52,240.240 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:47:52,243.243 INFO    ] No camera update needed
[2026-10-20 17:47:52,245.245 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:47:52,248.248 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:47:52,254.254 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:47:52,260.260 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:47:54,302.302 INFO    ] ================================================
[2026-10-20 17:47:54,317.317 INFO    ] Launching Daemon at Tue Oct 20 17:47:54 IST 2026
[2026-10-20 17:47:54,328.328 INFO    ] ================================================
[2026-10-20 17:47:54,971.971 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:47:54
[2026-10-20 17:47:55,635.635 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:47:55,943.943 INFO    ] Initializing speech engine...
[2026-10-20 17:47:55,953.953 INFO    ] 2026-10-20 17:47:55
[2026-10-20 17:47:56,236.236 INFO    ] 2026-10-20 17:47:56
[2026-10-20 17:47:56,283.283 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:47:56,578.578 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:47:56,586.586 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:47:56,783.783 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:47:56,805.805 INFO    ] time= 20/10/2026 17:47:56
[2026-10-20 17:47:56,833.833 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:47:56,841.841 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:47:56,962.962 INFO    ] No existing commands found in stream
[2026-10-20 17:48:01,993.993 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:48:01,999.999 INFO    ] Waiting 3.94 seconds before fallback handling...
[2026-10-20 17:48:06,506.506 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 17:48:06,510.510 INFO    ] Checking for system updates...
[2026-10-20 17:48:06,548.548 INFO    ] 200
[2026-10-20 17:48:06,551.551 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:48:06,605.605 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:48:06,608.608 INFO    ] No update needed
[2026-10-20 17:48:06,611.611 INFO    ] Checking for camera pi updates...
[2026-10-20 17:48:06,649.649 INFO    ] 200
[2026-10-20 17:48:06,652.652 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:48:06,693.693 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:48:06,728.728 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:48:06,731.731 INFO    ] No camera update needed
[2026-10-20 17:48:06,734.734 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:48:06,736.736 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:48:06,743.743 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:48:06,749.749 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:48:08,790.790 INFO    ] ================================================
[2026-10-20 17:48:08,805.805 INFO    ] Launching Daemon at Tue Oct 20 17:48:08 IST 2026
[2026-10-20 17:48:08,816.816 INFO    ] ================================================
[2026-10-20 17:48:09,400.400 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:48:09
[2026-10-20 17:48:10,001.001 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:48:10,256.256 INFO    ] Initializing speech engine...
[2026-10-20 17:48:10,279.279 INFO    ] 2026-10-20 17:48:10
[2026-10-20 17:48:10,537.537 INFO    ] 2026-10-20 17:48:10
[2026-10-20 17:48:10,576.576 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:48:10,778.778 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:48:10,830.830 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:48:10,977.977 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:48:11,037.037 INFO    ] time= 20/10/2026 17:48:10
[2026-10-20 17:48:11,096.096 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:48:11,107.107 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:48:11,231.231 INFO    ] No existing commands found in stream
[2026-10-20 17:48:16,259.259 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:48:16,262.262 INFO    ] Waiting 3.92 seconds before fallback handling...
[2026-10-20 17:48:20,656.656 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:48:20,659.659 INFO    ] Checking for system updates...
[2026-10-20 17:48:20,694.694 INFO    ] 200
[2026-10-20 17:48:20,696.696 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:48:20,748.748 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:48:20,751.751 INFO    ] No update needed
[2026-10-20 17:48:20,753.753 INFO    ] Checking for camera pi updates...
[2026-10-20 17:48:20,791.791 INFO    ] 200
[2026-10-20 17:48:20,793.793 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:48:20,833.833 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:48:20,882.882 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:48:20,884.884 INFO    ] No camera update needed
[2026-10-20 17:48:20,887.887 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:48:20,889.889 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:48:20,895.895 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:48:20,900.900 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:48:22,940.940 INFO    ] ================================================
[2026-10-20 17:48:22,955.955 INFO    ] Launching Daemon at Tue Oct 20 17:48:22 IST 2026
[2026-10-20 17:48:22,966.966 INFO    ] ================================================
[2026-10-20 17:48:23,545.545 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:48:23
[2026-10-20 17:48:24,143.143 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:48:24,416.416 INFO    ] Initializing speech engine...
[2026-10-20 17:48:24,425.425 INFO    ] 2026-10-20 17:48:24
[2026-10-20 17:48:24,689.689 INFO    ] 2026-10-20 17:48:24
[2026-10-20 17:48:24,724.724 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:48:24,944.944 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:48:24,963.963 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:48:25,170.170 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:48:25,177.177 INFO    ] time= 20/10/2026 17:48:25
[2026-10-20 17:48:25,231.231 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:48:25,286.286 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:48:25,376.376 INFO    ] No existing commands found in stream
[2026-10-20 17:48:30,388.388 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:48:30,391.391 INFO    ] Waiting 0.92 seconds before fallback handling...
[2026-10-20 17:48:31,836.836 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:48:31,839.839 INFO    ] Checking for system updates...
[2026-10-20 17:48:31,879.879 INFO    ] 200
[2026-10-20 17:48:31,885.885 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:48:31,954.954 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:48:31,958.958 INFO    ] No update needed
[2026-10-20 17:48:31,961.961 INFO    ] Checking for camera pi updates...
[2026-10-20 17:48:31,998.998 INFO    ] 200
[2026-10-20 17:48:32,001.001 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:48:32,044.044 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:48:32,081.081 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:48:32,083.083 INFO    ] No camera update needed
[2026-10-20 17:48:32,086.086 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:48:32,088.088 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:48:32,094.094 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:48:32,100.100 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:48:34,140.140 INFO    ] ================================================
[2026-10-20 17:48:34,155.155 INFO    ] Launching Daemon at Tue Oct 20 17:48:34 IST 2026
[2026-10-20 17:48:34,166.166 INFO    ] ================================================
[2026-10-20 17:48:34,737.737 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:48:34
[2026-10-20 17:48:35,319.319 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:48:35,575.575 INFO    ] Initializing speech engine...
[2026-10-20 17:48:35,598.598 INFO    ] 2026-10-20 17:48:35
[2026-10-20 17:48:35,854.854 INFO    ] 2026-10-20 17:48:35
[2026-10-20 17:48:35,889.889 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:48:36,088.088 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:48:36,100.100 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:48:36,292.292 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:48:36,315.315 INFO    ] time= 20/10/2026 17:48:36
[2026-10-20 17:48:36,369.369 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:48:36,413.413 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:48:36,569.569 INFO    ] No existing commands found in stream
[2026-10-20 17:48:41,595.595 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:48:41,598.598 INFO    ] Waiting 0.15 seconds before fallback handling...
[2026-10-20 17:48:42,257.257 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:48:42,260.260 INFO    ] Checking for system updates...
[2026-10-20 17:48:42,295.295 INFO    ] 200
[2026-10-20 17:48:42,298.298 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:48:42,351.351 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:48:42,353.353 INFO    ] No update needed
[2026-10-20 17:48:42,355.355 INFO    ] Checking for camera pi updates...
[2026-10-20 17:48:42,389.389 INFO    ] 200
[2026-10-20 17:48:42,391.391 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:48:42,431.431 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:48:42,479.479 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:48:42,482.482 INFO    ] No camera update needed
[2026-10-20 17:48:42,484.484 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:48:42,486.486 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:48:42,492.492 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:48:42,496.496 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:48:44,537.537 INFO    ] ================================================
[2026-10-20 17:48:44,552.552 INFO    ] Launching Daemon at Tue Oct 20 17:48:44 IST 2026
[2026-10-20 17:48:44,564.564 INFO    ] ================================================
[2026-10-20 17:48:45,149.149 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:48:45
[2026-10-20 17:48:45,750.750 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:48:46,060.060 INFO    ] Initializing speech engine...
[2026-10-20 17:48:46,070.070 INFO    ] 2026-10-20 17:48:46
[2026-10-20 17:48:46,331.331 INFO    ] 2026-10-20 17:48:46
[2026-10-20 17:48:46,363.363 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:48:46,630.630 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:48:46,640.640 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:48:46,879.879 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:48:46,915.915 INFO    ] time= 20/10/2026 17:48:46
[2026-10-20 17:48:46,934.934 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:48:46,944.944 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:48:47,090.090 INFO    ] No existing commands found in stream
[2026-10-20 17:48:52,112.112 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:48:52,114.114 INFO    ] Waiting 1.55 seconds before fallback handling...
[2026-10-20 17:48:54,178.178 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:48:54,181.181 INFO    ] Checking for system updates...
[2026-10-20 17:48:54,216.216 INFO    ] 200
[2026-10-20 17:48:54,218.218 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:48:54,271.271 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:48:54,274.274 INFO    ] No update needed
[2026-10-20 17:48:54,276.276 INFO    ] Checking for camera pi updates...
[2026-10-20 17:48:54,311.311 INFO    ] 200
[2026-10-20 17:48:54,313.313 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:48:54,360.360 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:48:54,413.413 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:48:54,415.415 INFO    ] No camera update needed
[2026-10-20 17:48:54,417.417 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:48:54,420.420 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:48:54,425.425 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:48:54,430.430 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:48:56,470.470 INFO    ] ================================================
[2026-10-20 17:48:56,485.485 INFO    ] Launching Daemon at Tue Oct 20 17:48:56 IST 2026
[2026-10-20 17:48:56,496.496 INFO    ] ================================================
[2026-10-20 17:48:57,066.066 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:48:57
[2026-10-20 17:48:57,653.653 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:48:57,899.899 INFO    ] Initializing speech engine...
[2026-10-20 17:48:57,908.908 INFO    ] 2026-10-20 17:48:57
[2026-10-20 17:48:58,182.182 INFO    ] 2026-10-20 17:48:58
[2026-10-20 17:48:58,218.218 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:48:58,480.480 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:48:58,484.484 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:48:58,701.701 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:48:58,747.747 INFO    ] time= 20/10/2026 17:48:58
[2026-10-20 17:48:58,754.754 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:48:58,772.772 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:48:58,907.907 INFO    ] No existing commands found in stream
[2026-10-20 17:49:03,925.925 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:49:03,928.928 INFO    ] Waiting 2.39 seconds before fallback handling...
[2026-10-20 17:49:06,842.842 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:49:06,845.845 INFO    ] Checking for system updates...
[2026-10-20 17:49:06,880.880 INFO    ] 200
[2026-10-20 17:49:06,883.883 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:49:06,941.941 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:49:06,943.943 INFO    ] No update needed
[2026-10-20 17:49:06,945.945 INFO    ] Checking for camera pi updates...
[2026-10-20 17:49:06,979.979 INFO    ] 200
[2026-10-20 17:49:06,981.981 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:49:07,021.021 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:49:07,064.064 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:49:07,066.066 INFO    ] No camera update needed
[2026-10-20 17:49:07,068.068 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:49:07,071.071 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:49:07,076.076 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:49:07,081.081 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:49:09,122.122 INFO    ] ================================================
[2026-10-20 17:49:09,137.137 INFO    ] Launching Daemon at Tue Oct 20 17:49:09 IST 2026
[2026-10-20 17:49:09,148.148 INFO    ] ================================================
[2026-10-20 17:49:09,787.787 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:49:09
[2026-10-20 17:49:10,447.447 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:49:10,746.746 INFO    ] Initializing speech engine...
[2026-10-20 17:49:10,755.755 INFO    ] 2026-10-20 17:49:10
[2026-10-20 17:49:11,025.025 INFO    ] 2026-10-20 17:49:11
[2026-10-20 17:49:11,080.080 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:49:11,334.334 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:49:11,352.352 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:49:11,555.555 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:49:11,573.573 INFO    ] time= 20/10/2026 17:49:11
[2026-10-20 17:49:11,597.597 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:49:11,626.626 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:49:11,748.748 INFO    ] No existing commands found in stream
[2026-10-20 17:49:16,779.779 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:49:16,782.782 INFO    ] Waiting 3.29 seconds before fallback handling...
[2026-10-20 17:49:20,588.588 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 17:49:20,591.591 INFO    ] Checking for system updates...
[2026-10-20 17:49:20,627.627 INFO    ] 200
[2026-10-20 17:49:20,630.630 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:49:20,683.683 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:49:20,686.686 INFO    ] No update needed
[2026-10-20 17:49:20,688.688 INFO    ] Checking for camera pi updates...
[2026-10-20 17:49:20,722.722 INFO    ] 200
[2026-10-20 17:49:20,725.725 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:49:20,766.766 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:49:20,815.815 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:49:20,818.818 INFO    ] No camera update needed
[2026-10-20 17:49:20,821.821 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:49:20,823.823 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:49:20,829.829 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:49:20,835.835 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:49:22,875.875 INFO    ] ================================================
[2026-10-20 17:49:22,890.890 INFO    ] Launching Daemon at Tue Oct 20 17:49:22 IST 2026
[2026-10-20 17:49:22,901.901 INFO    ] ================================================
[2026-10-20 17:49:23,543.543 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:49:23
[2026-10-20 17:49:24,200.200 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:49:24,499.499 INFO    ] Initializing speech engine...
[2026-10-20 17:49:24,508.508 INFO    ] 2026-10-20 17:49:24
[2026-10-20 17:49:24,781.781 INFO    ] 2026-10-20 17:49:24
[2026-10-20 17:49:24,836.836 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:49:25,070.070 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:49:25,076.076 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:49:25,310.310 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:49:25,341.341 INFO    ] time= 20/10/2026 17:49:25
[2026-10-20 17:49:25,358.358 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:49:25,367.367 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:49:25,483.483 INFO    ] No existing commands found in stream
[2026-10-20 17:49:30,509.509 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:49:30,512.512 INFO    ] Waiting 0.29 seconds before fallback handling...
[2026-10-20 17:49:31,330.330 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 17:49:31,333.333 INFO    ] Checking for system updates...
[2026-10-20 17:49:31,373.373 INFO    ] 200
[2026-10-20 17:49:31,376.376 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:49:31,431.431 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:49:31,434.434 INFO    ] No update needed
[2026-10-20 17:49:31,436.436 INFO    ] Checking for camera pi updates...
[2026-10-20 17:49:31,470.470 INFO    ] 200
[2026-10-20 17:49:31,473.473 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:49:31,514.514 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:49:31,572.572 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:49:31,575.575 INFO    ] No camera update needed
[2026-10-20 17:49:31,578.578 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:49:31,581.581 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:49:31,587.587 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:49:31,592.592 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:49:33,635.635 INFO    ] ================================================
[2026-10-20 17:49:33,650.650 INFO    ] Launching Daemon at Tue Oct 20 17:49:33 IST 2026
[2026-10-20 17:49:33,660.660 INFO    ] ================================================
[2026-10-20 17:49:34,302.302 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:49:34
[2026-10-20 17:49:34,963.963 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:49:35,263.263 INFO    ] Initializing speech engine...
[2026-10-20 17:49:35,272.272 INFO    ] 2026-10-20 17:49:35
[2026-10-20 17:49:35,546.546 INFO    ] 2026-10-20 17:49:35
[2026-10-20 17:49:35,603.603 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:49:35,834.834 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:49:35,842.842 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:49:36,068.068 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:49:36,105.105 INFO    ] time= 20/10/2026 17:49:36
[2026-10-20 17:49:36,124.124 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:49:36,134.134 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:49:36,294.294 INFO    ] No existing commands found in stream
[2026-10-20 17:49:41,324.324 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:49:41,328.328 INFO    ] Waiting 3.84 seconds before fallback handling...
[2026-10-20 17:49:45,651.651 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 17:49:45,654.654 INFO    ] Checking for system updates...
[2026-10-20 17:49:45,698.698 INFO    ] 200
[2026-10-20 17:49:45,701.701 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:49:45,754.754 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:49:45,757.757 INFO    ] No update needed
[2026-10-20 17:49:45,760.760 INFO    ] Checking for camera pi updates...
[2026-10-20 17:49:45,797.797 INFO    ] 200
[2026-10-20 17:49:45,800.800 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:49:45,841.841 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:49:45,892.892 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:49:45,895.895 INFO    ] No camera update needed
[2026-10-20 17:49:45,898.898 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:49:45,900.900 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:49:45,906.906 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:49:45,912.912 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:49:47,955.955 INFO    ] ================================================
[2026-10-20 17:49:47,970.970 INFO    ] Launching Daemon at Tue Oct 20 17:49:47 IST 2026
[2026-10-20 17:49:47,980.980 INFO    ] ================================================
[2026-10-20 17:49:48,548.548 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:49:48
[2026-10-20 17:49:49,186.186 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:49:49,485.485 INFO    ] Initializing speech engine...
[2026-10-20 17:49:49,491.491 INFO    ] 2026-10-20 17:49:49
[2026-10-20 17:49:49,765.765 INFO    ] 2026-10-20 17:49:49
[2026-10-20 17:49:49,821.821 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:49:50,050.050 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:49:50,060.060 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:49:50,277.277 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:49:50,324.324 INFO    ] time= 20/10/2026 17:49:50
[2026-10-20 17:49:50,331.331 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:49:50,350.350 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:49:50,486.486 INFO    ] No existing commands found in stream
[2026-10-20 17:49:55,511.511 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:49:55,514.514 INFO    ] Waiting 3.53 seconds before fallback handling...
[2026-10-20 17:49:59,557.557 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:49:59,560.560 INFO    ] Checking for system updates...
[2026-10-20 17:49:59,601.601 INFO    ] 200
[2026-10-20 17:49:59,603.603 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:49:59,655.655 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:49:59,658.658 INFO    ] No update needed
[2026-10-20 17:49:59,660.660 INFO    ] Checking for camera pi updates...
[2026-10-20 17:49:59,694.694 INFO    ] 200
[2026-10-20 17:49:59,696.696 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:49:59,736.736 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:49:59,882.882 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:49:59,884.884 INFO    ] No camera update needed
[2026-10-20 17:49:59,886.886 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:49:59,889.889 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:49:59,895.895 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:49:59,900.900 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:50:01,962.962 INFO    ] ================================================
[2026-10-20 17:50:02,004.004 INFO    ] Launching Daemon at Tue Oct 20 17:50:01 IST 2026
[2026-10-20 17:50:02,081.081 INFO    ] ================================================
[2026-10-20 17:50:02,986.986 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:50:02
[2026-10-20 17:50:03,784.784 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:50:04,126.126 INFO    ] Initializing speech engine...
[2026-10-20 17:50:04,136.136 INFO    ] 2026-10-20 17:50:04
[2026-10-20 17:50:04,419.419 INFO    ] 2026-10-20 17:50:04
[2026-10-20 17:50:04,466.466 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:50:04,757.757 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:50:04,763.763 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:50:04,960.960 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:50:04,971.971 INFO    ] time= 20/10/2026 17:50:04
[2026-10-20 17:50:04,989.989 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:50:05,012.012 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:50:05,131.131 INFO    ] No existing commands found in stream
[2026-10-20 17:50:10,166.166 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:50:10,169.169 INFO    ] Waiting 1.22 seconds before fallback handling...
[2026-10-20 17:50:11,932.932 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 17:50:11,935.935 INFO    ] Checking for system updates...
[2026-10-20 17:50:11,972.972 INFO    ] 200
[2026-10-20 17:50:11,974.974 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:50:12,041.041 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:50:12,043.043 INFO    ] No update needed
[2026-10-20 17:50:12,046.046 INFO    ] Checking for camera pi updates...
[2026-10-20 17:50:12,082.082 INFO    ] 200
[2026-10-20 17:50:12,085.085 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:50:12,126.126 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:50:12,176.176 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:50:12,179.179 INFO    ] No camera update needed
[2026-10-20 17:50:12,181.181 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:50:12,184.184 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:50:12,189.189 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:50:12,194.194 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:50:14,239.239 INFO    ] ================================================
[2026-10-20 17:50:14,254.254 INFO    ] Launching Daemon at Tue Oct 20 17:50:14 IST 2026
[2026-10-20 17:50:14,265.265 INFO    ] ================================================
[2026-10-20 17:50:14,839.839 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:50:14
[2026-10-20 17:50:15,422.422 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:50:15,674.674 INFO    ] Initializing speech engine...
[2026-10-20 17:50:15,684.684 INFO    ] 2026-10-20 17:50:15
[2026-10-20 17:50:15,974.974 INFO    ] 2026-10-20 17:50:15
[2026-10-20 17:50:16,011.011 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:50:16,227.227 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:50:16,235.235 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:50:16,449.449 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:50:16,459.459 INFO    ] time= 20/10/2026 17:50:16
[2026-10-20 17:50:16,488.488 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:50:16,548.548 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:50:16,658.658 INFO    ] No existing commands found in stream
[2026-10-20 17:50:21,670.670 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:50:21,673.673 INFO    ] Waiting 2.16 seconds before fallback handling...
[2026-10-20 17:50:24,304.304 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 17:50:24,306.306 INFO    ] Checking for system updates...
[2026-10-20 17:50:24,346.346 INFO    ] 200
[2026-10-20 17:50:24,349.349 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:50:24,400.400 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:50:24,403.403 INFO    ] No update needed
[2026-10-20 17:50:24,405.405 INFO    ] Checking for camera pi updates...
[2026-10-20 17:50:24,438.438 INFO    ] 200
[2026-10-20 17:50:24,441.441 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:50:24,481.481 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:50:24,523.523 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:50:24,526.526 INFO    ] No camera update needed
[2026-10-20 17:50:24,528.528 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:50:24,530.530 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:50:24,536.536 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:50:24,541.541 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:50:26,580.580 INFO    ] ================================================
[2026-10-20 17:50:26,595.595 INFO    ] Launching Daemon at Tue Oct 20 17:50:26 IST 2026
[2026-10-20 17:50:26,605.605 INFO    ] ================================================
[2026-10-20 17:50:27,237.237 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:50:27
[2026-10-20 17:50:27,906.906 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:50:28,207.207 INFO    ] Initializing speech engine...
[2026-10-20 17:50:28,214.214 INFO    ] 2026-10-20 17:50:28
[2026-10-20 17:50:28,486.486 INFO    ] 2026-10-20 17:50:28
[2026-10-20 17:50:28,544.544 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:50:28,771.771 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:50:28,776.776 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:50:28,978.978 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:50:29,034.034 INFO    ] time= 20/10/2026 17:50:28
[2026-10-20 17:50:29,042.042 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:50:29,061.061 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:50:29,214.214 INFO    ] No existing commands found in stream
[2026-10-20 17:50:34,245.245 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:50:34,248.248 INFO    ] Waiting 2.44 seconds before fallback handling...
[2026-10-20 17:50:37,237.237 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:50:37,240.240 INFO    ] Checking for system updates...
[2026-10-20 17:50:37,279.279 INFO    ] 200
[2026-10-20 17:50:37,282.282 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:50:37,333.333 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:50:37,336.336 INFO    ] No update needed
[2026-10-20 17:50:37,338.338 INFO    ] Checking for camera pi updates...
[2026-10-20 17:50:37,372.372 INFO    ] 200
[2026-10-20 17:50:37,374.374 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:50:37,414.414 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:50:37,464.464 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:50:37,466.466 INFO    ] No camera update needed
[2026-10-20 17:50:37,468.468 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:50:37,470.470 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:50:37,476.476 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:50:37,481.481 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:50:39,520.520 INFO    ] ================================================
[2026-10-20 17:50:39,535.535 INFO    ] Launching Daemon at Tue Oct 20 17:50:39 IST 2026
[2026-10-20 17:50:39,546.546 INFO    ] ================================================
[2026-10-20 17:50:40,196.196 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:50:40
[2026-10-20 17:50:40,865.865 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:50:41,171.171 INFO    ] Initializing speech engine...
[2026-10-20 17:50:41,179.179 INFO    ] 2026-10-20 17:50:41
[2026-10-20 17:50:41,449.449 INFO    ] 2026-10-20 17:50:41
[2026-10-20 17:50:41,506.506 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:50:41,744.744 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:50:41,751.751 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:50:41,993.993 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:50:42,018.018 INFO    ] time= 20/10/2026 17:50:41
[2026-10-20 17:50:42,036.036 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:50:42,046.046 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:50:42,199.199 INFO    ] No existing commands found in stream
[2026-10-20 17:50:47,240.240 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:50:47,243.243 INFO    ] Waiting 1.82 seconds before fallback handling...
[2026-10-20 17:50:49,620.620 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 17:50:49,623.623 INFO    ] Checking for system updates...
[2026-10-20 17:50:49,659.659 INFO    ] 200
[2026-10-20 17:50:49,661.661 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:50:49,713.713 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:50:49,716.716 INFO    ] No update needed
[2026-10-20 17:50:49,718.718 INFO    ] Checking for camera pi updates...
[2026-10-20 17:50:49,751.751 INFO    ] 200
[2026-10-20 17:50:49,754.754 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:50:49,794.794 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:50:49,851.851 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:50:49,853.853 INFO    ] No camera update needed
[2026-10-20 17:50:49,856.856 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:50:49,858.858 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:50:49,863.863 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:50:49,868.868 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:50:51,907.907 INFO    ] ================================================
[2026-10-20 17:50:51,922.922 INFO    ] Launching Daemon at Tue Oct 20 17:50:51 IST 2026
[2026-10-20 17:50:51,933.933 INFO    ] ================================================
[2026-10-20 17:50:52,500.500 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:50:52
[2026-10-20 17:50:53,083.083 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:50:53,330.330 INFO    ] Initializing speech engine...
[2026-10-20 17:50:53,345.345 INFO    ] 2026-10-20 17:50:53
[2026-10-20 17:50:53,609.609 INFO    ] 2026-10-20 17:50:53
[2026-10-20 17:50:53,644.644 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:50:53,843.843 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:50:53,850.850 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:50:54,045.045 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:50:54,093.093 INFO    ] time= 20/10/2026 17:50:54
[2026-10-20 17:50:54,152.152 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:50:54,182.182 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:50:54,338.338 INFO    ] No existing commands found in stream
[2026-10-20 17:50:59,361.361 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:50:59,364.364 INFO    ] Waiting 0.47 seconds before fallback handling...
[2026-10-20 17:51:00,326.326 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:51:00,329.329 INFO    ] Checking for system updates...
[2026-10-20 17:51:00,368.368 INFO    ] 200
[2026-10-20 17:51:00,370.370 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:51:00,422.422 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:51:00,425.425 INFO    ] No update needed
[2026-10-20 17:51:00,427.427 INFO    ] Checking for camera pi updates...
[2026-10-20 17:51:00,461.461 INFO    ] 200
[2026-10-20 17:51:00,464.464 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:51:00,509.509 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:51:00,564.564 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:51:00,566.566 INFO    ] No camera update needed
[2026-10-20 17:51:00,568.568 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:51:00,571.571 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:51:00,576.576 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:51:00,581.581 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:51:02,625.625 INFO    ] ================================================
[2026-10-20 17:51:02,641.641 INFO    ] Launching Daemon at Tue Oct 20 17:51:02 IST 2026
[2026-10-20 17:51:02,653.653 INFO    ] ================================================
[2026-10-20 17:51:03,293.293 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:51:03
[2026-10-20 17:51:03,878.878 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:51:04,132.132 INFO    ] Initializing speech engine...
[2026-10-20 17:51:04,139.139 INFO    ] 2026-10-20 17:51:04
[2026-10-20 17:51:04,436.436 INFO    ] 2026-10-20 17:51:04
[2026-10-20 17:51:04,470.470 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:51:04,671.671 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:51:04,685.685 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:51:04,845.845 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:51:04,854.854 INFO    ] time= 20/10/2026 17:51:04
[2026-10-20 17:51:04,859.859 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:51:04,865.865 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:51:04,973.973 INFO    ] No existing commands found in stream
[2026-10-20 17:51:10,008.008 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:51:10,011.011 INFO    ] Waiting 0.76 seconds before fallback handling...
[2026-10-20 17:51:11,287.287 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:51:11,290.290 INFO    ] Checking for system updates...
[2026-10-20 17:51:11,325.325 INFO    ] 200
[2026-10-20 17:51:11,327.327 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:51:11,380.380 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:51:11,382.382 INFO    ] No update needed
[2026-10-20 17:51:11,385.385 INFO    ] Checking for camera pi updates...
[2026-10-20 17:51:11,422.422 INFO    ] 200
[2026-10-20 17:51:11,425.425 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:51:11,470.470 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:51:11,523.523 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:51:11,526.526 INFO    ] No camera update needed
[2026-10-20 17:51:11,528.528 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:51:11,531.531 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:51:11,537.537 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:51:11,543.543 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:51:13,584.584 INFO    ] ================================================
[2026-10-20 17:51:13,600.600 INFO    ] Launching Daemon at Tue Oct 20 17:51:13 IST 2026
[2026-10-20 17:51:13,611.611 INFO    ] ================================================
[2026-10-20 17:51:14,186.186 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:51:14
[2026-10-20 17:51:14,770.770 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:51:15,029.029 INFO    ] Initializing speech engine...
[2026-10-20 17:51:15,054.054 INFO    ] 2026-10-20 17:51:15
[2026-10-20 17:51:15,324.324 INFO    ] 2026-10-20 17:51:15
[2026-10-20 17:51:15,359.359 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:51:15,588.588 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:51:15,643.643 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:51:15,812.812 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:51:15,819.819 INFO    ] time= 20/10/2026 17:51:15
[2026-10-20 17:51:15,873.873 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:51:15,907.907 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:51:16,019.019 INFO    ] No existing commands found in stream
[2026-10-20 17:51:21,031.031 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:51:21,034.034 INFO    ] Waiting 1.76 seconds before fallback handling...
[2026-10-20 17:51:23,314.314 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 17:51:23,316.316 INFO    ] Checking for system updates...
[2026-10-20 17:51:23,352.352 INFO    ] 200
[2026-10-20 17:51:23,355.355 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:51:23,410.410 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:51:23,413.413 INFO    ] No update needed
[2026-10-20 17:51:23,415.415 INFO    ] Checking for camera pi updates...
[2026-10-20 17:51:23,449.449 INFO    ] 200
[2026-10-20 17:51:23,451.451 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:51:23,500.500 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:51:23,542.542 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:51:23,544.544 INFO    ] No camera update needed
[2026-10-20 17:51:23,547.547 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:51:23,549.549 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:51:23,554.554 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:51:23,559.559 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:51:25,599.599 INFO    ] ================================================
[2026-10-20 17:51:25,614.614 INFO    ] Launching Daemon at Tue Oct 20 17:51:25 IST 2026
[2026-10-20 17:51:25,625.625 INFO    ] ================================================
[2026-10-20 17:51:26,274.274 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:51:26
[2026-10-20 17:51:26,940.940 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:51:27,245.245 INFO    ] Initializing speech engine...
[2026-10-20 17:51:27,255.255 INFO    ] 2026-10-20 17:51:27
[2026-10-20 17:51:27,533.533 INFO    ] 2026-10-20 17:51:27
[2026-10-20 17:51:27,576.576 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:51:27,858.858 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:51:27,867.867 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:51:28,060.060 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:51:28,081.081 INFO    ] time= 20/10/2026 17:51:28
[2026-10-20 17:51:28,111.111 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:51:28,119.119 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:51:28,271.271 INFO    ] No existing commands found in stream
[2026-10-20 17:51:33,302.302 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:51:33,305.305 INFO    ] Waiting 2.20 seconds before fallback handling...
[2026-10-20 17:51:36,017.017 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:51:36,020.020 INFO    ] Checking for system updates...
[2026-10-20 17:51:36,056.056 INFO    ] 200
[2026-10-20 17:51:36,059.059 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:51:36,112.112 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:51:36,115.115 INFO    ] No update needed
[2026-10-20 17:51:36,117.117 INFO    ] Checking for camera pi updates...
[2026-10-20 17:51:36,156.156 INFO    ] 200
[2026-10-20 17:51:36,159.159 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:51:36,201.201 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:51:36,251.251 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:51:36,254.254 INFO    ] No camera update needed
[2026-10-20 17:51:36,257.257 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:51:36,259.259 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:51:36,265.265 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:51:36,271.271 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:51:38,312.312 INFO    ] ================================================
[2026-10-20 17:51:38,327.327 INFO    ] Launching Daemon at Tue Oct 20 17:51:38 IST 2026
[2026-10-20 17:51:38,339.339 INFO    ] ================================================
[2026-10-20 17:51:38,909.909 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:51:38
[2026-10-20 17:51:39,500.500 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:51:39,755.755 INFO    ] Initializing speech engine...
[2026-10-20 17:51:39,761.761 INFO    ] 2026-10-20 17:51:39
[2026-10-20 17:51:40,059.059 INFO    ] 2026-10-20 17:51:40
[2026-10-20 17:51:40,093.093 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:51:40,306.306 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:51:40,323.323 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:51:40,475.475 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:51:40,484.484 INFO    ] time= 20/10/2026 17:51:40
[2026-10-20 17:51:40,489.489 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:51:40,518.518 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:51:40,664.664 INFO    ] No existing commands found in stream
[2026-10-20 17:51:45,690.690 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:51:45,693.693 INFO    ] Waiting 0.15 seconds before fallback handling...
[2026-10-20 17:51:46,404.404 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:51:46,406.406 INFO    ] Checking for system updates...
[2026-10-20 17:51:46,443.443 INFO    ] 200
[2026-10-20 17:51:46,445.445 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:51:46,497.497 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:51:46,499.499 INFO    ] No update needed
[2026-10-20 17:51:46,502.502 INFO    ] Checking for camera pi updates...
[2026-10-20 17:51:46,535.535 INFO    ] 200
[2026-10-20 17:51:46,538.538 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:51:46,577.577 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:51:46,623.623 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:51:46,626.626 INFO    ] No camera update needed
[2026-10-20 17:51:46,628.628 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:51:46,631.631 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:51:46,637.637 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:51:46,642.642 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:51:48,682.682 INFO    ] ================================================
[2026-10-20 17:51:48,698.698 INFO    ] Launching Daemon at Tue Oct 20 17:51:48 IST 2026
[2026-10-20 17:51:48,708.708 INFO    ] ================================================
[2026-10-20 17:51:49,375.375 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:51:49
[2026-10-20 17:51:50,059.059 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:51:50,368.368 INFO    ] Initializing speech engine...
[2026-10-20 17:51:50,375.375 INFO    ] 2026-10-20 17:51:50
[2026-10-20 17:51:50,649.649 INFO    ] 2026-10-20 17:51:50
[2026-10-20 17:51:50,703.703 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:51:50,988.988 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:51:50,996.996 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:51:51,191.191 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:51:51,199.199 INFO    ] time= 20/10/2026 17:51:51
[2026-10-20 17:51:51,218.218 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:51:51,247.247 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:51:51,373.373 INFO    ] No existing commands found in stream
[2026-10-20 17:51:56,401.401 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:51:56,404.404 INFO    ] Waiting 0.15 seconds before fallback handling...
[2026-10-20 17:51:57,096.096 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:51:57,100.100 INFO    ] Checking for system updates...
[2026-10-20 17:51:57,140.140 INFO    ] 200
[2026-10-20 17:51:57,143.143 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:51:57,194.194 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:51:57,197.197 INFO    ] No update needed
[2026-10-20 17:51:57,199.199 INFO    ] Checking for camera pi updates...
[2026-10-20 17:51:57,232.232 INFO    ] 200
[2026-10-20 17:51:57,234.234 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:51:57,274.274 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:51:57,338.338 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:51:57,341.341 INFO    ] No camera update needed
[2026-10-20 17:51:57,344.344 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:51:57,347.347 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:51:57,353.353 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:51:57,360.360 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:51:59,404.404 INFO    ] ================================================
[2026-10-20 17:51:59,421.421 INFO    ] Launching Daemon at Tue Oct 20 17:51:59 IST 2026
[2026-10-20 17:51:59,433.433 INFO    ] ================================================
[2026-10-20 17:52:00,044.044 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:52:00
[2026-10-20 17:52:00,667.667 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:52:00,958.958 INFO    ] Initializing speech engine...
[2026-10-20 17:52:00,967.967 INFO    ] 2026-10-20 17:52:00
[2026-10-20 17:52:01,241.241 INFO    ] 2026-10-20 17:52:01
[2026-10-20 17:52:01,277.277 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:52:01,508.508 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:52:01,522.522 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:52:01,716.716 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:52:01,736.736 INFO    ] time= 20/10/2026 17:52:01
[2026-10-20 17:52:01,742.742 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:52:01,807.807 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:52:01,916.916 INFO    ] No existing commands found in stream
[2026-10-20 17:52:06,928.928 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:52:06,931.931 INFO    ] Waiting 0.70 seconds before fallback handling...
[2026-10-20 17:52:08,141.141 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:52:08,144.144 INFO    ] Checking for system updates...
[2026-10-20 17:52:08,180.180 INFO    ] 200
[2026-10-20 17:52:08,183.183 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:52:08,234.234 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:52:08,237.237 INFO    ] No update needed
[2026-10-20 17:52:08,239.239 INFO    ] Checking for camera pi updates...
[2026-10-20 17:52:08,276.276 INFO    ] 200
[2026-10-20 17:52:08,279.279 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:52:08,328.328 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:52:08,383.383 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:52:08,385.385 INFO    ] No camera update needed
[2026-10-20 17:52:08,387.387 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:52:08,390.390 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:52:08,395.395 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:52:08,401.401 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:52:10,440.440 INFO    ] ================================================
[2026-10-20 17:52:10,456.456 INFO    ] Launching Daemon at Tue Oct 20 17:52:10 IST 2026
[2026-10-20 17:52:10,467.467 INFO    ] ================================================
[2026-10-20 17:52:11,033.033 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:52:11
[2026-10-20 17:52:11,617.617 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:52:11,879.879 INFO    ] Initializing speech engine...
[2026-10-20 17:52:11,900.900 INFO    ] 2026-10-20 17:52:11
[2026-10-20 17:52:12,176.176 INFO    ] 2026-10-20 17:52:12
[2026-10-20 17:52:12,212.212 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:52:12,415.415 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:52:12,429.429 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:52:12,588.588 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:52:12,598.598 INFO    ] time= 20/10/2026 17:52:12
[2026-10-20 17:52:12,604.604 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:52:12,611.611 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:52:12,726.726 INFO    ] No existing commands found in stream
[2026-10-20 17:52:17,751.751 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:52:17,758.758 INFO    ] Waiting 1.42 seconds before fallback handling...
[2026-10-20 17:52:19,687.687 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:52:19,690.690 INFO    ] Checking for system updates...
[2026-10-20 17:52:19,725.725 INFO    ] 200
[2026-10-20 17:52:19,727.727 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:52:19,780.780 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:52:19,782.782 INFO    ] No update needed
[2026-10-20 17:52:19,784.784 INFO    ] Checking for camera pi updates...
[2026-10-20 17:52:19,819.819 INFO    ] 200
[2026-10-20 17:52:19,822.822 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:52:19,862.862 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:52:19,896.896 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:52:19,899.899 INFO    ] No camera update needed
[2026-10-20 17:52:19,901.901 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:52:19,904.904 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:52:19,910.910 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:52:19,916.916 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:52:21,957.957 INFO    ] ================================================
[2026-10-20 17:52:21,972.972 INFO    ] Launching Daemon at Tue Oct 20 17:52:21 IST 2026
[2026-10-20 17:52:21,983.983 INFO    ] ================================================
[2026-10-20 17:52:22,633.633 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:52:22
[2026-10-20 17:52:23,300.300 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:52:23,633.633 INFO    ] Initializing speech engine...
[2026-10-20 17:52:23,641.641 INFO    ] 2026-10-20 17:52:23
[2026-10-20 17:52:23,922.922 INFO    ] 2026-10-20 17:52:23
[2026-10-20 17:52:24,032.032 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:52:24,241.241 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:52:24,249.249 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:52:24,445.445 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:52:24,462.462 INFO    ] time= 20/10/2026 17:52:24
[2026-10-20 17:52:24,473.473 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:52:24,501.501 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:52:24,625.625 INFO    ] No existing commands found in stream
[2026-10-20 17:52:29,661.661 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:52:29,664.664 INFO    ] Waiting 0.57 seconds before fallback handling...
[2026-10-20 17:52:30,758.758 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:52:30,761.761 INFO    ] Checking for system updates...
[2026-10-20 17:52:30,801.801 INFO    ] 200
[2026-10-20 17:52:30,804.804 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:52:30,857.857 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:52:30,860.860 INFO    ] No update needed
[2026-10-20 17:52:30,863.863 INFO    ] Checking for camera pi updates...
[2026-10-20 17:52:30,901.901 INFO    ] 200
[2026-10-20 17:52:30,904.904 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:52:30,945.945 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:52:31,001.001 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:52:31,004.004 INFO    ] No camera update needed
[2026-10-20 17:52:31,007.007 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:52:31,009.009 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:52:31,016.016 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:52:31,021.021 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:52:33,063.063 INFO    ] ================================================
[2026-10-20 17:52:33,080.080 INFO    ] Launching Daemon at Tue Oct 20 17:52:33 IST 2026
[2026-10-20 17:52:33,090.090 INFO    ] ================================================
[2026-10-20 17:52:33,701.701 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:52:33
[2026-10-20 17:52:34,288.288 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:52:34,543.543 INFO    ] Initializing speech engine...
[2026-10-20 17:52:34,552.552 INFO    ] 2026-10-20 17:52:34
[2026-10-20 17:52:34,847.847 INFO    ] 2026-10-20 17:52:34
[2026-10-20 17:52:34,889.889 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:52:35,110.110 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:52:35,138.138 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:52:35,340.340 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:52:35,356.356 INFO    ] time= 20/10/2026 17:52:35
[2026-10-20 17:52:35,416.416 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:52:35,465.465 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:52:35,555.555 INFO    ] No existing commands found in stream
[2026-10-20 17:52:40,567.567 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:52:40,576.576 INFO    ] Waiting 2.04 seconds before fallback handling...
[2026-10-20 17:52:43,104.104 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:52:43,107.107 INFO    ] Checking for system updates...
[2026-10-20 17:52:43,144.144 INFO    ] 200
[2026-10-20 17:52:43,147.147 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:52:43,204.204 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:52:43,207.207 INFO    ] No update needed
[2026-10-20 17:52:43,210.210 INFO    ] Checking for camera pi updates...
[2026-10-20 17:52:43,244.244 INFO    ] 200
[2026-10-20 17:52:43,246.246 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:52:43,292.292 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:52:43,350.350 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:52:43,353.353 INFO    ] No camera update needed
[2026-10-20 17:52:43,356.356 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:52:43,360.360 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:52:43,367.367 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:52:43,373.373 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:52:45,417.417 INFO    ] ================================================
[2026-10-20 17:52:45,433.433 INFO    ] Launching Daemon at Tue Oct 20 17:52:45 IST 2026
[2026-10-20 17:52:45,444.444 INFO    ] ================================================
[2026-10-20 17:52:46,037.037 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:52:46
[2026-10-20 17:52:46,650.650 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:52:46,920.920 INFO    ] Initializing speech engine...
[2026-10-20 17:52:46,937.937 INFO    ] 2026-10-20 17:52:46
[2026-10-20 17:52:47,201.201 INFO    ] 2026-10-20 17:52:47
[2026-10-20 17:52:47,238.238 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:52:47,419.419 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:52:47,431.431 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:52:47,579.579 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:52:47,589.589 INFO    ] time= 20/10/2026 17:52:47
[2026-10-20 17:52:47,595.595 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:52:47,643.643 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:52:47,792.792 INFO    ] No existing commands found in stream
[2026-10-20 17:52:52,803.803 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:52:52,806.806 INFO    ] Waiting 1.63 seconds before fallback handling...
[2026-10-20 17:52:54,926.926 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:52:54,928.928 INFO    ] Checking for system updates...
[2026-10-20 17:52:54,964.964 INFO    ] 200
[2026-10-20 17:52:54,966.966 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:52:55,018.018 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:52:55,020.020 INFO    ] No update needed
[2026-10-20 17:52:55,023.023 INFO    ] Checking for camera pi updates...
[2026-10-20 17:52:55,056.056 INFO    ] 200
[2026-10-20 17:52:55,058.058 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:52:55,099.099 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:52:55,142.142 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:52:55,144.144 INFO    ] No camera update needed
[2026-10-20 17:52:55,147.147 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:52:55,149.149 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:52:55,154.154 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:52:55,159.159 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:52:57,200.200 INFO    ] ================================================
[2026-10-20 17:52:57,215.215 INFO    ] Launching Daemon at Tue Oct 20 17:52:57 IST 2026
[2026-10-20 17:52:57,226.226 INFO    ] ================================================
[2026-10-20 17:52:57,805.805 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:52:57
[2026-10-20 17:52:58,406.406 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:52:58,667.667 INFO    ] Initializing speech engine...
[2026-10-20 17:52:58,675.675 INFO    ] 2026-10-20 17:52:58
[2026-10-20 17:52:58,975.975 INFO    ] 2026-10-20 17:52:58
[2026-10-20 17:52:59,010.010 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:52:59,211.211 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:52:59,226.226 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:52:59,393.393 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:52:59,398.398 INFO    ] time= 20/10/2026 17:52:59
[2026-10-20 17:52:59,405.405 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:52:59,452.452 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:52:59,620.620 INFO    ] No existing commands found in stream
[2026-10-20 17:53:04,633.633 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:53:04,635.635 INFO    ] Waiting 0.30 seconds before fallback handling...
[2026-10-20 17:53:05,475.475 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 17:53:05,478.478 INFO    ] Checking for system updates...
[2026-10-20 17:53:05,514.514 INFO    ] 200
[2026-10-20 17:53:05,516.516 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:53:05,574.574 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:53:05,576.576 INFO    ] No update needed
[2026-10-20 17:53:05,579.579 INFO    ] Checking for camera pi updates...
[2026-10-20 17:53:05,612.612 INFO    ] 200
[2026-10-20 17:53:05,614.614 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:53:05,654.654 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:53:05,705.705 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:53:05,707.707 INFO    ] No camera update needed
[2026-10-20 17:53:05,709.709 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:53:05,712.712 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:53:05,717.717 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:53:05,722.722 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:53:07,762.762 INFO    ] ================================================
[2026-10-20 17:53:07,777.777 INFO    ] Launching Daemon at Tue Oct 20 17:53:07 IST 2026
[2026-10-20 17:53:07,787.787 INFO    ] ================================================
[2026-10-20 17:53:08,356.356 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:53:08
[2026-10-20 17:53:08,942.942 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:53:09,196.196 INFO    ] Initializing speech engine...
[2026-10-20 17:53:09,205.205 INFO    ] 2026-10-20 17:53:09
[2026-10-20 17:53:09,497.497 INFO    ] 2026-10-20 17:53:09
[2026-10-20 17:53:09,531.531 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:53:09,732.732 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:53:09,746.746 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:53:09,914.914 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:53:09,921.921 INFO    ] time= 20/10/2026 17:53:09
[2026-10-20 17:53:09,952.952 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:53:09,995.995 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:53:10,129.129 INFO    ] No existing commands found in stream
[2026-10-20 17:53:15,150.150 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:53:15,153.153 INFO    ] Waiting 1.50 seconds before fallback handling...
[2026-10-20 17:53:17,147.147 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:53:17,149.149 INFO    ] Checking for system updates...
[2026-10-20 17:53:17,184.184 INFO    ] 200
[2026-10-20 17:53:17,187.187 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:53:17,245.245 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:53:17,247.247 INFO    ] No update needed
[2026-10-20 17:53:17,250.250 INFO    ] Checking for camera pi updates...
[2026-10-20 17:53:17,285.285 INFO    ] 200
[2026-10-20 17:53:17,287.287 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:53:17,327.327 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:53:17,374.374 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:53:17,376.376 INFO    ] No camera update needed
[2026-10-20 17:53:17,378.378 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:53:17,381.381 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:53:17,386.386 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:53:17,391.391 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:53:19,431.431 INFO    ] ================================================
[2026-10-20 17:53:19,446.446 INFO    ] Launching Daemon at Tue Oct 20 17:53:19 IST 2026
[2026-10-20 17:53:19,457.457 INFO    ] ================================================
[2026-10-20 17:53:20,106.106 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:53:20
[2026-10-20 17:53:20,776.776 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:53:21,082.082 INFO    ] Initializing speech engine...
[2026-10-20 17:53:21,089.089 INFO    ] 2026-10-20 17:53:21
[2026-10-20 17:53:21,366.366 INFO    ] 2026-10-20 17:53:21
[2026-10-20 17:53:21,424.424 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:53:21,712.712 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:53:21,721.721 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:53:21,914.914 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:53:21,928.928 INFO    ] time= 20/10/2026 17:53:21
[2026-10-20 17:53:21,947.947 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:53:21,979.979 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:53:22,132.132 INFO    ] No existing commands found in stream
[2026-10-20 17:53:27,168.168 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:53:27,171.171 INFO    ] Waiting 0.13 seconds before fallback handling...
[2026-10-20 17:53:27,820.820 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:53:27,823.823 INFO    ] Checking for system updates...
[2026-10-20 17:53:27,861.861 INFO    ] 200
[2026-10-20 17:53:27,864.864 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:53:27,917.917 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:53:27,920.920 INFO    ] No update needed
[2026-10-20 17:53:27,923.923 INFO    ] Checking for camera pi updates...
[2026-10-20 17:53:27,962.962 INFO    ] 200
[2026-10-20 17:53:27,964.964 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:53:28,005.005 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:53:28,085.085 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:53:28,087.087 INFO    ] No camera update needed
[2026-10-20 17:53:28,090.090 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:53:28,093.093 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:53:28,099.099 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:53:28,105.105 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:53:30,147.147 INFO    ] ================================================
[2026-10-20 17:53:30,162.162 INFO    ] Launching Daemon at Tue Oct 20 17:53:30 IST 2026
[2026-10-20 17:53:30,174.174 INFO    ] ================================================
[2026-10-20 17:53:30,741.741 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:53:30
[2026-10-20 17:53:31,354.354 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:53:31,647.647 INFO    ] Initializing speech engine...
[2026-10-20 17:53:31,658.658 INFO    ] 2026-10-20 17:53:31
[2026-10-20 17:53:31,941.941 INFO    ] 2026-10-20 17:53:31
[2026-10-20 17:53:31,983.983 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:53:32,220.220 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:53:32,290.290 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:53:32,470.470 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:53:32,503.503 INFO    ] time= 20/10/2026 17:53:32
[2026-10-20 17:53:32,532.532 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:53:32,602.602 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:53:32,741.741 INFO    ] No existing commands found in stream
[2026-10-20 17:53:37,771.771 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:53:37,774.774 INFO    ] Waiting 1.24 seconds before fallback handling...
[2026-10-20 17:53:39,502.502 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 17:53:39,505.505 INFO    ] Checking for system updates...
[2026-10-20 17:53:39,540.540 INFO    ] 200
[2026-10-20 17:53:39,542.542 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:53:39,594.594 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:53:39,596.596 INFO    ] No update needed
[2026-10-20 17:53:39,599.599 INFO    ] Checking for camera pi updates...
[2026-10-20 17:53:39,636.636 INFO    ] 200
[2026-10-20 17:53:39,638.638 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:53:39,678.678 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:53:39,734.734 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:53:39,736.736 INFO    ] No camera update needed
[2026-10-20 17:53:39,738.738 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:53:39,741.741 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:53:39,746.746 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:53:39,751.751 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:53:41,791.791 INFO    ] ================================================
[2026-10-20 17:53:41,808.808 INFO    ] Launching Daemon at Tue Oct 20 17:53:41 IST 2026
[2026-10-20 17:53:41,819.819 INFO    ] ================================================
[2026-10-20 17:53:42,465.465 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:53:42
[2026-10-20 17:53:43,134.134 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:53:43,439.439 INFO    ] Initializing speech engine...
[2026-10-20 17:53:43,453.453 INFO    ] 2026-10-20 17:53:43
[2026-10-20 17:53:43,736.736 INFO    ] 2026-10-20 17:53:43
[2026-10-20 17:53:43,781.781 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:53:44,014.014 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:53:44,020.020 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:53:44,253.253 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:53:44,286.286 INFO    ] time= 20/10/2026 17:53:44
[2026-10-20 17:53:44,305.305 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:53:44,336.336 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:53:44,478.478 INFO    ] No existing commands found in stream
[2026-10-20 17:53:49,504.504 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:53:49,507.507 INFO    ] Waiting 0.99 seconds before fallback handling...
[2026-10-20 17:53:51,085.085 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:53:51,088.088 INFO    ] Checking for system updates...
[2026-10-20 17:53:51,124.124 INFO    ] 200
[2026-10-20 17:53:51,127.127 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:53:51,187.187 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:53:51,190.190 INFO    ] No update needed
[2026-10-20 17:53:51,193.193 INFO    ] Checking for camera pi updates...
[2026-10-20 17:53:51,231.231 INFO    ] 200
[2026-10-20 17:53:51,234.234 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:53:51,281.281 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:53:51,338.338 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:53:51,341.341 INFO    ] No camera update needed
[2026-10-20 17:53:51,344.344 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:53:51,346.346 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:53:51,353.353 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:53:51,358.358 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:53:53,399.399 INFO    ] ================================================
[2026-10-20 17:53:53,415.415 INFO    ] Launching Daemon at Tue Oct 20 17:53:53 IST 2026
[2026-10-20 17:53:53,426.426 INFO    ] ================================================
[2026-10-20 17:53:54,006.006 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:53:54
[2026-10-20 17:53:54,608.608 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:53:54,869.869 INFO    ] Initializing speech engine...
[2026-10-20 17:53:54,883.883 INFO    ] 2026-10-20 17:53:54
[2026-10-20 17:53:55,173.173 INFO    ] 2026-10-20 17:53:55
[2026-10-20 17:53:55,212.212 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:53:55,412.412 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:53:55,425.425 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:53:55,600.600 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:53:55,612.612 INFO    ] time= 20/10/2026 17:53:55
[2026-10-20 17:53:55,673.673 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:53:55,681.681 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:53:55,825.825 INFO    ] No existing commands found in stream
[2026-10-20 17:54:00,838.838 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:54:00,841.841 INFO    ] Waiting 2.84 seconds before fallback handling...
[2026-10-20 17:54:04,187.187 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 17:54:04,190.190 INFO    ] Checking for system updates...
[2026-10-20 17:54:04,225.225 INFO    ] 200
[2026-10-20 17:54:04,228.228 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:54:04,280.280 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:54:04,282.282 INFO    ] No update needed
[2026-10-20 17:54:04,284.284 INFO    ] Checking for camera pi updates...
[2026-10-20 17:54:04,318.318 INFO    ] 200
[2026-10-20 17:54:04,321.321 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:54:04,361.361 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:54:04,407.407 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:54:04,410.410 INFO    ] No camera update needed
[2026-10-20 17:54:04,412.412 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:54:04,415.415 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:54:04,420.420 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:54:04,425.425 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:54:06,465.465 INFO    ] ================================================
[2026-10-20 17:54:06,480.480 INFO    ] Launching Daemon at Tue Oct 20 17:54:06 IST 2026
[2026-10-20 17:54:06,491.491 INFO    ] ================================================
[2026-10-20 17:54:07,058.058 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:54:07
[2026-10-20 17:54:07,642.642 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:54:07,890.890 INFO    ] Initializing speech engine...
[2026-10-20 17:54:07,896.896 INFO    ] 2026-10-20 17:54:07
[2026-10-20 17:54:08,170.170 INFO    ] 2026-10-20 17:54:08
[2026-10-20 17:54:08,205.205 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:54:08,464.464 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:54:08,473.473 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:54:08,607.607 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:54:08,654.654 INFO    ] time= 20/10/2026 17:54:08
[2026-10-20 17:54:08,703.703 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:54:08,744.744 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:54:08,875.875 INFO    ] No existing commands found in stream
[2026-10-20 17:54:13,903.903 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:54:13,906.906 INFO    ] Waiting 0.11 seconds before fallback handling...
[2026-10-20 17:54:14,473.473 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 17:54:14,475.475 INFO    ] Checking for system updates...
[2026-10-20 17:54:14,510.510 INFO    ] 200
[2026-10-20 17:54:14,512.512 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:54:14,568.568 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:54:14,571.571 INFO    ] No update needed
[2026-10-20 17:54:14,573.573 INFO    ] Checking for camera pi updates...
[2026-10-20 17:54:14,607.607 INFO    ] 200
[2026-10-20 17:54:14,610.610 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:54:14,650.650 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:54:14,795.795 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:54:14,798.798 INFO    ] No camera update needed
[2026-10-20 17:54:14,801.801 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:54:14,804.804 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:54:14,810.810 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:54:14,816.816 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:54:16,858.858 INFO    ] ================================================
[2026-10-20 17:54:16,873.873 INFO    ] Launching Daemon at Tue Oct 20 17:54:16 IST 2026
[2026-10-20 17:54:16,885.885 INFO    ] ================================================
[2026-10-20 17:54:17,468.468 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:54:17
[2026-10-20 17:54:18,141.141 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:54:18,489.489 INFO    ] Initializing speech engine...
[2026-10-20 17:54:18,496.496 INFO    ] 2026-10-20 17:54:18
[2026-10-20 17:54:18,828.828 INFO    ] 2026-10-20 17:54:18
[2026-10-20 17:54:18,888.888 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:54:19,119.119 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:54:19,125.125 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:54:19,300.300 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:54:19,308.308 INFO    ] time= 20/10/2026 17:54:19
[2026-10-20 17:54:19,315.315 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:54:19,370.370 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:54:19,472.472 INFO    ] No existing commands found in stream
[2026-10-20 17:54:24,481.481 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:54:24,484.484 INFO    ] Waiting 0.69 seconds before fallback handling...
[2026-10-20 17:54:25,775.775 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 17:54:25,778.778 INFO    ] Checking for system updates...
[2026-10-20 17:54:25,817.817 INFO    ] 200
[2026-10-20 17:54:25,820.820 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:54:25,872.872 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:54:25,874.874 INFO    ] No update needed
[2026-10-20 17:54:25,877.877 INFO    ] Checking for camera pi updates...
[2026-10-20 17:54:25,910.910 INFO    ] 200
[2026-10-20 17:54:25,912.912 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:54:25,953.953 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:54:25,997.997 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:54:26,000.000 INFO    ] No camera update needed
[2026-10-20 17:54:26,003.003 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:54:26,005.005 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:54:26,011.011 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:54:26,016.016 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:54:28,057.057 INFO    ] ================================================
[2026-10-20 17:54:28,072.072 INFO    ] Launching Daemon at Tue Oct 20 17:54:28 IST 2026
[2026-10-20 17:54:28,083.083 INFO    ] ================================================
[2026-10-20 17:54:28,652.652 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:54:28
[2026-10-20 17:54:29,245.245 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:54:29,506.506 INFO    ] Initializing speech engine...
[2026-10-20 17:54:29,515.515 INFO    ] 2026-10-20 17:54:29
[2026-10-20 17:54:29,811.811 INFO    ] 2026-10-20 17:54:29
[2026-10-20 17:54:29,851.851 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:54:30,057.057 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:54:30,075.075 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:54:30,235.235 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:54:30,281.281 INFO    ] time= 20/10/2026 17:54:30
[2026-10-20 17:54:30,309.309 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:54:30,331.331 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:54:30,458.458 INFO    ] No existing commands found in stream
[2026-10-20 17:54:35,470.470 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:54:35,473.473 INFO    ] Waiting 2.93 seconds before fallback handling...
[2026-10-20 17:54:39,636.636 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 17:54:39,638.638 INFO    ] Checking for system updates...
[2026-10-20 17:54:39,674.674 INFO    ] 200
[2026-10-20 17:54:39,676.676 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:54:39,729.729 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:54:39,731.731 INFO    ] No update needed
[2026-10-20 17:54:39,734.734 INFO    ] Checking for camera pi updates...
[2026-10-20 17:54:39,767.767 INFO    ] 200
[2026-10-20 17:54:39,769.769 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:54:39,809.809 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:54:39,868.868 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:54:39,870.870 INFO    ] No camera update needed
[2026-10-20 17:54:39,873.873 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:54:39,875.875 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:54:39,881.881 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:54:39,886.886 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:54:41,928.928 INFO    ] ================================================
[2026-10-20 17:54:41,944.944 INFO    ] Launching Daemon at Tue Oct 20 17:54:41 IST 2026
[2026-10-20 17:54:41,955.955 INFO    ] ================================================
[2026-10-20 17:54:42,607.607 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:54:42
[2026-10-20 17:54:43,279.279 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:54:43,593.593 INFO    ] Initializing speech engine...
[2026-10-20 17:54:43,599.599 INFO    ] 2026-10-20 17:54:43
[2026-10-20 17:54:43,915.915 INFO    ] 2026-10-20 17:54:43
[2026-10-20 17:54:44,003.003 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:54:44,218.218 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:54:44,226.226 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:54:44,410.410 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:54:44,433.433 INFO    ] time= 20/10/2026 17:54:44
[2026-10-20 17:54:44,452.452 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:54:44,459.459 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:54:44,620.620 INFO    ] No existing commands found in stream
[2026-10-20 17:54:49,651.651 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:54:49,654.654 INFO    ] Waiting 3.94 seconds before fallback handling...
[2026-10-20 17:54:54,083.083 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:54:54,086.086 INFO    ] Checking for system updates...
[2026-10-20 17:54:54,121.121 INFO    ] 200
[2026-10-20 17:54:54,123.123 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:54:54,185.185 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:54:54,187.187 INFO    ] No update needed
[2026-10-20 17:54:54,190.190 INFO    ] Checking for camera pi updates...
[2026-10-20 17:54:54,223.223 INFO    ] 200
[2026-10-20 17:54:54,226.226 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:54:54,270.270 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:54:54,316.316 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:54:54,319.319 INFO    ] No camera update needed
[2026-10-20 17:54:54,321.321 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:54:54,324.324 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:54:54,329.329 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:54:54,334.334 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:54:56,374.374 INFO    ] ================================================
[2026-10-20 17:54:56,389.389 INFO    ] Launching Daemon at Tue Oct 20 17:54:56 IST 2026
[2026-10-20 17:54:56,400.400 INFO    ] ================================================
[2026-10-20 17:54:57,010.010 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:54:57
[2026-10-20 17:54:57,594.594 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:54:57,866.866 INFO    ] Initializing speech engine...
[2026-10-20 17:54:57,890.890 INFO    ] 2026-10-20 17:54:57
[2026-10-20 17:54:58,139.139 INFO    ] 2026-10-20 17:54:58
[2026-10-20 17:54:58,174.174 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:54:58,432.432 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:54:58,442.442 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:54:58,642.642 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:54:58,723.723 INFO    ] time= 20/10/2026 17:54:58
[2026-10-20 17:54:58,733.733 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:54:58,759.759 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:54:58,886.886 INFO    ] No existing commands found in stream
[2026-10-20 17:55:03,913.913 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:55:03,915.915 INFO    ] Waiting 2.27 seconds before fallback handling...
[2026-10-20 17:55:06,722.722 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:55:06,724.724 INFO    ] Checking for system updates...
[2026-10-20 17:55:06,760.760 INFO    ] 200
[2026-10-20 17:55:06,763.763 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:55:06,823.823 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:55:06,826.826 INFO    ] No update needed
[2026-10-20 17:55:06,829.829 INFO    ] Checking for camera pi updates...
[2026-10-20 17:55:06,863.863 INFO    ] 200
[2026-10-20 17:55:06,866.866 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:55:06,907.907 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:55:06,941.941 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:55:06,943.943 INFO    ] No camera update needed
[2026-10-20 17:55:06,946.946 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:55:06,949.949 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:55:06,955.955 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:55:06,961.961 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:55:09,001.001 INFO    ] ================================================
[2026-10-20 17:55:09,017.017 INFO    ] Launching Daemon at Tue Oct 20 17:55:09 IST 2026
[2026-10-20 17:55:09,028.028 INFO    ] ================================================
[2026-10-20 17:55:09,684.684 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:55:09
[2026-10-20 17:55:10,366.366 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:55:10,669.669 INFO    ] Initializing speech engine...
[2026-10-20 17:55:10,677.677 INFO    ] 2026-10-20 17:55:10
[2026-10-20 17:55:10,998.998 INFO    ] 2026-10-20 17:55:10
[2026-10-20 17:55:11,081.081 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:55:11,297.297 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:55:11,306.306 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:55:11,499.499 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:55:11,517.517 INFO    ] time= 20/10/2026 17:55:11
[2026-10-20 17:55:11,546.546 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:55:11,554.554 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:55:11,672.672 INFO    ] No existing commands found in stream
[2026-10-20 17:55:16,703.703 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:55:16,706.706 INFO    ] Waiting 1.76 seconds before fallback handling...
[2026-10-20 17:55:18,982.982 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 17:55:18,985.985 INFO    ] Checking for system updates...
[2026-10-20 17:55:19,022.022 INFO    ] 200
[2026-10-20 17:55:19,025.025 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:55:19,079.079 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:55:19,082.082 INFO    ] No update needed
[2026-10-20 17:55:19,085.085 INFO    ] Checking for camera pi updates...
[2026-10-20 17:55:19,123.123 INFO    ] 200
[2026-10-20 17:55:19,126.126 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:55:19,171.171 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:55:19,217.217 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:55:19,219.219 INFO    ] No camera update needed
[2026-10-20 17:55:19,222.222 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:55:19,224.224 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:55:19,230.230 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:55:19,235.235 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:55:21,273.273 INFO    ] ================================================
[2026-10-20 17:55:21,289.289 INFO    ] Launching Daemon at Tue Oct 20 17:55:21 IST 2026
[2026-10-20 17:55:21,300.300 INFO    ] ================================================
[2026-10-20 17:55:21,948.948 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:55:21
[2026-10-20 17:55:22,595.595 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:55:22,865.865 INFO    ] Initializing speech engine...
[2026-10-20 17:55:22,876.876 INFO    ] 2026-10-20 17:55:22
[2026-10-20 17:55:23,123.123 INFO    ] 2026-10-20 17:55:23
[2026-10-20 17:55:23,158.158 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:55:23,415.415 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:55:23,424.424 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:55:23,559.559 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:55:23,581.581 INFO    ] time= 20/10/2026 17:55:23
[2026-10-20 17:55:23,645.645 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:55:23,695.695 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:55:23,863.863 INFO    ] No existing commands found in stream
[2026-10-20 17:55:28,900.900 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:55:28,902.902 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-10-20 17:55:30,046.046 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:55:30,048.048 INFO    ] Checking for system updates...
[2026-10-20 17:55:30,088.088 INFO    ] 200
[2026-10-20 17:55:30,090.090 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:55:30,142.142 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:55:30,145.145 INFO    ] No update needed
[2026-10-20 17:55:30,147.147 INFO    ] Checking for camera pi updates...
[2026-10-20 17:55:30,183.183 INFO    ] 200
[2026-10-20 17:55:30,186.186 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:55:30,225.225 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:55:30,276.276 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:55:30,279.279 INFO    ] No camera update needed
[2026-10-20 17:55:30,281.281 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:55:30,284.284 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:55:30,289.289 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:55:30,294.294 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:55:32,336.336 INFO    ] ================================================
[2026-10-20 17:55:32,352.352 INFO    ] Launching Daemon at Tue Oct 20 17:55:32 IST 2026
[2026-10-20 17:55:32,363.363 INFO    ] ================================================
[2026-10-20 17:55:33,034.034 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:55:33
[2026-10-20 17:55:33,709.709 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:55:34,020.020 INFO    ] Initializing speech engine...
[2026-10-20 17:55:34,033.033 INFO    ] 2026-10-20 17:55:34
[2026-10-20 17:55:34,318.318 INFO    ] 2026-10-20 17:55:34
[2026-10-20 17:55:34,362.362 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:55:34,620.620 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:55:34,640.640 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:55:34,859.859 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:55:34,869.869 INFO    ] time= 20/10/2026 17:55:34
[2026-10-20 17:55:34,887.887 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:55:34,905.905 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:55:35,052.052 INFO    ] No existing commands found in stream
[2026-10-20 17:55:40,083.083 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:55:40,087.087 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-10-20 17:55:41,686.686 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 17:55:41,689.689 INFO    ] Checking for system updates...
[2026-10-20 17:55:41,730.730 INFO    ] 200
[2026-10-20 17:55:41,732.732 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:55:41,784.784 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:55:41,786.786 INFO    ] No update needed
[2026-10-20 17:55:41,789.789 INFO    ] Checking for camera pi updates...
[2026-10-20 17:55:41,822.822 INFO    ] 200
[2026-10-20 17:55:41,825.825 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:55:41,865.865 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:55:41,910.910 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:55:41,913.913 INFO    ] No camera update needed
[2026-10-20 17:55:41,915.915 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:55:41,917.917 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:55:41,923.923 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:55:41,929.929 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:55:43,968.968 INFO    ] ================================================
[2026-10-20 17:55:43,983.983 INFO    ] Launching Daemon at Tue Oct 20 17:55:43 IST 2026
[2026-10-20 17:55:43,993.993 INFO    ] ================================================
[2026-10-20 17:55:44,635.635 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:55:44
[2026-10-20 17:55:45,244.244 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:55:45,503.503 INFO    ] Initializing speech engine...
[2026-10-20 17:55:45,523.523 INFO    ] 2026-10-20 17:55:45
[2026-10-20 17:55:45,773.773 INFO    ] 2026-10-20 17:55:45
[2026-10-20 17:55:45,806.806 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:55:46,070.070 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:55:46,076.076 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:55:46,305.305 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:55:46,339.339 INFO    ] time= 20/10/2026 17:55:46
[2026-10-20 17:55:46,345.345 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:55:46,364.364 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:55:46,501.501 INFO    ] No existing commands found in stream
[2026-10-20 17:55:51,523.523 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:55:51,526.526 INFO    ] Waiting 1.08 seconds before fallback handling...
[2026-10-20 17:55:53,122.122 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:55:53,124.124 INFO    ] Checking for system updates...
[2026-10-20 17:55:53,160.160 INFO    ] 200
[2026-10-20 17:55:53,163.163 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:55:53,215.215 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:55:53,218.218 INFO    ] No update needed
[2026-10-20 17:55:53,220.220 INFO    ] Checking for camera pi updates...
[2026-10-20 17:55:53,259.259 INFO    ] 200
[2026-10-20 17:55:53,261.261 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:55:53,302.302 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:55:53,347.347 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:55:53,349.349 INFO    ] No camera update needed
[2026-10-20 17:55:53,351.351 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:55:53,354.354 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:55:53,359.359 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:55:53,364.364 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:55:55,404.404 INFO    ] ================================================
[2026-10-20 17:55:55,419.419 INFO    ] Launching Daemon at Tue Oct 20 17:55:55 IST 2026
[2026-10-20 17:55:55,430.430 INFO    ] ================================================
[2026-10-20 17:55:56,088.088 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:55:56
[2026-10-20 17:55:56,766.766 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:55:57,070.070 INFO    ] Initializing speech engine...
[2026-10-20 17:55:57,078.078 INFO    ] 2026-10-20 17:55:57
[2026-10-20 17:55:57,371.371 INFO    ] 2026-10-20 17:55:57
[2026-10-20 17:55:57,409.409 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:55:57,693.693 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:55:57,703.703 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:55:57,893.893 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:55:57,911.911 INFO    ] time= 20/10/2026 17:55:57
[2026-10-20 17:55:57,922.922 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:55:57,952.952 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:55:58,079.079 INFO    ] No existing commands found in stream
[2026-10-20 17:56:03,110.110 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:56:03,113.113 INFO    ] Waiting 2.12 seconds before fallback handling...
[2026-10-20 17:56:05,744.744 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:56:05,747.747 INFO    ] Checking for system updates...
[2026-10-20 17:56:05,783.783 INFO    ] 200
[2026-10-20 17:56:05,786.786 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:56:05,838.838 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:56:05,841.841 INFO    ] No update needed
[2026-10-20 17:56:05,844.844 INFO    ] Checking for camera pi updates...
[2026-10-20 17:56:05,878.878 INFO    ] 200
[2026-10-20 17:56:05,881.881 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:56:05,922.922 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:56:05,971.971 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:56:05,974.974 INFO    ] No camera update needed
[2026-10-20 17:56:05,977.977 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:56:05,980.980 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:56:05,986.986 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:56:05,992.992 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:56:08,033.033 INFO    ] ================================================
[2026-10-20 17:56:08,048.048 INFO    ] Launching Daemon at Tue Oct 20 17:56:08 IST 2026
[2026-10-20 17:56:08,059.059 INFO    ] ================================================
[2026-10-20 17:56:08,626.626 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:56:08
[2026-10-20 17:56:09,217.217 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:56:09,489.489 INFO    ] Initializing speech engine...
[2026-10-20 17:56:09,498.498 INFO    ] 2026-10-20 17:56:09
[2026-10-20 17:56:09,748.748 INFO    ] 2026-10-20 17:56:09
[2026-10-20 17:56:09,784.784 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:56:10,042.042 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:56:10,051.051 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:56:10,260.260 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:56:10,315.315 INFO    ] time= 20/10/2026 17:56:10
[2026-10-20 17:56:10,325.325 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:56:10,346.346 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:56:10,480.480 INFO    ] No existing commands found in stream
[2026-10-20 17:56:15,502.502 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:56:15,505.505 INFO    ] Waiting 0.07 seconds before fallback handling...
[2026-10-20 17:56:16,048.048 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 17:56:16,051.051 INFO    ] Checking for system updates...
[2026-10-20 17:56:16,086.086 INFO    ] 200
[2026-10-20 17:56:16,089.089 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:56:16,141.141 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:56:16,144.144 INFO    ] No update needed
[2026-10-20 17:56:16,146.146 INFO    ] Checking for camera pi updates...
[2026-10-20 17:56:16,179.179 INFO    ] 200
[2026-10-20 17:56:16,182.182 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:56:16,221.221 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:56:16,364.364 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:56:16,367.367 INFO    ] No camera update needed
[2026-10-20 17:56:16,369.369 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:56:16,371.371 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:56:16,377.377 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:56:16,382.382 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:56:18,421.421 INFO    ] ================================================
[2026-10-20 17:56:18,436.436 INFO    ] Launching Daemon at Tue Oct 20 17:56:18 IST 2026
[2026-10-20 17:56:18,447.447 INFO    ] ================================================
[2026-10-20 17:56:19,098.098 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:56:19
[2026-10-20 17:56:19,766.766 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:56:20,070.070 INFO    ] Initializing speech engine...
[2026-10-20 17:56:20,083.083 INFO    ] 2026-10-20 17:56:20
[2026-10-20 17:56:20,365.365 INFO    ] 2026-10-20 17:56:20
[2026-10-20 17:56:20,412.412 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:56:20,665.665 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:56:20,673.673 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:56:20,878.878 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:56:20,915.915 INFO    ] time= 20/10/2026 17:56:20
[2026-10-20 17:56:20,933.933 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:56:20,943.943 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:56:21,134.134 INFO    ] No existing commands found in stream
[2026-10-20 17:56:26,160.160 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:56:26,163.163 INFO    ] Waiting 1.98 seconds before fallback handling...
[2026-10-20 17:56:28,656.656 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:56:28,659.659 INFO    ] Checking for system updates...
[2026-10-20 17:56:28,696.696 INFO    ] 200
[2026-10-20 17:56:28,699.699 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:56:28,759.759 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:56:28,762.762 INFO    ] No update needed
[2026-10-20 17:56:28,765.765 INFO    ] Checking for camera pi updates...
[2026-10-20 17:56:28,800.800 INFO    ] 200
[2026-10-20 17:56:28,802.802 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:56:28,848.848 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:56:28,897.897 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:56:28,900.900 INFO    ] No camera update needed
[2026-10-20 17:56:28,903.903 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:56:28,905.905 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:56:28,911.911 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:56:28,917.917 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:56:30,957.957 INFO    ] ================================================
[2026-10-20 17:56:30,972.972 INFO    ] Launching Daemon at Tue Oct 20 17:56:30 IST 2026
[2026-10-20 17:56:30,982.982 INFO    ] ================================================
[2026-10-20 17:56:31,589.589 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:56:31
[2026-10-20 17:56:32,222.222 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:56:32,540.540 INFO    ] Initializing speech engine...
[2026-10-20 17:56:32,548.548 INFO    ] 2026-10-20 17:56:32
[2026-10-20 17:56:32,822.822 INFO    ] 2026-10-20 17:56:32
[2026-10-20 17:56:32,895.895 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:56:33,115.115 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:56:33,137.137 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:56:33,325.325 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:56:33,378.378 INFO    ] time= 20/10/2026 17:56:33
[2026-10-20 17:56:33,385.385 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:56:33,405.405 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:56:33,531.531 INFO    ] No existing commands found in stream
[2026-10-20 17:56:38,546.546 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:56:38,550.550 INFO    ] Waiting 3.84 seconds before fallback handling...
[2026-10-20 17:56:42,941.941 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 17:56:42,944.944 INFO    ] Checking for system updates...
[2026-10-20 17:56:42,981.981 INFO    ] 200
[2026-10-20 17:56:42,984.984 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:56:43,036.036 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:56:43,039.039 INFO    ] No update needed
[2026-10-20 17:56:43,041.041 INFO    ] Checking for camera pi updates...
[2026-10-20 17:56:43,074.074 INFO    ] 200
[2026-10-20 17:56:43,077.077 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:56:43,121.121 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:56:43,169.169 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:56:43,171.171 INFO    ] No camera update needed
[2026-10-20 17:56:43,173.173 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:56:43,176.176 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:56:43,181.181 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:56:43,186.186 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:56:45,226.226 INFO    ] ================================================
[2026-10-20 17:56:45,242.242 INFO    ] Launching Daemon at Tue Oct 20 17:56:45 IST 2026
[2026-10-20 17:56:45,252.252 INFO    ] ================================================
[2026-10-20 17:56:45,894.894 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:56:45
[2026-10-20 17:56:46,555.555 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:56:46,857.857 INFO    ] Initializing speech engine...
[2026-10-20 17:56:46,869.869 INFO    ] 2026-10-20 17:56:46
[2026-10-20 17:56:47,149.149 INFO    ] 2026-10-20 17:56:47
[2026-10-20 17:56:47,206.206 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:56:47,484.484 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:56:47,493.493 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:56:47,692.692 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:56:47,698.698 INFO    ] time= 20/10/2026 17:56:47
[2026-10-20 17:56:47,717.717 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:56:47,749.749 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:56:47,871.871 INFO    ] No existing commands found in stream
[2026-10-20 17:56:52,902.902 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:56:52,905.905 INFO    ] Waiting 1.49 seconds before fallback handling...
[2026-10-20 17:56:54,884.884 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:56:54,886.886 INFO    ] Checking for system updates...
[2026-10-20 17:56:54,921.921 INFO    ] 200
[2026-10-20 17:56:54,924.924 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:56:54,986.986 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:56:54,989.989 INFO    ] No update needed
[2026-10-20 17:56:54,991.991 INFO    ] Checking for camera pi updates...
[2026-10-20 17:56:55,024.024 INFO    ] 200
[2026-10-20 17:56:55,027.027 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:56:55,071.071 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:56:55,117.117 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:56:55,119.119 INFO    ] No camera update needed
[2026-10-20 17:56:55,122.122 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:56:55,124.124 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:56:55,129.129 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:56:55,134.134 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:56:57,175.175 INFO    ] ================================================
[2026-10-20 17:56:57,191.191 INFO    ] Launching Daemon at Tue Oct 20 17:56:57 IST 2026
[2026-10-20 17:56:57,202.202 INFO    ] ================================================
[2026-10-20 17:56:57,785.785 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:56:57
[2026-10-20 17:56:58,386.386 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:56:58,649.649 INFO    ] Initializing speech engine...
[2026-10-20 17:56:58,665.665 INFO    ] 2026-10-20 17:56:58
[2026-10-20 17:56:58,948.948 INFO    ] 2026-10-20 17:56:58
[2026-10-20 17:56:58,986.986 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:56:59,275.275 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:56:59,284.284 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:56:59,439.439 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:56:59,458.458 INFO    ] time= 20/10/2026 17:56:59
[2026-10-20 17:56:59,522.522 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:56:59,567.567 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:56:59,725.725 INFO    ] No existing commands found in stream
[2026-10-20 17:57:04,746.746 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:57:04,748.748 INFO    ] Waiting 1.62 seconds before fallback handling...
[2026-10-20 17:57:06,903.903 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:57:06,906.906 INFO    ] Checking for system updates...
[2026-10-20 17:57:06,941.941 INFO    ] 200
[2026-10-20 17:57:06,944.944 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:57:06,995.995 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:57:06,998.998 INFO    ] No update needed
[2026-10-20 17:57:07,000.000 INFO    ] Checking for camera pi updates...
[2026-10-20 17:57:07,035.035 INFO    ] 200
[2026-10-20 17:57:07,038.038 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:57:07,078.078 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:57:07,126.126 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:57:07,128.128 INFO    ] No camera update needed
[2026-10-20 17:57:07,131.131 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:57:07,133.133 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:57:07,139.139 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:57:07,144.144 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:57:09,184.184 INFO    ] ================================================
[2026-10-20 17:57:09,201.201 INFO    ] Launching Daemon at Tue Oct 20 17:57:09 IST 2026
[2026-10-20 17:57:09,212.212 INFO    ] ================================================
[2026-10-20 17:57:09,863.863 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:57:09
[2026-10-20 17:57:10,527.527 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:57:10,830.830 INFO    ] Initializing speech engine...
[2026-10-20 17:57:10,844.844 INFO    ] 2026-10-20 17:57:10
[2026-10-20 17:57:11,135.135 INFO    ] 2026-10-20 17:57:11
[2026-10-20 17:57:11,248.248 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:57:11,529.529 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:57:11,540.540 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:57:11,720.720 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:57:11,729.729 INFO    ] time= 20/10/2026 17:57:11
[2026-10-20 17:57:11,737.737 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:57:11,768.768 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:57:11,925.925 INFO    ] No existing commands found in stream
[2026-10-20 17:57:16,952.952 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:57:16,955.955 INFO    ] Waiting 0.80 seconds before fallback handling...
[2026-10-20 17:57:18,295.295 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:57:18,298.298 INFO    ] Checking for system updates...
[2026-10-20 17:57:18,335.335 INFO    ] 200
[2026-10-20 17:57:18,338.338 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:57:18,391.391 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:57:18,394.394 INFO    ] No update needed
[2026-10-20 17:57:18,397.397 INFO    ] Checking for camera pi updates...
[2026-10-20 17:57:18,434.434 INFO    ] 200
[2026-10-20 17:57:18,436.436 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:57:18,478.478 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:57:18,541.541 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:57:18,544.544 INFO    ] No camera update needed
[2026-10-20 17:57:18,546.546 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:57:18,549.549 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:57:18,555.555 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:57:18,561.561 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:57:20,602.602 INFO    ] ================================================
[2026-10-20 17:57:20,616.616 INFO    ] Launching Daemon at Tue Oct 20 17:57:20 IST 2026
[2026-10-20 17:57:20,627.627 INFO    ] ================================================
[2026-10-20 17:57:21,206.206 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:57:21
[2026-10-20 17:57:21,794.794 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:57:22,065.065 INFO    ] Initializing speech engine...
[2026-10-20 17:57:22,073.073 INFO    ] 2026-10-20 17:57:22
[2026-10-20 17:57:22,326.326 INFO    ] 2026-10-20 17:57:22
[2026-10-20 17:57:22,362.362 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:57:22,563.563 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:57:22,619.619 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:57:22,851.851 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:57:22,893.893 INFO    ] time= 20/10/2026 17:57:22
[2026-10-20 17:57:22,899.899 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:57:22,918.918 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:57:23,052.052 INFO    ] No existing commands found in stream
[2026-10-20 17:57:28,066.066 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:57:28,069.069 INFO    ] Waiting 1.44 seconds before fallback handling...
[2026-10-20 17:57:29,995.995 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 17:57:29,997.997 INFO    ] Checking for system updates...
[2026-10-20 17:57:30,036.036 INFO    ] 200
[2026-10-20 17:57:30,039.039 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:57:30,090.090 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:57:30,092.092 INFO    ] No update needed
[2026-10-20 17:57:30,095.095 INFO    ] Checking for camera pi updates...
[2026-10-20 17:57:30,132.132 INFO    ] 200
[2026-10-20 17:57:30,135.135 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:57:30,175.175 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:57:30,224.224 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:57:30,226.226 INFO    ] No camera update needed
[2026-10-20 17:57:30,229.229 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:57:30,231.231 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:57:30,236.236 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:57:30,241.241 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:57:32,287.287 INFO    ] ================================================
[2026-10-20 17:57:32,306.306 INFO    ] Launching Daemon at Tue Oct 20 17:57:32 IST 2026
[2026-10-20 17:57:32,319.319 INFO    ] ================================================
[2026-10-20 17:57:32,914.914 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:57:32
[2026-10-20 17:57:33,513.513 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:57:33,790.790 INFO    ] Initializing speech engine...
[2026-10-20 17:57:33,795.795 INFO    ] 2026-10-20 17:57:33
[2026-10-20 17:57:34,057.057 INFO    ] 2026-10-20 17:57:34
[2026-10-20 17:57:34,087.087 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:57:34,345.345 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:57:34,354.354 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:57:34,533.533 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:57:34,593.593 INFO    ] time= 20/10/2026 17:57:34
[2026-10-20 17:57:34,650.650 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:57:34,658.658 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:57:34,838.838 INFO    ] No existing commands found in stream
[2026-10-20 17:57:39,875.875 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:57:39,877.877 INFO    ] Waiting 2.69 seconds before fallback handling...
[2026-10-20 17:57:43,094.094 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:57:43,097.097 INFO    ] Checking for system updates...
[2026-10-20 17:57:43,134.134 INFO    ] 200
[2026-10-20 17:57:43,137.137 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:57:43,189.189 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:57:43,192.192 INFO    ] No update needed
[2026-10-20 17:57:43,195.195 INFO    ] Checking for camera pi updates...
[2026-10-20 17:57:43,229.229 INFO    ] 200
[2026-10-20 17:57:43,232.232 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:57:43,273.273 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:57:43,317.317 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:57:43,320.320 INFO    ] No camera update needed
[2026-10-20 17:57:43,323.323 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:57:43,326.326 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:57:43,332.332 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:57:43,338.338 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:57:45,379.379 INFO    ] ================================================
[2026-10-20 17:57:45,394.394 INFO    ] Launching Daemon at Tue Oct 20 17:57:45 IST 2026
[2026-10-20 17:57:45,406.406 INFO    ] ================================================
[2026-10-20 17:57:45,985.985 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:57:45
[2026-10-20 17:57:46,581.581 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:57:46,838.838 INFO    ] Initializing speech engine...
[2026-10-20 17:57:46,847.847 INFO    ] 2026-10-20 17:57:46
[2026-10-20 17:57:47,136.136 INFO    ] 2026-10-20 17:57:47
[2026-10-20 17:57:47,174.174 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:57:47,367.367 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:57:47,380.380 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:57:47,542.542 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:57:47,546.546 INFO    ] time= 20/10/2026 17:57:47
[2026-10-20 17:57:47,553.553 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:57:47,600.600 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:57:47,759.759 INFO    ] No existing commands found in stream
[2026-10-20 17:57:52,773.773 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:57:52,776.776 INFO    ] Waiting 2.45 seconds before fallback handling...
[2026-10-20 17:57:55,783.783 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:57:55,786.786 INFO    ] Checking for system updates...
[2026-10-20 17:57:55,821.821 INFO    ] 200
[2026-10-20 17:57:55,823.823 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:57:55,876.876 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:57:55,878.878 INFO    ] No update needed
[2026-10-20 17:57:55,881.881 INFO    ] Checking for camera pi updates...
[2026-10-20 17:57:55,914.914 INFO    ] 200
[2026-10-20 17:57:55,917.917 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:57:55,957.957 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:57:56,005.005 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:57:56,008.008 INFO    ] No camera update needed
[2026-10-20 17:57:56,010.010 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:57:56,013.013 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:57:56,018.018 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:57:56,023.023 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:57:58,062.062 INFO    ] ================================================
[2026-10-20 17:57:58,078.078 INFO    ] Launching Daemon at Tue Oct 20 17:57:58 IST 2026
[2026-10-20 17:57:58,088.088 INFO    ] ================================================
[2026-10-20 17:57:58,717.717 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:57:58
[2026-10-20 17:57:59,365.365 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:57:59,665.665 INFO    ] Initializing speech engine...
[2026-10-20 17:57:59,675.675 INFO    ] 2026-10-20 17:57:59
[2026-10-20 17:57:59,941.941 INFO    ] 2026-10-20 17:57:59
[2026-10-20 17:57:59,976.976 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:58:00,228.228 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:58:00,237.237 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:58:00,438.438 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:58:00,499.499 INFO    ] time= 20/10/2026 17:58:00
[2026-10-20 17:58:00,510.510 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:58:00,528.528 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:58:00,662.662 INFO    ] No existing commands found in stream
[2026-10-20 17:58:05,683.683 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:58:05,686.686 INFO    ] Waiting 3.37 seconds before fallback handling...
[2026-10-20 17:58:09,587.587 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 17:58:09,590.590 INFO    ] Checking for system updates...
[2026-10-20 17:58:09,627.627 INFO    ] 200
[2026-10-20 17:58:09,630.630 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:58:09,684.684 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:58:09,687.687 INFO    ] No update needed
[2026-10-20 17:58:09,690.690 INFO    ] Checking for camera pi updates...
[2026-10-20 17:58:09,724.724 INFO    ] 200
[2026-10-20 17:58:09,727.727 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:58:09,768.768 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:58:09,816.816 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:58:09,819.819 INFO    ] No camera update needed
[2026-10-20 17:58:09,822.822 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:58:09,824.824 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:58:09,831.831 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:58:09,836.836 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:58:11,877.877 INFO    ] ================================================
[2026-10-20 17:58:11,892.892 INFO    ] Launching Daemon at Tue Oct 20 17:58:11 IST 2026
[2026-10-20 17:58:11,902.902 INFO    ] ================================================
[2026-10-20 17:58:12,484.484 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:58:12
[2026-10-20 17:58:13,084.084 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:58:13,362.362 INFO    ] Initializing speech engine...
[2026-10-20 17:58:13,369.369 INFO    ] 2026-10-20 17:58:13
[2026-10-20 17:58:13,615.615 INFO    ] 2026-10-20 17:58:13
[2026-10-20 17:58:13,650.650 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:58:13,909.909 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:58:13,918.918 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:58:14,119.119 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:58:14,170.170 INFO    ] time= 20/10/2026 17:58:14
[2026-10-20 17:58:14,189.189 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:58:14,204.204 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:58:14,341.341 INFO    ] No existing commands found in stream
[2026-10-20 17:58:19,353.353 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:58:19,356.356 INFO    ] Waiting 0.13 seconds before fallback handling...
[2026-10-20 17:58:19,998.998 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 17:58:20,001.001 INFO    ] Checking for system updates...
[2026-10-20 17:58:20,038.038 INFO    ] 200
[2026-10-20 17:58:20,041.041 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:58:20,093.093 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:58:20,096.096 INFO    ] No update needed
[2026-10-20 17:58:20,099.099 INFO    ] Checking for camera pi updates...
[2026-10-20 17:58:20,134.134 INFO    ] 200
[2026-10-20 17:58:20,137.137 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:58:20,183.183 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:58:20,336.336 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:58:20,338.338 INFO    ] No camera update needed
[2026-10-20 17:58:20,341.341 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:58:20,343.343 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:58:20,349.349 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:58:20,354.354 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:58:22,394.394 INFO    ] ================================================
[2026-10-20 17:58:22,409.409 INFO    ] Launching Daemon at Tue Oct 20 17:58:22 IST 2026
[2026-10-20 17:58:22,420.420 INFO    ] ================================================
[2026-10-20 17:58:23,081.081 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:58:23
[2026-10-20 17:58:23,763.763 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:58:24,075.075 INFO    ] Initializing speech engine...
[2026-10-20 17:58:24,083.083 INFO    ] 2026-10-20 17:58:24
[2026-10-20 17:58:24,361.361 INFO    ] 2026-10-20 17:58:24
[2026-10-20 17:58:24,417.417 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:58:24,653.653 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:58:24,660.660 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:58:24,896.896 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:58:24,923.923 INFO    ] time= 20/10/2026 17:58:24
[2026-10-20 17:58:24,941.941 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:58:24,952.952 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:58:25,108.108 INFO    ] No existing commands found in stream
[2026-10-20 17:58:30,139.139 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:58:30,143.143 INFO    ] Waiting 2.09 seconds before fallback handling...
[2026-10-20 17:58:32,828.828 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 17:58:32,831.831 INFO    ] Checking for system updates...
[2026-10-20 17:58:32,873.873 INFO    ] 200
[2026-10-20 17:58:32,876.876 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:58:32,929.929 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:58:32,932.932 INFO    ] No update needed
[2026-10-20 17:58:32,934.934 INFO    ] Checking for camera pi updates...
[2026-10-20 17:58:32,968.968 INFO    ] 200
[2026-10-20 17:58:32,971.971 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:58:33,010.010 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:58:33,042.042 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:58:33,044.044 INFO    ] No camera update needed
[2026-10-20 17:58:33,047.047 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:58:33,049.049 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:58:33,054.054 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:58:33,059.059 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:58:35,100.100 INFO    ] ================================================
[2026-10-20 17:58:35,115.115 INFO    ] Launching Daemon at Tue Oct 20 17:58:35 IST 2026
[2026-10-20 17:58:35,127.127 INFO    ] ================================================
[2026-10-20 17:58:35,782.782 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:58:35
[2026-10-20 17:58:36,457.457 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:58:36,765.765 INFO    ] Initializing speech engine...
[2026-10-20 17:58:36,773.773 INFO    ] 2026-10-20 17:58:36
[2026-10-20 17:58:37,064.064 INFO    ] 2026-10-20 17:58:37
[2026-10-20 17:58:37,110.110 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:58:37,365.365 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:58:37,372.372 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:58:37,594.594 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:58:37,615.615 INFO    ] time= 20/10/2026 17:58:37
[2026-10-20 17:58:37,631.631 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:58:37,640.640 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:58:37,773.773 INFO    ] No existing commands found in stream
[2026-10-20 17:58:42,810.810 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:58:42,813.813 INFO    ] Waiting 1.07 seconds before fallback handling...
[2026-10-20 17:58:44,447.447 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 17:58:44,450.450 INFO    ] Checking for system updates...
[2026-10-20 17:58:44,493.493 INFO    ] 200
[2026-10-20 17:58:44,496.496 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:58:44,554.554 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:58:44,557.557 INFO    ] No update needed
[2026-10-20 17:58:44,560.560 INFO    ] Checking for camera pi updates...
[2026-10-20 17:58:44,594.594 INFO    ] 200
[2026-10-20 17:58:44,597.597 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:58:44,641.641 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:58:44,677.677 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:58:44,679.679 INFO    ] No camera update needed
[2026-10-20 17:58:44,682.682 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:58:44,684.684 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:58:44,690.690 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:58:44,695.695 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:58:46,735.735 INFO    ] ================================================
[2026-10-20 17:58:46,751.751 INFO    ] Launching Daemon at Tue Oct 20 17:58:46 IST 2026
[2026-10-20 17:58:46,762.762 INFO    ] ================================================
[2026-10-20 17:58:47,433.433 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:58:47
[2026-10-20 17:58:48,119.119 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:58:48,391.391 INFO    ] Initializing speech engine...
[2026-10-20 17:58:48,397.397 INFO    ] 2026-10-20 17:58:48
[2026-10-20 17:58:48,656.656 INFO    ] 2026-10-20 17:58:48
[2026-10-20 17:58:48,709.709 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:58:48,931.931 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:58:48,941.941 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:58:49,161.161 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:58:49,197.197 INFO    ] time= 20/10/2026 17:58:49
[2026-10-20 17:58:49,203.203 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:58:49,220.220 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:58:49,330.330 INFO    ] No existing commands found in stream
[2026-10-20 17:58:54,357.357 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:58:54,360.360 INFO    ] Waiting 1.72 seconds before fallback handling...
[2026-10-20 17:58:56,646.646 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 17:58:56,649.649 INFO    ] Checking for system updates...
[2026-10-20 17:58:56,684.684 INFO    ] 200
[2026-10-20 17:58:56,687.687 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:58:56,738.738 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:58:56,741.741 INFO    ] No update needed
[2026-10-20 17:58:56,743.743 INFO    ] Checking for camera pi updates...
[2026-10-20 17:58:56,776.776 INFO    ] 200
[2026-10-20 17:58:56,778.778 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:58:56,819.819 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:58:56,871.871 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:58:56,874.874 INFO    ] No camera update needed
[2026-10-20 17:58:56,876.876 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:58:56,878.878 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:58:56,884.884 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:58:56,889.889 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:58:58,930.930 INFO    ] ================================================
[2026-10-20 17:58:58,946.946 INFO    ] Launching Daemon at Tue Oct 20 17:58:58 IST 2026
[2026-10-20 17:58:58,957.957 INFO    ] ================================================
[2026-10-20 17:58:59,525.525 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:58:59
[2026-10-20 17:59:00,110.110 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:59:00,357.357 INFO    ] Initializing speech engine...
[2026-10-20 17:59:00,372.372 INFO    ] 2026-10-20 17:59:00
[2026-10-20 17:59:00,639.639 INFO    ] 2026-10-20 17:59:00
[2026-10-20 17:59:00,673.673 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:59:00,931.931 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:59:00,941.941 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:59:01,144.144 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:59:01,200.200 INFO    ] time= 20/10/2026 17:59:01
[2026-10-20 17:59:01,275.275 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:59:01,290.290 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:59:01,427.427 INFO    ] No existing commands found in stream
[2026-10-20 17:59:06,439.439 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:59:06,442.442 INFO    ] Waiting 0.68 seconds before fallback handling...
[2026-10-20 17:59:07,627.627 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:59:07,630.630 INFO    ] Checking for system updates...
[2026-10-20 17:59:07,665.665 INFO    ] 200
[2026-10-20 17:59:07,667.667 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:59:07,730.730 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:59:07,732.732 INFO    ] No update needed
[2026-10-20 17:59:07,735.735 INFO    ] Checking for camera pi updates...
[2026-10-20 17:59:07,768.768 INFO    ] 200
[2026-10-20 17:59:07,771.771 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:59:07,810.810 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:59:07,858.858 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:59:07,860.860 INFO    ] No camera update needed
[2026-10-20 17:59:07,863.863 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:59:07,865.865 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:59:07,870.870 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:59:07,875.875 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:59:09,916.916 INFO    ] ================================================
[2026-10-20 17:59:09,932.932 INFO    ] Launching Daemon at Tue Oct 20 17:59:09 IST 2026
[2026-10-20 17:59:09,944.944 INFO    ] ================================================
[2026-10-20 17:59:10,511.511 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:59:10
[2026-10-20 17:59:11,095.095 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:59:11,366.366 INFO    ] Initializing speech engine...
[2026-10-20 17:59:11,372.372 INFO    ] 2026-10-20 17:59:11
[2026-10-20 17:59:11,617.617 INFO    ] 2026-10-20 17:59:11
[2026-10-20 17:59:11,653.653 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:59:11,905.905 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:59:11,914.914 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:59:12,046.046 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:59:12,089.089 INFO    ] time= 20/10/2026 17:59:12
[2026-10-20 17:59:12,158.158 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:59:12,180.180 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:59:12,314.314 INFO    ] No existing commands found in stream
[2026-10-20 17:59:17,336.336 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:59:17,339.339 INFO    ] Waiting 1.20 seconds before fallback handling...
[2026-10-20 17:59:19,000.000 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:59:19,002.002 INFO    ] Checking for system updates...
[2026-10-20 17:59:19,037.037 INFO    ] 200
[2026-10-20 17:59:19,040.040 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:59:19,098.098 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:59:19,101.101 INFO    ] No update needed
[2026-10-20 17:59:19,103.103 INFO    ] Checking for camera pi updates...
[2026-10-20 17:59:19,140.140 INFO    ] 200
[2026-10-20 17:59:19,142.142 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:59:19,182.182 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:59:19,233.233 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:59:19,235.235 INFO    ] No camera update needed
[2026-10-20 17:59:19,237.237 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:59:19,240.240 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:59:19,245.245 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:59:19,250.250 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:59:21,290.290 INFO    ] ================================================
[2026-10-20 17:59:21,306.306 INFO    ] Launching Daemon at Tue Oct 20 17:59:21 IST 2026
[2026-10-20 17:59:21,317.317 INFO    ] ================================================
[2026-10-20 17:59:21,967.967 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:59:21
[2026-10-20 17:59:22,635.635 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:59:22,932.932 INFO    ] Initializing speech engine...
[2026-10-20 17:59:22,944.944 INFO    ] 2026-10-20 17:59:22
[2026-10-20 17:59:23,230.230 INFO    ] 2026-10-20 17:59:23
[2026-10-20 17:59:23,276.276 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:59:23,625.625 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:59:23,677.677 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:59:23,923.923 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:59:23,985.985 INFO    ] time= 20/10/2026 17:59:23
[2026-10-20 17:59:24,012.012 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:59:24,066.066 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:59:24,213.213 INFO    ] No existing commands found in stream
[2026-10-20 17:59:29,224.224 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:59:29,227.227 INFO    ] Waiting 1.77 seconds before fallback handling...
[2026-10-20 17:59:31,520.520 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 17:59:31,524.524 INFO    ] Checking for system updates...
[2026-10-20 17:59:31,563.563 INFO    ] 200
[2026-10-20 17:59:31,566.566 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:59:31,629.629 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:59:31,631.631 INFO    ] No update needed
[2026-10-20 17:59:31,634.634 INFO    ] Checking for camera pi updates...
[2026-10-20 17:59:31,670.670 INFO    ] 200
[2026-10-20 17:59:31,673.673 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:59:31,718.718 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:59:31,751.751 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 17:59:31,754.754 INFO    ] No camera update needed
[2026-10-20 17:59:31,756.756 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:59:31,759.759 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:59:31,765.765 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:59:31,771.771 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:59:33,811.811 INFO    ] ================================================
[2026-10-20 17:59:33,826.826 INFO    ] Launching Daemon at Tue Oct 20 17:59:33 IST 2026
[2026-10-20 17:59:33,836.836 INFO    ] ================================================
[2026-10-20 17:59:34,415.415 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:59:34
[2026-10-20 17:59:35,009.009 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:59:35,264.264 INFO    ] Initializing speech engine...
[2026-10-20 17:59:35,272.272 INFO    ] 2026-10-20 17:59:35
[2026-10-20 17:59:35,565.565 INFO    ] 2026-10-20 17:59:35
[2026-10-20 17:59:35,603.603 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:59:35,801.801 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:59:35,813.813 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:59:35,979.979 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:59:35,985.985 INFO    ] time= 20/10/2026 17:59:35
[2026-10-20 17:59:35,991.991 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:59:35,997.997 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:59:36,126.126 INFO    ] No existing commands found in stream
[2026-10-20 17:59:41,151.151 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 17:59:41,154.154 INFO    ] Waiting 0.07 seconds before fallback handling...
[2026-10-20 17:59:41,689.689 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 17:59:41,691.691 INFO    ] Checking for system updates...
[2026-10-20 17:59:41,727.727 INFO    ] 200
[2026-10-20 17:59:41,729.729 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:59:41,782.782 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:59:41,784.784 INFO    ] No update needed
[2026-10-20 17:59:41,787.787 INFO    ] Checking for camera pi updates...
[2026-10-20 17:59:41,824.824 INFO    ] 200
[2026-10-20 17:59:41,827.827 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:59:41,871.871 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:59:41,930.930 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:59:41,932.932 INFO    ] No camera update needed
[2026-10-20 17:59:41,934.934 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:59:41,936.936 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:59:41,942.942 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:59:41,947.947 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:59:43,988.988 INFO    ] ================================================
[2026-10-20 17:59:44,003.003 INFO    ] Launching Daemon at Tue Oct 20 17:59:43 IST 2026
[2026-10-20 17:59:44,014.014 INFO    ] ================================================
[2026-10-20 17:59:44,627.627 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:59:44
[2026-10-20 17:59:45,212.212 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:59:45,459.459 INFO    ] Initializing speech engine...
[2026-10-20 17:59:45,467.467 INFO    ] 2026-10-20 17:59:45
[2026-10-20 17:59:45,741.741 INFO    ] 2026-10-20 17:59:45
[2026-10-20 17:59:45,776.776 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:59:45,975.975 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:59:45,982.982 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:59:46,180.180 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:59:46,202.202 INFO    ] time= 20/10/2026 17:59:46
[2026-10-20 17:59:46,262.262 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:59:46,317.317 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:59:46,451.451 INFO    ] Found 1 existing command(s) in stream
[2026-10-20 17:59:46,492.492 INFO    ] Checking historical command: ID=1792499385110-0
[2026-10-20 17:59:46,546.546 INFO    ] process_and_cleanup_command: msg_id=1792499385110-0
[2026-10-20 17:59:46,586.586 INFO    ] is_command_expired: timestamp=2026-10-20T12:29:43.577Z, expiry=30s
[2026-10-20 17:59:46,763.763 INFO    ] Command removed from stream: 1792499385110-0. returning for processing...
[2026-10-20 17:59:46,806.806 INFO    ] ***** get_valid_command
[2026-10-20 17:59:46,816.816 INFO    ] {'timeout': '10', 'timestamp': '2026-10-20T12:29:43.577Z', 'data': '{"request_id":"start-order-1792499383577-b09pe1plg","orderId":"TM04202203261020175753470","is_vending":false}', 'command': 'start-order', 'source': 'webapp'}
[2026-10-20 17:59:46,819.819 INFO    ] ***** Parsed command data: {'is_vending': False, 'orderId': 'TM04202203261020175753470', 'request_id': 'start-order-1792499383577-b09pe1plg'}
[2026-10-20 17:59:46,822.822 INFO    ] Handling start order...
[2026-10-20 17:59:46,825.825 INFO    ] handle_start_order_command
[2026-10-20 17:59:46,889.889 INFO    ] _send_start_order_success: request_id=start-order-1792499383577-b09pe1plg, order_id=TM04202203261020175753470
[2026-10-20 17:59:46,938.938 INFO    ] [_send_start_order_success] Adding message to stream: machine:TM04202203
[2026-10-20 17:59:47,060.060 INFO    ] [_send_start_order_success] Message added to stream with ID: 1792499387100-0
[2026-10-20 17:59:47,066.066 INFO    ] ✅ Start-order command succeeded - order locked, waiting for process-order command
[2026-10-20 17:59:47,070.070 INFO    ] Checking for system updates...
[2026-10-20 17:59:47,185.185 INFO    ] 200
[2026-10-20 17:59:47,240.240 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:59:47,302.302 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:59:47,308.308 INFO    ] No update needed
[2026-10-20 17:59:47,313.313 INFO    ] Checking for camera pi updates...
[2026-10-20 17:59:47,357.357 INFO    ] 200
[2026-10-20 17:59:47,362.362 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:59:47,414.414 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 17:59:47,467.467 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 17:59:47,476.476 INFO    ] No camera update needed
[2026-10-20 17:59:47,484.484 INFO    ] Script finished. Safe exiting...
[2026-10-20 17:59:47,491.491 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 17:59:47,506.506 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 17:59:47,524.524 INFO    ] Thread: Thread-1, daemon=True, alive=True
[2026-10-20 17:59:47,542.542 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 17:59:49,598.598 INFO    ] ================================================
[2026-10-20 17:59:49,613.613 INFO    ] Launching Daemon at Tue Oct 20 17:59:49 IST 2026
[2026-10-20 17:59:49,624.624 INFO    ] ================================================
[2026-10-20 17:59:50,190.190 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 17:59:50
[2026-10-20 17:59:50,775.775 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 17:59:51,035.035 INFO    ] Initializing speech engine...
[2026-10-20 17:59:51,060.060 INFO    ] 2026-10-20 17:59:51
[2026-10-20 17:59:51,332.332 INFO    ] 2026-10-20 17:59:51
[2026-10-20 17:59:51,370.370 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 17:59:51,597.597 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 17:59:51,663.663 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 17:59:51,823.823 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 17:59:51,858.858 INFO    ] time= 20/10/2026 17:59:51
[2026-10-20 17:59:51,912.912 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 17:59:51,956.956 INFO    ] Checking for existing commands in stream...
[2026-10-20 17:59:52,120.120 INFO    ] Found 2 existing command(s) in stream
[2026-10-20 17:59:52,150.150 INFO    ] Checking historical command: ID=1792499387100-0
[2026-10-20 17:59:52,169.169 INFO    ] process_and_cleanup_command: msg_id=1792499387100-0
[2026-10-20 17:59:52,225.225 INFO    ] is_command_expired: timestamp=2026-10-20T12:29:46.895700Z, expiry=30s
[2026-10-20 17:59:52,457.457 INFO    ] Command removed from stream: 1792499387100-0. returning for processing...
[2026-10-20 17:59:52,483.483 INFO    ] ***** get_valid_command
[2026-10-20 17:59:52,519.519 INFO    ] {'status': 'success', 'metadata_request_id': 'start-order-1792499383577-b09pe1plg', 'message_type': 'command_response', 'message': 'start-order success', 'timestamp': '2026-10-20T12:29:46.895700Z', 'imei': 'TM04202203', 'metadata_order_id': 'TM04202203261020175753470'}
[2026-10-20 17:59:52,522.522 INFO    ] Checking historical command: ID=1792499388037-0
[2026-10-20 17:59:52,535.535 INFO    ] process_and_cleanup_command: msg_id=1792499388037-0
[2026-10-20 17:59:52,538.538 INFO    ] is_command_expired: timestamp=2026-10-20T12:29:46.433Z, expiry=30s
[2026-10-20 17:59:52,661.661 INFO    ] Command removed from stream: 1792499388037-0. returning for processing...
[2026-10-20 17:59:52,688.688 INFO    ] ***** get_valid_command
[2026-10-20 17:59:52,691.691 INFO    ] {'timestamp': '2026-10-20T12:29:46.433Z', 'command': 'process-order', 'timeout': '60', 'data': '{"request_id":"process-order-1792499386432-5yqflwpzm","orderId":"TM04202203261020175753470","is_vending":false,"accessCode":"79237801"}', 'source': 'webapp'}
[2026-10-20 17:59:52,698.698 INFO    ] ***** Parsed command data: {'request_id': 'process-order-1792499386432-5yqflwpzm', 'accessCode': '79237801', 'orderId': 'TM04202203261020175753470', 'is_vending': False}
[2026-10-20 17:59:52,717.717 INFO    ] Handling process order...
[2026-10-20 17:59:52,759.759 INFO    ] Processing process-order command...
[2026-10-20 17:59:52,763.763 INFO    ] 🔍 Lock file Order ID: TM04202203261020175753470, TS: 2026-10-20 17:59:46
[2026-10-20 17:59:52,802.802 INFO    ] ✅ Order lock valid for TM04202203261020175753470
[2026-10-20 17:59:52,835.835 INFO    ] Received access code in process-order, skipping PHP API call
[2026-10-20 17:59:52,842.842 INFO    ] processing access code 79237801 for order TM04202203261020175753470
[2026-10-20 17:59:52,847.847 INFO    ] 🔍 Lock file Order ID: TM04202203261020175753470, TS: 2026-10-20 17:59:46
[2026-10-20 17:59:52,854.854 INFO    ] ✅ Order lock valid for TM04202203261020175753470
[2026-10-20 17:59:52,859.859 INFO    ] 2026-10-20 17:59:52
[2026-10-20 17:59:52,974.974 INFO    ] 200
[2026-10-20 17:59:53,029.029 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 17:59:53,041.041 INFO    ] 79237801
[2026-10-20 17:59:53,046.046 INFO    ] 2026-10-20 17:59:53
[2026-10-20 17:59:53,052.052 INFO    ] session id :616538201
[2026-10-20 17:59:53,059.059 INFO    ] http://localhost:5000/v2/getOrderByAccessCode?access_code=79237801&imei=TM04202203&session_id=616538201
[2026-10-20 17:59:55,723.723 INFO    ] 200
[2026-10-20 17:59:55,726.726 INFO    ] {"data": {"access_code": "79237801", "bill_amount": "20", "invoice_bill": "20", "order_id": "TM04202203261020175753470", "mobile": "9398424074", "proposed_sku_json": [{"image_url": "https://images.tinymart.in/product/4500474-4957.jpg", "door_id": "1", "mrp": "20", "offer_id": "", "name": "Bingo Mad Angles Tomato Madess, 60g", "unit_price": 20, "qty": 1, "offer_desc": "", "skuid": "4500474", "sku_total": 20, "tray_id": "17"}]}, "status": true, "msg": "Order Data", "rstatus": true}
[2026-10-20 17:59:55,728.728 INFO    ] 20
[2026-10-20 17:59:55,731.731 INFO    ] TM04202203261020175753470
[2026-10-20 17:59:55,733.733 INFO    ] 9398424074
[2026-10-20 17:59:55,735.735 INFO    ] 2026-10-20 17:59:55
[2026-10-20 17:59:55,738.738 INFO    ] Door Opening for user mobile ending with  four zero seven four 
[2026-10-20 17:59:55,740.740 INFO    ] Door Opening for user mobile ending with  four zero seven four 
[2026-10-20 17:59:55,742.742 INFO    ] ce0a02a6361a3ef01e8bb94e376d1431
[2026-10-20 17:59:55,745.745 INFO    ] 2026-10-20 17:59:55
[2026-10-20 17:59:55,747.747 INFO    ] playing audio file
[2026-10-20 17:59:55,764.764 INFO    ] 2026-10-20 17:59:55
[2026-10-20 17:59:55,767.767 INFO    ] 2026-10-20 17:59:55
[2026-10-20 17:59:55,771.771 INFO    ] publish_status: order_id=TM04202203261020175753470
[2026-10-20 17:59:55,774.774 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020175753470
[2026-10-20 17:59:55,849.849 INFO    ] [publish_status] Message added to stream with ID: 1792499395902-0
[2026-10-20 17:59:55,852.852 INFO    ] Published to order:TM04202203261020175753470: {'server_response': '{"status": true, "rstatus": true, "data": {"bill_amount": "20", "order_id": "TM04202203261020175753470", "invoice_bill": "20", "access_code": "79237801", "proposed_sku_json": [{"skuid": "4500474", "name": "Bingo Mad Angles Tomato Madess, 60g", "offer_id": "", "unit_price": 20, "tray_id": "17", "sku_total": 20, "offer_desc": "", "qty": 1, "image_url": "https://images.tinymart.in/product/4500474-4957.jpg", "door_id": "1", "mrp": "20"}], "mobile": "9398424074"}, "msg": "Order Data"}', 'timestamp': '2026-10-20T12:29:55.769276Z', 'order_id': 'TM04202203261020175753470', 'server_status': 'order-started'} (ID: 1792499395902-0)
[2026-10-20 17:59:56,484.484 INFO    ] {'server_response': {'status': True, 'rstatus': True, 'data': {'bill_amount': '20', 'order_id': 'TM04202203261020175753470', 'invoice_bill': '20', 'access_code': '79237801', 'proposed_sku_json': [{'skuid': '4500474', 'name': 'Bingo Mad Angles Tomato Madess, 60g', 'offer_id': '', 'unit_price': 20, 'tray_id': '17', 'sku_total': 20, 'offer_desc': '', 'qty': 1, 'image_url': 'https://images.tinymart.in/product/4500474-4957.jpg', 'door_id': '1', 'mrp': '20'}], 'mobile': '9398424074'}, 'msg': 'Order Data'}, 'order_id': 'TM04202203261020175753470', 'server_status': 'order-started'}
[2026-10-20 17:59:56,486.486 INFO    ] 200
[2026-10-20 17:59:56,489.489 INFO    ] {"data":{"server_response":{"status":true,"rstatus":true,"data":{"bill_amount":"20","order_id":"TM04202203261020175753470","invoice_bill":"20","access_code":"79237801","proposed_sku_json":[{"skuid":"4500474","name":"Bingo Mad Angles Tomato Madess, 60g","offer_id":"","unit_price":20,"tray_id":"17","sku_total":20,"offer_desc":"","qty":1,"image_url":"https:\/\/images.tinymart.in\/product\/4500474-4957.jpg","door_id":"1","mrp":"20"}],"mobile":"9398424074"},"msg":"Order Data"},"order_id":"TM04202203261020175753470","server_status":"order-started"},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 17:59:56,492.492 INFO    ] {'response': {'status': True, 'code': 'ORDER_EXISTS', 'data': 'order updated successfully', 'msg': 'order updated successfully'}, 'data': {'server_response': {'status': True, 'rstatus': True, 'data': {'mobile': '9398424074', 'order_id': 'TM04202203261020175753470', 'invoice_bill': '20', 'access_code': '79237801', 'proposed_sku_json': [{'skuid': '4500474', 'name': 'Bingo Mad Angles Tomato Madess, 60g', 'offer_id': '', 'mrp': '20', 'door_id': '1', 'tray_id': '17', 'offer_desc': '', 'qty': 1, 'image_url': 'https://images.tinymart.in/product/4500474-4957.jpg', 'unit_price': 20, 'sku_total': 20}], 'bill_amount': '20'}, 'msg': 'Order Data'}, 'order_id': 'TM04202203261020175753470', 'server_status': 'order-started'}}
[2026-10-20 17:59:56,494.494 INFO    ] 2026-10-20 17:59:56
[2026-10-20 17:59:56,543.543 INFO    ] 200
[2026-10-20 17:59:56,547.547 INFO    ] True
[2026-10-20 17:59:56,684.684 INFO    ] 200
[2026-10-20 17:59:56,688.688 INFO    ] {"SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "rstatus": false, "voiceNote": "Please Wait", "status": "False", "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait while we process your order", "Note": "", "Header": " Your order is under process  "}, "SectionMain": {"Header": "Processing Order"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 17:59:56,692.692 INFO    ] {'status': 'False', 'SectionSKU': {'Header': 'Thank you for bearing with us :)', 'skus': []}, 'error': {'umessage': 'In Progress', 'tmessage': 'In Progress', 'code': 20001, 'data': {}}, 'SectionStatus': {'Header': ' Your order is under process  ', 'SubHeader': 'Please wait while we process your order', 'Note': '', 'UI_Header': ''}, 'rstatus': False, 'voiceNote': 'Please Wait', 'SectionMain': {'Header': 'Processing Order'}}
[2026-10-20 17:59:56,695.695 INFO    ] *** process_order ***
[2026-10-20 17:59:57,879.879 INFO    ] 200
[2026-10-20 17:59:57,882.882 INFO    ] {"SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "rstatus": true, "voiceNote": "Please Wait", "delay": 0, "status": "True", "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait while we process your order", "Note": "", "Header": " Your order is under process  "}, "SectionMain": {"Header": "Processing Order"}}
[2026-10-20 17:59:57,885.885 INFO    ] {'status': 'True', 'SectionSKU': {'Header': 'Thank you for bearing with us :)', 'skus': []}, 'SectionStatus': {'Header': ' Your order is under process  ', 'SubHeader': 'Please wait while we process your order', 'Note': '', 'UI_Header': ''}, 'delay': 0, 'rstatus': True, 'voiceNote': 'Please Wait', 'SectionMain': {'Header': 'Processing Order'}}
[2026-10-20 17:59:57,887.887 INFO    ] *** process_order ***
[2026-10-20 17:59:57,890.890 INFO    ] publish_status: order_id=TM04202203261020175753470
[2026-10-20 17:59:57,893.893 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020175753470
[2026-10-20 17:59:57,980.980 INFO    ] [publish_status] Message added to stream with ID: 1792499398032-0
[2026-10-20 17:59:57,983.983 INFO    ] Published to order:TM04202203261020175753470: {'server_response': '{"status": "True", "SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "SectionStatus": {"Header": " Your order is under process  ", "SubHeader": "You can pull the door now.", "Note": "", "UI_Header": ""}, "delay": 0, "rstatus": true, "voiceNote": "Door is open...", "SectionMain": {"Header": "Processing Order"}}', 'order_id': 'TM04202203261020175753470', 'server_status': 'doorOpened'} (ID: 1792499398032-0)
[2026-10-20 17:59:59,052.052 INFO    ] 2026-10-20 17:59:59
[2026-10-20 17:59:59,056.056 INFO    ] publish_status: order_id=TM04202203261020175753470
[2026-10-20 17:59:59,060.060 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020175753470
[2026-10-20 17:59:59,160.160 INFO    ] [publish_status] Message added to stream with ID: 1792499399213-0
[2026-10-20 17:59:59,164.164 INFO    ] Published to order:TM04202203261020175753470: {'server_response': '{"status": "True", "SectionSKU": {"Header": "Thank you for bearing with us :)", "skus": []}, "SectionStatus": {"Header": " Your order is under process  ", "SubHeader": "Please wait while we process your order", "Note": "", "UI_Header": ""}, "delay": 0, "rstatus": true, "voiceNote": "Please Wait", "SectionMain": {"Header": "Processing Order"}}', 'timestamp': '2026-10-20T12:29:59.053728Z', 'order_id': 'TM04202203261020175753470', 'server_status': 'processOrder'} (ID: 1792499399213-0)
[2026-10-20 17:59:59,342.342 INFO    ] {'server_response': {'status': 'True', 'SectionSKU': {'Header': 'Thank you for bearing with us :)', 'skus': []}, 'SectionStatus': {'Header': ' Your order is under process  ', 'SubHeader': 'Please wait while we process your order', 'Note': '', 'UI_Header': ''}, 'delay': 0, 'rstatus': True, 'voiceNote': 'Please Wait', 'SectionMain': {'Header': 'Processing Order'}}, 'order_id': 'TM04202203261020175753470', 'server_status': 'processOrder'}
[2026-10-20 17:59:59,346.346 INFO    ] 200
[2026-10-20 17:59:59,348.348 INFO    ] {"data":{"server_response":{"status":"true","SectionSKU":{"Header":"Thank you for bearing with us :)","skus":[]},"SectionStatus":{"Header":" Your order is under process  ","SubHeader":"Please wait while we process your order","Note":"","UI_Header":""},"delay":0,"rstatus":true,"voiceNote":"Please Wait","SectionMain":{"Header":"Processing Order"}},"order_id":"TM04202203261020175753470","server_status":"processOrder"},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 17:59:59,352.352 INFO    ] {'response': {'status': True, 'code': 'ORDER_EXISTS', 'data': 'order updated successfully', 'msg': 'order updated successfully'}, 'data': {'server_response': {'status': 'true', 'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'SectionStatus': {'SubHeader': 'Please wait while we process your order', 'Header': ' Your order is under process  ', 'Note': '', 'UI_Header': ''}, 'delay': 0, 'rstatus': True, 'voiceNote': 'Please Wait', 'SectionMain': {'Header': 'Processing Order'}}, 'order_id': 'TM04202203261020175753470', 'server_status': 'processOrder'}}
[2026-10-20 17:59:59,356.356 INFO    ] 2026-10-20 17:59:59
[2026-10-20 17:59:59,359.359 INFO    ] None
[2026-10-20 17:59:59,362.362 INFO    ] Opening Door now
[2026-10-20 17:59:59,365.365 INFO    ] Opening Door now
[2026-10-20 17:59:59,368.368 INFO    ] 08e5d1063504bf393c26f0bfa436e9f9
[2026-10-20 17:59:59,372.372 INFO    ] 2026-10-20 17:59:59
[2026-10-20 17:59:59,375.375 INFO    ] playing audio file
[2026-10-20 17:59:59,392.392 INFO    ] 2026-10-20 17:59:59
[2026-10-20 17:59:59,396.396 INFO    ] 2026-10-20 17:59:59
[2026-10-20 18:00:03,039.039 INFO    ] 200
[2026-10-20 18:00:03,042.042 INFO    ] {"SectionSKU": {"skus": [{"name": "Bingo Mad Angles Tomato Madess, 60g", "qty": 1}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Door 1 is open now", "status": "False", "SectionStatus": {"UI_Header": "DOOR 1\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 1"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 18:00:03,046.046 INFO    ] {'status': 'False', 'SectionSKU': {'Header': 'Pick the below items from the door', 'skus': [{'name': 'Bingo Mad Angles Tomato Madess, 60g', 'qty': 1}]}, 'error': {'umessage': 'In Progress', 'tmessage': 'In Progress', 'code': 20001, 'data': {}}, 'SectionStatus': {'Header': 'Please Close Door 1', 'SubHeader': 'Please Pick the Products and close the door', 'Note': 'Please Close the door after picking up products', 'UI_Header': 'DOOR 1\nIS \nOPEN \nNOW'}, 'rstatus': False, 'voiceNote': 'Door 1 is open now', 'SectionMain': {'Header': 'Door Open'}}
[2026-10-20 18:00:06,267.267 INFO    ] 200
[2026-10-20 18:00:06,270.270 INFO    ] {"SectionSKU": {"skus": [{"name": "Bingo Mad Angles Tomato Madess, 60g", "qty": 1}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Please close door 1", "status": "False", "SectionStatus": {"UI_Header": "DOOR 1\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 1"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 18:00:06,274.274 INFO    ] {'status': 'False', 'SectionSKU': {'Header': 'Pick the below items from the door', 'skus': [{'name': 'Bingo Mad Angles Tomato Madess, 60g', 'qty': 1}]}, 'error': {'umessage': 'In Progress', 'tmessage': 'In Progress', 'code': 20001, 'data': {}}, 'SectionStatus': {'Header': 'Please Close Door 1', 'SubHeader': 'Please Pick the Products and close the door', 'Note': 'Please Close the door after picking up products', 'UI_Header': 'DOOR 1\nIS \nOPEN \nNOW'}, 'rstatus': False, 'voiceNote': 'Please close door 1', 'SectionMain': {'Header': 'Door Open'}}
[2026-10-20 18:00:09,347.347 INFO    ] 200
[2026-10-20 18:00:09,350.350 INFO    ] {"SectionSKU": {"skus": [{"name": "Bingo Mad Angles Tomato Madess, 60g", "qty": 1}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Please close door 1", "status": "False", "SectionStatus": {"UI_Header": "DOOR 1\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 1"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 18:00:09,353.353 INFO    ] Please close door 1
[2026-10-20 18:00:09,355.355 INFO    ] Please close door 1
[2026-10-20 18:00:09,358.358 INFO    ] 787c302d53ab591e55c034b99c7aadd2
[2026-10-20 18:00:09,361.361 INFO    ] 2026-10-20 18:00:09
[2026-10-20 18:00:09,364.364 INFO    ] playing audio file
[2026-10-20 18:00:09,381.381 INFO    ] 2026-10-20 18:00:09
[2026-10-20 18:00:09,385.385 INFO    ] publish_status: order_id=TM04202203261020175753470
[2026-10-20 18:00:09,387.387 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020175753470
[2026-10-20 18:00:09,492.492 INFO    ] [publish_status] Message added to stream with ID: 1792499409544-0
[2026-10-20 18:00:09,495.495 INFO    ] Published to order:TM04202203261020175753470: {'server_response': '{"status": "False", "SectionSKU": {"Header": "Pick the below items from the door", "skus": [{"name": "Bingo Mad Angles Tomato Madess, 60g", "qty": 1}]}, "error": {"umessage": "In Progress", "tmessage": "In Progress", "code": 20001, "data": {}}, "SectionStatus": {"Header": "Please Close Door 1", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "UI_Header": "DOOR 1\\nIS \\nOPEN \\nNOW"}, "rstatus": false, "voiceNote": "Please close door 1", "SectionMain": {"Header": "Door Open"}}', 'timestamp': '2026-10-20T12:30:09.383427Z', 'order_id': 'TM04202203261020175753470', 'server_status': 'OrderStatus'} (ID: 1792499409544-0)
[2026-10-20 18:00:11,147.147 INFO    ] {'server_response': {'status': 'False', 'SectionSKU': {'Header': 'Pick the below items from the door', 'skus': [{'name': 'Bingo Mad Angles Tomato Madess, 60g', 'qty': 1}]}, 'error': {'umessage': 'In Progress', 'tmessage': 'In Progress', 'code': 20001, 'data': {}}, 'SectionStatus': {'Header': 'Please Close Door 1', 'SubHeader': 'Please Pick the Products and close the door', 'Note': 'Please Close the door after picking up products', 'UI_Header': 'DOOR 1\nIS \nOPEN \nNOW'}, 'rstatus': False, 'voiceNote': 'Please close door 1', 'SectionMain': {'Header': 'Door Open'}}, 'order_id': 'TM04202203261020175753470', 'server_status': 'OrderStatus'}
[2026-10-20 18:00:11,150.150 INFO    ] 200
[2026-10-20 18:00:11,153.153 INFO    ] {"data":{"server_response":{"status":"false","SectionSKU":{"Header":"Pick the below items from the door","skus":[{"name":"Bingo Mad Angles Tomato Madess, 60g","qty":1}]},"error":{"umessage":"In Progress","tmessage":"In Progress","code":20001,"data":[]},"SectionStatus":{"Header":"Please Close Door 1","SubHeader":"Please Pick the Products and close the door","Note":"Please Close the door after picking up products","UI_Header":"DOOR 1\nIS \nOPEN \nNOW"},"rstatus":false,"voiceNote":"Please close door 1","SectionMain":{"Header":"Door Open"}},"order_id":"TM04202203261020175753470","server_status":"OrderStatus"},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 18:00:11,156.156 INFO    ] {'response': {'status': True, 'code': 'ORDER_EXISTS', 'data': 'order updated successfully', 'msg': 'order updated successfully'}, 'data': {'server_response': {'status': 'false', 'SectionSKU': {'skus': [{'name': 'Bingo Mad Angles Tomato Madess, 60g', 'qty': 1}], 'Header': 'Pick the below items from the door'}, 'error': {'umessage': 'In Progress', 'tmessage': 'In Progress', 'code': 20001, 'data': []}, 'SectionStatus': {'SubHeader': 'Please Pick the Products and close the door', 'Header': 'Please Close Door 1', 'Note': 'Please Close the door after picking up products', 'UI_Header': 'DOOR 1\nIS \nOPEN \nNOW'}, 'rstatus': False, 'voiceNote': 'Please close door 1', 'SectionMain': {'Header': 'Door Open'}}, 'order_id': 'TM04202203261020175753470', 'server_status': 'OrderStatus'}}
[2026-10-20 18:00:11,159.159 INFO    ] {'status': 'False', 'SectionSKU': {'Header': 'Pick the below items from the door', 'skus': [{'name': 'Bingo Mad Angles Tomato Madess, 60g', 'qty': 1}]}, 'error': {'umessage': 'In Progress', 'tmessage': 'In Progress', 'code': 20001, 'data': {}}, 'SectionStatus': {'Header': 'Please Close Door 1', 'SubHeader': 'Please Pick the Products and close the door', 'Note': 'Please Close the door after picking up products', 'UI_Header': 'DOOR 1\nIS \nOPEN \nNOW'}, 'rstatus': False, 'voiceNote': 'Please close door 1', 'SectionMain': {'Header': 'Door Open'}}
[2026-10-20 18:00:14,258.258 INFO    ] 200
[2026-10-20 18:00:14,261.261 INFO    ] {"SectionSKU": {"skus": [{"name": "Bingo Mad Angles Tomato Madess, 60g", "qty": 1}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Please close door 1", "status": "False", "SectionStatus": {"UI_Header": "DOOR 1\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 1"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 18:00:14,264.264 INFO    ] {'status': 'False', 'SectionSKU': {'Header': 'Pick the below items from the door', 'skus': [{'name': 'Bingo Mad Angles Tomato Madess, 60g', 'qty': 1}]}, 'error': {'umessage': 'In Progress', 'tmessage': 'In Progress', 'code': 20001, 'data': {}}, 'SectionStatus': {'Header': 'Please Close Door 1', 'SubHeader': 'Please Pick the Products and close the door', 'Note': 'Please Close the door after picking up products', 'UI_Header': 'DOOR 1\nIS \nOPEN \nNOW'}, 'rstatus': False, 'voiceNote': 'Please close door 1', 'SectionMain': {'Header': 'Door Open'}}
[2026-10-20 18:00:17,324.324 INFO    ] 200
[2026-10-20 18:00:17,327.327 INFO    ] {"SectionSKU": {"skus": [], "Header": "If you like us, tell others... else tell us"}, "rstatus": true, "voiceNote": "Transaction Completed", "delay": 100, "status": "True", "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait for invoice to generate", "Note": "If any due amount, clear at https://go.tinymart.in", "Header": " Order is complete "}, "SectionMain": {"Header": "Door Closed"}}
[2026-10-20 18:00:17,330.330 INFO    ] {'status': 'True', 'SectionSKU': {'Header': 'If you like us, tell others... else tell us', 'skus': []}, 'SectionStatus': {'Header': ' Order is complete ', 'SubHeader': 'Please wait for invoice to generate', 'Note': 'If any due amount, clear at https://go.tinymart.in', 'UI_Header': ''}, 'delay': 100, 'rstatus': True, 'voiceNote': 'Transaction Completed', 'SectionMain': {'Header': 'Door Closed'}}
[2026-10-20 18:00:17,333.333 INFO    ] 2026-10-20 18:00:17
[2026-10-20 18:00:17,335.335 INFO    ] Order Completed 
[2026-10-20 18:00:17,338.338 INFO    ] Order Completed 
[2026-10-20 18:00:17,341.341 INFO    ] 193c8a8cf3bf490ccfe0b23598544a83
[2026-10-20 18:00:17,344.344 INFO    ] 2026-10-20 18:00:17
[2026-10-20 18:00:17,346.346 INFO    ] playing audio file
[2026-10-20 18:00:17,364.364 INFO    ] 2026-10-20 18:00:17
[2026-10-20 18:00:17,367.367 INFO    ] {'status': 'True', 'SectionSKU': {'Header': 'If you like us, tell others... else tell us', 'skus': []}, 'SectionStatus': {'Header': ' Order is complete ', 'SubHeader': 'Please wait for invoice to generate', 'Note': 'If any due amount, clear at https://go.tinymart.in', 'UI_Header': ''}, 'delay': 100, 'rstatus': True, 'voiceNote': 'Transaction Completed', 'SectionMain': {'Header': 'Door Closed'}}
[2026-10-20 18:00:17,371.371 INFO    ] 2026-10-20 18:00:17
[2026-10-20 18:00:19,754.754 INFO    ] 200
[2026-10-20 18:00:19,756.756 INFO    ] {"rstatus": true, "logic": "WBL", "skus": [{"door_id": "", "name": "Bingo Mad Angles Very Peri Peri, 60g per peice", "mrp": "20", "skuid": "4500448", "unit_price": "20", "qty": 1, "tray_id": "12", "sku_total": 20.0, "image_url": "https://images.tinymart.in/product/4500448-1081.jpg"}], "orderId": "TM04202203261020175753470", "res": "True", "total_amount": 20.0, "anomaly": 0}
[2026-10-20 18:00:19,760.760 INFO    ] {'skus': [{'skuid': '4500448', 'name': 'Bingo Mad Angles Very Peri Peri, 60g per peice', 'door_id': '', 'tray_id': '12', 'qty': 1, 'image_url': 'https://images.tinymart.in/product/4500448-1081.jpg', 'mrp': '20', 'unit_price': '20', 'sku_total': 20.0}], 'total_amount': 20.0, 'res': 'True', 'logic': 'WBL', 'anomaly': 0, 'rstatus': True, 'orderId': 'TM04202203261020175753470'}
[2026-10-20 18:00:19,763.763 INFO    ] {'skus': [{'skuid': '4500448', 'name': 'Bingo Mad Angles Very Peri Peri, 60g per peice', 'door_id': '', 'tray_id': '12', 'qty': 1, 'image_url': 'https://images.tinymart.in/product/4500448-1081.jpg', 'mrp': '20', 'unit_price': '20', 'sku_total': 20.0}], 'total_amount': 20.0, 'res': 'True', 'logic': 'WBL', 'anomaly': 0, 'rstatus': True, 'orderId': 'TM04202203261020175753470'}
[2026-10-20 18:00:19,765.765 INFO    ] 2026-10-20 18:00:19
[2026-10-20 18:00:19,769.769 INFO    ] 2026-10-20 18:00:19
[2026-10-20 18:00:19,771.771 INFO    ] 20
[2026-10-20 18:00:19,774.774 INFO    ] 2026-10-20 18:00:19
[2026-10-20 18:00:19,777.777 INFO    ] 2026-10-20 18:00:19
[2026-10-20 18:00:19,779.779 INFO    ]  Your Bill Amount is 20
[2026-10-20 18:00:19,782.782 INFO    ]  Your Bill Amount is 20
[2026-10-20 18:00:19,785.785 INFO    ] 69e7720cf62ffa67ab0522541575e508
[2026-10-20 18:00:19,788.788 INFO    ] 2026-10-20 18:00:19
[2026-10-20 18:00:19,790.790 INFO    ] playing audio file
[2026-10-20 18:00:19,807.807 INFO    ] 2026-10-20 18:00:19
[2026-10-20 18:00:19,811.811 INFO    ] 2026-10-20 18:00:19
[2026-10-20 18:00:19,814.814 INFO    ] publish_status: order_id=TM04202203261020175753470
[2026-10-20 18:00:19,817.817 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020175753470
[2026-10-20 18:00:19,930.930 INFO    ] [publish_status] Message added to stream with ID: 1792499419981-0
[2026-10-20 18:00:19,932.932 INFO    ] Published to order:TM04202203261020175753470: {'server_response': '{"skus": [{"skuid": "4500448", "name": "Bingo Mad Angles Very Peri Peri, 60g per peice", "door_id": "", "tray_id": "12", "qty": 1, "image_url": "https://images.tinymart.in/product/4500448-1081.jpg", "mrp": "20", "unit_price": "20", "sku_total": 20.0}], "total_amount": 20.0, "res": "True", "logic": "WBL", "anomaly": 0, "rstatus": true, "orderId": "TM04202203261020175753470"}', 'timestamp': '2026-10-20T12:30:19.812790Z', 'order_id': 'TM04202203261020175753470', 'server_status': 'invoiceOrder'} (ID: 1792499419981-0)
[2026-10-20 18:00:20,573.573 INFO    ] {'server_response': {'skus': [{'skuid': '4500448', 'name': 'Bingo Mad Angles Very Peri Peri, 60g per peice', 'door_id': '', 'tray_id': '12', 'qty': 1, 'image_url': 'https://images.tinymart.in/product/4500448-1081.jpg', 'mrp': '20', 'unit_price': '20', 'sku_total': 20.0}], 'total_amount': 20.0, 'res': 'True', 'logic': 'WBL', 'anomaly': 0, 'rstatus': True, 'orderId': 'TM04202203261020175753470'}, 'order_id': 'TM04202203261020175753470', 'server_status': 'invoiceOrder'}
[2026-10-20 18:00:20,577.577 INFO    ] 200
[2026-10-20 18:00:20,580.580 INFO    ] {"data":{"server_response":{"skus":[{"skuid":"4500448","name":"Bingo Mad Angles Very Peri Peri, 60g per peice","door_id":"","tray_id":"12","qty":1,"image_url":"https:\/\/images.tinymart.in\/product\/4500448-1081.jpg","mrp":"20","unit_price":"20","sku_total":20}],"total_amount":20,"res":"true","logic":"WBL","anomaly":0,"rstatus":true,"orderId":"TM04202203261020175753470"},"order_id":"TM04202203261020175753470","server_status":"invoiceOrder"},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 18:00:20,584.584 INFO    ] {'response': {'status': True, 'code': 'ORDER_EXISTS', 'data': 'order updated successfully', 'msg': 'order updated successfully'}, 'data': {'server_response': {'skus': [{'skuid': '4500448', 'name': 'Bingo Mad Angles Very Peri Peri, 60g per peice', 'sku_total': 20, 'unit_price': '20', 'tray_id': '12', 'qty': 1, 'image_url': 'https://images.tinymart.in/product/4500448-1081.jpg', 'door_id': '', 'mrp': '20'}], 'total_amount': 20, 'res': 'true', 'logic': 'WBL', 'anomaly': 0, 'rstatus': True, 'orderId': 'TM04202203261020175753470'}, 'order_id': 'TM04202203261020175753470', 'server_status': 'invoiceOrder'}}
[2026-10-20 18:00:20,588.588 INFO    ] {'response': {'status': True, 'code': 'ORDER_EXISTS', 'data': 'order updated successfully', 'msg': 'order updated successfully'}, 'data': {'server_response': {'skus': [{'skuid': '4500448', 'name': 'Bingo Mad Angles Very Peri Peri, 60g per peice', 'sku_total': 20, 'unit_price': '20', 'tray_id': '12', 'qty': 1, 'image_url': 'https://images.tinymart.in/product/4500448-1081.jpg', 'door_id': '', 'mrp': '20'}], 'total_amount': 20, 'res': 'true', 'logic': 'WBL', 'anomaly': 0, 'rstatus': True, 'orderId': 'TM04202203261020175753470'}, 'order_id': 'TM04202203261020175753470', 'server_status': 'invoiceOrder'}}
[2026-10-20 18:00:20,594.594 INFO    ] 2026-10-20 18:00:20
[2026-10-20 18:00:21,486.486 INFO    ] 200
[2026-10-20 18:00:21,491.491 INFO    ] Expecting value: line 1 column 1 (char 0)
[2026-10-20 18:00:21,494.494 INFO    ] <class 'json.decoder.JSONDecodeError'>
[2026-10-20 18:00:21,512.512 INFO    ] ('Expecting value: line 1 column 1 (char 0)',)
[2026-10-20 18:00:21,519.519 INFO    ] Expecting value: line 1 column 1 (char 0)
[2026-10-20 18:00:21,527.527 INFO    ] 2026-10-20 18:00:21
[2026-10-20 18:00:21,916.916 INFO    ] 200
[2026-10-20 18:00:21,920.920 INFO    ] True
[2026-10-20 18:00:21,923.923 INFO    ] cleanup_start_order_file_after_processing: order_id=TM04202203261020175753470
[2026-10-20 18:00:21,927.927 INFO    ] start order file deleted
[2026-10-20 18:00:21,930.930 INFO    ] Checking for system updates...
[2026-10-20 18:00:22,051.051 INFO    ] 200
[2026-10-20 18:00:22,053.053 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:00:22,138.138 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:00:22,141.141 INFO    ] No update needed
[2026-10-20 18:00:22,143.143 INFO    ] Checking for camera pi updates...
[2026-10-20 18:00:22,180.180 INFO    ] 200
[2026-10-20 18:00:22,182.182 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:00:22,232.232 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:00:22,363.363 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:00:22,365.365 INFO    ] No camera update needed
[2026-10-20 18:00:22,367.367 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:00:22,370.370 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:00:22,375.375 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:00:22,380.380 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:00:24,421.421 INFO    ] ================================================
[2026-10-20 18:00:24,437.437 INFO    ] Launching Daemon at Tue Oct 20 18:00:24 IST 2026
[2026-10-20 18:00:24,448.448 INFO    ] ================================================
[2026-10-20 18:00:25,019.019 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:00:25
[2026-10-20 18:00:25,610.610 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:00:25,871.871 INFO    ] Initializing speech engine...
[2026-10-20 18:00:25,876.876 INFO    ] 2026-10-20 18:00:25
[2026-10-20 18:00:26,173.173 INFO    ] 2026-10-20 18:00:26
[2026-10-20 18:00:26,208.208 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:00:26,389.389 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:00:26,413.413 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:00:26,549.549 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:00:26,556.556 INFO    ] time= 20/10/2026 18:00:26
[2026-10-20 18:00:26,562.562 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:00:26,577.577 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:00:26,687.687 INFO    ] Found 1 existing command(s) in stream
[2026-10-20 18:00:26,699.699 INFO    ] Checking historical command: ID=1792499416095-0
[2026-10-20 18:00:26,758.758 INFO    ] process_and_cleanup_command: msg_id=1792499416095-0
[2026-10-20 18:00:26,808.808 INFO    ] is_command_expired: timestamp=2026-10-20T12:30:15.222Z, expiry=30s
[2026-10-20 18:00:27,005.005 INFO    ] Command removed from stream: 1792499416095-0. returning for processing...
[2026-10-20 18:00:27,044.044 INFO    ] ***** get_valid_command
[2026-10-20 18:00:27,058.058 INFO    ] {'command': 'start-order', 'timestamp': '2026-10-20T12:30:15.222Z', 'data': '{"request_id":"start-order-1792499415222-4xs9otsum","orderId":"TM04202203261020175910389","is_vending":false}', 'timeout': '10', 'source': 'webapp'}
[2026-10-20 18:00:27,103.103 INFO    ] ***** Parsed command data: {'request_id': 'start-order-1792499415222-4xs9otsum', 'is_vending': False, 'orderId': 'TM04202203261020175910389'}
[2026-10-20 18:00:27,148.148 INFO    ] Handling start order...
[2026-10-20 18:00:27,181.181 INFO    ] handle_start_order_command
[2026-10-20 18:00:27,256.256 INFO    ] _send_start_order_success: request_id=start-order-1792499415222-4xs9otsum, order_id=TM04202203261020175910389
[2026-10-20 18:00:27,300.300 INFO    ] [_send_start_order_success] Adding message to stream: machine:TM04202203
[2026-10-20 18:00:27,422.422 INFO    ] [_send_start_order_success] Message added to stream with ID: 1792499427475-0
[2026-10-20 18:00:27,425.425 INFO    ] ✅ Start-order command succeeded - order locked, waiting for process-order command
[2026-10-20 18:00:27,428.428 INFO    ] Checking for system updates...
[2026-10-20 18:00:27,555.555 INFO    ] 200
[2026-10-20 18:00:27,578.578 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:00:27,687.687 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:00:27,693.693 INFO    ] No update needed
[2026-10-20 18:00:27,698.698 INFO    ] Checking for camera pi updates...
[2026-10-20 18:00:27,795.795 INFO    ] 200
[2026-10-20 18:00:27,847.847 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:00:27,898.898 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:00:27,955.955 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:00:27,960.960 INFO    ] No camera update needed
[2026-10-20 18:00:27,965.965 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:00:27,970.970 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:00:27,981.981 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:00:27,992.992 INFO    ] Thread: Thread-1, daemon=True, alive=True
[2026-10-20 18:00:28,002.002 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:00:30,046.046 INFO    ] ================================================
[2026-10-20 18:00:30,061.061 INFO    ] Launching Daemon at Tue Oct 20 18:00:30 IST 2026
[2026-10-20 18:00:30,073.073 INFO    ] ================================================
[2026-10-20 18:00:30,730.730 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:00:30
[2026-10-20 18:00:31,410.410 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:00:31,697.697 INFO    ] Initializing speech engine...
[2026-10-20 18:00:31,705.705 INFO    ] 2026-10-20 18:00:31
[2026-10-20 18:00:32,026.026 INFO    ] 2026-10-20 18:00:31
[2026-10-20 18:00:32,072.072 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:00:32,286.286 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:00:32,318.318 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:00:32,476.476 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:00:32,486.486 INFO    ] time= 20/10/2026 18:00:32
[2026-10-20 18:00:32,494.494 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:00:32,535.535 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:00:32,681.681 INFO    ] Found 2 existing command(s) in stream
[2026-10-20 18:00:32,716.716 INFO    ] Checking historical command: ID=1792499427475-0
[2026-10-20 18:00:32,752.752 INFO    ] process_and_cleanup_command: msg_id=1792499427475-0
[2026-10-20 18:00:32,758.758 INFO    ] is_command_expired: timestamp=2026-10-20T12:30:27.262870Z, expiry=30s
[2026-10-20 18:00:32,942.942 INFO    ] Command removed from stream: 1792499427475-0. returning for processing...
[2026-10-20 18:00:32,971.971 INFO    ] ***** get_valid_command
[2026-10-20 18:00:33,025.025 INFO    ] {'metadata_order_id': 'TM04202203261020175910389', 'imei': 'TM04202203', 'message_type': 'command_response', 'timestamp': '2026-10-20T12:30:27.262870Z', 'status': 'success', 'metadata_request_id': 'start-order-1792499415222-4xs9otsum', 'message': 'start-order success'}
[2026-10-20 18:00:33,070.070 INFO    ] Checking historical command: ID=1792499428958-0
[2026-10-20 18:00:33,092.092 INFO    ] process_and_cleanup_command: msg_id=1792499428958-0
[2026-10-20 18:00:33,139.139 INFO    ] is_command_expired: timestamp=2026-10-20T12:30:28.155Z, expiry=30s
[2026-10-20 18:00:33,300.300 INFO    ] Command removed from stream: 1792499428958-0. returning for processing...
[2026-10-20 18:00:33,317.317 INFO    ] ***** get_valid_command
[2026-10-20 18:00:33,330.330 INFO    ] {'timeout': '60', 'command': 'process-order', 'timestamp': '2026-10-20T12:30:28.155Z', 'source': 'webapp', 'data': '{"request_id":"process-order-1792499428154-sorrrsmpp","orderId":"TM04202203261020175910389","is_vending":false,"accessCode":"93921881"}'}
[2026-10-20 18:00:33,333.333 INFO    ] ***** Parsed command data: {'is_vending': False, 'request_id': 'process-order-1792499428154-sorrrsmpp', 'accessCode': '93921881', 'orderId': 'TM04202203261020175910389'}
[2026-10-20 18:00:33,336.336 INFO    ] Handling process order...
[2026-10-20 18:00:33,339.339 INFO    ] Processing process-order command...
[2026-10-20 18:00:33,342.342 INFO    ] 🔍 Lock file Order ID: TM04202203261020175910389, TS: 2026-10-20 18:00:27
[2026-10-20 18:00:33,437.437 INFO    ] ✅ Order lock valid for TM04202203261020175910389
[2026-10-20 18:00:33,492.492 INFO    ] Received access code in process-order, skipping PHP API call
[2026-10-20 18:00:33,508.508 INFO    ] processing access code 93921881 for order TM04202203261020175910389
[2026-10-20 18:00:33,516.516 INFO    ] 🔍 Lock file Order ID: TM04202203261020175910389, TS: 2026-10-20 18:00:27
[2026-10-20 18:00:33,571.571 INFO    ] ✅ Order lock valid for TM04202203261020175910389
[2026-10-20 18:00:33,579.579 INFO    ] 2026-10-20 18:00:33
[2026-10-20 18:00:33,656.656 INFO    ] 200
[2026-10-20 18:00:33,660.660 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:00:33,665.665 INFO    ] 93921881
[2026-10-20 18:00:33,670.670 INFO    ] 2026-10-20 18:00:33
[2026-10-20 18:00:33,673.673 INFO    ] session id :924102996
[2026-10-20 18:00:33,678.678 INFO    ] http://localhost:5000/v2/getOrderByAccessCode?access_code=93921881&imei=TM04202203&session_id=924102996
[2026-10-20 18:00:34,813.813 INFO    ] 200
[2026-10-20 18:00:34,817.817 INFO    ] {"data": {}, "status": false, "error": {"data": {}, "tmessage": "No Internet", "code": 20002, "umessage": "Internet not available"}, "rstatus": false}
[2026-10-20 18:00:34,828.828 INFO    ] init_order error: Internet not available
[2026-10-20 18:00:34,835.835 INFO    ] Cancelling order TM04202203261020175910389 - Error 20002: Internet not available
[2026-10-20 18:00:34,841.841 INFO    ] publish_status: order_id=TM04202203261020175910389
[2026-10-20 18:00:34,872.872 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020175910389
[2026-10-20 18:00:35,006.006 INFO    ] [publish_status] Message added to stream with ID: 1792499435038-0
[2026-10-20 18:00:35,068.068 INFO    ] Published to order:TM04202203261020175910389: {'order_id': 'TM04202203261020175910389', 'server_response': '{"error_code": 20002, "SectionStatus": {"Header": "Order Failed", "Note": "", "SubHeader": "[20002] Internet not available"}, "error_message": "Internet not available"}', 'server_status': 'Cancelled', 'ttl': '5', 'timestamp': '2026-10-20T12:30:34.836600Z'} (ID: 1792499435038-0)
[2026-10-20 18:00:35,672.672 INFO    ] {'order_id': 'TM04202203261020175910389', 'server_response': {'error_code': 20002, 'SectionStatus': {'Header': 'Order Failed', 'Note': '', 'SubHeader': '[20002] Internet not available'}, 'error_message': 'Internet not available'}, 'server_status': 'Cancelled'}
[2026-10-20 18:00:35,675.675 INFO    ] 200
[2026-10-20 18:00:35,677.677 INFO    ] {"data":{"order_id":"TM04202203261020175910389","server_response":{"error_code":20002,"SectionStatus":{"Header":"Order Failed","Note":"","SubHeader":"[20002] Internet not available"},"error_message":"Internet not available"},"server_status":"Cancelled"},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 18:00:35,680.680 INFO    ] {'response': {'status': True, 'msg': 'order updated successfully', 'data': 'order updated successfully', 'code': 'ORDER_EXISTS'}, 'data': {'order_id': 'TM04202203261020175910389', 'server_response': {'error_code': 20002, 'SectionStatus': {'Header': 'Order Failed', 'Note': '', 'SubHeader': '[20002] Internet not available'}, 'error_message': 'Internet not available'}, 'server_status': 'Cancelled'}}
[2026-10-20 18:00:35,682.682 INFO    ] Checking for system updates...
[2026-10-20 18:00:35,716.716 INFO    ] 200
[2026-10-20 18:00:35,718.718 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:00:35,721.721 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:00:35,723.723 INFO    ] Checking for camera pi updates...
[2026-10-20 18:00:35,764.764 INFO    ] 200
[2026-10-20 18:00:35,767.767 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:00:35,769.769 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:00:35,772.772 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:00:35,774.774 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:00:35,779.779 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:00:35,784.784 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:00:37,825.825 INFO    ] ================================================
[2026-10-20 18:00:37,840.840 INFO    ] Launching Daemon at Tue Oct 20 18:00:37 IST 2026
[2026-10-20 18:00:37,851.851 INFO    ] ================================================
[2026-10-20 18:00:38,488.488 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:00:38
[2026-10-20 18:00:39,076.076 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:00:39,347.347 INFO    ] Initializing speech engine...
[2026-10-20 18:00:39,355.355 INFO    ] 2026-10-20 18:00:39
[2026-10-20 18:00:39,609.609 INFO    ] 2026-10-20 18:00:39
[2026-10-20 18:00:39,642.642 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:00:39,902.902 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:00:39,912.912 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:00:40,091.091 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:00:40,135.135 INFO    ] time= 20/10/2026 18:00:40
[2026-10-20 18:00:40,181.181 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:00:40,187.187 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:00:40,346.346 INFO    ] No existing commands found in stream
[2026-10-20 18:00:45,372.372 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:00:45,374.374 INFO    ] Waiting 3.69 seconds before fallback handling...
[2026-10-20 18:00:49,598.598 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 18:00:49,624.624 INFO    ] Checking for system updates...
[2026-10-20 18:00:49,660.660 INFO    ] 200
[2026-10-20 18:00:49,663.663 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:00:49,666.666 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:00:49,668.668 INFO    ] Checking for camera pi updates...
[2026-10-20 18:00:49,701.701 INFO    ] 200
[2026-10-20 18:00:49,704.704 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:00:49,706.706 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:00:49,709.709 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:00:49,711.711 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:00:49,716.716 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:00:49,721.721 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:00:51,762.762 INFO    ] ================================================
[2026-10-20 18:00:51,778.778 INFO    ] Launching Daemon at Tue Oct 20 18:00:51 IST 2026
[2026-10-20 18:00:51,789.789 INFO    ] ================================================
[2026-10-20 18:00:52,384.384 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:00:52
[2026-10-20 18:00:52,966.966 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:00:53,238.238 INFO    ] Initializing speech engine...
[2026-10-20 18:00:53,247.247 INFO    ] 2026-10-20 18:00:53
[2026-10-20 18:00:53,495.495 INFO    ] 2026-10-20 18:00:53
[2026-10-20 18:00:53,531.531 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:00:53,788.788 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:00:53,797.797 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:00:54,013.013 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:00:54,057.057 INFO    ] time= 20/10/2026 18:00:54
[2026-10-20 18:00:54,068.068 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:00:54,083.083 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:00:54,221.221 INFO    ] No existing commands found in stream
[2026-10-20 18:00:59,235.235 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:00:59,238.238 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-10-20 18:01:03,236.236 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:01:03,265.265 INFO    ] Checking for system updates...
[2026-10-20 18:01:03,312.312 INFO    ] 200
[2026-10-20 18:01:03,314.314 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:01:03,316.316 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:01:03,319.319 INFO    ] Checking for camera pi updates...
[2026-10-20 18:01:03,356.356 INFO    ] 200
[2026-10-20 18:01:03,359.359 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:01:03,361.361 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:01:03,363.363 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:01:03,366.366 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:01:03,373.373 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:01:03,380.380 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:01:05,421.421 INFO    ] ================================================
[2026-10-20 18:01:05,437.437 INFO    ] Launching Daemon at Tue Oct 20 18:01:05 IST 2026
[2026-10-20 18:01:05,449.449 INFO    ] ================================================
[2026-10-20 18:01:06,032.032 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:01:06
[2026-10-20 18:01:06,634.634 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:01:06,913.913 INFO    ] Initializing speech engine...
[2026-10-20 18:01:06,921.921 INFO    ] 2026-10-20 18:01:06
[2026-10-20 18:01:07,195.195 INFO    ] 2026-10-20 18:01:07
[2026-10-20 18:01:07,239.239 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:01:07,518.518 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:01:07,526.526 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:01:07,722.722 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:01:07,739.739 INFO    ] time= 20/10/2026 18:01:07
[2026-10-20 18:01:07,748.748 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:01:07,774.774 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:01:07,899.899 INFO    ] No existing commands found in stream
[2026-10-20 18:01:12,923.923 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:01:12,926.926 INFO    ] Waiting 0.98 seconds before fallback handling...
[2026-10-20 18:01:14,434.434 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:01:14,460.460 INFO    ] Lock file expired, elapsed: 47s, order: TM04202203261020175910389
[2026-10-20 18:01:14,462.462 INFO    ] Cancelling order TM04202203261020175910389 - Error 20101: Order timed out. Please try again.
[2026-10-20 18:01:14,567.567 INFO    ] {'order_id': 'TM04202203261020175910389', 'server_status': 'Cancelled', 'server_response': {'SectionStatus': {'Note': '', 'Header': 'Order Failed', 'SubHeader': '[20101] Order timed out. Please try again.'}, 'error_code': 20101, 'error_message': 'Order timed out. Please try again.'}}
[2026-10-20 18:01:14,569.569 INFO    ] 200
[2026-10-20 18:01:14,571.571 INFO    ] {"data":{"order_id":"TM04202203261020175910389","server_status":"Cancelled","server_response":{"SectionStatus":{"Note":"","Header":"Order Failed","SubHeader":"[20101] Order timed out. Please try again."},"error_code":20101,"error_message":"Order timed out. Please try again."}},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 18:01:14,574.574 INFO    ] {'data': {'order_id': 'TM04202203261020175910389', 'server_status': 'Cancelled', 'server_response': {'SectionStatus': {'Note': '', 'Header': 'Order Failed', 'SubHeader': '[20101] Order timed out. Please try again.'}, 'error_code': 20101, 'error_message': 'Order timed out. Please try again.'}}, 'response': {'code': 'ORDER_EXISTS', 'status': True, 'msg': 'order updated successfully', 'data': 'order updated successfully'}}
[2026-10-20 18:01:14,577.577 INFO    ] Expired start-order file deleted, server response code: ORDER_EXISTS
[2026-10-20 18:01:14,579.579 INFO    ] Checking for system updates...
[2026-10-20 18:01:14,619.619 INFO    ] 200
[2026-10-20 18:01:14,621.621 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:01:14,624.624 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:01:14,626.626 INFO    ] Checking for camera pi updates...
[2026-10-20 18:01:14,659.659 INFO    ] 200
[2026-10-20 18:01:14,661.661 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:01:14,664.664 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:01:14,667.667 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:01:14,669.669 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:01:14,674.674 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:01:14,679.679 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:01:16,720.720 INFO    ] ================================================
[2026-10-20 18:01:16,736.736 INFO    ] Launching Daemon at Tue Oct 20 18:01:16 IST 2026
[2026-10-20 18:01:16,747.747 INFO    ] ================================================
[2026-10-20 18:01:17,327.327 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:01:17
[2026-10-20 18:01:17,911.911 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:01:18,159.159 INFO    ] Initializing speech engine...
[2026-10-20 18:01:18,164.164 INFO    ] 2026-10-20 18:01:18
[2026-10-20 18:01:18,435.435 INFO    ] 2026-10-20 18:01:18
[2026-10-20 18:01:18,470.470 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:01:18,703.703 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:01:18,729.729 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:01:18,949.949 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:01:18,987.987 INFO    ] time= 20/10/2026 18:01:18
[2026-10-20 18:01:18,993.993 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:01:19,010.010 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:01:19,137.137 INFO    ] No existing commands found in stream
[2026-10-20 18:01:24,152.152 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:01:24,155.155 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-10-20 18:01:25,759.759 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:01:25,762.762 INFO    ] Checking for system updates...
[2026-10-20 18:01:25,803.803 INFO    ] 200
[2026-10-20 18:01:25,806.806 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:01:25,809.809 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:01:25,812.812 INFO    ] Checking for camera pi updates...
[2026-10-20 18:01:25,845.845 INFO    ] 200
[2026-10-20 18:01:25,847.847 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:01:25,850.850 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:01:25,853.853 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:01:25,855.855 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:01:25,860.860 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:01:25,865.865 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:01:27,906.906 INFO    ] ================================================
[2026-10-20 18:01:27,922.922 INFO    ] Launching Daemon at Tue Oct 20 18:01:27 IST 2026
[2026-10-20 18:01:27,933.933 INFO    ] ================================================
[2026-10-20 18:01:28,499.499 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:01:28
[2026-10-20 18:01:29,082.082 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:01:29,332.332 INFO    ] Initializing speech engine...
[2026-10-20 18:01:29,354.354 INFO    ] 2026-10-20 18:01:29
[2026-10-20 18:01:29,611.611 INFO    ] 2026-10-20 18:01:29
[2026-10-20 18:01:29,646.646 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:01:29,907.907 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:01:29,911.911 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:01:30,052.052 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:01:30,107.107 INFO    ] time= 20/10/2026 18:01:30
[2026-10-20 18:01:30,161.161 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:01:30,184.184 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:01:30,333.333 INFO    ] No existing commands found in stream
[2026-10-20 18:01:35,347.347 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:01:35,350.350 INFO    ] Waiting 1.65 seconds before fallback handling...
[2026-10-20 18:01:37,476.476 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 18:01:37,479.479 INFO    ] Checking for system updates...
[2026-10-20 18:01:37,518.518 INFO    ] 200
[2026-10-20 18:01:37,521.521 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:01:37,523.523 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:01:37,525.525 INFO    ] Checking for camera pi updates...
[2026-10-20 18:01:37,559.559 INFO    ] 200
[2026-10-20 18:01:37,561.561 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:01:37,564.564 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:01:37,566.566 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:01:37,569.569 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:01:37,574.574 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:01:37,579.579 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:01:39,619.619 INFO    ] ================================================
[2026-10-20 18:01:39,634.634 INFO    ] Launching Daemon at Tue Oct 20 18:01:39 IST 2026
[2026-10-20 18:01:39,645.645 INFO    ] ================================================
[2026-10-20 18:01:40,215.215 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:01:40
[2026-10-20 18:01:40,799.799 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:01:41,072.072 INFO    ] Initializing speech engine...
[2026-10-20 18:01:41,079.079 INFO    ] 2026-10-20 18:01:41
[2026-10-20 18:01:41,327.327 INFO    ] 2026-10-20 18:01:41
[2026-10-20 18:01:41,391.391 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:01:41,559.559 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:01:41,618.618 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:01:41,765.765 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:01:41,835.835 INFO    ] time= 20/10/2026 18:01:41
[2026-10-20 18:01:41,888.888 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:01:41,894.894 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:01:42,025.025 INFO    ] No existing commands found in stream
[2026-10-20 18:01:47,050.050 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:01:47,053.053 INFO    ] Waiting 1.50 seconds before fallback handling...
[2026-10-20 18:01:49,079.079 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:01:49,082.082 INFO    ] Checking for system updates...
[2026-10-20 18:01:49,117.117 INFO    ] 200
[2026-10-20 18:01:49,120.120 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:01:49,123.123 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:01:49,125.125 INFO    ] Checking for camera pi updates...
[2026-10-20 18:01:49,158.158 INFO    ] 200
[2026-10-20 18:01:49,161.161 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:01:49,164.164 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:01:49,166.166 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:01:49,169.169 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:01:49,174.174 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:01:49,179.179 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:01:51,218.218 INFO    ] ================================================
[2026-10-20 18:01:51,234.234 INFO    ] Launching Daemon at Tue Oct 20 18:01:51 IST 2026
[2026-10-20 18:01:51,244.244 INFO    ] ================================================
[2026-10-20 18:01:51,810.810 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:01:51
[2026-10-20 18:01:52,395.395 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:01:52,663.663 INFO    ] Initializing speech engine...
[2026-10-20 18:01:52,673.673 INFO    ] 2026-10-20 18:01:52
[2026-10-20 18:01:52,918.918 INFO    ] 2026-10-20 18:01:52
[2026-10-20 18:01:52,953.953 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:01:53,204.204 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:01:53,214.214 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:01:53,410.410 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:01:53,465.465 INFO    ] time= 20/10/2026 18:01:53
[2026-10-20 18:01:53,478.478 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:01:53,492.492 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:01:53,627.627 INFO    ] No existing commands found in stream
[2026-10-20 18:01:58,650.650 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:01:58,653.653 INFO    ] Waiting 3.35 seconds before fallback handling...
[2026-10-20 18:02:02,563.563 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 18:02:03,290.290 INFO    ] Checking for system updates...
[2026-10-20 18:02:03,331.331 INFO    ] 200
[2026-10-20 18:02:03,334.334 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:02:03,336.336 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:02:03,339.339 INFO    ] Checking for camera pi updates...
[2026-10-20 18:02:03,379.379 INFO    ] 200
[2026-10-20 18:02:03,382.382 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:02:03,385.385 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:02:03,389.389 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:02:03,392.392 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:02:03,399.399 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:02:03,406.406 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:02:05,447.447 INFO    ] ================================================
[2026-10-20 18:02:05,462.462 INFO    ] Launching Daemon at Tue Oct 20 18:02:05 IST 2026
[2026-10-20 18:02:05,472.472 INFO    ] ================================================
[2026-10-20 18:02:06,102.102 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:02:06
[2026-10-20 18:02:06,684.684 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:02:06,954.954 INFO    ] Initializing speech engine...
[2026-10-20 18:02:06,964.964 INFO    ] 2026-10-20 18:02:06
[2026-10-20 18:02:07,213.213 INFO    ] 2026-10-20 18:02:07
[2026-10-20 18:02:07,247.247 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:02:07,507.507 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:02:07,626.626 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:02:07,780.780 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:02:07,801.801 INFO    ] time= 20/10/2026 18:02:07
[2026-10-20 18:02:07,828.828 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:02:07,836.836 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:02:07,959.959 INFO    ] No existing commands found in stream
[2026-10-20 18:02:12,982.982 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:02:12,991.991 INFO    ] Waiting 1.01 seconds before fallback handling...
[2026-10-20 18:02:14,486.486 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:02:14,489.489 INFO    ] Checking for system updates...
[2026-10-20 18:02:14,524.524 INFO    ] 200
[2026-10-20 18:02:14,526.526 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:02:14,529.529 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:02:14,531.531 INFO    ] Checking for camera pi updates...
[2026-10-20 18:02:14,577.577 INFO    ] 200
[2026-10-20 18:02:14,580.580 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:02:14,583.583 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:02:14,585.585 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:02:14,587.587 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:02:14,593.593 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:02:14,597.597 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:02:16,637.637 INFO    ] ================================================
[2026-10-20 18:02:16,652.652 INFO    ] Launching Daemon at Tue Oct 20 18:02:16 IST 2026
[2026-10-20 18:02:16,663.663 INFO    ] ================================================
[2026-10-20 18:02:17,243.243 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:02:17
[2026-10-20 18:02:17,839.839 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:02:18,111.111 INFO    ] Initializing speech engine...
[2026-10-20 18:02:18,121.121 INFO    ] 2026-10-20 18:02:18
[2026-10-20 18:02:18,377.377 INFO    ] 2026-10-20 18:02:18
[2026-10-20 18:02:18,433.433 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:02:18,656.656 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:02:18,666.666 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:02:18,804.804 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:02:18,869.869 INFO    ] time= 20/10/2026 18:02:18
[2026-10-20 18:02:18,926.926 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:02:18,933.933 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:02:19,076.076 INFO    ] No existing commands found in stream
[2026-10-20 18:02:24,089.089 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:02:24,092.092 INFO    ] Waiting 2.18 seconds before fallback handling...
[2026-10-20 18:02:26,847.847 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:02:26,850.850 INFO    ] Checking for system updates...
[2026-10-20 18:02:26,887.887 INFO    ] 200
[2026-10-20 18:02:26,890.890 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:02:26,893.893 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:02:26,895.895 INFO    ] Checking for camera pi updates...
[2026-10-20 18:02:26,934.934 INFO    ] 200
[2026-10-20 18:02:26,937.937 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:02:26,940.940 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:02:26,942.942 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:02:26,945.945 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:02:26,954.954 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:02:26,959.959 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:02:29,999.999 INFO    ] ================================================
[2026-10-20 18:02:29,015.015 INFO    ] Launching Daemon at Tue Oct 20 18:02:29 IST 2026
[2026-10-20 18:02:29,025.025 INFO    ] ================================================
[2026-10-20 18:02:29,609.609 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:02:29
[2026-10-20 18:02:30,207.207 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:02:30,485.485 INFO    ] Initializing speech engine...
[2026-10-20 18:02:30,493.493 INFO    ] 2026-10-20 18:02:30
[2026-10-20 18:02:30,754.754 INFO    ] 2026-10-20 18:02:30
[2026-10-20 18:02:30,808.808 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:02:31,029.029 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:02:31,039.039 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:02:31,239.239 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:02:31,297.297 INFO    ] time= 20/10/2026 18:02:31
[2026-10-20 18:02:31,304.304 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:02:31,322.322 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:02:31,455.455 INFO    ] No existing commands found in stream
[2026-10-20 18:02:36,477.477 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:02:36,481.481 INFO    ] Waiting 1.88 seconds before fallback handling...
[2026-10-20 18:02:38,889.889 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:02:38,892.892 INFO    ] Checking for system updates...
[2026-10-20 18:02:38,933.933 INFO    ] 200
[2026-10-20 18:02:38,936.936 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:02:38,939.939 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:02:38,942.942 INFO    ] Checking for camera pi updates...
[2026-10-20 18:02:38,980.980 INFO    ] 200
[2026-10-20 18:02:38,983.983 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:02:38,986.986 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:02:38,989.989 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:02:38,992.992 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:02:38,998.998 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:02:39,004.004 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:02:41,051.051 INFO    ] ================================================
[2026-10-20 18:02:41,066.066 INFO    ] Launching Daemon at Tue Oct 20 18:02:41 IST 2026
[2026-10-20 18:02:41,077.077 INFO    ] ================================================
[2026-10-20 18:02:41,644.644 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:02:41
[2026-10-20 18:02:42,229.229 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:02:42,483.483 INFO    ] Initializing speech engine...
[2026-10-20 18:02:42,506.506 INFO    ] 2026-10-20 18:02:42
[2026-10-20 18:02:42,762.762 INFO    ] 2026-10-20 18:02:42
[2026-10-20 18:02:42,795.795 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:02:43,000.000 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:02:43,042.042 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:02:43,205.205 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:02:43,265.265 INFO    ] time= 20/10/2026 18:02:43
[2026-10-20 18:02:43,309.309 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:02:43,340.340 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:02:43,484.484 INFO    ] No existing commands found in stream
[2026-10-20 18:02:48,504.504 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:02:48,507.507 INFO    ] Waiting 2.45 seconds before fallback handling...
[2026-10-20 18:02:51,428.428 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:02:51,431.431 INFO    ] Checking for system updates...
[2026-10-20 18:02:51,470.470 INFO    ] 200
[2026-10-20 18:02:51,473.473 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:02:51,475.475 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:02:51,477.477 INFO    ] Checking for camera pi updates...
[2026-10-20 18:02:51,514.514 INFO    ] 200
[2026-10-20 18:02:51,517.517 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:02:51,519.519 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:02:51,522.522 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:02:51,524.524 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:02:51,529.529 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:02:51,534.534 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:02:53,573.573 INFO    ] ================================================
[2026-10-20 18:02:53,587.587 INFO    ] Launching Daemon at Tue Oct 20 18:02:53 IST 2026
[2026-10-20 18:02:53,598.598 INFO    ] ================================================
[2026-10-20 18:02:54,166.166 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:02:54
[2026-10-20 18:02:54,751.751 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:02:55,022.022 INFO    ] Initializing speech engine...
[2026-10-20 18:02:55,031.031 INFO    ] 2026-10-20 18:02:55
[2026-10-20 18:02:55,281.281 INFO    ] 2026-10-20 18:02:55
[2026-10-20 18:02:55,316.316 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:02:55,516.516 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:02:55,523.523 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:02:55,703.703 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:02:55,705.705 INFO    ] time= 20/10/2026 18:02:55
[2026-10-20 18:02:55,724.724 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:02:55,741.741 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:02:55,875.875 INFO    ] No existing commands found in stream
[2026-10-20 18:03:00,886.886 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:03:00,888.888 INFO    ] Waiting 0.35 seconds before fallback handling...
[2026-10-20 18:03:01,778.778 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 18:03:01,782.782 INFO    ] Checking for system updates...
[2026-10-20 18:03:01,853.853 INFO    ] 200
[2026-10-20 18:03:01,856.856 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:03:01,860.860 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:03:01,873.873 INFO    ] Checking for camera pi updates...
[2026-10-20 18:03:01,929.929 INFO    ] 200
[2026-10-20 18:03:01,932.932 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:03:01,935.935 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:03:01,939.939 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:03:01,943.943 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:03:01,950.950 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:03:01,958.958 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:03:04,001.001 INFO    ] ================================================
[2026-10-20 18:03:04,016.016 INFO    ] Launching Daemon at Tue Oct 20 18:03:04 IST 2026
[2026-10-20 18:03:04,027.027 INFO    ] ================================================
[2026-10-20 18:03:04,608.608 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:03:04
[2026-10-20 18:03:05,206.206 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:03:05,482.482 INFO    ] Initializing speech engine...
[2026-10-20 18:03:05,491.491 INFO    ] 2026-10-20 18:03:05
[2026-10-20 18:03:05,752.752 INFO    ] 2026-10-20 18:03:05
[2026-10-20 18:03:05,806.806 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:03:06,034.034 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:03:06,046.046 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:03:06,246.246 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:03:06,297.297 INFO    ] time= 20/10/2026 18:03:06
[2026-10-20 18:03:06,304.304 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:03:06,322.322 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:03:06,453.453 INFO    ] No existing commands found in stream
[2026-10-20 18:03:11,468.468 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:03:11,471.471 INFO    ] Waiting 0.73 seconds before fallback handling...
[2026-10-20 18:03:12,692.692 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:03:12,695.695 INFO    ] Checking for system updates...
[2026-10-20 18:03:12,734.734 INFO    ] 200
[2026-10-20 18:03:12,737.737 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:03:12,740.740 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:03:12,743.743 INFO    ] Checking for camera pi updates...
[2026-10-20 18:03:12,780.780 INFO    ] 200
[2026-10-20 18:03:12,782.782 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:03:12,785.785 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:03:12,787.787 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:03:12,790.790 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:03:12,795.795 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:03:12,800.800 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:03:14,841.841 INFO    ] ================================================
[2026-10-20 18:03:14,856.856 INFO    ] Launching Daemon at Tue Oct 20 18:03:14 IST 2026
[2026-10-20 18:03:14,867.867 INFO    ] ================================================
[2026-10-20 18:03:15,434.434 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:03:15
[2026-10-20 18:03:16,019.019 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:03:16,273.273 INFO    ] Initializing speech engine...
[2026-10-20 18:03:16,289.289 INFO    ] 2026-10-20 18:03:16
[2026-10-20 18:03:16,577.577 INFO    ] 2026-10-20 18:03:16
[2026-10-20 18:03:16,613.613 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:03:16,815.815 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:03:16,830.830 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:03:16,993.993 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:03:17,002.002 INFO    ] time= 20/10/2026 18:03:16
[2026-10-20 18:03:17,006.006 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:03:17,013.013 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:03:17,115.115 INFO    ] No existing commands found in stream
[2026-10-20 18:03:22,150.150 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:03:22,153.153 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-10-20 18:03:23,756.756 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 18:03:23,759.759 INFO    ] Checking for system updates...
[2026-10-20 18:03:23,796.796 INFO    ] 200
[2026-10-20 18:03:23,799.799 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:03:23,802.802 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:03:23,805.805 INFO    ] Checking for camera pi updates...
[2026-10-20 18:03:23,840.840 INFO    ] 200
[2026-10-20 18:03:23,843.843 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:03:23,846.846 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:03:23,849.849 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:03:23,852.852 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:03:23,859.859 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:03:23,865.865 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:03:25,905.905 INFO    ] ================================================
[2026-10-20 18:03:25,920.920 INFO    ] Launching Daemon at Tue Oct 20 18:03:25 IST 2026
[2026-10-20 18:03:25,931.931 INFO    ] ================================================
[2026-10-20 18:03:26,509.509 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:03:26
[2026-10-20 18:03:27,101.101 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:03:27,361.361 INFO    ] Initializing speech engine...
[2026-10-20 18:03:27,376.376 INFO    ] 2026-10-20 18:03:27
[2026-10-20 18:03:27,662.662 INFO    ] 2026-10-20 18:03:27
[2026-10-20 18:03:27,697.697 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:03:27,925.925 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:03:27,933.933 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:03:28,158.158 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:03:28,170.170 INFO    ] time= 20/10/2026 18:03:28
[2026-10-20 18:03:28,229.229 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:03:28,283.283 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:03:28,448.448 INFO    ] No existing commands found in stream
[2026-10-20 18:03:33,460.460 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:03:33,463.463 INFO    ] Waiting 1.38 seconds before fallback handling...
[2026-10-20 18:03:35,329.329 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 18:03:35,332.332 INFO    ] Checking for system updates...
[2026-10-20 18:03:35,367.367 INFO    ] 200
[2026-10-20 18:03:35,370.370 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:03:35,372.372 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:03:35,375.375 INFO    ] Checking for camera pi updates...
[2026-10-20 18:03:35,412.412 INFO    ] 200
[2026-10-20 18:03:35,414.414 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:03:35,417.417 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:03:35,419.419 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:03:35,421.421 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:03:35,426.426 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:03:35,431.431 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:03:37,472.472 INFO    ] ================================================
[2026-10-20 18:03:37,487.487 INFO    ] Launching Daemon at Tue Oct 20 18:03:37 IST 2026
[2026-10-20 18:03:37,497.497 INFO    ] ================================================
[2026-10-20 18:03:38,064.064 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:03:38
[2026-10-20 18:03:38,647.647 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:03:38,897.897 INFO    ] Initializing speech engine...
[2026-10-20 18:03:38,904.904 INFO    ] 2026-10-20 18:03:38
[2026-10-20 18:03:39,176.176 INFO    ] 2026-10-20 18:03:39
[2026-10-20 18:03:39,218.218 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:03:39,443.443 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:03:39,500.500 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:03:39,638.638 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:03:39,675.675 INFO    ] time= 20/10/2026 18:03:39
[2026-10-20 18:03:39,734.734 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:03:39,772.772 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:03:39,917.917 INFO    ] No existing commands found in stream
[2026-10-20 18:03:44,931.931 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:03:44,934.934 INFO    ] Waiting 0.28 seconds before fallback handling...
[2026-10-20 18:03:47,301.301 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:03:47,304.304 INFO    ] Checking for system updates...
[2026-10-20 18:03:47,345.345 INFO    ] 200
[2026-10-20 18:03:47,348.348 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:03:47,356.356 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:03:47,358.358 INFO    ] Checking for camera pi updates...
[2026-10-20 18:03:47,393.393 INFO    ] 200
[2026-10-20 18:03:47,396.396 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:03:47,399.399 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:03:47,402.402 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:03:47,404.404 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:03:47,411.411 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:03:47,417.417 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:03:49,458.458 INFO    ] ================================================
[2026-10-20 18:03:49,473.473 INFO    ] Launching Daemon at Tue Oct 20 18:03:49 IST 2026
[2026-10-20 18:03:49,484.484 INFO    ] ================================================
[2026-10-20 18:03:50,145.145 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:03:50
[2026-10-20 18:03:50,729.729 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:03:51,001.001 INFO    ] Initializing speech engine...
[2026-10-20 18:03:51,009.009 INFO    ] 2026-10-20 18:03:51
[2026-10-20 18:03:51,260.260 INFO    ] 2026-10-20 18:03:51
[2026-10-20 18:03:51,295.295 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:03:51,494.494 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:03:51,539.539 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:03:51,702.702 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:03:51,757.757 INFO    ] time= 20/10/2026 18:03:51
[2026-10-20 18:03:51,811.811 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:03:51,838.838 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:03:51,972.972 INFO    ] No existing commands found in stream
[2026-10-20 18:03:56,994.994 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:03:56,997.997 INFO    ] Waiting 2.52 seconds before fallback handling...
[2026-10-20 18:04:00,048.048 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 18:04:00,051.051 INFO    ] Checking for system updates...
[2026-10-20 18:04:00,087.087 INFO    ] 200
[2026-10-20 18:04:00,089.089 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:04:00,092.092 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:04:00,094.094 INFO    ] Checking for camera pi updates...
[2026-10-20 18:04:00,127.127 INFO    ] 200
[2026-10-20 18:04:00,130.130 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:04:00,132.132 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:04:00,135.135 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:04:00,137.137 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:04:00,142.142 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:04:00,147.147 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:04:02,193.193 INFO    ] ================================================
[2026-10-20 18:04:02,212.212 INFO    ] Launching Daemon at Tue Oct 20 18:04:02 IST 2026
[2026-10-20 18:04:02,226.226 INFO    ] ================================================
[2026-10-20 18:04:02,876.876 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:04:02
[2026-10-20 18:04:03,524.524 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:04:03,781.781 INFO    ] Initializing speech engine...
[2026-10-20 18:04:03,801.801 INFO    ] 2026-10-20 18:04:03
[2026-10-20 18:04:04,051.051 INFO    ] 2026-10-20 18:04:04
[2026-10-20 18:04:04,085.085 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:04:04,337.337 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:04:04,346.346 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:04:04,479.479 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:04:04,544.544 INFO    ] time= 20/10/2026 18:04:04
[2026-10-20 18:04:04,604.604 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:04:04,613.613 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:04:04,758.758 INFO    ] No existing commands found in stream
[2026-10-20 18:04:09,777.777 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:04:09,780.780 INFO    ] Waiting 1.04 seconds before fallback handling...
[2026-10-20 18:04:11,363.363 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 18:04:11,366.366 INFO    ] Checking for system updates...
[2026-10-20 18:04:11,404.404 INFO    ] 200
[2026-10-20 18:04:11,406.406 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:04:11,409.409 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:04:11,411.411 INFO    ] Checking for camera pi updates...
[2026-10-20 18:04:11,445.445 INFO    ] 200
[2026-10-20 18:04:11,447.447 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:04:11,450.450 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:04:11,453.453 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:04:11,455.455 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:04:11,461.461 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:04:11,466.466 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:04:13,507.507 INFO    ] ================================================
[2026-10-20 18:04:13,522.522 INFO    ] Launching Daemon at Tue Oct 20 18:04:13 IST 2026
[2026-10-20 18:04:13,533.533 INFO    ] ================================================
[2026-10-20 18:04:14,141.141 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:04:14
[2026-10-20 18:04:14,726.726 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:04:14,998.998 INFO    ] Initializing speech engine...
[2026-10-20 18:04:15,007.007 INFO    ] 2026-10-20 18:04:15
[2026-10-20 18:04:15,257.257 INFO    ] 2026-10-20 18:04:15
[2026-10-20 18:04:15,291.291 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:04:15,492.492 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:04:15,538.538 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:04:15,708.708 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:04:15,763.763 INFO    ] time= 20/10/2026 18:04:15
[2026-10-20 18:04:15,818.818 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:04:15,841.841 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:04:15,993.993 INFO    ] No existing commands found in stream
[2026-10-20 18:04:21,014.014 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:04:21,017.017 INFO    ] Waiting 1.80 seconds before fallback handling...
[2026-10-20 18:04:23,322.322 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:04:23,324.324 INFO    ] Checking for system updates...
[2026-10-20 18:04:23,361.361 INFO    ] 200
[2026-10-20 18:04:23,363.363 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:04:23,366.366 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:04:23,368.368 INFO    ] Checking for camera pi updates...
[2026-10-20 18:04:23,406.406 INFO    ] 200
[2026-10-20 18:04:23,409.409 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:04:23,411.411 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:04:23,414.414 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:04:23,416.416 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:04:23,422.422 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:04:23,427.427 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:04:25,467.467 INFO    ] ================================================
[2026-10-20 18:04:25,482.482 INFO    ] Launching Daemon at Tue Oct 20 18:04:25 IST 2026
[2026-10-20 18:04:25,493.493 INFO    ] ================================================
[2026-10-20 18:04:26,058.058 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:04:26
[2026-10-20 18:04:26,640.640 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:04:26,900.900 INFO    ] Initializing speech engine...
[2026-10-20 18:04:26,903.903 INFO    ] 2026-10-20 18:04:26
[2026-10-20 18:04:27,178.178 INFO    ] 2026-10-20 18:04:27
[2026-10-20 18:04:27,221.221 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:04:27,473.473 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:04:27,480.480 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:04:27,711.711 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:04:27,738.738 INFO    ] time= 20/10/2026 18:04:27
[2026-10-20 18:04:27,756.756 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:04:27,784.784 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:04:27,921.921 INFO    ] No existing commands found in stream
[2026-10-20 18:04:32,952.952 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:04:32,955.955 INFO    ] Waiting 0.88 seconds before fallback handling...
[2026-10-20 18:04:34,355.355 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:04:34,359.359 INFO    ] Checking for system updates...
[2026-10-20 18:04:34,400.400 INFO    ] 200
[2026-10-20 18:04:34,403.403 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:04:34,406.406 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:04:34,409.409 INFO    ] Checking for camera pi updates...
[2026-10-20 18:04:34,447.447 INFO    ] 200
[2026-10-20 18:04:34,450.450 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:04:34,457.457 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:04:34,460.460 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:04:34,463.463 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:04:34,469.469 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:04:34,475.475 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:04:36,517.517 INFO    ] ================================================
[2026-10-20 18:04:36,533.533 INFO    ] Launching Daemon at Tue Oct 20 18:04:36 IST 2026
[2026-10-20 18:04:36,543.543 INFO    ] ================================================
[2026-10-20 18:04:37,195.195 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:04:37
[2026-10-20 18:04:37,866.866 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:04:38,172.172 INFO    ] Initializing speech engine...
[2026-10-20 18:04:38,186.186 INFO    ] 2026-10-20 18:04:38
[2026-10-20 18:04:38,494.494 INFO    ] 2026-10-20 18:04:38
[2026-10-20 18:04:38,581.581 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:04:38,800.800 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:04:38,862.862 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:04:39,039.039 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:04:39,048.048 INFO    ] time= 20/10/2026 18:04:39
[2026-10-20 18:04:39,058.058 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:04:39,119.119 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:04:39,256.256 INFO    ] No existing commands found in stream
[2026-10-20 18:04:44,266.266 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:04:44,269.269 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-10-20 18:04:47,945.945 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:04:47,948.948 INFO    ] Checking for system updates...
[2026-10-20 18:04:47,985.985 INFO    ] 200
[2026-10-20 18:04:47,988.988 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:04:47,991.991 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:04:47,993.993 INFO    ] Checking for camera pi updates...
[2026-10-20 18:04:48,028.028 INFO    ] 200
[2026-10-20 18:04:48,031.031 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:04:48,034.034 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:04:48,036.036 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:04:48,039.039 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:04:48,044.044 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:04:48,050.050 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:04:50,089.089 INFO    ] ================================================
[2026-10-20 18:04:50,104.104 INFO    ] Launching Daemon at Tue Oct 20 18:04:50 IST 2026
[2026-10-20 18:04:50,115.115 INFO    ] ================================================
[2026-10-20 18:04:50,698.698 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:04:50
[2026-10-20 18:04:51,290.290 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:04:51,561.561 INFO    ] Initializing speech engine...
[2026-10-20 18:04:51,571.571 INFO    ] 2026-10-20 18:04:51
[2026-10-20 18:04:51,813.813 INFO    ] 2026-10-20 18:04:51
[2026-10-20 18:04:51,877.877 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:04:52,099.099 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:04:52,108.108 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:04:52,348.348 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:04:52,367.367 INFO    ] time= 20/10/2026 18:04:52
[2026-10-20 18:04:52,383.383 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:04:52,390.390 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:04:52,519.519 INFO    ] No existing commands found in stream
[2026-10-20 18:04:57,534.534 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:04:57,536.536 INFO    ] Waiting 3.75 seconds before fallback handling...
[2026-10-20 18:05:02,013.013 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 18:05:02,018.018 INFO    ] Checking for system updates...
[2026-10-20 18:05:02,105.105 INFO    ] 200
[2026-10-20 18:05:02,110.110 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:05:02,134.134 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:05:02,137.137 INFO    ] Checking for camera pi updates...
[2026-10-20 18:05:02,207.207 INFO    ] 200
[2026-10-20 18:05:02,210.210 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:05:02,213.213 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:05:02,216.216 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:05:02,219.219 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:05:02,226.226 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:05:02,232.232 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:05:04,283.283 INFO    ] ================================================
[2026-10-20 18:05:04,299.299 INFO    ] Launching Daemon at Tue Oct 20 18:05:04 IST 2026
[2026-10-20 18:05:04,309.309 INFO    ] ================================================
[2026-10-20 18:05:04,877.877 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:05:04
[2026-10-20 18:05:05,464.464 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:05:05,735.735 INFO    ] Initializing speech engine...
[2026-10-20 18:05:05,744.744 INFO    ] 2026-10-20 18:05:05
[2026-10-20 18:05:05,994.994 INFO    ] 2026-10-20 18:05:05
[2026-10-20 18:05:06,030.030 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:05:06,216.216 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:05:06,231.231 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:05:06,366.366 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:05:06,374.374 INFO    ] time= 20/10/2026 18:05:06
[2026-10-20 18:05:06,405.405 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:05:06,442.442 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:05:06,571.571 INFO    ] No existing commands found in stream
[2026-10-20 18:05:11,582.582 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:05:11,584.584 INFO    ] Waiting 0.25 seconds before fallback handling...
[2026-10-20 18:05:14,378.378 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:05:14,381.381 INFO    ] Checking for system updates...
[2026-10-20 18:05:14,417.417 INFO    ] 200
[2026-10-20 18:05:14,420.420 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:05:14,422.422 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:05:14,425.425 INFO    ] Checking for camera pi updates...
[2026-10-20 18:05:14,458.458 INFO    ] 200
[2026-10-20 18:05:14,461.461 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:05:14,463.463 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:05:14,466.466 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:05:14,468.468 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:05:14,473.473 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:05:14,478.478 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:05:16,518.518 INFO    ] ================================================
[2026-10-20 18:05:16,533.533 INFO    ] Launching Daemon at Tue Oct 20 18:05:16 IST 2026
[2026-10-20 18:05:16,544.544 INFO    ] ================================================
[2026-10-20 18:05:17,127.127 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:05:17
[2026-10-20 18:05:17,730.730 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:05:17,992.992 INFO    ] Initializing speech engine...
[2026-10-20 18:05:18,001.001 INFO    ] 2026-10-20 18:05:17
[2026-10-20 18:05:18,300.300 INFO    ] 2026-10-20 18:05:18
[2026-10-20 18:05:18,338.338 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:05:18,605.605 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:05:18,637.637 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:05:18,796.796 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:05:18,823.823 INFO    ] time= 20/10/2026 18:05:18
[2026-10-20 18:05:18,884.884 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:05:18,933.933 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:05:19,115.115 INFO    ] No existing commands found in stream
[2026-10-20 18:05:24,137.137 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:05:24,140.140 INFO    ] Waiting 3.75 seconds before fallback handling...
[2026-10-20 18:05:28,434.434 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 18:05:28,437.437 INFO    ] Checking for system updates...
[2026-10-20 18:05:28,473.473 INFO    ] 200
[2026-10-20 18:05:28,475.475 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:05:28,477.477 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:05:28,480.480 INFO    ] Checking for camera pi updates...
[2026-10-20 18:05:28,519.519 INFO    ] 200
[2026-10-20 18:05:28,521.521 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:05:28,524.524 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:05:28,526.526 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:05:28,528.528 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:05:28,534.534 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:05:28,539.539 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:05:30,580.580 INFO    ] ================================================
[2026-10-20 18:05:30,595.595 INFO    ] Launching Daemon at Tue Oct 20 18:05:30 IST 2026
[2026-10-20 18:05:30,605.605 INFO    ] ================================================
[2026-10-20 18:05:31,186.186 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:05:31
[2026-10-20 18:05:31,806.806 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:05:32,105.105 INFO    ] Initializing speech engine...
[2026-10-20 18:05:32,123.123 INFO    ] 2026-10-20 18:05:32
[2026-10-20 18:05:32,402.402 INFO    ] 2026-10-20 18:05:32
[2026-10-20 18:05:32,439.439 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:05:32,705.705 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:05:32,710.710 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:05:32,850.850 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:05:32,919.919 INFO    ] time= 20/10/2026 18:05:32
[2026-10-20 18:05:32,987.987 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:05:33,010.010 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:05:33,144.144 INFO    ] No existing commands found in stream
[2026-10-20 18:05:38,162.162 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:05:38,166.166 INFO    ] Waiting 3.96 seconds before fallback handling...
[2026-10-20 18:05:42,674.674 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:05:42,676.676 INFO    ] Checking for system updates...
[2026-10-20 18:05:42,714.714 INFO    ] 200
[2026-10-20 18:05:42,716.716 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:05:42,719.719 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:05:42,722.722 INFO    ] Checking for camera pi updates...
[2026-10-20 18:05:42,760.760 INFO    ] 200
[2026-10-20 18:05:42,763.763 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:05:42,766.766 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:05:42,769.769 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:05:42,772.772 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:05:42,778.778 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:05:42,783.783 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:05:44,824.824 INFO    ] ================================================
[2026-10-20 18:05:44,839.839 INFO    ] Launching Daemon at Tue Oct 20 18:05:44 IST 2026
[2026-10-20 18:05:44,850.850 INFO    ] ================================================
[2026-10-20 18:05:45,431.431 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:05:45
[2026-10-20 18:05:46,028.028 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:05:46,301.301 INFO    ] Initializing speech engine...
[2026-10-20 18:05:46,311.311 INFO    ] 2026-10-20 18:05:46
[2026-10-20 18:05:46,560.560 INFO    ] 2026-10-20 18:05:46
[2026-10-20 18:05:46,595.595 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:05:46,852.852 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:05:46,856.856 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:05:46,996.996 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:05:47,071.071 INFO    ] time= 20/10/2026 18:05:47
[2026-10-20 18:05:47,119.119 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:05:47,125.125 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:05:47,275.275 INFO    ] No existing commands found in stream
[2026-10-20 18:05:52,304.304 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:05:52,307.307 INFO    ] Waiting 0.86 seconds before fallback handling...
[2026-10-20 18:05:53,691.691 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:05:53,694.694 INFO    ] Checking for system updates...
[2026-10-20 18:05:53,729.729 INFO    ] 200
[2026-10-20 18:05:53,732.732 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:05:53,734.734 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:05:53,737.737 INFO    ] Checking for camera pi updates...
[2026-10-20 18:05:53,770.770 INFO    ] 200
[2026-10-20 18:05:53,773.773 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:05:53,775.775 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:05:53,778.778 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:05:53,780.780 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:05:53,786.786 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:05:53,791.791 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:05:55,831.831 INFO    ] ================================================
[2026-10-20 18:05:55,846.846 INFO    ] Launching Daemon at Tue Oct 20 18:05:55 IST 2026
[2026-10-20 18:05:55,857.857 INFO    ] ================================================
[2026-10-20 18:05:56,423.423 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:05:56
[2026-10-20 18:05:57,007.007 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:05:57,275.275 INFO    ] Initializing speech engine...
[2026-10-20 18:05:57,284.284 INFO    ] 2026-10-20 18:05:57
[2026-10-20 18:05:57,530.530 INFO    ] 2026-10-20 18:05:57
[2026-10-20 18:05:57,564.564 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:05:57,816.816 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:05:57,825.825 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:05:58,032.032 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:05:58,083.083 INFO    ] time= 20/10/2026 18:05:58
[2026-10-20 18:05:58,090.090 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:05:58,108.108 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:05:58,253.253 INFO    ] No existing commands found in stream
[2026-10-20 18:06:03,280.280 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:06:03,282.282 INFO    ] Waiting 1.94 seconds before fallback handling...
[2026-10-20 18:06:05,739.739 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:06:05,741.741 INFO    ] Checking for system updates...
[2026-10-20 18:06:05,781.781 INFO    ] 200
[2026-10-20 18:06:05,784.784 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:06:05,786.786 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:06:05,789.789 INFO    ] Checking for camera pi updates...
[2026-10-20 18:06:05,822.822 INFO    ] 200
[2026-10-20 18:06:05,825.825 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:06:05,828.828 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:06:05,830.830 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:06:05,832.832 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:06:05,838.838 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:06:05,843.843 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:06:07,884.884 INFO    ] ================================================
[2026-10-20 18:06:07,899.899 INFO    ] Launching Daemon at Tue Oct 20 18:06:07 IST 2026
[2026-10-20 18:06:07,911.911 INFO    ] ================================================
[2026-10-20 18:06:08,478.478 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:06:08
[2026-10-20 18:06:09,062.062 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:06:09,344.344 INFO    ] Initializing speech engine...
[2026-10-20 18:06:09,354.354 INFO    ] 2026-10-20 18:06:09
[2026-10-20 18:06:09,627.627 INFO    ] 2026-10-20 18:06:09
[2026-10-20 18:06:09,684.684 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:06:09,913.913 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:06:09,920.920 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:06:10,154.154 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:06:10,179.179 INFO    ] time= 20/10/2026 18:06:10
[2026-10-20 18:06:10,196.196 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:06:10,227.227 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:06:10,365.365 INFO    ] No existing commands found in stream
[2026-10-20 18:06:15,401.401 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:06:15,404.404 INFO    ] Waiting 0.72 seconds before fallback handling...
[2026-10-20 18:06:16,662.662 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 18:06:16,665.665 INFO    ] Checking for system updates...
[2026-10-20 18:06:16,702.702 INFO    ] 200
[2026-10-20 18:06:16,704.704 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:06:16,707.707 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:06:16,710.710 INFO    ] Checking for camera pi updates...
[2026-10-20 18:06:16,745.745 INFO    ] 200
[2026-10-20 18:06:16,748.748 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:06:16,751.751 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:06:16,754.754 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:06:16,756.756 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:06:16,762.762 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:06:16,768.768 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:06:18,817.817 INFO    ] ================================================
[2026-10-20 18:06:18,832.832 INFO    ] Launching Daemon at Tue Oct 20 18:06:18 IST 2026
[2026-10-20 18:06:18,843.843 INFO    ] ================================================
[2026-10-20 18:06:19,413.413 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:06:19
[2026-10-20 18:06:19,997.997 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:06:20,264.264 INFO    ] Initializing speech engine...
[2026-10-20 18:06:20,273.273 INFO    ] 2026-10-20 18:06:20
[2026-10-20 18:06:20,518.518 INFO    ] 2026-10-20 18:06:20
[2026-10-20 18:06:20,553.553 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:06:20,804.804 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:06:20,813.813 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:06:21,034.034 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:06:21,070.070 INFO    ] time= 20/10/2026 18:06:21
[2026-10-20 18:06:21,076.076 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:06:21,096.096 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:06:21,223.223 INFO    ] No existing commands found in stream
[2026-10-20 18:06:26,236.236 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:06:26,239.239 INFO    ] Waiting 2.18 seconds before fallback handling...
[2026-10-20 18:06:28,927.927 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:06:28,930.930 INFO    ] Checking for system updates...
[2026-10-20 18:06:28,966.966 INFO    ] 200
[2026-10-20 18:06:28,969.969 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:06:28,972.972 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:06:28,975.975 INFO    ] Checking for camera pi updates...
[2026-10-20 18:06:29,014.014 INFO    ] 200
[2026-10-20 18:06:29,017.017 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:06:29,020.020 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:06:29,023.023 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:06:29,025.025 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:06:29,032.032 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:06:29,038.038 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:06:31,078.078 INFO    ] ================================================
[2026-10-20 18:06:31,094.094 INFO    ] Launching Daemon at Tue Oct 20 18:06:31 IST 2026
[2026-10-20 18:06:31,105.105 INFO    ] ================================================
[2026-10-20 18:06:31,691.691 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:06:31
[2026-10-20 18:06:32,324.324 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:06:32,627.627 INFO    ] Initializing speech engine...
[2026-10-20 18:06:32,653.653 INFO    ] 2026-10-20 18:06:32
[2026-10-20 18:06:32,939.939 INFO    ] 2026-10-20 18:06:32
[2026-10-20 18:06:32,983.983 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:06:33,204.204 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:06:33,210.210 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:06:33,362.362 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:06:33,365.365 INFO    ] time= 20/10/2026 18:06:33
[2026-10-20 18:06:33,367.367 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:06:33,371.371 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:06:33,499.499 INFO    ] No existing commands found in stream
[2026-10-20 18:06:38,529.529 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:06:38,532.532 INFO    ] Waiting 1.03 seconds before fallback handling...
[2026-10-20 18:06:40,163.163 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:06:40,166.166 INFO    ] Checking for system updates...
[2026-10-20 18:06:40,201.201 INFO    ] 200
[2026-10-20 18:06:40,203.203 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:06:40,206.206 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:06:40,208.208 INFO    ] Checking for camera pi updates...
[2026-10-20 18:06:40,245.245 INFO    ] 200
[2026-10-20 18:06:40,247.247 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:06:40,250.250 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:06:40,253.253 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:06:40,255.255 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:06:40,261.261 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:06:40,265.265 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:06:42,306.306 INFO    ] ================================================
[2026-10-20 18:06:42,322.322 INFO    ] Launching Daemon at Tue Oct 20 18:06:42 IST 2026
[2026-10-20 18:06:42,333.333 INFO    ] ================================================
[2026-10-20 18:06:42,899.899 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:06:42
[2026-10-20 18:06:43,484.484 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:06:43,734.734 INFO    ] Initializing speech engine...
[2026-10-20 18:06:43,748.748 INFO    ] 2026-10-20 18:06:43
[2026-10-20 18:06:44,012.012 INFO    ] 2026-10-20 18:06:43
[2026-10-20 18:06:44,050.050 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:06:44,308.308 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:06:44,318.318 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:06:44,543.543 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:06:44,582.582 INFO    ] time= 20/10/2026 18:06:44
[2026-10-20 18:06:44,591.591 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:06:44,606.606 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:06:44,743.743 INFO    ] No existing commands found in stream
[2026-10-20 18:06:49,758.758 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:06:49,761.761 INFO    ] Waiting 0.54 seconds before fallback handling...
[2026-10-20 18:06:50,843.843 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:06:50,845.845 INFO    ] Checking for system updates...
[2026-10-20 18:06:50,881.881 INFO    ] 200
[2026-10-20 18:06:50,883.883 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:06:50,886.886 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:06:50,888.888 INFO    ] Checking for camera pi updates...
[2026-10-20 18:06:50,925.925 INFO    ] 200
[2026-10-20 18:06:50,927.927 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:06:50,930.930 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:06:50,932.932 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:06:50,934.934 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:06:50,940.940 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:06:50,945.945 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:06:52,985.985 INFO    ] ================================================
[2026-10-20 18:06:53,001.001 INFO    ] Launching Daemon at Tue Oct 20 18:06:52 IST 2026
[2026-10-20 18:06:53,011.011 INFO    ] ================================================
[2026-10-20 18:06:53,578.578 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:06:53
[2026-10-20 18:06:54,162.162 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:06:54,430.430 INFO    ] Initializing speech engine...
[2026-10-20 18:06:54,439.439 INFO    ] 2026-10-20 18:06:54
[2026-10-20 18:06:54,686.686 INFO    ] 2026-10-20 18:06:54
[2026-10-20 18:06:54,722.722 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:06:54,973.973 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:06:54,983.983 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:06:55,183.183 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:06:55,232.232 INFO    ] time= 20/10/2026 18:06:55
[2026-10-20 18:06:55,246.246 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:06:55,252.252 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:06:55,388.388 INFO    ] No existing commands found in stream
[2026-10-20 18:07:00,407.407 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:07:00,411.411 INFO    ] Waiting 3.15 seconds before fallback handling...
[2026-10-20 18:07:04,084.084 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:07:04,087.087 INFO    ] Checking for system updates...
[2026-10-20 18:07:04,130.130 INFO    ] 200
[2026-10-20 18:07:04,133.133 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:07:04,136.136 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:07:04,138.138 INFO    ] Checking for camera pi updates...
[2026-10-20 18:07:04,177.177 INFO    ] 200
[2026-10-20 18:07:04,179.179 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:07:04,182.182 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:07:04,185.185 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:07:04,187.187 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:07:04,194.194 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:07:04,200.200 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:07:06,242.242 INFO    ] ================================================
[2026-10-20 18:07:06,259.259 INFO    ] Launching Daemon at Tue Oct 20 18:07:06 IST 2026
[2026-10-20 18:07:06,271.271 INFO    ] ================================================
[2026-10-20 18:07:06,962.962 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:07:06
[2026-10-20 18:07:07,670.670 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:07:07,974.974 INFO    ] Initializing speech engine...
[2026-10-20 18:07:07,995.995 INFO    ] 2026-10-20 18:07:07
[2026-10-20 18:07:08,276.276 INFO    ] 2026-10-20 18:07:08
[2026-10-20 18:07:08,311.311 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:07:08,569.569 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:07:08,576.576 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:07:08,789.789 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:07:08,845.845 INFO    ] time= 20/10/2026 18:07:08
[2026-10-20 18:07:08,853.853 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:07:08,875.875 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:07:09,007.007 INFO    ] No existing commands found in stream
[2026-10-20 18:07:14,025.025 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:07:14,028.028 INFO    ] Waiting 2.68 seconds before fallback handling...
[2026-10-20 18:07:17,331.331 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:07:17,334.334 INFO    ] Checking for system updates...
[2026-10-20 18:07:17,371.371 INFO    ] 200
[2026-10-20 18:07:17,374.374 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:07:17,377.377 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:07:17,380.380 INFO    ] Checking for camera pi updates...
[2026-10-20 18:07:17,415.415 INFO    ] 200
[2026-10-20 18:07:17,418.418 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:07:17,421.421 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:07:17,423.423 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:07:17,426.426 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:07:17,432.432 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:07:17,439.439 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:07:19,481.481 INFO    ] ================================================
[2026-10-20 18:07:19,496.496 INFO    ] Launching Daemon at Tue Oct 20 18:07:19 IST 2026
[2026-10-20 18:07:19,507.507 INFO    ] ================================================
[2026-10-20 18:07:20,080.080 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:07:20
[2026-10-20 18:07:20,676.676 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:07:20,945.945 INFO    ] Initializing speech engine...
[2026-10-20 18:07:20,954.954 INFO    ] 2026-10-20 18:07:20
[2026-10-20 18:07:21,202.202 INFO    ] 2026-10-20 18:07:21
[2026-10-20 18:07:21,243.243 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:07:21,488.488 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:07:21,497.497 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:07:21,742.742 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:07:21,755.755 INFO    ] time= 20/10/2026 18:07:21
[2026-10-20 18:07:21,761.761 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:07:21,779.779 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:07:21,910.910 INFO    ] No existing commands found in stream
[2026-10-20 18:07:26,939.939 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:07:26,942.942 INFO    ] Waiting 2.20 seconds before fallback handling...
[2026-10-20 18:07:29,719.719 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 18:07:29,722.722 INFO    ] Checking for system updates...
[2026-10-20 18:07:29,757.757 INFO    ] 200
[2026-10-20 18:07:29,760.760 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:07:29,763.763 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:07:29,765.765 INFO    ] Checking for camera pi updates...
[2026-10-20 18:07:29,803.803 INFO    ] 200
[2026-10-20 18:07:29,805.805 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:07:29,807.807 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:07:29,810.810 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:07:29,812.812 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:07:29,817.817 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:07:29,822.822 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:07:31,864.864 INFO    ] ================================================
[2026-10-20 18:07:31,881.881 INFO    ] Launching Daemon at Tue Oct 20 18:07:31 IST 2026
[2026-10-20 18:07:31,894.894 INFO    ] ================================================
[2026-10-20 18:07:32,498.498 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:07:32
[2026-10-20 18:07:33,123.123 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:07:33,380.380 INFO    ] Initializing speech engine...
[2026-10-20 18:07:33,389.389 INFO    ] 2026-10-20 18:07:33
[2026-10-20 18:07:33,683.683 INFO    ] 2026-10-20 18:07:33
[2026-10-20 18:07:33,721.721 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:07:33,938.938 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:07:33,985.985 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:07:34,204.204 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:07:34,256.256 INFO    ] time= 20/10/2026 18:07:34
[2026-10-20 18:07:34,263.263 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:07:34,281.281 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:07:34,428.428 INFO    ] No existing commands found in stream
[2026-10-20 18:07:39,465.465 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:07:39,468.468 INFO    ] Waiting 2.22 seconds before fallback handling...
[2026-10-20 18:07:42,206.206 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:07:42,209.209 INFO    ] Checking for system updates...
[2026-10-20 18:07:42,245.245 INFO    ] 200
[2026-10-20 18:07:42,248.248 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:07:42,251.251 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:07:42,253.253 INFO    ] Checking for camera pi updates...
[2026-10-20 18:07:42,292.292 INFO    ] 200
[2026-10-20 18:07:42,294.294 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:07:42,298.298 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:07:42,301.301 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:07:42,303.303 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:07:42,310.310 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:07:42,315.315 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:07:44,357.357 INFO    ] ================================================
[2026-10-20 18:07:44,372.372 INFO    ] Launching Daemon at Tue Oct 20 18:07:44 IST 2026
[2026-10-20 18:07:44,382.382 INFO    ] ================================================
[2026-10-20 18:07:44,957.957 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:07:44
[2026-10-20 18:07:45,546.546 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:07:45,819.819 INFO    ] Initializing speech engine...
[2026-10-20 18:07:45,827.827 INFO    ] 2026-10-20 18:07:45
[2026-10-20 18:07:46,085.085 INFO    ] 2026-10-20 18:07:46
[2026-10-20 18:07:46,114.114 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:07:46,370.370 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:07:46,375.375 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:07:46,561.561 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:07:46,621.621 INFO    ] time= 20/10/2026 18:07:46
[2026-10-20 18:07:46,644.644 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:07:46,650.650 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:07:46,797.797 INFO    ] No existing commands found in stream
[2026-10-20 18:07:51,812.812 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:07:51,814.814 INFO    ] Waiting 2.92 seconds before fallback handling...
[2026-10-20 18:07:55,288.288 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:07:55,291.291 INFO    ] Checking for system updates...
[2026-10-20 18:07:55,330.330 INFO    ] 200
[2026-10-20 18:07:55,332.332 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:07:55,335.335 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:07:55,337.337 INFO    ] Checking for camera pi updates...
[2026-10-20 18:07:55,370.370 INFO    ] 200
[2026-10-20 18:07:55,372.372 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:07:55,375.375 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:07:55,377.377 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:07:55,380.380 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:07:55,385.385 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:07:55,390.390 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:07:57,430.430 INFO    ] ================================================
[2026-10-20 18:07:57,444.444 INFO    ] Launching Daemon at Tue Oct 20 18:07:57 IST 2026
[2026-10-20 18:07:57,455.455 INFO    ] ================================================
[2026-10-20 18:07:58,035.035 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:07:58
[2026-10-20 18:07:58,634.634 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:07:58,912.912 INFO    ] Initializing speech engine...
[2026-10-20 18:07:58,919.919 INFO    ] 2026-10-20 18:07:58
[2026-10-20 18:07:59,181.181 INFO    ] 2026-10-20 18:07:59
[2026-10-20 18:07:59,211.211 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:07:59,461.461 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:07:59,467.467 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:07:59,599.599 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:07:59,664.664 INFO    ] time= 20/10/2026 18:07:59
[2026-10-20 18:07:59,723.723 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:07:59,733.733 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:07:59,878.878 INFO    ] No existing commands found in stream
[2026-10-20 18:08:04,891.891 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:08:04,894.894 INFO    ] Waiting 0.78 seconds before fallback handling...
[2026-10-20 18:08:06,196.196 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:08:06,198.198 INFO    ] Checking for system updates...
[2026-10-20 18:08:06,234.234 INFO    ] 200
[2026-10-20 18:08:06,236.236 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:08:06,239.239 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:08:06,241.241 INFO    ] Checking for camera pi updates...
[2026-10-20 18:08:06,279.279 INFO    ] 200
[2026-10-20 18:08:06,281.281 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:08:06,284.284 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:08:06,286.286 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:08:06,288.288 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:08:06,293.293 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:08:06,298.298 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:08:08,340.340 INFO    ] ================================================
[2026-10-20 18:08:08,356.356 INFO    ] Launching Daemon at Tue Oct 20 18:08:08 IST 2026
[2026-10-20 18:08:08,367.367 INFO    ] ================================================
[2026-10-20 18:08:08,931.931 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:08:08
[2026-10-20 18:08:09,514.514 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:08:09,773.773 INFO    ] Initializing speech engine...
[2026-10-20 18:08:09,798.798 INFO    ] 2026-10-20 18:08:09
[2026-10-20 18:08:10,060.060 INFO    ] 2026-10-20 18:08:10
[2026-10-20 18:08:10,095.095 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:08:10,296.296 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:08:10,352.352 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:08:10,572.572 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:08:10,625.625 INFO    ] time= 20/10/2026 18:08:10
[2026-10-20 18:08:10,632.632 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:08:10,649.649 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:08:10,784.784 INFO    ] No existing commands found in stream
[2026-10-20 18:08:15,797.797 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:08:15,801.801 INFO    ] Waiting 2.35 seconds before fallback handling...
[2026-10-20 18:08:18,716.716 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:08:18,719.719 INFO    ] Checking for system updates...
[2026-10-20 18:08:18,754.754 INFO    ] 200
[2026-10-20 18:08:18,756.756 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:08:18,759.759 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:08:18,761.761 INFO    ] Checking for camera pi updates...
[2026-10-20 18:08:18,794.794 INFO    ] 200
[2026-10-20 18:08:18,796.796 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:08:18,799.799 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:08:18,801.801 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:08:18,803.803 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:08:18,809.809 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:08:18,814.814 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:08:20,855.855 INFO    ] ================================================
[2026-10-20 18:08:20,870.870 INFO    ] Launching Daemon at Tue Oct 20 18:08:20 IST 2026
[2026-10-20 18:08:20,880.880 INFO    ] ================================================
[2026-10-20 18:08:21,448.448 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:08:21
[2026-10-20 18:08:22,046.046 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:08:22,323.323 INFO    ] Initializing speech engine...
[2026-10-20 18:08:22,330.330 INFO    ] 2026-10-20 18:08:22
[2026-10-20 18:08:22,589.589 INFO    ] 2026-10-20 18:08:22
[2026-10-20 18:08:22,645.645 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:08:22,925.925 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:08:22,933.933 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:08:23,125.125 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:08:23,132.132 INFO    ] time= 20/10/2026 18:08:23
[2026-10-20 18:08:23,150.150 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:08:23,173.173 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:08:23,309.309 INFO    ] No existing commands found in stream
[2026-10-20 18:08:28,339.339 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:08:28,342.342 INFO    ] Waiting 1.62 seconds before fallback handling...
[2026-10-20 18:08:30,524.524 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 18:08:30,527.527 INFO    ] Checking for system updates...
[2026-10-20 18:08:30,563.563 INFO    ] 200
[2026-10-20 18:08:30,566.566 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:08:30,569.569 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:08:30,572.572 INFO    ] Checking for camera pi updates...
[2026-10-20 18:08:30,612.612 INFO    ] 200
[2026-10-20 18:08:30,614.614 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:08:30,617.617 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:08:30,619.619 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:08:30,621.621 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:08:30,627.627 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:08:30,632.632 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:08:32,673.673 INFO    ] ================================================
[2026-10-20 18:08:32,689.689 INFO    ] Launching Daemon at Tue Oct 20 18:08:32 IST 2026
[2026-10-20 18:08:32,700.700 INFO    ] ================================================
[2026-10-20 18:08:33,306.306 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:08:33
[2026-10-20 18:08:33,906.906 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:08:34,186.186 INFO    ] Initializing speech engine...
[2026-10-20 18:08:34,191.191 INFO    ] 2026-10-20 18:08:34
[2026-10-20 18:08:34,441.441 INFO    ] 2026-10-20 18:08:34
[2026-10-20 18:08:34,482.482 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:08:34,728.728 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:08:34,737.737 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:08:34,964.964 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:08:34,997.997 INFO    ] time= 20/10/2026 18:08:34
[2026-10-20 18:08:35,004.004 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:08:35,024.024 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:08:35,155.155 INFO    ] No existing commands found in stream
[2026-10-20 18:08:40,174.174 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:08:40,177.177 INFO    ] Waiting 1.79 seconds before fallback handling...
[2026-10-20 18:08:42,482.482 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 18:08:42,485.485 INFO    ] Checking for system updates...
[2026-10-20 18:08:42,525.525 INFO    ] 200
[2026-10-20 18:08:42,528.528 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:08:42,532.532 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:08:42,535.535 INFO    ] Checking for camera pi updates...
[2026-10-20 18:08:42,569.569 INFO    ] 200
[2026-10-20 18:08:42,572.572 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:08:42,575.575 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:08:42,577.577 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:08:42,580.580 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:08:42,586.586 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:08:42,592.592 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:08:44,635.635 INFO    ] ================================================
[2026-10-20 18:08:44,650.650 INFO    ] Launching Daemon at Tue Oct 20 18:08:44 IST 2026
[2026-10-20 18:08:44,660.660 INFO    ] ================================================
[2026-10-20 18:08:45,240.240 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:08:45
[2026-10-20 18:08:45,836.836 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:08:46,109.109 INFO    ] Initializing speech engine...
[2026-10-20 18:08:46,116.116 INFO    ] 2026-10-20 18:08:46
[2026-10-20 18:08:46,364.364 INFO    ] 2026-10-20 18:08:46
[2026-10-20 18:08:46,400.400 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:08:46,655.655 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:08:46,659.659 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:08:46,891.891 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:08:46,916.916 INFO    ] time= 20/10/2026 18:08:46
[2026-10-20 18:08:46,922.922 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:08:46,940.940 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:08:47,072.072 INFO    ] No existing commands found in stream
[2026-10-20 18:08:52,099.099 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:08:52,102.102 INFO    ] Waiting 2.05 seconds before fallback handling...
[2026-10-20 18:08:54,640.640 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:08:54,643.643 INFO    ] Checking for system updates...
[2026-10-20 18:08:54,682.682 INFO    ] 200
[2026-10-20 18:08:54,685.685 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:08:54,687.687 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:08:54,690.690 INFO    ] Checking for camera pi updates...
[2026-10-20 18:08:54,723.723 INFO    ] 200
[2026-10-20 18:08:54,725.725 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:08:54,728.728 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:08:54,731.731 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:08:54,733.733 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:08:54,738.738 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:08:54,744.744 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:08:56,783.783 INFO    ] ================================================
[2026-10-20 18:08:56,798.798 INFO    ] Launching Daemon at Tue Oct 20 18:08:56 IST 2026
[2026-10-20 18:08:56,809.809 INFO    ] ================================================
[2026-10-20 18:08:57,392.392 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:08:57
[2026-10-20 18:08:57,990.990 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:08:58,242.242 INFO    ] Initializing speech engine...
[2026-10-20 18:08:58,265.265 INFO    ] 2026-10-20 18:08:58
[2026-10-20 18:08:58,524.524 INFO    ] 2026-10-20 18:08:58
[2026-10-20 18:08:58,560.560 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:08:58,804.804 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:08:58,813.813 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:08:59,023.023 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:08:59,070.070 INFO    ] time= 20/10/2026 18:08:59
[2026-10-20 18:08:59,076.076 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:08:59,095.095 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:08:59,239.239 INFO    ] No existing commands found in stream
[2026-10-20 18:09:04,271.271 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:09:04,274.274 INFO    ] Waiting 0.82 seconds before fallback handling...
[2026-10-20 18:09:05,583.583 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 18:09:05,585.585 INFO    ] Checking for system updates...
[2026-10-20 18:09:05,626.626 INFO    ] 200
[2026-10-20 18:09:05,629.629 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:09:05,632.632 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:09:05,634.634 INFO    ] Checking for camera pi updates...
[2026-10-20 18:09:05,668.668 INFO    ] 200
[2026-10-20 18:09:05,670.670 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:09:05,673.673 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:09:05,675.675 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:09:05,678.678 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:09:05,683.683 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:09:05,688.688 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:09:07,729.729 INFO    ] ================================================
[2026-10-20 18:09:07,744.744 INFO    ] Launching Daemon at Tue Oct 20 18:09:07 IST 2026
[2026-10-20 18:09:07,755.755 INFO    ] ================================================
[2026-10-20 18:09:08,327.327 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:09:08
[2026-10-20 18:09:08,916.916 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:09:09,174.174 INFO    ] Initializing speech engine...
[2026-10-20 18:09:09,183.183 INFO    ] 2026-10-20 18:09:09
[2026-10-20 18:09:09,483.483 INFO    ] 2026-10-20 18:09:09
[2026-10-20 18:09:09,522.522 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:09:09,757.757 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:09:09,813.813 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:09:09,990.990 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:09:10,023.023 INFO    ] time= 20/10/2026 18:09:09
[2026-10-20 18:09:10,073.073 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:09:10,117.117 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:09:10,219.219 INFO    ] No existing commands found in stream
[2026-10-20 18:09:15,234.234 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:09:15,237.237 INFO    ] Waiting 1.66 seconds before fallback handling...
[2026-10-20 18:09:17,430.430 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 18:09:17,433.433 INFO    ] Checking for system updates...
[2026-10-20 18:09:17,468.468 INFO    ] 200
[2026-10-20 18:09:17,471.471 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:09:17,474.474 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:09:17,476.476 INFO    ] Checking for camera pi updates...
[2026-10-20 18:09:17,509.509 INFO    ] 200
[2026-10-20 18:09:17,512.512 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:09:17,515.515 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:09:17,517.517 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:09:17,519.519 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:09:17,524.524 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:09:17,529.529 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:09:19,570.570 INFO    ] ================================================
[2026-10-20 18:09:19,587.587 INFO    ] Launching Daemon at Tue Oct 20 18:09:19 IST 2026
[2026-10-20 18:09:19,598.598 INFO    ] ================================================
[2026-10-20 18:09:20,208.208 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:09:20
[2026-10-20 18:09:20,801.801 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:09:21,084.084 INFO    ] Initializing speech engine...
[2026-10-20 18:09:21,093.093 INFO    ] 2026-10-20 18:09:21
[2026-10-20 18:09:21,352.352 INFO    ] 2026-10-20 18:09:21
[2026-10-20 18:09:21,406.406 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:09:21,662.662 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:09:21,695.695 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:09:21,894.894 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:09:21,906.906 INFO    ] time= 20/10/2026 18:09:21
[2026-10-20 18:09:21,924.924 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:09:21,936.936 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:09:22,066.066 INFO    ] No existing commands found in stream
[2026-10-20 18:09:27,090.090 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:09:27,093.093 INFO    ] Waiting 1.47 seconds before fallback handling...
[2026-10-20 18:09:29,188.188 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 18:09:29,191.191 INFO    ] Checking for system updates...
[2026-10-20 18:09:29,229.229 INFO    ] 200
[2026-10-20 18:09:29,232.232 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:09:29,235.235 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:09:29,239.239 INFO    ] Checking for camera pi updates...
[2026-10-20 18:09:29,278.278 INFO    ] 200
[2026-10-20 18:09:29,281.281 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:09:29,283.283 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:09:29,286.286 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:09:29,288.288 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:09:29,294.294 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:09:29,299.299 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:09:31,341.341 INFO    ] ================================================
[2026-10-20 18:09:31,357.357 INFO    ] Launching Daemon at Tue Oct 20 18:09:31 IST 2026
[2026-10-20 18:09:31,369.369 INFO    ] ================================================
[2026-10-20 18:09:31,979.979 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:09:31
[2026-10-20 18:09:32,623.623 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:09:32,905.905 INFO    ] Initializing speech engine...
[2026-10-20 18:09:32,912.912 INFO    ] 2026-10-20 18:09:32
[2026-10-20 18:09:33,241.241 INFO    ] 2026-10-20 18:09:33
[2026-10-20 18:09:33,277.277 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:09:33,486.486 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:09:33,503.503 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:09:33,679.679 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:09:33,687.687 INFO    ] time= 20/10/2026 18:09:33
[2026-10-20 18:09:33,700.700 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:09:33,759.759 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:09:33,886.886 INFO    ] No existing commands found in stream
[2026-10-20 18:09:38,906.906 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:09:38,909.909 INFO    ] Waiting 2.67 seconds before fallback handling...
[2026-10-20 18:09:42,088.088 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 18:09:42,091.091 INFO    ] Checking for system updates...
[2026-10-20 18:09:42,126.126 INFO    ] 200
[2026-10-20 18:09:42,129.129 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:09:42,131.131 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:09:42,134.134 INFO    ] Checking for camera pi updates...
[2026-10-20 18:09:42,167.167 INFO    ] 200
[2026-10-20 18:09:42,170.170 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:09:42,172.172 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:09:42,174.174 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:09:42,177.177 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:09:42,182.182 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:09:42,187.187 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:09:44,226.226 INFO    ] ================================================
[2026-10-20 18:09:44,241.241 INFO    ] Launching Daemon at Tue Oct 20 18:09:44 IST 2026
[2026-10-20 18:09:44,253.253 INFO    ] ================================================
[2026-10-20 18:09:44,930.930 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:09:44
[2026-10-20 18:09:45,632.632 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:09:45,954.954 INFO    ] Initializing speech engine...
[2026-10-20 18:09:45,962.962 INFO    ] 2026-10-20 18:09:45
[2026-10-20 18:09:46,274.274 INFO    ] 2026-10-20 18:09:46
[2026-10-20 18:09:46,360.360 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:09:46,576.576 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:09:46,584.584 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:09:46,779.779 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:09:46,798.798 INFO    ] time= 20/10/2026 18:09:46
[2026-10-20 18:09:46,817.817 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:09:46,836.836 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:09:46,980.980 INFO    ] No existing commands found in stream
[2026-10-20 18:09:52,011.011 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:09:52,015.015 INFO    ] Waiting 1.68 seconds before fallback handling...
[2026-10-20 18:09:54,267.267 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:09:54,270.270 INFO    ] Checking for system updates...
[2026-10-20 18:09:54,308.308 INFO    ] 200
[2026-10-20 18:09:54,311.311 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:09:54,314.314 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:09:54,317.317 INFO    ] Checking for camera pi updates...
[2026-10-20 18:09:54,352.352 INFO    ] 200
[2026-10-20 18:09:54,355.355 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:09:54,358.358 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:09:54,361.361 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:09:54,363.363 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:09:54,370.370 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:09:54,376.376 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:09:56,416.416 INFO    ] ================================================
[2026-10-20 18:09:56,432.432 INFO    ] Launching Daemon at Tue Oct 20 18:09:56 IST 2026
[2026-10-20 18:09:56,444.444 INFO    ] ================================================
[2026-10-20 18:09:57,013.013 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:09:57
[2026-10-20 18:09:57,595.595 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:09:57,841.841 INFO    ] Initializing speech engine...
[2026-10-20 18:09:57,850.850 INFO    ] 2026-10-20 18:09:57
[2026-10-20 18:09:58,123.123 INFO    ] 2026-10-20 18:09:58
[2026-10-20 18:09:58,159.159 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:09:58,415.415 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:09:58,424.424 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:09:58,645.645 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:09:58,689.689 INFO    ] time= 20/10/2026 18:09:58
[2026-10-20 18:09:58,695.695 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:09:58,715.715 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:09:58,841.841 INFO    ] No existing commands found in stream
[2026-10-20 18:10:03,857.857 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:10:03,861.861 INFO    ] Waiting 2.91 seconds before fallback handling...
[2026-10-20 18:10:07,277.277 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:10:07,279.279 INFO    ] Checking for system updates...
[2026-10-20 18:10:07,319.319 INFO    ] 200
[2026-10-20 18:10:07,321.321 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:10:07,324.324 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:10:07,326.326 INFO    ] Checking for camera pi updates...
[2026-10-20 18:10:07,364.364 INFO    ] 200
[2026-10-20 18:10:07,367.367 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:10:07,369.369 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:10:07,371.371 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:10:07,374.374 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:10:07,379.379 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:10:07,384.384 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:10:09,424.424 INFO    ] ================================================
[2026-10-20 18:10:09,440.440 INFO    ] Launching Daemon at Tue Oct 20 18:10:09 IST 2026
[2026-10-20 18:10:09,451.451 INFO    ] ================================================
[2026-10-20 18:10:10,115.115 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:10:10
[2026-10-20 18:10:10,797.797 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:10:11,103.103 INFO    ] Initializing speech engine...
[2026-10-20 18:10:11,111.111 INFO    ] 2026-10-20 18:10:11
[2026-10-20 18:10:11,391.391 INFO    ] 2026-10-20 18:10:11
[2026-10-20 18:10:11,449.449 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:10:11,741.741 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:10:11,746.746 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:10:11,943.943 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:10:11,955.955 INFO    ] time= 20/10/2026 18:10:11
[2026-10-20 18:10:11,972.972 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:10:11,992.992 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:10:12,124.124 INFO    ] No existing commands found in stream
[2026-10-20 18:10:17,150.150 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:10:17,153.153 INFO    ] Waiting 0.45 seconds before fallback handling...
[2026-10-20 18:10:18,187.187 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:10:18,190.190 INFO    ] Checking for system updates...
[2026-10-20 18:10:18,225.225 INFO    ] 200
[2026-10-20 18:10:18,227.227 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:10:18,230.230 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:10:18,233.233 INFO    ] Checking for camera pi updates...
[2026-10-20 18:10:18,269.269 INFO    ] 200
[2026-10-20 18:10:18,272.272 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:10:18,274.274 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:10:18,276.276 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:10:18,278.278 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:10:18,284.284 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:10:18,289.289 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:10:20,329.329 INFO    ] ================================================
[2026-10-20 18:10:20,344.344 INFO    ] Launching Daemon at Tue Oct 20 18:10:20 IST 2026
[2026-10-20 18:10:20,355.355 INFO    ] ================================================
[2026-10-20 18:10:20,951.951 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:10:20
[2026-10-20 18:10:21,547.547 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:10:21,825.825 INFO    ] Initializing speech engine...
[2026-10-20 18:10:21,832.832 INFO    ] 2026-10-20 18:10:21
[2026-10-20 18:10:22,093.093 INFO    ] 2026-10-20 18:10:22
[2026-10-20 18:10:22,123.123 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:10:22,431.431 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:10:22,436.436 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:10:22,627.627 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:10:22,634.634 INFO    ] time= 20/10/2026 18:10:22
[2026-10-20 18:10:22,654.654 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:10:22,680.680 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:10:22,806.806 INFO    ] No existing commands found in stream
[2026-10-20 18:10:27,836.836 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:10:27,839.839 INFO    ] Waiting 1.01 seconds before fallback handling...
[2026-10-20 18:10:29,359.359 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:10:29,361.361 INFO    ] Checking for system updates...
[2026-10-20 18:10:29,398.398 INFO    ] 200
[2026-10-20 18:10:29,401.401 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:10:29,404.404 INFO    ] Machine not idle (state: STATE_PREORDER), skipping update check
[2026-10-20 18:10:29,406.406 INFO    ] Checking for camera pi updates...
[2026-10-20 18:10:29,439.439 INFO    ] 200
[2026-10-20 18:10:29,442.442 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_PREORDER"}
[2026-10-20 18:10:29,445.445 INFO    ] Machine not idle (state: STATE_PREORDER), skipping camera update check
[2026-10-20 18:10:29,447.447 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:10:29,449.449 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:10:29,455.455 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:10:29,460.460 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:10:31,501.501 INFO    ] ================================================
[2026-10-20 18:10:31,516.516 INFO    ] Launching Daemon at Tue Oct 20 18:10:31 IST 2026
[2026-10-20 18:10:31,526.526 INFO    ] ================================================
[2026-10-20 18:10:32,118.118 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:10:32
[2026-10-20 18:10:32,735.735 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:10:33,026.026 INFO    ] Initializing speech engine...
[2026-10-20 18:10:33,044.044 INFO    ] 2026-10-20 18:10:33
[2026-10-20 18:10:33,327.327 INFO    ] 2026-10-20 18:10:33
[2026-10-20 18:10:33,395.395 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:10:33,665.665 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:10:33,688.688 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:10:33,886.886 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:10:33,904.904 INFO    ] time= 20/10/2026 18:10:33
[2026-10-20 18:10:33,915.915 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:10:33,944.944 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:10:34,053.053 INFO    ] No existing commands found in stream
[2026-10-20 18:10:39,083.083 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:10:39,086.086 INFO    ] Waiting 1.23 seconds before fallback handling...
[2026-10-20 18:10:40,874.874 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:10:40,877.877 INFO    ] Checking for system updates...
[2026-10-20 18:10:40,916.916 INFO    ] 200
[2026-10-20 18:10:40,919.919 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:10:40,972.972 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:10:40,975.975 INFO    ] No update needed
[2026-10-20 18:10:40,977.977 INFO    ] Checking for camera pi updates...
[2026-10-20 18:10:41,013.013 INFO    ] 200
[2026-10-20 18:10:41,016.016 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:10:41,063.063 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:10:41,118.118 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:10:41,121.121 INFO    ] No camera update needed
[2026-10-20 18:10:41,123.123 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:10:41,125.125 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:10:41,131.131 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:10:41,136.136 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:10:43,175.175 INFO    ] ================================================
[2026-10-20 18:10:43,191.191 INFO    ] Launching Daemon at Tue Oct 20 18:10:43 IST 2026
[2026-10-20 18:10:43,202.202 INFO    ] ================================================
[2026-10-20 18:10:43,769.769 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:10:43
[2026-10-20 18:10:44,351.351 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:10:44,620.620 INFO    ] Initializing speech engine...
[2026-10-20 18:10:44,623.623 INFO    ] 2026-10-20 18:10:44
[2026-10-20 18:10:44,899.899 INFO    ] 2026-10-20 18:10:44
[2026-10-20 18:10:44,935.935 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:10:45,146.146 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:10:45,168.168 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:10:45,391.391 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:10:45,413.413 INFO    ] time= 20/10/2026 18:10:45
[2026-10-20 18:10:45,472.472 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:10:45,506.506 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:10:45,603.603 INFO    ] No existing commands found in stream
[2026-10-20 18:10:50,614.614 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:10:50,617.617 INFO    ] Waiting 2.09 seconds before fallback handling...
[2026-10-20 18:10:53,255.255 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:10:53,258.258 INFO    ] Checking for system updates...
[2026-10-20 18:10:53,303.303 INFO    ] 200
[2026-10-20 18:10:53,306.306 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 18:10:53,308.308 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-10-20 18:10:53,311.311 INFO    ] Checking for camera pi updates...
[2026-10-20 18:10:53,355.355 INFO    ] 200
[2026-10-20 18:10:53,357.357 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 18:10:53,360.360 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-10-20 18:10:53,363.363 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:10:53,366.366 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:10:53,374.374 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:10:53,380.380 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:10:55,421.421 INFO    ] ================================================
[2026-10-20 18:10:55,435.435 INFO    ] Launching Daemon at Tue Oct 20 18:10:55 IST 2026
[2026-10-20 18:10:55,446.446 INFO    ] ================================================
[2026-10-20 18:10:56,104.104 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:10:56
[2026-10-20 18:10:56,779.779 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:10:57,088.088 INFO    ] Initializing speech engine...
[2026-10-20 18:10:57,099.099 INFO    ] 2026-10-20 18:10:57
[2026-10-20 18:10:57,353.353 INFO    ] 2026-10-20 18:10:57
[2026-10-20 18:10:57,408.408 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:10:57,693.693 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:10:57,700.700 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:10:57,892.892 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:10:57,899.899 INFO    ] time= 20/10/2026 18:10:57
[2026-10-20 18:10:57,917.917 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:10:57,945.945 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:10:58,053.053 INFO    ] No existing commands found in stream
[2026-10-20 18:11:03,088.088 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:11:03,091.091 INFO    ] Waiting 1.97 seconds before fallback handling...
[2026-10-20 18:11:05,633.633 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 18:11:05,635.635 INFO    ] Checking for system updates...
[2026-10-20 18:11:05,671.671 INFO    ] 200
[2026-10-20 18:11:05,673.673 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:11:05,725.725 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:11:05,727.727 INFO    ] No update needed
[2026-10-20 18:11:05,729.729 INFO    ] Checking for camera pi updates...
[2026-10-20 18:11:05,763.763 INFO    ] 200
[2026-10-20 18:11:05,765.765 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:11:05,806.806 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:11:05,852.852 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:11:05,855.855 INFO    ] No camera update needed
[2026-10-20 18:11:05,858.858 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:11:05,861.861 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:11:05,868.868 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:11:05,874.874 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:11:07,913.913 INFO    ] ================================================
[2026-10-20 18:11:07,929.929 INFO    ] Launching Daemon at Tue Oct 20 18:11:07 IST 2026
[2026-10-20 18:11:07,939.939 INFO    ] ================================================
[2026-10-20 18:11:08,504.504 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:11:08
[2026-10-20 18:11:09,086.086 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:11:09,336.336 INFO    ] Initializing speech engine...
[2026-10-20 18:11:09,360.360 INFO    ] 2026-10-20 18:11:09
[2026-10-20 18:11:09,618.618 INFO    ] 2026-10-20 18:11:09
[2026-10-20 18:11:09,659.659 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:11:09,916.916 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:11:09,922.922 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:11:10,140.140 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:11:10,183.183 INFO    ] time= 20/10/2026 18:11:10
[2026-10-20 18:11:10,189.189 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:11:10,206.206 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:11:10,360.360 INFO    ] No existing commands found in stream
[2026-10-20 18:11:15,387.387 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:11:15,390.390 INFO    ] Waiting 2.13 seconds before fallback handling...
[2026-10-20 18:11:18,014.014 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:11:18,016.016 INFO    ] Checking for system updates...
[2026-10-20 18:11:18,051.051 INFO    ] 200
[2026-10-20 18:11:18,054.054 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:11:18,107.107 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:11:18,109.109 INFO    ] No update needed
[2026-10-20 18:11:18,112.112 INFO    ] Checking for camera pi updates...
[2026-10-20 18:11:18,150.150 INFO    ] 200
[2026-10-20 18:11:18,152.152 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:11:18,198.198 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:11:18,242.242 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:11:18,244.244 INFO    ] No camera update needed
[2026-10-20 18:11:18,247.247 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:11:18,249.249 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:11:18,254.254 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:11:18,259.259 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:11:20,301.301 INFO    ] ================================================
[2026-10-20 18:11:20,316.316 INFO    ] Launching Daemon at Tue Oct 20 18:11:20 IST 2026
[2026-10-20 18:11:20,327.327 INFO    ] ================================================
[2026-10-20 18:11:20,894.894 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:11:20
[2026-10-20 18:11:21,476.476 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:11:21,746.746 INFO    ] Initializing speech engine...
[2026-10-20 18:11:21,757.757 INFO    ] 2026-10-20 18:11:21
[2026-10-20 18:11:22,033.033 INFO    ] 2026-10-20 18:11:22
[2026-10-20 18:11:22,091.091 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:11:22,322.322 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:11:22,331.331 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:11:22,532.532 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:11:22,586.586 INFO    ] time= 20/10/2026 18:11:22
[2026-10-20 18:11:22,604.604 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:11:22,620.620 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:11:22,757.757 INFO    ] No existing commands found in stream
[2026-10-20 18:11:27,770.770 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:11:27,773.773 INFO    ] Waiting 2.74 seconds before fallback handling...
[2026-10-20 18:11:31,115.115 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:11:31,118.118 INFO    ] Checking for system updates...
[2026-10-20 18:11:31,158.158 INFO    ] 200
[2026-10-20 18:11:31,161.161 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:11:31,225.225 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:11:31,229.229 INFO    ] No update needed
[2026-10-20 18:11:31,232.232 INFO    ] Checking for camera pi updates...
[2026-10-20 18:11:31,271.271 INFO    ] 200
[2026-10-20 18:11:31,274.274 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:11:31,324.324 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:11:31,370.370 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:11:31,373.373 INFO    ] No camera update needed
[2026-10-20 18:11:31,375.375 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:11:31,378.378 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:11:31,384.384 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:11:31,389.389 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:11:33,429.429 INFO    ] ================================================
[2026-10-20 18:11:33,444.444 INFO    ] Launching Daemon at Tue Oct 20 18:11:33 IST 2026
[2026-10-20 18:11:33,454.454 INFO    ] ================================================
[2026-10-20 18:11:34,021.021 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:11:34
[2026-10-20 18:11:34,604.604 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:11:34,872.872 INFO    ] Initializing speech engine...
[2026-10-20 18:11:34,881.881 INFO    ] 2026-10-20 18:11:34
[2026-10-20 18:11:35,127.127 INFO    ] 2026-10-20 18:11:35
[2026-10-20 18:11:35,164.164 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:11:35,392.392 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:11:35,440.440 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:11:35,624.624 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:11:35,646.646 INFO    ] time= 20/10/2026 18:11:35
[2026-10-20 18:11:35,706.706 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:11:35,755.755 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:11:35,836.836 INFO    ] No existing commands found in stream
[2026-10-20 18:11:40,845.845 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:11:40,848.848 INFO    ] Waiting 0.66 seconds before fallback handling...
[2026-10-20 18:11:42,026.026 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 18:11:42,030.030 INFO    ] Checking for system updates...
[2026-10-20 18:11:42,069.069 INFO    ] 200
[2026-10-20 18:11:42,072.072 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:11:42,128.128 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:11:42,131.131 INFO    ] No update needed
[2026-10-20 18:11:42,134.134 INFO    ] Checking for camera pi updates...
[2026-10-20 18:11:42,169.169 INFO    ] 200
[2026-10-20 18:11:42,172.172 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:11:42,220.220 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:11:42,272.272 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:11:42,274.274 INFO    ] No camera update needed
[2026-10-20 18:11:42,277.277 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:11:42,280.280 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:11:42,286.286 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:11:42,292.292 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:11:44,332.332 INFO    ] ================================================
[2026-10-20 18:11:44,347.347 INFO    ] Launching Daemon at Tue Oct 20 18:11:44 IST 2026
[2026-10-20 18:11:44,358.358 INFO    ] ================================================
[2026-10-20 18:11:45,029.029 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:11:45
[2026-10-20 18:11:45,716.716 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:11:46,029.029 INFO    ] Initializing speech engine...
[2026-10-20 18:11:46,043.043 INFO    ] 2026-10-20 18:11:46
[2026-10-20 18:11:46,316.316 INFO    ] 2026-10-20 18:11:46
[2026-10-20 18:11:46,372.372 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:11:46,631.631 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:11:46,636.636 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:11:46,855.855 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:11:46,877.877 INFO    ] time= 20/10/2026 18:11:46
[2026-10-20 18:11:46,884.884 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:11:46,906.906 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:11:47,078.078 INFO    ] No existing commands found in stream
[2026-10-20 18:11:52,104.104 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:11:52,107.107 INFO    ] Waiting 0.76 seconds before fallback handling...
[2026-10-20 18:11:53,368.368 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:11:53,371.371 INFO    ] Checking for system updates...
[2026-10-20 18:11:53,407.407 INFO    ] 200
[2026-10-20 18:11:53,410.410 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:11:53,462.462 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:11:53,464.464 INFO    ] No update needed
[2026-10-20 18:11:53,467.467 INFO    ] Checking for camera pi updates...
[2026-10-20 18:11:53,505.505 INFO    ] 200
[2026-10-20 18:11:53,507.507 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:11:53,552.552 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:11:53,603.603 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:11:53,606.606 INFO    ] No camera update needed
[2026-10-20 18:11:53,608.608 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:11:53,611.611 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:11:53,616.616 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:11:53,621.621 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:11:55,660.660 INFO    ] ================================================
[2026-10-20 18:11:55,676.676 INFO    ] Launching Daemon at Tue Oct 20 18:11:55 IST 2026
[2026-10-20 18:11:55,687.687 INFO    ] ================================================
[2026-10-20 18:11:56,256.256 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:11:56
[2026-10-20 18:11:56,839.839 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:11:57,098.098 INFO    ] Initializing speech engine...
[2026-10-20 18:11:57,117.117 INFO    ] 2026-10-20 18:11:57
[2026-10-20 18:11:57,369.369 INFO    ] 2026-10-20 18:11:57
[2026-10-20 18:11:57,404.404 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:11:57,663.663 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:11:57,673.673 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:11:57,811.811 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:11:57,855.855 INFO    ] time= 20/10/2026 18:11:57
[2026-10-20 18:11:57,899.899 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:11:57,946.946 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:11:58,100.100 INFO    ] No existing commands found in stream
[2026-10-20 18:12:03,118.118 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:12:03,121.121 INFO    ] Waiting 2.81 seconds before fallback handling...
[2026-10-20 18:12:06,395.395 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 18:12:06,398.398 INFO    ] Checking for system updates...
[2026-10-20 18:12:06,433.433 INFO    ] 200
[2026-10-20 18:12:06,436.436 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:12:06,489.489 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:12:06,491.491 INFO    ] No update needed
[2026-10-20 18:12:06,493.493 INFO    ] Checking for camera pi updates...
[2026-10-20 18:12:06,527.527 INFO    ] 200
[2026-10-20 18:12:06,529.529 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:12:06,574.574 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:12:06,624.624 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:12:06,626.626 INFO    ] No camera update needed
[2026-10-20 18:12:06,628.628 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:12:06,631.631 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:12:06,636.636 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:12:06,641.641 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:12:08,682.682 INFO    ] ================================================
[2026-10-20 18:12:08,698.698 INFO    ] Launching Daemon at Tue Oct 20 18:12:08 IST 2026
[2026-10-20 18:12:08,709.709 INFO    ] ================================================
[2026-10-20 18:12:09,275.275 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:12:09
[2026-10-20 18:12:09,855.855 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:12:10,127.127 INFO    ] Initializing speech engine...
[2026-10-20 18:12:10,132.132 INFO    ] 2026-10-20 18:12:10
[2026-10-20 18:12:10,378.378 INFO    ] 2026-10-20 18:12:10
[2026-10-20 18:12:10,412.412 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:12:10,700.700 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:12:10,711.711 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:12:10,866.866 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:12:10,926.926 INFO    ] time= 20/10/2026 18:12:10
[2026-10-20 18:12:10,965.965 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:12:11,014.014 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:12:11,181.181 INFO    ] No existing commands found in stream
[2026-10-20 18:12:16,195.195 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:12:16,198.198 INFO    ] Waiting 0.85 seconds before fallback handling...
[2026-10-20 18:12:17,571.571 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:12:17,574.574 INFO    ] Checking for system updates...
[2026-10-20 18:12:17,609.609 INFO    ] 200
[2026-10-20 18:12:17,611.611 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:12:17,671.671 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:12:17,674.674 INFO    ] No update needed
[2026-10-20 18:12:17,676.676 INFO    ] Checking for camera pi updates...
[2026-10-20 18:12:17,710.710 INFO    ] 200
[2026-10-20 18:12:17,712.712 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:12:17,757.757 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:12:17,804.804 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:12:17,806.806 INFO    ] No camera update needed
[2026-10-20 18:12:17,808.808 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:12:17,811.811 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:12:17,816.816 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:12:17,821.821 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:12:19,863.863 INFO    ] ================================================
[2026-10-20 18:12:19,878.878 INFO    ] Launching Daemon at Tue Oct 20 18:12:19 IST 2026
[2026-10-20 18:12:19,889.889 INFO    ] ================================================
[2026-10-20 18:12:20,522.522 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:12:20
[2026-10-20 18:12:21,198.198 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:12:21,504.504 INFO    ] Initializing speech engine...
[2026-10-20 18:12:21,513.513 INFO    ] 2026-10-20 18:12:21
[2026-10-20 18:12:21,777.777 INFO    ] 2026-10-20 18:12:21
[2026-10-20 18:12:21,807.807 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:12:22,053.053 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:12:22,082.082 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:12:22,285.285 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:12:22,321.321 INFO    ] time= 20/10/2026 18:12:22
[2026-10-20 18:12:22,327.327 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:12:22,344.344 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:12:22,500.500 INFO    ] No existing commands found in stream
[2026-10-20 18:12:27,531.531 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:12:27,533.533 INFO    ] Waiting 0.35 seconds before fallback handling...
[2026-10-20 18:12:28,503.503 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:12:28,506.506 INFO    ] Checking for system updates...
[2026-10-20 18:12:28,548.548 INFO    ] 200
[2026-10-20 18:12:28,551.551 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:12:28,617.617 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:12:28,620.620 INFO    ] No update needed
[2026-10-20 18:12:28,623.623 INFO    ] Checking for camera pi updates...
[2026-10-20 18:12:28,662.662 INFO    ] 200
[2026-10-20 18:12:28,665.665 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:12:28,712.712 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:12:28,758.758 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:12:28,761.761 INFO    ] No camera update needed
[2026-10-20 18:12:28,764.764 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:12:28,767.767 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:12:28,773.773 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:12:28,779.779 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:12:30,820.820 INFO    ] ================================================
[2026-10-20 18:12:30,836.836 INFO    ] Launching Daemon at Tue Oct 20 18:12:30 IST 2026
[2026-10-20 18:12:30,848.848 INFO    ] ================================================
[2026-10-20 18:12:31,449.449 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:12:31
[2026-10-20 18:12:32,100.100 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:12:32,440.440 INFO    ] Initializing speech engine...
[2026-10-20 18:12:32,453.453 INFO    ] 2026-10-20 18:12:32
[2026-10-20 18:12:32,733.733 INFO    ] 2026-10-20 18:12:32
[2026-10-20 18:12:32,786.786 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:12:33,020.020 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:12:33,025.025 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:12:33,190.190 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:12:33,193.193 INFO    ] time= 20/10/2026 18:12:33
[2026-10-20 18:12:33,196.196 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:12:33,198.198 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:12:33,305.305 INFO    ] No existing commands found in stream
[2026-10-20 18:12:38,316.316 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:12:38,319.319 INFO    ] Waiting 2.97 seconds before fallback handling...
[2026-10-20 18:12:41,825.825 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:12:41,827.827 INFO    ] Checking for system updates...
[2026-10-20 18:12:41,865.865 INFO    ] 200
[2026-10-20 18:12:41,868.868 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:12:41,921.921 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:12:41,924.924 INFO    ] No update needed
[2026-10-20 18:12:41,926.926 INFO    ] Checking for camera pi updates...
[2026-10-20 18:12:41,962.962 INFO    ] 200
[2026-10-20 18:12:41,964.964 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:12:42,010.010 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:12:42,058.058 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:12:42,061.061 INFO    ] No camera update needed
[2026-10-20 18:12:42,063.063 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:12:42,066.066 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:12:42,071.071 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:12:42,076.076 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:12:44,117.117 INFO    ] ================================================
[2026-10-20 18:12:44,132.132 INFO    ] Launching Daemon at Tue Oct 20 18:12:44 IST 2026
[2026-10-20 18:12:44,143.143 INFO    ] ================================================
[2026-10-20 18:12:44,711.711 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:12:44
[2026-10-20 18:12:45,295.295 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:12:45,554.554 INFO    ] Initializing speech engine...
[2026-10-20 18:12:45,570.570 INFO    ] 2026-10-20 18:12:45
[2026-10-20 18:12:45,853.853 INFO    ] 2026-10-20 18:12:45
[2026-10-20 18:12:45,887.887 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:12:46,082.082 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:12:46,097.097 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:12:46,241.241 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:12:46,266.266 INFO    ] time= 20/10/2026 18:12:46
[2026-10-20 18:12:46,272.272 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:12:46,279.279 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:12:46,353.353 INFO    ] No existing commands found in stream
[2026-10-20 18:12:51,369.369 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:12:51,371.371 INFO    ] Waiting 2.72 seconds before fallback handling...
[2026-10-20 18:12:54,631.631 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 18:12:54,634.634 INFO    ] Checking for system updates...
[2026-10-20 18:12:54,675.675 INFO    ] 200
[2026-10-20 18:12:54,678.678 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:12:54,732.732 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:12:54,735.735 INFO    ] No update needed
[2026-10-20 18:12:54,738.738 INFO    ] Checking for camera pi updates...
[2026-10-20 18:12:54,777.777 INFO    ] 200
[2026-10-20 18:12:54,780.780 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:12:54,823.823 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:12:54,870.870 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:12:54,873.873 INFO    ] No camera update needed
[2026-10-20 18:12:54,876.876 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:12:54,878.878 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:12:54,885.885 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:12:54,890.890 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:12:56,930.930 INFO    ] ================================================
[2026-10-20 18:12:56,945.945 INFO    ] Launching Daemon at Tue Oct 20 18:12:56 IST 2026
[2026-10-20 18:12:56,960.960 INFO    ] ================================================
[2026-10-20 18:12:57,615.615 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:12:57
[2026-10-20 18:12:58,287.287 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:12:58,590.590 INFO    ] Initializing speech engine...
[2026-10-20 18:12:58,600.600 INFO    ] 2026-10-20 18:12:58
[2026-10-20 18:12:58,891.891 INFO    ] 2026-10-20 18:12:58
[2026-10-20 18:12:58,938.938 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:12:59,193.193 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:12:59,200.200 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:12:59,429.429 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:12:59,445.445 INFO    ] time= 20/10/2026 18:12:59
[2026-10-20 18:12:59,468.468 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:12:59,496.496 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:12:59,644.644 INFO    ] No existing commands found in stream
[2026-10-20 18:13:04,674.674 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:13:04,678.678 INFO    ] Waiting 1.42 seconds before fallback handling...
[2026-10-20 18:13:06,610.610 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 18:13:06,613.613 INFO    ] Checking for system updates...
[2026-10-20 18:13:06,648.648 INFO    ] 200
[2026-10-20 18:13:06,651.651 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:13:06,708.708 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:13:06,711.711 INFO    ] No update needed
[2026-10-20 18:13:06,713.713 INFO    ] Checking for camera pi updates...
[2026-10-20 18:13:06,746.746 INFO    ] 200
[2026-10-20 18:13:06,749.749 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:13:06,790.790 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:13:06,836.836 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:13:06,839.839 INFO    ] No camera update needed
[2026-10-20 18:13:06,841.841 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:13:06,843.843 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:13:06,849.849 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:13:06,854.854 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:13:08,893.893 INFO    ] ================================================
[2026-10-20 18:13:08,909.909 INFO    ] Launching Daemon at Tue Oct 20 18:13:08 IST 2026
[2026-10-20 18:13:08,920.920 INFO    ] ================================================
[2026-10-20 18:13:09,509.509 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:13:09
[2026-10-20 18:13:10,107.107 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:13:10,380.380 INFO    ] Initializing speech engine...
[2026-10-20 18:13:10,390.390 INFO    ] 2026-10-20 18:13:10
[2026-10-20 18:13:10,636.636 INFO    ] 2026-10-20 18:13:10
[2026-10-20 18:13:10,671.671 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:13:10,922.922 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:13:10,932.932 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:13:11,065.065 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:13:11,134.134 INFO    ] time= 20/10/2026 18:13:11
[2026-10-20 18:13:11,189.189 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:13:11,197.197 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:13:11,331.331 INFO    ] No existing commands found in stream
[2026-10-20 18:13:16,350.350 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:13:16,353.353 INFO    ] Waiting 2.09 seconds before fallback handling...
[2026-10-20 18:13:19,030.030 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:13:19,032.032 INFO    ] Checking for system updates...
[2026-10-20 18:13:19,071.071 INFO    ] 200
[2026-10-20 18:13:19,074.074 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:13:19,131.131 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:13:19,133.133 INFO    ] No update needed
[2026-10-20 18:13:19,136.136 INFO    ] Checking for camera pi updates...
[2026-10-20 18:13:19,172.172 INFO    ] 200
[2026-10-20 18:13:19,174.174 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:13:19,215.215 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:13:19,265.265 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:13:19,267.267 INFO    ] No camera update needed
[2026-10-20 18:13:19,269.269 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:13:19,272.272 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:13:19,277.277 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:13:19,282.282 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:13:21,322.322 INFO    ] ================================================
[2026-10-20 18:13:21,337.337 INFO    ] Launching Daemon at Tue Oct 20 18:13:21 IST 2026
[2026-10-20 18:13:21,348.348 INFO    ] ================================================
[2026-10-20 18:13:21,931.931 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:13:21
[2026-10-20 18:13:22,531.531 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:13:22,812.812 INFO    ] Initializing speech engine...
[2026-10-20 18:13:22,821.821 INFO    ] 2026-10-20 18:13:22
[2026-10-20 18:13:23,079.079 INFO    ] 2026-10-20 18:13:23
[2026-10-20 18:13:23,132.132 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:13:23,359.359 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:13:23,365.365 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:13:23,563.563 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:13:23,622.622 INFO    ] time= 20/10/2026 18:13:23
[2026-10-20 18:13:23,629.629 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:13:23,650.650 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:13:23,798.798 INFO    ] No existing commands found in stream
[2026-10-20 18:13:28,834.834 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:13:28,837.837 INFO    ] Waiting 2.38 seconds before fallback handling...
[2026-10-20 18:13:31,796.796 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 18:13:31,799.799 INFO    ] Checking for system updates...
[2026-10-20 18:13:31,840.840 INFO    ] 200
[2026-10-20 18:13:31,842.842 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:13:31,896.896 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:13:31,899.899 INFO    ] No update needed
[2026-10-20 18:13:31,902.902 INFO    ] Checking for camera pi updates...
[2026-10-20 18:13:31,936.936 INFO    ] 200
[2026-10-20 18:13:31,939.939 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:13:31,984.984 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:13:32,022.022 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:13:32,025.025 INFO    ] No camera update needed
[2026-10-20 18:13:32,027.027 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:13:32,030.030 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:13:32,036.036 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:13:32,042.042 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:13:34,084.084 INFO    ] ================================================
[2026-10-20 18:13:34,099.099 INFO    ] Launching Daemon at Tue Oct 20 18:13:34 IST 2026
[2026-10-20 18:13:34,109.109 INFO    ] ================================================
[2026-10-20 18:13:34,692.692 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:13:34
[2026-10-20 18:13:35,292.292 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:13:35,554.554 INFO    ] Initializing speech engine...
[2026-10-20 18:13:35,560.560 INFO    ] 2026-10-20 18:13:35
[2026-10-20 18:13:35,852.852 INFO    ] 2026-10-20 18:13:35
[2026-10-20 18:13:35,891.891 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:13:36,095.095 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:13:36,113.113 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:13:36,261.261 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:13:36,267.267 INFO    ] time= 20/10/2026 18:13:36
[2026-10-20 18:13:36,273.273 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:13:36,301.301 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:13:36,444.444 INFO    ] No existing commands found in stream
[2026-10-20 18:13:41,465.465 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:13:41,467.467 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-10-20 18:13:45,180.180 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:13:45,183.183 INFO    ] Checking for system updates...
[2026-10-20 18:13:45,223.223 INFO    ] 200
[2026-10-20 18:13:45,226.226 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:13:45,279.279 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:13:45,281.281 INFO    ] No update needed
[2026-10-20 18:13:45,284.284 INFO    ] Checking for camera pi updates...
[2026-10-20 18:13:45,321.321 INFO    ] 200
[2026-10-20 18:13:45,324.324 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:13:45,367.367 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:13:45,425.425 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:13:45,428.428 INFO    ] No camera update needed
[2026-10-20 18:13:45,431.431 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:13:45,434.434 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:13:45,440.440 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:13:45,445.445 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:13:47,486.486 INFO    ] ================================================
[2026-10-20 18:13:47,501.501 INFO    ] Launching Daemon at Tue Oct 20 18:13:47 IST 2026
[2026-10-20 18:13:47,512.512 INFO    ] ================================================
[2026-10-20 18:13:48,094.094 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:13:48
[2026-10-20 18:13:48,694.694 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:13:48,968.968 INFO    ] Initializing speech engine...
[2026-10-20 18:13:48,984.984 INFO    ] 2026-10-20 18:13:48
[2026-10-20 18:13:49,258.258 INFO    ] 2026-10-20 18:13:49
[2026-10-20 18:13:49,294.294 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:13:49,489.489 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:13:49,502.502 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:13:49,661.661 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:13:49,669.669 INFO    ] time= 20/10/2026 18:13:49
[2026-10-20 18:13:49,677.677 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:13:49,730.730 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:13:49,871.871 INFO    ] No existing commands found in stream
[2026-10-20 18:13:54,891.891 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:13:54,894.894 INFO    ] Waiting 3.18 seconds before fallback handling...
[2026-10-20 18:13:58,578.578 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:13:58,581.581 INFO    ] Checking for system updates...
[2026-10-20 18:13:58,617.617 INFO    ] 200
[2026-10-20 18:13:58,621.621 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:13:58,680.680 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:13:58,683.683 INFO    ] No update needed
[2026-10-20 18:13:58,687.687 INFO    ] Checking for camera pi updates...
[2026-10-20 18:13:58,724.724 INFO    ] 200
[2026-10-20 18:13:58,727.727 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:13:58,774.774 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:13:58,823.823 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:13:58,826.826 INFO    ] No camera update needed
[2026-10-20 18:13:58,829.829 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:13:58,832.832 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:13:58,838.838 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:13:58,843.843 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:14:00,883.883 INFO    ] ================================================
[2026-10-20 18:14:00,898.898 INFO    ] Launching Daemon at Tue Oct 20 18:14:00 IST 2026
[2026-10-20 18:14:00,908.908 INFO    ] ================================================
[2026-10-20 18:14:01,490.490 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:14:01
[2026-10-20 18:14:02,182.182 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:14:02,560.560 INFO    ] Initializing speech engine...
[2026-10-20 18:14:02,570.570 INFO    ] 2026-10-20 18:14:02
[2026-10-20 18:14:02,873.873 INFO    ] 2026-10-20 18:14:02
[2026-10-20 18:14:02,953.953 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:14:03,201.201 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:14:03,225.225 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:14:03,446.446 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:14:03,476.476 INFO    ] time= 20/10/2026 18:14:03
[2026-10-20 18:14:03,508.508 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:14:03,533.533 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:14:03,674.674 INFO    ] No existing commands found in stream
[2026-10-20 18:14:08,704.704 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:14:08,707.707 INFO    ] Waiting 1.83 seconds before fallback handling...
[2026-10-20 18:14:11,080.080 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 18:14:11,083.083 INFO    ] Checking for system updates...
[2026-10-20 18:14:11,119.119 INFO    ] 200
[2026-10-20 18:14:11,122.122 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:14:11,174.174 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:14:11,176.176 INFO    ] No update needed
[2026-10-20 18:14:11,179.179 INFO    ] Checking for camera pi updates...
[2026-10-20 18:14:11,211.211 INFO    ] 200
[2026-10-20 18:14:11,214.214 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:14:11,254.254 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:14:11,397.397 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:14:11,400.400 INFO    ] No camera update needed
[2026-10-20 18:14:11,402.402 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:14:11,404.404 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:14:11,410.410 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:14:11,415.415 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:14:13,455.455 INFO    ] ================================================
[2026-10-20 18:14:13,470.470 INFO    ] Launching Daemon at Tue Oct 20 18:14:13 IST 2026
[2026-10-20 18:14:13,481.481 INFO    ] ================================================
[2026-10-20 18:14:14,067.067 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:14:14
[2026-10-20 18:14:14,670.670 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:14:14,930.930 INFO    ] Initializing speech engine...
[2026-10-20 18:14:14,939.939 INFO    ] 2026-10-20 18:14:14
[2026-10-20 18:14:15,236.236 INFO    ] 2026-10-20 18:14:15
[2026-10-20 18:14:15,275.275 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:14:15,473.473 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:14:15,487.487 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:14:15,649.649 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:14:15,657.657 INFO    ] time= 20/10/2026 18:14:15
[2026-10-20 18:14:15,662.662 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:14:15,669.669 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:14:15,792.792 INFO    ] No existing commands found in stream
[2026-10-20 18:14:20,822.822 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:14:20,825.825 INFO    ] Waiting 3.28 seconds before fallback handling...
[2026-10-20 18:14:24,611.611 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 18:14:24,614.614 INFO    ] Checking for system updates...
[2026-10-20 18:14:24,649.649 INFO    ] 200
[2026-10-20 18:14:24,652.652 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:14:24,705.705 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:14:24,707.707 INFO    ] No update needed
[2026-10-20 18:14:24,710.710 INFO    ] Checking for camera pi updates...
[2026-10-20 18:14:24,745.745 INFO    ] 200
[2026-10-20 18:14:24,748.748 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:14:24,789.789 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:14:24,834.834 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:14:24,837.837 INFO    ] No camera update needed
[2026-10-20 18:14:24,839.839 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:14:24,842.842 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:14:24,847.847 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:14:24,852.852 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:14:26,892.892 INFO    ] ================================================
[2026-10-20 18:14:26,907.907 INFO    ] Launching Daemon at Tue Oct 20 18:14:26 IST 2026
[2026-10-20 18:14:26,918.918 INFO    ] ================================================
[2026-10-20 18:14:27,500.500 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:14:27
[2026-10-20 18:14:28,098.098 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:14:28,367.367 INFO    ] Initializing speech engine...
[2026-10-20 18:14:28,380.380 INFO    ] 2026-10-20 18:14:28
[2026-10-20 18:14:28,628.628 INFO    ] 2026-10-20 18:14:28
[2026-10-20 18:14:28,663.663 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:14:28,924.924 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:14:28,929.929 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:14:29,109.109 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:14:29,179.179 INFO    ] time= 20/10/2026 18:14:29
[2026-10-20 18:14:29,192.192 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:14:29,207.207 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:14:29,338.338 INFO    ] No existing commands found in stream
[2026-10-20 18:14:34,352.352 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:14:34,355.355 INFO    ] Waiting 2.76 seconds before fallback handling...
[2026-10-20 18:14:37,584.584 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:14:37,587.587 INFO    ] Checking for system updates...
[2026-10-20 18:14:37,623.623 INFO    ] 200
[2026-10-20 18:14:37,625.625 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:14:37,677.677 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:14:37,679.679 INFO    ] No update needed
[2026-10-20 18:14:37,682.682 INFO    ] Checking for camera pi updates...
[2026-10-20 18:14:37,718.718 INFO    ] 200
[2026-10-20 18:14:37,720.720 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:14:37,760.760 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:14:37,804.804 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:14:37,807.807 INFO    ] No camera update needed
[2026-10-20 18:14:37,809.809 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:14:37,812.812 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:14:37,817.817 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:14:37,822.822 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:14:39,864.864 INFO    ] ================================================
[2026-10-20 18:14:39,879.879 INFO    ] Launching Daemon at Tue Oct 20 18:14:39 IST 2026
[2026-10-20 18:14:39,891.891 INFO    ] ================================================
[2026-10-20 18:14:40,472.472 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:14:40
[2026-10-20 18:14:41,072.072 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:14:41,348.348 INFO    ] Initializing speech engine...
[2026-10-20 18:14:41,355.355 INFO    ] 2026-10-20 18:14:41
[2026-10-20 18:14:41,606.606 INFO    ] 2026-10-20 18:14:41
[2026-10-20 18:14:41,648.648 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:14:41,900.900 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:14:41,904.904 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:14:42,109.109 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:14:42,165.165 INFO    ] time= 20/10/2026 18:14:42
[2026-10-20 18:14:42,172.172 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:14:42,189.189 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:14:42,321.321 INFO    ] No existing commands found in stream
[2026-10-20 18:14:47,337.337 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:14:47,340.340 INFO    ] Waiting 3.28 seconds before fallback handling...
[2026-10-20 18:14:51,174.174 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:14:51,176.176 INFO    ] Checking for system updates...
[2026-10-20 18:14:51,217.217 INFO    ] 200
[2026-10-20 18:14:51,220.220 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:14:51,273.273 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:14:51,275.275 INFO    ] No update needed
[2026-10-20 18:14:51,277.277 INFO    ] Checking for camera pi updates...
[2026-10-20 18:14:51,311.311 INFO    ] 200
[2026-10-20 18:14:51,314.314 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:14:51,353.353 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:14:51,404.404 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:14:51,406.406 INFO    ] No camera update needed
[2026-10-20 18:14:51,408.408 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:14:51,411.411 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:14:51,416.416 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:14:51,421.421 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:14:53,462.462 INFO    ] ================================================
[2026-10-20 18:14:53,477.477 INFO    ] Launching Daemon at Tue Oct 20 18:14:53 IST 2026
[2026-10-20 18:14:53,489.489 INFO    ] ================================================
[2026-10-20 18:14:54,075.075 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:14:54
[2026-10-20 18:14:54,679.679 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:14:54,938.938 INFO    ] Initializing speech engine...
[2026-10-20 18:14:54,946.946 INFO    ] 2026-10-20 18:14:54
[2026-10-20 18:14:55,246.246 INFO    ] 2026-10-20 18:14:55
[2026-10-20 18:14:55,281.281 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:14:55,494.494 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:14:55,516.516 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:14:55,736.736 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:14:55,743.743 INFO    ] time= 20/10/2026 18:14:55
[2026-10-20 18:14:55,782.782 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:14:55,826.826 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:14:55,946.946 INFO    ] No existing commands found in stream
[2026-10-20 18:15:00,958.958 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:15:00,961.961 INFO    ] Waiting 1.41 seconds before fallback handling...
[2026-10-20 18:15:02,898.898 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:15:02,903.903 INFO    ] Checking for system updates...
[2026-10-20 18:15:02,950.950 INFO    ] 200
[2026-10-20 18:15:02,953.953 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:15:03,024.024 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:15:03,027.027 INFO    ] No update needed
[2026-10-20 18:15:03,030.030 INFO    ] Checking for camera pi updates...
[2026-10-20 18:15:03,065.065 INFO    ] 200
[2026-10-20 18:15:03,067.067 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:15:03,147.147 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:15:03,205.205 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:15:03,208.208 INFO    ] No camera update needed
[2026-10-20 18:15:03,211.211 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:15:03,213.213 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:15:03,220.220 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:15:03,226.226 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:15:05,266.266 INFO    ] ================================================
[2026-10-20 18:15:05,282.282 INFO    ] Launching Daemon at Tue Oct 20 18:15:05 IST 2026
[2026-10-20 18:15:05,294.294 INFO    ] ================================================
[2026-10-20 18:15:05,873.873 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:15:05
[2026-10-20 18:15:06,469.469 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:15:06,745.745 INFO    ] Initializing speech engine...
[2026-10-20 18:15:06,752.752 INFO    ] 2026-10-20 18:15:06
[2026-10-20 18:15:07,013.013 INFO    ] 2026-10-20 18:15:07
[2026-10-20 18:15:07,068.068 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:15:07,315.315 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:15:07,321.321 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:15:07,539.539 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:15:07,557.557 INFO    ] time= 20/10/2026 18:15:07
[2026-10-20 18:15:07,575.575 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:15:07,603.603 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:15:07,728.728 INFO    ] No existing commands found in stream
[2026-10-20 18:15:12,759.759 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:15:12,762.762 INFO    ] Waiting 1.03 seconds before fallback handling...
[2026-10-20 18:15:14,294.294 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 18:15:14,296.296 INFO    ] Checking for system updates...
[2026-10-20 18:15:14,332.332 INFO    ] 200
[2026-10-20 18:15:14,334.334 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:15:14,387.387 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:15:14,390.390 INFO    ] No update needed
[2026-10-20 18:15:14,392.392 INFO    ] Checking for camera pi updates...
[2026-10-20 18:15:14,426.426 INFO    ] 200
[2026-10-20 18:15:14,428.428 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:15:14,470.470 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:15:14,520.520 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:15:14,522.522 INFO    ] No camera update needed
[2026-10-20 18:15:14,525.525 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:15:14,527.527 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:15:14,532.532 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:15:14,537.537 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:15:16,578.578 INFO    ] ================================================
[2026-10-20 18:15:16,594.594 INFO    ] Launching Daemon at Tue Oct 20 18:15:16 IST 2026
[2026-10-20 18:15:16,605.605 INFO    ] ================================================
[2026-10-20 18:15:17,216.216 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:15:17
[2026-10-20 18:15:17,803.803 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:15:18,050.050 INFO    ] Initializing speech engine...
[2026-10-20 18:15:18,058.058 INFO    ] 2026-10-20 18:15:18
[2026-10-20 18:15:18,333.333 INFO    ] 2026-10-20 18:15:18
[2026-10-20 18:15:18,367.367 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:15:18,620.620 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:15:18,630.630 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:15:18,769.769 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:15:18,833.833 INFO    ] time= 20/10/2026 18:15:18
[2026-10-20 18:15:18,883.883 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:15:18,899.899 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:15:19,048.048 INFO    ] No existing commands found in stream
[2026-10-20 18:15:24,062.062 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:15:24,065.065 INFO    ] Waiting 3.06 seconds before fallback handling...
[2026-10-20 18:15:27,616.616 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:15:27,618.618 INFO    ] Checking for system updates...
[2026-10-20 18:15:27,654.654 INFO    ] 200
[2026-10-20 18:15:27,656.656 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:15:27,710.710 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:15:27,712.712 INFO    ] No update needed
[2026-10-20 18:15:27,714.714 INFO    ] Checking for camera pi updates...
[2026-10-20 18:15:27,748.748 INFO    ] 200
[2026-10-20 18:15:27,750.750 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:15:27,792.792 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:15:27,837.837 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:15:27,840.840 INFO    ] No camera update needed
[2026-10-20 18:15:27,842.842 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:15:27,845.845 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:15:27,850.850 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:15:27,855.855 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:15:29,897.897 INFO    ] ================================================
[2026-10-20 18:15:29,912.912 INFO    ] Launching Daemon at Tue Oct 20 18:15:29 IST 2026
[2026-10-20 18:15:29,923.923 INFO    ] ================================================
[2026-10-20 18:15:30,596.596 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:15:30
[2026-10-20 18:15:31,178.178 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:15:31,483.483 INFO    ] Initializing speech engine...
[2026-10-20 18:15:31,497.497 INFO    ] 2026-10-20 18:15:31
[2026-10-20 18:15:31,782.782 INFO    ] 2026-10-20 18:15:31
[2026-10-20 18:15:31,819.819 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:15:32,041.041 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:15:32,056.056 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:15:32,223.223 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:15:32,241.241 INFO    ] time= 20/10/2026 18:15:32
[2026-10-20 18:15:32,249.249 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:15:32,288.288 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:15:32,421.421 INFO    ] No existing commands found in stream
[2026-10-20 18:15:37,451.451 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:15:37,454.454 INFO    ] Waiting 3.08 seconds before fallback handling...
[2026-10-20 18:15:41,049.049 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 18:15:41,052.052 INFO    ] Checking for system updates...
[2026-10-20 18:15:41,087.087 INFO    ] 200
[2026-10-20 18:15:41,090.090 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:15:41,143.143 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:15:41,145.145 INFO    ] No update needed
[2026-10-20 18:15:41,148.148 INFO    ] Checking for camera pi updates...
[2026-10-20 18:15:41,182.182 INFO    ] 200
[2026-10-20 18:15:41,184.184 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:15:41,224.224 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:15:41,272.272 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:15:41,275.275 INFO    ] No camera update needed
[2026-10-20 18:15:41,277.277 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:15:41,279.279 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:15:41,285.285 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:15:41,290.290 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:15:43,329.329 INFO    ] ================================================
[2026-10-20 18:15:43,349.349 INFO    ] Launching Daemon at Tue Oct 20 18:15:43 IST 2026
[2026-10-20 18:15:43,360.360 INFO    ] ================================================
[2026-10-20 18:15:44,019.019 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:15:44
[2026-10-20 18:15:44,706.706 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:15:45,023.023 INFO    ] Initializing speech engine...
[2026-10-20 18:15:45,030.030 INFO    ] 2026-10-20 18:15:45
[2026-10-20 18:15:45,335.335 INFO    ] 2026-10-20 18:15:45
[2026-10-20 18:15:45,425.425 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:15:45,639.639 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:15:45,646.646 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:15:45,839.839 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:15:45,856.856 INFO    ] time= 20/10/2026 18:15:45
[2026-10-20 18:15:45,867.867 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:15:45,896.896 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:15:46,020.020 INFO    ] No existing commands found in stream
[2026-10-20 18:15:51,051.051 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:15:51,054.054 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-10-20 18:15:55,930.930 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:15:55,933.933 INFO    ] Checking for system updates...
[2026-10-20 18:15:55,969.969 INFO    ] 200
[2026-10-20 18:15:55,972.972 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:15:56,024.024 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:15:56,026.026 INFO    ] No update needed
[2026-10-20 18:15:56,029.029 INFO    ] Checking for camera pi updates...
[2026-10-20 18:15:56,063.063 INFO    ] 200
[2026-10-20 18:15:56,065.065 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:15:56,106.106 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:15:56,157.157 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:15:56,160.160 INFO    ] No camera update needed
[2026-10-20 18:15:56,162.162 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:15:56,171.171 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:15:56,176.176 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:15:56,181.181 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:15:58,221.221 INFO    ] ================================================
[2026-10-20 18:15:58,237.237 INFO    ] Launching Daemon at Tue Oct 20 18:15:58 IST 2026
[2026-10-20 18:15:58,248.248 INFO    ] ================================================
[2026-10-20 18:15:58,892.892 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:15:58
[2026-10-20 18:15:59,491.491 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:15:59,755.755 INFO    ] Initializing speech engine...
[2026-10-20 18:15:59,762.762 INFO    ] 2026-10-20 18:15:59
[2026-10-20 18:16:00,061.061 INFO    ] 2026-10-20 18:16:00
[2026-10-20 18:16:00,100.100 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:16:00,326.326 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:16:00,339.339 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:16:00,556.556 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:16:00,569.569 INFO    ] time= 20/10/2026 18:16:00
[2026-10-20 18:16:00,633.633 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:16:00,693.693 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:16:00,846.846 INFO    ] No existing commands found in stream
[2026-10-20 18:16:05,874.874 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:16:05,876.876 INFO    ] Waiting 0.11 seconds before fallback handling...
[2026-10-20 18:16:06,483.483 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:16:06,486.486 INFO    ] Checking for system updates...
[2026-10-20 18:16:06,521.521 INFO    ] 200
[2026-10-20 18:16:06,524.524 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:16:06,577.577 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:16:06,580.580 INFO    ] No update needed
[2026-10-20 18:16:06,582.582 INFO    ] Checking for camera pi updates...
[2026-10-20 18:16:06,615.615 INFO    ] 200
[2026-10-20 18:16:06,618.618 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:16:06,658.658 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:16:06,707.707 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:16:06,710.710 INFO    ] No camera update needed
[2026-10-20 18:16:06,712.712 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:16:06,715.715 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:16:06,720.720 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:16:06,725.725 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:16:08,765.765 INFO    ] ================================================
[2026-10-20 18:16:08,780.780 INFO    ] Launching Daemon at Tue Oct 20 18:16:08 IST 2026
[2026-10-20 18:16:08,791.791 INFO    ] ================================================
[2026-10-20 18:16:09,358.358 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:16:09
[2026-10-20 18:16:10,033.033 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:16:10,346.346 INFO    ] Initializing speech engine...
[2026-10-20 18:16:10,358.358 INFO    ] 2026-10-20 18:16:10
[2026-10-20 18:16:10,648.648 INFO    ] 2026-10-20 18:16:10
[2026-10-20 18:16:10,761.761 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:16:10,986.986 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:16:11,032.032 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:16:11,240.240 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:16:11,248.248 INFO    ] time= 20/10/2026 18:16:11
[2026-10-20 18:16:11,271.271 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:16:11,341.341 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:16:11,471.471 INFO    ] No existing commands found in stream
[2026-10-20 18:16:16,502.502 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:16:16,505.505 INFO    ] Waiting 0.15 seconds before fallback handling...
[2026-10-20 18:16:17,137.137 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:16:17,140.140 INFO    ] Checking for system updates...
[2026-10-20 18:16:17,176.176 INFO    ] 200
[2026-10-20 18:16:17,178.178 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:16:17,237.237 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:16:17,240.240 INFO    ] No update needed
[2026-10-20 18:16:17,242.242 INFO    ] Checking for camera pi updates...
[2026-10-20 18:16:17,275.275 INFO    ] 200
[2026-10-20 18:16:17,278.278 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:16:17,319.319 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:16:17,467.467 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:16:17,469.469 INFO    ] No camera update needed
[2026-10-20 18:16:17,472.472 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:16:17,474.474 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:16:17,480.480 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:16:17,485.485 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:16:19,527.527 INFO    ] ================================================
[2026-10-20 18:16:19,542.542 INFO    ] Launching Daemon at Tue Oct 20 18:16:19 IST 2026
[2026-10-20 18:16:19,554.554 INFO    ] ================================================
[2026-10-20 18:16:20,136.136 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:16:20
[2026-10-20 18:16:20,736.736 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:16:21,014.014 INFO    ] Initializing speech engine...
[2026-10-20 18:16:21,021.021 INFO    ] 2026-10-20 18:16:21
[2026-10-20 18:16:21,269.269 INFO    ] 2026-10-20 18:16:21
[2026-10-20 18:16:21,311.311 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:16:21,558.558 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:16:21,568.568 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:16:21,707.707 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:16:21,772.772 INFO    ] time= 20/10/2026 18:16:21
[2026-10-20 18:16:21,831.831 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:16:21,837.837 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:16:21,980.980 INFO    ] No existing commands found in stream
[2026-10-20 18:16:26,995.995 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:16:26,998.998 INFO    ] Waiting 1.37 seconds before fallback handling...
[2026-10-20 18:16:28,869.869 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:16:28,872.872 INFO    ] Checking for system updates...
[2026-10-20 18:16:28,908.908 INFO    ] 200
[2026-10-20 18:16:28,910.910 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:16:28,969.969 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:16:28,971.971 INFO    ] No update needed
[2026-10-20 18:16:28,973.973 INFO    ] Checking for camera pi updates...
[2026-10-20 18:16:29,006.006 INFO    ] 200
[2026-10-20 18:16:29,009.009 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:16:29,051.051 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:16:29,100.100 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:16:29,102.102 INFO    ] No camera update needed
[2026-10-20 18:16:29,104.104 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:16:29,107.107 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:16:29,112.112 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:16:29,117.117 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:16:31,157.157 INFO    ] ================================================
[2026-10-20 18:16:31,173.173 INFO    ] Launching Daemon at Tue Oct 20 18:16:31 IST 2026
[2026-10-20 18:16:31,185.185 INFO    ] ================================================
[2026-10-20 18:16:31,774.774 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:16:31
[2026-10-20 18:16:32,390.390 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:16:32,662.662 INFO    ] Initializing speech engine...
[2026-10-20 18:16:32,685.685 INFO    ] 2026-10-20 18:16:32
[2026-10-20 18:16:32,955.955 INFO    ] 2026-10-20 18:16:32
[2026-10-20 18:16:32,992.992 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:16:33,263.263 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:16:33,272.272 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:16:33,410.410 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:16:33,476.476 INFO    ] time= 20/10/2026 18:16:33
[2026-10-20 18:16:33,515.515 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:16:33,552.552 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:16:33,707.707 INFO    ] No existing commands found in stream
[2026-10-20 18:16:38,729.729 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:16:38,732.732 INFO    ] Waiting 0.16 seconds before fallback handling...
[2026-10-20 18:16:39,357.357 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:16:39,360.360 INFO    ] Checking for system updates...
[2026-10-20 18:16:39,396.396 INFO    ] 200
[2026-10-20 18:16:39,399.399 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:16:39,456.456 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:16:39,459.459 INFO    ] No update needed
[2026-10-20 18:16:39,461.461 INFO    ] Checking for camera pi updates...
[2026-10-20 18:16:39,500.500 INFO    ] 200
[2026-10-20 18:16:39,503.503 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:16:39,553.553 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:16:39,600.600 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:16:39,602.602 INFO    ] No camera update needed
[2026-10-20 18:16:39,605.605 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:16:39,608.608 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:16:39,614.614 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:16:39,619.619 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:16:41,661.661 INFO    ] ================================================
[2026-10-20 18:16:41,676.676 INFO    ] Launching Daemon at Tue Oct 20 18:16:41 IST 2026
[2026-10-20 18:16:41,686.686 INFO    ] ================================================
[2026-10-20 18:16:42,269.269 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:16:42
[2026-10-20 18:16:42,871.871 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:16:43,150.150 INFO    ] Initializing speech engine...
[2026-10-20 18:16:43,173.173 INFO    ] 2026-10-20 18:16:43
[2026-10-20 18:16:43,427.427 INFO    ] 2026-10-20 18:16:43
[2026-10-20 18:16:43,472.472 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:16:43,701.701 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:16:43,742.742 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:16:43,884.884 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:16:43,934.934 INFO    ] time= 20/10/2026 18:16:43
[2026-10-20 18:16:43,983.983 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:16:44,027.027 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:16:44,193.193 INFO    ] No existing commands found in stream
[2026-10-20 18:16:49,213.213 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:16:49,216.216 INFO    ] Waiting 1.16 seconds before fallback handling...
[2026-10-20 18:16:50,923.923 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:16:50,925.925 INFO    ] Checking for system updates...
[2026-10-20 18:16:50,964.964 INFO    ] 200
[2026-10-20 18:16:50,967.967 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:16:51,022.022 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:16:51,024.024 INFO    ] No update needed
[2026-10-20 18:16:51,027.027 INFO    ] Checking for camera pi updates...
[2026-10-20 18:16:51,067.067 INFO    ] 200
[2026-10-20 18:16:51,070.070 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:16:51,113.113 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:16:51,157.157 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:16:51,160.160 INFO    ] No camera update needed
[2026-10-20 18:16:51,163.163 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:16:51,166.166 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:16:51,172.172 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:16:51,177.177 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:16:53,218.218 INFO    ] ================================================
[2026-10-20 18:16:53,234.234 INFO    ] Launching Daemon at Tue Oct 20 18:16:53 IST 2026
[2026-10-20 18:16:53,246.246 INFO    ] ================================================
[2026-10-20 18:16:53,870.870 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:16:53
[2026-10-20 18:16:54,456.456 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:16:54,729.729 INFO    ] Initializing speech engine...
[2026-10-20 18:16:54,739.739 INFO    ] 2026-10-20 18:16:54
[2026-10-20 18:16:54,989.989 INFO    ] 2026-10-20 18:16:54
[2026-10-20 18:16:55,023.023 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:16:55,285.285 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:16:55,294.294 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:16:55,518.518 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:16:55,561.561 INFO    ] time= 20/10/2026 18:16:55
[2026-10-20 18:16:55,567.567 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:16:55,586.586 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:16:55,725.725 INFO    ] No existing commands found in stream
[2026-10-20 18:17:00,751.751 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:17:00,754.754 INFO    ] Waiting 1.59 seconds before fallback handling...
[2026-10-20 18:17:02,934.934 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:17:02,937.937 INFO    ] Checking for system updates...
[2026-10-20 18:17:02,995.995 INFO    ] 200
[2026-10-20 18:17:02,998.998 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:17:03,062.062 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:17:03,065.065 INFO    ] No update needed
[2026-10-20 18:17:03,068.068 INFO    ] Checking for camera pi updates...
[2026-10-20 18:17:03,111.111 INFO    ] 200
[2026-10-20 18:17:03,114.114 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:17:03,163.163 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:17:03,216.216 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:17:03,220.220 INFO    ] No camera update needed
[2026-10-20 18:17:03,223.223 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:17:03,225.225 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:17:03,232.232 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:17:03,239.239 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:17:05,280.280 INFO    ] ================================================
[2026-10-20 18:17:05,295.295 INFO    ] Launching Daemon at Tue Oct 20 18:17:05 IST 2026
[2026-10-20 18:17:05,306.306 INFO    ] ================================================
[2026-10-20 18:17:05,885.885 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:17:05
[2026-10-20 18:17:06,483.483 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:17:06,757.757 INFO    ] Initializing speech engine...
[2026-10-20 18:17:06,768.768 INFO    ] 2026-10-20 18:17:06
[2026-10-20 18:17:07,028.028 INFO    ] 2026-10-20 18:17:07
[2026-10-20 18:17:07,057.057 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:17:07,303.303 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:17:07,312.312 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:17:07,552.552 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:17:07,584.584 INFO    ] time= 20/10/2026 18:17:07
[2026-10-20 18:17:07,592.592 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:17:07,619.619 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:17:07,813.813 INFO    ] No existing commands found in stream
[2026-10-20 18:17:12,839.839 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:17:12,842.842 INFO    ] Waiting 3.15 seconds before fallback handling...
[2026-10-20 18:17:16,493.493 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:17:16,495.495 INFO    ] Checking for system updates...
[2026-10-20 18:17:16,530.530 INFO    ] 200
[2026-10-20 18:17:16,533.533 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:17:16,585.585 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:17:16,588.588 INFO    ] No update needed
[2026-10-20 18:17:16,590.590 INFO    ] Checking for camera pi updates...
[2026-10-20 18:17:16,624.624 INFO    ] 200
[2026-10-20 18:17:16,626.626 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:17:16,666.666 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:17:16,712.712 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:17:16,715.715 INFO    ] No camera update needed
[2026-10-20 18:17:16,717.717 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:17:16,720.720 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:17:16,725.725 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:17:16,730.730 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:17:18,773.773 INFO    ] ================================================
[2026-10-20 18:17:18,788.788 INFO    ] Launching Daemon at Tue Oct 20 18:17:18 IST 2026
[2026-10-20 18:17:18,798.798 INFO    ] ================================================
[2026-10-20 18:17:19,381.381 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:17:19
[2026-10-20 18:17:19,981.981 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:17:20,259.259 INFO    ] Initializing speech engine...
[2026-10-20 18:17:20,266.266 INFO    ] 2026-10-20 18:17:20
[2026-10-20 18:17:20,526.526 INFO    ] 2026-10-20 18:17:20
[2026-10-20 18:17:20,557.557 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:17:20,793.793 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:17:20,795.795 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:17:20,967.967 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:17:20,995.995 INFO    ] time= 20/10/2026 18:17:20
[2026-10-20 18:17:21,044.044 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:17:21,099.099 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:17:21,250.250 INFO    ] No existing commands found in stream
[2026-10-20 18:17:26,281.281 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:17:26,284.284 INFO    ] Waiting 0.56 seconds before fallback handling...
[2026-10-20 18:17:27,369.369 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 18:17:27,372.372 INFO    ] Checking for system updates...
[2026-10-20 18:17:27,411.411 INFO    ] 200
[2026-10-20 18:17:27,413.413 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:17:27,471.471 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:17:27,473.473 INFO    ] No update needed
[2026-10-20 18:17:27,476.476 INFO    ] Checking for camera pi updates...
[2026-10-20 18:17:27,509.509 INFO    ] 200
[2026-10-20 18:17:27,511.511 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:17:27,555.555 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:17:27,613.613 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:17:27,615.615 INFO    ] No camera update needed
[2026-10-20 18:17:27,618.618 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:17:27,621.621 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:17:27,627.627 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:17:27,633.633 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:17:29,673.673 INFO    ] ================================================
[2026-10-20 18:17:29,688.688 INFO    ] Launching Daemon at Tue Oct 20 18:17:29 IST 2026
[2026-10-20 18:17:29,698.698 INFO    ] ================================================
[2026-10-20 18:17:30,330.330 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:17:30
[2026-10-20 18:17:30,983.983 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:17:31,276.276 INFO    ] Initializing speech engine...
[2026-10-20 18:17:31,282.282 INFO    ] 2026-10-20 18:17:31
[2026-10-20 18:17:31,555.555 INFO    ] 2026-10-20 18:17:31
[2026-10-20 18:17:31,611.611 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:17:31,859.859 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:17:31,866.866 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:17:32,116.116 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:17:32,135.135 INFO    ] time= 20/10/2026 18:17:32
[2026-10-20 18:17:32,151.151 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:17:32,162.162 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:17:32,304.304 INFO    ] No existing commands found in stream
[2026-10-20 18:17:37,345.345 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:17:37,349.349 INFO    ] Waiting 0.49 seconds before fallback handling...
[2026-10-20 18:17:38,336.336 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 18:17:38,339.339 INFO    ] Checking for system updates...
[2026-10-20 18:17:38,375.375 INFO    ] 200
[2026-10-20 18:17:38,378.378 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:17:38,436.436 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:17:38,439.439 INFO    ] No update needed
[2026-10-20 18:17:38,441.441 INFO    ] Checking for camera pi updates...
[2026-10-20 18:17:38,475.475 INFO    ] 200
[2026-10-20 18:17:38,477.477 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:17:38,517.517 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:17:38,563.563 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:17:38,565.565 INFO    ] No camera update needed
[2026-10-20 18:17:38,567.567 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:17:38,570.570 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:17:38,575.575 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:17:38,580.580 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:17:40,619.619 INFO    ] ================================================
[2026-10-20 18:17:40,634.634 INFO    ] Launching Daemon at Tue Oct 20 18:17:40 IST 2026
[2026-10-20 18:17:40,644.644 INFO    ] ================================================
[2026-10-20 18:17:41,209.209 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:17:41
[2026-10-20 18:17:41,790.790 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:17:42,047.047 INFO    ] Initializing speech engine...
[2026-10-20 18:17:42,072.072 INFO    ] 2026-10-20 18:17:42
[2026-10-20 18:17:42,337.337 INFO    ] 2026-10-20 18:17:42
[2026-10-20 18:17:42,373.373 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:17:42,591.591 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:17:42,640.640 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:17:42,816.816 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:17:42,887.887 INFO    ] time= 20/10/2026 18:17:42
[2026-10-20 18:17:42,936.936 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:17:42,961.961 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:17:43,080.080 INFO    ] No existing commands found in stream
[2026-10-20 18:17:48,100.100 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:17:48,103.103 INFO    ] Waiting 1.70 seconds before fallback handling...
[2026-10-20 18:17:50,310.310 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:17:50,313.313 INFO    ] Checking for system updates...
[2026-10-20 18:17:50,348.348 INFO    ] 200
[2026-10-20 18:17:50,351.351 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:17:50,407.407 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:17:50,410.410 INFO    ] No update needed
[2026-10-20 18:17:50,412.412 INFO    ] Checking for camera pi updates...
[2026-10-20 18:17:50,450.450 INFO    ] 200
[2026-10-20 18:17:50,453.453 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:17:50,497.497 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:17:50,549.549 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:17:50,552.552 INFO    ] No camera update needed
[2026-10-20 18:17:50,554.554 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:17:50,557.557 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:17:50,563.563 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:17:50,569.569 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:17:52,608.608 INFO    ] ================================================
[2026-10-20 18:17:52,624.624 INFO    ] Launching Daemon at Tue Oct 20 18:17:52 IST 2026
[2026-10-20 18:17:52,634.634 INFO    ] ================================================
[2026-10-20 18:17:53,268.268 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:17:53
[2026-10-20 18:17:53,916.916 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:17:54,179.179 INFO    ] Initializing speech engine...
[2026-10-20 18:17:54,198.198 INFO    ] 2026-10-20 18:17:54
[2026-10-20 18:17:54,452.452 INFO    ] 2026-10-20 18:17:54
[2026-10-20 18:17:54,489.489 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:17:54,768.768 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:17:54,778.778 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:17:54,925.925 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:17:54,968.968 INFO    ] time= 20/10/2026 18:17:54
[2026-10-20 18:17:55,022.022 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:17:55,073.073 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:17:55,235.235 INFO    ] No existing commands found in stream
[2026-10-20 18:18:00,250.250 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:18:00,253.253 INFO    ] Waiting 3.77 seconds before fallback handling...
[2026-10-20 18:18:04,513.513 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:18:04,515.515 INFO    ] Checking for system updates...
[2026-10-20 18:18:04,551.551 INFO    ] 200
[2026-10-20 18:18:04,554.554 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:18:04,612.612 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:18:04,614.614 INFO    ] No update needed
[2026-10-20 18:18:04,616.616 INFO    ] Checking for camera pi updates...
[2026-10-20 18:18:04,650.650 INFO    ] 200
[2026-10-20 18:18:04,652.652 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:18:04,692.692 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:18:04,739.739 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:18:04,741.741 INFO    ] No camera update needed
[2026-10-20 18:18:04,744.744 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:18:04,746.746 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:18:04,751.751 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:18:04,756.756 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:18:06,796.796 INFO    ] ================================================
[2026-10-20 18:18:06,812.812 INFO    ] Launching Daemon at Tue Oct 20 18:18:06 IST 2026
[2026-10-20 18:18:06,822.822 INFO    ] ================================================
[2026-10-20 18:18:07,389.389 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:18:07
[2026-10-20 18:18:07,975.975 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:18:08,235.235 INFO    ] Initializing speech engine...
[2026-10-20 18:18:08,249.249 INFO    ] 2026-10-20 18:18:08
[2026-10-20 18:18:08,532.532 INFO    ] 2026-10-20 18:18:08
[2026-10-20 18:18:08,566.566 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:18:08,767.767 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:18:08,780.780 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:18:08,935.935 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:18:08,945.945 INFO    ] time= 20/10/2026 18:18:08
[2026-10-20 18:18:08,953.953 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:18:08,959.959 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:18:09,094.094 INFO    ] No existing commands found in stream
[2026-10-20 18:18:14,124.124 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:18:14,126.126 INFO    ] Waiting 0.51 seconds before fallback handling...
[2026-10-20 18:18:15,157.157 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 18:18:15,160.160 INFO    ] Checking for system updates...
[2026-10-20 18:18:15,199.199 INFO    ] 200
[2026-10-20 18:18:15,201.201 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:18:15,253.253 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:18:15,255.255 INFO    ] No update needed
[2026-10-20 18:18:15,257.257 INFO    ] Checking for camera pi updates...
[2026-10-20 18:18:15,295.295 INFO    ] 200
[2026-10-20 18:18:15,298.298 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:18:15,344.344 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:18:15,390.390 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:18:15,392.392 INFO    ] No camera update needed
[2026-10-20 18:18:15,395.395 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:18:15,398.398 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:18:15,404.404 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:18:15,410.410 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:18:17,450.450 INFO    ] ================================================
[2026-10-20 18:18:17,465.465 INFO    ] Launching Daemon at Tue Oct 20 18:18:17 IST 2026
[2026-10-20 18:18:17,475.475 INFO    ] ================================================
[2026-10-20 18:18:18,055.055 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:18:18
[2026-10-20 18:18:18,654.654 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:18:18,929.929 INFO    ] Initializing speech engine...
[2026-10-20 18:18:18,949.949 INFO    ] 2026-10-20 18:18:18
[2026-10-20 18:18:19,218.218 INFO    ] 2026-10-20 18:18:19
[2026-10-20 18:18:19,258.258 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:18:19,530.530 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:18:19,550.550 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:18:19,707.707 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:18:19,729.729 INFO    ] time= 20/10/2026 18:18:19
[2026-10-20 18:18:19,779.779 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:18:19,829.829 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:18:19,971.971 INFO    ] No existing commands found in stream
[2026-10-20 18:18:24,997.997 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:18:25,000.000 INFO    ] Waiting 3.34 seconds before fallback handling...
[2026-10-20 18:18:28,847.847 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:18:28,850.850 INFO    ] Checking for system updates...
[2026-10-20 18:18:28,889.889 INFO    ] 200
[2026-10-20 18:18:28,891.891 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:18:28,944.944 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:18:28,946.946 INFO    ] No update needed
[2026-10-20 18:18:28,949.949 INFO    ] Checking for camera pi updates...
[2026-10-20 18:18:28,982.982 INFO    ] 200
[2026-10-20 18:18:28,984.984 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:18:29,038.038 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:18:29,183.183 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:18:29,185.185 INFO    ] No camera update needed
[2026-10-20 18:18:29,188.188 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:18:29,190.190 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:18:29,196.196 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:18:29,201.201 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:18:31,240.240 INFO    ] ================================================
[2026-10-20 18:18:31,255.255 INFO    ] Launching Daemon at Tue Oct 20 18:18:31 IST 2026
[2026-10-20 18:18:31,265.265 INFO    ] ================================================
[2026-10-20 18:18:31,879.879 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:18:31
[2026-10-20 18:18:32,520.520 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:18:32,843.843 INFO    ] Initializing speech engine...
[2026-10-20 18:18:32,863.863 INFO    ] 2026-10-20 18:18:32
[2026-10-20 18:18:33,147.147 INFO    ] 2026-10-20 18:18:33
[2026-10-20 18:18:33,202.202 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:18:33,466.466 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:18:33,485.485 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:18:33,633.633 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:18:33,698.698 INFO    ] time= 20/10/2026 18:18:33
[2026-10-20 18:18:33,753.753 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:18:33,769.769 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:18:33,910.910 INFO    ] No existing commands found in stream
[2026-10-20 18:18:38,927.927 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:18:38,931.931 INFO    ] Waiting 0.87 seconds before fallback handling...
[2026-10-20 18:18:40,385.385 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 18:18:40,389.389 INFO    ] Checking for system updates...
[2026-10-20 18:18:40,430.430 INFO    ] 200
[2026-10-20 18:18:40,433.433 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:18:40,486.486 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:18:40,489.489 INFO    ] No update needed
[2026-10-20 18:18:40,492.492 INFO    ] Checking for camera pi updates...
[2026-10-20 18:18:40,526.526 INFO    ] 200
[2026-10-20 18:18:40,529.529 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:18:40,571.571 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:18:40,630.630 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:18:40,633.633 INFO    ] No camera update needed
[2026-10-20 18:18:40,636.636 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:18:40,639.639 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:18:40,645.645 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:18:40,651.651 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:18:42,693.693 INFO    ] ================================================
[2026-10-20 18:18:42,709.709 INFO    ] Launching Daemon at Tue Oct 20 18:18:42 IST 2026
[2026-10-20 18:18:42,720.720 INFO    ] ================================================
[2026-10-20 18:18:43,386.386 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:18:43
[2026-10-20 18:18:44,072.072 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:18:44,327.327 INFO    ] Initializing speech engine...
[2026-10-20 18:18:44,335.335 INFO    ] 2026-10-20 18:18:44
[2026-10-20 18:18:44,612.612 INFO    ] 2026-10-20 18:18:44
[2026-10-20 18:18:44,647.647 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:18:44,853.853 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:18:44,877.877 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:18:45,021.021 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:18:45,073.073 INFO    ] time= 20/10/2026 18:18:45
[2026-10-20 18:18:45,096.096 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:18:45,128.128 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:18:45,251.251 INFO    ] No existing commands found in stream
[2026-10-20 18:18:50,275.275 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:18:50,277.277 INFO    ] Waiting 3.82 seconds before fallback handling...
[2026-10-20 18:18:54,637.637 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 18:18:54,639.639 INFO    ] Checking for system updates...
[2026-10-20 18:18:54,674.674 INFO    ] 200
[2026-10-20 18:18:54,677.677 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:18:54,729.729 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:18:54,731.731 INFO    ] No update needed
[2026-10-20 18:18:54,734.734 INFO    ] Checking for camera pi updates...
[2026-10-20 18:18:54,776.776 INFO    ] 200
[2026-10-20 18:18:54,778.778 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:18:54,818.818 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:18:54,875.875 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:18:54,877.877 INFO    ] No camera update needed
[2026-10-20 18:18:54,880.880 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:18:54,882.882 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:18:54,887.887 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:18:54,892.892 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:18:56,933.933 INFO    ] ================================================
[2026-10-20 18:18:56,948.948 INFO    ] Launching Daemon at Tue Oct 20 18:18:56 IST 2026
[2026-10-20 18:18:56,959.959 INFO    ] ================================================
[2026-10-20 18:18:57,621.621 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:18:57
[2026-10-20 18:18:58,303.303 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:18:58,611.611 INFO    ] Initializing speech engine...
[2026-10-20 18:18:58,623.623 INFO    ] 2026-10-20 18:18:58
[2026-10-20 18:18:58,903.903 INFO    ] 2026-10-20 18:18:58
[2026-10-20 18:18:58,946.946 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:18:59,173.173 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:18:59,176.176 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:18:59,344.344 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:18:59,399.399 INFO    ] time= 20/10/2026 18:18:59
[2026-10-20 18:18:59,413.413 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:18:59,456.456 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:18:59,584.584 INFO    ] No existing commands found in stream
[2026-10-20 18:19:04,613.613 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:19:04,616.616 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-10-20 18:19:06,226.226 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 18:19:06,229.229 INFO    ] Checking for system updates...
[2026-10-20 18:19:06,266.266 INFO    ] 200
[2026-10-20 18:19:06,269.269 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:19:06,322.322 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:19:06,325.325 INFO    ] No update needed
[2026-10-20 18:19:06,327.327 INFO    ] Checking for camera pi updates...
[2026-10-20 18:19:06,362.362 INFO    ] 200
[2026-10-20 18:19:06,364.364 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:19:06,406.406 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:19:06,456.456 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:19:06,459.459 INFO    ] No camera update needed
[2026-10-20 18:19:06,461.461 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:19:06,464.464 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:19:06,470.470 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:19:06,476.476 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:19:08,517.517 INFO    ] ================================================
[2026-10-20 18:19:08,533.533 INFO    ] Launching Daemon at Tue Oct 20 18:19:08 IST 2026
[2026-10-20 18:19:08,544.544 INFO    ] ================================================
[2026-10-20 18:19:09,194.194 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:19:09
[2026-10-20 18:19:09,870.870 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:19:10,187.187 INFO    ] Initializing speech engine...
[2026-10-20 18:19:10,193.193 INFO    ] 2026-10-20 18:19:10
[2026-10-20 18:19:10,477.477 INFO    ] 2026-10-20 18:19:10
[2026-10-20 18:19:10,523.523 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:19:10,756.756 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:19:10,767.767 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:19:10,990.990 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:19:11,032.032 INFO    ] time= 20/10/2026 18:19:10
[2026-10-20 18:19:11,049.049 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:19:11,074.074 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:19:11,231.231 INFO    ] No existing commands found in stream
[2026-10-20 18:19:16,257.257 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:19:16,261.261 INFO    ] Waiting 2.11 seconds before fallback handling...
[2026-10-20 18:19:18,899.899 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 18:19:18,902.902 INFO    ] Checking for system updates...
[2026-10-20 18:19:18,939.939 INFO    ] 200
[2026-10-20 18:19:18,942.942 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:19:18,995.995 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:19:18,998.998 INFO    ] No update needed
[2026-10-20 18:19:19,000.000 INFO    ] Checking for camera pi updates...
[2026-10-20 18:19:19,039.039 INFO    ] 200
[2026-10-20 18:19:19,042.042 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:19:19,083.083 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:19:19,133.133 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:19:19,136.136 INFO    ] No camera update needed
[2026-10-20 18:19:19,138.138 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:19:19,141.141 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:19:19,147.147 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:19:19,153.153 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:19:21,194.194 INFO    ] ================================================
[2026-10-20 18:19:21,210.210 INFO    ] Launching Daemon at Tue Oct 20 18:19:21 IST 2026
[2026-10-20 18:19:21,222.222 INFO    ] ================================================
[2026-10-20 18:19:21,807.807 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:19:21
[2026-10-20 18:19:22,411.411 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:19:22,687.687 INFO    ] Initializing speech engine...
[2026-10-20 18:19:22,696.696 INFO    ] 2026-10-20 18:19:22
[2026-10-20 18:19:22,950.950 INFO    ] 2026-10-20 18:19:22
[2026-10-20 18:19:22,987.987 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:19:23,257.257 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:19:23,265.265 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:19:23,462.462 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:19:23,500.500 INFO    ] time= 20/10/2026 18:19:23
[2026-10-20 18:19:23,517.517 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:19:23,527.527 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:19:23,655.655 INFO    ] No existing commands found in stream
[2026-10-20 18:19:28,669.669 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:19:28,672.672 INFO    ] Waiting 1.13 seconds before fallback handling...
[2026-10-20 18:19:30,305.305 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:19:30,307.307 INFO    ] Checking for system updates...
[2026-10-20 18:19:30,343.343 INFO    ] 200
[2026-10-20 18:19:30,345.345 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:19:30,396.396 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:19:30,399.399 INFO    ] No update needed
[2026-10-20 18:19:30,401.401 INFO    ] Checking for camera pi updates...
[2026-10-20 18:19:30,435.435 INFO    ] 200
[2026-10-20 18:19:30,437.437 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:19:30,479.479 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:19:30,529.529 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:19:30,532.532 INFO    ] No camera update needed
[2026-10-20 18:19:30,535.535 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:19:30,537.537 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:19:30,544.544 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:19:30,550.550 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:19:32,594.594 INFO    ] ================================================
[2026-10-20 18:19:32,611.611 INFO    ] Launching Daemon at Tue Oct 20 18:19:32 IST 2026
[2026-10-20 18:19:32,622.622 INFO    ] ================================================
[2026-10-20 18:19:33,249.249 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:19:33
[2026-10-20 18:19:33,830.830 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:19:34,077.077 INFO    ] Initializing speech engine...
[2026-10-20 18:19:34,092.092 INFO    ] 2026-10-20 18:19:34
[2026-10-20 18:19:34,359.359 INFO    ] 2026-10-20 18:19:34
[2026-10-20 18:19:34,394.394 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:19:34,651.651 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:19:34,661.661 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:19:34,797.797 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:19:34,826.826 INFO    ] time= 20/10/2026 18:19:34
[2026-10-20 18:19:34,880.880 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:19:34,930.930 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:19:35,055.055 INFO    ] No existing commands found in stream
[2026-10-20 18:19:40,075.075 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:19:40,078.078 INFO    ] Waiting 2.10 seconds before fallback handling...
[2026-10-20 18:19:42,701.701 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 18:19:42,705.705 INFO    ] Checking for system updates...
[2026-10-20 18:19:42,741.741 INFO    ] 200
[2026-10-20 18:19:42,743.743 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:19:42,799.799 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:19:42,801.801 INFO    ] No update needed
[2026-10-20 18:19:42,804.804 INFO    ] Checking for camera pi updates...
[2026-10-20 18:19:42,837.837 INFO    ] 200
[2026-10-20 18:19:42,840.840 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:19:42,883.883 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:19:42,931.931 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:19:42,933.933 INFO    ] No camera update needed
[2026-10-20 18:19:42,935.935 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:19:42,938.938 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:19:42,943.943 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:19:42,948.948 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:19:44,988.988 INFO    ] ================================================
[2026-10-20 18:19:45,004.004 INFO    ] Launching Daemon at Tue Oct 20 18:19:44 IST 2026
[2026-10-20 18:19:45,016.016 INFO    ] ================================================
[2026-10-20 18:19:45,582.582 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:19:45
[2026-10-20 18:19:46,166.166 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:19:46,438.438 INFO    ] Initializing speech engine...
[2026-10-20 18:19:46,448.448 INFO    ] 2026-10-20 18:19:46
[2026-10-20 18:19:46,699.699 INFO    ] 2026-10-20 18:19:46
[2026-10-20 18:19:46,733.733 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:19:46,940.940 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:19:46,995.995 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:19:47,138.138 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:19:47,203.203 INFO    ] time= 20/10/2026 18:19:47
[2026-10-20 18:19:47,253.253 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:19:47,274.274 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:19:47,420.420 INFO    ] No existing commands found in stream
[2026-10-20 18:19:52,435.435 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:19:52,438.438 INFO    ] Waiting 2.53 seconds before fallback handling...
[2026-10-20 18:19:55,473.473 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:19:55,476.476 INFO    ] Checking for system updates...
[2026-10-20 18:19:55,512.512 INFO    ] 200
[2026-10-20 18:19:55,514.514 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:19:55,574.574 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:19:55,576.576 INFO    ] No update needed
[2026-10-20 18:19:55,578.578 INFO    ] Checking for camera pi updates...
[2026-10-20 18:19:55,611.611 INFO    ] 200
[2026-10-20 18:19:55,614.614 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:19:55,654.654 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:19:55,700.700 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:19:55,702.702 INFO    ] No camera update needed
[2026-10-20 18:19:55,704.704 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:19:55,707.707 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:19:55,712.712 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:19:55,717.717 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:19:57,758.758 INFO    ] ================================================
[2026-10-20 18:19:57,774.774 INFO    ] Launching Daemon at Tue Oct 20 18:19:57 IST 2026
[2026-10-20 18:19:57,785.785 INFO    ] ================================================
[2026-10-20 18:19:58,369.369 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:19:58
[2026-10-20 18:19:58,965.965 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:19:59,242.242 INFO    ] Initializing speech engine...
[2026-10-20 18:19:59,249.249 INFO    ] 2026-10-20 18:19:59
[2026-10-20 18:19:59,497.497 INFO    ] 2026-10-20 18:19:59
[2026-10-20 18:19:59,532.532 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:19:59,789.789 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:19:59,798.798 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:19:59,938.938 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:20:00,003.003 INFO    ] time= 20/10/2026 18:19:59
[2026-10-20 18:20:00,059.059 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:20:00,066.066 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:20:00,191.191 INFO    ] No existing commands found in stream
[2026-10-20 18:20:05,221.221 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:20:05,223.223 INFO    ] Waiting 2.45 seconds before fallback handling...
[2026-10-20 18:20:08,743.743 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:20:08,746.746 INFO    ] Checking for system updates...
[2026-10-20 18:20:08,782.782 INFO    ] 200
[2026-10-20 18:20:08,785.785 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:20:08,841.841 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:20:08,844.844 INFO    ] No update needed
[2026-10-20 18:20:08,846.846 INFO    ] Checking for camera pi updates...
[2026-10-20 18:20:08,879.879 INFO    ] 200
[2026-10-20 18:20:08,882.882 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:20:08,921.921 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:20:08,979.979 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:20:08,982.982 INFO    ] No camera update needed
[2026-10-20 18:20:08,984.984 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:20:08,986.986 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:20:08,991.991 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:20:08,996.996 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:20:11,036.036 INFO    ] ================================================
[2026-10-20 18:20:11,051.051 INFO    ] Launching Daemon at Tue Oct 20 18:20:11 IST 2026
[2026-10-20 18:20:11,062.062 INFO    ] ================================================
[2026-10-20 18:20:11,725.725 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:20:11
[2026-10-20 18:20:12,401.401 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:20:12,706.706 INFO    ] Initializing speech engine...
[2026-10-20 18:20:12,719.719 INFO    ] 2026-10-20 18:20:12
[2026-10-20 18:20:12,999.999 INFO    ] 2026-10-20 18:20:12
[2026-10-20 18:20:13,046.046 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:20:13,330.330 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:20:13,340.340 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:20:13,532.532 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:20:13,549.549 INFO    ] time= 20/10/2026 18:20:13
[2026-10-20 18:20:13,574.574 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:20:13,587.587 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:20:13,705.705 INFO    ] No existing commands found in stream
[2026-10-20 18:20:18,736.736 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:20:18,739.739 INFO    ] Waiting 2.84 seconds before fallback handling...
[2026-10-20 18:20:22,141.141 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:20:22,144.144 INFO    ] Checking for system updates...
[2026-10-20 18:20:22,184.184 INFO    ] 200
[2026-10-20 18:20:22,187.187 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:20:22,238.238 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:20:22,241.241 INFO    ] No update needed
[2026-10-20 18:20:22,244.244 INFO    ] Checking for camera pi updates...
[2026-10-20 18:20:22,276.276 INFO    ] 200
[2026-10-20 18:20:22,279.279 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:20:22,319.319 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:20:22,363.363 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:20:22,365.365 INFO    ] No camera update needed
[2026-10-20 18:20:22,367.367 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:20:22,370.370 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:20:22,375.375 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:20:22,380.380 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:20:24,421.421 INFO    ] ================================================
[2026-10-20 18:20:24,436.436 INFO    ] Launching Daemon at Tue Oct 20 18:20:24 IST 2026
[2026-10-20 18:20:24,447.447 INFO    ] ================================================
[2026-10-20 18:20:25,106.106 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:20:25
[2026-10-20 18:20:25,784.784 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:20:26,094.094 INFO    ] Initializing speech engine...
[2026-10-20 18:20:26,106.106 INFO    ] 2026-10-20 18:20:26
[2026-10-20 18:20:26,413.413 INFO    ] 2026-10-20 18:20:26
[2026-10-20 18:20:26,501.501 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:20:26,713.713 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:20:26,717.717 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:20:26,911.911 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:20:26,918.918 INFO    ] time= 20/10/2026 18:20:26
[2026-10-20 18:20:26,936.936 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:20:26,947.947 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:20:27,070.070 INFO    ] No existing commands found in stream
[2026-10-20 18:20:32,090.090 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:20:32,093.093 INFO    ] Waiting 1.61 seconds before fallback handling...
[2026-10-20 18:20:34,200.200 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 18:20:34,203.203 INFO    ] Checking for system updates...
[2026-10-20 18:20:34,238.238 INFO    ] 200
[2026-10-20 18:20:34,241.241 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:20:34,292.292 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:20:34,295.295 INFO    ] No update needed
[2026-10-20 18:20:34,297.297 INFO    ] Checking for camera pi updates...
[2026-10-20 18:20:34,331.331 INFO    ] 200
[2026-10-20 18:20:34,333.333 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:20:34,373.373 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:20:34,429.429 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:20:34,432.432 INFO    ] No camera update needed
[2026-10-20 18:20:34,434.434 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:20:34,437.437 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:20:34,442.442 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:20:34,447.447 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:20:36,486.486 INFO    ] ================================================
[2026-10-20 18:20:36,501.501 INFO    ] Launching Daemon at Tue Oct 20 18:20:36 IST 2026
[2026-10-20 18:20:36,512.512 INFO    ] ================================================
[2026-10-20 18:20:37,079.079 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:20:37
[2026-10-20 18:20:37,663.663 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:20:37,921.921 INFO    ] Initializing speech engine...
[2026-10-20 18:20:37,927.927 INFO    ] 2026-10-20 18:20:37
[2026-10-20 18:20:38,227.227 INFO    ] 2026-10-20 18:20:38
[2026-10-20 18:20:38,262.262 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:20:38,465.465 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:20:38,481.481 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:20:38,647.647 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:20:38,655.655 INFO    ] time= 20/10/2026 18:20:38
[2026-10-20 18:20:38,660.660 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:20:38,666.666 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:20:38,744.744 INFO    ] No existing commands found in stream
[2026-10-20 18:20:43,764.764 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:20:43,766.766 INFO    ] Waiting 2.30 seconds before fallback handling...
[2026-10-20 18:20:46,570.570 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:20:46,572.572 INFO    ] Checking for system updates...
[2026-10-20 18:20:46,607.607 INFO    ] 200
[2026-10-20 18:20:46,610.610 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:20:46,663.663 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:20:46,665.665 INFO    ] No update needed
[2026-10-20 18:20:46,668.668 INFO    ] Checking for camera pi updates...
[2026-10-20 18:20:46,701.701 INFO    ] 200
[2026-10-20 18:20:46,703.703 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:20:46,748.748 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:20:46,793.793 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:20:46,795.795 INFO    ] No camera update needed
[2026-10-20 18:20:46,797.797 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:20:46,800.800 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:20:46,805.805 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:20:46,810.810 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:20:48,849.849 INFO    ] ================================================
[2026-10-20 18:20:48,870.870 INFO    ] Launching Daemon at Tue Oct 20 18:20:48 IST 2026
[2026-10-20 18:20:48,881.881 INFO    ] ================================================
[2026-10-20 18:20:49,452.452 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:20:49
[2026-10-20 18:20:50,041.041 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:20:50,316.316 INFO    ] Initializing speech engine...
[2026-10-20 18:20:50,325.325 INFO    ] 2026-10-20 18:20:50
[2026-10-20 18:20:50,571.571 INFO    ] 2026-10-20 18:20:50
[2026-10-20 18:20:50,606.606 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:20:50,841.841 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:20:50,868.868 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:20:51,067.067 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:20:51,129.129 INFO    ] time= 20/10/2026 18:20:51
[2026-10-20 18:20:51,136.136 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:20:51,155.155 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:20:51,307.307 INFO    ] No existing commands found in stream
[2026-10-20 18:20:56,338.338 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:20:56,342.342 INFO    ] Waiting 0.73 seconds before fallback handling...
[2026-10-20 18:20:57,597.597 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 18:20:57,600.600 INFO    ] Checking for system updates...
[2026-10-20 18:20:57,637.637 INFO    ] 200
[2026-10-20 18:20:57,640.640 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:20:57,700.700 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:20:57,703.703 INFO    ] No update needed
[2026-10-20 18:20:57,706.706 INFO    ] Checking for camera pi updates...
[2026-10-20 18:20:57,741.741 INFO    ] 200
[2026-10-20 18:20:57,744.744 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:20:57,785.785 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:20:57,836.836 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:20:57,839.839 INFO    ] No camera update needed
[2026-10-20 18:20:57,842.842 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:20:57,845.845 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:20:57,851.851 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:20:57,857.857 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:20:59,898.898 INFO    ] ================================================
[2026-10-20 18:20:59,913.913 INFO    ] Launching Daemon at Tue Oct 20 18:20:59 IST 2026
[2026-10-20 18:20:59,924.924 INFO    ] ================================================
[2026-10-20 18:21:00,585.585 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:21:00
[2026-10-20 18:21:01,349.349 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:21:01,747.747 INFO    ] Initializing speech engine...
[2026-10-20 18:21:01,756.756 INFO    ] 2026-10-20 18:21:01
[2026-10-20 18:21:02,047.047 INFO    ] 2026-10-20 18:21:02
[2026-10-20 18:21:02,091.091 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:21:02,368.368 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:21:02,384.384 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:21:02,537.537 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:21:02,595.595 INFO    ] time= 20/10/2026 18:21:02
[2026-10-20 18:21:02,653.653 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:21:02,702.702 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:21:02,869.869 INFO    ] No existing commands found in stream
[2026-10-20 18:21:07,893.893 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:21:07,896.896 INFO    ] Waiting 2.71 seconds before fallback handling...
[2026-10-20 18:21:11,105.105 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:21:11,108.108 INFO    ] Checking for system updates...
[2026-10-20 18:21:11,144.144 INFO    ] 200
[2026-10-20 18:21:11,147.147 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:21:11,207.207 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:21:11,210.210 INFO    ] No update needed
[2026-10-20 18:21:11,212.212 INFO    ] Checking for camera pi updates...
[2026-10-20 18:21:11,246.246 INFO    ] 200
[2026-10-20 18:21:11,248.248 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:21:11,290.290 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:21:11,337.337 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:21:11,339.339 INFO    ] No camera update needed
[2026-10-20 18:21:11,342.342 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:21:11,344.344 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:21:11,349.349 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:21:11,355.355 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:21:13,396.396 INFO    ] ================================================
[2026-10-20 18:21:13,412.412 INFO    ] Launching Daemon at Tue Oct 20 18:21:13 IST 2026
[2026-10-20 18:21:13,423.423 INFO    ] ================================================
[2026-10-20 18:21:13,990.990 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:21:13
[2026-10-20 18:21:14,575.575 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:21:14,848.848 INFO    ] Initializing speech engine...
[2026-10-20 18:21:14,857.857 INFO    ] 2026-10-20 18:21:14
[2026-10-20 18:21:15,107.107 INFO    ] 2026-10-20 18:21:15
[2026-10-20 18:21:15,142.142 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:21:15,413.413 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:21:15,422.422 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:21:15,580.580 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:21:15,587.587 INFO    ] time= 20/10/2026 18:21:15
[2026-10-20 18:21:15,641.641 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:21:15,695.695 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:21:15,794.794 INFO    ] No existing commands found in stream
[2026-10-20 18:21:20,805.805 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:21:20,808.808 INFO    ] Waiting 1.73 seconds before fallback handling...
[2026-10-20 18:21:23,112.112 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:21:23,115.115 INFO    ] Checking for system updates...
[2026-10-20 18:21:23,157.157 INFO    ] 200
[2026-10-20 18:21:23,161.161 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:21:23,214.214 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:21:23,217.217 INFO    ] No update needed
[2026-10-20 18:21:23,220.220 INFO    ] Checking for camera pi updates...
[2026-10-20 18:21:23,259.259 INFO    ] 200
[2026-10-20 18:21:23,262.262 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:21:23,303.303 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:21:23,359.359 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:21:23,362.362 INFO    ] No camera update needed
[2026-10-20 18:21:23,365.365 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:21:23,367.367 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:21:23,374.374 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:21:23,380.380 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:21:25,422.422 INFO    ] ================================================
[2026-10-20 18:21:25,439.439 INFO    ] Launching Daemon at Tue Oct 20 18:21:25 IST 2026
[2026-10-20 18:21:25,450.450 INFO    ] ================================================
[2026-10-20 18:21:26,023.023 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:21:26
[2026-10-20 18:21:26,611.611 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:21:26,865.865 INFO    ] Initializing speech engine...
[2026-10-20 18:21:26,873.873 INFO    ] 2026-10-20 18:21:26
[2026-10-20 18:21:27,177.177 INFO    ] 2026-10-20 18:21:27
[2026-10-20 18:21:27,213.213 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:21:27,423.423 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:21:27,436.436 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:21:27,603.603 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:21:27,612.612 INFO    ] time= 20/10/2026 18:21:27
[2026-10-20 18:21:27,616.616 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:21:27,623.623 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:21:27,700.700 INFO    ] No existing commands found in stream
[2026-10-20 18:21:32,711.711 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:21:32,714.714 INFO    ] Waiting 0.85 seconds before fallback handling...
[2026-10-20 18:21:34,048.048 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 18:21:34,050.050 INFO    ] Checking for system updates...
[2026-10-20 18:21:34,086.086 INFO    ] 200
[2026-10-20 18:21:34,088.088 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:21:34,141.141 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:21:34,144.144 INFO    ] No update needed
[2026-10-20 18:21:34,147.147 INFO    ] Checking for camera pi updates...
[2026-10-20 18:21:34,182.182 INFO    ] 200
[2026-10-20 18:21:34,185.185 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:21:34,225.225 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:21:34,279.279 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:21:34,282.282 INFO    ] No camera update needed
[2026-10-20 18:21:34,284.284 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:21:34,287.287 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:21:34,292.292 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:21:34,297.297 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:21:36,339.339 INFO    ] ================================================
[2026-10-20 18:21:36,355.355 INFO    ] Launching Daemon at Tue Oct 20 18:21:36 IST 2026
[2026-10-20 18:21:36,365.365 INFO    ] ================================================
[2026-10-20 18:21:37,040.040 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:21:37
[2026-10-20 18:21:37,732.732 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:21:38,042.042 INFO    ] Initializing speech engine...
[2026-10-20 18:21:38,056.056 INFO    ] 2026-10-20 18:21:38
[2026-10-20 18:21:38,369.369 INFO    ] 2026-10-20 18:21:38
[2026-10-20 18:21:38,455.455 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:21:38,669.669 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:21:38,675.675 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:21:38,868.868 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:21:38,877.877 INFO    ] time= 20/10/2026 18:21:38
[2026-10-20 18:21:38,898.898 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:21:38,926.926 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:21:39,046.046 INFO    ] No existing commands found in stream
[2026-10-20 18:21:44,082.082 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:21:44,086.086 INFO    ] Waiting 3.01 seconds before fallback handling...
[2026-10-20 18:21:47,646.646 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 18:21:47,649.649 INFO    ] Checking for system updates...
[2026-10-20 18:21:47,691.691 INFO    ] 200
[2026-10-20 18:21:47,694.694 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:21:47,748.748 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:21:47,751.751 INFO    ] No update needed
[2026-10-20 18:21:47,754.754 INFO    ] Checking for camera pi updates...
[2026-10-20 18:21:47,793.793 INFO    ] 200
[2026-10-20 18:21:47,796.796 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:21:47,844.844 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:21:47,891.891 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:21:47,894.894 INFO    ] No camera update needed
[2026-10-20 18:21:47,897.897 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:21:47,900.900 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:21:47,906.906 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:21:47,912.912 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:21:49,955.955 INFO    ] ================================================
[2026-10-20 18:21:49,970.970 INFO    ] Launching Daemon at Tue Oct 20 18:21:49 IST 2026
[2026-10-20 18:21:49,980.980 INFO    ] ================================================
[2026-10-20 18:21:50,553.553 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:21:50
[2026-10-20 18:21:51,149.149 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:21:51,426.426 INFO    ] Initializing speech engine...
[2026-10-20 18:21:51,435.435 INFO    ] 2026-10-20 18:21:51
[2026-10-20 18:21:51,693.693 INFO    ] 2026-10-20 18:21:51
[2026-10-20 18:21:51,723.723 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:21:51,971.971 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:21:51,977.977 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:21:52,201.201 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:21:52,232.232 INFO    ] time= 20/10/2026 18:21:52
[2026-10-20 18:21:52,238.238 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:21:52,255.255 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:21:52,382.382 INFO    ] No existing commands found in stream
[2026-10-20 18:21:57,397.397 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:21:57,400.400 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-10-20 18:22:01,077.077 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 18:22:01,080.080 INFO    ] Checking for system updates...
[2026-10-20 18:22:01,115.115 INFO    ] 200
[2026-10-20 18:22:01,117.117 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:22:01,170.170 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:22:01,172.172 INFO    ] No update needed
[2026-10-20 18:22:01,175.175 INFO    ] Checking for camera pi updates...
[2026-10-20 18:22:01,208.208 INFO    ] 200
[2026-10-20 18:22:01,210.210 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:22:01,250.250 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:22:01,299.299 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:22:01,303.303 INFO    ] No camera update needed
[2026-10-20 18:22:01,307.307 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:22:01,311.311 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:22:01,325.325 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:22:01,334.334 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:22:03,379.379 INFO    ] ================================================
[2026-10-20 18:22:03,394.394 INFO    ] Launching Daemon at Tue Oct 20 18:22:03 IST 2026
[2026-10-20 18:22:03,405.405 INFO    ] ================================================
[2026-10-20 18:22:04,061.061 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:22:04
[2026-10-20 18:22:04,736.736 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:22:05,049.049 INFO    ] Initializing speech engine...
[2026-10-20 18:22:05,061.061 INFO    ] 2026-10-20 18:22:05
[2026-10-20 18:22:05,331.331 INFO    ] 2026-10-20 18:22:05
[2026-10-20 18:22:05,388.388 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:22:05,620.620 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:22:05,622.622 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:22:05,767.767 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:22:05,826.826 INFO    ] time= 20/10/2026 18:22:05
[2026-10-20 18:22:05,850.850 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:22:05,900.900 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:22:06,051.051 INFO    ] No existing commands found in stream
[2026-10-20 18:22:11,065.065 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:22:11,068.068 INFO    ] Waiting 0.04 seconds before fallback handling...
[2026-10-20 18:22:11,589.589 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:22:11,592.592 INFO    ] Checking for system updates...
[2026-10-20 18:22:11,631.631 INFO    ] 200
[2026-10-20 18:22:11,634.634 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:22:11,685.685 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:22:11,687.687 INFO    ] No update needed
[2026-10-20 18:22:11,690.690 INFO    ] Checking for camera pi updates...
[2026-10-20 18:22:11,726.726 INFO    ] 200
[2026-10-20 18:22:11,728.728 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:22:11,768.768 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:22:11,818.818 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:22:11,821.821 INFO    ] No camera update needed
[2026-10-20 18:22:11,823.823 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:22:11,825.825 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:22:11,830.830 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:22:11,835.835 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:22:13,876.876 INFO    ] ================================================
[2026-10-20 18:22:13,892.892 INFO    ] Launching Daemon at Tue Oct 20 18:22:13 IST 2026
[2026-10-20 18:22:13,902.902 INFO    ] ================================================
[2026-10-20 18:22:14,557.557 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:22:14
[2026-10-20 18:22:15,237.237 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:22:15,547.547 INFO    ] Initializing speech engine...
[2026-10-20 18:22:15,562.562 INFO    ] 2026-10-20 18:22:15
[2026-10-20 18:22:15,875.875 INFO    ] 2026-10-20 18:22:15
[2026-10-20 18:22:15,965.965 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:22:16,144.144 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:22:16,153.153 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:22:16,351.351 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:22:16,396.396 INFO    ] time= 20/10/2026 18:22:16
[2026-10-20 18:22:16,416.416 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:22:16,447.447 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:22:16,622.622 INFO    ] No existing commands found in stream
[2026-10-20 18:22:21,651.651 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:22:21,654.654 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-10-20 18:22:25,673.673 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:22:25,677.677 INFO    ] Checking for system updates...
[2026-10-20 18:22:25,714.714 INFO    ] 200
[2026-10-20 18:22:25,717.717 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:22:25,770.770 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:22:25,773.773 INFO    ] No update needed
[2026-10-20 18:22:25,776.776 INFO    ] Checking for camera pi updates...
[2026-10-20 18:22:25,810.810 INFO    ] 200
[2026-10-20 18:22:25,813.813 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:22:25,854.854 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:22:25,912.912 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:22:25,915.915 INFO    ] No camera update needed
[2026-10-20 18:22:25,918.918 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:22:25,921.921 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:22:25,927.927 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:22:25,933.933 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:22:27,975.975 INFO    ] ================================================
[2026-10-20 18:22:27,990.990 INFO    ] Launching Daemon at Tue Oct 20 18:22:27 IST 2026
[2026-10-20 18:22:28,000.000 INFO    ] ================================================
[2026-10-20 18:22:28,571.571 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:22:28
[2026-10-20 18:22:29,159.159 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:22:29,427.427 INFO    ] Initializing speech engine...
[2026-10-20 18:22:29,437.437 INFO    ] 2026-10-20 18:22:29
[2026-10-20 18:22:29,682.682 INFO    ] 2026-10-20 18:22:29
[2026-10-20 18:22:29,718.718 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:22:29,979.979 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:22:29,985.985 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:22:30,184.184 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:22:30,239.239 INFO    ] time= 20/10/2026 18:22:30
[2026-10-20 18:22:30,257.257 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:22:30,278.278 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:22:30,417.417 INFO    ] No existing commands found in stream
[2026-10-20 18:22:35,443.443 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:22:35,447.447 INFO    ] Waiting 2.45 seconds before fallback handling...
[2026-10-20 18:22:38,444.444 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:22:38,447.447 INFO    ] Checking for system updates...
[2026-10-20 18:22:38,482.482 INFO    ] 200
[2026-10-20 18:22:38,485.485 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:22:38,542.542 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:22:38,544.544 INFO    ] No update needed
[2026-10-20 18:22:38,547.547 INFO    ] Checking for camera pi updates...
[2026-10-20 18:22:38,580.580 INFO    ] 200
[2026-10-20 18:22:38,582.582 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:22:38,622.622 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:22:38,775.775 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:22:38,778.778 INFO    ] No camera update needed
[2026-10-20 18:22:38,780.780 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:22:38,783.783 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:22:38,788.788 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:22:38,793.793 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:22:40,834.834 INFO    ] ================================================
[2026-10-20 18:22:40,849.849 INFO    ] Launching Daemon at Tue Oct 20 18:22:40 IST 2026
[2026-10-20 18:22:40,860.860 INFO    ] ================================================
[2026-10-20 18:22:41,445.445 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:22:41
[2026-10-20 18:22:42,054.054 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:22:42,333.333 INFO    ] Initializing speech engine...
[2026-10-20 18:22:42,339.339 INFO    ] 2026-10-20 18:22:42
[2026-10-20 18:22:42,588.588 INFO    ] 2026-10-20 18:22:42
[2026-10-20 18:22:42,630.630 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:22:42,875.875 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:22:42,885.885 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:22:43,019.019 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:22:43,073.073 INFO    ] time= 20/10/2026 18:22:43
[2026-10-20 18:22:43,127.127 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:22:43,151.151 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:22:43,297.297 INFO    ] No existing commands found in stream
[2026-10-20 18:22:48,311.311 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:22:48,314.314 INFO    ] Waiting 0.39 seconds before fallback handling...
[2026-10-20 18:22:49,216.216 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:22:49,219.219 INFO    ] Checking for system updates...
[2026-10-20 18:22:49,254.254 INFO    ] 200
[2026-10-20 18:22:49,257.257 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:22:49,315.315 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:22:49,318.318 INFO    ] No update needed
[2026-10-20 18:22:49,321.321 INFO    ] Checking for camera pi updates...
[2026-10-20 18:22:49,358.358 INFO    ] 200
[2026-10-20 18:22:49,361.361 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:22:49,406.406 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:22:49,458.458 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:22:49,461.461 INFO    ] No camera update needed
[2026-10-20 18:22:49,463.463 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:22:49,466.466 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:22:49,471.471 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:22:49,476.476 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:22:51,519.519 INFO    ] ================================================
[2026-10-20 18:22:51,535.535 INFO    ] Launching Daemon at Tue Oct 20 18:22:51 IST 2026
[2026-10-20 18:22:51,545.545 INFO    ] ================================================
[2026-10-20 18:22:52,206.206 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:22:52
[2026-10-20 18:22:52,888.888 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:22:53,205.205 INFO    ] Initializing speech engine...
[2026-10-20 18:22:53,210.210 INFO    ] 2026-10-20 18:22:53
[2026-10-20 18:22:53,520.520 INFO    ] 2026-10-20 18:22:53
[2026-10-20 18:22:53,607.607 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:22:53,817.817 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:22:53,826.826 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:22:54,023.023 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:22:54,040.040 INFO    ] time= 20/10/2026 18:22:54
[2026-10-20 18:22:54,072.072 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:22:54,080.080 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:22:54,207.207 INFO    ] No existing commands found in stream
[2026-10-20 18:22:59,238.238 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:22:59,241.241 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-10-20 18:23:02,478.478 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 18:23:02,482.482 INFO    ] Checking for system updates...
[2026-10-20 18:23:02,527.527 INFO    ] 200
[2026-10-20 18:23:02,531.531 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:23:02,600.600 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:23:02,603.603 INFO    ] No update needed
[2026-10-20 18:23:02,607.607 INFO    ] Checking for camera pi updates...
[2026-10-20 18:23:02,663.663 INFO    ] 200
[2026-10-20 18:23:02,666.666 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:23:02,711.711 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:23:02,763.763 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:23:02,766.766 INFO    ] No camera update needed
[2026-10-20 18:23:02,769.769 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:23:02,772.772 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:23:02,778.778 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:23:02,784.784 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:23:04,824.824 INFO    ] ================================================
[2026-10-20 18:23:04,839.839 INFO    ] Launching Daemon at Tue Oct 20 18:23:04 IST 2026
[2026-10-20 18:23:04,849.849 INFO    ] ================================================
[2026-10-20 18:23:05,421.421 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:23:05
[2026-10-20 18:23:06,017.017 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:23:06,279.279 INFO    ] Initializing speech engine...
[2026-10-20 18:23:06,295.295 INFO    ] 2026-10-20 18:23:06
[2026-10-20 18:23:06,580.580 INFO    ] 2026-10-20 18:23:06
[2026-10-20 18:23:06,615.615 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:23:06,813.813 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:23:06,840.840 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:23:07,060.060 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:23:07,066.066 INFO    ] time= 20/10/2026 18:23:07
[2026-10-20 18:23:07,108.108 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:23:07,157.157 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:23:07,271.271 INFO    ] No existing commands found in stream
[2026-10-20 18:23:12,283.283 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:23:12,286.286 INFO    ] Waiting 3.52 seconds before fallback handling...
[2026-10-20 18:23:16,338.338 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 18:23:16,341.341 INFO    ] Checking for system updates...
[2026-10-20 18:23:16,377.377 INFO    ] 200
[2026-10-20 18:23:16,380.380 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:23:16,432.432 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:23:16,435.435 INFO    ] No update needed
[2026-10-20 18:23:16,437.437 INFO    ] Checking for camera pi updates...
[2026-10-20 18:23:16,474.474 INFO    ] 200
[2026-10-20 18:23:16,476.476 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:23:16,519.519 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:23:16,569.569 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:23:16,572.572 INFO    ] No camera update needed
[2026-10-20 18:23:16,574.574 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:23:16,576.576 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:23:16,582.582 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:23:16,586.586 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:23:18,626.626 INFO    ] ================================================
[2026-10-20 18:23:18,640.640 INFO    ] Launching Daemon at Tue Oct 20 18:23:18 IST 2026
[2026-10-20 18:23:18,651.651 INFO    ] ================================================
[2026-10-20 18:23:19,246.246 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:23:19
[2026-10-20 18:23:19,843.843 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:23:20,119.119 INFO    ] Initializing speech engine...
[2026-10-20 18:23:20,134.134 INFO    ] 2026-10-20 18:23:20
[2026-10-20 18:23:20,404.404 INFO    ] 2026-10-20 18:23:20
[2026-10-20 18:23:20,442.442 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:23:20,661.661 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:23:20,669.669 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:23:20,813.813 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:23:20,818.818 INFO    ] time= 20/10/2026 18:23:20
[2026-10-20 18:23:20,824.824 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:23:20,830.830 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:23:20,963.963 INFO    ] No existing commands found in stream
[2026-10-20 18:23:25,993.993 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:23:25,995.995 INFO    ] Waiting 0.15 seconds before fallback handling...
[2026-10-20 18:23:26,660.660 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 18:23:26,662.662 INFO    ] Checking for system updates...
[2026-10-20 18:23:26,701.701 INFO    ] 200
[2026-10-20 18:23:26,703.703 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:23:26,761.761 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:23:26,763.763 INFO    ] No update needed
[2026-10-20 18:23:26,765.765 INFO    ] Checking for camera pi updates...
[2026-10-20 18:23:26,802.802 INFO    ] 200
[2026-10-20 18:23:26,804.804 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:23:26,848.848 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:23:26,900.900 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:23:26,903.903 INFO    ] No camera update needed
[2026-10-20 18:23:26,905.905 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:23:26,907.907 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:23:26,913.913 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:23:26,918.918 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:23:28,958.958 INFO    ] ================================================
[2026-10-20 18:23:28,973.973 INFO    ] Launching Daemon at Tue Oct 20 18:23:28 IST 2026
[2026-10-20 18:23:28,984.984 INFO    ] ================================================
[2026-10-20 18:23:29,622.622 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:23:29
[2026-10-20 18:23:30,281.281 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:23:30,583.583 INFO    ] Initializing speech engine...
[2026-10-20 18:23:30,593.593 INFO    ] 2026-10-20 18:23:30
[2026-10-20 18:23:30,869.869 INFO    ] 2026-10-20 18:23:30
[2026-10-20 18:23:30,915.915 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:23:31,198.198 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:23:31,207.207 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:23:31,425.425 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:23:31,433.433 INFO    ] time= 20/10/2026 18:23:31
[2026-10-20 18:23:31,455.455 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:23:31,481.481 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:23:31,650.650 INFO    ] No existing commands found in stream
[2026-10-20 18:23:36,681.681 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:23:36,684.684 INFO    ] Waiting 0.22 seconds before fallback handling...
[2026-10-20 18:23:37,474.474 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 18:23:37,477.477 INFO    ] Checking for system updates...
[2026-10-20 18:23:37,513.513 INFO    ] 200
[2026-10-20 18:23:37,516.516 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:23:37,568.568 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:23:37,571.571 INFO    ] No update needed
[2026-10-20 18:23:37,573.573 INFO    ] Checking for camera pi updates...
[2026-10-20 18:23:37,608.608 INFO    ] 200
[2026-10-20 18:23:37,611.611 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:23:37,651.651 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:23:37,696.696 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:23:37,699.699 INFO    ] No camera update needed
[2026-10-20 18:23:37,702.702 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:23:37,704.704 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:23:37,710.710 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:23:37,716.716 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:23:39,758.758 INFO    ] ================================================
[2026-10-20 18:23:39,773.773 INFO    ] Launching Daemon at Tue Oct 20 18:23:39 IST 2026
[2026-10-20 18:23:39,784.784 INFO    ] ================================================
[2026-10-20 18:23:40,362.362 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:23:40
[2026-10-20 18:23:41,011.011 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:23:41,308.308 INFO    ] Initializing speech engine...
[2026-10-20 18:23:41,316.316 INFO    ] 2026-10-20 18:23:41
[2026-10-20 18:23:41,586.586 INFO    ] 2026-10-20 18:23:41
[2026-10-20 18:23:41,642.642 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:23:41,902.902 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:23:41,907.907 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:23:42,142.142 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:23:42,149.149 INFO    ] time= 20/10/2026 18:23:42
[2026-10-20 18:23:42,171.171 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:23:42,197.197 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:23:42,317.317 INFO    ] No existing commands found in stream
[2026-10-20 18:23:47,342.342 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:23:47,345.345 INFO    ] Waiting 1.23 seconds before fallback handling...
[2026-10-20 18:23:49,130.130 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 18:23:49,133.133 INFO    ] Checking for system updates...
[2026-10-20 18:23:49,169.169 INFO    ] 200
[2026-10-20 18:23:49,171.171 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:23:49,224.224 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:23:49,227.227 INFO    ] No update needed
[2026-10-20 18:23:49,229.229 INFO    ] Checking for camera pi updates...
[2026-10-20 18:23:49,263.263 INFO    ] 200
[2026-10-20 18:23:49,266.266 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:23:49,313.313 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:23:49,369.369 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:23:49,371.371 INFO    ] No camera update needed
[2026-10-20 18:23:49,374.374 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:23:49,376.376 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:23:49,383.383 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:23:49,388.388 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:23:51,428.428 INFO    ] ================================================
[2026-10-20 18:23:51,443.443 INFO    ] Launching Daemon at Tue Oct 20 18:23:51 IST 2026
[2026-10-20 18:23:51,453.453 INFO    ] ================================================
[2026-10-20 18:23:52,033.033 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:23:52
[2026-10-20 18:23:52,631.631 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:23:52,909.909 INFO    ] Initializing speech engine...
[2026-10-20 18:23:52,917.917 INFO    ] 2026-10-20 18:23:52
[2026-10-20 18:23:53,177.177 INFO    ] 2026-10-20 18:23:53
[2026-10-20 18:23:53,207.207 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:23:53,588.588 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:23:53,637.637 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:23:53,808.808 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:23:53,860.860 INFO    ] time= 20/10/2026 18:23:53
[2026-10-20 18:23:53,885.885 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:23:53,949.949 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:23:54,121.121 INFO    ] No existing commands found in stream
[2026-10-20 18:23:59,134.134 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:23:59,137.137 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-10-20 18:24:01,445.445 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 18:24:01,448.448 INFO    ] Checking for system updates...
[2026-10-20 18:24:01,505.505 INFO    ] 200
[2026-10-20 18:24:01,509.509 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:24:01,618.618 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:24:01,622.622 INFO    ] No update needed
[2026-10-20 18:24:01,626.626 INFO    ] Checking for camera pi updates...
[2026-10-20 18:24:01,690.690 INFO    ] 200
[2026-10-20 18:24:01,694.694 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:24:01,764.764 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:24:01,823.823 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:24:01,826.826 INFO    ] No camera update needed
[2026-10-20 18:24:01,829.829 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:24:01,832.832 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:24:01,839.839 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:24:01,845.845 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:24:03,890.890 INFO    ] ================================================
[2026-10-20 18:24:03,905.905 INFO    ] Launching Daemon at Tue Oct 20 18:24:03 IST 2026
[2026-10-20 18:24:03,916.916 INFO    ] ================================================
[2026-10-20 18:24:04,564.564 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:24:04
[2026-10-20 18:24:05,230.230 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:24:05,535.535 INFO    ] Initializing speech engine...
[2026-10-20 18:24:05,549.549 INFO    ] 2026-10-20 18:24:05
[2026-10-20 18:24:05,833.833 INFO    ] 2026-10-20 18:24:05
[2026-10-20 18:24:05,942.942 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:24:06,153.153 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:24:06,162.162 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:24:06,358.358 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:24:06,377.377 INFO    ] time= 20/10/2026 18:24:06
[2026-10-20 18:24:06,405.405 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:24:06,414.414 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:24:06,537.537 INFO    ] No existing commands found in stream
[2026-10-20 18:24:11,573.573 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:24:11,576.576 INFO    ] Waiting 0.06 seconds before fallback handling...
[2026-10-20 18:24:12,154.154 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:24:12,157.157 INFO    ] Checking for system updates...
[2026-10-20 18:24:12,194.194 INFO    ] 200
[2026-10-20 18:24:12,196.196 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:24:12,249.249 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:24:12,252.252 INFO    ] No update needed
[2026-10-20 18:24:12,255.255 INFO    ] Checking for camera pi updates...
[2026-10-20 18:24:12,289.289 INFO    ] 200
[2026-10-20 18:24:12,292.292 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:24:12,334.334 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:24:12,384.384 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:24:12,387.387 INFO    ] No camera update needed
[2026-10-20 18:24:12,390.390 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:24:12,392.392 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:24:12,398.398 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:24:12,404.404 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:24:14,445.445 INFO    ] ================================================
[2026-10-20 18:24:14,460.460 INFO    ] Launching Daemon at Tue Oct 20 18:24:14 IST 2026
[2026-10-20 18:24:14,470.470 INFO    ] ================================================
[2026-10-20 18:24:15,043.043 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:24:15
[2026-10-20 18:24:15,632.632 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:24:15,905.905 INFO    ] Initializing speech engine...
[2026-10-20 18:24:15,914.914 INFO    ] 2026-10-20 18:24:15
[2026-10-20 18:24:16,167.167 INFO    ] 2026-10-20 18:24:16
[2026-10-20 18:24:16,209.209 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:24:16,467.467 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:24:16,472.472 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:24:16,657.657 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:24:16,717.717 INFO    ] time= 20/10/2026 18:24:16
[2026-10-20 18:24:16,744.744 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:24:16,750.750 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:24:16,902.902 INFO    ] No existing commands found in stream
[2026-10-20 18:24:21,921.921 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:24:21,923.923 INFO    ] Waiting 0.04 seconds before fallback handling...
[2026-10-20 18:24:22,517.517 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:24:22,520.520 INFO    ] Checking for system updates...
[2026-10-20 18:24:22,555.555 INFO    ] 200
[2026-10-20 18:24:22,558.558 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:24:22,611.611 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:24:22,614.614 INFO    ] No update needed
[2026-10-20 18:24:22,616.616 INFO    ] Checking for camera pi updates...
[2026-10-20 18:24:22,649.649 INFO    ] 200
[2026-10-20 18:24:22,652.652 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:24:22,696.696 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:24:22,742.742 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:24:22,745.745 INFO    ] No camera update needed
[2026-10-20 18:24:22,747.747 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:24:22,749.749 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:24:22,755.755 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:24:22,760.760 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:24:24,806.806 INFO    ] ================================================
[2026-10-20 18:24:24,823.823 INFO    ] Launching Daemon at Tue Oct 20 18:24:24 IST 2026
[2026-10-20 18:24:24,834.834 INFO    ] ================================================
[2026-10-20 18:24:25,519.519 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:24:25
[2026-10-20 18:24:26,228.228 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:24:26,560.560 INFO    ] Initializing speech engine...
[2026-10-20 18:24:26,567.567 INFO    ] 2026-10-20 18:24:26
[2026-10-20 18:24:26,869.869 INFO    ] 2026-10-20 18:24:26
[2026-10-20 18:24:26,982.982 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:24:27,142.142 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:24:27,148.148 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:24:27,287.287 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:24:27,354.354 INFO    ] time= 20/10/2026 18:24:27
[2026-10-20 18:24:27,407.407 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:24:27,432.432 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:24:27,554.554 INFO    ] No existing commands found in stream
[2026-10-20 18:24:32,585.585 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:24:32,588.588 INFO    ] Waiting 2.39 seconds before fallback handling...
[2026-10-20 18:24:35,558.558 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:24:35,561.561 INFO    ] Checking for system updates...
[2026-10-20 18:24:35,612.612 INFO    ] 200
[2026-10-20 18:24:35,615.615 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:24:35,676.676 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:24:35,679.679 INFO    ] No update needed
[2026-10-20 18:24:35,682.682 INFO    ] Checking for camera pi updates...
[2026-10-20 18:24:35,716.716 INFO    ] 200
[2026-10-20 18:24:35,720.720 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:24:35,771.771 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:24:35,820.820 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:24:35,823.823 INFO    ] No camera update needed
[2026-10-20 18:24:35,826.826 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:24:35,828.828 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:24:35,835.835 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:24:35,841.841 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:24:37,883.883 INFO    ] ================================================
[2026-10-20 18:24:37,899.899 INFO    ] Launching Daemon at Tue Oct 20 18:24:37 IST 2026
[2026-10-20 18:24:37,910.910 INFO    ] ================================================
[2026-10-20 18:24:38,484.484 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:24:38
[2026-10-20 18:24:39,143.143 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:24:39,455.455 INFO    ] Initializing speech engine...
[2026-10-20 18:24:39,466.466 INFO    ] 2026-10-20 18:24:39
[2026-10-20 18:24:39,778.778 INFO    ] 2026-10-20 18:24:39
[2026-10-20 18:24:39,869.869 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:24:40,089.089 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:24:40,099.099 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:24:40,296.296 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:24:40,316.316 INFO    ] time= 20/10/2026 18:24:40
[2026-10-20 18:24:40,329.329 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:24:40,352.352 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:24:40,461.461 INFO    ] No existing commands found in stream
[2026-10-20 18:24:45,496.496 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:24:45,500.500 INFO    ] Waiting 0.69 seconds before fallback handling...
[2026-10-20 18:24:46,756.756 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 18:24:46,759.759 INFO    ] Checking for system updates...
[2026-10-20 18:24:46,796.796 INFO    ] 200
[2026-10-20 18:24:46,799.799 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:24:46,852.852 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:24:46,855.855 INFO    ] No update needed
[2026-10-20 18:24:46,858.858 INFO    ] Checking for camera pi updates...
[2026-10-20 18:24:46,892.892 INFO    ] 200
[2026-10-20 18:24:46,895.895 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:24:46,936.936 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:24:47,080.080 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:24:47,082.082 INFO    ] No camera update needed
[2026-10-20 18:24:47,085.085 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:24:47,088.088 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:24:47,095.095 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:24:47,101.101 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:24:49,141.141 INFO    ] ================================================
[2026-10-20 18:24:49,156.156 INFO    ] Launching Daemon at Tue Oct 20 18:24:49 IST 2026
[2026-10-20 18:24:49,167.167 INFO    ] ================================================
[2026-10-20 18:24:49,736.736 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:24:49
[2026-10-20 18:24:50,323.323 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:24:50,572.572 INFO    ] Initializing speech engine...
[2026-10-20 18:24:50,592.592 INFO    ] 2026-10-20 18:24:50
[2026-10-20 18:24:50,849.849 INFO    ] 2026-10-20 18:24:50
[2026-10-20 18:24:50,884.884 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:24:51,145.145 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:24:51,154.154 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:24:51,388.388 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:24:51,420.420 INFO    ] time= 20/10/2026 18:24:51
[2026-10-20 18:24:51,426.426 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:24:51,448.448 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:24:51,579.579 INFO    ] No existing commands found in stream
[2026-10-20 18:24:56,591.591 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:24:56,594.594 INFO    ] Waiting 3.79 seconds before fallback handling...
[2026-10-20 18:25:00,884.884 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:25:00,887.887 INFO    ] Checking for system updates...
[2026-10-20 18:25:00,924.924 INFO    ] 200
[2026-10-20 18:25:00,927.927 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:25:00,979.979 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:25:00,982.982 INFO    ] No update needed
[2026-10-20 18:25:00,984.984 INFO    ] Checking for camera pi updates...
[2026-10-20 18:25:01,023.023 INFO    ] 200
[2026-10-20 18:25:01,025.025 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:25:01,065.065 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:25:01,120.120 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:25:01,122.122 INFO    ] No camera update needed
[2026-10-20 18:25:01,125.125 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:25:01,127.127 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:25:01,132.132 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:25:01,137.137 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:25:03,183.183 INFO    ] ================================================
[2026-10-20 18:25:03,200.200 INFO    ] Launching Daemon at Tue Oct 20 18:25:03 IST 2026
[2026-10-20 18:25:03,211.211 INFO    ] ================================================
[2026-10-20 18:25:03,805.805 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:25:03
[2026-10-20 18:25:04,389.389 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:25:04,659.659 INFO    ] Initializing speech engine...
[2026-10-20 18:25:04,668.668 INFO    ] 2026-10-20 18:25:04
[2026-10-20 18:25:04,918.918 INFO    ] 2026-10-20 18:25:04
[2026-10-20 18:25:04,952.952 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:25:05,211.211 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:25:05,221.221 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:25:05,423.423 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:25:05,478.478 INFO    ] time= 20/10/2026 18:25:05
[2026-10-20 18:25:05,494.494 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:25:05,512.512 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:25:05,665.665 INFO    ] No existing commands found in stream
[2026-10-20 18:25:10,700.700 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:25:10,703.703 INFO    ] Waiting 3.37 seconds before fallback handling...
[2026-10-20 18:25:14,565.565 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:25:14,568.568 INFO    ] Checking for system updates...
[2026-10-20 18:25:14,608.608 INFO    ] 200
[2026-10-20 18:25:14,611.611 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:25:14,662.662 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:25:14,665.665 INFO    ] No update needed
[2026-10-20 18:25:14,667.667 INFO    ] Checking for camera pi updates...
[2026-10-20 18:25:14,702.702 INFO    ] 200
[2026-10-20 18:25:14,705.705 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:25:14,745.745 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:25:14,791.791 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:25:14,794.794 INFO    ] No camera update needed
[2026-10-20 18:25:14,796.796 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:25:14,798.798 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:25:14,803.803 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:25:14,808.808 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:25:16,850.850 INFO    ] ================================================
[2026-10-20 18:25:16,865.865 INFO    ] Launching Daemon at Tue Oct 20 18:25:16 IST 2026
[2026-10-20 18:25:16,876.876 INFO    ] ================================================
[2026-10-20 18:25:17,550.550 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:25:17
[2026-10-20 18:25:18,241.241 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:25:18,555.555 INFO    ] Initializing speech engine...
[2026-10-20 18:25:18,567.567 INFO    ] 2026-10-20 18:25:18
[2026-10-20 18:25:18,876.876 INFO    ] 2026-10-20 18:25:18
[2026-10-20 18:25:18,965.965 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:25:19,185.185 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:25:19,245.245 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:25:19,423.423 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:25:19,433.433 INFO    ] time= 20/10/2026 18:25:19
[2026-10-20 18:25:19,452.452 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:25:19,521.521 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:25:19,653.653 INFO    ] No existing commands found in stream
[2026-10-20 18:25:24,689.689 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:25:24,693.693 INFO    ] Waiting 3.56 seconds before fallback handling...
[2026-10-20 18:25:28,768.768 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:25:28,771.771 INFO    ] Checking for system updates...
[2026-10-20 18:25:28,808.808 INFO    ] 200
[2026-10-20 18:25:28,810.810 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:25:28,862.862 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:25:28,865.865 INFO    ] No update needed
[2026-10-20 18:25:28,867.867 INFO    ] Checking for camera pi updates...
[2026-10-20 18:25:28,900.900 INFO    ] 200
[2026-10-20 18:25:28,903.903 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:25:28,943.943 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:25:28,991.991 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:25:28,993.993 INFO    ] No camera update needed
[2026-10-20 18:25:28,996.996 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:25:28,998.998 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:25:29,003.003 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:25:29,008.008 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:25:31,048.048 INFO    ] ================================================
[2026-10-20 18:25:31,064.064 INFO    ] Launching Daemon at Tue Oct 20 18:25:31 IST 2026
[2026-10-20 18:25:31,074.074 INFO    ] ================================================
[2026-10-20 18:25:31,781.781 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:25:31
[2026-10-20 18:25:32,527.527 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:25:32,868.868 INFO    ] Initializing speech engine...
[2026-10-20 18:25:32,881.881 INFO    ] 2026-10-20 18:25:32
[2026-10-20 18:25:33,195.195 INFO    ] 2026-10-20 18:25:33
[2026-10-20 18:25:33,281.281 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:25:33,493.493 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:25:33,502.502 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:25:33,698.698 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:25:33,705.705 INFO    ] time= 20/10/2026 18:25:33
[2026-10-20 18:25:33,723.723 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:25:33,752.752 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:25:33,884.884 INFO    ] No existing commands found in stream
[2026-10-20 18:25:38,915.915 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:25:38,919.919 INFO    ] Waiting 1.42 seconds before fallback handling...
[2026-10-20 18:25:40,942.942 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 18:25:40,945.945 INFO    ] Checking for system updates...
[2026-10-20 18:25:40,983.983 INFO    ] 200
[2026-10-20 18:25:40,986.986 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:25:41,040.040 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:25:41,043.043 INFO    ] No update needed
[2026-10-20 18:25:41,046.046 INFO    ] Checking for camera pi updates...
[2026-10-20 18:25:41,089.089 INFO    ] 200
[2026-10-20 18:25:41,092.092 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:25:41,134.134 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:25:41,185.185 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:25:41,188.188 INFO    ] No camera update needed
[2026-10-20 18:25:41,191.191 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:25:41,194.194 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:25:41,200.200 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:25:41,206.206 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:25:43,247.247 INFO    ] ================================================
[2026-10-20 18:25:43,263.263 INFO    ] Launching Daemon at Tue Oct 20 18:25:43 IST 2026
[2026-10-20 18:25:43,274.274 INFO    ] ================================================
[2026-10-20 18:25:43,942.942 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:25:43
[2026-10-20 18:25:44,627.627 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:25:44,938.938 INFO    ] Initializing speech engine...
[2026-10-20 18:25:44,952.952 INFO    ] 2026-10-20 18:25:44
[2026-10-20 18:25:45,239.239 INFO    ] 2026-10-20 18:25:45
[2026-10-20 18:25:45,285.285 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:25:45,574.574 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:25:45,583.583 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:25:45,783.783 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:25:45,803.803 INFO    ] time= 20/10/2026 18:25:45
[2026-10-20 18:25:45,813.813 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:25:45,842.842 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:25:45,917.917 INFO    ] No existing commands found in stream
[2026-10-20 18:25:50,945.945 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:25:50,948.948 INFO    ] Waiting 2.84 seconds before fallback handling...
[2026-10-20 18:25:54,338.338 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:25:54,341.341 INFO    ] Checking for system updates...
[2026-10-20 18:25:54,376.376 INFO    ] 200
[2026-10-20 18:25:54,379.379 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:25:54,439.439 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:25:54,442.442 INFO    ] No update needed
[2026-10-20 18:25:54,444.444 INFO    ] Checking for camera pi updates...
[2026-10-20 18:25:54,482.482 INFO    ] 200
[2026-10-20 18:25:54,484.484 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:25:54,530.530 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:25:54,576.576 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:25:54,579.579 INFO    ] No camera update needed
[2026-10-20 18:25:54,581.581 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:25:54,584.584 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:25:54,589.589 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:25:54,594.594 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:25:56,634.634 INFO    ] ================================================
[2026-10-20 18:25:56,649.649 INFO    ] Launching Daemon at Tue Oct 20 18:25:56 IST 2026
[2026-10-20 18:25:56,660.660 INFO    ] ================================================
[2026-10-20 18:25:57,232.232 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:25:57
[2026-10-20 18:25:57,825.825 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:25:58,100.100 INFO    ] Initializing speech engine...
[2026-10-20 18:25:58,109.109 INFO    ] 2026-10-20 18:25:58
[2026-10-20 18:25:58,361.361 INFO    ] 2026-10-20 18:25:58
[2026-10-20 18:25:58,397.397 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:25:58,656.656 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:25:58,665.665 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:25:58,893.893 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:25:58,932.932 INFO    ] time= 20/10/2026 18:25:58
[2026-10-20 18:25:58,938.938 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:25:58,956.956 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:25:59,100.100 INFO    ] No existing commands found in stream
[2026-10-20 18:26:04,126.126 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:26:04,129.129 INFO    ] Waiting 2.75 seconds before fallback handling...
[2026-10-20 18:26:07,362.362 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:26:07,364.364 INFO    ] Checking for system updates...
[2026-10-20 18:26:07,399.399 INFO    ] 200
[2026-10-20 18:26:07,402.402 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:26:07,453.453 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:26:07,456.456 INFO    ] No update needed
[2026-10-20 18:26:07,458.458 INFO    ] Checking for camera pi updates...
[2026-10-20 18:26:07,491.491 INFO    ] 200
[2026-10-20 18:26:07,493.493 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:26:07,539.539 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:26:07,583.583 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:26:07,585.585 INFO    ] No camera update needed
[2026-10-20 18:26:07,588.588 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:26:07,590.590 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:26:07,595.595 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:26:07,600.600 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:26:09,642.642 INFO    ] ================================================
[2026-10-20 18:26:09,658.658 INFO    ] Launching Daemon at Tue Oct 20 18:26:09 IST 2026
[2026-10-20 18:26:09,669.669 INFO    ] ================================================
[2026-10-20 18:26:10,332.332 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:26:10
[2026-10-20 18:26:11,016.016 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:26:11,325.325 INFO    ] Initializing speech engine...
[2026-10-20 18:26:11,339.339 INFO    ] 2026-10-20 18:26:11
[2026-10-20 18:26:11,624.624 INFO    ] 2026-10-20 18:26:11
[2026-10-20 18:26:11,664.664 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:26:11,944.944 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:26:11,953.953 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:26:12,151.151 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:26:12,167.167 INFO    ] time= 20/10/2026 18:26:12
[2026-10-20 18:26:12,177.177 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:26:12,205.205 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:26:12,334.334 INFO    ] No existing commands found in stream
[2026-10-20 18:26:17,360.360 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:26:17,363.363 INFO    ] Waiting 3.35 seconds before fallback handling...
[2026-10-20 18:26:21,278.278 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:26:21,281.281 INFO    ] Checking for system updates...
[2026-10-20 18:26:21,317.317 INFO    ] 200
[2026-10-20 18:26:21,320.320 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:26:21,380.380 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:26:21,383.383 INFO    ] No update needed
[2026-10-20 18:26:21,386.386 INFO    ] Checking for camera pi updates...
[2026-10-20 18:26:21,420.420 INFO    ] 200
[2026-10-20 18:26:21,423.423 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:26:21,464.464 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:26:21,513.513 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:26:21,516.516 INFO    ] No camera update needed
[2026-10-20 18:26:21,519.519 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:26:21,522.522 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:26:21,528.528 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:26:21,534.534 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:26:23,575.575 INFO    ] ================================================
[2026-10-20 18:26:23,590.590 INFO    ] Launching Daemon at Tue Oct 20 18:26:23 IST 2026
[2026-10-20 18:26:23,601.601 INFO    ] ================================================
[2026-10-20 18:26:24,179.179 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:26:24
[2026-10-20 18:26:24,776.776 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:26:25,049.049 INFO    ] Initializing speech engine...
[2026-10-20 18:26:25,058.058 INFO    ] 2026-10-20 18:26:25
[2026-10-20 18:26:25,320.320 INFO    ] 2026-10-20 18:26:25
[2026-10-20 18:26:25,373.373 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:26:25,593.593 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:26:25,602.602 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:26:25,742.742 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:26:25,801.801 INFO    ] time= 20/10/2026 18:26:25
[2026-10-20 18:26:25,856.856 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:26:25,870.870 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:26:26,015.015 INFO    ] No existing commands found in stream
[2026-10-20 18:26:31,035.035 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:26:31,038.038 INFO    ] Waiting 3.62 seconds before fallback handling...
[2026-10-20 18:26:35,216.216 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 18:26:35,219.219 INFO    ] Checking for system updates...
[2026-10-20 18:26:35,255.255 INFO    ] 200
[2026-10-20 18:26:35,258.258 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:26:35,320.320 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:26:35,323.323 INFO    ] No update needed
[2026-10-20 18:26:35,326.326 INFO    ] Checking for camera pi updates...
[2026-10-20 18:26:35,364.364 INFO    ] 200
[2026-10-20 18:26:35,367.367 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:26:35,408.408 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:26:35,458.458 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:26:35,461.461 INFO    ] No camera update needed
[2026-10-20 18:26:35,464.464 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:26:35,466.466 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:26:35,472.472 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:26:35,478.478 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:26:37,521.521 INFO    ] ================================================
[2026-10-20 18:26:37,536.536 INFO    ] Launching Daemon at Tue Oct 20 18:26:37 IST 2026
[2026-10-20 18:26:37,546.546 INFO    ] ================================================
[2026-10-20 18:26:38,112.112 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:26:38
[2026-10-20 18:26:38,697.697 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:26:38,947.947 INFO    ] Initializing speech engine...
[2026-10-20 18:26:38,961.961 INFO    ] 2026-10-20 18:26:38
[2026-10-20 18:26:39,227.227 INFO    ] 2026-10-20 18:26:39
[2026-10-20 18:26:39,261.261 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:26:39,469.469 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:26:39,524.524 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:26:39,665.665 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:26:39,708.708 INFO    ] time= 20/10/2026 18:26:39
[2026-10-20 18:26:39,762.762 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:26:39,802.802 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:26:39,951.951 INFO    ] No existing commands found in stream
[2026-10-20 18:26:44,965.965 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:26:44,968.968 INFO    ] Waiting 3.39 seconds before fallback handling...
[2026-10-20 18:26:48,920.920 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:26:48,923.923 INFO    ] Checking for system updates...
[2026-10-20 18:26:48,963.963 INFO    ] 200
[2026-10-20 18:26:48,965.965 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:26:49,025.025 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:26:49,027.027 INFO    ] No update needed
[2026-10-20 18:26:49,030.030 INFO    ] Checking for camera pi updates...
[2026-10-20 18:26:49,063.063 INFO    ] 200
[2026-10-20 18:26:49,065.065 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:26:49,110.110 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:26:49,249.249 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:26:49,252.252 INFO    ] No camera update needed
[2026-10-20 18:26:49,254.254 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:26:49,256.256 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:26:49,262.262 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:26:49,267.267 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:26:51,308.308 INFO    ] ================================================
[2026-10-20 18:26:51,323.323 INFO    ] Launching Daemon at Tue Oct 20 18:26:51 IST 2026
[2026-10-20 18:26:51,334.334 INFO    ] ================================================
[2026-10-20 18:26:51,898.898 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:26:51
[2026-10-20 18:26:52,481.481 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:26:52,753.753 INFO    ] Initializing speech engine...
[2026-10-20 18:26:52,759.759 INFO    ] 2026-10-20 18:26:52
[2026-10-20 18:26:53,009.009 INFO    ] 2026-10-20 18:26:53
[2026-10-20 18:26:53,044.044 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:26:53,308.308 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:26:53,313.313 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:26:53,547.547 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:26:53,581.581 INFO    ] time= 20/10/2026 18:26:53
[2026-10-20 18:26:53,599.599 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:26:53,609.609 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:26:53,736.736 INFO    ] No existing commands found in stream
[2026-10-20 18:26:58,753.753 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:26:58,756.756 INFO    ] Waiting 0.33 seconds before fallback handling...
[2026-10-20 18:26:59,599.599 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 18:26:59,602.602 INFO    ] Checking for system updates...
[2026-10-20 18:26:59,639.639 INFO    ] 200
[2026-10-20 18:26:59,642.642 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:26:59,695.695 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:26:59,698.698 INFO    ] No update needed
[2026-10-20 18:26:59,701.701 INFO    ] Checking for camera pi updates...
[2026-10-20 18:26:59,736.736 INFO    ] 200
[2026-10-20 18:26:59,739.739 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:26:59,779.779 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:26:59,833.833 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:26:59,836.836 INFO    ] No camera update needed
[2026-10-20 18:26:59,838.838 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:26:59,840.840 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:26:59,845.845 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:26:59,850.850 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:27:01,892.892 INFO    ] ================================================
[2026-10-20 18:27:01,934.934 INFO    ] Launching Daemon at Tue Oct 20 18:27:01 IST 2026
[2026-10-20 18:27:01,957.957 INFO    ] ================================================
[2026-10-20 18:27:02,670.670 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:27:02
[2026-10-20 18:27:03,339.339 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:27:03,625.625 INFO    ] Initializing speech engine...
[2026-10-20 18:27:03,645.645 INFO    ] 2026-10-20 18:27:03
[2026-10-20 18:27:03,916.916 INFO    ] 2026-10-20 18:27:03
[2026-10-20 18:27:03,968.968 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:27:04,215.215 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:27:04,223.223 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:27:04,448.448 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:27:04,460.460 INFO    ] time= 20/10/2026 18:27:04
[2026-10-20 18:27:04,479.479 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:27:04,501.501 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:27:04,619.619 INFO    ] No existing commands found in stream
[2026-10-20 18:27:09,648.648 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:27:09,651.651 INFO    ] Waiting 2.24 seconds before fallback handling...
[2026-10-20 18:27:12,447.447 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:27:12,450.450 INFO    ] Checking for system updates...
[2026-10-20 18:27:12,485.485 INFO    ] 200
[2026-10-20 18:27:12,488.488 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:27:12,540.540 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:27:12,542.542 INFO    ] No update needed
[2026-10-20 18:27:12,544.544 INFO    ] Checking for camera pi updates...
[2026-10-20 18:27:12,579.579 INFO    ] 200
[2026-10-20 18:27:12,581.581 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:27:12,622.622 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:27:12,670.670 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:27:12,672.672 INFO    ] No camera update needed
[2026-10-20 18:27:12,674.674 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:27:12,677.677 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:27:12,682.682 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:27:12,687.687 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:27:14,730.730 INFO    ] ================================================
[2026-10-20 18:27:14,746.746 INFO    ] Launching Daemon at Tue Oct 20 18:27:14 IST 2026
[2026-10-20 18:27:14,757.757 INFO    ] ================================================
[2026-10-20 18:27:15,370.370 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:27:15
[2026-10-20 18:27:16,011.011 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:27:16,274.274 INFO    ] Initializing speech engine...
[2026-10-20 18:27:16,292.292 INFO    ] 2026-10-20 18:27:16
[2026-10-20 18:27:16,541.541 INFO    ] 2026-10-20 18:27:16
[2026-10-20 18:27:16,575.575 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:27:16,837.837 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:27:16,841.841 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:27:16,978.978 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:27:17,028.028 INFO    ] time= 20/10/2026 18:27:16
[2026-10-20 18:27:17,082.082 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:27:17,112.112 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:27:17,251.251 INFO    ] No existing commands found in stream
[2026-10-20 18:27:22,271.271 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:27:22,274.274 INFO    ] Waiting 0.32 seconds before fallback handling...
[2026-10-20 18:27:23,144.144 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 18:27:23,147.147 INFO    ] Checking for system updates...
[2026-10-20 18:27:23,189.189 INFO    ] 200
[2026-10-20 18:27:23,192.192 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:27:23,245.245 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:27:23,247.247 INFO    ] No update needed
[2026-10-20 18:27:23,250.250 INFO    ] Checking for camera pi updates...
[2026-10-20 18:27:23,289.289 INFO    ] 200
[2026-10-20 18:27:23,292.292 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:27:23,338.338 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:27:23,387.387 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:27:23,390.390 INFO    ] No camera update needed
[2026-10-20 18:27:23,392.392 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:27:23,395.395 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:27:23,401.401 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:27:23,406.406 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:27:25,448.448 INFO    ] ================================================
[2026-10-20 18:27:25,462.462 INFO    ] Launching Daemon at Tue Oct 20 18:27:25 IST 2026
[2026-10-20 18:27:25,473.473 INFO    ] ================================================
[2026-10-20 18:27:26,036.036 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:27:26
[2026-10-20 18:27:26,620.620 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:27:26,879.879 INFO    ] Initializing speech engine...
[2026-10-20 18:27:26,897.897 INFO    ] 2026-10-20 18:27:26
[2026-10-20 18:27:27,150.150 INFO    ] 2026-10-20 18:27:27
[2026-10-20 18:27:27,186.186 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:27:27,434.434 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:27:27,439.439 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:27:27,672.672 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:27:27,694.694 INFO    ] time= 20/10/2026 18:27:27
[2026-10-20 18:27:27,700.700 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:27:27,718.718 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:27:27,850.850 INFO    ] No existing commands found in stream
[2026-10-20 18:27:32,871.871 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:27:32,873.873 INFO    ] Waiting 0.98 seconds before fallback handling...
[2026-10-20 18:27:34,373.373 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:27:34,376.376 INFO    ] Checking for system updates...
[2026-10-20 18:27:34,412.412 INFO    ] 200
[2026-10-20 18:27:34,414.414 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:27:34,470.470 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:27:34,472.472 INFO    ] No update needed
[2026-10-20 18:27:34,474.474 INFO    ] Checking for camera pi updates...
[2026-10-20 18:27:34,508.508 INFO    ] 200
[2026-10-20 18:27:34,511.511 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:27:34,550.550 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:27:34,597.597 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:27:34,599.599 INFO    ] No camera update needed
[2026-10-20 18:27:34,602.602 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:27:34,604.604 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:27:34,609.609 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:27:34,614.614 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:27:36,653.653 INFO    ] ================================================
[2026-10-20 18:27:36,667.667 INFO    ] Launching Daemon at Tue Oct 20 18:27:36 IST 2026
[2026-10-20 18:27:36,678.678 INFO    ] ================================================
[2026-10-20 18:27:37,248.248 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:27:37
[2026-10-20 18:27:37,833.833 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:27:38,087.087 INFO    ] Initializing speech engine...
[2026-10-20 18:27:38,097.097 INFO    ] 2026-10-20 18:27:38
[2026-10-20 18:27:38,390.390 INFO    ] 2026-10-20 18:27:38
[2026-10-20 18:27:38,426.426 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:27:38,638.638 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:27:38,654.654 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:27:38,851.851 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:27:38,899.899 INFO    ] time= 20/10/2026 18:27:38
[2026-10-20 18:27:38,953.953 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:27:38,987.987 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:27:39,135.135 INFO    ] No existing commands found in stream
[2026-10-20 18:27:44,150.150 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:27:44,153.153 INFO    ] Waiting 2.87 seconds before fallback handling...
[2026-10-20 18:27:47,553.553 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 18:27:47,556.556 INFO    ] Checking for system updates...
[2026-10-20 18:27:47,591.591 INFO    ] 200
[2026-10-20 18:27:47,593.593 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:27:47,644.644 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:27:47,647.647 INFO    ] No update needed
[2026-10-20 18:27:47,649.649 INFO    ] Checking for camera pi updates...
[2026-10-20 18:27:47,682.682 INFO    ] 200
[2026-10-20 18:27:47,684.684 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:27:47,724.724 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:27:47,768.768 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:27:47,770.770 INFO    ] No camera update needed
[2026-10-20 18:27:47,773.773 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:27:47,775.775 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:27:47,780.780 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:27:47,785.785 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:27:49,824.824 INFO    ] ================================================
[2026-10-20 18:27:49,839.839 INFO    ] Launching Daemon at Tue Oct 20 18:27:49 IST 2026
[2026-10-20 18:27:49,849.849 INFO    ] ================================================
[2026-10-20 18:27:50,489.489 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:27:50
[2026-10-20 18:27:51,149.149 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:27:51,451.451 INFO    ] Initializing speech engine...
[2026-10-20 18:27:51,461.461 INFO    ] 2026-10-20 18:27:51
[2026-10-20 18:27:51,746.746 INFO    ] 2026-10-20 18:27:51
[2026-10-20 18:27:51,791.791 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:27:52,045.045 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:27:52,052.052 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:27:52,256.256 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:27:52,295.295 INFO    ] time= 20/10/2026 18:27:52
[2026-10-20 18:27:52,301.301 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:27:52,323.323 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:27:52,470.470 INFO    ] No existing commands found in stream
[2026-10-20 18:27:57,502.502 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:27:57,505.505 INFO    ] Waiting 1.58 seconds before fallback handling...
[2026-10-20 18:27:59,590.590 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 18:27:59,593.593 INFO    ] Checking for system updates...
[2026-10-20 18:27:59,633.633 INFO    ] 200
[2026-10-20 18:27:59,635.635 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:27:59,688.688 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:27:59,690.690 INFO    ] No update needed
[2026-10-20 18:27:59,693.693 INFO    ] Checking for camera pi updates...
[2026-10-20 18:27:59,726.726 INFO    ] 200
[2026-10-20 18:27:59,728.728 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:27:59,768.768 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:27:59,820.820 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:27:59,822.822 INFO    ] No camera update needed
[2026-10-20 18:27:59,825.825 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:27:59,827.827 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:27:59,832.832 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:27:59,837.837 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:28:01,893.893 INFO    ] ================================================
[2026-10-20 18:28:01,922.922 INFO    ] Launching Daemon at Tue Oct 20 18:28:01 IST 2026
[2026-10-20 18:28:01,946.946 INFO    ] ================================================
[2026-10-20 18:28:02,604.604 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:28:02
[2026-10-20 18:28:03,269.269 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:28:03,555.555 INFO    ] Initializing speech engine...
[2026-10-20 18:28:03,579.579 INFO    ] 2026-10-20 18:28:03
[2026-10-20 18:28:03,871.871 INFO    ] 2026-10-20 18:28:03
[2026-10-20 18:28:03,907.907 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:28:04,126.126 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:28:04,135.135 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:28:04,353.353 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:28:04,357.357 INFO    ] time= 20/10/2026 18:28:04
[2026-10-20 18:28:04,394.394 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:28:04,453.453 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:28:04,559.559 INFO    ] No existing commands found in stream
[2026-10-20 18:28:09,571.571 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:28:09,573.573 INFO    ] Waiting 3.69 seconds before fallback handling...
[2026-10-20 18:28:13,774.774 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:28:13,776.776 INFO    ] Checking for system updates...
[2026-10-20 18:28:13,812.812 INFO    ] 200
[2026-10-20 18:28:13,814.814 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:28:13,872.872 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:28:13,874.874 INFO    ] No update needed
[2026-10-20 18:28:13,877.877 INFO    ] Checking for camera pi updates...
[2026-10-20 18:28:13,910.910 INFO    ] 200
[2026-10-20 18:28:13,912.912 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:28:13,956.956 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:28:14,001.001 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:28:14,004.004 INFO    ] No camera update needed
[2026-10-20 18:28:14,006.006 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:28:14,008.008 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:28:14,013.013 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:28:14,018.018 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:28:16,057.057 INFO    ] ================================================
[2026-10-20 18:28:16,072.072 INFO    ] Launching Daemon at Tue Oct 20 18:28:16 IST 2026
[2026-10-20 18:28:16,083.083 INFO    ] ================================================
[2026-10-20 18:28:16,650.650 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:28:16
[2026-10-20 18:28:17,232.232 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:28:17,501.501 INFO    ] Initializing speech engine...
[2026-10-20 18:28:17,509.509 INFO    ] 2026-10-20 18:28:17
[2026-10-20 18:28:17,761.761 INFO    ] 2026-10-20 18:28:17
[2026-10-20 18:28:17,796.796 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:28:18,053.053 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:28:18,063.063 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:28:18,200.200 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:28:18,260.260 INFO    ] time= 20/10/2026 18:28:18
[2026-10-20 18:28:18,314.314 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:28:18,337.337 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:28:18,470.470 INFO    ] No existing commands found in stream
[2026-10-20 18:28:23,493.493 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:28:23,496.496 INFO    ] Waiting 2.42 seconds before fallback handling...
[2026-10-20 18:28:26,423.423 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:28:26,426.426 INFO    ] Checking for system updates...
[2026-10-20 18:28:26,461.461 INFO    ] 200
[2026-10-20 18:28:26,464.464 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:28:26,527.527 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:28:26,530.530 INFO    ] No update needed
[2026-10-20 18:28:26,533.533 INFO    ] Checking for camera pi updates...
[2026-10-20 18:28:26,566.566 INFO    ] 200
[2026-10-20 18:28:26,569.569 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:28:26,613.613 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:28:26,659.659 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:28:26,661.661 INFO    ] No camera update needed
[2026-10-20 18:28:26,664.664 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:28:26,666.666 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:28:26,671.671 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:28:26,676.676 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:28:28,715.715 INFO    ] ================================================
[2026-10-20 18:28:28,731.731 INFO    ] Launching Daemon at Tue Oct 20 18:28:28 IST 2026
[2026-10-20 18:28:28,741.741 INFO    ] ================================================
[2026-10-20 18:28:29,324.324 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:28:29
[2026-10-20 18:28:29,908.908 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:28:30,163.163 INFO    ] Initializing speech engine...
[2026-10-20 18:28:30,179.179 INFO    ] 2026-10-20 18:28:30
[2026-10-20 18:28:30,460.460 INFO    ] 2026-10-20 18:28:30
[2026-10-20 18:28:30,498.498 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:28:30,704.704 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:28:30,721.721 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:28:30,942.942 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:28:30,954.954 INFO    ] time= 20/10/2026 18:28:30
[2026-10-20 18:28:31,003.003 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:28:31,042.042 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:28:31,148.148 INFO    ] No existing commands found in stream
[2026-10-20 18:28:36,158.158 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:28:36,161.161 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-10-20 18:28:38,446.446 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:28:38,449.449 INFO    ] Checking for system updates...
[2026-10-20 18:28:38,484.484 INFO    ] 200
[2026-10-20 18:28:38,487.487 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:28:38,538.538 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:28:38,541.541 INFO    ] No update needed
[2026-10-20 18:28:38,543.543 INFO    ] Checking for camera pi updates...
[2026-10-20 18:28:38,576.576 INFO    ] 200
[2026-10-20 18:28:38,578.578 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:28:38,623.623 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:28:38,672.672 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:28:38,674.674 INFO    ] No camera update needed
[2026-10-20 18:28:38,677.677 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:28:38,679.679 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:28:38,684.684 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:28:38,689.689 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:28:40,729.729 INFO    ] ================================================
[2026-10-20 18:28:40,744.744 INFO    ] Launching Daemon at Tue Oct 20 18:28:40 IST 2026
[2026-10-20 18:28:40,755.755 INFO    ] ================================================
[2026-10-20 18:28:41,329.329 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:28:41
[2026-10-20 18:28:41,941.941 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:28:42,214.214 INFO    ] Initializing speech engine...
[2026-10-20 18:28:42,225.225 INFO    ] 2026-10-20 18:28:42
[2026-10-20 18:28:42,472.472 INFO    ] 2026-10-20 18:28:42
[2026-10-20 18:28:42,507.507 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:28:42,765.765 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:28:42,786.786 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:28:42,996.996 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:28:43,030.030 INFO    ] time= 20/10/2026 18:28:43
[2026-10-20 18:28:43,052.052 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:28:43,078.078 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:28:43,208.208 INFO    ] No existing commands found in stream
[2026-10-20 18:28:48,233.233 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:28:48,236.236 INFO    ] Waiting 3.65 seconds before fallback handling...
[2026-10-20 18:28:52,473.473 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 18:28:52,476.476 INFO    ] Checking for system updates...
[2026-10-20 18:28:52,514.514 INFO    ] 200
[2026-10-20 18:28:52,517.517 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:28:52,576.576 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:28:52,578.578 INFO    ] No update needed
[2026-10-20 18:28:52,582.582 INFO    ] Checking for camera pi updates...
[2026-10-20 18:28:52,616.616 INFO    ] 200
[2026-10-20 18:28:52,618.618 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:28:52,659.659 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:28:52,808.808 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:28:52,811.811 INFO    ] No camera update needed
[2026-10-20 18:28:52,814.814 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:28:52,816.816 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:28:52,822.822 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:28:52,828.828 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:28:54,868.868 INFO    ] ================================================
[2026-10-20 18:28:54,883.883 INFO    ] Launching Daemon at Tue Oct 20 18:28:54 IST 2026
[2026-10-20 18:28:54,894.894 INFO    ] ================================================
[2026-10-20 18:28:55,460.460 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:28:55
[2026-10-20 18:28:56,048.048 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:28:56,304.304 INFO    ] Initializing speech engine...
[2026-10-20 18:28:56,313.313 INFO    ] 2026-10-20 18:28:56
[2026-10-20 18:28:56,609.609 INFO    ] 2026-10-20 18:28:56
[2026-10-20 18:28:56,646.646 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:28:56,865.865 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:28:56,899.899 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:28:57,095.095 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:28:57,140.140 INFO    ] time= 20/10/2026 18:28:57
[2026-10-20 18:28:57,189.189 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:28:57,242.242 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:28:57,379.379 INFO    ] No existing commands found in stream
[2026-10-20 18:29:02,411.411 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:29:02,415.415 INFO    ] Waiting 0.32 seconds before fallback handling...
[2026-10-20 18:29:03,312.312 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 18:29:03,315.315 INFO    ] Checking for system updates...
[2026-10-20 18:29:03,362.362 INFO    ] 200
[2026-10-20 18:29:03,365.365 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:29:03,423.423 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:29:03,425.425 INFO    ] No update needed
[2026-10-20 18:29:03,429.429 INFO    ] Checking for camera pi updates...
[2026-10-20 18:29:03,465.465 INFO    ] 200
[2026-10-20 18:29:03,467.467 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:29:03,509.509 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:29:03,552.552 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:29:03,555.555 INFO    ] No camera update needed
[2026-10-20 18:29:03,558.558 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:29:03,561.561 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:29:03,566.566 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:29:03,571.571 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:29:05,610.610 INFO    ] ================================================
[2026-10-20 18:29:05,625.625 INFO    ] Launching Daemon at Tue Oct 20 18:29:05 IST 2026
[2026-10-20 18:29:05,636.636 INFO    ] ================================================
[2026-10-20 18:29:06,201.201 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:29:06
[2026-10-20 18:29:06,786.786 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:29:07,046.046 INFO    ] Initializing speech engine...
[2026-10-20 18:29:07,070.070 INFO    ] 2026-10-20 18:29:07
[2026-10-20 18:29:07,343.343 INFO    ] 2026-10-20 18:29:07
[2026-10-20 18:29:07,381.381 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:29:07,539.539 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:29:07,581.581 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:29:07,728.728 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:29:07,747.747 INFO    ] time= 20/10/2026 18:29:07
[2026-10-20 18:29:07,771.771 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:29:07,778.778 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:29:07,860.860 INFO    ] No existing commands found in stream
[2026-10-20 18:29:12,890.890 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:29:12,893.893 INFO    ] Waiting 0.26 seconds before fallback handling...
[2026-10-20 18:29:13,663.663 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:29:13,666.666 INFO    ] Checking for system updates...
[2026-10-20 18:29:13,706.706 INFO    ] 200
[2026-10-20 18:29:13,709.709 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:29:13,760.760 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:29:13,763.763 INFO    ] No update needed
[2026-10-20 18:29:13,765.765 INFO    ] Checking for camera pi updates...
[2026-10-20 18:29:13,799.799 INFO    ] 200
[2026-10-20 18:29:13,801.801 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:29:13,842.842 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:29:13,889.889 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:29:13,892.892 INFO    ] No camera update needed
[2026-10-20 18:29:13,894.894 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:29:13,896.896 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:29:13,902.902 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:29:13,907.907 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:29:15,948.948 INFO    ] ================================================
[2026-10-20 18:29:15,963.963 INFO    ] Launching Daemon at Tue Oct 20 18:29:15 IST 2026
[2026-10-20 18:29:15,973.973 INFO    ] ================================================
[2026-10-20 18:29:16,559.559 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:29:16
[2026-10-20 18:29:17,163.163 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:29:17,440.440 INFO    ] Initializing speech engine...
[2026-10-20 18:29:17,449.449 INFO    ] 2026-10-20 18:29:17
[2026-10-20 18:29:17,697.697 INFO    ] 2026-10-20 18:29:17
[2026-10-20 18:29:17,733.733 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:29:17,929.929 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:29:17,985.985 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:29:18,136.136 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:29:18,200.200 INFO    ] time= 20/10/2026 18:29:18
[2026-10-20 18:29:18,252.252 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:29:18,258.258 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:29:18,399.399 INFO    ] No existing commands found in stream
[2026-10-20 18:29:23,413.413 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:29:23,416.416 INFO    ] Waiting 3.83 seconds before fallback handling...
[2026-10-20 18:29:27,803.803 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:29:27,806.806 INFO    ] Checking for system updates...
[2026-10-20 18:29:27,844.844 INFO    ] 200
[2026-10-20 18:29:27,847.847 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:29:27,901.901 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:29:27,904.904 INFO    ] No update needed
[2026-10-20 18:29:27,907.907 INFO    ] Checking for camera pi updates...
[2026-10-20 18:29:27,940.940 INFO    ] 200
[2026-10-20 18:29:27,943.943 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:29:27,984.984 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:29:28,039.039 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:29:28,041.041 INFO    ] No camera update needed
[2026-10-20 18:29:28,044.044 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:29:28,046.046 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:29:28,051.051 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:29:28,056.056 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:29:30,100.100 INFO    ] ================================================
[2026-10-20 18:29:30,118.118 INFO    ] Launching Daemon at Tue Oct 20 18:29:30 IST 2026
[2026-10-20 18:29:30,131.131 INFO    ] ================================================
[2026-10-20 18:29:30,723.723 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:29:30
[2026-10-20 18:29:31,348.348 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:29:31,613.613 INFO    ] Initializing speech engine...
[2026-10-20 18:29:31,622.622 INFO    ] 2026-10-20 18:29:31
[2026-10-20 18:29:31,941.941 INFO    ] 2026-10-20 18:29:31
[2026-10-20 18:29:31,993.993 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:29:32,255.255 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:29:32,263.263 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:29:32,448.448 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:29:32,520.520 INFO    ] time= 20/10/2026 18:29:32
[2026-10-20 18:29:32,547.547 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:29:32,551.551 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:29:32,679.679 INFO    ] No existing commands found in stream
[2026-10-20 18:29:37,713.713 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:29:37,716.716 INFO    ] Waiting 1.93 seconds before fallback handling...
[2026-10-20 18:29:40,202.202 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:29:40,205.205 INFO    ] Checking for system updates...
[2026-10-20 18:29:40,245.245 INFO    ] 200
[2026-10-20 18:29:40,248.248 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:29:40,307.307 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:29:40,310.310 INFO    ] No update needed
[2026-10-20 18:29:40,313.313 INFO    ] Checking for camera pi updates...
[2026-10-20 18:29:40,350.350 INFO    ] 200
[2026-10-20 18:29:40,353.353 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:29:40,393.393 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:29:40,439.439 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:29:40,442.442 INFO    ] No camera update needed
[2026-10-20 18:29:40,444.444 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:29:40,446.446 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:29:40,452.452 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:29:40,457.457 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:29:42,496.496 INFO    ] ================================================
[2026-10-20 18:29:42,511.511 INFO    ] Launching Daemon at Tue Oct 20 18:29:42 IST 2026
[2026-10-20 18:29:42,522.522 INFO    ] ================================================
[2026-10-20 18:29:43,086.086 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:29:43
[2026-10-20 18:29:43,666.666 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:29:43,934.934 INFO    ] Initializing speech engine...
[2026-10-20 18:29:43,943.943 INFO    ] 2026-10-20 18:29:43
[2026-10-20 18:29:44,204.204 INFO    ] 2026-10-20 18:29:44
[2026-10-20 18:29:44,234.234 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:29:44,477.477 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:29:44,486.486 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:29:44,708.708 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:29:44,741.741 INFO    ] time= 20/10/2026 18:29:44
[2026-10-20 18:29:44,747.747 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:29:44,766.766 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:29:44,896.896 INFO    ] No existing commands found in stream
[2026-10-20 18:29:49,910.910 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:29:49,912.912 INFO    ] Waiting 3.49 seconds before fallback handling...
[2026-10-20 18:29:53,937.937 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:29:53,941.941 INFO    ] Checking for system updates...
[2026-10-20 18:29:53,978.978 INFO    ] 200
[2026-10-20 18:29:53,981.981 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:29:54,035.035 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:29:54,038.038 INFO    ] No update needed
[2026-10-20 18:29:54,041.041 INFO    ] Checking for camera pi updates...
[2026-10-20 18:29:54,075.075 INFO    ] 200
[2026-10-20 18:29:54,077.077 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:29:54,119.119 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:29:54,164.164 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:29:54,167.167 INFO    ] No camera update needed
[2026-10-20 18:29:54,169.169 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:29:54,172.172 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:29:54,179.179 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:29:54,184.184 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:29:56,227.227 INFO    ] ================================================
[2026-10-20 18:29:56,242.242 INFO    ] Launching Daemon at Tue Oct 20 18:29:56 IST 2026
[2026-10-20 18:29:56,252.252 INFO    ] ================================================
[2026-10-20 18:29:56,817.817 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:29:56
[2026-10-20 18:29:57,423.423 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:29:57,698.698 INFO    ] Initializing speech engine...
[2026-10-20 18:29:57,707.707 INFO    ] 2026-10-20 18:29:57
[2026-10-20 18:29:57,956.956 INFO    ] 2026-10-20 18:29:57
[2026-10-20 18:29:57,998.998 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:29:58,250.250 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:29:58,254.254 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:29:58,470.470 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:29:58,511.511 INFO    ] time= 20/10/2026 18:29:58
[2026-10-20 18:29:58,517.517 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:29:58,537.537 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:29:58,662.662 INFO    ] No existing commands found in stream
[2026-10-20 18:30:03,678.678 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:30:03,682.682 INFO    ] Waiting 1.36 seconds before fallback handling...
[2026-10-20 18:30:07,965.965 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 18:30:07,967.967 INFO    ] Checking for system updates...
[2026-10-20 18:30:08,007.007 INFO    ] 200
[2026-10-20 18:30:08,009.009 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:30:08,062.062 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:30:08,065.065 INFO    ] No update needed
[2026-10-20 18:30:08,067.067 INFO    ] Checking for camera pi updates...
[2026-10-20 18:30:08,104.104 INFO    ] 200
[2026-10-20 18:30:08,107.107 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:30:08,147.147 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:30:08,179.179 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:30:08,182.182 INFO    ] No camera update needed
[2026-10-20 18:30:08,184.184 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:30:08,187.187 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:30:08,192.192 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:30:08,197.197 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:30:10,239.239 INFO    ] ================================================
[2026-10-20 18:30:10,254.254 INFO    ] Launching Daemon at Tue Oct 20 18:30:10 IST 2026
[2026-10-20 18:30:10,265.265 INFO    ] ================================================
[2026-10-20 18:30:10,879.879 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:30:10
[2026-10-20 18:30:11,538.538 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:30:11,804.804 INFO    ] Initializing speech engine...
[2026-10-20 18:30:11,817.817 INFO    ] 2026-10-20 18:30:11
[2026-10-20 18:30:12,067.067 INFO    ] 2026-10-20 18:30:12
[2026-10-20 18:30:12,101.101 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:30:12,365.365 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:30:12,370.370 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:30:12,573.573 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:30:12,613.613 INFO    ] time= 20/10/2026 18:30:12
[2026-10-20 18:30:12,616.616 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:30:12,618.618 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:30:12,768.768 INFO    ] No existing commands found in stream
[2026-10-20 18:30:17,785.785 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:30:17,788.788 INFO    ] Waiting 1.27 seconds before fallback handling...
[2026-10-20 18:30:19,561.561 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 18:30:19,563.563 INFO    ] Checking for system updates...
[2026-10-20 18:30:19,599.599 INFO    ] 200
[2026-10-20 18:30:19,601.601 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:30:19,654.654 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:30:19,656.656 INFO    ] No update needed
[2026-10-20 18:30:19,659.659 INFO    ] Checking for camera pi updates...
[2026-10-20 18:30:19,692.692 INFO    ] 200
[2026-10-20 18:30:19,694.694 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:30:19,735.735 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:30:19,784.784 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:30:19,787.787 INFO    ] No camera update needed
[2026-10-20 18:30:19,789.789 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:30:19,791.791 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:30:19,797.797 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:30:19,802.802 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:30:21,843.843 INFO    ] ================================================
[2026-10-20 18:30:21,858.858 INFO    ] Launching Daemon at Tue Oct 20 18:30:21 IST 2026
[2026-10-20 18:30:21,869.869 INFO    ] ================================================
[2026-10-20 18:30:22,444.444 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:30:22
[2026-10-20 18:30:23,046.046 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:30:23,321.321 INFO    ] Initializing speech engine...
[2026-10-20 18:30:23,337.337 INFO    ] 2026-10-20 18:30:23
[2026-10-20 18:30:23,607.607 INFO    ] 2026-10-20 18:30:23
[2026-10-20 18:30:23,645.645 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:30:23,869.869 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:30:23,934.934 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:30:24,090.090 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:30:24,138.138 INFO    ] time= 20/10/2026 18:30:24
[2026-10-20 18:30:24,187.187 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:30:24,231.231 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:30:24,372.372 INFO    ] No existing commands found in stream
[2026-10-20 18:30:29,399.399 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:30:29,402.402 INFO    ] Waiting 0.26 seconds before fallback handling...
[2026-10-20 18:30:30,197.197 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 18:30:30,200.200 INFO    ] Checking for system updates...
[2026-10-20 18:30:30,237.237 INFO    ] 200
[2026-10-20 18:30:30,240.240 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:30:30,293.293 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:30:30,296.296 INFO    ] No update needed
[2026-10-20 18:30:30,299.299 INFO    ] Checking for camera pi updates...
[2026-10-20 18:30:30,333.333 INFO    ] 200
[2026-10-20 18:30:30,336.336 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:30:30,376.376 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:30:30,424.424 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:30:30,427.427 INFO    ] No camera update needed
[2026-10-20 18:30:30,430.430 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:30:30,432.432 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:30:30,439.439 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:30:30,444.444 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:30:32,487.487 INFO    ] ================================================
[2026-10-20 18:30:32,505.505 INFO    ] Launching Daemon at Tue Oct 20 18:30:32 IST 2026
[2026-10-20 18:30:32,517.517 INFO    ] ================================================
[2026-10-20 18:30:33,167.167 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:30:33
[2026-10-20 18:30:33,777.777 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:30:34,048.048 INFO    ] Initializing speech engine...
[2026-10-20 18:30:34,053.053 INFO    ] 2026-10-20 18:30:34
[2026-10-20 18:30:34,306.306 INFO    ] 2026-10-20 18:30:34
[2026-10-20 18:30:34,340.340 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:30:34,560.560 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:30:34,568.568 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:30:34,773.773 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:30:34,791.791 INFO    ] time= 20/10/2026 18:30:34
[2026-10-20 18:30:34,838.838 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:30:34,887.887 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:30:34,994.994 INFO    ] No existing commands found in stream
[2026-10-20 18:30:40,001.001 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:30:40,004.004 INFO    ] Waiting 1.54 seconds before fallback handling...
[2026-10-20 18:30:42,075.075 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:30:42,079.079 INFO    ] Checking for system updates...
[2026-10-20 18:30:42,116.116 INFO    ] 200
[2026-10-20 18:30:42,119.119 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:30:42,173.173 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:30:42,176.176 INFO    ] No update needed
[2026-10-20 18:30:42,179.179 INFO    ] Checking for camera pi updates...
[2026-10-20 18:30:42,213.213 INFO    ] 200
[2026-10-20 18:30:42,216.216 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:30:42,275.275 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:30:42,320.320 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:30:42,323.323 INFO    ] No camera update needed
[2026-10-20 18:30:42,325.325 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:30:42,328.328 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:30:42,335.335 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:30:42,340.340 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:30:44,382.382 INFO    ] ================================================
[2026-10-20 18:30:44,397.397 INFO    ] Launching Daemon at Tue Oct 20 18:30:44 IST 2026
[2026-10-20 18:30:44,409.409 INFO    ] ================================================
[2026-10-20 18:30:45,062.062 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:30:45
[2026-10-20 18:30:45,715.715 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:30:45,993.993 INFO    ] Initializing speech engine...
[2026-10-20 18:30:46,014.014 INFO    ] 2026-10-20 18:30:46
[2026-10-20 18:30:46,284.284 INFO    ] 2026-10-20 18:30:46
[2026-10-20 18:30:46,323.323 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:30:46,528.528 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:30:46,569.569 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:30:46,759.759 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:30:46,809.809 INFO    ] time= 20/10/2026 18:30:46
[2026-10-20 18:30:46,864.864 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:30:46,877.877 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:30:47,028.028 INFO    ] No existing commands found in stream
[2026-10-20 18:30:52,052.052 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:30:52,056.056 INFO    ] Waiting 1.88 seconds before fallback handling...
[2026-10-20 18:30:54,444.444 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 18:30:54,447.447 INFO    ] Checking for system updates...
[2026-10-20 18:30:54,485.485 INFO    ] 200
[2026-10-20 18:30:54,487.487 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:30:54,541.541 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:30:54,543.543 INFO    ] No update needed
[2026-10-20 18:30:54,546.546 INFO    ] Checking for camera pi updates...
[2026-10-20 18:30:54,581.581 INFO    ] 200
[2026-10-20 18:30:54,583.583 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:30:54,624.624 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:30:54,766.766 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:30:54,769.769 INFO    ] No camera update needed
[2026-10-20 18:30:54,772.772 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:30:54,775.775 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:30:54,781.781 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:30:54,787.787 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:30:56,828.828 INFO    ] ================================================
[2026-10-20 18:30:56,843.843 INFO    ] Launching Daemon at Tue Oct 20 18:30:56 IST 2026
[2026-10-20 18:30:56,855.855 INFO    ] ================================================
[2026-10-20 18:30:57,425.425 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:30:57
[2026-10-20 18:30:58,012.012 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:30:58,263.263 INFO    ] Initializing speech engine...
[2026-10-20 18:30:58,276.276 INFO    ] 2026-10-20 18:30:58
[2026-10-20 18:30:58,543.543 INFO    ] 2026-10-20 18:30:58
[2026-10-20 18:30:58,579.579 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:30:58,838.838 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:30:58,847.847 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:30:59,060.060 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:30:59,110.110 INFO    ] time= 20/10/2026 18:30:59
[2026-10-20 18:30:59,119.119 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:30:59,137.137 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:30:59,217.217 INFO    ] No existing commands found in stream
[2026-10-20 18:31:04,240.240 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:31:04,242.242 INFO    ] Waiting 2.32 seconds before fallback handling...
[2026-10-20 18:31:07,029.029 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:31:07,031.031 INFO    ] Checking for system updates...
[2026-10-20 18:31:07,066.066 INFO    ] 200
[2026-10-20 18:31:07,069.069 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:31:07,122.122 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:31:07,124.124 INFO    ] No update needed
[2026-10-20 18:31:07,127.127 INFO    ] Checking for camera pi updates...
[2026-10-20 18:31:07,162.162 INFO    ] 200
[2026-10-20 18:31:07,164.164 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:31:07,205.205 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:31:07,259.259 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:31:07,261.261 INFO    ] No camera update needed
[2026-10-20 18:31:07,264.264 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:31:07,266.266 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:31:07,272.272 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:31:07,276.276 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:31:09,319.319 INFO    ] ================================================
[2026-10-20 18:31:09,334.334 INFO    ] Launching Daemon at Tue Oct 20 18:31:09 IST 2026
[2026-10-20 18:31:09,346.346 INFO    ] ================================================
[2026-10-20 18:31:09,998.998 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:31:09
[2026-10-20 18:31:10,665.665 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:31:10,973.973 INFO    ] Initializing speech engine...
[2026-10-20 18:31:10,983.983 INFO    ] 2026-10-20 18:31:10
[2026-10-20 18:31:11,255.255 INFO    ] 2026-10-20 18:31:11
[2026-10-20 18:31:11,312.312 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:31:11,550.550 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:31:11,562.562 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:31:11,767.767 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:31:11,820.820 INFO    ] time= 20/10/2026 18:31:11
[2026-10-20 18:31:11,827.827 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:31:11,846.846 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:31:11,981.981 INFO    ] No existing commands found in stream
[2026-10-20 18:31:17,006.006 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:31:17,009.009 INFO    ] Waiting 2.74 seconds before fallback handling...
[2026-10-20 18:31:20,336.336 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:31:20,339.339 INFO    ] Checking for system updates...
[2026-10-20 18:31:20,377.377 INFO    ] 200
[2026-10-20 18:31:20,380.380 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:31:20,433.433 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:31:20,436.436 INFO    ] No update needed
[2026-10-20 18:31:20,439.439 INFO    ] Checking for camera pi updates...
[2026-10-20 18:31:20,473.473 INFO    ] 200
[2026-10-20 18:31:20,476.476 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:31:20,516.516 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:31:20,563.563 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:31:20,565.565 INFO    ] No camera update needed
[2026-10-20 18:31:20,567.567 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:31:20,570.570 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:31:20,575.575 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:31:20,580.580 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:31:22,621.621 INFO    ] ================================================
[2026-10-20 18:31:22,636.636 INFO    ] Launching Daemon at Tue Oct 20 18:31:22 IST 2026
[2026-10-20 18:31:22,646.646 INFO    ] ================================================
[2026-10-20 18:31:23,304.304 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:31:23
[2026-10-20 18:31:23,984.984 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:31:24,289.289 INFO    ] Initializing speech engine...
[2026-10-20 18:31:24,303.303 INFO    ] 2026-10-20 18:31:24
[2026-10-20 18:31:24,589.589 INFO    ] 2026-10-20 18:31:24
[2026-10-20 18:31:24,699.699 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:31:24,912.912 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:31:24,918.918 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:31:25,113.113 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:31:25,131.131 INFO    ] time= 20/10/2026 18:31:25
[2026-10-20 18:31:25,142.142 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:31:25,171.171 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:31:25,276.276 INFO    ] No existing commands found in stream
[2026-10-20 18:31:30,316.316 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:31:30,320.320 INFO    ] Waiting 3.27 seconds before fallback handling...
[2026-10-20 18:31:34,093.093 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 18:31:34,096.096 INFO    ] Checking for system updates...
[2026-10-20 18:31:34,133.133 INFO    ] 200
[2026-10-20 18:31:34,136.136 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:31:34,199.199 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:31:34,202.202 INFO    ] No update needed
[2026-10-20 18:31:34,204.204 INFO    ] Checking for camera pi updates...
[2026-10-20 18:31:34,238.238 INFO    ] 200
[2026-10-20 18:31:34,240.240 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:31:34,289.289 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:31:34,334.334 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:31:34,337.337 INFO    ] No camera update needed
[2026-10-20 18:31:34,339.339 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:31:34,341.341 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:31:34,347.347 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:31:34,352.352 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:31:36,392.392 INFO    ] ================================================
[2026-10-20 18:31:36,407.407 INFO    ] Launching Daemon at Tue Oct 20 18:31:36 IST 2026
[2026-10-20 18:31:36,418.418 INFO    ] ================================================
[2026-10-20 18:31:36,998.998 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:31:36
[2026-10-20 18:31:37,599.599 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:31:37,856.856 INFO    ] Initializing speech engine...
[2026-10-20 18:31:37,863.863 INFO    ] 2026-10-20 18:31:37
[2026-10-20 18:31:38,157.157 INFO    ] 2026-10-20 18:31:38
[2026-10-20 18:31:38,192.192 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:31:38,424.424 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:31:38,470.470 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:31:38,650.650 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:31:38,697.697 INFO    ] time= 20/10/2026 18:31:38
[2026-10-20 18:31:38,746.746 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:31:38,801.801 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:31:38,943.943 INFO    ] No existing commands found in stream
[2026-10-20 18:31:43,978.978 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:31:43,981.981 INFO    ] Waiting 0.94 seconds before fallback handling...
[2026-10-20 18:31:45,435.435 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:31:45,437.437 INFO    ] Checking for system updates...
[2026-10-20 18:31:45,474.474 INFO    ] 200
[2026-10-20 18:31:45,476.476 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:31:45,529.529 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:31:45,531.531 INFO    ] No update needed
[2026-10-20 18:31:45,533.533 INFO    ] Checking for camera pi updates...
[2026-10-20 18:31:45,567.567 INFO    ] 200
[2026-10-20 18:31:45,569.569 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:31:45,609.609 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:31:45,659.659 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:31:45,662.662 INFO    ] No camera update needed
[2026-10-20 18:31:45,664.664 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:31:45,666.666 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:31:45,672.672 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:31:45,677.677 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:31:47,718.718 INFO    ] ================================================
[2026-10-20 18:31:47,733.733 INFO    ] Launching Daemon at Tue Oct 20 18:31:47 IST 2026
[2026-10-20 18:31:47,744.744 INFO    ] ================================================
[2026-10-20 18:31:48,397.397 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:31:48
[2026-10-20 18:31:49,071.071 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:31:49,380.380 INFO    ] Initializing speech engine...
[2026-10-20 18:31:49,392.392 INFO    ] 2026-10-20 18:31:49
[2026-10-20 18:31:49,674.674 INFO    ] 2026-10-20 18:31:49
[2026-10-20 18:31:49,785.785 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:31:49,997.997 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:31:50,005.005 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:31:50,200.200 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:31:50,216.216 INFO    ] time= 20/10/2026 18:31:50
[2026-10-20 18:31:50,247.247 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:31:50,254.254 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:31:50,368.368 INFO    ] No existing commands found in stream
[2026-10-20 18:31:55,393.393 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:31:55,396.396 INFO    ] Waiting 1.16 seconds before fallback handling...
[2026-10-20 18:31:59,495.495 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 18:31:59,497.497 INFO    ] Checking for system updates...
[2026-10-20 18:31:59,535.535 INFO    ] 200
[2026-10-20 18:31:59,537.537 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:31:59,591.591 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:31:59,594.594 INFO    ] No update needed
[2026-10-20 18:31:59,597.597 INFO    ] Checking for camera pi updates...
[2026-10-20 18:31:59,631.631 INFO    ] 200
[2026-10-20 18:31:59,633.633 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:31:59,682.682 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:31:59,736.736 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:31:59,739.739 INFO    ] No camera update needed
[2026-10-20 18:31:59,742.742 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:31:59,744.744 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:31:59,750.750 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:31:59,756.756 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:32:01,812.812 INFO    ] ================================================
[2026-10-20 18:32:01,847.847 INFO    ] Launching Daemon at Tue Oct 20 18:32:01 IST 2026
[2026-10-20 18:32:01,861.861 INFO    ] ================================================
[2026-10-20 18:32:02,572.572 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:32:02
[2026-10-20 18:32:03,231.231 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:32:03,514.514 INFO    ] Initializing speech engine...
[2026-10-20 18:32:03,523.523 INFO    ] 2026-10-20 18:32:03
[2026-10-20 18:32:03,839.839 INFO    ] 2026-10-20 18:32:03
[2026-10-20 18:32:03,873.873 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:32:04,099.099 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:32:04,153.153 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:32:04,317.317 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:32:04,324.324 INFO    ] time= 20/10/2026 18:32:04
[2026-10-20 18:32:04,363.363 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:32:04,407.407 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:32:04,515.515 INFO    ] No existing commands found in stream
[2026-10-20 18:32:09,526.526 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:32:09,529.529 INFO    ] Waiting 0.85 seconds before fallback handling...
[2026-10-20 18:32:10,909.909 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:32:10,912.912 INFO    ] Checking for system updates...
[2026-10-20 18:32:10,950.950 INFO    ] 200
[2026-10-20 18:32:10,953.953 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:32:11,004.004 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:32:11,006.006 INFO    ] No update needed
[2026-10-20 18:32:11,008.008 INFO    ] Checking for camera pi updates...
[2026-10-20 18:32:11,042.042 INFO    ] 200
[2026-10-20 18:32:11,045.045 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:32:11,085.085 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:32:11,133.133 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:32:11,136.136 INFO    ] No camera update needed
[2026-10-20 18:32:11,138.138 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:32:11,141.141 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:32:11,146.146 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:32:11,151.151 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:32:13,190.190 INFO    ] ================================================
[2026-10-20 18:32:13,206.206 INFO    ] Launching Daemon at Tue Oct 20 18:32:13 IST 2026
[2026-10-20 18:32:13,217.217 INFO    ] ================================================
[2026-10-20 18:32:13,781.781 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:32:13
[2026-10-20 18:32:14,364.364 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:32:14,610.610 INFO    ] Initializing speech engine...
[2026-10-20 18:32:14,618.618 INFO    ] 2026-10-20 18:32:14
[2026-10-20 18:32:14,892.892 INFO    ] 2026-10-20 18:32:14
[2026-10-20 18:32:14,927.927 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:32:15,183.183 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:32:15,192.192 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:32:15,414.414 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:32:15,455.455 INFO    ] time= 20/10/2026 18:32:15
[2026-10-20 18:32:15,461.461 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:32:15,477.477 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:32:15,632.632 INFO    ] No existing commands found in stream
[2026-10-20 18:32:20,658.658 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:32:20,661.661 INFO    ] Waiting 1.41 seconds before fallback handling...
[2026-10-20 18:32:22,613.613 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:32:22,616.616 INFO    ] Checking for system updates...
[2026-10-20 18:32:22,652.652 INFO    ] 200
[2026-10-20 18:32:22,655.655 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:32:22,719.719 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:32:22,722.722 INFO    ] No update needed
[2026-10-20 18:32:22,724.724 INFO    ] Checking for camera pi updates...
[2026-10-20 18:32:22,758.758 INFO    ] 200
[2026-10-20 18:32:22,761.761 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:32:22,801.801 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:32:22,844.844 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:32:22,847.847 INFO    ] No camera update needed
[2026-10-20 18:32:22,849.849 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:32:22,852.852 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:32:22,857.857 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:32:22,862.862 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:32:24,903.903 INFO    ] ================================================
[2026-10-20 18:32:24,917.917 INFO    ] Launching Daemon at Tue Oct 20 18:32:24 IST 2026
[2026-10-20 18:32:24,932.932 INFO    ] ================================================
[2026-10-20 18:32:25,568.568 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:32:25
[2026-10-20 18:32:26,224.224 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:32:26,522.522 INFO    ] Initializing speech engine...
[2026-10-20 18:32:26,529.529 INFO    ] 2026-10-20 18:32:26
[2026-10-20 18:32:26,799.799 INFO    ] 2026-10-20 18:32:26
[2026-10-20 18:32:26,854.854 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:32:27,081.081 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:32:27,091.091 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:32:27,227.227 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:32:27,292.292 INFO    ] time= 20/10/2026 18:32:27
[2026-10-20 18:32:27,352.352 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:32:27,364.364 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:32:27,509.509 INFO    ] No existing commands found in stream
[2026-10-20 18:32:32,385.385 INFO    ] Received new command: ID=1792501352401-0
[2026-10-20 18:32:32,388.388 INFO    ] process_and_cleanup_command: msg_id=1792501352401-0
[2026-10-20 18:32:32,391.391 INFO    ] is_command_expired: timestamp=2026-10-20T13:02:32.070Z, expiry=30s
[2026-10-20 18:32:32,484.484 INFO    ] Command removed from stream: 1792501352401-0. returning for processing...
[2026-10-20 18:32:32,487.487 INFO    ] ***** get_valid_command
[2026-10-20 18:32:32,490.490 INFO    ] {'timeout': '10', 'source': 'webapp', 'data': '{"request_id":"start-order-1792501352070-yn05q6cqb","orderId":"TM04202203261020183019732","is_vending":false}', 'command': 'start-order', 'timestamp': '2026-10-20T13:02:32.070Z'}
[2026-10-20 18:32:32,494.494 INFO    ] ***** Parsed command data: {'is_vending': False, 'orderId': 'TM04202203261020183019732', 'request_id': 'start-order-1792501352070-yn05q6cqb'}
[2026-10-20 18:32:32,497.497 INFO    ] Handling start order...
[2026-10-20 18:32:32,500.500 INFO    ] handle_start_order_command
[2026-10-20 18:32:32,506.506 INFO    ] _send_start_order_success: request_id=start-order-1792501352070-yn05q6cqb, order_id=TM04202203261020183019732
[2026-10-20 18:32:32,510.510 INFO    ] [_send_start_order_success] Adding message to stream: machine:TM04202203
[2026-10-20 18:32:32,586.586 INFO    ] [_send_start_order_success] Message added to stream with ID: 1792501352610-0
[2026-10-20 18:32:32,589.589 INFO    ] ✅ Start-order command succeeded - order locked, waiting for process-order command
[2026-10-20 18:32:32,591.591 INFO    ] Checking for system updates...
[2026-10-20 18:32:32,636.636 INFO    ] 200
[2026-10-20 18:32:32,639.639 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:32:32,694.694 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:32:32,697.697 INFO    ] No update needed
[2026-10-20 18:32:32,701.701 INFO    ] Checking for camera pi updates...
[2026-10-20 18:32:32,741.741 INFO    ] 200
[2026-10-20 18:32:32,744.744 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:32:32,802.802 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:32:32,844.844 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:32:32,846.846 INFO    ] No camera update needed
[2026-10-20 18:32:32,849.849 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:32:32,854.854 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:32:32,863.863 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:32:32,869.869 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:32:34,908.908 INFO    ] ================================================
[2026-10-20 18:32:34,923.923 INFO    ] Launching Daemon at Tue Oct 20 18:32:34 IST 2026
[2026-10-20 18:32:34,934.934 INFO    ] ================================================
[2026-10-20 18:32:35,555.555 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:32:35
[2026-10-20 18:32:36,210.210 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:32:36,524.524 INFO    ] Initializing speech engine...
[2026-10-20 18:32:36,534.534 INFO    ] 2026-10-20 18:32:36
[2026-10-20 18:32:36,817.817 INFO    ] 2026-10-20 18:32:36
[2026-10-20 18:32:36,863.863 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:32:37,090.090 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:32:37,100.100 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:32:37,254.254 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:32:37,319.319 INFO    ] time= 20/10/2026 18:32:37
[2026-10-20 18:32:37,369.369 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:32:37,376.376 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:32:37,513.513 INFO    ] Found 2 existing command(s) in stream
[2026-10-20 18:32:37,553.553 INFO    ] Checking historical command: ID=1792501352610-0
[2026-10-20 18:32:37,619.619 INFO    ] process_and_cleanup_command: msg_id=1792501352610-0
[2026-10-20 18:32:37,644.644 INFO    ] is_command_expired: timestamp=2026-10-20T13:02:32.507910Z, expiry=30s
[2026-10-20 18:32:37,865.865 INFO    ] Command removed from stream: 1792501352610-0. returning for processing...
[2026-10-20 18:32:37,875.875 INFO    ] ***** get_valid_command
[2026-10-20 18:32:37,878.878 INFO    ] {'status': 'success', 'message_type': 'command_response', 'metadata_order_id': 'TM04202203261020183019732', 'timestamp': '2026-10-20T13:02:32.507910Z', 'metadata_request_id': 'start-order-1792501352070-yn05q6cqb', 'imei': 'TM04202203', 'message': 'start-order success'}
[2026-10-20 18:32:37,881.881 INFO    ] Checking historical command: ID=1792501354072-0
[2026-10-20 18:32:37,884.884 INFO    ] process_and_cleanup_command: msg_id=1792501354072-0
[2026-10-20 18:32:37,929.929 INFO    ] is_command_expired: timestamp=2026-10-20T13:02:33.918Z, expiry=30s
[2026-10-20 18:32:38,021.021 INFO    ] Command removed from stream: 1792501354072-0. returning for processing...
[2026-10-20 18:32:38,034.034 INFO    ] ***** get_valid_command
[2026-10-20 18:32:38,075.075 INFO    ] {'timestamp': '2026-10-20T13:02:33.918Z', 'timeout': '60', 'command': 'process-order', 'source': 'webapp', 'data': '{"request_id":"process-order-1792501353918-7u3arm48t","orderId":"TM04202203261020183019732","is_vending":false,"accessCode":"14159487"}'}
[2026-10-20 18:32:38,078.078 INFO    ] ***** Parsed command data: {'orderId': 'TM04202203261020183019732', 'accessCode': '14159487', 'is_vending': False, 'request_id': 'process-order-1792501353918-7u3arm48t'}
[2026-10-20 18:32:38,102.102 INFO    ] Handling process order...
[2026-10-20 18:32:38,134.134 INFO    ] Processing process-order command...
[2026-10-20 18:32:38,141.141 INFO    ] 🔍 Lock file Order ID: TM04202203261020183019732, TS: 2026-10-20 18:32:32
[2026-10-20 18:32:38,159.159 INFO    ] ✅ Order lock valid for TM04202203261020183019732
[2026-10-20 18:32:38,164.164 INFO    ] Received access code in process-order, skipping PHP API call
[2026-10-20 18:32:38,170.170 INFO    ] processing access code 14159487 for order TM04202203261020183019732
[2026-10-20 18:32:38,177.177 INFO    ] 🔍 Lock file Order ID: TM04202203261020183019732, TS: 2026-10-20 18:32:32
[2026-10-20 18:32:38,182.182 INFO    ] ✅ Order lock valid for TM04202203261020183019732
[2026-10-20 18:32:38,188.188 INFO    ] 2026-10-20 18:32:38
[2026-10-20 18:32:38,301.301 INFO    ] 200
[2026-10-20 18:32:38,339.339 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:32:38,345.345 INFO    ] 14159487
[2026-10-20 18:32:38,350.350 INFO    ] 2026-10-20 18:32:38
[2026-10-20 18:32:38,360.360 INFO    ] session id :838025443
[2026-10-20 18:32:38,368.368 INFO    ] http://localhost:5000/v2/getOrderByAccessCode?access_code=14159487&imei=TM04202203&session_id=838025443
[2026-10-20 18:32:39,490.490 INFO    ] 200
[2026-10-20 18:32:39,501.501 INFO    ] {"data": {"access_code": "14159487", "bill_amount": "80", "invoice_bill": "80", "order_id": "TM04202203261020183019732", "mobile": "9809428787", "proposed_sku_json": [{"image_url": "https://images.tinymart.in/product/4500667-4339.webp", "door_id": "1", "mrp": "40", "offer_id": "", "name": "Farmely Classic date Bites 20gm", "unit_price": 40, "qty": 2, "offer_desc": "", "skuid": "4500667", "sku_total": 80, "tray_id": "16"}]}, "status": true, "msg": "Order Data", "rstatus": true}
[2026-10-20 18:32:39,528.528 INFO    ] 80
[2026-10-20 18:32:39,558.558 INFO    ] TM04202203261020183019732
[2026-10-20 18:32:39,609.609 INFO    ] 9809428787
[2026-10-20 18:32:39,617.617 INFO    ] 2026-10-20 18:32:39
[2026-10-20 18:32:39,630.630 INFO    ] Door Opening for user mobile ending with  eight seven eight seven 
[2026-10-20 18:32:39,638.638 INFO    ] Door Opening for user mobile ending with  eight seven eight seven 
[2026-10-20 18:32:39,647.647 INFO    ] e198a7a150cac5a5ca48859ecc5a4e83
[2026-10-20 18:32:39,679.679 INFO    ] 2026-10-20 18:32:39
[2026-10-20 18:32:39,690.690 INFO    ] playing audio file
[2026-10-20 18:32:39,726.726 INFO    ] 2026-10-20 18:32:39
[2026-10-20 18:32:39,732.732 INFO    ] 2026-10-20 18:32:39
[2026-10-20 18:32:39,741.741 INFO    ] publish_status: order_id=TM04202203261020183019732
[2026-10-20 18:32:39,751.751 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020183019732
[2026-10-20 18:32:39,901.901 INFO    ] [publish_status] Message added to stream with ID: 1792501359872-0
[2026-10-20 18:32:39,942.942 INFO    ] Published to order:TM04202203261020183019732: {'timestamp': '2026-10-20T13:02:39.734767Z', 'order_id': 'TM04202203261020183019732', 'server_response': '{"msg": "Order Data", "data": {"order_id": "TM04202203261020183019732", "access_code": "14159487", "proposed_sku_json": [{"image_url": "https://images.tinymart.in/product/4500667-4339.webp", "name": "Farmely Classic date Bites 20gm", "unit_price": 40, "tray_id": "16", "offer_id": "", "offer_desc": "", "door_id": "1", "skuid": "4500667", "sku_total": 80, "mrp": "40", "qty": 2}], "mobile": "9809428787", "bill_amount": "80", "invoice_bill": "80"}, "status": true, "rstatus": true}', 'server_status': 'order-started'} (ID: 1792501359872-0)
[2026-10-20 18:32:40,566.566 INFO    ] {'order_id': 'TM04202203261020183019732', 'server_response': {'msg': 'Order Data', 'data': {'order_id': 'TM04202203261020183019732', 'access_code': '14159487', 'proposed_sku_json': [{'image_url': 'https://images.tinymart.in/product/4500667-4339.webp', 'name': 'Farmely Classic date Bites 20gm', 'unit_price': 40, 'tray_id': '16', 'offer_id': '', 'offer_desc': '', 'door_id': '1', 'skuid': '4500667', 'sku_total': 80, 'mrp': '40', 'qty': 2}], 'mobile': '9809428787', 'bill_amount': '80', 'invoice_bill': '80'}, 'status': True, 'rstatus': True}, 'server_status': 'order-started'}
[2026-10-20 18:32:40,570.570 INFO    ] 200
[2026-10-20 18:32:40,573.573 INFO    ] {"data":{"order_id":"TM04202203261020183019732","server_response":{"msg":"Order Data","data":{"order_id":"TM04202203261020183019732","access_code":"14159487","proposed_sku_json":[{"image_url":"https:\/\/images.tinymart.in\/product\/4500667-4339.webp","name":"Farmely Classic date Bites 20gm","unit_price":40,"tray_id":"16","offer_id":"","offer_desc":"","door_id":"1","skuid":"4500667","sku_total":80,"mrp":"40","qty":2}],"mobile":"9809428787","bill_amount":"80","invoice_bill":"80"},"status":true,"rstatus":true},"server_status":"order-started"},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 18:32:40,576.576 INFO    ] {'response': {'msg': 'order updated successfully', 'code': 'ORDER_EXISTS', 'status': True, 'data': 'order updated successfully'}, 'data': {'order_id': 'TM04202203261020183019732', 'server_response': {'msg': 'Order Data', 'data': {'order_id': 'TM04202203261020183019732', 'access_code': '14159487', 'mobile': '9809428787', 'proposed_sku_json': [{'image_url': 'https://images.tinymart.in/product/4500667-4339.webp', 'name': 'Farmely Classic date Bites 20gm', 'unit_price': 40, 'qty': 2, 'tray_id': '16', 'door_id': '1', 'offer_desc': '', 'offer_id': '', 'sku_total': 80, 'mrp': '40', 'skuid': '4500667'}], 'bill_amount': '80', 'invoice_bill': '80'}, 'status': True, 'rstatus': True}, 'server_status': 'order-started'}}
[2026-10-20 18:32:40,579.579 INFO    ] 2026-10-20 18:32:40
[2026-10-20 18:32:40,622.622 INFO    ] 200
[2026-10-20 18:32:40,625.625 INFO    ] True
[2026-10-20 18:32:40,783.783 INFO    ] 200
[2026-10-20 18:32:40,786.786 INFO    ] {"SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "rstatus": false, "voiceNote": "Please Wait", "status": "False", "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait while we process your order", "Note": "", "Header": " Your order is under process  "}, "SectionMain": {"Header": "Processing Order"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 18:32:40,790.790 INFO    ] {'SectionMain': {'Header': 'Processing Order'}, 'voiceNote': 'Please Wait', 'SectionStatus': {'Header': ' Your order is under process  ', 'SubHeader': 'Please wait while we process your order', 'UI_Header': '', 'Note': ''}, 'status': 'False', 'rstatus': False, 'SectionSKU': {'Header': 'Thank you for bearing with us :)', 'skus': []}, 'error': {'tmessage': 'In Progress', 'data': {}, 'umessage': 'In Progress', 'code': 20001}}
[2026-10-20 18:32:40,793.793 INFO    ] *** process_order ***
[2026-10-20 18:32:42,095.095 INFO    ] 200
[2026-10-20 18:32:42,098.098 INFO    ] {"SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "rstatus": true, "voiceNote": "Please Wait", "delay": 0, "status": "True", "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait while we process your order", "Note": "", "Header": " Your order is under process  "}, "SectionMain": {"Header": "Processing Order"}}
[2026-10-20 18:32:42,101.101 INFO    ] {'SectionMain': {'Header': 'Processing Order'}, 'voiceNote': 'Please Wait', 'delay': 0, 'SectionStatus': {'Header': ' Your order is under process  ', 'SubHeader': 'Please wait while we process your order', 'UI_Header': '', 'Note': ''}, 'status': 'True', 'rstatus': True, 'SectionSKU': {'Header': 'Thank you for bearing with us :)', 'skus': []}}
[2026-10-20 18:32:42,104.104 INFO    ] *** process_order ***
[2026-10-20 18:32:42,107.107 INFO    ] publish_status: order_id=TM04202203261020183019732
[2026-10-20 18:32:42,110.110 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020183019732
[2026-10-20 18:32:42,204.204 INFO    ] [publish_status] Message added to stream with ID: 1792501362230-0
[2026-10-20 18:32:42,207.207 INFO    ] Published to order:TM04202203261020183019732: {'order_id': 'TM04202203261020183019732', 'server_response': '{"SectionMain": {"Header": "Processing Order"}, "voiceNote": "Door is open...", "delay": 0, "SectionStatus": {"SubHeader": "You can pull the door now.", "Header": " Your order is under process  ", "UI_Header": "", "Note": ""}, "status": "True", "rstatus": true, "SectionSKU": {"Header": "Thank you for bearing with us :)", "skus": []}}', 'server_status': 'doorOpened'} (ID: 1792501362230-0)
[2026-10-20 18:32:43,275.275 INFO    ] 2026-10-20 18:32:43
[2026-10-20 18:32:43,278.278 INFO    ] publish_status: order_id=TM04202203261020183019732
[2026-10-20 18:32:43,281.281 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020183019732
[2026-10-20 18:32:43,353.353 INFO    ] [publish_status] Message added to stream with ID: 1792501363381-0
[2026-10-20 18:32:43,356.356 INFO    ] Published to order:TM04202203261020183019732: {'timestamp': '2026-10-20T13:02:43.276765Z', 'order_id': 'TM04202203261020183019732', 'server_response': '{"SectionMain": {"Header": "Processing Order"}, "voiceNote": "Please Wait", "delay": 0, "SectionStatus": {"Header": " Your order is under process  ", "SubHeader": "Please wait while we process your order", "UI_Header": "", "Note": ""}, "status": "True", "rstatus": true, "SectionSKU": {"Header": "Thank you for bearing with us :)", "skus": []}}', 'server_status': 'processOrder'} (ID: 1792501363381-0)
[2026-10-20 18:32:43,507.507 INFO    ] {'order_id': 'TM04202203261020183019732', 'server_response': {'SectionMain': {'Header': 'Processing Order'}, 'voiceNote': 'Please Wait', 'delay': 0, 'SectionStatus': {'Header': ' Your order is under process  ', 'SubHeader': 'Please wait while we process your order', 'UI_Header': '', 'Note': ''}, 'status': 'True', 'rstatus': True, 'SectionSKU': {'Header': 'Thank you for bearing with us :)', 'skus': []}}, 'server_status': 'processOrder'}
[2026-10-20 18:32:43,510.510 INFO    ] 200
[2026-10-20 18:32:43,513.513 INFO    ] {"data":{"order_id":"TM04202203261020183019732","server_response":{"SectionMain":{"Header":"Processing Order"},"voiceNote":"Please Wait","delay":0,"SectionStatus":{"Header":" Your order is under process  ","SubHeader":"Please wait while we process your order","UI_Header":"","Note":""},"status":"true","rstatus":true,"SectionSKU":{"Header":"Thank you for bearing with us :)","skus":[]}},"server_status":"processOrder"},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 18:32:43,516.516 INFO    ] {'response': {'msg': 'order updated successfully', 'code': 'ORDER_EXISTS', 'status': True, 'data': 'order updated successfully'}, 'data': {'order_id': 'TM04202203261020183019732', 'server_response': {'SectionMain': {'Header': 'Processing Order'}, 'voiceNote': 'Please Wait', 'delay': 0, 'SectionStatus': {'SubHeader': 'Please wait while we process your order', 'Header': ' Your order is under process  ', 'Note': '', 'UI_Header': ''}, 'status': 'true', 'rstatus': True, 'SectionSKU': {'Header': 'Thank you for bearing with us :)', 'skus': []}}, 'server_status': 'processOrder'}}
[2026-10-20 18:32:43,519.519 INFO    ] 2026-10-20 18:32:43
[2026-10-20 18:32:43,522.522 INFO    ] None
[2026-10-20 18:32:43,525.525 INFO    ] Opening Door now
[2026-10-20 18:32:43,527.527 INFO    ] Opening Door now
[2026-10-20 18:32:43,530.530 INFO    ] 08e5d1063504bf393c26f0bfa436e9f9
[2026-10-20 18:32:43,533.533 INFO    ] 2026-10-20 18:32:43
[2026-10-20 18:32:43,535.535 INFO    ] playing audio file
[2026-10-20 18:32:43,552.552 INFO    ] 2026-10-20 18:32:43
[2026-10-20 18:32:43,555.555 INFO    ] 2026-10-20 18:32:43
[2026-10-20 18:32:46,626.626 INFO    ] 200
[2026-10-20 18:32:46,629.629 INFO    ] {"SectionSKU": {"skus": [{"name": "Farmely Classic date Bites 20gm", "qty": 2}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Door 1 is open now", "status": "False", "SectionStatus": {"UI_Header": "DOOR 1\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 1"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 18:32:46,632.632 INFO    ] {'SectionMain': {'Header': 'Door Open'}, 'voiceNote': 'Door 1 is open now', 'SectionStatus': {'Header': 'Please Close Door 1', 'SubHeader': 'Please Pick the Products and close the door', 'UI_Header': 'DOOR 1\nIS \nOPEN \nNOW', 'Note': 'Please Close the door after picking up products'}, 'status': 'False', 'rstatus': False, 'SectionSKU': {'Header': 'Pick the below items from the door', 'skus': [{'name': 'Farmely Classic date Bites 20gm', 'qty': 2}]}, 'error': {'tmessage': 'In Progress', 'data': {}, 'umessage': 'In Progress', 'code': 20001}}
[2026-10-20 18:32:49,694.694 INFO    ] 200
[2026-10-20 18:32:49,697.697 INFO    ] {"SectionSKU": {"skus": [{"name": "Farmely Classic date Bites 20gm", "qty": 2}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Please close door 1", "status": "False", "SectionStatus": {"UI_Header": "DOOR 1\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 1"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 18:32:49,700.700 INFO    ] {'SectionMain': {'Header': 'Door Open'}, 'voiceNote': 'Please close door 1', 'SectionStatus': {'Header': 'Please Close Door 1', 'SubHeader': 'Please Pick the Products and close the door', 'UI_Header': 'DOOR 1\nIS \nOPEN \nNOW', 'Note': 'Please Close the door after picking up products'}, 'status': 'False', 'rstatus': False, 'SectionSKU': {'Header': 'Pick the below items from the door', 'skus': [{'name': 'Farmely Classic date Bites 20gm', 'qty': 2}]}, 'error': {'tmessage': 'In Progress', 'data': {}, 'umessage': 'In Progress', 'code': 20001}}
[2026-10-20 18:32:52,767.767 INFO    ] 200
[2026-10-20 18:32:52,770.770 INFO    ] {"SectionSKU": {"skus": [{"name": "Farmely Classic date Bites 20gm", "qty": 2}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Please close door 1", "status": "False", "SectionStatus": {"UI_Header": "DOOR 1\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 1"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 18:32:52,773.773 INFO    ] Please close door 1
[2026-10-20 18:32:52,776.776 INFO    ] Please close door 1
[2026-10-20 18:32:52,779.779 INFO    ] 787c302d53ab591e55c034b99c7aadd2
[2026-10-20 18:32:52,782.782 INFO    ] 2026-10-20 18:32:52
[2026-10-20 18:32:52,784.784 INFO    ] playing audio file
[2026-10-20 18:32:52,801.801 INFO    ] 2026-10-20 18:32:52
[2026-10-20 18:32:52,813.813 INFO    ] publish_status: order_id=TM04202203261020183019732
[2026-10-20 18:32:52,816.816 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020183019732
[2026-10-20 18:32:52,884.884 INFO    ] [publish_status] Message added to stream with ID: 1792501372911-0
[2026-10-20 18:32:52,886.886 INFO    ] Published to order:TM04202203261020183019732: {'timestamp': '2026-10-20T13:02:52.811149Z', 'order_id': 'TM04202203261020183019732', 'server_response': '{"SectionMain": {"Header": "Door Open"}, "voiceNote": "Please close door 1", "SectionStatus": {"Header": "Please Close Door 1", "SubHeader": "Please Pick the Products and close the door", "UI_Header": "DOOR 1\\nIS \\nOPEN \\nNOW", "Note": "Please Close the door after picking up products"}, "status": "False", "rstatus": false, "SectionSKU": {"Header": "Pick the below items from the door", "skus": [{"name": "Farmely Classic date Bites 20gm", "qty": 2}]}, "error": {"tmessage": "In Progress", "data": {}, "umessage": "In Progress", "code": 20001}}', 'server_status': 'OrderStatus'} (ID: 1792501372911-0)
[2026-10-20 18:32:53,459.459 INFO    ] {'order_id': 'TM04202203261020183019732', 'server_response': {'SectionMain': {'Header': 'Door Open'}, 'voiceNote': 'Please close door 1', 'SectionStatus': {'Header': 'Please Close Door 1', 'SubHeader': 'Please Pick the Products and close the door', 'UI_Header': 'DOOR 1\nIS \nOPEN \nNOW', 'Note': 'Please Close the door after picking up products'}, 'status': 'False', 'rstatus': False, 'SectionSKU': {'Header': 'Pick the below items from the door', 'skus': [{'name': 'Farmely Classic date Bites 20gm', 'qty': 2}]}, 'error': {'tmessage': 'In Progress', 'data': {}, 'umessage': 'In Progress', 'code': 20001}}, 'server_status': 'OrderStatus'}
[2026-10-20 18:32:53,461.461 INFO    ] 200
[2026-10-20 18:32:53,464.464 INFO    ] {"data":{"order_id":"TM04202203261020183019732","server_response":{"SectionMain":{"Header":"Door Open"},"voiceNote":"Please close door 1","SectionStatus":{"Header":"Please Close Door 1","SubHeader":"Please Pick the Products and close the door","UI_Header":"DOOR 1\nIS \nOPEN \nNOW","Note":"Please Close the door after picking up products"},"status":"false","rstatus":false,"SectionSKU":{"Header":"Pick the below items from the door","skus":[{"name":"Farmely Classic date Bites 20gm","qty":2}]},"error":{"tmessage":"In Progress","data":[],"umessage":"In Progress","code":20001}},"server_status":"OrderStatus"},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 18:32:53,467.467 INFO    ] {'response': {'msg': 'order updated successfully', 'code': 'ORDER_EXISTS', 'status': True, 'data': 'order updated successfully'}, 'data': {'order_id': 'TM04202203261020183019732', 'server_response': {'SectionMain': {'Header': 'Door Open'}, 'voiceNote': 'Please close door 1', 'SectionStatus': {'SubHeader': 'Please Pick the Products and close the door', 'Header': 'Please Close Door 1', 'Note': 'Please Close the door after picking up products', 'UI_Header': 'DOOR 1\nIS \nOPEN \nNOW'}, 'status': 'false', 'rstatus': False, 'SectionSKU': {'Header': 'Pick the below items from the door', 'skus': [{'name': 'Farmely Classic date Bites 20gm', 'qty': 2}]}, 'error': {'tmessage': 'In Progress', 'data': [], 'umessage': 'In Progress', 'code': 20001}}, 'server_status': 'OrderStatus'}}
[2026-10-20 18:32:53,470.470 INFO    ] {'SectionMain': {'Header': 'Door Open'}, 'voiceNote': 'Please close door 1', 'SectionStatus': {'Header': 'Please Close Door 1', 'SubHeader': 'Please Pick the Products and close the door', 'UI_Header': 'DOOR 1\nIS \nOPEN \nNOW', 'Note': 'Please Close the door after picking up products'}, 'status': 'False', 'rstatus': False, 'SectionSKU': {'Header': 'Pick the below items from the door', 'skus': [{'name': 'Farmely Classic date Bites 20gm', 'qty': 2}]}, 'error': {'tmessage': 'In Progress', 'data': {}, 'umessage': 'In Progress', 'code': 20001}}
[2026-10-20 18:32:56,532.532 INFO    ] 200
[2026-10-20 18:32:56,535.535 INFO    ] {"SectionSKU": {"skus": [], "Header": "If you like us, tell others... else tell us"}, "rstatus": true, "voiceNote": "Transaction Completed", "delay": 100, "status": "True", "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait for invoice to generate", "Note": "If any due amount, clear at https://go.tinymart.in", "Header": " Order is complete "}, "SectionMain": {"Header": "Door Closed"}}
[2026-10-20 18:32:56,538.538 INFO    ] {'SectionMain': {'Header': 'Door Closed'}, 'voiceNote': 'Transaction Completed', 'delay': 100, 'SectionStatus': {'Header': ' Order is complete ', 'SubHeader': 'Please wait for invoice to generate', 'UI_Header': '', 'Note': 'If any due amount, clear at https://go.tinymart.in'}, 'status': 'True', 'rstatus': True, 'SectionSKU': {'Header': 'If you like us, tell others... else tell us', 'skus': []}}
[2026-10-20 18:32:56,541.541 INFO    ] 2026-10-20 18:32:56
[2026-10-20 18:32:56,543.543 INFO    ] Order Completed 
[2026-10-20 18:32:56,546.546 INFO    ] Order Completed 
[2026-10-20 18:32:56,549.549 INFO    ] 193c8a8cf3bf490ccfe0b23598544a83
[2026-10-20 18:32:56,552.552 INFO    ] 2026-10-20 18:32:56
[2026-10-20 18:32:56,555.555 INFO    ] playing audio file
[2026-10-20 18:32:56,573.573 INFO    ] 2026-10-20 18:32:56
[2026-10-20 18:32:56,576.576 INFO    ] {'SectionMain': {'Header': 'Door Closed'}, 'voiceNote': 'Transaction Completed', 'delay': 100, 'SectionStatus': {'Header': ' Order is complete ', 'SubHeader': 'Please wait for invoice to generate', 'UI_Header': '', 'Note': 'If any due amount, clear at https://go.tinymart.in'}, 'status': 'True', 'rstatus': True, 'SectionSKU': {'Header': 'If you like us, tell others... else tell us', 'skus': []}}
[2026-10-20 18:32:56,579.579 INFO    ] 2026-10-20 18:32:56
[2026-10-20 18:32:59,032.032 INFO    ] 200
[2026-10-20 18:32:59,035.035 INFO    ] {"rstatus": true, "logic": "WBL", "skus": [{"door_id": "", "name": "Farmely Classic date Bites 20gm per peice", "mrp": "40", "skuid": "4500667", "unit_price": "40", "qty": 2, "tray_id": "16", "sku_total": 80.0, "image_url": "https://images.tinymart.in/product/4500667-4339.webp"}], "orderId": "TM04202203261020183019732", "res": "True", "total_amount": 80.0, "anomaly": 0}
[2026-10-20 18:32:59,038.038 INFO    ] {'orderId': 'TM04202203261020183019732', 'logic': 'WBL', 'anomaly': 0, 'rstatus': True, 'skus': [{'image_url': 'https://images.tinymart.in/product/4500667-4339.webp', 'name': 'Farmely Classic date Bites 20gm per peice', 'unit_price': '40', 'skuid': '4500667', 'door_id': '', 'tray_id': '16', 'sku_total': 80.0, 'mrp': '40', 'qty': 2}], 'total_amount': 80.0, 'res': 'True'}
[2026-10-20 18:32:59,041.041 INFO    ] {'orderId': 'TM04202203261020183019732', 'logic': 'WBL', 'anomaly': 0, 'rstatus': True, 'skus': [{'image_url': 'https://images.tinymart.in/product/4500667-4339.webp', 'name': 'Farmely Classic date Bites 20gm per peice', 'unit_price': '40', 'skuid': '4500667', 'door_id': '', 'tray_id': '16', 'sku_total': 80.0, 'mrp': '40', 'qty': 2}], 'total_amount': 80.0, 'res': 'True'}
[2026-10-20 18:32:59,044.044 INFO    ] 2026-10-20 18:32:59
[2026-10-20 18:32:59,048.048 INFO    ] 2026-10-20 18:32:59
[2026-10-20 18:32:59,051.051 INFO    ] 80
[2026-10-20 18:32:59,054.054 INFO    ] 2026-10-20 18:32:59
[2026-10-20 18:32:59,057.057 INFO    ] 2026-10-20 18:32:59
[2026-10-20 18:32:59,061.061 INFO    ]  Your Bill Amount is 80
[2026-10-20 18:32:59,064.064 INFO    ]  Your Bill Amount is 80
[2026-10-20 18:32:59,067.067 INFO    ] dd6ba73d4b5ba6a8b0f618c43455af21
[2026-10-20 18:32:59,073.073 INFO    ] 2026-10-20 18:32:59
[2026-10-20 18:32:59,076.076 INFO    ] playing audio file
[2026-10-20 18:32:59,094.094 INFO    ] 2026-10-20 18:32:59
[2026-10-20 18:32:59,097.097 INFO    ] 2026-10-20 18:32:59
[2026-10-20 18:32:59,101.101 INFO    ] publish_status: order_id=TM04202203261020183019732
[2026-10-20 18:32:59,104.104 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020183019732
[2026-10-20 18:32:59,204.204 INFO    ] [publish_status] Message added to stream with ID: 1792501379231-0
[2026-10-20 18:32:59,207.207 INFO    ] Published to order:TM04202203261020183019732: {'timestamp': '2026-10-20T13:02:59.099048Z', 'order_id': 'TM04202203261020183019732', 'server_response': '{"orderId": "TM04202203261020183019732", "logic": "WBL", "anomaly": 0, "rstatus": true, "skus": [{"image_url": "https://images.tinymart.in/product/4500667-4339.webp", "name": "Farmely Classic date Bites 20gm per peice", "unit_price": "40", "skuid": "4500667", "door_id": "", "tray_id": "16", "sku_total": 80.0, "mrp": "40", "qty": 2}], "total_amount": 80.0, "res": "True"}', 'server_status': 'invoiceOrder'} (ID: 1792501379231-0)
[2026-10-20 18:32:59,880.880 INFO    ] {'order_id': 'TM04202203261020183019732', 'server_response': {'orderId': 'TM04202203261020183019732', 'logic': 'WBL', 'anomaly': 0, 'rstatus': True, 'skus': [{'image_url': 'https://images.tinymart.in/product/4500667-4339.webp', 'name': 'Farmely Classic date Bites 20gm per peice', 'unit_price': '40', 'skuid': '4500667', 'door_id': '', 'tray_id': '16', 'sku_total': 80.0, 'mrp': '40', 'qty': 2}], 'total_amount': 80.0, 'res': 'True'}, 'server_status': 'invoiceOrder'}
[2026-10-20 18:32:59,883.883 INFO    ] 200
[2026-10-20 18:32:59,887.887 INFO    ] {"data":{"order_id":"TM04202203261020183019732","server_response":{"orderId":"TM04202203261020183019732","logic":"WBL","anomaly":0,"rstatus":true,"skus":[{"image_url":"https:\/\/images.tinymart.in\/product\/4500667-4339.webp","name":"Farmely Classic date Bites 20gm per peice","unit_price":"40","skuid":"4500667","door_id":"","tray_id":"16","sku_total":80,"mrp":"40","qty":2}],"total_amount":80,"res":"true"},"server_status":"invoiceOrder"},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 18:32:59,890.890 INFO    ] {'response': {'msg': 'order updated successfully', 'code': 'ORDER_EXISTS', 'status': True, 'data': 'order updated successfully'}, 'data': {'order_id': 'TM04202203261020183019732', 'server_response': {'orderId': 'TM04202203261020183019732', 'logic': 'WBL', 'anomaly': 0, 'rstatus': True, 'res': 'true', 'total_amount': 80, 'skus': [{'image_url': 'https://images.tinymart.in/product/4500667-4339.webp', 'name': 'Farmely Classic date Bites 20gm per peice', 'unit_price': '40', 'skuid': '4500667', 'door_id': '', 'tray_id': '16', 'sku_total': 80, 'mrp': '40', 'qty': 2}]}, 'server_status': 'invoiceOrder'}}
[2026-10-20 18:32:59,894.894 INFO    ] {'response': {'msg': 'order updated successfully', 'code': 'ORDER_EXISTS', 'status': True, 'data': 'order updated successfully'}, 'data': {'order_id': 'TM04202203261020183019732', 'server_response': {'orderId': 'TM04202203261020183019732', 'logic': 'WBL', 'anomaly': 0, 'rstatus': True, 'res': 'true', 'total_amount': 80, 'skus': [{'image_url': 'https://images.tinymart.in/product/4500667-4339.webp', 'name': 'Farmely Classic date Bites 20gm per peice', 'unit_price': '40', 'skuid': '4500667', 'door_id': '', 'tray_id': '16', 'sku_total': 80, 'mrp': '40', 'qty': 2}]}, 'server_status': 'invoiceOrder'}}
[2026-10-20 18:32:59,898.898 INFO    ] 2026-10-20 18:32:59
[2026-10-20 18:33:11,026.026 INFO    ] 200
[2026-10-20 18:33:11,030.030 INFO    ] {"orders": [], "order_items_synced": ["TM04202203261020183019732_0"], "tray_synced": ["TM04202203261020183019732", "TM04202203261020183019732", "TM04202203261020183019732", "TM04202203261020183019732", "TM04202203261020183019732", "TM04202203261020183019732", "TM04202203261020183019732", "TM04202203261020183019732", "TM04202203261020183019732", "TM04202203261020183019732", "TM04202203261020183019732", "TM04202203261020183019732", "TM04202203261020183019732", "TM04202203261020183019732", "TM04202203261020183019732", "TM04202203261020183019732", "TM04202203261020183019732", "TM04202203261020183019732", "TM04202203261020183019732", "TM04202203261020183019732", "TM04202203261020183019732", "TM04202203261020183019732", "TM04202203261020183019732", "TM04202203261020183019732", "TM04202203261020183019732", "TM04202203261020183019732", "TM04202203261020183019732", "TM04202203261020183019732", "TM04202203261020183019732", "TM04202203261020183019732", "TM04202203261020183019732", "TM04202203261020183019732", "TM04202203261020183019732"], "orders_synced": [], "status": true, "tray_sync": [], "order_items": [], "orders_data": [], "orders_data_synced": []}
[2026-10-20 18:33:11,033.033 INFO    ] 2026-10-20 18:33:11
[2026-10-20 18:33:11,138.138 INFO    ] 200
[2026-10-20 18:33:11,140.140 INFO    ] True
[2026-10-20 18:33:11,143.143 INFO    ] cleanup_start_order_file_after_processing: order_id=TM04202203261020183019732
[2026-10-20 18:33:11,147.147 INFO    ] start order file deleted
[2026-10-20 18:33:11,150.150 INFO    ] Checking for system updates...
[2026-10-20 18:33:11,184.184 INFO    ] 200
[2026-10-20 18:33:11,186.186 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:33:11,244.244 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:33:11,247.247 INFO    ] No update needed
[2026-10-20 18:33:11,249.249 INFO    ] Checking for camera pi updates...
[2026-10-20 18:33:11,285.285 INFO    ] 200
[2026-10-20 18:33:11,288.288 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:33:11,329.329 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:33:11,376.376 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:33:11,379.379 INFO    ] No camera update needed
[2026-10-20 18:33:11,382.382 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:33:11,384.384 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:33:11,390.390 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:33:11,396.396 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:33:13,438.438 INFO    ] ================================================
[2026-10-20 18:33:13,459.459 INFO    ] Launching Daemon at Tue Oct 20 18:33:13 IST 2026
[2026-10-20 18:33:13,470.470 INFO    ] ================================================
[2026-10-20 18:33:14,038.038 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:33:14
[2026-10-20 18:33:14,632.632 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:33:14,891.891 INFO    ] Initializing speech engine...
[2026-10-20 18:33:14,907.907 INFO    ] 2026-10-20 18:33:14
[2026-10-20 18:33:15,183.183 INFO    ] 2026-10-20 18:33:15
[2026-10-20 18:33:15,218.218 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:33:15,435.435 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:33:15,478.478 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:33:15,649.649 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:33:15,697.697 INFO    ] time= 20/10/2026 18:33:15
[2026-10-20 18:33:15,746.746 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:33:15,794.794 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:33:15,954.954 INFO    ] No existing commands found in stream
[2026-10-20 18:33:20,970.970 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:33:20,973.973 INFO    ] Waiting 2.53 seconds before fallback handling...
[2026-10-20 18:33:23,996.996 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:33:23,998.998 INFO    ] Checking for system updates...
[2026-10-20 18:33:24,033.033 INFO    ] 200
[2026-10-20 18:33:24,036.036 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:33:24,086.086 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:33:24,089.089 INFO    ] No update needed
[2026-10-20 18:33:24,091.091 INFO    ] Checking for camera pi updates...
[2026-10-20 18:33:24,126.126 INFO    ] 200
[2026-10-20 18:33:24,129.129 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:33:24,172.172 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:33:24,215.215 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:33:24,218.218 INFO    ] No camera update needed
[2026-10-20 18:33:24,220.220 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:33:24,222.222 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:33:24,227.227 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:33:24,232.232 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:33:26,278.278 INFO    ] ================================================
[2026-10-20 18:33:26,293.293 INFO    ] Launching Daemon at Tue Oct 20 18:33:26 IST 2026
[2026-10-20 18:33:26,303.303 INFO    ] ================================================
[2026-10-20 18:33:26,924.924 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:33:26
[2026-10-20 18:33:27,562.562 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:33:27,854.854 INFO    ] Initializing speech engine...
[2026-10-20 18:33:27,863.863 INFO    ] 2026-10-20 18:33:27
[2026-10-20 18:33:28,128.128 INFO    ] 2026-10-20 18:33:28
[2026-10-20 18:33:28,182.182 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:33:28,411.411 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:33:28,416.416 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:33:28,630.630 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:33:28,672.672 INFO    ] time= 20/10/2026 18:33:28
[2026-10-20 18:33:28,690.690 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:33:28,700.700 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:33:28,839.839 INFO    ] No existing commands found in stream
[2026-10-20 18:33:33,865.865 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:33:33,868.868 INFO    ] Waiting 3.28 seconds before fallback handling...
[2026-10-20 18:33:37,664.664 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:33:37,667.667 INFO    ] Checking for system updates...
[2026-10-20 18:33:37,703.703 INFO    ] 200
[2026-10-20 18:33:37,706.706 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:33:37,758.758 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:33:37,761.761 INFO    ] No update needed
[2026-10-20 18:33:37,764.764 INFO    ] Checking for camera pi updates...
[2026-10-20 18:33:37,797.797 INFO    ] 200
[2026-10-20 18:33:37,800.800 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:33:37,841.841 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:33:37,889.889 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:33:37,892.892 INFO    ] No camera update needed
[2026-10-20 18:33:37,894.894 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:33:37,897.897 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:33:37,903.903 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:33:37,908.908 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:33:39,950.950 INFO    ] ================================================
[2026-10-20 18:33:39,966.966 INFO    ] Launching Daemon at Tue Oct 20 18:33:39 IST 2026
[2026-10-20 18:33:39,977.977 INFO    ] ================================================
[2026-10-20 18:33:40,572.572 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:33:40
[2026-10-20 18:33:41,172.172 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:33:41,428.428 INFO    ] Initializing speech engine...
[2026-10-20 18:33:41,433.433 INFO    ] 2026-10-20 18:33:41
[2026-10-20 18:33:41,721.721 INFO    ] 2026-10-20 18:33:41
[2026-10-20 18:33:41,759.759 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:33:41,953.953 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:33:41,966.966 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:33:42,125.125 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:33:42,130.130 INFO    ] time= 20/10/2026 18:33:42
[2026-10-20 18:33:42,137.137 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:33:42,174.174 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:33:42,325.325 INFO    ] No existing commands found in stream
[2026-10-20 18:33:47,345.345 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:33:47,347.347 INFO    ] Waiting 0.57 seconds before fallback handling...
[2026-10-20 18:33:48,430.430 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 18:33:48,433.433 INFO    ] Checking for system updates...
[2026-10-20 18:33:48,469.469 INFO    ] 200
[2026-10-20 18:33:48,471.471 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:33:48,523.523 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:33:48,525.525 INFO    ] No update needed
[2026-10-20 18:33:48,527.527 INFO    ] Checking for camera pi updates...
[2026-10-20 18:33:48,561.561 INFO    ] 200
[2026-10-20 18:33:48,564.564 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:33:48,604.604 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:33:48,648.648 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:33:48,651.651 INFO    ] No camera update needed
[2026-10-20 18:33:48,653.653 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:33:48,655.655 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:33:48,661.661 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:33:48,666.666 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:33:50,705.705 INFO    ] ================================================
[2026-10-20 18:33:50,720.720 INFO    ] Launching Daemon at Tue Oct 20 18:33:50 IST 2026
[2026-10-20 18:33:50,732.732 INFO    ] ================================================
[2026-10-20 18:33:51,299.299 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:33:51
[2026-10-20 18:33:51,884.884 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:33:52,160.160 INFO    ] Initializing speech engine...
[2026-10-20 18:33:52,167.167 INFO    ] 2026-10-20 18:33:52
[2026-10-20 18:33:52,428.428 INFO    ] 2026-10-20 18:33:52
[2026-10-20 18:33:52,480.480 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:33:52,708.708 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:33:52,717.717 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:33:52,911.911 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:33:52,955.955 INFO    ] time= 20/10/2026 18:33:52
[2026-10-20 18:33:52,987.987 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:33:53,001.001 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:33:53,137.137 INFO    ] No existing commands found in stream
[2026-10-20 18:33:58,151.151 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:33:58,154.154 INFO    ] Waiting 2.38 seconds before fallback handling...
[2026-10-20 18:34:01,038.038 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 18:34:01,041.041 INFO    ] Checking for system updates...
[2026-10-20 18:34:01,079.079 INFO    ] 200
[2026-10-20 18:34:01,081.081 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:34:01,133.133 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:34:01,135.135 INFO    ] No update needed
[2026-10-20 18:34:01,137.137 INFO    ] Checking for camera pi updates...
[2026-10-20 18:34:01,171.171 INFO    ] 200
[2026-10-20 18:34:01,174.174 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:34:01,217.217 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:34:01,266.266 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:34:01,268.268 INFO    ] No camera update needed
[2026-10-20 18:34:01,271.271 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:34:01,273.273 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:34:01,278.278 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:34:01,283.283 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:34:03,330.330 INFO    ] ================================================
[2026-10-20 18:34:03,354.354 INFO    ] Launching Daemon at Tue Oct 20 18:34:03 IST 2026
[2026-10-20 18:34:03,367.367 INFO    ] ================================================
[2026-10-20 18:34:03,999.999 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:34:03
[2026-10-20 18:34:04,650.650 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:34:04,949.949 INFO    ] Initializing speech engine...
[2026-10-20 18:34:04,957.957 INFO    ] 2026-10-20 18:34:04
[2026-10-20 18:34:05,241.241 INFO    ] 2026-10-20 18:34:05
[2026-10-20 18:34:05,285.285 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:34:05,530.530 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:34:05,539.539 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:34:05,731.731 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:34:05,776.776 INFO    ] time= 20/10/2026 18:34:05
[2026-10-20 18:34:05,794.794 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:34:05,803.803 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:34:05,971.971 INFO    ] No existing commands found in stream
[2026-10-20 18:34:11,001.001 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:34:11,005.005 INFO    ] Waiting 2.35 seconds before fallback handling...
[2026-10-20 18:34:13,891.891 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:34:13,894.894 INFO    ] Checking for system updates...
[2026-10-20 18:34:13,930.930 INFO    ] 200
[2026-10-20 18:34:13,933.933 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:34:13,990.990 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:34:13,993.993 INFO    ] No update needed
[2026-10-20 18:34:13,997.997 INFO    ] Checking for camera pi updates...
[2026-10-20 18:34:14,034.034 INFO    ] 200
[2026-10-20 18:34:14,037.037 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:34:14,103.103 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:34:14,150.150 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:34:14,152.152 INFO    ] No camera update needed
[2026-10-20 18:34:14,155.155 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:34:14,157.157 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:34:14,164.164 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:34:14,170.170 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:34:16,210.210 INFO    ] ================================================
[2026-10-20 18:34:16,225.225 INFO    ] Launching Daemon at Tue Oct 20 18:34:16 IST 2026
[2026-10-20 18:34:16,236.236 INFO    ] ================================================
[2026-10-20 18:34:16,804.804 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:34:16
[2026-10-20 18:34:17,457.457 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:34:17,736.736 INFO    ] Initializing speech engine...
[2026-10-20 18:34:17,746.746 INFO    ] 2026-10-20 18:34:17
[2026-10-20 18:34:17,993.993 INFO    ] 2026-10-20 18:34:17
[2026-10-20 18:34:18,034.034 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:34:18,235.235 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:34:18,285.285 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:34:18,525.525 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:34:18,574.574 INFO    ] time= 20/10/2026 18:34:18
[2026-10-20 18:34:18,581.581 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:34:18,598.598 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:34:18,735.735 INFO    ] No existing commands found in stream
[2026-10-20 18:34:23,750.750 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:34:23,752.752 INFO    ] Waiting 3.91 seconds before fallback handling...
[2026-10-20 18:34:28,164.164 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 18:34:28,167.167 INFO    ] Checking for system updates...
[2026-10-20 18:34:28,208.208 INFO    ] 200
[2026-10-20 18:34:28,211.211 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:34:28,262.262 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:34:28,265.265 INFO    ] No update needed
[2026-10-20 18:34:28,267.267 INFO    ] Checking for camera pi updates...
[2026-10-20 18:34:28,300.300 INFO    ] 200
[2026-10-20 18:34:28,302.302 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:34:28,343.343 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:34:28,382.382 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:34:28,385.385 INFO    ] No camera update needed
[2026-10-20 18:34:28,387.387 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:34:28,389.389 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:34:28,394.394 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:34:28,399.399 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:34:30,440.440 INFO    ] ================================================
[2026-10-20 18:34:30,455.455 INFO    ] Launching Daemon at Tue Oct 20 18:34:30 IST 2026
[2026-10-20 18:34:30,465.465 INFO    ] ================================================
[2026-10-20 18:34:31,029.029 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:34:31
[2026-10-20 18:34:31,609.609 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:34:31,861.861 INFO    ] Initializing speech engine...
[2026-10-20 18:34:31,867.867 INFO    ] 2026-10-20 18:34:31
[2026-10-20 18:34:32,170.170 INFO    ] 2026-10-20 18:34:32
[2026-10-20 18:34:32,209.209 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:34:32,472.472 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:34:32,488.488 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:34:32,647.647 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:34:32,717.717 INFO    ] time= 20/10/2026 18:34:32
[2026-10-20 18:34:32,757.757 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:34:32,779.779 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:34:32,936.936 INFO    ] No existing commands found in stream
[2026-10-20 18:34:37,964.964 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:34:37,967.967 INFO    ] Waiting 1.55 seconds before fallback handling...
[2026-10-20 18:34:39,981.981 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:34:39,984.984 INFO    ] Checking for system updates...
[2026-10-20 18:34:40,020.020 INFO    ] 200
[2026-10-20 18:34:40,022.022 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:34:40,076.076 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:34:40,079.079 INFO    ] No update needed
[2026-10-20 18:34:40,081.081 INFO    ] Checking for camera pi updates...
[2026-10-20 18:34:40,114.114 INFO    ] 200
[2026-10-20 18:34:40,117.117 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:34:40,156.156 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:34:40,201.201 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:34:40,203.203 INFO    ] No camera update needed
[2026-10-20 18:34:40,206.206 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:34:40,208.208 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:34:40,213.213 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:34:40,218.218 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:34:42,259.259 INFO    ] ================================================
[2026-10-20 18:34:42,274.274 INFO    ] Launching Daemon at Tue Oct 20 18:34:42 IST 2026
[2026-10-20 18:34:42,285.285 INFO    ] ================================================
[2026-10-20 18:34:42,854.854 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:34:42
[2026-10-20 18:34:43,440.440 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:34:43,710.710 INFO    ] Initializing speech engine...
[2026-10-20 18:34:43,719.719 INFO    ] 2026-10-20 18:34:43
[2026-10-20 18:34:43,966.966 INFO    ] 2026-10-20 18:34:43
[2026-10-20 18:34:44,002.002 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:34:44,202.202 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:34:44,253.253 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:34:44,477.477 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:34:44,531.531 INFO    ] time= 20/10/2026 18:34:44
[2026-10-20 18:34:44,538.538 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:34:44,556.556 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:34:44,688.688 INFO    ] No existing commands found in stream
[2026-10-20 18:34:49,701.701 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:34:49,704.704 INFO    ] Waiting 3.89 seconds before fallback handling...
[2026-10-20 18:34:54,098.098 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:34:54,100.100 INFO    ] Checking for system updates...
[2026-10-20 18:34:54,135.135 INFO    ] 200
[2026-10-20 18:34:54,138.138 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:34:54,190.190 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:34:54,192.192 INFO    ] No update needed
[2026-10-20 18:34:54,195.195 INFO    ] Checking for camera pi updates...
[2026-10-20 18:34:54,228.228 INFO    ] 200
[2026-10-20 18:34:54,230.230 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:34:54,274.274 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:34:54,323.323 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:34:54,326.326 INFO    ] No camera update needed
[2026-10-20 18:34:54,328.328 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:34:54,330.330 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:34:54,335.335 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:34:54,341.341 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:34:56,382.382 INFO    ] ================================================
[2026-10-20 18:34:56,397.397 INFO    ] Launching Daemon at Tue Oct 20 18:34:56 IST 2026
[2026-10-20 18:34:56,407.407 INFO    ] ================================================
[2026-10-20 18:34:57,045.045 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:34:57
[2026-10-20 18:34:57,701.701 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:34:58,002.002 INFO    ] Initializing speech engine...
[2026-10-20 18:34:58,016.016 INFO    ] 2026-10-20 18:34:58
[2026-10-20 18:34:58,290.290 INFO    ] 2026-10-20 18:34:58
[2026-10-20 18:34:58,333.333 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:34:58,560.560 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:34:58,566.566 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:34:58,781.781 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:34:58,823.823 INFO    ] time= 20/10/2026 18:34:58
[2026-10-20 18:34:58,830.830 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:34:58,849.849 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:34:58,981.981 INFO    ] No existing commands found in stream
[2026-10-20 18:35:04,010.010 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:35:04,013.013 INFO    ] Waiting 2.67 seconds before fallback handling...
[2026-10-20 18:35:07,185.185 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:35:07,188.188 INFO    ] Checking for system updates...
[2026-10-20 18:35:07,225.225 INFO    ] 200
[2026-10-20 18:35:07,227.227 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:35:07,287.287 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:35:07,290.290 INFO    ] No update needed
[2026-10-20 18:35:07,293.293 INFO    ] Checking for camera pi updates...
[2026-10-20 18:35:07,331.331 INFO    ] 200
[2026-10-20 18:35:07,335.335 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:35:07,380.380 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:35:07,430.430 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:35:07,433.433 INFO    ] No camera update needed
[2026-10-20 18:35:07,436.436 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:35:07,439.439 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:35:07,445.445 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:35:07,451.451 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:35:09,491.491 INFO    ] ================================================
[2026-10-20 18:35:09,505.505 INFO    ] Launching Daemon at Tue Oct 20 18:35:09 IST 2026
[2026-10-20 18:35:09,516.516 INFO    ] ================================================
[2026-10-20 18:35:10,170.170 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:35:10
[2026-10-20 18:35:10,817.817 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:35:11,085.085 INFO    ] Initializing speech engine...
[2026-10-20 18:35:11,094.094 INFO    ] 2026-10-20 18:35:11
[2026-10-20 18:35:11,350.350 INFO    ] 2026-10-20 18:35:11
[2026-10-20 18:35:11,385.385 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:35:11,635.635 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:35:11,645.645 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:35:11,845.845 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:35:11,900.900 INFO    ] time= 20/10/2026 18:35:11
[2026-10-20 18:35:11,915.915 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:35:11,933.933 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:35:12,056.056 INFO    ] No existing commands found in stream
[2026-10-20 18:35:17,076.076 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:35:17,079.079 INFO    ] Waiting 0.23 seconds before fallback handling...
[2026-10-20 18:35:17,806.806 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:35:17,809.809 INFO    ] Checking for system updates...
[2026-10-20 18:35:17,844.844 INFO    ] 200
[2026-10-20 18:35:17,846.846 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:35:17,898.898 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:35:17,900.900 INFO    ] No update needed
[2026-10-20 18:35:17,903.903 INFO    ] Checking for camera pi updates...
[2026-10-20 18:35:17,936.936 INFO    ] 200
[2026-10-20 18:35:17,938.938 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:35:17,980.980 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:35:18,030.030 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:35:18,032.032 INFO    ] No camera update needed
[2026-10-20 18:35:18,035.035 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:35:18,037.037 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:35:18,042.042 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:35:18,047.047 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:35:20,086.086 INFO    ] ================================================
[2026-10-20 18:35:20,101.101 INFO    ] Launching Daemon at Tue Oct 20 18:35:20 IST 2026
[2026-10-20 18:35:20,112.112 INFO    ] ================================================
[2026-10-20 18:35:20,745.745 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:35:20
[2026-10-20 18:35:21,337.337 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:35:21,610.610 INFO    ] Initializing speech engine...
[2026-10-20 18:35:21,619.619 INFO    ] 2026-10-20 18:35:21
[2026-10-20 18:35:21,880.880 INFO    ] 2026-10-20 18:35:21
[2026-10-20 18:35:21,914.914 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:35:22,165.165 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:35:22,174.174 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:35:22,312.312 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:35:22,351.351 INFO    ] time= 20/10/2026 18:35:22
[2026-10-20 18:35:22,400.400 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:35:22,446.446 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:35:22,599.599 INFO    ] No existing commands found in stream
[2026-10-20 18:35:27,614.614 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:35:27,617.617 INFO    ] Waiting 3.30 seconds before fallback handling...
[2026-10-20 18:35:31,431.431 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:35:31,433.433 INFO    ] Checking for system updates...
[2026-10-20 18:35:31,468.468 INFO    ] 200
[2026-10-20 18:35:31,471.471 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:35:31,522.522 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:35:31,525.525 INFO    ] No update needed
[2026-10-20 18:35:31,528.528 INFO    ] Checking for camera pi updates...
[2026-10-20 18:35:31,561.561 INFO    ] 200
[2026-10-20 18:35:31,563.563 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:35:31,607.607 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:35:31,657.657 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:35:31,660.660 INFO    ] No camera update needed
[2026-10-20 18:35:31,662.662 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:35:31,665.665 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:35:31,670.670 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:35:31,675.675 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:35:33,716.716 INFO    ] ================================================
[2026-10-20 18:35:33,731.731 INFO    ] Launching Daemon at Tue Oct 20 18:35:33 IST 2026
[2026-10-20 18:35:33,742.742 INFO    ] ================================================
[2026-10-20 18:35:34,322.322 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:35:34
[2026-10-20 18:35:34,918.918 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:35:35,177.177 INFO    ] Initializing speech engine...
[2026-10-20 18:35:35,192.192 INFO    ] 2026-10-20 18:35:35
[2026-10-20 18:35:35,475.475 INFO    ] 2026-10-20 18:35:35
[2026-10-20 18:35:35,513.513 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:35:35,729.729 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:35:35,779.779 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:35:35,963.963 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:35:36,028.028 INFO    ] time= 20/10/2026 18:35:35
[2026-10-20 18:35:36,056.056 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:35:36,062.062 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:35:36,209.209 INFO    ] No existing commands found in stream
[2026-10-20 18:35:41,224.224 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:35:41,227.227 INFO    ] Waiting 2.21 seconds before fallback handling...
[2026-10-20 18:35:43,974.974 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 18:35:43,976.976 INFO    ] Checking for system updates...
[2026-10-20 18:35:44,014.014 INFO    ] 200
[2026-10-20 18:35:44,017.017 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:35:44,068.068 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:35:44,071.071 INFO    ] No update needed
[2026-10-20 18:35:44,073.073 INFO    ] Checking for camera pi updates...
[2026-10-20 18:35:44,110.110 INFO    ] 200
[2026-10-20 18:35:44,112.112 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:35:44,152.152 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:35:44,201.201 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:35:44,203.203 INFO    ] No camera update needed
[2026-10-20 18:35:44,205.205 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:35:44,208.208 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:35:44,213.213 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:35:44,218.218 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:35:46,257.257 INFO    ] ================================================
[2026-10-20 18:35:46,271.271 INFO    ] Launching Daemon at Tue Oct 20 18:35:46 IST 2026
[2026-10-20 18:35:46,282.282 INFO    ] ================================================
[2026-10-20 18:35:46,896.896 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:35:46
[2026-10-20 18:35:47,534.534 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:35:47,806.806 INFO    ] Initializing speech engine...
[2026-10-20 18:35:47,815.815 INFO    ] 2026-10-20 18:35:47
[2026-10-20 18:35:48,064.064 INFO    ] 2026-10-20 18:35:48
[2026-10-20 18:35:48,099.099 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:35:48,352.352 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:35:48,362.362 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:35:48,529.529 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:35:48,590.590 INFO    ] time= 20/10/2026 18:35:48
[2026-10-20 18:35:48,628.628 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:35:48,634.634 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:35:48,779.779 INFO    ] No existing commands found in stream
[2026-10-20 18:35:53,794.794 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:35:53,797.797 INFO    ] Waiting 0.32 seconds before fallback handling...
[2026-10-20 18:35:54,616.616 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 18:35:54,619.619 INFO    ] Checking for system updates...
[2026-10-20 18:35:54,655.655 INFO    ] 200
[2026-10-20 18:35:54,658.658 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:35:54,709.709 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:35:54,712.712 INFO    ] No update needed
[2026-10-20 18:35:54,714.714 INFO    ] Checking for camera pi updates...
[2026-10-20 18:35:54,751.751 INFO    ] 200
[2026-10-20 18:35:54,754.754 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:35:54,795.795 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:35:54,841.841 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:35:54,844.844 INFO    ] No camera update needed
[2026-10-20 18:35:54,846.846 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:35:54,849.849 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:35:54,855.855 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:35:54,861.861 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:35:56,901.901 INFO    ] ================================================
[2026-10-20 18:35:56,916.916 INFO    ] Launching Daemon at Tue Oct 20 18:35:56 IST 2026
[2026-10-20 18:35:56,927.927 INFO    ] ================================================
[2026-10-20 18:35:57,493.493 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:35:57
[2026-10-20 18:35:58,075.075 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:35:58,348.348 INFO    ] Initializing speech engine...
[2026-10-20 18:35:58,353.353 INFO    ] 2026-10-20 18:35:58
[2026-10-20 18:35:58,611.611 INFO    ] 2026-10-20 18:35:58
[2026-10-20 18:35:58,664.664 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:35:58,885.885 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:35:58,894.894 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:35:59,089.089 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:35:59,138.138 INFO    ] time= 20/10/2026 18:35:59
[2026-10-20 18:35:59,157.157 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:35:59,173.173 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:35:59,308.308 INFO    ] No existing commands found in stream
[2026-10-20 18:36:04,330.330 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:36:04,333.333 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-10-20 18:36:08,246.246 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 18:36:08,249.249 INFO    ] Checking for system updates...
[2026-10-20 18:36:08,287.287 INFO    ] 200
[2026-10-20 18:36:08,290.290 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:36:08,341.341 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:36:08,343.343 INFO    ] No update needed
[2026-10-20 18:36:08,346.346 INFO    ] Checking for camera pi updates...
[2026-10-20 18:36:08,382.382 INFO    ] 200
[2026-10-20 18:36:08,384.384 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:36:08,424.424 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:36:08,474.474 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:36:08,477.477 INFO    ] No camera update needed
[2026-10-20 18:36:08,479.479 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:36:08,482.482 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:36:08,487.487 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:36:08,492.492 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:36:10,532.532 INFO    ] ================================================
[2026-10-20 18:36:10,547.547 INFO    ] Launching Daemon at Tue Oct 20 18:36:10 IST 2026
[2026-10-20 18:36:10,558.558 INFO    ] ================================================
[2026-10-20 18:36:11,163.163 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:36:11
[2026-10-20 18:36:11,798.798 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:36:12,096.096 INFO    ] Initializing speech engine...
[2026-10-20 18:36:12,109.109 INFO    ] 2026-10-20 18:36:12
[2026-10-20 18:36:12,418.418 INFO    ] 2026-10-20 18:36:12
[2026-10-20 18:36:12,503.503 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:36:12,717.717 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:36:12,726.726 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:36:12,916.916 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:36:12,935.935 INFO    ] time= 20/10/2026 18:36:12
[2026-10-20 18:36:12,945.945 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:36:12,970.970 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:36:13,081.081 INFO    ] No existing commands found in stream
[2026-10-20 18:36:18,111.111 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:36:18,114.114 INFO    ] Waiting 3.73 seconds before fallback handling...
[2026-10-20 18:36:22,389.389 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:36:22,392.392 INFO    ] Checking for system updates...
[2026-10-20 18:36:22,432.432 INFO    ] 200
[2026-10-20 18:36:22,435.435 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:36:22,494.494 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:36:22,497.497 INFO    ] No update needed
[2026-10-20 18:36:22,499.499 INFO    ] Checking for camera pi updates...
[2026-10-20 18:36:22,537.537 INFO    ] 200
[2026-10-20 18:36:22,540.540 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:36:22,585.585 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:36:22,635.635 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:36:22,638.638 INFO    ] No camera update needed
[2026-10-20 18:36:22,641.641 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:36:22,643.643 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:36:22,649.649 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:36:22,655.655 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:36:24,696.696 INFO    ] ================================================
[2026-10-20 18:36:24,711.711 INFO    ] Launching Daemon at Tue Oct 20 18:36:24 IST 2026
[2026-10-20 18:36:24,722.722 INFO    ] ================================================
[2026-10-20 18:36:25,287.287 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:36:25
[2026-10-20 18:36:25,870.870 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:36:26,138.138 INFO    ] Initializing speech engine...
[2026-10-20 18:36:26,149.149 INFO    ] 2026-10-20 18:36:26
[2026-10-20 18:36:26,406.406 INFO    ] 2026-10-20 18:36:26
[2026-10-20 18:36:26,436.436 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:36:26,625.625 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:36:26,683.683 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:36:26,896.896 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:36:26,945.945 INFO    ] time= 20/10/2026 18:36:26
[2026-10-20 18:36:26,951.951 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:36:26,969.969 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:36:27,101.101 INFO    ] No existing commands found in stream
[2026-10-20 18:36:32,121.121 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:36:32,124.124 INFO    ] Waiting 2.93 seconds before fallback handling...
[2026-10-20 18:36:35,562.562 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 18:36:35,565.565 INFO    ] Checking for system updates...
[2026-10-20 18:36:35,600.600 INFO    ] 200
[2026-10-20 18:36:35,603.603 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:36:35,661.661 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:36:35,663.663 INFO    ] No update needed
[2026-10-20 18:36:35,665.665 INFO    ] Checking for camera pi updates...
[2026-10-20 18:36:35,699.699 INFO    ] 200
[2026-10-20 18:36:35,702.702 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:36:35,743.743 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:36:35,788.788 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:36:35,791.791 INFO    ] No camera update needed
[2026-10-20 18:36:35,793.793 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:36:35,795.795 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:36:35,801.801 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:36:35,805.805 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:36:37,845.845 INFO    ] ================================================
[2026-10-20 18:36:37,860.860 INFO    ] Launching Daemon at Tue Oct 20 18:36:37 IST 2026
[2026-10-20 18:36:37,871.871 INFO    ] ================================================
[2026-10-20 18:36:38,461.461 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:36:38
[2026-10-20 18:36:39,059.059 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:36:39,356.356 INFO    ] Initializing speech engine...
[2026-10-20 18:36:39,367.367 INFO    ] 2026-10-20 18:36:39
[2026-10-20 18:36:39,647.647 INFO    ] 2026-10-20 18:36:39
[2026-10-20 18:36:39,685.685 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:36:39,966.966 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:36:39,975.975 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:36:40,169.169 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:36:40,175.175 INFO    ] time= 20/10/2026 18:36:40
[2026-10-20 18:36:40,193.193 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:36:40,211.211 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:36:40,346.346 INFO    ] No existing commands found in stream
[2026-10-20 18:36:45,377.377 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:36:45,380.380 INFO    ] Waiting 3.38 seconds before fallback handling...
[2026-10-20 18:36:49,265.265 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 18:36:49,268.268 INFO    ] Checking for system updates...
[2026-10-20 18:36:49,304.304 INFO    ] 200
[2026-10-20 18:36:49,307.307 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:36:49,364.364 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:36:49,366.366 INFO    ] No update needed
[2026-10-20 18:36:49,369.369 INFO    ] Checking for camera pi updates...
[2026-10-20 18:36:49,401.401 INFO    ] 200
[2026-10-20 18:36:49,404.404 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:36:49,451.451 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:36:49,497.497 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:36:49,500.500 INFO    ] No camera update needed
[2026-10-20 18:36:49,502.502 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:36:49,504.504 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:36:49,510.510 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:36:49,515.515 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:36:51,555.555 INFO    ] ================================================
[2026-10-20 18:36:51,571.571 INFO    ] Launching Daemon at Tue Oct 20 18:36:51 IST 2026
[2026-10-20 18:36:51,582.582 INFO    ] ================================================
[2026-10-20 18:36:52,154.154 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:36:52
[2026-10-20 18:36:52,754.754 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:36:53,032.032 INFO    ] Initializing speech engine...
[2026-10-20 18:36:53,039.039 INFO    ] 2026-10-20 18:36:53
[2026-10-20 18:36:53,303.303 INFO    ] 2026-10-20 18:36:53
[2026-10-20 18:36:53,357.357 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:36:53,596.596 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:36:53,609.609 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:36:53,833.833 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:36:53,852.852 INFO    ] time= 20/10/2026 18:36:53
[2026-10-20 18:36:53,867.867 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:36:53,877.877 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:36:54,000.000 INFO    ] No existing commands found in stream
[2026-10-20 18:36:59,016.016 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:36:59,019.019 INFO    ] Waiting 1.15 seconds before fallback handling...
[2026-10-20 18:37:00,691.691 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:37:00,694.694 INFO    ] Checking for system updates...
[2026-10-20 18:37:00,730.730 INFO    ] 200
[2026-10-20 18:37:00,732.732 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:37:00,791.791 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:37:00,794.794 INFO    ] No update needed
[2026-10-20 18:37:00,797.797 INFO    ] Checking for camera pi updates...
[2026-10-20 18:37:00,830.830 INFO    ] 200
[2026-10-20 18:37:00,833.833 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:37:00,872.872 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:37:00,921.921 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:37:00,923.923 INFO    ] No camera update needed
[2026-10-20 18:37:00,925.925 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:37:00,927.927 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:37:00,933.933 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:37:00,938.938 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:37:02,986.986 INFO    ] ================================================
[2026-10-20 18:37:03,007.007 INFO    ] Launching Daemon at Tue Oct 20 18:37:03 IST 2026
[2026-10-20 18:37:03,024.024 INFO    ] ================================================
[2026-10-20 18:37:03,742.742 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:37:03
[2026-10-20 18:37:04,398.398 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:37:04,691.691 INFO    ] Initializing speech engine...
[2026-10-20 18:37:04,702.702 INFO    ] 2026-10-20 18:37:04
[2026-10-20 18:37:04,972.972 INFO    ] 2026-10-20 18:37:04
[2026-10-20 18:37:05,027.027 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:37:05,257.257 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:37:05,262.262 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:37:05,480.480 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:37:05,520.520 INFO    ] time= 20/10/2026 18:37:05
[2026-10-20 18:37:05,537.537 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:37:05,548.548 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:37:05,701.701 INFO    ] No existing commands found in stream
[2026-10-20 18:37:10,732.732 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:37:10,740.740 INFO    ] Waiting 3.58 seconds before fallback handling...
[2026-10-20 18:37:14,903.903 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:37:14,906.906 INFO    ] Checking for system updates...
[2026-10-20 18:37:14,943.943 INFO    ] 200
[2026-10-20 18:37:14,946.946 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:37:15,005.005 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:37:15,007.007 INFO    ] No update needed
[2026-10-20 18:37:15,011.011 INFO    ] Checking for camera pi updates...
[2026-10-20 18:37:15,044.044 INFO    ] 200
[2026-10-20 18:37:15,047.047 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:37:15,093.093 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:37:15,241.241 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:37:15,243.243 INFO    ] No camera update needed
[2026-10-20 18:37:15,245.245 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:37:15,247.247 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:37:15,253.253 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:37:15,258.258 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:37:17,299.299 INFO    ] ================================================
[2026-10-20 18:37:17,313.313 INFO    ] Launching Daemon at Tue Oct 20 18:37:17 IST 2026
[2026-10-20 18:37:17,324.324 INFO    ] ================================================
[2026-10-20 18:37:17,906.906 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:37:17
[2026-10-20 18:37:18,507.507 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:37:18,783.783 INFO    ] Initializing speech engine...
[2026-10-20 18:37:18,790.790 INFO    ] 2026-10-20 18:37:18
[2026-10-20 18:37:19,041.041 INFO    ] 2026-10-20 18:37:19
[2026-10-20 18:37:19,076.076 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:37:19,335.335 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:37:19,340.340 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:37:19,475.475 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:37:19,540.540 INFO    ] time= 20/10/2026 18:37:19
[2026-10-20 18:37:19,600.600 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:37:19,612.612 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:37:19,750.750 INFO    ] No existing commands found in stream
[2026-10-20 18:37:24,771.771 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:37:24,774.774 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-10-20 18:37:27,596.596 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:37:27,599.599 INFO    ] Checking for system updates...
[2026-10-20 18:37:27,639.639 INFO    ] 200
[2026-10-20 18:37:27,641.641 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:37:27,700.700 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:37:27,703.703 INFO    ] No update needed
[2026-10-20 18:37:27,705.705 INFO    ] Checking for camera pi updates...
[2026-10-20 18:37:27,742.742 INFO    ] 200
[2026-10-20 18:37:27,744.744 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:37:27,785.785 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:37:27,833.833 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:37:27,835.835 INFO    ] No camera update needed
[2026-10-20 18:37:27,838.838 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:37:27,840.840 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:37:27,845.845 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:37:27,851.851 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:37:29,893.893 INFO    ] ================================================
[2026-10-20 18:37:29,907.907 INFO    ] Launching Daemon at Tue Oct 20 18:37:29 IST 2026
[2026-10-20 18:37:29,918.918 INFO    ] ================================================
[2026-10-20 18:37:30,494.494 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:37:30
[2026-10-20 18:37:31,081.081 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:37:31,343.343 INFO    ] Initializing speech engine...
[2026-10-20 18:37:31,362.362 INFO    ] 2026-10-20 18:37:31
[2026-10-20 18:37:31,609.609 INFO    ] 2026-10-20 18:37:31
[2026-10-20 18:37:31,644.644 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:37:31,914.914 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:37:31,920.920 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:37:32,081.081 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:37:32,157.157 INFO    ] time= 20/10/2026 18:37:32
[2026-10-20 18:37:32,207.207 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:37:32,223.223 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:37:32,388.388 INFO    ] No existing commands found in stream
[2026-10-20 18:37:37,413.413 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:37:37,415.415 INFO    ] Waiting 2.09 seconds before fallback handling...
[2026-10-20 18:37:40,017.017 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 18:37:40,020.020 INFO    ] Checking for system updates...
[2026-10-20 18:37:40,055.055 INFO    ] 200
[2026-10-20 18:37:40,058.058 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:37:40,112.112 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:37:40,115.115 INFO    ] No update needed
[2026-10-20 18:37:40,117.117 INFO    ] Checking for camera pi updates...
[2026-10-20 18:37:40,154.154 INFO    ] 200
[2026-10-20 18:37:40,156.156 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:37:40,196.196 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:37:40,241.241 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:37:40,243.243 INFO    ] No camera update needed
[2026-10-20 18:37:40,245.245 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:37:40,248.248 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:37:40,253.253 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:37:40,258.258 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:37:42,299.299 INFO    ] ================================================
[2026-10-20 18:37:42,314.314 INFO    ] Launching Daemon at Tue Oct 20 18:37:42 IST 2026
[2026-10-20 18:37:42,325.325 INFO    ] ================================================
[2026-10-20 18:37:42,913.913 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:37:42
[2026-10-20 18:37:43,585.585 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:37:43,890.890 INFO    ] Initializing speech engine...
[2026-10-20 18:37:43,896.896 INFO    ] 2026-10-20 18:37:43
[2026-10-20 18:37:44,173.173 INFO    ] 2026-10-20 18:37:44
[2026-10-20 18:37:44,231.231 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:37:44,523.523 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:37:44,532.532 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:37:44,723.723 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:37:44,739.739 INFO    ] time= 20/10/2026 18:37:44
[2026-10-20 18:37:44,759.759 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:37:44,788.788 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:37:44,904.904 INFO    ] No existing commands found in stream
[2026-10-20 18:37:49,929.929 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:37:49,932.932 INFO    ] Waiting 1.11 seconds before fallback handling...
[2026-10-20 18:37:51,527.527 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 18:37:51,530.530 INFO    ] Checking for system updates...
[2026-10-20 18:37:51,571.571 INFO    ] 200
[2026-10-20 18:37:51,574.574 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:37:51,634.634 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:37:51,637.637 INFO    ] No update needed
[2026-10-20 18:37:51,639.639 INFO    ] Checking for camera pi updates...
[2026-10-20 18:37:51,677.677 INFO    ] 200
[2026-10-20 18:37:51,680.680 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:37:51,722.722 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:37:51,776.776 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:37:51,779.779 INFO    ] No camera update needed
[2026-10-20 18:37:51,782.782 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:37:51,785.785 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:37:51,791.791 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:37:51,797.797 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:37:53,837.837 INFO    ] ================================================
[2026-10-20 18:37:53,852.852 INFO    ] Launching Daemon at Tue Oct 20 18:37:53 IST 2026
[2026-10-20 18:37:53,863.863 INFO    ] ================================================
[2026-10-20 18:37:54,453.453 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:37:54
[2026-10-20 18:37:55,039.039 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:37:55,300.300 INFO    ] Initializing speech engine...
[2026-10-20 18:37:55,321.321 INFO    ] 2026-10-20 18:37:55
[2026-10-20 18:37:55,570.570 INFO    ] 2026-10-20 18:37:55
[2026-10-20 18:37:55,606.606 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:37:55,808.808 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:37:55,867.867 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:37:56,012.012 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:37:56,072.072 INFO    ] time= 20/10/2026 18:37:56
[2026-10-20 18:37:56,126.126 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:37:56,151.151 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:37:56,290.290 INFO    ] No existing commands found in stream
[2026-10-20 18:38:01,310.310 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:38:01,313.313 INFO    ] Waiting 1.70 seconds before fallback handling...
[2026-10-20 18:38:03,590.590 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 18:38:03,594.594 INFO    ] Checking for system updates...
[2026-10-20 18:38:03,637.637 INFO    ] 200
[2026-10-20 18:38:03,640.640 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:38:03,704.704 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:38:03,707.707 INFO    ] No update needed
[2026-10-20 18:38:03,709.709 INFO    ] Checking for camera pi updates...
[2026-10-20 18:38:03,747.747 INFO    ] 200
[2026-10-20 18:38:03,750.750 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:38:03,789.789 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:38:03,836.836 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:38:03,838.838 INFO    ] No camera update needed
[2026-10-20 18:38:03,841.841 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:38:03,843.843 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:38:03,848.848 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:38:03,853.853 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:38:05,894.894 INFO    ] ================================================
[2026-10-20 18:38:05,909.909 INFO    ] Launching Daemon at Tue Oct 20 18:38:05 IST 2026
[2026-10-20 18:38:05,920.920 INFO    ] ================================================
[2026-10-20 18:38:06,581.581 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:38:06
[2026-10-20 18:38:07,262.262 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:38:07,571.571 INFO    ] Initializing speech engine...
[2026-10-20 18:38:07,583.583 INFO    ] 2026-10-20 18:38:07
[2026-10-20 18:38:07,894.894 INFO    ] 2026-10-20 18:38:07
[2026-10-20 18:38:07,979.979 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:38:08,191.191 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:38:08,200.200 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:38:08,399.399 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:38:08,421.421 INFO    ] time= 20/10/2026 18:38:08
[2026-10-20 18:38:08,450.450 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:38:08,459.459 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:38:08,583.583 INFO    ] No existing commands found in stream
[2026-10-20 18:38:13,613.613 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:38:13,617.617 INFO    ] Waiting 2.88 seconds before fallback handling...
[2026-10-20 18:38:17,007.007 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 18:38:17,010.010 INFO    ] Checking for system updates...
[2026-10-20 18:38:17,047.047 INFO    ] 200
[2026-10-20 18:38:17,050.050 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:38:17,110.110 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:38:17,113.113 INFO    ] No update needed
[2026-10-20 18:38:17,116.116 INFO    ] Checking for camera pi updates...
[2026-10-20 18:38:17,157.157 INFO    ] 200
[2026-10-20 18:38:17,159.159 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:38:17,199.199 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:38:17,246.246 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:38:17,249.249 INFO    ] No camera update needed
[2026-10-20 18:38:17,251.251 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:38:17,254.254 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:38:17,259.259 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:38:17,264.264 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:38:19,305.305 INFO    ] ================================================
[2026-10-20 18:38:19,320.320 INFO    ] Launching Daemon at Tue Oct 20 18:38:19 IST 2026
[2026-10-20 18:38:19,331.331 INFO    ] ================================================
[2026-10-20 18:38:19,897.897 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:38:19
[2026-10-20 18:38:20,482.482 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:38:20,751.751 INFO    ] Initializing speech engine...
[2026-10-20 18:38:20,760.760 INFO    ] 2026-10-20 18:38:20
[2026-10-20 18:38:21,004.004 INFO    ] 2026-10-20 18:38:20
[2026-10-20 18:38:21,039.039 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:38:21,290.290 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:38:21,299.299 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:38:21,540.540 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:38:21,561.561 INFO    ] time= 20/10/2026 18:38:21
[2026-10-20 18:38:21,577.577 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:38:21,586.586 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:38:21,716.716 INFO    ] No existing commands found in stream
[2026-10-20 18:38:26,729.729 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:38:26,732.732 INFO    ] Waiting 1.08 seconds before fallback handling...
[2026-10-20 18:38:28,302.302 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:38:28,305.305 INFO    ] Checking for system updates...
[2026-10-20 18:38:28,340.340 INFO    ] 200
[2026-10-20 18:38:28,343.343 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:38:28,398.398 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:38:28,401.401 INFO    ] No update needed
[2026-10-20 18:38:28,404.404 INFO    ] Checking for camera pi updates...
[2026-10-20 18:38:28,437.437 INFO    ] 200
[2026-10-20 18:38:28,440.440 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:38:28,486.486 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:38:28,537.537 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:38:28,539.539 INFO    ] No camera update needed
[2026-10-20 18:38:28,542.542 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:38:28,544.544 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:38:28,549.549 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:38:28,554.554 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:38:30,596.596 INFO    ] ================================================
[2026-10-20 18:38:30,618.618 INFO    ] Launching Daemon at Tue Oct 20 18:38:30 IST 2026
[2026-10-20 18:38:30,629.629 INFO    ] ================================================
[2026-10-20 18:38:31,322.322 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:38:31
[2026-10-20 18:38:32,064.064 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:38:32,430.430 INFO    ] Initializing speech engine...
[2026-10-20 18:38:32,442.442 INFO    ] 2026-10-20 18:38:32
[2026-10-20 18:38:32,827.827 INFO    ] 2026-10-20 18:38:32
[2026-10-20 18:38:32,883.883 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:38:33,094.094 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:38:33,114.114 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:38:33,332.332 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:38:33,382.382 INFO    ] time= 20/10/2026 18:38:33
[2026-10-20 18:38:33,407.407 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:38:33,427.427 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:38:33,572.572 INFO    ] No existing commands found in stream
[2026-10-20 18:38:38,587.587 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:38:38,590.590 INFO    ] Waiting 1.83 seconds before fallback handling...
[2026-10-20 18:38:40,931.931 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 18:38:40,933.933 INFO    ] Checking for system updates...
[2026-10-20 18:38:40,972.972 INFO    ] 200
[2026-10-20 18:38:40,975.975 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:38:41,026.026 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:38:41,029.029 INFO    ] No update needed
[2026-10-20 18:38:41,031.031 INFO    ] Checking for camera pi updates...
[2026-10-20 18:38:41,068.068 INFO    ] 200
[2026-10-20 18:38:41,071.071 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:38:41,115.115 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:38:41,163.163 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:38:41,165.165 INFO    ] No camera update needed
[2026-10-20 18:38:41,167.167 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:38:41,170.170 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:38:41,175.175 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:38:41,180.180 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:38:43,220.220 INFO    ] ================================================
[2026-10-20 18:38:43,235.235 INFO    ] Launching Daemon at Tue Oct 20 18:38:43 IST 2026
[2026-10-20 18:38:43,245.245 INFO    ] ================================================
[2026-10-20 18:38:43,893.893 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:38:43
[2026-10-20 18:38:44,560.560 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:38:44,862.862 INFO    ] Initializing speech engine...
[2026-10-20 18:38:44,870.870 INFO    ] 2026-10-20 18:38:44
[2026-10-20 18:38:45,144.144 INFO    ] 2026-10-20 18:38:45
[2026-10-20 18:38:45,201.201 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:38:45,462.462 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:38:45,467.467 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:38:45,703.703 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:38:45,711.711 INFO    ] time= 20/10/2026 18:38:45
[2026-10-20 18:38:45,733.733 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:38:45,760.760 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:38:45,900.900 INFO    ] No existing commands found in stream
[2026-10-20 18:38:50,925.925 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:38:50,929.929 INFO    ] Waiting 3.06 seconds before fallback handling...
[2026-10-20 18:38:54,513.513 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 18:38:54,516.516 INFO    ] Checking for system updates...
[2026-10-20 18:38:54,556.556 INFO    ] 200
[2026-10-20 18:38:54,559.559 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:38:54,613.613 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:38:54,616.616 INFO    ] No update needed
[2026-10-20 18:38:54,619.619 INFO    ] Checking for camera pi updates...
[2026-10-20 18:38:54,653.653 INFO    ] 200
[2026-10-20 18:38:54,656.656 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:38:54,703.703 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:38:54,754.754 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:38:54,756.756 INFO    ] No camera update needed
[2026-10-20 18:38:54,759.759 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:38:54,762.762 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:38:54,768.768 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:38:54,774.774 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:38:56,816.816 INFO    ] ================================================
[2026-10-20 18:38:56,831.831 INFO    ] Launching Daemon at Tue Oct 20 18:38:56 IST 2026
[2026-10-20 18:38:56,842.842 INFO    ] ================================================
[2026-10-20 18:38:57,496.496 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:38:57
[2026-10-20 18:38:58,172.172 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:38:58,481.481 INFO    ] Initializing speech engine...
[2026-10-20 18:38:58,496.496 INFO    ] 2026-10-20 18:38:58
[2026-10-20 18:38:58,778.778 INFO    ] 2026-10-20 18:38:58
[2026-10-20 18:38:58,826.826 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:38:59,099.099 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:38:59,123.123 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:38:59,324.324 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:38:59,332.332 INFO    ] time= 20/10/2026 18:38:59
[2026-10-20 18:38:59,351.351 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:38:59,379.379 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:38:59,512.512 INFO    ] No existing commands found in stream
[2026-10-20 18:39:04,543.543 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:39:04,546.546 INFO    ] Waiting 0.84 seconds before fallback handling...
[2026-10-20 18:39:05,901.901 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:39:05,904.904 INFO    ] Checking for system updates...
[2026-10-20 18:39:05,941.941 INFO    ] 200
[2026-10-20 18:39:05,944.944 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:39:05,997.997 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:39:06,000.000 INFO    ] No update needed
[2026-10-20 18:39:06,002.002 INFO    ] Checking for camera pi updates...
[2026-10-20 18:39:06,037.037 INFO    ] 200
[2026-10-20 18:39:06,040.040 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:39:06,081.081 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:39:06,133.133 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:39:06,136.136 INFO    ] No camera update needed
[2026-10-20 18:39:06,139.139 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:39:06,141.141 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:39:06,147.147 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:39:06,153.153 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:39:08,194.194 INFO    ] ================================================
[2026-10-20 18:39:08,209.209 INFO    ] Launching Daemon at Tue Oct 20 18:39:08 IST 2026
[2026-10-20 18:39:08,220.220 INFO    ] ================================================
[2026-10-20 18:39:08,790.790 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:39:08
[2026-10-20 18:39:09,373.373 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:39:09,622.622 INFO    ] Initializing speech engine...
[2026-10-20 18:39:09,637.637 INFO    ] 2026-10-20 18:39:09
[2026-10-20 18:39:09,901.901 INFO    ] 2026-10-20 18:39:09
[2026-10-20 18:39:09,937.937 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:39:10,138.138 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:39:10,196.196 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:39:10,338.338 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:39:10,376.376 INFO    ] time= 20/10/2026 18:39:10
[2026-10-20 18:39:10,435.435 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:39:10,474.474 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:39:10,615.615 INFO    ] No existing commands found in stream
[2026-10-20 18:39:15,637.637 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:39:15,640.640 INFO    ] Waiting 2.91 seconds before fallback handling...
[2026-10-20 18:39:19,098.098 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:39:19,100.100 INFO    ] Checking for system updates...
[2026-10-20 18:39:19,136.136 INFO    ] 200
[2026-10-20 18:39:19,139.139 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:39:19,197.197 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:39:19,199.199 INFO    ] No update needed
[2026-10-20 18:39:19,202.202 INFO    ] Checking for camera pi updates...
[2026-10-20 18:39:19,239.239 INFO    ] 200
[2026-10-20 18:39:19,241.241 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:39:19,286.286 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:39:19,428.428 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:39:19,431.431 INFO    ] No camera update needed
[2026-10-20 18:39:19,433.433 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:39:19,435.435 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:39:19,441.441 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:39:19,446.446 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:39:21,486.486 INFO    ] ================================================
[2026-10-20 18:39:21,503.503 INFO    ] Launching Daemon at Tue Oct 20 18:39:21 IST 2026
[2026-10-20 18:39:21,513.513 INFO    ] ================================================
[2026-10-20 18:39:22,106.106 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:39:22
[2026-10-20 18:39:22,705.705 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:39:22,983.983 INFO    ] Initializing speech engine...
[2026-10-20 18:39:22,989.989 INFO    ] 2026-10-20 18:39:22
[2026-10-20 18:39:23,247.247 INFO    ] 2026-10-20 18:39:23
[2026-10-20 18:39:23,278.278 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:39:23,527.527 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:39:23,533.533 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:39:23,665.665 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:39:23,720.720 INFO    ] time= 20/10/2026 18:39:23
[2026-10-20 18:39:23,775.775 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:39:23,797.797 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:39:23,944.944 INFO    ] No existing commands found in stream
[2026-10-20 18:39:28,961.961 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:39:28,964.964 INFO    ] Waiting 0.45 seconds before fallback handling...
[2026-10-20 18:39:30,002.002 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:39:30,005.005 INFO    ] Checking for system updates...
[2026-10-20 18:39:30,042.042 INFO    ] 200
[2026-10-20 18:39:30,044.044 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:39:30,097.097 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:39:30,100.100 INFO    ] No update needed
[2026-10-20 18:39:30,103.103 INFO    ] Checking for camera pi updates...
[2026-10-20 18:39:30,137.137 INFO    ] 200
[2026-10-20 18:39:30,140.140 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:39:30,181.181 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:39:30,225.225 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:39:30,228.228 INFO    ] No camera update needed
[2026-10-20 18:39:30,231.231 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:39:30,234.234 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:39:30,240.240 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:39:30,245.245 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:39:32,289.289 INFO    ] ================================================
[2026-10-20 18:39:32,305.305 INFO    ] Launching Daemon at Tue Oct 20 18:39:32 IST 2026
[2026-10-20 18:39:32,316.316 INFO    ] ================================================
[2026-10-20 18:39:33,027.027 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:39:33
[2026-10-20 18:39:33,714.714 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:39:34,019.019 INFO    ] Initializing speech engine...
[2026-10-20 18:39:34,026.026 INFO    ] 2026-10-20 18:39:34
[2026-10-20 18:39:34,320.320 INFO    ] 2026-10-20 18:39:34
[2026-10-20 18:39:34,365.365 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:39:34,661.661 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:39:34,681.681 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:39:34,865.865 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:39:34,882.882 INFO    ] time= 20/10/2026 18:39:34
[2026-10-20 18:39:34,913.913 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:39:34,923.923 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:39:35,083.083 INFO    ] No existing commands found in stream
[2026-10-20 18:39:40,119.119 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:39:40,122.122 INFO    ] Waiting 0.71 seconds before fallback handling...
[2026-10-20 18:39:41,370.370 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:39:41,374.374 INFO    ] Checking for system updates...
[2026-10-20 18:39:41,410.410 INFO    ] 200
[2026-10-20 18:39:41,413.413 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:39:41,466.466 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:39:41,469.469 INFO    ] No update needed
[2026-10-20 18:39:41,472.472 INFO    ] Checking for camera pi updates...
[2026-10-20 18:39:41,507.507 INFO    ] 200
[2026-10-20 18:39:41,510.510 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:39:41,550.550 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:39:41,601.601 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:39:41,604.604 INFO    ] No camera update needed
[2026-10-20 18:39:41,606.606 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:39:41,608.608 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:39:41,614.614 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:39:41,619.619 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:39:43,658.658 INFO    ] ================================================
[2026-10-20 18:39:43,673.673 INFO    ] Launching Daemon at Tue Oct 20 18:39:43 IST 2026
[2026-10-20 18:39:43,683.683 INFO    ] ================================================
[2026-10-20 18:39:44,264.264 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:39:44
[2026-10-20 18:39:44,862.862 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:39:45,133.133 INFO    ] Initializing speech engine...
[2026-10-20 18:39:45,142.142 INFO    ] 2026-10-20 18:39:45
[2026-10-20 18:39:45,405.405 INFO    ] 2026-10-20 18:39:45
[2026-10-20 18:39:45,459.459 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:39:45,685.685 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:39:45,690.690 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:39:45,902.902 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:39:45,945.945 INFO    ] time= 20/10/2026 18:39:45
[2026-10-20 18:39:45,963.963 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:39:45,972.972 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:39:46,099.099 INFO    ] No existing commands found in stream
[2026-10-20 18:39:51,114.114 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:39:51,116.116 INFO    ] Waiting 2.14 seconds before fallback handling...
[2026-10-20 18:39:53,865.865 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 18:39:53,868.868 INFO    ] Checking for system updates...
[2026-10-20 18:39:53,908.908 INFO    ] 200
[2026-10-20 18:39:53,911.911 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:39:53,963.963 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:39:53,965.965 INFO    ] No update needed
[2026-10-20 18:39:53,967.967 INFO    ] Checking for camera pi updates...
[2026-10-20 18:39:54,004.004 INFO    ] 200
[2026-10-20 18:39:54,007.007 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:39:54,055.055 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:39:54,113.113 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:39:54,115.115 INFO    ] No camera update needed
[2026-10-20 18:39:54,118.118 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:39:54,120.120 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:39:54,125.125 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:39:54,130.130 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:39:56,171.171 INFO    ] ================================================
[2026-10-20 18:39:56,185.185 INFO    ] Launching Daemon at Tue Oct 20 18:39:56 IST 2026
[2026-10-20 18:39:56,196.196 INFO    ] ================================================
[2026-10-20 18:39:56,765.765 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:39:56
[2026-10-20 18:39:57,364.364 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:39:57,623.623 INFO    ] Initializing speech engine...
[2026-10-20 18:39:57,626.626 INFO    ] 2026-10-20 18:39:57
[2026-10-20 18:39:57,928.928 INFO    ] 2026-10-20 18:39:57
[2026-10-20 18:39:57,966.966 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:39:58,163.163 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:39:58,176.176 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:39:58,343.343 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:39:58,349.349 INFO    ] time= 20/10/2026 18:39:58
[2026-10-20 18:39:58,355.355 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:39:58,377.377 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:39:58,531.531 INFO    ] No existing commands found in stream
[2026-10-20 18:40:03,557.557 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:40:03,560.560 INFO    ] Waiting 3.73 seconds before fallback handling...
[2026-10-20 18:40:07,803.803 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:40:07,806.806 INFO    ] Checking for system updates...
[2026-10-20 18:40:07,842.842 INFO    ] 200
[2026-10-20 18:40:07,844.844 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:40:07,897.897 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:40:07,900.900 INFO    ] No update needed
[2026-10-20 18:40:07,902.902 INFO    ] Checking for camera pi updates...
[2026-10-20 18:40:07,935.935 INFO    ] 200
[2026-10-20 18:40:07,937.937 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:40:07,983.983 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:40:08,020.020 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:40:08,022.022 INFO    ] No camera update needed
[2026-10-20 18:40:08,024.024 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:40:08,027.027 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:40:08,032.032 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:40:08,037.037 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:40:10,076.076 INFO    ] ================================================
[2026-10-20 18:40:10,091.091 INFO    ] Launching Daemon at Tue Oct 20 18:40:10 IST 2026
[2026-10-20 18:40:10,102.102 INFO    ] ================================================
[2026-10-20 18:40:10,666.666 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:40:10
[2026-10-20 18:40:11,247.247 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:40:11,518.518 INFO    ] Initializing speech engine...
[2026-10-20 18:40:11,530.530 INFO    ] 2026-10-20 18:40:11
[2026-10-20 18:40:11,822.822 INFO    ] 2026-10-20 18:40:11
[2026-10-20 18:40:11,870.870 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:40:12,159.159 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:40:12,168.168 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:40:12,362.362 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:40:12,376.376 INFO    ] time= 20/10/2026 18:40:12
[2026-10-20 18:40:12,397.397 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:40:12,424.424 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:40:12,545.545 INFO    ] No existing commands found in stream
[2026-10-20 18:40:17,575.575 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:40:17,579.579 INFO    ] Waiting 1.22 seconds before fallback handling...
[2026-10-20 18:40:19,373.373 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:40:19,376.376 INFO    ] Checking for system updates...
[2026-10-20 18:40:19,419.419 INFO    ] 200
[2026-10-20 18:40:19,422.422 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:40:19,475.475 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:40:19,478.478 INFO    ] No update needed
[2026-10-20 18:40:19,481.481 INFO    ] Checking for camera pi updates...
[2026-10-20 18:40:19,520.520 INFO    ] 200
[2026-10-20 18:40:19,523.523 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:40:19,574.574 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:40:19,621.621 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:40:19,624.624 INFO    ] No camera update needed
[2026-10-20 18:40:19,626.626 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:40:19,628.628 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:40:19,634.634 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:40:19,639.639 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:40:21,678.678 INFO    ] ================================================
[2026-10-20 18:40:21,694.694 INFO    ] Launching Daemon at Tue Oct 20 18:40:21 IST 2026
[2026-10-20 18:40:21,705.705 INFO    ] ================================================
[2026-10-20 18:40:22,338.338 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:40:22
[2026-10-20 18:40:22,944.944 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:40:23,216.216 INFO    ] Initializing speech engine...
[2026-10-20 18:40:23,225.225 INFO    ] 2026-10-20 18:40:23
[2026-10-20 18:40:23,474.474 INFO    ] 2026-10-20 18:40:23
[2026-10-20 18:40:23,507.507 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:40:23,767.767 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:40:23,777.777 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:40:23,989.989 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:40:24,039.039 INFO    ] time= 20/10/2026 18:40:23
[2026-10-20 18:40:24,046.046 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:40:24,062.062 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:40:24,219.219 INFO    ] No existing commands found in stream
[2026-10-20 18:40:29,244.244 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:40:29,247.247 INFO    ] Waiting 3.43 seconds before fallback handling...
[2026-10-20 18:40:33,161.161 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:40:33,164.164 INFO    ] Checking for system updates...
[2026-10-20 18:40:33,204.204 INFO    ] 200
[2026-10-20 18:40:33,207.207 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:40:33,260.260 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:40:33,262.262 INFO    ] No update needed
[2026-10-20 18:40:33,265.265 INFO    ] Checking for camera pi updates...
[2026-10-20 18:40:33,299.299 INFO    ] 200
[2026-10-20 18:40:33,301.301 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:40:33,342.342 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:40:33,397.397 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:40:33,400.400 INFO    ] No camera update needed
[2026-10-20 18:40:33,402.402 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:40:33,404.404 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:40:33,410.410 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:40:33,415.415 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:40:35,455.455 INFO    ] ================================================
[2026-10-20 18:40:35,470.470 INFO    ] Launching Daemon at Tue Oct 20 18:40:35 IST 2026
[2026-10-20 18:40:35,481.481 INFO    ] ================================================
[2026-10-20 18:40:36,083.083 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:40:36
[2026-10-20 18:40:36,666.666 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:40:36,916.916 INFO    ] Initializing speech engine...
[2026-10-20 18:40:36,943.943 INFO    ] 2026-10-20 18:40:36
[2026-10-20 18:40:37,212.212 INFO    ] 2026-10-20 18:40:37
[2026-10-20 18:40:37,255.255 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:40:37,509.509 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:40:37,519.519 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:40:37,672.672 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:40:37,737.737 INFO    ] time= 20/10/2026 18:40:37
[2026-10-20 18:40:37,787.787 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:40:37,794.794 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:40:37,943.943 INFO    ] No existing commands found in stream
[2026-10-20 18:40:42,969.969 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:40:42,972.972 INFO    ] Waiting 1.01 seconds before fallback handling...
[2026-10-20 18:40:44,547.547 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:40:44,550.550 INFO    ] Checking for system updates...
[2026-10-20 18:40:44,586.586 INFO    ] 200
[2026-10-20 18:40:44,588.588 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:40:44,651.651 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:40:44,653.653 INFO    ] No update needed
[2026-10-20 18:40:44,655.655 INFO    ] Checking for camera pi updates...
[2026-10-20 18:40:44,689.689 INFO    ] 200
[2026-10-20 18:40:44,692.692 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:40:44,735.735 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:40:44,787.787 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:40:44,790.790 INFO    ] No camera update needed
[2026-10-20 18:40:44,792.792 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:40:44,795.795 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:40:44,800.800 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:40:44,805.805 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:40:46,845.845 INFO    ] ================================================
[2026-10-20 18:40:46,861.861 INFO    ] Launching Daemon at Tue Oct 20 18:40:46 IST 2026
[2026-10-20 18:40:46,871.871 INFO    ] ================================================
[2026-10-20 18:40:47,461.461 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:40:47
[2026-10-20 18:40:48,061.061 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:40:48,333.333 INFO    ] Initializing speech engine...
[2026-10-20 18:40:48,343.343 INFO    ] 2026-10-20 18:40:48
[2026-10-20 18:40:48,593.593 INFO    ] 2026-10-20 18:40:48
[2026-10-20 18:40:48,628.628 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:40:48,879.879 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:40:48,889.889 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:40:49,045.045 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:40:49,087.087 INFO    ] time= 20/10/2026 18:40:49
[2026-10-20 18:40:49,126.126 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:40:49,180.180 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:40:49,343.343 INFO    ] No existing commands found in stream
[2026-10-20 18:40:54,368.368 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:40:54,371.371 INFO    ] Waiting 0.86 seconds before fallback handling...
[2026-10-20 18:40:55,746.746 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:40:55,749.749 INFO    ] Checking for system updates...
[2026-10-20 18:40:55,785.785 INFO    ] 200
[2026-10-20 18:40:55,788.788 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:40:55,842.842 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:40:55,844.844 INFO    ] No update needed
[2026-10-20 18:40:55,847.847 INFO    ] Checking for camera pi updates...
[2026-10-20 18:40:55,880.880 INFO    ] 200
[2026-10-20 18:40:55,883.883 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:40:55,923.923 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:40:55,977.977 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:40:55,980.980 INFO    ] No camera update needed
[2026-10-20 18:40:55,982.982 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:40:55,984.984 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:40:55,990.990 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:40:55,995.995 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:40:58,036.036 INFO    ] ================================================
[2026-10-20 18:40:58,052.052 INFO    ] Launching Daemon at Tue Oct 20 18:40:58 IST 2026
[2026-10-20 18:40:58,063.063 INFO    ] ================================================
[2026-10-20 18:40:58,630.630 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:40:58
[2026-10-20 18:40:59,213.213 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:40:59,462.462 INFO    ] Initializing speech engine...
[2026-10-20 18:40:59,485.485 INFO    ] 2026-10-20 18:40:59
[2026-10-20 18:40:59,734.734 INFO    ] 2026-10-20 18:40:59
[2026-10-20 18:40:59,769.769 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:41:00,026.026 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:41:00,031.031 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:41:00,162.162 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:41:00,222.222 INFO    ] time= 20/10/2026 18:41:00
[2026-10-20 18:41:00,277.277 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:41:00,292.292 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:41:00,439.439 INFO    ] No existing commands found in stream
[2026-10-20 18:41:05,452.452 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:41:05,454.454 INFO    ] Waiting 0.90 seconds before fallback handling...
[2026-10-20 18:41:06,843.843 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 18:41:06,846.846 INFO    ] Checking for system updates...
[2026-10-20 18:41:06,881.881 INFO    ] 200
[2026-10-20 18:41:06,883.883 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:41:06,934.934 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:41:06,937.937 INFO    ] No update needed
[2026-10-20 18:41:06,939.939 INFO    ] Checking for camera pi updates...
[2026-10-20 18:41:06,972.972 INFO    ] 200
[2026-10-20 18:41:06,975.975 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:41:07,020.020 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:41:07,076.076 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:41:07,079.079 INFO    ] No camera update needed
[2026-10-20 18:41:07,082.082 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:41:07,084.084 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:41:07,090.090 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:41:07,095.095 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:41:09,135.135 INFO    ] ================================================
[2026-10-20 18:41:09,150.150 INFO    ] Launching Daemon at Tue Oct 20 18:41:09 IST 2026
[2026-10-20 18:41:09,161.161 INFO    ] ================================================
[2026-10-20 18:41:09,748.748 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:41:09
[2026-10-20 18:41:10,353.353 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:41:10,626.626 INFO    ] Initializing speech engine...
[2026-10-20 18:41:10,635.635 INFO    ] 2026-10-20 18:41:10
[2026-10-20 18:41:10,879.879 INFO    ] 2026-10-20 18:41:10
[2026-10-20 18:41:10,915.915 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:41:11,165.165 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:41:11,174.174 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:41:11,307.307 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:41:11,372.372 INFO    ] time= 20/10/2026 18:41:11
[2026-10-20 18:41:11,416.416 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:41:11,440.440 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:41:11,589.589 INFO    ] No existing commands found in stream
[2026-10-20 18:41:16,623.623 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:41:16,626.626 INFO    ] Waiting 2.41 seconds before fallback handling...
[2026-10-20 18:41:19,524.524 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 18:41:19,527.527 INFO    ] Checking for system updates...
[2026-10-20 18:41:19,562.562 INFO    ] 200
[2026-10-20 18:41:19,564.564 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:41:19,622.622 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:41:19,624.624 INFO    ] No update needed
[2026-10-20 18:41:19,627.627 INFO    ] Checking for camera pi updates...
[2026-10-20 18:41:19,660.660 INFO    ] 200
[2026-10-20 18:41:19,662.662 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:41:19,705.705 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:41:19,751.751 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:41:19,754.754 INFO    ] No camera update needed
[2026-10-20 18:41:19,756.756 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:41:19,758.758 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:41:19,763.763 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:41:19,768.768 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:41:21,810.810 INFO    ] ================================================
[2026-10-20 18:41:21,825.825 INFO    ] Launching Daemon at Tue Oct 20 18:41:21 IST 2026
[2026-10-20 18:41:21,839.839 INFO    ] ================================================
[2026-10-20 18:41:22,412.412 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:41:22
[2026-10-20 18:41:22,996.996 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:41:23,265.265 INFO    ] Initializing speech engine...
[2026-10-20 18:41:23,274.274 INFO    ] 2026-10-20 18:41:23
[2026-10-20 18:41:23,519.519 INFO    ] 2026-10-20 18:41:23
[2026-10-20 18:41:23,554.554 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:41:23,804.804 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:41:23,813.813 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:41:24,010.010 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:41:24,070.070 INFO    ] time= 20/10/2026 18:41:24
[2026-10-20 18:41:24,077.077 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:41:24,095.095 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:41:24,221.221 INFO    ] No existing commands found in stream
[2026-10-20 18:41:29,236.236 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:41:29,239.239 INFO    ] Waiting 1.16 seconds before fallback handling...
[2026-10-20 18:41:30,926.926 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 18:41:30,929.929 INFO    ] Checking for system updates...
[2026-10-20 18:41:30,965.965 INFO    ] 200
[2026-10-20 18:41:30,968.968 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:41:31,027.027 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:41:31,030.030 INFO    ] No update needed
[2026-10-20 18:41:31,033.033 INFO    ] Checking for camera pi updates...
[2026-10-20 18:41:31,074.074 INFO    ] 200
[2026-10-20 18:41:31,077.077 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:41:31,122.122 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:41:31,278.278 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:41:31,281.281 INFO    ] No camera update needed
[2026-10-20 18:41:31,283.283 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:41:31,285.285 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:41:31,291.291 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:41:31,296.296 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:41:33,337.337 INFO    ] ================================================
[2026-10-20 18:41:33,353.353 INFO    ] Launching Daemon at Tue Oct 20 18:41:33 IST 2026
[2026-10-20 18:41:33,365.365 INFO    ] ================================================
[2026-10-20 18:41:33,939.939 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:41:33
[2026-10-20 18:41:34,519.519 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:41:34,787.787 INFO    ] Initializing speech engine...
[2026-10-20 18:41:34,796.796 INFO    ] 2026-10-20 18:41:34
[2026-10-20 18:41:35,039.039 INFO    ] 2026-10-20 18:41:35
[2026-10-20 18:41:35,075.075 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:41:35,325.325 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:41:35,334.334 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:41:35,532.532 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:41:35,591.591 INFO    ] time= 20/10/2026 18:41:35
[2026-10-20 18:41:35,597.597 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:41:35,614.614 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:41:35,745.745 INFO    ] No existing commands found in stream
[2026-10-20 18:41:40,757.757 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:41:40,759.759 INFO    ] Waiting 3.80 seconds before fallback handling...
[2026-10-20 18:41:45,119.119 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:41:45,122.122 INFO    ] Checking for system updates...
[2026-10-20 18:41:45,159.159 INFO    ] 200
[2026-10-20 18:41:45,162.162 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:41:45,214.214 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:41:45,217.217 INFO    ] No update needed
[2026-10-20 18:41:45,220.220 INFO    ] Checking for camera pi updates...
[2026-10-20 18:41:45,253.253 INFO    ] 200
[2026-10-20 18:41:45,256.256 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:41:45,295.295 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:41:45,335.335 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:41:45,337.337 INFO    ] No camera update needed
[2026-10-20 18:41:45,340.340 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:41:45,342.342 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:41:45,347.347 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:41:45,352.352 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:41:47,392.392 INFO    ] ================================================
[2026-10-20 18:41:47,408.408 INFO    ] Launching Daemon at Tue Oct 20 18:41:47 IST 2026
[2026-10-20 18:41:47,418.418 INFO    ] ================================================
[2026-10-20 18:41:48,054.054 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:41:48
[2026-10-20 18:41:48,658.658 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:41:48,935.935 INFO    ] Initializing speech engine...
[2026-10-20 18:41:48,941.941 INFO    ] 2026-10-20 18:41:48
[2026-10-20 18:41:49,203.203 INFO    ] 2026-10-20 18:41:49
[2026-10-20 18:41:49,254.254 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:41:49,504.504 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:41:49,511.511 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:41:49,726.726 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:41:49,751.751 INFO    ] time= 20/10/2026 18:41:49
[2026-10-20 18:41:49,767.767 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:41:49,776.776 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:41:49,894.894 INFO    ] No existing commands found in stream
[2026-10-20 18:41:54,914.914 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:41:54,917.917 INFO    ] Waiting 2.46 seconds before fallback handling...
[2026-10-20 18:41:57,886.886 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:41:57,889.889 INFO    ] Checking for system updates...
[2026-10-20 18:41:57,926.926 INFO    ] 200
[2026-10-20 18:41:57,930.930 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:41:57,991.991 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:41:57,994.994 INFO    ] No update needed
[2026-10-20 18:41:57,997.997 INFO    ] Checking for camera pi updates...
[2026-10-20 18:41:58,035.035 INFO    ] 200
[2026-10-20 18:41:58,038.038 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:41:58,084.084 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:41:58,141.141 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:41:58,143.143 INFO    ] No camera update needed
[2026-10-20 18:41:58,146.146 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:41:58,149.149 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:41:58,155.155 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:41:58,161.161 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:42:00,202.202 INFO    ] ================================================
[2026-10-20 18:42:00,217.217 INFO    ] Launching Daemon at Tue Oct 20 18:42:00 IST 2026
[2026-10-20 18:42:00,228.228 INFO    ] ================================================
[2026-10-20 18:42:00,889.889 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:42:00
[2026-10-20 18:42:01,567.567 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:42:01,865.865 INFO    ] Initializing speech engine...
[2026-10-20 18:42:01,877.877 INFO    ] 2026-10-20 18:42:01
[2026-10-20 18:42:02,277.277 INFO    ] 2026-10-20 18:42:02
[2026-10-20 18:42:02,351.351 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:42:02,622.622 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:42:02,625.625 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:42:02,814.814 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:42:02,863.863 INFO    ] time= 20/10/2026 18:42:02
[2026-10-20 18:42:02,929.929 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:42:02,961.961 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:42:03,109.109 INFO    ] No existing commands found in stream
[2026-10-20 18:42:08,155.155 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:42:08,158.158 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-10-20 18:42:10,827.827 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 18:42:10,830.830 INFO    ] Checking for system updates...
[2026-10-20 18:42:10,866.866 INFO    ] 200
[2026-10-20 18:42:10,868.868 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:42:10,921.921 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:42:10,924.924 INFO    ] No update needed
[2026-10-20 18:42:10,926.926 INFO    ] Checking for camera pi updates...
[2026-10-20 18:42:10,963.963 INFO    ] 200
[2026-10-20 18:42:10,965.965 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:42:11,006.006 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:42:11,054.054 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:42:11,057.057 INFO    ] No camera update needed
[2026-10-20 18:42:11,059.059 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:42:11,061.061 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:42:11,067.067 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:42:11,072.072 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:42:13,112.112 INFO    ] ================================================
[2026-10-20 18:42:13,127.127 INFO    ] Launching Daemon at Tue Oct 20 18:42:13 IST 2026
[2026-10-20 18:42:13,137.137 INFO    ] ================================================
[2026-10-20 18:42:13,797.797 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:42:13
[2026-10-20 18:42:14,477.477 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:42:14,785.785 INFO    ] Initializing speech engine...
[2026-10-20 18:42:14,800.800 INFO    ] 2026-10-20 18:42:14
[2026-10-20 18:42:15,114.114 INFO    ] 2026-10-20 18:42:15
[2026-10-20 18:42:15,205.205 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:42:15,422.422 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:42:15,431.431 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:42:15,633.633 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:42:15,652.652 INFO    ] time= 20/10/2026 18:42:15
[2026-10-20 18:42:15,661.661 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:42:15,689.689 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:42:15,814.814 INFO    ] No existing commands found in stream
[2026-10-20 18:42:20,845.845 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:42:20,848.848 INFO    ] Waiting 2.83 seconds before fallback handling...
[2026-10-20 18:42:24,187.187 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:42:24,190.190 INFO    ] Checking for system updates...
[2026-10-20 18:42:24,226.226 INFO    ] 200
[2026-10-20 18:42:24,229.229 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:42:24,290.290 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:42:24,292.292 INFO    ] No update needed
[2026-10-20 18:42:24,295.295 INFO    ] Checking for camera pi updates...
[2026-10-20 18:42:24,334.334 INFO    ] 200
[2026-10-20 18:42:24,337.337 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:42:24,384.384 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:42:24,436.436 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:42:24,439.439 INFO    ] No camera update needed
[2026-10-20 18:42:24,441.441 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:42:24,444.444 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:42:24,449.449 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:42:24,454.454 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:42:26,493.493 INFO    ] ================================================
[2026-10-20 18:42:26,508.508 INFO    ] Launching Daemon at Tue Oct 20 18:42:26 IST 2026
[2026-10-20 18:42:26,519.519 INFO    ] ================================================
[2026-10-20 18:42:27,088.088 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:42:27
[2026-10-20 18:42:27,675.675 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:42:27,941.941 INFO    ] Initializing speech engine...
[2026-10-20 18:42:27,949.949 INFO    ] 2026-10-20 18:42:27
[2026-10-20 18:42:28,196.196 INFO    ] 2026-10-20 18:42:28
[2026-10-20 18:42:28,230.230 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:42:28,486.486 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:42:28,491.491 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:42:28,622.622 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:42:28,687.687 INFO    ] time= 20/10/2026 18:42:28
[2026-10-20 18:42:28,736.736 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:42:28,752.752 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:42:28,898.898 INFO    ] No existing commands found in stream
[2026-10-20 18:42:33,911.911 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:42:33,913.913 INFO    ] Waiting 1.03 seconds before fallback handling...
[2026-10-20 18:42:35,481.481 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 18:42:35,483.483 INFO    ] Checking for system updates...
[2026-10-20 18:42:35,521.521 INFO    ] 200
[2026-10-20 18:42:35,523.523 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:42:35,584.584 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:42:35,587.587 INFO    ] No update needed
[2026-10-20 18:42:35,590.590 INFO    ] Checking for camera pi updates...
[2026-10-20 18:42:35,624.624 INFO    ] 200
[2026-10-20 18:42:35,627.627 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:42:35,673.673 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:42:35,725.725 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:42:35,728.728 INFO    ] No camera update needed
[2026-10-20 18:42:35,731.731 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:42:35,733.733 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:42:35,740.740 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:42:35,745.745 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:42:37,788.788 INFO    ] ================================================
[2026-10-20 18:42:37,804.804 INFO    ] Launching Daemon at Tue Oct 20 18:42:37 IST 2026
[2026-10-20 18:42:37,815.815 INFO    ] ================================================
[2026-10-20 18:42:38,397.397 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:42:38
[2026-10-20 18:42:38,997.997 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:42:39,275.275 INFO    ] Initializing speech engine...
[2026-10-20 18:42:39,281.281 INFO    ] 2026-10-20 18:42:39
[2026-10-20 18:42:39,539.539 INFO    ] 2026-10-20 18:42:39
[2026-10-20 18:42:39,569.569 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:42:39,820.820 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:42:39,825.825 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:42:40,020.020 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:42:40,082.082 INFO    ] time= 20/10/2026 18:42:40
[2026-10-20 18:42:40,089.089 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:42:40,106.106 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:42:40,239.239 INFO    ] No existing commands found in stream
[2026-10-20 18:42:45,261.261 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:42:45,264.264 INFO    ] Waiting 2.49 seconds before fallback handling...
[2026-10-20 18:42:48,303.303 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 18:42:48,305.305 INFO    ] Checking for system updates...
[2026-10-20 18:42:48,341.341 INFO    ] 200
[2026-10-20 18:42:48,343.343 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:42:48,396.396 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:42:48,399.399 INFO    ] No update needed
[2026-10-20 18:42:48,401.401 INFO    ] Checking for camera pi updates...
[2026-10-20 18:42:48,435.435 INFO    ] 200
[2026-10-20 18:42:48,438.438 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:42:48,490.490 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:42:48,539.539 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:42:48,541.541 INFO    ] No camera update needed
[2026-10-20 18:42:48,544.544 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:42:48,546.546 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:42:48,552.552 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:42:48,557.557 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:42:50,596.596 INFO    ] ================================================
[2026-10-20 18:42:50,612.612 INFO    ] Launching Daemon at Tue Oct 20 18:42:50 IST 2026
[2026-10-20 18:42:50,622.622 INFO    ] ================================================
[2026-10-20 18:42:51,189.189 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:42:51
[2026-10-20 18:42:51,801.801 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:42:52,109.109 INFO    ] Initializing speech engine...
[2026-10-20 18:42:52,120.120 INFO    ] 2026-10-20 18:42:52
[2026-10-20 18:42:52,385.385 INFO    ] 2026-10-20 18:42:52
[2026-10-20 18:42:52,430.430 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:42:52,686.686 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:42:52,705.705 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:42:52,915.915 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:42:52,930.930 INFO    ] time= 20/10/2026 18:42:52
[2026-10-20 18:42:52,946.946 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:42:52,955.955 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:42:53,083.083 INFO    ] No existing commands found in stream
[2026-10-20 18:42:58,099.099 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:42:58,102.102 INFO    ] Waiting 2.40 seconds before fallback handling...
[2026-10-20 18:43:01,103.103 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 18:43:01,107.107 INFO    ] Checking for system updates...
[2026-10-20 18:43:01,169.169 INFO    ] 200
[2026-10-20 18:43:01,173.173 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:43:01,270.270 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:43:01,279.279 INFO    ] No update needed
[2026-10-20 18:43:01,283.283 INFO    ] Checking for camera pi updates...
[2026-10-20 18:43:01,341.341 INFO    ] 200
[2026-10-20 18:43:01,345.345 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:43:01,397.397 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:43:01,471.471 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:43:01,475.475 INFO    ] No camera update needed
[2026-10-20 18:43:01,481.481 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:43:01,486.486 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:43:01,496.496 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:43:01,506.506 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:43:03,552.552 INFO    ] ================================================
[2026-10-20 18:43:03,567.567 INFO    ] Launching Daemon at Tue Oct 20 18:43:03 IST 2026
[2026-10-20 18:43:03,578.578 INFO    ] ================================================
[2026-10-20 18:43:04,150.150 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:43:04
[2026-10-20 18:43:04,730.730 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:43:04,975.975 INFO    ] Initializing speech engine...
[2026-10-20 18:43:04,983.983 INFO    ] 2026-10-20 18:43:04
[2026-10-20 18:43:05,254.254 INFO    ] 2026-10-20 18:43:05
[2026-10-20 18:43:05,290.290 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:43:05,547.547 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:43:05,556.556 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:43:05,763.763 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:43:05,812.812 INFO    ] time= 20/10/2026 18:43:05
[2026-10-20 18:43:05,819.819 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:43:05,836.836 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:43:05,987.987 INFO    ] No existing commands found in stream
[2026-10-20 18:43:11,017.017 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:43:11,020.020 INFO    ] Waiting 0.87 seconds before fallback handling...
[2026-10-20 18:43:12,434.434 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:43:12,437.437 INFO    ] Checking for system updates...
[2026-10-20 18:43:12,472.472 INFO    ] 200
[2026-10-20 18:43:12,475.475 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:43:12,531.531 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:43:12,533.533 INFO    ] No update needed
[2026-10-20 18:43:12,535.535 INFO    ] Checking for camera pi updates...
[2026-10-20 18:43:12,568.568 INFO    ] 200
[2026-10-20 18:43:12,571.571 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:43:12,613.613 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:43:12,668.668 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:43:12,671.671 INFO    ] No camera update needed
[2026-10-20 18:43:12,673.673 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:43:12,675.675 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:43:12,686.686 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:43:12,692.692 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:43:14,735.735 INFO    ] ================================================
[2026-10-20 18:43:14,751.751 INFO    ] Launching Daemon at Tue Oct 20 18:43:14 IST 2026
[2026-10-20 18:43:14,763.763 INFO    ] ================================================
[2026-10-20 18:43:15,334.334 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:43:15
[2026-10-20 18:43:15,916.916 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:43:16,184.184 INFO    ] Initializing speech engine...
[2026-10-20 18:43:16,194.194 INFO    ] 2026-10-20 18:43:16
[2026-10-20 18:43:16,444.444 INFO    ] 2026-10-20 18:43:16
[2026-10-20 18:43:16,478.478 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:43:16,725.725 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:43:16,735.735 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:43:16,950.950 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:43:17,000.000 INFO    ] time= 20/10/2026 18:43:16
[2026-10-20 18:43:17,007.007 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:43:17,025.025 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:43:17,137.137 INFO    ] No existing commands found in stream
[2026-10-20 18:43:22,162.162 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:43:22,165.165 INFO    ] Waiting 2.73 seconds before fallback handling...
[2026-10-20 18:43:25,366.366 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 18:43:25,368.368 INFO    ] Checking for system updates...
[2026-10-20 18:43:25,407.407 INFO    ] 200
[2026-10-20 18:43:25,409.409 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:43:25,467.467 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:43:25,470.470 INFO    ] No update needed
[2026-10-20 18:43:25,472.472 INFO    ] Checking for camera pi updates...
[2026-10-20 18:43:25,509.509 INFO    ] 200
[2026-10-20 18:43:25,512.512 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:43:25,552.552 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:43:25,600.600 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:43:25,603.603 INFO    ] No camera update needed
[2026-10-20 18:43:25,605.605 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:43:25,607.607 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:43:25,613.613 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:43:25,618.618 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:43:27,659.659 INFO    ] ================================================
[2026-10-20 18:43:27,675.675 INFO    ] Launching Daemon at Tue Oct 20 18:43:27 IST 2026
[2026-10-20 18:43:27,686.686 INFO    ] ================================================
[2026-10-20 18:43:28,335.335 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:43:28
[2026-10-20 18:43:29,003.003 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:43:29,304.304 INFO    ] Initializing speech engine...
[2026-10-20 18:43:29,312.312 INFO    ] 2026-10-20 18:43:29
[2026-10-20 18:43:29,594.594 INFO    ] 2026-10-20 18:43:29
[2026-10-20 18:43:29,636.636 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:43:29,858.858 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:43:29,862.862 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:43:30,065.065 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:43:30,120.120 INFO    ] time= 20/10/2026 18:43:30
[2026-10-20 18:43:30,126.126 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:43:30,144.144 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:43:30,288.288 INFO    ] No existing commands found in stream
[2026-10-20 18:43:35,315.315 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:43:35,317.317 INFO    ] Waiting 2.57 seconds before fallback handling...
[2026-10-20 18:43:38,416.416 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:43:38,418.418 INFO    ] Checking for system updates...
[2026-10-20 18:43:38,454.454 INFO    ] 200
[2026-10-20 18:43:38,457.457 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:43:38,515.515 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:43:38,518.518 INFO    ] No update needed
[2026-10-20 18:43:38,520.520 INFO    ] Checking for camera pi updates...
[2026-10-20 18:43:38,554.554 INFO    ] 200
[2026-10-20 18:43:38,557.557 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:43:38,603.603 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:43:38,747.747 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:43:38,750.750 INFO    ] No camera update needed
[2026-10-20 18:43:38,752.752 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:43:38,755.755 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:43:38,760.760 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:43:38,765.765 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:43:40,811.811 INFO    ] ================================================
[2026-10-20 18:43:40,826.826 INFO    ] Launching Daemon at Tue Oct 20 18:43:40 IST 2026
[2026-10-20 18:43:40,837.837 INFO    ] ================================================
[2026-10-20 18:43:41,487.487 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:43:41
[2026-10-20 18:43:42,156.156 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:43:42,460.460 INFO    ] Initializing speech engine...
[2026-10-20 18:43:42,468.468 INFO    ] 2026-10-20 18:43:42
[2026-10-20 18:43:42,754.754 INFO    ] 2026-10-20 18:43:42
[2026-10-20 18:43:42,833.833 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:43:43,081.081 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:43:43,090.090 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:43:43,285.285 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:43:43,292.292 INFO    ] time= 20/10/2026 18:43:43
[2026-10-20 18:43:43,314.314 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:43:43,341.341 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:43:43,453.453 INFO    ] No existing commands found in stream
[2026-10-20 18:43:48,478.478 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:43:48,481.481 INFO    ] Waiting 2.37 seconds before fallback handling...
[2026-10-20 18:43:51,408.408 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:43:51,411.411 INFO    ] Checking for system updates...
[2026-10-20 18:43:51,446.446 INFO    ] 200
[2026-10-20 18:43:51,448.448 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:43:51,500.500 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:43:51,503.503 INFO    ] No update needed
[2026-10-20 18:43:51,505.505 INFO    ] Checking for camera pi updates...
[2026-10-20 18:43:51,538.538 INFO    ] 200
[2026-10-20 18:43:51,541.541 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:43:51,585.585 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:43:51,630.630 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:43:51,632.632 INFO    ] No camera update needed
[2026-10-20 18:43:51,635.635 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:43:51,637.637 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:43:51,642.642 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:43:51,647.647 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:43:53,687.687 INFO    ] ================================================
[2026-10-20 18:43:53,703.703 INFO    ] Launching Daemon at Tue Oct 20 18:43:53 IST 2026
[2026-10-20 18:43:53,714.714 INFO    ] ================================================
[2026-10-20 18:43:54,306.306 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:43:54
[2026-10-20 18:43:54,915.915 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:43:55,192.192 INFO    ] Initializing speech engine...
[2026-10-20 18:43:55,200.200 INFO    ] 2026-10-20 18:43:55
[2026-10-20 18:43:55,459.459 INFO    ] 2026-10-20 18:43:55
[2026-10-20 18:43:55,513.513 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:43:55,795.795 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:43:55,804.804 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:43:55,999.999 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:43:56,005.005 INFO    ] time= 20/10/2026 18:43:56
[2026-10-20 18:43:56,023.023 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:43:56,051.051 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:43:56,164.164 INFO    ] No existing commands found in stream
[2026-10-20 18:44:01,193.193 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:44:01,196.196 INFO    ] Waiting 1.69 seconds before fallback handling...
[2026-10-20 18:44:03,435.435 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 18:44:03,438.438 INFO    ] Checking for system updates...
[2026-10-20 18:44:03,484.484 INFO    ] 200
[2026-10-20 18:44:03,487.487 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:44:03,565.565 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:44:03,568.568 INFO    ] No update needed
[2026-10-20 18:44:03,571.571 INFO    ] Checking for camera pi updates...
[2026-10-20 18:44:03,609.609 INFO    ] 200
[2026-10-20 18:44:03,612.612 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:44:03,657.657 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:44:03,706.706 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:44:03,709.709 INFO    ] No camera update needed
[2026-10-20 18:44:03,711.711 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:44:03,713.713 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:44:03,719.719 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:44:03,724.724 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:44:05,764.764 INFO    ] ================================================
[2026-10-20 18:44:05,780.780 INFO    ] Launching Daemon at Tue Oct 20 18:44:05 IST 2026
[2026-10-20 18:44:05,791.791 INFO    ] ================================================
[2026-10-20 18:44:06,357.357 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:44:06
[2026-10-20 18:44:06,937.937 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:44:07,205.205 INFO    ] Initializing speech engine...
[2026-10-20 18:44:07,214.214 INFO    ] 2026-10-20 18:44:07
[2026-10-20 18:44:07,459.459 INFO    ] 2026-10-20 18:44:07
[2026-10-20 18:44:07,494.494 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:44:07,744.744 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:44:07,753.753 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:44:07,892.892 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:44:07,941.941 INFO    ] time= 20/10/2026 18:44:07
[2026-10-20 18:44:08,001.001 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:44:08,019.019 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:44:08,144.144 INFO    ] No existing commands found in stream
[2026-10-20 18:44:13,171.171 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:44:13,174.174 INFO    ] Waiting 2.09 seconds before fallback handling...
[2026-10-20 18:44:15,828.828 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:44:15,831.831 INFO    ] Checking for system updates...
[2026-10-20 18:44:15,870.870 INFO    ] 200
[2026-10-20 18:44:15,873.873 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:44:15,924.924 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:44:15,926.926 INFO    ] No update needed
[2026-10-20 18:44:15,928.928 INFO    ] Checking for camera pi updates...
[2026-10-20 18:44:15,965.965 INFO    ] 200
[2026-10-20 18:44:15,967.967 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:44:16,008.008 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:44:16,052.052 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:44:16,055.055 INFO    ] No camera update needed
[2026-10-20 18:44:16,057.057 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:44:16,059.059 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:44:16,064.064 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:44:16,070.070 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:44:18,109.109 INFO    ] ================================================
[2026-10-20 18:44:18,125.125 INFO    ] Launching Daemon at Tue Oct 20 18:44:18 IST 2026
[2026-10-20 18:44:18,136.136 INFO    ] ================================================
[2026-10-20 18:44:18,703.703 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:44:18
[2026-10-20 18:44:19,284.284 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:44:19,553.553 INFO    ] Initializing speech engine...
[2026-10-20 18:44:19,562.562 INFO    ] 2026-10-20 18:44:19
[2026-10-20 18:44:19,820.820 INFO    ] 2026-10-20 18:44:19
[2026-10-20 18:44:19,874.874 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:44:20,102.102 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:44:20,122.122 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:44:20,334.334 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:44:20,365.365 INFO    ] time= 20/10/2026 18:44:20
[2026-10-20 18:44:20,380.380 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:44:20,387.387 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:44:20,518.518 INFO    ] No existing commands found in stream
[2026-10-20 18:44:25,532.532 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:44:25,535.535 INFO    ] Waiting 1.97 seconds before fallback handling...
[2026-10-20 18:44:28,099.099 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:44:28,102.102 INFO    ] Checking for system updates...
[2026-10-20 18:44:28,139.139 INFO    ] 200
[2026-10-20 18:44:28,142.142 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:44:28,196.196 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:44:28,198.198 INFO    ] No update needed
[2026-10-20 18:44:28,201.201 INFO    ] Checking for camera pi updates...
[2026-10-20 18:44:28,238.238 INFO    ] 200
[2026-10-20 18:44:28,240.240 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:44:28,282.282 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:44:28,326.326 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:44:28,329.329 INFO    ] No camera update needed
[2026-10-20 18:44:28,332.332 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:44:28,334.334 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:44:28,339.339 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:44:28,344.344 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:44:30,385.385 INFO    ] ================================================
[2026-10-20 18:44:30,401.401 INFO    ] Launching Daemon at Tue Oct 20 18:44:30 IST 2026
[2026-10-20 18:44:30,412.412 INFO    ] ================================================
[2026-10-20 18:44:30,980.980 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:44:30
[2026-10-20 18:44:31,564.564 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:44:31,826.826 INFO    ] Initializing speech engine...
[2026-10-20 18:44:31,847.847 INFO    ] 2026-10-20 18:44:31
[2026-10-20 18:44:32,116.116 INFO    ] 2026-10-20 18:44:32
[2026-10-20 18:44:32,156.156 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:44:32,363.363 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:44:32,370.370 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:44:32,508.508 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:44:32,516.516 INFO    ] time= 20/10/2026 18:44:32
[2026-10-20 18:44:32,536.536 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:44:32,559.559 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:44:32,652.652 INFO    ] No existing commands found in stream
[2026-10-20 18:44:37,672.672 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:44:37,675.675 INFO    ] Waiting 3.30 seconds before fallback handling...
[2026-10-20 18:44:41,504.504 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:44:41,506.506 INFO    ] Checking for system updates...
[2026-10-20 18:44:41,543.543 INFO    ] 200
[2026-10-20 18:44:41,545.545 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:44:41,598.598 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:44:41,601.601 INFO    ] No update needed
[2026-10-20 18:44:41,603.603 INFO    ] Checking for camera pi updates...
[2026-10-20 18:44:41,636.636 INFO    ] 200
[2026-10-20 18:44:41,639.639 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:44:41,680.680 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:44:41,732.732 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:44:41,735.735 INFO    ] No camera update needed
[2026-10-20 18:44:41,737.737 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:44:41,739.739 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:44:41,745.745 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:44:41,750.750 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:44:43,789.789 INFO    ] ================================================
[2026-10-20 18:44:43,804.804 INFO    ] Launching Daemon at Tue Oct 20 18:44:43 IST 2026
[2026-10-20 18:44:43,816.816 INFO    ] ================================================
[2026-10-20 18:44:44,402.402 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:44:44
[2026-10-20 18:44:44,983.983 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:44:45,249.249 INFO    ] Initializing speech engine...
[2026-10-20 18:44:45,261.261 INFO    ] 2026-10-20 18:44:45
[2026-10-20 18:44:45,510.510 INFO    ] 2026-10-20 18:44:45
[2026-10-20 18:44:45,545.545 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:44:45,801.801 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:44:45,811.811 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:44:46,007.007 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:44:46,062.062 INFO    ] time= 20/10/2026 18:44:46
[2026-10-20 18:44:46,080.080 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:44:46,095.095 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:44:46,232.232 INFO    ] No existing commands found in stream
[2026-10-20 18:44:51,247.247 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:44:51,250.250 INFO    ] Waiting 3.92 seconds before fallback handling...
[2026-10-20 18:44:55,761.761 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 18:44:55,764.764 INFO    ] Checking for system updates...
[2026-10-20 18:44:55,805.805 INFO    ] 200
[2026-10-20 18:44:55,808.808 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:44:55,874.874 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:44:55,877.877 INFO    ] No update needed
[2026-10-20 18:44:55,879.879 INFO    ] Checking for camera pi updates...
[2026-10-20 18:44:55,913.913 INFO    ] 200
[2026-10-20 18:44:55,916.916 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:44:55,960.960 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:44:56,005.005 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:44:56,008.008 INFO    ] No camera update needed
[2026-10-20 18:44:56,011.011 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:44:56,013.013 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:44:56,020.020 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:44:56,025.025 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:44:58,065.065 INFO    ] ================================================
[2026-10-20 18:44:58,081.081 INFO    ] Launching Daemon at Tue Oct 20 18:44:58 IST 2026
[2026-10-20 18:44:58,092.092 INFO    ] ================================================
[2026-10-20 18:44:58,678.678 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:44:58
[2026-10-20 18:44:59,261.261 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:44:59,530.530 INFO    ] Initializing speech engine...
[2026-10-20 18:44:59,540.540 INFO    ] 2026-10-20 18:44:59
[2026-10-20 18:44:59,799.799 INFO    ] 2026-10-20 18:44:59
[2026-10-20 18:44:59,833.833 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:45:00,088.088 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:45:00,092.092 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:45:00,229.229 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:45:00,284.284 INFO    ] time= 20/10/2026 18:45:00
[2026-10-20 18:45:00,327.327 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:45:00,363.363 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:45:00,504.504 INFO    ] No existing commands found in stream
[2026-10-20 18:45:05,525.525 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:45:05,528.528 INFO    ] Waiting 1.33 seconds before fallback handling...
[2026-10-20 18:45:07,393.393 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 18:45:07,396.396 INFO    ] Checking for system updates...
[2026-10-20 18:45:07,434.434 INFO    ] 200
[2026-10-20 18:45:07,437.437 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:45:07,489.489 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:45:07,492.492 INFO    ] No update needed
[2026-10-20 18:45:07,494.494 INFO    ] Checking for camera pi updates...
[2026-10-20 18:45:07,528.528 INFO    ] 200
[2026-10-20 18:45:07,531.531 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:45:07,571.571 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:45:07,633.633 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:45:07,635.635 INFO    ] No camera update needed
[2026-10-20 18:45:07,638.638 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:45:07,640.640 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:45:07,645.645 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:45:07,650.650 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:45:09,691.691 INFO    ] ================================================
[2026-10-20 18:45:09,706.706 INFO    ] Launching Daemon at Tue Oct 20 18:45:09 IST 2026
[2026-10-20 18:45:09,718.718 INFO    ] ================================================
[2026-10-20 18:45:10,346.346 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:45:10
[2026-10-20 18:45:10,997.997 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:45:11,292.292 INFO    ] Initializing speech engine...
[2026-10-20 18:45:11,300.300 INFO    ] 2026-10-20 18:45:11
[2026-10-20 18:45:11,557.557 INFO    ] 2026-10-20 18:45:11
[2026-10-20 18:45:11,611.611 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:45:11,859.859 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:45:11,864.864 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:45:12,069.069 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:45:12,098.098 INFO    ] time= 20/10/2026 18:45:12
[2026-10-20 18:45:12,104.104 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:45:12,125.125 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:45:12,253.253 INFO    ] No existing commands found in stream
[2026-10-20 18:45:17,268.268 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:45:17,271.271 INFO    ] Waiting 0.52 seconds before fallback handling...
[2026-10-20 18:45:18,266.266 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 18:45:18,269.269 INFO    ] Checking for system updates...
[2026-10-20 18:45:18,305.305 INFO    ] 200
[2026-10-20 18:45:18,307.307 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:45:18,374.374 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:45:18,376.376 INFO    ] No update needed
[2026-10-20 18:45:18,378.378 INFO    ] Checking for camera pi updates...
[2026-10-20 18:45:18,416.416 INFO    ] 200
[2026-10-20 18:45:18,418.418 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:45:18,465.465 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:45:18,514.514 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:45:18,517.517 INFO    ] No camera update needed
[2026-10-20 18:45:18,519.519 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:45:18,521.521 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:45:18,527.527 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:45:18,532.532 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:45:20,571.571 INFO    ] ================================================
[2026-10-20 18:45:20,587.587 INFO    ] Launching Daemon at Tue Oct 20 18:45:20 IST 2026
[2026-10-20 18:45:20,598.598 INFO    ] ================================================
[2026-10-20 18:45:21,163.163 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:45:21
[2026-10-20 18:45:21,745.745 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:45:21,994.994 INFO    ] Initializing speech engine...
[2026-10-20 18:45:22,007.007 INFO    ] 2026-10-20 18:45:21
[2026-10-20 18:45:22,272.272 INFO    ] 2026-10-20 18:45:22
[2026-10-20 18:45:22,307.307 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:45:22,564.564 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:45:22,574.574 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:45:22,801.801 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:45:22,835.835 INFO    ] time= 20/10/2026 18:45:22
[2026-10-20 18:45:22,841.841 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:45:22,860.860 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:45:22,993.993 INFO    ] No existing commands found in stream
[2026-10-20 18:45:28,009.009 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:45:28,011.011 INFO    ] Waiting 0.95 seconds before fallback handling...
[2026-10-20 18:45:29,525.525 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:45:29,528.528 INFO    ] Checking for system updates...
[2026-10-20 18:45:29,565.565 INFO    ] 200
[2026-10-20 18:45:29,568.568 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:45:29,624.624 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:45:29,626.626 INFO    ] No update needed
[2026-10-20 18:45:29,628.628 INFO    ] Checking for camera pi updates...
[2026-10-20 18:45:29,665.665 INFO    ] 200
[2026-10-20 18:45:29,667.667 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:45:29,710.710 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:45:29,755.755 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:45:29,757.757 INFO    ] No camera update needed
[2026-10-20 18:45:29,761.761 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:45:29,763.763 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:45:29,769.769 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:45:29,774.774 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:45:31,813.813 INFO    ] ================================================
[2026-10-20 18:45:31,828.828 INFO    ] Launching Daemon at Tue Oct 20 18:45:31 IST 2026
[2026-10-20 18:45:31,839.839 INFO    ] ================================================
[2026-10-20 18:45:32,452.452 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:45:32
[2026-10-20 18:45:33,082.082 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:45:33,378.378 INFO    ] Initializing speech engine...
[2026-10-20 18:45:33,396.396 INFO    ] 2026-10-20 18:45:33
[2026-10-20 18:45:33,667.667 INFO    ] 2026-10-20 18:45:33
[2026-10-20 18:45:33,701.701 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:45:33,914.914 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:45:33,932.932 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:45:34,084.084 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:45:34,092.092 INFO    ] time= 20/10/2026 18:45:34
[2026-10-20 18:45:34,099.099 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:45:34,159.159 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:45:34,292.292 INFO    ] No existing commands found in stream
[2026-10-20 18:45:39,301.301 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:45:39,304.304 INFO    ] Waiting 0.55 seconds before fallback handling...
[2026-10-20 18:45:40,364.364 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:45:40,367.367 INFO    ] Checking for system updates...
[2026-10-20 18:45:40,410.410 INFO    ] 200
[2026-10-20 18:45:40,412.412 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 18:45:40,415.415 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-10-20 18:45:40,418.418 INFO    ] Checking for camera pi updates...
[2026-10-20 18:45:40,458.458 INFO    ] 200
[2026-10-20 18:45:40,461.461 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 18:45:40,464.464 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-10-20 18:45:40,466.466 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:45:40,468.468 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:45:40,474.474 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:45:40,481.481 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:45:42,522.522 INFO    ] ================================================
[2026-10-20 18:45:42,538.538 INFO    ] Launching Daemon at Tue Oct 20 18:45:42 IST 2026
[2026-10-20 18:45:42,550.550 INFO    ] ================================================
[2026-10-20 18:45:43,252.252 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:45:43
[2026-10-20 18:45:43,886.886 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:45:44,165.165 INFO    ] Initializing speech engine...
[2026-10-20 18:45:44,170.170 INFO    ] 2026-10-20 18:45:44
[2026-10-20 18:45:44,431.431 INFO    ] 2026-10-20 18:45:44
[2026-10-20 18:45:44,483.483 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:45:44,711.711 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:45:44,716.716 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:45:44,919.919 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:45:44,972.972 INFO    ] time= 20/10/2026 18:45:44
[2026-10-20 18:45:44,979.979 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:45:44,994.994 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:45:45,131.131 INFO    ] No existing commands found in stream
[2026-10-20 18:45:50,157.157 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:45:50,160.160 INFO    ] Waiting 3.21 seconds before fallback handling...
[2026-10-20 18:45:53,918.918 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 18:45:53,920.920 INFO    ] Checking for system updates...
[2026-10-20 18:45:53,957.957 INFO    ] 200
[2026-10-20 18:45:53,959.959 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:45:54,012.012 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:45:54,015.015 INFO    ] No update needed
[2026-10-20 18:45:54,017.017 INFO    ] Checking for camera pi updates...
[2026-10-20 18:45:54,051.051 INFO    ] 200
[2026-10-20 18:45:54,054.054 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:45:54,100.100 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:45:54,247.247 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:45:54,250.250 INFO    ] No camera update needed
[2026-10-20 18:45:54,252.252 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:45:54,255.255 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:45:54,260.260 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:45:54,265.265 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:45:56,307.307 INFO    ] ================================================
[2026-10-20 18:45:56,323.323 INFO    ] Launching Daemon at Tue Oct 20 18:45:56 IST 2026
[2026-10-20 18:45:56,334.334 INFO    ] ================================================
[2026-10-20 18:45:57,012.012 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:45:57
[2026-10-20 18:45:57,659.659 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:45:57,923.923 INFO    ] Initializing speech engine...
[2026-10-20 18:45:57,930.930 INFO    ] 2026-10-20 18:45:57
[2026-10-20 18:45:58,245.245 INFO    ] 2026-10-20 18:45:58
[2026-10-20 18:45:58,283.283 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:45:58,491.491 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:45:58,497.497 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:45:58,650.650 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:45:58,653.653 INFO    ] time= 20/10/2026 18:45:58
[2026-10-20 18:45:58,675.675 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:45:58,684.684 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:45:58,771.771 INFO    ] No existing commands found in stream
[2026-10-20 18:46:03,783.783 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:46:03,786.786 INFO    ] Waiting 2.30 seconds before fallback handling...
[2026-10-20 18:46:06,639.639 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:46:06,642.642 INFO    ] Checking for system updates...
[2026-10-20 18:46:06,681.681 INFO    ] 200
[2026-10-20 18:46:06,684.684 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:46:06,741.741 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:46:06,743.743 INFO    ] No update needed
[2026-10-20 18:46:06,746.746 INFO    ] Checking for camera pi updates...
[2026-10-20 18:46:06,780.780 INFO    ] 200
[2026-10-20 18:46:06,782.782 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:46:06,823.823 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:46:06,874.874 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:46:06,877.877 INFO    ] No camera update needed
[2026-10-20 18:46:06,879.879 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:46:06,882.882 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:46:06,887.887 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:46:06,892.892 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:46:08,931.931 INFO    ] ================================================
[2026-10-20 18:46:08,953.953 INFO    ] Launching Daemon at Tue Oct 20 18:46:08 IST 2026
[2026-10-20 18:46:08,964.964 INFO    ] ================================================
[2026-10-20 18:46:09,543.543 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:46:09
[2026-10-20 18:46:10,139.139 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:46:10,417.417 INFO    ] Initializing speech engine...
[2026-10-20 18:46:10,423.423 INFO    ] 2026-10-20 18:46:10
[2026-10-20 18:46:10,683.683 INFO    ] 2026-10-20 18:46:10
[2026-10-20 18:46:10,737.737 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:46:11,089.089 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:46:11,128.128 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:46:11,360.360 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:46:11,396.396 INFO    ] time= 20/10/2026 18:46:11
[2026-10-20 18:46:11,456.456 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:46:11,481.481 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:46:11,658.658 INFO    ] No existing commands found in stream
[2026-10-20 18:46:16,671.671 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:46:16,674.674 INFO    ] Waiting 3.66 seconds before fallback handling...
[2026-10-20 18:46:20,867.867 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 18:46:20,870.870 INFO    ] Checking for system updates...
[2026-10-20 18:46:20,906.906 INFO    ] 200
[2026-10-20 18:46:20,908.908 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:46:20,963.963 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:46:20,966.966 INFO    ] No update needed
[2026-10-20 18:46:20,968.968 INFO    ] Checking for camera pi updates...
[2026-10-20 18:46:21,002.002 INFO    ] 200
[2026-10-20 18:46:21,005.005 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:46:21,049.049 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:46:21,097.097 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:46:21,100.100 INFO    ] No camera update needed
[2026-10-20 18:46:21,102.102 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:46:21,104.104 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:46:21,110.110 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:46:21,115.115 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:46:23,154.154 INFO    ] ================================================
[2026-10-20 18:46:23,169.169 INFO    ] Launching Daemon at Tue Oct 20 18:46:23 IST 2026
[2026-10-20 18:46:23,180.180 INFO    ] ================================================
[2026-10-20 18:46:23,821.821 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:46:23
[2026-10-20 18:46:24,472.472 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:46:24,771.771 INFO    ] Initializing speech engine...
[2026-10-20 18:46:24,777.777 INFO    ] 2026-10-20 18:46:24
[2026-10-20 18:46:25,062.062 INFO    ] 2026-10-20 18:46:25
[2026-10-20 18:46:25,106.106 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:46:25,390.390 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:46:25,395.395 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:46:25,589.589 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:46:25,598.598 INFO    ] time= 20/10/2026 18:46:25
[2026-10-20 18:46:25,619.619 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:46:25,646.646 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:46:25,777.777 INFO    ] No existing commands found in stream
[2026-10-20 18:46:30,803.803 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:46:30,806.806 INFO    ] Waiting 3.66 seconds before fallback handling...
[2026-10-20 18:46:35,022.022 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:46:35,025.025 INFO    ] Checking for system updates...
[2026-10-20 18:46:35,061.061 INFO    ] 200
[2026-10-20 18:46:35,063.063 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:46:35,121.121 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:46:35,124.124 INFO    ] No update needed
[2026-10-20 18:46:35,126.126 INFO    ] Checking for camera pi updates...
[2026-10-20 18:46:35,162.162 INFO    ] 200
[2026-10-20 18:46:35,165.165 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:46:35,206.206 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:46:35,243.243 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:46:35,245.245 INFO    ] No camera update needed
[2026-10-20 18:46:35,247.247 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:46:35,249.249 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:46:35,255.255 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:46:35,260.260 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:46:37,299.299 INFO    ] ================================================
[2026-10-20 18:46:37,315.315 INFO    ] Launching Daemon at Tue Oct 20 18:46:37 IST 2026
[2026-10-20 18:46:37,326.326 INFO    ] ================================================
[2026-10-20 18:46:37,894.894 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:46:37
[2026-10-20 18:46:38,480.480 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:46:38,762.762 INFO    ] Initializing speech engine...
[2026-10-20 18:46:38,776.776 INFO    ] 2026-10-20 18:46:38
[2026-10-20 18:46:39,056.056 INFO    ] 2026-10-20 18:46:39
[2026-10-20 18:46:39,100.100 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:46:39,332.332 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:46:39,353.353 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:46:39,571.571 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:46:39,597.597 INFO    ] time= 20/10/2026 18:46:39
[2026-10-20 18:46:39,615.615 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:46:39,644.644 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:46:39,753.753 INFO    ] No existing commands found in stream
[2026-10-20 18:46:44,773.773 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:46:44,776.776 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-10-20 18:46:47,584.584 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 18:46:47,587.587 INFO    ] Checking for system updates...
[2026-10-20 18:46:47,627.627 INFO    ] 200
[2026-10-20 18:46:47,630.630 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:46:47,689.689 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:46:47,692.692 INFO    ] No update needed
[2026-10-20 18:46:47,695.695 INFO    ] Checking for camera pi updates...
[2026-10-20 18:46:47,729.729 INFO    ] 200
[2026-10-20 18:46:47,731.731 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:46:47,773.773 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:46:47,820.820 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:46:47,823.823 INFO    ] No camera update needed
[2026-10-20 18:46:47,826.826 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:46:47,828.828 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:46:47,834.834 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:46:47,840.840 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:46:49,886.886 INFO    ] ================================================
[2026-10-20 18:46:49,901.901 INFO    ] Launching Daemon at Tue Oct 20 18:46:49 IST 2026
[2026-10-20 18:46:49,912.912 INFO    ] ================================================
[2026-10-20 18:46:50,478.478 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:46:50
[2026-10-20 18:46:51,083.083 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:46:51,345.345 INFO    ] Initializing speech engine...
[2026-10-20 18:46:51,364.364 INFO    ] 2026-10-20 18:46:51
[2026-10-20 18:46:51,638.638 INFO    ] 2026-10-20 18:46:51
[2026-10-20 18:46:51,675.675 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:46:51,879.879 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:46:51,938.938 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:46:52,093.093 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:46:52,159.159 INFO    ] time= 20/10/2026 18:46:52
[2026-10-20 18:46:52,206.206 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:46:52,228.228 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:46:52,390.390 INFO    ] No existing commands found in stream
[2026-10-20 18:46:57,425.425 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:46:57,428.428 INFO    ] Waiting 3.65 seconds before fallback handling...
[2026-10-20 18:47:01,568.568 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 18:47:01,581.581 INFO    ] Checking for system updates...
[2026-10-20 18:47:01,641.641 INFO    ] 200
[2026-10-20 18:47:01,646.646 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:47:01,726.726 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:47:01,731.731 INFO    ] No update needed
[2026-10-20 18:47:01,734.734 INFO    ] Checking for camera pi updates...
[2026-10-20 18:47:01,777.777 INFO    ] 200
[2026-10-20 18:47:01,781.781 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:47:01,882.882 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:47:01,925.925 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:47:01,928.928 INFO    ] No camera update needed
[2026-10-20 18:47:01,931.931 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:47:01,933.933 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:47:01,942.942 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:47:01,949.949 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:47:03,992.992 INFO    ] ================================================
[2026-10-20 18:47:04,007.007 INFO    ] Launching Daemon at Tue Oct 20 18:47:04 IST 2026
[2026-10-20 18:47:04,017.017 INFO    ] ================================================
[2026-10-20 18:47:04,653.653 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:47:04
[2026-10-20 18:47:05,259.259 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:47:05,539.539 INFO    ] Initializing speech engine...
[2026-10-20 18:47:05,547.547 INFO    ] 2026-10-20 18:47:05
[2026-10-20 18:47:05,806.806 INFO    ] 2026-10-20 18:47:05
[2026-10-20 18:47:05,860.860 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:47:06,087.087 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:47:06,093.093 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:47:06,320.320 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:47:06,349.349 INFO    ] time= 20/10/2026 18:47:06
[2026-10-20 18:47:06,366.366 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:47:06,372.372 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:47:06,501.501 INFO    ] No existing commands found in stream
[2026-10-20 18:47:11,514.514 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:47:11,517.517 INFO    ] Waiting 2.77 seconds before fallback handling...
[2026-10-20 18:47:14,775.775 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:47:14,778.778 INFO    ] Checking for system updates...
[2026-10-20 18:47:14,814.814 INFO    ] 200
[2026-10-20 18:47:14,817.817 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:47:14,870.870 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:47:14,872.872 INFO    ] No update needed
[2026-10-20 18:47:14,874.874 INFO    ] Checking for camera pi updates...
[2026-10-20 18:47:14,912.912 INFO    ] 200
[2026-10-20 18:47:14,914.914 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:47:14,955.955 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:47:15,003.003 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:47:15,005.005 INFO    ] No camera update needed
[2026-10-20 18:47:15,007.007 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:47:15,010.010 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:47:15,015.015 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:47:15,021.021 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:47:17,062.062 INFO    ] ================================================
[2026-10-20 18:47:17,077.077 INFO    ] Launching Daemon at Tue Oct 20 18:47:17 IST 2026
[2026-10-20 18:47:17,088.088 INFO    ] ================================================
[2026-10-20 18:47:17,733.733 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:47:17
[2026-10-20 18:47:18,403.403 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:47:18,703.703 INFO    ] Initializing speech engine...
[2026-10-20 18:47:18,716.716 INFO    ] 2026-10-20 18:47:18
[2026-10-20 18:47:19,002.002 INFO    ] 2026-10-20 18:47:18
[2026-10-20 18:47:19,058.058 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:47:19,274.274 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:47:19,281.281 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:47:19,520.520 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:47:19,540.540 INFO    ] time= 20/10/2026 18:47:19
[2026-10-20 18:47:19,557.557 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:47:19,566.566 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:47:19,691.691 INFO    ] No existing commands found in stream
[2026-10-20 18:47:24,707.707 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:47:24,710.710 INFO    ] Waiting 2.86 seconds before fallback handling...
[2026-10-20 18:47:28,095.095 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 18:47:28,098.098 INFO    ] Checking for system updates...
[2026-10-20 18:47:28,134.134 INFO    ] 200
[2026-10-20 18:47:28,137.137 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:47:28,190.190 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:47:28,193.193 INFO    ] No update needed
[2026-10-20 18:47:28,195.195 INFO    ] Checking for camera pi updates...
[2026-10-20 18:47:28,229.229 INFO    ] 200
[2026-10-20 18:47:28,232.232 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:47:28,277.277 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:47:28,338.338 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:47:28,341.341 INFO    ] No camera update needed
[2026-10-20 18:47:28,343.343 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:47:28,345.345 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:47:28,351.351 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:47:28,357.357 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:47:30,397.397 INFO    ] ================================================
[2026-10-20 18:47:30,412.412 INFO    ] Launching Daemon at Tue Oct 20 18:47:30 IST 2026
[2026-10-20 18:47:30,423.423 INFO    ] ================================================
[2026-10-20 18:47:31,005.005 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:47:31
[2026-10-20 18:47:31,622.622 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:47:31,894.894 INFO    ] Initializing speech engine...
[2026-10-20 18:47:31,913.913 INFO    ] 2026-10-20 18:47:31
[2026-10-20 18:47:32,192.192 INFO    ] 2026-10-20 18:47:32
[2026-10-20 18:47:32,239.239 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:47:32,503.503 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:47:32,511.511 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:47:32,723.723 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:47:32,777.777 INFO    ] time= 20/10/2026 18:47:32
[2026-10-20 18:47:32,784.784 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:47:32,807.807 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:47:32,948.948 INFO    ] No existing commands found in stream
[2026-10-20 18:47:37,964.964 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:47:37,967.967 INFO    ] Waiting 0.09 seconds before fallback handling...
[2026-10-20 18:47:38,541.541 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 18:47:38,543.543 INFO    ] Checking for system updates...
[2026-10-20 18:47:38,579.579 INFO    ] 200
[2026-10-20 18:47:38,581.581 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:47:38,638.638 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:47:38,641.641 INFO    ] No update needed
[2026-10-20 18:47:38,643.643 INFO    ] Checking for camera pi updates...
[2026-10-20 18:47:38,677.677 INFO    ] 200
[2026-10-20 18:47:38,679.679 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:47:38,721.721 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:47:38,765.765 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:47:38,768.768 INFO    ] No camera update needed
[2026-10-20 18:47:38,771.771 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:47:38,773.773 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:47:38,779.779 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:47:38,785.785 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:47:40,824.824 INFO    ] ================================================
[2026-10-20 18:47:40,839.839 INFO    ] Launching Daemon at Tue Oct 20 18:47:40 IST 2026
[2026-10-20 18:47:40,850.850 INFO    ] ================================================
[2026-10-20 18:47:41,487.487 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:47:41
[2026-10-20 18:47:42,090.090 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:47:42,361.361 INFO    ] Initializing speech engine...
[2026-10-20 18:47:42,370.370 INFO    ] 2026-10-20 18:47:42
[2026-10-20 18:47:42,621.621 INFO    ] 2026-10-20 18:47:42
[2026-10-20 18:47:42,656.656 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:47:42,914.914 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:47:42,924.924 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:47:43,062.062 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:47:43,118.118 INFO    ] time= 20/10/2026 18:47:43
[2026-10-20 18:47:43,172.172 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:47:43,201.201 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:47:43,347.347 INFO    ] No existing commands found in stream
[2026-10-20 18:47:48,363.363 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:47:48,365.365 INFO    ] Waiting 2.34 seconds before fallback handling...
[2026-10-20 18:47:51,227.227 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 18:47:51,230.230 INFO    ] Checking for system updates...
[2026-10-20 18:47:51,271.271 INFO    ] 200
[2026-10-20 18:47:51,274.274 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:47:51,327.327 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:47:51,330.330 INFO    ] No update needed
[2026-10-20 18:47:51,333.333 INFO    ] Checking for camera pi updates...
[2026-10-20 18:47:51,368.368 INFO    ] 200
[2026-10-20 18:47:51,371.371 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:47:51,412.412 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:47:51,462.462 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:47:51,465.465 INFO    ] No camera update needed
[2026-10-20 18:47:51,468.468 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:47:51,470.470 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:47:51,477.477 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:47:51,483.483 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:47:53,523.523 INFO    ] ================================================
[2026-10-20 18:47:53,538.538 INFO    ] Launching Daemon at Tue Oct 20 18:47:53 IST 2026
[2026-10-20 18:47:53,550.550 INFO    ] ================================================
[2026-10-20 18:47:54,210.210 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:47:54
[2026-10-20 18:47:54,886.886 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:47:55,195.195 INFO    ] Initializing speech engine...
[2026-10-20 18:47:55,208.208 INFO    ] 2026-10-20 18:47:55
[2026-10-20 18:47:55,492.492 INFO    ] 2026-10-20 18:47:55
[2026-10-20 18:47:55,538.538 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:47:55,826.826 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:47:55,835.835 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:47:56,036.036 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:47:56,055.055 INFO    ] time= 20/10/2026 18:47:56
[2026-10-20 18:47:56,088.088 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:47:56,098.098 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:47:56,226.226 INFO    ] No existing commands found in stream
[2026-10-20 18:48:01,262.262 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:48:01,265.265 INFO    ] Waiting 2.44 seconds before fallback handling...
[2026-10-20 18:48:04,927.927 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 18:48:04,930.930 INFO    ] Checking for system updates...
[2026-10-20 18:48:04,967.967 INFO    ] 200
[2026-10-20 18:48:04,970.970 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:48:05,022.022 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:48:05,025.025 INFO    ] No update needed
[2026-10-20 18:48:05,028.028 INFO    ] Checking for camera pi updates...
[2026-10-20 18:48:05,066.066 INFO    ] 200
[2026-10-20 18:48:05,070.070 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:48:05,116.116 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:48:05,167.167 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:48:05,170.170 INFO    ] No camera update needed
[2026-10-20 18:48:05,172.172 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:48:05,175.175 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:48:05,181.181 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:48:05,187.187 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:48:07,228.228 INFO    ] ================================================
[2026-10-20 18:48:07,243.243 INFO    ] Launching Daemon at Tue Oct 20 18:48:07 IST 2026
[2026-10-20 18:48:07,255.255 INFO    ] ================================================
[2026-10-20 18:48:07,838.838 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:48:07
[2026-10-20 18:48:08,435.435 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:48:08,688.688 INFO    ] Initializing speech engine...
[2026-10-20 18:48:08,701.701 INFO    ] 2026-10-20 18:48:08
[2026-10-20 18:48:08,966.966 INFO    ] 2026-10-20 18:48:08
[2026-10-20 18:48:09,001.001 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:48:09,225.225 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:48:09,291.291 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:48:09,454.454 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:48:09,499.499 INFO    ] time= 20/10/2026 18:48:09
[2026-10-20 18:48:09,543.543 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:48:09,587.587 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:48:09,738.738 INFO    ] No existing commands found in stream
[2026-10-20 18:48:14,760.760 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:48:14,763.763 INFO    ] Waiting 2.63 seconds before fallback handling...
[2026-10-20 18:48:17,914.914 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:48:17,916.916 INFO    ] Checking for system updates...
[2026-10-20 18:48:17,956.956 INFO    ] 200
[2026-10-20 18:48:17,958.958 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:48:18,011.011 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:48:18,013.013 INFO    ] No update needed
[2026-10-20 18:48:18,015.015 INFO    ] Checking for camera pi updates...
[2026-10-20 18:48:18,049.049 INFO    ] 200
[2026-10-20 18:48:18,052.052 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:48:18,100.100 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:48:18,146.146 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:48:18,149.149 INFO    ] No camera update needed
[2026-10-20 18:48:18,151.151 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:48:18,154.154 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:48:18,159.159 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:48:18,164.164 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:48:20,203.203 INFO    ] ================================================
[2026-10-20 18:48:20,219.219 INFO    ] Launching Daemon at Tue Oct 20 18:48:20 IST 2026
[2026-10-20 18:48:20,231.231 INFO    ] ================================================
[2026-10-20 18:48:20,889.889 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:48:20
[2026-10-20 18:48:21,566.566 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:48:21,874.874 INFO    ] Initializing speech engine...
[2026-10-20 18:48:21,890.890 INFO    ] 2026-10-20 18:48:21
[2026-10-20 18:48:22,173.173 INFO    ] 2026-10-20 18:48:22
[2026-10-20 18:48:22,221.221 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:48:22,512.512 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:48:22,517.517 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:48:22,706.706 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:48:22,724.724 INFO    ] time= 20/10/2026 18:48:22
[2026-10-20 18:48:22,740.740 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:48:22,750.750 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:48:22,896.896 INFO    ] No existing commands found in stream
[2026-10-20 18:48:27,916.916 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:48:27,920.920 INFO    ] Waiting 2.87 seconds before fallback handling...
[2026-10-20 18:48:31,282.282 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 18:48:31,285.285 INFO    ] Checking for system updates...
[2026-10-20 18:48:31,322.322 INFO    ] 200
[2026-10-20 18:48:31,325.325 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:48:31,378.378 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:48:31,381.381 INFO    ] No update needed
[2026-10-20 18:48:31,383.383 INFO    ] Checking for camera pi updates...
[2026-10-20 18:48:31,415.415 INFO    ] 200
[2026-10-20 18:48:31,418.418 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:48:31,461.461 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:48:31,508.508 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:48:31,511.511 INFO    ] No camera update needed
[2026-10-20 18:48:31,514.514 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:48:31,517.517 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:48:31,524.524 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:48:31,531.531 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:48:33,573.573 INFO    ] ================================================
[2026-10-20 18:48:33,589.589 INFO    ] Launching Daemon at Tue Oct 20 18:48:33 IST 2026
[2026-10-20 18:48:33,600.600 INFO    ] ================================================
[2026-10-20 18:48:34,187.187 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:48:34
[2026-10-20 18:48:34,790.790 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:48:35,067.067 INFO    ] Initializing speech engine...
[2026-10-20 18:48:35,077.077 INFO    ] 2026-10-20 18:48:35
[2026-10-20 18:48:35,338.338 INFO    ] 2026-10-20 18:48:35
[2026-10-20 18:48:35,389.389 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:48:35,636.636 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:48:35,643.643 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:48:35,874.874 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:48:35,881.881 INFO    ] time= 20/10/2026 18:48:35
[2026-10-20 18:48:35,900.900 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:48:35,929.929 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:48:36,054.054 INFO    ] No existing commands found in stream
[2026-10-20 18:48:41,084.084 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:48:41,087.087 INFO    ] Waiting 1.29 seconds before fallback handling...
[2026-10-20 18:48:42,899.899 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 18:48:42,902.902 INFO    ] Checking for system updates...
[2026-10-20 18:48:42,943.943 INFO    ] 200
[2026-10-20 18:48:42,946.946 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:48:42,997.997 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:48:43,000.000 INFO    ] No update needed
[2026-10-20 18:48:43,002.002 INFO    ] Checking for camera pi updates...
[2026-10-20 18:48:43,036.036 INFO    ] 200
[2026-10-20 18:48:43,039.039 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:48:43,079.079 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:48:43,131.131 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:48:43,133.133 INFO    ] No camera update needed
[2026-10-20 18:48:43,136.136 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:48:43,138.138 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:48:43,144.144 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:48:43,149.149 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:48:45,189.189 INFO    ] ================================================
[2026-10-20 18:48:45,205.205 INFO    ] Launching Daemon at Tue Oct 20 18:48:45 IST 2026
[2026-10-20 18:48:45,216.216 INFO    ] ================================================
[2026-10-20 18:48:45,801.801 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:48:45
[2026-10-20 18:48:46,405.405 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:48:46,688.688 INFO    ] Initializing speech engine...
[2026-10-20 18:48:46,696.696 INFO    ] 2026-10-20 18:48:46
[2026-10-20 18:48:46,959.959 INFO    ] 2026-10-20 18:48:46
[2026-10-20 18:48:47,013.013 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:48:47,241.241 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:48:47,246.246 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:48:47,465.465 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:48:47,504.504 INFO    ] time= 20/10/2026 18:48:47
[2026-10-20 18:48:47,510.510 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:48:47,529.529 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:48:47,664.664 INFO    ] No existing commands found in stream
[2026-10-20 18:48:52,694.694 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:48:52,697.697 INFO    ] Waiting 1.69 seconds before fallback handling...
[2026-10-20 18:48:54,900.900 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:48:54,903.903 INFO    ] Checking for system updates...
[2026-10-20 18:48:54,938.938 INFO    ] 200
[2026-10-20 18:48:54,941.941 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:48:55,001.001 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:48:55,004.004 INFO    ] No update needed
[2026-10-20 18:48:55,006.006 INFO    ] Checking for camera pi updates...
[2026-10-20 18:48:55,039.039 INFO    ] 200
[2026-10-20 18:48:55,041.041 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:48:55,086.086 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:48:55,133.133 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:48:55,135.135 INFO    ] No camera update needed
[2026-10-20 18:48:55,138.138 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:48:55,140.140 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:48:55,145.145 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:48:55,150.150 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:48:57,192.192 INFO    ] ================================================
[2026-10-20 18:48:57,207.207 INFO    ] Launching Daemon at Tue Oct 20 18:48:57 IST 2026
[2026-10-20 18:48:57,218.218 INFO    ] ================================================
[2026-10-20 18:48:57,808.808 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:48:57
[2026-10-20 18:48:58,412.412 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:48:58,687.687 INFO    ] Initializing speech engine...
[2026-10-20 18:48:58,696.696 INFO    ] 2026-10-20 18:48:58
[2026-10-20 18:48:58,945.945 INFO    ] 2026-10-20 18:48:58
[2026-10-20 18:48:58,992.992 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:48:59,261.261 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:48:59,267.267 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:48:59,486.486 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:48:59,544.544 INFO    ] time= 20/10/2026 18:48:59
[2026-10-20 18:48:59,551.551 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:48:59,568.568 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:48:59,705.705 INFO    ] No existing commands found in stream
[2026-10-20 18:49:04,733.733 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:49:04,736.736 INFO    ] Waiting 0.37 seconds before fallback handling...
[2026-10-20 18:49:05,614.614 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:49:05,617.617 INFO    ] Checking for system updates...
[2026-10-20 18:49:05,655.655 INFO    ] 200
[2026-10-20 18:49:05,658.658 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:49:05,718.718 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:49:05,720.720 INFO    ] No update needed
[2026-10-20 18:49:05,723.723 INFO    ] Checking for camera pi updates...
[2026-10-20 18:49:05,757.757 INFO    ] 200
[2026-10-20 18:49:05,760.760 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:49:05,808.808 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:49:05,840.840 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:49:05,843.843 INFO    ] No camera update needed
[2026-10-20 18:49:05,846.846 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:49:05,849.849 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:49:05,855.855 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:49:05,861.861 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:49:07,903.903 INFO    ] ================================================
[2026-10-20 18:49:07,918.918 INFO    ] Launching Daemon at Tue Oct 20 18:49:07 IST 2026
[2026-10-20 18:49:07,930.930 INFO    ] ================================================
[2026-10-20 18:49:08,496.496 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:49:08
[2026-10-20 18:49:09,081.081 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:49:09,336.336 INFO    ] Initializing speech engine...
[2026-10-20 18:49:09,344.344 INFO    ] 2026-10-20 18:49:09
[2026-10-20 18:49:09,641.641 INFO    ] 2026-10-20 18:49:09
[2026-10-20 18:49:09,678.678 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:49:09,879.879 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:49:09,883.883 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:49:10,039.039 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:49:10,059.059 INFO    ] time= 20/10/2026 18:49:10
[2026-10-20 18:49:10,069.069 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:49:10,075.075 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:49:10,154.154 INFO    ] No existing commands found in stream
[2026-10-20 18:49:15,169.169 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:49:15,172.172 INFO    ] Waiting 2.14 seconds before fallback handling...
[2026-10-20 18:49:17,826.826 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 18:49:17,829.829 INFO    ] Checking for system updates...
[2026-10-20 18:49:17,864.864 INFO    ] 200
[2026-10-20 18:49:17,866.866 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:49:17,918.918 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:49:17,920.920 INFO    ] No update needed
[2026-10-20 18:49:17,923.923 INFO    ] Checking for camera pi updates...
[2026-10-20 18:49:17,956.956 INFO    ] 200
[2026-10-20 18:49:17,958.958 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:49:17,998.998 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:49:18,050.050 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:49:18,053.053 INFO    ] No camera update needed
[2026-10-20 18:49:18,055.055 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:49:18,057.057 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:49:18,063.063 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:49:18,067.067 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:49:20,110.110 INFO    ] ================================================
[2026-10-20 18:49:20,126.126 INFO    ] Launching Daemon at Tue Oct 20 18:49:20 IST 2026
[2026-10-20 18:49:20,137.137 INFO    ] ================================================
[2026-10-20 18:49:20,721.721 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:49:20
[2026-10-20 18:49:21,322.322 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:49:21,596.596 INFO    ] Initializing speech engine...
[2026-10-20 18:49:21,605.605 INFO    ] 2026-10-20 18:49:21
[2026-10-20 18:49:21,855.855 INFO    ] 2026-10-20 18:49:21
[2026-10-20 18:49:21,896.896 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:49:22,145.145 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:49:22,152.152 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:49:22,382.382 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:49:22,407.407 INFO    ] time= 20/10/2026 18:49:22
[2026-10-20 18:49:22,413.413 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:49:22,430.430 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:49:22,562.562 INFO    ] No existing commands found in stream
[2026-10-20 18:49:27,580.580 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:49:27,583.583 INFO    ] Waiting 1.69 seconds before fallback handling...
[2026-10-20 18:49:29,796.796 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:49:29,799.799 INFO    ] Checking for system updates...
[2026-10-20 18:49:29,839.839 INFO    ] 200
[2026-10-20 18:49:29,843.843 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:49:29,896.896 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:49:29,898.898 INFO    ] No update needed
[2026-10-20 18:49:29,901.901 INFO    ] Checking for camera pi updates...
[2026-10-20 18:49:29,940.940 INFO    ] 200
[2026-10-20 18:49:29,943.943 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:49:29,984.984 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:49:30,035.035 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:49:30,038.038 INFO    ] No camera update needed
[2026-10-20 18:49:30,040.040 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:49:30,043.043 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:49:30,049.049 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:49:30,055.055 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:49:32,098.098 INFO    ] ================================================
[2026-10-20 18:49:32,113.113 INFO    ] Launching Daemon at Tue Oct 20 18:49:32 IST 2026
[2026-10-20 18:49:32,124.124 INFO    ] ================================================
[2026-10-20 18:49:32,739.739 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:49:32
[2026-10-20 18:49:33,408.408 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:49:33,717.717 INFO    ] Initializing speech engine...
[2026-10-20 18:49:33,729.729 INFO    ] 2026-10-20 18:49:33
[2026-10-20 18:49:33,990.990 INFO    ] 2026-10-20 18:49:33
[2026-10-20 18:49:34,054.054 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:49:34,294.294 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:49:34,304.304 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:49:34,509.509 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:49:34,555.555 INFO    ] time= 20/10/2026 18:49:34
[2026-10-20 18:49:34,583.583 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:49:34,600.600 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:49:34,766.766 INFO    ] No existing commands found in stream
[2026-10-20 18:49:39,782.782 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:49:39,785.785 INFO    ] Waiting 2.23 seconds before fallback handling...
[2026-10-20 18:49:42,541.541 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 18:49:42,544.544 INFO    ] Checking for system updates...
[2026-10-20 18:49:42,582.582 INFO    ] 200
[2026-10-20 18:49:42,585.585 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:49:42,638.638 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:49:42,641.641 INFO    ] No update needed
[2026-10-20 18:49:42,643.643 INFO    ] Checking for camera pi updates...
[2026-10-20 18:49:42,678.678 INFO    ] 200
[2026-10-20 18:49:42,681.681 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:49:42,721.721 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:49:42,770.770 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:49:42,772.772 INFO    ] No camera update needed
[2026-10-20 18:49:42,775.775 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:49:42,778.778 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:49:42,784.784 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:49:42,790.790 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:49:44,831.831 INFO    ] ================================================
[2026-10-20 18:49:44,845.845 INFO    ] Launching Daemon at Tue Oct 20 18:49:44 IST 2026
[2026-10-20 18:49:44,856.856 INFO    ] ================================================
[2026-10-20 18:49:45,423.423 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:49:45
[2026-10-20 18:49:46,011.011 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:49:46,279.279 INFO    ] Initializing speech engine...
[2026-10-20 18:49:46,292.292 INFO    ] 2026-10-20 18:49:46
[2026-10-20 18:49:46,542.542 INFO    ] 2026-10-20 18:49:46
[2026-10-20 18:49:46,577.577 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:49:46,817.817 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:49:46,840.840 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:49:47,048.048 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:49:47,111.111 INFO    ] time= 20/10/2026 18:49:47
[2026-10-20 18:49:47,118.118 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:49:47,136.136 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:49:47,264.264 INFO    ] No existing commands found in stream
[2026-10-20 18:49:52,281.281 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:49:52,284.284 INFO    ] Waiting 1.11 seconds before fallback handling...
[2026-10-20 18:49:53,909.909 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 18:49:53,911.911 INFO    ] Checking for system updates...
[2026-10-20 18:49:53,950.950 INFO    ] 200
[2026-10-20 18:49:53,952.952 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:49:54,004.004 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:49:54,007.007 INFO    ] No update needed
[2026-10-20 18:49:54,009.009 INFO    ] Checking for camera pi updates...
[2026-10-20 18:49:54,042.042 INFO    ] 200
[2026-10-20 18:49:54,044.044 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:49:54,085.085 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:49:54,131.131 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:49:54,134.134 INFO    ] No camera update needed
[2026-10-20 18:49:54,136.136 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:49:54,138.138 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:49:54,144.144 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:49:54,149.149 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:49:56,188.188 INFO    ] ================================================
[2026-10-20 18:49:56,203.203 INFO    ] Launching Daemon at Tue Oct 20 18:49:56 IST 2026
[2026-10-20 18:49:56,214.214 INFO    ] ================================================
[2026-10-20 18:49:56,784.784 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:49:56
[2026-10-20 18:49:57,369.369 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:49:57,628.628 INFO    ] Initializing speech engine...
[2026-10-20 18:49:57,643.643 INFO    ] 2026-10-20 18:49:57
[2026-10-20 18:49:57,896.896 INFO    ] 2026-10-20 18:49:57
[2026-10-20 18:49:57,931.931 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:49:58,192.192 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:49:58,201.201 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:49:58,336.336 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:49:58,379.379 INFO    ] time= 20/10/2026 18:49:58
[2026-10-20 18:49:58,418.418 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:49:58,467.467 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:49:58,609.609 INFO    ] No existing commands found in stream
[2026-10-20 18:50:03,636.636 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:50:03,639.639 INFO    ] Waiting 0.24 seconds before fallback handling...
[2026-10-20 18:50:08,754.754 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 18:50:08,756.756 INFO    ] Checking for system updates...
[2026-10-20 18:50:08,792.792 INFO    ] 200
[2026-10-20 18:50:08,794.794 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:50:08,847.847 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:50:08,850.850 INFO    ] No update needed
[2026-10-20 18:50:08,852.852 INFO    ] Checking for camera pi updates...
[2026-10-20 18:50:08,886.886 INFO    ] 200
[2026-10-20 18:50:08,889.889 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:50:08,928.928 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:50:09,076.076 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:50:09,079.079 INFO    ] No camera update needed
[2026-10-20 18:50:09,081.081 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:50:09,083.083 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:50:09,089.089 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:50:09,094.094 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:50:11,135.135 INFO    ] ================================================
[2026-10-20 18:50:11,150.150 INFO    ] Launching Daemon at Tue Oct 20 18:50:11 IST 2026
[2026-10-20 18:50:11,164.164 INFO    ] ================================================
[2026-10-20 18:50:11,730.730 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:50:11
[2026-10-20 18:50:12,326.326 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:50:12,604.604 INFO    ] Initializing speech engine...
[2026-10-20 18:50:12,611.611 INFO    ] 2026-10-20 18:50:12
[2026-10-20 18:50:12,872.872 INFO    ] 2026-10-20 18:50:12
[2026-10-20 18:50:12,926.926 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:50:13,154.154 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:50:13,159.159 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:50:13,383.383 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:50:13,415.415 INFO    ] time= 20/10/2026 18:50:13
[2026-10-20 18:50:13,422.422 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:50:13,442.442 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:50:13,569.569 INFO    ] No existing commands found in stream
[2026-10-20 18:50:18,582.582 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:50:18,585.585 INFO    ] Waiting 2.59 seconds before fallback handling...
[2026-10-20 18:50:21,688.688 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:50:21,691.691 INFO    ] Checking for system updates...
[2026-10-20 18:50:21,726.726 INFO    ] 200
[2026-10-20 18:50:21,729.729 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:50:21,782.782 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:50:21,784.784 INFO    ] No update needed
[2026-10-20 18:50:21,787.787 INFO    ] Checking for camera pi updates...
[2026-10-20 18:50:21,824.824 INFO    ] 200
[2026-10-20 18:50:21,826.826 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:50:21,868.868 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:50:21,914.914 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:50:21,916.916 INFO    ] No camera update needed
[2026-10-20 18:50:21,918.918 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:50:21,921.921 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:50:21,926.926 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:50:21,931.931 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:50:23,972.972 INFO    ] ================================================
[2026-10-20 18:50:23,988.988 INFO    ] Launching Daemon at Tue Oct 20 18:50:23 IST 2026
[2026-10-20 18:50:24,998.998 INFO    ] ================================================
[2026-10-20 18:50:24,581.581 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:50:24
[2026-10-20 18:50:25,181.181 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:50:25,458.458 INFO    ] Initializing speech engine...
[2026-10-20 18:50:25,464.464 INFO    ] 2026-10-20 18:50:25
[2026-10-20 18:50:25,726.726 INFO    ] 2026-10-20 18:50:25
[2026-10-20 18:50:25,777.777 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:50:26,004.004 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:50:26,009.009 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:50:26,232.232 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:50:26,270.270 INFO    ] time= 20/10/2026 18:50:26
[2026-10-20 18:50:26,285.285 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:50:26,294.294 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:50:26,421.421 INFO    ] No existing commands found in stream
[2026-10-20 18:50:31,431.431 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:50:31,435.435 INFO    ] Waiting 1.83 seconds before fallback handling...
[2026-10-20 18:50:33,840.840 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:50:33,842.842 INFO    ] Checking for system updates...
[2026-10-20 18:50:33,879.879 INFO    ] 200
[2026-10-20 18:50:33,881.881 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:50:33,939.939 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:50:33,942.942 INFO    ] No update needed
[2026-10-20 18:50:33,944.944 INFO    ] Checking for camera pi updates...
[2026-10-20 18:50:33,978.978 INFO    ] 200
[2026-10-20 18:50:33,980.980 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:50:34,022.022 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:50:34,075.075 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:50:34,077.077 INFO    ] No camera update needed
[2026-10-20 18:50:34,080.080 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:50:34,082.082 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:50:34,088.088 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:50:34,093.093 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:50:36,132.132 INFO    ] ================================================
[2026-10-20 18:50:36,147.147 INFO    ] Launching Daemon at Tue Oct 20 18:50:36 IST 2026
[2026-10-20 18:50:36,158.158 INFO    ] ================================================
[2026-10-20 18:50:36,737.737 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:50:36
[2026-10-20 18:50:37,335.335 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:50:37,611.611 INFO    ] Initializing speech engine...
[2026-10-20 18:50:37,619.619 INFO    ] 2026-10-20 18:50:37
[2026-10-20 18:50:37,874.874 INFO    ] 2026-10-20 18:50:37
[2026-10-20 18:50:37,910.910 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:50:38,161.161 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:50:38,182.182 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:50:38,389.389 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:50:38,423.423 INFO    ] time= 20/10/2026 18:50:38
[2026-10-20 18:50:38,429.429 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:50:38,446.446 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:50:38,574.574 INFO    ] No existing commands found in stream
[2026-10-20 18:50:43,588.588 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:50:43,591.591 INFO    ] Waiting 1.10 seconds before fallback handling...
[2026-10-20 18:50:45,256.256 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:50:45,259.259 INFO    ] Checking for system updates...
[2026-10-20 18:50:45,295.295 INFO    ] 200
[2026-10-20 18:50:45,297.297 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:50:45,351.351 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:50:45,353.353 INFO    ] No update needed
[2026-10-20 18:50:45,355.355 INFO    ] Checking for camera pi updates...
[2026-10-20 18:50:45,393.393 INFO    ] 200
[2026-10-20 18:50:45,395.395 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:50:45,440.440 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:50:45,488.488 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:50:45,491.491 INFO    ] No camera update needed
[2026-10-20 18:50:45,493.493 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:50:45,495.495 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:50:45,501.501 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:50:45,506.506 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:50:47,547.547 INFO    ] ================================================
[2026-10-20 18:50:47,562.562 INFO    ] Launching Daemon at Tue Oct 20 18:50:47 IST 2026
[2026-10-20 18:50:47,572.572 INFO    ] ================================================
[2026-10-20 18:50:48,157.157 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:50:48
[2026-10-20 18:50:48,759.759 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:50:49,033.033 INFO    ] Initializing speech engine...
[2026-10-20 18:50:49,042.042 INFO    ] 2026-10-20 18:50:49
[2026-10-20 18:50:49,291.291 INFO    ] 2026-10-20 18:50:49
[2026-10-20 18:50:49,354.354 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:50:49,577.577 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:50:49,587.587 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:50:49,721.721 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:50:49,787.787 INFO    ] time= 20/10/2026 18:50:49
[2026-10-20 18:50:49,847.847 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:50:49,855.855 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:50:49,994.994 INFO    ] No existing commands found in stream
[2026-10-20 18:50:55,011.011 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:50:55,013.013 INFO    ] Waiting 0.56 seconds before fallback handling...
[2026-10-20 18:50:56,121.121 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:50:56,124.124 INFO    ] Checking for system updates...
[2026-10-20 18:50:56,164.164 INFO    ] 200
[2026-10-20 18:50:56,167.167 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:50:56,225.225 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:50:56,228.228 INFO    ] No update needed
[2026-10-20 18:50:56,231.231 INFO    ] Checking for camera pi updates...
[2026-10-20 18:50:56,266.266 INFO    ] 200
[2026-10-20 18:50:56,269.269 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:50:56,315.315 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:50:56,365.365 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:50:56,367.367 INFO    ] No camera update needed
[2026-10-20 18:50:56,370.370 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:50:56,372.372 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:50:56,377.377 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:50:56,383.383 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:50:58,423.423 INFO    ] ================================================
[2026-10-20 18:50:58,439.439 INFO    ] Launching Daemon at Tue Oct 20 18:50:58 IST 2026
[2026-10-20 18:50:58,450.450 INFO    ] ================================================
[2026-10-20 18:50:59,077.077 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:50:59
[2026-10-20 18:50:59,659.659 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:50:59,959.959 INFO    ] Initializing speech engine...
[2026-10-20 18:50:59,972.972 INFO    ] 2026-10-20 18:50:59
[2026-10-20 18:51:00,246.246 INFO    ] 2026-10-20 18:51:00
[2026-10-20 18:51:00,288.288 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:51:00,538.538 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:51:00,566.566 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:51:00,767.767 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:51:00,778.778 INFO    ] time= 20/10/2026 18:51:00
[2026-10-20 18:51:00,795.795 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:51:00,807.807 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:51:00,941.941 INFO    ] No existing commands found in stream
[2026-10-20 18:51:05,970.970 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:51:05,973.973 INFO    ] Waiting 0.19 seconds before fallback handling...
[2026-10-20 18:51:06,633.633 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:51:06,636.636 INFO    ] Checking for system updates...
[2026-10-20 18:51:06,676.676 INFO    ] 200
[2026-10-20 18:51:06,678.678 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:51:06,732.732 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:51:06,734.734 INFO    ] No update needed
[2026-10-20 18:51:06,736.736 INFO    ] Checking for camera pi updates...
[2026-10-20 18:51:06,773.773 INFO    ] 200
[2026-10-20 18:51:06,776.776 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:51:06,817.817 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:51:06,865.865 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:51:06,868.868 INFO    ] No camera update needed
[2026-10-20 18:51:06,871.871 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:51:06,874.874 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:51:06,880.880 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:51:06,886.886 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:51:08,929.929 INFO    ] ================================================
[2026-10-20 18:51:08,944.944 INFO    ] Launching Daemon at Tue Oct 20 18:51:08 IST 2026
[2026-10-20 18:51:08,956.956 INFO    ] ================================================
[2026-10-20 18:51:09,520.520 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:51:09
[2026-10-20 18:51:10,104.104 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:51:10,372.372 INFO    ] Initializing speech engine...
[2026-10-20 18:51:10,382.382 INFO    ] 2026-10-20 18:51:10
[2026-10-20 18:51:10,640.640 INFO    ] 2026-10-20 18:51:10
[2026-10-20 18:51:10,693.693 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:51:10,943.943 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:51:10,949.949 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:51:11,177.177 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:51:11,184.184 INFO    ] time= 20/10/2026 18:51:11
[2026-10-20 18:51:11,198.198 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:51:11,207.207 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:51:11,337.337 INFO    ] No existing commands found in stream
[2026-10-20 18:51:16,357.357 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:51:16,360.360 INFO    ] Waiting 1.21 seconds before fallback handling...
[2026-10-20 18:51:18,093.093 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 18:51:18,095.095 INFO    ] Checking for system updates...
[2026-10-20 18:51:18,136.136 INFO    ] 200
[2026-10-20 18:51:18,138.138 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:51:18,198.198 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:51:18,200.200 INFO    ] No update needed
[2026-10-20 18:51:18,203.203 INFO    ] Checking for camera pi updates...
[2026-10-20 18:51:18,240.240 INFO    ] 200
[2026-10-20 18:51:18,242.242 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:51:18,283.283 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:51:18,329.329 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:51:18,332.332 INFO    ] No camera update needed
[2026-10-20 18:51:18,334.334 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:51:18,336.336 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:51:18,342.342 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:51:18,347.347 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:51:20,386.386 INFO    ] ================================================
[2026-10-20 18:51:20,402.402 INFO    ] Launching Daemon at Tue Oct 20 18:51:20 IST 2026
[2026-10-20 18:51:20,413.413 INFO    ] ================================================
[2026-10-20 18:51:20,977.977 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:51:20
[2026-10-20 18:51:21,561.561 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:51:21,814.814 INFO    ] Initializing speech engine...
[2026-10-20 18:51:21,837.837 INFO    ] 2026-10-20 18:51:21
[2026-10-20 18:51:22,094.094 INFO    ] 2026-10-20 18:51:22
[2026-10-20 18:51:22,139.139 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:51:22,383.383 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:51:22,392.392 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:51:22,579.579 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:51:22,633.633 INFO    ] time= 20/10/2026 18:51:22
[2026-10-20 18:51:22,653.653 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:51:22,658.658 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:51:22,800.800 INFO    ] No existing commands found in stream
[2026-10-20 18:51:27,815.815 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:51:27,817.817 INFO    ] Waiting 0.60 seconds before fallback handling...
[2026-10-20 18:51:28,910.910 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:51:28,913.913 INFO    ] Checking for system updates...
[2026-10-20 18:51:28,954.954 INFO    ] 200
[2026-10-20 18:51:28,957.957 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:51:29,009.009 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:51:29,012.012 INFO    ] No update needed
[2026-10-20 18:51:29,014.014 INFO    ] Checking for camera pi updates...
[2026-10-20 18:51:29,047.047 INFO    ] 200
[2026-10-20 18:51:29,050.050 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:51:29,092.092 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:51:29,154.154 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:51:29,157.157 INFO    ] No camera update needed
[2026-10-20 18:51:29,160.160 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:51:29,162.162 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:51:29,169.169 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:51:29,175.175 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:51:31,218.218 INFO    ] ================================================
[2026-10-20 18:51:31,234.234 INFO    ] Launching Daemon at Tue Oct 20 18:51:31 IST 2026
[2026-10-20 18:51:31,246.246 INFO    ] ================================================
[2026-10-20 18:51:31,846.846 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:51:31
[2026-10-20 18:51:32,483.483 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:51:32,763.763 INFO    ] Initializing speech engine...
[2026-10-20 18:51:32,770.770 INFO    ] 2026-10-20 18:51:32
[2026-10-20 18:51:33,076.076 INFO    ] 2026-10-20 18:51:33
[2026-10-20 18:51:33,119.119 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:51:33,317.317 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:51:33,361.361 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:51:33,581.581 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:51:33,641.641 INFO    ] time= 20/10/2026 18:51:33
[2026-10-20 18:51:33,650.650 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:51:33,667.667 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:51:33,812.812 INFO    ] No existing commands found in stream
[2026-10-20 18:51:38,831.831 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:51:38,834.834 INFO    ] Waiting 0.34 seconds before fallback handling...
[2026-10-20 18:51:39,713.713 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 18:51:39,715.715 INFO    ] Checking for system updates...
[2026-10-20 18:51:39,754.754 INFO    ] 200
[2026-10-20 18:51:39,757.757 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:51:39,815.815 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:51:39,818.818 INFO    ] No update needed
[2026-10-20 18:51:39,820.820 INFO    ] Checking for camera pi updates...
[2026-10-20 18:51:39,854.854 INFO    ] 200
[2026-10-20 18:51:39,856.856 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:51:39,897.897 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:51:39,950.950 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:51:39,953.953 INFO    ] No camera update needed
[2026-10-20 18:51:39,955.955 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:51:39,957.957 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:51:39,962.962 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:51:39,967.967 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:51:42,010.010 INFO    ] ================================================
[2026-10-20 18:51:42,025.025 INFO    ] Launching Daemon at Tue Oct 20 18:51:42 IST 2026
[2026-10-20 18:51:42,037.037 INFO    ] ================================================
[2026-10-20 18:51:42,684.684 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:51:42
[2026-10-20 18:51:43,348.348 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:51:43,654.654 INFO    ] Initializing speech engine...
[2026-10-20 18:51:43,667.667 INFO    ] 2026-10-20 18:51:43
[2026-10-20 18:51:43,948.948 INFO    ] 2026-10-20 18:51:43
[2026-10-20 18:51:43,995.995 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:51:44,229.229 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:51:44,233.233 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:51:44,459.459 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:51:44,501.501 INFO    ] time= 20/10/2026 18:51:44
[2026-10-20 18:51:44,519.519 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:51:44,528.528 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:51:44,664.664 INFO    ] No existing commands found in stream
[2026-10-20 18:51:49,687.687 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:51:49,690.690 INFO    ] Waiting 1.03 seconds before fallback handling...
[2026-10-20 18:51:51,250.250 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:51:51,253.253 INFO    ] Checking for system updates...
[2026-10-20 18:51:51,288.288 INFO    ] 200
[2026-10-20 18:51:51,291.291 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:51:51,348.348 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:51:51,350.350 INFO    ] No update needed
[2026-10-20 18:51:51,353.353 INFO    ] Checking for camera pi updates...
[2026-10-20 18:51:51,389.389 INFO    ] 200
[2026-10-20 18:51:51,391.391 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:51:51,435.435 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:51:51,489.489 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:51:51,492.492 INFO    ] No camera update needed
[2026-10-20 18:51:51,494.494 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:51:51,496.496 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:51:51,502.502 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:51:51,506.506 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:51:53,545.545 INFO    ] ================================================
[2026-10-20 18:51:53,561.561 INFO    ] Launching Daemon at Tue Oct 20 18:51:53 IST 2026
[2026-10-20 18:51:53,572.572 INFO    ] ================================================
[2026-10-20 18:51:54,215.215 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:51:54
[2026-10-20 18:51:54,877.877 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:51:55,159.159 INFO    ] Initializing speech engine...
[2026-10-20 18:51:55,166.166 INFO    ] 2026-10-20 18:51:55
[2026-10-20 18:51:55,414.414 INFO    ] 2026-10-20 18:51:55
[2026-10-20 18:51:55,449.449 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:51:55,651.651 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:51:55,709.709 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:51:55,917.917 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:51:55,979.979 INFO    ] time= 20/10/2026 18:51:55
[2026-10-20 18:51:55,986.986 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:51:56,004.004 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:51:56,138.138 INFO    ] No existing commands found in stream
[2026-10-20 18:52:01,152.152 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:52:01,155.155 INFO    ] Waiting 2.34 seconds before fallback handling...
[2026-10-20 18:52:03,970.970 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 18:52:03,972.972 INFO    ] Checking for system updates...
[2026-10-20 18:52:04,008.008 INFO    ] 200
[2026-10-20 18:52:04,011.011 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:52:04,064.064 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:52:04,066.066 INFO    ] No update needed
[2026-10-20 18:52:04,068.068 INFO    ] Checking for camera pi updates...
[2026-10-20 18:52:04,105.105 INFO    ] 200
[2026-10-20 18:52:04,107.107 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:52:04,151.151 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:52:04,202.202 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:52:04,204.204 INFO    ] No camera update needed
[2026-10-20 18:52:04,206.206 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:52:04,209.209 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:52:04,214.214 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:52:04,220.220 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:52:06,261.261 INFO    ] ================================================
[2026-10-20 18:52:06,277.277 INFO    ] Launching Daemon at Tue Oct 20 18:52:06 IST 2026
[2026-10-20 18:52:06,289.289 INFO    ] ================================================
[2026-10-20 18:52:06,930.930 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:52:06
[2026-10-20 18:52:07,586.586 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:52:07,885.885 INFO    ] Initializing speech engine...
[2026-10-20 18:52:07,893.893 INFO    ] 2026-10-20 18:52:07
[2026-10-20 18:52:08,167.167 INFO    ] 2026-10-20 18:52:08
[2026-10-20 18:52:08,226.226 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:52:08,481.481 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:52:08,486.486 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:52:08,709.709 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:52:08,726.726 INFO    ] time= 20/10/2026 18:52:08
[2026-10-20 18:52:08,733.733 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:52:08,755.755 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:52:08,901.901 INFO    ] No existing commands found in stream
[2026-10-20 18:52:13,926.926 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:52:13,930.930 INFO    ] Waiting 3.96 seconds before fallback handling...
[2026-10-20 18:52:18,405.405 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:52:18,408.408 INFO    ] Checking for system updates...
[2026-10-20 18:52:18,444.444 INFO    ] 200
[2026-10-20 18:52:18,446.446 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:52:18,505.505 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:52:18,507.507 INFO    ] No update needed
[2026-10-20 18:52:18,510.510 INFO    ] Checking for camera pi updates...
[2026-10-20 18:52:18,547.547 INFO    ] 200
[2026-10-20 18:52:18,549.549 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:52:18,595.595 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:52:18,737.737 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:52:18,739.739 INFO    ] No camera update needed
[2026-10-20 18:52:18,742.742 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:52:18,744.744 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:52:18,749.749 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:52:18,754.754 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:52:20,793.793 INFO    ] ================================================
[2026-10-20 18:52:20,810.810 INFO    ] Launching Daemon at Tue Oct 20 18:52:20 IST 2026
[2026-10-20 18:52:20,821.821 INFO    ] ================================================
[2026-10-20 18:52:21,483.483 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:52:21
[2026-10-20 18:52:22,160.160 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:52:22,462.462 INFO    ] Initializing speech engine...
[2026-10-20 18:52:22,471.471 INFO    ] 2026-10-20 18:52:22
[2026-10-20 18:52:22,756.756 INFO    ] 2026-10-20 18:52:22
[2026-10-20 18:52:22,801.801 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:52:23,026.026 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:52:23,048.048 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:52:23,238.238 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:52:23,289.289 INFO    ] time= 20/10/2026 18:52:23
[2026-10-20 18:52:23,296.296 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:52:23,314.314 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:52:23,469.469 INFO    ] No existing commands found in stream
[2026-10-20 18:52:28,500.500 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:52:28,504.504 INFO    ] Waiting 0.66 seconds before fallback handling...
[2026-10-20 18:52:29,694.694 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:52:29,697.697 INFO    ] Checking for system updates...
[2026-10-20 18:52:29,734.734 INFO    ] 200
[2026-10-20 18:52:29,737.737 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:52:29,797.797 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:52:29,800.800 INFO    ] No update needed
[2026-10-20 18:52:29,802.802 INFO    ] Checking for camera pi updates...
[2026-10-20 18:52:29,836.836 INFO    ] 200
[2026-10-20 18:52:29,838.838 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:52:29,878.878 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:52:29,925.925 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:52:29,927.927 INFO    ] No camera update needed
[2026-10-20 18:52:29,930.930 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:52:29,932.932 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:52:29,937.937 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:52:29,943.943 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:52:31,985.985 INFO    ] ================================================
[2026-10-20 18:52:32,004.004 INFO    ] Launching Daemon at Tue Oct 20 18:52:31 IST 2026
[2026-10-20 18:52:32,017.017 INFO    ] ================================================
[2026-10-20 18:52:32,736.736 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:52:32
[2026-10-20 18:52:33,470.470 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:52:33,777.777 INFO    ] Initializing speech engine...
[2026-10-20 18:52:33,784.784 INFO    ] 2026-10-20 18:52:33
[2026-10-20 18:52:34,067.067 INFO    ] 2026-10-20 18:52:34
[2026-10-20 18:52:34,107.107 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:52:34,373.373 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:52:34,376.376 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:52:34,589.589 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:52:34,647.647 INFO    ] time= 20/10/2026 18:52:34
[2026-10-20 18:52:34,662.662 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:52:34,678.678 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:52:34,788.788 INFO    ] No existing commands found in stream
[2026-10-20 18:52:39,798.798 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:52:39,801.801 INFO    ] Waiting 1.58 seconds before fallback handling...
[2026-10-20 18:52:41,909.909 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 18:52:41,911.911 INFO    ] Checking for system updates...
[2026-10-20 18:52:41,946.946 INFO    ] 200
[2026-10-20 18:52:41,949.949 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:52:42,002.002 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:52:42,004.004 INFO    ] No update needed
[2026-10-20 18:52:42,007.007 INFO    ] Checking for camera pi updates...
[2026-10-20 18:52:42,044.044 INFO    ] 200
[2026-10-20 18:52:42,046.046 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:52:42,091.091 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:52:42,145.145 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:52:42,147.147 INFO    ] No camera update needed
[2026-10-20 18:52:42,149.149 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:52:42,152.152 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:52:42,157.157 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:52:42,162.162 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:52:44,204.204 INFO    ] ================================================
[2026-10-20 18:52:44,219.219 INFO    ] Launching Daemon at Tue Oct 20 18:52:44 IST 2026
[2026-10-20 18:52:44,230.230 INFO    ] ================================================
[2026-10-20 18:52:44,887.887 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:52:44
[2026-10-20 18:52:45,568.568 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:52:45,877.877 INFO    ] Initializing speech engine...
[2026-10-20 18:52:45,885.885 INFO    ] 2026-10-20 18:52:45
[2026-10-20 18:52:46,158.158 INFO    ] 2026-10-20 18:52:46
[2026-10-20 18:52:46,217.217 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:52:46,449.449 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:52:46,459.459 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:52:46,613.613 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:52:46,668.668 INFO    ] time= 20/10/2026 18:52:46
[2026-10-20 18:52:46,723.723 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:52:46,738.738 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:52:46,886.886 INFO    ] No existing commands found in stream
[2026-10-20 18:52:51,901.901 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:52:51,904.904 INFO    ] Waiting 2.20 seconds before fallback handling...
[2026-10-20 18:52:54,636.636 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:52:54,640.640 INFO    ] Checking for system updates...
[2026-10-20 18:52:54,681.681 INFO    ] 200
[2026-10-20 18:52:54,684.684 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:52:54,745.745 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:52:54,748.748 INFO    ] No update needed
[2026-10-20 18:52:54,750.750 INFO    ] Checking for camera pi updates...
[2026-10-20 18:52:54,785.785 INFO    ] 200
[2026-10-20 18:52:54,788.788 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:52:54,834.834 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:52:54,895.895 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:52:54,898.898 INFO    ] No camera update needed
[2026-10-20 18:52:54,901.901 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:52:54,904.904 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:52:54,910.910 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:52:54,916.916 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:52:56,955.955 INFO    ] ================================================
[2026-10-20 18:52:56,971.971 INFO    ] Launching Daemon at Tue Oct 20 18:52:56 IST 2026
[2026-10-20 18:52:56,983.983 INFO    ] ================================================
[2026-10-20 18:52:57,564.564 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:52:57
[2026-10-20 18:52:58,165.165 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:52:58,426.426 INFO    ] Initializing speech engine...
[2026-10-20 18:52:58,435.435 INFO    ] 2026-10-20 18:52:58
[2026-10-20 18:52:58,734.734 INFO    ] 2026-10-20 18:52:58
[2026-10-20 18:52:58,770.770 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:52:59,000.000 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:52:59,008.008 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:52:59,161.161 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:52:59,167.167 INFO    ] time= 20/10/2026 18:52:59
[2026-10-20 18:52:59,173.173 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:52:59,244.244 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:52:59,377.377 INFO    ] No existing commands found in stream
[2026-10-20 18:53:04,402.402 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:53:04,405.405 INFO    ] Waiting 3.57 seconds before fallback handling...
[2026-10-20 18:53:08,514.514 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 18:53:08,516.516 INFO    ] Checking for system updates...
[2026-10-20 18:53:08,553.553 INFO    ] 200
[2026-10-20 18:53:08,555.555 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:53:08,615.615 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:53:08,617.617 INFO    ] No update needed
[2026-10-20 18:53:08,620.620 INFO    ] Checking for camera pi updates...
[2026-10-20 18:53:08,653.653 INFO    ] 200
[2026-10-20 18:53:08,656.656 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:53:08,696.696 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:53:08,752.752 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:53:08,754.754 INFO    ] No camera update needed
[2026-10-20 18:53:08,756.756 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:53:08,759.759 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:53:08,764.764 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:53:08,770.770 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:53:10,810.810 INFO    ] ================================================
[2026-10-20 18:53:10,826.826 INFO    ] Launching Daemon at Tue Oct 20 18:53:10 IST 2026
[2026-10-20 18:53:10,837.837 INFO    ] ================================================
[2026-10-20 18:53:11,418.418 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:53:11
[2026-10-20 18:53:12,019.019 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:53:12,296.296 INFO    ] Initializing speech engine...
[2026-10-20 18:53:12,303.303 INFO    ] 2026-10-20 18:53:12
[2026-10-20 18:53:12,563.563 INFO    ] 2026-10-20 18:53:12
[2026-10-20 18:53:12,615.615 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:53:12,845.845 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:53:12,851.851 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:53:13,060.060 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:53:13,105.105 INFO    ] time= 20/10/2026 18:53:13
[2026-10-20 18:53:13,111.111 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:53:13,132.132 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:53:13,303.303 INFO    ] No existing commands found in stream
[2026-10-20 18:53:18,333.333 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:53:18,336.336 INFO    ] Waiting 1.69 seconds before fallback handling...
[2026-10-20 18:53:20,573.573 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:53:20,576.576 INFO    ] Checking for system updates...
[2026-10-20 18:53:20,612.612 INFO    ] 200
[2026-10-20 18:53:20,615.615 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:53:20,675.675 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:53:20,677.677 INFO    ] No update needed
[2026-10-20 18:53:20,680.680 INFO    ] Checking for camera pi updates...
[2026-10-20 18:53:20,717.717 INFO    ] 200
[2026-10-20 18:53:20,720.720 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:53:20,766.766 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:53:20,812.812 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:53:20,814.814 INFO    ] No camera update needed
[2026-10-20 18:53:20,817.817 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:53:20,819.819 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:53:20,825.825 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:53:20,830.830 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:53:22,871.871 INFO    ] ================================================
[2026-10-20 18:53:22,886.886 INFO    ] Launching Daemon at Tue Oct 20 18:53:22 IST 2026
[2026-10-20 18:53:22,897.897 INFO    ] ================================================
[2026-10-20 18:53:23,461.461 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:53:23
[2026-10-20 18:53:24,046.046 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:53:24,301.301 INFO    ] Initializing speech engine...
[2026-10-20 18:53:24,307.307 INFO    ] 2026-10-20 18:53:24
[2026-10-20 18:53:24,605.605 INFO    ] 2026-10-20 18:53:24
[2026-10-20 18:53:24,639.639 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:53:24,842.842 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:53:24,849.849 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:53:25,027.027 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:53:25,032.032 INFO    ] time= 20/10/2026 18:53:25
[2026-10-20 18:53:25,039.039 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:53:25,077.077 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:53:25,243.243 INFO    ] No existing commands found in stream
[2026-10-20 18:53:30,269.269 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:53:30,271.271 INFO    ] Waiting 1.02 seconds before fallback handling...
[2026-10-20 18:53:31,826.826 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 18:53:31,829.829 INFO    ] Checking for system updates...
[2026-10-20 18:53:31,865.865 INFO    ] 200
[2026-10-20 18:53:31,868.868 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:53:31,929.929 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:53:31,933.933 INFO    ] No update needed
[2026-10-20 18:53:31,936.936 INFO    ] Checking for camera pi updates...
[2026-10-20 18:53:31,978.978 INFO    ] 200
[2026-10-20 18:53:31,982.982 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:53:32,035.035 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:53:32,095.095 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:53:32,099.099 INFO    ] No camera update needed
[2026-10-20 18:53:32,102.102 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:53:32,105.105 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:53:32,112.112 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:53:32,119.119 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:53:34,165.165 INFO    ] ================================================
[2026-10-20 18:53:34,180.180 INFO    ] Launching Daemon at Tue Oct 20 18:53:34 IST 2026
[2026-10-20 18:53:34,191.191 INFO    ] ================================================
[2026-10-20 18:53:34,778.778 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:53:34
[2026-10-20 18:53:35,383.383 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:53:35,650.650 INFO    ] Initializing speech engine...
[2026-10-20 18:53:35,666.666 INFO    ] 2026-10-20 18:53:35
[2026-10-20 18:53:35,954.954 INFO    ] 2026-10-20 18:53:35
[2026-10-20 18:53:35,989.989 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:53:36,218.218 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:53:36,227.227 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:53:36,400.400 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:53:36,435.435 INFO    ] time= 20/10/2026 18:53:36
[2026-10-20 18:53:36,459.459 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:53:36,481.481 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:53:36,609.609 INFO    ] No existing commands found in stream
[2026-10-20 18:53:41,620.620 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:53:41,623.623 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-10-20 18:53:45,446.446 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:53:45,449.449 INFO    ] Checking for system updates...
[2026-10-20 18:53:45,486.486 INFO    ] 200
[2026-10-20 18:53:45,489.489 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:53:45,550.550 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:53:45,553.553 INFO    ] No update needed
[2026-10-20 18:53:45,556.556 INFO    ] Checking for camera pi updates...
[2026-10-20 18:53:45,594.594 INFO    ] 200
[2026-10-20 18:53:45,597.597 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:53:45,638.638 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:53:45,690.690 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:53:45,693.693 INFO    ] No camera update needed
[2026-10-20 18:53:45,695.695 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:53:45,698.698 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:53:45,704.704 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:53:45,711.711 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:53:47,750.750 INFO    ] ================================================
[2026-10-20 18:53:47,766.766 INFO    ] Launching Daemon at Tue Oct 20 18:53:47 IST 2026
[2026-10-20 18:53:47,777.777 INFO    ] ================================================
[2026-10-20 18:53:48,345.345 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:53:48
[2026-10-20 18:53:48,946.946 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:53:49,220.220 INFO    ] Initializing speech engine...
[2026-10-20 18:53:49,229.229 INFO    ] 2026-10-20 18:53:49
[2026-10-20 18:53:49,492.492 INFO    ] 2026-10-20 18:53:49
[2026-10-20 18:53:49,548.548 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:53:49,773.773 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:53:49,779.779 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:53:49,992.992 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:53:50,035.035 INFO    ] time= 20/10/2026 18:53:49
[2026-10-20 18:53:50,051.051 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:53:50,062.062 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:53:50,190.190 INFO    ] No existing commands found in stream
[2026-10-20 18:53:55,201.201 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:53:55,204.204 INFO    ] Waiting 3.06 seconds before fallback handling...
[2026-10-20 18:53:58,793.793 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:53:58,796.796 INFO    ] Checking for system updates...
[2026-10-20 18:53:58,833.833 INFO    ] 200
[2026-10-20 18:53:58,836.836 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:53:58,897.897 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:53:58,900.900 INFO    ] No update needed
[2026-10-20 18:53:58,903.903 INFO    ] Checking for camera pi updates...
[2026-10-20 18:53:58,942.942 INFO    ] 200
[2026-10-20 18:53:58,945.945 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:53:58,995.995 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:53:59,045.045 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:53:59,048.048 INFO    ] No camera update needed
[2026-10-20 18:53:59,051.051 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:53:59,054.054 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:53:59,060.060 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:53:59,066.066 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:54:01,109.109 INFO    ] ================================================
[2026-10-20 18:54:01,125.125 INFO    ] Launching Daemon at Tue Oct 20 18:54:01 IST 2026
[2026-10-20 18:54:01,137.137 INFO    ] ================================================
[2026-10-20 18:54:01,822.822 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:54:01
[2026-10-20 18:54:02,564.564 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:54:02,889.889 INFO    ] Initializing speech engine...
[2026-10-20 18:54:02,900.900 INFO    ] 2026-10-20 18:54:02
[2026-10-20 18:54:03,197.197 INFO    ] 2026-10-20 18:54:03
[2026-10-20 18:54:03,283.283 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:54:03,517.517 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:54:03,547.547 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:54:03,734.734 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:54:03,806.806 INFO    ] time= 20/10/2026 18:54:03
[2026-10-20 18:54:03,859.859 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:54:03,881.881 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:54:04,017.017 INFO    ] No existing commands found in stream
[2026-10-20 18:54:09,046.046 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:54:09,049.049 INFO    ] Waiting 3.18 seconds before fallback handling...
[2026-10-20 18:54:12,731.731 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 18:54:12,734.734 INFO    ] Checking for system updates...
[2026-10-20 18:54:12,771.771 INFO    ] 200
[2026-10-20 18:54:12,774.774 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:54:12,828.828 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:54:12,831.831 INFO    ] No update needed
[2026-10-20 18:54:12,834.834 INFO    ] Checking for camera pi updates...
[2026-10-20 18:54:12,867.867 INFO    ] 200
[2026-10-20 18:54:12,870.870 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:54:12,910.910 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:54:12,945.945 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:54:12,948.948 INFO    ] No camera update needed
[2026-10-20 18:54:12,950.950 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:54:12,953.953 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:54:12,958.958 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:54:12,963.963 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:54:15,003.003 INFO    ] ================================================
[2026-10-20 18:54:15,019.019 INFO    ] Launching Daemon at Tue Oct 20 18:54:15 IST 2026
[2026-10-20 18:54:15,030.030 INFO    ] ================================================
[2026-10-20 18:54:15,615.615 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:54:15
[2026-10-20 18:54:16,218.218 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:54:16,488.488 INFO    ] Initializing speech engine...
[2026-10-20 18:54:16,499.499 INFO    ] 2026-10-20 18:54:16
[2026-10-20 18:54:16,745.745 INFO    ] 2026-10-20 18:54:16
[2026-10-20 18:54:16,786.786 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:54:17,038.038 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:54:17,044.044 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:54:17,278.278 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:54:17,304.304 INFO    ] time= 20/10/2026 18:54:17
[2026-10-20 18:54:17,321.321 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:54:17,330.330 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:54:17,480.480 INFO    ] No existing commands found in stream
[2026-10-20 18:54:22,511.511 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:54:22,513.513 INFO    ] Waiting 0.88 seconds before fallback handling...
[2026-10-20 18:54:23,889.889 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:54:23,891.891 INFO    ] Checking for system updates...
[2026-10-20 18:54:23,927.927 INFO    ] 200
[2026-10-20 18:54:23,930.930 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:54:23,981.981 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:54:23,984.984 INFO    ] No update needed
[2026-10-20 18:54:23,986.986 INFO    ] Checking for camera pi updates...
[2026-10-20 18:54:24,019.019 INFO    ] 200
[2026-10-20 18:54:24,022.022 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:54:24,063.063 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:54:24,219.219 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:54:24,222.222 INFO    ] No camera update needed
[2026-10-20 18:54:24,224.224 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:54:24,226.226 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:54:24,232.232 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:54:24,236.236 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:54:26,278.278 INFO    ] ================================================
[2026-10-20 18:54:26,294.294 INFO    ] Launching Daemon at Tue Oct 20 18:54:26 IST 2026
[2026-10-20 18:54:26,305.305 INFO    ] ================================================
[2026-10-20 18:54:26,868.868 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:54:26
[2026-10-20 18:54:27,451.451 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:54:27,701.701 INFO    ] Initializing speech engine...
[2026-10-20 18:54:27,708.708 INFO    ] 2026-10-20 18:54:27
[2026-10-20 18:54:28,007.007 INFO    ] 2026-10-20 18:54:27
[2026-10-20 18:54:28,045.045 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:54:28,275.275 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:54:28,316.316 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:54:28,505.505 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:54:28,522.522 INFO    ] time= 20/10/2026 18:54:28
[2026-10-20 18:54:28,582.582 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:54:28,636.636 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:54:28,796.796 INFO    ] No existing commands found in stream
[2026-10-20 18:54:33,824.824 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:54:33,827.827 INFO    ] Waiting 1.37 seconds before fallback handling...
[2026-10-20 18:54:35,696.696 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:54:35,699.699 INFO    ] Checking for system updates...
[2026-10-20 18:54:35,736.736 INFO    ] 200
[2026-10-20 18:54:35,738.738 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:54:35,803.803 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:54:35,805.805 INFO    ] No update needed
[2026-10-20 18:54:35,808.808 INFO    ] Checking for camera pi updates...
[2026-10-20 18:54:35,841.841 INFO    ] 200
[2026-10-20 18:54:35,844.844 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:54:35,883.883 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:54:35,932.932 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:54:35,934.934 INFO    ] No camera update needed
[2026-10-20 18:54:35,937.937 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:54:35,939.939 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:54:35,944.944 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:54:35,949.949 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:54:37,990.990 INFO    ] ================================================
[2026-10-20 18:54:38,006.006 INFO    ] Launching Daemon at Tue Oct 20 18:54:38 IST 2026
[2026-10-20 18:54:38,016.016 INFO    ] ================================================
[2026-10-20 18:54:38,679.679 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:54:38
[2026-10-20 18:54:39,357.357 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:54:39,667.667 INFO    ] Initializing speech engine...
[2026-10-20 18:54:39,678.678 INFO    ] 2026-10-20 18:54:39
[2026-10-20 18:54:39,986.986 INFO    ] 2026-10-20 18:54:39
[2026-10-20 18:54:40,073.073 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:54:40,255.255 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:54:40,289.289 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:54:40,490.490 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:54:40,497.497 INFO    ] time= 20/10/2026 18:54:40
[2026-10-20 18:54:40,518.518 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:54:40,547.547 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:54:40,694.694 INFO    ] No existing commands found in stream
[2026-10-20 18:54:45,725.725 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:54:45,729.729 INFO    ] Waiting 1.00 seconds before fallback handling...
[2026-10-20 18:54:47,208.208 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 18:54:47,210.210 INFO    ] Checking for system updates...
[2026-10-20 18:54:47,247.247 INFO    ] 200
[2026-10-20 18:54:47,249.249 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:54:47,302.302 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:54:47,304.304 INFO    ] No update needed
[2026-10-20 18:54:47,307.307 INFO    ] Checking for camera pi updates...
[2026-10-20 18:54:47,340.340 INFO    ] 200
[2026-10-20 18:54:47,342.342 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:54:47,383.383 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:54:47,415.415 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:54:47,418.418 INFO    ] No camera update needed
[2026-10-20 18:54:47,420.420 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:54:47,423.423 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:54:47,428.428 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:54:47,433.433 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:54:49,472.472 INFO    ] ================================================
[2026-10-20 18:54:49,488.488 INFO    ] Launching Daemon at Tue Oct 20 18:54:49 IST 2026
[2026-10-20 18:54:49,500.500 INFO    ] ================================================
[2026-10-20 18:54:50,070.070 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:54:50
[2026-10-20 18:54:50,658.658 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:54:50,940.940 INFO    ] Initializing speech engine...
[2026-10-20 18:54:50,952.952 INFO    ] 2026-10-20 18:54:50
[2026-10-20 18:54:51,224.224 INFO    ] 2026-10-20 18:54:51
[2026-10-20 18:54:51,260.260 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:54:51,487.487 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:54:51,526.526 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:54:51,719.719 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:54:51,757.757 INFO    ] time= 20/10/2026 18:54:51
[2026-10-20 18:54:51,806.806 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:54:51,860.860 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:54:52,011.011 INFO    ] No existing commands found in stream
[2026-10-20 18:54:57,041.041 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:54:57,044.044 INFO    ] Waiting 0.39 seconds before fallback handling...
[2026-10-20 18:54:57,889.889 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:54:57,892.892 INFO    ] Checking for system updates...
[2026-10-20 18:54:57,931.931 INFO    ] 200
[2026-10-20 18:54:57,933.933 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:54:57,989.989 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:54:57,991.991 INFO    ] No update needed
[2026-10-20 18:54:57,993.993 INFO    ] Checking for camera pi updates...
[2026-10-20 18:54:58,027.027 INFO    ] 200
[2026-10-20 18:54:58,029.029 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:54:58,070.070 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:54:58,111.111 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:54:58,113.113 INFO    ] No camera update needed
[2026-10-20 18:54:58,116.116 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:54:58,118.118 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:54:58,123.123 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:54:58,130.130 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:55:00,172.172 INFO    ] ================================================
[2026-10-20 18:55:00,188.188 INFO    ] Launching Daemon at Tue Oct 20 18:55:00 IST 2026
[2026-10-20 18:55:00,199.199 INFO    ] ================================================
[2026-10-20 18:55:00,895.895 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:55:00
[2026-10-20 18:55:01,612.612 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:55:02,173.173 INFO    ] Initializing speech engine...
[2026-10-20 18:55:02,177.177 INFO    ] 2026-10-20 18:55:02
[2026-10-20 18:55:02,823.823 INFO    ] 2026-10-20 18:55:02
[2026-10-20 18:55:02,961.961 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:55:03,207.207 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:55:03,212.212 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:55:03,400.400 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:55:03,404.404 INFO    ] time= 20/10/2026 18:55:03
[2026-10-20 18:55:03,408.408 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:55:03,484.484 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:55:03,624.624 INFO    ] No existing commands found in stream
[2026-10-20 18:55:08,651.651 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:55:08,655.655 INFO    ] Waiting 1.37 seconds before fallback handling...
[2026-10-20 18:55:10,552.552 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 18:55:10,556.556 INFO    ] Checking for system updates...
[2026-10-20 18:55:10,593.593 INFO    ] 200
[2026-10-20 18:55:10,596.596 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:55:10,648.648 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:55:10,650.650 INFO    ] No update needed
[2026-10-20 18:55:10,653.653 INFO    ] Checking for camera pi updates...
[2026-10-20 18:55:10,694.694 INFO    ] 200
[2026-10-20 18:55:10,696.696 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:55:10,737.737 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:55:10,785.785 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:55:10,787.787 INFO    ] No camera update needed
[2026-10-20 18:55:10,790.790 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:55:10,792.792 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:55:10,797.797 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:55:10,802.802 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:55:12,842.842 INFO    ] ================================================
[2026-10-20 18:55:12,856.856 INFO    ] Launching Daemon at Tue Oct 20 18:55:12 IST 2026
[2026-10-20 18:55:12,867.867 INFO    ] ================================================
[2026-10-20 18:55:13,443.443 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:55:13
[2026-10-20 18:55:14,032.032 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:55:14,301.301 INFO    ] Initializing speech engine...
[2026-10-20 18:55:14,311.311 INFO    ] 2026-10-20 18:55:14
[2026-10-20 18:55:14,556.556 INFO    ] 2026-10-20 18:55:14
[2026-10-20 18:55:14,591.591 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:55:14,842.842 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:55:14,851.851 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:55:14,991.991 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:55:15,055.055 INFO    ] time= 20/10/2026 18:55:15
[2026-10-20 18:55:15,113.113 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:55:15,119.119 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:55:15,266.266 INFO    ] No existing commands found in stream
[2026-10-20 18:55:20,284.284 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:55:20,287.287 INFO    ] Waiting 2.13 seconds before fallback handling...
[2026-10-20 18:55:22,869.869 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 18:55:22,872.872 INFO    ] Checking for system updates...
[2026-10-20 18:55:22,907.907 INFO    ] 200
[2026-10-20 18:55:22,910.910 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:55:22,963.963 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:55:22,966.966 INFO    ] No update needed
[2026-10-20 18:55:22,968.968 INFO    ] Checking for camera pi updates...
[2026-10-20 18:55:23,006.006 INFO    ] 200
[2026-10-20 18:55:23,008.008 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:55:23,049.049 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:55:23,107.107 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:55:23,110.110 INFO    ] No camera update needed
[2026-10-20 18:55:23,112.112 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:55:23,114.114 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:55:23,119.119 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:55:23,124.124 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:55:25,165.165 INFO    ] ================================================
[2026-10-20 18:55:25,180.180 INFO    ] Launching Daemon at Tue Oct 20 18:55:25 IST 2026
[2026-10-20 18:55:25,192.192 INFO    ] ================================================
[2026-10-20 18:55:25,867.867 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:55:25
[2026-10-20 18:55:26,562.562 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:55:26,875.875 INFO    ] Initializing speech engine...
[2026-10-20 18:55:26,887.887 INFO    ] 2026-10-20 18:55:26
[2026-10-20 18:55:27,166.166 INFO    ] 2026-10-20 18:55:27
[2026-10-20 18:55:27,226.226 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:55:27,464.464 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:55:27,471.471 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:55:27,679.679 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:55:27,739.739 INFO    ] time= 20/10/2026 18:55:27
[2026-10-20 18:55:27,748.748 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:55:27,791.791 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:55:27,937.937 INFO    ] No existing commands found in stream
[2026-10-20 18:55:32,969.969 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:55:32,972.972 INFO    ] Waiting 1.91 seconds before fallback handling...
[2026-10-20 18:55:35,416.416 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:55:35,419.419 INFO    ] Checking for system updates...
[2026-10-20 18:55:35,456.456 INFO    ] 200
[2026-10-20 18:55:35,459.459 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:55:35,512.512 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:55:35,515.515 INFO    ] No update needed
[2026-10-20 18:55:35,518.518 INFO    ] Checking for camera pi updates...
[2026-10-20 18:55:35,560.560 INFO    ] 200
[2026-10-20 18:55:35,563.563 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:55:35,605.605 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:55:35,656.656 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:55:35,659.659 INFO    ] No camera update needed
[2026-10-20 18:55:35,662.662 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:55:35,664.664 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:55:35,671.671 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:55:35,677.677 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:55:37,717.717 INFO    ] ================================================
[2026-10-20 18:55:37,732.732 INFO    ] Launching Daemon at Tue Oct 20 18:55:37 IST 2026
[2026-10-20 18:55:37,743.743 INFO    ] ================================================
[2026-10-20 18:55:38,326.326 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:55:38
[2026-10-20 18:55:38,924.924 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:55:39,197.197 INFO    ] Initializing speech engine...
[2026-10-20 18:55:39,206.206 INFO    ] 2026-10-20 18:55:39
[2026-10-20 18:55:39,469.469 INFO    ] 2026-10-20 18:55:39
[2026-10-20 18:55:39,525.525 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:55:39,771.771 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:55:39,778.778 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:55:39,968.968 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:55:40,014.014 INFO    ] time= 20/10/2026 18:55:39
[2026-10-20 18:55:40,019.019 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:55:40,034.034 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:55:40,191.191 INFO    ] No existing commands found in stream
[2026-10-20 18:55:45,222.222 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:55:45,225.225 INFO    ] Waiting 2.71 seconds before fallback handling...
[2026-10-20 18:55:48,477.477 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 18:55:48,480.480 INFO    ] Checking for system updates...
[2026-10-20 18:55:48,517.517 INFO    ] 200
[2026-10-20 18:55:48,521.521 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:55:48,573.573 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:55:48,576.576 INFO    ] No update needed
[2026-10-20 18:55:48,579.579 INFO    ] Checking for camera pi updates...
[2026-10-20 18:55:48,619.619 INFO    ] 200
[2026-10-20 18:55:48,622.622 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:55:48,670.670 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:55:48,726.726 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:55:48,729.729 INFO    ] No camera update needed
[2026-10-20 18:55:48,731.731 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:55:48,734.734 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:55:48,739.739 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:55:48,744.744 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:55:50,783.783 INFO    ] ================================================
[2026-10-20 18:55:50,798.798 INFO    ] Launching Daemon at Tue Oct 20 18:55:50 IST 2026
[2026-10-20 18:55:50,809.809 INFO    ] ================================================
[2026-10-20 18:55:51,393.393 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:55:51
[2026-10-20 18:55:51,993.993 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:55:52,266.266 INFO    ] Initializing speech engine...
[2026-10-20 18:55:52,276.276 INFO    ] 2026-10-20 18:55:52
[2026-10-20 18:55:52,537.537 INFO    ] 2026-10-20 18:55:52
[2026-10-20 18:55:52,567.567 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:55:52,820.820 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:55:52,825.825 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:55:53,046.046 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:55:53,082.082 INFO    ] time= 20/10/2026 18:55:53
[2026-10-20 18:55:53,099.099 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:55:53,107.107 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:55:53,260.260 INFO    ] No existing commands found in stream
[2026-10-20 18:55:58,286.286 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:55:58,289.289 INFO    ] Waiting 1.85 seconds before fallback handling...
[2026-10-20 18:56:00,665.665 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:56:00,667.667 INFO    ] Checking for system updates...
[2026-10-20 18:56:00,703.703 INFO    ] 200
[2026-10-20 18:56:00,705.705 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:56:00,759.759 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:56:00,761.761 INFO    ] No update needed
[2026-10-20 18:56:00,764.764 INFO    ] Checking for camera pi updates...
[2026-10-20 18:56:00,799.799 INFO    ] 200
[2026-10-20 18:56:00,802.802 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:56:00,849.849 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:56:00,898.898 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:56:00,901.901 INFO    ] No camera update needed
[2026-10-20 18:56:00,903.903 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:56:00,905.905 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:56:00,911.911 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:56:00,916.916 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:56:02,958.958 INFO    ] ================================================
[2026-10-20 18:56:02,980.980 INFO    ] Launching Daemon at Tue Oct 20 18:56:02 IST 2026
[2026-10-20 18:56:02,991.991 INFO    ] ================================================
[2026-10-20 18:56:03,634.634 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:56:03
[2026-10-20 18:56:04,316.316 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:56:04,596.596 INFO    ] Initializing speech engine...
[2026-10-20 18:56:04,601.601 INFO    ] 2026-10-20 18:56:04
[2026-10-20 18:56:04,845.845 INFO    ] 2026-10-20 18:56:04
[2026-10-20 18:56:04,879.879 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:56:05,133.133 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:56:05,137.137 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:56:05,276.276 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:56:05,336.336 INFO    ] time= 20/10/2026 18:56:05
[2026-10-20 18:56:05,395.395 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:56:05,403.403 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:56:05,547.547 INFO    ] No existing commands found in stream
[2026-10-20 18:56:10,560.560 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:56:10,562.562 INFO    ] Waiting 3.53 seconds before fallback handling...
[2026-10-20 18:56:14,603.603 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:56:14,606.606 INFO    ] Checking for system updates...
[2026-10-20 18:56:14,641.641 INFO    ] 200
[2026-10-20 18:56:14,643.643 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:56:14,698.698 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:56:14,700.700 INFO    ] No update needed
[2026-10-20 18:56:14,702.702 INFO    ] Checking for camera pi updates...
[2026-10-20 18:56:14,736.736 INFO    ] 200
[2026-10-20 18:56:14,738.738 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:56:14,784.784 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:56:14,827.827 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:56:14,830.830 INFO    ] No camera update needed
[2026-10-20 18:56:14,832.832 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:56:14,834.834 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:56:14,839.839 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:56:14,844.844 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:56:16,885.885 INFO    ] ================================================
[2026-10-20 18:56:16,900.900 INFO    ] Launching Daemon at Tue Oct 20 18:56:16 IST 2026
[2026-10-20 18:56:16,910.910 INFO    ] ================================================
[2026-10-20 18:56:17,477.477 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:56:17
[2026-10-20 18:56:18,062.062 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:56:18,334.334 INFO    ] Initializing speech engine...
[2026-10-20 18:56:18,342.342 INFO    ] 2026-10-20 18:56:18
[2026-10-20 18:56:18,593.593 INFO    ] 2026-10-20 18:56:18
[2026-10-20 18:56:18,628.628 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:56:18,885.885 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:56:18,894.894 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:56:19,115.115 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:56:19,161.161 INFO    ] time= 20/10/2026 18:56:19
[2026-10-20 18:56:19,166.166 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:56:19,187.187 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:56:19,325.325 INFO    ] No existing commands found in stream
[2026-10-20 18:56:24,355.355 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:56:24,358.358 INFO    ] Waiting 2.14 seconds before fallback handling...
[2026-10-20 18:56:27,032.032 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 18:56:27,034.034 INFO    ] Checking for system updates...
[2026-10-20 18:56:27,070.070 INFO    ] 200
[2026-10-20 18:56:27,072.072 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:56:27,126.126 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:56:27,128.128 INFO    ] No update needed
[2026-10-20 18:56:27,131.131 INFO    ] Checking for camera pi updates...
[2026-10-20 18:56:27,169.169 INFO    ] 200
[2026-10-20 18:56:27,171.171 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:56:27,212.212 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:56:27,354.354 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:56:27,357.357 INFO    ] No camera update needed
[2026-10-20 18:56:27,360.360 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:56:27,362.362 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:56:27,368.368 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:56:27,373.373 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:56:29,414.414 INFO    ] ================================================
[2026-10-20 18:56:29,429.429 INFO    ] Launching Daemon at Tue Oct 20 18:56:29 IST 2026
[2026-10-20 18:56:29,439.439 INFO    ] ================================================
[2026-10-20 18:56:30,044.044 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:56:30
[2026-10-20 18:56:30,629.629 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:56:30,898.898 INFO    ] Initializing speech engine...
[2026-10-20 18:56:30,907.907 INFO    ] 2026-10-20 18:56:30
[2026-10-20 18:56:31,165.165 INFO    ] 2026-10-20 18:56:31
[2026-10-20 18:56:31,200.200 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:56:31,401.401 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:56:31,418.418 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:56:31,602.602 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:56:31,610.610 INFO    ] time= 20/10/2026 18:56:31
[2026-10-20 18:56:31,617.617 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:56:31,631.631 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:56:31,779.779 INFO    ] No existing commands found in stream
[2026-10-20 18:56:36,805.805 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:56:36,807.807 INFO    ] Waiting 1.70 seconds before fallback handling...
[2026-10-20 18:56:39,021.021 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:56:39,024.024 INFO    ] Checking for system updates...
[2026-10-20 18:56:39,064.064 INFO    ] 200
[2026-10-20 18:56:39,066.066 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:56:39,126.126 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:56:39,129.129 INFO    ] No update needed
[2026-10-20 18:56:39,131.131 INFO    ] Checking for camera pi updates...
[2026-10-20 18:56:39,169.169 INFO    ] 200
[2026-10-20 18:56:39,171.171 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:56:39,217.217 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:56:39,271.271 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:56:39,273.273 INFO    ] No camera update needed
[2026-10-20 18:56:39,276.276 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:56:39,278.278 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:56:39,285.285 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:56:39,290.290 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:56:41,331.331 INFO    ] ================================================
[2026-10-20 18:56:41,345.345 INFO    ] Launching Daemon at Tue Oct 20 18:56:41 IST 2026
[2026-10-20 18:56:41,356.356 INFO    ] ================================================
[2026-10-20 18:56:42,036.036 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:56:42
[2026-10-20 18:56:42,621.621 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:56:42,869.869 INFO    ] Initializing speech engine...
[2026-10-20 18:56:42,875.875 INFO    ] 2026-10-20 18:56:42
[2026-10-20 18:56:43,149.149 INFO    ] 2026-10-20 18:56:43
[2026-10-20 18:56:43,184.184 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:56:43,405.405 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:56:43,450.450 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:56:43,647.647 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:56:43,702.702 INFO    ] time= 20/10/2026 18:56:43
[2026-10-20 18:56:43,732.732 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:56:43,750.750 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:56:43,887.887 INFO    ] No existing commands found in stream
[2026-10-20 18:56:48,911.911 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:56:48,914.914 INFO    ] Waiting 3.66 seconds before fallback handling...
[2026-10-20 18:56:53,104.104 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:56:53,107.107 INFO    ] Checking for system updates...
[2026-10-20 18:56:53,145.145 INFO    ] 200
[2026-10-20 18:56:53,148.148 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:56:53,210.210 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:56:53,214.214 INFO    ] No update needed
[2026-10-20 18:56:53,217.217 INFO    ] Checking for camera pi updates...
[2026-10-20 18:56:53,252.252 INFO    ] 200
[2026-10-20 18:56:53,255.255 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:56:53,297.297 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:56:53,340.340 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:56:53,343.343 INFO    ] No camera update needed
[2026-10-20 18:56:53,346.346 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:56:53,349.349 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:56:53,356.356 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:56:53,362.362 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:56:55,404.404 INFO    ] ================================================
[2026-10-20 18:56:55,419.419 INFO    ] Launching Daemon at Tue Oct 20 18:56:55 IST 2026
[2026-10-20 18:56:55,431.431 INFO    ] ================================================
[2026-10-20 18:56:56,106.106 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:56:56
[2026-10-20 18:56:56,805.805 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:56:57,115.115 INFO    ] Initializing speech engine...
[2026-10-20 18:56:57,129.129 INFO    ] 2026-10-20 18:56:57
[2026-10-20 18:56:57,442.442 INFO    ] 2026-10-20 18:56:57
[2026-10-20 18:56:57,531.531 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:56:57,810.810 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:56:57,858.858 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:56:58,085.085 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:56:58,136.136 INFO    ] time= 20/10/2026 18:56:58
[2026-10-20 18:56:58,197.197 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:56:58,227.227 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:56:58,390.390 INFO    ] No existing commands found in stream
[2026-10-20 18:57:03,401.401 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:57:03,405.405 INFO    ] Waiting 2.86 seconds before fallback handling...
[2026-10-20 18:57:06,783.783 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 18:57:06,786.786 INFO    ] Checking for system updates...
[2026-10-20 18:57:06,823.823 INFO    ] 200
[2026-10-20 18:57:06,826.826 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:57:06,887.887 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:57:06,890.890 INFO    ] No update needed
[2026-10-20 18:57:06,893.893 INFO    ] Checking for camera pi updates...
[2026-10-20 18:57:06,928.928 INFO    ] 200
[2026-10-20 18:57:06,931.931 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:57:06,981.981 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:57:07,038.038 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:57:07,041.041 INFO    ] No camera update needed
[2026-10-20 18:57:07,044.044 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:57:07,047.047 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:57:07,053.053 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:57:07,059.059 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:57:09,099.099 INFO    ] ================================================
[2026-10-20 18:57:09,114.114 INFO    ] Launching Daemon at Tue Oct 20 18:57:09 IST 2026
[2026-10-20 18:57:09,124.124 INFO    ] ================================================
[2026-10-20 18:57:09,707.707 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:57:09
[2026-10-20 18:57:10,304.304 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:57:10,579.579 INFO    ] Initializing speech engine...
[2026-10-20 18:57:10,587.587 INFO    ] 2026-10-20 18:57:10
[2026-10-20 18:57:10,846.846 INFO    ] 2026-10-20 18:57:10
[2026-10-20 18:57:10,900.900 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:57:11,151.151 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:57:11,156.156 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:57:11,372.372 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:57:11,411.411 INFO    ] time= 20/10/2026 18:57:11
[2026-10-20 18:57:11,418.418 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:57:11,435.435 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:57:11,547.547 INFO    ] No existing commands found in stream
[2026-10-20 18:57:16,561.561 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:57:16,564.564 INFO    ] Waiting 2.74 seconds before fallback handling...
[2026-10-20 18:57:19,841.841 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 18:57:19,844.844 INFO    ] Checking for system updates...
[2026-10-20 18:57:19,884.884 INFO    ] 200
[2026-10-20 18:57:19,886.886 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:57:19,945.945 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:57:19,948.948 INFO    ] No update needed
[2026-10-20 18:57:19,950.950 INFO    ] Checking for camera pi updates...
[2026-10-20 18:57:19,988.988 INFO    ] 200
[2026-10-20 18:57:19,991.991 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:57:20,031.031 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:57:20,079.079 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:57:20,081.081 INFO    ] No camera update needed
[2026-10-20 18:57:20,083.083 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:57:20,086.086 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:57:20,091.091 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:57:20,096.096 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:57:22,137.137 INFO    ] ================================================
[2026-10-20 18:57:22,152.152 INFO    ] Launching Daemon at Tue Oct 20 18:57:22 IST 2026
[2026-10-20 18:57:22,163.163 INFO    ] ================================================
[2026-10-20 18:57:22,738.738 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:57:22
[2026-10-20 18:57:23,330.330 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:57:23,598.598 INFO    ] Initializing speech engine...
[2026-10-20 18:57:23,607.607 INFO    ] 2026-10-20 18:57:23
[2026-10-20 18:57:23,854.854 INFO    ] 2026-10-20 18:57:23
[2026-10-20 18:57:23,888.888 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:57:24,145.145 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:57:24,149.149 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:57:24,371.371 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:57:24,408.408 INFO    ] time= 20/10/2026 18:57:24
[2026-10-20 18:57:24,414.414 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:57:24,430.430 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:57:24,565.565 INFO    ] No existing commands found in stream
[2026-10-20 18:57:29,587.587 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:57:29,590.590 INFO    ] Waiting 0.39 seconds before fallback handling...
[2026-10-20 18:57:30,510.510 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:57:30,513.513 INFO    ] Checking for system updates...
[2026-10-20 18:57:30,549.549 INFO    ] 200
[2026-10-20 18:57:30,552.552 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:57:30,605.605 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:57:30,608.608 INFO    ] No update needed
[2026-10-20 18:57:30,611.611 INFO    ] Checking for camera pi updates...
[2026-10-20 18:57:30,645.645 INFO    ] 200
[2026-10-20 18:57:30,647.647 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:57:30,693.693 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:57:30,740.740 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:57:30,743.743 INFO    ] No camera update needed
[2026-10-20 18:57:30,745.745 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:57:30,747.747 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:57:30,753.753 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:57:30,758.758 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:57:32,804.804 INFO    ] ================================================
[2026-10-20 18:57:32,820.820 INFO    ] Launching Daemon at Tue Oct 20 18:57:32 IST 2026
[2026-10-20 18:57:32,831.831 INFO    ] ================================================
[2026-10-20 18:57:33,492.492 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:57:33
[2026-10-20 18:57:34,175.175 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:57:34,492.492 INFO    ] Initializing speech engine...
[2026-10-20 18:57:34,498.498 INFO    ] 2026-10-20 18:57:34
[2026-10-20 18:57:34,809.809 INFO    ] 2026-10-20 18:57:34
[2026-10-20 18:57:34,895.895 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:57:35,111.111 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:57:35,121.121 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:57:35,314.314 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:57:35,336.336 INFO    ] time= 20/10/2026 18:57:35
[2026-10-20 18:57:35,362.362 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:57:35,371.371 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:57:35,493.493 INFO    ] No existing commands found in stream
[2026-10-20 18:57:40,524.524 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:57:40,527.527 INFO    ] Waiting 2.47 seconds before fallback handling...
[2026-10-20 18:57:43,566.566 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 18:57:43,569.569 INFO    ] Checking for system updates...
[2026-10-20 18:57:43,610.610 INFO    ] 200
[2026-10-20 18:57:43,613.613 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:57:43,667.667 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:57:43,670.670 INFO    ] No update needed
[2026-10-20 18:57:43,673.673 INFO    ] Checking for camera pi updates...
[2026-10-20 18:57:43,714.714 INFO    ] 200
[2026-10-20 18:57:43,716.716 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:57:43,757.757 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:57:43,805.805 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:57:43,807.807 INFO    ] No camera update needed
[2026-10-20 18:57:43,810.810 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:57:43,812.812 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:57:43,817.817 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:57:43,823.823 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:57:45,863.863 INFO    ] ================================================
[2026-10-20 18:57:45,877.877 INFO    ] Launching Daemon at Tue Oct 20 18:57:45 IST 2026
[2026-10-20 18:57:45,888.888 INFO    ] ================================================
[2026-10-20 18:57:46,549.549 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:57:46
[2026-10-20 18:57:47,230.230 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:57:47,539.539 INFO    ] Initializing speech engine...
[2026-10-20 18:57:47,551.551 INFO    ] 2026-10-20 18:57:47
[2026-10-20 18:57:47,829.829 INFO    ] 2026-10-20 18:57:47
[2026-10-20 18:57:47,891.891 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:57:48,209.209 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:57:48,227.227 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:57:48,406.406 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:57:48,415.415 INFO    ] time= 20/10/2026 18:57:48
[2026-10-20 18:57:48,431.431 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:57:48,489.489 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:57:48,617.617 INFO    ] No existing commands found in stream
[2026-10-20 18:57:53,642.642 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:57:53,645.645 INFO    ] Waiting 0.71 seconds before fallback handling...
[2026-10-20 18:57:54,874.874 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 18:57:54,877.877 INFO    ] Checking for system updates...
[2026-10-20 18:57:54,918.918 INFO    ] 200
[2026-10-20 18:57:54,921.921 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:57:54,981.981 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:57:54,984.984 INFO    ] No update needed
[2026-10-20 18:57:54,987.987 INFO    ] Checking for camera pi updates...
[2026-10-20 18:57:55,026.026 INFO    ] 200
[2026-10-20 18:57:55,029.029 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:57:55,076.076 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:57:55,125.125 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:57:55,127.127 INFO    ] No camera update needed
[2026-10-20 18:57:55,130.130 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:57:55,132.132 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:57:55,137.137 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:57:55,142.142 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:57:57,181.181 INFO    ] ================================================
[2026-10-20 18:57:57,197.197 INFO    ] Launching Daemon at Tue Oct 20 18:57:57 IST 2026
[2026-10-20 18:57:57,208.208 INFO    ] ================================================
[2026-10-20 18:57:57,776.776 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:57:57
[2026-10-20 18:57:58,359.359 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:57:58,629.629 INFO    ] Initializing speech engine...
[2026-10-20 18:57:58,638.638 INFO    ] 2026-10-20 18:57:58
[2026-10-20 18:57:58,888.888 INFO    ] 2026-10-20 18:57:58
[2026-10-20 18:57:58,922.922 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:57:59,125.125 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:57:59,176.176 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:57:59,327.327 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:57:59,377.377 INFO    ] time= 20/10/2026 18:57:59
[2026-10-20 18:57:59,431.431 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:57:59,461.461 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:57:59,586.586 INFO    ] No existing commands found in stream
[2026-10-20 18:58:04,611.611 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:58:04,614.614 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-10-20 18:58:07,410.410 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 18:58:07,412.412 INFO    ] Checking for system updates...
[2026-10-20 18:58:07,447.447 INFO    ] 200
[2026-10-20 18:58:07,450.450 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:58:07,510.510 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:58:07,512.512 INFO    ] No update needed
[2026-10-20 18:58:07,515.515 INFO    ] Checking for camera pi updates...
[2026-10-20 18:58:07,552.552 INFO    ] 200
[2026-10-20 18:58:07,554.554 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:58:07,594.594 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:58:07,639.639 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:58:07,642.642 INFO    ] No camera update needed
[2026-10-20 18:58:07,644.644 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:58:07,647.647 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:58:07,652.652 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:58:07,657.657 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:58:09,699.699 INFO    ] ================================================
[2026-10-20 18:58:09,714.714 INFO    ] Launching Daemon at Tue Oct 20 18:58:09 IST 2026
[2026-10-20 18:58:09,724.724 INFO    ] ================================================
[2026-10-20 18:58:10,293.293 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:58:10
[2026-10-20 18:58:10,879.879 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:58:11,136.136 INFO    ] Initializing speech engine...
[2026-10-20 18:58:11,151.151 INFO    ] 2026-10-20 18:58:11
[2026-10-20 18:58:11,435.435 INFO    ] 2026-10-20 18:58:11
[2026-10-20 18:58:11,469.469 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:58:11,697.697 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:58:11,705.705 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:58:11,854.854 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:58:11,860.860 INFO    ] time= 20/10/2026 18:58:11
[2026-10-20 18:58:11,866.866 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:58:11,935.935 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:58:12,070.070 INFO    ] No existing commands found in stream
[2026-10-20 18:58:17,091.091 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:58:17,094.094 INFO    ] Waiting 2.28 seconds before fallback handling...
[2026-10-20 18:58:19,951.951 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 18:58:19,954.954 INFO    ] Checking for system updates...
[2026-10-20 18:58:19,991.991 INFO    ] 200
[2026-10-20 18:58:19,994.994 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:58:20,053.053 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:58:20,056.056 INFO    ] No update needed
[2026-10-20 18:58:20,059.059 INFO    ] Checking for camera pi updates...
[2026-10-20 18:58:20,100.100 INFO    ] 200
[2026-10-20 18:58:20,103.103 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:58:20,144.144 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:58:20,196.196 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:58:20,199.199 INFO    ] No camera update needed
[2026-10-20 18:58:20,202.202 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:58:20,205.205 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:58:20,211.211 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:58:20,217.217 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:58:22,259.259 INFO    ] ================================================
[2026-10-20 18:58:22,275.275 INFO    ] Launching Daemon at Tue Oct 20 18:58:22 IST 2026
[2026-10-20 18:58:22,285.285 INFO    ] ================================================
[2026-10-20 18:58:22,936.936 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:58:22
[2026-10-20 18:58:23,606.606 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:58:23,910.910 INFO    ] Initializing speech engine...
[2026-10-20 18:58:23,918.918 INFO    ] 2026-10-20 18:58:23
[2026-10-20 18:58:24,207.207 INFO    ] 2026-10-20 18:58:24
[2026-10-20 18:58:24,252.252 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:58:24,549.549 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:58:24,554.554 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:58:24,757.757 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:58:24,764.764 INFO    ] time= 20/10/2026 18:58:24
[2026-10-20 18:58:24,786.786 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:58:24,816.816 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:58:24,954.954 INFO    ] No existing commands found in stream
[2026-10-20 18:58:29,990.990 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:58:29,993.993 INFO    ] Waiting 3.35 seconds before fallback handling...
[2026-10-20 18:58:33,870.870 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:58:33,873.873 INFO    ] Checking for system updates...
[2026-10-20 18:58:33,913.913 INFO    ] 200
[2026-10-20 18:58:33,916.916 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:58:33,976.976 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:58:33,979.979 INFO    ] No update needed
[2026-10-20 18:58:33,982.982 INFO    ] Checking for camera pi updates...
[2026-10-20 18:58:34,020.020 INFO    ] 200
[2026-10-20 18:58:34,023.023 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:58:34,069.069 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:58:34,124.124 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:58:34,127.127 INFO    ] No camera update needed
[2026-10-20 18:58:34,130.130 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:58:34,132.132 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:58:34,139.139 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:58:34,144.144 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:58:36,185.185 INFO    ] ================================================
[2026-10-20 18:58:36,199.199 INFO    ] Launching Daemon at Tue Oct 20 18:58:36 IST 2026
[2026-10-20 18:58:36,210.210 INFO    ] ================================================
[2026-10-20 18:58:36,799.799 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:58:36
[2026-10-20 18:58:37,389.389 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:58:37,692.692 INFO    ] Initializing speech engine...
[2026-10-20 18:58:37,701.701 INFO    ] 2026-10-20 18:58:37
[2026-10-20 18:58:37,988.988 INFO    ] 2026-10-20 18:58:37
[2026-10-20 18:58:38,036.036 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:58:38,326.326 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:58:38,336.336 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:58:38,531.531 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:58:38,550.550 INFO    ] time= 20/10/2026 18:58:38
[2026-10-20 18:58:38,558.558 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:58:38,589.589 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:58:38,721.721 INFO    ] No existing commands found in stream
[2026-10-20 18:58:43,752.752 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:58:43,755.755 INFO    ] Waiting 1.38 seconds before fallback handling...
[2026-10-20 18:58:47,166.166 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:58:47,169.169 INFO    ] Checking for system updates...
[2026-10-20 18:58:47,211.211 INFO    ] 200
[2026-10-20 18:58:47,214.214 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:58:47,274.274 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:58:47,277.277 INFO    ] No update needed
[2026-10-20 18:58:47,280.280 INFO    ] Checking for camera pi updates...
[2026-10-20 18:58:47,314.314 INFO    ] 200
[2026-10-20 18:58:47,316.316 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:58:47,358.358 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:58:47,412.412 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:58:47,415.415 INFO    ] No camera update needed
[2026-10-20 18:58:47,418.418 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:58:47,421.421 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:58:47,427.427 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:58:47,433.433 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:58:49,473.473 INFO    ] ================================================
[2026-10-20 18:58:49,488.488 INFO    ] Launching Daemon at Tue Oct 20 18:58:49 IST 2026
[2026-10-20 18:58:49,499.499 INFO    ] ================================================
[2026-10-20 18:58:50,075.075 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:58:50
[2026-10-20 18:58:50,670.670 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:58:50,947.947 INFO    ] Initializing speech engine...
[2026-10-20 18:58:50,953.953 INFO    ] 2026-10-20 18:58:50
[2026-10-20 18:58:51,206.206 INFO    ] 2026-10-20 18:58:51
[2026-10-20 18:58:51,264.264 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:58:51,486.486 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:58:51,496.496 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:58:51,709.709 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:58:51,755.755 INFO    ] time= 20/10/2026 18:58:51
[2026-10-20 18:58:51,761.761 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:58:51,779.779 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:58:51,907.907 INFO    ] No existing commands found in stream
[2026-10-20 18:58:56,921.921 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:58:56,924.924 INFO    ] Waiting 0.51 seconds before fallback handling...
[2026-10-20 18:58:57,973.973 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:58:57,976.976 INFO    ] Checking for system updates...
[2026-10-20 18:58:58,013.013 INFO    ] 200
[2026-10-20 18:58:58,015.015 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:58:58,073.073 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:58:58,076.076 INFO    ] No update needed
[2026-10-20 18:58:58,078.078 INFO    ] Checking for camera pi updates...
[2026-10-20 18:58:58,112.112 INFO    ] 200
[2026-10-20 18:58:58,114.114 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:58:58,154.154 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:58:58,206.206 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:58:58,209.209 INFO    ] No camera update needed
[2026-10-20 18:58:58,211.211 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:58:58,214.214 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:58:58,219.219 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:58:58,224.224 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:59:00,265.265 INFO    ] ================================================
[2026-10-20 18:59:00,281.281 INFO    ] Launching Daemon at Tue Oct 20 18:59:00 IST 2026
[2026-10-20 18:59:00,292.292 INFO    ] ================================================
[2026-10-20 18:59:00,858.858 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:59:00
[2026-10-20 18:59:01,445.445 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:59:01,955.955 INFO    ] Initializing speech engine...
[2026-10-20 18:59:01,963.963 INFO    ] 2026-10-20 18:59:01
[2026-10-20 18:59:02,242.242 INFO    ] 2026-10-20 18:59:02
[2026-10-20 18:59:02,320.320 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:59:02,506.506 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:59:02,513.513 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:59:02,748.748 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:59:02,784.784 INFO    ] time= 20/10/2026 18:59:02
[2026-10-20 18:59:02,804.804 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:59:02,814.814 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:59:02,948.948 INFO    ] No existing commands found in stream
[2026-10-20 18:59:07,972.972 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:59:07,975.975 INFO    ] Waiting 0.96 seconds before fallback handling...
[2026-10-20 18:59:09,401.401 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:59:09,404.404 INFO    ] Checking for system updates...
[2026-10-20 18:59:09,439.439 INFO    ] 200
[2026-10-20 18:59:09,442.442 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:59:09,494.494 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:59:09,497.497 INFO    ] No update needed
[2026-10-20 18:59:09,500.500 INFO    ] Checking for camera pi updates...
[2026-10-20 18:59:09,533.533 INFO    ] 200
[2026-10-20 18:59:09,535.535 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:59:09,575.575 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:59:09,622.622 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:59:09,624.624 INFO    ] No camera update needed
[2026-10-20 18:59:09,626.626 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:59:09,629.629 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:59:09,635.635 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:59:09,640.640 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:59:11,680.680 INFO    ] ================================================
[2026-10-20 18:59:11,695.695 INFO    ] Launching Daemon at Tue Oct 20 18:59:11 IST 2026
[2026-10-20 18:59:11,706.706 INFO    ] ================================================
[2026-10-20 18:59:12,374.374 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:59:12
[2026-10-20 18:59:13,055.055 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:59:13,367.367 INFO    ] Initializing speech engine...
[2026-10-20 18:59:13,373.373 INFO    ] 2026-10-20 18:59:13
[2026-10-20 18:59:13,655.655 INFO    ] 2026-10-20 18:59:13
[2026-10-20 18:59:13,698.698 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:59:13,926.926 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:59:13,947.947 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:59:14,140.140 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:59:14,187.187 INFO    ] time= 20/10/2026 18:59:14
[2026-10-20 18:59:14,205.205 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:59:14,221.221 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:59:14,412.412 INFO    ] No existing commands found in stream
[2026-10-20 18:59:19,441.441 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:59:19,445.445 INFO    ] Waiting 0.40 seconds before fallback handling...
[2026-10-20 18:59:20,380.380 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 18:59:20,383.383 INFO    ] Checking for system updates...
[2026-10-20 18:59:20,420.420 INFO    ] 200
[2026-10-20 18:59:20,423.423 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:59:20,477.477 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:59:20,480.480 INFO    ] No update needed
[2026-10-20 18:59:20,483.483 INFO    ] Checking for camera pi updates...
[2026-10-20 18:59:20,517.517 INFO    ] 200
[2026-10-20 18:59:20,520.520 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:59:20,562.562 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:59:20,627.627 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:59:20,630.630 INFO    ] No camera update needed
[2026-10-20 18:59:20,633.633 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:59:20,635.635 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:59:20,642.642 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:59:20,647.647 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:59:22,689.689 INFO    ] ================================================
[2026-10-20 18:59:22,703.703 INFO    ] Launching Daemon at Tue Oct 20 18:59:22 IST 2026
[2026-10-20 18:59:22,714.714 INFO    ] ================================================
[2026-10-20 18:59:23,282.282 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:59:23
[2026-10-20 18:59:23,868.868 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:59:24,136.136 INFO    ] Initializing speech engine...
[2026-10-20 18:59:24,145.145 INFO    ] 2026-10-20 18:59:24
[2026-10-20 18:59:24,397.397 INFO    ] 2026-10-20 18:59:24
[2026-10-20 18:59:24,431.431 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:59:24,687.687 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:59:24,692.692 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:59:24,912.912 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:59:24,951.951 INFO    ] time= 20/10/2026 18:59:24
[2026-10-20 18:59:24,957.957 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:59:24,977.977 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:59:25,108.108 INFO    ] No existing commands found in stream
[2026-10-20 18:59:30,130.130 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:59:30,133.133 INFO    ] Waiting 1.85 seconds before fallback handling...
[2026-10-20 18:59:32,530.530 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:59:32,533.533 INFO    ] Checking for system updates...
[2026-10-20 18:59:32,581.581 INFO    ] 200
[2026-10-20 18:59:32,584.584 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:59:32,644.644 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:59:32,647.647 INFO    ] No update needed
[2026-10-20 18:59:32,650.650 INFO    ] Checking for camera pi updates...
[2026-10-20 18:59:32,685.685 INFO    ] 200
[2026-10-20 18:59:32,688.688 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:59:32,732.732 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:59:32,765.765 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:59:32,768.768 INFO    ] No camera update needed
[2026-10-20 18:59:32,771.771 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:59:32,774.774 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:59:32,780.780 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:59:32,786.786 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:59:34,829.829 INFO    ] ================================================
[2026-10-20 18:59:34,844.844 INFO    ] Launching Daemon at Tue Oct 20 18:59:34 IST 2026
[2026-10-20 18:59:34,854.854 INFO    ] ================================================
[2026-10-20 18:59:35,437.437 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:59:35
[2026-10-20 18:59:36,037.037 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:59:36,299.299 INFO    ] Initializing speech engine...
[2026-10-20 18:59:36,308.308 INFO    ] 2026-10-20 18:59:36
[2026-10-20 18:59:36,607.607 INFO    ] 2026-10-20 18:59:36
[2026-10-20 18:59:36,643.643 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:59:36,846.846 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:59:36,862.862 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:59:37,033.033 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:59:37,038.038 INFO    ] time= 20/10/2026 18:59:37
[2026-10-20 18:59:37,045.045 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:59:37,051.051 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:59:37,188.188 INFO    ] No existing commands found in stream
[2026-10-20 18:59:42,208.208 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:59:42,211.211 INFO    ] Waiting 2.95 seconds before fallback handling...
[2026-10-20 18:59:45,691.691 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 18:59:45,694.694 INFO    ] Checking for system updates...
[2026-10-20 18:59:45,730.730 INFO    ] 200
[2026-10-20 18:59:45,733.733 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:59:45,784.784 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 18:59:45,787.787 INFO    ] No update needed
[2026-10-20 18:59:45,789.789 INFO    ] Checking for camera pi updates...
[2026-10-20 18:59:45,823.823 INFO    ] 200
[2026-10-20 18:59:45,825.825 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:59:45,865.865 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:59:45,912.912 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:59:45,914.914 INFO    ] No camera update needed
[2026-10-20 18:59:45,917.917 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:59:45,919.919 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:59:45,925.925 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:59:45,930.930 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 18:59:47,969.969 INFO    ] ================================================
[2026-10-20 18:59:47,984.984 INFO    ] Launching Daemon at Tue Oct 20 18:59:47 IST 2026
[2026-10-20 18:59:48,995.995 INFO    ] ================================================
[2026-10-20 18:59:48,576.576 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 18:59:48
[2026-10-20 18:59:49,175.175 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 18:59:49,454.454 INFO    ] Initializing speech engine...
[2026-10-20 18:59:49,461.461 INFO    ] 2026-10-20 18:59:49
[2026-10-20 18:59:49,710.710 INFO    ] 2026-10-20 18:59:49
[2026-10-20 18:59:49,747.747 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 18:59:49,999.999 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 18:59:50,009.009 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 18:59:50,204.204 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 18:59:50,264.264 INFO    ] time= 20/10/2026 18:59:50
[2026-10-20 18:59:50,274.274 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 18:59:50,290.290 INFO    ] Checking for existing commands in stream...
[2026-10-20 18:59:50,419.419 INFO    ] No existing commands found in stream
[2026-10-20 18:59:55,434.434 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 18:59:55,437.437 INFO    ] Waiting 2.36 seconds before fallback handling...
[2026-10-20 18:59:58,338.338 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 18:59:58,341.341 INFO    ] Checking for system updates...
[2026-10-20 18:59:58,378.378 INFO    ] 200
[2026-10-20 18:59:58,381.381 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:59:58,433.433 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:59:58,436.436 INFO    ] No update needed
[2026-10-20 18:59:58,438.438 INFO    ] Checking for camera pi updates...
[2026-10-20 18:59:58,474.474 INFO    ] 200
[2026-10-20 18:59:58,476.476 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 18:59:58,517.517 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 18:59:58,566.566 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 18:59:58,569.569 INFO    ] No camera update needed
[2026-10-20 18:59:58,571.571 INFO    ] Script finished. Safe exiting...
[2026-10-20 18:59:58,574.574 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 18:59:58,579.579 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 18:59:58,584.584 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:00:00,626.626 INFO    ] ================================================
[2026-10-20 19:00:00,641.641 INFO    ] Launching Daemon at Tue Oct 20 19:00:00 IST 2026
[2026-10-20 19:00:00,653.653 INFO    ] ================================================
[2026-10-20 19:00:01,313.313 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:00:01
[2026-10-20 19:00:02,780.780 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:00:04,158.158 INFO    ] Initializing speech engine...
[2026-10-20 19:00:04,162.162 INFO    ] 2026-10-20 19:00:04
[2026-10-20 19:00:05,003.003 INFO    ] 2026-10-20 19:00:05
[2026-10-20 19:00:05,086.086 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:00:05,404.404 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:00:05,407.407 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:00:05,591.591 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:00:05,595.595 INFO    ] time= 20/10/2026 19:00:05
[2026-10-20 19:00:05,656.656 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:00:05,670.670 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:00:05,772.772 INFO    ] No existing commands found in stream
[2026-10-20 19:00:10,810.810 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:00:10,812.812 INFO    ] Waiting 0.36 seconds before fallback handling...
[2026-10-20 19:00:11,646.646 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:00:11,649.649 INFO    ] Checking for system updates...
[2026-10-20 19:00:11,684.684 INFO    ] 200
[2026-10-20 19:00:11,687.687 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:00:11,741.741 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:00:11,743.743 INFO    ] No update needed
[2026-10-20 19:00:11,746.746 INFO    ] Checking for camera pi updates...
[2026-10-20 19:00:11,782.782 INFO    ] 200
[2026-10-20 19:00:11,784.784 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:00:11,824.824 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:00:11,873.873 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:00:11,875.875 INFO    ] No camera update needed
[2026-10-20 19:00:11,878.878 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:00:11,880.880 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:00:11,885.885 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:00:11,890.890 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:00:13,930.930 INFO    ] ================================================
[2026-10-20 19:00:13,946.946 INFO    ] Launching Daemon at Tue Oct 20 19:00:13 IST 2026
[2026-10-20 19:00:13,957.957 INFO    ] ================================================
[2026-10-20 19:00:14,538.538 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:00:14
[2026-10-20 19:00:15,137.137 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:00:15,414.414 INFO    ] Initializing speech engine...
[2026-10-20 19:00:15,421.421 INFO    ] 2026-10-20 19:00:15
[2026-10-20 19:00:15,681.681 INFO    ] 2026-10-20 19:00:15
[2026-10-20 19:00:15,735.735 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:00:15,965.965 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:00:15,985.985 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:00:16,187.187 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:00:16,225.225 INFO    ] time= 20/10/2026 19:00:16
[2026-10-20 19:00:16,231.231 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:00:16,248.248 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:00:16,380.380 INFO    ] No existing commands found in stream
[2026-10-20 19:00:21,398.398 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:00:21,401.401 INFO    ] Waiting 2.35 seconds before fallback handling...
[2026-10-20 19:00:24,212.212 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 19:00:24,215.215 INFO    ] Checking for system updates...
[2026-10-20 19:00:24,253.253 INFO    ] 200
[2026-10-20 19:00:24,256.256 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:00:24,312.312 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:00:24,315.315 INFO    ] No update needed
[2026-10-20 19:00:24,318.318 INFO    ] Checking for camera pi updates...
[2026-10-20 19:00:24,354.354 INFO    ] 200
[2026-10-20 19:00:24,356.356 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:00:24,405.405 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:00:24,451.451 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:00:24,454.454 INFO    ] No camera update needed
[2026-10-20 19:00:24,457.457 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:00:24,459.459 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:00:24,466.466 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:00:24,472.472 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:00:26,515.515 INFO    ] ================================================
[2026-10-20 19:00:26,531.531 INFO    ] Launching Daemon at Tue Oct 20 19:00:26 IST 2026
[2026-10-20 19:00:26,543.543 INFO    ] ================================================
[2026-10-20 19:00:27,147.147 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:00:27
[2026-10-20 19:00:27,748.748 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:00:28,040.040 INFO    ] Initializing speech engine...
[2026-10-20 19:00:28,056.056 INFO    ] 2026-10-20 19:00:28
[2026-10-20 19:00:28,314.314 INFO    ] 2026-10-20 19:00:28
[2026-10-20 19:00:28,349.349 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:00:28,544.544 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:00:28,572.572 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:00:28,749.749 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:00:28,788.788 INFO    ] time= 20/10/2026 19:00:28
[2026-10-20 19:00:28,852.852 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:00:28,881.881 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:00:29,013.013 INFO    ] No existing commands found in stream
[2026-10-20 19:00:34,038.038 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:00:34,041.041 INFO    ] Waiting 1.23 seconds before fallback handling...
[2026-10-20 19:00:35,759.759 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 19:00:35,762.762 INFO    ] Checking for system updates...
[2026-10-20 19:00:35,801.801 INFO    ] 200
[2026-10-20 19:00:35,803.803 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:00:35,855.855 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:00:35,858.858 INFO    ] No update needed
[2026-10-20 19:00:35,860.860 INFO    ] Checking for camera pi updates...
[2026-10-20 19:00:35,893.893 INFO    ] 200
[2026-10-20 19:00:35,896.896 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:00:35,940.940 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:00:36,081.081 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:00:36,083.083 INFO    ] No camera update needed
[2026-10-20 19:00:36,085.085 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:00:36,088.088 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:00:36,093.093 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:00:36,098.098 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:00:38,140.140 INFO    ] ================================================
[2026-10-20 19:00:38,155.155 INFO    ] Launching Daemon at Tue Oct 20 19:00:38 IST 2026
[2026-10-20 19:00:38,166.166 INFO    ] ================================================
[2026-10-20 19:00:38,734.734 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:00:38
[2026-10-20 19:00:39,318.318 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:00:39,578.578 INFO    ] Initializing speech engine...
[2026-10-20 19:00:39,598.598 INFO    ] 2026-10-20 19:00:39
[2026-10-20 19:00:39,874.874 INFO    ] 2026-10-20 19:00:39
[2026-10-20 19:00:39,910.910 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:00:40,110.110 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:00:40,167.167 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:00:40,309.309 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:00:40,379.379 INFO    ] time= 20/10/2026 19:00:40
[2026-10-20 19:00:40,434.434 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:00:40,444.444 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:00:40,589.589 INFO    ] No existing commands found in stream
[2026-10-20 19:00:45,609.609 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:00:45,611.611 INFO    ] Waiting 2.39 seconds before fallback handling...
[2026-10-20 19:00:48,479.479 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:00:48,482.482 INFO    ] Checking for system updates...
[2026-10-20 19:00:48,518.518 INFO    ] 200
[2026-10-20 19:00:48,521.521 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:00:48,574.574 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:00:48,577.577 INFO    ] No update needed
[2026-10-20 19:00:48,580.580 INFO    ] Checking for camera pi updates...
[2026-10-20 19:00:48,617.617 INFO    ] 200
[2026-10-20 19:00:48,620.620 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:00:48,660.660 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:00:48,715.715 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:00:48,717.717 INFO    ] No camera update needed
[2026-10-20 19:00:48,720.720 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:00:48,722.722 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:00:48,728.728 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:00:48,733.733 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:00:50,773.773 INFO    ] ================================================
[2026-10-20 19:00:50,789.789 INFO    ] Launching Daemon at Tue Oct 20 19:00:50 IST 2026
[2026-10-20 19:00:50,800.800 INFO    ] ================================================
[2026-10-20 19:00:51,367.367 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:00:51
[2026-10-20 19:00:51,952.952 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:00:52,200.200 INFO    ] Initializing speech engine...
[2026-10-20 19:00:52,206.206 INFO    ] 2026-10-20 19:00:52
[2026-10-20 19:00:52,485.485 INFO    ] 2026-10-20 19:00:52
[2026-10-20 19:00:52,522.522 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:00:52,776.776 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:00:52,785.785 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:00:52,920.920 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:00:52,995.995 INFO    ] time= 20/10/2026 19:00:52
[2026-10-20 19:00:53,047.047 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:00:53,054.054 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:00:53,198.198 INFO    ] No existing commands found in stream
[2026-10-20 19:00:58,215.215 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:00:58,218.218 INFO    ] Waiting 3.41 seconds before fallback handling...
[2026-10-20 19:01:02,207.207 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:01:02,211.211 INFO    ] Checking for system updates...
[2026-10-20 19:01:02,251.251 INFO    ] 200
[2026-10-20 19:01:02,254.254 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:01:02,330.330 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:01:02,334.334 INFO    ] No update needed
[2026-10-20 19:01:02,337.337 INFO    ] Checking for camera pi updates...
[2026-10-20 19:01:02,390.390 INFO    ] 200
[2026-10-20 19:01:02,394.394 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:01:02,461.461 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:01:02,496.496 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:01:02,500.500 INFO    ] No camera update needed
[2026-10-20 19:01:02,503.503 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:01:02,507.507 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:01:02,515.515 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:01:02,522.522 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:01:04,568.568 INFO    ] ================================================
[2026-10-20 19:01:04,584.584 INFO    ] Launching Daemon at Tue Oct 20 19:01:04 IST 2026
[2026-10-20 19:01:04,595.595 INFO    ] ================================================
[2026-10-20 19:01:05,231.231 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:01:05
[2026-10-20 19:01:05,886.886 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:01:06,184.184 INFO    ] Initializing speech engine...
[2026-10-20 19:01:06,197.197 INFO    ] 2026-10-20 19:01:06
[2026-10-20 19:01:06,477.477 INFO    ] 2026-10-20 19:01:06
[2026-10-20 19:01:06,524.524 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:01:06,768.768 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:01:06,777.777 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:01:06,926.926 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:01:06,969.969 INFO    ] time= 20/10/2026 19:01:06
[2026-10-20 19:01:07,013.013 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:01:07,057.057 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:01:07,195.195 INFO    ] No existing commands found in stream
[2026-10-20 19:01:12,216.216 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:01:12,219.219 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-10-20 19:01:16,196.196 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 19:01:16,198.198 INFO    ] Checking for system updates...
[2026-10-20 19:01:16,235.235 INFO    ] 200
[2026-10-20 19:01:16,237.237 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:01:16,292.292 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:01:16,295.295 INFO    ] No update needed
[2026-10-20 19:01:16,297.297 INFO    ] Checking for camera pi updates...
[2026-10-20 19:01:16,332.332 INFO    ] 200
[2026-10-20 19:01:16,334.334 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:01:16,380.380 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:01:16,432.432 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:01:16,434.434 INFO    ] No camera update needed
[2026-10-20 19:01:16,436.436 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:01:16,439.439 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:01:16,444.444 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:01:16,449.449 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:01:18,489.489 INFO    ] ================================================
[2026-10-20 19:01:18,504.504 INFO    ] Launching Daemon at Tue Oct 20 19:01:18 IST 2026
[2026-10-20 19:01:18,515.515 INFO    ] ================================================
[2026-10-20 19:01:19,097.097 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:01:19
[2026-10-20 19:01:19,696.696 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:01:19,971.971 INFO    ] Initializing speech engine...
[2026-10-20 19:01:19,981.981 INFO    ] 2026-10-20 19:01:19
[2026-10-20 19:01:20,233.233 INFO    ] 2026-10-20 19:01:20
[2026-10-20 19:01:20,269.269 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:01:20,518.518 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:01:20,525.525 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:01:20,757.757 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:01:20,785.785 INFO    ] time= 20/10/2026 19:01:20
[2026-10-20 19:01:20,800.800 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:01:20,810.810 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:01:20,940.940 INFO    ] No existing commands found in stream
[2026-10-20 19:01:25,968.968 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:01:25,971.971 INFO    ] Waiting 0.06 seconds before fallback handling...
[2026-10-20 19:01:26,523.523 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:01:26,526.526 INFO    ] Checking for system updates...
[2026-10-20 19:01:26,562.562 INFO    ] 200
[2026-10-20 19:01:26,565.565 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:01:26,623.623 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:01:26,626.626 INFO    ] No update needed
[2026-10-20 19:01:26,629.629 INFO    ] Checking for camera pi updates...
[2026-10-20 19:01:26,666.666 INFO    ] 200
[2026-10-20 19:01:26,669.669 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:01:26,710.710 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:01:26,757.757 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:01:26,760.760 INFO    ] No camera update needed
[2026-10-20 19:01:26,763.763 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:01:26,766.766 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:01:26,773.773 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:01:26,779.779 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:01:28,820.820 INFO    ] ================================================
[2026-10-20 19:01:28,836.836 INFO    ] Launching Daemon at Tue Oct 20 19:01:28 IST 2026
[2026-10-20 19:01:28,847.847 INFO    ] ================================================
[2026-10-20 19:01:29,483.483 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:01:29
[2026-10-20 19:01:30,139.139 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:01:30,438.438 INFO    ] Initializing speech engine...
[2026-10-20 19:01:30,446.446 INFO    ] 2026-10-20 19:01:30
[2026-10-20 19:01:30,729.729 INFO    ] 2026-10-20 19:01:30
[2026-10-20 19:01:30,773.773 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:01:31,038.038 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:01:31,061.061 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:01:31,248.248 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:01:31,280.280 INFO    ] time= 20/10/2026 19:01:31
[2026-10-20 19:01:31,296.296 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:01:31,316.316 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:01:31,461.461 INFO    ] No existing commands found in stream
[2026-10-20 19:01:36,497.497 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:01:36,500.500 INFO    ] Waiting 2.82 seconds before fallback handling...
[2026-10-20 19:01:39,834.834 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 19:01:39,837.837 INFO    ] Checking for system updates...
[2026-10-20 19:01:39,872.872 INFO    ] 200
[2026-10-20 19:01:39,875.875 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:01:39,926.926 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:01:39,929.929 INFO    ] No update needed
[2026-10-20 19:01:39,931.931 INFO    ] Checking for camera pi updates...
[2026-10-20 19:01:39,965.965 INFO    ] 200
[2026-10-20 19:01:39,967.967 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:01:40,008.008 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:01:40,039.039 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:01:40,042.042 INFO    ] No camera update needed
[2026-10-20 19:01:40,044.044 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:01:40,047.047 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:01:40,052.052 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:01:40,057.057 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:01:42,097.097 INFO    ] ================================================
[2026-10-20 19:01:42,112.112 INFO    ] Launching Daemon at Tue Oct 20 19:01:42 IST 2026
[2026-10-20 19:01:42,123.123 INFO    ] ================================================
[2026-10-20 19:01:42,732.732 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:01:42
[2026-10-20 19:01:43,391.391 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:01:43,688.688 INFO    ] Initializing speech engine...
[2026-10-20 19:01:43,696.696 INFO    ] 2026-10-20 19:01:43
[2026-10-20 19:01:43,969.969 INFO    ] 2026-10-20 19:01:43
[2026-10-20 19:01:44,014.014 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:01:44,245.245 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:01:44,251.251 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:01:44,385.385 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:01:44,402.402 INFO    ] time= 20/10/2026 19:01:44
[2026-10-20 19:01:44,456.456 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:01:44,516.516 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:01:44,656.656 INFO    ] No existing commands found in stream
[2026-10-20 19:01:49,681.681 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:01:49,684.684 INFO    ] Waiting 0.46 seconds before fallback handling...
[2026-10-20 19:01:50,705.705 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:01:50,708.708 INFO    ] Checking for system updates...
[2026-10-20 19:01:50,747.747 INFO    ] 200
[2026-10-20 19:01:50,750.750 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:01:50,802.802 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:01:50,804.804 INFO    ] No update needed
[2026-10-20 19:01:50,806.806 INFO    ] Checking for camera pi updates...
[2026-10-20 19:01:50,841.841 INFO    ] 200
[2026-10-20 19:01:50,843.843 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:01:50,884.884 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:01:50,929.929 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:01:50,932.932 INFO    ] No camera update needed
[2026-10-20 19:01:50,934.934 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:01:50,936.936 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:01:50,942.942 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:01:50,947.947 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:01:52,986.986 INFO    ] ================================================
[2026-10-20 19:01:53,001.001 INFO    ] Launching Daemon at Tue Oct 20 19:01:52 IST 2026
[2026-10-20 19:01:53,013.013 INFO    ] ================================================
[2026-10-20 19:01:53,579.579 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:01:53
[2026-10-20 19:01:54,161.161 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:01:54,411.411 INFO    ] Initializing speech engine...
[2026-10-20 19:01:54,434.434 INFO    ] 2026-10-20 19:01:54
[2026-10-20 19:01:54,691.691 INFO    ] 2026-10-20 19:01:54
[2026-10-20 19:01:54,726.726 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:01:54,984.984 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:01:54,993.993 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:01:55,225.225 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:01:55,257.257 INFO    ] time= 20/10/2026 19:01:55
[2026-10-20 19:01:55,263.263 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:01:55,281.281 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:01:55,414.414 INFO    ] No existing commands found in stream
[2026-10-20 19:02:00,430.430 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:02:00,432.432 INFO    ] Waiting 3.39 seconds before fallback handling...
[2026-10-20 19:02:04,355.355 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:02:04,357.357 INFO    ] Checking for system updates...
[2026-10-20 19:02:04,393.393 INFO    ] 200
[2026-10-20 19:02:04,395.395 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:02:04,447.447 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:02:04,449.449 INFO    ] No update needed
[2026-10-20 19:02:04,451.451 INFO    ] Checking for camera pi updates...
[2026-10-20 19:02:04,486.486 INFO    ] 200
[2026-10-20 19:02:04,488.488 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:02:04,527.527 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:02:04,585.585 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:02:04,588.588 INFO    ] No camera update needed
[2026-10-20 19:02:04,590.590 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:02:04,592.592 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:02:04,598.598 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:02:04,603.603 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:02:06,644.644 INFO    ] ================================================
[2026-10-20 19:02:06,659.659 INFO    ] Launching Daemon at Tue Oct 20 19:02:06 IST 2026
[2026-10-20 19:02:06,670.670 INFO    ] ================================================
[2026-10-20 19:02:07,272.272 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:02:07
[2026-10-20 19:02:07,872.872 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:02:08,134.134 INFO    ] Initializing speech engine...
[2026-10-20 19:02:08,143.143 INFO    ] 2026-10-20 19:02:08
[2026-10-20 19:02:08,441.441 INFO    ] 2026-10-20 19:02:08
[2026-10-20 19:02:08,479.479 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:02:08,677.677 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:02:08,683.683 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:02:08,855.855 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:02:08,864.864 INFO    ] time= 20/10/2026 19:02:08
[2026-10-20 19:02:08,868.868 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:02:08,877.877 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:02:08,954.954 INFO    ] No existing commands found in stream
[2026-10-20 19:02:13,970.970 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:02:13,972.972 INFO    ] Waiting 1.29 seconds before fallback handling...
[2026-10-20 19:02:15,895.895 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 19:02:15,898.898 INFO    ] Checking for system updates...
[2026-10-20 19:02:15,933.933 INFO    ] 200
[2026-10-20 19:02:15,936.936 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:02:15,987.987 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:02:15,990.990 INFO    ] No update needed
[2026-10-20 19:02:15,992.992 INFO    ] Checking for camera pi updates...
[2026-10-20 19:02:16,025.025 INFO    ] 200
[2026-10-20 19:02:16,028.028 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:02:16,073.073 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:02:16,126.126 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:02:16,129.129 INFO    ] No camera update needed
[2026-10-20 19:02:16,131.131 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:02:16,134.134 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:02:16,139.139 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:02:16,144.144 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:02:18,184.184 INFO    ] ================================================
[2026-10-20 19:02:18,199.199 INFO    ] Launching Daemon at Tue Oct 20 19:02:18 IST 2026
[2026-10-20 19:02:18,210.210 INFO    ] ================================================
[2026-10-20 19:02:18,783.783 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:02:18
[2026-10-20 19:02:19,366.366 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:02:19,633.633 INFO    ] Initializing speech engine...
[2026-10-20 19:02:19,642.642 INFO    ] 2026-10-20 19:02:19
[2026-10-20 19:02:19,890.890 INFO    ] 2026-10-20 19:02:19
[2026-10-20 19:02:19,924.924 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:02:20,235.235 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:02:20,243.243 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:02:20,416.416 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:02:20,441.441 INFO    ] time= 20/10/2026 19:02:20
[2026-10-20 19:02:20,447.447 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:02:20,465.465 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:02:20,595.595 INFO    ] No existing commands found in stream
[2026-10-20 19:02:25,610.610 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:02:25,613.613 INFO    ] Waiting 2.47 seconds before fallback handling...
[2026-10-20 19:02:28,595.595 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:02:28,598.598 INFO    ] Checking for system updates...
[2026-10-20 19:02:28,635.635 INFO    ] 200
[2026-10-20 19:02:28,638.638 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:02:28,690.690 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:02:28,693.693 INFO    ] No update needed
[2026-10-20 19:02:28,696.696 INFO    ] Checking for camera pi updates...
[2026-10-20 19:02:28,730.730 INFO    ] 200
[2026-10-20 19:02:28,733.733 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:02:28,780.780 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:02:28,823.823 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:02:28,826.826 INFO    ] No camera update needed
[2026-10-20 19:02:28,829.829 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:02:28,832.832 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:02:28,838.838 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:02:28,844.844 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:02:30,885.885 INFO    ] ================================================
[2026-10-20 19:02:30,901.901 INFO    ] Launching Daemon at Tue Oct 20 19:02:30 IST 2026
[2026-10-20 19:02:30,911.911 INFO    ] ================================================
[2026-10-20 19:02:31,603.603 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:02:31
[2026-10-20 19:02:32,236.236 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:02:32,537.537 INFO    ] Initializing speech engine...
[2026-10-20 19:02:32,547.547 INFO    ] 2026-10-20 19:02:32
[2026-10-20 19:02:32,825.825 INFO    ] 2026-10-20 19:02:32
[2026-10-20 19:02:32,883.883 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:02:33,124.124 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:02:33,131.131 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:02:33,350.350 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:02:33,396.396 INFO    ] time= 20/10/2026 19:02:33
[2026-10-20 19:02:33,415.415 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:02:33,440.440 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:02:33,577.577 INFO    ] No existing commands found in stream
[2026-10-20 19:02:38,611.611 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:02:38,614.614 INFO    ] Waiting 0.15 seconds before fallback handling...
[2026-10-20 19:02:39,267.267 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:02:39,270.270 INFO    ] Checking for system updates...
[2026-10-20 19:02:39,306.306 INFO    ] 200
[2026-10-20 19:02:39,309.309 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:02:39,363.363 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:02:39,366.366 INFO    ] No update needed
[2026-10-20 19:02:39,369.369 INFO    ] Checking for camera pi updates...
[2026-10-20 19:02:39,404.404 INFO    ] 200
[2026-10-20 19:02:39,407.407 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:02:39,447.447 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:02:39,593.593 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:02:39,596.596 INFO    ] No camera update needed
[2026-10-20 19:02:39,598.598 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:02:39,601.601 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:02:39,607.607 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:02:39,613.613 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:02:41,653.653 INFO    ] ================================================
[2026-10-20 19:02:41,668.668 INFO    ] Launching Daemon at Tue Oct 20 19:02:41 IST 2026
[2026-10-20 19:02:41,679.679 INFO    ] ================================================
[2026-10-20 19:02:42,258.258 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:02:42
[2026-10-20 19:02:42,849.849 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:02:43,124.124 INFO    ] Initializing speech engine...
[2026-10-20 19:02:43,134.134 INFO    ] 2026-10-20 19:02:43
[2026-10-20 19:02:43,383.383 INFO    ] 2026-10-20 19:02:43
[2026-10-20 19:02:43,419.419 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:02:43,677.677 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:02:43,686.686 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:02:43,825.825 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:02:43,879.879 INFO    ] time= 20/10/2026 19:02:43
[2026-10-20 19:02:43,938.938 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:02:43,958.958 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:02:44,110.110 INFO    ] No existing commands found in stream
[2026-10-20 19:02:49,123.123 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:02:49,126.126 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-10-20 19:02:51,911.911 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:02:51,914.914 INFO    ] Checking for system updates...
[2026-10-20 19:02:51,949.949 INFO    ] 200
[2026-10-20 19:02:51,952.952 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:02:52,003.003 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:02:52,006.006 INFO    ] No update needed
[2026-10-20 19:02:52,008.008 INFO    ] Checking for camera pi updates...
[2026-10-20 19:02:52,041.041 INFO    ] 200
[2026-10-20 19:02:52,044.044 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:02:52,087.087 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:02:52,136.136 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:02:52,139.139 INFO    ] No camera update needed
[2026-10-20 19:02:52,141.141 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:02:52,143.143 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:02:52,149.149 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:02:52,154.154 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:02:54,193.193 INFO    ] ================================================
[2026-10-20 19:02:54,208.208 INFO    ] Launching Daemon at Tue Oct 20 19:02:54 IST 2026
[2026-10-20 19:02:54,219.219 INFO    ] ================================================
[2026-10-20 19:02:54,789.789 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:02:54
[2026-10-20 19:02:55,375.375 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:02:55,642.642 INFO    ] Initializing speech engine...
[2026-10-20 19:02:55,651.651 INFO    ] 2026-10-20 19:02:55
[2026-10-20 19:02:55,904.904 INFO    ] 2026-10-20 19:02:55
[2026-10-20 19:02:55,938.938 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:02:56,186.186 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:02:56,191.191 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:02:56,401.401 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:02:56,447.447 INFO    ] time= 20/10/2026 19:02:56
[2026-10-20 19:02:56,454.454 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:02:56,472.472 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:02:56,624.624 INFO    ] No existing commands found in stream
[2026-10-20 19:03:01,654.654 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:03:01,657.657 INFO    ] Waiting 1.35 seconds before fallback handling...
[2026-10-20 19:03:03,490.490 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 19:03:03,494.494 INFO    ] Checking for system updates...
[2026-10-20 19:03:03,540.540 INFO    ] 200
[2026-10-20 19:03:03,543.543 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:03:03,620.620 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:03:03,623.623 INFO    ] No update needed
[2026-10-20 19:03:03,625.625 INFO    ] Checking for camera pi updates...
[2026-10-20 19:03:03,661.661 INFO    ] 200
[2026-10-20 19:03:03,663.663 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:03:03,707.707 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:03:03,755.755 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:03:03,758.758 INFO    ] No camera update needed
[2026-10-20 19:03:03,761.761 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:03:03,764.764 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:03:03,770.770 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:03:03,776.776 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:03:05,819.819 INFO    ] ================================================
[2026-10-20 19:03:05,838.838 INFO    ] Launching Daemon at Tue Oct 20 19:03:05 IST 2026
[2026-10-20 19:03:05,849.849 INFO    ] ================================================
[2026-10-20 19:03:06,419.419 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:03:06
[2026-10-20 19:03:07,003.003 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:03:07,275.275 INFO    ] Initializing speech engine...
[2026-10-20 19:03:07,284.284 INFO    ] 2026-10-20 19:03:07
[2026-10-20 19:03:07,534.534 INFO    ] 2026-10-20 19:03:07
[2026-10-20 19:03:07,567.567 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:03:07,827.827 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:03:07,835.835 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:03:08,038.038 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:03:08,102.102 INFO    ] time= 20/10/2026 19:03:08
[2026-10-20 19:03:08,109.109 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:03:08,127.127 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:03:08,262.262 INFO    ] No existing commands found in stream
[2026-10-20 19:03:13,281.281 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:03:13,284.284 INFO    ] Waiting 0.95 seconds before fallback handling...
[2026-10-20 19:03:14,766.766 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:03:14,769.769 INFO    ] Checking for system updates...
[2026-10-20 19:03:14,807.807 INFO    ] 200
[2026-10-20 19:03:14,810.810 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:03:14,867.867 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:03:14,870.870 INFO    ] No update needed
[2026-10-20 19:03:14,872.872 INFO    ] Checking for camera pi updates...
[2026-10-20 19:03:14,905.905 INFO    ] 200
[2026-10-20 19:03:14,907.907 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:03:14,950.950 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:03:15,000.000 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:03:15,003.003 INFO    ] No camera update needed
[2026-10-20 19:03:15,005.005 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:03:15,007.007 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:03:15,013.013 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:03:15,017.017 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:03:17,058.058 INFO    ] ================================================
[2026-10-20 19:03:17,073.073 INFO    ] Launching Daemon at Tue Oct 20 19:03:17 IST 2026
[2026-10-20 19:03:17,084.084 INFO    ] ================================================
[2026-10-20 19:03:17,657.657 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:03:17
[2026-10-20 19:03:18,256.256 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:03:18,542.542 INFO    ] Initializing speech engine...
[2026-10-20 19:03:18,551.551 INFO    ] 2026-10-20 19:03:18
[2026-10-20 19:03:18,813.813 INFO    ] 2026-10-20 19:03:18
[2026-10-20 19:03:18,852.852 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:03:19,067.067 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:03:19,090.090 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:03:19,289.289 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:03:19,311.311 INFO    ] time= 20/10/2026 19:03:19
[2026-10-20 19:03:19,371.371 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:03:19,431.431 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:03:19,588.588 INFO    ] No existing commands found in stream
[2026-10-20 19:03:24,611.611 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:03:24,613.613 INFO    ] Waiting 1.13 seconds before fallback handling...
[2026-10-20 19:03:26,268.268 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:03:26,271.271 INFO    ] Checking for system updates...
[2026-10-20 19:03:26,307.307 INFO    ] 200
[2026-10-20 19:03:26,309.309 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:03:26,361.361 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:03:26,364.364 INFO    ] No update needed
[2026-10-20 19:03:26,366.366 INFO    ] Checking for camera pi updates...
[2026-10-20 19:03:26,400.400 INFO    ] 200
[2026-10-20 19:03:26,402.402 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:03:26,442.442 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:03:26,497.497 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:03:26,499.499 INFO    ] No camera update needed
[2026-10-20 19:03:26,502.502 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:03:26,504.504 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:03:26,509.509 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:03:26,514.514 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:03:28,554.554 INFO    ] ================================================
[2026-10-20 19:03:28,570.570 INFO    ] Launching Daemon at Tue Oct 20 19:03:28 IST 2026
[2026-10-20 19:03:28,582.582 INFO    ] ================================================
[2026-10-20 19:03:29,155.155 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:03:29
[2026-10-20 19:03:29,746.746 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:03:30,021.021 INFO    ] Initializing speech engine...
[2026-10-20 19:03:30,031.031 INFO    ] 2026-10-20 19:03:30
[2026-10-20 19:03:30,281.281 INFO    ] 2026-10-20 19:03:30
[2026-10-20 19:03:30,316.316 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:03:30,515.515 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:03:30,542.542 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:03:30,728.728 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:03:30,788.788 INFO    ] time= 20/10/2026 19:03:30
[2026-10-20 19:03:30,842.842 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:03:30,859.859 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:03:30,976.976 INFO    ] No existing commands found in stream
[2026-10-20 19:03:35,999.999 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:03:36,002.002 INFO    ] Waiting 3.77 seconds before fallback handling...
[2026-10-20 19:03:40,252.252 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:03:40,254.254 INFO    ] Checking for system updates...
[2026-10-20 19:03:40,290.290 INFO    ] 200
[2026-10-20 19:03:40,292.292 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:03:40,345.345 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:03:40,347.347 INFO    ] No update needed
[2026-10-20 19:03:40,350.350 INFO    ] Checking for camera pi updates...
[2026-10-20 19:03:40,395.395 INFO    ] 200
[2026-10-20 19:03:40,397.397 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:03:40,437.437 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:03:40,487.487 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:03:40,489.489 INFO    ] No camera update needed
[2026-10-20 19:03:40,492.492 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:03:40,494.494 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:03:40,499.499 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:03:40,504.504 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:03:42,547.547 INFO    ] ================================================
[2026-10-20 19:03:42,563.563 INFO    ] Launching Daemon at Tue Oct 20 19:03:42 IST 2026
[2026-10-20 19:03:42,575.575 INFO    ] ================================================
[2026-10-20 19:03:43,160.160 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:03:43
[2026-10-20 19:03:43,758.758 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:03:44,019.019 INFO    ] Initializing speech engine...
[2026-10-20 19:03:44,037.037 INFO    ] 2026-10-20 19:03:44
[2026-10-20 19:03:44,289.289 INFO    ] 2026-10-20 19:03:44
[2026-10-20 19:03:44,327.327 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:03:44,578.578 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:03:44,587.587 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:03:44,824.824 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:03:44,848.848 INFO    ] time= 20/10/2026 19:03:44
[2026-10-20 19:03:44,854.854 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:03:44,872.872 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:03:45,004.004 INFO    ] No existing commands found in stream
[2026-10-20 19:03:50,019.019 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:03:50,022.022 INFO    ] Waiting 1.05 seconds before fallback handling...
[2026-10-20 19:03:51,622.622 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:03:51,625.625 INFO    ] Checking for system updates...
[2026-10-20 19:03:51,666.666 INFO    ] 200
[2026-10-20 19:03:51,669.669 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:03:51,731.731 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:03:51,734.734 INFO    ] No update needed
[2026-10-20 19:03:51,736.736 INFO    ] Checking for camera pi updates...
[2026-10-20 19:03:51,771.771 INFO    ] 200
[2026-10-20 19:03:51,774.774 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:03:51,816.816 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:03:51,863.863 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:03:51,865.865 INFO    ] No camera update needed
[2026-10-20 19:03:51,868.868 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:03:51,871.871 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:03:51,877.877 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:03:51,883.883 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:03:53,925.925 INFO    ] ================================================
[2026-10-20 19:03:53,941.941 INFO    ] Launching Daemon at Tue Oct 20 19:03:53 IST 2026
[2026-10-20 19:03:53,952.952 INFO    ] ================================================
[2026-10-20 19:03:54,517.517 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:03:54
[2026-10-20 19:03:55,101.101 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:03:55,346.346 INFO    ] Initializing speech engine...
[2026-10-20 19:03:55,355.355 INFO    ] 2026-10-20 19:03:55
[2026-10-20 19:03:55,628.628 INFO    ] 2026-10-20 19:03:55
[2026-10-20 19:03:55,663.663 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:03:55,865.865 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:03:55,925.925 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:03:56,164.164 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:03:56,199.199 INFO    ] time= 20/10/2026 19:03:56
[2026-10-20 19:03:56,215.215 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:03:56,224.224 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:03:56,353.353 INFO    ] No existing commands found in stream
[2026-10-20 19:04:01,368.368 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:04:01,371.371 INFO    ] Waiting 2.66 seconds before fallback handling...
[2026-10-20 19:04:06,882.882 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:04:06,885.885 INFO    ] Checking for system updates...
[2026-10-20 19:04:06,920.920 INFO    ] 200
[2026-10-20 19:04:06,923.923 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:04:06,983.983 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:04:06,985.985 INFO    ] No update needed
[2026-10-20 19:04:06,988.988 INFO    ] Checking for camera pi updates...
[2026-10-20 19:04:07,025.025 INFO    ] 200
[2026-10-20 19:04:07,028.028 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:04:07,067.067 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:04:07,117.117 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:04:07,119.119 INFO    ] No camera update needed
[2026-10-20 19:04:07,122.122 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:04:07,124.124 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:04:07,129.129 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:04:07,134.134 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:04:09,174.174 INFO    ] ================================================
[2026-10-20 19:04:09,190.190 INFO    ] Launching Daemon at Tue Oct 20 19:04:09 IST 2026
[2026-10-20 19:04:09,202.202 INFO    ] ================================================
[2026-10-20 19:04:09,773.773 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:04:09
[2026-10-20 19:04:10,361.361 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:04:10,611.611 INFO    ] Initializing speech engine...
[2026-10-20 19:04:10,626.626 INFO    ] 2026-10-20 19:04:10
[2026-10-20 19:04:10,893.893 INFO    ] 2026-10-20 19:04:10
[2026-10-20 19:04:10,929.929 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:04:11,126.126 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:04:11,154.154 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:04:11,337.337 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:04:11,407.407 INFO    ] time= 20/10/2026 19:04:11
[2026-10-20 19:04:11,462.462 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:04:11,468.468 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:04:11,617.617 INFO    ] No existing commands found in stream
[2026-10-20 19:04:16,637.637 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:04:16,640.640 INFO    ] Waiting 2.40 seconds before fallback handling...
[2026-10-20 19:04:19,565.565 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:04:19,568.568 INFO    ] Checking for system updates...
[2026-10-20 19:04:19,609.609 INFO    ] 200
[2026-10-20 19:04:19,612.612 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:04:19,673.673 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:04:19,676.676 INFO    ] No update needed
[2026-10-20 19:04:19,679.679 INFO    ] Checking for camera pi updates...
[2026-10-20 19:04:19,717.717 INFO    ] 200
[2026-10-20 19:04:19,720.720 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:04:19,766.766 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:04:19,813.813 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:04:19,816.816 INFO    ] No camera update needed
[2026-10-20 19:04:19,818.818 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:04:19,821.821 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:04:19,827.827 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:04:19,833.833 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:04:21,878.878 INFO    ] ================================================
[2026-10-20 19:04:21,893.893 INFO    ] Launching Daemon at Tue Oct 20 19:04:21 IST 2026
[2026-10-20 19:04:21,905.905 INFO    ] ================================================
[2026-10-20 19:04:22,486.486 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:04:22
[2026-10-20 19:04:23,156.156 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:04:23,462.462 INFO    ] Initializing speech engine...
[2026-10-20 19:04:23,469.469 INFO    ] 2026-10-20 19:04:23
[2026-10-20 19:04:23,741.741 INFO    ] 2026-10-20 19:04:23
[2026-10-20 19:04:23,801.801 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:04:24,037.037 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:04:24,042.042 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:04:24,282.282 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:04:24,307.307 INFO    ] time= 20/10/2026 19:04:24
[2026-10-20 19:04:24,326.326 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:04:24,335.335 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:04:24,456.456 INFO    ] No existing commands found in stream
[2026-10-20 19:04:29,479.479 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:04:29,482.482 INFO    ] Waiting 3.58 seconds before fallback handling...
[2026-10-20 19:04:33,580.580 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 19:04:33,583.583 INFO    ] Checking for system updates...
[2026-10-20 19:04:33,618.618 INFO    ] 200
[2026-10-20 19:04:33,621.621 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:04:33,676.676 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:04:33,679.679 INFO    ] No update needed
[2026-10-20 19:04:33,681.681 INFO    ] Checking for camera pi updates...
[2026-10-20 19:04:33,714.714 INFO    ] 200
[2026-10-20 19:04:33,717.717 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:04:33,759.759 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:04:33,812.812 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:04:33,814.814 INFO    ] No camera update needed
[2026-10-20 19:04:33,817.817 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:04:33,819.819 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:04:33,824.824 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:04:33,829.829 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:04:35,869.869 INFO    ] ================================================
[2026-10-20 19:04:35,883.883 INFO    ] Launching Daemon at Tue Oct 20 19:04:35 IST 2026
[2026-10-20 19:04:35,894.894 INFO    ] ================================================
[2026-10-20 19:04:36,468.468 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:04:36
[2026-10-20 19:04:37,057.057 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:04:37,320.320 INFO    ] Initializing speech engine...
[2026-10-20 19:04:37,345.345 INFO    ] 2026-10-20 19:04:37
[2026-10-20 19:04:37,616.616 INFO    ] 2026-10-20 19:04:37
[2026-10-20 19:04:37,653.653 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:04:37,941.941 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:04:37,950.950 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:04:38,104.104 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:04:38,169.169 INFO    ] time= 20/10/2026 19:04:38
[2026-10-20 19:04:38,202.202 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:04:38,254.254 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:04:38,403.403 INFO    ] No existing commands found in stream
[2026-10-20 19:04:43,425.425 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:04:43,428.428 INFO    ] Waiting 3.57 seconds before fallback handling...
[2026-10-20 19:04:47,531.531 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:04:47,533.533 INFO    ] Checking for system updates...
[2026-10-20 19:04:47,568.568 INFO    ] 200
[2026-10-20 19:04:47,571.571 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:04:47,628.628 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:04:47,631.631 INFO    ] No update needed
[2026-10-20 19:04:47,633.633 INFO    ] Checking for camera pi updates...
[2026-10-20 19:04:47,671.671 INFO    ] 200
[2026-10-20 19:04:47,673.673 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:04:47,717.717 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:04:47,871.871 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:04:47,873.873 INFO    ] No camera update needed
[2026-10-20 19:04:47,876.876 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:04:47,878.878 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:04:47,883.883 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:04:47,888.888 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:04:49,929.929 INFO    ] ================================================
[2026-10-20 19:04:49,945.945 INFO    ] Launching Daemon at Tue Oct 20 19:04:49 IST 2026
[2026-10-20 19:04:49,955.955 INFO    ] ================================================
[2026-10-20 19:04:50,532.532 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:04:50
[2026-10-20 19:04:51,114.114 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:04:51,377.377 INFO    ] Initializing speech engine...
[2026-10-20 19:04:51,390.390 INFO    ] 2026-10-20 19:04:51
[2026-10-20 19:04:51,672.672 INFO    ] 2026-10-20 19:04:51
[2026-10-20 19:04:51,711.711 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:04:51,931.931 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:04:51,975.975 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:04:52,205.205 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:04:52,270.270 INFO    ] time= 20/10/2026 19:04:52
[2026-10-20 19:04:52,295.295 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:04:52,314.314 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:04:52,478.478 INFO    ] No existing commands found in stream
[2026-10-20 19:04:57,505.505 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:04:57,508.508 INFO    ] Waiting 1.44 seconds before fallback handling...
[2026-10-20 19:04:59,422.422 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 19:04:59,424.424 INFO    ] Checking for system updates...
[2026-10-20 19:04:59,459.459 INFO    ] 200
[2026-10-20 19:04:59,462.462 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:04:59,513.513 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:04:59,515.515 INFO    ] No update needed
[2026-10-20 19:04:59,517.517 INFO    ] Checking for camera pi updates...
[2026-10-20 19:04:59,550.550 INFO    ] 200
[2026-10-20 19:04:59,553.553 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:04:59,592.592 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:04:59,636.636 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:04:59,638.638 INFO    ] No camera update needed
[2026-10-20 19:04:59,641.641 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:04:59,643.643 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:04:59,648.648 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:04:59,653.653 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:05:01,694.694 INFO    ] ================================================
[2026-10-20 19:05:01,709.709 INFO    ] Launching Daemon at Tue Oct 20 19:05:01 IST 2026
[2026-10-20 19:05:01,719.719 INFO    ] ================================================
[2026-10-20 19:05:02,707.707 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:05:02
[2026-10-20 19:05:03,456.456 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:05:03,806.806 INFO    ] Initializing speech engine...
[2026-10-20 19:05:03,814.814 INFO    ] 2026-10-20 19:05:03
[2026-10-20 19:05:04,099.099 INFO    ] 2026-10-20 19:05:04
[2026-10-20 19:05:04,139.139 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:05:04,351.351 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:05:04,409.409 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:05:04,628.628 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:05:04,679.679 INFO    ] time= 20/10/2026 19:05:04
[2026-10-20 19:05:04,685.685 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:05:04,707.707 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:05:04,885.885 INFO    ] No existing commands found in stream
[2026-10-20 19:05:09,916.916 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:05:09,920.920 INFO    ] Waiting 2.57 seconds before fallback handling...
[2026-10-20 19:05:13,038.038 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:05:13,041.041 INFO    ] Checking for system updates...
[2026-10-20 19:05:13,082.082 INFO    ] 200
[2026-10-20 19:05:13,085.085 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:05:13,146.146 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:05:13,149.149 INFO    ] No update needed
[2026-10-20 19:05:13,152.152 INFO    ] Checking for camera pi updates...
[2026-10-20 19:05:13,191.191 INFO    ] 200
[2026-10-20 19:05:13,194.194 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:05:13,244.244 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:05:13,297.297 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:05:13,300.300 INFO    ] No camera update needed
[2026-10-20 19:05:13,303.303 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:05:13,305.305 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:05:13,310.310 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:05:13,322.322 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:05:15,362.362 INFO    ] ================================================
[2026-10-20 19:05:15,377.377 INFO    ] Launching Daemon at Tue Oct 20 19:05:15 IST 2026
[2026-10-20 19:05:15,388.388 INFO    ] ================================================
[2026-10-20 19:05:16,013.013 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:05:16
[2026-10-20 19:05:16,597.597 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:05:16,859.859 INFO    ] Initializing speech engine...
[2026-10-20 19:05:16,883.883 INFO    ] 2026-10-20 19:05:16
[2026-10-20 19:05:17,158.158 INFO    ] 2026-10-20 19:05:17
[2026-10-20 19:05:17,192.192 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:05:17,396.396 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:05:17,408.408 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:05:17,564.564 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:05:17,580.580 INFO    ] time= 20/10/2026 19:05:17
[2026-10-20 19:05:17,585.585 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:05:17,591.591 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:05:17,716.716 INFO    ] No existing commands found in stream
[2026-10-20 19:05:22,741.741 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:05:22,744.744 INFO    ] Waiting 3.66 seconds before fallback handling...
[2026-10-20 19:05:26,927.927 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 19:05:26,930.930 INFO    ] Checking for system updates...
[2026-10-20 19:05:26,966.966 INFO    ] 200
[2026-10-20 19:05:26,969.969 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:05:27,025.025 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:05:27,027.027 INFO    ] No update needed
[2026-10-20 19:05:27,031.031 INFO    ] Checking for camera pi updates...
[2026-10-20 19:05:27,067.067 INFO    ] 200
[2026-10-20 19:05:27,070.070 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:05:27,114.114 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:05:27,155.155 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:05:27,158.158 INFO    ] No camera update needed
[2026-10-20 19:05:27,160.160 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:05:27,163.163 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:05:27,168.168 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:05:27,173.173 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:05:29,213.213 INFO    ] ================================================
[2026-10-20 19:05:29,228.228 INFO    ] Launching Daemon at Tue Oct 20 19:05:29 IST 2026
[2026-10-20 19:05:29,239.239 INFO    ] ================================================
[2026-10-20 19:05:29,813.813 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:05:29
[2026-10-20 19:05:30,404.404 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:05:30,675.675 INFO    ] Initializing speech engine...
[2026-10-20 19:05:30,686.686 INFO    ] 2026-10-20 19:05:30
[2026-10-20 19:05:30,935.935 INFO    ] 2026-10-20 19:05:30
[2026-10-20 19:05:30,971.971 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:05:31,234.234 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:05:31,239.239 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:05:31,482.482 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:05:31,503.503 INFO    ] time= 20/10/2026 19:05:31
[2026-10-20 19:05:31,509.509 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:05:31,530.530 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:05:31,662.662 INFO    ] No existing commands found in stream
[2026-10-20 19:05:36,681.681 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:05:36,684.684 INFO    ] Waiting 3.38 seconds before fallback handling...
[2026-10-20 19:05:40,556.556 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:05:40,559.559 INFO    ] Checking for system updates...
[2026-10-20 19:05:40,596.596 INFO    ] 200
[2026-10-20 19:05:40,599.599 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:05:40,652.652 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:05:40,655.655 INFO    ] No update needed
[2026-10-20 19:05:40,657.657 INFO    ] Checking for camera pi updates...
[2026-10-20 19:05:40,690.690 INFO    ] 200
[2026-10-20 19:05:40,693.693 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:05:40,732.732 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:05:40,781.781 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:05:40,784.784 INFO    ] No camera update needed
[2026-10-20 19:05:40,786.786 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:05:40,789.789 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:05:40,794.794 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:05:40,799.799 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:05:42,840.840 INFO    ] ================================================
[2026-10-20 19:05:42,856.856 INFO    ] Launching Daemon at Tue Oct 20 19:05:42 IST 2026
[2026-10-20 19:05:42,868.868 INFO    ] ================================================
[2026-10-20 19:05:43,522.522 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:05:43
[2026-10-20 19:05:44,210.210 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:05:44,530.530 INFO    ] Initializing speech engine...
[2026-10-20 19:05:44,539.539 INFO    ] 2026-10-20 19:05:44
[2026-10-20 19:05:44,844.844 INFO    ] 2026-10-20 19:05:44
[2026-10-20 19:05:44,933.933 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:05:45,211.211 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:05:45,269.269 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:05:45,489.489 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:05:45,523.523 INFO    ] time= 20/10/2026 19:05:45
[2026-10-20 19:05:45,594.594 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:05:45,635.635 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:05:45,793.793 INFO    ] No existing commands found in stream
[2026-10-20 19:05:50,812.812 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:05:50,816.816 INFO    ] Waiting 2.05 seconds before fallback handling...
[2026-10-20 19:05:53,430.430 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 19:05:53,433.433 INFO    ] Checking for system updates...
[2026-10-20 19:05:53,470.470 INFO    ] 200
[2026-10-20 19:05:53,473.473 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:05:53,535.535 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:05:53,537.537 INFO    ] No update needed
[2026-10-20 19:05:53,540.540 INFO    ] Checking for camera pi updates...
[2026-10-20 19:05:53,590.590 INFO    ] 200
[2026-10-20 19:05:53,593.593 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:05:53,632.632 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:05:53,680.680 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:05:53,682.682 INFO    ] No camera update needed
[2026-10-20 19:05:53,685.685 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:05:53,687.687 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:05:53,692.692 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:05:53,697.697 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:05:55,737.737 INFO    ] ================================================
[2026-10-20 19:05:55,753.753 INFO    ] Launching Daemon at Tue Oct 20 19:05:55 IST 2026
[2026-10-20 19:05:55,765.765 INFO    ] ================================================
[2026-10-20 19:05:56,342.342 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:05:56
[2026-10-20 19:05:56,942.942 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:05:57,205.205 INFO    ] Initializing speech engine...
[2026-10-20 19:05:57,224.224 INFO    ] 2026-10-20 19:05:57
[2026-10-20 19:05:57,473.473 INFO    ] 2026-10-20 19:05:57
[2026-10-20 19:05:57,509.509 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:05:57,765.765 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:05:57,771.771 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:05:57,992.992 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:05:58,026.026 INFO    ] time= 20/10/2026 19:05:58
[2026-10-20 19:05:58,032.032 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:05:58,052.052 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:05:58,190.190 INFO    ] No existing commands found in stream
[2026-10-20 19:06:03,221.221 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:06:03,223.223 INFO    ] Waiting 3.06 seconds before fallback handling...
[2026-10-20 19:06:06,817.817 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 19:06:06,820.820 INFO    ] Checking for system updates...
[2026-10-20 19:06:06,855.855 INFO    ] 200
[2026-10-20 19:06:06,858.858 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:06:06,911.911 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:06:06,914.914 INFO    ] No update needed
[2026-10-20 19:06:06,917.917 INFO    ] Checking for camera pi updates...
[2026-10-20 19:06:06,950.950 INFO    ] 200
[2026-10-20 19:06:06,952.952 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:06:06,992.992 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:06:07,047.047 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:06:07,049.049 INFO    ] No camera update needed
[2026-10-20 19:06:07,052.052 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:06:07,054.054 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:06:07,060.060 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:06:07,065.065 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:06:09,104.104 INFO    ] ================================================
[2026-10-20 19:06:09,120.120 INFO    ] Launching Daemon at Tue Oct 20 19:06:09 IST 2026
[2026-10-20 19:06:09,132.132 INFO    ] ================================================
[2026-10-20 19:06:09,711.711 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:06:09
[2026-10-20 19:06:10,307.307 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:06:10,578.578 INFO    ] Initializing speech engine...
[2026-10-20 19:06:10,589.589 INFO    ] 2026-10-20 19:06:10
[2026-10-20 19:06:10,849.849 INFO    ] 2026-10-20 19:06:10
[2026-10-20 19:06:10,905.905 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:06:11,153.153 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:06:11,158.158 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:06:11,380.380 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:06:11,393.393 INFO    ] time= 20/10/2026 19:06:11
[2026-10-20 19:06:11,411.411 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:06:11,440.440 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:06:11,571.571 INFO    ] No existing commands found in stream
[2026-10-20 19:06:16,601.601 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:06:16,604.604 INFO    ] Waiting 2.38 seconds before fallback handling...
[2026-10-20 19:06:19,477.477 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 19:06:19,480.480 INFO    ] Checking for system updates...
[2026-10-20 19:06:19,516.516 INFO    ] 200
[2026-10-20 19:06:19,518.518 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:06:19,570.570 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:06:19,573.573 INFO    ] No update needed
[2026-10-20 19:06:19,575.575 INFO    ] Checking for camera pi updates...
[2026-10-20 19:06:19,609.609 INFO    ] 200
[2026-10-20 19:06:19,611.611 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:06:19,652.652 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:06:19,700.700 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:06:19,703.703 INFO    ] No camera update needed
[2026-10-20 19:06:19,705.705 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:06:19,707.707 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:06:19,713.713 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:06:19,718.718 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:06:21,757.757 INFO    ] ================================================
[2026-10-20 19:06:21,773.773 INFO    ] Launching Daemon at Tue Oct 20 19:06:21 IST 2026
[2026-10-20 19:06:21,785.785 INFO    ] ================================================
[2026-10-20 19:06:22,364.364 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:06:22
[2026-10-20 19:06:22,958.958 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:06:23,209.209 INFO    ] Initializing speech engine...
[2026-10-20 19:06:23,216.216 INFO    ] 2026-10-20 19:06:23
[2026-10-20 19:06:23,509.509 INFO    ] 2026-10-20 19:06:23
[2026-10-20 19:06:23,546.546 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:06:23,811.811 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:06:23,841.841 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:06:24,003.003 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:06:24,047.047 INFO    ] time= 20/10/2026 19:06:24
[2026-10-20 19:06:24,091.091 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:06:24,148.148 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:06:24,318.318 INFO    ] No existing commands found in stream
[2026-10-20 19:06:29,332.332 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:06:29,335.335 INFO    ] Waiting 2.78 seconds before fallback handling...
[2026-10-20 19:06:32,613.613 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:06:32,616.616 INFO    ] Checking for system updates...
[2026-10-20 19:06:32,651.651 INFO    ] 200
[2026-10-20 19:06:32,655.655 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:06:32,711.711 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:06:32,715.715 INFO    ] No update needed
[2026-10-20 19:06:32,717.717 INFO    ] Checking for camera pi updates...
[2026-10-20 19:06:32,761.761 INFO    ] 200
[2026-10-20 19:06:32,764.764 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:06:32,808.808 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:06:32,862.862 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:06:32,864.864 INFO    ] No camera update needed
[2026-10-20 19:06:32,866.866 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:06:32,869.869 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:06:32,874.874 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:06:32,879.879 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:06:34,918.918 INFO    ] ================================================
[2026-10-20 19:06:34,934.934 INFO    ] Launching Daemon at Tue Oct 20 19:06:34 IST 2026
[2026-10-20 19:06:34,946.946 INFO    ] ================================================
[2026-10-20 19:06:35,514.514 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:06:35
[2026-10-20 19:06:36,101.101 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:06:36,359.359 INFO    ] Initializing speech engine...
[2026-10-20 19:06:36,367.367 INFO    ] 2026-10-20 19:06:36
[2026-10-20 19:06:36,662.662 INFO    ] 2026-10-20 19:06:36
[2026-10-20 19:06:36,696.696 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:06:36,922.922 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:06:36,931.931 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:06:37,153.153 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:06:37,160.160 INFO    ] time= 20/10/2026 19:06:37
[2026-10-20 19:06:37,220.220 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:06:37,258.258 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:06:37,440.440 INFO    ] No existing commands found in stream
[2026-10-20 19:06:42,462.462 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:06:42,465.465 INFO    ] Waiting 1.86 seconds before fallback handling...
[2026-10-20 19:06:44,822.822 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:06:44,825.825 INFO    ] Checking for system updates...
[2026-10-20 19:06:44,860.860 INFO    ] 200
[2026-10-20 19:06:44,862.862 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:06:44,921.921 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:06:44,923.923 INFO    ] No update needed
[2026-10-20 19:06:44,926.926 INFO    ] Checking for camera pi updates...
[2026-10-20 19:06:44,962.962 INFO    ] 200
[2026-10-20 19:06:44,965.965 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:06:45,004.004 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:06:45,061.061 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:06:45,063.063 INFO    ] No camera update needed
[2026-10-20 19:06:45,066.066 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:06:45,068.068 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:06:45,074.074 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:06:45,079.079 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:06:47,118.118 INFO    ] ================================================
[2026-10-20 19:06:47,134.134 INFO    ] Launching Daemon at Tue Oct 20 19:06:47 IST 2026
[2026-10-20 19:06:47,146.146 INFO    ] ================================================
[2026-10-20 19:06:47,799.799 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:06:47
[2026-10-20 19:06:48,469.469 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:06:48,771.771 INFO    ] Initializing speech engine...
[2026-10-20 19:06:48,784.784 INFO    ] 2026-10-20 19:06:48
[2026-10-20 19:06:49,097.097 INFO    ] 2026-10-20 19:06:49
[2026-10-20 19:06:49,183.183 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:06:49,399.399 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:06:49,414.414 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:06:49,600.600 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:06:49,620.620 INFO    ] time= 20/10/2026 19:06:49
[2026-10-20 19:06:49,633.633 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:06:49,658.658 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:06:49,780.780 INFO    ] No existing commands found in stream
[2026-10-20 19:06:54,806.806 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:06:54,809.809 INFO    ] Waiting 3.36 seconds before fallback handling...
[2026-10-20 19:06:58,662.662 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:06:58,665.665 INFO    ] Checking for system updates...
[2026-10-20 19:06:58,700.700 INFO    ] 200
[2026-10-20 19:06:58,702.702 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:06:58,754.754 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:06:58,756.756 INFO    ] No update needed
[2026-10-20 19:06:58,759.759 INFO    ] Checking for camera pi updates...
[2026-10-20 19:06:58,793.793 INFO    ] 200
[2026-10-20 19:06:58,795.795 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:06:58,845.845 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:06:58,987.987 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:06:58,989.989 INFO    ] No camera update needed
[2026-10-20 19:06:58,992.992 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:06:58,994.994 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:06:58,999.999 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:06:59,004.004 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:07:01,044.044 INFO    ] ================================================
[2026-10-20 19:07:01,060.060 INFO    ] Launching Daemon at Tue Oct 20 19:07:01 IST 2026
[2026-10-20 19:07:01,071.071 INFO    ] ================================================
[2026-10-20 19:07:01,800.800 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:07:01
[2026-10-20 19:07:02,454.454 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:07:02,820.820 INFO    ] Initializing speech engine...
[2026-10-20 19:07:02,833.833 INFO    ] 2026-10-20 19:07:02
[2026-10-20 19:07:03,101.101 INFO    ] 2026-10-20 19:07:03
[2026-10-20 19:07:03,137.137 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:07:03,355.355 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:07:03,412.412 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:07:03,617.617 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:07:03,667.667 INFO    ] time= 20/10/2026 19:07:03
[2026-10-20 19:07:03,684.684 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:07:03,690.690 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:07:03,836.836 INFO    ] No existing commands found in stream
[2026-10-20 19:07:08,865.865 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:07:08,872.872 INFO    ] Waiting 2.82 seconds before fallback handling...
[2026-10-20 19:07:12,162.162 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 19:07:12,165.165 INFO    ] Checking for system updates...
[2026-10-20 19:07:12,203.203 INFO    ] 200
[2026-10-20 19:07:12,206.206 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:07:12,258.258 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:07:12,260.260 INFO    ] No update needed
[2026-10-20 19:07:12,263.263 INFO    ] Checking for camera pi updates...
[2026-10-20 19:07:12,296.296 INFO    ] 200
[2026-10-20 19:07:12,298.298 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:07:12,343.343 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:07:12,396.396 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:07:12,399.399 INFO    ] No camera update needed
[2026-10-20 19:07:12,402.402 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:07:12,405.405 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:07:12,411.411 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:07:12,416.416 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:07:14,457.457 INFO    ] ================================================
[2026-10-20 19:07:14,473.473 INFO    ] Launching Daemon at Tue Oct 20 19:07:14 IST 2026
[2026-10-20 19:07:14,484.484 INFO    ] ================================================
[2026-10-20 19:07:15,048.048 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:07:15
[2026-10-20 19:07:15,632.632 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:07:15,882.882 INFO    ] Initializing speech engine...
[2026-10-20 19:07:15,905.905 INFO    ] 2026-10-20 19:07:15
[2026-10-20 19:07:16,160.160 INFO    ] 2026-10-20 19:07:16
[2026-10-20 19:07:16,195.195 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:07:16,452.452 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:07:16,461.461 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:07:16,686.686 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:07:16,728.728 INFO    ] time= 20/10/2026 19:07:16
[2026-10-20 19:07:16,734.734 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:07:16,752.752 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:07:16,888.888 INFO    ] No existing commands found in stream
[2026-10-20 19:07:21,907.907 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:07:21,910.910 INFO    ] Waiting 1.76 seconds before fallback handling...
[2026-10-20 19:07:24,197.197 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:07:24,200.200 INFO    ] Checking for system updates...
[2026-10-20 19:07:24,236.236 INFO    ] 200
[2026-10-20 19:07:24,239.239 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:07:24,294.294 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:07:24,297.297 INFO    ] No update needed
[2026-10-20 19:07:24,299.299 INFO    ] Checking for camera pi updates...
[2026-10-20 19:07:24,333.333 INFO    ] 200
[2026-10-20 19:07:24,336.336 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:07:24,377.377 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:07:24,434.434 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:07:24,437.437 INFO    ] No camera update needed
[2026-10-20 19:07:24,440.440 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:07:24,443.443 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:07:24,449.449 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:07:24,455.455 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:07:26,496.496 INFO    ] ================================================
[2026-10-20 19:07:26,512.512 INFO    ] Launching Daemon at Tue Oct 20 19:07:26 IST 2026
[2026-10-20 19:07:26,523.523 INFO    ] ================================================
[2026-10-20 19:07:27,086.086 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:07:27
[2026-10-20 19:07:27,668.668 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:07:27,922.922 INFO    ] Initializing speech engine...
[2026-10-20 19:07:27,930.930 INFO    ] 2026-10-20 19:07:27
[2026-10-20 19:07:28,236.236 INFO    ] 2026-10-20 19:07:28
[2026-10-20 19:07:28,271.271 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:07:28,468.468 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:07:28,482.482 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:07:28,644.644 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:07:28,652.652 INFO    ] time= 20/10/2026 19:07:28
[2026-10-20 19:07:28,660.660 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:07:28,666.666 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:07:28,775.775 INFO    ] No existing commands found in stream
[2026-10-20 19:07:33,801.801 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:07:33,804.804 INFO    ] Waiting 3.23 seconds before fallback handling...
[2026-10-20 19:07:37,610.610 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:07:37,613.613 INFO    ] Checking for system updates...
[2026-10-20 19:07:37,649.649 INFO    ] 200
[2026-10-20 19:07:37,652.652 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:07:37,708.708 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:07:37,711.711 INFO    ] No update needed
[2026-10-20 19:07:37,713.713 INFO    ] Checking for camera pi updates...
[2026-10-20 19:07:37,747.747 INFO    ] 200
[2026-10-20 19:07:37,749.749 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:07:37,794.794 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:07:37,839.839 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:07:37,841.841 INFO    ] No camera update needed
[2026-10-20 19:07:37,843.843 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:07:37,846.846 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:07:37,851.851 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:07:37,856.856 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:07:39,896.896 INFO    ] ================================================
[2026-10-20 19:07:39,912.912 INFO    ] Launching Daemon at Tue Oct 20 19:07:39 IST 2026
[2026-10-20 19:07:39,922.922 INFO    ] ================================================
[2026-10-20 19:07:40,487.487 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:07:40
[2026-10-20 19:07:41,068.068 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:07:41,335.335 INFO    ] Initializing speech engine...
[2026-10-20 19:07:41,348.348 INFO    ] 2026-10-20 19:07:41
[2026-10-20 19:07:41,595.595 INFO    ] 2026-10-20 19:07:41
[2026-10-20 19:07:41,630.630 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:07:41,887.887 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:07:41,897.897 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:07:42,032.032 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:07:42,092.092 INFO    ] time= 20/10/2026 19:07:42
[2026-10-20 19:07:42,142.142 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:07:42,166.166 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:07:42,296.296 INFO    ] No existing commands found in stream
[2026-10-20 19:07:47,321.321 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:07:47,324.324 INFO    ] Waiting 0.21 seconds before fallback handling...
[2026-10-20 19:07:48,080.080 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:07:48,082.082 INFO    ] Checking for system updates...
[2026-10-20 19:07:48,121.121 INFO    ] 200
[2026-10-20 19:07:48,123.123 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:07:48,179.179 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:07:48,181.181 INFO    ] No update needed
[2026-10-20 19:07:48,184.184 INFO    ] Checking for camera pi updates...
[2026-10-20 19:07:48,221.221 INFO    ] 200
[2026-10-20 19:07:48,223.223 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:07:48,263.263 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:07:48,312.312 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:07:48,314.314 INFO    ] No camera update needed
[2026-10-20 19:07:48,317.317 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:07:48,319.319 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:07:48,324.324 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:07:48,329.329 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:07:50,370.370 INFO    ] ================================================
[2026-10-20 19:07:50,386.386 INFO    ] Launching Daemon at Tue Oct 20 19:07:50 IST 2026
[2026-10-20 19:07:50,397.397 INFO    ] ================================================
[2026-10-20 19:07:50,967.967 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:07:50
[2026-10-20 19:07:51,552.552 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:07:51,812.812 INFO    ] Initializing speech engine...
[2026-10-20 19:07:51,830.830 INFO    ] 2026-10-20 19:07:51
[2026-10-20 19:07:52,081.081 INFO    ] 2026-10-20 19:07:52
[2026-10-20 19:07:52,117.117 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:07:52,318.318 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:07:52,369.369 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:07:52,521.521 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:07:52,580.580 INFO    ] time= 20/10/2026 19:07:52
[2026-10-20 19:07:52,639.639 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:07:52,654.654 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:07:52,790.790 INFO    ] No existing commands found in stream
[2026-10-20 19:07:57,815.815 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:07:57,818.818 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-10-20 19:08:01,437.437 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:08:01,442.442 INFO    ] Checking for system updates...
[2026-10-20 19:08:01,494.494 INFO    ] 200
[2026-10-20 19:08:01,497.497 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:08:01,595.595 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:08:01,598.598 INFO    ] No update needed
[2026-10-20 19:08:01,601.601 INFO    ] Checking for camera pi updates...
[2026-10-20 19:08:01,649.649 INFO    ] 200
[2026-10-20 19:08:01,653.653 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:08:01,738.738 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:08:01,799.799 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:08:01,802.802 INFO    ] No camera update needed
[2026-10-20 19:08:01,805.805 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:08:01,809.809 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:08:01,816.816 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:08:01,824.824 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:08:03,870.870 INFO    ] ================================================
[2026-10-20 19:08:03,886.886 INFO    ] Launching Daemon at Tue Oct 20 19:08:03 IST 2026
[2026-10-20 19:08:03,897.897 INFO    ] ================================================
[2026-10-20 19:08:04,479.479 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:08:04
[2026-10-20 19:08:05,082.082 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:08:05,342.342 INFO    ] Initializing speech engine...
[2026-10-20 19:08:05,352.352 INFO    ] 2026-10-20 19:08:05
[2026-10-20 19:08:05,647.647 INFO    ] 2026-10-20 19:08:05
[2026-10-20 19:08:05,682.682 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:08:05,961.961 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:08:05,977.977 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:08:06,130.130 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:08:06,174.174 INFO    ] time= 20/10/2026 19:08:06
[2026-10-20 19:08:06,229.229 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:08:06,268.268 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:08:06,424.424 INFO    ] No existing commands found in stream
[2026-10-20 19:08:11,450.450 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:08:11,453.453 INFO    ] Waiting 3.01 seconds before fallback handling...
[2026-10-20 19:08:15,000.000 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:08:15,003.003 INFO    ] Checking for system updates...
[2026-10-20 19:08:15,038.038 INFO    ] 200
[2026-10-20 19:08:15,040.040 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:08:15,092.092 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:08:15,094.094 INFO    ] No update needed
[2026-10-20 19:08:15,097.097 INFO    ] Checking for camera pi updates...
[2026-10-20 19:08:15,133.133 INFO    ] 200
[2026-10-20 19:08:15,135.135 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:08:15,175.175 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:08:15,221.221 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:08:15,223.223 INFO    ] No camera update needed
[2026-10-20 19:08:15,226.226 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:08:15,228.228 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:08:15,233.233 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:08:15,238.238 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:08:17,281.281 INFO    ] ================================================
[2026-10-20 19:08:17,296.296 INFO    ] Launching Daemon at Tue Oct 20 19:08:17 IST 2026
[2026-10-20 19:08:17,307.307 INFO    ] ================================================
[2026-10-20 19:08:17,873.873 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:08:17
[2026-10-20 19:08:18,456.456 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:08:18,712.712 INFO    ] Initializing speech engine...
[2026-10-20 19:08:18,727.727 INFO    ] 2026-10-20 19:08:18
[2026-10-20 19:08:19,006.006 INFO    ] 2026-10-20 19:08:18
[2026-10-20 19:08:19,040.040 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:08:19,236.236 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:08:19,253.253 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:08:19,416.416 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:08:19,422.422 INFO    ] time= 20/10/2026 19:08:19
[2026-10-20 19:08:19,428.428 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:08:19,475.475 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:08:19,618.618 INFO    ] No existing commands found in stream
[2026-10-20 19:08:24,643.643 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:08:24,645.645 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-10-20 19:08:28,457.457 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:08:28,460.460 INFO    ] Checking for system updates...
[2026-10-20 19:08:28,495.495 INFO    ] 200
[2026-10-20 19:08:28,497.497 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:08:28,553.553 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:08:28,555.555 INFO    ] No update needed
[2026-10-20 19:08:28,557.557 INFO    ] Checking for camera pi updates...
[2026-10-20 19:08:28,590.590 INFO    ] 200
[2026-10-20 19:08:28,593.593 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:08:28,632.632 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:08:28,686.686 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:08:28,689.689 INFO    ] No camera update needed
[2026-10-20 19:08:28,691.691 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:08:28,693.693 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:08:28,698.698 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:08:28,703.703 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:08:30,743.743 INFO    ] ================================================
[2026-10-20 19:08:30,760.760 INFO    ] Launching Daemon at Tue Oct 20 19:08:30 IST 2026
[2026-10-20 19:08:30,771.771 INFO    ] ================================================
[2026-10-20 19:08:31,422.422 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:08:31
[2026-10-20 19:08:32,132.132 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:08:32,460.460 INFO    ] Initializing speech engine...
[2026-10-20 19:08:32,470.470 INFO    ] 2026-10-20 19:08:32
[2026-10-20 19:08:32,765.765 INFO    ] 2026-10-20 19:08:32
[2026-10-20 19:08:32,812.812 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:08:33,098.098 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:08:33,107.107 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:08:33,298.298 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:08:33,316.316 INFO    ] time= 20/10/2026 19:08:33
[2026-10-20 19:08:33,327.327 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:08:33,354.354 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:08:33,479.479 INFO    ] No existing commands found in stream
[2026-10-20 19:08:38,510.510 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:08:38,514.514 INFO    ] Waiting 3.92 seconds before fallback handling...
[2026-10-20 19:08:42,989.989 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:08:42,992.992 INFO    ] Checking for system updates...
[2026-10-20 19:08:43,029.029 INFO    ] 200
[2026-10-20 19:08:43,032.032 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:08:43,090.090 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:08:43,093.093 INFO    ] No update needed
[2026-10-20 19:08:43,096.096 INFO    ] Checking for camera pi updates...
[2026-10-20 19:08:43,134.134 INFO    ] 200
[2026-10-20 19:08:43,137.137 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:08:43,177.177 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:08:43,231.231 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:08:43,234.234 INFO    ] No camera update needed
[2026-10-20 19:08:43,236.236 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:08:43,238.238 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:08:43,244.244 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:08:43,249.249 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:08:45,290.290 INFO    ] ================================================
[2026-10-20 19:08:45,305.305 INFO    ] Launching Daemon at Tue Oct 20 19:08:45 IST 2026
[2026-10-20 19:08:45,316.316 INFO    ] ================================================
[2026-10-20 19:08:45,957.957 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:08:45
[2026-10-20 19:08:46,619.619 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:08:46,922.922 INFO    ] Initializing speech engine...
[2026-10-20 19:08:46,933.933 INFO    ] 2026-10-20 19:08:46
[2026-10-20 19:08:47,215.215 INFO    ] 2026-10-20 19:08:47
[2026-10-20 19:08:47,253.253 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:08:47,478.478 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:08:47,484.484 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:08:47,686.686 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:08:47,739.739 INFO    ] time= 20/10/2026 19:08:47
[2026-10-20 19:08:47,746.746 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:08:47,765.765 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:08:47,897.897 INFO    ] No existing commands found in stream
[2026-10-20 19:08:52,916.916 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:08:52,919.919 INFO    ] Waiting 0.74 seconds before fallback handling...
[2026-10-20 19:08:54,155.155 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:08:54,158.158 INFO    ] Checking for system updates...
[2026-10-20 19:08:54,194.194 INFO    ] 200
[2026-10-20 19:08:54,196.196 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:08:54,250.250 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:08:54,252.252 INFO    ] No update needed
[2026-10-20 19:08:54,255.255 INFO    ] Checking for camera pi updates...
[2026-10-20 19:08:54,288.288 INFO    ] 200
[2026-10-20 19:08:54,290.290 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:08:54,351.351 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:08:54,399.399 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:08:54,401.401 INFO    ] No camera update needed
[2026-10-20 19:08:54,403.403 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:08:54,406.406 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:08:54,411.411 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:08:54,416.416 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:08:56,455.455 INFO    ] ================================================
[2026-10-20 19:08:56,471.471 INFO    ] Launching Daemon at Tue Oct 20 19:08:56 IST 2026
[2026-10-20 19:08:56,482.482 INFO    ] ================================================
[2026-10-20 19:08:57,063.063 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:08:57
[2026-10-20 19:08:57,664.664 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:08:57,944.944 INFO    ] Initializing speech engine...
[2026-10-20 19:08:57,952.952 INFO    ] 2026-10-20 19:08:57
[2026-10-20 19:08:58,211.211 INFO    ] 2026-10-20 19:08:58
[2026-10-20 19:08:58,267.267 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:08:58,513.513 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:08:58,521.521 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:08:58,745.745 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:08:58,760.760 INFO    ] time= 20/10/2026 19:08:58
[2026-10-20 19:08:58,777.777 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:08:58,806.806 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:08:58,936.936 INFO    ] No existing commands found in stream
[2026-10-20 19:09:03,972.972 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:09:03,975.975 INFO    ] Waiting 0.85 seconds before fallback handling...
[2026-10-20 19:09:05,326.326 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:09:05,329.329 INFO    ] Checking for system updates...
[2026-10-20 19:09:05,364.364 INFO    ] 200
[2026-10-20 19:09:05,367.367 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:09:05,420.420 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:09:05,423.423 INFO    ] No update needed
[2026-10-20 19:09:05,426.426 INFO    ] Checking for camera pi updates...
[2026-10-20 19:09:05,459.459 INFO    ] 200
[2026-10-20 19:09:05,461.461 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:09:05,502.502 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:09:05,552.552 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:09:05,554.554 INFO    ] No camera update needed
[2026-10-20 19:09:05,556.556 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:09:05,559.559 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:09:05,564.564 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:09:05,570.570 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:09:07,611.611 INFO    ] ================================================
[2026-10-20 19:09:07,627.627 INFO    ] Launching Daemon at Tue Oct 20 19:09:07 IST 2026
[2026-10-20 19:09:07,638.638 INFO    ] ================================================
[2026-10-20 19:09:08,204.204 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:09:08
[2026-10-20 19:09:08,785.785 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:09:09,053.053 INFO    ] Initializing speech engine...
[2026-10-20 19:09:09,060.060 INFO    ] 2026-10-20 19:09:09
[2026-10-20 19:09:09,312.312 INFO    ] 2026-10-20 19:09:09
[2026-10-20 19:09:09,346.346 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:09:09,604.604 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:09:09,613.613 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:09:09,746.746 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:09:09,778.778 INFO    ] time= 20/10/2026 19:09:09
[2026-10-20 19:09:09,832.832 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:09:09,882.882 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:09:10,031.031 INFO    ] No existing commands found in stream
[2026-10-20 19:09:15,045.045 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:09:15,048.048 INFO    ] Waiting 0.08 seconds before fallback handling...
[2026-10-20 19:09:15,610.610 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:09:15,613.613 INFO    ] Checking for system updates...
[2026-10-20 19:09:15,649.649 INFO    ] 200
[2026-10-20 19:09:15,652.652 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:09:15,711.711 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:09:15,714.714 INFO    ] No update needed
[2026-10-20 19:09:15,716.716 INFO    ] Checking for camera pi updates...
[2026-10-20 19:09:15,750.750 INFO    ] 200
[2026-10-20 19:09:15,753.753 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:09:15,794.794 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:09:15,838.838 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:09:15,841.841 INFO    ] No camera update needed
[2026-10-20 19:09:15,843.843 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:09:15,846.846 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:09:15,852.852 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:09:15,858.858 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:09:17,899.899 INFO    ] ================================================
[2026-10-20 19:09:17,915.915 INFO    ] Launching Daemon at Tue Oct 20 19:09:17 IST 2026
[2026-10-20 19:09:17,926.926 INFO    ] ================================================
[2026-10-20 19:09:18,501.501 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:09:18
[2026-10-20 19:09:19,096.096 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:09:19,372.372 INFO    ] Initializing speech engine...
[2026-10-20 19:09:19,379.379 INFO    ] 2026-10-20 19:09:19
[2026-10-20 19:09:19,641.641 INFO    ] 2026-10-20 19:09:19
[2026-10-20 19:09:19,671.671 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:09:19,917.917 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:09:19,926.926 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:09:20,163.163 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:09:20,187.187 INFO    ] time= 20/10/2026 19:09:20
[2026-10-20 19:09:20,203.203 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:09:20,211.211 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:09:20,329.329 INFO    ] No existing commands found in stream
[2026-10-20 19:09:25,349.349 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:09:25,351.351 INFO    ] Waiting 0.85 seconds before fallback handling...
[2026-10-20 19:09:28,149.149 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 19:09:28,152.152 INFO    ] Checking for system updates...
[2026-10-20 19:09:28,192.192 INFO    ] 200
[2026-10-20 19:09:28,195.195 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:09:28,247.247 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:09:28,250.250 INFO    ] No update needed
[2026-10-20 19:09:28,253.253 INFO    ] Checking for camera pi updates...
[2026-10-20 19:09:28,287.287 INFO    ] 200
[2026-10-20 19:09:28,290.290 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:09:28,333.333 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:09:28,383.383 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:09:28,386.386 INFO    ] No camera update needed
[2026-10-20 19:09:28,389.389 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:09:28,391.391 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:09:28,397.397 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:09:28,403.403 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:09:30,444.444 INFO    ] ================================================
[2026-10-20 19:09:30,459.459 INFO    ] Launching Daemon at Tue Oct 20 19:09:30 IST 2026
[2026-10-20 19:09:30,471.471 INFO    ] ================================================
[2026-10-20 19:09:31,040.040 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:09:31
[2026-10-20 19:09:31,651.651 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:09:31,928.928 INFO    ] Initializing speech engine...
[2026-10-20 19:09:31,943.943 INFO    ] 2026-10-20 19:09:31
[2026-10-20 19:09:32,233.233 INFO    ] 2026-10-20 19:09:32
[2026-10-20 19:09:32,270.270 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:09:32,480.480 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:09:32,495.495 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:09:32,673.673 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:09:32,685.685 INFO    ] time= 20/10/2026 19:09:32
[2026-10-20 19:09:32,694.694 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:09:32,715.715 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:09:32,883.883 INFO    ] No existing commands found in stream
[2026-10-20 19:09:37,914.914 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:09:37,916.916 INFO    ] Waiting 3.33 seconds before fallback handling...
[2026-10-20 19:09:41,785.785 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:09:41,788.788 INFO    ] Checking for system updates...
[2026-10-20 19:09:41,826.826 INFO    ] 200
[2026-10-20 19:09:41,829.829 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:09:41,880.880 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:09:41,882.882 INFO    ] No update needed
[2026-10-20 19:09:41,885.885 INFO    ] Checking for camera pi updates...
[2026-10-20 19:09:41,917.917 INFO    ] 200
[2026-10-20 19:09:41,920.920 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:09:41,960.960 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:09:42,005.005 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:09:42,007.007 INFO    ] No camera update needed
[2026-10-20 19:09:42,010.010 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:09:42,012.012 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:09:42,017.017 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:09:42,022.022 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:09:44,063.063 INFO    ] ================================================
[2026-10-20 19:09:44,079.079 INFO    ] Launching Daemon at Tue Oct 20 19:09:44 IST 2026
[2026-10-20 19:09:44,090.090 INFO    ] ================================================
[2026-10-20 19:09:44,657.657 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:09:44
[2026-10-20 19:09:45,257.257 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:09:45,516.516 INFO    ] Initializing speech engine...
[2026-10-20 19:09:45,525.525 INFO    ] 2026-10-20 19:09:45
[2026-10-20 19:09:45,820.820 INFO    ] 2026-10-20 19:09:45
[2026-10-20 19:09:45,857.857 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:09:46,056.056 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:09:46,070.070 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:09:46,293.293 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:09:46,314.314 INFO    ] time= 20/10/2026 19:09:46
[2026-10-20 19:09:46,358.358 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:09:46,413.413 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:09:46,517.517 INFO    ] No existing commands found in stream
[2026-10-20 19:09:51,528.528 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:09:51,531.531 INFO    ] Waiting 3.15 seconds before fallback handling...
[2026-10-20 19:09:55,175.175 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 19:09:55,178.178 INFO    ] Checking for system updates...
[2026-10-20 19:09:55,214.214 INFO    ] 200
[2026-10-20 19:09:55,216.216 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:09:55,268.268 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:09:55,271.271 INFO    ] No update needed
[2026-10-20 19:09:55,273.273 INFO    ] Checking for camera pi updates...
[2026-10-20 19:09:55,306.306 INFO    ] 200
[2026-10-20 19:09:55,308.308 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:09:55,349.349 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:09:55,402.402 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:09:55,405.405 INFO    ] No camera update needed
[2026-10-20 19:09:55,407.407 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:09:55,410.410 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:09:55,415.415 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:09:55,420.420 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:09:57,460.460 INFO    ] ================================================
[2026-10-20 19:09:57,476.476 INFO    ] Launching Daemon at Tue Oct 20 19:09:57 IST 2026
[2026-10-20 19:09:57,486.486 INFO    ] ================================================
[2026-10-20 19:09:58,075.075 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:09:58
[2026-10-20 19:09:58,675.675 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:09:58,938.938 INFO    ] Initializing speech engine...
[2026-10-20 19:09:58,945.945 INFO    ] 2026-10-20 19:09:58
[2026-10-20 19:09:59,242.242 INFO    ] 2026-10-20 19:09:59
[2026-10-20 19:09:59,281.281 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:09:59,481.481 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:09:59,495.495 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:09:59,663.663 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:09:59,669.669 INFO    ] time= 20/10/2026 19:09:59
[2026-10-20 19:09:59,675.675 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:09:59,682.682 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:09:59,841.841 INFO    ] No existing commands found in stream
[2026-10-20 19:10:04,871.871 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:10:04,874.874 INFO    ] Waiting 0.20 seconds before fallback handling...
[2026-10-20 19:10:08,435.435 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 19:10:08,438.438 INFO    ] Checking for system updates...
[2026-10-20 19:10:08,474.474 INFO    ] 200
[2026-10-20 19:10:08,477.477 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:10:08,531.531 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:10:08,533.533 INFO    ] No update needed
[2026-10-20 19:10:08,535.535 INFO    ] Checking for camera pi updates...
[2026-10-20 19:10:08,573.573 INFO    ] 200
[2026-10-20 19:10:08,576.576 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:10:08,615.615 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:10:08,663.663 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:10:08,665.665 INFO    ] No camera update needed
[2026-10-20 19:10:08,668.668 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:10:08,670.670 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:10:08,676.676 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:10:08,681.681 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:10:10,721.721 INFO    ] ================================================
[2026-10-20 19:10:10,737.737 INFO    ] Launching Daemon at Tue Oct 20 19:10:10 IST 2026
[2026-10-20 19:10:10,748.748 INFO    ] ================================================
[2026-10-20 19:10:11,335.335 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:10:11
[2026-10-20 19:10:11,932.932 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:10:12,207.207 INFO    ] Initializing speech engine...
[2026-10-20 19:10:12,216.216 INFO    ] 2026-10-20 19:10:12
[2026-10-20 19:10:12,488.488 INFO    ] 2026-10-20 19:10:12
[2026-10-20 19:10:12,531.531 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:10:12,815.815 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:10:12,819.819 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:10:13,014.014 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:10:13,051.051 INFO    ] time= 20/10/2026 19:10:13
[2026-10-20 19:10:13,068.068 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:10:13,076.076 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:10:13,203.203 INFO    ] No existing commands found in stream
[2026-10-20 19:10:18,233.233 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:10:18,236.236 INFO    ] Waiting 2.63 seconds before fallback handling...
[2026-10-20 19:10:21,367.367 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:10:21,370.370 INFO    ] Checking for system updates...
[2026-10-20 19:10:21,406.406 INFO    ] 200
[2026-10-20 19:10:21,409.409 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:10:21,464.464 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:10:21,467.467 INFO    ] No update needed
[2026-10-20 19:10:21,470.470 INFO    ] Checking for camera pi updates...
[2026-10-20 19:10:21,503.503 INFO    ] 200
[2026-10-20 19:10:21,505.505 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:10:21,546.546 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:10:21,601.601 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:10:21,604.604 INFO    ] No camera update needed
[2026-10-20 19:10:21,606.606 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:10:21,609.609 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:10:21,614.614 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:10:21,619.619 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:10:23,661.661 INFO    ] ================================================
[2026-10-20 19:10:23,676.676 INFO    ] Launching Daemon at Tue Oct 20 19:10:23 IST 2026
[2026-10-20 19:10:23,687.687 INFO    ] ================================================
[2026-10-20 19:10:24,349.349 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:10:24
[2026-10-20 19:10:25,035.035 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:10:25,342.342 INFO    ] Initializing speech engine...
[2026-10-20 19:10:25,350.350 INFO    ] 2026-10-20 19:10:25
[2026-10-20 19:10:25,631.631 INFO    ] 2026-10-20 19:10:25
[2026-10-20 19:10:25,688.688 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:10:25,922.922 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:10:25,944.944 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:10:26,140.140 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:10:26,192.192 INFO    ] time= 20/10/2026 19:10:26
[2026-10-20 19:10:26,198.198 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:10:26,217.217 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:10:26,353.353 INFO    ] No existing commands found in stream
[2026-10-20 19:10:31,383.383 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:10:31,386.386 INFO    ] Waiting 3.97 seconds before fallback handling...
[2026-10-20 19:10:35,903.903 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:10:35,906.906 INFO    ] Checking for system updates...
[2026-10-20 19:10:35,942.942 INFO    ] 200
[2026-10-20 19:10:35,945.945 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:10:35,997.997 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:10:36,000.000 INFO    ] No update needed
[2026-10-20 19:10:36,002.002 INFO    ] Checking for camera pi updates...
[2026-10-20 19:10:36,036.036 INFO    ] 200
[2026-10-20 19:10:36,039.039 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:10:36,078.078 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:10:36,129.129 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:10:36,132.132 INFO    ] No camera update needed
[2026-10-20 19:10:36,134.134 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:10:36,136.136 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:10:36,142.142 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:10:36,147.147 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:10:38,186.186 INFO    ] ================================================
[2026-10-20 19:10:38,202.202 INFO    ] Launching Daemon at Tue Oct 20 19:10:38 IST 2026
[2026-10-20 19:10:38,213.213 INFO    ] ================================================
[2026-10-20 19:10:38,798.798 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:10:38
[2026-10-20 19:10:39,399.399 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:10:39,673.673 INFO    ] Initializing speech engine...
[2026-10-20 19:10:39,682.682 INFO    ] 2026-10-20 19:10:39
[2026-10-20 19:10:39,934.934 INFO    ] 2026-10-20 19:10:39
[2026-10-20 19:10:39,968.968 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:10:40,222.222 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:10:40,231.231 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:10:40,432.432 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:10:40,487.487 INFO    ] time= 20/10/2026 19:10:40
[2026-10-20 19:10:40,497.497 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:10:40,515.515 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:10:40,651.651 INFO    ] No existing commands found in stream
[2026-10-20 19:10:45,681.681 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:10:45,684.684 INFO    ] Waiting 1.17 seconds before fallback handling...
[2026-10-20 19:10:47,463.463 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:10:47,466.466 INFO    ] Checking for system updates...
[2026-10-20 19:10:47,502.502 INFO    ] 200
[2026-10-20 19:10:47,505.505 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:10:47,566.566 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:10:47,569.569 INFO    ] No update needed
[2026-10-20 19:10:47,571.571 INFO    ] Checking for camera pi updates...
[2026-10-20 19:10:47,604.604 INFO    ] 200
[2026-10-20 19:10:47,607.607 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:10:47,653.653 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:10:47,698.698 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:10:47,701.701 INFO    ] No camera update needed
[2026-10-20 19:10:47,703.703 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:10:47,710.710 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:10:47,716.716 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:10:47,723.723 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:10:49,767.767 INFO    ] ================================================
[2026-10-20 19:10:49,782.782 INFO    ] Launching Daemon at Tue Oct 20 19:10:49 IST 2026
[2026-10-20 19:10:49,794.794 INFO    ] ================================================
[2026-10-20 19:10:50,366.366 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:10:50
[2026-10-20 19:10:50,951.951 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:10:51,211.211 INFO    ] Initializing speech engine...
[2026-10-20 19:10:51,230.230 INFO    ] 2026-10-20 19:10:51
[2026-10-20 19:10:51,481.481 INFO    ] 2026-10-20 19:10:51
[2026-10-20 19:10:51,517.517 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:10:51,720.720 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:10:51,779.779 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:10:51,923.923 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:10:51,978.978 INFO    ] time= 20/10/2026 19:10:51
[2026-10-20 19:10:52,027.027 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:10:52,057.057 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:10:52,194.194 INFO    ] No existing commands found in stream
[2026-10-20 19:10:57,220.220 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:10:57,222.222 INFO    ] Waiting 0.13 seconds before fallback handling...
[2026-10-20 19:10:57,876.876 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 19:10:57,879.879 INFO    ] Checking for system updates...
[2026-10-20 19:10:57,914.914 INFO    ] 200
[2026-10-20 19:10:57,917.917 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:10:57,977.977 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:10:57,979.979 INFO    ] No update needed
[2026-10-20 19:10:57,982.982 INFO    ] Checking for camera pi updates...
[2026-10-20 19:10:58,020.020 INFO    ] 200
[2026-10-20 19:10:58,022.022 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:10:58,062.062 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:10:58,117.117 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:10:58,120.120 INFO    ] No camera update needed
[2026-10-20 19:10:58,122.122 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:10:58,124.124 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:10:58,130.130 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:10:58,136.136 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:11:00,177.177 INFO    ] ================================================
[2026-10-20 19:11:00,193.193 INFO    ] Launching Daemon at Tue Oct 20 19:11:00 IST 2026
[2026-10-20 19:11:00,204.204 INFO    ] ================================================
[2026-10-20 19:11:00,773.773 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:11:00
[2026-10-20 19:11:01,358.358 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:11:01,626.626 INFO    ] Initializing speech engine...
[2026-10-20 19:11:01,636.636 INFO    ] 2026-10-20 19:11:01
[2026-10-20 19:11:01,891.891 INFO    ] 2026-10-20 19:11:01
[2026-10-20 19:11:01,921.921 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:11:02,221.221 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:11:02,254.254 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:11:02,380.380 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:11:02,384.384 INFO    ] time= 20/10/2026 19:11:02
[2026-10-20 19:11:02,387.387 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:11:02,390.390 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:11:02,485.485 INFO    ] No existing commands found in stream
[2026-10-20 19:11:07,511.511 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:11:07,513.513 INFO    ] Waiting 2.67 seconds before fallback handling...
[2026-10-20 19:11:10,724.724 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 19:11:10,727.727 INFO    ] Checking for system updates...
[2026-10-20 19:11:10,763.763 INFO    ] 200
[2026-10-20 19:11:10,766.766 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:11:10,820.820 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:11:10,822.822 INFO    ] No update needed
[2026-10-20 19:11:10,825.825 INFO    ] Checking for camera pi updates...
[2026-10-20 19:11:10,859.859 INFO    ] 200
[2026-10-20 19:11:10,861.861 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:11:10,901.901 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:11:11,051.051 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:11:11,054.054 INFO    ] No camera update needed
[2026-10-20 19:11:11,056.056 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:11:11,059.059 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:11:11,064.064 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:11:11,069.069 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:11:13,109.109 INFO    ] ================================================
[2026-10-20 19:11:13,124.124 INFO    ] Launching Daemon at Tue Oct 20 19:11:13 IST 2026
[2026-10-20 19:11:13,135.135 INFO    ] ================================================
[2026-10-20 19:11:13,700.700 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:11:13
[2026-10-20 19:11:14,285.285 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:11:14,534.534 INFO    ] Initializing speech engine...
[2026-10-20 19:11:14,539.539 INFO    ] 2026-10-20 19:11:14
[2026-10-20 19:11:14,814.814 INFO    ] 2026-10-20 19:11:14
[2026-10-20 19:11:14,849.849 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:11:15,109.109 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:11:15,118.118 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:11:15,325.325 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:11:15,380.380 INFO    ] time= 20/10/2026 19:11:15
[2026-10-20 19:11:15,398.398 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:11:15,420.420 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:11:15,558.558 INFO    ] No existing commands found in stream
[2026-10-20 19:11:20,589.589 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:11:20,591.591 INFO    ] Waiting 3.57 seconds before fallback handling...
[2026-10-20 19:11:24,675.675 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:11:24,677.677 INFO    ] Checking for system updates...
[2026-10-20 19:11:24,717.717 INFO    ] 200
[2026-10-20 19:11:24,720.720 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:11:24,780.780 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:11:24,782.782 INFO    ] No update needed
[2026-10-20 19:11:24,784.784 INFO    ] Checking for camera pi updates...
[2026-10-20 19:11:24,822.822 INFO    ] 200
[2026-10-20 19:11:24,824.824 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:11:24,864.864 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:11:24,919.919 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:11:24,921.921 INFO    ] No camera update needed
[2026-10-20 19:11:24,927.927 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:11:24,929.929 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:11:24,935.935 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:11:24,940.940 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:11:26,979.979 INFO    ] ================================================
[2026-10-20 19:11:27,995.995 INFO    ] Launching Daemon at Tue Oct 20 19:11:26 IST 2026
[2026-10-20 19:11:27,006.006 INFO    ] ================================================
[2026-10-20 19:11:27,589.589 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:11:27
[2026-10-20 19:11:28,187.187 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:11:28,461.461 INFO    ] Initializing speech engine...
[2026-10-20 19:11:28,472.472 INFO    ] 2026-10-20 19:11:28
[2026-10-20 19:11:28,739.739 INFO    ] 2026-10-20 19:11:28
[2026-10-20 19:11:28,776.776 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:11:28,980.980 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:11:28,995.995 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:11:29,159.159 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:11:29,168.168 INFO    ] time= 20/10/2026 19:11:29
[2026-10-20 19:11:29,176.176 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:11:29,219.219 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:11:29,355.355 INFO    ] No existing commands found in stream
[2026-10-20 19:11:34,380.380 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:11:34,383.383 INFO    ] Waiting 3.35 seconds before fallback handling...
[2026-10-20 19:11:38,254.254 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:11:38,257.257 INFO    ] Checking for system updates...
[2026-10-20 19:11:38,292.292 INFO    ] 200
[2026-10-20 19:11:38,294.294 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:11:38,353.353 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:11:38,356.356 INFO    ] No update needed
[2026-10-20 19:11:38,358.358 INFO    ] Checking for camera pi updates...
[2026-10-20 19:11:38,396.396 INFO    ] 200
[2026-10-20 19:11:38,398.398 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:11:38,444.444 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:11:38,488.488 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:11:38,490.490 INFO    ] No camera update needed
[2026-10-20 19:11:38,493.493 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:11:38,495.495 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:11:38,501.501 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:11:38,506.506 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:11:40,545.545 INFO    ] ================================================
[2026-10-20 19:11:40,560.560 INFO    ] Launching Daemon at Tue Oct 20 19:11:40 IST 2026
[2026-10-20 19:11:40,571.571 INFO    ] ================================================
[2026-10-20 19:11:41,142.142 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:11:41
[2026-10-20 19:11:41,727.727 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:11:41,983.983 INFO    ] Initializing speech engine...
[2026-10-20 19:11:41,991.991 INFO    ] 2026-10-20 19:11:41
[2026-10-20 19:11:42,286.286 INFO    ] 2026-10-20 19:11:42
[2026-10-20 19:11:42,321.321 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:11:42,521.521 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:11:42,527.527 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:11:42,703.703 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:11:42,711.711 INFO    ] time= 20/10/2026 19:11:42
[2026-10-20 19:11:42,715.715 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:11:42,722.722 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:11:42,798.798 INFO    ] No existing commands found in stream
[2026-10-20 19:11:47,813.813 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:11:47,816.816 INFO    ] Waiting 3.93 seconds before fallback handling...
[2026-10-20 19:11:52,328.328 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:11:52,330.330 INFO    ] Checking for system updates...
[2026-10-20 19:11:52,365.365 INFO    ] 200
[2026-10-20 19:11:52,368.368 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:11:52,427.427 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:11:52,430.430 INFO    ] No update needed
[2026-10-20 19:11:52,432.432 INFO    ] Checking for camera pi updates...
[2026-10-20 19:11:52,469.469 INFO    ] 200
[2026-10-20 19:11:52,471.471 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:11:52,516.516 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:11:52,561.561 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:11:52,563.563 INFO    ] No camera update needed
[2026-10-20 19:11:52,566.566 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:11:52,568.568 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:11:52,573.573 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:11:52,578.578 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:11:54,618.618 INFO    ] ================================================
[2026-10-20 19:11:54,633.633 INFO    ] Launching Daemon at Tue Oct 20 19:11:54 IST 2026
[2026-10-20 19:11:54,644.644 INFO    ] ================================================
[2026-10-20 19:11:55,300.300 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:11:55
[2026-10-20 19:11:55,980.980 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:11:56,286.286 INFO    ] Initializing speech engine...
[2026-10-20 19:11:56,298.298 INFO    ] 2026-10-20 19:11:56
[2026-10-20 19:11:56,607.607 INFO    ] 2026-10-20 19:11:56
[2026-10-20 19:11:56,696.696 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:11:56,910.910 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:11:56,915.915 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:11:57,101.101 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:11:57,118.118 INFO    ] time= 20/10/2026 19:11:57
[2026-10-20 19:11:57,139.139 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:11:57,166.166 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:11:57,297.297 INFO    ] No existing commands found in stream
[2026-10-20 19:12:02,328.328 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:12:02,333.333 INFO    ] Waiting 1.70 seconds before fallback handling...
[2026-10-20 19:12:04,584.584 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:12:04,587.587 INFO    ] Checking for system updates...
[2026-10-20 19:12:04,628.628 INFO    ] 200
[2026-10-20 19:12:04,631.631 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:12:04,691.691 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:12:04,698.698 INFO    ] No update needed
[2026-10-20 19:12:04,701.701 INFO    ] Checking for camera pi updates...
[2026-10-20 19:12:04,734.734 INFO    ] 200
[2026-10-20 19:12:04,736.736 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:12:04,776.776 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:12:04,824.824 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:12:04,826.826 INFO    ] No camera update needed
[2026-10-20 19:12:04,829.829 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:12:04,832.832 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:12:04,837.837 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:12:04,842.842 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:12:06,883.883 INFO    ] ================================================
[2026-10-20 19:12:06,898.898 INFO    ] Launching Daemon at Tue Oct 20 19:12:06 IST 2026
[2026-10-20 19:12:06,908.908 INFO    ] ================================================
[2026-10-20 19:12:07,494.494 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:12:07
[2026-10-20 19:12:08,093.093 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:12:08,349.349 INFO    ] Initializing speech engine...
[2026-10-20 19:12:08,361.361 INFO    ] 2026-10-20 19:12:08
[2026-10-20 19:12:08,628.628 INFO    ] 2026-10-20 19:12:08
[2026-10-20 19:12:08,663.663 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:12:08,921.921 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:12:08,931.931 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:12:09,128.128 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:12:09,178.178 INFO    ] time= 20/10/2026 19:12:09
[2026-10-20 19:12:09,202.202 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:12:09,217.217 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:12:09,348.348 INFO    ] No existing commands found in stream
[2026-10-20 19:12:14,361.361 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:12:14,364.364 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-10-20 19:12:18,269.269 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:12:18,272.272 INFO    ] Checking for system updates...
[2026-10-20 19:12:18,311.311 INFO    ] 200
[2026-10-20 19:12:18,313.313 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:12:18,372.372 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:12:18,374.374 INFO    ] No update needed
[2026-10-20 19:12:18,377.377 INFO    ] Checking for camera pi updates...
[2026-10-20 19:12:18,413.413 INFO    ] 200
[2026-10-20 19:12:18,416.416 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:12:18,455.455 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:12:18,503.503 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:12:18,505.505 INFO    ] No camera update needed
[2026-10-20 19:12:18,507.507 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:12:18,510.510 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:12:18,515.515 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:12:18,520.520 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:12:20,559.559 INFO    ] ================================================
[2026-10-20 19:12:20,575.575 INFO    ] Launching Daemon at Tue Oct 20 19:12:20 IST 2026
[2026-10-20 19:12:20,585.585 INFO    ] ================================================
[2026-10-20 19:12:21,160.160 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:12:21
[2026-10-20 19:12:21,782.782 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:12:22,104.104 INFO    ] Initializing speech engine...
[2026-10-20 19:12:22,115.115 INFO    ] 2026-10-20 19:12:22
[2026-10-20 19:12:22,394.394 INFO    ] 2026-10-20 19:12:22
[2026-10-20 19:12:22,440.440 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:12:22,728.728 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:12:22,738.738 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:12:22,934.934 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:12:22,953.953 INFO    ] time= 20/10/2026 19:12:22
[2026-10-20 19:12:22,962.962 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:12:22,988.988 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:12:23,123.123 INFO    ] No existing commands found in stream
[2026-10-20 19:12:28,154.154 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:12:28,157.157 INFO    ] Waiting 1.79 seconds before fallback handling...
[2026-10-20 19:12:30,467.467 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:12:30,470.470 INFO    ] Checking for system updates...
[2026-10-20 19:12:30,512.512 INFO    ] 200
[2026-10-20 19:12:30,515.515 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:12:30,575.575 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:12:30,579.579 INFO    ] No update needed
[2026-10-20 19:12:30,582.582 INFO    ] Checking for camera pi updates...
[2026-10-20 19:12:30,621.621 INFO    ] 200
[2026-10-20 19:12:30,624.624 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:12:30,670.670 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:12:30,724.724 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:12:30,727.727 INFO    ] No camera update needed
[2026-10-20 19:12:30,730.730 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:12:30,733.733 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:12:30,739.739 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:12:30,745.745 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:12:32,789.789 INFO    ] ================================================
[2026-10-20 19:12:32,804.804 INFO    ] Launching Daemon at Tue Oct 20 19:12:32 IST 2026
[2026-10-20 19:12:32,814.814 INFO    ] ================================================
[2026-10-20 19:12:33,383.383 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:12:33
[2026-10-20 19:12:33,969.969 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:12:34,226.226 INFO    ] Initializing speech engine...
[2026-10-20 19:12:34,233.233 INFO    ] 2026-10-20 19:12:34
[2026-10-20 19:12:34,529.529 INFO    ] 2026-10-20 19:12:34
[2026-10-20 19:12:34,564.564 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:12:34,766.766 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:12:34,774.774 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:12:34,929.929 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:12:34,951.951 INFO    ] time= 20/10/2026 19:12:34
[2026-10-20 19:12:34,960.960 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:12:34,968.968 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:12:35,089.089 INFO    ] No existing commands found in stream
[2026-10-20 19:12:40,109.109 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:12:40,112.112 INFO    ] Waiting 0.92 seconds before fallback handling...
[2026-10-20 19:12:41,573.573 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:12:41,575.575 INFO    ] Checking for system updates...
[2026-10-20 19:12:41,615.615 INFO    ] 200
[2026-10-20 19:12:41,618.618 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:12:41,670.670 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:12:41,672.672 INFO    ] No update needed
[2026-10-20 19:12:41,675.675 INFO    ] Checking for camera pi updates...
[2026-10-20 19:12:41,708.708 INFO    ] 200
[2026-10-20 19:12:41,711.711 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:12:41,751.751 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:12:41,795.795 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:12:41,798.798 INFO    ] No camera update needed
[2026-10-20 19:12:41,800.800 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:12:41,802.802 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:12:41,808.808 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:12:41,813.813 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:12:43,852.852 INFO    ] ================================================
[2026-10-20 19:12:43,867.867 INFO    ] Launching Daemon at Tue Oct 20 19:12:43 IST 2026
[2026-10-20 19:12:43,877.877 INFO    ] ================================================
[2026-10-20 19:12:44,467.467 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:12:44
[2026-10-20 19:12:45,073.073 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:12:45,371.371 INFO    ] Initializing speech engine...
[2026-10-20 19:12:45,383.383 INFO    ] 2026-10-20 19:12:45
[2026-10-20 19:12:45,645.645 INFO    ] 2026-10-20 19:12:45
[2026-10-20 19:12:45,674.674 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:12:45,920.920 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:12:45,930.930 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:12:46,137.137 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:12:46,186.186 INFO    ] time= 20/10/2026 19:12:46
[2026-10-20 19:12:46,193.193 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:12:46,211.211 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:12:46,350.350 INFO    ] No existing commands found in stream
[2026-10-20 19:12:51,381.381 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:12:51,384.384 INFO    ] Waiting 1.98 seconds before fallback handling...
[2026-10-20 19:12:53,887.887 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 19:12:53,890.890 INFO    ] Checking for system updates...
[2026-10-20 19:12:53,926.926 INFO    ] 200
[2026-10-20 19:12:53,928.928 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:12:53,987.987 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:12:53,990.990 INFO    ] No update needed
[2026-10-20 19:12:53,992.992 INFO    ] Checking for camera pi updates...
[2026-10-20 19:12:54,030.030 INFO    ] 200
[2026-10-20 19:12:54,033.033 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:12:54,077.077 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:12:54,137.137 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:12:54,140.140 INFO    ] No camera update needed
[2026-10-20 19:12:54,142.142 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:12:54,144.144 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:12:54,150.150 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:12:54,155.155 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:12:56,195.195 INFO    ] ================================================
[2026-10-20 19:12:56,209.209 INFO    ] Launching Daemon at Tue Oct 20 19:12:56 IST 2026
[2026-10-20 19:12:56,220.220 INFO    ] ================================================
[2026-10-20 19:12:56,787.787 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:12:56
[2026-10-20 19:12:57,372.372 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:12:57,629.629 INFO    ] Initializing speech engine...
[2026-10-20 19:12:57,643.643 INFO    ] 2026-10-20 19:12:57
[2026-10-20 19:12:57,930.930 INFO    ] 2026-10-20 19:12:57
[2026-10-20 19:12:57,965.965 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:12:58,166.166 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:12:58,180.180 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:12:58,348.348 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:12:58,353.353 INFO    ] time= 20/10/2026 19:12:58
[2026-10-20 19:12:58,360.360 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:12:58,382.382 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:12:58,510.510 INFO    ] No existing commands found in stream
[2026-10-20 19:13:03,531.531 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:13:03,534.534 INFO    ] Waiting 0.60 seconds before fallback handling...
[2026-10-20 19:13:04,620.620 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:13:04,623.623 INFO    ] Checking for system updates...
[2026-10-20 19:13:04,658.658 INFO    ] 200
[2026-10-20 19:13:04,660.660 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:13:04,713.713 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:13:04,716.716 INFO    ] No update needed
[2026-10-20 19:13:04,718.718 INFO    ] Checking for camera pi updates...
[2026-10-20 19:13:04,751.751 INFO    ] 200
[2026-10-20 19:13:04,754.754 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:13:04,798.798 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:13:04,850.850 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:13:04,852.852 INFO    ] No camera update needed
[2026-10-20 19:13:04,854.854 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:13:04,857.857 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:13:04,862.862 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:13:04,867.867 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:13:06,908.908 INFO    ] ================================================
[2026-10-20 19:13:06,923.923 INFO    ] Launching Daemon at Tue Oct 20 19:13:06 IST 2026
[2026-10-20 19:13:06,934.934 INFO    ] ================================================
[2026-10-20 19:13:07,571.571 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:13:07
[2026-10-20 19:13:08,228.228 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:13:08,529.529 INFO    ] Initializing speech engine...
[2026-10-20 19:13:08,540.540 INFO    ] 2026-10-20 19:13:08
[2026-10-20 19:13:08,816.816 INFO    ] 2026-10-20 19:13:08
[2026-10-20 19:13:08,860.860 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:13:09,141.141 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:13:09,150.150 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:13:09,339.339 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:13:09,351.351 INFO    ] time= 20/10/2026 19:13:09
[2026-10-20 19:13:09,372.372 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:13:09,399.399 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:13:09,529.529 INFO    ] No existing commands found in stream
[2026-10-20 19:13:14,560.560 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:13:14,564.564 INFO    ] Waiting 2.12 seconds before fallback handling...
[2026-10-20 19:13:17,226.226 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:13:17,229.229 INFO    ] Checking for system updates...
[2026-10-20 19:13:17,265.265 INFO    ] 200
[2026-10-20 19:13:17,268.268 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:13:17,322.322 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:13:17,325.325 INFO    ] No update needed
[2026-10-20 19:13:17,327.327 INFO    ] Checking for camera pi updates...
[2026-10-20 19:13:17,362.362 INFO    ] 200
[2026-10-20 19:13:17,364.364 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:13:17,405.405 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:13:17,554.554 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:13:17,556.556 INFO    ] No camera update needed
[2026-10-20 19:13:17,559.559 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:13:17,562.562 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:13:17,568.568 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:13:17,574.574 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:13:19,616.616 INFO    ] ================================================
[2026-10-20 19:13:19,631.631 INFO    ] Launching Daemon at Tue Oct 20 19:13:19 IST 2026
[2026-10-20 19:13:19,641.641 INFO    ] ================================================
[2026-10-20 19:13:20,206.206 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:13:20
[2026-10-20 19:13:20,790.790 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:13:21,044.044 INFO    ] Initializing speech engine...
[2026-10-20 19:13:21,057.057 INFO    ] 2026-10-20 19:13:21
[2026-10-20 19:13:21,342.342 INFO    ] 2026-10-20 19:13:21
[2026-10-20 19:13:21,377.377 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:13:21,636.636 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:13:21,645.645 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:13:21,792.792 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:13:21,795.795 INFO    ] time= 20/10/2026 19:13:21
[2026-10-20 19:13:21,797.797 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:13:21,835.835 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:13:21,957.957 INFO    ] No existing commands found in stream
[2026-10-20 19:13:26,969.969 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:13:26,972.972 INFO    ] Waiting 3.83 seconds before fallback handling...
[2026-10-20 19:13:31,290.290 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:13:31,292.292 INFO    ] Checking for system updates...
[2026-10-20 19:13:31,331.331 INFO    ] 200
[2026-10-20 19:13:31,334.334 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:13:31,391.391 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:13:31,393.393 INFO    ] No update needed
[2026-10-20 19:13:31,395.395 INFO    ] Checking for camera pi updates...
[2026-10-20 19:13:31,432.432 INFO    ] 200
[2026-10-20 19:13:31,434.434 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:13:31,473.473 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:13:31,529.529 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:13:31,532.532 INFO    ] No camera update needed
[2026-10-20 19:13:31,534.534 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:13:31,536.536 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:13:31,541.541 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:13:31,546.546 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:13:33,586.586 INFO    ] ================================================
[2026-10-20 19:13:33,601.601 INFO    ] Launching Daemon at Tue Oct 20 19:13:33 IST 2026
[2026-10-20 19:13:33,612.612 INFO    ] ================================================
[2026-10-20 19:13:34,193.193 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:13:34
[2026-10-20 19:13:34,789.789 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:13:35,043.043 INFO    ] Initializing speech engine...
[2026-10-20 19:13:35,052.052 INFO    ] 2026-10-20 19:13:35
[2026-10-20 19:13:35,343.343 INFO    ] 2026-10-20 19:13:35
[2026-10-20 19:13:35,378.378 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:13:35,572.572 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:13:35,579.579 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:13:35,750.750 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:13:35,758.758 INFO    ] time= 20/10/2026 19:13:35
[2026-10-20 19:13:35,762.762 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:13:35,767.767 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:13:35,843.843 INFO    ] No existing commands found in stream
[2026-10-20 19:13:40,878.878 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:13:40,881.881 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-10-20 19:13:43,952.952 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:13:43,955.955 INFO    ] Checking for system updates...
[2026-10-20 19:13:43,991.991 INFO    ] 200
[2026-10-20 19:13:43,994.994 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:13:44,046.046 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:13:44,049.049 INFO    ] No update needed
[2026-10-20 19:13:44,052.052 INFO    ] Checking for camera pi updates...
[2026-10-20 19:13:44,087.087 INFO    ] 200
[2026-10-20 19:13:44,090.090 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:13:44,131.131 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:13:44,183.183 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:13:44,186.186 INFO    ] No camera update needed
[2026-10-20 19:13:44,188.188 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:13:44,191.191 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:13:44,196.196 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:13:44,201.201 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:13:46,240.240 INFO    ] ================================================
[2026-10-20 19:13:46,255.255 INFO    ] Launching Daemon at Tue Oct 20 19:13:46 IST 2026
[2026-10-20 19:13:46,266.266 INFO    ] ================================================
[2026-10-20 19:13:46,831.831 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:13:46
[2026-10-20 19:13:47,411.411 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:13:47,677.677 INFO    ] Initializing speech engine...
[2026-10-20 19:13:47,686.686 INFO    ] 2026-10-20 19:13:47
[2026-10-20 19:13:47,941.941 INFO    ] 2026-10-20 19:13:47
[2026-10-20 19:13:47,977.977 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:13:48,190.190 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:13:48,235.235 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:13:48,415.415 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:13:48,437.437 INFO    ] time= 20/10/2026 19:13:48
[2026-10-20 19:13:48,496.496 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:13:48,541.541 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:13:48,695.695 INFO    ] No existing commands found in stream
[2026-10-20 19:13:53,720.720 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:13:53,723.723 INFO    ] Waiting 3.31 seconds before fallback handling...
[2026-10-20 19:13:57,507.507 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 19:13:57,510.510 INFO    ] Checking for system updates...
[2026-10-20 19:13:57,546.546 INFO    ] 200
[2026-10-20 19:13:57,548.548 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:13:57,601.601 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:13:57,604.604 INFO    ] No update needed
[2026-10-20 19:13:57,606.606 INFO    ] Checking for camera pi updates...
[2026-10-20 19:13:57,639.639 INFO    ] 200
[2026-10-20 19:13:57,642.642 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:13:57,682.682 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:13:57,749.749 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:13:57,752.752 INFO    ] No camera update needed
[2026-10-20 19:13:57,754.754 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:13:57,756.756 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:13:57,762.762 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:13:57,767.767 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:13:59,806.806 INFO    ] ================================================
[2026-10-20 19:13:59,821.821 INFO    ] Launching Daemon at Tue Oct 20 19:13:59 IST 2026
[2026-10-20 19:13:59,832.832 INFO    ] ================================================
[2026-10-20 19:14:00,402.402 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:14:00
[2026-10-20 19:14:00,986.986 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:14:01,254.254 INFO    ] Initializing speech engine...
[2026-10-20 19:14:01,264.264 INFO    ] 2026-10-20 19:14:01
[2026-10-20 19:14:01,509.509 INFO    ] 2026-10-20 19:14:01
[2026-10-20 19:14:01,544.544 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:14:01,795.795 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:14:01,804.804 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:14:01,945.945 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:14:01,957.957 INFO    ] time= 20/10/2026 19:14:01
[2026-10-20 19:14:01,972.972 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:14:01,981.981 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:14:02,053.053 INFO    ] No existing commands found in stream
[2026-10-20 19:14:07,064.064 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:14:07,067.067 INFO    ] Waiting 2.35 seconds before fallback handling...
[2026-10-20 19:14:09,918.918 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:14:09,921.921 INFO    ] Checking for system updates...
[2026-10-20 19:14:09,960.960 INFO    ] 200
[2026-10-20 19:14:09,962.962 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:14:10,021.021 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:14:10,023.023 INFO    ] No update needed
[2026-10-20 19:14:10,025.025 INFO    ] Checking for camera pi updates...
[2026-10-20 19:14:10,059.059 INFO    ] 200
[2026-10-20 19:14:10,061.061 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:14:10,103.103 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:14:10,156.156 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:14:10,159.159 INFO    ] No camera update needed
[2026-10-20 19:14:10,161.161 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:14:10,163.163 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:14:10,169.169 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:14:10,174.174 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:14:12,215.215 INFO    ] ================================================
[2026-10-20 19:14:12,231.231 INFO    ] Launching Daemon at Tue Oct 20 19:14:12 IST 2026
[2026-10-20 19:14:12,241.241 INFO    ] ================================================
[2026-10-20 19:14:12,812.812 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:14:12
[2026-10-20 19:14:13,393.393 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:14:13,665.665 INFO    ] Initializing speech engine...
[2026-10-20 19:14:13,676.676 INFO    ] 2026-10-20 19:14:13
[2026-10-20 19:14:13,924.924 INFO    ] 2026-10-20 19:14:13
[2026-10-20 19:14:13,959.959 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:14:14,224.224 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:14:14,229.229 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:14:14,469.469 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:14:14,495.495 INFO    ] time= 20/10/2026 19:14:14
[2026-10-20 19:14:14,513.513 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:14:14,522.522 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:14:14,665.665 INFO    ] No existing commands found in stream
[2026-10-20 19:14:19,691.691 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:14:19,693.693 INFO    ] Waiting 0.36 seconds before fallback handling...
[2026-10-20 19:14:20,612.612 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:14:20,615.615 INFO    ] Checking for system updates...
[2026-10-20 19:14:20,650.650 INFO    ] 200
[2026-10-20 19:14:20,653.653 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:14:20,706.706 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:14:20,709.709 INFO    ] No update needed
[2026-10-20 19:14:20,712.712 INFO    ] Checking for camera pi updates...
[2026-10-20 19:14:20,749.749 INFO    ] 200
[2026-10-20 19:14:20,752.752 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:14:20,801.801 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:14:20,854.854 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:14:20,856.856 INFO    ] No camera update needed
[2026-10-20 19:14:20,858.858 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:14:20,861.861 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:14:20,866.866 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:14:20,871.871 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:14:22,911.911 INFO    ] ================================================
[2026-10-20 19:14:22,926.926 INFO    ] Launching Daemon at Tue Oct 20 19:14:22 IST 2026
[2026-10-20 19:14:22,936.936 INFO    ] ================================================
[2026-10-20 19:14:23,587.587 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:14:23
[2026-10-20 19:14:24,257.257 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:14:24,560.560 INFO    ] Initializing speech engine...
[2026-10-20 19:14:24,567.567 INFO    ] 2026-10-20 19:14:24
[2026-10-20 19:14:24,881.881 INFO    ] 2026-10-20 19:14:24
[2026-10-20 19:14:24,969.969 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:14:25,183.183 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:14:25,189.189 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:14:25,381.381 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:14:25,389.389 INFO    ] time= 20/10/2026 19:14:25
[2026-10-20 19:14:25,408.408 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:14:25,437.437 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:14:25,594.594 INFO    ] No existing commands found in stream
[2026-10-20 19:14:30,625.625 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:14:30,628.628 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-10-20 19:14:33,172.172 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:14:33,176.176 INFO    ] Checking for system updates...
[2026-10-20 19:14:33,222.222 INFO    ] 200
[2026-10-20 19:14:33,225.225 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:14:33,285.285 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:14:33,287.287 INFO    ] No update needed
[2026-10-20 19:14:33,290.290 INFO    ] Checking for camera pi updates...
[2026-10-20 19:14:33,336.336 INFO    ] 200
[2026-10-20 19:14:33,339.339 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:14:33,383.383 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:14:33,430.430 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:14:33,433.433 INFO    ] No camera update needed
[2026-10-20 19:14:33,435.435 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:14:33,438.438 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:14:33,443.443 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:14:33,448.448 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:14:35,492.492 INFO    ] ================================================
[2026-10-20 19:14:35,507.507 INFO    ] Launching Daemon at Tue Oct 20 19:14:35 IST 2026
[2026-10-20 19:14:35,518.518 INFO    ] ================================================
[2026-10-20 19:14:36,089.089 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:14:36
[2026-10-20 19:14:36,679.679 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:14:36,935.935 INFO    ] Initializing speech engine...
[2026-10-20 19:14:36,943.943 INFO    ] 2026-10-20 19:14:36
[2026-10-20 19:14:37,238.238 INFO    ] 2026-10-20 19:14:37
[2026-10-20 19:14:37,273.273 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:14:37,504.504 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:14:37,544.544 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:14:37,730.730 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:14:37,777.777 INFO    ] time= 20/10/2026 19:14:37
[2026-10-20 19:14:37,826.826 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:14:37,881.881 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:14:38,038.038 INFO    ] No existing commands found in stream
[2026-10-20 19:14:43,058.058 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:14:43,061.061 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-10-20 19:14:48,350.350 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:14:48,352.352 INFO    ] Checking for system updates...
[2026-10-20 19:14:48,391.391 INFO    ] 200
[2026-10-20 19:14:48,394.394 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:14:48,452.452 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:14:48,454.454 INFO    ] No update needed
[2026-10-20 19:14:48,456.456 INFO    ] Checking for camera pi updates...
[2026-10-20 19:14:48,493.493 INFO    ] 200
[2026-10-20 19:14:48,496.496 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:14:48,536.536 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:14:48,581.581 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:14:48,583.583 INFO    ] No camera update needed
[2026-10-20 19:14:48,586.586 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:14:48,588.588 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:14:48,594.594 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:14:48,599.599 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:14:50,642.642 INFO    ] ================================================
[2026-10-20 19:14:50,657.657 INFO    ] Launching Daemon at Tue Oct 20 19:14:50 IST 2026
[2026-10-20 19:14:50,668.668 INFO    ] ================================================
[2026-10-20 19:14:51,325.325 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:14:51
[2026-10-20 19:14:52,003.003 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:14:52,310.310 INFO    ] Initializing speech engine...
[2026-10-20 19:14:52,317.317 INFO    ] 2026-10-20 19:14:52
[2026-10-20 19:14:52,606.606 INFO    ] 2026-10-20 19:14:52
[2026-10-20 19:14:52,655.655 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:14:52,945.945 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:14:52,953.953 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:14:53,150.150 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:14:53,164.164 INFO    ] time= 20/10/2026 19:14:53
[2026-10-20 19:14:53,183.183 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:14:53,213.213 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:14:53,367.367 INFO    ] No existing commands found in stream
[2026-10-20 19:14:58,398.398 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:14:58,401.401 INFO    ] Waiting 1.77 seconds before fallback handling...
[2026-10-20 19:15:00,680.680 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 19:15:00,683.683 INFO    ] Checking for system updates...
[2026-10-20 19:15:00,719.719 INFO    ] 200
[2026-10-20 19:15:00,722.722 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:15:00,775.775 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:15:00,778.778 INFO    ] No update needed
[2026-10-20 19:15:00,781.781 INFO    ] Checking for camera pi updates...
[2026-10-20 19:15:00,816.816 INFO    ] 200
[2026-10-20 19:15:00,819.819 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:15:00,860.860 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:15:00,910.910 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:15:00,913.913 INFO    ] No camera update needed
[2026-10-20 19:15:00,917.917 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:15:00,920.920 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:15:00,927.927 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:15:00,933.933 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:15:02,987.987 INFO    ] ================================================
[2026-10-20 19:15:03,009.009 INFO    ] Launching Daemon at Tue Oct 20 19:15:03 IST 2026
[2026-10-20 19:15:03,026.026 INFO    ] ================================================
[2026-10-20 19:15:03,762.762 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:15:03
[2026-10-20 19:15:04,440.440 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:15:04,713.713 INFO    ] Initializing speech engine...
[2026-10-20 19:15:04,722.722 INFO    ] 2026-10-20 19:15:04
[2026-10-20 19:15:04,993.993 INFO    ] 2026-10-20 19:15:04
[2026-10-20 19:15:05,030.030 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:15:05,255.255 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:15:05,319.319 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:15:05,477.477 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:15:05,507.507 INFO    ] time= 20/10/2026 19:15:05
[2026-10-20 19:15:05,556.556 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:15:05,606.606 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:15:05,756.756 INFO    ] No existing commands found in stream
[2026-10-20 19:15:10,782.782 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:15:10,785.785 INFO    ] Waiting 2.99 seconds before fallback handling...
[2026-10-20 19:15:14,277.277 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:15:14,280.280 INFO    ] Checking for system updates...
[2026-10-20 19:15:14,315.315 INFO    ] 200
[2026-10-20 19:15:14,318.318 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:15:14,372.372 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:15:14,375.375 INFO    ] No update needed
[2026-10-20 19:15:14,377.377 INFO    ] Checking for camera pi updates...
[2026-10-20 19:15:14,416.416 INFO    ] 200
[2026-10-20 19:15:14,419.419 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:15:14,464.464 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:15:14,497.497 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:15:14,500.500 INFO    ] No camera update needed
[2026-10-20 19:15:14,502.502 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:15:14,504.504 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:15:14,510.510 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:15:14,515.515 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:15:16,554.554 INFO    ] ================================================
[2026-10-20 19:15:16,570.570 INFO    ] Launching Daemon at Tue Oct 20 19:15:16 IST 2026
[2026-10-20 19:15:16,581.581 INFO    ] ================================================
[2026-10-20 19:15:17,144.144 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:15:17
[2026-10-20 19:15:17,726.726 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:15:17,997.997 INFO    ] Initializing speech engine...
[2026-10-20 19:15:18,006.006 INFO    ] 2026-10-20 19:15:18
[2026-10-20 19:15:18,256.256 INFO    ] 2026-10-20 19:15:18
[2026-10-20 19:15:18,291.291 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:15:18,554.554 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:15:18,559.559 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:15:18,765.765 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:15:18,821.821 INFO    ] time= 20/10/2026 19:15:18
[2026-10-20 19:15:18,828.828 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:15:18,843.843 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:15:18,981.981 INFO    ] No existing commands found in stream
[2026-10-20 19:15:24,004.004 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:15:24,007.007 INFO    ] Waiting 1.64 seconds before fallback handling...
[2026-10-20 19:15:26,157.157 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:15:26,160.160 INFO    ] Checking for system updates...
[2026-10-20 19:15:26,196.196 INFO    ] 200
[2026-10-20 19:15:26,198.198 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:15:26,252.252 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:15:26,255.255 INFO    ] No update needed
[2026-10-20 19:15:26,257.257 INFO    ] Checking for camera pi updates...
[2026-10-20 19:15:26,292.292 INFO    ] 200
[2026-10-20 19:15:26,294.294 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:15:26,335.335 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:15:26,485.485 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:15:26,488.488 INFO    ] No camera update needed
[2026-10-20 19:15:26,491.491 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:15:26,493.493 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:15:26,499.499 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:15:26,505.505 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:15:28,546.546 INFO    ] ================================================
[2026-10-20 19:15:28,562.562 INFO    ] Launching Daemon at Tue Oct 20 19:15:28 IST 2026
[2026-10-20 19:15:28,574.574 INFO    ] ================================================
[2026-10-20 19:15:29,141.141 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:15:29
[2026-10-20 19:15:29,723.723 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:15:29,991.991 INFO    ] Initializing speech engine...
[2026-10-20 19:15:29,994.994 INFO    ] 2026-10-20 19:15:29
[2026-10-20 19:15:30,267.267 INFO    ] 2026-10-20 19:15:30
[2026-10-20 19:15:30,301.301 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:15:30,525.525 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:15:30,533.533 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:15:30,677.677 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:15:30,683.683 INFO    ] time= 20/10/2026 19:15:30
[2026-10-20 19:15:30,689.689 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:15:30,715.715 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:15:30,879.879 INFO    ] No existing commands found in stream
[2026-10-20 19:15:35,904.904 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:15:35,907.907 INFO    ] Waiting 2.12 seconds before fallback handling...
[2026-10-20 19:15:38,540.540 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 19:15:38,543.543 INFO    ] Checking for system updates...
[2026-10-20 19:15:38,579.579 INFO    ] 200
[2026-10-20 19:15:38,582.582 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:15:38,635.635 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:15:38,639.639 INFO    ] No update needed
[2026-10-20 19:15:38,641.641 INFO    ] Checking for camera pi updates...
[2026-10-20 19:15:38,675.675 INFO    ] 200
[2026-10-20 19:15:38,678.678 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:15:38,724.724 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:15:38,780.780 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:15:38,783.783 INFO    ] No camera update needed
[2026-10-20 19:15:38,786.786 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:15:38,788.788 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:15:38,795.795 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:15:38,800.800 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:15:40,843.843 INFO    ] ================================================
[2026-10-20 19:15:40,858.858 INFO    ] Launching Daemon at Tue Oct 20 19:15:40 IST 2026
[2026-10-20 19:15:40,869.869 INFO    ] ================================================
[2026-10-20 19:15:41,526.526 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:15:41
[2026-10-20 19:15:42,201.201 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:15:42,508.508 INFO    ] Initializing speech engine...
[2026-10-20 19:15:42,516.516 INFO    ] 2026-10-20 19:15:42
[2026-10-20 19:15:42,795.795 INFO    ] 2026-10-20 19:15:42
[2026-10-20 19:15:42,851.851 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:15:43,085.085 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:15:43,091.091 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:15:43,334.334 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:15:43,356.356 INFO    ] time= 20/10/2026 19:15:43
[2026-10-20 19:15:43,377.377 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:15:43,405.405 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:15:43,526.526 INFO    ] No existing commands found in stream
[2026-10-20 19:15:48,545.545 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:15:48,548.548 INFO    ] Waiting 0.85 seconds before fallback handling...
[2026-10-20 19:15:49,979.979 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:15:49,982.982 INFO    ] Checking for system updates...
[2026-10-20 19:15:50,034.034 INFO    ] 200
[2026-10-20 19:15:50,037.037 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 19:15:50,045.045 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-10-20 19:15:50,047.047 INFO    ] Checking for camera pi updates...
[2026-10-20 19:15:50,088.088 INFO    ] 200
[2026-10-20 19:15:50,091.091 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 19:15:50,094.094 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-10-20 19:15:50,097.097 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:15:50,100.100 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:15:50,107.107 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:15:50,113.113 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:15:52,154.154 INFO    ] ================================================
[2026-10-20 19:15:52,170.170 INFO    ] Launching Daemon at Tue Oct 20 19:15:52 IST 2026
[2026-10-20 19:15:52,181.181 INFO    ] ================================================
[2026-10-20 19:15:52,856.856 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:15:52
[2026-10-20 19:15:53,545.545 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:15:53,853.853 INFO    ] Initializing speech engine...
[2026-10-20 19:15:53,868.868 INFO    ] 2026-10-20 19:15:53
[2026-10-20 19:15:54,138.138 INFO    ] 2026-10-20 19:15:54
[2026-10-20 19:15:54,196.196 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:15:54,436.436 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:15:54,443.443 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:15:54,683.683 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:15:54,714.714 INFO    ] time= 20/10/2026 19:15:54
[2026-10-20 19:15:54,733.733 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:15:54,763.763 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:15:54,898.898 INFO    ] No existing commands found in stream
[2026-10-20 19:15:59,935.935 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:15:59,938.938 INFO    ] Waiting 3.27 seconds before fallback handling...
[2026-10-20 19:16:03,696.696 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:16:03,698.698 INFO    ] Checking for system updates...
[2026-10-20 19:16:03,733.733 INFO    ] 200
[2026-10-20 19:16:03,736.736 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:16:03,789.789 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:16:03,792.792 INFO    ] No update needed
[2026-10-20 19:16:03,794.794 INFO    ] Checking for camera pi updates...
[2026-10-20 19:16:03,827.827 INFO    ] 200
[2026-10-20 19:16:03,830.830 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:16:03,875.875 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:16:03,924.924 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:16:03,926.926 INFO    ] No camera update needed
[2026-10-20 19:16:03,929.929 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:16:03,931.931 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:16:03,936.936 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:16:03,941.941 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:16:05,981.981 INFO    ] ================================================
[2026-10-20 19:16:06,996.996 INFO    ] Launching Daemon at Tue Oct 20 19:16:05 IST 2026
[2026-10-20 19:16:06,007.007 INFO    ] ================================================
[2026-10-20 19:16:06,591.591 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:16:06
[2026-10-20 19:16:07,193.193 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:16:07,471.471 INFO    ] Initializing speech engine...
[2026-10-20 19:16:07,478.478 INFO    ] 2026-10-20 19:16:07
[2026-10-20 19:16:07,740.740 INFO    ] 2026-10-20 19:16:07
[2026-10-20 19:16:07,795.795 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:16:08,045.045 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:16:08,053.053 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:16:08,284.284 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:16:08,291.291 INFO    ] time= 20/10/2026 19:16:08
[2026-10-20 19:16:08,309.309 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:16:08,331.331 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:16:08,489.489 INFO    ] No existing commands found in stream
[2026-10-20 19:16:13,519.519 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:16:13,522.522 INFO    ] Waiting 0.61 seconds before fallback handling...
[2026-10-20 19:16:14,613.613 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:16:14,616.616 INFO    ] Checking for system updates...
[2026-10-20 19:16:14,651.651 INFO    ] 200
[2026-10-20 19:16:14,654.654 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:16:14,705.705 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:16:14,707.707 INFO    ] No update needed
[2026-10-20 19:16:14,710.710 INFO    ] Checking for camera pi updates...
[2026-10-20 19:16:14,748.748 INFO    ] 200
[2026-10-20 19:16:14,750.750 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:16:14,790.790 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:16:14,834.834 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:16:14,836.836 INFO    ] No camera update needed
[2026-10-20 19:16:14,839.839 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:16:14,841.841 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:16:14,846.846 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:16:14,851.851 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:16:16,890.890 INFO    ] ================================================
[2026-10-20 19:16:16,907.907 INFO    ] Launching Daemon at Tue Oct 20 19:16:16 IST 2026
[2026-10-20 19:16:16,918.918 INFO    ] ================================================
[2026-10-20 19:16:17,505.505 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:16:17
[2026-10-20 19:16:18,108.108 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:16:18,430.430 INFO    ] Initializing speech engine...
[2026-10-20 19:16:18,438.438 INFO    ] 2026-10-20 19:16:18
[2026-10-20 19:16:18,748.748 INFO    ] 2026-10-20 19:16:18
[2026-10-20 19:16:18,836.836 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:16:19,053.053 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:16:19,058.058 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:16:19,256.256 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:16:19,276.276 INFO    ] time= 20/10/2026 19:16:19
[2026-10-20 19:16:19,305.305 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:16:19,316.316 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:16:19,462.462 INFO    ] No existing commands found in stream
[2026-10-20 19:16:24,494.494 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:16:24,501.501 INFO    ] Waiting 3.76 seconds before fallback handling...
[2026-10-20 19:16:28,726.726 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 19:16:28,729.729 INFO    ] Checking for system updates...
[2026-10-20 19:16:28,764.764 INFO    ] 200
[2026-10-20 19:16:28,766.766 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:16:28,818.818 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:16:28,821.821 INFO    ] No update needed
[2026-10-20 19:16:28,823.823 INFO    ] Checking for camera pi updates...
[2026-10-20 19:16:28,856.856 INFO    ] 200
[2026-10-20 19:16:28,859.859 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:16:28,899.899 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:16:28,942.942 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:16:28,945.945 INFO    ] No camera update needed
[2026-10-20 19:16:28,947.947 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:16:28,950.950 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:16:28,955.955 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:16:28,960.960 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:16:31,002.002 INFO    ] ================================================
[2026-10-20 19:16:31,018.018 INFO    ] Launching Daemon at Tue Oct 20 19:16:31 IST 2026
[2026-10-20 19:16:31,029.029 INFO    ] ================================================
[2026-10-20 19:16:31,678.678 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:16:31
[2026-10-20 19:16:32,425.425 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:16:32,772.772 INFO    ] Initializing speech engine...
[2026-10-20 19:16:32,784.784 INFO    ] 2026-10-20 19:16:32
[2026-10-20 19:16:33,070.070 INFO    ] 2026-10-20 19:16:33
[2026-10-20 19:16:33,126.126 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:16:33,363.363 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:16:33,369.369 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:16:33,587.587 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:16:33,634.634 INFO    ] time= 20/10/2026 19:16:33
[2026-10-20 19:16:33,653.653 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:16:33,663.663 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:16:33,792.792 INFO    ] No existing commands found in stream
[2026-10-20 19:16:38,808.808 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:16:38,811.811 INFO    ] Waiting 0.50 seconds before fallback handling...
[2026-10-20 19:16:39,829.829 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 19:16:39,832.832 INFO    ] Checking for system updates...
[2026-10-20 19:16:39,870.870 INFO    ] 200
[2026-10-20 19:16:39,873.873 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:16:39,926.926 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:16:39,929.929 INFO    ] No update needed
[2026-10-20 19:16:39,932.932 INFO    ] Checking for camera pi updates...
[2026-10-20 19:16:39,973.973 INFO    ] 200
[2026-10-20 19:16:39,980.980 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:16:40,023.023 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:16:40,080.080 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:16:40,083.083 INFO    ] No camera update needed
[2026-10-20 19:16:40,086.086 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:16:40,089.089 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:16:40,095.095 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:16:40,101.101 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:16:42,141.141 INFO    ] ================================================
[2026-10-20 19:16:42,156.156 INFO    ] Launching Daemon at Tue Oct 20 19:16:42 IST 2026
[2026-10-20 19:16:42,167.167 INFO    ] ================================================
[2026-10-20 19:16:42,843.843 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:16:42
[2026-10-20 19:16:43,546.546 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:16:43,863.863 INFO    ] Initializing speech engine...
[2026-10-20 19:16:43,877.877 INFO    ] 2026-10-20 19:16:43
[2026-10-20 19:16:44,192.192 INFO    ] 2026-10-20 19:16:44
[2026-10-20 19:16:44,282.282 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:16:44,501.501 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:16:44,510.510 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:16:44,683.683 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:16:44,721.721 INFO    ] time= 20/10/2026 19:16:44
[2026-10-20 19:16:44,738.738 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:16:44,768.768 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:16:44,880.880 INFO    ] No existing commands found in stream
[2026-10-20 19:16:49,896.896 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:16:49,900.900 INFO    ] Waiting 3.08 seconds before fallback handling...
[2026-10-20 19:16:53,532.532 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:16:53,536.536 INFO    ] Checking for system updates...
[2026-10-20 19:16:53,572.572 INFO    ] 200
[2026-10-20 19:16:53,575.575 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:16:53,640.640 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:16:53,642.642 INFO    ] No update needed
[2026-10-20 19:16:53,644.644 INFO    ] Checking for camera pi updates...
[2026-10-20 19:16:53,677.677 INFO    ] 200
[2026-10-20 19:16:53,680.680 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:16:53,727.727 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:16:53,773.773 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:16:53,775.775 INFO    ] No camera update needed
[2026-10-20 19:16:53,778.778 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:16:53,780.780 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:16:53,785.785 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:16:53,790.790 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:16:55,829.829 INFO    ] ================================================
[2026-10-20 19:16:55,844.844 INFO    ] Launching Daemon at Tue Oct 20 19:16:55 IST 2026
[2026-10-20 19:16:55,855.855 INFO    ] ================================================
[2026-10-20 19:16:56,419.419 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:16:56
[2026-10-20 19:16:57,003.003 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:16:57,272.272 INFO    ] Initializing speech engine...
[2026-10-20 19:16:57,281.281 INFO    ] 2026-10-20 19:16:57
[2026-10-20 19:16:57,530.530 INFO    ] 2026-10-20 19:16:57
[2026-10-20 19:16:57,565.565 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:16:57,804.804 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:16:57,831.831 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:16:57,970.970 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:16:58,034.034 INFO    ] time= 20/10/2026 19:16:57
[2026-10-20 19:16:58,094.094 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:16:58,106.106 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:16:58,276.276 INFO    ] No existing commands found in stream
[2026-10-20 19:17:03,306.306 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:17:03,309.309 INFO    ] Waiting 3.55 seconds before fallback handling...
[2026-10-20 19:17:07,361.361 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 19:17:07,363.363 INFO    ] Checking for system updates...
[2026-10-20 19:17:07,398.398 INFO    ] 200
[2026-10-20 19:17:07,401.401 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:17:07,453.453 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:17:07,456.456 INFO    ] No update needed
[2026-10-20 19:17:07,458.458 INFO    ] Checking for camera pi updates...
[2026-10-20 19:17:07,491.491 INFO    ] 200
[2026-10-20 19:17:07,493.493 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:17:07,539.539 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:17:07,591.591 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:17:07,593.593 INFO    ] No camera update needed
[2026-10-20 19:17:07,596.596 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:17:07,598.598 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:17:07,603.603 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:17:07,608.608 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:17:09,654.654 INFO    ] ================================================
[2026-10-20 19:17:09,670.670 INFO    ] Launching Daemon at Tue Oct 20 19:17:09 IST 2026
[2026-10-20 19:17:09,681.681 INFO    ] ================================================
[2026-10-20 19:17:10,257.257 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:17:10
[2026-10-20 19:17:10,882.882 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:17:11,189.189 INFO    ] Initializing speech engine...
[2026-10-20 19:17:11,200.200 INFO    ] 2026-10-20 19:17:11
[2026-10-20 19:17:11,470.470 INFO    ] 2026-10-20 19:17:11
[2026-10-20 19:17:11,513.513 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:17:11,746.746 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:17:11,750.750 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:17:11,978.978 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:17:12,015.015 INFO    ] time= 20/10/2026 19:17:11
[2026-10-20 19:17:12,022.022 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:17:12,040.040 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:17:12,175.175 INFO    ] No existing commands found in stream
[2026-10-20 19:17:17,188.188 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:17:17,191.191 INFO    ] Waiting 1.38 seconds before fallback handling...
[2026-10-20 19:17:19,059.059 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:17:19,062.062 INFO    ] Checking for system updates...
[2026-10-20 19:17:19,098.098 INFO    ] 200
[2026-10-20 19:17:19,101.101 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:17:19,162.162 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:17:19,164.164 INFO    ] No update needed
[2026-10-20 19:17:19,166.166 INFO    ] Checking for camera pi updates...
[2026-10-20 19:17:19,199.199 INFO    ] 200
[2026-10-20 19:17:19,202.202 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:17:19,241.241 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:17:19,285.285 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:17:19,288.288 INFO    ] No camera update needed
[2026-10-20 19:17:19,290.290 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:17:19,293.293 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:17:19,298.298 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:17:19,303.303 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:17:21,346.346 INFO    ] ================================================
[2026-10-20 19:17:21,364.364 INFO    ] Launching Daemon at Tue Oct 20 19:17:21 IST 2026
[2026-10-20 19:17:21,377.377 INFO    ] ================================================
[2026-10-20 19:17:21,982.982 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:17:21
[2026-10-20 19:17:22,568.568 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:17:22,829.829 INFO    ] Initializing speech engine...
[2026-10-20 19:17:22,848.848 INFO    ] 2026-10-20 19:17:22
[2026-10-20 19:17:23,101.101 INFO    ] 2026-10-20 19:17:23
[2026-10-20 19:17:23,135.135 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:17:23,399.399 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:17:23,410.410 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:17:23,616.616 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:17:23,676.676 INFO    ] time= 20/10/2026 19:17:23
[2026-10-20 19:17:23,699.699 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:17:23,709.709 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:17:23,873.873 INFO    ] No existing commands found in stream
[2026-10-20 19:17:28,899.899 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:17:28,902.902 INFO    ] Waiting 1.23 seconds before fallback handling...
[2026-10-20 19:17:30,693.693 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:17:30,697.697 INFO    ] Checking for system updates...
[2026-10-20 19:17:30,739.739 INFO    ] 200
[2026-10-20 19:17:30,742.742 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:17:30,802.802 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:17:30,805.805 INFO    ] No update needed
[2026-10-20 19:17:30,808.808 INFO    ] Checking for camera pi updates...
[2026-10-20 19:17:30,848.848 INFO    ] 200
[2026-10-20 19:17:30,851.851 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:17:30,897.897 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:17:31,048.048 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:17:31,051.051 INFO    ] No camera update needed
[2026-10-20 19:17:31,054.054 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:17:31,056.056 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:17:31,063.063 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:17:31,069.069 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:17:33,109.109 INFO    ] ================================================
[2026-10-20 19:17:33,124.124 INFO    ] Launching Daemon at Tue Oct 20 19:17:33 IST 2026
[2026-10-20 19:17:33,135.135 INFO    ] ================================================
[2026-10-20 19:17:33,702.702 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:17:33
[2026-10-20 19:17:34,287.287 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:17:34,555.555 INFO    ] Initializing speech engine...
[2026-10-20 19:17:34,564.564 INFO    ] 2026-10-20 19:17:34
[2026-10-20 19:17:34,811.811 INFO    ] 2026-10-20 19:17:34
[2026-10-20 19:17:34,846.846 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:17:35,102.102 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:17:35,107.107 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:17:35,239.239 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:17:35,314.314 INFO    ] time= 20/10/2026 19:17:35
[2026-10-20 19:17:35,366.366 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:17:35,372.372 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:17:35,539.539 INFO    ] No existing commands found in stream
[2026-10-20 19:17:40,569.569 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:17:40,572.572 INFO    ] Waiting 2.95 seconds before fallback handling...
[2026-10-20 19:17:43,995.995 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:17:43,997.997 INFO    ] Checking for system updates...
[2026-10-20 19:17:44,033.033 INFO    ] 200
[2026-10-20 19:17:44,036.036 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:17:44,088.088 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:17:44,090.090 INFO    ] No update needed
[2026-10-20 19:17:44,093.093 INFO    ] Checking for camera pi updates...
[2026-10-20 19:17:44,131.131 INFO    ] 200
[2026-10-20 19:17:44,133.133 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:17:44,174.174 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:17:44,219.219 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:17:44,221.221 INFO    ] No camera update needed
[2026-10-20 19:17:44,224.224 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:17:44,226.226 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:17:44,231.231 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:17:44,236.236 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:17:46,276.276 INFO    ] ================================================
[2026-10-20 19:17:46,291.291 INFO    ] Launching Daemon at Tue Oct 20 19:17:46 IST 2026
[2026-10-20 19:17:46,302.302 INFO    ] ================================================
[2026-10-20 19:17:46,973.973 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:17:46
[2026-10-20 19:17:47,593.593 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:17:47,904.904 INFO    ] Initializing speech engine...
[2026-10-20 19:17:47,919.919 INFO    ] 2026-10-20 19:17:47
[2026-10-20 19:17:48,232.232 INFO    ] 2026-10-20 19:17:48
[2026-10-20 19:17:48,326.326 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:17:48,542.542 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:17:48,548.548 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:17:48,747.747 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:17:48,766.766 INFO    ] time= 20/10/2026 19:17:48
[2026-10-20 19:17:48,776.776 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:17:48,804.804 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:17:48,919.919 INFO    ] No existing commands found in stream
[2026-10-20 19:17:53,954.954 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:17:53,958.958 INFO    ] Waiting 2.28 seconds before fallback handling...
[2026-10-20 19:17:56,745.745 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:17:56,748.748 INFO    ] Checking for system updates...
[2026-10-20 19:17:56,789.789 INFO    ] 200
[2026-10-20 19:17:56,792.792 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:17:56,845.845 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:17:56,848.848 INFO    ] No update needed
[2026-10-20 19:17:56,851.851 INFO    ] Checking for camera pi updates...
[2026-10-20 19:17:56,886.886 INFO    ] 200
[2026-10-20 19:17:56,888.888 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:17:56,936.936 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:17:56,984.984 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:17:56,987.987 INFO    ] No camera update needed
[2026-10-20 19:17:56,990.990 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:17:56,992.992 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:17:56,999.999 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:17:57,005.005 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:17:59,046.046 INFO    ] ================================================
[2026-10-20 19:17:59,061.061 INFO    ] Launching Daemon at Tue Oct 20 19:17:59 IST 2026
[2026-10-20 19:17:59,072.072 INFO    ] ================================================
[2026-10-20 19:17:59,644.644 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:17:59
[2026-10-20 19:18:00,236.236 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:18:00,511.511 INFO    ] Initializing speech engine...
[2026-10-20 19:18:00,522.522 INFO    ] 2026-10-20 19:18:00
[2026-10-20 19:18:00,769.769 INFO    ] 2026-10-20 19:18:00
[2026-10-20 19:18:00,805.805 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:18:01,019.019 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:18:01,062.062 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:18:01,270.270 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:18:01,329.329 INFO    ] time= 20/10/2026 19:18:01
[2026-10-20 19:18:01,335.335 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:18:01,351.351 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:18:01,479.479 INFO    ] No existing commands found in stream
[2026-10-20 19:18:06,495.495 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:18:06,498.498 INFO    ] Waiting 0.41 seconds before fallback handling...
[2026-10-20 19:18:07,369.369 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:18:07,371.371 INFO    ] Checking for system updates...
[2026-10-20 19:18:07,407.407 INFO    ] 200
[2026-10-20 19:18:07,409.409 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:18:07,467.467 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:18:07,470.470 INFO    ] No update needed
[2026-10-20 19:18:07,472.472 INFO    ] Checking for camera pi updates...
[2026-10-20 19:18:07,506.506 INFO    ] 200
[2026-10-20 19:18:07,508.508 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:18:07,548.548 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:18:07,599.599 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:18:07,602.602 INFO    ] No camera update needed
[2026-10-20 19:18:07,604.604 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:18:07,606.606 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:18:07,612.612 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:18:07,617.617 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:18:09,656.656 INFO    ] ================================================
[2026-10-20 19:18:09,670.670 INFO    ] Launching Daemon at Tue Oct 20 19:18:09 IST 2026
[2026-10-20 19:18:09,681.681 INFO    ] ================================================
[2026-10-20 19:18:10,246.246 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:18:10
[2026-10-20 19:18:10,830.830 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:18:11,098.098 INFO    ] Initializing speech engine...
[2026-10-20 19:18:11,106.106 INFO    ] 2026-10-20 19:18:11
[2026-10-20 19:18:11,352.352 INFO    ] 2026-10-20 19:18:11
[2026-10-20 19:18:11,387.387 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:18:11,639.639 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:18:11,648.648 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:18:11,818.818 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:18:11,874.874 INFO    ] time= 20/10/2026 19:18:11
[2026-10-20 19:18:11,910.910 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:18:11,916.916 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:18:12,062.062 INFO    ] No existing commands found in stream
[2026-10-20 19:18:17,077.077 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:18:17,080.080 INFO    ] Waiting 2.98 seconds before fallback handling...
[2026-10-20 19:18:20,583.583 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 19:18:20,585.585 INFO    ] Checking for system updates...
[2026-10-20 19:18:20,621.621 INFO    ] 200
[2026-10-20 19:18:20,623.623 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:18:20,674.674 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:18:20,677.677 INFO    ] No update needed
[2026-10-20 19:18:20,679.679 INFO    ] Checking for camera pi updates...
[2026-10-20 19:18:20,712.712 INFO    ] 200
[2026-10-20 19:18:20,715.715 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:18:20,757.757 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:18:20,804.804 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:18:20,806.806 INFO    ] No camera update needed
[2026-10-20 19:18:20,808.808 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:18:20,811.811 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:18:20,816.816 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:18:20,821.821 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:18:22,860.860 INFO    ] ================================================
[2026-10-20 19:18:22,875.875 INFO    ] Launching Daemon at Tue Oct 20 19:18:22 IST 2026
[2026-10-20 19:18:22,885.885 INFO    ] ================================================
[2026-10-20 19:18:23,454.454 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:18:23
[2026-10-20 19:18:24,039.039 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:18:24,312.312 INFO    ] Initializing speech engine...
[2026-10-20 19:18:24,319.319 INFO    ] 2026-10-20 19:18:24
[2026-10-20 19:18:24,578.578 INFO    ] 2026-10-20 19:18:24
[2026-10-20 19:18:24,608.608 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:18:24,856.856 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:18:24,865.865 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:18:25,069.069 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:18:25,118.118 INFO    ] time= 20/10/2026 19:18:25
[2026-10-20 19:18:25,132.132 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:18:25,149.149 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:18:25,305.305 INFO    ] No existing commands found in stream
[2026-10-20 19:18:30,325.325 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:18:30,327.327 INFO    ] Waiting 1.97 seconds before fallback handling...
[2026-10-20 19:18:32,813.813 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:18:32,816.816 INFO    ] Checking for system updates...
[2026-10-20 19:18:32,860.860 INFO    ] 200
[2026-10-20 19:18:32,862.862 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:18:32,931.931 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:18:32,934.934 INFO    ] No update needed
[2026-10-20 19:18:32,936.936 INFO    ] Checking for camera pi updates...
[2026-10-20 19:18:32,970.970 INFO    ] 200
[2026-10-20 19:18:32,973.973 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:18:33,017.017 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:18:33,091.091 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:18:33,093.093 INFO    ] No camera update needed
[2026-10-20 19:18:33,095.095 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:18:33,097.097 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:18:33,103.103 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:18:33,107.107 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:18:35,149.149 INFO    ] ================================================
[2026-10-20 19:18:35,163.163 INFO    ] Launching Daemon at Tue Oct 20 19:18:35 IST 2026
[2026-10-20 19:18:35,174.174 INFO    ] ================================================
[2026-10-20 19:18:35,740.740 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:18:35
[2026-10-20 19:18:36,331.331 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:18:36,613.613 INFO    ] Initializing speech engine...
[2026-10-20 19:18:36,622.622 INFO    ] 2026-10-20 19:18:36
[2026-10-20 19:18:36,880.880 INFO    ] 2026-10-20 19:18:36
[2026-10-20 19:18:36,912.912 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:18:37,108.108 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:18:37,116.116 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:18:37,306.306 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:18:37,348.348 INFO    ] time= 20/10/2026 19:18:37
[2026-10-20 19:18:37,408.408 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:18:37,440.440 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:18:37,586.586 INFO    ] No existing commands found in stream
[2026-10-20 19:18:42,600.600 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:18:42,602.602 INFO    ] Waiting 1.82 seconds before fallback handling...
[2026-10-20 19:18:44,958.958 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:18:44,961.961 INFO    ] Checking for system updates...
[2026-10-20 19:18:44,996.996 INFO    ] 200
[2026-10-20 19:18:44,998.998 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:18:45,057.057 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:18:45,059.059 INFO    ] No update needed
[2026-10-20 19:18:45,062.062 INFO    ] Checking for camera pi updates...
[2026-10-20 19:18:45,098.098 INFO    ] 200
[2026-10-20 19:18:45,101.101 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:18:45,145.145 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:18:45,191.191 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:18:45,193.193 INFO    ] No camera update needed
[2026-10-20 19:18:45,195.195 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:18:45,197.197 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:18:45,203.203 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:18:45,208.208 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:18:47,248.248 INFO    ] ================================================
[2026-10-20 19:18:47,264.264 INFO    ] Launching Daemon at Tue Oct 20 19:18:47 IST 2026
[2026-10-20 19:18:47,279.279 INFO    ] ================================================
[2026-10-20 19:18:47,847.847 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:18:47
[2026-10-20 19:18:48,439.439 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:18:48,713.713 INFO    ] Initializing speech engine...
[2026-10-20 19:18:48,723.723 INFO    ] 2026-10-20 19:18:48
[2026-10-20 19:18:48,971.971 INFO    ] 2026-10-20 19:18:48
[2026-10-20 19:18:49,006.006 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:18:49,205.205 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:18:49,263.263 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:18:49,471.471 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:18:49,527.527 INFO    ] time= 20/10/2026 19:18:49
[2026-10-20 19:18:49,533.533 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:18:49,551.551 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:18:49,684.684 INFO    ] No existing commands found in stream
[2026-10-20 19:18:54,701.701 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:18:54,704.704 INFO    ] Waiting 1.50 seconds before fallback handling...
[2026-10-20 19:18:56,770.770 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:18:56,773.773 INFO    ] Checking for system updates...
[2026-10-20 19:18:56,810.810 INFO    ] 200
[2026-10-20 19:18:56,813.813 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:18:56,866.866 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:18:56,869.869 INFO    ] No update needed
[2026-10-20 19:18:56,872.872 INFO    ] Checking for camera pi updates...
[2026-10-20 19:18:56,907.907 INFO    ] 200
[2026-10-20 19:18:56,910.910 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:18:56,956.956 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:18:57,013.013 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:18:57,018.018 INFO    ] No camera update needed
[2026-10-20 19:18:57,021.021 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:18:57,024.024 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:18:57,029.029 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:18:57,034.034 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:18:59,074.074 INFO    ] ================================================
[2026-10-20 19:18:59,089.089 INFO    ] Launching Daemon at Tue Oct 20 19:18:59 IST 2026
[2026-10-20 19:18:59,100.100 INFO    ] ================================================
[2026-10-20 19:18:59,670.670 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:18:59
[2026-10-20 19:19:00,257.257 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:19:00,517.517 INFO    ] Initializing speech engine...
[2026-10-20 19:19:00,537.537 INFO    ] 2026-10-20 19:19:00
[2026-10-20 19:19:00,812.812 INFO    ] 2026-10-20 19:19:00
[2026-10-20 19:19:00,848.848 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:19:01,066.066 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:19:01,074.074 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:19:01,290.290 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:19:01,297.297 INFO    ] time= 20/10/2026 19:19:01
[2026-10-20 19:19:01,342.342 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:19:01,391.391 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:19:01,505.505 INFO    ] No existing commands found in stream
[2026-10-20 19:19:06,516.516 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:19:06,519.519 INFO    ] Waiting 3.97 seconds before fallback handling...
[2026-10-20 19:19:11,016.016 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:19:11,019.019 INFO    ] Checking for system updates...
[2026-10-20 19:19:11,059.059 INFO    ] 200
[2026-10-20 19:19:11,062.062 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:19:11,113.113 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:19:11,116.116 INFO    ] No update needed
[2026-10-20 19:19:11,118.118 INFO    ] Checking for camera pi updates...
[2026-10-20 19:19:11,151.151 INFO    ] 200
[2026-10-20 19:19:11,153.153 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:19:11,194.194 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:19:11,237.237 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:19:11,239.239 INFO    ] No camera update needed
[2026-10-20 19:19:11,241.241 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:19:11,244.244 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:19:11,249.249 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:19:11,254.254 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:19:13,293.293 INFO    ] ================================================
[2026-10-20 19:19:13,309.309 INFO    ] Launching Daemon at Tue Oct 20 19:19:13 IST 2026
[2026-10-20 19:19:13,320.320 INFO    ] ================================================
[2026-10-20 19:19:13,885.885 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:19:13
[2026-10-20 19:19:14,469.469 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:19:14,723.723 INFO    ] Initializing speech engine...
[2026-10-20 19:19:14,730.730 INFO    ] 2026-10-20 19:19:14
[2026-10-20 19:19:15,020.020 INFO    ] 2026-10-20 19:19:14
[2026-10-20 19:19:15,055.055 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:19:15,261.261 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:19:15,271.271 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:19:15,412.412 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:19:15,416.416 INFO    ] time= 20/10/2026 19:19:15
[2026-10-20 19:19:15,422.422 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:19:15,472.472 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:19:15,612.612 INFO    ] No existing commands found in stream
[2026-10-20 19:19:20,624.624 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:19:20,627.627 INFO    ] Waiting 1.35 seconds before fallback handling...
[2026-10-20 19:19:22,571.571 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:19:22,573.573 INFO    ] Checking for system updates...
[2026-10-20 19:19:22,609.609 INFO    ] 200
[2026-10-20 19:19:22,611.611 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:19:22,673.673 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:19:22,676.676 INFO    ] No update needed
[2026-10-20 19:19:22,678.678 INFO    ] Checking for camera pi updates...
[2026-10-20 19:19:22,714.714 INFO    ] 200
[2026-10-20 19:19:22,717.717 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:19:22,756.756 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:19:22,807.807 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:19:22,809.809 INFO    ] No camera update needed
[2026-10-20 19:19:22,812.812 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:19:22,815.815 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:19:22,821.821 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:19:22,826.826 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:19:24,866.866 INFO    ] ================================================
[2026-10-20 19:19:24,882.882 INFO    ] Launching Daemon at Tue Oct 20 19:19:24 IST 2026
[2026-10-20 19:19:24,894.894 INFO    ] ================================================
[2026-10-20 19:19:25,535.535 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:19:25
[2026-10-20 19:19:26,195.195 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:19:26,499.499 INFO    ] Initializing speech engine...
[2026-10-20 19:19:26,510.510 INFO    ] 2026-10-20 19:19:26
[2026-10-20 19:19:26,793.793 INFO    ] 2026-10-20 19:19:26
[2026-10-20 19:19:26,903.903 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:19:27,059.059 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:19:27,081.081 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:19:27,317.317 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:19:27,324.324 INFO    ] time= 20/10/2026 19:19:27
[2026-10-20 19:19:27,346.346 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:19:27,372.372 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:19:27,503.503 INFO    ] No existing commands found in stream
[2026-10-20 19:19:32,534.534 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:19:32,545.545 INFO    ] Waiting 1.01 seconds before fallback handling...
[2026-10-20 19:19:34,088.088 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:19:34,091.091 INFO    ] Checking for system updates...
[2026-10-20 19:19:34,127.127 INFO    ] 200
[2026-10-20 19:19:34,130.130 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:19:34,189.189 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:19:34,192.192 INFO    ] No update needed
[2026-10-20 19:19:34,195.195 INFO    ] Checking for camera pi updates...
[2026-10-20 19:19:34,229.229 INFO    ] 200
[2026-10-20 19:19:34,231.231 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:19:34,273.273 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:19:34,417.417 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:19:34,420.420 INFO    ] No camera update needed
[2026-10-20 19:19:34,423.423 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:19:34,426.426 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:19:34,432.432 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:19:34,438.438 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:19:36,479.479 INFO    ] ================================================
[2026-10-20 19:19:36,495.495 INFO    ] Launching Daemon at Tue Oct 20 19:19:36 IST 2026
[2026-10-20 19:19:36,506.506 INFO    ] ================================================
[2026-10-20 19:19:37,144.144 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:19:37
[2026-10-20 19:19:37,755.755 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:19:38,038.038 INFO    ] Initializing speech engine...
[2026-10-20 19:19:38,051.051 INFO    ] 2026-10-20 19:19:38
[2026-10-20 19:19:38,319.319 INFO    ] 2026-10-20 19:19:38
[2026-10-20 19:19:38,355.355 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:19:38,579.579 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:19:38,644.644 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:19:38,808.808 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:19:38,868.868 INFO    ] time= 20/10/2026 19:19:38
[2026-10-20 19:19:38,917.917 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:19:38,948.948 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:19:39,118.118 INFO    ] No existing commands found in stream
[2026-10-20 19:19:44,130.130 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:19:44,133.133 INFO    ] Waiting 0.25 seconds before fallback handling...
[2026-10-20 19:19:44,942.942 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:19:44,944.944 INFO    ] Checking for system updates...
[2026-10-20 19:19:44,979.979 INFO    ] 200
[2026-10-20 19:19:44,982.982 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:19:45,041.041 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:19:45,043.043 INFO    ] No update needed
[2026-10-20 19:19:45,046.046 INFO    ] Checking for camera pi updates...
[2026-10-20 19:19:45,079.079 INFO    ] 200
[2026-10-20 19:19:45,081.081 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:19:45,121.121 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:19:45,173.173 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:19:45,175.175 INFO    ] No camera update needed
[2026-10-20 19:19:45,178.178 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:19:45,180.180 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:19:45,186.186 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:19:45,191.191 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:19:47,233.233 INFO    ] ================================================
[2026-10-20 19:19:47,249.249 INFO    ] Launching Daemon at Tue Oct 20 19:19:47 IST 2026
[2026-10-20 19:19:47,261.261 INFO    ] ================================================
[2026-10-20 19:19:47,831.831 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:19:47
[2026-10-20 19:19:48,416.416 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:19:48,692.692 INFO    ] Initializing speech engine...
[2026-10-20 19:19:48,699.699 INFO    ] 2026-10-20 19:19:48
[2026-10-20 19:19:48,947.947 INFO    ] 2026-10-20 19:19:48
[2026-10-20 19:19:48,990.990 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:19:49,240.240 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:19:49,269.269 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:19:49,460.460 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:19:49,513.513 INFO    ] time= 20/10/2026 19:19:49
[2026-10-20 19:19:49,520.520 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:19:49,538.538 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:19:49,665.665 INFO    ] No existing commands found in stream
[2026-10-20 19:19:54,681.681 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:19:54,684.684 INFO    ] Waiting 1.94 seconds before fallback handling...
[2026-10-20 19:19:57,203.203 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:19:57,206.206 INFO    ] Checking for system updates...
[2026-10-20 19:19:57,242.242 INFO    ] 200
[2026-10-20 19:19:57,244.244 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:19:57,317.317 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:19:57,319.319 INFO    ] No update needed
[2026-10-20 19:19:57,322.322 INFO    ] Checking for camera pi updates...
[2026-10-20 19:19:57,355.355 INFO    ] 200
[2026-10-20 19:19:57,358.358 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:19:57,398.398 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:19:57,452.452 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:19:57,454.454 INFO    ] No camera update needed
[2026-10-20 19:19:57,457.457 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:19:57,459.459 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:19:57,464.464 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:19:57,469.469 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:19:59,510.510 INFO    ] ================================================
[2026-10-20 19:19:59,525.525 INFO    ] Launching Daemon at Tue Oct 20 19:19:59 IST 2026
[2026-10-20 19:19:59,537.537 INFO    ] ================================================
[2026-10-20 19:20:00,117.117 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:20:00
[2026-10-20 19:20:00,715.715 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:20:00,990.990 INFO    ] Initializing speech engine...
[2026-10-20 19:20:01,000.000 INFO    ] 2026-10-20 19:20:00
[2026-10-20 19:20:01,257.257 INFO    ] 2026-10-20 19:20:01
[2026-10-20 19:20:01,292.292 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:20:01,537.537 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:20:01,546.546 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:20:01,680.680 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:20:01,712.712 INFO    ] time= 20/10/2026 19:20:01
[2026-10-20 19:20:01,749.749 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:20:01,774.774 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:20:01,885.885 INFO    ] No existing commands found in stream
[2026-10-20 19:20:06,895.895 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:20:06,898.898 INFO    ] Waiting 2.12 seconds before fallback handling...
[2026-10-20 19:20:11,010.010 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:20:11,012.012 INFO    ] Checking for system updates...
[2026-10-20 19:20:11,048.048 INFO    ] 200
[2026-10-20 19:20:11,050.050 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:20:11,107.107 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:20:11,110.110 INFO    ] No update needed
[2026-10-20 19:20:11,112.112 INFO    ] Checking for camera pi updates...
[2026-10-20 19:20:11,145.145 INFO    ] 200
[2026-10-20 19:20:11,148.148 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:20:11,188.188 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:20:11,236.236 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:20:11,239.239 INFO    ] No camera update needed
[2026-10-20 19:20:11,241.241 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:20:11,244.244 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:20:11,249.249 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:20:11,254.254 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:20:13,294.294 INFO    ] ================================================
[2026-10-20 19:20:13,308.308 INFO    ] Launching Daemon at Tue Oct 20 19:20:13 IST 2026
[2026-10-20 19:20:13,319.319 INFO    ] ================================================
[2026-10-20 19:20:13,890.890 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:20:13
[2026-10-20 19:20:14,471.471 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:20:14,730.730 INFO    ] Initializing speech engine...
[2026-10-20 19:20:14,750.750 INFO    ] 2026-10-20 19:20:14
[2026-10-20 19:20:14,999.999 INFO    ] 2026-10-20 19:20:14
[2026-10-20 19:20:15,034.034 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:20:15,291.291 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:20:15,300.300 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:20:15,438.438 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:20:15,493.493 INFO    ] time= 20/10/2026 19:20:15
[2026-10-20 19:20:15,542.542 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:20:15,572.572 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:20:15,713.713 INFO    ] No existing commands found in stream
[2026-10-20 19:20:20,735.735 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:20:20,738.738 INFO    ] Waiting 2.30 seconds before fallback handling...
[2026-10-20 19:20:23,567.567 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:20:23,570.570 INFO    ] Checking for system updates...
[2026-10-20 19:20:23,609.609 INFO    ] 200
[2026-10-20 19:20:23,611.611 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:20:23,668.668 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:20:23,671.671 INFO    ] No update needed
[2026-10-20 19:20:23,673.673 INFO    ] Checking for camera pi updates...
[2026-10-20 19:20:23,706.706 INFO    ] 200
[2026-10-20 19:20:23,709.709 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:20:23,749.749 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:20:23,781.781 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:20:23,783.783 INFO    ] No camera update needed
[2026-10-20 19:20:23,785.785 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:20:23,788.788 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:20:23,793.793 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:20:23,798.798 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:20:25,839.839 INFO    ] ================================================
[2026-10-20 19:20:25,854.854 INFO    ] Launching Daemon at Tue Oct 20 19:20:25 IST 2026
[2026-10-20 19:20:25,864.864 INFO    ] ================================================
[2026-10-20 19:20:26,432.432 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:20:26
[2026-10-20 19:20:27,016.016 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:20:27,269.269 INFO    ] Initializing speech engine...
[2026-10-20 19:20:27,278.278 INFO    ] 2026-10-20 19:20:27
[2026-10-20 19:20:27,569.569 INFO    ] 2026-10-20 19:20:27
[2026-10-20 19:20:27,604.604 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:20:27,802.802 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:20:27,825.825 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:20:28,000.000 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:20:28,039.039 INFO    ] time= 20/10/2026 19:20:28
[2026-10-20 19:20:28,098.098 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:20:28,130.130 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:20:28,279.279 INFO    ] No existing commands found in stream
[2026-10-20 19:20:33,301.301 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:20:33,304.304 INFO    ] Waiting 2.96 seconds before fallback handling...
[2026-10-20 19:20:36,751.751 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:20:36,753.753 INFO    ] Checking for system updates...
[2026-10-20 19:20:36,789.789 INFO    ] 200
[2026-10-20 19:20:36,791.791 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:20:36,844.844 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:20:36,846.846 INFO    ] No update needed
[2026-10-20 19:20:36,849.849 INFO    ] Checking for camera pi updates...
[2026-10-20 19:20:36,882.882 INFO    ] 200
[2026-10-20 19:20:36,885.885 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:20:36,929.929 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:20:36,982.982 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:20:36,984.984 INFO    ] No camera update needed
[2026-10-20 19:20:36,986.986 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:20:36,988.988 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:20:36,994.994 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:20:36,999.999 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:20:39,038.038 INFO    ] ================================================
[2026-10-20 19:20:39,053.053 INFO    ] Launching Daemon at Tue Oct 20 19:20:39 IST 2026
[2026-10-20 19:20:39,064.064 INFO    ] ================================================
[2026-10-20 19:20:39,698.698 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:20:39
[2026-10-20 19:20:40,359.359 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:20:40,657.657 INFO    ] Initializing speech engine...
[2026-10-20 19:20:40,668.668 INFO    ] 2026-10-20 19:20:40
[2026-10-20 19:20:40,940.940 INFO    ] 2026-10-20 19:20:40
[2026-10-20 19:20:40,999.999 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:20:41,254.254 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:20:41,263.263 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:20:41,486.486 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:20:41,503.503 INFO    ] time= 20/10/2026 19:20:41
[2026-10-20 19:20:41,522.522 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:20:41,532.532 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:20:41,670.670 INFO    ] No existing commands found in stream
[2026-10-20 19:20:46,702.702 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:20:46,705.705 INFO    ] Waiting 3.39 seconds before fallback handling...
[2026-10-20 19:20:50,581.581 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:20:50,583.583 INFO    ] Checking for system updates...
[2026-10-20 19:20:50,622.622 INFO    ] 200
[2026-10-20 19:20:50,624.624 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:20:50,676.676 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:20:50,678.678 INFO    ] No update needed
[2026-10-20 19:20:50,681.681 INFO    ] Checking for camera pi updates...
[2026-10-20 19:20:50,714.714 INFO    ] 200
[2026-10-20 19:20:50,716.716 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:20:50,758.758 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:20:50,802.802 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:20:50,804.804 INFO    ] No camera update needed
[2026-10-20 19:20:50,807.807 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:20:50,809.809 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:20:50,814.814 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:20:50,819.819 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:20:52,859.859 INFO    ] ================================================
[2026-10-20 19:20:52,873.873 INFO    ] Launching Daemon at Tue Oct 20 19:20:52 IST 2026
[2026-10-20 19:20:52,884.884 INFO    ] ================================================
[2026-10-20 19:20:53,523.523 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:20:53
[2026-10-20 19:20:54,131.131 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:20:54,409.409 INFO    ] Initializing speech engine...
[2026-10-20 19:20:54,415.415 INFO    ] 2026-10-20 19:20:54
[2026-10-20 19:20:54,677.677 INFO    ] 2026-10-20 19:20:54
[2026-10-20 19:20:54,731.731 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:20:54,962.962 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:20:54,966.966 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:20:55,198.198 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:20:55,225.225 INFO    ] time= 20/10/2026 19:20:55
[2026-10-20 19:20:55,231.231 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:20:55,249.249 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:20:55,400.400 INFO    ] No existing commands found in stream
[2026-10-20 19:21:00,431.431 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:21:00,434.434 INFO    ] Waiting 2.75 seconds before fallback handling...
[2026-10-20 19:21:03,677.677 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:21:03,680.680 INFO    ] Checking for system updates...
[2026-10-20 19:21:03,718.718 INFO    ] 200
[2026-10-20 19:21:03,721.721 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:21:03,773.773 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:21:03,776.776 INFO    ] No update needed
[2026-10-20 19:21:03,778.778 INFO    ] Checking for camera pi updates...
[2026-10-20 19:21:03,812.812 INFO    ] 200
[2026-10-20 19:21:03,814.814 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:21:03,853.853 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:21:03,916.916 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:21:03,918.918 INFO    ] No camera update needed
[2026-10-20 19:21:03,921.921 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:21:03,923.923 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:21:03,928.928 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:21:03,933.933 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:21:05,973.973 INFO    ] ================================================
[2026-10-20 19:21:05,988.988 INFO    ] Launching Daemon at Tue Oct 20 19:21:05 IST 2026
[2026-10-20 19:21:06,999.999 INFO    ] ================================================
[2026-10-20 19:21:06,564.564 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:21:06
[2026-10-20 19:21:07,147.147 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:21:07,419.419 INFO    ] Initializing speech engine...
[2026-10-20 19:21:07,425.425 INFO    ] 2026-10-20 19:21:07
[2026-10-20 19:21:07,682.682 INFO    ] 2026-10-20 19:21:07
[2026-10-20 19:21:07,735.735 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:21:07,968.968 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:21:07,974.974 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:21:08,123.123 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:21:08,145.145 INFO    ] time= 20/10/2026 19:21:08
[2026-10-20 19:21:08,205.205 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:21:08,254.254 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:21:08,402.402 INFO    ] No existing commands found in stream
[2026-10-20 19:21:13,423.423 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:21:13,425.425 INFO    ] Waiting 2.15 seconds before fallback handling...
[2026-10-20 19:21:16,092.092 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 19:21:16,094.094 INFO    ] Checking for system updates...
[2026-10-20 19:21:16,130.130 INFO    ] 200
[2026-10-20 19:21:16,132.132 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:21:16,185.185 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:21:16,187.187 INFO    ] No update needed
[2026-10-20 19:21:16,189.189 INFO    ] Checking for camera pi updates...
[2026-10-20 19:21:16,225.225 INFO    ] 200
[2026-10-20 19:21:16,228.228 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:21:16,272.272 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:21:16,319.319 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:21:16,322.322 INFO    ] No camera update needed
[2026-10-20 19:21:16,324.324 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:21:16,327.327 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:21:16,333.333 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:21:16,338.338 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:21:18,381.381 INFO    ] ================================================
[2026-10-20 19:21:18,396.396 INFO    ] Launching Daemon at Tue Oct 20 19:21:18 IST 2026
[2026-10-20 19:21:18,407.407 INFO    ] ================================================
[2026-10-20 19:21:18,976.976 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:21:18
[2026-10-20 19:21:19,564.564 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:21:19,837.837 INFO    ] Initializing speech engine...
[2026-10-20 19:21:19,842.842 INFO    ] 2026-10-20 19:21:19
[2026-10-20 19:21:20,086.086 INFO    ] 2026-10-20 19:21:20
[2026-10-20 19:21:20,121.121 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:21:20,371.371 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:21:20,381.381 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:21:20,515.515 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:21:20,575.575 INFO    ] time= 20/10/2026 19:21:20
[2026-10-20 19:21:20,624.624 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:21:20,645.645 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:21:20,783.783 INFO    ] No existing commands found in stream
[2026-10-20 19:21:25,802.802 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:21:25,804.804 INFO    ] Waiting 2.47 seconds before fallback handling...
[2026-10-20 19:21:28,792.792 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:21:28,795.795 INFO    ] Checking for system updates...
[2026-10-20 19:21:28,835.835 INFO    ] 200
[2026-10-20 19:21:28,837.837 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:21:28,903.903 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:21:28,906.906 INFO    ] No update needed
[2026-10-20 19:21:28,908.908 INFO    ] Checking for camera pi updates...
[2026-10-20 19:21:28,943.943 INFO    ] 200
[2026-10-20 19:21:28,946.946 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:21:28,986.986 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:21:29,029.029 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:21:29,032.032 INFO    ] No camera update needed
[2026-10-20 19:21:29,034.034 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:21:29,037.037 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:21:29,043.043 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:21:29,048.048 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:21:31,088.088 INFO    ] ================================================
[2026-10-20 19:21:31,103.103 INFO    ] Launching Daemon at Tue Oct 20 19:21:31 IST 2026
[2026-10-20 19:21:31,114.114 INFO    ] ================================================
[2026-10-20 19:21:31,731.731 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:21:31
[2026-10-20 19:21:32,344.344 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:21:32,645.645 INFO    ] Initializing speech engine...
[2026-10-20 19:21:32,658.658 INFO    ] 2026-10-20 19:21:32
[2026-10-20 19:21:32,930.930 INFO    ] 2026-10-20 19:21:32
[2026-10-20 19:21:32,966.966 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:21:33,220.220 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:21:33,230.230 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:21:33,366.366 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:21:33,409.409 INFO    ] time= 20/10/2026 19:21:33
[2026-10-20 19:21:33,463.463 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:21:33,505.505 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:21:33,660.660 INFO    ] No existing commands found in stream
[2026-10-20 19:21:38,675.675 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:21:38,678.678 INFO    ] Waiting 2.86 seconds before fallback handling...
[2026-10-20 19:21:42,120.120 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:21:42,123.123 INFO    ] Checking for system updates...
[2026-10-20 19:21:42,162.162 INFO    ] 200
[2026-10-20 19:21:42,164.164 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:21:42,221.221 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:21:42,223.223 INFO    ] No update needed
[2026-10-20 19:21:42,226.226 INFO    ] Checking for camera pi updates...
[2026-10-20 19:21:42,260.260 INFO    ] 200
[2026-10-20 19:21:42,262.262 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:21:42,302.302 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:21:42,445.445 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:21:42,447.447 INFO    ] No camera update needed
[2026-10-20 19:21:42,450.450 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:21:42,452.452 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:21:42,458.458 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:21:42,463.463 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:21:44,502.502 INFO    ] ================================================
[2026-10-20 19:21:44,518.518 INFO    ] Launching Daemon at Tue Oct 20 19:21:44 IST 2026
[2026-10-20 19:21:44,529.529 INFO    ] ================================================
[2026-10-20 19:21:45,114.114 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:21:45
[2026-10-20 19:21:45,716.716 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:21:46,002.002 INFO    ] Initializing speech engine...
[2026-10-20 19:21:46,011.011 INFO    ] 2026-10-20 19:21:46
[2026-10-20 19:21:46,277.277 INFO    ] 2026-10-20 19:21:46
[2026-10-20 19:21:46,316.316 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:21:46,533.533 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:21:46,581.581 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:21:46,832.832 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:21:46,892.892 INFO    ] time= 20/10/2026 19:21:46
[2026-10-20 19:21:46,901.901 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:21:46,919.919 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:21:47,069.069 INFO    ] No existing commands found in stream
[2026-10-20 19:21:52,090.090 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:21:52,092.092 INFO    ] Waiting 2.46 seconds before fallback handling...
[2026-10-20 19:21:55,077.077 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 19:21:55,080.080 INFO    ] Checking for system updates...
[2026-10-20 19:21:55,115.115 INFO    ] 200
[2026-10-20 19:21:55,117.117 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:21:55,174.174 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:21:55,176.176 INFO    ] No update needed
[2026-10-20 19:21:55,179.179 INFO    ] Checking for camera pi updates...
[2026-10-20 19:21:55,213.213 INFO    ] 200
[2026-10-20 19:21:55,215.215 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:21:55,258.258 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:21:55,306.306 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:21:55,309.309 INFO    ] No camera update needed
[2026-10-20 19:21:55,311.311 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:21:55,313.313 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:21:55,319.319 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:21:55,325.325 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:21:57,365.365 INFO    ] ================================================
[2026-10-20 19:21:57,381.381 INFO    ] Launching Daemon at Tue Oct 20 19:21:57 IST 2026
[2026-10-20 19:21:57,392.392 INFO    ] ================================================
[2026-10-20 19:21:57,960.960 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:21:57
[2026-10-20 19:21:58,549.549 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:21:58,819.819 INFO    ] Initializing speech engine...
[2026-10-20 19:21:58,828.828 INFO    ] 2026-10-20 19:21:58
[2026-10-20 19:21:59,080.080 INFO    ] 2026-10-20 19:21:59
[2026-10-20 19:21:59,114.114 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:21:59,317.317 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:21:59,375.375 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:21:59,538.538 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:21:59,593.593 INFO    ] time= 20/10/2026 19:21:59
[2026-10-20 19:21:59,652.652 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:21:59,659.659 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:21:59,809.809 INFO    ] No existing commands found in stream
[2026-10-20 19:22:04,821.821 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:22:04,824.824 INFO    ] Waiting 3.85 seconds before fallback handling...
[2026-10-20 19:22:09,212.212 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 19:22:09,214.214 INFO    ] Checking for system updates...
[2026-10-20 19:22:09,250.250 INFO    ] 200
[2026-10-20 19:22:09,252.252 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:22:09,305.305 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:22:09,307.307 INFO    ] No update needed
[2026-10-20 19:22:09,310.310 INFO    ] Checking for camera pi updates...
[2026-10-20 19:22:09,343.343 INFO    ] 200
[2026-10-20 19:22:09,345.345 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:22:09,390.390 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:22:09,435.435 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:22:09,437.437 INFO    ] No camera update needed
[2026-10-20 19:22:09,439.439 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:22:09,442.442 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:22:09,448.448 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:22:09,453.453 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:22:11,493.493 INFO    ] ================================================
[2026-10-20 19:22:11,508.508 INFO    ] Launching Daemon at Tue Oct 20 19:22:11 IST 2026
[2026-10-20 19:22:11,520.520 INFO    ] ================================================
[2026-10-20 19:22:12,090.090 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:22:12
[2026-10-20 19:22:12,673.673 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:22:12,931.931 INFO    ] Initializing speech engine...
[2026-10-20 19:22:12,944.944 INFO    ] 2026-10-20 19:22:12
[2026-10-20 19:22:13,229.229 INFO    ] 2026-10-20 19:22:13
[2026-10-20 19:22:13,263.263 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:22:13,488.488 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:22:13,548.548 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:22:13,713.713 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:22:13,753.753 INFO    ] time= 20/10/2026 19:22:13
[2026-10-20 19:22:13,802.802 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:22:13,857.857 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:22:13,986.986 INFO    ] No existing commands found in stream
[2026-10-20 19:22:19,009.009 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:22:19,012.012 INFO    ] Waiting 0.95 seconds before fallback handling...
[2026-10-20 19:22:20,488.488 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:22:20,491.491 INFO    ] Checking for system updates...
[2026-10-20 19:22:20,530.530 INFO    ] 200
[2026-10-20 19:22:20,532.532 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:22:20,585.585 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:22:20,588.588 INFO    ] No update needed
[2026-10-20 19:22:20,590.590 INFO    ] Checking for camera pi updates...
[2026-10-20 19:22:20,624.624 INFO    ] 200
[2026-10-20 19:22:20,626.626 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:22:20,666.666 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:22:20,714.714 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:22:20,717.717 INFO    ] No camera update needed
[2026-10-20 19:22:20,719.719 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:22:20,721.721 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:22:20,727.727 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:22:20,732.732 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:22:22,772.772 INFO    ] ================================================
[2026-10-20 19:22:22,787.787 INFO    ] Launching Daemon at Tue Oct 20 19:22:22 IST 2026
[2026-10-20 19:22:22,798.798 INFO    ] ================================================
[2026-10-20 19:22:23,364.364 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:22:23
[2026-10-20 19:22:23,956.956 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:22:24,239.239 INFO    ] Initializing speech engine...
[2026-10-20 19:22:24,251.251 INFO    ] 2026-10-20 19:22:24
[2026-10-20 19:22:24,502.502 INFO    ] 2026-10-20 19:22:24
[2026-10-20 19:22:24,537.537 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:22:24,738.738 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:22:24,790.790 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:22:24,939.939 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:22:24,988.988 INFO    ] time= 20/10/2026 19:22:24
[2026-10-20 19:22:25,032.032 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:22:25,075.075 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:22:25,226.226 INFO    ] No existing commands found in stream
[2026-10-20 19:22:30,240.240 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:22:30,242.242 INFO    ] Waiting 2.21 seconds before fallback handling...
[2026-10-20 19:22:32,921.921 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 19:22:32,923.923 INFO    ] Checking for system updates...
[2026-10-20 19:22:32,959.959 INFO    ] 200
[2026-10-20 19:22:32,962.962 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:22:33,019.019 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:22:33,022.022 INFO    ] No update needed
[2026-10-20 19:22:33,025.025 INFO    ] Checking for camera pi updates...
[2026-10-20 19:22:33,061.061 INFO    ] 200
[2026-10-20 19:22:33,063.063 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:22:33,103.103 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:22:33,157.157 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:22:33,160.160 INFO    ] No camera update needed
[2026-10-20 19:22:33,163.163 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:22:33,165.165 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:22:33,170.170 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:22:33,176.176 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:22:35,216.216 INFO    ] ================================================
[2026-10-20 19:22:35,230.230 INFO    ] Launching Daemon at Tue Oct 20 19:22:35 IST 2026
[2026-10-20 19:22:35,241.241 INFO    ] ================================================
[2026-10-20 19:22:35,803.803 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:22:35
[2026-10-20 19:22:36,387.387 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:22:36,654.654 INFO    ] Initializing speech engine...
[2026-10-20 19:22:36,673.673 INFO    ] 2026-10-20 19:22:36
[2026-10-20 19:22:36,933.933 INFO    ] 2026-10-20 19:22:36
[2026-10-20 19:22:36,969.969 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:22:37,161.161 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:22:37,176.176 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:22:37,331.331 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:22:37,341.341 INFO    ] time= 20/10/2026 19:22:37
[2026-10-20 19:22:37,344.344 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:22:37,351.351 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:22:37,456.456 INFO    ] No existing commands found in stream
[2026-10-20 19:22:42,492.492 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:22:42,494.494 INFO    ] Waiting 3.77 seconds before fallback handling...
[2026-10-20 19:22:46,731.731 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 19:22:46,734.734 INFO    ] Checking for system updates...
[2026-10-20 19:22:46,770.770 INFO    ] 200
[2026-10-20 19:22:46,772.772 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:22:46,828.828 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:22:46,831.831 INFO    ] No update needed
[2026-10-20 19:22:46,833.833 INFO    ] Checking for camera pi updates...
[2026-10-20 19:22:46,869.869 INFO    ] 200
[2026-10-20 19:22:46,872.872 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:22:46,911.911 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:22:46,960.960 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:22:46,963.963 INFO    ] No camera update needed
[2026-10-20 19:22:46,965.965 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:22:46,967.967 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:22:46,973.973 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:22:46,978.978 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:22:49,017.017 INFO    ] ================================================
[2026-10-20 19:22:49,032.032 INFO    ] Launching Daemon at Tue Oct 20 19:22:49 IST 2026
[2026-10-20 19:22:49,042.042 INFO    ] ================================================
[2026-10-20 19:22:49,611.611 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:22:49
[2026-10-20 19:22:50,195.195 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:22:50,461.461 INFO    ] Initializing speech engine...
[2026-10-20 19:22:50,479.479 INFO    ] 2026-10-20 19:22:50
[2026-10-20 19:22:50,746.746 INFO    ] 2026-10-20 19:22:50
[2026-10-20 19:22:50,783.783 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:22:51,000.000 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:22:51,023.023 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:22:51,213.213 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:22:51,230.230 INFO    ] time= 20/10/2026 19:22:51
[2026-10-20 19:22:51,284.284 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:22:51,338.338 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:22:51,513.513 INFO    ] No existing commands found in stream
[2026-10-20 19:22:56,538.538 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:22:56,541.541 INFO    ] Waiting 3.64 seconds before fallback handling...
[2026-10-20 19:23:00,740.740 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 19:23:00,743.743 INFO    ] Checking for system updates...
[2026-10-20 19:23:00,781.781 INFO    ] 200
[2026-10-20 19:23:00,783.783 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:23:00,840.840 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:23:00,842.842 INFO    ] No update needed
[2026-10-20 19:23:00,844.844 INFO    ] Checking for camera pi updates...
[2026-10-20 19:23:00,878.878 INFO    ] 200
[2026-10-20 19:23:00,881.881 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:23:00,921.921 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:23:00,966.966 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:23:00,969.969 INFO    ] No camera update needed
[2026-10-20 19:23:00,971.971 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:23:00,974.974 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:23:00,979.979 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:23:00,984.984 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:23:03,026.026 INFO    ] ================================================
[2026-10-20 19:23:03,043.043 INFO    ] Launching Daemon at Tue Oct 20 19:23:03 IST 2026
[2026-10-20 19:23:03,063.063 INFO    ] ================================================
[2026-10-20 19:23:03,635.635 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:23:03
[2026-10-20 19:23:04,263.263 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:23:04,560.560 INFO    ] Initializing speech engine...
[2026-10-20 19:23:04,569.569 INFO    ] 2026-10-20 19:23:04
[2026-10-20 19:23:04,854.854 INFO    ] 2026-10-20 19:23:04
[2026-10-20 19:23:04,899.899 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:23:05,123.123 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:23:05,128.128 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:23:05,327.327 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:23:05,386.386 INFO    ] time= 20/10/2026 19:23:05
[2026-10-20 19:23:05,394.394 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:23:05,416.416 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:23:05,546.546 INFO    ] No existing commands found in stream
[2026-10-20 19:23:10,574.574 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:23:10,577.577 INFO    ] Waiting 0.07 seconds before fallback handling...
[2026-10-20 19:23:11,155.155 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:23:11,158.158 INFO    ] Checking for system updates...
[2026-10-20 19:23:11,195.195 INFO    ] 200
[2026-10-20 19:23:11,197.197 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:23:11,256.256 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:23:11,259.259 INFO    ] No update needed
[2026-10-20 19:23:11,261.261 INFO    ] Checking for camera pi updates...
[2026-10-20 19:23:11,295.295 INFO    ] 200
[2026-10-20 19:23:11,298.298 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:23:11,343.343 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:23:11,394.394 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:23:11,396.396 INFO    ] No camera update needed
[2026-10-20 19:23:11,399.399 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:23:11,402.402 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:23:11,408.408 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:23:11,413.413 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:23:13,456.456 INFO    ] ================================================
[2026-10-20 19:23:13,470.470 INFO    ] Launching Daemon at Tue Oct 20 19:23:13 IST 2026
[2026-10-20 19:23:13,481.481 INFO    ] ================================================
[2026-10-20 19:23:14,123.123 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:23:14
[2026-10-20 19:23:14,787.787 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:23:15,086.086 INFO    ] Initializing speech engine...
[2026-10-20 19:23:15,100.100 INFO    ] 2026-10-20 19:23:15
[2026-10-20 19:23:15,386.386 INFO    ] 2026-10-20 19:23:15
[2026-10-20 19:23:15,495.495 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:23:15,716.716 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:23:15,778.778 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:23:15,959.959 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:23:15,968.968 INFO    ] time= 20/10/2026 19:23:15
[2026-10-20 19:23:15,978.978 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:23:16,035.035 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:23:16,171.171 INFO    ] No existing commands found in stream
[2026-10-20 19:23:21,196.196 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:23:21,199.199 INFO    ] Waiting 0.54 seconds before fallback handling...
[2026-10-20 19:23:22,308.308 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:23:22,311.311 INFO    ] Checking for system updates...
[2026-10-20 19:23:22,351.351 INFO    ] 200
[2026-10-20 19:23:22,354.354 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:23:22,414.414 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:23:22,417.417 INFO    ] No update needed
[2026-10-20 19:23:22,420.420 INFO    ] Checking for camera pi updates...
[2026-10-20 19:23:22,457.457 INFO    ] 200
[2026-10-20 19:23:22,460.460 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:23:22,501.501 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:23:22,558.558 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:23:22,561.561 INFO    ] No camera update needed
[2026-10-20 19:23:22,564.564 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:23:22,567.567 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:23:22,573.573 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:23:22,578.578 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:23:24,619.619 INFO    ] ================================================
[2026-10-20 19:23:24,634.634 INFO    ] Launching Daemon at Tue Oct 20 19:23:24 IST 2026
[2026-10-20 19:23:24,645.645 INFO    ] ================================================
[2026-10-20 19:23:25,215.215 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:23:25
[2026-10-20 19:23:25,816.816 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:23:26,074.074 INFO    ] Initializing speech engine...
[2026-10-20 19:23:26,083.083 INFO    ] 2026-10-20 19:23:26
[2026-10-20 19:23:26,376.376 INFO    ] 2026-10-20 19:23:26
[2026-10-20 19:23:26,415.415 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:23:26,701.701 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:23:26,711.711 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:23:26,864.864 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:23:26,924.924 INFO    ] time= 20/10/2026 19:23:26
[2026-10-20 19:23:26,988.988 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:23:27,013.013 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:23:27,177.177 INFO    ] No existing commands found in stream
[2026-10-20 19:23:32,191.191 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:23:32,194.194 INFO    ] Waiting 0.65 seconds before fallback handling...
[2026-10-20 19:23:33,391.391 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 19:23:33,393.393 INFO    ] Checking for system updates...
[2026-10-20 19:23:33,432.432 INFO    ] 200
[2026-10-20 19:23:33,435.435 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:23:33,487.487 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:23:33,490.490 INFO    ] No update needed
[2026-10-20 19:23:33,493.493 INFO    ] Checking for camera pi updates...
[2026-10-20 19:23:33,527.527 INFO    ] 200
[2026-10-20 19:23:33,529.529 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:23:33,571.571 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:23:33,617.617 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:23:33,620.620 INFO    ] No camera update needed
[2026-10-20 19:23:33,622.622 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:23:33,624.624 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:23:33,630.630 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:23:33,635.635 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:23:35,675.675 INFO    ] ================================================
[2026-10-20 19:23:35,690.690 INFO    ] Launching Daemon at Tue Oct 20 19:23:35 IST 2026
[2026-10-20 19:23:35,701.701 INFO    ] ================================================
[2026-10-20 19:23:36,286.286 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:23:36
[2026-10-20 19:23:36,888.888 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:23:37,153.153 INFO    ] Initializing speech engine...
[2026-10-20 19:23:37,167.167 INFO    ] 2026-10-20 19:23:37
[2026-10-20 19:23:37,450.450 INFO    ] 2026-10-20 19:23:37
[2026-10-20 19:23:37,488.488 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:23:37,685.685 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:23:37,696.696 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:23:37,858.858 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:23:37,866.866 INFO    ] time= 20/10/2026 19:23:37
[2026-10-20 19:23:37,876.876 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:23:37,917.917 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:23:38,051.051 INFO    ] No existing commands found in stream
[2026-10-20 19:23:43,076.076 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:23:43,079.079 INFO    ] Waiting 2.86 seconds before fallback handling...
[2026-10-20 19:23:46,481.481 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 19:23:46,484.484 INFO    ] Checking for system updates...
[2026-10-20 19:23:46,520.520 INFO    ] 200
[2026-10-20 19:23:46,523.523 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:23:46,574.574 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:23:46,576.576 INFO    ] No update needed
[2026-10-20 19:23:46,579.579 INFO    ] Checking for camera pi updates...
[2026-10-20 19:23:46,612.612 INFO    ] 200
[2026-10-20 19:23:46,614.614 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:23:46,654.654 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:23:46,803.803 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:23:46,805.805 INFO    ] No camera update needed
[2026-10-20 19:23:46,807.807 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:23:46,810.810 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:23:46,815.815 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:23:46,820.820 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:23:48,859.859 INFO    ] ================================================
[2026-10-20 19:23:48,874.874 INFO    ] Launching Daemon at Tue Oct 20 19:23:48 IST 2026
[2026-10-20 19:23:48,885.885 INFO    ] ================================================
[2026-10-20 19:23:49,525.525 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:23:49
[2026-10-20 19:23:50,185.185 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:23:50,484.484 INFO    ] Initializing speech engine...
[2026-10-20 19:23:50,492.492 INFO    ] 2026-10-20 19:23:50
[2026-10-20 19:23:50,780.780 INFO    ] 2026-10-20 19:23:50
[2026-10-20 19:23:50,820.820 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:23:51,047.047 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:23:51,067.067 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:23:51,269.269 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:23:51,307.307 INFO    ] time= 20/10/2026 19:23:51
[2026-10-20 19:23:51,324.324 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:23:51,336.336 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:23:51,492.492 INFO    ] No existing commands found in stream
[2026-10-20 19:23:56,523.523 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:23:56,526.526 INFO    ] Waiting 3.83 seconds before fallback handling...
[2026-10-20 19:24:00,881.881 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 19:24:00,884.884 INFO    ] Checking for system updates...
[2026-10-20 19:24:00,921.921 INFO    ] 200
[2026-10-20 19:24:00,923.923 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:24:00,979.979 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:24:00,981.981 INFO    ] No update needed
[2026-10-20 19:24:00,984.984 INFO    ] Checking for camera pi updates...
[2026-10-20 19:24:01,017.017 INFO    ] 200
[2026-10-20 19:24:01,020.020 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:24:01,061.061 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:24:01,113.113 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:24:01,118.118 INFO    ] No camera update needed
[2026-10-20 19:24:01,125.125 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:24:01,129.129 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:24:01,142.142 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:24:01,155.155 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:24:03,200.200 INFO    ] ================================================
[2026-10-20 19:24:03,216.216 INFO    ] Launching Daemon at Tue Oct 20 19:24:03 IST 2026
[2026-10-20 19:24:03,227.227 INFO    ] ================================================
[2026-10-20 19:24:03,805.805 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:24:03
[2026-10-20 19:24:04,410.410 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:24:04,670.670 INFO    ] Initializing speech engine...
[2026-10-20 19:24:04,678.678 INFO    ] 2026-10-20 19:24:04
[2026-10-20 19:24:04,976.976 INFO    ] 2026-10-20 19:24:04
[2026-10-20 19:24:05,012.012 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:24:05,337.337 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:24:05,357.357 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:24:05,579.579 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:24:05,608.608 INFO    ] time= 20/10/2026 19:24:05
[2026-10-20 19:24:05,614.614 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:24:05,637.637 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:24:05,782.782 INFO    ] No existing commands found in stream
[2026-10-20 19:24:10,795.795 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:24:10,798.798 INFO    ] Waiting 3.30 seconds before fallback handling...
[2026-10-20 19:24:14,602.602 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:24:14,605.605 INFO    ] Checking for system updates...
[2026-10-20 19:24:14,642.642 INFO    ] 200
[2026-10-20 19:24:14,645.645 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:24:14,703.703 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:24:14,706.706 INFO    ] No update needed
[2026-10-20 19:24:14,709.709 INFO    ] Checking for camera pi updates...
[2026-10-20 19:24:14,743.743 INFO    ] 200
[2026-10-20 19:24:14,746.746 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:24:14,787.787 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:24:14,833.833 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:24:14,835.835 INFO    ] No camera update needed
[2026-10-20 19:24:14,838.838 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:24:14,841.841 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:24:14,847.847 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:24:14,854.854 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:24:16,894.894 INFO    ] ================================================
[2026-10-20 19:24:16,910.910 INFO    ] Launching Daemon at Tue Oct 20 19:24:16 IST 2026
[2026-10-20 19:24:16,922.922 INFO    ] ================================================
[2026-10-20 19:24:17,570.570 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:24:17
[2026-10-20 19:24:18,232.232 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:24:18,529.529 INFO    ] Initializing speech engine...
[2026-10-20 19:24:18,541.541 INFO    ] 2026-10-20 19:24:18
[2026-10-20 19:24:18,812.812 INFO    ] 2026-10-20 19:24:18
[2026-10-20 19:24:18,879.879 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:24:19,116.116 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:24:19,124.124 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:24:19,369.369 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:24:19,394.394 INFO    ] time= 20/10/2026 19:24:19
[2026-10-20 19:24:19,413.413 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:24:19,441.441 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:24:19,594.594 INFO    ] No existing commands found in stream
[2026-10-20 19:24:24,620.620 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:24:24,623.623 INFO    ] Waiting 0.61 seconds before fallback handling...
[2026-10-20 19:24:25,740.740 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:24:25,743.743 INFO    ] Checking for system updates...
[2026-10-20 19:24:25,780.780 INFO    ] 200
[2026-10-20 19:24:25,783.783 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:24:25,835.835 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:24:25,838.838 INFO    ] No update needed
[2026-10-20 19:24:25,841.841 INFO    ] Checking for camera pi updates...
[2026-10-20 19:24:25,875.875 INFO    ] 200
[2026-10-20 19:24:25,878.878 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:24:25,923.923 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:24:25,983.983 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:24:25,985.985 INFO    ] No camera update needed
[2026-10-20 19:24:25,988.988 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:24:25,991.991 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:24:25,997.997 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:24:26,003.003 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:24:28,044.044 INFO    ] ================================================
[2026-10-20 19:24:28,060.060 INFO    ] Launching Daemon at Tue Oct 20 19:24:28 IST 2026
[2026-10-20 19:24:28,071.071 INFO    ] ================================================
[2026-10-20 19:24:28,723.723 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:24:28
[2026-10-20 19:24:29,392.392 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:24:29,692.692 INFO    ] Initializing speech engine...
[2026-10-20 19:24:29,705.705 INFO    ] 2026-10-20 19:24:29
[2026-10-20 19:24:29,986.986 INFO    ] 2026-10-20 19:24:29
[2026-10-20 19:24:30,031.031 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:24:30,311.311 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:24:30,321.321 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:24:30,506.506 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:24:30,524.524 INFO    ] time= 20/10/2026 19:24:30
[2026-10-20 19:24:30,543.543 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:24:30,572.572 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:24:30,698.698 INFO    ] No existing commands found in stream
[2026-10-20 19:24:35,729.729 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:24:35,732.732 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-10-20 19:24:38,009.009 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:24:38,012.012 INFO    ] Checking for system updates...
[2026-10-20 19:24:38,055.055 INFO    ] 200
[2026-10-20 19:24:38,058.058 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:24:38,116.116 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:24:38,119.119 INFO    ] No update needed
[2026-10-20 19:24:38,122.122 INFO    ] Checking for camera pi updates...
[2026-10-20 19:24:38,156.156 INFO    ] 200
[2026-10-20 19:24:38,159.159 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:24:38,200.200 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:24:38,251.251 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:24:38,253.253 INFO    ] No camera update needed
[2026-10-20 19:24:38,255.255 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:24:38,258.258 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:24:38,263.263 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:24:38,269.269 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:24:40,311.311 INFO    ] ================================================
[2026-10-20 19:24:40,326.326 INFO    ] Launching Daemon at Tue Oct 20 19:24:40 IST 2026
[2026-10-20 19:24:40,338.338 INFO    ] ================================================
[2026-10-20 19:24:41,006.006 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:24:41
[2026-10-20 19:24:41,689.689 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:24:42,004.004 INFO    ] Initializing speech engine...
[2026-10-20 19:24:42,015.015 INFO    ] 2026-10-20 19:24:42
[2026-10-20 19:24:42,334.334 INFO    ] 2026-10-20 19:24:42
[2026-10-20 19:24:42,422.422 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:24:42,637.637 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:24:42,647.647 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:24:42,827.827 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:24:42,855.855 INFO    ] time= 20/10/2026 19:24:42
[2026-10-20 19:24:42,877.877 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:24:42,904.904 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:24:43,014.014 INFO    ] No existing commands found in stream
[2026-10-20 19:24:48,040.040 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:24:48,043.043 INFO    ] Waiting 1.50 seconds before fallback handling...
[2026-10-20 19:24:50,080.080 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:24:50,083.083 INFO    ] Checking for system updates...
[2026-10-20 19:24:50,120.120 INFO    ] 200
[2026-10-20 19:24:50,123.123 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:24:50,176.176 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:24:50,179.179 INFO    ] No update needed
[2026-10-20 19:24:50,182.182 INFO    ] Checking for camera pi updates...
[2026-10-20 19:24:50,216.216 INFO    ] 200
[2026-10-20 19:24:50,218.218 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:24:50,264.264 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:24:50,312.312 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:24:50,314.314 INFO    ] No camera update needed
[2026-10-20 19:24:50,317.317 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:24:50,319.319 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:24:50,324.324 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:24:50,329.329 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:24:52,371.371 INFO    ] ================================================
[2026-10-20 19:24:52,387.387 INFO    ] Launching Daemon at Tue Oct 20 19:24:52 IST 2026
[2026-10-20 19:24:52,397.397 INFO    ] ================================================
[2026-10-20 19:24:52,972.972 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:24:52
[2026-10-20 19:24:53,649.649 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:24:53,956.956 INFO    ] Initializing speech engine...
[2026-10-20 19:24:53,970.970 INFO    ] 2026-10-20 19:24:53
[2026-10-20 19:24:54,278.278 INFO    ] 2026-10-20 19:24:54
[2026-10-20 19:24:54,362.362 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:24:54,520.520 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:24:54,528.528 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:24:54,750.750 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:24:54,787.787 INFO    ] time= 20/10/2026 19:24:54
[2026-10-20 19:24:54,804.804 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:24:54,813.813 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:24:54,990.990 INFO    ] No existing commands found in stream
[2026-10-20 19:25:00,021.021 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:25:00,025.025 INFO    ] Waiting 1.32 seconds before fallback handling...
[2026-10-20 19:25:01,993.993 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:25:01,998.998 INFO    ] Checking for system updates...
[2026-10-20 19:25:02,043.043 INFO    ] 200
[2026-10-20 19:25:02,046.046 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:25:02,110.110 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:25:02,114.114 INFO    ] No update needed
[2026-10-20 19:25:02,117.117 INFO    ] Checking for camera pi updates...
[2026-10-20 19:25:02,162.162 INFO    ] 200
[2026-10-20 19:25:02,165.165 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:25:02,225.225 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:25:02,272.272 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:25:02,276.276 INFO    ] No camera update needed
[2026-10-20 19:25:02,279.279 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:25:02,283.283 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:25:02,291.291 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:25:02,299.299 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:25:04,342.342 INFO    ] ================================================
[2026-10-20 19:25:04,358.358 INFO    ] Launching Daemon at Tue Oct 20 19:25:04 IST 2026
[2026-10-20 19:25:04,369.369 INFO    ] ================================================
[2026-10-20 19:25:04,951.951 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:25:04
[2026-10-20 19:25:05,560.560 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:25:05,827.827 INFO    ] Initializing speech engine...
[2026-10-20 19:25:05,836.836 INFO    ] 2026-10-20 19:25:05
[2026-10-20 19:25:06,087.087 INFO    ] 2026-10-20 19:25:06
[2026-10-20 19:25:06,145.145 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:25:06,370.370 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:25:06,375.375 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:25:06,620.620 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:25:06,634.634 INFO    ] time= 20/10/2026 19:25:06
[2026-10-20 19:25:06,652.652 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:25:06,659.659 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:25:06,816.816 INFO    ] No existing commands found in stream
[2026-10-20 19:25:11,841.841 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:25:11,844.844 INFO    ] Waiting 0.88 seconds before fallback handling...
[2026-10-20 19:25:13,207.207 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:25:13,210.210 INFO    ] Checking for system updates...
[2026-10-20 19:25:13,246.246 INFO    ] 200
[2026-10-20 19:25:13,249.249 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:25:13,305.305 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:25:13,307.307 INFO    ] No update needed
[2026-10-20 19:25:13,310.310 INFO    ] Checking for camera pi updates...
[2026-10-20 19:25:13,346.346 INFO    ] 200
[2026-10-20 19:25:13,349.349 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:25:13,390.390 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:25:13,444.444 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:25:13,446.446 INFO    ] No camera update needed
[2026-10-20 19:25:13,448.448 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:25:13,451.451 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:25:13,456.456 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:25:13,461.461 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:25:15,502.502 INFO    ] ================================================
[2026-10-20 19:25:15,517.517 INFO    ] Launching Daemon at Tue Oct 20 19:25:15 IST 2026
[2026-10-20 19:25:15,527.527 INFO    ] ================================================
[2026-10-20 19:25:16,092.092 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:25:16
[2026-10-20 19:25:16,673.673 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:25:16,942.942 INFO    ] Initializing speech engine...
[2026-10-20 19:25:16,952.952 INFO    ] 2026-10-20 19:25:16
[2026-10-20 19:25:17,202.202 INFO    ] 2026-10-20 19:25:17
[2026-10-20 19:25:17,235.235 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:25:17,488.488 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:25:17,497.497 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:25:17,716.716 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:25:17,755.755 INFO    ] time= 20/10/2026 19:25:17
[2026-10-20 19:25:17,760.760 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:25:17,778.778 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:25:17,911.911 INFO    ] No existing commands found in stream
[2026-10-20 19:25:22,929.929 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:25:22,932.932 INFO    ] Waiting 1.37 seconds before fallback handling...
[2026-10-20 19:25:24,843.843 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:25:24,846.846 INFO    ] Checking for system updates...
[2026-10-20 19:25:24,882.882 INFO    ] 200
[2026-10-20 19:25:24,885.885 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:25:24,937.937 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:25:24,940.940 INFO    ] No update needed
[2026-10-20 19:25:24,943.943 INFO    ] Checking for camera pi updates...
[2026-10-20 19:25:24,977.977 INFO    ] 200
[2026-10-20 19:25:24,980.980 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:25:25,021.021 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:25:25,070.070 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:25:25,073.073 INFO    ] No camera update needed
[2026-10-20 19:25:25,076.076 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:25:25,078.078 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:25:25,085.085 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:25:25,090.090 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:25:27,133.133 INFO    ] ================================================
[2026-10-20 19:25:27,148.148 INFO    ] Launching Daemon at Tue Oct 20 19:25:27 IST 2026
[2026-10-20 19:25:27,159.159 INFO    ] ================================================
[2026-10-20 19:25:27,800.800 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:25:27
[2026-10-20 19:25:28,462.462 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:25:28,760.760 INFO    ] Initializing speech engine...
[2026-10-20 19:25:28,768.768 INFO    ] 2026-10-20 19:25:28
[2026-10-20 19:25:29,050.050 INFO    ] 2026-10-20 19:25:29
[2026-10-20 19:25:29,094.094 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:25:29,320.320 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:25:29,325.325 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:25:29,561.561 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:25:29,586.586 INFO    ] time= 20/10/2026 19:25:29
[2026-10-20 19:25:29,604.604 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:25:29,613.613 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:25:29,739.739 INFO    ] No existing commands found in stream
[2026-10-20 19:25:34,754.754 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:25:34,757.757 INFO    ] Waiting 3.01 seconds before fallback handling...
[2026-10-20 19:25:38,312.312 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 19:25:38,315.315 INFO    ] Checking for system updates...
[2026-10-20 19:25:38,352.352 INFO    ] 200
[2026-10-20 19:25:38,355.355 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:25:38,412.412 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:25:38,415.415 INFO    ] No update needed
[2026-10-20 19:25:38,417.417 INFO    ] Checking for camera pi updates...
[2026-10-20 19:25:38,451.451 INFO    ] 200
[2026-10-20 19:25:38,454.454 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:25:38,493.493 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:25:38,542.542 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:25:38,544.544 INFO    ] No camera update needed
[2026-10-20 19:25:38,547.547 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:25:38,549.549 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:25:38,554.554 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:25:38,559.559 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:25:40,600.600 INFO    ] ================================================
[2026-10-20 19:25:40,616.616 INFO    ] Launching Daemon at Tue Oct 20 19:25:40 IST 2026
[2026-10-20 19:25:40,627.627 INFO    ] ================================================
[2026-10-20 19:25:41,205.205 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:25:41
[2026-10-20 19:25:41,789.789 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:25:42,040.040 INFO    ] Initializing speech engine...
[2026-10-20 19:25:42,052.052 INFO    ] 2026-10-20 19:25:42
[2026-10-20 19:25:42,313.313 INFO    ] 2026-10-20 19:25:42
[2026-10-20 19:25:42,348.348 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:25:42,560.560 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:25:42,578.578 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:25:42,731.731 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:25:42,738.738 INFO    ] time= 20/10/2026 19:25:42
[2026-10-20 19:25:42,743.743 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:25:42,808.808 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:25:42,943.943 INFO    ] No existing commands found in stream
[2026-10-20 19:25:47,963.963 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:25:47,966.966 INFO    ] Waiting 3.59 seconds before fallback handling...
[2026-10-20 19:25:52,044.044 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:25:52,047.047 INFO    ] Checking for system updates...
[2026-10-20 19:25:52,086.086 INFO    ] 200
[2026-10-20 19:25:52,089.089 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:25:52,141.141 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:25:52,144.144 INFO    ] No update needed
[2026-10-20 19:25:52,147.147 INFO    ] Checking for camera pi updates...
[2026-10-20 19:25:52,181.181 INFO    ] 200
[2026-10-20 19:25:52,184.184 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:25:52,224.224 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:25:52,379.379 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:25:52,382.382 INFO    ] No camera update needed
[2026-10-20 19:25:52,384.384 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:25:52,387.387 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:25:52,393.393 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:25:52,399.399 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:25:54,441.441 INFO    ] ================================================
[2026-10-20 19:25:54,456.456 INFO    ] Launching Daemon at Tue Oct 20 19:25:54 IST 2026
[2026-10-20 19:25:54,467.467 INFO    ] ================================================
[2026-10-20 19:25:55,037.037 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:25:55
[2026-10-20 19:25:55,619.619 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:25:55,867.867 INFO    ] Initializing speech engine...
[2026-10-20 19:25:55,880.880 INFO    ] 2026-10-20 19:25:55
[2026-10-20 19:25:56,141.141 INFO    ] 2026-10-20 19:25:56
[2026-10-20 19:25:56,176.176 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:25:56,432.432 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:25:56,437.437 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:25:56,644.644 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:25:56,695.695 INFO    ] time= 20/10/2026 19:25:56
[2026-10-20 19:25:56,702.702 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:25:56,719.719 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:25:56,870.870 INFO    ] No existing commands found in stream
[2026-10-20 19:26:01,891.891 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:26:01,894.894 INFO    ] Waiting 1.27 seconds before fallback handling...
[2026-10-20 19:26:03,662.662 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 19:26:03,664.664 INFO    ] Checking for system updates...
[2026-10-20 19:26:03,700.700 INFO    ] 200
[2026-10-20 19:26:03,703.703 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:26:03,756.756 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:26:03,759.759 INFO    ] No update needed
[2026-10-20 19:26:03,761.761 INFO    ] Checking for camera pi updates...
[2026-10-20 19:26:03,795.795 INFO    ] 200
[2026-10-20 19:26:03,798.798 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:26:03,837.837 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:26:03,880.880 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:26:03,883.883 INFO    ] No camera update needed
[2026-10-20 19:26:03,885.885 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:26:03,887.887 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:26:03,893.893 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:26:03,898.898 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:26:05,938.938 INFO    ] ================================================
[2026-10-20 19:26:05,953.953 INFO    ] Launching Daemon at Tue Oct 20 19:26:05 IST 2026
[2026-10-20 19:26:05,964.964 INFO    ] ================================================
[2026-10-20 19:26:06,528.528 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:26:06
[2026-10-20 19:26:07,111.111 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:26:07,367.367 INFO    ] Initializing speech engine...
[2026-10-20 19:26:07,372.372 INFO    ] 2026-10-20 19:26:07
[2026-10-20 19:26:07,664.664 INFO    ] 2026-10-20 19:26:07
[2026-10-20 19:26:07,699.699 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:26:07,923.923 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:26:07,931.931 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:26:08,079.079 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:26:08,086.086 INFO    ] time= 20/10/2026 19:26:08
[2026-10-20 19:26:08,112.112 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:26:08,160.160 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:26:08,281.281 INFO    ] No existing commands found in stream
[2026-10-20 19:26:13,316.316 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:26:13,319.319 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-10-20 19:26:17,301.301 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:26:17,303.303 INFO    ] Checking for system updates...
[2026-10-20 19:26:17,338.338 INFO    ] 200
[2026-10-20 19:26:17,341.341 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:26:17,392.392 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:26:17,395.395 INFO    ] No update needed
[2026-10-20 19:26:17,397.397 INFO    ] Checking for camera pi updates...
[2026-10-20 19:26:17,434.434 INFO    ] 200
[2026-10-20 19:26:17,437.437 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:26:17,476.476 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:26:17,520.520 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:26:17,523.523 INFO    ] No camera update needed
[2026-10-20 19:26:17,525.525 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:26:17,527.527 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:26:17,532.532 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:26:17,537.537 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:26:19,578.578 INFO    ] ================================================
[2026-10-20 19:26:19,593.593 INFO    ] Launching Daemon at Tue Oct 20 19:26:19 IST 2026
[2026-10-20 19:26:19,604.604 INFO    ] ================================================
[2026-10-20 19:26:20,170.170 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:26:20
[2026-10-20 19:26:20,755.755 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:26:21,010.010 INFO    ] Initializing speech engine...
[2026-10-20 19:26:21,018.018 INFO    ] 2026-10-20 19:26:21
[2026-10-20 19:26:21,309.309 INFO    ] 2026-10-20 19:26:21
[2026-10-20 19:26:21,347.347 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:26:21,542.542 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:26:21,557.557 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:26:21,716.716 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:26:21,726.726 INFO    ] time= 20/10/2026 19:26:21
[2026-10-20 19:26:21,734.734 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:26:21,762.762 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:26:21,901.901 INFO    ] No existing commands found in stream
[2026-10-20 19:26:26,926.926 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:26:26,929.929 INFO    ] Waiting 1.88 seconds before fallback handling...
[2026-10-20 19:26:29,344.344 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:26:29,347.347 INFO    ] Checking for system updates...
[2026-10-20 19:26:29,382.382 INFO    ] 200
[2026-10-20 19:26:29,384.384 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:26:29,435.435 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:26:29,438.438 INFO    ] No update needed
[2026-10-20 19:26:29,440.440 INFO    ] Checking for camera pi updates...
[2026-10-20 19:26:29,473.473 INFO    ] 200
[2026-10-20 19:26:29,476.476 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:26:29,515.515 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:26:29,562.562 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:26:29,564.564 INFO    ] No camera update needed
[2026-10-20 19:26:29,567.567 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:26:29,570.570 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:26:29,576.576 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:26:29,581.581 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:26:31,622.622 INFO    ] ================================================
[2026-10-20 19:26:31,639.639 INFO    ] Launching Daemon at Tue Oct 20 19:26:31 IST 2026
[2026-10-20 19:26:31,651.651 INFO    ] ================================================
[2026-10-20 19:26:32,265.265 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:26:32
[2026-10-20 19:26:32,886.886 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:26:33,147.147 INFO    ] Initializing speech engine...
[2026-10-20 19:26:33,168.168 INFO    ] 2026-10-20 19:26:33
[2026-10-20 19:26:33,445.445 INFO    ] 2026-10-20 19:26:33
[2026-10-20 19:26:33,485.485 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:26:33,711.711 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:26:33,752.752 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:26:33,937.937 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:26:33,954.954 INFO    ] time= 20/10/2026 19:26:33
[2026-10-20 19:26:34,014.014 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:26:34,052.052 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:26:34,237.237 INFO    ] No existing commands found in stream
[2026-10-20 19:26:39,268.268 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:26:39,271.271 INFO    ] Waiting 0.15 seconds before fallback handling...
[2026-10-20 19:26:39,930.930 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:26:39,933.933 INFO    ] Checking for system updates...
[2026-10-20 19:26:39,969.969 INFO    ] 200
[2026-10-20 19:26:39,972.972 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:26:40,033.033 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:26:40,036.036 INFO    ] No update needed
[2026-10-20 19:26:40,039.039 INFO    ] Checking for camera pi updates...
[2026-10-20 19:26:40,073.073 INFO    ] 200
[2026-10-20 19:26:40,076.076 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:26:40,116.116 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:26:40,168.168 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:26:40,171.171 INFO    ] No camera update needed
[2026-10-20 19:26:40,174.174 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:26:40,176.176 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:26:40,182.182 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:26:40,188.188 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:26:42,231.231 INFO    ] ================================================
[2026-10-20 19:26:42,246.246 INFO    ] Launching Daemon at Tue Oct 20 19:26:42 IST 2026
[2026-10-20 19:26:42,257.257 INFO    ] ================================================
[2026-10-20 19:26:42,823.823 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:26:42
[2026-10-20 19:26:43,406.406 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:26:43,672.672 INFO    ] Initializing speech engine...
[2026-10-20 19:26:43,681.681 INFO    ] 2026-10-20 19:26:43
[2026-10-20 19:26:43,930.930 INFO    ] 2026-10-20 19:26:43
[2026-10-20 19:26:43,965.965 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:26:44,222.222 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:26:44,232.232 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:26:44,430.430 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:26:44,492.492 INFO    ] time= 20/10/2026 19:26:44
[2026-10-20 19:26:44,498.498 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:26:44,518.518 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:26:44,649.649 INFO    ] No existing commands found in stream
[2026-10-20 19:26:49,677.677 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:26:49,681.681 INFO    ] Waiting 0.54 seconds before fallback handling...
[2026-10-20 19:26:50,722.722 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:26:50,724.724 INFO    ] Checking for system updates...
[2026-10-20 19:26:50,759.759 INFO    ] 200
[2026-10-20 19:26:50,762.762 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:26:50,813.813 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:26:50,816.816 INFO    ] No update needed
[2026-10-20 19:26:50,819.819 INFO    ] Checking for camera pi updates...
[2026-10-20 19:26:50,853.853 INFO    ] 200
[2026-10-20 19:26:50,855.855 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:26:50,901.901 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:26:50,947.947 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:26:50,950.950 INFO    ] No camera update needed
[2026-10-20 19:26:50,952.952 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:26:50,954.954 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:26:50,960.960 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:26:50,965.965 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:26:53,004.004 INFO    ] ================================================
[2026-10-20 19:26:53,020.020 INFO    ] Launching Daemon at Tue Oct 20 19:26:53 IST 2026
[2026-10-20 19:26:53,030.030 INFO    ] ================================================
[2026-10-20 19:26:53,690.690 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:26:53
[2026-10-20 19:26:54,372.372 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:26:54,680.680 INFO    ] Initializing speech engine...
[2026-10-20 19:26:54,694.694 INFO    ] 2026-10-20 19:26:54
[2026-10-20 19:26:55,003.003 INFO    ] 2026-10-20 19:26:54
[2026-10-20 19:26:55,091.091 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:26:55,301.301 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:26:55,310.310 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:26:55,504.504 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:26:55,512.512 INFO    ] time= 20/10/2026 19:26:55
[2026-10-20 19:26:55,530.530 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:26:55,543.543 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:26:55,693.693 INFO    ] No existing commands found in stream
[2026-10-20 19:27:00,724.724 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:27:00,728.728 INFO    ] Waiting 2.76 seconds before fallback handling...
[2026-10-20 19:27:04,031.031 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:27:04,034.034 INFO    ] Checking for system updates...
[2026-10-20 19:27:04,076.076 INFO    ] 200
[2026-10-20 19:27:04,079.079 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:27:04,133.133 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:27:04,136.136 INFO    ] No update needed
[2026-10-20 19:27:04,138.138 INFO    ] Checking for camera pi updates...
[2026-10-20 19:27:04,172.172 INFO    ] 200
[2026-10-20 19:27:04,175.175 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:27:04,216.216 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:27:04,267.267 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:27:04,270.270 INFO    ] No camera update needed
[2026-10-20 19:27:04,273.273 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:27:04,275.275 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:27:04,281.281 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:27:04,287.287 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:27:06,327.327 INFO    ] ================================================
[2026-10-20 19:27:06,342.342 INFO    ] Launching Daemon at Tue Oct 20 19:27:06 IST 2026
[2026-10-20 19:27:06,353.353 INFO    ] ================================================
[2026-10-20 19:27:06,918.918 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:27:06
[2026-10-20 19:27:07,501.501 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:27:07,753.753 INFO    ] Initializing speech engine...
[2026-10-20 19:27:07,762.762 INFO    ] 2026-10-20 19:27:07
[2026-10-20 19:27:08,049.049 INFO    ] 2026-10-20 19:27:08
[2026-10-20 19:27:08,084.084 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:27:08,280.280 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:27:08,295.295 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:27:08,464.464 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:27:08,532.532 INFO    ] time= 20/10/2026 19:27:08
[2026-10-20 19:27:08,539.539 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:27:08,593.593 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:27:08,684.684 INFO    ] No existing commands found in stream
[2026-10-20 19:27:13,694.694 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:27:13,697.697 INFO    ] Waiting 3.53 seconds before fallback handling...
[2026-10-20 19:27:17,785.785 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:27:17,788.788 INFO    ] Checking for system updates...
[2026-10-20 19:27:17,824.824 INFO    ] 200
[2026-10-20 19:27:17,826.826 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:27:17,878.878 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:27:17,881.881 INFO    ] No update needed
[2026-10-20 19:27:17,883.883 INFO    ] Checking for camera pi updates...
[2026-10-20 19:27:17,916.916 INFO    ] 200
[2026-10-20 19:27:17,918.918 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:27:17,959.959 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:27:18,007.007 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:27:18,010.010 INFO    ] No camera update needed
[2026-10-20 19:27:18,012.012 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:27:18,015.015 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:27:18,020.020 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:27:18,025.025 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:27:20,065.065 INFO    ] ================================================
[2026-10-20 19:27:20,080.080 INFO    ] Launching Daemon at Tue Oct 20 19:27:20 IST 2026
[2026-10-20 19:27:20,092.092 INFO    ] ================================================
[2026-10-20 19:27:20,730.730 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:27:20
[2026-10-20 19:27:21,389.389 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:27:21,688.688 INFO    ] Initializing speech engine...
[2026-10-20 19:27:21,694.694 INFO    ] 2026-10-20 19:27:21
[2026-10-20 19:27:21,977.977 INFO    ] 2026-10-20 19:27:21
[2026-10-20 19:27:22,032.032 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:27:22,307.307 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:27:22,313.313 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:27:22,497.497 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:27:22,518.518 INFO    ] time= 20/10/2026 19:27:22
[2026-10-20 19:27:22,536.536 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:27:22,564.564 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:27:22,683.683 INFO    ] No existing commands found in stream
[2026-10-20 19:27:27,713.713 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:27:27,716.716 INFO    ] Waiting 1.28 seconds before fallback handling...
[2026-10-20 19:27:29,526.526 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:27:29,529.529 INFO    ] Checking for system updates...
[2026-10-20 19:27:29,566.566 INFO    ] 200
[2026-10-20 19:27:29,568.568 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:27:29,621.621 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:27:29,624.624 INFO    ] No update needed
[2026-10-20 19:27:29,626.626 INFO    ] Checking for camera pi updates...
[2026-10-20 19:27:29,664.664 INFO    ] 200
[2026-10-20 19:27:29,666.666 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:27:29,707.707 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:27:29,755.755 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:27:29,757.757 INFO    ] No camera update needed
[2026-10-20 19:27:29,761.761 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:27:29,763.763 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:27:29,769.769 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:27:29,775.775 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:27:31,819.819 INFO    ] ================================================
[2026-10-20 19:27:31,836.836 INFO    ] Launching Daemon at Tue Oct 20 19:27:31 IST 2026
[2026-10-20 19:27:31,848.848 INFO    ] ================================================
[2026-10-20 19:27:32,527.527 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:27:32
[2026-10-20 19:27:33,184.184 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:27:33,482.482 INFO    ] Initializing speech engine...
[2026-10-20 19:27:33,490.490 INFO    ] 2026-10-20 19:27:33
[2026-10-20 19:27:33,777.777 INFO    ] 2026-10-20 19:27:33
[2026-10-20 19:27:33,823.823 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:27:34,110.110 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:27:34,119.119 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:27:34,319.319 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:27:34,370.370 INFO    ] time= 20/10/2026 19:27:34
[2026-10-20 19:27:34,379.379 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:27:34,389.389 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:27:34,515.515 INFO    ] No existing commands found in stream
[2026-10-20 19:27:39,541.541 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:27:39,544.544 INFO    ] Waiting 0.32 seconds before fallback handling...
[2026-10-20 19:27:40,422.422 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:27:40,425.425 INFO    ] Checking for system updates...
[2026-10-20 19:27:40,461.461 INFO    ] 200
[2026-10-20 19:27:40,464.464 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:27:40,517.517 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:27:40,520.520 INFO    ] No update needed
[2026-10-20 19:27:40,523.523 INFO    ] Checking for camera pi updates...
[2026-10-20 19:27:40,563.563 INFO    ] 200
[2026-10-20 19:27:40,566.566 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:27:40,607.607 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:27:40,654.654 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:27:40,657.657 INFO    ] No camera update needed
[2026-10-20 19:27:40,660.660 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:27:40,662.662 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:27:40,668.668 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:27:40,674.674 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:27:42,715.715 INFO    ] ================================================
[2026-10-20 19:27:42,730.730 INFO    ] Launching Daemon at Tue Oct 20 19:27:42 IST 2026
[2026-10-20 19:27:42,740.740 INFO    ] ================================================
[2026-10-20 19:27:43,378.378 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:27:43
[2026-10-20 19:27:44,036.036 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:27:44,338.338 INFO    ] Initializing speech engine...
[2026-10-20 19:27:44,349.349 INFO    ] 2026-10-20 19:27:44
[2026-10-20 19:27:44,626.626 INFO    ] 2026-10-20 19:27:44
[2026-10-20 19:27:44,729.729 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:27:44,942.942 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:27:44,955.955 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:27:45,151.151 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:27:45,170.170 INFO    ] time= 20/10/2026 19:27:45
[2026-10-20 19:27:45,179.179 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:27:45,207.207 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:27:45,336.336 INFO    ] No existing commands found in stream
[2026-10-20 19:27:50,362.362 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:27:50,365.365 INFO    ] Waiting 0.71 seconds before fallback handling...
[2026-10-20 19:27:51,603.603 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:27:51,606.606 INFO    ] Checking for system updates...
[2026-10-20 19:27:51,643.643 INFO    ] 200
[2026-10-20 19:27:51,646.646 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:27:51,698.698 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:27:51,701.701 INFO    ] No update needed
[2026-10-20 19:27:51,703.703 INFO    ] Checking for camera pi updates...
[2026-10-20 19:27:51,737.737 INFO    ] 200
[2026-10-20 19:27:51,740.740 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:27:51,781.781 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:27:51,833.833 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:27:51,836.836 INFO    ] No camera update needed
[2026-10-20 19:27:51,839.839 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:27:51,842.842 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:27:51,848.848 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:27:51,853.853 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:27:53,895.895 INFO    ] ================================================
[2026-10-20 19:27:53,910.910 INFO    ] Launching Daemon at Tue Oct 20 19:27:53 IST 2026
[2026-10-20 19:27:53,920.920 INFO    ] ================================================
[2026-10-20 19:27:54,489.489 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:27:54
[2026-10-20 19:27:55,076.076 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:27:55,326.326 INFO    ] Initializing speech engine...
[2026-10-20 19:27:55,335.335 INFO    ] 2026-10-20 19:27:55
[2026-10-20 19:27:55,628.628 INFO    ] 2026-10-20 19:27:55
[2026-10-20 19:27:55,665.665 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:27:55,884.884 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:27:55,907.907 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:27:56,109.109 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:27:56,121.121 INFO    ] time= 20/10/2026 19:27:56
[2026-10-20 19:27:56,185.185 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:27:56,234.234 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:27:56,389.389 INFO    ] No existing commands found in stream
[2026-10-20 19:28:01,407.407 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:28:01,411.411 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-10-20 19:28:03,910.910 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:28:03,913.913 INFO    ] Checking for system updates...
[2026-10-20 19:28:03,948.948 INFO    ] 200
[2026-10-20 19:28:03,951.951 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:28:04,004.004 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:28:04,006.006 INFO    ] No update needed
[2026-10-20 19:28:04,009.009 INFO    ] Checking for camera pi updates...
[2026-10-20 19:28:04,042.042 INFO    ] 200
[2026-10-20 19:28:04,044.044 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:28:04,085.085 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:28:04,117.117 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:28:04,120.120 INFO    ] No camera update needed
[2026-10-20 19:28:04,122.122 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:28:04,125.125 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:28:04,131.131 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:28:04,137.137 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:28:06,177.177 INFO    ] ================================================
[2026-10-20 19:28:06,192.192 INFO    ] Launching Daemon at Tue Oct 20 19:28:06 IST 2026
[2026-10-20 19:28:06,203.203 INFO    ] ================================================
[2026-10-20 19:28:06,796.796 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:28:06
[2026-10-20 19:28:07,464.464 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:28:07,770.770 INFO    ] Initializing speech engine...
[2026-10-20 19:28:07,785.785 INFO    ] 2026-10-20 19:28:07
[2026-10-20 19:28:08,075.075 INFO    ] 2026-10-20 19:28:08
[2026-10-20 19:28:08,186.186 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:28:08,365.365 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:28:08,374.374 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:28:08,601.601 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:28:08,618.618 INFO    ] time= 20/10/2026 19:28:08
[2026-10-20 19:28:08,637.637 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:28:08,667.667 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:28:08,782.782 INFO    ] No existing commands found in stream
[2026-10-20 19:28:13,807.807 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:28:13,810.810 INFO    ] Waiting 3.19 seconds before fallback handling...
[2026-10-20 19:28:17,554.554 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:28:17,557.557 INFO    ] Checking for system updates...
[2026-10-20 19:28:17,594.594 INFO    ] 200
[2026-10-20 19:28:17,596.596 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:28:17,650.650 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:28:17,653.653 INFO    ] No update needed
[2026-10-20 19:28:17,655.655 INFO    ] Checking for camera pi updates...
[2026-10-20 19:28:17,690.690 INFO    ] 200
[2026-10-20 19:28:17,693.693 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:28:17,734.734 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:28:17,781.781 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:28:17,784.784 INFO    ] No camera update needed
[2026-10-20 19:28:17,787.787 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:28:17,789.789 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:28:17,796.796 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:28:17,802.802 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:28:19,844.844 INFO    ] ================================================
[2026-10-20 19:28:19,859.859 INFO    ] Launching Daemon at Tue Oct 20 19:28:19 IST 2026
[2026-10-20 19:28:19,870.870 INFO    ] ================================================
[2026-10-20 19:28:20,450.450 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:28:20
[2026-10-20 19:28:21,052.052 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:28:21,325.325 INFO    ] Initializing speech engine...
[2026-10-20 19:28:21,335.335 INFO    ] 2026-10-20 19:28:21
[2026-10-20 19:28:21,584.584 INFO    ] 2026-10-20 19:28:21
[2026-10-20 19:28:21,619.619 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:28:21,875.875 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:28:21,880.880 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:28:22,061.061 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:28:22,110.110 INFO    ] time= 20/10/2026 19:28:22
[2026-10-20 19:28:22,143.143 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:28:22,149.149 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:28:22,296.296 INFO    ] No existing commands found in stream
[2026-10-20 19:28:27,315.315 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:28:27,318.318 INFO    ] Waiting 2.34 seconds before fallback handling...
[2026-10-20 19:28:30,205.205 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:28:30,207.207 INFO    ] Checking for system updates...
[2026-10-20 19:28:30,243.243 INFO    ] 200
[2026-10-20 19:28:30,245.245 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:28:30,297.297 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:28:30,299.299 INFO    ] No update needed
[2026-10-20 19:28:30,302.302 INFO    ] Checking for camera pi updates...
[2026-10-20 19:28:30,339.339 INFO    ] 200
[2026-10-20 19:28:30,341.341 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:28:30,386.386 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:28:30,430.430 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:28:30,433.433 INFO    ] No camera update needed
[2026-10-20 19:28:30,435.435 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:28:30,437.437 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:28:30,443.443 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:28:30,447.447 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:28:32,490.490 INFO    ] ================================================
[2026-10-20 19:28:32,506.506 INFO    ] Launching Daemon at Tue Oct 20 19:28:32 IST 2026
[2026-10-20 19:28:32,517.517 INFO    ] ================================================
[2026-10-20 19:28:33,106.106 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:28:33
[2026-10-20 19:28:33,712.712 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:28:33,988.988 INFO    ] Initializing speech engine...
[2026-10-20 19:28:33,997.997 INFO    ] 2026-10-20 19:28:33
[2026-10-20 19:28:34,261.261 INFO    ] 2026-10-20 19:28:34
[2026-10-20 19:28:34,317.317 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:28:34,603.603 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:28:34,609.609 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:28:34,796.796 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:28:34,811.811 INFO    ] time= 20/10/2026 19:28:34
[2026-10-20 19:28:34,828.828 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:28:34,857.857 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:28:34,979.979 INFO    ] No existing commands found in stream
[2026-10-20 19:28:40,004.004 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:28:40,007.007 INFO    ] Waiting 0.65 seconds before fallback handling...
[2026-10-20 19:28:41,233.233 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:28:41,237.237 INFO    ] Checking for system updates...
[2026-10-20 19:28:41,275.275 INFO    ] 200
[2026-10-20 19:28:41,277.277 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:28:41,330.330 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:28:41,333.333 INFO    ] No update needed
[2026-10-20 19:28:41,336.336 INFO    ] Checking for camera pi updates...
[2026-10-20 19:28:41,370.370 INFO    ] 200
[2026-10-20 19:28:41,373.373 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:28:41,419.419 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:28:41,469.469 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:28:41,472.472 INFO    ] No camera update needed
[2026-10-20 19:28:41,475.475 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:28:41,478.478 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:28:41,485.485 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:28:41,492.492 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:28:43,533.533 INFO    ] ================================================
[2026-10-20 19:28:43,549.549 INFO    ] Launching Daemon at Tue Oct 20 19:28:43 IST 2026
[2026-10-20 19:28:43,559.559 INFO    ] ================================================
[2026-10-20 19:28:44,223.223 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:28:44
[2026-10-20 19:28:44,882.882 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:28:45,162.162 INFO    ] Initializing speech engine...
[2026-10-20 19:28:45,168.168 INFO    ] 2026-10-20 19:28:45
[2026-10-20 19:28:45,428.428 INFO    ] 2026-10-20 19:28:45
[2026-10-20 19:28:45,458.458 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:28:45,704.704 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:28:45,713.713 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:28:45,847.847 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:28:45,912.912 INFO    ] time= 20/10/2026 19:28:45
[2026-10-20 19:28:45,974.974 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:28:45,981.981 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:28:46,131.131 INFO    ] No existing commands found in stream
[2026-10-20 19:28:51,157.157 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:28:51,160.160 INFO    ] Waiting 2.30 seconds before fallback handling...
[2026-10-20 19:28:53,997.997 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:28:54,000.000 INFO    ] Checking for system updates...
[2026-10-20 19:28:54,057.057 INFO    ] 200
[2026-10-20 19:28:54,062.062 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:28:54,144.144 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:28:54,147.147 INFO    ] No update needed
[2026-10-20 19:28:54,149.149 INFO    ] Checking for camera pi updates...
[2026-10-20 19:28:54,184.184 INFO    ] 200
[2026-10-20 19:28:54,186.186 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:28:54,232.232 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:28:54,280.280 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:28:54,282.282 INFO    ] No camera update needed
[2026-10-20 19:28:54,285.285 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:28:54,287.287 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:28:54,292.292 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:28:54,298.298 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:28:56,340.340 INFO    ] ================================================
[2026-10-20 19:28:56,356.356 INFO    ] Launching Daemon at Tue Oct 20 19:28:56 IST 2026
[2026-10-20 19:28:56,366.366 INFO    ] ================================================
[2026-10-20 19:28:56,931.931 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:28:56
[2026-10-20 19:28:57,512.512 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:28:57,782.782 INFO    ] Initializing speech engine...
[2026-10-20 19:28:57,790.790 INFO    ] 2026-10-20 19:28:57
[2026-10-20 19:28:58,040.040 INFO    ] 2026-10-20 19:28:58
[2026-10-20 19:28:58,074.074 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:28:58,331.331 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:28:58,340.340 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:28:58,478.478 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:28:58,538.538 INFO    ] time= 20/10/2026 19:28:58
[2026-10-20 19:28:58,592.592 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:28:58,612.612 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:28:58,738.738 INFO    ] No existing commands found in stream
[2026-10-20 19:29:03,761.761 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:29:03,764.764 INFO    ] Waiting 2.20 seconds before fallback handling...
[2026-10-20 19:29:06,487.487 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:29:06,490.490 INFO    ] Checking for system updates...
[2026-10-20 19:29:06,525.525 INFO    ] 200
[2026-10-20 19:29:06,527.527 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:29:06,588.588 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:29:06,591.591 INFO    ] No update needed
[2026-10-20 19:29:06,593.593 INFO    ] Checking for camera pi updates...
[2026-10-20 19:29:06,630.630 INFO    ] 200
[2026-10-20 19:29:06,632.632 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:29:06,672.672 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:29:06,717.717 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:29:06,720.720 INFO    ] No camera update needed
[2026-10-20 19:29:06,722.722 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:29:06,724.724 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:29:06,729.729 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:29:06,734.734 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:29:08,776.776 INFO    ] ================================================
[2026-10-20 19:29:08,790.790 INFO    ] Launching Daemon at Tue Oct 20 19:29:08 IST 2026
[2026-10-20 19:29:08,801.801 INFO    ] ================================================
[2026-10-20 19:29:09,370.370 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:29:09
[2026-10-20 19:29:09,958.958 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:29:10,215.215 INFO    ] Initializing speech engine...
[2026-10-20 19:29:10,228.228 INFO    ] 2026-10-20 19:29:10
[2026-10-20 19:29:10,523.523 INFO    ] 2026-10-20 19:29:10
[2026-10-20 19:29:10,559.559 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:29:10,758.758 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:29:10,774.774 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:29:10,936.936 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:29:10,945.945 INFO    ] time= 20/10/2026 19:29:10
[2026-10-20 19:29:10,949.949 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:29:10,955.955 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:29:11,033.033 INFO    ] No existing commands found in stream
[2026-10-20 19:29:16,063.063 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:29:16,065.065 INFO    ] Waiting 1.82 seconds before fallback handling...
[2026-10-20 19:29:18,380.380 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:29:18,383.383 INFO    ] Checking for system updates...
[2026-10-20 19:29:18,418.418 INFO    ] 200
[2026-10-20 19:29:18,421.421 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:29:18,472.472 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:29:18,475.475 INFO    ] No update needed
[2026-10-20 19:29:18,477.477 INFO    ] Checking for camera pi updates...
[2026-10-20 19:29:18,511.511 INFO    ] 200
[2026-10-20 19:29:18,513.513 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:29:18,558.558 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:29:18,619.619 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:29:18,622.622 INFO    ] No camera update needed
[2026-10-20 19:29:18,624.624 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:29:18,626.626 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:29:18,632.632 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:29:18,637.637 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:29:20,679.679 INFO    ] ================================================
[2026-10-20 19:29:20,695.695 INFO    ] Launching Daemon at Tue Oct 20 19:29:20 IST 2026
[2026-10-20 19:29:20,705.705 INFO    ] ================================================
[2026-10-20 19:29:21,363.363 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:29:21
[2026-10-20 19:29:22,041.041 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:29:22,353.353 INFO    ] Initializing speech engine...
[2026-10-20 19:29:22,363.363 INFO    ] 2026-10-20 19:29:22
[2026-10-20 19:29:22,659.659 INFO    ] 2026-10-20 19:29:22
[2026-10-20 19:29:22,773.773 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:29:22,953.953 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:29:22,962.962 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:29:23,184.184 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:29:23,205.205 INFO    ] time= 20/10/2026 19:29:23
[2026-10-20 19:29:23,223.223 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:29:23,234.234 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:29:23,399.399 INFO    ] No existing commands found in stream
[2026-10-20 19:29:28,431.431 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:29:28,434.434 INFO    ] Waiting 3.41 seconds before fallback handling...
[2026-10-20 19:29:32,448.448 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:29:32,452.452 INFO    ] Checking for system updates...
[2026-10-20 19:29:32,495.495 INFO    ] 200
[2026-10-20 19:29:32,499.499 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:29:32,561.561 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:29:32,564.564 INFO    ] No update needed
[2026-10-20 19:29:32,567.567 INFO    ] Checking for camera pi updates...
[2026-10-20 19:29:32,604.604 INFO    ] 200
[2026-10-20 19:29:32,608.608 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:29:32,656.656 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:29:32,691.691 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:29:32,694.694 INFO    ] No camera update needed
[2026-10-20 19:29:32,698.698 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:29:32,701.701 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:29:32,708.708 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:29:32,715.715 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:29:34,758.758 INFO    ] ================================================
[2026-10-20 19:29:34,774.774 INFO    ] Launching Daemon at Tue Oct 20 19:29:34 IST 2026
[2026-10-20 19:29:34,784.784 INFO    ] ================================================
[2026-10-20 19:29:35,372.372 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:29:35
[2026-10-20 19:29:35,974.974 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:29:36,250.250 INFO    ] Initializing speech engine...
[2026-10-20 19:29:36,259.259 INFO    ] 2026-10-20 19:29:36
[2026-10-20 19:29:36,507.507 INFO    ] 2026-10-20 19:29:36
[2026-10-20 19:29:36,542.542 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:29:36,792.792 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:29:36,802.802 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:29:36,936.936 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:29:37,000.000 INFO    ] time= 20/10/2026 19:29:36
[2026-10-20 19:29:37,060.060 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:29:37,069.069 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:29:37,219.219 INFO    ] No existing commands found in stream
[2026-10-20 19:29:42,241.241 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:29:42,244.244 INFO    ] Waiting 3.91 seconds before fallback handling...
[2026-10-20 19:29:46,650.650 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:29:46,653.653 INFO    ] Checking for system updates...
[2026-10-20 19:29:46,689.689 INFO    ] 200
[2026-10-20 19:29:46,691.691 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:29:46,744.744 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:29:46,746.746 INFO    ] No update needed
[2026-10-20 19:29:46,748.748 INFO    ] Checking for camera pi updates...
[2026-10-20 19:29:46,782.782 INFO    ] 200
[2026-10-20 19:29:46,785.785 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:29:46,831.831 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:29:46,879.879 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:29:46,882.882 INFO    ] No camera update needed
[2026-10-20 19:29:46,885.885 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:29:46,888.888 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:29:46,894.894 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:29:46,900.900 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:29:48,942.942 INFO    ] ================================================
[2026-10-20 19:29:48,957.957 INFO    ] Launching Daemon at Tue Oct 20 19:29:48 IST 2026
[2026-10-20 19:29:48,968.968 INFO    ] ================================================
[2026-10-20 19:29:49,537.537 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:29:49
[2026-10-20 19:29:50,126.126 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:29:50,380.380 INFO    ] Initializing speech engine...
[2026-10-20 19:29:50,389.389 INFO    ] 2026-10-20 19:29:50
[2026-10-20 19:29:50,679.679 INFO    ] 2026-10-20 19:29:50
[2026-10-20 19:29:50,717.717 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:29:50,915.915 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:29:50,922.922 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:29:51,094.094 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:29:51,103.103 INFO    ] time= 20/10/2026 19:29:51
[2026-10-20 19:29:51,110.110 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:29:51,151.151 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:29:51,277.277 INFO    ] No existing commands found in stream
[2026-10-20 19:29:56,302.302 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:29:56,305.305 INFO    ] Waiting 2.84 seconds before fallback handling...
[2026-10-20 19:30:00,437.437 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 19:30:00,440.440 INFO    ] Checking for system updates...
[2026-10-20 19:30:00,475.475 INFO    ] 200
[2026-10-20 19:30:00,478.478 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:30:00,529.529 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:30:00,532.532 INFO    ] No update needed
[2026-10-20 19:30:00,534.534 INFO    ] Checking for camera pi updates...
[2026-10-20 19:30:00,567.567 INFO    ] 200
[2026-10-20 19:30:00,570.570 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:30:00,610.610 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:30:00,658.658 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:30:00,661.661 INFO    ] No camera update needed
[2026-10-20 19:30:00,663.663 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:30:00,665.665 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:30:00,671.671 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:30:00,676.676 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:30:02,741.741 INFO    ] ================================================
[2026-10-20 19:30:02,796.796 INFO    ] Launching Daemon at Tue Oct 20 19:30:02 IST 2026
[2026-10-20 19:30:02,833.833 INFO    ] ================================================
[2026-10-20 19:30:03,614.614 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:30:03
[2026-10-20 19:30:04,303.303 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:30:04,643.643 INFO    ] Initializing speech engine...
[2026-10-20 19:30:04,663.663 INFO    ] 2026-10-20 19:30:04
[2026-10-20 19:30:04,928.928 INFO    ] 2026-10-20 19:30:04
[2026-10-20 19:30:04,973.973 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:30:05,229.229 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:30:05,234.234 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:30:05,446.446 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:30:05,494.494 INFO    ] time= 20/10/2026 19:30:05
[2026-10-20 19:30:05,512.512 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:30:05,522.522 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:30:05,653.653 INFO    ] No existing commands found in stream
[2026-10-20 19:30:10,675.675 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:30:10,679.679 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-10-20 19:30:12,729.729 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 19:30:12,732.732 INFO    ] Checking for system updates...
[2026-10-20 19:30:12,772.772 INFO    ] 200
[2026-10-20 19:30:12,775.775 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:30:12,827.827 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:30:12,830.830 INFO    ] No update needed
[2026-10-20 19:30:12,833.833 INFO    ] Checking for camera pi updates...
[2026-10-20 19:30:12,866.866 INFO    ] 200
[2026-10-20 19:30:12,869.869 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:30:12,915.915 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:30:13,059.059 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:30:13,062.062 INFO    ] No camera update needed
[2026-10-20 19:30:13,064.064 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:30:13,067.067 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:30:13,072.072 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:30:13,077.077 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:30:15,124.124 INFO    ] ================================================
[2026-10-20 19:30:15,140.140 INFO    ] Launching Daemon at Tue Oct 20 19:30:15 IST 2026
[2026-10-20 19:30:15,151.151 INFO    ] ================================================
[2026-10-20 19:30:15,721.721 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:30:15
[2026-10-20 19:30:16,310.310 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:30:16,564.564 INFO    ] Initializing speech engine...
[2026-10-20 19:30:16,571.571 INFO    ] 2026-10-20 19:30:16
[2026-10-20 19:30:16,872.872 INFO    ] 2026-10-20 19:30:16
[2026-10-20 19:30:16,911.911 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:30:17,135.135 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:30:17,143.143 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:30:17,365.365 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:30:17,375.375 INFO    ] time= 20/10/2026 19:30:17
[2026-10-20 19:30:17,429.429 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:30:17,478.478 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:30:17,622.622 INFO    ] No existing commands found in stream
[2026-10-20 19:30:22,660.660 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:30:22,663.663 INFO    ] Waiting 0.81 seconds before fallback handling...
[2026-10-20 19:30:23,950.950 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:30:23,953.953 INFO    ] Checking for system updates...
[2026-10-20 19:30:23,989.989 INFO    ] 200
[2026-10-20 19:30:23,992.992 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:30:24,043.043 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:30:24,046.046 INFO    ] No update needed
[2026-10-20 19:30:24,048.048 INFO    ] Checking for camera pi updates...
[2026-10-20 19:30:24,082.082 INFO    ] 200
[2026-10-20 19:30:24,084.084 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:30:24,126.126 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:30:24,179.179 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:30:24,182.182 INFO    ] No camera update needed
[2026-10-20 19:30:24,184.184 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:30:24,187.187 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:30:24,192.192 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:30:24,197.197 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:30:26,238.238 INFO    ] ================================================
[2026-10-20 19:30:26,253.253 INFO    ] Launching Daemon at Tue Oct 20 19:30:26 IST 2026
[2026-10-20 19:30:26,264.264 INFO    ] ================================================
[2026-10-20 19:30:26,843.843 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:30:26
[2026-10-20 19:30:27,443.443 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:30:27,704.704 INFO    ] Initializing speech engine...
[2026-10-20 19:30:27,713.713 INFO    ] 2026-10-20 19:30:27
[2026-10-20 19:30:28,011.011 INFO    ] 2026-10-20 19:30:27
[2026-10-20 19:30:28,050.050 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:30:28,280.280 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:30:28,345.345 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:30:28,506.506 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:30:28,534.534 INFO    ] time= 20/10/2026 19:30:28
[2026-10-20 19:30:28,594.594 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:30:28,653.653 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:30:28,795.795 INFO    ] No existing commands found in stream
[2026-10-20 19:30:33,808.808 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:30:33,811.811 INFO    ] Waiting 2.03 seconds before fallback handling...
[2026-10-20 19:30:36,384.384 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:30:36,387.387 INFO    ] Checking for system updates...
[2026-10-20 19:30:36,423.423 INFO    ] 200
[2026-10-20 19:30:36,425.425 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:30:36,477.477 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:30:36,480.480 INFO    ] No update needed
[2026-10-20 19:30:36,483.483 INFO    ] Checking for camera pi updates...
[2026-10-20 19:30:36,520.520 INFO    ] 200
[2026-10-20 19:30:36,522.522 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:30:36,562.562 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:30:36,608.608 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:30:36,611.611 INFO    ] No camera update needed
[2026-10-20 19:30:36,613.613 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:30:36,616.616 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:30:36,621.621 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:30:36,626.626 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:30:38,666.666 INFO    ] ================================================
[2026-10-20 19:30:38,682.682 INFO    ] Launching Daemon at Tue Oct 20 19:30:38 IST 2026
[2026-10-20 19:30:38,693.693 INFO    ] ================================================
[2026-10-20 19:30:39,346.346 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:30:39
[2026-10-20 19:30:40,014.014 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:30:40,320.320 INFO    ] Initializing speech engine...
[2026-10-20 19:30:40,327.327 INFO    ] 2026-10-20 19:30:40
[2026-10-20 19:30:40,620.620 INFO    ] 2026-10-20 19:30:40
[2026-10-20 19:30:40,665.665 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:30:40,897.897 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:30:40,903.903 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:30:41,123.123 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:30:41,170.170 INFO    ] time= 20/10/2026 19:30:41
[2026-10-20 19:30:41,177.177 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:30:41,199.199 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:30:41,331.331 INFO    ] No existing commands found in stream
[2026-10-20 19:30:46,347.347 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:30:46,350.350 INFO    ] Waiting 0.16 seconds before fallback handling...
[2026-10-20 19:30:47,016.016 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 19:30:47,019.019 INFO    ] Checking for system updates...
[2026-10-20 19:30:47,054.054 INFO    ] 200
[2026-10-20 19:30:47,057.057 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:30:47,117.117 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:30:47,120.120 INFO    ] No update needed
[2026-10-20 19:30:47,122.122 INFO    ] Checking for camera pi updates...
[2026-10-20 19:30:47,155.155 INFO    ] 200
[2026-10-20 19:30:47,158.158 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:30:47,201.201 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:30:47,245.245 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:30:47,247.247 INFO    ] No camera update needed
[2026-10-20 19:30:47,250.250 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:30:47,252.252 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:30:47,257.257 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:30:47,262.262 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:30:49,301.301 INFO    ] ================================================
[2026-10-20 19:30:49,316.316 INFO    ] Launching Daemon at Tue Oct 20 19:30:49 IST 2026
[2026-10-20 19:30:49,327.327 INFO    ] ================================================
[2026-10-20 19:30:49,904.904 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:30:49
[2026-10-20 19:30:50,513.513 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:30:50,802.802 INFO    ] Initializing speech engine...
[2026-10-20 19:30:50,811.811 INFO    ] 2026-10-20 19:30:50
[2026-10-20 19:30:51,077.077 INFO    ] 2026-10-20 19:30:51
[2026-10-20 19:30:51,115.115 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:30:51,324.324 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:30:51,344.344 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:30:51,509.509 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:30:51,518.518 INFO    ] time= 20/10/2026 19:30:51
[2026-10-20 19:30:51,523.523 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:30:51,530.530 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:30:51,610.610 INFO    ] No existing commands found in stream
[2026-10-20 19:30:56,630.630 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:30:56,633.633 INFO    ] Waiting 1.32 seconds before fallback handling...
[2026-10-20 19:30:58,731.731 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:30:58,734.734 INFO    ] Checking for system updates...
[2026-10-20 19:30:58,770.770 INFO    ] 200
[2026-10-20 19:30:58,772.772 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:30:58,824.824 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:30:58,827.827 INFO    ] No update needed
[2026-10-20 19:30:58,829.829 INFO    ] Checking for camera pi updates...
[2026-10-20 19:30:58,863.863 INFO    ] 200
[2026-10-20 19:30:58,865.865 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:30:58,909.909 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:30:58,960.960 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:30:58,962.962 INFO    ] No camera update needed
[2026-10-20 19:30:58,965.965 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:30:58,967.967 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:30:58,972.972 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:30:58,977.977 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:31:01,017.017 INFO    ] ================================================
[2026-10-20 19:31:01,033.033 INFO    ] Launching Daemon at Tue Oct 20 19:31:01 IST 2026
[2026-10-20 19:31:01,045.045 INFO    ] ================================================
[2026-10-20 19:31:01,635.635 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:31:01
[2026-10-20 19:31:02,392.392 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:31:02,718.718 INFO    ] Initializing speech engine...
[2026-10-20 19:31:02,731.731 INFO    ] 2026-10-20 19:31:02
[2026-10-20 19:31:03,009.009 INFO    ] 2026-10-20 19:31:03
[2026-10-20 19:31:03,072.072 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:31:03,265.265 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:31:03,275.275 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:31:03,490.490 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:31:03,496.496 INFO    ] time= 20/10/2026 19:31:03
[2026-10-20 19:31:03,565.565 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:31:03,620.620 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:31:03,759.759 INFO    ] No existing commands found in stream
[2026-10-20 19:31:08,781.781 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:31:08,784.784 INFO    ] Waiting 1.63 seconds before fallback handling...
[2026-10-20 19:31:10,907.907 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:31:10,910.910 INFO    ] Checking for system updates...
[2026-10-20 19:31:10,946.946 INFO    ] 200
[2026-10-20 19:31:10,948.948 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:31:11,000.000 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:31:11,003.003 INFO    ] No update needed
[2026-10-20 19:31:11,005.005 INFO    ] Checking for camera pi updates...
[2026-10-20 19:31:11,041.041 INFO    ] 200
[2026-10-20 19:31:11,044.044 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:31:11,089.089 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:31:11,133.133 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:31:11,136.136 INFO    ] No camera update needed
[2026-10-20 19:31:11,138.138 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:31:11,141.141 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:31:11,146.146 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:31:11,151.151 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:31:13,191.191 INFO    ] ================================================
[2026-10-20 19:31:13,207.207 INFO    ] Launching Daemon at Tue Oct 20 19:31:13 IST 2026
[2026-10-20 19:31:13,217.217 INFO    ] ================================================
[2026-10-20 19:31:13,785.785 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:31:13
[2026-10-20 19:31:14,370.370 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:31:14,619.619 INFO    ] Initializing speech engine...
[2026-10-20 19:31:14,634.634 INFO    ] 2026-10-20 19:31:14
[2026-10-20 19:31:14,901.901 INFO    ] 2026-10-20 19:31:14
[2026-10-20 19:31:14,943.943 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:31:15,194.194 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:31:15,203.203 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:31:15,341.341 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:31:15,391.391 INFO    ] time= 20/10/2026 19:31:15
[2026-10-20 19:31:15,450.450 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:31:15,477.477 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:31:15,630.630 INFO    ] No existing commands found in stream
[2026-10-20 19:31:20,644.644 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:31:20,647.647 INFO    ] Waiting 0.28 seconds before fallback handling...
[2026-10-20 19:31:21,458.458 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:31:21,462.462 INFO    ] Checking for system updates...
[2026-10-20 19:31:21,499.499 INFO    ] 200
[2026-10-20 19:31:21,501.501 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:31:21,554.554 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:31:21,556.556 INFO    ] No update needed
[2026-10-20 19:31:21,559.559 INFO    ] Checking for camera pi updates...
[2026-10-20 19:31:21,592.592 INFO    ] 200
[2026-10-20 19:31:21,595.595 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:31:21,639.639 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:31:21,686.686 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:31:21,688.688 INFO    ] No camera update needed
[2026-10-20 19:31:21,691.691 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:31:21,693.693 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:31:21,698.698 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:31:21,703.703 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:31:23,743.743 INFO    ] ================================================
[2026-10-20 19:31:23,759.759 INFO    ] Launching Daemon at Tue Oct 20 19:31:23 IST 2026
[2026-10-20 19:31:23,770.770 INFO    ] ================================================
[2026-10-20 19:31:24,410.410 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:31:24
[2026-10-20 19:31:25,068.068 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:31:25,372.372 INFO    ] Initializing speech engine...
[2026-10-20 19:31:25,396.396 INFO    ] 2026-10-20 19:31:25
[2026-10-20 19:31:25,703.703 INFO    ] 2026-10-20 19:31:25
[2026-10-20 19:31:25,786.786 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:31:26,006.006 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:31:26,014.014 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:31:26,203.203 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:31:26,219.219 INFO    ] time= 20/10/2026 19:31:26
[2026-10-20 19:31:26,238.238 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:31:26,268.268 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:31:26,388.388 INFO    ] No existing commands found in stream
[2026-10-20 19:31:31,410.410 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:31:31,413.413 INFO    ] Waiting 1.53 seconds before fallback handling...
[2026-10-20 19:31:33,488.488 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:31:33,491.491 INFO    ] Checking for system updates...
[2026-10-20 19:31:33,529.529 INFO    ] 200
[2026-10-20 19:31:33,532.532 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:31:33,593.593 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:31:33,595.595 INFO    ] No update needed
[2026-10-20 19:31:33,598.598 INFO    ] Checking for camera pi updates...
[2026-10-20 19:31:33,635.635 INFO    ] 200
[2026-10-20 19:31:33,638.638 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:31:33,693.693 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:31:33,735.735 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:31:33,738.738 INFO    ] No camera update needed
[2026-10-20 19:31:33,741.741 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:31:33,744.744 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:31:33,751.751 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:31:33,757.757 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:31:35,796.796 INFO    ] ================================================
[2026-10-20 19:31:35,812.812 INFO    ] Launching Daemon at Tue Oct 20 19:31:35 IST 2026
[2026-10-20 19:31:35,822.822 INFO    ] ================================================
[2026-10-20 19:31:36,404.404 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:31:36
[2026-10-20 19:31:37,005.005 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:31:37,268.268 INFO    ] Initializing speech engine...
[2026-10-20 19:31:37,282.282 INFO    ] 2026-10-20 19:31:37
[2026-10-20 19:31:37,572.572 INFO    ] 2026-10-20 19:31:37
[2026-10-20 19:31:37,607.607 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:31:37,809.809 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:31:37,815.815 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:31:37,986.986 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:31:37,995.995 INFO    ] time= 20/10/2026 19:31:37
[2026-10-20 19:31:38,000.000 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:31:38,006.006 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:31:38,098.098 INFO    ] No existing commands found in stream
[2026-10-20 19:31:43,129.129 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:31:43,131.131 INFO    ] Waiting 0.56 seconds before fallback handling...
[2026-10-20 19:31:44,230.230 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:31:44,232.232 INFO    ] Checking for system updates...
[2026-10-20 19:31:44,268.268 INFO    ] 200
[2026-10-20 19:31:44,270.270 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:31:44,330.330 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:31:44,332.332 INFO    ] No update needed
[2026-10-20 19:31:44,335.335 INFO    ] Checking for camera pi updates...
[2026-10-20 19:31:44,369.369 INFO    ] 200
[2026-10-20 19:31:44,371.371 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:31:44,420.420 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:31:44,471.471 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:31:44,474.474 INFO    ] No camera update needed
[2026-10-20 19:31:44,476.476 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:31:44,479.479 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:31:44,485.485 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:31:44,490.490 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:31:46,529.529 INFO    ] ================================================
[2026-10-20 19:31:46,545.545 INFO    ] Launching Daemon at Tue Oct 20 19:31:46 IST 2026
[2026-10-20 19:31:46,556.556 INFO    ] ================================================
[2026-10-20 19:31:47,138.138 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:31:47
[2026-10-20 19:31:47,739.739 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:31:48,013.013 INFO    ] Initializing speech engine...
[2026-10-20 19:31:48,024.024 INFO    ] 2026-10-20 19:31:48
[2026-10-20 19:31:48,284.284 INFO    ] 2026-10-20 19:31:48
[2026-10-20 19:31:48,341.341 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:31:48,569.569 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:31:48,575.575 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:31:48,786.786 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:31:48,832.832 INFO    ] time= 20/10/2026 19:31:48
[2026-10-20 19:31:48,839.839 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:31:48,860.860 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:31:49,004.004 INFO    ] No existing commands found in stream
[2026-10-20 19:31:54,041.041 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:31:54,045.045 INFO    ] Waiting 1.24 seconds before fallback handling...
[2026-10-20 19:31:55,819.819 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:31:55,822.822 INFO    ] Checking for system updates...
[2026-10-20 19:31:55,858.858 INFO    ] 200
[2026-10-20 19:31:55,861.861 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:31:55,914.914 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:31:55,917.917 INFO    ] No update needed
[2026-10-20 19:31:55,920.920 INFO    ] Checking for camera pi updates...
[2026-10-20 19:31:55,954.954 INFO    ] 200
[2026-10-20 19:31:55,957.957 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:31:55,998.998 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:31:56,045.045 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:31:56,047.047 INFO    ] No camera update needed
[2026-10-20 19:31:56,050.050 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:31:56,053.053 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:31:56,059.059 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:31:56,065.065 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:31:58,107.107 INFO    ] ================================================
[2026-10-20 19:31:58,122.122 INFO    ] Launching Daemon at Tue Oct 20 19:31:58 IST 2026
[2026-10-20 19:31:58,133.133 INFO    ] ================================================
[2026-10-20 19:31:58,699.699 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:31:58
[2026-10-20 19:31:59,291.291 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:31:59,548.548 INFO    ] Initializing speech engine...
[2026-10-20 19:31:59,557.557 INFO    ] 2026-10-20 19:31:59
[2026-10-20 19:31:59,853.853 INFO    ] 2026-10-20 19:31:59
[2026-10-20 19:31:59,889.889 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:32:00,091.091 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:32:00,106.106 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:32:00,273.273 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:32:00,279.279 INFO    ] time= 20/10/2026 19:32:00
[2026-10-20 19:32:00,286.286 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:32:00,317.317 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:32:00,444.444 INFO    ] No existing commands found in stream
[2026-10-20 19:32:05,464.464 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:32:05,467.467 INFO    ] Waiting 2.38 seconds before fallback handling...
[2026-10-20 19:32:08,350.350 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:32:08,353.353 INFO    ] Checking for system updates...
[2026-10-20 19:32:08,394.394 INFO    ] 200
[2026-10-20 19:32:08,397.397 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:32:08,449.449 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:32:08,451.451 INFO    ] No update needed
[2026-10-20 19:32:08,454.454 INFO    ] Checking for camera pi updates...
[2026-10-20 19:32:08,491.491 INFO    ] 200
[2026-10-20 19:32:08,494.494 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:32:08,534.534 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:32:08,583.583 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:32:08,586.586 INFO    ] No camera update needed
[2026-10-20 19:32:08,588.588 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:32:08,590.590 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:32:08,595.595 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:32:08,600.600 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:32:10,641.641 INFO    ] ================================================
[2026-10-20 19:32:10,657.657 INFO    ] Launching Daemon at Tue Oct 20 19:32:10 IST 2026
[2026-10-20 19:32:10,668.668 INFO    ] ================================================
[2026-10-20 19:32:11,238.238 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:32:11
[2026-10-20 19:32:11,820.820 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:32:12,065.065 INFO    ] Initializing speech engine...
[2026-10-20 19:32:12,080.080 INFO    ] 2026-10-20 19:32:12
[2026-10-20 19:32:12,346.346 INFO    ] 2026-10-20 19:32:12
[2026-10-20 19:32:12,382.382 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:32:12,643.643 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:32:12,648.648 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:32:12,841.841 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:32:12,896.896 INFO    ] time= 20/10/2026 19:32:12
[2026-10-20 19:32:12,914.914 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:32:12,920.920 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:32:13,068.068 INFO    ] No existing commands found in stream
[2026-10-20 19:32:18,081.081 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:32:18,084.084 INFO    ] Waiting 1.72 seconds before fallback handling...
[2026-10-20 19:32:20,315.315 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:32:20,317.317 INFO    ] Checking for system updates...
[2026-10-20 19:32:20,354.354 INFO    ] 200
[2026-10-20 19:32:20,356.356 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:32:20,411.411 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:32:20,414.414 INFO    ] No update needed
[2026-10-20 19:32:20,416.416 INFO    ] Checking for camera pi updates...
[2026-10-20 19:32:20,455.455 INFO    ] 200
[2026-10-20 19:32:20,458.458 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:32:20,504.504 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:32:20,650.650 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:32:20,653.653 INFO    ] No camera update needed
[2026-10-20 19:32:20,656.656 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:32:20,659.659 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:32:20,665.665 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:32:20,671.671 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:32:22,713.713 INFO    ] ================================================
[2026-10-20 19:32:22,729.729 INFO    ] Launching Daemon at Tue Oct 20 19:32:22 IST 2026
[2026-10-20 19:32:22,740.740 INFO    ] ================================================
[2026-10-20 19:32:23,321.321 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:32:23
[2026-10-20 19:32:23,929.929 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:32:24,212.212 INFO    ] Initializing speech engine...
[2026-10-20 19:32:24,222.222 INFO    ] 2026-10-20 19:32:24
[2026-10-20 19:32:24,474.474 INFO    ] 2026-10-20 19:32:24
[2026-10-20 19:32:24,509.509 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:32:24,768.768 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:32:24,773.773 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:32:24,918.918 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:32:24,978.978 INFO    ] time= 20/10/2026 19:32:24
[2026-10-20 19:32:25,033.033 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:32:25,043.043 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:32:25,189.189 INFO    ] No existing commands found in stream
[2026-10-20 19:32:30,210.210 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:32:30,213.213 INFO    ] Waiting 2.19 seconds before fallback handling...
[2026-10-20 19:32:32,933.933 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:32:32,936.936 INFO    ] Checking for system updates...
[2026-10-20 19:32:32,974.974 INFO    ] 200
[2026-10-20 19:32:32,976.976 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:32:33,028.028 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:32:33,031.031 INFO    ] No update needed
[2026-10-20 19:32:33,034.034 INFO    ] Checking for camera pi updates...
[2026-10-20 19:32:33,067.067 INFO    ] 200
[2026-10-20 19:32:33,069.069 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:32:33,110.110 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:32:33,142.142 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:32:33,144.144 INFO    ] No camera update needed
[2026-10-20 19:32:33,146.146 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:32:33,149.149 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:32:33,154.154 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:32:33,159.159 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:32:35,198.198 INFO    ] ================================================
[2026-10-20 19:32:35,214.214 INFO    ] Launching Daemon at Tue Oct 20 19:32:35 IST 2026
[2026-10-20 19:32:35,226.226 INFO    ] ================================================
[2026-10-20 19:32:35,886.886 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:32:35
[2026-10-20 19:32:36,592.592 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:32:36,925.925 INFO    ] Initializing speech engine...
[2026-10-20 19:32:36,934.934 INFO    ] 2026-10-20 19:32:36
[2026-10-20 19:32:37,240.240 INFO    ] 2026-10-20 19:32:37
[2026-10-20 19:32:37,327.327 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:32:37,540.540 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:32:37,548.548 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:32:37,746.746 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:32:37,764.764 INFO    ] time= 20/10/2026 19:32:37
[2026-10-20 19:32:37,775.775 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:32:37,801.801 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:32:37,909.909 INFO    ] No existing commands found in stream
[2026-10-20 19:32:42,939.939 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:32:42,943.943 INFO    ] Waiting 0.72 seconds before fallback handling...
[2026-10-20 19:32:44,275.275 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 19:32:44,278.278 INFO    ] Checking for system updates...
[2026-10-20 19:32:44,315.315 INFO    ] 200
[2026-10-20 19:32:44,318.318 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:32:44,369.369 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:32:44,372.372 INFO    ] No update needed
[2026-10-20 19:32:44,375.375 INFO    ] Checking for camera pi updates...
[2026-10-20 19:32:44,408.408 INFO    ] 200
[2026-10-20 19:32:44,410.410 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:32:44,459.459 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:32:44,511.511 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:32:44,514.514 INFO    ] No camera update needed
[2026-10-20 19:32:44,517.517 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:32:44,520.520 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:32:44,526.526 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:32:44,532.532 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:32:46,572.572 INFO    ] ================================================
[2026-10-20 19:32:46,588.588 INFO    ] Launching Daemon at Tue Oct 20 19:32:46 IST 2026
[2026-10-20 19:32:46,600.600 INFO    ] ================================================
[2026-10-20 19:32:47,174.174 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:32:47
[2026-10-20 19:32:47,772.772 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:32:48,052.052 INFO    ] Initializing speech engine...
[2026-10-20 19:32:48,059.059 INFO    ] 2026-10-20 19:32:48
[2026-10-20 19:32:48,309.309 INFO    ] 2026-10-20 19:32:48
[2026-10-20 19:32:48,345.345 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:32:48,598.598 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:32:48,607.607 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:32:48,742.742 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:32:48,807.807 INFO    ] time= 20/10/2026 19:32:48
[2026-10-20 19:32:48,869.869 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:32:48,876.876 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:32:49,035.035 INFO    ] No existing commands found in stream
[2026-10-20 19:32:54,067.067 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:32:54,070.070 INFO    ] Waiting 3.95 seconds before fallback handling...
[2026-10-20 19:32:58,508.508 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 19:32:58,511.511 INFO    ] Checking for system updates...
[2026-10-20 19:32:58,547.547 INFO    ] 200
[2026-10-20 19:32:58,549.549 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:32:58,602.602 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:32:58,604.604 INFO    ] No update needed
[2026-10-20 19:32:58,607.607 INFO    ] Checking for camera pi updates...
[2026-10-20 19:32:58,641.641 INFO    ] 200
[2026-10-20 19:32:58,643.643 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:32:58,686.686 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:32:58,731.731 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:32:58,733.733 INFO    ] No camera update needed
[2026-10-20 19:32:58,736.736 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:32:58,738.738 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:32:58,744.744 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:32:58,749.749 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:33:00,790.790 INFO    ] ================================================
[2026-10-20 19:33:00,812.812 INFO    ] Launching Daemon at Tue Oct 20 19:33:00 IST 2026
[2026-10-20 19:33:00,822.822 INFO    ] ================================================
[2026-10-20 19:33:01,479.479 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:33:01
[2026-10-20 19:33:02,164.164 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:33:02,475.475 INFO    ] Initializing speech engine...
[2026-10-20 19:33:02,488.488 INFO    ] 2026-10-20 19:33:02
[2026-10-20 19:33:02,779.779 INFO    ] 2026-10-20 19:33:02
[2026-10-20 19:33:02,860.860 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:33:03,063.063 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:33:03,071.071 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:33:03,279.279 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:33:03,296.296 INFO    ] time= 20/10/2026 19:33:03
[2026-10-20 19:33:03,333.333 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:33:03,392.392 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:33:03,494.494 INFO    ] No existing commands found in stream
[2026-10-20 19:33:08,521.521 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:33:08,524.524 INFO    ] Waiting 0.89 seconds before fallback handling...
[2026-10-20 19:33:09,924.924 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:33:09,927.927 INFO    ] Checking for system updates...
[2026-10-20 19:33:09,967.967 INFO    ] 200
[2026-10-20 19:33:09,970.970 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:33:10,027.027 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:33:10,030.030 INFO    ] No update needed
[2026-10-20 19:33:10,033.033 INFO    ] Checking for camera pi updates...
[2026-10-20 19:33:10,067.067 INFO    ] 200
[2026-10-20 19:33:10,070.070 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:33:10,117.117 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:33:10,161.161 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:33:10,164.164 INFO    ] No camera update needed
[2026-10-20 19:33:10,166.166 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:33:10,169.169 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:33:10,174.174 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:33:10,179.179 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:33:12,220.220 INFO    ] ================================================
[2026-10-20 19:33:12,235.235 INFO    ] Launching Daemon at Tue Oct 20 19:33:12 IST 2026
[2026-10-20 19:33:12,246.246 INFO    ] ================================================
[2026-10-20 19:33:12,902.902 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:33:12
[2026-10-20 19:33:13,575.575 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:33:13,881.881 INFO    ] Initializing speech engine...
[2026-10-20 19:33:13,893.893 INFO    ] 2026-10-20 19:33:13
[2026-10-20 19:33:14,178.178 INFO    ] 2026-10-20 19:33:14
[2026-10-20 19:33:14,223.223 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:33:14,495.495 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:33:14,520.520 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:33:14,719.719 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:33:14,729.729 INFO    ] time= 20/10/2026 19:33:14
[2026-10-20 19:33:14,750.750 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:33:14,777.777 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:33:14,887.887 INFO    ] No existing commands found in stream
[2026-10-20 19:33:19,908.908 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:33:19,912.912 INFO    ] Waiting 3.27 seconds before fallback handling...
[2026-10-20 19:33:23,743.743 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:33:23,746.746 INFO    ] Checking for system updates...
[2026-10-20 19:33:23,786.786 INFO    ] 200
[2026-10-20 19:33:23,789.789 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:33:23,842.842 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:33:23,845.845 INFO    ] No update needed
[2026-10-20 19:33:23,848.848 INFO    ] Checking for camera pi updates...
[2026-10-20 19:33:23,886.886 INFO    ] 200
[2026-10-20 19:33:23,889.889 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:33:23,930.930 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:33:23,982.982 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:33:23,985.985 INFO    ] No camera update needed
[2026-10-20 19:33:23,987.987 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:33:23,990.990 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:33:23,996.996 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:33:24,002.002 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:33:26,044.044 INFO    ] ================================================
[2026-10-20 19:33:26,060.060 INFO    ] Launching Daemon at Tue Oct 20 19:33:26 IST 2026
[2026-10-20 19:33:26,072.072 INFO    ] ================================================
[2026-10-20 19:33:26,729.729 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:33:26
[2026-10-20 19:33:27,406.406 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:33:27,712.712 INFO    ] Initializing speech engine...
[2026-10-20 19:33:27,725.725 INFO    ] 2026-10-20 19:33:27
[2026-10-20 19:33:27,995.995 INFO    ] 2026-10-20 19:33:27
[2026-10-20 19:33:28,048.048 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:33:28,291.291 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:33:28,301.301 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:33:28,459.459 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:33:28,524.524 INFO    ] time= 20/10/2026 19:33:28
[2026-10-20 19:33:28,567.567 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:33:28,574.574 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:33:28,722.722 INFO    ] No existing commands found in stream
[2026-10-20 19:33:33,751.751 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:33:33,754.754 INFO    ] Waiting 1.34 seconds before fallback handling...
[2026-10-20 19:33:35,601.601 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:33:35,603.603 INFO    ] Checking for system updates...
[2026-10-20 19:33:35,639.639 INFO    ] 200
[2026-10-20 19:33:35,642.642 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:33:35,693.693 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:33:35,696.696 INFO    ] No update needed
[2026-10-20 19:33:35,698.698 INFO    ] Checking for camera pi updates...
[2026-10-20 19:33:35,731.731 INFO    ] 200
[2026-10-20 19:33:35,734.734 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:33:35,774.774 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:33:35,823.823 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:33:35,825.825 INFO    ] No camera update needed
[2026-10-20 19:33:35,827.827 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:33:35,830.830 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:33:35,835.835 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:33:35,841.841 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:33:37,881.881 INFO    ] ================================================
[2026-10-20 19:33:37,897.897 INFO    ] Launching Daemon at Tue Oct 20 19:33:37 IST 2026
[2026-10-20 19:33:37,908.908 INFO    ] ================================================
[2026-10-20 19:33:38,559.559 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:33:38
[2026-10-20 19:33:39,229.229 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:33:39,528.528 INFO    ] Initializing speech engine...
[2026-10-20 19:33:39,539.539 INFO    ] 2026-10-20 19:33:39
[2026-10-20 19:33:39,813.813 INFO    ] 2026-10-20 19:33:39
[2026-10-20 19:33:39,872.872 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:33:40,102.102 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:33:40,113.113 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:33:40,298.298 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:33:40,364.364 INFO    ] time= 20/10/2026 19:33:40
[2026-10-20 19:33:40,386.386 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:33:40,406.406 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:33:40,542.542 INFO    ] No existing commands found in stream
[2026-10-20 19:33:45,562.562 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:33:45,565.565 INFO    ] Waiting 1.66 seconds before fallback handling...
[2026-10-20 19:33:47,773.773 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:33:47,776.776 INFO    ] Checking for system updates...
[2026-10-20 19:33:47,812.812 INFO    ] 200
[2026-10-20 19:33:47,814.814 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:33:47,875.875 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:33:47,877.877 INFO    ] No update needed
[2026-10-20 19:33:47,880.880 INFO    ] Checking for camera pi updates...
[2026-10-20 19:33:47,913.913 INFO    ] 200
[2026-10-20 19:33:47,916.916 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:33:47,955.955 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:33:48,001.001 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:33:48,003.003 INFO    ] No camera update needed
[2026-10-20 19:33:48,005.005 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:33:48,008.008 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:33:48,013.013 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:33:48,018.018 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:33:50,058.058 INFO    ] ================================================
[2026-10-20 19:33:50,074.074 INFO    ] Launching Daemon at Tue Oct 20 19:33:50 IST 2026
[2026-10-20 19:33:50,084.084 INFO    ] ================================================
[2026-10-20 19:33:50,741.741 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:33:50
[2026-10-20 19:33:51,419.419 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:33:51,729.729 INFO    ] Initializing speech engine...
[2026-10-20 19:33:51,740.740 INFO    ] 2026-10-20 19:33:51
[2026-10-20 19:33:52,053.053 INFO    ] 2026-10-20 19:33:52
[2026-10-20 19:33:52,139.139 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:33:52,353.353 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:33:52,362.362 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:33:52,562.562 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:33:52,584.584 INFO    ] time= 20/10/2026 19:33:52
[2026-10-20 19:33:52,613.613 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:33:52,622.622 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:33:52,733.733 INFO    ] No existing commands found in stream
[2026-10-20 19:33:57,763.763 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:33:57,766.766 INFO    ] Waiting 0.60 seconds before fallback handling...
[2026-10-20 19:33:58,897.897 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:33:58,901.901 INFO    ] Checking for system updates...
[2026-10-20 19:33:58,942.942 INFO    ] 200
[2026-10-20 19:33:58,945.945 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:33:59,002.002 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:33:59,005.005 INFO    ] No update needed
[2026-10-20 19:33:59,008.008 INFO    ] Checking for camera pi updates...
[2026-10-20 19:33:59,045.045 INFO    ] 200
[2026-10-20 19:33:59,048.048 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:33:59,090.090 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:33:59,136.136 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:33:59,139.139 INFO    ] No camera update needed
[2026-10-20 19:33:59,142.142 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:33:59,145.145 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:33:59,151.151 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:33:59,157.157 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:34:01,197.197 INFO    ] ================================================
[2026-10-20 19:34:01,212.212 INFO    ] Launching Daemon at Tue Oct 20 19:34:01 IST 2026
[2026-10-20 19:34:01,223.223 INFO    ] ================================================
[2026-10-20 19:34:01,960.960 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:34:01
[2026-10-20 19:34:02,611.611 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:34:02,965.965 INFO    ] Initializing speech engine...
[2026-10-20 19:34:02,973.973 INFO    ] 2026-10-20 19:34:02
[2026-10-20 19:34:03,253.253 INFO    ] 2026-10-20 19:34:03
[2026-10-20 19:34:03,288.288 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:34:03,557.557 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:34:03,567.567 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:34:03,810.810 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:34:03,829.829 INFO    ] time= 20/10/2026 19:34:03
[2026-10-20 19:34:03,847.847 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:34:03,855.855 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:34:03,989.989 INFO    ] No existing commands found in stream
[2026-10-20 19:34:09,015.015 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:34:09,019.019 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-10-20 19:34:11,345.345 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:34:11,348.348 INFO    ] Checking for system updates...
[2026-10-20 19:34:11,388.388 INFO    ] 200
[2026-10-20 19:34:11,399.399 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:34:11,469.469 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:34:11,472.472 INFO    ] No update needed
[2026-10-20 19:34:11,475.475 INFO    ] Checking for camera pi updates...
[2026-10-20 19:34:11,514.514 INFO    ] 200
[2026-10-20 19:34:11,516.516 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:34:11,584.584 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:34:11,630.630 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:34:11,633.633 INFO    ] No camera update needed
[2026-10-20 19:34:11,635.635 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:34:11,637.637 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:34:11,642.642 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:34:11,650.650 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:34:13,691.691 INFO    ] ================================================
[2026-10-20 19:34:13,706.706 INFO    ] Launching Daemon at Tue Oct 20 19:34:13 IST 2026
[2026-10-20 19:34:13,717.717 INFO    ] ================================================
[2026-10-20 19:34:14,289.289 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:34:14
[2026-10-20 19:34:14,875.875 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:34:15,131.131 INFO    ] Initializing speech engine...
[2026-10-20 19:34:15,145.145 INFO    ] 2026-10-20 19:34:15
[2026-10-20 19:34:15,428.428 INFO    ] 2026-10-20 19:34:15
[2026-10-20 19:34:15,466.466 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:34:15,743.743 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:34:15,757.757 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:34:15,913.913 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:34:15,935.935 INFO    ] time= 20/10/2026 19:34:15
[2026-10-20 19:34:15,994.994 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:34:16,054.054 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:34:16,212.212 INFO    ] No existing commands found in stream
[2026-10-20 19:34:21,237.237 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:34:21,240.240 INFO    ] Waiting 2.50 seconds before fallback handling...
[2026-10-20 19:34:24,241.241 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 19:34:24,243.243 INFO    ] Checking for system updates...
[2026-10-20 19:34:24,278.278 INFO    ] 200
[2026-10-20 19:34:24,281.281 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:34:24,339.339 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:34:24,342.342 INFO    ] No update needed
[2026-10-20 19:34:24,344.344 INFO    ] Checking for camera pi updates...
[2026-10-20 19:34:24,377.377 INFO    ] 200
[2026-10-20 19:34:24,380.380 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:34:24,420.420 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:34:24,563.563 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:34:24,565.565 INFO    ] No camera update needed
[2026-10-20 19:34:24,568.568 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:34:24,570.570 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:34:24,575.575 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:34:24,580.580 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:34:26,620.620 INFO    ] ================================================
[2026-10-20 19:34:26,635.635 INFO    ] Launching Daemon at Tue Oct 20 19:34:26 IST 2026
[2026-10-20 19:34:26,646.646 INFO    ] ================================================
[2026-10-20 19:34:27,285.285 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:34:27
[2026-10-20 19:34:27,944.944 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:34:28,243.243 INFO    ] Initializing speech engine...
[2026-10-20 19:34:28,251.251 INFO    ] 2026-10-20 19:34:28
[2026-10-20 19:34:28,535.535 INFO    ] 2026-10-20 19:34:28
[2026-10-20 19:34:28,581.581 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:34:28,808.808 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:34:28,813.813 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:34:29,045.045 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:34:29,072.072 INFO    ] time= 20/10/2026 19:34:29
[2026-10-20 19:34:29,093.093 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:34:29,121.121 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:34:29,231.231 INFO    ] No existing commands found in stream
[2026-10-20 19:34:34,251.251 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:34:34,254.254 INFO    ] Waiting 2.00 seconds before fallback handling...
[2026-10-20 19:34:36,760.760 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:34:36,763.763 INFO    ] Checking for system updates...
[2026-10-20 19:34:36,799.799 INFO    ] 200
[2026-10-20 19:34:36,802.802 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:34:36,860.860 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:34:36,863.863 INFO    ] No update needed
[2026-10-20 19:34:36,866.866 INFO    ] Checking for camera pi updates...
[2026-10-20 19:34:36,903.903 INFO    ] 200
[2026-10-20 19:34:36,906.906 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:34:36,947.947 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:34:36,994.994 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:34:36,997.997 INFO    ] No camera update needed
[2026-10-20 19:34:37,000.000 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:34:37,002.002 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:34:37,008.008 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:34:37,014.014 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:34:39,055.055 INFO    ] ================================================
[2026-10-20 19:34:39,070.070 INFO    ] Launching Daemon at Tue Oct 20 19:34:39 IST 2026
[2026-10-20 19:34:39,080.080 INFO    ] ================================================
[2026-10-20 19:34:39,648.648 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:34:39
[2026-10-20 19:34:40,232.232 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:34:40,484.484 INFO    ] Initializing speech engine...
[2026-10-20 19:34:40,506.506 INFO    ] 2026-10-20 19:34:40
[2026-10-20 19:34:40,762.762 INFO    ] 2026-10-20 19:34:40
[2026-10-20 19:34:40,797.797 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:34:41,050.050 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:34:41,063.063 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:34:41,203.203 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:34:41,267.267 INFO    ] time= 20/10/2026 19:34:41
[2026-10-20 19:34:41,317.317 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:34:41,340.340 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:34:41,473.473 INFO    ] No existing commands found in stream
[2026-10-20 19:34:46,499.499 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:34:46,501.501 INFO    ] Waiting 1.25 seconds before fallback handling...
[2026-10-20 19:34:48,264.264 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:34:48,266.266 INFO    ] Checking for system updates...
[2026-10-20 19:34:48,302.302 INFO    ] 200
[2026-10-20 19:34:48,304.304 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:34:48,357.357 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:34:48,359.359 INFO    ] No update needed
[2026-10-20 19:34:48,362.362 INFO    ] Checking for camera pi updates...
[2026-10-20 19:34:48,395.395 INFO    ] 200
[2026-10-20 19:34:48,398.398 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:34:48,437.437 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:34:48,489.489 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:34:48,492.492 INFO    ] No camera update needed
[2026-10-20 19:34:48,495.495 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:34:48,497.497 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:34:48,504.504 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:34:48,510.510 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:34:50,552.552 INFO    ] ================================================
[2026-10-20 19:34:50,567.567 INFO    ] Launching Daemon at Tue Oct 20 19:34:50 IST 2026
[2026-10-20 19:34:50,579.579 INFO    ] ================================================
[2026-10-20 19:34:51,269.269 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:34:51
[2026-10-20 19:34:51,991.991 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:34:52,324.324 INFO    ] Initializing speech engine...
[2026-10-20 19:34:52,334.334 INFO    ] 2026-10-20 19:34:52
[2026-10-20 19:34:52,643.643 INFO    ] 2026-10-20 19:34:52
[2026-10-20 19:34:52,759.759 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:34:52,983.983 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:34:52,993.993 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:34:53,189.189 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:34:53,208.208 INFO    ] time= 20/10/2026 19:34:53
[2026-10-20 19:34:53,220.220 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:34:53,249.249 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:34:53,370.370 INFO    ] No existing commands found in stream
[2026-10-20 19:34:58,401.401 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:34:58,404.404 INFO    ] Waiting 0.58 seconds before fallback handling...
[2026-10-20 19:34:59,516.516 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:34:59,519.519 INFO    ] Checking for system updates...
[2026-10-20 19:34:59,556.556 INFO    ] 200
[2026-10-20 19:34:59,559.559 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:34:59,623.623 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:34:59,626.626 INFO    ] No update needed
[2026-10-20 19:34:59,629.629 INFO    ] Checking for camera pi updates...
[2026-10-20 19:34:59,665.665 INFO    ] 200
[2026-10-20 19:34:59,667.667 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:34:59,707.707 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:34:59,753.753 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:34:59,756.756 INFO    ] No camera update needed
[2026-10-20 19:34:59,758.758 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:34:59,760.760 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:34:59,766.766 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:34:59,771.771 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:35:01,839.839 INFO    ] ================================================
[2026-10-20 19:35:01,872.872 INFO    ] Launching Daemon at Tue Oct 20 19:35:01 IST 2026
[2026-10-20 19:35:01,907.907 INFO    ] ================================================
[2026-10-20 19:35:02,645.645 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:35:02
[2026-10-20 19:35:03,304.304 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:35:03,662.662 INFO    ] Initializing speech engine...
[2026-10-20 19:35:03,672.672 INFO    ] 2026-10-20 19:35:03
[2026-10-20 19:35:03,973.973 INFO    ] 2026-10-20 19:35:03
[2026-10-20 19:35:04,030.030 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:35:04,261.261 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:35:04,267.267 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:35:04,515.515 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:35:04,528.528 INFO    ] time= 20/10/2026 19:35:04
[2026-10-20 19:35:04,547.547 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:35:04,577.577 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:35:04,684.684 INFO    ] No existing commands found in stream
[2026-10-20 19:35:09,714.714 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:35:09,717.717 INFO    ] Waiting 0.87 seconds before fallback handling...
[2026-10-20 19:35:11,122.122 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 19:35:11,125.125 INFO    ] Checking for system updates...
[2026-10-20 19:35:11,162.162 INFO    ] 200
[2026-10-20 19:35:11,164.164 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:35:11,226.226 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:35:11,229.229 INFO    ] No update needed
[2026-10-20 19:35:11,232.232 INFO    ] Checking for camera pi updates...
[2026-10-20 19:35:11,277.277 INFO    ] 200
[2026-10-20 19:35:11,280.280 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:35:11,327.327 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:35:11,378.378 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:35:11,381.381 INFO    ] No camera update needed
[2026-10-20 19:35:11,384.384 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:35:11,386.386 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:35:11,393.393 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:35:11,399.399 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:35:13,443.443 INFO    ] ================================================
[2026-10-20 19:35:13,458.458 INFO    ] Launching Daemon at Tue Oct 20 19:35:13 IST 2026
[2026-10-20 19:35:13,468.468 INFO    ] ================================================
[2026-10-20 19:35:14,063.063 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:35:14
[2026-10-20 19:35:14,729.729 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:35:15,047.047 INFO    ] Initializing speech engine...
[2026-10-20 19:35:15,062.062 INFO    ] 2026-10-20 19:35:15
[2026-10-20 19:35:15,361.361 INFO    ] 2026-10-20 19:35:15
[2026-10-20 19:35:15,475.475 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:35:15,696.696 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:35:15,704.704 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:35:15,903.903 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:35:15,922.922 INFO    ] time= 20/10/2026 19:35:15
[2026-10-20 19:35:15,931.931 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:35:15,959.959 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:35:16,081.081 INFO    ] No existing commands found in stream
[2026-10-20 19:35:21,107.107 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:35:21,110.110 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-10-20 19:35:21,784.784 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:35:21,787.787 INFO    ] Checking for system updates...
[2026-10-20 19:35:21,824.824 INFO    ] 200
[2026-10-20 19:35:21,827.827 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:35:21,882.882 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:35:21,885.885 INFO    ] No update needed
[2026-10-20 19:35:21,888.888 INFO    ] Checking for camera pi updates...
[2026-10-20 19:35:21,921.921 INFO    ] 200
[2026-10-20 19:35:21,924.924 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:35:21,964.964 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:35:22,014.014 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:35:22,016.016 INFO    ] No camera update needed
[2026-10-20 19:35:22,018.018 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:35:22,021.021 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:35:22,026.026 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:35:22,032.032 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:35:24,071.071 INFO    ] ================================================
[2026-10-20 19:35:24,086.086 INFO    ] Launching Daemon at Tue Oct 20 19:35:24 IST 2026
[2026-10-20 19:35:24,096.096 INFO    ] ================================================
[2026-10-20 19:35:24,677.677 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:35:24
[2026-10-20 19:35:25,276.276 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:35:25,554.554 INFO    ] Initializing speech engine...
[2026-10-20 19:35:25,563.563 INFO    ] 2026-10-20 19:35:25
[2026-10-20 19:35:25,821.821 INFO    ] 2026-10-20 19:35:25
[2026-10-20 19:35:25,875.875 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:35:26,104.104 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:35:26,110.110 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:35:26,308.308 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:35:26,366.366 INFO    ] time= 20/10/2026 19:35:26
[2026-10-20 19:35:26,373.373 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:35:26,392.392 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:35:26,524.524 INFO    ] No existing commands found in stream
[2026-10-20 19:35:31,539.539 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:35:31,542.542 INFO    ] Waiting 2.62 seconds before fallback handling...
[2026-10-20 19:35:34,701.701 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:35:34,704.704 INFO    ] Checking for system updates...
[2026-10-20 19:35:34,745.745 INFO    ] 200
[2026-10-20 19:35:34,747.747 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:35:34,800.800 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:35:34,802.802 INFO    ] No update needed
[2026-10-20 19:35:34,805.805 INFO    ] Checking for camera pi updates...
[2026-10-20 19:35:34,839.839 INFO    ] 200
[2026-10-20 19:35:34,842.842 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:35:34,882.882 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:35:34,930.930 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:35:34,933.933 INFO    ] No camera update needed
[2026-10-20 19:35:34,935.935 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:35:34,938.938 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:35:34,943.943 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:35:34,949.949 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:35:36,990.990 INFO    ] ================================================
[2026-10-20 19:35:37,006.006 INFO    ] Launching Daemon at Tue Oct 20 19:35:37 IST 2026
[2026-10-20 19:35:37,018.018 INFO    ] ================================================
[2026-10-20 19:35:37,692.692 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:35:37
[2026-10-20 19:35:38,391.391 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:35:38,713.713 INFO    ] Initializing speech engine...
[2026-10-20 19:35:38,722.722 INFO    ] 2026-10-20 19:35:38
[2026-10-20 19:35:39,032.032 INFO    ] 2026-10-20 19:35:38
[2026-10-20 19:35:39,118.118 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:35:39,335.335 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:35:39,344.344 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:35:39,540.540 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:35:39,562.562 INFO    ] time= 20/10/2026 19:35:39
[2026-10-20 19:35:39,592.592 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:35:39,603.603 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:35:39,750.750 INFO    ] No existing commands found in stream
[2026-10-20 19:35:44,787.787 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:35:44,790.790 INFO    ] Waiting 1.64 seconds before fallback handling...
[2026-10-20 19:35:46,977.977 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 19:35:46,980.980 INFO    ] Checking for system updates...
[2026-10-20 19:35:47,016.016 INFO    ] 200
[2026-10-20 19:35:47,019.019 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:35:47,071.071 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:35:47,073.073 INFO    ] No update needed
[2026-10-20 19:35:47,076.076 INFO    ] Checking for camera pi updates...
[2026-10-20 19:35:47,114.114 INFO    ] 200
[2026-10-20 19:35:47,116.116 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:35:47,156.156 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:35:47,201.201 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:35:47,203.203 INFO    ] No camera update needed
[2026-10-20 19:35:47,205.205 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:35:47,208.208 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:35:47,213.213 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:35:47,218.218 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:35:49,257.257 INFO    ] ================================================
[2026-10-20 19:35:49,274.274 INFO    ] Launching Daemon at Tue Oct 20 19:35:49 IST 2026
[2026-10-20 19:35:49,285.285 INFO    ] ================================================
[2026-10-20 19:35:49,869.869 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:35:49
[2026-10-20 19:35:50,468.468 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:35:50,745.745 INFO    ] Initializing speech engine...
[2026-10-20 19:35:50,752.752 INFO    ] 2026-10-20 19:35:50
[2026-10-20 19:35:51,000.000 INFO    ] 2026-10-20 19:35:50
[2026-10-20 19:35:51,036.036 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:35:51,288.288 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:35:51,299.299 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:35:51,438.438 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:35:51,503.503 INFO    ] time= 20/10/2026 19:35:51
[2026-10-20 19:35:51,562.562 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:35:51,568.568 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:35:51,714.714 INFO    ] No existing commands found in stream
[2026-10-20 19:35:56,734.734 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:35:56,737.737 INFO    ] Waiting 1.80 seconds before fallback handling...
[2026-10-20 19:35:59,062.062 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:35:59,065.065 INFO    ] Checking for system updates...
[2026-10-20 19:35:59,100.100 INFO    ] 200
[2026-10-20 19:35:59,103.103 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:35:59,154.154 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:35:59,157.157 INFO    ] No update needed
[2026-10-20 19:35:59,159.159 INFO    ] Checking for camera pi updates...
[2026-10-20 19:35:59,193.193 INFO    ] 200
[2026-10-20 19:35:59,196.196 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:35:59,241.241 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:35:59,288.288 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:35:59,290.290 INFO    ] No camera update needed
[2026-10-20 19:35:59,293.293 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:35:59,295.295 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:35:59,301.301 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:35:59,306.306 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:36:01,349.349 INFO    ] ================================================
[2026-10-20 19:36:01,365.365 INFO    ] Launching Daemon at Tue Oct 20 19:36:01 IST 2026
[2026-10-20 19:36:01,377.377 INFO    ] ================================================
[2026-10-20 19:36:02,096.096 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:36:02
[2026-10-20 19:36:02,851.851 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:36:03,144.144 INFO    ] Initializing speech engine...
[2026-10-20 19:36:03,163.163 INFO    ] 2026-10-20 19:36:03
[2026-10-20 19:36:03,472.472 INFO    ] 2026-10-20 19:36:03
[2026-10-20 19:36:03,536.536 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:36:03,724.724 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:36:03,731.731 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:36:03,900.900 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:36:03,910.910 INFO    ] time= 20/10/2026 19:36:03
[2026-10-20 19:36:03,916.916 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:36:03,936.936 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:36:04,045.045 INFO    ] No existing commands found in stream
[2026-10-20 19:36:09,057.057 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:36:09,060.060 INFO    ] Waiting 3.44 seconds before fallback handling...
[2026-10-20 19:36:13,556.556 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:36:13,559.559 INFO    ] Checking for system updates...
[2026-10-20 19:36:13,595.595 INFO    ] 200
[2026-10-20 19:36:13,597.597 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:36:13,656.656 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:36:13,659.659 INFO    ] No update needed
[2026-10-20 19:36:13,661.661 INFO    ] Checking for camera pi updates...
[2026-10-20 19:36:13,695.695 INFO    ] 200
[2026-10-20 19:36:13,697.697 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:36:13,736.736 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:36:13,785.785 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:36:13,787.787 INFO    ] No camera update needed
[2026-10-20 19:36:13,790.790 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:36:13,792.792 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:36:13,797.797 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:36:13,803.803 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:36:15,842.842 INFO    ] ================================================
[2026-10-20 19:36:15,857.857 INFO    ] Launching Daemon at Tue Oct 20 19:36:15 IST 2026
[2026-10-20 19:36:15,867.867 INFO    ] ================================================
[2026-10-20 19:36:16,445.445 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:36:16
[2026-10-20 19:36:17,046.046 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:36:17,321.321 INFO    ] Initializing speech engine...
[2026-10-20 19:36:17,331.331 INFO    ] 2026-10-20 19:36:17
[2026-10-20 19:36:17,596.596 INFO    ] 2026-10-20 19:36:17
[2026-10-20 19:36:17,627.627 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:36:17,883.883 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:36:17,890.890 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:36:18,123.123 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:36:18,147.147 INFO    ] time= 20/10/2026 19:36:18
[2026-10-20 19:36:18,153.153 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:36:18,174.174 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:36:18,306.306 INFO    ] No existing commands found in stream
[2026-10-20 19:36:23,328.328 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:36:23,331.331 INFO    ] Waiting 2.22 seconds before fallback handling...
[2026-10-20 19:36:26,074.074 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:36:26,077.077 INFO    ] Checking for system updates...
[2026-10-20 19:36:26,117.117 INFO    ] 200
[2026-10-20 19:36:26,119.119 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:36:26,180.180 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:36:26,183.183 INFO    ] No update needed
[2026-10-20 19:36:26,186.186 INFO    ] Checking for camera pi updates...
[2026-10-20 19:36:26,219.219 INFO    ] 200
[2026-10-20 19:36:26,222.222 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:36:26,261.261 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:36:26,411.411 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:36:26,414.414 INFO    ] No camera update needed
[2026-10-20 19:36:26,416.416 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:36:26,418.418 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:36:26,424.424 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:36:26,429.429 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:36:28,469.469 INFO    ] ================================================
[2026-10-20 19:36:28,484.484 INFO    ] Launching Daemon at Tue Oct 20 19:36:28 IST 2026
[2026-10-20 19:36:28,495.495 INFO    ] ================================================
[2026-10-20 19:36:29,079.079 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:36:29
[2026-10-20 19:36:29,677.677 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:36:29,956.956 INFO    ] Initializing speech engine...
[2026-10-20 19:36:29,962.962 INFO    ] 2026-10-20 19:36:29
[2026-10-20 19:36:30,223.223 INFO    ] 2026-10-20 19:36:30
[2026-10-20 19:36:30,252.252 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:36:30,497.497 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:36:30,506.506 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:36:30,707.707 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:36:30,764.764 INFO    ] time= 20/10/2026 19:36:30
[2026-10-20 19:36:30,771.771 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:36:30,789.789 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:36:30,934.934 INFO    ] No existing commands found in stream
[2026-10-20 19:36:35,971.971 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:36:35,974.974 INFO    ] Waiting 3.15 seconds before fallback handling...
[2026-10-20 19:36:39,654.654 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:36:39,657.657 INFO    ] Checking for system updates...
[2026-10-20 19:36:39,697.697 INFO    ] 200
[2026-10-20 19:36:39,700.700 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:36:39,760.760 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:36:39,762.762 INFO    ] No update needed
[2026-10-20 19:36:39,765.765 INFO    ] Checking for camera pi updates...
[2026-10-20 19:36:39,799.799 INFO    ] 200
[2026-10-20 19:36:39,801.801 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:36:39,848.848 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:36:39,894.894 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:36:39,896.896 INFO    ] No camera update needed
[2026-10-20 19:36:39,899.899 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:36:39,901.901 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:36:39,907.907 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:36:39,912.912 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:36:41,953.953 INFO    ] ================================================
[2026-10-20 19:36:41,968.968 INFO    ] Launching Daemon at Tue Oct 20 19:36:41 IST 2026
[2026-10-20 19:36:41,979.979 INFO    ] ================================================
[2026-10-20 19:36:42,551.551 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:36:42
[2026-10-20 19:36:43,141.141 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:36:43,391.391 INFO    ] Initializing speech engine...
[2026-10-20 19:36:43,406.406 INFO    ] 2026-10-20 19:36:43
[2026-10-20 19:36:43,671.671 INFO    ] 2026-10-20 19:36:43
[2026-10-20 19:36:43,706.706 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:36:43,966.966 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:36:43,977.977 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:36:44,132.132 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:36:44,193.193 INFO    ] time= 20/10/2026 19:36:44
[2026-10-20 19:36:44,243.243 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:36:44,249.249 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:36:44,398.398 INFO    ] No existing commands found in stream
[2026-10-20 19:36:49,414.414 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:36:49,417.417 INFO    ] Waiting 3.65 seconds before fallback handling...
[2026-10-20 19:36:53,593.593 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:36:53,596.596 INFO    ] Checking for system updates...
[2026-10-20 19:36:53,638.638 INFO    ] 200
[2026-10-20 19:36:53,641.641 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:36:53,694.694 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:36:53,697.697 INFO    ] No update needed
[2026-10-20 19:36:53,700.700 INFO    ] Checking for camera pi updates...
[2026-10-20 19:36:53,734.734 INFO    ] 200
[2026-10-20 19:36:53,737.737 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:36:53,778.778 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:36:53,832.832 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:36:53,835.835 INFO    ] No camera update needed
[2026-10-20 19:36:53,838.838 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:36:53,841.841 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:36:53,848.848 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:36:53,855.855 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:36:55,897.897 INFO    ] ================================================
[2026-10-20 19:36:55,913.913 INFO    ] Launching Daemon at Tue Oct 20 19:36:55 IST 2026
[2026-10-20 19:36:55,923.923 INFO    ] ================================================
[2026-10-20 19:36:56,503.503 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:36:56
[2026-10-20 19:36:57,102.102 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:36:57,375.375 INFO    ] Initializing speech engine...
[2026-10-20 19:36:57,384.384 INFO    ] 2026-10-20 19:36:57
[2026-10-20 19:36:57,647.647 INFO    ] 2026-10-20 19:36:57
[2026-10-20 19:36:57,700.700 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:36:57,926.926 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:36:57,930.930 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:36:58,140.140 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:36:58,188.188 INFO    ] time= 20/10/2026 19:36:58
[2026-10-20 19:36:58,194.194 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:36:58,212.212 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:36:58,363.363 INFO    ] No existing commands found in stream
[2026-10-20 19:37:03,391.391 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:37:03,394.394 INFO    ] Waiting 1.37 seconds before fallback handling...
[2026-10-20 19:37:05,252.252 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 19:37:05,255.255 INFO    ] Checking for system updates...
[2026-10-20 19:37:05,291.291 INFO    ] 200
[2026-10-20 19:37:05,293.293 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:37:05,345.345 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:37:05,347.347 INFO    ] No update needed
[2026-10-20 19:37:05,349.349 INFO    ] Checking for camera pi updates...
[2026-10-20 19:37:05,383.383 INFO    ] 200
[2026-10-20 19:37:05,385.385 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:37:05,431.431 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:37:05,482.482 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:37:05,485.485 INFO    ] No camera update needed
[2026-10-20 19:37:05,487.487 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:37:05,490.490 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:37:05,495.495 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:37:05,500.500 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:37:07,542.542 INFO    ] ================================================
[2026-10-20 19:37:07,557.557 INFO    ] Launching Daemon at Tue Oct 20 19:37:07 IST 2026
[2026-10-20 19:37:07,568.568 INFO    ] ================================================
[2026-10-20 19:37:08,142.142 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:37:08
[2026-10-20 19:37:08,734.734 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:37:08,997.997 INFO    ] Initializing speech engine...
[2026-10-20 19:37:09,017.017 INFO    ] 2026-10-20 19:37:09
[2026-10-20 19:37:09,269.269 INFO    ] 2026-10-20 19:37:09
[2026-10-20 19:37:09,305.305 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:37:09,504.504 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:37:09,538.538 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:37:09,710.710 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:37:09,731.731 INFO    ] time= 20/10/2026 19:37:09
[2026-10-20 19:37:09,791.791 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:37:09,845.845 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:37:09,996.996 INFO    ] No existing commands found in stream
[2026-10-20 19:37:15,011.011 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:37:15,013.013 INFO    ] Waiting 3.22 seconds before fallback handling...
[2026-10-20 19:37:18,750.750 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 19:37:18,752.752 INFO    ] Checking for system updates...
[2026-10-20 19:37:18,794.794 INFO    ] 200
[2026-10-20 19:37:18,797.797 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:37:18,850.850 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:37:18,853.853 INFO    ] No update needed
[2026-10-20 19:37:18,856.856 INFO    ] Checking for camera pi updates...
[2026-10-20 19:37:18,891.891 INFO    ] 200
[2026-10-20 19:37:18,893.893 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:37:18,935.935 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:37:18,982.982 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:37:18,985.985 INFO    ] No camera update needed
[2026-10-20 19:37:18,988.988 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:37:18,991.991 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:37:18,997.997 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:37:19,003.003 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:37:21,045.045 INFO    ] ================================================
[2026-10-20 19:37:21,060.060 INFO    ] Launching Daemon at Tue Oct 20 19:37:21 IST 2026
[2026-10-20 19:37:21,071.071 INFO    ] ================================================
[2026-10-20 19:37:21,664.664 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:37:21
[2026-10-20 19:37:22,267.267 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:37:22,546.546 INFO    ] Initializing speech engine...
[2026-10-20 19:37:22,556.556 INFO    ] 2026-10-20 19:37:22
[2026-10-20 19:37:22,809.809 INFO    ] 2026-10-20 19:37:22
[2026-10-20 19:37:22,851.851 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:37:23,099.099 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:37:23,110.110 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:37:23,314.314 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:37:23,369.369 INFO    ] time= 20/10/2026 19:37:23
[2026-10-20 19:37:23,375.375 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:37:23,394.394 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:37:23,545.545 INFO    ] No existing commands found in stream
[2026-10-20 19:37:28,571.571 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:37:28,574.574 INFO    ] Waiting 2.43 seconds before fallback handling...
[2026-10-20 19:37:31,541.541 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:37:31,544.544 INFO    ] Checking for system updates...
[2026-10-20 19:37:31,583.583 INFO    ] 200
[2026-10-20 19:37:31,586.586 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:37:31,638.638 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:37:31,640.640 INFO    ] No update needed
[2026-10-20 19:37:31,643.643 INFO    ] Checking for camera pi updates...
[2026-10-20 19:37:31,676.676 INFO    ] 200
[2026-10-20 19:37:31,678.678 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:37:31,718.718 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:37:31,753.753 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:37:31,756.756 INFO    ] No camera update needed
[2026-10-20 19:37:31,758.758 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:37:31,761.761 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:37:31,766.766 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:37:31,772.772 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:37:33,813.813 INFO    ] ================================================
[2026-10-20 19:37:33,828.828 INFO    ] Launching Daemon at Tue Oct 20 19:37:33 IST 2026
[2026-10-20 19:37:33,839.839 INFO    ] ================================================
[2026-10-20 19:37:34,427.427 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:37:34
[2026-10-20 19:37:35,033.033 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:37:35,297.297 INFO    ] Initializing speech engine...
[2026-10-20 19:37:35,312.312 INFO    ] 2026-10-20 19:37:35
[2026-10-20 19:37:35,605.605 INFO    ] 2026-10-20 19:37:35
[2026-10-20 19:37:35,641.641 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:37:35,854.854 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:37:35,875.875 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:37:36,027.027 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:37:36,034.034 INFO    ] time= 20/10/2026 19:37:36
[2026-10-20 19:37:36,093.093 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:37:36,111.111 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:37:36,227.227 INFO    ] No existing commands found in stream
[2026-10-20 19:37:41,258.258 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:37:41,261.261 INFO    ] Waiting 0.76 seconds before fallback handling...
[2026-10-20 19:37:42,511.511 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:37:42,514.514 INFO    ] Checking for system updates...
[2026-10-20 19:37:42,553.553 INFO    ] 200
[2026-10-20 19:37:42,556.556 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:37:42,614.614 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:37:42,617.617 INFO    ] No update needed
[2026-10-20 19:37:42,619.619 INFO    ] Checking for camera pi updates...
[2026-10-20 19:37:42,656.656 INFO    ] 200
[2026-10-20 19:37:42,659.659 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:37:42,698.698 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:37:42,743.743 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:37:42,745.745 INFO    ] No camera update needed
[2026-10-20 19:37:42,747.747 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:37:42,750.750 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:37:42,755.755 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:37:42,760.760 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:37:44,800.800 INFO    ] ================================================
[2026-10-20 19:37:44,815.815 INFO    ] Launching Daemon at Tue Oct 20 19:37:44 IST 2026
[2026-10-20 19:37:44,825.825 INFO    ] ================================================
[2026-10-20 19:37:45,486.486 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:37:45
[2026-10-20 19:37:46,167.167 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:37:46,476.476 INFO    ] Initializing speech engine...
[2026-10-20 19:37:46,490.490 INFO    ] 2026-10-20 19:37:46
[2026-10-20 19:37:46,763.763 INFO    ] 2026-10-20 19:37:46
[2026-10-20 19:37:46,823.823 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:37:47,083.083 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:37:47,102.102 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:37:47,321.321 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:37:47,339.339 INFO    ] time= 20/10/2026 19:37:47
[2026-10-20 19:37:47,348.348 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:37:47,375.375 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:37:47,488.488 INFO    ] No existing commands found in stream
[2026-10-20 19:37:52,519.519 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:37:52,522.522 INFO    ] Waiting 1.84 seconds before fallback handling...
[2026-10-20 19:37:54,881.881 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:37:54,884.884 INFO    ] Checking for system updates...
[2026-10-20 19:37:54,921.921 INFO    ] 200
[2026-10-20 19:37:54,924.924 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:37:54,977.977 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:37:54,980.980 INFO    ] No update needed
[2026-10-20 19:37:54,982.982 INFO    ] Checking for camera pi updates...
[2026-10-20 19:37:55,017.017 INFO    ] 200
[2026-10-20 19:37:55,020.020 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:37:55,062.062 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:37:55,111.111 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:37:55,113.113 INFO    ] No camera update needed
[2026-10-20 19:37:55,116.116 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:37:55,119.119 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:37:55,125.125 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:37:55,131.131 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:37:57,171.171 INFO    ] ================================================
[2026-10-20 19:37:57,186.186 INFO    ] Launching Daemon at Tue Oct 20 19:37:57 IST 2026
[2026-10-20 19:37:57,197.197 INFO    ] ================================================
[2026-10-20 19:37:57,864.864 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:37:57
[2026-10-20 19:37:58,544.544 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:37:58,851.851 INFO    ] Initializing speech engine...
[2026-10-20 19:37:58,860.860 INFO    ] 2026-10-20 19:37:58
[2026-10-20 19:37:59,149.149 INFO    ] 2026-10-20 19:37:59
[2026-10-20 19:37:59,197.197 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:37:59,491.491 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:37:59,497.497 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:37:59,696.696 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:37:59,714.714 INFO    ] time= 20/10/2026 19:37:59
[2026-10-20 19:37:59,724.724 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:37:59,753.753 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:37:59,865.865 INFO    ] No existing commands found in stream
[2026-10-20 19:38:04,895.895 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:38:04,899.899 INFO    ] Waiting 3.19 seconds before fallback handling...
[2026-10-20 19:38:08,630.630 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:38:08,633.633 INFO    ] Checking for system updates...
[2026-10-20 19:38:08,669.669 INFO    ] 200
[2026-10-20 19:38:08,672.672 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:38:08,724.724 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:38:08,727.727 INFO    ] No update needed
[2026-10-20 19:38:08,730.730 INFO    ] Checking for camera pi updates...
[2026-10-20 19:38:08,764.764 INFO    ] 200
[2026-10-20 19:38:08,767.767 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:38:08,808.808 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:38:08,856.856 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:38:08,859.859 INFO    ] No camera update needed
[2026-10-20 19:38:08,862.862 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:38:08,865.865 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:38:08,871.871 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:38:08,877.877 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:38:10,917.917 INFO    ] ================================================
[2026-10-20 19:38:10,932.932 INFO    ] Launching Daemon at Tue Oct 20 19:38:10 IST 2026
[2026-10-20 19:38:10,943.943 INFO    ] ================================================
[2026-10-20 19:38:11,598.598 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:38:11
[2026-10-20 19:38:12,193.193 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:38:12,465.465 INFO    ] Initializing speech engine...
[2026-10-20 19:38:12,484.484 INFO    ] 2026-10-20 19:38:12
[2026-10-20 19:38:12,755.755 INFO    ] 2026-10-20 19:38:12
[2026-10-20 19:38:12,789.789 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:38:13,018.018 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:38:13,026.026 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:38:13,223.223 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:38:13,256.256 INFO    ] time= 20/10/2026 19:38:13
[2026-10-20 19:38:13,262.262 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:38:13,311.311 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:38:13,428.428 INFO    ] No existing commands found in stream
[2026-10-20 19:38:18,441.441 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:38:18,444.444 INFO    ] Waiting 2.23 seconds before fallback handling...
[2026-10-20 19:38:21,158.158 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:38:21,160.160 INFO    ] Checking for system updates...
[2026-10-20 19:38:21,200.200 INFO    ] 200
[2026-10-20 19:38:21,202.202 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:38:21,264.264 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:38:21,267.267 INFO    ] No update needed
[2026-10-20 19:38:21,270.270 INFO    ] Checking for camera pi updates...
[2026-10-20 19:38:21,304.304 INFO    ] 200
[2026-10-20 19:38:21,307.307 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:38:21,347.347 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:38:21,402.402 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:38:21,405.405 INFO    ] No camera update needed
[2026-10-20 19:38:21,408.408 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:38:21,411.411 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:38:21,417.417 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:38:21,423.423 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:38:23,462.462 INFO    ] ================================================
[2026-10-20 19:38:23,477.477 INFO    ] Launching Daemon at Tue Oct 20 19:38:23 IST 2026
[2026-10-20 19:38:23,488.488 INFO    ] ================================================
[2026-10-20 19:38:24,066.066 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:38:24
[2026-10-20 19:38:24,652.652 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:38:24,933.933 INFO    ] Initializing speech engine...
[2026-10-20 19:38:24,938.938 INFO    ] 2026-10-20 19:38:24
[2026-10-20 19:38:25,203.203 INFO    ] 2026-10-20 19:38:25
[2026-10-20 19:38:25,238.238 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:38:25,466.466 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:38:25,474.474 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:38:25,696.696 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:38:25,704.704 INFO    ] time= 20/10/2026 19:38:25
[2026-10-20 19:38:25,752.752 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:38:25,801.801 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:38:25,972.972 INFO    ] No existing commands found in stream
[2026-10-20 19:38:30,996.996 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:38:30,999.999 INFO    ] Waiting 0.81 seconds before fallback handling...
[2026-10-20 19:38:32,356.356 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:38:32,359.359 INFO    ] Checking for system updates...
[2026-10-20 19:38:32,398.398 INFO    ] 200
[2026-10-20 19:38:32,401.401 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:38:32,458.458 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:38:32,461.461 INFO    ] No update needed
[2026-10-20 19:38:32,465.465 INFO    ] Checking for camera pi updates...
[2026-10-20 19:38:32,507.507 INFO    ] 200
[2026-10-20 19:38:32,511.511 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:38:32,555.555 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:38:32,588.588 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:38:32,592.592 INFO    ] No camera update needed
[2026-10-20 19:38:32,595.595 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:38:32,599.599 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:38:32,607.607 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:38:32,614.614 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:38:34,663.663 INFO    ] ================================================
[2026-10-20 19:38:34,681.681 INFO    ] Launching Daemon at Tue Oct 20 19:38:34 IST 2026
[2026-10-20 19:38:34,693.693 INFO    ] ================================================
[2026-10-20 19:38:35,306.306 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:38:35
[2026-10-20 19:38:35,931.931 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:38:36,190.190 INFO    ] Initializing speech engine...
[2026-10-20 19:38:36,199.199 INFO    ] 2026-10-20 19:38:36
[2026-10-20 19:38:36,500.500 INFO    ] 2026-10-20 19:38:36
[2026-10-20 19:38:36,539.539 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:38:36,742.742 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:38:36,758.758 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:38:36,925.925 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:38:36,933.933 INFO    ] time= 20/10/2026 19:38:36
[2026-10-20 19:38:36,940.940 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:38:36,946.946 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:38:37,084.084 INFO    ] No existing commands found in stream
[2026-10-20 19:38:42,104.104 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:38:42,107.107 INFO    ] Waiting 2.98 seconds before fallback handling...
[2026-10-20 19:38:45,601.601 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 19:38:45,603.603 INFO    ] Checking for system updates...
[2026-10-20 19:38:45,638.638 INFO    ] 200
[2026-10-20 19:38:45,641.641 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:38:45,692.692 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:38:45,695.695 INFO    ] No update needed
[2026-10-20 19:38:45,697.697 INFO    ] Checking for camera pi updates...
[2026-10-20 19:38:45,731.731 INFO    ] 200
[2026-10-20 19:38:45,734.734 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:38:45,782.782 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:38:45,828.828 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:38:45,830.830 INFO    ] No camera update needed
[2026-10-20 19:38:45,833.833 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:38:45,835.835 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:38:45,840.840 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:38:45,845.845 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:38:47,886.886 INFO    ] ================================================
[2026-10-20 19:38:47,901.901 INFO    ] Launching Daemon at Tue Oct 20 19:38:47 IST 2026
[2026-10-20 19:38:47,913.913 INFO    ] ================================================
[2026-10-20 19:38:48,494.494 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:38:48
[2026-10-20 19:38:49,092.092 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:38:49,371.371 INFO    ] Initializing speech engine...
[2026-10-20 19:38:49,375.375 INFO    ] 2026-10-20 19:38:49
[2026-10-20 19:38:49,637.637 INFO    ] 2026-10-20 19:38:49
[2026-10-20 19:38:49,667.667 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:38:49,915.915 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:38:49,921.921 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:38:50,054.054 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:38:50,114.114 INFO    ] time= 20/10/2026 19:38:50
[2026-10-20 19:38:50,174.174 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:38:50,186.186 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:38:50,333.333 INFO    ] No existing commands found in stream
[2026-10-20 19:38:55,361.361 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:38:55,363.363 INFO    ] Waiting 0.47 seconds before fallback handling...
[2026-10-20 19:38:56,353.353 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:38:56,355.355 INFO    ] Checking for system updates...
[2026-10-20 19:38:56,393.393 INFO    ] 200
[2026-10-20 19:38:56,396.396 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:38:56,449.449 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:38:56,452.452 INFO    ] No update needed
[2026-10-20 19:38:56,455.455 INFO    ] Checking for camera pi updates...
[2026-10-20 19:38:56,489.489 INFO    ] 200
[2026-10-20 19:38:56,492.492 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:38:56,534.534 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:38:56,588.588 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:38:56,591.591 INFO    ] No camera update needed
[2026-10-20 19:38:56,594.594 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:38:56,596.596 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:38:56,603.603 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:38:56,609.609 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:38:58,657.657 INFO    ] ================================================
[2026-10-20 19:38:58,673.673 INFO    ] Launching Daemon at Tue Oct 20 19:38:58 IST 2026
[2026-10-20 19:38:58,684.684 INFO    ] ================================================
[2026-10-20 19:38:59,282.282 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:38:59
[2026-10-20 19:38:59,895.895 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:39:00,155.155 INFO    ] Initializing speech engine...
[2026-10-20 19:39:00,162.162 INFO    ] 2026-10-20 19:39:00
[2026-10-20 19:39:00,463.463 INFO    ] 2026-10-20 19:39:00
[2026-10-20 19:39:00,498.498 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:39:00,705.705 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:39:00,718.718 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:39:00,866.866 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:39:00,889.889 INFO    ] time= 20/10/2026 19:39:00
[2026-10-20 19:39:00,898.898 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:39:00,905.905 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:39:01,050.050 INFO    ] No existing commands found in stream
[2026-10-20 19:39:06,080.080 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:39:06,083.083 INFO    ] Waiting 0.85 seconds before fallback handling...
[2026-10-20 19:39:07,433.433 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:39:07,436.436 INFO    ] Checking for system updates...
[2026-10-20 19:39:07,472.472 INFO    ] 200
[2026-10-20 19:39:07,475.475 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:39:07,526.526 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:39:07,528.528 INFO    ] No update needed
[2026-10-20 19:39:07,531.531 INFO    ] Checking for camera pi updates...
[2026-10-20 19:39:07,565.565 INFO    ] 200
[2026-10-20 19:39:07,567.567 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:39:07,606.606 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:39:07,667.667 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:39:07,670.670 INFO    ] No camera update needed
[2026-10-20 19:39:07,672.672 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:39:07,674.674 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:39:07,679.679 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:39:07,684.684 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:39:09,725.725 INFO    ] ================================================
[2026-10-20 19:39:09,740.740 INFO    ] Launching Daemon at Tue Oct 20 19:39:09 IST 2026
[2026-10-20 19:39:09,751.751 INFO    ] ================================================
[2026-10-20 19:39:10,343.343 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:39:10
[2026-10-20 19:39:10,998.998 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:39:11,304.304 INFO    ] Initializing speech engine...
[2026-10-20 19:39:11,312.312 INFO    ] 2026-10-20 19:39:11
[2026-10-20 19:39:11,587.587 INFO    ] 2026-10-20 19:39:11
[2026-10-20 19:39:11,644.644 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:39:11,927.927 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:39:11,933.933 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:39:12,170.170 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:39:12,180.180 INFO    ] time= 20/10/2026 19:39:12
[2026-10-20 19:39:12,188.188 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:39:12,219.219 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:39:12,380.380 INFO    ] No existing commands found in stream
[2026-10-20 19:39:17,398.398 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:39:17,401.401 INFO    ] Waiting 0.11 seconds before fallback handling...
[2026-10-20 19:39:18,036.036 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:39:18,039.039 INFO    ] Checking for system updates...
[2026-10-20 19:39:18,080.080 INFO    ] 200
[2026-10-20 19:39:18,083.083 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:39:18,147.147 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:39:18,150.150 INFO    ] No update needed
[2026-10-20 19:39:18,153.153 INFO    ] Checking for camera pi updates...
[2026-10-20 19:39:18,188.188 INFO    ] 200
[2026-10-20 19:39:18,191.191 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:39:18,232.232 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:39:18,282.282 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:39:18,285.285 INFO    ] No camera update needed
[2026-10-20 19:39:18,288.288 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:39:18,290.290 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:39:18,297.297 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:39:18,302.302 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:39:20,343.343 INFO    ] ================================================
[2026-10-20 19:39:20,358.358 INFO    ] Launching Daemon at Tue Oct 20 19:39:20 IST 2026
[2026-10-20 19:39:20,369.369 INFO    ] ================================================
[2026-10-20 19:39:20,949.949 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:39:20
[2026-10-20 19:39:21,540.540 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:39:21,814.814 INFO    ] Initializing speech engine...
[2026-10-20 19:39:21,819.819 INFO    ] 2026-10-20 19:39:21
[2026-10-20 19:39:22,064.064 INFO    ] 2026-10-20 19:39:22
[2026-10-20 19:39:22,100.100 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:39:22,351.351 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:39:22,360.360 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:39:22,563.563 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:39:22,620.620 INFO    ] time= 20/10/2026 19:39:22
[2026-10-20 19:39:22,636.636 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:39:22,644.644 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:39:22,773.773 INFO    ] No existing commands found in stream
[2026-10-20 19:39:27,788.788 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:39:27,795.795 INFO    ] Waiting 0.99 seconds before fallback handling...
[2026-10-20 19:39:29,282.282 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:39:29,285.285 INFO    ] Checking for system updates...
[2026-10-20 19:39:29,321.321 INFO    ] 200
[2026-10-20 19:39:29,324.324 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:39:29,376.376 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:39:29,379.379 INFO    ] No update needed
[2026-10-20 19:39:29,382.382 INFO    ] Checking for camera pi updates...
[2026-10-20 19:39:29,425.425 INFO    ] 200
[2026-10-20 19:39:29,428.428 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:39:29,470.470 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:39:29,517.517 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:39:29,520.520 INFO    ] No camera update needed
[2026-10-20 19:39:29,523.523 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:39:29,526.526 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:39:29,533.533 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:39:29,539.539 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:39:31,579.579 INFO    ] ================================================
[2026-10-20 19:39:31,593.593 INFO    ] Launching Daemon at Tue Oct 20 19:39:31 IST 2026
[2026-10-20 19:39:31,605.605 INFO    ] ================================================
[2026-10-20 19:39:32,208.208 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:39:32
[2026-10-20 19:39:32,841.841 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:39:33,134.134 INFO    ] Initializing speech engine...
[2026-10-20 19:39:33,140.140 INFO    ] 2026-10-20 19:39:33
[2026-10-20 19:39:33,405.405 INFO    ] 2026-10-20 19:39:33
[2026-10-20 19:39:33,454.454 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:39:33,645.645 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:39:33,703.703 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:39:33,914.914 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:39:33,974.974 INFO    ] time= 20/10/2026 19:39:33
[2026-10-20 19:39:33,981.981 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:39:33,999.999 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:39:34,134.134 INFO    ] No existing commands found in stream
[2026-10-20 19:39:39,145.145 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:39:39,148.148 INFO    ] Waiting 1.85 seconds before fallback handling...
[2026-10-20 19:39:41,457.457 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 19:39:41,460.460 INFO    ] Checking for system updates...
[2026-10-20 19:39:41,499.499 INFO    ] 200
[2026-10-20 19:39:41,502.502 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:39:41,555.555 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:39:41,557.557 INFO    ] No update needed
[2026-10-20 19:39:41,560.560 INFO    ] Checking for camera pi updates...
[2026-10-20 19:39:41,593.593 INFO    ] 200
[2026-10-20 19:39:41,595.595 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:39:41,636.636 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:39:41,690.690 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:39:41,692.692 INFO    ] No camera update needed
[2026-10-20 19:39:41,695.695 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:39:41,697.697 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:39:41,703.703 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:39:41,708.708 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:39:43,748.748 INFO    ] ================================================
[2026-10-20 19:39:43,763.763 INFO    ] Launching Daemon at Tue Oct 20 19:39:43 IST 2026
[2026-10-20 19:39:43,774.774 INFO    ] ================================================
[2026-10-20 19:39:44,342.342 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:39:44
[2026-10-20 19:39:44,929.929 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:39:45,191.191 INFO    ] Initializing speech engine...
[2026-10-20 19:39:45,209.209 INFO    ] 2026-10-20 19:39:45
[2026-10-20 19:39:45,463.463 INFO    ] 2026-10-20 19:39:45
[2026-10-20 19:39:45,497.497 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:39:45,699.699 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:39:45,722.722 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:39:45,921.921 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:39:45,992.992 INFO    ] time= 20/10/2026 19:39:45
[2026-10-20 19:39:46,041.041 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:39:46,052.052 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:39:46,223.223 INFO    ] No existing commands found in stream
[2026-10-20 19:39:51,254.254 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:39:51,257.257 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-10-20 19:39:54,949.949 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:39:54,953.953 INFO    ] Checking for system updates...
[2026-10-20 19:39:54,993.993 INFO    ] 200
[2026-10-20 19:39:54,996.996 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:39:55,049.049 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:39:55,052.052 INFO    ] No update needed
[2026-10-20 19:39:55,055.055 INFO    ] Checking for camera pi updates...
[2026-10-20 19:39:55,090.090 INFO    ] 200
[2026-10-20 19:39:55,092.092 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:39:55,133.133 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:39:55,179.179 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:39:55,181.181 INFO    ] No camera update needed
[2026-10-20 19:39:55,184.184 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:39:55,186.186 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:39:55,191.191 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:39:55,196.196 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:39:57,236.236 INFO    ] ================================================
[2026-10-20 19:39:57,252.252 INFO    ] Launching Daemon at Tue Oct 20 19:39:57 IST 2026
[2026-10-20 19:39:57,263.263 INFO    ] ================================================
[2026-10-20 19:39:57,852.852 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:39:57
[2026-10-20 19:39:58,451.451 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:39:58,730.730 INFO    ] Initializing speech engine...
[2026-10-20 19:39:58,736.736 INFO    ] 2026-10-20 19:39:58
[2026-10-20 19:39:58,999.999 INFO    ] 2026-10-20 19:39:58
[2026-10-20 19:39:59,029.029 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:39:59,299.299 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:39:59,307.307 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:39:59,517.517 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:39:59,543.543 INFO    ] time= 20/10/2026 19:39:59
[2026-10-20 19:39:59,558.558 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:39:59,568.568 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:39:59,698.698 INFO    ] No existing commands found in stream
[2026-10-20 19:40:04,721.721 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:40:04,724.724 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-10-20 19:40:07,582.582 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:40:07,585.585 INFO    ] Checking for system updates...
[2026-10-20 19:40:07,621.621 INFO    ] 200
[2026-10-20 19:40:07,623.623 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:40:07,702.702 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:40:07,704.704 INFO    ] No update needed
[2026-10-20 19:40:07,707.707 INFO    ] Checking for camera pi updates...
[2026-10-20 19:40:07,743.743 INFO    ] 200
[2026-10-20 19:40:07,746.746 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:40:07,785.785 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:40:07,815.815 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:40:07,817.817 INFO    ] No camera update needed
[2026-10-20 19:40:07,820.820 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:40:07,822.822 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:40:07,828.828 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:40:07,833.833 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:40:09,875.875 INFO    ] ================================================
[2026-10-20 19:40:09,891.891 INFO    ] Launching Daemon at Tue Oct 20 19:40:09 IST 2026
[2026-10-20 19:40:09,902.902 INFO    ] ================================================
[2026-10-20 19:40:10,473.473 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:40:10
[2026-10-20 19:40:11,061.061 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:40:11,318.318 INFO    ] Initializing speech engine...
[2026-10-20 19:40:11,326.326 INFO    ] 2026-10-20 19:40:11
[2026-10-20 19:40:11,616.616 INFO    ] 2026-10-20 19:40:11
[2026-10-20 19:40:11,654.654 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:40:11,849.849 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:40:11,864.864 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:40:12,077.077 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:40:12,084.084 INFO    ] time= 20/10/2026 19:40:12
[2026-10-20 19:40:12,154.154 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:40:12,214.214 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:40:12,369.369 INFO    ] No existing commands found in stream
[2026-10-20 19:40:17,383.383 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:40:17,386.386 INFO    ] Waiting 0.56 seconds before fallback handling...
[2026-10-20 19:40:18,452.452 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:40:18,454.454 INFO    ] Checking for system updates...
[2026-10-20 19:40:18,491.491 INFO    ] 200
[2026-10-20 19:40:18,493.493 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:40:18,553.553 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:40:18,556.556 INFO    ] No update needed
[2026-10-20 19:40:18,559.559 INFO    ] Checking for camera pi updates...
[2026-10-20 19:40:18,593.593 INFO    ] 200
[2026-10-20 19:40:18,596.596 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:40:18,637.637 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:40:18,693.693 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:40:18,696.696 INFO    ] No camera update needed
[2026-10-20 19:40:18,699.699 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:40:18,701.701 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:40:18,707.707 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:40:18,713.713 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:40:20,754.754 INFO    ] ================================================
[2026-10-20 19:40:20,769.769 INFO    ] Launching Daemon at Tue Oct 20 19:40:20 IST 2026
[2026-10-20 19:40:20,780.780 INFO    ] ================================================
[2026-10-20 19:40:21,426.426 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:40:21
[2026-10-20 19:40:22,094.094 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:40:22,396.396 INFO    ] Initializing speech engine...
[2026-10-20 19:40:22,403.403 INFO    ] 2026-10-20 19:40:22
[2026-10-20 19:40:22,692.692 INFO    ] 2026-10-20 19:40:22
[2026-10-20 19:40:22,741.741 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:40:22,973.973 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:40:22,979.979 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:40:23,202.202 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:40:23,244.244 INFO    ] time= 20/10/2026 19:40:23
[2026-10-20 19:40:23,262.262 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:40:23,272.272 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:40:23,387.387 INFO    ] No existing commands found in stream
[2026-10-20 19:40:28,414.414 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:40:28,417.417 INFO    ] Waiting 2.58 seconds before fallback handling...
[2026-10-20 19:40:31,519.519 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:40:31,523.523 INFO    ] Checking for system updates...
[2026-10-20 19:40:31,562.562 INFO    ] 200
[2026-10-20 19:40:31,565.565 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:40:31,621.621 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:40:31,624.624 INFO    ] No update needed
[2026-10-20 19:40:31,627.627 INFO    ] Checking for camera pi updates...
[2026-10-20 19:40:31,666.666 INFO    ] 200
[2026-10-20 19:40:31,670.670 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:40:31,722.722 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:40:31,763.763 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:40:31,767.767 INFO    ] No camera update needed
[2026-10-20 19:40:31,771.771 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:40:31,775.775 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:40:31,783.783 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:40:31,790.790 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:40:33,833.833 INFO    ] ================================================
[2026-10-20 19:40:33,849.849 INFO    ] Launching Daemon at Tue Oct 20 19:40:33 IST 2026
[2026-10-20 19:40:33,859.859 INFO    ] ================================================
[2026-10-20 19:40:34,430.430 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:40:34
[2026-10-20 19:40:35,029.029 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:40:35,308.308 INFO    ] Initializing speech engine...
[2026-10-20 19:40:35,315.315 INFO    ] 2026-10-20 19:40:35
[2026-10-20 19:40:35,564.564 INFO    ] 2026-10-20 19:40:35
[2026-10-20 19:40:35,629.629 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:40:35,850.850 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:40:35,860.860 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:40:36,066.066 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:40:36,111.111 INFO    ] time= 20/10/2026 19:40:36
[2026-10-20 19:40:36,125.125 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:40:36,143.143 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:40:36,274.274 INFO    ] No existing commands found in stream
[2026-10-20 19:40:41,286.286 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:40:41,289.289 INFO    ] Waiting 1.68 seconds before fallback handling...
[2026-10-20 19:40:43,509.509 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:40:43,512.512 INFO    ] Checking for system updates...
[2026-10-20 19:40:43,549.549 INFO    ] 200
[2026-10-20 19:40:43,551.551 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:40:43,610.610 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:40:43,612.612 INFO    ] No update needed
[2026-10-20 19:40:43,615.615 INFO    ] Checking for camera pi updates...
[2026-10-20 19:40:43,649.649 INFO    ] 200
[2026-10-20 19:40:43,651.651 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:40:43,692.692 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:40:43,839.839 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:40:43,841.841 INFO    ] No camera update needed
[2026-10-20 19:40:43,844.844 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:40:43,847.847 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:40:43,853.853 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:40:43,858.858 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:40:45,900.900 INFO    ] ================================================
[2026-10-20 19:40:45,915.915 INFO    ] Launching Daemon at Tue Oct 20 19:40:45 IST 2026
[2026-10-20 19:40:45,926.926 INFO    ] ================================================
[2026-10-20 19:40:46,511.511 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:40:46
[2026-10-20 19:40:47,113.113 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:40:47,364.364 INFO    ] Initializing speech engine...
[2026-10-20 19:40:47,386.386 INFO    ] 2026-10-20 19:40:47
[2026-10-20 19:40:47,638.638 INFO    ] 2026-10-20 19:40:47
[2026-10-20 19:40:47,673.673 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:40:47,939.939 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:40:47,947.947 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:40:48,093.093 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:40:48,141.141 INFO    ] time= 20/10/2026 19:40:48
[2026-10-20 19:40:48,206.206 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:40:48,239.239 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:40:48,389.389 INFO    ] No existing commands found in stream
[2026-10-20 19:40:53,411.411 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:40:53,414.414 INFO    ] Waiting 2.76 seconds before fallback handling...
[2026-10-20 19:40:56,689.689 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:40:56,692.692 INFO    ] Checking for system updates...
[2026-10-20 19:40:56,729.729 INFO    ] 200
[2026-10-20 19:40:56,731.731 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:40:56,783.783 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:40:56,785.785 INFO    ] No update needed
[2026-10-20 19:40:56,788.788 INFO    ] Checking for camera pi updates...
[2026-10-20 19:40:56,821.821 INFO    ] 200
[2026-10-20 19:40:56,823.823 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:40:56,867.867 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:40:56,913.913 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:40:56,916.916 INFO    ] No camera update needed
[2026-10-20 19:40:56,918.918 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:40:56,920.920 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:40:56,925.925 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:40:56,930.930 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:40:58,970.970 INFO    ] ================================================
[2026-10-20 19:40:58,985.985 INFO    ] Launching Daemon at Tue Oct 20 19:40:58 IST 2026
[2026-10-20 19:40:59,996.996 INFO    ] ================================================
[2026-10-20 19:40:59,571.571 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:40:59
[2026-10-20 19:41:00,167.167 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:41:00,433.433 INFO    ] Initializing speech engine...
[2026-10-20 19:41:00,452.452 INFO    ] 2026-10-20 19:41:00
[2026-10-20 19:41:00,711.711 INFO    ] 2026-10-20 19:41:00
[2026-10-20 19:41:00,745.745 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:41:00,957.957 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:41:00,965.965 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:41:01,174.174 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:41:01,181.181 INFO    ] time= 20/10/2026 19:41:01
[2026-10-20 19:41:01,231.231 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:41:01,280.280 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:41:01,384.384 INFO    ] No existing commands found in stream
[2026-10-20 19:41:06,395.395 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:41:06,397.397 INFO    ] Waiting 3.06 seconds before fallback handling...
[2026-10-20 19:41:09,969.969 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 19:41:09,972.972 INFO    ] Checking for system updates...
[2026-10-20 19:41:10,006.006 INFO    ] 200
[2026-10-20 19:41:10,009.009 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:41:10,066.066 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:41:10,069.069 INFO    ] No update needed
[2026-10-20 19:41:10,071.071 INFO    ] Checking for camera pi updates...
[2026-10-20 19:41:10,104.104 INFO    ] 200
[2026-10-20 19:41:10,106.106 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:41:10,147.147 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:41:10,192.192 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:41:10,194.194 INFO    ] No camera update needed
[2026-10-20 19:41:10,197.197 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:41:10,199.199 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:41:10,204.204 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:41:10,209.209 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:41:12,249.249 INFO    ] ================================================
[2026-10-20 19:41:12,264.264 INFO    ] Launching Daemon at Tue Oct 20 19:41:12 IST 2026
[2026-10-20 19:41:12,275.275 INFO    ] ================================================
[2026-10-20 19:41:12,847.847 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:41:12
[2026-10-20 19:41:13,431.431 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:41:13,700.700 INFO    ] Initializing speech engine...
[2026-10-20 19:41:13,709.709 INFO    ] 2026-10-20 19:41:13
[2026-10-20 19:41:13,952.952 INFO    ] 2026-10-20 19:41:13
[2026-10-20 19:41:13,987.987 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:41:14,242.242 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:41:14,246.246 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:41:14,380.380 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:41:14,440.440 INFO    ] time= 20/10/2026 19:41:14
[2026-10-20 19:41:14,494.494 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:41:14,511.511 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:41:14,660.660 INFO    ] No existing commands found in stream
[2026-10-20 19:41:19,675.675 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:41:19,678.678 INFO    ] Waiting 0.15 seconds before fallback handling...
[2026-10-20 19:41:20,313.313 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:41:20,316.316 INFO    ] Checking for system updates...
[2026-10-20 19:41:20,352.352 INFO    ] 200
[2026-10-20 19:41:20,354.354 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:41:20,410.410 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:41:20,413.413 INFO    ] No update needed
[2026-10-20 19:41:20,415.415 INFO    ] Checking for camera pi updates...
[2026-10-20 19:41:20,448.448 INFO    ] 200
[2026-10-20 19:41:20,451.451 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:41:20,491.491 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:41:20,542.542 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:41:20,545.545 INFO    ] No camera update needed
[2026-10-20 19:41:20,547.547 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:41:20,549.549 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:41:20,555.555 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:41:20,560.560 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:41:22,600.600 INFO    ] ================================================
[2026-10-20 19:41:22,615.615 INFO    ] Launching Daemon at Tue Oct 20 19:41:22 IST 2026
[2026-10-20 19:41:22,626.626 INFO    ] ================================================
[2026-10-20 19:41:23,202.202 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:41:23
[2026-10-20 19:41:23,785.785 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:41:24,036.036 INFO    ] Initializing speech engine...
[2026-10-20 19:41:24,045.045 INFO    ] 2026-10-20 19:41:24
[2026-10-20 19:41:24,335.335 INFO    ] 2026-10-20 19:41:24
[2026-10-20 19:41:24,370.370 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:41:24,591.591 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:41:24,655.655 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:41:24,879.879 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:41:24,934.934 INFO    ] time= 20/10/2026 19:41:24
[2026-10-20 19:41:24,952.952 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:41:24,958.958 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:41:25,116.116 INFO    ] No existing commands found in stream
[2026-10-20 19:41:30,131.131 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:41:30,134.134 INFO    ] Waiting 0.49 seconds before fallback handling...
[2026-10-20 19:41:31,131.131 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:41:31,134.134 INFO    ] Checking for system updates...
[2026-10-20 19:41:31,168.168 INFO    ] 200
[2026-10-20 19:41:31,171.171 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:41:31,222.222 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:41:31,224.224 INFO    ] No update needed
[2026-10-20 19:41:31,227.227 INFO    ] Checking for camera pi updates...
[2026-10-20 19:41:31,263.263 INFO    ] 200
[2026-10-20 19:41:31,265.265 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:41:31,305.305 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:41:31,356.356 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:41:31,358.358 INFO    ] No camera update needed
[2026-10-20 19:41:31,361.361 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:41:31,363.363 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:41:31,368.368 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:41:31,373.373 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:41:33,415.415 INFO    ] ================================================
[2026-10-20 19:41:33,431.431 INFO    ] Launching Daemon at Tue Oct 20 19:41:33 IST 2026
[2026-10-20 19:41:33,441.441 INFO    ] ================================================
[2026-10-20 19:41:34,070.070 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:41:34
[2026-10-20 19:41:34,717.717 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:41:35,014.014 INFO    ] Initializing speech engine...
[2026-10-20 19:41:35,023.023 INFO    ] 2026-10-20 19:41:35
[2026-10-20 19:41:35,288.288 INFO    ] 2026-10-20 19:41:35
[2026-10-20 19:41:35,327.327 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:41:35,583.583 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:41:35,587.587 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:41:35,730.730 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:41:35,795.795 INFO    ] time= 20/10/2026 19:41:35
[2026-10-20 19:41:35,855.855 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:41:35,862.862 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:41:36,020.020 INFO    ] No existing commands found in stream
[2026-10-20 19:41:41,042.042 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:41:41,045.045 INFO    ] Waiting 2.41 seconds before fallback handling...
[2026-10-20 19:41:44,004.004 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:41:44,007.007 INFO    ] Checking for system updates...
[2026-10-20 19:41:44,043.043 INFO    ] 200
[2026-10-20 19:41:44,046.046 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:41:44,099.099 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:41:44,102.102 INFO    ] No update needed
[2026-10-20 19:41:44,104.104 INFO    ] Checking for camera pi updates...
[2026-10-20 19:41:44,141.141 INFO    ] 200
[2026-10-20 19:41:44,143.143 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:41:44,189.189 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:41:44,240.240 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:41:44,242.242 INFO    ] No camera update needed
[2026-10-20 19:41:44,245.245 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:41:44,247.247 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:41:44,253.253 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:41:44,259.259 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:41:46,300.300 INFO    ] ================================================
[2026-10-20 19:41:46,316.316 INFO    ] Launching Daemon at Tue Oct 20 19:41:46 IST 2026
[2026-10-20 19:41:46,327.327 INFO    ] ================================================
[2026-10-20 19:41:46,947.947 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:41:46
[2026-10-20 19:41:47,588.588 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:41:47,884.884 INFO    ] Initializing speech engine...
[2026-10-20 19:41:47,898.898 INFO    ] 2026-10-20 19:41:47
[2026-10-20 19:41:48,175.175 INFO    ] 2026-10-20 19:41:48
[2026-10-20 19:41:48,218.218 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:41:48,503.503 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:41:48,507.507 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:41:48,700.700 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:41:48,709.709 INFO    ] time= 20/10/2026 19:41:48
[2026-10-20 19:41:48,728.728 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:41:48,756.756 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:41:48,912.912 INFO    ] No existing commands found in stream
[2026-10-20 19:41:53,948.948 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:41:53,952.952 INFO    ] Waiting 2.40 seconds before fallback handling...
[2026-10-20 19:41:56,875.875 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 19:41:56,877.877 INFO    ] Checking for system updates...
[2026-10-20 19:41:56,914.914 INFO    ] 200
[2026-10-20 19:41:56,917.917 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:41:56,970.970 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:41:56,972.972 INFO    ] No update needed
[2026-10-20 19:41:56,975.975 INFO    ] Checking for camera pi updates...
[2026-10-20 19:41:57,010.010 INFO    ] 200
[2026-10-20 19:41:57,012.012 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:41:57,054.054 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:41:57,101.101 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:41:57,103.103 INFO    ] No camera update needed
[2026-10-20 19:41:57,106.106 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:41:57,109.109 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:41:57,114.114 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:41:57,120.120 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:41:59,161.161 INFO    ] ================================================
[2026-10-20 19:41:59,175.175 INFO    ] Launching Daemon at Tue Oct 20 19:41:59 IST 2026
[2026-10-20 19:41:59,186.186 INFO    ] ================================================
[2026-10-20 19:41:59,750.750 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:41:59
[2026-10-20 19:42:00,331.331 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:42:00,596.596 INFO    ] Initializing speech engine...
[2026-10-20 19:42:00,612.612 INFO    ] 2026-10-20 19:42:00
[2026-10-20 19:42:00,873.873 INFO    ] 2026-10-20 19:42:00
[2026-10-20 19:42:00,911.911 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:42:01,122.122 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:42:01,129.129 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:42:01,340.340 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:42:01,346.346 INFO    ] time= 20/10/2026 19:42:01
[2026-10-20 19:42:01,401.401 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:42:01,460.460 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:42:01,547.547 INFO    ] No existing commands found in stream
[2026-10-20 19:42:06,558.558 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:42:06,561.561 INFO    ] Waiting 2.19 seconds before fallback handling...
[2026-10-20 19:42:09,268.268 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:42:09,271.271 INFO    ] Checking for system updates...
[2026-10-20 19:42:09,306.306 INFO    ] 200
[2026-10-20 19:42:09,308.308 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:42:09,360.360 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:42:09,362.362 INFO    ] No update needed
[2026-10-20 19:42:09,365.365 INFO    ] Checking for camera pi updates...
[2026-10-20 19:42:09,398.398 INFO    ] 200
[2026-10-20 19:42:09,401.401 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:42:09,440.440 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:42:09,484.484 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:42:09,486.486 INFO    ] No camera update needed
[2026-10-20 19:42:09,489.489 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:42:09,491.491 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:42:09,496.496 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:42:09,501.501 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:42:11,541.541 INFO    ] ================================================
[2026-10-20 19:42:11,555.555 INFO    ] Launching Daemon at Tue Oct 20 19:42:11 IST 2026
[2026-10-20 19:42:11,566.566 INFO    ] ================================================
[2026-10-20 19:42:12,129.129 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:42:12
[2026-10-20 19:42:12,712.712 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:42:12,978.978 INFO    ] Initializing speech engine...
[2026-10-20 19:42:12,990.990 INFO    ] 2026-10-20 19:42:12
[2026-10-20 19:42:13,240.240 INFO    ] 2026-10-20 19:42:13
[2026-10-20 19:42:13,274.274 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:42:13,461.461 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:42:13,477.477 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:42:13,676.676 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:42:13,718.718 INFO    ] time= 20/10/2026 19:42:13
[2026-10-20 19:42:13,767.767 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:42:13,812.812 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:42:13,963.963 INFO    ] No existing commands found in stream
[2026-10-20 19:42:18,977.977 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:42:18,980.980 INFO    ] Waiting 3.84 seconds before fallback handling...
[2026-10-20 19:42:23,325.325 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:42:23,327.327 INFO    ] Checking for system updates...
[2026-10-20 19:42:23,363.363 INFO    ] 200
[2026-10-20 19:42:23,366.366 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:42:23,425.425 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:42:23,427.427 INFO    ] No update needed
[2026-10-20 19:42:23,430.430 INFO    ] Checking for camera pi updates...
[2026-10-20 19:42:23,464.464 INFO    ] 200
[2026-10-20 19:42:23,466.466 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:42:23,506.506 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:42:23,555.555 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:42:23,557.557 INFO    ] No camera update needed
[2026-10-20 19:42:23,560.560 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:42:23,562.562 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:42:23,567.567 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:42:23,572.572 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:42:25,612.612 INFO    ] ================================================
[2026-10-20 19:42:25,628.628 INFO    ] Launching Daemon at Tue Oct 20 19:42:25 IST 2026
[2026-10-20 19:42:25,639.639 INFO    ] ================================================
[2026-10-20 19:42:26,222.222 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:42:26
[2026-10-20 19:42:26,819.819 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:42:27,097.097 INFO    ] Initializing speech engine...
[2026-10-20 19:42:27,103.103 INFO    ] 2026-10-20 19:42:27
[2026-10-20 19:42:27,363.363 INFO    ] 2026-10-20 19:42:27
[2026-10-20 19:42:27,414.414 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:42:27,637.637 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:42:27,646.646 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:42:27,846.846 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:42:27,901.901 INFO    ] time= 20/10/2026 19:42:27
[2026-10-20 19:42:27,911.911 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:42:27,929.929 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:42:28,063.063 INFO    ] No existing commands found in stream
[2026-10-20 19:42:33,089.089 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:42:33,092.092 INFO    ] Waiting 3.65 seconds before fallback handling...
[2026-10-20 19:42:37,253.253 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:42:37,256.256 INFO    ] Checking for system updates...
[2026-10-20 19:42:37,291.291 INFO    ] 200
[2026-10-20 19:42:37,294.294 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:42:37,346.346 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:42:37,348.348 INFO    ] No update needed
[2026-10-20 19:42:37,351.351 INFO    ] Checking for camera pi updates...
[2026-10-20 19:42:37,384.384 INFO    ] 200
[2026-10-20 19:42:37,387.387 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:42:37,431.431 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:42:37,480.480 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:42:37,482.482 INFO    ] No camera update needed
[2026-10-20 19:42:37,485.485 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:42:37,487.487 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:42:37,493.493 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:42:37,498.498 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:42:39,538.538 INFO    ] ================================================
[2026-10-20 19:42:39,553.553 INFO    ] Launching Daemon at Tue Oct 20 19:42:39 IST 2026
[2026-10-20 19:42:39,563.563 INFO    ] ================================================
[2026-10-20 19:42:40,138.138 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:42:40
[2026-10-20 19:42:40,730.730 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:42:40,982.982 INFO    ] Initializing speech engine...
[2026-10-20 19:42:40,998.998 INFO    ] 2026-10-20 19:42:40
[2026-10-20 19:42:41,286.286 INFO    ] 2026-10-20 19:42:41
[2026-10-20 19:42:41,320.320 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:42:41,541.541 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:42:41,604.604 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:42:41,757.757 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:42:41,779.779 INFO    ] time= 20/10/2026 19:42:41
[2026-10-20 19:42:41,828.828 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:42:41,877.877 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:42:42,038.038 INFO    ] No existing commands found in stream
[2026-10-20 19:42:47,058.058 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:42:47,061.061 INFO    ] Waiting 0.54 seconds before fallback handling...
[2026-10-20 19:42:48,092.092 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:42:48,094.094 INFO    ] Checking for system updates...
[2026-10-20 19:42:48,129.129 INFO    ] 200
[2026-10-20 19:42:48,132.132 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:42:48,183.183 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:42:48,185.185 INFO    ] No update needed
[2026-10-20 19:42:48,188.188 INFO    ] Checking for camera pi updates...
[2026-10-20 19:42:48,220.220 INFO    ] 200
[2026-10-20 19:42:48,223.223 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:42:48,263.263 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:42:48,406.406 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:42:48,409.409 INFO    ] No camera update needed
[2026-10-20 19:42:48,411.411 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:42:48,413.413 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:42:48,419.419 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:42:48,424.424 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:42:50,463.463 INFO    ] ================================================
[2026-10-20 19:42:50,477.477 INFO    ] Launching Daemon at Tue Oct 20 19:42:50 IST 2026
[2026-10-20 19:42:50,488.488 INFO    ] ================================================
[2026-10-20 19:42:51,098.098 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:42:51
[2026-10-20 19:42:51,748.748 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:42:52,047.047 INFO    ] Initializing speech engine...
[2026-10-20 19:42:52,055.055 INFO    ] 2026-10-20 19:42:52
[2026-10-20 19:42:52,326.326 INFO    ] 2026-10-20 19:42:52
[2026-10-20 19:42:52,382.382 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:42:52,617.617 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:42:52,623.623 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:42:52,833.833 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:42:52,886.886 INFO    ] time= 20/10/2026 19:42:52
[2026-10-20 19:42:52,894.894 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:42:52,910.910 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:42:53,047.047 INFO    ] No existing commands found in stream
[2026-10-20 19:42:58,067.067 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:42:58,071.071 INFO    ] Waiting 1.66 seconds before fallback handling...
[2026-10-20 19:43:00,302.302 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:43:00,304.304 INFO    ] Checking for system updates...
[2026-10-20 19:43:00,341.341 INFO    ] 200
[2026-10-20 19:43:00,344.344 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:43:00,397.397 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:43:00,400.400 INFO    ] No update needed
[2026-10-20 19:43:00,402.402 INFO    ] Checking for camera pi updates...
[2026-10-20 19:43:00,440.440 INFO    ] 200
[2026-10-20 19:43:00,442.442 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:43:00,485.485 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:43:00,529.529 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:43:00,531.531 INFO    ] No camera update needed
[2026-10-20 19:43:00,534.534 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:43:00,536.536 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:43:00,543.543 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:43:00,548.548 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:43:02,591.591 INFO    ] ================================================
[2026-10-20 19:43:02,608.608 INFO    ] Launching Daemon at Tue Oct 20 19:43:02 IST 2026
[2026-10-20 19:43:02,620.620 INFO    ] ================================================
[2026-10-20 19:43:03,277.277 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:43:03
[2026-10-20 19:43:03,912.912 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:43:04,171.171 INFO    ] Initializing speech engine...
[2026-10-20 19:43:04,185.185 INFO    ] 2026-10-20 19:43:04
[2026-10-20 19:43:04,465.465 INFO    ] 2026-10-20 19:43:04
[2026-10-20 19:43:04,502.502 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:43:04,721.721 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:43:04,749.749 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:43:04,946.946 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:43:04,952.952 INFO    ] time= 20/10/2026 19:43:04
[2026-10-20 19:43:04,976.976 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:43:05,025.025 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:43:05,121.121 INFO    ] No existing commands found in stream
[2026-10-20 19:43:10,132.132 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:43:10,135.135 INFO    ] Waiting 3.32 seconds before fallback handling...
[2026-10-20 19:43:13,951.951 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:43:13,954.954 INFO    ] Checking for system updates...
[2026-10-20 19:43:13,991.991 INFO    ] 200
[2026-10-20 19:43:13,993.993 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:43:14,046.046 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:43:14,049.049 INFO    ] No update needed
[2026-10-20 19:43:14,051.051 INFO    ] Checking for camera pi updates...
[2026-10-20 19:43:14,089.089 INFO    ] 200
[2026-10-20 19:43:14,091.091 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:43:14,131.131 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:43:14,181.181 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:43:14,184.184 INFO    ] No camera update needed
[2026-10-20 19:43:14,186.186 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:43:14,188.188 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:43:14,194.194 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:43:14,199.199 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:43:16,238.238 INFO    ] ================================================
[2026-10-20 19:43:16,253.253 INFO    ] Launching Daemon at Tue Oct 20 19:43:16 IST 2026
[2026-10-20 19:43:16,263.263 INFO    ] ================================================
[2026-10-20 19:43:16,843.843 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:43:16
[2026-10-20 19:43:17,441.441 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:43:17,714.714 INFO    ] Initializing speech engine...
[2026-10-20 19:43:17,723.723 INFO    ] 2026-10-20 19:43:17
[2026-10-20 19:43:17,983.983 INFO    ] 2026-10-20 19:43:17
[2026-10-20 19:43:18,034.034 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:43:18,264.264 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:43:18,270.270 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:43:18,480.480 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:43:18,529.529 INFO    ] time= 20/10/2026 19:43:18
[2026-10-20 19:43:18,535.535 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:43:18,553.553 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:43:18,686.686 INFO    ] No existing commands found in stream
[2026-10-20 19:43:23,713.713 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:43:23,716.716 INFO    ] Waiting 0.21 seconds before fallback handling...
[2026-10-20 19:43:24,458.458 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:43:24,461.461 INFO    ] Checking for system updates...
[2026-10-20 19:43:24,496.496 INFO    ] 200
[2026-10-20 19:43:24,499.499 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:43:24,551.551 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:43:24,553.553 INFO    ] No update needed
[2026-10-20 19:43:24,556.556 INFO    ] Checking for camera pi updates...
[2026-10-20 19:43:24,589.589 INFO    ] 200
[2026-10-20 19:43:24,592.592 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:43:24,631.631 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:43:24,679.679 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:43:24,682.682 INFO    ] No camera update needed
[2026-10-20 19:43:24,684.684 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:43:24,686.686 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:43:24,692.692 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:43:24,697.697 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:43:26,738.738 INFO    ] ================================================
[2026-10-20 19:43:26,753.753 INFO    ] Launching Daemon at Tue Oct 20 19:43:26 IST 2026
[2026-10-20 19:43:26,764.764 INFO    ] ================================================
[2026-10-20 19:43:27,345.345 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:43:27
[2026-10-20 19:43:27,941.941 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:43:28,218.218 INFO    ] Initializing speech engine...
[2026-10-20 19:43:28,223.223 INFO    ] 2026-10-20 19:43:28
[2026-10-20 19:43:28,486.486 INFO    ] 2026-10-20 19:43:28
[2026-10-20 19:43:28,517.517 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:43:28,767.767 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:43:28,772.772 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:43:29,008.008 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:43:29,033.033 INFO    ] time= 20/10/2026 19:43:29
[2026-10-20 19:43:29,047.047 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:43:29,055.055 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:43:29,181.181 INFO    ] No existing commands found in stream
[2026-10-20 19:43:34,196.196 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:43:34,199.199 INFO    ] Waiting 3.73 seconds before fallback handling...
[2026-10-20 19:43:38,462.462 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 19:43:38,465.465 INFO    ] Checking for system updates...
[2026-10-20 19:43:38,501.501 INFO    ] 200
[2026-10-20 19:43:38,503.503 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:43:38,561.561 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:43:38,564.564 INFO    ] No update needed
[2026-10-20 19:43:38,566.566 INFO    ] Checking for camera pi updates...
[2026-10-20 19:43:38,605.605 INFO    ] 200
[2026-10-20 19:43:38,607.607 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:43:38,651.651 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:43:38,700.700 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:43:38,703.703 INFO    ] No camera update needed
[2026-10-20 19:43:38,705.705 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:43:38,707.707 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:43:38,713.713 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:43:38,718.718 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:43:40,759.759 INFO    ] ================================================
[2026-10-20 19:43:40,776.776 INFO    ] Launching Daemon at Tue Oct 20 19:43:40 IST 2026
[2026-10-20 19:43:40,786.786 INFO    ] ================================================
[2026-10-20 19:43:41,353.353 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:43:41
[2026-10-20 19:43:41,937.937 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:43:42,206.206 INFO    ] Initializing speech engine...
[2026-10-20 19:43:42,215.215 INFO    ] 2026-10-20 19:43:42
[2026-10-20 19:43:42,462.462 INFO    ] 2026-10-20 19:43:42
[2026-10-20 19:43:42,497.497 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:43:42,756.756 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:43:42,765.765 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:43:42,901.901 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:43:42,938.938 INFO    ] time= 20/10/2026 19:43:42
[2026-10-20 19:43:42,992.992 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:43:43,039.039 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:43:43,191.191 INFO    ] No existing commands found in stream
[2026-10-20 19:43:48,207.207 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:43:48,210.210 INFO    ] Waiting 2.90 seconds before fallback handling...
[2026-10-20 19:43:51,631.631 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:43:51,634.634 INFO    ] Checking for system updates...
[2026-10-20 19:43:51,670.670 INFO    ] 200
[2026-10-20 19:43:51,672.672 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:43:51,725.725 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:43:51,727.727 INFO    ] No update needed
[2026-10-20 19:43:51,730.730 INFO    ] Checking for camera pi updates...
[2026-10-20 19:43:51,764.764 INFO    ] 200
[2026-10-20 19:43:51,767.767 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:43:51,812.812 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:43:51,863.863 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:43:51,865.865 INFO    ] No camera update needed
[2026-10-20 19:43:51,868.868 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:43:51,871.871 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:43:51,877.877 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:43:51,882.882 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:43:53,923.923 INFO    ] ================================================
[2026-10-20 19:43:53,939.939 INFO    ] Launching Daemon at Tue Oct 20 19:43:53 IST 2026
[2026-10-20 19:43:53,950.950 INFO    ] ================================================
[2026-10-20 19:43:54,517.517 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:43:54
[2026-10-20 19:43:55,100.100 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:43:55,353.353 INFO    ] Initializing speech engine...
[2026-10-20 19:43:55,360.360 INFO    ] 2026-10-20 19:43:55
[2026-10-20 19:43:55,650.650 INFO    ] 2026-10-20 19:43:55
[2026-10-20 19:43:55,688.688 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:43:55,973.973 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:43:55,983.983 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:43:56,136.136 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:43:56,186.186 INFO    ] time= 20/10/2026 19:43:56
[2026-10-20 19:43:56,230.230 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:43:56,279.279 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:43:56,420.420 INFO    ] No existing commands found in stream
[2026-10-20 19:44:01,440.440 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:44:01,443.443 INFO    ] Waiting 3.22 seconds before fallback handling...
[2026-10-20 19:44:05,133.133 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:44:05,135.135 INFO    ] Checking for system updates...
[2026-10-20 19:44:05,170.170 INFO    ] 200
[2026-10-20 19:44:05,172.172 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:44:05,224.224 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:44:05,226.226 INFO    ] No update needed
[2026-10-20 19:44:05,229.229 INFO    ] Checking for camera pi updates...
[2026-10-20 19:44:05,261.261 INFO    ] 200
[2026-10-20 19:44:05,264.264 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:44:05,304.304 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:44:05,347.347 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:44:05,350.350 INFO    ] No camera update needed
[2026-10-20 19:44:05,352.352 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:44:05,354.354 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:44:05,360.360 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:44:05,365.365 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:44:07,405.405 INFO    ] ================================================
[2026-10-20 19:44:07,421.421 INFO    ] Launching Daemon at Tue Oct 20 19:44:07 IST 2026
[2026-10-20 19:44:07,432.432 INFO    ] ================================================
[2026-10-20 19:44:08,052.052 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:44:08
[2026-10-20 19:44:08,694.694 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:44:08,984.984 INFO    ] Initializing speech engine...
[2026-10-20 19:44:08,993.993 INFO    ] 2026-10-20 19:44:08
[2026-10-20 19:44:09,253.253 INFO    ] 2026-10-20 19:44:09
[2026-10-20 19:44:09,291.291 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:44:09,551.551 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:44:09,561.561 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:44:09,792.792 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:44:09,828.828 INFO    ] time= 20/10/2026 19:44:09
[2026-10-20 19:44:09,835.835 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:44:09,857.857 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:44:10,002.002 INFO    ] No existing commands found in stream
[2026-10-20 19:44:15,040.040 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:44:15,043.043 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-10-20 19:44:17,847.847 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:44:17,850.850 INFO    ] Checking for system updates...
[2026-10-20 19:44:17,888.888 INFO    ] 200
[2026-10-20 19:44:17,891.891 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:44:17,949.949 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:44:17,951.951 INFO    ] No update needed
[2026-10-20 19:44:17,954.954 INFO    ] Checking for camera pi updates...
[2026-10-20 19:44:17,988.988 INFO    ] 200
[2026-10-20 19:44:17,991.991 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:44:18,032.032 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:44:18,083.083 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:44:18,086.086 INFO    ] No camera update needed
[2026-10-20 19:44:18,089.089 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:44:18,092.092 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:44:18,098.098 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:44:18,103.103 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:44:20,144.144 INFO    ] ================================================
[2026-10-20 19:44:20,160.160 INFO    ] Launching Daemon at Tue Oct 20 19:44:20 IST 2026
[2026-10-20 19:44:20,171.171 INFO    ] ================================================
[2026-10-20 19:44:20,735.735 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:44:20
[2026-10-20 19:44:21,316.316 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:44:21,585.585 INFO    ] Initializing speech engine...
[2026-10-20 19:44:21,594.594 INFO    ] 2026-10-20 19:44:21
[2026-10-20 19:44:21,844.844 INFO    ] 2026-10-20 19:44:21
[2026-10-20 19:44:21,879.879 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:44:22,080.080 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:44:22,139.139 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:44:22,282.282 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:44:22,347.347 INFO    ] time= 20/10/2026 19:44:22
[2026-10-20 19:44:22,401.401 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:44:22,418.418 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:44:22,534.534 INFO    ] No existing commands found in stream
[2026-10-20 19:44:27,556.556 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:44:27,559.559 INFO    ] Waiting 2.90 seconds before fallback handling...
[2026-10-20 19:44:30,943.943 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:44:30,946.946 INFO    ] Checking for system updates...
[2026-10-20 19:44:30,982.982 INFO    ] 200
[2026-10-20 19:44:30,984.984 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:44:31,035.035 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:44:31,038.038 INFO    ] No update needed
[2026-10-20 19:44:31,040.040 INFO    ] Checking for camera pi updates...
[2026-10-20 19:44:31,074.074 INFO    ] 200
[2026-10-20 19:44:31,077.077 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:44:31,119.119 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:44:31,176.176 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:44:31,178.178 INFO    ] No camera update needed
[2026-10-20 19:44:31,181.181 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:44:31,183.183 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:44:31,188.188 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:44:31,193.193 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:44:33,235.235 INFO    ] ================================================
[2026-10-20 19:44:33,250.250 INFO    ] Launching Daemon at Tue Oct 20 19:44:33 IST 2026
[2026-10-20 19:44:33,261.261 INFO    ] ================================================
[2026-10-20 19:44:33,886.886 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:44:33
[2026-10-20 19:44:34,523.523 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:44:34,815.815 INFO    ] Initializing speech engine...
[2026-10-20 19:44:34,829.829 INFO    ] 2026-10-20 19:44:34
[2026-10-20 19:44:35,103.103 INFO    ] 2026-10-20 19:44:35
[2026-10-20 19:44:35,145.145 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:44:35,483.483 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:44:35,502.502 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:44:35,683.683 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:44:35,694.694 INFO    ] time= 20/10/2026 19:44:35
[2026-10-20 19:44:35,759.759 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:44:35,791.791 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:44:35,918.918 INFO    ] No existing commands found in stream
[2026-10-20 19:44:40,953.953 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:44:40,956.956 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-10-20 19:44:42,970.970 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 19:44:42,972.972 INFO    ] Checking for system updates...
[2026-10-20 19:44:43,009.009 INFO    ] 200
[2026-10-20 19:44:43,012.012 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:44:43,064.064 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:44:43,066.066 INFO    ] No update needed
[2026-10-20 19:44:43,069.069 INFO    ] Checking for camera pi updates...
[2026-10-20 19:44:43,103.103 INFO    ] 200
[2026-10-20 19:44:43,105.105 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:44:43,146.146 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:44:43,192.192 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:44:43,194.194 INFO    ] No camera update needed
[2026-10-20 19:44:43,197.197 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:44:43,200.200 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:44:43,205.205 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:44:43,211.211 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:44:45,251.251 INFO    ] ================================================
[2026-10-20 19:44:45,267.267 INFO    ] Launching Daemon at Tue Oct 20 19:44:45 IST 2026
[2026-10-20 19:44:45,278.278 INFO    ] ================================================
[2026-10-20 19:44:45,898.898 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:44:45
[2026-10-20 19:44:46,536.536 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:44:46,803.803 INFO    ] Initializing speech engine...
[2026-10-20 19:44:46,825.825 INFO    ] 2026-10-20 19:44:46
[2026-10-20 19:44:47,086.086 INFO    ] 2026-10-20 19:44:47
[2026-10-20 19:44:47,128.128 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:44:47,379.379 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:44:47,384.384 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:44:47,529.529 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:44:47,590.590 INFO    ] time= 20/10/2026 19:44:47
[2026-10-20 19:44:47,646.646 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:44:47,653.653 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:44:47,796.796 INFO    ] No existing commands found in stream
[2026-10-20 19:44:52,812.812 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:44:52,815.815 INFO    ] Waiting 0.42 seconds before fallback handling...
[2026-10-20 19:44:53,750.750 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 19:44:53,753.753 INFO    ] Checking for system updates...
[2026-10-20 19:44:53,791.791 INFO    ] 200
[2026-10-20 19:44:53,794.794 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:44:53,853.853 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:44:53,875.875 INFO    ] No update needed
[2026-10-20 19:44:53,878.878 INFO    ] Checking for camera pi updates...
[2026-10-20 19:44:53,914.914 INFO    ] 200
[2026-10-20 19:44:53,917.917 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:44:53,957.957 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:44:54,097.097 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:44:54,100.100 INFO    ] No camera update needed
[2026-10-20 19:44:54,102.102 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:44:54,105.105 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:44:54,111.111 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:44:54,116.116 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:44:56,156.156 INFO    ] ================================================
[2026-10-20 19:44:56,172.172 INFO    ] Launching Daemon at Tue Oct 20 19:44:56 IST 2026
[2026-10-20 19:44:56,183.183 INFO    ] ================================================
[2026-10-20 19:44:56,765.765 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:44:56
[2026-10-20 19:44:57,363.363 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:44:57,617.617 INFO    ] Initializing speech engine...
[2026-10-20 19:44:57,640.640 INFO    ] 2026-10-20 19:44:57
[2026-10-20 19:44:57,894.894 INFO    ] 2026-10-20 19:44:57
[2026-10-20 19:44:57,930.930 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:44:58,182.182 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:44:58,192.192 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:44:58,327.327 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:44:58,392.392 INFO    ] time= 20/10/2026 19:44:58
[2026-10-20 19:44:58,452.452 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:44:58,461.461 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:44:58,608.608 INFO    ] No existing commands found in stream
[2026-10-20 19:45:03,621.621 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:45:03,625.625 INFO    ] Waiting 1.08 seconds before fallback handling...
[2026-10-20 19:45:05,226.226 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 19:45:05,229.229 INFO    ] Checking for system updates...
[2026-10-20 19:45:05,264.264 INFO    ] 200
[2026-10-20 19:45:05,267.267 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:45:05,319.319 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:45:05,321.321 INFO    ] No update needed
[2026-10-20 19:45:05,324.324 INFO    ] Checking for camera pi updates...
[2026-10-20 19:45:05,357.357 INFO    ] 200
[2026-10-20 19:45:05,360.360 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:45:05,399.399 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:45:05,444.444 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:45:05,447.447 INFO    ] No camera update needed
[2026-10-20 19:45:05,450.450 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:45:05,452.452 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:45:05,457.457 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:45:05,462.462 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:45:07,503.503 INFO    ] ================================================
[2026-10-20 19:45:07,519.519 INFO    ] Launching Daemon at Tue Oct 20 19:45:07 IST 2026
[2026-10-20 19:45:07,530.530 INFO    ] ================================================
[2026-10-20 19:45:08,107.107 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:45:08
[2026-10-20 19:45:08,703.703 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:45:08,978.978 INFO    ] Initializing speech engine...
[2026-10-20 19:45:08,987.987 INFO    ] 2026-10-20 19:45:08
[2026-10-20 19:45:09,247.247 INFO    ] 2026-10-20 19:45:09
[2026-10-20 19:45:09,302.302 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:45:09,553.553 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:45:09,559.559 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:45:09,759.759 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:45:09,792.792 INFO    ] time= 20/10/2026 19:45:09
[2026-10-20 19:45:09,798.798 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:45:09,819.819 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:45:09,947.947 INFO    ] No existing commands found in stream
[2026-10-20 19:45:14,959.959 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:45:14,962.962 INFO    ] Waiting 1.67 seconds before fallback handling...
[2026-10-20 19:45:17,133.133 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:45:17,136.136 INFO    ] Checking for system updates...
[2026-10-20 19:45:17,171.171 INFO    ] 200
[2026-10-20 19:45:17,173.173 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:45:17,228.228 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:45:17,231.231 INFO    ] No update needed
[2026-10-20 19:45:17,233.233 INFO    ] Checking for camera pi updates...
[2026-10-20 19:45:17,266.266 INFO    ] 200
[2026-10-20 19:45:17,269.269 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:45:17,308.308 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:45:17,358.358 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:45:17,361.361 INFO    ] No camera update needed
[2026-10-20 19:45:17,363.363 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:45:17,365.365 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:45:17,371.371 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:45:17,376.376 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:45:19,415.415 INFO    ] ================================================
[2026-10-20 19:45:19,431.431 INFO    ] Launching Daemon at Tue Oct 20 19:45:19 IST 2026
[2026-10-20 19:45:19,442.442 INFO    ] ================================================
[2026-10-20 19:45:20,029.029 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:45:20
[2026-10-20 19:45:20,627.627 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:45:20,902.902 INFO    ] Initializing speech engine...
[2026-10-20 19:45:20,910.910 INFO    ] 2026-10-20 19:45:20
[2026-10-20 19:45:21,160.160 INFO    ] 2026-10-20 19:45:21
[2026-10-20 19:45:21,196.196 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:45:21,452.452 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:45:21,457.457 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:45:21,658.658 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:45:21,717.717 INFO    ] time= 20/10/2026 19:45:21
[2026-10-20 19:45:21,724.724 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:45:21,742.742 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:45:21,873.873 INFO    ] No existing commands found in stream
[2026-10-20 19:45:26,885.885 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:45:26,887.887 INFO    ] Waiting 2.39 seconds before fallback handling...
[2026-10-20 19:45:29,780.780 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:45:29,783.783 INFO    ] Checking for system updates...
[2026-10-20 19:45:29,820.820 INFO    ] 200
[2026-10-20 19:45:29,823.823 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:45:29,882.882 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:45:29,885.885 INFO    ] No update needed
[2026-10-20 19:45:29,888.888 INFO    ] Checking for camera pi updates...
[2026-10-20 19:45:29,924.924 INFO    ] 200
[2026-10-20 19:45:29,926.926 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:45:29,972.972 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:45:30,039.039 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:45:30,042.042 INFO    ] No camera update needed
[2026-10-20 19:45:30,044.044 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:45:30,047.047 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:45:30,053.053 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:45:30,058.058 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:45:32,100.100 INFO    ] ================================================
[2026-10-20 19:45:32,116.116 INFO    ] Launching Daemon at Tue Oct 20 19:45:32 IST 2026
[2026-10-20 19:45:32,127.127 INFO    ] ================================================
[2026-10-20 19:45:32,810.810 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:45:32
[2026-10-20 19:45:33,510.510 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:45:33,809.809 INFO    ] Initializing speech engine...
[2026-10-20 19:45:33,817.817 INFO    ] 2026-10-20 19:45:33
[2026-10-20 19:45:34,084.084 INFO    ] 2026-10-20 19:45:34
[2026-10-20 19:45:34,120.120 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:45:34,318.318 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:45:34,377.377 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:45:34,522.522 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:45:34,567.567 INFO    ] time= 20/10/2026 19:45:34
[2026-10-20 19:45:34,616.616 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:45:34,658.658 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:45:34,790.790 INFO    ] No existing commands found in stream
[2026-10-20 19:45:39,821.821 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:45:39,824.824 INFO    ] Waiting 3.47 seconds before fallback handling...
[2026-10-20 19:45:43,813.813 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:45:43,816.816 INFO    ] Checking for system updates...
[2026-10-20 19:45:43,853.853 INFO    ] 200
[2026-10-20 19:45:43,855.855 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:45:43,907.907 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:45:43,910.910 INFO    ] No update needed
[2026-10-20 19:45:43,913.913 INFO    ] Checking for camera pi updates...
[2026-10-20 19:45:43,953.953 INFO    ] 200
[2026-10-20 19:45:43,956.956 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:45:43,997.997 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:45:44,045.045 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:45:44,047.047 INFO    ] No camera update needed
[2026-10-20 19:45:44,050.050 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:45:44,053.053 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:45:44,061.061 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:45:44,066.066 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:45:46,106.106 INFO    ] ================================================
[2026-10-20 19:45:46,122.122 INFO    ] Launching Daemon at Tue Oct 20 19:45:46 IST 2026
[2026-10-20 19:45:46,132.132 INFO    ] ================================================
[2026-10-20 19:45:46,705.705 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:45:46
[2026-10-20 19:45:47,293.293 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:45:47,575.575 INFO    ] Initializing speech engine...
[2026-10-20 19:45:47,584.584 INFO    ] 2026-10-20 19:45:47
[2026-10-20 19:45:47,871.871 INFO    ] 2026-10-20 19:45:47
[2026-10-20 19:45:47,915.915 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:45:48,204.204 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:45:48,213.213 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:45:48,413.413 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:45:48,420.420 INFO    ] time= 20/10/2026 19:45:48
[2026-10-20 19:45:48,441.441 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:45:48,468.468 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:45:48,592.592 INFO    ] No existing commands found in stream
[2026-10-20 19:45:53,618.618 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:45:53,621.621 INFO    ] Waiting 1.75 seconds before fallback handling...
[2026-10-20 19:45:55,884.884 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:45:55,887.887 INFO    ] Checking for system updates...
[2026-10-20 19:45:55,923.923 INFO    ] 200
[2026-10-20 19:45:55,925.925 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:45:55,989.989 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:45:55,991.991 INFO    ] No update needed
[2026-10-20 19:45:55,994.994 INFO    ] Checking for camera pi updates...
[2026-10-20 19:45:56,026.026 INFO    ] 200
[2026-10-20 19:45:56,029.029 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:45:56,073.073 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:45:56,106.106 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:45:56,109.109 INFO    ] No camera update needed
[2026-10-20 19:45:56,112.112 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:45:56,114.114 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:45:56,120.120 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:45:56,126.126 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:45:58,167.167 INFO    ] ================================================
[2026-10-20 19:45:58,182.182 INFO    ] Launching Daemon at Tue Oct 20 19:45:58 IST 2026
[2026-10-20 19:45:58,193.193 INFO    ] ================================================
[2026-10-20 19:45:58,774.774 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:45:58
[2026-10-20 19:45:59,367.367 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:45:59,655.655 INFO    ] Initializing speech engine...
[2026-10-20 19:45:59,660.660 INFO    ] 2026-10-20 19:45:59
[2026-10-20 19:45:59,932.932 INFO    ] 2026-10-20 19:45:59
[2026-10-20 19:45:59,991.991 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:46:00,223.223 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:46:00,232.232 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:46:00,377.377 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:46:00,447.447 INFO    ] time= 20/10/2026 19:46:00
[2026-10-20 19:46:00,502.502 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:46:00,512.512 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:46:00,664.664 INFO    ] No existing commands found in stream
[2026-10-20 19:46:05,688.688 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:46:05,691.691 INFO    ] Waiting 0.03 seconds before fallback handling...
[2026-10-20 19:46:06,237.237 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 19:46:06,240.240 INFO    ] Checking for system updates...
[2026-10-20 19:46:06,276.276 INFO    ] 200
[2026-10-20 19:46:06,279.279 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:46:06,332.332 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:46:06,335.335 INFO    ] No update needed
[2026-10-20 19:46:06,337.337 INFO    ] Checking for camera pi updates...
[2026-10-20 19:46:06,371.371 INFO    ] 200
[2026-10-20 19:46:06,374.374 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:46:06,415.415 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:46:06,467.467 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:46:06,470.470 INFO    ] No camera update needed
[2026-10-20 19:46:06,472.472 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:46:06,475.475 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:46:06,481.481 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:46:06,487.487 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:46:08,528.528 INFO    ] ================================================
[2026-10-20 19:46:08,544.544 INFO    ] Launching Daemon at Tue Oct 20 19:46:08 IST 2026
[2026-10-20 19:46:08,555.555 INFO    ] ================================================
[2026-10-20 19:46:09,136.136 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:46:09
[2026-10-20 19:46:09,738.738 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:46:10,016.016 INFO    ] Initializing speech engine...
[2026-10-20 19:46:10,023.023 INFO    ] 2026-10-20 19:46:10
[2026-10-20 19:46:10,283.283 INFO    ] 2026-10-20 19:46:10
[2026-10-20 19:46:10,335.335 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:46:10,587.587 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:46:10,605.605 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:46:10,817.817 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:46:10,829.829 INFO    ] time= 20/10/2026 19:46:10
[2026-10-20 19:46:10,844.844 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:46:10,869.869 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:46:11,016.016 INFO    ] No existing commands found in stream
[2026-10-20 19:46:16,041.041 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:46:16,044.044 INFO    ] Waiting 3.96 seconds before fallback handling...
[2026-10-20 19:46:20,538.538 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 19:46:20,541.541 INFO    ] Checking for system updates...
[2026-10-20 19:46:20,576.576 INFO    ] 200
[2026-10-20 19:46:20,579.579 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:46:20,634.634 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:46:20,636.636 INFO    ] No update needed
[2026-10-20 19:46:20,638.638 INFO    ] Checking for camera pi updates...
[2026-10-20 19:46:20,671.671 INFO    ] 200
[2026-10-20 19:46:20,674.674 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:46:20,713.713 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:46:20,754.754 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:46:20,756.756 INFO    ] No camera update needed
[2026-10-20 19:46:20,759.759 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:46:20,761.761 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:46:20,766.766 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:46:20,771.771 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:46:22,813.813 INFO    ] ================================================
[2026-10-20 19:46:22,829.829 INFO    ] Launching Daemon at Tue Oct 20 19:46:22 IST 2026
[2026-10-20 19:46:22,840.840 INFO    ] ================================================
[2026-10-20 19:46:23,473.473 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:46:23
[2026-10-20 19:46:24,126.126 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:46:24,429.429 INFO    ] Initializing speech engine...
[2026-10-20 19:46:24,436.436 INFO    ] 2026-10-20 19:46:24
[2026-10-20 19:46:24,703.703 INFO    ] 2026-10-20 19:46:24
[2026-10-20 19:46:24,766.766 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:46:25,021.021 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:46:25,030.030 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:46:25,259.259 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:46:25,277.277 INFO    ] time= 20/10/2026 19:46:25
[2026-10-20 19:46:25,296.296 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:46:25,325.325 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:46:25,442.442 INFO    ] No existing commands found in stream
[2026-10-20 19:46:30,472.472 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:46:30,476.476 INFO    ] Waiting 1.75 seconds before fallback handling...
[2026-10-20 19:46:32,762.762 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:46:32,765.765 INFO    ] Checking for system updates...
[2026-10-20 19:46:32,806.806 INFO    ] 200
[2026-10-20 19:46:32,809.809 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:46:32,869.869 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:46:32,872.872 INFO    ] No update needed
[2026-10-20 19:46:32,875.875 INFO    ] Checking for camera pi updates...
[2026-10-20 19:46:32,910.910 INFO    ] 200
[2026-10-20 19:46:32,912.912 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:46:32,954.954 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:46:33,006.006 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:46:33,009.009 INFO    ] No camera update needed
[2026-10-20 19:46:33,012.012 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:46:33,014.014 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:46:33,020.020 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:46:33,026.026 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:46:35,068.068 INFO    ] ================================================
[2026-10-20 19:46:35,084.084 INFO    ] Launching Daemon at Tue Oct 20 19:46:35 IST 2026
[2026-10-20 19:46:35,095.095 INFO    ] ================================================
[2026-10-20 19:46:35,679.679 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:46:35
[2026-10-20 19:46:36,283.283 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:46:36,559.559 INFO    ] Initializing speech engine...
[2026-10-20 19:46:36,567.567 INFO    ] 2026-10-20 19:46:36
[2026-10-20 19:46:36,827.827 INFO    ] 2026-10-20 19:46:36
[2026-10-20 19:46:36,859.859 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:46:37,074.074 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:46:37,081.081 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:46:37,230.230 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:46:37,234.234 INFO    ] time= 20/10/2026 19:46:37
[2026-10-20 19:46:37,241.241 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:46:37,254.254 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:46:37,395.395 INFO    ] No existing commands found in stream
[2026-10-20 19:46:42,425.425 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:46:42,429.429 INFO    ] Waiting 0.59 seconds before fallback handling...
[2026-10-20 19:46:43,506.506 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:46:43,509.509 INFO    ] Checking for system updates...
[2026-10-20 19:46:43,545.545 INFO    ] 200
[2026-10-20 19:46:43,547.547 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:46:43,600.600 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:46:43,603.603 INFO    ] No update needed
[2026-10-20 19:46:43,605.605 INFO    ] Checking for camera pi updates...
[2026-10-20 19:46:43,644.644 INFO    ] 200
[2026-10-20 19:46:43,647.647 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:46:43,686.686 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:46:43,735.735 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:46:43,737.737 INFO    ] No camera update needed
[2026-10-20 19:46:43,739.739 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:46:43,742.742 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:46:43,747.747 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:46:43,752.752 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:46:45,796.796 INFO    ] ================================================
[2026-10-20 19:46:45,814.814 INFO    ] Launching Daemon at Tue Oct 20 19:46:45 IST 2026
[2026-10-20 19:46:45,825.825 INFO    ] ================================================
[2026-10-20 19:46:46,423.423 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:46:46
[2026-10-20 19:46:47,047.047 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:46:47,320.320 INFO    ] Initializing speech engine...
[2026-10-20 19:46:47,328.328 INFO    ] 2026-10-20 19:46:47
[2026-10-20 19:46:47,639.639 INFO    ] 2026-10-20 19:46:47
[2026-10-20 19:46:47,681.681 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:46:47,893.893 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:46:47,912.912 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:46:48,047.047 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:46:48,079.079 INFO    ] time= 20/10/2026 19:46:48
[2026-10-20 19:46:48,097.097 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:46:48,103.103 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:46:48,202.202 INFO    ] No existing commands found in stream
[2026-10-20 19:46:53,232.232 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:46:53,235.235 INFO    ] Waiting 1.52 seconds before fallback handling...
[2026-10-20 19:46:55,614.614 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:46:55,616.616 INFO    ] Checking for system updates...
[2026-10-20 19:46:55,653.653 INFO    ] 200
[2026-10-20 19:46:55,655.655 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:46:55,708.708 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:46:55,711.711 INFO    ] No update needed
[2026-10-20 19:46:55,714.714 INFO    ] Checking for camera pi updates...
[2026-10-20 19:46:55,748.748 INFO    ] 200
[2026-10-20 19:46:55,751.751 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:46:55,792.792 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:46:55,940.940 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:46:55,943.943 INFO    ] No camera update needed
[2026-10-20 19:46:55,945.945 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:46:55,948.948 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:46:55,955.955 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:46:55,960.960 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:46:58,003.003 INFO    ] ================================================
[2026-10-20 19:46:58,019.019 INFO    ] Launching Daemon at Tue Oct 20 19:46:58 IST 2026
[2026-10-20 19:46:58,030.030 INFO    ] ================================================
[2026-10-20 19:46:58,691.691 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:46:58
[2026-10-20 19:46:59,373.373 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:46:59,687.687 INFO    ] Initializing speech engine...
[2026-10-20 19:46:59,702.702 INFO    ] 2026-10-20 19:46:59
[2026-10-20 19:46:59,991.991 INFO    ] 2026-10-20 19:46:59
[2026-10-20 19:47:00,032.032 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:47:00,288.288 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:47:00,308.308 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:47:00,505.505 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:47:00,534.534 INFO    ] time= 20/10/2026 19:47:00
[2026-10-20 19:47:00,553.553 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:47:00,563.563 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:47:00,688.688 INFO    ] No existing commands found in stream
[2026-10-20 19:47:05,707.707 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:47:05,711.711 INFO    ] Waiting 2.53 seconds before fallback handling...
[2026-10-20 19:47:08,791.791 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 19:47:08,794.794 INFO    ] Checking for system updates...
[2026-10-20 19:47:08,830.830 INFO    ] 200
[2026-10-20 19:47:08,833.833 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:47:08,885.885 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:47:08,888.888 INFO    ] No update needed
[2026-10-20 19:47:08,890.890 INFO    ] Checking for camera pi updates...
[2026-10-20 19:47:08,923.923 INFO    ] 200
[2026-10-20 19:47:08,925.925 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:47:08,965.965 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:47:09,012.012 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:47:09,014.014 INFO    ] No camera update needed
[2026-10-20 19:47:09,016.016 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:47:09,019.019 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:47:09,024.024 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:47:09,029.029 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:47:11,069.069 INFO    ] ================================================
[2026-10-20 19:47:11,085.085 INFO    ] Launching Daemon at Tue Oct 20 19:47:11 IST 2026
[2026-10-20 19:47:11,097.097 INFO    ] ================================================
[2026-10-20 19:47:11,664.664 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:47:11
[2026-10-20 19:47:12,333.333 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:47:12,644.644 INFO    ] Initializing speech engine...
[2026-10-20 19:47:12,658.658 INFO    ] 2026-10-20 19:47:12
[2026-10-20 19:47:12,943.943 INFO    ] 2026-10-20 19:47:12
[2026-10-20 19:47:12,989.989 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:47:13,222.222 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:47:13,228.228 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:47:13,445.445 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:47:13,493.493 INFO    ] time= 20/10/2026 19:47:13
[2026-10-20 19:47:13,501.501 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:47:13,520.520 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:47:13,651.651 INFO    ] No existing commands found in stream
[2026-10-20 19:47:18,667.667 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:47:18,671.671 INFO    ] Waiting 1.60 seconds before fallback handling...
[2026-10-20 19:47:20,790.790 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:47:20,793.793 INFO    ] Checking for system updates...
[2026-10-20 19:47:20,833.833 INFO    ] 200
[2026-10-20 19:47:20,836.836 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:47:20,894.894 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:47:20,897.897 INFO    ] No update needed
[2026-10-20 19:47:20,899.899 INFO    ] Checking for camera pi updates...
[2026-10-20 19:47:20,932.932 INFO    ] 200
[2026-10-20 19:47:20,935.935 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:47:20,977.977 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:47:21,022.022 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:47:21,025.025 INFO    ] No camera update needed
[2026-10-20 19:47:21,027.027 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:47:21,029.029 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:47:21,035.035 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:47:21,040.040 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:47:23,081.081 INFO    ] ================================================
[2026-10-20 19:47:23,097.097 INFO    ] Launching Daemon at Tue Oct 20 19:47:23 IST 2026
[2026-10-20 19:47:23,108.108 INFO    ] ================================================
[2026-10-20 19:47:23,774.774 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:47:23
[2026-10-20 19:47:24,458.458 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:47:24,770.770 INFO    ] Initializing speech engine...
[2026-10-20 19:47:24,776.776 INFO    ] 2026-10-20 19:47:24
[2026-10-20 19:47:25,052.052 INFO    ] 2026-10-20 19:47:25
[2026-10-20 19:47:25,111.111 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:47:25,347.347 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:47:25,353.353 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:47:25,574.574 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:47:25,618.618 INFO    ] time= 20/10/2026 19:47:25
[2026-10-20 19:47:25,625.625 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:47:25,647.647 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:47:25,781.781 INFO    ] No existing commands found in stream
[2026-10-20 19:47:30,805.805 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:47:30,809.809 INFO    ] Waiting 1.10 seconds before fallback handling...
[2026-10-20 19:47:32,442.442 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 19:47:32,445.445 INFO    ] Checking for system updates...
[2026-10-20 19:47:32,484.484 INFO    ] 200
[2026-10-20 19:47:32,487.487 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:47:32,542.542 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:47:32,546.546 INFO    ] No update needed
[2026-10-20 19:47:32,549.549 INFO    ] Checking for camera pi updates...
[2026-10-20 19:47:32,587.587 INFO    ] 200
[2026-10-20 19:47:32,590.590 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:47:32,640.640 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:47:32,687.687 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:47:32,690.690 INFO    ] No camera update needed
[2026-10-20 19:47:32,692.692 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:47:32,694.694 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:47:32,699.699 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:47:32,704.704 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:47:34,744.744 INFO    ] ================================================
[2026-10-20 19:47:34,759.759 INFO    ] Launching Daemon at Tue Oct 20 19:47:34 IST 2026
[2026-10-20 19:47:34,771.771 INFO    ] ================================================
[2026-10-20 19:47:35,426.426 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:47:35
[2026-10-20 19:47:36,101.101 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:47:36,373.373 INFO    ] Initializing speech engine...
[2026-10-20 19:47:36,383.383 INFO    ] 2026-10-20 19:47:36
[2026-10-20 19:47:36,632.632 INFO    ] 2026-10-20 19:47:36
[2026-10-20 19:47:36,667.667 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:47:36,929.929 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:47:36,933.933 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:47:37,071.071 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:47:37,141.141 INFO    ] time= 20/10/2026 19:47:37
[2026-10-20 19:47:37,201.201 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:47:37,209.209 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:47:37,367.367 INFO    ] No existing commands found in stream
[2026-10-20 19:47:42,395.395 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:47:42,398.398 INFO    ] Waiting 2.54 seconds before fallback handling...
[2026-10-20 19:47:45,447.447 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:47:45,450.450 INFO    ] Checking for system updates...
[2026-10-20 19:47:45,485.485 INFO    ] 200
[2026-10-20 19:47:45,487.487 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:47:45,548.548 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:47:45,550.550 INFO    ] No update needed
[2026-10-20 19:47:45,553.553 INFO    ] Checking for camera pi updates...
[2026-10-20 19:47:45,586.586 INFO    ] 200
[2026-10-20 19:47:45,588.588 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:47:45,628.628 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:47:45,680.680 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:47:45,683.683 INFO    ] No camera update needed
[2026-10-20 19:47:45,685.685 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:47:45,687.687 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:47:45,692.692 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:47:45,697.697 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:47:47,737.737 INFO    ] ================================================
[2026-10-20 19:47:47,753.753 INFO    ] Launching Daemon at Tue Oct 20 19:47:47 IST 2026
[2026-10-20 19:47:47,764.764 INFO    ] ================================================
[2026-10-20 19:47:48,421.421 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:47:48
[2026-10-20 19:47:49,092.092 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:47:49,396.396 INFO    ] Initializing speech engine...
[2026-10-20 19:47:49,411.411 INFO    ] 2026-10-20 19:47:49
[2026-10-20 19:47:49,678.678 INFO    ] 2026-10-20 19:47:49
[2026-10-20 19:47:49,735.735 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:47:49,984.984 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:47:50,003.003 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:47:50,220.220 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:47:50,228.228 INFO    ] time= 20/10/2026 19:47:50
[2026-10-20 19:47:50,246.246 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:47:50,264.264 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:47:50,427.427 INFO    ] No existing commands found in stream
[2026-10-20 19:47:55,458.458 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:47:55,461.461 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-10-20 19:47:57,796.796 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:47:57,799.799 INFO    ] Checking for system updates...
[2026-10-20 19:47:57,840.840 INFO    ] 200
[2026-10-20 19:47:57,843.843 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:47:57,902.902 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:47:57,905.905 INFO    ] No update needed
[2026-10-20 19:47:57,908.908 INFO    ] Checking for camera pi updates...
[2026-10-20 19:47:57,945.945 INFO    ] 200
[2026-10-20 19:47:57,948.948 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:47:57,988.988 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:47:58,043.043 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:47:58,045.045 INFO    ] No camera update needed
[2026-10-20 19:47:58,048.048 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:47:58,050.050 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:47:58,055.055 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:47:58,060.060 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:48:00,102.102 INFO    ] ================================================
[2026-10-20 19:48:00,117.117 INFO    ] Launching Daemon at Tue Oct 20 19:48:00 IST 2026
[2026-10-20 19:48:00,128.128 INFO    ] ================================================
[2026-10-20 19:48:00,701.701 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:48:00
[2026-10-20 19:48:01,290.290 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:48:01,571.571 INFO    ] Initializing speech engine...
[2026-10-20 19:48:01,578.578 INFO    ] 2026-10-20 19:48:01
[2026-10-20 19:48:01,980.980 INFO    ] 2026-10-20 19:48:01
[2026-10-20 19:48:02,022.022 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:48:02,216.216 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:48:02,220.220 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:48:02,378.378 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:48:02,386.386 INFO    ] time= 20/10/2026 19:48:02
[2026-10-20 19:48:02,410.410 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:48:02,421.421 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:48:02,546.546 INFO    ] No existing commands found in stream
[2026-10-20 19:48:07,565.565 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:48:07,568.568 INFO    ] Waiting 2.43 seconds before fallback handling...
[2026-10-20 19:48:10,496.496 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:48:10,499.499 INFO    ] Checking for system updates...
[2026-10-20 19:48:10,535.535 INFO    ] 200
[2026-10-20 19:48:10,537.537 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:48:10,594.594 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:48:10,597.597 INFO    ] No update needed
[2026-10-20 19:48:10,603.603 INFO    ] Checking for camera pi updates...
[2026-10-20 19:48:10,636.636 INFO    ] 200
[2026-10-20 19:48:10,639.639 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:48:10,684.684 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:48:10,738.738 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:48:10,741.741 INFO    ] No camera update needed
[2026-10-20 19:48:10,743.743 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:48:10,745.745 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:48:10,751.751 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:48:10,755.755 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:48:12,797.797 INFO    ] ================================================
[2026-10-20 19:48:12,813.813 INFO    ] Launching Daemon at Tue Oct 20 19:48:12 IST 2026
[2026-10-20 19:48:12,823.823 INFO    ] ================================================
[2026-10-20 19:48:13,404.404 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:48:13
[2026-10-20 19:48:14,003.003 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:48:14,267.267 INFO    ] Initializing speech engine...
[2026-10-20 19:48:14,293.293 INFO    ] 2026-10-20 19:48:14
[2026-10-20 19:48:14,567.567 INFO    ] 2026-10-20 19:48:14
[2026-10-20 19:48:14,603.603 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:48:14,832.832 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:48:14,885.885 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:48:15,110.110 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:48:15,148.148 INFO    ] time= 20/10/2026 19:48:15
[2026-10-20 19:48:15,166.166 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:48:15,177.177 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:48:15,310.310 INFO    ] No existing commands found in stream
[2026-10-20 19:48:20,340.340 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:48:20,343.343 INFO    ] Waiting 0.89 seconds before fallback handling...
[2026-10-20 19:48:21,724.724 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:48:21,727.727 INFO    ] Checking for system updates...
[2026-10-20 19:48:21,762.762 INFO    ] 200
[2026-10-20 19:48:21,764.764 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:48:21,822.822 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:48:21,824.824 INFO    ] No update needed
[2026-10-20 19:48:21,826.826 INFO    ] Checking for camera pi updates...
[2026-10-20 19:48:21,860.860 INFO    ] 200
[2026-10-20 19:48:21,862.862 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:48:21,907.907 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:48:21,955.955 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:48:21,957.957 INFO    ] No camera update needed
[2026-10-20 19:48:21,960.960 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:48:21,962.962 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:48:21,967.967 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:48:21,973.973 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:48:24,013.013 INFO    ] ================================================
[2026-10-20 19:48:24,028.028 INFO    ] Launching Daemon at Tue Oct 20 19:48:24 IST 2026
[2026-10-20 19:48:24,039.039 INFO    ] ================================================
[2026-10-20 19:48:24,677.677 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:48:24
[2026-10-20 19:48:25,339.339 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:48:25,640.640 INFO    ] Initializing speech engine...
[2026-10-20 19:48:25,648.648 INFO    ] 2026-10-20 19:48:25
[2026-10-20 19:48:25,942.942 INFO    ] 2026-10-20 19:48:25
[2026-10-20 19:48:26,053.053 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:48:26,272.272 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:48:26,277.277 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:48:26,481.481 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:48:26,497.497 INFO    ] time= 20/10/2026 19:48:26
[2026-10-20 19:48:26,506.506 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:48:26,533.533 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:48:26,644.644 INFO    ] No existing commands found in stream
[2026-10-20 19:48:31,669.669 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:48:31,672.672 INFO    ] Waiting 3.88 seconds before fallback handling...
[2026-10-20 19:48:36,104.104 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 19:48:36,107.107 INFO    ] Checking for system updates...
[2026-10-20 19:48:36,143.143 INFO    ] 200
[2026-10-20 19:48:36,146.146 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:48:36,204.204 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:48:36,207.207 INFO    ] No update needed
[2026-10-20 19:48:36,210.210 INFO    ] Checking for camera pi updates...
[2026-10-20 19:48:36,244.244 INFO    ] 200
[2026-10-20 19:48:36,247.247 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:48:36,287.287 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:48:36,335.335 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:48:36,337.337 INFO    ] No camera update needed
[2026-10-20 19:48:36,340.340 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:48:36,343.343 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:48:36,349.349 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:48:36,354.354 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:48:38,396.396 INFO    ] ================================================
[2026-10-20 19:48:38,411.411 INFO    ] Launching Daemon at Tue Oct 20 19:48:38 IST 2026
[2026-10-20 19:48:38,422.422 INFO    ] ================================================
[2026-10-20 19:48:39,002.002 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:48:38
[2026-10-20 19:48:39,600.600 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:48:39,853.853 INFO    ] Initializing speech engine...
[2026-10-20 19:48:39,877.877 INFO    ] 2026-10-20 19:48:39
[2026-10-20 19:48:40,132.132 INFO    ] 2026-10-20 19:48:40
[2026-10-20 19:48:40,167.167 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:48:40,367.367 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:48:40,424.424 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:48:40,629.629 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:48:40,691.691 INFO    ] time= 20/10/2026 19:48:40
[2026-10-20 19:48:40,697.697 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:48:40,715.715 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:48:40,854.854 INFO    ] No existing commands found in stream
[2026-10-20 19:48:45,873.873 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:48:45,875.875 INFO    ] Waiting 0.81 seconds before fallback handling...
[2026-10-20 19:48:47,193.193 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 19:48:47,196.196 INFO    ] Checking for system updates...
[2026-10-20 19:48:47,235.235 INFO    ] 200
[2026-10-20 19:48:47,238.238 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:48:47,294.294 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:48:47,298.298 INFO    ] No update needed
[2026-10-20 19:48:47,301.301 INFO    ] Checking for camera pi updates...
[2026-10-20 19:48:47,337.337 INFO    ] 200
[2026-10-20 19:48:47,341.341 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:48:47,384.384 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:48:47,432.432 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:48:47,435.435 INFO    ] No camera update needed
[2026-10-20 19:48:47,439.439 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:48:47,443.443 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:48:47,451.451 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:48:47,458.458 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:48:49,501.501 INFO    ] ================================================
[2026-10-20 19:48:49,517.517 INFO    ] Launching Daemon at Tue Oct 20 19:48:49 IST 2026
[2026-10-20 19:48:49,528.528 INFO    ] ================================================
[2026-10-20 19:48:50,166.166 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:48:50
[2026-10-20 19:48:50,826.826 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:48:51,121.121 INFO    ] Initializing speech engine...
[2026-10-20 19:48:51,133.133 INFO    ] 2026-10-20 19:48:51
[2026-10-20 19:48:51,408.408 INFO    ] 2026-10-20 19:48:51
[2026-10-20 19:48:51,465.465 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:48:51,698.698 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:48:51,704.704 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:48:51,940.940 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:48:51,965.965 INFO    ] time= 20/10/2026 19:48:51
[2026-10-20 19:48:51,976.976 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:48:51,994.994 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:48:52,121.121 INFO    ] No existing commands found in stream
[2026-10-20 19:48:57,138.138 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:48:57,142.142 INFO    ] Waiting 1.49 seconds before fallback handling...
[2026-10-20 19:48:59,121.121 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:48:59,123.123 INFO    ] Checking for system updates...
[2026-10-20 19:48:59,161.161 INFO    ] 200
[2026-10-20 19:48:59,164.164 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:48:59,216.216 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:48:59,219.219 INFO    ] No update needed
[2026-10-20 19:48:59,221.221 INFO    ] Checking for camera pi updates...
[2026-10-20 19:48:59,258.258 INFO    ] 200
[2026-10-20 19:48:59,261.261 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:48:59,300.300 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:48:59,447.447 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:48:59,449.449 INFO    ] No camera update needed
[2026-10-20 19:48:59,452.452 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:48:59,454.454 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:48:59,460.460 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:48:59,465.465 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:49:01,506.506 INFO    ] ================================================
[2026-10-20 19:49:01,522.522 INFO    ] Launching Daemon at Tue Oct 20 19:49:01 IST 2026
[2026-10-20 19:49:01,533.533 INFO    ] ================================================
[2026-10-20 19:49:02,223.223 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:49:02
[2026-10-20 19:49:02,893.893 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:49:03,192.192 INFO    ] Initializing speech engine...
[2026-10-20 19:49:03,213.213 INFO    ] 2026-10-20 19:49:03
[2026-10-20 19:49:03,561.561 INFO    ] 2026-10-20 19:49:03
[2026-10-20 19:49:03,601.601 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:49:03,811.811 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:49:03,829.829 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:49:03,972.972 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:49:03,978.978 INFO    ] time= 20/10/2026 19:49:03
[2026-10-20 19:49:04,024.024 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:49:04,047.047 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:49:04,178.178 INFO    ] No existing commands found in stream
[2026-10-20 19:49:09,190.190 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:49:09,193.193 INFO    ] Waiting 3.02 seconds before fallback handling...
[2026-10-20 19:49:12,694.694 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:49:12,696.696 INFO    ] Checking for system updates...
[2026-10-20 19:49:12,733.733 INFO    ] 200
[2026-10-20 19:49:12,736.736 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:49:12,789.789 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:49:12,792.792 INFO    ] No update needed
[2026-10-20 19:49:12,795.795 INFO    ] Checking for camera pi updates...
[2026-10-20 19:49:12,829.829 INFO    ] 200
[2026-10-20 19:49:12,832.832 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:49:12,873.873 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:49:12,926.926 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:49:12,929.929 INFO    ] No camera update needed
[2026-10-20 19:49:12,932.932 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:49:12,934.934 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:49:12,941.941 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:49:12,947.947 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:49:14,990.990 INFO    ] ================================================
[2026-10-20 19:49:15,037.037 INFO    ] Launching Daemon at Tue Oct 20 19:49:15 IST 2026
[2026-10-20 19:49:15,049.049 INFO    ] ================================================
[2026-10-20 19:49:15,730.730 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:49:15
[2026-10-20 19:49:16,364.364 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:49:16,625.625 INFO    ] Initializing speech engine...
[2026-10-20 19:49:16,639.639 INFO    ] 2026-10-20 19:49:16
[2026-10-20 19:49:16,895.895 INFO    ] 2026-10-20 19:49:16
[2026-10-20 19:49:16,929.929 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:49:17,189.189 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:49:17,198.198 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:49:17,337.337 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:49:17,412.412 INFO    ] time= 20/10/2026 19:49:17
[2026-10-20 19:49:17,469.469 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:49:17,475.475 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:49:17,629.629 INFO    ] No existing commands found in stream
[2026-10-20 19:49:22,660.660 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:49:22,663.663 INFO    ] Waiting 0.31 seconds before fallback handling...
[2026-10-20 19:49:23,442.442 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:49:23,445.445 INFO    ] Checking for system updates...
[2026-10-20 19:49:23,481.481 INFO    ] 200
[2026-10-20 19:49:23,483.483 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:49:23,535.535 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:49:23,537.537 INFO    ] No update needed
[2026-10-20 19:49:23,540.540 INFO    ] Checking for camera pi updates...
[2026-10-20 19:49:23,578.578 INFO    ] 200
[2026-10-20 19:49:23,581.581 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:49:23,620.620 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:49:23,670.670 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:49:23,673.673 INFO    ] No camera update needed
[2026-10-20 19:49:23,675.675 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:49:23,677.677 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:49:23,683.683 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:49:23,688.688 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:49:25,727.727 INFO    ] ================================================
[2026-10-20 19:49:25,743.743 INFO    ] Launching Daemon at Tue Oct 20 19:49:25 IST 2026
[2026-10-20 19:49:25,754.754 INFO    ] ================================================
[2026-10-20 19:49:26,339.339 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:49:26
[2026-10-20 19:49:26,937.937 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:49:27,215.215 INFO    ] Initializing speech engine...
[2026-10-20 19:49:27,221.221 INFO    ] 2026-10-20 19:49:27
[2026-10-20 19:49:27,481.481 INFO    ] 2026-10-20 19:49:27
[2026-10-20 19:49:27,510.510 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:49:27,755.755 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:49:27,764.764 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:49:27,979.979 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:49:28,023.023 INFO    ] time= 20/10/2026 19:49:27
[2026-10-20 19:49:28,030.030 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:49:28,051.051 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:49:28,181.181 INFO    ] Found 1 existing command(s) in stream
[2026-10-20 19:49:28,235.235 INFO    ] Checking historical command: ID=1792505964749-0
[2026-10-20 19:49:28,288.288 INFO    ] process_and_cleanup_command: msg_id=1792505964749-0
[2026-10-20 19:49:28,357.357 INFO    ] is_command_expired: timestamp=2026-10-20T14:19:24.501Z, expiry=30s
[2026-10-20 19:49:28,635.635 INFO    ] Command removed from stream: 1792505964749-0. returning for processing...
[2026-10-20 19:49:28,638.638 INFO    ] ***** get_valid_command
[2026-10-20 19:49:28,645.645 INFO    ] {'timeout': '10', 'timestamp': '2026-10-20T14:19:24.501Z', 'command': 'start-order', 'data': '{"request_id":"start-order-1792505964501-l7wlar95e","orderId":"TM04202203261020194838886","is_vending":false}', 'source': 'webapp'}
[2026-10-20 19:49:28,663.663 INFO    ] ***** Parsed command data: {'orderId': 'TM04202203261020194838886', 'request_id': 'start-order-1792505964501-l7wlar95e', 'is_vending': False}
[2026-10-20 19:49:28,698.698 INFO    ] Handling start order...
[2026-10-20 19:49:28,701.701 INFO    ] handle_start_order_command
[2026-10-20 19:49:28,755.755 INFO    ] _send_start_order_success: request_id=start-order-1792505964501-l7wlar95e, order_id=TM04202203261020194838886
[2026-10-20 19:49:28,761.761 INFO    ] [_send_start_order_success] Adding message to stream: machine:TM04202203
[2026-10-20 19:49:28,901.901 INFO    ] [_send_start_order_success] Message added to stream with ID: 1792505968869-0
[2026-10-20 19:49:28,907.907 INFO    ] ✅ Start-order command succeeded - order locked, waiting for process-order command
[2026-10-20 19:49:28,913.913 INFO    ] Checking for system updates...
[2026-10-20 19:49:28,963.963 INFO    ] 200
[2026-10-20 19:49:28,970.970 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:49:29,030.030 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:49:29,034.034 INFO    ] No update needed
[2026-10-20 19:49:29,040.040 INFO    ] Checking for camera pi updates...
[2026-10-20 19:49:29,083.083 INFO    ] 200
[2026-10-20 19:49:29,088.088 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:49:29,137.137 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:49:29,201.201 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:49:29,208.208 INFO    ] No camera update needed
[2026-10-20 19:49:29,216.216 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:49:29,223.223 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:49:29,236.236 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:49:29,258.258 INFO    ] Thread: Thread-1, daemon=True, alive=True
[2026-10-20 19:49:29,363.363 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:49:31,417.417 INFO    ] ================================================
[2026-10-20 19:49:31,433.433 INFO    ] Launching Daemon at Tue Oct 20 19:49:31 IST 2026
[2026-10-20 19:49:31,444.444 INFO    ] ================================================
[2026-10-20 19:49:32,048.048 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:49:32
[2026-10-20 19:49:32,681.681 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:49:32,978.978 INFO    ] Initializing speech engine...
[2026-10-20 19:49:32,987.987 INFO    ] 2026-10-20 19:49:32
[2026-10-20 19:49:33,257.257 INFO    ] 2026-10-20 19:49:33
[2026-10-20 19:49:33,295.295 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:49:33,549.549 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:49:33,558.558 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:49:33,765.765 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:49:33,817.817 INFO    ] time= 20/10/2026 19:49:33
[2026-10-20 19:49:33,823.823 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:49:33,842.842 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:49:33,971.971 INFO    ] Found 2 existing command(s) in stream
[2026-10-20 19:49:34,010.010 INFO    ] Checking historical command: ID=1792505968869-0
[2026-10-20 19:49:34,082.082 INFO    ] process_and_cleanup_command: msg_id=1792505968869-0
[2026-10-20 19:49:34,111.111 INFO    ] is_command_expired: timestamp=2026-10-20T14:19:28.758890Z, expiry=30s
[2026-10-20 19:49:34,397.397 INFO    ] Command removed from stream: 1792505968869-0. returning for processing...
[2026-10-20 19:49:34,433.433 INFO    ] ***** get_valid_command
[2026-10-20 19:49:34,439.439 INFO    ] {'message_type': 'command_response', 'imei': 'TM04202203', 'message': 'start-order success', 'metadata_order_id': 'TM04202203261020194838886', 'timestamp': '2026-10-20T14:19:28.758890Z', 'status': 'success', 'metadata_request_id': 'start-order-1792505964501-l7wlar95e'}
[2026-10-20 19:49:34,483.483 INFO    ] Checking historical command: ID=1792505969743-0
[2026-10-20 19:49:34,492.492 INFO    ] process_and_cleanup_command: msg_id=1792505969743-0
[2026-10-20 19:49:34,510.510 INFO    ] is_command_expired: timestamp=2026-10-20T14:19:29.614Z, expiry=30s
[2026-10-20 19:49:34,682.682 INFO    ] Command removed from stream: 1792505969743-0. returning for processing...
[2026-10-20 19:49:34,689.689 INFO    ] ***** get_valid_command
[2026-10-20 19:49:34,694.694 INFO    ] {'data': '{"request_id":"process-order-1792505969614-u3jt7b293","orderId":"TM04202203261020194838886","is_vending":false,"accessCode":"42279675"}', 'timestamp': '2026-10-20T14:19:29.614Z', 'command': 'process-order', 'source': 'webapp', 'timeout': '60'}
[2026-10-20 19:49:34,701.701 INFO    ] ***** Parsed command data: {'request_id': 'process-order-1792505969614-u3jt7b293', 'accessCode': '42279675', 'orderId': 'TM04202203261020194838886', 'is_vending': False}
[2026-10-20 19:49:34,708.708 INFO    ] Handling process order...
[2026-10-20 19:49:34,714.714 INFO    ] Processing process-order command...
[2026-10-20 19:49:34,722.722 INFO    ] 🔍 Lock file Order ID: TM04202203261020194838886, TS: 2026-10-20 19:49:28
[2026-10-20 19:49:34,738.738 INFO    ] ✅ Order lock valid for TM04202203261020194838886
[2026-10-20 19:49:34,743.743 INFO    ] Received access code in process-order, skipping PHP API call
[2026-10-20 19:49:34,750.750 INFO    ] processing access code 42279675 for order TM04202203261020194838886
[2026-10-20 19:49:34,756.756 INFO    ] 🔍 Lock file Order ID: TM04202203261020194838886, TS: 2026-10-20 19:49:28
[2026-10-20 19:49:34,761.761 INFO    ] ✅ Order lock valid for TM04202203261020194838886
[2026-10-20 19:49:34,767.767 INFO    ] 2026-10-20 19:49:34
[2026-10-20 19:49:34,815.815 INFO    ] 200
[2026-10-20 19:49:34,819.819 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:49:34,825.825 INFO    ] 42279675
[2026-10-20 19:49:34,833.833 INFO    ] 2026-10-20 19:49:34
[2026-10-20 19:49:34,839.839 INFO    ] session id :546634870
[2026-10-20 19:49:34,845.845 INFO    ] http://localhost:5000/v2/getOrderByAccessCode?access_code=42279675&imei=TM04202203&session_id=546634870
[2026-10-20 19:49:36,081.081 INFO    ] 200
[2026-10-20 19:49:36,086.086 INFO    ] {"data": {"access_code": "42279675", "bill_amount": "120", "invoice_bill": "120", "order_id": "TM04202203261020194838886", "mobile": "8105836793", "proposed_sku_json": [{"image_url": "https://images.tinymart.in/product/186084-5395.png", "door_id": "2", "mrp": "30", "offer_id": "", "name": "KITKAT Nestle 4 Finger Chocolate 38g", "unit_price": 30, "qty": 4, "offer_desc": "", "skuid": "186084", "sku_total": 120, "tray_id": "37"}]}, "status": true, "msg": "Order Data", "rstatus": true}
[2026-10-20 19:49:36,093.093 INFO    ] 120
[2026-10-20 19:49:36,101.101 INFO    ] TM04202203261020194838886
[2026-10-20 19:49:36,110.110 INFO    ] 8105836793
[2026-10-20 19:49:36,117.117 INFO    ] 2026-10-20 19:49:36
[2026-10-20 19:49:36,143.143 INFO    ] Door Opening for user mobile ending with  six seven nine three 
[2026-10-20 19:49:36,149.149 INFO    ] Door Opening for user mobile ending with  six seven nine three 
[2026-10-20 19:49:36,189.189 INFO    ] 46aa2ed4404c7b2b32da811244f54bf5
[2026-10-20 19:49:36,238.238 INFO    ] 2026-10-20 19:49:36
[2026-10-20 19:49:36,293.293 INFO    ] playing audio file
[2026-10-20 19:49:36,334.334 INFO    ] 2026-10-20 19:49:36
[2026-10-20 19:49:36,344.344 INFO    ] 2026-10-20 19:49:36
[2026-10-20 19:49:36,360.360 INFO    ] publish_status: order_id=TM04202203261020194838886
[2026-10-20 19:49:36,366.366 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020194838886
[2026-10-20 19:49:36,477.477 INFO    ] [publish_status] Message added to stream with ID: 1792505976488-0
[2026-10-20 19:49:36,480.480 INFO    ] Published to order:TM04202203261020194838886: {'server_status': 'order-started', 'server_response': '{"data": {"mobile": "8105836793", "order_id": "TM04202203261020194838886", "proposed_sku_json": [{"unit_price": 30, "offer_id": "", "door_id": "2", "mrp": "30", "name": "KITKAT Nestle 4 Finger Chocolate 38g", "tray_id": "37", "image_url": "https://images.tinymart.in/product/186084-5395.png", "sku_total": 120, "offer_desc": "", "skuid": "186084", "qty": 4}], "bill_amount": "120", "access_code": "42279675", "invoice_bill": "120"}, "rstatus": true, "status": true, "msg": "Order Data"}', 'order_id': 'TM04202203261020194838886', 'timestamp': '2026-10-20T14:19:36.346338Z'} (ID: 1792505976488-0)
[2026-10-20 19:49:37,059.059 INFO    ] {'server_status': 'order-started', 'server_response': {'data': {'mobile': '8105836793', 'order_id': 'TM04202203261020194838886', 'proposed_sku_json': [{'unit_price': 30, 'offer_id': '', 'door_id': '2', 'mrp': '30', 'name': 'KITKAT Nestle 4 Finger Chocolate 38g', 'tray_id': '37', 'image_url': 'https://images.tinymart.in/product/186084-5395.png', 'sku_total': 120, 'offer_desc': '', 'skuid': '186084', 'qty': 4}], 'bill_amount': '120', 'access_code': '42279675', 'invoice_bill': '120'}, 'rstatus': True, 'status': True, 'msg': 'Order Data'}, 'order_id': 'TM04202203261020194838886'}
[2026-10-20 19:49:37,062.062 INFO    ] 200
[2026-10-20 19:49:37,064.064 INFO    ] {"data":{"server_status":"order-started","server_response":{"data":{"mobile":"8105836793","order_id":"TM04202203261020194838886","proposed_sku_json":[{"unit_price":30,"offer_id":"","door_id":"2","mrp":"30","name":"KITKAT Nestle 4 Finger Chocolate 38g","tray_id":"37","image_url":"https:\/\/images.tinymart.in\/product\/186084-5395.png","sku_total":120,"offer_desc":"","skuid":"186084","qty":4}],"bill_amount":"120","access_code":"42279675","invoice_bill":"120"},"rstatus":true,"status":true,"msg":"Order Data"},"order_id":"TM04202203261020194838886"},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 19:49:37,067.067 INFO    ] {'data': {'server_status': 'order-started', 'server_response': {'data': {'proposed_sku_json': [{'unit_price': 30, 'offer_id': '', 'door_id': '2', 'mrp': '30', 'name': 'KITKAT Nestle 4 Finger Chocolate 38g', 'tray_id': '37', 'image_url': 'https://images.tinymart.in/product/186084-5395.png', 'qty': 4, 'offer_desc': '', 'sku_total': 120, 'skuid': '186084'}], 'order_id': 'TM04202203261020194838886', 'mobile': '8105836793', 'access_code': '42279675', 'bill_amount': '120', 'invoice_bill': '120'}, 'status': True, 'rstatus': True, 'msg': 'Order Data'}, 'order_id': 'TM04202203261020194838886'}, 'response': {'data': 'order updated successfully', 'msg': 'order updated successfully', 'status': True, 'code': 'ORDER_EXISTS'}}
[2026-10-20 19:49:37,069.069 INFO    ] 2026-10-20 19:49:37
[2026-10-20 19:49:37,112.112 INFO    ] 200
[2026-10-20 19:49:37,115.115 INFO    ] True
[2026-10-20 19:49:37,282.282 INFO    ] 200
[2026-10-20 19:49:37,284.284 INFO    ] {"SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "rstatus": false, "voiceNote": "Please Wait", "status": "False", "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait while we process your order", "Note": "", "Header": " Your order is under process  "}, "SectionMain": {"Header": "Processing Order"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 19:49:37,287.287 INFO    ] {'SectionStatus': {'SubHeader': 'Please wait while we process your order', 'Note': '', 'UI_Header': '', 'Header': ' Your order is under process  '}, 'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'error': {'data': {}, 'tmessage': 'In Progress', 'umessage': 'In Progress', 'code': 20001}, 'rstatus': False, 'status': 'False', 'voiceNote': 'Please Wait', 'SectionMain': {'Header': 'Processing Order'}}
[2026-10-20 19:49:37,290.290 INFO    ] *** process_order ***
[2026-10-20 19:49:38,472.472 INFO    ] 200
[2026-10-20 19:49:38,474.474 INFO    ] {"SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "rstatus": true, "voiceNote": "Please Wait", "delay": 0, "status": "True", "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait while we process your order", "Note": "", "Header": " Your order is under process  "}, "SectionMain": {"Header": "Processing Order"}}
[2026-10-20 19:49:38,477.477 INFO    ] {'delay': 0, 'SectionStatus': {'SubHeader': 'Please wait while we process your order', 'Note': '', 'UI_Header': '', 'Header': ' Your order is under process  '}, 'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'rstatus': True, 'status': 'True', 'voiceNote': 'Please Wait', 'SectionMain': {'Header': 'Processing Order'}}
[2026-10-20 19:49:38,480.480 INFO    ] *** process_order ***
[2026-10-20 19:49:38,482.482 INFO    ] publish_status: order_id=TM04202203261020194838886
[2026-10-20 19:49:38,485.485 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020194838886
[2026-10-20 19:49:38,593.593 INFO    ] [publish_status] Message added to stream with ID: 1792505978605-0
[2026-10-20 19:49:38,596.596 INFO    ] Published to order:TM04202203261020194838886: {'server_status': 'doorOpened', 'server_response': '{"SectionStatus": {"SubHeader": "You can pull the door now.", "Note": "", "UI_Header": "", "Header": " Your order is under process  "}, "delay": 0, "SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "rstatus": true, "status": "True", "voiceNote": "Door is open...", "SectionMain": {"Header": "Processing Order"}}', 'order_id': 'TM04202203261020194838886'} (ID: 1792505978605-0)
[2026-10-20 19:49:39,671.671 INFO    ] 2026-10-20 19:49:39
[2026-10-20 19:49:39,674.674 INFO    ] publish_status: order_id=TM04202203261020194838886
[2026-10-20 19:49:39,677.677 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020194838886
[2026-10-20 19:49:39,782.782 INFO    ] [publish_status] Message added to stream with ID: 1792505979794-0
[2026-10-20 19:49:39,785.785 INFO    ] Published to order:TM04202203261020194838886: {'server_status': 'processOrder', 'server_response': '{"delay": 0, "SectionStatus": {"SubHeader": "Please wait while we process your order", "Note": "", "UI_Header": "", "Header": " Your order is under process  "}, "SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "rstatus": true, "status": "True", "voiceNote": "Please Wait", "SectionMain": {"Header": "Processing Order"}}', 'order_id': 'TM04202203261020194838886', 'timestamp': '2026-10-20T14:19:39.672552Z'} (ID: 1792505979794-0)
[2026-10-20 19:49:39,939.939 INFO    ] {'server_status': 'processOrder', 'server_response': {'delay': 0, 'SectionStatus': {'SubHeader': 'Please wait while we process your order', 'Note': '', 'UI_Header': '', 'Header': ' Your order is under process  '}, 'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'rstatus': True, 'status': 'True', 'voiceNote': 'Please Wait', 'SectionMain': {'Header': 'Processing Order'}}, 'order_id': 'TM04202203261020194838886'}
[2026-10-20 19:49:39,941.941 INFO    ] 200
[2026-10-20 19:49:39,944.944 INFO    ] {"data":{"server_status":"processOrder","server_response":{"delay":0,"SectionStatus":{"SubHeader":"Please wait while we process your order","Note":"","UI_Header":"","Header":" Your order is under process  "},"SectionSKU":{"skus":[],"Header":"Thank you for bearing with us :)"},"rstatus":true,"status":"true","voiceNote":"Please Wait","SectionMain":{"Header":"Processing Order"}},"order_id":"TM04202203261020194838886"},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 19:49:39,947.947 INFO    ] {'data': {'server_status': 'processOrder', 'server_response': {'delay': 0, 'SectionStatus': {'SubHeader': 'Please wait while we process your order', 'Note': '', 'UI_Header': '', 'Header': ' Your order is under process  '}, 'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'rstatus': True, 'status': 'true', 'voiceNote': 'Please Wait', 'SectionMain': {'Header': 'Processing Order'}}, 'order_id': 'TM04202203261020194838886'}, 'response': {'data': 'order updated successfully', 'msg': 'order updated successfully', 'status': True, 'code': 'ORDER_EXISTS'}}
[2026-10-20 19:49:39,950.950 INFO    ] 2026-10-20 19:49:39
[2026-10-20 19:49:39,952.952 INFO    ] None
[2026-10-20 19:49:39,954.954 INFO    ] Opening Door now
[2026-10-20 19:49:39,956.956 INFO    ] Opening Door now
[2026-10-20 19:49:39,959.959 INFO    ] 08e5d1063504bf393c26f0bfa436e9f9
[2026-10-20 19:49:39,962.962 INFO    ] 2026-10-20 19:49:39
[2026-10-20 19:49:39,964.964 INFO    ] playing audio file
[2026-10-20 19:49:39,981.981 INFO    ] 2026-10-20 19:49:39
[2026-10-20 19:49:39,984.984 INFO    ] 2026-10-20 19:49:39
[2026-10-20 19:49:43,049.049 INFO    ] 200
[2026-10-20 19:49:43,051.051 INFO    ] {"SectionSKU": {"skus": [{"name": "KITKAT Nestle 4 Finger Chocolate 38g", "qty": 4}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Door 2 is open now", "status": "False", "SectionStatus": {"UI_Header": "DOOR 2\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 2"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 19:49:43,055.055 INFO    ] {'SectionStatus': {'SubHeader': 'Please Pick the Products and close the door', 'Note': 'Please Close the door after picking up products', 'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'Header': 'Please Close Door 2'}, 'SectionSKU': {'skus': [{'qty': 4, 'name': 'KITKAT Nestle 4 Finger Chocolate 38g'}], 'Header': 'Pick the below items from the door'}, 'error': {'data': {}, 'tmessage': 'In Progress', 'umessage': 'In Progress', 'code': 20001}, 'rstatus': False, 'status': 'False', 'voiceNote': 'Door 2 is open now', 'SectionMain': {'Header': 'Door Open'}}
[2026-10-20 19:49:46,125.125 INFO    ] 200
[2026-10-20 19:49:46,128.128 INFO    ] {"SectionSKU": {"skus": [{"name": "KITKAT Nestle 4 Finger Chocolate 38g", "qty": 4}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Please close door 2", "status": "False", "SectionStatus": {"UI_Header": "DOOR 2\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 2"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 19:49:46,131.131 INFO    ] {'SectionStatus': {'SubHeader': 'Please Pick the Products and close the door', 'Note': 'Please Close the door after picking up products', 'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'Header': 'Please Close Door 2'}, 'SectionSKU': {'skus': [{'qty': 4, 'name': 'KITKAT Nestle 4 Finger Chocolate 38g'}], 'Header': 'Pick the below items from the door'}, 'error': {'data': {}, 'tmessage': 'In Progress', 'umessage': 'In Progress', 'code': 20001}, 'rstatus': False, 'status': 'False', 'voiceNote': 'Please close door 2', 'SectionMain': {'Header': 'Door Open'}}
[2026-10-20 19:49:49,189.189 INFO    ] 200
[2026-10-20 19:49:49,192.192 INFO    ] {"SectionSKU": {"skus": [{"name": "KITKAT Nestle 4 Finger Chocolate 38g", "qty": 4}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Please close door 2", "status": "False", "SectionStatus": {"UI_Header": "DOOR 2\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 2"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 19:49:49,195.195 INFO    ] Please close door 2
[2026-10-20 19:49:49,197.197 INFO    ] Please close door 2
[2026-10-20 19:49:49,200.200 INFO    ] 758e46684c76e887a5f58d4738034bed
[2026-10-20 19:49:49,202.202 INFO    ] 2026-10-20 19:49:49
[2026-10-20 19:49:49,205.205 INFO    ] playing audio file
[2026-10-20 19:49:49,222.222 INFO    ] 2026-10-20 19:49:49
[2026-10-20 19:49:49,225.225 INFO    ] publish_status: order_id=TM04202203261020194838886
[2026-10-20 19:49:49,228.228 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020194838886
[2026-10-20 19:49:49,332.332 INFO    ] [publish_status] Message added to stream with ID: 1792505989344-0
[2026-10-20 19:49:49,335.335 INFO    ] Published to order:TM04202203261020194838886: {'server_status': 'OrderStatus', 'server_response': '{"SectionStatus": {"SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "UI_Header": "DOOR 2\\nIS \\nOPEN \\nNOW", "Header": "Please Close Door 2"}, "SectionSKU": {"skus": [{"qty": 4, "name": "KITKAT Nestle 4 Finger Chocolate 38g"}], "Header": "Pick the below items from the door"}, "error": {"data": {}, "tmessage": "In Progress", "umessage": "In Progress", "code": 20001}, "rstatus": false, "status": "False", "voiceNote": "Please close door 2", "SectionMain": {"Header": "Door Open"}}', 'order_id': 'TM04202203261020194838886', 'timestamp': '2026-10-20T14:19:49.223988Z'} (ID: 1792505989344-0)
[2026-10-20 19:49:49,950.950 INFO    ] {'server_status': 'OrderStatus', 'server_response': {'SectionStatus': {'SubHeader': 'Please Pick the Products and close the door', 'Note': 'Please Close the door after picking up products', 'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'Header': 'Please Close Door 2'}, 'SectionSKU': {'skus': [{'qty': 4, 'name': 'KITKAT Nestle 4 Finger Chocolate 38g'}], 'Header': 'Pick the below items from the door'}, 'error': {'data': {}, 'tmessage': 'In Progress', 'umessage': 'In Progress', 'code': 20001}, 'rstatus': False, 'status': 'False', 'voiceNote': 'Please close door 2', 'SectionMain': {'Header': 'Door Open'}}, 'order_id': 'TM04202203261020194838886'}
[2026-10-20 19:49:49,952.952 INFO    ] 200
[2026-10-20 19:49:49,954.954 INFO    ] {"data":{"server_status":"OrderStatus","server_response":{"SectionStatus":{"SubHeader":"Please Pick the Products and close the door","Note":"Please Close the door after picking up products","UI_Header":"DOOR 2\nIS \nOPEN \nNOW","Header":"Please Close Door 2"},"SectionSKU":{"skus":[{"qty":4,"name":"KITKAT Nestle 4 Finger Chocolate 38g"}],"Header":"Pick the below items from the door"},"error":{"data":[],"tmessage":"In Progress","umessage":"In Progress","code":20001},"rstatus":false,"status":"false","voiceNote":"Please close door 2","SectionMain":{"Header":"Door Open"}},"order_id":"TM04202203261020194838886"},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 19:49:49,957.957 INFO    ] {'data': {'server_status': 'OrderStatus', 'server_response': {'SectionStatus': {'SubHeader': 'Please Pick the Products and close the door', 'Note': 'Please Close the door after picking up products', 'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'Header': 'Please Close Door 2'}, 'SectionSKU': {'skus': [{'qty': 4, 'name': 'KITKAT Nestle 4 Finger Chocolate 38g'}], 'Header': 'Pick the below items from the door'}, 'error': {'data': [], 'tmessage': 'In Progress', 'code': 20001, 'umessage': 'In Progress'}, 'rstatus': False, 'status': 'false', 'voiceNote': 'Please close door 2', 'SectionMain': {'Header': 'Door Open'}}, 'order_id': 'TM04202203261020194838886'}, 'response': {'data': 'order updated successfully', 'msg': 'order updated successfully', 'status': True, 'code': 'ORDER_EXISTS'}}
[2026-10-20 19:49:49,960.960 INFO    ] {'SectionStatus': {'SubHeader': 'Please Pick the Products and close the door', 'Note': 'Please Close the door after picking up products', 'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'Header': 'Please Close Door 2'}, 'SectionSKU': {'skus': [{'qty': 4, 'name': 'KITKAT Nestle 4 Finger Chocolate 38g'}], 'Header': 'Pick the below items from the door'}, 'error': {'data': {}, 'tmessage': 'In Progress', 'umessage': 'In Progress', 'code': 20001}, 'rstatus': False, 'status': 'False', 'voiceNote': 'Please close door 2', 'SectionMain': {'Header': 'Door Open'}}
[2026-10-20 19:49:53,023.023 INFO    ] 200
[2026-10-20 19:49:53,026.026 INFO    ] {"SectionSKU": {"skus": [{"name": "KITKAT Nestle 4 Finger Chocolate 38g", "qty": 4}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Please close door 2", "status": "False", "SectionStatus": {"UI_Header": "DOOR 2\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 2"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 19:49:53,029.029 INFO    ] {'SectionStatus': {'SubHeader': 'Please Pick the Products and close the door', 'Note': 'Please Close the door after picking up products', 'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'Header': 'Please Close Door 2'}, 'SectionSKU': {'skus': [{'qty': 4, 'name': 'KITKAT Nestle 4 Finger Chocolate 38g'}], 'Header': 'Pick the below items from the door'}, 'error': {'data': {}, 'tmessage': 'In Progress', 'umessage': 'In Progress', 'code': 20001}, 'rstatus': False, 'status': 'False', 'voiceNote': 'Please close door 2', 'SectionMain': {'Header': 'Door Open'}}
[2026-10-20 19:49:56,078.078 INFO    ] 200
[2026-10-20 19:49:56,081.081 INFO    ] {"SectionSKU": {"skus": [{"name": "KITKAT Nestle 4 Finger Chocolate 38g", "qty": 4}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Please close door 2", "status": "False", "SectionStatus": {"UI_Header": "DOOR 2\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 2"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 19:49:56,084.084 INFO    ] {'SectionStatus': {'SubHeader': 'Please Pick the Products and close the door', 'Note': 'Please Close the door after picking up products', 'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'Header': 'Please Close Door 2'}, 'SectionSKU': {'skus': [{'qty': 4, 'name': 'KITKAT Nestle 4 Finger Chocolate 38g'}], 'Header': 'Pick the below items from the door'}, 'error': {'data': {}, 'tmessage': 'In Progress', 'umessage': 'In Progress', 'code': 20001}, 'rstatus': False, 'status': 'False', 'voiceNote': 'Please close door 2', 'SectionMain': {'Header': 'Door Open'}}
[2026-10-20 19:49:59,133.133 INFO    ] 200
[2026-10-20 19:49:59,135.135 INFO    ] {"SectionSKU": {"skus": [{"name": "KITKAT Nestle 4 Finger Chocolate 38g", "qty": 4}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Please close door 2", "status": "False", "SectionStatus": {"UI_Header": "DOOR 2\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 2"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 19:49:59,138.138 INFO    ] Please close door 2
[2026-10-20 19:49:59,140.140 INFO    ] Please close door 2
[2026-10-20 19:49:59,143.143 INFO    ] 758e46684c76e887a5f58d4738034bed
[2026-10-20 19:49:59,145.145 INFO    ] 2026-10-20 19:49:59
[2026-10-20 19:49:59,147.147 INFO    ] playing audio file
[2026-10-20 19:49:59,164.164 INFO    ] 2026-10-20 19:49:59
[2026-10-20 19:49:59,167.167 INFO    ] publish_status: order_id=TM04202203261020194838886
[2026-10-20 19:49:59,170.170 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020194838886
[2026-10-20 19:49:59,273.273 INFO    ] [publish_status] Message added to stream with ID: 1792505999286-0
[2026-10-20 19:49:59,276.276 INFO    ] Published to order:TM04202203261020194838886: {'server_status': 'OrderStatus', 'server_response': '{"SectionStatus": {"SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "UI_Header": "DOOR 2\\nIS \\nOPEN \\nNOW", "Header": "Please Close Door 2"}, "SectionSKU": {"skus": [{"qty": 4, "name": "KITKAT Nestle 4 Finger Chocolate 38g"}], "Header": "Pick the below items from the door"}, "error": {"data": {}, "tmessage": "In Progress", "umessage": "In Progress", "code": 20001}, "rstatus": false, "status": "False", "voiceNote": "Please close door 2", "SectionMain": {"Header": "Door Open"}}', 'order_id': 'TM04202203261020194838886', 'timestamp': '2026-10-20T14:19:59.165939Z'} (ID: 1792505999286-0)
[2026-10-20 19:49:59,877.877 INFO    ] {'server_status': 'OrderStatus', 'server_response': {'SectionStatus': {'SubHeader': 'Please Pick the Products and close the door', 'Note': 'Please Close the door after picking up products', 'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'Header': 'Please Close Door 2'}, 'SectionSKU': {'skus': [{'qty': 4, 'name': 'KITKAT Nestle 4 Finger Chocolate 38g'}], 'Header': 'Pick the below items from the door'}, 'error': {'data': {}, 'tmessage': 'In Progress', 'umessage': 'In Progress', 'code': 20001}, 'rstatus': False, 'status': 'False', 'voiceNote': 'Please close door 2', 'SectionMain': {'Header': 'Door Open'}}, 'order_id': 'TM04202203261020194838886'}
[2026-10-20 19:49:59,880.880 INFO    ] 200
[2026-10-20 19:49:59,882.882 INFO    ] {"data":{"server_status":"OrderStatus","server_response":{"SectionStatus":{"SubHeader":"Please Pick the Products and close the door","Note":"Please Close the door after picking up products","UI_Header":"DOOR 2\nIS \nOPEN \nNOW","Header":"Please Close Door 2"},"SectionSKU":{"skus":[{"qty":4,"name":"KITKAT Nestle 4 Finger Chocolate 38g"}],"Header":"Pick the below items from the door"},"error":{"data":[],"tmessage":"In Progress","umessage":"In Progress","code":20001},"rstatus":false,"status":"false","voiceNote":"Please close door 2","SectionMain":{"Header":"Door Open"}},"order_id":"TM04202203261020194838886"},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 19:49:59,885.885 INFO    ] {'data': {'server_status': 'OrderStatus', 'server_response': {'SectionStatus': {'SubHeader': 'Please Pick the Products and close the door', 'Note': 'Please Close the door after picking up products', 'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'Header': 'Please Close Door 2'}, 'SectionSKU': {'skus': [{'qty': 4, 'name': 'KITKAT Nestle 4 Finger Chocolate 38g'}], 'Header': 'Pick the below items from the door'}, 'error': {'data': [], 'tmessage': 'In Progress', 'code': 20001, 'umessage': 'In Progress'}, 'rstatus': False, 'status': 'false', 'voiceNote': 'Please close door 2', 'SectionMain': {'Header': 'Door Open'}}, 'order_id': 'TM04202203261020194838886'}, 'response': {'data': 'order updated successfully', 'msg': 'order updated successfully', 'status': True, 'code': 'ORDER_EXISTS'}}
[2026-10-20 19:49:59,888.888 INFO    ] {'SectionStatus': {'SubHeader': 'Please Pick the Products and close the door', 'Note': 'Please Close the door after picking up products', 'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'Header': 'Please Close Door 2'}, 'SectionSKU': {'skus': [{'qty': 4, 'name': 'KITKAT Nestle 4 Finger Chocolate 38g'}], 'Header': 'Pick the below items from the door'}, 'error': {'data': {}, 'tmessage': 'In Progress', 'umessage': 'In Progress', 'code': 20001}, 'rstatus': False, 'status': 'False', 'voiceNote': 'Please close door 2', 'SectionMain': {'Header': 'Door Open'}}
[2026-10-20 19:50:03,002.002 INFO    ] 200
[2026-10-20 19:50:03,005.005 INFO    ] {"SectionSKU": {"skus": [{"name": "KITKAT Nestle 4 Finger Chocolate 38g", "qty": 4}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Please close door 2", "status": "False", "SectionStatus": {"UI_Header": "DOOR 2\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 2"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 19:50:03,013.013 INFO    ] {'SectionStatus': {'SubHeader': 'Please Pick the Products and close the door', 'Note': 'Please Close the door after picking up products', 'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'Header': 'Please Close Door 2'}, 'SectionSKU': {'skus': [{'qty': 4, 'name': 'KITKAT Nestle 4 Finger Chocolate 38g'}], 'Header': 'Pick the below items from the door'}, 'error': {'data': {}, 'tmessage': 'In Progress', 'umessage': 'In Progress', 'code': 20001}, 'rstatus': False, 'status': 'False', 'voiceNote': 'Please close door 2', 'SectionMain': {'Header': 'Door Open'}}
[2026-10-20 19:50:06,063.063 INFO    ] 200
[2026-10-20 19:50:06,065.065 INFO    ] {"SectionSKU": {"skus": [{"name": "KITKAT Nestle 4 Finger Chocolate 38g", "qty": 4}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Please close door 2", "status": "False", "SectionStatus": {"UI_Header": "DOOR 2\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 2"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 19:50:06,068.068 INFO    ] {'SectionStatus': {'SubHeader': 'Please Pick the Products and close the door', 'Note': 'Please Close the door after picking up products', 'UI_Header': 'DOOR 2\nIS \nOPEN \nNOW', 'Header': 'Please Close Door 2'}, 'SectionSKU': {'skus': [{'qty': 4, 'name': 'KITKAT Nestle 4 Finger Chocolate 38g'}], 'Header': 'Pick the below items from the door'}, 'error': {'data': {}, 'tmessage': 'In Progress', 'umessage': 'In Progress', 'code': 20001}, 'rstatus': False, 'status': 'False', 'voiceNote': 'Please close door 2', 'SectionMain': {'Header': 'Door Open'}}
[2026-10-20 19:50:09,132.132 INFO    ] 200
[2026-10-20 19:50:09,135.135 INFO    ] {"SectionSKU": {"skus": [], "Header": "If you like us, tell others... else tell us"}, "rstatus": true, "voiceNote": "Transaction Completed", "delay": 100, "status": "True", "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait for invoice to generate", "Note": "If any due amount, clear at https://go.tinymart.in", "Header": " Order is complete "}, "SectionMain": {"Header": "Door Closed"}}
[2026-10-20 19:50:09,138.138 INFO    ] publish_status: order_id=TM04202203261020194838886
[2026-10-20 19:50:09,141.141 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020194838886
[2026-10-20 19:50:09,242.242 INFO    ] [publish_status] Message added to stream with ID: 1792506009255-0
[2026-10-20 19:50:09,245.245 INFO    ] Published to order:TM04202203261020194838886: {'server_status': 'OrderStatus', 'server_response': '{"delay": 100, "SectionStatus": {"SubHeader": "Please wait for invoice to generate", "Note": "If any due amount, clear at https://go.tinymart.in", "UI_Header": "", "Header": " Order is complete "}, "SectionSKU": {"skus": [], "Header": "If you like us, tell others... else tell us"}, "rstatus": true, "status": "True", "voiceNote": "Transaction Completed", "SectionMain": {"Header": "Door Closed"}}', 'order_id': 'TM04202203261020194838886', 'timestamp': '2026-10-20T14:20:09.136662Z'} (ID: 1792506009255-0)
[2026-10-20 19:50:09,802.802 INFO    ] {'server_status': 'OrderStatus', 'server_response': {'delay': 100, 'SectionStatus': {'SubHeader': 'Please wait for invoice to generate', 'Note': 'If any due amount, clear at https://go.tinymart.in', 'UI_Header': '', 'Header': ' Order is complete '}, 'SectionSKU': {'skus': [], 'Header': 'If you like us, tell others... else tell us'}, 'rstatus': True, 'status': 'True', 'voiceNote': 'Transaction Completed', 'SectionMain': {'Header': 'Door Closed'}}, 'order_id': 'TM04202203261020194838886'}
[2026-10-20 19:50:09,804.804 INFO    ] 200
[2026-10-20 19:50:09,807.807 INFO    ] {"data":{"server_status":"OrderStatus","server_response":{"delay":100,"SectionStatus":{"SubHeader":"Please wait for invoice to generate","Note":"If any due amount, clear at https:\/\/go.tinymart.in","UI_Header":"","Header":" Order is complete "},"SectionSKU":{"skus":[],"Header":"If you like us, tell others... else tell us"},"rstatus":true,"status":"true","voiceNote":"Transaction Completed","SectionMain":{"Header":"Door Closed"}},"order_id":"TM04202203261020194838886"},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 19:50:09,810.810 INFO    ] {'data': {'server_status': 'OrderStatus', 'server_response': {'delay': 100, 'SectionStatus': {'SubHeader': 'Please wait for invoice to generate', 'Note': 'If any due amount, clear at https://go.tinymart.in', 'UI_Header': '', 'Header': ' Order is complete '}, 'SectionSKU': {'skus': [], 'Header': 'If you like us, tell others... else tell us'}, 'rstatus': True, 'status': 'true', 'voiceNote': 'Transaction Completed', 'SectionMain': {'Header': 'Door Closed'}}, 'order_id': 'TM04202203261020194838886'}, 'response': {'data': 'order updated successfully', 'msg': 'order updated successfully', 'status': True, 'code': 'ORDER_EXISTS'}}
[2026-10-20 19:50:09,812.812 INFO    ] {'delay': 100, 'SectionStatus': {'SubHeader': 'Please wait for invoice to generate', 'Note': 'If any due amount, clear at https://go.tinymart.in', 'UI_Header': '', 'Header': ' Order is complete '}, 'SectionSKU': {'skus': [], 'Header': 'If you like us, tell others... else tell us'}, 'rstatus': True, 'status': 'True', 'voiceNote': 'Transaction Completed', 'SectionMain': {'Header': 'Door Closed'}}
[2026-10-20 19:50:09,815.815 INFO    ] 2026-10-20 19:50:09
[2026-10-20 19:50:09,818.818 INFO    ] Order Completed 
[2026-10-20 19:50:09,820.820 INFO    ] Order Completed 
[2026-10-20 19:50:09,823.823 INFO    ] 193c8a8cf3bf490ccfe0b23598544a83
[2026-10-20 19:50:09,825.825 INFO    ] 2026-10-20 19:50:09
[2026-10-20 19:50:09,827.827 INFO    ] playing audio file
[2026-10-20 19:50:09,846.846 INFO    ] 2026-10-20 19:50:09
[2026-10-20 19:50:09,849.849 INFO    ] {'delay': 100, 'SectionStatus': {'SubHeader': 'Please wait for invoice to generate', 'Note': 'If any due amount, clear at https://go.tinymart.in', 'UI_Header': '', 'Header': ' Order is complete '}, 'SectionSKU': {'skus': [], 'Header': 'If you like us, tell others... else tell us'}, 'rstatus': True, 'status': 'True', 'voiceNote': 'Transaction Completed', 'SectionMain': {'Header': 'Door Closed'}}
[2026-10-20 19:50:09,852.852 INFO    ] 2026-10-20 19:50:09
[2026-10-20 19:50:10,233.233 INFO    ] 200
[2026-10-20 19:50:10,236.236 INFO    ] {"rstatus": true, "logic": "WBL", "skus": [{"door_id": "", "name": "KITKAT Nestle 4 Finger Chocolate 38g per peice", "mrp": "30", "skuid": "186084", "unit_price": "30", "qty": 4, "tray_id": "37", "sku_total": 120.0, "image_url": "https://images.tinymart.in/product/186084-5395.png"}], "orderId": "TM04202203261020194838886", "res": "True", "total_amount": 120.0, "anomaly": 0}
[2026-10-20 19:50:10,239.239 INFO    ] {'skus': [{'unit_price': '30', 'sku_total': 120.0, 'door_id': '', 'mrp': '30', 'name': 'KITKAT Nestle 4 Finger Chocolate 38g per peice', 'tray_id': '37', 'image_url': 'https://images.tinymart.in/product/186084-5395.png', 'skuid': '186084', 'qty': 4}], 'orderId': 'TM04202203261020194838886', 'total_amount': 120.0, 'res': 'True', 'logic': 'WBL', 'rstatus': True, 'anomaly': 0}
[2026-10-20 19:50:10,241.241 INFO    ] {'skus': [{'unit_price': '30', 'sku_total': 120.0, 'door_id': '', 'mrp': '30', 'name': 'KITKAT Nestle 4 Finger Chocolate 38g per peice', 'tray_id': '37', 'image_url': 'https://images.tinymart.in/product/186084-5395.png', 'skuid': '186084', 'qty': 4}], 'orderId': 'TM04202203261020194838886', 'total_amount': 120.0, 'res': 'True', 'logic': 'WBL', 'rstatus': True, 'anomaly': 0}
[2026-10-20 19:50:10,244.244 INFO    ] 2026-10-20 19:50:10
[2026-10-20 19:50:10,247.247 INFO    ] 2026-10-20 19:50:10
[2026-10-20 19:50:10,250.250 INFO    ] 120
[2026-10-20 19:50:10,252.252 INFO    ] 2026-10-20 19:50:10
[2026-10-20 19:50:10,255.255 INFO    ] 2026-10-20 19:50:10
[2026-10-20 19:50:10,257.257 INFO    ]  Your Bill Amount is 120
[2026-10-20 19:50:10,260.260 INFO    ]  Your Bill Amount is 120
[2026-10-20 19:50:10,263.263 INFO    ] 739f76d6a2b4b0b9b8ed09d1e41c3b01
[2026-10-20 19:50:10,265.265 INFO    ] 2026-10-20 19:50:10
[2026-10-20 19:50:10,267.267 INFO    ] playing audio file
[2026-10-20 19:50:10,284.284 INFO    ] 2026-10-20 19:50:10
[2026-10-20 19:50:10,288.288 INFO    ] 2026-10-20 19:50:10
[2026-10-20 19:50:10,291.291 INFO    ] publish_status: order_id=TM04202203261020194838886
[2026-10-20 19:50:10,294.294 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020194838886
[2026-10-20 19:50:10,372.372 INFO    ] [publish_status] Message added to stream with ID: 1792506010384-0
[2026-10-20 19:50:10,375.375 INFO    ] Published to order:TM04202203261020194838886: {'server_status': 'invoiceOrder', 'server_response': '{"skus": [{"unit_price": "30", "sku_total": 120.0, "door_id": "", "mrp": "30", "name": "KITKAT Nestle 4 Finger Chocolate 38g per peice", "tray_id": "37", "image_url": "https://images.tinymart.in/product/186084-5395.png", "skuid": "186084", "qty": 4}], "orderId": "TM04202203261020194838886", "total_amount": 120.0, "res": "True", "logic": "WBL", "rstatus": true, "anomaly": 0}', 'order_id': 'TM04202203261020194838886', 'timestamp': '2026-10-20T14:20:10.289593Z'} (ID: 1792506010384-0)
[2026-10-20 19:50:10,541.541 INFO    ] {'server_status': 'invoiceOrder', 'server_response': {'skus': [{'unit_price': '30', 'sku_total': 120.0, 'door_id': '', 'mrp': '30', 'name': 'KITKAT Nestle 4 Finger Chocolate 38g per peice', 'tray_id': '37', 'image_url': 'https://images.tinymart.in/product/186084-5395.png', 'skuid': '186084', 'qty': 4}], 'orderId': 'TM04202203261020194838886', 'total_amount': 120.0, 'res': 'True', 'logic': 'WBL', 'rstatus': True, 'anomaly': 0}, 'order_id': 'TM04202203261020194838886'}
[2026-10-20 19:50:10,544.544 INFO    ] 200
[2026-10-20 19:50:10,547.547 INFO    ] {"data":{"server_status":"invoiceOrder","server_response":{"skus":[{"unit_price":"30","sku_total":120,"door_id":"","mrp":"30","name":"KITKAT Nestle 4 Finger Chocolate 38g per peice","tray_id":"37","image_url":"https:\/\/images.tinymart.in\/product\/186084-5395.png","skuid":"186084","qty":4}],"orderId":"TM04202203261020194838886","total_amount":120,"res":"true","logic":"WBL","rstatus":true,"anomaly":0},"order_id":"TM04202203261020194838886"},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 19:50:10,553.553 INFO    ] {'data': {'server_status': 'invoiceOrder', 'server_response': {'skus': [{'unit_price': '30', 'sku_total': 120, 'door_id': '', 'mrp': '30', 'name': 'KITKAT Nestle 4 Finger Chocolate 38g per peice', 'tray_id': '37', 'image_url': 'https://images.tinymart.in/product/186084-5395.png', 'skuid': '186084', 'qty': 4}], 'total_amount': 120, 'res': 'true', 'logic': 'WBL', 'orderId': 'TM04202203261020194838886', 'rstatus': True, 'anomaly': 0}, 'order_id': 'TM04202203261020194838886'}, 'response': {'data': 'order updated successfully', 'msg': 'order updated successfully', 'status': True, 'code': 'ORDER_EXISTS'}}
[2026-10-20 19:50:10,557.557 INFO    ] {'data': {'server_status': 'invoiceOrder', 'server_response': {'skus': [{'unit_price': '30', 'sku_total': 120, 'door_id': '', 'mrp': '30', 'name': 'KITKAT Nestle 4 Finger Chocolate 38g per peice', 'tray_id': '37', 'image_url': 'https://images.tinymart.in/product/186084-5395.png', 'skuid': '186084', 'qty': 4}], 'total_amount': 120, 'res': 'true', 'logic': 'WBL', 'orderId': 'TM04202203261020194838886', 'rstatus': True, 'anomaly': 0}, 'order_id': 'TM04202203261020194838886'}, 'response': {'data': 'order updated successfully', 'msg': 'order updated successfully', 'status': True, 'code': 'ORDER_EXISTS'}}
[2026-10-20 19:50:10,561.561 INFO    ] 2026-10-20 19:50:10
[2026-10-20 19:50:13,835.835 INFO    ] 200
[2026-10-20 19:50:13,839.839 INFO    ] {"orders": [], "order_items_synced": ["TM04202203261020194838886_0"], "tray_synced": ["TM04202203261020194838886", "TM04202203261020194838886", "TM04202203261020194838886", "TM04202203261020194838886", "TM04202203261020194838886", "TM04202203261020194838886", "TM04202203261020194838886", "TM04202203261020194838886", "TM04202203261020194838886", "TM04202203261020194838886", "TM04202203261020194838886", "TM04202203261020194838886", "TM04202203261020194838886", "TM04202203261020194838886", "TM04202203261020194838886", "TM04202203261020194838886", "TM04202203261020194838886", "TM04202203261020194838886", "TM04202203261020194838886", "TM04202203261020194838886", "TM04202203261020194838886", "TM04202203261020194838886", "TM04202203261020194838886", "TM04202203261020194838886", "TM04202203261020194838886", "TM04202203261020194838886", "TM04202203261020194838886", "TM04202203261020194838886", "TM04202203261020194838886", "TM04202203261020194838886", "TM04202203261020194838886", "TM04202203261020194838886", "TM04202203261020194838886"], "orders_synced": [], "status": true, "tray_sync": [], "order_items": [], "orders_data": [], "orders_data_synced": []}
[2026-10-20 19:50:13,842.842 INFO    ] 2026-10-20 19:50:13
[2026-10-20 19:50:13,949.949 INFO    ] 200
[2026-10-20 19:50:13,951.951 INFO    ] True
[2026-10-20 19:50:13,954.954 INFO    ] cleanup_start_order_file_after_processing: order_id=TM04202203261020194838886
[2026-10-20 19:50:13,957.957 INFO    ] start order file deleted
[2026-10-20 19:50:13,960.960 INFO    ] Checking for system updates...
[2026-10-20 19:50:13,993.993 INFO    ] 200
[2026-10-20 19:50:13,996.996 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:50:14,048.048 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:50:14,050.050 INFO    ] No update needed
[2026-10-20 19:50:14,053.053 INFO    ] Checking for camera pi updates...
[2026-10-20 19:50:14,091.091 INFO    ] 200
[2026-10-20 19:50:14,093.093 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:50:14,140.140 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:50:14,188.188 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:50:14,190.190 INFO    ] No camera update needed
[2026-10-20 19:50:14,193.193 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:50:14,195.195 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:50:14,201.201 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:50:14,206.206 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:50:16,248.248 INFO    ] ================================================
[2026-10-20 19:50:16,264.264 INFO    ] Launching Daemon at Tue Oct 20 19:50:16 IST 2026
[2026-10-20 19:50:16,275.275 INFO    ] ================================================
[2026-10-20 19:50:16,841.841 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:50:16
[2026-10-20 19:50:17,425.425 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:50:17,683.683 INFO    ] Initializing speech engine...
[2026-10-20 19:50:17,692.692 INFO    ] 2026-10-20 19:50:17
[2026-10-20 19:50:17,990.990 INFO    ] 2026-10-20 19:50:17
[2026-10-20 19:50:18,024.024 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:50:18,230.230 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:50:18,245.245 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:50:18,414.414 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:50:18,420.420 INFO    ] time= 20/10/2026 19:50:18
[2026-10-20 19:50:18,427.427 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:50:18,474.474 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:50:18,625.625 INFO    ] No existing commands found in stream
[2026-10-20 19:50:23,655.655 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:50:23,658.658 INFO    ] Waiting 3.87 seconds before fallback handling...
[2026-10-20 19:50:28,027.027 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:50:28,030.030 INFO    ] Checking for system updates...
[2026-10-20 19:50:28,065.065 INFO    ] 200
[2026-10-20 19:50:28,067.067 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:50:28,119.119 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:50:28,121.121 INFO    ] No update needed
[2026-10-20 19:50:28,123.123 INFO    ] Checking for camera pi updates...
[2026-10-20 19:50:28,156.156 INFO    ] 200
[2026-10-20 19:50:28,159.159 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:50:28,199.199 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:50:28,244.244 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:50:28,247.247 INFO    ] No camera update needed
[2026-10-20 19:50:28,249.249 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:50:28,251.251 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:50:28,257.257 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:50:28,262.262 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:50:30,301.301 INFO    ] ================================================
[2026-10-20 19:50:30,316.316 INFO    ] Launching Daemon at Tue Oct 20 19:50:30 IST 2026
[2026-10-20 19:50:30,328.328 INFO    ] ================================================
[2026-10-20 19:50:30,919.919 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:50:30
[2026-10-20 19:50:31,529.529 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:50:31,792.792 INFO    ] Initializing speech engine...
[2026-10-20 19:50:31,802.802 INFO    ] 2026-10-20 19:50:31
[2026-10-20 19:50:32,116.116 INFO    ] 2026-10-20 19:50:32
[2026-10-20 19:50:32,153.153 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:50:32,339.339 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:50:32,365.365 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:50:32,516.516 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:50:32,522.522 INFO    ] time= 20/10/2026 19:50:32
[2026-10-20 19:50:32,549.549 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:50:32,557.557 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:50:32,689.689 INFO    ] No existing commands found in stream
[2026-10-20 19:50:37,706.706 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:50:37,709.709 INFO    ] Waiting 0.75 seconds before fallback handling...
[2026-10-20 19:50:38,957.957 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 19:50:38,960.960 INFO    ] Checking for system updates...
[2026-10-20 19:50:38,996.996 INFO    ] 200
[2026-10-20 19:50:38,999.999 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:50:39,051.051 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:50:39,054.054 INFO    ] No update needed
[2026-10-20 19:50:39,056.056 INFO    ] Checking for camera pi updates...
[2026-10-20 19:50:39,090.090 INFO    ] 200
[2026-10-20 19:50:39,092.092 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:50:39,137.137 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:50:39,184.184 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:50:39,187.187 INFO    ] No camera update needed
[2026-10-20 19:50:39,189.189 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:50:39,192.192 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:50:39,197.197 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:50:39,202.202 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:50:41,244.244 INFO    ] ================================================
[2026-10-20 19:50:41,259.259 INFO    ] Launching Daemon at Tue Oct 20 19:50:41 IST 2026
[2026-10-20 19:50:41,270.270 INFO    ] ================================================
[2026-10-20 19:50:41,952.952 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:50:41
[2026-10-20 19:50:42,651.651 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:50:42,966.966 INFO    ] Initializing speech engine...
[2026-10-20 19:50:42,974.974 INFO    ] 2026-10-20 19:50:42
[2026-10-20 19:50:43,251.251 INFO    ] 2026-10-20 19:50:43
[2026-10-20 19:50:43,288.288 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:50:43,543.543 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:50:43,554.554 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:50:43,784.784 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:50:43,821.821 INFO    ] time= 20/10/2026 19:50:43
[2026-10-20 19:50:43,844.844 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:50:43,862.862 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:50:43,986.986 INFO    ] No existing commands found in stream
[2026-10-20 19:50:49,022.022 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:50:49,025.025 INFO    ] Waiting 3.31 seconds before fallback handling...
[2026-10-20 19:50:52,842.842 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 19:50:52,845.845 INFO    ] Checking for system updates...
[2026-10-20 19:50:52,883.883 INFO    ] 200
[2026-10-20 19:50:52,886.886 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:50:52,938.938 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:50:52,941.941 INFO    ] No update needed
[2026-10-20 19:50:52,944.944 INFO    ] Checking for camera pi updates...
[2026-10-20 19:50:52,979.979 INFO    ] 200
[2026-10-20 19:50:52,982.982 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:50:53,030.030 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:50:53,079.079 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:50:53,082.082 INFO    ] No camera update needed
[2026-10-20 19:50:53,085.085 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:50:53,087.087 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:50:53,094.094 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:50:53,100.100 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:50:55,143.143 INFO    ] ================================================
[2026-10-20 19:50:55,159.159 INFO    ] Launching Daemon at Tue Oct 20 19:50:55 IST 2026
[2026-10-20 19:50:55,170.170 INFO    ] ================================================
[2026-10-20 19:50:55,752.752 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:50:55
[2026-10-20 19:50:56,349.349 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:50:56,622.622 INFO    ] Initializing speech engine...
[2026-10-20 19:50:56,632.632 INFO    ] 2026-10-20 19:50:56
[2026-10-20 19:50:56,894.894 INFO    ] 2026-10-20 19:50:56
[2026-10-20 19:50:56,946.946 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:50:57,173.173 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:50:57,177.177 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:50:57,399.399 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:50:57,437.437 INFO    ] time= 20/10/2026 19:50:57
[2026-10-20 19:50:57,452.452 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:50:57,461.461 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:50:57,591.591 INFO    ] No existing commands found in stream
[2026-10-20 19:51:02,619.619 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:51:02,623.623 INFO    ] Waiting 1.03 seconds before fallback handling...
[2026-10-20 19:51:04,189.189 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:51:04,192.192 INFO    ] Checking for system updates...
[2026-10-20 19:51:04,227.227 INFO    ] 200
[2026-10-20 19:51:04,229.229 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:51:04,282.282 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:51:04,284.284 INFO    ] No update needed
[2026-10-20 19:51:04,287.287 INFO    ] Checking for camera pi updates...
[2026-10-20 19:51:04,321.321 INFO    ] 200
[2026-10-20 19:51:04,323.323 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:51:04,364.364 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:51:04,417.417 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:51:04,419.419 INFO    ] No camera update needed
[2026-10-20 19:51:04,422.422 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:51:04,424.424 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:51:04,430.430 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:51:04,435.435 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:51:06,476.476 INFO    ] ================================================
[2026-10-20 19:51:06,492.492 INFO    ] Launching Daemon at Tue Oct 20 19:51:06 IST 2026
[2026-10-20 19:51:06,502.502 INFO    ] ================================================
[2026-10-20 19:51:07,082.082 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:51:07
[2026-10-20 19:51:07,679.679 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:51:07,954.954 INFO    ] Initializing speech engine...
[2026-10-20 19:51:07,963.963 INFO    ] 2026-10-20 19:51:07
[2026-10-20 19:51:08,222.222 INFO    ] 2026-10-20 19:51:08
[2026-10-20 19:51:08,276.276 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:51:08,503.503 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:51:08,508.508 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:51:08,639.639 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:51:08,714.714 INFO    ] time= 20/10/2026 19:51:08
[2026-10-20 19:51:08,766.766 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:51:08,772.772 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:51:08,914.914 INFO    ] No existing commands found in stream
[2026-10-20 19:51:13,931.931 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:51:13,934.934 INFO    ] Waiting 3.50 seconds before fallback handling...
[2026-10-20 19:51:17,931.931 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:51:17,934.934 INFO    ] Checking for system updates...
[2026-10-20 19:51:17,970.970 INFO    ] 200
[2026-10-20 19:51:17,972.972 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:51:18,025.025 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:51:18,028.028 INFO    ] No update needed
[2026-10-20 19:51:18,030.030 INFO    ] Checking for camera pi updates...
[2026-10-20 19:51:18,068.068 INFO    ] 200
[2026-10-20 19:51:18,070.070 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:51:18,111.111 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:51:18,166.166 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:51:18,169.169 INFO    ] No camera update needed
[2026-10-20 19:51:18,172.172 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:51:18,174.174 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:51:18,179.179 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:51:18,184.184 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:51:20,225.225 INFO    ] ================================================
[2026-10-20 19:51:20,241.241 INFO    ] Launching Daemon at Tue Oct 20 19:51:20 IST 2026
[2026-10-20 19:51:20,252.252 INFO    ] ================================================
[2026-10-20 19:51:20,884.884 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:51:20
[2026-10-20 19:51:21,483.483 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:51:21,760.760 INFO    ] Initializing speech engine...
[2026-10-20 19:51:21,767.767 INFO    ] 2026-10-20 19:51:21
[2026-10-20 19:51:22,027.027 INFO    ] 2026-10-20 19:51:22
[2026-10-20 19:51:22,057.057 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:51:22,301.301 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:51:22,311.311 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:51:22,527.527 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:51:22,569.569 INFO    ] time= 20/10/2026 19:51:22
[2026-10-20 19:51:22,575.575 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:51:22,594.594 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:51:22,709.709 INFO    ] No existing commands found in stream
[2026-10-20 19:51:27,733.733 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:51:27,736.736 INFO    ] Waiting 4.00 seconds before fallback handling...
[2026-10-20 19:51:32,271.271 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 19:51:32,274.274 INFO    ] Checking for system updates...
[2026-10-20 19:51:32,312.312 INFO    ] 200
[2026-10-20 19:51:32,315.315 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:51:32,372.372 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:51:32,375.375 INFO    ] No update needed
[2026-10-20 19:51:32,379.379 INFO    ] Checking for camera pi updates...
[2026-10-20 19:51:32,417.417 INFO    ] 200
[2026-10-20 19:51:32,420.420 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:51:32,473.473 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:51:32,510.510 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:51:32,512.512 INFO    ] No camera update needed
[2026-10-20 19:51:32,515.515 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:51:32,517.517 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:51:32,522.522 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:51:32,527.527 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:51:34,569.569 INFO    ] ================================================
[2026-10-20 19:51:34,584.584 INFO    ] Launching Daemon at Tue Oct 20 19:51:34 IST 2026
[2026-10-20 19:51:34,595.595 INFO    ] ================================================
[2026-10-20 19:51:35,257.257 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:51:35
[2026-10-20 19:51:35,963.963 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:51:36,270.270 INFO    ] Initializing speech engine...
[2026-10-20 19:51:36,277.277 INFO    ] 2026-10-20 19:51:36
[2026-10-20 19:51:36,571.571 INFO    ] 2026-10-20 19:51:36
[2026-10-20 19:51:36,620.620 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:51:36,876.876 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:51:36,896.896 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:51:37,113.113 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:51:37,126.126 INFO    ] time= 20/10/2026 19:51:37
[2026-10-20 19:51:37,148.148 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:51:37,174.174 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:51:37,300.300 INFO    ] No existing commands found in stream
[2026-10-20 19:51:42,328.328 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:51:42,332.332 INFO    ] Waiting 2.82 seconds before fallback handling...
[2026-10-20 19:51:45,707.707 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:51:45,710.710 INFO    ] Checking for system updates...
[2026-10-20 19:51:45,753.753 INFO    ] 200
[2026-10-20 19:51:45,756.756 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:51:45,817.817 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:51:45,820.820 INFO    ] No update needed
[2026-10-20 19:51:45,823.823 INFO    ] Checking for camera pi updates...
[2026-10-20 19:51:45,858.858 INFO    ] 200
[2026-10-20 19:51:45,861.861 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:51:45,907.907 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:51:45,956.956 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:51:45,959.959 INFO    ] No camera update needed
[2026-10-20 19:51:45,962.962 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:51:45,965.965 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:51:45,971.971 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:51:45,978.978 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:51:48,021.021 INFO    ] ================================================
[2026-10-20 19:51:48,036.036 INFO    ] Launching Daemon at Tue Oct 20 19:51:48 IST 2026
[2026-10-20 19:51:48,048.048 INFO    ] ================================================
[2026-10-20 19:51:48,620.620 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:51:48
[2026-10-20 19:51:49,221.221 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:51:49,495.495 INFO    ] Initializing speech engine...
[2026-10-20 19:51:49,505.505 INFO    ] 2026-10-20 19:51:49
[2026-10-20 19:51:49,753.753 INFO    ] 2026-10-20 19:51:49
[2026-10-20 19:51:49,788.788 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:51:50,023.023 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:51:50,049.049 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:51:50,189.189 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:51:50,234.234 INFO    ] time= 20/10/2026 19:51:50
[2026-10-20 19:51:50,288.288 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:51:50,321.321 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:51:50,465.465 INFO    ] No existing commands found in stream
[2026-10-20 19:51:55,481.481 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:51:55,484.484 INFO    ] Waiting 1.03 seconds before fallback handling...
[2026-10-20 19:51:57,085.085 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:51:57,088.088 INFO    ] Checking for system updates...
[2026-10-20 19:51:57,125.125 INFO    ] 200
[2026-10-20 19:51:57,128.128 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:51:57,188.188 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:51:57,191.191 INFO    ] No update needed
[2026-10-20 19:51:57,194.194 INFO    ] Checking for camera pi updates...
[2026-10-20 19:51:57,230.230 INFO    ] 200
[2026-10-20 19:51:57,233.233 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:51:57,274.274 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:51:57,321.321 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:51:57,324.324 INFO    ] No camera update needed
[2026-10-20 19:51:57,326.326 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:51:57,328.328 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:51:57,333.333 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:51:57,338.338 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:51:59,380.380 INFO    ] ================================================
[2026-10-20 19:51:59,395.395 INFO    ] Launching Daemon at Tue Oct 20 19:51:59 IST 2026
[2026-10-20 19:51:59,407.407 INFO    ] ================================================
[2026-10-20 19:51:59,992.992 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:51:59
[2026-10-20 19:52:00,596.596 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:52:00,881.881 INFO    ] Initializing speech engine...
[2026-10-20 19:52:00,889.889 INFO    ] 2026-10-20 19:52:00
[2026-10-20 19:52:01,158.158 INFO    ] 2026-10-20 19:52:01
[2026-10-20 19:52:01,263.263 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:52:01,501.501 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:52:01,542.542 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:52:01,732.732 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:52:01,736.736 INFO    ] time= 20/10/2026 19:52:01
[2026-10-20 19:52:01,744.744 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:52:01,791.791 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:52:01,920.920 INFO    ] No existing commands found in stream
[2026-10-20 19:52:06,945.945 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:52:06,948.948 INFO    ] Waiting 2.36 seconds before fallback handling...
[2026-10-20 19:52:09,804.804 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:52:09,806.806 INFO    ] Checking for system updates...
[2026-10-20 19:52:09,847.847 INFO    ] 200
[2026-10-20 19:52:09,850.850 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:52:09,905.905 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:52:09,908.908 INFO    ] No update needed
[2026-10-20 19:52:09,911.911 INFO    ] Checking for camera pi updates...
[2026-10-20 19:52:09,944.944 INFO    ] 200
[2026-10-20 19:52:09,947.947 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:52:09,987.987 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:52:10,035.035 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:52:10,037.037 INFO    ] No camera update needed
[2026-10-20 19:52:10,040.040 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:52:10,043.043 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:52:10,048.048 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:52:10,053.053 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:52:12,101.101 INFO    ] ================================================
[2026-10-20 19:52:12,117.117 INFO    ] Launching Daemon at Tue Oct 20 19:52:12 IST 2026
[2026-10-20 19:52:12,127.127 INFO    ] ================================================
[2026-10-20 19:52:12,697.697 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:52:12
[2026-10-20 19:52:13,285.285 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:52:13,548.548 INFO    ] Initializing speech engine...
[2026-10-20 19:52:13,561.561 INFO    ] 2026-10-20 19:52:13
[2026-10-20 19:52:13,846.846 INFO    ] 2026-10-20 19:52:13
[2026-10-20 19:52:13,885.885 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:52:14,111.111 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:52:14,141.141 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:52:14,338.338 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:52:14,344.344 INFO    ] time= 20/10/2026 19:52:14
[2026-10-20 19:52:14,414.414 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:52:14,458.458 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:52:14,559.559 INFO    ] No existing commands found in stream
[2026-10-20 19:52:19,573.573 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:52:19,576.576 INFO    ] Waiting 2.20 seconds before fallback handling...
[2026-10-20 19:52:22,281.281 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:52:22,284.284 INFO    ] Checking for system updates...
[2026-10-20 19:52:22,319.319 INFO    ] 200
[2026-10-20 19:52:22,322.322 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:52:22,377.377 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:52:22,380.380 INFO    ] No update needed
[2026-10-20 19:52:22,382.382 INFO    ] Checking for camera pi updates...
[2026-10-20 19:52:22,416.416 INFO    ] 200
[2026-10-20 19:52:22,418.418 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:52:22,462.462 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:52:22,515.515 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:52:22,517.517 INFO    ] No camera update needed
[2026-10-20 19:52:22,520.520 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:52:22,522.522 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:52:22,528.528 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:52:22,532.532 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:52:24,572.572 INFO    ] ================================================
[2026-10-20 19:52:24,588.588 INFO    ] Launching Daemon at Tue Oct 20 19:52:24 IST 2026
[2026-10-20 19:52:24,599.599 INFO    ] ================================================
[2026-10-20 19:52:25,187.187 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:52:25
[2026-10-20 19:52:25,795.795 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:52:26,064.064 INFO    ] Initializing speech engine...
[2026-10-20 19:52:26,082.082 INFO    ] 2026-10-20 19:52:26
[2026-10-20 19:52:26,375.375 INFO    ] 2026-10-20 19:52:26
[2026-10-20 19:52:26,411.411 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:52:26,638.638 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:52:26,653.653 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:52:26,863.863 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:52:26,872.872 INFO    ] time= 20/10/2026 19:52:26
[2026-10-20 19:52:26,917.917 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:52:26,972.972 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:52:27,087.087 INFO    ] No existing commands found in stream
[2026-10-20 19:52:32,098.098 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:52:32,102.102 INFO    ] Waiting 3.49 seconds before fallback handling...
[2026-10-20 19:52:36,112.112 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:52:36,115.115 INFO    ] Checking for system updates...
[2026-10-20 19:52:36,153.153 INFO    ] 200
[2026-10-20 19:52:36,156.156 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:52:36,211.211 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:52:36,214.214 INFO    ] No update needed
[2026-10-20 19:52:36,216.216 INFO    ] Checking for camera pi updates...
[2026-10-20 19:52:36,252.252 INFO    ] 200
[2026-10-20 19:52:36,255.255 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:52:36,304.304 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:52:36,340.340 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:52:36,344.344 INFO    ] No camera update needed
[2026-10-20 19:52:36,346.346 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:52:36,349.349 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:52:36,356.356 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:52:36,362.362 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:52:38,403.403 INFO    ] ================================================
[2026-10-20 19:52:38,418.418 INFO    ] Launching Daemon at Tue Oct 20 19:52:38 IST 2026
[2026-10-20 19:52:38,429.429 INFO    ] ================================================
[2026-10-20 19:52:38,999.999 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:52:38
[2026-10-20 19:52:39,585.585 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:52:39,845.845 INFO    ] Initializing speech engine...
[2026-10-20 19:52:39,859.859 INFO    ] 2026-10-20 19:52:39
[2026-10-20 19:52:40,141.141 INFO    ] 2026-10-20 19:52:40
[2026-10-20 19:52:40,181.181 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:52:40,376.376 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:52:40,389.389 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:52:40,555.555 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:52:40,561.561 INFO    ] time= 20/10/2026 19:52:40
[2026-10-20 19:52:40,569.569 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:52:40,600.600 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:52:40,719.719 INFO    ] No existing commands found in stream
[2026-10-20 19:52:45,749.749 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:52:45,752.752 INFO    ] Waiting 2.57 seconds before fallback handling...
[2026-10-20 19:52:48,794.794 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 19:52:48,797.797 INFO    ] Checking for system updates...
[2026-10-20 19:52:48,833.833 INFO    ] 200
[2026-10-20 19:52:48,835.835 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:52:48,887.887 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:52:48,889.889 INFO    ] No update needed
[2026-10-20 19:52:48,892.892 INFO    ] Checking for camera pi updates...
[2026-10-20 19:52:48,925.925 INFO    ] 200
[2026-10-20 19:52:48,928.928 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:52:48,968.968 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:52:49,022.022 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:52:49,024.024 INFO    ] No camera update needed
[2026-10-20 19:52:49,026.026 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:52:49,029.029 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:52:49,034.034 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:52:49,039.039 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:52:51,079.079 INFO    ] ================================================
[2026-10-20 19:52:51,094.094 INFO    ] Launching Daemon at Tue Oct 20 19:52:51 IST 2026
[2026-10-20 19:52:51,105.105 INFO    ] ================================================
[2026-10-20 19:52:51,675.675 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:52:51
[2026-10-20 19:52:52,261.261 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:52:52,510.510 INFO    ] Initializing speech engine...
[2026-10-20 19:52:52,524.524 INFO    ] 2026-10-20 19:52:52
[2026-10-20 19:52:52,789.789 INFO    ] 2026-10-20 19:52:52
[2026-10-20 19:52:52,824.824 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:52:53,026.026 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:52:53,085.085 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:52:53,227.227 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:52:53,274.274 INFO    ] time= 20/10/2026 19:52:53
[2026-10-20 19:52:53,328.328 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:52:53,364.364 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:52:53,495.495 INFO    ] No existing commands found in stream
[2026-10-20 19:52:58,520.520 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:52:58,523.523 INFO    ] Waiting 3.09 seconds before fallback handling...
[2026-10-20 19:53:02,109.109 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:53:02,112.112 INFO    ] Checking for system updates...
[2026-10-20 19:53:02,154.154 INFO    ] 200
[2026-10-20 19:53:02,157.157 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:53:02,220.220 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:53:02,223.223 INFO    ] No update needed
[2026-10-20 19:53:02,226.226 INFO    ] Checking for camera pi updates...
[2026-10-20 19:53:02,262.262 INFO    ] 200
[2026-10-20 19:53:02,265.265 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:53:02,314.314 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:53:02,347.347 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:53:02,350.350 INFO    ] No camera update needed
[2026-10-20 19:53:02,353.353 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:53:02,356.356 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:53:02,362.362 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:53:02,369.369 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:53:04,411.411 INFO    ] ================================================
[2026-10-20 19:53:04,427.427 INFO    ] Launching Daemon at Tue Oct 20 19:53:04 IST 2026
[2026-10-20 19:53:04,437.437 INFO    ] ================================================
[2026-10-20 19:53:05,079.079 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:53:05
[2026-10-20 19:53:05,738.738 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:53:06,041.041 INFO    ] Initializing speech engine...
[2026-10-20 19:53:06,049.049 INFO    ] 2026-10-20 19:53:06
[2026-10-20 19:53:06,332.332 INFO    ] 2026-10-20 19:53:06
[2026-10-20 19:53:06,369.369 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:53:06,599.599 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:53:06,604.604 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:53:06,802.802 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:53:06,857.857 INFO    ] time= 20/10/2026 19:53:06
[2026-10-20 19:53:06,870.870 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:53:06,887.887 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:53:07,021.021 INFO    ] No existing commands found in stream
[2026-10-20 19:53:12,035.035 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:53:12,038.038 INFO    ] Waiting 1.80 seconds before fallback handling...
[2026-10-20 19:53:14,275.275 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 19:53:14,277.277 INFO    ] Checking for system updates...
[2026-10-20 19:53:14,313.313 INFO    ] 200
[2026-10-20 19:53:14,315.315 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:53:14,368.368 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:53:14,371.371 INFO    ] No update needed
[2026-10-20 19:53:14,373.373 INFO    ] Checking for camera pi updates...
[2026-10-20 19:53:14,406.406 INFO    ] 200
[2026-10-20 19:53:14,408.408 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:53:14,448.448 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:53:14,602.602 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:53:14,604.604 INFO    ] No camera update needed
[2026-10-20 19:53:14,607.607 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:53:14,609.609 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:53:14,614.614 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:53:14,619.619 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:53:16,660.660 INFO    ] ================================================
[2026-10-20 19:53:16,676.676 INFO    ] Launching Daemon at Tue Oct 20 19:53:16 IST 2026
[2026-10-20 19:53:16,687.687 INFO    ] ================================================
[2026-10-20 19:53:17,324.324 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:53:17
[2026-10-20 19:53:17,983.983 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:53:18,279.279 INFO    ] Initializing speech engine...
[2026-10-20 19:53:18,285.285 INFO    ] 2026-10-20 19:53:18
[2026-10-20 19:53:18,599.599 INFO    ] 2026-10-20 19:53:18
[2026-10-20 19:53:18,688.688 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:53:18,864.864 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:53:18,871.871 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:53:19,075.075 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:53:19,107.107 INFO    ] time= 20/10/2026 19:53:19
[2026-10-20 19:53:19,125.125 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:53:19,135.135 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:53:19,283.283 INFO    ] No existing commands found in stream
[2026-10-20 19:53:24,314.314 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:53:24,317.317 INFO    ] Waiting 3.94 seconds before fallback handling...
[2026-10-20 19:53:28,725.725 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:53:28,728.728 INFO    ] Checking for system updates...
[2026-10-20 19:53:28,764.764 INFO    ] 200
[2026-10-20 19:53:28,767.767 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:53:28,820.820 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:53:28,822.822 INFO    ] No update needed
[2026-10-20 19:53:28,825.825 INFO    ] Checking for camera pi updates...
[2026-10-20 19:53:28,859.859 INFO    ] 200
[2026-10-20 19:53:28,861.861 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:53:28,901.901 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:53:28,951.951 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:53:28,953.953 INFO    ] No camera update needed
[2026-10-20 19:53:28,956.956 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:53:28,958.958 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:53:28,964.964 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:53:28,969.969 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:53:31,009.009 INFO    ] ================================================
[2026-10-20 19:53:31,024.024 INFO    ] Launching Daemon at Tue Oct 20 19:53:31 IST 2026
[2026-10-20 19:53:31,038.038 INFO    ] ================================================
[2026-10-20 19:53:31,743.743 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:53:31
[2026-10-20 19:53:32,459.459 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:53:32,757.757 INFO    ] Initializing speech engine...
[2026-10-20 19:53:32,765.765 INFO    ] 2026-10-20 19:53:32
[2026-10-20 19:53:33,040.040 INFO    ] 2026-10-20 19:53:33
[2026-10-20 19:53:33,096.096 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:53:33,327.327 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:53:33,333.333 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:53:33,470.470 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:53:33,535.535 INFO    ] time= 20/10/2026 19:53:33
[2026-10-20 19:53:33,601.601 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:53:33,609.609 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:53:33,752.752 INFO    ] No existing commands found in stream
[2026-10-20 19:53:38,770.770 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:53:38,773.773 INFO    ] Waiting 2.41 seconds before fallback handling...
[2026-10-20 19:53:41,703.703 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 19:53:41,706.706 INFO    ] Checking for system updates...
[2026-10-20 19:53:41,743.743 INFO    ] 200
[2026-10-20 19:53:41,746.746 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:53:41,800.800 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:53:41,802.802 INFO    ] No update needed
[2026-10-20 19:53:41,805.805 INFO    ] Checking for camera pi updates...
[2026-10-20 19:53:41,838.838 INFO    ] 200
[2026-10-20 19:53:41,841.841 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:53:41,882.882 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:53:41,922.922 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:53:41,924.924 INFO    ] No camera update needed
[2026-10-20 19:53:41,927.927 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:53:41,929.929 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:53:41,934.934 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:53:41,940.940 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:53:43,980.980 INFO    ] ================================================
[2026-10-20 19:53:44,995.995 INFO    ] Launching Daemon at Tue Oct 20 19:53:43 IST 2026
[2026-10-20 19:53:44,006.006 INFO    ] ================================================
[2026-10-20 19:53:44,570.570 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:53:44
[2026-10-20 19:53:45,152.152 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:53:45,425.425 INFO    ] Initializing speech engine...
[2026-10-20 19:53:45,431.431 INFO    ] 2026-10-20 19:53:45
[2026-10-20 19:53:45,680.680 INFO    ] 2026-10-20 19:53:45
[2026-10-20 19:53:45,715.715 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:53:45,912.912 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:53:45,952.952 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:53:46,119.119 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:53:46,184.184 INFO    ] time= 20/10/2026 19:53:46
[2026-10-20 19:53:46,233.233 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:53:46,254.254 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:53:46,399.399 INFO    ] No existing commands found in stream
[2026-10-20 19:53:51,415.415 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:53:51,418.418 INFO    ] Waiting 3.53 seconds before fallback handling...
[2026-10-20 19:53:55,453.453 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:53:55,456.456 INFO    ] Checking for system updates...
[2026-10-20 19:53:55,492.492 INFO    ] 200
[2026-10-20 19:53:55,494.494 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:53:55,548.548 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:53:55,551.551 INFO    ] No update needed
[2026-10-20 19:53:55,553.553 INFO    ] Checking for camera pi updates...
[2026-10-20 19:53:55,590.590 INFO    ] 200
[2026-10-20 19:53:55,592.592 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:53:55,632.632 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:53:55,693.693 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:53:55,696.696 INFO    ] No camera update needed
[2026-10-20 19:53:55,698.698 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:53:55,700.700 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:53:55,706.706 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:53:55,711.711 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:53:57,753.753 INFO    ] ================================================
[2026-10-20 19:53:57,768.768 INFO    ] Launching Daemon at Tue Oct 20 19:53:57 IST 2026
[2026-10-20 19:53:57,779.779 INFO    ] ================================================
[2026-10-20 19:53:58,428.428 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:53:58
[2026-10-20 19:53:59,099.099 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:53:59,398.398 INFO    ] Initializing speech engine...
[2026-10-20 19:53:59,410.410 INFO    ] 2026-10-20 19:53:59
[2026-10-20 19:53:59,701.701 INFO    ] 2026-10-20 19:53:59
[2026-10-20 19:53:59,750.750 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:54:00,037.037 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:54:00,047.047 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:54:00,247.247 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:54:00,266.266 INFO    ] time= 20/10/2026 19:54:00
[2026-10-20 19:54:00,276.276 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:54:00,303.303 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:54:00,423.423 INFO    ] No existing commands found in stream
[2026-10-20 19:54:05,449.449 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:54:05,452.452 INFO    ] Waiting 3.53 seconds before fallback handling...
[2026-10-20 19:54:09,559.559 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 19:54:09,562.562 INFO    ] Checking for system updates...
[2026-10-20 19:54:09,598.598 INFO    ] 200
[2026-10-20 19:54:09,601.601 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:54:09,657.657 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:54:09,660.660 INFO    ] No update needed
[2026-10-20 19:54:09,662.662 INFO    ] Checking for camera pi updates...
[2026-10-20 19:54:09,696.696 INFO    ] 200
[2026-10-20 19:54:09,698.698 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:54:09,738.738 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:54:09,787.787 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:54:09,790.790 INFO    ] No camera update needed
[2026-10-20 19:54:09,792.792 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:54:09,794.794 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:54:09,799.799 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:54:09,804.804 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:54:11,844.844 INFO    ] ================================================
[2026-10-20 19:54:11,859.859 INFO    ] Launching Daemon at Tue Oct 20 19:54:11 IST 2026
[2026-10-20 19:54:11,870.870 INFO    ] ================================================
[2026-10-20 19:54:12,482.482 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:54:12
[2026-10-20 19:54:13,114.114 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:54:13,405.405 INFO    ] Initializing speech engine...
[2026-10-20 19:54:13,426.426 INFO    ] 2026-10-20 19:54:13
[2026-10-20 19:54:13,711.711 INFO    ] 2026-10-20 19:54:13
[2026-10-20 19:54:13,747.747 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:54:14,001.001 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:54:14,011.011 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:54:14,149.149 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:54:14,218.218 INFO    ] time= 20/10/2026 19:54:14
[2026-10-20 19:54:14,268.268 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:54:14,305.305 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:54:14,455.455 INFO    ] No existing commands found in stream
[2026-10-20 19:54:19,475.475 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:54:19,478.478 INFO    ] Waiting 3.45 seconds before fallback handling...
[2026-10-20 19:54:23,458.458 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:54:23,460.460 INFO    ] Checking for system updates...
[2026-10-20 19:54:23,496.496 INFO    ] 200
[2026-10-20 19:54:23,499.499 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:54:23,558.558 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:54:23,560.560 INFO    ] No update needed
[2026-10-20 19:54:23,563.563 INFO    ] Checking for camera pi updates...
[2026-10-20 19:54:23,600.600 INFO    ] 200
[2026-10-20 19:54:23,602.602 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:54:23,646.646 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:54:23,692.692 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:54:23,695.695 INFO    ] No camera update needed
[2026-10-20 19:54:23,697.697 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:54:23,700.700 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:54:23,705.705 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:54:23,711.711 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:54:25,751.751 INFO    ] ================================================
[2026-10-20 19:54:25,765.765 INFO    ] Launching Daemon at Tue Oct 20 19:54:25 IST 2026
[2026-10-20 19:54:25,776.776 INFO    ] ================================================
[2026-10-20 19:54:26,356.356 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:54:26
[2026-10-20 19:54:27,025.025 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:54:27,329.329 INFO    ] Initializing speech engine...
[2026-10-20 19:54:27,338.338 INFO    ] 2026-10-20 19:54:27
[2026-10-20 19:54:27,628.628 INFO    ] 2026-10-20 19:54:27
[2026-10-20 19:54:27,674.674 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:54:27,960.960 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:54:27,970.970 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:54:28,168.168 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:54:28,187.187 INFO    ] time= 20/10/2026 19:54:28
[2026-10-20 19:54:28,197.197 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:54:28,224.224 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:54:28,352.352 INFO    ] No existing commands found in stream
[2026-10-20 19:54:33,389.389 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:54:33,392.392 INFO    ] Waiting 3.93 seconds before fallback handling...
[2026-10-20 19:54:37,882.882 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 19:54:37,885.885 INFO    ] Checking for system updates...
[2026-10-20 19:54:37,925.925 INFO    ] 200
[2026-10-20 19:54:37,928.928 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:54:37,982.982 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:54:37,985.985 INFO    ] No update needed
[2026-10-20 19:54:37,988.988 INFO    ] Checking for camera pi updates...
[2026-10-20 19:54:38,022.022 INFO    ] 200
[2026-10-20 19:54:38,025.025 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:54:38,066.066 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:54:38,117.117 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:54:38,120.120 INFO    ] No camera update needed
[2026-10-20 19:54:38,123.123 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:54:38,126.126 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:54:38,132.132 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:54:38,137.137 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:54:40,177.177 INFO    ] ================================================
[2026-10-20 19:54:40,192.192 INFO    ] Launching Daemon at Tue Oct 20 19:54:40 IST 2026
[2026-10-20 19:54:40,202.202 INFO    ] ================================================
[2026-10-20 19:54:40,768.768 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:54:40
[2026-10-20 19:54:41,350.350 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:54:41,608.608 INFO    ] Initializing speech engine...
[2026-10-20 19:54:41,623.623 INFO    ] 2026-10-20 19:54:41
[2026-10-20 19:54:41,906.906 INFO    ] 2026-10-20 19:54:41
[2026-10-20 19:54:41,944.944 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:54:42,140.140 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:54:42,154.154 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:54:42,317.317 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:54:42,324.324 INFO    ] time= 20/10/2026 19:54:42
[2026-10-20 19:54:42,331.331 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:54:42,358.358 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:54:42,511.511 INFO    ] No existing commands found in stream
[2026-10-20 19:54:47,536.536 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:54:47,539.539 INFO    ] Waiting 3.59 seconds before fallback handling...
[2026-10-20 19:54:51,616.616 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 19:54:51,619.619 INFO    ] Checking for system updates...
[2026-10-20 19:54:51,656.656 INFO    ] 200
[2026-10-20 19:54:51,659.659 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:54:51,718.718 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:54:51,721.721 INFO    ] No update needed
[2026-10-20 19:54:51,724.724 INFO    ] Checking for camera pi updates...
[2026-10-20 19:54:51,759.759 INFO    ] 200
[2026-10-20 19:54:51,762.762 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:54:51,804.804 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:54:51,859.859 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:54:51,861.861 INFO    ] No camera update needed
[2026-10-20 19:54:51,864.864 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:54:51,867.867 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:54:51,873.873 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:54:51,879.879 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:54:53,918.918 INFO    ] ================================================
[2026-10-20 19:54:53,933.933 INFO    ] Launching Daemon at Tue Oct 20 19:54:53 IST 2026
[2026-10-20 19:54:53,944.944 INFO    ] ================================================
[2026-10-20 19:54:54,512.512 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:54:54
[2026-10-20 19:54:55,097.097 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:54:55,371.371 INFO    ] Initializing speech engine...
[2026-10-20 19:54:55,379.379 INFO    ] 2026-10-20 19:54:55
[2026-10-20 19:54:55,633.633 INFO    ] 2026-10-20 19:54:55
[2026-10-20 19:54:55,663.663 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:54:55,920.920 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:54:55,924.924 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:54:56,064.064 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:54:56,119.119 INFO    ] time= 20/10/2026 19:54:56
[2026-10-20 19:54:56,178.178 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:54:56,199.199 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:54:56,351.351 INFO    ] No existing commands found in stream
[2026-10-20 19:55:01,362.362 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:55:01,365.365 INFO    ] Waiting 0.27 seconds before fallback handling...
[2026-10-20 19:55:02,198.198 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 19:55:02,201.201 INFO    ] Checking for system updates...
[2026-10-20 19:55:02,254.254 INFO    ] 200
[2026-10-20 19:55:02,257.257 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 19:55:02,261.261 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-10-20 19:55:02,264.264 INFO    ] Checking for camera pi updates...
[2026-10-20 19:55:02,323.323 INFO    ] 200
[2026-10-20 19:55:02,326.326 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 19:55:02,330.330 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-10-20 19:55:02,334.334 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:55:02,339.339 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:55:02,347.347 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:55:02,353.353 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:55:04,397.397 INFO    ] ================================================
[2026-10-20 19:55:04,413.413 INFO    ] Launching Daemon at Tue Oct 20 19:55:04 IST 2026
[2026-10-20 19:55:04,423.423 INFO    ] ================================================
[2026-10-20 19:55:04,990.990 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:55:04
[2026-10-20 19:55:05,573.573 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:55:05,840.840 INFO    ] Initializing speech engine...
[2026-10-20 19:55:05,849.849 INFO    ] 2026-10-20 19:55:05
[2026-10-20 19:55:06,095.095 INFO    ] 2026-10-20 19:55:06
[2026-10-20 19:55:06,131.131 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:55:06,384.384 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:55:06,389.389 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:55:06,603.603 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:55:06,646.646 INFO    ] time= 20/10/2026 19:55:06
[2026-10-20 19:55:06,653.653 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:55:06,673.673 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:55:06,803.803 INFO    ] No existing commands found in stream
[2026-10-20 19:55:11,825.825 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:55:11,827.827 INFO    ] Waiting 3.79 seconds before fallback handling...
[2026-10-20 19:55:16,163.163 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 19:55:16,166.166 INFO    ] Checking for system updates...
[2026-10-20 19:55:16,201.201 INFO    ] 200
[2026-10-20 19:55:16,203.203 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:55:16,258.258 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:55:16,260.260 INFO    ] No update needed
[2026-10-20 19:55:16,263.263 INFO    ] Checking for camera pi updates...
[2026-10-20 19:55:16,296.296 INFO    ] 200
[2026-10-20 19:55:16,299.299 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:55:16,340.340 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:55:16,385.385 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:55:16,387.387 INFO    ] No camera update needed
[2026-10-20 19:55:16,389.389 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:55:16,392.392 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:55:16,397.397 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:55:16,402.402 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:55:18,443.443 INFO    ] ================================================
[2026-10-20 19:55:18,457.457 INFO    ] Launching Daemon at Tue Oct 20 19:55:18 IST 2026
[2026-10-20 19:55:18,469.469 INFO    ] ================================================
[2026-10-20 19:55:19,091.091 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:55:19
[2026-10-20 19:55:19,674.674 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:55:19,941.941 INFO    ] Initializing speech engine...
[2026-10-20 19:55:19,951.951 INFO    ] 2026-10-20 19:55:19
[2026-10-20 19:55:20,198.198 INFO    ] 2026-10-20 19:55:20
[2026-10-20 19:55:20,233.233 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:55:20,483.483 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:55:20,493.493 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:55:20,627.627 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:55:20,692.692 INFO    ] time= 20/10/2026 19:55:20
[2026-10-20 19:55:20,746.746 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:55:20,760.760 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:55:20,906.906 INFO    ] No existing commands found in stream
[2026-10-20 19:55:25,933.933 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:55:25,936.936 INFO    ] Waiting 1.56 seconds before fallback handling...
[2026-10-20 19:55:28,018.018 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:55:28,020.020 INFO    ] Checking for system updates...
[2026-10-20 19:55:28,056.056 INFO    ] 200
[2026-10-20 19:55:28,059.059 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:55:28,110.110 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:55:28,112.112 INFO    ] No update needed
[2026-10-20 19:55:28,115.115 INFO    ] Checking for camera pi updates...
[2026-10-20 19:55:28,152.152 INFO    ] 200
[2026-10-20 19:55:28,154.154 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:55:28,199.199 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:55:28,344.344 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:55:28,346.346 INFO    ] No camera update needed
[2026-10-20 19:55:28,349.349 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:55:28,351.351 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:55:28,356.356 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:55:28,361.361 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:55:30,402.402 INFO    ] ================================================
[2026-10-20 19:55:30,417.417 INFO    ] Launching Daemon at Tue Oct 20 19:55:30 IST 2026
[2026-10-20 19:55:30,428.428 INFO    ] ================================================
[2026-10-20 19:55:31,063.063 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:55:31
[2026-10-20 19:55:31,692.692 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:55:32,010.010 INFO    ] Initializing speech engine...
[2026-10-20 19:55:32,018.018 INFO    ] 2026-10-20 19:55:32
[2026-10-20 19:55:32,343.343 INFO    ] 2026-10-20 19:55:32
[2026-10-20 19:55:32,456.456 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:55:32,683.683 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:55:32,690.690 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:55:32,887.887 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:55:32,895.895 INFO    ] time= 20/10/2026 19:55:32
[2026-10-20 19:55:32,916.916 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:55:32,944.944 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:55:33,079.079 INFO    ] No existing commands found in stream
[2026-10-20 19:55:38,110.110 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:55:38,113.113 INFO    ] Waiting 0.98 seconds before fallback handling...
[2026-10-20 19:55:39,644.644 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:55:39,647.647 INFO    ] Checking for system updates...
[2026-10-20 19:55:39,683.683 INFO    ] 200
[2026-10-20 19:55:39,686.686 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:55:39,755.755 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:55:39,757.757 INFO    ] No update needed
[2026-10-20 19:55:39,760.760 INFO    ] Checking for camera pi updates...
[2026-10-20 19:55:39,797.797 INFO    ] 200
[2026-10-20 19:55:39,800.800 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:55:39,841.841 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:55:39,899.899 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:55:39,902.902 INFO    ] No camera update needed
[2026-10-20 19:55:39,904.904 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:55:39,907.907 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:55:39,913.913 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:55:39,918.918 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:55:41,963.963 INFO    ] ================================================
[2026-10-20 19:55:41,978.978 INFO    ] Launching Daemon at Tue Oct 20 19:55:41 IST 2026
[2026-10-20 19:55:41,989.989 INFO    ] ================================================
[2026-10-20 19:55:42,571.571 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:55:42
[2026-10-20 19:55:43,151.151 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:55:43,412.412 INFO    ] Initializing speech engine...
[2026-10-20 19:55:43,430.430 INFO    ] 2026-10-20 19:55:43
[2026-10-20 19:55:43,680.680 INFO    ] 2026-10-20 19:55:43
[2026-10-20 19:55:43,715.715 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:55:43,971.971 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:55:43,981.981 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:55:44,200.200 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:55:44,238.238 INFO    ] time= 20/10/2026 19:55:44
[2026-10-20 19:55:44,244.244 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:55:44,263.263 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:55:44,417.417 INFO    ] No existing commands found in stream
[2026-10-20 19:55:49,442.442 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:55:49,445.445 INFO    ] Waiting 2.79 seconds before fallback handling...
[2026-10-20 19:55:52,763.763 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:55:52,766.766 INFO    ] Checking for system updates...
[2026-10-20 19:55:52,802.802 INFO    ] 200
[2026-10-20 19:55:52,805.805 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:55:52,863.863 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:55:52,866.866 INFO    ] No update needed
[2026-10-20 19:55:52,868.868 INFO    ] Checking for camera pi updates...
[2026-10-20 19:55:52,907.907 INFO    ] 200
[2026-10-20 19:55:52,910.910 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:55:52,953.953 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:55:53,008.008 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:55:53,011.011 INFO    ] No camera update needed
[2026-10-20 19:55:53,013.013 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:55:53,016.016 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:55:53,022.022 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:55:53,027.027 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:55:55,067.067 INFO    ] ================================================
[2026-10-20 19:55:55,083.083 INFO    ] Launching Daemon at Tue Oct 20 19:55:55 IST 2026
[2026-10-20 19:55:55,094.094 INFO    ] ================================================
[2026-10-20 19:55:55,727.727 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:55:55
[2026-10-20 19:55:56,378.378 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:55:56,679.679 INFO    ] Initializing speech engine...
[2026-10-20 19:55:56,691.691 INFO    ] 2026-10-20 19:55:56
[2026-10-20 19:55:56,966.966 INFO    ] 2026-10-20 19:55:56
[2026-10-20 19:55:57,009.009 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:55:57,290.290 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:55:57,299.299 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:55:57,495.495 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:55:57,514.514 INFO    ] time= 20/10/2026 19:55:57
[2026-10-20 19:55:57,521.521 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:55:57,549.549 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:55:57,678.678 INFO    ] No existing commands found in stream
[2026-10-20 19:56:02,701.701 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:56:02,705.705 INFO    ] Waiting 3.75 seconds before fallback handling...
[2026-10-20 19:56:06,966.966 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:56:06,969.969 INFO    ] Checking for system updates...
[2026-10-20 19:56:07,007.007 INFO    ] 200
[2026-10-20 19:56:07,010.010 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:56:07,071.071 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:56:07,074.074 INFO    ] No update needed
[2026-10-20 19:56:07,077.077 INFO    ] Checking for camera pi updates...
[2026-10-20 19:56:07,116.116 INFO    ] 200
[2026-10-20 19:56:07,119.119 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:56:07,164.164 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:56:07,213.213 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:56:07,216.216 INFO    ] No camera update needed
[2026-10-20 19:56:07,219.219 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:56:07,221.221 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:56:07,228.228 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:56:07,234.234 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:56:09,274.274 INFO    ] ================================================
[2026-10-20 19:56:09,290.290 INFO    ] Launching Daemon at Tue Oct 20 19:56:09 IST 2026
[2026-10-20 19:56:09,302.302 INFO    ] ================================================
[2026-10-20 19:56:09,869.869 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:56:09
[2026-10-20 19:56:10,450.450 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:56:10,719.719 INFO    ] Initializing speech engine...
[2026-10-20 19:56:10,728.728 INFO    ] 2026-10-20 19:56:10
[2026-10-20 19:56:10,988.988 INFO    ] 2026-10-20 19:56:10
[2026-10-20 19:56:11,018.018 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:56:11,262.262 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:56:11,271.271 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:56:11,468.468 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:56:11,528.528 INFO    ] time= 20/10/2026 19:56:11
[2026-10-20 19:56:11,535.535 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:56:11,553.553 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:56:11,678.678 INFO    ] No existing commands found in stream
[2026-10-20 19:56:16,694.694 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:56:16,696.696 INFO    ] Waiting 2.65 seconds before fallback handling...
[2026-10-20 19:56:19,809.809 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:56:19,812.812 INFO    ] Checking for system updates...
[2026-10-20 19:56:19,851.851 INFO    ] 200
[2026-10-20 19:56:19,854.854 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:56:19,907.907 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:56:19,909.909 INFO    ] No update needed
[2026-10-20 19:56:19,912.912 INFO    ] Checking for camera pi updates...
[2026-10-20 19:56:19,945.945 INFO    ] 200
[2026-10-20 19:56:19,947.947 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:56:19,988.988 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:56:20,043.043 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:56:20,045.045 INFO    ] No camera update needed
[2026-10-20 19:56:20,048.048 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:56:20,050.050 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:56:20,055.055 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:56:20,060.060 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:56:22,102.102 INFO    ] ================================================
[2026-10-20 19:56:22,117.117 INFO    ] Launching Daemon at Tue Oct 20 19:56:22 IST 2026
[2026-10-20 19:56:22,128.128 INFO    ] ================================================
[2026-10-20 19:56:22,694.694 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:56:22
[2026-10-20 19:56:23,275.275 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:56:23,547.547 INFO    ] Initializing speech engine...
[2026-10-20 19:56:23,553.553 INFO    ] 2026-10-20 19:56:23
[2026-10-20 19:56:23,810.810 INFO    ] 2026-10-20 19:56:23
[2026-10-20 19:56:23,841.841 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:56:24,084.084 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:56:24,093.093 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:56:24,289.289 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:56:24,349.349 INFO    ] time= 20/10/2026 19:56:24
[2026-10-20 19:56:24,357.357 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:56:24,377.377 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:56:24,507.507 INFO    ] No existing commands found in stream
[2026-10-20 19:56:29,526.526 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:56:29,529.529 INFO    ] Waiting 0.64 seconds before fallback handling...
[2026-10-20 19:56:30,649.649 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:56:30,652.652 INFO    ] Checking for system updates...
[2026-10-20 19:56:30,688.688 INFO    ] 200
[2026-10-20 19:56:30,690.690 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:56:30,751.751 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:56:30,753.753 INFO    ] No update needed
[2026-10-20 19:56:30,755.755 INFO    ] Checking for camera pi updates...
[2026-10-20 19:56:30,789.789 INFO    ] 200
[2026-10-20 19:56:30,791.791 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:56:30,832.832 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:56:30,884.884 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:56:30,886.886 INFO    ] No camera update needed
[2026-10-20 19:56:30,889.889 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:56:30,891.891 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:56:30,896.896 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:56:30,902.902 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:56:32,942.942 INFO    ] ================================================
[2026-10-20 19:56:32,958.958 INFO    ] Launching Daemon at Tue Oct 20 19:56:32 IST 2026
[2026-10-20 19:56:32,969.969 INFO    ] ================================================
[2026-10-20 19:56:33,542.542 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:56:33
[2026-10-20 19:56:34,123.123 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:56:34,389.389 INFO    ] Initializing speech engine...
[2026-10-20 19:56:34,398.398 INFO    ] 2026-10-20 19:56:34
[2026-10-20 19:56:34,649.649 INFO    ] 2026-10-20 19:56:34
[2026-10-20 19:56:34,684.684 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:56:34,928.928 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:56:34,937.937 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:56:35,134.134 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:56:35,184.184 INFO    ] time= 20/10/2026 19:56:35
[2026-10-20 19:56:35,199.199 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:56:35,205.205 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:56:35,350.350 INFO    ] No existing commands found in stream
[2026-10-20 19:56:40,364.364 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:56:40,367.367 INFO    ] Waiting 1.66 seconds before fallback handling...
[2026-10-20 19:56:42,544.544 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 19:56:42,546.546 INFO    ] Checking for system updates...
[2026-10-20 19:56:42,582.582 INFO    ] 200
[2026-10-20 19:56:42,585.585 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:56:42,637.637 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:56:42,639.639 INFO    ] No update needed
[2026-10-20 19:56:42,642.642 INFO    ] Checking for camera pi updates...
[2026-10-20 19:56:42,679.679 INFO    ] 200
[2026-10-20 19:56:42,681.681 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:56:42,726.726 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:56:42,775.775 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:56:42,777.777 INFO    ] No camera update needed
[2026-10-20 19:56:42,780.780 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:56:42,782.782 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:56:42,787.787 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:56:42,792.792 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:56:44,835.835 INFO    ] ================================================
[2026-10-20 19:56:44,851.851 INFO    ] Launching Daemon at Tue Oct 20 19:56:44 IST 2026
[2026-10-20 19:56:44,862.862 INFO    ] ================================================
[2026-10-20 19:56:45,445.445 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:56:45
[2026-10-20 19:56:46,043.043 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:56:46,314.314 INFO    ] Initializing speech engine...
[2026-10-20 19:56:46,320.320 INFO    ] 2026-10-20 19:56:46
[2026-10-20 19:56:46,565.565 INFO    ] 2026-10-20 19:56:46
[2026-10-20 19:56:46,600.600 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:56:46,857.857 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:56:46,862.862 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:56:47,066.066 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:56:47,120.120 INFO    ] time= 20/10/2026 19:56:47
[2026-10-20 19:56:47,172.172 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:56:47,182.182 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:56:47,299.299 INFO    ] No existing commands found in stream
[2026-10-20 19:56:52,331.331 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:56:52,334.334 INFO    ] Waiting 1.83 seconds before fallback handling...
[2026-10-20 19:56:54,682.682 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:56:54,685.685 INFO    ] Checking for system updates...
[2026-10-20 19:56:54,723.723 INFO    ] 200
[2026-10-20 19:56:54,725.725 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:56:54,786.786 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:56:54,789.789 INFO    ] No update needed
[2026-10-20 19:56:54,793.793 INFO    ] Checking for camera pi updates...
[2026-10-20 19:56:54,828.828 INFO    ] 200
[2026-10-20 19:56:54,831.831 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:56:54,872.872 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:56:54,921.921 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:56:54,924.924 INFO    ] No camera update needed
[2026-10-20 19:56:54,926.926 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:56:54,929.929 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:56:54,936.936 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:56:54,941.941 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:56:56,983.983 INFO    ] ================================================
[2026-10-20 19:56:57,999.999 INFO    ] Launching Daemon at Tue Oct 20 19:56:56 IST 2026
[2026-10-20 19:56:57,009.009 INFO    ] ================================================
[2026-10-20 19:56:57,614.614 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:56:57
[2026-10-20 19:56:58,218.218 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:56:58,483.483 INFO    ] Initializing speech engine...
[2026-10-20 19:56:58,499.499 INFO    ] 2026-10-20 19:56:58
[2026-10-20 19:56:58,790.790 INFO    ] 2026-10-20 19:56:58
[2026-10-20 19:56:58,829.829 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:56:59,059.059 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:56:59,089.089 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:56:59,293.293 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:56:59,343.343 INFO    ] time= 20/10/2026 19:56:59
[2026-10-20 19:56:59,397.397 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:56:59,442.442 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:56:59,574.574 INFO    ] No existing commands found in stream
[2026-10-20 19:57:04,592.592 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:57:04,594.594 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-10-20 19:57:08,510.510 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:57:08,513.513 INFO    ] Checking for system updates...
[2026-10-20 19:57:08,553.553 INFO    ] 200
[2026-10-20 19:57:08,555.555 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:57:08,609.609 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:57:08,612.612 INFO    ] No update needed
[2026-10-20 19:57:08,614.614 INFO    ] Checking for camera pi updates...
[2026-10-20 19:57:08,648.648 INFO    ] 200
[2026-10-20 19:57:08,651.651 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:57:08,696.696 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:57:08,740.740 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:57:08,743.743 INFO    ] No camera update needed
[2026-10-20 19:57:08,745.745 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:57:08,748.748 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:57:08,753.753 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:57:08,759.759 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:57:10,800.800 INFO    ] ================================================
[2026-10-20 19:57:10,816.816 INFO    ] Launching Daemon at Tue Oct 20 19:57:10 IST 2026
[2026-10-20 19:57:10,827.827 INFO    ] ================================================
[2026-10-20 19:57:11,486.486 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:57:11
[2026-10-20 19:57:12,164.164 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:57:12,474.474 INFO    ] Initializing speech engine...
[2026-10-20 19:57:12,488.488 INFO    ] 2026-10-20 19:57:12
[2026-10-20 19:57:12,772.772 INFO    ] 2026-10-20 19:57:12
[2026-10-20 19:57:12,882.882 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:57:13,161.161 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:57:13,203.203 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:57:13,428.428 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:57:13,464.464 INFO    ] time= 20/10/2026 19:57:13
[2026-10-20 19:57:13,514.514 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:57:13,557.557 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:57:13,708.708 INFO    ] No existing commands found in stream
[2026-10-20 19:57:18,722.722 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:57:18,725.725 INFO    ] Waiting 3.12 seconds before fallback handling...
[2026-10-20 19:57:22,353.353 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:57:22,357.357 INFO    ] Checking for system updates...
[2026-10-20 19:57:22,393.393 INFO    ] 200
[2026-10-20 19:57:22,396.396 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:57:22,451.451 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:57:22,454.454 INFO    ] No update needed
[2026-10-20 19:57:22,457.457 INFO    ] Checking for camera pi updates...
[2026-10-20 19:57:22,497.497 INFO    ] 200
[2026-10-20 19:57:22,500.500 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:57:22,542.542 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:57:22,587.587 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:57:22,590.590 INFO    ] No camera update needed
[2026-10-20 19:57:22,593.593 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:57:22,596.596 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:57:22,603.603 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:57:22,609.609 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:57:24,650.650 INFO    ] ================================================
[2026-10-20 19:57:24,665.665 INFO    ] Launching Daemon at Tue Oct 20 19:57:24 IST 2026
[2026-10-20 19:57:24,677.677 INFO    ] ================================================
[2026-10-20 19:57:25,338.338 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:57:25
[2026-10-20 19:57:26,021.021 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:57:26,327.327 INFO    ] Initializing speech engine...
[2026-10-20 19:57:26,334.334 INFO    ] 2026-10-20 19:57:26
[2026-10-20 19:57:26,609.609 INFO    ] 2026-10-20 19:57:26
[2026-10-20 19:57:26,665.665 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:57:26,935.935 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:57:26,938.938 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:57:27,152.152 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:57:27,181.181 INFO    ] time= 20/10/2026 19:57:27
[2026-10-20 19:57:27,200.200 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:57:27,229.229 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:57:27,391.391 INFO    ] No existing commands found in stream
[2026-10-20 19:57:32,417.417 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:57:32,421.421 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-10-20 19:57:36,683.683 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:57:36,686.686 INFO    ] Checking for system updates...
[2026-10-20 19:57:36,722.722 INFO    ] 200
[2026-10-20 19:57:36,725.725 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:57:36,777.777 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:57:36,780.780 INFO    ] No update needed
[2026-10-20 19:57:36,782.782 INFO    ] Checking for camera pi updates...
[2026-10-20 19:57:36,815.815 INFO    ] 200
[2026-10-20 19:57:36,818.818 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:57:36,858.858 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:57:36,908.908 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:57:36,911.911 INFO    ] No camera update needed
[2026-10-20 19:57:36,913.913 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:57:36,915.915 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:57:36,921.921 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:57:36,925.925 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:57:38,966.966 INFO    ] ================================================
[2026-10-20 19:57:38,982.982 INFO    ] Launching Daemon at Tue Oct 20 19:57:38 IST 2026
[2026-10-20 19:57:38,993.993 INFO    ] ================================================
[2026-10-20 19:57:39,650.650 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:57:39
[2026-10-20 19:57:40,326.326 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:57:40,632.632 INFO    ] Initializing speech engine...
[2026-10-20 19:57:40,640.640 INFO    ] 2026-10-20 19:57:40
[2026-10-20 19:57:40,930.930 INFO    ] 2026-10-20 19:57:40
[2026-10-20 19:57:40,975.975 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:57:41,263.263 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:57:41,273.273 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:57:41,466.466 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:57:41,485.485 INFO    ] time= 20/10/2026 19:57:41
[2026-10-20 19:57:41,502.502 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:57:41,523.523 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:57:41,685.685 INFO    ] No existing commands found in stream
[2026-10-20 19:57:46,717.717 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:57:46,720.720 INFO    ] Waiting 2.37 seconds before fallback handling...
[2026-10-20 19:57:49,604.604 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:57:49,607.607 INFO    ] Checking for system updates...
[2026-10-20 19:57:49,645.645 INFO    ] 200
[2026-10-20 19:57:49,647.647 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:57:49,709.709 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:57:49,712.712 INFO    ] No update needed
[2026-10-20 19:57:49,715.715 INFO    ] Checking for camera pi updates...
[2026-10-20 19:57:49,753.753 INFO    ] 200
[2026-10-20 19:57:49,756.756 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:57:49,802.802 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:57:49,861.861 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:57:49,863.863 INFO    ] No camera update needed
[2026-10-20 19:57:49,866.866 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:57:49,869.869 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:57:49,875.875 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:57:49,881.881 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:57:51,923.923 INFO    ] ================================================
[2026-10-20 19:57:51,939.939 INFO    ] Launching Daemon at Tue Oct 20 19:57:51 IST 2026
[2026-10-20 19:57:51,950.950 INFO    ] ================================================
[2026-10-20 19:57:52,540.540 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:57:52
[2026-10-20 19:57:53,145.145 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:57:53,423.423 INFO    ] Initializing speech engine...
[2026-10-20 19:57:53,433.433 INFO    ] 2026-10-20 19:57:53
[2026-10-20 19:57:53,694.694 INFO    ] 2026-10-20 19:57:53
[2026-10-20 19:57:53,748.748 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:57:53,995.995 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:57:54,001.001 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:57:54,214.214 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:57:54,240.240 INFO    ] time= 20/10/2026 19:57:54
[2026-10-20 19:57:54,257.257 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:57:54,265.265 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:57:54,393.393 INFO    ] No existing commands found in stream
[2026-10-20 19:57:59,410.410 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:57:59,412.412 INFO    ] Waiting 0.97 seconds before fallback handling...
[2026-10-20 19:58:00,881.881 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 19:58:00,884.884 INFO    ] Checking for system updates...
[2026-10-20 19:58:00,920.920 INFO    ] 200
[2026-10-20 19:58:00,922.922 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:58:00,974.974 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:58:00,977.977 INFO    ] No update needed
[2026-10-20 19:58:00,979.979 INFO    ] Checking for camera pi updates...
[2026-10-20 19:58:01,013.013 INFO    ] 200
[2026-10-20 19:58:01,015.015 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:58:01,055.055 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:58:01,102.102 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:58:01,105.105 INFO    ] No camera update needed
[2026-10-20 19:58:01,107.107 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:58:01,109.109 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:58:01,115.115 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:58:01,120.120 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:58:03,163.163 INFO    ] ================================================
[2026-10-20 19:58:03,178.178 INFO    ] Launching Daemon at Tue Oct 20 19:58:03 IST 2026
[2026-10-20 19:58:03,190.190 INFO    ] ================================================
[2026-10-20 19:58:03,890.890 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:58:03
[2026-10-20 19:58:04,575.575 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:58:04,882.882 INFO    ] Initializing speech engine...
[2026-10-20 19:58:04,895.895 INFO    ] 2026-10-20 19:58:04
[2026-10-20 19:58:05,206.206 INFO    ] 2026-10-20 19:58:05
[2026-10-20 19:58:05,295.295 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:58:05,509.509 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:58:05,514.514 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:58:05,712.712 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:58:05,730.730 INFO    ] time= 20/10/2026 19:58:05
[2026-10-20 19:58:05,763.763 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:58:05,774.774 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:58:05,898.898 INFO    ] No existing commands found in stream
[2026-10-20 19:58:10,929.929 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:58:10,932.932 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-10-20 19:58:13,794.794 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 19:58:13,797.797 INFO    ] Checking for system updates...
[2026-10-20 19:58:13,835.835 INFO    ] 200
[2026-10-20 19:58:13,838.838 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:58:13,890.890 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:58:13,892.892 INFO    ] No update needed
[2026-10-20 19:58:13,894.894 INFO    ] Checking for camera pi updates...
[2026-10-20 19:58:13,929.929 INFO    ] 200
[2026-10-20 19:58:13,931.931 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:58:13,971.971 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:58:14,019.019 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:58:14,022.022 INFO    ] No camera update needed
[2026-10-20 19:58:14,024.024 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:58:14,026.026 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:58:14,032.032 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:58:14,036.036 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:58:16,076.076 INFO    ] ================================================
[2026-10-20 19:58:16,091.091 INFO    ] Launching Daemon at Tue Oct 20 19:58:16 IST 2026
[2026-10-20 19:58:16,103.103 INFO    ] ================================================
[2026-10-20 19:58:16,676.676 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:58:16
[2026-10-20 19:58:17,264.264 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:58:17,532.532 INFO    ] Initializing speech engine...
[2026-10-20 19:58:17,544.544 INFO    ] 2026-10-20 19:58:17
[2026-10-20 19:58:17,803.803 INFO    ] 2026-10-20 19:58:17
[2026-10-20 19:58:17,856.856 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:58:18,083.083 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:58:18,088.088 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:58:18,289.289 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:58:18,343.343 INFO    ] time= 20/10/2026 19:58:18
[2026-10-20 19:58:18,350.350 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:58:18,367.367 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:58:18,496.496 INFO    ] No existing commands found in stream
[2026-10-20 19:58:23,509.509 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:58:23,512.512 INFO    ] Waiting 1.12 seconds before fallback handling...
[2026-10-20 19:58:25,112.112 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 19:58:25,115.115 INFO    ] Checking for system updates...
[2026-10-20 19:58:25,150.150 INFO    ] 200
[2026-10-20 19:58:25,153.153 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:58:25,205.205 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:58:25,207.207 INFO    ] No update needed
[2026-10-20 19:58:25,210.210 INFO    ] Checking for camera pi updates...
[2026-10-20 19:58:25,243.243 INFO    ] 200
[2026-10-20 19:58:25,246.246 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:58:25,291.291 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:58:25,342.342 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:58:25,344.344 INFO    ] No camera update needed
[2026-10-20 19:58:25,347.347 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:58:25,349.349 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:58:25,355.355 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:58:25,360.360 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:58:27,403.403 INFO    ] ================================================
[2026-10-20 19:58:27,419.419 INFO    ] Launching Daemon at Tue Oct 20 19:58:27 IST 2026
[2026-10-20 19:58:27,430.430 INFO    ] ================================================
[2026-10-20 19:58:28,012.012 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:58:28
[2026-10-20 19:58:28,615.615 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:58:28,894.894 INFO    ] Initializing speech engine...
[2026-10-20 19:58:28,900.900 INFO    ] 2026-10-20 19:58:28
[2026-10-20 19:58:29,146.146 INFO    ] 2026-10-20 19:58:29
[2026-10-20 19:58:29,182.182 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:58:29,434.434 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:58:29,444.444 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:58:29,640.640 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:58:29,690.690 INFO    ] time= 20/10/2026 19:58:29
[2026-10-20 19:58:29,709.709 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:58:29,724.724 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:58:29,860.860 INFO    ] No existing commands found in stream
[2026-10-20 19:58:34,887.887 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:58:34,890.890 INFO    ] Waiting 3.92 seconds before fallback handling...
[2026-10-20 19:58:39,322.322 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 19:58:39,325.325 INFO    ] Checking for system updates...
[2026-10-20 19:58:39,362.362 INFO    ] 200
[2026-10-20 19:58:39,365.365 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:58:39,421.421 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:58:39,424.424 INFO    ] No update needed
[2026-10-20 19:58:39,426.426 INFO    ] Checking for camera pi updates...
[2026-10-20 19:58:39,462.462 INFO    ] 200
[2026-10-20 19:58:39,465.465 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:58:39,506.506 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:58:39,565.565 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:58:39,568.568 INFO    ] No camera update needed
[2026-10-20 19:58:39,571.571 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:58:39,574.574 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:58:39,580.580 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:58:39,586.586 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:58:41,629.629 INFO    ] ================================================
[2026-10-20 19:58:41,645.645 INFO    ] Launching Daemon at Tue Oct 20 19:58:41 IST 2026
[2026-10-20 19:58:41,655.655 INFO    ] ================================================
[2026-10-20 19:58:42,322.322 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:58:42
[2026-10-20 19:58:43,009.009 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:58:43,323.323 INFO    ] Initializing speech engine...
[2026-10-20 19:58:43,333.333 INFO    ] 2026-10-20 19:58:43
[2026-10-20 19:58:43,656.656 INFO    ] 2026-10-20 19:58:43
[2026-10-20 19:58:44,495.495 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:58:44,738.738 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:58:44,742.742 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:58:44,935.935 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:58:44,942.942 INFO    ] time= 20/10/2026 19:58:44
[2026-10-20 19:58:44,948.948 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:58:44,956.956 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:58:45,027.027 INFO    ] No existing commands found in stream
[2026-10-20 19:58:50,036.036 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:58:50,039.039 INFO    ] Waiting 2.05 seconds before fallback handling...
[2026-10-20 19:58:52,591.591 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 19:58:52,594.594 INFO    ] Checking for system updates...
[2026-10-20 19:58:52,631.631 INFO    ] 200
[2026-10-20 19:58:52,634.634 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:58:52,689.689 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:58:52,691.691 INFO    ] No update needed
[2026-10-20 19:58:52,694.694 INFO    ] Checking for camera pi updates...
[2026-10-20 19:58:52,729.729 INFO    ] 200
[2026-10-20 19:58:52,732.732 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:58:52,773.773 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:58:52,821.821 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:58:52,824.824 INFO    ] No camera update needed
[2026-10-20 19:58:52,826.826 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:58:52,829.829 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:58:52,834.834 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:58:52,839.839 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:58:54,881.881 INFO    ] ================================================
[2026-10-20 19:58:54,896.896 INFO    ] Launching Daemon at Tue Oct 20 19:58:54 IST 2026
[2026-10-20 19:58:54,907.907 INFO    ] ================================================
[2026-10-20 19:58:55,553.553 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:58:55
[2026-10-20 19:58:56,136.136 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:58:56,403.403 INFO    ] Initializing speech engine...
[2026-10-20 19:58:56,411.411 INFO    ] 2026-10-20 19:58:56
[2026-10-20 19:58:56,657.657 INFO    ] 2026-10-20 19:58:56
[2026-10-20 19:58:56,692.692 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:58:56,942.942 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:58:56,951.951 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:58:57,165.165 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:58:57,206.206 INFO    ] time= 20/10/2026 19:58:57
[2026-10-20 19:58:57,213.213 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:58:57,231.231 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:58:57,361.361 INFO    ] No existing commands found in stream
[2026-10-20 19:59:02,371.371 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:59:02,374.374 INFO    ] Waiting 1.59 seconds before fallback handling...
[2026-10-20 19:59:04,470.470 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 19:59:04,473.473 INFO    ] Checking for system updates...
[2026-10-20 19:59:04,509.509 INFO    ] 200
[2026-10-20 19:59:04,512.512 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:59:04,565.565 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:59:04,567.567 INFO    ] No update needed
[2026-10-20 19:59:04,570.570 INFO    ] Checking for camera pi updates...
[2026-10-20 19:59:04,607.607 INFO    ] 200
[2026-10-20 19:59:04,609.609 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:59:04,651.651 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:59:04,705.705 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:59:04,707.707 INFO    ] No camera update needed
[2026-10-20 19:59:04,710.710 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:59:04,712.712 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:59:04,717.717 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:59:04,722.722 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:59:06,762.762 INFO    ] ================================================
[2026-10-20 19:59:06,777.777 INFO    ] Launching Daemon at Tue Oct 20 19:59:06 IST 2026
[2026-10-20 19:59:06,788.788 INFO    ] ================================================
[2026-10-20 19:59:07,384.384 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:59:07
[2026-10-20 19:59:07,975.975 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:59:08,243.243 INFO    ] Initializing speech engine...
[2026-10-20 19:59:08,252.252 INFO    ] 2026-10-20 19:59:08
[2026-10-20 19:59:08,513.513 INFO    ] 2026-10-20 19:59:08
[2026-10-20 19:59:08,566.566 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:59:08,794.794 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:59:08,800.800 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:59:09,021.021 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:59:09,057.057 INFO    ] time= 20/10/2026 19:59:09
[2026-10-20 19:59:09,063.063 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:59:09,083.083 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:59:09,212.212 INFO    ] No existing commands found in stream
[2026-10-20 19:59:14,231.231 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:59:14,234.234 INFO    ] Waiting 3.79 seconds before fallback handling...
[2026-10-20 19:59:18,510.510 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 19:59:18,513.513 INFO    ] Checking for system updates...
[2026-10-20 19:59:18,548.548 INFO    ] 200
[2026-10-20 19:59:18,551.551 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:59:18,603.603 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:59:18,606.606 INFO    ] No update needed
[2026-10-20 19:59:18,608.608 INFO    ] Checking for camera pi updates...
[2026-10-20 19:59:18,641.641 INFO    ] 200
[2026-10-20 19:59:18,644.644 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:59:18,686.686 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:59:18,731.731 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:59:18,734.734 INFO    ] No camera update needed
[2026-10-20 19:59:18,736.736 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:59:18,738.738 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:59:18,744.744 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:59:18,749.749 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:59:20,788.788 INFO    ] ================================================
[2026-10-20 19:59:20,803.803 INFO    ] Launching Daemon at Tue Oct 20 19:59:20 IST 2026
[2026-10-20 19:59:20,814.814 INFO    ] ================================================
[2026-10-20 19:59:21,381.381 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:59:21
[2026-10-20 19:59:21,966.966 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:59:22,233.233 INFO    ] Initializing speech engine...
[2026-10-20 19:59:22,242.242 INFO    ] 2026-10-20 19:59:22
[2026-10-20 19:59:22,497.497 INFO    ] 2026-10-20 19:59:22
[2026-10-20 19:59:22,532.532 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:59:22,781.781 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:59:22,786.786 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:59:23,003.003 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:59:23,043.043 INFO    ] time= 20/10/2026 19:59:23
[2026-10-20 19:59:23,049.049 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:59:23,067.067 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:59:23,198.198 INFO    ] No existing commands found in stream
[2026-10-20 19:59:28,210.210 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:59:28,213.213 INFO    ] Waiting 2.96 seconds before fallback handling...
[2026-10-20 19:59:31,723.723 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:59:31,726.726 INFO    ] Checking for system updates...
[2026-10-20 19:59:31,765.765 INFO    ] 200
[2026-10-20 19:59:31,768.768 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:59:31,826.826 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:59:31,830.830 INFO    ] No update needed
[2026-10-20 19:59:31,833.833 INFO    ] Checking for camera pi updates...
[2026-10-20 19:59:31,871.871 INFO    ] 200
[2026-10-20 19:59:31,875.875 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:59:31,929.929 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:59:31,963.963 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:59:31,965.965 INFO    ] No camera update needed
[2026-10-20 19:59:31,968.968 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:59:31,971.971 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:59:31,977.977 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:59:31,982.982 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:59:34,022.022 INFO    ] ================================================
[2026-10-20 19:59:34,038.038 INFO    ] Launching Daemon at Tue Oct 20 19:59:34 IST 2026
[2026-10-20 19:59:34,048.048 INFO    ] ================================================
[2026-10-20 19:59:34,634.634 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:59:34
[2026-10-20 19:59:35,233.233 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:59:35,480.480 INFO    ] Initializing speech engine...
[2026-10-20 19:59:35,493.493 INFO    ] 2026-10-20 19:59:35
[2026-10-20 19:59:35,754.754 INFO    ] 2026-10-20 19:59:35
[2026-10-20 19:59:35,790.790 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:59:36,041.041 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:59:36,050.050 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:59:36,267.267 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:59:36,307.307 INFO    ] time= 20/10/2026 19:59:36
[2026-10-20 19:59:36,313.313 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:59:36,331.331 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:59:36,458.458 INFO    ] No existing commands found in stream
[2026-10-20 19:59:41,473.473 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:59:41,476.476 INFO    ] Waiting 2.73 seconds before fallback handling...
[2026-10-20 19:59:44,764.764 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 19:59:44,767.767 INFO    ] Checking for system updates...
[2026-10-20 19:59:44,805.805 INFO    ] 200
[2026-10-20 19:59:44,808.808 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:59:44,868.868 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:59:44,871.871 INFO    ] No update needed
[2026-10-20 19:59:44,874.874 INFO    ] Checking for camera pi updates...
[2026-10-20 19:59:44,909.909 INFO    ] 200
[2026-10-20 19:59:44,912.912 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:59:44,954.954 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:59:45,098.098 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 19:59:45,101.101 INFO    ] No camera update needed
[2026-10-20 19:59:45,104.104 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:59:45,106.106 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:59:45,113.113 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:59:45,119.119 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 19:59:47,163.163 INFO    ] ================================================
[2026-10-20 19:59:47,177.177 INFO    ] Launching Daemon at Tue Oct 20 19:59:47 IST 2026
[2026-10-20 19:59:47,188.188 INFO    ] ================================================
[2026-10-20 19:59:47,753.753 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 19:59:47
[2026-10-20 19:59:48,336.336 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 19:59:48,584.584 INFO    ] Initializing speech engine...
[2026-10-20 19:59:48,592.592 INFO    ] 2026-10-20 19:59:48
[2026-10-20 19:59:48,867.867 INFO    ] 2026-10-20 19:59:48
[2026-10-20 19:59:48,902.902 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 19:59:49,156.156 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 19:59:49,160.160 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 19:59:49,324.324 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 19:59:49,380.380 INFO    ] time= 20/10/2026 19:59:49
[2026-10-20 19:59:49,421.421 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 19:59:49,427.427 INFO    ] Checking for existing commands in stream...
[2026-10-20 19:59:49,556.556 INFO    ] No existing commands found in stream
[2026-10-20 19:59:54,576.576 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 19:59:54,579.579 INFO    ] Waiting 3.95 seconds before fallback handling...
[2026-10-20 19:59:59,048.048 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 19:59:59,051.051 INFO    ] Checking for system updates...
[2026-10-20 19:59:59,087.087 INFO    ] 200
[2026-10-20 19:59:59,089.089 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:59:59,150.150 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:59:59,153.153 INFO    ] No update needed
[2026-10-20 19:59:59,155.155 INFO    ] Checking for camera pi updates...
[2026-10-20 19:59:59,190.190 INFO    ] 200
[2026-10-20 19:59:59,193.193 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 19:59:59,238.238 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 19:59:59,289.289 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 19:59:59,291.291 INFO    ] No camera update needed
[2026-10-20 19:59:59,294.294 INFO    ] Script finished. Safe exiting...
[2026-10-20 19:59:59,296.296 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 19:59:59,302.302 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 19:59:59,307.307 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:00:01,345.345 INFO    ] ================================================
[2026-10-20 20:00:01,361.361 INFO    ] Launching Daemon at Tue Oct 20 20:00:01 IST 2026
[2026-10-20 20:00:01,372.372 INFO    ] ================================================
[2026-10-20 20:00:03,217.217 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:00:03
[2026-10-20 20:00:05,404.404 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:00:06,314.314 INFO    ] Initializing speech engine...
[2026-10-20 20:00:06,320.320 INFO    ] 2026-10-20 20:00:06
[2026-10-20 20:00:06,763.763 INFO    ] 2026-10-20 20:00:06
[2026-10-20 20:00:06,817.817 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:00:07,080.080 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:00:07,107.107 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:00:07,260.260 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:00:07,290.290 INFO    ] time= 20/10/2026 20:00:07
[2026-10-20 20:00:07,297.297 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:00:07,305.305 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:00:07,420.420 INFO    ] No existing commands found in stream
[2026-10-20 20:00:12,442.442 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:00:12,444.444 INFO    ] Waiting 3.72 seconds before fallback handling...
[2026-10-20 20:00:16,666.666 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 20:00:16,668.668 INFO    ] Checking for system updates...
[2026-10-20 20:00:16,708.708 INFO    ] 200
[2026-10-20 20:00:16,711.711 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:00:16,764.764 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:00:16,767.767 INFO    ] No update needed
[2026-10-20 20:00:16,770.770 INFO    ] Checking for camera pi updates...
[2026-10-20 20:00:16,804.804 INFO    ] 200
[2026-10-20 20:00:16,807.807 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:00:16,848.848 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:00:16,896.896 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:00:16,898.898 INFO    ] No camera update needed
[2026-10-20 20:00:16,901.901 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:00:16,903.903 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:00:16,909.909 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:00:16,914.914 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:00:18,955.955 INFO    ] ================================================
[2026-10-20 20:00:18,971.971 INFO    ] Launching Daemon at Tue Oct 20 20:00:18 IST 2026
[2026-10-20 20:00:18,982.982 INFO    ] ================================================
[2026-10-20 20:00:19,570.570 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:00:19
[2026-10-20 20:00:20,245.245 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:00:20,514.514 INFO    ] Initializing speech engine...
[2026-10-20 20:00:20,524.524 INFO    ] 2026-10-20 20:00:20
[2026-10-20 20:00:20,768.768 INFO    ] 2026-10-20 20:00:20
[2026-10-20 20:00:20,803.803 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:00:21,062.062 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:00:21,067.067 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:00:21,288.288 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:00:21,323.323 INFO    ] time= 20/10/2026 20:00:21
[2026-10-20 20:00:21,329.329 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:00:21,346.346 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:00:21,474.474 INFO    ] No existing commands found in stream
[2026-10-20 20:00:26,489.489 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:00:26,492.492 INFO    ] Waiting 1.43 seconds before fallback handling...
[2026-10-20 20:00:28,405.405 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:00:28,408.408 INFO    ] Checking for system updates...
[2026-10-20 20:00:28,444.444 INFO    ] 200
[2026-10-20 20:00:28,447.447 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:00:28,508.508 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:00:28,510.510 INFO    ] No update needed
[2026-10-20 20:00:28,513.513 INFO    ] Checking for camera pi updates...
[2026-10-20 20:00:28,545.545 INFO    ] 200
[2026-10-20 20:00:28,548.548 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:00:28,594.594 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:00:28,654.654 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:00:28,656.656 INFO    ] No camera update needed
[2026-10-20 20:00:28,659.659 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:00:28,661.661 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:00:28,667.667 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:00:28,672.672 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:00:30,713.713 INFO    ] ================================================
[2026-10-20 20:00:30,728.728 INFO    ] Launching Daemon at Tue Oct 20 20:00:30 IST 2026
[2026-10-20 20:00:30,739.739 INFO    ] ================================================
[2026-10-20 20:00:31,311.311 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:00:31
[2026-10-20 20:00:31,913.913 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:00:32,248.248 INFO    ] Initializing speech engine...
[2026-10-20 20:00:32,259.259 INFO    ] 2026-10-20 20:00:32
[2026-10-20 20:00:32,547.547 INFO    ] 2026-10-20 20:00:32
[2026-10-20 20:00:32,583.583 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:00:32,784.784 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:00:32,808.808 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:00:33,006.006 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:00:33,048.048 INFO    ] time= 20/10/2026 20:00:33
[2026-10-20 20:00:33,114.114 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:00:33,150.150 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:00:33,291.291 INFO    ] No existing commands found in stream
[2026-10-20 20:00:38,321.321 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:00:38,323.323 INFO    ] Waiting 2.90 seconds before fallback handling...
[2026-10-20 20:00:41,738.738 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:00:41,741.741 INFO    ] Checking for system updates...
[2026-10-20 20:00:41,776.776 INFO    ] 200
[2026-10-20 20:00:41,778.778 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:00:41,830.830 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:00:41,832.832 INFO    ] No update needed
[2026-10-20 20:00:41,835.835 INFO    ] Checking for camera pi updates...
[2026-10-20 20:00:41,868.868 INFO    ] 200
[2026-10-20 20:00:41,870.870 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:00:41,914.914 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:00:41,960.960 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:00:41,963.963 INFO    ] No camera update needed
[2026-10-20 20:00:41,965.965 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:00:41,967.967 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:00:41,973.973 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:00:41,977.977 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:00:44,018.018 INFO    ] ================================================
[2026-10-20 20:00:44,033.033 INFO    ] Launching Daemon at Tue Oct 20 20:00:44 IST 2026
[2026-10-20 20:00:44,044.044 INFO    ] ================================================
[2026-10-20 20:00:44,612.612 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:00:44
[2026-10-20 20:00:45,197.197 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:00:45,474.474 INFO    ] Initializing speech engine...
[2026-10-20 20:00:45,479.479 INFO    ] 2026-10-20 20:00:45
[2026-10-20 20:00:45,726.726 INFO    ] 2026-10-20 20:00:45
[2026-10-20 20:00:45,761.761 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:00:46,013.013 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:00:46,022.022 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:00:46,226.226 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:00:46,281.281 INFO    ] time= 20/10/2026 20:00:46
[2026-10-20 20:00:46,287.287 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:00:46,305.305 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:00:46,431.431 INFO    ] No existing commands found in stream
[2026-10-20 20:00:51,447.447 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:00:51,450.450 INFO    ] Waiting 2.39 seconds before fallback handling...
[2026-10-20 20:00:54,379.379 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:00:54,382.382 INFO    ] Checking for system updates...
[2026-10-20 20:00:54,418.418 INFO    ] 200
[2026-10-20 20:00:54,421.421 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:00:54,475.475 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:00:54,478.478 INFO    ] No update needed
[2026-10-20 20:00:54,482.482 INFO    ] Checking for camera pi updates...
[2026-10-20 20:00:54,517.517 INFO    ] 200
[2026-10-20 20:00:54,520.520 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:00:54,566.566 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:00:54,621.621 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:00:54,624.624 INFO    ] No camera update needed
[2026-10-20 20:00:54,627.627 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:00:54,630.630 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:00:54,636.636 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:00:54,642.642 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:00:56,683.683 INFO    ] ================================================
[2026-10-20 20:00:56,702.702 INFO    ] Launching Daemon at Tue Oct 20 20:00:56 IST 2026
[2026-10-20 20:00:56,713.713 INFO    ] ================================================
[2026-10-20 20:00:57,284.284 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:00:57
[2026-10-20 20:00:57,867.867 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:00:58,135.135 INFO    ] Initializing speech engine...
[2026-10-20 20:00:58,144.144 INFO    ] 2026-10-20 20:00:58
[2026-10-20 20:00:58,403.403 INFO    ] 2026-10-20 20:00:58
[2026-10-20 20:00:58,454.454 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:00:58,678.678 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:00:58,687.687 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:00:58,883.883 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:00:58,943.943 INFO    ] time= 20/10/2026 20:00:58
[2026-10-20 20:00:58,951.951 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:00:58,969.969 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:00:59,113.113 INFO    ] No existing commands found in stream
[2026-10-20 20:01:04,141.141 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:01:04,144.144 INFO    ] Waiting 1.75 seconds before fallback handling...
[2026-10-20 20:01:06,407.407 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:01:06,410.410 INFO    ] Checking for system updates...
[2026-10-20 20:01:06,448.448 INFO    ] 200
[2026-10-20 20:01:06,451.451 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:01:06,502.502 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:01:06,504.504 INFO    ] No update needed
[2026-10-20 20:01:06,507.507 INFO    ] Checking for camera pi updates...
[2026-10-20 20:01:06,540.540 INFO    ] 200
[2026-10-20 20:01:06,543.543 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:01:06,587.587 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:01:06,633.633 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:01:06,635.635 INFO    ] No camera update needed
[2026-10-20 20:01:06,637.637 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:01:06,640.640 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:01:06,645.645 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:01:06,650.650 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:01:08,690.690 INFO    ] ================================================
[2026-10-20 20:01:08,706.706 INFO    ] Launching Daemon at Tue Oct 20 20:01:08 IST 2026
[2026-10-20 20:01:08,716.716 INFO    ] ================================================
[2026-10-20 20:01:09,355.355 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:01:09
[2026-10-20 20:01:10,012.012 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:01:10,314.314 INFO    ] Initializing speech engine...
[2026-10-20 20:01:10,321.321 INFO    ] 2026-10-20 20:01:10
[2026-10-20 20:01:10,600.600 INFO    ] 2026-10-20 20:01:10
[2026-10-20 20:01:10,635.635 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:01:10,888.888 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:01:10,898.898 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:01:11,103.103 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:01:11,163.163 INFO    ] time= 20/10/2026 20:01:11
[2026-10-20 20:01:11,172.172 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:01:11,191.191 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:01:11,326.326 INFO    ] No existing commands found in stream
[2026-10-20 20:01:16,339.339 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:01:16,342.342 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-10-20 20:01:20,048.048 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:01:20,051.051 INFO    ] Checking for system updates...
[2026-10-20 20:01:20,091.091 INFO    ] 200
[2026-10-20 20:01:20,094.094 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:01:20,153.153 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:01:20,156.156 INFO    ] No update needed
[2026-10-20 20:01:20,158.158 INFO    ] Checking for camera pi updates...
[2026-10-20 20:01:20,201.201 INFO    ] 200
[2026-10-20 20:01:20,204.204 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:01:20,245.245 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:01:20,288.288 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:01:20,291.291 INFO    ] No camera update needed
[2026-10-20 20:01:20,293.293 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:01:20,296.296 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:01:20,302.302 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:01:20,308.308 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:01:22,349.349 INFO    ] ================================================
[2026-10-20 20:01:22,364.364 INFO    ] Launching Daemon at Tue Oct 20 20:01:22 IST 2026
[2026-10-20 20:01:22,375.375 INFO    ] ================================================
[2026-10-20 20:01:22,941.941 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:01:22
[2026-10-20 20:01:23,527.527 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:01:23,786.786 INFO    ] Initializing speech engine...
[2026-10-20 20:01:23,800.800 INFO    ] 2026-10-20 20:01:23
[2026-10-20 20:01:24,080.080 INFO    ] 2026-10-20 20:01:24
[2026-10-20 20:01:24,115.115 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:01:24,312.312 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:01:24,325.325 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:01:24,485.485 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:01:24,493.493 INFO    ] time= 20/10/2026 20:01:24
[2026-10-20 20:01:24,501.501 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:01:24,549.549 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:01:24,672.672 INFO    ] No existing commands found in stream
[2026-10-20 20:01:29,697.697 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:01:29,700.700 INFO    ] Waiting 0.97 seconds before fallback handling...
[2026-10-20 20:01:31,164.164 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:01:31,167.167 INFO    ] Checking for system updates...
[2026-10-20 20:01:31,202.202 INFO    ] 200
[2026-10-20 20:01:31,205.205 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:01:31,256.256 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:01:31,259.259 INFO    ] No update needed
[2026-10-20 20:01:31,262.262 INFO    ] Checking for camera pi updates...
[2026-10-20 20:01:31,295.295 INFO    ] 200
[2026-10-20 20:01:31,297.297 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:01:31,337.337 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:01:31,395.395 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:01:31,397.397 INFO    ] No camera update needed
[2026-10-20 20:01:31,400.400 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:01:31,402.402 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:01:31,408.408 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:01:31,413.413 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:01:33,454.454 INFO    ] ================================================
[2026-10-20 20:01:33,469.469 INFO    ] Launching Daemon at Tue Oct 20 20:01:33 IST 2026
[2026-10-20 20:01:33,480.480 INFO    ] ================================================
[2026-10-20 20:01:34,052.052 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:01:34
[2026-10-20 20:01:34,651.651 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:01:34,915.915 INFO    ] Initializing speech engine...
[2026-10-20 20:01:34,930.930 INFO    ] 2026-10-20 20:01:34
[2026-10-20 20:01:35,216.216 INFO    ] 2026-10-20 20:01:35
[2026-10-20 20:01:35,255.255 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:01:35,466.466 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:01:35,483.483 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:01:35,709.709 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:01:35,717.717 INFO    ] time= 20/10/2026 20:01:35
[2026-10-20 20:01:35,782.782 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:01:35,837.837 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:01:35,920.920 INFO    ] No existing commands found in stream
[2026-10-20 20:01:40,932.932 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:01:40,935.935 INFO    ] Waiting 2.44 seconds before fallback handling...
[2026-10-20 20:01:43,873.873 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:01:43,876.876 INFO    ] Checking for system updates...
[2026-10-20 20:01:43,913.913 INFO    ] 200
[2026-10-20 20:01:43,916.916 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:01:43,975.975 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:01:43,978.978 INFO    ] No update needed
[2026-10-20 20:01:43,981.981 INFO    ] Checking for camera pi updates...
[2026-10-20 20:01:44,023.023 INFO    ] 200
[2026-10-20 20:01:44,026.026 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:01:44,074.074 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:01:44,117.117 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:01:44,119.119 INFO    ] No camera update needed
[2026-10-20 20:01:44,122.122 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:01:44,124.124 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:01:44,129.129 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:01:44,134.134 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:01:46,174.174 INFO    ] ================================================
[2026-10-20 20:01:46,189.189 INFO    ] Launching Daemon at Tue Oct 20 20:01:46 IST 2026
[2026-10-20 20:01:46,200.200 INFO    ] ================================================
[2026-10-20 20:01:46,781.781 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:01:46
[2026-10-20 20:01:47,368.368 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:01:47,655.655 INFO    ] Initializing speech engine...
[2026-10-20 20:01:47,664.664 INFO    ] 2026-10-20 20:01:47
[2026-10-20 20:01:47,932.932 INFO    ] 2026-10-20 20:01:47
[2026-10-20 20:01:47,970.970 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:01:48,196.196 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:01:48,256.256 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:01:48,421.421 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:01:48,453.453 INFO    ] time= 20/10/2026 20:01:48
[2026-10-20 20:01:48,508.508 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:01:48,558.558 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:01:48,709.709 INFO    ] No existing commands found in stream
[2026-10-20 20:01:53,734.734 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:01:53,736.736 INFO    ] Waiting 0.98 seconds before fallback handling...
[2026-10-20 20:01:55,230.230 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:01:55,233.233 INFO    ] Checking for system updates...
[2026-10-20 20:01:55,272.272 INFO    ] 200
[2026-10-20 20:01:55,274.274 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:01:55,327.327 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:01:55,330.330 INFO    ] No update needed
[2026-10-20 20:01:55,333.333 INFO    ] Checking for camera pi updates...
[2026-10-20 20:01:55,366.366 INFO    ] 200
[2026-10-20 20:01:55,369.369 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:01:55,413.413 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:01:55,560.560 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:01:55,563.563 INFO    ] No camera update needed
[2026-10-20 20:01:55,565.565 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:01:55,567.567 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:01:55,573.573 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:01:55,581.581 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:01:57,622.622 INFO    ] ================================================
[2026-10-20 20:01:57,637.637 INFO    ] Launching Daemon at Tue Oct 20 20:01:57 IST 2026
[2026-10-20 20:01:57,647.647 INFO    ] ================================================
[2026-10-20 20:01:58,212.212 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:01:58
[2026-10-20 20:01:58,796.796 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:01:59,057.057 INFO    ] Initializing speech engine...
[2026-10-20 20:01:59,082.082 INFO    ] 2026-10-20 20:01:59
[2026-10-20 20:01:59,355.355 INFO    ] 2026-10-20 20:01:59
[2026-10-20 20:01:59,393.393 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:01:59,589.589 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:01:59,603.603 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:01:59,764.764 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:01:59,773.773 INFO    ] time= 20/10/2026 20:01:59
[2026-10-20 20:01:59,780.780 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:01:59,828.828 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:01:59,966.966 INFO    ] No existing commands found in stream
[2026-10-20 20:02:04,991.991 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:02:04,994.994 INFO    ] Waiting 2.73 seconds before fallback handling...
[2026-10-20 20:02:08,205.205 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:02:08,208.208 INFO    ] Checking for system updates...
[2026-10-20 20:02:08,243.243 INFO    ] 200
[2026-10-20 20:02:08,246.246 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:02:08,299.299 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:02:08,302.302 INFO    ] No update needed
[2026-10-20 20:02:08,305.305 INFO    ] Checking for camera pi updates...
[2026-10-20 20:02:08,338.338 INFO    ] 200
[2026-10-20 20:02:08,341.341 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:02:08,382.382 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:02:08,433.433 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:02:08,436.436 INFO    ] No camera update needed
[2026-10-20 20:02:08,438.438 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:02:08,441.441 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:02:08,446.446 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:02:08,451.451 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:02:10,491.491 INFO    ] ================================================
[2026-10-20 20:02:10,506.506 INFO    ] Launching Daemon at Tue Oct 20 20:02:10 IST 2026
[2026-10-20 20:02:10,516.516 INFO    ] ================================================
[2026-10-20 20:02:11,088.088 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:02:11
[2026-10-20 20:02:11,671.671 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:02:11,942.942 INFO    ] Initializing speech engine...
[2026-10-20 20:02:11,950.950 INFO    ] 2026-10-20 20:02:11
[2026-10-20 20:02:12,200.200 INFO    ] 2026-10-20 20:02:12
[2026-10-20 20:02:12,234.234 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:02:12,492.492 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:02:12,501.501 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:02:12,708.708 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:02:12,757.757 INFO    ] time= 20/10/2026 20:02:12
[2026-10-20 20:02:12,773.773 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:02:12,787.787 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:02:12,903.903 INFO    ] No existing commands found in stream
[2026-10-20 20:02:17,931.931 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:02:17,934.934 INFO    ] Waiting 2.41 seconds before fallback handling...
[2026-10-20 20:02:20,859.859 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:02:20,861.861 INFO    ] Checking for system updates...
[2026-10-20 20:02:20,900.900 INFO    ] 200
[2026-10-20 20:02:20,903.903 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:02:20,962.962 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:02:20,964.964 INFO    ] No update needed
[2026-10-20 20:02:20,967.967 INFO    ] Checking for camera pi updates...
[2026-10-20 20:02:21,005.005 INFO    ] 200
[2026-10-20 20:02:21,007.007 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:02:21,047.047 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:02:21,089.089 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:02:21,092.092 INFO    ] No camera update needed
[2026-10-20 20:02:21,094.094 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:02:21,096.096 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:02:21,101.101 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:02:21,106.106 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:02:23,147.147 INFO    ] ================================================
[2026-10-20 20:02:23,162.162 INFO    ] Launching Daemon at Tue Oct 20 20:02:23 IST 2026
[2026-10-20 20:02:23,172.172 INFO    ] ================================================
[2026-10-20 20:02:23,737.737 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:02:23
[2026-10-20 20:02:24,339.339 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:02:24,643.643 INFO    ] Initializing speech engine...
[2026-10-20 20:02:24,654.654 INFO    ] 2026-10-20 20:02:24
[2026-10-20 20:02:24,928.928 INFO    ] 2026-10-20 20:02:24
[2026-10-20 20:02:24,972.972 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:02:25,199.199 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:02:25,205.205 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:02:25,420.420 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:02:25,465.465 INFO    ] time= 20/10/2026 20:02:25
[2026-10-20 20:02:25,471.471 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:02:25,492.492 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:02:25,627.627 INFO    ] No existing commands found in stream
[2026-10-20 20:02:30,653.653 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:02:30,656.656 INFO    ] Waiting 3.05 seconds before fallback handling...
[2026-10-20 20:02:34,278.278 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:02:34,280.280 INFO    ] Checking for system updates...
[2026-10-20 20:02:34,320.320 INFO    ] 200
[2026-10-20 20:02:34,323.323 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:02:34,388.388 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:02:34,391.391 INFO    ] No update needed
[2026-10-20 20:02:34,394.394 INFO    ] Checking for camera pi updates...
[2026-10-20 20:02:34,432.432 INFO    ] 200
[2026-10-20 20:02:34,435.435 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:02:34,475.475 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:02:34,520.520 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:02:34,523.523 INFO    ] No camera update needed
[2026-10-20 20:02:34,525.525 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:02:34,528.528 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:02:34,534.534 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:02:34,539.539 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:02:36,580.580 INFO    ] ================================================
[2026-10-20 20:02:36,595.595 INFO    ] Launching Daemon at Tue Oct 20 20:02:36 IST 2026
[2026-10-20 20:02:36,605.605 INFO    ] ================================================
[2026-10-20 20:02:37,186.186 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:02:37
[2026-10-20 20:02:37,774.774 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:02:38,044.044 INFO    ] Initializing speech engine...
[2026-10-20 20:02:38,053.053 INFO    ] 2026-10-20 20:02:38
[2026-10-20 20:02:38,298.298 INFO    ] 2026-10-20 20:02:38
[2026-10-20 20:02:38,334.334 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:02:38,586.586 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:02:38,596.596 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:02:38,796.796 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:02:38,851.851 INFO    ] time= 20/10/2026 20:02:38
[2026-10-20 20:02:38,860.860 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:02:38,878.878 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:02:39,003.003 INFO    ] No existing commands found in stream
[2026-10-20 20:02:44,018.018 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:02:44,021.021 INFO    ] Waiting 1.73 seconds before fallback handling...
[2026-10-20 20:02:46,280.280 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 20:02:46,283.283 INFO    ] Checking for system updates...
[2026-10-20 20:02:46,320.320 INFO    ] 200
[2026-10-20 20:02:46,322.322 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:02:46,377.377 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:02:46,380.380 INFO    ] No update needed
[2026-10-20 20:02:46,382.382 INFO    ] Checking for camera pi updates...
[2026-10-20 20:02:46,417.417 INFO    ] 200
[2026-10-20 20:02:46,419.419 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:02:46,460.460 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:02:46,510.510 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:02:46,512.512 INFO    ] No camera update needed
[2026-10-20 20:02:46,514.514 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:02:46,517.517 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:02:46,522.522 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:02:46,527.527 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:02:48,568.568 INFO    ] ================================================
[2026-10-20 20:02:48,583.583 INFO    ] Launching Daemon at Tue Oct 20 20:02:48 IST 2026
[2026-10-20 20:02:48,594.594 INFO    ] ================================================
[2026-10-20 20:02:49,256.256 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:02:49
[2026-10-20 20:02:49,931.931 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:02:50,243.243 INFO    ] Initializing speech engine...
[2026-10-20 20:02:50,257.257 INFO    ] 2026-10-20 20:02:50
[2026-10-20 20:02:50,573.573 INFO    ] 2026-10-20 20:02:50
[2026-10-20 20:02:50,662.662 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:02:50,880.880 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:02:50,889.889 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:02:51,064.064 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:02:51,100.100 INFO    ] time= 20/10/2026 20:02:51
[2026-10-20 20:02:51,119.119 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:02:51,149.149 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:02:51,291.291 INFO    ] No existing commands found in stream
[2026-10-20 20:02:56,322.322 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:02:56,325.325 INFO    ] Waiting 1.85 seconds before fallback handling...
[2026-10-20 20:03:03,749.749 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:03:03,752.752 INFO    ] Checking for system updates...
[2026-10-20 20:03:03,799.799 INFO    ] 200
[2026-10-20 20:03:03,801.801 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:03:03,861.861 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:03:03,863.863 INFO    ] No update needed
[2026-10-20 20:03:03,865.865 INFO    ] Checking for camera pi updates...
[2026-10-20 20:03:03,902.902 INFO    ] 200
[2026-10-20 20:03:03,905.905 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:03:03,944.944 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:03:03,996.996 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:03:03,999.999 INFO    ] No camera update needed
[2026-10-20 20:03:04,001.001 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:03:04,003.003 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:03:04,009.009 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:03:04,014.014 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:03:06,054.054 INFO    ] ================================================
[2026-10-20 20:03:06,070.070 INFO    ] Launching Daemon at Tue Oct 20 20:03:06 IST 2026
[2026-10-20 20:03:06,081.081 INFO    ] ================================================
[2026-10-20 20:03:06,734.734 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:03:06
[2026-10-20 20:03:07,412.412 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:03:07,720.720 INFO    ] Initializing speech engine...
[2026-10-20 20:03:07,733.733 INFO    ] 2026-10-20 20:03:07
[2026-10-20 20:03:08,023.023 INFO    ] 2026-10-20 20:03:08
[2026-10-20 20:03:08,070.070 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:03:08,302.302 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:03:08,307.307 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:03:08,528.528 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:03:08,575.575 INFO    ] time= 20/10/2026 20:03:08
[2026-10-20 20:03:08,593.593 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:03:08,604.604 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:03:08,741.741 INFO    ] No existing commands found in stream
[2026-10-20 20:03:13,773.773 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:03:13,776.776 INFO    ] Waiting 3.63 seconds before fallback handling...
[2026-10-20 20:03:17,944.944 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:03:17,947.947 INFO    ] Checking for system updates...
[2026-10-20 20:03:17,987.987 INFO    ] 200
[2026-10-20 20:03:17,990.990 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:03:18,042.042 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:03:18,044.044 INFO    ] No update needed
[2026-10-20 20:03:18,047.047 INFO    ] Checking for camera pi updates...
[2026-10-20 20:03:18,082.082 INFO    ] 200
[2026-10-20 20:03:18,084.084 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:03:18,130.130 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:03:18,183.183 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:03:18,186.186 INFO    ] No camera update needed
[2026-10-20 20:03:18,188.188 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:03:18,190.190 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:03:18,196.196 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:03:18,201.201 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:03:20,241.241 INFO    ] ================================================
[2026-10-20 20:03:20,255.255 INFO    ] Launching Daemon at Tue Oct 20 20:03:20 IST 2026
[2026-10-20 20:03:20,266.266 INFO    ] ================================================
[2026-10-20 20:03:20,868.868 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:03:20
[2026-10-20 20:03:21,487.487 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:03:21,763.763 INFO    ] Initializing speech engine...
[2026-10-20 20:03:21,772.772 INFO    ] 2026-10-20 20:03:21
[2026-10-20 20:03:22,021.021 INFO    ] 2026-10-20 20:03:22
[2026-10-20 20:03:22,055.055 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:03:22,316.316 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:03:22,325.325 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:03:22,543.543 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:03:22,592.592 INFO    ] time= 20/10/2026 20:03:22
[2026-10-20 20:03:22,599.599 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:03:22,614.614 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:03:22,734.734 INFO    ] No existing commands found in stream
[2026-10-20 20:03:27,760.760 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:03:27,762.762 INFO    ] Waiting 3.08 seconds before fallback handling...
[2026-10-20 20:03:31,363.363 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:03:31,366.366 INFO    ] Checking for system updates...
[2026-10-20 20:03:31,400.400 INFO    ] 200
[2026-10-20 20:03:31,403.403 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:03:31,455.455 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:03:31,457.457 INFO    ] No update needed
[2026-10-20 20:03:31,460.460 INFO    ] Checking for camera pi updates...
[2026-10-20 20:03:31,494.494 INFO    ] 200
[2026-10-20 20:03:31,496.496 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:03:31,535.535 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:03:31,587.587 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:03:31,590.590 INFO    ] No camera update needed
[2026-10-20 20:03:31,592.592 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:03:31,594.594 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:03:31,600.600 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:03:31,605.605 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:03:33,645.645 INFO    ] ================================================
[2026-10-20 20:03:33,660.660 INFO    ] Launching Daemon at Tue Oct 20 20:03:33 IST 2026
[2026-10-20 20:03:33,671.671 INFO    ] ================================================
[2026-10-20 20:03:34,287.287 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:03:34
[2026-10-20 20:03:34,885.885 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:03:35,161.161 INFO    ] Initializing speech engine...
[2026-10-20 20:03:35,171.171 INFO    ] 2026-10-20 20:03:35
[2026-10-20 20:03:35,432.432 INFO    ] 2026-10-20 20:03:35
[2026-10-20 20:03:35,487.487 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:03:35,707.707 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:03:35,716.716 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:03:35,934.934 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:03:35,974.974 INFO    ] time= 20/10/2026 20:03:35
[2026-10-20 20:03:35,980.980 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:03:35,999.999 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:03:36,128.128 INFO    ] No existing commands found in stream
[2026-10-20 20:03:41,152.152 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:03:41,155.155 INFO    ] Waiting 3.27 seconds before fallback handling...
[2026-10-20 20:03:44,923.923 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:03:44,926.926 INFO    ] Checking for system updates...
[2026-10-20 20:03:44,969.969 INFO    ] 200
[2026-10-20 20:03:44,976.976 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:03:45,037.037 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:03:45,041.041 INFO    ] No update needed
[2026-10-20 20:03:45,044.044 INFO    ] Checking for camera pi updates...
[2026-10-20 20:03:45,085.085 INFO    ] 200
[2026-10-20 20:03:45,087.087 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:03:45,139.139 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:03:45,190.190 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:03:45,192.192 INFO    ] No camera update needed
[2026-10-20 20:03:45,195.195 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:03:45,198.198 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:03:45,204.204 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:03:45,210.210 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:03:47,249.249 INFO    ] ================================================
[2026-10-20 20:03:47,265.265 INFO    ] Launching Daemon at Tue Oct 20 20:03:47 IST 2026
[2026-10-20 20:03:47,276.276 INFO    ] ================================================
[2026-10-20 20:03:47,858.858 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:03:47
[2026-10-20 20:03:48,457.457 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:03:48,735.735 INFO    ] Initializing speech engine...
[2026-10-20 20:03:48,742.742 INFO    ] 2026-10-20 20:03:48
[2026-10-20 20:03:49,004.004 INFO    ] 2026-10-20 20:03:48
[2026-10-20 20:03:49,058.058 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:03:49,285.285 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:03:49,291.291 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:03:49,520.520 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:03:49,549.549 INFO    ] time= 20/10/2026 20:03:49
[2026-10-20 20:03:49,567.567 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:03:49,595.595 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:03:49,703.703 INFO    ] No existing commands found in stream
[2026-10-20 20:03:54,721.721 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:03:54,724.724 INFO    ] Waiting 0.75 seconds before fallback handling...
[2026-10-20 20:03:55,972.972 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:03:55,974.974 INFO    ] Checking for system updates...
[2026-10-20 20:03:56,010.010 INFO    ] 200
[2026-10-20 20:03:56,012.012 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:03:56,066.066 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:03:56,069.069 INFO    ] No update needed
[2026-10-20 20:03:56,076.076 INFO    ] Checking for camera pi updates...
[2026-10-20 20:03:56,125.125 INFO    ] 200
[2026-10-20 20:03:56,128.128 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:03:56,172.172 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:03:56,220.220 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:03:56,223.223 INFO    ] No camera update needed
[2026-10-20 20:03:56,225.225 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:03:56,227.227 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:03:56,233.233 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:03:56,238.238 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:03:58,277.277 INFO    ] ================================================
[2026-10-20 20:03:58,292.292 INFO    ] Launching Daemon at Tue Oct 20 20:03:58 IST 2026
[2026-10-20 20:03:58,303.303 INFO    ] ================================================
[2026-10-20 20:03:58,927.927 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:03:58
[2026-10-20 20:03:59,603.603 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:03:59,907.907 INFO    ] Initializing speech engine...
[2026-10-20 20:03:59,920.920 INFO    ] 2026-10-20 20:03:59
[2026-10-20 20:04:00,237.237 INFO    ] 2026-10-20 20:04:00
[2026-10-20 20:04:00,321.321 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:04:00,538.538 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:04:00,553.553 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:04:00,742.742 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:04:00,761.761 INFO    ] time= 20/10/2026 20:04:00
[2026-10-20 20:04:00,789.789 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:04:00,799.799 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:04:00,937.937 INFO    ] No existing commands found in stream
[2026-10-20 20:04:05,968.968 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:04:05,971.971 INFO    ] Waiting 3.92 seconds before fallback handling...
[2026-10-20 20:04:10,394.394 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:04:10,397.397 INFO    ] Checking for system updates...
[2026-10-20 20:04:10,437.437 INFO    ] 200
[2026-10-20 20:04:10,441.441 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:04:10,508.508 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:04:10,511.511 INFO    ] No update needed
[2026-10-20 20:04:10,515.515 INFO    ] Checking for camera pi updates...
[2026-10-20 20:04:10,557.557 INFO    ] 200
[2026-10-20 20:04:10,560.560 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:04:10,617.617 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:04:10,674.674 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:04:10,677.677 INFO    ] No camera update needed
[2026-10-20 20:04:10,680.680 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:04:10,683.683 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:04:10,690.690 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:04:10,696.696 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:04:12,740.740 INFO    ] ================================================
[2026-10-20 20:04:12,755.755 INFO    ] Launching Daemon at Tue Oct 20 20:04:12 IST 2026
[2026-10-20 20:04:12,767.767 INFO    ] ================================================
[2026-10-20 20:04:13,428.428 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:04:13
[2026-10-20 20:04:14,093.093 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:04:14,395.395 INFO    ] Initializing speech engine...
[2026-10-20 20:04:14,404.404 INFO    ] 2026-10-20 20:04:14
[2026-10-20 20:04:14,678.678 INFO    ] 2026-10-20 20:04:14
[2026-10-20 20:04:14,734.734 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:04:14,973.973 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:04:14,987.987 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:04:15,131.131 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:04:15,191.191 INFO    ] time= 20/10/2026 20:04:15
[2026-10-20 20:04:15,246.246 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:04:15,263.263 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:04:15,399.399 INFO    ] No existing commands found in stream
[2026-10-20 20:04:20,421.421 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:04:20,424.424 INFO    ] Waiting 0.35 seconds before fallback handling...
[2026-10-20 20:04:21,303.303 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:04:21,306.306 INFO    ] Checking for system updates...
[2026-10-20 20:04:21,342.342 INFO    ] 200
[2026-10-20 20:04:21,344.344 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:04:21,406.406 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:04:21,408.408 INFO    ] No update needed
[2026-10-20 20:04:21,411.411 INFO    ] Checking for camera pi updates...
[2026-10-20 20:04:21,448.448 INFO    ] 200
[2026-10-20 20:04:21,450.450 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:04:21,491.491 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:04:21,548.548 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:04:21,551.551 INFO    ] No camera update needed
[2026-10-20 20:04:21,553.553 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:04:21,556.556 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:04:21,562.562 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:04:21,568.568 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:04:23,607.607 INFO    ] ================================================
[2026-10-20 20:04:23,623.623 INFO    ] Launching Daemon at Tue Oct 20 20:04:23 IST 2026
[2026-10-20 20:04:23,634.634 INFO    ] ================================================
[2026-10-20 20:04:24,208.208 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:04:24
[2026-10-20 20:04:24,790.790 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:04:25,058.058 INFO    ] Initializing speech engine...
[2026-10-20 20:04:25,067.067 INFO    ] 2026-10-20 20:04:25
[2026-10-20 20:04:25,318.318 INFO    ] 2026-10-20 20:04:25
[2026-10-20 20:04:25,352.352 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:04:25,601.601 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:04:25,605.605 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:04:25,833.833 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:04:25,862.862 INFO    ] time= 20/10/2026 20:04:25
[2026-10-20 20:04:25,868.868 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:04:25,886.886 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:04:26,012.012 INFO    ] No existing commands found in stream
[2026-10-20 20:04:31,025.025 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:04:31,028.028 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-10-20 20:04:34,640.640 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:04:34,643.643 INFO    ] Checking for system updates...
[2026-10-20 20:04:34,678.678 INFO    ] 200
[2026-10-20 20:04:34,681.681 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:04:34,734.734 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:04:34,736.736 INFO    ] No update needed
[2026-10-20 20:04:34,738.738 INFO    ] Checking for camera pi updates...
[2026-10-20 20:04:34,771.771 INFO    ] 200
[2026-10-20 20:04:34,774.774 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:04:34,813.813 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:04:34,859.859 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:04:34,861.861 INFO    ] No camera update needed
[2026-10-20 20:04:34,863.863 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:04:34,866.866 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:04:34,871.871 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:04:34,876.876 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:04:36,917.917 INFO    ] ================================================
[2026-10-20 20:04:36,932.932 INFO    ] Launching Daemon at Tue Oct 20 20:04:36 IST 2026
[2026-10-20 20:04:36,943.943 INFO    ] ================================================
[2026-10-20 20:04:37,593.593 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:04:37
[2026-10-20 20:04:38,264.264 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:04:38,567.567 INFO    ] Initializing speech engine...
[2026-10-20 20:04:38,580.580 INFO    ] 2026-10-20 20:04:38
[2026-10-20 20:04:38,864.864 INFO    ] 2026-10-20 20:04:38
[2026-10-20 20:04:38,936.936 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:04:39,189.189 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:04:39,197.197 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:04:39,389.389 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:04:39,408.408 INFO    ] time= 20/10/2026 20:04:39
[2026-10-20 20:04:39,415.415 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:04:39,445.445 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:04:39,575.575 INFO    ] No existing commands found in stream
[2026-10-20 20:04:44,611.611 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:04:44,614.614 INFO    ] Waiting 0.94 seconds before fallback handling...
[2026-10-20 20:04:46,141.141 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:04:46,144.144 INFO    ] Checking for system updates...
[2026-10-20 20:04:46,198.198 INFO    ] 200
[2026-10-20 20:04:46,202.202 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 20:04:46,205.205 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-10-20 20:04:46,208.208 INFO    ] Checking for camera pi updates...
[2026-10-20 20:04:46,245.245 INFO    ] 200
[2026-10-20 20:04:46,248.248 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 20:04:46,252.252 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-10-20 20:04:46,255.255 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:04:46,257.257 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:04:46,264.264 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:04:46,271.271 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:04:48,312.312 INFO    ] ================================================
[2026-10-20 20:04:48,327.327 INFO    ] Launching Daemon at Tue Oct 20 20:04:48 IST 2026
[2026-10-20 20:04:48,338.338 INFO    ] ================================================
[2026-10-20 20:04:48,903.903 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:04:48
[2026-10-20 20:04:49,486.486 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:04:49,753.753 INFO    ] Initializing speech engine...
[2026-10-20 20:04:49,762.762 INFO    ] 2026-10-20 20:04:49
[2026-10-20 20:04:50,013.013 INFO    ] 2026-10-20 20:04:50
[2026-10-20 20:04:50,072.072 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:04:50,296.296 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:04:50,302.302 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:04:50,440.440 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:04:50,500.500 INFO    ] time= 20/10/2026 20:04:50
[2026-10-20 20:04:50,549.549 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:04:50,566.566 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:04:50,711.711 INFO    ] No existing commands found in stream
[2026-10-20 20:04:55,726.726 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:04:55,729.729 INFO    ] Waiting 1.40 seconds before fallback handling...
[2026-10-20 20:04:57,665.665 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:04:57,667.667 INFO    ] Checking for system updates...
[2026-10-20 20:04:57,707.707 INFO    ] 200
[2026-10-20 20:04:57,709.709 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:04:57,767.767 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:04:57,770.770 INFO    ] No update needed
[2026-10-20 20:04:57,772.772 INFO    ] Checking for camera pi updates...
[2026-10-20 20:04:57,806.806 INFO    ] 200
[2026-10-20 20:04:57,809.809 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:04:57,848.848 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:04:57,896.896 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:04:57,899.899 INFO    ] No camera update needed
[2026-10-20 20:04:57,901.901 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:04:57,904.904 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:04:57,910.910 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:04:57,915.915 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:04:59,956.956 INFO    ] ================================================
[2026-10-20 20:04:59,971.971 INFO    ] Launching Daemon at Tue Oct 20 20:04:59 IST 2026
[2026-10-20 20:04:59,981.981 INFO    ] ================================================
[2026-10-20 20:05:00,546.546 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:05:00
[2026-10-20 20:05:01,129.129 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:05:01,400.400 INFO    ] Initializing speech engine...
[2026-10-20 20:05:01,417.417 INFO    ] 2026-10-20 20:05:01
[2026-10-20 20:05:01,690.690 INFO    ] 2026-10-20 20:05:01
[2026-10-20 20:05:01,726.726 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:05:01,904.904 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:05:01,913.913 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:05:02,062.062 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:05:02,066.066 INFO    ] time= 20/10/2026 20:05:02
[2026-10-20 20:05:02,076.076 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:05:02,080.080 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:05:02,160.160 INFO    ] No existing commands found in stream
[2026-10-20 20:05:07,170.170 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:05:07,173.173 INFO    ] Waiting 2.47 seconds before fallback handling...
[2026-10-20 20:05:10,143.143 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:05:10,145.145 INFO    ] Checking for system updates...
[2026-10-20 20:05:10,184.184 INFO    ] 200
[2026-10-20 20:05:10,186.186 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:05:10,243.243 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:05:10,246.246 INFO    ] No update needed
[2026-10-20 20:05:10,248.248 INFO    ] Checking for camera pi updates...
[2026-10-20 20:05:10,281.281 INFO    ] 200
[2026-10-20 20:05:10,284.284 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:05:10,324.324 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:05:10,371.371 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:05:10,373.373 INFO    ] No camera update needed
[2026-10-20 20:05:10,375.375 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:05:10,378.378 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:05:10,383.383 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:05:10,388.388 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:05:12,428.428 INFO    ] ================================================
[2026-10-20 20:05:12,442.442 INFO    ] Launching Daemon at Tue Oct 20 20:05:12 IST 2026
[2026-10-20 20:05:12,453.453 INFO    ] ================================================
[2026-10-20 20:05:13,094.094 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:05:13
[2026-10-20 20:05:13,758.758 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:05:14,060.060 INFO    ] Initializing speech engine...
[2026-10-20 20:05:14,074.074 INFO    ] 2026-10-20 20:05:14
[2026-10-20 20:05:14,340.340 INFO    ] 2026-10-20 20:05:14
[2026-10-20 20:05:14,395.395 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:05:14,649.649 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:05:14,667.667 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:05:14,887.887 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:05:14,893.893 INFO    ] time= 20/10/2026 20:05:14
[2026-10-20 20:05:14,912.912 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:05:14,942.942 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:05:15,050.050 INFO    ] No existing commands found in stream
[2026-10-20 20:05:20,080.080 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:05:20,083.083 INFO    ] Waiting 0.55 seconds before fallback handling...
[2026-10-20 20:05:21,198.198 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:05:21,201.201 INFO    ] Checking for system updates...
[2026-10-20 20:05:21,238.238 INFO    ] 200
[2026-10-20 20:05:21,241.241 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:05:21,300.300 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:05:21,303.303 INFO    ] No update needed
[2026-10-20 20:05:21,306.306 INFO    ] Checking for camera pi updates...
[2026-10-20 20:05:21,344.344 INFO    ] 200
[2026-10-20 20:05:21,346.346 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:05:21,392.392 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:05:21,437.437 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:05:21,440.440 INFO    ] No camera update needed
[2026-10-20 20:05:21,443.443 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:05:21,448.448 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:05:21,455.455 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:05:21,461.461 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:05:23,501.501 INFO    ] ================================================
[2026-10-20 20:05:23,515.515 INFO    ] Launching Daemon at Tue Oct 20 20:05:23 IST 2026
[2026-10-20 20:05:23,526.526 INFO    ] ================================================
[2026-10-20 20:05:24,103.103 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:05:24
[2026-10-20 20:05:24,687.687 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:05:24,956.956 INFO    ] Initializing speech engine...
[2026-10-20 20:05:24,965.965 INFO    ] 2026-10-20 20:05:24
[2026-10-20 20:05:25,226.226 INFO    ] 2026-10-20 20:05:25
[2026-10-20 20:05:25,256.256 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:05:25,507.507 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:05:25,513.513 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:05:25,737.737 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:05:25,772.772 INFO    ] time= 20/10/2026 20:05:25
[2026-10-20 20:05:25,788.788 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:05:25,794.794 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:05:25,926.926 INFO    ] No existing commands found in stream
[2026-10-20 20:05:30,948.948 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:05:30,951.951 INFO    ] Waiting 0.37 seconds before fallback handling...
[2026-10-20 20:05:31,836.836 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:05:31,839.839 INFO    ] Checking for system updates...
[2026-10-20 20:05:31,874.874 INFO    ] 200
[2026-10-20 20:05:31,877.877 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:05:31,928.928 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:05:31,931.931 INFO    ] No update needed
[2026-10-20 20:05:31,933.933 INFO    ] Checking for camera pi updates...
[2026-10-20 20:05:31,967.967 INFO    ] 200
[2026-10-20 20:05:31,969.969 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:05:32,011.011 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:05:32,057.057 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:05:32,061.061 INFO    ] No camera update needed
[2026-10-20 20:05:32,064.064 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:05:32,067.067 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:05:32,073.073 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:05:32,080.080 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:05:34,121.121 INFO    ] ================================================
[2026-10-20 20:05:34,136.136 INFO    ] Launching Daemon at Tue Oct 20 20:05:34 IST 2026
[2026-10-20 20:05:34,146.146 INFO    ] ================================================
[2026-10-20 20:05:34,805.805 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:05:34
[2026-10-20 20:05:35,488.488 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:05:35,793.793 INFO    ] Initializing speech engine...
[2026-10-20 20:05:35,803.803 INFO    ] 2026-10-20 20:05:35
[2026-10-20 20:05:36,093.093 INFO    ] 2026-10-20 20:05:36
[2026-10-20 20:05:36,140.140 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:05:36,422.422 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:05:36,436.436 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:05:36,615.615 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:05:36,645.645 INFO    ] time= 20/10/2026 20:05:36
[2026-10-20 20:05:36,664.664 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:05:36,677.677 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:05:36,804.804 INFO    ] No existing commands found in stream
[2026-10-20 20:05:41,833.833 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:05:41,836.836 INFO    ] Waiting 1.91 seconds before fallback handling...
[2026-10-20 20:05:44,333.333 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:05:44,336.336 INFO    ] Checking for system updates...
[2026-10-20 20:05:44,376.376 INFO    ] 200
[2026-10-20 20:05:44,379.379 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:05:44,448.448 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:05:44,452.452 INFO    ] No update needed
[2026-10-20 20:05:44,455.455 INFO    ] Checking for camera pi updates...
[2026-10-20 20:05:44,493.493 INFO    ] 200
[2026-10-20 20:05:44,496.496 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:05:44,541.541 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:05:44,589.589 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:05:44,591.591 INFO    ] No camera update needed
[2026-10-20 20:05:44,594.594 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:05:44,596.596 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:05:44,601.601 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:05:44,606.606 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:05:46,647.647 INFO    ] ================================================
[2026-10-20 20:05:46,662.662 INFO    ] Launching Daemon at Tue Oct 20 20:05:46 IST 2026
[2026-10-20 20:05:46,673.673 INFO    ] ================================================
[2026-10-20 20:05:47,341.341 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:05:47
[2026-10-20 20:05:48,015.015 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:05:48,299.299 INFO    ] Initializing speech engine...
[2026-10-20 20:05:48,307.307 INFO    ] 2026-10-20 20:05:48
[2026-10-20 20:05:48,566.566 INFO    ] 2026-10-20 20:05:48
[2026-10-20 20:05:48,621.621 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:05:48,900.900 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:05:48,907.907 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:05:49,095.095 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:05:49,108.108 INFO    ] time= 20/10/2026 20:05:49
[2026-10-20 20:05:49,122.122 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:05:49,131.131 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:05:49,256.256 INFO    ] No existing commands found in stream
[2026-10-20 20:05:54,272.272 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:05:54,274.274 INFO    ] Waiting 0.07 seconds before fallback handling...
[2026-10-20 20:05:54,827.827 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:05:54,830.830 INFO    ] Checking for system updates...
[2026-10-20 20:05:54,865.865 INFO    ] 200
[2026-10-20 20:05:54,868.868 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:05:54,921.921 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:05:54,924.924 INFO    ] No update needed
[2026-10-20 20:05:54,926.926 INFO    ] Checking for camera pi updates...
[2026-10-20 20:05:54,959.959 INFO    ] 200
[2026-10-20 20:05:54,962.962 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:05:55,001.001 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:05:55,055.055 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:05:55,057.057 INFO    ] No camera update needed
[2026-10-20 20:05:55,060.060 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:05:55,062.062 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:05:55,068.068 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:05:55,073.073 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:05:57,112.112 INFO    ] ================================================
[2026-10-20 20:05:57,127.127 INFO    ] Launching Daemon at Tue Oct 20 20:05:57 IST 2026
[2026-10-20 20:05:57,137.137 INFO    ] ================================================
[2026-10-20 20:05:57,705.705 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:05:57
[2026-10-20 20:05:58,289.289 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:05:58,548.548 INFO    ] Initializing speech engine...
[2026-10-20 20:05:58,563.563 INFO    ] 2026-10-20 20:05:58
[2026-10-20 20:05:58,818.818 INFO    ] 2026-10-20 20:05:58
[2026-10-20 20:05:58,854.854 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:05:59,051.051 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:05:59,058.058 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:05:59,257.257 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:05:59,317.317 INFO    ] time= 20/10/2026 20:05:59
[2026-10-20 20:05:59,371.371 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:05:59,393.393 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:05:59,540.540 INFO    ] No existing commands found in stream
[2026-10-20 20:06:04,555.555 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:06:04,558.558 INFO    ] Waiting 1.31 seconds before fallback handling...
[2026-10-20 20:06:06,387.387 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:06:06,390.390 INFO    ] Checking for system updates...
[2026-10-20 20:06:06,425.425 INFO    ] 200
[2026-10-20 20:06:06,427.427 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:06:06,492.492 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:06:06,494.494 INFO    ] No update needed
[2026-10-20 20:06:06,497.497 INFO    ] Checking for camera pi updates...
[2026-10-20 20:06:06,529.529 INFO    ] 200
[2026-10-20 20:06:06,532.532 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:06:06,572.572 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:06:06,716.716 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:06:06,718.718 INFO    ] No camera update needed
[2026-10-20 20:06:06,721.721 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:06:06,723.723 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:06:06,728.728 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:06:06,733.733 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:06:08,772.772 INFO    ] ================================================
[2026-10-20 20:06:08,787.787 INFO    ] Launching Daemon at Tue Oct 20 20:06:08 IST 2026
[2026-10-20 20:06:08,798.798 INFO    ] ================================================
[2026-10-20 20:06:09,374.374 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:06:09
[2026-10-20 20:06:09,966.966 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:06:10,214.214 INFO    ] Initializing speech engine...
[2026-10-20 20:06:10,221.221 INFO    ] 2026-10-20 20:06:10
[2026-10-20 20:06:10,515.515 INFO    ] 2026-10-20 20:06:10
[2026-10-20 20:06:10,552.552 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:06:10,768.768 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:06:10,776.776 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:06:10,995.995 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:06:11,003.003 INFO    ] time= 20/10/2026 20:06:10
[2026-10-20 20:06:11,037.037 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:06:11,096.096 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:06:11,199.199 INFO    ] No existing commands found in stream
[2026-10-20 20:06:16,211.211 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:06:16,214.214 INFO    ] Waiting 2.58 seconds before fallback handling...
[2026-10-20 20:06:19,326.326 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:06:19,328.328 INFO    ] Checking for system updates...
[2026-10-20 20:06:19,363.363 INFO    ] 200
[2026-10-20 20:06:19,366.366 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:06:19,423.423 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:06:19,426.426 INFO    ] No update needed
[2026-10-20 20:06:19,428.428 INFO    ] Checking for camera pi updates...
[2026-10-20 20:06:19,461.461 INFO    ] 200
[2026-10-20 20:06:19,463.463 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:06:19,503.503 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:06:19,552.552 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:06:19,555.555 INFO    ] No camera update needed
[2026-10-20 20:06:19,557.557 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:06:19,559.559 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:06:19,565.565 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:06:19,570.570 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:06:21,610.610 INFO    ] ================================================
[2026-10-20 20:06:21,625.625 INFO    ] Launching Daemon at Tue Oct 20 20:06:21 IST 2026
[2026-10-20 20:06:21,636.636 INFO    ] ================================================
[2026-10-20 20:06:22,215.215 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:06:22
[2026-10-20 20:06:22,808.808 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:06:23,080.080 INFO    ] Initializing speech engine...
[2026-10-20 20:06:23,089.089 INFO    ] 2026-10-20 20:06:23
[2026-10-20 20:06:23,349.349 INFO    ] 2026-10-20 20:06:23
[2026-10-20 20:06:23,402.402 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:06:23,629.629 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:06:23,634.634 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:06:23,863.863 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:06:23,890.890 INFO    ] time= 20/10/2026 20:06:23
[2026-10-20 20:06:23,896.896 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:06:23,912.912 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:06:24,042.042 INFO    ] No existing commands found in stream
[2026-10-20 20:06:29,056.056 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:06:29,059.059 INFO    ] Waiting 3.23 seconds before fallback handling...
[2026-10-20 20:06:32,827.827 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:06:32,830.830 INFO    ] Checking for system updates...
[2026-10-20 20:06:32,866.866 INFO    ] 200
[2026-10-20 20:06:32,868.868 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:06:32,919.919 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:06:32,922.922 INFO    ] No update needed
[2026-10-20 20:06:32,924.924 INFO    ] Checking for camera pi updates...
[2026-10-20 20:06:32,967.967 INFO    ] 200
[2026-10-20 20:06:32,970.970 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:06:33,013.013 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:06:33,045.045 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:06:33,047.047 INFO    ] No camera update needed
[2026-10-20 20:06:33,050.050 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:06:33,052.052 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:06:33,057.057 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:06:33,062.062 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:06:35,101.101 INFO    ] ================================================
[2026-10-20 20:06:35,117.117 INFO    ] Launching Daemon at Tue Oct 20 20:06:35 IST 2026
[2026-10-20 20:06:35,128.128 INFO    ] ================================================
[2026-10-20 20:06:35,752.752 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:06:35
[2026-10-20 20:06:36,397.397 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:06:36,693.693 INFO    ] Initializing speech engine...
[2026-10-20 20:06:36,702.702 INFO    ] 2026-10-20 20:06:36
[2026-10-20 20:06:36,970.970 INFO    ] 2026-10-20 20:06:36
[2026-10-20 20:06:37,006.006 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:06:37,259.259 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:06:37,268.268 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:06:37,417.417 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:06:37,488.488 INFO    ] time= 20/10/2026 20:06:37
[2026-10-20 20:06:37,539.539 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:06:37,546.546 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:06:37,710.710 INFO    ] No existing commands found in stream
[2026-10-20 20:06:42,742.742 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:06:42,745.745 INFO    ] Waiting 2.36 seconds before fallback handling...
[2026-10-20 20:06:45,632.632 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:06:45,635.635 INFO    ] Checking for system updates...
[2026-10-20 20:06:45,671.671 INFO    ] 200
[2026-10-20 20:06:45,674.674 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:06:45,731.731 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:06:45,733.733 INFO    ] No update needed
[2026-10-20 20:06:45,739.739 INFO    ] Checking for camera pi updates...
[2026-10-20 20:06:45,773.773 INFO    ] 200
[2026-10-20 20:06:45,776.776 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:06:45,820.820 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:06:45,868.868 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:06:45,871.871 INFO    ] No camera update needed
[2026-10-20 20:06:45,873.873 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:06:45,876.876 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:06:45,882.882 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:06:45,887.887 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:06:47,927.927 INFO    ] ================================================
[2026-10-20 20:06:47,942.942 INFO    ] Launching Daemon at Tue Oct 20 20:06:47 IST 2026
[2026-10-20 20:06:47,953.953 INFO    ] ================================================
[2026-10-20 20:06:48,521.521 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:06:48
[2026-10-20 20:06:49,104.104 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:06:49,362.362 INFO    ] Initializing speech engine...
[2026-10-20 20:06:49,381.381 INFO    ] 2026-10-20 20:06:49
[2026-10-20 20:06:49,627.627 INFO    ] 2026-10-20 20:06:49
[2026-10-20 20:06:49,668.668 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:06:49,918.918 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:06:49,922.922 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:06:50,125.125 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:06:50,169.169 INFO    ] time= 20/10/2026 20:06:50
[2026-10-20 20:06:50,185.185 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:06:50,191.191 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:06:50,337.337 INFO    ] No existing commands found in stream
[2026-10-20 20:06:55,359.359 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:06:55,362.362 INFO    ] Waiting 1.96 seconds before fallback handling...
[2026-10-20 20:06:57,822.822 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:06:57,825.825 INFO    ] Checking for system updates...
[2026-10-20 20:06:57,860.860 INFO    ] 200
[2026-10-20 20:06:57,862.862 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:06:57,917.917 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:06:57,920.920 INFO    ] No update needed
[2026-10-20 20:06:57,923.923 INFO    ] Checking for camera pi updates...
[2026-10-20 20:06:57,956.956 INFO    ] 200
[2026-10-20 20:06:57,959.959 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:06:57,998.998 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:06:58,049.049 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:06:58,052.052 INFO    ] No camera update needed
[2026-10-20 20:06:58,054.054 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:06:58,056.056 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:06:58,062.062 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:06:58,066.066 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:07:00,107.107 INFO    ] ================================================
[2026-10-20 20:07:00,122.122 INFO    ] Launching Daemon at Tue Oct 20 20:07:00 IST 2026
[2026-10-20 20:07:00,133.133 INFO    ] ================================================
[2026-10-20 20:07:00,719.719 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:07:00
[2026-10-20 20:07:01,317.317 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:07:01,848.848 INFO    ] Initializing speech engine...
[2026-10-20 20:07:01,854.854 INFO    ] 2026-10-20 20:07:01
[2026-10-20 20:07:02,259.259 INFO    ] 2026-10-20 20:07:02
[2026-10-20 20:07:02,299.299 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:07:02,562.562 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:07:02,612.612 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:07:02,804.804 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:07:02,869.869 INFO    ] time= 20/10/2026 20:07:02
[2026-10-20 20:07:02,940.940 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:07:03,013.013 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:07:03,144.144 INFO    ] No existing commands found in stream
[2026-10-20 20:07:08,175.175 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:07:08,178.178 INFO    ] Waiting 3.53 seconds before fallback handling...
[2026-10-20 20:07:12,240.240 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:07:12,243.243 INFO    ] Checking for system updates...
[2026-10-20 20:07:12,279.279 INFO    ] 200
[2026-10-20 20:07:12,281.281 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:07:12,338.338 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:07:12,340.340 INFO    ] No update needed
[2026-10-20 20:07:12,343.343 INFO    ] Checking for camera pi updates...
[2026-10-20 20:07:12,376.376 INFO    ] 200
[2026-10-20 20:07:12,378.378 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:07:12,418.418 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:07:12,465.465 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:07:12,468.468 INFO    ] No camera update needed
[2026-10-20 20:07:12,470.470 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:07:12,473.473 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:07:12,478.478 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:07:12,483.483 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:07:14,522.522 INFO    ] ================================================
[2026-10-20 20:07:14,538.538 INFO    ] Launching Daemon at Tue Oct 20 20:07:14 IST 2026
[2026-10-20 20:07:14,549.549 INFO    ] ================================================
[2026-10-20 20:07:15,114.114 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:07:15
[2026-10-20 20:07:15,695.695 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:07:15,968.968 INFO    ] Initializing speech engine...
[2026-10-20 20:07:15,973.973 INFO    ] 2026-10-20 20:07:15
[2026-10-20 20:07:16,230.230 INFO    ] 2026-10-20 20:07:16
[2026-10-20 20:07:16,283.283 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:07:16,534.534 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:07:16,541.541 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:07:16,773.773 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:07:16,781.781 INFO    ] time= 20/10/2026 20:07:16
[2026-10-20 20:07:16,800.800 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:07:16,827.827 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:07:16,955.955 INFO    ] No existing commands found in stream
[2026-10-20 20:07:21,991.991 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:07:21,995.995 INFO    ] Waiting 1.83 seconds before fallback handling...
[2026-10-20 20:07:24,356.356 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:07:24,359.359 INFO    ] Checking for system updates...
[2026-10-20 20:07:24,396.396 INFO    ] 200
[2026-10-20 20:07:24,399.399 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:07:24,452.452 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:07:24,454.454 INFO    ] No update needed
[2026-10-20 20:07:24,457.457 INFO    ] Checking for camera pi updates...
[2026-10-20 20:07:24,494.494 INFO    ] 200
[2026-10-20 20:07:24,496.496 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:07:24,537.537 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:07:24,593.593 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:07:24,595.595 INFO    ] No camera update needed
[2026-10-20 20:07:24,597.597 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:07:24,600.600 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:07:24,605.605 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:07:24,610.610 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:07:26,651.651 INFO    ] ================================================
[2026-10-20 20:07:26,667.667 INFO    ] Launching Daemon at Tue Oct 20 20:07:26 IST 2026
[2026-10-20 20:07:26,678.678 INFO    ] ================================================
[2026-10-20 20:07:27,257.257 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:07:27
[2026-10-20 20:07:27,856.856 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:07:28,132.132 INFO    ] Initializing speech engine...
[2026-10-20 20:07:28,142.142 INFO    ] 2026-10-20 20:07:28
[2026-10-20 20:07:28,392.392 INFO    ] 2026-10-20 20:07:28
[2026-10-20 20:07:28,427.427 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:07:28,678.678 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:07:28,687.687 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:07:28,822.822 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:07:28,887.887 INFO    ] time= 20/10/2026 20:07:28
[2026-10-20 20:07:28,947.947 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:07:28,956.956 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:07:29,092.092 INFO    ] No existing commands found in stream
[2026-10-20 20:07:34,113.113 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:07:34,116.116 INFO    ] Waiting 2.52 seconds before fallback handling...
[2026-10-20 20:07:37,185.185 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:07:37,188.188 INFO    ] Checking for system updates...
[2026-10-20 20:07:37,224.224 INFO    ] 200
[2026-10-20 20:07:37,227.227 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:07:37,281.281 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:07:37,284.284 INFO    ] No update needed
[2026-10-20 20:07:37,286.286 INFO    ] Checking for camera pi updates...
[2026-10-20 20:07:37,320.320 INFO    ] 200
[2026-10-20 20:07:37,322.322 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:07:37,363.363 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:07:37,413.413 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:07:37,416.416 INFO    ] No camera update needed
[2026-10-20 20:07:37,418.418 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:07:37,421.421 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:07:37,426.426 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:07:37,431.431 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:07:39,470.470 INFO    ] ================================================
[2026-10-20 20:07:39,486.486 INFO    ] Launching Daemon at Tue Oct 20 20:07:39 IST 2026
[2026-10-20 20:07:39,497.497 INFO    ] ================================================
[2026-10-20 20:07:40,079.079 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:07:40
[2026-10-20 20:07:40,679.679 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:07:40,957.957 INFO    ] Initializing speech engine...
[2026-10-20 20:07:40,964.964 INFO    ] 2026-10-20 20:07:40
[2026-10-20 20:07:41,232.232 INFO    ] 2026-10-20 20:07:41
[2026-10-20 20:07:41,267.267 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:07:41,476.476 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:07:41,497.497 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:07:41,642.642 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:07:41,650.650 INFO    ] time= 20/10/2026 20:07:41
[2026-10-20 20:07:41,658.658 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:07:41,664.664 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:07:41,803.803 INFO    ] No existing commands found in stream
[2026-10-20 20:07:46,828.828 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:07:46,831.831 INFO    ] Waiting 3.92 seconds before fallback handling...
[2026-10-20 20:07:51,263.263 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:07:51,265.265 INFO    ] Checking for system updates...
[2026-10-20 20:07:51,301.301 INFO    ] 200
[2026-10-20 20:07:51,303.303 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:07:51,355.355 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:07:51,357.357 INFO    ] No update needed
[2026-10-20 20:07:51,360.360 INFO    ] Checking for camera pi updates...
[2026-10-20 20:07:51,396.396 INFO    ] 200
[2026-10-20 20:07:51,399.399 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:07:51,438.438 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:07:51,483.483 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:07:51,485.485 INFO    ] No camera update needed
[2026-10-20 20:07:51,488.488 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:07:51,490.490 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:07:51,495.495 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:07:51,500.500 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:07:53,540.540 INFO    ] ================================================
[2026-10-20 20:07:53,556.556 INFO    ] Launching Daemon at Tue Oct 20 20:07:53 IST 2026
[2026-10-20 20:07:53,566.566 INFO    ] ================================================
[2026-10-20 20:07:54,146.146 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:07:54
[2026-10-20 20:07:54,751.751 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:07:55,010.010 INFO    ] Initializing speech engine...
[2026-10-20 20:07:55,019.019 INFO    ] 2026-10-20 20:07:55
[2026-10-20 20:07:55,312.312 INFO    ] 2026-10-20 20:07:55
[2026-10-20 20:07:55,350.350 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:07:55,573.573 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:07:55,581.581 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:07:55,800.800 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:07:55,807.807 INFO    ] time= 20/10/2026 20:07:55
[2026-10-20 20:07:55,851.851 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:07:55,906.906 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:07:56,067.067 INFO    ] No existing commands found in stream
[2026-10-20 20:08:01,088.088 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:08:01,091.091 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-10-20 20:08:04,733.733 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:08:04,736.736 INFO    ] Checking for system updates...
[2026-10-20 20:08:04,771.771 INFO    ] 200
[2026-10-20 20:08:04,773.773 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:08:04,829.829 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:08:04,832.832 INFO    ] No update needed
[2026-10-20 20:08:04,834.834 INFO    ] Checking for camera pi updates...
[2026-10-20 20:08:04,871.871 INFO    ] 200
[2026-10-20 20:08:04,873.873 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:08:04,913.913 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:08:04,971.971 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:08:04,974.974 INFO    ] No camera update needed
[2026-10-20 20:08:04,977.977 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:08:04,980.980 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:08:04,986.986 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:08:04,991.991 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:08:07,032.032 INFO    ] ================================================
[2026-10-20 20:08:07,047.047 INFO    ] Launching Daemon at Tue Oct 20 20:08:07 IST 2026
[2026-10-20 20:08:07,058.058 INFO    ] ================================================
[2026-10-20 20:08:07,640.640 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:08:07
[2026-10-20 20:08:08,237.237 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:08:08,514.514 INFO    ] Initializing speech engine...
[2026-10-20 20:08:08,521.521 INFO    ] 2026-10-20 20:08:08
[2026-10-20 20:08:08,781.781 INFO    ] 2026-10-20 20:08:08
[2026-10-20 20:08:08,811.811 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:08:09,060.060 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:08:09,065.065 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:08:09,288.288 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:08:09,324.324 INFO    ] time= 20/10/2026 20:08:09
[2026-10-20 20:08:09,341.341 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:08:09,364.364 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:08:09,501.501 INFO    ] No existing commands found in stream
[2026-10-20 20:08:14,536.536 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:08:14,539.539 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-10-20 20:08:16,792.792 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:08:16,795.795 INFO    ] Checking for system updates...
[2026-10-20 20:08:16,831.831 INFO    ] 200
[2026-10-20 20:08:16,833.833 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:08:16,889.889 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:08:16,891.891 INFO    ] No update needed
[2026-10-20 20:08:16,894.894 INFO    ] Checking for camera pi updates...
[2026-10-20 20:08:16,930.930 INFO    ] 200
[2026-10-20 20:08:16,932.932 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:08:16,975.975 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:08:17,126.126 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:08:17,129.129 INFO    ] No camera update needed
[2026-10-20 20:08:17,131.131 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:08:17,134.134 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:08:17,139.139 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:08:17,144.144 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:08:19,184.184 INFO    ] ================================================
[2026-10-20 20:08:19,200.200 INFO    ] Launching Daemon at Tue Oct 20 20:08:19 IST 2026
[2026-10-20 20:08:19,211.211 INFO    ] ================================================
[2026-10-20 20:08:19,795.795 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:08:19
[2026-10-20 20:08:20,396.396 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:08:20,674.674 INFO    ] Initializing speech engine...
[2026-10-20 20:08:20,683.683 INFO    ] 2026-10-20 20:08:20
[2026-10-20 20:08:20,942.942 INFO    ] 2026-10-20 20:08:20
[2026-10-20 20:08:20,993.993 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:08:21,216.216 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:08:21,225.225 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:08:21,359.359 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:08:21,424.424 INFO    ] time= 20/10/2026 20:08:21
[2026-10-20 20:08:21,486.486 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:08:21,492.492 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:08:21,638.638 INFO    ] No existing commands found in stream
[2026-10-20 20:08:26,653.653 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:08:26,656.656 INFO    ] Waiting 3.53 seconds before fallback handling...
[2026-10-20 20:08:30,703.703 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:08:30,706.706 INFO    ] Checking for system updates...
[2026-10-20 20:08:30,742.742 INFO    ] 200
[2026-10-20 20:08:30,745.745 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:08:30,803.803 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:08:30,805.805 INFO    ] No update needed
[2026-10-20 20:08:30,808.808 INFO    ] Checking for camera pi updates...
[2026-10-20 20:08:30,846.846 INFO    ] 200
[2026-10-20 20:08:30,849.849 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:08:30,890.890 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:08:30,935.935 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:08:30,938.938 INFO    ] No camera update needed
[2026-10-20 20:08:30,941.941 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:08:30,943.943 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:08:30,949.949 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:08:30,955.955 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:08:33,999.999 INFO    ] ================================================
[2026-10-20 20:08:33,015.015 INFO    ] Launching Daemon at Tue Oct 20 20:08:33 IST 2026
[2026-10-20 20:08:33,026.026 INFO    ] ================================================
[2026-10-20 20:08:33,609.609 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:08:33
[2026-10-20 20:08:34,208.208 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:08:34,482.482 INFO    ] Initializing speech engine...
[2026-10-20 20:08:34,491.491 INFO    ] 2026-10-20 20:08:34
[2026-10-20 20:08:34,754.754 INFO    ] 2026-10-20 20:08:34
[2026-10-20 20:08:34,807.807 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:08:35,031.031 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:08:35,036.036 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:08:35,169.169 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:08:35,229.229 INFO    ] time= 20/10/2026 20:08:35
[2026-10-20 20:08:35,284.284 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:08:35,299.299 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:08:35,448.448 INFO    ] No existing commands found in stream
[2026-10-20 20:08:40,463.463 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:08:40,465.465 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-10-20 20:08:41,054.054 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:08:41,057.057 INFO    ] Checking for system updates...
[2026-10-20 20:08:41,095.095 INFO    ] 200
[2026-10-20 20:08:41,097.097 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:08:41,156.156 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:08:41,159.159 INFO    ] No update needed
[2026-10-20 20:08:41,162.162 INFO    ] Checking for camera pi updates...
[2026-10-20 20:08:41,195.195 INFO    ] 200
[2026-10-20 20:08:41,198.198 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:08:41,240.240 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:08:41,298.298 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:08:41,301.301 INFO    ] No camera update needed
[2026-10-20 20:08:41,304.304 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:08:41,306.306 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:08:41,312.312 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:08:41,318.318 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:08:43,360.360 INFO    ] ================================================
[2026-10-20 20:08:43,375.375 INFO    ] Launching Daemon at Tue Oct 20 20:08:43 IST 2026
[2026-10-20 20:08:43,385.385 INFO    ] ================================================
[2026-10-20 20:08:43,948.948 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:08:43
[2026-10-20 20:08:44,530.530 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:08:44,786.786 INFO    ] Initializing speech engine...
[2026-10-20 20:08:44,800.800 INFO    ] 2026-10-20 20:08:44
[2026-10-20 20:08:45,082.082 INFO    ] 2026-10-20 20:08:45
[2026-10-20 20:08:45,119.119 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:08:45,336.336 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:08:45,345.345 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:08:45,488.488 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:08:45,495.495 INFO    ] time= 20/10/2026 20:08:45
[2026-10-20 20:08:45,501.501 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:08:45,539.539 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:08:45,656.656 INFO    ] No existing commands found in stream
[2026-10-20 20:08:50,681.681 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:08:50,684.684 INFO    ] Waiting 1.79 seconds before fallback handling...
[2026-10-20 20:08:52,988.988 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:08:52,991.991 INFO    ] Checking for system updates...
[2026-10-20 20:08:53,025.025 INFO    ] 200
[2026-10-20 20:08:53,028.028 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:08:53,079.079 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:08:53,081.081 INFO    ] No update needed
[2026-10-20 20:08:53,084.084 INFO    ] Checking for camera pi updates...
[2026-10-20 20:08:53,118.118 INFO    ] 200
[2026-10-20 20:08:53,120.120 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:08:53,164.164 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:08:53,212.212 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:08:53,214.214 INFO    ] No camera update needed
[2026-10-20 20:08:53,217.217 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:08:53,219.219 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:08:53,224.224 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:08:53,229.229 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:08:55,269.269 INFO    ] ================================================
[2026-10-20 20:08:55,285.285 INFO    ] Launching Daemon at Tue Oct 20 20:08:55 IST 2026
[2026-10-20 20:08:55,296.296 INFO    ] ================================================
[2026-10-20 20:08:55,937.937 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:08:55
[2026-10-20 20:08:56,597.597 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:08:56,897.897 INFO    ] Initializing speech engine...
[2026-10-20 20:08:56,909.909 INFO    ] 2026-10-20 20:08:56
[2026-10-20 20:08:57,186.186 INFO    ] 2026-10-20 20:08:57
[2026-10-20 20:08:57,231.231 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:08:57,515.515 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:08:57,519.519 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:08:57,712.712 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:08:57,719.719 INFO    ] time= 20/10/2026 20:08:57
[2026-10-20 20:08:57,738.738 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:08:57,767.767 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:08:57,887.887 INFO    ] No existing commands found in stream
[2026-10-20 20:09:02,918.918 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:09:02,923.923 INFO    ] Waiting 0.46 seconds before fallback handling...
[2026-10-20 20:09:03,930.930 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:09:03,933.933 INFO    ] Checking for system updates...
[2026-10-20 20:09:03,970.970 INFO    ] 200
[2026-10-20 20:09:03,973.973 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:09:04,026.026 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:09:04,029.029 INFO    ] No update needed
[2026-10-20 20:09:04,032.032 INFO    ] Checking for camera pi updates...
[2026-10-20 20:09:04,067.067 INFO    ] 200
[2026-10-20 20:09:04,070.070 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:09:04,113.113 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:09:04,159.159 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:09:04,162.162 INFO    ] No camera update needed
[2026-10-20 20:09:04,165.165 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:09:04,167.167 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:09:04,173.173 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:09:04,179.179 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:09:06,219.219 INFO    ] ================================================
[2026-10-20 20:09:06,234.234 INFO    ] Launching Daemon at Tue Oct 20 20:09:06 IST 2026
[2026-10-20 20:09:06,246.246 INFO    ] ================================================
[2026-10-20 20:09:06,841.841 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:09:06
[2026-10-20 20:09:07,447.447 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:09:07,721.721 INFO    ] Initializing speech engine...
[2026-10-20 20:09:07,731.731 INFO    ] 2026-10-20 20:09:07
[2026-10-20 20:09:07,984.984 INFO    ] 2026-10-20 20:09:07
[2026-10-20 20:09:08,020.020 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:09:08,270.270 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:09:08,275.275 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:09:08,503.503 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:09:08,534.534 INFO    ] time= 20/10/2026 20:09:08
[2026-10-20 20:09:08,540.540 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:09:08,560.560 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:09:08,689.689 INFO    ] No existing commands found in stream
[2026-10-20 20:09:13,708.708 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:09:13,711.711 INFO    ] Waiting 0.99 seconds before fallback handling...
[2026-10-20 20:09:15,186.186 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:09:15,189.189 INFO    ] Checking for system updates...
[2026-10-20 20:09:15,224.224 INFO    ] 200
[2026-10-20 20:09:15,227.227 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:09:15,278.278 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:09:15,281.281 INFO    ] No update needed
[2026-10-20 20:09:15,283.283 INFO    ] Checking for camera pi updates...
[2026-10-20 20:09:15,316.316 INFO    ] 200
[2026-10-20 20:09:15,319.319 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:09:15,366.366 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:09:15,422.422 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:09:15,424.424 INFO    ] No camera update needed
[2026-10-20 20:09:15,426.426 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:09:15,429.429 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:09:15,434.434 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:09:15,439.439 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:09:17,481.481 INFO    ] ================================================
[2026-10-20 20:09:17,496.496 INFO    ] Launching Daemon at Tue Oct 20 20:09:17 IST 2026
[2026-10-20 20:09:17,507.507 INFO    ] ================================================
[2026-10-20 20:09:18,092.092 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:09:18
[2026-10-20 20:09:18,695.695 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:09:18,974.974 INFO    ] Initializing speech engine...
[2026-10-20 20:09:18,982.982 INFO    ] 2026-10-20 20:09:18
[2026-10-20 20:09:19,242.242 INFO    ] 2026-10-20 20:09:19
[2026-10-20 20:09:19,273.273 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:09:19,517.517 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:09:19,526.526 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:09:19,758.758 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:09:19,785.785 INFO    ] time= 20/10/2026 20:09:19
[2026-10-20 20:09:19,791.791 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:09:19,809.809 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:09:19,941.941 INFO    ] No existing commands found in stream
[2026-10-20 20:09:24,951.951 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:09:24,954.954 INFO    ] Waiting 2.58 seconds before fallback handling...
[2026-10-20 20:09:28,032.032 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:09:28,035.035 INFO    ] Checking for system updates...
[2026-10-20 20:09:28,074.074 INFO    ] 200
[2026-10-20 20:09:28,076.076 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:09:28,128.128 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:09:28,131.131 INFO    ] No update needed
[2026-10-20 20:09:28,133.133 INFO    ] Checking for camera pi updates...
[2026-10-20 20:09:28,173.173 INFO    ] 200
[2026-10-20 20:09:28,175.175 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:09:28,215.215 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:09:28,269.269 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:09:28,271.271 INFO    ] No camera update needed
[2026-10-20 20:09:28,274.274 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:09:28,276.276 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:09:28,282.282 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:09:28,287.287 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:09:30,328.328 INFO    ] ================================================
[2026-10-20 20:09:30,343.343 INFO    ] Launching Daemon at Tue Oct 20 20:09:30 IST 2026
[2026-10-20 20:09:30,353.353 INFO    ] ================================================
[2026-10-20 20:09:30,923.923 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:09:30
[2026-10-20 20:09:31,504.504 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:09:31,790.790 INFO    ] Initializing speech engine...
[2026-10-20 20:09:31,806.806 INFO    ] 2026-10-20 20:09:31
[2026-10-20 20:09:32,095.095 INFO    ] 2026-10-20 20:09:32
[2026-10-20 20:09:32,133.133 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:09:32,346.346 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:09:32,364.364 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:09:32,529.529 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:09:32,543.543 INFO    ] time= 20/10/2026 20:09:32
[2026-10-20 20:09:32,547.547 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:09:32,554.554 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:09:32,632.632 INFO    ] No existing commands found in stream
[2026-10-20 20:09:37,652.652 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:09:37,654.654 INFO    ] Waiting 3.68 seconds before fallback handling...
[2026-10-20 20:09:41,836.836 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:09:41,838.838 INFO    ] Checking for system updates...
[2026-10-20 20:09:41,873.873 INFO    ] 200
[2026-10-20 20:09:41,876.876 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:09:41,931.931 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:09:41,933.933 INFO    ] No update needed
[2026-10-20 20:09:41,935.935 INFO    ] Checking for camera pi updates...
[2026-10-20 20:09:41,969.969 INFO    ] 200
[2026-10-20 20:09:41,971.971 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:09:42,012.012 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:09:42,060.060 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:09:42,063.063 INFO    ] No camera update needed
[2026-10-20 20:09:42,065.065 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:09:42,067.067 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:09:42,073.073 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:09:42,077.077 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:09:44,119.119 INFO    ] ================================================
[2026-10-20 20:09:44,134.134 INFO    ] Launching Daemon at Tue Oct 20 20:09:44 IST 2026
[2026-10-20 20:09:44,144.144 INFO    ] ================================================
[2026-10-20 20:09:44,715.715 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:09:44
[2026-10-20 20:09:45,299.299 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:09:45,553.553 INFO    ] Initializing speech engine...
[2026-10-20 20:09:45,561.561 INFO    ] 2026-10-20 20:09:45
[2026-10-20 20:09:45,851.851 INFO    ] 2026-10-20 20:09:45
[2026-10-20 20:09:45,888.888 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:09:46,109.109 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:09:46,116.116 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:09:46,263.263 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:09:46,273.273 INFO    ] time= 20/10/2026 20:09:46
[2026-10-20 20:09:46,314.314 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:09:46,345.345 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:09:46,488.488 INFO    ] No existing commands found in stream
[2026-10-20 20:09:51,499.499 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:09:51,502.502 INFO    ] Waiting 2.25 seconds before fallback handling...
[2026-10-20 20:09:54,237.237 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:09:54,239.239 INFO    ] Checking for system updates...
[2026-10-20 20:09:54,275.275 INFO    ] 200
[2026-10-20 20:09:54,277.277 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:09:54,328.328 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:09:54,331.331 INFO    ] No update needed
[2026-10-20 20:09:54,333.333 INFO    ] Checking for camera pi updates...
[2026-10-20 20:09:54,366.366 INFO    ] 200
[2026-10-20 20:09:54,368.368 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:09:54,408.408 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:09:54,457.457 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:09:54,459.459 INFO    ] No camera update needed
[2026-10-20 20:09:54,461.461 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:09:54,464.464 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:09:54,469.469 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:09:54,474.474 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:09:56,513.513 INFO    ] ================================================
[2026-10-20 20:09:56,528.528 INFO    ] Launching Daemon at Tue Oct 20 20:09:56 IST 2026
[2026-10-20 20:09:56,538.538 INFO    ] ================================================
[2026-10-20 20:09:57,112.112 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:09:57
[2026-10-20 20:09:57,712.712 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:09:57,991.991 INFO    ] Initializing speech engine...
[2026-10-20 20:09:57,997.997 INFO    ] 2026-10-20 20:09:57
[2026-10-20 20:09:58,244.244 INFO    ] 2026-10-20 20:09:58
[2026-10-20 20:09:58,279.279 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:09:58,535.535 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:09:58,539.539 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:09:58,740.740 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:09:58,795.795 INFO    ] time= 20/10/2026 20:09:58
[2026-10-20 20:09:58,805.805 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:09:58,825.825 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:09:58,954.954 INFO    ] No existing commands found in stream
[2026-10-20 20:10:03,966.966 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:10:03,969.969 INFO    ] Waiting 3.88 seconds before fallback handling...
[2026-10-20 20:10:08,376.376 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:10:08,379.379 INFO    ] Checking for system updates...
[2026-10-20 20:10:08,415.415 INFO    ] 200
[2026-10-20 20:10:08,417.417 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:10:08,469.469 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:10:08,472.472 INFO    ] No update needed
[2026-10-20 20:10:08,474.474 INFO    ] Checking for camera pi updates...
[2026-10-20 20:10:08,511.511 INFO    ] 200
[2026-10-20 20:10:08,514.514 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:10:08,554.554 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:10:08,585.585 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:10:08,588.588 INFO    ] No camera update needed
[2026-10-20 20:10:08,590.590 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:10:08,592.592 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:10:08,598.598 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:10:08,603.603 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:10:10,644.644 INFO    ] ================================================
[2026-10-20 20:10:10,660.660 INFO    ] Launching Daemon at Tue Oct 20 20:10:10 IST 2026
[2026-10-20 20:10:10,675.675 INFO    ] ================================================
[2026-10-20 20:10:11,244.244 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:10:11
[2026-10-20 20:10:11,841.841 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:10:12,116.116 INFO    ] Initializing speech engine...
[2026-10-20 20:10:12,123.123 INFO    ] 2026-10-20 20:10:12
[2026-10-20 20:10:12,380.380 INFO    ] 2026-10-20 20:10:12
[2026-10-20 20:10:12,414.414 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:10:12,658.658 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:10:12,671.671 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:10:12,895.895 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:10:12,932.932 INFO    ] time= 20/10/2026 20:10:12
[2026-10-20 20:10:12,947.947 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:10:12,956.956 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:10:13,063.063 INFO    ] No existing commands found in stream
[2026-10-20 20:10:18,073.073 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:10:18,076.076 INFO    ] Waiting 1.70 seconds before fallback handling...
[2026-10-20 20:10:20,299.299 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:10:20,302.302 INFO    ] Checking for system updates...
[2026-10-20 20:10:20,339.339 INFO    ] 200
[2026-10-20 20:10:20,341.341 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:10:20,394.394 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:10:20,397.397 INFO    ] No update needed
[2026-10-20 20:10:20,399.399 INFO    ] Checking for camera pi updates...
[2026-10-20 20:10:20,433.433 INFO    ] 200
[2026-10-20 20:10:20,435.435 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:10:20,475.475 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:10:20,624.624 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:10:20,627.627 INFO    ] No camera update needed
[2026-10-20 20:10:20,629.629 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:10:20,631.631 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:10:20,637.637 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:10:20,642.642 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:10:22,683.683 INFO    ] ================================================
[2026-10-20 20:10:22,699.699 INFO    ] Launching Daemon at Tue Oct 20 20:10:22 IST 2026
[2026-10-20 20:10:22,710.710 INFO    ] ================================================
[2026-10-20 20:10:23,278.278 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:10:23
[2026-10-20 20:10:23,862.862 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:10:24,116.116 INFO    ] Initializing speech engine...
[2026-10-20 20:10:24,139.139 INFO    ] 2026-10-20 20:10:24
[2026-10-20 20:10:24,392.392 INFO    ] 2026-10-20 20:10:24
[2026-10-20 20:10:24,427.427 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:10:24,629.629 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:10:24,689.689 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:10:24,853.853 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:10:24,912.912 INFO    ] time= 20/10/2026 20:10:24
[2026-10-20 20:10:24,963.963 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:10:24,969.969 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:10:25,112.112 INFO    ] No existing commands found in stream
[2026-10-20 20:10:30,129.129 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:10:30,132.132 INFO    ] Waiting 2.68 seconds before fallback handling...
[2026-10-20 20:10:33,311.311 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:10:33,314.314 INFO    ] Checking for system updates...
[2026-10-20 20:10:33,349.349 INFO    ] 200
[2026-10-20 20:10:33,351.351 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:10:33,403.403 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:10:33,405.405 INFO    ] No update needed
[2026-10-20 20:10:33,408.408 INFO    ] Checking for camera pi updates...
[2026-10-20 20:10:33,441.441 INFO    ] 200
[2026-10-20 20:10:33,444.444 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:10:33,489.489 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:10:33,540.540 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:10:33,542.542 INFO    ] No camera update needed
[2026-10-20 20:10:33,544.544 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:10:33,547.547 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:10:33,552.552 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:10:33,557.557 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:10:35,598.598 INFO    ] ================================================
[2026-10-20 20:10:35,613.613 INFO    ] Launching Daemon at Tue Oct 20 20:10:35 IST 2026
[2026-10-20 20:10:35,624.624 INFO    ] ================================================
[2026-10-20 20:10:36,189.189 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:10:36
[2026-10-20 20:10:36,783.783 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:10:37,088.088 INFO    ] Initializing speech engine...
[2026-10-20 20:10:37,099.099 INFO    ] 2026-10-20 20:10:37
[2026-10-20 20:10:37,389.389 INFO    ] 2026-10-20 20:10:37
[2026-10-20 20:10:37,434.434 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:10:37,661.661 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:10:37,671.671 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:10:37,811.811 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:10:37,876.876 INFO    ] time= 20/10/2026 20:10:37
[2026-10-20 20:10:37,943.943 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:10:37,950.950 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:10:38,106.106 INFO    ] No existing commands found in stream
[2026-10-20 20:10:43,132.132 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:10:43,136.136 INFO    ] Waiting 1.35 seconds before fallback handling...
[2026-10-20 20:10:44,994.994 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:10:44,997.997 INFO    ] Checking for system updates...
[2026-10-20 20:10:45,034.034 INFO    ] 200
[2026-10-20 20:10:45,037.037 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:10:45,090.090 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:10:45,093.093 INFO    ] No update needed
[2026-10-20 20:10:45,096.096 INFO    ] Checking for camera pi updates...
[2026-10-20 20:10:45,130.130 INFO    ] 200
[2026-10-20 20:10:45,132.132 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:10:45,185.185 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:10:45,238.238 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:10:45,241.241 INFO    ] No camera update needed
[2026-10-20 20:10:45,243.243 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:10:45,245.245 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:10:45,251.251 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:10:45,256.256 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:10:47,295.295 INFO    ] ================================================
[2026-10-20 20:10:47,310.310 INFO    ] Launching Daemon at Tue Oct 20 20:10:47 IST 2026
[2026-10-20 20:10:47,320.320 INFO    ] ================================================
[2026-10-20 20:10:47,903.903 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:10:47
[2026-10-20 20:10:48,503.503 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:10:48,776.776 INFO    ] Initializing speech engine...
[2026-10-20 20:10:48,785.785 INFO    ] 2026-10-20 20:10:48
[2026-10-20 20:10:49,046.046 INFO    ] 2026-10-20 20:10:49
[2026-10-20 20:10:49,076.076 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:10:49,323.323 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:10:49,329.329 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:10:49,529.529 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:10:49,585.585 INFO    ] time= 20/10/2026 20:10:49
[2026-10-20 20:10:49,592.592 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:10:49,607.607 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:10:49,741.741 INFO    ] No existing commands found in stream
[2026-10-20 20:10:54,764.764 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:10:54,767.767 INFO    ] Waiting 0.16 seconds before fallback handling...
[2026-10-20 20:10:55,433.433 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:10:55,435.435 INFO    ] Checking for system updates...
[2026-10-20 20:10:55,472.472 INFO    ] 200
[2026-10-20 20:10:55,474.474 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:10:55,535.535 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:10:55,537.537 INFO    ] No update needed
[2026-10-20 20:10:55,540.540 INFO    ] Checking for camera pi updates...
[2026-10-20 20:10:55,574.574 INFO    ] 200
[2026-10-20 20:10:55,577.577 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:10:55,617.617 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:10:55,663.663 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:10:55,665.665 INFO    ] No camera update needed
[2026-10-20 20:10:55,668.668 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:10:55,670.670 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:10:55,676.676 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:10:55,681.681 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:10:57,720.720 INFO    ] ================================================
[2026-10-20 20:10:57,736.736 INFO    ] Launching Daemon at Tue Oct 20 20:10:57 IST 2026
[2026-10-20 20:10:57,746.746 INFO    ] ================================================
[2026-10-20 20:10:58,386.386 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:10:58
[2026-10-20 20:10:59,060.060 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:10:59,362.362 INFO    ] Initializing speech engine...
[2026-10-20 20:10:59,370.370 INFO    ] 2026-10-20 20:10:59
[2026-10-20 20:10:59,661.661 INFO    ] 2026-10-20 20:10:59
[2026-10-20 20:10:59,700.700 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:10:59,982.982 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:10:59,990.990 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:11:00,184.184 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:11:00,192.192 INFO    ] time= 20/10/2026 20:11:00
[2026-10-20 20:11:00,214.214 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:11:00,244.244 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:11:00,361.361 INFO    ] No existing commands found in stream
[2026-10-20 20:11:05,387.387 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:11:05,390.390 INFO    ] Waiting 1.19 seconds before fallback handling...
[2026-10-20 20:11:07,115.115 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 20:11:07,118.118 INFO    ] Checking for system updates...
[2026-10-20 20:11:07,155.155 INFO    ] 200
[2026-10-20 20:11:07,157.157 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:11:07,211.211 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:11:07,214.214 INFO    ] No update needed
[2026-10-20 20:11:07,216.216 INFO    ] Checking for camera pi updates...
[2026-10-20 20:11:07,254.254 INFO    ] 200
[2026-10-20 20:11:07,256.256 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:11:07,296.296 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:11:07,343.343 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:11:07,345.345 INFO    ] No camera update needed
[2026-10-20 20:11:07,347.347 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:11:07,350.350 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:11:07,355.355 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:11:07,360.360 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:11:09,400.400 INFO    ] ================================================
[2026-10-20 20:11:09,414.414 INFO    ] Launching Daemon at Tue Oct 20 20:11:09 IST 2026
[2026-10-20 20:11:09,425.425 INFO    ] ================================================
[2026-10-20 20:11:10,063.063 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:11:10
[2026-10-20 20:11:10,748.748 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:11:11,068.068 INFO    ] Initializing speech engine...
[2026-10-20 20:11:11,077.077 INFO    ] 2026-10-20 20:11:11
[2026-10-20 20:11:11,360.360 INFO    ] 2026-10-20 20:11:11
[2026-10-20 20:11:11,399.399 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:11:11,626.626 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:11:11,631.631 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:11:11,873.873 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:11:11,890.890 INFO    ] time= 20/10/2026 20:11:11
[2026-10-20 20:11:11,912.912 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:11:11,940.940 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:11:12,090.090 INFO    ] No existing commands found in stream
[2026-10-20 20:11:17,126.126 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:11:17,130.130 INFO    ] Waiting 2.56 seconds before fallback handling...
[2026-10-20 20:11:20,264.264 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:11:20,267.267 INFO    ] Checking for system updates...
[2026-10-20 20:11:20,309.309 INFO    ] 200
[2026-10-20 20:11:20,312.312 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:11:20,370.370 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:11:20,373.373 INFO    ] No update needed
[2026-10-20 20:11:20,376.376 INFO    ] Checking for camera pi updates...
[2026-10-20 20:11:20,415.415 INFO    ] 200
[2026-10-20 20:11:20,417.417 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:11:20,471.471 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:11:20,521.521 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:11:20,524.524 INFO    ] No camera update needed
[2026-10-20 20:11:20,527.527 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:11:20,530.530 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:11:20,537.537 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:11:20,543.543 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:11:22,584.584 INFO    ] ================================================
[2026-10-20 20:11:22,600.600 INFO    ] Launching Daemon at Tue Oct 20 20:11:22 IST 2026
[2026-10-20 20:11:22,611.611 INFO    ] ================================================
[2026-10-20 20:11:23,279.279 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:11:23
[2026-10-20 20:11:23,964.964 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:11:24,271.271 INFO    ] Initializing speech engine...
[2026-10-20 20:11:24,285.285 INFO    ] 2026-10-20 20:11:24
[2026-10-20 20:11:24,564.564 INFO    ] 2026-10-20 20:11:24
[2026-10-20 20:11:24,610.610 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:11:24,869.869 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:11:24,903.903 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:11:25,102.102 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:11:25,115.115 INFO    ] time= 20/10/2026 20:11:25
[2026-10-20 20:11:25,134.134 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:11:25,147.147 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:11:25,300.300 INFO    ] No existing commands found in stream
[2026-10-20 20:11:30,331.331 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:11:30,334.334 INFO    ] Waiting 0.60 seconds before fallback handling...
[2026-10-20 20:11:31,448.448 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:11:31,451.451 INFO    ] Checking for system updates...
[2026-10-20 20:11:31,489.489 INFO    ] 200
[2026-10-20 20:11:31,492.492 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:11:31,545.545 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:11:31,547.547 INFO    ] No update needed
[2026-10-20 20:11:31,550.550 INFO    ] Checking for camera pi updates...
[2026-10-20 20:11:31,584.584 INFO    ] 200
[2026-10-20 20:11:31,587.587 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:11:31,628.628 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:11:31,671.671 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:11:31,674.674 INFO    ] No camera update needed
[2026-10-20 20:11:31,676.676 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:11:31,679.679 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:11:31,686.686 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:11:31,692.692 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:11:33,736.736 INFO    ] ================================================
[2026-10-20 20:11:33,751.751 INFO    ] Launching Daemon at Tue Oct 20 20:11:33 IST 2026
[2026-10-20 20:11:33,762.762 INFO    ] ================================================
[2026-10-20 20:11:34,417.417 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:11:34
[2026-10-20 20:11:35,089.089 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:11:35,389.389 INFO    ] Initializing speech engine...
[2026-10-20 20:11:35,404.404 INFO    ] 2026-10-20 20:11:35
[2026-10-20 20:11:35,684.684 INFO    ] 2026-10-20 20:11:35
[2026-10-20 20:11:35,730.730 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:11:36,013.013 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:11:36,020.020 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:11:36,195.195 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:11:36,223.223 INFO    ] time= 20/10/2026 20:11:36
[2026-10-20 20:11:36,242.242 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:11:36,271.271 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:11:36,379.379 INFO    ] No existing commands found in stream
[2026-10-20 20:11:41,414.414 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:11:41,417.417 INFO    ] Waiting 3.47 seconds before fallback handling...
[2026-10-20 20:11:45,413.413 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:11:45,416.416 INFO    ] Checking for system updates...
[2026-10-20 20:11:45,453.453 INFO    ] 200
[2026-10-20 20:11:45,456.456 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:11:45,516.516 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:11:45,519.519 INFO    ] No update needed
[2026-10-20 20:11:45,522.522 INFO    ] Checking for camera pi updates...
[2026-10-20 20:11:45,560.560 INFO    ] 200
[2026-10-20 20:11:45,563.563 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:11:45,604.604 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:11:45,660.660 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:11:45,663.663 INFO    ] No camera update needed
[2026-10-20 20:11:45,665.665 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:11:45,668.668 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:11:45,674.674 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:11:45,680.680 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:11:47,720.720 INFO    ] ================================================
[2026-10-20 20:11:47,737.737 INFO    ] Launching Daemon at Tue Oct 20 20:11:47 IST 2026
[2026-10-20 20:11:47,747.747 INFO    ] ================================================
[2026-10-20 20:11:48,332.332 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:11:48
[2026-10-20 20:11:48,935.935 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:11:49,214.214 INFO    ] Initializing speech engine...
[2026-10-20 20:11:49,223.223 INFO    ] 2026-10-20 20:11:49
[2026-10-20 20:11:49,482.482 INFO    ] 2026-10-20 20:11:49
[2026-10-20 20:11:49,535.535 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:11:49,761.761 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:11:49,766.766 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:11:49,983.983 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:11:50,022.022 INFO    ] time= 20/10/2026 20:11:49
[2026-10-20 20:11:50,029.029 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:11:50,047.047 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:11:50,179.179 INFO    ] No existing commands found in stream
[2026-10-20 20:11:55,201.201 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:11:55,204.204 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-10-20 20:11:59,099.099 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 20:11:59,102.102 INFO    ] Checking for system updates...
[2026-10-20 20:11:59,137.137 INFO    ] 200
[2026-10-20 20:11:59,140.140 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:11:59,198.198 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:11:59,201.201 INFO    ] No update needed
[2026-10-20 20:11:59,203.203 INFO    ] Checking for camera pi updates...
[2026-10-20 20:11:59,236.236 INFO    ] 200
[2026-10-20 20:11:59,239.239 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:11:59,285.285 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:11:59,338.338 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:11:59,341.341 INFO    ] No camera update needed
[2026-10-20 20:11:59,344.344 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:11:59,347.347 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:11:59,353.353 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:11:59,359.359 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:12:01,398.398 INFO    ] ================================================
[2026-10-20 20:12:01,414.414 INFO    ] Launching Daemon at Tue Oct 20 20:12:01 IST 2026
[2026-10-20 20:12:01,425.425 INFO    ] ================================================
[2026-10-20 20:12:02,073.073 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:12:02
[2026-10-20 20:12:02,857.857 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:12:03,199.199 INFO    ] Initializing speech engine...
[2026-10-20 20:12:03,208.208 INFO    ] 2026-10-20 20:12:03
[2026-10-20 20:12:03,490.490 INFO    ] 2026-10-20 20:12:03
[2026-10-20 20:12:03,533.533 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:12:03,755.755 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:12:03,773.773 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:12:03,937.937 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:12:03,949.949 INFO    ] time= 20/10/2026 20:12:03
[2026-10-20 20:12:03,978.978 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:12:04,019.019 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:12:04,147.147 INFO    ] No existing commands found in stream
[2026-10-20 20:12:09,160.160 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:12:09,163.163 INFO    ] Waiting 3.45 seconds before fallback handling...
[2026-10-20 20:12:13,175.175 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 20:12:13,178.178 INFO    ] Checking for system updates...
[2026-10-20 20:12:13,216.216 INFO    ] 200
[2026-10-20 20:12:13,219.219 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:12:13,277.277 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:12:13,280.280 INFO    ] No update needed
[2026-10-20 20:12:13,283.283 INFO    ] Checking for camera pi updates...
[2026-10-20 20:12:13,316.316 INFO    ] 200
[2026-10-20 20:12:13,319.319 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:12:13,368.368 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:12:13,418.418 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:12:13,421.421 INFO    ] No camera update needed
[2026-10-20 20:12:13,423.423 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:12:13,426.426 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:12:13,432.432 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:12:13,438.438 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:12:15,480.480 INFO    ] ================================================
[2026-10-20 20:12:15,496.496 INFO    ] Launching Daemon at Tue Oct 20 20:12:15 IST 2026
[2026-10-20 20:12:15,508.508 INFO    ] ================================================
[2026-10-20 20:12:16,089.089 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:12:16
[2026-10-20 20:12:16,687.687 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:12:16,958.958 INFO    ] Initializing speech engine...
[2026-10-20 20:12:16,978.978 INFO    ] 2026-10-20 20:12:16
[2026-10-20 20:12:17,244.244 INFO    ] 2026-10-20 20:12:17
[2026-10-20 20:12:17,290.290 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:12:17,562.562 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:12:17,575.575 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:12:17,772.772 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:12:17,791.791 INFO    ] time= 20/10/2026 20:12:17
[2026-10-20 20:12:17,819.819 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:12:17,827.827 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:12:17,929.929 INFO    ] No existing commands found in stream
[2026-10-20 20:12:22,957.957 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:12:22,960.960 INFO    ] Waiting 0.40 seconds before fallback handling...
[2026-10-20 20:12:23,859.859 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:12:23,861.861 INFO    ] Checking for system updates...
[2026-10-20 20:12:23,897.897 INFO    ] 200
[2026-10-20 20:12:23,900.900 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:12:23,955.955 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:12:23,957.957 INFO    ] No update needed
[2026-10-20 20:12:23,960.960 INFO    ] Checking for camera pi updates...
[2026-10-20 20:12:23,994.994 INFO    ] 200
[2026-10-20 20:12:23,997.997 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:12:24,037.037 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:12:24,180.180 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:12:24,183.183 INFO    ] No camera update needed
[2026-10-20 20:12:24,185.185 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:12:24,188.188 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:12:24,194.194 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:12:24,199.199 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:12:26,241.241 INFO    ] ================================================
[2026-10-20 20:12:26,257.257 INFO    ] Launching Daemon at Tue Oct 20 20:12:26 IST 2026
[2026-10-20 20:12:26,268.268 INFO    ] ================================================
[2026-10-20 20:12:26,836.836 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:12:26
[2026-10-20 20:12:27,419.419 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:12:27,686.686 INFO    ] Initializing speech engine...
[2026-10-20 20:12:27,695.695 INFO    ] 2026-10-20 20:12:27
[2026-10-20 20:12:27,954.954 INFO    ] 2026-10-20 20:12:27
[2026-10-20 20:12:27,984.984 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:12:28,229.229 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:12:28,238.238 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:12:28,378.378 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:12:28,447.447 INFO    ] time= 20/10/2026 20:12:28
[2026-10-20 20:12:28,499.499 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:12:28,505.505 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:12:28,631.631 INFO    ] No existing commands found in stream
[2026-10-20 20:12:33,655.655 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:12:33,658.658 INFO    ] Waiting 2.36 seconds before fallback handling...
[2026-10-20 20:12:36,539.539 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:12:36,542.542 INFO    ] Checking for system updates...
[2026-10-20 20:12:36,582.582 INFO    ] 200
[2026-10-20 20:12:36,584.584 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:12:36,636.636 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:12:36,638.638 INFO    ] No update needed
[2026-10-20 20:12:36,641.641 INFO    ] Checking for camera pi updates...
[2026-10-20 20:12:36,674.674 INFO    ] 200
[2026-10-20 20:12:36,676.676 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:12:36,716.716 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:12:36,759.759 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:12:36,761.761 INFO    ] No camera update needed
[2026-10-20 20:12:36,763.763 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:12:36,766.766 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:12:36,771.771 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:12:36,776.776 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:12:38,818.818 INFO    ] ================================================
[2026-10-20 20:12:38,833.833 INFO    ] Launching Daemon at Tue Oct 20 20:12:38 IST 2026
[2026-10-20 20:12:38,844.844 INFO    ] ================================================
[2026-10-20 20:12:39,499.499 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:12:39
[2026-10-20 20:12:40,174.174 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:12:40,478.478 INFO    ] Initializing speech engine...
[2026-10-20 20:12:40,492.492 INFO    ] 2026-10-20 20:12:40
[2026-10-20 20:12:40,805.805 INFO    ] 2026-10-20 20:12:40
[2026-10-20 20:12:40,888.888 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:12:41,104.104 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:12:41,111.111 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:12:41,298.298 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:12:41,321.321 INFO    ] time= 20/10/2026 20:12:41
[2026-10-20 20:12:41,333.333 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:12:41,360.360 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:12:41,489.489 INFO    ] No existing commands found in stream
[2026-10-20 20:12:46,520.520 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:12:46,523.523 INFO    ] Waiting 1.03 seconds before fallback handling...
[2026-10-20 20:12:48,117.117 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:12:48,120.120 INFO    ] Checking for system updates...
[2026-10-20 20:12:48,156.156 INFO    ] 200
[2026-10-20 20:12:48,159.159 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:12:48,210.210 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:12:48,213.213 INFO    ] No update needed
[2026-10-20 20:12:48,215.215 INFO    ] Checking for camera pi updates...
[2026-10-20 20:12:48,249.249 INFO    ] 200
[2026-10-20 20:12:48,252.252 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:12:48,292.292 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:12:48,342.342 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:12:48,344.344 INFO    ] No camera update needed
[2026-10-20 20:12:48,346.346 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:12:48,349.349 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:12:48,354.354 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:12:48,389.389 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:12:50,428.428 INFO    ] ================================================
[2026-10-20 20:12:50,443.443 INFO    ] Launching Daemon at Tue Oct 20 20:12:50 IST 2026
[2026-10-20 20:12:50,453.453 INFO    ] ================================================
[2026-10-20 20:12:51,019.019 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:12:51
[2026-10-20 20:12:51,603.603 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:12:51,873.873 INFO    ] Initializing speech engine...
[2026-10-20 20:12:51,891.891 INFO    ] 2026-10-20 20:12:51
[2026-10-20 20:12:52,163.163 INFO    ] 2026-10-20 20:12:52
[2026-10-20 20:12:52,201.201 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:12:52,401.401 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:12:52,414.414 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:12:52,574.574 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:12:52,581.581 INFO    ] time= 20/10/2026 20:12:52
[2026-10-20 20:12:52,590.590 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:12:52,597.597 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:12:52,740.740 INFO    ] No existing commands found in stream
[2026-10-20 20:12:57,765.765 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:12:57,768.768 INFO    ] Waiting 3.55 seconds before fallback handling...
[2026-10-20 20:13:01,828.828 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:13:01,830.830 INFO    ] Checking for system updates...
[2026-10-20 20:13:01,866.866 INFO    ] 200
[2026-10-20 20:13:01,868.868 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:13:01,928.928 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:13:01,930.930 INFO    ] No update needed
[2026-10-20 20:13:01,933.933 INFO    ] Checking for camera pi updates...
[2026-10-20 20:13:01,970.970 INFO    ] 200
[2026-10-20 20:13:01,972.972 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:13:02,041.041 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:13:02,092.092 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:13:02,097.097 INFO    ] No camera update needed
[2026-10-20 20:13:02,102.102 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:13:02,106.106 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:13:02,117.117 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:13:02,127.127 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:13:04,172.172 INFO    ] ================================================
[2026-10-20 20:13:04,187.187 INFO    ] Launching Daemon at Tue Oct 20 20:13:04 IST 2026
[2026-10-20 20:13:04,197.197 INFO    ] ================================================
[2026-10-20 20:13:04,782.782 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:13:04
[2026-10-20 20:13:05,367.367 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:13:05,618.618 INFO    ] Initializing speech engine...
[2026-10-20 20:13:05,626.626 INFO    ] 2026-10-20 20:13:05
[2026-10-20 20:13:05,927.927 INFO    ] 2026-10-20 20:13:05
[2026-10-20 20:13:05,961.961 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:13:06,122.122 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:13:06,160.160 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:13:06,324.324 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:13:06,347.347 INFO    ] time= 20/10/2026 20:13:06
[2026-10-20 20:13:06,355.355 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:13:06,360.360 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:13:06,440.440 INFO    ] No existing commands found in stream
[2026-10-20 20:13:11,465.465 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:13:11,468.468 INFO    ] Waiting 3.50 seconds before fallback handling...
[2026-10-20 20:13:15,483.483 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:13:15,485.485 INFO    ] Checking for system updates...
[2026-10-20 20:13:15,521.521 INFO    ] 200
[2026-10-20 20:13:15,524.524 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:13:15,575.575 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:13:15,578.578 INFO    ] No update needed
[2026-10-20 20:13:15,581.581 INFO    ] Checking for camera pi updates...
[2026-10-20 20:13:15,614.614 INFO    ] 200
[2026-10-20 20:13:15,617.617 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:13:15,657.657 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:13:15,704.704 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:13:15,706.706 INFO    ] No camera update needed
[2026-10-20 20:13:15,709.709 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:13:15,711.711 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:13:15,716.716 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:13:15,721.721 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:13:17,761.761 INFO    ] ================================================
[2026-10-20 20:13:17,776.776 INFO    ] Launching Daemon at Tue Oct 20 20:13:17 IST 2026
[2026-10-20 20:13:17,787.787 INFO    ] ================================================
[2026-10-20 20:13:18,361.361 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:13:18
[2026-10-20 20:13:18,954.954 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:13:19,226.226 INFO    ] Initializing speech engine...
[2026-10-20 20:13:19,235.235 INFO    ] 2026-10-20 20:13:19
[2026-10-20 20:13:19,495.495 INFO    ] 2026-10-20 20:13:19
[2026-10-20 20:13:19,526.526 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:13:19,771.771 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:13:19,780.780 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:13:19,920.920 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:13:19,990.990 INFO    ] time= 20/10/2026 20:13:19
[2026-10-20 20:13:20,042.042 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:13:20,049.049 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:13:20,192.192 INFO    ] No existing commands found in stream
[2026-10-20 20:13:25,205.205 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:13:25,208.208 INFO    ] Waiting 0.41 seconds before fallback handling...
[2026-10-20 20:13:26,127.127 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:13:26,130.130 INFO    ] Checking for system updates...
[2026-10-20 20:13:26,166.166 INFO    ] 200
[2026-10-20 20:13:26,169.169 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:13:26,230.230 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:13:26,233.233 INFO    ] No update needed
[2026-10-20 20:13:26,236.236 INFO    ] Checking for camera pi updates...
[2026-10-20 20:13:26,274.274 INFO    ] 200
[2026-10-20 20:13:26,277.277 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:13:26,324.324 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:13:26,370.370 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:13:26,372.372 INFO    ] No camera update needed
[2026-10-20 20:13:26,375.375 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:13:26,378.378 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:13:26,384.384 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:13:26,391.391 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:13:28,432.432 INFO    ] ================================================
[2026-10-20 20:13:28,447.447 INFO    ] Launching Daemon at Tue Oct 20 20:13:28 IST 2026
[2026-10-20 20:13:28,458.458 INFO    ] ================================================
[2026-10-20 20:13:29,046.046 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:13:29
[2026-10-20 20:13:29,651.651 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:13:29,929.929 INFO    ] Initializing speech engine...
[2026-10-20 20:13:29,936.936 INFO    ] 2026-10-20 20:13:29
[2026-10-20 20:13:30,208.208 INFO    ] 2026-10-20 20:13:30
[2026-10-20 20:13:30,243.243 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:13:30,447.447 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:13:30,462.462 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:13:30,619.619 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:13:30,635.635 INFO    ] time= 20/10/2026 20:13:30
[2026-10-20 20:13:30,640.640 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:13:30,647.647 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:13:30,729.729 INFO    ] No existing commands found in stream
[2026-10-20 20:13:35,764.764 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:13:35,767.767 INFO    ] Waiting 0.63 seconds before fallback handling...
[2026-10-20 20:13:36,944.944 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:13:36,947.947 INFO    ] Checking for system updates...
[2026-10-20 20:13:36,987.987 INFO    ] 200
[2026-10-20 20:13:36,990.990 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:13:37,048.048 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:13:37,051.051 INFO    ] No update needed
[2026-10-20 20:13:37,053.053 INFO    ] Checking for camera pi updates...
[2026-10-20 20:13:37,087.087 INFO    ] 200
[2026-10-20 20:13:37,090.090 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:13:37,134.134 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:13:37,180.180 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:13:37,183.183 INFO    ] No camera update needed
[2026-10-20 20:13:37,185.185 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:13:37,187.187 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:13:37,193.193 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:13:37,198.198 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:13:39,238.238 INFO    ] ================================================
[2026-10-20 20:13:39,253.253 INFO    ] Launching Daemon at Tue Oct 20 20:13:39 IST 2026
[2026-10-20 20:13:39,264.264 INFO    ] ================================================
[2026-10-20 20:13:39,833.833 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:13:39
[2026-10-20 20:13:40,416.416 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:13:40,670.670 INFO    ] Initializing speech engine...
[2026-10-20 20:13:40,679.679 INFO    ] 2026-10-20 20:13:40
[2026-10-20 20:13:40,973.973 INFO    ] 2026-10-20 20:13:40
[2026-10-20 20:13:41,009.009 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:13:41,209.209 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:13:41,226.226 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:13:41,393.393 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:13:41,399.399 INFO    ] time= 20/10/2026 20:13:41
[2026-10-20 20:13:41,405.405 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:13:41,432.432 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:13:41,573.573 INFO    ] No existing commands found in stream
[2026-10-20 20:13:46,598.598 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:13:46,601.601 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-10-20 20:13:50,272.272 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:13:50,275.275 INFO    ] Checking for system updates...
[2026-10-20 20:13:50,316.316 INFO    ] 200
[2026-10-20 20:13:50,319.319 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:13:50,380.380 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:13:50,383.383 INFO    ] No update needed
[2026-10-20 20:13:50,386.386 INFO    ] Checking for camera pi updates...
[2026-10-20 20:13:50,425.425 INFO    ] 200
[2026-10-20 20:13:50,428.428 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:13:50,471.471 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:13:50,523.523 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:13:50,526.526 INFO    ] No camera update needed
[2026-10-20 20:13:50,529.529 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:13:50,531.531 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:13:50,538.538 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:13:50,544.544 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:13:52,585.585 INFO    ] ================================================
[2026-10-20 20:13:52,600.600 INFO    ] Launching Daemon at Tue Oct 20 20:13:52 IST 2026
[2026-10-20 20:13:52,611.611 INFO    ] ================================================
[2026-10-20 20:13:53,201.201 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:13:53
[2026-10-20 20:13:53,808.808 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:13:54,076.076 INFO    ] Initializing speech engine...
[2026-10-20 20:13:54,089.089 INFO    ] 2026-10-20 20:13:54
[2026-10-20 20:13:54,381.381 INFO    ] 2026-10-20 20:13:54
[2026-10-20 20:13:54,417.417 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:13:54,617.617 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:13:54,631.631 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:13:54,794.794 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:13:54,802.802 INFO    ] time= 20/10/2026 20:13:54
[2026-10-20 20:13:54,807.807 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:13:54,814.814 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:13:54,891.891 INFO    ] No existing commands found in stream
[2026-10-20 20:13:59,906.906 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:13:59,908.908 INFO    ] Waiting 0.41 seconds before fallback handling...
[2026-10-20 20:14:00,818.818 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:14:00,820.820 INFO    ] Checking for system updates...
[2026-10-20 20:14:00,856.856 INFO    ] 200
[2026-10-20 20:14:00,859.859 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:14:00,911.911 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:14:00,914.914 INFO    ] No update needed
[2026-10-20 20:14:00,916.916 INFO    ] Checking for camera pi updates...
[2026-10-20 20:14:00,949.949 INFO    ] 200
[2026-10-20 20:14:00,952.952 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:14:00,992.992 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:14:01,040.040 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:14:01,044.044 INFO    ] No camera update needed
[2026-10-20 20:14:01,047.047 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:14:01,054.054 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:14:01,065.065 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:14:01,076.076 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:14:03,121.121 INFO    ] ================================================
[2026-10-20 20:14:03,137.137 INFO    ] Launching Daemon at Tue Oct 20 20:14:03 IST 2026
[2026-10-20 20:14:03,148.148 INFO    ] ================================================
[2026-10-20 20:14:03,734.734 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:14:03
[2026-10-20 20:14:04,342.342 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:14:04,621.621 INFO    ] Initializing speech engine...
[2026-10-20 20:14:04,626.626 INFO    ] 2026-10-20 20:14:04
[2026-10-20 20:14:04,888.888 INFO    ] 2026-10-20 20:14:04
[2026-10-20 20:14:04,918.918 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:14:05,163.163 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:14:05,172.172 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:14:05,395.395 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:14:05,433.433 INFO    ] time= 20/10/2026 20:14:05
[2026-10-20 20:14:05,451.451 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:14:05,460.460 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:14:05,593.593 INFO    ] No existing commands found in stream
[2026-10-20 20:14:10,624.624 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:14:10,626.626 INFO    ] Waiting 3.27 seconds before fallback handling...
[2026-10-20 20:14:14,418.418 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:14:14,421.421 INFO    ] Checking for system updates...
[2026-10-20 20:14:14,459.459 INFO    ] 200
[2026-10-20 20:14:14,461.461 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:14:14,513.513 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:14:14,516.516 INFO    ] No update needed
[2026-10-20 20:14:14,518.518 INFO    ] Checking for camera pi updates...
[2026-10-20 20:14:14,551.551 INFO    ] 200
[2026-10-20 20:14:14,554.554 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:14:14,595.595 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:14:14,644.644 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:14:14,646.646 INFO    ] No camera update needed
[2026-10-20 20:14:14,649.649 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:14:14,651.651 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:14:14,657.657 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:14:14,662.662 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:14:16,703.703 INFO    ] ================================================
[2026-10-20 20:14:16,718.718 INFO    ] Launching Daemon at Tue Oct 20 20:14:16 IST 2026
[2026-10-20 20:14:16,730.730 INFO    ] ================================================
[2026-10-20 20:14:17,317.317 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:14:17
[2026-10-20 20:14:17,918.918 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:14:18,198.198 INFO    ] Initializing speech engine...
[2026-10-20 20:14:18,206.206 INFO    ] 2026-10-20 20:14:18
[2026-10-20 20:14:18,478.478 INFO    ] 2026-10-20 20:14:18
[2026-10-20 20:14:18,521.521 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:14:18,802.802 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:14:18,811.811 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:14:19,006.006 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:14:19,012.012 INFO    ] time= 20/10/2026 20:14:19
[2026-10-20 20:14:19,030.030 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:14:19,047.047 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:14:19,166.166 INFO    ] No existing commands found in stream
[2026-10-20 20:14:24,195.195 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:14:24,198.198 INFO    ] Waiting 2.99 seconds before fallback handling...
[2026-10-20 20:14:27,746.746 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 20:14:27,749.749 INFO    ] Checking for system updates...
[2026-10-20 20:14:27,786.786 INFO    ] 200
[2026-10-20 20:14:27,789.789 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:14:27,843.843 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:14:27,845.845 INFO    ] No update needed
[2026-10-20 20:14:27,848.848 INFO    ] Checking for camera pi updates...
[2026-10-20 20:14:27,882.882 INFO    ] 200
[2026-10-20 20:14:27,885.885 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:14:27,931.931 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:14:28,086.086 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:14:28,090.090 INFO    ] No camera update needed
[2026-10-20 20:14:28,093.093 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:14:28,095.095 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:14:28,102.102 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:14:28,108.108 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:14:30,149.149 INFO    ] ================================================
[2026-10-20 20:14:30,165.165 INFO    ] Launching Daemon at Tue Oct 20 20:14:30 IST 2026
[2026-10-20 20:14:30,176.176 INFO    ] ================================================
[2026-10-20 20:14:30,825.825 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:14:30
[2026-10-20 20:14:31,535.535 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:14:31,878.878 INFO    ] Initializing speech engine...
[2026-10-20 20:14:31,890.890 INFO    ] 2026-10-20 20:14:31
[2026-10-20 20:14:32,170.170 INFO    ] 2026-10-20 20:14:32
[2026-10-20 20:14:32,207.207 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:14:32,421.421 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:14:32,462.462 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:14:32,629.629 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:14:32,672.672 INFO    ] time= 20/10/2026 20:14:32
[2026-10-20 20:14:32,732.732 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:14:32,766.766 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:14:32,898.898 INFO    ] No existing commands found in stream
[2026-10-20 20:14:37,921.921 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:14:37,924.924 INFO    ] Waiting 2.46 seconds before fallback handling...
[2026-10-20 20:14:40,898.898 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:14:40,901.901 INFO    ] Checking for system updates...
[2026-10-20 20:14:40,939.939 INFO    ] 200
[2026-10-20 20:14:40,942.942 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:14:40,995.995 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:14:40,998.998 INFO    ] No update needed
[2026-10-20 20:14:41,001.001 INFO    ] Checking for camera pi updates...
[2026-10-20 20:14:41,038.038 INFO    ] 200
[2026-10-20 20:14:41,041.041 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:14:41,086.086 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:14:41,134.134 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:14:41,136.136 INFO    ] No camera update needed
[2026-10-20 20:14:41,139.139 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:14:41,142.142 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:14:41,148.148 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:14:41,154.154 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:14:43,193.193 INFO    ] ================================================
[2026-10-20 20:14:43,209.209 INFO    ] Launching Daemon at Tue Oct 20 20:14:43 IST 2026
[2026-10-20 20:14:43,219.219 INFO    ] ================================================
[2026-10-20 20:14:43,862.862 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:14:43
[2026-10-20 20:14:44,527.527 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:14:44,826.826 INFO    ] Initializing speech engine...
[2026-10-20 20:14:44,835.835 INFO    ] 2026-10-20 20:14:44
[2026-10-20 20:14:45,111.111 INFO    ] 2026-10-20 20:14:45
[2026-10-20 20:14:45,166.166 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:14:45,453.453 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:14:45,463.463 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:14:45,655.655 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:14:45,674.674 INFO    ] time= 20/10/2026 20:14:45
[2026-10-20 20:14:45,705.705 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:14:45,714.714 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:14:45,839.839 INFO    ] No existing commands found in stream
[2026-10-20 20:14:50,870.870 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:14:50,873.873 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-10-20 20:14:54,020.020 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:14:54,023.023 INFO    ] Checking for system updates...
[2026-10-20 20:14:54,059.059 INFO    ] 200
[2026-10-20 20:14:54,062.062 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:14:54,114.114 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:14:54,116.116 INFO    ] No update needed
[2026-10-20 20:14:54,119.119 INFO    ] Checking for camera pi updates...
[2026-10-20 20:14:54,154.154 INFO    ] 200
[2026-10-20 20:14:54,156.156 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:14:54,197.197 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:14:54,240.240 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:14:54,243.243 INFO    ] No camera update needed
[2026-10-20 20:14:54,245.245 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:14:54,247.247 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:14:54,253.253 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:14:54,258.258 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:14:56,298.298 INFO    ] ================================================
[2026-10-20 20:14:56,313.313 INFO    ] Launching Daemon at Tue Oct 20 20:14:56 IST 2026
[2026-10-20 20:14:56,324.324 INFO    ] ================================================
[2026-10-20 20:14:56,893.893 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:14:56
[2026-10-20 20:14:57,480.480 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:14:57,728.728 INFO    ] Initializing speech engine...
[2026-10-20 20:14:57,735.735 INFO    ] 2026-10-20 20:14:57
[2026-10-20 20:14:58,009.009 INFO    ] 2026-10-20 20:14:57
[2026-10-20 20:14:58,043.043 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:14:58,304.304 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:14:58,313.313 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:14:58,497.497 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:14:58,546.546 INFO    ] time= 20/10/2026 20:14:58
[2026-10-20 20:14:58,583.583 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:14:58,588.588 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:14:58,740.740 INFO    ] No existing commands found in stream
[2026-10-20 20:15:03,762.762 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:15:03,765.765 INFO    ] Waiting 2.26 seconds before fallback handling...
[2026-10-20 20:15:06,493.493 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:15:06,501.501 INFO    ] Checking for system updates...
[2026-10-20 20:15:06,536.536 INFO    ] 200
[2026-10-20 20:15:06,538.538 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:15:06,593.593 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:15:06,595.595 INFO    ] No update needed
[2026-10-20 20:15:06,597.597 INFO    ] Checking for camera pi updates...
[2026-10-20 20:15:06,631.631 INFO    ] 200
[2026-10-20 20:15:06,633.633 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:15:06,673.673 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:15:06,702.702 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:15:06,705.705 INFO    ] No camera update needed
[2026-10-20 20:15:06,707.707 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:15:06,710.710 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:15:06,715.715 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:15:06,720.720 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:15:08,761.761 INFO    ] ================================================
[2026-10-20 20:15:08,776.776 INFO    ] Launching Daemon at Tue Oct 20 20:15:08 IST 2026
[2026-10-20 20:15:08,787.787 INFO    ] ================================================
[2026-10-20 20:15:09,398.398 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:15:09
[2026-10-20 20:15:10,062.062 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:15:10,366.366 INFO    ] Initializing speech engine...
[2026-10-20 20:15:10,375.375 INFO    ] 2026-10-20 20:15:10
[2026-10-20 20:15:10,643.643 INFO    ] 2026-10-20 20:15:10
[2026-10-20 20:15:10,679.679 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:15:10,938.938 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:15:10,946.946 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:15:11,164.164 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:15:11,212.212 INFO    ] time= 20/10/2026 20:15:11
[2026-10-20 20:15:11,230.230 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:15:11,240.240 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:15:11,391.391 INFO    ] No existing commands found in stream
[2026-10-20 20:15:16,422.422 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:15:16,425.425 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-10-20 20:15:20,071.071 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:15:20,074.074 INFO    ] Checking for system updates...
[2026-10-20 20:15:20,110.110 INFO    ] 200
[2026-10-20 20:15:20,113.113 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:15:20,166.166 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:15:20,168.168 INFO    ] No update needed
[2026-10-20 20:15:20,171.171 INFO    ] Checking for camera pi updates...
[2026-10-20 20:15:20,205.205 INFO    ] 200
[2026-10-20 20:15:20,207.207 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:15:20,250.250 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:15:20,299.299 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:15:20,301.301 INFO    ] No camera update needed
[2026-10-20 20:15:20,303.303 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:15:20,306.306 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:15:20,311.311 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:15:20,316.316 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:15:22,356.356 INFO    ] ================================================
[2026-10-20 20:15:22,372.372 INFO    ] Launching Daemon at Tue Oct 20 20:15:22 IST 2026
[2026-10-20 20:15:22,382.382 INFO    ] ================================================
[2026-10-20 20:15:22,947.947 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:15:22
[2026-10-20 20:15:23,528.528 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:15:23,788.788 INFO    ] Initializing speech engine...
[2026-10-20 20:15:23,807.807 INFO    ] 2026-10-20 20:15:23
[2026-10-20 20:15:24,066.066 INFO    ] 2026-10-20 20:15:24
[2026-10-20 20:15:24,100.100 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:15:24,410.410 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:15:24,415.415 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:15:24,609.609 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:15:24,625.625 INFO    ] time= 20/10/2026 20:15:24
[2026-10-20 20:15:24,632.632 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:15:24,660.660 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:15:24,780.780 INFO    ] No existing commands found in stream
[2026-10-20 20:15:29,805.805 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:15:29,807.807 INFO    ] Waiting 1.27 seconds before fallback handling...
[2026-10-20 20:15:31,632.632 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:15:31,635.635 INFO    ] Checking for system updates...
[2026-10-20 20:15:31,673.673 INFO    ] 200
[2026-10-20 20:15:31,676.676 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:15:31,740.740 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:15:31,743.743 INFO    ] No update needed
[2026-10-20 20:15:31,746.746 INFO    ] Checking for camera pi updates...
[2026-10-20 20:15:31,782.782 INFO    ] 200
[2026-10-20 20:15:31,785.785 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:15:31,827.827 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:15:31,868.868 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:15:31,871.871 INFO    ] No camera update needed
[2026-10-20 20:15:31,874.874 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:15:31,876.876 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:15:31,882.882 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:15:31,888.888 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:15:33,928.928 INFO    ] ================================================
[2026-10-20 20:15:33,943.943 INFO    ] Launching Daemon at Tue Oct 20 20:15:33 IST 2026
[2026-10-20 20:15:33,954.954 INFO    ] ================================================
[2026-10-20 20:15:34,526.526 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:15:34
[2026-10-20 20:15:35,110.110 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:15:35,360.360 INFO    ] Initializing speech engine...
[2026-10-20 20:15:35,380.380 INFO    ] 2026-10-20 20:15:35
[2026-10-20 20:15:35,641.641 INFO    ] 2026-10-20 20:15:35
[2026-10-20 20:15:35,675.675 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:15:35,877.877 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:15:35,935.935 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:15:36,078.078 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:15:36,123.123 INFO    ] time= 20/10/2026 20:15:36
[2026-10-20 20:15:36,172.172 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:15:36,212.212 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:15:36,343.343 INFO    ] No existing commands found in stream
[2026-10-20 20:15:41,368.368 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:15:41,371.371 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-10-20 20:15:44,074.074 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:15:44,077.077 INFO    ] Checking for system updates...
[2026-10-20 20:15:44,113.113 INFO    ] 200
[2026-10-20 20:15:44,116.116 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:15:44,190.190 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:15:44,192.192 INFO    ] No update needed
[2026-10-20 20:15:44,195.195 INFO    ] Checking for camera pi updates...
[2026-10-20 20:15:44,229.229 INFO    ] 200
[2026-10-20 20:15:44,231.231 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:15:44,272.272 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:15:44,330.330 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:15:44,332.332 INFO    ] No camera update needed
[2026-10-20 20:15:44,335.335 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:15:44,337.337 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:15:44,343.343 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:15:44,348.348 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:15:46,390.390 INFO    ] ================================================
[2026-10-20 20:15:46,405.405 INFO    ] Launching Daemon at Tue Oct 20 20:15:46 IST 2026
[2026-10-20 20:15:46,416.416 INFO    ] ================================================
[2026-10-20 20:15:46,997.997 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:15:46
[2026-10-20 20:15:47,600.600 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:15:47,861.861 INFO    ] Initializing speech engine...
[2026-10-20 20:15:47,870.870 INFO    ] 2026-10-20 20:15:47
[2026-10-20 20:15:48,164.164 INFO    ] 2026-10-20 20:15:48
[2026-10-20 20:15:48,199.199 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:15:48,398.398 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:15:48,415.415 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:15:48,580.580 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:15:48,589.589 INFO    ] time= 20/10/2026 20:15:48
[2026-10-20 20:15:48,615.615 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:15:48,663.663 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:15:48,783.783 INFO    ] No existing commands found in stream
[2026-10-20 20:15:53,808.808 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:15:53,811.811 INFO    ] Waiting 3.65 seconds before fallback handling...
[2026-10-20 20:15:57,928.928 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:15:57,931.931 INFO    ] Checking for system updates...
[2026-10-20 20:15:57,966.966 INFO    ] 200
[2026-10-20 20:15:57,969.969 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:15:58,021.021 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:15:58,023.023 INFO    ] No update needed
[2026-10-20 20:15:58,026.026 INFO    ] Checking for camera pi updates...
[2026-10-20 20:15:58,059.059 INFO    ] 200
[2026-10-20 20:15:58,062.062 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:15:58,102.102 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:15:58,150.150 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:15:58,152.152 INFO    ] No camera update needed
[2026-10-20 20:15:58,155.155 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:15:58,157.157 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:15:58,163.163 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:15:58,168.168 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:16:00,207.207 INFO    ] ================================================
[2026-10-20 20:16:00,222.222 INFO    ] Launching Daemon at Tue Oct 20 20:16:00 IST 2026
[2026-10-20 20:16:00,232.232 INFO    ] ================================================
[2026-10-20 20:16:00,812.812 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:16:00
[2026-10-20 20:16:01,411.411 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:16:02,066.066 INFO    ] Initializing speech engine...
[2026-10-20 20:16:02,079.079 INFO    ] 2026-10-20 20:16:02
[2026-10-20 20:16:02,412.412 INFO    ] 2026-10-20 20:16:02
[2026-10-20 20:16:02,449.449 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:16:02,675.675 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:16:02,734.734 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:16:02,981.981 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:16:03,039.039 INFO    ] time= 20/10/2026 20:16:02
[2026-10-20 20:16:03,099.099 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:16:03,140.140 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:16:03,273.273 INFO    ] No existing commands found in stream
[2026-10-20 20:16:08,327.327 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:16:08,330.330 INFO    ] Waiting 1.79 seconds before fallback handling...
[2026-10-20 20:16:10,608.608 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:16:10,611.611 INFO    ] Checking for system updates...
[2026-10-20 20:16:10,648.648 INFO    ] 200
[2026-10-20 20:16:10,651.651 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:16:10,709.709 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:16:10,712.712 INFO    ] No update needed
[2026-10-20 20:16:10,715.715 INFO    ] Checking for camera pi updates...
[2026-10-20 20:16:10,749.749 INFO    ] 200
[2026-10-20 20:16:10,752.752 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:16:10,797.797 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:16:10,852.852 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:16:10,854.854 INFO    ] No camera update needed
[2026-10-20 20:16:10,857.857 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:16:10,860.860 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:16:10,866.866 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:16:10,871.871 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:16:12,913.913 INFO    ] ================================================
[2026-10-20 20:16:12,928.928 INFO    ] Launching Daemon at Tue Oct 20 20:16:12 IST 2026
[2026-10-20 20:16:12,939.939 INFO    ] ================================================
[2026-10-20 20:16:13,506.506 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:16:13
[2026-10-20 20:16:14,094.094 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:16:14,364.364 INFO    ] Initializing speech engine...
[2026-10-20 20:16:14,372.372 INFO    ] 2026-10-20 20:16:14
[2026-10-20 20:16:14,625.625 INFO    ] 2026-10-20 20:16:14
[2026-10-20 20:16:14,660.660 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:16:14,924.924 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:16:14,934.934 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:16:15,071.071 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:16:15,121.121 INFO    ] time= 20/10/2026 20:16:15
[2026-10-20 20:16:15,155.155 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:16:15,208.208 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:16:15,354.354 INFO    ] No existing commands found in stream
[2026-10-20 20:16:20,368.368 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:16:20,371.371 INFO    ] Waiting 1.37 seconds before fallback handling...
[2026-10-20 20:16:22,274.274 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:16:22,276.276 INFO    ] Checking for system updates...
[2026-10-20 20:16:22,312.312 INFO    ] 200
[2026-10-20 20:16:22,314.314 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:16:22,371.371 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:16:22,373.373 INFO    ] No update needed
[2026-10-20 20:16:22,378.378 INFO    ] Checking for camera pi updates...
[2026-10-20 20:16:22,413.413 INFO    ] 200
[2026-10-20 20:16:22,416.416 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:16:22,459.459 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:16:22,506.506 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:16:22,509.509 INFO    ] No camera update needed
[2026-10-20 20:16:22,511.511 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:16:22,513.513 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:16:22,519.519 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:16:22,524.524 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:16:24,564.564 INFO    ] ================================================
[2026-10-20 20:16:24,580.580 INFO    ] Launching Daemon at Tue Oct 20 20:16:24 IST 2026
[2026-10-20 20:16:24,591.591 INFO    ] ================================================
[2026-10-20 20:16:25,169.169 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:16:25
[2026-10-20 20:16:25,757.757 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:16:26,041.041 INFO    ] Initializing speech engine...
[2026-10-20 20:16:26,052.052 INFO    ] 2026-10-20 20:16:26
[2026-10-20 20:16:26,317.317 INFO    ] 2026-10-20 20:16:26
[2026-10-20 20:16:26,354.354 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:16:26,577.577 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:16:26,606.606 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:16:26,800.800 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:16:26,805.805 INFO    ] time= 20/10/2026 20:16:26
[2026-10-20 20:16:26,829.829 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:16:26,879.879 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:16:27,003.003 INFO    ] No existing commands found in stream
[2026-10-20 20:16:32,015.015 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:16:32,018.018 INFO    ] Waiting 2.62 seconds before fallback handling...
[2026-10-20 20:16:35,135.135 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:16:35,138.138 INFO    ] Checking for system updates...
[2026-10-20 20:16:35,173.173 INFO    ] 200
[2026-10-20 20:16:35,176.176 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:16:35,230.230 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:16:35,233.233 INFO    ] No update needed
[2026-10-20 20:16:35,235.235 INFO    ] Checking for camera pi updates...
[2026-10-20 20:16:35,271.271 INFO    ] 200
[2026-10-20 20:16:35,274.274 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:16:35,314.314 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:16:35,363.363 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:16:35,365.365 INFO    ] No camera update needed
[2026-10-20 20:16:35,368.368 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:16:35,370.370 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:16:35,375.375 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:16:35,380.380 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:16:37,420.420 INFO    ] ================================================
[2026-10-20 20:16:37,435.435 INFO    ] Launching Daemon at Tue Oct 20 20:16:37 IST 2026
[2026-10-20 20:16:37,446.446 INFO    ] ================================================
[2026-10-20 20:16:38,089.089 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:16:38
[2026-10-20 20:16:38,749.749 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:16:39,045.045 INFO    ] Initializing speech engine...
[2026-10-20 20:16:39,054.054 INFO    ] 2026-10-20 20:16:39
[2026-10-20 20:16:39,329.329 INFO    ] 2026-10-20 20:16:39
[2026-10-20 20:16:39,392.392 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:16:39,639.639 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:16:39,648.648 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:16:39,801.801 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:16:39,851.851 INFO    ] time= 20/10/2026 20:16:39
[2026-10-20 20:16:39,890.890 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:16:39,947.947 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:16:40,062.062 INFO    ] No existing commands found in stream
[2026-10-20 20:16:45,082.082 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:16:45,085.085 INFO    ] Waiting 0.70 seconds before fallback handling...
[2026-10-20 20:16:46,295.295 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:16:46,298.298 INFO    ] Checking for system updates...
[2026-10-20 20:16:46,333.333 INFO    ] 200
[2026-10-20 20:16:46,336.336 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:16:46,387.387 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:16:46,390.390 INFO    ] No update needed
[2026-10-20 20:16:46,393.393 INFO    ] Checking for camera pi updates...
[2026-10-20 20:16:46,427.427 INFO    ] 200
[2026-10-20 20:16:46,430.430 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:16:46,469.469 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:16:46,514.514 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:16:46,517.517 INFO    ] No camera update needed
[2026-10-20 20:16:46,519.519 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:16:46,522.522 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:16:46,527.527 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:16:46,532.532 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:16:48,573.573 INFO    ] ================================================
[2026-10-20 20:16:48,588.588 INFO    ] Launching Daemon at Tue Oct 20 20:16:48 IST 2026
[2026-10-20 20:16:48,599.599 INFO    ] ================================================
[2026-10-20 20:16:49,176.176 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:16:49
[2026-10-20 20:16:49,768.768 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:16:50,046.046 INFO    ] Initializing speech engine...
[2026-10-20 20:16:50,060.060 INFO    ] 2026-10-20 20:16:50
[2026-10-20 20:16:50,327.327 INFO    ] 2026-10-20 20:16:50
[2026-10-20 20:16:50,364.364 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:16:50,589.589 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:16:50,613.613 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:16:50,813.813 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:16:50,821.821 INFO    ] time= 20/10/2026 20:16:50
[2026-10-20 20:16:50,855.855 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:16:50,905.905 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:16:51,021.021 INFO    ] No existing commands found in stream
[2026-10-20 20:16:56,033.033 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:16:56,036.036 INFO    ] Waiting 3.31 seconds before fallback handling...
[2026-10-20 20:16:59,916.916 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:16:59,919.919 INFO    ] Checking for system updates...
[2026-10-20 20:16:59,956.956 INFO    ] 200
[2026-10-20 20:16:59,959.959 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:17:00,012.012 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:17:00,015.015 INFO    ] No update needed
[2026-10-20 20:17:00,018.018 INFO    ] Checking for camera pi updates...
[2026-10-20 20:17:00,052.052 INFO    ] 200
[2026-10-20 20:17:00,055.055 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:17:00,096.096 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:17:00,150.150 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:17:00,153.153 INFO    ] No camera update needed
[2026-10-20 20:17:00,155.155 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:17:00,158.158 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:17:00,164.164 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:17:00,170.170 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:17:02,212.212 INFO    ] ================================================
[2026-10-20 20:17:02,234.234 INFO    ] Launching Daemon at Tue Oct 20 20:17:02 IST 2026
[2026-10-20 20:17:02,251.251 INFO    ] ================================================
[2026-10-20 20:17:02,878.878 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:17:02
[2026-10-20 20:17:03,547.547 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:17:03,833.833 INFO    ] Initializing speech engine...
[2026-10-20 20:17:03,842.842 INFO    ] 2026-10-20 20:17:03
[2026-10-20 20:17:04,092.092 INFO    ] 2026-10-20 20:17:04
[2026-10-20 20:17:04,127.127 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:17:04,384.384 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:17:04,393.393 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:17:04,535.535 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:17:04,579.579 INFO    ] time= 20/10/2026 20:17:04
[2026-10-20 20:17:04,638.638 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:17:04,665.665 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:17:04,803.803 INFO    ] No existing commands found in stream
[2026-10-20 20:17:09,823.823 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:17:09,826.826 INFO    ] Waiting 3.93 seconds before fallback handling...
[2026-10-20 20:17:14,240.240 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:17:14,243.243 INFO    ] Checking for system updates...
[2026-10-20 20:17:14,279.279 INFO    ] 200
[2026-10-20 20:17:14,281.281 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:17:14,339.339 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:17:14,341.341 INFO    ] No update needed
[2026-10-20 20:17:14,344.344 INFO    ] Checking for camera pi updates...
[2026-10-20 20:17:14,377.377 INFO    ] 200
[2026-10-20 20:17:14,380.380 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:17:14,420.420 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:17:14,464.464 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:17:14,467.467 INFO    ] No camera update needed
[2026-10-20 20:17:14,469.469 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:17:14,472.472 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:17:14,477.477 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:17:14,483.483 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:17:16,527.527 INFO    ] ================================================
[2026-10-20 20:17:16,542.542 INFO    ] Launching Daemon at Tue Oct 20 20:17:16 IST 2026
[2026-10-20 20:17:16,553.553 INFO    ] ================================================
[2026-10-20 20:17:17,202.202 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:17:17
[2026-10-20 20:17:17,867.867 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:17:18,164.164 INFO    ] Initializing speech engine...
[2026-10-20 20:17:18,174.174 INFO    ] 2026-10-20 20:17:18
[2026-10-20 20:17:18,448.448 INFO    ] 2026-10-20 20:17:18
[2026-10-20 20:17:18,484.484 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:17:18,744.744 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:17:18,751.751 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:17:18,972.972 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:17:19,013.013 INFO    ] time= 20/10/2026 20:17:18
[2026-10-20 20:17:19,020.020 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:17:19,038.038 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:17:19,175.175 INFO    ] No existing commands found in stream
[2026-10-20 20:17:24,201.201 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:17:24,205.205 INFO    ] Waiting 3.38 seconds before fallback handling...
[2026-10-20 20:17:28,108.108 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:17:28,112.112 INFO    ] Checking for system updates...
[2026-10-20 20:17:28,149.149 INFO    ] 200
[2026-10-20 20:17:28,152.152 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:17:28,204.204 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:17:28,206.206 INFO    ] No update needed
[2026-10-20 20:17:28,208.208 INFO    ] Checking for camera pi updates...
[2026-10-20 20:17:28,242.242 INFO    ] 200
[2026-10-20 20:17:28,244.244 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:17:28,284.284 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:17:28,332.332 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:17:28,334.334 INFO    ] No camera update needed
[2026-10-20 20:17:28,337.337 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:17:28,339.339 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:17:28,344.344 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:17:28,350.350 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:17:30,390.390 INFO    ] ================================================
[2026-10-20 20:17:30,405.405 INFO    ] Launching Daemon at Tue Oct 20 20:17:30 IST 2026
[2026-10-20 20:17:30,416.416 INFO    ] ================================================
[2026-10-20 20:17:30,983.983 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:17:30
[2026-10-20 20:17:31,568.568 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:17:31,850.850 INFO    ] Initializing speech engine...
[2026-10-20 20:17:31,860.860 INFO    ] 2026-10-20 20:17:31
[2026-10-20 20:17:32,151.151 INFO    ] 2026-10-20 20:17:32
[2026-10-20 20:17:32,190.190 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:17:32,399.399 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:17:32,450.450 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:17:32,612.612 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:17:32,672.672 INFO    ] time= 20/10/2026 20:17:32
[2026-10-20 20:17:32,727.727 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:17:32,750.750 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:17:32,904.904 INFO    ] No existing commands found in stream
[2026-10-20 20:17:37,925.925 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:17:37,928.928 INFO    ] Waiting 0.75 seconds before fallback handling...
[2026-10-20 20:17:39,176.176 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:17:39,179.179 INFO    ] Checking for system updates...
[2026-10-20 20:17:39,214.214 INFO    ] 200
[2026-10-20 20:17:39,217.217 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:17:39,269.269 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:17:39,271.271 INFO    ] No update needed
[2026-10-20 20:17:39,274.274 INFO    ] Checking for camera pi updates...
[2026-10-20 20:17:39,306.306 INFO    ] 200
[2026-10-20 20:17:39,309.309 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:17:39,350.350 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:17:39,394.394 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:17:39,397.397 INFO    ] No camera update needed
[2026-10-20 20:17:39,399.399 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:17:39,401.401 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:17:39,407.407 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:17:39,412.412 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:17:41,451.451 INFO    ] ================================================
[2026-10-20 20:17:41,466.466 INFO    ] Launching Daemon at Tue Oct 20 20:17:41 IST 2026
[2026-10-20 20:17:41,477.477 INFO    ] ================================================
[2026-10-20 20:17:42,057.057 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:17:42
[2026-10-20 20:17:42,656.656 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:17:42,927.927 INFO    ] Initializing speech engine...
[2026-10-20 20:17:42,937.937 INFO    ] 2026-10-20 20:17:42
[2026-10-20 20:17:43,188.188 INFO    ] 2026-10-20 20:17:43
[2026-10-20 20:17:43,228.228 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:17:43,480.480 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:17:43,483.483 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:17:43,716.716 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:17:43,742.742 INFO    ] time= 20/10/2026 20:17:43
[2026-10-20 20:17:43,749.749 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:17:43,769.769 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:17:43,911.911 INFO    ] No existing commands found in stream
[2026-10-20 20:17:48,943.943 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:17:48,945.945 INFO    ] Waiting 0.22 seconds before fallback handling...
[2026-10-20 20:17:49,679.679 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:17:49,682.682 INFO    ] Checking for system updates...
[2026-10-20 20:17:49,718.718 INFO    ] 200
[2026-10-20 20:17:49,721.721 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:17:49,774.774 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:17:49,776.776 INFO    ] No update needed
[2026-10-20 20:17:49,779.779 INFO    ] Checking for camera pi updates...
[2026-10-20 20:17:49,815.815 INFO    ] 200
[2026-10-20 20:17:49,817.817 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:17:49,865.865 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:17:49,916.916 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:17:49,918.918 INFO    ] No camera update needed
[2026-10-20 20:17:49,921.921 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:17:49,924.924 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:17:49,930.930 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:17:49,935.935 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:17:51,976.976 INFO    ] ================================================
[2026-10-20 20:17:51,991.991 INFO    ] Launching Daemon at Tue Oct 20 20:17:51 IST 2026
[2026-10-20 20:17:52,002.002 INFO    ] ================================================
[2026-10-20 20:17:52,580.580 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:17:52
[2026-10-20 20:17:53,163.163 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:17:53,417.417 INFO    ] Initializing speech engine...
[2026-10-20 20:17:53,425.425 INFO    ] 2026-10-20 20:17:53
[2026-10-20 20:17:53,711.711 INFO    ] 2026-10-20 20:17:53
[2026-10-20 20:17:53,747.747 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:17:54,019.019 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:17:54,033.033 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:17:54,179.179 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:17:54,200.200 INFO    ] time= 20/10/2026 20:17:54
[2026-10-20 20:17:54,260.260 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:17:54,309.309 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:17:54,453.453 INFO    ] No existing commands found in stream
[2026-10-20 20:17:59,478.478 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:17:59,481.481 INFO    ] Waiting 1.71 seconds before fallback handling...
[2026-10-20 20:18:01,752.752 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:18:01,760.760 INFO    ] Checking for system updates...
[2026-10-20 20:18:01,826.826 INFO    ] 200
[2026-10-20 20:18:01,831.831 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:18:01,915.915 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:18:01,918.918 INFO    ] No update needed
[2026-10-20 20:18:01,922.922 INFO    ] Checking for camera pi updates...
[2026-10-20 20:18:01,972.972 INFO    ] 200
[2026-10-20 20:18:01,975.975 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:18:02,033.033 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:18:02,065.065 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:18:02,068.068 INFO    ] No camera update needed
[2026-10-20 20:18:02,071.071 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:18:02,075.075 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:18:02,085.085 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:18:02,095.095 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:18:04,141.141 INFO    ] ================================================
[2026-10-20 20:18:04,156.156 INFO    ] Launching Daemon at Tue Oct 20 20:18:04 IST 2026
[2026-10-20 20:18:04,167.167 INFO    ] ================================================
[2026-10-20 20:18:04,748.748 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:18:04
[2026-10-20 20:18:05,332.332 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:18:05,596.596 INFO    ] Initializing speech engine...
[2026-10-20 20:18:05,610.610 INFO    ] 2026-10-20 20:18:05
[2026-10-20 20:18:05,867.867 INFO    ] 2026-10-20 20:18:05
[2026-10-20 20:18:05,933.933 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:18:06,170.170 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:18:06,177.177 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:18:06,392.392 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:18:06,442.442 INFO    ] time= 20/10/2026 20:18:06
[2026-10-20 20:18:06,459.459 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:18:06,470.470 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:18:06,609.609 INFO    ] No existing commands found in stream
[2026-10-20 20:18:11,635.635 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:18:11,639.639 INFO    ] Waiting 2.51 seconds before fallback handling...
[2026-10-20 20:18:14,652.652 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:18:14,655.655 INFO    ] Checking for system updates...
[2026-10-20 20:18:14,692.692 INFO    ] 200
[2026-10-20 20:18:14,695.695 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:18:14,764.764 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:18:14,767.767 INFO    ] No update needed
[2026-10-20 20:18:14,770.770 INFO    ] Checking for camera pi updates...
[2026-10-20 20:18:14,808.808 INFO    ] 200
[2026-10-20 20:18:14,811.811 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:18:14,856.856 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:18:14,909.909 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:18:14,912.912 INFO    ] No camera update needed
[2026-10-20 20:18:14,914.914 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:18:14,917.917 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:18:14,923.923 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:18:14,929.929 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:18:16,971.971 INFO    ] ================================================
[2026-10-20 20:18:16,986.986 INFO    ] Launching Daemon at Tue Oct 20 20:18:16 IST 2026
[2026-10-20 20:18:17,997.997 INFO    ] ================================================
[2026-10-20 20:18:17,574.574 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:18:17
[2026-10-20 20:18:18,167.167 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:18:18,425.425 INFO    ] Initializing speech engine...
[2026-10-20 20:18:18,440.440 INFO    ] 2026-10-20 20:18:18
[2026-10-20 20:18:18,725.725 INFO    ] 2026-10-20 20:18:18
[2026-10-20 20:18:18,764.764 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:18:18,986.986 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:18:19,025.025 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:18:19,223.223 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:18:19,240.240 INFO    ] time= 20/10/2026 20:18:19
[2026-10-20 20:18:19,294.294 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:18:19,348.348 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:18:19,492.492 INFO    ] No existing commands found in stream
[2026-10-20 20:18:24,514.514 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:18:24,516.516 INFO    ] Waiting 1.44 seconds before fallback handling...
[2026-10-20 20:18:26,442.442 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:18:26,444.444 INFO    ] Checking for system updates...
[2026-10-20 20:18:26,479.479 INFO    ] 200
[2026-10-20 20:18:26,482.482 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:18:26,534.534 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:18:26,537.537 INFO    ] No update needed
[2026-10-20 20:18:26,540.540 INFO    ] Checking for camera pi updates...
[2026-10-20 20:18:26,575.575 INFO    ] 200
[2026-10-20 20:18:26,577.577 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:18:26,618.618 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:18:26,663.663 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:18:26,666.666 INFO    ] No camera update needed
[2026-10-20 20:18:26,668.668 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:18:26,671.671 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:18:26,677.677 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:18:26,683.683 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:18:28,723.723 INFO    ] ================================================
[2026-10-20 20:18:28,739.739 INFO    ] Launching Daemon at Tue Oct 20 20:18:28 IST 2026
[2026-10-20 20:18:28,750.750 INFO    ] ================================================
[2026-10-20 20:18:29,402.402 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:18:29
[2026-10-20 20:18:30,073.073 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:18:30,375.375 INFO    ] Initializing speech engine...
[2026-10-20 20:18:30,381.381 INFO    ] 2026-10-20 20:18:30
[2026-10-20 20:18:30,694.694 INFO    ] 2026-10-20 20:18:30
[2026-10-20 20:18:30,783.783 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:18:30,994.994 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:18:31,001.001 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:18:31,195.195 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:18:31,203.203 INFO    ] time= 20/10/2026 20:18:31
[2026-10-20 20:18:31,225.225 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:18:31,251.251 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:18:31,359.359 INFO    ] No existing commands found in stream
[2026-10-20 20:18:36,381.381 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:18:36,384.384 INFO    ] Waiting 3.97 seconds before fallback handling...
[2026-10-20 20:18:40,873.873 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 20:18:40,875.875 INFO    ] Checking for system updates...
[2026-10-20 20:18:40,913.913 INFO    ] 200
[2026-10-20 20:18:40,915.915 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:18:40,968.968 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:18:40,971.971 INFO    ] No update needed
[2026-10-20 20:18:40,973.973 INFO    ] Checking for camera pi updates...
[2026-10-20 20:18:41,008.008 INFO    ] 200
[2026-10-20 20:18:41,011.011 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:18:41,057.057 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:18:41,210.210 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:18:41,213.213 INFO    ] No camera update needed
[2026-10-20 20:18:41,216.216 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:18:41,218.218 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:18:41,225.225 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:18:41,230.230 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:18:43,271.271 INFO    ] ================================================
[2026-10-20 20:18:43,287.287 INFO    ] Launching Daemon at Tue Oct 20 20:18:43 IST 2026
[2026-10-20 20:18:43,298.298 INFO    ] ================================================
[2026-10-20 20:18:43,878.878 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:18:43
[2026-10-20 20:18:44,479.479 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:18:44,736.736 INFO    ] Initializing speech engine...
[2026-10-20 20:18:44,743.743 INFO    ] 2026-10-20 20:18:44
[2026-10-20 20:18:45,044.044 INFO    ] 2026-10-20 20:18:45
[2026-10-20 20:18:45,079.079 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:18:45,307.307 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:18:45,315.315 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:18:45,538.538 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:18:45,550.550 INFO    ] time= 20/10/2026 20:18:45
[2026-10-20 20:18:45,609.609 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:18:45,658.658 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:18:45,818.818 INFO    ] No existing commands found in stream
[2026-10-20 20:18:50,836.836 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:18:50,839.839 INFO    ] Waiting 3.64 seconds before fallback handling...
[2026-10-20 20:18:55,046.046 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:18:55,050.050 INFO    ] Checking for system updates...
[2026-10-20 20:18:55,087.087 INFO    ] 200
[2026-10-20 20:18:55,090.090 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:18:55,151.151 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:18:55,154.154 INFO    ] No update needed
[2026-10-20 20:18:55,160.160 INFO    ] Checking for camera pi updates...
[2026-10-20 20:18:55,194.194 INFO    ] 200
[2026-10-20 20:18:55,196.196 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:18:55,241.241 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:18:55,289.289 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:18:55,291.291 INFO    ] No camera update needed
[2026-10-20 20:18:55,293.293 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:18:55,296.296 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:18:55,301.301 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:18:55,306.306 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:18:57,345.345 INFO    ] ================================================
[2026-10-20 20:18:57,361.361 INFO    ] Launching Daemon at Tue Oct 20 20:18:57 IST 2026
[2026-10-20 20:18:57,371.371 INFO    ] ================================================
[2026-10-20 20:18:57,943.943 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:18:57
[2026-10-20 20:18:58,532.532 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:18:58,785.785 INFO    ] Initializing speech engine...
[2026-10-20 20:18:58,808.808 INFO    ] 2026-10-20 20:18:58
[2026-10-20 20:18:59,064.064 INFO    ] 2026-10-20 20:18:59
[2026-10-20 20:18:59,099.099 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:18:59,301.301 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:18:59,341.341 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:18:59,561.561 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:18:59,616.616 INFO    ] time= 20/10/2026 20:18:59
[2026-10-20 20:18:59,637.637 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:18:59,653.653 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:18:59,810.810 INFO    ] No existing commands found in stream
[2026-10-20 20:19:04,841.841 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:19:04,843.843 INFO    ] Waiting 0.24 seconds before fallback handling...
[2026-10-20 20:19:05,619.619 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:19:05,621.621 INFO    ] Checking for system updates...
[2026-10-20 20:19:05,657.657 INFO    ] 200
[2026-10-20 20:19:05,659.659 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:19:05,711.711 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:19:05,713.713 INFO    ] No update needed
[2026-10-20 20:19:05,716.716 INFO    ] Checking for camera pi updates...
[2026-10-20 20:19:05,753.753 INFO    ] 200
[2026-10-20 20:19:05,755.755 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:19:05,800.800 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:19:05,857.857 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:19:05,860.860 INFO    ] No camera update needed
[2026-10-20 20:19:05,863.863 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:19:05,865.865 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:19:05,871.871 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:19:05,877.877 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:19:07,917.917 INFO    ] ================================================
[2026-10-20 20:19:07,932.932 INFO    ] Launching Daemon at Tue Oct 20 20:19:07 IST 2026
[2026-10-20 20:19:07,943.943 INFO    ] ================================================
[2026-10-20 20:19:08,510.510 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:19:08
[2026-10-20 20:19:09,093.093 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:19:09,346.346 INFO    ] Initializing speech engine...
[2026-10-20 20:19:09,355.355 INFO    ] 2026-10-20 20:19:09
[2026-10-20 20:19:09,646.646 INFO    ] 2026-10-20 20:19:09
[2026-10-20 20:19:09,680.680 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:19:09,887.887 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:19:09,905.905 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:19:10,048.048 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:19:10,053.053 INFO    ] time= 20/10/2026 20:19:10
[2026-10-20 20:19:10,059.059 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:19:10,100.100 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:19:10,254.254 INFO    ] No existing commands found in stream
[2026-10-20 20:19:15,265.265 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:19:15,267.267 INFO    ] Waiting 1.25 seconds before fallback handling...
[2026-10-20 20:19:17,093.093 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 20:19:17,096.096 INFO    ] Checking for system updates...
[2026-10-20 20:19:17,131.131 INFO    ] 200
[2026-10-20 20:19:17,133.133 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:19:17,186.186 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:19:17,189.189 INFO    ] No update needed
[2026-10-20 20:19:17,191.191 INFO    ] Checking for camera pi updates...
[2026-10-20 20:19:17,225.225 INFO    ] 200
[2026-10-20 20:19:17,228.228 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:19:17,269.269 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:19:17,317.317 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:19:17,320.320 INFO    ] No camera update needed
[2026-10-20 20:19:17,323.323 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:19:17,325.325 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:19:17,332.332 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:19:17,337.337 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:19:19,379.379 INFO    ] ================================================
[2026-10-20 20:19:19,394.394 INFO    ] Launching Daemon at Tue Oct 20 20:19:19 IST 2026
[2026-10-20 20:19:19,406.406 INFO    ] ================================================
[2026-10-20 20:19:20,044.044 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:19:20
[2026-10-20 20:19:20,647.647 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:19:20,923.923 INFO    ] Initializing speech engine...
[2026-10-20 20:19:20,932.932 INFO    ] 2026-10-20 20:19:20
[2026-10-20 20:19:21,195.195 INFO    ] 2026-10-20 20:19:21
[2026-10-20 20:19:21,225.225 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:19:21,477.477 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:19:21,482.482 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:19:21,691.691 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:19:21,739.739 INFO    ] time= 20/10/2026 20:19:21
[2026-10-20 20:19:21,746.746 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:19:21,764.764 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:19:21,894.894 INFO    ] No existing commands found in stream
[2026-10-20 20:19:26,907.907 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:19:26,911.911 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-10-20 20:19:28,549.549 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:19:28,552.552 INFO    ] Checking for system updates...
[2026-10-20 20:19:28,592.592 INFO    ] 200
[2026-10-20 20:19:28,595.595 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:19:28,654.654 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:19:28,657.657 INFO    ] No update needed
[2026-10-20 20:19:28,659.659 INFO    ] Checking for camera pi updates...
[2026-10-20 20:19:28,697.697 INFO    ] 200
[2026-10-20 20:19:28,700.700 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:19:28,750.750 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:19:28,797.797 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:19:28,800.800 INFO    ] No camera update needed
[2026-10-20 20:19:28,803.803 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:19:28,807.807 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:19:28,814.814 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:19:28,822.822 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:19:30,865.865 INFO    ] ================================================
[2026-10-20 20:19:30,880.880 INFO    ] Launching Daemon at Tue Oct 20 20:19:30 IST 2026
[2026-10-20 20:19:30,892.892 INFO    ] ================================================
[2026-10-20 20:19:31,456.456 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:19:31
[2026-10-20 20:19:32,067.067 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:19:32,344.344 INFO    ] Initializing speech engine...
[2026-10-20 20:19:32,371.371 INFO    ] 2026-10-20 20:19:32
[2026-10-20 20:19:32,670.670 INFO    ] 2026-10-20 20:19:32
[2026-10-20 20:19:32,707.707 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:19:32,925.925 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:19:32,949.949 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:19:33,093.093 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:19:33,098.098 INFO    ] time= 20/10/2026 20:19:33
[2026-10-20 20:19:33,104.104 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:19:33,134.134 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:19:33,294.294 INFO    ] No existing commands found in stream
[2026-10-20 20:19:38,304.304 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:19:38,307.307 INFO    ] Waiting 0.51 seconds before fallback handling...
[2026-10-20 20:19:39,348.348 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:19:39,351.351 INFO    ] Checking for system updates...
[2026-10-20 20:19:39,386.386 INFO    ] 200
[2026-10-20 20:19:39,389.389 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:19:39,443.443 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:19:39,445.445 INFO    ] No update needed
[2026-10-20 20:19:39,447.447 INFO    ] Checking for camera pi updates...
[2026-10-20 20:19:39,481.481 INFO    ] 200
[2026-10-20 20:19:39,483.483 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:19:39,524.524 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:19:39,574.574 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:19:39,576.576 INFO    ] No camera update needed
[2026-10-20 20:19:39,578.578 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:19:39,581.581 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:19:39,586.586 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:19:39,591.591 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:19:41,631.631 INFO    ] ================================================
[2026-10-20 20:19:41,646.646 INFO    ] Launching Daemon at Tue Oct 20 20:19:41 IST 2026
[2026-10-20 20:19:41,657.657 INFO    ] ================================================
[2026-10-20 20:19:42,224.224 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:19:42
[2026-10-20 20:19:42,810.810 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:19:43,064.064 INFO    ] Initializing speech engine...
[2026-10-20 20:19:43,073.073 INFO    ] 2026-10-20 20:19:43
[2026-10-20 20:19:43,366.366 INFO    ] 2026-10-20 20:19:43
[2026-10-20 20:19:43,403.403 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:19:43,624.624 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:19:43,633.633 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:19:43,837.837 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:19:43,855.855 INFO    ] time= 20/10/2026 20:19:43
[2026-10-20 20:19:43,898.898 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:19:43,947.947 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:19:44,068.068 INFO    ] No existing commands found in stream
[2026-10-20 20:19:49,079.079 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:19:49,082.082 INFO    ] Waiting 2.88 seconds before fallback handling...
[2026-10-20 20:19:52,468.468 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:19:52,471.471 INFO    ] Checking for system updates...
[2026-10-20 20:19:52,508.508 INFO    ] 200
[2026-10-20 20:19:52,510.510 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:19:52,562.562 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:19:52,564.564 INFO    ] No update needed
[2026-10-20 20:19:52,567.567 INFO    ] Checking for camera pi updates...
[2026-10-20 20:19:52,600.600 INFO    ] 200
[2026-10-20 20:19:52,603.603 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:19:52,644.644 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:19:52,690.690 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:19:52,692.692 INFO    ] No camera update needed
[2026-10-20 20:19:52,694.694 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:19:52,697.697 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:19:52,702.702 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:19:52,707.707 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:19:54,747.747 INFO    ] ================================================
[2026-10-20 20:19:54,762.762 INFO    ] Launching Daemon at Tue Oct 20 20:19:54 IST 2026
[2026-10-20 20:19:54,773.773 INFO    ] ================================================
[2026-10-20 20:19:55,347.347 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:19:55
[2026-10-20 20:19:55,934.934 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:19:56,199.199 INFO    ] Initializing speech engine...
[2026-10-20 20:19:56,211.211 INFO    ] 2026-10-20 20:19:56
[2026-10-20 20:19:56,454.454 INFO    ] 2026-10-20 20:19:56
[2026-10-20 20:19:56,490.490 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:19:56,697.697 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:19:56,753.753 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:19:56,936.936 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:19:56,990.990 INFO    ] time= 20/10/2026 20:19:56
[2026-10-20 20:19:57,030.030 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:19:57,036.036 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:19:57,185.185 INFO    ] No existing commands found in stream
[2026-10-20 20:20:02,200.200 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:20:02,204.204 INFO    ] Waiting 1.50 seconds before fallback handling...
[2026-10-20 20:20:08,118.118 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:20:08,121.121 INFO    ] Checking for system updates...
[2026-10-20 20:20:08,157.157 INFO    ] 200
[2026-10-20 20:20:08,160.160 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:20:08,212.212 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:20:08,214.214 INFO    ] No update needed
[2026-10-20 20:20:08,216.216 INFO    ] Checking for camera pi updates...
[2026-10-20 20:20:08,254.254 INFO    ] 200
[2026-10-20 20:20:08,257.257 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:20:08,319.319 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:20:08,354.354 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:20:08,357.357 INFO    ] No camera update needed
[2026-10-20 20:20:08,360.360 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:20:08,363.363 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:20:08,368.368 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:20:08,374.374 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:20:10,415.415 INFO    ] ================================================
[2026-10-20 20:20:10,431.431 INFO    ] Launching Daemon at Tue Oct 20 20:20:10 IST 2026
[2026-10-20 20:20:10,442.442 INFO    ] ================================================
[2026-10-20 20:20:11,023.023 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:20:11
[2026-10-20 20:20:11,621.621 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:20:11,897.897 INFO    ] Initializing speech engine...
[2026-10-20 20:20:11,902.902 INFO    ] 2026-10-20 20:20:11
[2026-10-20 20:20:12,152.152 INFO    ] 2026-10-20 20:20:12
[2026-10-20 20:20:12,185.185 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:20:12,391.391 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:20:12,450.450 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:20:12,651.651 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:20:12,700.700 INFO    ] time= 20/10/2026 20:20:12
[2026-10-20 20:20:12,725.725 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:20:12,731.731 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:20:12,883.883 INFO    ] No existing commands found in stream
[2026-10-20 20:20:17,907.907 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:20:17,910.910 INFO    ] Waiting 0.95 seconds before fallback handling...
[2026-10-20 20:20:19,367.367 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:20:19,370.370 INFO    ] Checking for system updates...
[2026-10-20 20:20:19,409.409 INFO    ] 200
[2026-10-20 20:20:19,412.412 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:20:19,483.483 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:20:19,486.486 INFO    ] No update needed
[2026-10-20 20:20:19,489.489 INFO    ] Checking for camera pi updates...
[2026-10-20 20:20:19,525.525 INFO    ] 200
[2026-10-20 20:20:19,528.528 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:20:19,572.572 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:20:19,617.617 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:20:19,620.620 INFO    ] No camera update needed
[2026-10-20 20:20:19,623.623 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:20:19,626.626 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:20:19,632.632 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:20:19,638.638 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:20:21,681.681 INFO    ] ================================================
[2026-10-20 20:20:21,697.697 INFO    ] Launching Daemon at Tue Oct 20 20:20:21 IST 2026
[2026-10-20 20:20:21,707.707 INFO    ] ================================================
[2026-10-20 20:20:22,288.288 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:20:22
[2026-10-20 20:20:22,885.885 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:20:23,155.155 INFO    ] Initializing speech engine...
[2026-10-20 20:20:23,168.168 INFO    ] 2026-10-20 20:20:23
[2026-10-20 20:20:23,418.418 INFO    ] 2026-10-20 20:20:23
[2026-10-20 20:20:23,453.453 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:20:23,710.710 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:20:23,714.714 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:20:23,850.850 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:20:23,920.920 INFO    ] time= 20/10/2026 20:20:23
[2026-10-20 20:20:23,978.978 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:20:23,985.985 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:20:24,132.132 INFO    ] No existing commands found in stream
[2026-10-20 20:20:29,154.154 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:20:29,157.157 INFO    ] Waiting 3.23 seconds before fallback handling...
[2026-10-20 20:20:32,926.926 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:20:32,929.929 INFO    ] Checking for system updates...
[2026-10-20 20:20:32,974.974 INFO    ] 200
[2026-10-20 20:20:32,977.977 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:20:33,038.038 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:20:33,041.041 INFO    ] No update needed
[2026-10-20 20:20:33,044.044 INFO    ] Checking for camera pi updates...
[2026-10-20 20:20:33,078.078 INFO    ] 200
[2026-10-20 20:20:33,081.081 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:20:33,136.136 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:20:33,198.198 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:20:33,201.201 INFO    ] No camera update needed
[2026-10-20 20:20:33,203.203 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:20:33,206.206 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:20:33,211.211 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:20:33,216.216 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:20:35,259.259 INFO    ] ================================================
[2026-10-20 20:20:35,275.275 INFO    ] Launching Daemon at Tue Oct 20 20:20:35 IST 2026
[2026-10-20 20:20:35,286.286 INFO    ] ================================================
[2026-10-20 20:20:35,867.867 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:20:35
[2026-10-20 20:20:36,452.452 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:20:36,707.707 INFO    ] Initializing speech engine...
[2026-10-20 20:20:36,715.715 INFO    ] 2026-10-20 20:20:36
[2026-10-20 20:20:37,010.010 INFO    ] 2026-10-20 20:20:36
[2026-10-20 20:20:37,045.045 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:20:37,271.271 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:20:37,280.280 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:20:37,427.427 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:20:37,434.434 INFO    ] time= 20/10/2026 20:20:37
[2026-10-20 20:20:37,441.441 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:20:37,473.473 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:20:37,620.620 INFO    ] No existing commands found in stream
[2026-10-20 20:20:42,650.650 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:20:42,653.653 INFO    ] Waiting 3.05 seconds before fallback handling...
[2026-10-20 20:20:46,218.218 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 20:20:46,220.220 INFO    ] Checking for system updates...
[2026-10-20 20:20:46,256.256 INFO    ] 200
[2026-10-20 20:20:46,259.259 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:20:46,312.312 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:20:46,315.315 INFO    ] No update needed
[2026-10-20 20:20:46,318.318 INFO    ] Checking for camera pi updates...
[2026-10-20 20:20:46,352.352 INFO    ] 200
[2026-10-20 20:20:46,355.355 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:20:46,396.396 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:20:46,542.542 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:20:46,545.545 INFO    ] No camera update needed
[2026-10-20 20:20:46,548.548 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:20:46,551.551 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:20:46,557.557 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:20:46,563.563 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:20:48,604.604 INFO    ] ================================================
[2026-10-20 20:20:48,620.620 INFO    ] Launching Daemon at Tue Oct 20 20:20:48 IST 2026
[2026-10-20 20:20:48,630.630 INFO    ] ================================================
[2026-10-20 20:20:49,282.282 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:20:49
[2026-10-20 20:20:49,955.955 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:20:50,262.262 INFO    ] Initializing speech engine...
[2026-10-20 20:20:50,270.270 INFO    ] 2026-10-20 20:20:50
[2026-10-20 20:20:50,561.561 INFO    ] 2026-10-20 20:20:50
[2026-10-20 20:20:50,605.605 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:20:50,838.838 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:20:50,844.844 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:20:51,073.073 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:20:51,111.111 INFO    ] time= 20/10/2026 20:20:51
[2026-10-20 20:20:51,131.131 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:20:51,160.160 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:20:51,270.270 INFO    ] No existing commands found in stream
[2026-10-20 20:20:56,293.293 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:20:56,296.296 INFO    ] Waiting 2.23 seconds before fallback handling...
[2026-10-20 20:21:00,096.096 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:21:00,099.099 INFO    ] Checking for system updates...
[2026-10-20 20:21:00,140.140 INFO    ] 200
[2026-10-20 20:21:00,143.143 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:21:00,197.197 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:21:00,200.200 INFO    ] No update needed
[2026-10-20 20:21:00,203.203 INFO    ] Checking for camera pi updates...
[2026-10-20 20:21:00,244.244 INFO    ] 200
[2026-10-20 20:21:00,246.246 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:21:00,290.290 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:21:00,340.340 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:21:00,342.342 INFO    ] No camera update needed
[2026-10-20 20:21:00,344.344 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:21:00,347.347 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:21:00,352.352 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:21:00,357.357 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:21:02,400.400 INFO    ] ================================================
[2026-10-20 20:21:02,419.419 INFO    ] Launching Daemon at Tue Oct 20 20:21:02 IST 2026
[2026-10-20 20:21:02,433.433 INFO    ] ================================================
[2026-10-20 20:21:03,154.154 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:21:03
[2026-10-20 20:21:03,873.873 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:21:04,181.181 INFO    ] Initializing speech engine...
[2026-10-20 20:21:04,191.191 INFO    ] 2026-10-20 20:21:04
[2026-10-20 20:21:04,469.469 INFO    ] 2026-10-20 20:21:04
[2026-10-20 20:21:04,525.525 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:21:04,784.784 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:21:04,790.790 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:21:05,003.003 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:21:05,035.035 INFO    ] time= 20/10/2026 20:21:05
[2026-10-20 20:21:05,051.051 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:21:05,060.060 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:21:05,194.194 INFO    ] No existing commands found in stream
[2026-10-20 20:21:10,217.217 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:21:10,221.221 INFO    ] Waiting 0.45 seconds before fallback handling...
[2026-10-20 20:21:11,233.233 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:21:11,236.236 INFO    ] Checking for system updates...
[2026-10-20 20:21:11,273.273 INFO    ] 200
[2026-10-20 20:21:11,276.276 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:21:11,330.330 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:21:11,333.333 INFO    ] No update needed
[2026-10-20 20:21:11,336.336 INFO    ] Checking for camera pi updates...
[2026-10-20 20:21:11,370.370 INFO    ] 200
[2026-10-20 20:21:11,373.373 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:21:11,414.414 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:21:11,461.461 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:21:11,463.463 INFO    ] No camera update needed
[2026-10-20 20:21:11,466.466 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:21:11,469.469 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:21:11,475.475 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:21:11,481.481 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:21:13,522.522 INFO    ] ================================================
[2026-10-20 20:21:13,538.538 INFO    ] Launching Daemon at Tue Oct 20 20:21:13 IST 2026
[2026-10-20 20:21:13,548.548 INFO    ] ================================================
[2026-10-20 20:21:14,120.120 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:21:14
[2026-10-20 20:21:14,732.732 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:21:14,999.999 INFO    ] Initializing speech engine...
[2026-10-20 20:21:15,018.018 INFO    ] 2026-10-20 20:21:15
[2026-10-20 20:21:15,298.298 INFO    ] 2026-10-20 20:21:15
[2026-10-20 20:21:15,336.336 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:21:15,546.546 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:21:15,580.580 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:21:15,778.778 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:21:15,822.822 INFO    ] time= 20/10/2026 20:21:15
[2026-10-20 20:21:15,876.876 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:21:15,921.921 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:21:16,003.003 INFO    ] No existing commands found in stream
[2026-10-20 20:21:21,015.015 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:21:21,018.018 INFO    ] Waiting 1.30 seconds before fallback handling...
[2026-10-20 20:21:22,828.828 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:21:22,831.831 INFO    ] Checking for system updates...
[2026-10-20 20:21:22,866.866 INFO    ] 200
[2026-10-20 20:21:22,868.868 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:21:22,921.921 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:21:22,924.924 INFO    ] No update needed
[2026-10-20 20:21:22,926.926 INFO    ] Checking for camera pi updates...
[2026-10-20 20:21:22,959.959 INFO    ] 200
[2026-10-20 20:21:22,962.962 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:21:23,002.002 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:21:23,055.055 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:21:23,057.057 INFO    ] No camera update needed
[2026-10-20 20:21:23,061.061 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:21:23,063.063 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:21:23,069.069 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:21:23,074.074 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:21:25,113.113 INFO    ] ================================================
[2026-10-20 20:21:25,129.129 INFO    ] Launching Daemon at Tue Oct 20 20:21:25 IST 2026
[2026-10-20 20:21:25,140.140 INFO    ] ================================================
[2026-10-20 20:21:25,719.719 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:21:25
[2026-10-20 20:21:26,317.317 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:21:26,589.589 INFO    ] Initializing speech engine...
[2026-10-20 20:21:26,598.598 INFO    ] 2026-10-20 20:21:26
[2026-10-20 20:21:26,861.861 INFO    ] 2026-10-20 20:21:26
[2026-10-20 20:21:26,891.891 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:21:27,135.135 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:21:27,145.145 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:21:27,374.374 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:21:27,402.402 INFO    ] time= 20/10/2026 20:21:27
[2026-10-20 20:21:27,408.408 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:21:27,427.427 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:21:27,581.581 INFO    ] No existing commands found in stream
[2026-10-20 20:21:32,617.617 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:21:32,620.620 INFO    ] Waiting 2.94 seconds before fallback handling...
[2026-10-20 20:21:36,057.057 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:21:36,060.060 INFO    ] Checking for system updates...
[2026-10-20 20:21:36,101.101 INFO    ] 200
[2026-10-20 20:21:36,103.103 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:21:36,164.164 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:21:36,166.166 INFO    ] No update needed
[2026-10-20 20:21:36,169.169 INFO    ] Checking for camera pi updates...
[2026-10-20 20:21:36,202.202 INFO    ] 200
[2026-10-20 20:21:36,204.204 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:21:36,244.244 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:21:36,298.298 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:21:36,301.301 INFO    ] No camera update needed
[2026-10-20 20:21:36,303.303 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:21:36,306.306 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:21:36,311.311 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:21:36,316.316 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:21:38,358.358 INFO    ] ================================================
[2026-10-20 20:21:38,374.374 INFO    ] Launching Daemon at Tue Oct 20 20:21:38 IST 2026
[2026-10-20 20:21:38,384.384 INFO    ] ================================================
[2026-10-20 20:21:39,051.051 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:21:39
[2026-10-20 20:21:39,738.738 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:21:40,047.047 INFO    ] Initializing speech engine...
[2026-10-20 20:21:40,060.060 INFO    ] 2026-10-20 20:21:40
[2026-10-20 20:21:40,347.347 INFO    ] 2026-10-20 20:21:40
[2026-10-20 20:21:40,458.458 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:21:40,678.678 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:21:40,741.741 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:21:40,921.921 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:21:40,930.930 INFO    ] time= 20/10/2026 20:21:40
[2026-10-20 20:21:40,982.982 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:21:41,031.031 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:21:41,158.158 INFO    ] No existing commands found in stream
[2026-10-20 20:21:46,189.189 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:21:46,192.192 INFO    ] Waiting 1.96 seconds before fallback handling...
[2026-10-20 20:21:48,690.690 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:21:48,694.694 INFO    ] Checking for system updates...
[2026-10-20 20:21:48,732.732 INFO    ] 200
[2026-10-20 20:21:48,734.734 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:21:48,787.787 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:21:48,790.790 INFO    ] No update needed
[2026-10-20 20:21:48,792.792 INFO    ] Checking for camera pi updates...
[2026-10-20 20:21:48,826.826 INFO    ] 200
[2026-10-20 20:21:48,829.829 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:21:48,869.869 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:21:48,915.915 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:21:48,917.917 INFO    ] No camera update needed
[2026-10-20 20:21:48,919.919 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:21:48,922.922 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:21:48,927.927 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:21:48,932.932 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:21:50,972.972 INFO    ] ================================================
[2026-10-20 20:21:50,989.989 INFO    ] Launching Daemon at Tue Oct 20 20:21:50 IST 2026
[2026-10-20 20:21:51,001.001 INFO    ] ================================================
[2026-10-20 20:21:51,572.572 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:21:51
[2026-10-20 20:21:52,167.167 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:21:52,426.426 INFO    ] Initializing speech engine...
[2026-10-20 20:21:52,435.435 INFO    ] 2026-10-20 20:21:52
[2026-10-20 20:21:52,734.734 INFO    ] 2026-10-20 20:21:52
[2026-10-20 20:21:52,769.769 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:21:53,000.000 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:21:53,009.009 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:21:53,157.157 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:21:53,167.167 INFO    ] time= 20/10/2026 20:21:53
[2026-10-20 20:21:53,174.174 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:21:53,179.179 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:21:53,325.325 INFO    ] No existing commands found in stream
[2026-10-20 20:21:58,350.350 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:21:58,352.352 INFO    ] Waiting 0.04 seconds before fallback handling...
[2026-10-20 20:21:58,910.910 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:21:58,912.912 INFO    ] Checking for system updates...
[2026-10-20 20:21:58,949.949 INFO    ] 200
[2026-10-20 20:21:58,951.951 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:21:59,012.012 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:21:59,014.014 INFO    ] No update needed
[2026-10-20 20:21:59,016.016 INFO    ] Checking for camera pi updates...
[2026-10-20 20:21:59,050.050 INFO    ] 200
[2026-10-20 20:21:59,053.053 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:21:59,092.092 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:21:59,151.151 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:21:59,153.153 INFO    ] No camera update needed
[2026-10-20 20:21:59,155.155 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:21:59,158.158 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:21:59,163.163 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:21:59,168.168 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:22:01,209.209 INFO    ] ================================================
[2026-10-20 20:22:01,224.224 INFO    ] Launching Daemon at Tue Oct 20 20:22:01 IST 2026
[2026-10-20 20:22:01,236.236 INFO    ] ================================================
[2026-10-20 20:22:01,957.957 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:22:01
[2026-10-20 20:22:02,748.748 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:22:03,044.044 INFO    ] Initializing speech engine...
[2026-10-20 20:22:03,064.064 INFO    ] 2026-10-20 20:22:03
[2026-10-20 20:22:03,364.364 INFO    ] 2026-10-20 20:22:03
[2026-10-20 20:22:03,405.405 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:22:03,634.634 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:22:03,687.687 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:22:03,857.857 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:22:03,897.897 INFO    ] time= 20/10/2026 20:22:03
[2026-10-20 20:22:03,957.957 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:22:04,002.002 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:22:04,138.138 INFO    ] No existing commands found in stream
[2026-10-20 20:22:09,165.165 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:22:09,168.168 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-10-20 20:22:11,672.672 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:22:11,675.675 INFO    ] Checking for system updates...
[2026-10-20 20:22:11,711.711 INFO    ] 200
[2026-10-20 20:22:11,713.713 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:22:11,770.770 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:22:11,773.773 INFO    ] No update needed
[2026-10-20 20:22:11,775.775 INFO    ] Checking for camera pi updates...
[2026-10-20 20:22:11,809.809 INFO    ] 200
[2026-10-20 20:22:11,811.811 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:22:11,852.852 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:22:11,903.903 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:22:11,905.905 INFO    ] No camera update needed
[2026-10-20 20:22:11,907.907 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:22:11,910.910 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:22:11,915.915 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:22:11,920.920 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:22:13,959.959 INFO    ] ================================================
[2026-10-20 20:22:13,974.974 INFO    ] Launching Daemon at Tue Oct 20 20:22:13 IST 2026
[2026-10-20 20:22:13,985.985 INFO    ] ================================================
[2026-10-20 20:22:14,551.551 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:22:14
[2026-10-20 20:22:15,135.135 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:22:15,403.403 INFO    ] Initializing speech engine...
[2026-10-20 20:22:15,419.419 INFO    ] 2026-10-20 20:22:15
[2026-10-20 20:22:15,687.687 INFO    ] 2026-10-20 20:22:15
[2026-10-20 20:22:15,726.726 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:22:15,950.950 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:22:15,989.989 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:22:16,171.171 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:22:16,198.198 INFO    ] time= 20/10/2026 20:22:16
[2026-10-20 20:22:16,258.258 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:22:16,318.318 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:22:16,445.445 INFO    ] No existing commands found in stream
[2026-10-20 20:22:21,468.468 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:22:21,471.471 INFO    ] Waiting 2.99 seconds before fallback handling...
[2026-10-20 20:22:24,972.972 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:22:24,975.975 INFO    ] Checking for system updates...
[2026-10-20 20:22:25,011.011 INFO    ] 200
[2026-10-20 20:22:25,013.013 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:22:25,065.065 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:22:25,067.067 INFO    ] No update needed
[2026-10-20 20:22:25,070.070 INFO    ] Checking for camera pi updates...
[2026-10-20 20:22:25,103.103 INFO    ] 200
[2026-10-20 20:22:25,106.106 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:22:25,150.150 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:22:25,200.200 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:22:25,202.202 INFO    ] No camera update needed
[2026-10-20 20:22:25,205.205 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:22:25,208.208 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:22:25,214.214 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:22:25,219.219 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:22:27,261.261 INFO    ] ================================================
[2026-10-20 20:22:27,277.277 INFO    ] Launching Daemon at Tue Oct 20 20:22:27 IST 2026
[2026-10-20 20:22:27,287.287 INFO    ] ================================================
[2026-10-20 20:22:27,861.861 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:22:27
[2026-10-20 20:22:28,452.452 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:22:28,701.701 INFO    ] Initializing speech engine...
[2026-10-20 20:22:28,723.723 INFO    ] 2026-10-20 20:22:28
[2026-10-20 20:22:28,980.980 INFO    ] 2026-10-20 20:22:28
[2026-10-20 20:22:29,015.015 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:22:29,271.271 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:22:29,276.276 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:22:29,490.490 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:22:29,530.530 INFO    ] time= 20/10/2026 20:22:29
[2026-10-20 20:22:29,536.536 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:22:29,554.554 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:22:29,685.685 INFO    ] No existing commands found in stream
[2026-10-20 20:22:34,700.700 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:22:34,703.703 INFO    ] Waiting 0.90 seconds before fallback handling...
[2026-10-20 20:22:36,086.086 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:22:36,089.089 INFO    ] Checking for system updates...
[2026-10-20 20:22:36,124.124 INFO    ] 200
[2026-10-20 20:22:36,127.127 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:22:36,178.178 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:22:36,180.180 INFO    ] No update needed
[2026-10-20 20:22:36,183.183 INFO    ] Checking for camera pi updates...
[2026-10-20 20:22:36,215.215 INFO    ] 200
[2026-10-20 20:22:36,218.218 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:22:36,262.262 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:22:36,314.314 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:22:36,316.316 INFO    ] No camera update needed
[2026-10-20 20:22:36,318.318 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:22:36,321.321 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:22:36,326.326 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:22:36,331.331 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:22:38,373.373 INFO    ] ================================================
[2026-10-20 20:22:38,388.388 INFO    ] Launching Daemon at Tue Oct 20 20:22:38 IST 2026
[2026-10-20 20:22:38,398.398 INFO    ] ================================================
[2026-10-20 20:22:39,036.036 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:22:39
[2026-10-20 20:22:39,696.696 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:22:39,996.996 INFO    ] Initializing speech engine...
[2026-10-20 20:22:40,009.009 INFO    ] 2026-10-20 20:22:40
[2026-10-20 20:22:40,286.286 INFO    ] 2026-10-20 20:22:40
[2026-10-20 20:22:40,330.330 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:22:40,614.614 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:22:40,619.619 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:22:40,813.813 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:22:40,820.820 INFO    ] time= 20/10/2026 20:22:40
[2026-10-20 20:22:40,842.842 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:22:40,871.871 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:22:41,032.032 INFO    ] No existing commands found in stream
[2026-10-20 20:22:46,061.061 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:22:46,064.064 INFO    ] Waiting 1.38 seconds before fallback handling...
[2026-10-20 20:22:47,955.955 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:22:47,958.958 INFO    ] Checking for system updates...
[2026-10-20 20:22:47,995.995 INFO    ] 200
[2026-10-20 20:22:47,998.998 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:22:48,053.053 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:22:48,056.056 INFO    ] No update needed
[2026-10-20 20:22:48,058.058 INFO    ] Checking for camera pi updates...
[2026-10-20 20:22:48,093.093 INFO    ] 200
[2026-10-20 20:22:48,096.096 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:22:48,141.141 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:22:48,198.198 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:22:48,201.201 INFO    ] No camera update needed
[2026-10-20 20:22:48,203.203 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:22:48,205.205 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:22:48,211.211 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:22:48,216.216 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:22:50,255.255 INFO    ] ================================================
[2026-10-20 20:22:50,270.270 INFO    ] Launching Daemon at Tue Oct 20 20:22:50 IST 2026
[2026-10-20 20:22:50,281.281 INFO    ] ================================================
[2026-10-20 20:22:50,862.862 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:22:50
[2026-10-20 20:22:51,507.507 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:22:51,805.805 INFO    ] Initializing speech engine...
[2026-10-20 20:22:51,819.819 INFO    ] 2026-10-20 20:22:51
[2026-10-20 20:22:52,095.095 INFO    ] 2026-10-20 20:22:52
[2026-10-20 20:22:52,139.139 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:22:52,362.362 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:22:52,369.369 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:22:52,619.619 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:22:52,628.628 INFO    ] time= 20/10/2026 20:22:52
[2026-10-20 20:22:52,648.648 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:22:52,675.675 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:22:52,782.782 INFO    ] No existing commands found in stream
[2026-10-20 20:22:57,806.806 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:22:57,809.809 INFO    ] Waiting 1.59 seconds before fallback handling...
[2026-10-20 20:22:59,894.894 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:22:59,897.897 INFO    ] Checking for system updates...
[2026-10-20 20:22:59,937.937 INFO    ] 200
[2026-10-20 20:22:59,940.940 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:22:59,993.993 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:22:59,996.996 INFO    ] No update needed
[2026-10-20 20:22:59,999.999 INFO    ] Checking for camera pi updates...
[2026-10-20 20:23:00,032.032 INFO    ] 200
[2026-10-20 20:23:00,034.034 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:23:00,075.075 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:23:00,222.222 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:23:00,225.225 INFO    ] No camera update needed
[2026-10-20 20:23:00,227.227 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:23:00,230.230 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:23:00,235.235 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:23:00,240.240 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:23:02,295.295 INFO    ] ================================================
[2026-10-20 20:23:02,319.319 INFO    ] Launching Daemon at Tue Oct 20 20:23:02 IST 2026
[2026-10-20 20:23:02,336.336 INFO    ] ================================================
[2026-10-20 20:23:03,022.022 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:23:03
[2026-10-20 20:23:03,623.623 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:23:03,916.916 INFO    ] Initializing speech engine...
[2026-10-20 20:23:03,924.924 INFO    ] 2026-10-20 20:23:03
[2026-10-20 20:23:04,207.207 INFO    ] 2026-10-20 20:23:04
[2026-10-20 20:23:04,252.252 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:23:04,556.556 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:23:04,606.606 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:23:04,786.786 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:23:04,795.795 INFO    ] time= 20/10/2026 20:23:04
[2026-10-20 20:23:04,804.804 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:23:04,869.869 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:23:04,999.999 INFO    ] No existing commands found in stream
[2026-10-20 20:23:10,024.024 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:23:10,027.027 INFO    ] Waiting 3.26 seconds before fallback handling...
[2026-10-20 20:23:13,801.801 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:23:13,804.804 INFO    ] Checking for system updates...
[2026-10-20 20:23:13,843.843 INFO    ] 200
[2026-10-20 20:23:13,846.846 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:23:13,903.903 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:23:13,906.906 INFO    ] No update needed
[2026-10-20 20:23:13,909.909 INFO    ] Checking for camera pi updates...
[2026-10-20 20:23:13,944.944 INFO    ] 200
[2026-10-20 20:23:13,946.946 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:23:13,987.987 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:23:14,046.046 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:23:14,049.049 INFO    ] No camera update needed
[2026-10-20 20:23:14,052.052 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:23:14,054.054 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:23:14,060.060 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:23:14,066.066 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:23:16,106.106 INFO    ] ================================================
[2026-10-20 20:23:16,121.121 INFO    ] Launching Daemon at Tue Oct 20 20:23:16 IST 2026
[2026-10-20 20:23:16,133.133 INFO    ] ================================================
[2026-10-20 20:23:16,705.705 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:23:16
[2026-10-20 20:23:17,293.293 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:23:17,570.570 INFO    ] Initializing speech engine...
[2026-10-20 20:23:17,579.579 INFO    ] 2026-10-20 20:23:17
[2026-10-20 20:23:17,836.836 INFO    ] 2026-10-20 20:23:17
[2026-10-20 20:23:17,890.890 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:23:18,176.176 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:23:18,184.184 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:23:18,377.377 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:23:18,388.388 INFO    ] time= 20/10/2026 20:23:18
[2026-10-20 20:23:18,406.406 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:23:18,413.413 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:23:18,567.567 INFO    ] No existing commands found in stream
[2026-10-20 20:23:23,597.597 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:23:23,600.600 INFO    ] Waiting 1.99 seconds before fallback handling...
[2026-10-20 20:23:26,088.088 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:23:26,091.091 INFO    ] Checking for system updates...
[2026-10-20 20:23:26,126.126 INFO    ] 200
[2026-10-20 20:23:26,129.129 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:23:26,181.181 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:23:26,184.184 INFO    ] No update needed
[2026-10-20 20:23:26,186.186 INFO    ] Checking for camera pi updates...
[2026-10-20 20:23:26,231.231 INFO    ] 200
[2026-10-20 20:23:26,233.233 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:23:26,275.275 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:23:26,323.323 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:23:26,325.325 INFO    ] No camera update needed
[2026-10-20 20:23:26,328.328 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:23:26,330.330 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:23:26,336.336 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:23:26,341.341 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:23:28,381.381 INFO    ] ================================================
[2026-10-20 20:23:28,397.397 INFO    ] Launching Daemon at Tue Oct 20 20:23:28 IST 2026
[2026-10-20 20:23:28,409.409 INFO    ] ================================================
[2026-10-20 20:23:28,975.975 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:23:28
[2026-10-20 20:23:29,561.561 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:23:29,809.809 INFO    ] Initializing speech engine...
[2026-10-20 20:23:29,815.815 INFO    ] 2026-10-20 20:23:29
[2026-10-20 20:23:30,088.088 INFO    ] 2026-10-20 20:23:30
[2026-10-20 20:23:30,124.124 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:23:30,365.365 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:23:30,387.387 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:23:30,595.595 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:23:30,649.649 INFO    ] time= 20/10/2026 20:23:30
[2026-10-20 20:23:30,666.666 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:23:30,681.681 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:23:30,803.803 INFO    ] No existing commands found in stream
[2026-10-20 20:23:35,829.829 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:23:35,831.831 INFO    ] Waiting 3.24 seconds before fallback handling...
[2026-10-20 20:23:39,611.611 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:23:39,614.614 INFO    ] Checking for system updates...
[2026-10-20 20:23:39,658.658 INFO    ] 200
[2026-10-20 20:23:39,661.661 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:23:39,717.717 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:23:39,720.720 INFO    ] No update needed
[2026-10-20 20:23:39,722.722 INFO    ] Checking for camera pi updates...
[2026-10-20 20:23:39,762.762 INFO    ] 200
[2026-10-20 20:23:39,765.765 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:23:39,826.826 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:23:39,881.881 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:23:39,883.883 INFO    ] No camera update needed
[2026-10-20 20:23:39,886.886 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:23:39,888.888 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:23:39,895.895 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:23:39,902.902 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:23:41,944.944 INFO    ] ================================================
[2026-10-20 20:23:41,960.960 INFO    ] Launching Daemon at Tue Oct 20 20:23:41 IST 2026
[2026-10-20 20:23:41,972.972 INFO    ] ================================================
[2026-10-20 20:23:42,565.565 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:23:42
[2026-10-20 20:23:43,176.176 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:23:43,461.461 INFO    ] Initializing speech engine...
[2026-10-20 20:23:43,471.471 INFO    ] 2026-10-20 20:23:43
[2026-10-20 20:23:43,728.728 INFO    ] 2026-10-20 20:23:43
[2026-10-20 20:23:43,764.764 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:23:44,036.036 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:23:44,043.043 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:23:44,182.182 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:23:44,252.252 INFO    ] time= 20/10/2026 20:23:44
[2026-10-20 20:23:44,314.314 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:23:44,322.322 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:23:44,455.455 INFO    ] No existing commands found in stream
[2026-10-20 20:23:49,472.472 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:23:49,475.475 INFO    ] Waiting 2.28 seconds before fallback handling...
[2026-10-20 20:23:52,270.270 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:23:52,273.273 INFO    ] Checking for system updates...
[2026-10-20 20:23:52,308.308 INFO    ] 200
[2026-10-20 20:23:52,311.311 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:23:52,367.367 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:23:52,369.369 INFO    ] No update needed
[2026-10-20 20:23:52,372.372 INFO    ] Checking for camera pi updates...
[2026-10-20 20:23:52,405.405 INFO    ] 200
[2026-10-20 20:23:52,407.407 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:23:52,451.451 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:23:52,496.496 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:23:52,499.499 INFO    ] No camera update needed
[2026-10-20 20:23:52,501.501 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:23:52,504.504 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:23:52,509.509 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:23:52,514.514 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:23:54,554.554 INFO    ] ================================================
[2026-10-20 20:23:54,577.577 INFO    ] Launching Daemon at Tue Oct 20 20:23:54 IST 2026
[2026-10-20 20:23:54,587.587 INFO    ] ================================================
[2026-10-20 20:23:55,155.155 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:23:55
[2026-10-20 20:23:55,742.742 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:23:56,016.016 INFO    ] Initializing speech engine...
[2026-10-20 20:23:56,023.023 INFO    ] 2026-10-20 20:23:56
[2026-10-20 20:23:56,282.282 INFO    ] 2026-10-20 20:23:56
[2026-10-20 20:23:56,335.335 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:23:56,589.589 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:23:56,595.595 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:23:56,798.798 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:23:56,832.832 INFO    ] time= 20/10/2026 20:23:56
[2026-10-20 20:23:56,838.838 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:23:56,855.855 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:23:56,970.970 INFO    ] No existing commands found in stream
[2026-10-20 20:24:01,991.991 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:24:01,994.994 INFO    ] Waiting 3.79 seconds before fallback handling...
[2026-10-20 20:24:06,286.286 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:24:06,288.288 INFO    ] Checking for system updates...
[2026-10-20 20:24:06,324.324 INFO    ] 200
[2026-10-20 20:24:06,327.327 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:24:06,385.385 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:24:06,388.388 INFO    ] No update needed
[2026-10-20 20:24:06,390.390 INFO    ] Checking for camera pi updates...
[2026-10-20 20:24:06,433.433 INFO    ] 200
[2026-10-20 20:24:06,436.436 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:24:06,481.481 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:24:06,534.534 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:24:06,537.537 INFO    ] No camera update needed
[2026-10-20 20:24:06,540.540 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:24:06,542.542 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:24:06,548.548 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:24:06,554.554 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:24:08,596.596 INFO    ] ================================================
[2026-10-20 20:24:08,611.611 INFO    ] Launching Daemon at Tue Oct 20 20:24:08 IST 2026
[2026-10-20 20:24:08,621.621 INFO    ] ================================================
[2026-10-20 20:24:09,194.194 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:24:09
[2026-10-20 20:24:09,780.780 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:24:10,032.032 INFO    ] Initializing speech engine...
[2026-10-20 20:24:10,055.055 INFO    ] 2026-10-20 20:24:10
[2026-10-20 20:24:10,309.309 INFO    ] 2026-10-20 20:24:10
[2026-10-20 20:24:10,344.344 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:24:10,667.667 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:24:10,672.672 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:24:10,854.854 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:24:10,874.874 INFO    ] time= 20/10/2026 20:24:10
[2026-10-20 20:24:10,880.880 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:24:10,898.898 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:24:11,015.015 INFO    ] No existing commands found in stream
[2026-10-20 20:24:16,040.040 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:24:16,043.043 INFO    ] Waiting 1.85 seconds before fallback handling...
[2026-10-20 20:24:19,977.977 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 20:24:19,980.980 INFO    ] Checking for system updates...
[2026-10-20 20:24:20,015.015 INFO    ] 200
[2026-10-20 20:24:20,017.017 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:24:20,070.070 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:24:20,072.072 INFO    ] No update needed
[2026-10-20 20:24:20,075.075 INFO    ] Checking for camera pi updates...
[2026-10-20 20:24:20,107.107 INFO    ] 200
[2026-10-20 20:24:20,110.110 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:24:20,150.150 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:24:20,200.200 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:24:20,203.203 INFO    ] No camera update needed
[2026-10-20 20:24:20,205.205 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:24:20,207.207 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:24:20,212.212 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:24:20,217.217 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:24:22,257.257 INFO    ] ================================================
[2026-10-20 20:24:22,272.272 INFO    ] Launching Daemon at Tue Oct 20 20:24:22 IST 2026
[2026-10-20 20:24:22,282.282 INFO    ] ================================================
[2026-10-20 20:24:22,856.856 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:24:22
[2026-10-20 20:24:23,440.440 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:24:23,708.708 INFO    ] Initializing speech engine...
[2026-10-20 20:24:23,717.717 INFO    ] 2026-10-20 20:24:23
[2026-10-20 20:24:23,963.963 INFO    ] 2026-10-20 20:24:23
[2026-10-20 20:24:23,997.997 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:24:24,247.247 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:24:24,256.256 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:24:24,457.457 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:24:24,512.512 INFO    ] time= 20/10/2026 20:24:24
[2026-10-20 20:24:24,522.522 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:24:24,539.539 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:24:24,670.670 INFO    ] No existing commands found in stream
[2026-10-20 20:24:29,685.685 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:24:29,687.687 INFO    ] Waiting 0.82 seconds before fallback handling...
[2026-10-20 20:24:31,028.028 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:24:31,031.031 INFO    ] Checking for system updates...
[2026-10-20 20:24:31,068.068 INFO    ] 200
[2026-10-20 20:24:31,071.071 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:24:31,124.124 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:24:31,127.127 INFO    ] No update needed
[2026-10-20 20:24:31,130.130 INFO    ] Checking for camera pi updates...
[2026-10-20 20:24:31,166.166 INFO    ] 200
[2026-10-20 20:24:31,169.169 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:24:31,219.219 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:24:31,268.268 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:24:31,272.272 INFO    ] No camera update needed
[2026-10-20 20:24:31,275.275 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:24:31,278.278 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:24:31,286.286 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:24:31,292.292 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:24:33,336.336 INFO    ] ================================================
[2026-10-20 20:24:33,351.351 INFO    ] Launching Daemon at Tue Oct 20 20:24:33 IST 2026
[2026-10-20 20:24:33,361.361 INFO    ] ================================================
[2026-10-20 20:24:33,946.946 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:24:33
[2026-10-20 20:24:34,534.534 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:24:34,806.806 INFO    ] Initializing speech engine...
[2026-10-20 20:24:34,821.821 INFO    ] 2026-10-20 20:24:34
[2026-10-20 20:24:35,092.092 INFO    ] 2026-10-20 20:24:35
[2026-10-20 20:24:35,131.131 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:24:35,327.327 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:24:35,342.342 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:24:35,502.502 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:24:35,510.510 INFO    ] time= 20/10/2026 20:24:35
[2026-10-20 20:24:35,516.516 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:24:35,522.522 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:24:35,646.646 INFO    ] No existing commands found in stream
[2026-10-20 20:24:40,671.671 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:24:40,673.673 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-10-20 20:24:44,388.388 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:24:44,392.392 INFO    ] Checking for system updates...
[2026-10-20 20:24:44,429.429 INFO    ] 200
[2026-10-20 20:24:44,432.432 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:24:44,485.485 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:24:44,487.487 INFO    ] No update needed
[2026-10-20 20:24:44,490.490 INFO    ] Checking for camera pi updates...
[2026-10-20 20:24:44,528.528 INFO    ] 200
[2026-10-20 20:24:44,531.531 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:24:44,573.573 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:24:44,620.620 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:24:44,623.623 INFO    ] No camera update needed
[2026-10-20 20:24:44,626.626 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:24:44,628.628 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:24:44,635.635 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:24:44,640.640 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:24:46,680.680 INFO    ] ================================================
[2026-10-20 20:24:46,695.695 INFO    ] Launching Daemon at Tue Oct 20 20:24:46 IST 2026
[2026-10-20 20:24:46,706.706 INFO    ] ================================================
[2026-10-20 20:24:47,271.271 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:24:47
[2026-10-20 20:24:47,854.854 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:24:48,113.113 INFO    ] Initializing speech engine...
[2026-10-20 20:24:48,139.139 INFO    ] 2026-10-20 20:24:48
[2026-10-20 20:24:48,409.409 INFO    ] 2026-10-20 20:24:48
[2026-10-20 20:24:48,443.443 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:24:48,642.642 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:24:48,648.648 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:24:48,817.817 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:24:48,827.827 INFO    ] time= 20/10/2026 20:24:48
[2026-10-20 20:24:48,832.832 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:24:48,838.838 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:24:48,954.954 INFO    ] No existing commands found in stream
[2026-10-20 20:24:53,974.974 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:24:53,977.977 INFO    ] Waiting 0.36 seconds before fallback handling...
[2026-10-20 20:24:54,845.845 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:24:54,847.847 INFO    ] Checking for system updates...
[2026-10-20 20:24:54,886.886 INFO    ] 200
[2026-10-20 20:24:54,889.889 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:24:54,940.940 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:24:54,943.943 INFO    ] No update needed
[2026-10-20 20:24:54,945.945 INFO    ] Checking for camera pi updates...
[2026-10-20 20:24:54,979.979 INFO    ] 200
[2026-10-20 20:24:54,981.981 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:24:55,022.022 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:24:55,068.068 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:24:55,070.070 INFO    ] No camera update needed
[2026-10-20 20:24:55,073.073 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:24:55,075.075 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:24:55,081.081 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:24:55,086.086 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:24:57,127.127 INFO    ] ================================================
[2026-10-20 20:24:57,141.141 INFO    ] Launching Daemon at Tue Oct 20 20:24:57 IST 2026
[2026-10-20 20:24:57,152.152 INFO    ] ================================================
[2026-10-20 20:24:57,726.726 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:24:57
[2026-10-20 20:24:58,309.309 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:24:58,563.563 INFO    ] Initializing speech engine...
[2026-10-20 20:24:58,568.568 INFO    ] 2026-10-20 20:24:58
[2026-10-20 20:24:58,863.863 INFO    ] 2026-10-20 20:24:58
[2026-10-20 20:24:58,898.898 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:24:59,126.126 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:24:59,171.171 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:24:59,350.350 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:24:59,387.387 INFO    ] time= 20/10/2026 20:24:59
[2026-10-20 20:24:59,442.442 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:24:59,491.491 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:24:59,634.634 INFO    ] No existing commands found in stream
[2026-10-20 20:25:04,656.656 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:25:04,659.659 INFO    ] Waiting 2.85 seconds before fallback handling...
[2026-10-20 20:25:08,004.004 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 20:25:08,006.006 INFO    ] Checking for system updates...
[2026-10-20 20:25:08,053.053 INFO    ] 200
[2026-10-20 20:25:08,056.056 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:25:08,121.121 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:25:08,124.124 INFO    ] No update needed
[2026-10-20 20:25:08,127.127 INFO    ] Checking for camera pi updates...
[2026-10-20 20:25:08,165.165 INFO    ] 200
[2026-10-20 20:25:08,168.168 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:25:08,212.212 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:25:08,258.258 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:25:08,261.261 INFO    ] No camera update needed
[2026-10-20 20:25:08,264.264 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:25:08,267.267 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:25:08,274.274 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:25:08,280.280 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:25:10,324.324 INFO    ] ================================================
[2026-10-20 20:25:10,339.339 INFO    ] Launching Daemon at Tue Oct 20 20:25:10 IST 2026
[2026-10-20 20:25:10,350.350 INFO    ] ================================================
[2026-10-20 20:25:10,934.934 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:25:10
[2026-10-20 20:25:11,533.533 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:25:11,823.823 INFO    ] Initializing speech engine...
[2026-10-20 20:25:11,831.831 INFO    ] 2026-10-20 20:25:11
[2026-10-20 20:25:12,104.104 INFO    ] 2026-10-20 20:25:12
[2026-10-20 20:25:12,162.162 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:25:12,408.408 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:25:12,417.417 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:25:12,648.648 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:25:12,666.666 INFO    ] time= 20/10/2026 20:25:12
[2026-10-20 20:25:12,675.675 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:25:12,702.702 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:25:12,849.849 INFO    ] No existing commands found in stream
[2026-10-20 20:25:17,875.875 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:25:17,878.878 INFO    ] Waiting 2.33 seconds before fallback handling...
[2026-10-20 20:25:20,773.773 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:25:20,776.776 INFO    ] Checking for system updates...
[2026-10-20 20:25:20,814.814 INFO    ] 200
[2026-10-20 20:25:20,816.816 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:25:20,873.873 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:25:20,876.876 INFO    ] No update needed
[2026-10-20 20:25:20,878.878 INFO    ] Checking for camera pi updates...
[2026-10-20 20:25:20,913.913 INFO    ] 200
[2026-10-20 20:25:20,915.915 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:25:20,959.959 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:25:21,103.103 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:25:21,105.105 INFO    ] No camera update needed
[2026-10-20 20:25:21,108.108 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:25:21,110.110 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:25:21,116.116 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:25:21,121.121 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:25:23,160.160 INFO    ] ================================================
[2026-10-20 20:25:23,175.175 INFO    ] Launching Daemon at Tue Oct 20 20:25:23 IST 2026
[2026-10-20 20:25:23,186.186 INFO    ] ================================================
[2026-10-20 20:25:23,769.769 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:25:23
[2026-10-20 20:25:24,366.366 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:25:24,645.645 INFO    ] Initializing speech engine...
[2026-10-20 20:25:24,651.651 INFO    ] 2026-10-20 20:25:24
[2026-10-20 20:25:24,915.915 INFO    ] 2026-10-20 20:25:24
[2026-10-20 20:25:24,971.971 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:25:25,197.197 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:25:25,202.202 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:25:25,402.402 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:25:25,462.462 INFO    ] time= 20/10/2026 20:25:25
[2026-10-20 20:25:25,469.469 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:25:25,489.489 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:25:25,642.642 INFO    ] No existing commands found in stream
[2026-10-20 20:25:30,673.673 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:25:30,675.675 INFO    ] Waiting 0.89 seconds before fallback handling...
[2026-10-20 20:25:32,068.068 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:25:32,071.071 INFO    ] Checking for system updates...
[2026-10-20 20:25:32,113.113 INFO    ] 200
[2026-10-20 20:25:32,116.116 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:25:32,172.172 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:25:32,174.174 INFO    ] No update needed
[2026-10-20 20:25:32,177.177 INFO    ] Checking for camera pi updates...
[2026-10-20 20:25:32,214.214 INFO    ] 200
[2026-10-20 20:25:32,216.216 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:25:32,268.268 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:25:32,302.302 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:25:32,304.304 INFO    ] No camera update needed
[2026-10-20 20:25:32,309.309 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:25:32,313.313 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:25:32,321.321 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:25:32,330.330 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:25:34,372.372 INFO    ] ================================================
[2026-10-20 20:25:34,387.387 INFO    ] Launching Daemon at Tue Oct 20 20:25:34 IST 2026
[2026-10-20 20:25:34,398.398 INFO    ] ================================================
[2026-10-20 20:25:34,984.984 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:25:34
[2026-10-20 20:25:35,590.590 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:25:35,871.871 INFO    ] Initializing speech engine...
[2026-10-20 20:25:35,878.878 INFO    ] 2026-10-20 20:25:35
[2026-10-20 20:25:36,138.138 INFO    ] 2026-10-20 20:25:36
[2026-10-20 20:25:36,192.192 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:25:36,467.467 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:25:36,485.485 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:25:36,669.669 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:25:36,687.687 INFO    ] time= 20/10/2026 20:25:36
[2026-10-20 20:25:36,705.705 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:25:36,723.723 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:25:36,837.837 INFO    ] No existing commands found in stream
[2026-10-20 20:25:41,851.851 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:25:41,854.854 INFO    ] Waiting 0.52 seconds before fallback handling...
[2026-10-20 20:25:42,958.958 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:25:42,961.961 INFO    ] Checking for system updates...
[2026-10-20 20:25:42,997.997 INFO    ] 200
[2026-10-20 20:25:42,999.999 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:25:43,051.051 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:25:43,054.054 INFO    ] No update needed
[2026-10-20 20:25:43,056.056 INFO    ] Checking for camera pi updates...
[2026-10-20 20:25:43,094.094 INFO    ] 200
[2026-10-20 20:25:43,096.096 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:25:43,136.136 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:25:43,185.185 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:25:43,187.187 INFO    ] No camera update needed
[2026-10-20 20:25:43,190.190 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:25:43,192.192 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:25:43,198.198 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:25:43,203.203 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:25:45,244.244 INFO    ] ================================================
[2026-10-20 20:25:45,259.259 INFO    ] Launching Daemon at Tue Oct 20 20:25:45 IST 2026
[2026-10-20 20:25:45,270.270 INFO    ] ================================================
[2026-10-20 20:25:45,852.852 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:25:45
[2026-10-20 20:25:46,451.451 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:25:46,724.724 INFO    ] Initializing speech engine...
[2026-10-20 20:25:46,733.733 INFO    ] 2026-10-20 20:25:46
[2026-10-20 20:25:46,995.995 INFO    ] 2026-10-20 20:25:46
[2026-10-20 20:25:47,025.025 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:25:47,274.274 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:25:47,279.279 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:25:47,519.519 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:25:47,563.563 INFO    ] time= 20/10/2026 20:25:47
[2026-10-20 20:25:47,579.579 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:25:47,585.585 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:25:47,717.717 INFO    ] No existing commands found in stream
[2026-10-20 20:25:52,748.748 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:25:52,751.751 INFO    ] Waiting 0.69 seconds before fallback handling...
[2026-10-20 20:25:53,945.945 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:25:53,947.947 INFO    ] Checking for system updates...
[2026-10-20 20:25:53,984.984 INFO    ] 200
[2026-10-20 20:25:53,986.986 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:25:54,039.039 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:25:54,042.042 INFO    ] No update needed
[2026-10-20 20:25:54,044.044 INFO    ] Checking for camera pi updates...
[2026-10-20 20:25:54,077.077 INFO    ] 200
[2026-10-20 20:25:54,080.080 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:25:54,121.121 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:25:54,165.165 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:25:54,168.168 INFO    ] No camera update needed
[2026-10-20 20:25:54,170.170 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:25:54,173.173 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:25:54,178.178 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:25:54,183.183 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:25:56,222.222 INFO    ] ================================================
[2026-10-20 20:25:56,237.237 INFO    ] Launching Daemon at Tue Oct 20 20:25:56 IST 2026
[2026-10-20 20:25:56,247.247 INFO    ] ================================================
[2026-10-20 20:25:56,827.827 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:25:56
[2026-10-20 20:25:57,435.435 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:25:57,696.696 INFO    ] Initializing speech engine...
[2026-10-20 20:25:57,702.702 INFO    ] 2026-10-20 20:25:57
[2026-10-20 20:25:57,997.997 INFO    ] 2026-10-20 20:25:57
[2026-10-20 20:25:58,035.035 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:25:58,234.234 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:25:58,248.248 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:25:58,412.412 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:25:58,417.417 INFO    ] time= 20/10/2026 20:25:58
[2026-10-20 20:25:58,424.424 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:25:58,430.430 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:25:58,582.582 INFO    ] No existing commands found in stream
[2026-10-20 20:26:03,602.602 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:26:03,604.604 INFO    ] Waiting 3.08 seconds before fallback handling...
[2026-10-20 20:26:07,239.239 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:26:07,242.242 INFO    ] Checking for system updates...
[2026-10-20 20:26:07,278.278 INFO    ] 200
[2026-10-20 20:26:07,280.280 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:26:07,334.334 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:26:07,336.336 INFO    ] No update needed
[2026-10-20 20:26:07,339.339 INFO    ] Checking for camera pi updates...
[2026-10-20 20:26:07,373.373 INFO    ] 200
[2026-10-20 20:26:07,375.375 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:26:07,415.415 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:26:07,468.468 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:26:07,471.471 INFO    ] No camera update needed
[2026-10-20 20:26:07,473.473 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:26:07,475.475 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:26:07,481.481 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:26:07,486.486 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:26:09,525.525 INFO    ] ================================================
[2026-10-20 20:26:09,540.540 INFO    ] Launching Daemon at Tue Oct 20 20:26:09 IST 2026
[2026-10-20 20:26:09,551.551 INFO    ] ================================================
[2026-10-20 20:26:10,118.118 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:26:10
[2026-10-20 20:26:10,704.704 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:26:10,973.973 INFO    ] Initializing speech engine...
[2026-10-20 20:26:10,985.985 INFO    ] 2026-10-20 20:26:10
[2026-10-20 20:26:11,236.236 INFO    ] 2026-10-20 20:26:11
[2026-10-20 20:26:11,270.270 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:26:11,533.533 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:26:11,543.543 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:26:11,776.776 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:26:11,811.811 INFO    ] time= 20/10/2026 20:26:11
[2026-10-20 20:26:11,817.817 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:26:11,835.835 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:26:11,959.959 INFO    ] No existing commands found in stream
[2026-10-20 20:26:16,979.979 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:26:16,981.981 INFO    ] Waiting 0.76 seconds before fallback handling...
[2026-10-20 20:26:18,224.224 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:26:18,226.226 INFO    ] Checking for system updates...
[2026-10-20 20:26:18,262.262 INFO    ] 200
[2026-10-20 20:26:18,264.264 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:26:18,322.322 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:26:18,325.325 INFO    ] No update needed
[2026-10-20 20:26:18,327.327 INFO    ] Checking for camera pi updates...
[2026-10-20 20:26:18,360.360 INFO    ] 200
[2026-10-20 20:26:18,362.362 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:26:18,403.403 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:26:18,450.450 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:26:18,452.452 INFO    ] No camera update needed
[2026-10-20 20:26:18,454.454 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:26:18,457.457 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:26:18,462.462 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:26:18,467.467 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:26:20,507.507 INFO    ] ================================================
[2026-10-20 20:26:20,522.522 INFO    ] Launching Daemon at Tue Oct 20 20:26:20 IST 2026
[2026-10-20 20:26:20,533.533 INFO    ] ================================================
[2026-10-20 20:26:21,098.098 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:26:21
[2026-10-20 20:26:21,681.681 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:26:21,950.950 INFO    ] Initializing speech engine...
[2026-10-20 20:26:21,970.970 INFO    ] 2026-10-20 20:26:21
[2026-10-20 20:26:22,226.226 INFO    ] 2026-10-20 20:26:22
[2026-10-20 20:26:22,262.262 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:26:22,518.518 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:26:22,527.527 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:26:22,661.661 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:26:22,704.704 INFO    ] time= 20/10/2026 20:26:22
[2026-10-20 20:26:22,758.758 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:26:22,798.798 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:26:22,939.939 INFO    ] No existing commands found in stream
[2026-10-20 20:26:27,961.961 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:26:27,963.963 INFO    ] Waiting 0.93 seconds before fallback handling...
[2026-10-20 20:26:29,391.391 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 20:26:29,394.394 INFO    ] Checking for system updates...
[2026-10-20 20:26:29,429.429 INFO    ] 200
[2026-10-20 20:26:29,431.431 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:26:29,483.483 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:26:29,485.485 INFO    ] No update needed
[2026-10-20 20:26:29,488.488 INFO    ] Checking for camera pi updates...
[2026-10-20 20:26:29,521.521 INFO    ] 200
[2026-10-20 20:26:29,524.524 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:26:29,569.569 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:26:29,621.621 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:26:29,624.624 INFO    ] No camera update needed
[2026-10-20 20:26:29,626.626 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:26:29,629.629 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:26:29,635.635 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:26:29,640.640 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:26:31,682.682 INFO    ] ================================================
[2026-10-20 20:26:31,699.699 INFO    ] Launching Daemon at Tue Oct 20 20:26:31 IST 2026
[2026-10-20 20:26:31,711.711 INFO    ] ================================================
[2026-10-20 20:26:32,356.356 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:26:32
[2026-10-20 20:26:32,968.968 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:26:33,246.246 INFO    ] Initializing speech engine...
[2026-10-20 20:26:33,252.252 INFO    ] 2026-10-20 20:26:33
[2026-10-20 20:26:33,509.509 INFO    ] 2026-10-20 20:26:33
[2026-10-20 20:26:33,563.563 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:26:33,787.787 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:26:33,797.797 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:26:34,000.000 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:26:34,059.059 INFO    ] time= 20/10/2026 20:26:34
[2026-10-20 20:26:34,065.065 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:26:34,084.084 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:26:34,218.218 INFO    ] No existing commands found in stream
[2026-10-20 20:26:39,233.233 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:26:39,235.235 INFO    ] Waiting 0.43 seconds before fallback handling...
[2026-10-20 20:26:40,147.147 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:26:40,150.150 INFO    ] Checking for system updates...
[2026-10-20 20:26:40,187.187 INFO    ] 200
[2026-10-20 20:26:40,190.190 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:26:40,243.243 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:26:40,245.245 INFO    ] No update needed
[2026-10-20 20:26:40,247.247 INFO    ] Checking for camera pi updates...
[2026-10-20 20:26:40,280.280 INFO    ] 200
[2026-10-20 20:26:40,283.283 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:26:40,322.322 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:26:40,371.371 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:26:40,374.374 INFO    ] No camera update needed
[2026-10-20 20:26:40,376.376 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:26:40,378.378 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:26:40,384.384 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:26:40,388.388 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:26:42,428.428 INFO    ] ================================================
[2026-10-20 20:26:42,444.444 INFO    ] Launching Daemon at Tue Oct 20 20:26:42 IST 2026
[2026-10-20 20:26:42,455.455 INFO    ] ================================================
[2026-10-20 20:26:43,076.076 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:26:43
[2026-10-20 20:26:43,714.714 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:26:44,009.009 INFO    ] Initializing speech engine...
[2026-10-20 20:26:44,016.016 INFO    ] 2026-10-20 20:26:44
[2026-10-20 20:26:44,283.283 INFO    ] 2026-10-20 20:26:44
[2026-10-20 20:26:44,319.319 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:26:44,576.576 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:26:44,580.580 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:26:44,733.733 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:26:44,793.793 INFO    ] time= 20/10/2026 20:26:44
[2026-10-20 20:26:44,848.848 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:26:44,855.855 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:26:45,006.006 INFO    ] No existing commands found in stream
[2026-10-20 20:26:50,034.034 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:26:50,037.037 INFO    ] Waiting 2.77 seconds before fallback handling...
[2026-10-20 20:26:53,341.341 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:26:53,344.344 INFO    ] Checking for system updates...
[2026-10-20 20:26:53,383.383 INFO    ] 200
[2026-10-20 20:26:53,386.386 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:26:53,441.441 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:26:53,444.444 INFO    ] No update needed
[2026-10-20 20:26:53,447.447 INFO    ] Checking for camera pi updates...
[2026-10-20 20:26:53,484.484 INFO    ] 200
[2026-10-20 20:26:53,487.487 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:26:53,527.527 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:26:53,576.576 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:26:53,579.579 INFO    ] No camera update needed
[2026-10-20 20:26:53,581.581 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:26:53,584.584 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:26:53,590.590 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:26:53,595.595 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:26:55,636.636 INFO    ] ================================================
[2026-10-20 20:26:55,651.651 INFO    ] Launching Daemon at Tue Oct 20 20:26:55 IST 2026
[2026-10-20 20:26:55,662.662 INFO    ] ================================================
[2026-10-20 20:26:56,244.244 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:26:56
[2026-10-20 20:26:56,840.840 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:26:57,116.116 INFO    ] Initializing speech engine...
[2026-10-20 20:26:57,122.122 INFO    ] 2026-10-20 20:26:57
[2026-10-20 20:26:57,371.371 INFO    ] 2026-10-20 20:26:57
[2026-10-20 20:26:57,406.406 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:26:57,605.605 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:26:57,645.645 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:26:57,843.843 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:26:57,902.902 INFO    ] time= 20/10/2026 20:26:57
[2026-10-20 20:26:57,944.944 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:26:57,950.950 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:26:58,077.077 INFO    ] No existing commands found in stream
[2026-10-20 20:27:03,101.101 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:27:03,105.105 INFO    ] Waiting 3.77 seconds before fallback handling...
[2026-10-20 20:27:07,404.404 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:27:08,009.009 INFO    ] Checking for system updates...
[2026-10-20 20:27:08,050.050 INFO    ] 200
[2026-10-20 20:27:08,053.053 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:27:08,105.105 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:27:08,107.107 INFO    ] No update needed
[2026-10-20 20:27:08,109.109 INFO    ] Checking for camera pi updates...
[2026-10-20 20:27:08,143.143 INFO    ] 200
[2026-10-20 20:27:08,145.145 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:27:08,188.188 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:27:08,233.233 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:27:08,235.235 INFO    ] No camera update needed
[2026-10-20 20:27:08,237.237 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:27:08,240.240 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:27:08,245.245 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:27:08,250.250 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:27:10,296.296 INFO    ] ================================================
[2026-10-20 20:27:10,312.312 INFO    ] Launching Daemon at Tue Oct 20 20:27:10 IST 2026
[2026-10-20 20:27:10,323.323 INFO    ] ================================================
[2026-10-20 20:27:10,889.889 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:27:10
[2026-10-20 20:27:11,472.472 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:27:11,726.726 INFO    ] Initializing speech engine...
[2026-10-20 20:27:11,749.749 INFO    ] 2026-10-20 20:27:11
[2026-10-20 20:27:12,006.006 INFO    ] 2026-10-20 20:27:11
[2026-10-20 20:27:12,040.040 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:27:12,239.239 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:27:12,261.261 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:27:12,443.443 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:27:12,491.491 INFO    ] time= 20/10/2026 20:27:12
[2026-10-20 20:27:12,550.550 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:27:12,581.581 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:27:12,732.732 INFO    ] No existing commands found in stream
[2026-10-20 20:27:17,745.745 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:27:17,748.748 INFO    ] Waiting 2.26 seconds before fallback handling...
[2026-10-20 20:27:20,464.464 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:27:20,466.466 INFO    ] Checking for system updates...
[2026-10-20 20:27:20,502.502 INFO    ] 200
[2026-10-20 20:27:20,504.504 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:27:20,556.556 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:27:20,558.558 INFO    ] No update needed
[2026-10-20 20:27:20,561.561 INFO    ] Checking for camera pi updates...
[2026-10-20 20:27:20,593.593 INFO    ] 200
[2026-10-20 20:27:20,596.596 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:27:20,635.635 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:27:20,684.684 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:27:20,686.686 INFO    ] No camera update needed
[2026-10-20 20:27:20,688.688 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:27:20,691.691 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:27:20,696.696 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:27:20,701.701 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:27:22,742.742 INFO    ] ================================================
[2026-10-20 20:27:22,758.758 INFO    ] Launching Daemon at Tue Oct 20 20:27:22 IST 2026
[2026-10-20 20:27:22,769.769 INFO    ] ================================================
[2026-10-20 20:27:23,367.367 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:27:23
[2026-10-20 20:27:23,950.950 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:27:24,197.197 INFO    ] Initializing speech engine...
[2026-10-20 20:27:24,212.212 INFO    ] 2026-10-20 20:27:24
[2026-10-20 20:27:24,476.476 INFO    ] 2026-10-20 20:27:24
[2026-10-20 20:27:24,511.511 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:27:24,772.772 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:27:24,776.776 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:27:24,977.977 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:27:25,037.037 INFO    ] time= 20/10/2026 20:27:24
[2026-10-20 20:27:25,044.044 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:27:25,062.062 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:27:25,220.220 INFO    ] No existing commands found in stream
[2026-10-20 20:27:30,250.250 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:27:30,253.253 INFO    ] Waiting 0.16 seconds before fallback handling...
[2026-10-20 20:27:31,005.005 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:27:31,008.008 INFO    ] Checking for system updates...
[2026-10-20 20:27:31,044.044 INFO    ] 200
[2026-10-20 20:27:31,047.047 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:27:31,099.099 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:27:31,102.102 INFO    ] No update needed
[2026-10-20 20:27:31,104.104 INFO    ] Checking for camera pi updates...
[2026-10-20 20:27:31,145.145 INFO    ] 200
[2026-10-20 20:27:31,148.148 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:27:31,188.188 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:27:31,325.325 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:27:31,328.328 INFO    ] No camera update needed
[2026-10-20 20:27:31,331.331 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:27:31,333.333 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:27:31,340.340 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:27:31,346.346 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:27:33,389.389 INFO    ] ================================================
[2026-10-20 20:27:33,404.404 INFO    ] Launching Daemon at Tue Oct 20 20:27:33 IST 2026
[2026-10-20 20:27:33,415.415 INFO    ] ================================================
[2026-10-20 20:27:33,994.994 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:27:33
[2026-10-20 20:27:34,592.592 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:27:34,865.865 INFO    ] Initializing speech engine...
[2026-10-20 20:27:34,874.874 INFO    ] 2026-10-20 20:27:34
[2026-10-20 20:27:35,129.129 INFO    ] 2026-10-20 20:27:35
[2026-10-20 20:27:35,164.164 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:27:35,416.416 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:27:35,421.421 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:27:35,634.634 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:27:35,678.678 INFO    ] time= 20/10/2026 20:27:35
[2026-10-20 20:27:35,684.684 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:27:35,702.702 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:27:35,835.835 INFO    ] No existing commands found in stream
[2026-10-20 20:27:40,858.858 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:27:40,861.861 INFO    ] Waiting 3.14 seconds before fallback handling...
[2026-10-20 20:27:44,567.567 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 20:27:44,570.570 INFO    ] Checking for system updates...
[2026-10-20 20:27:44,609.609 INFO    ] 200
[2026-10-20 20:27:44,613.613 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:27:44,665.665 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:27:44,668.668 INFO    ] No update needed
[2026-10-20 20:27:44,670.670 INFO    ] Checking for camera pi updates...
[2026-10-20 20:27:44,705.705 INFO    ] 200
[2026-10-20 20:27:44,707.707 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:27:44,748.748 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:27:44,794.794 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:27:44,796.796 INFO    ] No camera update needed
[2026-10-20 20:27:44,798.798 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:27:44,801.801 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:27:44,806.806 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:27:44,811.811 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:27:46,851.851 INFO    ] ================================================
[2026-10-20 20:27:46,867.867 INFO    ] Launching Daemon at Tue Oct 20 20:27:46 IST 2026
[2026-10-20 20:27:46,877.877 INFO    ] ================================================
[2026-10-20 20:27:47,444.444 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:27:47
[2026-10-20 20:27:48,029.029 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:27:48,309.309 INFO    ] Initializing speech engine...
[2026-10-20 20:27:48,318.318 INFO    ] 2026-10-20 20:27:48
[2026-10-20 20:27:48,569.569 INFO    ] 2026-10-20 20:27:48
[2026-10-20 20:27:48,604.604 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:27:48,857.857 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:27:48,862.862 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:27:49,061.061 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:27:49,115.115 INFO    ] time= 20/10/2026 20:27:49
[2026-10-20 20:27:49,125.125 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:27:49,143.143 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:27:49,237.237 INFO    ] No existing commands found in stream
[2026-10-20 20:27:54,254.254 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:27:54,257.257 INFO    ] Waiting 1.14 seconds before fallback handling...
[2026-10-20 20:27:55,945.945 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 20:27:55,947.947 INFO    ] Checking for system updates...
[2026-10-20 20:27:55,983.983 INFO    ] 200
[2026-10-20 20:27:55,986.986 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:27:56,042.042 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:27:56,044.044 INFO    ] No update needed
[2026-10-20 20:27:56,047.047 INFO    ] Checking for camera pi updates...
[2026-10-20 20:27:56,083.083 INFO    ] 200
[2026-10-20 20:27:56,086.086 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:27:56,125.125 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:27:56,173.173 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:27:56,175.175 INFO    ] No camera update needed
[2026-10-20 20:27:56,177.177 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:27:56,180.180 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:27:56,185.185 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:27:56,190.190 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:27:58,232.232 INFO    ] ================================================
[2026-10-20 20:27:58,248.248 INFO    ] Launching Daemon at Tue Oct 20 20:27:58 IST 2026
[2026-10-20 20:27:58,259.259 INFO    ] ================================================
[2026-10-20 20:27:58,893.893 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:27:58
[2026-10-20 20:27:59,537.537 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:27:59,836.836 INFO    ] Initializing speech engine...
[2026-10-20 20:27:59,847.847 INFO    ] 2026-10-20 20:27:59
[2026-10-20 20:28:00,109.109 INFO    ] 2026-10-20 20:28:00
[2026-10-20 20:28:00,164.164 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:28:00,446.446 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:28:00,454.454 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:28:00,646.646 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:28:00,657.657 INFO    ] time= 20/10/2026 20:28:00
[2026-10-20 20:28:00,675.675 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:28:00,692.692 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:28:00,813.813 INFO    ] No existing commands found in stream
[2026-10-20 20:28:05,842.842 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:28:05,845.845 INFO    ] Waiting 1.35 seconds before fallback handling...
[2026-10-20 20:28:07,714.714 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:28:07,717.717 INFO    ] Checking for system updates...
[2026-10-20 20:28:07,753.753 INFO    ] 200
[2026-10-20 20:28:07,755.755 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:28:07,809.809 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:28:07,811.811 INFO    ] No update needed
[2026-10-20 20:28:07,814.814 INFO    ] Checking for camera pi updates...
[2026-10-20 20:28:07,847.847 INFO    ] 200
[2026-10-20 20:28:07,849.849 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:28:07,893.893 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:28:07,941.941 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:28:07,943.943 INFO    ] No camera update needed
[2026-10-20 20:28:07,945.945 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:28:07,948.948 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:28:07,953.953 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:28:07,958.958 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:28:10,997.997 INFO    ] ================================================
[2026-10-20 20:28:10,012.012 INFO    ] Launching Daemon at Tue Oct 20 20:28:10 IST 2026
[2026-10-20 20:28:10,022.022 INFO    ] ================================================
[2026-10-20 20:28:10,594.594 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:28:10
[2026-10-20 20:28:11,191.191 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:28:11,467.467 INFO    ] Initializing speech engine...
[2026-10-20 20:28:11,476.476 INFO    ] 2026-10-20 20:28:11
[2026-10-20 20:28:11,734.734 INFO    ] 2026-10-20 20:28:11
[2026-10-20 20:28:11,769.769 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:28:11,985.985 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:28:11,992.992 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:28:12,204.204 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:28:12,226.226 INFO    ] time= 20/10/2026 20:28:12
[2026-10-20 20:28:12,280.280 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:28:12,335.335 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:28:12,493.493 INFO    ] No existing commands found in stream
[2026-10-20 20:28:17,521.521 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:28:17,524.524 INFO    ] Waiting 3.58 seconds before fallback handling...
[2026-10-20 20:28:21,625.625 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:28:21,628.628 INFO    ] Checking for system updates...
[2026-10-20 20:28:21,671.671 INFO    ] 200
[2026-10-20 20:28:21,673.673 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:28:21,730.730 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:28:21,732.732 INFO    ] No update needed
[2026-10-20 20:28:21,734.734 INFO    ] Checking for camera pi updates...
[2026-10-20 20:28:21,768.768 INFO    ] 200
[2026-10-20 20:28:21,770.770 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:28:21,813.813 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:28:21,863.863 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:28:21,865.865 INFO    ] No camera update needed
[2026-10-20 20:28:21,867.867 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:28:21,869.869 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:28:21,875.875 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:28:21,879.879 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:28:23,919.919 INFO    ] ================================================
[2026-10-20 20:28:23,934.934 INFO    ] Launching Daemon at Tue Oct 20 20:28:23 IST 2026
[2026-10-20 20:28:23,945.945 INFO    ] ================================================
[2026-10-20 20:28:24,510.510 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:28:24
[2026-10-20 20:28:25,092.092 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:28:25,352.352 INFO    ] Initializing speech engine...
[2026-10-20 20:28:25,371.371 INFO    ] 2026-10-20 20:28:25
[2026-10-20 20:28:25,618.618 INFO    ] 2026-10-20 20:28:25
[2026-10-20 20:28:25,653.653 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:28:25,909.909 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:28:25,919.919 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:28:26,127.127 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:28:26,181.181 INFO    ] time= 20/10/2026 20:28:26
[2026-10-20 20:28:26,187.187 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:28:26,191.191 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:28:26,344.344 INFO    ] No existing commands found in stream
[2026-10-20 20:28:31,374.374 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:28:31,377.377 INFO    ] Waiting 1.76 seconds before fallback handling...
[2026-10-20 20:28:33,682.682 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:28:33,684.684 INFO    ] Checking for system updates...
[2026-10-20 20:28:33,722.722 INFO    ] 200
[2026-10-20 20:28:33,725.725 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:28:33,777.777 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:28:33,779.779 INFO    ] No update needed
[2026-10-20 20:28:33,782.782 INFO    ] Checking for camera pi updates...
[2026-10-20 20:28:33,817.817 INFO    ] 200
[2026-10-20 20:28:33,820.820 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:28:33,859.859 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:28:33,903.903 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:28:33,905.905 INFO    ] No camera update needed
[2026-10-20 20:28:33,907.907 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:28:33,910.910 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:28:33,915.915 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:28:33,920.920 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:28:35,960.960 INFO    ] ================================================
[2026-10-20 20:28:35,975.975 INFO    ] Launching Daemon at Tue Oct 20 20:28:35 IST 2026
[2026-10-20 20:28:35,986.986 INFO    ] ================================================
[2026-10-20 20:28:36,566.566 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:28:36
[2026-10-20 20:28:37,161.161 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:28:37,435.435 INFO    ] Initializing speech engine...
[2026-10-20 20:28:37,443.443 INFO    ] 2026-10-20 20:28:37
[2026-10-20 20:28:37,688.688 INFO    ] 2026-10-20 20:28:37
[2026-10-20 20:28:37,723.723 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:28:37,973.973 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:28:37,982.982 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:28:38,189.189 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:28:38,238.238 INFO    ] time= 20/10/2026 20:28:38
[2026-10-20 20:28:38,245.245 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:28:38,263.263 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:28:38,396.396 INFO    ] No existing commands found in stream
[2026-10-20 20:28:43,424.424 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:28:43,426.426 INFO    ] Waiting 3.47 seconds before fallback handling...
[2026-10-20 20:28:47,393.393 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:28:47,395.395 INFO    ] Checking for system updates...
[2026-10-20 20:28:47,430.430 INFO    ] 200
[2026-10-20 20:28:47,433.433 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:28:47,488.488 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:28:47,491.491 INFO    ] No update needed
[2026-10-20 20:28:47,493.493 INFO    ] Checking for camera pi updates...
[2026-10-20 20:28:47,526.526 INFO    ] 200
[2026-10-20 20:28:47,529.529 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:28:47,569.569 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:28:47,616.616 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:28:47,619.619 INFO    ] No camera update needed
[2026-10-20 20:28:47,621.621 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:28:47,623.623 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:28:47,629.629 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:28:47,634.634 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:28:49,673.673 INFO    ] ================================================
[2026-10-20 20:28:49,688.688 INFO    ] Launching Daemon at Tue Oct 20 20:28:49 IST 2026
[2026-10-20 20:28:49,698.698 INFO    ] ================================================
[2026-10-20 20:28:50,321.321 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:28:50
[2026-10-20 20:28:50,956.956 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:28:51,250.250 INFO    ] Initializing speech engine...
[2026-10-20 20:28:51,258.258 INFO    ] 2026-10-20 20:28:51
[2026-10-20 20:28:51,541.541 INFO    ] 2026-10-20 20:28:51
[2026-10-20 20:28:51,587.587 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:28:51,815.815 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:28:51,820.820 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:28:51,977.977 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:28:52,032.032 INFO    ] time= 20/10/2026 20:28:51
[2026-10-20 20:28:52,086.086 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:28:52,094.094 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:28:52,261.261 INFO    ] No existing commands found in stream
[2026-10-20 20:28:57,289.289 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:28:57,292.292 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-10-20 20:29:00,937.937 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:29:00,941.941 INFO    ] Checking for system updates...
[2026-10-20 20:29:00,980.980 INFO    ] 200
[2026-10-20 20:29:00,983.983 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:29:01,035.035 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:29:01,037.037 INFO    ] No update needed
[2026-10-20 20:29:01,041.041 INFO    ] Checking for camera pi updates...
[2026-10-20 20:29:01,075.075 INFO    ] 200
[2026-10-20 20:29:01,077.077 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:29:01,118.118 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:29:01,176.176 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:29:01,179.179 INFO    ] No camera update needed
[2026-10-20 20:29:01,182.182 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:29:01,184.184 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:29:01,190.190 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:29:01,196.196 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:29:03,246.246 INFO    ] ================================================
[2026-10-20 20:29:03,263.263 INFO    ] Launching Daemon at Tue Oct 20 20:29:03 IST 2026
[2026-10-20 20:29:03,279.279 INFO    ] ================================================
[2026-10-20 20:29:03,870.870 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:29:03
[2026-10-20 20:29:04,467.467 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:29:04,744.744 INFO    ] Initializing speech engine...
[2026-10-20 20:29:04,752.752 INFO    ] 2026-10-20 20:29:04
[2026-10-20 20:29:05,010.010 INFO    ] 2026-10-20 20:29:05
[2026-10-20 20:29:05,064.064 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:29:05,291.291 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:29:05,297.297 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:29:05,429.429 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:29:05,489.489 INFO    ] time= 20/10/2026 20:29:05
[2026-10-20 20:29:05,543.543 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:29:05,560.560 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:29:05,711.711 INFO    ] No existing commands found in stream
[2026-10-20 20:29:10,745.745 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:29:10,748.748 INFO    ] Waiting 3.01 seconds before fallback handling...
[2026-10-20 20:29:14,312.312 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:29:14,315.315 INFO    ] Checking for system updates...
[2026-10-20 20:29:14,368.368 INFO    ] 200
[2026-10-20 20:29:14,371.371 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:29:14,444.444 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:29:14,446.446 INFO    ] No update needed
[2026-10-20 20:29:14,449.449 INFO    ] Checking for camera pi updates...
[2026-10-20 20:29:14,482.482 INFO    ] 200
[2026-10-20 20:29:14,484.484 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:29:14,528.528 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:29:14,587.587 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:29:14,589.589 INFO    ] No camera update needed
[2026-10-20 20:29:14,592.592 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:29:14,594.594 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:29:14,600.600 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:29:14,605.605 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:29:16,645.645 INFO    ] ================================================
[2026-10-20 20:29:16,661.661 INFO    ] Launching Daemon at Tue Oct 20 20:29:16 IST 2026
[2026-10-20 20:29:16,672.672 INFO    ] ================================================
[2026-10-20 20:29:17,254.254 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:29:17
[2026-10-20 20:29:17,852.852 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:29:18,125.125 INFO    ] Initializing speech engine...
[2026-10-20 20:29:18,136.136 INFO    ] 2026-10-20 20:29:18
[2026-10-20 20:29:18,397.397 INFO    ] 2026-10-20 20:29:18
[2026-10-20 20:29:18,428.428 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:29:18,672.672 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:29:18,681.681 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:29:18,815.815 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:29:18,880.880 INFO    ] time= 20/10/2026 20:29:18
[2026-10-20 20:29:18,939.939 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:29:18,948.948 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:29:19,083.083 INFO    ] No existing commands found in stream
[2026-10-20 20:29:24,104.104 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:29:24,107.107 INFO    ] Waiting 0.74 seconds before fallback handling...
[2026-10-20 20:29:25,361.361 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 20:29:25,364.364 INFO    ] Checking for system updates...
[2026-10-20 20:29:25,401.401 INFO    ] 200
[2026-10-20 20:29:25,404.404 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:29:25,456.456 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:29:25,459.459 INFO    ] No update needed
[2026-10-20 20:29:25,462.462 INFO    ] Checking for camera pi updates...
[2026-10-20 20:29:25,495.495 INFO    ] 200
[2026-10-20 20:29:25,498.498 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:29:25,537.537 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:29:25,583.583 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:29:25,585.585 INFO    ] No camera update needed
[2026-10-20 20:29:25,587.587 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:29:25,590.590 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:29:25,595.595 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:29:25,600.600 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:29:27,640.640 INFO    ] ================================================
[2026-10-20 20:29:27,655.655 INFO    ] Launching Daemon at Tue Oct 20 20:29:27 IST 2026
[2026-10-20 20:29:27,666.666 INFO    ] ================================================
[2026-10-20 20:29:28,234.234 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:29:28
[2026-10-20 20:29:28,818.818 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:29:29,073.073 INFO    ] Initializing speech engine...
[2026-10-20 20:29:29,089.089 INFO    ] 2026-10-20 20:29:29
[2026-10-20 20:29:29,366.366 INFO    ] 2026-10-20 20:29:29
[2026-10-20 20:29:29,403.403 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:29:29,624.624 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:29:29,688.688 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:29:29,842.842 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:29:29,869.869 INFO    ] time= 20/10/2026 20:29:29
[2026-10-20 20:29:29,939.939 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:29:29,983.983 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:29:30,118.118 INFO    ] No existing commands found in stream
[2026-10-20 20:29:35,140.140 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:29:35,143.143 INFO    ] Waiting 1.77 seconds before fallback handling...
[2026-10-20 20:29:37,420.420 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:29:37,423.423 INFO    ] Checking for system updates...
[2026-10-20 20:29:37,459.459 INFO    ] 200
[2026-10-20 20:29:37,462.462 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:29:37,518.518 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:29:37,520.520 INFO    ] No update needed
[2026-10-20 20:29:37,523.523 INFO    ] Checking for camera pi updates...
[2026-10-20 20:29:37,556.556 INFO    ] 200
[2026-10-20 20:29:37,558.558 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:29:37,602.602 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:29:37,646.646 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:29:37,649.649 INFO    ] No camera update needed
[2026-10-20 20:29:37,651.651 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:29:37,653.653 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:29:37,659.659 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:29:37,664.664 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:29:39,704.704 INFO    ] ================================================
[2026-10-20 20:29:39,720.720 INFO    ] Launching Daemon at Tue Oct 20 20:29:39 IST 2026
[2026-10-20 20:29:39,731.731 INFO    ] ================================================
[2026-10-20 20:29:40,299.299 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:29:40
[2026-10-20 20:29:40,885.885 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:29:41,157.157 INFO    ] Initializing speech engine...
[2026-10-20 20:29:41,166.166 INFO    ] 2026-10-20 20:29:41
[2026-10-20 20:29:41,415.415 INFO    ] 2026-10-20 20:29:41
[2026-10-20 20:29:41,451.451 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:29:41,652.652 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:29:41,708.708 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:29:41,895.895 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:29:41,950.950 INFO    ] time= 20/10/2026 20:29:41
[2026-10-20 20:29:41,986.986 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:29:41,992.992 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:29:42,141.141 INFO    ] No existing commands found in stream
[2026-10-20 20:29:47,153.153 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:29:47,155.155 INFO    ] Waiting 3.09 seconds before fallback handling...
[2026-10-20 20:29:50,763.763 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:29:50,766.766 INFO    ] Checking for system updates...
[2026-10-20 20:29:50,802.802 INFO    ] 200
[2026-10-20 20:29:50,805.805 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:29:50,863.863 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:29:50,865.865 INFO    ] No update needed
[2026-10-20 20:29:50,868.868 INFO    ] Checking for camera pi updates...
[2026-10-20 20:29:50,909.909 INFO    ] 200
[2026-10-20 20:29:50,912.912 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:29:50,952.952 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:29:51,002.002 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:29:51,005.005 INFO    ] No camera update needed
[2026-10-20 20:29:51,007.007 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:29:51,010.010 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:29:51,016.016 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:29:51,021.021 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:29:53,063.063 INFO    ] ================================================
[2026-10-20 20:29:53,078.078 INFO    ] Launching Daemon at Tue Oct 20 20:29:53 IST 2026
[2026-10-20 20:29:53,088.088 INFO    ] ================================================
[2026-10-20 20:29:53,654.654 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:29:53
[2026-10-20 20:29:54,239.239 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:29:54,489.489 INFO    ] Initializing speech engine...
[2026-10-20 20:29:54,508.508 INFO    ] 2026-10-20 20:29:54
[2026-10-20 20:29:54,767.767 INFO    ] 2026-10-20 20:29:54
[2026-10-20 20:29:54,802.802 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:29:55,060.060 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:29:55,071.071 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:29:55,270.270 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:29:55,324.324 INFO    ] time= 20/10/2026 20:29:55
[2026-10-20 20:29:55,342.342 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:29:55,358.358 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:29:55,496.496 INFO    ] No existing commands found in stream
[2026-10-20 20:30:00,507.507 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:30:00,510.510 INFO    ] Waiting 0.06 seconds before fallback handling...
[2026-10-20 20:30:01,073.073 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:30:01,076.076 INFO    ] Checking for system updates...
[2026-10-20 20:30:01,113.113 INFO    ] 200
[2026-10-20 20:30:01,116.116 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:30:01,168.168 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:30:01,171.171 INFO    ] No update needed
[2026-10-20 20:30:01,174.174 INFO    ] Checking for camera pi updates...
[2026-10-20 20:30:01,208.208 INFO    ] 200
[2026-10-20 20:30:01,211.211 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:30:01,256.256 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:30:01,307.307 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:30:01,310.310 INFO    ] No camera update needed
[2026-10-20 20:30:01,313.313 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:30:01,315.315 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:30:01,321.321 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:30:01,327.327 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:30:03,377.377 INFO    ] ================================================
[2026-10-20 20:30:03,400.400 INFO    ] Launching Daemon at Tue Oct 20 20:30:03 IST 2026
[2026-10-20 20:30:03,416.416 INFO    ] ================================================
[2026-10-20 20:30:04,124.124 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:30:04
[2026-10-20 20:30:04,707.707 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:30:04,971.971 INFO    ] Initializing speech engine...
[2026-10-20 20:30:04,996.996 INFO    ] 2026-10-20 20:30:04
[2026-10-20 20:30:05,267.267 INFO    ] 2026-10-20 20:30:05
[2026-10-20 20:30:05,304.304 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:30:05,587.587 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:30:05,596.596 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:30:05,744.744 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:30:05,782.782 INFO    ] time= 20/10/2026 20:30:05
[2026-10-20 20:30:05,842.842 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:30:05,893.893 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:30:06,027.027 INFO    ] No existing commands found in stream
[2026-10-20 20:30:11,057.057 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:30:11,060.060 INFO    ] Waiting 0.28 seconds before fallback handling...
[2026-10-20 20:30:11,841.841 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:30:11,844.844 INFO    ] Checking for system updates...
[2026-10-20 20:30:11,883.883 INFO    ] 200
[2026-10-20 20:30:11,886.886 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:30:11,946.946 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:30:11,948.948 INFO    ] No update needed
[2026-10-20 20:30:11,951.951 INFO    ] Checking for camera pi updates...
[2026-10-20 20:30:11,985.985 INFO    ] 200
[2026-10-20 20:30:11,988.988 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:30:12,029.029 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:30:12,086.086 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:30:12,089.089 INFO    ] No camera update needed
[2026-10-20 20:30:12,091.091 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:30:12,094.094 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:30:12,099.099 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:30:12,104.104 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:30:14,144.144 INFO    ] ================================================
[2026-10-20 20:30:14,159.159 INFO    ] Launching Daemon at Tue Oct 20 20:30:14 IST 2026
[2026-10-20 20:30:14,170.170 INFO    ] ================================================
[2026-10-20 20:30:14,808.808 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:30:14
[2026-10-20 20:30:15,464.464 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:30:15,764.764 INFO    ] Initializing speech engine...
[2026-10-20 20:30:15,774.774 INFO    ] 2026-10-20 20:30:15
[2026-10-20 20:30:16,043.043 INFO    ] 2026-10-20 20:30:16
[2026-10-20 20:30:16,100.100 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:30:16,337.337 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:30:16,342.342 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:30:16,512.512 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:30:16,567.567 INFO    ] time= 20/10/2026 20:30:16
[2026-10-20 20:30:16,607.607 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:30:16,626.626 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:30:16,759.759 INFO    ] No existing commands found in stream
[2026-10-20 20:30:21,774.774 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:30:21,777.777 INFO    ] Waiting 3.13 seconds before fallback handling...
[2026-10-20 20:30:25,466.466 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 20:30:25,469.469 INFO    ] Checking for system updates...
[2026-10-20 20:30:25,505.505 INFO    ] 200
[2026-10-20 20:30:25,508.508 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:30:25,562.562 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:30:25,564.564 INFO    ] No update needed
[2026-10-20 20:30:25,567.567 INFO    ] Checking for camera pi updates...
[2026-10-20 20:30:25,601.601 INFO    ] 200
[2026-10-20 20:30:25,604.604 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:30:25,649.649 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:30:25,701.701 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:30:25,704.704 INFO    ] No camera update needed
[2026-10-20 20:30:25,706.706 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:30:25,709.709 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:30:25,715.715 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:30:25,721.721 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:30:27,762.762 INFO    ] ================================================
[2026-10-20 20:30:27,777.777 INFO    ] Launching Daemon at Tue Oct 20 20:30:27 IST 2026
[2026-10-20 20:30:27,788.788 INFO    ] ================================================
[2026-10-20 20:30:28,431.431 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:30:28
[2026-10-20 20:30:29,092.092 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:30:29,403.403 INFO    ] Initializing speech engine...
[2026-10-20 20:30:29,407.407 INFO    ] 2026-10-20 20:30:29
[2026-10-20 20:30:29,713.713 INFO    ] 2026-10-20 20:30:29
[2026-10-20 20:30:29,800.800 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:30:30,009.009 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:30:30,018.018 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:30:30,213.213 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:30:30,231.231 INFO    ] time= 20/10/2026 20:30:30
[2026-10-20 20:30:30,241.241 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:30:30,269.269 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:30:30,410.410 INFO    ] No existing commands found in stream
[2026-10-20 20:30:35,440.440 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:30:35,444.444 INFO    ] Waiting 3.57 seconds before fallback handling...
[2026-10-20 20:30:39,591.591 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:30:39,594.594 INFO    ] Checking for system updates...
[2026-10-20 20:30:39,631.631 INFO    ] 200
[2026-10-20 20:30:39,634.634 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:30:39,687.687 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:30:39,690.690 INFO    ] No update needed
[2026-10-20 20:30:39,693.693 INFO    ] Checking for camera pi updates...
[2026-10-20 20:30:39,730.730 INFO    ] 200
[2026-10-20 20:30:39,732.732 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:30:39,772.772 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:30:39,808.808 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:30:39,810.810 INFO    ] No camera update needed
[2026-10-20 20:30:39,813.813 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:30:39,815.815 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:30:39,821.821 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:30:39,826.826 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:30:41,866.866 INFO    ] ================================================
[2026-10-20 20:30:41,881.881 INFO    ] Launching Daemon at Tue Oct 20 20:30:41 IST 2026
[2026-10-20 20:30:41,892.892 INFO    ] ================================================
[2026-10-20 20:30:42,458.458 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:30:42
[2026-10-20 20:30:43,043.043 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:30:43,315.315 INFO    ] Initializing speech engine...
[2026-10-20 20:30:43,335.335 INFO    ] 2026-10-20 20:30:43
[2026-10-20 20:30:43,587.587 INFO    ] 2026-10-20 20:30:43
[2026-10-20 20:30:43,622.622 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:30:43,882.882 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:30:43,891.891 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:30:44,028.028 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:30:44,065.065 INFO    ] time= 20/10/2026 20:30:44
[2026-10-20 20:30:44,119.119 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:30:44,165.165 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:30:44,302.302 INFO    ] No existing commands found in stream
[2026-10-20 20:30:49,330.330 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:30:49,332.332 INFO    ] Waiting 2.66 seconds before fallback handling...
[2026-10-20 20:30:52,474.474 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 20:30:52,476.476 INFO    ] Checking for system updates...
[2026-10-20 20:30:52,515.515 INFO    ] 200
[2026-10-20 20:30:52,518.518 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:30:52,569.569 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:30:52,572.572 INFO    ] No update needed
[2026-10-20 20:30:52,574.574 INFO    ] Checking for camera pi updates...
[2026-10-20 20:30:52,611.611 INFO    ] 200
[2026-10-20 20:30:52,613.613 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:30:52,653.653 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:30:52,696.696 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:30:52,699.699 INFO    ] No camera update needed
[2026-10-20 20:30:52,701.701 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:30:52,704.704 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:30:52,709.709 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:30:52,714.714 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:30:54,752.752 INFO    ] ================================================
[2026-10-20 20:30:54,767.767 INFO    ] Launching Daemon at Tue Oct 20 20:30:54 IST 2026
[2026-10-20 20:30:54,778.778 INFO    ] ================================================
[2026-10-20 20:30:55,356.356 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:30:55
[2026-10-20 20:30:55,983.983 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:30:56,280.280 INFO    ] Initializing speech engine...
[2026-10-20 20:30:56,286.286 INFO    ] 2026-10-20 20:30:56
[2026-10-20 20:30:56,571.571 INFO    ] 2026-10-20 20:30:56
[2026-10-20 20:30:56,615.615 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:30:56,838.838 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:30:56,845.845 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:30:57,068.068 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:30:57,100.100 INFO    ] time= 20/10/2026 20:30:57
[2026-10-20 20:30:57,106.106 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:30:57,123.123 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:30:57,233.233 INFO    ] No existing commands found in stream
[2026-10-20 20:31:02,258.258 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:31:02,262.262 INFO    ] Waiting 1.20 seconds before fallback handling...
[2026-10-20 20:31:03,956.956 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:31:03,959.959 INFO    ] Checking for system updates...
[2026-10-20 20:31:03,994.994 INFO    ] 200
[2026-10-20 20:31:03,997.997 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:31:04,069.069 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:31:04,072.072 INFO    ] No update needed
[2026-10-20 20:31:04,074.074 INFO    ] Checking for camera pi updates...
[2026-10-20 20:31:04,111.111 INFO    ] 200
[2026-10-20 20:31:04,114.114 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:31:04,154.154 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:31:04,196.196 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:31:04,198.198 INFO    ] No camera update needed
[2026-10-20 20:31:04,201.201 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:31:04,203.203 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:31:04,208.208 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:31:04,213.213 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:31:06,252.252 INFO    ] ================================================
[2026-10-20 20:31:06,267.267 INFO    ] Launching Daemon at Tue Oct 20 20:31:06 IST 2026
[2026-10-20 20:31:06,278.278 INFO    ] ================================================
[2026-10-20 20:31:06,859.859 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:31:06
[2026-10-20 20:31:07,461.461 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:31:07,737.737 INFO    ] Initializing speech engine...
[2026-10-20 20:31:07,743.743 INFO    ] 2026-10-20 20:31:07
[2026-10-20 20:31:08,005.005 INFO    ] 2026-10-20 20:31:07
[2026-10-20 20:31:08,059.059 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:31:08,287.287 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:31:08,293.293 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:31:08,505.505 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:31:08,551.551 INFO    ] time= 20/10/2026 20:31:08
[2026-10-20 20:31:08,557.557 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:31:08,578.578 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:31:08,705.705 INFO    ] No existing commands found in stream
[2026-10-20 20:31:13,718.718 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:31:13,721.721 INFO    ] Waiting 0.03 seconds before fallback handling...
[2026-10-20 20:31:14,219.219 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:31:14,222.222 INFO    ] Checking for system updates...
[2026-10-20 20:31:14,258.258 INFO    ] 200
[2026-10-20 20:31:14,261.261 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:31:14,321.321 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:31:14,324.324 INFO    ] No update needed
[2026-10-20 20:31:14,326.326 INFO    ] Checking for camera pi updates...
[2026-10-20 20:31:14,364.364 INFO    ] 200
[2026-10-20 20:31:14,366.366 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:31:14,406.406 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:31:14,456.456 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:31:14,459.459 INFO    ] No camera update needed
[2026-10-20 20:31:14,462.462 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:31:14,465.465 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:31:14,470.470 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:31:14,475.475 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:31:16,515.515 INFO    ] ================================================
[2026-10-20 20:31:16,530.530 INFO    ] Launching Daemon at Tue Oct 20 20:31:16 IST 2026
[2026-10-20 20:31:16,540.540 INFO    ] ================================================
[2026-10-20 20:31:17,122.122 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:31:17
[2026-10-20 20:31:17,717.717 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:31:17,966.966 INFO    ] Initializing speech engine...
[2026-10-20 20:31:17,974.974 INFO    ] 2026-10-20 20:31:17
[2026-10-20 20:31:18,255.255 INFO    ] 2026-10-20 20:31:18
[2026-10-20 20:31:18,291.291 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:31:18,550.550 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:31:18,560.560 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:31:18,699.699 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:31:18,774.774 INFO    ] time= 20/10/2026 20:31:18
[2026-10-20 20:31:18,823.823 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:31:18,837.837 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:31:18,958.958 INFO    ] No existing commands found in stream
[2026-10-20 20:31:23,984.984 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:31:23,986.986 INFO    ] Waiting 2.84 seconds before fallback handling...
[2026-10-20 20:31:27,316.316 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:31:27,319.319 INFO    ] Checking for system updates...
[2026-10-20 20:31:27,355.355 INFO    ] 200
[2026-10-20 20:31:27,357.357 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:31:27,409.409 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:31:27,412.412 INFO    ] No update needed
[2026-10-20 20:31:27,414.414 INFO    ] Checking for camera pi updates...
[2026-10-20 20:31:27,448.448 INFO    ] 200
[2026-10-20 20:31:27,451.451 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:31:27,491.491 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:31:27,539.539 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:31:27,542.542 INFO    ] No camera update needed
[2026-10-20 20:31:27,544.544 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:31:27,546.546 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:31:27,552.552 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:31:27,557.557 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:31:29,596.596 INFO    ] ================================================
[2026-10-20 20:31:29,611.611 INFO    ] Launching Daemon at Tue Oct 20 20:31:29 IST 2026
[2026-10-20 20:31:29,622.622 INFO    ] ================================================
[2026-10-20 20:31:30,190.190 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:31:30
[2026-10-20 20:31:30,777.777 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:31:31,050.050 INFO    ] Initializing speech engine...
[2026-10-20 20:31:31,059.059 INFO    ] 2026-10-20 20:31:31
[2026-10-20 20:31:31,339.339 INFO    ] 2026-10-20 20:31:31
[2026-10-20 20:31:31,375.375 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:31:31,598.598 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:31:31,645.645 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:31:31,801.801 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:31:31,846.846 INFO    ] time= 20/10/2026 20:31:31
[2026-10-20 20:31:31,907.907 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:31:31,947.947 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:31:32,076.076 INFO    ] No existing commands found in stream
[2026-10-20 20:31:37,112.112 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:31:37,115.115 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-10-20 20:31:38,686.686 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:31:38,689.689 INFO    ] Checking for system updates...
[2026-10-20 20:31:38,725.725 INFO    ] 200
[2026-10-20 20:31:38,728.728 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:31:38,789.789 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:31:38,791.791 INFO    ] No update needed
[2026-10-20 20:31:38,793.793 INFO    ] Checking for camera pi updates...
[2026-10-20 20:31:38,827.827 INFO    ] 200
[2026-10-20 20:31:38,830.830 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:31:38,875.875 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:31:39,023.023 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:31:39,026.026 INFO    ] No camera update needed
[2026-10-20 20:31:39,028.028 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:31:39,031.031 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:31:39,036.036 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:31:39,041.041 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:31:41,080.080 INFO    ] ================================================
[2026-10-20 20:31:41,095.095 INFO    ] Launching Daemon at Tue Oct 20 20:31:41 IST 2026
[2026-10-20 20:31:41,106.106 INFO    ] ================================================
[2026-10-20 20:31:41,688.688 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:31:41
[2026-10-20 20:31:42,285.285 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:31:42,559.559 INFO    ] Initializing speech engine...
[2026-10-20 20:31:42,570.570 INFO    ] 2026-10-20 20:31:42
[2026-10-20 20:31:42,831.831 INFO    ] 2026-10-20 20:31:42
[2026-10-20 20:31:42,883.883 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:31:43,104.104 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:31:43,114.114 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:31:43,253.253 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:31:43,322.322 INFO    ] time= 20/10/2026 20:31:43
[2026-10-20 20:31:43,377.377 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:31:43,383.383 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:31:43,523.523 INFO    ] No existing commands found in stream
[2026-10-20 20:31:48,540.540 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:31:48,543.543 INFO    ] Waiting 3.88 seconds before fallback handling...
[2026-10-20 20:31:52,944.944 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:31:52,947.947 INFO    ] Checking for system updates...
[2026-10-20 20:31:52,989.989 INFO    ] 200
[2026-10-20 20:31:52,991.991 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:31:53,043.043 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:31:53,046.046 INFO    ] No update needed
[2026-10-20 20:31:53,048.048 INFO    ] Checking for camera pi updates...
[2026-10-20 20:31:53,085.085 INFO    ] 200
[2026-10-20 20:31:53,088.088 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:31:53,134.134 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:31:53,180.180 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:31:53,182.182 INFO    ] No camera update needed
[2026-10-20 20:31:53,184.184 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:31:53,187.187 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:31:53,192.192 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:31:53,197.197 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:31:55,240.240 INFO    ] ================================================
[2026-10-20 20:31:55,255.255 INFO    ] Launching Daemon at Tue Oct 20 20:31:55 IST 2026
[2026-10-20 20:31:55,265.265 INFO    ] ================================================
[2026-10-20 20:31:55,848.848 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:31:55
[2026-10-20 20:31:56,449.449 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:31:56,729.729 INFO    ] Initializing speech engine...
[2026-10-20 20:31:56,740.740 INFO    ] 2026-10-20 20:31:56
[2026-10-20 20:31:57,012.012 INFO    ] 2026-10-20 20:31:56
[2026-10-20 20:31:57,047.047 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:31:57,253.253 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:31:57,311.311 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:31:57,451.451 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:31:57,507.507 INFO    ] time= 20/10/2026 20:31:57
[2026-10-20 20:31:57,556.556 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:31:57,582.582 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:31:57,715.715 INFO    ] No existing commands found in stream
[2026-10-20 20:32:02,741.741 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:32:02,744.744 INFO    ] Waiting 2.89 seconds before fallback handling...
[2026-10-20 20:32:06,146.146 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:32:06,149.149 INFO    ] Checking for system updates...
[2026-10-20 20:32:06,190.190 INFO    ] 200
[2026-10-20 20:32:06,193.193 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:32:06,253.253 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:32:06,255.255 INFO    ] No update needed
[2026-10-20 20:32:06,258.258 INFO    ] Checking for camera pi updates...
[2026-10-20 20:32:06,295.295 INFO    ] 200
[2026-10-20 20:32:06,298.298 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:32:06,344.344 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:32:06,376.376 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:32:06,379.379 INFO    ] No camera update needed
[2026-10-20 20:32:06,381.381 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:32:06,384.384 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:32:06,389.389 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:32:06,394.394 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:32:08,434.434 INFO    ] ================================================
[2026-10-20 20:32:08,449.449 INFO    ] Launching Daemon at Tue Oct 20 20:32:08 IST 2026
[2026-10-20 20:32:08,460.460 INFO    ] ================================================
[2026-10-20 20:32:09,027.027 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:32:09
[2026-10-20 20:32:09,612.612 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:32:09,863.863 INFO    ] Initializing speech engine...
[2026-10-20 20:32:09,886.886 INFO    ] 2026-10-20 20:32:09
[2026-10-20 20:32:10,140.140 INFO    ] 2026-10-20 20:32:10
[2026-10-20 20:32:10,175.175 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:32:10,420.420 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:32:10,437.437 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:32:10,577.577 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:32:10,614.614 INFO    ] time= 20/10/2026 20:32:10
[2026-10-20 20:32:10,674.674 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:32:10,713.713 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:32:10,845.845 INFO    ] No existing commands found in stream
[2026-10-20 20:32:15,873.873 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:32:15,876.876 INFO    ] Waiting 0.50 seconds before fallback handling...
[2026-10-20 20:32:16,849.849 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:32:16,852.852 INFO    ] Checking for system updates...
[2026-10-20 20:32:16,891.891 INFO    ] 200
[2026-10-20 20:32:16,893.893 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:32:16,944.944 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:32:16,947.947 INFO    ] No update needed
[2026-10-20 20:32:16,949.949 INFO    ] Checking for camera pi updates...
[2026-10-20 20:32:16,986.986 INFO    ] 200
[2026-10-20 20:32:16,989.989 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:32:17,029.029 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:32:17,076.076 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:32:17,079.079 INFO    ] No camera update needed
[2026-10-20 20:32:17,081.081 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:32:17,083.083 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:32:17,089.089 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:32:17,094.094 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:32:19,135.135 INFO    ] ================================================
[2026-10-20 20:32:19,151.151 INFO    ] Launching Daemon at Tue Oct 20 20:32:19 IST 2026
[2026-10-20 20:32:19,161.161 INFO    ] ================================================
[2026-10-20 20:32:19,729.729 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:32:19
[2026-10-20 20:32:20,310.310 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:32:20,637.637 INFO    ] Initializing speech engine...
[2026-10-20 20:32:20,651.651 INFO    ] 2026-10-20 20:32:20
[2026-10-20 20:32:20,935.935 INFO    ] 2026-10-20 20:32:20
[2026-10-20 20:32:21,026.026 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:32:21,222.222 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:32:21,229.229 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:32:21,424.424 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:32:21,465.465 INFO    ] time= 20/10/2026 20:32:21
[2026-10-20 20:32:21,483.483 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:32:21,493.493 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:32:21,651.651 INFO    ] No existing commands found in stream
[2026-10-20 20:32:26,682.682 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:32:26,685.685 INFO    ] Waiting 1.05 seconds before fallback handling...
[2026-10-20 20:32:28,260.260 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:32:28,263.263 INFO    ] Checking for system updates...
[2026-10-20 20:32:28,302.302 INFO    ] 200
[2026-10-20 20:32:28,304.304 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:32:28,356.356 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:32:28,358.358 INFO    ] No update needed
[2026-10-20 20:32:28,361.361 INFO    ] Checking for camera pi updates...
[2026-10-20 20:32:28,397.397 INFO    ] 200
[2026-10-20 20:32:28,400.400 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:32:28,440.440 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:32:28,483.483 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:32:28,486.486 INFO    ] No camera update needed
[2026-10-20 20:32:28,488.488 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:32:28,490.490 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:32:28,496.496 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:32:28,501.501 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:32:30,541.541 INFO    ] ================================================
[2026-10-20 20:32:30,556.556 INFO    ] Launching Daemon at Tue Oct 20 20:32:30 IST 2026
[2026-10-20 20:32:30,566.566 INFO    ] ================================================
[2026-10-20 20:32:31,143.143 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:32:31
[2026-10-20 20:32:31,733.733 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:32:31,991.991 INFO    ] Initializing speech engine...
[2026-10-20 20:32:32,005.005 INFO    ] 2026-10-20 20:32:31
[2026-10-20 20:32:32,297.297 INFO    ] 2026-10-20 20:32:32
[2026-10-20 20:32:32,333.333 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:32:32,581.581 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:32:32,606.606 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:32:32,795.795 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:32:32,836.836 INFO    ] time= 20/10/2026 20:32:32
[2026-10-20 20:32:32,853.853 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:32:32,922.922 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:32:33,016.016 INFO    ] No existing commands found in stream
[2026-10-20 20:32:38,030.030 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:32:38,032.032 INFO    ] Waiting 0.38 seconds before fallback handling...
[2026-10-20 20:32:38,904.904 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 20:32:38,906.906 INFO    ] Checking for system updates...
[2026-10-20 20:32:38,942.942 INFO    ] 200
[2026-10-20 20:32:38,945.945 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:32:39,002.002 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:32:39,005.005 INFO    ] No update needed
[2026-10-20 20:32:39,007.007 INFO    ] Checking for camera pi updates...
[2026-10-20 20:32:39,043.043 INFO    ] 200
[2026-10-20 20:32:39,046.046 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:32:39,091.091 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:32:39,144.144 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:32:39,147.147 INFO    ] No camera update needed
[2026-10-20 20:32:39,149.149 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:32:39,152.152 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:32:39,157.157 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:32:39,162.162 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:32:41,203.203 INFO    ] ================================================
[2026-10-20 20:32:41,218.218 INFO    ] Launching Daemon at Tue Oct 20 20:32:41 IST 2026
[2026-10-20 20:32:41,229.229 INFO    ] ================================================
[2026-10-20 20:32:41,792.792 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:32:41
[2026-10-20 20:32:42,375.375 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:32:42,629.629 INFO    ] Initializing speech engine...
[2026-10-20 20:32:42,638.638 INFO    ] 2026-10-20 20:32:42
[2026-10-20 20:32:42,931.931 INFO    ] 2026-10-20 20:32:42
[2026-10-20 20:32:42,966.966 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:32:43,184.184 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:32:43,229.229 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:32:43,414.414 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:32:43,474.474 INFO    ] time= 20/10/2026 20:32:43
[2026-10-20 20:32:43,523.523 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:32:43,561.561 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:32:43,698.698 INFO    ] No existing commands found in stream
[2026-10-20 20:32:48,733.733 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:32:48,736.736 INFO    ] Waiting 2.74 seconds before fallback handling...
[2026-10-20 20:32:51,995.995 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:32:51,998.998 INFO    ] Checking for system updates...
[2026-10-20 20:32:52,035.035 INFO    ] 200
[2026-10-20 20:32:52,038.038 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:32:52,096.096 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:32:52,099.099 INFO    ] No update needed
[2026-10-20 20:32:52,102.102 INFO    ] Checking for camera pi updates...
[2026-10-20 20:32:52,140.140 INFO    ] 200
[2026-10-20 20:32:52,142.142 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:32:52,187.187 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:32:52,239.239 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:32:52,241.241 INFO    ] No camera update needed
[2026-10-20 20:32:52,244.244 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:32:52,247.247 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:32:52,253.253 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:32:52,258.258 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:32:54,299.299 INFO    ] ================================================
[2026-10-20 20:32:54,319.319 INFO    ] Launching Daemon at Tue Oct 20 20:32:54 IST 2026
[2026-10-20 20:32:54,330.330 INFO    ] ================================================
[2026-10-20 20:32:54,900.900 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:32:54
[2026-10-20 20:32:55,486.486 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:32:55,759.759 INFO    ] Initializing speech engine...
[2026-10-20 20:32:55,777.777 INFO    ] 2026-10-20 20:32:55
[2026-10-20 20:32:56,044.044 INFO    ] 2026-10-20 20:32:56
[2026-10-20 20:32:56,080.080 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:32:56,304.304 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:32:56,353.353 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:32:56,524.524 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:32:56,562.562 INFO    ] time= 20/10/2026 20:32:56
[2026-10-20 20:32:56,606.606 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:32:56,655.655 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:32:56,808.808 INFO    ] No existing commands found in stream
[2026-10-20 20:33:01,833.833 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:33:01,837.837 INFO    ] Waiting 1.44 seconds before fallback handling...
[2026-10-20 20:33:03,824.824 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:33:03,827.827 INFO    ] Checking for system updates...
[2026-10-20 20:33:03,862.862 INFO    ] 200
[2026-10-20 20:33:03,864.864 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:33:03,916.916 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:33:03,919.919 INFO    ] No update needed
[2026-10-20 20:33:03,923.923 INFO    ] Checking for camera pi updates...
[2026-10-20 20:33:03,957.957 INFO    ] 200
[2026-10-20 20:33:03,961.961 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:33:04,001.001 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:33:04,045.045 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:33:04,047.047 INFO    ] No camera update needed
[2026-10-20 20:33:04,050.050 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:33:04,053.053 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:33:04,059.059 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:33:04,065.065 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:33:06,105.105 INFO    ] ================================================
[2026-10-20 20:33:06,120.120 INFO    ] Launching Daemon at Tue Oct 20 20:33:06 IST 2026
[2026-10-20 20:33:06,130.130 INFO    ] ================================================
[2026-10-20 20:33:06,763.763 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:33:06
[2026-10-20 20:33:07,425.425 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:33:07,729.729 INFO    ] Initializing speech engine...
[2026-10-20 20:33:07,738.738 INFO    ] 2026-10-20 20:33:07
[2026-10-20 20:33:08,024.024 INFO    ] 2026-10-20 20:33:08
[2026-10-20 20:33:08,069.069 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:33:08,358.358 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:33:08,367.367 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:33:08,566.566 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:33:08,574.574 INFO    ] time= 20/10/2026 20:33:08
[2026-10-20 20:33:08,592.592 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:33:08,610.610 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:33:08,767.767 INFO    ] No existing commands found in stream
[2026-10-20 20:33:13,793.793 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:33:13,796.796 INFO    ] Waiting 3.01 seconds before fallback handling...
[2026-10-20 20:33:17,358.358 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:33:17,361.361 INFO    ] Checking for system updates...
[2026-10-20 20:33:17,401.401 INFO    ] 200
[2026-10-20 20:33:17,403.403 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:33:17,466.466 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:33:17,469.469 INFO    ] No update needed
[2026-10-20 20:33:17,473.473 INFO    ] Checking for camera pi updates...
[2026-10-20 20:33:17,510.510 INFO    ] 200
[2026-10-20 20:33:17,513.513 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:33:17,554.554 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:33:17,615.615 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:33:17,618.618 INFO    ] No camera update needed
[2026-10-20 20:33:17,621.621 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:33:17,624.624 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:33:17,630.630 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:33:17,636.636 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:33:19,677.677 INFO    ] ================================================
[2026-10-20 20:33:19,692.692 INFO    ] Launching Daemon at Tue Oct 20 20:33:19 IST 2026
[2026-10-20 20:33:19,703.703 INFO    ] ================================================
[2026-10-20 20:33:20,346.346 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:33:20
[2026-10-20 20:33:21,009.009 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:33:21,311.311 INFO    ] Initializing speech engine...
[2026-10-20 20:33:21,325.325 INFO    ] 2026-10-20 20:33:21
[2026-10-20 20:33:21,631.631 INFO    ] 2026-10-20 20:33:21
[2026-10-20 20:33:21,717.717 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:33:21,897.897 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:33:21,929.929 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:33:22,083.083 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:33:22,087.087 INFO    ] time= 20/10/2026 20:33:22
[2026-10-20 20:33:22,110.110 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:33:22,162.162 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:33:22,296.296 INFO    ] No existing commands found in stream
[2026-10-20 20:33:27,323.323 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:33:27,326.326 INFO    ] Waiting 1.53 seconds before fallback handling...
[2026-10-20 20:33:29,403.403 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:33:29,406.406 INFO    ] Checking for system updates...
[2026-10-20 20:33:29,442.442 INFO    ] 200
[2026-10-20 20:33:29,445.445 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:33:29,497.497 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:33:29,500.500 INFO    ] No update needed
[2026-10-20 20:33:29,503.503 INFO    ] Checking for camera pi updates...
[2026-10-20 20:33:29,536.536 INFO    ] 200
[2026-10-20 20:33:29,539.539 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:33:29,584.584 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:33:29,634.634 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:33:29,637.637 INFO    ] No camera update needed
[2026-10-20 20:33:29,640.640 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:33:29,643.643 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:33:29,648.648 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:33:29,654.654 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:33:31,695.695 INFO    ] ================================================
[2026-10-20 20:33:31,711.711 INFO    ] Launching Daemon at Tue Oct 20 20:33:31 IST 2026
[2026-10-20 20:33:31,722.722 INFO    ] ================================================
[2026-10-20 20:33:32,341.341 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:33:32
[2026-10-20 20:33:32,971.971 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:33:33,221.221 INFO    ] Initializing speech engine...
[2026-10-20 20:33:33,236.236 INFO    ] 2026-10-20 20:33:33
[2026-10-20 20:33:33,503.503 INFO    ] 2026-10-20 20:33:33
[2026-10-20 20:33:33,538.538 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:33:33,735.735 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:33:33,780.780 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:33:33,962.962 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:33:34,022.022 INFO    ] time= 20/10/2026 20:33:33
[2026-10-20 20:33:34,072.072 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:33:34,078.078 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:33:34,206.206 INFO    ] No existing commands found in stream
[2026-10-20 20:33:39,234.234 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:33:39,237.237 INFO    ] Waiting 0.82 seconds before fallback handling...
[2026-10-20 20:33:40,571.571 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:33:40,574.574 INFO    ] Checking for system updates...
[2026-10-20 20:33:40,609.609 INFO    ] 200
[2026-10-20 20:33:40,612.612 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:33:40,664.664 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:33:40,666.666 INFO    ] No update needed
[2026-10-20 20:33:40,669.669 INFO    ] Checking for camera pi updates...
[2026-10-20 20:33:40,705.705 INFO    ] 200
[2026-10-20 20:33:40,708.708 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:33:40,748.748 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:33:40,896.896 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:33:40,898.898 INFO    ] No camera update needed
[2026-10-20 20:33:40,901.901 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:33:40,903.903 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:33:40,908.908 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:33:40,913.913 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:33:42,954.954 INFO    ] ================================================
[2026-10-20 20:33:42,969.969 INFO    ] Launching Daemon at Tue Oct 20 20:33:42 IST 2026
[2026-10-20 20:33:42,979.979 INFO    ] ================================================
[2026-10-20 20:33:43,544.544 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:33:43
[2026-10-20 20:33:44,218.218 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:33:44,527.527 INFO    ] Initializing speech engine...
[2026-10-20 20:33:44,537.537 INFO    ] 2026-10-20 20:33:44
[2026-10-20 20:33:44,831.831 INFO    ] 2026-10-20 20:33:44
[2026-10-20 20:33:44,879.879 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:33:45,171.171 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:33:45,181.181 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:33:45,378.378 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:33:45,396.396 INFO    ] time= 20/10/2026 20:33:45
[2026-10-20 20:33:45,406.406 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:33:45,435.435 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:33:45,567.567 INFO    ] No existing commands found in stream
[2026-10-20 20:33:50,593.593 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:33:50,596.596 INFO    ] Waiting 2.37 seconds before fallback handling...
[2026-10-20 20:33:53,551.551 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:33:53,554.554 INFO    ] Checking for system updates...
[2026-10-20 20:33:53,591.591 INFO    ] 200
[2026-10-20 20:33:53,594.594 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:33:53,651.651 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:33:53,653.653 INFO    ] No update needed
[2026-10-20 20:33:53,656.656 INFO    ] Checking for camera pi updates...
[2026-10-20 20:33:53,691.691 INFO    ] 200
[2026-10-20 20:33:53,694.694 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:33:53,736.736 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:33:53,784.784 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:33:53,787.787 INFO    ] No camera update needed
[2026-10-20 20:33:53,790.790 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:33:53,793.793 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:33:53,799.799 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:33:53,805.805 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:33:55,847.847 INFO    ] ================================================
[2026-10-20 20:33:55,863.863 INFO    ] Launching Daemon at Tue Oct 20 20:33:55 IST 2026
[2026-10-20 20:33:55,874.874 INFO    ] ================================================
[2026-10-20 20:33:56,455.455 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:33:56
[2026-10-20 20:33:57,054.054 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:33:57,332.332 INFO    ] Initializing speech engine...
[2026-10-20 20:33:57,339.339 INFO    ] 2026-10-20 20:33:57
[2026-10-20 20:33:57,599.599 INFO    ] 2026-10-20 20:33:57
[2026-10-20 20:33:57,630.630 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:33:57,899.899 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:33:57,907.907 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:33:58,111.111 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:33:58,142.142 INFO    ] time= 20/10/2026 20:33:58
[2026-10-20 20:33:58,158.158 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:33:58,166.166 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:33:58,293.293 INFO    ] No existing commands found in stream
[2026-10-20 20:34:03,306.306 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:34:03,309.309 INFO    ] Waiting 0.26 seconds before fallback handling...
[2026-10-20 20:34:04,043.043 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:34:04,046.046 INFO    ] Checking for system updates...
[2026-10-20 20:34:04,085.085 INFO    ] 200
[2026-10-20 20:34:04,088.088 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:34:04,140.140 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:34:04,142.142 INFO    ] No update needed
[2026-10-20 20:34:04,145.145 INFO    ] Checking for camera pi updates...
[2026-10-20 20:34:04,178.178 INFO    ] 200
[2026-10-20 20:34:04,180.180 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:34:04,220.220 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:34:04,268.268 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:34:04,271.271 INFO    ] No camera update needed
[2026-10-20 20:34:04,273.273 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:34:04,275.275 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:34:04,281.281 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:34:04,286.286 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:34:06,325.325 INFO    ] ================================================
[2026-10-20 20:34:06,342.342 INFO    ] Launching Daemon at Tue Oct 20 20:34:06 IST 2026
[2026-10-20 20:34:06,352.352 INFO    ] ================================================
[2026-10-20 20:34:06,922.922 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:34:06
[2026-10-20 20:34:07,506.506 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:34:07,777.777 INFO    ] Initializing speech engine...
[2026-10-20 20:34:07,787.787 INFO    ] 2026-10-20 20:34:07
[2026-10-20 20:34:08,037.037 INFO    ] 2026-10-20 20:34:08
[2026-10-20 20:34:08,072.072 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:34:08,331.331 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:34:08,341.341 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:34:08,539.539 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:34:08,593.593 INFO    ] time= 20/10/2026 20:34:08
[2026-10-20 20:34:08,611.611 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:34:08,627.627 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:34:08,761.761 INFO    ] No existing commands found in stream
[2026-10-20 20:34:13,776.776 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:34:13,779.779 INFO    ] Waiting 2.65 seconds before fallback handling...
[2026-10-20 20:34:16,929.929 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:34:16,931.931 INFO    ] Checking for system updates...
[2026-10-20 20:34:16,968.968 INFO    ] 200
[2026-10-20 20:34:16,971.971 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:34:17,033.033 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:34:17,036.036 INFO    ] No update needed
[2026-10-20 20:34:17,039.039 INFO    ] Checking for camera pi updates...
[2026-10-20 20:34:17,073.073 INFO    ] 200
[2026-10-20 20:34:17,076.076 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:34:17,119.119 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:34:17,167.167 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:34:17,171.171 INFO    ] No camera update needed
[2026-10-20 20:34:17,173.173 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:34:17,176.176 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:34:17,183.183 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:34:17,189.189 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:34:19,232.232 INFO    ] ================================================
[2026-10-20 20:34:19,248.248 INFO    ] Launching Daemon at Tue Oct 20 20:34:19 IST 2026
[2026-10-20 20:34:19,259.259 INFO    ] ================================================
[2026-10-20 20:34:19,830.830 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:34:19
[2026-10-20 20:34:20,415.415 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:34:20,682.682 INFO    ] Initializing speech engine...
[2026-10-20 20:34:20,692.692 INFO    ] 2026-10-20 20:34:20
[2026-10-20 20:34:20,948.948 INFO    ] 2026-10-20 20:34:20
[2026-10-20 20:34:20,983.983 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:34:21,216.216 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:34:21,283.283 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:34:21,448.448 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:34:21,455.455 INFO    ] time= 20/10/2026 20:34:21
[2026-10-20 20:34:21,474.474 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:34:21,538.538 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:34:21,634.634 INFO    ] No existing commands found in stream
[2026-10-20 20:34:26,659.659 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:34:26,662.662 INFO    ] Waiting 1.08 seconds before fallback handling...
[2026-10-20 20:34:28,333.333 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 20:34:28,336.336 INFO    ] Checking for system updates...
[2026-10-20 20:34:28,374.374 INFO    ] 200
[2026-10-20 20:34:28,377.377 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:34:28,430.430 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:34:28,433.433 INFO    ] No update needed
[2026-10-20 20:34:28,435.435 INFO    ] Checking for camera pi updates...
[2026-10-20 20:34:28,470.470 INFO    ] 200
[2026-10-20 20:34:28,473.473 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:34:28,521.521 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:34:28,576.576 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:34:28,579.579 INFO    ] No camera update needed
[2026-10-20 20:34:28,581.581 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:34:28,584.584 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:34:28,589.589 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:34:28,594.594 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:34:30,634.634 INFO    ] ================================================
[2026-10-20 20:34:30,649.649 INFO    ] Launching Daemon at Tue Oct 20 20:34:30 IST 2026
[2026-10-20 20:34:30,660.660 INFO    ] ================================================
[2026-10-20 20:34:31,244.244 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:34:31
[2026-10-20 20:34:31,977.977 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:34:32,317.317 INFO    ] Initializing speech engine...
[2026-10-20 20:34:32,326.326 INFO    ] 2026-10-20 20:34:32
[2026-10-20 20:34:32,624.624 INFO    ] 2026-10-20 20:34:32
[2026-10-20 20:34:32,683.683 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:34:32,915.915 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:34:32,932.932 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:34:33,141.141 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:34:33,183.183 INFO    ] time= 20/10/2026 20:34:33
[2026-10-20 20:34:33,199.199 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:34:33,209.209 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:34:33,365.365 INFO    ] No existing commands found in stream
[2026-10-20 20:34:38,396.396 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:34:38,400.400 INFO    ] Waiting 0.41 seconds before fallback handling...
[2026-10-20 20:34:39,398.398 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 20:34:39,401.401 INFO    ] Checking for system updates...
[2026-10-20 20:34:39,438.438 INFO    ] 200
[2026-10-20 20:34:39,441.441 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:34:39,493.493 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:34:39,496.496 INFO    ] No update needed
[2026-10-20 20:34:39,498.498 INFO    ] Checking for camera pi updates...
[2026-10-20 20:34:39,536.536 INFO    ] 200
[2026-10-20 20:34:39,539.539 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:34:39,579.579 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:34:39,634.634 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:34:39,637.637 INFO    ] No camera update needed
[2026-10-20 20:34:39,639.639 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:34:39,642.642 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:34:39,647.647 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:34:39,652.652 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:34:41,691.691 INFO    ] ================================================
[2026-10-20 20:34:41,706.706 INFO    ] Launching Daemon at Tue Oct 20 20:34:41 IST 2026
[2026-10-20 20:34:41,717.717 INFO    ] ================================================
[2026-10-20 20:34:42,303.303 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:34:42
[2026-10-20 20:34:42,904.904 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:34:43,183.183 INFO    ] Initializing speech engine...
[2026-10-20 20:34:43,189.189 INFO    ] 2026-10-20 20:34:43
[2026-10-20 20:34:43,449.449 INFO    ] 2026-10-20 20:34:43
[2026-10-20 20:34:43,479.479 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:34:43,729.729 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:34:43,735.735 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:34:43,952.952 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:34:43,993.993 INFO    ] time= 20/10/2026 20:34:43
[2026-10-20 20:34:43,999.999 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:34:44,014.014 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:34:44,148.148 INFO    ] No existing commands found in stream
[2026-10-20 20:34:49,167.167 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:34:49,170.170 INFO    ] Waiting 0.84 seconds before fallback handling...
[2026-10-20 20:34:50,540.540 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:34:50,543.543 INFO    ] Checking for system updates...
[2026-10-20 20:34:50,583.583 INFO    ] 200
[2026-10-20 20:34:50,585.585 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:34:50,637.637 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:34:50,640.640 INFO    ] No update needed
[2026-10-20 20:34:50,643.643 INFO    ] Checking for camera pi updates...
[2026-10-20 20:34:50,675.675 INFO    ] 200
[2026-10-20 20:34:50,678.678 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:34:50,718.718 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:34:50,772.772 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:34:50,774.774 INFO    ] No camera update needed
[2026-10-20 20:34:50,777.777 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:34:50,779.779 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:34:50,785.785 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:34:50,790.790 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:34:52,830.830 INFO    ] ================================================
[2026-10-20 20:34:52,845.845 INFO    ] Launching Daemon at Tue Oct 20 20:34:52 IST 2026
[2026-10-20 20:34:52,856.856 INFO    ] ================================================
[2026-10-20 20:34:53,524.524 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:34:53
[2026-10-20 20:34:54,212.212 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:34:54,520.520 INFO    ] Initializing speech engine...
[2026-10-20 20:34:54,534.534 INFO    ] 2026-10-20 20:34:54
[2026-10-20 20:34:54,819.819 INFO    ] 2026-10-20 20:34:54
[2026-10-20 20:34:54,865.865 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:34:55,106.106 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:34:55,109.109 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:34:55,323.323 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:34:55,378.378 INFO    ] time= 20/10/2026 20:34:55
[2026-10-20 20:34:55,386.386 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:34:55,404.404 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:34:55,560.560 INFO    ] No existing commands found in stream
[2026-10-20 20:35:00,596.596 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:35:00,600.600 INFO    ] Waiting 1.04 seconds before fallback handling...
[2026-10-20 20:35:02,227.227 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:35:02,231.231 INFO    ] Checking for system updates...
[2026-10-20 20:35:02,274.274 INFO    ] 200
[2026-10-20 20:35:02,277.277 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:35:02,343.343 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:35:02,346.346 INFO    ] No update needed
[2026-10-20 20:35:02,349.349 INFO    ] Checking for camera pi updates...
[2026-10-20 20:35:02,402.402 INFO    ] 200
[2026-10-20 20:35:02,405.405 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:35:02,455.455 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:35:02,488.488 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:35:02,491.491 INFO    ] No camera update needed
[2026-10-20 20:35:02,495.495 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:35:02,499.499 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:35:02,506.506 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:35:02,514.514 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:35:04,554.554 INFO    ] ================================================
[2026-10-20 20:35:04,570.570 INFO    ] Launching Daemon at Tue Oct 20 20:35:04 IST 2026
[2026-10-20 20:35:04,581.581 INFO    ] ================================================
[2026-10-20 20:35:05,167.167 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:35:05
[2026-10-20 20:35:05,762.762 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:35:06,037.037 INFO    ] Initializing speech engine...
[2026-10-20 20:35:06,045.045 INFO    ] 2026-10-20 20:35:06
[2026-10-20 20:35:06,294.294 INFO    ] 2026-10-20 20:35:06
[2026-10-20 20:35:06,329.329 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:35:06,580.580 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:35:06,589.589 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:35:06,724.724 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:35:06,789.789 INFO    ] time= 20/10/2026 20:35:06
[2026-10-20 20:35:06,843.843 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:35:06,858.858 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:35:07,006.006 INFO    ] No existing commands found in stream
[2026-10-20 20:35:12,031.031 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:35:12,034.034 INFO    ] Waiting 3.59 seconds before fallback handling...
[2026-10-20 20:35:16,161.161 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 20:35:16,164.164 INFO    ] Checking for system updates...
[2026-10-20 20:35:16,200.200 INFO    ] 200
[2026-10-20 20:35:16,202.202 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:35:16,259.259 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:35:16,262.262 INFO    ] No update needed
[2026-10-20 20:35:16,264.264 INFO    ] Checking for camera pi updates...
[2026-10-20 20:35:16,302.302 INFO    ] 200
[2026-10-20 20:35:16,304.304 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:35:16,344.344 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:35:16,393.393 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:35:16,395.395 INFO    ] No camera update needed
[2026-10-20 20:35:16,397.397 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:35:16,400.400 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:35:16,405.405 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:35:16,410.410 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:35:18,450.450 INFO    ] ================================================
[2026-10-20 20:35:18,465.465 INFO    ] Launching Daemon at Tue Oct 20 20:35:18 IST 2026
[2026-10-20 20:35:18,476.476 INFO    ] ================================================
[2026-10-20 20:35:19,144.144 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:35:19
[2026-10-20 20:35:19,831.831 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:35:20,145.145 INFO    ] Initializing speech engine...
[2026-10-20 20:35:20,160.160 INFO    ] 2026-10-20 20:35:20
[2026-10-20 20:35:20,435.435 INFO    ] 2026-10-20 20:35:20
[2026-10-20 20:35:20,503.503 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:35:20,781.781 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:35:20,791.791 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:35:20,985.985 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:35:20,997.997 INFO    ] time= 20/10/2026 20:35:20
[2026-10-20 20:35:21,018.018 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:35:21,045.045 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:35:21,161.161 INFO    ] No existing commands found in stream
[2026-10-20 20:35:26,192.192 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:35:26,195.195 INFO    ] Waiting 1.66 seconds before fallback handling...
[2026-10-20 20:35:28,410.410 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:35:28,413.413 INFO    ] Checking for system updates...
[2026-10-20 20:35:28,448.448 INFO    ] 200
[2026-10-20 20:35:28,451.451 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:35:28,504.504 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:35:28,506.506 INFO    ] No update needed
[2026-10-20 20:35:28,509.509 INFO    ] Checking for camera pi updates...
[2026-10-20 20:35:28,541.541 INFO    ] 200
[2026-10-20 20:35:28,544.544 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:35:28,584.584 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:35:28,629.629 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:35:28,632.632 INFO    ] No camera update needed
[2026-10-20 20:35:28,634.634 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:35:28,636.636 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:35:28,642.642 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:35:28,646.646 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:35:30,686.686 INFO    ] ================================================
[2026-10-20 20:35:30,702.702 INFO    ] Launching Daemon at Tue Oct 20 20:35:30 IST 2026
[2026-10-20 20:35:30,712.712 INFO    ] ================================================
[2026-10-20 20:35:31,280.280 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:35:31
[2026-10-20 20:35:31,900.900 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:35:32,170.170 INFO    ] Initializing speech engine...
[2026-10-20 20:35:32,190.190 INFO    ] 2026-10-20 20:35:32
[2026-10-20 20:35:32,463.463 INFO    ] 2026-10-20 20:35:32
[2026-10-20 20:35:32,499.499 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:35:32,773.773 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:35:32,783.783 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:35:32,995.995 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:35:33,045.045 INFO    ] time= 20/10/2026 20:35:33
[2026-10-20 20:35:33,052.052 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:35:33,073.073 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:35:33,221.221 INFO    ] No existing commands found in stream
[2026-10-20 20:35:38,258.258 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:35:38,261.261 INFO    ] Waiting 3.34 seconds before fallback handling...
[2026-10-20 20:35:42,087.087 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:35:42,090.090 INFO    ] Checking for system updates...
[2026-10-20 20:35:42,126.126 INFO    ] 200
[2026-10-20 20:35:42,129.129 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:35:42,181.181 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:35:42,184.184 INFO    ] No update needed
[2026-10-20 20:35:42,186.186 INFO    ] Checking for camera pi updates...
[2026-10-20 20:35:42,224.224 INFO    ] 200
[2026-10-20 20:35:42,226.226 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:35:42,273.273 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:35:42,320.320 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:35:42,322.322 INFO    ] No camera update needed
[2026-10-20 20:35:42,325.325 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:35:42,327.327 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:35:42,332.332 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:35:42,337.337 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:35:44,379.379 INFO    ] ================================================
[2026-10-20 20:35:44,393.393 INFO    ] Launching Daemon at Tue Oct 20 20:35:44 IST 2026
[2026-10-20 20:35:44,404.404 INFO    ] ================================================
[2026-10-20 20:35:44,975.975 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:35:44
[2026-10-20 20:35:45,561.561 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:35:45,832.832 INFO    ] Initializing speech engine...
[2026-10-20 20:35:45,841.841 INFO    ] 2026-10-20 20:35:45
[2026-10-20 20:35:46,089.089 INFO    ] 2026-10-20 20:35:46
[2026-10-20 20:35:46,124.124 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:35:46,326.326 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:35:46,374.374 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:35:46,531.531 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:35:46,578.578 INFO    ] time= 20/10/2026 20:35:46
[2026-10-20 20:35:46,638.638 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:35:46,670.670 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:35:46,821.821 INFO    ] No existing commands found in stream
[2026-10-20 20:35:51,844.844 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:35:51,847.847 INFO    ] Waiting 0.82 seconds before fallback handling...
[2026-10-20 20:35:53,257.257 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 20:35:53,260.260 INFO    ] Checking for system updates...
[2026-10-20 20:35:53,302.302 INFO    ] 200
[2026-10-20 20:35:53,305.305 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:35:53,359.359 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:35:53,362.362 INFO    ] No update needed
[2026-10-20 20:35:53,365.365 INFO    ] Checking for camera pi updates...
[2026-10-20 20:35:53,399.399 INFO    ] 200
[2026-10-20 20:35:53,402.402 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:35:53,450.450 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:35:53,604.604 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:35:53,606.606 INFO    ] No camera update needed
[2026-10-20 20:35:53,609.609 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:35:53,611.611 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:35:53,616.616 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:35:53,621.621 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:35:55,662.662 INFO    ] ================================================
[2026-10-20 20:35:55,677.677 INFO    ] Launching Daemon at Tue Oct 20 20:35:55 IST 2026
[2026-10-20 20:35:55,687.687 INFO    ] ================================================
[2026-10-20 20:35:56,363.363 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:35:56
[2026-10-20 20:35:56,944.944 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:35:57,216.216 INFO    ] Initializing speech engine...
[2026-10-20 20:35:57,242.242 INFO    ] 2026-10-20 20:35:57
[2026-10-20 20:35:57,504.504 INFO    ] 2026-10-20 20:35:57
[2026-10-20 20:35:57,549.549 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:35:57,773.773 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:35:57,782.782 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:35:57,981.981 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:35:58,036.036 INFO    ] time= 20/10/2026 20:35:57
[2026-10-20 20:35:58,054.054 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:35:58,069.069 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:35:58,190.190 INFO    ] No existing commands found in stream
[2026-10-20 20:36:03,211.211 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:36:03,214.214 INFO    ] Waiting 2.26 seconds before fallback handling...
[2026-10-20 20:36:05,968.968 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:36:05,971.971 INFO    ] Checking for system updates...
[2026-10-20 20:36:06,007.007 INFO    ] 200
[2026-10-20 20:36:06,009.009 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:36:06,061.061 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:36:06,063.063 INFO    ] No update needed
[2026-10-20 20:36:06,066.066 INFO    ] Checking for camera pi updates...
[2026-10-20 20:36:06,100.100 INFO    ] 200
[2026-10-20 20:36:06,102.102 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:36:06,142.142 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:36:06,191.191 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:36:06,193.193 INFO    ] No camera update needed
[2026-10-20 20:36:06,195.195 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:36:06,198.198 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:36:06,203.203 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:36:06,208.208 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:36:08,247.247 INFO    ] ================================================
[2026-10-20 20:36:08,262.262 INFO    ] Launching Daemon at Tue Oct 20 20:36:08 IST 2026
[2026-10-20 20:36:08,273.273 INFO    ] ================================================
[2026-10-20 20:36:08,921.921 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:36:08
[2026-10-20 20:36:09,604.604 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:36:09,925.925 INFO    ] Initializing speech engine...
[2026-10-20 20:36:09,933.933 INFO    ] 2026-10-20 20:36:09
[2026-10-20 20:36:10,219.219 INFO    ] 2026-10-20 20:36:10
[2026-10-20 20:36:10,334.334 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:36:10,553.553 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:36:10,562.562 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:36:10,759.759 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:36:10,766.766 INFO    ] time= 20/10/2026 20:36:10
[2026-10-20 20:36:10,788.788 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:36:10,815.815 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:36:10,926.926 INFO    ] No existing commands found in stream
[2026-10-20 20:36:15,956.956 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:36:15,959.959 INFO    ] Waiting 0.92 seconds before fallback handling...
[2026-10-20 20:36:17,397.397 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:36:17,400.400 INFO    ] Checking for system updates...
[2026-10-20 20:36:17,437.437 INFO    ] 200
[2026-10-20 20:36:17,440.440 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:36:17,493.493 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:36:17,496.496 INFO    ] No update needed
[2026-10-20 20:36:17,498.498 INFO    ] Checking for camera pi updates...
[2026-10-20 20:36:17,536.536 INFO    ] 200
[2026-10-20 20:36:17,538.538 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:36:17,579.579 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:36:17,627.627 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:36:17,630.630 INFO    ] No camera update needed
[2026-10-20 20:36:17,632.632 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:36:17,634.634 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:36:17,640.640 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:36:17,645.645 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:36:19,685.685 INFO    ] ================================================
[2026-10-20 20:36:19,700.700 INFO    ] Launching Daemon at Tue Oct 20 20:36:19 IST 2026
[2026-10-20 20:36:19,711.711 INFO    ] ================================================
[2026-10-20 20:36:20,277.277 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:36:20
[2026-10-20 20:36:20,877.877 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:36:21,134.134 INFO    ] Initializing speech engine...
[2026-10-20 20:36:21,143.143 INFO    ] 2026-10-20 20:36:21
[2026-10-20 20:36:21,441.441 INFO    ] 2026-10-20 20:36:21
[2026-10-20 20:36:21,478.478 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:36:21,690.690 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:36:21,704.704 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:36:21,856.856 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:36:21,865.865 INFO    ] time= 20/10/2026 20:36:21
[2026-10-20 20:36:21,872.872 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:36:21,909.909 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:36:22,049.049 INFO    ] No existing commands found in stream
[2026-10-20 20:36:27,074.074 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:36:27,077.077 INFO    ] Waiting 0.84 seconds before fallback handling...
[2026-10-20 20:36:28,435.435 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:36:28,438.438 INFO    ] Checking for system updates...
[2026-10-20 20:36:28,473.473 INFO    ] 200
[2026-10-20 20:36:28,475.475 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:36:28,528.528 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:36:28,530.530 INFO    ] No update needed
[2026-10-20 20:36:28,533.533 INFO    ] Checking for camera pi updates...
[2026-10-20 20:36:28,570.570 INFO    ] 200
[2026-10-20 20:36:28,572.572 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:36:28,617.617 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:36:28,671.671 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:36:28,674.674 INFO    ] No camera update needed
[2026-10-20 20:36:28,676.676 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:36:28,678.678 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:36:28,684.684 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:36:28,689.689 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:36:30,729.729 INFO    ] ================================================
[2026-10-20 20:36:30,744.744 INFO    ] Launching Daemon at Tue Oct 20 20:36:30 IST 2026
[2026-10-20 20:36:30,755.755 INFO    ] ================================================
[2026-10-20 20:36:31,324.324 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:36:31
[2026-10-20 20:36:31,943.943 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:36:32,230.230 INFO    ] Initializing speech engine...
[2026-10-20 20:36:32,246.246 INFO    ] 2026-10-20 20:36:32
[2026-10-20 20:36:32,559.559 INFO    ] 2026-10-20 20:36:32
[2026-10-20 20:36:32,597.597 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:36:32,816.816 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:36:32,822.822 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:36:32,952.952 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:36:32,955.955 INFO    ] time= 20/10/2026 20:36:32
[2026-10-20 20:36:32,957.957 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:36:32,975.975 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:36:33,073.073 INFO    ] No existing commands found in stream
[2026-10-20 20:36:38,103.103 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:36:38,106.106 INFO    ] Waiting 2.77 seconds before fallback handling...
[2026-10-20 20:36:41,389.389 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:36:41,392.392 INFO    ] Checking for system updates...
[2026-10-20 20:36:41,428.428 INFO    ] 200
[2026-10-20 20:36:41,431.431 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:36:41,486.486 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:36:41,489.489 INFO    ] No update needed
[2026-10-20 20:36:41,492.492 INFO    ] Checking for camera pi updates...
[2026-10-20 20:36:41,527.527 INFO    ] 200
[2026-10-20 20:36:41,530.530 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:36:41,572.572 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:36:41,622.622 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:36:41,625.625 INFO    ] No camera update needed
[2026-10-20 20:36:41,628.628 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:36:41,630.630 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:36:41,637.637 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:36:41,644.644 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:36:43,687.687 INFO    ] ================================================
[2026-10-20 20:36:43,701.701 INFO    ] Launching Daemon at Tue Oct 20 20:36:43 IST 2026
[2026-10-20 20:36:43,712.712 INFO    ] ================================================
[2026-10-20 20:36:44,293.293 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:36:44
[2026-10-20 20:36:44,892.892 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:36:45,169.169 INFO    ] Initializing speech engine...
[2026-10-20 20:36:45,189.189 INFO    ] 2026-10-20 20:36:45
[2026-10-20 20:36:45,462.462 INFO    ] 2026-10-20 20:36:45
[2026-10-20 20:36:45,498.498 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:36:45,714.714 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:36:45,732.732 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:36:45,882.882 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:36:45,892.892 INFO    ] time= 20/10/2026 20:36:45
[2026-10-20 20:36:45,898.898 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:36:45,925.925 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:36:46,068.068 INFO    ] No existing commands found in stream
[2026-10-20 20:36:51,093.093 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:36:51,096.096 INFO    ] Waiting 2.56 seconds before fallback handling...
[2026-10-20 20:36:54,190.190 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:36:54,193.193 INFO    ] Checking for system updates...
[2026-10-20 20:36:54,228.228 INFO    ] 200
[2026-10-20 20:36:54,231.231 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:36:54,290.290 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:36:54,292.292 INFO    ] No update needed
[2026-10-20 20:36:54,295.295 INFO    ] Checking for camera pi updates...
[2026-10-20 20:36:54,328.328 INFO    ] 200
[2026-10-20 20:36:54,331.331 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:36:54,371.371 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:36:54,420.420 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:36:54,422.422 INFO    ] No camera update needed
[2026-10-20 20:36:54,425.425 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:36:54,427.427 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:36:54,433.433 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:36:54,438.438 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:36:56,477.477 INFO    ] ================================================
[2026-10-20 20:36:56,494.494 INFO    ] Launching Daemon at Tue Oct 20 20:36:56 IST 2026
[2026-10-20 20:36:56,506.506 INFO    ] ================================================
[2026-10-20 20:36:57,087.087 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:36:57
[2026-10-20 20:36:57,690.690 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:36:57,953.953 INFO    ] Initializing speech engine...
[2026-10-20 20:36:57,962.962 INFO    ] 2026-10-20 20:36:57
[2026-10-20 20:36:58,262.262 INFO    ] 2026-10-20 20:36:58
[2026-10-20 20:36:58,302.302 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:36:58,503.503 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:36:58,518.518 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:36:58,681.681 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:36:58,693.693 INFO    ] time= 20/10/2026 20:36:58
[2026-10-20 20:36:58,700.700 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:36:58,706.706 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:36:58,781.781 INFO    ] No existing commands found in stream
[2026-10-20 20:37:03,806.806 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:37:03,809.809 INFO    ] Waiting 0.44 seconds before fallback handling...
[2026-10-20 20:37:04,772.772 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:37:04,775.775 INFO    ] Checking for system updates...
[2026-10-20 20:37:04,814.814 INFO    ] 200
[2026-10-20 20:37:04,816.816 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:37:04,868.868 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:37:04,870.870 INFO    ] No update needed
[2026-10-20 20:37:04,873.873 INFO    ] Checking for camera pi updates...
[2026-10-20 20:37:04,907.907 INFO    ] 200
[2026-10-20 20:37:04,910.910 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:37:04,951.951 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:37:04,995.995 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:37:04,998.998 INFO    ] No camera update needed
[2026-10-20 20:37:05,000.000 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:37:05,003.003 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:37:05,008.008 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:37:05,013.013 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:37:07,053.053 INFO    ] ================================================
[2026-10-20 20:37:07,068.068 INFO    ] Launching Daemon at Tue Oct 20 20:37:07 IST 2026
[2026-10-20 20:37:07,079.079 INFO    ] ================================================
[2026-10-20 20:37:07,657.657 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:37:07
[2026-10-20 20:37:08,256.256 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:37:08,516.516 INFO    ] Initializing speech engine...
[2026-10-20 20:37:08,525.525 INFO    ] 2026-10-20 20:37:08
[2026-10-20 20:37:08,817.817 INFO    ] 2026-10-20 20:37:08
[2026-10-20 20:37:08,855.855 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:37:09,051.051 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:37:09,065.065 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:37:09,229.229 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:37:09,234.234 INFO    ] time= 20/10/2026 20:37:09
[2026-10-20 20:37:09,241.241 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:37:09,284.284 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:37:09,436.436 INFO    ] No existing commands found in stream
[2026-10-20 20:37:14,461.461 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:37:14,464.464 INFO    ] Waiting 0.65 seconds before fallback handling...
[2026-10-20 20:37:15,640.640 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 20:37:15,642.642 INFO    ] Checking for system updates...
[2026-10-20 20:37:15,678.678 INFO    ] 200
[2026-10-20 20:37:15,681.681 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:37:15,735.735 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:37:15,737.737 INFO    ] No update needed
[2026-10-20 20:37:15,740.740 INFO    ] Checking for camera pi updates...
[2026-10-20 20:37:15,773.773 INFO    ] 200
[2026-10-20 20:37:15,776.776 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:37:15,815.815 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:37:15,870.870 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:37:15,873.873 INFO    ] No camera update needed
[2026-10-20 20:37:15,875.875 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:37:15,877.877 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:37:15,883.883 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:37:15,888.888 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:37:17,929.929 INFO    ] ================================================
[2026-10-20 20:37:17,944.944 INFO    ] Launching Daemon at Tue Oct 20 20:37:17 IST 2026
[2026-10-20 20:37:17,954.954 INFO    ] ================================================
[2026-10-20 20:37:18,535.535 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:37:18
[2026-10-20 20:37:19,134.134 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:37:19,394.394 INFO    ] Initializing speech engine...
[2026-10-20 20:37:19,403.403 INFO    ] 2026-10-20 20:37:19
[2026-10-20 20:37:19,698.698 INFO    ] 2026-10-20 20:37:19
[2026-10-20 20:37:19,736.736 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:37:19,961.961 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:37:20,016.016 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:37:20,184.184 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:37:20,211.211 INFO    ] time= 20/10/2026 20:37:20
[2026-10-20 20:37:20,260.260 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:37:20,315.315 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:37:20,477.477 INFO    ] No existing commands found in stream
[2026-10-20 20:37:25,503.503 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:37:25,505.505 INFO    ] Waiting 0.86 seconds before fallback handling...
[2026-10-20 20:37:26,908.908 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:37:26,911.911 INFO    ] Checking for system updates...
[2026-10-20 20:37:26,951.951 INFO    ] 200
[2026-10-20 20:37:26,954.954 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:37:27,006.006 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:37:27,009.009 INFO    ] No update needed
[2026-10-20 20:37:27,012.012 INFO    ] Checking for camera pi updates...
[2026-10-20 20:37:27,053.053 INFO    ] 200
[2026-10-20 20:37:27,056.056 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:37:27,101.101 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:37:27,147.147 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:37:27,149.149 INFO    ] No camera update needed
[2026-10-20 20:37:27,152.152 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:37:27,154.154 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:37:27,159.159 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:37:27,164.164 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:37:29,204.204 INFO    ] ================================================
[2026-10-20 20:37:29,219.219 INFO    ] Launching Daemon at Tue Oct 20 20:37:29 IST 2026
[2026-10-20 20:37:29,229.229 INFO    ] ================================================
[2026-10-20 20:37:29,800.800 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:37:29
[2026-10-20 20:37:30,386.386 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:37:30,636.636 INFO    ] Initializing speech engine...
[2026-10-20 20:37:30,660.660 INFO    ] 2026-10-20 20:37:30
[2026-10-20 20:37:30,934.934 INFO    ] 2026-10-20 20:37:30
[2026-10-20 20:37:31,004.004 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:37:31,235.235 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:37:31,245.245 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:37:31,400.400 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:37:31,460.460 INFO    ] time= 20/10/2026 20:37:31
[2026-10-20 20:37:31,516.516 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:37:31,524.524 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:37:31,683.683 INFO    ] No existing commands found in stream
[2026-10-20 20:37:36,714.714 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:37:36,717.717 INFO    ] Waiting 0.49 seconds before fallback handling...
[2026-10-20 20:37:37,801.801 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:37:37,804.804 INFO    ] Checking for system updates...
[2026-10-20 20:37:37,841.841 INFO    ] 200
[2026-10-20 20:37:37,844.844 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:37:37,897.897 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:37:37,900.900 INFO    ] No update needed
[2026-10-20 20:37:37,903.903 INFO    ] Checking for camera pi updates...
[2026-10-20 20:37:37,941.941 INFO    ] 200
[2026-10-20 20:37:37,944.944 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:37:37,985.985 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:37:38,041.041 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:37:38,044.044 INFO    ] No camera update needed
[2026-10-20 20:37:38,047.047 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:37:38,050.050 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:37:38,056.056 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:37:38,062.062 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:37:40,102.102 INFO    ] ================================================
[2026-10-20 20:37:40,117.117 INFO    ] Launching Daemon at Tue Oct 20 20:37:40 IST 2026
[2026-10-20 20:37:40,129.129 INFO    ] ================================================
[2026-10-20 20:37:40,703.703 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:37:40
[2026-10-20 20:37:41,297.297 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:37:41,558.558 INFO    ] Initializing speech engine...
[2026-10-20 20:37:41,572.572 INFO    ] 2026-10-20 20:37:41
[2026-10-20 20:37:41,828.828 INFO    ] 2026-10-20 20:37:41
[2026-10-20 20:37:41,864.864 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:37:42,066.066 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:37:42,125.125 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:37:42,268.268 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:37:42,311.311 INFO    ] time= 20/10/2026 20:37:42
[2026-10-20 20:37:42,366.366 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:37:42,408.408 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:37:42,561.561 INFO    ] No existing commands found in stream
[2026-10-20 20:37:47,573.573 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:37:47,576.576 INFO    ] Waiting 3.24 seconds before fallback handling...
[2026-10-20 20:37:51,357.357 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:37:51,360.360 INFO    ] Checking for system updates...
[2026-10-20 20:37:51,397.397 INFO    ] 200
[2026-10-20 20:37:51,400.400 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:37:51,460.460 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:37:51,463.463 INFO    ] No update needed
[2026-10-20 20:37:51,465.465 INFO    ] Checking for camera pi updates...
[2026-10-20 20:37:51,500.500 INFO    ] 200
[2026-10-20 20:37:51,503.503 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:37:51,544.544 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:37:51,595.595 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:37:51,598.598 INFO    ] No camera update needed
[2026-10-20 20:37:51,601.601 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:37:51,604.604 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:37:51,610.610 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:37:51,616.616 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:37:53,658.658 INFO    ] ================================================
[2026-10-20 20:37:53,673.673 INFO    ] Launching Daemon at Tue Oct 20 20:37:53 IST 2026
[2026-10-20 20:37:53,683.683 INFO    ] ================================================
[2026-10-20 20:37:54,265.265 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:37:54
[2026-10-20 20:37:54,866.866 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:37:55,140.140 INFO    ] Initializing speech engine...
[2026-10-20 20:37:55,150.150 INFO    ] 2026-10-20 20:37:55
[2026-10-20 20:37:55,411.411 INFO    ] 2026-10-20 20:37:55
[2026-10-20 20:37:55,463.463 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:37:55,686.686 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:37:55,695.695 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:37:55,845.845 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:37:55,880.880 INFO    ] time= 20/10/2026 20:37:55
[2026-10-20 20:37:55,934.934 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:37:55,994.994 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:37:56,131.131 INFO    ] No existing commands found in stream
[2026-10-20 20:38:01,149.149 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:38:01,151.151 INFO    ] Waiting 3.35 seconds before fallback handling...
[2026-10-20 20:38:05,016.016 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:38:05,019.019 INFO    ] Checking for system updates...
[2026-10-20 20:38:05,059.059 INFO    ] 200
[2026-10-20 20:38:05,062.062 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:38:05,114.114 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:38:05,116.116 INFO    ] No update needed
[2026-10-20 20:38:05,119.119 INFO    ] Checking for camera pi updates...
[2026-10-20 20:38:05,152.152 INFO    ] 200
[2026-10-20 20:38:05,154.154 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:38:05,194.194 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:38:05,242.242 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:38:05,245.245 INFO    ] No camera update needed
[2026-10-20 20:38:05,247.247 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:38:05,249.249 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:38:05,255.255 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:38:05,260.260 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:38:07,301.301 INFO    ] ================================================
[2026-10-20 20:38:07,315.315 INFO    ] Launching Daemon at Tue Oct 20 20:38:07 IST 2026
[2026-10-20 20:38:07,326.326 INFO    ] ================================================
[2026-10-20 20:38:07,908.908 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:38:07
[2026-10-20 20:38:08,504.504 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:38:08,782.782 INFO    ] Initializing speech engine...
[2026-10-20 20:38:08,786.786 INFO    ] 2026-10-20 20:38:08
[2026-10-20 20:38:09,048.048 INFO    ] 2026-10-20 20:38:09
[2026-10-20 20:38:09,102.102 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:38:09,384.384 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:38:09,393.393 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:38:09,579.579 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:38:09,593.593 INFO    ] time= 20/10/2026 20:38:09
[2026-10-20 20:38:09,612.612 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:38:09,640.640 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:38:09,755.755 INFO    ] No existing commands found in stream
[2026-10-20 20:38:14,781.781 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:38:14,783.783 INFO    ] Waiting 0.86 seconds before fallback handling...
[2026-10-20 20:38:16,172.172 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:38:16,175.175 INFO    ] Checking for system updates...
[2026-10-20 20:38:16,214.214 INFO    ] 200
[2026-10-20 20:38:16,217.217 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:38:16,269.269 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:38:16,271.271 INFO    ] No update needed
[2026-10-20 20:38:16,274.274 INFO    ] Checking for camera pi updates...
[2026-10-20 20:38:16,307.307 INFO    ] 200
[2026-10-20 20:38:16,309.309 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:38:16,349.349 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:38:16,405.405 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:38:16,407.407 INFO    ] No camera update needed
[2026-10-20 20:38:16,410.410 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:38:16,412.412 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:38:16,418.418 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:38:16,423.423 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:38:18,462.462 INFO    ] ================================================
[2026-10-20 20:38:18,476.476 INFO    ] Launching Daemon at Tue Oct 20 20:38:18 IST 2026
[2026-10-20 20:38:18,487.487 INFO    ] ================================================
[2026-10-20 20:38:19,144.144 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:38:19
[2026-10-20 20:38:19,820.820 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:38:20,128.128 INFO    ] Initializing speech engine...
[2026-10-20 20:38:20,141.141 INFO    ] 2026-10-20 20:38:20
[2026-10-20 20:38:20,455.455 INFO    ] 2026-10-20 20:38:20
[2026-10-20 20:38:20,541.541 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:38:20,766.766 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:38:20,776.776 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:38:20,952.952 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:38:20,996.996 INFO    ] time= 20/10/2026 20:38:20
[2026-10-20 20:38:21,012.012 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:38:21,029.029 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:38:21,146.146 INFO    ] No existing commands found in stream
[2026-10-20 20:38:26,171.171 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:38:26,174.174 INFO    ] Waiting 2.97 seconds before fallback handling...
[2026-10-20 20:38:29,604.604 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:38:29,607.607 INFO    ] Checking for system updates...
[2026-10-20 20:38:29,643.643 INFO    ] 200
[2026-10-20 20:38:29,645.645 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:38:29,706.706 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:38:29,708.708 INFO    ] No update needed
[2026-10-20 20:38:29,711.711 INFO    ] Checking for camera pi updates...
[2026-10-20 20:38:29,744.744 INFO    ] 200
[2026-10-20 20:38:29,746.746 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:38:29,791.791 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:38:29,840.840 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:38:29,842.842 INFO    ] No camera update needed
[2026-10-20 20:38:29,844.844 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:38:29,847.847 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:38:29,852.852 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:38:29,857.857 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:38:31,896.896 INFO    ] ================================================
[2026-10-20 20:38:31,913.913 INFO    ] Launching Daemon at Tue Oct 20 20:38:31 IST 2026
[2026-10-20 20:38:31,925.925 INFO    ] ================================================
[2026-10-20 20:38:32,584.584 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:38:32
[2026-10-20 20:38:33,188.188 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:38:33,445.445 INFO    ] Initializing speech engine...
[2026-10-20 20:38:33,452.452 INFO    ] 2026-10-20 20:38:33
[2026-10-20 20:38:33,754.754 INFO    ] 2026-10-20 20:38:33
[2026-10-20 20:38:33,838.838 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:38:34,096.096 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:38:34,106.106 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:38:34,261.261 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:38:34,336.336 INFO    ] time= 20/10/2026 20:38:34
[2026-10-20 20:38:34,383.383 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:38:34,389.389 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:38:34,530.530 INFO    ] No existing commands found in stream
[2026-10-20 20:38:39,544.544 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:38:39,547.547 INFO    ] Waiting 0.26 seconds before fallback handling...
[2026-10-20 20:38:42,021.021 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:38:42,023.023 INFO    ] Checking for system updates...
[2026-10-20 20:38:42,064.064 INFO    ] 200
[2026-10-20 20:38:42,066.066 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:38:42,118.118 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:38:42,120.120 INFO    ] No update needed
[2026-10-20 20:38:42,123.123 INFO    ] Checking for camera pi updates...
[2026-10-20 20:38:42,156.156 INFO    ] 200
[2026-10-20 20:38:42,158.158 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:38:42,198.198 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:38:42,257.257 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:38:42,259.259 INFO    ] No camera update needed
[2026-10-20 20:38:42,261.261 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:38:42,264.264 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:38:42,269.269 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:38:42,274.274 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:38:44,312.312 INFO    ] ================================================
[2026-10-20 20:38:44,327.327 INFO    ] Launching Daemon at Tue Oct 20 20:38:44 IST 2026
[2026-10-20 20:38:44,338.338 INFO    ] ================================================
[2026-10-20 20:38:44,998.998 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:38:44
[2026-10-20 20:38:45,675.675 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:38:45,988.988 INFO    ] Initializing speech engine...
[2026-10-20 20:38:46,001.001 INFO    ] 2026-10-20 20:38:45
[2026-10-20 20:38:46,255.255 INFO    ] 2026-10-20 20:38:46
[2026-10-20 20:38:46,293.293 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:38:46,524.524 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:38:46,579.579 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:38:46,755.755 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:38:46,769.769 INFO    ] time= 20/10/2026 20:38:46
[2026-10-20 20:38:46,823.823 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:38:46,872.872 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:38:47,041.041 INFO    ] No existing commands found in stream
[2026-10-20 20:38:52,059.059 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:38:52,062.062 INFO    ] Waiting 3.20 seconds before fallback handling...
[2026-10-20 20:38:55,807.807 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:38:55,811.811 INFO    ] Checking for system updates...
[2026-10-20 20:38:55,847.847 INFO    ] 200
[2026-10-20 20:38:55,851.851 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:38:55,911.911 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:38:55,914.914 INFO    ] No update needed
[2026-10-20 20:38:55,917.917 INFO    ] Checking for camera pi updates...
[2026-10-20 20:38:55,956.956 INFO    ] 200
[2026-10-20 20:38:55,959.959 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:38:56,025.025 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:38:56,069.069 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:38:56,072.072 INFO    ] No camera update needed
[2026-10-20 20:38:56,075.075 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:38:56,077.077 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:38:56,084.084 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:38:56,090.090 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:38:58,130.130 INFO    ] ================================================
[2026-10-20 20:38:58,145.145 INFO    ] Launching Daemon at Tue Oct 20 20:38:58 IST 2026
[2026-10-20 20:38:58,155.155 INFO    ] ================================================
[2026-10-20 20:38:58,721.721 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:38:58
[2026-10-20 20:38:59,306.306 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:38:59,573.573 INFO    ] Initializing speech engine...
[2026-10-20 20:38:59,582.582 INFO    ] 2026-10-20 20:38:59
[2026-10-20 20:38:59,827.827 INFO    ] 2026-10-20 20:38:59
[2026-10-20 20:38:59,862.862 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:39:00,114.114 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:39:00,123.123 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:39:00,329.329 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:39:00,381.381 INFO    ] time= 20/10/2026 20:39:00
[2026-10-20 20:39:00,387.387 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:39:00,405.405 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:39:00,555.555 INFO    ] No existing commands found in stream
[2026-10-20 20:39:05,580.580 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:39:05,583.583 INFO    ] Waiting 0.63 seconds before fallback handling...
[2026-10-20 20:39:06,751.751 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:39:06,753.753 INFO    ] Checking for system updates...
[2026-10-20 20:39:06,793.793 INFO    ] 200
[2026-10-20 20:39:06,796.796 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:39:06,847.847 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:39:06,849.849 INFO    ] No update needed
[2026-10-20 20:39:06,852.852 INFO    ] Checking for camera pi updates...
[2026-10-20 20:39:06,886.886 INFO    ] 200
[2026-10-20 20:39:06,888.888 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:39:06,928.928 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:39:06,978.978 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:39:06,980.980 INFO    ] No camera update needed
[2026-10-20 20:39:06,983.983 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:39:06,985.985 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:39:06,990.990 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:39:06,995.995 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:39:09,036.036 INFO    ] ================================================
[2026-10-20 20:39:09,050.050 INFO    ] Launching Daemon at Tue Oct 20 20:39:09 IST 2026
[2026-10-20 20:39:09,061.061 INFO    ] ================================================
[2026-10-20 20:39:09,627.627 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:39:09
[2026-10-20 20:39:10,208.208 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:39:10,474.474 INFO    ] Initializing speech engine...
[2026-10-20 20:39:10,484.484 INFO    ] 2026-10-20 20:39:10
[2026-10-20 20:39:10,728.728 INFO    ] 2026-10-20 20:39:10
[2026-10-20 20:39:10,764.764 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:39:11,015.015 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:39:11,024.024 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:39:11,175.175 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:39:11,251.251 INFO    ] time= 20/10/2026 20:39:11
[2026-10-20 20:39:11,305.305 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:39:11,316.316 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:39:11,461.461 INFO    ] No existing commands found in stream
[2026-10-20 20:39:16,480.480 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:39:16,482.482 INFO    ] Waiting 2.47 seconds before fallback handling...
[2026-10-20 20:39:19,456.456 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:39:19,459.459 INFO    ] Checking for system updates...
[2026-10-20 20:39:19,498.498 INFO    ] 200
[2026-10-20 20:39:19,501.501 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:39:19,560.560 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:39:19,563.563 INFO    ] No update needed
[2026-10-20 20:39:19,565.565 INFO    ] Checking for camera pi updates...
[2026-10-20 20:39:19,598.598 INFO    ] 200
[2026-10-20 20:39:19,601.601 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:39:19,641.641 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:39:19,684.684 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:39:19,686.686 INFO    ] No camera update needed
[2026-10-20 20:39:19,689.689 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:39:19,691.691 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:39:19,696.696 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:39:19,702.702 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:39:21,743.743 INFO    ] ================================================
[2026-10-20 20:39:21,760.760 INFO    ] Launching Daemon at Tue Oct 20 20:39:21 IST 2026
[2026-10-20 20:39:21,772.772 INFO    ] ================================================
[2026-10-20 20:39:22,430.430 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:39:22
[2026-10-20 20:39:23,093.093 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:39:23,396.396 INFO    ] Initializing speech engine...
[2026-10-20 20:39:23,406.406 INFO    ] 2026-10-20 20:39:23
[2026-10-20 20:39:23,689.689 INFO    ] 2026-10-20 20:39:23
[2026-10-20 20:39:23,734.734 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:39:24,016.016 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:39:24,026.026 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:39:24,220.220 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:39:24,228.228 INFO    ] time= 20/10/2026 20:39:24
[2026-10-20 20:39:24,249.249 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:39:24,275.275 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:39:24,401.401 INFO    ] No existing commands found in stream
[2026-10-20 20:39:29,438.438 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:39:29,441.441 INFO    ] Waiting 3.45 seconds before fallback handling...
[2026-10-20 20:39:33,417.417 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:39:33,421.421 INFO    ] Checking for system updates...
[2026-10-20 20:39:33,462.462 INFO    ] 200
[2026-10-20 20:39:33,465.465 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:39:33,525.525 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:39:33,528.528 INFO    ] No update needed
[2026-10-20 20:39:33,532.532 INFO    ] Checking for camera pi updates...
[2026-10-20 20:39:33,574.574 INFO    ] 200
[2026-10-20 20:39:33,577.577 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:39:33,635.635 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:39:33,686.686 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:39:33,689.689 INFO    ] No camera update needed
[2026-10-20 20:39:33,692.692 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:39:33,695.695 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:39:33,703.703 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:39:33,710.710 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:39:35,751.751 INFO    ] ================================================
[2026-10-20 20:39:35,766.766 INFO    ] Launching Daemon at Tue Oct 20 20:39:35 IST 2026
[2026-10-20 20:39:35,777.777 INFO    ] ================================================
[2026-10-20 20:39:36,369.369 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:39:36
[2026-10-20 20:39:36,958.958 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:39:37,247.247 INFO    ] Initializing speech engine...
[2026-10-20 20:39:37,262.262 INFO    ] 2026-10-20 20:39:37
[2026-10-20 20:39:37,561.561 INFO    ] 2026-10-20 20:39:37
[2026-10-20 20:39:37,607.607 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:39:37,843.843 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:39:37,849.849 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:39:38,072.072 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:39:38,107.107 INFO    ] time= 20/10/2026 20:39:38
[2026-10-20 20:39:38,113.113 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:39:38,134.134 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:39:38,258.258 INFO    ] No existing commands found in stream
[2026-10-20 20:39:43,274.274 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:39:43,276.276 INFO    ] Waiting 3.80 seconds before fallback handling...
[2026-10-20 20:39:47,568.568 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:39:47,571.571 INFO    ] Checking for system updates...
[2026-10-20 20:39:47,606.606 INFO    ] 200
[2026-10-20 20:39:47,609.609 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:39:47,661.661 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:39:47,663.663 INFO    ] No update needed
[2026-10-20 20:39:47,666.666 INFO    ] Checking for camera pi updates...
[2026-10-20 20:39:47,704.704 INFO    ] 200
[2026-10-20 20:39:47,706.706 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:39:47,752.752 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:39:47,800.800 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:39:47,802.802 INFO    ] No camera update needed
[2026-10-20 20:39:47,804.804 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:39:47,807.807 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:39:47,812.812 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:39:47,817.817 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:39:49,858.858 INFO    ] ================================================
[2026-10-20 20:39:49,873.873 INFO    ] Launching Daemon at Tue Oct 20 20:39:49 IST 2026
[2026-10-20 20:39:49,883.883 INFO    ] ================================================
[2026-10-20 20:39:50,448.448 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:39:50
[2026-10-20 20:39:51,031.031 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:39:51,277.277 INFO    ] Initializing speech engine...
[2026-10-20 20:39:51,285.285 INFO    ] 2026-10-20 20:39:51
[2026-10-20 20:39:51,558.558 INFO    ] 2026-10-20 20:39:51
[2026-10-20 20:39:51,593.593 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:39:51,852.852 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:39:51,861.861 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:39:52,061.061 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:39:52,121.121 INFO    ] time= 20/10/2026 20:39:52
[2026-10-20 20:39:52,132.132 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:39:52,150.150 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:39:52,284.284 INFO    ] No existing commands found in stream
[2026-10-20 20:39:57,299.299 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:39:57,302.302 INFO    ] Waiting 3.19 seconds before fallback handling...
[2026-10-20 20:40:00,983.983 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 20:40:00,986.986 INFO    ] Checking for system updates...
[2026-10-20 20:40:01,022.022 INFO    ] 200
[2026-10-20 20:40:01,025.025 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:40:01,078.078 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:40:01,081.081 INFO    ] No update needed
[2026-10-20 20:40:01,084.084 INFO    ] Checking for camera pi updates...
[2026-10-20 20:40:01,119.119 INFO    ] 200
[2026-10-20 20:40:01,122.122 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:40:01,169.169 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:40:01,273.273 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:40:01,276.276 INFO    ] No camera update needed
[2026-10-20 20:40:01,281.281 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:40:01,284.284 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:40:01,291.291 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:40:01,297.297 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:40:03,344.344 INFO    ] ================================================
[2026-10-20 20:40:03,361.361 INFO    ] Launching Daemon at Tue Oct 20 20:40:03 IST 2026
[2026-10-20 20:40:03,379.379 INFO    ] ================================================
[2026-10-20 20:40:03,984.984 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:40:03
[2026-10-20 20:40:04,565.565 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:40:04,826.826 INFO    ] Initializing speech engine...
[2026-10-20 20:40:04,846.846 INFO    ] 2026-10-20 20:40:04
[2026-10-20 20:40:05,095.095 INFO    ] 2026-10-20 20:40:05
[2026-10-20 20:40:05,130.130 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:40:05,327.327 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:40:05,335.335 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:40:05,532.532 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:40:05,574.574 INFO    ] time= 20/10/2026 20:40:05
[2026-10-20 20:40:05,633.633 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:40:05,668.668 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:40:05,808.808 INFO    ] No existing commands found in stream
[2026-10-20 20:40:10,829.829 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:40:10,831.831 INFO    ] Waiting 1.72 seconds before fallback handling...
[2026-10-20 20:40:13,096.096 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:40:13,098.098 INFO    ] Checking for system updates...
[2026-10-20 20:40:13,134.134 INFO    ] 200
[2026-10-20 20:40:13,137.137 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:40:13,197.197 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:40:13,200.200 INFO    ] No update needed
[2026-10-20 20:40:13,202.202 INFO    ] Checking for camera pi updates...
[2026-10-20 20:40:13,236.236 INFO    ] 200
[2026-10-20 20:40:13,238.238 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:40:13,278.278 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:40:13,422.422 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:40:13,424.424 INFO    ] No camera update needed
[2026-10-20 20:40:13,427.427 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:40:13,429.429 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:40:13,435.435 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:40:13,440.440 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:40:15,482.482 INFO    ] ================================================
[2026-10-20 20:40:15,497.497 INFO    ] Launching Daemon at Tue Oct 20 20:40:15 IST 2026
[2026-10-20 20:40:15,507.507 INFO    ] ================================================
[2026-10-20 20:40:16,142.142 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:40:16
[2026-10-20 20:40:16,846.846 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:40:17,156.156 INFO    ] Initializing speech engine...
[2026-10-20 20:40:17,166.166 INFO    ] 2026-10-20 20:40:17
[2026-10-20 20:40:17,464.464 INFO    ] 2026-10-20 20:40:17
[2026-10-20 20:40:17,509.509 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:40:17,798.798 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:40:17,803.803 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:40:18,000.000 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:40:18,008.008 INFO    ] time= 20/10/2026 20:40:18
[2026-10-20 20:40:18,030.030 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:40:18,059.059 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:40:18,183.183 INFO    ] No existing commands found in stream
[2026-10-20 20:40:23,209.209 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:40:23,212.212 INFO    ] Waiting 0.82 seconds before fallback handling...
[2026-10-20 20:40:24,617.617 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:40:24,621.621 INFO    ] Checking for system updates...
[2026-10-20 20:40:24,663.663 INFO    ] 200
[2026-10-20 20:40:24,665.665 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:40:24,727.727 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:40:24,729.729 INFO    ] No update needed
[2026-10-20 20:40:24,732.732 INFO    ] Checking for camera pi updates...
[2026-10-20 20:40:24,765.765 INFO    ] 200
[2026-10-20 20:40:24,768.768 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:40:24,808.808 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:40:24,853.853 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:40:24,855.855 INFO    ] No camera update needed
[2026-10-20 20:40:24,857.857 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:40:24,860.860 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:40:24,865.865 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:40:24,871.871 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:40:26,910.910 INFO    ] ================================================
[2026-10-20 20:40:26,925.925 INFO    ] Launching Daemon at Tue Oct 20 20:40:26 IST 2026
[2026-10-20 20:40:26,936.936 INFO    ] ================================================
[2026-10-20 20:40:27,519.519 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:40:27
[2026-10-20 20:40:28,118.118 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:40:28,391.391 INFO    ] Initializing speech engine...
[2026-10-20 20:40:28,400.400 INFO    ] 2026-10-20 20:40:28
[2026-10-20 20:40:28,658.658 INFO    ] 2026-10-20 20:40:28
[2026-10-20 20:40:28,692.692 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:40:28,951.951 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:40:28,966.966 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:40:29,192.192 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:40:29,210.210 INFO    ] time= 20/10/2026 20:40:29
[2026-10-20 20:40:29,232.232 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:40:29,261.261 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:40:29,384.384 INFO    ] No existing commands found in stream
[2026-10-20 20:40:34,414.414 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:40:34,417.417 INFO    ] Waiting 0.85 seconds before fallback handling...
[2026-10-20 20:40:35,788.788 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:40:35,790.790 INFO    ] Checking for system updates...
[2026-10-20 20:40:35,826.826 INFO    ] 200
[2026-10-20 20:40:35,828.828 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:40:35,882.882 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:40:35,884.884 INFO    ] No update needed
[2026-10-20 20:40:35,887.887 INFO    ] Checking for camera pi updates...
[2026-10-20 20:40:35,920.920 INFO    ] 200
[2026-10-20 20:40:35,923.923 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:40:35,963.963 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:40:36,008.008 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:40:36,010.010 INFO    ] No camera update needed
[2026-10-20 20:40:36,013.013 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:40:36,015.015 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:40:36,021.021 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:40:36,025.025 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:40:38,065.065 INFO    ] ================================================
[2026-10-20 20:40:38,080.080 INFO    ] Launching Daemon at Tue Oct 20 20:40:38 IST 2026
[2026-10-20 20:40:38,091.091 INFO    ] ================================================
[2026-10-20 20:40:38,772.772 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:40:38
[2026-10-20 20:40:39,411.411 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:40:39,689.689 INFO    ] Initializing speech engine...
[2026-10-20 20:40:39,694.694 INFO    ] 2026-10-20 20:40:39
[2026-10-20 20:40:39,942.942 INFO    ] 2026-10-20 20:40:39
[2026-10-20 20:40:39,977.977 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:40:40,237.237 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:40:40,246.246 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:40:40,464.464 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:40:40,505.505 INFO    ] time= 20/10/2026 20:40:40
[2026-10-20 20:40:40,511.511 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:40:40,528.528 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:40:40,660.660 INFO    ] No existing commands found in stream
[2026-10-20 20:40:45,681.681 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:40:45,684.684 INFO    ] Waiting 1.11 seconds before fallback handling...
[2026-10-20 20:40:47,299.299 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:40:47,301.301 INFO    ] Checking for system updates...
[2026-10-20 20:40:47,337.337 INFO    ] 200
[2026-10-20 20:40:47,340.340 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:40:47,401.401 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:40:47,403.403 INFO    ] No update needed
[2026-10-20 20:40:47,405.405 INFO    ] Checking for camera pi updates...
[2026-10-20 20:40:47,444.444 INFO    ] 200
[2026-10-20 20:40:47,446.446 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:40:47,487.487 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:40:47,533.533 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:40:47,536.536 INFO    ] No camera update needed
[2026-10-20 20:40:47,538.538 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:40:47,541.541 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:40:47,546.546 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:40:47,551.551 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:40:49,592.592 INFO    ] ================================================
[2026-10-20 20:40:49,608.608 INFO    ] Launching Daemon at Tue Oct 20 20:40:49 IST 2026
[2026-10-20 20:40:49,619.619 INFO    ] ================================================
[2026-10-20 20:40:50,187.187 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:40:50
[2026-10-20 20:40:50,773.773 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:40:51,025.025 INFO    ] Initializing speech engine...
[2026-10-20 20:40:51,044.044 INFO    ] 2026-10-20 20:40:51
[2026-10-20 20:40:51,305.305 INFO    ] 2026-10-20 20:40:51
[2026-10-20 20:40:51,340.340 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:40:51,540.540 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:40:51,562.562 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:40:51,747.747 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:40:51,786.786 INFO    ] time= 20/10/2026 20:40:51
[2026-10-20 20:40:51,835.835 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:40:51,883.883 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:40:52,015.015 INFO    ] No existing commands found in stream
[2026-10-20 20:40:57,040.040 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:40:57,043.043 INFO    ] Waiting 2.43 seconds before fallback handling...
[2026-10-20 20:41:00,039.039 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:41:00,042.042 INFO    ] Checking for system updates...
[2026-10-20 20:41:00,084.084 INFO    ] 200
[2026-10-20 20:41:00,087.087 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:41:00,149.149 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:41:00,152.152 INFO    ] No update needed
[2026-10-20 20:41:00,155.155 INFO    ] Checking for camera pi updates...
[2026-10-20 20:41:00,195.195 INFO    ] 200
[2026-10-20 20:41:00,198.198 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:41:00,240.240 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:41:00,284.284 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:41:00,287.287 INFO    ] No camera update needed
[2026-10-20 20:41:00,290.290 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:41:00,293.293 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:41:00,300.300 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:41:00,306.306 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:41:02,347.347 INFO    ] ================================================
[2026-10-20 20:41:02,367.367 INFO    ] Launching Daemon at Tue Oct 20 20:41:02 IST 2026
[2026-10-20 20:41:02,383.383 INFO    ] ================================================
[2026-10-20 20:41:03,012.012 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:41:03
[2026-10-20 20:41:03,669.669 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:41:04,035.035 INFO    ] Initializing speech engine...
[2026-10-20 20:41:04,044.044 INFO    ] 2026-10-20 20:41:04
[2026-10-20 20:41:04,352.352 INFO    ] 2026-10-20 20:41:04
[2026-10-20 20:41:04,441.441 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:41:04,652.652 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:41:04,661.661 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:41:04,842.842 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:41:04,863.863 INFO    ] time= 20/10/2026 20:41:04
[2026-10-20 20:41:04,882.882 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:41:04,911.911 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:41:05,027.027 INFO    ] No existing commands found in stream
[2026-10-20 20:41:10,048.048 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:41:10,052.052 INFO    ] Waiting 2.09 seconds before fallback handling...
[2026-10-20 20:41:12,712.712 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:41:12,715.715 INFO    ] Checking for system updates...
[2026-10-20 20:41:12,753.753 INFO    ] 200
[2026-10-20 20:41:12,756.756 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:41:12,810.810 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:41:12,812.812 INFO    ] No update needed
[2026-10-20 20:41:12,815.815 INFO    ] Checking for camera pi updates...
[2026-10-20 20:41:12,849.849 INFO    ] 200
[2026-10-20 20:41:12,851.851 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:41:12,892.892 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:41:12,936.936 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:41:12,939.939 INFO    ] No camera update needed
[2026-10-20 20:41:12,941.941 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:41:12,944.944 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:41:12,949.949 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:41:12,954.954 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:41:14,994.994 INFO    ] ================================================
[2026-10-20 20:41:15,010.010 INFO    ] Launching Daemon at Tue Oct 20 20:41:15 IST 2026
[2026-10-20 20:41:15,021.021 INFO    ] ================================================
[2026-10-20 20:41:15,592.592 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:41:15
[2026-10-20 20:41:16,175.175 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:41:16,433.433 INFO    ] Initializing speech engine...
[2026-10-20 20:41:16,441.441 INFO    ] 2026-10-20 20:41:16
[2026-10-20 20:41:16,741.741 INFO    ] 2026-10-20 20:41:16
[2026-10-20 20:41:16,779.779 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:41:16,981.981 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:41:16,996.996 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:41:17,165.165 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:41:17,171.171 INFO    ] time= 20/10/2026 20:41:17
[2026-10-20 20:41:17,178.178 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:41:17,200.200 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:41:17,348.348 INFO    ] No existing commands found in stream
[2026-10-20 20:41:22,373.373 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:41:22,376.376 INFO    ] Waiting 1.08 seconds before fallback handling...
[2026-10-20 20:41:23,943.943 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:41:23,946.946 INFO    ] Checking for system updates...
[2026-10-20 20:41:23,985.985 INFO    ] 200
[2026-10-20 20:41:23,988.988 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:41:24,040.040 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:41:24,042.042 INFO    ] No update needed
[2026-10-20 20:41:24,044.044 INFO    ] Checking for camera pi updates...
[2026-10-20 20:41:24,078.078 INFO    ] 200
[2026-10-20 20:41:24,080.080 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:41:24,121.121 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:41:24,169.169 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:41:24,172.172 INFO    ] No camera update needed
[2026-10-20 20:41:24,174.174 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:41:24,176.176 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:41:24,181.181 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:41:24,186.186 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:41:26,225.225 INFO    ] ================================================
[2026-10-20 20:41:26,240.240 INFO    ] Launching Daemon at Tue Oct 20 20:41:26 IST 2026
[2026-10-20 20:41:26,251.251 INFO    ] ================================================
[2026-10-20 20:41:26,927.927 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:41:26
[2026-10-20 20:41:27,611.611 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:41:27,888.888 INFO    ] Initializing speech engine...
[2026-10-20 20:41:27,894.894 INFO    ] 2026-10-20 20:41:27
[2026-10-20 20:41:28,159.159 INFO    ] 2026-10-20 20:41:28
[2026-10-20 20:41:28,210.210 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:41:28,439.439 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:41:28,444.444 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:41:28,652.652 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:41:28,700.700 INFO    ] time= 20/10/2026 20:41:28
[2026-10-20 20:41:28,708.708 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:41:28,726.726 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:41:28,853.853 INFO    ] No existing commands found in stream
[2026-10-20 20:41:33,868.868 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:41:33,871.871 INFO    ] Waiting 1.81 seconds before fallback handling...
[2026-10-20 20:41:36,209.209 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:41:36,212.212 INFO    ] Checking for system updates...
[2026-10-20 20:41:36,248.248 INFO    ] 200
[2026-10-20 20:41:36,250.250 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:41:36,302.302 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:41:36,305.305 INFO    ] No update needed
[2026-10-20 20:41:36,307.307 INFO    ] Checking for camera pi updates...
[2026-10-20 20:41:36,341.341 INFO    ] 200
[2026-10-20 20:41:36,343.343 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:41:36,384.384 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:41:36,432.432 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:41:36,434.434 INFO    ] No camera update needed
[2026-10-20 20:41:36,437.437 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:41:36,439.439 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:41:36,445.445 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:41:36,450.450 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:41:38,489.489 INFO    ] ================================================
[2026-10-20 20:41:38,504.504 INFO    ] Launching Daemon at Tue Oct 20 20:41:38 IST 2026
[2026-10-20 20:41:38,515.515 INFO    ] ================================================
[2026-10-20 20:41:39,152.152 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:41:39
[2026-10-20 20:41:39,847.847 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:41:40,163.163 INFO    ] Initializing speech engine...
[2026-10-20 20:41:40,174.174 INFO    ] 2026-10-20 20:41:40
[2026-10-20 20:41:40,488.488 INFO    ] 2026-10-20 20:41:40
[2026-10-20 20:41:40,573.573 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:41:40,789.789 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:41:40,797.797 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:41:40,993.993 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:41:41,012.012 INFO    ] time= 20/10/2026 20:41:40
[2026-10-20 20:41:41,041.041 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:41:41,053.053 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:41:41,166.166 INFO    ] No existing commands found in stream
[2026-10-20 20:41:46,192.192 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:41:46,196.196 INFO    ] Waiting 0.64 seconds before fallback handling...
[2026-10-20 20:41:47,394.394 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:41:47,397.397 INFO    ] Checking for system updates...
[2026-10-20 20:41:47,434.434 INFO    ] 200
[2026-10-20 20:41:47,437.437 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:41:47,491.491 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:41:47,494.494 INFO    ] No update needed
[2026-10-20 20:41:47,496.496 INFO    ] Checking for camera pi updates...
[2026-10-20 20:41:47,536.536 INFO    ] 200
[2026-10-20 20:41:47,538.538 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:41:47,580.580 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:41:47,625.625 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:41:47,628.628 INFO    ] No camera update needed
[2026-10-20 20:41:47,631.631 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:41:47,634.634 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:41:47,640.640 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:41:47,646.646 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:41:49,687.687 INFO    ] ================================================
[2026-10-20 20:41:49,702.702 INFO    ] Launching Daemon at Tue Oct 20 20:41:49 IST 2026
[2026-10-20 20:41:49,713.713 INFO    ] ================================================
[2026-10-20 20:41:50,278.278 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:41:50
[2026-10-20 20:41:50,862.862 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:41:51,118.118 INFO    ] Initializing speech engine...
[2026-10-20 20:41:51,137.137 INFO    ] 2026-10-20 20:41:51
[2026-10-20 20:41:51,390.390 INFO    ] 2026-10-20 20:41:51
[2026-10-20 20:41:51,426.426 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:41:51,674.674 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:41:51,681.681 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:41:51,893.893 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:41:51,940.940 INFO    ] time= 20/10/2026 20:41:51
[2026-10-20 20:41:51,957.957 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:41:51,968.968 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:41:52,120.120 INFO    ] No existing commands found in stream
[2026-10-20 20:41:57,157.157 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:41:57,160.160 INFO    ] Waiting 3.57 seconds before fallback handling...
[2026-10-20 20:42:01,286.286 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:42:01,289.289 INFO    ] Checking for system updates...
[2026-10-20 20:42:01,326.326 INFO    ] 200
[2026-10-20 20:42:01,329.329 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:42:01,396.396 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:42:01,399.399 INFO    ] No update needed
[2026-10-20 20:42:01,402.402 INFO    ] Checking for camera pi updates...
[2026-10-20 20:42:01,437.437 INFO    ] 200
[2026-10-20 20:42:01,440.440 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:42:01,487.487 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:42:01,533.533 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:42:01,535.535 INFO    ] No camera update needed
[2026-10-20 20:42:01,537.537 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:42:01,540.540 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:42:01,545.545 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:42:01,550.550 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:42:03,598.598 INFO    ] ================================================
[2026-10-20 20:42:03,613.613 INFO    ] Launching Daemon at Tue Oct 20 20:42:03 IST 2026
[2026-10-20 20:42:03,624.624 INFO    ] ================================================
[2026-10-20 20:42:04,267.267 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:42:04
[2026-10-20 20:42:04,953.953 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:42:05,264.264 INFO    ] Initializing speech engine...
[2026-10-20 20:42:05,275.275 INFO    ] 2026-10-20 20:42:05
[2026-10-20 20:42:05,583.583 INFO    ] 2026-10-20 20:42:05
[2026-10-20 20:42:05,671.671 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:42:05,885.885 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:42:05,890.890 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:42:06,067.067 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:42:06,091.091 INFO    ] time= 20/10/2026 20:42:06
[2026-10-20 20:42:06,107.107 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:42:06,118.118 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:42:06,247.247 INFO    ] No existing commands found in stream
[2026-10-20 20:42:11,275.275 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:42:11,279.279 INFO    ] Waiting 1.36 seconds before fallback handling...
[2026-10-20 20:42:13,186.186 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:42:13,189.189 INFO    ] Checking for system updates...
[2026-10-20 20:42:13,226.226 INFO    ] 200
[2026-10-20 20:42:13,228.228 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:42:13,280.280 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:42:13,283.283 INFO    ] No update needed
[2026-10-20 20:42:13,285.285 INFO    ] Checking for camera pi updates...
[2026-10-20 20:42:13,319.319 INFO    ] 200
[2026-10-20 20:42:13,321.321 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:42:13,361.361 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:42:13,405.405 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:42:13,408.408 INFO    ] No camera update needed
[2026-10-20 20:42:13,410.410 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:42:13,413.413 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:42:13,418.418 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:42:13,423.423 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:42:15,462.462 INFO    ] ================================================
[2026-10-20 20:42:15,477.477 INFO    ] Launching Daemon at Tue Oct 20 20:42:15 IST 2026
[2026-10-20 20:42:15,487.487 INFO    ] ================================================
[2026-10-20 20:42:16,054.054 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:42:16
[2026-10-20 20:42:16,638.638 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:42:16,892.892 INFO    ] Initializing speech engine...
[2026-10-20 20:42:16,900.900 INFO    ] 2026-10-20 20:42:16
[2026-10-20 20:42:17,195.195 INFO    ] 2026-10-20 20:42:17
[2026-10-20 20:42:17,230.230 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:42:17,433.433 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:42:17,448.448 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:42:17,610.610 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:42:17,615.615 INFO    ] time= 20/10/2026 20:42:17
[2026-10-20 20:42:17,621.621 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:42:17,682.682 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:42:17,819.819 INFO    ] No existing commands found in stream
[2026-10-20 20:42:22,829.829 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:42:22,832.832 INFO    ] Waiting 2.23 seconds before fallback handling...
[2026-10-20 20:42:25,607.607 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:42:25,609.609 INFO    ] Checking for system updates...
[2026-10-20 20:42:25,649.649 INFO    ] 200
[2026-10-20 20:42:25,652.652 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:42:25,718.718 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:42:25,720.720 INFO    ] No update needed
[2026-10-20 20:42:25,723.723 INFO    ] Checking for camera pi updates...
[2026-10-20 20:42:25,756.756 INFO    ] 200
[2026-10-20 20:42:25,758.758 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:42:25,799.799 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:42:25,942.942 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:42:25,945.945 INFO    ] No camera update needed
[2026-10-20 20:42:25,947.947 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:42:25,949.949 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:42:25,955.955 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:42:25,960.960 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:42:28,000.000 INFO    ] ================================================
[2026-10-20 20:42:28,015.015 INFO    ] Launching Daemon at Tue Oct 20 20:42:28 IST 2026
[2026-10-20 20:42:28,025.025 INFO    ] ================================================
[2026-10-20 20:42:28,607.607 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:42:28
[2026-10-20 20:42:29,206.206 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:42:29,480.480 INFO    ] Initializing speech engine...
[2026-10-20 20:42:29,491.491 INFO    ] 2026-10-20 20:42:29
[2026-10-20 20:42:29,751.751 INFO    ] 2026-10-20 20:42:29
[2026-10-20 20:42:29,804.804 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:42:30,026.026 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:42:30,036.036 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:42:30,244.244 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:42:30,294.294 INFO    ] time= 20/10/2026 20:42:30
[2026-10-20 20:42:30,300.300 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:42:30,315.315 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:42:30,447.447 INFO    ] No existing commands found in stream
[2026-10-20 20:42:35,461.461 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:42:35,464.464 INFO    ] Waiting 3.46 seconds before fallback handling...
[2026-10-20 20:42:39,439.439 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:42:39,442.442 INFO    ] Checking for system updates...
[2026-10-20 20:42:39,482.482 INFO    ] 200
[2026-10-20 20:42:39,484.484 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:42:39,536.536 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:42:39,538.538 INFO    ] No update needed
[2026-10-20 20:42:39,541.541 INFO    ] Checking for camera pi updates...
[2026-10-20 20:42:39,574.574 INFO    ] 200
[2026-10-20 20:42:39,576.576 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:42:39,616.616 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:42:39,658.658 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:42:39,661.661 INFO    ] No camera update needed
[2026-10-20 20:42:39,663.663 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:42:39,665.665 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:42:39,671.671 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:42:39,676.676 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:42:41,716.716 INFO    ] ================================================
[2026-10-20 20:42:41,732.732 INFO    ] Launching Daemon at Tue Oct 20 20:42:41 IST 2026
[2026-10-20 20:42:41,743.743 INFO    ] ================================================
[2026-10-20 20:42:42,309.309 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:42:42
[2026-10-20 20:42:42,894.894 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:42:43,163.163 INFO    ] Initializing speech engine...
[2026-10-20 20:42:43,172.172 INFO    ] 2026-10-20 20:42:43
[2026-10-20 20:42:43,416.416 INFO    ] 2026-10-20 20:42:43
[2026-10-20 20:42:43,452.452 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:42:43,707.707 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:42:43,713.713 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:42:43,886.886 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:42:43,941.941 INFO    ] time= 20/10/2026 20:42:43
[2026-10-20 20:42:43,973.973 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:42:43,979.979 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:42:44,122.122 INFO    ] No existing commands found in stream
[2026-10-20 20:42:49,135.135 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:42:49,138.138 INFO    ] Waiting 3.78 seconds before fallback handling...
[2026-10-20 20:42:53,495.495 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:42:53,498.498 INFO    ] Checking for system updates...
[2026-10-20 20:42:53,533.533 INFO    ] 200
[2026-10-20 20:42:53,536.536 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:42:53,594.594 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:42:53,597.597 INFO    ] No update needed
[2026-10-20 20:42:53,599.599 INFO    ] Checking for camera pi updates...
[2026-10-20 20:42:53,636.636 INFO    ] 200
[2026-10-20 20:42:53,639.639 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:42:53,679.679 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:42:53,725.725 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:42:53,727.727 INFO    ] No camera update needed
[2026-10-20 20:42:53,729.729 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:42:53,732.732 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:42:53,737.737 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:42:53,742.742 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:42:55,781.781 INFO    ] ================================================
[2026-10-20 20:42:55,796.796 INFO    ] Launching Daemon at Tue Oct 20 20:42:55 IST 2026
[2026-10-20 20:42:55,807.807 INFO    ] ================================================
[2026-10-20 20:42:56,374.374 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:42:56
[2026-10-20 20:42:56,957.957 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:42:57,235.235 INFO    ] Initializing speech engine...
[2026-10-20 20:42:57,245.245 INFO    ] 2026-10-20 20:42:57
[2026-10-20 20:42:57,514.514 INFO    ] 2026-10-20 20:42:57
[2026-10-20 20:42:57,550.550 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:42:57,781.781 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:42:57,821.821 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:42:58,008.008 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:42:58,051.051 INFO    ] time= 20/10/2026 20:42:58
[2026-10-20 20:42:58,095.095 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:42:58,139.139 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:42:58,288.288 INFO    ] No existing commands found in stream
[2026-10-20 20:43:03,321.321 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:43:03,325.325 INFO    ] Waiting 0.15 seconds before fallback handling...
[2026-10-20 20:43:03,981.981 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:43:03,984.984 INFO    ] Checking for system updates...
[2026-10-20 20:43:04,022.022 INFO    ] 200
[2026-10-20 20:43:04,025.025 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:43:04,076.076 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:43:04,079.079 INFO    ] No update needed
[2026-10-20 20:43:04,081.081 INFO    ] Checking for camera pi updates...
[2026-10-20 20:43:04,118.118 INFO    ] 200
[2026-10-20 20:43:04,120.120 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:43:04,162.162 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:43:04,210.210 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:43:04,212.212 INFO    ] No camera update needed
[2026-10-20 20:43:04,215.215 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:43:04,217.217 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:43:04,222.222 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:43:04,227.227 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:43:06,267.267 INFO    ] ================================================
[2026-10-20 20:43:06,283.283 INFO    ] Launching Daemon at Tue Oct 20 20:43:06 IST 2026
[2026-10-20 20:43:06,294.294 INFO    ] ================================================
[2026-10-20 20:43:06,899.899 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:43:06
[2026-10-20 20:43:07,562.562 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:43:07,841.841 INFO    ] Initializing speech engine...
[2026-10-20 20:43:07,847.847 INFO    ] 2026-10-20 20:43:07
[2026-10-20 20:43:08,106.106 INFO    ] 2026-10-20 20:43:08
[2026-10-20 20:43:08,135.135 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:43:08,388.388 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:43:08,392.392 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:43:08,531.531 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:43:08,590.590 INFO    ] time= 20/10/2026 20:43:08
[2026-10-20 20:43:08,645.645 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:43:08,659.659 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:43:08,789.789 INFO    ] No existing commands found in stream
[2026-10-20 20:43:13,813.813 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:43:13,816.816 INFO    ] Waiting 1.83 seconds before fallback handling...
[2026-10-20 20:43:16,156.156 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:43:16,159.159 INFO    ] Checking for system updates...
[2026-10-20 20:43:16,194.194 INFO    ] 200
[2026-10-20 20:43:16,196.196 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:43:16,255.255 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:43:16,257.257 INFO    ] No update needed
[2026-10-20 20:43:16,259.259 INFO    ] Checking for camera pi updates...
[2026-10-20 20:43:16,296.296 INFO    ] 200
[2026-10-20 20:43:16,299.299 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:43:16,343.343 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:43:16,387.387 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:43:16,390.390 INFO    ] No camera update needed
[2026-10-20 20:43:16,392.392 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:43:16,394.394 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:43:16,400.400 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:43:16,405.405 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:43:18,450.450 INFO    ] ================================================
[2026-10-20 20:43:18,465.465 INFO    ] Launching Daemon at Tue Oct 20 20:43:18 IST 2026
[2026-10-20 20:43:18,476.476 INFO    ] ================================================
[2026-10-20 20:43:19,044.044 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:43:19
[2026-10-20 20:43:19,628.628 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:43:19,880.880 INFO    ] Initializing speech engine...
[2026-10-20 20:43:19,903.903 INFO    ] 2026-10-20 20:43:19
[2026-10-20 20:43:20,159.159 INFO    ] 2026-10-20 20:43:20
[2026-10-20 20:43:20,194.194 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:43:20,396.396 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:43:20,452.452 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:43:20,610.610 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:43:20,675.675 INFO    ] time= 20/10/2026 20:43:20
[2026-10-20 20:43:20,730.730 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:43:20,736.736 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:43:20,905.905 INFO    ] No existing commands found in stream
[2026-10-20 20:43:25,935.935 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:43:25,938.938 INFO    ] Waiting 3.09 seconds before fallback handling...
[2026-10-20 20:43:29,550.550 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:43:29,552.552 INFO    ] Checking for system updates...
[2026-10-20 20:43:29,588.588 INFO    ] 200
[2026-10-20 20:43:29,591.591 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:43:29,642.642 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:43:29,645.645 INFO    ] No update needed
[2026-10-20 20:43:29,647.647 INFO    ] Checking for camera pi updates...
[2026-10-20 20:43:29,684.684 INFO    ] 200
[2026-10-20 20:43:29,686.686 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:43:29,726.726 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:43:29,774.774 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:43:29,776.776 INFO    ] No camera update needed
[2026-10-20 20:43:29,779.779 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:43:29,781.781 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:43:29,787.787 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:43:29,792.792 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:43:31,833.833 INFO    ] ================================================
[2026-10-20 20:43:31,849.849 INFO    ] Launching Daemon at Tue Oct 20 20:43:31 IST 2026
[2026-10-20 20:43:31,865.865 INFO    ] ================================================
[2026-10-20 20:43:32,459.459 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:43:32
[2026-10-20 20:43:33,076.076 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:43:33,366.366 INFO    ] Initializing speech engine...
[2026-10-20 20:43:33,374.374 INFO    ] 2026-10-20 20:43:33
[2026-10-20 20:43:33,671.671 INFO    ] 2026-10-20 20:43:33
[2026-10-20 20:43:33,727.727 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:43:34,002.002 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:43:34,008.008 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:43:34,204.204 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:43:34,211.211 INFO    ] time= 20/10/2026 20:43:34
[2026-10-20 20:43:34,232.232 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:43:34,259.259 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:43:34,367.367 INFO    ] No existing commands found in stream
[2026-10-20 20:43:39,391.391 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:43:39,394.394 INFO    ] Waiting 1.83 seconds before fallback handling...
[2026-10-20 20:43:41,812.812 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:43:41,815.815 INFO    ] Checking for system updates...
[2026-10-20 20:43:41,852.852 INFO    ] 200
[2026-10-20 20:43:41,855.855 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:43:41,918.918 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:43:41,921.921 INFO    ] No update needed
[2026-10-20 20:43:41,924.924 INFO    ] Checking for camera pi updates...
[2026-10-20 20:43:41,963.963 INFO    ] 200
[2026-10-20 20:43:41,966.966 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:43:42,014.014 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:43:42,064.064 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:43:42,067.067 INFO    ] No camera update needed
[2026-10-20 20:43:42,070.070 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:43:42,073.073 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:43:42,080.080 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:43:42,085.085 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:43:44,126.126 INFO    ] ================================================
[2026-10-20 20:43:44,141.141 INFO    ] Launching Daemon at Tue Oct 20 20:43:44 IST 2026
[2026-10-20 20:43:44,151.151 INFO    ] ================================================
[2026-10-20 20:43:44,717.717 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:43:44
[2026-10-20 20:43:45,304.304 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:43:45,575.575 INFO    ] Initializing speech engine...
[2026-10-20 20:43:45,584.584 INFO    ] 2026-10-20 20:43:45
[2026-10-20 20:43:45,836.836 INFO    ] 2026-10-20 20:43:45
[2026-10-20 20:43:45,871.871 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:43:46,075.075 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:43:46,135.135 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:43:46,276.276 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:43:46,320.320 INFO    ] time= 20/10/2026 20:43:46
[2026-10-20 20:43:46,374.374 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:43:46,414.414 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:43:46,570.570 INFO    ] No existing commands found in stream
[2026-10-20 20:43:51,590.590 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:43:51,593.593 INFO    ] Waiting 2.92 seconds before fallback handling...
[2026-10-20 20:43:55,027.027 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 20:43:55,030.030 INFO    ] Checking for system updates...
[2026-10-20 20:43:55,071.071 INFO    ] 200
[2026-10-20 20:43:55,073.073 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:43:55,134.134 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:43:55,137.137 INFO    ] No update needed
[2026-10-20 20:43:55,139.139 INFO    ] Checking for camera pi updates...
[2026-10-20 20:43:55,177.177 INFO    ] 200
[2026-10-20 20:43:55,180.180 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:43:55,225.225 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:43:55,271.271 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:43:55,273.273 INFO    ] No camera update needed
[2026-10-20 20:43:55,275.275 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:43:55,278.278 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:43:55,283.283 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:43:55,288.288 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:43:57,330.330 INFO    ] ================================================
[2026-10-20 20:43:57,345.345 INFO    ] Launching Daemon at Tue Oct 20 20:43:57 IST 2026
[2026-10-20 20:43:57,356.356 INFO    ] ================================================
[2026-10-20 20:43:57,926.926 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:43:57
[2026-10-20 20:43:58,513.513 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:43:58,763.763 INFO    ] Initializing speech engine...
[2026-10-20 20:43:58,783.783 INFO    ] 2026-10-20 20:43:58
[2026-10-20 20:43:59,043.043 INFO    ] 2026-10-20 20:43:59
[2026-10-20 20:43:59,078.078 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:43:59,337.337 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:43:59,346.346 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:43:59,551.551 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:43:59,600.600 INFO    ] time= 20/10/2026 20:43:59
[2026-10-20 20:43:59,617.617 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:43:59,623.623 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:43:59,768.768 INFO    ] No existing commands found in stream
[2026-10-20 20:44:04,783.783 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:44:04,785.785 INFO    ] Waiting 0.78 seconds before fallback handling...
[2026-10-20 20:44:06,083.083 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:44:06,085.085 INFO    ] Checking for system updates...
[2026-10-20 20:44:06,122.122 INFO    ] 200
[2026-10-20 20:44:06,124.124 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:44:06,184.184 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:44:06,187.187 INFO    ] No update needed
[2026-10-20 20:44:06,190.190 INFO    ] Checking for camera pi updates...
[2026-10-20 20:44:06,228.228 INFO    ] 200
[2026-10-20 20:44:06,231.231 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:44:06,276.276 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:44:06,323.323 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:44:06,326.326 INFO    ] No camera update needed
[2026-10-20 20:44:06,329.329 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:44:06,332.332 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:44:06,338.338 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:44:06,344.344 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:44:08,385.385 INFO    ] ================================================
[2026-10-20 20:44:08,400.400 INFO    ] Launching Daemon at Tue Oct 20 20:44:08 IST 2026
[2026-10-20 20:44:08,410.410 INFO    ] ================================================
[2026-10-20 20:44:08,975.975 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:44:08
[2026-10-20 20:44:09,625.625 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:44:09,932.932 INFO    ] Initializing speech engine...
[2026-10-20 20:44:09,945.945 INFO    ] 2026-10-20 20:44:09
[2026-10-20 20:44:10,235.235 INFO    ] 2026-10-20 20:44:10
[2026-10-20 20:44:10,348.348 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:44:10,530.530 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:44:10,534.534 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:44:10,752.752 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:44:10,778.778 INFO    ] time= 20/10/2026 20:44:10
[2026-10-20 20:44:10,796.796 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:44:10,826.826 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:44:10,971.971 INFO    ] No existing commands found in stream
[2026-10-20 20:44:15,997.997 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:44:16,000.000 INFO    ] Waiting 0.52 seconds before fallback handling...
[2026-10-20 20:44:17,072.072 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:44:17,075.075 INFO    ] Checking for system updates...
[2026-10-20 20:44:17,112.112 INFO    ] 200
[2026-10-20 20:44:17,114.114 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:44:17,169.169 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:44:17,171.171 INFO    ] No update needed
[2026-10-20 20:44:17,174.174 INFO    ] Checking for camera pi updates...
[2026-10-20 20:44:17,209.209 INFO    ] 200
[2026-10-20 20:44:17,212.212 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:44:17,253.253 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:44:17,303.303 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:44:17,306.306 INFO    ] No camera update needed
[2026-10-20 20:44:17,309.309 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:44:17,312.312 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:44:17,318.318 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:44:17,324.324 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:44:19,364.364 INFO    ] ================================================
[2026-10-20 20:44:19,379.379 INFO    ] Launching Daemon at Tue Oct 20 20:44:19 IST 2026
[2026-10-20 20:44:19,390.390 INFO    ] ================================================
[2026-10-20 20:44:19,956.956 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:44:19
[2026-10-20 20:44:20,546.546 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:44:20,816.816 INFO    ] Initializing speech engine...
[2026-10-20 20:44:20,825.825 INFO    ] 2026-10-20 20:44:20
[2026-10-20 20:44:21,075.075 INFO    ] 2026-10-20 20:44:21
[2026-10-20 20:44:21,111.111 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:44:21,370.370 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:44:21,379.379 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:44:21,584.584 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:44:21,638.638 INFO    ] time= 20/10/2026 20:44:21
[2026-10-20 20:44:21,652.652 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:44:21,670.670 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:44:21,804.804 INFO    ] No existing commands found in stream
[2026-10-20 20:44:26,816.816 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:44:26,819.819 INFO    ] Waiting 3.63 seconds before fallback handling...
[2026-10-20 20:44:30,942.942 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:44:30,944.944 INFO    ] Checking for system updates...
[2026-10-20 20:44:30,980.980 INFO    ] 200
[2026-10-20 20:44:30,983.983 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:44:31,043.043 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:44:31,046.046 INFO    ] No update needed
[2026-10-20 20:44:31,051.051 INFO    ] Checking for camera pi updates...
[2026-10-20 20:44:31,088.088 INFO    ] 200
[2026-10-20 20:44:31,090.090 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:44:31,135.135 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:44:31,285.285 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:44:31,288.288 INFO    ] No camera update needed
[2026-10-20 20:44:31,291.291 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:44:31,293.293 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:44:31,298.298 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:44:31,303.303 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:44:33,344.344 INFO    ] ================================================
[2026-10-20 20:44:33,360.360 INFO    ] Launching Daemon at Tue Oct 20 20:44:33 IST 2026
[2026-10-20 20:44:33,370.370 INFO    ] ================================================
[2026-10-20 20:44:34,047.047 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:44:34
[2026-10-20 20:44:34,737.737 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:44:35,049.049 INFO    ] Initializing speech engine...
[2026-10-20 20:44:35,063.063 INFO    ] 2026-10-20 20:44:35
[2026-10-20 20:44:35,356.356 INFO    ] 2026-10-20 20:44:35
[2026-10-20 20:44:35,468.468 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:44:35,689.689 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:44:35,696.696 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:44:35,892.892 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:44:35,912.912 INFO    ] time= 20/10/2026 20:44:35
[2026-10-20 20:44:35,943.943 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:44:35,951.951 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:44:36,028.028 INFO    ] No existing commands found in stream
[2026-10-20 20:44:41,065.065 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:44:41,068.068 INFO    ] Waiting 3.72 seconds before fallback handling...
[2026-10-20 20:44:45,317.317 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:44:45,320.320 INFO    ] Checking for system updates...
[2026-10-20 20:44:45,357.357 INFO    ] 200
[2026-10-20 20:44:45,360.360 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:44:45,412.412 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:44:45,415.415 INFO    ] No update needed
[2026-10-20 20:44:45,417.417 INFO    ] Checking for camera pi updates...
[2026-10-20 20:44:45,450.450 INFO    ] 200
[2026-10-20 20:44:45,453.453 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:44:45,492.492 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:44:45,537.537 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:44:45,540.540 INFO    ] No camera update needed
[2026-10-20 20:44:45,542.542 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:44:45,544.544 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:44:45,549.549 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:44:45,554.554 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:44:47,594.594 INFO    ] ================================================
[2026-10-20 20:44:47,609.609 INFO    ] Launching Daemon at Tue Oct 20 20:44:47 IST 2026
[2026-10-20 20:44:47,620.620 INFO    ] ================================================
[2026-10-20 20:44:48,192.192 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:44:48
[2026-10-20 20:44:48,777.777 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:44:49,050.050 INFO    ] Initializing speech engine...
[2026-10-20 20:44:49,059.059 INFO    ] 2026-10-20 20:44:49
[2026-10-20 20:44:49,310.310 INFO    ] 2026-10-20 20:44:49
[2026-10-20 20:44:49,345.345 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:44:49,603.603 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:44:49,613.613 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:44:49,750.750 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:44:49,820.820 INFO    ] time= 20/10/2026 20:44:49
[2026-10-20 20:44:49,874.874 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:44:49,885.885 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:44:50,039.039 INFO    ] No existing commands found in stream
[2026-10-20 20:44:55,051.051 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:44:55,053.053 INFO    ] Waiting 3.98 seconds before fallback handling...
[2026-10-20 20:44:59,619.619 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:44:59,623.623 INFO    ] Checking for system updates...
[2026-10-20 20:44:59,659.659 INFO    ] 200
[2026-10-20 20:44:59,662.662 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:44:59,714.714 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:44:59,716.716 INFO    ] No update needed
[2026-10-20 20:44:59,719.719 INFO    ] Checking for camera pi updates...
[2026-10-20 20:44:59,752.752 INFO    ] 200
[2026-10-20 20:44:59,755.755 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:44:59,795.795 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:44:59,840.840 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:44:59,843.843 INFO    ] No camera update needed
[2026-10-20 20:44:59,845.845 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:44:59,847.847 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:44:59,853.853 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:44:59,858.858 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:45:02,970.970 INFO    ] ================================================
[2026-10-20 20:45:02,234.234 INFO    ] Launching Daemon at Tue Oct 20 20:45:02 IST 2026
[2026-10-20 20:45:02,383.383 INFO    ] ================================================
[2026-10-20 20:45:03,236.236 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:45:03
[2026-10-20 20:45:04,039.039 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:45:04,376.376 INFO    ] Initializing speech engine...
[2026-10-20 20:45:04,388.388 INFO    ] 2026-10-20 20:45:04
[2026-10-20 20:45:04,675.675 INFO    ] 2026-10-20 20:45:04
[2026-10-20 20:45:04,785.785 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:45:04,999.999 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:45:05,005.005 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:45:05,201.201 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:45:05,219.219 INFO    ] time= 20/10/2026 20:45:05
[2026-10-20 20:45:05,229.229 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:45:05,258.258 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:45:05,382.382 INFO    ] No existing commands found in stream
[2026-10-20 20:45:10,413.413 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:45:10,417.417 INFO    ] Waiting 1.56 seconds before fallback handling...
[2026-10-20 20:45:12,542.542 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:45:12,545.545 INFO    ] Checking for system updates...
[2026-10-20 20:45:12,585.585 INFO    ] 200
[2026-10-20 20:45:12,588.588 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:45:12,640.640 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:45:12,642.642 INFO    ] No update needed
[2026-10-20 20:45:12,644.644 INFO    ] Checking for camera pi updates...
[2026-10-20 20:45:12,681.681 INFO    ] 200
[2026-10-20 20:45:12,683.683 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:45:12,724.724 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:45:12,771.771 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:45:12,774.774 INFO    ] No camera update needed
[2026-10-20 20:45:12,776.776 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:45:12,778.778 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:45:12,784.784 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:45:12,789.789 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:45:14,829.829 INFO    ] ================================================
[2026-10-20 20:45:14,844.844 INFO    ] Launching Daemon at Tue Oct 20 20:45:14 IST 2026
[2026-10-20 20:45:14,855.855 INFO    ] ================================================
[2026-10-20 20:45:15,508.508 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:45:15
[2026-10-20 20:45:16,179.179 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:45:16,483.483 INFO    ] Initializing speech engine...
[2026-10-20 20:45:16,491.491 INFO    ] 2026-10-20 20:45:16
[2026-10-20 20:45:16,755.755 INFO    ] 2026-10-20 20:45:16
[2026-10-20 20:45:16,789.789 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:45:17,034.034 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:45:17,044.044 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:45:17,250.250 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:45:17,296.296 INFO    ] time= 20/10/2026 20:45:17
[2026-10-20 20:45:17,335.335 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:45:17,346.346 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:45:17,477.477 INFO    ] No existing commands found in stream
[2026-10-20 20:45:22,494.494 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:45:22,497.497 INFO    ] Waiting 2.30 seconds before fallback handling...
[2026-10-20 20:45:25,334.334 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:45:25,337.337 INFO    ] Checking for system updates...
[2026-10-20 20:45:25,373.373 INFO    ] 200
[2026-10-20 20:45:25,376.376 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:45:25,433.433 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:45:25,435.435 INFO    ] No update needed
[2026-10-20 20:45:25,437.437 INFO    ] Checking for camera pi updates...
[2026-10-20 20:45:25,475.475 INFO    ] 200
[2026-10-20 20:45:25,477.477 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:45:25,518.518 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:45:25,575.575 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:45:25,578.578 INFO    ] No camera update needed
[2026-10-20 20:45:25,580.580 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:45:25,583.583 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:45:25,588.588 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:45:25,593.593 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:45:27,634.634 INFO    ] ================================================
[2026-10-20 20:45:27,649.649 INFO    ] Launching Daemon at Tue Oct 20 20:45:27 IST 2026
[2026-10-20 20:45:27,660.660 INFO    ] ================================================
[2026-10-20 20:45:28,312.312 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:45:28
[2026-10-20 20:45:28,918.918 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:45:29,192.192 INFO    ] Initializing speech engine...
[2026-10-20 20:45:29,201.201 INFO    ] 2026-10-20 20:45:29
[2026-10-20 20:45:29,449.449 INFO    ] 2026-10-20 20:45:29
[2026-10-20 20:45:29,484.484 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:45:29,740.740 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:45:29,744.744 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:45:29,948.948 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:45:30,001.001 INFO    ] time= 20/10/2026 20:45:29
[2026-10-20 20:45:30,010.010 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:45:30,029.029 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:45:30,200.200 INFO    ] No existing commands found in stream
[2026-10-20 20:45:35,231.231 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:45:35,233.233 INFO    ] Waiting 0.45 seconds before fallback handling...
[2026-10-20 20:45:36,412.412 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:45:36,414.414 INFO    ] Checking for system updates...
[2026-10-20 20:45:36,450.450 INFO    ] 200
[2026-10-20 20:45:36,453.453 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:45:36,506.506 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:45:36,509.509 INFO    ] No update needed
[2026-10-20 20:45:36,512.512 INFO    ] Checking for camera pi updates...
[2026-10-20 20:45:36,546.546 INFO    ] 200
[2026-10-20 20:45:36,549.549 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:45:36,590.590 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:45:36,646.646 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:45:36,649.649 INFO    ] No camera update needed
[2026-10-20 20:45:36,652.652 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:45:36,654.654 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:45:36,661.661 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:45:36,667.667 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:45:38,708.708 INFO    ] ================================================
[2026-10-20 20:45:38,724.724 INFO    ] Launching Daemon at Tue Oct 20 20:45:38 IST 2026
[2026-10-20 20:45:38,734.734 INFO    ] ================================================
[2026-10-20 20:45:39,302.302 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:45:39
[2026-10-20 20:45:39,968.968 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:45:40,266.266 INFO    ] Initializing speech engine...
[2026-10-20 20:45:40,275.275 INFO    ] 2026-10-20 20:45:40
[2026-10-20 20:45:40,554.554 INFO    ] 2026-10-20 20:45:40
[2026-10-20 20:45:40,613.613 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:45:40,866.866 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:45:40,875.875 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:45:41,094.094 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:45:41,117.117 INFO    ] time= 20/10/2026 20:45:41
[2026-10-20 20:45:41,135.135 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:45:41,146.146 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:45:41,297.297 INFO    ] No existing commands found in stream
[2026-10-20 20:45:46,330.330 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:45:46,333.333 INFO    ] Waiting 1.83 seconds before fallback handling...
[2026-10-20 20:45:48,741.741 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:45:48,744.744 INFO    ] Checking for system updates...
[2026-10-20 20:45:48,784.784 INFO    ] 200
[2026-10-20 20:45:48,787.787 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:45:48,840.840 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:45:48,843.843 INFO    ] No update needed
[2026-10-20 20:45:48,845.845 INFO    ] Checking for camera pi updates...
[2026-10-20 20:45:48,880.880 INFO    ] 200
[2026-10-20 20:45:48,883.883 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:45:48,924.924 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:45:48,976.976 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:45:48,979.979 INFO    ] No camera update needed
[2026-10-20 20:45:48,981.981 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:45:48,983.983 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:45:48,989.989 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:45:48,994.994 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:45:51,033.033 INFO    ] ================================================
[2026-10-20 20:45:51,049.049 INFO    ] Launching Daemon at Tue Oct 20 20:45:51 IST 2026
[2026-10-20 20:45:51,060.060 INFO    ] ================================================
[2026-10-20 20:45:51,721.721 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:45:51
[2026-10-20 20:45:52,391.391 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:45:52,700.700 INFO    ] Initializing speech engine...
[2026-10-20 20:45:52,711.711 INFO    ] 2026-10-20 20:45:52
[2026-10-20 20:45:52,970.970 INFO    ] 2026-10-20 20:45:52
[2026-10-20 20:45:53,029.029 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:45:53,256.256 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:45:53,263.263 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:45:53,483.483 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:45:53,526.526 INFO    ] time= 20/10/2026 20:45:53
[2026-10-20 20:45:53,533.533 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:45:53,551.551 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:45:53,689.689 INFO    ] No existing commands found in stream
[2026-10-20 20:45:58,714.714 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:45:58,717.717 INFO    ] Waiting 2.50 seconds before fallback handling...
[2026-10-20 20:46:01,862.862 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:46:01,866.866 INFO    ] Checking for system updates...
[2026-10-20 20:46:01,910.910 INFO    ] 200
[2026-10-20 20:46:01,913.913 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:46:01,980.980 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:46:01,983.983 INFO    ] No update needed
[2026-10-20 20:46:01,986.986 INFO    ] Checking for camera pi updates...
[2026-10-20 20:46:02,039.039 INFO    ] 200
[2026-10-20 20:46:02,042.042 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:46:02,108.108 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:46:02,146.146 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:46:02,150.150 INFO    ] No camera update needed
[2026-10-20 20:46:02,152.152 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:46:02,155.155 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:46:02,162.162 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:46:02,169.169 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:46:04,211.211 INFO    ] ================================================
[2026-10-20 20:46:04,227.227 INFO    ] Launching Daemon at Tue Oct 20 20:46:04 IST 2026
[2026-10-20 20:46:04,238.238 INFO    ] ================================================
[2026-10-20 20:46:04,807.807 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:46:04
[2026-10-20 20:46:05,395.395 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:46:05,656.656 INFO    ] Initializing speech engine...
[2026-10-20 20:46:05,680.680 INFO    ] 2026-10-20 20:46:05
[2026-10-20 20:46:05,950.950 INFO    ] 2026-10-20 20:46:05
[2026-10-20 20:46:05,989.989 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:46:06,221.221 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:46:06,277.277 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:46:06,435.435 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:46:06,457.457 INFO    ] time= 20/10/2026 20:46:06
[2026-10-20 20:46:06,512.512 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:46:06,566.566 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:46:06,723.723 INFO    ] No existing commands found in stream
[2026-10-20 20:46:11,749.749 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:46:11,751.751 INFO    ] Waiting 1.34 seconds before fallback handling...
[2026-10-20 20:46:13,635.635 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:46:13,638.638 INFO    ] Checking for system updates...
[2026-10-20 20:46:13,673.673 INFO    ] 200
[2026-10-20 20:46:13,676.676 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:46:13,727.727 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:46:13,730.730 INFO    ] No update needed
[2026-10-20 20:46:13,732.732 INFO    ] Checking for camera pi updates...
[2026-10-20 20:46:13,766.766 INFO    ] 200
[2026-10-20 20:46:13,768.768 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:46:13,808.808 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:46:13,855.855 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:46:13,857.857 INFO    ] No camera update needed
[2026-10-20 20:46:13,859.859 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:46:13,862.862 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:46:13,867.867 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:46:13,872.872 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:46:15,914.914 INFO    ] ================================================
[2026-10-20 20:46:15,930.930 INFO    ] Launching Daemon at Tue Oct 20 20:46:15 IST 2026
[2026-10-20 20:46:15,941.941 INFO    ] ================================================
[2026-10-20 20:46:16,512.512 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:46:16
[2026-10-20 20:46:17,098.098 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:46:17,345.345 INFO    ] Initializing speech engine...
[2026-10-20 20:46:17,353.353 INFO    ] 2026-10-20 20:46:17
[2026-10-20 20:46:17,628.628 INFO    ] 2026-10-20 20:46:17
[2026-10-20 20:46:17,662.662 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:46:17,921.921 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:46:17,931.931 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:46:18,068.068 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:46:18,128.128 INFO    ] time= 20/10/2026 20:46:18
[2026-10-20 20:46:18,177.177 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:46:18,202.202 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:46:18,337.337 INFO    ] No existing commands found in stream
[2026-10-20 20:46:23,360.360 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:46:23,363.363 INFO    ] Waiting 1.82 seconds before fallback handling...
[2026-10-20 20:46:25,733.733 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:46:25,736.736 INFO    ] Checking for system updates...
[2026-10-20 20:46:25,771.771 INFO    ] 200
[2026-10-20 20:46:25,773.773 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:46:25,825.825 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:46:25,827.827 INFO    ] No update needed
[2026-10-20 20:46:25,829.829 INFO    ] Checking for camera pi updates...
[2026-10-20 20:46:25,863.863 INFO    ] 200
[2026-10-20 20:46:25,865.865 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:46:25,904.904 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:46:25,952.952 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:46:25,955.955 INFO    ] No camera update needed
[2026-10-20 20:46:25,957.957 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:46:25,959.959 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:46:25,965.965 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:46:25,970.970 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:46:28,010.010 INFO    ] ================================================
[2026-10-20 20:46:28,026.026 INFO    ] Launching Daemon at Tue Oct 20 20:46:28 IST 2026
[2026-10-20 20:46:28,037.037 INFO    ] ================================================
[2026-10-20 20:46:28,608.608 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:46:28
[2026-10-20 20:46:29,202.202 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:46:29,451.451 INFO    ] Initializing speech engine...
[2026-10-20 20:46:29,463.463 INFO    ] 2026-10-20 20:46:29
[2026-10-20 20:46:29,725.725 INFO    ] 2026-10-20 20:46:29
[2026-10-20 20:46:29,759.759 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:46:30,010.010 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:46:30,019.019 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:46:30,159.159 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:46:30,218.218 INFO    ] time= 20/10/2026 20:46:30
[2026-10-20 20:46:30,280.280 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:46:30,287.287 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:46:30,423.423 INFO    ] No existing commands found in stream
[2026-10-20 20:46:35,449.449 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:46:35,451.451 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-10-20 20:46:39,500.500 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:46:39,503.503 INFO    ] Checking for system updates...
[2026-10-20 20:46:39,542.542 INFO    ] 200
[2026-10-20 20:46:39,544.544 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:46:39,597.597 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:46:39,600.600 INFO    ] No update needed
[2026-10-20 20:46:39,602.602 INFO    ] Checking for camera pi updates...
[2026-10-20 20:46:39,640.640 INFO    ] 200
[2026-10-20 20:46:39,642.642 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:46:39,681.681 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:46:39,826.826 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:46:39,828.828 INFO    ] No camera update needed
[2026-10-20 20:46:39,831.831 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:46:39,833.833 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:46:39,838.838 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:46:39,843.843 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:46:41,884.884 INFO    ] ================================================
[2026-10-20 20:46:41,900.900 INFO    ] Launching Daemon at Tue Oct 20 20:46:41 IST 2026
[2026-10-20 20:46:41,915.915 INFO    ] ================================================
[2026-10-20 20:46:42,496.496 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:46:42
[2026-10-20 20:46:43,095.095 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:46:43,358.358 INFO    ] Initializing speech engine...
[2026-10-20 20:46:43,367.367 INFO    ] 2026-10-20 20:46:43
[2026-10-20 20:46:43,665.665 INFO    ] 2026-10-20 20:46:43
[2026-10-20 20:46:43,694.694 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:46:43,910.910 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:46:43,967.967 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:46:44,149.149 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:46:44,208.208 INFO    ] time= 20/10/2026 20:46:44
[2026-10-20 20:46:44,236.236 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:46:44,242.242 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:46:44,389.389 INFO    ] No existing commands found in stream
[2026-10-20 20:46:49,404.404 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:46:49,407.407 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-10-20 20:46:53,167.167 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:46:53,169.169 INFO    ] Checking for system updates...
[2026-10-20 20:46:53,205.205 INFO    ] 200
[2026-10-20 20:46:53,208.208 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:46:53,261.261 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:46:53,264.264 INFO    ] No update needed
[2026-10-20 20:46:53,267.267 INFO    ] Checking for camera pi updates...
[2026-10-20 20:46:53,309.309 INFO    ] 200
[2026-10-20 20:46:53,312.312 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:46:53,354.354 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:46:53,413.413 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:46:53,416.416 INFO    ] No camera update needed
[2026-10-20 20:46:53,418.418 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:46:53,421.421 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:46:53,427.427 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:46:53,433.433 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:46:55,474.474 INFO    ] ================================================
[2026-10-20 20:46:55,490.490 INFO    ] Launching Daemon at Tue Oct 20 20:46:55 IST 2026
[2026-10-20 20:46:55,501.501 INFO    ] ================================================
[2026-10-20 20:46:56,156.156 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:46:56
[2026-10-20 20:46:56,832.832 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:46:57,136.136 INFO    ] Initializing speech engine...
[2026-10-20 20:46:57,148.148 INFO    ] 2026-10-20 20:46:57
[2026-10-20 20:46:57,456.456 INFO    ] 2026-10-20 20:46:57
[2026-10-20 20:46:57,545.545 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:46:57,759.759 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:46:57,767.767 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:46:57,958.958 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:46:57,965.965 INFO    ] time= 20/10/2026 20:46:57
[2026-10-20 20:46:57,983.983 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:46:58,012.012 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:46:58,128.128 INFO    ] No existing commands found in stream
[2026-10-20 20:47:03,161.161 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:47:03,165.165 INFO    ] Waiting 2.04 seconds before fallback handling...
[2026-10-20 20:47:05,743.743 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:47:05,746.746 INFO    ] Checking for system updates...
[2026-10-20 20:47:05,783.783 INFO    ] 200
[2026-10-20 20:47:05,786.786 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:47:05,839.839 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:47:05,841.841 INFO    ] No update needed
[2026-10-20 20:47:05,844.844 INFO    ] Checking for camera pi updates...
[2026-10-20 20:47:05,879.879 INFO    ] 200
[2026-10-20 20:47:05,882.882 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:47:05,923.923 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:47:05,970.970 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:47:05,973.973 INFO    ] No camera update needed
[2026-10-20 20:47:05,976.976 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:47:05,978.978 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:47:05,985.985 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:47:05,991.991 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:47:08,032.032 INFO    ] ================================================
[2026-10-20 20:47:08,047.047 INFO    ] Launching Daemon at Tue Oct 20 20:47:08 IST 2026
[2026-10-20 20:47:08,058.058 INFO    ] ================================================
[2026-10-20 20:47:08,725.725 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:47:08
[2026-10-20 20:47:09,410.410 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:47:09,718.718 INFO    ] Initializing speech engine...
[2026-10-20 20:47:09,732.732 INFO    ] 2026-10-20 20:47:09
[2026-10-20 20:47:10,046.046 INFO    ] 2026-10-20 20:47:10
[2026-10-20 20:47:10,129.129 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:47:10,342.342 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:47:10,347.347 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:47:10,540.540 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:47:10,549.549 INFO    ] time= 20/10/2026 20:47:10
[2026-10-20 20:47:10,571.571 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:47:10,600.600 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:47:10,717.717 INFO    ] No existing commands found in stream
[2026-10-20 20:47:15,748.748 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:47:15,752.752 INFO    ] Waiting 0.49 seconds before fallback handling...
[2026-10-20 20:47:16,747.747 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:47:16,750.750 INFO    ] Checking for system updates...
[2026-10-20 20:47:16,791.791 INFO    ] 200
[2026-10-20 20:47:16,794.794 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:47:16,855.855 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:47:16,857.857 INFO    ] No update needed
[2026-10-20 20:47:16,860.860 INFO    ] Checking for camera pi updates...
[2026-10-20 20:47:16,899.899 INFO    ] 200
[2026-10-20 20:47:16,902.902 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:47:16,943.943 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:47:16,992.992 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:47:16,995.995 INFO    ] No camera update needed
[2026-10-20 20:47:16,998.998 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:47:17,001.001 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:47:17,007.007 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:47:17,013.013 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:47:19,055.055 INFO    ] ================================================
[2026-10-20 20:47:19,070.070 INFO    ] Launching Daemon at Tue Oct 20 20:47:19 IST 2026
[2026-10-20 20:47:19,080.080 INFO    ] ================================================
[2026-10-20 20:47:19,668.668 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:47:19
[2026-10-20 20:47:20,253.253 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:47:20,523.523 INFO    ] Initializing speech engine...
[2026-10-20 20:47:20,532.532 INFO    ] 2026-10-20 20:47:20
[2026-10-20 20:47:20,784.784 INFO    ] 2026-10-20 20:47:20
[2026-10-20 20:47:20,813.813 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:47:21,010.010 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:47:21,067.067 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:47:21,310.310 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:47:21,331.331 INFO    ] time= 20/10/2026 20:47:21
[2026-10-20 20:47:21,337.337 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:47:21,356.356 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:47:21,499.499 INFO    ] No existing commands found in stream
[2026-10-20 20:47:26,526.526 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:47:26,529.529 INFO    ] Waiting 3.48 seconds before fallback handling...
[2026-10-20 20:47:30,512.512 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:47:30,515.515 INFO    ] Checking for system updates...
[2026-10-20 20:47:30,551.551 INFO    ] 200
[2026-10-20 20:47:30,553.553 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:47:30,614.614 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:47:30,617.617 INFO    ] No update needed
[2026-10-20 20:47:30,619.619 INFO    ] Checking for camera pi updates...
[2026-10-20 20:47:30,653.653 INFO    ] 200
[2026-10-20 20:47:30,656.656 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:47:30,696.696 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:47:30,741.741 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:47:30,744.744 INFO    ] No camera update needed
[2026-10-20 20:47:30,746.746 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:47:30,748.748 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:47:30,754.754 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:47:30,759.759 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:47:32,802.802 INFO    ] ================================================
[2026-10-20 20:47:32,817.817 INFO    ] Launching Daemon at Tue Oct 20 20:47:32 IST 2026
[2026-10-20 20:47:32,830.830 INFO    ] ================================================
[2026-10-20 20:47:33,397.397 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:47:33
[2026-10-20 20:47:33,982.982 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:47:34,245.245 INFO    ] Initializing speech engine...
[2026-10-20 20:47:34,251.251 INFO    ] 2026-10-20 20:47:34
[2026-10-20 20:47:34,549.549 INFO    ] 2026-10-20 20:47:34
[2026-10-20 20:47:34,584.584 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:47:34,800.800 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:47:34,818.818 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:47:34,957.957 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:47:34,984.984 INFO    ] time= 20/10/2026 20:47:34
[2026-10-20 20:47:35,024.024 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:47:35,059.059 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:47:35,158.158 INFO    ] No existing commands found in stream
[2026-10-20 20:47:40,179.179 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:47:40,182.182 INFO    ] Waiting 2.77 seconds before fallback handling...
[2026-10-20 20:47:43,504.504 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:47:43,506.506 INFO    ] Checking for system updates...
[2026-10-20 20:47:43,542.542 INFO    ] 200
[2026-10-20 20:47:43,544.544 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:47:43,596.596 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:47:43,599.599 INFO    ] No update needed
[2026-10-20 20:47:43,601.601 INFO    ] Checking for camera pi updates...
[2026-10-20 20:47:43,634.634 INFO    ] 200
[2026-10-20 20:47:43,637.637 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:47:43,678.678 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:47:43,726.726 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:47:43,729.729 INFO    ] No camera update needed
[2026-10-20 20:47:43,731.731 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:47:43,734.734 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:47:43,739.739 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:47:43,744.744 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:47:45,783.783 INFO    ] ================================================
[2026-10-20 20:47:45,799.799 INFO    ] Launching Daemon at Tue Oct 20 20:47:45 IST 2026
[2026-10-20 20:47:45,810.810 INFO    ] ================================================
[2026-10-20 20:47:46,378.378 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:47:46
[2026-10-20 20:47:46,961.961 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:47:47,232.232 INFO    ] Initializing speech engine...
[2026-10-20 20:47:47,241.241 INFO    ] 2026-10-20 20:47:47
[2026-10-20 20:47:47,492.492 INFO    ] 2026-10-20 20:47:47
[2026-10-20 20:47:47,527.527 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:47:47,785.785 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:47:47,795.795 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:47:47,932.932 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:47:47,982.982 INFO    ] time= 20/10/2026 20:47:47
[2026-10-20 20:47:48,041.041 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:47:48,067.067 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:47:48,202.202 INFO    ] No existing commands found in stream
[2026-10-20 20:47:53,228.228 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:47:53,231.231 INFO    ] Waiting 3.88 seconds before fallback handling...
[2026-10-20 20:47:57,591.591 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:47:57,594.594 INFO    ] Checking for system updates...
[2026-10-20 20:47:57,633.633 INFO    ] 200
[2026-10-20 20:47:57,636.636 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:47:57,689.689 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:47:57,692.692 INFO    ] No update needed
[2026-10-20 20:47:57,694.694 INFO    ] Checking for camera pi updates...
[2026-10-20 20:47:57,727.727 INFO    ] 200
[2026-10-20 20:47:57,730.730 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:47:57,770.770 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:47:57,821.821 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:47:57,823.823 INFO    ] No camera update needed
[2026-10-20 20:47:57,826.826 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:47:57,828.828 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:47:57,833.833 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:47:57,838.838 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:47:59,877.877 INFO    ] ================================================
[2026-10-20 20:47:59,892.892 INFO    ] Launching Daemon at Tue Oct 20 20:47:59 IST 2026
[2026-10-20 20:47:59,903.903 INFO    ] ================================================
[2026-10-20 20:48:00,483.483 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:48:00
[2026-10-20 20:48:01,079.079 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:48:01,551.551 INFO    ] Initializing speech engine...
[2026-10-20 20:48:01,578.578 INFO    ] 2026-10-20 20:48:01
[2026-10-20 20:48:01,970.970 INFO    ] 2026-10-20 20:48:01
[2026-10-20 20:48:02,054.054 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:48:02,314.314 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:48:02,353.353 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:48:02,586.586 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:48:02,638.638 INFO    ] time= 20/10/2026 20:48:02
[2026-10-20 20:48:02,701.701 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:48:02,767.767 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:48:02,911.911 INFO    ] No existing commands found in stream
[2026-10-20 20:48:07,936.936 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:48:07,939.939 INFO    ] Waiting 1.45 seconds before fallback handling...
[2026-10-20 20:48:09,973.973 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:48:09,976.976 INFO    ] Checking for system updates...
[2026-10-20 20:48:10,014.014 INFO    ] 200
[2026-10-20 20:48:10,017.017 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:48:10,070.070 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:48:10,072.072 INFO    ] No update needed
[2026-10-20 20:48:10,074.074 INFO    ] Checking for camera pi updates...
[2026-10-20 20:48:10,107.107 INFO    ] 200
[2026-10-20 20:48:10,110.110 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:48:10,157.157 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:48:10,201.201 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:48:10,203.203 INFO    ] No camera update needed
[2026-10-20 20:48:10,205.205 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:48:10,208.208 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:48:10,213.213 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:48:10,218.218 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:48:12,257.257 INFO    ] ================================================
[2026-10-20 20:48:12,272.272 INFO    ] Launching Daemon at Tue Oct 20 20:48:12 IST 2026
[2026-10-20 20:48:12,282.282 INFO    ] ================================================
[2026-10-20 20:48:12,903.903 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:48:12
[2026-10-20 20:48:13,565.565 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:48:13,867.867 INFO    ] Initializing speech engine...
[2026-10-20 20:48:13,875.875 INFO    ] 2026-10-20 20:48:13
[2026-10-20 20:48:14,151.151 INFO    ] 2026-10-20 20:48:14
[2026-10-20 20:48:14,205.205 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:48:14,491.491 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:48:14,500.500 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:48:14,680.680 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:48:14,704.704 INFO    ] time= 20/10/2026 20:48:14
[2026-10-20 20:48:14,723.723 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:48:14,751.751 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:48:14,862.862 INFO    ] No existing commands found in stream
[2026-10-20 20:48:19,893.893 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:48:19,896.896 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-10-20 20:48:22,153.153 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:48:22,155.155 INFO    ] Checking for system updates...
[2026-10-20 20:48:22,196.196 INFO    ] 200
[2026-10-20 20:48:22,199.199 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:48:22,259.259 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:48:22,263.263 INFO    ] No update needed
[2026-10-20 20:48:22,266.266 INFO    ] Checking for camera pi updates...
[2026-10-20 20:48:22,303.303 INFO    ] 200
[2026-10-20 20:48:22,306.306 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:48:22,352.352 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:48:22,399.399 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:48:22,402.402 INFO    ] No camera update needed
[2026-10-20 20:48:22,404.404 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:48:22,407.407 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:48:22,413.413 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:48:22,419.419 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:48:24,461.461 INFO    ] ================================================
[2026-10-20 20:48:24,477.477 INFO    ] Launching Daemon at Tue Oct 20 20:48:24 IST 2026
[2026-10-20 20:48:24,488.488 INFO    ] ================================================
[2026-10-20 20:48:25,143.143 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:48:25
[2026-10-20 20:48:25,819.819 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:48:26,128.128 INFO    ] Initializing speech engine...
[2026-10-20 20:48:26,140.140 INFO    ] 2026-10-20 20:48:26
[2026-10-20 20:48:26,425.425 INFO    ] 2026-10-20 20:48:26
[2026-10-20 20:48:26,471.471 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:48:26,761.761 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:48:26,767.767 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:48:26,966.966 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:48:26,974.974 INFO    ] time= 20/10/2026 20:48:26
[2026-10-20 20:48:26,996.996 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:48:27,023.023 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:48:27,132.132 INFO    ] No existing commands found in stream
[2026-10-20 20:48:32,167.167 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:48:32,170.170 INFO    ] Waiting 3.29 seconds before fallback handling...
[2026-10-20 20:48:36,029.029 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:48:36,032.032 INFO    ] Checking for system updates...
[2026-10-20 20:48:36,068.068 INFO    ] 200
[2026-10-20 20:48:36,071.071 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:48:36,123.123 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:48:36,126.126 INFO    ] No update needed
[2026-10-20 20:48:36,128.128 INFO    ] Checking for camera pi updates...
[2026-10-20 20:48:36,162.162 INFO    ] 200
[2026-10-20 20:48:36,164.164 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:48:36,205.205 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:48:36,255.255 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:48:36,257.257 INFO    ] No camera update needed
[2026-10-20 20:48:36,260.260 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:48:36,262.262 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:48:36,267.267 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:48:36,273.273 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:48:38,312.312 INFO    ] ================================================
[2026-10-20 20:48:38,327.327 INFO    ] Launching Daemon at Tue Oct 20 20:48:38 IST 2026
[2026-10-20 20:48:38,338.338 INFO    ] ================================================
[2026-10-20 20:48:38,916.916 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:48:38
[2026-10-20 20:48:39,516.516 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:48:39,797.797 INFO    ] Initializing speech engine...
[2026-10-20 20:48:39,804.804 INFO    ] 2026-10-20 20:48:39
[2026-10-20 20:48:40,065.065 INFO    ] 2026-10-20 20:48:40
[2026-10-20 20:48:40,119.119 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:48:40,406.406 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:48:40,414.414 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:48:40,612.612 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:48:40,618.618 INFO    ] time= 20/10/2026 20:48:40
[2026-10-20 20:48:40,633.633 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:48:40,640.640 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:48:40,771.771 INFO    ] No existing commands found in stream
[2026-10-20 20:48:45,784.784 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:48:45,787.787 INFO    ] Waiting 2.94 seconds before fallback handling...
[2026-10-20 20:48:49,243.243 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:48:49,246.246 INFO    ] Checking for system updates...
[2026-10-20 20:48:49,285.285 INFO    ] 200
[2026-10-20 20:48:49,287.287 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:48:49,347.347 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:48:49,349.349 INFO    ] No update needed
[2026-10-20 20:48:49,352.352 INFO    ] Checking for camera pi updates...
[2026-10-20 20:48:49,387.387 INFO    ] 200
[2026-10-20 20:48:49,390.390 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:48:49,432.432 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:48:49,577.577 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:48:49,580.580 INFO    ] No camera update needed
[2026-10-20 20:48:49,583.583 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:48:49,586.586 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:48:49,592.592 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:48:49,598.598 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:48:51,640.640 INFO    ] ================================================
[2026-10-20 20:48:51,655.655 INFO    ] Launching Daemon at Tue Oct 20 20:48:51 IST 2026
[2026-10-20 20:48:51,667.667 INFO    ] ================================================
[2026-10-20 20:48:52,249.249 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:48:52
[2026-10-20 20:48:52,847.847 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:48:53,126.126 INFO    ] Initializing speech engine...
[2026-10-20 20:48:53,132.132 INFO    ] 2026-10-20 20:48:53
[2026-10-20 20:48:53,393.393 INFO    ] 2026-10-20 20:48:53
[2026-10-20 20:48:53,447.447 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:48:53,697.697 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:48:53,703.703 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:48:53,912.912 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:48:53,937.937 INFO    ] time= 20/10/2026 20:48:53
[2026-10-20 20:48:53,943.943 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:48:53,964.964 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:48:54,094.094 INFO    ] No existing commands found in stream
[2026-10-20 20:48:59,116.116 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:48:59,119.119 INFO    ] Waiting 3.78 seconds before fallback handling...
[2026-10-20 20:49:03,384.384 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:49:03,387.387 INFO    ] Checking for system updates...
[2026-10-20 20:49:03,422.422 INFO    ] 200
[2026-10-20 20:49:03,424.424 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:49:03,476.476 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:49:03,479.479 INFO    ] No update needed
[2026-10-20 20:49:03,481.481 INFO    ] Checking for camera pi updates...
[2026-10-20 20:49:03,515.515 INFO    ] 200
[2026-10-20 20:49:03,517.517 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:49:03,561.561 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:49:03,613.613 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:49:03,615.615 INFO    ] No camera update needed
[2026-10-20 20:49:03,618.618 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:49:03,620.620 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:49:03,625.625 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:49:03,630.630 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:49:05,671.671 INFO    ] ================================================
[2026-10-20 20:49:05,687.687 INFO    ] Launching Daemon at Tue Oct 20 20:49:05 IST 2026
[2026-10-20 20:49:05,699.699 INFO    ] ================================================
[2026-10-20 20:49:06,281.281 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:49:06
[2026-10-20 20:49:06,880.880 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:49:07,153.153 INFO    ] Initializing speech engine...
[2026-10-20 20:49:07,164.164 INFO    ] 2026-10-20 20:49:07
[2026-10-20 20:49:07,425.425 INFO    ] 2026-10-20 20:49:07
[2026-10-20 20:49:07,455.455 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:49:07,647.647 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:49:07,704.704 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:49:07,845.845 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:49:07,916.916 INFO    ] time= 20/10/2026 20:49:07
[2026-10-20 20:49:07,973.973 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:49:07,980.980 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:49:08,105.105 INFO    ] No existing commands found in stream
[2026-10-20 20:49:13,132.132 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:49:13,135.135 INFO    ] Waiting 1.97 seconds before fallback handling...
[2026-10-20 20:49:15,689.689 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:49:15,691.691 INFO    ] Checking for system updates...
[2026-10-20 20:49:15,726.726 INFO    ] 200
[2026-10-20 20:49:15,729.729 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:49:15,781.781 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:49:15,784.784 INFO    ] No update needed
[2026-10-20 20:49:15,786.786 INFO    ] Checking for camera pi updates...
[2026-10-20 20:49:15,819.819 INFO    ] 200
[2026-10-20 20:49:15,821.821 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:49:15,862.862 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:49:15,916.916 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:49:15,919.919 INFO    ] No camera update needed
[2026-10-20 20:49:15,921.921 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:49:15,924.924 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:49:15,929.929 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:49:15,934.934 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:49:17,973.973 INFO    ] ================================================
[2026-10-20 20:49:17,989.989 INFO    ] Launching Daemon at Tue Oct 20 20:49:17 IST 2026
[2026-10-20 20:49:18,000.000 INFO    ] ================================================
[2026-10-20 20:49:18,570.570 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:49:18
[2026-10-20 20:49:19,158.158 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:49:19,417.417 INFO    ] Initializing speech engine...
[2026-10-20 20:49:19,431.431 INFO    ] 2026-10-20 20:49:19
[2026-10-20 20:49:19,716.716 INFO    ] 2026-10-20 20:49:19
[2026-10-20 20:49:19,751.751 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:49:19,977.977 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:49:20,026.026 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:49:20,200.200 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:49:20,222.222 INFO    ] time= 20/10/2026 20:49:20
[2026-10-20 20:49:20,281.281 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:49:20,330.330 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:49:20,500.500 INFO    ] No existing commands found in stream
[2026-10-20 20:49:25,525.525 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:49:25,527.527 INFO    ] Waiting 3.87 seconds before fallback handling...
[2026-10-20 20:49:29,907.907 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:49:29,910.910 INFO    ] Checking for system updates...
[2026-10-20 20:49:29,945.945 INFO    ] 200
[2026-10-20 20:49:29,947.947 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:49:30,004.004 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:49:30,007.007 INFO    ] No update needed
[2026-10-20 20:49:30,010.010 INFO    ] Checking for camera pi updates...
[2026-10-20 20:49:30,042.042 INFO    ] 200
[2026-10-20 20:49:30,045.045 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:49:30,084.084 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:49:30,131.131 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:49:30,133.133 INFO    ] No camera update needed
[2026-10-20 20:49:30,135.135 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:49:30,138.138 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:49:30,143.143 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:49:30,148.148 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:49:32,191.191 INFO    ] ================================================
[2026-10-20 20:49:32,208.208 INFO    ] Launching Daemon at Tue Oct 20 20:49:32 IST 2026
[2026-10-20 20:49:32,219.219 INFO    ] ================================================
[2026-10-20 20:49:32,908.908 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:49:32
[2026-10-20 20:49:33,572.572 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:49:33,873.873 INFO    ] Initializing speech engine...
[2026-10-20 20:49:33,885.885 INFO    ] 2026-10-20 20:49:33
[2026-10-20 20:49:34,149.149 INFO    ] 2026-10-20 20:49:34
[2026-10-20 20:49:34,207.207 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:49:34,452.452 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:49:34,455.455 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:49:34,599.599 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:49:34,670.670 INFO    ] time= 20/10/2026 20:49:34
[2026-10-20 20:49:34,724.724 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:49:34,732.732 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:49:34,875.875 INFO    ] No existing commands found in stream
[2026-10-20 20:49:39,893.893 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:49:39,896.896 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-10-20 20:49:43,625.625 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:49:43,628.628 INFO    ] Checking for system updates...
[2026-10-20 20:49:43,672.672 INFO    ] 200
[2026-10-20 20:49:43,675.675 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:49:43,728.728 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:49:43,731.731 INFO    ] No update needed
[2026-10-20 20:49:43,733.733 INFO    ] Checking for camera pi updates...
[2026-10-20 20:49:43,768.768 INFO    ] 200
[2026-10-20 20:49:43,771.771 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:49:43,811.811 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:49:43,861.861 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:49:43,863.863 INFO    ] No camera update needed
[2026-10-20 20:49:43,866.866 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:49:43,868.868 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:49:43,873.873 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:49:43,878.878 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:49:45,918.918 INFO    ] ================================================
[2026-10-20 20:49:45,933.933 INFO    ] Launching Daemon at Tue Oct 20 20:49:45 IST 2026
[2026-10-20 20:49:45,945.945 INFO    ] ================================================
[2026-10-20 20:49:46,532.532 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:49:46
[2026-10-20 20:49:47,134.134 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:49:47,410.410 INFO    ] Initializing speech engine...
[2026-10-20 20:49:47,420.420 INFO    ] 2026-10-20 20:49:47
[2026-10-20 20:49:47,669.669 INFO    ] 2026-10-20 20:49:47
[2026-10-20 20:49:47,710.710 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:49:47,957.957 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:49:47,966.966 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:49:48,189.189 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:49:48,226.226 INFO    ] time= 20/10/2026 20:49:48
[2026-10-20 20:49:48,243.243 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:49:48,253.253 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:49:48,348.348 INFO    ] No existing commands found in stream
[2026-10-20 20:49:53,371.371 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:49:53,374.374 INFO    ] Waiting 2.10 seconds before fallback handling...
[2026-10-20 20:49:56,036.036 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:49:56,039.039 INFO    ] Checking for system updates...
[2026-10-20 20:49:56,076.076 INFO    ] 200
[2026-10-20 20:49:56,079.079 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:49:56,138.138 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:49:56,141.141 INFO    ] No update needed
[2026-10-20 20:49:56,143.143 INFO    ] Checking for camera pi updates...
[2026-10-20 20:49:56,176.176 INFO    ] 200
[2026-10-20 20:49:56,178.178 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:49:56,220.220 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:49:56,264.264 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:49:56,267.267 INFO    ] No camera update needed
[2026-10-20 20:49:56,269.269 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:49:56,271.271 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:49:56,277.277 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:49:56,282.282 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:49:58,322.322 INFO    ] ================================================
[2026-10-20 20:49:58,339.339 INFO    ] Launching Daemon at Tue Oct 20 20:49:58 IST 2026
[2026-10-20 20:49:58,350.350 INFO    ] ================================================
[2026-10-20 20:49:58,939.939 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:49:58
[2026-10-20 20:49:59,547.547 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:49:59,859.859 INFO    ] Initializing speech engine...
[2026-10-20 20:49:59,867.867 INFO    ] 2026-10-20 20:49:59
[2026-10-20 20:50:00,135.135 INFO    ] 2026-10-20 20:50:00
[2026-10-20 20:50:00,174.174 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:50:00,375.375 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:50:00,397.397 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:50:00,603.603 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:50:00,618.618 INFO    ] time= 20/10/2026 20:50:00
[2026-10-20 20:50:00,636.636 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:50:00,690.690 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:50:00,787.787 INFO    ] No existing commands found in stream
[2026-10-20 20:50:05,821.821 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:50:05,824.824 INFO    ] Waiting 1.41 seconds before fallback handling...
[2026-10-20 20:50:08,419.419 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:50:08,422.422 INFO    ] Checking for system updates...
[2026-10-20 20:50:08,458.458 INFO    ] 200
[2026-10-20 20:50:08,460.460 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:50:08,514.514 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:50:08,516.516 INFO    ] No update needed
[2026-10-20 20:50:08,519.519 INFO    ] Checking for camera pi updates...
[2026-10-20 20:50:08,553.553 INFO    ] 200
[2026-10-20 20:50:08,555.555 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:50:08,596.596 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:50:08,642.642 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:50:08,645.645 INFO    ] No camera update needed
[2026-10-20 20:50:08,647.647 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:50:08,649.649 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:50:08,655.655 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:50:08,660.660 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:50:10,700.700 INFO    ] ================================================
[2026-10-20 20:50:10,715.715 INFO    ] Launching Daemon at Tue Oct 20 20:50:10 IST 2026
[2026-10-20 20:50:10,727.727 INFO    ] ================================================
[2026-10-20 20:50:11,366.366 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:50:11
[2026-10-20 20:50:12,020.020 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:50:12,315.315 INFO    ] Initializing speech engine...
[2026-10-20 20:50:12,322.322 INFO    ] 2026-10-20 20:50:12
[2026-10-20 20:50:12,594.594 INFO    ] 2026-10-20 20:50:12
[2026-10-20 20:50:12,628.628 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:50:12,887.887 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:50:12,892.892 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:50:13,043.043 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:50:13,103.103 INFO    ] time= 20/10/2026 20:50:13
[2026-10-20 20:50:13,158.158 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:50:13,165.165 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:50:13,315.315 INFO    ] No existing commands found in stream
[2026-10-20 20:50:18,343.343 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:50:18,346.346 INFO    ] Waiting 3.20 seconds before fallback handling...
[2026-10-20 20:50:22,075.075 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:50:22,078.078 INFO    ] Checking for system updates...
[2026-10-20 20:50:22,118.118 INFO    ] 200
[2026-10-20 20:50:22,121.121 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:50:22,174.174 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:50:22,177.177 INFO    ] No update needed
[2026-10-20 20:50:22,180.180 INFO    ] Checking for camera pi updates...
[2026-10-20 20:50:22,213.213 INFO    ] 200
[2026-10-20 20:50:22,216.216 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:50:22,261.261 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:50:22,314.314 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:50:22,317.317 INFO    ] No camera update needed
[2026-10-20 20:50:22,319.319 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:50:22,321.321 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:50:22,327.327 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:50:22,332.332 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:50:24,373.373 INFO    ] ================================================
[2026-10-20 20:50:24,389.389 INFO    ] Launching Daemon at Tue Oct 20 20:50:24 IST 2026
[2026-10-20 20:50:24,400.400 INFO    ] ================================================
[2026-10-20 20:50:24,989.989 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:50:24
[2026-10-20 20:50:25,576.576 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:50:25,836.836 INFO    ] Initializing speech engine...
[2026-10-20 20:50:25,861.861 INFO    ] 2026-10-20 20:50:25
[2026-10-20 20:50:26,136.136 INFO    ] 2026-10-20 20:50:26
[2026-10-20 20:50:26,171.171 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:50:26,369.369 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:50:26,382.382 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:50:26,546.546 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:50:26,553.553 INFO    ] time= 20/10/2026 20:50:26
[2026-10-20 20:50:26,559.559 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:50:26,586.586 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:50:26,720.720 INFO    ] No existing commands found in stream
[2026-10-20 20:50:31,745.745 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:50:31,747.747 INFO    ] Waiting 1.97 seconds before fallback handling...
[2026-10-20 20:50:34,266.266 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:50:34,269.269 INFO    ] Checking for system updates...
[2026-10-20 20:50:34,304.304 INFO    ] 200
[2026-10-20 20:50:34,307.307 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:50:34,363.363 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:50:34,365.365 INFO    ] No update needed
[2026-10-20 20:50:34,367.367 INFO    ] Checking for camera pi updates...
[2026-10-20 20:50:34,404.404 INFO    ] 200
[2026-10-20 20:50:34,406.406 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:50:34,446.446 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:50:34,501.501 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:50:34,503.503 INFO    ] No camera update needed
[2026-10-20 20:50:34,505.505 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:50:34,507.507 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:50:34,513.513 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:50:34,518.518 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:50:36,558.558 INFO    ] ================================================
[2026-10-20 20:50:36,574.574 INFO    ] Launching Daemon at Tue Oct 20 20:50:36 IST 2026
[2026-10-20 20:50:36,585.585 INFO    ] ================================================
[2026-10-20 20:50:37,164.164 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:50:37
[2026-10-20 20:50:37,763.763 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:50:38,027.027 INFO    ] Initializing speech engine...
[2026-10-20 20:50:38,042.042 INFO    ] 2026-10-20 20:50:38
[2026-10-20 20:50:38,328.328 INFO    ] 2026-10-20 20:50:38
[2026-10-20 20:50:38,367.367 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:50:38,593.593 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:50:38,658.658 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:50:38,819.819 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:50:38,864.864 INFO    ] time= 20/10/2026 20:50:38
[2026-10-20 20:50:38,918.918 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:50:38,969.969 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:50:39,124.124 INFO    ] No existing commands found in stream
[2026-10-20 20:50:44,146.146 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:50:44,149.149 INFO    ] Waiting 3.87 seconds before fallback handling...
[2026-10-20 20:50:48,537.537 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:50:48,540.540 INFO    ] Checking for system updates...
[2026-10-20 20:50:48,576.576 INFO    ] 200
[2026-10-20 20:50:48,579.579 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:50:48,632.632 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:50:48,634.634 INFO    ] No update needed
[2026-10-20 20:50:48,637.637 INFO    ] Checking for camera pi updates...
[2026-10-20 20:50:48,670.670 INFO    ] 200
[2026-10-20 20:50:48,673.673 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:50:48,713.713 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:50:48,767.767 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:50:48,770.770 INFO    ] No camera update needed
[2026-10-20 20:50:48,772.772 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:50:48,775.775 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:50:48,780.780 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:50:48,785.785 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:50:50,825.825 INFO    ] ================================================
[2026-10-20 20:50:50,841.841 INFO    ] Launching Daemon at Tue Oct 20 20:50:50 IST 2026
[2026-10-20 20:50:50,851.851 INFO    ] ================================================
[2026-10-20 20:50:51,491.491 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:50:51
[2026-10-20 20:50:52,148.148 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:50:52,450.450 INFO    ] Initializing speech engine...
[2026-10-20 20:50:52,464.464 INFO    ] 2026-10-20 20:50:52
[2026-10-20 20:50:52,775.775 INFO    ] 2026-10-20 20:50:52
[2026-10-20 20:50:52,863.863 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:50:53,077.077 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:50:53,086.086 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:50:53,288.288 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:50:53,308.308 INFO    ] time= 20/10/2026 20:50:53
[2026-10-20 20:50:53,337.337 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:50:53,344.344 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:50:53,475.475 INFO    ] No existing commands found in stream
[2026-10-20 20:50:58,501.501 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:50:58,504.504 INFO    ] Waiting 0.71 seconds before fallback handling...
[2026-10-20 20:51:01,340.340 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:51:01,342.342 INFO    ] Checking for system updates...
[2026-10-20 20:51:01,378.378 INFO    ] 200
[2026-10-20 20:51:01,380.380 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:51:01,439.439 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:51:01,442.442 INFO    ] No update needed
[2026-10-20 20:51:01,445.445 INFO    ] Checking for camera pi updates...
[2026-10-20 20:51:01,486.486 INFO    ] 200
[2026-10-20 20:51:01,490.490 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:51:01,538.538 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:51:01,682.682 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:51:01,688.688 INFO    ] No camera update needed
[2026-10-20 20:51:01,693.693 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:51:01,697.697 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:51:01,716.716 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:51:01,726.726 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:51:03,774.774 INFO    ] ================================================
[2026-10-20 20:51:03,790.790 INFO    ] Launching Daemon at Tue Oct 20 20:51:03 IST 2026
[2026-10-20 20:51:03,801.801 INFO    ] ================================================
[2026-10-20 20:51:04,395.395 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:51:04
[2026-10-20 20:51:04,995.995 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:51:05,253.253 INFO    ] Initializing speech engine...
[2026-10-20 20:51:05,262.262 INFO    ] 2026-10-20 20:51:05
[2026-10-20 20:51:05,554.554 INFO    ] 2026-10-20 20:51:05
[2026-10-20 20:51:05,594.594 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:51:05,812.812 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:51:05,835.835 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:51:06,038.038 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:51:06,045.045 INFO    ] time= 20/10/2026 20:51:06
[2026-10-20 20:51:06,110.110 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:51:06,164.164 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:51:06,326.326 INFO    ] No existing commands found in stream
[2026-10-20 20:51:11,351.351 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:51:11,354.354 INFO    ] Waiting 2.35 seconds before fallback handling...
[2026-10-20 20:51:14,234.234 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:51:14,236.236 INFO    ] Checking for system updates...
[2026-10-20 20:51:14,273.273 INFO    ] 200
[2026-10-20 20:51:14,276.276 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:51:14,327.327 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:51:14,330.330 INFO    ] No update needed
[2026-10-20 20:51:14,332.332 INFO    ] Checking for camera pi updates...
[2026-10-20 20:51:14,366.366 INFO    ] 200
[2026-10-20 20:51:14,368.368 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:51:14,408.408 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:51:14,457.457 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:51:14,460.460 INFO    ] No camera update needed
[2026-10-20 20:51:14,462.462 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:51:14,464.464 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:51:14,470.470 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:51:14,475.475 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:51:16,514.514 INFO    ] ================================================
[2026-10-20 20:51:16,529.529 INFO    ] Launching Daemon at Tue Oct 20 20:51:16 IST 2026
[2026-10-20 20:51:16,539.539 INFO    ] ================================================
[2026-10-20 20:51:17,111.111 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:51:17
[2026-10-20 20:51:17,695.695 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:51:17,952.952 INFO    ] Initializing speech engine...
[2026-10-20 20:51:17,958.958 INFO    ] 2026-10-20 20:51:17
[2026-10-20 20:51:18,248.248 INFO    ] 2026-10-20 20:51:18
[2026-10-20 20:51:18,285.285 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:51:18,479.479 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:51:18,492.492 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:51:18,643.643 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:51:18,649.649 INFO    ] time= 20/10/2026 20:51:18
[2026-10-20 20:51:18,685.685 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:51:18,717.717 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:51:18,846.846 INFO    ] No existing commands found in stream
[2026-10-20 20:51:23,858.858 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:51:23,861.861 INFO    ] Waiting 1.47 seconds before fallback handling...
[2026-10-20 20:51:25,838.838 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:51:25,840.840 INFO    ] Checking for system updates...
[2026-10-20 20:51:25,875.875 INFO    ] 200
[2026-10-20 20:51:25,878.878 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:51:25,930.930 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:51:25,932.932 INFO    ] No update needed
[2026-10-20 20:51:25,935.935 INFO    ] Checking for camera pi updates...
[2026-10-20 20:51:25,968.968 INFO    ] 200
[2026-10-20 20:51:25,970.970 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:51:26,010.010 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:51:26,057.057 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:51:26,060.060 INFO    ] No camera update needed
[2026-10-20 20:51:26,062.062 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:51:26,065.065 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:51:26,070.070 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:51:26,075.075 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:51:28,114.114 INFO    ] ================================================
[2026-10-20 20:51:28,129.129 INFO    ] Launching Daemon at Tue Oct 20 20:51:28 IST 2026
[2026-10-20 20:51:28,139.139 INFO    ] ================================================
[2026-10-20 20:51:28,708.708 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:51:28
[2026-10-20 20:51:29,293.293 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:51:29,547.547 INFO    ] Initializing speech engine...
[2026-10-20 20:51:29,556.556 INFO    ] 2026-10-20 20:51:29
[2026-10-20 20:51:29,845.845 INFO    ] 2026-10-20 20:51:29
[2026-10-20 20:51:29,883.883 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:51:30,169.169 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:51:30,179.179 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:51:30,400.400 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:51:30,439.439 INFO    ] time= 20/10/2026 20:51:30
[2026-10-20 20:51:30,472.472 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:51:30,478.478 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:51:30,644.644 INFO    ] No existing commands found in stream
[2026-10-20 20:51:35,661.661 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:51:35,664.664 INFO    ] Waiting 1.58 seconds before fallback handling...
[2026-10-20 20:51:37,756.756 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:51:37,759.759 INFO    ] Checking for system updates...
[2026-10-20 20:51:37,797.797 INFO    ] 200
[2026-10-20 20:51:37,800.800 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:51:37,869.869 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:51:37,872.872 INFO    ] No update needed
[2026-10-20 20:51:37,874.874 INFO    ] Checking for camera pi updates...
[2026-10-20 20:51:37,910.910 INFO    ] 200
[2026-10-20 20:51:37,912.912 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:51:37,959.959 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:51:38,005.005 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:51:38,007.007 INFO    ] No camera update needed
[2026-10-20 20:51:38,010.010 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:51:38,012.012 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:51:38,019.019 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:51:38,024.024 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:51:40,067.067 INFO    ] ================================================
[2026-10-20 20:51:40,084.084 INFO    ] Launching Daemon at Tue Oct 20 20:51:40 IST 2026
[2026-10-20 20:51:40,096.096 INFO    ] ================================================
[2026-10-20 20:51:40,689.689 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:51:40
[2026-10-20 20:51:41,301.301 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:51:41,591.591 INFO    ] Initializing speech engine...
[2026-10-20 20:51:41,600.600 INFO    ] 2026-10-20 20:51:41
[2026-10-20 20:51:41,865.865 INFO    ] 2026-10-20 20:51:41
[2026-10-20 20:51:41,902.902 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:51:42,170.170 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:51:42,175.175 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:51:42,316.316 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:51:42,371.371 INFO    ] time= 20/10/2026 20:51:42
[2026-10-20 20:51:42,436.436 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:51:42,455.455 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:51:42,600.600 INFO    ] No existing commands found in stream
[2026-10-20 20:51:47,619.619 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:51:47,622.622 INFO    ] Waiting 0.68 seconds before fallback handling...
[2026-10-20 20:51:48,765.765 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:51:48,767.767 INFO    ] Checking for system updates...
[2026-10-20 20:51:48,803.803 INFO    ] 200
[2026-10-20 20:51:48,806.806 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:51:48,859.859 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:51:48,861.861 INFO    ] No update needed
[2026-10-20 20:51:48,864.864 INFO    ] Checking for camera pi updates...
[2026-10-20 20:51:48,906.906 INFO    ] 200
[2026-10-20 20:51:48,908.908 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:51:48,949.949 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:51:48,995.995 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:51:48,997.997 INFO    ] No camera update needed
[2026-10-20 20:51:49,000.000 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:51:49,003.003 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:51:49,009.009 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:51:49,014.014 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:51:51,056.056 INFO    ] ================================================
[2026-10-20 20:51:51,072.072 INFO    ] Launching Daemon at Tue Oct 20 20:51:51 IST 2026
[2026-10-20 20:51:51,083.083 INFO    ] ================================================
[2026-10-20 20:51:51,665.665 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:51:51
[2026-10-20 20:51:52,268.268 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:51:52,557.557 INFO    ] Initializing speech engine...
[2026-10-20 20:51:52,567.567 INFO    ] 2026-10-20 20:51:52
[2026-10-20 20:51:52,835.835 INFO    ] 2026-10-20 20:51:52
[2026-10-20 20:51:52,871.871 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:51:53,092.092 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:51:53,120.120 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:51:53,319.319 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:51:53,341.341 INFO    ] time= 20/10/2026 20:51:53
[2026-10-20 20:51:53,396.396 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:51:53,440.440 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:51:53,603.603 INFO    ] No existing commands found in stream
[2026-10-20 20:51:58,620.620 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:51:58,623.623 INFO    ] Waiting 0.67 seconds before fallback handling...
[2026-10-20 20:51:59,834.834 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:51:59,837.837 INFO    ] Checking for system updates...
[2026-10-20 20:51:59,874.874 INFO    ] 200
[2026-10-20 20:51:59,877.877 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:51:59,929.929 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:51:59,932.932 INFO    ] No update needed
[2026-10-20 20:51:59,935.935 INFO    ] Checking for camera pi updates...
[2026-10-20 20:51:59,969.969 INFO    ] 200
[2026-10-20 20:51:59,972.972 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:52:00,013.013 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:52:00,068.068 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:52:00,071.071 INFO    ] No camera update needed
[2026-10-20 20:52:00,073.073 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:52:00,076.076 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:52:00,082.082 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:52:00,088.088 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:52:02,130.130 INFO    ] ================================================
[2026-10-20 20:52:02,150.150 INFO    ] Launching Daemon at Tue Oct 20 20:52:02 IST 2026
[2026-10-20 20:52:02,166.166 INFO    ] ================================================
[2026-10-20 20:52:02,810.810 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:52:02
[2026-10-20 20:52:03,497.497 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:52:03,812.812 INFO    ] Initializing speech engine...
[2026-10-20 20:52:03,823.823 INFO    ] 2026-10-20 20:52:03
[2026-10-20 20:52:04,080.080 INFO    ] 2026-10-20 20:52:04
[2026-10-20 20:52:04,117.117 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:52:04,374.374 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:52:04,384.384 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:52:04,592.592 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:52:04,648.648 INFO    ] time= 20/10/2026 20:52:04
[2026-10-20 20:52:04,656.656 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:52:04,675.675 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:52:04,805.805 INFO    ] No existing commands found in stream
[2026-10-20 20:52:09,821.821 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:52:09,824.824 INFO    ] Waiting 0.96 seconds before fallback handling...
[2026-10-20 20:52:11,287.287 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:52:11,290.290 INFO    ] Checking for system updates...
[2026-10-20 20:52:11,329.329 INFO    ] 200
[2026-10-20 20:52:11,332.332 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:52:11,384.384 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:52:11,387.387 INFO    ] No update needed
[2026-10-20 20:52:11,389.389 INFO    ] Checking for camera pi updates...
[2026-10-20 20:52:11,425.425 INFO    ] 200
[2026-10-20 20:52:11,428.428 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:52:11,470.470 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:52:11,515.515 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:52:11,517.517 INFO    ] No camera update needed
[2026-10-20 20:52:11,520.520 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:52:11,522.522 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:52:11,528.528 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:52:11,534.534 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:52:13,575.575 INFO    ] ================================================
[2026-10-20 20:52:13,590.590 INFO    ] Launching Daemon at Tue Oct 20 20:52:13 IST 2026
[2026-10-20 20:52:13,600.600 INFO    ] ================================================
[2026-10-20 20:52:14,178.178 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:52:14
[2026-10-20 20:52:14,775.775 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:52:15,056.056 INFO    ] Initializing speech engine...
[2026-10-20 20:52:15,065.065 INFO    ] 2026-10-20 20:52:15
[2026-10-20 20:52:15,328.328 INFO    ] 2026-10-20 20:52:15
[2026-10-20 20:52:15,365.365 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:52:15,580.580 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:52:15,603.603 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:52:15,799.799 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:52:15,805.805 INFO    ] time= 20/10/2026 20:52:15
[2026-10-20 20:52:15,845.845 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:52:15,894.894 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:52:15,998.998 INFO    ] No existing commands found in stream
[2026-10-20 20:52:21,009.009 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:52:21,012.012 INFO    ] Waiting 1.44 seconds before fallback handling...
[2026-10-20 20:52:22,933.933 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:52:22,935.935 INFO    ] Checking for system updates...
[2026-10-20 20:52:22,971.971 INFO    ] 200
[2026-10-20 20:52:22,973.973 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:52:23,029.029 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:52:23,032.032 INFO    ] No update needed
[2026-10-20 20:52:23,034.034 INFO    ] Checking for camera pi updates...
[2026-10-20 20:52:23,067.067 INFO    ] 200
[2026-10-20 20:52:23,070.070 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:52:23,110.110 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:52:23,143.143 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:52:23,145.145 INFO    ] No camera update needed
[2026-10-20 20:52:23,147.147 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:52:23,150.150 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:52:23,155.155 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:52:23,160.160 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:52:25,202.202 INFO    ] ================================================
[2026-10-20 20:52:25,216.216 INFO    ] Launching Daemon at Tue Oct 20 20:52:25 IST 2026
[2026-10-20 20:52:25,227.227 INFO    ] ================================================
[2026-10-20 20:52:25,794.794 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:52:25
[2026-10-20 20:52:26,391.391 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:52:26,647.647 INFO    ] Initializing speech engine...
[2026-10-20 20:52:26,663.663 INFO    ] 2026-10-20 20:52:26
[2026-10-20 20:52:26,940.940 INFO    ] 2026-10-20 20:52:26
[2026-10-20 20:52:26,976.976 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:52:27,189.189 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:52:27,218.218 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:52:27,409.409 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:52:27,436.436 INFO    ] time= 20/10/2026 20:52:27
[2026-10-20 20:52:27,485.485 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:52:27,534.534 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:52:27,692.692 INFO    ] No existing commands found in stream
[2026-10-20 20:52:32,721.721 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:52:32,724.724 INFO    ] Waiting 3.67 seconds before fallback handling...
[2026-10-20 20:52:36,893.893 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:52:36,895.895 INFO    ] Checking for system updates...
[2026-10-20 20:52:36,931.931 INFO    ] 200
[2026-10-20 20:52:36,933.933 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:52:36,984.984 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:52:36,986.986 INFO    ] No update needed
[2026-10-20 20:52:36,989.989 INFO    ] Checking for camera pi updates...
[2026-10-20 20:52:37,022.022 INFO    ] 200
[2026-10-20 20:52:37,024.024 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:52:37,067.067 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:52:37,117.117 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:52:37,119.119 INFO    ] No camera update needed
[2026-10-20 20:52:37,122.122 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:52:37,124.124 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:52:37,129.129 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:52:37,134.134 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:52:39,174.174 INFO    ] ================================================
[2026-10-20 20:52:39,189.189 INFO    ] Launching Daemon at Tue Oct 20 20:52:39 IST 2026
[2026-10-20 20:52:39,200.200 INFO    ] ================================================
[2026-10-20 20:52:39,820.820 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:52:39
[2026-10-20 20:52:40,470.470 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:52:40,760.760 INFO    ] Initializing speech engine...
[2026-10-20 20:52:40,771.771 INFO    ] 2026-10-20 20:52:40
[2026-10-20 20:52:41,030.030 INFO    ] 2026-10-20 20:52:41
[2026-10-20 20:52:41,073.073 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:52:41,325.325 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:52:41,334.334 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:52:41,488.488 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:52:41,553.553 INFO    ] time= 20/10/2026 20:52:41
[2026-10-20 20:52:41,604.604 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:52:41,622.622 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:52:41,760.760 INFO    ] No existing commands found in stream
[2026-10-20 20:52:46,783.783 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:52:46,786.786 INFO    ] Waiting 3.34 seconds before fallback handling...
[2026-10-20 20:52:50,670.670 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:52:50,673.673 INFO    ] Checking for system updates...
[2026-10-20 20:52:50,709.709 INFO    ] 200
[2026-10-20 20:52:50,712.712 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:52:50,770.770 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:52:50,773.773 INFO    ] No update needed
[2026-10-20 20:52:50,776.776 INFO    ] Checking for camera pi updates...
[2026-10-20 20:52:50,809.809 INFO    ] 200
[2026-10-20 20:52:50,812.812 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:52:50,857.857 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:52:50,901.901 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:52:50,903.903 INFO    ] No camera update needed
[2026-10-20 20:52:50,905.905 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:52:50,907.907 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:52:50,913.913 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:52:50,918.918 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:52:52,957.957 INFO    ] ================================================
[2026-10-20 20:52:52,972.972 INFO    ] Launching Daemon at Tue Oct 20 20:52:52 IST 2026
[2026-10-20 20:52:52,982.982 INFO    ] ================================================
[2026-10-20 20:52:53,547.547 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:52:53
[2026-10-20 20:52:54,132.132 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:52:54,389.389 INFO    ] Initializing speech engine...
[2026-10-20 20:52:54,414.414 INFO    ] 2026-10-20 20:52:54
[2026-10-20 20:52:54,680.680 INFO    ] 2026-10-20 20:52:54
[2026-10-20 20:52:54,717.717 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:52:54,938.938 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:52:55,001.001 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:52:55,217.217 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:52:55,272.272 INFO    ] time= 20/10/2026 20:52:55
[2026-10-20 20:52:55,301.301 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:52:55,308.308 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:52:55,456.456 INFO    ] No existing commands found in stream
[2026-10-20 20:53:00,480.480 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:53:00,482.482 INFO    ] Waiting 2.15 seconds before fallback handling...
[2026-10-20 20:53:03,184.184 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:53:03,186.186 INFO    ] Checking for system updates...
[2026-10-20 20:53:03,230.230 INFO    ] 200
[2026-10-20 20:53:03,233.233 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:53:03,290.290 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:53:03,292.292 INFO    ] No update needed
[2026-10-20 20:53:03,295.295 INFO    ] Checking for camera pi updates...
[2026-10-20 20:53:03,345.345 INFO    ] 200
[2026-10-20 20:53:03,347.347 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:53:03,387.387 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:53:03,435.435 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:53:03,438.438 INFO    ] No camera update needed
[2026-10-20 20:53:03,441.441 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:53:03,444.444 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:53:03,451.451 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:53:03,457.457 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:53:05,498.498 INFO    ] ================================================
[2026-10-20 20:53:05,514.514 INFO    ] Launching Daemon at Tue Oct 20 20:53:05 IST 2026
[2026-10-20 20:53:05,524.524 INFO    ] ================================================
[2026-10-20 20:53:06,163.163 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:53:06
[2026-10-20 20:53:06,821.821 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:53:07,125.125 INFO    ] Initializing speech engine...
[2026-10-20 20:53:07,138.138 INFO    ] 2026-10-20 20:53:07
[2026-10-20 20:53:07,445.445 INFO    ] 2026-10-20 20:53:07
[2026-10-20 20:53:07,529.529 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:53:07,749.749 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:53:07,758.758 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:53:07,949.949 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:53:07,965.965 INFO    ] time= 20/10/2026 20:53:07
[2026-10-20 20:53:07,984.984 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:53:08,006.006 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:53:08,153.153 INFO    ] No existing commands found in stream
[2026-10-20 20:53:13,179.179 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:53:13,182.182 INFO    ] Waiting 3.31 seconds before fallback handling...
[2026-10-20 20:53:17,009.009 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:53:17,012.012 INFO    ] Checking for system updates...
[2026-10-20 20:53:17,048.048 INFO    ] 200
[2026-10-20 20:53:17,051.051 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:53:17,103.103 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:53:17,106.106 INFO    ] No update needed
[2026-10-20 20:53:17,109.109 INFO    ] Checking for camera pi updates...
[2026-10-20 20:53:17,146.146 INFO    ] 200
[2026-10-20 20:53:17,149.149 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:53:17,190.190 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:53:17,338.338 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:53:17,341.341 INFO    ] No camera update needed
[2026-10-20 20:53:17,344.344 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:53:17,346.346 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:53:17,352.352 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:53:17,358.358 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:53:19,397.397 INFO    ] ================================================
[2026-10-20 20:53:19,412.412 INFO    ] Launching Daemon at Tue Oct 20 20:53:19 IST 2026
[2026-10-20 20:53:19,423.423 INFO    ] ================================================
[2026-10-20 20:53:19,990.990 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:53:19
[2026-10-20 20:53:20,582.582 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:53:20,857.857 INFO    ] Initializing speech engine...
[2026-10-20 20:53:20,864.864 INFO    ] 2026-10-20 20:53:20
[2026-10-20 20:53:21,124.124 INFO    ] 2026-10-20 20:53:21
[2026-10-20 20:53:21,177.177 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:53:21,403.403 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:53:21,408.408 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:53:21,557.557 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:53:21,627.627 INFO    ] time= 20/10/2026 20:53:21
[2026-10-20 20:53:21,671.671 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:53:21,686.686 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:53:21,845.845 INFO    ] No existing commands found in stream
[2026-10-20 20:53:26,880.880 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:53:26,883.883 INFO    ] Waiting 2.78 seconds before fallback handling...
[2026-10-20 20:53:30,216.216 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:53:30,219.219 INFO    ] Checking for system updates...
[2026-10-20 20:53:30,273.273 INFO    ] 200
[2026-10-20 20:53:30,277.277 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 20:53:30,280.280 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-10-20 20:53:30,283.283 INFO    ] Checking for camera pi updates...
[2026-10-20 20:53:30,323.323 INFO    ] 200
[2026-10-20 20:53:30,326.326 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 20:53:30,329.329 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-10-20 20:53:30,332.332 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:53:30,335.335 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:53:30,341.341 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:53:30,347.347 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:53:32,388.388 INFO    ] ================================================
[2026-10-20 20:53:32,405.405 INFO    ] Launching Daemon at Tue Oct 20 20:53:32 IST 2026
[2026-10-20 20:53:32,418.418 INFO    ] ================================================
[2026-10-20 20:53:33,013.013 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:53:33
[2026-10-20 20:53:33,605.605 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:53:33,875.875 INFO    ] Initializing speech engine...
[2026-10-20 20:53:33,884.884 INFO    ] 2026-10-20 20:53:33
[2026-10-20 20:53:34,135.135 INFO    ] 2026-10-20 20:53:34
[2026-10-20 20:53:34,168.168 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:53:34,367.367 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:53:34,390.390 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:53:34,575.575 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:53:34,645.645 INFO    ] time= 20/10/2026 20:53:34
[2026-10-20 20:53:34,700.700 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:53:34,712.712 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:53:34,862.862 INFO    ] No existing commands found in stream
[2026-10-20 20:53:39,876.876 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:53:39,879.879 INFO    ] Waiting 1.53 seconds before fallback handling...
[2026-10-20 20:53:41,924.924 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:53:41,926.926 INFO    ] Checking for system updates...
[2026-10-20 20:53:41,962.962 INFO    ] 200
[2026-10-20 20:53:41,964.964 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:53:42,023.023 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:53:42,026.026 INFO    ] No update needed
[2026-10-20 20:53:42,028.028 INFO    ] Checking for camera pi updates...
[2026-10-20 20:53:42,061.061 INFO    ] 200
[2026-10-20 20:53:42,064.064 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:53:42,108.108 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:53:42,160.160 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:53:42,162.162 INFO    ] No camera update needed
[2026-10-20 20:53:42,165.165 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:53:42,167.167 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:53:42,172.172 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:53:42,177.177 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:53:44,217.217 INFO    ] ================================================
[2026-10-20 20:53:44,233.233 INFO    ] Launching Daemon at Tue Oct 20 20:53:44 IST 2026
[2026-10-20 20:53:44,244.244 INFO    ] ================================================
[2026-10-20 20:53:44,808.808 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:53:44
[2026-10-20 20:53:45,391.391 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:53:45,651.651 INFO    ] Initializing speech engine...
[2026-10-20 20:53:45,670.670 INFO    ] 2026-10-20 20:53:45
[2026-10-20 20:53:45,920.920 INFO    ] 2026-10-20 20:53:45
[2026-10-20 20:53:45,955.955 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:53:46,212.212 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:53:46,221.221 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:53:46,466.466 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:53:46,484.484 INFO    ] time= 20/10/2026 20:53:46
[2026-10-20 20:53:46,501.501 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:53:46,508.508 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:53:46,642.642 INFO    ] No existing commands found in stream
[2026-10-20 20:53:51,654.654 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:53:51,656.656 INFO    ] Waiting 0.70 seconds before fallback handling...
[2026-10-20 20:53:52,860.860 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:53:52,862.862 INFO    ] Checking for system updates...
[2026-10-20 20:53:52,897.897 INFO    ] 200
[2026-10-20 20:53:52,900.900 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:53:52,958.958 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:53:52,960.960 INFO    ] No update needed
[2026-10-20 20:53:52,963.963 INFO    ] Checking for camera pi updates...
[2026-10-20 20:53:52,996.996 INFO    ] 200
[2026-10-20 20:53:52,998.998 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:53:53,038.038 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:53:53,090.090 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:53:53,092.092 INFO    ] No camera update needed
[2026-10-20 20:53:53,094.094 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:53:53,097.097 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:53:53,102.102 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:53:53,107.107 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:53:55,148.148 INFO    ] ================================================
[2026-10-20 20:53:55,164.164 INFO    ] Launching Daemon at Tue Oct 20 20:53:55 IST 2026
[2026-10-20 20:53:55,175.175 INFO    ] ================================================
[2026-10-20 20:53:55,756.756 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:53:55
[2026-10-20 20:53:56,357.357 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:53:56,638.638 INFO    ] Initializing speech engine...
[2026-10-20 20:53:56,648.648 INFO    ] 2026-10-20 20:53:56
[2026-10-20 20:53:56,914.914 INFO    ] 2026-10-20 20:53:56
[2026-10-20 20:53:56,949.949 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:53:57,192.192 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:53:57,201.201 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:53:57,417.417 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:53:57,464.464 INFO    ] time= 20/10/2026 20:53:57
[2026-10-20 20:53:57,471.471 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:53:57,488.488 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:53:57,632.632 INFO    ] No existing commands found in stream
[2026-10-20 20:54:02,661.661 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:54:02,664.664 INFO    ] Waiting 0.81 seconds before fallback handling...
[2026-10-20 20:54:03,987.987 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:54:03,990.990 INFO    ] Checking for system updates...
[2026-10-20 20:54:04,025.025 INFO    ] 200
[2026-10-20 20:54:04,027.027 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:54:04,081.081 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:54:04,084.084 INFO    ] No update needed
[2026-10-20 20:54:04,086.086 INFO    ] Checking for camera pi updates...
[2026-10-20 20:54:04,123.123 INFO    ] 200
[2026-10-20 20:54:04,125.125 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:54:04,170.170 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:54:04,223.223 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:54:04,225.225 INFO    ] No camera update needed
[2026-10-20 20:54:04,228.228 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:54:04,230.230 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:54:04,235.235 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:54:04,241.241 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:54:06,282.282 INFO    ] ================================================
[2026-10-20 20:54:06,297.297 INFO    ] Launching Daemon at Tue Oct 20 20:54:06 IST 2026
[2026-10-20 20:54:06,308.308 INFO    ] ================================================
[2026-10-20 20:54:06,887.887 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:54:06
[2026-10-20 20:54:07,486.486 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:54:07,763.763 INFO    ] Initializing speech engine...
[2026-10-20 20:54:07,769.769 INFO    ] 2026-10-20 20:54:07
[2026-10-20 20:54:08,028.028 INFO    ] 2026-10-20 20:54:08
[2026-10-20 20:54:08,080.080 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:54:08,329.329 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:54:08,337.337 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:54:08,541.541 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:54:08,572.572 INFO    ] time= 20/10/2026 20:54:08
[2026-10-20 20:54:08,578.578 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:54:08,597.597 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:54:08,729.729 INFO    ] No existing commands found in stream
[2026-10-20 20:54:13,747.747 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:54:13,750.750 INFO    ] Waiting 1.60 seconds before fallback handling...
[2026-10-20 20:54:15,891.891 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:54:15,894.894 INFO    ] Checking for system updates...
[2026-10-20 20:54:15,929.929 INFO    ] 200
[2026-10-20 20:54:15,932.932 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:54:15,986.986 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:54:15,989.989 INFO    ] No update needed
[2026-10-20 20:54:15,991.991 INFO    ] Checking for camera pi updates...
[2026-10-20 20:54:16,024.024 INFO    ] 200
[2026-10-20 20:54:16,027.027 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:54:16,066.066 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:54:16,116.116 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:54:16,119.119 INFO    ] No camera update needed
[2026-10-20 20:54:16,121.121 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:54:16,123.123 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:54:16,129.129 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:54:16,134.134 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:54:18,173.173 INFO    ] ================================================
[2026-10-20 20:54:18,188.188 INFO    ] Launching Daemon at Tue Oct 20 20:54:18 IST 2026
[2026-10-20 20:54:18,203.203 INFO    ] ================================================
[2026-10-20 20:54:18,854.854 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:54:18
[2026-10-20 20:54:19,524.524 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:54:19,829.829 INFO    ] Initializing speech engine...
[2026-10-20 20:54:19,839.839 INFO    ] 2026-10-20 20:54:19
[2026-10-20 20:54:20,112.112 INFO    ] 2026-10-20 20:54:20
[2026-10-20 20:54:20,148.148 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:54:20,375.375 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:54:20,380.380 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:54:20,601.601 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:54:20,635.635 INFO    ] time= 20/10/2026 20:54:20
[2026-10-20 20:54:20,641.641 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:54:20,662.662 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:54:20,802.802 INFO    ] No existing commands found in stream
[2026-10-20 20:54:25,834.834 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:54:25,837.837 INFO    ] Waiting 2.37 seconds before fallback handling...
[2026-10-20 20:54:28,741.741 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:54:28,745.745 INFO    ] Checking for system updates...
[2026-10-20 20:54:28,785.785 INFO    ] 200
[2026-10-20 20:54:28,788.788 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:54:28,840.840 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:54:28,843.843 INFO    ] No update needed
[2026-10-20 20:54:28,846.846 INFO    ] Checking for camera pi updates...
[2026-10-20 20:54:28,883.883 INFO    ] 200
[2026-10-20 20:54:28,886.886 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:54:28,927.927 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:54:28,976.976 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:54:28,979.979 INFO    ] No camera update needed
[2026-10-20 20:54:28,981.981 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:54:28,984.984 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:54:28,990.990 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:54:28,996.996 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:54:31,038.038 INFO    ] ================================================
[2026-10-20 20:54:31,053.053 INFO    ] Launching Daemon at Tue Oct 20 20:54:31 IST 2026
[2026-10-20 20:54:31,064.064 INFO    ] ================================================
[2026-10-20 20:54:31,629.629 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:54:31
[2026-10-20 20:54:32,245.245 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:54:32,541.541 INFO    ] Initializing speech engine...
[2026-10-20 20:54:32,549.549 INFO    ] 2026-10-20 20:54:32
[2026-10-20 20:54:32,819.819 INFO    ] 2026-10-20 20:54:32
[2026-10-20 20:54:32,849.849 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:54:33,111.111 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:54:33,117.117 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:54:33,261.261 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:54:33,301.301 INFO    ] time= 20/10/2026 20:54:33
[2026-10-20 20:54:33,355.355 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:54:33,396.396 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:54:33,515.515 INFO    ] No existing commands found in stream
[2026-10-20 20:54:38,546.546 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:54:38,548.548 INFO    ] Waiting 3.48 seconds before fallback handling...
[2026-10-20 20:54:42,521.521 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 20:54:42,524.524 INFO    ] Checking for system updates...
[2026-10-20 20:54:42,559.559 INFO    ] 200
[2026-10-20 20:54:42,562.562 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:54:42,621.621 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:54:42,623.623 INFO    ] No update needed
[2026-10-20 20:54:42,626.626 INFO    ] Checking for camera pi updates...
[2026-10-20 20:54:42,658.658 INFO    ] 200
[2026-10-20 20:54:42,661.661 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:54:42,706.706 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:54:42,752.752 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:54:42,754.754 INFO    ] No camera update needed
[2026-10-20 20:54:42,756.756 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:54:42,759.759 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:54:42,764.764 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:54:42,769.769 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:54:44,810.810 INFO    ] ================================================
[2026-10-20 20:54:44,826.826 INFO    ] Launching Daemon at Tue Oct 20 20:54:44 IST 2026
[2026-10-20 20:54:44,837.837 INFO    ] ================================================
[2026-10-20 20:54:45,402.402 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:54:45
[2026-10-20 20:54:45,991.991 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:54:46,240.240 INFO    ] Initializing speech engine...
[2026-10-20 20:54:46,261.261 INFO    ] 2026-10-20 20:54:46
[2026-10-20 20:54:46,522.522 INFO    ] 2026-10-20 20:54:46
[2026-10-20 20:54:46,557.557 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:54:46,760.760 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:54:46,817.817 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:54:46,964.964 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:54:47,034.034 INFO    ] time= 20/10/2026 20:54:46
[2026-10-20 20:54:47,083.083 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:54:47,099.099 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:54:47,250.250 INFO    ] No existing commands found in stream
[2026-10-20 20:54:52,262.262 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:54:52,265.265 INFO    ] Waiting 3.99 seconds before fallback handling...
[2026-10-20 20:54:56,811.811 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:54:56,814.814 INFO    ] Checking for system updates...
[2026-10-20 20:54:56,855.855 INFO    ] 200
[2026-10-20 20:54:56,858.858 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:54:56,918.918 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:54:56,921.921 INFO    ] No update needed
[2026-10-20 20:54:56,923.923 INFO    ] Checking for camera pi updates...
[2026-10-20 20:54:56,958.958 INFO    ] 200
[2026-10-20 20:54:56,961.961 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:54:57,003.003 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:54:57,067.067 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:54:57,070.070 INFO    ] No camera update needed
[2026-10-20 20:54:57,072.072 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:54:57,075.075 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:54:57,081.081 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:54:57,087.087 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:54:59,128.128 INFO    ] ================================================
[2026-10-20 20:54:59,143.143 INFO    ] Launching Daemon at Tue Oct 20 20:54:59 IST 2026
[2026-10-20 20:54:59,154.154 INFO    ] ================================================
[2026-10-20 20:54:59,723.723 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:54:59
[2026-10-20 20:55:00,309.309 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:55:00,559.559 INFO    ] Initializing speech engine...
[2026-10-20 20:55:00,572.572 INFO    ] 2026-10-20 20:55:00
[2026-10-20 20:55:00,833.833 INFO    ] 2026-10-20 20:55:00
[2026-10-20 20:55:00,861.861 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:55:01,134.134 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:55:01,146.146 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:55:01,287.287 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:55:01,329.329 INFO    ] time= 20/10/2026 20:55:01
[2026-10-20 20:55:01,373.373 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:55:01,423.423 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:55:01,561.561 INFO    ] No existing commands found in stream
[2026-10-20 20:55:06,584.584 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:55:06,587.587 INFO    ] Waiting 3.02 seconds before fallback handling...
[2026-10-20 20:55:10,134.134 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 20:55:10,136.136 INFO    ] Checking for system updates...
[2026-10-20 20:55:10,172.172 INFO    ] 200
[2026-10-20 20:55:10,174.174 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:55:10,234.234 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:55:10,236.236 INFO    ] No update needed
[2026-10-20 20:55:10,238.238 INFO    ] Checking for camera pi updates...
[2026-10-20 20:55:10,276.276 INFO    ] 200
[2026-10-20 20:55:10,278.278 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:55:10,318.318 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:55:10,365.365 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:55:10,367.367 INFO    ] No camera update needed
[2026-10-20 20:55:10,370.370 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:55:10,372.372 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:55:10,378.378 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:55:10,382.382 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:55:12,422.422 INFO    ] ================================================
[2026-10-20 20:55:12,438.438 INFO    ] Launching Daemon at Tue Oct 20 20:55:12 IST 2026
[2026-10-20 20:55:12,449.449 INFO    ] ================================================
[2026-10-20 20:55:13,037.037 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:55:13
[2026-10-20 20:55:13,644.644 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:55:13,913.913 INFO    ] Initializing speech engine...
[2026-10-20 20:55:13,927.927 INFO    ] 2026-10-20 20:55:13
[2026-10-20 20:55:14,215.215 INFO    ] 2026-10-20 20:55:14
[2026-10-20 20:55:14,251.251 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:55:14,483.483 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:55:14,521.521 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:55:14,714.714 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:55:14,732.732 INFO    ] time= 20/10/2026 20:55:14
[2026-10-20 20:55:14,781.781 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:55:14,825.825 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:55:15,005.005 INFO    ] No existing commands found in stream
[2026-10-20 20:55:20,030.030 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:55:20,033.033 INFO    ] Waiting 2.36 seconds before fallback handling...
[2026-10-20 20:55:22,881.881 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:55:22,883.883 INFO    ] Checking for system updates...
[2026-10-20 20:55:22,919.919 INFO    ] 200
[2026-10-20 20:55:22,921.921 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:55:22,977.977 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:55:22,980.980 INFO    ] No update needed
[2026-10-20 20:55:22,982.982 INFO    ] Checking for camera pi updates...
[2026-10-20 20:55:23,015.015 INFO    ] 200
[2026-10-20 20:55:23,018.018 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:55:23,062.062 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:55:23,205.205 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:55:23,207.207 INFO    ] No camera update needed
[2026-10-20 20:55:23,210.210 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:55:23,212.212 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:55:23,217.217 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:55:23,222.222 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:55:25,263.263 INFO    ] ================================================
[2026-10-20 20:55:25,279.279 INFO    ] Launching Daemon at Tue Oct 20 20:55:25 IST 2026
[2026-10-20 20:55:25,290.290 INFO    ] ================================================
[2026-10-20 20:55:25,855.855 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:55:25
[2026-10-20 20:55:26,440.440 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:55:26,698.698 INFO    ] Initializing speech engine...
[2026-10-20 20:55:26,726.726 INFO    ] 2026-10-20 20:55:26
[2026-10-20 20:55:26,998.998 INFO    ] 2026-10-20 20:55:26
[2026-10-20 20:55:27,035.035 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:55:27,261.261 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:55:27,274.274 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:55:27,482.482 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:55:27,496.496 INFO    ] time= 20/10/2026 20:55:27
[2026-10-20 20:55:27,507.507 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:55:27,571.571 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:55:27,699.699 INFO    ] No existing commands found in stream
[2026-10-20 20:55:32,710.710 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:55:32,713.713 INFO    ] Waiting 3.87 seconds before fallback handling...
[2026-10-20 20:55:37,117.117 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 20:55:37,120.120 INFO    ] Checking for system updates...
[2026-10-20 20:55:37,156.156 INFO    ] 200
[2026-10-20 20:55:37,158.158 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:55:37,211.211 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:55:37,214.214 INFO    ] No update needed
[2026-10-20 20:55:37,216.216 INFO    ] Checking for camera pi updates...
[2026-10-20 20:55:37,253.253 INFO    ] 200
[2026-10-20 20:55:37,256.256 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:55:37,301.301 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:55:37,355.355 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:55:37,358.358 INFO    ] No camera update needed
[2026-10-20 20:55:37,360.360 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:55:37,362.362 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:55:37,368.368 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:55:37,373.373 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:55:39,413.413 INFO    ] ================================================
[2026-10-20 20:55:39,428.428 INFO    ] Launching Daemon at Tue Oct 20 20:55:39 IST 2026
[2026-10-20 20:55:39,439.439 INFO    ] ================================================
[2026-10-20 20:55:40,020.020 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:55:40
[2026-10-20 20:55:40,616.616 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:55:40,891.891 INFO    ] Initializing speech engine...
[2026-10-20 20:55:40,897.897 INFO    ] 2026-10-20 20:55:40
[2026-10-20 20:55:41,172.172 INFO    ] 2026-10-20 20:55:41
[2026-10-20 20:55:41,228.228 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:55:41,457.457 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:55:41,479.479 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:55:41,673.673 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:55:41,722.722 INFO    ] time= 20/10/2026 20:55:41
[2026-10-20 20:55:41,740.740 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:55:41,769.769 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:55:41,919.919 INFO    ] No existing commands found in stream
[2026-10-20 20:55:46,950.950 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:55:46,953.953 INFO    ] Waiting 0.63 seconds before fallback handling...
[2026-10-20 20:55:48,095.095 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:55:48,097.097 INFO    ] Checking for system updates...
[2026-10-20 20:55:48,137.137 INFO    ] 200
[2026-10-20 20:55:48,139.139 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:55:48,191.191 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:55:48,193.193 INFO    ] No update needed
[2026-10-20 20:55:48,195.195 INFO    ] Checking for camera pi updates...
[2026-10-20 20:55:48,232.232 INFO    ] 200
[2026-10-20 20:55:48,235.235 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:55:48,280.280 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:55:48,328.328 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:55:48,330.330 INFO    ] No camera update needed
[2026-10-20 20:55:48,333.333 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:55:48,335.335 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:55:48,340.340 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:55:48,345.345 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:55:50,385.385 INFO    ] ================================================
[2026-10-20 20:55:50,400.400 INFO    ] Launching Daemon at Tue Oct 20 20:55:50 IST 2026
[2026-10-20 20:55:50,415.415 INFO    ] ================================================
[2026-10-20 20:55:50,982.982 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:55:50
[2026-10-20 20:55:51,564.564 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:55:51,828.828 INFO    ] Initializing speech engine...
[2026-10-20 20:55:51,840.840 INFO    ] 2026-10-20 20:55:51
[2026-10-20 20:55:52,087.087 INFO    ] 2026-10-20 20:55:52
[2026-10-20 20:55:52,123.123 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:55:52,319.319 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:55:52,369.369 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:55:52,586.586 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:55:52,639.639 INFO    ] time= 20/10/2026 20:55:52
[2026-10-20 20:55:52,646.646 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:55:52,663.663 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:55:52,793.793 INFO    ] No existing commands found in stream
[2026-10-20 20:55:57,808.808 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:55:57,811.811 INFO    ] Waiting 0.19 seconds before fallback handling...
[2026-10-20 20:55:58,511.511 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:55:58,514.514 INFO    ] Checking for system updates...
[2026-10-20 20:55:58,551.551 INFO    ] 200
[2026-10-20 20:55:58,554.554 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:55:58,606.606 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:55:58,609.609 INFO    ] No update needed
[2026-10-20 20:55:58,612.612 INFO    ] Checking for camera pi updates...
[2026-10-20 20:55:58,647.647 INFO    ] 200
[2026-10-20 20:55:58,650.650 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:55:58,691.691 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:55:58,736.736 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:55:58,738.738 INFO    ] No camera update needed
[2026-10-20 20:55:58,740.740 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:55:58,743.743 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:55:58,748.748 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:55:58,753.753 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:56:00,792.792 INFO    ] ================================================
[2026-10-20 20:56:00,809.809 INFO    ] Launching Daemon at Tue Oct 20 20:56:00 IST 2026
[2026-10-20 20:56:00,820.820 INFO    ] ================================================
[2026-10-20 20:56:01,386.386 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:56:01
[2026-10-20 20:56:01,986.986 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:56:02,473.473 INFO    ] Initializing speech engine...
[2026-10-20 20:56:02,485.485 INFO    ] 2026-10-20 20:56:02
[2026-10-20 20:56:02,829.829 INFO    ] 2026-10-20 20:56:02
[2026-10-20 20:56:02,909.909 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:56:03,139.139 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:56:03,147.147 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:56:03,336.336 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:56:03,368.368 INFO    ] time= 20/10/2026 20:56:03
[2026-10-20 20:56:03,395.395 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:56:03,428.428 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:56:03,585.585 INFO    ] No existing commands found in stream
[2026-10-20 20:56:08,614.614 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:56:08,617.617 INFO    ] Waiting 1.29 seconds before fallback handling...
[2026-10-20 20:56:10,472.472 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:56:10,475.475 INFO    ] Checking for system updates...
[2026-10-20 20:56:10,511.511 INFO    ] 200
[2026-10-20 20:56:10,514.514 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:56:10,574.574 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:56:10,577.577 INFO    ] No update needed
[2026-10-20 20:56:10,579.579 INFO    ] Checking for camera pi updates...
[2026-10-20 20:56:10,614.614 INFO    ] 200
[2026-10-20 20:56:10,616.616 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:56:10,656.656 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:56:10,712.712 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:56:10,714.714 INFO    ] No camera update needed
[2026-10-20 20:56:10,717.717 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:56:10,720.720 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:56:10,725.725 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:56:10,731.731 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:56:12,771.771 INFO    ] ================================================
[2026-10-20 20:56:12,786.786 INFO    ] Launching Daemon at Tue Oct 20 20:56:12 IST 2026
[2026-10-20 20:56:12,797.797 INFO    ] ================================================
[2026-10-20 20:56:13,364.364 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:56:13
[2026-10-20 20:56:13,947.947 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:56:14,211.211 INFO    ] Initializing speech engine...
[2026-10-20 20:56:14,228.228 INFO    ] 2026-10-20 20:56:14
[2026-10-20 20:56:14,483.483 INFO    ] 2026-10-20 20:56:14
[2026-10-20 20:56:14,513.513 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:56:14,728.728 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:56:14,785.785 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:56:14,926.926 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:56:14,966.966 INFO    ] time= 20/10/2026 20:56:14
[2026-10-20 20:56:15,025.025 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:56:15,056.056 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:56:15,209.209 INFO    ] No existing commands found in stream
[2026-10-20 20:56:20,240.240 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:56:20,242.242 INFO    ] Waiting 1.50 seconds before fallback handling...
[2026-10-20 20:56:24,786.786 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:56:24,789.789 INFO    ] Checking for system updates...
[2026-10-20 20:56:24,823.823 INFO    ] 200
[2026-10-20 20:56:24,826.826 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:56:24,882.882 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:56:24,884.884 INFO    ] No update needed
[2026-10-20 20:56:24,886.886 INFO    ] Checking for camera pi updates...
[2026-10-20 20:56:24,922.922 INFO    ] 200
[2026-10-20 20:56:24,924.924 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:56:24,967.967 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:56:25,012.012 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:56:25,015.015 INFO    ] No camera update needed
[2026-10-20 20:56:25,017.017 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:56:25,019.019 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:56:25,024.024 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:56:25,029.029 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:56:27,069.069 INFO    ] ================================================
[2026-10-20 20:56:27,083.083 INFO    ] Launching Daemon at Tue Oct 20 20:56:27 IST 2026
[2026-10-20 20:56:27,094.094 INFO    ] ================================================
[2026-10-20 20:56:27,735.735 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:56:27
[2026-10-20 20:56:28,368.368 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:56:28,650.650 INFO    ] Initializing speech engine...
[2026-10-20 20:56:28,669.669 INFO    ] 2026-10-20 20:56:28
[2026-10-20 20:56:28,933.933 INFO    ] 2026-10-20 20:56:28
[2026-10-20 20:56:28,969.969 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:56:29,220.220 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:56:29,229.229 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:56:29,422.422 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:56:29,487.487 INFO    ] time= 20/10/2026 20:56:29
[2026-10-20 20:56:29,495.495 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:56:29,513.513 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:56:29,643.643 INFO    ] No existing commands found in stream
[2026-10-20 20:56:34,656.656 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:56:34,659.659 INFO    ] Waiting 1.79 seconds before fallback handling...
[2026-10-20 20:56:36,962.962 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:56:36,965.965 INFO    ] Checking for system updates...
[2026-10-20 20:56:37,001.001 INFO    ] 200
[2026-10-20 20:56:37,003.003 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:56:37,060.060 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:56:37,062.062 INFO    ] No update needed
[2026-10-20 20:56:37,065.065 INFO    ] Checking for camera pi updates...
[2026-10-20 20:56:37,099.099 INFO    ] 200
[2026-10-20 20:56:37,102.102 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:56:37,149.149 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:56:37,203.203 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:56:37,205.205 INFO    ] No camera update needed
[2026-10-20 20:56:37,207.207 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:56:37,210.210 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:56:37,215.215 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:56:37,220.220 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:56:39,259.259 INFO    ] ================================================
[2026-10-20 20:56:39,274.274 INFO    ] Launching Daemon at Tue Oct 20 20:56:39 IST 2026
[2026-10-20 20:56:39,284.284 INFO    ] ================================================
[2026-10-20 20:56:39,884.884 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:56:39
[2026-10-20 20:56:40,468.468 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:56:40,717.717 INFO    ] Initializing speech engine...
[2026-10-20 20:56:40,742.742 INFO    ] 2026-10-20 20:56:40
[2026-10-20 20:56:40,999.999 INFO    ] 2026-10-20 20:56:40
[2026-10-20 20:56:41,033.033 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:56:41,304.304 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:56:41,314.314 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:56:41,471.471 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:56:41,521.521 INFO    ] time= 20/10/2026 20:56:41
[2026-10-20 20:56:41,565.565 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:56:41,611.611 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:56:41,756.756 INFO    ] No existing commands found in stream
[2026-10-20 20:56:46,781.781 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:56:46,784.784 INFO    ] Waiting 3.22 seconds before fallback handling...
[2026-10-20 20:56:50,499.499 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:56:50,502.502 INFO    ] Checking for system updates...
[2026-10-20 20:56:50,538.538 INFO    ] 200
[2026-10-20 20:56:50,541.541 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:56:50,595.595 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:56:50,598.598 INFO    ] No update needed
[2026-10-20 20:56:50,600.600 INFO    ] Checking for camera pi updates...
[2026-10-20 20:56:50,634.634 INFO    ] 200
[2026-10-20 20:56:50,637.637 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:56:50,681.681 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:56:50,737.737 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:56:50,740.740 INFO    ] No camera update needed
[2026-10-20 20:56:50,743.743 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:56:50,746.746 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:56:50,752.752 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:56:50,757.757 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:56:52,797.797 INFO    ] ================================================
[2026-10-20 20:56:52,812.812 INFO    ] Launching Daemon at Tue Oct 20 20:56:52 IST 2026
[2026-10-20 20:56:52,822.822 INFO    ] ================================================
[2026-10-20 20:56:53,443.443 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:56:53
[2026-10-20 20:56:54,081.081 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:56:54,373.373 INFO    ] Initializing speech engine...
[2026-10-20 20:56:54,379.379 INFO    ] 2026-10-20 20:56:54
[2026-10-20 20:56:54,647.647 INFO    ] 2026-10-20 20:56:54
[2026-10-20 20:56:54,705.705 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:56:54,930.930 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:56:54,937.937 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:56:55,143.143 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:56:55,193.193 INFO    ] time= 20/10/2026 20:56:55
[2026-10-20 20:56:55,203.203 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:56:55,221.221 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:56:55,371.371 INFO    ] No existing commands found in stream
[2026-10-20 20:57:00,402.402 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:57:00,405.405 INFO    ] Waiting 0.09 seconds before fallback handling...
[2026-10-20 20:57:00,982.982 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:57:00,985.985 INFO    ] Checking for system updates...
[2026-10-20 20:57:01,024.024 INFO    ] 200
[2026-10-20 20:57:01,026.026 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:57:01,088.088 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:57:01,091.091 INFO    ] No update needed
[2026-10-20 20:57:01,093.093 INFO    ] Checking for camera pi updates...
[2026-10-20 20:57:01,129.129 INFO    ] 200
[2026-10-20 20:57:01,132.132 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:57:01,177.177 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:57:01,233.233 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:57:01,236.236 INFO    ] No camera update needed
[2026-10-20 20:57:01,239.239 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:57:01,241.241 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:57:01,247.247 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:57:01,253.253 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:57:03,300.300 INFO    ] ================================================
[2026-10-20 20:57:03,322.322 INFO    ] Launching Daemon at Tue Oct 20 20:57:03 IST 2026
[2026-10-20 20:57:03,334.334 INFO    ] ================================================
[2026-10-20 20:57:03,982.982 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:57:03
[2026-10-20 20:57:04,578.578 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:57:04,854.854 INFO    ] Initializing speech engine...
[2026-10-20 20:57:04,861.861 INFO    ] 2026-10-20 20:57:04
[2026-10-20 20:57:05,122.122 INFO    ] 2026-10-20 20:57:05
[2026-10-20 20:57:05,152.152 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:57:05,395.395 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:57:05,398.398 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:57:05,561.561 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:57:05,604.604 INFO    ] time= 20/10/2026 20:57:05
[2026-10-20 20:57:05,653.653 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:57:05,707.707 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:57:05,849.849 INFO    ] No existing commands found in stream
[2026-10-20 20:57:10,880.880 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:57:10,883.883 INFO    ] Waiting 0.06 seconds before fallback handling...
[2026-10-20 20:57:11,459.459 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:57:11,462.462 INFO    ] Checking for system updates...
[2026-10-20 20:57:11,501.501 INFO    ] 200
[2026-10-20 20:57:11,503.503 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:57:11,557.557 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:57:11,560.560 INFO    ] No update needed
[2026-10-20 20:57:11,562.562 INFO    ] Checking for camera pi updates...
[2026-10-20 20:57:11,603.603 INFO    ] 200
[2026-10-20 20:57:11,606.606 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:57:11,647.647 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:57:11,704.704 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:57:11,706.706 INFO    ] No camera update needed
[2026-10-20 20:57:11,709.709 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:57:11,711.711 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:57:11,717.717 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:57:11,722.722 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:57:13,763.763 INFO    ] ================================================
[2026-10-20 20:57:13,778.778 INFO    ] Launching Daemon at Tue Oct 20 20:57:13 IST 2026
[2026-10-20 20:57:13,788.788 INFO    ] ================================================
[2026-10-20 20:57:14,360.360 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:57:14
[2026-10-20 20:57:14,942.942 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:57:15,188.188 INFO    ] Initializing speech engine...
[2026-10-20 20:57:15,195.195 INFO    ] 2026-10-20 20:57:15
[2026-10-20 20:57:15,470.470 INFO    ] 2026-10-20 20:57:15
[2026-10-20 20:57:15,505.505 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:57:15,707.707 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:57:15,765.765 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:57:15,983.983 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:57:16,037.037 INFO    ] time= 20/10/2026 20:57:15
[2026-10-20 20:57:16,043.043 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:57:16,061.061 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:57:16,191.191 INFO    ] No existing commands found in stream
[2026-10-20 20:57:21,207.207 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:57:21,210.210 INFO    ] Waiting 2.61 seconds before fallback handling...
[2026-10-20 20:57:24,309.309 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 20:57:24,311.311 INFO    ] Checking for system updates...
[2026-10-20 20:57:24,347.347 INFO    ] 200
[2026-10-20 20:57:24,349.349 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:57:24,401.401 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:57:24,403.403 INFO    ] No update needed
[2026-10-20 20:57:24,406.406 INFO    ] Checking for camera pi updates...
[2026-10-20 20:57:24,440.440 INFO    ] 200
[2026-10-20 20:57:24,442.442 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:57:24,486.486 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:57:24,532.532 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:57:24,535.535 INFO    ] No camera update needed
[2026-10-20 20:57:24,537.537 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:57:24,539.539 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:57:24,545.545 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:57:24,550.550 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:57:26,591.591 INFO    ] ================================================
[2026-10-20 20:57:26,606.606 INFO    ] Launching Daemon at Tue Oct 20 20:57:26 IST 2026
[2026-10-20 20:57:26,616.616 INFO    ] ================================================
[2026-10-20 20:57:27,205.205 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:57:27
[2026-10-20 20:57:27,806.806 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:57:28,079.079 INFO    ] Initializing speech engine...
[2026-10-20 20:57:28,088.088 INFO    ] 2026-10-20 20:57:28
[2026-10-20 20:57:28,336.336 INFO    ] 2026-10-20 20:57:28
[2026-10-20 20:57:28,360.360 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:57:28,576.576 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:57:28,632.632 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:57:28,841.841 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:57:28,886.886 INFO    ] time= 20/10/2026 20:57:28
[2026-10-20 20:57:28,902.902 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:57:28,919.919 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:57:29,060.060 INFO    ] No existing commands found in stream
[2026-10-20 20:57:34,089.089 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:57:34,092.092 INFO    ] Waiting 1.29 seconds before fallback handling...
[2026-10-20 20:57:35,904.904 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:57:35,907.907 INFO    ] Checking for system updates...
[2026-10-20 20:57:35,944.944 INFO    ] 200
[2026-10-20 20:57:35,946.946 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:57:36,009.009 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:57:36,011.011 INFO    ] No update needed
[2026-10-20 20:57:36,013.013 INFO    ] Checking for camera pi updates...
[2026-10-20 20:57:36,047.047 INFO    ] 200
[2026-10-20 20:57:36,049.049 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:57:36,089.089 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:57:36,142.142 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:57:36,145.145 INFO    ] No camera update needed
[2026-10-20 20:57:36,147.147 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:57:36,149.149 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:57:36,155.155 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:57:36,160.160 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:57:38,200.200 INFO    ] ================================================
[2026-10-20 20:57:38,216.216 INFO    ] Launching Daemon at Tue Oct 20 20:57:38 IST 2026
[2026-10-20 20:57:38,226.226 INFO    ] ================================================
[2026-10-20 20:57:38,867.867 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:57:38
[2026-10-20 20:57:39,526.526 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:57:39,827.827 INFO    ] Initializing speech engine...
[2026-10-20 20:57:39,833.833 INFO    ] 2026-10-20 20:57:39
[2026-10-20 20:57:40,109.109 INFO    ] 2026-10-20 20:57:40
[2026-10-20 20:57:40,166.166 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:57:40,399.399 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:57:40,403.403 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:57:40,552.552 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:57:40,608.608 INFO    ] time= 20/10/2026 20:57:40
[2026-10-20 20:57:40,668.668 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:57:40,680.680 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:57:40,831.831 INFO    ] No existing commands found in stream
[2026-10-20 20:57:45,850.850 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:57:45,854.854 INFO    ] Waiting 3.31 seconds before fallback handling...
[2026-10-20 20:57:49,676.676 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:57:49,679.679 INFO    ] Checking for system updates...
[2026-10-20 20:57:49,714.714 INFO    ] 200
[2026-10-20 20:57:49,716.716 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:57:49,774.774 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:57:49,776.776 INFO    ] No update needed
[2026-10-20 20:57:49,779.779 INFO    ] Checking for camera pi updates...
[2026-10-20 20:57:49,813.813 INFO    ] 200
[2026-10-20 20:57:49,815.815 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:57:49,860.860 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:57:49,908.908 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:57:49,911.911 INFO    ] No camera update needed
[2026-10-20 20:57:49,913.913 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:57:49,915.915 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:57:49,920.920 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:57:49,925.925 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:57:51,965.965 INFO    ] ================================================
[2026-10-20 20:57:51,980.980 INFO    ] Launching Daemon at Tue Oct 20 20:57:51 IST 2026
[2026-10-20 20:57:51,990.990 INFO    ] ================================================
[2026-10-20 20:57:52,637.637 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:57:52
[2026-10-20 20:57:53,305.305 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:57:53,611.611 INFO    ] Initializing speech engine...
[2026-10-20 20:57:53,624.624 INFO    ] 2026-10-20 20:57:53
[2026-10-20 20:57:53,908.908 INFO    ] 2026-10-20 20:57:53
[2026-10-20 20:57:53,955.955 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:57:54,242.242 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:57:54,251.251 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:57:54,452.452 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:57:54,459.459 INFO    ] time= 20/10/2026 20:57:54
[2026-10-20 20:57:54,482.482 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:57:54,510.510 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:57:54,633.633 INFO    ] No existing commands found in stream
[2026-10-20 20:57:59,669.669 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:57:59,672.672 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-10-20 20:58:02,311.311 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 20:58:02,317.317 INFO    ] Checking for system updates...
[2026-10-20 20:58:02,375.375 INFO    ] 200
[2026-10-20 20:58:02,378.378 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:58:02,444.444 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:58:02,447.447 INFO    ] No update needed
[2026-10-20 20:58:02,450.450 INFO    ] Checking for camera pi updates...
[2026-10-20 20:58:02,486.486 INFO    ] 200
[2026-10-20 20:58:02,490.490 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:58:02,544.544 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:58:02,586.586 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:58:02,589.589 INFO    ] No camera update needed
[2026-10-20 20:58:02,593.593 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:58:02,596.596 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:58:02,604.604 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:58:02,610.610 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:58:04,653.653 INFO    ] ================================================
[2026-10-20 20:58:04,668.668 INFO    ] Launching Daemon at Tue Oct 20 20:58:04 IST 2026
[2026-10-20 20:58:04,679.679 INFO    ] ================================================
[2026-10-20 20:58:05,245.245 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:58:05
[2026-10-20 20:58:05,827.827 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:58:06,097.097 INFO    ] Initializing speech engine...
[2026-10-20 20:58:06,106.106 INFO    ] 2026-10-20 20:58:06
[2026-10-20 20:58:06,356.356 INFO    ] 2026-10-20 20:58:06
[2026-10-20 20:58:06,392.392 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:58:06,651.651 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:58:06,660.660 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:58:06,798.798 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:58:06,832.832 INFO    ] time= 20/10/2026 20:58:06
[2026-10-20 20:58:06,886.886 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:58:06,932.932 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:58:07,078.078 INFO    ] No existing commands found in stream
[2026-10-20 20:58:12,096.096 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:58:12,098.098 INFO    ] Waiting 3.40 seconds before fallback handling...
[2026-10-20 20:58:16,007.007 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:58:16,010.010 INFO    ] Checking for system updates...
[2026-10-20 20:58:16,047.047 INFO    ] 200
[2026-10-20 20:58:16,050.050 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:58:16,103.103 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:58:16,106.106 INFO    ] No update needed
[2026-10-20 20:58:16,108.108 INFO    ] Checking for camera pi updates...
[2026-10-20 20:58:16,141.141 INFO    ] 200
[2026-10-20 20:58:16,144.144 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:58:16,184.184 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:58:16,235.235 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:58:16,237.237 INFO    ] No camera update needed
[2026-10-20 20:58:16,240.240 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:58:16,242.242 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:58:16,247.247 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:58:16,252.252 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:58:18,291.291 INFO    ] ================================================
[2026-10-20 20:58:18,306.306 INFO    ] Launching Daemon at Tue Oct 20 20:58:18 IST 2026
[2026-10-20 20:58:18,317.317 INFO    ] ================================================
[2026-10-20 20:58:18,950.950 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:58:18
[2026-10-20 20:58:19,600.600 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:58:19,895.895 INFO    ] Initializing speech engine...
[2026-10-20 20:58:19,906.906 INFO    ] 2026-10-20 20:58:19
[2026-10-20 20:58:20,193.193 INFO    ] 2026-10-20 20:58:20
[2026-10-20 20:58:20,239.239 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:58:20,465.465 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:58:20,476.476 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:58:20,613.613 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:58:20,679.679 INFO    ] time= 20/10/2026 20:58:20
[2026-10-20 20:58:20,733.733 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:58:20,751.751 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:58:20,880.880 INFO    ] No existing commands found in stream
[2026-10-20 20:58:25,908.908 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:58:25,912.912 INFO    ] Waiting 2.88 seconds before fallback handling...
[2026-10-20 20:58:29,313.313 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:58:29,316.316 INFO    ] Checking for system updates...
[2026-10-20 20:58:29,355.355 INFO    ] 200
[2026-10-20 20:58:29,358.358 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:58:29,412.412 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:58:29,415.415 INFO    ] No update needed
[2026-10-20 20:58:29,417.417 INFO    ] Checking for camera pi updates...
[2026-10-20 20:58:29,454.454 INFO    ] 200
[2026-10-20 20:58:29,456.456 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:58:29,497.497 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:58:29,550.550 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:58:29,552.552 INFO    ] No camera update needed
[2026-10-20 20:58:29,555.555 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:58:29,557.557 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:58:29,563.563 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:58:29,569.569 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:58:31,610.610 INFO    ] ================================================
[2026-10-20 20:58:31,625.625 INFO    ] Launching Daemon at Tue Oct 20 20:58:31 IST 2026
[2026-10-20 20:58:31,636.636 INFO    ] ================================================
[2026-10-20 20:58:32,313.313 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:58:32
[2026-10-20 20:58:32,937.937 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:58:33,221.221 INFO    ] Initializing speech engine...
[2026-10-20 20:58:33,229.229 INFO    ] 2026-10-20 20:58:33
[2026-10-20 20:58:33,516.516 INFO    ] 2026-10-20 20:58:33
[2026-10-20 20:58:33,552.552 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:58:33,828.828 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:58:33,836.836 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:58:34,039.039 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:58:34,071.071 INFO    ] time= 20/10/2026 20:58:34
[2026-10-20 20:58:34,077.077 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:58:34,095.095 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:58:34,220.220 INFO    ] No existing commands found in stream
[2026-10-20 20:58:39,237.237 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:58:39,240.240 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-10-20 20:58:43,177.177 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 20:58:43,180.180 INFO    ] Checking for system updates...
[2026-10-20 20:58:43,215.215 INFO    ] 200
[2026-10-20 20:58:43,217.217 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:58:43,271.271 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:58:43,274.274 INFO    ] No update needed
[2026-10-20 20:58:43,277.277 INFO    ] Checking for camera pi updates...
[2026-10-20 20:58:43,311.311 INFO    ] 200
[2026-10-20 20:58:43,314.314 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:58:43,358.358 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:58:43,407.407 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:58:43,409.409 INFO    ] No camera update needed
[2026-10-20 20:58:43,412.412 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:58:43,414.414 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:58:43,420.420 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:58:43,425.425 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:58:45,464.464 INFO    ] ================================================
[2026-10-20 20:58:45,479.479 INFO    ] Launching Daemon at Tue Oct 20 20:58:45 IST 2026
[2026-10-20 20:58:45,489.489 INFO    ] ================================================
[2026-10-20 20:58:46,123.123 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:58:46
[2026-10-20 20:58:46,777.777 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:58:47,074.074 INFO    ] Initializing speech engine...
[2026-10-20 20:58:47,083.083 INFO    ] 2026-10-20 20:58:47
[2026-10-20 20:58:47,350.350 INFO    ] 2026-10-20 20:58:47
[2026-10-20 20:58:47,410.410 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:58:47,645.645 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:58:47,651.651 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:58:47,869.869 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:58:47,915.915 INFO    ] time= 20/10/2026 20:58:47
[2026-10-20 20:58:47,922.922 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:58:47,943.943 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:58:48,077.077 INFO    ] No existing commands found in stream
[2026-10-20 20:58:53,106.106 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:58:53,109.109 INFO    ] Waiting 2.70 seconds before fallback handling...
[2026-10-20 20:58:56,413.413 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:58:56,415.415 INFO    ] Checking for system updates...
[2026-10-20 20:58:56,453.453 INFO    ] 200
[2026-10-20 20:58:56,456.456 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:58:56,515.515 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:58:56,518.518 INFO    ] No update needed
[2026-10-20 20:58:56,521.521 INFO    ] Checking for camera pi updates...
[2026-10-20 20:58:56,556.556 INFO    ] 200
[2026-10-20 20:58:56,559.559 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:58:56,599.599 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:58:56,644.644 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:58:56,647.647 INFO    ] No camera update needed
[2026-10-20 20:58:56,649.649 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:58:56,652.652 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:58:56,657.657 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:58:56,662.662 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:58:58,700.700 INFO    ] ================================================
[2026-10-20 20:58:58,715.715 INFO    ] Launching Daemon at Tue Oct 20 20:58:58 IST 2026
[2026-10-20 20:58:58,726.726 INFO    ] ================================================
[2026-10-20 20:58:59,369.369 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:58:59
[2026-10-20 20:59:00,032.032 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:59:00,333.333 INFO    ] Initializing speech engine...
[2026-10-20 20:59:00,338.338 INFO    ] 2026-10-20 20:59:00
[2026-10-20 20:59:00,628.628 INFO    ] 2026-10-20 20:59:00
[2026-10-20 20:59:00,673.673 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:59:00,906.906 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:59:00,915.915 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:59:01,138.138 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:59:01,173.173 INFO    ] time= 20/10/2026 20:59:01
[2026-10-20 20:59:01,179.179 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:59:01,199.199 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:59:01,323.323 INFO    ] No existing commands found in stream
[2026-10-20 20:59:06,338.338 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:59:06,341.341 INFO    ] Waiting 2.44 seconds before fallback handling...
[2026-10-20 20:59:09,334.334 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 20:59:09,336.336 INFO    ] Checking for system updates...
[2026-10-20 20:59:09,373.373 INFO    ] 200
[2026-10-20 20:59:09,375.375 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:59:09,431.431 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:59:09,434.434 INFO    ] No update needed
[2026-10-20 20:59:09,436.436 INFO    ] Checking for camera pi updates...
[2026-10-20 20:59:09,469.469 INFO    ] 200
[2026-10-20 20:59:09,471.471 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:59:09,512.512 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:59:09,553.553 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:59:09,556.556 INFO    ] No camera update needed
[2026-10-20 20:59:09,558.558 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:59:09,561.561 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:59:09,566.566 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:59:09,571.571 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:59:11,611.611 INFO    ] ================================================
[2026-10-20 20:59:11,626.626 INFO    ] Launching Daemon at Tue Oct 20 20:59:11 IST 2026
[2026-10-20 20:59:11,636.636 INFO    ] ================================================
[2026-10-20 20:59:12,268.268 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:59:12
[2026-10-20 20:59:12,917.917 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:59:13,214.214 INFO    ] Initializing speech engine...
[2026-10-20 20:59:13,222.222 INFO    ] 2026-10-20 20:59:13
[2026-10-20 20:59:13,489.489 INFO    ] 2026-10-20 20:59:13
[2026-10-20 20:59:13,549.549 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:59:13,841.841 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:59:13,850.850 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:59:14,039.039 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:59:14,057.057 INFO    ] time= 20/10/2026 20:59:14
[2026-10-20 20:59:14,075.075 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:59:14,088.088 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:59:14,216.216 INFO    ] No existing commands found in stream
[2026-10-20 20:59:19,232.232 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:59:19,235.235 INFO    ] Waiting 0.48 seconds before fallback handling...
[2026-10-20 20:59:20,284.284 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 20:59:20,287.287 INFO    ] Checking for system updates...
[2026-10-20 20:59:20,322.322 INFO    ] 200
[2026-10-20 20:59:20,325.325 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:59:20,382.382 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:59:20,384.384 INFO    ] No update needed
[2026-10-20 20:59:20,387.387 INFO    ] Checking for camera pi updates...
[2026-10-20 20:59:20,420.420 INFO    ] 200
[2026-10-20 20:59:20,422.422 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:59:20,465.465 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:59:20,511.511 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:59:20,513.513 INFO    ] No camera update needed
[2026-10-20 20:59:20,515.515 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:59:20,517.517 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:59:20,523.523 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:59:20,528.528 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:59:22,567.567 INFO    ] ================================================
[2026-10-20 20:59:22,582.582 INFO    ] Launching Daemon at Tue Oct 20 20:59:22 IST 2026
[2026-10-20 20:59:22,592.592 INFO    ] ================================================
[2026-10-20 20:59:23,220.220 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:59:23
[2026-10-20 20:59:23,872.872 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:59:24,167.167 INFO    ] Initializing speech engine...
[2026-10-20 20:59:24,175.175 INFO    ] 2026-10-20 20:59:24
[2026-10-20 20:59:24,443.443 INFO    ] 2026-10-20 20:59:24
[2026-10-20 20:59:24,499.499 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:59:24,729.729 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:59:24,734.734 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:59:24,966.966 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:59:24,993.993 INFO    ] time= 20/10/2026 20:59:24
[2026-10-20 20:59:25,009.009 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:59:25,019.019 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:59:25,147.147 INFO    ] No existing commands found in stream
[2026-10-20 20:59:30,171.171 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:59:30,174.174 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-10-20 20:59:31,810.810 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:59:31,813.813 INFO    ] Checking for system updates...
[2026-10-20 20:59:31,850.850 INFO    ] 200
[2026-10-20 20:59:31,852.852 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:59:31,906.906 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:59:31,909.909 INFO    ] No update needed
[2026-10-20 20:59:31,912.912 INFO    ] Checking for camera pi updates...
[2026-10-20 20:59:31,947.947 INFO    ] 200
[2026-10-20 20:59:31,950.950 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:59:32,000.000 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:59:32,034.034 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:59:32,037.037 INFO    ] No camera update needed
[2026-10-20 20:59:32,040.040 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:59:32,043.043 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:59:32,049.049 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:59:32,056.056 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:59:34,097.097 INFO    ] ================================================
[2026-10-20 20:59:34,112.112 INFO    ] Launching Daemon at Tue Oct 20 20:59:34 IST 2026
[2026-10-20 20:59:34,123.123 INFO    ] ================================================
[2026-10-20 20:59:34,708.708 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:59:34
[2026-10-20 20:59:35,305.305 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:59:35,585.585 INFO    ] Initializing speech engine...
[2026-10-20 20:59:35,599.599 INFO    ] 2026-10-20 20:59:35
[2026-10-20 20:59:35,863.863 INFO    ] 2026-10-20 20:59:35
[2026-10-20 20:59:35,901.901 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:59:36,120.120 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:59:36,170.170 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:59:36,343.343 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:59:36,382.382 INFO    ] time= 20/10/2026 20:59:36
[2026-10-20 20:59:36,431.431 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:59:36,487.487 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:59:36,655.655 INFO    ] No existing commands found in stream
[2026-10-20 20:59:41,674.674 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:59:41,677.677 INFO    ] Waiting 1.65 seconds before fallback handling...
[2026-10-20 20:59:43,874.874 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 20:59:43,876.876 INFO    ] Checking for system updates...
[2026-10-20 20:59:43,912.912 INFO    ] 200
[2026-10-20 20:59:43,915.915 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:59:43,970.970 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:59:43,972.972 INFO    ] No update needed
[2026-10-20 20:59:43,974.974 INFO    ] Checking for camera pi updates...
[2026-10-20 20:59:44,011.011 INFO    ] 200
[2026-10-20 20:59:44,014.014 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:59:44,053.053 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:59:44,197.197 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:59:44,199.199 INFO    ] No camera update needed
[2026-10-20 20:59:44,202.202 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:59:44,204.204 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:59:44,210.210 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:59:44,215.215 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:59:46,254.254 INFO    ] ================================================
[2026-10-20 20:59:46,269.269 INFO    ] Launching Daemon at Tue Oct 20 20:59:46 IST 2026
[2026-10-20 20:59:46,280.280 INFO    ] ================================================
[2026-10-20 20:59:46,850.850 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:59:46
[2026-10-20 20:59:47,439.439 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:59:47,692.692 INFO    ] Initializing speech engine...
[2026-10-20 20:59:47,699.699 INFO    ] 2026-10-20 20:59:47
[2026-10-20 20:59:47,990.990 INFO    ] 2026-10-20 20:59:47
[2026-10-20 20:59:48,027.027 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 20:59:48,247.247 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 20:59:48,311.311 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 20:59:48,466.466 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 20:59:48,483.483 INFO    ] time= 20/10/2026 20:59:48
[2026-10-20 20:59:48,533.533 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 20:59:48,576.576 INFO    ] Checking for existing commands in stream...
[2026-10-20 20:59:48,729.729 INFO    ] No existing commands found in stream
[2026-10-20 20:59:53,755.755 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 20:59:53,758.758 INFO    ] Waiting 1.49 seconds before fallback handling...
[2026-10-20 20:59:55,819.819 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 20:59:55,822.822 INFO    ] Checking for system updates...
[2026-10-20 20:59:55,858.858 INFO    ] 200
[2026-10-20 20:59:55,861.861 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:59:55,914.914 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 20:59:55,916.916 INFO    ] No update needed
[2026-10-20 20:59:55,919.919 INFO    ] Checking for camera pi updates...
[2026-10-20 20:59:55,954.954 INFO    ] 200
[2026-10-20 20:59:55,956.956 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 20:59:55,997.997 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 20:59:56,048.048 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 20:59:56,051.051 INFO    ] No camera update needed
[2026-10-20 20:59:56,054.054 INFO    ] Script finished. Safe exiting...
[2026-10-20 20:59:56,056.056 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 20:59:56,062.062 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 20:59:56,067.067 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 20:59:58,108.108 INFO    ] ================================================
[2026-10-20 20:59:58,123.123 INFO    ] Launching Daemon at Tue Oct 20 20:59:58 IST 2026
[2026-10-20 20:59:58,133.133 INFO    ] ================================================
[2026-10-20 20:59:58,700.700 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 20:59:58
[2026-10-20 20:59:59,281.281 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 20:59:59,545.545 INFO    ] Initializing speech engine...
[2026-10-20 20:59:59,557.557 INFO    ] 2026-10-20 20:59:59
[2026-10-20 20:59:59,807.807 INFO    ] 2026-10-20 20:59:59
[2026-10-20 20:59:59,843.843 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:00:00,124.124 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:00:00,134.134 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:00:00,320.320 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:00:00,375.375 INFO    ] time= 20/10/2026 21:00:00
[2026-10-20 21:00:00,424.424 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:00:00,432.432 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:00:00,557.557 INFO    ] No existing commands found in stream
[2026-10-20 21:00:05,602.602 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:00:05,606.606 INFO    ] Waiting 3.05 seconds before fallback handling...
[2026-10-20 21:00:09,470.470 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:00:09,473.473 INFO    ] Checking for system updates...
[2026-10-20 21:00:09,512.512 INFO    ] 200
[2026-10-20 21:00:09,514.514 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:00:09,565.565 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:00:09,568.568 INFO    ] No update needed
[2026-10-20 21:00:09,570.570 INFO    ] Checking for camera pi updates...
[2026-10-20 21:00:09,604.604 INFO    ] 200
[2026-10-20 21:00:09,606.606 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:00:09,646.646 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:00:09,708.708 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:00:09,711.711 INFO    ] No camera update needed
[2026-10-20 21:00:09,713.713 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:00:09,715.715 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:00:09,721.721 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:00:09,726.726 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:00:11,769.769 INFO    ] ================================================
[2026-10-20 21:00:11,785.785 INFO    ] Launching Daemon at Tue Oct 20 21:00:11 IST 2026
[2026-10-20 21:00:11,795.795 INFO    ] ================================================
[2026-10-20 21:00:12,371.371 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:00:12
[2026-10-20 21:00:12,970.970 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:00:13,231.231 INFO    ] Initializing speech engine...
[2026-10-20 21:00:13,240.240 INFO    ] 2026-10-20 21:00:13
[2026-10-20 21:00:13,538.538 INFO    ] 2026-10-20 21:00:13
[2026-10-20 21:00:13,573.573 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:00:13,776.776 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:00:13,783.783 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:00:13,957.957 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:00:13,967.967 INFO    ] time= 20/10/2026 21:00:13
[2026-10-20 21:00:13,974.974 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:00:14,006.006 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:00:14,155.155 INFO    ] No existing commands found in stream
[2026-10-20 21:00:19,186.186 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:00:19,189.189 INFO    ] Waiting 1.76 seconds before fallback handling...
[2026-10-20 21:00:21,465.465 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:00:21,467.467 INFO    ] Checking for system updates...
[2026-10-20 21:00:21,503.503 INFO    ] 200
[2026-10-20 21:00:21,506.506 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:00:21,557.557 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:00:21,560.560 INFO    ] No update needed
[2026-10-20 21:00:21,562.562 INFO    ] Checking for camera pi updates...
[2026-10-20 21:00:21,595.595 INFO    ] 200
[2026-10-20 21:00:21,598.598 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:00:21,640.640 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:00:21,689.689 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:00:21,692.692 INFO    ] No camera update needed
[2026-10-20 21:00:21,694.694 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:00:21,697.697 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:00:21,702.702 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:00:21,707.707 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:00:23,747.747 INFO    ] ================================================
[2026-10-20 21:00:23,762.762 INFO    ] Launching Daemon at Tue Oct 20 21:00:23 IST 2026
[2026-10-20 21:00:23,772.772 INFO    ] ================================================
[2026-10-20 21:00:24,337.337 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:00:24
[2026-10-20 21:00:24,921.921 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:00:25,183.183 INFO    ] Initializing speech engine...
[2026-10-20 21:00:25,208.208 INFO    ] 2026-10-20 21:00:25
[2026-10-20 21:00:25,481.481 INFO    ] 2026-10-20 21:00:25
[2026-10-20 21:00:25,521.521 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:00:25,747.747 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:00:25,788.788 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:00:25,974.974 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:00:25,996.996 INFO    ] time= 20/10/2026 21:00:25
[2026-10-20 21:00:26,045.045 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:00:26,094.094 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:00:26,262.262 INFO    ] No existing commands found in stream
[2026-10-20 21:00:31,291.291 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:00:31,294.294 INFO    ] Waiting 0.59 seconds before fallback handling...
[2026-10-20 21:00:32,445.445 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 21:00:32,449.449 INFO    ] Checking for system updates...
[2026-10-20 21:00:32,488.488 INFO    ] 200
[2026-10-20 21:00:32,491.491 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:00:32,542.542 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:00:32,545.545 INFO    ] No update needed
[2026-10-20 21:00:32,547.547 INFO    ] Checking for camera pi updates...
[2026-10-20 21:00:32,581.581 INFO    ] 200
[2026-10-20 21:00:32,583.583 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:00:32,629.629 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:00:32,663.663 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:00:32,666.666 INFO    ] No camera update needed
[2026-10-20 21:00:32,668.668 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:00:32,671.671 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:00:32,676.676 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:00:32,682.682 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:00:34,722.722 INFO    ] ================================================
[2026-10-20 21:00:34,737.737 INFO    ] Launching Daemon at Tue Oct 20 21:00:34 IST 2026
[2026-10-20 21:00:34,748.748 INFO    ] ================================================
[2026-10-20 21:00:35,331.331 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:00:35
[2026-10-20 21:00:35,934.934 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:00:36,213.213 INFO    ] Initializing speech engine...
[2026-10-20 21:00:36,222.222 INFO    ] 2026-10-20 21:00:36
[2026-10-20 21:00:36,481.481 INFO    ] 2026-10-20 21:00:36
[2026-10-20 21:00:36,532.532 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:00:36,783.783 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:00:36,790.790 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:00:37,018.018 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:00:37,025.025 INFO    ] time= 20/10/2026 21:00:37
[2026-10-20 21:00:37,043.043 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:00:37,072.072 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:00:37,202.202 INFO    ] No existing commands found in stream
[2026-10-20 21:00:42,233.233 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:00:42,236.236 INFO    ] Waiting 3.57 seconds before fallback handling...
[2026-10-20 21:00:46,302.302 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:00:46,305.305 INFO    ] Checking for system updates...
[2026-10-20 21:00:46,341.341 INFO    ] 200
[2026-10-20 21:00:46,344.344 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:00:46,404.404 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:00:46,407.407 INFO    ] No update needed
[2026-10-20 21:00:46,410.410 INFO    ] Checking for camera pi updates...
[2026-10-20 21:00:46,445.445 INFO    ] 200
[2026-10-20 21:00:46,448.448 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:00:46,489.489 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:00:46,586.586 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:00:46,589.589 INFO    ] No camera update needed
[2026-10-20 21:00:46,591.591 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:00:46,593.593 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:00:46,599.599 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:00:46,604.604 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:00:48,642.642 INFO    ] ================================================
[2026-10-20 21:00:48,658.658 INFO    ] Launching Daemon at Tue Oct 20 21:00:48 IST 2026
[2026-10-20 21:00:48,669.669 INFO    ] ================================================
[2026-10-20 21:00:49,259.259 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:00:49
[2026-10-20 21:00:49,848.848 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:00:50,168.168 INFO    ] Initializing speech engine...
[2026-10-20 21:00:50,181.181 INFO    ] 2026-10-20 21:00:50
[2026-10-20 21:00:50,454.454 INFO    ] 2026-10-20 21:00:50
[2026-10-20 21:00:50,494.494 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:00:50,737.737 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:00:50,751.751 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:00:50,976.976 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:00:50,990.990 INFO    ] time= 20/10/2026 21:00:50
[2026-10-20 21:00:51,046.046 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:00:51,095.095 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:00:51,203.203 INFO    ] No existing commands found in stream
[2026-10-20 21:00:56,215.215 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:00:56,217.217 INFO    ] Waiting 0.50 seconds before fallback handling...
[2026-10-20 21:00:57,204.204 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:00:57,207.207 INFO    ] Checking for system updates...
[2026-10-20 21:00:57,243.243 INFO    ] 200
[2026-10-20 21:00:57,246.246 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:00:57,299.299 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:00:57,302.302 INFO    ] No update needed
[2026-10-20 21:00:57,304.304 INFO    ] Checking for camera pi updates...
[2026-10-20 21:00:57,338.338 INFO    ] 200
[2026-10-20 21:00:57,340.340 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:00:57,380.380 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:00:57,430.430 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:00:57,433.433 INFO    ] No camera update needed
[2026-10-20 21:00:57,435.435 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:00:57,437.437 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:00:57,443.443 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:00:57,448.448 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:00:59,489.489 INFO    ] ================================================
[2026-10-20 21:00:59,504.504 INFO    ] Launching Daemon at Tue Oct 20 21:00:59 IST 2026
[2026-10-20 21:00:59,515.515 INFO    ] ================================================
[2026-10-20 21:01:00,157.157 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:01:00
[2026-10-20 21:01:00,810.810 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:01:01,109.109 INFO    ] Initializing speech engine...
[2026-10-20 21:01:01,126.126 INFO    ] 2026-10-20 21:01:01
[2026-10-20 21:01:01,566.566 INFO    ] 2026-10-20 21:01:01
[2026-10-20 21:01:01,629.629 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:01:01,944.944 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:01:01,954.954 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:01:02,163.163 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:01:02,181.181 INFO    ] time= 20/10/2026 21:01:02
[2026-10-20 21:01:02,200.200 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:01:02,209.209 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:01:02,361.361 INFO    ] No existing commands found in stream
[2026-10-20 21:01:07,392.392 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:01:07,394.394 INFO    ] Waiting 3.57 seconds before fallback handling...
[2026-10-20 21:01:11,468.468 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:01:11,471.471 INFO    ] Checking for system updates...
[2026-10-20 21:01:11,510.510 INFO    ] 200
[2026-10-20 21:01:11,512.512 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:01:11,577.577 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:01:11,579.579 INFO    ] No update needed
[2026-10-20 21:01:11,582.582 INFO    ] Checking for camera pi updates...
[2026-10-20 21:01:11,617.617 INFO    ] 200
[2026-10-20 21:01:11,620.620 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:01:11,662.662 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:01:11,711.711 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:01:11,714.714 INFO    ] No camera update needed
[2026-10-20 21:01:11,716.716 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:01:11,719.719 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:01:11,725.725 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:01:11,731.731 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:01:13,770.770 INFO    ] ================================================
[2026-10-20 21:01:13,786.786 INFO    ] Launching Daemon at Tue Oct 20 21:01:13 IST 2026
[2026-10-20 21:01:13,796.796 INFO    ] ================================================
[2026-10-20 21:01:14,362.362 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:01:14
[2026-10-20 21:01:14,946.946 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:01:15,207.207 INFO    ] Initializing speech engine...
[2026-10-20 21:01:15,227.227 INFO    ] 2026-10-20 21:01:15
[2026-10-20 21:01:15,477.477 INFO    ] 2026-10-20 21:01:15
[2026-10-20 21:01:15,511.511 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:01:15,714.714 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:01:15,770.770 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:01:15,915.915 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:01:15,959.959 INFO    ] time= 20/10/2026 21:01:15
[2026-10-20 21:01:16,013.013 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:01:16,054.054 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:01:16,196.196 INFO    ] No existing commands found in stream
[2026-10-20 21:01:21,216.216 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:01:21,219.219 INFO    ] Waiting 3.12 seconds before fallback handling...
[2026-10-20 21:01:24,842.842 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 21:01:24,845.845 INFO    ] Checking for system updates...
[2026-10-20 21:01:24,884.884 INFO    ] 200
[2026-10-20 21:01:24,886.886 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:01:24,944.944 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:01:24,946.946 INFO    ] No update needed
[2026-10-20 21:01:24,948.948 INFO    ] Checking for camera pi updates...
[2026-10-20 21:01:24,982.982 INFO    ] 200
[2026-10-20 21:01:24,985.985 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:01:25,025.025 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:01:25,076.076 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:01:25,078.078 INFO    ] No camera update needed
[2026-10-20 21:01:25,081.081 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:01:25,083.083 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:01:25,088.088 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:01:25,093.093 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:01:27,132.132 INFO    ] ================================================
[2026-10-20 21:01:27,147.147 INFO    ] Launching Daemon at Tue Oct 20 21:01:27 IST 2026
[2026-10-20 21:01:27,158.158 INFO    ] ================================================
[2026-10-20 21:01:27,737.737 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:01:27
[2026-10-20 21:01:28,318.318 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:01:28,575.575 INFO    ] Initializing speech engine...
[2026-10-20 21:01:28,600.600 INFO    ] 2026-10-20 21:01:28
[2026-10-20 21:01:28,874.874 INFO    ] 2026-10-20 21:01:28
[2026-10-20 21:01:28,909.909 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:01:29,108.108 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:01:29,113.113 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:01:29,290.290 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:01:29,299.299 INFO    ] time= 20/10/2026 21:01:29
[2026-10-20 21:01:29,306.306 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:01:29,331.331 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:01:29,492.492 INFO    ] No existing commands found in stream
[2026-10-20 21:01:34,517.517 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:01:34,520.520 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-10-20 21:01:38,678.678 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 21:01:38,681.681 INFO    ] Checking for system updates...
[2026-10-20 21:01:38,716.716 INFO    ] 200
[2026-10-20 21:01:38,719.719 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:01:38,772.772 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:01:38,774.774 INFO    ] No update needed
[2026-10-20 21:01:38,776.776 INFO    ] Checking for camera pi updates...
[2026-10-20 21:01:38,810.810 INFO    ] 200
[2026-10-20 21:01:38,812.812 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:01:38,853.853 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:01:38,911.911 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:01:38,913.913 INFO    ] No camera update needed
[2026-10-20 21:01:38,915.915 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:01:38,918.918 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:01:38,923.923 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:01:38,928.928 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:01:40,967.967 INFO    ] ================================================
[2026-10-20 21:01:40,982.982 INFO    ] Launching Daemon at Tue Oct 20 21:01:40 IST 2026
[2026-10-20 21:01:40,994.994 INFO    ] ================================================
[2026-10-20 21:01:41,563.563 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:01:41
[2026-10-20 21:01:42,149.149 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:01:42,416.416 INFO    ] Initializing speech engine...
[2026-10-20 21:01:42,424.424 INFO    ] 2026-10-20 21:01:42
[2026-10-20 21:01:42,671.671 INFO    ] 2026-10-20 21:01:42
[2026-10-20 21:01:42,706.706 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:01:42,957.957 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:01:42,967.967 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:01:43,152.152 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:01:43,206.206 INFO    ] time= 20/10/2026 21:01:43
[2026-10-20 21:01:43,227.227 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:01:43,233.233 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:01:43,382.382 INFO    ] No existing commands found in stream
[2026-10-20 21:01:48,413.413 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:01:48,415.415 INFO    ] Waiting 2.67 seconds before fallback handling...
[2026-10-20 21:01:51,596.596 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:01:51,599.599 INFO    ] Checking for system updates...
[2026-10-20 21:01:51,635.635 INFO    ] 200
[2026-10-20 21:01:51,637.637 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:01:51,703.703 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:01:51,705.705 INFO    ] No update needed
[2026-10-20 21:01:51,708.708 INFO    ] Checking for camera pi updates...
[2026-10-20 21:01:51,744.744 INFO    ] 200
[2026-10-20 21:01:51,746.746 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:01:51,786.786 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:01:51,932.932 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:01:51,934.934 INFO    ] No camera update needed
[2026-10-20 21:01:51,937.937 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:01:51,939.939 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:01:51,944.944 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:01:51,949.949 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:01:53,991.991 INFO    ] ================================================
[2026-10-20 21:01:54,007.007 INFO    ] Launching Daemon at Tue Oct 20 21:01:54 IST 2026
[2026-10-20 21:01:54,018.018 INFO    ] ================================================
[2026-10-20 21:01:54,583.583 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:01:54
[2026-10-20 21:01:55,165.165 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:01:55,434.434 INFO    ] Initializing speech engine...
[2026-10-20 21:01:55,443.443 INFO    ] 2026-10-20 21:01:55
[2026-10-20 21:01:55,704.704 INFO    ] 2026-10-20 21:01:55
[2026-10-20 21:01:55,740.740 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:01:55,929.929 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:01:55,970.970 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:01:56,129.129 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:01:56,190.190 INFO    ] time= 20/10/2026 21:01:56
[2026-10-20 21:01:56,234.234 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:01:56,261.261 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:01:56,393.393 INFO    ] No existing commands found in stream
[2026-10-20 21:02:01,420.420 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:02:01,424.424 INFO    ] Waiting 2.67 seconds before fallback handling...
[2026-10-20 21:02:04,647.647 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:02:04,650.650 INFO    ] Checking for system updates...
[2026-10-20 21:02:04,686.686 INFO    ] 200
[2026-10-20 21:02:04,688.688 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:02:04,743.743 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:02:04,746.746 INFO    ] No update needed
[2026-10-20 21:02:04,748.748 INFO    ] Checking for camera pi updates...
[2026-10-20 21:02:04,784.784 INFO    ] 200
[2026-10-20 21:02:04,786.786 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:02:04,831.831 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:02:04,877.877 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:02:04,880.880 INFO    ] No camera update needed
[2026-10-20 21:02:04,883.883 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:02:04,885.885 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:02:04,892.892 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:02:04,897.897 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:02:06,941.941 INFO    ] ================================================
[2026-10-20 21:02:06,957.957 INFO    ] Launching Daemon at Tue Oct 20 21:02:06 IST 2026
[2026-10-20 21:02:06,967.967 INFO    ] ================================================
[2026-10-20 21:02:07,552.552 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:02:07
[2026-10-20 21:02:08,150.150 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:02:08,422.422 INFO    ] Initializing speech engine...
[2026-10-20 21:02:08,430.430 INFO    ] 2026-10-20 21:02:08
[2026-10-20 21:02:08,683.683 INFO    ] 2026-10-20 21:02:08
[2026-10-20 21:02:08,719.719 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:02:08,920.920 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:02:08,971.971 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:02:09,122.122 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:02:09,162.162 INFO    ] time= 20/10/2026 21:02:09
[2026-10-20 21:02:09,216.216 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:02:09,256.256 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:02:09,387.387 INFO    ] No existing commands found in stream
[2026-10-20 21:02:14,415.415 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:02:14,418.418 INFO    ] Waiting 2.55 seconds before fallback handling...
[2026-10-20 21:02:17,481.481 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 21:02:17,484.484 INFO    ] Checking for system updates...
[2026-10-20 21:02:17,520.520 INFO    ] 200
[2026-10-20 21:02:17,522.522 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:02:17,580.580 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:02:17,583.583 INFO    ] No update needed
[2026-10-20 21:02:17,585.585 INFO    ] Checking for camera pi updates...
[2026-10-20 21:02:17,622.622 INFO    ] 200
[2026-10-20 21:02:17,624.624 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:02:17,664.664 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:02:17,711.711 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:02:17,713.713 INFO    ] No camera update needed
[2026-10-20 21:02:17,715.715 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:02:17,718.718 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:02:17,723.723 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:02:17,728.728 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:02:19,770.770 INFO    ] ================================================
[2026-10-20 21:02:19,785.785 INFO    ] Launching Daemon at Tue Oct 20 21:02:19 IST 2026
[2026-10-20 21:02:19,796.796 INFO    ] ================================================
[2026-10-20 21:02:20,368.368 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:02:20
[2026-10-20 21:02:20,958.958 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:02:21,205.205 INFO    ] Initializing speech engine...
[2026-10-20 21:02:21,211.211 INFO    ] 2026-10-20 21:02:21
[2026-10-20 21:02:21,491.491 INFO    ] 2026-10-20 21:02:21
[2026-10-20 21:02:21,526.526 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:02:21,729.729 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:02:21,781.781 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:02:21,930.930 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:02:21,973.973 INFO    ] time= 20/10/2026 21:02:21
[2026-10-20 21:02:22,027.027 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:02:22,066.066 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:02:22,181.181 INFO    ] No existing commands found in stream
[2026-10-20 21:02:27,198.198 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:02:27,201.201 INFO    ] Waiting 0.49 seconds before fallback handling...
[2026-10-20 21:02:28,239.239 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 21:02:28,241.241 INFO    ] Checking for system updates...
[2026-10-20 21:02:28,277.277 INFO    ] 200
[2026-10-20 21:02:28,279.279 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:02:28,337.337 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:02:28,340.340 INFO    ] No update needed
[2026-10-20 21:02:28,342.342 INFO    ] Checking for camera pi updates...
[2026-10-20 21:02:28,379.379 INFO    ] 200
[2026-10-20 21:02:28,381.381 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:02:28,422.422 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:02:28,476.476 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:02:28,479.479 INFO    ] No camera update needed
[2026-10-20 21:02:28,481.481 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:02:28,483.483 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:02:28,489.489 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:02:28,494.494 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:02:30,536.536 INFO    ] ================================================
[2026-10-20 21:02:30,552.552 INFO    ] Launching Daemon at Tue Oct 20 21:02:30 IST 2026
[2026-10-20 21:02:30,563.563 INFO    ] ================================================
[2026-10-20 21:02:31,139.139 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:02:31
[2026-10-20 21:02:31,769.769 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:02:32,072.072 INFO    ] Initializing speech engine...
[2026-10-20 21:02:32,082.082 INFO    ] 2026-10-20 21:02:32
[2026-10-20 21:02:32,349.349 INFO    ] 2026-10-20 21:02:32
[2026-10-20 21:02:32,384.384 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:02:32,652.652 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:02:32,662.662 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:02:32,807.807 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:02:32,862.862 INFO    ] time= 20/10/2026 21:02:32
[2026-10-20 21:02:32,917.917 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:02:32,939.939 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:02:33,093.093 INFO    ] No existing commands found in stream
[2026-10-20 21:02:38,119.119 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:02:38,122.122 INFO    ] Waiting 1.32 seconds before fallback handling...
[2026-10-20 21:02:39,980.980 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 21:02:39,983.983 INFO    ] Checking for system updates...
[2026-10-20 21:02:40,020.020 INFO    ] 200
[2026-10-20 21:02:40,023.023 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:02:40,077.077 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:02:40,080.080 INFO    ] No update needed
[2026-10-20 21:02:40,083.083 INFO    ] Checking for camera pi updates...
[2026-10-20 21:02:40,119.119 INFO    ] 200
[2026-10-20 21:02:40,122.122 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:02:40,164.164 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:02:40,208.208 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:02:40,211.211 INFO    ] No camera update needed
[2026-10-20 21:02:40,214.214 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:02:40,217.217 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:02:40,223.223 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:02:40,229.229 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:02:42,271.271 INFO    ] ================================================
[2026-10-20 21:02:42,286.286 INFO    ] Launching Daemon at Tue Oct 20 21:02:42 IST 2026
[2026-10-20 21:02:42,297.297 INFO    ] ================================================
[2026-10-20 21:02:42,862.862 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:02:42
[2026-10-20 21:02:43,453.453 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:02:43,702.702 INFO    ] Initializing speech engine...
[2026-10-20 21:02:43,724.724 INFO    ] 2026-10-20 21:02:43
[2026-10-20 21:02:43,976.976 INFO    ] 2026-10-20 21:02:43
[2026-10-20 21:02:44,011.011 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:02:44,263.263 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:02:44,272.272 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:02:44,442.442 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:02:44,502.502 INFO    ] time= 20/10/2026 21:02:44
[2026-10-20 21:02:44,534.534 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:02:44,551.551 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:02:44,680.680 INFO    ] No existing commands found in stream
[2026-10-20 21:02:49,696.696 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:02:49,699.699 INFO    ] Waiting 2.12 seconds before fallback handling...
[2026-10-20 21:02:52,367.367 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:02:52,370.370 INFO    ] Checking for system updates...
[2026-10-20 21:02:52,410.410 INFO    ] 200
[2026-10-20 21:02:52,412.412 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:02:52,465.465 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:02:52,467.467 INFO    ] No update needed
[2026-10-20 21:02:52,470.470 INFO    ] Checking for camera pi updates...
[2026-10-20 21:02:52,508.508 INFO    ] 200
[2026-10-20 21:02:52,510.510 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:02:52,556.556 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:02:52,602.602 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:02:52,605.605 INFO    ] No camera update needed
[2026-10-20 21:02:52,607.607 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:02:52,609.609 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:02:52,615.615 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:02:52,621.621 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:02:54,661.661 INFO    ] ================================================
[2026-10-20 21:02:54,677.677 INFO    ] Launching Daemon at Tue Oct 20 21:02:54 IST 2026
[2026-10-20 21:02:54,687.687 INFO    ] ================================================
[2026-10-20 21:02:55,271.271 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:02:55
[2026-10-20 21:02:55,870.870 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:02:56,149.149 INFO    ] Initializing speech engine...
[2026-10-20 21:02:56,156.156 INFO    ] 2026-10-20 21:02:56
[2026-10-20 21:02:56,417.417 INFO    ] 2026-10-20 21:02:56
[2026-10-20 21:02:56,471.471 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:02:56,754.754 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:02:56,761.761 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:02:56,956.956 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:02:56,963.963 INFO    ] time= 20/10/2026 21:02:56
[2026-10-20 21:02:56,982.982 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:02:57,010.010 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:02:57,136.136 INFO    ] No existing commands found in stream
[2026-10-20 21:03:02,166.166 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:03:02,170.170 INFO    ] Waiting 0.12 seconds before fallback handling...
[2026-10-20 21:03:02,797.797 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:03:02,801.801 INFO    ] Checking for system updates...
[2026-10-20 21:03:02,847.847 INFO    ] 200
[2026-10-20 21:03:02,850.850 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:03:02,919.919 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:03:02,921.921 INFO    ] No update needed
[2026-10-20 21:03:02,924.924 INFO    ] Checking for camera pi updates...
[2026-10-20 21:03:02,973.973 INFO    ] 200
[2026-10-20 21:03:02,977.977 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:03:03,040.040 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:03:03,093.093 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:03:03,098.098 INFO    ] No camera update needed
[2026-10-20 21:03:03,102.102 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:03:03,105.105 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:03:03,113.113 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:03:03,120.120 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:03:05,163.163 INFO    ] ================================================
[2026-10-20 21:03:05,179.179 INFO    ] Launching Daemon at Tue Oct 20 21:03:05 IST 2026
[2026-10-20 21:03:05,189.189 INFO    ] ================================================
[2026-10-20 21:03:05,856.856 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:03:05
[2026-10-20 21:03:06,544.544 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:03:06,856.856 INFO    ] Initializing speech engine...
[2026-10-20 21:03:06,864.864 INFO    ] 2026-10-20 21:03:06
[2026-10-20 21:03:07,147.147 INFO    ] 2026-10-20 21:03:07
[2026-10-20 21:03:07,206.206 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:03:07,440.440 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:03:07,463.463 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:03:07,690.690 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:03:07,716.716 INFO    ] time= 20/10/2026 21:03:07
[2026-10-20 21:03:07,735.735 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:03:07,753.753 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:03:07,880.880 INFO    ] No existing commands found in stream
[2026-10-20 21:03:12,917.917 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:03:12,921.921 INFO    ] Waiting 3.33 seconds before fallback handling...
[2026-10-20 21:03:16,803.803 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:03:16,806.806 INFO    ] Checking for system updates...
[2026-10-20 21:03:16,848.848 INFO    ] 200
[2026-10-20 21:03:16,851.851 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:03:16,916.916 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:03:16,919.919 INFO    ] No update needed
[2026-10-20 21:03:16,922.922 INFO    ] Checking for camera pi updates...
[2026-10-20 21:03:16,957.957 INFO    ] 200
[2026-10-20 21:03:16,960.960 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:03:17,002.002 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:03:17,051.051 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:03:17,054.054 INFO    ] No camera update needed
[2026-10-20 21:03:17,057.057 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:03:17,060.060 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:03:17,066.066 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:03:17,076.076 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:03:19,118.118 INFO    ] ================================================
[2026-10-20 21:03:19,133.133 INFO    ] Launching Daemon at Tue Oct 20 21:03:19 IST 2026
[2026-10-20 21:03:19,144.144 INFO    ] ================================================
[2026-10-20 21:03:19,726.726 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:03:19
[2026-10-20 21:03:20,339.339 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:03:20,636.636 INFO    ] Initializing speech engine...
[2026-10-20 21:03:20,645.645 INFO    ] 2026-10-20 21:03:20
[2026-10-20 21:03:20,892.892 INFO    ] 2026-10-20 21:03:20
[2026-10-20 21:03:20,935.935 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:03:21,180.180 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:03:21,189.189 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:03:21,407.407 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:03:21,447.447 INFO    ] time= 20/10/2026 21:03:21
[2026-10-20 21:03:21,454.454 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:03:21,472.472 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:03:21,604.604 INFO    ] No existing commands found in stream
[2026-10-20 21:03:26,632.632 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:03:26,634.634 INFO    ] Waiting 1.52 seconds before fallback handling...
[2026-10-20 21:03:28,632.632 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:03:28,634.634 INFO    ] Checking for system updates...
[2026-10-20 21:03:28,670.670 INFO    ] 200
[2026-10-20 21:03:28,673.673 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:03:28,731.731 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:03:28,733.733 INFO    ] No update needed
[2026-10-20 21:03:28,736.736 INFO    ] Checking for camera pi updates...
[2026-10-20 21:03:28,769.769 INFO    ] 200
[2026-10-20 21:03:28,772.772 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:03:28,812.812 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:03:28,859.859 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:03:28,861.861 INFO    ] No camera update needed
[2026-10-20 21:03:28,864.864 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:03:28,866.866 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:03:28,872.872 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:03:28,877.877 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:03:30,917.917 INFO    ] ================================================
[2026-10-20 21:03:30,932.932 INFO    ] Launching Daemon at Tue Oct 20 21:03:30 IST 2026
[2026-10-20 21:03:30,943.943 INFO    ] ================================================
[2026-10-20 21:03:31,531.531 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:03:31
[2026-10-20 21:03:32,145.145 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:03:32,428.428 INFO    ] Initializing speech engine...
[2026-10-20 21:03:32,437.437 INFO    ] 2026-10-20 21:03:32
[2026-10-20 21:03:32,702.702 INFO    ] 2026-10-20 21:03:32
[2026-10-20 21:03:32,747.747 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:03:32,947.947 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:03:33,004.004 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:03:33,145.145 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:03:33,200.200 INFO    ] time= 20/10/2026 21:03:33
[2026-10-20 21:03:33,259.259 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:03:33,275.275 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:03:33,407.407 INFO    ] No existing commands found in stream
[2026-10-20 21:03:38,431.431 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:03:38,434.434 INFO    ] Waiting 3.93 seconds before fallback handling...
[2026-10-20 21:03:42,852.852 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:03:42,855.855 INFO    ] Checking for system updates...
[2026-10-20 21:03:42,891.891 INFO    ] 200
[2026-10-20 21:03:42,894.894 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:03:42,946.946 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:03:42,949.949 INFO    ] No update needed
[2026-10-20 21:03:42,951.951 INFO    ] Checking for camera pi updates...
[2026-10-20 21:03:42,989.989 INFO    ] 200
[2026-10-20 21:03:42,991.991 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:03:43,032.032 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:03:43,089.089 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:03:43,092.092 INFO    ] No camera update needed
[2026-10-20 21:03:43,094.094 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:03:43,096.096 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:03:43,102.102 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:03:43,107.107 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:03:45,150.150 INFO    ] ================================================
[2026-10-20 21:03:45,166.166 INFO    ] Launching Daemon at Tue Oct 20 21:03:45 IST 2026
[2026-10-20 21:03:45,177.177 INFO    ] ================================================
[2026-10-20 21:03:45,743.743 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:03:45
[2026-10-20 21:03:46,327.327 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:03:46,594.594 INFO    ] Initializing speech engine...
[2026-10-20 21:03:46,603.603 INFO    ] 2026-10-20 21:03:46
[2026-10-20 21:03:46,848.848 INFO    ] 2026-10-20 21:03:46
[2026-10-20 21:03:46,883.883 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:03:47,076.076 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:03:47,130.130 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:03:47,277.277 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:03:47,324.324 INFO    ] time= 20/10/2026 21:03:47
[2026-10-20 21:03:47,373.373 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:03:47,411.411 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:03:47,553.553 INFO    ] No existing commands found in stream
[2026-10-20 21:03:52,570.570 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:03:52,572.572 INFO    ] Waiting 0.35 seconds before fallback handling...
[2026-10-20 21:03:53,526.526 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 21:03:53,529.529 INFO    ] Checking for system updates...
[2026-10-20 21:03:53,565.565 INFO    ] 200
[2026-10-20 21:03:53,568.568 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:03:53,621.621 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:03:53,624.624 INFO    ] No update needed
[2026-10-20 21:03:53,627.627 INFO    ] Checking for camera pi updates...
[2026-10-20 21:03:53,660.660 INFO    ] 200
[2026-10-20 21:03:53,663.663 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:03:53,707.707 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:03:53,853.853 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:03:53,855.855 INFO    ] No camera update needed
[2026-10-20 21:03:53,857.857 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:03:53,860.860 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:03:53,865.865 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:03:53,870.870 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:03:55,910.910 INFO    ] ================================================
[2026-10-20 21:03:55,926.926 INFO    ] Launching Daemon at Tue Oct 20 21:03:55 IST 2026
[2026-10-20 21:03:55,937.937 INFO    ] ================================================
[2026-10-20 21:03:56,530.530 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:03:56
[2026-10-20 21:03:57,207.207 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:03:57,516.516 INFO    ] Initializing speech engine...
[2026-10-20 21:03:57,529.529 INFO    ] 2026-10-20 21:03:57
[2026-10-20 21:03:57,815.815 INFO    ] 2026-10-20 21:03:57
[2026-10-20 21:03:57,861.861 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:03:58,119.119 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:03:58,125.125 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:03:58,281.281 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:03:58,321.321 INFO    ] time= 20/10/2026 21:03:58
[2026-10-20 21:03:58,375.375 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:03:58,420.420 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:03:58,576.576 INFO    ] No existing commands found in stream
[2026-10-20 21:04:03,601.601 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:04:03,604.604 INFO    ] Waiting 3.98 seconds before fallback handling...
[2026-10-20 21:04:08,135.135 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:04:08,138.138 INFO    ] Checking for system updates...
[2026-10-20 21:04:08,173.173 INFO    ] 200
[2026-10-20 21:04:08,175.175 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:04:08,227.227 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:04:08,229.229 INFO    ] No update needed
[2026-10-20 21:04:08,238.238 INFO    ] Checking for camera pi updates...
[2026-10-20 21:04:08,273.273 INFO    ] 200
[2026-10-20 21:04:08,276.276 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:04:08,321.321 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:04:08,375.375 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:04:08,378.378 INFO    ] No camera update needed
[2026-10-20 21:04:08,380.380 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:04:08,382.382 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:04:08,388.388 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:04:08,393.393 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:04:10,432.432 INFO    ] ================================================
[2026-10-20 21:04:10,448.448 INFO    ] Launching Daemon at Tue Oct 20 21:04:10 IST 2026
[2026-10-20 21:04:10,459.459 INFO    ] ================================================
[2026-10-20 21:04:11,065.065 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:04:11
[2026-10-20 21:04:11,673.673 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:04:11,940.940 INFO    ] Initializing speech engine...
[2026-10-20 21:04:11,944.944 INFO    ] 2026-10-20 21:04:11
[2026-10-20 21:04:12,251.251 INFO    ] 2026-10-20 21:04:12
[2026-10-20 21:04:12,290.290 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:04:12,506.506 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:04:12,525.525 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:04:12,678.678 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:04:12,687.687 INFO    ] time= 20/10/2026 21:04:12
[2026-10-20 21:04:12,694.694 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:04:12,718.718 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:04:12,846.846 INFO    ] No existing commands found in stream
[2026-10-20 21:04:17,871.871 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:04:17,873.873 INFO    ] Waiting 1.00 seconds before fallback handling...
[2026-10-20 21:04:19,398.398 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:04:19,401.401 INFO    ] Checking for system updates...
[2026-10-20 21:04:19,438.438 INFO    ] 200
[2026-10-20 21:04:19,441.441 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:04:19,502.502 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:04:19,505.505 INFO    ] No update needed
[2026-10-20 21:04:19,507.507 INFO    ] Checking for camera pi updates...
[2026-10-20 21:04:19,543.543 INFO    ] 200
[2026-10-20 21:04:19,545.545 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:04:19,593.593 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:04:19,641.641 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:04:19,644.644 INFO    ] No camera update needed
[2026-10-20 21:04:19,647.647 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:04:19,650.650 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:04:19,656.656 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:04:19,662.662 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:04:21,704.704 INFO    ] ================================================
[2026-10-20 21:04:21,720.720 INFO    ] Launching Daemon at Tue Oct 20 21:04:21 IST 2026
[2026-10-20 21:04:21,731.731 INFO    ] ================================================
[2026-10-20 21:04:22,405.405 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:04:22
[2026-10-20 21:04:23,098.098 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:04:23,423.423 INFO    ] Initializing speech engine...
[2026-10-20 21:04:23,432.432 INFO    ] 2026-10-20 21:04:23
[2026-10-20 21:04:23,715.715 INFO    ] 2026-10-20 21:04:23
[2026-10-20 21:04:23,764.764 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:04:24,038.038 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:04:24,045.045 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:04:24,242.242 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:04:24,265.265 INFO    ] time= 20/10/2026 21:04:24
[2026-10-20 21:04:24,295.295 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:04:24,305.305 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:04:24,452.452 INFO    ] No existing commands found in stream
[2026-10-20 21:04:29,483.483 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:04:29,486.486 INFO    ] Waiting 3.28 seconds before fallback handling...
[2026-10-20 21:04:33,346.346 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 21:04:33,349.349 INFO    ] Checking for system updates...
[2026-10-20 21:04:33,388.388 INFO    ] 200
[2026-10-20 21:04:33,391.391 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:04:33,467.467 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:04:33,470.470 INFO    ] No update needed
[2026-10-20 21:04:33,473.473 INFO    ] Checking for camera pi updates...
[2026-10-20 21:04:33,509.509 INFO    ] 200
[2026-10-20 21:04:33,512.512 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:04:33,559.559 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:04:33,610.610 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:04:33,613.613 INFO    ] No camera update needed
[2026-10-20 21:04:33,616.616 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:04:33,619.619 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:04:33,625.625 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:04:33,631.631 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:04:35,674.674 INFO    ] ================================================
[2026-10-20 21:04:35,690.690 INFO    ] Launching Daemon at Tue Oct 20 21:04:35 IST 2026
[2026-10-20 21:04:35,702.702 INFO    ] ================================================
[2026-10-20 21:04:36,390.390 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:04:36
[2026-10-20 21:04:37,079.079 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:04:37,391.391 INFO    ] Initializing speech engine...
[2026-10-20 21:04:37,402.402 INFO    ] 2026-10-20 21:04:37
[2026-10-20 21:04:37,713.713 INFO    ] 2026-10-20 21:04:37
[2026-10-20 21:04:37,798.798 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:04:38,011.011 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:04:38,021.021 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:04:38,211.211 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:04:38,230.230 INFO    ] time= 20/10/2026 21:04:38
[2026-10-20 21:04:38,250.250 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:04:38,270.270 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:04:38,386.386 INFO    ] No existing commands found in stream
[2026-10-20 21:04:43,423.423 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:04:43,432.432 INFO    ] Waiting 3.47 seconds before fallback handling...
[2026-10-20 21:04:47,427.427 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:04:47,430.430 INFO    ] Checking for system updates...
[2026-10-20 21:04:47,469.469 INFO    ] 200
[2026-10-20 21:04:47,472.472 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:04:47,525.525 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:04:47,528.528 INFO    ] No update needed
[2026-10-20 21:04:47,531.531 INFO    ] Checking for camera pi updates...
[2026-10-20 21:04:47,566.566 INFO    ] 200
[2026-10-20 21:04:47,569.569 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:04:47,612.612 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:04:47,658.658 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:04:47,661.661 INFO    ] No camera update needed
[2026-10-20 21:04:47,664.664 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:04:47,667.667 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:04:47,673.673 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:04:47,679.679 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:04:49,720.720 INFO    ] ================================================
[2026-10-20 21:04:49,736.736 INFO    ] Launching Daemon at Tue Oct 20 21:04:49 IST 2026
[2026-10-20 21:04:49,746.746 INFO    ] ================================================
[2026-10-20 21:04:50,312.312 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:04:50
[2026-10-20 21:04:50,897.897 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:04:51,150.150 INFO    ] Initializing speech engine...
[2026-10-20 21:04:51,156.156 INFO    ] 2026-10-20 21:04:51
[2026-10-20 21:04:51,460.460 INFO    ] 2026-10-20 21:04:51
[2026-10-20 21:04:51,495.495 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:04:51,701.701 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:04:51,716.716 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:04:51,864.864 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:04:51,886.886 INFO    ] time= 20/10/2026 21:04:51
[2026-10-20 21:04:51,894.894 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:04:51,899.899 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:04:51,980.980 INFO    ] No existing commands found in stream
[2026-10-20 21:04:56,995.995 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:04:56,998.998 INFO    ] Waiting 2.32 seconds before fallback handling...
[2026-10-20 21:04:59,839.839 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:04:59,842.842 INFO    ] Checking for system updates...
[2026-10-20 21:04:59,878.878 INFO    ] 200
[2026-10-20 21:04:59,882.882 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:04:59,936.936 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:04:59,939.939 INFO    ] No update needed
[2026-10-20 21:04:59,942.942 INFO    ] Checking for camera pi updates...
[2026-10-20 21:04:59,977.977 INFO    ] 200
[2026-10-20 21:04:59,980.980 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:05:00,028.028 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:05:00,083.083 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:05:00,086.086 INFO    ] No camera update needed
[2026-10-20 21:05:00,089.089 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:05:00,092.092 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:05:00,098.098 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:05:00,104.104 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:05:02,148.148 INFO    ] ================================================
[2026-10-20 21:05:02,171.171 INFO    ] Launching Daemon at Tue Oct 20 21:05:02 IST 2026
[2026-10-20 21:05:02,188.188 INFO    ] ================================================
[2026-10-20 21:05:02,983.983 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:05:02
[2026-10-20 21:05:03,631.631 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:05:03,906.906 INFO    ] Initializing speech engine...
[2026-10-20 21:05:03,915.915 INFO    ] 2026-10-20 21:05:03
[2026-10-20 21:05:04,165.165 INFO    ] 2026-10-20 21:05:04
[2026-10-20 21:05:04,206.206 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:05:04,452.452 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:05:04,462.462 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:05:04,601.601 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:05:04,666.666 INFO    ] time= 20/10/2026 21:05:04
[2026-10-20 21:05:04,710.710 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:05:04,727.727 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:05:04,860.860 INFO    ] No existing commands found in stream
[2026-10-20 21:05:09,884.884 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:05:09,887.887 INFO    ] Waiting 1.07 seconds before fallback handling...
[2026-10-20 21:05:11,509.509 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:05:11,512.512 INFO    ] Checking for system updates...
[2026-10-20 21:05:11,547.547 INFO    ] 200
[2026-10-20 21:05:11,550.550 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:05:11,610.610 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:05:11,612.612 INFO    ] No update needed
[2026-10-20 21:05:11,614.614 INFO    ] Checking for camera pi updates...
[2026-10-20 21:05:11,647.647 INFO    ] 200
[2026-10-20 21:05:11,650.650 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:05:11,690.690 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:05:11,734.734 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:05:11,736.736 INFO    ] No camera update needed
[2026-10-20 21:05:11,739.739 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:05:11,741.741 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:05:11,746.746 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:05:11,751.751 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:05:13,792.792 INFO    ] ================================================
[2026-10-20 21:05:13,807.807 INFO    ] Launching Daemon at Tue Oct 20 21:05:13 IST 2026
[2026-10-20 21:05:13,818.818 INFO    ] ================================================
[2026-10-20 21:05:14,380.380 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:05:14
[2026-10-20 21:05:14,960.960 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:05:15,205.205 INFO    ] Initializing speech engine...
[2026-10-20 21:05:15,220.220 INFO    ] 2026-10-20 21:05:15
[2026-10-20 21:05:15,481.481 INFO    ] 2026-10-20 21:05:15
[2026-10-20 21:05:15,515.515 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:05:15,765.765 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:05:15,774.774 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:05:15,907.907 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:05:15,962.962 INFO    ] time= 20/10/2026 21:05:15
[2026-10-20 21:05:16,006.006 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:05:16,036.036 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:05:16,164.164 INFO    ] No existing commands found in stream
[2026-10-20 21:05:21,192.192 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:05:21,194.194 INFO    ] Waiting 3.38 seconds before fallback handling...
[2026-10-20 21:05:25,093.093 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:05:25,096.096 INFO    ] Checking for system updates...
[2026-10-20 21:05:25,134.134 INFO    ] 200
[2026-10-20 21:05:25,137.137 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:05:25,188.188 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:05:25,191.191 INFO    ] No update needed
[2026-10-20 21:05:25,194.194 INFO    ] Checking for camera pi updates...
[2026-10-20 21:05:25,227.227 INFO    ] 200
[2026-10-20 21:05:25,229.229 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:05:25,272.272 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:05:25,321.321 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:05:25,323.323 INFO    ] No camera update needed
[2026-10-20 21:05:25,325.325 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:05:25,327.327 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:05:25,333.333 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:05:25,338.338 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:05:27,379.379 INFO    ] ================================================
[2026-10-20 21:05:27,395.395 INFO    ] Launching Daemon at Tue Oct 20 21:05:27 IST 2026
[2026-10-20 21:05:27,405.405 INFO    ] ================================================
[2026-10-20 21:05:27,969.969 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:05:27
[2026-10-20 21:05:28,552.552 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:05:28,803.803 INFO    ] Initializing speech engine...
[2026-10-20 21:05:28,814.814 INFO    ] 2026-10-20 21:05:28
[2026-10-20 21:05:29,083.083 INFO    ] 2026-10-20 21:05:29
[2026-10-20 21:05:29,117.117 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:05:29,319.319 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:05:29,352.352 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:05:29,528.528 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:05:29,593.593 INFO    ] time= 20/10/2026 21:05:29
[2026-10-20 21:05:29,647.647 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:05:29,662.662 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:05:29,793.793 INFO    ] No existing commands found in stream
[2026-10-20 21:05:34,821.821 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:05:34,824.824 INFO    ] Waiting 1.81 seconds before fallback handling...
[2026-10-20 21:05:37,091.091 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 21:05:37,094.094 INFO    ] Checking for system updates...
[2026-10-20 21:05:37,130.130 INFO    ] 200
[2026-10-20 21:05:37,133.133 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:05:37,184.184 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:05:37,187.187 INFO    ] No update needed
[2026-10-20 21:05:37,189.189 INFO    ] Checking for camera pi updates...
[2026-10-20 21:05:37,223.223 INFO    ] 200
[2026-10-20 21:05:37,225.225 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:05:37,271.271 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:05:37,319.319 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:05:37,321.321 INFO    ] No camera update needed
[2026-10-20 21:05:37,323.323 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:05:37,326.326 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:05:37,331.331 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:05:37,336.336 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:05:39,378.378 INFO    ] ================================================
[2026-10-20 21:05:39,393.393 INFO    ] Launching Daemon at Tue Oct 20 21:05:39 IST 2026
[2026-10-20 21:05:39,404.404 INFO    ] ================================================
[2026-10-20 21:05:39,984.984 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:05:39
[2026-10-20 21:05:40,585.585 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:05:40,862.862 INFO    ] Initializing speech engine...
[2026-10-20 21:05:40,869.869 INFO    ] 2026-10-20 21:05:40
[2026-10-20 21:05:41,131.131 INFO    ] 2026-10-20 21:05:41
[2026-10-20 21:05:41,161.161 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:05:41,413.413 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:05:41,417.417 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:05:41,635.635 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:05:41,674.674 INFO    ] time= 20/10/2026 21:05:41
[2026-10-20 21:05:41,681.681 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:05:41,701.701 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:05:41,825.825 INFO    ] No existing commands found in stream
[2026-10-20 21:05:46,841.841 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:05:46,844.844 INFO    ] Waiting 0.13 seconds before fallback handling...
[2026-10-20 21:05:47,431.431 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 21:05:47,434.434 INFO    ] Checking for system updates...
[2026-10-20 21:05:47,478.478 INFO    ] 200
[2026-10-20 21:05:47,481.481 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:05:47,540.540 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:05:47,542.542 INFO    ] No update needed
[2026-10-20 21:05:47,544.544 INFO    ] Checking for camera pi updates...
[2026-10-20 21:05:47,582.582 INFO    ] 200
[2026-10-20 21:05:47,584.584 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:05:47,625.625 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:05:47,668.668 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:05:47,671.671 INFO    ] No camera update needed
[2026-10-20 21:05:47,673.673 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:05:47,676.676 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:05:47,681.681 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:05:47,686.686 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:05:49,727.727 INFO    ] ================================================
[2026-10-20 21:05:49,742.742 INFO    ] Launching Daemon at Tue Oct 20 21:05:49 IST 2026
[2026-10-20 21:05:49,753.753 INFO    ] ================================================
[2026-10-20 21:05:50,320.320 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:05:50
[2026-10-20 21:05:50,903.903 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:05:51,150.150 INFO    ] Initializing speech engine...
[2026-10-20 21:05:51,156.156 INFO    ] 2026-10-20 21:05:51
[2026-10-20 21:05:51,427.427 INFO    ] 2026-10-20 21:05:51
[2026-10-20 21:05:51,461.461 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:05:51,663.663 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:05:51,717.717 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:05:51,857.857 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:05:51,922.922 INFO    ] time= 20/10/2026 21:05:51
[2026-10-20 21:05:51,966.966 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:05:51,991.991 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:05:52,121.121 INFO    ] No existing commands found in stream
[2026-10-20 21:05:57,145.145 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:05:57,148.148 INFO    ] Waiting 2.65 seconds before fallback handling...
[2026-10-20 21:06:00,395.395 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:06:00,398.398 INFO    ] Checking for system updates...
[2026-10-20 21:06:00,439.439 INFO    ] 200
[2026-10-20 21:06:00,442.442 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:06:00,502.502 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:06:00,505.505 INFO    ] No update needed
[2026-10-20 21:06:00,508.508 INFO    ] Checking for camera pi updates...
[2026-10-20 21:06:00,543.543 INFO    ] 200
[2026-10-20 21:06:00,546.546 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:06:00,588.588 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:06:00,738.738 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:06:00,741.741 INFO    ] No camera update needed
[2026-10-20 21:06:00,743.743 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:06:00,746.746 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:06:00,752.752 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:06:00,758.758 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:06:02,804.804 INFO    ] ================================================
[2026-10-20 21:06:02,821.821 INFO    ] Launching Daemon at Tue Oct 20 21:06:02 IST 2026
[2026-10-20 21:06:02,832.832 INFO    ] ================================================
[2026-10-20 21:06:03,513.513 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:06:03
[2026-10-20 21:06:04,156.156 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:06:04,430.430 INFO    ] Initializing speech engine...
[2026-10-20 21:06:04,437.437 INFO    ] 2026-10-20 21:06:04
[2026-10-20 21:06:04,695.695 INFO    ] 2026-10-20 21:06:04
[2026-10-20 21:06:04,752.752 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:06:04,982.982 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:06:04,987.987 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:06:05,196.196 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:06:05,244.244 INFO    ] time= 20/10/2026 21:06:05
[2026-10-20 21:06:05,250.250 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:06:05,268.268 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:06:05,400.400 INFO    ] No existing commands found in stream
[2026-10-20 21:06:10,419.419 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:06:10,422.422 INFO    ] Waiting 0.98 seconds before fallback handling...
[2026-10-20 21:06:11,966.966 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 21:06:11,969.969 INFO    ] Checking for system updates...
[2026-10-20 21:06:12,006.006 INFO    ] 200
[2026-10-20 21:06:12,009.009 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:06:12,064.064 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:06:12,067.067 INFO    ] No update needed
[2026-10-20 21:06:12,069.069 INFO    ] Checking for camera pi updates...
[2026-10-20 21:06:12,108.108 INFO    ] 200
[2026-10-20 21:06:12,111.111 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:06:12,153.153 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:06:12,199.199 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:06:12,202.202 INFO    ] No camera update needed
[2026-10-20 21:06:12,205.205 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:06:12,208.208 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:06:12,214.214 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:06:12,220.220 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:06:14,260.260 INFO    ] ================================================
[2026-10-20 21:06:14,275.275 INFO    ] Launching Daemon at Tue Oct 20 21:06:14 IST 2026
[2026-10-20 21:06:14,286.286 INFO    ] ================================================
[2026-10-20 21:06:14,854.854 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:06:14
[2026-10-20 21:06:15,438.438 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:06:15,709.709 INFO    ] Initializing speech engine...
[2026-10-20 21:06:15,718.718 INFO    ] 2026-10-20 21:06:15
[2026-10-20 21:06:15,968.968 INFO    ] 2026-10-20 21:06:15
[2026-10-20 21:06:16,003.003 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:06:16,261.261 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:06:16,271.271 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:06:16,466.466 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:06:16,526.526 INFO    ] time= 20/10/2026 21:06:16
[2026-10-20 21:06:16,543.543 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:06:16,561.561 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:06:16,695.695 INFO    ] No existing commands found in stream
[2026-10-20 21:06:21,719.719 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:06:21,722.722 INFO    ] Waiting 1.96 seconds before fallback handling...
[2026-10-20 21:06:24,227.227 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 21:06:24,230.230 INFO    ] Checking for system updates...
[2026-10-20 21:06:24,271.271 INFO    ] 200
[2026-10-20 21:06:24,275.275 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:06:24,335.335 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:06:24,341.341 INFO    ] No update needed
[2026-10-20 21:06:24,344.344 INFO    ] Checking for camera pi updates...
[2026-10-20 21:06:24,381.381 INFO    ] 200
[2026-10-20 21:06:24,383.383 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:06:24,424.424 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:06:24,480.480 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:06:24,483.483 INFO    ] No camera update needed
[2026-10-20 21:06:24,485.485 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:06:24,487.487 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:06:24,492.492 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:06:24,497.497 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:06:26,538.538 INFO    ] ================================================
[2026-10-20 21:06:26,553.553 INFO    ] Launching Daemon at Tue Oct 20 21:06:26 IST 2026
[2026-10-20 21:06:26,564.564 INFO    ] ================================================
[2026-10-20 21:06:27,128.128 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:06:27
[2026-10-20 21:06:27,710.710 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:06:27,953.953 INFO    ] Initializing speech engine...
[2026-10-20 21:06:27,960.960 INFO    ] 2026-10-20 21:06:27
[2026-10-20 21:06:28,234.234 INFO    ] 2026-10-20 21:06:28
[2026-10-20 21:06:28,271.271 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:06:28,445.445 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:06:28,449.449 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:06:28,601.601 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:06:28,609.609 INFO    ] time= 20/10/2026 21:06:28
[2026-10-20 21:06:28,615.615 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:06:28,661.661 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:06:28,806.806 INFO    ] No existing commands found in stream
[2026-10-20 21:06:33,816.816 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:06:33,819.819 INFO    ] Waiting 1.20 seconds before fallback handling...
[2026-10-20 21:06:35,529.529 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:06:35,532.532 INFO    ] Checking for system updates...
[2026-10-20 21:06:35,574.574 INFO    ] 200
[2026-10-20 21:06:35,576.576 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:06:35,629.629 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:06:35,631.631 INFO    ] No update needed
[2026-10-20 21:06:35,634.634 INFO    ] Checking for camera pi updates...
[2026-10-20 21:06:35,667.667 INFO    ] 200
[2026-10-20 21:06:35,670.670 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:06:35,714.714 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:06:35,767.767 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:06:35,769.769 INFO    ] No camera update needed
[2026-10-20 21:06:35,772.772 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:06:35,774.774 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:06:35,779.779 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:06:35,784.784 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:06:37,825.825 INFO    ] ================================================
[2026-10-20 21:06:37,839.839 INFO    ] Launching Daemon at Tue Oct 20 21:06:37 IST 2026
[2026-10-20 21:06:37,850.850 INFO    ] ================================================
[2026-10-20 21:06:38,426.426 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:06:38
[2026-10-20 21:06:39,024.024 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:06:39,294.294 INFO    ] Initializing speech engine...
[2026-10-20 21:06:39,308.308 INFO    ] 2026-10-20 21:06:39
[2026-10-20 21:06:39,592.592 INFO    ] 2026-10-20 21:06:39
[2026-10-20 21:06:39,628.628 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:06:39,828.828 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:06:39,835.835 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:06:40,011.011 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:06:40,017.017 INFO    ] time= 20/10/2026 21:06:40
[2026-10-20 21:06:40,024.024 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:06:40,081.081 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:06:40,206.206 INFO    ] No existing commands found in stream
[2026-10-20 21:06:45,231.231 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:06:45,234.234 INFO    ] Waiting 2.11 seconds before fallback handling...
[2026-10-20 21:06:47,858.858 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 21:06:47,861.861 INFO    ] Checking for system updates...
[2026-10-20 21:06:47,897.897 INFO    ] 200
[2026-10-20 21:06:47,899.899 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:06:47,952.952 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:06:47,954.954 INFO    ] No update needed
[2026-10-20 21:06:47,957.957 INFO    ] Checking for camera pi updates...
[2026-10-20 21:06:47,990.990 INFO    ] 200
[2026-10-20 21:06:47,993.993 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:06:48,041.041 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:06:48,094.094 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:06:48,097.097 INFO    ] No camera update needed
[2026-10-20 21:06:48,099.099 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:06:48,101.101 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:06:48,107.107 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:06:48,112.112 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:06:50,152.152 INFO    ] ================================================
[2026-10-20 21:06:50,166.166 INFO    ] Launching Daemon at Tue Oct 20 21:06:50 IST 2026
[2026-10-20 21:06:50,177.177 INFO    ] ================================================
[2026-10-20 21:06:50,839.839 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:06:50
[2026-10-20 21:06:51,522.522 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:06:51,833.833 INFO    ] Initializing speech engine...
[2026-10-20 21:06:51,844.844 INFO    ] 2026-10-20 21:06:51
[2026-10-20 21:06:52,156.156 INFO    ] 2026-10-20 21:06:52
[2026-10-20 21:06:52,242.242 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:06:52,456.456 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:06:52,461.461 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:06:52,647.647 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:06:52,663.663 INFO    ] time= 20/10/2026 21:06:52
[2026-10-20 21:06:52,682.682 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:06:52,699.699 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:06:52,837.837 INFO    ] No existing commands found in stream
[2026-10-20 21:06:57,868.868 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:06:57,872.872 INFO    ] Waiting 0.95 seconds before fallback handling...
[2026-10-20 21:06:59,409.409 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:06:59,412.412 INFO    ] Checking for system updates...
[2026-10-20 21:06:59,450.450 INFO    ] 200
[2026-10-20 21:06:59,453.453 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:06:59,514.514 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:06:59,516.516 INFO    ] No update needed
[2026-10-20 21:06:59,524.524 INFO    ] Checking for camera pi updates...
[2026-10-20 21:06:59,560.560 INFO    ] 200
[2026-10-20 21:06:59,563.563 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:06:59,604.604 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:06:59,651.651 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:06:59,654.654 INFO    ] No camera update needed
[2026-10-20 21:06:59,656.656 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:06:59,659.659 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:06:59,665.665 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:06:59,671.671 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:07:01,715.715 INFO    ] ================================================
[2026-10-20 21:07:01,755.755 INFO    ] Launching Daemon at Tue Oct 20 21:07:01 IST 2026
[2026-10-20 21:07:01,785.785 INFO    ] ================================================
[2026-10-20 21:07:02,512.512 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:07:02
[2026-10-20 21:07:03,191.191 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:07:03,552.552 INFO    ] Initializing speech engine...
[2026-10-20 21:07:03,560.560 INFO    ] 2026-10-20 21:07:03
[2026-10-20 21:07:03,845.845 INFO    ] 2026-10-20 21:07:03
[2026-10-20 21:07:03,955.955 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:07:04,118.118 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:07:04,123.123 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:07:04,280.280 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:07:04,341.341 INFO    ] time= 20/10/2026 21:07:04
[2026-10-20 21:07:04,390.390 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:07:04,397.397 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:07:04,515.515 INFO    ] No existing commands found in stream
[2026-10-20 21:07:09,547.547 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:07:09,550.550 INFO    ] Waiting 0.24 seconds before fallback handling...
[2026-10-20 21:07:12,630.630 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 21:07:12,633.633 INFO    ] Checking for system updates...
[2026-10-20 21:07:12,672.672 INFO    ] 200
[2026-10-20 21:07:12,675.675 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:07:12,733.733 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:07:12,736.736 INFO    ] No update needed
[2026-10-20 21:07:12,739.739 INFO    ] Checking for camera pi updates...
[2026-10-20 21:07:12,776.776 INFO    ] 200
[2026-10-20 21:07:12,780.780 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:07:12,824.824 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:07:12,868.868 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:07:12,871.871 INFO    ] No camera update needed
[2026-10-20 21:07:12,874.874 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:07:12,877.877 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:07:12,884.884 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:07:12,890.890 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:07:14,933.933 INFO    ] ================================================
[2026-10-20 21:07:14,948.948 INFO    ] Launching Daemon at Tue Oct 20 21:07:14 IST 2026
[2026-10-20 21:07:14,959.959 INFO    ] ================================================
[2026-10-20 21:07:15,546.546 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:07:15
[2026-10-20 21:07:16,141.141 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:07:16,389.389 INFO    ] Initializing speech engine...
[2026-10-20 21:07:16,404.404 INFO    ] 2026-10-20 21:07:16
[2026-10-20 21:07:16,669.669 INFO    ] 2026-10-20 21:07:16
[2026-10-20 21:07:16,704.704 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:07:16,904.904 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:07:16,911.911 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:07:17,116.116 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:07:17,155.155 INFO    ] time= 20/10/2026 21:07:17
[2026-10-20 21:07:17,206.206 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:07:17,250.250 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:07:17,402.402 INFO    ] No existing commands found in stream
[2026-10-20 21:07:22,429.429 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:07:22,432.432 INFO    ] Waiting 3.05 seconds before fallback handling...
[2026-10-20 21:07:26,037.037 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:07:26,039.039 INFO    ] Checking for system updates...
[2026-10-20 21:07:26,075.075 INFO    ] 200
[2026-10-20 21:07:26,078.078 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:07:26,131.131 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:07:26,134.134 INFO    ] No update needed
[2026-10-20 21:07:26,137.137 INFO    ] Checking for camera pi updates...
[2026-10-20 21:07:26,171.171 INFO    ] 200
[2026-10-20 21:07:26,174.174 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:07:26,220.220 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:07:26,267.267 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:07:26,270.270 INFO    ] No camera update needed
[2026-10-20 21:07:26,273.273 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:07:26,276.276 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:07:26,282.282 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:07:26,288.288 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:07:28,331.331 INFO    ] ================================================
[2026-10-20 21:07:28,346.346 INFO    ] Launching Daemon at Tue Oct 20 21:07:28 IST 2026
[2026-10-20 21:07:28,356.356 INFO    ] ================================================
[2026-10-20 21:07:28,937.937 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:07:28
[2026-10-20 21:07:29,535.535 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:07:29,808.808 INFO    ] Initializing speech engine...
[2026-10-20 21:07:29,819.819 INFO    ] 2026-10-20 21:07:29
[2026-10-20 21:07:30,079.079 INFO    ] 2026-10-20 21:07:30
[2026-10-20 21:07:30,109.109 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:07:30,353.353 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:07:30,364.364 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:07:30,560.560 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:07:30,620.620 INFO    ] time= 20/10/2026 21:07:30
[2026-10-20 21:07:30,627.627 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:07:30,645.645 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:07:30,794.794 INFO    ] No existing commands found in stream
[2026-10-20 21:07:35,820.820 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:07:35,822.822 INFO    ] Waiting 3.45 seconds before fallback handling...
[2026-10-20 21:07:39,796.796 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:07:39,799.799 INFO    ] Checking for system updates...
[2026-10-20 21:07:39,835.835 INFO    ] 200
[2026-10-20 21:07:39,838.838 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:07:39,890.890 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:07:39,893.893 INFO    ] No update needed
[2026-10-20 21:07:39,895.895 INFO    ] Checking for camera pi updates...
[2026-10-20 21:07:39,929.929 INFO    ] 200
[2026-10-20 21:07:39,932.932 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:07:39,973.973 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:07:40,028.028 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:07:40,031.031 INFO    ] No camera update needed
[2026-10-20 21:07:40,034.034 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:07:40,036.036 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:07:40,043.043 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:07:40,049.049 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:07:42,088.088 INFO    ] ================================================
[2026-10-20 21:07:42,103.103 INFO    ] Launching Daemon at Tue Oct 20 21:07:42 IST 2026
[2026-10-20 21:07:42,113.113 INFO    ] ================================================
[2026-10-20 21:07:42,693.693 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:07:42
[2026-10-20 21:07:43,288.288 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:07:43,563.563 INFO    ] Initializing speech engine...
[2026-10-20 21:07:43,573.573 INFO    ] 2026-10-20 21:07:43
[2026-10-20 21:07:43,831.831 INFO    ] 2026-10-20 21:07:43
[2026-10-20 21:07:43,861.861 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:07:44,110.110 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:07:44,115.115 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:07:44,347.347 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:07:44,398.398 INFO    ] time= 20/10/2026 21:07:44
[2026-10-20 21:07:44,405.405 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:07:44,421.421 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:07:44,558.558 INFO    ] No existing commands found in stream
[2026-10-20 21:07:49,582.582 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:07:49,584.584 INFO    ] Waiting 1.59 seconds before fallback handling...
[2026-10-20 21:07:51,697.697 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:07:51,700.700 INFO    ] Checking for system updates...
[2026-10-20 21:07:51,735.735 INFO    ] 200
[2026-10-20 21:07:51,737.737 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:07:51,790.790 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:07:51,793.793 INFO    ] No update needed
[2026-10-20 21:07:51,795.795 INFO    ] Checking for camera pi updates...
[2026-10-20 21:07:51,829.829 INFO    ] 200
[2026-10-20 21:07:51,832.832 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:07:51,873.873 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:07:51,926.926 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:07:51,928.928 INFO    ] No camera update needed
[2026-10-20 21:07:51,931.931 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:07:51,933.933 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:07:51,939.939 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:07:51,944.944 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:07:53,982.982 INFO    ] ================================================
[2026-10-20 21:07:54,998.998 INFO    ] Launching Daemon at Tue Oct 20 21:07:53 IST 2026
[2026-10-20 21:07:54,008.008 INFO    ] ================================================
[2026-10-20 21:07:54,577.577 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:07:54
[2026-10-20 21:07:55,160.160 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:07:55,430.430 INFO    ] Initializing speech engine...
[2026-10-20 21:07:55,438.438 INFO    ] 2026-10-20 21:07:55
[2026-10-20 21:07:55,691.691 INFO    ] 2026-10-20 21:07:55
[2026-10-20 21:07:55,726.726 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:07:55,985.985 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:07:55,994.994 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:07:56,179.179 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:07:56,218.218 INFO    ] time= 20/10/2026 21:07:56
[2026-10-20 21:07:56,265.265 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:07:56,271.271 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:07:56,423.423 INFO    ] No existing commands found in stream
[2026-10-20 21:08:01,445.445 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:08:01,448.448 INFO    ] Waiting 0.60 seconds before fallback handling...
[2026-10-20 21:08:02,588.588 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:08:02,591.591 INFO    ] Checking for system updates...
[2026-10-20 21:08:02,641.641 INFO    ] 200
[2026-10-20 21:08:02,644.644 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:08:02,707.707 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:08:02,710.710 INFO    ] No update needed
[2026-10-20 21:08:02,713.713 INFO    ] Checking for camera pi updates...
[2026-10-20 21:08:02,753.753 INFO    ] 200
[2026-10-20 21:08:02,756.756 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:08:02,804.804 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:08:02,837.837 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:08:02,840.840 INFO    ] No camera update needed
[2026-10-20 21:08:02,844.844 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:08:02,848.848 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:08:02,858.858 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:08:02,867.867 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:08:04,909.909 INFO    ] ================================================
[2026-10-20 21:08:04,924.924 INFO    ] Launching Daemon at Tue Oct 20 21:08:04 IST 2026
[2026-10-20 21:08:04,935.935 INFO    ] ================================================
[2026-10-20 21:08:05,498.498 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:08:05
[2026-10-20 21:08:06,077.077 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:08:06,346.346 INFO    ] Initializing speech engine...
[2026-10-20 21:08:06,355.355 INFO    ] 2026-10-20 21:08:06
[2026-10-20 21:08:06,605.605 INFO    ] 2026-10-20 21:08:06
[2026-10-20 21:08:06,638.638 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:08:06,897.897 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:08:06,906.906 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:08:07,044.044 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:08:07,093.093 INFO    ] time= 20/10/2026 21:08:07
[2026-10-20 21:08:07,147.147 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:08:07,177.177 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:08:07,317.317 INFO    ] No existing commands found in stream
[2026-10-20 21:08:12,336.336 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:08:12,339.339 INFO    ] Waiting 2.42 seconds before fallback handling...
[2026-10-20 21:08:15,266.266 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 21:08:15,269.269 INFO    ] Checking for system updates...
[2026-10-20 21:08:15,305.305 INFO    ] 200
[2026-10-20 21:08:15,307.307 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:08:15,358.358 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:08:15,361.361 INFO    ] No update needed
[2026-10-20 21:08:15,363.363 INFO    ] Checking for camera pi updates...
[2026-10-20 21:08:15,397.397 INFO    ] 200
[2026-10-20 21:08:15,399.399 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:08:15,443.443 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:08:15,500.500 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:08:15,503.503 INFO    ] No camera update needed
[2026-10-20 21:08:15,505.505 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:08:15,508.508 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:08:15,513.513 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:08:15,518.518 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:08:17,559.559 INFO    ] ================================================
[2026-10-20 21:08:17,573.573 INFO    ] Launching Daemon at Tue Oct 20 21:08:17 IST 2026
[2026-10-20 21:08:17,584.584 INFO    ] ================================================
[2026-10-20 21:08:18,165.165 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:08:18
[2026-10-20 21:08:18,763.763 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:08:19,041.041 INFO    ] Initializing speech engine...
[2026-10-20 21:08:19,047.047 INFO    ] 2026-10-20 21:08:19
[2026-10-20 21:08:19,307.307 INFO    ] 2026-10-20 21:08:19
[2026-10-20 21:08:19,337.337 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:08:19,582.582 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:08:19,592.592 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:08:19,731.731 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:08:19,795.795 INFO    ] time= 20/10/2026 21:08:19
[2026-10-20 21:08:19,852.852 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:08:19,859.859 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:08:20,004.004 INFO    ] No existing commands found in stream
[2026-10-20 21:08:25,023.023 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:08:25,026.026 INFO    ] Waiting 3.53 seconds before fallback handling...
[2026-10-20 21:08:29,044.044 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:08:29,047.047 INFO    ] Checking for system updates...
[2026-10-20 21:08:29,086.086 INFO    ] 200
[2026-10-20 21:08:29,089.089 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:08:29,142.142 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:08:29,144.144 INFO    ] No update needed
[2026-10-20 21:08:29,147.147 INFO    ] Checking for camera pi updates...
[2026-10-20 21:08:29,180.180 INFO    ] 200
[2026-10-20 21:08:29,182.182 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:08:29,227.227 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:08:29,276.276 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:08:29,279.279 INFO    ] No camera update needed
[2026-10-20 21:08:29,281.281 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:08:29,283.283 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:08:29,288.288 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:08:29,293.293 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:08:31,332.332 INFO    ] ================================================
[2026-10-20 21:08:31,348.348 INFO    ] Launching Daemon at Tue Oct 20 21:08:31 IST 2026
[2026-10-20 21:08:31,358.358 INFO    ] ================================================
[2026-10-20 21:08:31,950.950 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:08:31
[2026-10-20 21:08:32,566.566 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:08:32,828.828 INFO    ] Initializing speech engine...
[2026-10-20 21:08:32,841.841 INFO    ] 2026-10-20 21:08:32
[2026-10-20 21:08:33,122.122 INFO    ] 2026-10-20 21:08:33
[2026-10-20 21:08:33,163.163 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:08:33,361.361 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:08:33,374.374 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:08:33,523.523 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:08:33,526.526 INFO    ] time= 20/10/2026 21:08:33
[2026-10-20 21:08:33,538.538 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:08:33,542.542 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:08:33,680.680 INFO    ] No existing commands found in stream
[2026-10-20 21:08:38,711.711 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:08:38,713.713 INFO    ] Waiting 3.41 seconds before fallback handling...
[2026-10-20 21:08:42,622.622 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 21:08:42,625.625 INFO    ] Checking for system updates...
[2026-10-20 21:08:42,661.661 INFO    ] 200
[2026-10-20 21:08:42,663.663 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:08:42,716.716 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:08:42,718.718 INFO    ] No update needed
[2026-10-20 21:08:42,721.721 INFO    ] Checking for camera pi updates...
[2026-10-20 21:08:42,755.755 INFO    ] 200
[2026-10-20 21:08:42,758.758 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:08:42,803.803 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:08:42,848.848 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:08:42,851.851 INFO    ] No camera update needed
[2026-10-20 21:08:42,853.853 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:08:42,855.855 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:08:42,861.861 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:08:42,866.866 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:08:44,913.913 INFO    ] ================================================
[2026-10-20 21:08:44,928.928 INFO    ] Launching Daemon at Tue Oct 20 21:08:44 IST 2026
[2026-10-20 21:08:44,939.939 INFO    ] ================================================
[2026-10-20 21:08:45,506.506 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:08:45
[2026-10-20 21:08:46,090.090 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:08:46,337.337 INFO    ] Initializing speech engine...
[2026-10-20 21:08:46,352.352 INFO    ] 2026-10-20 21:08:46
[2026-10-20 21:08:46,618.618 INFO    ] 2026-10-20 21:08:46
[2026-10-20 21:08:46,652.652 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:08:46,855.855 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:08:46,911.911 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:08:47,068.068 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:08:47,117.117 INFO    ] time= 20/10/2026 21:08:47
[2026-10-20 21:08:47,161.161 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:08:47,191.191 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:08:47,305.305 INFO    ] No existing commands found in stream
[2026-10-20 21:08:52,327.327 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:08:52,330.330 INFO    ] Waiting 1.14 seconds before fallback handling...
[2026-10-20 21:08:53,983.983 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 21:08:53,986.986 INFO    ] Checking for system updates...
[2026-10-20 21:08:54,027.027 INFO    ] 200
[2026-10-20 21:08:54,030.030 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:08:54,084.084 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:08:54,087.087 INFO    ] No update needed
[2026-10-20 21:08:54,090.090 INFO    ] Checking for camera pi updates...
[2026-10-20 21:08:54,124.124 INFO    ] 200
[2026-10-20 21:08:54,127.127 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:08:54,168.168 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:08:54,216.216 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:08:54,219.219 INFO    ] No camera update needed
[2026-10-20 21:08:54,221.221 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:08:54,224.224 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:08:54,230.230 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:08:54,236.236 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:08:56,277.277 INFO    ] ================================================
[2026-10-20 21:08:56,292.292 INFO    ] Launching Daemon at Tue Oct 20 21:08:56 IST 2026
[2026-10-20 21:08:56,303.303 INFO    ] ================================================
[2026-10-20 21:08:56,884.884 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:08:56
[2026-10-20 21:08:57,480.480 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:08:57,758.758 INFO    ] Initializing speech engine...
[2026-10-20 21:08:57,764.764 INFO    ] 2026-10-20 21:08:57
[2026-10-20 21:08:58,024.024 INFO    ] 2026-10-20 21:08:58
[2026-10-20 21:08:58,054.054 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:08:58,303.303 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:08:58,307.307 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:08:58,526.526 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:08:58,564.564 INFO    ] time= 20/10/2026 21:08:58
[2026-10-20 21:08:58,571.571 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:08:58,591.591 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:08:58,719.719 INFO    ] No existing commands found in stream
[2026-10-20 21:09:03,731.731 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:09:03,733.733 INFO    ] Waiting 2.90 seconds before fallback handling...
[2026-10-20 21:09:07,157.157 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:09:07,160.160 INFO    ] Checking for system updates...
[2026-10-20 21:09:07,197.197 INFO    ] 200
[2026-10-20 21:09:07,200.200 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:09:07,253.253 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:09:07,256.256 INFO    ] No update needed
[2026-10-20 21:09:07,258.258 INFO    ] Checking for camera pi updates...
[2026-10-20 21:09:07,296.296 INFO    ] 200
[2026-10-20 21:09:07,299.299 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:09:07,340.340 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:09:07,386.386 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:09:07,389.389 INFO    ] No camera update needed
[2026-10-20 21:09:07,392.392 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:09:07,395.395 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:09:07,401.401 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:09:07,407.407 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:09:09,448.448 INFO    ] ================================================
[2026-10-20 21:09:09,463.463 INFO    ] Launching Daemon at Tue Oct 20 21:09:09 IST 2026
[2026-10-20 21:09:09,474.474 INFO    ] ================================================
[2026-10-20 21:09:10,127.127 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:09:10
[2026-10-20 21:09:10,742.742 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:09:10,991.991 INFO    ] Initializing speech engine...
[2026-10-20 21:09:11,014.014 INFO    ] 2026-10-20 21:09:11
[2026-10-20 21:09:11,265.265 INFO    ] 2026-10-20 21:09:11
[2026-10-20 21:09:11,300.300 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:09:11,497.497 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:09:11,554.554 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:09:11,701.701 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:09:11,766.766 INFO    ] time= 20/10/2026 21:09:11
[2026-10-20 21:09:11,820.820 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:09:11,829.829 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:09:11,959.959 INFO    ] No existing commands found in stream
[2026-10-20 21:09:16,984.984 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:09:16,987.987 INFO    ] Waiting 2.26 seconds before fallback handling...
[2026-10-20 21:09:19,764.764 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:09:19,767.767 INFO    ] Checking for system updates...
[2026-10-20 21:09:19,806.806 INFO    ] 200
[2026-10-20 21:09:19,809.809 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:09:19,862.862 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:09:19,864.864 INFO    ] No update needed
[2026-10-20 21:09:19,866.866 INFO    ] Checking for camera pi updates...
[2026-10-20 21:09:19,903.903 INFO    ] 200
[2026-10-20 21:09:19,906.906 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:09:19,951.951 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:09:20,004.004 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:09:20,006.006 INFO    ] No camera update needed
[2026-10-20 21:09:20,008.008 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:09:20,011.011 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:09:20,016.016 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:09:20,021.021 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:09:22,062.062 INFO    ] ================================================
[2026-10-20 21:09:22,077.077 INFO    ] Launching Daemon at Tue Oct 20 21:09:22 IST 2026
[2026-10-20 21:09:22,088.088 INFO    ] ================================================
[2026-10-20 21:09:22,666.666 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:09:22
[2026-10-20 21:09:23,249.249 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:09:23,519.519 INFO    ] Initializing speech engine...
[2026-10-20 21:09:23,529.529 INFO    ] 2026-10-20 21:09:23
[2026-10-20 21:09:23,795.795 INFO    ] 2026-10-20 21:09:23
[2026-10-20 21:09:23,833.833 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:09:24,061.061 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:09:24,106.106 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:09:24,287.287 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:09:24,311.311 INFO    ] time= 20/10/2026 21:09:24
[2026-10-20 21:09:24,366.366 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:09:24,399.399 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:09:24,498.498 INFO    ] No existing commands found in stream
[2026-10-20 21:09:29,510.510 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:09:29,513.513 INFO    ] Waiting 2.27 seconds before fallback handling...
[2026-10-20 21:09:32,301.301 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:09:32,304.304 INFO    ] Checking for system updates...
[2026-10-20 21:09:32,342.342 INFO    ] 200
[2026-10-20 21:09:32,345.345 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:09:32,411.411 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:09:32,413.413 INFO    ] No update needed
[2026-10-20 21:09:32,416.416 INFO    ] Checking for camera pi updates...
[2026-10-20 21:09:32,451.451 INFO    ] 200
[2026-10-20 21:09:32,454.454 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:09:32,503.503 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:09:32,549.549 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:09:32,552.552 INFO    ] No camera update needed
[2026-10-20 21:09:32,554.554 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:09:32,556.556 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:09:32,562.562 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:09:32,568.568 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:09:34,607.607 INFO    ] ================================================
[2026-10-20 21:09:34,622.622 INFO    ] Launching Daemon at Tue Oct 20 21:09:34 IST 2026
[2026-10-20 21:09:34,633.633 INFO    ] ================================================
[2026-10-20 21:09:35,264.264 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:09:35
[2026-10-20 21:09:35,937.937 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:09:36,246.246 INFO    ] Initializing speech engine...
[2026-10-20 21:09:36,259.259 INFO    ] 2026-10-20 21:09:36
[2026-10-20 21:09:36,550.550 INFO    ] 2026-10-20 21:09:36
[2026-10-20 21:09:36,663.663 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:09:36,848.848 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:09:36,866.866 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:09:37,068.068 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:09:37,096.096 INFO    ] time= 20/10/2026 21:09:37
[2026-10-20 21:09:37,114.114 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:09:37,143.143 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:09:37,281.281 INFO    ] No existing commands found in stream
[2026-10-20 21:09:42,312.312 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:09:42,315.315 INFO    ] Waiting 2.81 seconds before fallback handling...
[2026-10-20 21:09:45,709.709 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 21:09:45,712.712 INFO    ] Checking for system updates...
[2026-10-20 21:09:45,750.750 INFO    ] 200
[2026-10-20 21:09:45,752.752 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:09:45,804.804 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:09:45,806.806 INFO    ] No update needed
[2026-10-20 21:09:45,809.809 INFO    ] Checking for camera pi updates...
[2026-10-20 21:09:45,842.842 INFO    ] 200
[2026-10-20 21:09:45,845.845 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:09:45,885.885 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:09:45,931.931 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:09:45,934.934 INFO    ] No camera update needed
[2026-10-20 21:09:45,936.936 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:09:45,938.938 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:09:45,944.944 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:09:45,948.948 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:09:47,987.987 INFO    ] ================================================
[2026-10-20 21:09:48,002.002 INFO    ] Launching Daemon at Tue Oct 20 21:09:47 IST 2026
[2026-10-20 21:09:48,013.013 INFO    ] ================================================
[2026-10-20 21:09:48,676.676 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:09:48
[2026-10-20 21:09:49,363.363 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:09:49,666.666 INFO    ] Initializing speech engine...
[2026-10-20 21:09:49,680.680 INFO    ] 2026-10-20 21:09:49
[2026-10-20 21:09:49,967.967 INFO    ] 2026-10-20 21:09:49
[2026-10-20 21:09:50,006.006 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:09:50,291.291 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:09:50,298.298 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:09:50,492.492 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:09:50,509.509 INFO    ] time= 20/10/2026 21:09:50
[2026-10-20 21:09:50,540.540 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:09:50,547.547 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:09:50,670.670 INFO    ] No existing commands found in stream
[2026-10-20 21:09:55,701.701 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:09:55,704.704 INFO    ] Waiting 1.89 seconds before fallback handling...
[2026-10-20 21:09:58,133.133 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 21:09:58,136.136 INFO    ] Checking for system updates...
[2026-10-20 21:09:58,173.173 INFO    ] 200
[2026-10-20 21:09:58,175.175 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:09:58,234.234 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:09:58,237.237 INFO    ] No update needed
[2026-10-20 21:09:58,240.240 INFO    ] Checking for camera pi updates...
[2026-10-20 21:09:58,277.277 INFO    ] 200
[2026-10-20 21:09:58,279.279 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:09:58,319.319 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:09:58,365.365 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:09:58,367.367 INFO    ] No camera update needed
[2026-10-20 21:09:58,370.370 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:09:58,373.373 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:09:58,379.379 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:09:58,385.385 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:10:00,425.425 INFO    ] ================================================
[2026-10-20 21:10:00,441.441 INFO    ] Launching Daemon at Tue Oct 20 21:10:00 IST 2026
[2026-10-20 21:10:00,451.451 INFO    ] ================================================
[2026-10-20 21:10:01,019.019 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:10:01
[2026-10-20 21:10:01,873.873 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:10:02,439.439 INFO    ] Initializing speech engine...
[2026-10-20 21:10:02,442.442 INFO    ] 2026-10-20 21:10:02
[2026-10-20 21:10:02,843.843 INFO    ] 2026-10-20 21:10:02
[2026-10-20 21:10:02,907.907 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:10:03,096.096 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:10:03,100.100 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:10:03,279.279 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:10:03,286.286 INFO    ] time= 20/10/2026 21:10:03
[2026-10-20 21:10:03,302.302 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:10:03,311.311 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:10:03,398.398 INFO    ] No existing commands found in stream
[2026-10-20 21:10:08,428.428 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:10:08,431.431 INFO    ] Waiting 1.81 seconds before fallback handling...
[2026-10-20 21:10:10,825.825 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:10:10,828.828 INFO    ] Checking for system updates...
[2026-10-20 21:10:10,867.867 INFO    ] 200
[2026-10-20 21:10:10,870.870 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:10:10,922.922 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:10:10,925.925 INFO    ] No update needed
[2026-10-20 21:10:10,927.927 INFO    ] Checking for camera pi updates...
[2026-10-20 21:10:10,960.960 INFO    ] 200
[2026-10-20 21:10:10,962.962 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:10:11,010.010 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:10:11,156.156 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:10:11,158.158 INFO    ] No camera update needed
[2026-10-20 21:10:11,161.161 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:10:11,163.163 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:10:11,168.168 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:10:11,173.173 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:10:13,213.213 INFO    ] ================================================
[2026-10-20 21:10:13,229.229 INFO    ] Launching Daemon at Tue Oct 20 21:10:13 IST 2026
[2026-10-20 21:10:13,239.239 INFO    ] ================================================
[2026-10-20 21:10:13,892.892 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:10:13
[2026-10-20 21:10:14,505.505 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:10:14,775.775 INFO    ] Initializing speech engine...
[2026-10-20 21:10:14,783.783 INFO    ] 2026-10-20 21:10:14
[2026-10-20 21:10:15,035.035 INFO    ] 2026-10-20 21:10:15
[2026-10-20 21:10:15,069.069 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:10:15,269.269 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:10:15,297.297 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:10:15,473.473 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:10:15,505.505 INFO    ] time= 20/10/2026 21:10:15
[2026-10-20 21:10:15,559.559 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:10:15,609.609 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:10:15,747.747 INFO    ] No existing commands found in stream
[2026-10-20 21:10:20,767.767 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:10:20,770.770 INFO    ] Waiting 0.28 seconds before fallback handling...
[2026-10-20 21:10:21,604.604 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:10:21,607.607 INFO    ] Checking for system updates...
[2026-10-20 21:10:21,643.643 INFO    ] 200
[2026-10-20 21:10:21,646.646 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:10:21,704.704 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:10:21,707.707 INFO    ] No update needed
[2026-10-20 21:10:21,709.709 INFO    ] Checking for camera pi updates...
[2026-10-20 21:10:21,746.746 INFO    ] 200
[2026-10-20 21:10:21,748.748 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:10:21,793.793 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:10:21,836.836 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:10:21,839.839 INFO    ] No camera update needed
[2026-10-20 21:10:21,841.841 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:10:21,843.843 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:10:21,848.848 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:10:21,853.853 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:10:23,894.894 INFO    ] ================================================
[2026-10-20 21:10:23,908.908 INFO    ] Launching Daemon at Tue Oct 20 21:10:23 IST 2026
[2026-10-20 21:10:23,919.919 INFO    ] ================================================
[2026-10-20 21:10:24,490.490 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:10:24
[2026-10-20 21:10:25,074.074 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:10:25,341.341 INFO    ] Initializing speech engine...
[2026-10-20 21:10:25,354.354 INFO    ] 2026-10-20 21:10:25
[2026-10-20 21:10:25,604.604 INFO    ] 2026-10-20 21:10:25
[2026-10-20 21:10:25,637.637 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:10:25,838.838 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:10:25,865.865 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:10:26,045.045 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:10:26,105.105 INFO    ] time= 20/10/2026 21:10:26
[2026-10-20 21:10:26,170.170 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:10:26,182.182 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:10:26,329.329 INFO    ] No existing commands found in stream
[2026-10-20 21:10:31,342.342 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:10:31,345.345 INFO    ] Waiting 2.42 seconds before fallback handling...
[2026-10-20 21:10:34,231.231 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:10:34,234.234 INFO    ] Checking for system updates...
[2026-10-20 21:10:34,271.271 INFO    ] 200
[2026-10-20 21:10:34,273.273 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:10:34,326.326 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:10:34,329.329 INFO    ] No update needed
[2026-10-20 21:10:34,332.332 INFO    ] Checking for camera pi updates...
[2026-10-20 21:10:34,365.365 INFO    ] 200
[2026-10-20 21:10:34,368.368 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:10:34,408.408 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:10:34,457.457 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:10:34,459.459 INFO    ] No camera update needed
[2026-10-20 21:10:34,462.462 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:10:34,464.464 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:10:34,470.470 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:10:34,475.475 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:10:36,514.514 INFO    ] ================================================
[2026-10-20 21:10:36,529.529 INFO    ] Launching Daemon at Tue Oct 20 21:10:36 IST 2026
[2026-10-20 21:10:36,540.540 INFO    ] ================================================
[2026-10-20 21:10:37,107.107 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:10:37
[2026-10-20 21:10:37,691.691 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:10:37,942.942 INFO    ] Initializing speech engine...
[2026-10-20 21:10:37,965.965 INFO    ] 2026-10-20 21:10:37
[2026-10-20 21:10:38,221.221 INFO    ] 2026-10-20 21:10:38
[2026-10-20 21:10:38,256.256 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:10:38,514.514 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:10:38,523.523 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:10:38,658.658 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:10:38,711.711 INFO    ] time= 20/10/2026 21:10:38
[2026-10-20 21:10:38,760.760 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:10:38,796.796 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:10:38,932.932 INFO    ] No existing commands found in stream
[2026-10-20 21:10:43,957.957 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:10:43,960.960 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-10-20 21:10:46,202.202 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 21:10:46,204.204 INFO    ] Checking for system updates...
[2026-10-20 21:10:46,240.240 INFO    ] 200
[2026-10-20 21:10:46,242.242 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:10:46,302.302 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:10:46,304.304 INFO    ] No update needed
[2026-10-20 21:10:46,306.306 INFO    ] Checking for camera pi updates...
[2026-10-20 21:10:46,340.340 INFO    ] 200
[2026-10-20 21:10:46,343.343 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:10:46,389.389 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:10:46,436.436 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:10:46,438.438 INFO    ] No camera update needed
[2026-10-20 21:10:46,441.441 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:10:46,444.444 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:10:46,450.450 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:10:46,456.456 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:10:48,496.496 INFO    ] ================================================
[2026-10-20 21:10:48,511.511 INFO    ] Launching Daemon at Tue Oct 20 21:10:48 IST 2026
[2026-10-20 21:10:48,522.522 INFO    ] ================================================
[2026-10-20 21:10:49,109.109 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:10:49
[2026-10-20 21:10:49,782.782 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:10:50,096.096 INFO    ] Initializing speech engine...
[2026-10-20 21:10:50,110.110 INFO    ] 2026-10-20 21:10:50
[2026-10-20 21:10:50,394.394 INFO    ] 2026-10-20 21:10:50
[2026-10-20 21:10:50,439.439 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:10:50,730.730 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:10:50,739.739 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:10:50,926.926 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:10:50,947.947 INFO    ] time= 20/10/2026 21:10:50
[2026-10-20 21:10:50,967.967 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:10:50,996.996 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:10:51,116.116 INFO    ] No existing commands found in stream
[2026-10-20 21:10:56,147.147 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:10:56,150.150 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-10-20 21:10:58,717.717 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:10:58,720.720 INFO    ] Checking for system updates...
[2026-10-20 21:10:58,757.757 INFO    ] 200
[2026-10-20 21:10:58,760.760 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:10:58,814.814 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:10:58,817.817 INFO    ] No update needed
[2026-10-20 21:10:58,819.819 INFO    ] Checking for camera pi updates...
[2026-10-20 21:10:58,857.857 INFO    ] 200
[2026-10-20 21:10:58,860.860 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:10:58,902.902 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:10:58,957.957 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:10:58,961.961 INFO    ] No camera update needed
[2026-10-20 21:10:58,963.963 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:10:58,966.966 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:10:58,973.973 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:10:58,979.979 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:11:01,019.019 INFO    ] ================================================
[2026-10-20 21:11:01,035.035 INFO    ] Launching Daemon at Tue Oct 20 21:11:01 IST 2026
[2026-10-20 21:11:01,047.047 INFO    ] ================================================
[2026-10-20 21:11:01,612.612 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:11:01
[2026-10-20 21:11:02,319.319 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:11:02,627.627 INFO    ] Initializing speech engine...
[2026-10-20 21:11:02,630.630 INFO    ] 2026-10-20 21:11:02
[2026-10-20 21:11:02,934.934 INFO    ] 2026-10-20 21:11:02
[2026-10-20 21:11:02,976.976 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:11:03,188.188 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:11:03,195.195 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:11:03,394.394 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:11:03,407.407 INFO    ] time= 20/10/2026 21:11:03
[2026-10-20 21:11:03,429.429 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:11:03,481.481 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:11:03,638.638 INFO    ] No existing commands found in stream
[2026-10-20 21:11:08,649.649 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:11:08,651.651 INFO    ] Waiting 2.11 seconds before fallback handling...
[2026-10-20 21:11:11,242.242 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:11:11,245.245 INFO    ] Checking for system updates...
[2026-10-20 21:11:11,280.280 INFO    ] 200
[2026-10-20 21:11:11,282.282 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:11:11,339.339 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:11:11,341.341 INFO    ] No update needed
[2026-10-20 21:11:11,343.343 INFO    ] Checking for camera pi updates...
[2026-10-20 21:11:11,380.380 INFO    ] 200
[2026-10-20 21:11:11,383.383 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:11:11,427.427 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:11:11,467.467 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:11:11,470.470 INFO    ] No camera update needed
[2026-10-20 21:11:11,472.472 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:11:11,475.475 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:11:11,480.480 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:11:11,485.485 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:11:13,524.524 INFO    ] ================================================
[2026-10-20 21:11:13,539.539 INFO    ] Launching Daemon at Tue Oct 20 21:11:13 IST 2026
[2026-10-20 21:11:13,550.550 INFO    ] ================================================
[2026-10-20 21:11:14,197.197 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:11:14
[2026-10-20 21:11:14,868.868 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:11:15,170.170 INFO    ] Initializing speech engine...
[2026-10-20 21:11:15,178.178 INFO    ] 2026-10-20 21:11:15
[2026-10-20 21:11:15,468.468 INFO    ] 2026-10-20 21:11:15
[2026-10-20 21:11:15,578.578 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:11:15,791.791 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:11:15,801.801 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:11:15,994.994 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:11:16,013.013 INFO    ] time= 20/10/2026 21:11:15
[2026-10-20 21:11:16,035.035 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:11:16,049.049 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:11:16,181.181 INFO    ] No existing commands found in stream
[2026-10-20 21:11:21,211.211 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:11:21,214.214 INFO    ] Waiting 0.07 seconds before fallback handling...
[2026-10-20 21:11:21,816.816 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 21:11:21,819.819 INFO    ] Checking for system updates...
[2026-10-20 21:11:21,855.855 INFO    ] 200
[2026-10-20 21:11:21,858.858 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:11:21,923.923 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:11:21,925.925 INFO    ] No update needed
[2026-10-20 21:11:21,928.928 INFO    ] Checking for camera pi updates...
[2026-10-20 21:11:21,961.961 INFO    ] 200
[2026-10-20 21:11:21,963.963 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:11:22,004.004 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:11:22,049.049 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:11:22,051.051 INFO    ] No camera update needed
[2026-10-20 21:11:22,054.054 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:11:22,056.056 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:11:22,061.061 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:11:22,066.066 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:11:24,107.107 INFO    ] ================================================
[2026-10-20 21:11:24,121.121 INFO    ] Launching Daemon at Tue Oct 20 21:11:24 IST 2026
[2026-10-20 21:11:24,132.132 INFO    ] ================================================
[2026-10-20 21:11:24,696.696 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:11:24
[2026-10-20 21:11:25,278.278 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:11:25,548.548 INFO    ] Initializing speech engine...
[2026-10-20 21:11:25,558.558 INFO    ] 2026-10-20 21:11:25
[2026-10-20 21:11:25,806.806 INFO    ] 2026-10-20 21:11:25
[2026-10-20 21:11:25,841.841 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:11:26,041.041 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:11:26,092.092 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:11:26,243.243 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:11:26,284.284 INFO    ] time= 20/10/2026 21:11:26
[2026-10-20 21:11:26,333.333 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:11:26,378.378 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:11:26,509.509 INFO    ] No existing commands found in stream
[2026-10-20 21:11:31,534.534 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:11:31,537.537 INFO    ] Waiting 0.76 seconds before fallback handling...
[2026-10-20 21:11:32,790.790 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 21:11:32,792.792 INFO    ] Checking for system updates...
[2026-10-20 21:11:32,834.834 INFO    ] 200
[2026-10-20 21:11:32,837.837 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:11:32,902.902 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:11:32,905.905 INFO    ] No update needed
[2026-10-20 21:11:32,908.908 INFO    ] Checking for camera pi updates...
[2026-10-20 21:11:32,945.945 INFO    ] 200
[2026-10-20 21:11:32,948.948 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:11:32,991.991 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:11:33,025.025 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:11:33,028.028 INFO    ] No camera update needed
[2026-10-20 21:11:33,031.031 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:11:33,035.035 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:11:33,042.042 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:11:33,049.049 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:11:35,090.090 INFO    ] ================================================
[2026-10-20 21:11:35,106.106 INFO    ] Launching Daemon at Tue Oct 20 21:11:35 IST 2026
[2026-10-20 21:11:35,117.117 INFO    ] ================================================
[2026-10-20 21:11:35,683.683 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:11:35
[2026-10-20 21:11:36,266.266 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:11:36,517.517 INFO    ] Initializing speech engine...
[2026-10-20 21:11:36,529.529 INFO    ] 2026-10-20 21:11:36
[2026-10-20 21:11:36,796.796 INFO    ] 2026-10-20 21:11:36
[2026-10-20 21:11:36,832.832 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:11:37,089.089 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:11:37,099.099 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:11:37,236.236 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:11:37,286.286 INFO    ] time= 20/10/2026 21:11:37
[2026-10-20 21:11:37,345.345 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:11:37,371.371 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:11:37,511.511 INFO    ] No existing commands found in stream
[2026-10-20 21:11:42,532.532 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:11:42,535.535 INFO    ] Waiting 3.89 seconds before fallback handling...
[2026-10-20 21:11:46,920.920 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:11:46,923.923 INFO    ] Checking for system updates...
[2026-10-20 21:11:46,958.958 INFO    ] 200
[2026-10-20 21:11:46,961.961 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:11:47,012.012 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:11:47,015.015 INFO    ] No update needed
[2026-10-20 21:11:47,017.017 INFO    ] Checking for camera pi updates...
[2026-10-20 21:11:47,050.050 INFO    ] 200
[2026-10-20 21:11:47,053.053 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:11:47,097.097 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:11:47,150.150 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:11:47,152.152 INFO    ] No camera update needed
[2026-10-20 21:11:47,154.154 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:11:47,157.157 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:11:47,162.162 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:11:47,167.167 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:11:49,205.205 INFO    ] ================================================
[2026-10-20 21:11:49,221.221 INFO    ] Launching Daemon at Tue Oct 20 21:11:49 IST 2026
[2026-10-20 21:11:49,231.231 INFO    ] ================================================
[2026-10-20 21:11:49,799.799 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:11:49
[2026-10-20 21:11:50,385.385 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:11:50,655.655 INFO    ] Initializing speech engine...
[2026-10-20 21:11:50,663.663 INFO    ] 2026-10-20 21:11:50
[2026-10-20 21:11:50,917.917 INFO    ] 2026-10-20 21:11:50
[2026-10-20 21:11:50,951.951 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:11:51,153.153 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:11:51,212.212 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:11:51,414.414 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:11:51,468.468 INFO    ] time= 20/10/2026 21:11:51
[2026-10-20 21:11:51,488.488 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:11:51,494.494 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:11:51,644.644 INFO    ] No existing commands found in stream
[2026-10-20 21:11:56,659.659 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:11:56,662.662 INFO    ] Waiting 1.73 seconds before fallback handling...
[2026-10-20 21:11:58,903.903 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:11:58,905.905 INFO    ] Checking for system updates...
[2026-10-20 21:11:58,949.949 INFO    ] 200
[2026-10-20 21:11:58,952.952 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:11:59,010.010 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:11:59,013.013 INFO    ] No update needed
[2026-10-20 21:11:59,016.016 INFO    ] Checking for camera pi updates...
[2026-10-20 21:11:59,064.064 INFO    ] 200
[2026-10-20 21:11:59,067.067 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:11:59,111.111 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:11:59,158.158 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:11:59,161.161 INFO    ] No camera update needed
[2026-10-20 21:11:59,164.164 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:11:59,167.167 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:11:59,175.175 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:11:59,182.182 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:12:01,223.223 INFO    ] ================================================
[2026-10-20 21:12:01,238.238 INFO    ] Launching Daemon at Tue Oct 20 21:12:01 IST 2026
[2026-10-20 21:12:01,249.249 INFO    ] ================================================
[2026-10-20 21:12:01,821.821 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:12:01
[2026-10-20 21:12:02,567.567 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:12:02,860.860 INFO    ] Initializing speech engine...
[2026-10-20 21:12:02,884.884 INFO    ] 2026-10-20 21:12:02
[2026-10-20 21:12:03,182.182 INFO    ] 2026-10-20 21:12:03
[2026-10-20 21:12:03,219.219 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:12:03,496.496 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:12:03,507.507 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:12:03,666.666 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:12:03,721.721 INFO    ] time= 20/10/2026 21:12:03
[2026-10-20 21:12:03,771.771 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:12:03,814.814 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:12:03,944.944 INFO    ] No existing commands found in stream
[2026-10-20 21:12:08,976.976 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:12:08,979.979 INFO    ] Waiting 2.54 seconds before fallback handling...
[2026-10-20 21:12:12,056.056 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:12:12,059.059 INFO    ] Checking for system updates...
[2026-10-20 21:12:12,100.100 INFO    ] 200
[2026-10-20 21:12:12,103.103 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:12:12,163.163 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:12:12,165.165 INFO    ] No update needed
[2026-10-20 21:12:12,170.170 INFO    ] Checking for camera pi updates...
[2026-10-20 21:12:12,204.204 INFO    ] 200
[2026-10-20 21:12:12,206.206 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:12:12,253.253 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:12:12,299.299 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:12:12,302.302 INFO    ] No camera update needed
[2026-10-20 21:12:12,305.305 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:12:12,307.307 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:12:12,313.313 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:12:12,319.319 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:12:14,360.360 INFO    ] ================================================
[2026-10-20 21:12:14,374.374 INFO    ] Launching Daemon at Tue Oct 20 21:12:14 IST 2026
[2026-10-20 21:12:14,385.385 INFO    ] ================================================
[2026-10-20 21:12:14,954.954 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:12:14
[2026-10-20 21:12:15,537.537 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:12:15,818.818 INFO    ] Initializing speech engine...
[2026-10-20 21:12:15,824.824 INFO    ] 2026-10-20 21:12:15
[2026-10-20 21:12:16,081.081 INFO    ] 2026-10-20 21:12:16
[2026-10-20 21:12:16,111.111 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:12:16,355.355 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:12:16,364.364 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:12:16,503.503 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:12:16,568.568 INFO    ] time= 20/10/2026 21:12:16
[2026-10-20 21:12:16,622.622 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:12:16,632.632 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:12:16,761.761 INFO    ] No existing commands found in stream
[2026-10-20 21:12:21,783.783 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:12:21,786.786 INFO    ] Waiting 0.85 seconds before fallback handling...
[2026-10-20 21:12:23,118.118 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 21:12:23,121.121 INFO    ] Checking for system updates...
[2026-10-20 21:12:23,156.156 INFO    ] 200
[2026-10-20 21:12:23,159.159 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:12:23,217.217 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:12:23,219.219 INFO    ] No update needed
[2026-10-20 21:12:23,222.222 INFO    ] Checking for camera pi updates...
[2026-10-20 21:12:23,260.260 INFO    ] 200
[2026-10-20 21:12:23,262.262 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:12:23,303.303 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:12:23,431.431 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:12:23,433.433 INFO    ] No camera update needed
[2026-10-20 21:12:23,436.436 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:12:23,438.438 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:12:23,443.443 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:12:23,448.448 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:12:25,489.489 INFO    ] ================================================
[2026-10-20 21:12:25,504.504 INFO    ] Launching Daemon at Tue Oct 20 21:12:25 IST 2026
[2026-10-20 21:12:25,514.514 INFO    ] ================================================
[2026-10-20 21:12:26,165.165 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:12:26
[2026-10-20 21:12:27,816.816 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:12:28,124.124 INFO    ] Initializing speech engine...
[2026-10-20 21:12:28,135.135 INFO    ] 2026-10-20 21:12:28
[2026-10-20 21:12:28,413.413 INFO    ] 2026-10-20 21:12:28
[2026-10-20 21:12:28,468.468 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:12:28,723.723 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:12:28,726.726 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:12:28,957.957 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:12:28,970.970 INFO    ] time= 20/10/2026 21:12:28
[2026-10-20 21:12:28,987.987 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:12:29,005.005 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:12:29,174.174 INFO    ] No existing commands found in stream
[2026-10-20 21:12:34,211.211 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:12:34,214.214 INFO    ] Waiting 3.13 seconds before fallback handling...
[2026-10-20 21:12:37,854.854 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:12:37,857.857 INFO    ] Checking for system updates...
[2026-10-20 21:12:37,894.894 INFO    ] 200
[2026-10-20 21:12:37,897.897 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:12:37,950.950 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:12:37,953.953 INFO    ] No update needed
[2026-10-20 21:12:37,956.956 INFO    ] Checking for camera pi updates...
[2026-10-20 21:12:37,990.990 INFO    ] 200
[2026-10-20 21:12:37,993.993 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:12:38,034.034 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:12:38,082.082 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:12:38,084.084 INFO    ] No camera update needed
[2026-10-20 21:12:38,087.087 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:12:38,090.090 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:12:38,096.096 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:12:38,102.102 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:12:40,144.144 INFO    ] ================================================
[2026-10-20 21:12:40,160.160 INFO    ] Launching Daemon at Tue Oct 20 21:12:40 IST 2026
[2026-10-20 21:12:40,171.171 INFO    ] ================================================
[2026-10-20 21:12:40,740.740 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:12:40
[2026-10-20 21:12:41,329.329 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:12:41,601.601 INFO    ] Initializing speech engine...
[2026-10-20 21:12:41,611.611 INFO    ] 2026-10-20 21:12:41
[2026-10-20 21:12:41,861.861 INFO    ] 2026-10-20 21:12:41
[2026-10-20 21:12:41,895.895 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:12:42,154.154 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:12:42,163.163 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:12:42,298.298 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:12:42,345.345 INFO    ] time= 20/10/2026 21:12:42
[2026-10-20 21:12:42,394.394 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:12:42,434.434 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:12:42,566.566 INFO    ] No existing commands found in stream
[2026-10-20 21:12:47,595.595 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:12:47,598.598 INFO    ] Waiting 2.68 seconds before fallback handling...
[2026-10-20 21:12:50,834.834 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 21:12:50,837.837 INFO    ] Checking for system updates...
[2026-10-20 21:12:50,874.874 INFO    ] 200
[2026-10-20 21:12:50,876.876 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:12:50,932.932 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:12:50,934.934 INFO    ] No update needed
[2026-10-20 21:12:50,937.937 INFO    ] Checking for camera pi updates...
[2026-10-20 21:12:50,975.975 INFO    ] 200
[2026-10-20 21:12:50,978.978 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:12:51,019.019 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:12:51,074.074 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:12:51,076.076 INFO    ] No camera update needed
[2026-10-20 21:12:51,079.079 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:12:51,082.082 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:12:51,088.088 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:12:51,094.094 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:12:53,134.134 INFO    ] ================================================
[2026-10-20 21:12:53,149.149 INFO    ] Launching Daemon at Tue Oct 20 21:12:53 IST 2026
[2026-10-20 21:12:53,161.161 INFO    ] ================================================
[2026-10-20 21:12:53,743.743 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:12:53
[2026-10-20 21:12:54,345.345 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:12:54,633.633 INFO    ] Initializing speech engine...
[2026-10-20 21:12:54,639.639 INFO    ] 2026-10-20 21:12:54
[2026-10-20 21:12:54,910.910 INFO    ] 2026-10-20 21:12:54
[2026-10-20 21:12:54,948.948 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:12:55,145.145 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:12:55,159.159 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:12:55,322.322 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:12:55,332.332 INFO    ] time= 20/10/2026 21:12:55
[2026-10-20 21:12:55,339.339 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:12:55,361.361 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:12:55,507.507 INFO    ] No existing commands found in stream
[2026-10-20 21:13:00,532.532 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:13:00,535.535 INFO    ] Waiting 1.94 seconds before fallback handling...
[2026-10-20 21:13:02,968.968 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:13:02,971.971 INFO    ] Checking for system updates...
[2026-10-20 21:13:03,011.011 INFO    ] 200
[2026-10-20 21:13:03,013.013 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:13:03,081.081 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:13:03,084.084 INFO    ] No update needed
[2026-10-20 21:13:03,088.088 INFO    ] Checking for camera pi updates...
[2026-10-20 21:13:03,129.129 INFO    ] 200
[2026-10-20 21:13:03,132.132 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:13:03,172.172 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:13:03,227.227 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:13:03,230.230 INFO    ] No camera update needed
[2026-10-20 21:13:03,232.232 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:13:03,234.234 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:13:03,240.240 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:13:03,245.245 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:13:05,283.283 INFO    ] ================================================
[2026-10-20 21:13:05,298.298 INFO    ] Launching Daemon at Tue Oct 20 21:13:05 IST 2026
[2026-10-20 21:13:05,309.309 INFO    ] ================================================
[2026-10-20 21:13:05,887.887 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:13:05
[2026-10-20 21:13:06,483.483 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:13:06,744.744 INFO    ] Initializing speech engine...
[2026-10-20 21:13:06,756.756 INFO    ] 2026-10-20 21:13:06
[2026-10-20 21:13:07,037.037 INFO    ] 2026-10-20 21:13:07
[2026-10-20 21:13:07,074.074 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:13:07,285.285 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:13:07,345.345 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:13:07,509.509 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:13:07,544.544 INFO    ] time= 20/10/2026 21:13:07
[2026-10-20 21:13:07,599.599 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:13:07,649.649 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:13:07,770.770 INFO    ] No existing commands found in stream
[2026-10-20 21:13:12,792.792 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:13:12,795.795 INFO    ] Waiting 0.44 seconds before fallback handling...
[2026-10-20 21:13:13,722.722 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 21:13:13,724.724 INFO    ] Checking for system updates...
[2026-10-20 21:13:13,761.761 INFO    ] 200
[2026-10-20 21:13:13,764.764 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:13:13,816.816 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:13:13,819.819 INFO    ] No update needed
[2026-10-20 21:13:13,822.822 INFO    ] Checking for camera pi updates...
[2026-10-20 21:13:13,855.855 INFO    ] 200
[2026-10-20 21:13:13,857.857 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:13:13,901.901 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:13:13,957.957 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:13:13,960.960 INFO    ] No camera update needed
[2026-10-20 21:13:13,962.962 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:13:13,964.964 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:13:13,970.970 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:13:13,975.975 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:13:16,016.016 INFO    ] ================================================
[2026-10-20 21:13:16,031.031 INFO    ] Launching Daemon at Tue Oct 20 21:13:16 IST 2026
[2026-10-20 21:13:16,042.042 INFO    ] ================================================
[2026-10-20 21:13:16,658.658 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:13:16
[2026-10-20 21:13:17,293.293 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:13:17,586.586 INFO    ] Initializing speech engine...
[2026-10-20 21:13:17,595.595 INFO    ] 2026-10-20 21:13:17
[2026-10-20 21:13:17,859.859 INFO    ] 2026-10-20 21:13:17
[2026-10-20 21:13:17,916.916 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:13:18,150.150 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:13:18,158.158 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:13:18,370.370 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:13:18,420.420 INFO    ] time= 20/10/2026 21:13:18
[2026-10-20 21:13:18,426.426 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:13:18,447.447 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:13:18,603.603 INFO    ] No existing commands found in stream
[2026-10-20 21:13:23,634.634 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:13:23,637.637 INFO    ] Waiting 1.66 seconds before fallback handling...
[2026-10-20 21:13:25,806.806 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 21:13:25,809.809 INFO    ] Checking for system updates...
[2026-10-20 21:13:25,845.845 INFO    ] 200
[2026-10-20 21:13:25,847.847 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:13:25,899.899 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:13:25,902.902 INFO    ] No update needed
[2026-10-20 21:13:25,904.904 INFO    ] Checking for camera pi updates...
[2026-10-20 21:13:25,937.937 INFO    ] 200
[2026-10-20 21:13:25,939.939 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:13:25,979.979 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:13:26,020.020 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:13:26,023.023 INFO    ] No camera update needed
[2026-10-20 21:13:26,025.025 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:13:26,027.027 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:13:26,033.033 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:13:26,038.038 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:13:28,077.077 INFO    ] ================================================
[2026-10-20 21:13:28,092.092 INFO    ] Launching Daemon at Tue Oct 20 21:13:28 IST 2026
[2026-10-20 21:13:28,102.102 INFO    ] ================================================
[2026-10-20 21:13:28,680.680 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:13:28
[2026-10-20 21:13:29,277.277 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:13:29,561.561 INFO    ] Initializing speech engine...
[2026-10-20 21:13:29,571.571 INFO    ] 2026-10-20 21:13:29
[2026-10-20 21:13:29,832.832 INFO    ] 2026-10-20 21:13:29
[2026-10-20 21:13:29,867.867 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:13:30,066.066 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:13:30,083.083 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:13:30,229.229 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:13:30,233.233 INFO    ] time= 20/10/2026 21:13:30
[2026-10-20 21:13:30,240.240 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:13:30,292.292 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:13:30,431.431 INFO    ] No existing commands found in stream
[2026-10-20 21:13:35,456.456 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:13:35,459.459 INFO    ] Waiting 2.24 seconds before fallback handling...
[2026-10-20 21:13:38,202.202 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:13:38,205.205 INFO    ] Checking for system updates...
[2026-10-20 21:13:38,240.240 INFO    ] 200
[2026-10-20 21:13:38,243.243 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:13:38,299.299 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:13:38,301.301 INFO    ] No update needed
[2026-10-20 21:13:38,303.303 INFO    ] Checking for camera pi updates...
[2026-10-20 21:13:38,336.336 INFO    ] 200
[2026-10-20 21:13:38,339.339 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:13:38,379.379 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:13:38,431.431 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:13:38,433.433 INFO    ] No camera update needed
[2026-10-20 21:13:38,435.435 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:13:38,438.438 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:13:38,443.443 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:13:38,449.449 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:13:40,489.489 INFO    ] ================================================
[2026-10-20 21:13:40,503.503 INFO    ] Launching Daemon at Tue Oct 20 21:13:40 IST 2026
[2026-10-20 21:13:40,514.514 INFO    ] ================================================
[2026-10-20 21:13:41,090.090 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:13:41
[2026-10-20 21:13:41,675.675 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:13:41,946.946 INFO    ] Initializing speech engine...
[2026-10-20 21:13:41,955.955 INFO    ] 2026-10-20 21:13:41
[2026-10-20 21:13:42,203.203 INFO    ] 2026-10-20 21:13:42
[2026-10-20 21:13:42,237.237 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:13:42,457.457 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:13:42,500.500 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:13:42,644.644 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:13:42,686.686 INFO    ] time= 20/10/2026 21:13:42
[2026-10-20 21:13:42,735.735 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:13:42,777.777 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:13:42,905.905 INFO    ] No existing commands found in stream
[2026-10-20 21:13:47,932.932 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:13:47,935.935 INFO    ] Waiting 2.97 seconds before fallback handling...
[2026-10-20 21:13:51,443.443 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:13:51,445.445 INFO    ] Checking for system updates...
[2026-10-20 21:13:51,481.481 INFO    ] 200
[2026-10-20 21:13:51,484.484 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:13:51,540.540 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:13:51,542.542 INFO    ] No update needed
[2026-10-20 21:13:51,545.545 INFO    ] Checking for camera pi updates...
[2026-10-20 21:13:51,578.578 INFO    ] 200
[2026-10-20 21:13:51,580.580 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:13:51,620.620 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:13:51,663.663 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:13:51,665.665 INFO    ] No camera update needed
[2026-10-20 21:13:51,668.668 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:13:51,670.670 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:13:51,676.676 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:13:51,681.681 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:13:53,721.721 INFO    ] ================================================
[2026-10-20 21:13:53,736.736 INFO    ] Launching Daemon at Tue Oct 20 21:13:53 IST 2026
[2026-10-20 21:13:53,746.746 INFO    ] ================================================
[2026-10-20 21:13:54,325.325 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:13:54
[2026-10-20 21:13:54,923.923 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:13:55,200.200 INFO    ] Initializing speech engine...
[2026-10-20 21:13:55,214.214 INFO    ] 2026-10-20 21:13:55
[2026-10-20 21:13:55,476.476 INFO    ] 2026-10-20 21:13:55
[2026-10-20 21:13:55,511.511 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:13:55,742.742 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:13:55,791.791 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:13:55,961.961 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:13:55,968.968 INFO    ] time= 20/10/2026 21:13:55
[2026-10-20 21:13:56,033.033 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:13:56,092.092 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:13:56,179.179 INFO    ] No existing commands found in stream
[2026-10-20 21:14:01,200.200 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:14:01,205.205 INFO    ] Waiting 2.27 seconds before fallback handling...
[2026-10-20 21:14:04,004.004 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 21:14:04,007.007 INFO    ] Checking for system updates...
[2026-10-20 21:14:04,042.042 INFO    ] 200
[2026-10-20 21:14:04,045.045 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:14:04,096.096 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:14:04,098.098 INFO    ] No update needed
[2026-10-20 21:14:04,101.101 INFO    ] Checking for camera pi updates...
[2026-10-20 21:14:04,134.134 INFO    ] 200
[2026-10-20 21:14:04,136.136 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:14:04,180.180 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:14:04,236.236 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:14:04,238.238 INFO    ] No camera update needed
[2026-10-20 21:14:04,241.241 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:14:04,243.243 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:14:04,249.249 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:14:04,254.254 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:14:06,293.293 INFO    ] ================================================
[2026-10-20 21:14:06,308.308 INFO    ] Launching Daemon at Tue Oct 20 21:14:06 IST 2026
[2026-10-20 21:14:06,318.318 INFO    ] ================================================
[2026-10-20 21:14:06,894.894 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:14:06
[2026-10-20 21:14:07,484.484 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:14:07,736.736 INFO    ] Initializing speech engine...
[2026-10-20 21:14:07,757.757 INFO    ] 2026-10-20 21:14:07
[2026-10-20 21:14:08,017.017 INFO    ] 2026-10-20 21:14:08
[2026-10-20 21:14:08,051.051 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:14:08,255.255 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:14:08,307.307 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:14:08,458.458 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:14:08,505.505 INFO    ] time= 20/10/2026 21:14:08
[2026-10-20 21:14:08,575.575 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:14:08,597.597 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:14:08,752.752 INFO    ] No existing commands found in stream
[2026-10-20 21:14:13,771.771 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:14:13,774.774 INFO    ] Waiting 1.05 seconds before fallback handling...
[2026-10-20 21:14:15,345.345 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:14:15,348.348 INFO    ] Checking for system updates...
[2026-10-20 21:14:15,384.384 INFO    ] 200
[2026-10-20 21:14:15,387.387 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:14:15,439.439 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:14:15,442.442 INFO    ] No update needed
[2026-10-20 21:14:15,445.445 INFO    ] Checking for camera pi updates...
[2026-10-20 21:14:15,479.479 INFO    ] 200
[2026-10-20 21:14:15,482.482 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:14:15,522.522 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:14:15,574.574 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:14:15,576.576 INFO    ] No camera update needed
[2026-10-20 21:14:15,579.579 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:14:15,582.582 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:14:15,588.588 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:14:15,594.594 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:14:17,635.635 INFO    ] ================================================
[2026-10-20 21:14:17,650.650 INFO    ] Launching Daemon at Tue Oct 20 21:14:17 IST 2026
[2026-10-20 21:14:17,661.661 INFO    ] ================================================
[2026-10-20 21:14:18,226.226 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:14:18
[2026-10-20 21:14:18,810.810 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:14:19,059.059 INFO    ] Initializing speech engine...
[2026-10-20 21:14:19,083.083 INFO    ] 2026-10-20 21:14:19
[2026-10-20 21:14:19,338.338 INFO    ] 2026-10-20 21:14:19
[2026-10-20 21:14:19,373.373 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:14:19,636.636 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:14:19,641.641 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:14:19,841.841 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:14:19,896.896 INFO    ] time= 20/10/2026 21:14:19
[2026-10-20 21:14:19,910.910 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:14:19,926.926 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:14:20,083.083 INFO    ] No existing commands found in stream
[2026-10-20 21:14:25,108.108 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:14:25,111.111 INFO    ] Waiting 0.75 seconds before fallback handling...
[2026-10-20 21:14:26,365.365 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 21:14:26,367.367 INFO    ] Checking for system updates...
[2026-10-20 21:14:26,403.403 INFO    ] 200
[2026-10-20 21:14:26,405.405 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:14:26,458.458 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:14:26,460.460 INFO    ] No update needed
[2026-10-20 21:14:26,463.463 INFO    ] Checking for camera pi updates...
[2026-10-20 21:14:26,495.495 INFO    ] 200
[2026-10-20 21:14:26,498.498 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:14:26,537.537 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:14:26,682.682 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:14:26,684.684 INFO    ] No camera update needed
[2026-10-20 21:14:26,686.686 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:14:26,689.689 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:14:26,694.694 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:14:26,699.699 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:14:28,740.740 INFO    ] ================================================
[2026-10-20 21:14:28,756.756 INFO    ] Launching Daemon at Tue Oct 20 21:14:28 IST 2026
[2026-10-20 21:14:28,767.767 INFO    ] ================================================
[2026-10-20 21:14:29,333.333 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:14:29
[2026-10-20 21:14:29,919.919 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:14:30,175.175 INFO    ] Initializing speech engine...
[2026-10-20 21:14:30,180.180 INFO    ] 2026-10-20 21:14:30
[2026-10-20 21:14:30,470.470 INFO    ] 2026-10-20 21:14:30
[2026-10-20 21:14:30,507.507 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:14:30,701.701 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:14:30,714.714 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:14:30,874.874 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:14:30,882.882 INFO    ] time= 20/10/2026 21:14:30
[2026-10-20 21:14:30,887.887 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:14:30,893.893 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:14:31,023.023 INFO    ] No existing commands found in stream
[2026-10-20 21:14:36,049.049 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:14:36,051.051 INFO    ] Waiting 1.43 seconds before fallback handling...
[2026-10-20 21:14:37,993.993 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:14:37,996.996 INFO    ] Checking for system updates...
[2026-10-20 21:14:38,032.032 INFO    ] 200
[2026-10-20 21:14:38,034.034 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:14:38,086.086 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:14:38,088.088 INFO    ] No update needed
[2026-10-20 21:14:38,091.091 INFO    ] Checking for camera pi updates...
[2026-10-20 21:14:38,124.124 INFO    ] 200
[2026-10-20 21:14:38,126.126 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:14:38,165.165 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:14:38,210.210 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:14:38,212.212 INFO    ] No camera update needed
[2026-10-20 21:14:38,215.215 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:14:38,217.217 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:14:38,222.222 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:14:38,227.227 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:14:40,267.267 INFO    ] ================================================
[2026-10-20 21:14:40,282.282 INFO    ] Launching Daemon at Tue Oct 20 21:14:40 IST 2026
[2026-10-20 21:14:40,293.293 INFO    ] ================================================
[2026-10-20 21:14:40,858.858 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:14:40
[2026-10-20 21:14:41,439.439 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:14:41,705.705 INFO    ] Initializing speech engine...
[2026-10-20 21:14:41,714.714 INFO    ] 2026-10-20 21:14:41
[2026-10-20 21:14:41,959.959 INFO    ] 2026-10-20 21:14:41
[2026-10-20 21:14:41,993.993 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:14:42,243.243 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:14:42,253.253 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:14:42,450.450 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:14:42,494.494 INFO    ] time= 20/10/2026 21:14:42
[2026-10-20 21:14:42,512.512 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:14:42,517.517 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:14:42,675.675 INFO    ] No existing commands found in stream
[2026-10-20 21:14:47,702.702 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:14:47,704.704 INFO    ] Waiting 1.42 seconds before fallback handling...
[2026-10-20 21:14:49,654.654 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:14:49,657.657 INFO    ] Checking for system updates...
[2026-10-20 21:14:49,692.692 INFO    ] 200
[2026-10-20 21:14:49,695.695 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:14:49,746.746 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:14:49,749.749 INFO    ] No update needed
[2026-10-20 21:14:49,751.751 INFO    ] Checking for camera pi updates...
[2026-10-20 21:14:49,784.784 INFO    ] 200
[2026-10-20 21:14:49,787.787 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:14:49,826.826 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:14:49,885.885 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:14:49,887.887 INFO    ] No camera update needed
[2026-10-20 21:14:49,890.890 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:14:49,892.892 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:14:49,897.897 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:14:49,903.903 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:14:51,944.944 INFO    ] ================================================
[2026-10-20 21:14:51,960.960 INFO    ] Launching Daemon at Tue Oct 20 21:14:51 IST 2026
[2026-10-20 21:14:51,971.971 INFO    ] ================================================
[2026-10-20 21:14:52,542.542 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:14:52
[2026-10-20 21:14:53,125.125 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:14:53,393.393 INFO    ] Initializing speech engine...
[2026-10-20 21:14:53,402.402 INFO    ] 2026-10-20 21:14:53
[2026-10-20 21:14:53,661.661 INFO    ] 2026-10-20 21:14:53
[2026-10-20 21:14:53,715.715 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:14:53,961.961 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:14:53,968.968 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:14:54,183.183 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:14:54,202.202 INFO    ] time= 20/10/2026 21:14:54
[2026-10-20 21:14:54,208.208 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:14:54,228.228 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:14:54,352.352 INFO    ] No existing commands found in stream
[2026-10-20 21:14:59,367.367 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:14:59,370.370 INFO    ] Waiting 1.69 seconds before fallback handling...
[2026-10-20 21:15:01,979.979 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 21:15:01,983.983 INFO    ] Checking for system updates...
[2026-10-20 21:15:02,034.034 INFO    ] 200
[2026-10-20 21:15:02,038.038 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:15:02,101.101 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:15:02,104.104 INFO    ] No update needed
[2026-10-20 21:15:02,107.107 INFO    ] Checking for camera pi updates...
[2026-10-20 21:15:02,149.149 INFO    ] 200
[2026-10-20 21:15:02,152.152 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:15:02,204.204 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:15:02,262.262 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:15:02,265.265 INFO    ] No camera update needed
[2026-10-20 21:15:02,268.268 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:15:02,271.271 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:15:02,277.277 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:15:02,284.284 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:15:04,323.323 INFO    ] ================================================
[2026-10-20 21:15:04,339.339 INFO    ] Launching Daemon at Tue Oct 20 21:15:04 IST 2026
[2026-10-20 21:15:04,351.351 INFO    ] ================================================
[2026-10-20 21:15:04,993.993 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:15:04
[2026-10-20 21:15:05,655.655 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:15:05,954.954 INFO    ] Initializing speech engine...
[2026-10-20 21:15:05,960.960 INFO    ] 2026-10-20 21:15:05
[2026-10-20 21:15:06,246.246 INFO    ] 2026-10-20 21:15:06
[2026-10-20 21:15:06,293.293 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:15:06,524.524 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:15:06,531.531 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:15:06,747.747 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:15:06,788.788 INFO    ] time= 20/10/2026 21:15:06
[2026-10-20 21:15:06,806.806 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:15:06,817.817 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:15:06,965.965 INFO    ] No existing commands found in stream
[2026-10-20 21:15:11,996.996 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:15:11,999.999 INFO    ] Waiting 2.07 seconds before fallback handling...
[2026-10-20 21:15:14,628.628 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 21:15:14,631.631 INFO    ] Checking for system updates...
[2026-10-20 21:15:14,670.670 INFO    ] 200
[2026-10-20 21:15:14,673.673 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:15:14,731.731 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:15:14,734.734 INFO    ] No update needed
[2026-10-20 21:15:14,737.737 INFO    ] Checking for camera pi updates...
[2026-10-20 21:15:14,776.776 INFO    ] 200
[2026-10-20 21:15:14,779.779 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:15:14,828.828 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:15:14,873.873 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:15:14,875.875 INFO    ] No camera update needed
[2026-10-20 21:15:14,878.878 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:15:14,881.881 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:15:14,887.887 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:15:14,893.893 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:15:16,934.934 INFO    ] ================================================
[2026-10-20 21:15:16,951.951 INFO    ] Launching Daemon at Tue Oct 20 21:15:16 IST 2026
[2026-10-20 21:15:16,963.963 INFO    ] ================================================
[2026-10-20 21:15:17,554.554 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:15:17
[2026-10-20 21:15:18,156.156 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:15:18,466.466 INFO    ] Initializing speech engine...
[2026-10-20 21:15:18,480.480 INFO    ] 2026-10-20 21:15:18
[2026-10-20 21:15:18,748.748 INFO    ] 2026-10-20 21:15:18
[2026-10-20 21:15:18,804.804 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:15:19,085.085 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:15:19,095.095 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:15:19,288.288 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:15:19,296.296 INFO    ] time= 20/10/2026 21:15:19
[2026-10-20 21:15:19,318.318 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:15:19,347.347 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:15:19,465.465 INFO    ] No existing commands found in stream
[2026-10-20 21:15:24,491.491 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:15:24,494.494 INFO    ] Waiting 1.11 seconds before fallback handling...
[2026-10-20 21:15:26,097.097 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 21:15:26,100.100 INFO    ] Checking for system updates...
[2026-10-20 21:15:26,136.136 INFO    ] 200
[2026-10-20 21:15:26,138.138 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:15:26,190.190 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:15:26,193.193 INFO    ] No update needed
[2026-10-20 21:15:26,195.195 INFO    ] Checking for camera pi updates...
[2026-10-20 21:15:26,232.232 INFO    ] 200
[2026-10-20 21:15:26,234.234 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:15:26,274.274 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:15:26,321.321 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:15:26,323.323 INFO    ] No camera update needed
[2026-10-20 21:15:26,326.326 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:15:26,328.328 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:15:26,334.334 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:15:26,339.339 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:15:28,379.379 INFO    ] ================================================
[2026-10-20 21:15:28,394.394 INFO    ] Launching Daemon at Tue Oct 20 21:15:28 IST 2026
[2026-10-20 21:15:28,405.405 INFO    ] ================================================
[2026-10-20 21:15:28,971.971 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:15:28
[2026-10-20 21:15:29,556.556 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:15:29,814.814 INFO    ] Initializing speech engine...
[2026-10-20 21:15:29,837.837 INFO    ] 2026-10-20 21:15:29
[2026-10-20 21:15:30,095.095 INFO    ] 2026-10-20 21:15:30
[2026-10-20 21:15:30,131.131 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:15:30,389.389 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:15:30,399.399 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:15:30,537.537 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:15:30,597.597 INFO    ] time= 20/10/2026 21:15:30
[2026-10-20 21:15:30,646.646 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:15:30,671.671 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:15:30,811.811 INFO    ] No existing commands found in stream
[2026-10-20 21:15:35,829.829 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:15:35,832.832 INFO    ] Waiting 2.50 seconds before fallback handling...
[2026-10-20 21:15:38,841.841 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:15:38,844.844 INFO    ] Checking for system updates...
[2026-10-20 21:15:38,880.880 INFO    ] 200
[2026-10-20 21:15:38,883.883 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:15:38,945.945 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:15:38,948.948 INFO    ] No update needed
[2026-10-20 21:15:38,951.951 INFO    ] Checking for camera pi updates...
[2026-10-20 21:15:38,985.985 INFO    ] 200
[2026-10-20 21:15:38,987.987 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:15:39,029.029 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:15:39,075.075 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:15:39,077.077 INFO    ] No camera update needed
[2026-10-20 21:15:39,080.080 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:15:39,082.082 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:15:39,087.087 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:15:39,092.092 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:15:41,134.134 INFO    ] ================================================
[2026-10-20 21:15:41,149.149 INFO    ] Launching Daemon at Tue Oct 20 21:15:41 IST 2026
[2026-10-20 21:15:41,159.159 INFO    ] ================================================
[2026-10-20 21:15:41,732.732 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:15:41
[2026-10-20 21:15:42,315.315 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:15:42,564.564 INFO    ] Initializing speech engine...
[2026-10-20 21:15:42,573.573 INFO    ] 2026-10-20 21:15:42
[2026-10-20 21:15:42,869.869 INFO    ] 2026-10-20 21:15:42
[2026-10-20 21:15:42,907.907 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:15:43,125.125 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:15:43,181.181 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:15:43,326.326 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:15:43,361.361 INFO    ] time= 20/10/2026 21:15:43
[2026-10-20 21:15:43,421.421 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:15:43,460.460 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:15:43,586.586 INFO    ] No existing commands found in stream
[2026-10-20 21:15:48,616.616 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:15:48,619.619 INFO    ] Waiting 1.48 seconds before fallback handling...
[2026-10-20 21:15:50,622.622 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 21:15:50,625.625 INFO    ] Checking for system updates...
[2026-10-20 21:15:50,660.660 INFO    ] 200
[2026-10-20 21:15:50,663.663 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:15:50,714.714 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:15:50,716.716 INFO    ] No update needed
[2026-10-20 21:15:50,719.719 INFO    ] Checking for camera pi updates...
[2026-10-20 21:15:50,752.752 INFO    ] 200
[2026-10-20 21:15:50,754.754 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:15:50,794.794 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:15:50,850.850 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:15:50,852.852 INFO    ] No camera update needed
[2026-10-20 21:15:50,855.855 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:15:50,857.857 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:15:50,862.862 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:15:50,867.867 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:15:52,906.906 INFO    ] ================================================
[2026-10-20 21:15:52,922.922 INFO    ] Launching Daemon at Tue Oct 20 21:15:52 IST 2026
[2026-10-20 21:15:52,932.932 INFO    ] ================================================
[2026-10-20 21:15:53,506.506 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:15:53
[2026-10-20 21:15:54,094.094 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:15:54,346.346 INFO    ] Initializing speech engine...
[2026-10-20 21:15:54,369.369 INFO    ] 2026-10-20 21:15:54
[2026-10-20 21:15:54,625.625 INFO    ] 2026-10-20 21:15:54
[2026-10-20 21:15:54,661.661 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:15:54,860.860 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:15:54,905.905 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:15:55,069.069 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:15:55,134.134 INFO    ] time= 20/10/2026 21:15:55
[2026-10-20 21:15:55,199.199 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:15:55,208.208 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:15:55,358.358 INFO    ] No existing commands found in stream
[2026-10-20 21:16:00,371.371 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:16:00,374.374 INFO    ] Waiting 2.07 seconds before fallback handling...
[2026-10-20 21:16:03,057.057 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 21:16:03,061.061 INFO    ] Checking for system updates...
[2026-10-20 21:16:03,099.099 INFO    ] 200
[2026-10-20 21:16:03,118.118 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:16:03,183.183 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:16:03,187.187 INFO    ] No update needed
[2026-10-20 21:16:03,191.191 INFO    ] Checking for camera pi updates...
[2026-10-20 21:16:03,230.230 INFO    ] 200
[2026-10-20 21:16:03,232.232 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:16:03,276.276 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:16:03,328.328 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:16:03,331.331 INFO    ] No camera update needed
[2026-10-20 21:16:03,333.333 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:16:03,336.336 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:16:03,342.342 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:16:03,348.348 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:16:05,390.390 INFO    ] ================================================
[2026-10-20 21:16:05,405.405 INFO    ] Launching Daemon at Tue Oct 20 21:16:05 IST 2026
[2026-10-20 21:16:05,415.415 INFO    ] ================================================
[2026-10-20 21:16:05,997.997 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:16:05
[2026-10-20 21:16:06,597.597 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:16:06,877.877 INFO    ] Initializing speech engine...
[2026-10-20 21:16:06,883.883 INFO    ] 2026-10-20 21:16:06
[2026-10-20 21:16:07,155.155 INFO    ] 2026-10-20 21:16:07
[2026-10-20 21:16:07,197.197 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:16:07,477.477 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:16:07,485.485 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:16:07,679.679 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:16:07,686.686 INFO    ] time= 20/10/2026 21:16:07
[2026-10-20 21:16:07,704.704 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:16:07,732.732 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:16:07,840.840 INFO    ] No existing commands found in stream
[2026-10-20 21:16:12,860.860 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:16:12,863.863 INFO    ] Waiting 0.57 seconds before fallback handling...
[2026-10-20 21:16:13,985.985 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 21:16:13,988.988 INFO    ] Checking for system updates...
[2026-10-20 21:16:14,023.023 INFO    ] 200
[2026-10-20 21:16:14,025.025 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:16:14,077.077 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:16:14,079.079 INFO    ] No update needed
[2026-10-20 21:16:14,082.082 INFO    ] Checking for camera pi updates...
[2026-10-20 21:16:14,114.114 INFO    ] 200
[2026-10-20 21:16:14,117.117 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:16:14,156.156 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:16:14,200.200 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:16:14,202.202 INFO    ] No camera update needed
[2026-10-20 21:16:14,204.204 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:16:14,207.207 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:16:14,212.212 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:16:14,217.217 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:16:16,257.257 INFO    ] ================================================
[2026-10-20 21:16:16,272.272 INFO    ] Launching Daemon at Tue Oct 20 21:16:16 IST 2026
[2026-10-20 21:16:16,283.283 INFO    ] ================================================
[2026-10-20 21:16:16,901.901 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:16:16
[2026-10-20 21:16:17,543.543 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:16:17,836.836 INFO    ] Initializing speech engine...
[2026-10-20 21:16:17,851.851 INFO    ] 2026-10-20 21:16:17
[2026-10-20 21:16:18,125.125 INFO    ] 2026-10-20 21:16:18
[2026-10-20 21:16:18,167.167 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:16:18,451.451 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:16:18,459.459 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:16:18,655.655 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:16:18,662.662 INFO    ] time= 20/10/2026 21:16:18
[2026-10-20 21:16:18,683.683 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:16:18,711.711 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:16:18,830.830 INFO    ] No existing commands found in stream
[2026-10-20 21:16:23,861.861 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:16:23,864.864 INFO    ] Waiting 0.47 seconds before fallback handling...
[2026-10-20 21:16:24,881.881 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 21:16:24,884.884 INFO    ] Checking for system updates...
[2026-10-20 21:16:24,919.919 INFO    ] 200
[2026-10-20 21:16:24,922.922 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:16:24,974.974 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:16:24,977.977 INFO    ] No update needed
[2026-10-20 21:16:24,979.979 INFO    ] Checking for camera pi updates...
[2026-10-20 21:16:25,017.017 INFO    ] 200
[2026-10-20 21:16:25,019.019 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:16:25,060.060 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:16:25,104.104 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:16:25,106.106 INFO    ] No camera update needed
[2026-10-20 21:16:25,109.109 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:16:25,111.111 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:16:25,117.117 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:16:25,123.123 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:16:27,164.164 INFO    ] ================================================
[2026-10-20 21:16:27,180.180 INFO    ] Launching Daemon at Tue Oct 20 21:16:27 IST 2026
[2026-10-20 21:16:27,197.197 INFO    ] ================================================
[2026-10-20 21:16:27,779.779 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:16:27
[2026-10-20 21:16:28,379.379 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:16:28,639.639 INFO    ] Initializing speech engine...
[2026-10-20 21:16:28,655.655 INFO    ] 2026-10-20 21:16:28
[2026-10-20 21:16:28,967.967 INFO    ] 2026-10-20 21:16:28
[2026-10-20 21:16:29,003.003 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:16:29,295.295 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:16:29,305.305 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:16:29,444.444 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:16:29,447.447 INFO    ] time= 20/10/2026 21:16:29
[2026-10-20 21:16:29,453.453 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:16:29,482.482 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:16:29,591.591 INFO    ] No existing commands found in stream
[2026-10-20 21:16:34,601.601 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:16:34,604.604 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-10-20 21:16:36,194.194 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:16:36,196.196 INFO    ] Checking for system updates...
[2026-10-20 21:16:36,232.232 INFO    ] 200
[2026-10-20 21:16:36,234.234 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:16:36,287.287 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:16:36,289.289 INFO    ] No update needed
[2026-10-20 21:16:36,292.292 INFO    ] Checking for camera pi updates...
[2026-10-20 21:16:36,327.327 INFO    ] 200
[2026-10-20 21:16:36,329.329 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:16:36,369.369 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:16:36,415.415 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:16:36,421.421 INFO    ] No camera update needed
[2026-10-20 21:16:36,424.424 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:16:36,427.427 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:16:36,434.434 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:16:36,440.440 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:16:38,480.480 INFO    ] ================================================
[2026-10-20 21:16:38,495.495 INFO    ] Launching Daemon at Tue Oct 20 21:16:38 IST 2026
[2026-10-20 21:16:38,506.506 INFO    ] ================================================
[2026-10-20 21:16:39,075.075 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:16:39
[2026-10-20 21:16:39,663.663 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:16:39,909.909 INFO    ] Initializing speech engine...
[2026-10-20 21:16:39,915.915 INFO    ] 2026-10-20 21:16:39
[2026-10-20 21:16:40,190.190 INFO    ] 2026-10-20 21:16:40
[2026-10-20 21:16:40,227.227 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:16:40,489.489 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:16:40,498.498 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:16:40,636.636 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:16:40,686.686 INFO    ] time= 20/10/2026 21:16:40
[2026-10-20 21:16:40,745.745 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:16:40,771.771 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:16:40,922.922 INFO    ] No existing commands found in stream
[2026-10-20 21:16:45,937.937 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:16:45,940.940 INFO    ] Waiting 0.95 seconds before fallback handling...
[2026-10-20 21:16:47,416.416 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:16:47,419.419 INFO    ] Checking for system updates...
[2026-10-20 21:16:47,454.454 INFO    ] 200
[2026-10-20 21:16:47,457.457 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:16:47,509.509 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:16:47,511.511 INFO    ] No update needed
[2026-10-20 21:16:47,514.514 INFO    ] Checking for camera pi updates...
[2026-10-20 21:16:47,547.547 INFO    ] 200
[2026-10-20 21:16:47,550.550 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:16:47,590.590 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:16:47,640.640 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:16:47,642.642 INFO    ] No camera update needed
[2026-10-20 21:16:47,644.644 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:16:47,647.647 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:16:47,652.652 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:16:47,657.657 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:16:49,697.697 INFO    ] ================================================
[2026-10-20 21:16:49,713.713 INFO    ] Launching Daemon at Tue Oct 20 21:16:49 IST 2026
[2026-10-20 21:16:49,723.723 INFO    ] ================================================
[2026-10-20 21:16:50,375.375 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:16:50
[2026-10-20 21:16:51,045.045 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:16:51,351.351 INFO    ] Initializing speech engine...
[2026-10-20 21:16:51,365.365 INFO    ] 2026-10-20 21:16:51
[2026-10-20 21:16:51,675.675 INFO    ] 2026-10-20 21:16:51
[2026-10-20 21:16:51,761.761 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:16:51,975.975 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:16:51,984.984 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:16:52,178.178 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:16:52,197.197 INFO    ] time= 20/10/2026 21:16:52
[2026-10-20 21:16:52,215.215 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:16:52,234.234 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:16:52,358.358 INFO    ] No existing commands found in stream
[2026-10-20 21:16:57,394.394 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:16:57,397.397 INFO    ] Waiting 1.12 seconds before fallback handling...
[2026-10-20 21:16:59,107.107 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:16:59,110.110 INFO    ] Checking for system updates...
[2026-10-20 21:16:59,146.146 INFO    ] 200
[2026-10-20 21:16:59,150.150 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:16:59,210.210 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:16:59,213.213 INFO    ] No update needed
[2026-10-20 21:16:59,216.216 INFO    ] Checking for camera pi updates...
[2026-10-20 21:16:59,250.250 INFO    ] 200
[2026-10-20 21:16:59,253.253 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:16:59,294.294 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:16:59,349.349 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:16:59,352.352 INFO    ] No camera update needed
[2026-10-20 21:16:59,355.355 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:16:59,357.357 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:16:59,364.364 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:16:59,370.370 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:17:01,410.410 INFO    ] ================================================
[2026-10-20 21:17:01,425.425 INFO    ] Launching Daemon at Tue Oct 20 21:17:01 IST 2026
[2026-10-20 21:17:01,436.436 INFO    ] ================================================
[2026-10-20 21:17:02,168.168 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:17:02
[2026-10-20 21:17:02,833.833 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:17:03,146.146 INFO    ] Initializing speech engine...
[2026-10-20 21:17:03,156.156 INFO    ] 2026-10-20 21:17:03
[2026-10-20 21:17:03,454.454 INFO    ] 2026-10-20 21:17:03
[2026-10-20 21:17:03,502.502 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:17:03,724.724 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:17:03,728.728 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:17:03,863.863 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:17:03,866.866 INFO    ] time= 20/10/2026 21:17:03
[2026-10-20 21:17:03,869.869 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:17:03,912.912 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:17:04,056.056 INFO    ] No existing commands found in stream
[2026-10-20 21:17:09,071.071 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:17:09,074.074 INFO    ] Waiting 3.13 seconds before fallback handling...
[2026-10-20 21:17:12,687.687 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 21:17:12,689.689 INFO    ] Checking for system updates...
[2026-10-20 21:17:12,726.726 INFO    ] 200
[2026-10-20 21:17:12,728.728 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:17:12,790.790 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:17:12,793.793 INFO    ] No update needed
[2026-10-20 21:17:12,795.795 INFO    ] Checking for camera pi updates...
[2026-10-20 21:17:12,832.832 INFO    ] 200
[2026-10-20 21:17:12,834.834 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:17:12,879.879 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:17:12,911.911 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:17:12,913.913 INFO    ] No camera update needed
[2026-10-20 21:17:12,915.915 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:17:12,917.917 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:17:12,923.923 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:17:12,928.928 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:17:14,967.967 INFO    ] ================================================
[2026-10-20 21:17:14,982.982 INFO    ] Launching Daemon at Tue Oct 20 21:17:14 IST 2026
[2026-10-20 21:17:14,993.993 INFO    ] ================================================
[2026-10-20 21:17:15,590.590 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:17:15
[2026-10-20 21:17:16,195.195 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:17:16,463.463 INFO    ] Initializing speech engine...
[2026-10-20 21:17:16,488.488 INFO    ] 2026-10-20 21:17:16
[2026-10-20 21:17:16,765.765 INFO    ] 2026-10-20 21:17:16
[2026-10-20 21:17:16,801.801 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:17:16,995.995 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:17:17,012.012 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:17:17,173.173 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:17:17,182.182 INFO    ] time= 20/10/2026 21:17:17
[2026-10-20 21:17:17,189.189 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:17:17,195.195 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:17:17,335.335 INFO    ] No existing commands found in stream
[2026-10-20 21:17:22,360.360 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:17:22,363.363 INFO    ] Waiting 3.39 seconds before fallback handling...
[2026-10-20 21:17:26,258.258 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:17:26,261.261 INFO    ] Checking for system updates...
[2026-10-20 21:17:26,296.296 INFO    ] 200
[2026-10-20 21:17:26,299.299 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:17:26,358.358 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:17:26,360.360 INFO    ] No update needed
[2026-10-20 21:17:26,363.363 INFO    ] Checking for camera pi updates...
[2026-10-20 21:17:26,396.396 INFO    ] 200
[2026-10-20 21:17:26,398.398 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:17:26,440.440 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:17:26,494.494 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:17:26,496.496 INFO    ] No camera update needed
[2026-10-20 21:17:26,499.499 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:17:26,501.501 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:17:26,506.506 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:17:26,511.511 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:17:28,551.551 INFO    ] ================================================
[2026-10-20 21:17:28,566.566 INFO    ] Launching Daemon at Tue Oct 20 21:17:28 IST 2026
[2026-10-20 21:17:28,577.577 INFO    ] ================================================
[2026-10-20 21:17:29,226.226 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:17:29
[2026-10-20 21:17:29,897.897 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:17:30,203.203 INFO    ] Initializing speech engine...
[2026-10-20 21:17:30,217.217 INFO    ] 2026-10-20 21:17:30
[2026-10-20 21:17:30,525.525 INFO    ] 2026-10-20 21:17:30
[2026-10-20 21:17:30,610.610 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:17:30,907.907 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:17:30,913.913 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:17:31,064.064 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:17:31,081.081 INFO    ] time= 20/10/2026 21:17:31
[2026-10-20 21:17:31,088.088 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:17:31,110.110 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:17:31,246.246 INFO    ] No existing commands found in stream
[2026-10-20 21:17:36,258.258 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:17:36,261.261 INFO    ] Waiting 2.74 seconds before fallback handling...
[2026-10-20 21:17:39,507.507 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:17:39,510.510 INFO    ] Checking for system updates...
[2026-10-20 21:17:39,549.549 INFO    ] 200
[2026-10-20 21:17:39,552.552 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:17:39,605.605 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:17:39,608.608 INFO    ] No update needed
[2026-10-20 21:17:39,611.611 INFO    ] Checking for camera pi updates...
[2026-10-20 21:17:39,646.646 INFO    ] 200
[2026-10-20 21:17:39,649.649 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:17:39,690.690 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:17:39,724.724 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:17:39,727.727 INFO    ] No camera update needed
[2026-10-20 21:17:39,730.730 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:17:39,732.732 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:17:39,738.738 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:17:39,744.744 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:17:41,785.785 INFO    ] ================================================
[2026-10-20 21:17:41,800.800 INFO    ] Launching Daemon at Tue Oct 20 21:17:41 IST 2026
[2026-10-20 21:17:41,811.811 INFO    ] ================================================
[2026-10-20 21:17:42,467.467 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:17:42
[2026-10-20 21:17:43,143.143 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:17:43,429.429 INFO    ] Initializing speech engine...
[2026-10-20 21:17:43,442.442 INFO    ] 2026-10-20 21:17:43
[2026-10-20 21:17:43,710.710 INFO    ] 2026-10-20 21:17:43
[2026-10-20 21:17:43,752.752 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:17:43,976.976 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:17:43,981.981 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:17:44,201.201 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:17:44,237.237 INFO    ] time= 20/10/2026 21:17:44
[2026-10-20 21:17:44,243.243 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:17:44,264.264 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:17:44,394.394 INFO    ] No existing commands found in stream
[2026-10-20 21:17:49,417.417 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:17:49,420.420 INFO    ] Waiting 2.67 seconds before fallback handling...
[2026-10-20 21:17:53,872.872 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 21:17:53,874.874 INFO    ] Checking for system updates...
[2026-10-20 21:17:53,910.910 INFO    ] 200
[2026-10-20 21:17:53,913.913 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:17:53,964.964 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:17:53,966.966 INFO    ] No update needed
[2026-10-20 21:17:53,969.969 INFO    ] Checking for camera pi updates...
[2026-10-20 21:17:54,005.005 INFO    ] 200
[2026-10-20 21:17:54,008.008 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:17:54,055.055 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:17:54,103.103 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:17:54,105.105 INFO    ] No camera update needed
[2026-10-20 21:17:54,107.107 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:17:54,110.110 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:17:54,115.115 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:17:54,120.120 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:17:56,159.159 INFO    ] ================================================
[2026-10-20 21:17:56,174.174 INFO    ] Launching Daemon at Tue Oct 20 21:17:56 IST 2026
[2026-10-20 21:17:56,184.184 INFO    ] ================================================
[2026-10-20 21:17:56,751.751 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:17:56
[2026-10-20 21:17:57,334.334 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:17:57,603.603 INFO    ] Initializing speech engine...
[2026-10-20 21:17:57,612.612 INFO    ] 2026-10-20 21:17:57
[2026-10-20 21:17:57,857.857 INFO    ] 2026-10-20 21:17:57
[2026-10-20 21:17:57,897.897 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:17:58,101.101 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:17:58,149.149 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:17:58,360.360 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:17:58,411.411 INFO    ] time= 20/10/2026 21:17:58
[2026-10-20 21:17:58,418.418 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:17:58,433.433 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:17:58,571.571 INFO    ] No existing commands found in stream
[2026-10-20 21:18:03,601.601 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:18:03,604.604 INFO    ] Waiting 0.91 seconds before fallback handling...
[2026-10-20 21:18:05,033.033 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 21:18:05,035.035 INFO    ] Checking for system updates...
[2026-10-20 21:18:05,071.071 INFO    ] 200
[2026-10-20 21:18:05,073.073 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:18:05,125.125 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:18:05,128.128 INFO    ] No update needed
[2026-10-20 21:18:05,130.130 INFO    ] Checking for camera pi updates...
[2026-10-20 21:18:05,163.163 INFO    ] 200
[2026-10-20 21:18:05,166.166 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:18:05,205.205 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:18:05,260.260 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:18:05,262.262 INFO    ] No camera update needed
[2026-10-20 21:18:05,265.265 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:18:05,267.267 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:18:05,272.272 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:18:05,277.277 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:18:07,317.317 INFO    ] ================================================
[2026-10-20 21:18:07,333.333 INFO    ] Launching Daemon at Tue Oct 20 21:18:07 IST 2026
[2026-10-20 21:18:07,344.344 INFO    ] ================================================
[2026-10-20 21:18:07,986.986 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:18:07
[2026-10-20 21:18:08,579.579 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:18:08,841.841 INFO    ] Initializing speech engine...
[2026-10-20 21:18:08,859.859 INFO    ] 2026-10-20 21:18:08
[2026-10-20 21:18:09,128.128 INFO    ] 2026-10-20 21:18:09
[2026-10-20 21:18:09,163.163 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:18:09,370.370 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:18:09,382.382 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:18:09,543.543 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:18:09,551.551 INFO    ] time= 20/10/2026 21:18:09
[2026-10-20 21:18:09,556.556 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:18:09,565.565 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:18:09,674.674 INFO    ] No existing commands found in stream
[2026-10-20 21:18:14,704.704 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:18:14,707.707 INFO    ] Waiting 0.04 seconds before fallback handling...
[2026-10-20 21:18:15,192.192 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:18:15,195.195 INFO    ] Checking for system updates...
[2026-10-20 21:18:15,230.230 INFO    ] 200
[2026-10-20 21:18:15,233.233 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:18:15,285.285 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:18:15,288.288 INFO    ] No update needed
[2026-10-20 21:18:15,290.290 INFO    ] Checking for camera pi updates...
[2026-10-20 21:18:15,324.324 INFO    ] 200
[2026-10-20 21:18:15,327.327 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:18:15,367.367 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:18:15,421.421 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:18:15,423.423 INFO    ] No camera update needed
[2026-10-20 21:18:15,426.426 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:18:15,428.428 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:18:15,433.433 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:18:15,438.438 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:18:17,480.480 INFO    ] ================================================
[2026-10-20 21:18:17,496.496 INFO    ] Launching Daemon at Tue Oct 20 21:18:17 IST 2026
[2026-10-20 21:18:17,507.507 INFO    ] ================================================
[2026-10-20 21:18:18,089.089 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:18:18
[2026-10-20 21:18:18,688.688 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:18:18,951.951 INFO    ] Initializing speech engine...
[2026-10-20 21:18:18,966.966 INFO    ] 2026-10-20 21:18:18
[2026-10-20 21:18:19,250.250 INFO    ] 2026-10-20 21:18:19
[2026-10-20 21:18:19,288.288 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:18:19,494.494 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:18:19,548.548 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:18:19,689.689 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:18:19,723.723 INFO    ] time= 20/10/2026 21:18:19
[2026-10-20 21:18:19,783.783 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:18:19,823.823 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:18:19,965.965 INFO    ] No existing commands found in stream
[2026-10-20 21:18:24,981.981 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:18:24,984.984 INFO    ] Waiting 2.03 seconds before fallback handling...
[2026-10-20 21:18:27,515.515 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:18:27,518.518 INFO    ] Checking for system updates...
[2026-10-20 21:18:27,555.555 INFO    ] 200
[2026-10-20 21:18:27,558.558 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:18:27,611.611 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:18:27,614.614 INFO    ] No update needed
[2026-10-20 21:18:27,616.616 INFO    ] Checking for camera pi updates...
[2026-10-20 21:18:27,650.650 INFO    ] 200
[2026-10-20 21:18:27,652.652 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:18:27,697.697 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:18:27,752.752 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:18:27,754.754 INFO    ] No camera update needed
[2026-10-20 21:18:27,757.757 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:18:27,759.759 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:18:27,765.765 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:18:27,770.770 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:18:29,811.811 INFO    ] ================================================
[2026-10-20 21:18:29,826.826 INFO    ] Launching Daemon at Tue Oct 20 21:18:29 IST 2026
[2026-10-20 21:18:29,836.836 INFO    ] ================================================
[2026-10-20 21:18:30,419.419 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:18:30
[2026-10-20 21:18:31,018.018 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:18:31,296.296 INFO    ] Initializing speech engine...
[2026-10-20 21:18:31,302.302 INFO    ] 2026-10-20 21:18:31
[2026-10-20 21:18:31,557.557 INFO    ] 2026-10-20 21:18:31
[2026-10-20 21:18:31,614.614 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:18:31,838.838 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:18:31,847.847 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:18:32,035.035 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:18:32,090.090 INFO    ] time= 20/10/2026 21:18:32
[2026-10-20 21:18:32,142.142 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:18:32,145.145 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:18:32,292.292 INFO    ] No existing commands found in stream
[2026-10-20 21:18:37,317.317 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:18:37,320.320 INFO    ] Waiting 3.32 seconds before fallback handling...
[2026-10-20 21:18:41,129.129 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 21:18:41,132.132 INFO    ] Checking for system updates...
[2026-10-20 21:18:41,168.168 INFO    ] 200
[2026-10-20 21:18:41,170.170 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:18:41,226.226 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:18:41,228.228 INFO    ] No update needed
[2026-10-20 21:18:41,231.231 INFO    ] Checking for camera pi updates...
[2026-10-20 21:18:41,271.271 INFO    ] 200
[2026-10-20 21:18:41,274.274 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:18:41,313.313 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:18:41,457.457 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:18:41,459.459 INFO    ] No camera update needed
[2026-10-20 21:18:41,462.462 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:18:41,464.464 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:18:41,469.469 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:18:41,474.474 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:18:43,515.515 INFO    ] ================================================
[2026-10-20 21:18:43,531.531 INFO    ] Launching Daemon at Tue Oct 20 21:18:43 IST 2026
[2026-10-20 21:18:43,542.542 INFO    ] ================================================
[2026-10-20 21:18:44,113.113 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:18:44
[2026-10-20 21:18:44,696.696 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:18:44,962.962 INFO    ] Initializing speech engine...
[2026-10-20 21:18:44,975.975 INFO    ] 2026-10-20 21:18:44
[2026-10-20 21:18:45,222.222 INFO    ] 2026-10-20 21:18:45
[2026-10-20 21:18:45,256.256 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:18:45,443.443 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:18:45,462.462 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:18:45,656.656 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:18:45,664.664 INFO    ] time= 20/10/2026 21:18:45
[2026-10-20 21:18:45,728.728 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:18:45,793.793 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:18:45,946.946 INFO    ] No existing commands found in stream
[2026-10-20 21:18:50,965.965 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:18:50,968.968 INFO    ] Waiting 2.25 seconds before fallback handling...
[2026-10-20 21:18:53,750.750 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:18:53,753.753 INFO    ] Checking for system updates...
[2026-10-20 21:18:53,789.789 INFO    ] 200
[2026-10-20 21:18:53,792.792 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:18:53,851.851 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:18:53,854.854 INFO    ] No update needed
[2026-10-20 21:18:53,857.857 INFO    ] Checking for camera pi updates...
[2026-10-20 21:18:53,907.907 INFO    ] 200
[2026-10-20 21:18:53,910.910 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:18:53,950.950 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:18:54,007.007 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:18:54,010.010 INFO    ] No camera update needed
[2026-10-20 21:18:54,013.013 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:18:54,016.016 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:18:54,022.022 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:18:54,028.028 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:18:56,069.069 INFO    ] ================================================
[2026-10-20 21:18:56,084.084 INFO    ] Launching Daemon at Tue Oct 20 21:18:56 IST 2026
[2026-10-20 21:18:56,094.094 INFO    ] ================================================
[2026-10-20 21:18:56,734.734 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:18:56
[2026-10-20 21:18:57,395.395 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:18:57,694.694 INFO    ] Initializing speech engine...
[2026-10-20 21:18:57,703.703 INFO    ] 2026-10-20 21:18:57
[2026-10-20 21:18:57,987.987 INFO    ] 2026-10-20 21:18:57
[2026-10-20 21:18:58,033.033 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:18:58,315.315 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:18:58,325.325 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:18:58,520.520 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:18:58,538.538 INFO    ] time= 20/10/2026 21:18:58
[2026-10-20 21:18:58,546.546 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:18:58,575.575 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:18:58,707.707 INFO    ] No existing commands found in stream
[2026-10-20 21:19:03,743.743 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:19:03,746.746 INFO    ] Waiting 3.77 seconds before fallback handling...
[2026-10-20 21:19:08,083.083 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 21:19:08,086.086 INFO    ] Checking for system updates...
[2026-10-20 21:19:08,123.123 INFO    ] 200
[2026-10-20 21:19:08,126.126 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:19:08,179.179 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:19:08,181.181 INFO    ] No update needed
[2026-10-20 21:19:08,184.184 INFO    ] Checking for camera pi updates...
[2026-10-20 21:19:08,222.222 INFO    ] 200
[2026-10-20 21:19:08,225.225 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:19:08,266.266 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:19:08,313.313 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:19:08,315.315 INFO    ] No camera update needed
[2026-10-20 21:19:08,318.318 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:19:08,321.321 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:19:08,327.327 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:19:08,333.333 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:19:10,373.373 INFO    ] ================================================
[2026-10-20 21:19:10,387.387 INFO    ] Launching Daemon at Tue Oct 20 21:19:10 IST 2026
[2026-10-20 21:19:10,397.397 INFO    ] ================================================
[2026-10-20 21:19:10,968.968 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:19:10
[2026-10-20 21:19:11,555.555 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:19:11,808.808 INFO    ] Initializing speech engine...
[2026-10-20 21:19:11,822.822 INFO    ] 2026-10-20 21:19:11
[2026-10-20 21:19:12,087.087 INFO    ] 2026-10-20 21:19:12
[2026-10-20 21:19:12,122.122 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:19:12,382.382 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:19:12,391.391 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:19:12,592.592 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:19:12,646.646 INFO    ] time= 20/10/2026 21:19:12
[2026-10-20 21:19:12,664.664 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:19:12,678.678 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:19:12,814.814 INFO    ] No existing commands found in stream
[2026-10-20 21:19:17,827.827 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:19:17,830.830 INFO    ] Waiting 1.77 seconds before fallback handling...
[2026-10-20 21:19:20,121.121 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 21:19:20,123.123 INFO    ] Checking for system updates...
[2026-10-20 21:19:20,159.159 INFO    ] 200
[2026-10-20 21:19:20,162.162 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:19:20,219.219 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:19:20,222.222 INFO    ] No update needed
[2026-10-20 21:19:20,225.225 INFO    ] Checking for camera pi updates...
[2026-10-20 21:19:20,258.258 INFO    ] 200
[2026-10-20 21:19:20,261.261 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:19:20,305.305 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:19:20,351.351 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:19:20,354.354 INFO    ] No camera update needed
[2026-10-20 21:19:20,356.356 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:19:20,359.359 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:19:20,365.365 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:19:20,371.371 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:19:22,412.412 INFO    ] ================================================
[2026-10-20 21:19:22,427.427 INFO    ] Launching Daemon at Tue Oct 20 21:19:22 IST 2026
[2026-10-20 21:19:22,437.437 INFO    ] ================================================
[2026-10-20 21:19:23,017.017 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:19:23
[2026-10-20 21:19:23,616.616 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:19:23,889.889 INFO    ] Initializing speech engine...
[2026-10-20 21:19:23,898.898 INFO    ] 2026-10-20 21:19:23
[2026-10-20 21:19:24,149.149 INFO    ] 2026-10-20 21:19:24
[2026-10-20 21:19:24,184.184 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:19:24,444.444 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:19:24,469.469 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:19:24,625.625 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:19:24,647.647 INFO    ] time= 20/10/2026 21:19:24
[2026-10-20 21:19:24,686.686 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:19:24,735.735 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:19:24,913.913 INFO    ] No existing commands found in stream
[2026-10-20 21:19:29,949.949 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:19:29,952.952 INFO    ] Waiting 1.26 seconds before fallback handling...
[2026-10-20 21:19:31,748.748 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:19:31,751.751 INFO    ] Checking for system updates...
[2026-10-20 21:19:31,787.787 INFO    ] 200
[2026-10-20 21:19:31,790.790 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:19:31,851.851 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:19:31,855.855 INFO    ] No update needed
[2026-10-20 21:19:31,858.858 INFO    ] Checking for camera pi updates...
[2026-10-20 21:19:31,899.899 INFO    ] 200
[2026-10-20 21:19:31,903.903 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:19:31,956.956 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:19:31,992.992 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:19:31,995.995 INFO    ] No camera update needed
[2026-10-20 21:19:31,998.998 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:19:32,001.001 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:19:32,008.008 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:19:32,014.014 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:19:34,057.057 INFO    ] ================================================
[2026-10-20 21:19:34,072.072 INFO    ] Launching Daemon at Tue Oct 20 21:19:34 IST 2026
[2026-10-20 21:19:34,084.084 INFO    ] ================================================
[2026-10-20 21:19:34,664.664 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:19:34
[2026-10-20 21:19:35,263.263 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:19:35,549.549 INFO    ] Initializing speech engine...
[2026-10-20 21:19:35,559.559 INFO    ] 2026-10-20 21:19:35
[2026-10-20 21:19:35,824.824 INFO    ] 2026-10-20 21:19:35
[2026-10-20 21:19:35,860.860 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:19:36,056.056 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:19:36,070.070 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:19:36,232.232 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:19:36,237.237 INFO    ] time= 20/10/2026 21:19:36
[2026-10-20 21:19:36,244.244 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:19:36,272.272 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:19:36,420.420 INFO    ] No existing commands found in stream
[2026-10-20 21:19:41,445.445 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:19:41,448.448 INFO    ] Waiting 0.84 seconds before fallback handling...
[2026-10-20 21:19:42,821.821 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 21:19:42,824.824 INFO    ] Checking for system updates...
[2026-10-20 21:19:42,860.860 INFO    ] 200
[2026-10-20 21:19:42,863.863 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:19:42,915.915 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:19:42,918.918 INFO    ] No update needed
[2026-10-20 21:19:42,920.920 INFO    ] Checking for camera pi updates...
[2026-10-20 21:19:42,962.962 INFO    ] 200
[2026-10-20 21:19:42,965.965 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:19:43,006.006 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:19:43,040.040 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:19:43,042.042 INFO    ] No camera update needed
[2026-10-20 21:19:43,045.045 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:19:43,048.048 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:19:43,054.054 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:19:43,060.060 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:19:45,101.101 INFO    ] ================================================
[2026-10-20 21:19:45,116.116 INFO    ] Launching Daemon at Tue Oct 20 21:19:45 IST 2026
[2026-10-20 21:19:45,127.127 INFO    ] ================================================
[2026-10-20 21:19:45,694.694 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:19:45
[2026-10-20 21:19:46,279.279 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:19:46,531.531 INFO    ] Initializing speech engine...
[2026-10-20 21:19:46,538.538 INFO    ] 2026-10-20 21:19:46
[2026-10-20 21:19:46,831.831 INFO    ] 2026-10-20 21:19:46
[2026-10-20 21:19:46,868.868 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:19:47,073.073 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:19:47,091.091 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:19:47,240.240 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:19:47,245.245 INFO    ] time= 20/10/2026 21:19:47
[2026-10-20 21:19:47,252.252 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:19:47,274.274 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:19:47,399.399 INFO    ] No existing commands found in stream
[2026-10-20 21:19:52,424.424 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:19:52,431.431 INFO    ] Waiting 1.36 seconds before fallback handling...
[2026-10-20 21:19:54,291.291 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 21:19:54,294.294 INFO    ] Checking for system updates...
[2026-10-20 21:19:54,330.330 INFO    ] 200
[2026-10-20 21:19:54,332.332 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:19:54,385.385 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:19:54,387.387 INFO    ] No update needed
[2026-10-20 21:19:54,389.389 INFO    ] Checking for camera pi updates...
[2026-10-20 21:19:54,426.426 INFO    ] 200
[2026-10-20 21:19:54,428.428 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:19:54,468.468 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:19:54,519.519 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:19:54,522.522 INFO    ] No camera update needed
[2026-10-20 21:19:54,524.524 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:19:54,526.526 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:19:54,531.531 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:19:54,536.536 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:19:56,576.576 INFO    ] ================================================
[2026-10-20 21:19:56,591.591 INFO    ] Launching Daemon at Tue Oct 20 21:19:56 IST 2026
[2026-10-20 21:19:56,601.601 INFO    ] ================================================
[2026-10-20 21:19:57,176.176 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:19:57
[2026-10-20 21:19:57,769.769 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:19:58,046.046 INFO    ] Initializing speech engine...
[2026-10-20 21:19:58,055.055 INFO    ] 2026-10-20 21:19:58
[2026-10-20 21:19:58,304.304 INFO    ] 2026-10-20 21:19:58
[2026-10-20 21:19:58,339.339 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:19:58,601.601 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:19:58,606.606 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:19:58,749.749 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:19:58,804.804 INFO    ] time= 20/10/2026 21:19:58
[2026-10-20 21:19:58,858.858 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:19:58,878.878 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:19:59,009.009 INFO    ] No existing commands found in stream
[2026-10-20 21:20:04,038.038 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:20:04,041.041 INFO    ] Waiting 0.46 seconds before fallback handling...
[2026-10-20 21:20:08,434.434 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 21:20:08,437.437 INFO    ] Checking for system updates...
[2026-10-20 21:20:08,474.474 INFO    ] 200
[2026-10-20 21:20:08,477.477 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:20:08,528.528 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:20:08,531.531 INFO    ] No update needed
[2026-10-20 21:20:08,533.533 INFO    ] Checking for camera pi updates...
[2026-10-20 21:20:08,570.570 INFO    ] 200
[2026-10-20 21:20:08,572.572 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:20:08,612.612 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:20:08,645.645 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:20:08,647.647 INFO    ] No camera update needed
[2026-10-20 21:20:08,649.649 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:20:08,652.652 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:20:08,657.657 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:20:08,662.662 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:20:10,701.701 INFO    ] ================================================
[2026-10-20 21:20:10,716.716 INFO    ] Launching Daemon at Tue Oct 20 21:20:10 IST 2026
[2026-10-20 21:20:10,727.727 INFO    ] ================================================
[2026-10-20 21:20:11,307.307 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:20:11
[2026-10-20 21:20:11,903.903 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:20:12,167.167 INFO    ] Initializing speech engine...
[2026-10-20 21:20:12,192.192 INFO    ] 2026-10-20 21:20:12
[2026-10-20 21:20:12,463.463 INFO    ] 2026-10-20 21:20:12
[2026-10-20 21:20:12,501.501 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:20:12,786.786 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:20:12,796.796 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:20:12,944.944 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:20:12,961.961 INFO    ] time= 20/10/2026 21:20:12
[2026-10-20 21:20:13,021.021 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:20:13,065.065 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:20:13,218.218 INFO    ] No existing commands found in stream
[2026-10-20 21:20:18,236.236 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:20:18,239.239 INFO    ] Waiting 1.25 seconds before fallback handling...
[2026-10-20 21:20:20,022.022 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:20:20,025.025 INFO    ] Checking for system updates...
[2026-10-20 21:20:20,061.061 INFO    ] 200
[2026-10-20 21:20:20,063.063 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:20:20,115.115 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:20:20,117.117 INFO    ] No update needed
[2026-10-20 21:20:20,119.119 INFO    ] Checking for camera pi updates...
[2026-10-20 21:20:20,152.152 INFO    ] 200
[2026-10-20 21:20:20,155.155 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:20:20,196.196 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:20:20,246.246 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:20:20,249.249 INFO    ] No camera update needed
[2026-10-20 21:20:20,251.251 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:20:20,253.253 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:20:20,259.259 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:20:20,264.264 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:20:22,302.302 INFO    ] ================================================
[2026-10-20 21:20:22,317.317 INFO    ] Launching Daemon at Tue Oct 20 21:20:22 IST 2026
[2026-10-20 21:20:22,328.328 INFO    ] ================================================
[2026-10-20 21:20:22,900.900 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:20:22
[2026-10-20 21:20:23,491.491 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:20:23,760.760 INFO    ] Initializing speech engine...
[2026-10-20 21:20:23,768.768 INFO    ] 2026-10-20 21:20:23
[2026-10-20 21:20:24,013.013 INFO    ] 2026-10-20 21:20:24
[2026-10-20 21:20:24,049.049 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:20:24,310.310 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:20:24,314.314 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:20:24,452.452 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:20:24,527.527 INFO    ] time= 20/10/2026 21:20:24
[2026-10-20 21:20:24,582.582 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:20:24,592.592 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:20:24,741.741 INFO    ] No existing commands found in stream
[2026-10-20 21:20:29,753.753 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:20:29,756.756 INFO    ] Waiting 1.45 seconds before fallback handling...
[2026-10-20 21:20:31,683.683 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:20:31,686.686 INFO    ] Checking for system updates...
[2026-10-20 21:20:31,721.721 INFO    ] 200
[2026-10-20 21:20:31,723.723 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:20:31,775.775 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:20:31,780.780 INFO    ] No update needed
[2026-10-20 21:20:31,783.783 INFO    ] Checking for camera pi updates...
[2026-10-20 21:20:31,831.831 INFO    ] 200
[2026-10-20 21:20:31,833.833 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:20:31,886.886 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:20:31,935.935 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:20:31,938.938 INFO    ] No camera update needed
[2026-10-20 21:20:31,941.941 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:20:31,943.943 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:20:31,950.950 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:20:31,955.955 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:20:34,996.996 INFO    ] ================================================
[2026-10-20 21:20:34,013.013 INFO    ] Launching Daemon at Tue Oct 20 21:20:34 IST 2026
[2026-10-20 21:20:34,024.024 INFO    ] ================================================
[2026-10-20 21:20:34,603.603 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:20:34
[2026-10-20 21:20:35,201.201 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:20:35,464.464 INFO    ] Initializing speech engine...
[2026-10-20 21:20:35,478.478 INFO    ] 2026-10-20 21:20:35
[2026-10-20 21:20:35,761.761 INFO    ] 2026-10-20 21:20:35
[2026-10-20 21:20:35,797.797 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:20:35,993.993 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:20:36,007.007 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:20:36,171.171 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:20:36,179.179 INFO    ] time= 20/10/2026 21:20:36
[2026-10-20 21:20:36,185.185 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:20:36,235.235 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:20:36,383.383 INFO    ] No existing commands found in stream
[2026-10-20 21:20:41,407.407 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:20:41,410.410 INFO    ] Waiting 2.95 seconds before fallback handling...
[2026-10-20 21:20:44,850.850 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 21:20:44,853.853 INFO    ] Checking for system updates...
[2026-10-20 21:20:44,891.891 INFO    ] 200
[2026-10-20 21:20:44,893.893 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:20:44,945.945 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:20:44,948.948 INFO    ] No update needed
[2026-10-20 21:20:44,951.951 INFO    ] Checking for camera pi updates...
[2026-10-20 21:20:44,988.988 INFO    ] 200
[2026-10-20 21:20:44,990.990 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:20:45,030.030 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:20:45,175.175 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:20:45,177.177 INFO    ] No camera update needed
[2026-10-20 21:20:45,180.180 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:20:45,182.182 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:20:45,187.187 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:20:45,192.192 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:20:47,240.240 INFO    ] ================================================
[2026-10-20 21:20:47,255.255 INFO    ] Launching Daemon at Tue Oct 20 21:20:47 IST 2026
[2026-10-20 21:20:47,265.265 INFO    ] ================================================
[2026-10-20 21:20:47,845.845 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:20:47
[2026-10-20 21:20:48,442.442 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:20:48,700.700 INFO    ] Initializing speech engine...
[2026-10-20 21:20:48,709.709 INFO    ] 2026-10-20 21:20:48
[2026-10-20 21:20:49,000.000 INFO    ] 2026-10-20 21:20:48
[2026-10-20 21:20:49,037.037 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:20:49,257.257 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:20:49,306.306 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:20:49,485.485 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:20:49,527.527 INFO    ] time= 20/10/2026 21:20:49
[2026-10-20 21:20:49,561.561 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:20:49,621.621 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:20:49,785.785 INFO    ] No existing commands found in stream
[2026-10-20 21:20:54,811.811 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:20:54,814.814 INFO    ] Waiting 2.49 seconds before fallback handling...
[2026-10-20 21:20:57,800.800 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:20:57,803.803 INFO    ] Checking for system updates...
[2026-10-20 21:20:57,839.839 INFO    ] 200
[2026-10-20 21:20:57,841.841 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:20:57,894.894 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:20:57,896.896 INFO    ] No update needed
[2026-10-20 21:20:57,899.899 INFO    ] Checking for camera pi updates...
[2026-10-20 21:20:57,933.933 INFO    ] 200
[2026-10-20 21:20:57,935.935 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:20:57,976.976 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:20:58,027.027 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:20:58,029.029 INFO    ] No camera update needed
[2026-10-20 21:20:58,032.032 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:20:58,034.034 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:20:58,040.040 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:20:58,045.045 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:21:00,085.085 INFO    ] ================================================
[2026-10-20 21:21:00,099.099 INFO    ] Launching Daemon at Tue Oct 20 21:21:00 IST 2026
[2026-10-20 21:21:00,110.110 INFO    ] ================================================
[2026-10-20 21:21:00,676.676 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:21:00
[2026-10-20 21:21:01,431.431 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:21:01,797.797 INFO    ] Initializing speech engine...
[2026-10-20 21:21:01,807.807 INFO    ] 2026-10-20 21:21:01
[2026-10-20 21:21:02,137.137 INFO    ] 2026-10-20 21:21:02
[2026-10-20 21:21:02,183.183 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:21:02,425.425 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:21:02,433.433 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:21:02,630.630 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:21:02,691.691 INFO    ] time= 20/10/2026 21:21:02
[2026-10-20 21:21:02,732.732 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:21:02,756.756 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:21:02,868.868 INFO    ] No existing commands found in stream
[2026-10-20 21:21:07,897.897 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:21:07,900.900 INFO    ] Waiting 3.68 seconds before fallback handling...
[2026-10-20 21:21:12,077.077 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:21:12,080.080 INFO    ] Checking for system updates...
[2026-10-20 21:21:12,117.117 INFO    ] 200
[2026-10-20 21:21:12,119.119 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:21:12,172.172 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:21:12,175.175 INFO    ] No update needed
[2026-10-20 21:21:12,177.177 INFO    ] Checking for camera pi updates...
[2026-10-20 21:21:12,211.211 INFO    ] 200
[2026-10-20 21:21:12,214.214 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:21:12,255.255 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:21:12,307.307 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:21:12,310.310 INFO    ] No camera update needed
[2026-10-20 21:21:12,313.313 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:21:12,315.315 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:21:12,321.321 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:21:12,327.327 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:21:14,367.367 INFO    ] ================================================
[2026-10-20 21:21:14,382.382 INFO    ] Launching Daemon at Tue Oct 20 21:21:14 IST 2026
[2026-10-20 21:21:14,393.393 INFO    ] ================================================
[2026-10-20 21:21:15,034.034 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:21:15
[2026-10-20 21:21:15,693.693 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:21:15,992.992 INFO    ] Initializing speech engine...
[2026-10-20 21:21:15,999.999 INFO    ] 2026-10-20 21:21:15
[2026-10-20 21:21:16,278.278 INFO    ] 2026-10-20 21:21:16
[2026-10-20 21:21:16,314.314 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:21:16,589.589 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:21:16,599.599 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:21:16,750.750 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:21:16,784.784 INFO    ] time= 20/10/2026 21:21:16
[2026-10-20 21:21:16,838.838 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:21:16,892.892 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:21:17,034.034 INFO    ] No existing commands found in stream
[2026-10-20 21:21:22,054.054 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:21:22,057.057 INFO    ] Waiting 0.82 seconds before fallback handling...
[2026-10-20 21:21:23,346.346 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:21:23,348.348 INFO    ] Checking for system updates...
[2026-10-20 21:21:23,386.386 INFO    ] 200
[2026-10-20 21:21:23,388.388 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:21:23,441.441 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:21:23,444.444 INFO    ] No update needed
[2026-10-20 21:21:23,446.446 INFO    ] Checking for camera pi updates...
[2026-10-20 21:21:23,481.481 INFO    ] 200
[2026-10-20 21:21:23,483.483 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:21:23,526.526 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:21:23,587.587 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:21:23,590.590 INFO    ] No camera update needed
[2026-10-20 21:21:23,592.592 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:21:23,594.594 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:21:23,600.600 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:21:23,605.605 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:21:25,644.644 INFO    ] ================================================
[2026-10-20 21:21:25,659.659 INFO    ] Launching Daemon at Tue Oct 20 21:21:25 IST 2026
[2026-10-20 21:21:25,669.669 INFO    ] ================================================
[2026-10-20 21:21:26,241.241 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:21:26
[2026-10-20 21:21:26,830.830 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:21:27,082.082 INFO    ] Initializing speech engine...
[2026-10-20 21:21:27,102.102 INFO    ] 2026-10-20 21:21:27
[2026-10-20 21:21:27,361.361 INFO    ] 2026-10-20 21:21:27
[2026-10-20 21:21:27,396.396 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:21:27,598.598 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:21:27,638.638 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:21:27,801.801 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:21:27,865.865 INFO    ] time= 20/10/2026 21:21:27
[2026-10-20 21:21:27,920.920 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:21:27,936.936 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:21:28,085.085 INFO    ] No existing commands found in stream
[2026-10-20 21:21:33,100.100 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:21:33,103.103 INFO    ] Waiting 1.72 seconds before fallback handling...
[2026-10-20 21:21:35,335.335 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:21:35,337.337 INFO    ] Checking for system updates...
[2026-10-20 21:21:35,377.377 INFO    ] 200
[2026-10-20 21:21:35,380.380 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:21:35,433.433 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:21:35,436.436 INFO    ] No update needed
[2026-10-20 21:21:35,438.438 INFO    ] Checking for camera pi updates...
[2026-10-20 21:21:35,472.472 INFO    ] 200
[2026-10-20 21:21:35,474.474 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:21:35,514.514 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:21:35,559.559 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:21:35,561.561 INFO    ] No camera update needed
[2026-10-20 21:21:35,563.563 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:21:35,565.565 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:21:35,571.571 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:21:35,576.576 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:21:37,617.617 INFO    ] ================================================
[2026-10-20 21:21:37,632.632 INFO    ] Launching Daemon at Tue Oct 20 21:21:37 IST 2026
[2026-10-20 21:21:37,643.643 INFO    ] ================================================
[2026-10-20 21:21:38,216.216 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:21:38
[2026-10-20 21:21:38,806.806 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:21:39,087.087 INFO    ] Initializing speech engine...
[2026-10-20 21:21:39,095.095 INFO    ] 2026-10-20 21:21:39
[2026-10-20 21:21:39,340.340 INFO    ] 2026-10-20 21:21:39
[2026-10-20 21:21:39,374.374 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:21:39,633.633 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:21:39,643.643 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:21:39,778.778 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:21:39,826.826 INFO    ] time= 20/10/2026 21:21:39
[2026-10-20 21:21:39,875.875 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:21:39,915.915 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:21:40,046.046 INFO    ] No existing commands found in stream
[2026-10-20 21:21:45,071.071 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:21:45,074.074 INFO    ] Waiting 2.39 seconds before fallback handling...
[2026-10-20 21:21:48,004.004 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 21:21:48,006.006 INFO    ] Checking for system updates...
[2026-10-20 21:21:48,042.042 INFO    ] 200
[2026-10-20 21:21:48,044.044 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:21:48,096.096 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:21:48,099.099 INFO    ] No update needed
[2026-10-20 21:21:48,101.101 INFO    ] Checking for camera pi updates...
[2026-10-20 21:21:48,134.134 INFO    ] 200
[2026-10-20 21:21:48,136.136 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:21:48,177.177 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:21:48,230.230 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:21:48,233.233 INFO    ] No camera update needed
[2026-10-20 21:21:48,235.235 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:21:48,237.237 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:21:48,243.243 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:21:48,247.247 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:21:50,289.289 INFO    ] ================================================
[2026-10-20 21:21:50,303.303 INFO    ] Launching Daemon at Tue Oct 20 21:21:50 IST 2026
[2026-10-20 21:21:50,314.314 INFO    ] ================================================
[2026-10-20 21:21:50,880.880 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:21:50
[2026-10-20 21:21:51,465.465 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:21:51,734.734 INFO    ] Initializing speech engine...
[2026-10-20 21:21:51,750.750 INFO    ] 2026-10-20 21:21:51
[2026-10-20 21:21:52,020.020 INFO    ] 2026-10-20 21:21:52
[2026-10-20 21:21:52,054.054 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:21:52,252.252 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:21:52,259.259 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:21:52,431.431 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:21:52,441.441 INFO    ] time= 20/10/2026 21:21:52
[2026-10-20 21:21:52,447.447 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:21:52,473.473 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:21:52,621.621 INFO    ] No existing commands found in stream
[2026-10-20 21:21:57,641.641 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:21:57,644.644 INFO    ] Waiting 1.61 seconds before fallback handling...
[2026-10-20 21:21:59,752.752 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:21:59,755.755 INFO    ] Checking for system updates...
[2026-10-20 21:21:59,790.790 INFO    ] 200
[2026-10-20 21:21:59,792.792 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:21:59,844.844 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:21:59,846.846 INFO    ] No update needed
[2026-10-20 21:21:59,848.848 INFO    ] Checking for camera pi updates...
[2026-10-20 21:21:59,881.881 INFO    ] 200
[2026-10-20 21:21:59,884.884 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:21:59,923.923 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:21:59,972.972 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:21:59,975.975 INFO    ] No camera update needed
[2026-10-20 21:21:59,977.977 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:21:59,979.979 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:21:59,985.985 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:21:59,990.990 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:22:02,033.033 INFO    ] ================================================
[2026-10-20 21:22:02,051.051 INFO    ] Launching Daemon at Tue Oct 20 21:22:02 IST 2026
[2026-10-20 21:22:02,064.064 INFO    ] ================================================
[2026-10-20 21:22:02,770.770 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:22:02
[2026-10-20 21:22:03,406.406 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:22:03,684.684 INFO    ] Initializing speech engine...
[2026-10-20 21:22:03,691.691 INFO    ] 2026-10-20 21:22:03
[2026-10-20 21:22:03,951.951 INFO    ] 2026-10-20 21:22:03
[2026-10-20 21:22:03,981.981 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:22:04,231.231 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:22:04,241.241 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:22:04,390.390 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:22:04,438.438 INFO    ] time= 20/10/2026 21:22:04
[2026-10-20 21:22:04,487.487 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:22:04,541.541 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:22:04,675.675 INFO    ] No existing commands found in stream
[2026-10-20 21:22:09,699.699 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:22:09,703.703 INFO    ] Waiting 1.47 seconds before fallback handling...
[2026-10-20 21:22:11,722.722 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:22:11,724.724 INFO    ] Checking for system updates...
[2026-10-20 21:22:11,760.760 INFO    ] 200
[2026-10-20 21:22:11,763.763 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:22:11,821.821 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:22:11,823.823 INFO    ] No update needed
[2026-10-20 21:22:11,826.826 INFO    ] Checking for camera pi updates...
[2026-10-20 21:22:11,859.859 INFO    ] 200
[2026-10-20 21:22:11,861.861 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:22:11,901.901 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:22:11,956.956 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:22:11,959.959 INFO    ] No camera update needed
[2026-10-20 21:22:11,961.961 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:22:11,964.964 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:22:11,969.969 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:22:11,974.974 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:22:14,014.014 INFO    ] ================================================
[2026-10-20 21:22:14,029.029 INFO    ] Launching Daemon at Tue Oct 20 21:22:14 IST 2026
[2026-10-20 21:22:14,039.039 INFO    ] ================================================
[2026-10-20 21:22:14,620.620 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:22:14
[2026-10-20 21:22:15,223.223 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:22:15,488.488 INFO    ] Initializing speech engine...
[2026-10-20 21:22:15,503.503 INFO    ] 2026-10-20 21:22:15
[2026-10-20 21:22:15,787.787 INFO    ] 2026-10-20 21:22:15
[2026-10-20 21:22:15,826.826 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:22:16,052.052 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:22:16,111.111 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:22:16,274.274 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:22:16,311.311 INFO    ] time= 20/10/2026 21:22:16
[2026-10-20 21:22:16,365.365 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:22:16,421.421 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:22:16,571.571 INFO    ] No existing commands found in stream
[2026-10-20 21:22:21,583.583 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:22:21,586.586 INFO    ] Waiting 0.80 seconds before fallback handling...
[2026-10-20 21:22:22,900.900 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:22:22,903.903 INFO    ] Checking for system updates...
[2026-10-20 21:22:22,939.939 INFO    ] 200
[2026-10-20 21:22:22,941.941 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:22:22,993.993 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:22:22,995.995 INFO    ] No update needed
[2026-10-20 21:22:22,998.998 INFO    ] Checking for camera pi updates...
[2026-10-20 21:22:23,035.035 INFO    ] 200
[2026-10-20 21:22:23,037.037 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:22:23,080.080 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:22:23,110.110 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:22:23,112.112 INFO    ] No camera update needed
[2026-10-20 21:22:23,115.115 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:22:23,117.117 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:22:23,122.122 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:22:23,127.127 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:22:25,167.167 INFO    ] ================================================
[2026-10-20 21:22:25,182.182 INFO    ] Launching Daemon at Tue Oct 20 21:22:25 IST 2026
[2026-10-20 21:22:25,193.193 INFO    ] ================================================
[2026-10-20 21:22:25,763.763 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:22:25
[2026-10-20 21:22:26,349.349 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:22:26,617.617 INFO    ] Initializing speech engine...
[2026-10-20 21:22:26,626.626 INFO    ] 2026-10-20 21:22:26
[2026-10-20 21:22:26,890.890 INFO    ] 2026-10-20 21:22:26
[2026-10-20 21:22:26,921.921 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:22:27,407.407 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:22:27,418.418 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:22:27,609.609 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:22:27,665.665 INFO    ] time= 20/10/2026 21:22:27
[2026-10-20 21:22:27,695.695 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:22:27,761.761 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:22:27,874.874 INFO    ] No existing commands found in stream
[2026-10-20 21:22:32,884.884 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:22:32,887.887 INFO    ] Waiting 3.57 seconds before fallback handling...
[2026-10-20 21:22:36,893.893 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 21:22:36,896.896 INFO    ] Checking for system updates...
[2026-10-20 21:22:36,933.933 INFO    ] 200
[2026-10-20 21:22:36,935.935 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:22:36,991.991 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:22:36,993.993 INFO    ] No update needed
[2026-10-20 21:22:36,996.996 INFO    ] Checking for camera pi updates...
[2026-10-20 21:22:37,033.033 INFO    ] 200
[2026-10-20 21:22:37,035.035 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:22:37,080.080 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:22:37,127.127 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:22:37,130.130 INFO    ] No camera update needed
[2026-10-20 21:22:37,132.132 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:22:37,134.134 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:22:37,140.140 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:22:37,145.145 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:22:39,184.184 INFO    ] ================================================
[2026-10-20 21:22:39,200.200 INFO    ] Launching Daemon at Tue Oct 20 21:22:39 IST 2026
[2026-10-20 21:22:39,212.212 INFO    ] ================================================
[2026-10-20 21:22:39,783.783 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:22:39
[2026-10-20 21:22:40,369.369 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:22:40,640.640 INFO    ] Initializing speech engine...
[2026-10-20 21:22:40,649.649 INFO    ] 2026-10-20 21:22:40
[2026-10-20 21:22:40,899.899 INFO    ] 2026-10-20 21:22:40
[2026-10-20 21:22:40,933.933 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:22:41,193.193 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:22:41,202.202 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:22:41,337.337 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:22:41,385.385 INFO    ] time= 20/10/2026 21:22:41
[2026-10-20 21:22:41,449.449 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:22:41,475.475 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:22:41,615.615 INFO    ] No existing commands found in stream
[2026-10-20 21:22:46,637.637 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:22:46,640.640 INFO    ] Waiting 2.51 seconds before fallback handling...
[2026-10-20 21:22:49,660.660 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:22:49,663.663 INFO    ] Checking for system updates...
[2026-10-20 21:22:49,702.702 INFO    ] 200
[2026-10-20 21:22:49,704.704 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:22:49,757.757 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:22:49,760.760 INFO    ] No update needed
[2026-10-20 21:22:49,762.762 INFO    ] Checking for camera pi updates...
[2026-10-20 21:22:49,803.803 INFO    ] 200
[2026-10-20 21:22:49,805.805 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:22:49,846.846 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:22:49,990.990 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:22:49,992.992 INFO    ] No camera update needed
[2026-10-20 21:22:49,995.995 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:22:49,997.997 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:22:50,003.003 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:22:50,008.008 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:22:52,047.047 INFO    ] ================================================
[2026-10-20 21:22:52,063.063 INFO    ] Launching Daemon at Tue Oct 20 21:22:52 IST 2026
[2026-10-20 21:22:52,074.074 INFO    ] ================================================
[2026-10-20 21:22:52,639.639 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:22:52
[2026-10-20 21:22:53,224.224 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:22:53,485.485 INFO    ] Initializing speech engine...
[2026-10-20 21:22:53,497.497 INFO    ] 2026-10-20 21:22:53
[2026-10-20 21:22:53,783.783 INFO    ] 2026-10-20 21:22:53
[2026-10-20 21:22:53,821.821 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:22:54,049.049 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:22:54,109.109 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:22:54,274.274 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:22:54,296.296 INFO    ] time= 20/10/2026 21:22:54
[2026-10-20 21:22:54,356.356 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:22:54,405.405 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:22:54,563.563 INFO    ] No existing commands found in stream
[2026-10-20 21:22:59,581.581 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:22:59,584.584 INFO    ] Waiting 1.65 seconds before fallback handling...
[2026-10-20 21:23:01,785.785 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 21:23:01,788.788 INFO    ] Checking for system updates...
[2026-10-20 21:23:01,831.831 INFO    ] 200
[2026-10-20 21:23:01,835.835 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:23:01,917.917 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:23:01,920.920 INFO    ] No update needed
[2026-10-20 21:23:01,923.923 INFO    ] Checking for camera pi updates...
[2026-10-20 21:23:01,977.977 INFO    ] 200
[2026-10-20 21:23:01,980.980 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:23:02,028.028 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:23:02,060.060 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:23:02,063.063 INFO    ] No camera update needed
[2026-10-20 21:23:02,066.066 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:23:02,069.069 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:23:02,075.075 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:23:02,081.081 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:23:04,122.122 INFO    ] ================================================
[2026-10-20 21:23:04,137.137 INFO    ] Launching Daemon at Tue Oct 20 21:23:04 IST 2026
[2026-10-20 21:23:04,148.148 INFO    ] ================================================
[2026-10-20 21:23:04,730.730 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:23:04
[2026-10-20 21:23:05,336.336 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:23:05,607.607 INFO    ] Initializing speech engine...
[2026-10-20 21:23:05,616.616 INFO    ] 2026-10-20 21:23:05
[2026-10-20 21:23:05,868.868 INFO    ] 2026-10-20 21:23:05
[2026-10-20 21:23:05,903.903 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:23:06,161.161 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:23:06,171.171 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:23:06,374.374 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:23:06,424.424 INFO    ] time= 20/10/2026 21:23:06
[2026-10-20 21:23:06,442.442 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:23:06,460.460 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:23:06,593.593 INFO    ] No existing commands found in stream
[2026-10-20 21:23:11,606.606 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:23:11,609.609 INFO    ] Waiting 3.82 seconds before fallback handling...
[2026-10-20 21:23:15,922.922 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 21:23:15,924.924 INFO    ] Checking for system updates...
[2026-10-20 21:23:15,963.963 INFO    ] 200
[2026-10-20 21:23:15,965.965 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:23:16,020.020 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:23:16,022.022 INFO    ] No update needed
[2026-10-20 21:23:16,025.025 INFO    ] Checking for camera pi updates...
[2026-10-20 21:23:16,063.063 INFO    ] 200
[2026-10-20 21:23:16,066.066 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:23:16,107.107 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:23:16,160.160 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:23:16,162.162 INFO    ] No camera update needed
[2026-10-20 21:23:16,165.165 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:23:16,167.167 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:23:16,174.174 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:23:16,180.180 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:23:18,229.229 INFO    ] ================================================
[2026-10-20 21:23:18,245.245 INFO    ] Launching Daemon at Tue Oct 20 21:23:18 IST 2026
[2026-10-20 21:23:18,256.256 INFO    ] ================================================
[2026-10-20 21:23:18,823.823 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:23:18
[2026-10-20 21:23:19,407.407 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:23:19,679.679 INFO    ] Initializing speech engine...
[2026-10-20 21:23:19,688.688 INFO    ] 2026-10-20 21:23:19
[2026-10-20 21:23:19,943.943 INFO    ] 2026-10-20 21:23:19
[2026-10-20 21:23:19,973.973 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:23:20,243.243 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:23:20,251.251 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:23:20,407.407 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:23:20,457.457 INFO    ] time= 20/10/2026 21:23:20
[2026-10-20 21:23:20,506.506 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:23:20,550.550 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:23:20,681.681 INFO    ] No existing commands found in stream
[2026-10-20 21:23:25,709.709 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:23:25,712.712 INFO    ] Waiting 1.82 seconds before fallback handling...
[2026-10-20 21:23:28,089.089 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:23:28,092.092 INFO    ] Checking for system updates...
[2026-10-20 21:23:28,127.127 INFO    ] 200
[2026-10-20 21:23:28,129.129 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:23:28,181.181 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:23:28,183.183 INFO    ] No update needed
[2026-10-20 21:23:28,185.185 INFO    ] Checking for camera pi updates...
[2026-10-20 21:23:28,218.218 INFO    ] 200
[2026-10-20 21:23:28,221.221 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:23:28,266.266 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:23:28,316.316 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:23:28,319.319 INFO    ] No camera update needed
[2026-10-20 21:23:28,321.321 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:23:28,323.323 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:23:28,328.328 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:23:28,333.333 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:23:30,373.373 INFO    ] ================================================
[2026-10-20 21:23:30,389.389 INFO    ] Launching Daemon at Tue Oct 20 21:23:30 IST 2026
[2026-10-20 21:23:30,399.399 INFO    ] ================================================
[2026-10-20 21:23:31,005.005 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:23:31
[2026-10-20 21:23:31,672.672 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:23:32,037.037 INFO    ] Initializing speech engine...
[2026-10-20 21:23:32,046.046 INFO    ] 2026-10-20 21:23:32
[2026-10-20 21:23:32,366.366 INFO    ] 2026-10-20 21:23:32
[2026-10-20 21:23:32,415.415 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:23:32,666.666 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:23:32,677.677 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:23:32,826.826 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:23:32,842.842 INFO    ] time= 20/10/2026 21:23:32
[2026-10-20 21:23:32,914.914 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:23:32,985.985 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:23:33,151.151 INFO    ] No existing commands found in stream
[2026-10-20 21:23:38,165.165 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:23:38,175.175 INFO    ] Waiting 0.77 seconds before fallback handling...
[2026-10-20 21:23:39,478.478 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 21:23:39,481.481 INFO    ] Checking for system updates...
[2026-10-20 21:23:39,521.521 INFO    ] 200
[2026-10-20 21:23:39,523.523 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:23:39,581.581 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:23:39,584.584 INFO    ] No update needed
[2026-10-20 21:23:39,586.586 INFO    ] Checking for camera pi updates...
[2026-10-20 21:23:39,622.622 INFO    ] 200
[2026-10-20 21:23:39,625.625 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:23:39,669.669 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:23:39,720.720 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:23:39,723.723 INFO    ] No camera update needed
[2026-10-20 21:23:39,725.725 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:23:39,727.727 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:23:39,732.732 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:23:39,737.737 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:23:41,777.777 INFO    ] ================================================
[2026-10-20 21:23:41,792.792 INFO    ] Launching Daemon at Tue Oct 20 21:23:41 IST 2026
[2026-10-20 21:23:41,804.804 INFO    ] ================================================
[2026-10-20 21:23:42,452.452 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:23:42
[2026-10-20 21:23:43,090.090 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:23:43,344.344 INFO    ] Initializing speech engine...
[2026-10-20 21:23:43,354.354 INFO    ] 2026-10-20 21:23:43
[2026-10-20 21:23:43,647.647 INFO    ] 2026-10-20 21:23:43
[2026-10-20 21:23:43,682.682 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:23:43,882.882 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:23:43,922.922 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:23:44,149.149 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:23:44,199.199 INFO    ] time= 20/10/2026 21:23:44
[2026-10-20 21:23:44,215.215 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:23:44,221.221 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:23:44,361.361 INFO    ] No existing commands found in stream
[2026-10-20 21:23:49,378.378 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:23:49,381.381 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-10-20 21:23:51,374.374 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:23:51,376.376 INFO    ] Checking for system updates...
[2026-10-20 21:23:51,413.413 INFO    ] 200
[2026-10-20 21:23:51,415.415 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:23:51,477.477 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:23:51,480.480 INFO    ] No update needed
[2026-10-20 21:23:51,482.482 INFO    ] Checking for camera pi updates...
[2026-10-20 21:23:51,515.515 INFO    ] 200
[2026-10-20 21:23:51,518.518 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:23:51,558.558 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:23:51,605.605 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:23:51,607.607 INFO    ] No camera update needed
[2026-10-20 21:23:51,610.610 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:23:51,612.612 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:23:51,617.617 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:23:51,622.622 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:23:53,662.662 INFO    ] ================================================
[2026-10-20 21:23:53,678.678 INFO    ] Launching Daemon at Tue Oct 20 21:23:53 IST 2026
[2026-10-20 21:23:53,690.690 INFO    ] ================================================
[2026-10-20 21:23:54,255.255 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:23:54
[2026-10-20 21:23:54,840.840 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:23:55,090.090 INFO    ] Initializing speech engine...
[2026-10-20 21:23:55,114.114 INFO    ] 2026-10-20 21:23:55
[2026-10-20 21:23:55,387.387 INFO    ] 2026-10-20 21:23:55
[2026-10-20 21:23:55,455.455 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:23:55,697.697 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:23:55,703.703 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:23:55,930.930 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:23:55,967.967 INFO    ] time= 20/10/2026 21:23:55
[2026-10-20 21:23:55,986.986 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:23:55,996.996 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:23:56,153.153 INFO    ] No existing commands found in stream
[2026-10-20 21:24:01,183.183 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:24:01,191.191 INFO    ] Waiting 0.06 seconds before fallback handling...
[2026-10-20 21:24:01,949.949 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:24:01,952.952 INFO    ] Checking for system updates...
[2026-10-20 21:24:01,999.999 INFO    ] 200
[2026-10-20 21:24:02,002.002 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:24:02,064.064 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:24:02,067.067 INFO    ] No update needed
[2026-10-20 21:24:02,072.072 INFO    ] Checking for camera pi updates...
[2026-10-20 21:24:02,116.116 INFO    ] 200
[2026-10-20 21:24:02,119.119 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:24:02,171.171 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:24:02,204.204 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:24:02,207.207 INFO    ] No camera update needed
[2026-10-20 21:24:02,210.210 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:24:02,213.213 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:24:02,219.219 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:24:02,225.225 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:24:04,266.266 INFO    ] ================================================
[2026-10-20 21:24:04,282.282 INFO    ] Launching Daemon at Tue Oct 20 21:24:04 IST 2026
[2026-10-20 21:24:04,293.293 INFO    ] ================================================
[2026-10-20 21:24:04,875.875 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:24:04
[2026-10-20 21:24:05,477.477 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:24:05,767.767 INFO    ] Initializing speech engine...
[2026-10-20 21:24:05,777.777 INFO    ] 2026-10-20 21:24:05
[2026-10-20 21:24:06,046.046 INFO    ] 2026-10-20 21:24:06
[2026-10-20 21:24:06,082.082 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:24:06,305.305 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:24:06,349.349 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:24:06,534.534 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:24:06,572.572 INFO    ] time= 20/10/2026 21:24:06
[2026-10-20 21:24:06,616.616 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:24:06,655.655 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:24:06,819.819 INFO    ] No existing commands found in stream
[2026-10-20 21:24:11,836.836 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:24:11,839.839 INFO    ] Waiting 1.27 seconds before fallback handling...
[2026-10-20 21:24:13,607.607 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 21:24:13,610.610 INFO    ] Checking for system updates...
[2026-10-20 21:24:13,649.649 INFO    ] 200
[2026-10-20 21:24:13,652.652 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:24:13,703.703 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:24:13,705.705 INFO    ] No update needed
[2026-10-20 21:24:13,708.708 INFO    ] Checking for camera pi updates...
[2026-10-20 21:24:13,748.748 INFO    ] 200
[2026-10-20 21:24:13,750.750 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:24:13,791.791 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:24:13,840.840 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:24:13,843.843 INFO    ] No camera update needed
[2026-10-20 21:24:13,845.845 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:24:13,847.847 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:24:13,853.853 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:24:13,858.858 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:24:15,898.898 INFO    ] ================================================
[2026-10-20 21:24:15,913.913 INFO    ] Launching Daemon at Tue Oct 20 21:24:15 IST 2026
[2026-10-20 21:24:15,924.924 INFO    ] ================================================
[2026-10-20 21:24:16,574.574 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:24:16
[2026-10-20 21:24:17,240.240 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:24:17,544.544 INFO    ] Initializing speech engine...
[2026-10-20 21:24:17,558.558 INFO    ] 2026-10-20 21:24:17
[2026-10-20 21:24:17,827.827 INFO    ] 2026-10-20 21:24:17
[2026-10-20 21:24:17,883.883 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:24:18,245.245 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:24:18,286.286 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:24:18,515.515 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:24:18,549.549 INFO    ] time= 20/10/2026 21:24:18
[2026-10-20 21:24:18,608.608 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:24:18,647.647 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:24:18,798.798 INFO    ] No existing commands found in stream
[2026-10-20 21:24:23,813.813 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:24:23,816.816 INFO    ] Waiting 1.98 seconds before fallback handling...
[2026-10-20 21:24:26,278.278 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 21:24:26,281.281 INFO    ] Checking for system updates...
[2026-10-20 21:24:26,318.318 INFO    ] 200
[2026-10-20 21:24:26,321.321 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:24:26,374.374 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:24:26,376.376 INFO    ] No update needed
[2026-10-20 21:24:26,379.379 INFO    ] Checking for camera pi updates...
[2026-10-20 21:24:26,418.418 INFO    ] 200
[2026-10-20 21:24:26,421.421 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:24:26,462.462 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:24:26,512.512 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:24:26,515.515 INFO    ] No camera update needed
[2026-10-20 21:24:26,518.518 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:24:26,520.520 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:24:26,527.527 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:24:26,532.532 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:24:28,574.574 INFO    ] ================================================
[2026-10-20 21:24:28,590.590 INFO    ] Launching Daemon at Tue Oct 20 21:24:28 IST 2026
[2026-10-20 21:24:28,601.601 INFO    ] ================================================
[2026-10-20 21:24:29,255.255 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:24:29
[2026-10-20 21:24:29,931.931 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:24:30,233.233 INFO    ] Initializing speech engine...
[2026-10-20 21:24:30,247.247 INFO    ] 2026-10-20 21:24:30
[2026-10-20 21:24:30,522.522 INFO    ] 2026-10-20 21:24:30
[2026-10-20 21:24:30,560.560 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:24:30,839.839 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:24:30,850.850 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:24:31,002.002 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:24:31,045.045 INFO    ] time= 20/10/2026 21:24:31
[2026-10-20 21:24:31,094.094 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:24:31,143.143 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:24:31,272.272 INFO    ] No existing commands found in stream
[2026-10-20 21:24:36,303.303 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:24:36,305.305 INFO    ] Waiting 2.21 seconds before fallback handling...
[2026-10-20 21:24:39,027.027 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 21:24:39,030.030 INFO    ] Checking for system updates...
[2026-10-20 21:24:39,066.066 INFO    ] 200
[2026-10-20 21:24:39,069.069 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:24:39,127.127 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:24:39,129.129 INFO    ] No update needed
[2026-10-20 21:24:39,132.132 INFO    ] Checking for camera pi updates...
[2026-10-20 21:24:39,169.169 INFO    ] 200
[2026-10-20 21:24:39,171.171 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:24:39,211.211 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:24:39,259.259 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:24:39,261.261 INFO    ] No camera update needed
[2026-10-20 21:24:39,264.264 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:24:39,266.266 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:24:39,271.271 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:24:39,276.276 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:24:41,316.316 INFO    ] ================================================
[2026-10-20 21:24:41,331.331 INFO    ] Launching Daemon at Tue Oct 20 21:24:41 IST 2026
[2026-10-20 21:24:41,342.342 INFO    ] ================================================
[2026-10-20 21:24:41,924.924 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:24:41
[2026-10-20 21:24:42,520.520 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:24:42,797.797 INFO    ] Initializing speech engine...
[2026-10-20 21:24:42,804.804 INFO    ] 2026-10-20 21:24:42
[2026-10-20 21:24:43,065.065 INFO    ] 2026-10-20 21:24:43
[2026-10-20 21:24:43,119.119 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:24:43,345.345 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:24:43,351.351 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:24:43,566.566 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:24:43,606.606 INFO    ] time= 20/10/2026 21:24:43
[2026-10-20 21:24:43,624.624 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:24:43,630.630 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:24:43,744.744 INFO    ] No existing commands found in stream
[2026-10-20 21:24:48,768.768 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:24:48,771.771 INFO    ] Waiting 2.35 seconds before fallback handling...
[2026-10-20 21:24:51,683.683 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 21:24:51,686.686 INFO    ] Checking for system updates...
[2026-10-20 21:24:51,721.721 INFO    ] 200
[2026-10-20 21:24:51,723.723 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:24:51,775.775 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:24:51,777.777 INFO    ] No update needed
[2026-10-20 21:24:51,780.780 INFO    ] Checking for camera pi updates...
[2026-10-20 21:24:51,813.813 INFO    ] 200
[2026-10-20 21:24:51,815.815 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:24:51,856.856 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:24:52,009.009 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:24:52,012.012 INFO    ] No camera update needed
[2026-10-20 21:24:52,014.014 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:24:52,016.016 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:24:52,022.022 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:24:52,027.027 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:24:54,070.070 INFO    ] ================================================
[2026-10-20 21:24:54,085.085 INFO    ] Launching Daemon at Tue Oct 20 21:24:54 IST 2026
[2026-10-20 21:24:54,096.096 INFO    ] ================================================
[2026-10-20 21:24:54,730.730 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:24:54
[2026-10-20 21:24:55,315.315 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:24:55,617.617 INFO    ] Initializing speech engine...
[2026-10-20 21:24:55,625.625 INFO    ] 2026-10-20 21:24:55
[2026-10-20 21:24:55,900.900 INFO    ] 2026-10-20 21:24:55
[2026-10-20 21:24:55,936.936 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:24:56,191.191 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:24:56,202.202 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:24:56,341.341 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:24:56,406.406 INFO    ] time= 20/10/2026 21:24:56
[2026-10-20 21:24:56,472.472 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:24:56,480.480 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:24:56,608.608 INFO    ] No existing commands found in stream
[2026-10-20 21:25:01,639.639 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:25:01,645.645 INFO    ] Waiting 2.79 seconds before fallback handling...
[2026-10-20 21:25:04,981.981 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 21:25:04,984.984 INFO    ] Checking for system updates...
[2026-10-20 21:25:05,021.021 INFO    ] 200
[2026-10-20 21:25:05,023.023 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:25:05,075.075 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:25:05,078.078 INFO    ] No update needed
[2026-10-20 21:25:05,081.081 INFO    ] Checking for camera pi updates...
[2026-10-20 21:25:05,118.118 INFO    ] 200
[2026-10-20 21:25:05,121.121 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:25:05,166.166 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:25:05,211.211 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:25:05,213.213 INFO    ] No camera update needed
[2026-10-20 21:25:05,215.215 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:25:05,217.217 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:25:05,223.223 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:25:05,228.228 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:25:07,269.269 INFO    ] ================================================
[2026-10-20 21:25:07,284.284 INFO    ] Launching Daemon at Tue Oct 20 21:25:07 IST 2026
[2026-10-20 21:25:07,295.295 INFO    ] ================================================
[2026-10-20 21:25:07,866.866 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:25:07
[2026-10-20 21:25:08,465.465 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:25:08,738.738 INFO    ] Initializing speech engine...
[2026-10-20 21:25:08,748.748 INFO    ] 2026-10-20 21:25:08
[2026-10-20 21:25:08,995.995 INFO    ] 2026-10-20 21:25:08
[2026-10-20 21:25:09,030.030 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:25:09,286.286 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:25:09,291.291 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:25:09,495.495 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:25:09,549.549 INFO    ] time= 20/10/2026 21:25:09
[2026-10-20 21:25:09,555.555 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:25:09,572.572 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:25:09,716.716 INFO    ] No existing commands found in stream
[2026-10-20 21:25:14,748.748 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:25:14,751.751 INFO    ] Waiting 3.35 seconds before fallback handling...
[2026-10-20 21:25:18,601.601 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:25:18,604.604 INFO    ] Checking for system updates...
[2026-10-20 21:25:18,639.639 INFO    ] 200
[2026-10-20 21:25:18,641.641 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:25:18,701.701 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:25:18,704.704 INFO    ] No update needed
[2026-10-20 21:25:18,706.706 INFO    ] Checking for camera pi updates...
[2026-10-20 21:25:18,740.740 INFO    ] 200
[2026-10-20 21:25:18,742.742 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:25:18,782.782 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:25:18,838.838 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:25:18,841.841 INFO    ] No camera update needed
[2026-10-20 21:25:18,843.843 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:25:18,845.845 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:25:18,851.851 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:25:18,856.856 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:25:20,897.897 INFO    ] ================================================
[2026-10-20 21:25:20,912.912 INFO    ] Launching Daemon at Tue Oct 20 21:25:20 IST 2026
[2026-10-20 21:25:20,923.923 INFO    ] ================================================
[2026-10-20 21:25:21,491.491 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:25:21
[2026-10-20 21:25:22,075.075 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:25:22,347.347 INFO    ] Initializing speech engine...
[2026-10-20 21:25:22,356.356 INFO    ] 2026-10-20 21:25:22
[2026-10-20 21:25:22,607.607 INFO    ] 2026-10-20 21:25:22
[2026-10-20 21:25:22,642.642 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:25:22,877.877 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:25:22,905.905 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:25:23,108.108 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:25:23,168.168 INFO    ] time= 20/10/2026 21:25:23
[2026-10-20 21:25:23,175.175 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:25:23,192.192 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:25:23,319.319 INFO    ] No existing commands found in stream
[2026-10-20 21:25:28,334.334 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:25:28,337.337 INFO    ] Waiting 2.58 seconds before fallback handling...
[2026-10-20 21:25:31,450.450 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:25:31,453.453 INFO    ] Checking for system updates...
[2026-10-20 21:25:31,491.491 INFO    ] 200
[2026-10-20 21:25:31,493.493 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:25:31,557.557 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:25:31,560.560 INFO    ] No update needed
[2026-10-20 21:25:31,563.563 INFO    ] Checking for camera pi updates...
[2026-10-20 21:25:31,598.598 INFO    ] 200
[2026-10-20 21:25:31,601.601 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:25:31,643.643 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:25:31,693.693 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:25:31,696.696 INFO    ] No camera update needed
[2026-10-20 21:25:31,699.699 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:25:31,701.701 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:25:31,707.707 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:25:31,713.713 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:25:33,754.754 INFO    ] ================================================
[2026-10-20 21:25:33,770.770 INFO    ] Launching Daemon at Tue Oct 20 21:25:33 IST 2026
[2026-10-20 21:25:33,780.780 INFO    ] ================================================
[2026-10-20 21:25:34,441.441 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:25:34
[2026-10-20 21:25:35,065.065 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:25:35,332.332 INFO    ] Initializing speech engine...
[2026-10-20 21:25:35,343.343 INFO    ] 2026-10-20 21:25:35
[2026-10-20 21:25:35,596.596 INFO    ] 2026-10-20 21:25:35
[2026-10-20 21:25:35,631.631 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:25:35,833.833 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:25:35,892.892 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:25:36,036.036 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:25:36,091.091 INFO    ] time= 20/10/2026 21:25:36
[2026-10-20 21:25:36,140.140 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:25:36,170.170 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:25:36,305.305 INFO    ] No existing commands found in stream
[2026-10-20 21:25:41,331.331 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:25:41,333.333 INFO    ] Waiting 2.08 seconds before fallback handling...
[2026-10-20 21:25:43,955.955 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 21:25:43,958.958 INFO    ] Checking for system updates...
[2026-10-20 21:25:43,994.994 INFO    ] 200
[2026-10-20 21:25:43,996.996 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:25:44,048.048 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:25:44,050.050 INFO    ] No update needed
[2026-10-20 21:25:44,053.053 INFO    ] Checking for camera pi updates...
[2026-10-20 21:25:44,088.088 INFO    ] 200
[2026-10-20 21:25:44,091.091 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:25:44,137.137 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:25:44,188.188 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:25:44,191.191 INFO    ] No camera update needed
[2026-10-20 21:25:44,193.193 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:25:44,196.196 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:25:44,202.202 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:25:44,208.208 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:25:46,249.249 INFO    ] ================================================
[2026-10-20 21:25:46,265.265 INFO    ] Launching Daemon at Tue Oct 20 21:25:46 IST 2026
[2026-10-20 21:25:46,276.276 INFO    ] ================================================
[2026-10-20 21:25:46,933.933 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:25:46
[2026-10-20 21:25:47,608.608 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:25:47,915.915 INFO    ] Initializing speech engine...
[2026-10-20 21:25:47,927.927 INFO    ] 2026-10-20 21:25:47
[2026-10-20 21:25:48,241.241 INFO    ] 2026-10-20 21:25:48
[2026-10-20 21:25:48,322.322 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:25:48,537.537 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:25:48,545.545 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:25:48,737.737 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:25:48,744.744 INFO    ] time= 20/10/2026 21:25:48
[2026-10-20 21:25:48,764.764 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:25:48,794.794 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:25:48,899.899 INFO    ] No existing commands found in stream
[2026-10-20 21:25:53,920.920 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:25:53,923.923 INFO    ] Waiting 3.46 seconds before fallback handling...
[2026-10-20 21:25:57,925.925 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:25:57,928.928 INFO    ] Checking for system updates...
[2026-10-20 21:25:57,968.968 INFO    ] 200
[2026-10-20 21:25:57,972.972 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:25:58,024.024 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:25:58,027.027 INFO    ] No update needed
[2026-10-20 21:25:58,030.030 INFO    ] Checking for camera pi updates...
[2026-10-20 21:25:58,069.069 INFO    ] 200
[2026-10-20 21:25:58,072.072 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:25:58,113.113 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:25:58,161.161 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:25:58,164.164 INFO    ] No camera update needed
[2026-10-20 21:25:58,166.166 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:25:58,169.169 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:25:58,175.175 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:25:58,181.181 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:26:00,223.223 INFO    ] ================================================
[2026-10-20 21:26:00,238.238 INFO    ] Launching Daemon at Tue Oct 20 21:26:00 IST 2026
[2026-10-20 21:26:00,249.249 INFO    ] ================================================
[2026-10-20 21:26:00,840.840 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:26:00
[2026-10-20 21:26:01,579.579 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:26:01,889.889 INFO    ] Initializing speech engine...
[2026-10-20 21:26:01,900.900 INFO    ] 2026-10-20 21:26:01
[2026-10-20 21:26:02,209.209 INFO    ] 2026-10-20 21:26:02
[2026-10-20 21:26:02,249.249 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:26:02,476.476 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:26:02,480.480 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:26:02,637.637 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:26:02,646.646 INFO    ] time= 20/10/2026 21:26:02
[2026-10-20 21:26:02,653.653 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:26:02,676.676 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:26:02,785.785 INFO    ] No existing commands found in stream
[2026-10-20 21:26:07,807.807 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:26:07,810.810 INFO    ] Waiting 2.17 seconds before fallback handling...
[2026-10-20 21:26:10,495.495 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:26:10,498.498 INFO    ] Checking for system updates...
[2026-10-20 21:26:10,537.537 INFO    ] 200
[2026-10-20 21:26:10,540.540 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:26:10,591.591 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:26:10,594.594 INFO    ] No update needed
[2026-10-20 21:26:10,596.596 INFO    ] Checking for camera pi updates...
[2026-10-20 21:26:10,629.629 INFO    ] 200
[2026-10-20 21:26:10,632.632 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:26:10,672.672 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:26:10,732.732 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:26:10,734.734 INFO    ] No camera update needed
[2026-10-20 21:26:10,736.736 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:26:10,739.739 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:26:10,744.744 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:26:10,749.749 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:26:12,791.791 INFO    ] ================================================
[2026-10-20 21:26:12,806.806 INFO    ] Launching Daemon at Tue Oct 20 21:26:12 IST 2026
[2026-10-20 21:26:12,818.818 INFO    ] ================================================
[2026-10-20 21:26:13,457.457 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:26:13
[2026-10-20 21:26:14,131.131 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:26:14,437.437 INFO    ] Initializing speech engine...
[2026-10-20 21:26:14,450.450 INFO    ] 2026-10-20 21:26:14
[2026-10-20 21:26:14,735.735 INFO    ] 2026-10-20 21:26:14
[2026-10-20 21:26:14,844.844 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:26:15,054.054 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:26:15,062.062 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:26:15,251.251 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:26:15,264.264 INFO    ] time= 20/10/2026 21:26:15
[2026-10-20 21:26:15,286.286 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:26:15,314.314 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:26:15,419.419 INFO    ] No existing commands found in stream
[2026-10-20 21:26:20,440.440 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:26:20,443.443 INFO    ] Waiting 2.88 seconds before fallback handling...
[2026-10-20 21:26:23,846.846 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:26:23,849.849 INFO    ] Checking for system updates...
[2026-10-20 21:26:23,886.886 INFO    ] 200
[2026-10-20 21:26:23,889.889 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:26:23,944.944 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:26:23,947.947 INFO    ] No update needed
[2026-10-20 21:26:23,950.950 INFO    ] Checking for camera pi updates...
[2026-10-20 21:26:23,985.985 INFO    ] 200
[2026-10-20 21:26:23,988.988 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:26:24,034.034 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:26:24,082.082 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:26:24,085.085 INFO    ] No camera update needed
[2026-10-20 21:26:24,088.088 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:26:24,091.091 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:26:24,097.097 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:26:24,103.103 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:26:26,144.144 INFO    ] ================================================
[2026-10-20 21:26:26,160.160 INFO    ] Launching Daemon at Tue Oct 20 21:26:26 IST 2026
[2026-10-20 21:26:26,172.172 INFO    ] ================================================
[2026-10-20 21:26:26,737.737 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:26:26
[2026-10-20 21:26:27,320.320 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:26:27,591.591 INFO    ] Initializing speech engine...
[2026-10-20 21:26:27,598.598 INFO    ] 2026-10-20 21:26:27
[2026-10-20 21:26:27,875.875 INFO    ] 2026-10-20 21:26:27
[2026-10-20 21:26:27,912.912 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:26:28,136.136 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:26:28,141.141 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:26:28,356.356 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:26:28,397.397 INFO    ] time= 20/10/2026 21:26:28
[2026-10-20 21:26:28,403.403 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:26:28,421.421 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:26:28,553.553 INFO    ] No existing commands found in stream
[2026-10-20 21:26:33,567.567 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:26:33,570.570 INFO    ] Waiting 0.31 seconds before fallback handling...
[2026-10-20 21:26:34,399.399 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 21:26:34,402.402 INFO    ] Checking for system updates...
[2026-10-20 21:26:34,437.437 INFO    ] 200
[2026-10-20 21:26:34,440.440 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:26:34,492.492 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:26:34,495.495 INFO    ] No update needed
[2026-10-20 21:26:34,498.498 INFO    ] Checking for camera pi updates...
[2026-10-20 21:26:34,530.530 INFO    ] 200
[2026-10-20 21:26:34,533.533 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:26:34,573.573 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:26:34,602.602 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:26:34,604.604 INFO    ] No camera update needed
[2026-10-20 21:26:34,607.607 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:26:34,609.609 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:26:34,614.614 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:26:34,619.619 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:26:36,661.661 INFO    ] ================================================
[2026-10-20 21:26:36,676.676 INFO    ] Launching Daemon at Tue Oct 20 21:26:36 IST 2026
[2026-10-20 21:26:36,687.687 INFO    ] ================================================
[2026-10-20 21:26:37,264.264 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:26:37
[2026-10-20 21:26:37,852.852 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:26:38,105.105 INFO    ] Initializing speech engine...
[2026-10-20 21:26:38,127.127 INFO    ] 2026-10-20 21:26:38
[2026-10-20 21:26:38,382.382 INFO    ] 2026-10-20 21:26:38
[2026-10-20 21:26:38,418.418 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:26:38,617.617 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:26:38,624.624 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:26:38,815.815 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:26:38,842.842 INFO    ] time= 20/10/2026 21:26:38
[2026-10-20 21:26:38,896.896 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:26:38,948.948 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:26:39,080.080 INFO    ] No existing commands found in stream
[2026-10-20 21:26:44,106.106 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:26:44,109.109 INFO    ] Waiting 1.57 seconds before fallback handling...
[2026-10-20 21:26:46,201.201 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 21:26:46,203.203 INFO    ] Checking for system updates...
[2026-10-20 21:26:46,239.239 INFO    ] 200
[2026-10-20 21:26:46,242.242 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:26:46,293.293 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:26:46,295.295 INFO    ] No update needed
[2026-10-20 21:26:46,297.297 INFO    ] Checking for camera pi updates...
[2026-10-20 21:26:46,331.331 INFO    ] 200
[2026-10-20 21:26:46,333.333 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:26:46,373.373 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:26:46,421.421 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:26:46,424.424 INFO    ] No camera update needed
[2026-10-20 21:26:46,426.426 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:26:46,428.428 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:26:46,434.434 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:26:46,439.439 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:26:48,481.481 INFO    ] ================================================
[2026-10-20 21:26:48,497.497 INFO    ] Launching Daemon at Tue Oct 20 21:26:48 IST 2026
[2026-10-20 21:26:48,508.508 INFO    ] ================================================
[2026-10-20 21:26:49,098.098 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:26:49
[2026-10-20 21:26:49,690.690 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:26:49,948.948 INFO    ] Initializing speech engine...
[2026-10-20 21:26:49,955.955 INFO    ] 2026-10-20 21:26:49
[2026-10-20 21:26:50,252.252 INFO    ] 2026-10-20 21:26:50
[2026-10-20 21:26:50,290.290 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:26:50,488.488 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:26:50,502.502 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:26:50,660.660 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:26:50,676.676 INFO    ] time= 20/10/2026 21:26:50
[2026-10-20 21:26:50,681.681 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:26:50,688.688 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:26:50,764.764 INFO    ] No existing commands found in stream
[2026-10-20 21:26:55,774.774 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:26:55,777.777 INFO    ] Waiting 1.43 seconds before fallback handling...
[2026-10-20 21:26:57,711.711 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:26:57,714.714 INFO    ] Checking for system updates...
[2026-10-20 21:26:57,750.750 INFO    ] 200
[2026-10-20 21:26:57,752.752 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:26:57,805.805 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:26:57,807.807 INFO    ] No update needed
[2026-10-20 21:26:57,810.810 INFO    ] Checking for camera pi updates...
[2026-10-20 21:26:57,844.844 INFO    ] 200
[2026-10-20 21:26:57,846.846 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:26:57,886.886 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:26:58,032.032 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:26:58,034.034 INFO    ] No camera update needed
[2026-10-20 21:26:58,037.037 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:26:58,039.039 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:26:58,044.044 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:26:58,049.049 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:27:00,089.089 INFO    ] ================================================
[2026-10-20 21:27:00,104.104 INFO    ] Launching Daemon at Tue Oct 20 21:27:00 IST 2026
[2026-10-20 21:27:00,114.114 INFO    ] ================================================
[2026-10-20 21:27:00,754.754 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:27:00
[2026-10-20 21:27:01,569.569 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:27:01,977.977 INFO    ] Initializing speech engine...
[2026-10-20 21:27:02,024.024 INFO    ] 2026-10-20 21:27:01
[2026-10-20 21:27:02,381.381 INFO    ] 2026-10-20 21:27:02
[2026-10-20 21:27:02,429.429 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:27:02,689.689 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:27:02,741.741 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:27:02,971.971 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:27:03,026.026 INFO    ] time= 20/10/2026 21:27:02
[2026-10-20 21:27:03,081.081 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:27:03,128.128 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:27:03,269.269 INFO    ] No existing commands found in stream
[2026-10-20 21:27:08,302.302 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:27:08,304.304 INFO    ] Waiting 0.50 seconds before fallback handling...
[2026-10-20 21:27:09,318.318 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:27:09,321.321 INFO    ] Checking for system updates...
[2026-10-20 21:27:09,363.363 INFO    ] 200
[2026-10-20 21:27:09,366.366 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:27:09,418.418 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:27:09,421.421 INFO    ] No update needed
[2026-10-20 21:27:09,423.423 INFO    ] Checking for camera pi updates...
[2026-10-20 21:27:09,456.456 INFO    ] 200
[2026-10-20 21:27:09,459.459 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:27:09,504.504 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:27:09,553.553 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:27:09,555.555 INFO    ] No camera update needed
[2026-10-20 21:27:09,558.558 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:27:09,560.560 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:27:09,565.565 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:27:09,570.570 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:27:11,612.612 INFO    ] ================================================
[2026-10-20 21:27:11,627.627 INFO    ] Launching Daemon at Tue Oct 20 21:27:11 IST 2026
[2026-10-20 21:27:11,638.638 INFO    ] ================================================
[2026-10-20 21:27:12,222.222 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:27:12
[2026-10-20 21:27:12,812.812 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:27:13,067.067 INFO    ] Initializing speech engine...
[2026-10-20 21:27:13,081.081 INFO    ] 2026-10-20 21:27:13
[2026-10-20 21:27:13,347.347 INFO    ] 2026-10-20 21:27:13
[2026-10-20 21:27:13,382.382 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:27:13,582.582 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:27:13,604.604 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:27:13,790.790 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:27:13,850.850 INFO    ] time= 20/10/2026 21:27:13
[2026-10-20 21:27:13,899.899 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:27:13,925.925 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:27:14,051.051 INFO    ] No existing commands found in stream
[2026-10-20 21:27:19,076.076 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:27:19,079.079 INFO    ] Waiting 3.54 seconds before fallback handling...
[2026-10-20 21:27:23,150.150 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:27:23,153.153 INFO    ] Checking for system updates...
[2026-10-20 21:27:23,189.189 INFO    ] 200
[2026-10-20 21:27:23,192.192 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:27:23,245.245 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:27:23,247.247 INFO    ] No update needed
[2026-10-20 21:27:23,250.250 INFO    ] Checking for camera pi updates...
[2026-10-20 21:27:23,284.284 INFO    ] 200
[2026-10-20 21:27:23,286.286 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:27:23,327.327 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:27:23,374.374 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:27:23,376.376 INFO    ] No camera update needed
[2026-10-20 21:27:23,379.379 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:27:23,381.381 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:27:23,387.387 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:27:23,392.392 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:27:25,434.434 INFO    ] ================================================
[2026-10-20 21:27:25,450.450 INFO    ] Launching Daemon at Tue Oct 20 21:27:25 IST 2026
[2026-10-20 21:27:25,461.461 INFO    ] ================================================
[2026-10-20 21:27:26,028.028 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:27:26
[2026-10-20 21:27:26,618.618 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:27:26,867.867 INFO    ] Initializing speech engine...
[2026-10-20 21:27:26,891.891 INFO    ] 2026-10-20 21:27:26
[2026-10-20 21:27:27,146.146 INFO    ] 2026-10-20 21:27:27
[2026-10-20 21:27:27,181.181 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:27:27,382.382 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:27:27,441.441 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:27:27,665.665 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:27:27,711.711 INFO    ] time= 20/10/2026 21:27:27
[2026-10-20 21:27:27,717.717 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:27:27,738.738 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:27:27,884.884 INFO    ] No existing commands found in stream
[2026-10-20 21:27:32,916.916 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:27:32,918.918 INFO    ] Waiting 3.43 seconds before fallback handling...
[2026-10-20 21:27:36,836.836 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:27:36,839.839 INFO    ] Checking for system updates...
[2026-10-20 21:27:36,874.874 INFO    ] 200
[2026-10-20 21:27:36,876.876 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:27:36,932.932 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:27:36,934.934 INFO    ] No update needed
[2026-10-20 21:27:36,937.937 INFO    ] Checking for camera pi updates...
[2026-10-20 21:27:36,970.970 INFO    ] 200
[2026-10-20 21:27:36,973.973 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:27:37,016.016 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:27:37,064.064 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:27:37,066.066 INFO    ] No camera update needed
[2026-10-20 21:27:37,069.069 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:27:37,071.071 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:27:37,076.076 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:27:37,082.082 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:27:39,122.122 INFO    ] ================================================
[2026-10-20 21:27:39,137.137 INFO    ] Launching Daemon at Tue Oct 20 21:27:39 IST 2026
[2026-10-20 21:27:39,148.148 INFO    ] ================================================
[2026-10-20 21:27:39,772.772 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:27:39
[2026-10-20 21:27:40,449.449 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:27:40,752.752 INFO    ] Initializing speech engine...
[2026-10-20 21:27:40,761.761 INFO    ] 2026-10-20 21:27:40
[2026-10-20 21:27:41,031.031 INFO    ] 2026-10-20 21:27:41
[2026-10-20 21:27:41,067.067 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:27:41,317.317 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:27:41,327.327 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:27:41,529.529 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:27:41,587.587 INFO    ] time= 20/10/2026 21:27:41
[2026-10-20 21:27:41,594.594 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:27:41,612.612 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:27:41,739.739 INFO    ] No existing commands found in stream
[2026-10-20 21:27:46,755.755 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:27:46,758.758 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-10-20 21:27:50,537.537 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 21:27:50,540.540 INFO    ] Checking for system updates...
[2026-10-20 21:27:50,580.580 INFO    ] 200
[2026-10-20 21:27:50,583.583 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:27:50,641.641 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:27:50,651.651 INFO    ] No update needed
[2026-10-20 21:27:50,654.654 INFO    ] Checking for camera pi updates...
[2026-10-20 21:27:50,692.692 INFO    ] 200
[2026-10-20 21:27:50,695.695 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:27:50,738.738 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:27:50,785.785 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:27:50,788.788 INFO    ] No camera update needed
[2026-10-20 21:27:50,791.791 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:27:50,794.794 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:27:50,800.800 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:27:50,806.806 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:27:52,846.846 INFO    ] ================================================
[2026-10-20 21:27:52,862.862 INFO    ] Launching Daemon at Tue Oct 20 21:27:52 IST 2026
[2026-10-20 21:27:52,873.873 INFO    ] ================================================
[2026-10-20 21:27:53,440.440 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:27:53
[2026-10-20 21:27:54,024.024 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:27:54,293.293 INFO    ] Initializing speech engine...
[2026-10-20 21:27:54,302.302 INFO    ] 2026-10-20 21:27:54
[2026-10-20 21:27:54,552.552 INFO    ] 2026-10-20 21:27:54
[2026-10-20 21:27:54,587.587 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:27:54,831.831 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:27:54,848.848 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:27:54,991.991 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:27:55,061.061 INFO    ] time= 20/10/2026 21:27:54
[2026-10-20 21:27:55,122.122 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:27:55,128.128 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:27:55,266.266 INFO    ] No existing commands found in stream
[2026-10-20 21:28:00,288.288 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:28:00,291.291 INFO    ] Waiting 2.91 seconds before fallback handling...
[2026-10-20 21:28:03,691.691 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:28:03,694.694 INFO    ] Checking for system updates...
[2026-10-20 21:28:03,730.730 INFO    ] 200
[2026-10-20 21:28:03,732.732 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:28:03,791.791 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:28:03,793.793 INFO    ] No update needed
[2026-10-20 21:28:03,795.795 INFO    ] Checking for camera pi updates...
[2026-10-20 21:28:03,828.828 INFO    ] 200
[2026-10-20 21:28:03,831.831 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:28:03,870.870 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:28:03,919.919 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:28:03,921.921 INFO    ] No camera update needed
[2026-10-20 21:28:03,923.923 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:28:03,926.926 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:28:03,931.931 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:28:03,936.936 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:28:05,980.980 INFO    ] ================================================
[2026-10-20 21:28:06,995.995 INFO    ] Launching Daemon at Tue Oct 20 21:28:05 IST 2026
[2026-10-20 21:28:06,005.005 INFO    ] ================================================
[2026-10-20 21:28:06,664.664 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:28:06
[2026-10-20 21:28:07,338.338 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:28:07,642.642 INFO    ] Initializing speech engine...
[2026-10-20 21:28:07,651.651 INFO    ] 2026-10-20 21:28:07
[2026-10-20 21:28:07,937.937 INFO    ] 2026-10-20 21:28:07
[2026-10-20 21:28:07,982.982 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:28:08,209.209 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:28:08,214.214 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:28:08,352.352 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:28:08,355.355 INFO    ] time= 20/10/2026 21:28:08
[2026-10-20 21:28:08,358.358 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:28:08,385.385 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:28:08,492.492 INFO    ] No existing commands found in stream
[2026-10-20 21:28:13,512.512 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:28:13,515.515 INFO    ] Waiting 3.60 seconds before fallback handling...
[2026-10-20 21:28:17,634.634 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:28:17,637.637 INFO    ] Checking for system updates...
[2026-10-20 21:28:17,674.674 INFO    ] 200
[2026-10-20 21:28:17,676.676 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:28:17,727.727 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:28:17,730.730 INFO    ] No update needed
[2026-10-20 21:28:17,733.733 INFO    ] Checking for camera pi updates...
[2026-10-20 21:28:17,767.767 INFO    ] 200
[2026-10-20 21:28:17,769.769 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:28:17,810.810 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:28:17,860.860 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:28:17,862.862 INFO    ] No camera update needed
[2026-10-20 21:28:17,864.864 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:28:17,866.866 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:28:17,872.872 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:28:17,877.877 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:28:19,916.916 INFO    ] ================================================
[2026-10-20 21:28:19,931.931 INFO    ] Launching Daemon at Tue Oct 20 21:28:19 IST 2026
[2026-10-20 21:28:19,942.942 INFO    ] ================================================
[2026-10-20 21:28:20,519.519 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:28:20
[2026-10-20 21:28:21,118.118 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:28:21,394.394 INFO    ] Initializing speech engine...
[2026-10-20 21:28:21,402.402 INFO    ] 2026-10-20 21:28:21
[2026-10-20 21:28:21,649.649 INFO    ] 2026-10-20 21:28:21
[2026-10-20 21:28:21,691.691 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:28:21,939.939 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:28:21,945.945 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:28:22,081.081 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:28:22,131.131 INFO    ] time= 20/10/2026 21:28:22
[2026-10-20 21:28:22,175.175 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:28:22,206.206 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:28:22,355.355 INFO    ] No existing commands found in stream
[2026-10-20 21:28:27,370.370 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:28:27,372.372 INFO    ] Waiting 1.29 seconds before fallback handling...
[2026-10-20 21:28:29,578.578 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:28:29,581.581 INFO    ] Checking for system updates...
[2026-10-20 21:28:29,617.617 INFO    ] 200
[2026-10-20 21:28:29,619.619 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:28:29,671.671 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:28:29,673.673 INFO    ] No update needed
[2026-10-20 21:28:29,676.676 INFO    ] Checking for camera pi updates...
[2026-10-20 21:28:29,709.709 INFO    ] 200
[2026-10-20 21:28:29,711.711 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:28:29,751.751 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:28:29,796.796 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:28:29,798.798 INFO    ] No camera update needed
[2026-10-20 21:28:29,801.801 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:28:29,803.803 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:28:29,808.808 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:28:29,813.813 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:28:31,855.855 INFO    ] ================================================
[2026-10-20 21:28:31,871.871 INFO    ] Launching Daemon at Tue Oct 20 21:28:31 IST 2026
[2026-10-20 21:28:31,882.882 INFO    ] ================================================
[2026-10-20 21:28:32,495.495 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:28:32
[2026-10-20 21:28:33,118.118 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:28:33,371.371 INFO    ] Initializing speech engine...
[2026-10-20 21:28:33,380.380 INFO    ] 2026-10-20 21:28:33
[2026-10-20 21:28:33,672.672 INFO    ] 2026-10-20 21:28:33
[2026-10-20 21:28:33,711.711 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:28:33,906.906 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:28:33,920.920 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:28:34,085.085 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:28:34,091.091 INFO    ] time= 20/10/2026 21:28:34
[2026-10-20 21:28:34,098.098 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:28:34,146.146 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:28:34,272.272 INFO    ] No existing commands found in stream
[2026-10-20 21:28:39,292.292 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:28:39,294.294 INFO    ] Waiting 3.41 seconds before fallback handling...
[2026-10-20 21:28:43,264.264 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:28:43,267.267 INFO    ] Checking for system updates...
[2026-10-20 21:28:43,304.304 INFO    ] 200
[2026-10-20 21:28:43,306.306 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:28:43,361.361 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:28:43,363.363 INFO    ] No update needed
[2026-10-20 21:28:43,366.366 INFO    ] Checking for camera pi updates...
[2026-10-20 21:28:43,404.404 INFO    ] 200
[2026-10-20 21:28:43,406.406 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:28:43,451.451 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:28:43,506.506 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:28:43,509.509 INFO    ] No camera update needed
[2026-10-20 21:28:43,512.512 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:28:43,514.514 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:28:43,521.521 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:28:43,528.528 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:28:45,568.568 INFO    ] ================================================
[2026-10-20 21:28:45,589.589 INFO    ] Launching Daemon at Tue Oct 20 21:28:45 IST 2026
[2026-10-20 21:28:45,599.599 INFO    ] ================================================
[2026-10-20 21:28:46,241.241 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:28:46
[2026-10-20 21:28:46,906.906 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:28:47,206.206 INFO    ] Initializing speech engine...
[2026-10-20 21:28:47,211.211 INFO    ] 2026-10-20 21:28:47
[2026-10-20 21:28:47,525.525 INFO    ] 2026-10-20 21:28:47
[2026-10-20 21:28:47,613.613 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:28:47,827.827 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:28:47,834.834 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:28:48,026.026 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:28:48,045.045 INFO    ] time= 20/10/2026 21:28:48
[2026-10-20 21:28:48,077.077 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:28:48,086.086 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:28:48,206.206 INFO    ] No existing commands found in stream
[2026-10-20 21:28:53,237.237 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:28:53,241.241 INFO    ] Waiting 1.32 seconds before fallback handling...
[2026-10-20 21:28:55,108.108 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:28:55,111.111 INFO    ] Checking for system updates...
[2026-10-20 21:28:55,151.151 INFO    ] 200
[2026-10-20 21:28:55,154.154 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:28:55,212.212 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:28:55,214.214 INFO    ] No update needed
[2026-10-20 21:28:55,217.217 INFO    ] Checking for camera pi updates...
[2026-10-20 21:28:55,255.255 INFO    ] 200
[2026-10-20 21:28:55,257.257 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:28:55,303.303 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:28:55,351.351 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:28:55,354.354 INFO    ] No camera update needed
[2026-10-20 21:28:55,357.357 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:28:55,359.359 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:28:55,366.366 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:28:55,371.371 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:28:57,414.414 INFO    ] ================================================
[2026-10-20 21:28:57,428.428 INFO    ] Launching Daemon at Tue Oct 20 21:28:57 IST 2026
[2026-10-20 21:28:57,439.439 INFO    ] ================================================
[2026-10-20 21:28:58,005.005 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:28:58
[2026-10-20 21:28:58,587.587 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:28:58,856.856 INFO    ] Initializing speech engine...
[2026-10-20 21:28:58,865.865 INFO    ] 2026-10-20 21:28:58
[2026-10-20 21:28:59,123.123 INFO    ] 2026-10-20 21:28:59
[2026-10-20 21:28:59,154.154 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:28:59,424.424 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:28:59,433.433 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:28:59,584.584 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:28:59,627.627 INFO    ] time= 20/10/2026 21:28:59
[2026-10-20 21:28:59,676.676 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:28:59,730.730 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:28:59,872.872 INFO    ] No existing commands found in stream
[2026-10-20 21:29:04,897.897 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:29:04,900.900 INFO    ] Waiting 1.40 seconds before fallback handling...
[2026-10-20 21:29:06,803.803 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 21:29:06,806.806 INFO    ] Checking for system updates...
[2026-10-20 21:29:06,841.841 INFO    ] 200
[2026-10-20 21:29:06,843.843 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:29:06,896.896 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:29:06,898.898 INFO    ] No update needed
[2026-10-20 21:29:06,901.901 INFO    ] Checking for camera pi updates...
[2026-10-20 21:29:06,934.934 INFO    ] 200
[2026-10-20 21:29:06,936.936 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:29:06,977.977 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:29:07,028.028 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:29:07,030.030 INFO    ] No camera update needed
[2026-10-20 21:29:07,033.033 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:29:07,035.035 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:29:07,040.040 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:29:07,045.045 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:29:09,086.086 INFO    ] ================================================
[2026-10-20 21:29:09,101.101 INFO    ] Launching Daemon at Tue Oct 20 21:29:09 IST 2026
[2026-10-20 21:29:09,111.111 INFO    ] ================================================
[2026-10-20 21:29:09,680.680 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:29:09
[2026-10-20 21:29:10,265.265 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:29:10,537.537 INFO    ] Initializing speech engine...
[2026-10-20 21:29:10,544.544 INFO    ] 2026-10-20 21:29:10
[2026-10-20 21:29:10,815.815 INFO    ] 2026-10-20 21:29:10
[2026-10-20 21:29:10,872.872 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:29:11,151.151 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:29:11,159.159 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:29:11,354.354 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:29:11,360.360 INFO    ] time= 20/10/2026 21:29:11
[2026-10-20 21:29:11,378.378 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:29:11,401.401 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:29:11,538.538 INFO    ] No existing commands found in stream
[2026-10-20 21:29:16,571.571 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:29:16,574.574 INFO    ] Waiting 3.58 seconds before fallback handling...
[2026-10-20 21:29:20,709.709 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 21:29:20,712.712 INFO    ] Checking for system updates...
[2026-10-20 21:29:20,748.748 INFO    ] 200
[2026-10-20 21:29:20,751.751 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:29:20,808.808 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:29:20,811.811 INFO    ] No update needed
[2026-10-20 21:29:20,813.813 INFO    ] Checking for camera pi updates...
[2026-10-20 21:29:20,847.847 INFO    ] 200
[2026-10-20 21:29:20,849.849 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:29:20,896.896 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:29:20,943.943 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:29:20,946.946 INFO    ] No camera update needed
[2026-10-20 21:29:20,948.948 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:29:20,951.951 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:29:20,956.956 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:29:20,962.962 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:29:23,001.001 INFO    ] ================================================
[2026-10-20 21:29:23,015.015 INFO    ] Launching Daemon at Tue Oct 20 21:29:23 IST 2026
[2026-10-20 21:29:23,026.026 INFO    ] ================================================
[2026-10-20 21:29:23,590.590 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:29:23
[2026-10-20 21:29:24,173.173 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:29:24,417.417 INFO    ] Initializing speech engine...
[2026-10-20 21:29:24,426.426 INFO    ] 2026-10-20 21:29:24
[2026-10-20 21:29:24,700.700 INFO    ] 2026-10-20 21:29:24
[2026-10-20 21:29:24,733.733 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:29:24,993.993 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:29:25,002.002 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:29:25,199.199 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:29:25,264.264 INFO    ] time= 20/10/2026 21:29:25
[2026-10-20 21:29:25,274.274 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:29:25,295.295 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:29:25,422.422 INFO    ] No existing commands found in stream
[2026-10-20 21:29:30,437.437 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:29:30,440.440 INFO    ] Waiting 1.38 seconds before fallback handling...
[2026-10-20 21:29:32,334.334 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 21:29:32,337.337 INFO    ] Checking for system updates...
[2026-10-20 21:29:32,375.375 INFO    ] 200
[2026-10-20 21:29:32,378.378 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:29:32,439.439 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:29:32,442.442 INFO    ] No update needed
[2026-10-20 21:29:32,445.445 INFO    ] Checking for camera pi updates...
[2026-10-20 21:29:32,481.481 INFO    ] 200
[2026-10-20 21:29:32,483.483 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:29:32,528.528 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:29:32,561.561 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:29:32,564.564 INFO    ] No camera update needed
[2026-10-20 21:29:32,567.567 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:29:32,570.570 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:29:32,576.576 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:29:32,582.582 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:29:34,624.624 INFO    ] ================================================
[2026-10-20 21:29:34,639.639 INFO    ] Launching Daemon at Tue Oct 20 21:29:34 IST 2026
[2026-10-20 21:29:34,650.650 INFO    ] ================================================
[2026-10-20 21:29:35,222.222 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:29:35
[2026-10-20 21:29:35,805.805 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:29:36,075.075 INFO    ] Initializing speech engine...
[2026-10-20 21:29:36,082.082 INFO    ] 2026-10-20 21:29:36
[2026-10-20 21:29:36,332.332 INFO    ] 2026-10-20 21:29:36
[2026-10-20 21:29:36,367.367 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:29:36,624.624 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:29:36,633.633 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:29:36,862.862 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:29:36,898.898 INFO    ] time= 20/10/2026 21:29:36
[2026-10-20 21:29:36,904.904 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:29:36,923.923 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:29:37,055.055 INFO    ] No existing commands found in stream
[2026-10-20 21:29:42,070.070 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:29:42,073.073 INFO    ] Waiting 0.76 seconds before fallback handling...
[2026-10-20 21:29:43,333.333 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 21:29:43,336.336 INFO    ] Checking for system updates...
[2026-10-20 21:29:43,372.372 INFO    ] 200
[2026-10-20 21:29:43,374.374 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:29:43,430.430 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:29:43,432.432 INFO    ] No update needed
[2026-10-20 21:29:43,434.434 INFO    ] Checking for camera pi updates...
[2026-10-20 21:29:43,468.468 INFO    ] 200
[2026-10-20 21:29:43,471.471 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:29:43,511.511 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:29:43,567.567 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:29:43,570.570 INFO    ] No camera update needed
[2026-10-20 21:29:43,572.572 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:29:43,574.574 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:29:43,580.580 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:29:43,585.585 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:29:45,625.625 INFO    ] ================================================
[2026-10-20 21:29:45,640.640 INFO    ] Launching Daemon at Tue Oct 20 21:29:45 IST 2026
[2026-10-20 21:29:45,650.650 INFO    ] ================================================
[2026-10-20 21:29:46,285.285 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:29:46
[2026-10-20 21:29:46,942.942 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:29:47,239.239 INFO    ] Initializing speech engine...
[2026-10-20 21:29:47,247.247 INFO    ] 2026-10-20 21:29:47
[2026-10-20 21:29:47,533.533 INFO    ] 2026-10-20 21:29:47
[2026-10-20 21:29:47,581.581 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:29:47,835.835 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:29:47,859.859 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:29:48,073.073 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:29:48,081.081 INFO    ] time= 20/10/2026 21:29:48
[2026-10-20 21:29:48,102.102 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:29:48,132.132 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:29:48,264.264 INFO    ] No existing commands found in stream
[2026-10-20 21:29:53,295.295 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:29:53,298.298 INFO    ] Waiting 2.46 seconds before fallback handling...
[2026-10-20 21:29:56,280.280 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 21:29:56,283.283 INFO    ] Checking for system updates...
[2026-10-20 21:29:56,320.320 INFO    ] 200
[2026-10-20 21:29:56,323.323 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:29:56,381.381 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:29:56,383.383 INFO    ] No update needed
[2026-10-20 21:29:56,386.386 INFO    ] Checking for camera pi updates...
[2026-10-20 21:29:56,425.425 INFO    ] 200
[2026-10-20 21:29:56,427.427 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:29:56,467.467 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:29:56,514.514 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:29:56,516.516 INFO    ] No camera update needed
[2026-10-20 21:29:56,518.518 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:29:56,521.521 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:29:56,526.526 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:29:56,531.531 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:29:58,571.571 INFO    ] ================================================
[2026-10-20 21:29:58,585.585 INFO    ] Launching Daemon at Tue Oct 20 21:29:58 IST 2026
[2026-10-20 21:29:58,596.596 INFO    ] ================================================
[2026-10-20 21:29:59,177.177 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:29:59
[2026-10-20 21:29:59,776.776 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:30:00,052.052 INFO    ] Initializing speech engine...
[2026-10-20 21:30:00,059.059 INFO    ] 2026-10-20 21:30:00
[2026-10-20 21:30:00,320.320 INFO    ] 2026-10-20 21:30:00
[2026-10-20 21:30:00,350.350 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:30:00,596.596 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:30:00,605.605 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:30:00,820.820 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:30:00,864.864 INFO    ] time= 20/10/2026 21:30:00
[2026-10-20 21:30:00,870.870 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:30:00,888.888 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:30:01,014.014 INFO    ] No existing commands found in stream
[2026-10-20 21:30:06,029.029 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:30:06,032.032 INFO    ] Waiting 2.67 seconds before fallback handling...
[2026-10-20 21:30:09,220.220 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 21:30:09,222.222 INFO    ] Checking for system updates...
[2026-10-20 21:30:09,258.258 INFO    ] 200
[2026-10-20 21:30:09,261.261 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:30:09,322.322 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:30:09,324.324 INFO    ] No update needed
[2026-10-20 21:30:09,327.327 INFO    ] Checking for camera pi updates...
[2026-10-20 21:30:09,364.364 INFO    ] 200
[2026-10-20 21:30:09,366.366 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:30:09,406.406 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:30:09,455.455 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:30:09,457.457 INFO    ] No camera update needed
[2026-10-20 21:30:09,460.460 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:30:09,462.462 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:30:09,468.468 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:30:09,473.473 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:30:11,514.514 INFO    ] ================================================
[2026-10-20 21:30:11,529.529 INFO    ] Launching Daemon at Tue Oct 20 21:30:11 IST 2026
[2026-10-20 21:30:11,540.540 INFO    ] ================================================
[2026-10-20 21:30:12,106.106 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:30:12
[2026-10-20 21:30:12,693.693 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:30:12,948.948 INFO    ] Initializing speech engine...
[2026-10-20 21:30:12,956.956 INFO    ] 2026-10-20 21:30:12
[2026-10-20 21:30:13,248.248 INFO    ] 2026-10-20 21:30:13
[2026-10-20 21:30:13,285.285 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:30:13,483.483 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:30:13,499.499 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:30:13,626.626 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:30:13,646.646 INFO    ] time= 20/10/2026 21:30:13
[2026-10-20 21:30:13,667.667 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:30:13,676.676 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:30:13,761.761 INFO    ] No existing commands found in stream
[2026-10-20 21:30:18,791.791 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:30:18,794.794 INFO    ] Waiting 0.32 seconds before fallback handling...
[2026-10-20 21:30:19,697.697 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:30:19,700.700 INFO    ] Checking for system updates...
[2026-10-20 21:30:19,735.735 INFO    ] 200
[2026-10-20 21:30:19,738.738 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:30:19,794.794 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:30:19,797.797 INFO    ] No update needed
[2026-10-20 21:30:19,806.806 INFO    ] Checking for camera pi updates...
[2026-10-20 21:30:19,839.839 INFO    ] 200
[2026-10-20 21:30:19,842.842 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:30:19,887.887 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:30:19,939.939 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:30:19,941.941 INFO    ] No camera update needed
[2026-10-20 21:30:19,943.943 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:30:19,946.946 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:30:19,951.951 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:30:19,956.956 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:30:22,995.995 INFO    ] ================================================
[2026-10-20 21:30:22,010.010 INFO    ] Launching Daemon at Tue Oct 20 21:30:22 IST 2026
[2026-10-20 21:30:22,020.020 INFO    ] ================================================
[2026-10-20 21:30:22,600.600 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:30:22
[2026-10-20 21:30:23,202.202 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:30:23,465.465 INFO    ] Initializing speech engine...
[2026-10-20 21:30:23,471.471 INFO    ] 2026-10-20 21:30:23
[2026-10-20 21:30:23,770.770 INFO    ] 2026-10-20 21:30:23
[2026-10-20 21:30:23,808.808 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:30:24,006.006 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:30:24,021.021 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:30:24,188.188 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:30:24,194.194 INFO    ] time= 20/10/2026 21:30:24
[2026-10-20 21:30:24,201.201 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:30:24,244.244 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:30:24,391.391 INFO    ] No existing commands found in stream
[2026-10-20 21:30:29,416.416 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:30:29,419.419 INFO    ] Waiting 2.03 seconds before fallback handling...
[2026-10-20 21:30:32,026.026 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 21:30:32,029.029 INFO    ] Checking for system updates...
[2026-10-20 21:30:32,069.069 INFO    ] 200
[2026-10-20 21:30:32,072.072 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:30:32,130.130 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:30:32,133.133 INFO    ] No update needed
[2026-10-20 21:30:32,136.136 INFO    ] Checking for camera pi updates...
[2026-10-20 21:30:32,177.177 INFO    ] 200
[2026-10-20 21:30:32,180.180 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:30:32,231.231 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:30:32,271.271 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:30:32,274.274 INFO    ] No camera update needed
[2026-10-20 21:30:32,277.277 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:30:32,280.280 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:30:32,288.288 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:30:32,294.294 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:30:34,335.335 INFO    ] ================================================
[2026-10-20 21:30:34,351.351 INFO    ] Launching Daemon at Tue Oct 20 21:30:34 IST 2026
[2026-10-20 21:30:34,362.362 INFO    ] ================================================
[2026-10-20 21:30:35,010.010 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:30:35
[2026-10-20 21:30:35,681.681 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:30:35,986.986 INFO    ] Initializing speech engine...
[2026-10-20 21:30:35,994.994 INFO    ] 2026-10-20 21:30:35
[2026-10-20 21:30:36,284.284 INFO    ] 2026-10-20 21:30:36
[2026-10-20 21:30:36,329.329 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:30:36,588.588 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:30:36,606.606 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:30:36,831.831 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:30:36,839.839 INFO    ] time= 20/10/2026 21:30:36
[2026-10-20 21:30:36,857.857 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:30:36,873.873 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:30:37,007.007 INFO    ] No existing commands found in stream
[2026-10-20 21:30:42,021.021 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:30:42,024.024 INFO    ] Waiting 0.58 seconds before fallback handling...
[2026-10-20 21:30:43,125.125 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:30:43,128.128 INFO    ] Checking for system updates...
[2026-10-20 21:30:43,168.168 INFO    ] 200
[2026-10-20 21:30:43,171.171 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:30:43,229.229 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:30:43,231.231 INFO    ] No update needed
[2026-10-20 21:30:43,234.234 INFO    ] Checking for camera pi updates...
[2026-10-20 21:30:43,267.267 INFO    ] 200
[2026-10-20 21:30:43,269.269 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:30:43,318.318 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:30:43,368.368 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:30:43,371.371 INFO    ] No camera update needed
[2026-10-20 21:30:43,373.373 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:30:43,375.375 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:30:43,381.381 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:30:43,386.386 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:30:45,425.425 INFO    ] ================================================
[2026-10-20 21:30:45,440.440 INFO    ] Launching Daemon at Tue Oct 20 21:30:45 IST 2026
[2026-10-20 21:30:45,451.451 INFO    ] ================================================
[2026-10-20 21:30:46,031.031 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:30:46
[2026-10-20 21:30:46,628.628 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:30:46,890.890 INFO    ] Initializing speech engine...
[2026-10-20 21:30:46,906.906 INFO    ] 2026-10-20 21:30:46
[2026-10-20 21:30:47,194.194 INFO    ] 2026-10-20 21:30:47
[2026-10-20 21:30:47,230.230 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:30:47,425.425 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:30:47,442.442 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:30:47,607.607 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:30:47,612.612 INFO    ] time= 20/10/2026 21:30:47
[2026-10-20 21:30:47,619.619 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:30:47,624.624 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:30:47,755.755 INFO    ] No existing commands found in stream
[2026-10-20 21:30:52,780.780 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:30:52,783.783 INFO    ] Waiting 1.19 seconds before fallback handling...
[2026-10-20 21:30:54,475.475 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:30:54,478.478 INFO    ] Checking for system updates...
[2026-10-20 21:30:54,515.515 INFO    ] 200
[2026-10-20 21:30:54,517.517 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:30:54,571.571 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:30:54,574.574 INFO    ] No update needed
[2026-10-20 21:30:54,576.576 INFO    ] Checking for camera pi updates...
[2026-10-20 21:30:54,614.614 INFO    ] 200
[2026-10-20 21:30:54,616.616 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:30:54,661.661 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:30:54,705.705 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:30:54,708.708 INFO    ] No camera update needed
[2026-10-20 21:30:54,711.711 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:30:54,713.713 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:30:54,718.718 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:30:54,723.723 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:30:56,763.763 INFO    ] ================================================
[2026-10-20 21:30:56,778.778 INFO    ] Launching Daemon at Tue Oct 20 21:30:56 IST 2026
[2026-10-20 21:30:56,789.789 INFO    ] ================================================
[2026-10-20 21:30:57,370.370 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:30:57
[2026-10-20 21:30:57,968.968 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:30:58,227.227 INFO    ] Initializing speech engine...
[2026-10-20 21:30:58,236.236 INFO    ] 2026-10-20 21:30:58
[2026-10-20 21:30:58,535.535 INFO    ] 2026-10-20 21:30:58
[2026-10-20 21:30:58,570.570 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:30:58,773.773 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:30:58,780.780 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:30:58,952.952 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:30:58,962.962 INFO    ] time= 20/10/2026 21:30:58
[2026-10-20 21:30:58,968.968 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:30:59,020.020 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:30:59,141.141 INFO    ] No existing commands found in stream
[2026-10-20 21:31:04,166.166 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:31:04,169.169 INFO    ] Waiting 3.39 seconds before fallback handling...
[2026-10-20 21:31:08,074.074 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 21:31:08,076.076 INFO    ] Checking for system updates...
[2026-10-20 21:31:08,112.112 INFO    ] 200
[2026-10-20 21:31:08,115.115 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:31:08,174.174 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:31:08,177.177 INFO    ] No update needed
[2026-10-20 21:31:08,179.179 INFO    ] Checking for camera pi updates...
[2026-10-20 21:31:08,213.213 INFO    ] 200
[2026-10-20 21:31:08,216.216 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:31:08,266.266 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:31:08,425.425 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:31:08,428.428 INFO    ] No camera update needed
[2026-10-20 21:31:08,431.431 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:31:08,434.434 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:31:08,440.440 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:31:08,446.446 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:31:10,491.491 INFO    ] ================================================
[2026-10-20 21:31:10,506.506 INFO    ] Launching Daemon at Tue Oct 20 21:31:10 IST 2026
[2026-10-20 21:31:10,517.517 INFO    ] ================================================
[2026-10-20 21:31:11,185.185 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:31:11
[2026-10-20 21:31:11,874.874 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:31:12,180.180 INFO    ] Initializing speech engine...
[2026-10-20 21:31:12,187.187 INFO    ] 2026-10-20 21:31:12
[2026-10-20 21:31:12,479.479 INFO    ] 2026-10-20 21:31:12
[2026-10-20 21:31:12,526.526 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:31:12,751.751 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:31:12,757.757 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:31:12,916.916 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:31:12,978.978 INFO    ] time= 20/10/2026 21:31:12
[2026-10-20 21:31:13,020.020 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:31:13,026.026 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:31:13,156.156 INFO    ] No existing commands found in stream
[2026-10-20 21:31:18,179.179 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:31:18,182.182 INFO    ] Waiting 2.57 seconds before fallback handling...
[2026-10-20 21:31:21,255.255 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:31:21,258.258 INFO    ] Checking for system updates...
[2026-10-20 21:31:21,301.301 INFO    ] 200
[2026-10-20 21:31:21,304.304 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:31:21,362.362 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:31:21,364.364 INFO    ] No update needed
[2026-10-20 21:31:21,367.367 INFO    ] Checking for camera pi updates...
[2026-10-20 21:31:21,401.401 INFO    ] 200
[2026-10-20 21:31:21,404.404 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:31:21,444.444 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:31:21,489.489 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:31:21,492.492 INFO    ] No camera update needed
[2026-10-20 21:31:21,494.494 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:31:21,496.496 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:31:21,501.501 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:31:21,506.506 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:31:23,546.546 INFO    ] ================================================
[2026-10-20 21:31:23,566.566 INFO    ] Launching Daemon at Tue Oct 20 21:31:23 IST 2026
[2026-10-20 21:31:23,577.577 INFO    ] ================================================
[2026-10-20 21:31:24,144.144 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:31:24
[2026-10-20 21:31:24,796.796 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:31:25,113.113 INFO    ] Initializing speech engine...
[2026-10-20 21:31:25,125.125 INFO    ] 2026-10-20 21:31:25
[2026-10-20 21:31:25,418.418 INFO    ] 2026-10-20 21:31:25
[2026-10-20 21:31:25,458.458 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:31:25,691.691 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:31:25,698.698 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:31:25,912.912 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:31:25,963.963 INFO    ] time= 20/10/2026 21:31:25
[2026-10-20 21:31:25,971.971 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:31:25,992.992 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:31:26,130.130 INFO    ] No existing commands found in stream
[2026-10-20 21:31:31,157.157 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:31:31,160.160 INFO    ] Waiting 2.58 seconds before fallback handling...
[2026-10-20 21:31:34,309.309 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 21:31:34,312.312 INFO    ] Checking for system updates...
[2026-10-20 21:31:34,354.354 INFO    ] 200
[2026-10-20 21:31:34,356.356 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:31:34,419.419 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:31:34,421.421 INFO    ] No update needed
[2026-10-20 21:31:34,424.424 INFO    ] Checking for camera pi updates...
[2026-10-20 21:31:34,457.457 INFO    ] 200
[2026-10-20 21:31:34,459.459 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:31:34,505.505 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:31:34,553.553 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:31:34,556.556 INFO    ] No camera update needed
[2026-10-20 21:31:34,558.558 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:31:34,561.561 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:31:34,566.566 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:31:34,571.571 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:31:36,611.611 INFO    ] ================================================
[2026-10-20 21:31:36,626.626 INFO    ] Launching Daemon at Tue Oct 20 21:31:36 IST 2026
[2026-10-20 21:31:36,637.637 INFO    ] ================================================
[2026-10-20 21:31:37,214.214 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:31:37
[2026-10-20 21:31:37,815.815 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:31:38,089.089 INFO    ] Initializing speech engine...
[2026-10-20 21:31:38,097.097 INFO    ] 2026-10-20 21:31:38
[2026-10-20 21:31:38,346.346 INFO    ] 2026-10-20 21:31:38
[2026-10-20 21:31:38,382.382 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:31:38,632.632 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:31:38,641.641 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:31:38,775.775 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:31:38,840.840 INFO    ] time= 20/10/2026 21:31:38
[2026-10-20 21:31:38,899.899 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:31:38,908.908 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:31:39,052.052 INFO    ] No existing commands found in stream
[2026-10-20 21:31:44,065.065 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:31:44,068.068 INFO    ] Waiting 1.76 seconds before fallback handling...
[2026-10-20 21:31:46,380.380 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 21:31:46,382.382 INFO    ] Checking for system updates...
[2026-10-20 21:31:46,424.424 INFO    ] 200
[2026-10-20 21:31:46,427.427 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:31:46,480.480 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:31:46,482.482 INFO    ] No update needed
[2026-10-20 21:31:46,485.485 INFO    ] Checking for camera pi updates...
[2026-10-20 21:31:46,518.518 INFO    ] 200
[2026-10-20 21:31:46,521.521 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:31:46,567.567 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:31:46,630.630 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:31:46,633.633 INFO    ] No camera update needed
[2026-10-20 21:31:46,635.635 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:31:46,637.637 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:31:46,643.643 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:31:46,648.648 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:31:48,688.688 INFO    ] ================================================
[2026-10-20 21:31:48,703.703 INFO    ] Launching Daemon at Tue Oct 20 21:31:48 IST 2026
[2026-10-20 21:31:48,714.714 INFO    ] ================================================
[2026-10-20 21:31:49,281.281 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:31:49
[2026-10-20 21:31:49,865.865 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:31:50,117.117 INFO    ] Initializing speech engine...
[2026-10-20 21:31:50,140.140 INFO    ] 2026-10-20 21:31:50
[2026-10-20 21:31:50,395.395 INFO    ] 2026-10-20 21:31:50
[2026-10-20 21:31:50,431.431 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:31:50,640.640 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:31:50,695.695 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:31:50,862.862 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:31:50,917.917 INFO    ] time= 20/10/2026 21:31:50
[2026-10-20 21:31:50,974.974 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:31:50,980.980 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:31:51,132.132 INFO    ] No existing commands found in stream
[2026-10-20 21:31:56,162.162 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:31:56,166.166 INFO    ] Waiting 3.62 seconds before fallback handling...
[2026-10-20 21:32:00,331.331 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:32:00,334.334 INFO    ] Checking for system updates...
[2026-10-20 21:32:00,371.371 INFO    ] 200
[2026-10-20 21:32:00,373.373 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:32:00,434.434 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:32:00,437.437 INFO    ] No update needed
[2026-10-20 21:32:00,439.439 INFO    ] Checking for camera pi updates...
[2026-10-20 21:32:00,479.479 INFO    ] 200
[2026-10-20 21:32:00,482.482 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:32:00,522.522 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:32:00,570.570 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:32:00,572.572 INFO    ] No camera update needed
[2026-10-20 21:32:00,575.575 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:32:00,577.577 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:32:00,582.582 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:32:00,587.587 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:32:02,633.633 INFO    ] ================================================
[2026-10-20 21:32:02,655.655 INFO    ] Launching Daemon at Tue Oct 20 21:32:02 IST 2026
[2026-10-20 21:32:02,669.669 INFO    ] ================================================
[2026-10-20 21:32:03,389.389 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:32:03
[2026-10-20 21:32:04,065.065 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:32:04,372.372 INFO    ] Initializing speech engine...
[2026-10-20 21:32:04,383.383 INFO    ] 2026-10-20 21:32:04
[2026-10-20 21:32:04,660.660 INFO    ] 2026-10-20 21:32:04
[2026-10-20 21:32:04,716.716 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:32:04,997.997 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:32:05,005.005 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:32:05,202.202 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:32:05,209.209 INFO    ] time= 20/10/2026 21:32:05
[2026-10-20 21:32:05,231.231 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:32:05,261.261 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:32:05,409.409 INFO    ] No existing commands found in stream
[2026-10-20 21:32:10,440.440 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:32:10,443.443 INFO    ] Waiting 3.50 seconds before fallback handling...
[2026-10-20 21:32:14,512.512 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 21:32:14,514.514 INFO    ] Checking for system updates...
[2026-10-20 21:32:14,555.555 INFO    ] 200
[2026-10-20 21:32:14,557.557 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:32:14,609.609 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:32:14,611.611 INFO    ] No update needed
[2026-10-20 21:32:14,614.614 INFO    ] Checking for camera pi updates...
[2026-10-20 21:32:14,651.651 INFO    ] 200
[2026-10-20 21:32:14,653.653 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:32:14,698.698 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:32:14,754.754 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:32:14,756.756 INFO    ] No camera update needed
[2026-10-20 21:32:14,759.759 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:32:14,761.761 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:32:14,766.766 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:32:14,771.771 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:32:16,811.811 INFO    ] ================================================
[2026-10-20 21:32:16,826.826 INFO    ] Launching Daemon at Tue Oct 20 21:32:16 IST 2026
[2026-10-20 21:32:16,837.837 INFO    ] ================================================
[2026-10-20 21:32:17,425.425 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:32:17
[2026-10-20 21:32:18,011.011 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:32:18,282.282 INFO    ] Initializing speech engine...
[2026-10-20 21:32:18,291.291 INFO    ] 2026-10-20 21:32:18
[2026-10-20 21:32:18,542.542 INFO    ] 2026-10-20 21:32:18
[2026-10-20 21:32:18,583.583 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:32:18,838.838 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:32:18,843.843 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:32:18,980.980 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:32:19,009.009 INFO    ] time= 20/10/2026 21:32:18
[2026-10-20 21:32:19,059.059 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:32:19,113.113 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:32:19,265.265 INFO    ] No existing commands found in stream
[2026-10-20 21:32:24,281.281 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:32:24,283.283 INFO    ] Waiting 1.75 seconds before fallback handling...
[2026-10-20 21:32:26,541.541 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 21:32:26,544.544 INFO    ] Checking for system updates...
[2026-10-20 21:32:26,584.584 INFO    ] 200
[2026-10-20 21:32:26,586.586 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:32:26,637.637 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:32:26,640.640 INFO    ] No update needed
[2026-10-20 21:32:26,643.643 INFO    ] Checking for camera pi updates...
[2026-10-20 21:32:26,680.680 INFO    ] 200
[2026-10-20 21:32:26,682.682 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:32:26,722.722 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:32:26,779.779 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:32:26,781.781 INFO    ] No camera update needed
[2026-10-20 21:32:26,783.783 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:32:26,786.786 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:32:26,791.791 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:32:26,796.796 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:32:28,838.838 INFO    ] ================================================
[2026-10-20 21:32:28,853.853 INFO    ] Launching Daemon at Tue Oct 20 21:32:28 IST 2026
[2026-10-20 21:32:28,864.864 INFO    ] ================================================
[2026-10-20 21:32:29,438.438 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:32:29
[2026-10-20 21:32:30,071.071 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:32:30,377.377 INFO    ] Initializing speech engine...
[2026-10-20 21:32:30,386.386 INFO    ] 2026-10-20 21:32:30
[2026-10-20 21:32:30,662.662 INFO    ] 2026-10-20 21:32:30
[2026-10-20 21:32:30,720.720 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:32:30,954.954 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:32:30,959.959 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:32:31,114.114 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:32:31,179.179 INFO    ] time= 20/10/2026 21:32:31
[2026-10-20 21:32:31,231.231 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:32:31,238.238 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:32:31,416.416 INFO    ] No existing commands found in stream
[2026-10-20 21:32:36,449.449 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:32:36,452.452 INFO    ] Waiting 1.70 seconds before fallback handling...
[2026-10-20 21:32:38,705.705 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:32:38,708.708 INFO    ] Checking for system updates...
[2026-10-20 21:32:38,749.749 INFO    ] 200
[2026-10-20 21:32:38,752.752 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:32:38,805.805 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:32:38,808.808 INFO    ] No update needed
[2026-10-20 21:32:38,811.811 INFO    ] Checking for camera pi updates...
[2026-10-20 21:32:38,845.845 INFO    ] 200
[2026-10-20 21:32:38,848.848 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:32:38,889.889 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:32:38,945.945 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:32:38,947.947 INFO    ] No camera update needed
[2026-10-20 21:32:38,950.950 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:32:38,953.953 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:32:38,960.960 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:32:38,965.965 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:32:41,007.007 INFO    ] ================================================
[2026-10-20 21:32:41,023.023 INFO    ] Launching Daemon at Tue Oct 20 21:32:41 IST 2026
[2026-10-20 21:32:41,034.034 INFO    ] ================================================
[2026-10-20 21:32:41,607.607 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:32:41
[2026-10-20 21:32:42,266.266 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:32:42,581.581 INFO    ] Initializing speech engine...
[2026-10-20 21:32:42,589.589 INFO    ] 2026-10-20 21:32:42
[2026-10-20 21:32:42,878.878 INFO    ] 2026-10-20 21:32:42
[2026-10-20 21:32:42,922.922 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:32:43,215.215 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:32:43,224.224 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:32:43,419.419 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:32:43,441.441 INFO    ] time= 20/10/2026 21:32:43
[2026-10-20 21:32:43,470.470 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:32:43,480.480 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:32:43,610.610 INFO    ] No existing commands found in stream
[2026-10-20 21:32:48,636.636 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:32:48,639.639 INFO    ] Waiting 0.96 seconds before fallback handling...
[2026-10-20 21:32:50,111.111 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:32:50,114.114 INFO    ] Checking for system updates...
[2026-10-20 21:32:50,155.155 INFO    ] 200
[2026-10-20 21:32:50,158.158 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:32:50,224.224 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:32:50,227.227 INFO    ] No update needed
[2026-10-20 21:32:50,230.230 INFO    ] Checking for camera pi updates...
[2026-10-20 21:32:50,264.264 INFO    ] 200
[2026-10-20 21:32:50,267.267 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:32:50,313.313 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:32:50,363.363 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:32:50,366.366 INFO    ] No camera update needed
[2026-10-20 21:32:50,369.369 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:32:50,372.372 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:32:50,378.378 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:32:50,384.384 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:32:52,427.427 INFO    ] ================================================
[2026-10-20 21:32:52,442.442 INFO    ] Launching Daemon at Tue Oct 20 21:32:52 IST 2026
[2026-10-20 21:32:52,452.452 INFO    ] ================================================
[2026-10-20 21:32:53,036.036 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:32:53
[2026-10-20 21:32:53,638.638 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:32:53,903.903 INFO    ] Initializing speech engine...
[2026-10-20 21:32:53,918.918 INFO    ] 2026-10-20 21:32:53
[2026-10-20 21:32:54,207.207 INFO    ] 2026-10-20 21:32:54
[2026-10-20 21:32:54,243.243 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:32:54,445.445 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:32:54,461.461 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:32:54,633.633 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:32:54,640.640 INFO    ] time= 20/10/2026 21:32:54
[2026-10-20 21:32:54,661.661 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:32:54,715.715 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:32:54,855.855 INFO    ] No existing commands found in stream
[2026-10-20 21:32:59,873.873 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:32:59,876.876 INFO    ] Waiting 4.00 seconds before fallback handling...
[2026-10-20 21:33:04,348.348 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 21:33:04,351.351 INFO    ] Checking for system updates...
[2026-10-20 21:33:04,386.386 INFO    ] 200
[2026-10-20 21:33:04,388.388 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:33:04,440.440 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:33:04,443.443 INFO    ] No update needed
[2026-10-20 21:33:04,445.445 INFO    ] Checking for camera pi updates...
[2026-10-20 21:33:04,482.482 INFO    ] 200
[2026-10-20 21:33:04,484.484 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:33:04,524.524 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:33:04,584.584 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:33:04,587.587 INFO    ] No camera update needed
[2026-10-20 21:33:04,589.589 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:33:04,592.592 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:33:04,597.597 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:33:04,603.603 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:33:06,644.644 INFO    ] ================================================
[2026-10-20 21:33:06,659.659 INFO    ] Launching Daemon at Tue Oct 20 21:33:06 IST 2026
[2026-10-20 21:33:06,670.670 INFO    ] ================================================
[2026-10-20 21:33:07,246.246 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:33:07
[2026-10-20 21:33:07,839.839 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:33:08,108.108 INFO    ] Initializing speech engine...
[2026-10-20 21:33:08,117.117 INFO    ] 2026-10-20 21:33:08
[2026-10-20 21:33:08,382.382 INFO    ] 2026-10-20 21:33:08
[2026-10-20 21:33:08,440.440 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:33:08,666.666 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:33:08,672.672 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:33:08,890.890 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:33:08,932.932 INFO    ] time= 20/10/2026 21:33:08
[2026-10-20 21:33:08,948.948 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:33:08,979.979 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:33:09,088.088 INFO    ] No existing commands found in stream
[2026-10-20 21:33:14,108.108 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:33:14,111.111 INFO    ] Waiting 0.81 seconds before fallback handling...
[2026-10-20 21:33:15,489.489 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:33:15,492.492 INFO    ] Checking for system updates...
[2026-10-20 21:33:15,528.528 INFO    ] 200
[2026-10-20 21:33:15,531.531 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:33:15,592.592 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:33:15,595.595 INFO    ] No update needed
[2026-10-20 21:33:15,597.597 INFO    ] Checking for camera pi updates...
[2026-10-20 21:33:15,636.636 INFO    ] 200
[2026-10-20 21:33:15,638.638 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:33:15,682.682 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:33:15,828.828 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:33:15,831.831 INFO    ] No camera update needed
[2026-10-20 21:33:15,834.834 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:33:15,836.836 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:33:15,843.843 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:33:15,849.849 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:33:17,891.891 INFO    ] ================================================
[2026-10-20 21:33:17,907.907 INFO    ] Launching Daemon at Tue Oct 20 21:33:17 IST 2026
[2026-10-20 21:33:17,918.918 INFO    ] ================================================
[2026-10-20 21:33:18,569.569 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:33:18
[2026-10-20 21:33:19,242.242 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:33:19,547.547 INFO    ] Initializing speech engine...
[2026-10-20 21:33:19,561.561 INFO    ] 2026-10-20 21:33:19
[2026-10-20 21:33:19,872.872 INFO    ] 2026-10-20 21:33:19
[2026-10-20 21:33:19,954.954 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:33:20,205.205 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:33:20,240.240 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:33:20,415.415 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:33:20,423.423 INFO    ] time= 20/10/2026 21:33:20
[2026-10-20 21:33:20,432.432 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:33:20,487.487 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:33:20,628.628 INFO    ] No existing commands found in stream
[2026-10-20 21:33:25,645.645 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:33:25,649.649 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-10-20 21:33:28,663.663 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 21:33:28,666.666 INFO    ] Checking for system updates...
[2026-10-20 21:33:28,703.703 INFO    ] 200
[2026-10-20 21:33:28,705.705 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:33:28,764.764 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:33:28,767.767 INFO    ] No update needed
[2026-10-20 21:33:28,770.770 INFO    ] Checking for camera pi updates...
[2026-10-20 21:33:28,808.808 INFO    ] 200
[2026-10-20 21:33:28,811.811 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:33:28,856.856 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:33:28,911.911 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:33:28,913.913 INFO    ] No camera update needed
[2026-10-20 21:33:28,916.916 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:33:28,919.919 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:33:28,925.925 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:33:28,931.931 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:33:30,973.973 INFO    ] ================================================
[2026-10-20 21:33:30,989.989 INFO    ] Launching Daemon at Tue Oct 20 21:33:30 IST 2026
[2026-10-20 21:33:31,000.000 INFO    ] ================================================
[2026-10-20 21:33:31,593.593 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:33:31
[2026-10-20 21:33:32,210.210 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:33:32,501.501 INFO    ] Initializing speech engine...
[2026-10-20 21:33:32,509.509 INFO    ] 2026-10-20 21:33:32
[2026-10-20 21:33:32,774.774 INFO    ] 2026-10-20 21:33:32
[2026-10-20 21:33:32,809.809 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:33:32,996.996 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:33:33,010.010 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:33:33,171.171 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:33:33,180.180 INFO    ] time= 20/10/2026 21:33:33
[2026-10-20 21:33:33,189.189 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:33:33,240.240 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:33:33,373.373 INFO    ] No existing commands found in stream
[2026-10-20 21:33:38,403.403 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:33:38,406.406 INFO    ] Waiting 3.93 seconds before fallback handling...
[2026-10-20 21:33:42,828.828 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:33:42,831.831 INFO    ] Checking for system updates...
[2026-10-20 21:33:42,869.869 INFO    ] 200
[2026-10-20 21:33:42,872.872 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:33:42,923.923 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:33:42,926.926 INFO    ] No update needed
[2026-10-20 21:33:42,928.928 INFO    ] Checking for camera pi updates...
[2026-10-20 21:33:42,961.961 INFO    ] 200
[2026-10-20 21:33:42,963.963 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:33:43,008.008 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:33:43,064.064 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:33:43,066.066 INFO    ] No camera update needed
[2026-10-20 21:33:43,068.068 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:33:43,071.071 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:33:43,076.076 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:33:43,081.081 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:33:45,121.121 INFO    ] ================================================
[2026-10-20 21:33:45,136.136 INFO    ] Launching Daemon at Tue Oct 20 21:33:45 IST 2026
[2026-10-20 21:33:45,146.146 INFO    ] ================================================
[2026-10-20 21:33:45,716.716 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:33:45
[2026-10-20 21:33:46,315.315 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:33:46,577.577 INFO    ] Initializing speech engine...
[2026-10-20 21:33:46,592.592 INFO    ] 2026-10-20 21:33:46
[2026-10-20 21:33:46,878.878 INFO    ] 2026-10-20 21:33:46
[2026-10-20 21:33:46,916.916 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:33:47,191.191 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:33:47,206.206 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:33:47,361.361 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:33:47,388.388 INFO    ] time= 20/10/2026 21:33:47
[2026-10-20 21:33:47,442.442 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:33:47,497.497 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:33:47,648.648 INFO    ] No existing commands found in stream
[2026-10-20 21:33:52,674.674 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:33:52,676.676 INFO    ] Waiting 0.92 seconds before fallback handling...
[2026-10-20 21:33:54,999.999 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:33:55,002.002 INFO    ] Checking for system updates...
[2026-10-20 21:33:55,037.037 INFO    ] 200
[2026-10-20 21:33:55,040.040 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:33:55,091.091 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:33:55,094.094 INFO    ] No update needed
[2026-10-20 21:33:55,096.096 INFO    ] Checking for camera pi updates...
[2026-10-20 21:33:55,130.130 INFO    ] 200
[2026-10-20 21:33:55,132.132 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:33:55,172.172 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:33:55,219.219 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:33:55,222.222 INFO    ] No camera update needed
[2026-10-20 21:33:55,224.224 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:33:55,226.226 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:33:55,232.232 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:33:55,237.237 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:33:57,276.276 INFO    ] ================================================
[2026-10-20 21:33:57,291.291 INFO    ] Launching Daemon at Tue Oct 20 21:33:57 IST 2026
[2026-10-20 21:33:57,301.301 INFO    ] ================================================
[2026-10-20 21:33:57,873.873 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:33:57
[2026-10-20 21:33:58,461.461 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:33:58,735.735 INFO    ] Initializing speech engine...
[2026-10-20 21:33:58,742.742 INFO    ] 2026-10-20 21:33:58
[2026-10-20 21:33:58,985.985 INFO    ] 2026-10-20 21:33:58
[2026-10-20 21:33:59,019.019 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:33:59,218.218 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:33:59,276.276 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:33:59,422.422 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:33:59,482.482 INFO    ] time= 20/10/2026 21:33:59
[2026-10-20 21:33:59,544.544 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:33:59,551.551 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:33:59,716.716 INFO    ] No existing commands found in stream
[2026-10-20 21:34:04,742.742 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:34:04,745.745 INFO    ] Waiting 1.23 seconds before fallback handling...
[2026-10-20 21:34:06,506.506 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:34:06,509.509 INFO    ] Checking for system updates...
[2026-10-20 21:34:06,543.543 INFO    ] 200
[2026-10-20 21:34:06,546.546 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:34:06,598.598 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:34:06,600.600 INFO    ] No update needed
[2026-10-20 21:34:06,603.603 INFO    ] Checking for camera pi updates...
[2026-10-20 21:34:06,639.639 INFO    ] 200
[2026-10-20 21:34:06,642.642 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:34:06,684.684 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:34:06,731.731 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:34:06,734.734 INFO    ] No camera update needed
[2026-10-20 21:34:06,736.736 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:34:06,739.739 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:34:06,745.745 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:34:06,752.752 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:34:08,793.793 INFO    ] ================================================
[2026-10-20 21:34:08,808.808 INFO    ] Launching Daemon at Tue Oct 20 21:34:08 IST 2026
[2026-10-20 21:34:08,818.818 INFO    ] ================================================
[2026-10-20 21:34:09,383.383 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:34:09
[2026-10-20 21:34:09,965.965 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:34:10,231.231 INFO    ] Initializing speech engine...
[2026-10-20 21:34:10,241.241 INFO    ] 2026-10-20 21:34:10
[2026-10-20 21:34:10,485.485 INFO    ] 2026-10-20 21:34:10
[2026-10-20 21:34:10,520.520 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:34:10,776.776 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:34:10,781.781 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:34:10,981.981 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:34:11,031.031 INFO    ] time= 20/10/2026 21:34:10
[2026-10-20 21:34:11,049.049 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:34:11,055.055 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:34:11,200.200 INFO    ] No existing commands found in stream
[2026-10-20 21:34:16,214.214 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:34:16,217.217 INFO    ] Waiting 2.42 seconds before fallback handling...
[2026-10-20 21:34:19,184.184 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:34:19,187.187 INFO    ] Checking for system updates...
[2026-10-20 21:34:19,225.225 INFO    ] 200
[2026-10-20 21:34:19,228.228 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:34:19,294.294 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:34:19,296.296 INFO    ] No update needed
[2026-10-20 21:34:19,299.299 INFO    ] Checking for camera pi updates...
[2026-10-20 21:34:19,344.344 INFO    ] 200
[2026-10-20 21:34:19,347.347 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:34:19,391.391 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:34:19,436.436 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:34:19,439.439 INFO    ] No camera update needed
[2026-10-20 21:34:19,442.442 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:34:19,445.445 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:34:19,451.451 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:34:19,458.458 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:34:21,501.501 INFO    ] ================================================
[2026-10-20 21:34:21,516.516 INFO    ] Launching Daemon at Tue Oct 20 21:34:21 IST 2026
[2026-10-20 21:34:21,526.526 INFO    ] ================================================
[2026-10-20 21:34:22,099.099 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:34:22
[2026-10-20 21:34:22,687.687 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:34:22,966.966 INFO    ] Initializing speech engine...
[2026-10-20 21:34:22,974.974 INFO    ] 2026-10-20 21:34:22
[2026-10-20 21:34:23,242.242 INFO    ] 2026-10-20 21:34:23
[2026-10-20 21:34:23,283.283 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:34:23,527.527 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:34:23,535.535 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:34:23,729.729 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:34:23,769.769 INFO    ] time= 20/10/2026 21:34:23
[2026-10-20 21:34:23,775.775 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:34:23,793.793 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:34:23,923.923 INFO    ] No existing commands found in stream
[2026-10-20 21:34:28,935.935 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:34:28,937.937 INFO    ] Waiting 2.95 seconds before fallback handling...
[2026-10-20 21:34:32,406.406 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:34:32,414.414 INFO    ] Checking for system updates...
[2026-10-20 21:34:32,453.453 INFO    ] 200
[2026-10-20 21:34:32,455.455 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:34:32,511.511 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:34:32,513.513 INFO    ] No update needed
[2026-10-20 21:34:32,516.516 INFO    ] Checking for camera pi updates...
[2026-10-20 21:34:32,555.555 INFO    ] 200
[2026-10-20 21:34:32,558.558 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:34:32,601.601 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:34:32,634.634 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:34:32,637.637 INFO    ] No camera update needed
[2026-10-20 21:34:32,640.640 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:34:32,643.643 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:34:32,649.649 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:34:32,655.655 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:34:34,699.699 INFO    ] ================================================
[2026-10-20 21:34:34,715.715 INFO    ] Launching Daemon at Tue Oct 20 21:34:34 IST 2026
[2026-10-20 21:34:34,727.727 INFO    ] ================================================
[2026-10-20 21:34:35,416.416 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:34:35
[2026-10-20 21:34:36,140.140 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:34:36,476.476 INFO    ] Initializing speech engine...
[2026-10-20 21:34:36,484.484 INFO    ] 2026-10-20 21:34:36
[2026-10-20 21:34:36,788.788 INFO    ] 2026-10-20 21:34:36
[2026-10-20 21:34:36,900.900 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:34:37,095.095 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:34:37,100.100 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:34:37,298.298 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:34:37,336.336 INFO    ] time= 20/10/2026 21:34:37
[2026-10-20 21:34:37,353.353 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:34:37,364.364 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:34:37,494.494 INFO    ] No existing commands found in stream
[2026-10-20 21:34:42,526.526 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:34:42,533.533 INFO    ] Waiting 2.37 seconds before fallback handling...
[2026-10-20 21:34:45,408.408 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:34:45,411.411 INFO    ] Checking for system updates...
[2026-10-20 21:34:45,446.446 INFO    ] 200
[2026-10-20 21:34:45,448.448 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:34:45,508.508 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:34:45,511.511 INFO    ] No update needed
[2026-10-20 21:34:45,513.513 INFO    ] Checking for camera pi updates...
[2026-10-20 21:34:45,546.546 INFO    ] 200
[2026-10-20 21:34:45,549.549 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:34:45,588.588 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:34:45,645.645 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:34:45,648.648 INFO    ] No camera update needed
[2026-10-20 21:34:45,651.651 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:34:45,654.654 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:34:45,659.659 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:34:45,664.664 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:34:47,704.704 INFO    ] ================================================
[2026-10-20 21:34:47,719.719 INFO    ] Launching Daemon at Tue Oct 20 21:34:47 IST 2026
[2026-10-20 21:34:47,730.730 INFO    ] ================================================
[2026-10-20 21:34:48,302.302 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:34:48
[2026-10-20 21:34:48,888.888 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:34:49,155.155 INFO    ] Initializing speech engine...
[2026-10-20 21:34:49,180.180 INFO    ] 2026-10-20 21:34:49
[2026-10-20 21:34:49,463.463 INFO    ] 2026-10-20 21:34:49
[2026-10-20 21:34:49,498.498 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:34:49,691.691 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:34:49,698.698 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:34:49,851.851 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:34:49,858.858 INFO    ] time= 20/10/2026 21:34:49
[2026-10-20 21:34:49,863.863 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:34:49,869.869 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:34:50,010.010 INFO    ] No existing commands found in stream
[2026-10-20 21:34:55,040.040 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:34:55,043.043 INFO    ] Waiting 0.87 seconds before fallback handling...
[2026-10-20 21:34:56,431.431 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:34:56,433.433 INFO    ] Checking for system updates...
[2026-10-20 21:34:56,468.468 INFO    ] 200
[2026-10-20 21:34:56,471.471 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:34:56,523.523 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:34:56,526.526 INFO    ] No update needed
[2026-10-20 21:34:56,528.528 INFO    ] Checking for camera pi updates...
[2026-10-20 21:34:56,561.561 INFO    ] 200
[2026-10-20 21:34:56,564.564 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:34:56,603.603 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:34:56,652.652 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:34:56,654.654 INFO    ] No camera update needed
[2026-10-20 21:34:56,656.656 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:34:56,659.659 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:34:56,664.664 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:34:56,669.669 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:34:58,710.710 INFO    ] ================================================
[2026-10-20 21:34:58,725.725 INFO    ] Launching Daemon at Tue Oct 20 21:34:58 IST 2026
[2026-10-20 21:34:58,735.735 INFO    ] ================================================
[2026-10-20 21:34:59,301.301 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:34:59
[2026-10-20 21:34:59,885.885 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:35:00,156.156 INFO    ] Initializing speech engine...
[2026-10-20 21:35:00,165.165 INFO    ] 2026-10-20 21:35:00
[2026-10-20 21:35:00,412.412 INFO    ] 2026-10-20 21:35:00
[2026-10-20 21:35:00,446.446 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:35:00,704.704 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:35:00,710.710 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:35:00,920.920 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:35:00,969.969 INFO    ] time= 20/10/2026 21:35:00
[2026-10-20 21:35:00,974.974 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:35:00,993.993 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:35:01,118.118 INFO    ] No existing commands found in stream
[2026-10-20 21:35:06,134.134 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:35:06,137.137 INFO    ] Waiting 1.22 seconds before fallback handling...
[2026-10-20 21:35:07,839.839 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:35:07,841.841 INFO    ] Checking for system updates...
[2026-10-20 21:35:07,878.878 INFO    ] 200
[2026-10-20 21:35:07,881.881 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:35:07,935.935 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:35:07,938.938 INFO    ] No update needed
[2026-10-20 21:35:07,941.941 INFO    ] Checking for camera pi updates...
[2026-10-20 21:35:07,975.975 INFO    ] 200
[2026-10-20 21:35:07,978.978 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:35:08,025.025 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:35:08,060.060 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:35:08,063.063 INFO    ] No camera update needed
[2026-10-20 21:35:08,066.066 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:35:08,069.069 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:35:08,076.076 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:35:08,082.082 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:35:10,124.124 INFO    ] ================================================
[2026-10-20 21:35:10,139.139 INFO    ] Launching Daemon at Tue Oct 20 21:35:10 IST 2026
[2026-10-20 21:35:10,150.150 INFO    ] ================================================
[2026-10-20 21:35:10,721.721 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:35:10
[2026-10-20 21:35:11,311.311 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:35:11,562.562 INFO    ] Initializing speech engine...
[2026-10-20 21:35:11,574.574 INFO    ] 2026-10-20 21:35:11
[2026-10-20 21:35:11,838.838 INFO    ] 2026-10-20 21:35:11
[2026-10-20 21:35:11,873.873 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:35:12,131.131 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:35:12,140.140 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:35:12,339.339 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:35:12,399.399 INFO    ] time= 20/10/2026 21:35:12
[2026-10-20 21:35:12,406.406 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:35:12,423.423 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:35:12,553.553 INFO    ] No existing commands found in stream
[2026-10-20 21:35:17,567.567 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:35:17,570.570 INFO    ] Waiting 0.91 seconds before fallback handling...
[2026-10-20 21:35:19,038.038 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:35:19,041.041 INFO    ] Checking for system updates...
[2026-10-20 21:35:19,076.076 INFO    ] 200
[2026-10-20 21:35:19,078.078 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:35:19,135.135 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:35:19,137.137 INFO    ] No update needed
[2026-10-20 21:35:19,140.140 INFO    ] Checking for camera pi updates...
[2026-10-20 21:35:19,174.174 INFO    ] 200
[2026-10-20 21:35:19,176.176 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:35:19,216.216 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:35:19,372.372 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:35:19,375.375 INFO    ] No camera update needed
[2026-10-20 21:35:19,377.377 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:35:19,379.379 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:35:19,385.385 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:35:19,390.390 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:35:21,430.430 INFO    ] ================================================
[2026-10-20 21:35:21,445.445 INFO    ] Launching Daemon at Tue Oct 20 21:35:21 IST 2026
[2026-10-20 21:35:21,456.456 INFO    ] ================================================
[2026-10-20 21:35:22,117.117 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:35:22
[2026-10-20 21:35:22,797.797 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:35:23,109.109 INFO    ] Initializing speech engine...
[2026-10-20 21:35:23,120.120 INFO    ] 2026-10-20 21:35:23
[2026-10-20 21:35:23,433.433 INFO    ] 2026-10-20 21:35:23
[2026-10-20 21:35:23,520.520 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:35:23,734.734 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:35:23,744.744 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:35:23,957.957 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:35:23,983.983 INFO    ] time= 20/10/2026 21:35:23
[2026-10-20 21:35:23,992.992 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:35:24,001.001 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:35:24,108.108 INFO    ] No existing commands found in stream
[2026-10-20 21:35:29,133.133 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:35:29,136.136 INFO    ] Waiting 3.68 seconds before fallback handling...
[2026-10-20 21:35:33,342.342 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:35:33,345.345 INFO    ] Checking for system updates...
[2026-10-20 21:35:33,390.390 INFO    ] 200
[2026-10-20 21:35:33,393.393 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:35:33,446.446 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:35:33,449.449 INFO    ] No update needed
[2026-10-20 21:35:33,452.452 INFO    ] Checking for camera pi updates...
[2026-10-20 21:35:33,486.486 INFO    ] 200
[2026-10-20 21:35:33,489.489 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:35:33,530.530 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:35:33,587.587 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:35:33,591.591 INFO    ] No camera update needed
[2026-10-20 21:35:33,593.593 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:35:33,596.596 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:35:33,602.602 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:35:33,608.608 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:35:35,650.650 INFO    ] ================================================
[2026-10-20 21:35:35,665.665 INFO    ] Launching Daemon at Tue Oct 20 21:35:35 IST 2026
[2026-10-20 21:35:35,675.675 INFO    ] ================================================
[2026-10-20 21:35:36,246.246 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:35:36
[2026-10-20 21:35:36,831.831 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:35:37,097.097 INFO    ] Initializing speech engine...
[2026-10-20 21:35:37,106.106 INFO    ] 2026-10-20 21:35:37
[2026-10-20 21:35:37,352.352 INFO    ] 2026-10-20 21:35:37
[2026-10-20 21:35:37,388.388 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:35:37,585.585 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:35:37,642.642 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:35:37,833.833 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:35:37,887.887 INFO    ] time= 20/10/2026 21:35:37
[2026-10-20 21:35:37,909.909 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:35:37,915.915 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:35:38,059.059 INFO    ] No existing commands found in stream
[2026-10-20 21:35:43,072.072 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:35:43,075.075 INFO    ] Waiting 1.34 seconds before fallback handling...
[2026-10-20 21:35:44,881.881 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:35:44,883.883 INFO    ] Checking for system updates...
[2026-10-20 21:35:44,919.919 INFO    ] 200
[2026-10-20 21:35:44,922.922 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:35:44,973.973 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:35:44,976.976 INFO    ] No update needed
[2026-10-20 21:35:44,979.979 INFO    ] Checking for camera pi updates...
[2026-10-20 21:35:45,012.012 INFO    ] 200
[2026-10-20 21:35:45,014.014 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:35:45,054.054 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:35:45,109.109 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:35:45,111.111 INFO    ] No camera update needed
[2026-10-20 21:35:45,114.114 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:35:45,116.116 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:35:45,121.121 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:35:45,126.126 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:35:47,166.166 INFO    ] ================================================
[2026-10-20 21:35:47,181.181 INFO    ] Launching Daemon at Tue Oct 20 21:35:47 IST 2026
[2026-10-20 21:35:47,192.192 INFO    ] ================================================
[2026-10-20 21:35:47,759.759 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:35:47
[2026-10-20 21:35:48,359.359 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:35:48,633.633 INFO    ] Initializing speech engine...
[2026-10-20 21:35:48,643.643 INFO    ] 2026-10-20 21:35:48
[2026-10-20 21:35:48,906.906 INFO    ] 2026-10-20 21:35:48
[2026-10-20 21:35:48,936.936 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:35:49,184.184 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:35:49,190.190 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:35:49,329.329 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:35:49,394.394 INFO    ] time= 20/10/2026 21:35:49
[2026-10-20 21:35:49,444.444 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:35:49,457.457 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:35:49,599.599 INFO    ] No existing commands found in stream
[2026-10-20 21:35:54,614.614 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:35:54,617.617 INFO    ] Waiting 3.46 seconds before fallback handling...
[2026-10-20 21:35:58,596.596 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 21:35:58,598.598 INFO    ] Checking for system updates...
[2026-10-20 21:35:58,637.637 INFO    ] 200
[2026-10-20 21:35:58,639.639 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:35:58,695.695 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:35:58,697.697 INFO    ] No update needed
[2026-10-20 21:35:58,700.700 INFO    ] Checking for camera pi updates...
[2026-10-20 21:35:58,733.733 INFO    ] 200
[2026-10-20 21:35:58,735.735 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:35:58,775.775 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:35:58,832.832 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:35:58,834.834 INFO    ] No camera update needed
[2026-10-20 21:35:58,837.837 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:35:58,839.839 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:35:58,845.845 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:35:58,850.850 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:36:00,889.889 INFO    ] ================================================
[2026-10-20 21:36:00,904.904 INFO    ] Launching Daemon at Tue Oct 20 21:36:00 IST 2026
[2026-10-20 21:36:00,914.914 INFO    ] ================================================
[2026-10-20 21:36:01,481.481 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:36:01
[2026-10-20 21:36:02,199.199 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:36:02,550.550 INFO    ] Initializing speech engine...
[2026-10-20 21:36:02,560.560 INFO    ] 2026-10-20 21:36:02
[2026-10-20 21:36:02,876.876 INFO    ] 2026-10-20 21:36:02
[2026-10-20 21:36:02,933.933 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:36:03,224.224 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:36:03,239.239 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:36:03,432.432 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:36:03,486.486 INFO    ] time= 20/10/2026 21:36:03
[2026-10-20 21:36:03,509.509 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:36:03,540.540 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:36:03,656.656 INFO    ] No existing commands found in stream
[2026-10-20 21:36:08,695.695 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:36:08,699.699 INFO    ] Waiting 0.79 seconds before fallback handling...
[2026-10-20 21:36:09,992.992 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:36:09,995.995 INFO    ] Checking for system updates...
[2026-10-20 21:36:10,031.031 INFO    ] 200
[2026-10-20 21:36:10,034.034 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:36:10,086.086 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:36:10,088.088 INFO    ] No update needed
[2026-10-20 21:36:10,091.091 INFO    ] Checking for camera pi updates...
[2026-10-20 21:36:10,124.124 INFO    ] 200
[2026-10-20 21:36:10,126.126 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:36:10,171.171 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:36:10,228.228 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:36:10,230.230 INFO    ] No camera update needed
[2026-10-20 21:36:10,233.233 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:36:10,235.235 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:36:10,240.240 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:36:10,245.245 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:36:12,284.284 INFO    ] ================================================
[2026-10-20 21:36:12,299.299 INFO    ] Launching Daemon at Tue Oct 20 21:36:12 IST 2026
[2026-10-20 21:36:12,310.310 INFO    ] ================================================
[2026-10-20 21:36:12,892.892 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:36:12
[2026-10-20 21:36:13,500.500 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:36:13,770.770 INFO    ] Initializing speech engine...
[2026-10-20 21:36:13,786.786 INFO    ] 2026-10-20 21:36:13
[2026-10-20 21:36:14,056.056 INFO    ] 2026-10-20 21:36:14
[2026-10-20 21:36:14,094.094 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:36:14,316.316 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:36:14,329.329 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:36:14,544.544 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:36:14,551.551 INFO    ] time= 20/10/2026 21:36:14
[2026-10-20 21:36:14,600.600 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:36:14,644.644 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:36:14,753.753 INFO    ] No existing commands found in stream
[2026-10-20 21:36:19,765.765 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:36:19,768.768 INFO    ] Waiting 0.69 seconds before fallback handling...
[2026-10-20 21:36:21,005.005 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:36:21,008.008 INFO    ] Checking for system updates...
[2026-10-20 21:36:21,043.043 INFO    ] 200
[2026-10-20 21:36:21,046.046 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:36:21,098.098 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:36:21,100.100 INFO    ] No update needed
[2026-10-20 21:36:21,103.103 INFO    ] Checking for camera pi updates...
[2026-10-20 21:36:21,140.140 INFO    ] 200
[2026-10-20 21:36:21,142.142 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:36:21,182.182 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:36:21,228.228 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:36:21,230.230 INFO    ] No camera update needed
[2026-10-20 21:36:21,233.233 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:36:21,235.235 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:36:21,240.240 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:36:21,245.245 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:36:23,285.285 INFO    ] ================================================
[2026-10-20 21:36:23,300.300 INFO    ] Launching Daemon at Tue Oct 20 21:36:23 IST 2026
[2026-10-20 21:36:23,310.310 INFO    ] ================================================
[2026-10-20 21:36:23,954.954 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:36:23
[2026-10-20 21:36:24,574.574 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:36:24,822.822 INFO    ] Initializing speech engine...
[2026-10-20 21:36:24,843.843 INFO    ] 2026-10-20 21:36:24
[2026-10-20 21:36:25,099.099 INFO    ] 2026-10-20 21:36:25
[2026-10-20 21:36:25,133.133 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:36:25,392.392 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:36:25,401.401 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:36:25,538.538 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:36:25,603.603 INFO    ] time= 20/10/2026 21:36:25
[2026-10-20 21:36:25,662.662 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:36:25,673.673 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:36:25,826.826 INFO    ] No existing commands found in stream
[2026-10-20 21:36:30,849.849 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:36:30,852.852 INFO    ] Waiting 1.54 seconds before fallback handling...
[2026-10-20 21:36:32,933.933 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 21:36:32,936.936 INFO    ] Checking for system updates...
[2026-10-20 21:36:32,977.977 INFO    ] 200
[2026-10-20 21:36:32,980.980 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:36:33,040.040 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:36:33,043.043 INFO    ] No update needed
[2026-10-20 21:36:33,047.047 INFO    ] Checking for camera pi updates...
[2026-10-20 21:36:33,085.085 INFO    ] 200
[2026-10-20 21:36:33,087.087 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:36:33,141.141 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:36:33,179.179 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:36:33,181.181 INFO    ] No camera update needed
[2026-10-20 21:36:33,184.184 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:36:33,186.186 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:36:33,192.192 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:36:33,197.197 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:36:35,238.238 INFO    ] ================================================
[2026-10-20 21:36:35,252.252 INFO    ] Launching Daemon at Tue Oct 20 21:36:35 IST 2026
[2026-10-20 21:36:35,263.263 INFO    ] ================================================
[2026-10-20 21:36:35,830.830 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:36:35
[2026-10-20 21:36:36,421.421 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:36:36,690.690 INFO    ] Initializing speech engine...
[2026-10-20 21:36:36,699.699 INFO    ] 2026-10-20 21:36:36
[2026-10-20 21:36:36,945.945 INFO    ] 2026-10-20 21:36:36
[2026-10-20 21:36:36,986.986 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:36:37,231.231 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:36:37,240.240 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:36:37,445.445 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:36:37,499.499 INFO    ] time= 20/10/2026 21:36:37
[2026-10-20 21:36:37,506.506 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:36:37,524.524 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:36:37,656.656 INFO    ] No existing commands found in stream
[2026-10-20 21:36:42,674.674 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:36:42,677.677 INFO    ] Waiting 0.70 seconds before fallback handling...
[2026-10-20 21:36:43,904.904 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:36:43,907.907 INFO    ] Checking for system updates...
[2026-10-20 21:36:43,944.944 INFO    ] 200
[2026-10-20 21:36:43,946.946 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:36:44,008.008 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:36:44,010.010 INFO    ] No update needed
[2026-10-20 21:36:44,013.013 INFO    ] Checking for camera pi updates...
[2026-10-20 21:36:44,045.045 INFO    ] 200
[2026-10-20 21:36:44,048.048 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:36:44,090.090 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:36:44,123.123 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:36:44,125.125 INFO    ] No camera update needed
[2026-10-20 21:36:44,127.127 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:36:44,130.130 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:36:44,135.135 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:36:44,140.140 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:36:46,181.181 INFO    ] ================================================
[2026-10-20 21:36:46,196.196 INFO    ] Launching Daemon at Tue Oct 20 21:36:46 IST 2026
[2026-10-20 21:36:46,207.207 INFO    ] ================================================
[2026-10-20 21:36:46,792.792 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:36:46
[2026-10-20 21:36:47,395.395 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:36:47,669.669 INFO    ] Initializing speech engine...
[2026-10-20 21:36:47,678.678 INFO    ] 2026-10-20 21:36:47
[2026-10-20 21:36:47,942.942 INFO    ] 2026-10-20 21:36:47
[2026-10-20 21:36:47,995.995 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:36:48,222.222 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:36:48,226.226 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:36:48,360.360 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:36:48,420.420 INFO    ] time= 20/10/2026 21:36:48
[2026-10-20 21:36:48,480.480 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:36:48,493.493 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:36:48,658.658 INFO    ] No existing commands found in stream
[2026-10-20 21:36:53,688.688 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:36:53,691.691 INFO    ] Waiting 1.48 seconds before fallback handling...
[2026-10-20 21:36:55,686.686 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:36:55,689.689 INFO    ] Checking for system updates...
[2026-10-20 21:36:55,725.725 INFO    ] 200
[2026-10-20 21:36:55,728.728 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:36:55,787.787 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:36:55,790.790 INFO    ] No update needed
[2026-10-20 21:36:55,794.794 INFO    ] Checking for camera pi updates...
[2026-10-20 21:36:55,828.828 INFO    ] 200
[2026-10-20 21:36:55,831.831 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:36:55,873.873 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:36:55,919.919 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:36:55,922.922 INFO    ] No camera update needed
[2026-10-20 21:36:55,924.924 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:36:55,927.927 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:36:55,933.933 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:36:55,939.939 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:36:57,981.981 INFO    ] ================================================
[2026-10-20 21:36:58,996.996 INFO    ] Launching Daemon at Tue Oct 20 21:36:57 IST 2026
[2026-10-20 21:36:58,008.008 INFO    ] ================================================
[2026-10-20 21:36:58,573.573 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:36:58
[2026-10-20 21:36:59,155.155 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:36:59,426.426 INFO    ] Initializing speech engine...
[2026-10-20 21:36:59,436.436 INFO    ] 2026-10-20 21:36:59
[2026-10-20 21:36:59,684.684 INFO    ] 2026-10-20 21:36:59
[2026-10-20 21:36:59,719.719 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:36:59,976.976 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:36:59,985.985 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:37:00,119.119 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:37:00,171.171 INFO    ] time= 20/10/2026 21:37:00
[2026-10-20 21:37:00,225.225 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:37:00,255.255 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:37:00,376.376 INFO    ] No existing commands found in stream
[2026-10-20 21:37:05,401.401 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:37:05,404.404 INFO    ] Waiting 1.16 seconds before fallback handling...
[2026-10-20 21:37:07,042.042 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 21:37:07,045.045 INFO    ] Checking for system updates...
[2026-10-20 21:37:07,081.081 INFO    ] 200
[2026-10-20 21:37:07,083.083 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:37:07,134.134 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:37:07,137.137 INFO    ] No update needed
[2026-10-20 21:37:07,139.139 INFO    ] Checking for camera pi updates...
[2026-10-20 21:37:07,173.173 INFO    ] 200
[2026-10-20 21:37:07,175.175 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:37:07,218.218 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:37:07,266.266 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:37:07,268.268 INFO    ] No camera update needed
[2026-10-20 21:37:07,271.271 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:37:07,274.274 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:37:07,280.280 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:37:07,285.285 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:37:09,327.327 INFO    ] ================================================
[2026-10-20 21:37:09,342.342 INFO    ] Launching Daemon at Tue Oct 20 21:37:09 IST 2026
[2026-10-20 21:37:09,352.352 INFO    ] ================================================
[2026-10-20 21:37:09,934.934 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:37:09
[2026-10-20 21:37:10,533.533 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:37:10,816.816 INFO    ] Initializing speech engine...
[2026-10-20 21:37:10,820.820 INFO    ] 2026-10-20 21:37:10
[2026-10-20 21:37:11,087.087 INFO    ] 2026-10-20 21:37:11
[2026-10-20 21:37:11,125.125 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:37:11,327.327 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:37:11,347.347 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:37:11,491.491 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:37:11,497.497 INFO    ] time= 20/10/2026 21:37:11
[2026-10-20 21:37:11,503.503 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:37:11,546.546 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:37:11,670.670 INFO    ] No existing commands found in stream
[2026-10-20 21:37:16,700.700 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:37:16,703.703 INFO    ] Waiting 1.38 seconds before fallback handling...
[2026-10-20 21:37:18,551.551 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:37:18,554.554 INFO    ] Checking for system updates...
[2026-10-20 21:37:18,589.589 INFO    ] 200
[2026-10-20 21:37:18,592.592 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:37:18,659.659 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:37:18,661.661 INFO    ] No update needed
[2026-10-20 21:37:18,664.664 INFO    ] Checking for camera pi updates...
[2026-10-20 21:37:18,699.699 INFO    ] 200
[2026-10-20 21:37:18,702.702 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:37:18,743.743 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:37:18,786.786 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:37:18,789.789 INFO    ] No camera update needed
[2026-10-20 21:37:18,791.791 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:37:18,793.793 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:37:18,799.799 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:37:18,804.804 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:37:20,843.843 INFO    ] ================================================
[2026-10-20 21:37:20,858.858 INFO    ] Launching Daemon at Tue Oct 20 21:37:20 IST 2026
[2026-10-20 21:37:20,869.869 INFO    ] ================================================
[2026-10-20 21:37:21,432.432 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:37:21
[2026-10-20 21:37:22,018.018 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:37:22,289.289 INFO    ] Initializing speech engine...
[2026-10-20 21:37:22,297.297 INFO    ] 2026-10-20 21:37:22
[2026-10-20 21:37:22,547.547 INFO    ] 2026-10-20 21:37:22
[2026-10-20 21:37:22,582.582 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:37:22,784.784 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:37:22,836.836 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:37:22,985.985 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:37:23,012.012 INFO    ] time= 20/10/2026 21:37:22
[2026-10-20 21:37:23,067.067 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:37:23,116.116 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:37:23,277.277 INFO    ] No existing commands found in stream
[2026-10-20 21:37:28,299.299 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:37:28,302.302 INFO    ] Waiting 0.19 seconds before fallback handling...
[2026-10-20 21:37:28,974.974 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 21:37:28,977.977 INFO    ] Checking for system updates...
[2026-10-20 21:37:29,014.014 INFO    ] 200
[2026-10-20 21:37:29,017.017 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:37:29,069.069 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:37:29,072.072 INFO    ] No update needed
[2026-10-20 21:37:29,075.075 INFO    ] Checking for camera pi updates...
[2026-10-20 21:37:29,109.109 INFO    ] 200
[2026-10-20 21:37:29,112.112 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:37:29,156.156 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:37:29,306.306 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:37:29,309.309 INFO    ] No camera update needed
[2026-10-20 21:37:29,311.311 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:37:29,314.314 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:37:29,320.320 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:37:29,325.325 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:37:31,366.366 INFO    ] ================================================
[2026-10-20 21:37:31,381.381 INFO    ] Launching Daemon at Tue Oct 20 21:37:31 IST 2026
[2026-10-20 21:37:31,392.392 INFO    ] ================================================
[2026-10-20 21:37:31,973.973 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:37:31
[2026-10-20 21:37:32,617.617 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:37:32,923.923 INFO    ] Initializing speech engine...
[2026-10-20 21:37:32,930.930 INFO    ] 2026-10-20 21:37:32
[2026-10-20 21:37:33,220.220 INFO    ] 2026-10-20 21:37:33
[2026-10-20 21:37:33,257.257 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:37:33,482.482 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:37:33,500.500 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:37:33,705.705 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:37:33,713.713 INFO    ] time= 20/10/2026 21:37:33
[2026-10-20 21:37:33,777.777 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:37:33,832.832 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:37:33,983.983 INFO    ] No existing commands found in stream
[2026-10-20 21:37:39,014.014 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:37:39,016.016 INFO    ] Waiting 2.83 seconds before fallback handling...
[2026-10-20 21:37:42,323.323 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 21:37:42,325.325 INFO    ] Checking for system updates...
[2026-10-20 21:37:42,363.363 INFO    ] 200
[2026-10-20 21:37:42,366.366 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:37:42,418.418 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:37:42,421.421 INFO    ] No update needed
[2026-10-20 21:37:42,423.423 INFO    ] Checking for camera pi updates...
[2026-10-20 21:37:42,457.457 INFO    ] 200
[2026-10-20 21:37:42,459.459 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:37:42,501.501 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:37:42,548.548 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:37:42,551.551 INFO    ] No camera update needed
[2026-10-20 21:37:42,553.553 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:37:42,556.556 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:37:42,561.561 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:37:42,566.566 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:37:44,607.607 INFO    ] ================================================
[2026-10-20 21:37:44,622.622 INFO    ] Launching Daemon at Tue Oct 20 21:37:44 IST 2026
[2026-10-20 21:37:44,633.633 INFO    ] ================================================
[2026-10-20 21:37:45,200.200 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:37:45
[2026-10-20 21:37:45,790.790 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:37:46,045.045 INFO    ] Initializing speech engine...
[2026-10-20 21:37:46,052.052 INFO    ] 2026-10-20 21:37:46
[2026-10-20 21:37:46,340.340 INFO    ] 2026-10-20 21:37:46
[2026-10-20 21:37:46,377.377 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:37:46,599.599 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:37:46,649.649 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:37:46,822.822 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:37:46,874.874 INFO    ] time= 20/10/2026 21:37:46
[2026-10-20 21:37:46,918.918 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:37:46,968.968 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:37:47,105.105 INFO    ] No existing commands found in stream
[2026-10-20 21:37:52,135.135 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:37:52,137.137 INFO    ] Waiting 2.78 seconds before fallback handling...
[2026-10-20 21:37:55,393.393 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:37:55,396.396 INFO    ] Checking for system updates...
[2026-10-20 21:37:55,434.434 INFO    ] 200
[2026-10-20 21:37:55,437.437 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:37:55,489.489 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:37:55,491.491 INFO    ] No update needed
[2026-10-20 21:37:55,494.494 INFO    ] Checking for camera pi updates...
[2026-10-20 21:37:55,527.527 INFO    ] 200
[2026-10-20 21:37:55,530.530 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:37:55,570.570 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:37:55,625.625 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:37:55,628.628 INFO    ] No camera update needed
[2026-10-20 21:37:55,630.630 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:37:55,633.633 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:37:55,638.638 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:37:55,643.643 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:37:57,683.683 INFO    ] ================================================
[2026-10-20 21:37:57,699.699 INFO    ] Launching Daemon at Tue Oct 20 21:37:57 IST 2026
[2026-10-20 21:37:57,710.710 INFO    ] ================================================
[2026-10-20 21:37:58,288.288 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:37:58
[2026-10-20 21:37:58,885.885 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:37:59,158.158 INFO    ] Initializing speech engine...
[2026-10-20 21:37:59,175.175 INFO    ] 2026-10-20 21:37:59
[2026-10-20 21:37:59,447.447 INFO    ] 2026-10-20 21:37:59
[2026-10-20 21:37:59,482.482 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:37:59,699.699 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:37:59,706.706 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:37:59,889.889 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:37:59,924.924 INFO    ] time= 20/10/2026 21:37:59
[2026-10-20 21:37:59,962.962 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:38:00,016.016 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:38:00,122.122 INFO    ] No existing commands found in stream
[2026-10-20 21:38:05,132.132 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:38:05,135.135 INFO    ] Waiting 0.80 seconds before fallback handling...
[2026-10-20 21:38:06,430.430 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 21:38:06,433.433 INFO    ] Checking for system updates...
[2026-10-20 21:38:06,468.468 INFO    ] 200
[2026-10-20 21:38:06,471.471 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:38:06,527.527 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:38:06,529.529 INFO    ] No update needed
[2026-10-20 21:38:06,531.531 INFO    ] Checking for camera pi updates...
[2026-10-20 21:38:06,565.565 INFO    ] 200
[2026-10-20 21:38:06,567.567 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:38:06,610.610 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:38:06,656.656 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:38:06,658.658 INFO    ] No camera update needed
[2026-10-20 21:38:06,660.660 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:38:06,663.663 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:38:06,668.668 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:38:06,673.673 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:38:08,712.712 INFO    ] ================================================
[2026-10-20 21:38:08,727.727 INFO    ] Launching Daemon at Tue Oct 20 21:38:08 IST 2026
[2026-10-20 21:38:08,738.738 INFO    ] ================================================
[2026-10-20 21:38:09,344.344 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:38:09
[2026-10-20 21:38:09,994.994 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:38:10,286.286 INFO    ] Initializing speech engine...
[2026-10-20 21:38:10,297.297 INFO    ] 2026-10-20 21:38:10
[2026-10-20 21:38:10,555.555 INFO    ] 2026-10-20 21:38:10
[2026-10-20 21:38:10,597.597 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:38:10,849.849 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:38:10,859.859 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:38:11,068.068 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:38:11,119.119 INFO    ] time= 20/10/2026 21:38:11
[2026-10-20 21:38:11,132.132 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:38:11,150.150 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:38:11,280.280 INFO    ] No existing commands found in stream
[2026-10-20 21:38:16,295.295 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:38:16,298.298 INFO    ] Waiting 1.79 seconds before fallback handling...
[2026-10-20 21:38:18,619.619 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:38:18,622.622 INFO    ] Checking for system updates...
[2026-10-20 21:38:18,661.661 INFO    ] 200
[2026-10-20 21:38:18,663.663 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:38:18,715.715 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:38:18,717.717 INFO    ] No update needed
[2026-10-20 21:38:18,720.720 INFO    ] Checking for camera pi updates...
[2026-10-20 21:38:18,756.756 INFO    ] 200
[2026-10-20 21:38:18,758.758 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:38:18,798.798 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:38:18,853.853 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:38:18,856.856 INFO    ] No camera update needed
[2026-10-20 21:38:18,858.858 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:38:18,860.860 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:38:18,866.866 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:38:18,871.871 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:38:20,910.910 INFO    ] ================================================
[2026-10-20 21:38:20,925.925 INFO    ] Launching Daemon at Tue Oct 20 21:38:20 IST 2026
[2026-10-20 21:38:20,935.935 INFO    ] ================================================
[2026-10-20 21:38:21,506.506 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:38:21
[2026-10-20 21:38:22,091.091 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:38:22,362.362 INFO    ] Initializing speech engine...
[2026-10-20 21:38:22,370.370 INFO    ] 2026-10-20 21:38:22
[2026-10-20 21:38:22,623.623 INFO    ] 2026-10-20 21:38:22
[2026-10-20 21:38:22,658.658 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:38:22,902.902 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:38:22,912.912 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:38:23,045.045 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:38:23,095.095 INFO    ] time= 20/10/2026 21:38:23
[2026-10-20 21:38:23,149.149 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:38:23,178.178 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:38:23,309.309 INFO    ] No existing commands found in stream
[2026-10-20 21:38:28,335.335 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:38:28,338.338 INFO    ] Waiting 2.47 seconds before fallback handling...
[2026-10-20 21:38:31,344.344 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 21:38:31,347.347 INFO    ] Checking for system updates...
[2026-10-20 21:38:31,384.384 INFO    ] 200
[2026-10-20 21:38:31,386.386 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:38:31,439.439 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:38:31,441.441 INFO    ] No update needed
[2026-10-20 21:38:31,444.444 INFO    ] Checking for camera pi updates...
[2026-10-20 21:38:31,477.477 INFO    ] 200
[2026-10-20 21:38:31,480.480 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:38:31,521.521 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:38:31,565.565 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:38:31,568.568 INFO    ] No camera update needed
[2026-10-20 21:38:31,570.570 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:38:31,573.573 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:38:31,578.578 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:38:31,583.583 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:38:33,630.630 INFO    ] ================================================
[2026-10-20 21:38:33,645.645 INFO    ] Launching Daemon at Tue Oct 20 21:38:33 IST 2026
[2026-10-20 21:38:33,656.656 INFO    ] ================================================
[2026-10-20 21:38:34,231.231 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:38:34
[2026-10-20 21:38:34,829.829 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:38:35,107.107 INFO    ] Initializing speech engine...
[2026-10-20 21:38:35,115.115 INFO    ] 2026-10-20 21:38:35
[2026-10-20 21:38:35,386.386 INFO    ] 2026-10-20 21:38:35
[2026-10-20 21:38:35,429.429 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:38:35,676.676 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:38:35,695.695 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:38:35,910.910 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:38:35,917.917 INFO    ] time= 20/10/2026 21:38:35
[2026-10-20 21:38:35,935.935 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:38:35,957.957 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:38:36,081.081 INFO    ] No existing commands found in stream
[2026-10-20 21:38:41,094.094 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:38:41,097.097 INFO    ] Waiting 3.76 seconds before fallback handling...
[2026-10-20 21:38:45,417.417 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 21:38:45,421.421 INFO    ] Checking for system updates...
[2026-10-20 21:38:45,466.466 INFO    ] 200
[2026-10-20 21:38:45,469.469 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:38:45,551.551 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:38:45,554.554 INFO    ] No update needed
[2026-10-20 21:38:45,557.557 INFO    ] Checking for camera pi updates...
[2026-10-20 21:38:45,594.594 INFO    ] 200
[2026-10-20 21:38:45,596.596 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:38:45,637.637 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:38:45,684.684 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:38:45,687.687 INFO    ] No camera update needed
[2026-10-20 21:38:45,689.689 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:38:45,692.692 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:38:45,697.697 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:38:45,702.702 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:38:47,741.741 INFO    ] ================================================
[2026-10-20 21:38:47,756.756 INFO    ] Launching Daemon at Tue Oct 20 21:38:47 IST 2026
[2026-10-20 21:38:47,766.766 INFO    ] ================================================
[2026-10-20 21:38:48,339.339 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:38:48
[2026-10-20 21:38:48,932.932 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:38:49,185.185 INFO    ] Initializing speech engine...
[2026-10-20 21:38:49,194.194 INFO    ] 2026-10-20 21:38:49
[2026-10-20 21:38:49,481.481 INFO    ] 2026-10-20 21:38:49
[2026-10-20 21:38:49,518.518 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:38:49,739.739 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:38:49,802.802 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:38:49,961.961 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:38:50,025.025 INFO    ] time= 20/10/2026 21:38:49
[2026-10-20 21:38:50,080.080 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:38:50,106.106 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:38:50,237.237 INFO    ] No existing commands found in stream
[2026-10-20 21:38:55,262.262 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:38:55,265.265 INFO    ] Waiting 0.55 seconds before fallback handling...
[2026-10-20 21:38:56,342.342 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:38:56,344.344 INFO    ] Checking for system updates...
[2026-10-20 21:38:56,383.383 INFO    ] 200
[2026-10-20 21:38:56,386.386 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:38:56,443.443 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:38:56,446.446 INFO    ] No update needed
[2026-10-20 21:38:56,449.449 INFO    ] Checking for camera pi updates...
[2026-10-20 21:38:56,486.486 INFO    ] 200
[2026-10-20 21:38:56,489.489 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:38:56,534.534 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:38:56,581.581 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:38:56,584.584 INFO    ] No camera update needed
[2026-10-20 21:38:56,587.587 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:38:56,590.590 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:38:56,596.596 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:38:56,601.601 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:38:58,641.641 INFO    ] ================================================
[2026-10-20 21:38:58,656.656 INFO    ] Launching Daemon at Tue Oct 20 21:38:58 IST 2026
[2026-10-20 21:38:58,667.667 INFO    ] ================================================
[2026-10-20 21:38:59,238.238 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:38:59
[2026-10-20 21:38:59,821.821 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:39:00,074.074 INFO    ] Initializing speech engine...
[2026-10-20 21:39:00,090.090 INFO    ] 2026-10-20 21:39:00
[2026-10-20 21:39:00,368.368 INFO    ] 2026-10-20 21:39:00
[2026-10-20 21:39:00,405.405 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:39:00,620.620 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:39:00,648.648 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:39:00,820.820 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:39:00,860.860 INFO    ] time= 20/10/2026 21:39:00
[2026-10-20 21:39:00,920.920 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:39:00,950.950 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:39:01,111.111 INFO    ] No existing commands found in stream
[2026-10-20 21:39:06,138.138 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:39:06,141.141 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-10-20 21:39:11,009.009 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:39:11,012.012 INFO    ] Checking for system updates...
[2026-10-20 21:39:11,051.051 INFO    ] 200
[2026-10-20 21:39:11,053.053 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:39:11,117.117 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:39:11,120.120 INFO    ] No update needed
[2026-10-20 21:39:11,123.123 INFO    ] Checking for camera pi updates...
[2026-10-20 21:39:11,159.159 INFO    ] 200
[2026-10-20 21:39:11,162.162 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:39:11,209.209 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:39:11,263.263 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:39:11,266.266 INFO    ] No camera update needed
[2026-10-20 21:39:11,268.268 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:39:11,271.271 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:39:11,277.277 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:39:11,283.283 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:39:13,324.324 INFO    ] ================================================
[2026-10-20 21:39:13,340.340 INFO    ] Launching Daemon at Tue Oct 20 21:39:13 IST 2026
[2026-10-20 21:39:13,355.355 INFO    ] ================================================
[2026-10-20 21:39:13,945.945 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:39:13
[2026-10-20 21:39:14,530.530 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:39:14,794.794 INFO    ] Initializing speech engine...
[2026-10-20 21:39:14,811.811 INFO    ] 2026-10-20 21:39:14
[2026-10-20 21:39:15,067.067 INFO    ] 2026-10-20 21:39:15
[2026-10-20 21:39:15,120.120 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:39:15,319.319 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:39:15,355.355 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:39:15,558.558 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:39:15,618.618 INFO    ] time= 20/10/2026 21:39:15
[2026-10-20 21:39:15,645.645 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:39:15,651.651 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:39:15,796.796 INFO    ] No existing commands found in stream
[2026-10-20 21:39:20,814.814 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:39:20,817.817 INFO    ] Waiting 1.07 seconds before fallback handling...
[2026-10-20 21:39:22,432.432 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:39:22,435.435 INFO    ] Checking for system updates...
[2026-10-20 21:39:22,473.473 INFO    ] 200
[2026-10-20 21:39:22,475.475 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:39:22,527.527 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:39:22,530.530 INFO    ] No update needed
[2026-10-20 21:39:22,532.532 INFO    ] Checking for camera pi updates...
[2026-10-20 21:39:22,566.566 INFO    ] 200
[2026-10-20 21:39:22,568.568 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:39:22,611.611 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:39:22,665.665 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:39:22,668.668 INFO    ] No camera update needed
[2026-10-20 21:39:22,670.670 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:39:22,673.673 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:39:22,678.678 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:39:22,683.683 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:39:24,722.722 INFO    ] ================================================
[2026-10-20 21:39:24,737.737 INFO    ] Launching Daemon at Tue Oct 20 21:39:24 IST 2026
[2026-10-20 21:39:24,748.748 INFO    ] ================================================
[2026-10-20 21:39:25,313.313 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:39:25
[2026-10-20 21:39:25,911.911 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:39:26,187.187 INFO    ] Initializing speech engine...
[2026-10-20 21:39:26,193.193 INFO    ] 2026-10-20 21:39:26
[2026-10-20 21:39:26,453.453 INFO    ] 2026-10-20 21:39:26
[2026-10-20 21:39:26,506.506 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:39:26,727.727 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:39:26,736.736 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:39:26,870.870 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:39:26,929.929 INFO    ] time= 20/10/2026 21:39:26
[2026-10-20 21:39:26,984.984 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:39:27,002.002 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:39:27,142.142 INFO    ] No existing commands found in stream
[2026-10-20 21:39:32,159.159 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:39:32,162.162 INFO    ] Waiting 3.90 seconds before fallback handling...
[2026-10-20 21:39:36,607.607 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:39:36,610.610 INFO    ] Checking for system updates...
[2026-10-20 21:39:36,646.646 INFO    ] 200
[2026-10-20 21:39:36,649.649 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:39:36,700.700 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:39:36,703.703 INFO    ] No update needed
[2026-10-20 21:39:36,705.705 INFO    ] Checking for camera pi updates...
[2026-10-20 21:39:36,740.740 INFO    ] 200
[2026-10-20 21:39:36,742.742 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:39:36,786.786 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:39:36,844.844 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:39:36,846.846 INFO    ] No camera update needed
[2026-10-20 21:39:36,848.848 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:39:36,851.851 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:39:36,856.856 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:39:36,861.861 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:39:38,900.900 INFO    ] ================================================
[2026-10-20 21:39:38,914.914 INFO    ] Launching Daemon at Tue Oct 20 21:39:38 IST 2026
[2026-10-20 21:39:38,925.925 INFO    ] ================================================
[2026-10-20 21:39:39,496.496 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:39:39
[2026-10-20 21:39:40,079.079 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:39:40,324.324 INFO    ] Initializing speech engine...
[2026-10-20 21:39:40,332.332 INFO    ] 2026-10-20 21:39:40
[2026-10-20 21:39:40,605.605 INFO    ] 2026-10-20 21:39:40
[2026-10-20 21:39:40,641.641 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:39:40,839.839 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:39:40,879.879 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:39:41,044.044 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:39:41,092.092 INFO    ] time= 20/10/2026 21:39:41
[2026-10-20 21:39:41,146.146 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:39:41,182.182 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:39:41,330.330 INFO    ] No existing commands found in stream
[2026-10-20 21:39:46,345.345 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:39:46,347.347 INFO    ] Waiting 2.95 seconds before fallback handling...
[2026-10-20 21:39:49,765.765 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:39:49,768.768 INFO    ] Checking for system updates...
[2026-10-20 21:39:49,804.804 INFO    ] 200
[2026-10-20 21:39:49,806.806 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:39:49,862.862 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:39:49,864.864 INFO    ] No update needed
[2026-10-20 21:39:49,867.867 INFO    ] Checking for camera pi updates...
[2026-10-20 21:39:49,900.900 INFO    ] 200
[2026-10-20 21:39:49,902.902 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:39:49,945.945 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:39:49,993.993 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:39:49,995.995 INFO    ] No camera update needed
[2026-10-20 21:39:49,997.997 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:39:50,000.000 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:39:50,005.005 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:39:50,010.010 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:39:52,051.051 INFO    ] ================================================
[2026-10-20 21:39:52,067.067 INFO    ] Launching Daemon at Tue Oct 20 21:39:52 IST 2026
[2026-10-20 21:39:52,078.078 INFO    ] ================================================
[2026-10-20 21:39:52,696.696 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:39:52
[2026-10-20 21:39:53,316.316 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:39:53,589.589 INFO    ] Initializing speech engine...
[2026-10-20 21:39:53,600.600 INFO    ] 2026-10-20 21:39:53
[2026-10-20 21:39:53,859.859 INFO    ] 2026-10-20 21:39:53
[2026-10-20 21:39:53,889.889 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:39:54,134.134 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:39:54,143.143 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:39:54,282.282 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:39:54,342.342 INFO    ] time= 20/10/2026 21:39:54
[2026-10-20 21:39:54,397.397 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:39:54,407.407 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:39:54,553.553 INFO    ] No existing commands found in stream
[2026-10-20 21:39:59,567.567 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:39:59,570.570 INFO    ] Waiting 3.22 seconds before fallback handling...
[2026-10-20 21:40:04,610.610 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:40:04,613.613 INFO    ] Checking for system updates...
[2026-10-20 21:40:04,649.649 INFO    ] 200
[2026-10-20 21:40:04,651.651 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:40:04,703.703 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:40:04,705.705 INFO    ] No update needed
[2026-10-20 21:40:04,708.708 INFO    ] Checking for camera pi updates...
[2026-10-20 21:40:04,744.744 INFO    ] 200
[2026-10-20 21:40:04,747.747 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:40:04,791.791 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:40:04,833.833 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:40:04,836.836 INFO    ] No camera update needed
[2026-10-20 21:40:04,838.838 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:40:04,841.841 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:40:04,846.846 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:40:04,851.851 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:40:06,892.892 INFO    ] ================================================
[2026-10-20 21:40:06,907.907 INFO    ] Launching Daemon at Tue Oct 20 21:40:06 IST 2026
[2026-10-20 21:40:06,918.918 INFO    ] ================================================
[2026-10-20 21:40:07,484.484 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:40:07
[2026-10-20 21:40:08,068.068 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:40:08,316.316 INFO    ] Initializing speech engine...
[2026-10-20 21:40:08,330.330 INFO    ] 2026-10-20 21:40:08
[2026-10-20 21:40:08,595.595 INFO    ] 2026-10-20 21:40:08
[2026-10-20 21:40:08,630.630 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:40:08,829.829 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:40:08,836.836 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:40:09,032.032 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:40:09,080.080 INFO    ] time= 20/10/2026 21:40:09
[2026-10-20 21:40:09,129.129 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:40:09,169.169 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:40:09,299.299 INFO    ] No existing commands found in stream
[2026-10-20 21:40:14,327.327 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:40:14,330.330 INFO    ] Waiting 0.14 seconds before fallback handling...
[2026-10-20 21:40:14,926.926 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 21:40:14,928.928 INFO    ] Checking for system updates...
[2026-10-20 21:40:14,964.964 INFO    ] 200
[2026-10-20 21:40:14,967.967 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:40:15,019.019 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:40:15,022.022 INFO    ] No update needed
[2026-10-20 21:40:15,025.025 INFO    ] Checking for camera pi updates...
[2026-10-20 21:40:15,067.067 INFO    ] 200
[2026-10-20 21:40:15,069.069 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:40:15,114.114 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:40:15,170.170 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:40:15,173.173 INFO    ] No camera update needed
[2026-10-20 21:40:15,175.175 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:40:15,178.178 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:40:15,184.184 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:40:15,190.190 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:40:17,230.230 INFO    ] ================================================
[2026-10-20 21:40:17,245.245 INFO    ] Launching Daemon at Tue Oct 20 21:40:17 IST 2026
[2026-10-20 21:40:17,257.257 INFO    ] ================================================
[2026-10-20 21:40:17,834.834 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:40:17
[2026-10-20 21:40:18,431.431 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:40:18,699.699 INFO    ] Initializing speech engine...
[2026-10-20 21:40:18,712.712 INFO    ] 2026-10-20 21:40:18
[2026-10-20 21:40:18,962.962 INFO    ] 2026-10-20 21:40:18
[2026-10-20 21:40:18,996.996 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:40:19,194.194 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:40:19,251.251 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:40:19,397.397 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:40:19,467.467 INFO    ] time= 20/10/2026 21:40:19
[2026-10-20 21:40:19,516.516 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:40:19,525.525 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:40:19,673.673 INFO    ] No existing commands found in stream
[2026-10-20 21:40:24,687.687 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:40:24,690.690 INFO    ] Waiting 3.17 seconds before fallback handling...
[2026-10-20 21:40:28,398.398 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 21:40:28,401.401 INFO    ] Checking for system updates...
[2026-10-20 21:40:28,436.436 INFO    ] 200
[2026-10-20 21:40:28,439.439 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:40:28,492.492 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:40:28,495.495 INFO    ] No update needed
[2026-10-20 21:40:28,497.497 INFO    ] Checking for camera pi updates...
[2026-10-20 21:40:28,530.530 INFO    ] 200
[2026-10-20 21:40:28,533.533 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:40:28,572.572 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:40:28,620.620 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:40:28,623.623 INFO    ] No camera update needed
[2026-10-20 21:40:28,625.625 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:40:28,627.627 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:40:28,633.633 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:40:28,638.638 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:40:30,678.678 INFO    ] ================================================
[2026-10-20 21:40:30,695.695 INFO    ] Launching Daemon at Tue Oct 20 21:40:30 IST 2026
[2026-10-20 21:40:30,706.706 INFO    ] ================================================
[2026-10-20 21:40:31,340.340 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:40:31
[2026-10-20 21:40:32,071.071 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:40:32,401.401 INFO    ] Initializing speech engine...
[2026-10-20 21:40:32,417.417 INFO    ] 2026-10-20 21:40:32
[2026-10-20 21:40:32,697.697 INFO    ] 2026-10-20 21:40:32
[2026-10-20 21:40:32,735.735 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:40:33,016.016 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:40:33,026.026 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:40:33,177.177 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:40:33,194.194 INFO    ] time= 20/10/2026 21:40:33
[2026-10-20 21:40:33,269.269 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:40:33,272.272 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:40:33,382.382 INFO    ] No existing commands found in stream
[2026-10-20 21:40:38,396.396 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:40:38,399.399 INFO    ] Waiting 1.42 seconds before fallback handling...
[2026-10-20 21:40:40,340.340 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:40:40,343.343 INFO    ] Checking for system updates...
[2026-10-20 21:40:40,385.385 INFO    ] 200
[2026-10-20 21:40:40,389.389 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:40:40,455.455 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:40:40,457.457 INFO    ] No update needed
[2026-10-20 21:40:40,460.460 INFO    ] Checking for camera pi updates...
[2026-10-20 21:40:40,500.500 INFO    ] 200
[2026-10-20 21:40:40,503.503 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:40:40,554.554 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:40:40,617.617 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:40:40,620.620 INFO    ] No camera update needed
[2026-10-20 21:40:40,623.623 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:40:40,627.627 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:40:40,634.634 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:40:40,641.641 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:40:42,684.684 INFO    ] ================================================
[2026-10-20 21:40:42,700.700 INFO    ] Launching Daemon at Tue Oct 20 21:40:42 IST 2026
[2026-10-20 21:40:42,711.711 INFO    ] ================================================
[2026-10-20 21:40:43,294.294 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:40:43
[2026-10-20 21:40:43,896.896 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:40:44,175.175 INFO    ] Initializing speech engine...
[2026-10-20 21:40:44,182.182 INFO    ] 2026-10-20 21:40:44
[2026-10-20 21:40:44,442.442 INFO    ] 2026-10-20 21:40:44
[2026-10-20 21:40:44,472.472 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:40:44,719.719 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:40:44,728.728 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:40:44,862.862 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:40:44,906.906 INFO    ] time= 20/10/2026 21:40:44
[2026-10-20 21:40:44,971.971 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:40:44,995.995 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:40:45,122.122 INFO    ] No existing commands found in stream
[2026-10-20 21:40:50,149.149 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:40:50,152.152 INFO    ] Waiting 1.54 seconds before fallback handling...
[2026-10-20 21:40:52,228.228 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:40:52,231.231 INFO    ] Checking for system updates...
[2026-10-20 21:40:52,267.267 INFO    ] 200
[2026-10-20 21:40:52,270.270 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:40:52,326.326 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:40:52,328.328 INFO    ] No update needed
[2026-10-20 21:40:52,331.331 INFO    ] Checking for camera pi updates...
[2026-10-20 21:40:52,364.364 INFO    ] 200
[2026-10-20 21:40:52,367.367 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:40:52,407.407 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:40:52,460.460 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:40:52,463.463 INFO    ] No camera update needed
[2026-10-20 21:40:52,465.465 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:40:52,467.467 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:40:52,473.473 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:40:52,477.477 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:40:54,519.519 INFO    ] ================================================
[2026-10-20 21:40:54,535.535 INFO    ] Launching Daemon at Tue Oct 20 21:40:54 IST 2026
[2026-10-20 21:40:54,545.545 INFO    ] ================================================
[2026-10-20 21:40:55,111.111 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:40:55
[2026-10-20 21:40:55,696.696 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:40:55,968.968 INFO    ] Initializing speech engine...
[2026-10-20 21:40:55,977.977 INFO    ] 2026-10-20 21:40:55
[2026-10-20 21:40:56,229.229 INFO    ] 2026-10-20 21:40:56
[2026-10-20 21:40:56,264.264 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:40:56,522.522 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:40:56,531.531 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:40:56,669.669 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:40:56,739.739 INFO    ] time= 20/10/2026 21:40:56
[2026-10-20 21:40:56,798.798 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:40:56,806.806 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:40:56,949.949 INFO    ] No existing commands found in stream
[2026-10-20 21:41:01,967.967 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:41:01,970.970 INFO    ] Waiting 2.02 seconds before fallback handling...
[2026-10-20 21:41:04,481.481 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:41:04,483.483 INFO    ] Checking for system updates...
[2026-10-20 21:41:04,519.519 INFO    ] 200
[2026-10-20 21:41:04,521.521 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:41:04,582.582 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:41:04,584.584 INFO    ] No update needed
[2026-10-20 21:41:04,587.587 INFO    ] Checking for camera pi updates...
[2026-10-20 21:41:04,620.620 INFO    ] 200
[2026-10-20 21:41:04,622.622 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:41:04,662.662 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:41:04,713.713 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:41:04,716.716 INFO    ] No camera update needed
[2026-10-20 21:41:04,719.719 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:41:04,721.721 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:41:04,726.726 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:41:04,731.731 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:41:06,774.774 INFO    ] ================================================
[2026-10-20 21:41:06,789.789 INFO    ] Launching Daemon at Tue Oct 20 21:41:06 IST 2026
[2026-10-20 21:41:06,799.799 INFO    ] ================================================
[2026-10-20 21:41:07,368.368 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:41:07
[2026-10-20 21:41:07,958.958 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:41:08,231.231 INFO    ] Initializing speech engine...
[2026-10-20 21:41:08,240.240 INFO    ] 2026-10-20 21:41:08
[2026-10-20 21:41:08,489.489 INFO    ] 2026-10-20 21:41:08
[2026-10-20 21:41:08,525.525 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:41:08,784.784 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:41:08,793.793 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:41:09,011.011 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:41:09,056.056 INFO    ] time= 20/10/2026 21:41:09
[2026-10-20 21:41:09,067.067 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:41:09,085.085 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:41:09,213.213 INFO    ] No existing commands found in stream
[2026-10-20 21:41:14,230.230 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:41:14,233.233 INFO    ] Waiting 0.66 seconds before fallback handling...
[2026-10-20 21:41:15,401.401 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:41:15,403.403 INFO    ] Checking for system updates...
[2026-10-20 21:41:15,442.442 INFO    ] 200
[2026-10-20 21:41:15,445.445 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:41:15,503.503 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:41:15,505.505 INFO    ] No update needed
[2026-10-20 21:41:15,507.507 INFO    ] Checking for camera pi updates...
[2026-10-20 21:41:15,540.540 INFO    ] 200
[2026-10-20 21:41:15,543.543 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:41:15,583.583 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:41:15,625.625 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:41:15,627.627 INFO    ] No camera update needed
[2026-10-20 21:41:15,630.630 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:41:15,632.632 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:41:15,637.637 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:41:15,642.642 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:41:17,683.683 INFO    ] ================================================
[2026-10-20 21:41:17,698.698 INFO    ] Launching Daemon at Tue Oct 20 21:41:17 IST 2026
[2026-10-20 21:41:17,709.709 INFO    ] ================================================
[2026-10-20 21:41:18,277.277 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:41:18
[2026-10-20 21:41:18,863.863 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:41:19,108.108 INFO    ] Initializing speech engine...
[2026-10-20 21:41:19,116.116 INFO    ] 2026-10-20 21:41:19
[2026-10-20 21:41:19,390.390 INFO    ] 2026-10-20 21:41:19
[2026-10-20 21:41:19,425.425 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:41:19,682.682 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:41:19,691.691 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:41:19,899.899 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:41:19,949.949 INFO    ] time= 20/10/2026 21:41:19
[2026-10-20 21:41:19,963.963 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:41:19,980.980 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:41:20,113.113 INFO    ] No existing commands found in stream
[2026-10-20 21:41:25,128.128 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:41:25,131.131 INFO    ] Waiting 3.89 seconds before fallback handling...
[2026-10-20 21:41:29,605.605 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 21:41:29,608.608 INFO    ] Checking for system updates...
[2026-10-20 21:41:29,649.649 INFO    ] 200
[2026-10-20 21:41:29,652.652 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:41:29,711.711 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:41:29,714.714 INFO    ] No update needed
[2026-10-20 21:41:29,717.717 INFO    ] Checking for camera pi updates...
[2026-10-20 21:41:29,755.755 INFO    ] 200
[2026-10-20 21:41:29,758.758 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:41:29,804.804 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:41:29,853.853 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:41:29,856.856 INFO    ] No camera update needed
[2026-10-20 21:41:29,858.858 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:41:29,861.861 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:41:29,866.866 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:41:29,871.871 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:41:31,914.914 INFO    ] ================================================
[2026-10-20 21:41:31,931.931 INFO    ] Launching Daemon at Tue Oct 20 21:41:31 IST 2026
[2026-10-20 21:41:31,944.944 INFO    ] ================================================
[2026-10-20 21:41:32,562.562 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:41:32
[2026-10-20 21:41:33,175.175 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:41:33,452.452 INFO    ] Initializing speech engine...
[2026-10-20 21:41:33,459.459 INFO    ] 2026-10-20 21:41:33
[2026-10-20 21:41:33,718.718 INFO    ] 2026-10-20 21:41:33
[2026-10-20 21:41:33,748.748 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:41:33,999.999 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:41:34,005.005 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:41:34,137.137 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:41:34,207.207 INFO    ] time= 20/10/2026 21:41:34
[2026-10-20 21:41:34,263.263 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:41:34,270.270 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:41:34,393.393 INFO    ] No existing commands found in stream
[2026-10-20 21:41:39,420.420 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:41:39,423.423 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-10-20 21:41:41,985.985 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 21:41:41,987.987 INFO    ] Checking for system updates...
[2026-10-20 21:41:42,026.026 INFO    ] 200
[2026-10-20 21:41:42,029.029 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:41:42,082.082 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:41:42,084.084 INFO    ] No update needed
[2026-10-20 21:41:42,087.087 INFO    ] Checking for camera pi updates...
[2026-10-20 21:41:42,126.126 INFO    ] 200
[2026-10-20 21:41:42,129.129 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:41:42,169.169 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:41:42,321.321 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:41:42,323.323 INFO    ] No camera update needed
[2026-10-20 21:41:42,326.326 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:41:42,328.328 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:41:42,334.334 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:41:42,339.339 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:41:44,379.379 INFO    ] ================================================
[2026-10-20 21:41:44,395.395 INFO    ] Launching Daemon at Tue Oct 20 21:41:44 IST 2026
[2026-10-20 21:41:44,406.406 INFO    ] ================================================
[2026-10-20 21:41:44,974.974 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:41:44
[2026-10-20 21:41:45,559.559 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:41:45,840.840 INFO    ] Initializing speech engine...
[2026-10-20 21:41:45,849.849 INFO    ] 2026-10-20 21:41:45
[2026-10-20 21:41:46,117.117 INFO    ] 2026-10-20 21:41:46
[2026-10-20 21:41:46,151.151 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:41:46,371.371 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:41:46,380.380 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:41:46,598.598 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:41:46,604.604 INFO    ] time= 20/10/2026 21:41:46
[2026-10-20 21:41:46,664.664 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:41:46,713.713 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:41:46,875.875 INFO    ] No existing commands found in stream
[2026-10-20 21:41:51,897.897 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:41:51,900.900 INFO    ] Waiting 0.44 seconds before fallback handling...
[2026-10-20 21:41:52,829.829 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:41:52,832.832 INFO    ] Checking for system updates...
[2026-10-20 21:41:52,867.867 INFO    ] 200
[2026-10-20 21:41:52,869.869 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:41:52,931.931 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:41:52,933.933 INFO    ] No update needed
[2026-10-20 21:41:52,935.935 INFO    ] Checking for camera pi updates...
[2026-10-20 21:41:52,972.972 INFO    ] 200
[2026-10-20 21:41:52,974.974 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:41:53,014.014 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:41:53,059.059 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:41:53,061.061 INFO    ] No camera update needed
[2026-10-20 21:41:53,064.064 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:41:53,066.066 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:41:53,071.071 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:41:53,076.076 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:41:55,116.116 INFO    ] ================================================
[2026-10-20 21:41:55,132.132 INFO    ] Launching Daemon at Tue Oct 20 21:41:55 IST 2026
[2026-10-20 21:41:55,142.142 INFO    ] ================================================
[2026-10-20 21:41:55,780.780 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:41:55
[2026-10-20 21:41:56,441.441 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:41:56,750.750 INFO    ] Initializing speech engine...
[2026-10-20 21:41:56,763.763 INFO    ] 2026-10-20 21:41:56
[2026-10-20 21:41:57,068.068 INFO    ] 2026-10-20 21:41:57
[2026-10-20 21:41:57,156.156 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:41:57,376.376 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:41:57,385.385 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:41:57,577.577 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:41:57,584.584 INFO    ] time= 20/10/2026 21:41:57
[2026-10-20 21:41:57,606.606 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:41:57,634.634 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:41:57,778.778 INFO    ] No existing commands found in stream
[2026-10-20 21:42:02,801.801 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:42:02,804.804 INFO    ] Waiting 0.84 seconds before fallback handling...
[2026-10-20 21:42:04,185.185 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 21:42:04,188.188 INFO    ] Checking for system updates...
[2026-10-20 21:42:04,224.224 INFO    ] 200
[2026-10-20 21:42:04,227.227 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:42:04,280.280 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:42:04,282.282 INFO    ] No update needed
[2026-10-20 21:42:04,285.285 INFO    ] Checking for camera pi updates...
[2026-10-20 21:42:04,325.325 INFO    ] 200
[2026-10-20 21:42:04,328.328 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:42:04,373.373 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:42:04,429.429 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:42:04,432.432 INFO    ] No camera update needed
[2026-10-20 21:42:04,434.434 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:42:04,437.437 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:42:04,443.443 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:42:04,449.449 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:42:06,489.489 INFO    ] ================================================
[2026-10-20 21:42:06,505.505 INFO    ] Launching Daemon at Tue Oct 20 21:42:06 IST 2026
[2026-10-20 21:42:06,516.516 INFO    ] ================================================
[2026-10-20 21:42:07,165.165 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:42:07
[2026-10-20 21:42:07,826.826 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:42:08,129.129 INFO    ] Initializing speech engine...
[2026-10-20 21:42:08,142.142 INFO    ] 2026-10-20 21:42:08
[2026-10-20 21:42:08,409.409 INFO    ] 2026-10-20 21:42:08
[2026-10-20 21:42:08,465.465 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:42:08,687.687 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:42:08,697.697 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:42:08,904.904 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:42:08,955.955 INFO    ] time= 20/10/2026 21:42:08
[2026-10-20 21:42:08,962.962 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:42:08,981.981 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:42:09,107.107 INFO    ] No existing commands found in stream
[2026-10-20 21:42:14,127.127 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:42:14,130.130 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-10-20 21:42:16,154.154 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 21:42:16,157.157 INFO    ] Checking for system updates...
[2026-10-20 21:42:16,195.195 INFO    ] 200
[2026-10-20 21:42:16,198.198 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:42:16,257.257 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:42:16,260.260 INFO    ] No update needed
[2026-10-20 21:42:16,263.263 INFO    ] Checking for camera pi updates...
[2026-10-20 21:42:16,296.296 INFO    ] 200
[2026-10-20 21:42:16,299.299 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:42:16,343.343 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:42:16,400.400 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:42:16,402.402 INFO    ] No camera update needed
[2026-10-20 21:42:16,405.405 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:42:16,408.408 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:42:16,414.414 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:42:16,419.419 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:42:18,460.460 INFO    ] ================================================
[2026-10-20 21:42:18,475.475 INFO    ] Launching Daemon at Tue Oct 20 21:42:18 IST 2026
[2026-10-20 21:42:18,485.485 INFO    ] ================================================
[2026-10-20 21:42:19,065.065 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:42:19
[2026-10-20 21:42:19,652.652 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:42:19,901.901 INFO    ] Initializing speech engine...
[2026-10-20 21:42:19,924.924 INFO    ] 2026-10-20 21:42:19
[2026-10-20 21:42:20,198.198 INFO    ] 2026-10-20 21:42:20
[2026-10-20 21:42:20,235.235 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:42:20,429.429 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:42:20,445.445 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:42:20,604.604 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:42:20,613.613 INFO    ] time= 20/10/2026 21:42:20
[2026-10-20 21:42:20,618.618 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:42:20,625.625 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:42:20,750.750 INFO    ] No existing commands found in stream
[2026-10-20 21:42:25,775.775 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:42:25,778.778 INFO    ] Waiting 2.06 seconds before fallback handling...
[2026-10-20 21:42:28,317.317 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:42:28,320.320 INFO    ] Checking for system updates...
[2026-10-20 21:42:28,360.360 INFO    ] 200
[2026-10-20 21:42:28,362.362 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:42:28,420.420 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:42:28,423.423 INFO    ] No update needed
[2026-10-20 21:42:28,426.426 INFO    ] Checking for camera pi updates...
[2026-10-20 21:42:28,460.460 INFO    ] 200
[2026-10-20 21:42:28,463.463 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:42:28,503.503 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:42:28,553.553 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:42:28,556.556 INFO    ] No camera update needed
[2026-10-20 21:42:28,559.559 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:42:28,562.562 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:42:28,568.568 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:42:28,574.574 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:42:30,614.614 INFO    ] ================================================
[2026-10-20 21:42:30,629.629 INFO    ] Launching Daemon at Tue Oct 20 21:42:30 IST 2026
[2026-10-20 21:42:30,640.640 INFO    ] ================================================
[2026-10-20 21:42:31,261.261 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:42:31
[2026-10-20 21:42:31,990.990 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:42:32,321.321 INFO    ] Initializing speech engine...
[2026-10-20 21:42:32,336.336 INFO    ] 2026-10-20 21:42:32
[2026-10-20 21:42:32,618.618 INFO    ] 2026-10-20 21:42:32
[2026-10-20 21:42:32,675.675 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:42:32,914.914 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:42:32,921.921 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:42:33,140.140 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:42:33,164.164 INFO    ] time= 20/10/2026 21:42:33
[2026-10-20 21:42:33,167.167 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:42:33,194.194 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:42:33,325.325 INFO    ] No existing commands found in stream
[2026-10-20 21:42:38,342.342 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:42:38,344.344 INFO    ] Waiting 3.30 seconds before fallback handling...
[2026-10-20 21:42:42,162.162 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 21:42:42,164.164 INFO    ] Checking for system updates...
[2026-10-20 21:42:42,200.200 INFO    ] 200
[2026-10-20 21:42:42,202.202 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:42:42,254.254 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:42:42,256.256 INFO    ] No update needed
[2026-10-20 21:42:42,258.258 INFO    ] Checking for camera pi updates...
[2026-10-20 21:42:42,291.291 INFO    ] 200
[2026-10-20 21:42:42,294.294 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:42:42,334.334 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:42:42,381.381 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:42:42,384.384 INFO    ] No camera update needed
[2026-10-20 21:42:42,386.386 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:42:42,388.388 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:42:42,394.394 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:42:42,399.399 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:42:44,439.439 INFO    ] ================================================
[2026-10-20 21:42:44,453.453 INFO    ] Launching Daemon at Tue Oct 20 21:42:44 IST 2026
[2026-10-20 21:42:44,464.464 INFO    ] ================================================
[2026-10-20 21:42:45,036.036 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:42:45
[2026-10-20 21:42:45,623.623 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:42:45,884.884 INFO    ] Initializing speech engine...
[2026-10-20 21:42:45,898.898 INFO    ] 2026-10-20 21:42:45
[2026-10-20 21:42:46,182.182 INFO    ] 2026-10-20 21:42:46
[2026-10-20 21:42:46,217.217 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:42:46,443.443 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:42:46,451.451 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:42:46,663.663 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:42:46,679.679 INFO    ] time= 20/10/2026 21:42:46
[2026-10-20 21:42:46,723.723 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:42:46,772.772 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:42:46,885.885 INFO    ] No existing commands found in stream
[2026-10-20 21:42:51,897.897 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:42:51,900.900 INFO    ] Waiting 3.76 seconds before fallback handling...
[2026-10-20 21:42:56,199.199 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:42:56,201.201 INFO    ] Checking for system updates...
[2026-10-20 21:42:56,238.238 INFO    ] 200
[2026-10-20 21:42:56,241.241 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:42:56,293.293 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:42:56,296.296 INFO    ] No update needed
[2026-10-20 21:42:56,299.299 INFO    ] Checking for camera pi updates...
[2026-10-20 21:42:56,333.333 INFO    ] 200
[2026-10-20 21:42:56,336.336 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:42:56,376.376 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:42:56,430.430 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:42:56,432.432 INFO    ] No camera update needed
[2026-10-20 21:42:56,435.435 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:42:56,438.438 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:42:56,444.444 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:42:56,450.450 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:42:58,490.490 INFO    ] ================================================
[2026-10-20 21:42:58,505.505 INFO    ] Launching Daemon at Tue Oct 20 21:42:58 IST 2026
[2026-10-20 21:42:58,515.515 INFO    ] ================================================
[2026-10-20 21:42:59,165.165 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:42:59
[2026-10-20 21:42:59,835.835 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:43:00,127.127 INFO    ] Initializing speech engine...
[2026-10-20 21:43:00,142.142 INFO    ] 2026-10-20 21:43:00
[2026-10-20 21:43:00,425.425 INFO    ] 2026-10-20 21:43:00
[2026-10-20 21:43:00,498.498 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:43:00,752.752 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:43:00,761.761 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:43:00,962.962 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:43:00,969.969 INFO    ] time= 20/10/2026 21:43:00
[2026-10-20 21:43:00,985.985 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:43:00,994.994 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:43:01,117.117 INFO    ] No existing commands found in stream
[2026-10-20 21:43:06,134.134 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:43:06,138.138 INFO    ] Waiting 1.75 seconds before fallback handling...
[2026-10-20 21:43:08,400.400 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 21:43:08,403.403 INFO    ] Checking for system updates...
[2026-10-20 21:43:08,440.440 INFO    ] 200
[2026-10-20 21:43:08,444.444 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:43:08,497.497 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:43:08,501.501 INFO    ] No update needed
[2026-10-20 21:43:08,503.503 INFO    ] Checking for camera pi updates...
[2026-10-20 21:43:08,537.537 INFO    ] 200
[2026-10-20 21:43:08,540.540 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:43:08,581.581 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:43:08,628.628 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:43:08,631.631 INFO    ] No camera update needed
[2026-10-20 21:43:08,633.633 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:43:08,635.635 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:43:08,641.641 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:43:08,646.646 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:43:10,685.685 INFO    ] ================================================
[2026-10-20 21:43:10,701.701 INFO    ] Launching Daemon at Tue Oct 20 21:43:10 IST 2026
[2026-10-20 21:43:10,712.712 INFO    ] ================================================
[2026-10-20 21:43:11,378.378 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:43:11
[2026-10-20 21:43:12,065.065 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:43:12,381.381 INFO    ] Initializing speech engine...
[2026-10-20 21:43:12,390.390 INFO    ] 2026-10-20 21:43:12
[2026-10-20 21:43:12,697.697 INFO    ] 2026-10-20 21:43:12
[2026-10-20 21:43:12,782.782 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:43:12,992.992 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:43:13,001.001 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:43:13,181.181 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:43:13,202.202 INFO    ] time= 20/10/2026 21:43:13
[2026-10-20 21:43:13,222.222 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:43:13,249.249 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:43:13,385.385 INFO    ] No existing commands found in stream
[2026-10-20 21:43:18,422.422 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:43:18,425.425 INFO    ] Waiting 0.51 seconds before fallback handling...
[2026-10-20 21:43:19,457.457 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 21:43:19,460.460 INFO    ] Checking for system updates...
[2026-10-20 21:43:19,497.497 INFO    ] 200
[2026-10-20 21:43:19,500.500 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:43:19,553.553 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:43:19,556.556 INFO    ] No update needed
[2026-10-20 21:43:19,559.559 INFO    ] Checking for camera pi updates...
[2026-10-20 21:43:19,594.594 INFO    ] 200
[2026-10-20 21:43:19,597.597 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:43:19,644.644 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:43:19,700.700 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:43:19,703.703 INFO    ] No camera update needed
[2026-10-20 21:43:19,706.706 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:43:19,709.709 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:43:19,715.715 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:43:19,721.721 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:43:21,762.762 INFO    ] ================================================
[2026-10-20 21:43:21,777.777 INFO    ] Launching Daemon at Tue Oct 20 21:43:21 IST 2026
[2026-10-20 21:43:21,787.787 INFO    ] ================================================
[2026-10-20 21:43:22,360.360 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:43:22
[2026-10-20 21:43:22,951.951 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:43:23,197.197 INFO    ] Initializing speech engine...
[2026-10-20 21:43:23,203.203 INFO    ] 2026-10-20 21:43:23
[2026-10-20 21:43:23,477.477 INFO    ] 2026-10-20 21:43:23
[2026-10-20 21:43:23,512.512 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:43:23,713.713 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:43:23,720.720 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:43:23,915.915 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:43:23,928.928 INFO    ] time= 20/10/2026 21:43:23
[2026-10-20 21:43:23,982.982 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:43:24,031.031 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:43:24,114.114 INFO    ] No existing commands found in stream
[2026-10-20 21:43:29,144.144 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:43:29,146.146 INFO    ] Waiting 3.83 seconds before fallback handling...
[2026-10-20 21:43:33,470.470 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:43:33,472.472 INFO    ] Checking for system updates...
[2026-10-20 21:43:33,507.507 INFO    ] 200
[2026-10-20 21:43:33,510.510 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:43:33,562.562 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:43:33,564.564 INFO    ] No update needed
[2026-10-20 21:43:33,567.567 INFO    ] Checking for camera pi updates...
[2026-10-20 21:43:33,599.599 INFO    ] 200
[2026-10-20 21:43:33,602.602 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:43:33,641.641 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:43:33,690.690 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:43:33,693.693 INFO    ] No camera update needed
[2026-10-20 21:43:33,695.695 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:43:33,697.697 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:43:33,703.703 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:43:33,709.709 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:43:35,750.750 INFO    ] ================================================
[2026-10-20 21:43:35,766.766 INFO    ] Launching Daemon at Tue Oct 20 21:43:35 IST 2026
[2026-10-20 21:43:35,776.776 INFO    ] ================================================
[2026-10-20 21:43:36,341.341 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:43:36
[2026-10-20 21:43:36,922.922 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:43:37,192.192 INFO    ] Initializing speech engine...
[2026-10-20 21:43:37,202.202 INFO    ] 2026-10-20 21:43:37
[2026-10-20 21:43:37,449.449 INFO    ] 2026-10-20 21:43:37
[2026-10-20 21:43:37,483.483 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:43:37,742.742 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:43:37,751.751 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:43:37,885.885 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:43:37,922.922 INFO    ] time= 20/10/2026 21:43:37
[2026-10-20 21:43:37,981.981 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:43:38,022.022 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:43:38,153.153 INFO    ] No existing commands found in stream
[2026-10-20 21:43:43,181.181 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:43:43,183.183 INFO    ] Waiting 0.79 seconds before fallback handling...
[2026-10-20 21:43:44,459.459 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 21:43:44,462.462 INFO    ] Checking for system updates...
[2026-10-20 21:43:44,501.501 INFO    ] 200
[2026-10-20 21:43:44,504.504 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:43:44,565.565 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:43:44,567.567 INFO    ] No update needed
[2026-10-20 21:43:44,570.570 INFO    ] Checking for camera pi updates...
[2026-10-20 21:43:44,603.603 INFO    ] 200
[2026-10-20 21:43:44,605.605 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:43:44,645.645 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:43:44,793.793 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:43:44,796.796 INFO    ] No camera update needed
[2026-10-20 21:43:44,798.798 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:43:44,800.800 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:43:44,806.806 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:43:44,811.811 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:43:46,853.853 INFO    ] ================================================
[2026-10-20 21:43:46,868.868 INFO    ] Launching Daemon at Tue Oct 20 21:43:46 IST 2026
[2026-10-20 21:43:46,879.879 INFO    ] ================================================
[2026-10-20 21:43:47,453.453 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:43:47
[2026-10-20 21:43:48,095.095 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:43:48,413.413 INFO    ] Initializing speech engine...
[2026-10-20 21:43:48,418.418 INFO    ] 2026-10-20 21:43:48
[2026-10-20 21:43:48,728.728 INFO    ] 2026-10-20 21:43:48
[2026-10-20 21:43:48,816.816 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:43:49,031.031 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:43:49,039.039 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:43:49,230.230 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:43:49,237.237 INFO    ] time= 20/10/2026 21:43:49
[2026-10-20 21:43:49,258.258 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:43:49,286.286 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:43:49,398.398 INFO    ] No existing commands found in stream
[2026-10-20 21:43:54,433.433 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:43:54,437.437 INFO    ] Waiting 2.90 seconds before fallback handling...
[2026-10-20 21:43:57,859.859 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 21:43:57,862.862 INFO    ] Checking for system updates...
[2026-10-20 21:43:57,903.903 INFO    ] 200
[2026-10-20 21:43:57,906.906 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:43:57,957.957 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:43:57,959.959 INFO    ] No update needed
[2026-10-20 21:43:57,962.962 INFO    ] Checking for camera pi updates...
[2026-10-20 21:43:57,995.995 INFO    ] 200
[2026-10-20 21:43:57,998.998 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:43:58,038.038 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:43:58,082.082 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:43:58,085.085 INFO    ] No camera update needed
[2026-10-20 21:43:58,087.087 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:43:58,089.089 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:43:58,095.095 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:43:58,100.100 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:44:00,139.139 INFO    ] ================================================
[2026-10-20 21:44:00,154.154 INFO    ] Launching Daemon at Tue Oct 20 21:44:00 IST 2026
[2026-10-20 21:44:00,165.165 INFO    ] ================================================
[2026-10-20 21:44:00,832.832 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:44:00
[2026-10-20 21:44:01,615.615 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:44:02,017.017 INFO    ] Initializing speech engine...
[2026-10-20 21:44:02,028.028 INFO    ] 2026-10-20 21:44:02
[2026-10-20 21:44:02,375.375 INFO    ] 2026-10-20 21:44:02
[2026-10-20 21:44:02,460.460 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:44:02,669.669 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:44:02,672.672 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:44:02,904.904 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:44:02,936.936 INFO    ] time= 20/10/2026 21:44:02
[2026-10-20 21:44:02,954.954 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:44:02,982.982 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:44:03,107.107 INFO    ] No existing commands found in stream
[2026-10-20 21:44:08,131.131 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:44:08,133.133 INFO    ] Waiting 3.90 seconds before fallback handling...
[2026-10-20 21:44:12,560.560 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 21:44:12,563.563 INFO    ] Checking for system updates...
[2026-10-20 21:44:12,599.599 INFO    ] 200
[2026-10-20 21:44:12,601.601 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:44:12,660.660 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:44:12,662.662 INFO    ] No update needed
[2026-10-20 21:44:12,664.664 INFO    ] Checking for camera pi updates...
[2026-10-20 21:44:12,698.698 INFO    ] 200
[2026-10-20 21:44:12,701.701 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:44:12,744.744 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:44:12,790.790 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:44:12,792.792 INFO    ] No camera update needed
[2026-10-20 21:44:12,795.795 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:44:12,797.797 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:44:12,803.803 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:44:12,808.808 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:44:14,850.850 INFO    ] ================================================
[2026-10-20 21:44:14,865.865 INFO    ] Launching Daemon at Tue Oct 20 21:44:14 IST 2026
[2026-10-20 21:44:14,876.876 INFO    ] ================================================
[2026-10-20 21:44:15,441.441 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:44:15
[2026-10-20 21:44:16,026.026 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:44:16,315.315 INFO    ] Initializing speech engine...
[2026-10-20 21:44:16,328.328 INFO    ] 2026-10-20 21:44:16
[2026-10-20 21:44:16,607.607 INFO    ] 2026-10-20 21:44:16
[2026-10-20 21:44:16,654.654 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:44:16,879.879 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:44:16,884.884 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:44:17,097.097 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:44:17,142.142 INFO    ] time= 20/10/2026 21:44:17
[2026-10-20 21:44:17,159.159 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:44:17,170.170 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:44:17,321.321 INFO    ] No existing commands found in stream
[2026-10-20 21:44:22,352.352 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:44:22,355.355 INFO    ] Waiting 3.95 seconds before fallback handling...
[2026-10-20 21:44:26,830.830 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 21:44:26,833.833 INFO    ] Checking for system updates...
[2026-10-20 21:44:26,870.870 INFO    ] 200
[2026-10-20 21:44:26,873.873 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:44:26,927.927 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:44:26,929.929 INFO    ] No update needed
[2026-10-20 21:44:26,932.932 INFO    ] Checking for camera pi updates...
[2026-10-20 21:44:26,971.971 INFO    ] 200
[2026-10-20 21:44:26,973.973 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:44:27,019.019 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:44:27,076.076 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:44:27,079.079 INFO    ] No camera update needed
[2026-10-20 21:44:27,081.081 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:44:27,084.084 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:44:27,090.090 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:44:27,096.096 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:44:29,138.138 INFO    ] ================================================
[2026-10-20 21:44:29,154.154 INFO    ] Launching Daemon at Tue Oct 20 21:44:29 IST 2026
[2026-10-20 21:44:29,165.165 INFO    ] ================================================
[2026-10-20 21:44:29,731.731 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:44:29
[2026-10-20 21:44:30,314.314 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:44:30,565.565 INFO    ] Initializing speech engine...
[2026-10-20 21:44:30,637.637 INFO    ] 2026-10-20 21:44:30
[2026-10-20 21:44:30,906.906 INFO    ] 2026-10-20 21:44:30
[2026-10-20 21:44:30,989.989 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:44:31,205.205 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:44:31,213.213 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:44:31,401.401 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:44:31,416.416 INFO    ] time= 20/10/2026 21:44:31
[2026-10-20 21:44:31,429.429 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:44:31,440.440 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:44:31,575.575 INFO    ] No existing commands found in stream
[2026-10-20 21:44:36,597.597 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:44:36,600.600 INFO    ] Waiting 0.70 seconds before fallback handling...
[2026-10-20 21:44:37,806.806 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:44:37,809.809 INFO    ] Checking for system updates...
[2026-10-20 21:44:37,845.845 INFO    ] 200
[2026-10-20 21:44:37,847.847 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:44:37,899.899 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:44:37,901.901 INFO    ] No update needed
[2026-10-20 21:44:37,903.903 INFO    ] Checking for camera pi updates...
[2026-10-20 21:44:37,936.936 INFO    ] 200
[2026-10-20 21:44:37,938.938 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:44:37,984.984 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:44:38,031.031 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:44:38,034.034 INFO    ] No camera update needed
[2026-10-20 21:44:38,036.036 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:44:38,039.039 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:44:38,044.044 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:44:38,049.049 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:44:40,090.090 INFO    ] ================================================
[2026-10-20 21:44:40,105.105 INFO    ] Launching Daemon at Tue Oct 20 21:44:40 IST 2026
[2026-10-20 21:44:40,116.116 INFO    ] ================================================
[2026-10-20 21:44:40,702.702 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:44:40
[2026-10-20 21:44:41,301.301 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:44:41,575.575 INFO    ] Initializing speech engine...
[2026-10-20 21:44:41,584.584 INFO    ] 2026-10-20 21:44:41
[2026-10-20 21:44:41,847.847 INFO    ] 2026-10-20 21:44:41
[2026-10-20 21:44:41,878.878 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:44:42,124.124 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:44:42,133.133 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:44:42,336.336 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:44:42,394.394 INFO    ] time= 20/10/2026 21:44:42
[2026-10-20 21:44:42,400.400 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:44:42,418.418 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:44:42,553.553 INFO    ] No existing commands found in stream
[2026-10-20 21:44:47,575.575 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:44:47,577.577 INFO    ] Waiting 0.14 seconds before fallback handling...
[2026-10-20 21:44:48,179.179 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:44:48,181.181 INFO    ] Checking for system updates...
[2026-10-20 21:44:48,221.221 INFO    ] 200
[2026-10-20 21:44:48,223.223 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:44:48,276.276 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:44:48,279.279 INFO    ] No update needed
[2026-10-20 21:44:48,282.282 INFO    ] Checking for camera pi updates...
[2026-10-20 21:44:48,315.315 INFO    ] 200
[2026-10-20 21:44:48,317.317 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:44:48,362.362 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:44:48,420.420 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:44:48,422.422 INFO    ] No camera update needed
[2026-10-20 21:44:48,425.425 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:44:48,427.427 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:44:48,433.433 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:44:48,438.438 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:44:50,477.477 INFO    ] ================================================
[2026-10-20 21:44:50,492.492 INFO    ] Launching Daemon at Tue Oct 20 21:44:50 IST 2026
[2026-10-20 21:44:50,503.503 INFO    ] ================================================
[2026-10-20 21:44:51,172.172 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:44:51
[2026-10-20 21:44:51,856.856 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:44:52,170.170 INFO    ] Initializing speech engine...
[2026-10-20 21:44:52,182.182 INFO    ] 2026-10-20 21:44:52
[2026-10-20 21:44:52,473.473 INFO    ] 2026-10-20 21:44:52
[2026-10-20 21:44:52,584.584 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:44:52,768.768 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:44:52,787.787 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:44:52,999.999 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:44:53,016.016 INFO    ] time= 20/10/2026 21:44:53
[2026-10-20 21:44:53,037.037 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:44:53,064.064 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:44:53,185.185 INFO    ] No existing commands found in stream
[2026-10-20 21:44:58,221.221 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:44:58,224.224 INFO    ] Waiting 3.13 seconds before fallback handling...
[2026-10-20 21:45:02,361.361 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:45:02,374.374 INFO    ] Checking for system updates...
[2026-10-20 21:45:02,420.420 INFO    ] 200
[2026-10-20 21:45:02,423.423 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:45:02,529.529 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:45:02,533.533 INFO    ] No update needed
[2026-10-20 21:45:02,536.536 INFO    ] Checking for camera pi updates...
[2026-10-20 21:45:02,595.595 INFO    ] 200
[2026-10-20 21:45:02,598.598 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:45:02,643.643 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:45:02,679.679 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:45:02,682.682 INFO    ] No camera update needed
[2026-10-20 21:45:02,686.686 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:45:02,689.689 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:45:02,695.695 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:45:02,702.702 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:45:04,745.745 INFO    ] ================================================
[2026-10-20 21:45:04,761.761 INFO    ] Launching Daemon at Tue Oct 20 21:45:04 IST 2026
[2026-10-20 21:45:04,773.773 INFO    ] ================================================
[2026-10-20 21:45:05,354.354 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:45:05
[2026-10-20 21:45:05,953.953 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:45:06,226.226 INFO    ] Initializing speech engine...
[2026-10-20 21:45:06,235.235 INFO    ] 2026-10-20 21:45:06
[2026-10-20 21:45:06,499.499 INFO    ] 2026-10-20 21:45:06
[2026-10-20 21:45:06,552.552 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:45:06,775.775 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:45:06,785.785 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:45:06,977.977 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:45:07,021.021 INFO    ] time= 20/10/2026 21:45:06
[2026-10-20 21:45:07,049.049 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:45:07,065.065 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:45:07,196.196 INFO    ] No existing commands found in stream
[2026-10-20 21:45:12,212.212 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:45:12,214.214 INFO    ] Waiting 3.62 seconds before fallback handling...
[2026-10-20 21:45:16,351.351 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 21:45:16,354.354 INFO    ] Checking for system updates...
[2026-10-20 21:45:16,395.395 INFO    ] 200
[2026-10-20 21:45:16,398.398 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:45:16,456.456 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:45:16,459.459 INFO    ] No update needed
[2026-10-20 21:45:16,462.462 INFO    ] Checking for camera pi updates...
[2026-10-20 21:45:16,502.502 INFO    ] 200
[2026-10-20 21:45:16,505.505 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:45:16,552.552 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:45:16,583.583 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:45:16,586.586 INFO    ] No camera update needed
[2026-10-20 21:45:16,589.589 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:45:16,592.592 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:45:16,599.599 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:45:16,605.605 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:45:18,648.648 INFO    ] ================================================
[2026-10-20 21:45:18,664.664 INFO    ] Launching Daemon at Tue Oct 20 21:45:18 IST 2026
[2026-10-20 21:45:18,676.676 INFO    ] ================================================
[2026-10-20 21:45:19,367.367 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:45:19
[2026-10-20 21:45:20,020.020 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:45:20,322.322 INFO    ] Initializing speech engine...
[2026-10-20 21:45:20,330.330 INFO    ] 2026-10-20 21:45:20
[2026-10-20 21:45:20,592.592 INFO    ] 2026-10-20 21:45:20
[2026-10-20 21:45:20,622.622 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:45:20,840.840 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:45:20,875.875 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:45:21,087.087 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:45:21,099.099 INFO    ] time= 20/10/2026 21:45:21
[2026-10-20 21:45:21,154.154 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:45:21,187.187 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:45:21,310.310 INFO    ] No existing commands found in stream
[2026-10-20 21:45:26,321.321 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:45:26,324.324 INFO    ] Waiting 0.06 seconds before fallback handling...
[2026-10-20 21:45:26,873.873 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 21:45:26,876.876 INFO    ] Checking for system updates...
[2026-10-20 21:45:26,913.913 INFO    ] 200
[2026-10-20 21:45:26,916.916 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:45:26,976.976 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:45:26,979.979 INFO    ] No update needed
[2026-10-20 21:45:26,982.982 INFO    ] Checking for camera pi updates...
[2026-10-20 21:45:27,017.017 INFO    ] 200
[2026-10-20 21:45:27,020.020 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:45:27,062.062 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:45:27,105.105 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:45:27,108.108 INFO    ] No camera update needed
[2026-10-20 21:45:27,111.111 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:45:27,114.114 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:45:27,120.120 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:45:27,126.126 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:45:29,168.168 INFO    ] ================================================
[2026-10-20 21:45:29,184.184 INFO    ] Launching Daemon at Tue Oct 20 21:45:29 IST 2026
[2026-10-20 21:45:29,195.195 INFO    ] ================================================
[2026-10-20 21:45:29,761.761 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:45:29
[2026-10-20 21:45:30,346.346 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:45:30,614.614 INFO    ] Initializing speech engine...
[2026-10-20 21:45:30,626.626 INFO    ] 2026-10-20 21:45:30
[2026-10-20 21:45:30,877.877 INFO    ] 2026-10-20 21:45:30
[2026-10-20 21:45:30,913.913 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:45:31,116.116 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:45:31,175.175 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:45:31,317.317 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:45:31,366.366 INFO    ] time= 20/10/2026 21:45:31
[2026-10-20 21:45:31,404.404 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:45:31,454.454 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:45:31,596.596 INFO    ] No existing commands found in stream
[2026-10-20 21:45:36,617.617 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:45:36,621.621 INFO    ] Waiting 2.46 seconds before fallback handling...
[2026-10-20 21:45:39,584.584 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 21:45:39,587.587 INFO    ] Checking for system updates...
[2026-10-20 21:45:39,624.624 INFO    ] 200
[2026-10-20 21:45:39,626.626 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:45:39,679.679 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:45:39,682.682 INFO    ] No update needed
[2026-10-20 21:45:39,684.684 INFO    ] Checking for camera pi updates...
[2026-10-20 21:45:39,717.717 INFO    ] 200
[2026-10-20 21:45:39,720.720 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:45:39,761.761 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:45:39,807.807 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:45:39,810.810 INFO    ] No camera update needed
[2026-10-20 21:45:39,812.812 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:45:39,814.814 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:45:39,820.820 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:45:39,825.825 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:45:41,867.867 INFO    ] ================================================
[2026-10-20 21:45:41,883.883 INFO    ] Launching Daemon at Tue Oct 20 21:45:41 IST 2026
[2026-10-20 21:45:41,893.893 INFO    ] ================================================
[2026-10-20 21:45:42,476.476 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:45:42
[2026-10-20 21:45:43,074.074 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:45:43,352.352 INFO    ] Initializing speech engine...
[2026-10-20 21:45:43,361.361 INFO    ] 2026-10-20 21:45:43
[2026-10-20 21:45:43,619.619 INFO    ] 2026-10-20 21:45:43
[2026-10-20 21:45:43,649.649 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:45:43,898.898 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:45:43,905.905 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:45:44,133.133 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:45:44,160.160 INFO    ] time= 20/10/2026 21:45:44
[2026-10-20 21:45:44,166.166 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:45:44,187.187 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:45:44,313.313 INFO    ] No existing commands found in stream
[2026-10-20 21:45:49,326.326 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:45:49,329.329 INFO    ] Waiting 1.02 seconds before fallback handling...
[2026-10-20 21:45:50,893.893 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:45:50,896.896 INFO    ] Checking for system updates...
[2026-10-20 21:45:50,933.933 INFO    ] 200
[2026-10-20 21:45:50,936.936 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:45:51,009.009 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:45:51,011.011 INFO    ] No update needed
[2026-10-20 21:45:51,013.013 INFO    ] Checking for camera pi updates...
[2026-10-20 21:45:51,047.047 INFO    ] 200
[2026-10-20 21:45:51,049.049 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:45:51,090.090 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:45:51,246.246 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:45:51,249.249 INFO    ] No camera update needed
[2026-10-20 21:45:51,251.251 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:45:51,254.254 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:45:51,259.259 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:45:51,264.264 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:45:53,304.304 INFO    ] ================================================
[2026-10-20 21:45:53,320.320 INFO    ] Launching Daemon at Tue Oct 20 21:45:53 IST 2026
[2026-10-20 21:45:53,330.330 INFO    ] ================================================
[2026-10-20 21:45:53,901.901 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:45:53
[2026-10-20 21:45:54,491.491 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:45:54,767.767 INFO    ] Initializing speech engine...
[2026-10-20 21:45:54,774.774 INFO    ] 2026-10-20 21:45:54
[2026-10-20 21:45:55,022.022 INFO    ] 2026-10-20 21:45:55
[2026-10-20 21:45:55,065.065 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:45:55,317.317 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:45:55,326.326 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:45:55,461.461 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:45:55,503.503 INFO    ] time= 20/10/2026 21:45:55
[2026-10-20 21:45:55,557.557 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:45:55,598.598 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:45:55,751.751 INFO    ] No existing commands found in stream
[2026-10-20 21:46:00,763.763 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:46:00,782.782 INFO    ] Waiting 1.17 seconds before fallback handling...
[2026-10-20 21:46:02,525.525 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:46:02,529.529 INFO    ] Checking for system updates...
[2026-10-20 21:46:02,576.576 INFO    ] 200
[2026-10-20 21:46:02,579.579 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:46:02,638.638 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:46:02,642.642 INFO    ] No update needed
[2026-10-20 21:46:02,646.646 INFO    ] Checking for camera pi updates...
[2026-10-20 21:46:02,688.688 INFO    ] 200
[2026-10-20 21:46:02,691.691 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:46:02,740.740 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:46:02,773.773 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:46:02,775.775 INFO    ] No camera update needed
[2026-10-20 21:46:02,777.777 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:46:02,780.780 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:46:02,785.785 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:46:02,790.790 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:46:04,830.830 INFO    ] ================================================
[2026-10-20 21:46:04,845.845 INFO    ] Launching Daemon at Tue Oct 20 21:46:04 IST 2026
[2026-10-20 21:46:04,856.856 INFO    ] ================================================
[2026-10-20 21:46:05,435.435 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:46:05
[2026-10-20 21:46:06,038.038 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:46:06,309.309 INFO    ] Initializing speech engine...
[2026-10-20 21:46:06,335.335 INFO    ] 2026-10-20 21:46:06
[2026-10-20 21:46:06,612.612 INFO    ] 2026-10-20 21:46:06
[2026-10-20 21:46:06,650.650 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:46:06,848.848 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:46:06,862.862 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:46:07,030.030 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:46:07,036.036 INFO    ] time= 20/10/2026 21:46:07
[2026-10-20 21:46:07,042.042 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:46:07,070.070 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:46:07,218.218 INFO    ] No existing commands found in stream
[2026-10-20 21:46:12,244.244 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:46:12,246.246 INFO    ] Waiting 2.16 seconds before fallback handling...
[2026-10-20 21:46:14,934.934 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:46:14,937.937 INFO    ] Checking for system updates...
[2026-10-20 21:46:14,973.973 INFO    ] 200
[2026-10-20 21:46:14,975.975 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:46:15,030.030 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:46:15,032.032 INFO    ] No update needed
[2026-10-20 21:46:15,035.035 INFO    ] Checking for camera pi updates...
[2026-10-20 21:46:15,071.071 INFO    ] 200
[2026-10-20 21:46:15,074.074 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:46:15,113.113 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:46:15,160.160 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:46:15,163.163 INFO    ] No camera update needed
[2026-10-20 21:46:15,165.165 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:46:15,167.167 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:46:15,173.173 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:46:15,178.178 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:46:17,218.218 INFO    ] ================================================
[2026-10-20 21:46:17,233.233 INFO    ] Launching Daemon at Tue Oct 20 21:46:17 IST 2026
[2026-10-20 21:46:17,243.243 INFO    ] ================================================
[2026-10-20 21:46:17,820.820 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:46:17
[2026-10-20 21:46:18,407.407 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:46:18,704.704 INFO    ] Initializing speech engine...
[2026-10-20 21:46:18,711.711 INFO    ] 2026-10-20 21:46:18
[2026-10-20 21:46:18,984.984 INFO    ] 2026-10-20 21:46:18
[2026-10-20 21:46:19,020.020 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:46:19,278.278 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:46:19,283.283 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:46:19,484.484 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:46:19,545.545 INFO    ] time= 20/10/2026 21:46:19
[2026-10-20 21:46:19,557.557 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:46:19,578.578 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:46:19,712.712 INFO    ] No existing commands found in stream
[2026-10-20 21:46:24,742.742 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:46:24,745.745 INFO    ] Waiting 0.22 seconds before fallback handling...
[2026-10-20 21:46:25,479.479 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:46:25,482.482 INFO    ] Checking for system updates...
[2026-10-20 21:46:25,521.521 INFO    ] 200
[2026-10-20 21:46:25,523.523 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:46:25,575.575 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:46:25,577.577 INFO    ] No update needed
[2026-10-20 21:46:25,580.580 INFO    ] Checking for camera pi updates...
[2026-10-20 21:46:25,613.613 INFO    ] 200
[2026-10-20 21:46:25,615.615 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:46:25,655.655 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:46:25,704.704 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:46:25,706.706 INFO    ] No camera update needed
[2026-10-20 21:46:25,709.709 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:46:25,711.711 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:46:25,716.716 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:46:25,722.722 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:46:27,762.762 INFO    ] ================================================
[2026-10-20 21:46:27,776.776 INFO    ] Launching Daemon at Tue Oct 20 21:46:27 IST 2026
[2026-10-20 21:46:27,788.788 INFO    ] ================================================
[2026-10-20 21:46:28,352.352 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:46:28
[2026-10-20 21:46:28,935.935 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:46:29,205.205 INFO    ] Initializing speech engine...
[2026-10-20 21:46:29,214.214 INFO    ] 2026-10-20 21:46:29
[2026-10-20 21:46:29,463.463 INFO    ] 2026-10-20 21:46:29
[2026-10-20 21:46:29,496.496 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:46:29,700.700 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:46:29,758.758 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:46:29,900.900 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:46:29,932.932 INFO    ] time= 20/10/2026 21:46:29
[2026-10-20 21:46:29,986.986 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:46:30,036.036 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:46:30,185.185 INFO    ] No existing commands found in stream
[2026-10-20 21:46:35,200.200 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:46:35,203.203 INFO    ] Waiting 2.54 seconds before fallback handling...
[2026-10-20 21:46:38,240.240 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 21:46:38,243.243 INFO    ] Checking for system updates...
[2026-10-20 21:46:38,278.278 INFO    ] 200
[2026-10-20 21:46:38,280.280 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:46:38,332.332 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:46:38,334.334 INFO    ] No update needed
[2026-10-20 21:46:38,337.337 INFO    ] Checking for camera pi updates...
[2026-10-20 21:46:38,370.370 INFO    ] 200
[2026-10-20 21:46:38,372.372 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:46:38,413.413 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:46:38,458.458 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:46:38,460.460 INFO    ] No camera update needed
[2026-10-20 21:46:38,463.463 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:46:38,465.465 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:46:38,470.470 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:46:38,475.475 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:46:40,514.514 INFO    ] ================================================
[2026-10-20 21:46:40,530.530 INFO    ] Launching Daemon at Tue Oct 20 21:46:40 IST 2026
[2026-10-20 21:46:40,541.541 INFO    ] ================================================
[2026-10-20 21:46:41,107.107 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:46:41
[2026-10-20 21:46:41,693.693 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:46:41,957.957 INFO    ] Initializing speech engine...
[2026-10-20 21:46:41,963.963 INFO    ] 2026-10-20 21:46:41
[2026-10-20 21:46:42,259.259 INFO    ] 2026-10-20 21:46:42
[2026-10-20 21:46:42,296.296 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:46:42,499.499 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:46:42,534.534 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:46:42,702.702 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:46:42,748.748 INFO    ] time= 20/10/2026 21:46:42
[2026-10-20 21:46:42,807.807 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:46:42,835.835 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:46:42,964.964 INFO    ] No existing commands found in stream
[2026-10-20 21:46:47,992.992 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:46:47,995.995 INFO    ] Waiting 2.65 seconds before fallback handling...
[2026-10-20 21:46:51,120.120 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 21:46:51,123.123 INFO    ] Checking for system updates...
[2026-10-20 21:46:51,158.158 INFO    ] 200
[2026-10-20 21:46:51,161.161 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:46:51,237.237 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:46:51,239.239 INFO    ] No update needed
[2026-10-20 21:46:51,242.242 INFO    ] Checking for camera pi updates...
[2026-10-20 21:46:51,276.276 INFO    ] 200
[2026-10-20 21:46:51,279.279 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:46:51,319.319 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:46:51,366.366 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:46:51,368.368 INFO    ] No camera update needed
[2026-10-20 21:46:51,371.371 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:46:51,373.373 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:46:51,378.378 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:46:51,383.383 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:46:53,423.423 INFO    ] ================================================
[2026-10-20 21:46:53,438.438 INFO    ] Launching Daemon at Tue Oct 20 21:46:53 IST 2026
[2026-10-20 21:46:53,449.449 INFO    ] ================================================
[2026-10-20 21:46:54,110.110 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:46:54
[2026-10-20 21:46:54,802.802 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:46:55,113.113 INFO    ] Initializing speech engine...
[2026-10-20 21:46:55,127.127 INFO    ] 2026-10-20 21:46:55
[2026-10-20 21:46:55,419.419 INFO    ] 2026-10-20 21:46:55
[2026-10-20 21:46:55,458.458 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:46:55,693.693 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:46:55,704.704 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:46:55,862.862 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:46:55,864.864 INFO    ] time= 20/10/2026 21:46:55
[2026-10-20 21:46:55,867.867 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:46:55,916.916 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:46:56,005.005 INFO    ] No existing commands found in stream
[2026-10-20 21:47:01,018.018 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:47:01,021.021 INFO    ] Waiting 0.94 seconds before fallback handling...
[2026-10-20 21:47:02,493.493 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:47:02,496.496 INFO    ] Checking for system updates...
[2026-10-20 21:47:02,541.541 INFO    ] 200
[2026-10-20 21:47:02,544.544 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:47:02,602.602 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:47:02,605.605 INFO    ] No update needed
[2026-10-20 21:47:02,608.608 INFO    ] Checking for camera pi updates...
[2026-10-20 21:47:02,652.652 INFO    ] 200
[2026-10-20 21:47:02,655.655 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:47:02,703.703 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:47:02,747.747 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:47:02,755.755 INFO    ] No camera update needed
[2026-10-20 21:47:02,760.760 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:47:02,764.764 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:47:02,773.773 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:47:02,783.783 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:47:04,824.824 INFO    ] ================================================
[2026-10-20 21:47:04,839.839 INFO    ] Launching Daemon at Tue Oct 20 21:47:04 IST 2026
[2026-10-20 21:47:04,850.850 INFO    ] ================================================
[2026-10-20 21:47:05,416.416 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:47:05
[2026-10-20 21:47:06,000.000 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:47:06,249.249 INFO    ] Initializing speech engine...
[2026-10-20 21:47:06,264.264 INFO    ] 2026-10-20 21:47:06
[2026-10-20 21:47:06,532.532 INFO    ] 2026-10-20 21:47:06
[2026-10-20 21:47:06,566.566 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:47:06,765.765 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:47:06,815.815 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:47:06,974.974 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:47:07,034.034 INFO    ] time= 20/10/2026 21:47:06
[2026-10-20 21:47:07,083.083 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:47:07,111.111 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:47:07,265.265 INFO    ] No existing commands found in stream
[2026-10-20 21:47:12,298.298 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:47:12,301.301 INFO    ] Waiting 0.51 seconds before fallback handling...
[2026-10-20 21:47:13,310.310 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 21:47:13,312.312 INFO    ] Checking for system updates...
[2026-10-20 21:47:13,370.370 INFO    ] 200
[2026-10-20 21:47:13,372.372 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 21:47:13,375.375 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-10-20 21:47:13,378.378 INFO    ] Checking for camera pi updates...
[2026-10-20 21:47:13,422.422 INFO    ] 200
[2026-10-20 21:47:13,425.425 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 21:47:13,428.428 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-10-20 21:47:13,430.430 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:47:13,433.433 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:47:13,439.439 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:47:13,445.445 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:47:15,487.487 INFO    ] ================================================
[2026-10-20 21:47:15,502.502 INFO    ] Launching Daemon at Tue Oct 20 21:47:15 IST 2026
[2026-10-20 21:47:15,514.514 INFO    ] ================================================
[2026-10-20 21:47:16,079.079 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:47:16
[2026-10-20 21:47:16,664.664 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:47:16,916.916 INFO    ] Initializing speech engine...
[2026-10-20 21:47:16,939.939 INFO    ] 2026-10-20 21:47:16
[2026-10-20 21:47:17,195.195 INFO    ] 2026-10-20 21:47:17
[2026-10-20 21:47:17,230.230 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:47:17,488.488 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:47:17,498.498 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:47:17,704.704 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:47:17,761.761 INFO    ] time= 20/10/2026 21:47:17
[2026-10-20 21:47:17,768.768 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:47:17,783.783 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:47:17,913.913 INFO    ] No existing commands found in stream
[2026-10-20 21:47:22,931.931 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:47:22,933.933 INFO    ] Waiting 3.68 seconds before fallback handling...
[2026-10-20 21:47:27,092.092 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:47:27,095.095 INFO    ] Checking for system updates...
[2026-10-20 21:47:27,134.134 INFO    ] 200
[2026-10-20 21:47:27,137.137 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:47:27,196.196 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:47:27,199.199 INFO    ] No update needed
[2026-10-20 21:47:27,201.201 INFO    ] Checking for camera pi updates...
[2026-10-20 21:47:27,234.234 INFO    ] 200
[2026-10-20 21:47:27,237.237 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:47:27,282.282 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:47:27,330.330 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:47:27,332.332 INFO    ] No camera update needed
[2026-10-20 21:47:27,334.334 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:47:27,337.337 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:47:27,342.342 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:47:27,347.347 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:47:29,387.387 INFO    ] ================================================
[2026-10-20 21:47:29,403.403 INFO    ] Launching Daemon at Tue Oct 20 21:47:29 IST 2026
[2026-10-20 21:47:29,414.414 INFO    ] ================================================
[2026-10-20 21:47:30,000.000 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:47:29
[2026-10-20 21:47:30,600.600 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:47:30,877.877 INFO    ] Initializing speech engine...
[2026-10-20 21:47:30,886.886 INFO    ] 2026-10-20 21:47:30
[2026-10-20 21:47:31,145.145 INFO    ] 2026-10-20 21:47:31
[2026-10-20 21:47:31,175.175 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:47:31,427.427 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:47:31,431.431 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:47:31,576.576 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:47:31,631.631 INFO    ] time= 20/10/2026 21:47:31
[2026-10-20 21:47:31,690.690 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:47:31,700.700 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:47:31,842.842 INFO    ] No existing commands found in stream
[2026-10-20 21:47:36,856.856 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:47:36,860.860 INFO    ] Waiting 3.62 seconds before fallback handling...
[2026-10-20 21:47:40,994.994 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 21:47:40,997.997 INFO    ] Checking for system updates...
[2026-10-20 21:47:41,032.032 INFO    ] 200
[2026-10-20 21:47:41,035.035 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:47:41,087.087 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:47:41,090.090 INFO    ] No update needed
[2026-10-20 21:47:41,093.093 INFO    ] Checking for camera pi updates...
[2026-10-20 21:47:41,131.131 INFO    ] 200
[2026-10-20 21:47:41,134.134 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:47:41,179.179 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:47:41,232.232 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:47:41,234.234 INFO    ] No camera update needed
[2026-10-20 21:47:41,236.236 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:47:41,239.239 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:47:41,244.244 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:47:41,249.249 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:47:43,291.291 INFO    ] ================================================
[2026-10-20 21:47:43,307.307 INFO    ] Launching Daemon at Tue Oct 20 21:47:43 IST 2026
[2026-10-20 21:47:43,319.319 INFO    ] ================================================
[2026-10-20 21:47:43,999.999 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:47:43
[2026-10-20 21:47:44,685.685 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:47:44,963.963 INFO    ] Initializing speech engine...
[2026-10-20 21:47:44,973.973 INFO    ] 2026-10-20 21:47:44
[2026-10-20 21:47:45,223.223 INFO    ] 2026-10-20 21:47:45
[2026-10-20 21:47:45,258.258 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:47:45,515.515 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:47:45,525.525 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:47:45,662.662 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:47:45,716.716 INFO    ] time= 20/10/2026 21:47:45
[2026-10-20 21:47:45,770.770 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:47:45,795.795 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:47:45,927.927 INFO    ] No existing commands found in stream
[2026-10-20 21:47:50,957.957 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:47:50,960.960 INFO    ] Waiting 0.72 seconds before fallback handling...
[2026-10-20 21:47:52,215.215 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 21:47:52,218.218 INFO    ] Checking for system updates...
[2026-10-20 21:47:52,255.255 INFO    ] 200
[2026-10-20 21:47:52,258.258 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:47:52,312.312 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:47:52,315.315 INFO    ] No update needed
[2026-10-20 21:47:52,317.317 INFO    ] Checking for camera pi updates...
[2026-10-20 21:47:52,354.354 INFO    ] 200
[2026-10-20 21:47:52,356.356 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:47:52,397.397 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:47:52,544.544 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:47:52,547.547 INFO    ] No camera update needed
[2026-10-20 21:47:52,549.549 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:47:52,552.552 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:47:52,557.557 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:47:52,562.562 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:47:54,604.604 INFO    ] ================================================
[2026-10-20 21:47:54,619.619 INFO    ] Launching Daemon at Tue Oct 20 21:47:54 IST 2026
[2026-10-20 21:47:54,630.630 INFO    ] ================================================
[2026-10-20 21:47:55,211.211 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:47:55
[2026-10-20 21:47:55,798.798 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:47:56,072.072 INFO    ] Initializing speech engine...
[2026-10-20 21:47:56,081.081 INFO    ] 2026-10-20 21:47:56
[2026-10-20 21:47:56,331.331 INFO    ] 2026-10-20 21:47:56
[2026-10-20 21:47:56,367.367 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:47:56,624.624 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:47:56,634.634 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:47:56,772.772 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:47:56,812.812 INFO    ] time= 20/10/2026 21:47:56
[2026-10-20 21:47:56,861.861 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:47:56,906.906 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:47:57,052.052 INFO    ] No existing commands found in stream
[2026-10-20 21:48:02,070.070 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:48:02,074.074 INFO    ] Waiting 1.50 seconds before fallback handling...
[2026-10-20 21:48:04,043.043 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:48:04,045.045 INFO    ] Checking for system updates...
[2026-10-20 21:48:04,082.082 INFO    ] 200
[2026-10-20 21:48:04,085.085 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:48:04,137.137 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:48:04,140.140 INFO    ] No update needed
[2026-10-20 21:48:04,143.143 INFO    ] Checking for camera pi updates...
[2026-10-20 21:48:04,182.182 INFO    ] 200
[2026-10-20 21:48:04,185.185 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:48:04,231.231 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:48:04,280.280 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:48:04,283.283 INFO    ] No camera update needed
[2026-10-20 21:48:04,286.286 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:48:04,289.289 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:48:04,295.295 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:48:04,301.301 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:48:06,342.342 INFO    ] ================================================
[2026-10-20 21:48:06,357.357 INFO    ] Launching Daemon at Tue Oct 20 21:48:06 IST 2026
[2026-10-20 21:48:06,370.370 INFO    ] ================================================
[2026-10-20 21:48:06,943.943 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:48:06
[2026-10-20 21:48:07,527.527 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:48:07,789.789 INFO    ] Initializing speech engine...
[2026-10-20 21:48:07,806.806 INFO    ] 2026-10-20 21:48:07
[2026-10-20 21:48:08,063.063 INFO    ] 2026-10-20 21:48:08
[2026-10-20 21:48:08,098.098 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:48:08,351.351 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:48:08,361.361 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:48:08,495.495 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:48:08,555.555 INFO    ] time= 20/10/2026 21:48:08
[2026-10-20 21:48:08,610.610 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:48:08,627.627 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:48:08,767.767 INFO    ] No existing commands found in stream
[2026-10-20 21:48:13,789.789 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:48:13,792.792 INFO    ] Waiting 0.50 seconds before fallback handling...
[2026-10-20 21:48:14,839.839 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:48:14,841.841 INFO    ] Checking for system updates...
[2026-10-20 21:48:14,882.882 INFO    ] 200
[2026-10-20 21:48:14,885.885 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:48:14,945.945 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:48:14,947.947 INFO    ] No update needed
[2026-10-20 21:48:14,950.950 INFO    ] Checking for camera pi updates...
[2026-10-20 21:48:14,988.988 INFO    ] 200
[2026-10-20 21:48:14,991.991 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:48:15,031.031 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:48:15,090.090 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:48:15,093.093 INFO    ] No camera update needed
[2026-10-20 21:48:15,095.095 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:48:15,098.098 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:48:15,103.103 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:48:15,109.109 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:48:17,150.150 INFO    ] ================================================
[2026-10-20 21:48:17,165.165 INFO    ] Launching Daemon at Tue Oct 20 21:48:17 IST 2026
[2026-10-20 21:48:17,176.176 INFO    ] ================================================
[2026-10-20 21:48:17,743.743 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:48:17
[2026-10-20 21:48:18,326.326 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:48:18,576.576 INFO    ] Initializing speech engine...
[2026-10-20 21:48:18,582.582 INFO    ] 2026-10-20 21:48:18
[2026-10-20 21:48:18,856.856 INFO    ] 2026-10-20 21:48:18
[2026-10-20 21:48:18,890.890 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:48:19,090.090 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:48:19,097.097 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:48:19,296.296 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:48:19,322.322 INFO    ] time= 20/10/2026 21:48:19
[2026-10-20 21:48:19,377.377 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:48:19,426.426 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:48:19,589.589 INFO    ] No existing commands found in stream
[2026-10-20 21:48:24,603.603 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:48:24,606.606 INFO    ] Waiting 0.89 seconds before fallback handling...
[2026-10-20 21:48:26,064.064 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:48:26,067.067 INFO    ] Checking for system updates...
[2026-10-20 21:48:26,104.104 INFO    ] 200
[2026-10-20 21:48:26,107.107 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:48:26,160.160 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:48:26,162.162 INFO    ] No update needed
[2026-10-20 21:48:26,165.165 INFO    ] Checking for camera pi updates...
[2026-10-20 21:48:26,198.198 INFO    ] 200
[2026-10-20 21:48:26,201.201 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:48:26,241.241 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:48:26,286.286 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:48:26,288.288 INFO    ] No camera update needed
[2026-10-20 21:48:26,291.291 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:48:26,293.293 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:48:26,299.299 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:48:26,304.304 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:48:28,346.346 INFO    ] ================================================
[2026-10-20 21:48:28,361.361 INFO    ] Launching Daemon at Tue Oct 20 21:48:28 IST 2026
[2026-10-20 21:48:28,372.372 INFO    ] ================================================
[2026-10-20 21:48:28,953.953 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:48:28
[2026-10-20 21:48:29,537.537 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:48:29,807.807 INFO    ] Initializing speech engine...
[2026-10-20 21:48:29,816.816 INFO    ] 2026-10-20 21:48:29
[2026-10-20 21:48:30,062.062 INFO    ] 2026-10-20 21:48:30
[2026-10-20 21:48:30,096.096 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:48:30,347.347 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:48:30,357.357 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:48:30,566.566 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:48:30,615.615 INFO    ] time= 20/10/2026 21:48:30
[2026-10-20 21:48:30,622.622 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:48:30,640.640 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:48:30,765.765 INFO    ] No existing commands found in stream
[2026-10-20 21:48:35,781.781 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:48:35,784.784 INFO    ] Waiting 3.80 seconds before fallback handling...
[2026-10-20 21:48:40,120.120 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:48:40,123.123 INFO    ] Checking for system updates...
[2026-10-20 21:48:40,163.163 INFO    ] 200
[2026-10-20 21:48:40,165.165 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:48:40,218.218 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:48:40,220.220 INFO    ] No update needed
[2026-10-20 21:48:40,223.223 INFO    ] Checking for camera pi updates...
[2026-10-20 21:48:40,256.256 INFO    ] 200
[2026-10-20 21:48:40,259.259 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:48:40,304.304 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:48:40,360.360 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:48:40,362.362 INFO    ] No camera update needed
[2026-10-20 21:48:40,365.365 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:48:40,367.367 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:48:40,373.373 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:48:40,378.378 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:48:42,418.418 INFO    ] ================================================
[2026-10-20 21:48:42,434.434 INFO    ] Launching Daemon at Tue Oct 20 21:48:42 IST 2026
[2026-10-20 21:48:42,444.444 INFO    ] ================================================
[2026-10-20 21:48:43,115.115 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:48:43
[2026-10-20 21:48:43,800.800 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:48:44,111.111 INFO    ] Initializing speech engine...
[2026-10-20 21:48:44,120.120 INFO    ] 2026-10-20 21:48:44
[2026-10-20 21:48:44,412.412 INFO    ] 2026-10-20 21:48:44
[2026-10-20 21:48:44,459.459 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:48:44,751.751 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:48:44,756.756 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:48:44,956.956 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:48:44,975.975 INFO    ] time= 20/10/2026 21:48:44
[2026-10-20 21:48:44,985.985 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:48:45,012.012 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:48:45,151.151 INFO    ] No existing commands found in stream
[2026-10-20 21:48:50,188.188 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:48:50,192.192 INFO    ] Waiting 3.39 seconds before fallback handling...
[2026-10-20 21:48:54,143.143 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:48:54,146.146 INFO    ] Checking for system updates...
[2026-10-20 21:48:54,188.188 INFO    ] 200
[2026-10-20 21:48:54,191.191 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:48:54,252.252 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:48:54,255.255 INFO    ] No update needed
[2026-10-20 21:48:54,258.258 INFO    ] Checking for camera pi updates...
[2026-10-20 21:48:54,293.293 INFO    ] 200
[2026-10-20 21:48:54,296.296 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:48:54,343.343 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:48:54,393.393 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:48:54,396.396 INFO    ] No camera update needed
[2026-10-20 21:48:54,399.399 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:48:54,402.402 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:48:54,408.408 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:48:54,414.414 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:48:56,454.454 INFO    ] ================================================
[2026-10-20 21:48:56,469.469 INFO    ] Launching Daemon at Tue Oct 20 21:48:56 IST 2026
[2026-10-20 21:48:56,481.481 INFO    ] ================================================
[2026-10-20 21:48:57,119.119 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:48:57
[2026-10-20 21:48:57,706.706 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:48:57,957.957 INFO    ] Initializing speech engine...
[2026-10-20 21:48:57,980.980 INFO    ] 2026-10-20 21:48:57
[2026-10-20 21:48:58,237.237 INFO    ] 2026-10-20 21:48:58
[2026-10-20 21:48:58,272.272 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:48:58,530.530 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:48:58,540.540 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:48:58,762.762 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:48:58,805.805 INFO    ] time= 20/10/2026 21:48:58
[2026-10-20 21:48:58,811.811 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:48:58,829.829 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:48:58,960.960 INFO    ] No existing commands found in stream
[2026-10-20 21:49:03,971.971 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:49:03,974.974 INFO    ] Waiting 3.68 seconds before fallback handling...
[2026-10-20 21:49:12,500.500 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:49:12,502.502 INFO    ] Checking for system updates...
[2026-10-20 21:49:12,543.543 INFO    ] 200
[2026-10-20 21:49:12,545.545 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:49:12,596.596 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:49:12,599.599 INFO    ] No update needed
[2026-10-20 21:49:12,602.602 INFO    ] Checking for camera pi updates...
[2026-10-20 21:49:12,638.638 INFO    ] 200
[2026-10-20 21:49:12,640.640 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:49:12,680.680 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:49:12,729.729 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:49:12,732.732 INFO    ] No camera update needed
[2026-10-20 21:49:12,734.734 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:49:12,736.736 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:49:12,742.742 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:49:12,746.746 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:49:14,787.787 INFO    ] ================================================
[2026-10-20 21:49:14,802.802 INFO    ] Launching Daemon at Tue Oct 20 21:49:14 IST 2026
[2026-10-20 21:49:14,813.813 INFO    ] ================================================
[2026-10-20 21:49:15,454.454 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:49:15
[2026-10-20 21:49:16,111.111 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:49:16,420.420 INFO    ] Initializing speech engine...
[2026-10-20 21:49:16,431.431 INFO    ] 2026-10-20 21:49:16
[2026-10-20 21:49:16,741.741 INFO    ] 2026-10-20 21:49:16
[2026-10-20 21:49:16,824.824 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:49:17,039.039 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:49:17,045.045 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:49:17,237.237 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:49:17,244.244 INFO    ] time= 20/10/2026 21:49:17
[2026-10-20 21:49:17,262.262 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:49:17,279.279 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:49:17,398.398 INFO    ] No existing commands found in stream
[2026-10-20 21:49:22,414.414 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:49:22,418.418 INFO    ] Waiting 0.81 seconds before fallback handling...
[2026-10-20 21:49:23,767.767 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 21:49:23,770.770 INFO    ] Checking for system updates...
[2026-10-20 21:49:23,810.810 INFO    ] 200
[2026-10-20 21:49:23,812.812 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:49:23,870.870 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:49:23,872.872 INFO    ] No update needed
[2026-10-20 21:49:23,875.875 INFO    ] Checking for camera pi updates...
[2026-10-20 21:49:23,909.909 INFO    ] 200
[2026-10-20 21:49:23,912.912 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:49:23,958.958 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:49:24,018.018 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:49:24,021.021 INFO    ] No camera update needed
[2026-10-20 21:49:24,024.024 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:49:24,026.026 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:49:24,033.033 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:49:24,038.038 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:49:26,078.078 INFO    ] ================================================
[2026-10-20 21:49:26,093.093 INFO    ] Launching Daemon at Tue Oct 20 21:49:26 IST 2026
[2026-10-20 21:49:26,103.103 INFO    ] ================================================
[2026-10-20 21:49:26,669.669 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:49:26
[2026-10-20 21:49:27,253.253 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:49:27,501.501 INFO    ] Initializing speech engine...
[2026-10-20 21:49:27,522.522 INFO    ] 2026-10-20 21:49:27
[2026-10-20 21:49:27,779.779 INFO    ] 2026-10-20 21:49:27
[2026-10-20 21:49:27,814.814 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:49:28,074.074 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:49:28,083.083 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:49:28,221.221 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:49:28,280.280 INFO    ] time= 20/10/2026 21:49:28
[2026-10-20 21:49:28,340.340 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:49:28,356.356 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:49:28,487.487 INFO    ] No existing commands found in stream
[2026-10-20 21:49:33,515.515 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:49:33,517.517 INFO    ] Waiting 3.55 seconds before fallback handling...
[2026-10-20 21:49:38,385.385 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 21:49:38,387.387 INFO    ] Checking for system updates...
[2026-10-20 21:49:38,422.422 INFO    ] 200
[2026-10-20 21:49:38,425.425 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:49:38,483.483 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:49:38,485.485 INFO    ] No update needed
[2026-10-20 21:49:38,487.487 INFO    ] Checking for camera pi updates...
[2026-10-20 21:49:38,524.524 INFO    ] 200
[2026-10-20 21:49:38,526.526 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:49:38,565.565 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:49:38,610.610 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:49:38,613.613 INFO    ] No camera update needed
[2026-10-20 21:49:38,616.616 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:49:38,618.618 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:49:38,624.624 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:49:38,630.630 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:49:40,670.670 INFO    ] ================================================
[2026-10-20 21:49:40,686.686 INFO    ] Launching Daemon at Tue Oct 20 21:49:40 IST 2026
[2026-10-20 21:49:40,697.697 INFO    ] ================================================
[2026-10-20 21:49:41,261.261 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:49:41
[2026-10-20 21:49:41,844.844 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:49:42,116.116 INFO    ] Initializing speech engine...
[2026-10-20 21:49:42,125.125 INFO    ] 2026-10-20 21:49:42
[2026-10-20 21:49:42,373.373 INFO    ] 2026-10-20 21:49:42
[2026-10-20 21:49:42,407.407 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:49:42,664.664 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:49:42,673.673 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:49:42,851.851 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:49:42,905.905 INFO    ] time= 20/10/2026 21:49:42
[2026-10-20 21:49:42,941.941 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:49:42,958.958 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:49:43,079.079 INFO    ] No existing commands found in stream
[2026-10-20 21:49:48,104.104 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:49:48,106.106 INFO    ] Waiting 2.33 seconds before fallback handling...
[2026-10-20 21:49:52,148.148 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 21:49:52,150.150 INFO    ] Checking for system updates...
[2026-10-20 21:49:52,190.190 INFO    ] 200
[2026-10-20 21:49:52,193.193 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:49:52,257.257 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:49:52,260.260 INFO    ] No update needed
[2026-10-20 21:49:52,262.262 INFO    ] Checking for camera pi updates...
[2026-10-20 21:49:52,302.302 INFO    ] 200
[2026-10-20 21:49:52,304.304 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:49:52,344.344 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:49:52,400.400 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:49:52,403.403 INFO    ] No camera update needed
[2026-10-20 21:49:52,406.406 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:49:52,408.408 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:49:52,415.415 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:49:52,421.421 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:49:54,465.465 INFO    ] ================================================
[2026-10-20 21:49:54,481.481 INFO    ] Launching Daemon at Tue Oct 20 21:49:54 IST 2026
[2026-10-20 21:49:54,492.492 INFO    ] ================================================
[2026-10-20 21:49:55,057.057 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:49:55
[2026-10-20 21:49:55,638.638 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:49:55,902.902 INFO    ] Initializing speech engine...
[2026-10-20 21:49:55,922.922 INFO    ] 2026-10-20 21:49:55
[2026-10-20 21:49:56,188.188 INFO    ] 2026-10-20 21:49:56
[2026-10-20 21:49:56,223.223 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:49:56,426.426 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:49:56,438.438 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:49:56,608.608 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:49:56,613.613 INFO    ] time= 20/10/2026 21:49:56
[2026-10-20 21:49:56,620.620 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:49:56,625.625 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:49:56,785.785 INFO    ] No existing commands found in stream
[2026-10-20 21:50:01,810.810 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:50:01,813.813 INFO    ] Waiting 1.36 seconds before fallback handling...
[2026-10-20 21:50:09,867.867 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 21:50:09,870.870 INFO    ] Checking for system updates...
[2026-10-20 21:50:09,905.905 INFO    ] 200
[2026-10-20 21:50:09,908.908 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:50:09,960.960 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:50:09,962.962 INFO    ] No update needed
[2026-10-20 21:50:09,964.964 INFO    ] Checking for camera pi updates...
[2026-10-20 21:50:09,997.997 INFO    ] 200
[2026-10-20 21:50:10,000.000 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:50:10,046.046 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:50:10,108.108 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:50:10,111.111 INFO    ] No camera update needed
[2026-10-20 21:50:10,113.113 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:50:10,115.115 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:50:10,121.121 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:50:10,126.126 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:50:12,167.167 INFO    ] ================================================
[2026-10-20 21:50:12,183.183 INFO    ] Launching Daemon at Tue Oct 20 21:50:12 IST 2026
[2026-10-20 21:50:12,194.194 INFO    ] ================================================
[2026-10-20 21:50:12,765.765 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:50:12
[2026-10-20 21:50:13,363.363 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:50:13,642.642 INFO    ] Initializing speech engine...
[2026-10-20 21:50:13,647.647 INFO    ] 2026-10-20 21:50:13
[2026-10-20 21:50:13,896.896 INFO    ] 2026-10-20 21:50:13
[2026-10-20 21:50:13,931.931 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:50:14,108.108 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:50:14,122.122 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:50:14,266.266 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:50:14,275.275 INFO    ] time= 20/10/2026 21:50:14
[2026-10-20 21:50:14,281.281 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:50:14,331.331 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:50:14,472.472 INFO    ] No existing commands found in stream
[2026-10-20 21:50:19,484.484 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:50:19,487.487 INFO    ] Waiting 3.94 seconds before fallback handling...
[2026-10-20 21:50:24,457.457 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:50:24,460.460 INFO    ] Checking for system updates...
[2026-10-20 21:50:24,495.495 INFO    ] 200
[2026-10-20 21:50:24,498.498 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:50:24,559.559 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:50:24,561.561 INFO    ] No update needed
[2026-10-20 21:50:24,564.564 INFO    ] Checking for camera pi updates...
[2026-10-20 21:50:24,601.601 INFO    ] 200
[2026-10-20 21:50:24,604.604 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:50:24,650.650 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:50:24,701.701 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:50:24,703.703 INFO    ] No camera update needed
[2026-10-20 21:50:24,706.706 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:50:24,708.708 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:50:24,714.714 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:50:24,719.719 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:50:26,761.761 INFO    ] ================================================
[2026-10-20 21:50:26,777.777 INFO    ] Launching Daemon at Tue Oct 20 21:50:26 IST 2026
[2026-10-20 21:50:26,787.787 INFO    ] ================================================
[2026-10-20 21:50:27,366.366 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:50:27
[2026-10-20 21:50:27,966.966 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:50:28,244.244 INFO    ] Initializing speech engine...
[2026-10-20 21:50:28,253.253 INFO    ] 2026-10-20 21:50:28
[2026-10-20 21:50:28,511.511 INFO    ] 2026-10-20 21:50:28
[2026-10-20 21:50:28,541.541 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:50:28,791.791 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:50:28,800.800 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:50:28,941.941 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:50:29,000.000 INFO    ] time= 20/10/2026 21:50:28
[2026-10-20 21:50:29,064.064 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:50:29,071.071 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:50:29,201.201 INFO    ] No existing commands found in stream
[2026-10-20 21:50:34,226.226 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:50:34,229.229 INFO    ] Waiting 2.40 seconds before fallback handling...
[2026-10-20 21:50:37,567.567 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:50:37,570.570 INFO    ] Checking for system updates...
[2026-10-20 21:50:37,605.605 INFO    ] 200
[2026-10-20 21:50:37,608.608 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:50:37,660.660 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:50:37,663.663 INFO    ] No update needed
[2026-10-20 21:50:37,665.665 INFO    ] Checking for camera pi updates...
[2026-10-20 21:50:37,702.702 INFO    ] 200
[2026-10-20 21:50:37,704.704 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:50:37,745.745 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:50:37,792.792 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:50:37,795.795 INFO    ] No camera update needed
[2026-10-20 21:50:37,797.797 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:50:37,799.799 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:50:37,805.805 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:50:37,810.810 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:50:39,849.849 INFO    ] ================================================
[2026-10-20 21:50:39,864.864 INFO    ] Launching Daemon at Tue Oct 20 21:50:39 IST 2026
[2026-10-20 21:50:39,875.875 INFO    ] ================================================
[2026-10-20 21:50:40,474.474 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:50:40
[2026-10-20 21:50:41,077.077 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:50:41,345.345 INFO    ] Initializing speech engine...
[2026-10-20 21:50:41,366.366 INFO    ] 2026-10-20 21:50:41
[2026-10-20 21:50:41,651.651 INFO    ] 2026-10-20 21:50:41
[2026-10-20 21:50:41,688.688 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:50:41,911.911 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:50:41,920.920 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:50:42,095.095 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:50:42,147.147 INFO    ] time= 20/10/2026 21:50:42
[2026-10-20 21:50:42,154.154 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:50:42,194.194 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:50:42,304.304 INFO    ] No existing commands found in stream
[2026-10-20 21:50:47,316.316 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:50:47,319.319 INFO    ] Waiting 1.15 seconds before fallback handling...
[2026-10-20 21:50:49,754.754 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 21:50:49,757.757 INFO    ] Checking for system updates...
[2026-10-20 21:50:49,792.792 INFO    ] 200
[2026-10-20 21:50:49,795.795 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:50:49,846.846 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:50:49,849.849 INFO    ] No update needed
[2026-10-20 21:50:49,851.851 INFO    ] Checking for camera pi updates...
[2026-10-20 21:50:49,889.889 INFO    ] 200
[2026-10-20 21:50:49,891.891 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:50:49,931.931 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:50:49,988.988 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:50:49,990.990 INFO    ] No camera update needed
[2026-10-20 21:50:49,993.993 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:50:49,995.995 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:50:50,000.000 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:50:50,005.005 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:50:52,045.045 INFO    ] ================================================
[2026-10-20 21:50:52,061.061 INFO    ] Launching Daemon at Tue Oct 20 21:50:52 IST 2026
[2026-10-20 21:50:52,071.071 INFO    ] ================================================
[2026-10-20 21:50:52,734.734 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:50:52
[2026-10-20 21:50:53,416.416 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:50:53,725.725 INFO    ] Initializing speech engine...
[2026-10-20 21:50:53,734.734 INFO    ] 2026-10-20 21:50:53
[2026-10-20 21:50:54,024.024 INFO    ] 2026-10-20 21:50:54
[2026-10-20 21:50:54,072.072 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:50:54,304.304 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:50:54,310.310 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:50:54,529.529 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:50:54,575.575 INFO    ] time= 20/10/2026 21:50:54
[2026-10-20 21:50:54,581.581 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:50:54,603.603 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:50:54,729.729 INFO    ] No existing commands found in stream
[2026-10-20 21:50:59,748.748 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:50:59,752.752 INFO    ] Waiting 3.12 seconds before fallback handling...
[2026-10-20 21:51:04,076.076 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:51:04,079.079 INFO    ] Checking for system updates...
[2026-10-20 21:51:04,120.120 INFO    ] 200
[2026-10-20 21:51:04,123.123 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:51:04,176.176 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:51:04,178.178 INFO    ] No update needed
[2026-10-20 21:51:04,181.181 INFO    ] Checking for camera pi updates...
[2026-10-20 21:51:04,218.218 INFO    ] 200
[2026-10-20 21:51:04,221.221 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:51:04,262.262 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:51:04,311.311 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:51:04,313.313 INFO    ] No camera update needed
[2026-10-20 21:51:04,316.316 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:51:04,319.319 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:51:04,325.325 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:51:04,331.331 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:51:06,371.371 INFO    ] ================================================
[2026-10-20 21:51:06,387.387 INFO    ] Launching Daemon at Tue Oct 20 21:51:06 IST 2026
[2026-10-20 21:51:06,397.397 INFO    ] ================================================
[2026-10-20 21:51:06,977.977 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:51:06
[2026-10-20 21:51:07,577.577 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:51:07,851.851 INFO    ] Initializing speech engine...
[2026-10-20 21:51:07,861.861 INFO    ] 2026-10-20 21:51:07
[2026-10-20 21:51:08,110.110 INFO    ] 2026-10-20 21:51:08
[2026-10-20 21:51:08,152.152 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:51:08,399.399 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:51:08,409.409 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:51:08,619.619 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:51:08,667.667 INFO    ] time= 20/10/2026 21:51:08
[2026-10-20 21:51:08,673.673 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:51:08,692.692 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:51:08,836.836 INFO    ] No existing commands found in stream
[2026-10-20 21:51:13,873.873 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:51:13,875.875 INFO    ] Waiting 1.87 seconds before fallback handling...
[2026-10-20 21:51:16,281.281 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 21:51:16,283.283 INFO    ] Checking for system updates...
[2026-10-20 21:51:16,319.319 INFO    ] 200
[2026-10-20 21:51:16,321.321 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:51:16,377.377 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:51:16,380.380 INFO    ] No update needed
[2026-10-20 21:51:16,383.383 INFO    ] Checking for camera pi updates...
[2026-10-20 21:51:16,416.416 INFO    ] 200
[2026-10-20 21:51:16,419.419 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:51:16,460.460 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:51:16,511.511 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:51:16,513.513 INFO    ] No camera update needed
[2026-10-20 21:51:16,515.515 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:51:16,518.518 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:51:16,523.523 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:51:16,528.528 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:51:18,570.570 INFO    ] ================================================
[2026-10-20 21:51:18,584.584 INFO    ] Launching Daemon at Tue Oct 20 21:51:18 IST 2026
[2026-10-20 21:51:18,595.595 INFO    ] ================================================
[2026-10-20 21:51:19,178.178 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:51:19
[2026-10-20 21:51:19,778.778 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:51:20,045.045 INFO    ] Initializing speech engine...
[2026-10-20 21:51:20,064.064 INFO    ] 2026-10-20 21:51:20
[2026-10-20 21:51:20,313.313 INFO    ] 2026-10-20 21:51:20
[2026-10-20 21:51:20,356.356 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:51:20,562.562 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:51:20,565.565 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:51:20,751.751 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:51:20,816.816 INFO    ] time= 20/10/2026 21:51:20
[2026-10-20 21:51:20,875.875 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:51:20,886.886 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:51:21,028.028 INFO    ] No existing commands found in stream
[2026-10-20 21:51:26,043.043 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:51:26,046.046 INFO    ] Waiting 3.59 seconds before fallback handling...
[2026-10-20 21:51:30,151.151 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:51:30,154.154 INFO    ] Checking for system updates...
[2026-10-20 21:51:30,189.189 INFO    ] 200
[2026-10-20 21:51:30,192.192 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:51:30,248.248 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:51:30,251.251 INFO    ] No update needed
[2026-10-20 21:51:30,253.253 INFO    ] Checking for camera pi updates...
[2026-10-20 21:51:30,287.287 INFO    ] 200
[2026-10-20 21:51:30,290.290 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:51:30,334.334 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:51:30,384.384 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:51:30,386.386 INFO    ] No camera update needed
[2026-10-20 21:51:30,389.389 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:51:30,391.391 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:51:30,397.397 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:51:30,402.402 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:51:32,443.443 INFO    ] ================================================
[2026-10-20 21:51:32,461.461 INFO    ] Launching Daemon at Tue Oct 20 21:51:32 IST 2026
[2026-10-20 21:51:32,474.474 INFO    ] ================================================
[2026-10-20 21:51:33,117.117 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:51:33
[2026-10-20 21:51:33,779.779 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:51:34,079.079 INFO    ] Initializing speech engine...
[2026-10-20 21:51:34,085.085 INFO    ] 2026-10-20 21:51:34
[2026-10-20 21:51:34,361.361 INFO    ] 2026-10-20 21:51:34
[2026-10-20 21:51:34,417.417 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:51:34,653.653 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:51:34,658.658 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:51:34,892.892 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:51:34,925.925 INFO    ] time= 20/10/2026 21:51:34
[2026-10-20 21:51:34,943.943 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:51:34,975.975 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:51:35,099.099 INFO    ] No existing commands found in stream
[2026-10-20 21:51:40,130.130 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:51:40,133.133 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-10-20 21:51:44,159.159 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:51:44,162.162 INFO    ] Checking for system updates...
[2026-10-20 21:51:44,199.199 INFO    ] 200
[2026-10-20 21:51:44,202.202 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:51:44,254.254 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:51:44,257.257 INFO    ] No update needed
[2026-10-20 21:51:44,260.260 INFO    ] Checking for camera pi updates...
[2026-10-20 21:51:44,295.295 INFO    ] 200
[2026-10-20 21:51:44,297.297 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:51:44,338.338 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:51:44,389.389 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:51:44,392.392 INFO    ] No camera update needed
[2026-10-20 21:51:44,395.395 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:51:44,397.397 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:51:44,403.403 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:51:44,409.409 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:51:46,452.452 INFO    ] ================================================
[2026-10-20 21:51:46,467.467 INFO    ] Launching Daemon at Tue Oct 20 21:51:46 IST 2026
[2026-10-20 21:51:46,477.477 INFO    ] ================================================
[2026-10-20 21:51:47,062.062 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:51:47
[2026-10-20 21:51:47,664.664 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:51:47,943.943 INFO    ] Initializing speech engine...
[2026-10-20 21:51:47,949.949 INFO    ] 2026-10-20 21:51:47
[2026-10-20 21:51:48,211.211 INFO    ] 2026-10-20 21:51:48
[2026-10-20 21:51:48,241.241 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:51:48,513.513 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:51:48,521.521 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:51:48,732.732 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:51:48,757.757 INFO    ] time= 20/10/2026 21:51:48
[2026-10-20 21:51:48,763.763 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:51:48,784.784 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:51:48,909.909 INFO    ] No existing commands found in stream
[2026-10-20 21:51:53,924.924 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:51:53,928.928 INFO    ] Waiting 1.01 seconds before fallback handling...
[2026-10-20 21:51:55,523.523 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 21:51:55,526.526 INFO    ] Checking for system updates...
[2026-10-20 21:51:55,563.563 INFO    ] 200
[2026-10-20 21:51:55,566.566 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:51:55,618.618 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:51:55,621.621 INFO    ] No update needed
[2026-10-20 21:51:55,624.624 INFO    ] Checking for camera pi updates...
[2026-10-20 21:51:55,657.657 INFO    ] 200
[2026-10-20 21:51:55,660.660 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:51:55,705.705 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:51:55,755.755 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:51:55,758.758 INFO    ] No camera update needed
[2026-10-20 21:51:55,761.761 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:51:55,763.763 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:51:55,769.769 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:51:55,775.775 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:51:57,817.817 INFO    ] ================================================
[2026-10-20 21:51:57,832.832 INFO    ] Launching Daemon at Tue Oct 20 21:51:57 IST 2026
[2026-10-20 21:51:57,843.843 INFO    ] ================================================
[2026-10-20 21:51:58,411.411 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:51:58
[2026-10-20 21:51:59,005.005 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:51:59,266.266 INFO    ] Initializing speech engine...
[2026-10-20 21:51:59,291.291 INFO    ] 2026-10-20 21:51:59
[2026-10-20 21:51:59,564.564 INFO    ] 2026-10-20 21:51:59
[2026-10-20 21:51:59,599.599 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:51:59,824.824 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:51:59,884.884 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:52:00,045.045 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:52:00,062.062 INFO    ] time= 20/10/2026 21:52:00
[2026-10-20 21:52:00,117.117 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:52:00,166.166 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:52:00,329.329 INFO    ] No existing commands found in stream
[2026-10-20 21:52:05,351.351 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:52:05,354.354 INFO    ] Waiting 1.57 seconds before fallback handling...
[2026-10-20 21:52:07,834.834 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:52:07,836.836 INFO    ] Checking for system updates...
[2026-10-20 21:52:07,875.875 INFO    ] 200
[2026-10-20 21:52:07,877.877 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:52:07,929.929 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:52:07,932.932 INFO    ] No update needed
[2026-10-20 21:52:07,934.934 INFO    ] Checking for camera pi updates...
[2026-10-20 21:52:07,971.971 INFO    ] 200
[2026-10-20 21:52:07,973.973 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:52:08,013.013 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:52:08,162.162 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:52:08,164.164 INFO    ] No camera update needed
[2026-10-20 21:52:08,167.167 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:52:08,169.169 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:52:08,174.174 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:52:08,179.179 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:52:10,220.220 INFO    ] ================================================
[2026-10-20 21:52:10,235.235 INFO    ] Launching Daemon at Tue Oct 20 21:52:10 IST 2026
[2026-10-20 21:52:10,245.245 INFO    ] ================================================
[2026-10-20 21:52:10,873.873 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:52:10
[2026-10-20 21:52:11,521.521 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:52:11,823.823 INFO    ] Initializing speech engine...
[2026-10-20 21:52:11,835.835 INFO    ] 2026-10-20 21:52:11
[2026-10-20 21:52:12,146.146 INFO    ] 2026-10-20 21:52:12
[2026-10-20 21:52:12,234.234 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:52:12,449.449 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:52:12,457.457 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:52:12,658.658 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:52:12,677.677 INFO    ] time= 20/10/2026 21:52:12
[2026-10-20 21:52:12,687.687 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:52:12,712.712 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:52:12,824.824 INFO    ] No existing commands found in stream
[2026-10-20 21:52:17,869.869 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:52:17,873.873 INFO    ] Waiting 2.58 seconds before fallback handling...
[2026-10-20 21:52:20,979.979 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:52:20,982.982 INFO    ] Checking for system updates...
[2026-10-20 21:52:21,018.018 INFO    ] 200
[2026-10-20 21:52:21,021.021 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:52:21,074.074 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:52:21,076.076 INFO    ] No update needed
[2026-10-20 21:52:21,079.079 INFO    ] Checking for camera pi updates...
[2026-10-20 21:52:21,113.113 INFO    ] 200
[2026-10-20 21:52:21,116.116 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:52:21,156.156 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:52:21,189.189 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:52:21,192.192 INFO    ] No camera update needed
[2026-10-20 21:52:21,195.195 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:52:21,197.197 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:52:21,203.203 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:52:21,209.209 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:52:23,250.250 INFO    ] ================================================
[2026-10-20 21:52:23,265.265 INFO    ] Launching Daemon at Tue Oct 20 21:52:23 IST 2026
[2026-10-20 21:52:23,275.275 INFO    ] ================================================
[2026-10-20 21:52:23,839.839 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:52:23
[2026-10-20 21:52:24,422.422 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:52:24,677.677 INFO    ] Initializing speech engine...
[2026-10-20 21:52:24,691.691 INFO    ] 2026-10-20 21:52:24
[2026-10-20 21:52:24,980.980 INFO    ] 2026-10-20 21:52:24
[2026-10-20 21:52:25,015.015 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:52:25,212.212 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:52:25,268.268 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:52:25,416.416 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:52:25,476.476 INFO    ] time= 20/10/2026 21:52:25
[2026-10-20 21:52:25,525.525 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:52:25,547.547 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:52:25,680.680 INFO    ] No existing commands found in stream
[2026-10-20 21:52:30,701.701 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:52:30,704.704 INFO    ] Waiting 3.98 seconds before fallback handling...
[2026-10-20 21:52:35,195.195 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 21:52:35,197.197 INFO    ] Checking for system updates...
[2026-10-20 21:52:35,232.232 INFO    ] 200
[2026-10-20 21:52:35,235.235 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:52:35,290.290 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:52:35,293.293 INFO    ] No update needed
[2026-10-20 21:52:35,295.295 INFO    ] Checking for camera pi updates...
[2026-10-20 21:52:35,333.333 INFO    ] 200
[2026-10-20 21:52:35,335.335 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:52:35,375.375 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:52:35,429.429 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:52:35,432.432 INFO    ] No camera update needed
[2026-10-20 21:52:35,434.434 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:52:35,437.437 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:52:35,443.443 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:52:35,449.449 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:52:37,489.489 INFO    ] ================================================
[2026-10-20 21:52:37,504.504 INFO    ] Launching Daemon at Tue Oct 20 21:52:37 IST 2026
[2026-10-20 21:52:37,514.514 INFO    ] ================================================
[2026-10-20 21:52:38,099.099 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:52:38
[2026-10-20 21:52:38,688.688 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:52:38,942.942 INFO    ] Initializing speech engine...
[2026-10-20 21:52:38,948.948 INFO    ] 2026-10-20 21:52:38
[2026-10-20 21:52:39,239.239 INFO    ] 2026-10-20 21:52:39
[2026-10-20 21:52:39,276.276 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:52:39,493.493 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:52:39,501.501 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:52:39,715.715 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:52:39,737.737 INFO    ] time= 20/10/2026 21:52:39
[2026-10-20 21:52:39,791.791 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:52:39,841.841 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:52:39,999.999 INFO    ] No existing commands found in stream
[2026-10-20 21:52:45,024.024 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:52:45,027.027 INFO    ] Waiting 1.96 seconds before fallback handling...
[2026-10-20 21:52:47,441.441 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 21:52:47,444.444 INFO    ] Checking for system updates...
[2026-10-20 21:52:47,479.479 INFO    ] 200
[2026-10-20 21:52:47,482.482 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:52:47,534.534 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:52:47,537.537 INFO    ] No update needed
[2026-10-20 21:52:47,539.539 INFO    ] Checking for camera pi updates...
[2026-10-20 21:52:47,573.573 INFO    ] 200
[2026-10-20 21:52:47,575.575 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:52:47,616.616 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:52:47,663.663 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:52:47,666.666 INFO    ] No camera update needed
[2026-10-20 21:52:47,668.668 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:52:47,671.671 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:52:47,676.676 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:52:47,681.681 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:52:49,721.721 INFO    ] ================================================
[2026-10-20 21:52:49,736.736 INFO    ] Launching Daemon at Tue Oct 20 21:52:49 IST 2026
[2026-10-20 21:52:49,746.746 INFO    ] ================================================
[2026-10-20 21:52:50,318.318 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:52:50
[2026-10-20 21:52:50,923.923 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:52:51,184.184 INFO    ] Initializing speech engine...
[2026-10-20 21:52:51,191.191 INFO    ] 2026-10-20 21:52:51
[2026-10-20 21:52:51,485.485 INFO    ] 2026-10-20 21:52:51
[2026-10-20 21:52:51,523.523 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:52:51,742.742 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:52:51,770.770 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:52:51,968.968 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:52:51,980.980 INFO    ] time= 20/10/2026 21:52:51
[2026-10-20 21:52:52,039.039 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:52:52,073.073 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:52:52,247.247 INFO    ] No existing commands found in stream
[2026-10-20 21:52:57,270.270 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:52:57,273.273 INFO    ] Waiting 3.40 seconds before fallback handling...
[2026-10-20 21:53:01,199.199 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:53:01,201.201 INFO    ] Checking for system updates...
[2026-10-20 21:53:01,237.237 INFO    ] 200
[2026-10-20 21:53:01,239.239 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:53:01,291.291 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:53:01,294.294 INFO    ] No update needed
[2026-10-20 21:53:01,296.296 INFO    ] Checking for camera pi updates...
[2026-10-20 21:53:01,329.329 INFO    ] 200
[2026-10-20 21:53:01,331.331 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:53:01,372.372 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:53:01,410.410 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:53:01,412.412 INFO    ] No camera update needed
[2026-10-20 21:53:01,415.415 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:53:01,417.417 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:53:01,426.426 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:53:01,435.435 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:53:03,486.486 INFO    ] ================================================
[2026-10-20 21:53:03,501.501 INFO    ] Launching Daemon at Tue Oct 20 21:53:03 IST 2026
[2026-10-20 21:53:03,512.512 INFO    ] ================================================
[2026-10-20 21:53:04,078.078 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:53:04
[2026-10-20 21:53:04,661.661 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:53:04,919.919 INFO    ] Initializing speech engine...
[2026-10-20 21:53:04,924.924 INFO    ] 2026-10-20 21:53:04
[2026-10-20 21:53:05,212.212 INFO    ] 2026-10-20 21:53:05
[2026-10-20 21:53:05,251.251 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:53:05,471.471 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:53:05,519.519 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:53:05,692.692 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:53:05,757.757 INFO    ] time= 20/10/2026 21:53:05
[2026-10-20 21:53:05,785.785 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:53:05,835.835 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:53:05,982.982 INFO    ] No existing commands found in stream
[2026-10-20 21:53:11,007.007 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:53:11,010.010 INFO    ] Waiting 2.46 seconds before fallback handling...
[2026-10-20 21:53:13,947.947 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 21:53:13,950.950 INFO    ] Checking for system updates...
[2026-10-20 21:53:13,988.988 INFO    ] 200
[2026-10-20 21:53:13,991.991 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:53:14,053.053 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:53:14,056.056 INFO    ] No update needed
[2026-10-20 21:53:14,058.058 INFO    ] Checking for camera pi updates...
[2026-10-20 21:53:14,094.094 INFO    ] 200
[2026-10-20 21:53:14,097.097 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:53:14,148.148 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:53:14,193.193 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:53:14,196.196 INFO    ] No camera update needed
[2026-10-20 21:53:14,199.199 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:53:14,201.201 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:53:14,207.207 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:53:14,212.212 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:53:16,252.252 INFO    ] ================================================
[2026-10-20 21:53:16,268.268 INFO    ] Launching Daemon at Tue Oct 20 21:53:16 IST 2026
[2026-10-20 21:53:16,278.278 INFO    ] ================================================
[2026-10-20 21:53:16,850.850 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:53:16
[2026-10-20 21:53:17,438.438 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:53:17,690.690 INFO    ] Initializing speech engine...
[2026-10-20 21:53:17,698.698 INFO    ] 2026-10-20 21:53:17
[2026-10-20 21:53:17,989.989 INFO    ] 2026-10-20 21:53:17
[2026-10-20 21:53:18,026.026 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:53:18,308.308 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:53:18,317.317 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:53:18,464.464 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:53:18,501.501 INFO    ] time= 20/10/2026 21:53:18
[2026-10-20 21:53:18,551.551 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:53:18,610.610 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:53:18,747.747 INFO    ] No existing commands found in stream
[2026-10-20 21:53:23,773.773 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:53:23,775.775 INFO    ] Waiting 2.86 seconds before fallback handling...
[2026-10-20 21:53:27,175.175 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:53:27,178.178 INFO    ] Checking for system updates...
[2026-10-20 21:53:27,213.213 INFO    ] 200
[2026-10-20 21:53:27,216.216 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:53:27,271.271 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:53:27,274.274 INFO    ] No update needed
[2026-10-20 21:53:27,276.276 INFO    ] Checking for camera pi updates...
[2026-10-20 21:53:27,310.310 INFO    ] 200
[2026-10-20 21:53:27,312.312 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:53:27,352.352 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:53:27,398.398 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:53:27,400.400 INFO    ] No camera update needed
[2026-10-20 21:53:27,403.403 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:53:27,405.405 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:53:27,411.411 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:53:27,416.416 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:53:29,455.455 INFO    ] ================================================
[2026-10-20 21:53:29,470.470 INFO    ] Launching Daemon at Tue Oct 20 21:53:29 IST 2026
[2026-10-20 21:53:29,481.481 INFO    ] ================================================
[2026-10-20 21:53:30,054.054 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:53:30
[2026-10-20 21:53:30,644.644 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:53:30,918.918 INFO    ] Initializing speech engine...
[2026-10-20 21:53:30,927.927 INFO    ] 2026-10-20 21:53:30
[2026-10-20 21:53:31,177.177 INFO    ] 2026-10-20 21:53:31
[2026-10-20 21:53:31,213.213 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:53:31,475.475 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:53:31,481.481 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:53:31,627.627 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:53:31,645.645 INFO    ] time= 20/10/2026 21:53:31
[2026-10-20 21:53:31,690.690 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:53:31,740.740 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:53:31,835.835 INFO    ] No existing commands found in stream
[2026-10-20 21:53:36,847.847 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:53:36,850.850 INFO    ] Waiting 3.63 seconds before fallback handling...
[2026-10-20 21:53:40,991.991 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 21:53:40,994.994 INFO    ] Checking for system updates...
[2026-10-20 21:53:41,029.029 INFO    ] 200
[2026-10-20 21:53:41,031.031 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:53:41,089.089 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:53:41,092.092 INFO    ] No update needed
[2026-10-20 21:53:41,095.095 INFO    ] Checking for camera pi updates...
[2026-10-20 21:53:41,130.130 INFO    ] 200
[2026-10-20 21:53:41,133.133 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:53:41,178.178 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:53:41,231.231 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:53:41,234.234 INFO    ] No camera update needed
[2026-10-20 21:53:41,238.238 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:53:41,241.241 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:53:41,248.248 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:53:41,254.254 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:53:43,296.296 INFO    ] ================================================
[2026-10-20 21:53:43,310.310 INFO    ] Launching Daemon at Tue Oct 20 21:53:43 IST 2026
[2026-10-20 21:53:43,321.321 INFO    ] ================================================
[2026-10-20 21:53:43,901.901 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:53:43
[2026-10-20 21:53:44,499.499 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:53:44,758.758 INFO    ] Initializing speech engine...
[2026-10-20 21:53:44,774.774 INFO    ] 2026-10-20 21:53:44
[2026-10-20 21:53:45,056.056 INFO    ] 2026-10-20 21:53:45
[2026-10-20 21:53:45,093.093 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:53:45,313.313 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:53:45,371.371 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:53:45,530.530 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:53:45,572.572 INFO    ] time= 20/10/2026 21:53:45
[2026-10-20 21:53:45,622.622 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:53:45,676.676 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:53:45,819.819 INFO    ] No existing commands found in stream
[2026-10-20 21:53:50,850.850 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:53:50,852.852 INFO    ] Waiting 0.09 seconds before fallback handling...
[2026-10-20 21:53:51,417.417 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:53:51,420.420 INFO    ] Checking for system updates...
[2026-10-20 21:53:51,456.456 INFO    ] 200
[2026-10-20 21:53:51,459.459 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:53:51,510.510 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:53:51,512.512 INFO    ] No update needed
[2026-10-20 21:53:51,515.515 INFO    ] Checking for camera pi updates...
[2026-10-20 21:53:51,552.552 INFO    ] 200
[2026-10-20 21:53:51,554.554 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:53:51,595.595 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:53:51,653.653 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:53:51,656.656 INFO    ] No camera update needed
[2026-10-20 21:53:51,658.658 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:53:51,660.660 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:53:51,665.665 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:53:51,670.670 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:53:53,710.710 INFO    ] ================================================
[2026-10-20 21:53:53,726.726 INFO    ] Launching Daemon at Tue Oct 20 21:53:53 IST 2026
[2026-10-20 21:53:53,736.736 INFO    ] ================================================
[2026-10-20 21:53:54,314.314 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:53:54
[2026-10-20 21:53:54,916.916 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:53:55,189.189 INFO    ] Initializing speech engine...
[2026-10-20 21:53:55,205.205 INFO    ] 2026-10-20 21:53:55
[2026-10-20 21:53:55,474.474 INFO    ] 2026-10-20 21:53:55
[2026-10-20 21:53:55,512.512 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:53:55,731.731 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:53:55,779.779 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:53:55,953.953 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:53:55,975.975 INFO    ] time= 20/10/2026 21:53:55
[2026-10-20 21:53:56,035.035 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:53:56,095.095 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:53:56,242.242 INFO    ] No existing commands found in stream
[2026-10-20 21:54:01,267.267 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:54:01,270.270 INFO    ] Waiting 3.69 seconds before fallback handling...
[2026-10-20 21:54:05,466.466 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 21:54:05,468.468 INFO    ] Checking for system updates...
[2026-10-20 21:54:05,504.504 INFO    ] 200
[2026-10-20 21:54:05,506.506 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:54:05,559.559 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:54:05,562.562 INFO    ] No update needed
[2026-10-20 21:54:05,564.564 INFO    ] Checking for camera pi updates...
[2026-10-20 21:54:05,598.598 INFO    ] 200
[2026-10-20 21:54:05,600.600 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:54:05,640.640 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:54:05,692.692 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:54:05,694.694 INFO    ] No camera update needed
[2026-10-20 21:54:05,697.697 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:54:05,699.699 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:54:05,704.704 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:54:05,709.709 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:54:07,749.749 INFO    ] ================================================
[2026-10-20 21:54:07,764.764 INFO    ] Launching Daemon at Tue Oct 20 21:54:07 IST 2026
[2026-10-20 21:54:07,774.774 INFO    ] ================================================
[2026-10-20 21:54:08,343.343 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:54:08
[2026-10-20 21:54:08,927.927 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:54:09,220.220 INFO    ] Initializing speech engine...
[2026-10-20 21:54:09,230.230 INFO    ] 2026-10-20 21:54:09
[2026-10-20 21:54:09,495.495 INFO    ] 2026-10-20 21:54:09
[2026-10-20 21:54:09,530.530 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:54:09,733.733 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:54:09,749.749 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:54:09,956.956 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:54:10,003.003 INFO    ] time= 20/10/2026 21:54:09
[2026-10-20 21:54:10,057.057 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:54:10,090.090 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:54:10,239.239 INFO    ] No existing commands found in stream
[2026-10-20 21:54:15,253.253 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:54:15,256.256 INFO    ] Waiting 0.51 seconds before fallback handling...
[2026-10-20 21:54:16,304.304 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 21:54:16,307.307 INFO    ] Checking for system updates...
[2026-10-20 21:54:16,343.343 INFO    ] 200
[2026-10-20 21:54:16,345.345 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:54:16,396.396 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:54:16,399.399 INFO    ] No update needed
[2026-10-20 21:54:16,401.401 INFO    ] Checking for camera pi updates...
[2026-10-20 21:54:16,435.435 INFO    ] 200
[2026-10-20 21:54:16,437.437 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:54:16,477.477 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:54:16,624.624 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:54:16,626.626 INFO    ] No camera update needed
[2026-10-20 21:54:16,629.629 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:54:16,632.632 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:54:16,637.637 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:54:16,642.642 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:54:18,681.681 INFO    ] ================================================
[2026-10-20 21:54:18,695.695 INFO    ] Launching Daemon at Tue Oct 20 21:54:18 IST 2026
[2026-10-20 21:54:18,706.706 INFO    ] ================================================
[2026-10-20 21:54:19,276.276 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:54:19
[2026-10-20 21:54:19,873.873 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:54:20,145.145 INFO    ] Initializing speech engine...
[2026-10-20 21:54:20,154.154 INFO    ] 2026-10-20 21:54:20
[2026-10-20 21:54:20,401.401 INFO    ] 2026-10-20 21:54:20
[2026-10-20 21:54:20,444.444 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:54:20,689.689 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:54:20,699.699 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:54:20,919.919 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:54:20,959.959 INFO    ] time= 20/10/2026 21:54:20
[2026-10-20 21:54:20,966.966 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:54:20,986.986 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:54:21,121.121 INFO    ] No existing commands found in stream
[2026-10-20 21:54:26,152.152 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:54:26,155.155 INFO    ] Waiting 2.38 seconds before fallback handling...
[2026-10-20 21:54:29,097.097 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 21:54:29,100.100 INFO    ] Checking for system updates...
[2026-10-20 21:54:29,135.135 INFO    ] 200
[2026-10-20 21:54:29,138.138 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:54:29,189.189 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:54:29,192.192 INFO    ] No update needed
[2026-10-20 21:54:29,194.194 INFO    ] Checking for camera pi updates...
[2026-10-20 21:54:29,228.228 INFO    ] 200
[2026-10-20 21:54:29,230.230 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:54:29,278.278 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:54:29,332.332 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:54:29,335.335 INFO    ] No camera update needed
[2026-10-20 21:54:29,337.337 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:54:29,339.339 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:54:29,345.345 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:54:29,350.350 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:54:31,390.390 INFO    ] ================================================
[2026-10-20 21:54:31,405.405 INFO    ] Launching Daemon at Tue Oct 20 21:54:31 IST 2026
[2026-10-20 21:54:31,416.416 INFO    ] ================================================
[2026-10-20 21:54:32,097.097 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:54:32
[2026-10-20 21:54:32,798.798 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:54:33,095.095 INFO    ] Initializing speech engine...
[2026-10-20 21:54:33,104.104 INFO    ] 2026-10-20 21:54:33
[2026-10-20 21:54:33,373.373 INFO    ] 2026-10-20 21:54:33
[2026-10-20 21:54:33,427.427 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:54:33,655.655 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:54:33,661.661 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:54:33,889.889 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:54:33,919.919 INFO    ] time= 20/10/2026 21:54:33
[2026-10-20 21:54:33,933.933 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:54:33,944.944 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:54:34,072.072 INFO    ] No existing commands found in stream
[2026-10-20 21:54:39,093.093 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:54:39,096.096 INFO    ] Waiting 3.47 seconds before fallback handling...
[2026-10-20 21:54:43,058.058 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 21:54:43,061.061 INFO    ] Checking for system updates...
[2026-10-20 21:54:43,096.096 INFO    ] 200
[2026-10-20 21:54:43,099.099 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:54:43,151.151 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:54:43,153.153 INFO    ] No update needed
[2026-10-20 21:54:43,155.155 INFO    ] Checking for camera pi updates...
[2026-10-20 21:54:43,188.188 INFO    ] 200
[2026-10-20 21:54:43,191.191 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:54:43,230.230 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:54:43,276.276 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:54:43,279.279 INFO    ] No camera update needed
[2026-10-20 21:54:43,283.283 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:54:43,285.285 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:54:43,291.291 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:54:43,297.297 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:54:45,337.337 INFO    ] ================================================
[2026-10-20 21:54:45,352.352 INFO    ] Launching Daemon at Tue Oct 20 21:54:45 IST 2026
[2026-10-20 21:54:45,362.362 INFO    ] ================================================
[2026-10-20 21:54:45,927.927 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:54:45
[2026-10-20 21:54:46,507.507 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:54:46,774.774 INFO    ] Initializing speech engine...
[2026-10-20 21:54:46,783.783 INFO    ] 2026-10-20 21:54:46
[2026-10-20 21:54:47,029.029 INFO    ] 2026-10-20 21:54:47
[2026-10-20 21:54:47,063.063 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:54:47,306.306 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:54:47,318.318 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:54:47,461.461 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:54:47,531.531 INFO    ] time= 20/10/2026 21:54:47
[2026-10-20 21:54:47,585.585 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:54:47,597.597 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:54:47,749.749 INFO    ] No existing commands found in stream
[2026-10-20 21:54:52,771.771 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:54:52,773.773 INFO    ] Waiting 2.93 seconds before fallback handling...
[2026-10-20 21:54:56,218.218 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 21:54:56,222.222 INFO    ] Checking for system updates...
[2026-10-20 21:54:56,264.264 INFO    ] 200
[2026-10-20 21:54:56,267.267 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:54:56,335.335 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:54:56,338.338 INFO    ] No update needed
[2026-10-20 21:54:56,340.340 INFO    ] Checking for camera pi updates...
[2026-10-20 21:54:56,374.374 INFO    ] 200
[2026-10-20 21:54:56,376.376 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:54:56,416.416 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:54:56,462.462 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:54:56,464.464 INFO    ] No camera update needed
[2026-10-20 21:54:56,467.467 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:54:56,470.470 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:54:56,475.475 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:54:56,480.480 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:54:58,522.522 INFO    ] ================================================
[2026-10-20 21:54:58,539.539 INFO    ] Launching Daemon at Tue Oct 20 21:54:58 IST 2026
[2026-10-20 21:54:58,550.550 INFO    ] ================================================
[2026-10-20 21:54:59,152.152 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:54:59
[2026-10-20 21:54:59,777.777 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:55:00,050.050 INFO    ] Initializing speech engine...
[2026-10-20 21:55:00,060.060 INFO    ] 2026-10-20 21:55:00
[2026-10-20 21:55:00,378.378 INFO    ] 2026-10-20 21:55:00
[2026-10-20 21:55:00,415.415 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:55:00,629.629 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:55:00,635.635 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:55:00,817.817 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:55:00,827.827 INFO    ] time= 20/10/2026 21:55:00
[2026-10-20 21:55:00,835.835 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:55:00,894.894 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:55:01,042.042 INFO    ] No existing commands found in stream
[2026-10-20 21:55:06,068.068 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:55:06,071.071 INFO    ] Waiting 3.34 seconds before fallback handling...
[2026-10-20 21:55:09,921.921 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 21:55:09,924.924 INFO    ] Checking for system updates...
[2026-10-20 21:55:09,961.961 INFO    ] 200
[2026-10-20 21:55:09,963.963 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:55:10,019.019 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:55:10,022.022 INFO    ] No update needed
[2026-10-20 21:55:10,024.024 INFO    ] Checking for camera pi updates...
[2026-10-20 21:55:10,063.063 INFO    ] 200
[2026-10-20 21:55:10,066.066 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:55:10,106.106 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:55:10,157.157 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:55:10,160.160 INFO    ] No camera update needed
[2026-10-20 21:55:10,163.163 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:55:10,166.166 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:55:10,172.172 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:55:10,178.178 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:55:12,218.218 INFO    ] ================================================
[2026-10-20 21:55:12,233.233 INFO    ] Launching Daemon at Tue Oct 20 21:55:12 IST 2026
[2026-10-20 21:55:12,244.244 INFO    ] ================================================
[2026-10-20 21:55:12,810.810 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:55:12
[2026-10-20 21:55:13,393.393 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:55:13,641.641 INFO    ] Initializing speech engine...
[2026-10-20 21:55:13,649.649 INFO    ] 2026-10-20 21:55:13
[2026-10-20 21:55:13,922.922 INFO    ] 2026-10-20 21:55:13
[2026-10-20 21:55:13,956.956 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:55:14,159.159 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:55:14,217.217 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:55:14,357.357 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:55:14,374.374 INFO    ] time= 20/10/2026 21:55:14
[2026-10-20 21:55:14,433.433 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:55:14,488.488 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:55:14,629.629 INFO    ] No existing commands found in stream
[2026-10-20 21:55:19,654.654 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:55:19,656.656 INFO    ] Waiting 1.24 seconds before fallback handling...
[2026-10-20 21:55:21,383.383 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 21:55:21,385.385 INFO    ] Checking for system updates...
[2026-10-20 21:55:21,425.425 INFO    ] 200
[2026-10-20 21:55:21,427.427 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:55:21,480.480 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:55:21,483.483 INFO    ] No update needed
[2026-10-20 21:55:21,486.486 INFO    ] Checking for camera pi updates...
[2026-10-20 21:55:21,519.519 INFO    ] 200
[2026-10-20 21:55:21,522.522 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:55:21,567.567 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:55:21,612.612 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:55:21,614.614 INFO    ] No camera update needed
[2026-10-20 21:55:21,616.616 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:55:21,619.619 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:55:21,624.624 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:55:21,629.629 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:55:23,670.670 INFO    ] ================================================
[2026-10-20 21:55:23,686.686 INFO    ] Launching Daemon at Tue Oct 20 21:55:23 IST 2026
[2026-10-20 21:55:23,697.697 INFO    ] ================================================
[2026-10-20 21:55:24,262.262 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:55:24
[2026-10-20 21:55:24,844.844 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:55:25,110.110 INFO    ] Initializing speech engine...
[2026-10-20 21:55:25,122.122 INFO    ] 2026-10-20 21:55:25
[2026-10-20 21:55:25,372.372 INFO    ] 2026-10-20 21:55:25
[2026-10-20 21:55:25,408.408 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:55:25,665.665 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:55:25,674.674 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:55:25,909.909 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:55:25,940.940 INFO    ] time= 20/10/2026 21:55:25
[2026-10-20 21:55:25,957.957 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:55:25,966.966 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:55:26,096.096 INFO    ] No existing commands found in stream
[2026-10-20 21:55:31,109.109 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:55:31,112.112 INFO    ] Waiting 1.97 seconds before fallback handling...
[2026-10-20 21:55:33,617.617 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 21:55:33,619.619 INFO    ] Checking for system updates...
[2026-10-20 21:55:33,656.656 INFO    ] 200
[2026-10-20 21:55:33,659.659 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:55:33,720.720 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:55:33,723.723 INFO    ] No update needed
[2026-10-20 21:55:33,726.726 INFO    ] Checking for camera pi updates...
[2026-10-20 21:55:33,760.760 INFO    ] 200
[2026-10-20 21:55:33,763.763 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:55:33,805.805 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:55:33,854.854 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:55:33,857.857 INFO    ] No camera update needed
[2026-10-20 21:55:33,860.860 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:55:33,863.863 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:55:33,869.869 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:55:33,875.875 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:55:35,916.916 INFO    ] ================================================
[2026-10-20 21:55:35,932.932 INFO    ] Launching Daemon at Tue Oct 20 21:55:35 IST 2026
[2026-10-20 21:55:35,942.942 INFO    ] ================================================
[2026-10-20 21:55:36,509.509 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:55:36
[2026-10-20 21:55:37,096.096 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:55:37,368.368 INFO    ] Initializing speech engine...
[2026-10-20 21:55:37,379.379 INFO    ] 2026-10-20 21:55:37
[2026-10-20 21:55:37,632.632 INFO    ] 2026-10-20 21:55:37
[2026-10-20 21:55:37,667.667 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:55:37,918.918 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:55:37,928.928 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:55:38,085.085 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:55:38,096.096 INFO    ] time= 20/10/2026 21:55:38
[2026-10-20 21:55:38,140.140 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:55:38,190.190 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:55:38,298.298 INFO    ] No existing commands found in stream
[2026-10-20 21:55:43,309.309 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:55:43,312.312 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-10-20 21:55:46,526.526 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:55:46,529.529 INFO    ] Checking for system updates...
[2026-10-20 21:55:46,564.564 INFO    ] 200
[2026-10-20 21:55:46,566.566 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:55:46,618.618 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:55:46,620.620 INFO    ] No update needed
[2026-10-20 21:55:46,623.623 INFO    ] Checking for camera pi updates...
[2026-10-20 21:55:46,657.657 INFO    ] 200
[2026-10-20 21:55:46,659.659 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:55:46,705.705 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:55:46,752.752 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:55:46,755.755 INFO    ] No camera update needed
[2026-10-20 21:55:46,757.757 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:55:46,759.759 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:55:46,765.765 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:55:46,770.770 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:55:48,810.810 INFO    ] ================================================
[2026-10-20 21:55:48,826.826 INFO    ] Launching Daemon at Tue Oct 20 21:55:48 IST 2026
[2026-10-20 21:55:48,837.837 INFO    ] ================================================
[2026-10-20 21:55:49,419.419 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:55:49
[2026-10-20 21:55:50,020.020 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:55:50,295.295 INFO    ] Initializing speech engine...
[2026-10-20 21:55:50,304.304 INFO    ] 2026-10-20 21:55:50
[2026-10-20 21:55:50,565.565 INFO    ] 2026-10-20 21:55:50
[2026-10-20 21:55:50,615.615 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:55:50,840.840 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:55:50,850.850 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:55:50,989.989 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:55:51,048.048 INFO    ] time= 20/10/2026 21:55:51
[2026-10-20 21:55:51,112.112 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:55:51,118.118 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:55:51,268.268 INFO    ] No existing commands found in stream
[2026-10-20 21:55:56,299.299 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:55:56,302.302 INFO    ] Waiting 3.59 seconds before fallback handling...
[2026-10-20 21:56:00,429.429 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:56:00,432.432 INFO    ] Checking for system updates...
[2026-10-20 21:56:00,474.474 INFO    ] 200
[2026-10-20 21:56:00,477.477 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:56:00,539.539 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:56:00,542.542 INFO    ] No update needed
[2026-10-20 21:56:00,545.545 INFO    ] Checking for camera pi updates...
[2026-10-20 21:56:00,580.580 INFO    ] 200
[2026-10-20 21:56:00,583.583 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:56:00,624.624 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:56:00,676.676 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:56:00,680.680 INFO    ] No camera update needed
[2026-10-20 21:56:00,683.683 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:56:00,685.685 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:56:00,692.692 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:56:00,698.698 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:56:02,742.742 INFO    ] ================================================
[2026-10-20 21:56:02,761.761 INFO    ] Launching Daemon at Tue Oct 20 21:56:02 IST 2026
[2026-10-20 21:56:02,775.775 INFO    ] ================================================
[2026-10-20 21:56:03,478.478 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:56:03
[2026-10-20 21:56:04,099.099 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:56:04,371.371 INFO    ] Initializing speech engine...
[2026-10-20 21:56:04,380.380 INFO    ] 2026-10-20 21:56:04
[2026-10-20 21:56:04,630.630 INFO    ] 2026-10-20 21:56:04
[2026-10-20 21:56:04,665.665 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:56:04,868.868 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:56:04,908.908 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:56:05,117.117 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:56:05,182.182 INFO    ] time= 20/10/2026 21:56:05
[2026-10-20 21:56:05,203.203 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:56:05,209.209 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:56:05,359.359 INFO    ] No existing commands found in stream
[2026-10-20 21:56:10,382.382 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:56:10,385.385 INFO    ] Waiting 3.12 seconds before fallback handling...
[2026-10-20 21:56:14,017.017 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:56:14,020.020 INFO    ] Checking for system updates...
[2026-10-20 21:56:14,055.055 INFO    ] 200
[2026-10-20 21:56:14,057.057 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:56:14,110.110 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:56:14,112.112 INFO    ] No update needed
[2026-10-20 21:56:14,114.114 INFO    ] Checking for camera pi updates...
[2026-10-20 21:56:14,147.147 INFO    ] 200
[2026-10-20 21:56:14,150.150 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:56:14,190.190 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:56:14,242.242 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:56:14,244.244 INFO    ] No camera update needed
[2026-10-20 21:56:14,246.246 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:56:14,249.249 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:56:14,254.254 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:56:14,259.259 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:56:16,300.300 INFO    ] ================================================
[2026-10-20 21:56:16,316.316 INFO    ] Launching Daemon at Tue Oct 20 21:56:16 IST 2026
[2026-10-20 21:56:16,327.327 INFO    ] ================================================
[2026-10-20 21:56:16,965.965 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:56:16
[2026-10-20 21:56:17,625.625 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:56:17,919.919 INFO    ] Initializing speech engine...
[2026-10-20 21:56:17,930.930 INFO    ] 2026-10-20 21:56:17
[2026-10-20 21:56:18,200.200 INFO    ] 2026-10-20 21:56:18
[2026-10-20 21:56:18,235.235 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:56:18,493.493 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:56:18,500.500 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:56:18,759.759 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:56:18,767.767 INFO    ] time= 20/10/2026 21:56:18
[2026-10-20 21:56:18,789.789 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:56:18,817.817 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:56:18,945.945 INFO    ] No existing commands found in stream
[2026-10-20 21:56:23,981.981 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:56:23,984.984 INFO    ] Waiting 1.57 seconds before fallback handling...
[2026-10-20 21:56:26,070.070 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:56:26,073.073 INFO    ] Checking for system updates...
[2026-10-20 21:56:26,109.109 INFO    ] 200
[2026-10-20 21:56:26,111.111 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:56:26,163.163 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:56:26,165.165 INFO    ] No update needed
[2026-10-20 21:56:26,168.168 INFO    ] Checking for camera pi updates...
[2026-10-20 21:56:26,204.204 INFO    ] 200
[2026-10-20 21:56:26,206.206 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:56:26,246.246 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:56:26,387.387 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:56:26,390.390 INFO    ] No camera update needed
[2026-10-20 21:56:26,392.392 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:56:26,394.394 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:56:26,400.400 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:56:26,405.405 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:56:28,443.443 INFO    ] ================================================
[2026-10-20 21:56:28,459.459 INFO    ] Launching Daemon at Tue Oct 20 21:56:28 IST 2026
[2026-10-20 21:56:28,470.470 INFO    ] ================================================
[2026-10-20 21:56:29,035.035 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:56:29
[2026-10-20 21:56:29,617.617 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:56:29,881.881 INFO    ] Initializing speech engine...
[2026-10-20 21:56:29,891.891 INFO    ] 2026-10-20 21:56:29
[2026-10-20 21:56:30,135.135 INFO    ] 2026-10-20 21:56:30
[2026-10-20 21:56:30,176.176 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:56:30,420.420 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:56:30,429.429 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:56:30,665.665 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:56:30,686.686 INFO    ] time= 20/10/2026 21:56:30
[2026-10-20 21:56:30,703.703 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:56:30,711.711 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:56:30,833.833 INFO    ] No existing commands found in stream
[2026-10-20 21:56:35,849.849 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:56:35,852.852 INFO    ] Waiting 2.51 seconds before fallback handling...
[2026-10-20 21:56:38,857.857 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:56:38,860.860 INFO    ] Checking for system updates...
[2026-10-20 21:56:38,896.896 INFO    ] 200
[2026-10-20 21:56:38,899.899 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:56:38,950.950 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:56:38,952.952 INFO    ] No update needed
[2026-10-20 21:56:38,955.955 INFO    ] Checking for camera pi updates...
[2026-10-20 21:56:38,988.988 INFO    ] 200
[2026-10-20 21:56:38,990.990 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:56:39,034.034 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:56:39,080.080 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:56:39,082.082 INFO    ] No camera update needed
[2026-10-20 21:56:39,085.085 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:56:39,087.087 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:56:39,092.092 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:56:39,097.097 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:56:41,137.137 INFO    ] ================================================
[2026-10-20 21:56:41,153.153 INFO    ] Launching Daemon at Tue Oct 20 21:56:41 IST 2026
[2026-10-20 21:56:41,163.163 INFO    ] ================================================
[2026-10-20 21:56:41,731.731 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:56:41
[2026-10-20 21:56:42,315.315 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:56:42,584.584 INFO    ] Initializing speech engine...
[2026-10-20 21:56:42,593.593 INFO    ] 2026-10-20 21:56:42
[2026-10-20 21:56:42,842.842 INFO    ] 2026-10-20 21:56:42
[2026-10-20 21:56:42,876.876 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:56:43,127.127 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:56:43,136.136 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:56:43,359.359 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:56:43,397.397 INFO    ] time= 20/10/2026 21:56:43
[2026-10-20 21:56:43,411.411 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:56:43,420.420 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:56:43,553.553 INFO    ] No existing commands found in stream
[2026-10-20 21:56:48,578.578 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:56:48,581.581 INFO    ] Waiting 1.02 seconds before fallback handling...
[2026-10-20 21:56:50,133.133 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:56:50,136.136 INFO    ] Checking for system updates...
[2026-10-20 21:56:50,176.176 INFO    ] 200
[2026-10-20 21:56:50,179.179 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:56:50,232.232 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:56:50,235.235 INFO    ] No update needed
[2026-10-20 21:56:50,237.237 INFO    ] Checking for camera pi updates...
[2026-10-20 21:56:50,274.274 INFO    ] 200
[2026-10-20 21:56:50,277.277 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:56:50,322.322 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:56:50,366.366 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:56:50,369.369 INFO    ] No camera update needed
[2026-10-20 21:56:50,372.372 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:56:50,374.374 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:56:50,380.380 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:56:50,386.386 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:56:52,427.427 INFO    ] ================================================
[2026-10-20 21:56:52,442.442 INFO    ] Launching Daemon at Tue Oct 20 21:56:52 IST 2026
[2026-10-20 21:56:52,454.454 INFO    ] ================================================
[2026-10-20 21:56:53,019.019 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:56:53
[2026-10-20 21:56:53,602.602 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:56:53,849.849 INFO    ] Initializing speech engine...
[2026-10-20 21:56:53,863.863 INFO    ] 2026-10-20 21:56:53
[2026-10-20 21:56:54,125.125 INFO    ] 2026-10-20 21:56:54
[2026-10-20 21:56:54,160.160 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:56:54,412.412 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:56:54,421.421 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:56:54,652.652 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:56:54,681.681 INFO    ] time= 20/10/2026 21:56:54
[2026-10-20 21:56:54,698.698 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:56:54,707.707 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:56:54,836.836 INFO    ] No existing commands found in stream
[2026-10-20 21:56:59,855.855 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:56:59,857.857 INFO    ] Waiting 3.96 seconds before fallback handling...
[2026-10-20 21:57:04,346.346 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:57:04,348.348 INFO    ] Checking for system updates...
[2026-10-20 21:57:04,383.383 INFO    ] 200
[2026-10-20 21:57:04,386.386 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:57:04,444.444 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:57:04,447.447 INFO    ] No update needed
[2026-10-20 21:57:04,449.449 INFO    ] Checking for camera pi updates...
[2026-10-20 21:57:04,483.483 INFO    ] 200
[2026-10-20 21:57:04,485.485 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:57:04,525.525 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:57:04,575.575 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:57:04,577.577 INFO    ] No camera update needed
[2026-10-20 21:57:04,580.580 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:57:04,582.582 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:57:04,588.588 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:57:04,593.593 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:57:06,633.633 INFO    ] ================================================
[2026-10-20 21:57:06,649.649 INFO    ] Launching Daemon at Tue Oct 20 21:57:06 IST 2026
[2026-10-20 21:57:06,660.660 INFO    ] ================================================
[2026-10-20 21:57:07,302.302 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:57:07
[2026-10-20 21:57:07,962.962 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:57:08,261.261 INFO    ] Initializing speech engine...
[2026-10-20 21:57:08,269.269 INFO    ] 2026-10-20 21:57:08
[2026-10-20 21:57:08,541.541 INFO    ] 2026-10-20 21:57:08
[2026-10-20 21:57:08,598.598 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:57:08,824.824 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:57:08,834.834 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:57:09,045.045 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:57:09,090.090 INFO    ] time= 20/10/2026 21:57:09
[2026-10-20 21:57:09,106.106 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:57:09,124.124 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:57:09,260.260 INFO    ] No existing commands found in stream
[2026-10-20 21:57:14,274.274 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:57:14,277.277 INFO    ] Waiting 0.70 seconds before fallback handling...
[2026-10-20 21:57:15,539.539 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:57:15,542.542 INFO    ] Checking for system updates...
[2026-10-20 21:57:15,581.581 INFO    ] 200
[2026-10-20 21:57:15,584.584 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:57:15,637.637 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:57:15,640.640 INFO    ] No update needed
[2026-10-20 21:57:15,643.643 INFO    ] Checking for camera pi updates...
[2026-10-20 21:57:15,678.678 INFO    ] 200
[2026-10-20 21:57:15,681.681 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:57:15,721.721 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:57:15,767.767 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:57:15,770.770 INFO    ] No camera update needed
[2026-10-20 21:57:15,773.773 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:57:15,776.776 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:57:15,782.782 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:57:15,787.787 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:57:17,828.828 INFO    ] ================================================
[2026-10-20 21:57:17,843.843 INFO    ] Launching Daemon at Tue Oct 20 21:57:17 IST 2026
[2026-10-20 21:57:17,854.854 INFO    ] ================================================
[2026-10-20 21:57:18,424.424 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:57:18
[2026-10-20 21:57:19,018.018 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:57:19,296.296 INFO    ] Initializing speech engine...
[2026-10-20 21:57:19,305.305 INFO    ] 2026-10-20 21:57:19
[2026-10-20 21:57:19,563.563 INFO    ] 2026-10-20 21:57:19
[2026-10-20 21:57:19,617.617 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:57:19,844.844 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:57:19,849.849 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:57:20,066.066 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:57:20,104.104 INFO    ] time= 20/10/2026 21:57:20
[2026-10-20 21:57:20,110.110 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:57:20,131.131 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:57:20,253.253 INFO    ] No existing commands found in stream
[2026-10-20 21:57:25,270.270 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:57:25,272.272 INFO    ] Waiting 0.39 seconds before fallback handling...
[2026-10-20 21:57:26,175.175 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 21:57:26,178.178 INFO    ] Checking for system updates...
[2026-10-20 21:57:26,215.215 INFO    ] 200
[2026-10-20 21:57:26,217.217 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:57:26,276.276 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:57:26,279.279 INFO    ] No update needed
[2026-10-20 21:57:26,282.282 INFO    ] Checking for camera pi updates...
[2026-10-20 21:57:26,317.317 INFO    ] 200
[2026-10-20 21:57:26,320.320 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:57:26,365.365 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:57:26,411.411 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:57:26,414.414 INFO    ] No camera update needed
[2026-10-20 21:57:26,416.416 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:57:26,418.418 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:57:26,424.424 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:57:26,429.429 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:57:28,468.468 INFO    ] ================================================
[2026-10-20 21:57:28,484.484 INFO    ] Launching Daemon at Tue Oct 20 21:57:28 IST 2026
[2026-10-20 21:57:28,495.495 INFO    ] ================================================
[2026-10-20 21:57:29,079.079 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:57:29
[2026-10-20 21:57:29,681.681 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:57:29,947.947 INFO    ] Initializing speech engine...
[2026-10-20 21:57:29,971.971 INFO    ] 2026-10-20 21:57:29
[2026-10-20 21:57:30,245.245 INFO    ] 2026-10-20 21:57:30
[2026-10-20 21:57:30,284.284 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:57:30,505.505 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:57:30,544.544 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:57:30,731.731 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:57:30,739.739 INFO    ] time= 20/10/2026 21:57:30
[2026-10-20 21:57:30,769.769 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:57:30,813.813 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:57:30,939.939 INFO    ] No existing commands found in stream
[2026-10-20 21:57:35,951.951 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:57:35,954.954 INFO    ] Waiting 1.80 seconds before fallback handling...
[2026-10-20 21:57:38,238.238 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:57:38,241.241 INFO    ] Checking for system updates...
[2026-10-20 21:57:38,278.278 INFO    ] 200
[2026-10-20 21:57:38,281.281 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:57:38,333.333 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:57:38,336.336 INFO    ] No update needed
[2026-10-20 21:57:38,338.338 INFO    ] Checking for camera pi updates...
[2026-10-20 21:57:38,372.372 INFO    ] 200
[2026-10-20 21:57:38,375.375 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:57:38,417.417 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:57:38,468.468 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:57:38,471.471 INFO    ] No camera update needed
[2026-10-20 21:57:38,473.473 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:57:38,476.476 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:57:38,482.482 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:57:38,488.488 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:57:40,530.530 INFO    ] ================================================
[2026-10-20 21:57:40,546.546 INFO    ] Launching Daemon at Tue Oct 20 21:57:40 IST 2026
[2026-10-20 21:57:40,557.557 INFO    ] ================================================
[2026-10-20 21:57:41,122.122 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:57:41
[2026-10-20 21:57:41,708.708 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:57:41,961.961 INFO    ] Initializing speech engine...
[2026-10-20 21:57:41,967.967 INFO    ] 2026-10-20 21:57:41
[2026-10-20 21:57:42,259.259 INFO    ] 2026-10-20 21:57:42
[2026-10-20 21:57:42,298.298 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:57:42,515.515 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:57:42,524.524 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:57:42,741.741 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:57:42,748.748 INFO    ] time= 20/10/2026 21:57:42
[2026-10-20 21:57:42,802.802 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:57:42,846.846 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:57:42,995.995 INFO    ] No existing commands found in stream
[2026-10-20 21:57:48,027.027 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:57:48,030.030 INFO    ] Waiting 0.65 seconds before fallback handling...
[2026-10-20 21:57:49,186.186 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 21:57:49,189.189 INFO    ] Checking for system updates...
[2026-10-20 21:57:49,226.226 INFO    ] 200
[2026-10-20 21:57:49,229.229 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:57:49,281.281 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:57:49,283.283 INFO    ] No update needed
[2026-10-20 21:57:49,285.285 INFO    ] Checking for camera pi updates...
[2026-10-20 21:57:49,322.322 INFO    ] 200
[2026-10-20 21:57:49,325.325 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:57:49,365.365 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:57:49,410.410 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:57:49,413.413 INFO    ] No camera update needed
[2026-10-20 21:57:49,415.415 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:57:49,417.417 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:57:49,422.422 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:57:49,427.427 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:57:51,466.466 INFO    ] ================================================
[2026-10-20 21:57:51,481.481 INFO    ] Launching Daemon at Tue Oct 20 21:57:51 IST 2026
[2026-10-20 21:57:51,492.492 INFO    ] ================================================
[2026-10-20 21:57:52,063.063 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:57:52
[2026-10-20 21:57:52,653.653 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:57:52,920.920 INFO    ] Initializing speech engine...
[2026-10-20 21:57:52,928.928 INFO    ] 2026-10-20 21:57:52
[2026-10-20 21:57:53,174.174 INFO    ] 2026-10-20 21:57:53
[2026-10-20 21:57:53,207.207 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:57:53,407.407 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:57:53,464.464 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:57:53,609.609 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:57:53,664.664 INFO    ] time= 20/10/2026 21:57:53
[2026-10-20 21:57:53,713.713 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:57:53,735.735 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:57:53,884.884 INFO    ] No existing commands found in stream
[2026-10-20 21:57:58,896.896 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:57:58,898.898 INFO    ] Waiting 1.33 seconds before fallback handling...
[2026-10-20 21:58:00,728.728 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 21:58:00,731.731 INFO    ] Checking for system updates...
[2026-10-20 21:58:00,767.767 INFO    ] 200
[2026-10-20 21:58:00,769.769 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:58:00,822.822 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:58:00,824.824 INFO    ] No update needed
[2026-10-20 21:58:00,826.826 INFO    ] Checking for camera pi updates...
[2026-10-20 21:58:00,859.859 INFO    ] 200
[2026-10-20 21:58:00,862.862 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:58:00,902.902 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:58:00,953.953 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:58:00,955.955 INFO    ] No camera update needed
[2026-10-20 21:58:00,957.957 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:58:00,960.960 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:58:00,966.966 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:58:00,971.971 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:58:03,019.019 INFO    ] ================================================
[2026-10-20 21:58:03,036.036 INFO    ] Launching Daemon at Tue Oct 20 21:58:03 IST 2026
[2026-10-20 21:58:03,052.052 INFO    ] ================================================
[2026-10-20 21:58:03,722.722 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:58:03
[2026-10-20 21:58:04,332.332 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:58:04,630.630 INFO    ] Initializing speech engine...
[2026-10-20 21:58:04,639.639 INFO    ] 2026-10-20 21:58:04
[2026-10-20 21:58:04,924.924 INFO    ] 2026-10-20 21:58:04
[2026-10-20 21:58:04,969.969 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:58:05,195.195 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:58:05,200.200 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:58:05,432.432 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:58:05,459.459 INFO    ] time= 20/10/2026 21:58:05
[2026-10-20 21:58:05,475.475 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:58:05,506.506 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:58:05,615.615 INFO    ] No existing commands found in stream
[2026-10-20 21:58:10,649.649 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:58:10,652.652 INFO    ] Waiting 2.05 seconds before fallback handling...
[2026-10-20 21:58:13,261.261 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 21:58:13,264.264 INFO    ] Checking for system updates...
[2026-10-20 21:58:13,301.301 INFO    ] 200
[2026-10-20 21:58:13,303.303 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:58:13,357.357 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:58:13,360.360 INFO    ] No update needed
[2026-10-20 21:58:13,362.362 INFO    ] Checking for camera pi updates...
[2026-10-20 21:58:13,397.397 INFO    ] 200
[2026-10-20 21:58:13,400.400 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:58:13,441.441 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:58:13,496.496 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:58:13,499.499 INFO    ] No camera update needed
[2026-10-20 21:58:13,501.501 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:58:13,504.504 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:58:13,510.510 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:58:13,516.516 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:58:15,556.556 INFO    ] ================================================
[2026-10-20 21:58:15,572.572 INFO    ] Launching Daemon at Tue Oct 20 21:58:15 IST 2026
[2026-10-20 21:58:15,583.583 INFO    ] ================================================
[2026-10-20 21:58:16,147.147 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:58:16
[2026-10-20 21:58:16,734.734 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:58:16,994.994 INFO    ] Initializing speech engine...
[2026-10-20 21:58:17,019.019 INFO    ] 2026-10-20 21:58:17
[2026-10-20 21:58:17,288.288 INFO    ] 2026-10-20 21:58:17
[2026-10-20 21:58:17,326.326 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:58:17,546.546 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:58:17,595.595 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:58:17,774.774 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:58:17,809.809 INFO    ] time= 20/10/2026 21:58:17
[2026-10-20 21:58:17,853.853 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:58:17,903.903 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:58:18,052.052 INFO    ] No existing commands found in stream
[2026-10-20 21:58:23,074.074 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:58:23,077.077 INFO    ] Waiting 3.14 seconds before fallback handling...
[2026-10-20 21:58:26,715.715 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 21:58:26,718.718 INFO    ] Checking for system updates...
[2026-10-20 21:58:26,756.756 INFO    ] 200
[2026-10-20 21:58:26,758.758 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:58:26,810.810 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:58:26,813.813 INFO    ] No update needed
[2026-10-20 21:58:26,815.815 INFO    ] Checking for camera pi updates...
[2026-10-20 21:58:26,848.848 INFO    ] 200
[2026-10-20 21:58:26,851.851 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:58:26,894.894 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:58:26,948.948 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:58:26,950.950 INFO    ] No camera update needed
[2026-10-20 21:58:26,952.952 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:58:26,955.955 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:58:26,960.960 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:58:26,965.965 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:58:29,005.005 INFO    ] ================================================
[2026-10-20 21:58:29,020.020 INFO    ] Launching Daemon at Tue Oct 20 21:58:29 IST 2026
[2026-10-20 21:58:29,031.031 INFO    ] ================================================
[2026-10-20 21:58:29,672.672 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:58:29
[2026-10-20 21:58:30,332.332 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:58:30,633.633 INFO    ] Initializing speech engine...
[2026-10-20 21:58:30,643.643 INFO    ] 2026-10-20 21:58:30
[2026-10-20 21:58:30,919.919 INFO    ] 2026-10-20 21:58:30
[2026-10-20 21:58:30,977.977 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:58:31,267.267 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:58:31,276.276 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:58:31,454.454 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:58:31,484.484 INFO    ] time= 20/10/2026 21:58:31
[2026-10-20 21:58:31,500.500 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:58:31,520.520 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:58:31,667.667 INFO    ] No existing commands found in stream
[2026-10-20 21:58:36,693.693 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:58:36,696.696 INFO    ] Waiting 3.62 seconds before fallback handling...
[2026-10-20 21:58:40,818.818 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:58:40,821.821 INFO    ] Checking for system updates...
[2026-10-20 21:58:40,859.859 INFO    ] 200
[2026-10-20 21:58:40,862.862 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:58:40,914.914 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:58:40,917.917 INFO    ] No update needed
[2026-10-20 21:58:40,920.920 INFO    ] Checking for camera pi updates...
[2026-10-20 21:58:40,953.953 INFO    ] 200
[2026-10-20 21:58:40,955.955 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:58:41,004.004 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:58:41,050.050 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:58:41,053.053 INFO    ] No camera update needed
[2026-10-20 21:58:41,055.055 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:58:41,057.057 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:58:41,062.062 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:58:41,067.067 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:58:43,107.107 INFO    ] ================================================
[2026-10-20 21:58:43,122.122 INFO    ] Launching Daemon at Tue Oct 20 21:58:43 IST 2026
[2026-10-20 21:58:43,133.133 INFO    ] ================================================
[2026-10-20 21:58:43,699.699 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:58:43
[2026-10-20 21:58:44,284.284 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:58:44,541.541 INFO    ] Initializing speech engine...
[2026-10-20 21:58:44,547.547 INFO    ] 2026-10-20 21:58:44
[2026-10-20 21:58:44,837.837 INFO    ] 2026-10-20 21:58:44
[2026-10-20 21:58:44,875.875 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:58:45,096.096 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:58:45,104.104 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:58:45,304.304 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:58:45,326.326 INFO    ] time= 20/10/2026 21:58:45
[2026-10-20 21:58:45,358.358 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:58:45,412.412 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:58:45,576.576 INFO    ] No existing commands found in stream
[2026-10-20 21:58:50,601.601 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:58:50,604.604 INFO    ] Waiting 1.22 seconds before fallback handling...
[2026-10-20 21:58:52,341.341 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 21:58:52,344.344 INFO    ] Checking for system updates...
[2026-10-20 21:58:52,380.380 INFO    ] 200
[2026-10-20 21:58:52,382.382 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:58:52,438.438 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:58:52,440.440 INFO    ] No update needed
[2026-10-20 21:58:52,443.443 INFO    ] Checking for camera pi updates...
[2026-10-20 21:58:52,477.477 INFO    ] 200
[2026-10-20 21:58:52,479.479 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:58:52,520.520 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:58:52,567.567 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:58:52,570.570 INFO    ] No camera update needed
[2026-10-20 21:58:52,572.572 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:58:52,574.574 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:58:52,580.580 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:58:52,585.585 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:58:54,624.624 INFO    ] ================================================
[2026-10-20 21:58:54,639.639 INFO    ] Launching Daemon at Tue Oct 20 21:58:54 IST 2026
[2026-10-20 21:58:54,651.651 INFO    ] ================================================
[2026-10-20 21:58:55,300.300 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:58:55
[2026-10-20 21:58:55,968.968 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:58:56,265.265 INFO    ] Initializing speech engine...
[2026-10-20 21:58:56,272.272 INFO    ] 2026-10-20 21:58:56
[2026-10-20 21:58:56,543.543 INFO    ] 2026-10-20 21:58:56
[2026-10-20 21:58:56,598.598 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:58:56,847.847 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:58:56,854.854 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:58:57,038.038 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:58:57,090.090 INFO    ] time= 20/10/2026 21:58:57
[2026-10-20 21:58:57,110.110 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:58:57,119.119 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:58:57,302.302 INFO    ] No existing commands found in stream
[2026-10-20 21:59:02,331.331 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:59:02,335.335 INFO    ] Waiting 1.44 seconds before fallback handling...
[2026-10-20 21:59:04,269.269 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 21:59:04,272.272 INFO    ] Checking for system updates...
[2026-10-20 21:59:04,315.315 INFO    ] 200
[2026-10-20 21:59:04,318.318 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:59:04,372.372 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:59:04,375.375 INFO    ] No update needed
[2026-10-20 21:59:04,381.381 INFO    ] Checking for camera pi updates...
[2026-10-20 21:59:04,431.431 INFO    ] 200
[2026-10-20 21:59:04,433.433 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:59:04,474.474 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:59:04,518.518 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:59:04,521.521 INFO    ] No camera update needed
[2026-10-20 21:59:04,523.523 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:59:04,525.525 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:59:04,531.531 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:59:04,535.535 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:59:06,575.575 INFO    ] ================================================
[2026-10-20 21:59:06,590.590 INFO    ] Launching Daemon at Tue Oct 20 21:59:06 IST 2026
[2026-10-20 21:59:06,602.602 INFO    ] ================================================
[2026-10-20 21:59:07,178.178 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:59:07
[2026-10-20 21:59:07,763.763 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:59:08,031.031 INFO    ] Initializing speech engine...
[2026-10-20 21:59:08,041.041 INFO    ] 2026-10-20 21:59:08
[2026-10-20 21:59:08,285.285 INFO    ] 2026-10-20 21:59:08
[2026-10-20 21:59:08,320.320 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:59:08,571.571 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:59:08,580.580 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:59:08,791.791 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:59:08,838.838 INFO    ] time= 20/10/2026 21:59:08
[2026-10-20 21:59:08,845.845 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:59:08,863.863 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:59:08,998.998 INFO    ] No existing commands found in stream
[2026-10-20 21:59:14,024.024 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:59:14,026.026 INFO    ] Waiting 3.09 seconds before fallback handling...
[2026-10-20 21:59:17,654.654 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 21:59:17,657.657 INFO    ] Checking for system updates...
[2026-10-20 21:59:17,692.692 INFO    ] 200
[2026-10-20 21:59:17,695.695 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:59:17,747.747 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:59:17,750.750 INFO    ] No update needed
[2026-10-20 21:59:17,753.753 INFO    ] Checking for camera pi updates...
[2026-10-20 21:59:17,790.790 INFO    ] 200
[2026-10-20 21:59:17,793.793 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:59:17,833.833 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:59:17,889.889 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:59:17,891.891 INFO    ] No camera update needed
[2026-10-20 21:59:17,894.894 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:59:17,896.896 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:59:17,902.902 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:59:17,907.907 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:59:19,949.949 INFO    ] ================================================
[2026-10-20 21:59:19,965.965 INFO    ] Launching Daemon at Tue Oct 20 21:59:19 IST 2026
[2026-10-20 21:59:19,976.976 INFO    ] ================================================
[2026-10-20 21:59:20,629.629 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:59:20
[2026-10-20 21:59:21,301.301 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:59:21,603.603 INFO    ] Initializing speech engine...
[2026-10-20 21:59:21,611.611 INFO    ] 2026-10-20 21:59:21
[2026-10-20 21:59:21,896.896 INFO    ] 2026-10-20 21:59:21
[2026-10-20 21:59:21,943.943 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:59:22,207.207 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:59:22,231.231 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:59:22,429.429 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:59:22,448.448 INFO    ] time= 20/10/2026 21:59:22
[2026-10-20 21:59:22,466.466 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:59:22,483.483 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:59:22,607.607 INFO    ] No existing commands found in stream
[2026-10-20 21:59:27,638.638 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:59:27,641.641 INFO    ] Waiting 2.94 seconds before fallback handling...
[2026-10-20 21:59:31,151.151 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 21:59:31,154.154 INFO    ] Checking for system updates...
[2026-10-20 21:59:31,196.196 INFO    ] 200
[2026-10-20 21:59:31,199.199 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:59:31,257.257 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:59:31,260.260 INFO    ] No update needed
[2026-10-20 21:59:31,263.263 INFO    ] Checking for camera pi updates...
[2026-10-20 21:59:31,298.298 INFO    ] 200
[2026-10-20 21:59:31,301.301 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:59:31,342.342 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:59:31,391.391 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 21:59:31,394.394 INFO    ] No camera update needed
[2026-10-20 21:59:31,397.397 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:59:31,399.399 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:59:31,406.406 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:59:31,412.412 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:59:33,453.453 INFO    ] ================================================
[2026-10-20 21:59:33,469.469 INFO    ] Launching Daemon at Tue Oct 20 21:59:33 IST 2026
[2026-10-20 21:59:33,481.481 INFO    ] ================================================
[2026-10-20 21:59:34,137.137 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:59:34
[2026-10-20 21:59:34,813.813 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:59:35,119.119 INFO    ] Initializing speech engine...
[2026-10-20 21:59:35,131.131 INFO    ] 2026-10-20 21:59:35
[2026-10-20 21:59:35,415.415 INFO    ] 2026-10-20 21:59:35
[2026-10-20 21:59:35,523.523 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:59:35,734.734 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:59:35,742.742 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:59:35,929.929 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:59:35,946.946 INFO    ] time= 20/10/2026 21:59:35
[2026-10-20 21:59:35,967.967 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:59:35,996.996 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:59:36,120.120 INFO    ] No existing commands found in stream
[2026-10-20 21:59:41,151.151 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:59:41,154.154 INFO    ] Waiting 1.96 seconds before fallback handling...
[2026-10-20 21:59:43,679.679 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 21:59:43,682.682 INFO    ] Checking for system updates...
[2026-10-20 21:59:43,725.725 INFO    ] 200
[2026-10-20 21:59:43,728.728 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:59:43,794.794 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:59:43,797.797 INFO    ] No update needed
[2026-10-20 21:59:43,800.800 INFO    ] Checking for camera pi updates...
[2026-10-20 21:59:43,834.834 INFO    ] 200
[2026-10-20 21:59:43,837.837 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:59:43,883.883 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:59:43,928.928 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:59:43,930.930 INFO    ] No camera update needed
[2026-10-20 21:59:43,933.933 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:59:43,935.935 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:59:43,941.941 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:59:43,946.946 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 21:59:45,985.985 INFO    ] ================================================
[2026-10-20 21:59:46,001.001 INFO    ] Launching Daemon at Tue Oct 20 21:59:45 IST 2026
[2026-10-20 21:59:46,012.012 INFO    ] ================================================
[2026-10-20 21:59:46,629.629 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 21:59:46
[2026-10-20 21:59:47,316.316 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 21:59:47,634.634 INFO    ] Initializing speech engine...
[2026-10-20 21:59:47,644.644 INFO    ] 2026-10-20 21:59:47
[2026-10-20 21:59:47,948.948 INFO    ] 2026-10-20 21:59:47
[2026-10-20 21:59:48,038.038 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 21:59:48,248.248 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 21:59:48,258.258 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 21:59:48,452.452 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 21:59:48,471.471 INFO    ] time= 20/10/2026 21:59:48
[2026-10-20 21:59:48,481.481 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 21:59:48,508.508 INFO    ] Checking for existing commands in stream...
[2026-10-20 21:59:48,659.659 INFO    ] No existing commands found in stream
[2026-10-20 21:59:53,685.685 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 21:59:53,688.688 INFO    ] Waiting 3.54 seconds before fallback handling...
[2026-10-20 21:59:57,822.822 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 21:59:57,825.825 INFO    ] Checking for system updates...
[2026-10-20 21:59:57,862.862 INFO    ] 200
[2026-10-20 21:59:57,865.865 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:59:57,918.918 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:59:57,921.921 INFO    ] No update needed
[2026-10-20 21:59:57,923.923 INFO    ] Checking for camera pi updates...
[2026-10-20 21:59:57,957.957 INFO    ] 200
[2026-10-20 21:59:57,959.959 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 21:59:58,005.005 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 21:59:58,059.059 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 21:59:58,061.061 INFO    ] No camera update needed
[2026-10-20 21:59:58,064.064 INFO    ] Script finished. Safe exiting...
[2026-10-20 21:59:58,066.066 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 21:59:58,071.071 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 21:59:58,077.077 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:00:00,117.117 INFO    ] ================================================
[2026-10-20 22:00:00,132.132 INFO    ] Launching Daemon at Tue Oct 20 22:00:00 IST 2026
[2026-10-20 22:00:00,143.143 INFO    ] ================================================
[2026-10-20 22:00:00,709.709 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:00:00
[2026-10-20 22:00:01,293.293 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:00:01,559.559 INFO    ] Initializing speech engine...
[2026-10-20 22:00:01,569.569 INFO    ] 2026-10-20 22:00:01
[2026-10-20 22:00:02,098.098 INFO    ] 2026-10-20 22:00:01
[2026-10-20 22:00:02,309.309 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:00:02,568.568 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:00:02,574.574 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:00:02,791.791 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:00:02,795.795 INFO    ] time= 20/10/2026 22:00:02
[2026-10-20 22:00:02,798.798 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:00:02,821.821 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:00:02,921.921 INFO    ] No existing commands found in stream
[2026-10-20 22:00:07,931.931 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:00:07,933.933 INFO    ] Waiting 1.38 seconds before fallback handling...
[2026-10-20 22:00:09,825.825 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:00:09,827.827 INFO    ] Checking for system updates...
[2026-10-20 22:00:09,862.862 INFO    ] 200
[2026-10-20 22:00:09,865.865 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:00:09,917.917 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:00:09,919.919 INFO    ] No update needed
[2026-10-20 22:00:09,922.922 INFO    ] Checking for camera pi updates...
[2026-10-20 22:00:09,958.958 INFO    ] 200
[2026-10-20 22:00:09,961.961 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:00:10,001.001 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:00:10,032.032 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:00:10,034.034 INFO    ] No camera update needed
[2026-10-20 22:00:10,037.037 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:00:10,039.039 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:00:10,044.044 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:00:10,049.049 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:00:12,091.091 INFO    ] ================================================
[2026-10-20 22:00:12,107.107 INFO    ] Launching Daemon at Tue Oct 20 22:00:12 IST 2026
[2026-10-20 22:00:12,118.118 INFO    ] ================================================
[2026-10-20 22:00:12,698.698 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:00:12
[2026-10-20 22:00:13,297.297 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:00:13,571.571 INFO    ] Initializing speech engine...
[2026-10-20 22:00:13,580.580 INFO    ] 2026-10-20 22:00:13
[2026-10-20 22:00:13,835.835 INFO    ] 2026-10-20 22:00:13
[2026-10-20 22:00:13,871.871 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:00:14,120.120 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:00:14,125.125 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:00:14,259.259 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:00:14,334.334 INFO    ] time= 20/10/2026 22:00:14
[2026-10-20 22:00:14,387.387 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:00:14,393.393 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:00:14,536.536 INFO    ] No existing commands found in stream
[2026-10-20 22:00:19,550.550 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:00:19,553.553 INFO    ] Waiting 2.99 seconds before fallback handling...
[2026-10-20 22:00:23,037.037 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:00:23,040.040 INFO    ] Checking for system updates...
[2026-10-20 22:00:23,079.079 INFO    ] 200
[2026-10-20 22:00:23,082.082 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:00:23,140.140 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:00:23,143.143 INFO    ] No update needed
[2026-10-20 22:00:23,146.146 INFO    ] Checking for camera pi updates...
[2026-10-20 22:00:23,182.182 INFO    ] 200
[2026-10-20 22:00:23,185.185 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:00:23,234.234 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:00:23,277.277 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:00:23,280.280 INFO    ] No camera update needed
[2026-10-20 22:00:23,283.283 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:00:23,285.285 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:00:23,292.292 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:00:23,297.297 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:00:25,340.340 INFO    ] ================================================
[2026-10-20 22:00:25,355.355 INFO    ] Launching Daemon at Tue Oct 20 22:00:25 IST 2026
[2026-10-20 22:00:25,365.365 INFO    ] ================================================
[2026-10-20 22:00:25,928.928 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:00:25
[2026-10-20 22:00:26,510.510 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:00:26,759.759 INFO    ] Initializing speech engine...
[2026-10-20 22:00:26,782.782 INFO    ] 2026-10-20 22:00:26
[2026-10-20 22:00:27,032.032 INFO    ] 2026-10-20 22:00:27
[2026-10-20 22:00:27,066.066 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:00:27,262.262 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:00:27,319.319 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:00:27,525.525 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:00:27,580.580 INFO    ] time= 20/10/2026 22:00:27
[2026-10-20 22:00:27,596.596 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:00:27,614.614 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:00:27,747.747 INFO    ] No existing commands found in stream
[2026-10-20 22:00:32,771.771 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:00:32,774.774 INFO    ] Waiting 3.00 seconds before fallback handling...
[2026-10-20 22:00:37,606.606 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:00:37,609.609 INFO    ] Checking for system updates...
[2026-10-20 22:00:37,650.650 INFO    ] 200
[2026-10-20 22:00:37,653.653 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:00:37,706.706 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:00:37,709.709 INFO    ] No update needed
[2026-10-20 22:00:37,712.712 INFO    ] Checking for camera pi updates...
[2026-10-20 22:00:37,745.745 INFO    ] 200
[2026-10-20 22:00:37,748.748 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:00:37,794.794 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:00:37,939.939 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:00:37,941.941 INFO    ] No camera update needed
[2026-10-20 22:00:37,944.944 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:00:37,946.946 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:00:37,951.951 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:00:37,956.956 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:00:40,996.996 INFO    ] ================================================
[2026-10-20 22:00:40,011.011 INFO    ] Launching Daemon at Tue Oct 20 22:00:40 IST 2026
[2026-10-20 22:00:40,023.023 INFO    ] ================================================
[2026-10-20 22:00:40,594.594 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:00:40
[2026-10-20 22:00:41,245.245 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:00:41,545.545 INFO    ] Initializing speech engine...
[2026-10-20 22:00:41,552.552 INFO    ] 2026-10-20 22:00:41
[2026-10-20 22:00:41,835.835 INFO    ] 2026-10-20 22:00:41
[2026-10-20 22:00:41,879.879 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:00:42,159.159 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:00:42,167.167 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:00:42,353.353 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:00:42,370.370 INFO    ] time= 20/10/2026 22:00:42
[2026-10-20 22:00:42,391.391 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:00:42,417.417 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:00:42,549.549 INFO    ] No existing commands found in stream
[2026-10-20 22:00:47,585.585 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:00:47,588.588 INFO    ] Waiting 3.94 seconds before fallback handling...
[2026-10-20 22:00:52,036.036 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:00:52,039.039 INFO    ] Checking for system updates...
[2026-10-20 22:00:52,076.076 INFO    ] 200
[2026-10-20 22:00:52,079.079 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:00:52,136.136 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:00:52,139.139 INFO    ] No update needed
[2026-10-20 22:00:52,142.142 INFO    ] Checking for camera pi updates...
[2026-10-20 22:00:52,179.179 INFO    ] 200
[2026-10-20 22:00:52,181.181 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:00:52,225.225 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:00:52,279.279 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:00:52,281.281 INFO    ] No camera update needed
[2026-10-20 22:00:52,284.284 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:00:52,286.286 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:00:52,291.291 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:00:52,296.296 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:00:54,336.336 INFO    ] ================================================
[2026-10-20 22:00:54,351.351 INFO    ] Launching Daemon at Tue Oct 20 22:00:54 IST 2026
[2026-10-20 22:00:54,363.363 INFO    ] ================================================
[2026-10-20 22:00:54,928.928 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:00:54
[2026-10-20 22:00:55,526.526 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:00:55,800.800 INFO    ] Initializing speech engine...
[2026-10-20 22:00:55,820.820 INFO    ] 2026-10-20 22:00:55
[2026-10-20 22:00:56,088.088 INFO    ] 2026-10-20 22:00:56
[2026-10-20 22:00:56,126.126 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:00:56,353.353 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:00:56,361.361 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:00:56,516.516 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:00:56,557.557 INFO    ] time= 20/10/2026 22:00:56
[2026-10-20 22:00:56,605.605 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:00:56,654.654 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:00:56,791.791 INFO    ] No existing commands found in stream
[2026-10-20 22:01:01,801.801 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:01:01,804.804 INFO    ] Waiting 0.71 seconds before fallback handling...
[2026-10-20 22:01:03,040.040 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:01:03,044.044 INFO    ] Checking for system updates...
[2026-10-20 22:01:03,085.085 INFO    ] 200
[2026-10-20 22:01:03,089.089 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:01:03,154.154 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:01:03,158.158 INFO    ] No update needed
[2026-10-20 22:01:03,161.161 INFO    ] Checking for camera pi updates...
[2026-10-20 22:01:03,206.206 INFO    ] 200
[2026-10-20 22:01:03,209.209 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:01:03,271.271 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:01:03,326.326 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:01:03,329.329 INFO    ] No camera update needed
[2026-10-20 22:01:03,332.332 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:01:03,335.335 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:01:03,342.342 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:01:03,349.349 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:01:05,390.390 INFO    ] ================================================
[2026-10-20 22:01:05,406.406 INFO    ] Launching Daemon at Tue Oct 20 22:01:05 IST 2026
[2026-10-20 22:01:05,417.417 INFO    ] ================================================
[2026-10-20 22:01:05,988.988 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:01:05
[2026-10-20 22:01:06,577.577 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:01:06,838.838 INFO    ] Initializing speech engine...
[2026-10-20 22:01:06,854.854 INFO    ] 2026-10-20 22:01:06
[2026-10-20 22:01:07,142.142 INFO    ] 2026-10-20 22:01:07
[2026-10-20 22:01:07,176.176 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:01:07,405.405 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:01:07,424.424 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:01:07,638.638 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:01:07,645.645 INFO    ] time= 20/10/2026 22:01:07
[2026-10-20 22:01:07,700.700 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:01:07,738.738 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:01:07,850.850 INFO    ] No existing commands found in stream
[2026-10-20 22:01:12,862.862 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:01:12,864.864 INFO    ] Waiting 3.78 seconds before fallback handling...
[2026-10-20 22:01:17,189.189 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 22:01:17,192.192 INFO    ] Checking for system updates...
[2026-10-20 22:01:17,228.228 INFO    ] 200
[2026-10-20 22:01:17,231.231 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:01:17,293.293 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:01:17,296.296 INFO    ] No update needed
[2026-10-20 22:01:17,298.298 INFO    ] Checking for camera pi updates...
[2026-10-20 22:01:17,335.335 INFO    ] 200
[2026-10-20 22:01:17,337.337 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:01:17,383.383 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:01:17,430.430 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:01:17,432.432 INFO    ] No camera update needed
[2026-10-20 22:01:17,434.434 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:01:17,437.437 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:01:17,442.442 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:01:17,447.447 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:01:19,489.489 INFO    ] ================================================
[2026-10-20 22:01:19,504.504 INFO    ] Launching Daemon at Tue Oct 20 22:01:19 IST 2026
[2026-10-20 22:01:19,515.515 INFO    ] ================================================
[2026-10-20 22:01:20,087.087 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:01:20
[2026-10-20 22:01:20,678.678 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:01:20,937.937 INFO    ] Initializing speech engine...
[2026-10-20 22:01:20,943.943 INFO    ] 2026-10-20 22:01:20
[2026-10-20 22:01:21,240.240 INFO    ] 2026-10-20 22:01:21
[2026-10-20 22:01:21,280.280 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:01:21,510.510 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:01:21,555.555 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:01:21,742.742 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:01:21,749.749 INFO    ] time= 20/10/2026 22:01:21
[2026-10-20 22:01:21,804.804 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:01:21,858.858 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:01:21,964.964 INFO    ] No existing commands found in stream
[2026-10-20 22:01:26,975.975 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:01:26,978.978 INFO    ] Waiting 1.57 seconds before fallback handling...
[2026-10-20 22:01:29,121.121 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:01:29,124.124 INFO    ] Checking for system updates...
[2026-10-20 22:01:29,165.165 INFO    ] 200
[2026-10-20 22:01:29,168.168 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:01:29,228.228 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:01:29,231.231 INFO    ] No update needed
[2026-10-20 22:01:29,234.234 INFO    ] Checking for camera pi updates...
[2026-10-20 22:01:29,272.272 INFO    ] 200
[2026-10-20 22:01:29,275.275 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:01:29,322.322 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:01:29,378.378 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:01:29,381.381 INFO    ] No camera update needed
[2026-10-20 22:01:29,384.384 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:01:29,386.386 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:01:29,393.393 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:01:29,398.398 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:01:31,442.442 INFO    ] ================================================
[2026-10-20 22:01:31,458.458 INFO    ] Launching Daemon at Tue Oct 20 22:01:31 IST 2026
[2026-10-20 22:01:31,471.471 INFO    ] ================================================
[2026-10-20 22:01:32,063.063 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:01:32
[2026-10-20 22:01:32,761.761 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:01:33,097.097 INFO    ] Initializing speech engine...
[2026-10-20 22:01:33,104.104 INFO    ] 2026-10-20 22:01:33
[2026-10-20 22:01:33,397.397 INFO    ] 2026-10-20 22:01:33
[2026-10-20 22:01:33,455.455 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:01:33,681.681 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:01:33,692.692 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:01:33,909.909 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:01:33,953.953 INFO    ] time= 20/10/2026 22:01:33
[2026-10-20 22:01:33,971.971 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:01:33,981.981 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:01:34,112.112 INFO    ] No existing commands found in stream
[2026-10-20 22:01:39,141.141 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:01:39,144.144 INFO    ] Waiting 2.52 seconds before fallback handling...
[2026-10-20 22:01:42,229.229 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:01:42,232.232 INFO    ] Checking for system updates...
[2026-10-20 22:01:42,270.270 INFO    ] 200
[2026-10-20 22:01:42,272.272 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:01:42,327.327 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:01:42,331.331 INFO    ] No update needed
[2026-10-20 22:01:42,333.333 INFO    ] Checking for camera pi updates...
[2026-10-20 22:01:42,368.368 INFO    ] 200
[2026-10-20 22:01:42,371.371 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:01:42,412.412 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:01:42,460.460 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:01:42,463.463 INFO    ] No camera update needed
[2026-10-20 22:01:42,465.465 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:01:42,468.468 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:01:42,474.474 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:01:42,480.480 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:01:44,524.524 INFO    ] ================================================
[2026-10-20 22:01:44,540.540 INFO    ] Launching Daemon at Tue Oct 20 22:01:44 IST 2026
[2026-10-20 22:01:44,551.551 INFO    ] ================================================
[2026-10-20 22:01:45,127.127 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:01:45
[2026-10-20 22:01:45,719.719 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:01:45,992.992 INFO    ] Initializing speech engine...
[2026-10-20 22:01:46,000.000 INFO    ] 2026-10-20 22:01:45
[2026-10-20 22:01:46,252.252 INFO    ] 2026-10-20 22:01:46
[2026-10-20 22:01:46,289.289 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:01:46,546.546 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:01:46,556.556 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:01:46,692.692 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:01:46,737.737 INFO    ] time= 20/10/2026 22:01:46
[2026-10-20 22:01:46,791.791 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:01:46,827.827 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:01:46,975.975 INFO    ] No existing commands found in stream
[2026-10-20 22:01:51,987.987 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:01:51,990.990 INFO    ] Waiting 0.59 seconds before fallback handling...
[2026-10-20 22:01:53,112.112 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:01:53,115.115 INFO    ] Checking for system updates...
[2026-10-20 22:01:53,160.160 INFO    ] 200
[2026-10-20 22:01:53,163.163 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:01:53,228.228 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:01:53,231.231 INFO    ] No update needed
[2026-10-20 22:01:53,235.235 INFO    ] Checking for camera pi updates...
[2026-10-20 22:01:53,273.273 INFO    ] 200
[2026-10-20 22:01:53,276.276 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:01:53,327.327 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:01:53,375.375 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:01:53,378.378 INFO    ] No camera update needed
[2026-10-20 22:01:53,381.381 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:01:53,384.384 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:01:53,390.390 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:01:53,396.396 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:01:55,438.438 INFO    ] ================================================
[2026-10-20 22:01:55,454.454 INFO    ] Launching Daemon at Tue Oct 20 22:01:55 IST 2026
[2026-10-20 22:01:55,465.465 INFO    ] ================================================
[2026-10-20 22:01:56,138.138 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:01:56
[2026-10-20 22:01:56,837.837 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:01:57,128.128 INFO    ] Initializing speech engine...
[2026-10-20 22:01:57,142.142 INFO    ] 2026-10-20 22:01:57
[2026-10-20 22:01:57,415.415 INFO    ] 2026-10-20 22:01:57
[2026-10-20 22:01:57,454.454 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:01:57,670.670 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:01:57,710.710 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:01:57,881.881 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:01:57,916.916 INFO    ] time= 20/10/2026 22:01:57
[2026-10-20 22:01:57,954.954 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:01:58,014.014 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:01:58,161.161 INFO    ] No existing commands found in stream
[2026-10-20 22:02:03,186.186 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:02:03,190.190 INFO    ] Waiting 0.76 seconds before fallback handling...
[2026-10-20 22:02:04,439.439 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:02:04,442.442 INFO    ] Checking for system updates...
[2026-10-20 22:02:04,480.480 INFO    ] 200
[2026-10-20 22:02:04,483.483 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:02:04,535.535 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:02:04,538.538 INFO    ] No update needed
[2026-10-20 22:02:04,540.540 INFO    ] Checking for camera pi updates...
[2026-10-20 22:02:04,574.574 INFO    ] 200
[2026-10-20 22:02:04,577.577 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:02:04,625.625 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:02:04,670.670 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:02:04,672.672 INFO    ] No camera update needed
[2026-10-20 22:02:04,674.674 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:02:04,677.677 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:02:04,682.682 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:02:04,687.687 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:02:06,728.728 INFO    ] ================================================
[2026-10-20 22:02:06,744.744 INFO    ] Launching Daemon at Tue Oct 20 22:02:06 IST 2026
[2026-10-20 22:02:06,756.756 INFO    ] ================================================
[2026-10-20 22:02:07,324.324 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:02:07
[2026-10-20 22:02:07,907.907 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:02:08,177.177 INFO    ] Initializing speech engine...
[2026-10-20 22:02:08,186.186 INFO    ] 2026-10-20 22:02:08
[2026-10-20 22:02:08,431.431 INFO    ] 2026-10-20 22:02:08
[2026-10-20 22:02:08,466.466 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:02:08,664.664 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:02:08,720.720 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:02:08,929.929 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:02:08,987.987 INFO    ] time= 20/10/2026 22:02:08
[2026-10-20 22:02:08,993.993 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:02:09,011.011 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:02:09,126.126 INFO    ] No existing commands found in stream
[2026-10-20 22:02:14,150.150 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:02:14,153.153 INFO    ] Waiting 2.53 seconds before fallback handling...
[2026-10-20 22:02:17,206.206 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:02:17,209.209 INFO    ] Checking for system updates...
[2026-10-20 22:02:17,245.245 INFO    ] 200
[2026-10-20 22:02:17,247.247 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:02:17,301.301 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:02:17,304.304 INFO    ] No update needed
[2026-10-20 22:02:17,306.306 INFO    ] Checking for camera pi updates...
[2026-10-20 22:02:17,339.339 INFO    ] 200
[2026-10-20 22:02:17,342.342 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:02:17,382.382 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:02:17,432.432 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:02:17,434.434 INFO    ] No camera update needed
[2026-10-20 22:02:17,436.436 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:02:17,439.439 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:02:17,444.444 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:02:17,449.449 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:02:19,490.490 INFO    ] ================================================
[2026-10-20 22:02:19,506.506 INFO    ] Launching Daemon at Tue Oct 20 22:02:19 IST 2026
[2026-10-20 22:02:19,518.518 INFO    ] ================================================
[2026-10-20 22:02:20,095.095 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:02:20
[2026-10-20 22:02:20,677.677 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:02:20,953.953 INFO    ] Initializing speech engine...
[2026-10-20 22:02:20,959.959 INFO    ] 2026-10-20 22:02:20
[2026-10-20 22:02:21,206.206 INFO    ] 2026-10-20 22:02:21
[2026-10-20 22:02:21,241.241 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:02:21,499.499 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:02:21,507.507 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:02:21,646.646 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:02:21,706.706 INFO    ] time= 20/10/2026 22:02:21
[2026-10-20 22:02:21,756.756 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:02:21,783.783 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:02:21,909.909 INFO    ] No existing commands found in stream
[2026-10-20 22:02:26,932.932 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:02:26,935.935 INFO    ] Waiting 3.93 seconds before fallback handling...
[2026-10-20 22:02:31,399.399 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 22:02:31,401.401 INFO    ] Checking for system updates...
[2026-10-20 22:02:31,436.436 INFO    ] 200
[2026-10-20 22:02:31,439.439 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:02:31,490.490 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:02:31,493.493 INFO    ] No update needed
[2026-10-20 22:02:31,495.495 INFO    ] Checking for camera pi updates...
[2026-10-20 22:02:31,529.529 INFO    ] 200
[2026-10-20 22:02:31,531.531 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:02:31,571.571 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:02:31,609.609 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:02:31,611.611 INFO    ] No camera update needed
[2026-10-20 22:02:31,613.613 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:02:31,616.616 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:02:31,622.622 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:02:31,627.627 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:02:33,669.669 INFO    ] ================================================
[2026-10-20 22:02:33,685.685 INFO    ] Launching Daemon at Tue Oct 20 22:02:33 IST 2026
[2026-10-20 22:02:33,697.697 INFO    ] ================================================
[2026-10-20 22:02:34,265.265 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:02:34
[2026-10-20 22:02:34,848.848 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:02:35,098.098 INFO    ] Initializing speech engine...
[2026-10-20 22:02:35,113.113 INFO    ] 2026-10-20 22:02:35
[2026-10-20 22:02:35,412.412 INFO    ] 2026-10-20 22:02:35
[2026-10-20 22:02:35,447.447 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:02:36,012.012 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:02:36,021.021 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:02:36,237.237 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:02:36,250.250 INFO    ] time= 20/10/2026 22:02:36
[2026-10-20 22:02:36,299.299 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:02:36,359.359 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:02:36,448.448 INFO    ] No existing commands found in stream
[2026-10-20 22:02:41,464.464 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:02:41,467.467 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-10-20 22:02:43,756.756 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:02:43,759.759 INFO    ] Checking for system updates...
[2026-10-20 22:02:43,794.794 INFO    ] 200
[2026-10-20 22:02:43,796.796 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:02:43,848.848 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:02:43,851.851 INFO    ] No update needed
[2026-10-20 22:02:43,853.853 INFO    ] Checking for camera pi updates...
[2026-10-20 22:02:43,886.886 INFO    ] 200
[2026-10-20 22:02:43,888.888 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:02:43,928.928 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:02:44,083.083 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:02:44,086.086 INFO    ] No camera update needed
[2026-10-20 22:02:44,088.088 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:02:44,090.090 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:02:44,096.096 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:02:44,101.101 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:02:46,140.140 INFO    ] ================================================
[2026-10-20 22:02:46,156.156 INFO    ] Launching Daemon at Tue Oct 20 22:02:46 IST 2026
[2026-10-20 22:02:46,167.167 INFO    ] ================================================
[2026-10-20 22:02:46,735.735 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:02:46
[2026-10-20 22:02:47,323.323 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:02:47,594.594 INFO    ] Initializing speech engine...
[2026-10-20 22:02:47,600.600 INFO    ] 2026-10-20 22:02:47
[2026-10-20 22:02:47,860.860 INFO    ] 2026-10-20 22:02:47
[2026-10-20 22:02:47,889.889 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:02:48,134.134 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:02:48,143.143 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:02:48,276.276 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:02:48,341.341 INFO    ] time= 20/10/2026 22:02:48
[2026-10-20 22:02:48,401.401 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:02:48,410.410 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:02:48,557.557 INFO    ] No existing commands found in stream
[2026-10-20 22:02:53,584.584 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:02:53,587.587 INFO    ] Waiting 2.55 seconds before fallback handling...
[2026-10-20 22:02:56,667.667 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:02:56,669.669 INFO    ] Checking for system updates...
[2026-10-20 22:02:56,705.705 INFO    ] 200
[2026-10-20 22:02:56,707.707 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:02:56,759.759 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:02:56,761.761 INFO    ] No update needed
[2026-10-20 22:02:56,764.764 INFO    ] Checking for camera pi updates...
[2026-10-20 22:02:56,797.797 INFO    ] 200
[2026-10-20 22:02:56,800.800 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:02:56,849.849 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:02:56,901.901 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:02:56,903.903 INFO    ] No camera update needed
[2026-10-20 22:02:56,906.906 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:02:56,908.908 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:02:56,913.913 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:02:56,918.918 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:02:58,959.959 INFO    ] ================================================
[2026-10-20 22:02:58,975.975 INFO    ] Launching Daemon at Tue Oct 20 22:02:58 IST 2026
[2026-10-20 22:02:58,986.986 INFO    ] ================================================
[2026-10-20 22:02:59,551.551 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:02:59
[2026-10-20 22:03:00,134.134 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:03:00,401.401 INFO    ] Initializing speech engine...
[2026-10-20 22:03:00,411.411 INFO    ] 2026-10-20 22:03:00
[2026-10-20 22:03:00,657.657 INFO    ] 2026-10-20 22:03:00
[2026-10-20 22:03:00,692.692 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:03:00,945.945 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:03:00,950.950 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:03:01,169.169 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:03:01,205.205 INFO    ] time= 20/10/2026 22:03:01
[2026-10-20 22:03:01,211.211 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:03:01,228.228 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:03:01,363.363 INFO    ] No existing commands found in stream
[2026-10-20 22:03:06,388.388 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:03:06,391.391 INFO    ] Waiting 1.08 seconds before fallback handling...
[2026-10-20 22:03:07,990.990 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:03:07,993.993 INFO    ] Checking for system updates...
[2026-10-20 22:03:08,028.028 INFO    ] 200
[2026-10-20 22:03:08,031.031 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:03:08,092.092 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:03:08,095.095 INFO    ] No update needed
[2026-10-20 22:03:08,097.097 INFO    ] Checking for camera pi updates...
[2026-10-20 22:03:08,130.130 INFO    ] 200
[2026-10-20 22:03:08,133.133 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:03:08,176.176 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:03:08,226.226 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:03:08,229.229 INFO    ] No camera update needed
[2026-10-20 22:03:08,231.231 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:03:08,233.233 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:03:08,239.239 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:03:08,244.244 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:03:10,283.283 INFO    ] ================================================
[2026-10-20 22:03:10,298.298 INFO    ] Launching Daemon at Tue Oct 20 22:03:10 IST 2026
[2026-10-20 22:03:10,309.309 INFO    ] ================================================
[2026-10-20 22:03:10,873.873 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:03:10
[2026-10-20 22:03:11,455.455 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:03:11,727.727 INFO    ] Initializing speech engine...
[2026-10-20 22:03:11,736.736 INFO    ] 2026-10-20 22:03:11
[2026-10-20 22:03:11,992.992 INFO    ] 2026-10-20 22:03:11
[2026-10-20 22:03:12,028.028 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:03:12,235.235 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:03:12,293.293 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:03:12,437.437 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:03:12,497.497 INFO    ] time= 20/10/2026 22:03:12
[2026-10-20 22:03:12,546.546 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:03:12,572.572 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:03:12,725.725 INFO    ] No existing commands found in stream
[2026-10-20 22:03:17,748.748 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:03:17,751.751 INFO    ] Waiting 3.12 seconds before fallback handling...
[2026-10-20 22:03:21,367.367 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:03:21,369.369 INFO    ] Checking for system updates...
[2026-10-20 22:03:21,409.409 INFO    ] 200
[2026-10-20 22:03:21,412.412 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:03:21,470.470 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:03:21,472.472 INFO    ] No update needed
[2026-10-20 22:03:21,475.475 INFO    ] Checking for camera pi updates...
[2026-10-20 22:03:21,518.518 INFO    ] 200
[2026-10-20 22:03:21,521.521 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:03:21,569.569 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:03:21,626.626 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:03:21,629.629 INFO    ] No camera update needed
[2026-10-20 22:03:21,631.631 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:03:21,633.633 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:03:21,639.639 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:03:21,644.644 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:03:23,685.685 INFO    ] ================================================
[2026-10-20 22:03:23,700.700 INFO    ] Launching Daemon at Tue Oct 20 22:03:23 IST 2026
[2026-10-20 22:03:23,711.711 INFO    ] ================================================
[2026-10-20 22:03:24,277.277 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:03:24
[2026-10-20 22:03:24,860.860 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:03:25,127.127 INFO    ] Initializing speech engine...
[2026-10-20 22:03:25,136.136 INFO    ] 2026-10-20 22:03:25
[2026-10-20 22:03:25,381.381 INFO    ] 2026-10-20 22:03:25
[2026-10-20 22:03:25,415.415 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:03:25,672.672 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:03:25,677.677 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:03:25,889.889 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:03:25,932.932 INFO    ] time= 20/10/2026 22:03:25
[2026-10-20 22:03:25,938.938 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:03:25,953.953 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:03:26,085.085 INFO    ] No existing commands found in stream
[2026-10-20 22:03:31,105.105 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:03:31,108.108 INFO    ] Waiting 2.07 seconds before fallback handling...
[2026-10-20 22:03:33,637.637 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:03:33,639.639 INFO    ] Checking for system updates...
[2026-10-20 22:03:33,675.675 INFO    ] 200
[2026-10-20 22:03:33,678.678 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:03:33,739.739 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:03:33,742.742 INFO    ] No update needed
[2026-10-20 22:03:33,745.745 INFO    ] Checking for camera pi updates...
[2026-10-20 22:03:33,789.789 INFO    ] 200
[2026-10-20 22:03:33,792.792 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:03:33,838.838 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:03:33,872.872 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:03:33,875.875 INFO    ] No camera update needed
[2026-10-20 22:03:33,877.877 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:03:33,880.880 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:03:33,886.886 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:03:33,892.892 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:03:35,932.932 INFO    ] ================================================
[2026-10-20 22:03:35,947.947 INFO    ] Launching Daemon at Tue Oct 20 22:03:35 IST 2026
[2026-10-20 22:03:35,958.958 INFO    ] ================================================
[2026-10-20 22:03:36,525.525 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:03:36
[2026-10-20 22:03:37,110.110 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:03:37,377.377 INFO    ] Initializing speech engine...
[2026-10-20 22:03:37,386.386 INFO    ] 2026-10-20 22:03:37
[2026-10-20 22:03:37,630.630 INFO    ] 2026-10-20 22:03:37
[2026-10-20 22:03:37,665.665 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:03:37,920.920 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:03:37,925.925 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:03:38,168.168 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:03:38,185.185 INFO    ] time= 20/10/2026 22:03:38
[2026-10-20 22:03:38,202.202 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:03:38,215.215 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:03:38,338.338 INFO    ] No existing commands found in stream
[2026-10-20 22:03:43,361.361 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:03:43,364.364 INFO    ] Waiting 2.88 seconds before fallback handling...
[2026-10-20 22:03:46,746.746 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:03:46,749.749 INFO    ] Checking for system updates...
[2026-10-20 22:03:46,785.785 INFO    ] 200
[2026-10-20 22:03:46,787.787 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:03:46,842.842 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:03:46,844.844 INFO    ] No update needed
[2026-10-20 22:03:46,846.846 INFO    ] Checking for camera pi updates...
[2026-10-20 22:03:46,881.881 INFO    ] 200
[2026-10-20 22:03:46,883.883 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:03:46,923.923 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:03:46,967.967 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:03:46,970.970 INFO    ] No camera update needed
[2026-10-20 22:03:46,972.972 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:03:46,974.974 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:03:46,980.980 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:03:46,985.985 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:03:49,028.028 INFO    ] ================================================
[2026-10-20 22:03:49,043.043 INFO    ] Launching Daemon at Tue Oct 20 22:03:49 IST 2026
[2026-10-20 22:03:49,053.053 INFO    ] ================================================
[2026-10-20 22:03:49,634.634 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:03:49
[2026-10-20 22:03:50,232.232 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:03:50,504.504 INFO    ] Initializing speech engine...
[2026-10-20 22:03:50,513.513 INFO    ] 2026-10-20 22:03:50
[2026-10-20 22:03:50,794.794 INFO    ] 2026-10-20 22:03:50
[2026-10-20 22:03:50,838.838 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:03:51,058.058 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:03:51,068.068 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:03:51,218.218 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:03:51,274.274 INFO    ] time= 20/10/2026 22:03:51
[2026-10-20 22:03:51,330.330 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:03:51,338.338 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:03:51,485.485 INFO    ] No existing commands found in stream
[2026-10-20 22:03:56,514.514 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:03:56,517.517 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-10-20 22:03:58,089.089 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 22:03:58,092.092 INFO    ] Checking for system updates...
[2026-10-20 22:03:58,129.129 INFO    ] 200
[2026-10-20 22:03:58,131.131 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:03:58,184.184 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:03:58,186.186 INFO    ] No update needed
[2026-10-20 22:03:58,189.189 INFO    ] Checking for camera pi updates...
[2026-10-20 22:03:58,222.222 INFO    ] 200
[2026-10-20 22:03:58,225.225 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:03:58,270.270 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:03:58,314.314 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:03:58,316.316 INFO    ] No camera update needed
[2026-10-20 22:03:58,318.318 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:03:58,321.321 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:03:58,326.326 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:03:58,331.331 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:04:00,370.370 INFO    ] ================================================
[2026-10-20 22:04:00,385.385 INFO    ] Launching Daemon at Tue Oct 20 22:04:00 IST 2026
[2026-10-20 22:04:00,395.395 INFO    ] ================================================
[2026-10-20 22:04:01,017.017 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:04:01
[2026-10-20 22:04:01,661.661 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:04:02,144.144 INFO    ] Initializing speech engine...
[2026-10-20 22:04:02,161.161 INFO    ] 2026-10-20 22:04:02
[2026-10-20 22:04:02,597.597 INFO    ] 2026-10-20 22:04:02
[2026-10-20 22:04:02,701.701 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:04:02,951.951 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:04:02,977.977 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:04:03,182.182 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:04:03,242.242 INFO    ] time= 20/10/2026 22:04:03
[2026-10-20 22:04:03,293.293 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:04:03,382.382 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:04:03,487.487 INFO    ] No existing commands found in stream
[2026-10-20 22:04:08,518.518 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:04:08,521.521 INFO    ] Waiting 0.02 seconds before fallback handling...
[2026-10-20 22:04:09,025.025 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:04:09,028.028 INFO    ] Checking for system updates...
[2026-10-20 22:04:09,064.064 INFO    ] 200
[2026-10-20 22:04:09,066.066 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:04:09,117.117 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:04:09,120.120 INFO    ] No update needed
[2026-10-20 22:04:09,122.122 INFO    ] Checking for camera pi updates...
[2026-10-20 22:04:09,163.163 INFO    ] 200
[2026-10-20 22:04:09,165.165 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:04:09,204.204 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:04:09,249.249 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:04:09,252.252 INFO    ] No camera update needed
[2026-10-20 22:04:09,254.254 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:04:09,256.256 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:04:09,261.261 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:04:09,266.266 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:04:11,305.305 INFO    ] ================================================
[2026-10-20 22:04:11,320.320 INFO    ] Launching Daemon at Tue Oct 20 22:04:11 IST 2026
[2026-10-20 22:04:11,331.331 INFO    ] ================================================
[2026-10-20 22:04:11,896.896 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:04:11
[2026-10-20 22:04:12,477.477 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:04:12,747.747 INFO    ] Initializing speech engine...
[2026-10-20 22:04:12,757.757 INFO    ] 2026-10-20 22:04:12
[2026-10-20 22:04:13,003.003 INFO    ] 2026-10-20 22:04:12
[2026-10-20 22:04:13,038.038 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:04:13,292.292 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:04:13,301.301 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:04:13,512.512 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:04:13,564.564 INFO    ] time= 20/10/2026 22:04:13
[2026-10-20 22:04:13,570.570 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:04:13,588.588 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:04:13,722.722 INFO    ] No existing commands found in stream
[2026-10-20 22:04:18,736.736 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:04:18,739.739 INFO    ] Waiting 1.37 seconds before fallback handling...
[2026-10-20 22:04:22,612.612 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:04:22,615.615 INFO    ] Checking for system updates...
[2026-10-20 22:04:22,653.653 INFO    ] 200
[2026-10-20 22:04:22,656.656 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:04:22,708.708 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:04:22,711.711 INFO    ] No update needed
[2026-10-20 22:04:22,713.713 INFO    ] Checking for camera pi updates...
[2026-10-20 22:04:22,746.746 INFO    ] 200
[2026-10-20 22:04:22,748.748 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:04:22,791.791 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:04:22,848.848 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:04:22,850.850 INFO    ] No camera update needed
[2026-10-20 22:04:22,853.853 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:04:22,855.855 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:04:22,860.860 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:04:22,865.865 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:04:24,904.904 INFO    ] ================================================
[2026-10-20 22:04:24,919.919 INFO    ] Launching Daemon at Tue Oct 20 22:04:24 IST 2026
[2026-10-20 22:04:24,930.930 INFO    ] ================================================
[2026-10-20 22:04:25,495.495 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:04:25
[2026-10-20 22:04:26,080.080 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:04:26,332.332 INFO    ] Initializing speech engine...
[2026-10-20 22:04:26,355.355 INFO    ] 2026-10-20 22:04:26
[2026-10-20 22:04:26,607.607 INFO    ] 2026-10-20 22:04:26
[2026-10-20 22:04:26,642.642 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:04:26,861.861 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:04:26,864.864 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:04:27,039.039 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:04:27,094.094 INFO    ] time= 20/10/2026 22:04:27
[2026-10-20 22:04:27,154.154 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:04:27,173.173 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:04:27,320.320 INFO    ] No existing commands found in stream
[2026-10-20 22:04:32,335.335 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:04:32,338.338 INFO    ] Waiting 1.11 seconds before fallback handling...
[2026-10-20 22:04:33,989.989 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:04:33,991.991 INFO    ] Checking for system updates...
[2026-10-20 22:04:34,028.028 INFO    ] 200
[2026-10-20 22:04:34,031.031 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:04:34,084.084 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:04:34,087.087 INFO    ] No update needed
[2026-10-20 22:04:34,089.089 INFO    ] Checking for camera pi updates...
[2026-10-20 22:04:34,123.123 INFO    ] 200
[2026-10-20 22:04:34,126.126 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:04:34,170.170 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:04:34,225.225 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:04:34,227.227 INFO    ] No camera update needed
[2026-10-20 22:04:34,230.230 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:04:34,233.233 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:04:34,239.239 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:04:34,245.245 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:04:36,285.285 INFO    ] ================================================
[2026-10-20 22:04:36,300.300 INFO    ] Launching Daemon at Tue Oct 20 22:04:36 IST 2026
[2026-10-20 22:04:36,311.311 INFO    ] ================================================
[2026-10-20 22:04:36,880.880 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:04:36
[2026-10-20 22:04:37,465.465 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:04:37,737.737 INFO    ] Initializing speech engine...
[2026-10-20 22:04:37,746.746 INFO    ] 2026-10-20 22:04:37
[2026-10-20 22:04:37,992.992 INFO    ] 2026-10-20 22:04:37
[2026-10-20 22:04:38,035.035 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:04:38,281.281 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:04:38,292.292 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:04:38,513.513 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:04:38,551.551 INFO    ] time= 20/10/2026 22:04:38
[2026-10-20 22:04:38,567.567 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:04:38,576.576 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:04:38,705.705 INFO    ] No existing commands found in stream
[2026-10-20 22:04:43,720.720 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:04:43,723.723 INFO    ] Waiting 1.18 seconds before fallback handling...
[2026-10-20 22:04:45,418.418 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:04:45,421.421 INFO    ] Checking for system updates...
[2026-10-20 22:04:45,457.457 INFO    ] 200
[2026-10-20 22:04:45,460.460 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:04:45,518.518 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:04:45,521.521 INFO    ] No update needed
[2026-10-20 22:04:45,524.524 INFO    ] Checking for camera pi updates...
[2026-10-20 22:04:45,558.558 INFO    ] 200
[2026-10-20 22:04:45,561.561 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:04:45,601.601 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:04:45,647.647 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:04:45,650.650 INFO    ] No camera update needed
[2026-10-20 22:04:45,653.653 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:04:45,655.655 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:04:45,662.662 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:04:45,667.667 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:04:47,709.709 INFO    ] ================================================
[2026-10-20 22:04:47,724.724 INFO    ] Launching Daemon at Tue Oct 20 22:04:47 IST 2026
[2026-10-20 22:04:47,734.734 INFO    ] ================================================
[2026-10-20 22:04:48,297.297 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:04:48
[2026-10-20 22:04:48,890.890 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:04:49,160.160 INFO    ] Initializing speech engine...
[2026-10-20 22:04:49,170.170 INFO    ] 2026-10-20 22:04:49
[2026-10-20 22:04:49,417.417 INFO    ] 2026-10-20 22:04:49
[2026-10-20 22:04:49,452.452 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:04:49,651.651 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:04:49,658.658 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:04:49,855.855 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:04:49,862.862 INFO    ] time= 20/10/2026 22:04:49
[2026-10-20 22:04:49,895.895 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:04:49,961.961 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:04:50,048.048 INFO    ] No existing commands found in stream
[2026-10-20 22:04:55,060.060 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:04:55,063.063 INFO    ] Waiting 3.68 seconds before fallback handling...
[2026-10-20 22:04:59,195.195 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 22:04:59,198.198 INFO    ] Checking for system updates...
[2026-10-20 22:04:59,240.240 INFO    ] 200
[2026-10-20 22:04:59,243.243 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:04:59,305.305 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:04:59,307.307 INFO    ] No update needed
[2026-10-20 22:04:59,310.310 INFO    ] Checking for camera pi updates...
[2026-10-20 22:04:59,347.347 INFO    ] 200
[2026-10-20 22:04:59,350.350 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:04:59,392.392 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:04:59,546.546 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:04:59,548.548 INFO    ] No camera update needed
[2026-10-20 22:04:59,551.551 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:04:59,554.554 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:04:59,560.560 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:04:59,565.565 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:05:01,607.607 INFO    ] ================================================
[2026-10-20 22:05:01,622.622 INFO    ] Launching Daemon at Tue Oct 20 22:05:01 IST 2026
[2026-10-20 22:05:01,633.633 INFO    ] ================================================
[2026-10-20 22:05:02,454.454 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:05:02
[2026-10-20 22:05:03,272.272 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:05:03,662.662 INFO    ] Initializing speech engine...
[2026-10-20 22:05:03,666.666 INFO    ] 2026-10-20 22:05:03
[2026-10-20 22:05:04,066.066 INFO    ] 2026-10-20 22:05:03
[2026-10-20 22:05:04,108.108 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:05:04,359.359 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:05:04,370.370 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:05:04,540.540 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:05:04,610.610 INFO    ] time= 20/10/2026 22:05:04
[2026-10-20 22:05:04,635.635 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:05:04,641.641 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:05:04,735.735 INFO    ] No existing commands found in stream
[2026-10-20 22:05:09,745.745 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:05:09,748.748 INFO    ] Waiting 0.46 seconds before fallback handling...
[2026-10-20 22:05:10,716.716 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:05:10,719.719 INFO    ] Checking for system updates...
[2026-10-20 22:05:10,755.755 INFO    ] 200
[2026-10-20 22:05:10,758.758 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:05:10,811.811 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:05:10,814.814 INFO    ] No update needed
[2026-10-20 22:05:10,816.816 INFO    ] Checking for camera pi updates...
[2026-10-20 22:05:10,850.850 INFO    ] 200
[2026-10-20 22:05:10,853.853 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:05:10,893.893 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:05:10,958.958 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:05:10,961.961 INFO    ] No camera update needed
[2026-10-20 22:05:10,963.963 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:05:10,966.966 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:05:10,972.972 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:05:10,978.978 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:05:13,019.019 INFO    ] ================================================
[2026-10-20 22:05:13,034.034 INFO    ] Launching Daemon at Tue Oct 20 22:05:13 IST 2026
[2026-10-20 22:05:13,044.044 INFO    ] ================================================
[2026-10-20 22:05:13,670.670 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:05:13
[2026-10-20 22:05:14,266.266 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:05:14,542.542 INFO    ] Initializing speech engine...
[2026-10-20 22:05:14,549.549 INFO    ] 2026-10-20 22:05:14
[2026-10-20 22:05:14,811.811 INFO    ] 2026-10-20 22:05:14
[2026-10-20 22:05:14,866.866 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:05:15,093.093 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:05:15,098.098 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:05:15,272.272 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:05:15,326.326 INFO    ] time= 20/10/2026 22:05:15
[2026-10-20 22:05:15,360.360 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:05:15,376.376 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:05:15,512.512 INFO    ] No existing commands found in stream
[2026-10-20 22:05:20,539.539 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:05:20,542.542 INFO    ] Waiting 1.07 seconds before fallback handling...
[2026-10-20 22:05:22,156.156 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:05:22,159.159 INFO    ] Checking for system updates...
[2026-10-20 22:05:22,194.194 INFO    ] 200
[2026-10-20 22:05:22,197.197 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:05:22,253.253 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:05:22,256.256 INFO    ] No update needed
[2026-10-20 22:05:22,258.258 INFO    ] Checking for camera pi updates...
[2026-10-20 22:05:22,293.293 INFO    ] 200
[2026-10-20 22:05:22,296.296 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:05:22,339.339 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:05:22,385.385 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:05:22,388.388 INFO    ] No camera update needed
[2026-10-20 22:05:22,390.390 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:05:22,392.392 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:05:22,398.398 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:05:22,403.403 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:05:24,445.445 INFO    ] ================================================
[2026-10-20 22:05:24,461.461 INFO    ] Launching Daemon at Tue Oct 20 22:05:24 IST 2026
[2026-10-20 22:05:24,472.472 INFO    ] ================================================
[2026-10-20 22:05:25,063.063 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:05:25
[2026-10-20 22:05:25,678.678 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:05:25,948.948 INFO    ] Initializing speech engine...
[2026-10-20 22:05:25,965.965 INFO    ] 2026-10-20 22:05:25
[2026-10-20 22:05:26,258.258 INFO    ] 2026-10-20 22:05:26
[2026-10-20 22:05:26,298.298 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:05:26,505.505 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:05:26,562.562 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:05:26,707.707 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:05:26,760.760 INFO    ] time= 20/10/2026 22:05:26
[2026-10-20 22:05:26,814.814 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:05:26,844.844 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:05:26,973.973 INFO    ] No existing commands found in stream
[2026-10-20 22:05:32,006.006 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:05:32,009.009 INFO    ] Waiting 1.48 seconds before fallback handling...
[2026-10-20 22:05:33,961.961 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:05:33,963.963 INFO    ] Checking for system updates...
[2026-10-20 22:05:33,999.999 INFO    ] 200
[2026-10-20 22:05:34,002.002 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:05:34,055.055 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:05:34,057.057 INFO    ] No update needed
[2026-10-20 22:05:34,060.060 INFO    ] Checking for camera pi updates...
[2026-10-20 22:05:34,093.093 INFO    ] 200
[2026-10-20 22:05:34,096.096 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:05:34,135.135 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:05:34,182.182 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:05:34,184.184 INFO    ] No camera update needed
[2026-10-20 22:05:34,187.187 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:05:34,189.189 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:05:34,194.194 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:05:34,199.199 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:05:36,240.240 INFO    ] ================================================
[2026-10-20 22:05:36,256.256 INFO    ] Launching Daemon at Tue Oct 20 22:05:36 IST 2026
[2026-10-20 22:05:36,267.267 INFO    ] ================================================
[2026-10-20 22:05:36,872.872 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:05:36
[2026-10-20 22:05:37,453.453 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:05:37,711.711 INFO    ] Initializing speech engine...
[2026-10-20 22:05:37,730.730 INFO    ] 2026-10-20 22:05:37
[2026-10-20 22:05:37,981.981 INFO    ] 2026-10-20 22:05:37
[2026-10-20 22:05:38,009.009 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:05:38,265.265 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:05:38,271.271 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:05:38,410.410 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:05:38,470.470 INFO    ] time= 20/10/2026 22:05:38
[2026-10-20 22:05:38,530.530 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:05:38,539.539 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:05:38,687.687 INFO    ] No existing commands found in stream
[2026-10-20 22:05:43,716.716 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:05:43,720.720 INFO    ] Waiting 3.12 seconds before fallback handling...
[2026-10-20 22:05:47,391.391 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 22:05:47,395.395 INFO    ] Checking for system updates...
[2026-10-20 22:05:47,431.431 INFO    ] 200
[2026-10-20 22:05:47,434.434 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:05:47,487.487 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:05:47,490.490 INFO    ] No update needed
[2026-10-20 22:05:47,493.493 INFO    ] Checking for camera pi updates...
[2026-10-20 22:05:47,527.527 INFO    ] 200
[2026-10-20 22:05:47,530.530 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:05:47,572.572 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:05:47,628.628 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:05:47,631.631 INFO    ] No camera update needed
[2026-10-20 22:05:47,633.633 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:05:47,636.636 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:05:47,642.642 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:05:47,648.648 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:05:49,690.690 INFO    ] ================================================
[2026-10-20 22:05:49,706.706 INFO    ] Launching Daemon at Tue Oct 20 22:05:49 IST 2026
[2026-10-20 22:05:49,720.720 INFO    ] ================================================
[2026-10-20 22:05:50,373.373 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:05:50
[2026-10-20 22:05:51,043.043 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:05:51,351.351 INFO    ] Initializing speech engine...
[2026-10-20 22:05:51,362.362 INFO    ] 2026-10-20 22:05:51
[2026-10-20 22:05:51,646.646 INFO    ] 2026-10-20 22:05:51
[2026-10-20 22:05:51,685.685 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:05:51,964.964 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:05:51,974.974 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:05:52,166.166 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:05:52,175.175 INFO    ] time= 20/10/2026 22:05:52
[2026-10-20 22:05:52,193.193 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:05:52,222.222 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:05:52,338.338 INFO    ] No existing commands found in stream
[2026-10-20 22:05:57,363.363 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:05:57,367.367 INFO    ] Waiting 3.20 seconds before fallback handling...
[2026-10-20 22:06:01,107.107 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:06:01,110.110 INFO    ] Checking for system updates...
[2026-10-20 22:06:01,150.150 INFO    ] 200
[2026-10-20 22:06:01,153.153 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:06:01,212.212 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:06:01,215.215 INFO    ] No update needed
[2026-10-20 22:06:01,217.217 INFO    ] Checking for camera pi updates...
[2026-10-20 22:06:01,254.254 INFO    ] 200
[2026-10-20 22:06:01,257.257 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:06:01,298.298 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:06:01,353.353 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:06:01,356.356 INFO    ] No camera update needed
[2026-10-20 22:06:01,358.358 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:06:01,360.360 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:06:01,366.366 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:06:01,371.371 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:06:03,413.413 INFO    ] ================================================
[2026-10-20 22:06:03,431.431 INFO    ] Launching Daemon at Tue Oct 20 22:06:03 IST 2026
[2026-10-20 22:06:03,444.444 INFO    ] ================================================
[2026-10-20 22:06:04,017.017 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:06:04
[2026-10-20 22:06:04,601.601 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:06:04,873.873 INFO    ] Initializing speech engine...
[2026-10-20 22:06:04,878.878 INFO    ] 2026-10-20 22:06:04
[2026-10-20 22:06:05,124.124 INFO    ] 2026-10-20 22:06:05
[2026-10-20 22:06:05,158.158 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:06:05,411.411 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:06:05,419.419 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:06:05,552.552 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:06:05,600.600 INFO    ] time= 20/10/2026 22:06:05
[2026-10-20 22:06:05,649.649 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:06:05,686.686 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:06:05,826.826 INFO    ] No existing commands found in stream
[2026-10-20 22:06:10,847.847 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:06:10,850.850 INFO    ] Waiting 3.76 seconds before fallback handling...
[2026-10-20 22:06:15,093.093 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:06:15,095.095 INFO    ] Checking for system updates...
[2026-10-20 22:06:15,132.132 INFO    ] 200
[2026-10-20 22:06:15,134.134 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:06:15,186.186 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:06:15,188.188 INFO    ] No update needed
[2026-10-20 22:06:15,191.191 INFO    ] Checking for camera pi updates...
[2026-10-20 22:06:15,224.224 INFO    ] 200
[2026-10-20 22:06:15,226.226 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:06:15,266.266 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:06:15,312.312 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:06:15,314.314 INFO    ] No camera update needed
[2026-10-20 22:06:15,316.316 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:06:15,319.319 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:06:15,324.324 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:06:15,329.329 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:06:17,369.369 INFO    ] ================================================
[2026-10-20 22:06:17,385.385 INFO    ] Launching Daemon at Tue Oct 20 22:06:17 IST 2026
[2026-10-20 22:06:17,396.396 INFO    ] ================================================
[2026-10-20 22:06:18,037.037 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:06:18
[2026-10-20 22:06:18,697.697 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:06:19,001.001 INFO    ] Initializing speech engine...
[2026-10-20 22:06:19,013.013 INFO    ] 2026-10-20 22:06:19
[2026-10-20 22:06:19,319.319 INFO    ] 2026-10-20 22:06:19
[2026-10-20 22:06:19,404.404 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:06:19,623.623 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:06:19,684.684 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:06:19,836.836 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:06:19,864.864 INFO    ] time= 20/10/2026 22:06:19
[2026-10-20 22:06:19,872.872 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:06:19,882.882 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:06:19,991.991 INFO    ] No existing commands found in stream
[2026-10-20 22:06:25,022.022 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:06:25,025.025 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-10-20 22:06:25,657.657 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 22:06:25,660.660 INFO    ] Checking for system updates...
[2026-10-20 22:06:25,696.696 INFO    ] 200
[2026-10-20 22:06:25,698.698 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:06:25,749.749 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:06:25,752.752 INFO    ] No update needed
[2026-10-20 22:06:25,754.754 INFO    ] Checking for camera pi updates...
[2026-10-20 22:06:25,788.788 INFO    ] 200
[2026-10-20 22:06:25,790.790 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:06:25,834.834 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:06:25,885.885 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:06:25,887.887 INFO    ] No camera update needed
[2026-10-20 22:06:25,890.890 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:06:25,892.892 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:06:25,898.898 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:06:25,902.902 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:06:27,942.942 INFO    ] ================================================
[2026-10-20 22:06:27,958.958 INFO    ] Launching Daemon at Tue Oct 20 22:06:27 IST 2026
[2026-10-20 22:06:27,969.969 INFO    ] ================================================
[2026-10-20 22:06:28,536.536 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:06:28
[2026-10-20 22:06:29,123.123 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:06:29,412.412 INFO    ] Initializing speech engine...
[2026-10-20 22:06:29,422.422 INFO    ] 2026-10-20 22:06:29
[2026-10-20 22:06:29,682.682 INFO    ] 2026-10-20 22:06:29
[2026-10-20 22:06:29,719.719 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:06:29,941.941 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:06:30,005.005 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:06:30,160.160 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:06:30,192.192 INFO    ] time= 20/10/2026 22:06:30
[2026-10-20 22:06:30,241.241 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:06:30,285.285 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:06:30,439.439 INFO    ] No existing commands found in stream
[2026-10-20 22:06:35,456.456 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:06:35,459.459 INFO    ] Waiting 2.83 seconds before fallback handling...
[2026-10-20 22:06:38,827.827 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:06:38,830.830 INFO    ] Checking for system updates...
[2026-10-20 22:06:38,866.866 INFO    ] 200
[2026-10-20 22:06:38,869.869 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:06:38,920.920 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:06:38,922.922 INFO    ] No update needed
[2026-10-20 22:06:38,925.925 INFO    ] Checking for camera pi updates...
[2026-10-20 22:06:38,957.957 INFO    ] 200
[2026-10-20 22:06:38,960.960 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:06:39,001.001 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:06:39,052.052 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:06:39,055.055 INFO    ] No camera update needed
[2026-10-20 22:06:39,057.057 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:06:39,059.059 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:06:39,065.065 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:06:39,070.070 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:06:41,109.109 INFO    ] ================================================
[2026-10-20 22:06:41,125.125 INFO    ] Launching Daemon at Tue Oct 20 22:06:41 IST 2026
[2026-10-20 22:06:41,136.136 INFO    ] ================================================
[2026-10-20 22:06:41,722.722 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:06:41
[2026-10-20 22:06:42,327.327 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:06:42,601.601 INFO    ] Initializing speech engine...
[2026-10-20 22:06:42,611.611 INFO    ] 2026-10-20 22:06:42
[2026-10-20 22:06:42,924.924 INFO    ] 2026-10-20 22:06:42
[2026-10-20 22:06:43,006.006 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:06:43,221.221 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:06:43,229.229 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:06:43,424.424 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:06:43,441.441 INFO    ] time= 20/10/2026 22:06:43
[2026-10-20 22:06:43,448.448 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:06:43,478.478 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:06:43,607.607 INFO    ] No existing commands found in stream
[2026-10-20 22:06:48,643.643 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:06:48,646.646 INFO    ] Waiting 3.15 seconds before fallback handling...
[2026-10-20 22:06:52,345.345 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 22:06:52,348.348 INFO    ] Checking for system updates...
[2026-10-20 22:06:52,388.388 INFO    ] 200
[2026-10-20 22:06:52,391.391 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:06:52,450.450 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:06:52,453.453 INFO    ] No update needed
[2026-10-20 22:06:52,456.456 INFO    ] Checking for camera pi updates...
[2026-10-20 22:06:52,489.489 INFO    ] 200
[2026-10-20 22:06:52,492.492 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:06:52,532.532 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:06:52,581.581 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:06:52,584.584 INFO    ] No camera update needed
[2026-10-20 22:06:52,586.586 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:06:52,589.589 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:06:52,595.595 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:06:52,601.601 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:06:54,640.640 INFO    ] ================================================
[2026-10-20 22:06:54,656.656 INFO    ] Launching Daemon at Tue Oct 20 22:06:54 IST 2026
[2026-10-20 22:06:54,668.668 INFO    ] ================================================
[2026-10-20 22:06:55,237.237 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:06:55
[2026-10-20 22:06:55,818.818 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:06:56,085.085 INFO    ] Initializing speech engine...
[2026-10-20 22:06:56,093.093 INFO    ] 2026-10-20 22:06:56
[2026-10-20 22:06:56,340.340 INFO    ] 2026-10-20 22:06:56
[2026-10-20 22:06:56,374.374 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:06:56,624.624 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:06:56,633.633 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:06:56,834.834 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:06:56,879.879 INFO    ] time= 20/10/2026 22:06:56
[2026-10-20 22:06:56,897.897 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:06:56,911.911 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:06:57,043.043 INFO    ] No existing commands found in stream
[2026-10-20 22:07:02,057.057 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:07:02,060.060 INFO    ] Waiting 2.37 seconds before fallback handling...
[2026-10-20 22:07:04,926.926 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:07:04,928.928 INFO    ] Checking for system updates...
[2026-10-20 22:07:04,967.967 INFO    ] 200
[2026-10-20 22:07:04,969.969 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:07:05,026.026 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:07:05,029.029 INFO    ] No update needed
[2026-10-20 22:07:05,031.031 INFO    ] Checking for camera pi updates...
[2026-10-20 22:07:05,067.067 INFO    ] 200
[2026-10-20 22:07:05,070.070 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:07:05,113.113 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:07:05,159.159 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:07:05,161.161 INFO    ] No camera update needed
[2026-10-20 22:07:05,164.164 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:07:05,166.166 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:07:05,171.171 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:07:05,176.176 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:07:07,217.217 INFO    ] ================================================
[2026-10-20 22:07:07,233.233 INFO    ] Launching Daemon at Tue Oct 20 22:07:07 IST 2026
[2026-10-20 22:07:07,245.245 INFO    ] ================================================
[2026-10-20 22:07:07,879.879 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:07:07
[2026-10-20 22:07:08,471.471 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:07:08,745.745 INFO    ] Initializing speech engine...
[2026-10-20 22:07:08,753.753 INFO    ] 2026-10-20 22:07:08
[2026-10-20 22:07:09,009.009 INFO    ] 2026-10-20 22:07:09
[2026-10-20 22:07:09,063.063 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:07:09,344.344 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:07:09,352.352 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:07:09,547.547 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:07:09,554.554 INFO    ] time= 20/10/2026 22:07:09
[2026-10-20 22:07:09,572.572 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:07:09,579.579 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:07:09,708.708 INFO    ] No existing commands found in stream
[2026-10-20 22:07:14,731.731 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:07:14,734.734 INFO    ] Waiting 1.61 seconds before fallback handling...
[2026-10-20 22:07:16,887.887 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 22:07:16,890.890 INFO    ] Checking for system updates...
[2026-10-20 22:07:16,925.925 INFO    ] 200
[2026-10-20 22:07:16,928.928 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:07:16,984.984 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:07:16,987.987 INFO    ] No update needed
[2026-10-20 22:07:16,989.989 INFO    ] Checking for camera pi updates...
[2026-10-20 22:07:17,024.024 INFO    ] 200
[2026-10-20 22:07:17,027.027 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:07:17,074.074 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:07:17,125.125 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:07:17,127.127 INFO    ] No camera update needed
[2026-10-20 22:07:17,130.130 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:07:17,132.132 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:07:17,137.137 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:07:17,142.142 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:07:19,182.182 INFO    ] ================================================
[2026-10-20 22:07:19,197.197 INFO    ] Launching Daemon at Tue Oct 20 22:07:19 IST 2026
[2026-10-20 22:07:19,207.207 INFO    ] ================================================
[2026-10-20 22:07:19,775.775 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:07:19
[2026-10-20 22:07:20,360.360 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:07:20,633.633 INFO    ] Initializing speech engine...
[2026-10-20 22:07:20,639.639 INFO    ] 2026-10-20 22:07:20
[2026-10-20 22:07:20,897.897 INFO    ] 2026-10-20 22:07:20
[2026-10-20 22:07:20,927.927 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:07:21,202.202 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:07:21,208.208 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:07:21,362.362 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:07:21,432.432 INFO    ] time= 20/10/2026 22:07:21
[2026-10-20 22:07:21,489.489 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:07:21,521.521 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:07:21,669.669 INFO    ] No existing commands found in stream
[2026-10-20 22:07:26,694.694 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:07:26,697.697 INFO    ] Waiting 2.91 seconds before fallback handling...
[2026-10-20 22:07:30,071.071 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 22:07:30,073.073 INFO    ] Checking for system updates...
[2026-10-20 22:07:30,109.109 INFO    ] 200
[2026-10-20 22:07:30,112.112 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:07:30,164.164 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:07:30,166.166 INFO    ] No update needed
[2026-10-20 22:07:30,169.169 INFO    ] Checking for camera pi updates...
[2026-10-20 22:07:30,204.204 INFO    ] 200
[2026-10-20 22:07:30,207.207 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:07:30,250.250 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:07:30,297.297 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:07:30,300.300 INFO    ] No camera update needed
[2026-10-20 22:07:30,303.303 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:07:30,305.305 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:07:30,310.310 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:07:30,315.315 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:07:32,356.356 INFO    ] ================================================
[2026-10-20 22:07:32,379.379 INFO    ] Launching Daemon at Tue Oct 20 22:07:32 IST 2026
[2026-10-20 22:07:32,392.392 INFO    ] ================================================
[2026-10-20 22:07:32,990.990 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:07:32
[2026-10-20 22:07:33,615.615 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:07:33,903.903 INFO    ] Initializing speech engine...
[2026-10-20 22:07:33,913.913 INFO    ] 2026-10-20 22:07:33
[2026-10-20 22:07:34,177.177 INFO    ] 2026-10-20 22:07:34
[2026-10-20 22:07:34,231.231 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:07:34,460.460 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:07:34,466.466 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:07:34,695.695 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:07:34,723.723 INFO    ] time= 20/10/2026 22:07:34
[2026-10-20 22:07:34,741.741 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:07:34,770.770 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:07:34,910.910 INFO    ] No existing commands found in stream
[2026-10-20 22:07:39,941.941 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:07:39,944.944 INFO    ] Waiting 2.29 seconds before fallback handling...
[2026-10-20 22:07:42,758.758 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:07:42,761.761 INFO    ] Checking for system updates...
[2026-10-20 22:07:42,802.802 INFO    ] 200
[2026-10-20 22:07:42,804.804 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:07:42,856.856 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:07:42,859.859 INFO    ] No update needed
[2026-10-20 22:07:42,861.861 INFO    ] Checking for camera pi updates...
[2026-10-20 22:07:42,894.894 INFO    ] 200
[2026-10-20 22:07:42,896.896 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:07:42,940.940 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:07:42,984.984 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:07:42,987.987 INFO    ] No camera update needed
[2026-10-20 22:07:42,989.989 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:07:42,992.992 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:07:42,997.997 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:07:43,002.002 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:07:45,042.042 INFO    ] ================================================
[2026-10-20 22:07:45,057.057 INFO    ] Launching Daemon at Tue Oct 20 22:07:45 IST 2026
[2026-10-20 22:07:45,068.068 INFO    ] ================================================
[2026-10-20 22:07:45,701.701 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:07:45
[2026-10-20 22:07:46,351.351 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:07:46,646.646 INFO    ] Initializing speech engine...
[2026-10-20 22:07:46,652.652 INFO    ] 2026-10-20 22:07:46
[2026-10-20 22:07:46,922.922 INFO    ] 2026-10-20 22:07:46
[2026-10-20 22:07:46,979.979 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:07:47,231.231 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:07:47,249.249 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:07:47,465.465 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:07:47,472.472 INFO    ] time= 20/10/2026 22:07:47
[2026-10-20 22:07:47,494.494 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:07:47,522.522 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:07:47,715.715 INFO    ] No existing commands found in stream
[2026-10-20 22:07:52,736.736 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:07:52,739.739 INFO    ] Waiting 0.81 seconds before fallback handling...
[2026-10-20 22:07:54,054.054 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:07:54,056.056 INFO    ] Checking for system updates...
[2026-10-20 22:07:54,092.092 INFO    ] 200
[2026-10-20 22:07:54,094.094 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:07:54,151.151 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:07:54,154.154 INFO    ] No update needed
[2026-10-20 22:07:54,156.156 INFO    ] Checking for camera pi updates...
[2026-10-20 22:07:54,189.189 INFO    ] 200
[2026-10-20 22:07:54,192.192 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:07:54,231.231 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:07:54,279.279 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:07:54,281.281 INFO    ] No camera update needed
[2026-10-20 22:07:54,284.284 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:07:54,286.286 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:07:54,291.291 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:07:54,296.296 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:07:56,336.336 INFO    ] ================================================
[2026-10-20 22:07:56,351.351 INFO    ] Launching Daemon at Tue Oct 20 22:07:56 IST 2026
[2026-10-20 22:07:56,362.362 INFO    ] ================================================
[2026-10-20 22:07:56,947.947 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:07:56
[2026-10-20 22:07:57,550.550 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:07:57,831.831 INFO    ] Initializing speech engine...
[2026-10-20 22:07:57,837.837 INFO    ] 2026-10-20 22:07:57
[2026-10-20 22:07:58,086.086 INFO    ] 2026-10-20 22:07:58
[2026-10-20 22:07:58,128.128 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:07:58,403.403 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:07:58,408.408 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:07:58,628.628 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:07:58,647.647 INFO    ] time= 20/10/2026 22:07:58
[2026-10-20 22:07:58,662.662 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:07:58,668.668 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:07:58,800.800 INFO    ] No existing commands found in stream
[2026-10-20 22:08:03,820.820 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:08:03,823.823 INFO    ] Waiting 0.28 seconds before fallback handling...
[2026-10-20 22:08:04,600.600 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:08:04,603.603 INFO    ] Checking for system updates...
[2026-10-20 22:08:04,641.641 INFO    ] 200
[2026-10-20 22:08:04,643.643 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:08:04,696.696 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:08:04,698.698 INFO    ] No update needed
[2026-10-20 22:08:04,701.701 INFO    ] Checking for camera pi updates...
[2026-10-20 22:08:04,738.738 INFO    ] 200
[2026-10-20 22:08:04,741.741 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:08:04,784.784 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:08:04,842.842 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:08:04,845.845 INFO    ] No camera update needed
[2026-10-20 22:08:04,847.847 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:08:04,849.849 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:08:04,855.855 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:08:04,860.860 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:08:06,900.900 INFO    ] ================================================
[2026-10-20 22:08:06,915.915 INFO    ] Launching Daemon at Tue Oct 20 22:08:06 IST 2026
[2026-10-20 22:08:06,926.926 INFO    ] ================================================
[2026-10-20 22:08:07,499.499 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:08:07
[2026-10-20 22:08:08,083.083 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:08:08,350.350 INFO    ] Initializing speech engine...
[2026-10-20 22:08:08,360.360 INFO    ] 2026-10-20 22:08:08
[2026-10-20 22:08:08,606.606 INFO    ] 2026-10-20 22:08:08
[2026-10-20 22:08:08,641.641 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:08:08,891.891 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:08:08,900.900 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:08:09,039.039 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:08:09,104.104 INFO    ] time= 20/10/2026 22:08:09
[2026-10-20 22:08:09,159.159 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:08:09,166.166 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:08:09,311.311 INFO    ] No existing commands found in stream
[2026-10-20 22:08:14,323.323 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:08:14,325.325 INFO    ] Waiting 3.34 seconds before fallback handling...
[2026-10-20 22:08:18,141.141 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 22:08:18,143.143 INFO    ] Checking for system updates...
[2026-10-20 22:08:18,178.178 INFO    ] 200
[2026-10-20 22:08:18,181.181 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:08:18,232.232 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:08:18,235.235 INFO    ] No update needed
[2026-10-20 22:08:18,237.237 INFO    ] Checking for camera pi updates...
[2026-10-20 22:08:18,273.273 INFO    ] 200
[2026-10-20 22:08:18,275.275 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:08:18,315.315 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:08:18,362.362 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:08:18,364.364 INFO    ] No camera update needed
[2026-10-20 22:08:18,367.367 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:08:18,369.369 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:08:18,374.374 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:08:18,380.380 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:08:20,420.420 INFO    ] ================================================
[2026-10-20 22:08:20,435.435 INFO    ] Launching Daemon at Tue Oct 20 22:08:20 IST 2026
[2026-10-20 22:08:20,446.446 INFO    ] ================================================
[2026-10-20 22:08:21,028.028 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:08:21
[2026-10-20 22:08:21,627.627 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:08:21,905.905 INFO    ] Initializing speech engine...
[2026-10-20 22:08:21,915.915 INFO    ] 2026-10-20 22:08:21
[2026-10-20 22:08:22,161.161 INFO    ] 2026-10-20 22:08:22
[2026-10-20 22:08:22,195.195 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:08:22,448.448 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:08:22,457.457 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:08:22,592.592 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:08:22,652.652 INFO    ] time= 20/10/2026 22:08:22
[2026-10-20 22:08:22,701.701 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:08:22,726.726 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:08:22,853.853 INFO    ] No existing commands found in stream
[2026-10-20 22:08:27,881.881 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:08:27,884.884 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-10-20 22:08:28,454.454 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:08:28,457.457 INFO    ] Checking for system updates...
[2026-10-20 22:08:28,500.500 INFO    ] 200
[2026-10-20 22:08:28,503.503 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:08:28,558.558 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:08:28,562.562 INFO    ] No update needed
[2026-10-20 22:08:28,565.565 INFO    ] Checking for camera pi updates...
[2026-10-20 22:08:28,603.603 INFO    ] 200
[2026-10-20 22:08:28,605.605 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:08:28,658.658 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:08:28,704.704 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:08:28,707.707 INFO    ] No camera update needed
[2026-10-20 22:08:28,710.710 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:08:28,712.712 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:08:28,718.718 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:08:28,724.724 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:08:30,764.764 INFO    ] ================================================
[2026-10-20 22:08:30,779.779 INFO    ] Launching Daemon at Tue Oct 20 22:08:30 IST 2026
[2026-10-20 22:08:30,790.790 INFO    ] ================================================
[2026-10-20 22:08:31,357.357 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:08:31
[2026-10-20 22:08:31,971.971 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:08:32,251.251 INFO    ] Initializing speech engine...
[2026-10-20 22:08:32,271.271 INFO    ] 2026-10-20 22:08:32
[2026-10-20 22:08:32,543.543 INFO    ] 2026-10-20 22:08:32
[2026-10-20 22:08:32,584.584 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:08:32,875.875 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:08:32,890.890 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:08:33,025.025 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:08:33,046.046 INFO    ] time= 20/10/2026 22:08:33
[2026-10-20 22:08:33,106.106 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:08:33,158.158 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:08:33,286.286 INFO    ] No existing commands found in stream
[2026-10-20 22:08:38,313.313 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:08:38,316.316 INFO    ] Waiting 1.88 seconds before fallback handling...
[2026-10-20 22:08:40,688.688 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:08:40,691.691 INFO    ] Checking for system updates...
[2026-10-20 22:08:40,727.727 INFO    ] 200
[2026-10-20 22:08:40,729.729 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:08:40,781.781 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:08:40,783.783 INFO    ] No update needed
[2026-10-20 22:08:40,786.786 INFO    ] Checking for camera pi updates...
[2026-10-20 22:08:40,821.821 INFO    ] 200
[2026-10-20 22:08:40,824.824 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:08:40,867.867 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:08:40,918.918 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:08:40,921.921 INFO    ] No camera update needed
[2026-10-20 22:08:40,924.924 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:08:40,927.927 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:08:40,932.932 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:08:40,937.937 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:08:42,977.977 INFO    ] ================================================
[2026-10-20 22:08:42,992.992 INFO    ] Launching Daemon at Tue Oct 20 22:08:42 IST 2026
[2026-10-20 22:08:43,003.003 INFO    ] ================================================
[2026-10-20 22:08:43,572.572 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:08:43
[2026-10-20 22:08:44,158.158 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:08:44,427.427 INFO    ] Initializing speech engine...
[2026-10-20 22:08:44,437.437 INFO    ] 2026-10-20 22:08:44
[2026-10-20 22:08:44,686.686 INFO    ] 2026-10-20 22:08:44
[2026-10-20 22:08:44,721.721 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:08:44,977.977 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:08:44,986.986 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:08:45,123.123 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:08:45,178.178 INFO    ] time= 20/10/2026 22:08:45
[2026-10-20 22:08:45,237.237 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:08:45,257.257 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:08:45,409.409 INFO    ] No existing commands found in stream
[2026-10-20 22:08:50,420.420 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:08:50,423.423 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-10-20 22:08:53,264.264 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:08:53,267.267 INFO    ] Checking for system updates...
[2026-10-20 22:08:53,303.303 INFO    ] 200
[2026-10-20 22:08:53,306.306 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:08:53,359.359 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:08:53,362.362 INFO    ] No update needed
[2026-10-20 22:08:53,364.364 INFO    ] Checking for camera pi updates...
[2026-10-20 22:08:53,398.398 INFO    ] 200
[2026-10-20 22:08:53,400.400 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:08:53,441.441 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:08:53,488.488 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:08:53,491.491 INFO    ] No camera update needed
[2026-10-20 22:08:53,494.494 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:08:53,496.496 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:08:53,502.502 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:08:53,507.507 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:08:55,548.548 INFO    ] ================================================
[2026-10-20 22:08:55,564.564 INFO    ] Launching Daemon at Tue Oct 20 22:08:55 IST 2026
[2026-10-20 22:08:55,575.575 INFO    ] ================================================
[2026-10-20 22:08:56,143.143 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:08:56
[2026-10-20 22:08:56,727.727 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:08:57,005.005 INFO    ] Initializing speech engine...
[2026-10-20 22:08:57,013.013 INFO    ] 2026-10-20 22:08:57
[2026-10-20 22:08:57,269.269 INFO    ] 2026-10-20 22:08:57
[2026-10-20 22:08:57,306.306 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:08:57,506.506 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:08:57,523.523 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:08:57,718.718 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:08:57,729.729 INFO    ] time= 20/10/2026 22:08:57
[2026-10-20 22:08:57,789.789 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:08:57,843.843 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:08:57,979.979 INFO    ] No existing commands found in stream
[2026-10-20 22:09:03,001.001 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:09:03,004.004 INFO    ] Waiting 2.83 seconds before fallback handling...
[2026-10-20 22:09:06,337.337 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:09:06,340.340 INFO    ] Checking for system updates...
[2026-10-20 22:09:06,378.378 INFO    ] 200
[2026-10-20 22:09:06,381.381 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:09:06,433.433 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:09:06,435.435 INFO    ] No update needed
[2026-10-20 22:09:06,437.437 INFO    ] Checking for camera pi updates...
[2026-10-20 22:09:06,474.474 INFO    ] 200
[2026-10-20 22:09:06,477.477 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:09:06,524.524 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:09:06,670.670 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:09:06,673.673 INFO    ] No camera update needed
[2026-10-20 22:09:06,675.675 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:09:06,677.677 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:09:06,682.682 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:09:06,687.687 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:09:08,727.727 INFO    ] ================================================
[2026-10-20 22:09:08,743.743 INFO    ] Launching Daemon at Tue Oct 20 22:09:08 IST 2026
[2026-10-20 22:09:08,754.754 INFO    ] ================================================
[2026-10-20 22:09:09,391.391 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:09:09
[2026-10-20 22:09:10,048.048 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:09:10,345.345 INFO    ] Initializing speech engine...
[2026-10-20 22:09:10,354.354 INFO    ] 2026-10-20 22:09:10
[2026-10-20 22:09:10,627.627 INFO    ] 2026-10-20 22:09:10
[2026-10-20 22:09:10,687.687 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:09:10,919.919 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:09:10,928.928 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:09:11,076.076 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:09:11,121.121 INFO    ] time= 20/10/2026 22:09:11
[2026-10-20 22:09:11,176.176 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:09:11,221.221 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:09:11,363.363 INFO    ] No existing commands found in stream
[2026-10-20 22:09:16,383.383 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:09:16,386.386 INFO    ] Waiting 2.23 seconds before fallback handling...
[2026-10-20 22:09:19,101.101 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 22:09:19,104.104 INFO    ] Checking for system updates...
[2026-10-20 22:09:19,140.140 INFO    ] 200
[2026-10-20 22:09:19,142.142 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:09:19,200.200 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:09:19,203.203 INFO    ] No update needed
[2026-10-20 22:09:19,205.205 INFO    ] Checking for camera pi updates...
[2026-10-20 22:09:19,242.242 INFO    ] 200
[2026-10-20 22:09:19,245.245 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:09:19,285.285 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:09:19,335.335 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:09:19,338.338 INFO    ] No camera update needed
[2026-10-20 22:09:19,340.340 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:09:19,343.343 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:09:19,349.349 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:09:19,355.355 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:09:21,394.394 INFO    ] ================================================
[2026-10-20 22:09:21,410.410 INFO    ] Launching Daemon at Tue Oct 20 22:09:21 IST 2026
[2026-10-20 22:09:21,422.422 INFO    ] ================================================
[2026-10-20 22:09:21,987.987 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:09:21
[2026-10-20 22:09:22,569.569 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:09:22,828.828 INFO    ] Initializing speech engine...
[2026-10-20 22:09:22,841.841 INFO    ] 2026-10-20 22:09:22
[2026-10-20 22:09:23,117.117 INFO    ] 2026-10-20 22:09:23
[2026-10-20 22:09:23,151.151 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:09:23,354.354 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:09:23,372.372 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:09:23,518.518 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:09:23,524.524 INFO    ] time= 20/10/2026 22:09:23
[2026-10-20 22:09:23,530.530 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:09:23,581.581 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:09:23,720.720 INFO    ] No existing commands found in stream
[2026-10-20 22:09:28,750.750 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:09:28,752.752 INFO    ] Waiting 0.77 seconds before fallback handling...
[2026-10-20 22:09:30,056.056 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:09:30,059.059 INFO    ] Checking for system updates...
[2026-10-20 22:09:30,096.096 INFO    ] 200
[2026-10-20 22:09:30,099.099 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:09:30,151.151 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:09:30,153.153 INFO    ] No update needed
[2026-10-20 22:09:30,155.155 INFO    ] Checking for camera pi updates...
[2026-10-20 22:09:30,192.192 INFO    ] 200
[2026-10-20 22:09:30,195.195 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:09:30,238.238 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:09:30,281.281 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:09:30,284.284 INFO    ] No camera update needed
[2026-10-20 22:09:30,286.286 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:09:30,288.288 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:09:30,294.294 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:09:30,299.299 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:09:32,340.340 INFO    ] ================================================
[2026-10-20 22:09:32,356.356 INFO    ] Launching Daemon at Tue Oct 20 22:09:32 IST 2026
[2026-10-20 22:09:32,369.369 INFO    ] ================================================
[2026-10-20 22:09:32,995.995 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:09:32
[2026-10-20 22:09:33,647.647 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:09:33,945.945 INFO    ] Initializing speech engine...
[2026-10-20 22:09:33,957.957 INFO    ] 2026-10-20 22:09:33
[2026-10-20 22:09:34,234.234 INFO    ] 2026-10-20 22:09:34
[2026-10-20 22:09:34,277.277 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:09:34,559.559 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:09:34,568.568 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:09:34,756.756 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:09:34,772.772 INFO    ] time= 20/10/2026 22:09:34
[2026-10-20 22:09:34,790.790 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:09:34,819.819 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:09:34,926.926 INFO    ] No existing commands found in stream
[2026-10-20 22:09:39,947.947 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:09:39,951.951 INFO    ] Waiting 0.65 seconds before fallback handling...
[2026-10-20 22:09:41,132.132 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:09:41,135.135 INFO    ] Checking for system updates...
[2026-10-20 22:09:41,172.172 INFO    ] 200
[2026-10-20 22:09:41,175.175 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:09:41,233.233 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:09:41,235.235 INFO    ] No update needed
[2026-10-20 22:09:41,238.238 INFO    ] Checking for camera pi updates...
[2026-10-20 22:09:41,273.273 INFO    ] 200
[2026-10-20 22:09:41,276.276 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:09:41,317.317 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:09:41,363.363 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:09:41,366.366 INFO    ] No camera update needed
[2026-10-20 22:09:41,368.368 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:09:41,371.371 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:09:41,377.377 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:09:41,383.383 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:09:43,423.423 INFO    ] ================================================
[2026-10-20 22:09:43,439.439 INFO    ] Launching Daemon at Tue Oct 20 22:09:43 IST 2026
[2026-10-20 22:09:43,450.450 INFO    ] ================================================
[2026-10-20 22:09:44,017.017 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:09:44
[2026-10-20 22:09:44,601.601 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:09:44,856.856 INFO    ] Initializing speech engine...
[2026-10-20 22:09:44,869.869 INFO    ] 2026-10-20 22:09:44
[2026-10-20 22:09:45,150.150 INFO    ] 2026-10-20 22:09:45
[2026-10-20 22:09:45,184.184 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:09:45,405.405 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:09:45,468.468 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:09:45,657.657 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:09:45,723.723 INFO    ] time= 20/10/2026 22:09:45
[2026-10-20 22:09:45,768.768 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:09:45,775.775 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:09:45,918.918 INFO    ] No existing commands found in stream
[2026-10-20 22:09:50,944.944 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:09:50,946.946 INFO    ] Waiting 2.61 seconds before fallback handling...
[2026-10-20 22:09:54,097.097 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:09:54,100.100 INFO    ] Checking for system updates...
[2026-10-20 22:09:54,140.140 INFO    ] 200
[2026-10-20 22:09:54,142.142 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:09:54,197.197 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:09:54,200.200 INFO    ] No update needed
[2026-10-20 22:09:54,203.203 INFO    ] Checking for camera pi updates...
[2026-10-20 22:09:54,238.238 INFO    ] 200
[2026-10-20 22:09:54,241.241 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:09:54,282.282 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:09:54,331.331 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:09:54,334.334 INFO    ] No camera update needed
[2026-10-20 22:09:54,336.336 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:09:54,339.339 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:09:54,345.345 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:09:54,350.350 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:09:56,391.391 INFO    ] ================================================
[2026-10-20 22:09:56,407.407 INFO    ] Launching Daemon at Tue Oct 20 22:09:56 IST 2026
[2026-10-20 22:09:56,417.417 INFO    ] ================================================
[2026-10-20 22:09:56,984.984 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:09:56
[2026-10-20 22:09:57,571.571 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:09:57,825.825 INFO    ] Initializing speech engine...
[2026-10-20 22:09:57,834.834 INFO    ] 2026-10-20 22:09:57
[2026-10-20 22:09:58,119.119 INFO    ] 2026-10-20 22:09:58
[2026-10-20 22:09:58,156.156 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:09:58,367.367 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:09:58,392.392 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:09:58,590.590 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:09:58,615.615 INFO    ] time= 20/10/2026 22:09:58
[2026-10-20 22:09:58,674.674 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:09:58,713.713 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:09:58,795.795 INFO    ] No existing commands found in stream
[2026-10-20 22:10:03,807.807 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:10:03,810.810 INFO    ] Waiting 1.31 seconds before fallback handling...
[2026-10-20 22:10:08,662.662 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:10:08,664.664 INFO    ] Checking for system updates...
[2026-10-20 22:10:08,702.702 INFO    ] 200
[2026-10-20 22:10:08,705.705 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:10:08,758.758 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:10:08,760.760 INFO    ] No update needed
[2026-10-20 22:10:08,763.763 INFO    ] Checking for camera pi updates...
[2026-10-20 22:10:08,796.796 INFO    ] 200
[2026-10-20 22:10:08,799.799 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:10:08,839.839 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:10:08,872.872 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:10:08,874.874 INFO    ] No camera update needed
[2026-10-20 22:10:08,876.876 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:10:08,879.879 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:10:08,884.884 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:10:08,889.889 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:10:10,929.929 INFO    ] ================================================
[2026-10-20 22:10:10,944.944 INFO    ] Launching Daemon at Tue Oct 20 22:10:10 IST 2026
[2026-10-20 22:10:10,955.955 INFO    ] ================================================
[2026-10-20 22:10:11,520.520 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:10:11
[2026-10-20 22:10:12,103.103 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:10:12,361.361 INFO    ] Initializing speech engine...
[2026-10-20 22:10:12,380.380 INFO    ] 2026-10-20 22:10:12
[2026-10-20 22:10:12,625.625 INFO    ] 2026-10-20 22:10:12
[2026-10-20 22:10:12,666.666 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:10:12,915.915 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:10:12,920.920 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:10:13,123.123 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:10:13,177.177 INFO    ] time= 20/10/2026 22:10:13
[2026-10-20 22:10:13,184.184 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:10:13,199.199 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:10:13,332.332 INFO    ] No existing commands found in stream
[2026-10-20 22:10:18,350.350 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:10:18,353.353 INFO    ] Waiting 2.37 seconds before fallback handling...
[2026-10-20 22:10:21,191.191 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:10:21,193.193 INFO    ] Checking for system updates...
[2026-10-20 22:10:21,229.229 INFO    ] 200
[2026-10-20 22:10:21,232.232 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:10:21,288.288 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:10:21,291.291 INFO    ] No update needed
[2026-10-20 22:10:21,293.293 INFO    ] Checking for camera pi updates...
[2026-10-20 22:10:21,326.326 INFO    ] 200
[2026-10-20 22:10:21,328.328 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:10:21,370.370 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:10:21,420.420 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:10:21,422.422 INFO    ] No camera update needed
[2026-10-20 22:10:21,424.424 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:10:21,427.427 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:10:21,432.432 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:10:21,437.437 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:10:23,477.477 INFO    ] ================================================
[2026-10-20 22:10:23,492.492 INFO    ] Launching Daemon at Tue Oct 20 22:10:23 IST 2026
[2026-10-20 22:10:23,503.503 INFO    ] ================================================
[2026-10-20 22:10:24,107.107 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:10:24
[2026-10-20 22:10:24,761.761 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:10:25,039.039 INFO    ] Initializing speech engine...
[2026-10-20 22:10:25,045.045 INFO    ] 2026-10-20 22:10:25
[2026-10-20 22:10:25,322.322 INFO    ] 2026-10-20 22:10:25
[2026-10-20 22:10:25,363.363 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:10:25,610.610 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:10:25,615.615 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:10:25,817.817 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:10:25,848.848 INFO    ] time= 20/10/2026 22:10:25
[2026-10-20 22:10:25,854.854 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:10:25,872.872 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:10:26,003.003 INFO    ] No existing commands found in stream
[2026-10-20 22:10:31,017.017 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:10:31,020.020 INFO    ] Waiting 3.06 seconds before fallback handling...
[2026-10-20 22:10:34,586.586 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 22:10:34,589.589 INFO    ] Checking for system updates...
[2026-10-20 22:10:34,625.625 INFO    ] 200
[2026-10-20 22:10:34,627.627 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:10:34,679.679 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:10:34,681.681 INFO    ] No update needed
[2026-10-20 22:10:34,683.683 INFO    ] Checking for camera pi updates...
[2026-10-20 22:10:34,719.719 INFO    ] 200
[2026-10-20 22:10:34,722.722 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:10:34,762.762 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:10:34,815.815 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:10:34,818.818 INFO    ] No camera update needed
[2026-10-20 22:10:34,820.820 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:10:34,823.823 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:10:34,828.828 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:10:34,833.833 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:10:36,873.873 INFO    ] ================================================
[2026-10-20 22:10:36,888.888 INFO    ] Launching Daemon at Tue Oct 20 22:10:36 IST 2026
[2026-10-20 22:10:36,899.899 INFO    ] ================================================
[2026-10-20 22:10:37,481.481 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:10:37
[2026-10-20 22:10:38,068.068 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:10:38,338.338 INFO    ] Initializing speech engine...
[2026-10-20 22:10:38,347.347 INFO    ] 2026-10-20 22:10:38
[2026-10-20 22:10:38,604.604 INFO    ] 2026-10-20 22:10:38
[2026-10-20 22:10:38,633.633 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:10:38,877.877 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:10:38,887.887 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:10:39,093.093 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:10:39,144.144 INFO    ] time= 20/10/2026 22:10:39
[2026-10-20 22:10:39,150.150 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:10:39,168.168 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:10:39,312.312 INFO    ] No existing commands found in stream
[2026-10-20 22:10:44,339.339 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:10:44,341.341 INFO    ] Waiting 0.56 seconds before fallback handling...
[2026-10-20 22:10:45,405.405 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:10:45,408.408 INFO    ] Checking for system updates...
[2026-10-20 22:10:45,443.443 INFO    ] 200
[2026-10-20 22:10:45,445.445 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:10:45,502.502 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:10:45,505.505 INFO    ] No update needed
[2026-10-20 22:10:45,507.507 INFO    ] Checking for camera pi updates...
[2026-10-20 22:10:45,541.541 INFO    ] 200
[2026-10-20 22:10:45,544.544 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:10:45,584.584 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:10:45,632.632 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:10:45,634.634 INFO    ] No camera update needed
[2026-10-20 22:10:45,637.637 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:10:45,639.639 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:10:45,644.644 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:10:45,649.649 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:10:47,690.690 INFO    ] ================================================
[2026-10-20 22:10:47,706.706 INFO    ] Launching Daemon at Tue Oct 20 22:10:47 IST 2026
[2026-10-20 22:10:47,716.716 INFO    ] ================================================
[2026-10-20 22:10:48,283.283 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:10:48
[2026-10-20 22:10:48,866.866 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:10:49,137.137 INFO    ] Initializing speech engine...
[2026-10-20 22:10:49,146.146 INFO    ] 2026-10-20 22:10:49
[2026-10-20 22:10:49,396.396 INFO    ] 2026-10-20 22:10:49
[2026-10-20 22:10:49,432.432 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:10:49,701.701 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:10:49,712.712 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:10:49,861.861 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:10:49,868.868 INFO    ] time= 20/10/2026 22:10:49
[2026-10-20 22:10:49,937.937 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:10:49,992.992 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:10:50,126.126 INFO    ] No existing commands found in stream
[2026-10-20 22:10:55,147.147 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:10:55,150.150 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-10-20 22:10:59,030.030 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:10:59,033.033 INFO    ] Checking for system updates...
[2026-10-20 22:10:59,068.068 INFO    ] 200
[2026-10-20 22:10:59,071.071 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:10:59,127.127 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:10:59,130.130 INFO    ] No update needed
[2026-10-20 22:10:59,132.132 INFO    ] Checking for camera pi updates...
[2026-10-20 22:10:59,169.169 INFO    ] 200
[2026-10-20 22:10:59,172.172 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:10:59,213.213 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:10:59,258.258 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:10:59,261.261 INFO    ] No camera update needed
[2026-10-20 22:10:59,263.263 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:10:59,266.266 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:10:59,271.271 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:10:59,276.276 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:11:01,316.316 INFO    ] ================================================
[2026-10-20 22:11:01,331.331 INFO    ] Launching Daemon at Tue Oct 20 22:11:01 IST 2026
[2026-10-20 22:11:01,341.341 INFO    ] ================================================
[2026-10-20 22:11:02,071.071 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:11:02
[2026-10-20 22:11:02,743.743 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:11:03,074.074 INFO    ] Initializing speech engine...
[2026-10-20 22:11:03,100.100 INFO    ] 2026-10-20 22:11:03
[2026-10-20 22:11:03,384.384 INFO    ] 2026-10-20 22:11:03
[2026-10-20 22:11:03,424.424 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:11:03,640.640 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:11:03,695.695 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:11:03,849.849 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:11:03,909.909 INFO    ] time= 20/10/2026 22:11:03
[2026-10-20 22:11:03,963.963 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:11:03,979.979 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:11:04,109.109 INFO    ] No existing commands found in stream
[2026-10-20 22:11:09,136.136 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:11:09,139.139 INFO    ] Waiting 1.48 seconds before fallback handling...
[2026-10-20 22:11:11,147.147 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:11:11,150.150 INFO    ] Checking for system updates...
[2026-10-20 22:11:11,190.190 INFO    ] 200
[2026-10-20 22:11:11,193.193 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:11:11,256.256 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:11:11,258.258 INFO    ] No update needed
[2026-10-20 22:11:11,261.261 INFO    ] Checking for camera pi updates...
[2026-10-20 22:11:11,298.298 INFO    ] 200
[2026-10-20 22:11:11,301.301 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:11:11,342.342 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:11:11,490.490 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:11:11,493.493 INFO    ] No camera update needed
[2026-10-20 22:11:11,496.496 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:11:11,498.498 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:11:11,504.504 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:11:11,510.510 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:11:13,552.552 INFO    ] ================================================
[2026-10-20 22:11:13,567.567 INFO    ] Launching Daemon at Tue Oct 20 22:11:13 IST 2026
[2026-10-20 22:11:13,578.578 INFO    ] ================================================
[2026-10-20 22:11:14,214.214 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:11:14
[2026-10-20 22:11:14,830.830 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:11:15,098.098 INFO    ] Initializing speech engine...
[2026-10-20 22:11:15,107.107 INFO    ] 2026-10-20 22:11:15
[2026-10-20 22:11:15,352.352 INFO    ] 2026-10-20 22:11:15
[2026-10-20 22:11:15,386.386 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:11:15,635.635 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:11:15,644.644 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:11:15,779.779 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:11:15,839.839 INFO    ] time= 20/10/2026 22:11:15
[2026-10-20 22:11:15,893.893 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:11:15,909.909 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:11:16,053.053 INFO    ] No existing commands found in stream
[2026-10-20 22:11:21,069.069 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:11:21,072.072 INFO    ] Waiting 2.44 seconds before fallback handling...
[2026-10-20 22:11:24,032.032 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:11:24,034.034 INFO    ] Checking for system updates...
[2026-10-20 22:11:24,073.073 INFO    ] 200
[2026-10-20 22:11:24,075.075 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:11:24,128.128 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:11:24,131.131 INFO    ] No update needed
[2026-10-20 22:11:24,133.133 INFO    ] Checking for camera pi updates...
[2026-10-20 22:11:24,166.166 INFO    ] 200
[2026-10-20 22:11:24,169.169 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:11:24,208.208 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:11:24,255.255 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:11:24,258.258 INFO    ] No camera update needed
[2026-10-20 22:11:24,260.260 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:11:24,263.263 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:11:24,268.268 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:11:24,273.273 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:11:26,313.313 INFO    ] ================================================
[2026-10-20 22:11:26,328.328 INFO    ] Launching Daemon at Tue Oct 20 22:11:26 IST 2026
[2026-10-20 22:11:26,339.339 INFO    ] ================================================
[2026-10-20 22:11:26,941.941 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:11:26
[2026-10-20 22:11:27,572.572 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:11:27,875.875 INFO    ] Initializing speech engine...
[2026-10-20 22:11:27,883.883 INFO    ] 2026-10-20 22:11:27
[2026-10-20 22:11:28,155.155 INFO    ] 2026-10-20 22:11:28
[2026-10-20 22:11:28,212.212 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:11:28,443.443 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:11:28,449.449 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:11:28,683.683 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:11:28,707.707 INFO    ] time= 20/10/2026 22:11:28
[2026-10-20 22:11:28,725.725 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:11:28,734.734 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:11:28,862.862 INFO    ] No existing commands found in stream
[2026-10-20 22:11:33,876.876 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:11:33,880.880 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-10-20 22:11:36,188.188 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 22:11:36,191.191 INFO    ] Checking for system updates...
[2026-10-20 22:11:36,228.228 INFO    ] 200
[2026-10-20 22:11:36,231.231 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:11:36,291.291 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:11:36,294.294 INFO    ] No update needed
[2026-10-20 22:11:36,296.296 INFO    ] Checking for camera pi updates...
[2026-10-20 22:11:36,331.331 INFO    ] 200
[2026-10-20 22:11:36,334.334 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:11:36,376.376 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:11:36,432.432 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:11:36,435.435 INFO    ] No camera update needed
[2026-10-20 22:11:36,437.437 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:11:36,440.440 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:11:36,446.446 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:11:36,452.452 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:11:38,492.492 INFO    ] ================================================
[2026-10-20 22:11:38,507.507 INFO    ] Launching Daemon at Tue Oct 20 22:11:38 IST 2026
[2026-10-20 22:11:38,517.517 INFO    ] ================================================
[2026-10-20 22:11:39,084.084 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:11:39
[2026-10-20 22:11:39,666.666 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:11:39,934.934 INFO    ] Initializing speech engine...
[2026-10-20 22:11:39,943.943 INFO    ] 2026-10-20 22:11:39
[2026-10-20 22:11:40,190.190 INFO    ] 2026-10-20 22:11:40
[2026-10-20 22:11:40,226.226 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:11:40,482.482 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:11:40,487.487 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:11:40,698.698 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:11:40,743.743 INFO    ] time= 20/10/2026 22:11:40
[2026-10-20 22:11:40,750.750 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:11:40,767.767 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:11:40,912.912 INFO    ] No existing commands found in stream
[2026-10-20 22:11:45,938.938 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:11:45,941.941 INFO    ] Waiting 2.08 seconds before fallback handling...
[2026-10-20 22:11:48,520.520 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:11:48,523.523 INFO    ] Checking for system updates...
[2026-10-20 22:11:48,558.558 INFO    ] 200
[2026-10-20 22:11:48,560.560 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:11:48,621.621 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:11:48,624.624 INFO    ] No update needed
[2026-10-20 22:11:48,626.626 INFO    ] Checking for camera pi updates...
[2026-10-20 22:11:48,659.659 INFO    ] 200
[2026-10-20 22:11:48,662.662 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:11:48,702.702 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:11:48,750.750 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:11:48,753.753 INFO    ] No camera update needed
[2026-10-20 22:11:48,755.755 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:11:48,758.758 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:11:48,763.763 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:11:48,768.768 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:11:50,807.807 INFO    ] ================================================
[2026-10-20 22:11:50,822.822 INFO    ] Launching Daemon at Tue Oct 20 22:11:50 IST 2026
[2026-10-20 22:11:50,833.833 INFO    ] ================================================
[2026-10-20 22:11:51,414.414 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:11:51
[2026-10-20 22:11:52,011.011 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:11:52,296.296 INFO    ] Initializing speech engine...
[2026-10-20 22:11:52,304.304 INFO    ] 2026-10-20 22:11:52
[2026-10-20 22:11:52,593.593 INFO    ] 2026-10-20 22:11:52
[2026-10-20 22:11:52,633.633 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:11:52,859.859 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:11:52,864.864 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:11:53,062.062 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:11:53,112.112 INFO    ] time= 20/10/2026 22:11:53
[2026-10-20 22:11:53,131.131 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:11:53,151.151 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:11:53,284.284 INFO    ] No existing commands found in stream
[2026-10-20 22:11:58,306.306 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:11:58,309.309 INFO    ] Waiting 1.14 seconds before fallback handling...
[2026-10-20 22:11:59,943.943 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:11:59,946.946 INFO    ] Checking for system updates...
[2026-10-20 22:11:59,982.982 INFO    ] 200
[2026-10-20 22:11:59,985.985 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:12:00,044.044 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:12:00,046.046 INFO    ] No update needed
[2026-10-20 22:12:00,049.049 INFO    ] Checking for camera pi updates...
[2026-10-20 22:12:00,084.084 INFO    ] 200
[2026-10-20 22:12:00,086.086 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:12:00,127.127 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:12:00,178.178 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:12:00,181.181 INFO    ] No camera update needed
[2026-10-20 22:12:00,183.183 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:12:00,186.186 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:12:00,192.192 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:12:00,198.198 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:12:02,242.242 INFO    ] ================================================
[2026-10-20 22:12:02,262.262 INFO    ] Launching Daemon at Tue Oct 20 22:12:02 IST 2026
[2026-10-20 22:12:02,278.278 INFO    ] ================================================
[2026-10-20 22:12:02,957.957 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:12:02
[2026-10-20 22:12:03,608.608 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:12:03,882.882 INFO    ] Initializing speech engine...
[2026-10-20 22:12:03,891.891 INFO    ] 2026-10-20 22:12:03
[2026-10-20 22:12:04,142.142 INFO    ] 2026-10-20 22:12:04
[2026-10-20 22:12:04,177.177 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:12:04,437.437 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:12:04,447.447 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:12:04,645.645 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:12:04,700.700 INFO    ] time= 20/10/2026 22:12:04
[2026-10-20 22:12:04,719.719 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:12:04,725.725 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:12:04,873.873 INFO    ] No existing commands found in stream
[2026-10-20 22:12:09,887.887 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:12:09,889.889 INFO    ] Waiting 2.78 seconds before fallback handling...
[2026-10-20 22:12:13,170.170 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:12:13,173.173 INFO    ] Checking for system updates...
[2026-10-20 22:12:13,208.208 INFO    ] 200
[2026-10-20 22:12:13,211.211 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:12:13,263.263 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:12:13,266.266 INFO    ] No update needed
[2026-10-20 22:12:13,268.268 INFO    ] Checking for camera pi updates...
[2026-10-20 22:12:13,301.301 INFO    ] 200
[2026-10-20 22:12:13,304.304 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:12:13,347.347 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:12:13,391.391 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:12:13,394.394 INFO    ] No camera update needed
[2026-10-20 22:12:13,396.396 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:12:13,398.398 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:12:13,404.404 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:12:13,409.409 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:12:15,449.449 INFO    ] ================================================
[2026-10-20 22:12:15,464.464 INFO    ] Launching Daemon at Tue Oct 20 22:12:15 IST 2026
[2026-10-20 22:12:15,474.474 INFO    ] ================================================
[2026-10-20 22:12:16,040.040 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:12:16
[2026-10-20 22:12:16,623.623 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:12:16,870.870 INFO    ] Initializing speech engine...
[2026-10-20 22:12:16,884.884 INFO    ] 2026-10-20 22:12:16
[2026-10-20 22:12:17,165.165 INFO    ] 2026-10-20 22:12:17
[2026-10-20 22:12:17,204.204 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:12:17,426.426 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:12:17,435.435 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:12:17,583.583 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:12:17,588.588 INFO    ] time= 20/10/2026 22:12:17
[2026-10-20 22:12:17,595.595 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:12:17,601.601 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:12:17,760.760 INFO    ] No existing commands found in stream
[2026-10-20 22:12:22,785.785 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:12:22,788.788 INFO    ] Waiting 1.68 seconds before fallback handling...
[2026-10-20 22:12:24,989.989 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:12:24,992.992 INFO    ] Checking for system updates...
[2026-10-20 22:12:25,034.034 INFO    ] 200
[2026-10-20 22:12:25,036.036 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:12:25,090.090 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:12:25,092.092 INFO    ] No update needed
[2026-10-20 22:12:25,094.094 INFO    ] Checking for camera pi updates...
[2026-10-20 22:12:25,128.128 INFO    ] 200
[2026-10-20 22:12:25,130.130 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:12:25,170.170 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:12:25,221.221 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:12:25,223.223 INFO    ] No camera update needed
[2026-10-20 22:12:25,225.225 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:12:25,227.227 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:12:25,233.233 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:12:25,238.238 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:12:27,279.279 INFO    ] ================================================
[2026-10-20 22:12:27,294.294 INFO    ] Launching Daemon at Tue Oct 20 22:12:27 IST 2026
[2026-10-20 22:12:27,305.305 INFO    ] ================================================
[2026-10-20 22:12:27,870.870 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:12:27
[2026-10-20 22:12:28,454.454 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:12:28,716.716 INFO    ] Initializing speech engine...
[2026-10-20 22:12:28,722.722 INFO    ] 2026-10-20 22:12:28
[2026-10-20 22:12:29,018.018 INFO    ] 2026-10-20 22:12:28
[2026-10-20 22:12:29,057.057 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:12:29,280.280 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:12:29,308.308 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:12:29,512.512 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:12:29,556.556 INFO    ] time= 20/10/2026 22:12:29
[2026-10-20 22:12:29,605.605 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:12:29,655.655 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:12:29,792.792 INFO    ] No existing commands found in stream
[2026-10-20 22:12:34,809.809 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:12:34,812.812 INFO    ] Waiting 3.70 seconds before fallback handling...
[2026-10-20 22:12:39,010.010 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 22:12:39,013.013 INFO    ] Checking for system updates...
[2026-10-20 22:12:39,048.048 INFO    ] 200
[2026-10-20 22:12:39,051.051 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:12:39,103.103 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:12:39,106.106 INFO    ] No update needed
[2026-10-20 22:12:39,109.109 INFO    ] Checking for camera pi updates...
[2026-10-20 22:12:39,143.143 INFO    ] 200
[2026-10-20 22:12:39,146.146 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:12:39,185.185 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:12:39,237.237 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:12:39,240.240 INFO    ] No camera update needed
[2026-10-20 22:12:39,242.242 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:12:39,244.244 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:12:39,250.250 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:12:39,255.255 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:12:41,294.294 INFO    ] ================================================
[2026-10-20 22:12:41,310.310 INFO    ] Launching Daemon at Tue Oct 20 22:12:41 IST 2026
[2026-10-20 22:12:41,320.320 INFO    ] ================================================
[2026-10-20 22:12:41,905.905 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:12:41
[2026-10-20 22:12:42,510.510 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:12:42,788.788 INFO    ] Initializing speech engine...
[2026-10-20 22:12:42,797.797 INFO    ] 2026-10-20 22:12:42
[2026-10-20 22:12:43,056.056 INFO    ] 2026-10-20 22:12:43
[2026-10-20 22:12:43,112.112 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:12:43,356.356 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:12:43,362.362 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:12:43,543.543 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:12:43,598.598 INFO    ] time= 20/10/2026 22:12:43
[2026-10-20 22:12:43,605.605 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:12:43,623.623 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:12:43,754.754 INFO    ] No existing commands found in stream
[2026-10-20 22:12:48,773.773 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:12:48,776.776 INFO    ] Waiting 1.49 seconds before fallback handling...
[2026-10-20 22:12:50,752.752 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:12:50,755.755 INFO    ] Checking for system updates...
[2026-10-20 22:12:50,790.790 INFO    ] 200
[2026-10-20 22:12:50,793.793 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:12:50,847.847 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:12:50,849.849 INFO    ] No update needed
[2026-10-20 22:12:50,852.852 INFO    ] Checking for camera pi updates...
[2026-10-20 22:12:50,890.890 INFO    ] 200
[2026-10-20 22:12:50,893.893 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:12:50,934.934 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:12:50,980.980 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:12:50,983.983 INFO    ] No camera update needed
[2026-10-20 22:12:50,985.985 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:12:50,987.987 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:12:50,992.992 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:12:50,997.997 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:12:53,038.038 INFO    ] ================================================
[2026-10-20 22:12:53,053.053 INFO    ] Launching Daemon at Tue Oct 20 22:12:53 IST 2026
[2026-10-20 22:12:53,064.064 INFO    ] ================================================
[2026-10-20 22:12:53,636.636 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:12:53
[2026-10-20 22:12:54,238.238 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:12:54,514.514 INFO    ] Initializing speech engine...
[2026-10-20 22:12:54,523.523 INFO    ] 2026-10-20 22:12:54
[2026-10-20 22:12:54,772.772 INFO    ] 2026-10-20 22:12:54
[2026-10-20 22:12:54,808.808 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:12:55,059.059 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:12:55,069.069 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:12:55,303.303 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:12:55,327.327 INFO    ] time= 20/10/2026 22:12:55
[2026-10-20 22:12:55,344.344 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:12:55,353.353 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:12:55,470.470 INFO    ] No existing commands found in stream
[2026-10-20 22:13:00,491.491 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:13:00,498.498 INFO    ] Waiting 1.79 seconds before fallback handling...
[2026-10-20 22:13:02,791.791 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:13:02,794.794 INFO    ] Checking for system updates...
[2026-10-20 22:13:02,838.838 INFO    ] 200
[2026-10-20 22:13:02,841.841 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:13:02,917.917 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:13:02,920.920 INFO    ] No update needed
[2026-10-20 22:13:02,924.924 INFO    ] Checking for camera pi updates...
[2026-10-20 22:13:02,968.968 INFO    ] 200
[2026-10-20 22:13:02,971.971 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:13:03,027.027 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:13:03,062.062 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:13:03,064.064 INFO    ] No camera update needed
[2026-10-20 22:13:03,067.067 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:13:03,069.069 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:13:03,074.074 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:13:03,081.081 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:13:05,124.124 INFO    ] ================================================
[2026-10-20 22:13:05,139.139 INFO    ] Launching Daemon at Tue Oct 20 22:13:05 IST 2026
[2026-10-20 22:13:05,150.150 INFO    ] ================================================
[2026-10-20 22:13:05,799.799 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:13:05
[2026-10-20 22:13:06,481.481 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:13:06,783.783 INFO    ] Initializing speech engine...
[2026-10-20 22:13:06,791.791 INFO    ] 2026-10-20 22:13:06
[2026-10-20 22:13:07,085.085 INFO    ] 2026-10-20 22:13:07
[2026-10-20 22:13:07,194.194 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:13:07,409.409 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:13:07,414.414 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:13:07,602.602 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:13:07,618.618 INFO    ] time= 20/10/2026 22:13:07
[2026-10-20 22:13:07,637.637 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:13:07,666.666 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:13:07,774.774 INFO    ] No existing commands found in stream
[2026-10-20 22:13:12,803.803 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:13:12,807.807 INFO    ] Waiting 2.60 seconds before fallback handling...
[2026-10-20 22:13:15,924.924 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:13:15,927.927 INFO    ] Checking for system updates...
[2026-10-20 22:13:15,964.964 INFO    ] 200
[2026-10-20 22:13:15,967.967 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:13:16,020.020 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:13:16,023.023 INFO    ] No update needed
[2026-10-20 22:13:16,026.026 INFO    ] Checking for camera pi updates...
[2026-10-20 22:13:16,060.060 INFO    ] 200
[2026-10-20 22:13:16,063.063 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:13:16,103.103 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:13:16,250.250 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:13:16,253.253 INFO    ] No camera update needed
[2026-10-20 22:13:16,255.255 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:13:16,257.257 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:13:16,263.263 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:13:16,268.268 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:13:18,307.307 INFO    ] ================================================
[2026-10-20 22:13:18,323.323 INFO    ] Launching Daemon at Tue Oct 20 22:13:18 IST 2026
[2026-10-20 22:13:18,333.333 INFO    ] ================================================
[2026-10-20 22:13:18,984.984 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:13:18
[2026-10-20 22:13:19,653.653 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:13:19,960.960 INFO    ] Initializing speech engine...
[2026-10-20 22:13:19,973.973 INFO    ] 2026-10-20 22:13:19
[2026-10-20 22:13:20,255.255 INFO    ] 2026-10-20 22:13:20
[2026-10-20 22:13:20,364.364 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:13:20,574.574 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:13:20,583.583 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:13:20,769.769 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:13:20,785.785 INFO    ] time= 20/10/2026 22:13:20
[2026-10-20 22:13:20,801.801 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:13:20,833.833 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:13:20,984.984 INFO    ] No existing commands found in stream
[2026-10-20 22:13:26,021.021 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:13:26,024.024 INFO    ] Waiting 2.43 seconds before fallback handling...
[2026-10-20 22:13:28,973.973 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 22:13:28,976.976 INFO    ] Checking for system updates...
[2026-10-20 22:13:29,013.013 INFO    ] 200
[2026-10-20 22:13:29,015.015 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:13:29,074.074 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:13:29,076.076 INFO    ] No update needed
[2026-10-20 22:13:29,079.079 INFO    ] Checking for camera pi updates...
[2026-10-20 22:13:29,113.113 INFO    ] 200
[2026-10-20 22:13:29,115.115 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:13:29,162.162 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:13:29,209.209 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:13:29,211.211 INFO    ] No camera update needed
[2026-10-20 22:13:29,213.213 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:13:29,216.216 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:13:29,221.221 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:13:29,226.226 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:13:31,273.273 INFO    ] ================================================
[2026-10-20 22:13:31,287.287 INFO    ] Launching Daemon at Tue Oct 20 22:13:31 IST 2026
[2026-10-20 22:13:31,298.298 INFO    ] ================================================
[2026-10-20 22:13:31,899.899 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:13:31
[2026-10-20 22:13:32,515.515 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:13:32,786.786 INFO    ] Initializing speech engine...
[2026-10-20 22:13:32,797.797 INFO    ] 2026-10-20 22:13:32
[2026-10-20 22:13:33,104.104 INFO    ] 2026-10-20 22:13:33
[2026-10-20 22:13:33,138.138 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:13:33,339.339 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:13:33,354.354 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:13:33,520.520 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:13:33,525.525 INFO    ] time= 20/10/2026 22:13:33
[2026-10-20 22:13:33,532.532 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:13:33,545.545 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:13:33,701.701 INFO    ] No existing commands found in stream
[2026-10-20 22:13:38,721.721 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:13:38,724.724 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-10-20 22:13:42,721.721 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 22:13:42,724.724 INFO    ] Checking for system updates...
[2026-10-20 22:13:42,763.763 INFO    ] 200
[2026-10-20 22:13:42,765.765 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:13:42,816.816 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:13:42,819.819 INFO    ] No update needed
[2026-10-20 22:13:42,821.821 INFO    ] Checking for camera pi updates...
[2026-10-20 22:13:42,855.855 INFO    ] 200
[2026-10-20 22:13:42,857.857 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:13:42,897.897 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:13:42,946.946 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:13:42,949.949 INFO    ] No camera update needed
[2026-10-20 22:13:42,951.951 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:13:42,953.953 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:13:42,959.959 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:13:42,964.964 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:13:45,006.006 INFO    ] ================================================
[2026-10-20 22:13:45,021.021 INFO    ] Launching Daemon at Tue Oct 20 22:13:45 IST 2026
[2026-10-20 22:13:45,032.032 INFO    ] ================================================
[2026-10-20 22:13:45,600.600 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:13:45
[2026-10-20 22:13:46,183.183 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:13:46,451.451 INFO    ] Initializing speech engine...
[2026-10-20 22:13:46,460.460 INFO    ] 2026-10-20 22:13:46
[2026-10-20 22:13:46,706.706 INFO    ] 2026-10-20 22:13:46
[2026-10-20 22:13:46,742.742 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:13:46,938.938 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:13:46,995.995 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:13:47,135.135 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:13:47,200.200 INFO    ] time= 20/10/2026 22:13:47
[2026-10-20 22:13:47,256.256 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:13:47,267.267 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:13:47,409.409 INFO    ] No existing commands found in stream
[2026-10-20 22:13:52,423.423 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:13:52,426.426 INFO    ] Waiting 0.64 seconds before fallback handling...
[2026-10-20 22:13:53,576.576 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:13:53,579.579 INFO    ] Checking for system updates...
[2026-10-20 22:13:53,615.615 INFO    ] 200
[2026-10-20 22:13:53,618.618 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:13:53,673.673 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:13:53,676.676 INFO    ] No update needed
[2026-10-20 22:13:53,678.678 INFO    ] Checking for camera pi updates...
[2026-10-20 22:13:53,712.712 INFO    ] 200
[2026-10-20 22:13:53,714.714 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:13:53,761.761 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:13:53,820.820 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:13:53,822.822 INFO    ] No camera update needed
[2026-10-20 22:13:53,824.824 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:13:53,827.827 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:13:53,832.832 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:13:53,837.837 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:13:55,877.877 INFO    ] ================================================
[2026-10-20 22:13:55,891.891 INFO    ] Launching Daemon at Tue Oct 20 22:13:55 IST 2026
[2026-10-20 22:13:55,902.902 INFO    ] ================================================
[2026-10-20 22:13:56,468.468 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:13:56
[2026-10-20 22:13:57,050.050 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:13:57,318.318 INFO    ] Initializing speech engine...
[2026-10-20 22:13:57,328.328 INFO    ] 2026-10-20 22:13:57
[2026-10-20 22:13:57,572.572 INFO    ] 2026-10-20 22:13:57
[2026-10-20 22:13:57,607.607 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:13:57,862.862 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:13:57,867.867 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:13:58,002.002 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:13:58,067.067 INFO    ] time= 20/10/2026 22:13:58
[2026-10-20 22:13:58,129.129 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:13:58,136.136 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:13:58,283.283 INFO    ] No existing commands found in stream
[2026-10-20 22:14:03,301.301 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:14:03,304.304 INFO    ] Waiting 1.04 seconds before fallback handling...
[2026-10-20 22:14:04,822.822 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:14:04,825.825 INFO    ] Checking for system updates...
[2026-10-20 22:14:04,863.863 INFO    ] 200
[2026-10-20 22:14:04,866.866 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:14:04,923.923 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:14:04,925.925 INFO    ] No update needed
[2026-10-20 22:14:04,928.928 INFO    ] Checking for camera pi updates...
[2026-10-20 22:14:04,961.961 INFO    ] 200
[2026-10-20 22:14:04,963.963 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:14:05,008.008 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:14:05,059.059 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:14:05,062.062 INFO    ] No camera update needed
[2026-10-20 22:14:05,064.064 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:14:05,066.066 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:14:05,072.072 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:14:05,076.076 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:14:07,117.117 INFO    ] ================================================
[2026-10-20 22:14:07,132.132 INFO    ] Launching Daemon at Tue Oct 20 22:14:07 IST 2026
[2026-10-20 22:14:07,142.142 INFO    ] ================================================
[2026-10-20 22:14:07,709.709 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:14:07
[2026-10-20 22:14:08,293.293 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:14:08,564.564 INFO    ] Initializing speech engine...
[2026-10-20 22:14:08,573.573 INFO    ] 2026-10-20 22:14:08
[2026-10-20 22:14:08,819.819 INFO    ] 2026-10-20 22:14:08
[2026-10-20 22:14:08,862.862 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:14:09,107.107 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:14:09,117.117 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:14:09,319.319 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:14:09,375.375 INFO    ] time= 20/10/2026 22:14:09
[2026-10-20 22:14:09,381.381 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:14:09,396.396 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:14:09,531.531 INFO    ] No existing commands found in stream
[2026-10-20 22:14:14,553.553 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:14:14,556.556 INFO    ] Waiting 0.58 seconds before fallback handling...
[2026-10-20 22:14:15,620.620 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:14:15,623.623 INFO    ] Checking for system updates...
[2026-10-20 22:14:15,658.658 INFO    ] 200
[2026-10-20 22:14:15,660.660 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:14:15,714.714 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:14:15,716.716 INFO    ] No update needed
[2026-10-20 22:14:15,719.719 INFO    ] Checking for camera pi updates...
[2026-10-20 22:14:15,752.752 INFO    ] 200
[2026-10-20 22:14:15,755.755 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:14:15,794.794 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:14:15,847.847 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:14:15,850.850 INFO    ] No camera update needed
[2026-10-20 22:14:15,852.852 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:14:15,854.854 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:14:15,859.859 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:14:15,864.864 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:14:17,903.903 INFO    ] ================================================
[2026-10-20 22:14:17,919.919 INFO    ] Launching Daemon at Tue Oct 20 22:14:17 IST 2026
[2026-10-20 22:14:17,929.929 INFO    ] ================================================
[2026-10-20 22:14:18,520.520 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:14:18
[2026-10-20 22:14:19,148.148 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:14:19,416.416 INFO    ] Initializing speech engine...
[2026-10-20 22:14:19,426.426 INFO    ] 2026-10-20 22:14:19
[2026-10-20 22:14:19,671.671 INFO    ] 2026-10-20 22:14:19
[2026-10-20 22:14:19,707.707 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:14:19,959.959 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:14:19,968.968 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:14:20,175.175 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:14:20,226.226 INFO    ] time= 20/10/2026 22:14:20
[2026-10-20 22:14:20,232.232 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:14:20,250.250 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:14:20,376.376 INFO    ] No existing commands found in stream
[2026-10-20 22:14:25,391.391 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:14:25,393.393 INFO    ] Waiting 0.81 seconds before fallback handling...
[2026-10-20 22:14:26,740.740 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 22:14:26,743.743 INFO    ] Checking for system updates...
[2026-10-20 22:14:26,782.782 INFO    ] 200
[2026-10-20 22:14:26,785.785 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:14:26,843.843 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:14:26,845.845 INFO    ] No update needed
[2026-10-20 22:14:26,848.848 INFO    ] Checking for camera pi updates...
[2026-10-20 22:14:26,884.884 INFO    ] 200
[2026-10-20 22:14:26,886.886 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:14:26,926.926 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:14:26,974.974 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:14:26,977.977 INFO    ] No camera update needed
[2026-10-20 22:14:26,979.979 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:14:26,982.982 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:14:26,987.987 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:14:26,992.992 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:14:29,035.035 INFO    ] ================================================
[2026-10-20 22:14:29,050.050 INFO    ] Launching Daemon at Tue Oct 20 22:14:29 IST 2026
[2026-10-20 22:14:29,060.060 INFO    ] ================================================
[2026-10-20 22:14:29,642.642 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:14:29
[2026-10-20 22:14:30,242.242 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:14:30,514.514 INFO    ] Initializing speech engine...
[2026-10-20 22:14:30,524.524 INFO    ] 2026-10-20 22:14:30
[2026-10-20 22:14:30,774.774 INFO    ] 2026-10-20 22:14:30
[2026-10-20 22:14:30,816.816 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:14:31,060.060 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:14:31,069.069 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:14:31,219.219 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:14:31,283.283 INFO    ] time= 20/10/2026 22:14:31
[2026-10-20 22:14:31,330.330 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:14:31,336.336 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:14:31,487.487 INFO    ] No existing commands found in stream
[2026-10-20 22:14:36,518.518 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:14:36,521.521 INFO    ] Waiting 1.11 seconds before fallback handling...
[2026-10-20 22:14:38,132.132 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:14:38,135.135 INFO    ] Checking for system updates...
[2026-10-20 22:14:38,175.175 INFO    ] 200
[2026-10-20 22:14:38,177.177 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:14:38,238.238 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:14:38,240.240 INFO    ] No update needed
[2026-10-20 22:14:38,243.243 INFO    ] Checking for camera pi updates...
[2026-10-20 22:14:38,280.280 INFO    ] 200
[2026-10-20 22:14:38,283.283 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:14:38,322.322 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:14:38,366.366 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:14:38,368.368 INFO    ] No camera update needed
[2026-10-20 22:14:38,371.371 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:14:38,373.373 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:14:38,378.378 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:14:38,383.383 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:14:40,422.422 INFO    ] ================================================
[2026-10-20 22:14:40,437.437 INFO    ] Launching Daemon at Tue Oct 20 22:14:40 IST 2026
[2026-10-20 22:14:40,448.448 INFO    ] ================================================
[2026-10-20 22:14:41,030.030 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:14:41
[2026-10-20 22:14:41,612.612 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:14:41,861.861 INFO    ] Initializing speech engine...
[2026-10-20 22:14:41,875.875 INFO    ] 2026-10-20 22:14:41
[2026-10-20 22:14:42,141.141 INFO    ] 2026-10-20 22:14:42
[2026-10-20 22:14:42,175.175 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:14:42,379.379 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:14:42,435.435 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:14:42,580.580 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:14:42,625.625 INFO    ] time= 20/10/2026 22:14:42
[2026-10-20 22:14:42,680.680 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:14:42,717.717 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:14:42,858.858 INFO    ] No existing commands found in stream
[2026-10-20 22:14:47,880.880 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:14:47,883.883 INFO    ] Waiting 0.16 seconds before fallback handling...
[2026-10-20 22:14:48,533.533 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:14:48,536.536 INFO    ] Checking for system updates...
[2026-10-20 22:14:48,572.572 INFO    ] 200
[2026-10-20 22:14:48,575.575 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:14:48,632.632 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:14:48,634.634 INFO    ] No update needed
[2026-10-20 22:14:48,637.637 INFO    ] Checking for camera pi updates...
[2026-10-20 22:14:48,674.674 INFO    ] 200
[2026-10-20 22:14:48,677.677 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:14:48,723.723 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:14:48,772.772 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:14:48,775.775 INFO    ] No camera update needed
[2026-10-20 22:14:48,778.778 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:14:48,781.781 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:14:48,787.787 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:14:48,793.793 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:14:50,834.834 INFO    ] ================================================
[2026-10-20 22:14:50,850.850 INFO    ] Launching Daemon at Tue Oct 20 22:14:50 IST 2026
[2026-10-20 22:14:50,861.861 INFO    ] ================================================
[2026-10-20 22:14:51,524.524 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:14:51
[2026-10-20 22:14:52,207.207 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:14:52,524.524 INFO    ] Initializing speech engine...
[2026-10-20 22:14:52,535.535 INFO    ] 2026-10-20 22:14:52
[2026-10-20 22:14:52,827.827 INFO    ] 2026-10-20 22:14:52
[2026-10-20 22:14:52,940.940 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:14:53,157.157 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:14:53,166.166 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:14:53,366.366 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:14:53,374.374 INFO    ] time= 20/10/2026 22:14:53
[2026-10-20 22:14:53,396.396 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:14:53,423.423 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:14:53,549.549 INFO    ] No existing commands found in stream
[2026-10-20 22:14:58,575.575 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:14:58,579.579 INFO    ] Waiting 3.52 seconds before fallback handling...
[2026-10-20 22:15:02,638.638 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:15:02,642.642 INFO    ] Checking for system updates...
[2026-10-20 22:15:02,683.683 INFO    ] 200
[2026-10-20 22:15:02,686.686 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:15:02,757.757 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:15:02,760.760 INFO    ] No update needed
[2026-10-20 22:15:02,763.763 INFO    ] Checking for camera pi updates...
[2026-10-20 22:15:02,805.805 INFO    ] 200
[2026-10-20 22:15:02,808.808 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:15:02,862.862 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:15:02,902.902 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:15:02,905.905 INFO    ] No camera update needed
[2026-10-20 22:15:02,909.909 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:15:02,912.912 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:15:02,919.919 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:15:02,925.925 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:15:04,966.966 INFO    ] ================================================
[2026-10-20 22:15:04,981.981 INFO    ] Launching Daemon at Tue Oct 20 22:15:04 IST 2026
[2026-10-20 22:15:04,991.991 INFO    ] ================================================
[2026-10-20 22:15:05,579.579 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:15:05
[2026-10-20 22:15:06,211.211 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:15:06,521.521 INFO    ] Initializing speech engine...
[2026-10-20 22:15:06,534.534 INFO    ] 2026-10-20 22:15:06
[2026-10-20 22:15:06,816.816 INFO    ] 2026-10-20 22:15:06
[2026-10-20 22:15:06,859.859 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:15:07,115.115 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:15:07,133.133 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:15:07,327.327 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:15:07,360.360 INFO    ] time= 20/10/2026 22:15:07
[2026-10-20 22:15:07,375.375 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:15:07,385.385 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:15:07,513.513 INFO    ] No existing commands found in stream
[2026-10-20 22:15:12,527.527 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:15:12,530.530 INFO    ] Waiting 0.84 seconds before fallback handling...
[2026-10-20 22:15:13,845.845 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:15:13,848.848 INFO    ] Checking for system updates...
[2026-10-20 22:15:13,883.883 INFO    ] 200
[2026-10-20 22:15:13,885.885 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:15:13,940.940 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:15:13,943.943 INFO    ] No update needed
[2026-10-20 22:15:13,946.946 INFO    ] Checking for camera pi updates...
[2026-10-20 22:15:13,984.984 INFO    ] 200
[2026-10-20 22:15:13,987.987 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:15:14,028.028 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:15:14,087.087 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:15:14,090.090 INFO    ] No camera update needed
[2026-10-20 22:15:14,093.093 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:15:14,096.096 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:15:14,103.103 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:15:14,108.108 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:15:16,150.150 INFO    ] ================================================
[2026-10-20 22:15:16,164.164 INFO    ] Launching Daemon at Tue Oct 20 22:15:16 IST 2026
[2026-10-20 22:15:16,175.175 INFO    ] ================================================
[2026-10-20 22:15:16,840.840 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:15:16
[2026-10-20 22:15:17,522.522 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:15:17,782.782 INFO    ] Initializing speech engine...
[2026-10-20 22:15:17,801.801 INFO    ] 2026-10-20 22:15:17
[2026-10-20 22:15:18,050.050 INFO    ] 2026-10-20 22:15:18
[2026-10-20 22:15:18,085.085 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:15:18,341.341 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:15:18,352.352 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:15:18,559.559 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:15:18,613.613 INFO    ] time= 20/10/2026 22:15:18
[2026-10-20 22:15:18,631.631 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:15:18,642.642 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:15:18,846.846 INFO    ] No existing commands found in stream
[2026-10-20 22:15:23,879.879 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:15:23,882.882 INFO    ] Waiting 3.58 seconds before fallback handling...
[2026-10-20 22:15:28,033.033 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:15:28,036.036 INFO    ] Checking for system updates...
[2026-10-20 22:15:28,073.073 INFO    ] 200
[2026-10-20 22:15:28,075.075 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:15:28,137.137 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:15:28,140.140 INFO    ] No update needed
[2026-10-20 22:15:28,143.143 INFO    ] Checking for camera pi updates...
[2026-10-20 22:15:28,178.178 INFO    ] 200
[2026-10-20 22:15:28,181.181 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:15:28,222.222 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:15:28,375.375 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:15:28,378.378 INFO    ] No camera update needed
[2026-10-20 22:15:28,381.381 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:15:28,384.384 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:15:28,391.391 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:15:28,397.397 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:15:30,439.439 INFO    ] ================================================
[2026-10-20 22:15:30,454.454 INFO    ] Launching Daemon at Tue Oct 20 22:15:30 IST 2026
[2026-10-20 22:15:30,465.465 INFO    ] ================================================
[2026-10-20 22:15:31,043.043 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:15:31
[2026-10-20 22:15:31,672.672 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:15:32,029.029 INFO    ] Initializing speech engine...
[2026-10-20 22:15:32,039.039 INFO    ] 2026-10-20 22:15:32
[2026-10-20 22:15:32,381.381 INFO    ] 2026-10-20 22:15:32
[2026-10-20 22:15:32,461.461 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:15:32,634.634 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:15:32,641.641 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:15:32,865.865 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:15:32,927.927 INFO    ] time= 20/10/2026 22:15:32
[2026-10-20 22:15:32,946.946 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:15:32,956.956 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:15:33,121.121 INFO    ] No existing commands found in stream
[2026-10-20 22:15:38,158.158 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:15:38,162.162 INFO    ] Waiting 2.46 seconds before fallback handling...
[2026-10-20 22:15:41,164.164 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:15:41,167.167 INFO    ] Checking for system updates...
[2026-10-20 22:15:41,207.207 INFO    ] 200
[2026-10-20 22:15:41,210.210 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:15:41,270.270 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:15:41,272.272 INFO    ] No update needed
[2026-10-20 22:15:41,275.275 INFO    ] Checking for camera pi updates...
[2026-10-20 22:15:41,308.308 INFO    ] 200
[2026-10-20 22:15:41,310.310 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:15:41,356.356 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:15:41,410.410 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:15:41,413.413 INFO    ] No camera update needed
[2026-10-20 22:15:41,415.415 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:15:41,417.417 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:15:41,423.423 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:15:41,428.428 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:15:43,469.469 INFO    ] ================================================
[2026-10-20 22:15:43,484.484 INFO    ] Launching Daemon at Tue Oct 20 22:15:43 IST 2026
[2026-10-20 22:15:43,495.495 INFO    ] ================================================
[2026-10-20 22:15:44,068.068 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:15:44
[2026-10-20 22:15:44,668.668 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:15:44,947.947 INFO    ] Initializing speech engine...
[2026-10-20 22:15:44,953.953 INFO    ] 2026-10-20 22:15:44
[2026-10-20 22:15:45,200.200 INFO    ] 2026-10-20 22:15:45
[2026-10-20 22:15:45,235.235 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:15:45,487.487 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:15:45,496.496 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:15:45,631.631 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:15:45,701.701 INFO    ] time= 20/10/2026 22:15:45
[2026-10-20 22:15:45,757.757 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:15:45,764.764 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:15:45,909.909 INFO    ] No existing commands found in stream
[2026-10-20 22:15:50,928.928 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:15:50,931.931 INFO    ] Waiting 2.00 seconds before fallback handling...
[2026-10-20 22:15:53,485.485 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 22:15:53,488.488 INFO    ] Checking for system updates...
[2026-10-20 22:15:53,545.545 INFO    ] 200
[2026-10-20 22:15:53,548.548 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:15:53,609.609 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:15:53,612.612 INFO    ] No update needed
[2026-10-20 22:15:53,615.615 INFO    ] Checking for camera pi updates...
[2026-10-20 22:15:53,654.654 INFO    ] 200
[2026-10-20 22:15:53,656.656 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:15:53,696.696 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:15:53,741.741 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:15:53,743.743 INFO    ] No camera update needed
[2026-10-20 22:15:53,746.746 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:15:53,748.748 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:15:53,753.753 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:15:53,758.758 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:15:55,800.800 INFO    ] ================================================
[2026-10-20 22:15:55,815.815 INFO    ] Launching Daemon at Tue Oct 20 22:15:55 IST 2026
[2026-10-20 22:15:55,826.826 INFO    ] ================================================
[2026-10-20 22:15:56,405.405 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:15:56
[2026-10-20 22:15:56,998.998 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:15:57,269.269 INFO    ] Initializing speech engine...
[2026-10-20 22:15:57,278.278 INFO    ] 2026-10-20 22:15:57
[2026-10-20 22:15:57,527.527 INFO    ] 2026-10-20 22:15:57
[2026-10-20 22:15:57,562.562 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:15:57,821.821 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:15:57,831.831 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:15:57,973.973 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:15:58,038.038 INFO    ] time= 20/10/2026 22:15:57
[2026-10-20 22:15:58,093.093 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:15:58,105.105 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:15:58,243.243 INFO    ] No existing commands found in stream
[2026-10-20 22:16:03,262.262 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:16:03,265.265 INFO    ] Waiting 0.62 seconds before fallback handling...
[2026-10-20 22:16:04,343.343 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 22:16:04,346.346 INFO    ] Checking for system updates...
[2026-10-20 22:16:04,385.385 INFO    ] 200
[2026-10-20 22:16:04,388.388 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:16:04,444.444 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:16:04,446.446 INFO    ] No update needed
[2026-10-20 22:16:04,448.448 INFO    ] Checking for camera pi updates...
[2026-10-20 22:16:04,486.486 INFO    ] 200
[2026-10-20 22:16:04,488.488 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:16:04,534.534 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:16:04,585.585 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:16:04,587.587 INFO    ] No camera update needed
[2026-10-20 22:16:04,590.590 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:16:04,592.592 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:16:04,597.597 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:16:04,602.602 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:16:06,646.646 INFO    ] ================================================
[2026-10-20 22:16:06,661.661 INFO    ] Launching Daemon at Tue Oct 20 22:16:06 IST 2026
[2026-10-20 22:16:06,672.672 INFO    ] ================================================
[2026-10-20 22:16:07,256.256 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:16:07
[2026-10-20 22:16:07,857.857 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:16:08,135.135 INFO    ] Initializing speech engine...
[2026-10-20 22:16:08,141.141 INFO    ] 2026-10-20 22:16:08
[2026-10-20 22:16:08,387.387 INFO    ] 2026-10-20 22:16:08
[2026-10-20 22:16:08,423.423 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:16:08,680.680 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:16:08,685.685 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:16:08,901.901 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:16:08,952.952 INFO    ] time= 20/10/2026 22:16:08
[2026-10-20 22:16:08,960.960 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:16:08,977.977 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:16:09,111.111 INFO    ] No existing commands found in stream
[2026-10-20 22:16:14,134.134 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:16:14,136.136 INFO    ] Waiting 0.27 seconds before fallback handling...
[2026-10-20 22:16:14,931.931 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 22:16:14,934.934 INFO    ] Checking for system updates...
[2026-10-20 22:16:14,970.970 INFO    ] 200
[2026-10-20 22:16:14,972.972 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:16:15,024.024 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:16:15,026.026 INFO    ] No update needed
[2026-10-20 22:16:15,029.029 INFO    ] Checking for camera pi updates...
[2026-10-20 22:16:15,062.062 INFO    ] 200
[2026-10-20 22:16:15,064.064 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:16:15,104.104 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:16:15,161.161 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:16:15,163.163 INFO    ] No camera update needed
[2026-10-20 22:16:15,166.166 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:16:15,168.168 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:16:15,173.173 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:16:15,178.178 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:16:17,218.218 INFO    ] ================================================
[2026-10-20 22:16:17,233.233 INFO    ] Launching Daemon at Tue Oct 20 22:16:17 IST 2026
[2026-10-20 22:16:17,244.244 INFO    ] ================================================
[2026-10-20 22:16:17,845.845 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:16:17
[2026-10-20 22:16:18,445.445 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:16:18,723.723 INFO    ] Initializing speech engine...
[2026-10-20 22:16:18,732.732 INFO    ] 2026-10-20 22:16:18
[2026-10-20 22:16:18,992.992 INFO    ] 2026-10-20 22:16:18
[2026-10-20 22:16:19,021.021 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:16:19,271.271 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:16:19,282.282 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:16:19,486.486 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:16:19,541.541 INFO    ] time= 20/10/2026 22:16:19
[2026-10-20 22:16:19,547.547 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:16:19,565.565 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:16:19,697.697 INFO    ] No existing commands found in stream
[2026-10-20 22:16:24,709.709 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:16:24,712.712 INFO    ] Waiting 2.57 seconds before fallback handling...
[2026-10-20 22:16:27,826.826 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:16:27,829.829 INFO    ] Checking for system updates...
[2026-10-20 22:16:27,864.864 INFO    ] 200
[2026-10-20 22:16:27,866.866 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:16:27,920.920 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:16:27,923.923 INFO    ] No update needed
[2026-10-20 22:16:27,925.925 INFO    ] Checking for camera pi updates...
[2026-10-20 22:16:27,963.963 INFO    ] 200
[2026-10-20 22:16:27,965.965 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:16:28,005.005 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:16:28,063.063 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:16:28,065.065 INFO    ] No camera update needed
[2026-10-20 22:16:28,068.068 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:16:28,070.070 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:16:28,076.076 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:16:28,081.081 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:16:30,125.125 INFO    ] ================================================
[2026-10-20 22:16:30,140.140 INFO    ] Launching Daemon at Tue Oct 20 22:16:30 IST 2026
[2026-10-20 22:16:30,151.151 INFO    ] ================================================
[2026-10-20 22:16:30,730.730 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:16:30
[2026-10-20 22:16:31,326.326 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:16:31,603.603 INFO    ] Initializing speech engine...
[2026-10-20 22:16:31,609.609 INFO    ] 2026-10-20 22:16:31
[2026-10-20 22:16:31,870.870 INFO    ] 2026-10-20 22:16:31
[2026-10-20 22:16:31,903.903 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:16:32,173.173 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:16:32,179.179 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:16:32,316.316 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:16:32,391.391 INFO    ] time= 20/10/2026 22:16:32
[2026-10-20 22:16:32,446.446 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:16:32,466.466 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:16:32,635.635 INFO    ] No existing commands found in stream
[2026-10-20 22:16:37,671.671 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:16:37,675.675 INFO    ] Waiting 0.31 seconds before fallback handling...
[2026-10-20 22:16:39,573.573 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 22:16:39,576.576 INFO    ] Checking for system updates...
[2026-10-20 22:16:39,619.619 INFO    ] 200
[2026-10-20 22:16:39,622.622 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:16:39,681.681 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:16:39,683.683 INFO    ] No update needed
[2026-10-20 22:16:39,686.686 INFO    ] Checking for camera pi updates...
[2026-10-20 22:16:39,721.721 INFO    ] 200
[2026-10-20 22:16:39,724.724 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:16:39,766.766 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:16:39,820.820 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:16:39,822.822 INFO    ] No camera update needed
[2026-10-20 22:16:39,824.824 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:16:39,827.827 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:16:39,832.832 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:16:39,837.837 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:16:41,879.879 INFO    ] ================================================
[2026-10-20 22:16:41,895.895 INFO    ] Launching Daemon at Tue Oct 20 22:16:41 IST 2026
[2026-10-20 22:16:41,906.906 INFO    ] ================================================
[2026-10-20 22:16:42,475.475 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:16:42
[2026-10-20 22:16:43,061.061 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:16:43,334.334 INFO    ] Initializing speech engine...
[2026-10-20 22:16:43,344.344 INFO    ] 2026-10-20 22:16:43
[2026-10-20 22:16:43,593.593 INFO    ] 2026-10-20 22:16:43
[2026-10-20 22:16:43,627.627 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:16:43,885.885 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:16:43,895.895 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:16:44,089.089 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:16:44,149.149 INFO    ] time= 20/10/2026 22:16:44
[2026-10-20 22:16:44,164.164 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:16:44,170.170 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:16:44,322.322 INFO    ] No existing commands found in stream
[2026-10-20 22:16:49,340.340 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:16:49,343.343 INFO    ] Waiting 2.18 seconds before fallback handling...
[2026-10-20 22:16:52,009.009 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:16:52,012.012 INFO    ] Checking for system updates...
[2026-10-20 22:16:52,047.047 INFO    ] 200
[2026-10-20 22:16:52,049.049 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:16:52,108.108 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:16:52,110.110 INFO    ] No update needed
[2026-10-20 22:16:52,113.113 INFO    ] Checking for camera pi updates...
[2026-10-20 22:16:52,145.145 INFO    ] 200
[2026-10-20 22:16:52,148.148 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:16:52,188.188 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:16:52,243.243 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:16:52,245.245 INFO    ] No camera update needed
[2026-10-20 22:16:52,248.248 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:16:52,250.250 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:16:52,255.255 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:16:52,260.260 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:16:54,299.299 INFO    ] ================================================
[2026-10-20 22:16:54,314.314 INFO    ] Launching Daemon at Tue Oct 20 22:16:54 IST 2026
[2026-10-20 22:16:54,325.325 INFO    ] ================================================
[2026-10-20 22:16:54,891.891 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:16:54
[2026-10-20 22:16:55,474.474 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:16:55,720.720 INFO    ] Initializing speech engine...
[2026-10-20 22:16:55,728.728 INFO    ] 2026-10-20 22:16:55
[2026-10-20 22:16:56,001.001 INFO    ] 2026-10-20 22:16:55
[2026-10-20 22:16:56,036.036 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:16:56,235.235 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:16:56,258.258 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:16:56,440.440 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:16:56,461.461 INFO    ] time= 20/10/2026 22:16:56
[2026-10-20 22:16:56,526.526 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:16:56,577.577 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:16:56,691.691 INFO    ] No existing commands found in stream
[2026-10-20 22:17:01,720.720 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:17:01,724.724 INFO    ] Waiting 1.90 seconds before fallback handling...
[2026-10-20 22:17:04,116.116 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:17:04,119.119 INFO    ] Checking for system updates...
[2026-10-20 22:17:04,157.157 INFO    ] 200
[2026-10-20 22:17:04,159.159 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:17:04,216.216 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:17:04,218.218 INFO    ] No update needed
[2026-10-20 22:17:04,221.221 INFO    ] Checking for camera pi updates...
[2026-10-20 22:17:04,254.254 INFO    ] 200
[2026-10-20 22:17:04,256.256 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:17:04,300.300 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:17:04,346.346 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:17:04,349.349 INFO    ] No camera update needed
[2026-10-20 22:17:04,351.351 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:17:04,353.353 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:17:04,359.359 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:17:04,364.364 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:17:06,402.402 INFO    ] ================================================
[2026-10-20 22:17:06,417.417 INFO    ] Launching Daemon at Tue Oct 20 22:17:06 IST 2026
[2026-10-20 22:17:06,427.427 INFO    ] ================================================
[2026-10-20 22:17:07,007.007 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:17:07
[2026-10-20 22:17:07,606.606 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:17:07,878.878 INFO    ] Initializing speech engine...
[2026-10-20 22:17:07,889.889 INFO    ] 2026-10-20 22:17:07
[2026-10-20 22:17:08,136.136 INFO    ] 2026-10-20 22:17:08
[2026-10-20 22:17:08,178.178 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:17:08,428.428 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:17:08,434.434 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:17:08,638.638 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:17:08,692.692 INFO    ] time= 20/10/2026 22:17:08
[2026-10-20 22:17:08,699.699 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:17:08,717.717 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:17:08,848.848 INFO    ] No existing commands found in stream
[2026-10-20 22:17:13,867.867 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:17:13,870.870 INFO    ] Waiting 1.30 seconds before fallback handling...
[2026-10-20 22:17:15,662.662 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:17:15,665.665 INFO    ] Checking for system updates...
[2026-10-20 22:17:15,701.701 INFO    ] 200
[2026-10-20 22:17:15,703.703 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:17:15,761.761 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:17:15,763.763 INFO    ] No update needed
[2026-10-20 22:17:15,765.765 INFO    ] Checking for camera pi updates...
[2026-10-20 22:17:15,806.806 INFO    ] 200
[2026-10-20 22:17:15,809.809 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:17:15,850.850 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:17:15,895.895 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:17:15,897.897 INFO    ] No camera update needed
[2026-10-20 22:17:15,900.900 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:17:15,902.902 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:17:15,907.907 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:17:15,913.913 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:17:17,951.951 INFO    ] ================================================
[2026-10-20 22:17:17,966.966 INFO    ] Launching Daemon at Tue Oct 20 22:17:17 IST 2026
[2026-10-20 22:17:17,977.977 INFO    ] ================================================
[2026-10-20 22:17:18,541.541 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:17:18
[2026-10-20 22:17:19,123.123 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:17:19,368.368 INFO    ] Initializing speech engine...
[2026-10-20 22:17:19,382.382 INFO    ] 2026-10-20 22:17:19
[2026-10-20 22:17:19,648.648 INFO    ] 2026-10-20 22:17:19
[2026-10-20 22:17:19,683.683 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:17:19,945.945 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:17:19,951.951 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:17:20,087.087 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:17:20,136.136 INFO    ] time= 20/10/2026 22:17:20
[2026-10-20 22:17:20,175.175 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:17:20,219.219 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:17:20,345.345 INFO    ] No existing commands found in stream
[2026-10-20 22:17:25,375.375 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:17:25,378.378 INFO    ] Waiting 2.25 seconds before fallback handling...
[2026-10-20 22:17:28,153.153 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:17:28,156.156 INFO    ] Checking for system updates...
[2026-10-20 22:17:28,196.196 INFO    ] 200
[2026-10-20 22:17:28,198.198 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:17:28,255.255 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:17:28,258.258 INFO    ] No update needed
[2026-10-20 22:17:28,260.260 INFO    ] Checking for camera pi updates...
[2026-10-20 22:17:28,298.298 INFO    ] 200
[2026-10-20 22:17:28,301.301 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:17:28,349.349 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:17:28,404.404 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:17:28,406.406 INFO    ] No camera update needed
[2026-10-20 22:17:28,408.408 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:17:28,411.411 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:17:28,416.416 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:17:28,421.421 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:17:30,460.460 INFO    ] ================================================
[2026-10-20 22:17:30,475.475 INFO    ] Launching Daemon at Tue Oct 20 22:17:30 IST 2026
[2026-10-20 22:17:30,485.485 INFO    ] ================================================
[2026-10-20 22:17:31,112.112 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:17:31
[2026-10-20 22:17:31,727.727 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:17:32,015.015 INFO    ] Initializing speech engine...
[2026-10-20 22:17:32,029.029 INFO    ] 2026-10-20 22:17:32
[2026-10-20 22:17:32,294.294 INFO    ] 2026-10-20 22:17:32
[2026-10-20 22:17:32,338.338 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:17:32,607.607 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:17:32,613.613 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:17:32,849.849 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:17:32,879.879 INFO    ] time= 20/10/2026 22:17:32
[2026-10-20 22:17:32,897.897 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:17:32,906.906 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:17:33,053.053 INFO    ] No existing commands found in stream
[2026-10-20 22:17:38,069.069 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:17:38,072.072 INFO    ] Waiting 1.11 seconds before fallback handling...
[2026-10-20 22:17:39,690.690 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:17:39,693.693 INFO    ] Checking for system updates...
[2026-10-20 22:17:39,747.747 INFO    ] 200
[2026-10-20 22:17:39,750.750 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:17:39,806.806 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:17:39,809.809 INFO    ] No update needed
[2026-10-20 22:17:39,811.811 INFO    ] Checking for camera pi updates...
[2026-10-20 22:17:39,850.850 INFO    ] 200
[2026-10-20 22:17:39,853.853 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:17:39,899.899 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:17:40,051.051 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:17:40,054.054 INFO    ] No camera update needed
[2026-10-20 22:17:40,056.056 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:17:40,059.059 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:17:40,065.065 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:17:40,071.071 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:17:42,111.111 INFO    ] ================================================
[2026-10-20 22:17:42,126.126 INFO    ] Launching Daemon at Tue Oct 20 22:17:42 IST 2026
[2026-10-20 22:17:42,137.137 INFO    ] ================================================
[2026-10-20 22:17:42,703.703 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:17:42
[2026-10-20 22:17:43,285.285 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:17:43,546.546 INFO    ] Initializing speech engine...
[2026-10-20 22:17:43,565.565 INFO    ] 2026-10-20 22:17:43
[2026-10-20 22:17:43,815.815 INFO    ] 2026-10-20 22:17:43
[2026-10-20 22:17:43,849.849 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:17:44,046.046 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:17:44,053.053 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:17:44,249.249 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:17:44,272.272 INFO    ] time= 20/10/2026 22:17:44
[2026-10-20 22:17:44,331.331 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:17:44,385.385 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:17:44,507.507 INFO    ] No existing commands found in stream
[2026-10-20 22:17:49,537.537 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:17:49,540.540 INFO    ] Waiting 1.46 seconds before fallback handling...
[2026-10-20 22:17:51,514.514 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 22:17:51,517.517 INFO    ] Checking for system updates...
[2026-10-20 22:17:51,557.557 INFO    ] 200
[2026-10-20 22:17:51,560.560 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:17:51,624.624 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:17:51,627.627 INFO    ] No update needed
[2026-10-20 22:17:51,629.629 INFO    ] Checking for camera pi updates...
[2026-10-20 22:17:51,667.667 INFO    ] 200
[2026-10-20 22:17:51,670.670 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:17:51,720.720 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:17:51,772.772 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:17:51,775.775 INFO    ] No camera update needed
[2026-10-20 22:17:51,777.777 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:17:51,780.780 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:17:51,786.786 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:17:51,792.792 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:17:53,833.833 INFO    ] ================================================
[2026-10-20 22:17:53,848.848 INFO    ] Launching Daemon at Tue Oct 20 22:17:53 IST 2026
[2026-10-20 22:17:53,858.858 INFO    ] ================================================
[2026-10-20 22:17:54,439.439 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:17:54
[2026-10-20 22:17:55,037.037 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:17:55,292.292 INFO    ] Initializing speech engine...
[2026-10-20 22:17:55,315.315 INFO    ] 2026-10-20 22:17:55
[2026-10-20 22:17:55,585.585 INFO    ] 2026-10-20 22:17:55
[2026-10-20 22:17:55,623.623 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:17:55,848.848 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:17:55,913.913 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:17:56,075.075 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:17:56,135.135 INFO    ] time= 20/10/2026 22:17:56
[2026-10-20 22:17:56,179.179 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:17:56,222.222 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:17:56,355.355 INFO    ] No existing commands found in stream
[2026-10-20 22:18:01,373.373 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:18:01,376.376 INFO    ] Waiting 3.41 seconds before fallback handling...
[2026-10-20 22:18:05,301.301 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:18:05,303.303 INFO    ] Checking for system updates...
[2026-10-20 22:18:05,340.340 INFO    ] 200
[2026-10-20 22:18:05,343.343 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:18:05,400.400 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:18:05,402.402 INFO    ] No update needed
[2026-10-20 22:18:05,405.405 INFO    ] Checking for camera pi updates...
[2026-10-20 22:18:05,443.443 INFO    ] 200
[2026-10-20 22:18:05,445.445 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:18:05,490.490 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:18:05,544.544 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:18:05,547.547 INFO    ] No camera update needed
[2026-10-20 22:18:05,550.550 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:18:05,552.552 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:18:05,558.558 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:18:05,564.564 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:18:07,605.605 INFO    ] ================================================
[2026-10-20 22:18:07,620.620 INFO    ] Launching Daemon at Tue Oct 20 22:18:07 IST 2026
[2026-10-20 22:18:07,630.630 INFO    ] ================================================
[2026-10-20 22:18:08,216.216 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:18:08
[2026-10-20 22:18:08,813.813 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:18:09,083.083 INFO    ] Initializing speech engine...
[2026-10-20 22:18:09,098.098 INFO    ] 2026-10-20 22:18:09
[2026-10-20 22:18:09,367.367 INFO    ] 2026-10-20 22:18:09
[2026-10-20 22:18:09,403.403 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:18:09,676.676 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:18:09,690.690 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:18:09,900.900 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:18:09,970.970 INFO    ] time= 20/10/2026 22:18:09
[2026-10-20 22:18:09,980.980 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:18:09,986.986 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:18:10,132.132 INFO    ] No existing commands found in stream
[2026-10-20 22:18:15,156.156 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:18:15,159.159 INFO    ] Waiting 2.60 seconds before fallback handling...
[2026-10-20 22:18:18,253.253 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 22:18:18,256.256 INFO    ] Checking for system updates...
[2026-10-20 22:18:18,291.291 INFO    ] 200
[2026-10-20 22:18:18,293.293 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:18:18,345.345 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:18:18,348.348 INFO    ] No update needed
[2026-10-20 22:18:18,350.350 INFO    ] Checking for camera pi updates...
[2026-10-20 22:18:18,383.383 INFO    ] 200
[2026-10-20 22:18:18,385.385 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:18:18,429.429 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:18:18,482.482 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:18:18,485.485 INFO    ] No camera update needed
[2026-10-20 22:18:18,487.487 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:18:18,489.489 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:18:18,495.495 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:18:18,500.500 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:18:20,540.540 INFO    ] ================================================
[2026-10-20 22:18:20,554.554 INFO    ] Launching Daemon at Tue Oct 20 22:18:20 IST 2026
[2026-10-20 22:18:20,565.565 INFO    ] ================================================
[2026-10-20 22:18:21,183.183 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:18:21
[2026-10-20 22:18:21,820.820 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:18:22,115.115 INFO    ] Initializing speech engine...
[2026-10-20 22:18:22,124.124 INFO    ] 2026-10-20 22:18:22
[2026-10-20 22:18:22,389.389 INFO    ] 2026-10-20 22:18:22
[2026-10-20 22:18:22,424.424 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:18:22,683.683 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:18:22,688.688 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:18:23,197.197 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:18:23,237.237 INFO    ] time= 20/10/2026 22:18:23
[2026-10-20 22:18:23,291.291 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:18:23,341.341 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:18:23,509.509 INFO    ] No existing commands found in stream
[2026-10-20 22:18:28,540.540 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:18:28,543.543 INFO    ] Waiting 1.95 seconds before fallback handling...
[2026-10-20 22:18:31,012.012 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 22:18:31,015.015 INFO    ] Checking for system updates...
[2026-10-20 22:18:31,051.051 INFO    ] 200
[2026-10-20 22:18:31,054.054 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:18:31,112.112 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:18:31,114.114 INFO    ] No update needed
[2026-10-20 22:18:31,117.117 INFO    ] Checking for camera pi updates...
[2026-10-20 22:18:31,152.152 INFO    ] 200
[2026-10-20 22:18:31,155.155 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:18:31,201.201 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:18:31,245.245 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:18:31,247.247 INFO    ] No camera update needed
[2026-10-20 22:18:31,250.250 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:18:31,252.252 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:18:31,259.259 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:18:31,264.264 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:18:33,306.306 INFO    ] ================================================
[2026-10-20 22:18:33,321.321 INFO    ] Launching Daemon at Tue Oct 20 22:18:33 IST 2026
[2026-10-20 22:18:33,332.332 INFO    ] ================================================
[2026-10-20 22:18:33,962.962 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:18:33
[2026-10-20 22:18:34,613.613 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:18:34,909.909 INFO    ] Initializing speech engine...
[2026-10-20 22:18:34,918.918 INFO    ] 2026-10-20 22:18:34
[2026-10-20 22:18:35,190.190 INFO    ] 2026-10-20 22:18:35
[2026-10-20 22:18:35,246.246 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:18:35,470.470 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:18:35,480.480 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:18:35,695.695 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:18:35,739.739 INFO    ] time= 20/10/2026 22:18:35
[2026-10-20 22:18:35,757.757 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:18:35,767.767 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:18:35,895.895 INFO    ] No existing commands found in stream
[2026-10-20 22:18:40,911.911 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:18:40,915.915 INFO    ] Waiting 0.82 seconds before fallback handling...
[2026-10-20 22:18:42,223.223 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:18:42,226.226 INFO    ] Checking for system updates...
[2026-10-20 22:18:42,265.265 INFO    ] 200
[2026-10-20 22:18:42,268.268 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:18:42,320.320 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:18:42,323.323 INFO    ] No update needed
[2026-10-20 22:18:42,325.325 INFO    ] Checking for camera pi updates...
[2026-10-20 22:18:42,360.360 INFO    ] 200
[2026-10-20 22:18:42,362.362 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:18:42,408.408 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:18:42,456.456 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:18:42,459.459 INFO    ] No camera update needed
[2026-10-20 22:18:42,462.462 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:18:42,464.464 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:18:42,470.470 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:18:42,476.476 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:18:44,516.516 INFO    ] ================================================
[2026-10-20 22:18:44,531.531 INFO    ] Launching Daemon at Tue Oct 20 22:18:44 IST 2026
[2026-10-20 22:18:44,542.542 INFO    ] ================================================
[2026-10-20 22:18:45,108.108 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:18:45
[2026-10-20 22:18:45,690.690 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:18:45,944.944 INFO    ] Initializing speech engine...
[2026-10-20 22:18:45,959.959 INFO    ] 2026-10-20 22:18:45
[2026-10-20 22:18:46,237.237 INFO    ] 2026-10-20 22:18:46
[2026-10-20 22:18:46,275.275 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:18:46,469.469 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:18:46,482.482 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:18:46,642.642 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:18:46,647.647 INFO    ] time= 20/10/2026 22:18:46
[2026-10-20 22:18:46,655.655 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:18:46,701.701 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:18:46,854.854 INFO    ] No existing commands found in stream
[2026-10-20 22:18:51,876.876 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:18:51,879.879 INFO    ] Waiting 3.64 seconds before fallback handling...
[2026-10-20 22:18:56,041.041 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 22:18:56,043.043 INFO    ] Checking for system updates...
[2026-10-20 22:18:56,079.079 INFO    ] 200
[2026-10-20 22:18:56,081.081 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:18:56,135.135 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:18:56,137.137 INFO    ] No update needed
[2026-10-20 22:18:56,140.140 INFO    ] Checking for camera pi updates...
[2026-10-20 22:18:56,174.174 INFO    ] 200
[2026-10-20 22:18:56,176.176 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:18:56,220.220 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:18:56,263.263 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:18:56,266.266 INFO    ] No camera update needed
[2026-10-20 22:18:56,268.268 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:18:56,270.270 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:18:56,276.276 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:18:56,281.281 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:18:58,320.320 INFO    ] ================================================
[2026-10-20 22:18:58,336.336 INFO    ] Launching Daemon at Tue Oct 20 22:18:58 IST 2026
[2026-10-20 22:18:58,347.347 INFO    ] ================================================
[2026-10-20 22:18:58,921.921 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:18:58
[2026-10-20 22:18:59,507.507 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:18:59,768.768 INFO    ] Initializing speech engine...
[2026-10-20 22:18:59,787.787 INFO    ] 2026-10-20 22:18:59
[2026-10-20 22:19:00,038.038 INFO    ] 2026-10-20 22:19:00
[2026-10-20 22:19:00,074.074 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:19:00,336.336 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:19:00,345.345 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:19:00,486.486 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:19:00,531.531 INFO    ] time= 20/10/2026 22:19:00
[2026-10-20 22:19:00,585.585 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:19:00,621.621 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:19:00,767.767 INFO    ] No existing commands found in stream
[2026-10-20 22:19:05,784.784 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:19:05,787.787 INFO    ] Waiting 3.84 seconds before fallback handling...
[2026-10-20 22:19:10,123.123 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:19:10,126.126 INFO    ] Checking for system updates...
[2026-10-20 22:19:10,165.165 INFO    ] 200
[2026-10-20 22:19:10,168.168 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:19:10,226.226 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:19:10,229.229 INFO    ] No update needed
[2026-10-20 22:19:10,232.232 INFO    ] Checking for camera pi updates...
[2026-10-20 22:19:10,264.264 INFO    ] 200
[2026-10-20 22:19:10,267.267 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:19:10,307.307 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:19:10,352.352 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:19:10,354.354 INFO    ] No camera update needed
[2026-10-20 22:19:10,357.357 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:19:10,359.359 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:19:10,364.364 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:19:10,369.369 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:19:12,410.410 INFO    ] ================================================
[2026-10-20 22:19:12,426.426 INFO    ] Launching Daemon at Tue Oct 20 22:19:12 IST 2026
[2026-10-20 22:19:12,438.438 INFO    ] ================================================
[2026-10-20 22:19:13,004.004 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:19:13
[2026-10-20 22:19:13,584.584 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:19:13,859.859 INFO    ] Initializing speech engine...
[2026-10-20 22:19:13,872.872 INFO    ] 2026-10-20 22:19:13
[2026-10-20 22:19:14,133.133 INFO    ] 2026-10-20 22:19:14
[2026-10-20 22:19:14,172.172 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:19:14,397.397 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:19:14,456.456 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:19:14,613.613 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:19:14,642.642 INFO    ] time= 20/10/2026 22:19:14
[2026-10-20 22:19:14,691.691 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:19:14,735.735 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:19:14,886.886 INFO    ] No existing commands found in stream
[2026-10-20 22:19:19,899.899 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:19:19,901.901 INFO    ] Waiting 2.29 seconds before fallback handling...
[2026-10-20 22:19:22,711.711 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:19:22,714.714 INFO    ] Checking for system updates...
[2026-10-20 22:19:22,749.749 INFO    ] 200
[2026-10-20 22:19:22,752.752 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:19:22,804.804 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:19:22,806.806 INFO    ] No update needed
[2026-10-20 22:19:22,808.808 INFO    ] Checking for camera pi updates...
[2026-10-20 22:19:22,845.845 INFO    ] 200
[2026-10-20 22:19:22,848.848 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:19:22,889.889 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:19:22,939.939 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:19:22,941.941 INFO    ] No camera update needed
[2026-10-20 22:19:22,944.944 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:19:22,946.946 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:19:22,951.951 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:19:22,956.956 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:19:25,997.997 INFO    ] ================================================
[2026-10-20 22:19:25,012.012 INFO    ] Launching Daemon at Tue Oct 20 22:19:25 IST 2026
[2026-10-20 22:19:25,023.023 INFO    ] ================================================
[2026-10-20 22:19:25,606.606 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:19:25
[2026-10-20 22:19:26,203.203 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:19:26,480.480 INFO    ] Initializing speech engine...
[2026-10-20 22:19:26,485.485 INFO    ] 2026-10-20 22:19:26
[2026-10-20 22:19:26,741.741 INFO    ] 2026-10-20 22:19:26
[2026-10-20 22:19:26,776.776 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:19:27,039.039 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:19:27,049.049 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:19:27,197.197 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:19:27,219.219 INFO    ] time= 20/10/2026 22:19:27
[2026-10-20 22:19:27,278.278 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:19:27,333.333 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:19:27,474.474 INFO    ] No existing commands found in stream
[2026-10-20 22:19:32,497.497 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:19:32,501.501 INFO    ] Waiting 0.05 seconds before fallback handling...
[2026-10-20 22:19:33,048.048 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:19:33,051.051 INFO    ] Checking for system updates...
[2026-10-20 22:19:33,088.088 INFO    ] 200
[2026-10-20 22:19:33,091.091 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:19:33,148.148 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:19:33,151.151 INFO    ] No update needed
[2026-10-20 22:19:33,153.153 INFO    ] Checking for camera pi updates...
[2026-10-20 22:19:33,190.190 INFO    ] 200
[2026-10-20 22:19:33,193.193 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:19:33,232.232 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:19:33,283.283 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:19:33,285.285 INFO    ] No camera update needed
[2026-10-20 22:19:33,287.287 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:19:33,290.290 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:19:33,295.295 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:19:33,300.300 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:19:35,340.340 INFO    ] ================================================
[2026-10-20 22:19:35,355.355 INFO    ] Launching Daemon at Tue Oct 20 22:19:35 IST 2026
[2026-10-20 22:19:35,366.366 INFO    ] ================================================
[2026-10-20 22:19:35,950.950 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:19:35
[2026-10-20 22:19:36,551.551 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:19:36,824.824 INFO    ] Initializing speech engine...
[2026-10-20 22:19:36,844.844 INFO    ] 2026-10-20 22:19:36
[2026-10-20 22:19:37,110.110 INFO    ] 2026-10-20 22:19:37
[2026-10-20 22:19:37,146.146 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:19:37,364.364 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:19:37,372.372 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:19:37,521.521 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:19:37,548.548 INFO    ] time= 20/10/2026 22:19:37
[2026-10-20 22:19:37,594.594 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:19:37,607.607 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:19:37,736.736 INFO    ] No existing commands found in stream
[2026-10-20 22:19:42,751.751 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:19:42,754.754 INFO    ] Waiting 0.21 seconds before fallback handling...
[2026-10-20 22:19:43,469.469 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:19:43,472.472 INFO    ] Checking for system updates...
[2026-10-20 22:19:43,509.509 INFO    ] 200
[2026-10-20 22:19:43,511.511 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:19:43,563.563 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:19:43,566.566 INFO    ] No update needed
[2026-10-20 22:19:43,569.569 INFO    ] Checking for camera pi updates...
[2026-10-20 22:19:43,603.603 INFO    ] 200
[2026-10-20 22:19:43,606.606 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:19:43,646.646 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:19:43,800.800 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:19:43,803.803 INFO    ] No camera update needed
[2026-10-20 22:19:43,806.806 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:19:43,808.808 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:19:43,814.814 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:19:43,820.820 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:19:45,860.860 INFO    ] ================================================
[2026-10-20 22:19:45,876.876 INFO    ] Launching Daemon at Tue Oct 20 22:19:45 IST 2026
[2026-10-20 22:19:45,886.886 INFO    ] ================================================
[2026-10-20 22:19:46,488.488 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:19:46
[2026-10-20 22:19:47,134.134 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:19:47,430.430 INFO    ] Initializing speech engine...
[2026-10-20 22:19:47,440.440 INFO    ] 2026-10-20 22:19:47
[2026-10-20 22:19:47,706.706 INFO    ] 2026-10-20 22:19:47
[2026-10-20 22:19:47,741.741 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:19:47,991.991 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:19:48,002.002 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:19:48,206.206 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:19:48,257.257 INFO    ] time= 20/10/2026 22:19:48
[2026-10-20 22:19:48,273.273 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:19:48,289.289 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:19:48,450.450 INFO    ] No existing commands found in stream
[2026-10-20 22:19:53,477.477 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:19:53,484.484 INFO    ] Waiting 3.03 seconds before fallback handling...
[2026-10-20 22:19:57,037.037 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:19:57,040.040 INFO    ] Checking for system updates...
[2026-10-20 22:19:57,076.076 INFO    ] 200
[2026-10-20 22:19:57,079.079 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:19:57,131.131 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:19:57,134.134 INFO    ] No update needed
[2026-10-20 22:19:57,136.136 INFO    ] Checking for camera pi updates...
[2026-10-20 22:19:57,170.170 INFO    ] 200
[2026-10-20 22:19:57,173.173 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:19:57,217.217 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:19:57,266.266 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:19:57,269.269 INFO    ] No camera update needed
[2026-10-20 22:19:57,272.272 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:19:57,274.274 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:19:57,280.280 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:19:57,286.286 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:19:59,325.325 INFO    ] ================================================
[2026-10-20 22:19:59,346.346 INFO    ] Launching Daemon at Tue Oct 20 22:19:59 IST 2026
[2026-10-20 22:19:59,357.357 INFO    ] ================================================
[2026-10-20 22:19:59,936.936 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:19:59
[2026-10-20 22:20:00,536.536 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:20:00,810.810 INFO    ] Initializing speech engine...
[2026-10-20 22:20:00,820.820 INFO    ] 2026-10-20 22:20:00
[2026-10-20 22:20:01,071.071 INFO    ] 2026-10-20 22:20:01
[2026-10-20 22:20:01,137.137 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:20:01,365.365 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:20:01,371.371 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:20:01,555.555 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:20:01,624.624 INFO    ] time= 20/10/2026 22:20:01
[2026-10-20 22:20:01,644.644 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:20:01,653.653 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:20:01,782.782 INFO    ] No existing commands found in stream
[2026-10-20 22:20:06,794.794 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:20:06,797.797 INFO    ] Waiting 1.24 seconds before fallback handling...
[2026-10-20 22:20:08,533.533 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:20:08,535.535 INFO    ] Checking for system updates...
[2026-10-20 22:20:08,572.572 INFO    ] 200
[2026-10-20 22:20:08,574.574 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:20:08,628.628 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:20:08,631.631 INFO    ] No update needed
[2026-10-20 22:20:08,634.634 INFO    ] Checking for camera pi updates...
[2026-10-20 22:20:08,667.667 INFO    ] 200
[2026-10-20 22:20:08,670.670 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:20:08,710.710 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:20:08,758.758 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:20:08,760.760 INFO    ] No camera update needed
[2026-10-20 22:20:08,763.763 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:20:08,765.765 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:20:08,770.770 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:20:08,775.775 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:20:10,816.816 INFO    ] ================================================
[2026-10-20 22:20:10,832.832 INFO    ] Launching Daemon at Tue Oct 20 22:20:10 IST 2026
[2026-10-20 22:20:10,843.843 INFO    ] ================================================
[2026-10-20 22:20:11,430.430 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:20:11
[2026-10-20 22:20:12,028.028 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:20:12,291.291 INFO    ] Initializing speech engine...
[2026-10-20 22:20:12,307.307 INFO    ] 2026-10-20 22:20:12
[2026-10-20 22:20:12,590.590 INFO    ] 2026-10-20 22:20:12
[2026-10-20 22:20:12,629.629 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:20:12,835.835 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:20:12,852.852 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:20:13,001.001 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:20:13,006.006 INFO    ] time= 20/10/2026 22:20:13
[2026-10-20 22:20:13,013.013 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:20:13,018.018 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:20:13,144.144 INFO    ] No existing commands found in stream
[2026-10-20 22:20:18,174.174 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:20:18,177.177 INFO    ] Waiting 0.83 seconds before fallback handling...
[2026-10-20 22:20:19,508.508 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:20:19,511.511 INFO    ] Checking for system updates...
[2026-10-20 22:20:19,546.546 INFO    ] 200
[2026-10-20 22:20:19,549.549 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:20:19,601.601 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:20:19,604.604 INFO    ] No update needed
[2026-10-20 22:20:19,607.607 INFO    ] Checking for camera pi updates...
[2026-10-20 22:20:19,640.640 INFO    ] 200
[2026-10-20 22:20:19,642.642 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:20:19,682.682 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:20:19,728.728 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:20:19,730.730 INFO    ] No camera update needed
[2026-10-20 22:20:19,733.733 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:20:19,735.735 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:20:19,741.741 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:20:19,746.746 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:20:21,785.785 INFO    ] ================================================
[2026-10-20 22:20:21,801.801 INFO    ] Launching Daemon at Tue Oct 20 22:20:21 IST 2026
[2026-10-20 22:20:21,812.812 INFO    ] ================================================
[2026-10-20 22:20:22,445.445 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:20:22
[2026-10-20 22:20:23,096.096 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:20:23,394.394 INFO    ] Initializing speech engine...
[2026-10-20 22:20:23,400.400 INFO    ] 2026-10-20 22:20:23
[2026-10-20 22:20:23,670.670 INFO    ] 2026-10-20 22:20:23
[2026-10-20 22:20:23,705.705 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:20:23,963.963 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:20:23,969.969 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:20:24,195.195 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:20:24,233.233 INFO    ] time= 20/10/2026 22:20:24
[2026-10-20 22:20:24,239.239 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:20:24,262.262 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:20:24,391.391 INFO    ] No existing commands found in stream
[2026-10-20 22:20:29,405.405 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:20:29,408.408 INFO    ] Waiting 2.83 seconds before fallback handling...
[2026-10-20 22:20:32,796.796 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:20:32,800.800 INFO    ] Checking for system updates...
[2026-10-20 22:20:32,845.845 INFO    ] 200
[2026-10-20 22:20:32,848.848 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:20:32,932.932 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:20:32,934.934 INFO    ] No update needed
[2026-10-20 22:20:32,936.936 INFO    ] Checking for camera pi updates...
[2026-10-20 22:20:32,986.986 INFO    ] 200
[2026-10-20 22:20:32,989.989 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:20:33,056.056 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:20:33,100.100 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:20:33,103.103 INFO    ] No camera update needed
[2026-10-20 22:20:33,106.106 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:20:33,108.108 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:20:33,113.113 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:20:33,118.118 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:20:35,158.158 INFO    ] ================================================
[2026-10-20 22:20:35,173.173 INFO    ] Launching Daemon at Tue Oct 20 22:20:35 IST 2026
[2026-10-20 22:20:35,184.184 INFO    ] ================================================
[2026-10-20 22:20:35,760.760 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:20:35
[2026-10-20 22:20:36,357.357 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:20:36,635.635 INFO    ] Initializing speech engine...
[2026-10-20 22:20:36,643.643 INFO    ] 2026-10-20 22:20:36
[2026-10-20 22:20:36,904.904 INFO    ] 2026-10-20 22:20:36
[2026-10-20 22:20:36,958.958 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:20:37,228.228 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:20:37,246.246 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:20:37,441.441 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:20:37,448.448 INFO    ] time= 20/10/2026 22:20:37
[2026-10-20 22:20:37,468.468 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:20:37,495.495 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:20:37,600.600 INFO    ] No existing commands found in stream
[2026-10-20 22:20:42,616.616 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:20:42,619.619 INFO    ] Waiting 1.47 seconds before fallback handling...
[2026-10-20 22:20:44,577.577 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:20:44,580.580 INFO    ] Checking for system updates...
[2026-10-20 22:20:44,615.615 INFO    ] 200
[2026-10-20 22:20:44,618.618 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:20:44,670.670 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:20:44,672.672 INFO    ] No update needed
[2026-10-20 22:20:44,675.675 INFO    ] Checking for camera pi updates...
[2026-10-20 22:20:44,709.709 INFO    ] 200
[2026-10-20 22:20:44,712.712 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:20:44,752.752 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:20:44,799.799 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:20:44,801.801 INFO    ] No camera update needed
[2026-10-20 22:20:44,804.804 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:20:44,806.806 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:20:44,812.812 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:20:44,817.817 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:20:46,856.856 INFO    ] ================================================
[2026-10-20 22:20:46,871.871 INFO    ] Launching Daemon at Tue Oct 20 22:20:46 IST 2026
[2026-10-20 22:20:46,881.881 INFO    ] ================================================
[2026-10-20 22:20:47,448.448 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:20:47
[2026-10-20 22:20:48,030.030 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:20:48,281.281 INFO    ] Initializing speech engine...
[2026-10-20 22:20:48,304.304 INFO    ] 2026-10-20 22:20:48
[2026-10-20 22:20:48,558.558 INFO    ] 2026-10-20 22:20:48
[2026-10-20 22:20:48,592.592 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:20:48,851.851 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:20:48,860.860 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:20:49,002.002 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:20:49,062.062 INFO    ] time= 20/10/2026 22:20:49
[2026-10-20 22:20:49,106.106 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:20:49,133.133 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:20:49,260.260 INFO    ] No existing commands found in stream
[2026-10-20 22:20:54,288.288 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:20:54,291.291 INFO    ] Waiting 1.56 seconds before fallback handling...
[2026-10-20 22:20:56,372.372 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:20:56,374.374 INFO    ] Checking for system updates...
[2026-10-20 22:20:56,413.413 INFO    ] 200
[2026-10-20 22:20:56,416.416 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:20:56,467.467 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:20:56,470.470 INFO    ] No update needed
[2026-10-20 22:20:56,472.472 INFO    ] Checking for camera pi updates...
[2026-10-20 22:20:56,505.505 INFO    ] 200
[2026-10-20 22:20:56,508.508 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:20:56,548.548 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:20:56,596.596 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:20:56,599.599 INFO    ] No camera update needed
[2026-10-20 22:20:56,601.601 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:20:56,603.603 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:20:56,609.609 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:20:56,614.614 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:20:58,653.653 INFO    ] ================================================
[2026-10-20 22:20:58,668.668 INFO    ] Launching Daemon at Tue Oct 20 22:20:58 IST 2026
[2026-10-20 22:20:58,680.680 INFO    ] ================================================
[2026-10-20 22:20:59,246.246 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:20:59
[2026-10-20 22:20:59,829.829 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:21:00,076.076 INFO    ] Initializing speech engine...
[2026-10-20 22:21:00,084.084 INFO    ] 2026-10-20 22:21:00
[2026-10-20 22:21:00,358.358 INFO    ] 2026-10-20 22:21:00
[2026-10-20 22:21:00,393.393 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:21:00,656.656 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:21:00,661.661 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:21:00,862.862 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:21:00,917.917 INFO    ] time= 20/10/2026 22:21:00
[2026-10-20 22:21:00,931.931 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:21:00,947.947 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:21:01,085.085 INFO    ] No existing commands found in stream
[2026-10-20 22:21:06,100.100 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:21:06,103.103 INFO    ] Waiting 2.22 seconds before fallback handling...
[2026-10-20 22:21:08,813.813 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:21:08,816.816 INFO    ] Checking for system updates...
[2026-10-20 22:21:08,856.856 INFO    ] 200
[2026-10-20 22:21:08,858.858 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:21:08,910.910 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:21:08,913.913 INFO    ] No update needed
[2026-10-20 22:21:08,915.915 INFO    ] Checking for camera pi updates...
[2026-10-20 22:21:08,948.948 INFO    ] 200
[2026-10-20 22:21:08,951.951 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:21:08,996.996 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:21:09,043.043 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:21:09,046.046 INFO    ] No camera update needed
[2026-10-20 22:21:09,048.048 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:21:09,050.050 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:21:09,055.055 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:21:09,060.060 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:21:11,099.099 INFO    ] ================================================
[2026-10-20 22:21:11,115.115 INFO    ] Launching Daemon at Tue Oct 20 22:21:11 IST 2026
[2026-10-20 22:21:11,127.127 INFO    ] ================================================
[2026-10-20 22:21:11,695.695 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:21:11
[2026-10-20 22:21:12,280.280 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:21:12,586.586 INFO    ] Initializing speech engine...
[2026-10-20 22:21:12,594.594 INFO    ] 2026-10-20 22:21:12
[2026-10-20 22:21:12,867.867 INFO    ] 2026-10-20 22:21:12
[2026-10-20 22:21:12,936.936 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:21:13,166.166 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:21:13,173.173 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:21:13,327.327 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:21:13,388.388 INFO    ] time= 20/10/2026 22:21:13
[2026-10-20 22:21:13,435.435 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:21:13,453.453 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:21:13,564.564 INFO    ] No existing commands found in stream
[2026-10-20 22:21:18,575.575 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:21:18,578.578 INFO    ] Waiting 3.57 seconds before fallback handling...
[2026-10-20 22:21:22,687.687 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:21:22,690.690 INFO    ] Checking for system updates...
[2026-10-20 22:21:22,727.727 INFO    ] 200
[2026-10-20 22:21:22,730.730 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:21:22,782.782 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:21:22,785.785 INFO    ] No update needed
[2026-10-20 22:21:22,788.788 INFO    ] Checking for camera pi updates...
[2026-10-20 22:21:22,823.823 INFO    ] 200
[2026-10-20 22:21:22,825.825 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:21:22,867.867 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:21:22,913.913 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:21:22,916.916 INFO    ] No camera update needed
[2026-10-20 22:21:22,918.918 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:21:22,921.921 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:21:22,927.927 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:21:22,933.933 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:21:24,977.977 INFO    ] ================================================
[2026-10-20 22:21:24,992.992 INFO    ] Launching Daemon at Tue Oct 20 22:21:24 IST 2026
[2026-10-20 22:21:25,003.003 INFO    ] ================================================
[2026-10-20 22:21:25,586.586 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:21:25
[2026-10-20 22:21:26,189.189 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:21:26,470.470 INFO    ] Initializing speech engine...
[2026-10-20 22:21:26,477.477 INFO    ] 2026-10-20 22:21:26
[2026-10-20 22:21:26,739.739 INFO    ] 2026-10-20 22:21:26
[2026-10-20 22:21:26,793.793 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:21:27,081.081 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:21:27,089.089 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:21:27,290.290 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:21:27,308.308 INFO    ] time= 20/10/2026 22:21:27
[2026-10-20 22:21:27,337.337 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:21:27,345.345 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:21:27,463.463 INFO    ] No existing commands found in stream
[2026-10-20 22:21:32,491.491 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:21:32,494.494 INFO    ] Waiting 0.15 seconds before fallback handling...
[2026-10-20 22:21:33,114.114 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:21:33,117.117 INFO    ] Checking for system updates...
[2026-10-20 22:21:33,153.153 INFO    ] 200
[2026-10-20 22:21:33,155.155 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:21:33,215.215 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:21:33,218.218 INFO    ] No update needed
[2026-10-20 22:21:33,221.221 INFO    ] Checking for camera pi updates...
[2026-10-20 22:21:33,254.254 INFO    ] 200
[2026-10-20 22:21:33,257.257 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:21:33,297.297 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:21:33,330.330 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:21:33,332.332 INFO    ] No camera update needed
[2026-10-20 22:21:33,335.335 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:21:33,337.337 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:21:33,343.343 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:21:33,348.348 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:21:35,389.389 INFO    ] ================================================
[2026-10-20 22:21:35,405.405 INFO    ] Launching Daemon at Tue Oct 20 22:21:35 IST 2026
[2026-10-20 22:21:35,416.416 INFO    ] ================================================
[2026-10-20 22:21:35,986.986 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:21:35
[2026-10-20 22:21:36,571.571 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:21:36,838.838 INFO    ] Initializing speech engine...
[2026-10-20 22:21:36,849.849 INFO    ] 2026-10-20 22:21:36
[2026-10-20 22:21:37,099.099 INFO    ] 2026-10-20 22:21:37
[2026-10-20 22:21:37,158.158 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:21:37,440.440 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:21:37,448.448 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:21:37,631.631 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:21:37,650.650 INFO    ] time= 20/10/2026 22:21:37
[2026-10-20 22:21:37,667.667 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:21:37,674.674 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:21:37,816.816 INFO    ] No existing commands found in stream
[2026-10-20 22:21:42,841.841 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:21:42,844.844 INFO    ] Waiting 1.33 seconds before fallback handling...
[2026-10-20 22:21:44,647.647 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:21:44,650.650 INFO    ] Checking for system updates...
[2026-10-20 22:21:44,690.690 INFO    ] 200
[2026-10-20 22:21:44,692.692 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:21:44,744.744 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:21:44,746.746 INFO    ] No update needed
[2026-10-20 22:21:44,749.749 INFO    ] Checking for camera pi updates...
[2026-10-20 22:21:44,782.782 INFO    ] 200
[2026-10-20 22:21:44,785.785 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:21:44,824.824 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:21:44,871.871 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:21:44,873.873 INFO    ] No camera update needed
[2026-10-20 22:21:44,876.876 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:21:44,878.878 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:21:44,883.883 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:21:44,888.888 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:21:46,931.931 INFO    ] ================================================
[2026-10-20 22:21:46,947.947 INFO    ] Launching Daemon at Tue Oct 20 22:21:46 IST 2026
[2026-10-20 22:21:46,959.959 INFO    ] ================================================
[2026-10-20 22:21:47,603.603 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:21:47
[2026-10-20 22:21:48,222.222 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:21:48,494.494 INFO    ] Initializing speech engine...
[2026-10-20 22:21:48,501.501 INFO    ] 2026-10-20 22:21:48
[2026-10-20 22:21:48,812.812 INFO    ] 2026-10-20 22:21:48
[2026-10-20 22:21:48,861.861 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:21:49,071.071 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:21:49,078.078 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:21:49,262.262 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:21:49,271.271 INFO    ] time= 20/10/2026 22:21:49
[2026-10-20 22:21:49,279.279 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:21:49,285.285 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:21:49,384.384 INFO    ] No existing commands found in stream
[2026-10-20 22:21:54,420.420 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:21:54,422.422 INFO    ] Waiting 3.55 seconds before fallback handling...
[2026-10-20 22:21:59,720.720 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:21:59,723.723 INFO    ] Checking for system updates...
[2026-10-20 22:21:59,758.758 INFO    ] 200
[2026-10-20 22:21:59,761.761 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:21:59,816.816 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:21:59,818.818 INFO    ] No update needed
[2026-10-20 22:21:59,821.821 INFO    ] Checking for camera pi updates...
[2026-10-20 22:21:59,854.854 INFO    ] 200
[2026-10-20 22:21:59,856.856 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:21:59,900.900 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:22:00,045.045 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:22:00,048.048 INFO    ] No camera update needed
[2026-10-20 22:22:00,050.050 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:22:00,052.052 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:22:00,058.058 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:22:00,063.063 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:22:02,108.108 INFO    ] ================================================
[2026-10-20 22:22:02,128.128 INFO    ] Launching Daemon at Tue Oct 20 22:22:02 IST 2026
[2026-10-20 22:22:02,143.143 INFO    ] ================================================
[2026-10-20 22:22:02,778.778 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:22:02
[2026-10-20 22:22:03,404.404 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:22:03,656.656 INFO    ] Initializing speech engine...
[2026-10-20 22:22:03,679.679 INFO    ] 2026-10-20 22:22:03
[2026-10-20 22:22:03,934.934 INFO    ] 2026-10-20 22:22:03
[2026-10-20 22:22:03,970.970 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:22:04,234.234 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:22:04,238.238 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:22:04,468.468 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:22:04,507.507 INFO    ] time= 20/10/2026 22:22:04
[2026-10-20 22:22:04,513.513 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:22:04,531.531 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:22:04,666.666 INFO    ] No existing commands found in stream
[2026-10-20 22:22:09,678.678 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:22:09,681.681 INFO    ] Waiting 2.60 seconds before fallback handling...
[2026-10-20 22:22:12,769.769 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 22:22:12,772.772 INFO    ] Checking for system updates...
[2026-10-20 22:22:12,807.807 INFO    ] 200
[2026-10-20 22:22:12,809.809 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:22:12,861.861 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:22:12,863.863 INFO    ] No update needed
[2026-10-20 22:22:12,866.866 INFO    ] Checking for camera pi updates...
[2026-10-20 22:22:12,899.899 INFO    ] 200
[2026-10-20 22:22:12,901.901 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:22:12,952.952 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:22:12,997.997 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:22:12,999.999 INFO    ] No camera update needed
[2026-10-20 22:22:13,002.002 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:22:13,004.004 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:22:13,009.009 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:22:13,014.014 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:22:15,056.056 INFO    ] ================================================
[2026-10-20 22:22:15,072.072 INFO    ] Launching Daemon at Tue Oct 20 22:22:15 IST 2026
[2026-10-20 22:22:15,083.083 INFO    ] ================================================
[2026-10-20 22:22:15,754.754 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:22:15
[2026-10-20 22:22:16,377.377 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:22:16,650.650 INFO    ] Initializing speech engine...
[2026-10-20 22:22:16,659.659 INFO    ] 2026-10-20 22:22:16
[2026-10-20 22:22:16,907.907 INFO    ] 2026-10-20 22:22:16
[2026-10-20 22:22:16,942.942 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:22:17,198.198 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:22:17,203.203 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:22:17,434.434 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:22:17,460.460 INFO    ] time= 20/10/2026 22:22:17
[2026-10-20 22:22:17,477.477 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:22:17,486.486 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:22:17,615.615 INFO    ] No existing commands found in stream
[2026-10-20 22:22:22,643.643 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:22:22,646.646 INFO    ] Waiting 3.97 seconds before fallback handling...
[2026-10-20 22:22:27,114.114 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 22:22:27,117.117 INFO    ] Checking for system updates...
[2026-10-20 22:22:27,162.162 INFO    ] 200
[2026-10-20 22:22:27,164.164 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:22:27,218.218 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:22:27,221.221 INFO    ] No update needed
[2026-10-20 22:22:27,223.223 INFO    ] Checking for camera pi updates...
[2026-10-20 22:22:27,256.256 INFO    ] 200
[2026-10-20 22:22:27,259.259 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:22:27,299.299 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:22:27,349.349 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:22:27,352.352 INFO    ] No camera update needed
[2026-10-20 22:22:27,354.354 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:22:27,356.356 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:22:27,362.362 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:22:27,367.367 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:22:29,408.408 INFO    ] ================================================
[2026-10-20 22:22:29,424.424 INFO    ] Launching Daemon at Tue Oct 20 22:22:29 IST 2026
[2026-10-20 22:22:29,435.435 INFO    ] ================================================
[2026-10-20 22:22:30,001.001 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:22:29
[2026-10-20 22:22:30,585.585 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:22:30,856.856 INFO    ] Initializing speech engine...
[2026-10-20 22:22:30,865.865 INFO    ] 2026-10-20 22:22:30
[2026-10-20 22:22:31,125.125 INFO    ] 2026-10-20 22:22:31
[2026-10-20 22:22:31,160.160 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:22:31,423.423 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:22:31,434.434 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:22:31,579.579 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:22:31,619.619 INFO    ] time= 20/10/2026 22:22:31
[2026-10-20 22:22:31,685.685 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:22:31,718.718 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:22:31,864.864 INFO    ] No existing commands found in stream
[2026-10-20 22:22:36,886.886 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:22:36,889.889 INFO    ] Waiting 0.87 seconds before fallback handling...
[2026-10-20 22:22:38,217.217 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:22:38,220.220 INFO    ] Checking for system updates...
[2026-10-20 22:22:38,255.255 INFO    ] 200
[2026-10-20 22:22:38,257.257 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:22:38,309.309 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:22:38,311.311 INFO    ] No update needed
[2026-10-20 22:22:38,313.313 INFO    ] Checking for camera pi updates...
[2026-10-20 22:22:38,350.350 INFO    ] 200
[2026-10-20 22:22:38,353.353 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:22:38,393.393 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:22:38,423.423 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:22:38,425.425 INFO    ] No camera update needed
[2026-10-20 22:22:38,427.427 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:22:38,430.430 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:22:38,435.435 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:22:38,440.440 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:22:40,480.480 INFO    ] ================================================
[2026-10-20 22:22:40,495.495 INFO    ] Launching Daemon at Tue Oct 20 22:22:40 IST 2026
[2026-10-20 22:22:40,506.506 INFO    ] ================================================
[2026-10-20 22:22:41,152.152 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:22:41
[2026-10-20 22:22:41,752.752 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:22:42,027.027 INFO    ] Initializing speech engine...
[2026-10-20 22:22:42,038.038 INFO    ] 2026-10-20 22:22:42
[2026-10-20 22:22:42,285.285 INFO    ] 2026-10-20 22:22:42
[2026-10-20 22:22:42,321.321 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:22:42,572.572 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:22:42,582.582 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:22:42,717.717 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:22:42,782.782 INFO    ] time= 20/10/2026 22:22:42
[2026-10-20 22:22:42,845.845 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:22:42,852.852 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:22:43,018.018 INFO    ] No existing commands found in stream
[2026-10-20 22:22:48,049.049 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:22:48,052.052 INFO    ] Waiting 0.76 seconds before fallback handling...
[2026-10-20 22:22:49,299.299 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:22:49,302.302 INFO    ] Checking for system updates...
[2026-10-20 22:22:49,338.338 INFO    ] 200
[2026-10-20 22:22:49,340.340 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:22:49,400.400 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:22:49,402.402 INFO    ] No update needed
[2026-10-20 22:22:49,405.405 INFO    ] Checking for camera pi updates...
[2026-10-20 22:22:49,442.442 INFO    ] 200
[2026-10-20 22:22:49,445.445 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:22:49,485.485 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:22:49,535.535 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:22:49,537.537 INFO    ] No camera update needed
[2026-10-20 22:22:49,539.539 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:22:49,542.542 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:22:49,547.547 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:22:49,552.552 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:22:51,592.592 INFO    ] ================================================
[2026-10-20 22:22:51,607.607 INFO    ] Launching Daemon at Tue Oct 20 22:22:51 IST 2026
[2026-10-20 22:22:51,618.618 INFO    ] ================================================
[2026-10-20 22:22:52,205.205 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:22:52
[2026-10-20 22:22:52,811.811 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:22:53,071.071 INFO    ] Initializing speech engine...
[2026-10-20 22:22:53,080.080 INFO    ] 2026-10-20 22:22:53
[2026-10-20 22:22:53,380.380 INFO    ] 2026-10-20 22:22:53
[2026-10-20 22:22:53,416.416 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:22:53,619.619 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:22:53,635.635 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:22:53,805.805 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:22:53,812.812 INFO    ] time= 20/10/2026 22:22:53
[2026-10-20 22:22:53,819.819 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:22:53,851.851 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:22:53,983.983 INFO    ] No existing commands found in stream
[2026-10-20 22:22:59,008.008 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:22:59,011.011 INFO    ] Waiting 3.92 seconds before fallback handling...
[2026-10-20 22:23:03,428.428 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 22:23:03,431.431 INFO    ] Checking for system updates...
[2026-10-20 22:23:03,468.468 INFO    ] 200
[2026-10-20 22:23:03,471.471 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:23:03,524.524 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:23:03,526.526 INFO    ] No update needed
[2026-10-20 22:23:03,529.529 INFO    ] Checking for camera pi updates...
[2026-10-20 22:23:03,562.562 INFO    ] 200
[2026-10-20 22:23:03,564.564 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:23:03,604.604 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:23:03,653.653 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:23:03,656.656 INFO    ] No camera update needed
[2026-10-20 22:23:03,658.658 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:23:03,661.661 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:23:03,666.666 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:23:03,671.671 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:23:05,710.710 INFO    ] ================================================
[2026-10-20 22:23:05,726.726 INFO    ] Launching Daemon at Tue Oct 20 22:23:05 IST 2026
[2026-10-20 22:23:05,736.736 INFO    ] ================================================
[2026-10-20 22:23:06,323.323 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:23:06
[2026-10-20 22:23:06,927.927 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:23:07,188.188 INFO    ] Initializing speech engine...
[2026-10-20 22:23:07,197.197 INFO    ] 2026-10-20 22:23:07
[2026-10-20 22:23:07,485.485 INFO    ] 2026-10-20 22:23:07
[2026-10-20 22:23:07,552.552 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:23:07,784.784 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:23:07,791.791 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:23:08,009.009 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:23:08,052.052 INFO    ] time= 20/10/2026 22:23:08
[2026-10-20 22:23:08,058.058 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:23:08,076.076 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:23:08,208.208 INFO    ] No existing commands found in stream
[2026-10-20 22:23:13,230.230 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:23:13,234.234 INFO    ] Waiting 2.37 seconds before fallback handling...
[2026-10-20 22:23:16,108.108 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:23:16,111.111 INFO    ] Checking for system updates...
[2026-10-20 22:23:16,148.148 INFO    ] 200
[2026-10-20 22:23:16,151.151 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:23:16,217.217 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:23:16,220.220 INFO    ] No update needed
[2026-10-20 22:23:16,223.223 INFO    ] Checking for camera pi updates...
[2026-10-20 22:23:16,258.258 INFO    ] 200
[2026-10-20 22:23:16,262.262 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:23:16,308.308 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:23:16,357.357 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:23:16,360.360 INFO    ] No camera update needed
[2026-10-20 22:23:16,363.363 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:23:16,366.366 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:23:16,372.372 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:23:16,378.378 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:23:18,420.420 INFO    ] ================================================
[2026-10-20 22:23:18,435.435 INFO    ] Launching Daemon at Tue Oct 20 22:23:18 IST 2026
[2026-10-20 22:23:18,446.446 INFO    ] ================================================
[2026-10-20 22:23:19,104.104 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:23:19
[2026-10-20 22:23:19,774.774 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:23:20,078.078 INFO    ] Initializing speech engine...
[2026-10-20 22:23:20,085.085 INFO    ] 2026-10-20 22:23:20
[2026-10-20 22:23:20,361.361 INFO    ] 2026-10-20 22:23:20
[2026-10-20 22:23:20,419.419 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:23:20,646.646 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:23:20,651.651 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:23:20,889.889 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:23:20,908.908 INFO    ] time= 20/10/2026 22:23:20
[2026-10-20 22:23:20,926.926 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:23:20,935.935 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:23:21,064.064 INFO    ] No existing commands found in stream
[2026-10-20 22:23:26,084.084 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:23:26,088.088 INFO    ] Waiting 3.01 seconds before fallback handling...
[2026-10-20 22:23:29,635.635 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:23:29,637.637 INFO    ] Checking for system updates...
[2026-10-20 22:23:29,677.677 INFO    ] 200
[2026-10-20 22:23:29,680.680 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:23:29,738.738 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:23:29,741.741 INFO    ] No update needed
[2026-10-20 22:23:29,743.743 INFO    ] Checking for camera pi updates...
[2026-10-20 22:23:29,777.777 INFO    ] 200
[2026-10-20 22:23:29,780.780 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:23:29,821.821 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:23:29,872.872 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:23:29,874.874 INFO    ] No camera update needed
[2026-10-20 22:23:29,877.877 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:23:29,879.879 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:23:29,884.884 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:23:29,890.890 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:23:31,931.931 INFO    ] ================================================
[2026-10-20 22:23:31,947.947 INFO    ] Launching Daemon at Tue Oct 20 22:23:31 IST 2026
[2026-10-20 22:23:31,958.958 INFO    ] ================================================
[2026-10-20 22:23:32,573.573 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:23:32
[2026-10-20 22:23:33,172.172 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:23:33,449.449 INFO    ] Initializing speech engine...
[2026-10-20 22:23:33,456.456 INFO    ] 2026-10-20 22:23:33
[2026-10-20 22:23:33,719.719 INFO    ] 2026-10-20 22:23:33
[2026-10-20 22:23:33,748.748 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:23:33,999.999 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:23:34,004.004 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:23:34,216.216 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:23:34,261.261 INFO    ] time= 20/10/2026 22:23:34
[2026-10-20 22:23:34,268.268 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:23:34,286.286 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:23:34,441.441 INFO    ] No existing commands found in stream
[2026-10-20 22:23:39,471.471 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:23:39,474.474 INFO    ] Waiting 1.92 seconds before fallback handling...
[2026-10-20 22:23:41,899.899 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:23:41,901.901 INFO    ] Checking for system updates...
[2026-10-20 22:23:41,939.939 INFO    ] 200
[2026-10-20 22:23:41,942.942 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:23:41,993.993 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:23:41,996.996 INFO    ] No update needed
[2026-10-20 22:23:41,998.998 INFO    ] Checking for camera pi updates...
[2026-10-20 22:23:42,031.031 INFO    ] 200
[2026-10-20 22:23:42,034.034 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:23:42,074.074 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:23:42,127.127 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:23:42,129.129 INFO    ] No camera update needed
[2026-10-20 22:23:42,132.132 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:23:42,134.134 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:23:42,140.140 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:23:42,146.146 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:23:44,186.186 INFO    ] ================================================
[2026-10-20 22:23:44,201.201 INFO    ] Launching Daemon at Tue Oct 20 22:23:44 IST 2026
[2026-10-20 22:23:44,212.212 INFO    ] ================================================
[2026-10-20 22:23:44,793.793 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:23:44
[2026-10-20 22:23:45,394.394 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:23:45,681.681 INFO    ] Initializing speech engine...
[2026-10-20 22:23:45,691.691 INFO    ] 2026-10-20 22:23:45
[2026-10-20 22:23:45,958.958 INFO    ] 2026-10-20 22:23:45
[2026-10-20 22:23:45,993.993 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:23:46,188.188 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:23:46,194.194 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:23:46,332.332 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:23:46,353.353 INFO    ] time= 20/10/2026 22:23:46
[2026-10-20 22:23:46,375.375 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:23:46,384.384 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:23:46,461.461 INFO    ] No existing commands found in stream
[2026-10-20 22:23:51,477.477 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:23:51,480.480 INFO    ] Waiting 1.73 seconds before fallback handling...
[2026-10-20 22:23:53,729.729 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:23:53,731.731 INFO    ] Checking for system updates...
[2026-10-20 22:23:53,767.767 INFO    ] 200
[2026-10-20 22:23:53,769.769 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:23:53,826.826 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:23:53,828.828 INFO    ] No update needed
[2026-10-20 22:23:53,831.831 INFO    ] Checking for camera pi updates...
[2026-10-20 22:23:53,864.864 INFO    ] 200
[2026-10-20 22:23:53,867.867 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:23:53,907.907 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:23:53,958.958 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:23:53,960.960 INFO    ] No camera update needed
[2026-10-20 22:23:53,963.963 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:23:53,965.965 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:23:53,971.971 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:23:53,975.975 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:23:56,015.015 INFO    ] ================================================
[2026-10-20 22:23:56,030.030 INFO    ] Launching Daemon at Tue Oct 20 22:23:56 IST 2026
[2026-10-20 22:23:56,040.040 INFO    ] ================================================
[2026-10-20 22:23:56,645.645 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:23:56
[2026-10-20 22:23:57,301.301 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:23:57,596.596 INFO    ] Initializing speech engine...
[2026-10-20 22:23:57,607.607 INFO    ] 2026-10-20 22:23:57
[2026-10-20 22:23:57,884.884 INFO    ] 2026-10-20 22:23:57
[2026-10-20 22:23:57,942.942 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:23:58,174.174 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:23:58,197.197 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:23:58,407.407 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:23:58,444.444 INFO    ] time= 20/10/2026 22:23:58
[2026-10-20 22:23:58,464.464 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:23:58,495.495 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:23:58,606.606 INFO    ] No existing commands found in stream
[2026-10-20 22:24:03,643.643 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:24:03,646.646 INFO    ] Waiting 2.25 seconds before fallback handling...
[2026-10-20 22:24:06,487.487 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:24:06,490.490 INFO    ] Checking for system updates...
[2026-10-20 22:24:06,528.528 INFO    ] 200
[2026-10-20 22:24:06,531.531 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:24:06,584.584 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:24:06,587.587 INFO    ] No update needed
[2026-10-20 22:24:06,589.589 INFO    ] Checking for camera pi updates...
[2026-10-20 22:24:06,623.623 INFO    ] 200
[2026-10-20 22:24:06,626.626 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:24:06,667.667 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:24:06,719.719 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:24:06,721.721 INFO    ] No camera update needed
[2026-10-20 22:24:06,724.724 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:24:06,726.726 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:24:06,731.731 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:24:06,736.736 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:24:08,775.775 INFO    ] ================================================
[2026-10-20 22:24:08,791.791 INFO    ] Launching Daemon at Tue Oct 20 22:24:08 IST 2026
[2026-10-20 22:24:08,801.801 INFO    ] ================================================
[2026-10-20 22:24:09,457.457 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:24:09
[2026-10-20 22:24:10,135.135 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:24:10,439.439 INFO    ] Initializing speech engine...
[2026-10-20 22:24:10,445.445 INFO    ] 2026-10-20 22:24:10
[2026-10-20 22:24:10,735.735 INFO    ] 2026-10-20 22:24:10
[2026-10-20 22:24:10,784.784 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:24:11,071.071 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:24:11,080.080 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:24:11,275.275 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:24:11,289.289 INFO    ] time= 20/10/2026 22:24:11
[2026-10-20 22:24:11,311.311 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:24:11,340.340 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:24:11,435.435 INFO    ] No existing commands found in stream
[2026-10-20 22:24:16,446.446 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:24:16,449.449 INFO    ] Waiting 3.72 seconds before fallback handling...
[2026-10-20 22:24:20,736.736 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 22:24:20,739.739 INFO    ] Checking for system updates...
[2026-10-20 22:24:20,779.779 INFO    ] 200
[2026-10-20 22:24:20,783.783 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:24:20,836.836 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:24:20,838.838 INFO    ] No update needed
[2026-10-20 22:24:20,841.841 INFO    ] Checking for camera pi updates...
[2026-10-20 22:24:20,883.883 INFO    ] 200
[2026-10-20 22:24:20,886.886 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:24:20,927.927 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:24:20,980.980 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:24:20,983.983 INFO    ] No camera update needed
[2026-10-20 22:24:20,985.985 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:24:20,988.988 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:24:20,994.994 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:24:21,000.000 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:24:23,040.040 INFO    ] ================================================
[2026-10-20 22:24:23,055.055 INFO    ] Launching Daemon at Tue Oct 20 22:24:23 IST 2026
[2026-10-20 22:24:23,066.066 INFO    ] ================================================
[2026-10-20 22:24:23,637.637 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:24:23
[2026-10-20 22:24:24,229.229 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:24:24,491.491 INFO    ] Initializing speech engine...
[2026-10-20 22:24:24,504.504 INFO    ] 2026-10-20 22:24:24
[2026-10-20 22:24:24,787.787 INFO    ] 2026-10-20 22:24:24
[2026-10-20 22:24:24,827.827 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:24:25,185.185 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:24:25,195.195 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:24:25,380.380 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:24:25,423.423 INFO    ] time= 20/10/2026 22:24:25
[2026-10-20 22:24:25,430.430 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:24:25,450.450 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:24:25,570.570 INFO    ] No existing commands found in stream
[2026-10-20 22:24:30,600.600 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:24:30,603.603 INFO    ] Waiting 0.99 seconds before fallback handling...
[2026-10-20 22:24:32,097.097 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:24:32,100.100 INFO    ] Checking for system updates...
[2026-10-20 22:24:32,138.138 INFO    ] 200
[2026-10-20 22:24:32,141.141 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:24:32,204.204 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:24:32,206.206 INFO    ] No update needed
[2026-10-20 22:24:32,209.209 INFO    ] Checking for camera pi updates...
[2026-10-20 22:24:32,248.248 INFO    ] 200
[2026-10-20 22:24:32,251.251 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:24:32,300.300 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:24:32,340.340 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:24:32,343.343 INFO    ] No camera update needed
[2026-10-20 22:24:32,346.346 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:24:32,349.349 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:24:32,355.355 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:24:32,362.362 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:24:34,402.402 INFO    ] ================================================
[2026-10-20 22:24:34,417.417 INFO    ] Launching Daemon at Tue Oct 20 22:24:34 IST 2026
[2026-10-20 22:24:34,428.428 INFO    ] ================================================
[2026-10-20 22:24:35,021.021 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:24:35
[2026-10-20 22:24:35,606.606 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:24:35,872.872 INFO    ] Initializing speech engine...
[2026-10-20 22:24:35,882.882 INFO    ] 2026-10-20 22:24:35
[2026-10-20 22:24:36,129.129 INFO    ] 2026-10-20 22:24:36
[2026-10-20 22:24:36,164.164 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:24:36,397.397 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:24:36,419.419 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:24:36,643.643 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:24:36,682.682 INFO    ] time= 20/10/2026 22:24:36
[2026-10-20 22:24:36,688.688 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:24:36,705.705 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:24:36,832.832 INFO    ] No existing commands found in stream
[2026-10-20 22:24:41,846.846 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:24:41,849.849 INFO    ] Waiting 2.94 seconds before fallback handling...
[2026-10-20 22:24:45,326.326 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:24:45,329.329 INFO    ] Checking for system updates...
[2026-10-20 22:24:45,364.364 INFO    ] 200
[2026-10-20 22:24:45,367.367 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:24:45,425.425 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:24:45,427.427 INFO    ] No update needed
[2026-10-20 22:24:45,430.430 INFO    ] Checking for camera pi updates...
[2026-10-20 22:24:45,464.464 INFO    ] 200
[2026-10-20 22:24:45,466.466 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:24:45,506.506 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:24:45,553.553 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:24:45,555.555 INFO    ] No camera update needed
[2026-10-20 22:24:45,558.558 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:24:45,560.560 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:24:45,565.565 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:24:45,570.570 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:24:47,610.610 INFO    ] ================================================
[2026-10-20 22:24:47,626.626 INFO    ] Launching Daemon at Tue Oct 20 22:24:47 IST 2026
[2026-10-20 22:24:47,637.637 INFO    ] ================================================
[2026-10-20 22:24:48,290.290 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:24:48
[2026-10-20 22:24:48,961.961 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:24:49,266.266 INFO    ] Initializing speech engine...
[2026-10-20 22:24:49,277.277 INFO    ] 2026-10-20 22:24:49
[2026-10-20 22:24:49,553.553 INFO    ] 2026-10-20 22:24:49
[2026-10-20 22:24:49,600.600 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:24:49,825.825 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:24:49,847.847 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:24:50,048.048 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:24:50,089.089 INFO    ] time= 20/10/2026 22:24:50
[2026-10-20 22:24:50,106.106 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:24:50,117.117 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:24:50,247.247 INFO    ] No existing commands found in stream
[2026-10-20 22:24:55,270.270 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:24:55,273.273 INFO    ] Waiting 1.38 seconds before fallback handling...
[2026-10-20 22:24:57,182.182 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:24:57,185.185 INFO    ] Checking for system updates...
[2026-10-20 22:24:57,221.221 INFO    ] 200
[2026-10-20 22:24:57,224.224 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:24:57,279.279 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:24:57,282.282 INFO    ] No update needed
[2026-10-20 22:24:57,284.284 INFO    ] Checking for camera pi updates...
[2026-10-20 22:24:57,319.319 INFO    ] 200
[2026-10-20 22:24:57,321.321 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:24:57,366.366 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:24:57,420.420 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:24:57,422.422 INFO    ] No camera update needed
[2026-10-20 22:24:57,424.424 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:24:57,427.427 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:24:57,432.432 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:24:57,437.437 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:24:59,477.477 INFO    ] ================================================
[2026-10-20 22:24:59,492.492 INFO    ] Launching Daemon at Tue Oct 20 22:24:59 IST 2026
[2026-10-20 22:24:59,503.503 INFO    ] ================================================
[2026-10-20 22:25:00,133.133 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:25:00
[2026-10-20 22:25:00,800.800 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:25:01,210.210 INFO    ] Initializing speech engine...
[2026-10-20 22:25:01,254.254 INFO    ] 2026-10-20 22:25:01
[2026-10-20 22:25:01,732.732 INFO    ] 2026-10-20 22:25:01
[2026-10-20 22:25:01,792.792 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:25:02,006.006 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:25:02,027.027 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:25:02,163.163 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:25:02,166.166 INFO    ] time= 20/10/2026 22:25:02
[2026-10-20 22:25:02,187.187 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:25:02,207.207 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:25:02,288.288 INFO    ] No existing commands found in stream
[2026-10-20 22:25:07,300.300 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:25:07,303.303 INFO    ] Waiting 3.03 seconds before fallback handling...
[2026-10-20 22:25:10,812.812 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:25:10,814.814 INFO    ] Checking for system updates...
[2026-10-20 22:25:10,855.855 INFO    ] 200
[2026-10-20 22:25:10,858.858 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:25:10,919.919 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:25:10,922.922 INFO    ] No update needed
[2026-10-20 22:25:10,925.925 INFO    ] Checking for camera pi updates...
[2026-10-20 22:25:10,964.964 INFO    ] 200
[2026-10-20 22:25:10,967.967 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:25:11,008.008 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:25:11,063.063 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:25:11,066.066 INFO    ] No camera update needed
[2026-10-20 22:25:11,069.069 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:25:11,071.071 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:25:11,078.078 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:25:11,083.083 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:25:13,125.125 INFO    ] ================================================
[2026-10-20 22:25:13,141.141 INFO    ] Launching Daemon at Tue Oct 20 22:25:13 IST 2026
[2026-10-20 22:25:13,152.152 INFO    ] ================================================
[2026-10-20 22:25:13,806.806 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:25:13
[2026-10-20 22:25:14,483.483 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:25:14,762.762 INFO    ] Initializing speech engine...
[2026-10-20 22:25:14,772.772 INFO    ] 2026-10-20 22:25:14
[2026-10-20 22:25:15,020.020 INFO    ] 2026-10-20 22:25:15
[2026-10-20 22:25:15,054.054 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:25:15,255.255 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:25:15,313.313 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:25:15,466.466 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:25:15,526.526 INFO    ] time= 20/10/2026 22:25:15
[2026-10-20 22:25:15,580.580 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:25:15,597.597 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:25:15,730.730 INFO    ] No existing commands found in stream
[2026-10-20 22:25:20,762.762 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:25:20,765.765 INFO    ] Waiting 0.01 seconds before fallback handling...
[2026-10-20 22:25:21,346.346 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:25:21,349.349 INFO    ] Checking for system updates...
[2026-10-20 22:25:21,386.386 INFO    ] 200
[2026-10-20 22:25:21,389.389 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:25:21,442.442 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:25:21,444.444 INFO    ] No update needed
[2026-10-20 22:25:21,447.447 INFO    ] Checking for camera pi updates...
[2026-10-20 22:25:21,480.480 INFO    ] 200
[2026-10-20 22:25:21,482.482 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:25:21,529.529 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:25:21,559.559 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:25:21,561.561 INFO    ] No camera update needed
[2026-10-20 22:25:21,563.563 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:25:21,565.565 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:25:21,571.571 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:25:21,576.576 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:25:23,615.615 INFO    ] ================================================
[2026-10-20 22:25:23,631.631 INFO    ] Launching Daemon at Tue Oct 20 22:25:23 IST 2026
[2026-10-20 22:25:23,642.642 INFO    ] ================================================
[2026-10-20 22:25:24,207.207 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:25:24
[2026-10-20 22:25:24,790.790 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:25:25,045.045 INFO    ] Initializing speech engine...
[2026-10-20 22:25:25,053.053 INFO    ] 2026-10-20 22:25:25
[2026-10-20 22:25:25,349.349 INFO    ] 2026-10-20 22:25:25
[2026-10-20 22:25:25,384.384 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:25:25,586.586 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:25:25,601.601 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:25:25,764.764 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:25:25,773.773 INFO    ] time= 20/10/2026 22:25:25
[2026-10-20 22:25:25,780.780 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:25:25,787.787 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:25:25,938.938 INFO    ] No existing commands found in stream
[2026-10-20 22:25:30,957.957 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:25:30,960.960 INFO    ] Waiting 0.15 seconds before fallback handling...
[2026-10-20 22:25:31,595.595 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 22:25:31,598.598 INFO    ] Checking for system updates...
[2026-10-20 22:25:31,635.635 INFO    ] 200
[2026-10-20 22:25:31,638.638 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:25:31,695.695 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:25:31,697.697 INFO    ] No update needed
[2026-10-20 22:25:31,700.700 INFO    ] Checking for camera pi updates...
[2026-10-20 22:25:31,745.745 INFO    ] 200
[2026-10-20 22:25:31,748.748 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:25:31,806.806 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:25:31,841.841 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:25:31,844.844 INFO    ] No camera update needed
[2026-10-20 22:25:31,847.847 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:25:31,850.850 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:25:31,856.856 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:25:31,863.863 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:25:33,904.904 INFO    ] ================================================
[2026-10-20 22:25:33,920.920 INFO    ] Launching Daemon at Tue Oct 20 22:25:33 IST 2026
[2026-10-20 22:25:33,931.931 INFO    ] ================================================
[2026-10-20 22:25:34,499.499 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:25:34
[2026-10-20 22:25:35,086.086 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:25:35,342.342 INFO    ] Initializing speech engine...
[2026-10-20 22:25:35,351.351 INFO    ] 2026-10-20 22:25:35
[2026-10-20 22:25:35,648.648 INFO    ] 2026-10-20 22:25:35
[2026-10-20 22:25:35,683.683 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:25:35,919.919 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:25:35,975.975 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:25:36,147.147 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:25:36,155.155 INFO    ] time= 20/10/2026 22:25:36
[2026-10-20 22:25:36,194.194 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:25:36,238.238 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:25:36,359.359 INFO    ] No existing commands found in stream
[2026-10-20 22:25:41,370.370 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:25:41,373.373 INFO    ] Waiting 2.80 seconds before fallback handling...
[2026-10-20 22:25:44,686.686 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:25:44,689.689 INFO    ] Checking for system updates...
[2026-10-20 22:25:44,729.729 INFO    ] 200
[2026-10-20 22:25:44,732.732 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:25:44,785.785 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:25:44,788.788 INFO    ] No update needed
[2026-10-20 22:25:44,790.790 INFO    ] Checking for camera pi updates...
[2026-10-20 22:25:44,824.824 INFO    ] 200
[2026-10-20 22:25:44,827.827 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:25:44,869.869 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:25:44,918.918 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:25:44,921.921 INFO    ] No camera update needed
[2026-10-20 22:25:44,924.924 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:25:44,926.926 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:25:44,932.932 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:25:44,938.938 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:25:46,980.980 INFO    ] ================================================
[2026-10-20 22:25:47,995.995 INFO    ] Launching Daemon at Tue Oct 20 22:25:46 IST 2026
[2026-10-20 22:25:47,006.006 INFO    ] ================================================
[2026-10-20 22:25:47,572.572 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:25:47
[2026-10-20 22:25:48,157.157 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:25:48,428.428 INFO    ] Initializing speech engine...
[2026-10-20 22:25:48,438.438 INFO    ] 2026-10-20 22:25:48
[2026-10-20 22:25:48,688.688 INFO    ] 2026-10-20 22:25:48
[2026-10-20 22:25:48,723.723 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:25:48,982.982 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:25:48,992.992 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:25:49,199.199 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:25:49,259.259 INFO    ] time= 20/10/2026 22:25:49
[2026-10-20 22:25:49,265.265 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:25:49,280.280 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:25:49,402.402 INFO    ] No existing commands found in stream
[2026-10-20 22:25:54,425.425 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:25:54,428.428 INFO    ] Waiting 3.00 seconds before fallback handling...
[2026-10-20 22:25:57,956.956 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:25:57,959.959 INFO    ] Checking for system updates...
[2026-10-20 22:25:57,994.994 INFO    ] 200
[2026-10-20 22:25:57,996.996 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:25:58,048.048 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:25:58,050.050 INFO    ] No update needed
[2026-10-20 22:25:58,052.052 INFO    ] Checking for camera pi updates...
[2026-10-20 22:25:58,086.086 INFO    ] 200
[2026-10-20 22:25:58,088.088 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:25:58,128.128 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:25:58,177.177 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:25:58,180.180 INFO    ] No camera update needed
[2026-10-20 22:25:58,182.182 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:25:58,184.184 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:25:58,190.190 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:25:58,195.195 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:26:00,234.234 INFO    ] ================================================
[2026-10-20 22:26:00,250.250 INFO    ] Launching Daemon at Tue Oct 20 22:26:00 IST 2026
[2026-10-20 22:26:00,260.260 INFO    ] ================================================
[2026-10-20 22:26:00,829.829 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:26:00
[2026-10-20 22:26:01,553.553 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:26:01,922.922 INFO    ] Initializing speech engine...
[2026-10-20 22:26:01,931.931 INFO    ] 2026-10-20 22:26:01
[2026-10-20 22:26:02,257.257 INFO    ] 2026-10-20 22:26:02
[2026-10-20 22:26:02,366.366 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:26:02,575.575 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:26:02,587.587 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:26:02,731.731 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:26:02,734.734 INFO    ] time= 20/10/2026 22:26:02
[2026-10-20 22:26:02,737.737 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:26:02,747.747 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:26:02,874.874 INFO    ] No existing commands found in stream
[2026-10-20 22:26:07,910.910 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:26:07,912.912 INFO    ] Waiting 1.21 seconds before fallback handling...
[2026-10-20 22:26:09,639.639 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:26:09,641.641 INFO    ] Checking for system updates...
[2026-10-20 22:26:09,677.677 INFO    ] 200
[2026-10-20 22:26:09,680.680 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:26:09,738.738 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:26:09,741.741 INFO    ] No update needed
[2026-10-20 22:26:09,743.743 INFO    ] Checking for camera pi updates...
[2026-10-20 22:26:09,777.777 INFO    ] 200
[2026-10-20 22:26:09,779.779 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:26:09,819.819 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:26:09,976.976 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:26:09,978.978 INFO    ] No camera update needed
[2026-10-20 22:26:09,980.980 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:26:09,983.983 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:26:09,988.988 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:26:09,993.993 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:26:12,034.034 INFO    ] ================================================
[2026-10-20 22:26:12,049.049 INFO    ] Launching Daemon at Tue Oct 20 22:26:12 IST 2026
[2026-10-20 22:26:12,059.059 INFO    ] ================================================
[2026-10-20 22:26:12,679.679 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:26:12
[2026-10-20 22:26:13,351.351 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:26:13,655.655 INFO    ] Initializing speech engine...
[2026-10-20 22:26:13,662.662 INFO    ] 2026-10-20 22:26:13
[2026-10-20 22:26:13,940.940 INFO    ] 2026-10-20 22:26:13
[2026-10-20 22:26:13,997.997 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:26:14,231.231 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:26:14,237.237 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:26:14,494.494 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:26:14,504.504 INFO    ] time= 20/10/2026 22:26:14
[2026-10-20 22:26:14,526.526 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:26:14,554.554 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:26:14,702.702 INFO    ] No existing commands found in stream
[2026-10-20 22:26:19,733.733 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:26:19,736.736 INFO    ] Waiting 2.31 seconds before fallback handling...
[2026-10-20 22:26:22,585.585 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:26:22,588.588 INFO    ] Checking for system updates...
[2026-10-20 22:26:22,624.624 INFO    ] 200
[2026-10-20 22:26:22,627.627 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:26:22,680.680 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:26:22,682.682 INFO    ] No update needed
[2026-10-20 22:26:22,685.685 INFO    ] Checking for camera pi updates...
[2026-10-20 22:26:22,720.720 INFO    ] 200
[2026-10-20 22:26:22,723.723 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:26:22,764.764 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:26:22,813.813 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:26:22,816.816 INFO    ] No camera update needed
[2026-10-20 22:26:22,819.819 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:26:22,821.821 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:26:22,827.827 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:26:22,833.833 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:26:24,873.873 INFO    ] ================================================
[2026-10-20 22:26:24,888.888 INFO    ] Launching Daemon at Tue Oct 20 22:26:24 IST 2026
[2026-10-20 22:26:24,899.899 INFO    ] ================================================
[2026-10-20 22:26:25,468.468 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:26:25
[2026-10-20 22:26:26,055.055 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:26:26,301.301 INFO    ] Initializing speech engine...
[2026-10-20 22:26:26,310.310 INFO    ] 2026-10-20 22:26:26
[2026-10-20 22:26:26,582.582 INFO    ] 2026-10-20 22:26:26
[2026-10-20 22:26:26,617.617 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:26:26,877.877 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:26:26,887.887 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:26:27,064.064 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:26:27,119.119 INFO    ] time= 20/10/2026 22:26:27
[2026-10-20 22:26:27,154.154 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:26:27,160.160 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:26:27,322.322 INFO    ] No existing commands found in stream
[2026-10-20 22:26:32,351.351 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:26:32,354.354 INFO    ] Waiting 3.67 seconds before fallback handling...
[2026-10-20 22:26:36,504.504 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 22:26:36,507.507 INFO    ] Checking for system updates...
[2026-10-20 22:26:36,542.542 INFO    ] 200
[2026-10-20 22:26:36,544.544 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:26:36,596.596 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:26:36,599.599 INFO    ] No update needed
[2026-10-20 22:26:36,601.601 INFO    ] Checking for camera pi updates...
[2026-10-20 22:26:36,634.634 INFO    ] 200
[2026-10-20 22:26:36,636.636 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:26:36,681.681 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:26:36,727.727 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:26:36,729.729 INFO    ] No camera update needed
[2026-10-20 22:26:36,732.732 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:26:36,734.734 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:26:36,739.739 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:26:36,744.744 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:26:38,785.785 INFO    ] ================================================
[2026-10-20 22:26:38,800.800 INFO    ] Launching Daemon at Tue Oct 20 22:26:38 IST 2026
[2026-10-20 22:26:38,811.811 INFO    ] ================================================
[2026-10-20 22:26:39,387.387 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:26:39
[2026-10-20 22:26:39,983.983 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:26:40,241.241 INFO    ] Initializing speech engine...
[2026-10-20 22:26:40,248.248 INFO    ] 2026-10-20 22:26:40
[2026-10-20 22:26:40,542.542 INFO    ] 2026-10-20 22:26:40
[2026-10-20 22:26:40,576.576 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:26:40,808.808 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:26:40,843.843 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:26:41,035.035 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:26:41,073.073 INFO    ] time= 20/10/2026 22:26:41
[2026-10-20 22:26:41,106.106 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:26:41,167.167 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:26:41,307.307 INFO    ] No existing commands found in stream
[2026-10-20 22:26:46,333.333 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:26:46,336.336 INFO    ] Waiting 3.41 seconds before fallback handling...
[2026-10-20 22:26:50,258.258 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:26:50,260.260 INFO    ] Checking for system updates...
[2026-10-20 22:26:50,295.295 INFO    ] 200
[2026-10-20 22:26:50,298.298 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:26:50,351.351 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:26:50,353.353 INFO    ] No update needed
[2026-10-20 22:26:50,355.355 INFO    ] Checking for camera pi updates...
[2026-10-20 22:26:50,394.394 INFO    ] 200
[2026-10-20 22:26:50,396.396 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:26:50,437.437 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:26:50,482.482 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:26:50,484.484 INFO    ] No camera update needed
[2026-10-20 22:26:50,487.487 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:26:50,489.489 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:26:50,494.494 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:26:50,499.499 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:26:52,539.539 INFO    ] ================================================
[2026-10-20 22:26:52,554.554 INFO    ] Launching Daemon at Tue Oct 20 22:26:52 IST 2026
[2026-10-20 22:26:52,564.564 INFO    ] ================================================
[2026-10-20 22:26:53,141.141 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:26:53
[2026-10-20 22:26:53,728.728 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:26:54,010.010 INFO    ] Initializing speech engine...
[2026-10-20 22:26:54,017.017 INFO    ] 2026-10-20 22:26:54
[2026-10-20 22:26:54,282.282 INFO    ] 2026-10-20 22:26:54
[2026-10-20 22:26:54,320.320 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:26:54,519.519 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:26:54,524.524 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:26:54,661.661 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:26:54,667.667 INFO    ] time= 20/10/2026 22:26:54
[2026-10-20 22:26:54,687.687 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:26:54,709.709 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:26:54,795.795 INFO    ] No existing commands found in stream
[2026-10-20 22:26:59,815.815 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:26:59,818.818 INFO    ] Waiting 3.86 seconds before fallback handling...
[2026-10-20 22:27:04,192.192 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:27:04,194.194 INFO    ] Checking for system updates...
[2026-10-20 22:27:04,230.230 INFO    ] 200
[2026-10-20 22:27:04,232.232 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:27:04,284.284 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:27:04,286.286 INFO    ] No update needed
[2026-10-20 22:27:04,289.289 INFO    ] Checking for camera pi updates...
[2026-10-20 22:27:04,322.322 INFO    ] 200
[2026-10-20 22:27:04,325.325 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:27:04,365.365 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:27:04,409.409 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:27:04,411.411 INFO    ] No camera update needed
[2026-10-20 22:27:04,414.414 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:27:04,416.416 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:27:04,422.422 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:27:04,427.427 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:27:06,467.467 INFO    ] ================================================
[2026-10-20 22:27:06,482.482 INFO    ] Launching Daemon at Tue Oct 20 22:27:06 IST 2026
[2026-10-20 22:27:06,493.493 INFO    ] ================================================
[2026-10-20 22:27:07,147.147 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:27:07
[2026-10-20 22:27:07,825.825 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:27:08,133.133 INFO    ] Initializing speech engine...
[2026-10-20 22:27:08,148.148 INFO    ] 2026-10-20 22:27:08
[2026-10-20 22:27:08,434.434 INFO    ] 2026-10-20 22:27:08
[2026-10-20 22:27:08,481.481 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:27:08,711.711 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:27:08,716.716 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:27:08,869.869 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:27:08,924.924 INFO    ] time= 20/10/2026 22:27:08
[2026-10-20 22:27:08,985.985 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:27:09,003.003 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:27:09,152.152 INFO    ] No existing commands found in stream
[2026-10-20 22:27:14,183.183 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:27:14,187.187 INFO    ] Waiting 3.00 seconds before fallback handling...
[2026-10-20 22:27:17,713.713 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:27:17,716.716 INFO    ] Checking for system updates...
[2026-10-20 22:27:17,752.752 INFO    ] 200
[2026-10-20 22:27:17,755.755 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:27:17,807.807 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:27:17,809.809 INFO    ] No update needed
[2026-10-20 22:27:17,812.812 INFO    ] Checking for camera pi updates...
[2026-10-20 22:27:17,853.853 INFO    ] 200
[2026-10-20 22:27:17,855.855 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:27:17,896.896 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:27:17,946.946 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:27:17,949.949 INFO    ] No camera update needed
[2026-10-20 22:27:17,952.952 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:27:17,955.955 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:27:17,961.961 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:27:17,967.967 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:27:20,007.007 INFO    ] ================================================
[2026-10-20 22:27:20,023.023 INFO    ] Launching Daemon at Tue Oct 20 22:27:20 IST 2026
[2026-10-20 22:27:20,034.034 INFO    ] ================================================
[2026-10-20 22:27:20,618.618 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:27:20
[2026-10-20 22:27:21,214.214 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:27:21,485.485 INFO    ] Initializing speech engine...
[2026-10-20 22:27:21,495.495 INFO    ] 2026-10-20 22:27:21
[2026-10-20 22:27:21,760.760 INFO    ] 2026-10-20 22:27:21
[2026-10-20 22:27:21,797.797 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:27:22,013.013 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:27:22,028.028 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:27:22,176.176 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:27:22,183.183 INFO    ] time= 20/10/2026 22:27:22
[2026-10-20 22:27:22,190.190 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:27:22,227.227 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:27:22,370.370 INFO    ] No existing commands found in stream
[2026-10-20 22:27:27,401.401 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:27:27,404.404 INFO    ] Waiting 3.73 seconds before fallback handling...
[2026-10-20 22:27:31,647.647 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:27:31,650.650 INFO    ] Checking for system updates...
[2026-10-20 22:27:31,689.689 INFO    ] 200
[2026-10-20 22:27:31,694.694 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:27:31,753.753 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:27:31,756.756 INFO    ] No update needed
[2026-10-20 22:27:31,759.759 INFO    ] Checking for camera pi updates...
[2026-10-20 22:27:31,796.796 INFO    ] 200
[2026-10-20 22:27:31,799.799 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:27:31,843.843 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:27:31,884.884 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:27:31,887.887 INFO    ] No camera update needed
[2026-10-20 22:27:31,890.890 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:27:31,892.892 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:27:31,898.898 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:27:31,904.904 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:27:33,945.945 INFO    ] ================================================
[2026-10-20 22:27:33,960.960 INFO    ] Launching Daemon at Tue Oct 20 22:27:33 IST 2026
[2026-10-20 22:27:33,971.971 INFO    ] ================================================
[2026-10-20 22:27:34,625.625 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:27:34
[2026-10-20 22:27:35,296.296 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:27:35,609.609 INFO    ] Initializing speech engine...
[2026-10-20 22:27:35,621.621 INFO    ] 2026-10-20 22:27:35
[2026-10-20 22:27:35,901.901 INFO    ] 2026-10-20 22:27:35
[2026-10-20 22:27:35,948.948 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:27:36,237.237 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:27:36,246.246 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:27:36,446.446 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:27:36,453.453 INFO    ] time= 20/10/2026 22:27:36
[2026-10-20 22:27:36,472.472 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:27:36,490.490 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:27:36,654.654 INFO    ] No existing commands found in stream
[2026-10-20 22:27:41,685.685 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:27:41,692.692 INFO    ] Waiting 0.87 seconds before fallback handling...
[2026-10-20 22:27:43,051.051 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:27:43,054.054 INFO    ] Checking for system updates...
[2026-10-20 22:27:43,089.089 INFO    ] 200
[2026-10-20 22:27:43,091.091 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:27:43,144.144 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:27:43,146.146 INFO    ] No update needed
[2026-10-20 22:27:43,148.148 INFO    ] Checking for camera pi updates...
[2026-10-20 22:27:43,185.185 INFO    ] 200
[2026-10-20 22:27:43,188.188 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:27:43,228.228 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:27:43,282.282 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:27:43,285.285 INFO    ] No camera update needed
[2026-10-20 22:27:43,287.287 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:27:43,290.290 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:27:43,295.295 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:27:43,300.300 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:27:45,340.340 INFO    ] ================================================
[2026-10-20 22:27:45,355.355 INFO    ] Launching Daemon at Tue Oct 20 22:27:45 IST 2026
[2026-10-20 22:27:45,366.366 INFO    ] ================================================
[2026-10-20 22:27:45,951.951 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:27:45
[2026-10-20 22:27:46,553.553 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:27:46,830.830 INFO    ] Initializing speech engine...
[2026-10-20 22:27:46,836.836 INFO    ] 2026-10-20 22:27:46
[2026-10-20 22:27:47,111.111 INFO    ] 2026-10-20 22:27:47
[2026-10-20 22:27:47,152.152 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:27:47,396.396 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:27:47,405.405 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:27:47,603.603 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:27:47,647.647 INFO    ] time= 20/10/2026 22:27:47
[2026-10-20 22:27:47,680.680 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:27:47,687.687 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:27:47,851.851 INFO    ] No existing commands found in stream
[2026-10-20 22:27:52,866.866 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:27:52,869.869 INFO    ] Waiting 3.16 seconds before fallback handling...
[2026-10-20 22:27:56,541.541 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:27:56,544.544 INFO    ] Checking for system updates...
[2026-10-20 22:27:56,581.581 INFO    ] 200
[2026-10-20 22:27:56,584.584 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:27:56,644.644 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:27:56,646.646 INFO    ] No update needed
[2026-10-20 22:27:56,650.650 INFO    ] Checking for camera pi updates...
[2026-10-20 22:27:56,685.685 INFO    ] 200
[2026-10-20 22:27:56,688.688 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:27:56,734.734 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:27:56,782.782 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:27:56,785.785 INFO    ] No camera update needed
[2026-10-20 22:27:56,787.787 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:27:56,790.790 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:27:56,796.796 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:27:56,802.802 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:27:58,843.843 INFO    ] ================================================
[2026-10-20 22:27:58,858.858 INFO    ] Launching Daemon at Tue Oct 20 22:27:58 IST 2026
[2026-10-20 22:27:58,868.868 INFO    ] ================================================
[2026-10-20 22:27:59,440.440 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:27:59
[2026-10-20 22:28:00,030.030 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:28:00,284.284 INFO    ] Initializing speech engine...
[2026-10-20 22:28:00,290.290 INFO    ] 2026-10-20 22:28:00
[2026-10-20 22:28:00,555.555 INFO    ] 2026-10-20 22:28:00
[2026-10-20 22:28:00,580.580 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:28:00,752.752 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:28:00,759.759 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:28:00,918.918 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:28:00,940.940 INFO    ] time= 20/10/2026 22:28:00
[2026-10-20 22:28:00,946.946 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:28:00,953.953 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:28:01,068.068 INFO    ] No existing commands found in stream
[2026-10-20 22:28:06,079.079 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:28:06,082.082 INFO    ] Waiting 3.24 seconds before fallback handling...
[2026-10-20 22:28:09,854.854 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 22:28:09,856.856 INFO    ] Checking for system updates...
[2026-10-20 22:28:09,892.892 INFO    ] 200
[2026-10-20 22:28:09,895.895 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:28:09,947.947 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:28:09,949.949 INFO    ] No update needed
[2026-10-20 22:28:09,952.952 INFO    ] Checking for camera pi updates...
[2026-10-20 22:28:09,985.985 INFO    ] 200
[2026-10-20 22:28:09,988.988 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:28:10,028.028 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:28:10,075.075 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:28:10,078.078 INFO    ] No camera update needed
[2026-10-20 22:28:10,081.081 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:28:10,083.083 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:28:10,088.088 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:28:10,094.094 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:28:12,135.135 INFO    ] ================================================
[2026-10-20 22:28:12,150.150 INFO    ] Launching Daemon at Tue Oct 20 22:28:12 IST 2026
[2026-10-20 22:28:12,161.161 INFO    ] ================================================
[2026-10-20 22:28:12,779.779 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:28:12
[2026-10-20 22:28:13,459.459 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:28:13,769.769 INFO    ] Initializing speech engine...
[2026-10-20 22:28:13,780.780 INFO    ] 2026-10-20 22:28:13
[2026-10-20 22:28:14,092.092 INFO    ] 2026-10-20 22:28:14
[2026-10-20 22:28:14,177.177 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:28:14,418.418 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:28:14,456.456 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:28:14,610.610 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:28:14,637.637 INFO    ] time= 20/10/2026 22:28:14
[2026-10-20 22:28:14,645.645 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:28:14,653.653 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:28:14,768.768 INFO    ] No existing commands found in stream
[2026-10-20 22:28:19,793.793 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:28:19,796.796 INFO    ] Waiting 0.59 seconds before fallback handling...
[2026-10-20 22:28:20,873.873 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:28:20,876.876 INFO    ] Checking for system updates...
[2026-10-20 22:28:20,911.911 INFO    ] 200
[2026-10-20 22:28:20,914.914 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:28:20,973.973 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:28:20,975.975 INFO    ] No update needed
[2026-10-20 22:28:20,978.978 INFO    ] Checking for camera pi updates...
[2026-10-20 22:28:21,012.012 INFO    ] 200
[2026-10-20 22:28:21,014.014 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:28:21,059.059 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:28:21,204.204 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:28:21,206.206 INFO    ] No camera update needed
[2026-10-20 22:28:21,209.209 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:28:21,211.211 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:28:21,216.216 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:28:21,221.221 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:28:23,261.261 INFO    ] ================================================
[2026-10-20 22:28:23,277.277 INFO    ] Launching Daemon at Tue Oct 20 22:28:23 IST 2026
[2026-10-20 22:28:23,287.287 INFO    ] ================================================
[2026-10-20 22:28:23,852.852 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:28:23
[2026-10-20 22:28:24,434.434 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:28:24,702.702 INFO    ] Initializing speech engine...
[2026-10-20 22:28:24,711.711 INFO    ] 2026-10-20 22:28:24
[2026-10-20 22:28:24,954.954 INFO    ] 2026-10-20 22:28:24
[2026-10-20 22:28:25,020.020 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:28:25,269.269 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:28:25,273.273 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:28:25,493.493 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:28:25,509.509 INFO    ] time= 20/10/2026 22:28:25
[2026-10-20 22:28:25,527.527 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:28:25,539.539 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:28:25,686.686 INFO    ] No existing commands found in stream
[2026-10-20 22:28:30,711.711 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:28:30,714.714 INFO    ] Waiting 0.78 seconds before fallback handling...
[2026-10-20 22:28:32,010.010 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:28:32,013.013 INFO    ] Checking for system updates...
[2026-10-20 22:28:32,051.051 INFO    ] 200
[2026-10-20 22:28:32,054.054 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:28:32,120.120 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:28:32,123.123 INFO    ] No update needed
[2026-10-20 22:28:32,125.125 INFO    ] Checking for camera pi updates...
[2026-10-20 22:28:32,165.165 INFO    ] 200
[2026-10-20 22:28:32,168.168 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:28:32,222.222 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:28:32,268.268 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:28:32,271.271 INFO    ] No camera update needed
[2026-10-20 22:28:32,274.274 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:28:32,276.276 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:28:32,282.282 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:28:32,288.288 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:28:34,328.328 INFO    ] ================================================
[2026-10-20 22:28:34,343.343 INFO    ] Launching Daemon at Tue Oct 20 22:28:34 IST 2026
[2026-10-20 22:28:34,354.354 INFO    ] ================================================
[2026-10-20 22:28:34,935.935 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:28:34
[2026-10-20 22:28:35,586.586 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:28:35,864.864 INFO    ] Initializing speech engine...
[2026-10-20 22:28:35,869.869 INFO    ] 2026-10-20 22:28:35
[2026-10-20 22:28:36,131.131 INFO    ] 2026-10-20 22:28:36
[2026-10-20 22:28:36,161.161 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:28:36,411.411 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:28:36,415.415 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:28:36,550.550 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:28:36,594.594 INFO    ] time= 20/10/2026 22:28:36
[2026-10-20 22:28:36,651.651 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:28:36,681.681 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:28:36,814.814 INFO    ] No existing commands found in stream
[2026-10-20 22:28:41,836.836 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:28:41,844.844 INFO    ] Waiting 1.86 seconds before fallback handling...
[2026-10-20 22:28:44,274.274 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:28:44,276.276 INFO    ] Checking for system updates...
[2026-10-20 22:28:44,312.312 INFO    ] 200
[2026-10-20 22:28:44,314.314 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:28:44,372.372 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:28:44,375.375 INFO    ] No update needed
[2026-10-20 22:28:44,377.377 INFO    ] Checking for camera pi updates...
[2026-10-20 22:28:44,410.410 INFO    ] 200
[2026-10-20 22:28:44,413.413 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:28:44,453.453 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:28:44,509.509 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:28:44,511.511 INFO    ] No camera update needed
[2026-10-20 22:28:44,513.513 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:28:44,516.516 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:28:44,521.521 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:28:44,526.526 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:28:46,565.565 INFO    ] ================================================
[2026-10-20 22:28:46,581.581 INFO    ] Launching Daemon at Tue Oct 20 22:28:46 IST 2026
[2026-10-20 22:28:46,591.591 INFO    ] ================================================
[2026-10-20 22:28:47,246.246 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:28:47
[2026-10-20 22:28:47,863.863 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:28:48,110.110 INFO    ] Initializing speech engine...
[2026-10-20 22:28:48,118.118 INFO    ] 2026-10-20 22:28:48
[2026-10-20 22:28:48,396.396 INFO    ] 2026-10-20 22:28:48
[2026-10-20 22:28:48,438.438 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:28:48,676.676 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:28:48,679.679 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:28:48,907.907 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:28:48,958.958 INFO    ] time= 20/10/2026 22:28:48
[2026-10-20 22:28:48,964.964 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:28:48,985.985 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:28:49,114.114 INFO    ] No existing commands found in stream
[2026-10-20 22:28:54,132.132 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:28:54,135.135 INFO    ] Waiting 0.03 seconds before fallback handling...
[2026-10-20 22:28:54,634.634 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 22:28:54,636.636 INFO    ] Checking for system updates...
[2026-10-20 22:28:54,671.671 INFO    ] 200
[2026-10-20 22:28:54,674.674 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:28:54,737.737 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:28:54,740.740 INFO    ] No update needed
[2026-10-20 22:28:54,742.742 INFO    ] Checking for camera pi updates...
[2026-10-20 22:28:54,779.779 INFO    ] 200
[2026-10-20 22:28:54,781.781 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:28:54,825.825 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:28:54,874.874 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:28:54,877.877 INFO    ] No camera update needed
[2026-10-20 22:28:54,879.879 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:28:54,882.882 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:28:54,887.887 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:28:54,892.892 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:28:56,931.931 INFO    ] ================================================
[2026-10-20 22:28:56,947.947 INFO    ] Launching Daemon at Tue Oct 20 22:28:56 IST 2026
[2026-10-20 22:28:56,957.957 INFO    ] ================================================
[2026-10-20 22:28:57,534.534 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:28:57
[2026-10-20 22:28:58,129.129 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:28:58,383.383 INFO    ] Initializing speech engine...
[2026-10-20 22:28:58,391.391 INFO    ] 2026-10-20 22:28:58
[2026-10-20 22:28:58,683.683 INFO    ] 2026-10-20 22:28:58
[2026-10-20 22:28:58,720.720 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:28:58,915.915 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:28:58,929.929 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:28:59,096.096 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:28:59,101.101 INFO    ] time= 20/10/2026 22:28:59
[2026-10-20 22:28:59,107.107 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:28:59,113.113 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:28:59,262.262 INFO    ] No existing commands found in stream
[2026-10-20 22:29:04,292.292 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:29:04,295.295 INFO    ] Waiting 1.50 seconds before fallback handling...
[2026-10-20 22:29:06,264.264 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:29:06,267.267 INFO    ] Checking for system updates...
[2026-10-20 22:29:06,303.303 INFO    ] 200
[2026-10-20 22:29:06,305.305 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:29:06,357.357 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:29:06,360.360 INFO    ] No update needed
[2026-10-20 22:29:06,362.362 INFO    ] Checking for camera pi updates...
[2026-10-20 22:29:06,400.400 INFO    ] 200
[2026-10-20 22:29:06,402.402 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:29:06,442.442 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:29:06,488.488 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:29:06,490.490 INFO    ] No camera update needed
[2026-10-20 22:29:06,493.493 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:29:06,495.495 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:29:06,500.500 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:29:06,505.505 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:29:08,545.545 INFO    ] ================================================
[2026-10-20 22:29:08,560.560 INFO    ] Launching Daemon at Tue Oct 20 22:29:08 IST 2026
[2026-10-20 22:29:08,571.571 INFO    ] ================================================
[2026-10-20 22:29:09,204.204 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:29:09
[2026-10-20 22:29:09,860.860 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:29:10,159.159 INFO    ] Initializing speech engine...
[2026-10-20 22:29:10,165.165 INFO    ] 2026-10-20 22:29:10
[2026-10-20 22:29:10,439.439 INFO    ] 2026-10-20 22:29:10
[2026-10-20 22:29:10,496.496 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:29:10,723.723 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:29:10,733.733 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:29:10,869.869 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:29:10,912.912 INFO    ] time= 20/10/2026 22:29:10
[2026-10-20 22:29:10,966.966 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:29:11,007.007 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:29:11,136.136 INFO    ] No existing commands found in stream
[2026-10-20 22:29:16,170.170 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:29:16,173.173 INFO    ] Waiting 1.31 seconds before fallback handling...
[2026-10-20 22:29:17,987.987 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:29:17,990.990 INFO    ] Checking for system updates...
[2026-10-20 22:29:18,030.030 INFO    ] 200
[2026-10-20 22:29:18,032.032 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:29:18,094.094 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:29:18,097.097 INFO    ] No update needed
[2026-10-20 22:29:18,100.100 INFO    ] Checking for camera pi updates...
[2026-10-20 22:29:18,134.134 INFO    ] 200
[2026-10-20 22:29:18,137.137 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:29:18,178.178 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:29:18,223.223 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:29:18,226.226 INFO    ] No camera update needed
[2026-10-20 22:29:18,228.228 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:29:18,231.231 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:29:18,237.237 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:29:18,242.242 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:29:20,283.283 INFO    ] ================================================
[2026-10-20 22:29:20,298.298 INFO    ] Launching Daemon at Tue Oct 20 22:29:20 IST 2026
[2026-10-20 22:29:20,309.309 INFO    ] ================================================
[2026-10-20 22:29:20,943.943 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:29:20
[2026-10-20 22:29:21,598.598 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:29:21,894.894 INFO    ] Initializing speech engine...
[2026-10-20 22:29:21,902.902 INFO    ] 2026-10-20 22:29:21
[2026-10-20 22:29:22,177.177 INFO    ] 2026-10-20 22:29:22
[2026-10-20 22:29:22,231.231 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:29:22,487.487 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:29:22,495.495 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:29:22,706.706 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:29:22,739.739 INFO    ] time= 20/10/2026 22:29:22
[2026-10-20 22:29:22,754.754 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:29:22,764.764 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:29:22,907.907 INFO    ] No existing commands found in stream
[2026-10-20 22:29:27,933.933 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:29:27,936.936 INFO    ] Waiting 2.53 seconds before fallback handling...
[2026-10-20 22:29:31,019.019 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:29:31,022.022 INFO    ] Checking for system updates...
[2026-10-20 22:29:31,062.062 INFO    ] 200
[2026-10-20 22:29:31,064.064 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:29:31,127.127 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:29:31,129.129 INFO    ] No update needed
[2026-10-20 22:29:31,132.132 INFO    ] Checking for camera pi updates...
[2026-10-20 22:29:31,170.170 INFO    ] 200
[2026-10-20 22:29:31,172.172 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:29:31,221.221 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:29:31,272.272 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:29:31,275.275 INFO    ] No camera update needed
[2026-10-20 22:29:31,277.277 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:29:31,279.279 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:29:31,285.285 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:29:31,290.290 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:29:33,330.330 INFO    ] ================================================
[2026-10-20 22:29:33,345.345 INFO    ] Launching Daemon at Tue Oct 20 22:29:33 IST 2026
[2026-10-20 22:29:33,356.356 INFO    ] ================================================
[2026-10-20 22:29:33,937.937 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:29:33
[2026-10-20 22:29:34,534.534 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:29:34,796.796 INFO    ] Initializing speech engine...
[2026-10-20 22:29:34,814.814 INFO    ] 2026-10-20 22:29:34
[2026-10-20 22:29:35,064.064 INFO    ] 2026-10-20 22:29:35
[2026-10-20 22:29:35,098.098 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:29:35,355.355 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:29:35,361.361 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:29:35,499.499 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:29:35,559.559 INFO    ] time= 20/10/2026 22:29:35
[2026-10-20 22:29:35,619.619 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:29:35,627.627 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:29:35,772.772 INFO    ] No existing commands found in stream
[2026-10-20 22:29:40,787.787 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:29:40,790.790 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-10-20 22:29:44,351.351 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:29:44,354.354 INFO    ] Checking for system updates...
[2026-10-20 22:29:44,389.389 INFO    ] 200
[2026-10-20 22:29:44,392.392 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:29:44,445.445 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:29:44,447.447 INFO    ] No update needed
[2026-10-20 22:29:44,450.450 INFO    ] Checking for camera pi updates...
[2026-10-20 22:29:44,483.483 INFO    ] 200
[2026-10-20 22:29:44,486.486 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:29:44,529.529 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:29:44,578.578 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:29:44,581.581 INFO    ] No camera update needed
[2026-10-20 22:29:44,583.583 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:29:44,585.585 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:29:44,591.591 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:29:44,596.596 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:29:46,636.636 INFO    ] ================================================
[2026-10-20 22:29:46,651.651 INFO    ] Launching Daemon at Tue Oct 20 22:29:46 IST 2026
[2026-10-20 22:29:46,662.662 INFO    ] ================================================
[2026-10-20 22:29:47,244.244 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:29:47
[2026-10-20 22:29:47,845.845 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:29:48,122.122 INFO    ] Initializing speech engine...
[2026-10-20 22:29:48,131.131 INFO    ] 2026-10-20 22:29:48
[2026-10-20 22:29:48,390.390 INFO    ] 2026-10-20 22:29:48
[2026-10-20 22:29:48,444.444 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:29:48,728.728 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:29:48,737.737 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:29:48,921.921 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:29:48,940.940 INFO    ] time= 20/10/2026 22:29:48
[2026-10-20 22:29:48,960.960 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:29:48,987.987 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:29:49,119.119 INFO    ] No existing commands found in stream
[2026-10-20 22:29:54,144.144 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:29:54,147.147 INFO    ] Waiting 1.50 seconds before fallback handling...
[2026-10-20 22:29:56,172.172 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:29:56,175.175 INFO    ] Checking for system updates...
[2026-10-20 22:29:56,211.211 INFO    ] 200
[2026-10-20 22:29:56,213.213 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:29:56,273.273 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:29:56,276.276 INFO    ] No update needed
[2026-10-20 22:29:56,278.278 INFO    ] Checking for camera pi updates...
[2026-10-20 22:29:56,311.311 INFO    ] 200
[2026-10-20 22:29:56,314.314 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:29:56,353.353 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:29:56,397.397 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:29:56,400.400 INFO    ] No camera update needed
[2026-10-20 22:29:56,402.402 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:29:56,405.405 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:29:56,410.410 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:29:56,415.415 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:29:58,455.455 INFO    ] ================================================
[2026-10-20 22:29:58,471.471 INFO    ] Launching Daemon at Tue Oct 20 22:29:58 IST 2026
[2026-10-20 22:29:58,481.481 INFO    ] ================================================
[2026-10-20 22:29:59,121.121 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:29:59
[2026-10-20 22:29:59,774.774 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:30:00,072.072 INFO    ] Initializing speech engine...
[2026-10-20 22:30:00,079.079 INFO    ] 2026-10-20 22:30:00
[2026-10-20 22:30:00,361.361 INFO    ] 2026-10-20 22:30:00
[2026-10-20 22:30:00,405.405 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:30:00,688.688 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:30:00,693.693 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:30:00,887.887 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:30:00,894.894 INFO    ] time= 20/10/2026 22:30:00
[2026-10-20 22:30:00,916.916 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:30:00,944.944 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:30:01,054.054 INFO    ] No existing commands found in stream
[2026-10-20 22:30:06,078.078 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:30:06,081.081 INFO    ] Waiting 0.89 seconds before fallback handling...
[2026-10-20 22:30:07,512.512 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 22:30:07,515.515 INFO    ] Checking for system updates...
[2026-10-20 22:30:07,554.554 INFO    ] 200
[2026-10-20 22:30:07,556.556 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:30:07,607.607 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:30:07,610.610 INFO    ] No update needed
[2026-10-20 22:30:07,612.612 INFO    ] Checking for camera pi updates...
[2026-10-20 22:30:07,645.645 INFO    ] 200
[2026-10-20 22:30:07,647.647 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:30:07,694.694 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:30:07,727.727 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:30:07,730.730 INFO    ] No camera update needed
[2026-10-20 22:30:07,732.732 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:30:07,734.734 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:30:07,740.740 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:30:07,745.745 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:30:09,784.784 INFO    ] ================================================
[2026-10-20 22:30:09,800.800 INFO    ] Launching Daemon at Tue Oct 20 22:30:09 IST 2026
[2026-10-20 22:30:09,810.810 INFO    ] ================================================
[2026-10-20 22:30:10,442.442 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:30:10
[2026-10-20 22:30:11,087.087 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:30:11,386.386 INFO    ] Initializing speech engine...
[2026-10-20 22:30:11,394.394 INFO    ] 2026-10-20 22:30:11
[2026-10-20 22:30:11,666.666 INFO    ] 2026-10-20 22:30:11
[2026-10-20 22:30:11,725.725 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:30:11,948.948 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:30:11,958.958 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:30:12,100.100 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:30:12,170.170 INFO    ] time= 20/10/2026 22:30:12
[2026-10-20 22:30:12,226.226 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:30:12,233.233 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:30:12,401.401 INFO    ] No existing commands found in stream
[2026-10-20 22:30:17,433.433 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:30:17,436.436 INFO    ] Waiting 3.65 seconds before fallback handling...
[2026-10-20 22:30:21,659.659 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:30:21,662.662 INFO    ] Checking for system updates...
[2026-10-20 22:30:21,699.699 INFO    ] 200
[2026-10-20 22:30:21,701.701 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:30:21,754.754 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:30:21,757.757 INFO    ] No update needed
[2026-10-20 22:30:21,760.760 INFO    ] Checking for camera pi updates...
[2026-10-20 22:30:21,794.794 INFO    ] 200
[2026-10-20 22:30:21,797.797 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:30:21,838.838 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:30:21,888.888 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:30:21,891.891 INFO    ] No camera update needed
[2026-10-20 22:30:21,893.893 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:30:21,896.896 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:30:21,902.902 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:30:21,908.908 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:30:23,948.948 INFO    ] ================================================
[2026-10-20 22:30:23,963.963 INFO    ] Launching Daemon at Tue Oct 20 22:30:23 IST 2026
[2026-10-20 22:30:23,974.974 INFO    ] ================================================
[2026-10-20 22:30:24,537.537 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:30:24
[2026-10-20 22:30:25,117.117 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:30:25,369.369 INFO    ] Initializing speech engine...
[2026-10-20 22:30:25,377.377 INFO    ] 2026-10-20 22:30:25
[2026-10-20 22:30:25,664.664 INFO    ] 2026-10-20 22:30:25
[2026-10-20 22:30:25,698.698 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:30:25,892.892 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:30:25,906.906 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:30:26,063.063 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:30:26,069.069 INFO    ] time= 20/10/2026 22:30:26
[2026-10-20 22:30:26,075.075 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:30:26,116.116 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:30:26,248.248 INFO    ] No existing commands found in stream
[2026-10-20 22:30:31,273.273 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:30:31,275.275 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-10-20 22:30:34,396.396 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:30:34,399.399 INFO    ] Checking for system updates...
[2026-10-20 22:30:34,434.434 INFO    ] 200
[2026-10-20 22:30:34,437.437 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:30:34,493.493 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:30:34,495.495 INFO    ] No update needed
[2026-10-20 22:30:34,497.497 INFO    ] Checking for camera pi updates...
[2026-10-20 22:30:34,537.537 INFO    ] 200
[2026-10-20 22:30:34,540.540 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:30:34,582.582 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:30:34,632.632 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:30:34,634.634 INFO    ] No camera update needed
[2026-10-20 22:30:34,637.637 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:30:34,639.639 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:30:34,644.644 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:30:34,649.649 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:30:36,689.689 INFO    ] ================================================
[2026-10-20 22:30:36,705.705 INFO    ] Launching Daemon at Tue Oct 20 22:30:36 IST 2026
[2026-10-20 22:30:36,715.715 INFO    ] ================================================
[2026-10-20 22:30:37,288.288 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:30:37
[2026-10-20 22:30:37,870.870 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:30:38,150.150 INFO    ] Initializing speech engine...
[2026-10-20 22:30:38,159.159 INFO    ] 2026-10-20 22:30:38
[2026-10-20 22:30:38,418.418 INFO    ] 2026-10-20 22:30:38
[2026-10-20 22:30:38,453.453 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:30:38,664.664 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:30:38,672.672 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:30:38,879.879 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:30:38,887.887 INFO    ] time= 20/10/2026 22:30:38
[2026-10-20 22:30:38,937.937 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:30:38,991.991 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:30:39,085.085 INFO    ] No existing commands found in stream
[2026-10-20 22:30:44,096.096 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:30:44,099.099 INFO    ] Waiting 2.67 seconds before fallback handling...
[2026-10-20 22:30:47,311.311 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:30:47,313.313 INFO    ] Checking for system updates...
[2026-10-20 22:30:47,349.349 INFO    ] 200
[2026-10-20 22:30:47,351.351 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:30:47,407.407 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:30:47,410.410 INFO    ] No update needed
[2026-10-20 22:30:47,412.412 INFO    ] Checking for camera pi updates...
[2026-10-20 22:30:47,448.448 INFO    ] 200
[2026-10-20 22:30:47,451.451 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:30:47,492.492 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:30:47,538.538 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:30:47,541.541 INFO    ] No camera update needed
[2026-10-20 22:30:47,543.543 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:30:47,546.546 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:30:47,552.552 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:30:47,557.557 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:30:49,599.599 INFO    ] ================================================
[2026-10-20 22:30:49,614.614 INFO    ] Launching Daemon at Tue Oct 20 22:30:49 IST 2026
[2026-10-20 22:30:49,625.625 INFO    ] ================================================
[2026-10-20 22:30:50,248.248 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:30:50
[2026-10-20 22:30:50,890.890 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:30:51,185.185 INFO    ] Initializing speech engine...
[2026-10-20 22:30:51,193.193 INFO    ] 2026-10-20 22:30:51
[2026-10-20 22:30:51,473.473 INFO    ] 2026-10-20 22:30:51
[2026-10-20 22:30:51,517.517 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:30:51,741.741 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:30:51,747.747 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:30:51,882.882 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:30:51,942.942 INFO    ] time= 20/10/2026 22:30:51
[2026-10-20 22:30:51,997.997 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:30:52,015.015 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:30:52,153.153 INFO    ] No existing commands found in stream
[2026-10-20 22:30:57,174.174 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:30:57,176.176 INFO    ] Waiting 2.16 seconds before fallback handling...
[2026-10-20 22:30:59,850.850 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:30:59,853.853 INFO    ] Checking for system updates...
[2026-10-20 22:30:59,889.889 INFO    ] 200
[2026-10-20 22:30:59,892.892 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:30:59,943.943 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:30:59,945.945 INFO    ] No update needed
[2026-10-20 22:30:59,947.947 INFO    ] Checking for camera pi updates...
[2026-10-20 22:30:59,981.981 INFO    ] 200
[2026-10-20 22:30:59,983.983 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:31:00,026.026 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:31:00,079.079 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:31:00,082.082 INFO    ] No camera update needed
[2026-10-20 22:31:00,084.084 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:31:00,087.087 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:31:00,092.092 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:31:00,097.097 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:31:02,141.141 INFO    ] ================================================
[2026-10-20 22:31:02,159.159 INFO    ] Launching Daemon at Tue Oct 20 22:31:02 IST 2026
[2026-10-20 22:31:02,174.174 INFO    ] ================================================
[2026-10-20 22:31:02,827.827 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:31:02
[2026-10-20 22:31:03,505.505 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:31:03,805.805 INFO    ] Initializing speech engine...
[2026-10-20 22:31:03,812.812 INFO    ] 2026-10-20 22:31:03
[2026-10-20 22:31:04,096.096 INFO    ] 2026-10-20 22:31:04
[2026-10-20 22:31:04,142.142 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:31:04,367.367 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:31:04,374.374 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:31:04,626.626 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:31:04,645.645 INFO    ] time= 20/10/2026 22:31:04
[2026-10-20 22:31:04,655.655 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:31:04,684.684 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:31:04,821.821 INFO    ] No existing commands found in stream
[2026-10-20 22:31:09,847.847 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:31:09,850.850 INFO    ] Waiting 2.32 seconds before fallback handling...
[2026-10-20 22:31:12,713.713 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:31:12,716.716 INFO    ] Checking for system updates...
[2026-10-20 22:31:12,752.752 INFO    ] 200
[2026-10-20 22:31:12,755.755 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:31:12,808.808 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:31:12,811.811 INFO    ] No update needed
[2026-10-20 22:31:12,814.814 INFO    ] Checking for camera pi updates...
[2026-10-20 22:31:12,848.848 INFO    ] 200
[2026-10-20 22:31:12,851.851 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:31:12,892.892 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:31:12,942.942 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:31:12,944.944 INFO    ] No camera update needed
[2026-10-20 22:31:12,947.947 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:31:12,950.950 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:31:12,956.956 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:31:12,962.962 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:31:15,003.003 INFO    ] ================================================
[2026-10-20 22:31:15,018.018 INFO    ] Launching Daemon at Tue Oct 20 22:31:15 IST 2026
[2026-10-20 22:31:15,034.034 INFO    ] ================================================
[2026-10-20 22:31:15,605.605 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:31:15
[2026-10-20 22:31:16,194.194 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:31:16,467.467 INFO    ] Initializing speech engine...
[2026-10-20 22:31:16,474.474 INFO    ] 2026-10-20 22:31:16
[2026-10-20 22:31:16,728.728 INFO    ] 2026-10-20 22:31:16
[2026-10-20 22:31:16,784.784 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:31:17,008.008 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:31:17,017.017 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:31:17,156.156 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:31:17,225.225 INFO    ] time= 20/10/2026 22:31:17
[2026-10-20 22:31:17,275.275 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:31:17,285.285 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:31:17,445.445 INFO    ] No existing commands found in stream
[2026-10-20 22:31:22,471.471 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:31:22,474.474 INFO    ] Waiting 2.00 seconds before fallback handling...
[2026-10-20 22:31:24,988.988 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:31:24,991.991 INFO    ] Checking for system updates...
[2026-10-20 22:31:25,026.026 INFO    ] 200
[2026-10-20 22:31:25,029.029 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:31:25,089.089 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:31:25,091.091 INFO    ] No update needed
[2026-10-20 22:31:25,094.094 INFO    ] Checking for camera pi updates...
[2026-10-20 22:31:25,126.126 INFO    ] 200
[2026-10-20 22:31:25,129.129 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:31:25,168.168 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:31:25,219.219 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:31:25,221.221 INFO    ] No camera update needed
[2026-10-20 22:31:25,223.223 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:31:25,226.226 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:31:25,231.231 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:31:25,236.236 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:31:27,280.280 INFO    ] ================================================
[2026-10-20 22:31:27,296.296 INFO    ] Launching Daemon at Tue Oct 20 22:31:27 IST 2026
[2026-10-20 22:31:27,308.308 INFO    ] ================================================
[2026-10-20 22:31:27,893.893 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:31:27
[2026-10-20 22:31:28,500.500 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:31:28,759.759 INFO    ] Initializing speech engine...
[2026-10-20 22:31:28,770.770 INFO    ] 2026-10-20 22:31:28
[2026-10-20 22:31:29,053.053 INFO    ] 2026-10-20 22:31:29
[2026-10-20 22:31:29,089.089 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:31:29,310.310 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:31:29,333.333 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:31:29,536.536 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:31:29,543.543 INFO    ] time= 20/10/2026 22:31:29
[2026-10-20 22:31:29,602.602 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:31:29,646.646 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:31:29,743.743 INFO    ] No existing commands found in stream
[2026-10-20 22:31:34,754.754 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:31:34,756.756 INFO    ] Waiting 1.33 seconds before fallback handling...
[2026-10-20 22:31:36,615.615 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:31:36,618.618 INFO    ] Checking for system updates...
[2026-10-20 22:31:36,658.658 INFO    ] 200
[2026-10-20 22:31:36,661.661 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:31:36,715.715 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:31:36,718.718 INFO    ] No update needed
[2026-10-20 22:31:36,720.720 INFO    ] Checking for camera pi updates...
[2026-10-20 22:31:36,758.758 INFO    ] 200
[2026-10-20 22:31:36,761.761 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:31:36,801.801 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:31:36,849.849 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:31:36,851.851 INFO    ] No camera update needed
[2026-10-20 22:31:36,854.854 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:31:36,857.857 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:31:36,863.863 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:31:36,869.869 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:31:38,910.910 INFO    ] ================================================
[2026-10-20 22:31:38,925.925 INFO    ] Launching Daemon at Tue Oct 20 22:31:38 IST 2026
[2026-10-20 22:31:38,936.936 INFO    ] ================================================
[2026-10-20 22:31:39,515.515 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:31:39
[2026-10-20 22:31:40,112.112 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:31:40,374.374 INFO    ] Initializing speech engine...
[2026-10-20 22:31:40,390.390 INFO    ] 2026-10-20 22:31:40
[2026-10-20 22:31:40,674.674 INFO    ] 2026-10-20 22:31:40
[2026-10-20 22:31:40,710.710 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:31:40,930.930 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:31:40,974.974 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:31:41,159.159 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:31:41,219.219 INFO    ] time= 20/10/2026 22:31:41
[2026-10-20 22:31:41,263.263 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:31:41,305.305 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:31:41,464.464 INFO    ] No existing commands found in stream
[2026-10-20 22:31:46,485.485 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:31:46,488.488 INFO    ] Waiting 1.98 seconds before fallback handling...
[2026-10-20 22:31:49,009.009 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:31:49,012.012 INFO    ] Checking for system updates...
[2026-10-20 22:31:49,049.049 INFO    ] 200
[2026-10-20 22:31:49,051.051 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:31:49,111.111 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:31:49,114.114 INFO    ] No update needed
[2026-10-20 22:31:49,117.117 INFO    ] Checking for camera pi updates...
[2026-10-20 22:31:49,151.151 INFO    ] 200
[2026-10-20 22:31:49,154.154 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:31:49,194.194 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:31:49,250.250 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:31:49,252.252 INFO    ] No camera update needed
[2026-10-20 22:31:49,255.255 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:31:49,258.258 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:31:49,264.264 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:31:49,270.270 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:31:51,311.311 INFO    ] ================================================
[2026-10-20 22:31:51,326.326 INFO    ] Launching Daemon at Tue Oct 20 22:31:51 IST 2026
[2026-10-20 22:31:51,337.337 INFO    ] ================================================
[2026-10-20 22:31:51,915.915 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:31:51
[2026-10-20 22:31:52,512.512 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:31:52,775.775 INFO    ] Initializing speech engine...
[2026-10-20 22:31:52,788.788 INFO    ] 2026-10-20 22:31:52
[2026-10-20 22:31:53,070.070 INFO    ] 2026-10-20 22:31:53
[2026-10-20 22:31:53,108.108 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:31:53,395.395 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:31:53,405.405 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:31:53,616.616 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:31:53,665.665 INFO    ] time= 20/10/2026 22:31:53
[2026-10-20 22:31:53,701.701 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:31:53,707.707 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:31:53,872.872 INFO    ] No existing commands found in stream
[2026-10-20 22:31:58,892.892 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:31:58,895.895 INFO    ] Waiting 2.12 seconds before fallback handling...
[2026-10-20 22:32:01,562.562 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:32:01,567.567 INFO    ] Checking for system updates...
[2026-10-20 22:32:01,649.649 INFO    ] 200
[2026-10-20 22:32:01,656.656 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:32:01,749.749 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:32:01,752.752 INFO    ] No update needed
[2026-10-20 22:32:01,755.755 INFO    ] Checking for camera pi updates...
[2026-10-20 22:32:01,800.800 INFO    ] 200
[2026-10-20 22:32:01,803.803 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:32:01,892.892 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:32:01,947.947 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:32:01,954.954 INFO    ] No camera update needed
[2026-10-20 22:32:01,957.957 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:32:01,962.962 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:32:01,969.969 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:32:01,976.976 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:32:04,019.019 INFO    ] ================================================
[2026-10-20 22:32:04,035.035 INFO    ] Launching Daemon at Tue Oct 20 22:32:04 IST 2026
[2026-10-20 22:32:04,047.047 INFO    ] ================================================
[2026-10-20 22:32:04,644.644 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:32:04
[2026-10-20 22:32:05,304.304 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:32:05,609.609 INFO    ] Initializing speech engine...
[2026-10-20 22:32:05,616.616 INFO    ] 2026-10-20 22:32:05
[2026-10-20 22:32:05,887.887 INFO    ] 2026-10-20 22:32:05
[2026-10-20 22:32:05,922.922 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:32:06,183.183 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:32:06,189.189 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:32:06,404.404 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:32:06,454.454 INFO    ] time= 20/10/2026 22:32:06
[2026-10-20 22:32:06,461.461 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:32:06,480.480 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:32:06,621.621 INFO    ] No existing commands found in stream
[2026-10-20 22:32:11,653.653 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:32:11,656.656 INFO    ] Waiting 1.15 seconds before fallback handling...
[2026-10-20 22:32:13,339.339 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:32:13,341.341 INFO    ] Checking for system updates...
[2026-10-20 22:32:13,377.377 INFO    ] 200
[2026-10-20 22:32:13,379.379 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:32:13,431.431 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:32:13,434.434 INFO    ] No update needed
[2026-10-20 22:32:13,436.436 INFO    ] Checking for camera pi updates...
[2026-10-20 22:32:13,472.472 INFO    ] 200
[2026-10-20 22:32:13,474.474 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:32:13,525.525 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:32:13,570.570 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:32:13,572.572 INFO    ] No camera update needed
[2026-10-20 22:32:13,574.574 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:32:13,577.577 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:32:13,582.582 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:32:13,587.587 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:32:15,626.626 INFO    ] ================================================
[2026-10-20 22:32:15,641.641 INFO    ] Launching Daemon at Tue Oct 20 22:32:15 IST 2026
[2026-10-20 22:32:15,652.652 INFO    ] ================================================
[2026-10-20 22:32:16,218.218 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:32:16
[2026-10-20 22:32:16,801.801 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:32:17,061.061 INFO    ] Initializing speech engine...
[2026-10-20 22:32:17,079.079 INFO    ] 2026-10-20 22:32:17
[2026-10-20 22:32:17,329.329 INFO    ] 2026-10-20 22:32:17
[2026-10-20 22:32:17,364.364 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:32:17,622.622 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:32:17,631.631 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:32:17,773.773 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:32:17,832.832 INFO    ] time= 20/10/2026 22:32:17
[2026-10-20 22:32:17,876.876 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:32:17,901.901 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:32:18,054.054 INFO    ] No existing commands found in stream
[2026-10-20 22:32:23,069.069 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:32:23,072.072 INFO    ] Waiting 2.57 seconds before fallback handling...
[2026-10-20 22:32:26,142.142 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:32:26,145.145 INFO    ] Checking for system updates...
[2026-10-20 22:32:26,203.203 INFO    ] 200
[2026-10-20 22:32:26,205.205 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 22:32:26,208.208 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping update check
[2026-10-20 22:32:26,211.211 INFO    ] Checking for camera pi updates...
[2026-10-20 22:32:26,255.255 INFO    ] 200
[2026-10-20 22:32:26,257.257 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_HEALTH_CHECK"}
[2026-10-20 22:32:26,260.260 INFO    ] Machine not idle (state: STATE_HEALTH_CHECK), skipping camera update check
[2026-10-20 22:32:26,263.263 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:32:26,265.265 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:32:26,271.271 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:32:26,276.276 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:32:28,317.317 INFO    ] ================================================
[2026-10-20 22:32:28,332.332 INFO    ] Launching Daemon at Tue Oct 20 22:32:28 IST 2026
[2026-10-20 22:32:28,343.343 INFO    ] ================================================
[2026-10-20 22:32:28,926.926 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:32:28
[2026-10-20 22:32:29,524.524 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:32:29,784.784 INFO    ] Initializing speech engine...
[2026-10-20 22:32:29,793.793 INFO    ] 2026-10-20 22:32:29
[2026-10-20 22:32:30,091.091 INFO    ] 2026-10-20 22:32:30
[2026-10-20 22:32:30,126.126 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:32:30,329.329 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:32:30,342.342 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:32:30,581.581 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:32:30,587.587 INFO    ] time= 20/10/2026 22:32:30
[2026-10-20 22:32:30,607.607 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:32:30,661.661 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:32:30,789.789 INFO    ] No existing commands found in stream
[2026-10-20 22:32:35,801.801 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:32:35,804.804 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-10-20 22:32:38,992.992 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:32:38,994.994 INFO    ] Checking for system updates...
[2026-10-20 22:32:39,030.030 INFO    ] 200
[2026-10-20 22:32:39,033.033 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:32:39,086.086 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:32:39,088.088 INFO    ] No update needed
[2026-10-20 22:32:39,091.091 INFO    ] Checking for camera pi updates...
[2026-10-20 22:32:39,124.124 INFO    ] 200
[2026-10-20 22:32:39,127.127 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:32:39,167.167 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:32:39,310.310 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:32:39,313.313 INFO    ] No camera update needed
[2026-10-20 22:32:39,315.315 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:32:39,318.318 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:32:39,323.323 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:32:39,328.328 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:32:41,369.369 INFO    ] ================================================
[2026-10-20 22:32:41,384.384 INFO    ] Launching Daemon at Tue Oct 20 22:32:41 IST 2026
[2026-10-20 22:32:41,394.394 INFO    ] ================================================
[2026-10-20 22:32:41,976.976 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:32:41
[2026-10-20 22:32:42,574.574 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:32:42,826.826 INFO    ] Initializing speech engine...
[2026-10-20 22:32:42,849.849 INFO    ] 2026-10-20 22:32:42
[2026-10-20 22:32:43,102.102 INFO    ] 2026-10-20 22:32:43
[2026-10-20 22:32:43,137.137 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:32:43,391.391 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:32:43,401.401 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:32:43,597.597 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:32:43,626.626 INFO    ] time= 20/10/2026 22:32:43
[2026-10-20 22:32:43,671.671 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:32:43,678.678 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:32:43,846.846 INFO    ] No existing commands found in stream
[2026-10-20 22:32:48,866.866 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:32:48,868.868 INFO    ] Waiting 1.54 seconds before fallback handling...
[2026-10-20 22:32:50,997.997 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:32:50,999.999 INFO    ] Checking for system updates...
[2026-10-20 22:32:51,035.035 INFO    ] 200
[2026-10-20 22:32:51,037.037 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:32:51,096.096 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:32:51,098.098 INFO    ] No update needed
[2026-10-20 22:32:51,101.101 INFO    ] Checking for camera pi updates...
[2026-10-20 22:32:51,134.134 INFO    ] 200
[2026-10-20 22:32:51,136.136 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:32:51,176.176 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:32:51,222.222 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:32:51,224.224 INFO    ] No camera update needed
[2026-10-20 22:32:51,227.227 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:32:51,229.229 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:32:51,235.235 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:32:51,240.240 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:32:53,283.283 INFO    ] ================================================
[2026-10-20 22:32:53,297.297 INFO    ] Launching Daemon at Tue Oct 20 22:32:53 IST 2026
[2026-10-20 22:32:53,308.308 INFO    ] ================================================
[2026-10-20 22:32:53,885.885 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:32:53
[2026-10-20 22:32:54,489.489 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:32:54,754.754 INFO    ] Initializing speech engine...
[2026-10-20 22:32:54,769.769 INFO    ] 2026-10-20 22:32:54
[2026-10-20 22:32:55,056.056 INFO    ] 2026-10-20 22:32:55
[2026-10-20 22:32:55,095.095 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:32:55,319.319 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:32:55,327.327 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:32:55,549.549 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:32:55,555.555 INFO    ] time= 20/10/2026 22:32:55
[2026-10-20 22:32:55,605.605 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:32:55,654.654 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:32:55,798.798 INFO    ] No existing commands found in stream
[2026-10-20 22:33:00,828.828 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:33:00,831.831 INFO    ] Waiting 3.14 seconds before fallback handling...
[2026-10-20 22:33:04,470.470 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:33:04,473.473 INFO    ] Checking for system updates...
[2026-10-20 22:33:04,509.509 INFO    ] 200
[2026-10-20 22:33:04,512.512 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:33:04,564.564 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:33:04,566.566 INFO    ] No update needed
[2026-10-20 22:33:04,568.568 INFO    ] Checking for camera pi updates...
[2026-10-20 22:33:04,602.602 INFO    ] 200
[2026-10-20 22:33:04,604.604 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:33:04,645.645 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:33:04,694.694 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:33:04,696.696 INFO    ] No camera update needed
[2026-10-20 22:33:04,698.698 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:33:04,701.701 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:33:04,706.706 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:33:04,711.711 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:33:06,751.751 INFO    ] ================================================
[2026-10-20 22:33:06,766.766 INFO    ] Launching Daemon at Tue Oct 20 22:33:06 IST 2026
[2026-10-20 22:33:06,777.777 INFO    ] ================================================
[2026-10-20 22:33:07,356.356 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:33:07
[2026-10-20 22:33:07,954.954 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:33:08,219.219 INFO    ] Initializing speech engine...
[2026-10-20 22:33:08,226.226 INFO    ] 2026-10-20 22:33:08
[2026-10-20 22:33:08,526.526 INFO    ] 2026-10-20 22:33:08
[2026-10-20 22:33:08,562.562 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:33:08,769.769 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:33:08,783.783 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:33:08,951.951 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:33:08,960.960 INFO    ] time= 20/10/2026 22:33:08
[2026-10-20 22:33:08,967.967 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:33:09,014.014 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:33:09,140.140 INFO    ] No existing commands found in stream
[2026-10-20 22:33:14,165.165 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:33:14,168.168 INFO    ] Waiting 2.35 seconds before fallback handling...
[2026-10-20 22:33:17,049.049 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:33:17,052.052 INFO    ] Checking for system updates...
[2026-10-20 22:33:17,087.087 INFO    ] 200
[2026-10-20 22:33:17,089.089 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:33:17,142.142 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:33:17,144.144 INFO    ] No update needed
[2026-10-20 22:33:17,147.147 INFO    ] Checking for camera pi updates...
[2026-10-20 22:33:17,180.180 INFO    ] 200
[2026-10-20 22:33:17,182.182 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:33:17,228.228 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:33:17,287.287 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:33:17,290.290 INFO    ] No camera update needed
[2026-10-20 22:33:17,293.293 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:33:17,295.295 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:33:17,300.300 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:33:17,305.305 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:33:19,346.346 INFO    ] ================================================
[2026-10-20 22:33:19,362.362 INFO    ] Launching Daemon at Tue Oct 20 22:33:19 IST 2026
[2026-10-20 22:33:19,373.373 INFO    ] ================================================
[2026-10-20 22:33:20,040.040 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:33:20
[2026-10-20 22:33:20,728.728 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:33:21,039.039 INFO    ] Initializing speech engine...
[2026-10-20 22:33:21,046.046 INFO    ] 2026-10-20 22:33:21
[2026-10-20 22:33:21,338.338 INFO    ] 2026-10-20 22:33:21
[2026-10-20 22:33:21,413.413 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:33:21,643.643 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:33:21,647.647 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:33:21,842.842 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:33:21,888.888 INFO    ] time= 20/10/2026 22:33:21
[2026-10-20 22:33:21,894.894 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:33:21,912.912 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:33:22,042.042 INFO    ] No existing commands found in stream
[2026-10-20 22:33:27,057.057 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:33:27,060.060 INFO    ] Waiting 0.21 seconds before fallback handling...
[2026-10-20 22:33:27,745.745 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:33:27,748.748 INFO    ] Checking for system updates...
[2026-10-20 22:33:27,783.783 INFO    ] 200
[2026-10-20 22:33:27,786.786 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:33:27,838.838 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:33:27,840.840 INFO    ] No update needed
[2026-10-20 22:33:27,843.843 INFO    ] Checking for camera pi updates...
[2026-10-20 22:33:27,876.876 INFO    ] 200
[2026-10-20 22:33:27,879.879 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:33:27,920.920 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:33:27,962.962 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:33:27,965.965 INFO    ] No camera update needed
[2026-10-20 22:33:27,967.967 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:33:27,970.970 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:33:27,975.975 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:33:27,980.980 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:33:30,021.021 INFO    ] ================================================
[2026-10-20 22:33:30,036.036 INFO    ] Launching Daemon at Tue Oct 20 22:33:30 IST 2026
[2026-10-20 22:33:30,047.047 INFO    ] ================================================
[2026-10-20 22:33:30,714.714 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:33:30
[2026-10-20 22:33:31,402.402 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:33:31,741.741 INFO    ] Initializing speech engine...
[2026-10-20 22:33:31,747.747 INFO    ] 2026-10-20 22:33:31
[2026-10-20 22:33:32,027.027 INFO    ] 2026-10-20 22:33:32
[2026-10-20 22:33:32,073.073 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:33:32,366.366 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:33:32,382.382 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:33:32,586.586 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:33:32,597.597 INFO    ] time= 20/10/2026 22:33:32
[2026-10-20 22:33:32,615.615 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:33:32,625.625 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:33:32,781.781 INFO    ] No existing commands found in stream
[2026-10-20 22:33:37,812.812 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:33:37,815.815 INFO    ] Waiting 0.28 seconds before fallback handling...
[2026-10-20 22:33:38,586.586 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 22:33:38,589.589 INFO    ] Checking for system updates...
[2026-10-20 22:33:38,625.625 INFO    ] 200
[2026-10-20 22:33:38,627.627 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:33:38,681.681 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:33:38,684.684 INFO    ] No update needed
[2026-10-20 22:33:38,686.686 INFO    ] Checking for camera pi updates...
[2026-10-20 22:33:38,722.722 INFO    ] 200
[2026-10-20 22:33:38,724.724 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:33:38,764.764 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:33:38,817.817 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:33:38,819.819 INFO    ] No camera update needed
[2026-10-20 22:33:38,828.828 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:33:38,831.831 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:33:38,837.837 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:33:38,842.842 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:33:40,883.883 INFO    ] ================================================
[2026-10-20 22:33:40,899.899 INFO    ] Launching Daemon at Tue Oct 20 22:33:40 IST 2026
[2026-10-20 22:33:40,909.909 INFO    ] ================================================
[2026-10-20 22:33:41,479.479 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:33:41
[2026-10-20 22:33:42,069.069 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:33:42,322.322 INFO    ] Initializing speech engine...
[2026-10-20 22:33:42,330.330 INFO    ] 2026-10-20 22:33:42
[2026-10-20 22:33:42,633.633 INFO    ] 2026-10-20 22:33:42
[2026-10-20 22:33:42,671.671 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:33:42,873.873 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:33:42,879.879 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:33:43,055.055 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:33:43,064.064 INFO    ] time= 20/10/2026 22:33:43
[2026-10-20 22:33:43,069.069 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:33:43,075.075 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:33:43,154.154 INFO    ] No existing commands found in stream
[2026-10-20 22:33:48,184.184 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:33:48,187.187 INFO    ] Waiting 0.57 seconds before fallback handling...
[2026-10-20 22:33:49,275.275 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:33:49,278.278 INFO    ] Checking for system updates...
[2026-10-20 22:33:49,313.313 INFO    ] 200
[2026-10-20 22:33:49,315.315 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:33:49,371.371 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:33:49,373.373 INFO    ] No update needed
[2026-10-20 22:33:49,375.375 INFO    ] Checking for camera pi updates...
[2026-10-20 22:33:49,409.409 INFO    ] 200
[2026-10-20 22:33:49,411.411 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:33:49,451.451 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:33:49,496.496 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:33:49,498.498 INFO    ] No camera update needed
[2026-10-20 22:33:49,501.501 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:33:49,503.503 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:33:49,508.508 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:33:49,513.513 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:33:51,555.555 INFO    ] ================================================
[2026-10-20 22:33:51,570.570 INFO    ] Launching Daemon at Tue Oct 20 22:33:51 IST 2026
[2026-10-20 22:33:51,580.580 INFO    ] ================================================
[2026-10-20 22:33:52,152.152 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:33:52
[2026-10-20 22:33:52,742.742 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:33:53,003.003 INFO    ] Initializing speech engine...
[2026-10-20 22:33:53,018.018 INFO    ] 2026-10-20 22:33:53
[2026-10-20 22:33:53,306.306 INFO    ] 2026-10-20 22:33:53
[2026-10-20 22:33:53,345.345 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:33:53,548.548 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:33:53,561.561 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:33:53,727.727 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:33:53,736.736 INFO    ] time= 20/10/2026 22:33:53
[2026-10-20 22:33:53,741.741 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:33:53,747.747 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:33:53,871.871 INFO    ] No existing commands found in stream
[2026-10-20 22:33:58,896.896 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:33:58,904.904 INFO    ] Waiting 0.70 seconds before fallback handling...
[2026-10-20 22:34:00,053.053 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:34:00,056.056 INFO    ] Checking for system updates...
[2026-10-20 22:34:00,091.091 INFO    ] 200
[2026-10-20 22:34:00,094.094 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:34:00,145.145 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:34:00,147.147 INFO    ] No update needed
[2026-10-20 22:34:00,149.149 INFO    ] Checking for camera pi updates...
[2026-10-20 22:34:00,182.182 INFO    ] 200
[2026-10-20 22:34:00,185.185 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:34:00,225.225 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:34:00,270.270 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:34:00,272.272 INFO    ] No camera update needed
[2026-10-20 22:34:00,274.274 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:34:00,277.277 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:34:00,282.282 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:34:00,287.287 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:34:02,332.332 INFO    ] ================================================
[2026-10-20 22:34:02,355.355 INFO    ] Launching Daemon at Tue Oct 20 22:34:02 IST 2026
[2026-10-20 22:34:02,375.375 INFO    ] ================================================
[2026-10-20 22:34:03,016.016 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:34:03
[2026-10-20 22:34:03,682.682 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:34:03,935.935 INFO    ] Initializing speech engine...
[2026-10-20 22:34:03,938.938 INFO    ] 2026-10-20 22:34:03
[2026-10-20 22:34:04,211.211 INFO    ] 2026-10-20 22:34:04
[2026-10-20 22:34:04,246.246 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:34:04,507.507 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:34:04,517.517 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:34:04,656.656 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:34:04,721.721 INFO    ] time= 20/10/2026 22:34:04
[2026-10-20 22:34:04,780.780 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:34:04,790.790 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:34:04,936.936 INFO    ] No existing commands found in stream
[2026-10-20 22:34:09,959.959 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:34:09,962.962 INFO    ] Waiting 2.86 seconds before fallback handling...
[2026-10-20 22:34:18,355.355 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:34:18,358.358 INFO    ] Checking for system updates...
[2026-10-20 22:34:18,393.393 INFO    ] 200
[2026-10-20 22:34:18,396.396 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:34:18,447.447 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:34:18,450.450 INFO    ] No update needed
[2026-10-20 22:34:18,453.453 INFO    ] Checking for camera pi updates...
[2026-10-20 22:34:18,485.485 INFO    ] 200
[2026-10-20 22:34:18,488.488 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:34:18,528.528 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:34:18,572.572 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:34:18,574.574 INFO    ] No camera update needed
[2026-10-20 22:34:18,577.577 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:34:18,579.579 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:34:18,584.584 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:34:18,589.589 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:34:20,628.628 INFO    ] ================================================
[2026-10-20 22:34:20,643.643 INFO    ] Launching Daemon at Tue Oct 20 22:34:20 IST 2026
[2026-10-20 22:34:20,654.654 INFO    ] ================================================
[2026-10-20 22:34:21,295.295 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:34:21
[2026-10-20 22:34:21,955.955 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:34:22,255.255 INFO    ] Initializing speech engine...
[2026-10-20 22:34:22,269.269 INFO    ] 2026-10-20 22:34:22
[2026-10-20 22:34:22,551.551 INFO    ] 2026-10-20 22:34:22
[2026-10-20 22:34:22,590.590 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:34:22,875.875 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:34:22,884.884 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:34:23,078.078 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:34:23,100.100 INFO    ] time= 20/10/2026 22:34:23
[2026-10-20 22:34:23,130.130 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:34:23,140.140 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:34:23,248.248 INFO    ] No existing commands found in stream
[2026-10-20 22:34:28,274.274 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:34:28,277.277 INFO    ] Waiting 3.03 seconds before fallback handling...
[2026-10-20 22:34:31,822.822 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:34:31,825.825 INFO    ] Checking for system updates...
[2026-10-20 22:34:31,864.864 INFO    ] 200
[2026-10-20 22:34:31,867.867 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:34:31,926.926 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:34:31,929.929 INFO    ] No update needed
[2026-10-20 22:34:31,932.932 INFO    ] Checking for camera pi updates...
[2026-10-20 22:34:31,967.967 INFO    ] 200
[2026-10-20 22:34:31,970.970 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:34:32,020.020 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:34:32,055.055 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:34:32,058.058 INFO    ] No camera update needed
[2026-10-20 22:34:32,061.061 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:34:32,064.064 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:34:32,070.070 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:34:32,075.075 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:34:34,116.116 INFO    ] ================================================
[2026-10-20 22:34:34,132.132 INFO    ] Launching Daemon at Tue Oct 20 22:34:34 IST 2026
[2026-10-20 22:34:34,142.142 INFO    ] ================================================
[2026-10-20 22:34:34,712.712 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:34:34
[2026-10-20 22:34:35,299.299 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:34:35,559.559 INFO    ] Initializing speech engine...
[2026-10-20 22:34:35,573.573 INFO    ] 2026-10-20 22:34:35
[2026-10-20 22:34:35,853.853 INFO    ] 2026-10-20 22:34:35
[2026-10-20 22:34:35,890.890 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:34:36,150.150 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:34:36,159.159 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:34:36,387.387 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:34:36,425.425 INFO    ] time= 20/10/2026 22:34:36
[2026-10-20 22:34:36,441.441 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:34:36,461.461 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:34:36,614.614 INFO    ] No existing commands found in stream
[2026-10-20 22:34:41,645.645 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:34:41,648.648 INFO    ] Waiting 0.60 seconds before fallback handling...
[2026-10-20 22:34:42,807.807 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:34:42,810.810 INFO    ] Checking for system updates...
[2026-10-20 22:34:42,846.846 INFO    ] 200
[2026-10-20 22:34:42,849.849 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:34:42,904.904 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:34:42,907.907 INFO    ] No update needed
[2026-10-20 22:34:42,909.909 INFO    ] Checking for camera pi updates...
[2026-10-20 22:34:42,942.942 INFO    ] 200
[2026-10-20 22:34:42,945.945 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:34:42,985.985 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:34:43,136.136 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:34:43,138.138 INFO    ] No camera update needed
[2026-10-20 22:34:43,141.141 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:34:43,143.143 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:34:43,148.148 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:34:43,153.153 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:34:45,193.193 INFO    ] ================================================
[2026-10-20 22:34:45,208.208 INFO    ] Launching Daemon at Tue Oct 20 22:34:45 IST 2026
[2026-10-20 22:34:45,218.218 INFO    ] ================================================
[2026-10-20 22:34:45,797.797 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:34:45
[2026-10-20 22:34:46,393.393 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:34:46,666.666 INFO    ] Initializing speech engine...
[2026-10-20 22:34:46,676.676 INFO    ] 2026-10-20 22:34:46
[2026-10-20 22:34:46,937.937 INFO    ] 2026-10-20 22:34:46
[2026-10-20 22:34:46,967.967 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:34:47,211.211 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:34:47,221.221 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:34:47,430.430 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:34:47,474.474 INFO    ] time= 20/10/2026 22:34:47
[2026-10-20 22:34:47,485.485 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:34:47,503.503 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:34:47,657.657 INFO    ] No existing commands found in stream
[2026-10-20 22:34:52,687.687 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:34:52,690.690 INFO    ] Waiting 0.75 seconds before fallback handling...
[2026-10-20 22:34:53,951.951 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 22:34:53,954.954 INFO    ] Checking for system updates...
[2026-10-20 22:34:53,990.990 INFO    ] 200
[2026-10-20 22:34:53,993.993 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:34:54,045.045 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:34:54,048.048 INFO    ] No update needed
[2026-10-20 22:34:54,050.050 INFO    ] Checking for camera pi updates...
[2026-10-20 22:34:54,086.086 INFO    ] 200
[2026-10-20 22:34:54,089.089 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:34:54,137.137 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:34:54,193.193 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:34:54,196.196 INFO    ] No camera update needed
[2026-10-20 22:34:54,199.199 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:34:54,201.201 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:34:54,207.207 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:34:54,213.213 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:34:56,257.257 INFO    ] ================================================
[2026-10-20 22:34:56,274.274 INFO    ] Launching Daemon at Tue Oct 20 22:34:56 IST 2026
[2026-10-20 22:34:56,285.285 INFO    ] ================================================
[2026-10-20 22:34:56,900.900 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:34:56
[2026-10-20 22:34:57,535.535 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:34:57,805.805 INFO    ] Initializing speech engine...
[2026-10-20 22:34:57,813.813 INFO    ] 2026-10-20 22:34:57
[2026-10-20 22:34:58,134.134 INFO    ] 2026-10-20 22:34:58
[2026-10-20 22:34:58,173.173 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:34:58,383.383 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:34:58,397.397 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:34:58,533.533 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:34:58,556.556 INFO    ] time= 20/10/2026 22:34:58
[2026-10-20 22:34:58,579.579 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:34:58,588.588 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:34:58,672.672 INFO    ] No existing commands found in stream
[2026-10-20 22:35:03,701.701 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:35:03,704.704 INFO    ] Waiting 0.08 seconds before fallback handling...
[2026-10-20 22:35:04,272.272 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 22:35:04,274.274 INFO    ] Checking for system updates...
[2026-10-20 22:35:04,313.313 INFO    ] 200
[2026-10-20 22:35:04,315.315 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:35:04,367.367 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:35:04,370.370 INFO    ] No update needed
[2026-10-20 22:35:04,372.372 INFO    ] Checking for camera pi updates...
[2026-10-20 22:35:04,409.409 INFO    ] 200
[2026-10-20 22:35:04,411.411 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:35:04,455.455 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:35:04,485.485 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:35:04,488.488 INFO    ] No camera update needed
[2026-10-20 22:35:04,491.491 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:35:04,493.493 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:35:04,498.498 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:35:04,503.503 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:35:06,543.543 INFO    ] ================================================
[2026-10-20 22:35:06,559.559 INFO    ] Launching Daemon at Tue Oct 20 22:35:06 IST 2026
[2026-10-20 22:35:06,570.570 INFO    ] ================================================
[2026-10-20 22:35:07,222.222 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:35:07
[2026-10-20 22:35:07,891.891 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:35:08,193.193 INFO    ] Initializing speech engine...
[2026-10-20 22:35:08,207.207 INFO    ] 2026-10-20 22:35:08
[2026-10-20 22:35:08,515.515 INFO    ] 2026-10-20 22:35:08
[2026-10-20 22:35:08,602.602 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:35:08,817.817 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:35:08,823.823 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:35:09,018.018 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:35:09,025.025 INFO    ] time= 20/10/2026 22:35:09
[2026-10-20 22:35:09,052.052 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:35:09,076.076 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:35:09,199.199 INFO    ] No existing commands found in stream
[2026-10-20 22:35:14,235.235 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:35:14,238.238 INFO    ] Waiting 3.45 seconds before fallback handling...
[2026-10-20 22:35:18,179.179 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:35:18,182.182 INFO    ] Checking for system updates...
[2026-10-20 22:35:18,219.219 INFO    ] 200
[2026-10-20 22:35:18,222.222 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:35:18,281.281 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:35:18,284.284 INFO    ] No update needed
[2026-10-20 22:35:18,287.287 INFO    ] Checking for camera pi updates...
[2026-10-20 22:35:18,321.321 INFO    ] 200
[2026-10-20 22:35:18,324.324 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:35:18,365.365 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:35:18,414.414 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:35:18,417.417 INFO    ] No camera update needed
[2026-10-20 22:35:18,420.420 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:35:18,423.423 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:35:18,429.429 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:35:18,434.434 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:35:20,475.475 INFO    ] ================================================
[2026-10-20 22:35:20,492.492 INFO    ] Launching Daemon at Tue Oct 20 22:35:20 IST 2026
[2026-10-20 22:35:20,503.503 INFO    ] ================================================
[2026-10-20 22:35:21,068.068 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:35:21
[2026-10-20 22:35:21,650.650 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:35:21,899.899 INFO    ] Initializing speech engine...
[2026-10-20 22:35:21,913.913 INFO    ] 2026-10-20 22:35:21
[2026-10-20 22:35:22,178.178 INFO    ] 2026-10-20 22:35:22
[2026-10-20 22:35:22,214.214 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:35:22,414.414 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:35:22,422.422 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:35:22,620.620 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:35:22,626.626 INFO    ] time= 20/10/2026 22:35:22
[2026-10-20 22:35:22,681.681 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:35:22,730.730 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:35:22,893.893 INFO    ] No existing commands found in stream
[2026-10-20 22:35:27,919.919 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:35:27,922.922 INFO    ] Waiting 1.46 seconds before fallback handling...
[2026-10-20 22:35:29,878.878 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 22:35:29,881.881 INFO    ] Checking for system updates...
[2026-10-20 22:35:29,917.917 INFO    ] 200
[2026-10-20 22:35:29,920.920 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:35:29,973.973 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:35:29,976.976 INFO    ] No update needed
[2026-10-20 22:35:29,979.979 INFO    ] Checking for camera pi updates...
[2026-10-20 22:35:30,017.017 INFO    ] 200
[2026-10-20 22:35:30,020.020 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:35:30,067.067 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:35:30,117.117 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:35:30,120.120 INFO    ] No camera update needed
[2026-10-20 22:35:30,123.123 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:35:30,125.125 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:35:30,132.132 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:35:30,137.137 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:35:32,181.181 INFO    ] ================================================
[2026-10-20 22:35:32,198.198 INFO    ] Launching Daemon at Tue Oct 20 22:35:32 IST 2026
[2026-10-20 22:35:32,210.210 INFO    ] ================================================
[2026-10-20 22:35:32,821.821 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:35:32
[2026-10-20 22:35:33,442.442 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:35:33,719.719 INFO    ] Initializing speech engine...
[2026-10-20 22:35:33,725.725 INFO    ] 2026-10-20 22:35:33
[2026-10-20 22:35:33,986.986 INFO    ] 2026-10-20 22:35:33
[2026-10-20 22:35:34,039.039 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:35:34,265.265 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:35:34,271.271 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:35:34,409.409 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:35:34,459.459 INFO    ] time= 20/10/2026 22:35:34
[2026-10-20 22:35:34,518.518 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:35:34,538.538 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:35:34,679.679 INFO    ] No existing commands found in stream
[2026-10-20 22:35:39,691.691 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:35:39,694.694 INFO    ] Waiting 1.83 seconds before fallback handling...
[2026-10-20 22:35:42,119.119 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:35:42,122.122 INFO    ] Checking for system updates...
[2026-10-20 22:35:42,159.159 INFO    ] 200
[2026-10-20 22:35:42,162.162 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:35:42,216.216 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:35:42,219.219 INFO    ] No update needed
[2026-10-20 22:35:42,222.222 INFO    ] Checking for camera pi updates...
[2026-10-20 22:35:42,257.257 INFO    ] 200
[2026-10-20 22:35:42,260.260 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:35:42,301.301 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:35:42,352.352 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:35:42,354.354 INFO    ] No camera update needed
[2026-10-20 22:35:42,357.357 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:35:42,360.360 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:35:42,366.366 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:35:42,372.372 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:35:44,412.412 INFO    ] ================================================
[2026-10-20 22:35:44,428.428 INFO    ] Launching Daemon at Tue Oct 20 22:35:44 IST 2026
[2026-10-20 22:35:44,438.438 INFO    ] ================================================
[2026-10-20 22:35:45,009.009 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:35:45
[2026-10-20 22:35:45,592.592 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:35:45,841.841 INFO    ] Initializing speech engine...
[2026-10-20 22:35:45,855.855 INFO    ] 2026-10-20 22:35:45
[2026-10-20 22:35:46,121.121 INFO    ] 2026-10-20 22:35:46
[2026-10-20 22:35:46,156.156 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:35:46,365.365 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:35:46,419.419 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:35:46,637.637 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:35:46,689.689 INFO    ] time= 20/10/2026 22:35:46
[2026-10-20 22:35:46,696.696 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:35:46,715.715 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:35:46,849.849 INFO    ] No existing commands found in stream
[2026-10-20 22:35:51,868.868 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:35:51,871.871 INFO    ] Waiting 3.70 seconds before fallback handling...
[2026-10-20 22:35:56,090.090 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 22:35:56,093.093 INFO    ] Checking for system updates...
[2026-10-20 22:35:56,128.128 INFO    ] 200
[2026-10-20 22:35:56,131.131 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:35:56,183.183 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:35:56,185.185 INFO    ] No update needed
[2026-10-20 22:35:56,188.188 INFO    ] Checking for camera pi updates...
[2026-10-20 22:35:56,221.221 INFO    ] 200
[2026-10-20 22:35:56,223.223 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:35:56,266.266 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:35:56,312.312 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:35:56,314.314 INFO    ] No camera update needed
[2026-10-20 22:35:56,316.316 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:35:56,319.319 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:35:56,324.324 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:35:56,329.329 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:35:58,370.370 INFO    ] ================================================
[2026-10-20 22:35:58,385.385 INFO    ] Launching Daemon at Tue Oct 20 22:35:58 IST 2026
[2026-10-20 22:35:58,396.396 INFO    ] ================================================
[2026-10-20 22:35:58,973.973 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:35:58
[2026-10-20 22:35:59,649.649 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:35:59,957.957 INFO    ] Initializing speech engine...
[2026-10-20 22:35:59,969.969 INFO    ] 2026-10-20 22:35:59
[2026-10-20 22:36:00,247.247 INFO    ] 2026-10-20 22:36:00
[2026-10-20 22:36:00,290.290 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:36:00,574.574 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:36:00,582.582 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:36:00,772.772 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:36:00,779.779 INFO    ] time= 20/10/2026 22:36:00
[2026-10-20 22:36:00,797.797 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:36:00,825.825 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:36:00,955.955 INFO    ] No existing commands found in stream
[2026-10-20 22:36:05,986.986 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:36:05,989.989 INFO    ] Waiting 2.30 seconds before fallback handling...
[2026-10-20 22:36:08,768.768 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:36:08,771.771 INFO    ] Checking for system updates...
[2026-10-20 22:36:08,806.806 INFO    ] 200
[2026-10-20 22:36:08,809.809 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:36:08,870.870 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:36:08,872.872 INFO    ] No update needed
[2026-10-20 22:36:08,874.874 INFO    ] Checking for camera pi updates...
[2026-10-20 22:36:08,909.909 INFO    ] 200
[2026-10-20 22:36:08,912.912 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:36:08,963.963 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:36:09,019.019 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:36:09,021.021 INFO    ] No camera update needed
[2026-10-20 22:36:09,023.023 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:36:09,026.026 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:36:09,031.031 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:36:09,036.036 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:36:11,078.078 INFO    ] ================================================
[2026-10-20 22:36:11,093.093 INFO    ] Launching Daemon at Tue Oct 20 22:36:11 IST 2026
[2026-10-20 22:36:11,104.104 INFO    ] ================================================
[2026-10-20 22:36:11,686.686 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:36:11
[2026-10-20 22:36:12,286.286 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:36:12,567.567 INFO    ] Initializing speech engine...
[2026-10-20 22:36:12,574.574 INFO    ] 2026-10-20 22:36:12
[2026-10-20 22:36:12,834.834 INFO    ] 2026-10-20 22:36:12
[2026-10-20 22:36:12,865.865 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:36:13,109.109 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:36:13,119.119 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:36:13,344.344 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:36:13,379.379 INFO    ] time= 20/10/2026 22:36:13
[2026-10-20 22:36:13,394.394 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:36:13,404.404 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:36:13,531.531 INFO    ] No existing commands found in stream
[2026-10-20 22:36:18,551.551 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:36:18,554.554 INFO    ] Waiting 3.08 seconds before fallback handling...
[2026-10-20 22:36:22,151.151 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:36:22,154.154 INFO    ] Checking for system updates...
[2026-10-20 22:36:22,201.201 INFO    ] 200
[2026-10-20 22:36:22,204.204 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:36:22,256.256 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:36:22,259.259 INFO    ] No update needed
[2026-10-20 22:36:22,262.262 INFO    ] Checking for camera pi updates...
[2026-10-20 22:36:22,295.295 INFO    ] 200
[2026-10-20 22:36:22,297.297 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:36:22,339.339 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:36:22,392.392 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:36:22,395.395 INFO    ] No camera update needed
[2026-10-20 22:36:22,398.398 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:36:22,401.401 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:36:22,407.407 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:36:22,413.413 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:36:24,453.453 INFO    ] ================================================
[2026-10-20 22:36:24,468.468 INFO    ] Launching Daemon at Tue Oct 20 22:36:24 IST 2026
[2026-10-20 22:36:24,478.478 INFO    ] ================================================
[2026-10-20 22:36:25,044.044 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:36:25
[2026-10-20 22:36:25,626.626 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:36:25,886.886 INFO    ] Initializing speech engine...
[2026-10-20 22:36:25,904.904 INFO    ] 2026-10-20 22:36:25
[2026-10-20 22:36:26,155.155 INFO    ] 2026-10-20 22:36:26
[2026-10-20 22:36:26,190.190 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:36:26,391.391 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:36:26,450.450 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:36:26,641.641 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:36:26,685.685 INFO    ] time= 20/10/2026 22:36:26
[2026-10-20 22:36:26,725.725 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:36:26,731.731 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:36:26,882.882 INFO    ] No existing commands found in stream
[2026-10-20 22:36:31,910.910 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:36:31,913.913 INFO    ] Waiting 2.34 seconds before fallback handling...
[2026-10-20 22:36:34,794.794 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 22:36:34,797.797 INFO    ] Checking for system updates...
[2026-10-20 22:36:34,833.833 INFO    ] 200
[2026-10-20 22:36:34,836.836 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:36:34,906.906 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:36:34,909.909 INFO    ] No update needed
[2026-10-20 22:36:34,911.911 INFO    ] Checking for camera pi updates...
[2026-10-20 22:36:34,944.944 INFO    ] 200
[2026-10-20 22:36:34,947.947 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:36:34,993.993 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:36:35,051.051 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:36:35,053.053 INFO    ] No camera update needed
[2026-10-20 22:36:35,056.056 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:36:35,058.058 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:36:35,063.063 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:36:35,068.068 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:36:37,111.111 INFO    ] ================================================
[2026-10-20 22:36:37,126.126 INFO    ] Launching Daemon at Tue Oct 20 22:36:37 IST 2026
[2026-10-20 22:36:37,136.136 INFO    ] ================================================
[2026-10-20 22:36:37,701.701 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:36:37
[2026-10-20 22:36:38,282.282 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:36:38,579.579 INFO    ] Initializing speech engine...
[2026-10-20 22:36:38,588.588 INFO    ] 2026-10-20 22:36:38
[2026-10-20 22:36:38,892.892 INFO    ] 2026-10-20 22:36:38
[2026-10-20 22:36:38,975.975 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:36:39,186.186 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:36:39,191.191 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:36:39,385.385 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:36:39,391.391 INFO    ] time= 20/10/2026 22:36:39
[2026-10-20 22:36:39,409.409 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:36:39,421.421 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:36:39,545.545 INFO    ] No existing commands found in stream
[2026-10-20 22:36:44,565.565 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:36:44,568.568 INFO    ] Waiting 1.17 seconds before fallback handling...
[2026-10-20 22:36:46,297.297 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:36:46,300.300 INFO    ] Checking for system updates...
[2026-10-20 22:36:46,340.340 INFO    ] 200
[2026-10-20 22:36:46,342.342 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:36:46,396.396 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:36:46,399.399 INFO    ] No update needed
[2026-10-20 22:36:46,401.401 INFO    ] Checking for camera pi updates...
[2026-10-20 22:36:46,439.439 INFO    ] 200
[2026-10-20 22:36:46,441.441 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:36:46,482.482 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:36:46,630.630 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:36:46,632.632 INFO    ] No camera update needed
[2026-10-20 22:36:46,635.635 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:36:46,637.637 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:36:46,643.643 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:36:46,648.648 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:36:48,690.690 INFO    ] ================================================
[2026-10-20 22:36:48,705.705 INFO    ] Launching Daemon at Tue Oct 20 22:36:48 IST 2026
[2026-10-20 22:36:48,716.716 INFO    ] ================================================
[2026-10-20 22:36:49,312.312 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:36:49
[2026-10-20 22:36:49,915.915 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:36:50,194.194 INFO    ] Initializing speech engine...
[2026-10-20 22:36:50,203.203 INFO    ] 2026-10-20 22:36:50
[2026-10-20 22:36:50,460.460 INFO    ] 2026-10-20 22:36:50
[2026-10-20 22:36:50,490.490 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:36:50,738.738 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:36:50,742.742 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:36:50,946.946 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:36:50,998.998 INFO    ] time= 20/10/2026 22:36:50
[2026-10-20 22:36:51,005.005 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:36:51,023.023 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:36:51,155.155 INFO    ] No existing commands found in stream
[2026-10-20 22:36:56,177.177 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:36:56,180.180 INFO    ] Waiting 0.93 seconds before fallback handling...
[2026-10-20 22:36:57,632.632 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:36:57,635.635 INFO    ] Checking for system updates...
[2026-10-20 22:36:57,676.676 INFO    ] 200
[2026-10-20 22:36:57,678.678 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:36:57,737.737 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:36:57,740.740 INFO    ] No update needed
[2026-10-20 22:36:57,742.742 INFO    ] Checking for camera pi updates...
[2026-10-20 22:36:57,776.776 INFO    ] 200
[2026-10-20 22:36:57,778.778 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:36:57,819.819 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:36:57,869.869 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:36:57,871.871 INFO    ] No camera update needed
[2026-10-20 22:36:57,873.873 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:36:57,875.875 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:36:57,881.881 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:36:57,886.886 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:36:59,924.924 INFO    ] ================================================
[2026-10-20 22:36:59,939.939 INFO    ] Launching Daemon at Tue Oct 20 22:36:59 IST 2026
[2026-10-20 22:36:59,950.950 INFO    ] ================================================
[2026-10-20 22:37:00,517.517 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:37:00
[2026-10-20 22:37:01,101.101 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:37:01,372.372 INFO    ] Initializing speech engine...
[2026-10-20 22:37:01,381.381 INFO    ] 2026-10-20 22:37:01
[2026-10-20 22:37:01,632.632 INFO    ] 2026-10-20 22:37:01
[2026-10-20 22:37:01,667.667 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:37:01,916.916 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:37:01,939.939 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:37:02,123.123 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:37:02,127.127 INFO    ] time= 20/10/2026 22:37:02
[2026-10-20 22:37:02,130.130 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:37:02,134.134 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:37:02,214.214 INFO    ] No existing commands found in stream
[2026-10-20 22:37:07,224.224 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:37:07,227.227 INFO    ] Waiting 0.86 seconds before fallback handling...
[2026-10-20 22:37:08,592.592 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:37:08,594.594 INFO    ] Checking for system updates...
[2026-10-20 22:37:08,634.634 INFO    ] 200
[2026-10-20 22:37:08,637.637 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:37:08,697.697 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:37:08,700.700 INFO    ] No update needed
[2026-10-20 22:37:08,702.702 INFO    ] Checking for camera pi updates...
[2026-10-20 22:37:08,739.739 INFO    ] 200
[2026-10-20 22:37:08,742.742 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:37:08,787.787 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:37:08,834.834 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:37:08,836.836 INFO    ] No camera update needed
[2026-10-20 22:37:08,839.839 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:37:08,841.841 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:37:08,847.847 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:37:08,852.852 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:37:10,891.891 INFO    ] ================================================
[2026-10-20 22:37:10,906.906 INFO    ] Launching Daemon at Tue Oct 20 22:37:10 IST 2026
[2026-10-20 22:37:10,916.916 INFO    ] ================================================
[2026-10-20 22:37:11,482.482 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:37:11
[2026-10-20 22:37:12,067.067 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:37:12,340.340 INFO    ] Initializing speech engine...
[2026-10-20 22:37:12,349.349 INFO    ] 2026-10-20 22:37:12
[2026-10-20 22:37:12,598.598 INFO    ] 2026-10-20 22:37:12
[2026-10-20 22:37:12,640.640 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:37:12,888.888 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:37:12,899.899 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:37:13,113.113 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:37:13,159.159 INFO    ] time= 20/10/2026 22:37:13
[2026-10-20 22:37:13,176.176 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:37:13,187.187 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:37:13,316.316 INFO    ] No existing commands found in stream
[2026-10-20 22:37:18,351.351 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:37:18,355.355 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-10-20 22:37:19,952.952 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 22:37:19,955.955 INFO    ] Checking for system updates...
[2026-10-20 22:37:19,996.996 INFO    ] 200
[2026-10-20 22:37:19,999.999 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:37:20,059.059 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:37:20,062.062 INFO    ] No update needed
[2026-10-20 22:37:20,065.065 INFO    ] Checking for camera pi updates...
[2026-10-20 22:37:20,102.102 INFO    ] 200
[2026-10-20 22:37:20,105.105 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:37:20,160.160 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:37:20,205.205 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:37:20,207.207 INFO    ] No camera update needed
[2026-10-20 22:37:20,210.210 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:37:20,213.213 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:37:20,219.219 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:37:20,225.225 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:37:22,266.266 INFO    ] ================================================
[2026-10-20 22:37:22,281.281 INFO    ] Launching Daemon at Tue Oct 20 22:37:22 IST 2026
[2026-10-20 22:37:22,292.292 INFO    ] ================================================
[2026-10-20 22:37:22,860.860 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:37:22
[2026-10-20 22:37:23,446.446 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:37:23,716.716 INFO    ] Initializing speech engine...
[2026-10-20 22:37:23,726.726 INFO    ] 2026-10-20 22:37:23
[2026-10-20 22:37:23,971.971 INFO    ] 2026-10-20 22:37:23
[2026-10-20 22:37:24,006.006 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:37:24,209.209 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:37:24,262.262 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:37:24,453.453 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:37:24,508.508 INFO    ] time= 20/10/2026 22:37:24
[2026-10-20 22:37:24,533.533 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:37:24,539.539 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:37:24,687.687 INFO    ] No existing commands found in stream
[2026-10-20 22:37:29,705.705 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:37:29,708.708 INFO    ] Waiting 1.96 seconds before fallback handling...
[2026-10-20 22:37:32,242.242 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:37:32,245.245 INFO    ] Checking for system updates...
[2026-10-20 22:37:32,283.283 INFO    ] 200
[2026-10-20 22:37:32,286.286 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:37:32,349.349 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:37:32,352.352 INFO    ] No update needed
[2026-10-20 22:37:32,355.355 INFO    ] Checking for camera pi updates...
[2026-10-20 22:37:32,394.394 INFO    ] 200
[2026-10-20 22:37:32,397.397 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:37:32,445.445 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:37:32,490.490 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:37:32,493.493 INFO    ] No camera update needed
[2026-10-20 22:37:32,495.495 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:37:32,498.498 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:37:32,506.506 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:37:32,512.512 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:37:34,553.553 INFO    ] ================================================
[2026-10-20 22:37:34,568.568 INFO    ] Launching Daemon at Tue Oct 20 22:37:34 IST 2026
[2026-10-20 22:37:34,579.579 INFO    ] ================================================
[2026-10-20 22:37:35,243.243 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:37:35
[2026-10-20 22:37:35,927.927 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:37:36,236.236 INFO    ] Initializing speech engine...
[2026-10-20 22:37:36,245.245 INFO    ] 2026-10-20 22:37:36
[2026-10-20 22:37:36,536.536 INFO    ] 2026-10-20 22:37:36
[2026-10-20 22:37:36,582.582 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:37:36,880.880 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:37:36,886.886 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:37:37,088.088 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:37:37,107.107 INFO    ] time= 20/10/2026 22:37:37
[2026-10-20 22:37:37,117.117 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:37:37,144.144 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:37:37,294.294 INFO    ] No existing commands found in stream
[2026-10-20 22:37:42,325.325 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:37:42,328.328 INFO    ] Waiting 1.52 seconds before fallback handling...
[2026-10-20 22:37:44,490.490 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:37:44,493.493 INFO    ] Checking for system updates...
[2026-10-20 22:37:44,533.533 INFO    ] 200
[2026-10-20 22:37:44,536.536 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:37:44,596.596 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:37:44,600.600 INFO    ] No update needed
[2026-10-20 22:37:44,603.603 INFO    ] Checking for camera pi updates...
[2026-10-20 22:37:44,641.641 INFO    ] 200
[2026-10-20 22:37:44,644.644 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:37:44,686.686 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:37:44,732.732 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:37:44,735.735 INFO    ] No camera update needed
[2026-10-20 22:37:44,738.738 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:37:44,740.740 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:37:44,747.747 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:37:44,752.752 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:37:46,794.794 INFO    ] ================================================
[2026-10-20 22:37:46,810.810 INFO    ] Launching Daemon at Tue Oct 20 22:37:46 IST 2026
[2026-10-20 22:37:46,820.820 INFO    ] ================================================
[2026-10-20 22:37:47,483.483 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:37:47
[2026-10-20 22:37:48,166.166 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:37:48,468.468 INFO    ] Initializing speech engine...
[2026-10-20 22:37:48,476.476 INFO    ] 2026-10-20 22:37:48
[2026-10-20 22:37:48,740.740 INFO    ] 2026-10-20 22:37:48
[2026-10-20 22:37:48,813.813 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:37:49,008.008 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:37:49,074.074 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:37:49,234.234 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:37:49,283.283 INFO    ] time= 20/10/2026 22:37:49
[2026-10-20 22:37:49,337.337 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:37:49,389.389 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:37:49,459.459 INFO    ] No existing commands found in stream
[2026-10-20 22:37:54,479.479 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:37:54,482.482 INFO    ] Waiting 0.71 seconds before fallback handling...
[2026-10-20 22:37:55,699.699 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:37:55,702.702 INFO    ] Checking for system updates...
[2026-10-20 22:37:55,738.738 INFO    ] 200
[2026-10-20 22:37:55,740.740 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:37:55,793.793 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:37:55,796.796 INFO    ] No update needed
[2026-10-20 22:37:55,798.798 INFO    ] Checking for camera pi updates...
[2026-10-20 22:37:55,831.831 INFO    ] 200
[2026-10-20 22:37:55,834.834 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:37:55,873.873 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:37:55,926.926 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:37:55,928.928 INFO    ] No camera update needed
[2026-10-20 22:37:55,931.931 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:37:55,933.933 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:37:55,938.938 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:37:55,943.943 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:37:57,983.983 INFO    ] ================================================
[2026-10-20 22:37:58,999.999 INFO    ] Launching Daemon at Tue Oct 20 22:37:57 IST 2026
[2026-10-20 22:37:58,013.013 INFO    ] ================================================
[2026-10-20 22:37:58,601.601 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:37:58
[2026-10-20 22:37:59,206.206 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:37:59,464.464 INFO    ] Initializing speech engine...
[2026-10-20 22:37:59,470.470 INFO    ] 2026-10-20 22:37:59
[2026-10-20 22:37:59,773.773 INFO    ] 2026-10-20 22:37:59
[2026-10-20 22:37:59,810.810 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:38:00,024.024 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:38:00,041.041 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:38:00,250.250 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:38:00,275.275 INFO    ] time= 20/10/2026 22:38:00
[2026-10-20 22:38:00,292.292 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:38:00,341.341 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:38:00,435.435 INFO    ] No existing commands found in stream
[2026-10-20 22:38:05,457.457 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:38:05,460.460 INFO    ] Waiting 1.70 seconds before fallback handling...
[2026-10-20 22:38:07,713.713 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:38:07,716.716 INFO    ] Checking for system updates...
[2026-10-20 22:38:07,755.755 INFO    ] 200
[2026-10-20 22:38:07,758.758 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:38:07,816.816 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:38:07,819.819 INFO    ] No update needed
[2026-10-20 22:38:07,821.821 INFO    ] Checking for camera pi updates...
[2026-10-20 22:38:07,859.859 INFO    ] 200
[2026-10-20 22:38:07,861.861 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:38:07,901.901 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:38:07,950.950 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:38:07,952.952 INFO    ] No camera update needed
[2026-10-20 22:38:07,955.955 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:38:07,957.957 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:38:07,962.962 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:38:07,967.967 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:38:10,007.007 INFO    ] ================================================
[2026-10-20 22:38:10,022.022 INFO    ] Launching Daemon at Tue Oct 20 22:38:10 IST 2026
[2026-10-20 22:38:10,034.034 INFO    ] ================================================
[2026-10-20 22:38:10,601.601 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:38:10
[2026-10-20 22:38:11,185.185 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:38:11,439.439 INFO    ] Initializing speech engine...
[2026-10-20 22:38:11,447.447 INFO    ] 2026-10-20 22:38:11
[2026-10-20 22:38:11,743.743 INFO    ] 2026-10-20 22:38:11
[2026-10-20 22:38:11,777.777 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:38:11,976.976 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:38:11,983.983 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:38:12,158.158 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:38:12,167.167 INFO    ] time= 20/10/2026 22:38:12
[2026-10-20 22:38:12,174.174 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:38:12,180.180 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:38:12,322.322 INFO    ] No existing commands found in stream
[2026-10-20 22:38:17,347.347 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:38:17,350.350 INFO    ] Waiting 2.78 seconds before fallback handling...
[2026-10-20 22:38:20,667.667 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 22:38:20,670.670 INFO    ] Checking for system updates...
[2026-10-20 22:38:20,706.706 INFO    ] 200
[2026-10-20 22:38:20,708.708 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:38:20,761.761 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:38:20,763.763 INFO    ] No update needed
[2026-10-20 22:38:20,766.766 INFO    ] Checking for camera pi updates...
[2026-10-20 22:38:20,799.799 INFO    ] 200
[2026-10-20 22:38:20,802.802 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:38:20,842.842 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:38:20,893.893 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:38:20,895.895 INFO    ] No camera update needed
[2026-10-20 22:38:20,898.898 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:38:20,900.900 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:38:20,905.905 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:38:20,910.910 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:38:22,950.950 INFO    ] ================================================
[2026-10-20 22:38:22,966.966 INFO    ] Launching Daemon at Tue Oct 20 22:38:22 IST 2026
[2026-10-20 22:38:22,977.977 INFO    ] ================================================
[2026-10-20 22:38:23,636.636 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:38:23
[2026-10-20 22:38:24,312.312 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:38:24,618.618 INFO    ] Initializing speech engine...
[2026-10-20 22:38:24,632.632 INFO    ] 2026-10-20 22:38:24
[2026-10-20 22:38:24,917.917 INFO    ] 2026-10-20 22:38:24
[2026-10-20 22:38:25,026.026 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:38:25,239.239 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:38:25,246.246 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:38:25,440.440 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:38:25,459.459 INFO    ] time= 20/10/2026 22:38:25
[2026-10-20 22:38:25,469.469 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:38:25,495.495 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:38:25,621.621 INFO    ] No existing commands found in stream
[2026-10-20 22:38:30,657.657 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:38:30,660.660 INFO    ] Waiting 0.95 seconds before fallback handling...
[2026-10-20 22:38:32,196.196 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:38:32,200.200 INFO    ] Checking for system updates...
[2026-10-20 22:38:32,240.240 INFO    ] 200
[2026-10-20 22:38:32,243.243 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:38:32,303.303 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:38:32,306.306 INFO    ] No update needed
[2026-10-20 22:38:32,309.309 INFO    ] Checking for camera pi updates...
[2026-10-20 22:38:32,349.349 INFO    ] 200
[2026-10-20 22:38:32,351.351 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:38:32,394.394 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:38:32,430.430 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:38:32,433.433 INFO    ] No camera update needed
[2026-10-20 22:38:32,435.435 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:38:32,437.437 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:38:32,445.445 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:38:32,450.450 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:38:34,495.495 INFO    ] ================================================
[2026-10-20 22:38:34,510.510 INFO    ] Launching Daemon at Tue Oct 20 22:38:34 IST 2026
[2026-10-20 22:38:34,521.521 INFO    ] ================================================
[2026-10-20 22:38:35,085.085 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:38:35
[2026-10-20 22:38:35,672.672 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:38:35,925.925 INFO    ] Initializing speech engine...
[2026-10-20 22:38:35,932.932 INFO    ] 2026-10-20 22:38:35
[2026-10-20 22:38:36,230.230 INFO    ] 2026-10-20 22:38:36
[2026-10-20 22:38:36,264.264 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:38:36,493.493 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:38:36,502.502 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:38:36,651.651 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:38:36,656.656 INFO    ] time= 20/10/2026 22:38:36
[2026-10-20 22:38:36,663.663 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:38:36,694.694 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:38:36,830.830 INFO    ] No existing commands found in stream
[2026-10-20 22:38:41,850.850 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:38:41,853.853 INFO    ] Waiting 2.81 seconds before fallback handling...
[2026-10-20 22:38:45,147.147 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:38:45,149.149 INFO    ] Checking for system updates...
[2026-10-20 22:38:45,185.185 INFO    ] 200
[2026-10-20 22:38:45,187.187 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:38:45,246.246 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:38:45,248.248 INFO    ] No update needed
[2026-10-20 22:38:45,251.251 INFO    ] Checking for camera pi updates...
[2026-10-20 22:38:45,287.287 INFO    ] 200
[2026-10-20 22:38:45,290.290 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:38:45,336.336 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:38:45,389.389 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:38:45,392.392 INFO    ] No camera update needed
[2026-10-20 22:38:45,394.394 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:38:45,396.396 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:38:45,401.401 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:38:45,406.406 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:38:47,447.447 INFO    ] ================================================
[2026-10-20 22:38:47,462.462 INFO    ] Launching Daemon at Tue Oct 20 22:38:47 IST 2026
[2026-10-20 22:38:47,473.473 INFO    ] ================================================
[2026-10-20 22:38:48,053.053 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:38:48
[2026-10-20 22:38:48,652.652 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:38:48,924.924 INFO    ] Initializing speech engine...
[2026-10-20 22:38:48,933.933 INFO    ] 2026-10-20 22:38:48
[2026-10-20 22:38:49,188.188 INFO    ] 2026-10-20 22:38:49
[2026-10-20 22:38:49,224.224 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:38:49,472.472 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:38:49,477.477 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:38:49,679.679 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:38:49,735.735 INFO    ] time= 20/10/2026 22:38:49
[2026-10-20 22:38:49,741.741 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:38:49,759.759 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:38:49,892.892 INFO    ] No existing commands found in stream
[2026-10-20 22:38:54,919.919 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:38:54,922.922 INFO    ] Waiting 1.90 seconds before fallback handling...
[2026-10-20 22:38:57,372.372 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:38:57,375.375 INFO    ] Checking for system updates...
[2026-10-20 22:38:57,413.413 INFO    ] 200
[2026-10-20 22:38:57,415.415 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:38:57,470.470 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:38:57,473.473 INFO    ] No update needed
[2026-10-20 22:38:57,476.476 INFO    ] Checking for camera pi updates...
[2026-10-20 22:38:57,510.510 INFO    ] 200
[2026-10-20 22:38:57,512.512 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:38:57,562.562 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:38:57,704.704 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:38:57,706.706 INFO    ] No camera update needed
[2026-10-20 22:38:57,709.709 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:38:57,711.711 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:38:57,717.717 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:38:57,722.722 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:38:59,764.764 INFO    ] ================================================
[2026-10-20 22:38:59,780.780 INFO    ] Launching Daemon at Tue Oct 20 22:38:59 IST 2026
[2026-10-20 22:38:59,791.791 INFO    ] ================================================
[2026-10-20 22:39:00,372.372 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:39:00
[2026-10-20 22:39:00,973.973 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:39:01,246.246 INFO    ] Initializing speech engine...
[2026-10-20 22:39:01,256.256 INFO    ] 2026-10-20 22:39:01
[2026-10-20 22:39:01,505.505 INFO    ] 2026-10-20 22:39:01
[2026-10-20 22:39:01,540.540 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:39:01,792.792 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:39:01,801.801 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:39:01,998.998 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:39:02,028.028 INFO    ] time= 20/10/2026 22:39:02
[2026-10-20 22:39:02,031.031 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:39:02,034.034 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:39:02,117.117 INFO    ] No existing commands found in stream
[2026-10-20 22:39:07,127.127 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:39:07,130.130 INFO    ] Waiting 1.92 seconds before fallback handling...
[2026-10-20 22:39:09,587.587 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:39:09,589.589 INFO    ] Checking for system updates...
[2026-10-20 22:39:09,624.624 INFO    ] 200
[2026-10-20 22:39:09,627.627 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:39:09,680.680 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:39:09,682.682 INFO    ] No update needed
[2026-10-20 22:39:09,684.684 INFO    ] Checking for camera pi updates...
[2026-10-20 22:39:09,718.718 INFO    ] 200
[2026-10-20 22:39:09,720.720 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:39:09,765.765 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:39:09,815.815 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:39:09,817.817 INFO    ] No camera update needed
[2026-10-20 22:39:09,819.819 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:39:09,822.822 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:39:09,827.827 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:39:09,832.832 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:39:11,873.873 INFO    ] ================================================
[2026-10-20 22:39:11,889.889 INFO    ] Launching Daemon at Tue Oct 20 22:39:11 IST 2026
[2026-10-20 22:39:11,900.900 INFO    ] ================================================
[2026-10-20 22:39:12,479.479 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:39:12
[2026-10-20 22:39:13,078.078 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:39:13,354.354 INFO    ] Initializing speech engine...
[2026-10-20 22:39:13,361.361 INFO    ] 2026-10-20 22:39:13
[2026-10-20 22:39:13,620.620 INFO    ] 2026-10-20 22:39:13
[2026-10-20 22:39:13,650.650 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:39:13,900.900 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:39:13,904.904 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:39:14,038.038 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:39:14,108.108 INFO    ] time= 20/10/2026 22:39:14
[2026-10-20 22:39:14,165.165 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:39:14,171.171 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:39:14,319.319 INFO    ] No existing commands found in stream
[2026-10-20 22:39:19,341.341 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:39:19,343.343 INFO    ] Waiting 2.56 seconds before fallback handling...
[2026-10-20 22:39:22,474.474 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 22:39:22,477.477 INFO    ] Checking for system updates...
[2026-10-20 22:39:22,519.519 INFO    ] 200
[2026-10-20 22:39:22,522.522 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:39:22,577.577 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:39:22,580.580 INFO    ] No update needed
[2026-10-20 22:39:22,582.582 INFO    ] Checking for camera pi updates...
[2026-10-20 22:39:22,619.619 INFO    ] 200
[2026-10-20 22:39:22,622.622 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:39:22,663.663 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:39:22,718.718 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:39:22,721.721 INFO    ] No camera update needed
[2026-10-20 22:39:22,724.724 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:39:22,727.727 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:39:22,733.733 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:39:22,739.739 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:39:24,781.781 INFO    ] ================================================
[2026-10-20 22:39:24,797.797 INFO    ] Launching Daemon at Tue Oct 20 22:39:24 IST 2026
[2026-10-20 22:39:24,808.808 INFO    ] ================================================
[2026-10-20 22:39:25,390.390 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:39:25
[2026-10-20 22:39:25,990.990 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:39:26,269.269 INFO    ] Initializing speech engine...
[2026-10-20 22:39:26,275.275 INFO    ] 2026-10-20 22:39:26
[2026-10-20 22:39:26,545.545 INFO    ] 2026-10-20 22:39:26
[2026-10-20 22:39:26,588.588 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:39:26,835.835 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:39:26,854.854 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:39:27,067.067 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:39:27,074.074 INFO    ] time= 20/10/2026 22:39:27
[2026-10-20 22:39:27,092.092 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:39:27,120.120 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:39:27,255.255 INFO    ] No existing commands found in stream
[2026-10-20 22:39:32,280.280 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:39:32,283.283 INFO    ] Waiting 3.81 seconds before fallback handling...
[2026-10-20 22:39:36,638.638 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:39:36,641.641 INFO    ] Checking for system updates...
[2026-10-20 22:39:36,680.680 INFO    ] 200
[2026-10-20 22:39:36,683.683 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:39:36,736.736 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:39:36,739.739 INFO    ] No update needed
[2026-10-20 22:39:36,741.741 INFO    ] Checking for camera pi updates...
[2026-10-20 22:39:36,776.776 INFO    ] 200
[2026-10-20 22:39:36,779.779 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:39:36,820.820 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:39:36,870.870 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:39:36,872.872 INFO    ] No camera update needed
[2026-10-20 22:39:36,875.875 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:39:36,877.877 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:39:36,883.883 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:39:36,888.888 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:39:38,929.929 INFO    ] ================================================
[2026-10-20 22:39:38,944.944 INFO    ] Launching Daemon at Tue Oct 20 22:39:38 IST 2026
[2026-10-20 22:39:38,955.955 INFO    ] ================================================
[2026-10-20 22:39:39,520.520 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:39:39
[2026-10-20 22:39:40,103.103 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:39:40,359.359 INFO    ] Initializing speech engine...
[2026-10-20 22:39:40,368.368 INFO    ] 2026-10-20 22:39:40
[2026-10-20 22:39:40,664.664 INFO    ] 2026-10-20 22:39:40
[2026-10-20 22:39:40,699.699 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:39:40,904.904 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:39:40,918.918 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:39:41,094.094 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:39:41,163.163 INFO    ] time= 20/10/2026 22:39:41
[2026-10-20 22:39:41,170.170 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:39:41,199.199 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:39:41,339.339 INFO    ] No existing commands found in stream
[2026-10-20 22:39:46,351.351 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:39:46,354.354 INFO    ] Waiting 0.10 seconds before fallback handling...
[2026-10-20 22:39:47,039.039 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 22:39:47,042.042 INFO    ] Checking for system updates...
[2026-10-20 22:39:47,079.079 INFO    ] 200
[2026-10-20 22:39:47,082.082 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:39:47,142.142 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:39:47,145.145 INFO    ] No update needed
[2026-10-20 22:39:47,148.148 INFO    ] Checking for camera pi updates...
[2026-10-20 22:39:47,183.183 INFO    ] 200
[2026-10-20 22:39:47,186.186 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:39:47,232.232 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:39:47,282.282 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:39:47,284.284 INFO    ] No camera update needed
[2026-10-20 22:39:47,287.287 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:39:47,290.290 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:39:47,296.296 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:39:47,302.302 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:39:49,342.342 INFO    ] ================================================
[2026-10-20 22:39:49,358.358 INFO    ] Launching Daemon at Tue Oct 20 22:39:49 IST 2026
[2026-10-20 22:39:49,368.368 INFO    ] ================================================
[2026-10-20 22:39:49,943.943 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:39:49
[2026-10-20 22:39:50,573.573 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:39:50,882.882 INFO    ] Initializing speech engine...
[2026-10-20 22:39:50,896.896 INFO    ] 2026-10-20 22:39:50
[2026-10-20 22:39:51,164.164 INFO    ] 2026-10-20 22:39:51
[2026-10-20 22:39:51,220.220 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:39:51,503.503 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:39:51,512.512 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:39:51,708.708 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:39:51,725.725 INFO    ] time= 20/10/2026 22:39:51
[2026-10-20 22:39:51,737.737 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:39:51,764.764 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:39:51,913.913 INFO    ] No existing commands found in stream
[2026-10-20 22:39:56,955.955 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:39:56,958.958 INFO    ] Waiting 1.62 seconds before fallback handling...
[2026-10-20 22:39:59,170.170 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 22:39:59,173.173 INFO    ] Checking for system updates...
[2026-10-20 22:39:59,210.210 INFO    ] 200
[2026-10-20 22:39:59,213.213 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:39:59,265.265 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:39:59,268.268 INFO    ] No update needed
[2026-10-20 22:39:59,271.271 INFO    ] Checking for camera pi updates...
[2026-10-20 22:39:59,306.306 INFO    ] 200
[2026-10-20 22:39:59,309.309 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:39:59,351.351 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:39:59,397.397 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:39:59,400.400 INFO    ] No camera update needed
[2026-10-20 22:39:59,403.403 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:39:59,406.406 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:39:59,412.412 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:39:59,418.418 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:40:01,459.459 INFO    ] ================================================
[2026-10-20 22:40:01,475.475 INFO    ] Launching Daemon at Tue Oct 20 22:40:01 IST 2026
[2026-10-20 22:40:01,486.486 INFO    ] ================================================
[2026-10-20 22:40:02,135.135 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:40:02
[2026-10-20 22:40:03,211.211 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:40:03,622.622 INFO    ] Initializing speech engine...
[2026-10-20 22:40:03,626.626 INFO    ] 2026-10-20 22:40:03
[2026-10-20 22:40:04,064.064 INFO    ] 2026-10-20 22:40:03
[2026-10-20 22:40:04,101.101 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:40:04,319.319 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:40:04,325.325 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:40:04,489.489 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:40:04,533.533 INFO    ] time= 20/10/2026 22:40:04
[2026-10-20 22:40:04,593.593 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:40:04,640.640 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:40:04,777.777 INFO    ] No existing commands found in stream
[2026-10-20 22:40:09,804.804 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:40:09,807.807 INFO    ] Waiting 1.77 seconds before fallback handling...
[2026-10-20 22:40:12,053.053 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:40:12,056.056 INFO    ] Checking for system updates...
[2026-10-20 22:40:12,096.096 INFO    ] 200
[2026-10-20 22:40:12,098.098 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:40:12,151.151 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:40:12,154.154 INFO    ] No update needed
[2026-10-20 22:40:12,156.156 INFO    ] Checking for camera pi updates...
[2026-10-20 22:40:12,189.189 INFO    ] 200
[2026-10-20 22:40:12,192.192 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:40:12,233.233 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:40:12,276.276 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:40:12,278.278 INFO    ] No camera update needed
[2026-10-20 22:40:12,280.280 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:40:12,283.283 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:40:12,288.288 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:40:12,293.293 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:40:14,335.335 INFO    ] ================================================
[2026-10-20 22:40:14,351.351 INFO    ] Launching Daemon at Tue Oct 20 22:40:14 IST 2026
[2026-10-20 22:40:14,362.362 INFO    ] ================================================
[2026-10-20 22:40:14,943.943 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:40:14
[2026-10-20 22:40:15,546.546 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:40:15,823.823 INFO    ] Initializing speech engine...
[2026-10-20 22:40:15,843.843 INFO    ] 2026-10-20 22:40:15
[2026-10-20 22:40:16,116.116 INFO    ] 2026-10-20 22:40:16
[2026-10-20 22:40:16,154.154 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:40:16,380.380 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:40:16,389.389 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:40:16,537.537 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:40:16,543.543 INFO    ] time= 20/10/2026 22:40:16
[2026-10-20 22:40:16,550.550 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:40:16,573.573 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:40:16,717.717 INFO    ] No existing commands found in stream
[2026-10-20 22:40:21,737.737 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:40:21,740.740 INFO    ] Waiting 3.48 seconds before fallback handling...
[2026-10-20 22:40:25,725.725 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:40:25,727.727 INFO    ] Checking for system updates...
[2026-10-20 22:40:25,763.763 INFO    ] 200
[2026-10-20 22:40:25,765.765 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:40:25,824.824 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:40:25,827.827 INFO    ] No update needed
[2026-10-20 22:40:25,829.829 INFO    ] Checking for camera pi updates...
[2026-10-20 22:40:25,863.863 INFO    ] 200
[2026-10-20 22:40:25,865.865 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:40:25,905.905 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:40:25,968.968 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:40:25,971.971 INFO    ] No camera update needed
[2026-10-20 22:40:25,973.973 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:40:25,976.976 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:40:25,981.981 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:40:25,986.986 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:40:28,027.027 INFO    ] ================================================
[2026-10-20 22:40:28,043.043 INFO    ] Launching Daemon at Tue Oct 20 22:40:28 IST 2026
[2026-10-20 22:40:28,054.054 INFO    ] ================================================
[2026-10-20 22:40:28,634.634 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:40:28
[2026-10-20 22:40:29,236.236 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:40:29,497.497 INFO    ] Initializing speech engine...
[2026-10-20 22:40:29,506.506 INFO    ] 2026-10-20 22:40:29
[2026-10-20 22:40:29,805.805 INFO    ] 2026-10-20 22:40:29
[2026-10-20 22:40:29,844.844 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:40:30,054.054 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:40:30,073.073 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:40:30,228.228 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:40:30,235.235 INFO    ] time= 20/10/2026 22:40:30
[2026-10-20 22:40:30,241.241 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:40:30,302.302 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:40:30,434.434 INFO    ] No existing commands found in stream
[2026-10-20 22:40:35,464.464 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:40:35,467.467 INFO    ] Waiting 1.31 seconds before fallback handling...
[2026-10-20 22:40:37,316.316 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:40:37,319.319 INFO    ] Checking for system updates...
[2026-10-20 22:40:37,355.355 INFO    ] 200
[2026-10-20 22:40:37,358.358 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:40:37,410.410 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:40:37,412.412 INFO    ] No update needed
[2026-10-20 22:40:37,414.414 INFO    ] Checking for camera pi updates...
[2026-10-20 22:40:37,448.448 INFO    ] 200
[2026-10-20 22:40:37,450.450 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:40:37,496.496 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:40:37,551.551 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:40:37,554.554 INFO    ] No camera update needed
[2026-10-20 22:40:37,556.556 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:40:37,559.559 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:40:37,564.564 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:40:37,569.569 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:40:39,609.609 INFO    ] ================================================
[2026-10-20 22:40:39,624.624 INFO    ] Launching Daemon at Tue Oct 20 22:40:39 IST 2026
[2026-10-20 22:40:39,635.635 INFO    ] ================================================
[2026-10-20 22:40:40,208.208 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:40:40
[2026-10-20 22:40:40,798.798 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:40:41,077.077 INFO    ] Initializing speech engine...
[2026-10-20 22:40:41,082.082 INFO    ] 2026-10-20 22:40:41
[2026-10-20 22:40:41,333.333 INFO    ] 2026-10-20 22:40:41
[2026-10-20 22:40:41,369.369 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:40:41,631.631 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:40:41,635.635 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:40:41,854.854 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:40:41,901.901 INFO    ] time= 20/10/2026 22:40:41
[2026-10-20 22:40:41,907.907 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:40:41,925.925 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:40:42,054.054 INFO    ] No existing commands found in stream
[2026-10-20 22:40:47,071.071 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:40:47,074.074 INFO    ] Waiting 0.34 seconds before fallback handling...
[2026-10-20 22:40:47,984.984 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:40:47,987.987 INFO    ] Checking for system updates...
[2026-10-20 22:40:48,024.024 INFO    ] 200
[2026-10-20 22:40:48,027.027 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:40:48,088.088 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:40:48,091.091 INFO    ] No update needed
[2026-10-20 22:40:48,094.094 INFO    ] Checking for camera pi updates...
[2026-10-20 22:40:48,129.129 INFO    ] 200
[2026-10-20 22:40:48,132.132 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:40:48,182.182 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:40:48,229.229 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:40:48,232.232 INFO    ] No camera update needed
[2026-10-20 22:40:48,234.234 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:40:48,237.237 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:40:48,243.243 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:40:48,249.249 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:40:50,291.291 INFO    ] ================================================
[2026-10-20 22:40:50,306.306 INFO    ] Launching Daemon at Tue Oct 20 22:40:50 IST 2026
[2026-10-20 22:40:50,318.318 INFO    ] ================================================
[2026-10-20 22:40:50,884.884 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:40:50
[2026-10-20 22:40:51,469.469 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:40:51,717.717 INFO    ] Initializing speech engine...
[2026-10-20 22:40:51,732.732 INFO    ] 2026-10-20 22:40:51
[2026-10-20 22:40:51,997.997 INFO    ] 2026-10-20 22:40:51
[2026-10-20 22:40:52,032.032 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:40:52,233.233 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:40:52,292.292 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:40:52,433.433 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:40:52,480.480 INFO    ] time= 20/10/2026 22:40:52
[2026-10-20 22:40:52,529.529 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:40:52,570.570 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:40:52,711.711 INFO    ] No existing commands found in stream
[2026-10-20 22:40:57,727.727 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:40:57,730.730 INFO    ] Waiting 2.04 seconds before fallback handling...
[2026-10-20 22:41:00,286.286 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:41:00,289.289 INFO    ] Checking for system updates...
[2026-10-20 22:41:00,324.324 INFO    ] 200
[2026-10-20 22:41:00,326.326 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:41:00,378.378 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:41:00,380.380 INFO    ] No update needed
[2026-10-20 22:41:00,383.383 INFO    ] Checking for camera pi updates...
[2026-10-20 22:41:00,421.421 INFO    ] 200
[2026-10-20 22:41:00,423.423 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:41:00,464.464 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:41:00,607.607 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:41:00,610.610 INFO    ] No camera update needed
[2026-10-20 22:41:00,613.613 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:41:00,616.616 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:41:00,622.622 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:41:00,628.628 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:41:02,678.678 INFO    ] ================================================
[2026-10-20 22:41:02,700.700 INFO    ] Launching Daemon at Tue Oct 20 22:41:02 IST 2026
[2026-10-20 22:41:02,713.713 INFO    ] ================================================
[2026-10-20 22:41:03,457.457 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:41:03
[2026-10-20 22:41:04,140.140 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:41:04,447.447 INFO    ] Initializing speech engine...
[2026-10-20 22:41:04,455.455 INFO    ] 2026-10-20 22:41:04
[2026-10-20 22:41:04,746.746 INFO    ] 2026-10-20 22:41:04
[2026-10-20 22:41:04,808.808 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:41:05,141.141 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:41:05,183.183 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:41:05,440.440 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:41:05,496.496 INFO    ] time= 20/10/2026 22:41:05
[2026-10-20 22:41:05,529.529 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:41:05,604.604 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:41:05,731.731 INFO    ] No existing commands found in stream
[2026-10-20 22:41:10,742.742 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:41:10,745.745 INFO    ] Waiting 3.26 seconds before fallback handling...
[2026-10-20 22:41:14,535.535 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:41:14,538.538 INFO    ] Checking for system updates...
[2026-10-20 22:41:14,575.575 INFO    ] 200
[2026-10-20 22:41:14,578.578 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:41:14,631.631 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:41:14,634.634 INFO    ] No update needed
[2026-10-20 22:41:14,637.637 INFO    ] Checking for camera pi updates...
[2026-10-20 22:41:14,675.675 INFO    ] 200
[2026-10-20 22:41:14,677.677 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:41:14,724.724 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:41:14,775.775 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:41:14,778.778 INFO    ] No camera update needed
[2026-10-20 22:41:14,781.781 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:41:14,784.784 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:41:14,790.790 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:41:14,796.796 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:41:16,837.837 INFO    ] ================================================
[2026-10-20 22:41:16,852.852 INFO    ] Launching Daemon at Tue Oct 20 22:41:16 IST 2026
[2026-10-20 22:41:16,863.863 INFO    ] ================================================
[2026-10-20 22:41:17,431.431 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:41:17
[2026-10-20 22:41:18,016.016 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:41:18,286.286 INFO    ] Initializing speech engine...
[2026-10-20 22:41:18,295.295 INFO    ] 2026-10-20 22:41:18
[2026-10-20 22:41:18,557.557 INFO    ] 2026-10-20 22:41:18
[2026-10-20 22:41:18,586.586 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:41:18,836.836 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:41:18,845.845 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:41:19,050.050 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:41:19,109.109 INFO    ] time= 20/10/2026 22:41:19
[2026-10-20 22:41:19,116.116 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:41:19,134.134 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:41:19,268.268 INFO    ] No existing commands found in stream
[2026-10-20 22:41:24,280.280 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:41:24,283.283 INFO    ] Waiting 3.78 seconds before fallback handling...
[2026-10-20 22:41:28,616.616 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:41:28,619.619 INFO    ] Checking for system updates...
[2026-10-20 22:41:28,653.653 INFO    ] 200
[2026-10-20 22:41:28,656.656 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:41:28,709.709 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:41:28,711.711 INFO    ] No update needed
[2026-10-20 22:41:28,713.713 INFO    ] Checking for camera pi updates...
[2026-10-20 22:41:28,750.750 INFO    ] 200
[2026-10-20 22:41:28,753.753 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:41:28,792.792 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:41:28,847.847 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:41:28,849.849 INFO    ] No camera update needed
[2026-10-20 22:41:28,852.852 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:41:28,854.854 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:41:28,859.859 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:41:28,864.864 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:41:30,906.906 INFO    ] ================================================
[2026-10-20 22:41:30,921.921 INFO    ] Launching Daemon at Tue Oct 20 22:41:30 IST 2026
[2026-10-20 22:41:30,932.932 INFO    ] ================================================
[2026-10-20 22:41:31,527.527 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:41:31
[2026-10-20 22:41:32,143.143 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:41:32,412.412 INFO    ] Initializing speech engine...
[2026-10-20 22:41:32,419.419 INFO    ] 2026-10-20 22:41:32
[2026-10-20 22:41:32,729.729 INFO    ] 2026-10-20 22:41:32
[2026-10-20 22:41:32,765.765 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:41:32,945.945 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:41:32,951.951 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:41:33,112.112 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:41:33,117.117 INFO    ] time= 20/10/2026 22:41:33
[2026-10-20 22:41:33,140.140 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:41:33,146.146 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:41:33,270.270 INFO    ] No existing commands found in stream
[2026-10-20 22:41:38,280.280 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:41:38,283.283 INFO    ] Waiting 2.68 seconds before fallback handling...
[2026-10-20 22:41:41,471.471 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:41:41,474.474 INFO    ] Checking for system updates...
[2026-10-20 22:41:41,511.511 INFO    ] 200
[2026-10-20 22:41:41,514.514 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:41:41,574.574 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:41:41,577.577 INFO    ] No update needed
[2026-10-20 22:41:41,581.581 INFO    ] Checking for camera pi updates...
[2026-10-20 22:41:41,614.614 INFO    ] 200
[2026-10-20 22:41:41,617.617 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:41:41,657.657 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:41:41,700.700 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:41:41,703.703 INFO    ] No camera update needed
[2026-10-20 22:41:41,705.705 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:41:41,707.707 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:41:41,713.713 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:41:41,718.718 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:41:43,764.764 INFO    ] ================================================
[2026-10-20 22:41:43,779.779 INFO    ] Launching Daemon at Tue Oct 20 22:41:43 IST 2026
[2026-10-20 22:41:43,790.790 INFO    ] ================================================
[2026-10-20 22:41:44,357.357 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:41:44
[2026-10-20 22:41:44,940.940 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:41:45,185.185 INFO    ] Initializing speech engine...
[2026-10-20 22:41:45,193.193 INFO    ] 2026-10-20 22:41:45
[2026-10-20 22:41:45,466.466 INFO    ] 2026-10-20 22:41:45
[2026-10-20 22:41:45,501.501 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:41:45,705.705 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:41:45,765.765 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:41:46,010.010 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:41:46,038.038 INFO    ] time= 20/10/2026 22:41:46
[2026-10-20 22:41:46,056.056 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:41:46,065.065 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:41:46,195.195 INFO    ] No existing commands found in stream
[2026-10-20 22:41:51,209.209 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:41:51,212.212 INFO    ] Waiting 0.99 seconds before fallback handling...
[2026-10-20 22:41:52,772.772 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:41:52,776.776 INFO    ] Checking for system updates...
[2026-10-20 22:41:52,812.812 INFO    ] 200
[2026-10-20 22:41:52,814.814 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:41:52,867.867 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:41:52,869.869 INFO    ] No update needed
[2026-10-20 22:41:52,872.872 INFO    ] Checking for camera pi updates...
[2026-10-20 22:41:52,905.905 INFO    ] 200
[2026-10-20 22:41:52,907.907 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:41:52,953.953 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:41:52,997.997 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:41:53,000.000 INFO    ] No camera update needed
[2026-10-20 22:41:53,002.002 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:41:53,005.005 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:41:53,010.010 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:41:53,015.015 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:41:55,056.056 INFO    ] ================================================
[2026-10-20 22:41:55,072.072 INFO    ] Launching Daemon at Tue Oct 20 22:41:55 IST 2026
[2026-10-20 22:41:55,083.083 INFO    ] ================================================
[2026-10-20 22:41:55,649.649 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:41:55
[2026-10-20 22:41:56,231.231 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:41:56,479.479 INFO    ] Initializing speech engine...
[2026-10-20 22:41:56,500.500 INFO    ] 2026-10-20 22:41:56
[2026-10-20 22:41:56,760.760 INFO    ] 2026-10-20 22:41:56
[2026-10-20 22:41:56,794.794 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:41:56,995.995 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:41:57,054.054 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:41:57,277.277 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:41:57,324.324 INFO    ] time= 20/10/2026 22:41:57
[2026-10-20 22:41:57,330.330 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:41:57,348.348 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:41:57,476.476 INFO    ] No existing commands found in stream
[2026-10-20 22:42:02,492.492 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:42:02,495.495 INFO    ] Waiting 2.94 seconds before fallback handling...
[2026-10-20 22:42:05,931.931 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:42:05,933.933 INFO    ] Checking for system updates...
[2026-10-20 22:42:05,969.969 INFO    ] 200
[2026-10-20 22:42:05,972.972 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:42:06,032.032 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:42:06,035.035 INFO    ] No update needed
[2026-10-20 22:42:06,037.037 INFO    ] Checking for camera pi updates...
[2026-10-20 22:42:06,071.071 INFO    ] 200
[2026-10-20 22:42:06,074.074 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:42:06,116.116 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:42:06,165.165 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:42:06,168.168 INFO    ] No camera update needed
[2026-10-20 22:42:06,171.171 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:42:06,174.174 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:42:06,181.181 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:42:06,188.188 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:42:08,231.231 INFO    ] ================================================
[2026-10-20 22:42:08,246.246 INFO    ] Launching Daemon at Tue Oct 20 22:42:08 IST 2026
[2026-10-20 22:42:08,257.257 INFO    ] ================================================
[2026-10-20 22:42:08,841.841 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:42:08
[2026-10-20 22:42:09,442.442 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:42:09,719.719 INFO    ] Initializing speech engine...
[2026-10-20 22:42:09,728.728 INFO    ] 2026-10-20 22:42:09
[2026-10-20 22:42:09,987.987 INFO    ] 2026-10-20 22:42:09
[2026-10-20 22:42:10,017.017 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:42:10,263.263 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:42:10,272.272 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:42:10,471.471 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:42:10,531.531 INFO    ] time= 20/10/2026 22:42:10
[2026-10-20 22:42:10,538.538 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:42:10,557.557 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:42:10,683.683 INFO    ] No existing commands found in stream
[2026-10-20 22:42:15,699.699 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:42:15,702.702 INFO    ] Waiting 3.58 seconds before fallback handling...
[2026-10-20 22:42:19,814.814 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:42:19,817.817 INFO    ] Checking for system updates...
[2026-10-20 22:42:19,857.857 INFO    ] 200
[2026-10-20 22:42:19,860.860 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:42:19,920.920 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:42:19,923.923 INFO    ] No update needed
[2026-10-20 22:42:19,925.925 INFO    ] Checking for camera pi updates...
[2026-10-20 22:42:19,963.963 INFO    ] 200
[2026-10-20 22:42:19,966.966 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:42:20,007.007 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:42:20,055.055 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:42:20,057.057 INFO    ] No camera update needed
[2026-10-20 22:42:20,060.060 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:42:20,062.062 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:42:20,068.068 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:42:20,073.073 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:42:22,114.114 INFO    ] ================================================
[2026-10-20 22:42:22,129.129 INFO    ] Launching Daemon at Tue Oct 20 22:42:22 IST 2026
[2026-10-20 22:42:22,140.140 INFO    ] ================================================
[2026-10-20 22:42:22,722.722 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:42:22
[2026-10-20 22:42:23,332.332 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:42:23,592.592 INFO    ] Initializing speech engine...
[2026-10-20 22:42:23,599.599 INFO    ] 2026-10-20 22:42:23
[2026-10-20 22:42:23,904.904 INFO    ] 2026-10-20 22:42:23
[2026-10-20 22:42:23,940.940 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:42:24,147.147 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:42:24,153.153 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:42:24,295.295 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:42:24,316.316 INFO    ] time= 20/10/2026 22:42:24
[2026-10-20 22:42:24,337.337 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:42:24,346.346 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:42:24,427.427 INFO    ] No existing commands found in stream
[2026-10-20 22:42:29,440.440 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:42:29,443.443 INFO    ] Waiting 3.63 seconds before fallback handling...
[2026-10-20 22:42:33,582.582 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:42:33,584.584 INFO    ] Checking for system updates...
[2026-10-20 22:42:33,619.619 INFO    ] 200
[2026-10-20 22:42:33,622.622 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:42:33,675.675 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:42:33,678.678 INFO    ] No update needed
[2026-10-20 22:42:33,680.680 INFO    ] Checking for camera pi updates...
[2026-10-20 22:42:33,718.718 INFO    ] 200
[2026-10-20 22:42:33,720.720 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:42:33,760.760 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:42:33,808.808 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:42:33,810.810 INFO    ] No camera update needed
[2026-10-20 22:42:33,813.813 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:42:33,815.815 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:42:33,820.820 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:42:33,825.825 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:42:35,865.865 INFO    ] ================================================
[2026-10-20 22:42:35,880.880 INFO    ] Launching Daemon at Tue Oct 20 22:42:35 IST 2026
[2026-10-20 22:42:35,891.891 INFO    ] ================================================
[2026-10-20 22:42:36,490.490 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:42:36
[2026-10-20 22:42:37,093.093 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:42:37,369.369 INFO    ] Initializing speech engine...
[2026-10-20 22:42:37,376.376 INFO    ] 2026-10-20 22:42:37
[2026-10-20 22:42:37,637.637 INFO    ] 2026-10-20 22:42:37
[2026-10-20 22:42:37,667.667 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:42:37,912.912 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:42:37,922.922 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:42:38,053.053 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:42:38,100.100 INFO    ] time= 20/10/2026 22:42:38
[2026-10-20 22:42:38,154.154 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:42:38,188.188 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:42:38,338.338 INFO    ] No existing commands found in stream
[2026-10-20 22:42:43,365.365 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:42:43,369.369 INFO    ] Waiting 0.63 seconds before fallback handling...
[2026-10-20 22:42:44,505.505 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:42:44,508.508 INFO    ] Checking for system updates...
[2026-10-20 22:42:44,543.543 INFO    ] 200
[2026-10-20 22:42:44,546.546 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:42:44,600.600 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:42:44,602.602 INFO    ] No update needed
[2026-10-20 22:42:44,605.605 INFO    ] Checking for camera pi updates...
[2026-10-20 22:42:44,643.643 INFO    ] 200
[2026-10-20 22:42:44,646.646 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:42:44,687.687 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:42:44,732.732 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:42:44,735.735 INFO    ] No camera update needed
[2026-10-20 22:42:44,737.737 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:42:44,739.739 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:42:44,745.745 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:42:44,750.750 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:42:46,792.792 INFO    ] ================================================
[2026-10-20 22:42:46,807.807 INFO    ] Launching Daemon at Tue Oct 20 22:42:46 IST 2026
[2026-10-20 22:42:46,818.818 INFO    ] ================================================
[2026-10-20 22:42:47,407.407 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:42:47
[2026-10-20 22:42:48,011.011 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:42:48,270.270 INFO    ] Initializing speech engine...
[2026-10-20 22:42:48,278.278 INFO    ] 2026-10-20 22:42:48
[2026-10-20 22:42:48,577.577 INFO    ] 2026-10-20 22:42:48
[2026-10-20 22:42:48,608.608 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:42:48,830.830 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:42:48,836.836 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:42:49,004.004 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:42:49,017.017 INFO    ] time= 20/10/2026 22:42:49
[2026-10-20 22:42:49,025.025 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:42:49,035.035 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:42:49,112.112 INFO    ] No existing commands found in stream
[2026-10-20 22:42:54,147.147 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:42:54,150.150 INFO    ] Waiting 2.70 seconds before fallback handling...
[2026-10-20 22:42:57,357.357 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:42:57,360.360 INFO    ] Checking for system updates...
[2026-10-20 22:42:57,396.396 INFO    ] 200
[2026-10-20 22:42:57,398.398 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:42:57,458.458 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:42:57,461.461 INFO    ] No update needed
[2026-10-20 22:42:57,463.463 INFO    ] Checking for camera pi updates...
[2026-10-20 22:42:57,501.501 INFO    ] 200
[2026-10-20 22:42:57,504.504 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:42:57,550.550 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:42:57,596.596 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:42:57,599.599 INFO    ] No camera update needed
[2026-10-20 22:42:57,601.601 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:42:57,603.603 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:42:57,609.609 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:42:57,614.614 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:42:59,654.654 INFO    ] ================================================
[2026-10-20 22:42:59,670.670 INFO    ] Launching Daemon at Tue Oct 20 22:42:59 IST 2026
[2026-10-20 22:42:59,681.681 INFO    ] ================================================
[2026-10-20 22:43:00,251.251 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:43:00
[2026-10-20 22:43:00,841.841 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:43:01,114.114 INFO    ] Initializing speech engine...
[2026-10-20 22:43:01,123.123 INFO    ] 2026-10-20 22:43:01
[2026-10-20 22:43:01,374.374 INFO    ] 2026-10-20 22:43:01
[2026-10-20 22:43:01,436.436 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:43:01,789.789 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:43:01,793.793 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:43:01,954.954 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:43:01,958.958 INFO    ] time= 20/10/2026 22:43:01
[2026-10-20 22:43:01,961.961 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:43:01,967.967 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:43:02,119.119 INFO    ] No existing commands found in stream
[2026-10-20 22:43:07,145.145 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:43:07,147.147 INFO    ] Waiting 3.76 seconds before fallback handling...
[2026-10-20 22:43:11,452.452 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 22:43:11,454.454 INFO    ] Checking for system updates...
[2026-10-20 22:43:11,493.493 INFO    ] 200
[2026-10-20 22:43:11,495.495 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:43:11,553.553 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:43:11,556.556 INFO    ] No update needed
[2026-10-20 22:43:11,558.558 INFO    ] Checking for camera pi updates...
[2026-10-20 22:43:11,592.592 INFO    ] 200
[2026-10-20 22:43:11,594.594 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:43:11,634.634 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:43:11,781.781 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:43:11,783.783 INFO    ] No camera update needed
[2026-10-20 22:43:11,785.785 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:43:11,787.787 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:43:11,793.793 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:43:11,798.798 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:43:13,839.839 INFO    ] ================================================
[2026-10-20 22:43:13,855.855 INFO    ] Launching Daemon at Tue Oct 20 22:43:13 IST 2026
[2026-10-20 22:43:13,866.866 INFO    ] ================================================
[2026-10-20 22:43:14,448.448 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:43:14
[2026-10-20 22:43:15,047.047 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:43:15,324.324 INFO    ] Initializing speech engine...
[2026-10-20 22:43:15,331.331 INFO    ] 2026-10-20 22:43:15
[2026-10-20 22:43:15,590.590 INFO    ] 2026-10-20 22:43:15
[2026-10-20 22:43:15,643.643 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:43:15,870.870 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:43:15,876.876 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:43:16,128.128 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:43:16,146.146 INFO    ] time= 20/10/2026 22:43:16
[2026-10-20 22:43:16,153.153 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:43:16,181.181 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:43:16,317.317 INFO    ] No existing commands found in stream
[2026-10-20 22:43:21,347.347 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:43:21,350.350 INFO    ] Waiting 0.41 seconds before fallback handling...
[2026-10-20 22:43:23,501.501 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:43:23,503.503 INFO    ] Checking for system updates...
[2026-10-20 22:43:23,543.543 INFO    ] 200
[2026-10-20 22:43:23,545.545 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:43:23,605.605 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:43:23,607.607 INFO    ] No update needed
[2026-10-20 22:43:23,610.610 INFO    ] Checking for camera pi updates...
[2026-10-20 22:43:23,643.643 INFO    ] 200
[2026-10-20 22:43:23,645.645 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:43:23,685.685 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:43:23,742.742 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:43:23,744.744 INFO    ] No camera update needed
[2026-10-20 22:43:23,747.747 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:43:23,749.749 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:43:23,755.755 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:43:23,760.760 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:43:25,799.799 INFO    ] ================================================
[2026-10-20 22:43:25,814.814 INFO    ] Launching Daemon at Tue Oct 20 22:43:25 IST 2026
[2026-10-20 22:43:25,825.825 INFO    ] ================================================
[2026-10-20 22:43:26,391.391 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:43:26
[2026-10-20 22:43:26,974.974 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:43:27,244.244 INFO    ] Initializing speech engine...
[2026-10-20 22:43:27,252.252 INFO    ] 2026-10-20 22:43:27
[2026-10-20 22:43:27,503.503 INFO    ] 2026-10-20 22:43:27
[2026-10-20 22:43:27,538.538 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:43:27,795.795 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:43:27,805.805 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:43:28,046.046 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:43:28,069.069 INFO    ] time= 20/10/2026 22:43:28
[2026-10-20 22:43:28,087.087 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:43:28,096.096 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:43:28,210.210 INFO    ] No existing commands found in stream
[2026-10-20 22:43:33,235.235 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:43:33,238.238 INFO    ] Waiting 2.20 seconds before fallback handling...
[2026-10-20 22:43:35,967.967 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 22:43:35,970.970 INFO    ] Checking for system updates...
[2026-10-20 22:43:36,015.015 INFO    ] 200
[2026-10-20 22:43:36,017.017 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:43:36,076.076 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:43:36,079.079 INFO    ] No update needed
[2026-10-20 22:43:36,083.083 INFO    ] Checking for camera pi updates...
[2026-10-20 22:43:36,121.121 INFO    ] 200
[2026-10-20 22:43:36,124.124 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:43:36,169.169 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:43:36,220.220 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:43:36,223.223 INFO    ] No camera update needed
[2026-10-20 22:43:36,225.225 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:43:36,228.228 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:43:36,234.234 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:43:36,240.240 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:43:38,280.280 INFO    ] ================================================
[2026-10-20 22:43:38,300.300 INFO    ] Launching Daemon at Tue Oct 20 22:43:38 IST 2026
[2026-10-20 22:43:38,310.310 INFO    ] ================================================
[2026-10-20 22:43:38,968.968 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:43:38
[2026-10-20 22:43:39,641.641 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:43:39,949.949 INFO    ] Initializing speech engine...
[2026-10-20 22:43:39,963.963 INFO    ] 2026-10-20 22:43:39
[2026-10-20 22:43:40,277.277 INFO    ] 2026-10-20 22:43:40
[2026-10-20 22:43:40,367.367 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:43:40,585.585 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:43:40,591.591 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:43:40,794.794 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:43:40,814.814 INFO    ] time= 20/10/2026 22:43:40
[2026-10-20 22:43:40,844.844 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:43:40,853.853 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:43:40,993.993 INFO    ] No existing commands found in stream
[2026-10-20 22:43:46,020.020 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:43:46,024.024 INFO    ] Waiting 1.27 seconds before fallback handling...
[2026-10-20 22:43:47,854.854 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 22:43:47,857.857 INFO    ] Checking for system updates...
[2026-10-20 22:43:47,897.897 INFO    ] 200
[2026-10-20 22:43:47,900.900 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:43:47,960.960 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:43:47,963.963 INFO    ] No update needed
[2026-10-20 22:43:47,966.966 INFO    ] Checking for camera pi updates...
[2026-10-20 22:43:48,004.004 INFO    ] 200
[2026-10-20 22:43:48,006.006 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:43:48,051.051 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:43:48,096.096 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:43:48,099.099 INFO    ] No camera update needed
[2026-10-20 22:43:48,102.102 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:43:48,105.105 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:43:48,111.111 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:43:48,117.117 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:43:50,158.158 INFO    ] ================================================
[2026-10-20 22:43:50,173.173 INFO    ] Launching Daemon at Tue Oct 20 22:43:50 IST 2026
[2026-10-20 22:43:50,184.184 INFO    ] ================================================
[2026-10-20 22:43:50,763.763 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:43:50
[2026-10-20 22:43:51,359.359 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:43:51,631.631 INFO    ] Initializing speech engine...
[2026-10-20 22:43:51,634.634 INFO    ] 2026-10-20 22:43:51
[2026-10-20 22:43:51,887.887 INFO    ] 2026-10-20 22:43:51
[2026-10-20 22:43:51,924.924 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:43:52,151.151 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:43:52,153.153 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:43:52,323.323 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:43:52,365.365 INFO    ] time= 20/10/2026 22:43:52
[2026-10-20 22:43:52,429.429 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:43:52,455.455 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:43:52,601.601 INFO    ] No existing commands found in stream
[2026-10-20 22:43:57,615.615 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:43:57,618.618 INFO    ] Waiting 3.57 seconds before fallback handling...
[2026-10-20 22:44:01,700.700 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 22:44:01,703.703 INFO    ] Checking for system updates...
[2026-10-20 22:44:01,750.750 INFO    ] 200
[2026-10-20 22:44:01,753.753 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:44:01,871.871 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:44:01,875.875 INFO    ] No update needed
[2026-10-20 22:44:01,879.879 INFO    ] Checking for camera pi updates...
[2026-10-20 22:44:01,928.928 INFO    ] 200
[2026-10-20 22:44:01,931.931 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:44:01,991.991 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:44:02,028.028 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:44:02,031.031 INFO    ] No camera update needed
[2026-10-20 22:44:02,034.034 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:44:02,036.036 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:44:02,043.043 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:44:02,049.049 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:44:04,090.090 INFO    ] ================================================
[2026-10-20 22:44:04,105.105 INFO    ] Launching Daemon at Tue Oct 20 22:44:04 IST 2026
[2026-10-20 22:44:04,116.116 INFO    ] ================================================
[2026-10-20 22:44:04,762.762 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:44:04
[2026-10-20 22:44:05,432.432 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:44:05,735.735 INFO    ] Initializing speech engine...
[2026-10-20 22:44:05,748.748 INFO    ] 2026-10-20 22:44:05
[2026-10-20 22:44:06,059.059 INFO    ] 2026-10-20 22:44:06
[2026-10-20 22:44:06,142.142 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:44:06,357.357 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:44:06,366.366 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:44:06,561.561 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:44:06,580.580 INFO    ] time= 20/10/2026 22:44:06
[2026-10-20 22:44:06,611.611 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:44:06,620.620 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:44:06,739.739 INFO    ] No existing commands found in stream
[2026-10-20 22:44:11,765.765 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:44:11,768.768 INFO    ] Waiting 2.38 seconds before fallback handling...
[2026-10-20 22:44:14,730.730 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:44:14,733.733 INFO    ] Checking for system updates...
[2026-10-20 22:44:14,769.769 INFO    ] 200
[2026-10-20 22:44:14,772.772 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:44:14,825.825 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:44:14,828.828 INFO    ] No update needed
[2026-10-20 22:44:14,831.831 INFO    ] Checking for camera pi updates...
[2026-10-20 22:44:14,865.865 INFO    ] 200
[2026-10-20 22:44:14,868.868 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:44:14,912.912 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:44:14,960.960 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:44:14,963.963 INFO    ] No camera update needed
[2026-10-20 22:44:14,966.966 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:44:14,968.968 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:44:14,975.975 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:44:14,980.980 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:44:17,021.021 INFO    ] ================================================
[2026-10-20 22:44:17,039.039 INFO    ] Launching Daemon at Tue Oct 20 22:44:17 IST 2026
[2026-10-20 22:44:17,050.050 INFO    ] ================================================
[2026-10-20 22:44:17,625.625 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:44:17
[2026-10-20 22:44:18,222.222 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:44:18,482.482 INFO    ] Initializing speech engine...
[2026-10-20 22:44:18,488.488 INFO    ] 2026-10-20 22:44:18
[2026-10-20 22:44:18,783.783 INFO    ] 2026-10-20 22:44:18
[2026-10-20 22:44:18,822.822 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:44:19,044.044 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:44:19,052.052 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:44:19,272.272 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:44:19,279.279 INFO    ] time= 20/10/2026 22:44:19
[2026-10-20 22:44:19,334.334 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:44:19,388.388 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:44:19,487.487 INFO    ] No existing commands found in stream
[2026-10-20 22:44:24,500.500 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:44:24,503.503 INFO    ] Waiting 2.69 seconds before fallback handling...
[2026-10-20 22:44:27,686.686 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:44:27,689.689 INFO    ] Checking for system updates...
[2026-10-20 22:44:27,730.730 INFO    ] 200
[2026-10-20 22:44:27,733.733 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:44:27,791.791 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:44:27,793.793 INFO    ] No update needed
[2026-10-20 22:44:27,796.796 INFO    ] Checking for camera pi updates...
[2026-10-20 22:44:27,832.832 INFO    ] 200
[2026-10-20 22:44:27,835.835 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:44:27,875.875 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:44:27,923.923 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:44:27,925.925 INFO    ] No camera update needed
[2026-10-20 22:44:27,928.928 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:44:27,930.930 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:44:27,936.936 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:44:27,941.941 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:44:29,980.980 INFO    ] ================================================
[2026-10-20 22:44:30,995.995 INFO    ] Launching Daemon at Tue Oct 20 22:44:29 IST 2026
[2026-10-20 22:44:30,005.005 INFO    ] ================================================
[2026-10-20 22:44:30,657.657 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:44:30
[2026-10-20 22:44:31,325.325 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:44:31,676.676 INFO    ] Initializing speech engine...
[2026-10-20 22:44:31,684.684 INFO    ] 2026-10-20 22:44:31
[2026-10-20 22:44:32,005.005 INFO    ] 2026-10-20 22:44:31
[2026-10-20 22:44:32,086.086 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:44:32,319.319 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:44:32,328.328 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:44:32,510.510 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:44:32,535.535 INFO    ] time= 20/10/2026 22:44:32
[2026-10-20 22:44:32,542.542 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:44:32,563.563 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:44:32,698.698 INFO    ] No existing commands found in stream
[2026-10-20 22:44:37,731.731 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:44:37,734.734 INFO    ] Waiting 3.34 seconds before fallback handling...
[2026-10-20 22:44:41,581.581 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 22:44:41,584.584 INFO    ] Checking for system updates...
[2026-10-20 22:44:41,619.619 INFO    ] 200
[2026-10-20 22:44:41,621.621 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:44:41,674.674 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:44:41,677.677 INFO    ] No update needed
[2026-10-20 22:44:41,679.679 INFO    ] Checking for camera pi updates...
[2026-10-20 22:44:41,713.713 INFO    ] 200
[2026-10-20 22:44:41,715.715 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:44:41,760.760 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:44:41,812.812 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:44:41,815.815 INFO    ] No camera update needed
[2026-10-20 22:44:41,817.817 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:44:41,820.820 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:44:41,825.825 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:44:41,830.830 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:44:43,870.870 INFO    ] ================================================
[2026-10-20 22:44:43,885.885 INFO    ] Launching Daemon at Tue Oct 20 22:44:43 IST 2026
[2026-10-20 22:44:43,895.895 INFO    ] ================================================
[2026-10-20 22:44:44,541.541 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:44:44
[2026-10-20 22:44:45,210.210 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:44:45,514.514 INFO    ] Initializing speech engine...
[2026-10-20 22:44:45,523.523 INFO    ] 2026-10-20 22:44:45
[2026-10-20 22:44:45,798.798 INFO    ] 2026-10-20 22:44:45
[2026-10-20 22:44:45,856.856 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:44:46,138.138 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:44:46,147.147 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:44:46,344.344 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:44:46,363.363 INFO    ] time= 20/10/2026 22:44:46
[2026-10-20 22:44:46,373.373 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:44:46,400.400 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:44:46,521.521 INFO    ] No existing commands found in stream
[2026-10-20 22:44:51,547.547 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:44:51,550.550 INFO    ] Waiting 1.36 seconds before fallback handling...
[2026-10-20 22:44:53,460.460 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 22:44:53,463.463 INFO    ] Checking for system updates...
[2026-10-20 22:44:53,501.501 INFO    ] 200
[2026-10-20 22:44:53,504.504 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:44:53,557.557 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:44:53,560.560 INFO    ] No update needed
[2026-10-20 22:44:53,562.562 INFO    ] Checking for camera pi updates...
[2026-10-20 22:44:53,596.596 INFO    ] 200
[2026-10-20 22:44:53,599.599 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:44:53,640.640 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:44:53,675.675 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:44:53,678.678 INFO    ] No camera update needed
[2026-10-20 22:44:53,681.681 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:44:53,683.683 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:44:53,690.690 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:44:53,696.696 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:44:55,735.735 INFO    ] ================================================
[2026-10-20 22:44:55,751.751 INFO    ] Launching Daemon at Tue Oct 20 22:44:55 IST 2026
[2026-10-20 22:44:55,762.762 INFO    ] ================================================
[2026-10-20 22:44:56,332.332 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:44:56
[2026-10-20 22:44:56,973.973 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:44:57,279.279 INFO    ] Initializing speech engine...
[2026-10-20 22:44:57,292.292 INFO    ] 2026-10-20 22:44:57
[2026-10-20 22:44:57,601.601 INFO    ] 2026-10-20 22:44:57
[2026-10-20 22:44:57,687.687 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:44:57,969.969 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:44:58,011.011 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:44:58,251.251 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:44:58,284.284 INFO    ] time= 20/10/2026 22:44:58
[2026-10-20 22:44:58,333.333 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:44:58,376.376 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:44:58,531.531 INFO    ] No existing commands found in stream
[2026-10-20 22:45:03,558.558 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:45:03,561.561 INFO    ] Waiting 3.35 seconds before fallback handling...
[2026-10-20 22:45:07,441.441 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:45:07,444.444 INFO    ] Checking for system updates...
[2026-10-20 22:45:07,481.481 INFO    ] 200
[2026-10-20 22:45:07,484.484 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:45:07,545.545 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:45:07,548.548 INFO    ] No update needed
[2026-10-20 22:45:07,551.551 INFO    ] Checking for camera pi updates...
[2026-10-20 22:45:07,593.593 INFO    ] 200
[2026-10-20 22:45:07,596.596 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:45:07,637.637 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:45:07,695.695 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:45:07,698.698 INFO    ] No camera update needed
[2026-10-20 22:45:07,701.701 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:45:07,704.704 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:45:07,710.710 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:45:07,716.716 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:45:09,756.756 INFO    ] ================================================
[2026-10-20 22:45:09,772.772 INFO    ] Launching Daemon at Tue Oct 20 22:45:09 IST 2026
[2026-10-20 22:45:09,782.782 INFO    ] ================================================
[2026-10-20 22:45:10,356.356 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:45:10
[2026-10-20 22:45:10,941.941 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:45:11,213.213 INFO    ] Initializing speech engine...
[2026-10-20 22:45:11,221.221 INFO    ] 2026-10-20 22:45:11
[2026-10-20 22:45:11,473.473 INFO    ] 2026-10-20 22:45:11
[2026-10-20 22:45:11,508.508 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:45:11,706.706 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:45:11,729.729 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:45:11,910.910 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:45:11,958.958 INFO    ] time= 20/10/2026 22:45:11
[2026-10-20 22:45:12,007.007 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:45:12,047.047 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:45:12,174.174 INFO    ] No existing commands found in stream
[2026-10-20 22:45:17,200.200 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:45:17,202.202 INFO    ] Waiting 0.28 seconds before fallback handling...
[2026-10-20 22:45:17,958.958 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 22:45:17,961.961 INFO    ] Checking for system updates...
[2026-10-20 22:45:17,997.997 INFO    ] 200
[2026-10-20 22:45:18,000.000 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:45:18,052.052 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:45:18,055.055 INFO    ] No update needed
[2026-10-20 22:45:18,058.058 INFO    ] Checking for camera pi updates...
[2026-10-20 22:45:18,093.093 INFO    ] 200
[2026-10-20 22:45:18,095.095 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:45:18,136.136 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:45:18,349.349 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:45:18,352.352 INFO    ] No camera update needed
[2026-10-20 22:45:18,355.355 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:45:18,357.357 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:45:18,364.364 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:45:18,369.369 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:45:20,411.411 INFO    ] ================================================
[2026-10-20 22:45:20,425.425 INFO    ] Launching Daemon at Tue Oct 20 22:45:20 IST 2026
[2026-10-20 22:45:20,436.436 INFO    ] ================================================
[2026-10-20 22:45:21,075.075 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:45:21
[2026-10-20 22:45:21,729.729 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:45:22,032.032 INFO    ] Initializing speech engine...
[2026-10-20 22:45:22,044.044 INFO    ] 2026-10-20 22:45:22
[2026-10-20 22:45:22,325.325 INFO    ] 2026-10-20 22:45:22
[2026-10-20 22:45:22,371.371 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:45:22,600.600 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:45:22,607.607 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:45:22,835.835 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:45:22,869.869 INFO    ] time= 20/10/2026 22:45:22
[2026-10-20 22:45:22,875.875 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:45:22,897.897 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:45:23,025.025 INFO    ] No existing commands found in stream
[2026-10-20 22:45:28,041.041 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:45:28,044.044 INFO    ] Waiting 3.77 seconds before fallback handling...
[2026-10-20 22:45:32,420.420 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 22:45:32,423.423 INFO    ] Checking for system updates...
[2026-10-20 22:45:32,462.462 INFO    ] 200
[2026-10-20 22:45:32,466.466 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:45:32,531.531 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:45:32,534.534 INFO    ] No update needed
[2026-10-20 22:45:32,537.537 INFO    ] Checking for camera pi updates...
[2026-10-20 22:45:32,574.574 INFO    ] 200
[2026-10-20 22:45:32,577.577 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:45:32,621.621 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:45:32,675.675 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:45:32,679.679 INFO    ] No camera update needed
[2026-10-20 22:45:32,682.682 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:45:32,685.685 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:45:32,692.692 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:45:32,699.699 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:45:34,739.739 INFO    ] ================================================
[2026-10-20 22:45:34,754.754 INFO    ] Launching Daemon at Tue Oct 20 22:45:34 IST 2026
[2026-10-20 22:45:34,765.765 INFO    ] ================================================
[2026-10-20 22:45:35,345.345 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:45:35
[2026-10-20 22:45:35,946.946 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:45:36,211.211 INFO    ] Initializing speech engine...
[2026-10-20 22:45:36,232.232 INFO    ] 2026-10-20 22:45:36
[2026-10-20 22:45:36,512.512 INFO    ] 2026-10-20 22:45:36
[2026-10-20 22:45:36,547.547 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:45:36,773.773 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:45:36,781.781 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:45:36,983.983 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:45:37,009.009 INFO    ] time= 20/10/2026 22:45:36
[2026-10-20 22:45:37,034.034 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:45:37,083.083 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:45:37,183.183 INFO    ] No existing commands found in stream
[2026-10-20 22:45:42,194.194 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:45:42,197.197 INFO    ] Waiting 0.47 seconds before fallback handling...
[2026-10-20 22:45:43,218.218 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 22:45:43,221.221 INFO    ] Checking for system updates...
[2026-10-20 22:45:43,256.256 INFO    ] 200
[2026-10-20 22:45:43,259.259 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:45:43,317.317 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:45:43,320.320 INFO    ] No update needed
[2026-10-20 22:45:43,322.322 INFO    ] Checking for camera pi updates...
[2026-10-20 22:45:43,355.355 INFO    ] 200
[2026-10-20 22:45:43,358.358 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:45:43,398.398 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:45:43,448.448 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:45:43,451.451 INFO    ] No camera update needed
[2026-10-20 22:45:43,453.453 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:45:43,455.455 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:45:43,461.461 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:45:43,466.466 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:45:45,505.505 INFO    ] ================================================
[2026-10-20 22:45:45,520.520 INFO    ] Launching Daemon at Tue Oct 20 22:45:45 IST 2026
[2026-10-20 22:45:45,531.531 INFO    ] ================================================
[2026-10-20 22:45:46,095.095 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:45:46
[2026-10-20 22:45:46,677.677 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:45:46,947.947 INFO    ] Initializing speech engine...
[2026-10-20 22:45:46,955.955 INFO    ] 2026-10-20 22:45:46
[2026-10-20 22:45:47,207.207 INFO    ] 2026-10-20 22:45:47
[2026-10-20 22:45:47,242.242 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:45:47,445.445 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:45:47,505.505 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:45:47,646.646 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:45:47,695.695 INFO    ] time= 20/10/2026 22:45:47
[2026-10-20 22:45:47,739.739 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:45:47,783.783 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:45:47,937.937 INFO    ] No existing commands found in stream
[2026-10-20 22:45:52,955.955 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:45:52,958.958 INFO    ] Waiting 0.99 seconds before fallback handling...
[2026-10-20 22:45:54,499.499 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:45:54,502.502 INFO    ] Checking for system updates...
[2026-10-20 22:45:54,539.539 INFO    ] 200
[2026-10-20 22:45:54,542.542 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:45:54,596.596 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:45:54,599.599 INFO    ] No update needed
[2026-10-20 22:45:54,602.602 INFO    ] Checking for camera pi updates...
[2026-10-20 22:45:54,636.636 INFO    ] 200
[2026-10-20 22:45:54,639.639 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:45:54,680.680 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:45:54,733.733 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:45:54,735.735 INFO    ] No camera update needed
[2026-10-20 22:45:54,738.738 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:45:54,741.741 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:45:54,747.747 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:45:54,753.753 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:45:56,794.794 INFO    ] ================================================
[2026-10-20 22:45:56,809.809 INFO    ] Launching Daemon at Tue Oct 20 22:45:56 IST 2026
[2026-10-20 22:45:56,820.820 INFO    ] ================================================
[2026-10-20 22:45:57,388.388 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:45:57
[2026-10-20 22:45:57,988.988 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:45:58,261.261 INFO    ] Initializing speech engine...
[2026-10-20 22:45:58,272.272 INFO    ] 2026-10-20 22:45:58
[2026-10-20 22:45:58,520.520 INFO    ] 2026-10-20 22:45:58
[2026-10-20 22:45:58,556.556 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:45:58,821.821 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:45:58,831.831 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:45:59,060.060 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:45:59,099.099 INFO    ] time= 20/10/2026 22:45:59
[2026-10-20 22:45:59,105.105 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:45:59,123.123 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:45:59,251.251 INFO    ] No existing commands found in stream
[2026-10-20 22:46:04,271.271 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:46:04,273.273 INFO    ] Waiting 1.78 seconds before fallback handling...
[2026-10-20 22:46:06,576.576 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:46:06,578.578 INFO    ] Checking for system updates...
[2026-10-20 22:46:06,614.614 INFO    ] 200
[2026-10-20 22:46:06,616.616 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:46:06,668.668 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:46:06,671.671 INFO    ] No update needed
[2026-10-20 22:46:06,673.673 INFO    ] Checking for camera pi updates...
[2026-10-20 22:46:06,706.706 INFO    ] 200
[2026-10-20 22:46:06,708.708 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:46:06,760.760 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:46:06,811.811 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:46:06,813.813 INFO    ] No camera update needed
[2026-10-20 22:46:06,816.816 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:46:06,819.819 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:46:06,825.825 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:46:06,831.831 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:46:08,874.874 INFO    ] ================================================
[2026-10-20 22:46:08,889.889 INFO    ] Launching Daemon at Tue Oct 20 22:46:08 IST 2026
[2026-10-20 22:46:08,899.899 INFO    ] ================================================
[2026-10-20 22:46:09,558.558 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:46:09
[2026-10-20 22:46:10,238.238 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:46:10,546.546 INFO    ] Initializing speech engine...
[2026-10-20 22:46:10,561.561 INFO    ] 2026-10-20 22:46:10
[2026-10-20 22:46:10,877.877 INFO    ] 2026-10-20 22:46:10
[2026-10-20 22:46:10,965.965 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:46:11,184.184 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:46:11,192.192 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:46:11,394.394 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:46:11,404.404 INFO    ] time= 20/10/2026 22:46:11
[2026-10-20 22:46:11,423.423 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:46:11,453.453 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:46:11,591.591 INFO    ] No existing commands found in stream
[2026-10-20 22:46:16,622.622 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:46:16,625.625 INFO    ] Waiting 2.46 seconds before fallback handling...
[2026-10-20 22:46:19,594.594 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:46:19,597.597 INFO    ] Checking for system updates...
[2026-10-20 22:46:19,634.634 INFO    ] 200
[2026-10-20 22:46:19,636.636 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:46:19,688.688 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:46:19,691.691 INFO    ] No update needed
[2026-10-20 22:46:19,693.693 INFO    ] Checking for camera pi updates...
[2026-10-20 22:46:19,726.726 INFO    ] 200
[2026-10-20 22:46:19,728.728 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:46:19,769.769 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:46:19,824.824 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:46:19,827.827 INFO    ] No camera update needed
[2026-10-20 22:46:19,829.829 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:46:19,831.831 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:46:19,837.837 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:46:19,842.842 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:46:21,882.882 INFO    ] ================================================
[2026-10-20 22:46:21,897.897 INFO    ] Launching Daemon at Tue Oct 20 22:46:21 IST 2026
[2026-10-20 22:46:21,908.908 INFO    ] ================================================
[2026-10-20 22:46:22,495.495 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:46:22
[2026-10-20 22:46:23,086.086 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:46:23,348.348 INFO    ] Initializing speech engine...
[2026-10-20 22:46:23,354.354 INFO    ] 2026-10-20 22:46:23
[2026-10-20 22:46:23,651.651 INFO    ] 2026-10-20 22:46:23
[2026-10-20 22:46:23,687.687 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:46:23,889.889 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:46:23,895.895 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:46:24,069.069 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:46:24,077.077 INFO    ] time= 20/10/2026 22:46:24
[2026-10-20 22:46:24,082.082 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:46:24,088.088 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:46:24,235.235 INFO    ] No existing commands found in stream
[2026-10-20 22:46:29,260.260 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:46:29,263.263 INFO    ] Waiting 0.96 seconds before fallback handling...
[2026-10-20 22:46:30,773.773 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 22:46:30,776.776 INFO    ] Checking for system updates...
[2026-10-20 22:46:30,814.814 INFO    ] 200
[2026-10-20 22:46:30,816.816 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:46:30,870.870 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:46:30,872.872 INFO    ] No update needed
[2026-10-20 22:46:30,875.875 INFO    ] Checking for camera pi updates...
[2026-10-20 22:46:30,909.909 INFO    ] 200
[2026-10-20 22:46:30,911.911 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:46:30,951.951 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:46:31,004.004 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:46:31,007.007 INFO    ] No camera update needed
[2026-10-20 22:46:31,009.009 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:46:31,012.012 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:46:31,017.017 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:46:31,023.023 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:46:33,064.064 INFO    ] ================================================
[2026-10-20 22:46:33,079.079 INFO    ] Launching Daemon at Tue Oct 20 22:46:33 IST 2026
[2026-10-20 22:46:33,091.091 INFO    ] ================================================
[2026-10-20 22:46:33,696.696 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:46:33
[2026-10-20 22:46:34,293.293 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:46:34,572.572 INFO    ] Initializing speech engine...
[2026-10-20 22:46:34,577.577 INFO    ] 2026-10-20 22:46:34
[2026-10-20 22:46:34,832.832 INFO    ] 2026-10-20 22:46:34
[2026-10-20 22:46:34,868.868 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:46:35,111.111 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:46:35,121.121 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:46:35,313.313 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:46:35,372.372 INFO    ] time= 20/10/2026 22:46:35
[2026-10-20 22:46:35,385.385 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:46:35,402.402 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:46:35,534.534 INFO    ] No existing commands found in stream
[2026-10-20 22:46:40,548.548 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:46:40,551.551 INFO    ] Waiting 2.59 seconds before fallback handling...
[2026-10-20 22:46:43,692.692 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 22:46:43,695.695 INFO    ] Checking for system updates...
[2026-10-20 22:46:43,730.730 INFO    ] 200
[2026-10-20 22:46:43,732.732 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:46:43,784.784 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:46:43,786.786 INFO    ] No update needed
[2026-10-20 22:46:43,788.788 INFO    ] Checking for camera pi updates...
[2026-10-20 22:46:43,826.826 INFO    ] 200
[2026-10-20 22:46:43,828.828 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:46:43,868.868 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:46:43,925.925 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:46:43,927.927 INFO    ] No camera update needed
[2026-10-20 22:46:43,930.930 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:46:43,932.932 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:46:43,937.937 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:46:43,942.942 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:46:45,983.983 INFO    ] ================================================
[2026-10-20 22:46:46,999.999 INFO    ] Launching Daemon at Tue Oct 20 22:46:45 IST 2026
[2026-10-20 22:46:46,009.009 INFO    ] ================================================
[2026-10-20 22:46:46,576.576 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:46:46
[2026-10-20 22:46:47,203.203 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:46:47,495.495 INFO    ] Initializing speech engine...
[2026-10-20 22:46:47,509.509 INFO    ] 2026-10-20 22:46:47
[2026-10-20 22:46:47,781.781 INFO    ] 2026-10-20 22:46:47
[2026-10-20 22:46:47,819.819 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:46:48,044.044 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:46:48,052.052 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:46:48,261.261 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:46:48,280.280 INFO    ] time= 20/10/2026 22:46:48
[2026-10-20 22:46:48,327.327 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:46:48,386.386 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:46:48,501.501 INFO    ] No existing commands found in stream
[2026-10-20 22:46:53,526.526 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:46:53,529.529 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-10-20 22:46:57,159.159 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 22:46:57,162.162 INFO    ] Checking for system updates...
[2026-10-20 22:46:57,198.198 INFO    ] 200
[2026-10-20 22:46:57,201.201 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:46:57,252.252 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:46:57,255.255 INFO    ] No update needed
[2026-10-20 22:46:57,257.257 INFO    ] Checking for camera pi updates...
[2026-10-20 22:46:57,291.291 INFO    ] 200
[2026-10-20 22:46:57,294.294 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:46:57,333.333 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:46:57,383.383 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:46:57,385.385 INFO    ] No camera update needed
[2026-10-20 22:46:57,387.387 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:46:57,390.390 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:46:57,395.395 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:46:57,400.400 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:46:59,441.441 INFO    ] ================================================
[2026-10-20 22:46:59,456.456 INFO    ] Launching Daemon at Tue Oct 20 22:46:59 IST 2026
[2026-10-20 22:46:59,466.466 INFO    ] ================================================
[2026-10-20 22:47:00,039.039 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:47:00
[2026-10-20 22:47:00,632.632 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:47:00,907.907 INFO    ] Initializing speech engine...
[2026-10-20 22:47:00,917.917 INFO    ] 2026-10-20 22:47:00
[2026-10-20 22:47:01,164.164 INFO    ] 2026-10-20 22:47:01
[2026-10-20 22:47:01,200.200 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:47:01,452.452 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:47:01,461.461 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:47:01,596.596 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:47:01,656.656 INFO    ] time= 20/10/2026 22:47:01
[2026-10-20 22:47:01,724.724 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:47:01,731.731 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:47:01,874.874 INFO    ] No existing commands found in stream
[2026-10-20 22:47:06,889.889 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:47:06,892.892 INFO    ] Waiting 3.40 seconds before fallback handling...
[2026-10-20 22:47:10,810.810 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:47:10,813.813 INFO    ] Checking for system updates...
[2026-10-20 22:47:10,848.848 INFO    ] 200
[2026-10-20 22:47:10,851.851 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:47:10,908.908 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:47:10,911.911 INFO    ] No update needed
[2026-10-20 22:47:10,913.913 INFO    ] Checking for camera pi updates...
[2026-10-20 22:47:10,946.946 INFO    ] 200
[2026-10-20 22:47:10,949.949 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:47:10,988.988 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:47:11,024.024 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:47:11,026.026 INFO    ] No camera update needed
[2026-10-20 22:47:11,029.029 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:47:11,031.031 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:47:11,036.036 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:47:11,042.042 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:47:13,082.082 INFO    ] ================================================
[2026-10-20 22:47:13,097.097 INFO    ] Launching Daemon at Tue Oct 20 22:47:13 IST 2026
[2026-10-20 22:47:13,108.108 INFO    ] ================================================
[2026-10-20 22:47:13,673.673 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:47:13
[2026-10-20 22:47:14,258.258 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:47:14,509.509 INFO    ] Initializing speech engine...
[2026-10-20 22:47:14,518.518 INFO    ] 2026-10-20 22:47:14
[2026-10-20 22:47:14,811.811 INFO    ] 2026-10-20 22:47:14
[2026-10-20 22:47:14,845.845 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:47:15,041.041 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:47:15,057.057 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:47:15,218.218 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:47:15,226.226 INFO    ] time= 20/10/2026 22:47:15
[2026-10-20 22:47:15,233.233 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:47:15,239.239 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:47:15,393.393 INFO    ] No existing commands found in stream
[2026-10-20 22:47:20,418.418 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:47:20,421.421 INFO    ] Waiting 0.20 seconds before fallback handling...
[2026-10-20 22:47:21,117.117 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 22:47:21,120.120 INFO    ] Checking for system updates...
[2026-10-20 22:47:21,160.160 INFO    ] 200
[2026-10-20 22:47:21,162.162 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:47:21,215.215 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:47:21,217.217 INFO    ] No update needed
[2026-10-20 22:47:21,219.219 INFO    ] Checking for camera pi updates...
[2026-10-20 22:47:21,252.252 INFO    ] 200
[2026-10-20 22:47:21,255.255 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:47:21,294.294 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:47:21,444.444 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:47:21,446.446 INFO    ] No camera update needed
[2026-10-20 22:47:21,449.449 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:47:21,451.451 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:47:21,456.456 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:47:21,461.461 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:47:23,501.501 INFO    ] ================================================
[2026-10-20 22:47:23,516.516 INFO    ] Launching Daemon at Tue Oct 20 22:47:23 IST 2026
[2026-10-20 22:47:23,527.527 INFO    ] ================================================
[2026-10-20 22:47:24,107.107 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:47:24
[2026-10-20 22:47:24,703.703 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:47:24,989.989 INFO    ] Initializing speech engine...
[2026-10-20 22:47:24,999.999 INFO    ] 2026-10-20 22:47:24
[2026-10-20 22:47:25,266.266 INFO    ] 2026-10-20 22:47:25
[2026-10-20 22:47:25,303.303 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:47:25,526.526 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:47:25,575.575 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:47:25,795.795 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:47:25,850.850 INFO    ] time= 20/10/2026 22:47:25
[2026-10-20 22:47:25,892.892 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:47:25,899.899 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:47:26,053.053 INFO    ] No existing commands found in stream
[2026-10-20 22:47:31,073.073 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:47:31,076.076 INFO    ] Waiting 3.29 seconds before fallback handling...
[2026-10-20 22:47:34,885.885 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:47:34,887.887 INFO    ] Checking for system updates...
[2026-10-20 22:47:34,926.926 INFO    ] 200
[2026-10-20 22:47:34,929.929 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:47:34,980.980 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:47:34,983.983 INFO    ] No update needed
[2026-10-20 22:47:34,985.985 INFO    ] Checking for camera pi updates...
[2026-10-20 22:47:35,018.018 INFO    ] 200
[2026-10-20 22:47:35,021.021 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:47:35,061.061 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:47:35,118.118 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:47:35,120.120 INFO    ] No camera update needed
[2026-10-20 22:47:35,123.123 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:47:35,125.125 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:47:35,131.131 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:47:35,136.136 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:47:37,176.176 INFO    ] ================================================
[2026-10-20 22:47:37,191.191 INFO    ] Launching Daemon at Tue Oct 20 22:47:37 IST 2026
[2026-10-20 22:47:37,202.202 INFO    ] ================================================
[2026-10-20 22:47:37,773.773 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:47:37
[2026-10-20 22:47:38,369.369 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:47:38,630.630 INFO    ] Initializing speech engine...
[2026-10-20 22:47:38,635.635 INFO    ] 2026-10-20 22:47:38
[2026-10-20 22:47:38,913.913 INFO    ] 2026-10-20 22:47:38
[2026-10-20 22:47:38,948.948 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:47:39,149.149 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:47:39,190.190 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:47:39,362.362 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:47:39,437.437 INFO    ] time= 20/10/2026 22:47:39
[2026-10-20 22:47:39,489.489 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:47:39,496.496 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:47:39,646.646 INFO    ] No existing commands found in stream
[2026-10-20 22:47:44,665.665 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:47:44,667.667 INFO    ] Waiting 0.90 seconds before fallback handling...
[2026-10-20 22:47:46,106.106 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 22:47:46,109.109 INFO    ] Checking for system updates...
[2026-10-20 22:47:46,149.149 INFO    ] 200
[2026-10-20 22:47:46,152.152 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:47:46,208.208 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:47:46,211.211 INFO    ] No update needed
[2026-10-20 22:47:46,214.214 INFO    ] Checking for camera pi updates...
[2026-10-20 22:47:46,248.248 INFO    ] 200
[2026-10-20 22:47:46,251.251 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:47:46,296.296 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:47:46,346.346 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:47:46,349.349 INFO    ] No camera update needed
[2026-10-20 22:47:46,352.352 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:47:46,355.355 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:47:46,361.361 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:47:46,367.367 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:47:48,408.408 INFO    ] ================================================
[2026-10-20 22:47:48,423.423 INFO    ] Launching Daemon at Tue Oct 20 22:47:48 IST 2026
[2026-10-20 22:47:48,434.434 INFO    ] ================================================
[2026-10-20 22:47:49,014.014 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:47:49
[2026-10-20 22:47:49,610.610 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:47:49,867.867 INFO    ] Initializing speech engine...
[2026-10-20 22:47:49,873.873 INFO    ] 2026-10-20 22:47:49
[2026-10-20 22:47:50,168.168 INFO    ] 2026-10-20 22:47:50
[2026-10-20 22:47:50,207.207 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:47:50,491.491 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:47:50,501.501 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:47:50,659.659 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:47:50,718.718 INFO    ] time= 20/10/2026 22:47:50
[2026-10-20 22:47:50,773.773 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:47:50,799.799 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:47:50,946.946 INFO    ] No existing commands found in stream
[2026-10-20 22:47:55,972.972 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:47:55,974.974 INFO    ] Waiting 2.20 seconds before fallback handling...
[2026-10-20 22:47:58,682.682 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:47:58,685.685 INFO    ] Checking for system updates...
[2026-10-20 22:47:58,721.721 INFO    ] 200
[2026-10-20 22:47:58,723.723 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:47:58,780.780 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:47:58,783.783 INFO    ] No update needed
[2026-10-20 22:47:58,785.785 INFO    ] Checking for camera pi updates...
[2026-10-20 22:47:58,819.819 INFO    ] 200
[2026-10-20 22:47:58,821.821 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:47:58,861.861 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:47:58,907.907 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:47:58,909.909 INFO    ] No camera update needed
[2026-10-20 22:47:58,912.912 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:47:58,914.914 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:47:58,919.919 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:47:58,924.924 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:48:00,963.963 INFO    ] ================================================
[2026-10-20 22:48:00,979.979 INFO    ] Launching Daemon at Tue Oct 20 22:48:00 IST 2026
[2026-10-20 22:48:00,990.990 INFO    ] ================================================
[2026-10-20 22:48:01,725.725 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:48:01
[2026-10-20 22:48:02,377.377 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:48:02,765.765 INFO    ] Initializing speech engine...
[2026-10-20 22:48:02,780.780 INFO    ] 2026-10-20 22:48:02
[2026-10-20 22:48:03,064.064 INFO    ] 2026-10-20 22:48:03
[2026-10-20 22:48:03,099.099 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:48:03,290.290 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:48:03,331.331 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:48:03,496.496 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:48:03,539.539 INFO    ] time= 20/10/2026 22:48:03
[2026-10-20 22:48:03,589.589 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:48:03,634.634 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:48:03,772.772 INFO    ] No existing commands found in stream
[2026-10-20 22:48:08,799.799 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:48:08,802.802 INFO    ] Waiting 2.74 seconds before fallback handling...
[2026-10-20 22:48:12,031.031 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:48:12,034.034 INFO    ] Checking for system updates...
[2026-10-20 22:48:12,069.069 INFO    ] 200
[2026-10-20 22:48:12,072.072 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:48:12,131.131 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:48:12,133.133 INFO    ] No update needed
[2026-10-20 22:48:12,136.136 INFO    ] Checking for camera pi updates...
[2026-10-20 22:48:12,170.170 INFO    ] 200
[2026-10-20 22:48:12,172.172 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:48:12,212.212 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:48:12,262.262 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:48:12,264.264 INFO    ] No camera update needed
[2026-10-20 22:48:12,266.266 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:48:12,269.269 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:48:12,274.274 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:48:12,279.279 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:48:14,320.320 INFO    ] ================================================
[2026-10-20 22:48:14,335.335 INFO    ] Launching Daemon at Tue Oct 20 22:48:14 IST 2026
[2026-10-20 22:48:14,346.346 INFO    ] ================================================
[2026-10-20 22:48:14,912.912 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:48:14
[2026-10-20 22:48:15,497.497 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:48:15,753.753 INFO    ] Initializing speech engine...
[2026-10-20 22:48:15,759.759 INFO    ] 2026-10-20 22:48:15
[2026-10-20 22:48:16,057.057 INFO    ] 2026-10-20 22:48:16
[2026-10-20 22:48:16,096.096 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:48:16,296.296 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:48:16,310.310 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:48:16,473.473 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:48:16,481.481 INFO    ] time= 20/10/2026 22:48:16
[2026-10-20 22:48:16,485.485 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:48:16,492.492 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:48:16,568.568 INFO    ] No existing commands found in stream
[2026-10-20 22:48:21,583.583 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:48:21,586.586 INFO    ] Waiting 3.75 seconds before fallback handling...
[2026-10-20 22:48:25,880.880 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:48:25,883.883 INFO    ] Checking for system updates...
[2026-10-20 22:48:25,919.919 INFO    ] 200
[2026-10-20 22:48:25,921.921 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:48:25,973.973 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:48:25,975.975 INFO    ] No update needed
[2026-10-20 22:48:25,977.977 INFO    ] Checking for camera pi updates...
[2026-10-20 22:48:26,011.011 INFO    ] 200
[2026-10-20 22:48:26,013.013 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:48:26,058.058 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:48:26,119.119 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:48:26,122.122 INFO    ] No camera update needed
[2026-10-20 22:48:26,124.124 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:48:26,126.126 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:48:26,131.131 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:48:26,136.136 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:48:28,176.176 INFO    ] ================================================
[2026-10-20 22:48:28,192.192 INFO    ] Launching Daemon at Tue Oct 20 22:48:28 IST 2026
[2026-10-20 22:48:28,203.203 INFO    ] ================================================
[2026-10-20 22:48:28,770.770 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:48:28
[2026-10-20 22:48:29,355.355 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:48:29,619.619 INFO    ] Initializing speech engine...
[2026-10-20 22:48:29,645.645 INFO    ] 2026-10-20 22:48:29
[2026-10-20 22:48:29,917.917 INFO    ] 2026-10-20 22:48:29
[2026-10-20 22:48:29,957.957 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:48:30,167.167 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:48:30,188.188 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:48:30,332.332 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:48:30,341.341 INFO    ] time= 20/10/2026 22:48:30
[2026-10-20 22:48:30,346.346 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:48:30,353.353 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:48:30,435.435 INFO    ] No existing commands found in stream
[2026-10-20 22:48:35,465.465 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:48:35,467.467 INFO    ] Waiting 3.84 seconds before fallback handling...
[2026-10-20 22:48:42,066.066 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:48:42,069.069 INFO    ] Checking for system updates...
[2026-10-20 22:48:42,104.104 INFO    ] 200
[2026-10-20 22:48:42,107.107 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:48:42,158.158 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:48:42,160.160 INFO    ] No update needed
[2026-10-20 22:48:42,163.163 INFO    ] Checking for camera pi updates...
[2026-10-20 22:48:42,196.196 INFO    ] 200
[2026-10-20 22:48:42,199.199 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:48:42,244.244 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:48:42,299.299 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:48:42,302.302 INFO    ] No camera update needed
[2026-10-20 22:48:42,304.304 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:48:42,306.306 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:48:42,311.311 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:48:42,316.316 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:48:44,357.357 INFO    ] ================================================
[2026-10-20 22:48:44,372.372 INFO    ] Launching Daemon at Tue Oct 20 22:48:44 IST 2026
[2026-10-20 22:48:44,383.383 INFO    ] ================================================
[2026-10-20 22:48:45,037.037 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:48:45
[2026-10-20 22:48:45,713.713 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:48:46,019.019 INFO    ] Initializing speech engine...
[2026-10-20 22:48:46,033.033 INFO    ] 2026-10-20 22:48:46
[2026-10-20 22:48:46,323.323 INFO    ] 2026-10-20 22:48:46
[2026-10-20 22:48:46,364.364 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:48:46,590.590 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:48:46,595.595 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:48:46,829.829 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:48:46,852.852 INFO    ] time= 20/10/2026 22:48:46
[2026-10-20 22:48:46,858.858 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:48:46,880.880 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:48:47,056.056 INFO    ] No existing commands found in stream
[2026-10-20 22:48:52,087.087 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:48:52,090.090 INFO    ] Waiting 0.24 seconds before fallback handling...
[2026-10-20 22:48:52,831.831 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:48:52,834.834 INFO    ] Checking for system updates...
[2026-10-20 22:48:52,871.871 INFO    ] 200
[2026-10-20 22:48:52,874.874 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:48:52,928.928 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:48:52,931.931 INFO    ] No update needed
[2026-10-20 22:48:52,934.934 INFO    ] Checking for camera pi updates...
[2026-10-20 22:48:52,972.972 INFO    ] 200
[2026-10-20 22:48:52,975.975 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:48:53,022.022 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:48:53,068.068 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:48:53,071.071 INFO    ] No camera update needed
[2026-10-20 22:48:53,073.073 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:48:53,076.076 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:48:53,082.082 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:48:53,088.088 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:48:55,129.129 INFO    ] ================================================
[2026-10-20 22:48:55,145.145 INFO    ] Launching Daemon at Tue Oct 20 22:48:55 IST 2026
[2026-10-20 22:48:55,163.163 INFO    ] ================================================
[2026-10-20 22:48:55,728.728 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:48:55
[2026-10-20 22:48:56,311.311 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:48:56,559.559 INFO    ] Initializing speech engine...
[2026-10-20 22:48:56,565.565 INFO    ] 2026-10-20 22:48:56
[2026-10-20 22:48:56,839.839 INFO    ] 2026-10-20 22:48:56
[2026-10-20 22:48:56,874.874 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:48:57,075.075 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:48:57,134.134 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:48:57,300.300 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:48:57,360.360 INFO    ] time= 20/10/2026 22:48:57
[2026-10-20 22:48:57,415.415 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:48:57,421.421 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:48:57,578.578 INFO    ] No existing commands found in stream
[2026-10-20 22:49:02,601.601 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:49:02,603.603 INFO    ] Waiting 3.38 seconds before fallback handling...
[2026-10-20 22:49:06,521.521 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:49:06,524.524 INFO    ] Checking for system updates...
[2026-10-20 22:49:06,563.563 INFO    ] 200
[2026-10-20 22:49:06,566.566 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:49:06,618.618 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:49:06,621.621 INFO    ] No update needed
[2026-10-20 22:49:06,623.623 INFO    ] Checking for camera pi updates...
[2026-10-20 22:49:06,657.657 INFO    ] 200
[2026-10-20 22:49:06,659.659 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:49:06,699.699 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:49:06,744.744 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:49:06,746.746 INFO    ] No camera update needed
[2026-10-20 22:49:06,749.749 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:49:06,751.751 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:49:06,756.756 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:49:06,761.761 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:49:08,802.802 INFO    ] ================================================
[2026-10-20 22:49:08,817.817 INFO    ] Launching Daemon at Tue Oct 20 22:49:08 IST 2026
[2026-10-20 22:49:08,829.829 INFO    ] ================================================
[2026-10-20 22:49:09,394.394 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:49:09
[2026-10-20 22:49:09,977.977 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:49:10,246.246 INFO    ] Initializing speech engine...
[2026-10-20 22:49:10,254.254 INFO    ] 2026-10-20 22:49:10
[2026-10-20 22:49:10,505.505 INFO    ] 2026-10-20 22:49:10
[2026-10-20 22:49:10,546.546 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:49:10,801.801 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:49:10,811.811 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:49:10,947.947 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:49:11,007.007 INFO    ] time= 20/10/2026 22:49:10
[2026-10-20 22:49:11,061.061 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:49:11,081.081 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:49:11,227.227 INFO    ] No existing commands found in stream
[2026-10-20 22:49:16,243.243 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:49:16,246.246 INFO    ] Waiting 1.83 seconds before fallback handling...
[2026-10-20 22:49:18,551.551 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:49:18,554.554 INFO    ] Checking for system updates...
[2026-10-20 22:49:18,592.592 INFO    ] 200
[2026-10-20 22:49:18,595.595 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:49:18,646.646 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:49:18,648.648 INFO    ] No update needed
[2026-10-20 22:49:18,651.651 INFO    ] Checking for camera pi updates...
[2026-10-20 22:49:18,684.684 INFO    ] 200
[2026-10-20 22:49:18,687.687 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:49:18,727.727 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:49:18,774.774 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:49:18,776.776 INFO    ] No camera update needed
[2026-10-20 22:49:18,779.779 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:49:18,781.781 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:49:18,786.786 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:49:18,791.791 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:49:20,833.833 INFO    ] ================================================
[2026-10-20 22:49:20,849.849 INFO    ] Launching Daemon at Tue Oct 20 22:49:20 IST 2026
[2026-10-20 22:49:20,860.860 INFO    ] ================================================
[2026-10-20 22:49:21,426.426 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:49:21
[2026-10-20 22:49:22,007.007 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:49:22,274.274 INFO    ] Initializing speech engine...
[2026-10-20 22:49:22,283.283 INFO    ] 2026-10-20 22:49:22
[2026-10-20 22:49:22,528.528 INFO    ] 2026-10-20 22:49:22
[2026-10-20 22:49:22,563.563 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:49:22,759.759 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:49:22,816.816 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:49:22,962.962 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:49:23,017.017 INFO    ] time= 20/10/2026 22:49:22
[2026-10-20 22:49:23,072.072 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:49:23,087.087 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:49:23,223.223 INFO    ] No existing commands found in stream
[2026-10-20 22:49:28,244.244 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:49:28,246.246 INFO    ] Waiting 0.07 seconds before fallback handling...
[2026-10-20 22:49:28,839.839 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 22:49:28,842.842 INFO    ] Checking for system updates...
[2026-10-20 22:49:28,879.879 INFO    ] 200
[2026-10-20 22:49:28,882.882 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:49:28,935.935 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:49:28,938.938 INFO    ] No update needed
[2026-10-20 22:49:28,941.941 INFO    ] Checking for camera pi updates...
[2026-10-20 22:49:28,975.975 INFO    ] 200
[2026-10-20 22:49:28,978.978 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:49:29,023.023 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:49:29,167.167 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:49:29,170.170 INFO    ] No camera update needed
[2026-10-20 22:49:29,172.172 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:49:29,175.175 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:49:29,181.181 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:49:29,187.187 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:49:31,232.232 INFO    ] ================================================
[2026-10-20 22:49:31,253.253 INFO    ] Launching Daemon at Tue Oct 20 22:49:31 IST 2026
[2026-10-20 22:49:31,265.265 INFO    ] ================================================
[2026-10-20 22:49:31,943.943 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:49:31
[2026-10-20 22:49:32,647.647 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:49:32,942.942 INFO    ] Initializing speech engine...
[2026-10-20 22:49:32,951.951 INFO    ] 2026-10-20 22:49:32
[2026-10-20 22:49:33,245.245 INFO    ] 2026-10-20 22:49:33
[2026-10-20 22:49:33,282.282 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:49:33,565.565 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:49:33,579.579 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:49:33,745.745 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:49:33,792.792 INFO    ] time= 20/10/2026 22:49:33
[2026-10-20 22:49:33,810.810 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:49:33,817.817 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:49:33,942.942 INFO    ] No existing commands found in stream
[2026-10-20 22:49:38,960.960 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:49:38,963.963 INFO    ] Waiting 1.97 seconds before fallback handling...
[2026-10-20 22:49:41,473.473 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:49:41,476.476 INFO    ] Checking for system updates...
[2026-10-20 22:49:41,512.512 INFO    ] 200
[2026-10-20 22:49:41,515.515 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:49:41,574.574 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:49:41,577.577 INFO    ] No update needed
[2026-10-20 22:49:41,580.580 INFO    ] Checking for camera pi updates...
[2026-10-20 22:49:41,614.614 INFO    ] 200
[2026-10-20 22:49:41,617.617 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:49:41,660.660 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:49:41,710.710 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:49:41,712.712 INFO    ] No camera update needed
[2026-10-20 22:49:41,715.715 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:49:41,717.717 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:49:41,723.723 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:49:41,727.727 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:49:43,768.768 INFO    ] ================================================
[2026-10-20 22:49:43,783.783 INFO    ] Launching Daemon at Tue Oct 20 22:49:43 IST 2026
[2026-10-20 22:49:43,795.795 INFO    ] ================================================
[2026-10-20 22:49:44,426.426 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:49:44
[2026-10-20 22:49:45,026.026 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:49:45,296.296 INFO    ] Initializing speech engine...
[2026-10-20 22:49:45,313.313 INFO    ] 2026-10-20 22:49:45
[2026-10-20 22:49:45,585.585 INFO    ] 2026-10-20 22:49:45
[2026-10-20 22:49:45,620.620 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:49:45,844.844 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:49:45,903.903 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:49:46,062.062 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:49:46,094.094 INFO    ] time= 20/10/2026 22:49:46
[2026-10-20 22:49:46,148.148 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:49:46,203.203 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:49:46,351.351 INFO    ] No existing commands found in stream
[2026-10-20 22:49:51,377.377 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:49:51,380.380 INFO    ] Waiting 2.47 seconds before fallback handling...
[2026-10-20 22:49:54,354.354 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:49:54,356.356 INFO    ] Checking for system updates...
[2026-10-20 22:49:54,392.392 INFO    ] 200
[2026-10-20 22:49:54,395.395 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:49:54,454.454 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:49:54,457.457 INFO    ] No update needed
[2026-10-20 22:49:54,459.459 INFO    ] Checking for camera pi updates...
[2026-10-20 22:49:54,493.493 INFO    ] 200
[2026-10-20 22:49:54,495.495 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:49:54,534.534 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:49:54,605.605 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:49:54,607.607 INFO    ] No camera update needed
[2026-10-20 22:49:54,610.610 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:49:54,612.612 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:49:54,618.618 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:49:54,623.623 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:49:56,662.662 INFO    ] ================================================
[2026-10-20 22:49:56,678.678 INFO    ] Launching Daemon at Tue Oct 20 22:49:56 IST 2026
[2026-10-20 22:49:56,689.689 INFO    ] ================================================
[2026-10-20 22:49:57,268.268 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:49:57
[2026-10-20 22:49:57,867.867 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:49:58,141.141 INFO    ] Initializing speech engine...
[2026-10-20 22:49:58,160.160 INFO    ] 2026-10-20 22:49:58
[2026-10-20 22:49:58,428.428 INFO    ] 2026-10-20 22:49:58
[2026-10-20 22:49:58,465.465 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:49:58,685.685 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:49:58,693.693 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:49:58,911.911 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:49:58,918.918 INFO    ] time= 20/10/2026 22:49:58
[2026-10-20 22:49:58,982.982 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:49:59,026.026 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:49:59,191.191 INFO    ] No existing commands found in stream
[2026-10-20 22:50:04,219.219 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:50:04,222.222 INFO    ] Waiting 3.46 seconds before fallback handling...
[2026-10-20 22:50:08,228.228 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:50:08,231.231 INFO    ] Checking for system updates...
[2026-10-20 22:50:08,266.266 INFO    ] 200
[2026-10-20 22:50:08,268.268 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:50:08,321.321 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:50:08,323.323 INFO    ] No update needed
[2026-10-20 22:50:08,326.326 INFO    ] Checking for camera pi updates...
[2026-10-20 22:50:08,359.359 INFO    ] 200
[2026-10-20 22:50:08,362.362 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:50:08,403.403 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:50:08,450.450 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:50:08,453.453 INFO    ] No camera update needed
[2026-10-20 22:50:08,455.455 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:50:08,457.457 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:50:08,463.463 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:50:08,468.468 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:50:10,509.509 INFO    ] ================================================
[2026-10-20 22:50:10,524.524 INFO    ] Launching Daemon at Tue Oct 20 22:50:10 IST 2026
[2026-10-20 22:50:10,537.537 INFO    ] ================================================
[2026-10-20 22:50:11,126.126 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:50:11
[2026-10-20 22:50:11,727.727 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:50:11,989.989 INFO    ] Initializing speech engine...
[2026-10-20 22:50:12,002.002 INFO    ] 2026-10-20 22:50:11
[2026-10-20 22:50:12,283.283 INFO    ] 2026-10-20 22:50:12
[2026-10-20 22:50:12,321.321 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:50:12,538.538 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:50:12,581.581 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:50:12,760.760 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:50:12,777.777 INFO    ] time= 20/10/2026 22:50:12
[2026-10-20 22:50:12,841.841 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:50:12,891.891 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:50:13,038.038 INFO    ] No existing commands found in stream
[2026-10-20 22:50:18,071.071 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:50:18,073.073 INFO    ] Waiting 0.95 seconds before fallback handling...
[2026-10-20 22:50:19,555.555 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:50:19,558.558 INFO    ] Checking for system updates...
[2026-10-20 22:50:19,594.594 INFO    ] 200
[2026-10-20 22:50:19,596.596 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:50:19,651.651 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:50:19,653.653 INFO    ] No update needed
[2026-10-20 22:50:19,656.656 INFO    ] Checking for camera pi updates...
[2026-10-20 22:50:19,696.696 INFO    ] 200
[2026-10-20 22:50:19,698.698 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:50:19,742.742 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:50:19,792.792 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:50:19,795.795 INFO    ] No camera update needed
[2026-10-20 22:50:19,797.797 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:50:19,800.800 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:50:19,805.805 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:50:19,810.810 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:50:21,850.850 INFO    ] ================================================
[2026-10-20 22:50:21,866.866 INFO    ] Launching Daemon at Tue Oct 20 22:50:21 IST 2026
[2026-10-20 22:50:21,877.877 INFO    ] ================================================
[2026-10-20 22:50:22,461.461 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:50:22
[2026-10-20 22:50:23,064.064 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:50:23,324.324 INFO    ] Initializing speech engine...
[2026-10-20 22:50:23,331.331 INFO    ] 2026-10-20 22:50:23
[2026-10-20 22:50:23,624.624 INFO    ] 2026-10-20 22:50:23
[2026-10-20 22:50:23,664.664 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:50:23,858.858 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:50:23,871.871 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:50:24,034.034 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:50:24,041.041 INFO    ] time= 20/10/2026 22:50:24
[2026-10-20 22:50:24,049.049 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:50:24,096.096 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:50:24,230.230 INFO    ] No existing commands found in stream
[2026-10-20 22:50:29,256.256 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:50:29,259.259 INFO    ] Waiting 3.96 seconds before fallback handling...
[2026-10-20 22:50:33,774.774 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 22:50:33,776.776 INFO    ] Checking for system updates...
[2026-10-20 22:50:33,815.815 INFO    ] 200
[2026-10-20 22:50:33,818.818 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:50:33,870.870 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:50:33,872.872 INFO    ] No update needed
[2026-10-20 22:50:33,875.875 INFO    ] Checking for camera pi updates...
[2026-10-20 22:50:33,908.908 INFO    ] 200
[2026-10-20 22:50:33,911.911 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:50:33,951.951 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:50:34,000.000 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:50:34,003.003 INFO    ] No camera update needed
[2026-10-20 22:50:34,005.005 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:50:34,007.007 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:50:34,013.013 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:50:34,017.017 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:50:36,057.057 INFO    ] ================================================
[2026-10-20 22:50:36,073.073 INFO    ] Launching Daemon at Tue Oct 20 22:50:36 IST 2026
[2026-10-20 22:50:36,084.084 INFO    ] ================================================
[2026-10-20 22:50:36,665.665 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:50:36
[2026-10-20 22:50:37,261.261 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:50:37,544.544 INFO    ] Initializing speech engine...
[2026-10-20 22:50:37,554.554 INFO    ] 2026-10-20 22:50:37
[2026-10-20 22:50:37,815.815 INFO    ] 2026-10-20 22:50:37
[2026-10-20 22:50:37,851.851 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:50:38,102.102 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:50:38,131.131 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:50:38,341.341 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:50:38,391.391 INFO    ] time= 20/10/2026 22:50:38
[2026-10-20 22:50:38,423.423 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:50:38,429.429 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:50:38,589.589 INFO    ] No existing commands found in stream
[2026-10-20 22:50:43,601.601 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:50:43,604.604 INFO    ] Waiting 1.61 seconds before fallback handling...
[2026-10-20 22:50:45,702.702 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:50:45,704.704 INFO    ] Checking for system updates...
[2026-10-20 22:50:45,739.739 INFO    ] 200
[2026-10-20 22:50:45,742.742 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:50:45,793.793 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:50:45,795.795 INFO    ] No update needed
[2026-10-20 22:50:45,798.798 INFO    ] Checking for camera pi updates...
[2026-10-20 22:50:45,831.831 INFO    ] 200
[2026-10-20 22:50:45,834.834 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:50:45,875.875 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:50:45,918.918 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:50:45,921.921 INFO    ] No camera update needed
[2026-10-20 22:50:45,923.923 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:50:45,925.925 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:50:45,931.931 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:50:45,936.936 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:50:47,975.975 INFO    ] ================================================
[2026-10-20 22:50:47,991.991 INFO    ] Launching Daemon at Tue Oct 20 22:50:47 IST 2026
[2026-10-20 22:50:48,001.001 INFO    ] ================================================
[2026-10-20 22:50:48,581.581 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:50:48
[2026-10-20 22:50:49,178.178 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:50:49,457.457 INFO    ] Initializing speech engine...
[2026-10-20 22:50:49,463.463 INFO    ] 2026-10-20 22:50:49
[2026-10-20 22:50:49,722.722 INFO    ] 2026-10-20 22:50:49
[2026-10-20 22:50:49,776.776 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:50:50,059.059 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:50:50,068.068 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:50:50,257.257 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:50:50,270.270 INFO    ] time= 20/10/2026 22:50:50
[2026-10-20 22:50:50,289.289 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:50:50,316.316 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:50:50,428.428 INFO    ] No existing commands found in stream
[2026-10-20 22:50:55,458.458 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:50:55,461.461 INFO    ] Waiting 1.41 seconds before fallback handling...
[2026-10-20 22:50:57,362.362 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 22:50:57,364.364 INFO    ] Checking for system updates...
[2026-10-20 22:50:57,402.402 INFO    ] 200
[2026-10-20 22:50:57,404.404 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:50:57,457.457 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:50:57,460.460 INFO    ] No update needed
[2026-10-20 22:50:57,462.462 INFO    ] Checking for camera pi updates...
[2026-10-20 22:50:57,495.495 INFO    ] 200
[2026-10-20 22:50:57,498.498 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:50:57,538.538 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:50:57,582.582 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:50:57,585.585 INFO    ] No camera update needed
[2026-10-20 22:50:57,587.587 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:50:57,589.589 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:50:57,595.595 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:50:57,600.600 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:50:59,640.640 INFO    ] ================================================
[2026-10-20 22:50:59,655.655 INFO    ] Launching Daemon at Tue Oct 20 22:50:59 IST 2026
[2026-10-20 22:50:59,666.666 INFO    ] ================================================
[2026-10-20 22:51:00,230.230 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:51:00
[2026-10-20 22:51:00,810.810 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:51:01,061.061 INFO    ] Initializing speech engine...
[2026-10-20 22:51:01,083.083 INFO    ] 2026-10-20 22:51:01
[2026-10-20 22:51:01,336.336 INFO    ] 2026-10-20 22:51:01
[2026-10-20 22:51:01,372.372 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:51:01,657.657 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:51:01,662.662 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:51:01,850.850 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:51:01,866.866 INFO    ] time= 20/10/2026 22:51:01
[2026-10-20 22:51:01,870.870 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:51:01,873.873 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:51:01,986.986 INFO    ] No existing commands found in stream
[2026-10-20 22:51:07,017.017 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:51:07,020.020 INFO    ] Waiting 2.95 seconds before fallback handling...
[2026-10-20 22:51:10,443.443 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:51:10,445.445 INFO    ] Checking for system updates...
[2026-10-20 22:51:10,481.481 INFO    ] 200
[2026-10-20 22:51:10,484.484 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:51:10,536.536 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:51:10,539.539 INFO    ] No update needed
[2026-10-20 22:51:10,541.541 INFO    ] Checking for camera pi updates...
[2026-10-20 22:51:10,574.574 INFO    ] 200
[2026-10-20 22:51:10,576.576 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:51:10,619.619 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:51:10,677.677 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:51:10,680.680 INFO    ] No camera update needed
[2026-10-20 22:51:10,682.682 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:51:10,684.684 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:51:10,690.690 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:51:10,695.695 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:51:12,735.735 INFO    ] ================================================
[2026-10-20 22:51:12,750.750 INFO    ] Launching Daemon at Tue Oct 20 22:51:12 IST 2026
[2026-10-20 22:51:12,761.761 INFO    ] ================================================
[2026-10-20 22:51:13,328.328 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:51:13
[2026-10-20 22:51:13,923.923 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:51:14,200.200 INFO    ] Initializing speech engine...
[2026-10-20 22:51:14,219.219 INFO    ] 2026-10-20 22:51:14
[2026-10-20 22:51:14,498.498 INFO    ] 2026-10-20 22:51:14
[2026-10-20 22:51:14,535.535 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:51:14,753.753 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:51:14,816.816 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:51:14,997.997 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:51:15,047.047 INFO    ] time= 20/10/2026 22:51:15
[2026-10-20 22:51:15,101.101 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:51:15,107.107 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:51:15,265.265 INFO    ] No existing commands found in stream
[2026-10-20 22:51:20,282.282 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:51:20,285.285 INFO    ] Waiting 3.15 seconds before fallback handling...
[2026-10-20 22:51:23,957.957 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:51:23,960.960 INFO    ] Checking for system updates...
[2026-10-20 22:51:23,996.996 INFO    ] 200
[2026-10-20 22:51:23,999.999 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:51:24,059.059 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:51:24,062.062 INFO    ] No update needed
[2026-10-20 22:51:24,065.065 INFO    ] Checking for camera pi updates...
[2026-10-20 22:51:24,104.104 INFO    ] 200
[2026-10-20 22:51:24,107.107 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:51:24,151.151 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:51:24,196.196 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:51:24,199.199 INFO    ] No camera update needed
[2026-10-20 22:51:24,202.202 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:51:24,204.204 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:51:24,211.211 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:51:24,217.217 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:51:26,256.256 INFO    ] ================================================
[2026-10-20 22:51:26,271.271 INFO    ] Launching Daemon at Tue Oct 20 22:51:26 IST 2026
[2026-10-20 22:51:26,282.282 INFO    ] ================================================
[2026-10-20 22:51:26,848.848 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:51:26
[2026-10-20 22:51:27,432.432 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:51:27,703.703 INFO    ] Initializing speech engine...
[2026-10-20 22:51:27,723.723 INFO    ] 2026-10-20 22:51:27
[2026-10-20 22:51:27,989.989 INFO    ] 2026-10-20 22:51:27
[2026-10-20 22:51:28,023.023 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:51:28,221.221 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:51:28,227.227 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:51:28,402.402 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:51:28,408.408 INFO    ] time= 20/10/2026 22:51:28
[2026-10-20 22:51:28,416.416 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:51:28,471.471 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:51:28,595.595 INFO    ] No existing commands found in stream
[2026-10-20 22:51:33,620.620 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:51:33,623.623 INFO    ] Waiting 2.04 seconds before fallback handling...
[2026-10-20 22:51:36,195.195 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 22:51:36,197.197 INFO    ] Checking for system updates...
[2026-10-20 22:51:36,233.233 INFO    ] 200
[2026-10-20 22:51:36,236.236 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:51:36,287.287 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:51:36,289.289 INFO    ] No update needed
[2026-10-20 22:51:36,292.292 INFO    ] Checking for camera pi updates...
[2026-10-20 22:51:36,324.324 INFO    ] 200
[2026-10-20 22:51:36,327.327 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:51:36,372.372 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:51:36,424.424 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:51:36,426.426 INFO    ] No camera update needed
[2026-10-20 22:51:36,429.429 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:51:36,431.431 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:51:36,437.437 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:51:36,442.442 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:51:38,482.482 INFO    ] ================================================
[2026-10-20 22:51:38,497.497 INFO    ] Launching Daemon at Tue Oct 20 22:51:38 IST 2026
[2026-10-20 22:51:38,507.507 INFO    ] ================================================
[2026-10-20 22:51:39,078.078 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:51:39
[2026-10-20 22:51:39,666.666 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:51:39,940.940 INFO    ] Initializing speech engine...
[2026-10-20 22:51:39,950.950 INFO    ] 2026-10-20 22:51:39
[2026-10-20 22:51:40,200.200 INFO    ] 2026-10-20 22:51:40
[2026-10-20 22:51:40,235.235 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:51:40,493.493 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:51:40,502.502 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:51:40,724.724 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:51:40,769.769 INFO    ] time= 20/10/2026 22:51:40
[2026-10-20 22:51:40,775.775 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:51:40,794.794 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:51:40,915.915 INFO    ] No existing commands found in stream
[2026-10-20 22:51:45,935.935 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:51:45,938.938 INFO    ] Waiting 0.49 seconds before fallback handling...
[2026-10-20 22:51:46,920.920 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:51:46,923.923 INFO    ] Checking for system updates...
[2026-10-20 22:51:46,958.958 INFO    ] 200
[2026-10-20 22:51:46,960.960 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:51:47,018.018 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:51:47,021.021 INFO    ] No update needed
[2026-10-20 22:51:47,023.023 INFO    ] Checking for camera pi updates...
[2026-10-20 22:51:47,059.059 INFO    ] 200
[2026-10-20 22:51:47,062.062 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:51:47,102.102 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:51:47,147.147 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:51:47,150.150 INFO    ] No camera update needed
[2026-10-20 22:51:47,152.152 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:51:47,154.154 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:51:47,164.164 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:51:47,169.169 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:51:49,210.210 INFO    ] ================================================
[2026-10-20 22:51:49,225.225 INFO    ] Launching Daemon at Tue Oct 20 22:51:49 IST 2026
[2026-10-20 22:51:49,236.236 INFO    ] ================================================
[2026-10-20 22:51:49,878.878 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:51:49
[2026-10-20 22:51:50,540.540 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:51:50,847.847 INFO    ] Initializing speech engine...
[2026-10-20 22:51:50,854.854 INFO    ] 2026-10-20 22:51:50
[2026-10-20 22:51:51,126.126 INFO    ] 2026-10-20 22:51:51
[2026-10-20 22:51:51,161.161 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:51:51,418.418 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:51:51,424.424 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:51:51,642.642 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:51:51,693.693 INFO    ] time= 20/10/2026 22:51:51
[2026-10-20 22:51:51,700.700 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:51:51,722.722 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:51:51,855.855 INFO    ] No existing commands found in stream
[2026-10-20 22:51:56,875.875 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:51:56,878.878 INFO    ] Waiting 3.23 seconds before fallback handling...
[2026-10-20 22:52:00,614.614 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:52:00,617.617 INFO    ] Checking for system updates...
[2026-10-20 22:52:00,654.654 INFO    ] 200
[2026-10-20 22:52:00,657.657 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:52:00,710.710 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:52:00,712.712 INFO    ] No update needed
[2026-10-20 22:52:00,715.715 INFO    ] Checking for camera pi updates...
[2026-10-20 22:52:00,750.750 INFO    ] 200
[2026-10-20 22:52:00,753.753 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:52:00,794.794 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:52:00,839.839 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:52:00,842.842 INFO    ] No camera update needed
[2026-10-20 22:52:00,844.844 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:52:00,847.847 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:52:00,853.853 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:52:00,858.858 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:52:02,903.903 INFO    ] ================================================
[2026-10-20 22:52:02,919.919 INFO    ] Launching Daemon at Tue Oct 20 22:52:02 IST 2026
[2026-10-20 22:52:02,934.934 INFO    ] ================================================
[2026-10-20 22:52:03,555.555 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:52:03
[2026-10-20 22:52:04,150.150 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:52:04,406.406 INFO    ] Initializing speech engine...
[2026-10-20 22:52:04,415.415 INFO    ] 2026-10-20 22:52:04
[2026-10-20 22:52:04,708.708 INFO    ] 2026-10-20 22:52:04
[2026-10-20 22:52:04,743.743 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:52:04,945.945 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:52:04,959.959 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:52:05,126.126 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:52:05,131.131 INFO    ] time= 20/10/2026 22:52:05
[2026-10-20 22:52:05,138.138 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:52:05,164.164 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:52:05,310.310 INFO    ] No existing commands found in stream
[2026-10-20 22:52:10,340.340 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:52:10,343.343 INFO    ] Waiting 0.52 seconds before fallback handling...
[2026-10-20 22:52:11,373.373 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:52:11,376.376 INFO    ] Checking for system updates...
[2026-10-20 22:52:11,411.411 INFO    ] 200
[2026-10-20 22:52:11,414.414 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:52:11,467.467 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:52:11,469.469 INFO    ] No update needed
[2026-10-20 22:52:11,472.472 INFO    ] Checking for camera pi updates...
[2026-10-20 22:52:11,506.506 INFO    ] 200
[2026-10-20 22:52:11,508.508 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:52:11,548.548 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:52:11,593.593 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:52:11,596.596 INFO    ] No camera update needed
[2026-10-20 22:52:11,598.598 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:52:11,600.600 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:52:11,606.606 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:52:11,611.611 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:52:13,651.651 INFO    ] ================================================
[2026-10-20 22:52:13,666.666 INFO    ] Launching Daemon at Tue Oct 20 22:52:13 IST 2026
[2026-10-20 22:52:13,676.676 INFO    ] ================================================
[2026-10-20 22:52:14,327.327 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:52:14
[2026-10-20 22:52:14,998.998 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:52:15,303.303 INFO    ] Initializing speech engine...
[2026-10-20 22:52:15,317.317 INFO    ] 2026-10-20 22:52:15
[2026-10-20 22:52:15,629.629 INFO    ] 2026-10-20 22:52:15
[2026-10-20 22:52:15,719.719 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:52:15,940.940 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:52:15,963.963 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:52:16,146.146 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:52:16,166.166 INFO    ] time= 20/10/2026 22:52:16
[2026-10-20 22:52:16,196.196 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:52:16,204.204 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:52:16,333.333 INFO    ] No existing commands found in stream
[2026-10-20 22:52:21,365.365 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:52:21,369.369 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-10-20 22:52:25,162.162 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:52:25,165.165 INFO    ] Checking for system updates...
[2026-10-20 22:52:25,206.206 INFO    ] 200
[2026-10-20 22:52:25,209.209 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:52:25,269.269 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:52:25,272.272 INFO    ] No update needed
[2026-10-20 22:52:25,275.275 INFO    ] Checking for camera pi updates...
[2026-10-20 22:52:25,310.310 INFO    ] 200
[2026-10-20 22:52:25,313.313 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:52:25,354.354 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:52:25,400.400 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:52:25,402.402 INFO    ] No camera update needed
[2026-10-20 22:52:25,405.405 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:52:25,408.408 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:52:25,414.414 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:52:25,420.420 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:52:27,461.461 INFO    ] ================================================
[2026-10-20 22:52:27,477.477 INFO    ] Launching Daemon at Tue Oct 20 22:52:27 IST 2026
[2026-10-20 22:52:27,488.488 INFO    ] ================================================
[2026-10-20 22:52:28,076.076 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:52:28
[2026-10-20 22:52:28,676.676 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:52:28,938.938 INFO    ] Initializing speech engine...
[2026-10-20 22:52:28,954.954 INFO    ] 2026-10-20 22:52:28
[2026-10-20 22:52:29,240.240 INFO    ] 2026-10-20 22:52:29
[2026-10-20 22:52:29,278.278 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:52:29,498.498 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:52:29,542.542 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:52:29,725.725 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:52:29,769.769 INFO    ] time= 20/10/2026 22:52:29
[2026-10-20 22:52:29,813.813 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:52:29,862.862 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:52:30,034.034 INFO    ] No existing commands found in stream
[2026-10-20 22:52:35,055.055 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:52:35,058.058 INFO    ] Waiting 3.96 seconds before fallback handling...
[2026-10-20 22:52:39,513.513 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:52:39,516.516 INFO    ] Checking for system updates...
[2026-10-20 22:52:39,551.551 INFO    ] 200
[2026-10-20 22:52:39,554.554 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:52:39,607.607 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:52:39,609.609 INFO    ] No update needed
[2026-10-20 22:52:39,612.612 INFO    ] Checking for camera pi updates...
[2026-10-20 22:52:39,646.646 INFO    ] 200
[2026-10-20 22:52:39,649.649 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:52:39,695.695 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:52:39,750.750 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:52:39,752.752 INFO    ] No camera update needed
[2026-10-20 22:52:39,755.755 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:52:39,757.757 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:52:39,763.763 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:52:39,768.768 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:52:41,810.810 INFO    ] ================================================
[2026-10-20 22:52:41,825.825 INFO    ] Launching Daemon at Tue Oct 20 22:52:41 IST 2026
[2026-10-20 22:52:41,836.836 INFO    ] ================================================
[2026-10-20 22:52:42,417.417 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:52:42
[2026-10-20 22:52:43,014.014 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:52:43,298.298 INFO    ] Initializing speech engine...
[2026-10-20 22:52:43,308.308 INFO    ] 2026-10-20 22:52:43
[2026-10-20 22:52:43,575.575 INFO    ] 2026-10-20 22:52:43
[2026-10-20 22:52:43,611.611 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:52:43,892.892 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:52:43,908.908 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:52:44,060.060 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:52:44,099.099 INFO    ] time= 20/10/2026 22:52:44
[2026-10-20 22:52:44,153.153 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:52:44,206.206 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:52:44,339.339 INFO    ] No existing commands found in stream
[2026-10-20 22:52:49,366.366 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:52:49,369.369 INFO    ] Waiting 3.45 seconds before fallback handling...
[2026-10-20 22:52:53,328.328 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:52:53,331.331 INFO    ] Checking for system updates...
[2026-10-20 22:52:53,367.367 INFO    ] 200
[2026-10-20 22:52:53,370.370 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:52:53,421.421 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:52:53,423.423 INFO    ] No update needed
[2026-10-20 22:52:53,426.426 INFO    ] Checking for camera pi updates...
[2026-10-20 22:52:53,459.459 INFO    ] 200
[2026-10-20 22:52:53,461.461 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:52:53,501.501 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:52:53,550.550 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:52:53,552.552 INFO    ] No camera update needed
[2026-10-20 22:52:53,555.555 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:52:53,557.557 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:52:53,562.562 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:52:53,567.567 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:52:55,609.609 INFO    ] ================================================
[2026-10-20 22:52:55,625.625 INFO    ] Launching Daemon at Tue Oct 20 22:52:55 IST 2026
[2026-10-20 22:52:55,637.637 INFO    ] ================================================
[2026-10-20 22:52:56,203.203 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:52:56
[2026-10-20 22:52:56,786.786 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:52:57,057.057 INFO    ] Initializing speech engine...
[2026-10-20 22:52:57,065.065 INFO    ] 2026-10-20 22:52:57
[2026-10-20 22:52:57,316.316 INFO    ] 2026-10-20 22:52:57
[2026-10-20 22:52:57,350.350 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:52:57,553.553 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:52:57,611.611 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:52:57,822.822 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:52:57,877.877 INFO    ] time= 20/10/2026 22:52:57
[2026-10-20 22:52:57,888.888 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:52:57,903.903 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:52:58,029.029 INFO    ] No existing commands found in stream
[2026-10-20 22:53:03,051.051 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:53:03,054.054 INFO    ] Waiting 1.47 seconds before fallback handling...
[2026-10-20 22:53:05,039.039 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:53:05,042.042 INFO    ] Checking for system updates...
[2026-10-20 22:53:05,080.080 INFO    ] 200
[2026-10-20 22:53:05,082.082 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:53:05,139.139 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:53:05,142.142 INFO    ] No update needed
[2026-10-20 22:53:05,144.144 INFO    ] Checking for camera pi updates...
[2026-10-20 22:53:05,184.184 INFO    ] 200
[2026-10-20 22:53:05,187.187 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:53:05,235.235 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:53:05,281.281 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:53:05,284.284 INFO    ] No camera update needed
[2026-10-20 22:53:05,287.287 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:53:05,289.289 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:53:05,296.296 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:53:05,301.301 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:53:07,344.344 INFO    ] ================================================
[2026-10-20 22:53:07,367.367 INFO    ] Launching Daemon at Tue Oct 20 22:53:07 IST 2026
[2026-10-20 22:53:07,379.379 INFO    ] ================================================
[2026-10-20 22:53:08,054.054 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:53:08
[2026-10-20 22:53:08,750.750 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:53:09,058.058 INFO    ] Initializing speech engine...
[2026-10-20 22:53:09,069.069 INFO    ] 2026-10-20 22:53:09
[2026-10-20 22:53:09,354.354 INFO    ] 2026-10-20 22:53:09
[2026-10-20 22:53:09,400.400 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:53:09,653.653 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:53:09,660.660 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:53:09,866.866 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:53:09,918.918 INFO    ] time= 20/10/2026 22:53:09
[2026-10-20 22:53:09,925.925 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:53:09,943.943 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:53:10,075.075 INFO    ] No existing commands found in stream
[2026-10-20 22:53:15,100.100 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:53:15,104.104 INFO    ] Waiting 3.07 seconds before fallback handling...
[2026-10-20 22:53:18,745.745 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:53:18,749.749 INFO    ] Checking for system updates...
[2026-10-20 22:53:18,785.785 INFO    ] 200
[2026-10-20 22:53:18,788.788 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:53:18,842.842 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:53:18,845.845 INFO    ] No update needed
[2026-10-20 22:53:18,847.847 INFO    ] Checking for camera pi updates...
[2026-10-20 22:53:18,881.881 INFO    ] 200
[2026-10-20 22:53:18,884.884 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:53:18,924.924 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:53:18,979.979 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:53:18,981.981 INFO    ] No camera update needed
[2026-10-20 22:53:18,983.983 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:53:18,986.986 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:53:18,991.991 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:53:18,996.996 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:53:21,035.035 INFO    ] ================================================
[2026-10-20 22:53:21,051.051 INFO    ] Launching Daemon at Tue Oct 20 22:53:21 IST 2026
[2026-10-20 22:53:21,062.062 INFO    ] ================================================
[2026-10-20 22:53:21,645.645 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:53:21
[2026-10-20 22:53:22,246.246 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:53:22,522.522 INFO    ] Initializing speech engine...
[2026-10-20 22:53:22,529.529 INFO    ] 2026-10-20 22:53:22
[2026-10-20 22:53:22,779.779 INFO    ] 2026-10-20 22:53:22
[2026-10-20 22:53:22,814.814 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:53:23,073.073 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:53:23,077.077 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:53:23,275.275 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:53:23,339.339 INFO    ] time= 20/10/2026 22:53:23
[2026-10-20 22:53:23,346.346 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:53:23,364.364 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:53:23,497.497 INFO    ] No existing commands found in stream
[2026-10-20 22:53:28,516.516 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:53:28,519.519 INFO    ] Waiting 3.53 seconds before fallback handling...
[2026-10-20 22:53:32,523.523 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:53:32,525.525 INFO    ] Checking for system updates...
[2026-10-20 22:53:32,564.564 INFO    ] 200
[2026-10-20 22:53:32,566.566 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:53:32,625.625 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:53:32,629.629 INFO    ] No update needed
[2026-10-20 22:53:32,632.632 INFO    ] Checking for camera pi updates...
[2026-10-20 22:53:32,674.674 INFO    ] 200
[2026-10-20 22:53:32,677.677 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:53:32,725.725 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:53:32,762.762 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:53:32,764.764 INFO    ] No camera update needed
[2026-10-20 22:53:32,767.767 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:53:32,770.770 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:53:32,778.778 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:53:32,784.784 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:53:34,826.826 INFO    ] ================================================
[2026-10-20 22:53:34,841.841 INFO    ] Launching Daemon at Tue Oct 20 22:53:34 IST 2026
[2026-10-20 22:53:34,852.852 INFO    ] ================================================
[2026-10-20 22:53:35,431.431 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:53:35
[2026-10-20 22:53:36,073.073 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:53:36,334.334 INFO    ] Initializing speech engine...
[2026-10-20 22:53:36,353.353 INFO    ] 2026-10-20 22:53:36
[2026-10-20 22:53:36,607.607 INFO    ] 2026-10-20 22:53:36
[2026-10-20 22:53:36,643.643 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:53:36,850.850 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:53:36,904.904 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:53:37,049.049 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:53:37,103.103 INFO    ] time= 20/10/2026 22:53:37
[2026-10-20 22:53:37,152.152 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:53:37,184.184 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:53:37,314.314 INFO    ] No existing commands found in stream
[2026-10-20 22:53:42,339.339 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:53:42,342.342 INFO    ] Waiting 2.13 seconds before fallback handling...
[2026-10-20 22:53:44,956.956 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:53:44,959.959 INFO    ] Checking for system updates...
[2026-10-20 22:53:44,995.995 INFO    ] 200
[2026-10-20 22:53:44,997.997 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:53:45,058.058 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:53:45,061.061 INFO    ] No update needed
[2026-10-20 22:53:45,063.063 INFO    ] Checking for camera pi updates...
[2026-10-20 22:53:45,096.096 INFO    ] 200
[2026-10-20 22:53:45,099.099 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:53:45,139.139 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:53:45,288.288 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:53:45,290.290 INFO    ] No camera update needed
[2026-10-20 22:53:45,293.293 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:53:45,295.295 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:53:45,300.300 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:53:45,305.305 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:53:47,348.348 INFO    ] ================================================
[2026-10-20 22:53:47,363.363 INFO    ] Launching Daemon at Tue Oct 20 22:53:47 IST 2026
[2026-10-20 22:53:47,374.374 INFO    ] ================================================
[2026-10-20 22:53:47,957.957 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:53:47
[2026-10-20 22:53:48,557.557 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:53:48,835.835 INFO    ] Initializing speech engine...
[2026-10-20 22:53:48,841.841 INFO    ] 2026-10-20 22:53:48
[2026-10-20 22:53:49,102.102 INFO    ] 2026-10-20 22:53:49
[2026-10-20 22:53:49,136.136 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:53:49,409.409 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:53:49,416.416 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:53:49,558.558 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:53:49,607.607 INFO    ] time= 20/10/2026 22:53:49
[2026-10-20 22:53:49,657.657 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:53:49,684.684 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:53:49,840.840 INFO    ] No existing commands found in stream
[2026-10-20 22:53:54,864.864 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:53:54,867.867 INFO    ] Waiting 2.91 seconds before fallback handling...
[2026-10-20 22:53:58,579.579 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 22:53:58,581.581 INFO    ] Checking for system updates...
[2026-10-20 22:53:58,617.617 INFO    ] 200
[2026-10-20 22:53:58,620.620 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:53:58,672.672 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:53:58,674.674 INFO    ] No update needed
[2026-10-20 22:53:58,677.677 INFO    ] Checking for camera pi updates...
[2026-10-20 22:53:58,716.716 INFO    ] 200
[2026-10-20 22:53:58,718.718 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:53:58,759.759 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:53:58,819.819 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:53:58,822.822 INFO    ] No camera update needed
[2026-10-20 22:53:58,824.824 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:53:58,826.826 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:53:58,832.832 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:53:58,837.837 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:54:00,879.879 INFO    ] ================================================
[2026-10-20 22:54:00,894.894 INFO    ] Launching Daemon at Tue Oct 20 22:54:00 IST 2026
[2026-10-20 22:54:00,904.904 INFO    ] ================================================
[2026-10-20 22:54:01,639.639 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:54:01
[2026-10-20 22:54:02,333.333 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:54:02,623.623 INFO    ] Initializing speech engine...
[2026-10-20 22:54:02,633.633 INFO    ] 2026-10-20 22:54:02
[2026-10-20 22:54:02,978.978 INFO    ] 2026-10-20 22:54:02
[2026-10-20 22:54:03,020.020 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:54:03,223.223 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:54:03,237.237 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:54:03,466.466 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:54:03,488.488 INFO    ] time= 20/10/2026 22:54:03
[2026-10-20 22:54:03,552.552 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:54:03,589.589 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:54:03,681.681 INFO    ] No existing commands found in stream
[2026-10-20 22:54:08,694.694 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:54:08,697.697 INFO    ] Waiting 2.04 seconds before fallback handling...
[2026-10-20 22:54:11,289.289 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:54:11,292.292 INFO    ] Checking for system updates...
[2026-10-20 22:54:11,329.329 INFO    ] 200
[2026-10-20 22:54:11,332.332 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:54:11,385.385 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:54:11,388.388 INFO    ] No update needed
[2026-10-20 22:54:11,391.391 INFO    ] Checking for camera pi updates...
[2026-10-20 22:54:11,425.425 INFO    ] 200
[2026-10-20 22:54:11,428.428 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:54:11,468.468 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:54:11,514.514 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:54:11,517.517 INFO    ] No camera update needed
[2026-10-20 22:54:11,519.519 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:54:11,522.522 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:54:11,527.527 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:54:11,532.532 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:54:13,573.573 INFO    ] ================================================
[2026-10-20 22:54:13,588.588 INFO    ] Launching Daemon at Tue Oct 20 22:54:13 IST 2026
[2026-10-20 22:54:13,599.599 INFO    ] ================================================
[2026-10-20 22:54:14,177.177 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:54:14
[2026-10-20 22:54:14,779.779 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:54:15,038.038 INFO    ] Initializing speech engine...
[2026-10-20 22:54:15,047.047 INFO    ] 2026-10-20 22:54:15
[2026-10-20 22:54:15,343.343 INFO    ] 2026-10-20 22:54:15
[2026-10-20 22:54:15,381.381 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:54:15,609.609 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:54:15,637.637 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:54:15,834.834 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:54:15,841.841 INFO    ] time= 20/10/2026 22:54:15
[2026-10-20 22:54:15,900.900 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:54:15,955.955 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:54:16,058.058 INFO    ] No existing commands found in stream
[2026-10-20 22:54:21,090.090 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:54:21,093.093 INFO    ] Waiting 2.59 seconds before fallback handling...
[2026-10-20 22:54:24,235.235 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:54:24,238.238 INFO    ] Checking for system updates...
[2026-10-20 22:54:24,278.278 INFO    ] 200
[2026-10-20 22:54:24,280.280 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:54:24,338.338 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:54:24,340.340 INFO    ] No update needed
[2026-10-20 22:54:24,343.343 INFO    ] Checking for camera pi updates...
[2026-10-20 22:54:24,380.380 INFO    ] 200
[2026-10-20 22:54:24,382.382 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:54:24,427.427 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:54:24,474.474 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:54:24,476.476 INFO    ] No camera update needed
[2026-10-20 22:54:24,478.478 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:54:24,481.481 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:54:24,486.486 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:54:24,491.491 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:54:26,531.531 INFO    ] ================================================
[2026-10-20 22:54:26,545.545 INFO    ] Launching Daemon at Tue Oct 20 22:54:26 IST 2026
[2026-10-20 22:54:26,556.556 INFO    ] ================================================
[2026-10-20 22:54:27,208.208 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:54:27
[2026-10-20 22:54:27,878.878 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:54:28,187.187 INFO    ] Initializing speech engine...
[2026-10-20 22:54:28,199.199 INFO    ] 2026-10-20 22:54:28
[2026-10-20 22:54:28,489.489 INFO    ] 2026-10-20 22:54:28
[2026-10-20 22:54:28,602.602 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:54:28,816.816 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:54:28,824.824 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:54:29,014.014 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:54:29,032.032 INFO    ] time= 20/10/2026 22:54:29
[2026-10-20 22:54:29,052.052 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:54:29,081.081 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:54:29,216.216 INFO    ] No existing commands found in stream
[2026-10-20 22:54:34,252.252 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:54:34,255.255 INFO    ] Waiting 1.14 seconds before fallback handling...
[2026-10-20 22:54:35,938.938 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:54:35,941.941 INFO    ] Checking for system updates...
[2026-10-20 22:54:35,978.978 INFO    ] 200
[2026-10-20 22:54:35,981.981 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:54:36,041.041 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:54:36,044.044 INFO    ] No update needed
[2026-10-20 22:54:36,047.047 INFO    ] Checking for camera pi updates...
[2026-10-20 22:54:36,083.083 INFO    ] 200
[2026-10-20 22:54:36,086.086 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:54:36,127.127 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:54:36,174.174 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:54:36,177.177 INFO    ] No camera update needed
[2026-10-20 22:54:36,180.180 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:54:36,183.183 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:54:36,189.189 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:54:36,195.195 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:54:38,237.237 INFO    ] ================================================
[2026-10-20 22:54:38,252.252 INFO    ] Launching Daemon at Tue Oct 20 22:54:38 IST 2026
[2026-10-20 22:54:38,262.262 INFO    ] ================================================
[2026-10-20 22:54:38,830.830 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:54:38
[2026-10-20 22:54:39,415.415 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:54:39,673.673 INFO    ] Initializing speech engine...
[2026-10-20 22:54:39,680.680 INFO    ] 2026-10-20 22:54:39
[2026-10-20 22:54:39,978.978 INFO    ] 2026-10-20 22:54:39
[2026-10-20 22:54:40,016.016 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:54:40,239.239 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:54:40,248.248 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:54:40,471.471 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:54:40,479.479 INFO    ] time= 20/10/2026 22:54:40
[2026-10-20 22:54:40,554.554 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:54:40,603.603 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:54:40,753.753 INFO    ] No existing commands found in stream
[2026-10-20 22:54:45,776.776 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:54:45,780.780 INFO    ] Waiting 3.21 seconds before fallback handling...
[2026-10-20 22:54:49,509.509 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:54:49,512.512 INFO    ] Checking for system updates...
[2026-10-20 22:54:49,546.546 INFO    ] 200
[2026-10-20 22:54:49,549.549 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:54:49,601.601 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:54:49,604.604 INFO    ] No update needed
[2026-10-20 22:54:49,606.606 INFO    ] Checking for camera pi updates...
[2026-10-20 22:54:49,639.639 INFO    ] 200
[2026-10-20 22:54:49,642.642 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:54:49,681.681 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:54:49,738.738 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:54:49,740.740 INFO    ] No camera update needed
[2026-10-20 22:54:49,743.743 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:54:49,745.745 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:54:49,751.751 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:54:49,756.756 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:54:51,795.795 INFO    ] ================================================
[2026-10-20 22:54:51,810.810 INFO    ] Launching Daemon at Tue Oct 20 22:54:51 IST 2026
[2026-10-20 22:54:51,821.821 INFO    ] ================================================
[2026-10-20 22:54:52,467.467 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:54:52
[2026-10-20 22:54:53,135.135 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:54:53,434.434 INFO    ] Initializing speech engine...
[2026-10-20 22:54:53,443.443 INFO    ] 2026-10-20 22:54:53
[2026-10-20 22:54:53,715.715 INFO    ] 2026-10-20 22:54:53
[2026-10-20 22:54:53,770.770 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:54:54,013.013 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:54:54,037.037 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:54:54,258.258 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:54:54,302.302 INFO    ] time= 20/10/2026 22:54:54
[2026-10-20 22:54:54,322.322 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:54:54,333.333 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:54:54,488.488 INFO    ] No existing commands found in stream
[2026-10-20 22:54:59,526.526 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:54:59,530.530 INFO    ] Waiting 3.94 seconds before fallback handling...
[2026-10-20 22:55:03,967.967 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 22:55:03,970.970 INFO    ] Checking for system updates...
[2026-10-20 22:55:04,007.007 INFO    ] 200
[2026-10-20 22:55:04,010.010 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:55:04,064.064 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:55:04,067.067 INFO    ] No update needed
[2026-10-20 22:55:04,070.070 INFO    ] Checking for camera pi updates...
[2026-10-20 22:55:04,105.105 INFO    ] 200
[2026-10-20 22:55:04,107.107 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:55:04,148.148 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:55:04,183.183 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:55:04,186.186 INFO    ] No camera update needed
[2026-10-20 22:55:04,189.189 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:55:04,192.192 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:55:04,198.198 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:55:04,204.204 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:55:06,246.246 INFO    ] ================================================
[2026-10-20 22:55:06,261.261 INFO    ] Launching Daemon at Tue Oct 20 22:55:06 IST 2026
[2026-10-20 22:55:06,272.272 INFO    ] ================================================
[2026-10-20 22:55:06,943.943 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:55:06
[2026-10-20 22:55:07,623.623 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:55:07,935.935 INFO    ] Initializing speech engine...
[2026-10-20 22:55:07,943.943 INFO    ] 2026-10-20 22:55:07
[2026-10-20 22:55:08,235.235 INFO    ] 2026-10-20 22:55:08
[2026-10-20 22:55:08,281.281 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:55:08,499.499 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:55:08,508.508 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:55:08,710.710 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:55:08,760.760 INFO    ] time= 20/10/2026 22:55:08
[2026-10-20 22:55:08,772.772 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:55:08,790.790 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:55:08,917.917 INFO    ] No existing commands found in stream
[2026-10-20 22:55:13,931.931 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:55:13,934.934 INFO    ] Waiting 0.65 seconds before fallback handling...
[2026-10-20 22:55:15,097.097 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:55:15,100.100 INFO    ] Checking for system updates...
[2026-10-20 22:55:15,135.135 INFO    ] 200
[2026-10-20 22:55:15,137.137 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:55:15,190.190 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:55:15,193.193 INFO    ] No update needed
[2026-10-20 22:55:15,195.195 INFO    ] Checking for camera pi updates...
[2026-10-20 22:55:15,228.228 INFO    ] 200
[2026-10-20 22:55:15,230.230 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:55:15,276.276 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:55:15,331.331 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:55:15,333.333 INFO    ] No camera update needed
[2026-10-20 22:55:15,335.335 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:55:15,338.338 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:55:15,343.343 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:55:15,348.348 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:55:17,387.387 INFO    ] ================================================
[2026-10-20 22:55:17,403.403 INFO    ] Launching Daemon at Tue Oct 20 22:55:17 IST 2026
[2026-10-20 22:55:17,413.413 INFO    ] ================================================
[2026-10-20 22:55:18,074.074 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:55:18
[2026-10-20 22:55:18,755.755 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:55:19,067.067 INFO    ] Initializing speech engine...
[2026-10-20 22:55:19,082.082 INFO    ] 2026-10-20 22:55:19
[2026-10-20 22:55:19,375.375 INFO    ] 2026-10-20 22:55:19
[2026-10-20 22:55:19,415.415 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:55:19,707.707 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:55:19,712.712 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:55:19,860.860 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:55:19,916.916 INFO    ] time= 20/10/2026 22:55:19
[2026-10-20 22:55:19,923.923 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:55:19,945.945 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:55:20,057.057 INFO    ] No existing commands found in stream
[2026-10-20 22:55:25,068.068 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:55:25,071.071 INFO    ] Waiting 0.61 seconds before fallback handling...
[2026-10-20 22:55:26,169.169 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:55:26,172.172 INFO    ] Checking for system updates...
[2026-10-20 22:55:26,207.207 INFO    ] 200
[2026-10-20 22:55:26,210.210 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:55:26,269.269 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:55:26,271.271 INFO    ] No update needed
[2026-10-20 22:55:26,273.273 INFO    ] Checking for camera pi updates...
[2026-10-20 22:55:26,306.306 INFO    ] 200
[2026-10-20 22:55:26,309.309 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:55:26,355.355 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:55:26,405.405 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:55:26,408.408 INFO    ] No camera update needed
[2026-10-20 22:55:26,410.410 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:55:26,413.413 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:55:26,418.418 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:55:26,423.423 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:55:28,462.462 INFO    ] ================================================
[2026-10-20 22:55:28,478.478 INFO    ] Launching Daemon at Tue Oct 20 22:55:28 IST 2026
[2026-10-20 22:55:28,493.493 INFO    ] ================================================
[2026-10-20 22:55:29,153.153 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:55:29
[2026-10-20 22:55:29,835.835 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:55:30,141.141 INFO    ] Initializing speech engine...
[2026-10-20 22:55:30,150.150 INFO    ] 2026-10-20 22:55:30
[2026-10-20 22:55:30,436.436 INFO    ] 2026-10-20 22:55:30
[2026-10-20 22:55:30,481.481 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:55:30,767.767 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:55:30,775.775 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:55:30,969.969 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:55:30,988.988 INFO    ] time= 20/10/2026 22:55:30
[2026-10-20 22:55:31,003.003 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:55:31,027.027 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:55:31,155.155 INFO    ] No existing commands found in stream
[2026-10-20 22:55:36,186.186 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:55:36,189.189 INFO    ] Waiting 0.83 seconds before fallback handling...
[2026-10-20 22:55:37,562.562 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:55:37,565.565 INFO    ] Checking for system updates...
[2026-10-20 22:55:37,602.602 INFO    ] 200
[2026-10-20 22:55:37,604.604 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:55:37,657.657 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:55:37,660.660 INFO    ] No update needed
[2026-10-20 22:55:37,663.663 INFO    ] Checking for camera pi updates...
[2026-10-20 22:55:37,697.697 INFO    ] 200
[2026-10-20 22:55:37,701.701 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:55:37,742.742 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:55:37,803.803 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:55:37,806.806 INFO    ] No camera update needed
[2026-10-20 22:55:37,809.809 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:55:37,812.812 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:55:37,818.818 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:55:37,824.824 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:55:39,865.865 INFO    ] ================================================
[2026-10-20 22:55:39,880.880 INFO    ] Launching Daemon at Tue Oct 20 22:55:39 IST 2026
[2026-10-20 22:55:39,891.891 INFO    ] ================================================
[2026-10-20 22:55:40,465.465 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:55:40
[2026-10-20 22:55:41,054.054 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:55:41,327.327 INFO    ] Initializing speech engine...
[2026-10-20 22:55:41,336.336 INFO    ] 2026-10-20 22:55:41
[2026-10-20 22:55:41,587.587 INFO    ] 2026-10-20 22:55:41
[2026-10-20 22:55:41,622.622 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:55:41,880.880 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:55:41,890.890 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:55:42,027.027 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:55:42,067.067 INFO    ] time= 20/10/2026 22:55:42
[2026-10-20 22:55:42,111.111 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:55:42,160.160 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:55:42,314.314 INFO    ] No existing commands found in stream
[2026-10-20 22:55:47,337.337 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:55:47,340.340 INFO    ] Waiting 1.05 seconds before fallback handling...
[2026-10-20 22:55:48,954.954 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:55:48,957.957 INFO    ] Checking for system updates...
[2026-10-20 22:55:48,992.992 INFO    ] 200
[2026-10-20 22:55:48,995.995 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:55:49,046.046 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:55:49,049.049 INFO    ] No update needed
[2026-10-20 22:55:49,051.051 INFO    ] Checking for camera pi updates...
[2026-10-20 22:55:49,088.088 INFO    ] 200
[2026-10-20 22:55:49,091.091 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:55:49,131.131 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:55:49,275.275 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:55:49,278.278 INFO    ] No camera update needed
[2026-10-20 22:55:49,280.280 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:55:49,283.283 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:55:49,288.288 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:55:49,293.293 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:55:51,337.337 INFO    ] ================================================
[2026-10-20 22:55:51,355.355 INFO    ] Launching Daemon at Tue Oct 20 22:55:51 IST 2026
[2026-10-20 22:55:51,366.366 INFO    ] ================================================
[2026-10-20 22:55:51,948.948 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:55:51
[2026-10-20 22:55:52,548.548 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:55:52,822.822 INFO    ] Initializing speech engine...
[2026-10-20 22:55:52,832.832 INFO    ] 2026-10-20 22:55:52
[2026-10-20 22:55:53,094.094 INFO    ] 2026-10-20 22:55:53
[2026-10-20 22:55:53,147.147 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:55:53,431.431 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:55:53,439.439 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:55:53,617.617 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:55:53,639.639 INFO    ] time= 20/10/2026 22:55:53
[2026-10-20 22:55:53,644.644 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:55:53,662.662 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:55:53,794.794 INFO    ] No existing commands found in stream
[2026-10-20 22:55:58,813.813 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:55:58,816.816 INFO    ] Waiting 2.12 seconds before fallback handling...
[2026-10-20 22:56:01,451.451 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:56:01,454.454 INFO    ] Checking for system updates...
[2026-10-20 22:56:01,490.490 INFO    ] 200
[2026-10-20 22:56:01,492.492 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:56:01,552.552 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:56:01,554.554 INFO    ] No update needed
[2026-10-20 22:56:01,557.557 INFO    ] Checking for camera pi updates...
[2026-10-20 22:56:01,592.592 INFO    ] 200
[2026-10-20 22:56:01,594.594 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:56:01,641.641 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:56:01,685.685 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:56:01,688.688 INFO    ] No camera update needed
[2026-10-20 22:56:01,691.691 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:56:01,693.693 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:56:01,700.700 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:56:01,706.706 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:56:03,747.747 INFO    ] ================================================
[2026-10-20 22:56:03,762.762 INFO    ] Launching Daemon at Tue Oct 20 22:56:03 IST 2026
[2026-10-20 22:56:03,773.773 INFO    ] ================================================
[2026-10-20 22:56:04,355.355 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:56:04
[2026-10-20 22:56:04,956.956 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:56:05,258.258 INFO    ] Initializing speech engine...
[2026-10-20 22:56:05,269.269 INFO    ] 2026-10-20 22:56:05
[2026-10-20 22:56:05,554.554 INFO    ] 2026-10-20 22:56:05
[2026-10-20 22:56:05,593.593 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:56:05,821.821 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:56:05,827.827 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:56:06,033.033 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:56:06,086.086 INFO    ] time= 20/10/2026 22:56:06
[2026-10-20 22:56:06,094.094 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:56:06,112.112 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:56:06,240.240 INFO    ] No existing commands found in stream
[2026-10-20 22:56:11,256.256 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:56:11,259.259 INFO    ] Waiting 1.95 seconds before fallback handling...
[2026-10-20 22:56:13,753.753 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:56:13,756.756 INFO    ] Checking for system updates...
[2026-10-20 22:56:13,793.793 INFO    ] 200
[2026-10-20 22:56:13,795.795 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:56:13,848.848 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:56:13,851.851 INFO    ] No update needed
[2026-10-20 22:56:13,854.854 INFO    ] Checking for camera pi updates...
[2026-10-20 22:56:13,888.888 INFO    ] 200
[2026-10-20 22:56:13,891.891 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:56:13,933.933 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:56:13,980.980 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:56:13,983.983 INFO    ] No camera update needed
[2026-10-20 22:56:13,986.986 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:56:13,988.988 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:56:13,994.994 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:56:14,000.000 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:56:16,040.040 INFO    ] ================================================
[2026-10-20 22:56:16,055.055 INFO    ] Launching Daemon at Tue Oct 20 22:56:16 IST 2026
[2026-10-20 22:56:16,066.066 INFO    ] ================================================
[2026-10-20 22:56:16,643.643 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:56:16
[2026-10-20 22:56:17,237.237 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:56:17,514.514 INFO    ] Initializing speech engine...
[2026-10-20 22:56:17,522.522 INFO    ] 2026-10-20 22:56:17
[2026-10-20 22:56:17,781.781 INFO    ] 2026-10-20 22:56:17
[2026-10-20 22:56:17,835.835 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:56:18,064.064 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:56:18,068.068 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:56:18,278.278 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:56:18,323.323 INFO    ] time= 20/10/2026 22:56:18
[2026-10-20 22:56:18,329.329 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:56:18,346.346 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:56:18,476.476 INFO    ] No existing commands found in stream
[2026-10-20 22:56:23,490.490 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:56:23,493.493 INFO    ] Waiting 3.43 seconds before fallback handling...
[2026-10-20 22:56:27,447.447 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:56:27,450.450 INFO    ] Checking for system updates...
[2026-10-20 22:56:27,489.489 INFO    ] 200
[2026-10-20 22:56:27,492.492 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:56:27,544.544 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:56:27,547.547 INFO    ] No update needed
[2026-10-20 22:56:27,550.550 INFO    ] Checking for camera pi updates...
[2026-10-20 22:56:27,583.583 INFO    ] 200
[2026-10-20 22:56:27,586.586 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:56:27,632.632 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:56:27,680.680 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:56:27,683.683 INFO    ] No camera update needed
[2026-10-20 22:56:27,685.685 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:56:27,687.687 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:56:27,693.693 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:56:27,698.698 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:56:29,739.739 INFO    ] ================================================
[2026-10-20 22:56:29,754.754 INFO    ] Launching Daemon at Tue Oct 20 22:56:29 IST 2026
[2026-10-20 22:56:29,765.765 INFO    ] ================================================
[2026-10-20 22:56:30,404.404 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:56:30
[2026-10-20 22:56:31,036.036 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:56:31,327.327 INFO    ] Initializing speech engine...
[2026-10-20 22:56:31,336.336 INFO    ] 2026-10-20 22:56:31
[2026-10-20 22:56:31,618.618 INFO    ] 2026-10-20 22:56:31
[2026-10-20 22:56:31,655.655 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:56:31,943.943 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:56:31,955.955 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:56:32,116.116 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:56:32,171.171 INFO    ] time= 20/10/2026 22:56:32
[2026-10-20 22:56:32,216.216 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:56:32,266.266 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:56:32,432.432 INFO    ] No existing commands found in stream
[2026-10-20 22:56:37,451.451 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:56:37,454.454 INFO    ] Waiting 1.96 seconds before fallback handling...
[2026-10-20 22:56:39,905.905 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:56:39,908.908 INFO    ] Checking for system updates...
[2026-10-20 22:56:39,944.944 INFO    ] 200
[2026-10-20 22:56:39,947.947 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:56:40,000.000 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:56:40,002.002 INFO    ] No update needed
[2026-10-20 22:56:40,005.005 INFO    ] Checking for camera pi updates...
[2026-10-20 22:56:40,039.039 INFO    ] 200
[2026-10-20 22:56:40,042.042 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:56:40,082.082 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:56:40,139.139 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:56:40,142.142 INFO    ] No camera update needed
[2026-10-20 22:56:40,144.144 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:56:40,147.147 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:56:40,153.153 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:56:40,159.159 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:56:42,199.199 INFO    ] ================================================
[2026-10-20 22:56:42,214.214 INFO    ] Launching Daemon at Tue Oct 20 22:56:42 IST 2026
[2026-10-20 22:56:42,225.225 INFO    ] ================================================
[2026-10-20 22:56:42,798.798 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:56:42
[2026-10-20 22:56:43,388.388 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:56:43,642.642 INFO    ] Initializing speech engine...
[2026-10-20 22:56:43,665.665 INFO    ] 2026-10-20 22:56:43
[2026-10-20 22:56:43,920.920 INFO    ] 2026-10-20 22:56:43
[2026-10-20 22:56:43,955.955 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:56:44,211.211 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:56:44,220.220 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:56:44,415.415 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:56:44,472.472 INFO    ] time= 20/10/2026 22:56:44
[2026-10-20 22:56:44,487.487 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:56:44,493.493 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:56:44,665.665 INFO    ] No existing commands found in stream
[2026-10-20 22:56:49,690.690 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:56:49,693.693 INFO    ] Waiting 3.79 seconds before fallback handling...
[2026-10-20 22:56:54,010.010 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:56:54,013.013 INFO    ] Checking for system updates...
[2026-10-20 22:56:54,050.050 INFO    ] 200
[2026-10-20 22:56:54,053.053 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:56:54,104.104 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:56:54,106.106 INFO    ] No update needed
[2026-10-20 22:56:54,109.109 INFO    ] Checking for camera pi updates...
[2026-10-20 22:56:54,146.146 INFO    ] 200
[2026-10-20 22:56:54,149.149 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:56:54,188.188 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:56:54,233.233 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:56:54,235.235 INFO    ] No camera update needed
[2026-10-20 22:56:54,237.237 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:56:54,240.240 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:56:54,245.245 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:56:54,250.250 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:56:56,291.291 INFO    ] ================================================
[2026-10-20 22:56:56,305.305 INFO    ] Launching Daemon at Tue Oct 20 22:56:56 IST 2026
[2026-10-20 22:56:56,316.316 INFO    ] ================================================
[2026-10-20 22:56:56,879.879 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:56:56
[2026-10-20 22:56:57,461.461 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:56:57,731.731 INFO    ] Initializing speech engine...
[2026-10-20 22:56:57,739.739 INFO    ] 2026-10-20 22:56:57
[2026-10-20 22:56:57,989.989 INFO    ] 2026-10-20 22:56:57
[2026-10-20 22:56:58,024.024 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:56:58,224.224 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:56:58,283.283 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:56:58,471.471 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:56:58,530.530 INFO    ] time= 20/10/2026 22:56:58
[2026-10-20 22:56:58,557.557 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:56:58,563.563 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:56:58,714.714 INFO    ] No existing commands found in stream
[2026-10-20 22:57:03,736.736 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:57:03,739.739 INFO    ] Waiting 2.89 seconds before fallback handling...
[2026-10-20 22:57:07,111.111 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 22:57:07,113.113 INFO    ] Checking for system updates...
[2026-10-20 22:57:07,152.152 INFO    ] 200
[2026-10-20 22:57:07,155.155 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:57:07,207.207 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:57:07,210.210 INFO    ] No update needed
[2026-10-20 22:57:07,212.212 INFO    ] Checking for camera pi updates...
[2026-10-20 22:57:07,245.245 INFO    ] 200
[2026-10-20 22:57:07,248.248 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:57:07,292.292 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:57:07,340.340 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:57:07,342.342 INFO    ] No camera update needed
[2026-10-20 22:57:07,345.345 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:57:07,347.347 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:57:07,353.353 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:57:07,357.357 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:57:09,399.399 INFO    ] ================================================
[2026-10-20 22:57:09,413.413 INFO    ] Launching Daemon at Tue Oct 20 22:57:09 IST 2026
[2026-10-20 22:57:09,424.424 INFO    ] ================================================
[2026-10-20 22:57:09,997.997 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:57:09
[2026-10-20 22:57:10,587.587 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:57:10,860.860 INFO    ] Initializing speech engine...
[2026-10-20 22:57:10,869.869 INFO    ] 2026-10-20 22:57:10
[2026-10-20 22:57:11,120.120 INFO    ] 2026-10-20 22:57:11
[2026-10-20 22:57:11,154.154 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:57:11,355.355 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:57:11,413.413 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:57:11,644.644 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:57:11,686.686 INFO    ] time= 20/10/2026 22:57:11
[2026-10-20 22:57:11,692.692 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:57:11,710.710 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:57:11,838.838 INFO    ] No existing commands found in stream
[2026-10-20 22:57:16,856.856 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:57:16,859.859 INFO    ] Waiting 2.81 seconds before fallback handling...
[2026-10-20 22:57:20,169.169 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:57:20,172.172 INFO    ] Checking for system updates...
[2026-10-20 22:57:20,207.207 INFO    ] 200
[2026-10-20 22:57:20,209.209 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:57:20,262.262 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:57:20,264.264 INFO    ] No update needed
[2026-10-20 22:57:20,267.267 INFO    ] Checking for camera pi updates...
[2026-10-20 22:57:20,303.303 INFO    ] 200
[2026-10-20 22:57:20,305.305 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:57:20,350.350 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:57:20,395.395 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:57:20,398.398 INFO    ] No camera update needed
[2026-10-20 22:57:20,400.400 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:57:20,403.403 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:57:20,408.408 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:57:20,413.413 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:57:22,453.453 INFO    ] ================================================
[2026-10-20 22:57:22,468.468 INFO    ] Launching Daemon at Tue Oct 20 22:57:22 IST 2026
[2026-10-20 22:57:22,479.479 INFO    ] ================================================
[2026-10-20 22:57:23,064.064 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:57:23
[2026-10-20 22:57:23,668.668 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:57:23,955.955 INFO    ] Initializing speech engine...
[2026-10-20 22:57:23,963.963 INFO    ] 2026-10-20 22:57:23
[2026-10-20 22:57:24,233.233 INFO    ] 2026-10-20 22:57:24
[2026-10-20 22:57:24,270.270 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:57:24,489.489 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:57:24,496.496 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:57:24,642.642 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:57:24,647.647 INFO    ] time= 20/10/2026 22:57:24
[2026-10-20 22:57:24,654.654 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:57:24,660.660 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:57:24,812.812 INFO    ] No existing commands found in stream
[2026-10-20 22:57:29,842.842 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:57:29,845.845 INFO    ] Waiting 1.59 seconds before fallback handling...
[2026-10-20 22:57:31,984.984 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 22:57:31,987.987 INFO    ] Checking for system updates...
[2026-10-20 22:57:32,029.029 INFO    ] 200
[2026-10-20 22:57:32,032.032 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:57:32,096.096 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:57:32,099.099 INFO    ] No update needed
[2026-10-20 22:57:32,102.102 INFO    ] Checking for camera pi updates...
[2026-10-20 22:57:32,139.139 INFO    ] 200
[2026-10-20 22:57:32,142.142 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:57:32,186.186 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:57:32,240.240 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:57:32,243.243 INFO    ] No camera update needed
[2026-10-20 22:57:32,247.247 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:57:32,250.250 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:57:32,257.257 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:57:32,263.263 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:57:34,304.304 INFO    ] ================================================
[2026-10-20 22:57:34,320.320 INFO    ] Launching Daemon at Tue Oct 20 22:57:34 IST 2026
[2026-10-20 22:57:34,330.330 INFO    ] ================================================
[2026-10-20 22:57:34,916.916 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:57:34
[2026-10-20 22:57:35,526.526 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:57:35,794.794 INFO    ] Initializing speech engine...
[2026-10-20 22:57:35,819.819 INFO    ] 2026-10-20 22:57:35
[2026-10-20 22:57:36,094.094 INFO    ] 2026-10-20 22:57:36
[2026-10-20 22:57:36,130.130 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:57:36,337.337 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:57:36,359.359 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:57:36,504.504 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:57:36,514.514 INFO    ] time= 20/10/2026 22:57:36
[2026-10-20 22:57:36,560.560 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:57:36,587.587 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:57:36,716.716 INFO    ] No existing commands found in stream
[2026-10-20 22:57:41,741.741 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:57:41,743.743 INFO    ] Waiting 2.35 seconds before fallback handling...
[2026-10-20 22:57:44,620.620 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:57:44,623.623 INFO    ] Checking for system updates...
[2026-10-20 22:57:44,659.659 INFO    ] 200
[2026-10-20 22:57:44,662.662 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:57:44,721.721 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:57:44,724.724 INFO    ] No update needed
[2026-10-20 22:57:44,727.727 INFO    ] Checking for camera pi updates...
[2026-10-20 22:57:44,764.764 INFO    ] 200
[2026-10-20 22:57:44,767.767 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:57:44,808.808 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:57:44,860.860 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:57:44,863.863 INFO    ] No camera update needed
[2026-10-20 22:57:44,866.866 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:57:44,869.869 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:57:44,875.875 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:57:44,880.880 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:57:46,921.921 INFO    ] ================================================
[2026-10-20 22:57:46,937.937 INFO    ] Launching Daemon at Tue Oct 20 22:57:46 IST 2026
[2026-10-20 22:57:46,947.947 INFO    ] ================================================
[2026-10-20 22:57:47,512.512 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:57:47
[2026-10-20 22:57:48,097.097 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:57:48,345.345 INFO    ] Initializing speech engine...
[2026-10-20 22:57:48,359.359 INFO    ] 2026-10-20 22:57:48
[2026-10-20 22:57:48,625.625 INFO    ] 2026-10-20 22:57:48
[2026-10-20 22:57:48,667.667 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:57:48,918.918 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:57:48,927.927 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:57:49,064.064 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:57:49,123.123 INFO    ] time= 20/10/2026 22:57:49
[2026-10-20 22:57:49,178.178 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:57:49,199.199 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:57:49,324.324 INFO    ] No existing commands found in stream
[2026-10-20 22:57:54,357.357 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:57:54,360.360 INFO    ] Waiting 0.99 seconds before fallback handling...
[2026-10-20 22:57:55,859.859 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:57:55,861.861 INFO    ] Checking for system updates...
[2026-10-20 22:57:55,896.896 INFO    ] 200
[2026-10-20 22:57:55,899.899 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:57:55,954.954 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:57:55,957.957 INFO    ] No update needed
[2026-10-20 22:57:55,959.959 INFO    ] Checking for camera pi updates...
[2026-10-20 22:57:55,993.993 INFO    ] 200
[2026-10-20 22:57:55,996.996 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:57:56,036.036 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:57:56,179.179 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:57:56,182.182 INFO    ] No camera update needed
[2026-10-20 22:57:56,184.184 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:57:56,186.186 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:57:56,192.192 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:57:56,196.196 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:57:58,240.240 INFO    ] ================================================
[2026-10-20 22:57:58,255.255 INFO    ] Launching Daemon at Tue Oct 20 22:57:58 IST 2026
[2026-10-20 22:57:58,265.265 INFO    ] ================================================
[2026-10-20 22:57:58,836.836 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:57:58
[2026-10-20 22:57:59,434.434 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:57:59,709.709 INFO    ] Initializing speech engine...
[2026-10-20 22:57:59,718.718 INFO    ] 2026-10-20 22:57:59
[2026-10-20 22:57:59,979.979 INFO    ] 2026-10-20 22:57:59
[2026-10-20 22:58:00,034.034 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:58:00,280.280 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:58:00,286.286 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:58:00,476.476 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:58:00,522.522 INFO    ] time= 20/10/2026 22:58:00
[2026-10-20 22:58:00,528.528 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:58:00,547.547 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:58:00,676.676 INFO    ] No existing commands found in stream
[2026-10-20 22:58:05,689.689 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:58:05,692.692 INFO    ] Waiting 1.44 seconds before fallback handling...
[2026-10-20 22:58:07,616.616 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 22:58:07,618.618 INFO    ] Checking for system updates...
[2026-10-20 22:58:07,654.654 INFO    ] 200
[2026-10-20 22:58:07,657.657 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:58:07,711.711 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:58:07,714.714 INFO    ] No update needed
[2026-10-20 22:58:07,716.716 INFO    ] Checking for camera pi updates...
[2026-10-20 22:58:07,749.749 INFO    ] 200
[2026-10-20 22:58:07,752.752 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:58:07,794.794 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:58:07,841.841 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:58:07,844.844 INFO    ] No camera update needed
[2026-10-20 22:58:07,846.846 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:58:07,848.848 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:58:07,854.854 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:58:07,859.859 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:58:09,899.899 INFO    ] ================================================
[2026-10-20 22:58:09,915.915 INFO    ] Launching Daemon at Tue Oct 20 22:58:09 IST 2026
[2026-10-20 22:58:09,925.925 INFO    ] ================================================
[2026-10-20 22:58:10,491.491 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:58:10
[2026-10-20 22:58:11,084.084 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:58:11,339.339 INFO    ] Initializing speech engine...
[2026-10-20 22:58:11,352.352 INFO    ] 2026-10-20 22:58:11
[2026-10-20 22:58:11,626.626 INFO    ] 2026-10-20 22:58:11
[2026-10-20 22:58:11,666.666 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:58:11,883.883 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:58:11,942.942 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:58:12,107.107 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:58:12,151.151 INFO    ] time= 20/10/2026 22:58:12
[2026-10-20 22:58:12,210.210 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:58:12,256.256 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:58:12,407.407 INFO    ] No existing commands found in stream
[2026-10-20 22:58:17,428.428 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:58:17,431.431 INFO    ] Waiting 2.86 seconds before fallback handling...
[2026-10-20 22:58:20,832.832 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 22:58:20,834.834 INFO    ] Checking for system updates...
[2026-10-20 22:58:20,869.869 INFO    ] 200
[2026-10-20 22:58:20,872.872 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:58:20,924.924 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:58:20,927.927 INFO    ] No update needed
[2026-10-20 22:58:20,929.929 INFO    ] Checking for camera pi updates...
[2026-10-20 22:58:20,967.967 INFO    ] 200
[2026-10-20 22:58:20,970.970 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:58:21,014.014 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:58:21,069.069 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:58:21,071.071 INFO    ] No camera update needed
[2026-10-20 22:58:21,074.074 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:58:21,076.076 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:58:21,082.082 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:58:21,086.086 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:58:23,126.126 INFO    ] ================================================
[2026-10-20 22:58:23,142.142 INFO    ] Launching Daemon at Tue Oct 20 22:58:23 IST 2026
[2026-10-20 22:58:23,152.152 INFO    ] ================================================
[2026-10-20 22:58:23,735.735 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:58:23
[2026-10-20 22:58:24,336.336 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:58:24,600.600 INFO    ] Initializing speech engine...
[2026-10-20 22:58:24,624.624 INFO    ] 2026-10-20 22:58:24
[2026-10-20 22:58:24,896.896 INFO    ] 2026-10-20 22:58:24
[2026-10-20 22:58:24,933.933 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:58:25,215.215 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:58:25,225.225 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:58:25,372.372 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:58:25,410.410 INFO    ] time= 20/10/2026 22:58:25
[2026-10-20 22:58:25,459.459 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:58:25,519.519 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:58:25,665.665 INFO    ] No existing commands found in stream
[2026-10-20 22:58:30,695.695 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:58:30,698.698 INFO    ] Waiting 1.96 seconds before fallback handling...
[2026-10-20 22:58:33,170.170 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 22:58:33,172.172 INFO    ] Checking for system updates...
[2026-10-20 22:58:33,212.212 INFO    ] 200
[2026-10-20 22:58:33,214.214 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:58:33,277.277 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:58:33,279.279 INFO    ] No update needed
[2026-10-20 22:58:33,283.283 INFO    ] Checking for camera pi updates...
[2026-10-20 22:58:33,322.322 INFO    ] 200
[2026-10-20 22:58:33,325.325 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:58:33,366.366 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:58:33,401.401 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:58:33,404.404 INFO    ] No camera update needed
[2026-10-20 22:58:33,407.407 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:58:33,409.409 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:58:33,415.415 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:58:33,421.421 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:58:35,460.460 INFO    ] ================================================
[2026-10-20 22:58:35,475.475 INFO    ] Launching Daemon at Tue Oct 20 22:58:35 IST 2026
[2026-10-20 22:58:35,486.486 INFO    ] ================================================
[2026-10-20 22:58:36,118.118 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:58:36
[2026-10-20 22:58:36,764.764 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:58:37,068.068 INFO    ] Initializing speech engine...
[2026-10-20 22:58:37,074.074 INFO    ] 2026-10-20 22:58:37
[2026-10-20 22:58:37,354.354 INFO    ] 2026-10-20 22:58:37
[2026-10-20 22:58:37,464.464 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:58:37,676.676 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:58:37,686.686 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:58:37,875.875 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:58:37,893.893 INFO    ] time= 20/10/2026 22:58:37
[2026-10-20 22:58:37,903.903 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:58:37,932.932 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:58:38,054.054 INFO    ] No existing commands found in stream
[2026-10-20 22:58:43,085.085 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:58:43,088.088 INFO    ] Waiting 1.31 seconds before fallback handling...
[2026-10-20 22:58:44,953.953 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:58:44,955.955 INFO    ] Checking for system updates...
[2026-10-20 22:58:44,992.992 INFO    ] 200
[2026-10-20 22:58:44,995.995 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:58:45,047.047 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:58:45,050.050 INFO    ] No update needed
[2026-10-20 22:58:45,052.052 INFO    ] Checking for camera pi updates...
[2026-10-20 22:58:45,086.086 INFO    ] 200
[2026-10-20 22:58:45,089.089 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:58:45,129.129 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:58:45,174.174 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:58:45,177.177 INFO    ] No camera update needed
[2026-10-20 22:58:45,180.180 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:58:45,182.182 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:58:45,188.188 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:58:45,194.194 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:58:47,233.233 INFO    ] ================================================
[2026-10-20 22:58:47,248.248 INFO    ] Launching Daemon at Tue Oct 20 22:58:47 IST 2026
[2026-10-20 22:58:47,258.258 INFO    ] ================================================
[2026-10-20 22:58:47,881.881 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:58:47
[2026-10-20 22:58:48,530.530 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:58:48,826.826 INFO    ] Initializing speech engine...
[2026-10-20 22:58:48,834.834 INFO    ] 2026-10-20 22:58:48
[2026-10-20 22:58:49,120.120 INFO    ] 2026-10-20 22:58:49
[2026-10-20 22:58:49,159.159 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:58:49,424.424 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:58:49,447.447 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:58:49,645.645 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:58:49,652.652 INFO    ] time= 20/10/2026 22:58:49
[2026-10-20 22:58:49,673.673 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:58:49,700.700 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:58:49,812.812 INFO    ] No existing commands found in stream
[2026-10-20 22:58:54,842.842 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:58:54,845.845 INFO    ] Waiting 3.45 seconds before fallback handling...
[2026-10-20 22:58:58,840.840 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 22:58:58,843.843 INFO    ] Checking for system updates...
[2026-10-20 22:58:58,879.879 INFO    ] 200
[2026-10-20 22:58:58,882.882 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:58:58,934.934 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:58:58,937.937 INFO    ] No update needed
[2026-10-20 22:58:58,939.939 INFO    ] Checking for camera pi updates...
[2026-10-20 22:58:58,975.975 INFO    ] 200
[2026-10-20 22:58:58,977.977 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:58:59,022.022 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:58:59,073.073 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:58:59,076.076 INFO    ] No camera update needed
[2026-10-20 22:58:59,078.078 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:58:59,081.081 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:58:59,087.087 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:58:59,092.092 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:59:01,133.133 INFO    ] ================================================
[2026-10-20 22:59:01,148.148 INFO    ] Launching Daemon at Tue Oct 20 22:59:01 IST 2026
[2026-10-20 22:59:01,158.158 INFO    ] ================================================
[2026-10-20 22:59:01,740.740 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:59:01
[2026-10-20 22:59:02,506.506 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:59:02,835.835 INFO    ] Initializing speech engine...
[2026-10-20 22:59:02,859.859 INFO    ] 2026-10-20 22:59:02
[2026-10-20 22:59:03,163.163 INFO    ] 2026-10-20 22:59:03
[2026-10-20 22:59:03,222.222 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:59:03,452.452 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:59:03,459.459 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:59:03,603.603 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:59:03,611.611 INFO    ] time= 20/10/2026 22:59:03
[2026-10-20 22:59:03,650.650 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:59:03,683.683 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:59:03,804.804 INFO    ] No existing commands found in stream
[2026-10-20 22:59:08,835.835 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:59:08,837.837 INFO    ] Waiting 1.42 seconds before fallback handling...
[2026-10-20 22:59:10,799.799 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:59:10,802.802 INFO    ] Checking for system updates...
[2026-10-20 22:59:10,853.853 INFO    ] 200
[2026-10-20 22:59:10,856.856 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:59:10,908.908 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:59:10,911.911 INFO    ] No update needed
[2026-10-20 22:59:10,914.914 INFO    ] Checking for camera pi updates...
[2026-10-20 22:59:10,948.948 INFO    ] 200
[2026-10-20 22:59:10,951.951 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:59:10,992.992 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:59:11,040.040 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:59:11,043.043 INFO    ] No camera update needed
[2026-10-20 22:59:11,046.046 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:59:11,048.048 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:59:11,055.055 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:59:11,060.060 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:59:13,102.102 INFO    ] ================================================
[2026-10-20 22:59:13,117.117 INFO    ] Launching Daemon at Tue Oct 20 22:59:13 IST 2026
[2026-10-20 22:59:13,127.127 INFO    ] ================================================
[2026-10-20 22:59:13,703.703 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:59:13
[2026-10-20 22:59:14,292.292 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:59:14,564.564 INFO    ] Initializing speech engine...
[2026-10-20 22:59:14,573.573 INFO    ] 2026-10-20 22:59:14
[2026-10-20 22:59:14,824.824 INFO    ] 2026-10-20 22:59:14
[2026-10-20 22:59:14,859.859 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:59:15,115.115 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:59:15,120.120 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:59:15,259.259 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:59:15,319.319 INFO    ] time= 20/10/2026 22:59:15
[2026-10-20 22:59:15,373.373 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:59:15,387.387 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:59:15,534.534 INFO    ] No existing commands found in stream
[2026-10-20 22:59:20,561.561 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:59:20,564.564 INFO    ] Waiting 2.19 seconds before fallback handling...
[2026-10-20 22:59:23,272.272 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 22:59:23,274.274 INFO    ] Checking for system updates...
[2026-10-20 22:59:23,310.310 INFO    ] 200
[2026-10-20 22:59:23,312.312 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:59:23,372.372 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:59:23,375.375 INFO    ] No update needed
[2026-10-20 22:59:23,378.378 INFO    ] Checking for camera pi updates...
[2026-10-20 22:59:23,413.413 INFO    ] 200
[2026-10-20 22:59:23,416.416 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:59:23,457.457 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:59:23,503.503 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:59:23,506.506 INFO    ] No camera update needed
[2026-10-20 22:59:23,509.509 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:59:23,511.511 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:59:23,518.518 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:59:23,524.524 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:59:25,567.567 INFO    ] ================================================
[2026-10-20 22:59:25,582.582 INFO    ] Launching Daemon at Tue Oct 20 22:59:25 IST 2026
[2026-10-20 22:59:25,592.592 INFO    ] ================================================
[2026-10-20 22:59:26,159.159 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:59:26
[2026-10-20 22:59:26,745.745 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:59:27,019.019 INFO    ] Initializing speech engine...
[2026-10-20 22:59:27,025.025 INFO    ] 2026-10-20 22:59:27
[2026-10-20 22:59:27,284.284 INFO    ] 2026-10-20 22:59:27
[2026-10-20 22:59:27,337.337 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:59:27,564.564 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:59:27,570.570 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:59:27,804.804 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:59:27,828.828 INFO    ] time= 20/10/2026 22:59:27
[2026-10-20 22:59:27,843.843 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:59:27,853.853 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:59:27,977.977 INFO    ] No existing commands found in stream
[2026-10-20 22:59:32,991.991 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:59:32,994.994 INFO    ] Waiting 2.12 seconds before fallback handling...
[2026-10-20 22:59:35,617.617 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:59:35,620.620 INFO    ] Checking for system updates...
[2026-10-20 22:59:35,655.655 INFO    ] 200
[2026-10-20 22:59:35,658.658 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:59:35,717.717 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:59:35,719.719 INFO    ] No update needed
[2026-10-20 22:59:35,722.722 INFO    ] Checking for camera pi updates...
[2026-10-20 22:59:35,755.755 INFO    ] 200
[2026-10-20 22:59:35,757.757 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:59:35,802.802 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:59:35,852.852 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:59:35,858.858 INFO    ] No camera update needed
[2026-10-20 22:59:35,860.860 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:59:35,863.863 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:59:35,868.868 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:59:35,873.873 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:59:37,914.914 INFO    ] ================================================
[2026-10-20 22:59:37,929.929 INFO    ] Launching Daemon at Tue Oct 20 22:59:37 IST 2026
[2026-10-20 22:59:37,941.941 INFO    ] ================================================
[2026-10-20 22:59:38,562.562 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:59:38
[2026-10-20 22:59:39,243.243 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:59:39,552.552 INFO    ] Initializing speech engine...
[2026-10-20 22:59:39,562.562 INFO    ] 2026-10-20 22:59:39
[2026-10-20 22:59:39,836.836 INFO    ] 2026-10-20 22:59:39
[2026-10-20 22:59:39,896.896 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:59:40,134.134 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:59:40,158.158 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:59:40,399.399 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:59:40,409.409 INFO    ] time= 20/10/2026 22:59:40
[2026-10-20 22:59:40,427.427 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:59:40,456.456 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:59:40,573.573 INFO    ] No existing commands found in stream
[2026-10-20 22:59:45,609.609 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:59:45,612.612 INFO    ] Waiting 0.86 seconds before fallback handling...
[2026-10-20 22:59:47,020.020 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 22:59:47,023.023 INFO    ] Checking for system updates...
[2026-10-20 22:59:47,060.060 INFO    ] 200
[2026-10-20 22:59:47,063.063 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:59:47,125.125 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:59:47,128.128 INFO    ] No update needed
[2026-10-20 22:59:47,130.130 INFO    ] Checking for camera pi updates...
[2026-10-20 22:59:47,164.164 INFO    ] 200
[2026-10-20 22:59:47,167.167 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:59:47,207.207 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:59:47,255.255 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:59:47,258.258 INFO    ] No camera update needed
[2026-10-20 22:59:47,260.260 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:59:47,263.263 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:59:47,268.268 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:59:47,273.273 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 22:59:49,315.315 INFO    ] ================================================
[2026-10-20 22:59:49,330.330 INFO    ] Launching Daemon at Tue Oct 20 22:59:49 IST 2026
[2026-10-20 22:59:49,340.340 INFO    ] ================================================
[2026-10-20 22:59:49,927.927 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 22:59:49
[2026-10-20 22:59:50,532.532 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 22:59:50,782.782 INFO    ] Initializing speech engine...
[2026-10-20 22:59:50,788.788 INFO    ] 2026-10-20 22:59:50
[2026-10-20 22:59:51,058.058 INFO    ] 2026-10-20 22:59:51
[2026-10-20 22:59:51,093.093 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 22:59:51,289.289 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 22:59:51,347.347 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 22:59:51,556.556 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 22:59:51,610.610 INFO    ] time= 20/10/2026 22:59:51
[2026-10-20 22:59:51,617.617 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 22:59:51,635.635 INFO    ] Checking for existing commands in stream...
[2026-10-20 22:59:51,764.764 INFO    ] No existing commands found in stream
[2026-10-20 22:59:56,777.777 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 22:59:56,780.780 INFO    ] Waiting 1.65 seconds before fallback handling...
[2026-10-20 22:59:58,976.976 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 22:59:58,979.979 INFO    ] Checking for system updates...
[2026-10-20 22:59:59,015.015 INFO    ] 200
[2026-10-20 22:59:59,018.018 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:59:59,070.070 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 22:59:59,072.072 INFO    ] No update needed
[2026-10-20 22:59:59,075.075 INFO    ] Checking for camera pi updates...
[2026-10-20 22:59:59,109.109 INFO    ] 200
[2026-10-20 22:59:59,112.112 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 22:59:59,154.154 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 22:59:59,298.298 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 22:59:59,301.301 INFO    ] No camera update needed
[2026-10-20 22:59:59,303.303 INFO    ] Script finished. Safe exiting...
[2026-10-20 22:59:59,306.306 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 22:59:59,311.311 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 22:59:59,317.317 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:00:01,357.357 INFO    ] ================================================
[2026-10-20 23:00:01,372.372 INFO    ] Launching Daemon at Tue Oct 20 23:00:01 IST 2026
[2026-10-20 23:00:01,382.382 INFO    ] ================================================
[2026-10-20 23:00:02,027.027 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:00:02
[2026-10-20 23:00:04,035.035 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:00:05,332.332 INFO    ] Initializing speech engine...
[2026-10-20 23:00:05,336.336 INFO    ] 2026-10-20 23:00:05
[2026-10-20 23:00:06,246.246 INFO    ] 2026-10-20 23:00:06
[2026-10-20 23:00:06,359.359 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:00:06,543.543 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:00:06,546.546 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:00:06,715.715 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:00:06,719.719 INFO    ] time= 20/10/2026 23:00:06
[2026-10-20 23:00:06,746.746 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:00:06,751.751 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:00:06,828.828 INFO    ] No existing commands found in stream
[2026-10-20 23:00:11,853.853 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:00:11,856.856 INFO    ] Waiting 2.16 seconds before fallback handling...
[2026-10-20 23:00:14,562.562 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 23:00:14,565.565 INFO    ] Checking for system updates...
[2026-10-20 23:00:14,604.604 INFO    ] 200
[2026-10-20 23:00:14,606.606 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:00:14,658.658 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:00:14,661.661 INFO    ] No update needed
[2026-10-20 23:00:14,663.663 INFO    ] Checking for camera pi updates...
[2026-10-20 23:00:14,696.696 INFO    ] 200
[2026-10-20 23:00:14,699.699 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:00:14,740.740 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:00:14,785.785 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:00:14,787.787 INFO    ] No camera update needed
[2026-10-20 23:00:14,790.790 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:00:14,792.792 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:00:14,798.798 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:00:14,803.803 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:00:16,842.842 INFO    ] ================================================
[2026-10-20 23:00:16,858.858 INFO    ] Launching Daemon at Tue Oct 20 23:00:16 IST 2026
[2026-10-20 23:00:16,869.869 INFO    ] ================================================
[2026-10-20 23:00:17,511.511 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:00:17
[2026-10-20 23:00:18,171.171 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:00:18,465.465 INFO    ] Initializing speech engine...
[2026-10-20 23:00:18,476.476 INFO    ] 2026-10-20 23:00:18
[2026-10-20 23:00:18,747.747 INFO    ] 2026-10-20 23:00:18
[2026-10-20 23:00:18,802.802 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:00:19,052.052 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:00:19,059.059 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:00:19,267.267 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:00:19,296.296 INFO    ] time= 20/10/2026 23:00:19
[2026-10-20 23:00:19,315.315 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:00:19,346.346 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:00:19,464.464 INFO    ] No existing commands found in stream
[2026-10-20 23:00:24,495.495 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:00:24,498.498 INFO    ] Waiting 0.84 seconds before fallback handling...
[2026-10-20 23:00:25,869.869 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 23:00:25,872.872 INFO    ] Checking for system updates...
[2026-10-20 23:00:25,909.909 INFO    ] 200
[2026-10-20 23:00:25,912.912 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:00:25,965.965 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:00:25,967.967 INFO    ] No update needed
[2026-10-20 23:00:25,970.970 INFO    ] Checking for camera pi updates...
[2026-10-20 23:00:26,004.004 INFO    ] 200
[2026-10-20 23:00:26,007.007 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:00:26,048.048 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:00:26,099.099 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:00:26,102.102 INFO    ] No camera update needed
[2026-10-20 23:00:26,104.104 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:00:26,107.107 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:00:26,113.113 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:00:26,119.119 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:00:28,159.159 INFO    ] ================================================
[2026-10-20 23:00:28,175.175 INFO    ] Launching Daemon at Tue Oct 20 23:00:28 IST 2026
[2026-10-20 23:00:28,186.186 INFO    ] ================================================
[2026-10-20 23:00:28,833.833 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:00:28
[2026-10-20 23:00:29,499.499 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:00:29,798.798 INFO    ] Initializing speech engine...
[2026-10-20 23:00:29,808.808 INFO    ] 2026-10-20 23:00:29
[2026-10-20 23:00:30,080.080 INFO    ] 2026-10-20 23:00:30
[2026-10-20 23:00:30,135.135 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:00:30,360.360 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:00:30,369.369 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:00:30,601.601 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:00:30,629.629 INFO    ] time= 20/10/2026 23:00:30
[2026-10-20 23:00:30,648.648 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:00:30,673.673 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:00:30,790.790 INFO    ] No existing commands found in stream
[2026-10-20 23:00:35,826.826 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:00:35,830.830 INFO    ] Waiting 2.26 seconds before fallback handling...
[2026-10-20 23:00:38,636.636 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:00:38,639.639 INFO    ] Checking for system updates...
[2026-10-20 23:00:38,676.676 INFO    ] 200
[2026-10-20 23:00:38,679.679 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:00:38,732.732 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:00:38,734.734 INFO    ] No update needed
[2026-10-20 23:00:38,737.737 INFO    ] Checking for camera pi updates...
[2026-10-20 23:00:38,771.771 INFO    ] 200
[2026-10-20 23:00:38,774.774 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:00:38,816.816 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:00:38,862.862 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:00:38,865.865 INFO    ] No camera update needed
[2026-10-20 23:00:38,868.868 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:00:38,870.870 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:00:38,876.876 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:00:38,882.882 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:00:40,923.923 INFO    ] ================================================
[2026-10-20 23:00:40,939.939 INFO    ] Launching Daemon at Tue Oct 20 23:00:40 IST 2026
[2026-10-20 23:00:40,950.950 INFO    ] ================================================
[2026-10-20 23:00:41,514.514 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:00:41
[2026-10-20 23:00:42,096.096 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:00:42,346.346 INFO    ] Initializing speech engine...
[2026-10-20 23:00:42,352.352 INFO    ] 2026-10-20 23:00:42
[2026-10-20 23:00:42,649.649 INFO    ] 2026-10-20 23:00:42
[2026-10-20 23:00:42,684.684 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:00:42,894.894 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:00:42,911.911 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:00:43,061.061 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:00:43,066.066 INFO    ] time= 20/10/2026 23:00:43
[2026-10-20 23:00:43,073.073 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:00:43,121.121 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:00:43,246.246 INFO    ] No existing commands found in stream
[2026-10-20 23:00:48,271.271 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:00:48,274.274 INFO    ] Waiting 1.09 seconds before fallback handling...
[2026-10-20 23:00:49,865.865 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 23:00:49,867.867 INFO    ] Checking for system updates...
[2026-10-20 23:00:49,903.903 INFO    ] 200
[2026-10-20 23:00:49,906.906 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:00:49,965.965 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:00:49,967.967 INFO    ] No update needed
[2026-10-20 23:00:49,970.970 INFO    ] Checking for camera pi updates...
[2026-10-20 23:00:50,003.003 INFO    ] 200
[2026-10-20 23:00:50,005.005 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:00:50,046.046 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:00:50,094.094 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:00:50,096.096 INFO    ] No camera update needed
[2026-10-20 23:00:50,099.099 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:00:50,101.101 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:00:50,106.106 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:00:50,111.111 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:00:52,150.150 INFO    ] ================================================
[2026-10-20 23:00:52,166.166 INFO    ] Launching Daemon at Tue Oct 20 23:00:52 IST 2026
[2026-10-20 23:00:52,177.177 INFO    ] ================================================
[2026-10-20 23:00:52,744.744 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:00:52
[2026-10-20 23:00:53,329.329 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:00:53,584.584 INFO    ] Initializing speech engine...
[2026-10-20 23:00:53,591.591 INFO    ] 2026-10-20 23:00:53
[2026-10-20 23:00:53,882.882 INFO    ] 2026-10-20 23:00:53
[2026-10-20 23:00:53,916.916 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:00:54,115.115 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:00:54,121.121 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:00:54,292.292 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:00:54,300.300 INFO    ] time= 20/10/2026 23:00:54
[2026-10-20 23:00:54,305.305 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:00:54,312.312 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:00:54,451.451 INFO    ] No existing commands found in stream
[2026-10-20 23:00:59,476.476 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:00:59,479.479 INFO    ] Waiting 2.90 seconds before fallback handling...
[2026-10-20 23:01:02,931.931 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:01:02,935.935 INFO    ] Checking for system updates...
[2026-10-20 23:01:02,981.981 INFO    ] 200
[2026-10-20 23:01:02,983.983 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:01:03,034.034 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:01:03,037.037 INFO    ] No update needed
[2026-10-20 23:01:03,041.041 INFO    ] Checking for camera pi updates...
[2026-10-20 23:01:03,085.085 INFO    ] 200
[2026-10-20 23:01:03,088.088 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:01:03,140.140 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:01:03,170.170 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:01:03,173.173 INFO    ] No camera update needed
[2026-10-20 23:01:03,175.175 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:01:03,177.177 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:01:03,183.183 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:01:03,188.188 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:01:05,228.228 INFO    ] ================================================
[2026-10-20 23:01:05,245.245 INFO    ] Launching Daemon at Tue Oct 20 23:01:05 IST 2026
[2026-10-20 23:01:05,256.256 INFO    ] ================================================
[2026-10-20 23:01:05,822.822 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:01:05
[2026-10-20 23:01:06,405.405 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:01:06,675.675 INFO    ] Initializing speech engine...
[2026-10-20 23:01:06,685.685 INFO    ] 2026-10-20 23:01:06
[2026-10-20 23:01:06,929.929 INFO    ] 2026-10-20 23:01:06
[2026-10-20 23:01:06,971.971 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:01:07,215.215 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:01:07,224.224 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:01:07,361.361 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:01:07,408.408 INFO    ] time= 20/10/2026 23:01:07
[2026-10-20 23:01:07,468.468 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:01:07,494.494 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:01:07,636.636 INFO    ] No existing commands found in stream
[2026-10-20 23:01:12,652.652 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:01:12,655.655 INFO    ] Waiting 2.30 seconds before fallback handling...
[2026-10-20 23:01:15,440.440 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:01:15,443.443 INFO    ] Checking for system updates...
[2026-10-20 23:01:15,479.479 INFO    ] 200
[2026-10-20 23:01:15,481.481 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:01:15,535.535 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:01:15,537.537 INFO    ] No update needed
[2026-10-20 23:01:15,540.540 INFO    ] Checking for camera pi updates...
[2026-10-20 23:01:15,573.573 INFO    ] 200
[2026-10-20 23:01:15,575.575 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:01:15,620.620 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:01:15,669.669 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:01:15,671.671 INFO    ] No camera update needed
[2026-10-20 23:01:15,673.673 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:01:15,676.676 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:01:15,681.681 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:01:15,686.686 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:01:17,727.727 INFO    ] ================================================
[2026-10-20 23:01:17,743.743 INFO    ] Launching Daemon at Tue Oct 20 23:01:17 IST 2026
[2026-10-20 23:01:17,753.753 INFO    ] ================================================
[2026-10-20 23:01:18,329.329 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:01:18
[2026-10-20 23:01:18,932.932 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:01:19,189.189 INFO    ] Initializing speech engine...
[2026-10-20 23:01:19,212.212 INFO    ] 2026-10-20 23:01:19
[2026-10-20 23:01:19,481.481 INFO    ] 2026-10-20 23:01:19
[2026-10-20 23:01:19,524.524 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:01:19,781.781 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:01:19,803.803 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:01:19,994.994 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:01:20,044.044 INFO    ] time= 20/10/2026 23:01:20
[2026-10-20 23:01:20,051.051 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:01:20,073.073 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:01:20,225.225 INFO    ] No existing commands found in stream
[2026-10-20 23:01:25,256.256 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:01:25,259.259 INFO    ] Waiting 1.87 seconds before fallback handling...
[2026-10-20 23:01:27,657.657 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:01:27,660.660 INFO    ] Checking for system updates...
[2026-10-20 23:01:27,698.698 INFO    ] 200
[2026-10-20 23:01:27,701.701 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:01:27,763.763 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:01:27,766.766 INFO    ] No update needed
[2026-10-20 23:01:27,768.768 INFO    ] Checking for camera pi updates...
[2026-10-20 23:01:27,803.803 INFO    ] 200
[2026-10-20 23:01:27,806.806 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:01:27,848.848 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:01:27,899.899 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:01:27,902.902 INFO    ] No camera update needed
[2026-10-20 23:01:27,905.905 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:01:27,908.908 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:01:27,914.914 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:01:27,920.920 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:01:29,962.962 INFO    ] ================================================
[2026-10-20 23:01:29,977.977 INFO    ] Launching Daemon at Tue Oct 20 23:01:29 IST 2026
[2026-10-20 23:01:29,988.988 INFO    ] ================================================
[2026-10-20 23:01:30,571.571 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:01:30
[2026-10-20 23:01:31,172.172 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:01:31,463.463 INFO    ] Initializing speech engine...
[2026-10-20 23:01:31,480.480 INFO    ] 2026-10-20 23:01:31
[2026-10-20 23:01:31,762.762 INFO    ] 2026-10-20 23:01:31
[2026-10-20 23:01:31,819.819 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:01:32,060.060 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:01:32,070.070 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:01:32,212.212 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:01:32,288.288 INFO    ] time= 20/10/2026 23:01:32
[2026-10-20 23:01:32,343.343 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:01:32,350.350 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:01:32,483.483 INFO    ] No existing commands found in stream
[2026-10-20 23:01:37,514.514 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:01:37,517.517 INFO    ] Waiting 2.94 seconds before fallback handling...
[2026-10-20 23:01:40,979.979 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:01:40,982.982 INFO    ] Checking for system updates...
[2026-10-20 23:01:41,018.018 INFO    ] 200
[2026-10-20 23:01:41,021.021 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:01:41,074.074 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:01:41,076.076 INFO    ] No update needed
[2026-10-20 23:01:41,078.078 INFO    ] Checking for camera pi updates...
[2026-10-20 23:01:41,111.111 INFO    ] 200
[2026-10-20 23:01:41,114.114 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:01:41,153.153 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:01:41,204.204 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:01:41,206.206 INFO    ] No camera update needed
[2026-10-20 23:01:41,209.209 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:01:41,211.211 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:01:41,216.216 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:01:41,221.221 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:01:43,261.261 INFO    ] ================================================
[2026-10-20 23:01:43,275.275 INFO    ] Launching Daemon at Tue Oct 20 23:01:43 IST 2026
[2026-10-20 23:01:43,286.286 INFO    ] ================================================
[2026-10-20 23:01:43,940.940 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:01:43
[2026-10-20 23:01:44,615.615 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:01:44,922.922 INFO    ] Initializing speech engine...
[2026-10-20 23:01:44,930.930 INFO    ] 2026-10-20 23:01:44
[2026-10-20 23:01:45,206.206 INFO    ] 2026-10-20 23:01:45
[2026-10-20 23:01:45,264.264 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:01:45,501.501 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:01:45,507.507 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:01:45,718.718 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:01:45,773.773 INFO    ] time= 20/10/2026 23:01:45
[2026-10-20 23:01:45,780.780 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:01:45,802.802 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:01:45,957.957 INFO    ] No existing commands found in stream
[2026-10-20 23:01:50,988.988 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:01:50,992.992 INFO    ] Waiting 3.28 seconds before fallback handling...
[2026-10-20 23:01:54,764.764 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:01:54,766.766 INFO    ] Checking for system updates...
[2026-10-20 23:01:54,803.803 INFO    ] 200
[2026-10-20 23:01:54,805.805 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:01:54,858.858 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:01:54,861.861 INFO    ] No update needed
[2026-10-20 23:01:54,863.863 INFO    ] Checking for camera pi updates...
[2026-10-20 23:01:54,897.897 INFO    ] 200
[2026-10-20 23:01:54,899.899 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:01:54,939.939 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:01:54,984.984 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:01:54,987.987 INFO    ] No camera update needed
[2026-10-20 23:01:54,989.989 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:01:54,992.992 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:01:54,997.997 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:01:55,002.002 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:01:57,041.041 INFO    ] ================================================
[2026-10-20 23:01:57,056.056 INFO    ] Launching Daemon at Tue Oct 20 23:01:57 IST 2026
[2026-10-20 23:01:57,067.067 INFO    ] ================================================
[2026-10-20 23:01:57,649.649 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:01:57
[2026-10-20 23:01:58,251.251 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:01:58,531.531 INFO    ] Initializing speech engine...
[2026-10-20 23:01:58,538.538 INFO    ] 2026-10-20 23:01:58
[2026-10-20 23:01:58,801.801 INFO    ] 2026-10-20 23:01:58
[2026-10-20 23:01:58,830.830 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:01:59,075.075 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:01:59,084.084 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:01:59,218.218 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:01:59,273.273 INFO    ] time= 20/10/2026 23:01:59
[2026-10-20 23:01:59,332.332 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:01:59,352.352 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:01:59,499.499 INFO    ] No existing commands found in stream
[2026-10-20 23:02:04,527.527 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:02:04,530.530 INFO    ] Waiting 3.10 seconds before fallback handling...
[2026-10-20 23:02:08,131.131 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:02:08,134.134 INFO    ] Checking for system updates...
[2026-10-20 23:02:08,170.170 INFO    ] 200
[2026-10-20 23:02:08,172.172 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:02:08,224.224 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:02:08,226.226 INFO    ] No update needed
[2026-10-20 23:02:08,229.229 INFO    ] Checking for camera pi updates...
[2026-10-20 23:02:08,263.263 INFO    ] 200
[2026-10-20 23:02:08,265.265 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:02:08,306.306 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:02:08,362.362 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:02:08,364.364 INFO    ] No camera update needed
[2026-10-20 23:02:08,367.367 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:02:08,369.369 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:02:08,374.374 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:02:08,380.380 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:02:10,421.421 INFO    ] ================================================
[2026-10-20 23:02:10,435.435 INFO    ] Launching Daemon at Tue Oct 20 23:02:10 IST 2026
[2026-10-20 23:02:10,446.446 INFO    ] ================================================
[2026-10-20 23:02:11,012.012 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:02:11
[2026-10-20 23:02:11,597.597 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:02:11,873.873 INFO    ] Initializing speech engine...
[2026-10-20 23:02:11,882.882 INFO    ] 2026-10-20 23:02:11
[2026-10-20 23:02:12,133.133 INFO    ] 2026-10-20 23:02:12
[2026-10-20 23:02:12,168.168 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:02:12,368.368 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:02:12,396.396 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:02:12,574.574 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:02:12,621.621 INFO    ] time= 20/10/2026 23:02:12
[2026-10-20 23:02:12,670.670 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:02:12,711.711 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:02:12,864.864 INFO    ] No existing commands found in stream
[2026-10-20 23:02:17,876.876 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:02:17,879.879 INFO    ] Waiting 1.48 seconds before fallback handling...
[2026-10-20 23:02:19,819.819 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:02:19,822.822 INFO    ] Checking for system updates...
[2026-10-20 23:02:19,858.858 INFO    ] 200
[2026-10-20 23:02:19,861.861 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:02:19,913.913 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:02:19,915.915 INFO    ] No update needed
[2026-10-20 23:02:19,918.918 INFO    ] Checking for camera pi updates...
[2026-10-20 23:02:19,951.951 INFO    ] 200
[2026-10-20 23:02:19,954.954 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:02:19,994.994 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:02:20,043.043 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:02:20,045.045 INFO    ] No camera update needed
[2026-10-20 23:02:20,047.047 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:02:20,050.050 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:02:20,055.055 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:02:20,060.060 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:02:22,101.101 INFO    ] ================================================
[2026-10-20 23:02:22,116.116 INFO    ] Launching Daemon at Tue Oct 20 23:02:22 IST 2026
[2026-10-20 23:02:22,127.127 INFO    ] ================================================
[2026-10-20 23:02:22,691.691 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:02:22
[2026-10-20 23:02:23,274.274 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:02:23,565.565 INFO    ] Initializing speech engine...
[2026-10-20 23:02:23,574.574 INFO    ] 2026-10-20 23:02:23
[2026-10-20 23:02:23,828.828 INFO    ] 2026-10-20 23:02:23
[2026-10-20 23:02:23,858.858 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:02:24,106.106 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:02:24,112.112 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:02:24,250.250 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:02:24,315.315 INFO    ] time= 20/10/2026 23:02:24
[2026-10-20 23:02:24,364.364 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:02:24,379.379 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:02:24,521.521 INFO    ] No existing commands found in stream
[2026-10-20 23:02:29,537.537 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:02:29,540.540 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-10-20 23:02:36,781.781 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:02:36,784.784 INFO    ] Checking for system updates...
[2026-10-20 23:02:36,822.822 INFO    ] 200
[2026-10-20 23:02:36,825.825 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:02:36,884.884 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:02:36,887.887 INFO    ] No update needed
[2026-10-20 23:02:36,889.889 INFO    ] Checking for camera pi updates...
[2026-10-20 23:02:36,922.922 INFO    ] 200
[2026-10-20 23:02:36,925.925 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:02:36,971.971 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:02:37,017.017 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:02:37,019.019 INFO    ] No camera update needed
[2026-10-20 23:02:37,022.022 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:02:37,024.024 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:02:37,030.030 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:02:37,035.035 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:02:39,074.074 INFO    ] ================================================
[2026-10-20 23:02:39,090.090 INFO    ] Launching Daemon at Tue Oct 20 23:02:39 IST 2026
[2026-10-20 23:02:39,102.102 INFO    ] ================================================
[2026-10-20 23:02:39,759.759 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:02:39
[2026-10-20 23:02:40,438.438 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:02:40,747.747 INFO    ] Initializing speech engine...
[2026-10-20 23:02:40,762.762 INFO    ] 2026-10-20 23:02:40
[2026-10-20 23:02:41,055.055 INFO    ] 2026-10-20 23:02:41
[2026-10-20 23:02:41,095.095 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:02:41,356.356 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:02:41,375.375 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:02:41,588.588 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:02:41,608.608 INFO    ] time= 20/10/2026 23:02:41
[2026-10-20 23:02:41,626.626 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:02:41,650.650 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:02:41,803.803 INFO    ] No existing commands found in stream
[2026-10-20 23:02:46,835.835 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:02:46,838.838 INFO    ] Waiting 3.34 seconds before fallback handling...
[2026-10-20 23:02:50,703.703 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 23:02:50,706.706 INFO    ] Checking for system updates...
[2026-10-20 23:02:50,748.748 INFO    ] 200
[2026-10-20 23:02:50,751.751 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:02:50,805.805 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:02:50,808.808 INFO    ] No update needed
[2026-10-20 23:02:50,811.811 INFO    ] Checking for camera pi updates...
[2026-10-20 23:02:50,846.846 INFO    ] 200
[2026-10-20 23:02:50,849.849 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:02:50,895.895 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:02:50,944.944 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:02:50,946.946 INFO    ] No camera update needed
[2026-10-20 23:02:50,949.949 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:02:50,951.951 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:02:50,957.957 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:02:50,962.962 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:02:53,001.001 INFO    ] ================================================
[2026-10-20 23:02:53,017.017 INFO    ] Launching Daemon at Tue Oct 20 23:02:53 IST 2026
[2026-10-20 23:02:53,028.028 INFO    ] ================================================
[2026-10-20 23:02:53,614.614 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:02:53
[2026-10-20 23:02:54,215.215 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:02:54,495.495 INFO    ] Initializing speech engine...
[2026-10-20 23:02:54,500.500 INFO    ] 2026-10-20 23:02:54
[2026-10-20 23:02:54,762.762 INFO    ] 2026-10-20 23:02:54
[2026-10-20 23:02:54,813.813 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:02:55,044.044 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:02:55,049.049 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:02:55,266.266 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:02:55,306.306 INFO    ] time= 20/10/2026 23:02:55
[2026-10-20 23:02:55,312.312 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:02:55,330.330 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:02:55,459.459 INFO    ] No existing commands found in stream
[2026-10-20 23:03:00,473.473 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:03:00,476.476 INFO    ] Waiting 2.34 seconds before fallback handling...
[2026-10-20 23:03:03,303.303 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:03:03,306.306 INFO    ] Checking for system updates...
[2026-10-20 23:03:03,341.341 INFO    ] 200
[2026-10-20 23:03:03,343.343 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:03:03,395.395 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:03:03,397.397 INFO    ] No update needed
[2026-10-20 23:03:03,400.400 INFO    ] Checking for camera pi updates...
[2026-10-20 23:03:03,433.433 INFO    ] 200
[2026-10-20 23:03:03,436.436 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:03:03,480.480 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:03:03,529.529 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:03:03,532.532 INFO    ] No camera update needed
[2026-10-20 23:03:03,534.534 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:03:03,536.536 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:03:03,542.542 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:03:03,547.547 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:03:05,588.588 INFO    ] ================================================
[2026-10-20 23:03:05,609.609 INFO    ] Launching Daemon at Tue Oct 20 23:03:05 IST 2026
[2026-10-20 23:03:05,619.619 INFO    ] ================================================
[2026-10-20 23:03:06,185.185 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:03:06
[2026-10-20 23:03:06,776.776 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:03:07,047.047 INFO    ] Initializing speech engine...
[2026-10-20 23:03:07,062.062 INFO    ] 2026-10-20 23:03:07
[2026-10-20 23:03:07,335.335 INFO    ] 2026-10-20 23:03:07
[2026-10-20 23:03:07,371.371 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:03:07,590.590 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:03:07,618.618 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:03:07,815.815 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:03:07,837.837 INFO    ] time= 20/10/2026 23:03:07
[2026-10-20 23:03:07,897.897 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:03:07,946.946 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:03:08,031.031 INFO    ] No existing commands found in stream
[2026-10-20 23:03:13,042.042 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:03:13,045.045 INFO    ] Waiting 0.16 seconds before fallback handling...
[2026-10-20 23:03:13,677.677 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:03:13,680.680 INFO    ] Checking for system updates...
[2026-10-20 23:03:13,716.716 INFO    ] 200
[2026-10-20 23:03:13,719.719 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:03:13,772.772 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:03:13,775.775 INFO    ] No update needed
[2026-10-20 23:03:13,777.777 INFO    ] Checking for camera pi updates...
[2026-10-20 23:03:13,811.811 INFO    ] 200
[2026-10-20 23:03:13,813.813 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:03:13,854.854 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:03:13,884.884 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:03:13,887.887 INFO    ] No camera update needed
[2026-10-20 23:03:13,889.889 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:03:13,892.892 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:03:13,897.897 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:03:13,902.902 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:03:15,942.942 INFO    ] ================================================
[2026-10-20 23:03:15,957.957 INFO    ] Launching Daemon at Tue Oct 20 23:03:15 IST 2026
[2026-10-20 23:03:15,967.967 INFO    ] ================================================
[2026-10-20 23:03:16,551.551 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:03:16
[2026-10-20 23:03:17,154.154 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:03:17,427.427 INFO    ] Initializing speech engine...
[2026-10-20 23:03:17,448.448 INFO    ] 2026-10-20 23:03:17
[2026-10-20 23:03:17,719.719 INFO    ] 2026-10-20 23:03:17
[2026-10-20 23:03:17,755.755 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:03:17,950.950 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:03:17,963.963 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:03:18,123.123 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:03:18,130.130 INFO    ] time= 20/10/2026 23:03:18
[2026-10-20 23:03:18,135.135 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:03:18,142.142 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:03:18,253.253 INFO    ] No existing commands found in stream
[2026-10-20 23:03:23,284.284 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:03:23,287.287 INFO    ] Waiting 2.35 seconds before fallback handling...
[2026-10-20 23:03:26,170.170 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 23:03:26,173.173 INFO    ] Checking for system updates...
[2026-10-20 23:03:26,215.215 INFO    ] 200
[2026-10-20 23:03:26,217.217 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:03:26,270.270 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:03:26,272.272 INFO    ] No update needed
[2026-10-20 23:03:26,275.275 INFO    ] Checking for camera pi updates...
[2026-10-20 23:03:26,308.308 INFO    ] 200
[2026-10-20 23:03:26,311.311 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:03:26,351.351 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:03:26,401.401 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:03:26,403.403 INFO    ] No camera update needed
[2026-10-20 23:03:26,406.406 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:03:26,408.408 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:03:26,413.413 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:03:26,419.419 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:03:28,458.458 INFO    ] ================================================
[2026-10-20 23:03:28,473.473 INFO    ] Launching Daemon at Tue Oct 20 23:03:28 IST 2026
[2026-10-20 23:03:28,484.484 INFO    ] ================================================
[2026-10-20 23:03:29,131.131 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:03:29
[2026-10-20 23:03:29,800.800 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:03:30,104.104 INFO    ] Initializing speech engine...
[2026-10-20 23:03:30,113.113 INFO    ] 2026-10-20 23:03:30
[2026-10-20 23:03:30,400.400 INFO    ] 2026-10-20 23:03:30
[2026-10-20 23:03:30,447.447 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:03:30,703.703 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:03:30,713.713 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:03:30,945.945 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:03:30,952.952 INFO    ] time= 20/10/2026 23:03:30
[2026-10-20 23:03:30,971.971 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:03:30,978.978 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:03:31,111.111 INFO    ] No existing commands found in stream
[2026-10-20 23:03:36,123.123 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:03:36,126.126 INFO    ] Waiting 1.60 seconds before fallback handling...
[2026-10-20 23:03:38,333.333 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:03:38,336.336 INFO    ] Checking for system updates...
[2026-10-20 23:03:38,373.373 INFO    ] 200
[2026-10-20 23:03:38,376.376 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:03:38,438.438 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:03:38,441.441 INFO    ] No update needed
[2026-10-20 23:03:38,445.445 INFO    ] Checking for camera pi updates...
[2026-10-20 23:03:38,480.480 INFO    ] 200
[2026-10-20 23:03:38,483.483 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:03:38,525.525 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:03:38,583.583 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:03:38,586.586 INFO    ] No camera update needed
[2026-10-20 23:03:38,589.589 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:03:38,592.592 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:03:38,599.599 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:03:38,606.606 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:03:40,648.648 INFO    ] ================================================
[2026-10-20 23:03:40,664.664 INFO    ] Launching Daemon at Tue Oct 20 23:03:40 IST 2026
[2026-10-20 23:03:40,674.674 INFO    ] ================================================
[2026-10-20 23:03:41,328.328 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:03:41
[2026-10-20 23:03:42,006.006 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:03:42,316.316 INFO    ] Initializing speech engine...
[2026-10-20 23:03:42,324.324 INFO    ] 2026-10-20 23:03:42
[2026-10-20 23:03:42,616.616 INFO    ] 2026-10-20 23:03:42
[2026-10-20 23:03:42,664.664 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:03:42,960.960 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:03:42,966.966 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:03:43,167.167 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:03:43,174.174 INFO    ] time= 20/10/2026 23:03:43
[2026-10-20 23:03:43,195.195 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:03:43,224.224 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:03:43,339.339 INFO    ] No existing commands found in stream
[2026-10-20 23:03:48,370.370 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:03:48,373.373 INFO    ] Waiting 1.74 seconds before fallback handling...
[2026-10-20 23:03:50,657.657 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:03:50,660.660 INFO    ] Checking for system updates...
[2026-10-20 23:03:50,697.697 INFO    ] 200
[2026-10-20 23:03:50,700.700 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:03:50,752.752 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:03:50,755.755 INFO    ] No update needed
[2026-10-20 23:03:50,758.758 INFO    ] Checking for camera pi updates...
[2026-10-20 23:03:50,792.792 INFO    ] 200
[2026-10-20 23:03:50,795.795 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:03:50,837.837 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:03:50,883.883 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:03:50,886.886 INFO    ] No camera update needed
[2026-10-20 23:03:50,889.889 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:03:50,892.892 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:03:50,898.898 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:03:50,904.904 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:03:52,946.946 INFO    ] ================================================
[2026-10-20 23:03:52,961.961 INFO    ] Launching Daemon at Tue Oct 20 23:03:52 IST 2026
[2026-10-20 23:03:52,971.971 INFO    ] ================================================
[2026-10-20 23:03:53,539.539 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:03:53
[2026-10-20 23:03:54,124.124 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:03:54,403.403 INFO    ] Initializing speech engine...
[2026-10-20 23:03:54,415.415 INFO    ] 2026-10-20 23:03:54
[2026-10-20 23:03:54,685.685 INFO    ] 2026-10-20 23:03:54
[2026-10-20 23:03:54,719.719 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:03:54,947.947 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:03:54,955.955 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:03:55,102.102 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:03:55,107.107 INFO    ] time= 20/10/2026 23:03:55
[2026-10-20 23:03:55,114.114 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:03:55,135.135 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:03:55,295.295 INFO    ] No existing commands found in stream
[2026-10-20 23:04:00,325.325 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:04:00,327.327 INFO    ] Waiting 3.73 seconds before fallback handling...
[2026-10-20 23:04:04,534.534 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 23:04:04,536.536 INFO    ] Checking for system updates...
[2026-10-20 23:04:04,572.572 INFO    ] 200
[2026-10-20 23:04:04,574.574 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:04:04,629.629 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:04:04,632.632 INFO    ] No update needed
[2026-10-20 23:04:04,634.634 INFO    ] Checking for camera pi updates...
[2026-10-20 23:04:04,667.667 INFO    ] 200
[2026-10-20 23:04:04,669.669 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:04:04,709.709 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:04:04,852.852 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:04:04,854.854 INFO    ] No camera update needed
[2026-10-20 23:04:04,857.857 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:04:04,859.859 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:04:04,864.864 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:04:04,869.869 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:04:06,911.911 INFO    ] ================================================
[2026-10-20 23:04:06,926.926 INFO    ] Launching Daemon at Tue Oct 20 23:04:06 IST 2026
[2026-10-20 23:04:06,937.937 INFO    ] ================================================
[2026-10-20 23:04:07,502.502 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:04:07
[2026-10-20 23:04:08,085.085 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:04:08,334.334 INFO    ] Initializing speech engine...
[2026-10-20 23:04:08,340.340 INFO    ] 2026-10-20 23:04:08
[2026-10-20 23:04:08,640.640 INFO    ] 2026-10-20 23:04:08
[2026-10-20 23:04:08,676.676 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:04:08,875.875 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:04:08,889.889 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:04:09,052.052 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:04:09,062.062 INFO    ] time= 20/10/2026 23:04:09
[2026-10-20 23:04:09,068.068 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:04:09,089.089 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:04:09,239.239 INFO    ] No existing commands found in stream
[2026-10-20 23:04:14,259.259 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:04:14,262.262 INFO    ] Waiting 2.13 seconds before fallback handling...
[2026-10-20 23:04:16,893.893 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:04:16,896.896 INFO    ] Checking for system updates...
[2026-10-20 23:04:16,931.931 INFO    ] 200
[2026-10-20 23:04:16,934.934 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:04:16,985.985 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:04:16,988.988 INFO    ] No update needed
[2026-10-20 23:04:16,990.990 INFO    ] Checking for camera pi updates...
[2026-10-20 23:04:17,023.023 INFO    ] 200
[2026-10-20 23:04:17,025.025 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:04:17,065.065 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:04:17,112.112 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:04:17,114.114 INFO    ] No camera update needed
[2026-10-20 23:04:17,116.116 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:04:17,119.119 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:04:17,124.124 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:04:17,129.129 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:04:19,169.169 INFO    ] ================================================
[2026-10-20 23:04:19,184.184 INFO    ] Launching Daemon at Tue Oct 20 23:04:19 IST 2026
[2026-10-20 23:04:19,194.194 INFO    ] ================================================
[2026-10-20 23:04:19,765.765 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:04:19
[2026-10-20 23:04:20,349.349 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:04:20,602.602 INFO    ] Initializing speech engine...
[2026-10-20 23:04:20,609.609 INFO    ] 2026-10-20 23:04:20
[2026-10-20 23:04:20,902.902 INFO    ] 2026-10-20 23:04:20
[2026-10-20 23:04:20,944.944 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:04:21,140.140 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:04:21,154.154 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:04:21,277.277 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:04:21,283.283 INFO    ] time= 20/10/2026 23:04:21
[2026-10-20 23:04:21,304.304 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:04:21,326.326 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:04:21,417.417 INFO    ] No existing commands found in stream
[2026-10-20 23:04:26,451.451 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:04:26,454.454 INFO    ] Waiting 1.69 seconds before fallback handling...
[2026-10-20 23:04:28,639.639 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 23:04:28,642.642 INFO    ] Checking for system updates...
[2026-10-20 23:04:28,677.677 INFO    ] 200
[2026-10-20 23:04:28,680.680 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:04:28,731.731 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:04:28,733.733 INFO    ] No update needed
[2026-10-20 23:04:28,735.735 INFO    ] Checking for camera pi updates...
[2026-10-20 23:04:28,769.769 INFO    ] 200
[2026-10-20 23:04:28,772.772 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:04:28,812.812 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:04:28,861.861 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:04:28,864.864 INFO    ] No camera update needed
[2026-10-20 23:04:28,867.867 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:04:28,869.869 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:04:28,876.876 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:04:28,881.881 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:04:30,923.923 INFO    ] ================================================
[2026-10-20 23:04:30,938.938 INFO    ] Launching Daemon at Tue Oct 20 23:04:30 IST 2026
[2026-10-20 23:04:30,949.949 INFO    ] ================================================
[2026-10-20 23:04:31,537.537 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:04:31
[2026-10-20 23:04:32,157.157 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:04:32,442.442 INFO    ] Initializing speech engine...
[2026-10-20 23:04:32,461.461 INFO    ] 2026-10-20 23:04:32
[2026-10-20 23:04:32,747.747 INFO    ] 2026-10-20 23:04:32
[2026-10-20 23:04:32,785.785 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:04:33,039.039 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:04:33,049.049 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:04:33,184.184 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:04:33,253.253 INFO    ] time= 20/10/2026 23:04:33
[2026-10-20 23:04:33,312.312 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:04:33,318.318 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:04:33,458.458 INFO    ] No existing commands found in stream
[2026-10-20 23:04:38,474.474 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:04:38,477.477 INFO    ] Waiting 2.48 seconds before fallback handling...
[2026-10-20 23:04:42,686.686 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:04:42,689.689 INFO    ] Checking for system updates...
[2026-10-20 23:04:42,724.724 INFO    ] 200
[2026-10-20 23:04:42,727.727 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:04:42,778.778 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:04:42,781.781 INFO    ] No update needed
[2026-10-20 23:04:42,784.784 INFO    ] Checking for camera pi updates...
[2026-10-20 23:04:42,817.817 INFO    ] 200
[2026-10-20 23:04:42,820.820 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:04:42,859.859 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:04:42,910.910 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:04:42,913.913 INFO    ] No camera update needed
[2026-10-20 23:04:42,915.915 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:04:42,917.917 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:04:42,923.923 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:04:42,928.928 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:04:44,967.967 INFO    ] ================================================
[2026-10-20 23:04:44,983.983 INFO    ] Launching Daemon at Tue Oct 20 23:04:44 IST 2026
[2026-10-20 23:04:45,994.994 INFO    ] ================================================
[2026-10-20 23:04:45,579.579 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:04:45
[2026-10-20 23:04:46,180.180 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:04:46,445.445 INFO    ] Initializing speech engine...
[2026-10-20 23:04:46,461.461 INFO    ] 2026-10-20 23:04:46
[2026-10-20 23:04:46,716.716 INFO    ] 2026-10-20 23:04:46
[2026-10-20 23:04:46,752.752 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:04:47,009.009 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:04:47,013.013 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:04:47,189.189 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:04:47,259.259 INFO    ] time= 20/10/2026 23:04:47
[2026-10-20 23:04:47,279.279 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:04:47,297.297 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:04:47,429.429 INFO    ] No existing commands found in stream
[2026-10-20 23:04:52,442.442 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:04:52,445.445 INFO    ] Waiting 1.70 seconds before fallback handling...
[2026-10-20 23:04:54,633.633 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 23:04:54,636.636 INFO    ] Checking for system updates...
[2026-10-20 23:04:54,671.671 INFO    ] 200
[2026-10-20 23:04:54,673.673 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:04:54,726.726 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:04:54,729.729 INFO    ] No update needed
[2026-10-20 23:04:54,731.731 INFO    ] Checking for camera pi updates...
[2026-10-20 23:04:54,764.764 INFO    ] 200
[2026-10-20 23:04:54,767.767 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:04:54,807.807 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:04:54,862.862 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:04:54,864.864 INFO    ] No camera update needed
[2026-10-20 23:04:54,867.867 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:04:54,869.869 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:04:54,874.874 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:04:54,879.879 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:04:56,919.919 INFO    ] ================================================
[2026-10-20 23:04:56,934.934 INFO    ] Launching Daemon at Tue Oct 20 23:04:56 IST 2026
[2026-10-20 23:04:56,945.945 INFO    ] ================================================
[2026-10-20 23:04:57,547.547 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:04:57
[2026-10-20 23:04:58,231.231 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:04:58,536.536 INFO    ] Initializing speech engine...
[2026-10-20 23:04:58,547.547 INFO    ] 2026-10-20 23:04:58
[2026-10-20 23:04:58,833.833 INFO    ] 2026-10-20 23:04:58
[2026-10-20 23:04:58,939.939 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:04:59,126.126 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:04:59,144.144 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:04:59,354.354 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:04:59,372.372 INFO    ] time= 20/10/2026 23:04:59
[2026-10-20 23:04:59,390.390 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:04:59,407.407 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:04:59,539.539 INFO    ] No existing commands found in stream
[2026-10-20 23:05:04,564.564 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:05:04,566.566 INFO    ] Waiting 2.39 seconds before fallback handling...
[2026-10-20 23:05:07,465.465 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 23:05:07,467.467 INFO    ] Checking for system updates...
[2026-10-20 23:05:07,502.502 INFO    ] 200
[2026-10-20 23:05:07,505.505 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:05:07,559.559 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:05:07,561.561 INFO    ] No update needed
[2026-10-20 23:05:07,564.564 INFO    ] Checking for camera pi updates...
[2026-10-20 23:05:07,597.597 INFO    ] 200
[2026-10-20 23:05:07,600.600 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:05:07,639.639 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:05:07,669.669 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:05:07,671.671 INFO    ] No camera update needed
[2026-10-20 23:05:07,673.673 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:05:07,676.676 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:05:07,681.681 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:05:07,686.686 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:05:09,726.726 INFO    ] ================================================
[2026-10-20 23:05:09,742.742 INFO    ] Launching Daemon at Tue Oct 20 23:05:09 IST 2026
[2026-10-20 23:05:09,752.752 INFO    ] ================================================
[2026-10-20 23:05:10,336.336 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:05:10
[2026-10-20 23:05:10,936.936 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:05:11,214.214 INFO    ] Initializing speech engine...
[2026-10-20 23:05:11,223.223 INFO    ] 2026-10-20 23:05:11
[2026-10-20 23:05:11,483.483 INFO    ] 2026-10-20 23:05:11
[2026-10-20 23:05:11,513.513 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:05:11,763.763 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:05:11,767.767 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:05:11,997.997 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:05:12,028.028 INFO    ] time= 20/10/2026 23:05:12
[2026-10-20 23:05:12,043.043 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:05:12,068.068 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:05:12,191.191 INFO    ] No existing commands found in stream
[2026-10-20 23:05:17,225.225 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:05:17,228.228 INFO    ] Waiting 2.59 seconds before fallback handling...
[2026-10-20 23:05:20,305.305 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:05:20,307.307 INFO    ] Checking for system updates...
[2026-10-20 23:05:20,342.342 INFO    ] 200
[2026-10-20 23:05:20,345.345 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:05:20,396.396 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:05:20,399.399 INFO    ] No update needed
[2026-10-20 23:05:20,401.401 INFO    ] Checking for camera pi updates...
[2026-10-20 23:05:20,439.439 INFO    ] 200
[2026-10-20 23:05:20,442.442 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:05:20,483.483 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:05:20,528.528 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:05:20,531.531 INFO    ] No camera update needed
[2026-10-20 23:05:20,533.533 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:05:20,535.535 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:05:20,541.541 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:05:20,546.546 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:05:22,587.587 INFO    ] ================================================
[2026-10-20 23:05:22,603.603 INFO    ] Launching Daemon at Tue Oct 20 23:05:22 IST 2026
[2026-10-20 23:05:22,614.614 INFO    ] ================================================
[2026-10-20 23:05:23,274.274 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:05:23
[2026-10-20 23:05:23,952.952 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:05:24,258.258 INFO    ] Initializing speech engine...
[2026-10-20 23:05:24,271.271 INFO    ] 2026-10-20 23:05:24
[2026-10-20 23:05:24,581.581 INFO    ] 2026-10-20 23:05:24
[2026-10-20 23:05:24,668.668 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:05:24,882.882 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:05:24,890.890 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:05:25,086.086 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:05:25,103.103 INFO    ] time= 20/10/2026 23:05:25
[2026-10-20 23:05:25,112.112 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:05:25,139.139 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:05:25,260.260 INFO    ] No existing commands found in stream
[2026-10-20 23:05:30,286.286 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:05:30,289.289 INFO    ] Waiting 1.69 seconds before fallback handling...
[2026-10-20 23:05:32,543.543 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:05:32,546.546 INFO    ] Checking for system updates...
[2026-10-20 23:05:32,585.585 INFO    ] 200
[2026-10-20 23:05:32,588.588 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:05:32,650.650 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:05:32,652.652 INFO    ] No update needed
[2026-10-20 23:05:32,655.655 INFO    ] Checking for camera pi updates...
[2026-10-20 23:05:32,690.690 INFO    ] 200
[2026-10-20 23:05:32,693.693 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:05:32,735.735 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:05:32,765.765 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:05:32,768.768 INFO    ] No camera update needed
[2026-10-20 23:05:32,771.771 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:05:32,773.773 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:05:32,780.780 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:05:32,785.785 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:05:34,825.825 INFO    ] ================================================
[2026-10-20 23:05:34,840.840 INFO    ] Launching Daemon at Tue Oct 20 23:05:34 IST 2026
[2026-10-20 23:05:34,851.851 INFO    ] ================================================
[2026-10-20 23:05:35,419.419 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:05:35
[2026-10-20 23:05:36,018.018 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:05:36,282.282 INFO    ] Initializing speech engine...
[2026-10-20 23:05:36,299.299 INFO    ] 2026-10-20 23:05:36
[2026-10-20 23:05:36,586.586 INFO    ] 2026-10-20 23:05:36
[2026-10-20 23:05:36,627.627 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:05:36,837.837 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:05:36,859.859 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:05:37,009.009 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:05:37,016.016 INFO    ] time= 20/10/2026 23:05:37
[2026-10-20 23:05:37,038.038 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:05:37,088.088 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:05:37,218.218 INFO    ] No existing commands found in stream
[2026-10-20 23:05:42,243.243 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:05:42,246.246 INFO    ] Waiting 1.98 seconds before fallback handling...
[2026-10-20 23:05:44,755.755 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:05:44,757.757 INFO    ] Checking for system updates...
[2026-10-20 23:05:44,797.797 INFO    ] 200
[2026-10-20 23:05:44,800.800 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:05:44,851.851 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:05:44,854.854 INFO    ] No update needed
[2026-10-20 23:05:44,856.856 INFO    ] Checking for camera pi updates...
[2026-10-20 23:05:44,889.889 INFO    ] 200
[2026-10-20 23:05:44,892.892 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:05:44,932.932 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:05:44,979.979 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:05:44,981.981 INFO    ] No camera update needed
[2026-10-20 23:05:44,983.983 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:05:44,986.986 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:05:44,991.991 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:05:44,996.996 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:05:47,036.036 INFO    ] ================================================
[2026-10-20 23:05:47,051.051 INFO    ] Launching Daemon at Tue Oct 20 23:05:47 IST 2026
[2026-10-20 23:05:47,062.062 INFO    ] ================================================
[2026-10-20 23:05:47,628.628 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:05:47
[2026-10-20 23:05:48,233.233 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:05:48,506.506 INFO    ] Initializing speech engine...
[2026-10-20 23:05:48,515.515 INFO    ] 2026-10-20 23:05:48
[2026-10-20 23:05:48,764.764 INFO    ] 2026-10-20 23:05:48
[2026-10-20 23:05:48,799.799 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:05:49,051.051 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:05:49,061.061 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:05:49,286.286 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:05:49,322.322 INFO    ] time= 20/10/2026 23:05:49
[2026-10-20 23:05:49,328.328 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:05:49,346.346 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:05:49,477.477 INFO    ] No existing commands found in stream
[2026-10-20 23:05:54,496.496 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:05:54,499.499 INFO    ] Waiting 0.72 seconds before fallback handling...
[2026-10-20 23:05:55,736.736 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 23:05:55,740.740 INFO    ] Checking for system updates...
[2026-10-20 23:05:55,776.776 INFO    ] 200
[2026-10-20 23:05:55,779.779 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:05:55,840.840 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:05:55,844.844 INFO    ] No update needed
[2026-10-20 23:05:55,847.847 INFO    ] Checking for camera pi updates...
[2026-10-20 23:05:55,882.882 INFO    ] 200
[2026-10-20 23:05:55,884.884 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:05:55,931.931 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:05:55,982.982 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:05:55,985.985 INFO    ] No camera update needed
[2026-10-20 23:05:55,987.987 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:05:55,989.989 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:05:55,995.995 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:05:55,999.999 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:05:58,038.038 INFO    ] ================================================
[2026-10-20 23:05:58,053.053 INFO    ] Launching Daemon at Tue Oct 20 23:05:58 IST 2026
[2026-10-20 23:05:58,063.063 INFO    ] ================================================
[2026-10-20 23:05:58,643.643 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:05:58
[2026-10-20 23:05:59,241.241 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:05:59,520.520 INFO    ] Initializing speech engine...
[2026-10-20 23:05:59,527.527 INFO    ] 2026-10-20 23:05:59
[2026-10-20 23:05:59,774.774 INFO    ] 2026-10-20 23:05:59
[2026-10-20 23:05:59,809.809 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:06:00,064.064 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:06:00,073.073 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:06:00,292.292 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:06:00,332.332 INFO    ] time= 20/10/2026 23:06:00
[2026-10-20 23:06:00,339.339 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:06:00,353.353 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:06:00,486.486 INFO    ] No existing commands found in stream
[2026-10-20 23:06:05,500.500 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:06:05,503.503 INFO    ] Waiting 3.83 seconds before fallback handling...
[2026-10-20 23:06:09,836.836 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:06:09,839.839 INFO    ] Checking for system updates...
[2026-10-20 23:06:09,874.874 INFO    ] 200
[2026-10-20 23:06:09,877.877 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:06:09,929.929 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:06:09,931.931 INFO    ] No update needed
[2026-10-20 23:06:09,934.934 INFO    ] Checking for camera pi updates...
[2026-10-20 23:06:09,971.971 INFO    ] 200
[2026-10-20 23:06:09,973.973 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:06:10,013.013 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:06:10,167.167 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:06:10,170.170 INFO    ] No camera update needed
[2026-10-20 23:06:10,172.172 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:06:10,174.174 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:06:10,180.180 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:06:10,185.185 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:06:12,226.226 INFO    ] ================================================
[2026-10-20 23:06:12,241.241 INFO    ] Launching Daemon at Tue Oct 20 23:06:12 IST 2026
[2026-10-20 23:06:12,253.253 INFO    ] ================================================
[2026-10-20 23:06:12,910.910 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:06:12
[2026-10-20 23:06:13,583.583 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:06:13,884.884 INFO    ] Initializing speech engine...
[2026-10-20 23:06:13,893.893 INFO    ] 2026-10-20 23:06:13
[2026-10-20 23:06:14,179.179 INFO    ] 2026-10-20 23:06:14
[2026-10-20 23:06:14,251.251 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:06:14,454.454 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:06:14,460.460 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:06:14,615.615 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:06:14,680.680 INFO    ] time= 20/10/2026 23:06:14
[2026-10-20 23:06:14,723.723 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:06:14,742.742 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:06:14,899.899 INFO    ] No existing commands found in stream
[2026-10-20 23:06:19,935.935 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:06:19,938.938 INFO    ] Waiting 2.05 seconds before fallback handling...
[2026-10-20 23:06:22,507.507 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:06:22,511.511 INFO    ] Checking for system updates...
[2026-10-20 23:06:22,547.547 INFO    ] 200
[2026-10-20 23:06:22,550.550 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:06:22,610.610 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:06:22,613.613 INFO    ] No update needed
[2026-10-20 23:06:22,616.616 INFO    ] Checking for camera pi updates...
[2026-10-20 23:06:22,659.659 INFO    ] 200
[2026-10-20 23:06:22,661.661 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:06:22,704.704 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:06:22,754.754 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:06:22,756.756 INFO    ] No camera update needed
[2026-10-20 23:06:22,759.759 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:06:22,762.762 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:06:22,768.768 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:06:22,774.774 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:06:24,815.815 INFO    ] ================================================
[2026-10-20 23:06:24,830.830 INFO    ] Launching Daemon at Tue Oct 20 23:06:24 IST 2026
[2026-10-20 23:06:24,846.846 INFO    ] ================================================
[2026-10-20 23:06:25,438.438 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:06:25
[2026-10-20 23:06:26,041.041 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:06:26,321.321 INFO    ] Initializing speech engine...
[2026-10-20 23:06:26,330.330 INFO    ] 2026-10-20 23:06:26
[2026-10-20 23:06:26,589.589 INFO    ] 2026-10-20 23:06:26
[2026-10-20 23:06:26,643.643 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:06:26,893.893 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:06:26,898.898 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:06:27,113.113 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:06:27,133.133 INFO    ] time= 20/10/2026 23:06:27
[2026-10-20 23:06:27,149.149 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:06:27,156.156 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:06:27,289.289 INFO    ] No existing commands found in stream
[2026-10-20 23:06:32,311.311 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:06:32,314.314 INFO    ] Waiting 3.13 seconds before fallback handling...
[2026-10-20 23:06:35,939.939 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 23:06:35,942.942 INFO    ] Checking for system updates...
[2026-10-20 23:06:35,982.982 INFO    ] 200
[2026-10-20 23:06:35,984.984 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:06:36,036.036 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:06:36,038.038 INFO    ] No update needed
[2026-10-20 23:06:36,041.041 INFO    ] Checking for camera pi updates...
[2026-10-20 23:06:36,077.077 INFO    ] 200
[2026-10-20 23:06:36,080.080 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:06:36,121.121 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:06:36,166.166 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:06:36,169.169 INFO    ] No camera update needed
[2026-10-20 23:06:36,171.171 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:06:36,174.174 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:06:36,179.179 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:06:36,184.184 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:06:38,225.225 INFO    ] ================================================
[2026-10-20 23:06:38,240.240 INFO    ] Launching Daemon at Tue Oct 20 23:06:38 IST 2026
[2026-10-20 23:06:38,250.250 INFO    ] ================================================
[2026-10-20 23:06:38,814.814 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:06:38
[2026-10-20 23:06:39,394.394 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:06:39,665.665 INFO    ] Initializing speech engine...
[2026-10-20 23:06:39,675.675 INFO    ] 2026-10-20 23:06:39
[2026-10-20 23:06:39,925.925 INFO    ] 2026-10-20 23:06:39
[2026-10-20 23:06:39,960.960 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:06:40,219.219 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:06:40,228.228 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:06:40,366.366 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:06:40,421.421 INFO    ] time= 20/10/2026 23:06:40
[2026-10-20 23:06:40,475.475 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:06:40,501.501 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:06:40,637.637 INFO    ] No existing commands found in stream
[2026-10-20 23:06:45,662.662 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:06:45,665.665 INFO    ] Waiting 0.26 seconds before fallback handling...
[2026-10-20 23:06:46,433.433 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:06:46,435.435 INFO    ] Checking for system updates...
[2026-10-20 23:06:46,475.475 INFO    ] 200
[2026-10-20 23:06:46,477.477 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:06:46,530.530 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:06:46,532.532 INFO    ] No update needed
[2026-10-20 23:06:46,535.535 INFO    ] Checking for camera pi updates...
[2026-10-20 23:06:46,568.568 INFO    ] 200
[2026-10-20 23:06:46,570.570 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:06:46,615.615 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:06:46,660.660 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:06:46,662.662 INFO    ] No camera update needed
[2026-10-20 23:06:46,665.665 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:06:46,667.667 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:06:46,672.672 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:06:46,677.677 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:06:48,719.719 INFO    ] ================================================
[2026-10-20 23:06:48,735.735 INFO    ] Launching Daemon at Tue Oct 20 23:06:48 IST 2026
[2026-10-20 23:06:48,745.745 INFO    ] ================================================
[2026-10-20 23:06:49,327.327 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:06:49
[2026-10-20 23:06:49,926.926 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:06:50,187.187 INFO    ] Initializing speech engine...
[2026-10-20 23:06:50,196.196 INFO    ] 2026-10-20 23:06:50
[2026-10-20 23:06:50,491.491 INFO    ] 2026-10-20 23:06:50
[2026-10-20 23:06:50,529.529 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:06:50,754.754 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:06:50,762.762 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:06:50,910.910 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:06:50,915.915 INFO    ] time= 20/10/2026 23:06:50
[2026-10-20 23:06:50,921.921 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:06:50,969.969 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:06:51,115.115 INFO    ] No existing commands found in stream
[2026-10-20 23:06:56,141.141 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:06:56,143.143 INFO    ] Waiting 1.23 seconds before fallback handling...
[2026-10-20 23:06:57,951.951 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:06:57,954.954 INFO    ] Checking for system updates...
[2026-10-20 23:06:57,990.990 INFO    ] 200
[2026-10-20 23:06:57,993.993 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:06:58,053.053 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:06:58,056.056 INFO    ] No update needed
[2026-10-20 23:06:58,058.058 INFO    ] Checking for camera pi updates...
[2026-10-20 23:06:58,093.093 INFO    ] 200
[2026-10-20 23:06:58,096.096 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:06:58,138.138 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:06:58,193.193 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:06:58,196.196 INFO    ] No camera update needed
[2026-10-20 23:06:58,199.199 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:06:58,201.201 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:06:58,207.207 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:06:58,213.213 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:07:00,255.255 INFO    ] ================================================
[2026-10-20 23:07:00,270.270 INFO    ] Launching Daemon at Tue Oct 20 23:07:00 IST 2026
[2026-10-20 23:07:00,281.281 INFO    ] ================================================
[2026-10-20 23:07:00,846.846 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:07:00
[2026-10-20 23:07:01,429.429 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:07:02,104.104 INFO    ] Initializing speech engine...
[2026-10-20 23:07:02,112.112 INFO    ] 2026-10-20 23:07:02
[2026-10-20 23:07:02,561.561 INFO    ] 2026-10-20 23:07:02
[2026-10-20 23:07:02,602.602 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:07:02,851.851 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:07:02,871.871 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:07:03,060.060 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:07:03,065.065 INFO    ] time= 20/10/2026 23:07:03
[2026-10-20 23:07:03,068.068 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:07:03,128.128 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:07:03,253.253 INFO    ] No existing commands found in stream
[2026-10-20 23:07:08,277.277 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:07:08,280.280 INFO    ] Waiting 2.69 seconds before fallback handling...
[2026-10-20 23:07:11,469.469 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:07:11,472.472 INFO    ] Checking for system updates...
[2026-10-20 23:07:11,510.510 INFO    ] 200
[2026-10-20 23:07:11,513.513 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:07:11,566.566 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:07:11,568.568 INFO    ] No update needed
[2026-10-20 23:07:11,571.571 INFO    ] Checking for camera pi updates...
[2026-10-20 23:07:11,609.609 INFO    ] 200
[2026-10-20 23:07:11,612.612 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:07:11,654.654 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:07:11,709.709 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:07:11,711.711 INFO    ] No camera update needed
[2026-10-20 23:07:11,714.714 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:07:11,717.717 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:07:11,723.723 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:07:11,729.729 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:07:13,771.771 INFO    ] ================================================
[2026-10-20 23:07:13,786.786 INFO    ] Launching Daemon at Tue Oct 20 23:07:13 IST 2026
[2026-10-20 23:07:13,797.797 INFO    ] ================================================
[2026-10-20 23:07:14,378.378 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:07:14
[2026-10-20 23:07:14,979.979 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:07:15,253.253 INFO    ] Initializing speech engine...
[2026-10-20 23:07:15,263.263 INFO    ] 2026-10-20 23:07:15
[2026-10-20 23:07:15,525.525 INFO    ] 2026-10-20 23:07:15
[2026-10-20 23:07:15,554.554 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:07:15,800.800 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:07:15,809.809 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:07:16,005.005 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:07:16,069.069 INFO    ] time= 20/10/2026 23:07:16
[2026-10-20 23:07:16,075.075 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:07:16,090.090 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:07:16,228.228 INFO    ] No existing commands found in stream
[2026-10-20 23:07:21,259.259 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:07:21,262.262 INFO    ] Waiting 0.22 seconds before fallback handling...
[2026-10-20 23:07:21,958.958 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:07:21,961.961 INFO    ] Checking for system updates...
[2026-10-20 23:07:21,996.996 INFO    ] 200
[2026-10-20 23:07:21,999.999 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:07:22,054.054 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:07:22,057.057 INFO    ] No update needed
[2026-10-20 23:07:22,059.059 INFO    ] Checking for camera pi updates...
[2026-10-20 23:07:22,093.093 INFO    ] 200
[2026-10-20 23:07:22,096.096 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:07:22,135.135 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:07:22,190.190 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:07:22,192.192 INFO    ] No camera update needed
[2026-10-20 23:07:22,195.195 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:07:22,197.197 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:07:22,203.203 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:07:22,208.208 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:07:24,249.249 INFO    ] ================================================
[2026-10-20 23:07:24,264.264 INFO    ] Launching Daemon at Tue Oct 20 23:07:24 IST 2026
[2026-10-20 23:07:24,275.275 INFO    ] ================================================
[2026-10-20 23:07:24,929.929 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:07:24
[2026-10-20 23:07:25,601.601 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:07:25,917.917 INFO    ] Initializing speech engine...
[2026-10-20 23:07:25,924.924 INFO    ] 2026-10-20 23:07:25
[2026-10-20 23:07:26,239.239 INFO    ] 2026-10-20 23:07:26
[2026-10-20 23:07:26,325.325 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:07:26,546.546 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:07:26,554.554 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:07:26,729.729 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:07:26,759.759 INFO    ] time= 20/10/2026 23:07:26
[2026-10-20 23:07:26,777.777 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:07:26,802.802 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:07:26,968.968 INFO    ] No existing commands found in stream
[2026-10-20 23:07:31,999.999 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:07:32,002.002 INFO    ] Waiting 2.23 seconds before fallback handling...
[2026-10-20 23:07:34,716.716 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:07:34,719.719 INFO    ] Checking for system updates...
[2026-10-20 23:07:34,756.756 INFO    ] 200
[2026-10-20 23:07:34,759.759 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:07:34,818.818 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:07:34,821.821 INFO    ] No update needed
[2026-10-20 23:07:34,824.824 INFO    ] Checking for camera pi updates...
[2026-10-20 23:07:34,858.858 INFO    ] 200
[2026-10-20 23:07:34,861.861 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:07:34,902.902 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:07:34,945.945 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:07:34,948.948 INFO    ] No camera update needed
[2026-10-20 23:07:34,951.951 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:07:34,953.953 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:07:34,959.959 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:07:34,965.965 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:07:37,005.005 INFO    ] ================================================
[2026-10-20 23:07:37,021.021 INFO    ] Launching Daemon at Tue Oct 20 23:07:37 IST 2026
[2026-10-20 23:07:37,031.031 INFO    ] ================================================
[2026-10-20 23:07:37,613.613 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:07:37
[2026-10-20 23:07:38,214.214 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:07:38,477.477 INFO    ] Initializing speech engine...
[2026-10-20 23:07:38,507.507 INFO    ] 2026-10-20 23:07:38
[2026-10-20 23:07:38,775.775 INFO    ] 2026-10-20 23:07:38
[2026-10-20 23:07:38,812.812 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:07:39,035.035 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:07:39,084.084 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:07:39,259.259 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:07:39,313.313 INFO    ] time= 20/10/2026 23:07:39
[2026-10-20 23:07:39,363.363 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:07:39,406.406 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:07:39,532.532 INFO    ] No existing commands found in stream
[2026-10-20 23:07:44,547.547 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:07:44,550.550 INFO    ] Waiting 2.07 seconds before fallback handling...
[2026-10-20 23:07:47,128.128 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 23:07:47,130.130 INFO    ] Checking for system updates...
[2026-10-20 23:07:47,165.165 INFO    ] 200
[2026-10-20 23:07:47,168.168 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:07:47,221.221 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:07:47,224.224 INFO    ] No update needed
[2026-10-20 23:07:47,227.227 INFO    ] Checking for camera pi updates...
[2026-10-20 23:07:47,261.261 INFO    ] 200
[2026-10-20 23:07:47,263.263 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:07:47,303.303 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:07:47,349.349 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:07:47,352.352 INFO    ] No camera update needed
[2026-10-20 23:07:47,354.354 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:07:47,356.356 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:07:47,362.362 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:07:47,367.367 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:07:49,406.406 INFO    ] ================================================
[2026-10-20 23:07:49,422.422 INFO    ] Launching Daemon at Tue Oct 20 23:07:49 IST 2026
[2026-10-20 23:07:49,433.433 INFO    ] ================================================
[2026-10-20 23:07:50,000.000 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:07:49
[2026-10-20 23:07:50,584.584 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:07:50,841.841 INFO    ] Initializing speech engine...
[2026-10-20 23:07:50,857.857 INFO    ] 2026-10-20 23:07:50
[2026-10-20 23:07:51,135.135 INFO    ] 2026-10-20 23:07:51
[2026-10-20 23:07:51,172.172 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:07:51,365.365 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:07:51,370.370 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:07:51,555.555 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:07:51,563.563 INFO    ] time= 20/10/2026 23:07:51
[2026-10-20 23:07:51,569.569 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:07:51,575.575 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:07:51,651.651 INFO    ] No existing commands found in stream
[2026-10-20 23:07:56,670.670 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:07:56,674.674 INFO    ] Waiting 0.59 seconds before fallback handling...
[2026-10-20 23:07:57,765.765 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:07:57,767.767 INFO    ] Checking for system updates...
[2026-10-20 23:07:57,806.806 INFO    ] 200
[2026-10-20 23:07:57,808.808 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:07:57,866.866 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:07:57,869.869 INFO    ] No update needed
[2026-10-20 23:07:57,872.872 INFO    ] Checking for camera pi updates...
[2026-10-20 23:07:57,907.907 INFO    ] 200
[2026-10-20 23:07:57,910.910 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:07:57,954.954 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:07:58,002.002 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:07:58,005.005 INFO    ] No camera update needed
[2026-10-20 23:07:58,007.007 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:07:58,010.010 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:07:58,016.016 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:07:58,022.022 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:08:00,062.062 INFO    ] ================================================
[2026-10-20 23:08:00,078.078 INFO    ] Launching Daemon at Tue Oct 20 23:08:00 IST 2026
[2026-10-20 23:08:00,089.089 INFO    ] ================================================
[2026-10-20 23:08:00,697.697 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:08:00
[2026-10-20 23:08:01,303.303 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:08:01,597.597 INFO    ] Initializing speech engine...
[2026-10-20 23:08:01,612.612 INFO    ] 2026-10-20 23:08:01
[2026-10-20 23:08:02,182.182 INFO    ] 2026-10-20 23:08:02
[2026-10-20 23:08:02,234.234 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:08:02,420.420 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:08:02,423.423 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:08:02,589.589 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:08:02,655.655 INFO    ] time= 20/10/2026 23:08:02
[2026-10-20 23:08:02,703.703 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:08:02,731.731 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:08:02,860.860 INFO    ] No existing commands found in stream
[2026-10-20 23:08:07,882.882 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:08:07,885.885 INFO    ] Waiting 3.02 seconds before fallback handling...
[2026-10-20 23:08:11,446.446 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:08:11,450.450 INFO    ] Checking for system updates...
[2026-10-20 23:08:11,491.491 INFO    ] 200
[2026-10-20 23:08:11,494.494 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:08:11,549.549 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:08:11,552.552 INFO    ] No update needed
[2026-10-20 23:08:11,554.554 INFO    ] Checking for camera pi updates...
[2026-10-20 23:08:11,592.592 INFO    ] 200
[2026-10-20 23:08:11,594.594 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:08:11,634.634 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:08:11,688.688 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:08:11,691.691 INFO    ] No camera update needed
[2026-10-20 23:08:11,693.693 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:08:11,695.695 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:08:11,701.701 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:08:11,706.706 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:08:13,745.745 INFO    ] ================================================
[2026-10-20 23:08:13,760.760 INFO    ] Launching Daemon at Tue Oct 20 23:08:13 IST 2026
[2026-10-20 23:08:13,770.770 INFO    ] ================================================
[2026-10-20 23:08:14,429.429 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:08:14
[2026-10-20 23:08:15,107.107 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:08:15,416.416 INFO    ] Initializing speech engine...
[2026-10-20 23:08:15,423.423 INFO    ] 2026-10-20 23:08:15
[2026-10-20 23:08:15,745.745 INFO    ] 2026-10-20 23:08:15
[2026-10-20 23:08:15,828.828 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:08:16,051.051 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:08:16,057.057 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:08:16,256.256 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:08:16,263.263 INFO    ] time= 20/10/2026 23:08:16
[2026-10-20 23:08:16,286.286 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:08:16,314.314 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:08:16,452.452 INFO    ] No existing commands found in stream
[2026-10-20 23:08:21,488.488 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:08:21,492.492 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-10-20 23:08:23,533.533 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:08:23,536.536 INFO    ] Checking for system updates...
[2026-10-20 23:08:23,573.573 INFO    ] 200
[2026-10-20 23:08:23,575.575 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:08:23,629.629 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:08:23,632.632 INFO    ] No update needed
[2026-10-20 23:08:23,634.634 INFO    ] Checking for camera pi updates...
[2026-10-20 23:08:23,667.667 INFO    ] 200
[2026-10-20 23:08:23,670.670 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:08:23,711.711 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:08:23,854.854 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:08:23,857.857 INFO    ] No camera update needed
[2026-10-20 23:08:23,860.860 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:08:23,862.862 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:08:23,868.868 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:08:23,873.873 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:08:25,912.912 INFO    ] ================================================
[2026-10-20 23:08:25,927.927 INFO    ] Launching Daemon at Tue Oct 20 23:08:25 IST 2026
[2026-10-20 23:08:25,937.937 INFO    ] ================================================
[2026-10-20 23:08:26,506.506 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:08:26
[2026-10-20 23:08:27,094.094 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:08:27,351.351 INFO    ] Initializing speech engine...
[2026-10-20 23:08:27,367.367 INFO    ] 2026-10-20 23:08:27
[2026-10-20 23:08:27,623.623 INFO    ] 2026-10-20 23:08:27
[2026-10-20 23:08:27,658.658 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:08:27,860.860 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:08:27,925.925 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:08:28,063.063 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:08:28,122.122 INFO    ] time= 20/10/2026 23:08:28
[2026-10-20 23:08:28,172.172 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:08:28,199.199 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:08:28,348.348 INFO    ] No existing commands found in stream
[2026-10-20 23:08:33,360.360 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:08:33,363.363 INFO    ] Waiting 2.72 seconds before fallback handling...
[2026-10-20 23:08:36,580.580 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:08:36,583.583 INFO    ] Checking for system updates...
[2026-10-20 23:08:36,618.618 INFO    ] 200
[2026-10-20 23:08:36,621.621 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:08:36,672.672 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:08:36,675.675 INFO    ] No update needed
[2026-10-20 23:08:36,677.677 INFO    ] Checking for camera pi updates...
[2026-10-20 23:08:36,711.711 INFO    ] 200
[2026-10-20 23:08:36,713.713 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:08:36,753.753 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:08:36,807.807 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:08:36,810.810 INFO    ] No camera update needed
[2026-10-20 23:08:36,812.812 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:08:36,814.814 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:08:36,820.820 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:08:36,825.825 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:08:38,866.866 INFO    ] ================================================
[2026-10-20 23:08:38,882.882 INFO    ] Launching Daemon at Tue Oct 20 23:08:38 IST 2026
[2026-10-20 23:08:38,892.892 INFO    ] ================================================
[2026-10-20 23:08:39,456.456 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:08:39
[2026-10-20 23:08:40,040.040 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:08:40,293.293 INFO    ] Initializing speech engine...
[2026-10-20 23:08:40,302.302 INFO    ] 2026-10-20 23:08:40
[2026-10-20 23:08:40,597.597 INFO    ] 2026-10-20 23:08:40
[2026-10-20 23:08:40,633.633 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:08:40,846.846 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:08:40,868.868 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:08:41,015.015 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:08:41,021.021 INFO    ] time= 20/10/2026 23:08:41
[2026-10-20 23:08:41,027.027 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:08:41,074.074 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:08:41,219.219 INFO    ] No existing commands found in stream
[2026-10-20 23:08:46,244.244 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:08:46,247.247 INFO    ] Waiting 3.67 seconds before fallback handling...
[2026-10-20 23:08:50,398.398 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:08:50,401.401 INFO    ] Checking for system updates...
[2026-10-20 23:08:50,440.440 INFO    ] 200
[2026-10-20 23:08:50,443.443 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:08:50,501.501 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:08:50,504.504 INFO    ] No update needed
[2026-10-20 23:08:50,506.506 INFO    ] Checking for camera pi updates...
[2026-10-20 23:08:50,539.539 INFO    ] 200
[2026-10-20 23:08:50,542.542 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:08:50,587.587 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:08:50,645.645 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:08:50,647.647 INFO    ] No camera update needed
[2026-10-20 23:08:50,650.650 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:08:50,652.652 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:08:50,657.657 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:08:50,662.662 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:08:52,701.701 INFO    ] ================================================
[2026-10-20 23:08:52,716.716 INFO    ] Launching Daemon at Tue Oct 20 23:08:52 IST 2026
[2026-10-20 23:08:52,727.727 INFO    ] ================================================
[2026-10-20 23:08:53,375.375 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:08:53
[2026-10-20 23:08:54,050.050 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:08:54,351.351 INFO    ] Initializing speech engine...
[2026-10-20 23:08:54,359.359 INFO    ] 2026-10-20 23:08:54
[2026-10-20 23:08:54,645.645 INFO    ] 2026-10-20 23:08:54
[2026-10-20 23:08:54,701.701 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:08:54,973.973 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:08:54,982.982 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:08:55,179.179 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:08:55,200.200 INFO    ] time= 20/10/2026 23:08:55
[2026-10-20 23:08:55,209.209 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:08:55,238.238 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:08:55,353.353 INFO    ] No existing commands found in stream
[2026-10-20 23:09:00,383.383 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:09:00,386.386 INFO    ] Waiting 3.91 seconds before fallback handling...
[2026-10-20 23:09:04,788.788 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:09:04,791.791 INFO    ] Checking for system updates...
[2026-10-20 23:09:04,831.831 INFO    ] 200
[2026-10-20 23:09:04,833.833 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:09:04,890.890 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:09:04,893.893 INFO    ] No update needed
[2026-10-20 23:09:04,895.895 INFO    ] Checking for camera pi updates...
[2026-10-20 23:09:04,930.930 INFO    ] 200
[2026-10-20 23:09:04,932.932 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:09:04,973.973 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:09:05,026.026 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:09:05,029.029 INFO    ] No camera update needed
[2026-10-20 23:09:05,031.031 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:09:05,034.034 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:09:05,040.040 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:09:05,045.045 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:09:07,086.086 INFO    ] ================================================
[2026-10-20 23:09:07,101.101 INFO    ] Launching Daemon at Tue Oct 20 23:09:07 IST 2026
[2026-10-20 23:09:07,111.111 INFO    ] ================================================
[2026-10-20 23:09:07,694.694 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:09:07
[2026-10-20 23:09:08,292.292 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:09:08,557.557 INFO    ] Initializing speech engine...
[2026-10-20 23:09:08,571.571 INFO    ] 2026-10-20 23:09:08
[2026-10-20 23:09:08,832.832 INFO    ] 2026-10-20 23:09:08
[2026-10-20 23:09:08,867.867 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:09:09,124.124 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:09:09,130.130 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:09:09,346.346 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:09:09,385.385 INFO    ] time= 20/10/2026 23:09:09
[2026-10-20 23:09:09,391.391 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:09:09,411.411 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:09:09,535.535 INFO    ] No existing commands found in stream
[2026-10-20 23:09:14,550.550 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:09:14,553.553 INFO    ] Waiting 2.52 seconds before fallback handling...
[2026-10-20 23:09:17,570.570 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:09:17,572.572 INFO    ] Checking for system updates...
[2026-10-20 23:09:17,610.610 INFO    ] 200
[2026-10-20 23:09:17,613.613 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:09:17,665.665 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:09:17,668.668 INFO    ] No update needed
[2026-10-20 23:09:17,671.671 INFO    ] Checking for camera pi updates...
[2026-10-20 23:09:17,704.704 INFO    ] 200
[2026-10-20 23:09:17,706.706 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:09:17,746.746 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:09:17,775.775 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:09:17,777.777 INFO    ] No camera update needed
[2026-10-20 23:09:17,780.780 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:09:17,782.782 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:09:17,787.787 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:09:17,792.792 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:09:19,832.832 INFO    ] ================================================
[2026-10-20 23:09:19,847.847 INFO    ] Launching Daemon at Tue Oct 20 23:09:19 IST 2026
[2026-10-20 23:09:19,857.857 INFO    ] ================================================
[2026-10-20 23:09:20,425.425 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:09:20
[2026-10-20 23:09:21,029.029 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:09:21,304.304 INFO    ] Initializing speech engine...
[2026-10-20 23:09:21,313.313 INFO    ] 2026-10-20 23:09:21
[2026-10-20 23:09:21,570.570 INFO    ] 2026-10-20 23:09:21
[2026-10-20 23:09:21,621.621 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:09:21,844.844 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:09:21,853.853 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:09:22,058.058 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:09:22,113.113 INFO    ] time= 20/10/2026 23:09:22
[2026-10-20 23:09:22,129.129 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:09:22,137.137 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:09:22,262.262 INFO    ] No existing commands found in stream
[2026-10-20 23:09:27,278.278 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:09:27,281.281 INFO    ] Waiting 1.06 seconds before fallback handling...
[2026-10-20 23:09:28,814.814 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:09:28,817.817 INFO    ] Checking for system updates...
[2026-10-20 23:09:28,856.856 INFO    ] 200
[2026-10-20 23:09:28,860.860 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:09:28,918.918 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:09:28,921.921 INFO    ] No update needed
[2026-10-20 23:09:28,924.924 INFO    ] Checking for camera pi updates...
[2026-10-20 23:09:28,961.961 INFO    ] 200
[2026-10-20 23:09:28,963.963 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:09:29,011.011 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:09:29,055.055 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:09:29,058.058 INFO    ] No camera update needed
[2026-10-20 23:09:29,060.060 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:09:29,063.063 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:09:29,068.068 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:09:29,073.073 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:09:31,113.113 INFO    ] ================================================
[2026-10-20 23:09:31,128.128 INFO    ] Launching Daemon at Tue Oct 20 23:09:31 IST 2026
[2026-10-20 23:09:31,138.138 INFO    ] ================================================
[2026-10-20 23:09:31,760.760 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:09:31
[2026-10-20 23:09:32,438.438 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:09:32,765.765 INFO    ] Initializing speech engine...
[2026-10-20 23:09:32,774.774 INFO    ] 2026-10-20 23:09:32
[2026-10-20 23:09:33,057.057 INFO    ] 2026-10-20 23:09:33
[2026-10-20 23:09:33,117.117 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:09:33,367.367 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:09:33,386.386 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:09:33,611.611 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:09:33,630.630 INFO    ] time= 20/10/2026 23:09:33
[2026-10-20 23:09:33,647.647 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:09:33,665.665 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:09:33,790.790 INFO    ] No existing commands found in stream
[2026-10-20 23:09:38,803.803 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:09:38,806.806 INFO    ] Waiting 1.02 seconds before fallback handling...
[2026-10-20 23:09:40,343.343 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:09:40,346.346 INFO    ] Checking for system updates...
[2026-10-20 23:09:40,384.384 INFO    ] 200
[2026-10-20 23:09:40,387.387 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:09:40,448.448 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:09:40,451.451 INFO    ] No update needed
[2026-10-20 23:09:40,454.454 INFO    ] Checking for camera pi updates...
[2026-10-20 23:09:40,488.488 INFO    ] 200
[2026-10-20 23:09:40,491.491 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:09:40,532.532 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:09:40,587.587 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:09:40,590.590 INFO    ] No camera update needed
[2026-10-20 23:09:40,592.592 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:09:40,595.595 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:09:40,601.601 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:09:40,606.606 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:09:42,645.645 INFO    ] ================================================
[2026-10-20 23:09:42,660.660 INFO    ] Launching Daemon at Tue Oct 20 23:09:42 IST 2026
[2026-10-20 23:09:42,670.670 INFO    ] ================================================
[2026-10-20 23:09:43,239.239 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:09:43
[2026-10-20 23:09:43,846.846 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:09:44,142.142 INFO    ] Initializing speech engine...
[2026-10-20 23:09:44,149.149 INFO    ] 2026-10-20 23:09:44
[2026-10-20 23:09:44,419.419 INFO    ] 2026-10-20 23:09:44
[2026-10-20 23:09:44,476.476 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:09:44,730.730 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:09:44,734.734 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:09:44,937.937 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:09:44,974.974 INFO    ] time= 20/10/2026 23:09:44
[2026-10-20 23:09:44,992.992 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:09:45,002.002 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:09:45,133.133 INFO    ] No existing commands found in stream
[2026-10-20 23:09:50,148.148 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:09:50,151.151 INFO    ] Waiting 1.42 seconds before fallback handling...
[2026-10-20 23:09:52,074.074 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:09:52,077.077 INFO    ] Checking for system updates...
[2026-10-20 23:09:52,112.112 INFO    ] 200
[2026-10-20 23:09:52,115.115 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:09:52,172.172 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:09:52,175.175 INFO    ] No update needed
[2026-10-20 23:09:52,177.177 INFO    ] Checking for camera pi updates...
[2026-10-20 23:09:52,210.210 INFO    ] 200
[2026-10-20 23:09:52,212.212 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:09:52,251.251 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:09:52,295.295 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:09:52,297.297 INFO    ] No camera update needed
[2026-10-20 23:09:52,300.300 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:09:52,302.302 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:09:52,307.307 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:09:52,312.312 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:09:54,353.353 INFO    ] ================================================
[2026-10-20 23:09:54,367.367 INFO    ] Launching Daemon at Tue Oct 20 23:09:54 IST 2026
[2026-10-20 23:09:54,378.378 INFO    ] ================================================
[2026-10-20 23:09:55,008.008 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:09:55
[2026-10-20 23:09:55,657.657 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:09:55,952.952 INFO    ] Initializing speech engine...
[2026-10-20 23:09:55,960.960 INFO    ] 2026-10-20 23:09:55
[2026-10-20 23:09:56,234.234 INFO    ] 2026-10-20 23:09:56
[2026-10-20 23:09:56,289.289 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:09:56,525.525 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:09:56,531.531 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:09:56,745.745 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:09:56,796.796 INFO    ] time= 20/10/2026 23:09:56
[2026-10-20 23:09:56,814.814 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:09:56,823.823 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:09:56,956.956 INFO    ] No existing commands found in stream
[2026-10-20 23:10:01,983.983 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:10:02,003.003 INFO    ] Waiting 0.08 seconds before fallback handling...
[2026-10-20 23:10:04,870.870 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:10:04,873.873 INFO    ] Checking for system updates...
[2026-10-20 23:10:04,912.912 INFO    ] 200
[2026-10-20 23:10:04,914.914 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:10:04,977.977 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:10:04,980.980 INFO    ] No update needed
[2026-10-20 23:10:04,983.983 INFO    ] Checking for camera pi updates...
[2026-10-20 23:10:05,019.019 INFO    ] 200
[2026-10-20 23:10:05,022.022 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:10:05,062.062 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:10:05,095.095 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:10:05,097.097 INFO    ] No camera update needed
[2026-10-20 23:10:05,100.100 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:10:05,103.103 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:10:05,108.108 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:10:05,114.114 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:10:07,153.153 INFO    ] ================================================
[2026-10-20 23:10:07,168.168 INFO    ] Launching Daemon at Tue Oct 20 23:10:07 IST 2026
[2026-10-20 23:10:07,179.179 INFO    ] ================================================
[2026-10-20 23:10:07,746.746 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:10:07
[2026-10-20 23:10:08,329.329 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:10:08,607.607 INFO    ] Initializing speech engine...
[2026-10-20 23:10:08,614.614 INFO    ] 2026-10-20 23:10:08
[2026-10-20 23:10:08,880.880 INFO    ] 2026-10-20 23:10:08
[2026-10-20 23:10:08,916.916 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:10:09,196.196 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:10:09,216.216 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:10:09,422.422 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:10:09,478.478 INFO    ] time= 20/10/2026 23:10:09
[2026-10-20 23:10:09,485.485 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:10:09,500.500 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:10:09,645.645 INFO    ] No existing commands found in stream
[2026-10-20 23:10:14,659.659 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:10:14,662.662 INFO    ] Waiting 2.22 seconds before fallback handling...
[2026-10-20 23:10:17,404.404 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 23:10:17,407.407 INFO    ] Checking for system updates...
[2026-10-20 23:10:17,442.442 INFO    ] 200
[2026-10-20 23:10:17,445.445 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:10:17,497.497 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:10:17,500.500 INFO    ] No update needed
[2026-10-20 23:10:17,502.502 INFO    ] Checking for camera pi updates...
[2026-10-20 23:10:17,538.538 INFO    ] 200
[2026-10-20 23:10:17,541.541 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:10:17,583.583 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:10:17,627.627 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:10:17,629.629 INFO    ] No camera update needed
[2026-10-20 23:10:17,632.632 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:10:17,634.634 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:10:17,639.639 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:10:17,644.644 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:10:19,684.684 INFO    ] ================================================
[2026-10-20 23:10:19,699.699 INFO    ] Launching Daemon at Tue Oct 20 23:10:19 IST 2026
[2026-10-20 23:10:19,709.709 INFO    ] ================================================
[2026-10-20 23:10:20,277.277 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:10:20
[2026-10-20 23:10:20,862.862 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:10:21,134.134 INFO    ] Initializing speech engine...
[2026-10-20 23:10:21,142.142 INFO    ] 2026-10-20 23:10:21
[2026-10-20 23:10:21,393.393 INFO    ] 2026-10-20 23:10:21
[2026-10-20 23:10:21,428.428 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:10:21,630.630 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:10:21,689.689 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:10:21,895.895 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:10:21,950.950 INFO    ] time= 20/10/2026 23:10:21
[2026-10-20 23:10:21,965.965 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:10:21,984.984 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:10:22,116.116 INFO    ] No existing commands found in stream
[2026-10-20 23:10:27,129.129 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:10:27,132.132 INFO    ] Waiting 2.90 seconds before fallback handling...
[2026-10-20 23:10:30,564.564 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:10:30,567.567 INFO    ] Checking for system updates...
[2026-10-20 23:10:30,606.606 INFO    ] 200
[2026-10-20 23:10:30,609.609 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:10:30,663.663 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:10:30,666.666 INFO    ] No update needed
[2026-10-20 23:10:30,668.668 INFO    ] Checking for camera pi updates...
[2026-10-20 23:10:30,702.702 INFO    ] 200
[2026-10-20 23:10:30,705.705 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:10:30,746.746 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:10:30,892.892 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:10:30,894.894 INFO    ] No camera update needed
[2026-10-20 23:10:30,897.897 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:10:30,900.900 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:10:30,906.906 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:10:30,912.912 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:10:32,957.957 INFO    ] ================================================
[2026-10-20 23:10:32,973.973 INFO    ] Launching Daemon at Tue Oct 20 23:10:32 IST 2026
[2026-10-20 23:10:32,984.984 INFO    ] ================================================
[2026-10-20 23:10:33,578.578 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:10:33
[2026-10-20 23:10:34,178.178 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:10:34,456.456 INFO    ] Initializing speech engine...
[2026-10-20 23:10:34,462.462 INFO    ] 2026-10-20 23:10:34
[2026-10-20 23:10:34,722.722 INFO    ] 2026-10-20 23:10:34
[2026-10-20 23:10:34,776.776 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:10:35,003.003 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:10:35,009.009 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:10:35,141.141 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:10:35,201.201 INFO    ] time= 20/10/2026 23:10:35
[2026-10-20 23:10:35,265.265 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:10:35,275.275 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:10:35,420.420 INFO    ] No existing commands found in stream
[2026-10-20 23:10:40,440.440 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:10:40,443.443 INFO    ] Waiting 0.68 seconds before fallback handling...
[2026-10-20 23:10:41,656.656 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:10:41,659.659 INFO    ] Checking for system updates...
[2026-10-20 23:10:41,698.698 INFO    ] 200
[2026-10-20 23:10:41,701.701 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:10:41,763.763 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:10:41,766.766 INFO    ] No update needed
[2026-10-20 23:10:41,769.769 INFO    ] Checking for camera pi updates...
[2026-10-20 23:10:41,803.803 INFO    ] 200
[2026-10-20 23:10:41,805.805 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:10:41,846.846 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:10:41,890.890 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:10:41,893.893 INFO    ] No camera update needed
[2026-10-20 23:10:41,895.895 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:10:41,897.897 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:10:41,902.902 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:10:41,907.907 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:10:43,948.948 INFO    ] ================================================
[2026-10-20 23:10:43,963.963 INFO    ] Launching Daemon at Tue Oct 20 23:10:43 IST 2026
[2026-10-20 23:10:43,974.974 INFO    ] ================================================
[2026-10-20 23:10:44,554.554 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:10:44
[2026-10-20 23:10:45,152.152 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:10:45,431.431 INFO    ] Initializing speech engine...
[2026-10-20 23:10:45,438.438 INFO    ] 2026-10-20 23:10:45
[2026-10-20 23:10:45,690.690 INFO    ] 2026-10-20 23:10:45
[2026-10-20 23:10:45,726.726 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:10:45,976.976 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:10:45,980.980 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:10:46,119.119 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:10:46,189.189 INFO    ] time= 20/10/2026 23:10:46
[2026-10-20 23:10:46,242.242 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:10:46,248.248 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:10:46,390.390 INFO    ] No existing commands found in stream
[2026-10-20 23:10:51,405.405 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:10:51,408.408 INFO    ] Waiting 1.75 seconds before fallback handling...
[2026-10-20 23:10:53,653.653 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:10:53,656.656 INFO    ] Checking for system updates...
[2026-10-20 23:10:53,691.691 INFO    ] 200
[2026-10-20 23:10:53,694.694 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:10:53,745.745 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:10:53,747.747 INFO    ] No update needed
[2026-10-20 23:10:53,750.750 INFO    ] Checking for camera pi updates...
[2026-10-20 23:10:53,783.783 INFO    ] 200
[2026-10-20 23:10:53,785.785 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:10:53,829.829 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:10:53,877.877 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:10:53,880.880 INFO    ] No camera update needed
[2026-10-20 23:10:53,882.882 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:10:53,885.885 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:10:53,890.890 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:10:53,895.895 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:10:55,936.936 INFO    ] ================================================
[2026-10-20 23:10:55,951.951 INFO    ] Launching Daemon at Tue Oct 20 23:10:55 IST 2026
[2026-10-20 23:10:55,962.962 INFO    ] ================================================
[2026-10-20 23:10:56,593.593 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:10:56
[2026-10-20 23:10:57,244.244 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:10:57,543.543 INFO    ] Initializing speech engine...
[2026-10-20 23:10:57,551.551 INFO    ] 2026-10-20 23:10:57
[2026-10-20 23:10:57,817.817 INFO    ] 2026-10-20 23:10:57
[2026-10-20 23:10:57,853.853 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:10:58,105.105 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:10:58,115.115 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:10:58,262.262 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:10:58,328.328 INFO    ] time= 20/10/2026 23:10:58
[2026-10-20 23:10:58,383.383 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:10:58,390.390 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:10:58,536.536 INFO    ] No existing commands found in stream
[2026-10-20 23:11:03,551.551 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:11:03,554.554 INFO    ] Waiting 1.63 seconds before fallback handling...
[2026-10-20 23:11:05,737.737 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:11:05,740.740 INFO    ] Checking for system updates...
[2026-10-20 23:11:05,777.777 INFO    ] 200
[2026-10-20 23:11:05,780.780 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:11:05,833.833 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:11:05,835.835 INFO    ] No update needed
[2026-10-20 23:11:05,838.838 INFO    ] Checking for camera pi updates...
[2026-10-20 23:11:05,872.872 INFO    ] 200
[2026-10-20 23:11:05,875.875 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:11:05,916.916 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:11:05,963.963 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:11:05,965.965 INFO    ] No camera update needed
[2026-10-20 23:11:05,968.968 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:11:05,971.971 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:11:05,977.977 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:11:05,982.982 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:11:08,022.022 INFO    ] ================================================
[2026-10-20 23:11:08,037.037 INFO    ] Launching Daemon at Tue Oct 20 23:11:08 IST 2026
[2026-10-20 23:11:08,047.047 INFO    ] ================================================
[2026-10-20 23:11:08,690.690 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:11:08
[2026-10-20 23:11:09,354.354 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:11:09,656.656 INFO    ] Initializing speech engine...
[2026-10-20 23:11:09,665.665 INFO    ] 2026-10-20 23:11:09
[2026-10-20 23:11:09,940.940 INFO    ] 2026-10-20 23:11:09
[2026-10-20 23:11:09,998.998 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:11:10,236.236 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:11:10,242.242 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:11:10,372.372 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:11:10,375.375 INFO    ] time= 20/10/2026 23:11:10
[2026-10-20 23:11:10,378.378 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:11:10,395.395 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:11:10,527.527 INFO    ] No existing commands found in stream
[2026-10-20 23:11:15,539.539 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:11:15,542.542 INFO    ] Waiting 1.70 seconds before fallback handling...
[2026-10-20 23:11:17,761.761 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:11:17,763.763 INFO    ] Checking for system updates...
[2026-10-20 23:11:17,800.800 INFO    ] 200
[2026-10-20 23:11:17,803.803 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:11:17,855.855 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:11:17,858.858 INFO    ] No update needed
[2026-10-20 23:11:17,861.861 INFO    ] Checking for camera pi updates...
[2026-10-20 23:11:17,894.894 INFO    ] 200
[2026-10-20 23:11:17,897.897 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:11:17,937.937 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:11:17,982.982 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:11:17,984.984 INFO    ] No camera update needed
[2026-10-20 23:11:17,986.986 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:11:17,989.989 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:11:17,994.994 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:11:17,999.999 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:11:20,038.038 INFO    ] ================================================
[2026-10-20 23:11:20,053.053 INFO    ] Launching Daemon at Tue Oct 20 23:11:20 IST 2026
[2026-10-20 23:11:20,063.063 INFO    ] ================================================
[2026-10-20 23:11:20,627.627 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:11:20
[2026-10-20 23:11:21,211.211 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:11:21,481.481 INFO    ] Initializing speech engine...
[2026-10-20 23:11:21,490.490 INFO    ] 2026-10-20 23:11:21
[2026-10-20 23:11:21,737.737 INFO    ] 2026-10-20 23:11:21
[2026-10-20 23:11:21,771.771 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:11:21,974.974 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:11:22,030.030 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:11:22,182.182 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:11:22,233.233 INFO    ] time= 20/10/2026 23:11:22
[2026-10-20 23:11:22,276.276 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:11:22,312.312 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:11:22,462.462 INFO    ] No existing commands found in stream
[2026-10-20 23:11:27,475.475 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:11:27,478.478 INFO    ] Waiting 3.86 seconds before fallback handling...
[2026-10-20 23:11:31,902.902 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 23:11:31,905.905 INFO    ] Checking for system updates...
[2026-10-20 23:11:31,951.951 INFO    ] 200
[2026-10-20 23:11:31,953.953 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:11:32,009.009 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:11:32,011.011 INFO    ] No update needed
[2026-10-20 23:11:32,014.014 INFO    ] Checking for camera pi updates...
[2026-10-20 23:11:32,053.053 INFO    ] 200
[2026-10-20 23:11:32,056.056 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:11:32,103.103 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:11:32,135.135 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:11:32,138.138 INFO    ] No camera update needed
[2026-10-20 23:11:32,141.141 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:11:32,143.143 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:11:32,149.149 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:11:32,155.155 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:11:34,195.195 INFO    ] ================================================
[2026-10-20 23:11:34,210.210 INFO    ] Launching Daemon at Tue Oct 20 23:11:34 IST 2026
[2026-10-20 23:11:34,221.221 INFO    ] ================================================
[2026-10-20 23:11:34,867.867 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:11:34
[2026-10-20 23:11:35,534.534 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:11:35,838.838 INFO    ] Initializing speech engine...
[2026-10-20 23:11:35,846.846 INFO    ] 2026-10-20 23:11:35
[2026-10-20 23:11:36,135.135 INFO    ] 2026-10-20 23:11:36
[2026-10-20 23:11:36,179.179 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:11:36,458.458 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:11:36,476.476 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:11:36,677.677 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:11:36,684.684 INFO    ] time= 20/10/2026 23:11:36
[2026-10-20 23:11:36,706.706 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:11:36,733.733 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:11:36,849.849 INFO    ] No existing commands found in stream
[2026-10-20 23:11:41,879.879 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:11:41,882.882 INFO    ] Waiting 1.03 seconds before fallback handling...
[2026-10-20 23:11:43,449.449 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:11:43,452.452 INFO    ] Checking for system updates...
[2026-10-20 23:11:43,488.488 INFO    ] 200
[2026-10-20 23:11:43,491.491 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:11:43,544.544 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:11:43,547.547 INFO    ] No update needed
[2026-10-20 23:11:43,550.550 INFO    ] Checking for camera pi updates...
[2026-10-20 23:11:43,590.590 INFO    ] 200
[2026-10-20 23:11:43,593.593 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:11:43,639.639 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:11:43,685.685 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:11:43,688.688 INFO    ] No camera update needed
[2026-10-20 23:11:43,691.691 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:11:43,693.693 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:11:43,699.699 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:11:43,705.705 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:11:45,744.744 INFO    ] ================================================
[2026-10-20 23:11:45,760.760 INFO    ] Launching Daemon at Tue Oct 20 23:11:45 IST 2026
[2026-10-20 23:11:45,771.771 INFO    ] ================================================
[2026-10-20 23:11:46,385.385 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:11:46
[2026-10-20 23:11:47,045.045 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:11:47,347.347 INFO    ] Initializing speech engine...
[2026-10-20 23:11:47,353.353 INFO    ] 2026-10-20 23:11:47
[2026-10-20 23:11:47,645.645 INFO    ] 2026-10-20 23:11:47
[2026-10-20 23:11:47,754.754 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:11:47,967.967 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:11:47,975.975 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:11:48,153.153 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:11:48,175.175 INFO    ] time= 20/10/2026 23:11:48
[2026-10-20 23:11:48,193.193 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:11:48,222.222 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:11:48,331.331 INFO    ] No existing commands found in stream
[2026-10-20 23:11:53,354.354 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:11:53,358.358 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-10-20 23:11:56,536.536 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:11:56,540.540 INFO    ] Checking for system updates...
[2026-10-20 23:11:56,580.580 INFO    ] 200
[2026-10-20 23:11:56,583.583 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:11:56,635.635 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:11:56,637.637 INFO    ] No update needed
[2026-10-20 23:11:56,640.640 INFO    ] Checking for camera pi updates...
[2026-10-20 23:11:56,673.673 INFO    ] 200
[2026-10-20 23:11:56,675.675 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:11:56,715.715 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:11:56,761.761 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:11:56,763.763 INFO    ] No camera update needed
[2026-10-20 23:11:56,765.765 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:11:56,768.768 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:11:56,773.773 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:11:56,778.778 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:11:58,817.817 INFO    ] ================================================
[2026-10-20 23:11:58,832.832 INFO    ] Launching Daemon at Tue Oct 20 23:11:58 IST 2026
[2026-10-20 23:11:58,843.843 INFO    ] ================================================
[2026-10-20 23:11:59,409.409 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:11:59
[2026-10-20 23:11:59,992.992 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:12:00,248.248 INFO    ] Initializing speech engine...
[2026-10-20 23:12:00,264.264 INFO    ] 2026-10-20 23:12:00
[2026-10-20 23:12:00,545.545 INFO    ] 2026-10-20 23:12:00
[2026-10-20 23:12:00,579.579 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:12:00,737.737 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:12:00,778.778 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:12:00,957.957 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:12:00,962.962 INFO    ] time= 20/10/2026 23:12:00
[2026-10-20 23:12:00,968.968 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:12:01,030.030 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:12:01,111.111 INFO    ] No existing commands found in stream
[2026-10-20 23:12:06,129.129 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:12:06,132.132 INFO    ] Waiting 3.50 seconds before fallback handling...
[2026-10-20 23:12:10,113.113 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 23:12:10,116.116 INFO    ] Checking for system updates...
[2026-10-20 23:12:10,151.151 INFO    ] 200
[2026-10-20 23:12:10,153.153 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:12:10,210.210 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:12:10,212.212 INFO    ] No update needed
[2026-10-20 23:12:10,215.215 INFO    ] Checking for camera pi updates...
[2026-10-20 23:12:10,251.251 INFO    ] 200
[2026-10-20 23:12:10,253.253 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:12:10,294.294 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:12:10,326.326 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:12:10,329.329 INFO    ] No camera update needed
[2026-10-20 23:12:10,331.331 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:12:10,333.333 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:12:10,339.339 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:12:10,343.343 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:12:12,382.382 INFO    ] ================================================
[2026-10-20 23:12:12,397.397 INFO    ] Launching Daemon at Tue Oct 20 23:12:12 IST 2026
[2026-10-20 23:12:12,407.407 INFO    ] ================================================
[2026-10-20 23:12:12,992.992 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:12:12
[2026-10-20 23:12:13,588.588 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:12:13,850.850 INFO    ] Initializing speech engine...
[2026-10-20 23:12:13,866.866 INFO    ] 2026-10-20 23:12:13
[2026-10-20 23:12:14,147.147 INFO    ] 2026-10-20 23:12:14
[2026-10-20 23:12:14,186.186 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:12:14,408.408 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:12:14,471.471 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:12:14,626.626 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:12:14,668.668 INFO    ] time= 20/10/2026 23:12:14
[2026-10-20 23:12:14,717.717 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:12:14,762.762 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:12:14,921.921 INFO    ] No existing commands found in stream
[2026-10-20 23:12:19,946.946 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:12:19,949.949 INFO    ] Waiting 1.05 seconds before fallback handling...
[2026-10-20 23:12:21,491.491 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 23:12:21,494.494 INFO    ] Checking for system updates...
[2026-10-20 23:12:21,530.530 INFO    ] 200
[2026-10-20 23:12:21,533.533 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:12:21,594.594 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:12:21,596.596 INFO    ] No update needed
[2026-10-20 23:12:21,599.599 INFO    ] Checking for camera pi updates...
[2026-10-20 23:12:21,632.632 INFO    ] 200
[2026-10-20 23:12:21,634.634 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:12:21,675.675 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:12:21,705.705 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:12:21,708.708 INFO    ] No camera update needed
[2026-10-20 23:12:21,710.710 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:12:21,713.713 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:12:21,719.719 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:12:21,724.724 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:12:23,765.765 INFO    ] ================================================
[2026-10-20 23:12:23,780.780 INFO    ] Launching Daemon at Tue Oct 20 23:12:23 IST 2026
[2026-10-20 23:12:23,791.791 INFO    ] ================================================
[2026-10-20 23:12:24,360.360 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:12:24
[2026-10-20 23:12:24,947.947 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:12:25,218.218 INFO    ] Initializing speech engine...
[2026-10-20 23:12:25,227.227 INFO    ] 2026-10-20 23:12:25
[2026-10-20 23:12:25,485.485 INFO    ] 2026-10-20 23:12:25
[2026-10-20 23:12:25,527.527 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:12:25,777.777 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:12:25,787.787 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:12:25,924.924 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:12:25,984.984 INFO    ] time= 20/10/2026 23:12:25
[2026-10-20 23:12:26,043.043 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:12:26,058.058 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:12:26,211.211 INFO    ] No existing commands found in stream
[2026-10-20 23:12:31,221.221 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:12:31,224.224 INFO    ] Waiting 1.35 seconds before fallback handling...
[2026-10-20 23:12:33,024.024 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:12:33,026.026 INFO    ] Checking for system updates...
[2026-10-20 23:12:33,062.062 INFO    ] 200
[2026-10-20 23:12:33,064.064 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:12:33,123.123 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:12:33,126.126 INFO    ] No update needed
[2026-10-20 23:12:33,128.128 INFO    ] Checking for camera pi updates...
[2026-10-20 23:12:33,163.163 INFO    ] 200
[2026-10-20 23:12:33,166.166 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:12:33,207.207 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:12:33,237.237 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:12:33,240.240 INFO    ] No camera update needed
[2026-10-20 23:12:33,243.243 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:12:33,245.245 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:12:33,252.252 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:12:33,257.257 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:12:35,298.298 INFO    ] ================================================
[2026-10-20 23:12:35,313.313 INFO    ] Launching Daemon at Tue Oct 20 23:12:35 IST 2026
[2026-10-20 23:12:35,324.324 INFO    ] ================================================
[2026-10-20 23:12:35,913.913 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:12:35
[2026-10-20 23:12:36,511.511 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:12:36,784.784 INFO    ] Initializing speech engine...
[2026-10-20 23:12:36,794.794 INFO    ] 2026-10-20 23:12:36
[2026-10-20 23:12:37,055.055 INFO    ] 2026-10-20 23:12:37
[2026-10-20 23:12:37,086.086 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:12:37,337.337 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:12:37,347.347 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:12:37,485.485 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:12:37,545.545 INFO    ] time= 20/10/2026 23:12:37
[2026-10-20 23:12:37,594.594 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:12:37,622.622 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:12:37,752.752 INFO    ] No existing commands found in stream
[2026-10-20 23:12:42,780.780 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:12:42,784.784 INFO    ] Waiting 2.57 seconds before fallback handling...
[2026-10-20 23:12:45,833.833 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:12:45,836.836 INFO    ] Checking for system updates...
[2026-10-20 23:12:45,878.878 INFO    ] 200
[2026-10-20 23:12:45,881.881 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:12:45,940.940 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:12:45,943.943 INFO    ] No update needed
[2026-10-20 23:12:45,945.945 INFO    ] Checking for camera pi updates...
[2026-10-20 23:12:45,980.980 INFO    ] 200
[2026-10-20 23:12:45,983.983 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:12:46,022.022 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:12:46,066.066 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:12:46,069.069 INFO    ] No camera update needed
[2026-10-20 23:12:46,071.071 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:12:46,074.074 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:12:46,079.079 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:12:46,084.084 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:12:48,125.125 INFO    ] ================================================
[2026-10-20 23:12:48,141.141 INFO    ] Launching Daemon at Tue Oct 20 23:12:48 IST 2026
[2026-10-20 23:12:48,152.152 INFO    ] ================================================
[2026-10-20 23:12:48,793.793 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:12:48
[2026-10-20 23:12:49,455.455 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:12:49,754.754 INFO    ] Initializing speech engine...
[2026-10-20 23:12:49,764.764 INFO    ] 2026-10-20 23:12:49
[2026-10-20 23:12:50,038.038 INFO    ] 2026-10-20 23:12:50
[2026-10-20 23:12:50,095.095 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:12:50,321.321 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:12:50,327.327 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:12:50,545.545 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:12:50,584.584 INFO    ] time= 20/10/2026 23:12:50
[2026-10-20 23:12:50,604.604 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:12:50,622.622 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:12:50,800.800 INFO    ] No existing commands found in stream
[2026-10-20 23:12:55,831.831 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:12:55,834.834 INFO    ] Waiting 2.05 seconds before fallback handling...
[2026-10-20 23:12:58,400.400 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:12:58,403.403 INFO    ] Checking for system updates...
[2026-10-20 23:12:58,442.442 INFO    ] 200
[2026-10-20 23:12:58,445.445 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:12:58,496.496 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:12:58,498.498 INFO    ] No update needed
[2026-10-20 23:12:58,501.501 INFO    ] Checking for camera pi updates...
[2026-10-20 23:12:58,534.534 INFO    ] 200
[2026-10-20 23:12:58,537.537 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:12:58,578.578 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:12:58,629.629 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:12:58,632.632 INFO    ] No camera update needed
[2026-10-20 23:12:58,634.634 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:12:58,636.636 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:12:58,641.641 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:12:58,646.646 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:13:00,686.686 INFO    ] ================================================
[2026-10-20 23:13:00,702.702 INFO    ] Launching Daemon at Tue Oct 20 23:13:00 IST 2026
[2026-10-20 23:13:00,713.713 INFO    ] ================================================
[2026-10-20 23:13:01,376.376 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:13:01
[2026-10-20 23:13:02,167.167 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:13:02,489.489 INFO    ] Initializing speech engine...
[2026-10-20 23:13:02,506.506 INFO    ] 2026-10-20 23:13:02
[2026-10-20 23:13:02,796.796 INFO    ] 2026-10-20 23:13:02
[2026-10-20 23:13:02,836.836 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:13:03,055.055 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:13:03,117.117 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:13:03,269.269 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:13:03,316.316 INFO    ] time= 20/10/2026 23:13:03
[2026-10-20 23:13:03,367.367 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:13:03,407.407 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:13:03,558.558 INFO    ] No existing commands found in stream
[2026-10-20 23:13:08,571.571 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:13:08,573.573 INFO    ] Waiting 1.37 seconds before fallback handling...
[2026-10-20 23:13:10,444.444 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:13:10,446.446 INFO    ] Checking for system updates...
[2026-10-20 23:13:10,481.481 INFO    ] 200
[2026-10-20 23:13:10,484.484 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:13:10,536.536 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:13:10,539.539 INFO    ] No update needed
[2026-10-20 23:13:10,541.541 INFO    ] Checking for camera pi updates...
[2026-10-20 23:13:10,577.577 INFO    ] 200
[2026-10-20 23:13:10,580.580 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:13:10,620.620 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:13:10,664.664 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:13:10,667.667 INFO    ] No camera update needed
[2026-10-20 23:13:10,669.669 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:13:10,671.671 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:13:10,676.676 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:13:10,681.681 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:13:12,722.722 INFO    ] ================================================
[2026-10-20 23:13:12,737.737 INFO    ] Launching Daemon at Tue Oct 20 23:13:12 IST 2026
[2026-10-20 23:13:12,748.748 INFO    ] ================================================
[2026-10-20 23:13:13,323.323 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:13:13
[2026-10-20 23:13:13,921.921 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:13:14,183.183 INFO    ] Initializing speech engine...
[2026-10-20 23:13:14,190.190 INFO    ] 2026-10-20 23:13:14
[2026-10-20 23:13:14,484.484 INFO    ] 2026-10-20 23:13:14
[2026-10-20 23:13:14,523.523 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:13:14,752.752 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:13:14,807.807 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:13:14,979.979 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:13:15,029.029 INFO    ] time= 20/10/2026 23:13:14
[2026-10-20 23:13:15,079.079 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:13:15,127.127 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:13:15,259.259 INFO    ] No existing commands found in stream
[2026-10-20 23:13:20,277.277 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:13:20,280.280 INFO    ] Waiting 0.15 seconds before fallback handling...
[2026-10-20 23:13:20,902.902 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:13:20,904.904 INFO    ] Checking for system updates...
[2026-10-20 23:13:20,940.940 INFO    ] 200
[2026-10-20 23:13:20,943.943 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:13:20,994.994 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:13:20,997.997 INFO    ] No update needed
[2026-10-20 23:13:21,000.000 INFO    ] Checking for camera pi updates...
[2026-10-20 23:13:21,034.034 INFO    ] 200
[2026-10-20 23:13:21,036.036 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:13:21,077.077 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:13:21,123.123 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:13:21,126.126 INFO    ] No camera update needed
[2026-10-20 23:13:21,128.128 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:13:21,130.130 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:13:21,136.136 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:13:21,141.141 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:13:23,181.181 INFO    ] ================================================
[2026-10-20 23:13:23,196.196 INFO    ] Launching Daemon at Tue Oct 20 23:13:23 IST 2026
[2026-10-20 23:13:23,207.207 INFO    ] ================================================
[2026-10-20 23:13:23,844.844 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:13:23
[2026-10-20 23:13:24,500.500 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:13:24,802.802 INFO    ] Initializing speech engine...
[2026-10-20 23:13:24,809.809 INFO    ] 2026-10-20 23:13:24
[2026-10-20 23:13:25,081.081 INFO    ] 2026-10-20 23:13:25
[2026-10-20 23:13:25,137.137 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:13:25,370.370 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:13:25,376.376 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:13:25,513.513 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:13:25,584.584 INFO    ] time= 20/10/2026 23:13:25
[2026-10-20 23:13:25,638.638 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:13:25,651.651 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:13:25,779.779 INFO    ] No existing commands found in stream
[2026-10-20 23:13:30,808.808 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:13:30,811.811 INFO    ] Waiting 1.05 seconds before fallback handling...
[2026-10-20 23:13:32,395.395 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 23:13:32,398.398 INFO    ] Checking for system updates...
[2026-10-20 23:13:32,434.434 INFO    ] 200
[2026-10-20 23:13:32,437.437 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:13:32,491.491 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:13:32,493.493 INFO    ] No update needed
[2026-10-20 23:13:32,496.496 INFO    ] Checking for camera pi updates...
[2026-10-20 23:13:32,530.530 INFO    ] 200
[2026-10-20 23:13:32,533.533 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:13:32,578.578 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:13:32,611.611 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:13:32,614.614 INFO    ] No camera update needed
[2026-10-20 23:13:32,617.617 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:13:32,620.620 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:13:32,625.625 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:13:32,631.631 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:13:34,672.672 INFO    ] ================================================
[2026-10-20 23:13:34,687.687 INFO    ] Launching Daemon at Tue Oct 20 23:13:34 IST 2026
[2026-10-20 23:13:34,698.698 INFO    ] ================================================
[2026-10-20 23:13:35,347.347 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:13:35
[2026-10-20 23:13:36,010.010 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:13:36,311.311 INFO    ] Initializing speech engine...
[2026-10-20 23:13:36,320.320 INFO    ] 2026-10-20 23:13:36
[2026-10-20 23:13:36,597.597 INFO    ] 2026-10-20 23:13:36
[2026-10-20 23:13:36,654.654 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:13:36,887.887 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:13:36,893.893 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:13:37,111.111 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:13:37,157.157 INFO    ] time= 20/10/2026 23:13:37
[2026-10-20 23:13:37,175.175 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:13:37,186.186 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:13:37,332.332 INFO    ] No existing commands found in stream
[2026-10-20 23:13:42,364.364 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:13:42,367.367 INFO    ] Waiting 0.71 seconds before fallback handling...
[2026-10-20 23:13:43,602.602 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:13:43,605.605 INFO    ] Checking for system updates...
[2026-10-20 23:13:43,641.641 INFO    ] 200
[2026-10-20 23:13:43,644.644 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:13:43,704.704 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:13:43,707.707 INFO    ] No update needed
[2026-10-20 23:13:43,710.710 INFO    ] Checking for camera pi updates...
[2026-10-20 23:13:43,745.745 INFO    ] 200
[2026-10-20 23:13:43,747.747 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:13:43,789.789 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:13:43,840.840 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:13:43,843.843 INFO    ] No camera update needed
[2026-10-20 23:13:43,846.846 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:13:43,848.848 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:13:43,856.856 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:13:43,862.862 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:13:45,901.901 INFO    ] ================================================
[2026-10-20 23:13:45,917.917 INFO    ] Launching Daemon at Tue Oct 20 23:13:45 IST 2026
[2026-10-20 23:13:45,928.928 INFO    ] ================================================
[2026-10-20 23:13:46,572.572 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:13:46
[2026-10-20 23:13:47,239.239 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:13:47,547.547 INFO    ] Initializing speech engine...
[2026-10-20 23:13:47,559.559 INFO    ] 2026-10-20 23:13:47
[2026-10-20 23:13:47,839.839 INFO    ] 2026-10-20 23:13:47
[2026-10-20 23:13:47,884.884 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:13:48,117.117 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:13:48,123.123 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:13:48,345.345 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:13:48,388.388 INFO    ] time= 20/10/2026 23:13:48
[2026-10-20 23:13:48,406.406 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:13:48,417.417 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:13:48,563.563 INFO    ] No existing commands found in stream
[2026-10-20 23:13:53,600.600 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:13:53,604.604 INFO    ] Waiting 0.03 seconds before fallback handling...
[2026-10-20 23:13:54,129.129 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 23:13:54,132.132 INFO    ] Checking for system updates...
[2026-10-20 23:13:54,168.168 INFO    ] 200
[2026-10-20 23:13:54,171.171 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:13:54,222.222 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:13:54,224.224 INFO    ] No update needed
[2026-10-20 23:13:54,227.227 INFO    ] Checking for camera pi updates...
[2026-10-20 23:13:54,260.260 INFO    ] 200
[2026-10-20 23:13:54,262.262 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:13:54,303.303 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:13:54,345.345 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:13:54,348.348 INFO    ] No camera update needed
[2026-10-20 23:13:54,350.350 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:13:54,352.352 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:13:54,358.358 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:13:54,363.363 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:13:56,402.402 INFO    ] ================================================
[2026-10-20 23:13:56,417.417 INFO    ] Launching Daemon at Tue Oct 20 23:13:56 IST 2026
[2026-10-20 23:13:56,428.428 INFO    ] ================================================
[2026-10-20 23:13:56,999.999 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:13:56
[2026-10-20 23:13:57,597.597 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:13:57,868.868 INFO    ] Initializing speech engine...
[2026-10-20 23:13:57,874.874 INFO    ] 2026-10-20 23:13:57
[2026-10-20 23:13:58,133.133 INFO    ] 2026-10-20 23:13:58
[2026-10-20 23:13:58,162.162 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:13:58,405.405 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:13:58,414.414 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:13:58,548.548 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:13:58,622.622 INFO    ] time= 20/10/2026 23:13:58
[2026-10-20 23:13:58,675.675 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:13:58,681.681 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:13:58,821.821 INFO    ] No existing commands found in stream
[2026-10-20 23:14:03,841.841 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:14:03,844.844 INFO    ] Waiting 1.41 seconds before fallback handling...
[2026-10-20 23:14:05,745.745 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:14:05,747.747 INFO    ] Checking for system updates...
[2026-10-20 23:14:05,784.784 INFO    ] 200
[2026-10-20 23:14:05,786.786 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:14:05,838.838 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:14:05,840.840 INFO    ] No update needed
[2026-10-20 23:14:05,843.843 INFO    ] Checking for camera pi updates...
[2026-10-20 23:14:05,875.875 INFO    ] 200
[2026-10-20 23:14:05,878.878 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:14:05,925.925 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:14:05,971.971 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:14:05,973.973 INFO    ] No camera update needed
[2026-10-20 23:14:05,976.976 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:14:05,978.978 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:14:05,984.984 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:14:05,989.989 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:14:08,029.029 INFO    ] ================================================
[2026-10-20 23:14:08,045.045 INFO    ] Launching Daemon at Tue Oct 20 23:14:08 IST 2026
[2026-10-20 23:14:08,056.056 INFO    ] ================================================
[2026-10-20 23:14:08,636.636 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:14:08
[2026-10-20 23:14:09,235.235 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:14:09,511.511 INFO    ] Initializing speech engine...
[2026-10-20 23:14:09,522.522 INFO    ] 2026-10-20 23:14:09
[2026-10-20 23:14:09,800.800 INFO    ] 2026-10-20 23:14:09
[2026-10-20 23:14:09,836.836 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:14:10,060.060 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:14:10,066.066 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:14:10,257.257 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:14:10,317.317 INFO    ] time= 20/10/2026 23:14:10
[2026-10-20 23:14:10,329.329 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:14:10,350.350 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:14:10,478.478 INFO    ] No existing commands found in stream
[2026-10-20 23:14:15,497.497 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:14:15,500.500 INFO    ] Waiting 1.34 seconds before fallback handling...
[2026-10-20 23:14:17,337.337 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 23:14:17,340.340 INFO    ] Checking for system updates...
[2026-10-20 23:14:17,375.375 INFO    ] 200
[2026-10-20 23:14:17,377.377 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:14:17,430.430 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:14:17,432.432 INFO    ] No update needed
[2026-10-20 23:14:17,435.435 INFO    ] Checking for camera pi updates...
[2026-10-20 23:14:17,472.472 INFO    ] 200
[2026-10-20 23:14:17,474.474 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:14:17,519.519 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:14:17,565.565 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:14:17,567.567 INFO    ] No camera update needed
[2026-10-20 23:14:17,570.570 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:14:17,572.572 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:14:17,578.578 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:14:17,583.583 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:14:19,624.624 INFO    ] ================================================
[2026-10-20 23:14:19,640.640 INFO    ] Launching Daemon at Tue Oct 20 23:14:19 IST 2026
[2026-10-20 23:14:19,652.652 INFO    ] ================================================
[2026-10-20 23:14:20,308.308 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:14:20
[2026-10-20 23:14:20,983.983 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:14:21,290.290 INFO    ] Initializing speech engine...
[2026-10-20 23:14:21,296.296 INFO    ] 2026-10-20 23:14:21
[2026-10-20 23:14:21,570.570 INFO    ] 2026-10-20 23:14:21
[2026-10-20 23:14:21,606.606 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:14:21,864.864 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:14:21,869.869 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:14:22,088.088 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:14:22,135.135 INFO    ] time= 20/10/2026 23:14:22
[2026-10-20 23:14:22,142.142 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:14:22,161.161 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:14:22,297.297 INFO    ] No existing commands found in stream
[2026-10-20 23:14:27,322.322 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:14:27,325.325 INFO    ] Waiting 3.60 seconds before fallback handling...
[2026-10-20 23:14:31,456.456 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 23:14:31,460.460 INFO    ] Checking for system updates...
[2026-10-20 23:14:31,500.500 INFO    ] 200
[2026-10-20 23:14:31,503.503 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:14:31,559.559 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:14:31,562.562 INFO    ] No update needed
[2026-10-20 23:14:31,564.564 INFO    ] Checking for camera pi updates...
[2026-10-20 23:14:31,600.600 INFO    ] 200
[2026-10-20 23:14:31,603.603 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:14:31,646.646 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:14:31,702.702 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:14:31,705.705 INFO    ] No camera update needed
[2026-10-20 23:14:31,707.707 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:14:31,710.710 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:14:31,716.716 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:14:31,722.722 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:14:33,763.763 INFO    ] ================================================
[2026-10-20 23:14:33,780.780 INFO    ] Launching Daemon at Tue Oct 20 23:14:33 IST 2026
[2026-10-20 23:14:33,790.790 INFO    ] ================================================
[2026-10-20 23:14:34,443.443 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:14:34
[2026-10-20 23:14:35,117.117 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:14:35,417.417 INFO    ] Initializing speech engine...
[2026-10-20 23:14:35,428.428 INFO    ] 2026-10-20 23:14:35
[2026-10-20 23:14:35,715.715 INFO    ] 2026-10-20 23:14:35
[2026-10-20 23:14:35,758.758 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:14:36,025.025 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:14:36,049.049 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:14:36,230.230 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:14:36,252.252 INFO    ] time= 20/10/2026 23:14:36
[2026-10-20 23:14:36,268.268 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:14:36,288.288 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:14:36,417.417 INFO    ] No existing commands found in stream
[2026-10-20 23:14:41,442.442 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:14:41,445.445 INFO    ] Waiting 3.25 seconds before fallback handling...
[2026-10-20 23:14:45,243.243 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:14:45,246.246 INFO    ] Checking for system updates...
[2026-10-20 23:14:45,284.284 INFO    ] 200
[2026-10-20 23:14:45,287.287 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:14:45,340.340 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:14:45,343.343 INFO    ] No update needed
[2026-10-20 23:14:45,345.345 INFO    ] Checking for camera pi updates...
[2026-10-20 23:14:45,379.379 INFO    ] 200
[2026-10-20 23:14:45,381.381 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:14:45,425.425 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:14:45,578.578 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:14:45,580.580 INFO    ] No camera update needed
[2026-10-20 23:14:45,583.583 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:14:45,585.585 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:14:45,590.590 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:14:45,596.596 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:14:47,637.637 INFO    ] ================================================
[2026-10-20 23:14:47,653.653 INFO    ] Launching Daemon at Tue Oct 20 23:14:47 IST 2026
[2026-10-20 23:14:47,664.664 INFO    ] ================================================
[2026-10-20 23:14:48,231.231 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:14:48
[2026-10-20 23:14:48,814.814 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:14:49,085.085 INFO    ] Initializing speech engine...
[2026-10-20 23:14:49,094.094 INFO    ] 2026-10-20 23:14:49
[2026-10-20 23:14:49,344.344 INFO    ] 2026-10-20 23:14:49
[2026-10-20 23:14:49,379.379 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:14:49,636.636 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:14:49,646.646 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:14:49,783.783 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:14:49,832.832 INFO    ] time= 20/10/2026 23:14:49
[2026-10-20 23:14:49,886.886 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:14:49,916.916 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:14:50,069.069 INFO    ] No existing commands found in stream
[2026-10-20 23:14:55,082.082 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:14:55,085.085 INFO    ] Waiting 1.85 seconds before fallback handling...
[2026-10-20 23:14:57,476.476 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:14:57,478.478 INFO    ] Checking for system updates...
[2026-10-20 23:14:57,514.514 INFO    ] 200
[2026-10-20 23:14:57,516.516 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:14:57,568.568 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:14:57,571.571 INFO    ] No update needed
[2026-10-20 23:14:57,573.573 INFO    ] Checking for camera pi updates...
[2026-10-20 23:14:57,614.614 INFO    ] 200
[2026-10-20 23:14:57,616.616 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:14:57,658.658 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:14:57,705.705 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:14:57,708.708 INFO    ] No camera update needed
[2026-10-20 23:14:57,711.711 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:14:57,713.713 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:14:57,720.720 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:14:57,725.725 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:14:59,767.767 INFO    ] ================================================
[2026-10-20 23:14:59,782.782 INFO    ] Launching Daemon at Tue Oct 20 23:14:59 IST 2026
[2026-10-20 23:14:59,793.793 INFO    ] ================================================
[2026-10-20 23:15:00,368.368 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:15:00
[2026-10-20 23:15:00,952.952 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:15:01,210.210 INFO    ] Initializing speech engine...
[2026-10-20 23:15:01,227.227 INFO    ] 2026-10-20 23:15:01
[2026-10-20 23:15:02,298.298 INFO    ] 2026-10-20 23:15:02
[2026-10-20 23:15:02,355.355 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:15:02,587.587 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:15:02,608.608 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:15:02,830.830 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:15:02,843.843 INFO    ] time= 20/10/2026 23:15:02
[2026-10-20 23:15:02,866.866 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:15:02,897.897 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:15:03,029.029 INFO    ] No existing commands found in stream
[2026-10-20 23:15:08,051.051 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:15:08,054.054 INFO    ] Waiting 3.58 seconds before fallback handling...
[2026-10-20 23:15:12,149.149 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:15:12,151.151 INFO    ] Checking for system updates...
[2026-10-20 23:15:12,187.187 INFO    ] 200
[2026-10-20 23:15:12,190.190 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:15:12,242.242 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:15:12,244.244 INFO    ] No update needed
[2026-10-20 23:15:12,246.246 INFO    ] Checking for camera pi updates...
[2026-10-20 23:15:12,280.280 INFO    ] 200
[2026-10-20 23:15:12,283.283 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:15:12,323.323 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:15:12,372.372 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:15:12,374.374 INFO    ] No camera update needed
[2026-10-20 23:15:12,377.377 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:15:12,379.379 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:15:12,384.384 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:15:12,389.389 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:15:14,430.430 INFO    ] ================================================
[2026-10-20 23:15:14,446.446 INFO    ] Launching Daemon at Tue Oct 20 23:15:14 IST 2026
[2026-10-20 23:15:14,457.457 INFO    ] ================================================
[2026-10-20 23:15:15,026.026 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:15:15
[2026-10-20 23:15:15,672.672 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:15:15,965.965 INFO    ] Initializing speech engine...
[2026-10-20 23:15:15,973.973 INFO    ] 2026-10-20 23:15:15
[2026-10-20 23:15:16,283.283 INFO    ] 2026-10-20 23:15:16
[2026-10-20 23:15:16,368.368 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:15:16,584.584 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:15:16,589.589 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:15:16,776.776 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:15:16,792.792 INFO    ] time= 20/10/2026 23:15:16
[2026-10-20 23:15:16,808.808 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:15:16,833.833 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:15:16,958.958 INFO    ] No existing commands found in stream
[2026-10-20 23:15:21,979.979 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:15:21,982.982 INFO    ] Waiting 3.19 seconds before fallback handling...
[2026-10-20 23:15:25,704.704 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:15:25,707.707 INFO    ] Checking for system updates...
[2026-10-20 23:15:25,745.745 INFO    ] 200
[2026-10-20 23:15:25,748.748 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:15:25,800.800 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:15:25,803.803 INFO    ] No update needed
[2026-10-20 23:15:25,805.805 INFO    ] Checking for camera pi updates...
[2026-10-20 23:15:25,840.840 INFO    ] 200
[2026-10-20 23:15:25,842.842 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:15:25,883.883 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:15:25,933.933 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:15:25,936.936 INFO    ] No camera update needed
[2026-10-20 23:15:25,939.939 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:15:25,941.941 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:15:25,947.947 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:15:25,953.953 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:15:27,993.993 INFO    ] ================================================
[2026-10-20 23:15:28,008.008 INFO    ] Launching Daemon at Tue Oct 20 23:15:28 IST 2026
[2026-10-20 23:15:28,019.019 INFO    ] ================================================
[2026-10-20 23:15:28,637.637 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:15:28
[2026-10-20 23:15:29,275.275 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:15:29,569.569 INFO    ] Initializing speech engine...
[2026-10-20 23:15:29,576.576 INFO    ] 2026-10-20 23:15:29
[2026-10-20 23:15:29,856.856 INFO    ] 2026-10-20 23:15:29
[2026-10-20 23:15:29,901.901 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:15:30,132.132 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:15:30,137.137 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:15:30,375.375 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:15:30,396.396 INFO    ] time= 20/10/2026 23:15:30
[2026-10-20 23:15:30,415.415 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:15:30,443.443 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:15:30,589.589 INFO    ] No existing commands found in stream
[2026-10-20 23:15:35,619.619 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:15:35,622.622 INFO    ] Waiting 0.80 seconds before fallback handling...
[2026-10-20 23:15:37,001.001 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 23:15:37,004.004 INFO    ] Checking for system updates...
[2026-10-20 23:15:37,041.041 INFO    ] 200
[2026-10-20 23:15:37,043.043 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:15:37,101.101 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:15:37,104.104 INFO    ] No update needed
[2026-10-20 23:15:37,107.107 INFO    ] Checking for camera pi updates...
[2026-10-20 23:15:37,144.144 INFO    ] 200
[2026-10-20 23:15:37,147.147 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:15:37,192.192 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:15:37,248.248 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:15:37,251.251 INFO    ] No camera update needed
[2026-10-20 23:15:37,253.253 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:15:37,256.256 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:15:37,262.262 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:15:37,267.267 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:15:39,309.309 INFO    ] ================================================
[2026-10-20 23:15:39,329.329 INFO    ] Launching Daemon at Tue Oct 20 23:15:39 IST 2026
[2026-10-20 23:15:39,339.339 INFO    ] ================================================
[2026-10-20 23:15:39,972.972 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:15:39
[2026-10-20 23:15:40,641.641 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:15:40,953.953 INFO    ] Initializing speech engine...
[2026-10-20 23:15:40,964.964 INFO    ] 2026-10-20 23:15:40
[2026-10-20 23:15:41,228.228 INFO    ] 2026-10-20 23:15:41
[2026-10-20 23:15:41,272.272 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:15:41,535.535 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:15:41,559.559 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:15:41,727.727 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:15:41,759.759 INFO    ] time= 20/10/2026 23:15:41
[2026-10-20 23:15:41,776.776 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:15:41,786.786 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:15:41,915.915 INFO    ] No existing commands found in stream
[2026-10-20 23:15:46,929.929 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:15:46,932.932 INFO    ] Waiting 3.41 seconds before fallback handling...
[2026-10-20 23:15:50,865.865 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 23:15:50,868.868 INFO    ] Checking for system updates...
[2026-10-20 23:15:50,903.903 INFO    ] 200
[2026-10-20 23:15:50,905.905 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:15:50,962.962 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:15:50,964.964 INFO    ] No update needed
[2026-10-20 23:15:50,967.967 INFO    ] Checking for camera pi updates...
[2026-10-20 23:15:51,000.000 INFO    ] 200
[2026-10-20 23:15:51,002.002 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:15:51,046.046 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:15:51,094.094 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:15:51,097.097 INFO    ] No camera update needed
[2026-10-20 23:15:51,099.099 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:15:51,101.101 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:15:51,107.107 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:15:51,112.112 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:15:53,151.151 INFO    ] ================================================
[2026-10-20 23:15:53,166.166 INFO    ] Launching Daemon at Tue Oct 20 23:15:53 IST 2026
[2026-10-20 23:15:53,177.177 INFO    ] ================================================
[2026-10-20 23:15:53,745.745 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:15:53
[2026-10-20 23:15:54,401.401 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:15:54,700.700 INFO    ] Initializing speech engine...
[2026-10-20 23:15:54,708.708 INFO    ] 2026-10-20 23:15:54
[2026-10-20 23:15:54,975.975 INFO    ] 2026-10-20 23:15:54
[2026-10-20 23:15:55,011.011 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:15:55,271.271 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:15:55,276.276 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:15:55,503.503 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:15:55,542.542 INFO    ] time= 20/10/2026 23:15:55
[2026-10-20 23:15:55,561.561 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:15:55,571.571 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:15:55,731.731 INFO    ] No existing commands found in stream
[2026-10-20 23:16:00,762.762 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:16:00,765.765 INFO    ] Waiting 1.76 seconds before fallback handling...
[2026-10-20 23:16:03,077.077 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 23:16:03,081.081 INFO    ] Checking for system updates...
[2026-10-20 23:16:03,132.132 INFO    ] 200
[2026-10-20 23:16:03,135.135 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:16:03,211.211 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:16:03,214.214 INFO    ] No update needed
[2026-10-20 23:16:03,217.217 INFO    ] Checking for camera pi updates...
[2026-10-20 23:16:03,262.262 INFO    ] 200
[2026-10-20 23:16:03,265.265 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:16:03,310.310 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:16:03,361.361 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:16:03,363.363 INFO    ] No camera update needed
[2026-10-20 23:16:03,366.366 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:16:03,368.368 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:16:03,381.381 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:16:03,389.389 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:16:05,429.429 INFO    ] ================================================
[2026-10-20 23:16:05,444.444 INFO    ] Launching Daemon at Tue Oct 20 23:16:05 IST 2026
[2026-10-20 23:16:05,455.455 INFO    ] ================================================
[2026-10-20 23:16:06,067.067 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:16:06
[2026-10-20 23:16:06,736.736 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:16:07,025.025 INFO    ] Initializing speech engine...
[2026-10-20 23:16:07,039.039 INFO    ] 2026-10-20 23:16:07
[2026-10-20 23:16:07,333.333 INFO    ] 2026-10-20 23:16:07
[2026-10-20 23:16:07,370.370 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:16:07,572.572 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:16:07,627.627 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:16:07,856.856 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:16:07,902.902 INFO    ] time= 20/10/2026 23:16:07
[2026-10-20 23:16:07,909.909 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:16:07,927.927 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:16:08,056.056 INFO    ] No existing commands found in stream
[2026-10-20 23:16:13,069.069 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:16:13,072.072 INFO    ] Waiting 0.45 seconds before fallback handling...
[2026-10-20 23:16:14,017.017 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:16:14,019.019 INFO    ] Checking for system updates...
[2026-10-20 23:16:14,059.059 INFO    ] 200
[2026-10-20 23:16:14,061.061 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:16:14,130.130 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:16:14,133.133 INFO    ] No update needed
[2026-10-20 23:16:14,136.136 INFO    ] Checking for camera pi updates...
[2026-10-20 23:16:14,174.174 INFO    ] 200
[2026-10-20 23:16:14,177.177 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:16:14,227.227 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:16:14,279.279 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:16:14,283.283 INFO    ] No camera update needed
[2026-10-20 23:16:14,285.285 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:16:14,289.289 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:16:14,295.295 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:16:14,302.302 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:16:16,346.346 INFO    ] ================================================
[2026-10-20 23:16:16,363.363 INFO    ] Launching Daemon at Tue Oct 20 23:16:16 IST 2026
[2026-10-20 23:16:16,377.377 INFO    ] ================================================
[2026-10-20 23:16:16,961.961 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:16:16
[2026-10-20 23:16:17,562.562 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:16:17,847.847 INFO    ] Initializing speech engine...
[2026-10-20 23:16:17,855.855 INFO    ] 2026-10-20 23:16:17
[2026-10-20 23:16:18,134.134 INFO    ] 2026-10-20 23:16:18
[2026-10-20 23:16:18,172.172 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:16:18,396.396 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:16:18,404.404 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:16:18,622.622 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:16:18,644.644 INFO    ] time= 20/10/2026 23:16:18
[2026-10-20 23:16:18,694.694 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:16:18,753.753 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:16:18,915.915 INFO    ] No existing commands found in stream
[2026-10-20 23:16:23,946.946 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:16:23,949.949 INFO    ] Waiting 0.98 seconds before fallback handling...
[2026-10-20 23:16:25,464.464 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 23:16:25,467.467 INFO    ] Checking for system updates...
[2026-10-20 23:16:25,504.504 INFO    ] 200
[2026-10-20 23:16:25,506.506 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:16:25,560.560 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:16:25,562.562 INFO    ] No update needed
[2026-10-20 23:16:25,564.564 INFO    ] Checking for camera pi updates...
[2026-10-20 23:16:25,598.598 INFO    ] 200
[2026-10-20 23:16:25,601.601 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:16:25,641.641 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:16:25,693.693 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:16:25,695.695 INFO    ] No camera update needed
[2026-10-20 23:16:25,697.697 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:16:25,700.700 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:16:25,705.705 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:16:25,710.710 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:16:27,751.751 INFO    ] ================================================
[2026-10-20 23:16:27,766.766 INFO    ] Launching Daemon at Tue Oct 20 23:16:27 IST 2026
[2026-10-20 23:16:27,777.777 INFO    ] ================================================
[2026-10-20 23:16:28,413.413 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:16:28
[2026-10-20 23:16:29,070.070 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:16:29,364.364 INFO    ] Initializing speech engine...
[2026-10-20 23:16:29,372.372 INFO    ] 2026-10-20 23:16:29
[2026-10-20 23:16:29,663.663 INFO    ] 2026-10-20 23:16:29
[2026-10-20 23:16:29,772.772 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:16:29,982.982 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:16:29,991.991 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:16:30,176.176 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:16:30,193.193 INFO    ] time= 20/10/2026 23:16:30
[2026-10-20 23:16:30,212.212 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:16:30,241.241 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:16:30,370.370 INFO    ] No existing commands found in stream
[2026-10-20 23:16:35,395.395 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:16:35,398.398 INFO    ] Waiting 1.11 seconds before fallback handling...
[2026-10-20 23:16:37,037.037 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:16:37,041.041 INFO    ] Checking for system updates...
[2026-10-20 23:16:37,083.083 INFO    ] 200
[2026-10-20 23:16:37,085.085 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:16:37,141.141 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:16:37,143.143 INFO    ] No update needed
[2026-10-20 23:16:37,145.145 INFO    ] Checking for camera pi updates...
[2026-10-20 23:16:37,179.179 INFO    ] 200
[2026-10-20 23:16:37,182.182 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:16:37,226.226 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:16:37,283.283 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:16:37,286.286 INFO    ] No camera update needed
[2026-10-20 23:16:37,288.288 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:16:37,291.291 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:16:37,296.296 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:16:37,301.301 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:16:39,342.342 INFO    ] ================================================
[2026-10-20 23:16:39,359.359 INFO    ] Launching Daemon at Tue Oct 20 23:16:39 IST 2026
[2026-10-20 23:16:39,370.370 INFO    ] ================================================
[2026-10-20 23:16:39,981.981 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:16:39
[2026-10-20 23:16:40,601.601 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:16:40,893.893 INFO    ] Initializing speech engine...
[2026-10-20 23:16:40,900.900 INFO    ] 2026-10-20 23:16:40
[2026-10-20 23:16:41,164.164 INFO    ] 2026-10-20 23:16:41
[2026-10-20 23:16:41,201.201 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:16:41,461.461 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:16:41,470.470 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:16:41,620.620 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:16:41,669.669 INFO    ] time= 20/10/2026 23:16:41
[2026-10-20 23:16:41,735.735 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:16:41,747.747 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:16:41,877.877 INFO    ] No existing commands found in stream
[2026-10-20 23:16:46,943.943 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:16:46,945.945 INFO    ] Waiting 1.50 seconds before fallback handling...
[2026-10-20 23:16:48,931.931 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:16:48,934.934 INFO    ] Checking for system updates...
[2026-10-20 23:16:48,974.974 INFO    ] 200
[2026-10-20 23:16:48,977.977 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:16:49,030.030 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:16:49,033.033 INFO    ] No update needed
[2026-10-20 23:16:49,035.035 INFO    ] Checking for camera pi updates...
[2026-10-20 23:16:49,069.069 INFO    ] 200
[2026-10-20 23:16:49,071.071 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:16:49,115.115 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:16:49,261.261 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:16:49,264.264 INFO    ] No camera update needed
[2026-10-20 23:16:49,266.266 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:16:49,268.268 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:16:49,274.274 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:16:49,279.279 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:16:51,322.322 INFO    ] ================================================
[2026-10-20 23:16:51,337.337 INFO    ] Launching Daemon at Tue Oct 20 23:16:51 IST 2026
[2026-10-20 23:16:51,349.349 INFO    ] ================================================
[2026-10-20 23:16:51,993.993 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:16:51
[2026-10-20 23:16:52,686.686 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:16:53,002.002 INFO    ] Initializing speech engine...
[2026-10-20 23:16:53,015.015 INFO    ] 2026-10-20 23:16:53
[2026-10-20 23:16:53,304.304 INFO    ] 2026-10-20 23:16:53
[2026-10-20 23:16:53,351.351 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:16:53,608.608 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:16:53,619.619 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:16:53,834.834 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:16:53,858.858 INFO    ] time= 20/10/2026 23:16:53
[2026-10-20 23:16:53,876.876 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:16:53,896.896 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:16:54,035.035 INFO    ] No existing commands found in stream
[2026-10-20 23:16:59,071.071 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:16:59,074.074 INFO    ] Waiting 0.46 seconds before fallback handling...
[2026-10-20 23:17:00,107.107 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 23:17:00,110.110 INFO    ] Checking for system updates...
[2026-10-20 23:17:00,147.147 INFO    ] 200
[2026-10-20 23:17:00,149.149 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:17:00,202.202 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:17:00,205.205 INFO    ] No update needed
[2026-10-20 23:17:00,207.207 INFO    ] Checking for camera pi updates...
[2026-10-20 23:17:00,241.241 INFO    ] 200
[2026-10-20 23:17:00,243.243 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:17:00,283.283 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:17:00,333.333 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:17:00,335.335 INFO    ] No camera update needed
[2026-10-20 23:17:00,338.338 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:17:00,340.340 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:17:00,345.345 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:17:00,351.351 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:17:02,391.391 INFO    ] ================================================
[2026-10-20 23:17:02,412.412 INFO    ] Launching Daemon at Tue Oct 20 23:17:02 IST 2026
[2026-10-20 23:17:02,424.424 INFO    ] ================================================
[2026-10-20 23:17:03,060.060 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:17:03
[2026-10-20 23:17:03,725.725 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:17:04,003.003 INFO    ] Initializing speech engine...
[2026-10-20 23:17:04,016.016 INFO    ] 2026-10-20 23:17:04
[2026-10-20 23:17:04,302.302 INFO    ] 2026-10-20 23:17:04
[2026-10-20 23:17:04,336.336 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:17:04,540.540 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:17:04,554.554 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:17:04,718.718 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:17:04,726.726 INFO    ] time= 20/10/2026 23:17:04
[2026-10-20 23:17:04,733.733 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:17:04,757.757 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:17:04,912.912 INFO    ] No existing commands found in stream
[2026-10-20 23:17:09,943.943 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:17:09,945.945 INFO    ] Waiting 3.48 seconds before fallback handling...
[2026-10-20 23:17:13,923.923 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:17:13,925.925 INFO    ] Checking for system updates...
[2026-10-20 23:17:13,965.965 INFO    ] 200
[2026-10-20 23:17:13,967.967 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:17:14,019.019 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:17:14,022.022 INFO    ] No update needed
[2026-10-20 23:17:14,025.025 INFO    ] Checking for camera pi updates...
[2026-10-20 23:17:14,059.059 INFO    ] 200
[2026-10-20 23:17:14,061.061 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:17:14,102.102 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:17:14,152.152 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:17:14,155.155 INFO    ] No camera update needed
[2026-10-20 23:17:14,157.157 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:17:14,159.159 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:17:14,165.165 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:17:14,169.169 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:17:16,210.210 INFO    ] ================================================
[2026-10-20 23:17:16,226.226 INFO    ] Launching Daemon at Tue Oct 20 23:17:16 IST 2026
[2026-10-20 23:17:16,237.237 INFO    ] ================================================
[2026-10-20 23:17:16,900.900 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:17:16
[2026-10-20 23:17:17,581.581 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:17:17,886.886 INFO    ] Initializing speech engine...
[2026-10-20 23:17:17,900.900 INFO    ] 2026-10-20 23:17:17
[2026-10-20 23:17:18,185.185 INFO    ] 2026-10-20 23:17:18
[2026-10-20 23:17:18,295.295 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:17:18,571.571 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:17:18,623.623 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:17:18,847.847 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:17:18,886.886 INFO    ] time= 20/10/2026 23:17:18
[2026-10-20 23:17:18,957.957 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:17:18,983.983 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:17:19,132.132 INFO    ] No existing commands found in stream
[2026-10-20 23:17:24,162.162 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:17:24,165.165 INFO    ] Waiting 3.80 seconds before fallback handling...
[2026-10-20 23:17:28,472.472 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:17:28,475.475 INFO    ] Checking for system updates...
[2026-10-20 23:17:28,517.517 INFO    ] 200
[2026-10-20 23:17:28,520.520 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:17:28,578.578 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:17:28,581.581 INFO    ] No update needed
[2026-10-20 23:17:28,584.584 INFO    ] Checking for camera pi updates...
[2026-10-20 23:17:28,617.617 INFO    ] 200
[2026-10-20 23:17:28,620.620 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:17:28,666.666 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:17:28,699.699 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:17:28,701.701 INFO    ] No camera update needed
[2026-10-20 23:17:28,704.704 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:17:28,706.706 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:17:28,711.711 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:17:28,716.716 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:17:30,757.757 INFO    ] ================================================
[2026-10-20 23:17:30,772.772 INFO    ] Launching Daemon at Tue Oct 20 23:17:30 IST 2026
[2026-10-20 23:17:30,782.782 INFO    ] ================================================
[2026-10-20 23:17:31,348.348 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:17:31
[2026-10-20 23:17:31,949.949 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:17:32,229.229 INFO    ] Initializing speech engine...
[2026-10-20 23:17:32,243.243 INFO    ] 2026-10-20 23:17:32
[2026-10-20 23:17:32,534.534 INFO    ] 2026-10-20 23:17:32
[2026-10-20 23:17:32,580.580 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:17:32,765.765 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:17:32,780.780 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:17:32,923.923 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:17:32,930.930 INFO    ] time= 20/10/2026 23:17:32
[2026-10-20 23:17:32,950.950 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:17:32,959.959 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:17:33,074.074 INFO    ] No existing commands found in stream
[2026-10-20 23:17:38,090.090 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:17:38,092.092 INFO    ] Waiting 2.96 seconds before fallback handling...
[2026-10-20 23:17:41,585.585 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 23:17:41,587.587 INFO    ] Checking for system updates...
[2026-10-20 23:17:41,624.624 INFO    ] 200
[2026-10-20 23:17:41,626.626 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:17:41,681.681 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:17:41,683.683 INFO    ] No update needed
[2026-10-20 23:17:41,686.686 INFO    ] Checking for camera pi updates...
[2026-10-20 23:17:41,724.724 INFO    ] 200
[2026-10-20 23:17:41,727.727 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:17:41,772.772 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:17:41,822.822 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:17:41,825.825 INFO    ] No camera update needed
[2026-10-20 23:17:41,828.828 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:17:41,831.831 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:17:41,837.837 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:17:41,842.842 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:17:43,884.884 INFO    ] ================================================
[2026-10-20 23:17:43,900.900 INFO    ] Launching Daemon at Tue Oct 20 23:17:43 IST 2026
[2026-10-20 23:17:43,911.911 INFO    ] ================================================
[2026-10-20 23:17:44,477.477 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:17:44
[2026-10-20 23:17:45,061.061 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:17:45,309.309 INFO    ] Initializing speech engine...
[2026-10-20 23:17:45,332.332 INFO    ] 2026-10-20 23:17:45
[2026-10-20 23:17:45,583.583 INFO    ] 2026-10-20 23:17:45
[2026-10-20 23:17:45,618.618 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:17:45,821.821 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:17:45,880.880 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:17:46,024.024 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:17:46,075.075 INFO    ] time= 20/10/2026 23:17:46
[2026-10-20 23:17:46,129.129 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:17:46,160.160 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:17:46,282.282 INFO    ] No existing commands found in stream
[2026-10-20 23:17:51,317.317 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:17:51,320.320 INFO    ] Waiting 3.08 seconds before fallback handling...
[2026-10-20 23:17:54,919.919 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:17:54,922.922 INFO    ] Checking for system updates...
[2026-10-20 23:17:54,958.958 INFO    ] 200
[2026-10-20 23:17:54,961.961 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:17:55,019.019 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:17:55,022.022 INFO    ] No update needed
[2026-10-20 23:17:55,024.024 INFO    ] Checking for camera pi updates...
[2026-10-20 23:17:55,061.061 INFO    ] 200
[2026-10-20 23:17:55,064.064 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:17:55,104.104 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:17:55,153.153 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:17:55,156.156 INFO    ] No camera update needed
[2026-10-20 23:17:55,158.158 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:17:55,161.161 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:17:55,166.166 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:17:55,171.171 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:17:57,210.210 INFO    ] ================================================
[2026-10-20 23:17:57,226.226 INFO    ] Launching Daemon at Tue Oct 20 23:17:57 IST 2026
[2026-10-20 23:17:57,237.237 INFO    ] ================================================
[2026-10-20 23:17:57,804.804 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:17:57
[2026-10-20 23:17:58,386.386 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:17:58,653.653 INFO    ] Initializing speech engine...
[2026-10-20 23:17:58,663.663 INFO    ] 2026-10-20 23:17:58
[2026-10-20 23:17:58,907.907 INFO    ] 2026-10-20 23:17:58
[2026-10-20 23:17:58,942.942 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:17:59,196.196 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:17:59,202.202 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:17:59,410.410 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:17:59,454.454 INFO    ] time= 20/10/2026 23:17:59
[2026-10-20 23:17:59,466.466 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:17:59,483.483 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:17:59,642.642 INFO    ] No existing commands found in stream
[2026-10-20 23:18:04,677.677 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:18:04,680.680 INFO    ] Waiting 0.58 seconds before fallback handling...
[2026-10-20 23:18:05,743.743 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:18:05,751.751 INFO    ] Checking for system updates...
[2026-10-20 23:18:05,794.794 INFO    ] 200
[2026-10-20 23:18:05,797.797 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:18:05,849.849 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:18:05,852.852 INFO    ] No update needed
[2026-10-20 23:18:05,854.854 INFO    ] Checking for camera pi updates...
[2026-10-20 23:18:05,887.887 INFO    ] 200
[2026-10-20 23:18:05,890.890 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:18:05,930.930 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:18:05,978.978 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:18:05,981.981 INFO    ] No camera update needed
[2026-10-20 23:18:05,983.983 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:18:05,985.985 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:18:05,991.991 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:18:05,996.996 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:18:08,037.037 INFO    ] ================================================
[2026-10-20 23:18:08,053.053 INFO    ] Launching Daemon at Tue Oct 20 23:18:08 IST 2026
[2026-10-20 23:18:08,064.064 INFO    ] ================================================
[2026-10-20 23:18:08,646.646 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:18:08
[2026-10-20 23:18:09,245.245 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:18:09,523.523 INFO    ] Initializing speech engine...
[2026-10-20 23:18:09,528.528 INFO    ] 2026-10-20 23:18:09
[2026-10-20 23:18:09,792.792 INFO    ] 2026-10-20 23:18:09
[2026-10-20 23:18:09,847.847 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:18:10,093.093 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:18:10,101.101 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:18:10,290.290 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:18:10,336.336 INFO    ] time= 20/10/2026 23:18:10
[2026-10-20 23:18:10,343.343 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:18:10,360.360 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:18:10,492.492 INFO    ] No existing commands found in stream
[2026-10-20 23:18:15,507.507 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:18:15,510.510 INFO    ] Waiting 3.24 seconds before fallback handling...
[2026-10-20 23:18:19,293.293 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 23:18:19,296.296 INFO    ] Checking for system updates...
[2026-10-20 23:18:19,351.351 INFO    ] 200
[2026-10-20 23:18:19,354.354 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:18:19,410.410 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:18:19,412.412 INFO    ] No update needed
[2026-10-20 23:18:19,415.415 INFO    ] Checking for camera pi updates...
[2026-10-20 23:18:19,454.454 INFO    ] 200
[2026-10-20 23:18:19,457.457 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:18:19,500.500 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:18:19,545.545 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:18:19,548.548 INFO    ] No camera update needed
[2026-10-20 23:18:19,551.551 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:18:19,553.553 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:18:19,560.560 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:18:19,565.565 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:18:21,609.609 INFO    ] ================================================
[2026-10-20 23:18:21,624.624 INFO    ] Launching Daemon at Tue Oct 20 23:18:21 IST 2026
[2026-10-20 23:18:21,635.635 INFO    ] ================================================
[2026-10-20 23:18:22,201.201 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:18:22
[2026-10-20 23:18:22,784.784 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:18:23,055.055 INFO    ] Initializing speech engine...
[2026-10-20 23:18:23,064.064 INFO    ] 2026-10-20 23:18:23
[2026-10-20 23:18:23,314.314 INFO    ] 2026-10-20 23:18:23
[2026-10-20 23:18:23,350.350 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:18:23,547.547 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:18:23,565.565 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:18:23,754.754 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:18:23,793.793 INFO    ] time= 20/10/2026 23:18:23
[2026-10-20 23:18:23,837.837 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:18:23,886.886 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:18:24,028.028 INFO    ] No existing commands found in stream
[2026-10-20 23:18:29,048.048 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:18:29,051.051 INFO    ] Waiting 0.68 seconds before fallback handling...
[2026-10-20 23:18:30,268.268 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:18:30,271.271 INFO    ] Checking for system updates...
[2026-10-20 23:18:30,308.308 INFO    ] 200
[2026-10-20 23:18:30,311.311 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:18:30,363.363 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:18:30,365.365 INFO    ] No update needed
[2026-10-20 23:18:30,368.368 INFO    ] Checking for camera pi updates...
[2026-10-20 23:18:30,401.401 INFO    ] 200
[2026-10-20 23:18:30,404.404 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:18:30,449.449 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:18:30,498.498 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:18:30,501.501 INFO    ] No camera update needed
[2026-10-20 23:18:30,503.503 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:18:30,505.505 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:18:30,511.511 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:18:30,516.516 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:18:32,558.558 INFO    ] ================================================
[2026-10-20 23:18:32,574.574 INFO    ] Launching Daemon at Tue Oct 20 23:18:32 IST 2026
[2026-10-20 23:18:32,586.586 INFO    ] ================================================
[2026-10-20 23:18:33,199.199 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:18:33
[2026-10-20 23:18:33,784.784 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:18:34,052.052 INFO    ] Initializing speech engine...
[2026-10-20 23:18:34,062.062 INFO    ] 2026-10-20 23:18:34
[2026-10-20 23:18:34,308.308 INFO    ] 2026-10-20 23:18:34
[2026-10-20 23:18:34,349.349 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:18:34,594.594 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:18:34,603.603 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:18:34,738.738 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:18:34,802.802 INFO    ] time= 20/10/2026 23:18:34
[2026-10-20 23:18:34,862.862 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:18:34,871.871 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:18:35,001.001 INFO    ] No existing commands found in stream
[2026-10-20 23:18:40,025.025 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:18:40,028.028 INFO    ] Waiting 1.30 seconds before fallback handling...
[2026-10-20 23:18:41,853.853 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 23:18:41,856.856 INFO    ] Checking for system updates...
[2026-10-20 23:18:41,893.893 INFO    ] 200
[2026-10-20 23:18:41,895.895 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:18:41,947.947 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:18:41,950.950 INFO    ] No update needed
[2026-10-20 23:18:41,952.952 INFO    ] Checking for camera pi updates...
[2026-10-20 23:18:41,989.989 INFO    ] 200
[2026-10-20 23:18:41,991.991 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:18:42,032.032 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:18:42,077.077 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:18:42,080.080 INFO    ] No camera update needed
[2026-10-20 23:18:42,082.082 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:18:42,085.085 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:18:42,090.090 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:18:42,095.095 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:18:44,134.134 INFO    ] ================================================
[2026-10-20 23:18:44,149.149 INFO    ] Launching Daemon at Tue Oct 20 23:18:44 IST 2026
[2026-10-20 23:18:44,160.160 INFO    ] ================================================
[2026-10-20 23:18:44,728.728 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:18:44
[2026-10-20 23:18:45,311.311 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:18:45,559.559 INFO    ] Initializing speech engine...
[2026-10-20 23:18:45,564.564 INFO    ] 2026-10-20 23:18:45
[2026-10-20 23:18:45,837.837 INFO    ] 2026-10-20 23:18:45
[2026-10-20 23:18:45,873.873 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:18:46,134.134 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:18:46,142.142 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:18:46,281.281 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:18:46,356.356 INFO    ] time= 20/10/2026 23:18:46
[2026-10-20 23:18:46,411.411 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:18:46,418.418 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:18:46,560.560 INFO    ] No existing commands found in stream
[2026-10-20 23:18:51,575.575 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:18:51,577.577 INFO    ] Waiting 1.00 seconds before fallback handling...
[2026-10-20 23:18:53,050.050 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:18:53,053.053 INFO    ] Checking for system updates...
[2026-10-20 23:18:53,088.088 INFO    ] 200
[2026-10-20 23:18:53,090.090 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:18:53,144.144 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:18:53,147.147 INFO    ] No update needed
[2026-10-20 23:18:53,149.149 INFO    ] Checking for camera pi updates...
[2026-10-20 23:18:53,183.183 INFO    ] 200
[2026-10-20 23:18:53,185.185 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:18:53,230.230 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:18:53,375.375 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:18:53,377.377 INFO    ] No camera update needed
[2026-10-20 23:18:53,380.380 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:18:53,382.382 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:18:53,387.387 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:18:53,392.392 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:18:55,436.436 INFO    ] ================================================
[2026-10-20 23:18:55,451.451 INFO    ] Launching Daemon at Tue Oct 20 23:18:55 IST 2026
[2026-10-20 23:18:55,461.461 INFO    ] ================================================
[2026-10-20 23:18:56,098.098 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:18:56
[2026-10-20 23:18:56,699.699 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:18:56,976.976 INFO    ] Initializing speech engine...
[2026-10-20 23:18:56,983.983 INFO    ] 2026-10-20 23:18:56
[2026-10-20 23:18:57,244.244 INFO    ] 2026-10-20 23:18:57
[2026-10-20 23:18:57,274.274 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:18:57,525.525 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:18:57,531.531 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:18:57,668.668 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:18:57,733.733 INFO    ] time= 20/10/2026 23:18:57
[2026-10-20 23:18:57,790.790 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:18:57,797.797 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:18:57,952.952 INFO    ] No existing commands found in stream
[2026-10-20 23:19:02,981.981 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:19:02,984.984 INFO    ] Waiting 1.34 seconds before fallback handling...
[2026-10-20 23:19:04,861.861 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:19:04,863.863 INFO    ] Checking for system updates...
[2026-10-20 23:19:04,899.899 INFO    ] 200
[2026-10-20 23:19:04,901.901 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:19:04,954.954 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:19:04,957.957 INFO    ] No update needed
[2026-10-20 23:19:04,960.960 INFO    ] Checking for camera pi updates...
[2026-10-20 23:19:04,997.997 INFO    ] 200
[2026-10-20 23:19:05,000.000 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:19:05,041.041 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:19:05,087.087 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:19:05,090.090 INFO    ] No camera update needed
[2026-10-20 23:19:05,093.093 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:19:05,095.095 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:19:05,100.100 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:19:05,105.105 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:19:07,145.145 INFO    ] ================================================
[2026-10-20 23:19:07,159.159 INFO    ] Launching Daemon at Tue Oct 20 23:19:07 IST 2026
[2026-10-20 23:19:07,170.170 INFO    ] ================================================
[2026-10-20 23:19:07,736.736 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:19:07
[2026-10-20 23:19:08,319.319 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:19:08,590.590 INFO    ] Initializing speech engine...
[2026-10-20 23:19:08,597.597 INFO    ] 2026-10-20 23:19:08
[2026-10-20 23:19:08,853.853 INFO    ] 2026-10-20 23:19:08
[2026-10-20 23:19:08,897.897 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:19:09,154.154 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:19:09,160.160 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:19:09,407.407 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:19:09,426.426 INFO    ] time= 20/10/2026 23:19:09
[2026-10-20 23:19:09,445.445 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:19:09,455.455 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:19:09,582.582 INFO    ] No existing commands found in stream
[2026-10-20 23:19:14,599.599 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:19:14,602.602 INFO    ] Waiting 0.85 seconds before fallback handling...
[2026-10-20 23:19:15,979.979 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:19:15,982.982 INFO    ] Checking for system updates...
[2026-10-20 23:19:16,018.018 INFO    ] 200
[2026-10-20 23:19:16,021.021 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:19:16,099.099 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:19:16,101.101 INFO    ] No update needed
[2026-10-20 23:19:16,104.104 INFO    ] Checking for camera pi updates...
[2026-10-20 23:19:16,137.137 INFO    ] 200
[2026-10-20 23:19:16,139.139 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:19:16,186.186 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:19:16,237.237 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:19:16,240.240 INFO    ] No camera update needed
[2026-10-20 23:19:16,242.242 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:19:16,244.244 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:19:16,250.250 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:19:16,255.255 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:19:18,293.293 INFO    ] ================================================
[2026-10-20 23:19:18,309.309 INFO    ] Launching Daemon at Tue Oct 20 23:19:18 IST 2026
[2026-10-20 23:19:18,320.320 INFO    ] ================================================
[2026-10-20 23:19:18,884.884 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:19:18
[2026-10-20 23:19:19,466.466 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:19:19,737.737 INFO    ] Initializing speech engine...
[2026-10-20 23:19:19,746.746 INFO    ] 2026-10-20 23:19:19
[2026-10-20 23:19:19,996.996 INFO    ] 2026-10-20 23:19:19
[2026-10-20 23:19:20,031.031 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:19:20,287.287 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:19:20,297.297 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:19:20,501.501 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:19:20,555.555 INFO    ] time= 20/10/2026 23:19:20
[2026-10-20 23:19:20,568.568 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:19:20,583.583 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:19:20,718.718 INFO    ] No existing commands found in stream
[2026-10-20 23:19:25,732.732 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:19:25,735.735 INFO    ] Waiting 2.53 seconds before fallback handling...
[2026-10-20 23:19:28,745.745 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:19:28,748.748 INFO    ] Checking for system updates...
[2026-10-20 23:19:28,783.783 INFO    ] 200
[2026-10-20 23:19:28,786.786 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:19:28,838.838 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:19:28,841.841 INFO    ] No update needed
[2026-10-20 23:19:28,843.843 INFO    ] Checking for camera pi updates...
[2026-10-20 23:19:28,881.881 INFO    ] 200
[2026-10-20 23:19:28,884.884 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:19:28,930.930 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:19:28,986.986 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:19:28,988.988 INFO    ] No camera update needed
[2026-10-20 23:19:28,991.991 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:19:28,993.993 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:19:28,998.998 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:19:29,003.003 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:19:31,042.042 INFO    ] ================================================
[2026-10-20 23:19:31,060.060 INFO    ] Launching Daemon at Tue Oct 20 23:19:31 IST 2026
[2026-10-20 23:19:31,070.070 INFO    ] ================================================
[2026-10-20 23:19:31,710.710 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:19:31
[2026-10-20 23:19:32,324.324 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:19:32,606.606 INFO    ] Initializing speech engine...
[2026-10-20 23:19:32,623.623 INFO    ] 2026-10-20 23:19:32
[2026-10-20 23:19:32,902.902 INFO    ] 2026-10-20 23:19:32
[2026-10-20 23:19:32,938.938 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:19:33,148.148 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:19:33,188.188 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:19:33,375.375 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:19:33,445.445 INFO    ] time= 20/10/2026 23:19:33
[2026-10-20 23:19:33,504.504 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:19:33,526.526 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:19:33,654.654 INFO    ] No existing commands found in stream
[2026-10-20 23:19:38,677.677 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:19:38,680.680 INFO    ] Waiting 3.61 seconds before fallback handling...
[2026-10-20 23:19:42,799.799 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:19:42,802.802 INFO    ] Checking for system updates...
[2026-10-20 23:19:42,837.837 INFO    ] 200
[2026-10-20 23:19:42,840.840 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:19:42,891.891 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:19:42,894.894 INFO    ] No update needed
[2026-10-20 23:19:42,896.896 INFO    ] Checking for camera pi updates...
[2026-10-20 23:19:42,934.934 INFO    ] 200
[2026-10-20 23:19:42,936.936 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:19:42,982.982 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:19:43,030.030 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:19:43,032.032 INFO    ] No camera update needed
[2026-10-20 23:19:43,035.035 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:19:43,037.037 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:19:43,043.043 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:19:43,048.048 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:19:45,087.087 INFO    ] ================================================
[2026-10-20 23:19:45,103.103 INFO    ] Launching Daemon at Tue Oct 20 23:19:45 IST 2026
[2026-10-20 23:19:45,113.113 INFO    ] ================================================
[2026-10-20 23:19:45,693.693 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:19:45
[2026-10-20 23:19:46,294.294 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:19:46,571.571 INFO    ] Initializing speech engine...
[2026-10-20 23:19:46,578.578 INFO    ] 2026-10-20 23:19:46
[2026-10-20 23:19:46,839.839 INFO    ] 2026-10-20 23:19:46
[2026-10-20 23:19:46,869.869 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:19:47,115.115 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:19:47,124.124 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:19:47,259.259 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:19:47,324.324 INFO    ] time= 20/10/2026 23:19:47
[2026-10-20 23:19:47,378.378 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:19:47,392.392 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:19:47,537.537 INFO    ] No existing commands found in stream
[2026-10-20 23:19:52,557.557 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:19:52,560.560 INFO    ] Waiting 1.54 seconds before fallback handling...
[2026-10-20 23:19:54,647.647 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:19:54,649.649 INFO    ] Checking for system updates...
[2026-10-20 23:19:54,689.689 INFO    ] 200
[2026-10-20 23:19:54,692.692 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:19:54,751.751 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:19:54,754.754 INFO    ] No update needed
[2026-10-20 23:19:54,756.756 INFO    ] Checking for camera pi updates...
[2026-10-20 23:19:54,797.797 INFO    ] 200
[2026-10-20 23:19:54,800.800 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:19:54,845.845 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:19:54,902.902 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:19:54,904.904 INFO    ] No camera update needed
[2026-10-20 23:19:54,906.906 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:19:54,909.909 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:19:54,914.914 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:19:54,919.919 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:19:56,960.960 INFO    ] ================================================
[2026-10-20 23:19:56,975.975 INFO    ] Launching Daemon at Tue Oct 20 23:19:56 IST 2026
[2026-10-20 23:19:56,986.986 INFO    ] ================================================
[2026-10-20 23:19:57,567.567 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:19:57
[2026-10-20 23:19:58,164.164 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:19:58,436.436 INFO    ] Initializing speech engine...
[2026-10-20 23:19:58,444.444 INFO    ] 2026-10-20 23:19:58
[2026-10-20 23:19:58,693.693 INFO    ] 2026-10-20 23:19:58
[2026-10-20 23:19:58,734.734 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:19:58,962.962 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:19:58,988.988 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:19:59,128.128 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:19:59,203.203 INFO    ] time= 20/10/2026 23:19:59
[2026-10-20 23:19:59,248.248 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:19:59,257.257 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:19:59,392.392 INFO    ] No existing commands found in stream
[2026-10-20 23:20:04,411.411 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:20:04,413.413 INFO    ] Waiting 1.65 seconds before fallback handling...
[2026-10-20 23:20:07,090.090 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:20:07,093.093 INFO    ] Checking for system updates...
[2026-10-20 23:20:07,134.134 INFO    ] 200
[2026-10-20 23:20:07,137.137 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:20:07,195.195 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:20:07,198.198 INFO    ] No update needed
[2026-10-20 23:20:07,200.200 INFO    ] Checking for camera pi updates...
[2026-10-20 23:20:07,234.234 INFO    ] 200
[2026-10-20 23:20:07,236.236 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:20:07,276.276 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:20:07,331.331 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:20:07,333.333 INFO    ] No camera update needed
[2026-10-20 23:20:07,335.335 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:20:07,338.338 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:20:07,343.343 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:20:07,348.348 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:20:09,387.387 INFO    ] ================================================
[2026-10-20 23:20:09,402.402 INFO    ] Launching Daemon at Tue Oct 20 23:20:09 IST 2026
[2026-10-20 23:20:09,413.413 INFO    ] ================================================
[2026-10-20 23:20:09,992.992 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:20:09
[2026-10-20 23:20:10,591.591 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:20:10,845.845 INFO    ] Initializing speech engine...
[2026-10-20 23:20:10,868.868 INFO    ] 2026-10-20 23:20:10
[2026-10-20 23:20:11,122.122 INFO    ] 2026-10-20 23:20:11
[2026-10-20 23:20:11,156.156 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:20:11,435.435 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:20:11,446.446 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:20:11,633.633 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:20:11,688.688 INFO    ] time= 20/10/2026 23:20:11
[2026-10-20 23:20:11,733.733 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:20:11,752.752 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:20:11,874.874 INFO    ] No existing commands found in stream
[2026-10-20 23:20:16,897.897 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:20:16,900.900 INFO    ] Waiting 2.59 seconds before fallback handling...
[2026-10-20 23:20:19,954.954 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 23:20:19,957.957 INFO    ] Checking for system updates...
[2026-10-20 23:20:19,996.996 INFO    ] 200
[2026-10-20 23:20:19,999.999 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:20:20,066.066 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:20:20,068.068 INFO    ] No update needed
[2026-10-20 23:20:20,071.071 INFO    ] Checking for camera pi updates...
[2026-10-20 23:20:20,108.108 INFO    ] 200
[2026-10-20 23:20:20,110.110 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:20:20,155.155 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:20:20,199.199 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:20:20,202.202 INFO    ] No camera update needed
[2026-10-20 23:20:20,204.204 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:20:20,207.207 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:20:20,212.212 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:20:20,217.217 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:20:22,257.257 INFO    ] ================================================
[2026-10-20 23:20:22,272.272 INFO    ] Launching Daemon at Tue Oct 20 23:20:22 IST 2026
[2026-10-20 23:20:22,283.283 INFO    ] ================================================
[2026-10-20 23:20:22,873.873 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:20:22
[2026-10-20 23:20:23,461.461 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:20:23,709.709 INFO    ] Initializing speech engine...
[2026-10-20 23:20:23,717.717 INFO    ] 2026-10-20 23:20:23
[2026-10-20 23:20:23,993.993 INFO    ] 2026-10-20 23:20:23
[2026-10-20 23:20:24,025.025 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:20:24,225.225 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:20:24,271.271 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:20:24,505.505 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:20:24,559.559 INFO    ] time= 20/10/2026 23:20:24
[2026-10-20 23:20:24,568.568 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:20:24,585.585 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:20:24,699.699 INFO    ] No existing commands found in stream
[2026-10-20 23:20:29,727.727 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:20:29,730.730 INFO    ] Waiting 1.38 seconds before fallback handling...
[2026-10-20 23:20:31,597.597 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:20:31,601.601 INFO    ] Checking for system updates...
[2026-10-20 23:20:31,641.641 INFO    ] 200
[2026-10-20 23:20:31,644.644 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:20:31,698.698 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:20:31,701.701 INFO    ] No update needed
[2026-10-20 23:20:31,703.703 INFO    ] Checking for camera pi updates...
[2026-10-20 23:20:31,745.745 INFO    ] 200
[2026-10-20 23:20:31,748.748 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:20:31,794.794 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:20:31,830.830 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:20:31,832.832 INFO    ] No camera update needed
[2026-10-20 23:20:31,835.835 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:20:31,838.838 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:20:31,844.844 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:20:31,850.850 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:20:33,894.894 INFO    ] ================================================
[2026-10-20 23:20:33,910.910 INFO    ] Launching Daemon at Tue Oct 20 23:20:33 IST 2026
[2026-10-20 23:20:33,921.921 INFO    ] ================================================
[2026-10-20 23:20:34,577.577 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:20:34
[2026-10-20 23:20:35,253.253 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:20:35,564.564 INFO    ] Initializing speech engine...
[2026-10-20 23:20:35,577.577 INFO    ] 2026-10-20 23:20:35
[2026-10-20 23:20:35,864.864 INFO    ] 2026-10-20 23:20:35
[2026-10-20 23:20:35,910.910 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:20:36,183.183 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:20:36,207.207 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:20:36,405.405 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:20:36,418.418 INFO    ] time= 20/10/2026 23:20:36
[2026-10-20 23:20:36,437.437 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:20:36,467.467 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:20:36,579.579 INFO    ] No existing commands found in stream
[2026-10-20 23:20:41,609.609 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:20:41,612.612 INFO    ] Waiting 3.88 seconds before fallback handling...
[2026-10-20 23:20:46,066.066 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:20:46,069.069 INFO    ] Checking for system updates...
[2026-10-20 23:20:46,112.112 INFO    ] 200
[2026-10-20 23:20:46,114.114 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:20:46,175.175 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:20:46,179.179 INFO    ] No update needed
[2026-10-20 23:20:46,182.182 INFO    ] Checking for camera pi updates...
[2026-10-20 23:20:46,220.220 INFO    ] 200
[2026-10-20 23:20:46,223.223 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:20:46,269.269 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:20:46,320.320 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:20:46,323.323 INFO    ] No camera update needed
[2026-10-20 23:20:46,326.326 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:20:46,329.329 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:20:46,335.335 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:20:46,341.341 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:20:48,382.382 INFO    ] ================================================
[2026-10-20 23:20:48,397.397 INFO    ] Launching Daemon at Tue Oct 20 23:20:48 IST 2026
[2026-10-20 23:20:48,408.408 INFO    ] ================================================
[2026-10-20 23:20:49,048.048 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:20:49
[2026-10-20 23:20:49,708.708 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:20:50,009.009 INFO    ] Initializing speech engine...
[2026-10-20 23:20:50,020.020 INFO    ] 2026-10-20 23:20:50
[2026-10-20 23:20:50,300.300 INFO    ] 2026-10-20 23:20:50
[2026-10-20 23:20:50,344.344 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:20:50,627.627 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:20:50,636.636 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:20:50,824.824 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:20:50,841.841 INFO    ] time= 20/10/2026 23:20:50
[2026-10-20 23:20:50,859.859 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:20:50,889.889 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:20:51,043.043 INFO    ] No existing commands found in stream
[2026-10-20 23:20:56,074.074 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:20:56,077.077 INFO    ] Waiting 2.53 seconds before fallback handling...
[2026-10-20 23:20:59,137.137 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 23:20:59,140.140 INFO    ] Checking for system updates...
[2026-10-20 23:20:59,180.180 INFO    ] 200
[2026-10-20 23:20:59,182.182 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:20:59,242.242 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:20:59,245.245 INFO    ] No update needed
[2026-10-20 23:20:59,247.247 INFO    ] Checking for camera pi updates...
[2026-10-20 23:20:59,286.286 INFO    ] 200
[2026-10-20 23:20:59,289.289 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:20:59,341.341 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:20:59,498.498 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:20:59,501.501 INFO    ] No camera update needed
[2026-10-20 23:20:59,503.503 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:20:59,505.505 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:20:59,510.510 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:20:59,515.515 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:21:01,560.560 INFO    ] ================================================
[2026-10-20 23:21:01,579.579 INFO    ] Launching Daemon at Tue Oct 20 23:21:01 IST 2026
[2026-10-20 23:21:01,592.592 INFO    ] ================================================
[2026-10-20 23:21:02,344.344 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:21:02
[2026-10-20 23:21:03,121.121 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:21:03,432.432 INFO    ] Initializing speech engine...
[2026-10-20 23:21:03,446.446 INFO    ] 2026-10-20 23:21:03
[2026-10-20 23:21:03,735.735 INFO    ] 2026-10-20 23:21:03
[2026-10-20 23:21:03,774.774 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:21:04,009.009 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:21:04,024.024 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:21:04,195.195 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:21:04,199.199 INFO    ] time= 20/10/2026 23:21:04
[2026-10-20 23:21:04,248.248 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:21:04,287.287 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:21:04,438.438 INFO    ] No existing commands found in stream
[2026-10-20 23:21:09,470.470 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:21:09,473.473 INFO    ] Waiting 1.52 seconds before fallback handling...
[2026-10-20 23:21:11,554.554 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:21:11,556.556 INFO    ] Checking for system updates...
[2026-10-20 23:21:11,592.592 INFO    ] 200
[2026-10-20 23:21:11,594.594 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:21:11,654.654 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:21:11,656.656 INFO    ] No update needed
[2026-10-20 23:21:11,659.659 INFO    ] Checking for camera pi updates...
[2026-10-20 23:21:11,696.696 INFO    ] 200
[2026-10-20 23:21:11,699.699 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:21:11,739.739 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:21:11,794.794 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:21:11,797.797 INFO    ] No camera update needed
[2026-10-20 23:21:11,799.799 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:21:11,802.802 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:21:11,807.807 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:21:11,812.812 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:21:13,851.851 INFO    ] ================================================
[2026-10-20 23:21:13,867.867 INFO    ] Launching Daemon at Tue Oct 20 23:21:13 IST 2026
[2026-10-20 23:21:13,877.877 INFO    ] ================================================
[2026-10-20 23:21:14,453.453 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:21:14
[2026-10-20 23:21:15,053.053 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:21:15,327.327 INFO    ] Initializing speech engine...
[2026-10-20 23:21:15,336.336 INFO    ] 2026-10-20 23:21:15
[2026-10-20 23:21:15,586.586 INFO    ] 2026-10-20 23:21:15
[2026-10-20 23:21:15,621.621 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:21:15,872.872 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:21:15,882.882 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:21:16,014.014 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:21:16,061.061 INFO    ] time= 20/10/2026 23:21:16
[2026-10-20 23:21:16,125.125 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:21:16,150.150 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:21:16,280.280 INFO    ] No existing commands found in stream
[2026-10-20 23:21:21,305.305 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:21:21,307.307 INFO    ] Waiting 3.87 seconds before fallback handling...
[2026-10-20 23:21:25,660.660 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:21:25,663.663 INFO    ] Checking for system updates...
[2026-10-20 23:21:25,699.699 INFO    ] 200
[2026-10-20 23:21:25,702.702 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:21:25,755.755 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:21:25,758.758 INFO    ] No update needed
[2026-10-20 23:21:25,760.760 INFO    ] Checking for camera pi updates...
[2026-10-20 23:21:25,796.796 INFO    ] 200
[2026-10-20 23:21:25,798.798 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:21:25,845.845 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:21:25,888.888 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:21:25,891.891 INFO    ] No camera update needed
[2026-10-20 23:21:25,893.893 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:21:25,896.896 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:21:25,901.901 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:21:25,906.906 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:21:27,946.946 INFO    ] ================================================
[2026-10-20 23:21:27,962.962 INFO    ] Launching Daemon at Tue Oct 20 23:21:27 IST 2026
[2026-10-20 23:21:27,972.972 INFO    ] ================================================
[2026-10-20 23:21:28,622.622 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:21:28
[2026-10-20 23:21:29,291.291 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:21:29,599.599 INFO    ] Initializing speech engine...
[2026-10-20 23:21:29,611.611 INFO    ] 2026-10-20 23:21:29
[2026-10-20 23:21:29,900.900 INFO    ] 2026-10-20 23:21:29
[2026-10-20 23:21:30,011.011 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:21:30,225.225 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:21:30,234.234 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:21:30,435.435 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:21:30,452.452 INFO    ] time= 20/10/2026 23:21:30
[2026-10-20 23:21:30,461.461 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:21:30,490.490 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:21:30,600.600 INFO    ] No existing commands found in stream
[2026-10-20 23:21:35,630.630 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:21:35,633.633 INFO    ] Waiting 0.97 seconds before fallback handling...
[2026-10-20 23:21:37,119.119 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:21:37,122.122 INFO    ] Checking for system updates...
[2026-10-20 23:21:37,161.161 INFO    ] 200
[2026-10-20 23:21:37,164.164 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:21:37,217.217 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:21:37,220.220 INFO    ] No update needed
[2026-10-20 23:21:37,223.223 INFO    ] Checking for camera pi updates...
[2026-10-20 23:21:37,256.256 INFO    ] 200
[2026-10-20 23:21:37,259.259 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:21:37,304.304 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:21:37,361.361 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:21:37,365.365 INFO    ] No camera update needed
[2026-10-20 23:21:37,368.368 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:21:37,371.371 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:21:37,377.377 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:21:37,382.382 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:21:39,424.424 INFO    ] ================================================
[2026-10-20 23:21:39,439.439 INFO    ] Launching Daemon at Tue Oct 20 23:21:39 IST 2026
[2026-10-20 23:21:39,450.450 INFO    ] ================================================
[2026-10-20 23:21:40,022.022 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:21:40
[2026-10-20 23:21:40,616.616 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:21:40,879.879 INFO    ] Initializing speech engine...
[2026-10-20 23:21:40,892.892 INFO    ] 2026-10-20 23:21:40
[2026-10-20 23:21:41,181.181 INFO    ] 2026-10-20 23:21:41
[2026-10-20 23:21:41,221.221 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:21:41,416.416 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:21:41,444.444 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:21:41,623.623 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:21:41,642.642 INFO    ] time= 20/10/2026 23:21:41
[2026-10-20 23:21:41,645.645 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:21:41,699.699 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:21:41,801.801 INFO    ] No existing commands found in stream
[2026-10-20 23:21:46,813.813 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:21:46,816.816 INFO    ] Waiting 2.05 seconds before fallback handling...
[2026-10-20 23:21:49,356.356 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:21:49,359.359 INFO    ] Checking for system updates...
[2026-10-20 23:21:49,398.398 INFO    ] 200
[2026-10-20 23:21:49,400.400 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:21:49,459.459 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:21:49,462.462 INFO    ] No update needed
[2026-10-20 23:21:49,464.464 INFO    ] Checking for camera pi updates...
[2026-10-20 23:21:49,502.502 INFO    ] 200
[2026-10-20 23:21:49,505.505 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:21:49,546.546 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:21:49,599.599 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:21:49,602.602 INFO    ] No camera update needed
[2026-10-20 23:21:49,604.604 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:21:49,606.606 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:21:49,612.612 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:21:49,617.617 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:21:51,657.657 INFO    ] ================================================
[2026-10-20 23:21:51,672.672 INFO    ] Launching Daemon at Tue Oct 20 23:21:51 IST 2026
[2026-10-20 23:21:51,689.689 INFO    ] ================================================
[2026-10-20 23:21:52,346.346 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:21:52
[2026-10-20 23:21:53,021.021 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:21:53,321.321 INFO    ] Initializing speech engine...
[2026-10-20 23:21:53,329.329 INFO    ] 2026-10-20 23:21:53
[2026-10-20 23:21:53,614.614 INFO    ] 2026-10-20 23:21:53
[2026-10-20 23:21:53,660.660 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:21:53,936.936 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:21:53,949.949 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:21:54,142.142 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:21:54,152.152 INFO    ] time= 20/10/2026 23:21:54
[2026-10-20 23:21:54,171.171 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:21:54,188.188 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:21:54,308.308 INFO    ] No existing commands found in stream
[2026-10-20 23:21:59,333.333 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:21:59,336.336 INFO    ] Waiting 1.41 seconds before fallback handling...
[2026-10-20 23:22:01,345.345 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 23:22:01,349.349 INFO    ] Checking for system updates...
[2026-10-20 23:22:01,432.432 INFO    ] 200
[2026-10-20 23:22:01,435.435 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:22:01,534.534 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:22:01,538.538 INFO    ] No update needed
[2026-10-20 23:22:01,542.542 INFO    ] Checking for camera pi updates...
[2026-10-20 23:22:01,581.581 INFO    ] 200
[2026-10-20 23:22:01,585.585 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:22:01,630.630 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:22:01,680.680 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:22:01,684.684 INFO    ] No camera update needed
[2026-10-20 23:22:01,688.688 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:22:01,692.692 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:22:01,699.699 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:22:01,712.712 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:22:03,755.755 INFO    ] ================================================
[2026-10-20 23:22:03,770.770 INFO    ] Launching Daemon at Tue Oct 20 23:22:03 IST 2026
[2026-10-20 23:22:03,781.781 INFO    ] ================================================
[2026-10-20 23:22:04,347.347 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:22:04
[2026-10-20 23:22:04,933.933 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:22:05,194.194 INFO    ] Initializing speech engine...
[2026-10-20 23:22:05,215.215 INFO    ] 2026-10-20 23:22:05
[2026-10-20 23:22:05,494.494 INFO    ] 2026-10-20 23:22:05
[2026-10-20 23:22:05,532.532 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:22:05,731.731 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:22:05,746.746 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:22:05,914.914 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:22:05,920.920 INFO    ] time= 20/10/2026 23:22:05
[2026-10-20 23:22:05,927.927 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:22:05,952.952 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:22:06,093.093 INFO    ] No existing commands found in stream
[2026-10-20 23:22:11,119.119 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:22:11,121.121 INFO    ] Waiting 2.93 seconds before fallback handling...
[2026-10-20 23:22:14,536.536 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:22:14,539.539 INFO    ] Checking for system updates...
[2026-10-20 23:22:14,574.574 INFO    ] 200
[2026-10-20 23:22:14,577.577 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:22:14,628.628 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:22:14,630.630 INFO    ] No update needed
[2026-10-20 23:22:14,633.633 INFO    ] Checking for camera pi updates...
[2026-10-20 23:22:14,670.670 INFO    ] 200
[2026-10-20 23:22:14,673.673 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:22:14,719.719 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:22:14,771.771 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:22:14,774.774 INFO    ] No camera update needed
[2026-10-20 23:22:14,776.776 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:22:14,778.778 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:22:14,784.784 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:22:14,789.789 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:22:16,827.827 INFO    ] ================================================
[2026-10-20 23:22:16,842.842 INFO    ] Launching Daemon at Tue Oct 20 23:22:16 IST 2026
[2026-10-20 23:22:16,853.853 INFO    ] ================================================
[2026-10-20 23:22:17,418.418 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:22:17
[2026-10-20 23:22:18,005.005 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:22:18,261.261 INFO    ] Initializing speech engine...
[2026-10-20 23:22:18,270.270 INFO    ] 2026-10-20 23:22:18
[2026-10-20 23:22:18,567.567 INFO    ] 2026-10-20 23:22:18
[2026-10-20 23:22:18,605.605 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:22:18,817.817 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:22:18,835.835 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:22:18,987.987 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:22:18,994.994 INFO    ] time= 20/10/2026 23:22:18
[2026-10-20 23:22:18,999.999 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:22:19,006.006 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:22:19,082.082 INFO    ] No existing commands found in stream
[2026-10-20 23:22:24,093.093 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:22:24,095.095 INFO    ] Waiting 1.33 seconds before fallback handling...
[2026-10-20 23:22:25,933.933 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:22:25,936.936 INFO    ] Checking for system updates...
[2026-10-20 23:22:25,974.974 INFO    ] 200
[2026-10-20 23:22:25,977.977 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:22:26,031.031 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:22:26,034.034 INFO    ] No update needed
[2026-10-20 23:22:26,037.037 INFO    ] Checking for camera pi updates...
[2026-10-20 23:22:26,070.070 INFO    ] 200
[2026-10-20 23:22:26,073.073 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:22:26,113.113 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:22:26,159.159 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:22:26,162.162 INFO    ] No camera update needed
[2026-10-20 23:22:26,164.164 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:22:26,166.166 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:22:26,172.172 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:22:26,176.176 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:22:28,216.216 INFO    ] ================================================
[2026-10-20 23:22:28,231.231 INFO    ] Launching Daemon at Tue Oct 20 23:22:28 IST 2026
[2026-10-20 23:22:28,241.241 INFO    ] ================================================
[2026-10-20 23:22:28,829.829 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:22:28
[2026-10-20 23:22:29,435.435 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:22:29,701.701 INFO    ] Initializing speech engine...
[2026-10-20 23:22:29,718.718 INFO    ] 2026-10-20 23:22:29
[2026-10-20 23:22:30,010.010 INFO    ] 2026-10-20 23:22:29
[2026-10-20 23:22:30,051.051 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:22:30,284.284 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:22:30,340.340 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:22:30,517.517 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:22:30,577.577 INFO    ] time= 20/10/2026 23:22:30
[2026-10-20 23:22:30,627.627 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:22:30,668.668 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:22:30,813.813 INFO    ] No existing commands found in stream
[2026-10-20 23:22:35,843.843 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:22:35,846.846 INFO    ] Waiting 2.62 seconds before fallback handling...
[2026-10-20 23:22:38,937.937 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:22:38,939.939 INFO    ] Checking for system updates...
[2026-10-20 23:22:38,980.980 INFO    ] 200
[2026-10-20 23:22:38,982.982 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:22:39,042.042 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:22:39,045.045 INFO    ] No update needed
[2026-10-20 23:22:39,047.047 INFO    ] Checking for camera pi updates...
[2026-10-20 23:22:39,080.080 INFO    ] 200
[2026-10-20 23:22:39,083.083 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:22:39,123.123 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:22:39,172.172 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:22:39,174.174 INFO    ] No camera update needed
[2026-10-20 23:22:39,176.176 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:22:39,179.179 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:22:39,184.184 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:22:39,190.190 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:22:41,230.230 INFO    ] ================================================
[2026-10-20 23:22:41,245.245 INFO    ] Launching Daemon at Tue Oct 20 23:22:41 IST 2026
[2026-10-20 23:22:41,256.256 INFO    ] ================================================
[2026-10-20 23:22:41,824.824 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:22:41
[2026-10-20 23:22:42,407.407 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:22:42,675.675 INFO    ] Initializing speech engine...
[2026-10-20 23:22:42,685.685 INFO    ] 2026-10-20 23:22:42
[2026-10-20 23:22:42,943.943 INFO    ] 2026-10-20 23:22:42
[2026-10-20 23:22:42,997.997 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:22:43,229.229 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:22:43,239.239 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:22:43,394.394 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:22:43,411.411 INFO    ] time= 20/10/2026 23:22:43
[2026-10-20 23:22:43,481.481 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:22:43,535.535 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:22:43,688.688 INFO    ] No existing commands found in stream
[2026-10-20 23:22:48,708.708 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:22:48,711.711 INFO    ] Waiting 2.62 seconds before fallback handling...
[2026-10-20 23:22:51,915.915 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:22:51,918.918 INFO    ] Checking for system updates...
[2026-10-20 23:22:51,963.963 INFO    ] 200
[2026-10-20 23:22:51,966.966 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:22:52,028.028 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:22:52,031.031 INFO    ] No update needed
[2026-10-20 23:22:52,034.034 INFO    ] Checking for camera pi updates...
[2026-10-20 23:22:52,073.073 INFO    ] 200
[2026-10-20 23:22:52,076.076 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:22:52,119.119 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:22:52,168.168 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:22:52,171.171 INFO    ] No camera update needed
[2026-10-20 23:22:52,174.174 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:22:52,176.176 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:22:52,183.183 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:22:52,189.189 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:22:54,230.230 INFO    ] ================================================
[2026-10-20 23:22:54,245.245 INFO    ] Launching Daemon at Tue Oct 20 23:22:54 IST 2026
[2026-10-20 23:22:54,256.256 INFO    ] ================================================
[2026-10-20 23:22:54,824.824 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:22:54
[2026-10-20 23:22:55,410.410 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:22:55,664.664 INFO    ] Initializing speech engine...
[2026-10-20 23:22:55,673.673 INFO    ] 2026-10-20 23:22:55
[2026-10-20 23:22:55,972.972 INFO    ] 2026-10-20 23:22:55
[2026-10-20 23:22:56,008.008 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:22:56,213.213 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:22:56,229.229 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:22:56,385.385 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:22:56,397.397 INFO    ] time= 20/10/2026 23:22:56
[2026-10-20 23:22:56,402.402 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:22:56,408.408 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:22:56,551.551 INFO    ] No existing commands found in stream
[2026-10-20 23:23:01,571.571 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:23:01,573.573 INFO    ] Waiting 3.65 seconds before fallback handling...
[2026-10-20 23:23:05,699.699 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:23:05,702.702 INFO    ] Checking for system updates...
[2026-10-20 23:23:05,737.737 INFO    ] 200
[2026-10-20 23:23:05,740.740 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:23:05,791.791 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:23:05,794.794 INFO    ] No update needed
[2026-10-20 23:23:05,796.796 INFO    ] Checking for camera pi updates...
[2026-10-20 23:23:05,834.834 INFO    ] 200
[2026-10-20 23:23:05,837.837 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:23:05,883.883 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:23:05,928.928 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:23:05,931.931 INFO    ] No camera update needed
[2026-10-20 23:23:05,933.933 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:23:05,935.935 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:23:05,941.941 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:23:05,945.945 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:23:07,985.985 INFO    ] ================================================
[2026-10-20 23:23:08,000.000 INFO    ] Launching Daemon at Tue Oct 20 23:23:07 IST 2026
[2026-10-20 23:23:08,010.010 INFO    ] ================================================
[2026-10-20 23:23:08,700.700 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:23:08
[2026-10-20 23:23:09,372.372 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:23:09,644.644 INFO    ] Initializing speech engine...
[2026-10-20 23:23:09,653.653 INFO    ] 2026-10-20 23:23:09
[2026-10-20 23:23:09,902.902 INFO    ] 2026-10-20 23:23:09
[2026-10-20 23:23:09,938.938 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:23:10,199.199 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:23:10,204.204 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:23:10,341.341 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:23:10,395.395 INFO    ] time= 20/10/2026 23:23:10
[2026-10-20 23:23:10,470.470 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:23:10,478.478 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:23:10,623.623 INFO    ] No existing commands found in stream
[2026-10-20 23:23:15,634.634 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:23:15,637.637 INFO    ] Waiting 2.01 seconds before fallback handling...
[2026-10-20 23:23:18,128.128 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:23:18,131.131 INFO    ] Checking for system updates...
[2026-10-20 23:23:18,166.166 INFO    ] 200
[2026-10-20 23:23:18,169.169 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:23:18,221.221 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:23:18,224.224 INFO    ] No update needed
[2026-10-20 23:23:18,226.226 INFO    ] Checking for camera pi updates...
[2026-10-20 23:23:18,264.264 INFO    ] 200
[2026-10-20 23:23:18,266.266 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:23:18,306.306 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:23:18,353.353 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:23:18,356.356 INFO    ] No camera update needed
[2026-10-20 23:23:18,358.358 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:23:18,360.360 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:23:18,366.366 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:23:18,371.371 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:23:20,410.410 INFO    ] ================================================
[2026-10-20 23:23:20,425.425 INFO    ] Launching Daemon at Tue Oct 20 23:23:20 IST 2026
[2026-10-20 23:23:20,436.436 INFO    ] ================================================
[2026-10-20 23:23:21,046.046 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:23:21
[2026-10-20 23:23:21,645.645 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:23:21,924.924 INFO    ] Initializing speech engine...
[2026-10-20 23:23:21,933.933 INFO    ] 2026-10-20 23:23:21
[2026-10-20 23:23:22,200.200 INFO    ] 2026-10-20 23:23:22
[2026-10-20 23:23:22,236.236 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:23:22,474.474 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:23:22,513.513 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:23:22,770.770 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:23:22,800.800 INFO    ] time= 20/10/2026 23:23:22
[2026-10-20 23:23:22,806.806 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:23:22,821.821 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:23:22,955.955 INFO    ] No existing commands found in stream
[2026-10-20 23:23:27,967.967 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:23:27,970.970 INFO    ] Waiting 1.71 seconds before fallback handling...
[2026-10-20 23:23:31,215.215 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:23:31,218.218 INFO    ] Checking for system updates...
[2026-10-20 23:23:31,254.254 INFO    ] 200
[2026-10-20 23:23:31,256.256 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:23:31,309.309 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:23:31,312.312 INFO    ] No update needed
[2026-10-20 23:23:31,314.314 INFO    ] Checking for camera pi updates...
[2026-10-20 23:23:31,348.348 INFO    ] 200
[2026-10-20 23:23:31,351.351 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:23:31,392.392 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:23:31,438.438 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:23:31,440.440 INFO    ] No camera update needed
[2026-10-20 23:23:31,442.442 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:23:31,445.445 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:23:31,450.450 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:23:31,455.455 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:23:33,499.499 INFO    ] ================================================
[2026-10-20 23:23:33,514.514 INFO    ] Launching Daemon at Tue Oct 20 23:23:33 IST 2026
[2026-10-20 23:23:33,524.524 INFO    ] ================================================
[2026-10-20 23:23:34,184.184 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:23:34
[2026-10-20 23:23:34,891.891 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:23:35,215.215 INFO    ] Initializing speech engine...
[2026-10-20 23:23:35,222.222 INFO    ] 2026-10-20 23:23:35
[2026-10-20 23:23:35,516.516 INFO    ] 2026-10-20 23:23:35
[2026-10-20 23:23:35,629.629 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:23:35,888.888 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:23:35,921.921 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:23:36,109.109 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:23:36,121.121 INFO    ] time= 20/10/2026 23:23:36
[2026-10-20 23:23:36,177.177 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:23:36,221.221 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:23:36,335.335 INFO    ] No existing commands found in stream
[2026-10-20 23:23:41,369.369 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:23:41,373.373 INFO    ] Waiting 1.15 seconds before fallback handling...
[2026-10-20 23:23:43,055.055 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:23:43,058.058 INFO    ] Checking for system updates...
[2026-10-20 23:23:43,101.101 INFO    ] 200
[2026-10-20 23:23:43,103.103 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:23:43,155.155 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:23:43,157.157 INFO    ] No update needed
[2026-10-20 23:23:43,160.160 INFO    ] Checking for camera pi updates...
[2026-10-20 23:23:43,198.198 INFO    ] 200
[2026-10-20 23:23:43,200.200 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:23:43,247.247 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:23:43,294.294 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:23:43,296.296 INFO    ] No camera update needed
[2026-10-20 23:23:43,298.298 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:23:43,301.301 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:23:43,307.307 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:23:43,312.312 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:23:45,352.352 INFO    ] ================================================
[2026-10-20 23:23:45,367.367 INFO    ] Launching Daemon at Tue Oct 20 23:23:45 IST 2026
[2026-10-20 23:23:45,378.378 INFO    ] ================================================
[2026-10-20 23:23:46,063.063 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:23:46
[2026-10-20 23:23:46,747.747 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:23:47,065.065 INFO    ] Initializing speech engine...
[2026-10-20 23:23:47,078.078 INFO    ] 2026-10-20 23:23:47
[2026-10-20 23:23:47,370.370 INFO    ] 2026-10-20 23:23:47
[2026-10-20 23:23:47,427.427 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:23:47,708.708 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:23:47,718.718 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:23:47,925.925 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:23:47,947.947 INFO    ] time= 20/10/2026 23:23:47
[2026-10-20 23:23:47,977.977 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:23:47,988.988 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:23:48,110.110 INFO    ] No existing commands found in stream
[2026-10-20 23:23:53,141.141 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:23:53,144.144 INFO    ] Waiting 0.92 seconds before fallback handling...
[2026-10-20 23:23:54,648.648 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 23:23:54,652.652 INFO    ] Checking for system updates...
[2026-10-20 23:23:54,688.688 INFO    ] 200
[2026-10-20 23:23:54,691.691 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:23:54,743.743 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:23:54,745.745 INFO    ] No update needed
[2026-10-20 23:23:54,748.748 INFO    ] Checking for camera pi updates...
[2026-10-20 23:23:54,782.782 INFO    ] 200
[2026-10-20 23:23:54,784.784 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:23:54,831.831 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:23:54,881.881 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:23:54,883.883 INFO    ] No camera update needed
[2026-10-20 23:23:54,885.885 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:23:54,888.888 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:23:54,893.893 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:23:54,898.898 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:23:56,939.939 INFO    ] ================================================
[2026-10-20 23:23:56,954.954 INFO    ] Launching Daemon at Tue Oct 20 23:23:56 IST 2026
[2026-10-20 23:23:56,965.965 INFO    ] ================================================
[2026-10-20 23:23:57,539.539 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:23:57
[2026-10-20 23:23:58,125.125 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:23:58,375.375 INFO    ] Initializing speech engine...
[2026-10-20 23:23:58,388.388 INFO    ] 2026-10-20 23:23:58
[2026-10-20 23:23:58,653.653 INFO    ] 2026-10-20 23:23:58
[2026-10-20 23:23:58,688.688 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:23:58,890.890 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:23:58,949.949 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:23:59,093.093 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:23:59,133.133 INFO    ] time= 20/10/2026 23:23:59
[2026-10-20 23:23:59,177.177 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:23:59,226.226 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:23:59,381.381 INFO    ] No existing commands found in stream
[2026-10-20 23:24:04,399.399 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:24:04,402.402 INFO    ] Waiting 3.31 seconds before fallback handling...
[2026-10-20 23:24:08,323.323 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:24:08,325.325 INFO    ] Checking for system updates...
[2026-10-20 23:24:08,362.362 INFO    ] 200
[2026-10-20 23:24:08,365.365 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:24:08,416.416 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:24:08,419.419 INFO    ] No update needed
[2026-10-20 23:24:08,421.421 INFO    ] Checking for camera pi updates...
[2026-10-20 23:24:08,455.455 INFO    ] 200
[2026-10-20 23:24:08,457.457 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:24:08,504.504 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:24:08,554.554 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:24:08,556.556 INFO    ] No camera update needed
[2026-10-20 23:24:08,559.559 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:24:08,561.561 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:24:08,567.567 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:24:08,573.573 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:24:10,617.617 INFO    ] ================================================
[2026-10-20 23:24:10,632.632 INFO    ] Launching Daemon at Tue Oct 20 23:24:10 IST 2026
[2026-10-20 23:24:10,642.642 INFO    ] ================================================
[2026-10-20 23:24:11,255.255 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:24:11
[2026-10-20 23:24:11,871.871 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:24:12,230.230 INFO    ] Initializing speech engine...
[2026-10-20 23:24:12,240.240 INFO    ] 2026-10-20 23:24:12
[2026-10-20 23:24:12,505.505 INFO    ] 2026-10-20 23:24:12
[2026-10-20 23:24:12,547.547 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:24:12,789.789 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:24:12,794.794 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:24:13,032.032 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:24:13,051.051 INFO    ] time= 20/10/2026 23:24:13
[2026-10-20 23:24:13,057.057 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:24:13,074.074 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:24:13,203.203 INFO    ] No existing commands found in stream
[2026-10-20 23:24:18,217.217 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:24:18,221.221 INFO    ] Waiting 0.01 seconds before fallback handling...
[2026-10-20 23:24:18,705.705 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:24:18,708.708 INFO    ] Checking for system updates...
[2026-10-20 23:24:18,749.749 INFO    ] 200
[2026-10-20 23:24:18,751.751 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:24:18,812.812 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:24:18,814.814 INFO    ] No update needed
[2026-10-20 23:24:18,817.817 INFO    ] Checking for camera pi updates...
[2026-10-20 23:24:18,854.854 INFO    ] 200
[2026-10-20 23:24:18,857.857 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:24:18,903.903 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:24:18,954.954 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:24:18,956.956 INFO    ] No camera update needed
[2026-10-20 23:24:18,958.958 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:24:18,961.961 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:24:18,966.966 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:24:18,971.971 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:24:21,011.011 INFO    ] ================================================
[2026-10-20 23:24:21,026.026 INFO    ] Launching Daemon at Tue Oct 20 23:24:21 IST 2026
[2026-10-20 23:24:21,036.036 INFO    ] ================================================
[2026-10-20 23:24:21,625.625 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:24:21
[2026-10-20 23:24:22,246.246 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:24:22,561.561 INFO    ] Initializing speech engine...
[2026-10-20 23:24:22,572.572 INFO    ] 2026-10-20 23:24:22
[2026-10-20 23:24:22,851.851 INFO    ] 2026-10-20 23:24:22
[2026-10-20 23:24:22,959.959 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:24:23,170.170 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:24:23,176.176 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:24:23,366.366 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:24:23,373.373 INFO    ] time= 20/10/2026 23:24:23
[2026-10-20 23:24:23,391.391 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:24:23,419.419 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:24:23,525.525 INFO    ] No existing commands found in stream
[2026-10-20 23:24:28,545.545 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:24:28,547.547 INFO    ] Waiting 1.37 seconds before fallback handling...
[2026-10-20 23:24:30,421.421 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:24:30,423.423 INFO    ] Checking for system updates...
[2026-10-20 23:24:30,459.459 INFO    ] 200
[2026-10-20 23:24:30,461.461 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:24:30,514.514 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:24:30,517.517 INFO    ] No update needed
[2026-10-20 23:24:30,519.519 INFO    ] Checking for camera pi updates...
[2026-10-20 23:24:30,558.558 INFO    ] 200
[2026-10-20 23:24:30,560.560 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:24:30,607.607 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:24:30,652.652 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:24:30,655.655 INFO    ] No camera update needed
[2026-10-20 23:24:30,657.657 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:24:30,660.660 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:24:30,665.665 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:24:30,670.670 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:24:32,710.710 INFO    ] ================================================
[2026-10-20 23:24:32,726.726 INFO    ] Launching Daemon at Tue Oct 20 23:24:32 IST 2026
[2026-10-20 23:24:32,737.737 INFO    ] ================================================
[2026-10-20 23:24:33,319.319 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:24:33
[2026-10-20 23:24:33,920.920 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:24:34,198.198 INFO    ] Initializing speech engine...
[2026-10-20 23:24:34,205.205 INFO    ] 2026-10-20 23:24:34
[2026-10-20 23:24:34,466.466 INFO    ] 2026-10-20 23:24:34
[2026-10-20 23:24:34,495.495 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:24:34,872.872 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:24:34,911.911 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:24:35,138.138 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:24:35,164.164 INFO    ] time= 20/10/2026 23:24:35
[2026-10-20 23:24:35,223.223 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:24:35,260.260 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:24:35,399.399 INFO    ] No existing commands found in stream
[2026-10-20 23:24:40,417.417 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:24:40,420.420 INFO    ] Waiting 3.35 seconds before fallback handling...
[2026-10-20 23:24:44,281.281 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 23:24:44,284.284 INFO    ] Checking for system updates...
[2026-10-20 23:24:44,320.320 INFO    ] 200
[2026-10-20 23:24:44,322.322 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:24:44,386.386 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:24:44,388.388 INFO    ] No update needed
[2026-10-20 23:24:44,391.391 INFO    ] Checking for camera pi updates...
[2026-10-20 23:24:44,424.424 INFO    ] 200
[2026-10-20 23:24:44,427.427 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:24:44,467.467 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:24:44,518.518 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:24:44,520.520 INFO    ] No camera update needed
[2026-10-20 23:24:44,523.523 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:24:44,525.525 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:24:44,531.531 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:24:44,536.536 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:24:46,575.575 INFO    ] ================================================
[2026-10-20 23:24:46,591.591 INFO    ] Launching Daemon at Tue Oct 20 23:24:46 IST 2026
[2026-10-20 23:24:46,602.602 INFO    ] ================================================
[2026-10-20 23:24:47,172.172 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:24:47
[2026-10-20 23:24:47,758.758 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:24:48,011.011 INFO    ] Initializing speech engine...
[2026-10-20 23:24:48,019.019 INFO    ] 2026-10-20 23:24:48
[2026-10-20 23:24:48,320.320 INFO    ] 2026-10-20 23:24:48
[2026-10-20 23:24:48,355.355 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:24:48,554.554 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:24:48,611.611 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:24:48,752.752 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:24:48,811.811 INFO    ] time= 20/10/2026 23:24:48
[2026-10-20 23:24:48,855.855 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:24:48,884.884 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:24:49,010.010 INFO    ] No existing commands found in stream
[2026-10-20 23:24:54,037.037 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:24:54,040.040 INFO    ] Waiting 1.02 seconds before fallback handling...
[2026-10-20 23:24:55,574.574 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:24:55,577.577 INFO    ] Checking for system updates...
[2026-10-20 23:24:55,619.619 INFO    ] 200
[2026-10-20 23:24:55,621.621 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:24:55,682.682 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:24:55,684.684 INFO    ] No update needed
[2026-10-20 23:24:55,687.687 INFO    ] Checking for camera pi updates...
[2026-10-20 23:24:55,724.724 INFO    ] 200
[2026-10-20 23:24:55,727.727 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:24:55,767.767 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:24:55,819.819 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:24:55,822.822 INFO    ] No camera update needed
[2026-10-20 23:24:55,824.824 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:24:55,826.826 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:24:55,832.832 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:24:55,836.836 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:24:57,876.876 INFO    ] ================================================
[2026-10-20 23:24:57,892.892 INFO    ] Launching Daemon at Tue Oct 20 23:24:57 IST 2026
[2026-10-20 23:24:57,903.903 INFO    ] ================================================
[2026-10-20 23:24:58,467.467 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:24:58
[2026-10-20 23:24:59,048.048 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:24:59,299.299 INFO    ] Initializing speech engine...
[2026-10-20 23:24:59,321.321 INFO    ] 2026-10-20 23:24:59
[2026-10-20 23:24:59,575.575 INFO    ] 2026-10-20 23:24:59
[2026-10-20 23:24:59,616.616 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:24:59,866.866 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:24:59,876.876 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:25:00,011.011 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:25:00,053.053 INFO    ] time= 20/10/2026 23:25:00
[2026-10-20 23:25:00,107.107 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:25:00,147.147 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:25:00,277.277 INFO    ] No existing commands found in stream
[2026-10-20 23:25:05,306.306 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:25:05,309.309 INFO    ] Waiting 3.95 seconds before fallback handling...
[2026-10-20 23:25:09,742.742 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:25:09,745.745 INFO    ] Checking for system updates...
[2026-10-20 23:25:09,785.785 INFO    ] 200
[2026-10-20 23:25:09,787.787 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:25:09,846.846 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:25:09,848.848 INFO    ] No update needed
[2026-10-20 23:25:09,851.851 INFO    ] Checking for camera pi updates...
[2026-10-20 23:25:09,884.884 INFO    ] 200
[2026-10-20 23:25:09,886.886 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:25:09,926.926 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:25:10,070.070 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:25:10,072.072 INFO    ] No camera update needed
[2026-10-20 23:25:10,075.075 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:25:10,077.077 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:25:10,082.082 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:25:10,087.087 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:25:12,128.128 INFO    ] ================================================
[2026-10-20 23:25:12,143.143 INFO    ] Launching Daemon at Tue Oct 20 23:25:12 IST 2026
[2026-10-20 23:25:12,154.154 INFO    ] ================================================
[2026-10-20 23:25:12,722.722 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:25:12
[2026-10-20 23:25:13,307.307 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:25:13,576.576 INFO    ] Initializing speech engine...
[2026-10-20 23:25:13,583.583 INFO    ] 2026-10-20 23:25:13
[2026-10-20 23:25:13,831.831 INFO    ] 2026-10-20 23:25:13
[2026-10-20 23:25:13,865.865 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:25:14,115.115 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:25:14,125.125 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:25:14,259.259 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:25:14,329.329 INFO    ] time= 20/10/2026 23:25:14
[2026-10-20 23:25:14,383.383 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:25:14,392.392 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:25:14,522.522 INFO    ] No existing commands found in stream
[2026-10-20 23:25:19,548.548 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:25:19,551.551 INFO    ] Waiting 0.59 seconds before fallback handling...
[2026-10-20 23:25:20,606.606 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 23:25:20,609.609 INFO    ] Checking for system updates...
[2026-10-20 23:25:20,648.648 INFO    ] 200
[2026-10-20 23:25:20,651.651 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:25:20,709.709 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:25:20,712.712 INFO    ] No update needed
[2026-10-20 23:25:20,714.714 INFO    ] Checking for camera pi updates...
[2026-10-20 23:25:20,752.752 INFO    ] 200
[2026-10-20 23:25:20,755.755 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:25:20,800.800 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:25:20,847.847 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:25:20,849.849 INFO    ] No camera update needed
[2026-10-20 23:25:20,851.851 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:25:20,854.854 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:25:20,859.859 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:25:20,864.864 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:25:22,905.905 INFO    ] ================================================
[2026-10-20 23:25:22,921.921 INFO    ] Launching Daemon at Tue Oct 20 23:25:22 IST 2026
[2026-10-20 23:25:22,931.931 INFO    ] ================================================
[2026-10-20 23:25:23,596.596 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:25:23
[2026-10-20 23:25:24,276.276 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:25:24,586.586 INFO    ] Initializing speech engine...
[2026-10-20 23:25:24,598.598 INFO    ] 2026-10-20 23:25:24
[2026-10-20 23:25:24,885.885 INFO    ] 2026-10-20 23:25:24
[2026-10-20 23:25:24,922.922 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:25:25,205.205 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:25:25,214.214 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:25:25,405.405 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:25:25,416.416 INFO    ] time= 20/10/2026 23:25:25
[2026-10-20 23:25:25,438.438 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:25:25,466.466 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:25:25,596.596 INFO    ] No existing commands found in stream
[2026-10-20 23:25:30,632.632 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:25:30,635.635 INFO    ] Waiting 2.43 seconds before fallback handling...
[2026-10-20 23:25:33,588.588 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:25:33,591.591 INFO    ] Checking for system updates...
[2026-10-20 23:25:33,629.629 INFO    ] 200
[2026-10-20 23:25:33,631.631 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:25:33,693.693 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:25:33,696.696 INFO    ] No update needed
[2026-10-20 23:25:33,699.699 INFO    ] Checking for camera pi updates...
[2026-10-20 23:25:33,738.738 INFO    ] 200
[2026-10-20 23:25:33,741.741 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:25:33,791.791 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:25:33,841.841 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:25:33,843.843 INFO    ] No camera update needed
[2026-10-20 23:25:33,846.846 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:25:33,849.849 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:25:33,855.855 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:25:33,862.862 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:25:35,904.904 INFO    ] ================================================
[2026-10-20 23:25:35,919.919 INFO    ] Launching Daemon at Tue Oct 20 23:25:35 IST 2026
[2026-10-20 23:25:35,930.930 INFO    ] ================================================
[2026-10-20 23:25:36,598.598 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:25:36
[2026-10-20 23:25:37,199.199 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:25:37,472.472 INFO    ] Initializing speech engine...
[2026-10-20 23:25:37,481.481 INFO    ] 2026-10-20 23:25:37
[2026-10-20 23:25:37,749.749 INFO    ] 2026-10-20 23:25:37
[2026-10-20 23:25:37,784.784 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:25:38,038.038 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:25:38,044.044 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:25:38,259.259 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:25:38,303.303 INFO    ] time= 20/10/2026 23:25:38
[2026-10-20 23:25:38,309.309 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:25:38,330.330 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:25:38,462.462 INFO    ] No existing commands found in stream
[2026-10-20 23:25:43,485.485 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:25:43,489.489 INFO    ] Waiting 0.45 seconds before fallback handling...
[2026-10-20 23:25:44,461.461 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 23:25:44,464.464 INFO    ] Checking for system updates...
[2026-10-20 23:25:44,501.501 INFO    ] 200
[2026-10-20 23:25:44,504.504 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:25:44,565.565 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:25:44,568.568 INFO    ] No update needed
[2026-10-20 23:25:44,571.571 INFO    ] Checking for camera pi updates...
[2026-10-20 23:25:44,611.611 INFO    ] 200
[2026-10-20 23:25:44,614.614 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:25:44,656.656 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:25:44,702.702 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:25:44,705.705 INFO    ] No camera update needed
[2026-10-20 23:25:44,708.708 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:25:44,711.711 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:25:44,717.717 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:25:44,724.724 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:25:46,766.766 INFO    ] ================================================
[2026-10-20 23:25:46,782.782 INFO    ] Launching Daemon at Tue Oct 20 23:25:46 IST 2026
[2026-10-20 23:25:46,792.792 INFO    ] ================================================
[2026-10-20 23:25:47,408.408 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:25:47
[2026-10-20 23:25:48,102.102 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:25:48,412.412 INFO    ] Initializing speech engine...
[2026-10-20 23:25:48,420.420 INFO    ] 2026-10-20 23:25:48
[2026-10-20 23:25:48,709.709 INFO    ] 2026-10-20 23:25:48
[2026-10-20 23:25:48,755.755 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:25:48,982.982 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:25:49,003.003 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:25:49,215.215 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:25:49,248.248 INFO    ] time= 20/10/2026 23:25:49
[2026-10-20 23:25:49,270.270 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:25:49,298.298 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:25:49,426.426 INFO    ] No existing commands found in stream
[2026-10-20 23:25:54,462.462 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:25:54,465.465 INFO    ] Waiting 1.26 seconds before fallback handling...
[2026-10-20 23:25:56,270.270 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:25:56,273.273 INFO    ] Checking for system updates...
[2026-10-20 23:25:56,315.315 INFO    ] 200
[2026-10-20 23:25:56,318.318 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:25:56,380.380 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:25:56,383.383 INFO    ] No update needed
[2026-10-20 23:25:56,385.385 INFO    ] Checking for camera pi updates...
[2026-10-20 23:25:56,425.425 INFO    ] 200
[2026-10-20 23:25:56,429.429 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:25:56,476.476 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:25:56,523.523 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:25:56,526.526 INFO    ] No camera update needed
[2026-10-20 23:25:56,529.529 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:25:56,531.531 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:25:56,538.538 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:25:56,544.544 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:25:58,584.584 INFO    ] ================================================
[2026-10-20 23:25:58,600.600 INFO    ] Launching Daemon at Tue Oct 20 23:25:58 IST 2026
[2026-10-20 23:25:58,611.611 INFO    ] ================================================
[2026-10-20 23:25:59,282.282 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:25:59
[2026-10-20 23:25:59,973.973 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:26:00,286.286 INFO    ] Initializing speech engine...
[2026-10-20 23:26:00,297.297 INFO    ] 2026-10-20 23:26:00
[2026-10-20 23:26:00,612.612 INFO    ] 2026-10-20 23:26:00
[2026-10-20 23:26:00,698.698 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:26:00,941.941 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:26:00,979.979 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:26:01,159.159 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:26:01,180.180 INFO    ] time= 20/10/2026 23:26:01
[2026-10-20 23:26:01,238.238 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:26:01,305.305 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:26:01,473.473 INFO    ] No existing commands found in stream
[2026-10-20 23:26:06,500.500 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:26:06,503.503 INFO    ] Waiting 0.67 seconds before fallback handling...
[2026-10-20 23:26:07,732.732 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 23:26:07,735.735 INFO    ] Checking for system updates...
[2026-10-20 23:26:07,772.772 INFO    ] 200
[2026-10-20 23:26:07,775.775 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:26:07,828.828 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:26:07,831.831 INFO    ] No update needed
[2026-10-20 23:26:07,834.834 INFO    ] Checking for camera pi updates...
[2026-10-20 23:26:07,869.869 INFO    ] 200
[2026-10-20 23:26:07,872.872 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:26:07,924.924 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:26:07,976.976 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:26:07,979.979 INFO    ] No camera update needed
[2026-10-20 23:26:07,982.982 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:26:07,984.984 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:26:07,991.991 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:26:07,996.996 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:26:10,037.037 INFO    ] ================================================
[2026-10-20 23:26:10,053.053 INFO    ] Launching Daemon at Tue Oct 20 23:26:10 IST 2026
[2026-10-20 23:26:10,065.065 INFO    ] ================================================
[2026-10-20 23:26:10,633.633 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:26:10
[2026-10-20 23:26:11,217.217 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:26:11,488.488 INFO    ] Initializing speech engine...
[2026-10-20 23:26:11,497.497 INFO    ] 2026-10-20 23:26:11
[2026-10-20 23:26:11,748.748 INFO    ] 2026-10-20 23:26:11
[2026-10-20 23:26:11,783.783 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:26:12,042.042 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:26:12,051.051 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:26:12,189.189 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:26:12,264.264 INFO    ] time= 20/10/2026 23:26:12
[2026-10-20 23:26:12,313.313 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:26:12,327.327 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:26:12,478.478 INFO    ] No existing commands found in stream
[2026-10-20 23:26:17,492.492 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:26:17,495.495 INFO    ] Waiting 0.88 seconds before fallback handling...
[2026-10-20 23:26:18,883.883 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 23:26:18,886.886 INFO    ] Checking for system updates...
[2026-10-20 23:26:18,921.921 INFO    ] 200
[2026-10-20 23:26:18,923.923 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:26:18,975.975 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:26:18,977.977 INFO    ] No update needed
[2026-10-20 23:26:18,980.980 INFO    ] Checking for camera pi updates...
[2026-10-20 23:26:19,013.013 INFO    ] 200
[2026-10-20 23:26:19,016.016 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:26:19,056.056 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:26:19,110.110 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:26:19,112.112 INFO    ] No camera update needed
[2026-10-20 23:26:19,115.115 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:26:19,117.117 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:26:19,122.122 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:26:19,127.127 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:26:21,167.167 INFO    ] ================================================
[2026-10-20 23:26:21,182.182 INFO    ] Launching Daemon at Tue Oct 20 23:26:21 IST 2026
[2026-10-20 23:26:21,194.194 INFO    ] ================================================
[2026-10-20 23:26:21,778.778 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:26:21
[2026-10-20 23:26:22,376.376 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:26:22,650.650 INFO    ] Initializing speech engine...
[2026-10-20 23:26:22,659.659 INFO    ] 2026-10-20 23:26:22
[2026-10-20 23:26:22,918.918 INFO    ] 2026-10-20 23:26:22
[2026-10-20 23:26:22,952.952 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:26:23,200.200 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:26:23,209.209 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:26:23,419.419 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:26:23,471.471 INFO    ] time= 20/10/2026 23:26:23
[2026-10-20 23:26:23,477.477 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:26:23,495.495 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:26:23,627.627 INFO    ] No existing commands found in stream
[2026-10-20 23:26:28,642.642 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:26:28,645.645 INFO    ] Waiting 2.60 seconds before fallback handling...
[2026-10-20 23:26:31,758.758 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:26:31,761.761 INFO    ] Checking for system updates...
[2026-10-20 23:26:31,807.807 INFO    ] 200
[2026-10-20 23:26:31,810.810 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:26:31,873.873 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:26:31,875.875 INFO    ] No update needed
[2026-10-20 23:26:31,878.878 INFO    ] Checking for camera pi updates...
[2026-10-20 23:26:31,914.914 INFO    ] 200
[2026-10-20 23:26:31,917.917 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:26:31,970.970 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:26:32,004.004 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:26:32,007.007 INFO    ] No camera update needed
[2026-10-20 23:26:32,009.009 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:26:32,012.012 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:26:32,018.018 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:26:32,024.024 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:26:34,067.067 INFO    ] ================================================
[2026-10-20 23:26:34,083.083 INFO    ] Launching Daemon at Tue Oct 20 23:26:34 IST 2026
[2026-10-20 23:26:34,094.094 INFO    ] ================================================
[2026-10-20 23:26:34,675.675 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:26:34
[2026-10-20 23:26:35,275.275 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:26:35,554.554 INFO    ] Initializing speech engine...
[2026-10-20 23:26:35,562.562 INFO    ] 2026-10-20 23:26:35
[2026-10-20 23:26:35,820.820 INFO    ] 2026-10-20 23:26:35
[2026-10-20 23:26:35,874.874 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:26:36,101.101 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:26:36,107.107 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:26:36,338.338 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:26:36,365.365 INFO    ] time= 20/10/2026 23:26:36
[2026-10-20 23:26:36,371.371 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:26:36,388.388 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:26:36,513.513 INFO    ] No existing commands found in stream
[2026-10-20 23:26:41,530.530 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:26:41,532.532 INFO    ] Waiting 3.22 seconds before fallback handling...
[2026-10-20 23:26:45,287.287 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 23:26:45,290.290 INFO    ] Checking for system updates...
[2026-10-20 23:26:45,325.325 INFO    ] 200
[2026-10-20 23:26:45,328.328 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:26:45,381.381 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:26:45,383.383 INFO    ] No update needed
[2026-10-20 23:26:45,386.386 INFO    ] Checking for camera pi updates...
[2026-10-20 23:26:45,419.419 INFO    ] 200
[2026-10-20 23:26:45,422.422 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:26:45,462.462 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:26:45,517.517 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:26:45,519.519 INFO    ] No camera update needed
[2026-10-20 23:26:45,522.522 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:26:45,524.524 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:26:45,530.530 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:26:45,535.535 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:26:47,575.575 INFO    ] ================================================
[2026-10-20 23:26:47,591.591 INFO    ] Launching Daemon at Tue Oct 20 23:26:47 IST 2026
[2026-10-20 23:26:47,601.601 INFO    ] ================================================
[2026-10-20 23:26:48,184.184 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:26:48
[2026-10-20 23:26:48,782.782 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:26:49,059.059 INFO    ] Initializing speech engine...
[2026-10-20 23:26:49,068.068 INFO    ] 2026-10-20 23:26:49
[2026-10-20 23:26:49,326.326 INFO    ] 2026-10-20 23:26:49
[2026-10-20 23:26:49,356.356 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:26:49,602.602 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:26:49,611.611 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:26:49,750.750 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:26:49,815.815 INFO    ] time= 20/10/2026 23:26:49
[2026-10-20 23:26:49,870.870 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:26:49,881.881 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:26:50,026.026 INFO    ] No existing commands found in stream
[2026-10-20 23:26:55,041.041 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:26:55,044.044 INFO    ] Waiting 1.75 seconds before fallback handling...
[2026-10-20 23:26:57,297.297 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:26:57,300.300 INFO    ] Checking for system updates...
[2026-10-20 23:26:57,336.336 INFO    ] 200
[2026-10-20 23:26:57,338.338 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:26:57,399.399 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:26:57,401.401 INFO    ] No update needed
[2026-10-20 23:26:57,403.403 INFO    ] Checking for camera pi updates...
[2026-10-20 23:26:57,441.441 INFO    ] 200
[2026-10-20 23:26:57,444.444 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:26:57,485.485 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:26:57,530.530 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:26:57,532.532 INFO    ] No camera update needed
[2026-10-20 23:26:57,534.534 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:26:57,537.537 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:26:57,542.542 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:26:57,547.547 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:26:59,588.588 INFO    ] ================================================
[2026-10-20 23:26:59,603.603 INFO    ] Launching Daemon at Tue Oct 20 23:26:59 IST 2026
[2026-10-20 23:26:59,613.613 INFO    ] ================================================
[2026-10-20 23:27:00,194.194 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:27:00
[2026-10-20 23:27:00,794.794 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:27:01,068.068 INFO    ] Initializing speech engine...
[2026-10-20 23:27:01,078.078 INFO    ] 2026-10-20 23:27:01
[2026-10-20 23:27:01,331.331 INFO    ] 2026-10-20 23:27:01
[2026-10-20 23:27:01,367.367 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:27:01,644.644 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:27:01,653.653 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:27:01,869.869 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:27:01,885.885 INFO    ] time= 20/10/2026 23:27:01
[2026-10-20 23:27:01,894.894 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:27:01,898.898 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:27:01,975.975 INFO    ] No existing commands found in stream
[2026-10-20 23:27:06,985.985 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:27:06,988.988 INFO    ] Waiting 0.48 seconds before fallback handling...
[2026-10-20 23:27:07,967.967 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:27:07,970.970 INFO    ] Checking for system updates...
[2026-10-20 23:27:08,006.006 INFO    ] 200
[2026-10-20 23:27:08,009.009 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:27:08,060.060 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:27:08,063.063 INFO    ] No update needed
[2026-10-20 23:27:08,065.065 INFO    ] Checking for camera pi updates...
[2026-10-20 23:27:08,102.102 INFO    ] 200
[2026-10-20 23:27:08,104.104 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:27:08,145.145 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:27:08,189.189 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:27:08,191.191 INFO    ] No camera update needed
[2026-10-20 23:27:08,193.193 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:27:08,196.196 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:27:08,201.201 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:27:08,206.206 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:27:10,246.246 INFO    ] ================================================
[2026-10-20 23:27:10,261.261 INFO    ] Launching Daemon at Tue Oct 20 23:27:10 IST 2026
[2026-10-20 23:27:10,272.272 INFO    ] ================================================
[2026-10-20 23:27:10,854.854 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:27:10
[2026-10-20 23:27:11,511.511 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:27:11,796.796 INFO    ] Initializing speech engine...
[2026-10-20 23:27:11,804.804 INFO    ] 2026-10-20 23:27:11
[2026-10-20 23:27:12,076.076 INFO    ] 2026-10-20 23:27:12
[2026-10-20 23:27:12,119.119 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:27:12,399.399 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:27:12,407.407 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:27:12,600.600 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:27:12,620.620 INFO    ] time= 20/10/2026 23:27:12
[2026-10-20 23:27:12,629.629 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:27:12,655.655 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:27:12,780.780 INFO    ] No existing commands found in stream
[2026-10-20 23:27:17,810.810 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:27:17,813.813 INFO    ] Waiting 3.53 seconds before fallback handling...
[2026-10-20 23:27:21,888.888 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 23:27:21,891.891 INFO    ] Checking for system updates...
[2026-10-20 23:27:21,930.930 INFO    ] 200
[2026-10-20 23:27:21,933.933 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:27:21,984.984 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:27:21,987.987 INFO    ] No update needed
[2026-10-20 23:27:21,989.989 INFO    ] Checking for camera pi updates...
[2026-10-20 23:27:22,023.023 INFO    ] 200
[2026-10-20 23:27:22,025.025 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:27:22,065.065 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:27:22,211.211 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:27:22,213.213 INFO    ] No camera update needed
[2026-10-20 23:27:22,216.216 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:27:22,218.218 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:27:22,224.224 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:27:22,229.229 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:27:24,272.272 INFO    ] ================================================
[2026-10-20 23:27:24,287.287 INFO    ] Launching Daemon at Tue Oct 20 23:27:24 IST 2026
[2026-10-20 23:27:24,298.298 INFO    ] ================================================
[2026-10-20 23:27:24,882.882 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:27:24
[2026-10-20 23:27:25,480.480 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:27:25,735.735 INFO    ] Initializing speech engine...
[2026-10-20 23:27:25,743.743 INFO    ] 2026-10-20 23:27:25
[2026-10-20 23:27:26,036.036 INFO    ] 2026-10-20 23:27:26
[2026-10-20 23:27:26,071.071 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:27:26,270.270 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:27:26,284.284 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:27:26,427.427 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:27:26,453.453 INFO    ] time= 20/10/2026 23:27:26
[2026-10-20 23:27:26,458.458 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:27:26,464.464 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:27:26,591.591 INFO    ] No existing commands found in stream
[2026-10-20 23:27:31,616.616 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:27:31,619.619 INFO    ] Waiting 2.19 seconds before fallback handling...
[2026-10-20 23:27:34,314.314 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:27:34,316.316 INFO    ] Checking for system updates...
[2026-10-20 23:27:34,355.355 INFO    ] 200
[2026-10-20 23:27:34,357.357 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:27:34,414.414 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:27:34,417.417 INFO    ] No update needed
[2026-10-20 23:27:34,419.419 INFO    ] Checking for camera pi updates...
[2026-10-20 23:27:34,453.453 INFO    ] 200
[2026-10-20 23:27:34,456.456 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:27:34,496.496 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:27:34,547.547 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:27:34,549.549 INFO    ] No camera update needed
[2026-10-20 23:27:34,551.551 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:27:34,554.554 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:27:34,559.559 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:27:34,564.564 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:27:36,603.603 INFO    ] ================================================
[2026-10-20 23:27:36,619.619 INFO    ] Launching Daemon at Tue Oct 20 23:27:36 IST 2026
[2026-10-20 23:27:36,629.629 INFO    ] ================================================
[2026-10-20 23:27:37,205.205 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:27:37
[2026-10-20 23:27:37,793.793 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:27:38,063.063 INFO    ] Initializing speech engine...
[2026-10-20 23:27:38,072.072 INFO    ] 2026-10-20 23:27:38
[2026-10-20 23:27:38,319.319 INFO    ] 2026-10-20 23:27:38
[2026-10-20 23:27:38,354.354 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:27:38,605.605 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:27:38,614.614 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:27:38,807.807 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:27:38,862.862 INFO    ] time= 20/10/2026 23:27:38
[2026-10-20 23:27:38,876.876 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:27:38,882.882 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:27:39,024.024 INFO    ] No existing commands found in stream
[2026-10-20 23:27:44,039.039 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:27:44,041.041 INFO    ] Waiting 3.41 seconds before fallback handling...
[2026-10-20 23:27:47,948.948 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:27:47,951.951 INFO    ] Checking for system updates...
[2026-10-20 23:27:47,987.987 INFO    ] 200
[2026-10-20 23:27:47,990.990 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:27:48,043.043 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:27:48,046.046 INFO    ] No update needed
[2026-10-20 23:27:48,048.048 INFO    ] Checking for camera pi updates...
[2026-10-20 23:27:48,082.082 INFO    ] 200
[2026-10-20 23:27:48,084.084 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:27:48,128.128 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:27:48,174.174 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:27:48,176.176 INFO    ] No camera update needed
[2026-10-20 23:27:48,179.179 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:27:48,181.181 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:27:48,187.187 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:27:48,192.192 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:27:50,231.231 INFO    ] ================================================
[2026-10-20 23:27:50,246.246 INFO    ] Launching Daemon at Tue Oct 20 23:27:50 IST 2026
[2026-10-20 23:27:50,256.256 INFO    ] ================================================
[2026-10-20 23:27:50,822.822 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:27:50
[2026-10-20 23:27:51,407.407 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:27:51,661.661 INFO    ] Initializing speech engine...
[2026-10-20 23:27:51,670.670 INFO    ] 2026-10-20 23:27:51
[2026-10-20 23:27:51,960.960 INFO    ] 2026-10-20 23:27:51
[2026-10-20 23:27:51,994.994 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:27:52,220.220 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:27:52,284.284 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:27:52,441.441 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:27:52,447.447 INFO    ] time= 20/10/2026 23:27:52
[2026-10-20 23:27:52,492.492 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:27:52,540.540 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:27:52,647.647 INFO    ] No existing commands found in stream
[2026-10-20 23:27:57,660.660 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:27:57,663.663 INFO    ] Waiting 3.85 seconds before fallback handling...
[2026-10-20 23:28:02,062.062 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:28:02,072.072 INFO    ] Checking for system updates...
[2026-10-20 23:28:02,142.142 INFO    ] 200
[2026-10-20 23:28:02,145.145 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:28:02,269.269 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:28:02,272.272 INFO    ] No update needed
[2026-10-20 23:28:02,275.275 INFO    ] Checking for camera pi updates...
[2026-10-20 23:28:02,379.379 INFO    ] 200
[2026-10-20 23:28:02,382.382 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:28:02,441.441 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:28:02,474.474 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:28:02,477.477 INFO    ] No camera update needed
[2026-10-20 23:28:02,481.481 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:28:02,483.483 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:28:02,490.490 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:28:02,497.497 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:28:04,540.540 INFO    ] ================================================
[2026-10-20 23:28:04,556.556 INFO    ] Launching Daemon at Tue Oct 20 23:28:04 IST 2026
[2026-10-20 23:28:04,567.567 INFO    ] ================================================
[2026-10-20 23:28:05,151.151 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:28:05
[2026-10-20 23:28:05,752.752 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:28:06,011.011 INFO    ] Initializing speech engine...
[2026-10-20 23:28:06,018.018 INFO    ] 2026-10-20 23:28:06
[2026-10-20 23:28:06,312.312 INFO    ] 2026-10-20 23:28:06
[2026-10-20 23:28:06,352.352 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:28:06,576.576 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:28:06,620.620 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:28:06,799.799 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:28:06,822.822 INFO    ] time= 20/10/2026 23:28:06
[2026-10-20 23:28:06,871.871 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:28:06,920.920 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:28:07,015.015 INFO    ] No existing commands found in stream
[2026-10-20 23:28:12,027.027 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:28:12,030.030 INFO    ] Waiting 0.13 seconds before fallback handling...
[2026-10-20 23:28:12,690.690 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:28:12,693.693 INFO    ] Checking for system updates...
[2026-10-20 23:28:12,729.729 INFO    ] 200
[2026-10-20 23:28:12,731.731 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:28:12,790.790 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:28:12,792.792 INFO    ] No update needed
[2026-10-20 23:28:12,794.794 INFO    ] Checking for camera pi updates...
[2026-10-20 23:28:12,828.828 INFO    ] 200
[2026-10-20 23:28:12,831.831 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:28:12,875.875 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:28:12,916.916 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:28:12,918.918 INFO    ] No camera update needed
[2026-10-20 23:28:12,921.921 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:28:12,923.923 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:28:12,929.929 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:28:12,934.934 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:28:14,975.975 INFO    ] ================================================
[2026-10-20 23:28:14,991.991 INFO    ] Launching Daemon at Tue Oct 20 23:28:14 IST 2026
[2026-10-20 23:28:15,002.002 INFO    ] ================================================
[2026-10-20 23:28:15,640.640 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:28:15
[2026-10-20 23:28:16,296.296 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:28:16,597.597 INFO    ] Initializing speech engine...
[2026-10-20 23:28:16,610.610 INFO    ] 2026-10-20 23:28:16
[2026-10-20 23:28:16,897.897 INFO    ] 2026-10-20 23:28:16
[2026-10-20 23:28:16,935.935 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:28:17,168.168 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:28:17,173.173 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:28:17,350.350 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:28:17,405.405 INFO    ] time= 20/10/2026 23:28:17
[2026-10-20 23:28:17,443.443 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:28:17,449.449 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:28:17,592.592 INFO    ] No existing commands found in stream
[2026-10-20 23:28:22,610.610 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:28:22,613.613 INFO    ] Waiting 3.97 seconds before fallback handling...
[2026-10-20 23:28:27,121.121 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:28:27,124.124 INFO    ] Checking for system updates...
[2026-10-20 23:28:27,160.160 INFO    ] 200
[2026-10-20 23:28:27,163.163 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:28:27,217.217 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:28:27,220.220 INFO    ] No update needed
[2026-10-20 23:28:27,223.223 INFO    ] Checking for camera pi updates...
[2026-10-20 23:28:27,256.256 INFO    ] 200
[2026-10-20 23:28:27,259.259 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:28:27,300.300 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:28:27,347.347 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:28:27,350.350 INFO    ] No camera update needed
[2026-10-20 23:28:27,353.353 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:28:27,355.355 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:28:27,362.362 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:28:27,367.367 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:28:29,408.408 INFO    ] ================================================
[2026-10-20 23:28:29,423.423 INFO    ] Launching Daemon at Tue Oct 20 23:28:29 IST 2026
[2026-10-20 23:28:29,434.434 INFO    ] ================================================
[2026-10-20 23:28:30,006.006 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:28:30
[2026-10-20 23:28:30,595.595 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:28:30,870.870 INFO    ] Initializing speech engine...
[2026-10-20 23:28:30,885.885 INFO    ] 2026-10-20 23:28:30
[2026-10-20 23:28:31,153.153 INFO    ] 2026-10-20 23:28:31
[2026-10-20 23:28:31,192.192 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:28:31,415.415 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:28:31,474.474 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:28:31,636.636 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:28:31,648.648 INFO    ] time= 20/10/2026 23:28:31
[2026-10-20 23:28:31,697.697 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:28:31,736.736 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:28:31,840.840 INFO    ] No existing commands found in stream
[2026-10-20 23:28:36,852.852 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:28:36,854.854 INFO    ] Waiting 2.30 seconds before fallback handling...
[2026-10-20 23:28:39,647.647 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:28:39,650.650 INFO    ] Checking for system updates...
[2026-10-20 23:28:39,687.687 INFO    ] 200
[2026-10-20 23:28:39,689.689 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:28:39,744.744 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:28:39,747.747 INFO    ] No update needed
[2026-10-20 23:28:39,749.749 INFO    ] Checking for camera pi updates...
[2026-10-20 23:28:39,783.783 INFO    ] 200
[2026-10-20 23:28:39,786.786 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:28:39,827.827 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:28:39,878.878 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:28:39,881.881 INFO    ] No camera update needed
[2026-10-20 23:28:39,883.883 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:28:39,886.886 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:28:39,892.892 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:28:39,898.898 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:28:41,938.938 INFO    ] ================================================
[2026-10-20 23:28:41,954.954 INFO    ] Launching Daemon at Tue Oct 20 23:28:41 IST 2026
[2026-10-20 23:28:41,965.965 INFO    ] ================================================
[2026-10-20 23:28:42,599.599 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:28:42
[2026-10-20 23:28:43,252.252 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:28:43,550.550 INFO    ] Initializing speech engine...
[2026-10-20 23:28:43,559.559 INFO    ] 2026-10-20 23:28:43
[2026-10-20 23:28:43,847.847 INFO    ] 2026-10-20 23:28:43
[2026-10-20 23:28:43,893.893 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:28:44,122.122 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:28:44,127.127 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:28:44,265.265 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:28:44,325.325 INFO    ] time= 20/10/2026 23:28:44
[2026-10-20 23:28:44,369.369 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:28:44,402.402 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:28:44,547.547 INFO    ] No existing commands found in stream
[2026-10-20 23:28:49,565.565 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:28:49,568.568 INFO    ] Waiting 0.99 seconds before fallback handling...
[2026-10-20 23:28:51,105.105 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:28:51,108.108 INFO    ] Checking for system updates...
[2026-10-20 23:28:51,148.148 INFO    ] 200
[2026-10-20 23:28:51,151.151 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:28:51,203.203 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:28:51,206.206 INFO    ] No update needed
[2026-10-20 23:28:51,209.209 INFO    ] Checking for camera pi updates...
[2026-10-20 23:28:51,243.243 INFO    ] 200
[2026-10-20 23:28:51,246.246 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:28:51,287.287 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:28:51,341.341 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:28:51,343.343 INFO    ] No camera update needed
[2026-10-20 23:28:51,346.346 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:28:51,349.349 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:28:51,355.355 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:28:51,361.361 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:28:53,402.402 INFO    ] ================================================
[2026-10-20 23:28:53,418.418 INFO    ] Launching Daemon at Tue Oct 20 23:28:53 IST 2026
[2026-10-20 23:28:53,429.429 INFO    ] ================================================
[2026-10-20 23:28:54,069.069 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:28:54
[2026-10-20 23:28:54,725.725 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:28:55,024.024 INFO    ] Initializing speech engine...
[2026-10-20 23:28:55,032.032 INFO    ] 2026-10-20 23:28:55
[2026-10-20 23:28:55,319.319 INFO    ] 2026-10-20 23:28:55
[2026-10-20 23:28:55,363.363 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:28:55,657.657 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:28:55,667.667 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:28:55,862.862 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:28:55,880.880 INFO    ] time= 20/10/2026 23:28:55
[2026-10-20 23:28:55,905.905 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:28:55,920.920 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:28:56,045.045 INFO    ] No existing commands found in stream
[2026-10-20 23:29:01,081.081 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:29:01,084.084 INFO    ] Waiting 2.87 seconds before fallback handling...
[2026-10-20 23:29:04,497.497 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:29:04,500.500 INFO    ] Checking for system updates...
[2026-10-20 23:29:04,539.539 INFO    ] 200
[2026-10-20 23:29:04,542.542 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:29:04,603.603 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:29:04,605.605 INFO    ] No update needed
[2026-10-20 23:29:04,608.608 INFO    ] Checking for camera pi updates...
[2026-10-20 23:29:04,646.646 INFO    ] 200
[2026-10-20 23:29:04,649.649 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:29:04,690.690 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:29:04,735.735 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:29:04,737.737 INFO    ] No camera update needed
[2026-10-20 23:29:04,740.740 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:29:04,742.742 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:29:04,747.747 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:29:04,752.752 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:29:06,794.794 INFO    ] ================================================
[2026-10-20 23:29:06,810.810 INFO    ] Launching Daemon at Tue Oct 20 23:29:06 IST 2026
[2026-10-20 23:29:06,820.820 INFO    ] ================================================
[2026-10-20 23:29:07,404.404 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:29:07
[2026-10-20 23:29:08,003.003 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:29:08,280.280 INFO    ] Initializing speech engine...
[2026-10-20 23:29:08,287.287 INFO    ] 2026-10-20 23:29:08
[2026-10-20 23:29:08,546.546 INFO    ] 2026-10-20 23:29:08
[2026-10-20 23:29:08,599.599 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:29:08,824.824 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:29:08,829.829 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:29:09,052.052 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:29:09,086.086 INFO    ] time= 20/10/2026 23:29:09
[2026-10-20 23:29:09,092.092 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:29:09,111.111 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:29:09,254.254 INFO    ] No existing commands found in stream
[2026-10-20 23:29:14,291.291 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:29:14,293.293 INFO    ] Waiting 3.51 seconds before fallback handling...
[2026-10-20 23:29:18,286.286 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:29:18,289.289 INFO    ] Checking for system updates...
[2026-10-20 23:29:18,324.324 INFO    ] 200
[2026-10-20 23:29:18,326.326 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:29:18,378.378 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:29:18,380.380 INFO    ] No update needed
[2026-10-20 23:29:18,383.383 INFO    ] Checking for camera pi updates...
[2026-10-20 23:29:18,417.417 INFO    ] 200
[2026-10-20 23:29:18,420.420 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:29:18,461.461 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:29:18,505.505 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:29:18,508.508 INFO    ] No camera update needed
[2026-10-20 23:29:18,511.511 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:29:18,513.513 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:29:18,519.519 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:29:18,524.524 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:29:20,566.566 INFO    ] ================================================
[2026-10-20 23:29:20,582.582 INFO    ] Launching Daemon at Tue Oct 20 23:29:20 IST 2026
[2026-10-20 23:29:20,593.593 INFO    ] ================================================
[2026-10-20 23:29:21,158.158 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:29:21
[2026-10-20 23:29:21,743.743 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:29:21,999.999 INFO    ] Initializing speech engine...
[2026-10-20 23:29:22,016.016 INFO    ] 2026-10-20 23:29:22
[2026-10-20 23:29:22,299.299 INFO    ] 2026-10-20 23:29:22
[2026-10-20 23:29:22,335.335 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:29:22,549.549 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:29:22,566.566 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:29:22,779.779 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:29:22,792.792 INFO    ] time= 20/10/2026 23:29:22
[2026-10-20 23:29:22,811.811 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:29:22,865.865 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:29:22,964.964 INFO    ] No existing commands found in stream
[2026-10-20 23:29:27,975.975 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:29:27,977.977 INFO    ] Waiting 1.22 seconds before fallback handling...
[2026-10-20 23:29:29,726.726 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 23:29:29,730.730 INFO    ] Checking for system updates...
[2026-10-20 23:29:29,767.767 INFO    ] 200
[2026-10-20 23:29:29,770.770 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:29:29,822.822 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:29:29,825.825 INFO    ] No update needed
[2026-10-20 23:29:29,827.827 INFO    ] Checking for camera pi updates...
[2026-10-20 23:29:29,860.860 INFO    ] 200
[2026-10-20 23:29:29,862.862 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:29:29,908.908 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:29:30,055.055 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:29:30,058.058 INFO    ] No camera update needed
[2026-10-20 23:29:30,060.060 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:29:30,063.063 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:29:30,068.068 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:29:30,073.073 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:29:32,116.116 INFO    ] ================================================
[2026-10-20 23:29:32,133.133 INFO    ] Launching Daemon at Tue Oct 20 23:29:32 IST 2026
[2026-10-20 23:29:32,147.147 INFO    ] ================================================
[2026-10-20 23:29:32,745.745 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:29:32
[2026-10-20 23:29:33,375.375 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:29:33,662.662 INFO    ] Initializing speech engine...
[2026-10-20 23:29:33,669.669 INFO    ] 2026-10-20 23:29:33
[2026-10-20 23:29:33,928.928 INFO    ] 2026-10-20 23:29:33
[2026-10-20 23:29:33,982.982 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:29:34,209.209 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:29:34,214.214 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:29:34,416.416 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:29:34,466.466 INFO    ] time= 20/10/2026 23:29:34
[2026-10-20 23:29:34,476.476 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:29:34,494.494 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:29:34,639.639 INFO    ] No existing commands found in stream
[2026-10-20 23:29:39,676.676 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:29:39,679.679 INFO    ] Waiting 2.15 seconds before fallback handling...
[2026-10-20 23:29:42,327.327 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 23:29:42,330.330 INFO    ] Checking for system updates...
[2026-10-20 23:29:42,365.365 INFO    ] 200
[2026-10-20 23:29:42,368.368 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:29:42,423.423 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:29:42,425.425 INFO    ] No update needed
[2026-10-20 23:29:42,427.427 INFO    ] Checking for camera pi updates...
[2026-10-20 23:29:42,461.461 INFO    ] 200
[2026-10-20 23:29:42,463.463 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:29:42,508.508 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:29:42,556.556 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:29:42,558.558 INFO    ] No camera update needed
[2026-10-20 23:29:42,561.561 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:29:42,564.564 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:29:42,570.570 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:29:42,575.575 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:29:44,615.615 INFO    ] ================================================
[2026-10-20 23:29:44,631.631 INFO    ] Launching Daemon at Tue Oct 20 23:29:44 IST 2026
[2026-10-20 23:29:44,642.642 INFO    ] ================================================
[2026-10-20 23:29:45,295.295 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:29:45
[2026-10-20 23:29:45,967.967 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:29:46,263.263 INFO    ] Initializing speech engine...
[2026-10-20 23:29:46,273.273 INFO    ] 2026-10-20 23:29:46
[2026-10-20 23:29:46,544.544 INFO    ] 2026-10-20 23:29:46
[2026-10-20 23:29:46,605.605 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:29:46,836.836 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:29:46,846.846 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:29:47,007.007 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:29:47,067.067 INFO    ] time= 20/10/2026 23:29:47
[2026-10-20 23:29:47,119.119 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:29:47,126.126 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:29:47,287.287 INFO    ] No existing commands found in stream
[2026-10-20 23:29:52,323.323 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:29:52,326.326 INFO    ] Waiting 0.31 seconds before fallback handling...
[2026-10-20 23:29:53,168.168 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:29:53,171.171 INFO    ] Checking for system updates...
[2026-10-20 23:29:53,207.207 INFO    ] 200
[2026-10-20 23:29:53,210.210 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:29:53,263.263 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:29:53,266.266 INFO    ] No update needed
[2026-10-20 23:29:53,268.268 INFO    ] Checking for camera pi updates...
[2026-10-20 23:29:53,302.302 INFO    ] 200
[2026-10-20 23:29:53,305.305 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:29:53,350.350 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:29:53,396.396 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:29:53,399.399 INFO    ] No camera update needed
[2026-10-20 23:29:53,402.402 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:29:53,404.404 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:29:53,410.410 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:29:53,416.416 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:29:55,456.456 INFO    ] ================================================
[2026-10-20 23:29:55,472.472 INFO    ] Launching Daemon at Tue Oct 20 23:29:55 IST 2026
[2026-10-20 23:29:55,483.483 INFO    ] ================================================
[2026-10-20 23:29:56,048.048 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:29:56
[2026-10-20 23:29:56,632.632 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:29:56,901.901 INFO    ] Initializing speech engine...
[2026-10-20 23:29:56,910.910 INFO    ] 2026-10-20 23:29:56
[2026-10-20 23:29:57,156.156 INFO    ] 2026-10-20 23:29:57
[2026-10-20 23:29:57,191.191 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:29:57,435.435 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:29:57,451.451 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:29:57,591.591 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:29:57,645.645 INFO    ] time= 20/10/2026 23:29:57
[2026-10-20 23:29:57,694.694 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:29:57,723.723 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:29:57,845.845 INFO    ] No existing commands found in stream
[2026-10-20 23:30:02,871.871 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:30:02,874.874 INFO    ] Waiting 3.29 seconds before fallback handling...
[2026-10-20 23:30:08,683.683 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:30:08,686.686 INFO    ] Checking for system updates...
[2026-10-20 23:30:08,724.724 INFO    ] 200
[2026-10-20 23:30:08,726.726 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:30:08,784.784 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:30:08,786.786 INFO    ] No update needed
[2026-10-20 23:30:08,789.789 INFO    ] Checking for camera pi updates...
[2026-10-20 23:30:08,825.825 INFO    ] 200
[2026-10-20 23:30:08,827.827 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:30:08,868.868 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:30:08,900.900 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:30:08,902.902 INFO    ] No camera update needed
[2026-10-20 23:30:08,905.905 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:30:08,907.907 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:30:08,912.912 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:30:08,917.917 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:30:10,958.958 INFO    ] ================================================
[2026-10-20 23:30:10,973.973 INFO    ] Launching Daemon at Tue Oct 20 23:30:10 IST 2026
[2026-10-20 23:30:10,984.984 INFO    ] ================================================
[2026-10-20 23:30:11,552.552 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:30:11
[2026-10-20 23:30:12,139.139 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:30:12,401.401 INFO    ] Initializing speech engine...
[2026-10-20 23:30:12,420.420 INFO    ] 2026-10-20 23:30:12
[2026-10-20 23:30:12,674.674 INFO    ] 2026-10-20 23:30:12
[2026-10-20 23:30:12,709.709 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:30:12,967.967 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:30:12,975.975 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:30:13,115.115 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:30:13,175.175 INFO    ] time= 20/10/2026 23:30:13
[2026-10-20 23:30:13,229.229 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:30:13,254.254 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:30:13,376.376 INFO    ] No existing commands found in stream
[2026-10-20 23:30:18,401.401 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:30:18,404.404 INFO    ] Waiting 3.55 seconds before fallback handling...
[2026-10-20 23:30:22,450.450 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 23:30:22,452.452 INFO    ] Checking for system updates...
[2026-10-20 23:30:22,492.492 INFO    ] 200
[2026-10-20 23:30:22,495.495 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:30:22,547.547 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:30:22,550.550 INFO    ] No update needed
[2026-10-20 23:30:22,552.552 INFO    ] Checking for camera pi updates...
[2026-10-20 23:30:22,586.586 INFO    ] 200
[2026-10-20 23:30:22,589.589 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:30:22,629.629 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:30:22,662.662 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:30:22,664.664 INFO    ] No camera update needed
[2026-10-20 23:30:22,666.666 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:30:22,669.669 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:30:22,674.674 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:30:22,679.679 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:30:24,719.719 INFO    ] ================================================
[2026-10-20 23:30:24,734.734 INFO    ] Launching Daemon at Tue Oct 20 23:30:24 IST 2026
[2026-10-20 23:30:24,745.745 INFO    ] ================================================
[2026-10-20 23:30:25,313.313 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:30:25
[2026-10-20 23:30:25,897.897 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:30:26,146.146 INFO    ] Initializing speech engine...
[2026-10-20 23:30:26,167.167 INFO    ] 2026-10-20 23:30:26
[2026-10-20 23:30:26,429.429 INFO    ] 2026-10-20 23:30:26
[2026-10-20 23:30:26,463.463 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:30:26,671.671 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:30:26,727.727 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:30:26,871.871 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:30:26,905.905 INFO    ] time= 20/10/2026 23:30:26
[2026-10-20 23:30:26,969.969 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:30:27,004.004 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:30:27,141.141 INFO    ] No existing commands found in stream
[2026-10-20 23:30:32,161.161 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:30:32,164.164 INFO    ] Waiting 0.50 seconds before fallback handling...
[2026-10-20 23:30:33,170.170 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:30:33,173.173 INFO    ] Checking for system updates...
[2026-10-20 23:30:33,215.215 INFO    ] 200
[2026-10-20 23:30:33,219.219 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:30:33,294.294 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:30:33,298.298 INFO    ] No update needed
[2026-10-20 23:30:33,301.301 INFO    ] Checking for camera pi updates...
[2026-10-20 23:30:33,335.335 INFO    ] 200
[2026-10-20 23:30:33,338.338 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:30:33,387.387 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:30:33,437.437 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:30:33,440.440 INFO    ] No camera update needed
[2026-10-20 23:30:33,442.442 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:30:33,445.445 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:30:33,450.450 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:30:33,455.455 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:30:35,497.497 INFO    ] ================================================
[2026-10-20 23:30:35,512.512 INFO    ] Launching Daemon at Tue Oct 20 23:30:35 IST 2026
[2026-10-20 23:30:35,523.523 INFO    ] ================================================
[2026-10-20 23:30:36,180.180 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:30:36
[2026-10-20 23:30:36,833.833 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:30:37,146.146 INFO    ] Initializing speech engine...
[2026-10-20 23:30:37,153.153 INFO    ] 2026-10-20 23:30:37
[2026-10-20 23:30:37,413.413 INFO    ] 2026-10-20 23:30:37
[2026-10-20 23:30:37,450.450 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:30:37,643.643 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:30:37,663.663 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:30:37,807.807 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:30:37,813.813 INFO    ] time= 20/10/2026 23:30:37
[2026-10-20 23:30:37,819.819 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:30:37,852.852 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:30:37,993.993 INFO    ] No existing commands found in stream
[2026-10-20 23:30:43,024.024 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:30:43,026.026 INFO    ] Waiting 2.74 seconds before fallback handling...
[2026-10-20 23:30:46,290.290 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:30:46,292.292 INFO    ] Checking for system updates...
[2026-10-20 23:30:46,333.333 INFO    ] 200
[2026-10-20 23:30:46,336.336 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:30:46,395.395 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:30:46,397.397 INFO    ] No update needed
[2026-10-20 23:30:46,400.400 INFO    ] Checking for camera pi updates...
[2026-10-20 23:30:46,433.433 INFO    ] 200
[2026-10-20 23:30:46,436.436 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:30:46,481.481 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:30:46,528.528 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:30:46,531.531 INFO    ] No camera update needed
[2026-10-20 23:30:46,533.533 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:30:46,535.535 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:30:46,541.541 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:30:46,546.546 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:30:48,585.585 INFO    ] ================================================
[2026-10-20 23:30:48,606.606 INFO    ] Launching Daemon at Tue Oct 20 23:30:48 IST 2026
[2026-10-20 23:30:48,616.616 INFO    ] ================================================
[2026-10-20 23:30:49,255.255 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:30:49
[2026-10-20 23:30:49,925.925 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:30:50,224.224 INFO    ] Initializing speech engine...
[2026-10-20 23:30:50,236.236 INFO    ] 2026-10-20 23:30:50
[2026-10-20 23:30:50,527.527 INFO    ] 2026-10-20 23:30:50
[2026-10-20 23:30:50,574.574 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:30:50,828.828 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:30:50,834.834 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:30:51,047.047 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:30:51,075.075 INFO    ] time= 20/10/2026 23:30:51
[2026-10-20 23:30:51,093.093 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:30:51,113.113 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:30:51,236.236 INFO    ] No existing commands found in stream
[2026-10-20 23:30:56,267.267 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:30:56,270.270 INFO    ] Waiting 2.41 seconds before fallback handling...
[2026-10-20 23:30:59,194.194 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:30:59,197.197 INFO    ] Checking for system updates...
[2026-10-20 23:30:59,234.234 INFO    ] 200
[2026-10-20 23:30:59,237.237 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:30:59,298.298 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:30:59,301.301 INFO    ] No update needed
[2026-10-20 23:30:59,304.304 INFO    ] Checking for camera pi updates...
[2026-10-20 23:30:59,336.336 INFO    ] 200
[2026-10-20 23:30:59,339.339 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:30:59,384.384 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:30:59,430.430 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:30:59,432.432 INFO    ] No camera update needed
[2026-10-20 23:30:59,435.435 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:30:59,437.437 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:30:59,443.443 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:30:59,448.448 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:31:01,488.488 INFO    ] ================================================
[2026-10-20 23:31:01,503.503 INFO    ] Launching Daemon at Tue Oct 20 23:31:01 IST 2026
[2026-10-20 23:31:01,513.513 INFO    ] ================================================
[2026-10-20 23:31:02,227.227 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:31:02
[2026-10-20 23:31:02,869.869 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:31:03,203.203 INFO    ] Initializing speech engine...
[2026-10-20 23:31:03,212.212 INFO    ] 2026-10-20 23:31:03
[2026-10-20 23:31:03,489.489 INFO    ] 2026-10-20 23:31:03
[2026-10-20 23:31:03,524.524 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:31:03,752.752 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:31:03,797.797 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:31:03,960.960 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:31:03,999.999 INFO    ] time= 20/10/2026 23:31:03
[2026-10-20 23:31:04,054.054 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:31:04,094.094 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:31:04,244.244 INFO    ] No existing commands found in stream
[2026-10-20 23:31:09,258.258 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:31:09,261.261 INFO    ] Waiting 2.12 seconds before fallback handling...
[2026-10-20 23:31:11,905.905 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:31:11,907.907 INFO    ] Checking for system updates...
[2026-10-20 23:31:11,943.943 INFO    ] 200
[2026-10-20 23:31:11,945.945 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:31:12,007.007 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:31:12,009.009 INFO    ] No update needed
[2026-10-20 23:31:12,012.012 INFO    ] Checking for camera pi updates...
[2026-10-20 23:31:12,053.053 INFO    ] 200
[2026-10-20 23:31:12,055.055 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:31:12,100.100 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:31:12,147.147 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:31:12,150.150 INFO    ] No camera update needed
[2026-10-20 23:31:12,152.152 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:31:12,155.155 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:31:12,160.160 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:31:12,165.165 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:31:14,204.204 INFO    ] ================================================
[2026-10-20 23:31:14,219.219 INFO    ] Launching Daemon at Tue Oct 20 23:31:14 IST 2026
[2026-10-20 23:31:14,230.230 INFO    ] ================================================
[2026-10-20 23:31:14,795.795 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:31:14
[2026-10-20 23:31:15,377.377 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:31:15,629.629 INFO    ] Initializing speech engine...
[2026-10-20 23:31:15,651.651 INFO    ] 2026-10-20 23:31:15
[2026-10-20 23:31:15,905.905 INFO    ] 2026-10-20 23:31:15
[2026-10-20 23:31:15,940.940 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:31:16,196.196 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:31:16,206.206 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:31:16,343.343 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:31:16,408.408 INFO    ] time= 20/10/2026 23:31:16
[2026-10-20 23:31:16,463.463 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:31:16,478.478 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:31:16,630.630 INFO    ] No existing commands found in stream
[2026-10-20 23:31:21,650.650 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:31:21,653.653 INFO    ] Waiting 1.49 seconds before fallback handling...
[2026-10-20 23:31:23,647.647 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:31:23,649.649 INFO    ] Checking for system updates...
[2026-10-20 23:31:23,688.688 INFO    ] 200
[2026-10-20 23:31:23,691.691 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:31:23,749.749 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:31:23,751.751 INFO    ] No update needed
[2026-10-20 23:31:23,753.753 INFO    ] Checking for camera pi updates...
[2026-10-20 23:31:23,787.787 INFO    ] 200
[2026-10-20 23:31:23,790.790 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:31:23,834.834 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:31:23,886.886 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:31:23,888.888 INFO    ] No camera update needed
[2026-10-20 23:31:23,891.891 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:31:23,893.893 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:31:23,898.898 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:31:23,903.903 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:31:25,943.943 INFO    ] ================================================
[2026-10-20 23:31:25,958.958 INFO    ] Launching Daemon at Tue Oct 20 23:31:25 IST 2026
[2026-10-20 23:31:25,969.969 INFO    ] ================================================
[2026-10-20 23:31:26,552.552 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:31:26
[2026-10-20 23:31:27,149.149 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:31:27,429.429 INFO    ] Initializing speech engine...
[2026-10-20 23:31:27,435.435 INFO    ] 2026-10-20 23:31:27
[2026-10-20 23:31:27,696.696 INFO    ] 2026-10-20 23:31:27
[2026-10-20 23:31:27,726.726 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:31:27,970.970 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:31:27,979.979 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:31:28,113.113 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:31:28,183.183 INFO    ] time= 20/10/2026 23:31:28
[2026-10-20 23:31:28,239.239 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:31:28,246.246 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:31:28,381.381 INFO    ] No existing commands found in stream
[2026-10-20 23:31:33,402.402 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:31:33,405.405 INFO    ] Waiting 2.32 seconds before fallback handling...
[2026-10-20 23:31:37,165.165 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:31:37,167.167 INFO    ] Checking for system updates...
[2026-10-20 23:31:37,203.203 INFO    ] 200
[2026-10-20 23:31:37,206.206 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:31:37,258.258 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:31:37,260.260 INFO    ] No update needed
[2026-10-20 23:31:37,263.263 INFO    ] Checking for camera pi updates...
[2026-10-20 23:31:37,296.296 INFO    ] 200
[2026-10-20 23:31:37,298.298 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:31:37,340.340 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:31:37,387.387 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:31:37,390.390 INFO    ] No camera update needed
[2026-10-20 23:31:37,392.392 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:31:37,395.395 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:31:37,400.400 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:31:37,405.405 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:31:39,445.445 INFO    ] ================================================
[2026-10-20 23:31:39,460.460 INFO    ] Launching Daemon at Tue Oct 20 23:31:39 IST 2026
[2026-10-20 23:31:39,471.471 INFO    ] ================================================
[2026-10-20 23:31:40,038.038 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:31:40
[2026-10-20 23:31:40,622.622 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:31:40,891.891 INFO    ] Initializing speech engine...
[2026-10-20 23:31:40,900.900 INFO    ] 2026-10-20 23:31:40
[2026-10-20 23:31:41,160.160 INFO    ] 2026-10-20 23:31:41
[2026-10-20 23:31:41,213.213 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:31:41,495.495 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:31:41,503.503 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:31:41,696.696 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:31:41,703.703 INFO    ] time= 20/10/2026 23:31:41
[2026-10-20 23:31:41,720.720 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:31:41,734.734 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:31:41,872.872 INFO    ] No existing commands found in stream
[2026-10-20 23:31:46,890.890 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:31:46,893.893 INFO    ] Waiting 3.67 seconds before fallback handling...
[2026-10-20 23:31:51,065.065 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:31:51,067.067 INFO    ] Checking for system updates...
[2026-10-20 23:31:51,103.103 INFO    ] 200
[2026-10-20 23:31:51,105.105 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:31:51,164.164 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:31:51,166.166 INFO    ] No update needed
[2026-10-20 23:31:51,169.169 INFO    ] Checking for camera pi updates...
[2026-10-20 23:31:51,206.206 INFO    ] 200
[2026-10-20 23:31:51,208.208 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:31:51,251.251 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:31:51,297.297 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:31:51,301.301 INFO    ] No camera update needed
[2026-10-20 23:31:51,304.304 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:31:51,306.306 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:31:51,313.313 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:31:51,318.318 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:31:53,359.359 INFO    ] ================================================
[2026-10-20 23:31:53,374.374 INFO    ] Launching Daemon at Tue Oct 20 23:31:53 IST 2026
[2026-10-20 23:31:53,385.385 INFO    ] ================================================
[2026-10-20 23:31:53,948.948 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:31:53
[2026-10-20 23:31:54,527.527 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:31:54,798.798 INFO    ] Initializing speech engine...
[2026-10-20 23:31:54,807.807 INFO    ] 2026-10-20 23:31:54
[2026-10-20 23:31:55,055.055 INFO    ] 2026-10-20 23:31:55
[2026-10-20 23:31:55,091.091 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:31:55,317.317 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:31:55,356.356 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:31:55,499.499 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:31:55,558.558 INFO    ] time= 20/10/2026 23:31:55
[2026-10-20 23:31:55,613.613 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:31:55,632.632 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:31:55,783.783 INFO    ] No existing commands found in stream
[2026-10-20 23:32:00,795.795 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:32:00,798.798 INFO    ] Waiting 3.35 seconds before fallback handling...
[2026-10-20 23:32:04,684.684 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:32:04,687.687 INFO    ] Checking for system updates...
[2026-10-20 23:32:04,722.722 INFO    ] 200
[2026-10-20 23:32:04,725.725 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:32:04,778.778 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:32:04,780.780 INFO    ] No update needed
[2026-10-20 23:32:04,783.783 INFO    ] Checking for camera pi updates...
[2026-10-20 23:32:04,823.823 INFO    ] 200
[2026-10-20 23:32:04,826.826 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:32:04,865.865 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:32:04,917.917 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:32:04,919.919 INFO    ] No camera update needed
[2026-10-20 23:32:04,922.922 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:32:04,924.924 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:32:04,929.929 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:32:04,934.934 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:32:06,975.975 INFO    ] ================================================
[2026-10-20 23:32:06,990.990 INFO    ] Launching Daemon at Tue Oct 20 23:32:06 IST 2026
[2026-10-20 23:32:07,001.001 INFO    ] ================================================
[2026-10-20 23:32:07,567.567 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:32:07
[2026-10-20 23:32:08,152.152 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:32:08,411.411 INFO    ] Initializing speech engine...
[2026-10-20 23:32:08,430.430 INFO    ] 2026-10-20 23:32:08
[2026-10-20 23:32:08,677.677 INFO    ] 2026-10-20 23:32:08
[2026-10-20 23:32:08,713.713 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:32:08,964.964 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:32:08,974.974 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:32:09,171.171 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:32:09,225.225 INFO    ] time= 20/10/2026 23:32:09
[2026-10-20 23:32:09,236.236 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:32:09,242.242 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:32:09,388.388 INFO    ] No existing commands found in stream
[2026-10-20 23:32:14,400.400 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:32:14,403.403 INFO    ] Waiting 2.43 seconds before fallback handling...
[2026-10-20 23:32:17,350.350 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:32:17,353.353 INFO    ] Checking for system updates...
[2026-10-20 23:32:17,391.391 INFO    ] 200
[2026-10-20 23:32:17,394.394 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:32:17,451.451 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:32:17,453.453 INFO    ] No update needed
[2026-10-20 23:32:17,456.456 INFO    ] Checking for camera pi updates...
[2026-10-20 23:32:17,489.489 INFO    ] 200
[2026-10-20 23:32:17,491.491 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:32:17,535.535 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:32:17,580.580 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:32:17,583.583 INFO    ] No camera update needed
[2026-10-20 23:32:17,585.585 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:32:17,587.587 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:32:17,593.593 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:32:17,598.598 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:32:19,639.639 INFO    ] ================================================
[2026-10-20 23:32:19,654.654 INFO    ] Launching Daemon at Tue Oct 20 23:32:19 IST 2026
[2026-10-20 23:32:19,665.665 INFO    ] ================================================
[2026-10-20 23:32:20,249.249 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:32:20
[2026-10-20 23:32:20,846.846 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:32:21,102.102 INFO    ] Initializing speech engine...
[2026-10-20 23:32:21,111.111 INFO    ] 2026-10-20 23:32:21
[2026-10-20 23:32:21,404.404 INFO    ] 2026-10-20 23:32:21
[2026-10-20 23:32:21,439.439 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:32:21,660.660 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:32:21,717.717 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:32:21,859.859 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:32:21,920.920 INFO    ] time= 20/10/2026 23:32:21
[2026-10-20 23:32:21,974.974 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:32:21,991.991 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:32:22,129.129 INFO    ] No existing commands found in stream
[2026-10-20 23:32:27,150.150 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:32:27,153.153 INFO    ] Waiting 1.55 seconds before fallback handling...
[2026-10-20 23:32:29,213.213 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 23:32:29,215.215 INFO    ] Checking for system updates...
[2026-10-20 23:32:29,251.251 INFO    ] 200
[2026-10-20 23:32:29,254.254 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:32:29,306.306 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:32:29,309.309 INFO    ] No update needed
[2026-10-20 23:32:29,311.311 INFO    ] Checking for camera pi updates...
[2026-10-20 23:32:29,345.345 INFO    ] 200
[2026-10-20 23:32:29,347.347 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:32:29,387.387 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:32:29,436.436 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:32:29,439.439 INFO    ] No camera update needed
[2026-10-20 23:32:29,442.442 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:32:29,444.444 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:32:29,450.450 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:32:29,455.455 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:32:31,494.494 INFO    ] ================================================
[2026-10-20 23:32:31,509.509 INFO    ] Launching Daemon at Tue Oct 20 23:32:31 IST 2026
[2026-10-20 23:32:31,520.520 INFO    ] ================================================
[2026-10-20 23:32:32,121.121 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:32:32
[2026-10-20 23:32:32,761.761 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:32:33,062.062 INFO    ] Initializing speech engine...
[2026-10-20 23:32:33,069.069 INFO    ] 2026-10-20 23:32:33
[2026-10-20 23:32:33,395.395 INFO    ] 2026-10-20 23:32:33
[2026-10-20 23:32:33,482.482 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:32:33,693.693 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:32:33,697.697 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:32:33,903.903 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:32:33,909.909 INFO    ] time= 20/10/2026 23:32:33
[2026-10-20 23:32:33,928.928 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:32:33,957.957 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:32:34,065.065 INFO    ] No existing commands found in stream
[2026-10-20 23:32:39,081.081 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:32:39,084.084 INFO    ] Waiting 1.85 seconds before fallback handling...
[2026-10-20 23:32:46,425.425 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:32:46,428.428 INFO    ] Checking for system updates...
[2026-10-20 23:32:46,463.463 INFO    ] 200
[2026-10-20 23:32:46,466.466 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:32:46,517.517 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:32:46,520.520 INFO    ] No update needed
[2026-10-20 23:32:46,522.522 INFO    ] Checking for camera pi updates...
[2026-10-20 23:32:46,556.556 INFO    ] 200
[2026-10-20 23:32:46,558.558 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:32:46,604.604 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:32:46,653.653 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:32:46,656.656 INFO    ] No camera update needed
[2026-10-20 23:32:46,658.658 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:32:46,660.660 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:32:46,666.666 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:32:46,671.671 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:32:48,710.710 INFO    ] ================================================
[2026-10-20 23:32:48,725.725 INFO    ] Launching Daemon at Tue Oct 20 23:32:48 IST 2026
[2026-10-20 23:32:48,736.736 INFO    ] ================================================
[2026-10-20 23:32:49,356.356 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:32:49
[2026-10-20 23:32:50,039.039 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:32:50,350.350 INFO    ] Initializing speech engine...
[2026-10-20 23:32:50,358.358 INFO    ] 2026-10-20 23:32:50
[2026-10-20 23:32:50,633.633 INFO    ] 2026-10-20 23:32:50
[2026-10-20 23:32:50,691.691 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:32:50,984.984 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:32:50,988.988 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:32:51,186.186 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:32:51,193.193 INFO    ] time= 20/10/2026 23:32:51
[2026-10-20 23:32:51,211.211 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:32:51,234.234 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:32:51,369.369 INFO    ] No existing commands found in stream
[2026-10-20 23:32:56,399.399 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:32:56,402.402 INFO    ] Waiting 3.54 seconds before fallback handling...
[2026-10-20 23:33:00,447.447 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:33:00,449.449 INFO    ] Checking for system updates...
[2026-10-20 23:33:00,489.489 INFO    ] 200
[2026-10-20 23:33:00,492.492 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:33:00,566.566 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:33:00,569.569 INFO    ] No update needed
[2026-10-20 23:33:00,572.572 INFO    ] Checking for camera pi updates...
[2026-10-20 23:33:00,610.610 INFO    ] 200
[2026-10-20 23:33:00,612.612 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:33:00,657.657 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:33:00,704.704 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:33:00,707.707 INFO    ] No camera update needed
[2026-10-20 23:33:00,709.709 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:33:00,711.711 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:33:00,717.717 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:33:00,722.722 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:33:02,765.765 INFO    ] ================================================
[2026-10-20 23:33:02,786.786 INFO    ] Launching Daemon at Tue Oct 20 23:33:02 IST 2026
[2026-10-20 23:33:02,802.802 INFO    ] ================================================
[2026-10-20 23:33:03,436.436 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:33:03
[2026-10-20 23:33:04,059.059 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:33:04,317.317 INFO    ] Initializing speech engine...
[2026-10-20 23:33:04,331.331 INFO    ] 2026-10-20 23:33:04
[2026-10-20 23:33:04,619.619 INFO    ] 2026-10-20 23:33:04
[2026-10-20 23:33:04,668.668 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:33:04,919.919 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:33:04,928.928 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:33:05,066.066 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:33:05,125.125 INFO    ] time= 20/10/2026 23:33:05
[2026-10-20 23:33:05,185.185 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:33:05,202.202 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:33:05,325.325 INFO    ] No existing commands found in stream
[2026-10-20 23:33:10,345.345 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:33:10,348.348 INFO    ] Waiting 0.52 seconds before fallback handling...
[2026-10-20 23:33:11,370.370 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 23:33:11,373.373 INFO    ] Checking for system updates...
[2026-10-20 23:33:11,408.408 INFO    ] 200
[2026-10-20 23:33:11,410.410 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:33:11,471.471 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:33:11,473.473 INFO    ] No update needed
[2026-10-20 23:33:11,475.475 INFO    ] Checking for camera pi updates...
[2026-10-20 23:33:11,513.513 INFO    ] 200
[2026-10-20 23:33:11,515.515 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:33:11,555.555 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:33:11,601.601 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:33:11,603.603 INFO    ] No camera update needed
[2026-10-20 23:33:11,606.606 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:33:11,608.608 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:33:11,613.613 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:33:11,619.619 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:33:13,659.659 INFO    ] ================================================
[2026-10-20 23:33:13,674.674 INFO    ] Launching Daemon at Tue Oct 20 23:33:13 IST 2026
[2026-10-20 23:33:13,684.684 INFO    ] ================================================
[2026-10-20 23:33:14,351.351 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:33:14
[2026-10-20 23:33:14,991.991 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:33:15,240.240 INFO    ] Initializing speech engine...
[2026-10-20 23:33:15,246.246 INFO    ] 2026-10-20 23:33:15
[2026-10-20 23:33:15,521.521 INFO    ] 2026-10-20 23:33:15
[2026-10-20 23:33:15,556.556 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:33:15,815.815 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:33:15,825.825 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:33:16,014.014 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:33:16,058.058 INFO    ] time= 20/10/2026 23:33:16
[2026-10-20 23:33:16,094.094 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:33:16,101.101 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:33:16,252.252 INFO    ] No existing commands found in stream
[2026-10-20 23:33:21,270.270 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:33:21,273.273 INFO    ] Waiting 2.71 seconds before fallback handling...
[2026-10-20 23:33:24,501.501 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:33:24,504.504 INFO    ] Checking for system updates...
[2026-10-20 23:33:24,545.545 INFO    ] 200
[2026-10-20 23:33:24,548.548 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:33:24,602.602 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:33:24,605.605 INFO    ] No update needed
[2026-10-20 23:33:24,607.607 INFO    ] Checking for camera pi updates...
[2026-10-20 23:33:24,642.642 INFO    ] 200
[2026-10-20 23:33:24,645.645 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:33:24,691.691 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:33:24,738.738 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:33:24,740.740 INFO    ] No camera update needed
[2026-10-20 23:33:24,743.743 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:33:24,745.745 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:33:24,750.750 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:33:24,755.755 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:33:26,796.796 INFO    ] ================================================
[2026-10-20 23:33:26,812.812 INFO    ] Launching Daemon at Tue Oct 20 23:33:26 IST 2026
[2026-10-20 23:33:26,822.822 INFO    ] ================================================
[2026-10-20 23:33:27,389.389 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:33:27
[2026-10-20 23:33:27,975.975 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:33:28,251.251 INFO    ] Initializing speech engine...
[2026-10-20 23:33:28,257.257 INFO    ] 2026-10-20 23:33:28
[2026-10-20 23:33:28,504.504 INFO    ] 2026-10-20 23:33:28
[2026-10-20 23:33:28,538.538 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:33:28,742.742 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:33:28,801.801 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:33:28,945.945 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:33:29,010.010 INFO    ] time= 20/10/2026 23:33:28
[2026-10-20 23:33:29,065.065 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:33:29,082.082 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:33:29,232.232 INFO    ] No existing commands found in stream
[2026-10-20 23:33:34,251.251 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:33:34,253.253 INFO    ] Waiting 2.50 seconds before fallback handling...
[2026-10-20 23:33:37,275.275 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:33:37,277.277 INFO    ] Checking for system updates...
[2026-10-20 23:33:37,317.317 INFO    ] 200
[2026-10-20 23:33:37,320.320 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:33:37,384.384 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:33:37,387.387 INFO    ] No update needed
[2026-10-20 23:33:37,390.390 INFO    ] Checking for camera pi updates...
[2026-10-20 23:33:37,427.427 INFO    ] 200
[2026-10-20 23:33:37,430.430 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:33:37,471.471 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:33:37,615.615 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:33:37,618.618 INFO    ] No camera update needed
[2026-10-20 23:33:37,621.621 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:33:37,624.624 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:33:37,630.630 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:33:37,636.636 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:33:39,676.676 INFO    ] ================================================
[2026-10-20 23:33:39,692.692 INFO    ] Launching Daemon at Tue Oct 20 23:33:39 IST 2026
[2026-10-20 23:33:39,702.702 INFO    ] ================================================
[2026-10-20 23:33:40,282.282 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:33:40
[2026-10-20 23:33:40,879.879 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:33:41,152.152 INFO    ] Initializing speech engine...
[2026-10-20 23:33:41,163.163 INFO    ] 2026-10-20 23:33:41
[2026-10-20 23:33:41,435.435 INFO    ] 2026-10-20 23:33:41
[2026-10-20 23:33:41,483.483 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:33:41,731.731 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:33:41,748.748 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:33:41,963.963 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:33:41,970.970 INFO    ] time= 20/10/2026 23:33:41
[2026-10-20 23:33:41,987.987 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:33:42,015.015 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:33:42,122.122 INFO    ] No existing commands found in stream
[2026-10-20 23:33:47,134.134 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:33:47,137.137 INFO    ] Waiting 1.19 seconds before fallback handling...
[2026-10-20 23:33:48,874.874 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:33:48,877.877 INFO    ] Checking for system updates...
[2026-10-20 23:33:48,915.915 INFO    ] 200
[2026-10-20 23:33:48,917.917 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:33:48,975.975 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:33:48,978.978 INFO    ] No update needed
[2026-10-20 23:33:48,981.981 INFO    ] Checking for camera pi updates...
[2026-10-20 23:33:49,019.019 INFO    ] 200
[2026-10-20 23:33:49,021.021 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:33:49,070.070 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:33:49,124.124 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:33:49,127.127 INFO    ] No camera update needed
[2026-10-20 23:33:49,129.129 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:33:49,132.132 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:33:49,138.138 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:33:49,144.144 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:33:51,184.184 INFO    ] ================================================
[2026-10-20 23:33:51,199.199 INFO    ] Launching Daemon at Tue Oct 20 23:33:51 IST 2026
[2026-10-20 23:33:51,209.209 INFO    ] ================================================
[2026-10-20 23:33:51,774.774 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:33:51
[2026-10-20 23:33:52,356.356 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:33:52,604.604 INFO    ] Initializing speech engine...
[2026-10-20 23:33:52,619.619 INFO    ] 2026-10-20 23:33:52
[2026-10-20 23:33:52,883.883 INFO    ] 2026-10-20 23:33:52
[2026-10-20 23:33:52,919.919 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:33:53,175.175 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:33:53,185.185 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:33:53,386.386 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:33:53,446.446 INFO    ] time= 20/10/2026 23:33:53
[2026-10-20 23:33:53,456.456 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:33:53,475.475 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:33:53,609.609 INFO    ] No existing commands found in stream
[2026-10-20 23:33:58,624.624 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:33:58,626.626 INFO    ] Waiting 1.16 seconds before fallback handling...
[2026-10-20 23:34:00,311.311 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:34:00,314.314 INFO    ] Checking for system updates...
[2026-10-20 23:34:00,350.350 INFO    ] 200
[2026-10-20 23:34:00,352.352 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:34:00,408.408 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:34:00,411.411 INFO    ] No update needed
[2026-10-20 23:34:00,413.413 INFO    ] Checking for camera pi updates...
[2026-10-20 23:34:00,449.449 INFO    ] 200
[2026-10-20 23:34:00,451.451 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:34:00,494.494 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:34:00,539.539 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:34:00,541.541 INFO    ] No camera update needed
[2026-10-20 23:34:00,544.544 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:34:00,546.546 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:34:00,552.552 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:34:00,557.557 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:34:02,604.604 INFO    ] ================================================
[2026-10-20 23:34:02,622.622 INFO    ] Launching Daemon at Tue Oct 20 23:34:02 IST 2026
[2026-10-20 23:34:02,635.635 INFO    ] ================================================
[2026-10-20 23:34:03,268.268 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:34:03
[2026-10-20 23:34:03,902.902 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:34:04,156.156 INFO    ] Initializing speech engine...
[2026-10-20 23:34:04,165.165 INFO    ] 2026-10-20 23:34:04
[2026-10-20 23:34:04,456.456 INFO    ] 2026-10-20 23:34:04
[2026-10-20 23:34:04,493.493 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:34:04,699.699 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:34:04,716.716 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:34:04,868.868 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:34:04,877.877 INFO    ] time= 20/10/2026 23:34:04
[2026-10-20 23:34:04,881.881 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:34:04,887.887 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:34:04,963.963 INFO    ] No existing commands found in stream
[2026-10-20 23:34:09,998.998 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:34:10,001.001 INFO    ] Waiting 3.26 seconds before fallback handling...
[2026-10-20 23:34:13,733.733 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:34:13,735.735 INFO    ] Checking for system updates...
[2026-10-20 23:34:13,771.771 INFO    ] 200
[2026-10-20 23:34:13,774.774 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:34:13,826.826 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:34:13,829.829 INFO    ] No update needed
[2026-10-20 23:34:13,832.832 INFO    ] Checking for camera pi updates...
[2026-10-20 23:34:13,873.873 INFO    ] 200
[2026-10-20 23:34:13,876.876 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:34:13,917.917 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:34:13,970.970 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:34:13,973.973 INFO    ] No camera update needed
[2026-10-20 23:34:13,976.976 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:34:13,978.978 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:34:13,984.984 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:34:13,990.990 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:34:16,038.038 INFO    ] ================================================
[2026-10-20 23:34:16,053.053 INFO    ] Launching Daemon at Tue Oct 20 23:34:16 IST 2026
[2026-10-20 23:34:16,064.064 INFO    ] ================================================
[2026-10-20 23:34:16,632.632 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:34:16
[2026-10-20 23:34:17,221.221 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:34:17,470.470 INFO    ] Initializing speech engine...
[2026-10-20 23:34:17,484.484 INFO    ] 2026-10-20 23:34:17
[2026-10-20 23:34:17,751.751 INFO    ] 2026-10-20 23:34:17
[2026-10-20 23:34:17,786.786 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:34:18,045.045 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:34:18,054.054 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:34:18,191.191 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:34:18,256.256 INFO    ] time= 20/10/2026 23:34:18
[2026-10-20 23:34:18,322.322 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:34:18,328.328 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:34:18,483.483 INFO    ] No existing commands found in stream
[2026-10-20 23:34:23,508.508 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:34:23,511.511 INFO    ] Waiting 0.66 seconds before fallback handling...
[2026-10-20 23:34:24,675.675 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:34:24,678.678 INFO    ] Checking for system updates...
[2026-10-20 23:34:24,714.714 INFO    ] 200
[2026-10-20 23:34:24,717.717 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:34:24,769.769 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:34:24,772.772 INFO    ] No update needed
[2026-10-20 23:34:24,774.774 INFO    ] Checking for camera pi updates...
[2026-10-20 23:34:24,812.812 INFO    ] 200
[2026-10-20 23:34:24,814.814 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:34:24,859.859 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:34:24,904.904 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:34:24,907.907 INFO    ] No camera update needed
[2026-10-20 23:34:24,909.909 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:34:24,912.912 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:34:24,918.918 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:34:24,924.924 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:34:26,963.963 INFO    ] ================================================
[2026-10-20 23:34:26,979.979 INFO    ] Launching Daemon at Tue Oct 20 23:34:26 IST 2026
[2026-10-20 23:34:26,989.989 INFO    ] ================================================
[2026-10-20 23:34:27,629.629 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:34:27
[2026-10-20 23:34:28,269.269 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:34:28,539.539 INFO    ] Initializing speech engine...
[2026-10-20 23:34:28,547.547 INFO    ] 2026-10-20 23:34:28
[2026-10-20 23:34:28,796.796 INFO    ] 2026-10-20 23:34:28
[2026-10-20 23:34:28,832.832 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:34:29,090.090 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:34:29,099.099 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:34:29,326.326 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:34:29,364.364 INFO    ] time= 20/10/2026 23:34:29
[2026-10-20 23:34:29,370.370 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:34:29,387.387 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:34:29,532.532 INFO    ] No existing commands found in stream
[2026-10-20 23:34:34,564.564 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:34:34,566.566 INFO    ] Waiting 2.29 seconds before fallback handling...
[2026-10-20 23:34:37,370.370 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:34:37,372.372 INFO    ] Checking for system updates...
[2026-10-20 23:34:37,408.408 INFO    ] 200
[2026-10-20 23:34:37,411.411 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:34:37,470.470 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:34:37,473.473 INFO    ] No update needed
[2026-10-20 23:34:37,476.476 INFO    ] Checking for camera pi updates...
[2026-10-20 23:34:37,510.510 INFO    ] 200
[2026-10-20 23:34:37,512.512 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:34:37,557.557 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:34:37,604.604 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:34:37,607.607 INFO    ] No camera update needed
[2026-10-20 23:34:37,610.610 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:34:37,612.612 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:34:37,619.619 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:34:37,624.624 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:34:39,663.663 INFO    ] ================================================
[2026-10-20 23:34:39,679.679 INFO    ] Launching Daemon at Tue Oct 20 23:34:39 IST 2026
[2026-10-20 23:34:39,690.690 INFO    ] ================================================
[2026-10-20 23:34:40,337.337 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:34:40
[2026-10-20 23:34:41,001.001 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:34:41,305.305 INFO    ] Initializing speech engine...
[2026-10-20 23:34:41,318.318 INFO    ] 2026-10-20 23:34:41
[2026-10-20 23:34:41,598.598 INFO    ] 2026-10-20 23:34:41
[2026-10-20 23:34:41,645.645 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:34:41,929.929 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:34:41,942.942 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:34:42,143.143 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:34:42,152.152 INFO    ] time= 20/10/2026 23:34:42
[2026-10-20 23:34:42,171.171 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:34:42,193.193 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:34:42,316.316 INFO    ] No existing commands found in stream
[2026-10-20 23:34:47,341.341 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:34:47,345.345 INFO    ] Waiting 3.65 seconds before fallback handling...
[2026-10-20 23:34:51,476.476 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 23:34:51,479.479 INFO    ] Checking for system updates...
[2026-10-20 23:34:51,515.515 INFO    ] 200
[2026-10-20 23:34:51,518.518 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:34:51,576.576 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:34:51,580.580 INFO    ] No update needed
[2026-10-20 23:34:51,583.583 INFO    ] Checking for camera pi updates...
[2026-10-20 23:34:51,617.617 INFO    ] 200
[2026-10-20 23:34:51,620.620 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:34:51,665.665 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:34:51,711.711 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:34:51,715.715 INFO    ] No camera update needed
[2026-10-20 23:34:51,718.718 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:34:51,721.721 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:34:51,727.727 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:34:51,732.732 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:34:53,772.772 INFO    ] ================================================
[2026-10-20 23:34:53,787.787 INFO    ] Launching Daemon at Tue Oct 20 23:34:53 IST 2026
[2026-10-20 23:34:53,798.798 INFO    ] ================================================
[2026-10-20 23:34:54,381.381 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:34:54
[2026-10-20 23:34:54,981.981 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:34:55,246.246 INFO    ] Initializing speech engine...
[2026-10-20 23:34:55,260.260 INFO    ] 2026-10-20 23:34:55
[2026-10-20 23:34:55,547.547 INFO    ] 2026-10-20 23:34:55
[2026-10-20 23:34:55,582.582 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:34:55,782.782 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:34:55,798.798 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:34:55,958.958 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:34:55,966.966 INFO    ] time= 20/10/2026 23:34:55
[2026-10-20 23:34:55,971.971 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:34:55,978.978 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:34:56,090.090 INFO    ] No existing commands found in stream
[2026-10-20 23:35:01,120.120 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:35:01,123.123 INFO    ] Waiting 3.47 seconds before fallback handling...
[2026-10-20 23:35:05,097.097 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 23:35:05,100.100 INFO    ] Checking for system updates...
[2026-10-20 23:35:05,136.136 INFO    ] 200
[2026-10-20 23:35:05,138.138 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:35:05,196.196 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:35:05,199.199 INFO    ] No update needed
[2026-10-20 23:35:05,202.202 INFO    ] Checking for camera pi updates...
[2026-10-20 23:35:05,235.235 INFO    ] 200
[2026-10-20 23:35:05,237.237 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:35:05,277.277 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:35:05,323.323 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:35:05,326.326 INFO    ] No camera update needed
[2026-10-20 23:35:05,328.328 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:35:05,331.331 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:35:05,336.336 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:35:05,341.341 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:35:07,381.381 INFO    ] ================================================
[2026-10-20 23:35:07,397.397 INFO    ] Launching Daemon at Tue Oct 20 23:35:07 IST 2026
[2026-10-20 23:35:07,409.409 INFO    ] ================================================
[2026-10-20 23:35:08,061.061 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:35:08
[2026-10-20 23:35:08,733.733 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:35:09,039.039 INFO    ] Initializing speech engine...
[2026-10-20 23:35:09,044.044 INFO    ] 2026-10-20 23:35:09
[2026-10-20 23:35:09,319.319 INFO    ] 2026-10-20 23:35:09
[2026-10-20 23:35:09,377.377 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:35:09,609.609 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:35:09,619.619 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:35:09,828.828 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:35:09,879.879 INFO    ] time= 20/10/2026 23:35:09
[2026-10-20 23:35:09,892.892 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:35:09,913.913 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:35:10,047.047 INFO    ] No existing commands found in stream
[2026-10-20 23:35:15,066.066 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:35:15,070.070 INFO    ] Waiting 2.35 seconds before fallback handling...
[2026-10-20 23:35:17,942.942 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:35:17,945.945 INFO    ] Checking for system updates...
[2026-10-20 23:35:17,981.981 INFO    ] 200
[2026-10-20 23:35:17,984.984 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:35:18,035.035 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:35:18,038.038 INFO    ] No update needed
[2026-10-20 23:35:18,040.040 INFO    ] Checking for camera pi updates...
[2026-10-20 23:35:18,074.074 INFO    ] 200
[2026-10-20 23:35:18,076.076 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:35:18,115.115 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:35:18,161.161 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:35:18,163.163 INFO    ] No camera update needed
[2026-10-20 23:35:18,166.166 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:35:18,168.168 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:35:18,173.173 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:35:18,179.179 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:35:20,220.220 INFO    ] ================================================
[2026-10-20 23:35:20,236.236 INFO    ] Launching Daemon at Tue Oct 20 23:35:20 IST 2026
[2026-10-20 23:35:20,247.247 INFO    ] ================================================
[2026-10-20 23:35:20,818.818 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:35:20
[2026-10-20 23:35:21,407.407 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:35:21,677.677 INFO    ] Initializing speech engine...
[2026-10-20 23:35:21,684.684 INFO    ] 2026-10-20 23:35:21
[2026-10-20 23:35:21,930.930 INFO    ] 2026-10-20 23:35:21
[2026-10-20 23:35:21,966.966 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:35:22,196.196 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:35:22,226.226 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:35:22,385.385 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:35:22,407.407 INFO    ] time= 20/10/2026 23:35:22
[2026-10-20 23:35:22,457.457 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:35:22,511.511 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:35:22,604.604 INFO    ] No existing commands found in stream
[2026-10-20 23:35:27,625.625 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:35:27,628.628 INFO    ] Waiting 1.85 seconds before fallback handling...
[2026-10-20 23:35:29,999.999 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:35:30,001.001 INFO    ] Checking for system updates...
[2026-10-20 23:35:30,037.037 INFO    ] 200
[2026-10-20 23:35:30,040.040 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:35:30,092.092 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:35:30,094.094 INFO    ] No update needed
[2026-10-20 23:35:30,097.097 INFO    ] Checking for camera pi updates...
[2026-10-20 23:35:30,130.130 INFO    ] 200
[2026-10-20 23:35:30,133.133 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:35:30,173.173 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:35:30,221.221 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:35:30,224.224 INFO    ] No camera update needed
[2026-10-20 23:35:30,226.226 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:35:30,228.228 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:35:30,234.234 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:35:30,239.239 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:35:32,281.281 INFO    ] ================================================
[2026-10-20 23:35:32,297.297 INFO    ] Launching Daemon at Tue Oct 20 23:35:32 IST 2026
[2026-10-20 23:35:32,309.309 INFO    ] ================================================
[2026-10-20 23:35:32,928.928 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:35:32
[2026-10-20 23:35:33,554.554 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:35:33,830.830 INFO    ] Initializing speech engine...
[2026-10-20 23:35:33,842.842 INFO    ] 2026-10-20 23:35:33
[2026-10-20 23:35:34,093.093 INFO    ] 2026-10-20 23:35:34
[2026-10-20 23:35:34,128.128 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:35:34,317.317 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:35:34,333.333 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:35:34,529.529 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:35:34,551.551 INFO    ] time= 20/10/2026 23:35:34
[2026-10-20 23:35:34,620.620 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:35:34,663.663 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:35:34,812.812 INFO    ] No existing commands found in stream
[2026-10-20 23:35:39,824.824 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:35:39,827.827 INFO    ] Waiting 1.04 seconds before fallback handling...
[2026-10-20 23:35:41,361.361 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:35:41,364.364 INFO    ] Checking for system updates...
[2026-10-20 23:35:41,405.405 INFO    ] 200
[2026-10-20 23:35:41,407.407 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:35:41,468.468 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:35:41,471.471 INFO    ] No update needed
[2026-10-20 23:35:41,473.473 INFO    ] Checking for camera pi updates...
[2026-10-20 23:35:41,510.510 INFO    ] 200
[2026-10-20 23:35:41,512.512 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:35:41,552.552 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:35:41,703.703 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:35:41,705.705 INFO    ] No camera update needed
[2026-10-20 23:35:41,707.707 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:35:41,710.710 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:35:41,715.715 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:35:41,720.720 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:35:43,760.760 INFO    ] ================================================
[2026-10-20 23:35:43,776.776 INFO    ] Launching Daemon at Tue Oct 20 23:35:43 IST 2026
[2026-10-20 23:35:43,786.786 INFO    ] ================================================
[2026-10-20 23:35:44,358.358 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:35:44
[2026-10-20 23:35:44,942.942 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:35:45,193.193 INFO    ] Initializing speech engine...
[2026-10-20 23:35:45,198.198 INFO    ] 2026-10-20 23:35:45
[2026-10-20 23:35:45,500.500 INFO    ] 2026-10-20 23:35:45
[2026-10-20 23:35:45,536.536 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:35:45,736.736 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:35:45,750.750 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:35:45,902.902 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:35:45,923.923 INFO    ] time= 20/10/2026 23:35:45
[2026-10-20 23:35:45,928.928 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:35:45,936.936 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:35:46,058.058 INFO    ] No existing commands found in stream
[2026-10-20 23:35:51,088.088 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:35:51,091.091 INFO    ] Waiting 2.37 seconds before fallback handling...
[2026-10-20 23:35:53,961.961 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:35:53,963.963 INFO    ] Checking for system updates...
[2026-10-20 23:35:53,998.998 INFO    ] 200
[2026-10-20 23:35:54,001.001 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:35:54,053.053 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:35:54,055.055 INFO    ] No update needed
[2026-10-20 23:35:54,058.058 INFO    ] Checking for camera pi updates...
[2026-10-20 23:35:54,091.091 INFO    ] 200
[2026-10-20 23:35:54,093.093 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:35:54,133.133 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:35:54,179.179 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:35:54,182.182 INFO    ] No camera update needed
[2026-10-20 23:35:54,184.184 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:35:54,186.186 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:35:54,191.191 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:35:54,196.196 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:35:56,235.235 INFO    ] ================================================
[2026-10-20 23:35:56,251.251 INFO    ] Launching Daemon at Tue Oct 20 23:35:56 IST 2026
[2026-10-20 23:35:56,262.262 INFO    ] ================================================
[2026-10-20 23:35:56,845.845 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:35:56
[2026-10-20 23:35:57,442.442 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:35:57,714.714 INFO    ] Initializing speech engine...
[2026-10-20 23:35:57,723.723 INFO    ] 2026-10-20 23:35:57
[2026-10-20 23:35:57,971.971 INFO    ] 2026-10-20 23:35:57
[2026-10-20 23:35:58,006.006 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:35:58,257.257 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:35:58,267.267 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:35:58,406.406 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:35:58,470.470 INFO    ] time= 20/10/2026 23:35:58
[2026-10-20 23:35:58,527.527 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:35:58,533.533 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:35:58,668.668 INFO    ] No existing commands found in stream
[2026-10-20 23:36:03,688.688 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:36:03,691.691 INFO    ] Waiting 2.16 seconds before fallback handling...
[2026-10-20 23:36:06,365.365 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 23:36:06,367.367 INFO    ] Checking for system updates...
[2026-10-20 23:36:06,403.403 INFO    ] 200
[2026-10-20 23:36:06,405.405 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:36:06,457.457 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:36:06,460.460 INFO    ] No update needed
[2026-10-20 23:36:06,463.463 INFO    ] Checking for camera pi updates...
[2026-10-20 23:36:06,497.497 INFO    ] 200
[2026-10-20 23:36:06,500.500 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:36:06,541.541 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:36:06,590.590 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:36:06,592.592 INFO    ] No camera update needed
[2026-10-20 23:36:06,595.595 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:36:06,598.598 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:36:06,604.604 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:36:06,610.610 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:36:08,652.652 INFO    ] ================================================
[2026-10-20 23:36:08,667.667 INFO    ] Launching Daemon at Tue Oct 20 23:36:08 IST 2026
[2026-10-20 23:36:08,678.678 INFO    ] ================================================
[2026-10-20 23:36:09,263.263 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:36:09
[2026-10-20 23:36:09,863.863 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:36:10,124.124 INFO    ] Initializing speech engine...
[2026-10-20 23:36:10,129.129 INFO    ] 2026-10-20 23:36:10
[2026-10-20 23:36:10,420.420 INFO    ] 2026-10-20 23:36:10
[2026-10-20 23:36:10,458.458 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:36:10,677.677 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:36:10,731.731 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:36:10,902.902 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:36:10,919.919 INFO    ] time= 20/10/2026 23:36:10
[2026-10-20 23:36:10,978.978 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:36:11,027.027 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:36:11,107.107 INFO    ] No existing commands found in stream
[2026-10-20 23:36:16,119.119 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:36:16,122.122 INFO    ] Waiting 0.41 seconds before fallback handling...
[2026-10-20 23:36:17,041.041 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:36:17,044.044 INFO    ] Checking for system updates...
[2026-10-20 23:36:17,084.084 INFO    ] 200
[2026-10-20 23:36:17,087.087 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:36:17,146.146 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:36:17,149.149 INFO    ] No update needed
[2026-10-20 23:36:17,152.152 INFO    ] Checking for camera pi updates...
[2026-10-20 23:36:17,186.186 INFO    ] 200
[2026-10-20 23:36:17,189.189 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:36:17,234.234 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:36:17,283.283 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:36:17,286.286 INFO    ] No camera update needed
[2026-10-20 23:36:17,288.288 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:36:17,290.290 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:36:17,296.296 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:36:17,301.301 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:36:19,348.348 INFO    ] ================================================
[2026-10-20 23:36:19,363.363 INFO    ] Launching Daemon at Tue Oct 20 23:36:19 IST 2026
[2026-10-20 23:36:19,374.374 INFO    ] ================================================
[2026-10-20 23:36:20,037.037 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:36:20
[2026-10-20 23:36:20,740.740 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:36:21,060.060 INFO    ] Initializing speech engine...
[2026-10-20 23:36:21,073.073 INFO    ] 2026-10-20 23:36:21
[2026-10-20 23:36:21,353.353 INFO    ] 2026-10-20 23:36:21
[2026-10-20 23:36:21,415.415 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:36:21,657.657 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:36:21,665.665 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:36:21,911.911 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:36:21,941.941 INFO    ] time= 20/10/2026 23:36:21
[2026-10-20 23:36:21,958.958 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:36:21,990.990 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:36:22,107.107 INFO    ] No existing commands found in stream
[2026-10-20 23:36:27,132.132 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:36:27,136.136 INFO    ] Waiting 0.15 seconds before fallback handling...
[2026-10-20 23:36:27,790.790 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:36:27,793.793 INFO    ] Checking for system updates...
[2026-10-20 23:36:27,829.829 INFO    ] 200
[2026-10-20 23:36:27,832.832 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:36:27,899.899 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:36:27,903.903 INFO    ] No update needed
[2026-10-20 23:36:27,906.906 INFO    ] Checking for camera pi updates...
[2026-10-20 23:36:27,949.949 INFO    ] 200
[2026-10-20 23:36:27,952.952 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:36:28,002.002 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:36:28,052.052 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:36:28,056.056 INFO    ] No camera update needed
[2026-10-20 23:36:28,059.059 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:36:28,061.061 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:36:28,067.067 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:36:28,073.073 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:36:30,114.114 INFO    ] ================================================
[2026-10-20 23:36:30,130.130 INFO    ] Launching Daemon at Tue Oct 20 23:36:30 IST 2026
[2026-10-20 23:36:30,141.141 INFO    ] ================================================
[2026-10-20 23:36:30,723.723 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:36:30
[2026-10-20 23:36:31,318.318 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:36:31,586.586 INFO    ] Initializing speech engine...
[2026-10-20 23:36:31,609.609 INFO    ] 2026-10-20 23:36:31
[2026-10-20 23:36:31,864.864 INFO    ] 2026-10-20 23:36:31
[2026-10-20 23:36:31,899.899 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:36:32,137.137 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:36:32,185.185 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:36:32,372.372 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:36:32,396.396 INFO    ] time= 20/10/2026 23:36:32
[2026-10-20 23:36:32,456.456 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:36:32,506.506 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:36:32,666.666 INFO    ] No existing commands found in stream
[2026-10-20 23:36:37,684.684 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:36:37,687.687 INFO    ] Waiting 2.98 seconds before fallback handling...
[2026-10-20 23:36:41,179.179 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:36:41,181.181 INFO    ] Checking for system updates...
[2026-10-20 23:36:41,217.217 INFO    ] 200
[2026-10-20 23:36:41,219.219 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:36:41,271.271 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:36:41,274.274 INFO    ] No update needed
[2026-10-20 23:36:41,276.276 INFO    ] Checking for camera pi updates...
[2026-10-20 23:36:41,309.309 INFO    ] 200
[2026-10-20 23:36:41,312.312 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:36:41,352.352 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:36:41,382.382 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:36:41,384.384 INFO    ] No camera update needed
[2026-10-20 23:36:41,387.387 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:36:41,389.389 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:36:41,394.394 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:36:41,400.400 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:36:43,439.439 INFO    ] ================================================
[2026-10-20 23:36:43,455.455 INFO    ] Launching Daemon at Tue Oct 20 23:36:43 IST 2026
[2026-10-20 23:36:43,466.466 INFO    ] ================================================
[2026-10-20 23:36:44,049.049 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:36:44
[2026-10-20 23:36:44,647.647 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:36:44,929.929 INFO    ] Initializing speech engine...
[2026-10-20 23:36:44,938.938 INFO    ] 2026-10-20 23:36:44
[2026-10-20 23:36:45,194.194 INFO    ] 2026-10-20 23:36:45
[2026-10-20 23:36:45,229.229 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:36:45,473.473 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:36:45,484.484 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:36:45,680.680 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:36:45,735.735 INFO    ] time= 20/10/2026 23:36:45
[2026-10-20 23:36:45,747.747 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:36:45,766.766 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:36:45,898.898 INFO    ] No existing commands found in stream
[2026-10-20 23:36:50,920.920 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:36:50,923.923 INFO    ] Waiting 0.06 seconds before fallback handling...
[2026-10-20 23:36:51,448.448 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:36:51,451.451 INFO    ] Checking for system updates...
[2026-10-20 23:36:51,490.490 INFO    ] 200
[2026-10-20 23:36:51,493.493 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:36:51,545.545 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:36:51,547.547 INFO    ] No update needed
[2026-10-20 23:36:51,555.555 INFO    ] Checking for camera pi updates...
[2026-10-20 23:36:51,592.592 INFO    ] 200
[2026-10-20 23:36:51,595.595 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:36:51,634.634 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:36:51,684.684 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:36:51,686.686 INFO    ] No camera update needed
[2026-10-20 23:36:51,688.688 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:36:51,691.691 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:36:51,696.696 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:36:51,701.701 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:36:53,742.742 INFO    ] ================================================
[2026-10-20 23:36:53,758.758 INFO    ] Launching Daemon at Tue Oct 20 23:36:53 IST 2026
[2026-10-20 23:36:53,769.769 INFO    ] ================================================
[2026-10-20 23:36:54,339.339 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:36:54
[2026-10-20 23:36:54,939.939 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:36:55,195.195 INFO    ] Initializing speech engine...
[2026-10-20 23:36:55,201.201 INFO    ] 2026-10-20 23:36:55
[2026-10-20 23:36:55,493.493 INFO    ] 2026-10-20 23:36:55
[2026-10-20 23:36:55,528.528 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:36:55,751.751 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:36:55,796.796 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:36:56,030.030 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:36:56,079.079 INFO    ] time= 20/10/2026 23:36:56
[2026-10-20 23:36:56,119.119 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:36:56,125.125 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:36:56,275.275 INFO    ] No existing commands found in stream
[2026-10-20 23:37:01,295.295 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:37:01,297.297 INFO    ] Waiting 2.90 seconds before fallback handling...
[2026-10-20 23:37:04,724.724 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:37:04,726.726 INFO    ] Checking for system updates...
[2026-10-20 23:37:04,763.763 INFO    ] 200
[2026-10-20 23:37:04,765.765 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:37:04,821.821 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:37:04,823.823 INFO    ] No update needed
[2026-10-20 23:37:04,826.826 INFO    ] Checking for camera pi updates...
[2026-10-20 23:37:04,860.860 INFO    ] 200
[2026-10-20 23:37:04,862.862 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:37:04,910.910 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:37:04,969.969 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:37:04,971.971 INFO    ] No camera update needed
[2026-10-20 23:37:04,973.973 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:37:04,976.976 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:37:04,981.981 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:37:04,986.986 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:37:07,027.027 INFO    ] ================================================
[2026-10-20 23:37:07,043.043 INFO    ] Launching Daemon at Tue Oct 20 23:37:07 IST 2026
[2026-10-20 23:37:07,055.055 INFO    ] ================================================
[2026-10-20 23:37:07,623.623 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:37:07
[2026-10-20 23:37:08,209.209 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:37:08,478.478 INFO    ] Initializing speech engine...
[2026-10-20 23:37:08,487.487 INFO    ] 2026-10-20 23:37:08
[2026-10-20 23:37:08,738.738 INFO    ] 2026-10-20 23:37:08
[2026-10-20 23:37:08,774.774 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:37:09,019.019 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:37:09,028.028 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:37:09,166.166 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:37:09,226.226 INFO    ] time= 20/10/2026 23:37:09
[2026-10-20 23:37:09,288.288 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:37:09,295.295 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:37:09,440.440 INFO    ] No existing commands found in stream
[2026-10-20 23:37:14,459.459 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:37:14,462.462 INFO    ] Waiting 3.56 seconds before fallback handling...
[2026-10-20 23:37:18,532.532 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 23:37:18,535.535 INFO    ] Checking for system updates...
[2026-10-20 23:37:18,571.571 INFO    ] 200
[2026-10-20 23:37:18,574.574 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:37:18,627.627 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:37:18,630.630 INFO    ] No update needed
[2026-10-20 23:37:18,632.632 INFO    ] Checking for camera pi updates...
[2026-10-20 23:37:18,666.666 INFO    ] 200
[2026-10-20 23:37:18,669.669 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:37:18,710.710 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:37:18,767.767 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:37:18,770.770 INFO    ] No camera update needed
[2026-10-20 23:37:18,773.773 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:37:18,775.775 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:37:18,782.782 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:37:18,787.787 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:37:20,830.830 INFO    ] ================================================
[2026-10-20 23:37:20,845.845 INFO    ] Launching Daemon at Tue Oct 20 23:37:20 IST 2026
[2026-10-20 23:37:20,856.856 INFO    ] ================================================
[2026-10-20 23:37:21,427.427 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:37:21
[2026-10-20 23:37:22,017.017 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:37:22,281.281 INFO    ] Initializing speech engine...
[2026-10-20 23:37:22,295.295 INFO    ] 2026-10-20 23:37:22
[2026-10-20 23:37:22,581.581 INFO    ] 2026-10-20 23:37:22
[2026-10-20 23:37:22,616.616 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:37:22,827.827 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:37:22,847.847 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:37:23,002.002 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:37:23,021.021 INFO    ] time= 20/10/2026 23:37:23
[2026-10-20 23:37:23,065.065 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:37:23,081.081 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:37:23,222.222 INFO    ] No existing commands found in stream
[2026-10-20 23:37:28,232.232 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:37:28,235.235 INFO    ] Waiting 0.16 seconds before fallback handling...
[2026-10-20 23:37:28,887.887 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:37:28,889.889 INFO    ] Checking for system updates...
[2026-10-20 23:37:28,924.924 INFO    ] 200
[2026-10-20 23:37:28,927.927 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:37:28,978.978 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:37:28,981.981 INFO    ] No update needed
[2026-10-20 23:37:28,983.983 INFO    ] Checking for camera pi updates...
[2026-10-20 23:37:29,020.020 INFO    ] 200
[2026-10-20 23:37:29,023.023 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:37:29,067.067 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:37:29,118.118 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:37:29,121.121 INFO    ] No camera update needed
[2026-10-20 23:37:29,124.124 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:37:29,126.126 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:37:29,131.131 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:37:29,136.136 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:37:31,176.176 INFO    ] ================================================
[2026-10-20 23:37:31,191.191 INFO    ] Launching Daemon at Tue Oct 20 23:37:31 IST 2026
[2026-10-20 23:37:31,202.202 INFO    ] ================================================
[2026-10-20 23:37:31,844.844 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:37:31
[2026-10-20 23:37:32,465.465 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:37:32,800.800 INFO    ] Initializing speech engine...
[2026-10-20 23:37:32,810.810 INFO    ] 2026-10-20 23:37:32
[2026-10-20 23:37:33,102.102 INFO    ] 2026-10-20 23:37:33
[2026-10-20 23:37:33,154.154 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:37:33,391.391 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:37:33,400.400 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:37:33,535.535 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:37:33,584.584 INFO    ] time= 20/10/2026 23:37:33
[2026-10-20 23:37:33,628.628 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:37:33,666.666 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:37:33,789.789 INFO    ] No existing commands found in stream
[2026-10-20 23:37:38,820.820 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:37:38,822.822 INFO    ] Waiting 2.71 seconds before fallback handling...
[2026-10-20 23:37:42,028.028 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:37:42,031.031 INFO    ] Checking for system updates...
[2026-10-20 23:37:42,067.067 INFO    ] 200
[2026-10-20 23:37:42,070.070 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:37:42,130.130 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:37:42,133.133 INFO    ] No update needed
[2026-10-20 23:37:42,136.136 INFO    ] Checking for camera pi updates...
[2026-10-20 23:37:42,170.170 INFO    ] 200
[2026-10-20 23:37:42,172.172 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:37:42,215.215 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:37:42,266.266 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:37:42,269.269 INFO    ] No camera update needed
[2026-10-20 23:37:42,272.272 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:37:42,275.275 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:37:42,281.281 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:37:42,287.287 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:37:44,326.326 INFO    ] ================================================
[2026-10-20 23:37:44,342.342 INFO    ] Launching Daemon at Tue Oct 20 23:37:44 IST 2026
[2026-10-20 23:37:44,353.353 INFO    ] ================================================
[2026-10-20 23:37:44,922.922 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:37:44
[2026-10-20 23:37:45,517.517 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:37:45,790.790 INFO    ] Initializing speech engine...
[2026-10-20 23:37:45,796.796 INFO    ] 2026-10-20 23:37:45
[2026-10-20 23:37:46,042.042 INFO    ] 2026-10-20 23:37:46
[2026-10-20 23:37:46,077.077 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:37:46,329.329 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:37:46,338.338 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:37:46,544.544 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:37:46,595.595 INFO    ] time= 20/10/2026 23:37:46
[2026-10-20 23:37:46,602.602 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:37:46,619.619 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:37:46,746.746 INFO    ] No existing commands found in stream
[2026-10-20 23:37:51,760.760 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:37:51,763.763 INFO    ] Waiting 1.95 seconds before fallback handling...
[2026-10-20 23:37:54,266.266 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 23:37:54,269.269 INFO    ] Checking for system updates...
[2026-10-20 23:37:54,306.306 INFO    ] 200
[2026-10-20 23:37:54,309.309 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:37:54,362.362 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:37:54,365.365 INFO    ] No update needed
[2026-10-20 23:37:54,367.367 INFO    ] Checking for camera pi updates...
[2026-10-20 23:37:54,402.402 INFO    ] 200
[2026-10-20 23:37:54,405.405 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:37:54,446.446 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:37:54,592.592 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:37:54,595.595 INFO    ] No camera update needed
[2026-10-20 23:37:54,598.598 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:37:54,601.601 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:37:54,607.607 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:37:54,613.613 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:37:56,655.655 INFO    ] ================================================
[2026-10-20 23:37:56,670.670 INFO    ] Launching Daemon at Tue Oct 20 23:37:56 IST 2026
[2026-10-20 23:37:56,681.681 INFO    ] ================================================
[2026-10-20 23:37:57,250.250 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:37:57
[2026-10-20 23:37:57,831.831 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:37:58,081.081 INFO    ] Initializing speech engine...
[2026-10-20 23:37:58,088.088 INFO    ] 2026-10-20 23:37:58
[2026-10-20 23:37:58,392.392 INFO    ] 2026-10-20 23:37:58
[2026-10-20 23:37:58,424.424 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:37:58,682.682 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:37:58,689.689 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:37:58,876.876 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:37:58,887.887 INFO    ] time= 20/10/2026 23:37:58
[2026-10-20 23:37:58,892.892 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:37:58,901.901 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:37:59,003.003 INFO    ] No existing commands found in stream
[2026-10-20 23:38:04,033.033 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:38:04,036.036 INFO    ] Waiting 1.45 seconds before fallback handling...
[2026-10-20 23:38:05,964.964 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:38:05,967.967 INFO    ] Checking for system updates...
[2026-10-20 23:38:06,002.002 INFO    ] 200
[2026-10-20 23:38:06,004.004 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:38:06,057.057 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:38:06,060.060 INFO    ] No update needed
[2026-10-20 23:38:06,062.062 INFO    ] Checking for camera pi updates...
[2026-10-20 23:38:06,099.099 INFO    ] 200
[2026-10-20 23:38:06,102.102 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:38:06,141.141 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:38:06,190.190 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:38:06,192.192 INFO    ] No camera update needed
[2026-10-20 23:38:06,195.195 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:38:06,197.197 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:38:06,202.202 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:38:06,207.207 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:38:08,249.249 INFO    ] ================================================
[2026-10-20 23:38:08,265.265 INFO    ] Launching Daemon at Tue Oct 20 23:38:08 IST 2026
[2026-10-20 23:38:08,276.276 INFO    ] ================================================
[2026-10-20 23:38:08,841.841 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:38:08
[2026-10-20 23:38:09,425.425 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:38:09,687.687 INFO    ] Initializing speech engine...
[2026-10-20 23:38:09,707.707 INFO    ] 2026-10-20 23:38:09
[2026-10-20 23:38:09,982.982 INFO    ] 2026-10-20 23:38:09
[2026-10-20 23:38:10,021.021 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:38:10,239.239 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:38:10,250.250 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:38:10,470.470 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:38:10,476.476 INFO    ] time= 20/10/2026 23:38:10
[2026-10-20 23:38:10,536.536 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:38:10,590.590 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:38:10,710.710 INFO    ] No existing commands found in stream
[2026-10-20 23:38:15,743.743 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:38:15,745.745 INFO    ] Waiting 3.73 seconds before fallback handling...
[2026-10-20 23:38:19,997.997 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:38:19,999.999 INFO    ] Checking for system updates...
[2026-10-20 23:38:20,035.035 INFO    ] 200
[2026-10-20 23:38:20,038.038 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:38:20,090.090 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:38:20,092.092 INFO    ] No update needed
[2026-10-20 23:38:20,094.094 INFO    ] Checking for camera pi updates...
[2026-10-20 23:38:20,127.127 INFO    ] 200
[2026-10-20 23:38:20,130.130 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:38:20,170.170 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:38:20,227.227 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:38:20,230.230 INFO    ] No camera update needed
[2026-10-20 23:38:20,232.232 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:38:20,234.234 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:38:20,240.240 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:38:20,245.245 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:38:22,285.285 INFO    ] ================================================
[2026-10-20 23:38:22,301.301 INFO    ] Launching Daemon at Tue Oct 20 23:38:22 IST 2026
[2026-10-20 23:38:22,312.312 INFO    ] ================================================
[2026-10-20 23:38:22,883.883 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:38:22
[2026-10-20 23:38:23,474.474 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:38:23,734.734 INFO    ] Initializing speech engine...
[2026-10-20 23:38:23,741.741 INFO    ] 2026-10-20 23:38:23
[2026-10-20 23:38:24,035.035 INFO    ] 2026-10-20 23:38:24
[2026-10-20 23:38:24,070.070 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:38:24,296.296 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:38:24,304.304 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:38:24,495.495 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:38:24,528.528 INFO    ] time= 20/10/2026 23:38:24
[2026-10-20 23:38:24,570.570 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:38:24,620.620 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:38:24,733.733 INFO    ] No existing commands found in stream
[2026-10-20 23:38:29,745.745 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:38:29,748.748 INFO    ] Waiting 2.64 seconds before fallback handling...
[2026-10-20 23:38:32,881.881 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 23:38:32,885.885 INFO    ] Checking for system updates...
[2026-10-20 23:38:32,931.931 INFO    ] 200
[2026-10-20 23:38:32,934.934 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:38:33,001.001 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:38:33,004.004 INFO    ] No update needed
[2026-10-20 23:38:33,006.006 INFO    ] Checking for camera pi updates...
[2026-10-20 23:38:33,049.049 INFO    ] 200
[2026-10-20 23:38:33,052.052 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:38:33,094.094 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:38:33,144.144 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:38:33,147.147 INFO    ] No camera update needed
[2026-10-20 23:38:33,149.149 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:38:33,152.152 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:38:33,157.157 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:38:33,162.162 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:38:35,204.204 INFO    ] ================================================
[2026-10-20 23:38:35,220.220 INFO    ] Launching Daemon at Tue Oct 20 23:38:35 IST 2026
[2026-10-20 23:38:35,230.230 INFO    ] ================================================
[2026-10-20 23:38:35,801.801 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:38:35
[2026-10-20 23:38:36,388.388 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:38:36,649.649 INFO    ] Initializing speech engine...
[2026-10-20 23:38:36,667.667 INFO    ] 2026-10-20 23:38:36
[2026-10-20 23:38:36,918.918 INFO    ] 2026-10-20 23:38:36
[2026-10-20 23:38:36,954.954 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:38:37,156.156 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:38:37,216.216 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:38:37,359.359 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:38:37,429.429 INFO    ] time= 20/10/2026 23:38:37
[2026-10-20 23:38:37,484.484 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:38:37,494.494 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:38:37,627.627 INFO    ] No existing commands found in stream
[2026-10-20 23:38:42,649.649 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:38:42,652.652 INFO    ] Waiting 3.22 seconds before fallback handling...
[2026-10-20 23:38:46,346.346 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:38:46,349.349 INFO    ] Checking for system updates...
[2026-10-20 23:38:46,385.385 INFO    ] 200
[2026-10-20 23:38:46,387.387 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:38:46,446.446 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:38:46,448.448 INFO    ] No update needed
[2026-10-20 23:38:46,451.451 INFO    ] Checking for camera pi updates...
[2026-10-20 23:38:46,484.484 INFO    ] 200
[2026-10-20 23:38:46,486.486 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:38:46,526.526 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:38:46,575.575 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:38:46,578.578 INFO    ] No camera update needed
[2026-10-20 23:38:46,580.580 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:38:46,583.583 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:38:46,588.588 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:38:46,593.593 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:38:48,634.634 INFO    ] ================================================
[2026-10-20 23:38:48,649.649 INFO    ] Launching Daemon at Tue Oct 20 23:38:48 IST 2026
[2026-10-20 23:38:48,660.660 INFO    ] ================================================
[2026-10-20 23:38:49,229.229 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:38:49
[2026-10-20 23:38:49,815.815 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:38:50,071.071 INFO    ] Initializing speech engine...
[2026-10-20 23:38:50,080.080 INFO    ] 2026-10-20 23:38:50
[2026-10-20 23:38:50,376.376 INFO    ] 2026-10-20 23:38:50
[2026-10-20 23:38:50,410.410 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:38:50,609.609 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:38:50,626.626 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:38:50,786.786 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:38:50,795.795 INFO    ] time= 20/10/2026 23:38:50
[2026-10-20 23:38:50,803.803 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:38:50,809.809 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:38:50,948.948 INFO    ] No existing commands found in stream
[2026-10-20 23:38:55,973.973 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:38:55,975.975 INFO    ] Waiting 0.11 seconds before fallback handling...
[2026-10-20 23:38:56,612.612 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:38:56,615.615 INFO    ] Checking for system updates...
[2026-10-20 23:38:56,650.650 INFO    ] 200
[2026-10-20 23:38:56,653.653 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:38:56,705.705 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:38:56,708.708 INFO    ] No update needed
[2026-10-20 23:38:56,710.710 INFO    ] Checking for camera pi updates...
[2026-10-20 23:38:56,743.743 INFO    ] 200
[2026-10-20 23:38:56,746.746 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:38:56,786.786 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:38:56,834.834 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:38:56,837.837 INFO    ] No camera update needed
[2026-10-20 23:38:56,839.839 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:38:56,842.842 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:38:56,847.847 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:38:56,852.852 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:38:58,892.892 INFO    ] ================================================
[2026-10-20 23:38:58,907.907 INFO    ] Launching Daemon at Tue Oct 20 23:38:58 IST 2026
[2026-10-20 23:38:58,917.917 INFO    ] ================================================
[2026-10-20 23:38:59,486.486 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:38:59
[2026-10-20 23:39:00,074.074 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:39:00,335.335 INFO    ] Initializing speech engine...
[2026-10-20 23:39:00,360.360 INFO    ] 2026-10-20 23:39:00
[2026-10-20 23:39:00,633.633 INFO    ] 2026-10-20 23:39:00
[2026-10-20 23:39:00,669.669 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:39:00,896.896 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:39:00,946.946 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:39:01,120.120 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:39:01,167.167 INFO    ] time= 20/10/2026 23:39:01
[2026-10-20 23:39:01,217.217 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:39:01,271.271 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:39:01,410.410 INFO    ] No existing commands found in stream
[2026-10-20 23:39:06,435.435 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:39:06,438.438 INFO    ] Waiting 0.18 seconds before fallback handling...
[2026-10-20 23:39:07,093.093 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 23:39:07,096.096 INFO    ] Checking for system updates...
[2026-10-20 23:39:07,133.133 INFO    ] 200
[2026-10-20 23:39:07,136.136 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:39:07,190.190 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:39:07,199.199 INFO    ] No update needed
[2026-10-20 23:39:07,202.202 INFO    ] Checking for camera pi updates...
[2026-10-20 23:39:07,249.249 INFO    ] 200
[2026-10-20 23:39:07,252.252 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:39:07,293.293 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:39:07,340.340 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:39:07,342.342 INFO    ] No camera update needed
[2026-10-20 23:39:07,345.345 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:39:07,348.348 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:39:07,354.354 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:39:07,360.360 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:39:09,401.401 INFO    ] ================================================
[2026-10-20 23:39:09,416.416 INFO    ] Launching Daemon at Tue Oct 20 23:39:09 IST 2026
[2026-10-20 23:39:09,427.427 INFO    ] ================================================
[2026-10-20 23:39:10,082.082 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:39:10
[2026-10-20 23:39:10,759.759 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:39:11,069.069 INFO    ] Initializing speech engine...
[2026-10-20 23:39:11,081.081 INFO    ] 2026-10-20 23:39:11
[2026-10-20 23:39:11,356.356 INFO    ] 2026-10-20 23:39:11
[2026-10-20 23:39:11,414.414 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:39:11,647.647 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:39:11,653.653 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:39:11,886.886 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:39:11,921.921 INFO    ] time= 20/10/2026 23:39:11
[2026-10-20 23:39:11,939.939 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:39:11,971.971 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:39:12,083.083 INFO    ] No existing commands found in stream
[2026-10-20 23:39:17,118.118 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:39:17,122.122 INFO    ] Waiting 0.74 seconds before fallback handling...
[2026-10-20 23:39:18,405.405 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:39:18,408.408 INFO    ] Checking for system updates...
[2026-10-20 23:39:18,449.449 INFO    ] 200
[2026-10-20 23:39:18,452.452 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:39:18,506.506 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:39:18,509.509 INFO    ] No update needed
[2026-10-20 23:39:18,511.511 INFO    ] Checking for camera pi updates...
[2026-10-20 23:39:18,546.546 INFO    ] 200
[2026-10-20 23:39:18,549.549 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:39:18,591.591 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:39:18,639.639 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:39:18,642.642 INFO    ] No camera update needed
[2026-10-20 23:39:18,645.645 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:39:18,647.647 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:39:18,654.654 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:39:18,659.659 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:39:20,699.699 INFO    ] ================================================
[2026-10-20 23:39:20,715.715 INFO    ] Launching Daemon at Tue Oct 20 23:39:20 IST 2026
[2026-10-20 23:39:20,725.725 INFO    ] ================================================
[2026-10-20 23:39:21,392.392 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:39:21
[2026-10-20 23:39:22,080.080 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:39:22,396.396 INFO    ] Initializing speech engine...
[2026-10-20 23:39:22,407.407 INFO    ] 2026-10-20 23:39:22
[2026-10-20 23:39:22,695.695 INFO    ] 2026-10-20 23:39:22
[2026-10-20 23:39:22,740.740 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:39:23,014.014 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:39:23,040.040 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:39:23,241.241 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:39:23,249.249 INFO    ] time= 20/10/2026 23:39:23
[2026-10-20 23:39:23,271.271 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:39:23,298.298 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:39:23,449.449 INFO    ] No existing commands found in stream
[2026-10-20 23:39:28,480.480 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:39:28,484.484 INFO    ] Waiting 3.30 seconds before fallback handling...
[2026-10-20 23:39:32,274.274 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:39:32,276.276 INFO    ] Checking for system updates...
[2026-10-20 23:39:32,317.317 INFO    ] 200
[2026-10-20 23:39:32,320.320 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:39:32,404.404 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:39:32,410.410 INFO    ] No update needed
[2026-10-20 23:39:32,424.424 INFO    ] Checking for camera pi updates...
[2026-10-20 23:39:32,477.477 INFO    ] 200
[2026-10-20 23:39:32,480.480 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:39:32,546.546 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:39:32,581.581 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:39:32,584.584 INFO    ] No camera update needed
[2026-10-20 23:39:32,587.587 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:39:32,589.589 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:39:32,596.596 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:39:32,601.601 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:39:34,641.641 INFO    ] ================================================
[2026-10-20 23:39:34,657.657 INFO    ] Launching Daemon at Tue Oct 20 23:39:34 IST 2026
[2026-10-20 23:39:34,668.668 INFO    ] ================================================
[2026-10-20 23:39:35,335.335 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:39:35
[2026-10-20 23:39:36,024.024 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:39:36,338.338 INFO    ] Initializing speech engine...
[2026-10-20 23:39:36,350.350 INFO    ] 2026-10-20 23:39:36
[2026-10-20 23:39:36,636.636 INFO    ] 2026-10-20 23:39:36
[2026-10-20 23:39:36,682.682 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:39:36,940.940 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:39:36,960.960 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:39:37,185.185 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:39:37,204.204 INFO    ] time= 20/10/2026 23:39:37
[2026-10-20 23:39:37,214.214 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:39:37,241.241 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:39:37,363.363 INFO    ] No existing commands found in stream
[2026-10-20 23:39:42,389.389 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:39:42,393.393 INFO    ] Waiting 3.92 seconds before fallback handling...
[2026-10-20 23:39:46,818.818 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 23:39:46,821.821 INFO    ] Checking for system updates...
[2026-10-20 23:39:46,857.857 INFO    ] 200
[2026-10-20 23:39:46,860.860 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:39:46,912.912 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:39:46,914.914 INFO    ] No update needed
[2026-10-20 23:39:46,917.917 INFO    ] Checking for camera pi updates...
[2026-10-20 23:39:46,951.951 INFO    ] 200
[2026-10-20 23:39:46,953.953 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:39:46,998.998 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:39:47,047.047 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:39:47,049.049 INFO    ] No camera update needed
[2026-10-20 23:39:47,051.051 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:39:47,054.054 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:39:47,059.059 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:39:47,064.064 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:39:49,106.106 INFO    ] ================================================
[2026-10-20 23:39:49,121.121 INFO    ] Launching Daemon at Tue Oct 20 23:39:49 IST 2026
[2026-10-20 23:39:49,132.132 INFO    ] ================================================
[2026-10-20 23:39:49,754.754 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:39:49
[2026-10-20 23:39:50,337.337 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:39:50,596.596 INFO    ] Initializing speech engine...
[2026-10-20 23:39:50,615.615 INFO    ] 2026-10-20 23:39:50
[2026-10-20 23:39:50,864.864 INFO    ] 2026-10-20 23:39:50
[2026-10-20 23:39:50,906.906 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:39:51,156.156 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:39:51,165.165 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:39:51,360.360 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:39:51,411.411 INFO    ] time= 20/10/2026 23:39:51
[2026-10-20 23:39:51,454.454 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:39:51,486.486 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:39:51,603.603 INFO    ] No existing commands found in stream
[2026-10-20 23:39:56,627.627 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:39:56,630.630 INFO    ] Waiting 2.18 seconds before fallback handling...
[2026-10-20 23:39:59,328.328 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:39:59,331.331 INFO    ] Checking for system updates...
[2026-10-20 23:39:59,366.366 INFO    ] 200
[2026-10-20 23:39:59,368.368 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:39:59,421.421 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:39:59,423.423 INFO    ] No update needed
[2026-10-20 23:39:59,425.425 INFO    ] Checking for camera pi updates...
[2026-10-20 23:39:59,463.463 INFO    ] 200
[2026-10-20 23:39:59,465.465 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:39:59,506.506 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:39:59,653.653 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:39:59,656.656 INFO    ] No camera update needed
[2026-10-20 23:39:59,659.659 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:39:59,661.661 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:39:59,667.667 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:39:59,674.674 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:40:01,737.737 INFO    ] ================================================
[2026-10-20 23:40:01,825.825 INFO    ] Launching Daemon at Tue Oct 20 23:40:01 IST 2026
[2026-10-20 23:40:01,898.898 INFO    ] ================================================
[2026-10-20 23:40:02,816.816 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:40:02
[2026-10-20 23:40:03,504.504 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:40:03,822.822 INFO    ] Initializing speech engine...
[2026-10-20 23:40:03,837.837 INFO    ] 2026-10-20 23:40:03
[2026-10-20 23:40:04,127.127 INFO    ] 2026-10-20 23:40:04
[2026-10-20 23:40:04,167.167 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:40:04,376.376 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:40:04,388.388 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:40:04,533.533 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:40:04,541.541 INFO    ] time= 20/10/2026 23:40:04
[2026-10-20 23:40:04,581.581 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:40:04,607.607 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:40:04,735.735 INFO    ] No existing commands found in stream
[2026-10-20 23:40:09,744.744 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:40:09,747.747 INFO    ] Waiting 0.25 seconds before fallback handling...
[2026-10-20 23:40:10,539.539 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:40:10,541.541 INFO    ] Checking for system updates...
[2026-10-20 23:40:10,577.577 INFO    ] 200
[2026-10-20 23:40:10,579.579 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:40:10,631.631 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:40:10,633.633 INFO    ] No update needed
[2026-10-20 23:40:10,636.636 INFO    ] Checking for camera pi updates...
[2026-10-20 23:40:10,669.669 INFO    ] 200
[2026-10-20 23:40:10,671.671 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:40:10,712.712 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:40:10,762.762 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:40:10,764.764 INFO    ] No camera update needed
[2026-10-20 23:40:10,766.766 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:40:10,769.769 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:40:10,774.774 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:40:10,779.779 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:40:12,819.819 INFO    ] ================================================
[2026-10-20 23:40:12,835.835 INFO    ] Launching Daemon at Tue Oct 20 23:40:12 IST 2026
[2026-10-20 23:40:12,845.845 INFO    ] ================================================
[2026-10-20 23:40:13,422.422 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:40:13
[2026-10-20 23:40:14,008.008 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:40:14,264.264 INFO    ] Initializing speech engine...
[2026-10-20 23:40:14,279.279 INFO    ] 2026-10-20 23:40:14
[2026-10-20 23:40:14,546.546 INFO    ] 2026-10-20 23:40:14
[2026-10-20 23:40:14,580.580 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:40:14,840.840 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:40:14,848.848 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:40:14,984.984 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:40:15,026.026 INFO    ] time= 20/10/2026 23:40:14
[2026-10-20 23:40:15,090.090 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:40:15,121.121 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:40:15,273.273 INFO    ] No existing commands found in stream
[2026-10-20 23:40:20,286.286 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:40:20,288.288 INFO    ] Waiting 0.41 seconds before fallback handling...
[2026-10-20 23:40:21,193.193 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:40:21,196.196 INFO    ] Checking for system updates...
[2026-10-20 23:40:21,231.231 INFO    ] 200
[2026-10-20 23:40:21,234.234 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:40:21,286.286 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:40:21,288.288 INFO    ] No update needed
[2026-10-20 23:40:21,291.291 INFO    ] Checking for camera pi updates...
[2026-10-20 23:40:21,325.325 INFO    ] 200
[2026-10-20 23:40:21,327.327 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:40:21,367.367 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:40:21,424.424 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:40:21,427.427 INFO    ] No camera update needed
[2026-10-20 23:40:21,429.429 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:40:21,432.432 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:40:21,437.437 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:40:21,442.442 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:40:23,481.481 INFO    ] ================================================
[2026-10-20 23:40:23,497.497 INFO    ] Launching Daemon at Tue Oct 20 23:40:23 IST 2026
[2026-10-20 23:40:23,508.508 INFO    ] ================================================
[2026-10-20 23:40:24,166.166 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:40:24
[2026-10-20 23:40:24,842.842 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:40:25,149.149 INFO    ] Initializing speech engine...
[2026-10-20 23:40:25,164.164 INFO    ] 2026-10-20 23:40:25
[2026-10-20 23:40:25,447.447 INFO    ] 2026-10-20 23:40:25
[2026-10-20 23:40:25,522.522 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:40:25,782.782 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:40:25,791.791 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:40:25,990.990 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:40:25,998.998 INFO    ] time= 20/10/2026 23:40:25
[2026-10-20 23:40:26,016.016 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:40:26,034.034 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:40:26,212.212 INFO    ] No existing commands found in stream
[2026-10-20 23:40:31,237.237 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:40:31,241.241 INFO    ] Waiting 2.49 seconds before fallback handling...
[2026-10-20 23:40:34,300.300 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 23:40:34,303.303 INFO    ] Checking for system updates...
[2026-10-20 23:40:34,339.339 INFO    ] 200
[2026-10-20 23:40:34,342.342 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:40:34,394.394 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:40:34,396.396 INFO    ] No update needed
[2026-10-20 23:40:34,398.398 INFO    ] Checking for camera pi updates...
[2026-10-20 23:40:34,432.432 INFO    ] 200
[2026-10-20 23:40:34,434.434 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:40:34,475.475 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:40:34,522.522 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:40:34,524.524 INFO    ] No camera update needed
[2026-10-20 23:40:34,527.527 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:40:34,530.530 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:40:34,535.535 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:40:34,540.540 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:40:36,579.579 INFO    ] ================================================
[2026-10-20 23:40:36,595.595 INFO    ] Launching Daemon at Tue Oct 20 23:40:36 IST 2026
[2026-10-20 23:40:36,606.606 INFO    ] ================================================
[2026-10-20 23:40:37,179.179 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:40:37
[2026-10-20 23:40:37,765.765 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:40:38,036.036 INFO    ] Initializing speech engine...
[2026-10-20 23:40:38,046.046 INFO    ] 2026-10-20 23:40:38
[2026-10-20 23:40:38,295.295 INFO    ] 2026-10-20 23:40:38
[2026-10-20 23:40:38,331.331 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:40:38,589.589 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:40:38,599.599 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:40:38,793.793 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:40:38,848.848 INFO    ] time= 20/10/2026 23:40:38
[2026-10-20 23:40:38,868.868 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:40:38,884.884 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:40:39,031.031 INFO    ] No existing commands found in stream
[2026-10-20 23:40:44,056.056 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:40:44,059.059 INFO    ] Waiting 1.56 seconds before fallback handling...
[2026-10-20 23:40:46,140.140 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:40:46,143.143 INFO    ] Checking for system updates...
[2026-10-20 23:40:46,179.179 INFO    ] 200
[2026-10-20 23:40:46,181.181 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:40:46,233.233 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:40:46,235.235 INFO    ] No update needed
[2026-10-20 23:40:46,237.237 INFO    ] Checking for camera pi updates...
[2026-10-20 23:40:46,271.271 INFO    ] 200
[2026-10-20 23:40:46,273.273 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:40:46,313.313 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:40:46,362.362 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:40:46,364.364 INFO    ] No camera update needed
[2026-10-20 23:40:46,367.367 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:40:46,369.369 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:40:46,374.374 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:40:46,380.380 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:40:48,421.421 INFO    ] ================================================
[2026-10-20 23:40:48,437.437 INFO    ] Launching Daemon at Tue Oct 20 23:40:48 IST 2026
[2026-10-20 23:40:48,447.447 INFO    ] ================================================
[2026-10-20 23:40:49,021.021 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:40:49
[2026-10-20 23:40:49,618.618 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:40:49,895.895 INFO    ] Initializing speech engine...
[2026-10-20 23:40:49,904.904 INFO    ] 2026-10-20 23:40:49
[2026-10-20 23:40:50,163.163 INFO    ] 2026-10-20 23:40:50
[2026-10-20 23:40:50,214.214 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:40:50,442.442 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:40:50,447.447 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:40:50,581.581 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:40:50,640.640 INFO    ] time= 20/10/2026 23:40:50
[2026-10-20 23:40:50,700.700 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:40:50,714.714 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:40:50,864.864 INFO    ] No existing commands found in stream
[2026-10-20 23:40:55,888.888 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:40:55,891.891 INFO    ] Waiting 1.69 seconds before fallback handling...
[2026-10-20 23:40:58,074.074 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:40:58,077.077 INFO    ] Checking for system updates...
[2026-10-20 23:40:58,113.113 INFO    ] 200
[2026-10-20 23:40:58,115.115 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:40:58,167.167 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:40:58,169.169 INFO    ] No update needed
[2026-10-20 23:40:58,172.172 INFO    ] Checking for camera pi updates...
[2026-10-20 23:40:58,210.210 INFO    ] 200
[2026-10-20 23:40:58,212.212 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:40:58,252.252 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:40:58,294.294 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:40:58,296.296 INFO    ] No camera update needed
[2026-10-20 23:40:58,298.298 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:40:58,301.301 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:40:58,306.306 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:40:58,311.311 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:41:00,350.350 INFO    ] ================================================
[2026-10-20 23:41:00,366.366 INFO    ] Launching Daemon at Tue Oct 20 23:41:00 IST 2026
[2026-10-20 23:41:00,377.377 INFO    ] ================================================
[2026-10-20 23:41:00,943.943 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:41:00
[2026-10-20 23:41:01,667.667 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:41:02,023.023 INFO    ] Initializing speech engine...
[2026-10-20 23:41:02,029.029 INFO    ] 2026-10-20 23:41:02
[2026-10-20 23:41:02,335.335 INFO    ] 2026-10-20 23:41:02
[2026-10-20 23:41:02,383.383 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:41:02,623.623 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:41:02,631.631 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:41:02,863.863 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:41:02,910.910 INFO    ] time= 20/10/2026 23:41:02
[2026-10-20 23:41:02,947.947 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:41:02,966.966 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:41:03,114.114 INFO    ] No existing commands found in stream
[2026-10-20 23:41:08,129.129 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:41:08,133.133 INFO    ] Waiting 3.56 seconds before fallback handling...
[2026-10-20 23:41:12,201.201 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:41:12,204.204 INFO    ] Checking for system updates...
[2026-10-20 23:41:12,242.242 INFO    ] 200
[2026-10-20 23:41:12,244.244 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:41:12,299.299 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:41:12,302.302 INFO    ] No update needed
[2026-10-20 23:41:12,305.305 INFO    ] Checking for camera pi updates...
[2026-10-20 23:41:12,339.339 INFO    ] 200
[2026-10-20 23:41:12,342.342 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:41:12,384.384 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:41:12,433.433 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:41:12,436.436 INFO    ] No camera update needed
[2026-10-20 23:41:12,438.438 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:41:12,441.441 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:41:12,447.447 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:41:12,453.453 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:41:14,493.493 INFO    ] ================================================
[2026-10-20 23:41:14,509.509 INFO    ] Launching Daemon at Tue Oct 20 23:41:14 IST 2026
[2026-10-20 23:41:14,519.519 INFO    ] ================================================
[2026-10-20 23:41:15,103.103 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:41:15
[2026-10-20 23:41:15,704.704 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:41:15,971.971 INFO    ] Initializing speech engine...
[2026-10-20 23:41:15,995.995 INFO    ] 2026-10-20 23:41:15
[2026-10-20 23:41:16,277.277 INFO    ] 2026-10-20 23:41:16
[2026-10-20 23:41:16,313.313 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:41:16,543.543 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:41:16,584.584 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:41:16,773.773 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:41:16,790.790 INFO    ] time= 20/10/2026 23:41:16
[2026-10-20 23:41:16,849.849 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:41:16,898.898 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:41:17,001.001 INFO    ] No existing commands found in stream
[2026-10-20 23:41:22,037.037 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:41:22,040.040 INFO    ] Waiting 2.40 seconds before fallback handling...
[2026-10-20 23:41:24,960.960 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 23:41:24,963.963 INFO    ] Checking for system updates...
[2026-10-20 23:41:24,998.998 INFO    ] 200
[2026-10-20 23:41:25,001.001 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:41:25,059.059 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:41:25,062.062 INFO    ] No update needed
[2026-10-20 23:41:25,064.064 INFO    ] Checking for camera pi updates...
[2026-10-20 23:41:25,097.097 INFO    ] 200
[2026-10-20 23:41:25,100.100 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:41:25,141.141 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:41:25,185.185 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:41:25,188.188 INFO    ] No camera update needed
[2026-10-20 23:41:25,191.191 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:41:25,193.193 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:41:25,198.198 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:41:25,203.203 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:41:27,243.243 INFO    ] ================================================
[2026-10-20 23:41:27,258.258 INFO    ] Launching Daemon at Tue Oct 20 23:41:27 IST 2026
[2026-10-20 23:41:27,269.269 INFO    ] ================================================
[2026-10-20 23:41:27,860.860 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:41:27
[2026-10-20 23:41:28,463.463 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:41:28,738.738 INFO    ] Initializing speech engine...
[2026-10-20 23:41:28,747.747 INFO    ] 2026-10-20 23:41:28
[2026-10-20 23:41:29,010.010 INFO    ] 2026-10-20 23:41:29
[2026-10-20 23:41:29,040.040 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:41:29,293.293 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:41:29,300.300 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:41:29,473.473 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:41:29,533.533 INFO    ] time= 20/10/2026 23:41:29
[2026-10-20 23:41:29,562.562 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:41:29,568.568 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:41:29,710.710 INFO    ] No existing commands found in stream
[2026-10-20 23:41:34,726.726 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:41:34,728.728 INFO    ] Waiting 3.96 seconds before fallback handling...
[2026-10-20 23:41:39,192.192 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 23:41:39,195.195 INFO    ] Checking for system updates...
[2026-10-20 23:41:39,230.230 INFO    ] 200
[2026-10-20 23:41:39,233.233 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:41:39,293.293 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:41:39,295.295 INFO    ] No update needed
[2026-10-20 23:41:39,298.298 INFO    ] Checking for camera pi updates...
[2026-10-20 23:41:39,336.336 INFO    ] 200
[2026-10-20 23:41:39,338.338 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:41:39,379.379 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:41:39,426.426 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:41:39,429.429 INFO    ] No camera update needed
[2026-10-20 23:41:39,431.431 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:41:39,434.434 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:41:39,439.439 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:41:39,444.444 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:41:41,484.484 INFO    ] ================================================
[2026-10-20 23:41:41,500.500 INFO    ] Launching Daemon at Tue Oct 20 23:41:41 IST 2026
[2026-10-20 23:41:41,510.510 INFO    ] ================================================
[2026-10-20 23:41:42,190.190 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:41:42
[2026-10-20 23:41:42,890.890 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:41:43,214.214 INFO    ] Initializing speech engine...
[2026-10-20 23:41:43,226.226 INFO    ] 2026-10-20 23:41:43
[2026-10-20 23:41:43,520.520 INFO    ] 2026-10-20 23:41:43
[2026-10-20 23:41:43,634.634 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:41:43,854.854 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:41:43,863.863 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:41:44,062.062 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:41:44,082.082 INFO    ] time= 20/10/2026 23:41:44
[2026-10-20 23:41:44,105.105 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:41:44,121.121 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:41:44,233.233 INFO    ] No existing commands found in stream
[2026-10-20 23:41:49,268.268 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:41:49,272.272 INFO    ] Waiting 3.92 seconds before fallback handling...
[2026-10-20 23:41:53,777.777 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:41:53,780.780 INFO    ] Checking for system updates...
[2026-10-20 23:41:53,823.823 INFO    ] 200
[2026-10-20 23:41:53,826.826 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:41:53,884.884 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:41:53,887.887 INFO    ] No update needed
[2026-10-20 23:41:53,890.890 INFO    ] Checking for camera pi updates...
[2026-10-20 23:41:53,926.926 INFO    ] 200
[2026-10-20 23:41:53,929.929 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:41:53,971.971 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:41:54,027.027 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:41:54,030.030 INFO    ] No camera update needed
[2026-10-20 23:41:54,033.033 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:41:54,035.035 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:41:54,042.042 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:41:54,048.048 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:41:56,091.091 INFO    ] ================================================
[2026-10-20 23:41:56,106.106 INFO    ] Launching Daemon at Tue Oct 20 23:41:56 IST 2026
[2026-10-20 23:41:56,118.118 INFO    ] ================================================
[2026-10-20 23:41:56,688.688 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:41:56
[2026-10-20 23:41:57,273.273 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:41:57,546.546 INFO    ] Initializing speech engine...
[2026-10-20 23:41:57,555.555 INFO    ] 2026-10-20 23:41:57
[2026-10-20 23:41:57,804.804 INFO    ] 2026-10-20 23:41:57
[2026-10-20 23:41:57,838.838 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:41:58,048.048 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:41:58,101.101 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:41:58,308.308 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:41:58,371.371 INFO    ] time= 20/10/2026 23:41:58
[2026-10-20 23:41:58,378.378 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:41:58,393.393 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:41:58,543.543 INFO    ] No existing commands found in stream
[2026-10-20 23:42:03,574.574 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:42:03,577.577 INFO    ] Waiting 0.81 seconds before fallback handling...
[2026-10-20 23:42:04,893.893 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:42:04,896.896 INFO    ] Checking for system updates...
[2026-10-20 23:42:04,932.932 INFO    ] 200
[2026-10-20 23:42:04,935.935 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:42:04,998.998 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:42:05,000.000 INFO    ] No update needed
[2026-10-20 23:42:05,003.003 INFO    ] Checking for camera pi updates...
[2026-10-20 23:42:05,037.037 INFO    ] 200
[2026-10-20 23:42:05,040.040 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:42:05,081.081 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:42:05,124.124 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:42:05,127.127 INFO    ] No camera update needed
[2026-10-20 23:42:05,130.130 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:42:05,132.132 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:42:05,139.139 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:42:05,145.145 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:42:07,187.187 INFO    ] ================================================
[2026-10-20 23:42:07,202.202 INFO    ] Launching Daemon at Tue Oct 20 23:42:07 IST 2026
[2026-10-20 23:42:07,212.212 INFO    ] ================================================
[2026-10-20 23:42:07,856.856 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:42:07
[2026-10-20 23:42:08,520.520 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:42:08,825.825 INFO    ] Initializing speech engine...
[2026-10-20 23:42:08,833.833 INFO    ] 2026-10-20 23:42:08
[2026-10-20 23:42:09,153.153 INFO    ] 2026-10-20 23:42:09
[2026-10-20 23:42:09,241.241 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:42:09,423.423 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:42:09,430.430 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:42:09,640.640 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:42:09,671.671 INFO    ] time= 20/10/2026 23:42:09
[2026-10-20 23:42:09,677.677 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:42:09,699.699 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:42:09,820.820 INFO    ] No existing commands found in stream
[2026-10-20 23:42:14,842.842 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:42:14,845.845 INFO    ] Waiting 1.61 seconds before fallback handling...
[2026-10-20 23:42:17,027.027 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:42:17,030.030 INFO    ] Checking for system updates...
[2026-10-20 23:42:17,071.071 INFO    ] 200
[2026-10-20 23:42:17,074.074 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:42:17,138.138 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:42:17,141.141 INFO    ] No update needed
[2026-10-20 23:42:17,144.144 INFO    ] Checking for camera pi updates...
[2026-10-20 23:42:17,179.179 INFO    ] 200
[2026-10-20 23:42:17,182.182 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:42:17,223.223 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:42:17,273.273 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:42:17,276.276 INFO    ] No camera update needed
[2026-10-20 23:42:17,279.279 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:42:17,281.281 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:42:17,287.287 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:42:17,293.293 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:42:19,334.334 INFO    ] ================================================
[2026-10-20 23:42:19,350.350 INFO    ] Launching Daemon at Tue Oct 20 23:42:19 IST 2026
[2026-10-20 23:42:19,360.360 INFO    ] ================================================
[2026-10-20 23:42:19,986.986 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:42:19
[2026-10-20 23:42:20,661.661 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:42:20,963.963 INFO    ] Initializing speech engine...
[2026-10-20 23:42:20,971.971 INFO    ] 2026-10-20 23:42:20
[2026-10-20 23:42:21,286.286 INFO    ] 2026-10-20 23:42:21
[2026-10-20 23:42:21,374.374 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:42:21,592.592 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:42:21,598.598 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:42:21,793.793 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:42:21,811.811 INFO    ] time= 20/10/2026 23:42:21
[2026-10-20 23:42:21,821.821 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:42:21,847.847 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:42:21,984.984 INFO    ] No existing commands found in stream
[2026-10-20 23:42:27,020.020 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:42:27,024.024 INFO    ] Waiting 1.51 seconds before fallback handling...
[2026-10-20 23:42:29,086.086 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:42:29,089.089 INFO    ] Checking for system updates...
[2026-10-20 23:42:29,126.126 INFO    ] 200
[2026-10-20 23:42:29,129.129 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:42:29,184.184 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:42:29,186.186 INFO    ] No update needed
[2026-10-20 23:42:29,189.189 INFO    ] Checking for camera pi updates...
[2026-10-20 23:42:29,224.224 INFO    ] 200
[2026-10-20 23:42:29,226.226 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:42:29,270.270 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:42:29,315.315 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:42:29,318.318 INFO    ] No camera update needed
[2026-10-20 23:42:29,320.320 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:42:29,322.322 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:42:29,327.327 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:42:29,332.332 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:42:31,372.372 INFO    ] ================================================
[2026-10-20 23:42:31,387.387 INFO    ] Launching Daemon at Tue Oct 20 23:42:31 IST 2026
[2026-10-20 23:42:31,398.398 INFO    ] ================================================
[2026-10-20 23:42:32,011.011 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:42:32
[2026-10-20 23:42:32,646.646 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:42:32,947.947 INFO    ] Initializing speech engine...
[2026-10-20 23:42:32,954.954 INFO    ] 2026-10-20 23:42:32
[2026-10-20 23:42:33,215.215 INFO    ] 2026-10-20 23:42:33
[2026-10-20 23:42:33,247.247 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:42:33,436.436 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:42:33,454.454 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:42:33,654.654 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:42:33,660.660 INFO    ] time= 20/10/2026 23:42:33
[2026-10-20 23:42:33,720.720 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:42:33,779.779 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:42:33,899.899 INFO    ] No existing commands found in stream
[2026-10-20 23:42:38,921.921 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:42:38,924.924 INFO    ] Waiting 0.63 seconds before fallback handling...
[2026-10-20 23:42:40,044.044 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:42:40,047.047 INFO    ] Checking for system updates...
[2026-10-20 23:42:40,082.082 INFO    ] 200
[2026-10-20 23:42:40,085.085 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:42:40,137.137 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:42:40,140.140 INFO    ] No update needed
[2026-10-20 23:42:40,142.142 INFO    ] Checking for camera pi updates...
[2026-10-20 23:42:40,183.183 INFO    ] 200
[2026-10-20 23:42:40,185.185 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:42:40,227.227 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:42:40,270.270 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:42:40,273.273 INFO    ] No camera update needed
[2026-10-20 23:42:40,275.275 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:42:40,277.277 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:42:40,283.283 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:42:40,287.287 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:42:42,327.327 INFO    ] ================================================
[2026-10-20 23:42:42,343.343 INFO    ] Launching Daemon at Tue Oct 20 23:42:42 IST 2026
[2026-10-20 23:42:42,353.353 INFO    ] ================================================
[2026-10-20 23:42:43,004.004 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:42:43
[2026-10-20 23:42:43,677.677 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:42:43,983.983 INFO    ] Initializing speech engine...
[2026-10-20 23:42:43,991.991 INFO    ] 2026-10-20 23:42:43
[2026-10-20 23:42:44,282.282 INFO    ] 2026-10-20 23:42:44
[2026-10-20 23:42:44,328.328 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:42:44,585.585 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:42:44,604.604 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:42:44,824.824 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:42:44,835.835 INFO    ] time= 20/10/2026 23:42:44
[2026-10-20 23:42:44,857.857 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:42:44,884.884 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:42:45,019.019 INFO    ] No existing commands found in stream
[2026-10-20 23:42:50,050.050 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:42:50,053.053 INFO    ] Waiting 1.94 seconds before fallback handling...
[2026-10-20 23:42:52,521.521 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 23:42:52,524.524 INFO    ] Checking for system updates...
[2026-10-20 23:42:52,562.562 INFO    ] 200
[2026-10-20 23:42:52,565.565 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:42:52,625.625 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:42:52,627.627 INFO    ] No update needed
[2026-10-20 23:42:52,630.630 INFO    ] Checking for camera pi updates...
[2026-10-20 23:42:52,664.664 INFO    ] 200
[2026-10-20 23:42:52,667.667 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:42:52,708.708 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:42:52,759.759 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:42:52,762.762 INFO    ] No camera update needed
[2026-10-20 23:42:52,765.765 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:42:52,767.767 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:42:52,774.774 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:42:52,780.780 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:42:54,822.822 INFO    ] ================================================
[2026-10-20 23:42:54,837.837 INFO    ] Launching Daemon at Tue Oct 20 23:42:54 IST 2026
[2026-10-20 23:42:54,849.849 INFO    ] ================================================
[2026-10-20 23:42:55,421.421 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:42:55
[2026-10-20 23:42:56,011.011 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:42:56,272.272 INFO    ] Initializing speech engine...
[2026-10-20 23:42:56,290.290 INFO    ] 2026-10-20 23:42:56
[2026-10-20 23:42:56,543.543 INFO    ] 2026-10-20 23:42:56
[2026-10-20 23:42:56,579.579 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:42:56,841.841 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:42:56,846.846 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:42:56,983.983 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:42:57,023.023 INFO    ] time= 20/10/2026 23:42:56
[2026-10-20 23:42:57,082.082 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:42:57,118.118 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:42:57,253.253 INFO    ] No existing commands found in stream
[2026-10-20 23:43:02,279.279 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:43:02,282.282 INFO    ] Waiting 3.62 seconds before fallback handling...
[2026-10-20 23:43:06,446.446 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:43:06,449.449 INFO    ] Checking for system updates...
[2026-10-20 23:43:06,485.485 INFO    ] 200
[2026-10-20 23:43:06,487.487 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:43:06,538.538 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:43:06,541.541 INFO    ] No update needed
[2026-10-20 23:43:06,544.544 INFO    ] Checking for camera pi updates...
[2026-10-20 23:43:06,577.577 INFO    ] 200
[2026-10-20 23:43:06,579.579 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:43:06,624.624 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:43:06,681.681 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:43:06,684.684 INFO    ] No camera update needed
[2026-10-20 23:43:06,686.686 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:43:06,688.688 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:43:06,694.694 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:43:06,699.699 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:43:08,740.740 INFO    ] ================================================
[2026-10-20 23:43:08,755.755 INFO    ] Launching Daemon at Tue Oct 20 23:43:08 IST 2026
[2026-10-20 23:43:08,766.766 INFO    ] ================================================
[2026-10-20 23:43:09,331.331 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:43:09
[2026-10-20 23:43:09,916.916 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:43:10,170.170 INFO    ] Initializing speech engine...
[2026-10-20 23:43:10,179.179 INFO    ] 2026-10-20 23:43:10
[2026-10-20 23:43:10,468.468 INFO    ] 2026-10-20 23:43:10
[2026-10-20 23:43:10,506.506 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:43:10,792.792 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:43:10,800.800 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:43:10,953.953 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:43:10,988.988 INFO    ] time= 20/10/2026 23:43:10
[2026-10-20 23:43:11,032.032 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:43:11,081.081 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:43:11,248.248 INFO    ] No existing commands found in stream
[2026-10-20 23:43:16,277.277 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:43:16,280.280 INFO    ] Waiting 0.99 seconds before fallback handling...
[2026-10-20 23:43:17,764.764 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:43:17,767.767 INFO    ] Checking for system updates...
[2026-10-20 23:43:17,802.802 INFO    ] 200
[2026-10-20 23:43:17,804.804 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:43:17,862.862 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:43:17,864.864 INFO    ] No update needed
[2026-10-20 23:43:17,866.866 INFO    ] Checking for camera pi updates...
[2026-10-20 23:43:17,902.902 INFO    ] 200
[2026-10-20 23:43:17,905.905 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:43:17,944.944 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:43:17,992.992 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:43:17,994.994 INFO    ] No camera update needed
[2026-10-20 23:43:17,997.997 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:43:17,999.999 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:43:18,005.005 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:43:18,010.010 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:43:20,050.050 INFO    ] ================================================
[2026-10-20 23:43:20,065.065 INFO    ] Launching Daemon at Tue Oct 20 23:43:20 IST 2026
[2026-10-20 23:43:20,076.076 INFO    ] ================================================
[2026-10-20 23:43:20,713.713 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:43:20
[2026-10-20 23:43:21,367.367 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:43:21,668.668 INFO    ] Initializing speech engine...
[2026-10-20 23:43:21,682.682 INFO    ] 2026-10-20 23:43:21
[2026-10-20 23:43:21,960.960 INFO    ] 2026-10-20 23:43:21
[2026-10-20 23:43:22,007.007 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:43:22,263.263 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:43:22,281.281 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:43:22,498.498 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:43:22,509.509 INFO    ] time= 20/10/2026 23:43:22
[2026-10-20 23:43:22,528.528 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:43:22,557.557 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:43:22,707.707 INFO    ] No existing commands found in stream
[2026-10-20 23:43:27,738.738 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:43:27,741.741 INFO    ] Waiting 1.47 seconds before fallback handling...
[2026-10-20 23:43:29,739.739 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:43:29,741.741 INFO    ] Checking for system updates...
[2026-10-20 23:43:29,777.777 INFO    ] 200
[2026-10-20 23:43:29,780.780 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:43:29,835.835 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:43:29,837.837 INFO    ] No update needed
[2026-10-20 23:43:29,840.840 INFO    ] Checking for camera pi updates...
[2026-10-20 23:43:29,873.873 INFO    ] 200
[2026-10-20 23:43:29,875.875 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:43:29,915.915 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:43:29,969.969 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:43:29,971.971 INFO    ] No camera update needed
[2026-10-20 23:43:29,974.974 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:43:29,976.976 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:43:29,981.981 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:43:29,986.986 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:43:32,027.027 INFO    ] ================================================
[2026-10-20 23:43:32,044.044 INFO    ] Launching Daemon at Tue Oct 20 23:43:32 IST 2026
[2026-10-20 23:43:32,055.055 INFO    ] ================================================
[2026-10-20 23:43:32,664.664 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:43:32
[2026-10-20 23:43:33,283.283 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:43:33,563.563 INFO    ] Initializing speech engine...
[2026-10-20 23:43:33,571.571 INFO    ] 2026-10-20 23:43:33
[2026-10-20 23:43:33,831.831 INFO    ] 2026-10-20 23:43:33
[2026-10-20 23:43:33,885.885 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:43:34,164.164 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:43:34,172.172 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:43:34,364.364 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:43:34,372.372 INFO    ] time= 20/10/2026 23:43:34
[2026-10-20 23:43:34,392.392 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:43:34,418.418 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:43:34,534.534 INFO    ] No existing commands found in stream
[2026-10-20 23:43:39,564.564 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:43:39,567.567 INFO    ] Waiting 1.96 seconds before fallback handling...
[2026-10-20 23:43:42,058.058 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:43:42,061.061 INFO    ] Checking for system updates...
[2026-10-20 23:43:42,097.097 INFO    ] 200
[2026-10-20 23:43:42,100.100 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:43:42,154.154 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:43:42,157.157 INFO    ] No update needed
[2026-10-20 23:43:42,160.160 INFO    ] Checking for camera pi updates...
[2026-10-20 23:43:42,195.195 INFO    ] 200
[2026-10-20 23:43:42,197.197 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:43:42,238.238 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:43:42,286.286 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:43:42,289.289 INFO    ] No camera update needed
[2026-10-20 23:43:42,292.292 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:43:42,294.294 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:43:42,300.300 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:43:42,306.306 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:43:44,348.348 INFO    ] ================================================
[2026-10-20 23:43:44,363.363 INFO    ] Launching Daemon at Tue Oct 20 23:43:44 IST 2026
[2026-10-20 23:43:44,374.374 INFO    ] ================================================
[2026-10-20 23:43:44,954.954 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:43:44
[2026-10-20 23:43:45,555.555 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:43:45,817.817 INFO    ] Initializing speech engine...
[2026-10-20 23:43:45,844.844 INFO    ] 2026-10-20 23:43:45
[2026-10-20 23:43:46,114.114 INFO    ] 2026-10-20 23:43:46
[2026-10-20 23:43:46,152.152 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:43:46,373.373 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:43:46,401.401 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:43:46,599.599 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:43:46,621.621 INFO    ] time= 20/10/2026 23:43:46
[2026-10-20 23:43:46,676.676 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:43:46,730.730 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:43:46,876.876 INFO    ] No existing commands found in stream
[2026-10-20 23:43:51,891.891 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:43:51,894.894 INFO    ] Waiting 3.01 seconds before fallback handling...
[2026-10-20 23:43:55,398.398 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:43:55,401.401 INFO    ] Checking for system updates...
[2026-10-20 23:43:55,437.437 INFO    ] 200
[2026-10-20 23:43:55,440.440 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:43:55,493.493 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:43:55,496.496 INFO    ] No update needed
[2026-10-20 23:43:55,498.498 INFO    ] Checking for camera pi updates...
[2026-10-20 23:43:55,536.536 INFO    ] 200
[2026-10-20 23:43:55,539.539 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:43:55,584.584 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:43:55,634.634 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:43:55,637.637 INFO    ] No camera update needed
[2026-10-20 23:43:55,640.640 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:43:55,642.642 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:43:55,648.648 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:43:55,654.654 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:43:57,694.694 INFO    ] ================================================
[2026-10-20 23:43:57,711.711 INFO    ] Launching Daemon at Tue Oct 20 23:43:57 IST 2026
[2026-10-20 23:43:57,722.722 INFO    ] ================================================
[2026-10-20 23:43:58,288.288 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:43:58
[2026-10-20 23:43:58,874.874 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:43:59,135.135 INFO    ] Initializing speech engine...
[2026-10-20 23:43:59,149.149 INFO    ] 2026-10-20 23:43:59
[2026-10-20 23:43:59,430.430 INFO    ] 2026-10-20 23:43:59
[2026-10-20 23:43:59,467.467 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:43:59,661.661 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:43:59,676.676 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:43:59,902.902 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:43:59,914.914 INFO    ] time= 20/10/2026 23:43:59
[2026-10-20 23:43:59,936.936 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:43:59,995.995 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:44:00,115.115 INFO    ] No existing commands found in stream
[2026-10-20 23:44:05,126.126 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:44:05,129.129 INFO    ] Waiting 0.60 seconds before fallback handling...
[2026-10-20 23:44:06,253.253 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:44:06,256.256 INFO    ] Checking for system updates...
[2026-10-20 23:44:06,291.291 INFO    ] 200
[2026-10-20 23:44:06,293.293 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:44:06,349.349 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:44:06,352.352 INFO    ] No update needed
[2026-10-20 23:44:06,354.354 INFO    ] Checking for camera pi updates...
[2026-10-20 23:44:06,387.387 INFO    ] 200
[2026-10-20 23:44:06,390.390 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:44:06,434.434 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:44:06,580.580 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:44:06,583.583 INFO    ] No camera update needed
[2026-10-20 23:44:06,585.585 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:44:06,587.587 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:44:06,593.593 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:44:06,597.597 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:44:08,642.642 INFO    ] ================================================
[2026-10-20 23:44:08,657.657 INFO    ] Launching Daemon at Tue Oct 20 23:44:08 IST 2026
[2026-10-20 23:44:08,668.668 INFO    ] ================================================
[2026-10-20 23:44:09,310.310 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:44:09
[2026-10-20 23:44:09,973.973 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:44:10,278.278 INFO    ] Initializing speech engine...
[2026-10-20 23:44:10,285.285 INFO    ] 2026-10-20 23:44:10
[2026-10-20 23:44:10,573.573 INFO    ] 2026-10-20 23:44:10
[2026-10-20 23:44:10,621.621 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:44:10,877.877 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:44:10,896.896 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:44:11,113.113 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:44:11,124.124 INFO    ] time= 20/10/2026 23:44:11
[2026-10-20 23:44:11,142.142 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:44:11,153.153 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:44:11,287.287 INFO    ] No existing commands found in stream
[2026-10-20 23:44:16,322.322 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:44:16,325.325 INFO    ] Waiting 3.35 seconds before fallback handling...
[2026-10-20 23:44:20,192.192 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:44:20,195.195 INFO    ] Checking for system updates...
[2026-10-20 23:44:20,232.232 INFO    ] 200
[2026-10-20 23:44:20,234.234 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:44:20,286.286 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:44:20,289.289 INFO    ] No update needed
[2026-10-20 23:44:20,291.291 INFO    ] Checking for camera pi updates...
[2026-10-20 23:44:20,324.324 INFO    ] 200
[2026-10-20 23:44:20,327.327 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:44:20,372.372 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:44:20,423.423 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:44:20,425.425 INFO    ] No camera update needed
[2026-10-20 23:44:20,427.427 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:44:20,430.430 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:44:20,435.435 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:44:20,440.440 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:44:22,479.479 INFO    ] ================================================
[2026-10-20 23:44:22,494.494 INFO    ] Launching Daemon at Tue Oct 20 23:44:22 IST 2026
[2026-10-20 23:44:22,505.505 INFO    ] ================================================
[2026-10-20 23:44:23,133.133 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:44:23
[2026-10-20 23:44:23,717.717 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:44:23,986.986 INFO    ] Initializing speech engine...
[2026-10-20 23:44:23,996.996 INFO    ] 2026-10-20 23:44:23
[2026-10-20 23:44:24,247.247 INFO    ] 2026-10-20 23:44:24
[2026-10-20 23:44:24,282.282 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:44:24,484.484 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:44:24,534.534 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:44:24,686.686 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:44:24,747.747 INFO    ] time= 20/10/2026 23:44:24
[2026-10-20 23:44:24,796.796 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:44:24,821.821 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:44:24,969.969 INFO    ] No existing commands found in stream
[2026-10-20 23:44:29,984.984 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:44:29,987.987 INFO    ] Waiting 1.87 seconds before fallback handling...
[2026-10-20 23:44:32,374.374 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:44:32,377.377 INFO    ] Checking for system updates...
[2026-10-20 23:44:32,415.415 INFO    ] 200
[2026-10-20 23:44:32,418.418 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:44:32,475.475 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:44:32,478.478 INFO    ] No update needed
[2026-10-20 23:44:32,481.481 INFO    ] Checking for camera pi updates...
[2026-10-20 23:44:32,516.516 INFO    ] 200
[2026-10-20 23:44:32,519.519 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:44:32,564.564 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:44:32,607.607 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:44:32,610.610 INFO    ] No camera update needed
[2026-10-20 23:44:32,612.612 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:44:32,615.615 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:44:32,621.621 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:44:32,627.627 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:44:34,667.667 INFO    ] ================================================
[2026-10-20 23:44:34,682.682 INFO    ] Launching Daemon at Tue Oct 20 23:44:34 IST 2026
[2026-10-20 23:44:34,693.693 INFO    ] ================================================
[2026-10-20 23:44:35,256.256 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:44:35
[2026-10-20 23:44:35,838.838 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:44:36,108.108 INFO    ] Initializing speech engine...
[2026-10-20 23:44:36,114.114 INFO    ] 2026-10-20 23:44:36
[2026-10-20 23:44:36,370.370 INFO    ] 2026-10-20 23:44:36
[2026-10-20 23:44:36,401.401 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:44:36,668.668 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:44:36,675.675 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:44:36,899.899 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:44:36,913.913 INFO    ] time= 20/10/2026 23:44:36
[2026-10-20 23:44:36,931.931 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:44:36,959.959 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:44:37,094.094 INFO    ] No existing commands found in stream
[2026-10-20 23:44:42,124.124 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:44:42,127.127 INFO    ] Waiting 0.15 seconds before fallback handling...
[2026-10-20 23:44:42,753.753 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:44:42,755.755 INFO    ] Checking for system updates...
[2026-10-20 23:44:42,795.795 INFO    ] 200
[2026-10-20 23:44:42,798.798 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:44:42,850.850 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:44:42,852.852 INFO    ] No update needed
[2026-10-20 23:44:42,854.854 INFO    ] Checking for camera pi updates...
[2026-10-20 23:44:42,887.887 INFO    ] 200
[2026-10-20 23:44:42,890.890 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:44:42,930.930 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:44:42,980.980 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:44:42,982.982 INFO    ] No camera update needed
[2026-10-20 23:44:42,984.984 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:44:42,987.987 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:44:42,992.992 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:44:42,997.997 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:44:45,040.040 INFO    ] ================================================
[2026-10-20 23:44:45,056.056 INFO    ] Launching Daemon at Tue Oct 20 23:44:45 IST 2026
[2026-10-20 23:44:45,067.067 INFO    ] ================================================
[2026-10-20 23:44:46,035.035 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:44:45
[2026-10-20 23:44:46,695.695 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:44:46,994.994 INFO    ] Initializing speech engine...
[2026-10-20 23:44:47,002.002 INFO    ] 2026-10-20 23:44:46
[2026-10-20 23:44:47,295.295 INFO    ] 2026-10-20 23:44:47
[2026-10-20 23:44:47,405.405 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:44:47,655.655 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:44:47,687.687 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:44:47,841.841 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:44:47,869.869 INFO    ] time= 20/10/2026 23:44:47
[2026-10-20 23:44:47,877.877 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:44:47,886.886 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:44:48,046.046 INFO    ] No existing commands found in stream
[2026-10-20 23:44:53,072.072 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:44:53,075.075 INFO    ] Waiting 2.69 seconds before fallback handling...
[2026-10-20 23:44:56,261.261 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:44:56,264.264 INFO    ] Checking for system updates...
[2026-10-20 23:44:56,300.300 INFO    ] 200
[2026-10-20 23:44:56,302.302 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:44:56,355.355 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:44:56,357.357 INFO    ] No update needed
[2026-10-20 23:44:56,360.360 INFO    ] Checking for camera pi updates...
[2026-10-20 23:44:56,396.396 INFO    ] 200
[2026-10-20 23:44:56,399.399 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:44:56,443.443 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:44:56,501.501 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:44:56,504.504 INFO    ] No camera update needed
[2026-10-20 23:44:56,506.506 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:44:56,508.508 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:44:56,514.514 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:44:56,519.519 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:44:58,558.558 INFO    ] ================================================
[2026-10-20 23:44:58,574.574 INFO    ] Launching Daemon at Tue Oct 20 23:44:58 IST 2026
[2026-10-20 23:44:58,585.585 INFO    ] ================================================
[2026-10-20 23:44:59,231.231 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:44:59
[2026-10-20 23:44:59,831.831 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:45:00,104.104 INFO    ] Initializing speech engine...
[2026-10-20 23:45:00,114.114 INFO    ] 2026-10-20 23:45:00
[2026-10-20 23:45:00,374.374 INFO    ] 2026-10-20 23:45:00
[2026-10-20 23:45:00,405.405 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:45:00,650.650 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:45:00,660.660 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:45:00,866.866 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:45:00,918.918 INFO    ] time= 20/10/2026 23:45:00
[2026-10-20 23:45:00,924.924 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:45:00,940.940 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:45:01,073.073 INFO    ] No existing commands found in stream
[2026-10-20 23:45:06,088.088 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:45:06,091.091 INFO    ] Waiting 3.33 seconds before fallback handling...
[2026-10-20 23:45:09,910.910 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:45:09,912.912 INFO    ] Checking for system updates...
[2026-10-20 23:45:09,948.948 INFO    ] 200
[2026-10-20 23:45:09,950.950 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:45:10,004.004 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:45:10,006.006 INFO    ] No update needed
[2026-10-20 23:45:10,009.009 INFO    ] Checking for camera pi updates...
[2026-10-20 23:45:10,045.045 INFO    ] 200
[2026-10-20 23:45:10,048.048 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:45:10,088.088 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:45:10,135.135 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:45:10,138.138 INFO    ] No camera update needed
[2026-10-20 23:45:10,141.141 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:45:10,143.143 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:45:10,148.148 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:45:10,154.154 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:45:12,194.194 INFO    ] ================================================
[2026-10-20 23:45:12,210.210 INFO    ] Launching Daemon at Tue Oct 20 23:45:12 IST 2026
[2026-10-20 23:45:12,221.221 INFO    ] ================================================
[2026-10-20 23:45:12,870.870 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:45:12
[2026-10-20 23:45:13,537.537 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:45:13,836.836 INFO    ] Initializing speech engine...
[2026-10-20 23:45:13,845.845 INFO    ] 2026-10-20 23:45:13
[2026-10-20 23:45:14,118.118 INFO    ] 2026-10-20 23:45:14
[2026-10-20 23:45:14,172.172 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:45:14,404.404 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:45:14,430.430 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:45:14,635.635 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:45:14,669.669 INFO    ] time= 20/10/2026 23:45:14
[2026-10-20 23:45:14,685.685 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:45:14,695.695 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:45:14,863.863 INFO    ] No existing commands found in stream
[2026-10-20 23:45:19,894.894 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:45:19,897.897 INFO    ] Waiting 2.06 seconds before fallback handling...
[2026-10-20 23:45:22,558.558 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:45:22,561.561 INFO    ] Checking for system updates...
[2026-10-20 23:45:22,597.597 INFO    ] 200
[2026-10-20 23:45:22,601.601 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:45:22,660.660 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:45:22,663.663 INFO    ] No update needed
[2026-10-20 23:45:22,666.666 INFO    ] Checking for camera pi updates...
[2026-10-20 23:45:22,703.703 INFO    ] 200
[2026-10-20 23:45:22,706.706 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:45:22,748.748 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:45:22,781.781 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:45:22,783.783 INFO    ] No camera update needed
[2026-10-20 23:45:22,786.786 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:45:22,789.789 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:45:22,795.795 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:45:22,801.801 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:45:24,842.842 INFO    ] ================================================
[2026-10-20 23:45:24,858.858 INFO    ] Launching Daemon at Tue Oct 20 23:45:24 IST 2026
[2026-10-20 23:45:24,869.869 INFO    ] ================================================
[2026-10-20 23:45:25,435.435 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:45:25
[2026-10-20 23:45:26,022.022 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:45:26,278.278 INFO    ] Initializing speech engine...
[2026-10-20 23:45:26,287.287 INFO    ] 2026-10-20 23:45:26
[2026-10-20 23:45:26,581.581 INFO    ] 2026-10-20 23:45:26
[2026-10-20 23:45:26,618.618 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:45:26,814.814 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:45:26,829.829 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:45:26,990.990 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:45:27,000.000 INFO    ] time= 20/10/2026 23:45:26
[2026-10-20 23:45:27,008.008 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:45:27,030.030 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:45:27,170.170 INFO    ] No existing commands found in stream
[2026-10-20 23:45:32,190.190 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:45:32,193.193 INFO    ] Waiting 0.48 seconds before fallback handling...
[2026-10-20 23:45:33,181.181 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 23:45:33,184.184 INFO    ] Checking for system updates...
[2026-10-20 23:45:33,223.223 INFO    ] 200
[2026-10-20 23:45:33,225.225 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:45:33,285.285 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:45:33,287.287 INFO    ] No update needed
[2026-10-20 23:45:33,290.290 INFO    ] Checking for camera pi updates...
[2026-10-20 23:45:33,327.327 INFO    ] 200
[2026-10-20 23:45:33,329.329 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:45:33,374.374 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:45:33,424.424 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:45:33,426.426 INFO    ] No camera update needed
[2026-10-20 23:45:33,428.428 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:45:33,431.431 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:45:33,436.436 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:45:33,441.441 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:45:35,484.484 INFO    ] ================================================
[2026-10-20 23:45:35,499.499 INFO    ] Launching Daemon at Tue Oct 20 23:45:35 IST 2026
[2026-10-20 23:45:35,511.511 INFO    ] ================================================
[2026-10-20 23:45:36,079.079 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:45:36
[2026-10-20 23:45:36,664.664 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:45:36,925.925 INFO    ] Initializing speech engine...
[2026-10-20 23:45:36,944.944 INFO    ] 2026-10-20 23:45:36
[2026-10-20 23:45:37,194.194 INFO    ] 2026-10-20 23:45:37
[2026-10-20 23:45:37,236.236 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:45:37,431.431 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:45:37,490.490 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:45:37,634.634 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:45:37,688.688 INFO    ] time= 20/10/2026 23:45:37
[2026-10-20 23:45:37,737.737 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:45:37,769.769 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:45:37,895.895 INFO    ] No existing commands found in stream
[2026-10-20 23:45:42,924.924 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:45:42,927.927 INFO    ] Waiting 2.15 seconds before fallback handling...
[2026-10-20 23:45:45,570.570 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 23:45:45,573.573 INFO    ] Checking for system updates...
[2026-10-20 23:45:45,608.608 INFO    ] 200
[2026-10-20 23:45:45,610.610 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:45:45,662.662 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:45:45,664.664 INFO    ] No update needed
[2026-10-20 23:45:45,667.667 INFO    ] Checking for camera pi updates...
[2026-10-20 23:45:45,700.700 INFO    ] 200
[2026-10-20 23:45:45,702.702 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:45:45,747.747 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:45:45,794.794 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:45:45,797.797 INFO    ] No camera update needed
[2026-10-20 23:45:45,799.799 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:45:45,802.802 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:45:45,807.807 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:45:45,812.812 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:45:47,854.854 INFO    ] ================================================
[2026-10-20 23:45:47,881.881 INFO    ] Launching Daemon at Tue Oct 20 23:45:47 IST 2026
[2026-10-20 23:45:47,892.892 INFO    ] ================================================
[2026-10-20 23:45:48,493.493 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:45:48
[2026-10-20 23:45:49,082.082 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:45:49,349.349 INFO    ] Initializing speech engine...
[2026-10-20 23:45:49,374.374 INFO    ] 2026-10-20 23:45:49
[2026-10-20 23:45:49,653.653 INFO    ] 2026-10-20 23:45:49
[2026-10-20 23:45:49,690.690 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:45:49,889.889 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:45:49,903.903 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:45:50,071.071 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:45:50,077.077 INFO    ] time= 20/10/2026 23:45:50
[2026-10-20 23:45:50,084.084 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:45:50,128.128 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:45:50,261.261 INFO    ] No existing commands found in stream
[2026-10-20 23:45:55,286.286 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:45:55,289.289 INFO    ] Waiting 1.99 seconds before fallback handling...
[2026-10-20 23:45:58,036.036 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 23:45:58,039.039 INFO    ] Checking for system updates...
[2026-10-20 23:45:58,074.074 INFO    ] 200
[2026-10-20 23:45:58,077.077 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:45:58,132.132 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:45:58,135.135 INFO    ] No update needed
[2026-10-20 23:45:58,137.137 INFO    ] Checking for camera pi updates...
[2026-10-20 23:45:58,170.170 INFO    ] 200
[2026-10-20 23:45:58,173.173 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:45:58,217.217 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:45:58,264.264 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:45:58,266.266 INFO    ] No camera update needed
[2026-10-20 23:45:58,269.269 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:45:58,271.271 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:45:58,276.276 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:45:58,281.281 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:46:00,327.327 INFO    ] ================================================
[2026-10-20 23:46:00,343.343 INFO    ] Launching Daemon at Tue Oct 20 23:46:00 IST 2026
[2026-10-20 23:46:00,353.353 INFO    ] ================================================
[2026-10-20 23:46:01,010.010 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:46:01
[2026-10-20 23:46:01,682.682 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:46:01,985.985 INFO    ] Initializing speech engine...
[2026-10-20 23:46:02,001.001 INFO    ] 2026-10-20 23:46:01
[2026-10-20 23:46:02,387.387 INFO    ] 2026-10-20 23:46:02
[2026-10-20 23:46:02,423.423 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:46:02,679.679 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:46:02,699.699 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:46:02,881.881 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:46:02,891.891 INFO    ] time= 20/10/2026 23:46:02
[2026-10-20 23:46:02,920.920 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:46:02,923.923 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:46:02,998.998 INFO    ] No existing commands found in stream
[2026-10-20 23:46:08,029.029 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:46:08,032.032 INFO    ] Waiting 0.35 seconds before fallback handling...
[2026-10-20 23:46:08,902.902 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 23:46:08,905.905 INFO    ] Checking for system updates...
[2026-10-20 23:46:08,946.946 INFO    ] 200
[2026-10-20 23:46:08,948.948 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:46:09,008.008 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:46:09,011.011 INFO    ] No update needed
[2026-10-20 23:46:09,014.014 INFO    ] Checking for camera pi updates...
[2026-10-20 23:46:09,052.052 INFO    ] 200
[2026-10-20 23:46:09,055.055 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:46:09,100.100 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:46:09,235.235 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:46:09,238.238 INFO    ] No camera update needed
[2026-10-20 23:46:09,240.240 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:46:09,243.243 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:46:09,249.249 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:46:09,255.255 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:46:11,297.297 INFO    ] ================================================
[2026-10-20 23:46:11,312.312 INFO    ] Launching Daemon at Tue Oct 20 23:46:11 IST 2026
[2026-10-20 23:46:11,323.323 INFO    ] ================================================
[2026-10-20 23:46:11,890.890 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:46:11
[2026-10-20 23:46:12,474.474 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:46:12,727.727 INFO    ] Initializing speech engine...
[2026-10-20 23:46:12,750.750 INFO    ] 2026-10-20 23:46:12
[2026-10-20 23:46:13,008.008 INFO    ] 2026-10-20 23:46:12
[2026-10-20 23:46:13,043.043 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:46:13,307.307 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:46:13,312.312 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:46:13,452.452 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:46:13,506.506 INFO    ] time= 20/10/2026 23:46:13
[2026-10-20 23:46:13,555.555 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:46:13,587.587 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:46:13,742.742 INFO    ] No existing commands found in stream
[2026-10-20 23:46:18,757.757 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:46:18,760.760 INFO    ] Waiting 3.37 seconds before fallback handling...
[2026-10-20 23:46:22,627.627 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 23:46:22,629.629 INFO    ] Checking for system updates...
[2026-10-20 23:46:22,664.664 INFO    ] 200
[2026-10-20 23:46:22,667.667 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:46:22,718.718 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:46:22,721.721 INFO    ] No update needed
[2026-10-20 23:46:22,723.723 INFO    ] Checking for camera pi updates...
[2026-10-20 23:46:22,756.756 INFO    ] 200
[2026-10-20 23:46:22,759.759 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:46:22,800.800 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:46:22,845.845 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:46:22,847.847 INFO    ] No camera update needed
[2026-10-20 23:46:22,850.850 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:46:22,852.852 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:46:22,857.857 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:46:22,862.862 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:46:24,901.901 INFO    ] ================================================
[2026-10-20 23:46:24,916.916 INFO    ] Launching Daemon at Tue Oct 20 23:46:24 IST 2026
[2026-10-20 23:46:24,926.926 INFO    ] ================================================
[2026-10-20 23:46:25,492.492 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:46:25
[2026-10-20 23:46:26,078.078 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:46:26,334.334 INFO    ] Initializing speech engine...
[2026-10-20 23:46:26,343.343 INFO    ] 2026-10-20 23:46:26
[2026-10-20 23:46:26,640.640 INFO    ] 2026-10-20 23:46:26
[2026-10-20 23:46:26,675.675 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:46:26,879.879 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:46:26,892.892 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:46:27,041.041 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:46:27,063.063 INFO    ] time= 20/10/2026 23:46:27
[2026-10-20 23:46:27,071.071 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:46:27,079.079 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:46:27,182.182 INFO    ] No existing commands found in stream
[2026-10-20 23:46:32,207.207 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:46:32,210.210 INFO    ] Waiting 0.81 seconds before fallback handling...
[2026-10-20 23:46:33,509.509 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 23:46:33,512.512 INFO    ] Checking for system updates...
[2026-10-20 23:46:33,552.552 INFO    ] 200
[2026-10-20 23:46:33,554.554 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:46:33,613.613 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:46:33,616.616 INFO    ] No update needed
[2026-10-20 23:46:33,618.618 INFO    ] Checking for camera pi updates...
[2026-10-20 23:46:33,656.656 INFO    ] 200
[2026-10-20 23:46:33,658.658 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:46:33,699.699 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:46:33,749.749 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:46:33,751.751 INFO    ] No camera update needed
[2026-10-20 23:46:33,753.753 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:46:33,756.756 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:46:33,761.761 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:46:33,766.766 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:46:35,807.807 INFO    ] ================================================
[2026-10-20 23:46:35,822.822 INFO    ] Launching Daemon at Tue Oct 20 23:46:35 IST 2026
[2026-10-20 23:46:35,834.834 INFO    ] ================================================
[2026-10-20 23:46:36,401.401 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:46:36
[2026-10-20 23:46:36,987.987 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:46:37,248.248 INFO    ] Initializing speech engine...
[2026-10-20 23:46:37,254.254 INFO    ] 2026-10-20 23:46:37
[2026-10-20 23:46:37,550.550 INFO    ] 2026-10-20 23:46:37
[2026-10-20 23:46:37,585.585 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:46:37,799.799 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:46:37,818.818 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:46:37,968.968 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:46:37,976.976 INFO    ] time= 20/10/2026 23:46:37
[2026-10-20 23:46:37,984.984 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:46:38,011.011 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:46:38,142.142 INFO    ] No existing commands found in stream
[2026-10-20 23:46:43,162.162 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:46:43,165.165 INFO    ] Waiting 0.94 seconds before fallback handling...
[2026-10-20 23:46:44,592.592 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 23:46:44,594.594 INFO    ] Checking for system updates...
[2026-10-20 23:46:44,629.629 INFO    ] 200
[2026-10-20 23:46:44,632.632 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:46:44,685.685 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:46:44,687.687 INFO    ] No update needed
[2026-10-20 23:46:44,690.690 INFO    ] Checking for camera pi updates...
[2026-10-20 23:46:44,723.723 INFO    ] 200
[2026-10-20 23:46:44,725.725 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:46:44,765.765 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:46:44,813.813 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:46:44,816.816 INFO    ] No camera update needed
[2026-10-20 23:46:44,819.819 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:46:44,822.822 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:46:44,829.829 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:46:44,835.835 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:46:46,877.877 INFO    ] ================================================
[2026-10-20 23:46:46,892.892 INFO    ] Launching Daemon at Tue Oct 20 23:46:46 IST 2026
[2026-10-20 23:46:46,903.903 INFO    ] ================================================
[2026-10-20 23:46:47,567.567 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:46:47
[2026-10-20 23:46:48,247.247 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:46:48,552.552 INFO    ] Initializing speech engine...
[2026-10-20 23:46:48,566.566 INFO    ] 2026-10-20 23:46:48
[2026-10-20 23:46:48,854.854 INFO    ] 2026-10-20 23:46:48
[2026-10-20 23:46:48,894.894 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:46:49,174.174 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:46:49,183.183 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:46:49,377.377 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:46:49,384.384 INFO    ] time= 20/10/2026 23:46:49
[2026-10-20 23:46:49,405.405 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:46:49,432.432 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:46:49,575.575 INFO    ] Found 1 existing command(s) in stream
[2026-10-20 23:46:49,641.641 INFO    ] Checking historical command: ID=1792520207013-0
[2026-10-20 23:46:49,680.680 INFO    ] process_and_cleanup_command: msg_id=1792520207013-0
[2026-10-20 23:46:49,735.735 INFO    ] is_command_expired: timestamp=2026-10-20T18:16:46.878Z, expiry=30s
[2026-10-20 23:46:49,995.995 INFO    ] Command removed from stream: 1792520207013-0. returning for processing...
[2026-10-20 23:46:50,012.012 INFO    ] ***** get_valid_command
[2026-10-20 23:46:50,052.052 INFO    ] {'timestamp': '2026-10-20T18:16:46.878Z', 'timeout': '10', 'source': 'webapp', 'data': '{"request_id":"start-order-1792520206878-uxuqiiv0u","orderId":"TM04202203261020234555718","is_vending":false}', 'command': 'start-order'}
[2026-10-20 23:46:50,067.067 INFO    ] ***** Parsed command data: {'is_vending': False, 'request_id': 'start-order-1792520206878-uxuqiiv0u', 'orderId': 'TM04202203261020234555718'}
[2026-10-20 23:46:50,071.071 INFO    ] Handling start order...
[2026-10-20 23:46:50,121.121 INFO    ] handle_start_order_command
[2026-10-20 23:46:50,135.135 INFO    ] _send_start_order_success: request_id=start-order-1792520206878-uxuqiiv0u, order_id=TM04202203261020234555718
[2026-10-20 23:46:50,141.141 INFO    ] [_send_start_order_success] Adding message to stream: machine:TM04202203
[2026-10-20 23:46:50,281.281 INFO    ] [_send_start_order_success] Message added to stream with ID: 1792520210415-0
[2026-10-20 23:46:50,287.287 INFO    ] ✅ Start-order command succeeded - order locked, waiting for process-order command
[2026-10-20 23:46:50,293.293 INFO    ] Checking for system updates...
[2026-10-20 23:46:50,345.345 INFO    ] 200
[2026-10-20 23:46:50,352.352 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:46:50,416.416 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:46:50,421.421 INFO    ] No update needed
[2026-10-20 23:46:50,429.429 INFO    ] Checking for camera pi updates...
[2026-10-20 23:46:50,469.469 INFO    ] 200
[2026-10-20 23:46:50,475.475 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:46:50,536.536 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:46:50,601.601 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:46:50,604.604 INFO    ] No camera update needed
[2026-10-20 23:46:50,608.608 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:46:50,668.668 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:46:50,734.734 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:46:50,788.788 INFO    ] Thread: Thread-1, daemon=True, alive=True
[2026-10-20 23:46:50,843.843 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:46:52,895.895 INFO    ] ================================================
[2026-10-20 23:46:52,910.910 INFO    ] Launching Daemon at Tue Oct 20 23:46:52 IST 2026
[2026-10-20 23:46:52,922.922 INFO    ] ================================================
[2026-10-20 23:46:53,495.495 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:46:53
[2026-10-20 23:46:54,098.098 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:46:54,375.375 INFO    ] Initializing speech engine...
[2026-10-20 23:46:54,382.382 INFO    ] 2026-10-20 23:46:54
[2026-10-20 23:46:54,632.632 INFO    ] 2026-10-20 23:46:54
[2026-10-20 23:46:54,667.667 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:46:54,866.866 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:46:54,924.924 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:46:55,076.076 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:46:55,127.127 INFO    ] time= 20/10/2026 23:46:55
[2026-10-20 23:46:55,171.171 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:46:55,220.220 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:46:55,363.363 INFO    ] Found 2 existing command(s) in stream
[2026-10-20 23:46:55,407.407 INFO    ] Checking historical command: ID=1792520210415-0
[2026-10-20 23:46:55,429.429 INFO    ] process_and_cleanup_command: msg_id=1792520210415-0
[2026-10-20 23:46:55,463.463 INFO    ] is_command_expired: timestamp=2026-10-20T18:16:50.137164Z, expiry=30s
[2026-10-20 23:46:55,709.709 INFO    ] Command removed from stream: 1792520210415-0. returning for processing...
[2026-10-20 23:46:55,747.747 INFO    ] ***** get_valid_command
[2026-10-20 23:46:55,796.796 INFO    ] {'timestamp': '2026-10-20T18:16:50.137164Z', 'metadata_order_id': 'TM04202203261020234555718', 'message_type': 'command_response', 'message': 'start-order success', 'imei': 'TM04202203', 'status': 'success', 'metadata_request_id': 'start-order-1792520206878-uxuqiiv0u'}
[2026-10-20 23:46:55,800.800 INFO    ] Checking historical command: ID=1792520211572-0
[2026-10-20 23:46:55,811.811 INFO    ] process_and_cleanup_command: msg_id=1792520211572-0
[2026-10-20 23:46:55,815.815 INFO    ] is_command_expired: timestamp=2026-10-20T18:16:51.319Z, expiry=30s
[2026-10-20 23:46:55,947.947 INFO    ] Command removed from stream: 1792520211572-0. returning for processing...
[2026-10-20 23:46:55,967.967 INFO    ] ***** get_valid_command
[2026-10-20 23:46:55,974.974 INFO    ] {'command': 'process-order', 'data': '{"request_id":"process-order-1792520211319-31sp8l704","orderId":"TM04202203261020234555718","is_vending":false,"accessCode":"19478316"}', 'timestamp': '2026-10-20T18:16:51.319Z', 'timeout': '60', 'source': 'webapp'}
[2026-10-20 23:46:56,008.008 INFO    ] ***** Parsed command data: {'accessCode': '19478316', 'request_id': 'process-order-1792520211319-31sp8l704', 'orderId': 'TM04202203261020234555718', 'is_vending': False}
[2026-10-20 23:46:56,037.037 INFO    ] Handling process order...
[2026-10-20 23:46:56,040.040 INFO    ] Processing process-order command...
[2026-10-20 23:46:56,049.049 INFO    ] 🔍 Lock file Order ID: TM04202203261020234555718, TS: 2026-10-20 23:46:50
[2026-10-20 23:46:56,115.115 INFO    ] ✅ Order lock valid for TM04202203261020234555718
[2026-10-20 23:46:56,120.120 INFO    ] Received access code in process-order, skipping PHP API call
[2026-10-20 23:46:56,124.124 INFO    ] processing access code 19478316 for order TM04202203261020234555718
[2026-10-20 23:46:56,130.130 INFO    ] 🔍 Lock file Order ID: TM04202203261020234555718, TS: 2026-10-20 23:46:50
[2026-10-20 23:46:56,136.136 INFO    ] ✅ Order lock valid for TM04202203261020234555718
[2026-10-20 23:46:56,141.141 INFO    ] 2026-10-20 23:46:56
[2026-10-20 23:46:56,254.254 INFO    ] 200
[2026-10-20 23:46:56,314.314 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:46:56,328.328 INFO    ] 19478316
[2026-10-20 23:46:56,334.334 INFO    ] 2026-10-20 23:46:56
[2026-10-20 23:46:56,340.340 INFO    ] session id :287253963
[2026-10-20 23:46:56,349.349 INFO    ] http://localhost:5000/v2/getOrderByAccessCode?access_code=19478316&imei=TM04202203&session_id=287253963
[2026-10-20 23:46:57,495.495 INFO    ] 200
[2026-10-20 23:46:57,504.504 INFO    ] {"data": {"access_code": "19478316", "bill_amount": "40", "invoice_bill": "40", "order_id": "TM04202203261020234555718", "mobile": "9391591013", "proposed_sku_json": [{"image_url": "https://images.tinymart.in/product/4500452-8664.jpg", "door_id": "1", "mrp": "20", "offer_id": "", "name": "Bingo Chips Chilli Sprinkled 30gm", "unit_price": 20, "qty": 2, "offer_desc": "", "skuid": "4500452", "sku_total": 40, "tray_id": "13"}]}, "status": true, "msg": "Order Data", "rstatus": true}
[2026-10-20 23:46:57,512.512 INFO    ] 40
[2026-10-20 23:46:57,525.525 INFO    ] TM04202203261020234555718
[2026-10-20 23:46:57,548.548 INFO    ] 9391591013
[2026-10-20 23:46:57,573.573 INFO    ] 2026-10-20 23:46:57
[2026-10-20 23:46:57,629.629 INFO    ] Door Opening for user mobile ending with  one zero one three 
[2026-10-20 23:46:57,634.634 INFO    ] Door Opening for user mobile ending with  one zero one three 
[2026-10-20 23:46:57,643.643 INFO    ] 102f80a0bfe6d08d603d1b32fa3ab032
[2026-10-20 23:46:57,652.652 INFO    ] 2026-10-20 23:46:57
[2026-10-20 23:46:57,663.663 INFO    ] playing audio file
[2026-10-20 23:46:57,706.706 INFO    ] 2026-10-20 23:46:57
[2026-10-20 23:46:57,719.719 INFO    ] 2026-10-20 23:46:57
[2026-10-20 23:46:57,744.744 INFO    ] publish_status: order_id=TM04202203261020234555718
[2026-10-20 23:46:57,750.750 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020234555718
[2026-10-20 23:46:57,879.879 INFO    ] [publish_status] Message added to stream with ID: 1792520217990-0
[2026-10-20 23:46:57,943.943 INFO    ] Published to order:TM04202203261020234555718: {'server_status': 'order-started', 'timestamp': '2026-10-20T18:16:57.722093Z', 'server_response': '{"data": {"mobile": "9391591013", "access_code": "19478316", "proposed_sku_json": [{"offer_desc": "", "offer_id": "", "sku_total": 40, "qty": 2, "tray_id": "13", "mrp": "20", "name": "Bingo Chips Chilli Sprinkled 30gm", "unit_price": 20, "image_url": "https://images.tinymart.in/product/4500452-8664.jpg", "door_id": "1", "skuid": "4500452"}], "bill_amount": "40", "order_id": "TM04202203261020234555718", "invoice_bill": "40"}, "msg": "Order Data", "rstatus": true, "status": true}', 'order_id': 'TM04202203261020234555718'} (ID: 1792520217990-0)
[2026-10-20 23:46:58,496.496 INFO    ] {'server_status': 'order-started', 'server_response': {'data': {'mobile': '9391591013', 'access_code': '19478316', 'proposed_sku_json': [{'offer_desc': '', 'offer_id': '', 'sku_total': 40, 'qty': 2, 'tray_id': '13', 'mrp': '20', 'name': 'Bingo Chips Chilli Sprinkled 30gm', 'unit_price': 20, 'image_url': 'https://images.tinymart.in/product/4500452-8664.jpg', 'door_id': '1', 'skuid': '4500452'}], 'bill_amount': '40', 'order_id': 'TM04202203261020234555718', 'invoice_bill': '40'}, 'msg': 'Order Data', 'rstatus': True, 'status': True}, 'order_id': 'TM04202203261020234555718'}
[2026-10-20 23:46:58,499.499 INFO    ] 200
[2026-10-20 23:46:58,501.501 INFO    ] {"data":{"server_status":"order-started","server_response":{"data":{"mobile":"9391591013","access_code":"19478316","proposed_sku_json":[{"offer_desc":"","offer_id":"","sku_total":40,"qty":2,"tray_id":"13","mrp":"20","name":"Bingo Chips Chilli Sprinkled 30gm","unit_price":20,"image_url":"https:\/\/images.tinymart.in\/product\/4500452-8664.jpg","door_id":"1","skuid":"4500452"}],"bill_amount":"40","order_id":"TM04202203261020234555718","invoice_bill":"40"},"msg":"Order Data","rstatus":true,"status":true},"order_id":"TM04202203261020234555718"},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 23:46:58,504.504 INFO    ] {'data': {'server_status': 'order-started', 'server_response': {'data': {'mobile': '9391591013', 'access_code': '19478316', 'proposed_sku_json': [{'offer_desc': '', 'offer_id': '', 'sku_total': 40, 'qty': 2, 'mrp': '20', 'name': 'Bingo Chips Chilli Sprinkled 30gm', 'tray_id': '13', 'unit_price': 20, 'image_url': 'https://images.tinymart.in/product/4500452-8664.jpg', 'door_id': '1', 'skuid': '4500452'}], 'bill_amount': '40', 'order_id': 'TM04202203261020234555718', 'invoice_bill': '40'}, 'msg': 'Order Data', 'status': True, 'rstatus': True}, 'order_id': 'TM04202203261020234555718'}, 'response': {'data': 'order updated successfully', 'code': 'ORDER_EXISTS', 'msg': 'order updated successfully', 'status': True}}
[2026-10-20 23:46:58,507.507 INFO    ] 2026-10-20 23:46:58
[2026-10-20 23:46:58,553.553 INFO    ] 200
[2026-10-20 23:46:58,556.556 INFO    ] True
[2026-10-20 23:46:58,712.712 INFO    ] 200
[2026-10-20 23:46:58,715.715 INFO    ] {"SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "rstatus": false, "voiceNote": "Please Wait", "status": "False", "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait while we process your order", "Note": "", "Header": " Your order is under process  "}, "SectionMain": {"Header": "Processing Order"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 23:46:58,718.718 INFO    ] {'SectionMain': {'Header': 'Processing Order'}, 'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'rstatus': False, 'error': {'data': {}, 'code': 20001, 'tmessage': 'In Progress', 'umessage': 'In Progress'}, 'voiceNote': 'Please Wait', 'status': 'False', 'SectionStatus': {'Header': ' Your order is under process  ', 'UI_Header': '', 'SubHeader': 'Please wait while we process your order', 'Note': ''}}
[2026-10-20 23:46:58,723.723 INFO    ] *** process_order ***
[2026-10-20 23:46:59,926.926 INFO    ] 200
[2026-10-20 23:46:59,929.929 INFO    ] {"SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "rstatus": true, "voiceNote": "Please Wait", "delay": 0, "status": "True", "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait while we process your order", "Note": "", "Header": " Your order is under process  "}, "SectionMain": {"Header": "Processing Order"}}
[2026-10-20 23:46:59,932.932 INFO    ] {'SectionMain': {'Header': 'Processing Order'}, 'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'rstatus': True, 'SectionStatus': {'Header': ' Your order is under process  ', 'UI_Header': '', 'SubHeader': 'Please wait while we process your order', 'Note': ''}, 'voiceNote': 'Please Wait', 'status': 'True', 'delay': 0}
[2026-10-20 23:46:59,935.935 INFO    ] *** process_order ***
[2026-10-20 23:46:59,937.937 INFO    ] publish_status: order_id=TM04202203261020234555718
[2026-10-20 23:46:59,940.940 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020234555718
[2026-10-20 23:47:00,036.036 INFO    ] [publish_status] Message added to stream with ID: 1792520220209-0
[2026-10-20 23:47:00,039.039 INFO    ] Published to order:TM04202203261020234555718: {'server_status': 'doorOpened', 'server_response': '{"SectionMain": {"Header": "Processing Order"}, "SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "voiceNote": "Door is open...", "rstatus": true, "delay": 0, "status": "True", "SectionStatus": {"UI_Header": "", "Note": "", "SubHeader": "You can pull the door now.", "Header": " Your order is under process  "}}', 'order_id': 'TM04202203261020234555718'} (ID: 1792520220209-0)
[2026-10-20 23:47:01,107.107 INFO    ] 2026-10-20 23:47:01
[2026-10-20 23:47:01,110.110 INFO    ] publish_status: order_id=TM04202203261020234555718
[2026-10-20 23:47:01,113.113 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020234555718
[2026-10-20 23:47:01,217.217 INFO    ] [publish_status] Message added to stream with ID: 1792520221389-0
[2026-10-20 23:47:01,220.220 INFO    ] Published to order:TM04202203261020234555718: {'server_status': 'processOrder', 'timestamp': '2026-10-20T18:17:01.108931Z', 'server_response': '{"SectionMain": {"Header": "Processing Order"}, "SectionSKU": {"skus": [], "Header": "Thank you for bearing with us :)"}, "rstatus": true, "SectionStatus": {"Header": " Your order is under process  ", "UI_Header": "", "SubHeader": "Please wait while we process your order", "Note": ""}, "voiceNote": "Please Wait", "status": "True", "delay": 0}', 'order_id': 'TM04202203261020234555718'} (ID: 1792520221389-0)
[2026-10-20 23:47:01,368.368 INFO    ] {'server_status': 'processOrder', 'server_response': {'SectionMain': {'Header': 'Processing Order'}, 'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'rstatus': True, 'SectionStatus': {'Header': ' Your order is under process  ', 'UI_Header': '', 'SubHeader': 'Please wait while we process your order', 'Note': ''}, 'voiceNote': 'Please Wait', 'status': 'True', 'delay': 0}, 'order_id': 'TM04202203261020234555718'}
[2026-10-20 23:47:01,370.370 INFO    ] 200
[2026-10-20 23:47:01,373.373 INFO    ] {"data":{"server_status":"processOrder","server_response":{"SectionMain":{"Header":"Processing Order"},"SectionSKU":{"skus":[],"Header":"Thank you for bearing with us :)"},"rstatus":true,"SectionStatus":{"Header":" Your order is under process  ","UI_Header":"","SubHeader":"Please wait while we process your order","Note":""},"voiceNote":"Please Wait","status":"true","delay":0},"order_id":"TM04202203261020234555718"},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 23:47:01,376.376 INFO    ] {'data': {'server_status': 'processOrder', 'server_response': {'SectionMain': {'Header': 'Processing Order'}, 'SectionSKU': {'skus': [], 'Header': 'Thank you for bearing with us :)'}, 'rstatus': True, 'delay': 0, 'voiceNote': 'Please Wait', 'status': 'true', 'SectionStatus': {'Note': '', 'UI_Header': '', 'SubHeader': 'Please wait while we process your order', 'Header': ' Your order is under process  '}}, 'order_id': 'TM04202203261020234555718'}, 'response': {'data': 'order updated successfully', 'code': 'ORDER_EXISTS', 'msg': 'order updated successfully', 'status': True}}
[2026-10-20 23:47:01,379.379 INFO    ] 2026-10-20 23:47:01
[2026-10-20 23:47:01,381.381 INFO    ] None
[2026-10-20 23:47:01,384.384 INFO    ] Opening Door now
[2026-10-20 23:47:01,386.386 INFO    ] Opening Door now
[2026-10-20 23:47:01,389.389 INFO    ] 08e5d1063504bf393c26f0bfa436e9f9
[2026-10-20 23:47:01,392.392 INFO    ] 2026-10-20 23:47:01
[2026-10-20 23:47:01,394.394 INFO    ] playing audio file
[2026-10-20 23:47:01,411.411 INFO    ] 2026-10-20 23:47:01
[2026-10-20 23:47:01,414.414 INFO    ] 2026-10-20 23:47:01
[2026-10-20 23:47:04,524.524 INFO    ] 200
[2026-10-20 23:47:04,527.527 INFO    ] {"SectionSKU": {"skus": [{"name": "Bingo Chips Chilli Sprinkled 30gm", "qty": 2}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Door 1 is open now", "status": "False", "SectionStatus": {"UI_Header": "DOOR 1\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 1"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 23:47:04,531.531 INFO    ] {'SectionMain': {'Header': 'Door Open'}, 'SectionSKU': {'skus': [{'name': 'Bingo Chips Chilli Sprinkled 30gm', 'qty': 2}], 'Header': 'Pick the below items from the door'}, 'rstatus': False, 'error': {'data': {}, 'code': 20001, 'tmessage': 'In Progress', 'umessage': 'In Progress'}, 'voiceNote': 'Door 1 is open now', 'status': 'False', 'SectionStatus': {'Header': 'Please Close Door 1', 'UI_Header': 'DOOR 1\nIS \nOPEN \nNOW', 'SubHeader': 'Please Pick the Products and close the door', 'Note': 'Please Close the door after picking up products'}}
[2026-10-20 23:47:07,591.591 INFO    ] 200
[2026-10-20 23:47:07,594.594 INFO    ] {"SectionSKU": {"skus": [{"name": "Bingo Chips Chilli Sprinkled 30gm", "qty": 2}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Please close door 1", "status": "False", "SectionStatus": {"UI_Header": "DOOR 1\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 1"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 23:47:07,597.597 INFO    ] {'SectionMain': {'Header': 'Door Open'}, 'SectionSKU': {'skus': [{'name': 'Bingo Chips Chilli Sprinkled 30gm', 'qty': 2}], 'Header': 'Pick the below items from the door'}, 'rstatus': False, 'error': {'data': {}, 'code': 20001, 'tmessage': 'In Progress', 'umessage': 'In Progress'}, 'voiceNote': 'Please close door 1', 'status': 'False', 'SectionStatus': {'Header': 'Please Close Door 1', 'UI_Header': 'DOOR 1\nIS \nOPEN \nNOW', 'SubHeader': 'Please Pick the Products and close the door', 'Note': 'Please Close the door after picking up products'}}
[2026-10-20 23:47:10,660.660 INFO    ] 200
[2026-10-20 23:47:10,663.663 INFO    ] {"SectionSKU": {"skus": [{"name": "Bingo Chips Chilli Sprinkled 30gm", "qty": 2}], "Header": "Pick the below items from the door"}, "rstatus": false, "voiceNote": "Please close door 1", "status": "False", "SectionStatus": {"UI_Header": "DOOR 1\nIS \nOPEN \nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products", "Header": "Please Close Door 1"}, "SectionMain": {"Header": "Door Open"}, "error": {"data": {}, "tmessage": "In Progress", "code": 20001, "umessage": "In Progress"}}
[2026-10-20 23:47:10,666.666 INFO    ] Please close door 1
[2026-10-20 23:47:10,668.668 INFO    ] Please close door 1
[2026-10-20 23:47:10,671.671 INFO    ] 787c302d53ab591e55c034b99c7aadd2
[2026-10-20 23:47:10,674.674 INFO    ] 2026-10-20 23:47:10
[2026-10-20 23:47:10,677.677 INFO    ] playing audio file
[2026-10-20 23:47:10,694.694 INFO    ] 2026-10-20 23:47:10
[2026-10-20 23:47:10,698.698 INFO    ] publish_status: order_id=TM04202203261020234555718
[2026-10-20 23:47:10,701.701 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020234555718
[2026-10-20 23:47:10,766.766 INFO    ] [publish_status] Message added to stream with ID: 1792520230939-0
[2026-10-20 23:47:10,768.768 INFO    ] Published to order:TM04202203261020234555718: {'server_status': 'OrderStatus', 'timestamp': '2026-10-20T18:17:10.696738Z', 'server_response': '{"SectionMain": {"Header": "Door Open"}, "SectionSKU": {"skus": [{"name": "Bingo Chips Chilli Sprinkled 30gm", "qty": 2}], "Header": "Pick the below items from the door"}, "rstatus": false, "error": {"data": {}, "code": 20001, "tmessage": "In Progress", "umessage": "In Progress"}, "voiceNote": "Please close door 1", "status": "False", "SectionStatus": {"Header": "Please Close Door 1", "UI_Header": "DOOR 1\\nIS \\nOPEN \\nNOW", "SubHeader": "Please Pick the Products and close the door", "Note": "Please Close the door after picking up products"}}', 'order_id': 'TM04202203261020234555718'} (ID: 1792520230939-0)
[2026-10-20 23:47:11,352.352 INFO    ] {'server_status': 'OrderStatus', 'server_response': {'SectionMain': {'Header': 'Door Open'}, 'SectionSKU': {'skus': [{'name': 'Bingo Chips Chilli Sprinkled 30gm', 'qty': 2}], 'Header': 'Pick the below items from the door'}, 'rstatus': False, 'error': {'data': {}, 'code': 20001, 'tmessage': 'In Progress', 'umessage': 'In Progress'}, 'voiceNote': 'Please close door 1', 'status': 'False', 'SectionStatus': {'Header': 'Please Close Door 1', 'UI_Header': 'DOOR 1\nIS \nOPEN \nNOW', 'SubHeader': 'Please Pick the Products and close the door', 'Note': 'Please Close the door after picking up products'}}, 'order_id': 'TM04202203261020234555718'}
[2026-10-20 23:47:11,354.354 INFO    ] 200
[2026-10-20 23:47:11,356.356 INFO    ] {"data":{"server_status":"OrderStatus","server_response":{"SectionMain":{"Header":"Door Open"},"SectionSKU":{"skus":[{"name":"Bingo Chips Chilli Sprinkled 30gm","qty":2}],"Header":"Pick the below items from the door"},"rstatus":false,"error":{"data":[],"code":20001,"tmessage":"In Progress","umessage":"In Progress"},"voiceNote":"Please close door 1","status":"false","SectionStatus":{"Header":"Please Close Door 1","UI_Header":"DOOR 1\nIS \nOPEN \nNOW","SubHeader":"Please Pick the Products and close the door","Note":"Please Close the door after picking up products"}},"order_id":"TM04202203261020234555718"},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 23:47:11,359.359 INFO    ] {'data': {'server_status': 'OrderStatus', 'server_response': {'SectionMain': {'Header': 'Door Open'}, 'SectionSKU': {'skus': [{'name': 'Bingo Chips Chilli Sprinkled 30gm', 'qty': 2}], 'Header': 'Pick the below items from the door'}, 'rstatus': False, 'error': {'data': [], 'code': 20001, 'tmessage': 'In Progress', 'umessage': 'In Progress'}, 'voiceNote': 'Please close door 1', 'status': 'false', 'SectionStatus': {'Note': 'Please Close the door after picking up products', 'UI_Header': 'DOOR 1\nIS \nOPEN \nNOW', 'SubHeader': 'Please Pick the Products and close the door', 'Header': 'Please Close Door 1'}}, 'order_id': 'TM04202203261020234555718'}, 'response': {'data': 'order updated successfully', 'code': 'ORDER_EXISTS', 'msg': 'order updated successfully', 'status': True}}
[2026-10-20 23:47:11,362.362 INFO    ] {'SectionMain': {'Header': 'Door Open'}, 'SectionSKU': {'skus': [{'name': 'Bingo Chips Chilli Sprinkled 30gm', 'qty': 2}], 'Header': 'Pick the below items from the door'}, 'rstatus': False, 'error': {'data': {}, 'code': 20001, 'tmessage': 'In Progress', 'umessage': 'In Progress'}, 'voiceNote': 'Please close door 1', 'status': 'False', 'SectionStatus': {'Header': 'Please Close Door 1', 'UI_Header': 'DOOR 1\nIS \nOPEN \nNOW', 'SubHeader': 'Please Pick the Products and close the door', 'Note': 'Please Close the door after picking up products'}}
[2026-10-20 23:47:14,431.431 INFO    ] 200
[2026-10-20 23:47:14,433.433 INFO    ] {"SectionSKU": {"skus": [], "Header": "If you like us, tell others... else tell us"}, "rstatus": true, "voiceNote": "Transaction Completed", "delay": 100, "status": "True", "SectionStatus": {"UI_Header": "", "SubHeader": "Please wait for invoice to generate", "Note": "If any due amount, clear at https://go.tinymart.in", "Header": " Order is complete "}, "SectionMain": {"Header": "Door Closed"}}
[2026-10-20 23:47:14,436.436 INFO    ] {'SectionMain': {'Header': 'Door Closed'}, 'SectionSKU': {'skus': [], 'Header': 'If you like us, tell others... else tell us'}, 'rstatus': True, 'SectionStatus': {'Header': ' Order is complete ', 'UI_Header': '', 'SubHeader': 'Please wait for invoice to generate', 'Note': 'If any due amount, clear at https://go.tinymart.in'}, 'voiceNote': 'Transaction Completed', 'status': 'True', 'delay': 100}
[2026-10-20 23:47:14,439.439 INFO    ] 2026-10-20 23:47:14
[2026-10-20 23:47:14,442.442 INFO    ] Order Completed 
[2026-10-20 23:47:14,445.445 INFO    ] Order Completed 
[2026-10-20 23:47:14,447.447 INFO    ] 193c8a8cf3bf490ccfe0b23598544a83
[2026-10-20 23:47:14,450.450 INFO    ] 2026-10-20 23:47:14
[2026-10-20 23:47:14,453.453 INFO    ] playing audio file
[2026-10-20 23:47:14,470.470 INFO    ] 2026-10-20 23:47:14
[2026-10-20 23:47:14,474.474 INFO    ] {'SectionMain': {'Header': 'Door Closed'}, 'SectionSKU': {'skus': [], 'Header': 'If you like us, tell others... else tell us'}, 'rstatus': True, 'SectionStatus': {'Header': ' Order is complete ', 'UI_Header': '', 'SubHeader': 'Please wait for invoice to generate', 'Note': 'If any due amount, clear at https://go.tinymart.in'}, 'voiceNote': 'Transaction Completed', 'status': 'True', 'delay': 100}
[2026-10-20 23:47:14,477.477 INFO    ] 2026-10-20 23:47:14
[2026-10-20 23:47:16,745.745 INFO    ] 200
[2026-10-20 23:47:16,748.748 INFO    ] {"rstatus": true, "logic": "WBL", "skus": [{"door_id": "", "name": "Bingo Chips Chilli Sprinkled 30gm per peice", "mrp": "20", "skuid": "4500452", "unit_price": "20", "qty": 2, "tray_id": "13", "sku_total": 40.0, "image_url": "https://images.tinymart.in/product/4500452-8664.jpg"}], "orderId": "TM04202203261020234555718", "res": "True", "total_amount": 40.0, "anomaly": 0}
[2026-10-20 23:47:16,751.751 INFO    ] {'anomaly': 0, 'skus': [{'sku_total': 40.0, 'qty': 2, 'tray_id': '13', 'mrp': '20', 'name': 'Bingo Chips Chilli Sprinkled 30gm per peice', 'unit_price': '20', 'image_url': 'https://images.tinymart.in/product/4500452-8664.jpg', 'door_id': '', 'skuid': '4500452'}], 'rstatus': True, 'total_amount': 40.0, 'logic': 'WBL', 'orderId': 'TM04202203261020234555718', 'res': 'True'}
[2026-10-20 23:47:16,754.754 INFO    ] {'anomaly': 0, 'skus': [{'sku_total': 40.0, 'qty': 2, 'tray_id': '13', 'mrp': '20', 'name': 'Bingo Chips Chilli Sprinkled 30gm per peice', 'unit_price': '20', 'image_url': 'https://images.tinymart.in/product/4500452-8664.jpg', 'door_id': '', 'skuid': '4500452'}], 'rstatus': True, 'total_amount': 40.0, 'logic': 'WBL', 'orderId': 'TM04202203261020234555718', 'res': 'True'}
[2026-10-20 23:47:16,756.756 INFO    ] 2026-10-20 23:47:16
[2026-10-20 23:47:16,758.758 INFO    ] 2026-10-20 23:47:16
[2026-10-20 23:47:16,761.761 INFO    ] 40
[2026-10-20 23:47:16,763.763 INFO    ] 2026-10-20 23:47:16
[2026-10-20 23:47:16,766.766 INFO    ] 2026-10-20 23:47:16
[2026-10-20 23:47:16,768.768 INFO    ]  Your Bill Amount is 40
[2026-10-20 23:47:16,770.770 INFO    ]  Your Bill Amount is 40
[2026-10-20 23:47:16,772.772 INFO    ] 88965e4060b051d18121185ac205626e
[2026-10-20 23:47:16,775.775 INFO    ] 2026-10-20 23:47:16
[2026-10-20 23:47:16,777.777 INFO    ] playing audio file
[2026-10-20 23:47:16,794.794 INFO    ] 2026-10-20 23:47:16
[2026-10-20 23:47:16,797.797 INFO    ] 2026-10-20 23:47:16
[2026-10-20 23:47:16,801.801 INFO    ] publish_status: order_id=TM04202203261020234555718
[2026-10-20 23:47:16,803.803 INFO    ] [publish_status] Adding message to stream: order:TM04202203261020234555718
[2026-10-20 23:47:16,867.867 INFO    ] [publish_status] Message added to stream with ID: 1792520237040-0
[2026-10-20 23:47:16,870.870 INFO    ] Published to order:TM04202203261020234555718: {'server_status': 'invoiceOrder', 'timestamp': '2026-10-20T18:17:16.799142Z', 'server_response': '{"anomaly": 0, "skus": [{"sku_total": 40.0, "qty": 2, "tray_id": "13", "mrp": "20", "name": "Bingo Chips Chilli Sprinkled 30gm per peice", "unit_price": "20", "image_url": "https://images.tinymart.in/product/4500452-8664.jpg", "door_id": "", "skuid": "4500452"}], "rstatus": true, "total_amount": 40.0, "logic": "WBL", "orderId": "TM04202203261020234555718", "res": "True"}', 'order_id': 'TM04202203261020234555718'} (ID: 1792520237040-0)
[2026-10-20 23:47:17,444.444 INFO    ] {'server_status': 'invoiceOrder', 'server_response': {'anomaly': 0, 'skus': [{'sku_total': 40.0, 'qty': 2, 'tray_id': '13', 'mrp': '20', 'name': 'Bingo Chips Chilli Sprinkled 30gm per peice', 'unit_price': '20', 'image_url': 'https://images.tinymart.in/product/4500452-8664.jpg', 'door_id': '', 'skuid': '4500452'}], 'rstatus': True, 'total_amount': 40.0, 'logic': 'WBL', 'orderId': 'TM04202203261020234555718', 'res': 'True'}, 'order_id': 'TM04202203261020234555718'}
[2026-10-20 23:47:17,451.451 INFO    ] 200
[2026-10-20 23:47:17,454.454 INFO    ] {"data":{"server_status":"invoiceOrder","server_response":{"anomaly":0,"skus":[{"sku_total":40,"qty":2,"tray_id":"13","mrp":"20","name":"Bingo Chips Chilli Sprinkled 30gm per peice","unit_price":"20","image_url":"https:\/\/images.tinymart.in\/product\/4500452-8664.jpg","door_id":"","skuid":"4500452"}],"rstatus":true,"total_amount":40,"logic":"WBL","orderId":"TM04202203261020234555718","res":"true"},"order_id":"TM04202203261020234555718"},"response":{"status":true,"code":"ORDER_EXISTS","data":"order updated successfully","msg":"order updated successfully"}}
[2026-10-20 23:47:17,457.457 INFO    ] {'data': {'server_status': 'invoiceOrder', 'server_response': {'anomaly': 0, 'skus': [{'sku_total': 40, 'tray_id': '13', 'mrp': '20', 'name': 'Bingo Chips Chilli Sprinkled 30gm per peice', 'qty': 2, 'unit_price': '20', 'image_url': 'https://images.tinymart.in/product/4500452-8664.jpg', 'door_id': '', 'skuid': '4500452'}], 'rstatus': True, 'total_amount': 40, 'logic': 'WBL', 'orderId': 'TM04202203261020234555718', 'res': 'true'}, 'order_id': 'TM04202203261020234555718'}, 'response': {'data': 'order updated successfully', 'code': 'ORDER_EXISTS', 'msg': 'order updated successfully', 'status': True}}
[2026-10-20 23:47:17,460.460 INFO    ] {'data': {'server_status': 'invoiceOrder', 'server_response': {'anomaly': 0, 'skus': [{'sku_total': 40, 'tray_id': '13', 'mrp': '20', 'name': 'Bingo Chips Chilli Sprinkled 30gm per peice', 'qty': 2, 'unit_price': '20', 'image_url': 'https://images.tinymart.in/product/4500452-8664.jpg', 'door_id': '', 'skuid': '4500452'}], 'rstatus': True, 'total_amount': 40, 'logic': 'WBL', 'orderId': 'TM04202203261020234555718', 'res': 'true'}, 'order_id': 'TM04202203261020234555718'}, 'response': {'data': 'order updated successfully', 'code': 'ORDER_EXISTS', 'msg': 'order updated successfully', 'status': True}}
[2026-10-20 23:47:17,463.463 INFO    ] 2026-10-20 23:47:17
[2026-10-20 23:47:23,585.585 INFO    ] 200
[2026-10-20 23:47:23,588.588 INFO    ] {"orders": [], "order_items_synced": ["TM04202203261020234555718_0"], "tray_synced": ["TM04202203261020234555718", "TM04202203261020234555718", "TM04202203261020234555718", "TM04202203261020234555718", "TM04202203261020234555718", "TM04202203261020234555718", "TM04202203261020234555718", "TM04202203261020234555718", "TM04202203261020234555718", "TM04202203261020234555718", "TM04202203261020234555718", "TM04202203261020234555718", "TM04202203261020234555718", "TM04202203261020234555718", "TM04202203261020234555718", "TM04202203261020234555718", "TM04202203261020234555718", "TM04202203261020234555718", "TM04202203261020234555718", "TM04202203261020234555718", "TM04202203261020234555718", "TM04202203261020234555718", "TM04202203261020234555718", "TM04202203261020234555718", "TM04202203261020234555718", "TM04202203261020234555718", "TM04202203261020234555718", "TM04202203261020234555718", "TM04202203261020234555718", "TM04202203261020234555718", "TM04202203261020234555718", "TM04202203261020234555718", "TM04202203261020234555718"], "orders_synced": [], "status": true, "tray_sync": [], "order_items": [], "orders_data": [], "orders_data_synced": []}
[2026-10-20 23:47:23,592.592 INFO    ] 2026-10-20 23:47:23
[2026-10-20 23:47:23,707.707 INFO    ] 200
[2026-10-20 23:47:23,711.711 INFO    ] True
[2026-10-20 23:47:23,713.713 INFO    ] cleanup_start_order_file_after_processing: order_id=TM04202203261020234555718
[2026-10-20 23:47:23,717.717 INFO    ] start order file deleted
[2026-10-20 23:47:23,721.721 INFO    ] Checking for system updates...
[2026-10-20 23:47:23,756.756 INFO    ] 200
[2026-10-20 23:47:23,758.758 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:47:23,812.812 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:47:23,815.815 INFO    ] No update needed
[2026-10-20 23:47:23,818.818 INFO    ] Checking for camera pi updates...
[2026-10-20 23:47:23,853.853 INFO    ] 200
[2026-10-20 23:47:23,856.856 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:47:23,897.897 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:47:23,944.944 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:47:23,947.947 INFO    ] No camera update needed
[2026-10-20 23:47:23,950.950 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:47:23,952.952 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:47:23,959.959 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:47:23,965.965 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:47:26,008.008 INFO    ] ================================================
[2026-10-20 23:47:26,023.023 INFO    ] Launching Daemon at Tue Oct 20 23:47:26 IST 2026
[2026-10-20 23:47:26,034.034 INFO    ] ================================================
[2026-10-20 23:47:26,616.616 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:47:26
[2026-10-20 23:47:27,204.204 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:47:27,487.487 INFO    ] Initializing speech engine...
[2026-10-20 23:47:27,497.497 INFO    ] 2026-10-20 23:47:27
[2026-10-20 23:47:27,769.769 INFO    ] 2026-10-20 23:47:27
[2026-10-20 23:47:27,804.804 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:47:28,034.034 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:47:28,079.079 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:47:28,263.263 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:47:28,318.318 INFO    ] time= 20/10/2026 23:47:28
[2026-10-20 23:47:28,367.367 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:47:28,412.412 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:47:28,548.548 INFO    ] No existing commands found in stream
[2026-10-20 23:47:33,565.565 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:47:33,568.568 INFO    ] Waiting 2.55 seconds before fallback handling...
[2026-10-20 23:47:36,613.613 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:47:36,615.615 INFO    ] Checking for system updates...
[2026-10-20 23:47:36,651.651 INFO    ] 200
[2026-10-20 23:47:36,653.653 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:47:36,705.705 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:47:36,707.707 INFO    ] No update needed
[2026-10-20 23:47:36,709.709 INFO    ] Checking for camera pi updates...
[2026-10-20 23:47:36,748.748 INFO    ] 200
[2026-10-20 23:47:36,750.750 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:47:36,791.791 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:47:36,839.839 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:47:36,841.841 INFO    ] No camera update needed
[2026-10-20 23:47:36,843.843 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:47:36,846.846 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:47:36,851.851 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:47:36,856.856 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:47:38,896.896 INFO    ] ================================================
[2026-10-20 23:47:38,911.911 INFO    ] Launching Daemon at Tue Oct 20 23:47:38 IST 2026
[2026-10-20 23:47:38,922.922 INFO    ] ================================================
[2026-10-20 23:47:39,499.499 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:47:39
[2026-10-20 23:47:40,098.098 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:47:40,373.373 INFO    ] Initializing speech engine...
[2026-10-20 23:47:40,383.383 INFO    ] 2026-10-20 23:47:40
[2026-10-20 23:47:40,631.631 INFO    ] 2026-10-20 23:47:40
[2026-10-20 23:47:40,672.672 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:47:40,918.918 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:47:40,927.927 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:47:41,145.145 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:47:41,189.189 INFO    ] time= 20/10/2026 23:47:41
[2026-10-20 23:47:41,204.204 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:47:41,213.213 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:47:41,376.376 INFO    ] No existing commands found in stream
[2026-10-20 23:47:46,407.407 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:47:46,410.410 INFO    ] Waiting 3.03 seconds before fallback handling...
[2026-10-20 23:47:49,973.973 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:47:49,975.975 INFO    ] Checking for system updates...
[2026-10-20 23:47:50,010.010 INFO    ] 200
[2026-10-20 23:47:50,013.013 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:47:50,066.066 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:47:50,069.069 INFO    ] No update needed
[2026-10-20 23:47:50,071.071 INFO    ] Checking for camera pi updates...
[2026-10-20 23:47:50,108.108 INFO    ] 200
[2026-10-20 23:47:50,111.111 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:47:50,155.155 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:47:50,205.205 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:47:50,207.207 INFO    ] No camera update needed
[2026-10-20 23:47:50,210.210 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:47:50,212.212 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:47:50,217.217 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:47:50,223.223 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:47:52,264.264 INFO    ] ================================================
[2026-10-20 23:47:52,280.280 INFO    ] Launching Daemon at Tue Oct 20 23:47:52 IST 2026
[2026-10-20 23:47:52,291.291 INFO    ] ================================================
[2026-10-20 23:47:52,874.874 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:47:52
[2026-10-20 23:47:53,461.461 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:47:53,713.713 INFO    ] Initializing speech engine...
[2026-10-20 23:47:53,736.736 INFO    ] 2026-10-20 23:47:53
[2026-10-20 23:47:53,991.991 INFO    ] 2026-10-20 23:47:53
[2026-10-20 23:47:54,026.026 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:47:54,288.288 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:47:54,292.292 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:47:54,430.430 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:47:54,469.469 INFO    ] time= 20/10/2026 23:47:54
[2026-10-20 23:47:54,528.528 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:47:54,564.564 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:47:54,715.715 INFO    ] No existing commands found in stream
[2026-10-20 23:47:59,733.733 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:47:59,736.736 INFO    ] Waiting 0.61 seconds before fallback handling...
[2026-10-20 23:48:00,894.894 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 23:48:00,897.897 INFO    ] Checking for system updates...
[2026-10-20 23:48:00,934.934 INFO    ] 200
[2026-10-20 23:48:00,937.937 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:48:00,991.991 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:48:00,994.994 INFO    ] No update needed
[2026-10-20 23:48:00,997.997 INFO    ] Checking for camera pi updates...
[2026-10-20 23:48:01,032.032 INFO    ] 200
[2026-10-20 23:48:01,035.035 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:48:01,077.077 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:48:01,140.140 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:48:01,143.143 INFO    ] No camera update needed
[2026-10-20 23:48:01,146.146 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:48:01,158.158 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:48:01,169.169 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:48:01,179.179 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:48:03,225.225 INFO    ] ================================================
[2026-10-20 23:48:03,240.240 INFO    ] Launching Daemon at Tue Oct 20 23:48:03 IST 2026
[2026-10-20 23:48:03,251.251 INFO    ] ================================================
[2026-10-20 23:48:03,818.818 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:48:03
[2026-10-20 23:48:04,402.402 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:48:04,647.647 INFO    ] Initializing speech engine...
[2026-10-20 23:48:04,656.656 INFO    ] 2026-10-20 23:48:04
[2026-10-20 23:48:04,930.930 INFO    ] 2026-10-20 23:48:04
[2026-10-20 23:48:04,965.965 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:48:05,223.223 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:48:05,232.232 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:48:05,376.376 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:48:05,447.447 INFO    ] time= 20/10/2026 23:48:05
[2026-10-20 23:48:05,502.502 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:48:05,509.509 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:48:05,648.648 INFO    ] No existing commands found in stream
[2026-10-20 23:48:10,669.669 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:48:10,672.672 INFO    ] Waiting 1.15 seconds before fallback handling...
[2026-10-20 23:48:12,351.351 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:48:12,354.354 INFO    ] Checking for system updates...
[2026-10-20 23:48:12,394.394 INFO    ] 200
[2026-10-20 23:48:12,396.396 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:48:12,454.454 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:48:12,457.457 INFO    ] No update needed
[2026-10-20 23:48:12,460.460 INFO    ] Checking for camera pi updates...
[2026-10-20 23:48:12,495.495 INFO    ] 200
[2026-10-20 23:48:12,498.498 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:48:12,544.544 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:48:12,693.693 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:48:12,695.695 INFO    ] No camera update needed
[2026-10-20 23:48:12,698.698 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:48:12,700.700 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:48:12,706.706 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:48:12,711.711 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:48:14,753.753 INFO    ] ================================================
[2026-10-20 23:48:14,769.769 INFO    ] Launching Daemon at Tue Oct 20 23:48:14 IST 2026
[2026-10-20 23:48:14,780.780 INFO    ] ================================================
[2026-10-20 23:48:15,409.409 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:48:15
[2026-10-20 23:48:15,994.994 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:48:16,266.266 INFO    ] Initializing speech engine...
[2026-10-20 23:48:16,275.275 INFO    ] 2026-10-20 23:48:16
[2026-10-20 23:48:16,532.532 INFO    ] 2026-10-20 23:48:16
[2026-10-20 23:48:16,570.570 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:48:16,792.792 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:48:16,801.801 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:48:17,000.000 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:48:17,047.047 INFO    ] time= 20/10/2026 23:48:17
[2026-10-20 23:48:17,101.101 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:48:17,133.133 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:48:17,276.276 INFO    ] No existing commands found in stream
[2026-10-20 23:48:22,291.291 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:48:22,294.294 INFO    ] Waiting 2.42 seconds before fallback handling...
[2026-10-20 23:48:25,259.259 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:48:25,262.262 INFO    ] Checking for system updates...
[2026-10-20 23:48:25,297.297 INFO    ] 200
[2026-10-20 23:48:25,299.299 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:48:25,358.358 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:48:25,360.360 INFO    ] No update needed
[2026-10-20 23:48:25,363.363 INFO    ] Checking for camera pi updates...
[2026-10-20 23:48:25,396.396 INFO    ] 200
[2026-10-20 23:48:25,399.399 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:48:25,439.439 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:48:25,488.488 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:48:25,491.491 INFO    ] No camera update needed
[2026-10-20 23:48:25,493.493 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:48:25,496.496 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:48:25,501.501 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:48:25,506.506 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:48:27,549.549 INFO    ] ================================================
[2026-10-20 23:48:27,565.565 INFO    ] Launching Daemon at Tue Oct 20 23:48:27 IST 2026
[2026-10-20 23:48:27,576.576 INFO    ] ================================================
[2026-10-20 23:48:28,142.142 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:48:28
[2026-10-20 23:48:28,723.723 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:48:28,991.991 INFO    ] Initializing speech engine...
[2026-10-20 23:48:29,000.000 INFO    ] 2026-10-20 23:48:28
[2026-10-20 23:48:29,245.245 INFO    ] 2026-10-20 23:48:29
[2026-10-20 23:48:29,280.280 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:48:29,530.530 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:48:29,539.539 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:48:29,674.674 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:48:29,738.738 INFO    ] time= 20/10/2026 23:48:29
[2026-10-20 23:48:29,802.802 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:48:29,808.808 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:48:29,927.927 INFO    ] No existing commands found in stream
[2026-10-20 23:48:34,958.958 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:48:34,961.961 INFO    ] Waiting 0.95 seconds before fallback handling...
[2026-10-20 23:48:36,431.431 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 23:48:36,434.434 INFO    ] Checking for system updates...
[2026-10-20 23:48:36,470.470 INFO    ] 200
[2026-10-20 23:48:36,472.472 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:48:36,525.525 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:48:36,527.527 INFO    ] No update needed
[2026-10-20 23:48:36,530.530 INFO    ] Checking for camera pi updates...
[2026-10-20 23:48:36,584.584 INFO    ] 200
[2026-10-20 23:48:36,587.587 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:48:36,627.627 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:48:36,678.678 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:48:36,681.681 INFO    ] No camera update needed
[2026-10-20 23:48:36,683.683 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:48:36,685.685 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:48:36,691.691 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:48:36,696.696 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:48:38,736.736 INFO    ] ================================================
[2026-10-20 23:48:38,751.751 INFO    ] Launching Daemon at Tue Oct 20 23:48:38 IST 2026
[2026-10-20 23:48:38,762.762 INFO    ] ================================================
[2026-10-20 23:48:39,348.348 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:48:39
[2026-10-20 23:48:39,946.946 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:48:40,223.223 INFO    ] Initializing speech engine...
[2026-10-20 23:48:40,229.229 INFO    ] 2026-10-20 23:48:40
[2026-10-20 23:48:40,491.491 INFO    ] 2026-10-20 23:48:40
[2026-10-20 23:48:40,545.545 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:48:40,773.773 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:48:40,778.778 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:48:40,989.989 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:48:41,035.035 INFO    ] time= 20/10/2026 23:48:40
[2026-10-20 23:48:41,041.041 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:48:41,059.059 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:48:41,188.188 INFO    ] No existing commands found in stream
[2026-10-20 23:48:46,201.201 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:48:46,204.204 INFO    ] Waiting 1.68 seconds before fallback handling...
[2026-10-20 23:48:48,383.383 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:48:48,385.385 INFO    ] Checking for system updates...
[2026-10-20 23:48:48,426.426 INFO    ] 200
[2026-10-20 23:48:48,429.429 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:48:48,483.483 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:48:48,485.485 INFO    ] No update needed
[2026-10-20 23:48:48,488.488 INFO    ] Checking for camera pi updates...
[2026-10-20 23:48:48,526.526 INFO    ] 200
[2026-10-20 23:48:48,529.529 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:48:48,569.569 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:48:48,619.619 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:48:48,621.621 INFO    ] No camera update needed
[2026-10-20 23:48:48,623.623 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:48:48,626.626 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:48:48,631.631 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:48:48,636.636 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:48:50,676.676 INFO    ] ================================================
[2026-10-20 23:48:50,691.691 INFO    ] Launching Daemon at Tue Oct 20 23:48:50 IST 2026
[2026-10-20 23:48:50,702.702 INFO    ] ================================================
[2026-10-20 23:48:51,283.283 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:48:51
[2026-10-20 23:48:51,879.879 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:48:52,129.129 INFO    ] Initializing speech engine...
[2026-10-20 23:48:52,151.151 INFO    ] 2026-10-20 23:48:52
[2026-10-20 23:48:52,418.418 INFO    ] 2026-10-20 23:48:52
[2026-10-20 23:48:52,455.455 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:48:52,659.659 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:48:52,668.668 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:48:52,865.865 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:48:52,912.912 INFO    ] time= 20/10/2026 23:48:52
[2026-10-20 23:48:52,962.962 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:48:53,002.002 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:48:53,139.139 INFO    ] No existing commands found in stream
[2026-10-20 23:48:58,164.164 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:48:58,167.167 INFO    ] Waiting 1.28 seconds before fallback handling...
[2026-10-20 23:48:59,944.944 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:48:59,946.946 INFO    ] Checking for system updates...
[2026-10-20 23:48:59,985.985 INFO    ] 200
[2026-10-20 23:48:59,988.988 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:49:00,053.053 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:49:00,055.055 INFO    ] No update needed
[2026-10-20 23:49:00,058.058 INFO    ] Checking for camera pi updates...
[2026-10-20 23:49:00,110.110 INFO    ] 200
[2026-10-20 23:49:00,112.112 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:49:00,177.177 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:49:00,226.226 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:49:00,229.229 INFO    ] No camera update needed
[2026-10-20 23:49:00,231.231 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:49:00,233.233 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:49:00,239.239 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:49:00,244.244 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:49:02,294.294 INFO    ] ================================================
[2026-10-20 23:49:02,313.313 INFO    ] Launching Daemon at Tue Oct 20 23:49:02 IST 2026
[2026-10-20 23:49:02,331.331 INFO    ] ================================================
[2026-10-20 23:49:03,033.033 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:49:03
[2026-10-20 23:49:03,643.643 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:49:03,922.922 INFO    ] Initializing speech engine...
[2026-10-20 23:49:03,928.928 INFO    ] 2026-10-20 23:49:03
[2026-10-20 23:49:04,174.174 INFO    ] 2026-10-20 23:49:04
[2026-10-20 23:49:04,216.216 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:49:04,462.462 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:49:04,471.471 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:49:04,691.691 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:49:04,731.731 INFO    ] time= 20/10/2026 23:49:04
[2026-10-20 23:49:04,737.737 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:49:04,757.757 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:49:04,870.870 INFO    ] No existing commands found in stream
[2026-10-20 23:49:09,895.895 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:49:09,897.897 INFO    ] Waiting 2.92 seconds before fallback handling...
[2026-10-20 23:49:13,360.360 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 23:49:13,363.363 INFO    ] Checking for system updates...
[2026-10-20 23:49:13,404.404 INFO    ] 200
[2026-10-20 23:49:13,406.406 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:49:13,464.464 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:49:13,466.466 INFO    ] No update needed
[2026-10-20 23:49:13,469.469 INFO    ] Checking for camera pi updates...
[2026-10-20 23:49:13,505.505 INFO    ] 200
[2026-10-20 23:49:13,508.508 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:49:13,547.547 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:49:13,601.601 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:49:13,603.603 INFO    ] No camera update needed
[2026-10-20 23:49:13,605.605 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:49:13,608.608 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:49:13,613.613 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:49:13,619.619 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:49:15,661.661 INFO    ] ================================================
[2026-10-20 23:49:15,676.676 INFO    ] Launching Daemon at Tue Oct 20 23:49:15 IST 2026
[2026-10-20 23:49:15,686.686 INFO    ] ================================================
[2026-10-20 23:49:16,253.253 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:49:16
[2026-10-20 23:49:16,836.836 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:49:17,110.110 INFO    ] Initializing speech engine...
[2026-10-20 23:49:17,119.119 INFO    ] 2026-10-20 23:49:17
[2026-10-20 23:49:17,384.384 INFO    ] 2026-10-20 23:49:17
[2026-10-20 23:49:17,421.421 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:49:17,643.643 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:49:17,657.657 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:49:17,867.867 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:49:17,878.878 INFO    ] time= 20/10/2026 23:49:17
[2026-10-20 23:49:17,943.943 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:49:17,987.987 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:49:18,082.082 INFO    ] No existing commands found in stream
[2026-10-20 23:49:23,094.094 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:49:23,096.096 INFO    ] Waiting 3.33 seconds before fallback handling...
[2026-10-20 23:49:26,910.910 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:49:26,913.913 INFO    ] Checking for system updates...
[2026-10-20 23:49:26,951.951 INFO    ] 200
[2026-10-20 23:49:26,953.953 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:49:27,011.011 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:49:27,013.013 INFO    ] No update needed
[2026-10-20 23:49:27,015.015 INFO    ] Checking for camera pi updates...
[2026-10-20 23:49:27,051.051 INFO    ] 200
[2026-10-20 23:49:27,054.054 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:49:27,094.094 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:49:27,147.147 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:49:27,149.149 INFO    ] No camera update needed
[2026-10-20 23:49:27,152.152 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:49:27,154.154 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:49:27,159.159 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:49:27,164.164 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:49:29,205.205 INFO    ] ================================================
[2026-10-20 23:49:29,220.220 INFO    ] Launching Daemon at Tue Oct 20 23:49:29 IST 2026
[2026-10-20 23:49:29,230.230 INFO    ] ================================================
[2026-10-20 23:49:29,795.795 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:49:29
[2026-10-20 23:49:30,390.390 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:49:30,647.647 INFO    ] Initializing speech engine...
[2026-10-20 23:49:30,653.653 INFO    ] 2026-10-20 23:49:30
[2026-10-20 23:49:30,945.945 INFO    ] 2026-10-20 23:49:30
[2026-10-20 23:49:30,981.981 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:49:31,194.194 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:49:31,222.222 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:49:31,457.457 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:49:31,480.480 INFO    ] time= 20/10/2026 23:49:31
[2026-10-20 23:49:31,535.535 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:49:31,575.575 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:49:31,710.710 INFO    ] No existing commands found in stream
[2026-10-20 23:49:36,742.742 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:49:36,745.745 INFO    ] Waiting 1.85 seconds before fallback handling...
[2026-10-20 23:49:39,091.091 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:49:39,094.094 INFO    ] Checking for system updates...
[2026-10-20 23:49:39,134.134 INFO    ] 200
[2026-10-20 23:49:39,137.137 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:49:39,199.199 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:49:39,202.202 INFO    ] No update needed
[2026-10-20 23:49:39,205.205 INFO    ] Checking for camera pi updates...
[2026-10-20 23:49:39,242.242 INFO    ] 200
[2026-10-20 23:49:39,245.245 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:49:39,297.297 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:49:39,345.345 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:49:39,348.348 INFO    ] No camera update needed
[2026-10-20 23:49:39,351.351 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:49:39,353.353 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:49:39,359.359 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:49:39,365.365 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:49:41,407.407 INFO    ] ================================================
[2026-10-20 23:49:41,423.423 INFO    ] Launching Daemon at Tue Oct 20 23:49:41 IST 2026
[2026-10-20 23:49:41,435.435 INFO    ] ================================================
[2026-10-20 23:49:42,058.058 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:49:42
[2026-10-20 23:49:42,720.720 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:49:42,994.994 INFO    ] Initializing speech engine...
[2026-10-20 23:49:43,014.014 INFO    ] 2026-10-20 23:49:43
[2026-10-20 23:49:43,278.278 INFO    ] 2026-10-20 23:49:43
[2026-10-20 23:49:43,314.314 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:49:43,522.522 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:49:43,551.551 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:49:43,733.733 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:49:43,770.770 INFO    ] time= 20/10/2026 23:49:43
[2026-10-20 23:49:43,824.824 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:49:43,869.869 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:49:43,992.992 INFO    ] No existing commands found in stream
[2026-10-20 23:49:49,020.020 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:49:49,022.022 INFO    ] Waiting 3.54 seconds before fallback handling...
[2026-10-20 23:49:53,120.120 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:49:53,122.122 INFO    ] Checking for system updates...
[2026-10-20 23:49:53,157.157 INFO    ] 200
[2026-10-20 23:49:53,160.160 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:49:53,220.220 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:49:53,222.222 INFO    ] No update needed
[2026-10-20 23:49:53,225.225 INFO    ] Checking for camera pi updates...
[2026-10-20 23:49:53,258.258 INFO    ] 200
[2026-10-20 23:49:53,261.261 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:49:53,300.300 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:49:53,345.345 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:49:53,348.348 INFO    ] No camera update needed
[2026-10-20 23:49:53,350.350 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:49:53,353.353 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:49:53,358.358 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:49:53,363.363 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:49:55,403.403 INFO    ] ================================================
[2026-10-20 23:49:55,418.418 INFO    ] Launching Daemon at Tue Oct 20 23:49:55 IST 2026
[2026-10-20 23:49:55,429.429 INFO    ] ================================================
[2026-10-20 23:49:56,073.073 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:49:56
[2026-10-20 23:49:56,689.689 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:49:56,952.952 INFO    ] Initializing speech engine...
[2026-10-20 23:49:56,966.966 INFO    ] 2026-10-20 23:49:56
[2026-10-20 23:49:57,220.220 INFO    ] 2026-10-20 23:49:57
[2026-10-20 23:49:57,255.255 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:49:57,458.458 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:49:57,517.517 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:49:57,667.667 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:49:57,726.726 INFO    ] time= 20/10/2026 23:49:57
[2026-10-20 23:49:57,781.781 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:49:57,796.796 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:49:57,933.933 INFO    ] No existing commands found in stream
[2026-10-20 23:50:02,961.961 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:50:02,965.965 INFO    ] Waiting 1.86 seconds before fallback handling...
[2026-10-20 23:50:07,976.976 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:50:07,979.979 INFO    ] Checking for system updates...
[2026-10-20 23:50:08,016.016 INFO    ] 200
[2026-10-20 23:50:08,019.019 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:50:08,078.078 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:50:08,081.081 INFO    ] No update needed
[2026-10-20 23:50:08,084.084 INFO    ] Checking for camera pi updates...
[2026-10-20 23:50:08,118.118 INFO    ] 200
[2026-10-20 23:50:08,121.121 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:50:08,166.166 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:50:08,221.221 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:50:08,224.224 INFO    ] No camera update needed
[2026-10-20 23:50:08,226.226 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:50:08,229.229 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:50:08,235.235 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:50:08,241.241 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:50:10,282.282 INFO    ] ================================================
[2026-10-20 23:50:10,297.297 INFO    ] Launching Daemon at Tue Oct 20 23:50:10 IST 2026
[2026-10-20 23:50:10,308.308 INFO    ] ================================================
[2026-10-20 23:50:10,969.969 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:50:10
[2026-10-20 23:50:11,644.644 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:50:11,959.959 INFO    ] Initializing speech engine...
[2026-10-20 23:50:11,974.974 INFO    ] 2026-10-20 23:50:11
[2026-10-20 23:50:12,277.277 INFO    ] 2026-10-20 23:50:12
[2026-10-20 23:50:12,364.364 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:50:12,584.584 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:50:12,645.645 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:50:12,825.825 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:50:12,834.834 INFO    ] time= 20/10/2026 23:50:12
[2026-10-20 23:50:12,860.860 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:50:12,918.918 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:50:13,116.116 INFO    ] No existing commands found in stream
[2026-10-20 23:50:18,132.132 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:50:18,136.136 INFO    ] Waiting 0.03 seconds before fallback handling...
[2026-10-20 23:50:18,710.710 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 23:50:18,713.713 INFO    ] Checking for system updates...
[2026-10-20 23:50:18,750.750 INFO    ] 200
[2026-10-20 23:50:18,753.753 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:50:18,812.812 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:50:18,815.815 INFO    ] No update needed
[2026-10-20 23:50:18,817.817 INFO    ] Checking for camera pi updates...
[2026-10-20 23:50:18,851.851 INFO    ] 200
[2026-10-20 23:50:18,853.853 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:50:18,894.894 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:50:19,043.043 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:50:19,046.046 INFO    ] No camera update needed
[2026-10-20 23:50:19,048.048 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:50:19,051.051 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:50:19,057.057 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:50:19,063.063 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:50:21,104.104 INFO    ] ================================================
[2026-10-20 23:50:21,120.120 INFO    ] Launching Daemon at Tue Oct 20 23:50:21 IST 2026
[2026-10-20 23:50:21,131.131 INFO    ] ================================================
[2026-10-20 23:50:21,790.790 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:50:21
[2026-10-20 23:50:22,472.472 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:50:22,779.779 INFO    ] Initializing speech engine...
[2026-10-20 23:50:22,786.786 INFO    ] 2026-10-20 23:50:22
[2026-10-20 23:50:23,072.072 INFO    ] 2026-10-20 23:50:23
[2026-10-20 23:50:23,119.119 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:50:23,403.403 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:50:23,412.412 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:50:23,587.587 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:50:23,615.615 INFO    ] time= 20/10/2026 23:50:23
[2026-10-20 23:50:23,634.634 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:50:23,663.663 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:50:23,789.789 INFO    ] No existing commands found in stream
[2026-10-20 23:50:28,820.820 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:50:28,824.824 INFO    ] Waiting 2.82 seconds before fallback handling...
[2026-10-20 23:50:32,166.166 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 23:50:32,170.170 INFO    ] Checking for system updates...
[2026-10-20 23:50:32,207.207 INFO    ] 200
[2026-10-20 23:50:32,209.209 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:50:32,273.273 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:50:32,277.277 INFO    ] No update needed
[2026-10-20 23:50:32,279.279 INFO    ] Checking for camera pi updates...
[2026-10-20 23:50:32,315.315 INFO    ] 200
[2026-10-20 23:50:32,317.317 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:50:32,367.367 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:50:32,410.410 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:50:32,413.413 INFO    ] No camera update needed
[2026-10-20 23:50:32,416.416 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:50:32,419.419 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:50:32,425.425 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:50:32,432.432 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:50:34,475.475 INFO    ] ================================================
[2026-10-20 23:50:34,491.491 INFO    ] Launching Daemon at Tue Oct 20 23:50:34 IST 2026
[2026-10-20 23:50:34,504.504 INFO    ] ================================================
[2026-10-20 23:50:35,102.102 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:50:35
[2026-10-20 23:50:35,716.716 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:50:36,001.001 INFO    ] Initializing speech engine...
[2026-10-20 23:50:36,011.011 INFO    ] 2026-10-20 23:50:36
[2026-10-20 23:50:36,271.271 INFO    ] 2026-10-20 23:50:36
[2026-10-20 23:50:36,305.305 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:50:36,513.513 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:50:36,536.536 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:50:36,726.726 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:50:36,738.738 INFO    ] time= 20/10/2026 23:50:36
[2026-10-20 23:50:36,788.788 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:50:36,837.837 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:50:36,992.992 INFO    ] No existing commands found in stream
[2026-10-20 23:50:42,023.023 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:50:42,025.025 INFO    ] Waiting 1.12 seconds before fallback handling...
[2026-10-20 23:50:43,664.664 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:50:43,667.667 INFO    ] Checking for system updates...
[2026-10-20 23:50:43,705.705 INFO    ] 200
[2026-10-20 23:50:43,708.708 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:50:43,760.760 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:50:43,762.762 INFO    ] No update needed
[2026-10-20 23:50:43,765.765 INFO    ] Checking for camera pi updates...
[2026-10-20 23:50:43,798.798 INFO    ] 200
[2026-10-20 23:50:43,801.801 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:50:43,846.846 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:50:43,901.901 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:50:43,903.903 INFO    ] No camera update needed
[2026-10-20 23:50:43,905.905 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:50:43,907.907 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:50:43,913.913 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:50:43,918.918 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:50:45,959.959 INFO    ] ================================================
[2026-10-20 23:50:45,975.975 INFO    ] Launching Daemon at Tue Oct 20 23:50:45 IST 2026
[2026-10-20 23:50:45,986.986 INFO    ] ================================================
[2026-10-20 23:50:46,591.591 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:50:46
[2026-10-20 23:50:47,231.231 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:50:47,504.504 INFO    ] Initializing speech engine...
[2026-10-20 23:50:47,519.519 INFO    ] 2026-10-20 23:50:47
[2026-10-20 23:50:47,808.808 INFO    ] 2026-10-20 23:50:47
[2026-10-20 23:50:47,846.846 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:50:48,048.048 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:50:48,061.061 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:50:48,203.203 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:50:48,212.212 INFO    ] time= 20/10/2026 23:50:48
[2026-10-20 23:50:48,262.262 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:50:48,280.280 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:50:48,404.404 INFO    ] No existing commands found in stream
[2026-10-20 23:50:53,414.414 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:50:53,417.417 INFO    ] Waiting 0.79 seconds before fallback handling...
[2026-10-20 23:50:54,717.717 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 23:50:54,719.719 INFO    ] Checking for system updates...
[2026-10-20 23:50:54,754.754 INFO    ] 200
[2026-10-20 23:50:54,757.757 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:50:54,816.816 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:50:54,819.819 INFO    ] No update needed
[2026-10-20 23:50:54,821.821 INFO    ] Checking for camera pi updates...
[2026-10-20 23:50:54,854.854 INFO    ] 200
[2026-10-20 23:50:54,857.857 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:50:54,902.902 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:50:54,956.956 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:50:54,959.959 INFO    ] No camera update needed
[2026-10-20 23:50:54,961.961 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:50:54,963.963 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:50:54,969.969 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:50:54,974.974 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:50:57,013.013 INFO    ] ================================================
[2026-10-20 23:50:57,029.029 INFO    ] Launching Daemon at Tue Oct 20 23:50:57 IST 2026
[2026-10-20 23:50:57,041.041 INFO    ] ================================================
[2026-10-20 23:50:57,608.608 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:50:57
[2026-10-20 23:50:58,192.192 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:50:58,460.460 INFO    ] Initializing speech engine...
[2026-10-20 23:50:58,469.469 INFO    ] 2026-10-20 23:50:58
[2026-10-20 23:50:58,713.713 INFO    ] 2026-10-20 23:50:58
[2026-10-20 23:50:58,755.755 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:50:59,005.005 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:50:59,009.009 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:50:59,149.149 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:50:59,214.214 INFO    ] time= 20/10/2026 23:50:59
[2026-10-20 23:50:59,271.271 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:50:59,278.278 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:50:59,418.418 INFO    ] No existing commands found in stream
[2026-10-20 23:51:04,433.433 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:51:04,436.436 INFO    ] Waiting 1.63 seconds before fallback handling...
[2026-10-20 23:51:06,554.554 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:51:06,556.556 INFO    ] Checking for system updates...
[2026-10-20 23:51:06,591.591 INFO    ] 200
[2026-10-20 23:51:06,594.594 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:51:06,655.655 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:51:06,657.657 INFO    ] No update needed
[2026-10-20 23:51:06,660.660 INFO    ] Checking for camera pi updates...
[2026-10-20 23:51:06,693.693 INFO    ] 200
[2026-10-20 23:51:06,695.695 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:51:06,739.739 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:51:06,784.784 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:51:06,786.786 INFO    ] No camera update needed
[2026-10-20 23:51:06,789.789 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:51:06,791.791 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:51:06,796.796 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:51:06,801.801 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:51:08,843.843 INFO    ] ================================================
[2026-10-20 23:51:08,858.858 INFO    ] Launching Daemon at Tue Oct 20 23:51:08 IST 2026
[2026-10-20 23:51:08,873.873 INFO    ] ================================================
[2026-10-20 23:51:09,439.439 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:51:09
[2026-10-20 23:51:10,021.021 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:51:10,269.269 INFO    ] Initializing speech engine...
[2026-10-20 23:51:10,281.281 INFO    ] 2026-10-20 23:51:10
[2026-10-20 23:51:10,543.543 INFO    ] 2026-10-20 23:51:10
[2026-10-20 23:51:10,583.583 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:51:10,828.828 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:51:10,837.837 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:51:10,976.976 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:51:11,031.031 INFO    ] time= 20/10/2026 23:51:10
[2026-10-20 23:51:11,080.080 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:51:11,101.101 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:51:11,247.247 INFO    ] No existing commands found in stream
[2026-10-20 23:51:16,261.261 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:51:16,264.264 INFO    ] Waiting 3.50 seconds before fallback handling...
[2026-10-20 23:51:20,242.242 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:51:20,245.245 INFO    ] Checking for system updates...
[2026-10-20 23:51:20,280.280 INFO    ] 200
[2026-10-20 23:51:20,283.283 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:51:20,334.334 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:51:20,336.336 INFO    ] No update needed
[2026-10-20 23:51:20,338.338 INFO    ] Checking for camera pi updates...
[2026-10-20 23:51:20,374.374 INFO    ] 200
[2026-10-20 23:51:20,376.376 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:51:20,417.417 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:51:20,461.461 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:51:20,463.463 INFO    ] No camera update needed
[2026-10-20 23:51:20,465.465 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:51:20,468.468 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:51:20,473.473 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:51:20,478.478 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:51:22,518.518 INFO    ] ================================================
[2026-10-20 23:51:22,534.534 INFO    ] Launching Daemon at Tue Oct 20 23:51:22 IST 2026
[2026-10-20 23:51:22,545.545 INFO    ] ================================================
[2026-10-20 23:51:23,127.127 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:51:23
[2026-10-20 23:51:23,728.728 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:51:24,005.005 INFO    ] Initializing speech engine...
[2026-10-20 23:51:24,011.011 INFO    ] 2026-10-20 23:51:24
[2026-10-20 23:51:24,260.260 INFO    ] 2026-10-20 23:51:24
[2026-10-20 23:51:24,295.295 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:51:24,497.497 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:51:24,553.553 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:51:24,771.771 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:51:24,817.817 INFO    ] time= 20/10/2026 23:51:24
[2026-10-20 23:51:24,823.823 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:51:24,843.843 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:51:24,974.974 INFO    ] No existing commands found in stream
[2026-10-20 23:51:29,991.991 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:51:29,994.994 INFO    ] Waiting 1.82 seconds before fallback handling...
[2026-10-20 23:51:32,312.312 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:51:32,319.319 INFO    ] Checking for system updates...
[2026-10-20 23:51:32,366.366 INFO    ] 200
[2026-10-20 23:51:32,369.369 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:51:32,425.425 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:51:32,427.427 INFO    ] No update needed
[2026-10-20 23:51:32,434.434 INFO    ] Checking for camera pi updates...
[2026-10-20 23:51:32,473.473 INFO    ] 200
[2026-10-20 23:51:32,476.476 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:51:32,529.529 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:51:32,570.570 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:51:32,573.573 INFO    ] No camera update needed
[2026-10-20 23:51:32,576.576 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:51:32,578.578 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:51:32,585.585 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:51:32,592.592 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:51:34,633.633 INFO    ] ================================================
[2026-10-20 23:51:34,648.648 INFO    ] Launching Daemon at Tue Oct 20 23:51:34 IST 2026
[2026-10-20 23:51:34,660.660 INFO    ] ================================================
[2026-10-20 23:51:35,266.266 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:51:35
[2026-10-20 23:51:35,907.907 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:51:36,199.199 INFO    ] Initializing speech engine...
[2026-10-20 23:51:36,207.207 INFO    ] 2026-10-20 23:51:36
[2026-10-20 23:51:36,473.473 INFO    ] 2026-10-20 23:51:36
[2026-10-20 23:51:36,528.528 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:51:36,749.749 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:51:36,759.759 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:51:36,969.969 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:51:37,018.018 INFO    ] time= 20/10/2026 23:51:36
[2026-10-20 23:51:37,024.024 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:51:37,040.040 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:51:37,174.174 INFO    ] No existing commands found in stream
[2026-10-20 23:51:42,197.197 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:51:42,200.200 INFO    ] Waiting 3.78 seconds before fallback handling...
[2026-10-20 23:51:46,515.515 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:51:46,518.518 INFO    ] Checking for system updates...
[2026-10-20 23:51:46,557.557 INFO    ] 200
[2026-10-20 23:51:46,559.559 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:51:46,618.618 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:51:46,621.621 INFO    ] No update needed
[2026-10-20 23:51:46,623.623 INFO    ] Checking for camera pi updates...
[2026-10-20 23:51:46,664.664 INFO    ] 200
[2026-10-20 23:51:46,667.667 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:51:46,707.707 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:51:46,759.759 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:51:46,762.762 INFO    ] No camera update needed
[2026-10-20 23:51:46,765.765 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:51:46,767.767 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:51:46,773.773 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:51:46,779.779 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:51:48,818.818 INFO    ] ================================================
[2026-10-20 23:51:48,832.832 INFO    ] Launching Daemon at Tue Oct 20 23:51:48 IST 2026
[2026-10-20 23:51:48,843.843 INFO    ] ================================================
[2026-10-20 23:51:49,409.409 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:51:49
[2026-10-20 23:51:49,990.990 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:51:50,246.246 INFO    ] Initializing speech engine...
[2026-10-20 23:51:50,270.270 INFO    ] 2026-10-20 23:51:50
[2026-10-20 23:51:50,536.536 INFO    ] 2026-10-20 23:51:50
[2026-10-20 23:51:50,571.571 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:51:50,789.789 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:51:50,843.843 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:51:51,005.005 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:51:51,037.037 INFO    ] time= 20/10/2026 23:51:51
[2026-10-20 23:51:51,087.087 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:51:51,136.136 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:51:51,279.279 INFO    ] No existing commands found in stream
[2026-10-20 23:51:56,302.302 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:51:56,304.304 INFO    ] Waiting 2.84 seconds before fallback handling...
[2026-10-20 23:51:59,645.645 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 23:51:59,648.648 INFO    ] Checking for system updates...
[2026-10-20 23:51:59,687.687 INFO    ] 200
[2026-10-20 23:51:59,690.690 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:51:59,748.748 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:51:59,751.751 INFO    ] No update needed
[2026-10-20 23:51:59,754.754 INFO    ] Checking for camera pi updates...
[2026-10-20 23:51:59,794.794 INFO    ] 200
[2026-10-20 23:51:59,797.797 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:51:59,840.840 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:51:59,899.899 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:51:59,902.902 INFO    ] No camera update needed
[2026-10-20 23:51:59,904.904 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:51:59,907.907 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:51:59,913.913 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:51:59,918.918 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:52:01,963.963 INFO    ] ================================================
[2026-10-20 23:52:01,988.988 INFO    ] Launching Daemon at Tue Oct 20 23:52:01 IST 2026
[2026-10-20 23:52:02,004.004 INFO    ] ================================================
[2026-10-20 23:52:02,653.653 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:52:02
[2026-10-20 23:52:03,320.320 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:52:03,591.591 INFO    ] Initializing speech engine...
[2026-10-20 23:52:03,600.600 INFO    ] 2026-10-20 23:52:03
[2026-10-20 23:52:03,852.852 INFO    ] 2026-10-20 23:52:03
[2026-10-20 23:52:03,886.886 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:52:04,085.085 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:52:04,125.125 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:52:04,293.293 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:52:04,330.330 INFO    ] time= 20/10/2026 23:52:04
[2026-10-20 23:52:04,379.379 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:52:04,429.429 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:52:04,571.571 INFO    ] No existing commands found in stream
[2026-10-20 23:52:09,591.591 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:52:09,594.594 INFO    ] Waiting 1.36 seconds before fallback handling...
[2026-10-20 23:52:11,464.464 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:52:11,466.466 INFO    ] Checking for system updates...
[2026-10-20 23:52:11,503.503 INFO    ] 200
[2026-10-20 23:52:11,505.505 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:52:11,558.558 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:52:11,560.560 INFO    ] No update needed
[2026-10-20 23:52:11,563.563 INFO    ] Checking for camera pi updates...
[2026-10-20 23:52:11,595.595 INFO    ] 200
[2026-10-20 23:52:11,598.598 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:52:11,639.639 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:52:11,681.681 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:52:11,684.684 INFO    ] No camera update needed
[2026-10-20 23:52:11,686.686 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:52:11,688.688 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:52:11,694.694 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:52:11,699.699 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:52:13,739.739 INFO    ] ================================================
[2026-10-20 23:52:13,754.754 INFO    ] Launching Daemon at Tue Oct 20 23:52:13 IST 2026
[2026-10-20 23:52:13,765.765 INFO    ] ================================================
[2026-10-20 23:52:14,330.330 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:52:14
[2026-10-20 23:52:14,915.915 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:52:15,190.190 INFO    ] Initializing speech engine...
[2026-10-20 23:52:15,204.204 INFO    ] 2026-10-20 23:52:15
[2026-10-20 23:52:15,454.454 INFO    ] 2026-10-20 23:52:15
[2026-10-20 23:52:15,496.496 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:52:15,747.747 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:52:15,756.756 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:52:15,896.896 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:52:15,951.951 INFO    ] time= 20/10/2026 23:52:15
[2026-10-20 23:52:16,016.016 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:52:16,031.031 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:52:16,179.179 INFO    ] No existing commands found in stream
[2026-10-20 23:52:21,202.202 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:52:21,205.205 INFO    ] Waiting 2.74 seconds before fallback handling...
[2026-10-20 23:52:24,457.457 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:52:24,460.460 INFO    ] Checking for system updates...
[2026-10-20 23:52:24,501.501 INFO    ] 200
[2026-10-20 23:52:24,504.504 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:52:24,562.562 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:52:24,565.565 INFO    ] No update needed
[2026-10-20 23:52:24,568.568 INFO    ] Checking for camera pi updates...
[2026-10-20 23:52:24,601.601 INFO    ] 200
[2026-10-20 23:52:24,604.604 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:52:24,651.651 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:52:24,795.795 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:52:24,797.797 INFO    ] No camera update needed
[2026-10-20 23:52:24,799.799 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:52:24,802.802 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:52:24,807.807 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:52:24,812.812 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:52:26,851.851 INFO    ] ================================================
[2026-10-20 23:52:26,866.866 INFO    ] Launching Daemon at Tue Oct 20 23:52:26 IST 2026
[2026-10-20 23:52:26,876.876 INFO    ] ================================================
[2026-10-20 23:52:27,444.444 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:52:27
[2026-10-20 23:52:28,099.099 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:52:28,395.395 INFO    ] Initializing speech engine...
[2026-10-20 23:52:28,409.409 INFO    ] 2026-10-20 23:52:28
[2026-10-20 23:52:28,685.685 INFO    ] 2026-10-20 23:52:28
[2026-10-20 23:52:28,730.730 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:52:28,949.949 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:52:28,958.958 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:52:29,109.109 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:52:29,170.170 INFO    ] time= 20/10/2026 23:52:29
[2026-10-20 23:52:29,221.221 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:52:29,228.228 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:52:29,376.376 INFO    ] No existing commands found in stream
[2026-10-20 23:52:34,404.404 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:52:34,407.407 INFO    ] Waiting 1.45 seconds before fallback handling...
[2026-10-20 23:52:36,403.403 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 23:52:36,406.406 INFO    ] Checking for system updates...
[2026-10-20 23:52:36,443.443 INFO    ] 200
[2026-10-20 23:52:36,445.445 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:52:36,503.503 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:52:36,505.505 INFO    ] No update needed
[2026-10-20 23:52:36,508.508 INFO    ] Checking for camera pi updates...
[2026-10-20 23:52:36,541.541 INFO    ] 200
[2026-10-20 23:52:36,543.543 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:52:36,587.587 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:52:36,647.647 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:52:36,649.649 INFO    ] No camera update needed
[2026-10-20 23:52:36,652.652 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:52:36,654.654 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:52:36,660.660 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:52:36,668.668 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:52:38,709.709 INFO    ] ================================================
[2026-10-20 23:52:38,724.724 INFO    ] Launching Daemon at Tue Oct 20 23:52:38 IST 2026
[2026-10-20 23:52:38,735.735 INFO    ] ================================================
[2026-10-20 23:52:39,301.301 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:52:39
[2026-10-20 23:52:39,881.881 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:52:40,149.149 INFO    ] Initializing speech engine...
[2026-10-20 23:52:40,158.158 INFO    ] 2026-10-20 23:52:40
[2026-10-20 23:52:40,403.403 INFO    ] 2026-10-20 23:52:40
[2026-10-20 23:52:40,438.438 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:52:40,689.689 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:52:40,698.698 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:52:40,837.837 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:52:40,902.902 INFO    ] time= 20/10/2026 23:52:40
[2026-10-20 23:52:40,956.956 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:52:40,966.966 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:52:41,101.101 INFO    ] No existing commands found in stream
[2026-10-20 23:52:46,122.122 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:52:46,125.125 INFO    ] Waiting 3.58 seconds before fallback handling...
[2026-10-20 23:52:50,197.197 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 23:52:50,199.199 INFO    ] Checking for system updates...
[2026-10-20 23:52:50,235.235 INFO    ] 200
[2026-10-20 23:52:50,238.238 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:52:50,294.294 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:52:50,297.297 INFO    ] No update needed
[2026-10-20 23:52:50,299.299 INFO    ] Checking for camera pi updates...
[2026-10-20 23:52:50,335.335 INFO    ] 200
[2026-10-20 23:52:50,337.337 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:52:50,377.377 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:52:50,424.424 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:52:50,427.427 INFO    ] No camera update needed
[2026-10-20 23:52:50,429.429 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:52:50,431.431 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:52:50,437.437 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:52:50,442.442 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:52:52,482.482 INFO    ] ================================================
[2026-10-20 23:52:52,497.497 INFO    ] Launching Daemon at Tue Oct 20 23:52:52 IST 2026
[2026-10-20 23:52:52,507.507 INFO    ] ================================================
[2026-10-20 23:52:53,091.091 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:52:53
[2026-10-20 23:52:53,742.742 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:52:54,037.037 INFO    ] Initializing speech engine...
[2026-10-20 23:52:54,045.045 INFO    ] 2026-10-20 23:52:54
[2026-10-20 23:52:54,315.315 INFO    ] 2026-10-20 23:52:54
[2026-10-20 23:52:54,371.371 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:52:54,657.657 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:52:54,662.662 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:52:54,847.847 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:52:54,864.864 INFO    ] time= 20/10/2026 23:52:54
[2026-10-20 23:52:54,882.882 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:52:54,911.911 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:52:55,099.099 INFO    ] No existing commands found in stream
[2026-10-20 23:53:00,123.123 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:53:00,126.126 INFO    ] Waiting 1.25 seconds before fallback handling...
[2026-10-20 23:53:04,279.279 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 23:53:04,282.282 INFO    ] Checking for system updates...
[2026-10-20 23:53:04,319.319 INFO    ] 200
[2026-10-20 23:53:04,322.322 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:53:04,381.381 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:53:04,384.384 INFO    ] No update needed
[2026-10-20 23:53:04,387.387 INFO    ] Checking for camera pi updates...
[2026-10-20 23:53:04,422.422 INFO    ] 200
[2026-10-20 23:53:04,424.424 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:53:04,469.469 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:53:04,503.503 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:53:04,506.506 INFO    ] No camera update needed
[2026-10-20 23:53:04,509.509 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:53:04,511.511 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:53:04,517.517 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:53:04,523.523 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:53:06,564.564 INFO    ] ================================================
[2026-10-20 23:53:06,579.579 INFO    ] Launching Daemon at Tue Oct 20 23:53:06 IST 2026
[2026-10-20 23:53:06,589.589 INFO    ] ================================================
[2026-10-20 23:53:07,161.161 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:53:07
[2026-10-20 23:53:07,820.820 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:53:08,121.121 INFO    ] Initializing speech engine...
[2026-10-20 23:53:08,130.130 INFO    ] 2026-10-20 23:53:08
[2026-10-20 23:53:08,417.417 INFO    ] 2026-10-20 23:53:08
[2026-10-20 23:53:08,464.464 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:53:08,749.749 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:53:08,758.758 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:53:08,961.961 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:53:08,979.979 INFO    ] time= 20/10/2026 23:53:08
[2026-10-20 23:53:09,010.010 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:53:09,019.019 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:53:09,124.124 INFO    ] No existing commands found in stream
[2026-10-20 23:53:14,154.154 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:53:14,157.157 INFO    ] Waiting 0.93 seconds before fallback handling...
[2026-10-20 23:53:15,690.690 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:53:15,693.693 INFO    ] Checking for system updates...
[2026-10-20 23:53:15,732.732 INFO    ] 200
[2026-10-20 23:53:15,735.735 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:53:15,789.789 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:53:15,792.792 INFO    ] No update needed
[2026-10-20 23:53:15,795.795 INFO    ] Checking for camera pi updates...
[2026-10-20 23:53:15,832.832 INFO    ] 200
[2026-10-20 23:53:15,835.835 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:53:15,876.876 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:53:15,934.934 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:53:15,936.936 INFO    ] No camera update needed
[2026-10-20 23:53:15,939.939 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:53:15,941.941 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:53:15,946.946 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:53:15,951.951 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:53:17,991.991 INFO    ] ================================================
[2026-10-20 23:53:18,006.006 INFO    ] Launching Daemon at Tue Oct 20 23:53:18 IST 2026
[2026-10-20 23:53:18,017.017 INFO    ] ================================================
[2026-10-20 23:53:18,610.610 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:53:18
[2026-10-20 23:53:19,214.214 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:53:19,488.488 INFO    ] Initializing speech engine...
[2026-10-20 23:53:19,498.498 INFO    ] 2026-10-20 23:53:19
[2026-10-20 23:53:19,763.763 INFO    ] 2026-10-20 23:53:19
[2026-10-20 23:53:19,817.817 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:53:20,041.041 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:53:20,050.050 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:53:20,226.226 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:53:20,285.285 INFO    ] time= 20/10/2026 23:53:20
[2026-10-20 23:53:20,317.317 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:53:20,332.332 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:53:20,445.445 INFO    ] No existing commands found in stream
[2026-10-20 23:53:25,475.475 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:53:25,478.478 INFO    ] Waiting 3.79 seconds before fallback handling...
[2026-10-20 23:53:29,747.747 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:53:29,750.750 INFO    ] Checking for system updates...
[2026-10-20 23:53:29,785.785 INFO    ] 200
[2026-10-20 23:53:29,787.787 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:53:29,845.845 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:53:29,847.847 INFO    ] No update needed
[2026-10-20 23:53:29,850.850 INFO    ] Checking for camera pi updates...
[2026-10-20 23:53:29,884.884 INFO    ] 200
[2026-10-20 23:53:29,887.887 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:53:29,933.933 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:53:29,979.979 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:53:29,982.982 INFO    ] No camera update needed
[2026-10-20 23:53:29,984.984 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:53:29,986.986 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:53:29,992.992 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:53:29,997.997 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:53:32,040.040 INFO    ] ================================================
[2026-10-20 23:53:32,056.056 INFO    ] Launching Daemon at Tue Oct 20 23:53:32 IST 2026
[2026-10-20 23:53:32,067.067 INFO    ] ================================================
[2026-10-20 23:53:32,660.660 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:53:32
[2026-10-20 23:53:33,256.256 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:53:33,522.522 INFO    ] Initializing speech engine...
[2026-10-20 23:53:33,531.531 INFO    ] 2026-10-20 23:53:33
[2026-10-20 23:53:33,775.775 INFO    ] 2026-10-20 23:53:33
[2026-10-20 23:53:33,809.809 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:53:34,063.063 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:53:34,067.067 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:53:34,200.200 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:53:34,260.260 INFO    ] time= 20/10/2026 23:53:34
[2026-10-20 23:53:34,319.319 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:53:34,329.329 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:53:34,463.463 INFO    ] No existing commands found in stream
[2026-10-20 23:53:39,489.489 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:53:39,491.491 INFO    ] Waiting 0.64 seconds before fallback handling...
[2026-10-20 23:53:40,688.688 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:53:40,691.691 INFO    ] Checking for system updates...
[2026-10-20 23:53:40,727.727 INFO    ] 200
[2026-10-20 23:53:40,730.730 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:53:40,784.784 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:53:40,786.786 INFO    ] No update needed
[2026-10-20 23:53:40,789.789 INFO    ] Checking for camera pi updates...
[2026-10-20 23:53:40,823.823 INFO    ] 200
[2026-10-20 23:53:40,826.826 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:53:40,870.870 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:53:40,924.924 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:53:40,927.927 INFO    ] No camera update needed
[2026-10-20 23:53:40,930.930 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:53:40,932.932 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:53:40,938.938 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:53:40,944.944 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:53:42,984.984 INFO    ] ================================================
[2026-10-20 23:53:43,999.999 INFO    ] Launching Daemon at Tue Oct 20 23:53:42 IST 2026
[2026-10-20 23:53:43,010.010 INFO    ] ================================================
[2026-10-20 23:53:43,577.577 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:53:43
[2026-10-20 23:53:44,161.161 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:53:44,429.429 INFO    ] Initializing speech engine...
[2026-10-20 23:53:44,438.438 INFO    ] 2026-10-20 23:53:44
[2026-10-20 23:53:44,685.685 INFO    ] 2026-10-20 23:53:44
[2026-10-20 23:53:44,719.719 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:53:44,972.972 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:53:44,981.981 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:53:45,189.189 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:53:45,239.239 INFO    ] time= 20/10/2026 23:53:45
[2026-10-20 23:53:45,246.246 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:53:45,263.263 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:53:45,392.392 INFO    ] No existing commands found in stream
[2026-10-20 23:53:50,405.405 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:53:50,408.408 INFO    ] Waiting 1.67 seconds before fallback handling...
[2026-10-20 23:53:52,579.579 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:53:52,582.582 INFO    ] Checking for system updates...
[2026-10-20 23:53:52,616.616 INFO    ] 200
[2026-10-20 23:53:52,619.619 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:53:52,670.670 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:53:52,673.673 INFO    ] No update needed
[2026-10-20 23:53:52,675.675 INFO    ] Checking for camera pi updates...
[2026-10-20 23:53:52,709.709 INFO    ] 200
[2026-10-20 23:53:52,712.712 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:53:52,760.760 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:53:52,810.810 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:53:52,813.813 INFO    ] No camera update needed
[2026-10-20 23:53:52,816.816 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:53:52,819.819 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:53:52,825.825 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:53:52,831.831 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:53:54,873.873 INFO    ] ================================================
[2026-10-20 23:53:54,888.888 INFO    ] Launching Daemon at Tue Oct 20 23:53:54 IST 2026
[2026-10-20 23:53:54,899.899 INFO    ] ================================================
[2026-10-20 23:53:55,465.465 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:53:55
[2026-10-20 23:53:56,050.050 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:53:56,302.302 INFO    ] Initializing speech engine...
[2026-10-20 23:53:56,311.311 INFO    ] 2026-10-20 23:53:56
[2026-10-20 23:53:56,600.600 INFO    ] 2026-10-20 23:53:56
[2026-10-20 23:53:56,635.635 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:53:56,856.856 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:53:56,910.910 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:53:57,089.089 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:53:57,144.144 INFO    ] time= 20/10/2026 23:53:57
[2026-10-20 23:53:57,178.178 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:53:57,228.228 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:53:57,367.367 INFO    ] No existing commands found in stream
[2026-10-20 23:54:02,391.391 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:54:02,394.394 INFO    ] Waiting 1.72 seconds before fallback handling...
[2026-10-20 23:54:04,618.618 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 23:54:04,621.621 INFO    ] Checking for system updates...
[2026-10-20 23:54:04,661.661 INFO    ] 200
[2026-10-20 23:54:04,663.663 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:54:04,716.716 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:54:04,718.718 INFO    ] No update needed
[2026-10-20 23:54:04,721.721 INFO    ] Checking for camera pi updates...
[2026-10-20 23:54:04,758.758 INFO    ] 200
[2026-10-20 23:54:04,760.760 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:54:04,801.801 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:54:04,855.855 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:54:04,857.857 INFO    ] No camera update needed
[2026-10-20 23:54:04,860.860 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:54:04,862.862 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:54:04,867.867 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:54:04,872.872 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:54:06,911.911 INFO    ] ================================================
[2026-10-20 23:54:06,926.926 INFO    ] Launching Daemon at Tue Oct 20 23:54:06 IST 2026
[2026-10-20 23:54:06,937.937 INFO    ] ================================================
[2026-10-20 23:54:07,520.520 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:54:07
[2026-10-20 23:54:08,126.126 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:54:08,377.377 INFO    ] Initializing speech engine...
[2026-10-20 23:54:08,382.382 INFO    ] 2026-10-20 23:54:08
[2026-10-20 23:54:08,685.685 INFO    ] 2026-10-20 23:54:08
[2026-10-20 23:54:08,724.724 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:54:08,935.935 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:54:08,952.952 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:54:09,107.107 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:54:09,114.114 INFO    ] time= 20/10/2026 23:54:09
[2026-10-20 23:54:09,142.142 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:54:09,190.190 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:54:09,319.319 INFO    ] No existing commands found in stream
[2026-10-20 23:54:14,344.344 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:54:14,347.347 INFO    ] Waiting 0.66 seconds before fallback handling...
[2026-10-20 23:54:15,546.546 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 23:54:15,548.548 INFO    ] Checking for system updates...
[2026-10-20 23:54:15,585.585 INFO    ] 200
[2026-10-20 23:54:15,587.587 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:54:15,638.638 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:54:15,641.641 INFO    ] No update needed
[2026-10-20 23:54:15,643.643 INFO    ] Checking for camera pi updates...
[2026-10-20 23:54:15,676.676 INFO    ] 200
[2026-10-20 23:54:15,679.679 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:54:15,720.720 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:54:15,768.768 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:54:15,771.771 INFO    ] No camera update needed
[2026-10-20 23:54:15,773.773 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:54:15,775.775 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:54:15,781.781 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:54:15,785.785 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:54:17,826.826 INFO    ] ================================================
[2026-10-20 23:54:17,841.841 INFO    ] Launching Daemon at Tue Oct 20 23:54:17 IST 2026
[2026-10-20 23:54:17,852.852 INFO    ] ================================================
[2026-10-20 23:54:18,490.490 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:54:18
[2026-10-20 23:54:19,163.163 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:54:19,464.464 INFO    ] Initializing speech engine...
[2026-10-20 23:54:19,477.477 INFO    ] 2026-10-20 23:54:19
[2026-10-20 23:54:19,755.755 INFO    ] 2026-10-20 23:54:19
[2026-10-20 23:54:19,801.801 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:54:20,050.050 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:54:20,055.055 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:54:20,285.285 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:54:20,293.293 INFO    ] time= 20/10/2026 23:54:20
[2026-10-20 23:54:20,315.315 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:54:20,344.344 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:54:20,497.497 INFO    ] No existing commands found in stream
[2026-10-20 23:54:25,533.533 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:54:25,536.536 INFO    ] Waiting 2.80 seconds before fallback handling...
[2026-10-20 23:54:28,880.880 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:54:28,883.883 INFO    ] Checking for system updates...
[2026-10-20 23:54:28,919.919 INFO    ] 200
[2026-10-20 23:54:28,922.922 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:54:28,974.974 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:54:28,977.977 INFO    ] No update needed
[2026-10-20 23:54:28,979.979 INFO    ] Checking for camera pi updates...
[2026-10-20 23:54:29,013.013 INFO    ] 200
[2026-10-20 23:54:29,015.015 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:54:29,055.055 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:54:29,198.198 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:54:29,201.201 INFO    ] No camera update needed
[2026-10-20 23:54:29,203.203 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:54:29,205.205 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:54:29,210.210 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:54:29,215.215 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:54:31,254.254 INFO    ] ================================================
[2026-10-20 23:54:31,269.269 INFO    ] Launching Daemon at Tue Oct 20 23:54:31 IST 2026
[2026-10-20 23:54:31,280.280 INFO    ] ================================================
[2026-10-20 23:54:31,882.882 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:54:31
[2026-10-20 23:54:32,498.498 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:54:32,768.768 INFO    ] Initializing speech engine...
[2026-10-20 23:54:32,773.773 INFO    ] 2026-10-20 23:54:32
[2026-10-20 23:54:33,072.072 INFO    ] 2026-10-20 23:54:33
[2026-10-20 23:54:33,153.153 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:54:33,397.397 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:54:33,406.406 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:54:33,624.624 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:54:33,664.664 INFO    ] time= 20/10/2026 23:54:33
[2026-10-20 23:54:33,670.670 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:54:33,688.688 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:54:33,812.812 INFO    ] No existing commands found in stream
[2026-10-20 23:54:38,828.828 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:54:38,831.831 INFO    ] Waiting 3.22 seconds before fallback handling...
[2026-10-20 23:54:42,614.614 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 23:54:42,617.617 INFO    ] Checking for system updates...
[2026-10-20 23:54:42,653.653 INFO    ] 200
[2026-10-20 23:54:42,655.655 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:54:42,706.706 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:54:42,709.709 INFO    ] No update needed
[2026-10-20 23:54:42,711.711 INFO    ] Checking for camera pi updates...
[2026-10-20 23:54:42,749.749 INFO    ] 200
[2026-10-20 23:54:42,752.752 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:54:42,791.791 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:54:42,844.844 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:54:42,847.847 INFO    ] No camera update needed
[2026-10-20 23:54:42,849.849 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:54:42,852.852 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:54:42,857.857 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:54:42,862.862 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:54:44,900.900 INFO    ] ================================================
[2026-10-20 23:54:44,915.915 INFO    ] Launching Daemon at Tue Oct 20 23:54:44 IST 2026
[2026-10-20 23:54:44,926.926 INFO    ] ================================================
[2026-10-20 23:54:45,508.508 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:54:45
[2026-10-20 23:54:46,106.106 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:54:46,385.385 INFO    ] Initializing speech engine...
[2026-10-20 23:54:46,393.393 INFO    ] 2026-10-20 23:54:46
[2026-10-20 23:54:46,646.646 INFO    ] 2026-10-20 23:54:46
[2026-10-20 23:54:46,682.682 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:54:46,938.938 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:54:46,943.943 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:54:47,153.153 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:54:47,204.204 INFO    ] time= 20/10/2026 23:54:47
[2026-10-20 23:54:47,210.210 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:54:47,228.228 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:54:47,349.349 INFO    ] No existing commands found in stream
[2026-10-20 23:54:52,370.370 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:54:52,373.373 INFO    ] Waiting 3.54 seconds before fallback handling...
[2026-10-20 23:54:56,441.441 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:54:56,444.444 INFO    ] Checking for system updates...
[2026-10-20 23:54:56,483.483 INFO    ] 200
[2026-10-20 23:54:56,486.486 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:54:56,537.537 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:54:56,540.540 INFO    ] No update needed
[2026-10-20 23:54:56,542.542 INFO    ] Checking for camera pi updates...
[2026-10-20 23:54:56,577.577 INFO    ] 200
[2026-10-20 23:54:56,580.580 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:54:56,621.621 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:54:56,666.666 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:54:56,669.669 INFO    ] No camera update needed
[2026-10-20 23:54:56,671.671 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:54:56,673.673 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:54:56,679.679 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:54:56,684.684 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:54:58,723.723 INFO    ] ================================================
[2026-10-20 23:54:58,737.737 INFO    ] Launching Daemon at Tue Oct 20 23:54:58 IST 2026
[2026-10-20 23:54:58,748.748 INFO    ] ================================================
[2026-10-20 23:54:59,319.319 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:54:59
[2026-10-20 23:54:59,903.903 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:55:00,170.170 INFO    ] Initializing speech engine...
[2026-10-20 23:55:00,179.179 INFO    ] 2026-10-20 23:55:00
[2026-10-20 23:55:00,423.423 INFO    ] 2026-10-20 23:55:00
[2026-10-20 23:55:00,459.459 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:55:00,714.714 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:55:00,718.718 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:55:00,941.941 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:55:00,975.975 INFO    ] time= 20/10/2026 23:55:00
[2026-10-20 23:55:00,981.981 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:55:00,998.998 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:55:01,121.121 INFO    ] No existing commands found in stream
[2026-10-20 23:55:06,166.166 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:55:06,169.169 INFO    ] Waiting 2.23 seconds before fallback handling...
[2026-10-20 23:55:08,893.893 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 23:55:08,895.895 INFO    ] Checking for system updates...
[2026-10-20 23:55:08,931.931 INFO    ] 200
[2026-10-20 23:55:08,933.933 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:55:08,990.990 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:55:08,992.992 INFO    ] No update needed
[2026-10-20 23:55:08,994.994 INFO    ] Checking for camera pi updates...
[2026-10-20 23:55:09,028.028 INFO    ] 200
[2026-10-20 23:55:09,030.030 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:55:09,077.077 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:55:09,126.126 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:55:09,129.129 INFO    ] No camera update needed
[2026-10-20 23:55:09,131.131 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:55:09,134.134 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:55:09,139.139 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:55:09,144.144 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:55:11,185.185 INFO    ] ================================================
[2026-10-20 23:55:11,200.200 INFO    ] Launching Daemon at Tue Oct 20 23:55:11 IST 2026
[2026-10-20 23:55:11,211.211 INFO    ] ================================================
[2026-10-20 23:55:11,777.777 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:55:11
[2026-10-20 23:55:12,360.360 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:55:12,613.613 INFO    ] Initializing speech engine...
[2026-10-20 23:55:12,629.629 INFO    ] 2026-10-20 23:55:12
[2026-10-20 23:55:12,896.896 INFO    ] 2026-10-20 23:55:12
[2026-10-20 23:55:12,929.929 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:55:13,132.132 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:55:13,192.192 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:55:13,408.408 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:55:13,463.463 INFO    ] time= 20/10/2026 23:55:13
[2026-10-20 23:55:13,471.471 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:55:13,488.488 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:55:13,624.624 INFO    ] No existing commands found in stream
[2026-10-20 23:55:18,639.639 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:55:18,642.642 INFO    ] Waiting 1.89 seconds before fallback handling...
[2026-10-20 23:55:21,011.011 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:55:21,014.014 INFO    ] Checking for system updates...
[2026-10-20 23:55:21,052.052 INFO    ] 200
[2026-10-20 23:55:21,054.054 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:55:21,107.107 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:55:21,110.110 INFO    ] No update needed
[2026-10-20 23:55:21,112.112 INFO    ] Checking for camera pi updates...
[2026-10-20 23:55:21,145.145 INFO    ] 200
[2026-10-20 23:55:21,148.148 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:55:21,192.192 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:55:21,248.248 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:55:21,250.250 INFO    ] No camera update needed
[2026-10-20 23:55:21,253.253 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:55:21,255.255 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:55:21,260.260 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:55:21,266.266 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:55:23,315.315 INFO    ] ================================================
[2026-10-20 23:55:23,330.330 INFO    ] Launching Daemon at Tue Oct 20 23:55:23 IST 2026
[2026-10-20 23:55:23,341.341 INFO    ] ================================================
[2026-10-20 23:55:23,962.962 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:55:23
[2026-10-20 23:55:24,546.546 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:55:24,791.791 INFO    ] Initializing speech engine...
[2026-10-20 23:55:24,799.799 INFO    ] 2026-10-20 23:55:24
[2026-10-20 23:55:25,073.073 INFO    ] 2026-10-20 23:55:25
[2026-10-20 23:55:25,109.109 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:55:25,366.366 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:55:25,375.375 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:55:25,512.512 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:55:25,562.562 INFO    ] time= 20/10/2026 23:55:25
[2026-10-20 23:55:25,616.616 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:55:25,645.645 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:55:25,799.799 INFO    ] No existing commands found in stream
[2026-10-20 23:55:30,821.821 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:55:30,824.824 INFO    ] Waiting 2.51 seconds before fallback handling...
[2026-10-20 23:55:33,836.836 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:55:33,839.839 INFO    ] Checking for system updates...
[2026-10-20 23:55:33,875.875 INFO    ] 200
[2026-10-20 23:55:33,877.877 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:55:33,931.931 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:55:33,934.934 INFO    ] No update needed
[2026-10-20 23:55:33,936.936 INFO    ] Checking for camera pi updates...
[2026-10-20 23:55:33,970.970 INFO    ] 200
[2026-10-20 23:55:33,972.972 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:55:34,017.017 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:55:34,078.078 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:55:34,081.081 INFO    ] No camera update needed
[2026-10-20 23:55:34,083.083 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:55:34,085.085 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:55:34,091.091 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:55:34,096.096 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:55:36,136.136 INFO    ] ================================================
[2026-10-20 23:55:36,151.151 INFO    ] Launching Daemon at Tue Oct 20 23:55:36 IST 2026
[2026-10-20 23:55:36,162.162 INFO    ] ================================================
[2026-10-20 23:55:36,790.790 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:55:36
[2026-10-20 23:55:37,376.376 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:55:37,631.631 INFO    ] Initializing speech engine...
[2026-10-20 23:55:37,647.647 INFO    ] 2026-10-20 23:55:37
[2026-10-20 23:55:37,922.922 INFO    ] 2026-10-20 23:55:37
[2026-10-20 23:55:37,947.947 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:55:38,161.161 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:55:38,217.217 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:55:38,450.450 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:55:38,481.481 INFO    ] time= 20/10/2026 23:55:38
[2026-10-20 23:55:38,487.487 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:55:38,504.504 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:55:38,630.630 INFO    ] No existing commands found in stream
[2026-10-20 23:55:43,647.647 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:55:43,654.654 INFO    ] Waiting 2.84 seconds before fallback handling...
[2026-10-20 23:55:46,990.990 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:55:46,993.993 INFO    ] Checking for system updates...
[2026-10-20 23:55:47,028.028 INFO    ] 200
[2026-10-20 23:55:47,031.031 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:55:47,085.085 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:55:47,087.087 INFO    ] No update needed
[2026-10-20 23:55:47,090.090 INFO    ] Checking for camera pi updates...
[2026-10-20 23:55:47,127.127 INFO    ] 200
[2026-10-20 23:55:47,130.130 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:55:47,176.176 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:55:47,229.229 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:55:47,231.231 INFO    ] No camera update needed
[2026-10-20 23:55:47,234.234 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:55:47,236.236 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:55:47,243.243 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:55:47,248.248 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:55:49,288.288 INFO    ] ================================================
[2026-10-20 23:55:49,307.307 INFO    ] Launching Daemon at Tue Oct 20 23:55:49 IST 2026
[2026-10-20 23:55:49,318.318 INFO    ] ================================================
[2026-10-20 23:55:49,956.956 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:55:49
[2026-10-20 23:55:50,611.611 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:55:50,904.904 INFO    ] Initializing speech engine...
[2026-10-20 23:55:50,914.914 INFO    ] 2026-10-20 23:55:50
[2026-10-20 23:55:51,183.183 INFO    ] 2026-10-20 23:55:51
[2026-10-20 23:55:51,239.239 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:55:51,519.519 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:55:51,527.527 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:55:51,721.721 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:55:51,730.730 INFO    ] time= 20/10/2026 23:55:51
[2026-10-20 23:55:51,749.749 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:55:51,777.777 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:55:51,902.902 INFO    ] No existing commands found in stream
[2026-10-20 23:55:56,933.933 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:55:56,936.936 INFO    ] Waiting 0.76 seconds before fallback handling...
[2026-10-20 23:55:58,208.208 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:55:58,211.211 INFO    ] Checking for system updates...
[2026-10-20 23:55:58,247.247 INFO    ] 200
[2026-10-20 23:55:58,250.250 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:55:58,309.309 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:55:58,312.312 INFO    ] No update needed
[2026-10-20 23:55:58,315.315 INFO    ] Checking for camera pi updates...
[2026-10-20 23:55:58,349.349 INFO    ] 200
[2026-10-20 23:55:58,352.352 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:55:58,398.398 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:55:58,451.451 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:55:58,454.454 INFO    ] No camera update needed
[2026-10-20 23:55:58,457.457 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:55:58,459.459 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:55:58,465.465 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:55:58,471.471 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:56:00,510.510 INFO    ] ================================================
[2026-10-20 23:56:00,525.525 INFO    ] Launching Daemon at Tue Oct 20 23:56:00 IST 2026
[2026-10-20 23:56:00,535.535 INFO    ] ================================================
[2026-10-20 23:56:01,113.113 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:56:01
[2026-10-20 23:56:01,812.812 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:56:02,199.199 INFO    ] Initializing speech engine...
[2026-10-20 23:56:02,210.210 INFO    ] 2026-10-20 23:56:02
[2026-10-20 23:56:02,532.532 INFO    ] 2026-10-20 23:56:02
[2026-10-20 23:56:02,578.578 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:56:02,823.823 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:56:02,827.827 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:56:02,979.979 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:56:02,997.997 INFO    ] time= 20/10/2026 23:56:02
[2026-10-20 23:56:03,052.052 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:56:03,072.072 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:56:03,147.147 INFO    ] No existing commands found in stream
[2026-10-20 23:56:08,156.156 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:56:08,159.159 INFO    ] Waiting 3.42 seconds before fallback handling...
[2026-10-20 23:56:12,102.102 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 23:56:12,105.105 INFO    ] Checking for system updates...
[2026-10-20 23:56:12,140.140 INFO    ] 200
[2026-10-20 23:56:12,142.142 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:56:12,198.198 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:56:12,201.201 INFO    ] No update needed
[2026-10-20 23:56:12,203.203 INFO    ] Checking for camera pi updates...
[2026-10-20 23:56:12,236.236 INFO    ] 200
[2026-10-20 23:56:12,239.239 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:56:12,283.283 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:56:12,331.331 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:56:12,333.333 INFO    ] No camera update needed
[2026-10-20 23:56:12,335.335 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:56:12,338.338 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:56:12,343.343 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:56:12,348.348 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:56:14,389.389 INFO    ] ================================================
[2026-10-20 23:56:14,404.404 INFO    ] Launching Daemon at Tue Oct 20 23:56:14 IST 2026
[2026-10-20 23:56:14,416.416 INFO    ] ================================================
[2026-10-20 23:56:15,068.068 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:56:15
[2026-10-20 23:56:15,739.739 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:56:16,041.041 INFO    ] Initializing speech engine...
[2026-10-20 23:56:16,050.050 INFO    ] 2026-10-20 23:56:16
[2026-10-20 23:56:16,333.333 INFO    ] 2026-10-20 23:56:16
[2026-10-20 23:56:16,379.379 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:56:16,664.664 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:56:16,673.673 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:56:16,867.867 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:56:16,886.886 INFO    ] time= 20/10/2026 23:56:16
[2026-10-20 23:56:16,915.915 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:56:16,924.924 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:56:17,044.044 INFO    ] No existing commands found in stream
[2026-10-20 23:56:22,075.075 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:56:22,078.078 INFO    ] Waiting 3.11 seconds before fallback handling...
[2026-10-20 23:56:25,741.741 INFO    ] {'response': {'msg': 'order updated', 'status': False, 'data': 'order updated'}}
[2026-10-20 23:56:25,744.744 INFO    ] Checking for system updates...
[2026-10-20 23:56:25,781.781 INFO    ] 200
[2026-10-20 23:56:25,784.784 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:56:25,844.844 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:56:25,847.847 INFO    ] No update needed
[2026-10-20 23:56:25,849.849 INFO    ] Checking for camera pi updates...
[2026-10-20 23:56:25,884.884 INFO    ] 200
[2026-10-20 23:56:25,887.887 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:56:25,933.933 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:56:25,994.994 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:56:25,997.997 INFO    ] No camera update needed
[2026-10-20 23:56:26,000.000 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:56:26,002.002 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:56:26,008.008 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:56:26,014.014 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:56:28,055.055 INFO    ] ================================================
[2026-10-20 23:56:28,070.070 INFO    ] Launching Daemon at Tue Oct 20 23:56:28 IST 2026
[2026-10-20 23:56:28,081.081 INFO    ] ================================================
[2026-10-20 23:56:28,667.667 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:56:28
[2026-10-20 23:56:29,258.258 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:56:29,525.525 INFO    ] Initializing speech engine...
[2026-10-20 23:56:29,534.534 INFO    ] 2026-10-20 23:56:29
[2026-10-20 23:56:29,798.798 INFO    ] 2026-10-20 23:56:29
[2026-10-20 23:56:29,828.828 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:56:30,079.079 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:56:30,085.085 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:56:30,235.235 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:56:30,299.299 INFO    ] time= 20/10/2026 23:56:30
[2026-10-20 23:56:30,347.347 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:56:30,353.353 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:56:30,501.501 INFO    ] No existing commands found in stream
[2026-10-20 23:56:35,520.520 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:56:35,523.523 INFO    ] Waiting 0.26 seconds before fallback handling...
[2026-10-20 23:56:36,309.309 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:56:36,312.312 INFO    ] Checking for system updates...
[2026-10-20 23:56:36,347.347 INFO    ] 200
[2026-10-20 23:56:36,350.350 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:56:36,402.402 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:56:36,404.404 INFO    ] No update needed
[2026-10-20 23:56:36,406.406 INFO    ] Checking for camera pi updates...
[2026-10-20 23:56:36,440.440 INFO    ] 200
[2026-10-20 23:56:36,442.442 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:56:36,487.487 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:56:36,535.535 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:56:36,537.537 INFO    ] No camera update needed
[2026-10-20 23:56:36,539.539 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:56:36,542.542 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:56:36,547.547 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:56:36,552.552 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:56:38,606.606 INFO    ] ================================================
[2026-10-20 23:56:38,621.621 INFO    ] Launching Daemon at Tue Oct 20 23:56:38 IST 2026
[2026-10-20 23:56:38,632.632 INFO    ] ================================================
[2026-10-20 23:56:39,285.285 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:56:39
[2026-10-20 23:56:39,959.959 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:56:40,268.268 INFO    ] Initializing speech engine...
[2026-10-20 23:56:40,280.280 INFO    ] 2026-10-20 23:56:40
[2026-10-20 23:56:40,589.589 INFO    ] 2026-10-20 23:56:40
[2026-10-20 23:56:40,675.675 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:56:40,893.893 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:56:40,900.900 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:56:41,095.095 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:56:41,117.117 INFO    ] time= 20/10/2026 23:56:41
[2026-10-20 23:56:41,142.142 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:56:41,154.154 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:56:41,254.254 INFO    ] No existing commands found in stream
[2026-10-20 23:56:46,275.275 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:56:46,279.279 INFO    ] Waiting 0.31 seconds before fallback handling...
[2026-10-20 23:56:47,149.149 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:56:47,152.152 INFO    ] Checking for system updates...
[2026-10-20 23:56:47,188.188 INFO    ] 200
[2026-10-20 23:56:47,191.191 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:56:47,244.244 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:56:47,247.247 INFO    ] No update needed
[2026-10-20 23:56:47,250.250 INFO    ] Checking for camera pi updates...
[2026-10-20 23:56:47,285.285 INFO    ] 200
[2026-10-20 23:56:47,288.288 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:56:47,329.329 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:56:47,386.386 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:56:47,389.389 INFO    ] No camera update needed
[2026-10-20 23:56:47,392.392 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:56:47,394.394 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:56:47,401.401 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:56:47,407.407 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:56:49,447.447 INFO    ] ================================================
[2026-10-20 23:56:49,462.462 INFO    ] Launching Daemon at Tue Oct 20 23:56:49 IST 2026
[2026-10-20 23:56:49,473.473 INFO    ] ================================================
[2026-10-20 23:56:50,133.133 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:56:50
[2026-10-20 23:56:50,804.804 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:56:51,106.106 INFO    ] Initializing speech engine...
[2026-10-20 23:56:51,120.120 INFO    ] 2026-10-20 23:56:51
[2026-10-20 23:56:51,384.384 INFO    ] 2026-10-20 23:56:51
[2026-10-20 23:56:51,442.442 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:56:51,674.674 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:56:51,683.683 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:56:51,906.906 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:56:51,951.951 INFO    ] time= 20/10/2026 23:56:51
[2026-10-20 23:56:51,968.968 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:56:51,979.979 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:56:52,112.112 INFO    ] No existing commands found in stream
[2026-10-20 23:56:57,127.127 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:56:57,131.131 INFO    ] Waiting 0.78 seconds before fallback handling...
[2026-10-20 23:56:58,423.423 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:56:58,426.426 INFO    ] Checking for system updates...
[2026-10-20 23:56:58,462.462 INFO    ] 200
[2026-10-20 23:56:58,465.465 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:56:58,520.520 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:56:58,523.523 INFO    ] No update needed
[2026-10-20 23:56:58,526.526 INFO    ] Checking for camera pi updates...
[2026-10-20 23:56:58,561.561 INFO    ] 200
[2026-10-20 23:56:58,564.564 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:56:58,605.605 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:56:58,662.662 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:56:58,672.672 INFO    ] No camera update needed
[2026-10-20 23:56:58,675.675 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:56:58,678.678 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:56:58,684.684 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:56:58,690.690 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:57:00,731.731 INFO    ] ================================================
[2026-10-20 23:57:00,747.747 INFO    ] Launching Daemon at Tue Oct 20 23:57:00 IST 2026
[2026-10-20 23:57:00,757.757 INFO    ] ================================================
[2026-10-20 23:57:01,418.418 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:57:01
[2026-10-20 23:57:02,217.217 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:57:02,582.582 INFO    ] Initializing speech engine...
[2026-10-20 23:57:02,589.589 INFO    ] 2026-10-20 23:57:02
[2026-10-20 23:57:02,886.886 INFO    ] 2026-10-20 23:57:02
[2026-10-20 23:57:02,921.921 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:57:03,109.109 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:57:03,169.169 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:57:03,358.358 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:57:03,409.409 INFO    ] time= 20/10/2026 23:57:03
[2026-10-20 23:57:03,456.456 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:57:03,505.505 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:57:03,629.629 INFO    ] No existing commands found in stream
[2026-10-20 23:57:08,656.656 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:57:08,659.659 INFO    ] Waiting 0.18 seconds before fallback handling...
[2026-10-20 23:57:09,313.313 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 23:57:09,316.316 INFO    ] Checking for system updates...
[2026-10-20 23:57:09,352.352 INFO    ] 200
[2026-10-20 23:57:09,354.354 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:57:09,408.408 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:57:09,410.410 INFO    ] No update needed
[2026-10-20 23:57:09,412.412 INFO    ] Checking for camera pi updates...
[2026-10-20 23:57:09,450.450 INFO    ] 200
[2026-10-20 23:57:09,452.452 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:57:09,497.497 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:57:09,543.543 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:57:09,545.545 INFO    ] No camera update needed
[2026-10-20 23:57:09,547.547 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:57:09,550.550 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:57:09,555.555 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:57:09,560.560 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:57:11,599.599 INFO    ] ================================================
[2026-10-20 23:57:11,615.615 INFO    ] Launching Daemon at Tue Oct 20 23:57:11 IST 2026
[2026-10-20 23:57:11,626.626 INFO    ] ================================================
[2026-10-20 23:57:12,206.206 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:57:12
[2026-10-20 23:57:12,805.805 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:57:13,058.058 INFO    ] Initializing speech engine...
[2026-10-20 23:57:13,081.081 INFO    ] 2026-10-20 23:57:13
[2026-10-20 23:57:13,336.336 INFO    ] 2026-10-20 23:57:13
[2026-10-20 23:57:13,378.378 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:57:13,624.624 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:57:13,634.634 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:57:13,784.784 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:57:13,839.839 INFO    ] time= 20/10/2026 23:57:13
[2026-10-20 23:57:13,888.888 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:57:13,900.900 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:57:14,038.038 INFO    ] No existing commands found in stream
[2026-10-20 23:57:19,057.057 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:57:19,060.060 INFO    ] Waiting 0.13 seconds before fallback handling...
[2026-10-20 23:57:19,716.716 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:57:19,719.719 INFO    ] Checking for system updates...
[2026-10-20 23:57:19,755.755 INFO    ] 200
[2026-10-20 23:57:19,757.757 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:57:19,810.810 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:57:19,813.813 INFO    ] No update needed
[2026-10-20 23:57:19,815.815 INFO    ] Checking for camera pi updates...
[2026-10-20 23:57:19,849.849 INFO    ] 200
[2026-10-20 23:57:19,851.851 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:57:19,896.896 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:57:19,945.945 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:57:19,948.948 INFO    ] No camera update needed
[2026-10-20 23:57:19,950.950 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:57:19,953.953 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:57:19,958.958 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:57:19,963.963 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:57:22,004.004 INFO    ] ================================================
[2026-10-20 23:57:22,019.019 INFO    ] Launching Daemon at Tue Oct 20 23:57:22 IST 2026
[2026-10-20 23:57:22,030.030 INFO    ] ================================================
[2026-10-20 23:57:22,608.608 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:57:22
[2026-10-20 23:57:23,207.207 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:57:23,496.496 INFO    ] Initializing speech engine...
[2026-10-20 23:57:23,506.506 INFO    ] 2026-10-20 23:57:23
[2026-10-20 23:57:23,776.776 INFO    ] 2026-10-20 23:57:23
[2026-10-20 23:57:23,817.817 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:57:24,027.027 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:57:24,045.045 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:57:24,195.195 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:57:24,203.203 INFO    ] time= 20/10/2026 23:57:24
[2026-10-20 23:57:24,211.211 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:57:24,217.217 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:57:24,356.356 INFO    ] No existing commands found in stream
[2026-10-20 23:57:29,381.381 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:57:29,384.384 INFO    ] Waiting 1.98 seconds before fallback handling...
[2026-10-20 23:57:31,923.923 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 23:57:31,926.926 INFO    ] Checking for system updates...
[2026-10-20 23:57:31,966.966 INFO    ] 200
[2026-10-20 23:57:31,970.970 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:57:32,030.030 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:57:32,033.033 INFO    ] No update needed
[2026-10-20 23:57:32,036.036 INFO    ] Checking for camera pi updates...
[2026-10-20 23:57:32,074.074 INFO    ] 200
[2026-10-20 23:57:32,077.077 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:57:32,123.123 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:57:32,155.155 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:57:32,158.158 INFO    ] No camera update needed
[2026-10-20 23:57:32,161.161 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:57:32,164.164 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:57:32,172.172 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:57:32,178.178 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:57:34,218.218 INFO    ] ================================================
[2026-10-20 23:57:34,234.234 INFO    ] Launching Daemon at Tue Oct 20 23:57:34 IST 2026
[2026-10-20 23:57:34,245.245 INFO    ] ================================================
[2026-10-20 23:57:34,844.844 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:57:34
[2026-10-20 23:57:35,526.526 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:57:35,836.836 INFO    ] Initializing speech engine...
[2026-10-20 23:57:35,847.847 INFO    ] 2026-10-20 23:57:35
[2026-10-20 23:57:36,155.155 INFO    ] 2026-10-20 23:57:36
[2026-10-20 23:57:36,241.241 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:57:36,456.456 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:57:36,465.465 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:57:36,656.656 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:57:36,674.674 INFO    ] time= 20/10/2026 23:57:36
[2026-10-20 23:57:36,684.684 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:57:36,713.713 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:57:36,823.823 INFO    ] No existing commands found in stream
[2026-10-20 23:57:41,858.858 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:57:41,861.861 INFO    ] Waiting 3.50 seconds before fallback handling...
[2026-10-20 23:57:45,912.912 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 23:57:45,915.915 INFO    ] Checking for system updates...
[2026-10-20 23:57:45,952.952 INFO    ] 200
[2026-10-20 23:57:45,955.955 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:57:46,016.016 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:57:46,019.019 INFO    ] No update needed
[2026-10-20 23:57:46,022.022 INFO    ] Checking for camera pi updates...
[2026-10-20 23:57:46,061.061 INFO    ] 200
[2026-10-20 23:57:46,064.064 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:57:46,105.105 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:57:46,159.159 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:57:46,162.162 INFO    ] No camera update needed
[2026-10-20 23:57:46,165.165 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:57:46,167.167 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:57:46,174.174 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:57:46,180.180 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:57:48,220.220 INFO    ] ================================================
[2026-10-20 23:57:48,238.238 INFO    ] Launching Daemon at Tue Oct 20 23:57:48 IST 2026
[2026-10-20 23:57:48,250.250 INFO    ] ================================================
[2026-10-20 23:57:48,914.914 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:57:48
[2026-10-20 23:57:49,598.598 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:57:49,908.908 INFO    ] Initializing speech engine...
[2026-10-20 23:57:49,920.920 INFO    ] 2026-10-20 23:57:49
[2026-10-20 23:57:50,231.231 INFO    ] 2026-10-20 23:57:50
[2026-10-20 23:57:50,314.314 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:57:50,529.529 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:57:50,536.536 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:57:50,727.727 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:57:50,735.735 INFO    ] time= 20/10/2026 23:57:50
[2026-10-20 23:57:50,757.757 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:57:50,786.786 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:57:50,900.900 INFO    ] No existing commands found in stream
[2026-10-20 23:57:55,936.936 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:57:55,939.939 INFO    ] Waiting 0.05 seconds before fallback handling...
[2026-10-20 23:57:56,513.513 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 23:57:56,516.516 INFO    ] Checking for system updates...
[2026-10-20 23:57:56,553.553 INFO    ] 200
[2026-10-20 23:57:56,556.556 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:57:56,609.609 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:57:56,612.612 INFO    ] No update needed
[2026-10-20 23:57:56,615.615 INFO    ] Checking for camera pi updates...
[2026-10-20 23:57:56,659.659 INFO    ] 200
[2026-10-20 23:57:56,662.662 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:57:56,704.704 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:57:56,750.750 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:57:56,753.753 INFO    ] No camera update needed
[2026-10-20 23:57:56,756.756 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:57:56,759.759 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:57:56,765.765 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:57:56,771.771 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:57:58,813.813 INFO    ] ================================================
[2026-10-20 23:57:58,828.828 INFO    ] Launching Daemon at Tue Oct 20 23:57:58 IST 2026
[2026-10-20 23:57:58,839.839 INFO    ] ================================================
[2026-10-20 23:57:59,416.416 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:57:59
[2026-10-20 23:57:59,998.998 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:58:00,266.266 INFO    ] Initializing speech engine...
[2026-10-20 23:58:00,276.276 INFO    ] 2026-10-20 23:58:00
[2026-10-20 23:58:00,521.521 INFO    ] 2026-10-20 23:58:00
[2026-10-20 23:58:00,556.556 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:58:00,807.807 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:58:00,816.816 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:58:00,950.950 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:58:01,005.005 INFO    ] time= 20/10/2026 23:58:00
[2026-10-20 23:58:01,059.059 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:58:01,082.082 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:58:01,228.228 INFO    ] No existing commands found in stream
[2026-10-20 23:58:06,240.240 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:58:06,242.242 INFO    ] Waiting 0.95 seconds before fallback handling...
[2026-10-20 23:58:07,688.688 INFO    ] {'response': {'data': 'order updated', 'msg': 'order updated', 'status': False}}
[2026-10-20 23:58:07,691.691 INFO    ] Checking for system updates...
[2026-10-20 23:58:07,728.728 INFO    ] 200
[2026-10-20 23:58:07,731.731 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:58:07,783.783 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:58:07,785.785 INFO    ] No update needed
[2026-10-20 23:58:07,788.788 INFO    ] Checking for camera pi updates...
[2026-10-20 23:58:07,821.821 INFO    ] 200
[2026-10-20 23:58:07,824.824 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:58:07,864.864 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:58:07,917.917 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:58:07,919.919 INFO    ] No camera update needed
[2026-10-20 23:58:07,922.922 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:58:07,924.924 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:58:07,929.929 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:58:07,934.934 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:58:09,975.975 INFO    ] ================================================
[2026-10-20 23:58:09,990.990 INFO    ] Launching Daemon at Tue Oct 20 23:58:09 IST 2026
[2026-10-20 23:58:10,001.001 INFO    ] ================================================
[2026-10-20 23:58:10,588.588 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:58:10
[2026-10-20 23:58:11,194.194 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:58:11,473.473 INFO    ] Initializing speech engine...
[2026-10-20 23:58:11,480.480 INFO    ] 2026-10-20 23:58:11
[2026-10-20 23:58:11,740.740 INFO    ] 2026-10-20 23:58:11
[2026-10-20 23:58:11,770.770 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:58:12,020.020 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:58:12,025.025 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:58:12,226.226 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:58:12,282.282 INFO    ] time= 20/10/2026 23:58:12
[2026-10-20 23:58:12,289.289 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:58:12,307.307 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:58:12,438.438 INFO    ] No existing commands found in stream
[2026-10-20 23:58:17,451.451 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:58:17,454.454 INFO    ] Waiting 2.08 seconds before fallback handling...
[2026-10-20 23:58:20,090.090 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 23:58:20,092.092 INFO    ] Checking for system updates...
[2026-10-20 23:58:20,129.129 INFO    ] 200
[2026-10-20 23:58:20,131.131 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:58:20,184.184 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:58:20,187.187 INFO    ] No update needed
[2026-10-20 23:58:20,189.189 INFO    ] Checking for camera pi updates...
[2026-10-20 23:58:20,222.222 INFO    ] 200
[2026-10-20 23:58:20,224.224 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:58:20,263.263 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:58:20,309.309 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:58:20,311.311 INFO    ] No camera update needed
[2026-10-20 23:58:20,314.314 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:58:20,317.317 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:58:20,323.323 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:58:20,328.328 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:58:22,367.367 INFO    ] ================================================
[2026-10-20 23:58:22,382.382 INFO    ] Launching Daemon at Tue Oct 20 23:58:22 IST 2026
[2026-10-20 23:58:22,392.392 INFO    ] ================================================
[2026-10-20 23:58:22,958.958 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:58:22
[2026-10-20 23:58:23,540.540 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:58:23,811.811 INFO    ] Initializing speech engine...
[2026-10-20 23:58:23,822.822 INFO    ] 2026-10-20 23:58:23
[2026-10-20 23:58:24,065.065 INFO    ] 2026-10-20 23:58:24
[2026-10-20 23:58:24,090.090 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:58:24,304.304 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:58:24,324.324 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:58:24,503.503 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:58:24,529.529 INFO    ] time= 20/10/2026 23:58:24
[2026-10-20 23:58:24,588.588 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:58:24,635.635 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:58:24,783.783 INFO    ] No existing commands found in stream
[2026-10-20 23:58:29,798.798 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:58:29,801.801 INFO    ] Waiting 3.70 seconds before fallback handling...
[2026-10-20 23:58:34,034.034 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:58:34,037.037 INFO    ] Checking for system updates...
[2026-10-20 23:58:34,072.072 INFO    ] 200
[2026-10-20 23:58:34,074.074 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:58:34,148.148 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:58:34,150.150 INFO    ] No update needed
[2026-10-20 23:58:34,153.153 INFO    ] Checking for camera pi updates...
[2026-10-20 23:58:34,186.186 INFO    ] 200
[2026-10-20 23:58:34,188.188 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:58:34,229.229 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:58:34,376.376 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:58:34,378.378 INFO    ] No camera update needed
[2026-10-20 23:58:34,381.381 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:58:34,383.383 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:58:34,388.388 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:58:34,393.393 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:58:36,434.434 INFO    ] ================================================
[2026-10-20 23:58:36,449.449 INFO    ] Launching Daemon at Tue Oct 20 23:58:36 IST 2026
[2026-10-20 23:58:36,460.460 INFO    ] ================================================
[2026-10-20 23:58:37,035.035 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:58:37
[2026-10-20 23:58:37,632.632 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:58:37,892.892 INFO    ] Initializing speech engine...
[2026-10-20 23:58:37,896.896 INFO    ] 2026-10-20 23:58:37
[2026-10-20 23:58:38,197.197 INFO    ] 2026-10-20 23:58:38
[2026-10-20 23:58:38,233.233 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:58:38,438.438 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:58:38,453.453 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:58:38,619.619 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:58:38,628.628 INFO    ] time= 20/10/2026 23:58:38
[2026-10-20 23:58:38,633.633 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:58:38,640.640 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:58:38,718.718 INFO    ] No existing commands found in stream
[2026-10-20 23:58:43,743.743 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:58:43,746.746 INFO    ] Waiting 3.32 seconds before fallback handling...
[2026-10-20 23:58:47,551.551 INFO    ] {'response': {'status': False, 'data': 'order updated', 'msg': 'order updated'}}
[2026-10-20 23:58:47,553.553 INFO    ] Checking for system updates...
[2026-10-20 23:58:47,590.590 INFO    ] 200
[2026-10-20 23:58:47,592.592 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:58:47,643.643 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:58:47,646.646 INFO    ] No update needed
[2026-10-20 23:58:47,648.648 INFO    ] Checking for camera pi updates...
[2026-10-20 23:58:47,681.681 INFO    ] 200
[2026-10-20 23:58:47,684.684 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:58:47,725.725 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:58:47,770.770 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:58:47,772.772 INFO    ] No camera update needed
[2026-10-20 23:58:47,774.774 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:58:47,777.777 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:58:47,782.782 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:58:47,787.787 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:58:49,829.829 INFO    ] ================================================
[2026-10-20 23:58:49,844.844 INFO    ] Launching Daemon at Tue Oct 20 23:58:49 IST 2026
[2026-10-20 23:58:49,855.855 INFO    ] ================================================
[2026-10-20 23:58:50,422.422 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:58:50
[2026-10-20 23:58:51,005.005 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:58:51,264.264 INFO    ] Initializing speech engine...
[2026-10-20 23:58:51,269.269 INFO    ] 2026-10-20 23:58:51
[2026-10-20 23:58:51,568.568 INFO    ] 2026-10-20 23:58:51
[2026-10-20 23:58:51,603.603 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:58:51,809.809 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:58:51,823.823 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:58:51,995.995 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:58:52,001.001 INFO    ] time= 20/10/2026 23:58:51
[2026-10-20 23:58:52,008.008 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:58:52,065.065 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:58:52,184.184 INFO    ] No existing commands found in stream
[2026-10-20 23:58:57,210.210 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:58:57,212.212 INFO    ] Waiting 3.76 seconds before fallback handling...
[2026-10-20 23:59:01,520.520 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:59:01,523.523 INFO    ] Checking for system updates...
[2026-10-20 23:59:01,561.561 INFO    ] 200
[2026-10-20 23:59:01,564.564 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:59:01,626.626 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:59:01,629.629 INFO    ] No update needed
[2026-10-20 23:59:01,632.632 INFO    ] Checking for camera pi updates...
[2026-10-20 23:59:01,675.675 INFO    ] 200
[2026-10-20 23:59:01,678.678 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:59:01,719.719 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:59:01,756.756 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:59:01,759.759 INFO    ] No camera update needed
[2026-10-20 23:59:01,762.762 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:59:01,765.765 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:59:01,771.771 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:59:01,777.777 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:59:03,820.820 INFO    ] ================================================
[2026-10-20 23:59:03,836.836 INFO    ] Launching Daemon at Tue Oct 20 23:59:03 IST 2026
[2026-10-20 23:59:03,846.846 INFO    ] ================================================
[2026-10-20 23:59:04,505.505 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:59:04
[2026-10-20 23:59:05,183.183 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:59:05,488.488 INFO    ] Initializing speech engine...
[2026-10-20 23:59:05,495.495 INFO    ] 2026-10-20 23:59:05
[2026-10-20 23:59:05,787.787 INFO    ] 2026-10-20 23:59:05
[2026-10-20 23:59:05,898.898 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:59:06,174.174 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:59:06,195.195 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:59:06,358.358 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:59:06,367.367 INFO    ] time= 20/10/2026 23:59:06
[2026-10-20 23:59:06,424.424 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:59:06,467.467 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:59:06,630.630 INFO    ] No existing commands found in stream
[2026-10-20 23:59:11,656.656 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:59:11,659.659 INFO    ] Waiting 2.70 seconds before fallback handling...
[2026-10-20 23:59:14,883.883 INFO    ] {'response': {'msg': 'order updated', 'data': 'order updated', 'status': False}}
[2026-10-20 23:59:14,886.886 INFO    ] Checking for system updates...
[2026-10-20 23:59:14,927.927 INFO    ] 200
[2026-10-20 23:59:14,930.930 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:59:14,985.985 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:59:14,987.987 INFO    ] No update needed
[2026-10-20 23:59:14,990.990 INFO    ] Checking for camera pi updates...
[2026-10-20 23:59:15,025.025 INFO    ] 200
[2026-10-20 23:59:15,028.028 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:59:15,070.070 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:59:15,118.118 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:59:15,121.121 INFO    ] No camera update needed
[2026-10-20 23:59:15,123.123 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:59:15,126.126 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:59:15,132.132 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:59:15,138.138 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:59:17,178.178 INFO    ] ================================================
[2026-10-20 23:59:17,194.194 INFO    ] Launching Daemon at Tue Oct 20 23:59:17 IST 2026
[2026-10-20 23:59:17,205.205 INFO    ] ================================================
[2026-10-20 23:59:17,784.784 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:59:17
[2026-10-20 23:59:18,381.381 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:59:18,659.659 INFO    ] Initializing speech engine...
[2026-10-20 23:59:18,664.664 INFO    ] 2026-10-20 23:59:18
[2026-10-20 23:59:18,924.924 INFO    ] 2026-10-20 23:59:18
[2026-10-20 23:59:18,978.978 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:59:19,200.200 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:59:19,209.209 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:59:19,419.419 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:59:19,467.467 INFO    ] time= 20/10/2026 23:59:19
[2026-10-20 23:59:19,474.474 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:59:19,491.491 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:59:19,623.623 INFO    ] No existing commands found in stream
[2026-10-20 23:59:24,645.645 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:59:24,652.652 INFO    ] Waiting 0.53 seconds before fallback handling...
[2026-10-20 23:59:25,671.671 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 23:59:25,674.674 INFO    ] Checking for system updates...
[2026-10-20 23:59:25,712.712 INFO    ] 200
[2026-10-20 23:59:25,715.715 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:59:25,769.769 INFO    ] Update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:59:25,772.772 INFO    ] No update needed
[2026-10-20 23:59:25,775.775 INFO    ] Checking for camera pi updates...
[2026-10-20 23:59:25,809.809 INFO    ] 200
[2026-10-20 23:59:25,812.812 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:59:25,854.854 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:59:25,896.896 INFO    ] Camera update check result: {'message': 'No upgrade available', 'status': 0}
[2026-10-20 23:59:25,899.899 INFO    ] No camera update needed
[2026-10-20 23:59:25,902.902 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:59:25,904.904 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:59:25,910.910 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:59:25,916.916 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:59:27,956.956 INFO    ] ================================================
[2026-10-20 23:59:27,972.972 INFO    ] Launching Daemon at Tue Oct 20 23:59:27 IST 2026
[2026-10-20 23:59:27,982.982 INFO    ] ================================================
[2026-10-20 23:59:28,641.641 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:59:28
[2026-10-20 23:59:29,320.320 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:59:29,626.626 INFO    ] Initializing speech engine...
[2026-10-20 23:59:29,634.634 INFO    ] 2026-10-20 23:59:29
[2026-10-20 23:59:29,908.908 INFO    ] 2026-10-20 23:59:29
[2026-10-20 23:59:29,969.969 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:59:30,200.200 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:59:30,209.209 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:59:30,407.407 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:59:30,462.462 INFO    ] time= 20/10/2026 23:59:30
[2026-10-20 23:59:30,484.484 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:59:30,505.505 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:59:30,640.640 INFO    ] No existing commands found in stream
[2026-10-20 23:59:35,669.669 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:59:35,677.677 INFO    ] Waiting 1.99 seconds before fallback handling...
[2026-10-20 23:59:38,191.191 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:59:38,194.194 INFO    ] Checking for system updates...
[2026-10-20 23:59:38,231.231 INFO    ] 200
[2026-10-20 23:59:38,234.234 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:59:38,288.288 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:59:38,291.291 INFO    ] No update needed
[2026-10-20 23:59:38,294.294 INFO    ] Checking for camera pi updates...
[2026-10-20 23:59:38,328.328 INFO    ] 200
[2026-10-20 23:59:38,331.331 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:59:38,373.373 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:59:38,425.425 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:59:38,427.427 INFO    ] No camera update needed
[2026-10-20 23:59:38,430.430 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:59:38,433.433 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:59:38,439.439 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:59:38,445.445 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:59:40,486.486 INFO    ] ================================================
[2026-10-20 23:59:40,501.501 INFO    ] Launching Daemon at Tue Oct 20 23:59:40 IST 2026
[2026-10-20 23:59:40,512.512 INFO    ] ================================================
[2026-10-20 23:59:41,169.169 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:59:41
[2026-10-20 23:59:41,851.851 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:59:42,166.166 INFO    ] Initializing speech engine...
[2026-10-20 23:59:42,177.177 INFO    ] 2026-10-20 23:59:42
[2026-10-20 23:59:42,460.460 INFO    ] 2026-10-20 23:59:42
[2026-10-20 23:59:42,506.506 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:59:42,801.801 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:59:42,806.806 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:59:43,004.004 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:59:43,011.011 INFO    ] time= 20/10/2026 23:59:43
[2026-10-20 23:59:43,027.027 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:59:43,037.037 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:59:43,165.165 INFO    ] No existing commands found in stream
[2026-10-20 23:59:48,181.181 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:59:48,184.184 INFO    ] Waiting 0.11 seconds before fallback handling...
[2026-10-20 23:59:48,820.820 INFO    ] {'response': {'status': False, 'msg': 'order updated', 'data': 'order updated'}}
[2026-10-20 23:59:48,823.823 INFO    ] Checking for system updates...
[2026-10-20 23:59:48,860.860 INFO    ] 200
[2026-10-20 23:59:48,863.863 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:59:48,916.916 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:59:48,919.919 INFO    ] No update needed
[2026-10-20 23:59:48,922.922 INFO    ] Checking for camera pi updates...
[2026-10-20 23:59:48,957.957 INFO    ] 200
[2026-10-20 23:59:48,960.960 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-20 23:59:49,001.001 INFO    ] Camera IP: TMCAM04202203.local
[2026-10-20 23:59:49,048.048 INFO    ] Camera update check result: {'status': 0, 'message': 'No upgrade available'}
[2026-10-20 23:59:49,051.051 INFO    ] No camera update needed
[2026-10-20 23:59:49,054.054 INFO    ] Script finished. Safe exiting...
[2026-10-20 23:59:49,056.056 INFO    ] === ACTIVE THREADS START ===
[2026-10-20 23:59:49,063.063 INFO    ] Thread: MainThread, daemon=False, alive=True
[2026-10-20 23:59:49,069.069 INFO    ] === ACTIVE THREADS END ===
[2026-10-20 23:59:51,109.109 INFO    ] ================================================
[2026-10-20 23:59:51,125.125 INFO    ] Launching Daemon at Tue Oct 20 23:59:51 IST 2026
[2026-10-20 23:59:51,135.135 INFO    ] ================================================
[2026-10-20 23:59:51,701.701 INFO    ] Heartbeat written: HEARTBEAT_TS=2026-10-20 23:59:51
[2026-10-20 23:59:52,383.383 INFO    ] Using urllib3 for HTTP requests
[2026-10-20 23:59:52,695.695 INFO    ] Initializing speech engine...
[2026-10-20 23:59:52,707.707 INFO    ] 2026-10-20 23:59:52
[2026-10-20 23:59:52,992.992 INFO    ] 2026-10-20 23:59:52
[2026-10-20 23:59:53,038.038 INFO    ] VendingMachinePublisher.__init__: Connecting to redis...
[2026-10-20 23:59:53,327.327 INFO    ] VendingMachinePublisher.__init__: Connected to redis...
[2026-10-20 23:59:53,340.340 INFO    ] MachineMessageSender.__init__: Connecting to redis...
[2026-10-20 23:59:53,539.539 INFO    ] MachineMessageSender.__init__: Connected to redis...
[2026-10-20 23:59:53,559.559 INFO    ] time= 20/10/2026 23:59:53
[2026-10-20 23:59:53,593.593 INFO    ] Listening for commands on Redis Stream: machine:TM04202203
[2026-10-20 23:59:53,603.603 INFO    ] Checking for existing commands in stream...
[2026-10-20 23:59:53,715.715 INFO    ] No existing commands found in stream
[2026-10-20 23:59:58,745.745 INFO    ] Redis XREAD timeout, continuing to listen...
[2026-10-20 23:59:58,749.749 INFO    ] Waiting 0.60 seconds before fallback handling...
[2026-10-20 23:59:59,905.905 INFO    ] {'response': {'data': 'order updated', 'status': False, 'msg': 'order updated'}}
[2026-10-20 23:59:59,908.908 INFO    ] Checking for system updates...
[2026-10-20 23:59:59,944.944 INFO    ] 200
[2026-10-20 23:59:59,947.947 INFO    ] {"status": true, "msg": "Status of machine", "state": "STATE_IDLE"}
[2026-10-21 00:00:00,001.001 INFO    ] Update check result: {'status': 0, 'message': 'No upgrade available'}
